@tilde-nlp/ngx-common 6.0.20 → 6.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/file-upload/file-upload.component.mjs +36 -9
- package/esm2022/lib/file-upload/file-upload.module.mjs +8 -4
- package/fesm2022/tilde-nlp-ngx-common.mjs +40 -11
- package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
- package/lib/file-upload/file-upload.component.d.ts +5 -2
- package/lib/file-upload/file-upload.module.d.ts +2 -1
- package/package.json +1 -1
|
@@ -11,8 +11,10 @@ import * as i3 from "@ngbracket/ngx-layout/extended";
|
|
|
11
11
|
import * as i4 from "@angular/material/button";
|
|
12
12
|
import * as i5 from "../directives/drag-and-drop/drag-and-drop.directive";
|
|
13
13
|
import * as i6 from "@angular/material/icon";
|
|
14
|
+
import * as i7 from "@ngx-translate/core";
|
|
14
15
|
const _c0 = ["fileInput"];
|
|
15
16
|
const _c1 = ["*"];
|
|
17
|
+
const _c2 = a0 => ({ maxSize: a0 });
|
|
16
18
|
function FileUploadComponent_mat_progress_bar_1_Template(rf, ctx) { if (rf & 1) {
|
|
17
19
|
i0.ɵɵelement(0, "mat-progress-bar", 7);
|
|
18
20
|
} if (rf & 2) {
|
|
@@ -55,6 +57,13 @@ function FileUploadComponent_ng_template_3_span_10_Template(rf, ctx) { if (rf &
|
|
|
55
57
|
i0.ɵɵadvance();
|
|
56
58
|
i0.ɵɵtextInterpolate2("", format_r6, "", ctx_r1.accept.length - 1 === i_r7 ? "." : ", ", "");
|
|
57
59
|
} }
|
|
60
|
+
function FileUploadComponent_ng_template_3_span_13_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
+
i0.ɵɵelement(0, "span", 19);
|
|
62
|
+
i0.ɵɵpipe(1, "translate");
|
|
63
|
+
} if (rf & 2) {
|
|
64
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
65
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, "FILE_UPLOAD.LIMITS_MB", i0.ɵɵpureFunction1(4, _c2, ctx_r1.maxSizeLabel)), i0.ɵɵsanitizeHtml);
|
|
66
|
+
} }
|
|
58
67
|
function FileUploadComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
59
68
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
60
69
|
i0.ɵɵelementStart(0, "div", 10);
|
|
@@ -71,11 +80,15 @@ function FileUploadComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
71
80
|
i0.ɵɵelementStart(8, "p", 15);
|
|
72
81
|
i0.ɵɵtext(9, " (");
|
|
73
82
|
i0.ɵɵtemplate(10, FileUploadComponent_ng_template_3_span_10_Template, 2, 2, "span", 16);
|
|
74
|
-
i0.ɵɵ
|
|
83
|
+
i0.ɵɵelementStart(11, "span");
|
|
84
|
+
i0.ɵɵtext(12, "\u00A0");
|
|
85
|
+
i0.ɵɵelementEnd();
|
|
86
|
+
i0.ɵɵtemplate(13, FileUploadComponent_ng_template_3_span_13_Template, 2, 6, "span", 17);
|
|
87
|
+
i0.ɵɵtext(14, ") ");
|
|
75
88
|
i0.ɵɵelementEnd();
|
|
76
|
-
i0.ɵɵelementStart(
|
|
77
|
-
i0.ɵɵlistener("click", function
|
|
78
|
-
i0.ɵɵtext(
|
|
89
|
+
i0.ɵɵelementStart(15, "a", 18);
|
|
90
|
+
i0.ɵɵlistener("click", function FileUploadComponent_ng_template_3_Template_a_click_15_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openSupportedFormatModal()); });
|
|
91
|
+
i0.ɵɵtext(16);
|
|
79
92
|
i0.ɵɵelementEnd()()();
|
|
80
93
|
} if (rf & 2) {
|
|
81
94
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -87,6 +100,8 @@ function FileUploadComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
87
100
|
i0.ɵɵadvance(3);
|
|
88
101
|
i0.ɵɵproperty("ngForOf", ctx_r1.accept);
|
|
89
102
|
i0.ɵɵadvance(3);
|
|
103
|
+
i0.ɵɵproperty("ngIf", ctx_r1.maxSize);
|
|
104
|
+
i0.ɵɵadvance(3);
|
|
90
105
|
i0.ɵɵtextInterpolate(ctx_r1.openExtensionPopupLabel);
|
|
91
106
|
} }
|
|
92
107
|
export class FileUploadComponent {
|
|
@@ -107,6 +122,9 @@ export class FileUploadComponent {
|
|
|
107
122
|
this.#icon = inject(IconService);
|
|
108
123
|
this.#icon.registerIcons({ FILE_UPLOAD_ICON });
|
|
109
124
|
}
|
|
125
|
+
ngOnInit() {
|
|
126
|
+
this.setMaxSizeLabel();
|
|
127
|
+
}
|
|
110
128
|
openSupportedFormatModal() {
|
|
111
129
|
this.#dialog.open(ExtensionDialogComponent, { data: { extensions: this.accept.map(item => item.replace('.', '')) } });
|
|
112
130
|
}
|
|
@@ -119,6 +137,15 @@ export class FileUploadComponent {
|
|
|
119
137
|
onFileDrop(files) {
|
|
120
138
|
this.validate(files);
|
|
121
139
|
}
|
|
140
|
+
setMaxSizeLabel() {
|
|
141
|
+
const sizeInMB = this.maxSize / 1024 ** 2;
|
|
142
|
+
if (sizeInMB >= 1024) {
|
|
143
|
+
const sizeInGB = sizeInMB / 1024;
|
|
144
|
+
this.maxSizeLabel = `${sizeInGB} GB`;
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
this.maxSizeLabel = `${sizeInMB} MB`;
|
|
148
|
+
}
|
|
122
149
|
emit(files) {
|
|
123
150
|
if (files && files.length > 0) {
|
|
124
151
|
this.fileChange.emit(files);
|
|
@@ -168,11 +195,11 @@ export class FileUploadComponent {
|
|
|
168
195
|
} if (rf & 2) {
|
|
169
196
|
let _t;
|
|
170
197
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t.first);
|
|
171
|
-
} }, inputs: { accept: "accept", useCompactUpload: "useCompactUpload", maxSize: "maxSize", multiple: "multiple", filePreviewProgress: "filePreviewProgress", allowEmpty: "allowEmpty", disabled: "disabled", dragZoneLabel: "dragZoneLabel", uploadIconName: "uploadIconName", uploadButtonLabel: "uploadButtonLabel", openExtensionPopupLabel: "openExtensionPopupLabel", extendedAcceptList: "extendedAcceptList" }, outputs: { fileChange: "fileChange", errorEvent: "errorEvent" }, ngContentSelectors: _c1, decls: 7, vars: 8, consts: [["regularUpload", ""], ["fileInput", ""], ["inputButton", ""], [1, "file-upload", 3, "ngClass.lt-sm"], ["color", "primary", "class", "tld-file-upload-progress", 3, "value", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["type", "file", "name", "files", 1, "native-file-input", 3, "change", "accept", "multiple"], ["color", "primary", 1, "tld-file-upload-progress", 3, "value"], ["tldDragAndDrop", "", "mat-button", "", "type", "button", 1, "upload-button", "text-l", 3, "fileDropped", "click", "disabled"], [4, "ngIf"], ["tldDragAndDrop", "", 1, "upload-zone", 3, "fileDropped"], ["svgIcon", "file_upload_icon"], [1, "upload-zone-labels"], ["color", "primary-accent-darker", 1, "file-upload--btn", 3, "click"], ["fxHide.lt-sm", "", 1, "upload-label", 3, "innerHTML"], [1, "upload-zone-formats"], [4, "ngFor", "ngForOf"], [1, "supported-formats-btn", 3, "click"]], template: function FileUploadComponent_Template(rf, ctx) { if (rf & 1) {
|
|
198
|
+
} }, inputs: { accept: "accept", useCompactUpload: "useCompactUpload", maxSize: "maxSize", multiple: "multiple", filePreviewProgress: "filePreviewProgress", allowEmpty: "allowEmpty", disabled: "disabled", dragZoneLabel: "dragZoneLabel", uploadIconName: "uploadIconName", uploadButtonLabel: "uploadButtonLabel", openExtensionPopupLabel: "openExtensionPopupLabel", extendedAcceptList: "extendedAcceptList" }, outputs: { fileChange: "fileChange", errorEvent: "errorEvent" }, ngContentSelectors: _c1, decls: 7, vars: 8, consts: [["regularUpload", ""], ["fileInput", ""], ["inputButton", ""], [1, "file-upload", 3, "ngClass.lt-sm"], ["color", "primary", "class", "tld-file-upload-progress", 3, "value", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["type", "file", "name", "files", 1, "native-file-input", 3, "change", "accept", "multiple"], ["color", "primary", 1, "tld-file-upload-progress", 3, "value"], ["tldDragAndDrop", "", "mat-button", "", "type", "button", 1, "upload-button", "text-l", 3, "fileDropped", "click", "disabled"], [4, "ngIf"], ["tldDragAndDrop", "", 1, "upload-zone", 3, "fileDropped"], ["svgIcon", "file_upload_icon"], [1, "upload-zone-labels"], ["color", "primary-accent-darker", 1, "file-upload--btn", 3, "click"], ["fxHide.lt-sm", "", 1, "upload-label", 3, "innerHTML"], [1, "upload-zone-formats"], [4, "ngFor", "ngForOf"], [3, "innerHTML", 4, "ngIf"], [1, "supported-formats-btn", 3, "click"], [3, "innerHTML"]], template: function FileUploadComponent_Template(rf, ctx) { if (rf & 1) {
|
|
172
199
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
173
200
|
i0.ɵɵprojectionDef();
|
|
174
201
|
i0.ɵɵelementStart(0, "div", 3);
|
|
175
|
-
i0.ɵɵtemplate(1, FileUploadComponent_mat_progress_bar_1_Template, 1, 1, "mat-progress-bar", 4)(2, FileUploadComponent_ng_container_2_Template, 5, 2, "ng-container", 5)(3, FileUploadComponent_ng_template_3_Template,
|
|
202
|
+
i0.ɵɵtemplate(1, FileUploadComponent_mat_progress_bar_1_Template, 1, 1, "mat-progress-bar", 4)(2, FileUploadComponent_ng_container_2_Template, 5, 2, "ng-container", 5)(3, FileUploadComponent_ng_template_3_Template, 17, 7, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
176
203
|
i0.ɵɵelementStart(5, "input", 6, 1);
|
|
177
204
|
i0.ɵɵlistener("change", function FileUploadComponent_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleFileInput($event)); });
|
|
178
205
|
i0.ɵɵelementEnd()();
|
|
@@ -186,11 +213,11 @@ export class FileUploadComponent {
|
|
|
186
213
|
i0.ɵɵproperty("ngIf", ctx.useCompactUpload)("ngIfElse", regularUpload_r8);
|
|
187
214
|
i0.ɵɵadvance(3);
|
|
188
215
|
i0.ɵɵproperty("accept", ctx.allowedExtensions)("multiple", ctx.multiple);
|
|
189
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatProgressBar, i3.DefaultShowHideDirective, i3.DefaultClassDirective, i4.MatButton, i5.DragAndDropDirective, i6.MatIcon], styles: ["[_nghost-%COMP%]{width:100%}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{padding:0;align-items:start;justify-content:start;min-height:fit-content;padding:15px 20px!important}.file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%]{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{font-weight:400}.file-upload[_ngcontent-%COMP%] .supported-formats-btn[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload[_ngcontent-%COMP%] .disabled-upload-zone[_ngcontent-%COMP%]{cursor:not-allowed}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-label[_ngcontent-%COMP%]:not(.file-upload-mobile){margin-top:10px}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-upload[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{border:1px solid var(--base-65);padding:10px 15px!important}.disabled[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{pointer-events:none!important;text-decoration:none!important}.native-file-input[_ngcontent-%COMP%]{display:none}"] }); }
|
|
216
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatProgressBar, i3.DefaultShowHideDirective, i3.DefaultClassDirective, i4.MatButton, i5.DragAndDropDirective, i6.MatIcon, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{padding:0;align-items:start;justify-content:start;min-height:fit-content;padding:15px 20px!important}.file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%]{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{font-weight:400}.file-upload[_ngcontent-%COMP%] .supported-formats-btn[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload[_ngcontent-%COMP%] .disabled-upload-zone[_ngcontent-%COMP%]{cursor:not-allowed}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-label[_ngcontent-%COMP%]:not(.file-upload-mobile){margin-top:10px}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-upload[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{border:1px solid var(--base-65);padding:10px 15px!important}.disabled[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{pointer-events:none!important;text-decoration:none!important}.native-file-input[_ngcontent-%COMP%]{display:none}"] }); }
|
|
190
217
|
}
|
|
191
218
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileUploadComponent, [{
|
|
192
219
|
type: Component,
|
|
193
|
-
args: [{ selector: 'lib-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\" [class.disabled]=\"disabled\">\r\n <mat-progress-bar \r\n *ngIf=\"filePreviewProgress\"\r\n color=\"primary\" \r\n class=\"tld-file-upload-progress\" \r\n [value]=\"filePreviewProgress\"\r\n >\r\n </mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"useCompactUpload; else regularUpload\">\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\"\r\n >\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #regularUpload>\r\n <div class=\"upload-zone\" tldDragAndDrop (fileDropped)=\"onFileDrop($event)\" [class.disabled-upload-zone]=\"disabled\">\r\n <mat-icon svgIcon=\"file_upload_icon\"></mat-icon>\r\n\r\n \r\n <div class=\"upload-zone-labels\">\r\n <a color=\"primary-accent-darker\" class=\"file-upload--btn\" (click)=\"fileInput.click()\">{{ uploadButtonLabel }}</a>\r\n <span> </span>\r\n <span fxHide.lt-sm class=\"upload-label\" [innerHTML]=\"dragZoneLabel\"></span>\r\n \r\n <p class=\"upload-zone-formats\">\r\n (<span *ngFor=\"let format of accept; let i = index\"\r\n >{{ format\r\n }}{{ accept.length - 1 === i ? \".\" : \", \" }}</span\r\n >)\r\n </p>\r\n \r\n <a class=\"supported-formats-btn\" (click)=\"openSupportedFormatModal()\">{{openExtensionPopupLabel}}</a>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<input \r\n #fileInput \r\n type=\"file\" \r\n name=\"files\" \r\n class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" \r\n [multiple]=\"multiple\" \r\n (change)=\"handleFileInput($event)\" \r\n/>\r\n", styles: [":host{width:100%}.file-upload{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload .upload-button,.file-upload .upload-zone{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload .upload-button{padding:0;align-items:start;justify-content:start;min-height:fit-content;padding:15px 20px!important}.file-upload .upload-zone{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload .upload-zone-labels{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload .upload-zone-labels .upload-zone-formats{font-weight:400}.file-upload .supported-formats-btn{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload .disabled-upload-zone{cursor:not-allowed}.file-upload .file-upload--btn,.file-upload .upload-label:not(.file-upload-mobile){margin-top:10px}.file-upload .file-upload--btn{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload .file-upload--btn:hover{text-decoration:underline}.file-upload .upload-zone-formats{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile .upload-button{border:1px solid var(--base-65);padding:10px 15px!important}.disabled .file-upload--btn{pointer-events:none!important;text-decoration:none!important}.native-file-input{display:none}\n"] }]
|
|
220
|
+
args: [{ selector: 'lib-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\" [class.disabled]=\"disabled\">\r\n <mat-progress-bar \r\n *ngIf=\"filePreviewProgress\"\r\n color=\"primary\" \r\n class=\"tld-file-upload-progress\" \r\n [value]=\"filePreviewProgress\"\r\n >\r\n </mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"useCompactUpload; else regularUpload\">\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\"\r\n >\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #regularUpload>\r\n <div class=\"upload-zone\" tldDragAndDrop (fileDropped)=\"onFileDrop($event)\" [class.disabled-upload-zone]=\"disabled\">\r\n <mat-icon svgIcon=\"file_upload_icon\"></mat-icon>\r\n\r\n \r\n <div class=\"upload-zone-labels\">\r\n <a color=\"primary-accent-darker\" class=\"file-upload--btn\" (click)=\"fileInput.click()\">{{ uploadButtonLabel }}</a>\r\n <span> </span>\r\n <span fxHide.lt-sm class=\"upload-label\" [innerHTML]=\"dragZoneLabel\"></span>\r\n \r\n <p class=\"upload-zone-formats\">\r\n (<span *ngFor=\"let format of accept; let i = index\"\r\n >{{ format\r\n }}{{ accept.length - 1 === i ? \".\" : \", \" }}</span\r\n >\r\n <span> </span>\r\n <span *ngIf=\"maxSize\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate: { maxSize: maxSizeLabel }\"></span>)\r\n </p>\r\n \r\n <a class=\"supported-formats-btn\" (click)=\"openSupportedFormatModal()\">{{openExtensionPopupLabel}}</a>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<input \r\n #fileInput \r\n type=\"file\" \r\n name=\"files\" \r\n class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" \r\n [multiple]=\"multiple\" \r\n (change)=\"handleFileInput($event)\" \r\n/>\r\n", styles: [":host{width:100%}.file-upload{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload .upload-button,.file-upload .upload-zone{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload .upload-button{padding:0;align-items:start;justify-content:start;min-height:fit-content;padding:15px 20px!important}.file-upload .upload-zone{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload .upload-zone-labels{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload .upload-zone-labels .upload-zone-formats{font-weight:400}.file-upload .supported-formats-btn{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload .disabled-upload-zone{cursor:not-allowed}.file-upload .file-upload--btn,.file-upload .upload-label:not(.file-upload-mobile){margin-top:10px}.file-upload .file-upload--btn{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload .file-upload--btn:hover{text-decoration:underline}.file-upload .upload-zone-formats{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile .upload-button{border:1px solid var(--base-65);padding:10px 15px!important}.disabled .file-upload--btn{pointer-events:none!important;text-decoration:none!important}.native-file-input{display:none}\n"] }]
|
|
194
221
|
}], () => [], { fileInput: [{
|
|
195
222
|
type: ViewChild,
|
|
196
223
|
args: ['fileInput']
|
|
@@ -224,4 +251,4 @@ export class FileUploadComponent {
|
|
|
224
251
|
type: Input
|
|
225
252
|
}] }); })();
|
|
226
253
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FileUploadComponent, { className: "FileUploadComponent", filePath: "lib\\file-upload\\file-upload.component.ts", lineNumber: 14 }); })();
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7O0lDTDNELHNDQU1tQjs7O0lBRmpCLGtEQUE2Qjs7O0lBUTNCLGdDQUFpQztJQUFBLFlBQWtCO0lBQUEsaUJBQVc7OztJQUE3QixjQUFrQjtJQUFsQiwyQ0FBa0I7Ozs7SUFKdkQsNkJBQTJEO0lBQ3pELG9DQUVDO0lBREMsQUFENkMsME1BQWUseUJBQWtCLEtBQUMsb01BQ3RFLG9CQUFpQixLQUFDO0lBRTNCLDZGQUFpQztJQUNqQyxrQkFBeUI7SUFDM0IsaUJBQVM7Ozs7SUFMeUUsY0FBcUI7SUFBckIsMENBQXFCO0lBRzFGLGVBQW9CO0lBQXBCLDRDQUFvQjs7O0lBZ0IxQiw0QkFDRTtJQUFBLFlBQzJDO0lBQUEsaUJBQzdDOzs7OztJQUZFLGNBQzJDO0lBRDND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aUZEakNWLG1CQUFtQjtjQUwvQixTQUFTOzJCQUNFLGlCQUFpQjtvQkFLSCxTQUFTO2tCQUFoQyxTQUFTO21CQUFDLFdBQVc7WUFFWixVQUFVO2tCQUFuQixNQUFNO1lBQ0csVUFBVTtrQkFBbkIsTUFBTTtZQUVNLE1BQU07a0JBQWxCLEtBQUs7WUFLRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFFRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNHLGlCQUFpQjtrQkFBekIsS0FBSztZQUNHLHVCQUF1QjtrQkFBL0IsS0FBSztZQUdHLGtCQUFrQjtrQkFBMUIsS0FBSzs7a0ZBeEJLLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bSB9IGZyb20gJy4vbW9kZWxzL2ZpbGUtdXBsb2FkLWVycm9yLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRFcnJvciB9IGZyb20gJy4vbW9kZWxzL2ZpbGUtdXBsb2FkLWVycm9yLm1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZXh0ZW5zaW9uLWRpYWxvZyc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBGSUxFX1VQTE9BRF9JQ09OIH0gZnJvbSAnLi9tb2RlbHMvZmlsZS11cGxvYWQuaWNvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1maWxlLXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KCkgZmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcclxuICBAT3V0cHV0KCkgZXJyb3JFdmVudDogRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvcj4oKTtcclxuICBwcml2YXRlIF9hY2NlcHQ6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgc2V0IGFjY2VwdCh2YWw6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9hY2NlcHQgPSB2YWw7XHJcbiAgICB0aGlzLmFsbG93ZWRFeHRlbnNpb25zID0gdmFsID8gdmFsLmpvaW4oXCIsXCIpIDogXCJcIjtcclxuICB9XHJcbiAgZ2V0IGFjY2VwdCgpIHsgcmV0dXJuIHRoaXMuX2FjY2VwdCB9XHJcbiAgQElucHV0KCkgdXNlQ29tcGFjdFVwbG9hZCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIG1heFNpemUhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmaWxlUHJldmlld1Byb2dyZXNzITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGFsbG93RW1wdHkhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkcmFnWm9uZUxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVwbG9hZEljb25OYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVwbG9hZEJ1dHRvbkxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wZW5FeHRlbnNpb25Qb3B1cExhYmVsITogc3RyaW5nO1xyXG5cclxuICAvKiogc2FtZSBhcyBhY2NlcHQgYnV0IGZvciByZWdpc3RlcmVkIHVzZXJzLiBJdCBjaGFuZ2VzIGVycm9yIG1lc3NhZ2UgaWYgZXh0ZW5zaW9uIGlzIHN1cHBvcnRlZCBmb3IgcmVnaXN0ZXJlZCB1c2Vycy4gKi9cclxuICBASW5wdXQoKSBleHRlbmRlZEFjY2VwdExpc3QhOiBzdHJpbmdbXTtcclxuXHJcbiAgYWxsb3dlZEV4dGVuc2lvbnMhOiBzdHJpbmc7XHJcblxyXG4gICNkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcclxuICAjaWNvbiA9IGluamVjdChJY29uU2VydmljZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy4jaWNvbi5yZWdpc3Rlckljb25zKHtGSUxFX1VQTE9BRF9JQ09OfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuU3VwcG9ydGVkRm9ybWF0TW9kYWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLiNkaWFsb2cub3BlbihFeHRlbnNpb25EaWFsb2dDb21wb25lbnQsIHtkYXRhOiB7IGV4dGVuc2lvbnM6IHRoaXMuYWNjZXB0Lm1hcChpdGVtID0+IGl0ZW0ucmVwbGFjZSgnLicsICcnKSkgfX0pXHJcbiAgfVxyXG5cclxuICBoYW5kbGVGaWxlSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGZpbGVzID0gdGFyZ2V0LmZpbGVzIGFzIEZpbGVMaXN0O1xyXG4gICAgdGhpcy52YWxpZGF0ZShmaWxlcyk7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIG9uRmlsZURyb3AoZmlsZXM6IGFueSkge1xyXG4gICAgdGhpcy52YWxpZGF0ZShmaWxlcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXQoZmlsZXM6IEZpbGVbXSkge1xyXG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEZpbGVVcGxvYWRFcnJvcikge1xyXG4gICAgdGhpcy5lcnJvckV2ZW50LmVtaXQoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZShmaWxlczogRmlsZUxpc3QpIHtcclxuICAgIC8vbGV0IHNpemUgPSAwO1xyXG4gICAgY29uc3QgdmFsaWRGaWxlczogRmlsZVtdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1tpXTtcclxuICAgICAgaWYgKCF0aGlzLmFsbG93RW1wdHkgJiYgZmlsZS5zaXplID09IDApIHtcclxuICAgICAgICB0aGlzLmVtaXRFcnJvcih7IGNvZGU6IEZpbGVVcGxvYWRFcnJvclR5cGVFbnVtLkZJTEVfRU1QVFksIGVycm9yOiBcIkZpbGUgaXMgZW1wdHlcIiwgZmlsZU5hbWU6IGZpbGUubmFtZSB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgLy9zaXplICs9IGZpbGUuc2l6ZTtcclxuICAgICAgY29uc3QgZXh0ZW5zaW9uRXJyb3JDb2RlID0gdGhpcy5nZXRFeHRlbnNpb25FcnJvckNvZGUoZmlsZS5uYW1lKTtcclxuICAgICAgaWYgKGV4dGVuc2lvbkVycm9yQ29kZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0geyBjb2RlOiBleHRlbnNpb25FcnJvckNvZGUsIGVycm9yOiBcIk5vdCB2YWxpZCBleHRlbnNpb24uXCIsIGZpbGVOYW1lOiBmaWxlLm5hbWUgfTtcclxuICAgICAgICB0aGlzLmVtaXRFcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5tYXhTaXplICYmIGZpbGUuc2l6ZSA+IHRoaXMubWF4U2l6ZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0geyBjb2RlOiBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5NQVhfU0laRSwgZXJyb3I6IFwiTWF4aW11bSBhbGxvd2VkIGZpbGUgc2l6ZSBleGNlZWRlZC5cIiwgZmlsZU5hbWU6IGZpbGUubmFtZSB9O1xyXG4gICAgICAgIHRoaXMuZW1pdEVycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB2YWxpZEZpbGVzLnB1c2goZmlsZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVtaXQodmFsaWRGaWxlcyk7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEV4dGVuc2lvbkVycm9yQ29kZShmaWxlTmFtZTogc3RyaW5nKTogRmlsZVVwbG9hZEVycm9yVHlwZUVudW0gfCBudWxsIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVOYW1lLnNsaWNlKGZpbGVOYW1lLmxhc3RJbmRleE9mKCcuJykpLnRvTG93ZXJDYXNlKClcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hY2NlcHQubGVuZ3RoID09IDAgfHwgKHRoaXMuYWNjZXB0Lmxlbmd0aCA9PSAxICYmIHRoaXMuYWNjZXB0WzBdID09ICcqJykgfHwgdGhpcy5hY2NlcHQuaW5jbHVkZXMoZXh0ZW5zaW9uKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5leHRlbmRlZEFjY2VwdExpc3Q/LmluY2x1ZGVzKGV4dGVuc2lvbikgPyBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5GSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVIgOiBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5GSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWxlLXVwbG9hZFwiIFtuZ0NsYXNzLmx0LXNtXT1cIidmaWxlLXVwbG9hZC1tb2JpbGUnXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgPG1hdC1wcm9ncmVzcy1iYXIgXHJcbiAgICAqbmdJZj1cImZpbGVQcmV2aWV3UHJvZ3Jlc3NcIlxyXG4gICAgY29sb3I9XCJwcmltYXJ5XCIgXHJcbiAgICBjbGFzcz1cInRsZC1maWxlLXVwbG9hZC1wcm9ncmVzc1wiIFxyXG4gICAgW3ZhbHVlXT1cImZpbGVQcmV2aWV3UHJvZ3Jlc3NcIlxyXG4gICAgPlxyXG4gIDwvbWF0LXByb2dyZXNzLWJhcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZUNvbXBhY3RVcGxvYWQ7IGVsc2UgcmVndWxhclVwbG9hZFwiPlxyXG4gICAgPGJ1dHRvbiB0bGREcmFnQW5kRHJvcCAjaW5wdXRCdXR0b24gbWF0LWJ1dHRvbiAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIGNsYXNzPVwidXBsb2FkLWJ1dHRvbiB0ZXh0LWxcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJ1cGxvYWRJY29uTmFtZVwiPnt7dXBsb2FkSWNvbk5hbWV9fTwvbWF0LWljb24+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3JlZ3VsYXJVcGxvYWQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLXpvbmVcIiB0bGREcmFnQW5kRHJvcCAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcCgkZXZlbnQpXCIgW2NsYXNzLmRpc2FibGVkLXVwbG9hZC16b25lXT1cImRpc2FibGVkXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZmlsZV91cGxvYWRfaWNvblwiPjwvbWF0LWljb24+XHJcblxyXG4gIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLXpvbmUtbGFiZWxzXCI+XHJcbiAgICAgICAgPGEgY29sb3I9XCJwcmltYXJ5LWFjY2VudC1kYXJrZXJcIiBjbGFzcz1cImZpbGUtdXBsb2FkLS1idG5cIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj57eyB1cGxvYWRCdXR0b25MYWJlbCB9fTwvYT5cclxuICAgICAgICA8c3Bhbj4mbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gZnhIaWRlLmx0LXNtIGNsYXNzPVwidXBsb2FkLWxhYmVsXCIgW2lubmVySFRNTF09XCJkcmFnWm9uZUxhYmVsXCI+PC9zcGFuPlxyXG4gIFxyXG4gICAgICAgIDxwIGNsYXNzPVwidXBsb2FkLXpvbmUtZm9ybWF0c1wiPlxyXG4gICAgICAgICAgKDxzcGFuICpuZ0Zvcj1cImxldCBmb3JtYXQgb2YgYWNjZXB0OyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgPnt7IGZvcm1hdFxyXG4gICAgICAgICAgICB9fXt7IGFjY2VwdC5sZW5ndGggLSAxID09PSBpID8gXCIuXCIgOiBcIiwgXCIgfX08L3NwYW5cclxuICAgICAgICAgID4pXHJcbiAgICAgICAgPC9wPlxyXG4gIFxyXG4gICAgICAgIDxhIGNsYXNzPVwic3VwcG9ydGVkLWZvcm1hdHMtYnRuXCIgKGNsaWNrKT1cIm9wZW5TdXBwb3J0ZWRGb3JtYXRNb2RhbCgpXCI+e3tvcGVuRXh0ZW5zaW9uUG9wdXBMYWJlbH19PC9hPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPGlucHV0IFxyXG4gICNmaWxlSW5wdXQgXHJcbiAgdHlwZT1cImZpbGVcIiBcclxuICBuYW1lPVwiZmlsZXNcIiBcclxuICBjbGFzcz1cIm5hdGl2ZS1maWxlLWlucHV0XCJcclxuICBbYWNjZXB0XT1cImFsbG93ZWRFeHRlbnNpb25zXCIgXHJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgXHJcbiAgKGNoYW5nZSk9XCJoYW5kbGVGaWxlSW5wdXQoJGV2ZW50KVwiIFxyXG4vPlxyXG4iXX0=
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7SUNMM0Qsc0NBTW1COzs7SUFGakIsa0RBQTZCOzs7SUFRM0IsZ0NBQWlDO0lBQUEsWUFBa0I7SUFBQSxpQkFBVzs7O0lBQTdCLGNBQWtCO0lBQWxCLDJDQUFrQjs7OztJQUp2RCw2QkFBMkQ7SUFDekQsb0NBRUM7SUFEQyxBQUQ2QywwTUFBZSx5QkFBa0IsS0FBQyxvTUFDdEUsb0JBQWlCLEtBQUM7SUFFM0IsNkZBQWlDO0lBQ2pDLGtCQUF5QjtJQUMzQixpQkFBUzs7OztJQUx5RSxjQUFxQjtJQUFyQiwwQ0FBcUI7SUFHMUYsZUFBb0I7SUFBcEIsNENBQW9COzs7SUFnQjFCLDRCQUNFO0lBQUEsWUFDMkM7SUFBQSxpQkFDN0M7Ozs7O0lBRkUsY0FDMkM7SUFEM0MsNEZBQzJDOzs7SUFHOUMsMkJBQTBHOzs7O0lBQXBGLDZJQUE0RTs7OztJQWZ4RywrQkFBbUg7SUFBM0Usc01BQWUseUJBQWtCLEtBQUM7SUFDeEUsK0JBQWdEO0lBSTlDLEFBREYsK0JBQWdDLFlBQ3dEO0lBQTVCLDJNQUFTLG9CQUFpQixLQUFDO0lBQUMsWUFBdUI7SUFBQSxpQkFBSTtJQUNqSCw0QkFBTTtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFDbkIsMkJBQTJFO0lBRTNFLDZCQUErQjtJQUM3QixrQkFBQztJQUFBLHVGQUNFO0lBR0gsNkJBQU07SUFBQSx1QkFBTTtJQUFBLGlCQUFPO0lBQ25CLHVGQUFtRztJQUFPLG1CQUM1RztJQUFBLGlCQUFJO0lBRUosOEJBQXNFO0lBQXJDLG1MQUFTLGlDQUEwQixLQUFDO0lBQUMsYUFBMkI7SUFFckcsQUFERSxBQURtRyxpQkFBSSxFQUNqRyxFQUNGOzs7SUFwQnFFLHVEQUF1QztJQUt4QixlQUF1QjtJQUF2Qiw4Q0FBdUI7SUFFckUsZUFBMkI7SUFBM0IsbUVBQTJCO0lBR3ZDLGVBQVc7SUFBWCx1Q0FBVztJQUs5QixlQUFhO0lBQWIscUNBQWE7SUFHZ0QsZUFBMkI7SUFBM0Isb0RBQTJCOztBRHhCekcsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixJQUFhLE1BQU0sQ0FBQyxHQUFhO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQztJQW1CcEMsT0FBTyxDQUFxQjtJQUM1QixLQUFLLENBQXVCO0lBRTVCO1FBN0JVLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM5RCxlQUFVLEdBQWtDLElBQUksWUFBWSxFQUFtQixDQUFDO1FBQ2xGLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFNdEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBR3hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFlMUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QixVQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRzFCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUMsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFBO0lBQ3JILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUMxQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBaUIsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUM7UUFFMUMsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsTUFBTSxRQUFRLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsUUFBUSxLQUFLLENBQUM7WUFDckMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsUUFBUSxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVPLElBQUksQ0FBQyxLQUFhO1FBQ3hCLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFlO1FBQzlCLGVBQWU7UUFDZixNQUFNLFVBQVUsR0FBVyxFQUFFLENBQUM7UUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzFHLE9BQU87WUFDVCxDQUFDO1lBQ0Qsb0JBQW9CO1lBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRSxJQUFJLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sS0FBSyxHQUFHLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMvRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLENBQUM7aUJBQ0ksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsRCxNQUFNLEtBQUssR0FBRyxFQUFFLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLHFDQUFxQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzVILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsQ0FBQztpQkFDSSxDQUFDO2dCQUNKLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFFBQWdCO1FBQzVDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3pFLElBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNuSCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFDSSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsOEJBQThCLENBQUM7UUFDakwsQ0FBQztJQUNILENBQUM7b0hBbEhVLG1CQUFtQjtvRUFBbkIsbUJBQW1COzs7Ozs7OztZQ2JoQyw4QkFBNEY7WUFrQjFGLEFBVEEsQUFSQSw4RkFLRyx5RUFHd0QseUdBUy9CO1lBd0I5QixtQ0FRRTtZQURBLDZJQUFVLDJCQUF1QixLQUFDO1lBUHBDLGlCQVFFLEVBbEQwRjs7O1lBQTVCLHdDQUEyQjtZQUFsRSxvREFBc0M7WUFFMUQsY0FBeUI7WUFBekIsOENBQXlCO1lBT2IsY0FBd0I7WUFBQSxBQUF4QiwyQ0FBd0IsOEJBQWtCO1lBc0N6RCxlQUE0QjtZQUM1QixBQURBLDhDQUE0QiwwQkFDUDs7O2lGRG5DVixtQkFBbUI7Y0FML0IsU0FBUzsyQkFDRSxpQkFBaUI7b0JBS0gsU0FBUztrQkFBaEMsU0FBUzttQkFBQyxXQUFXO1lBRVosVUFBVTtrQkFBbkIsTUFBTTtZQUNHLFVBQVU7a0JBQW5CLE1BQU07WUFFTSxNQUFNO2tCQUFsQixLQUFLO1lBS0csZ0JBQWdCO2tCQUF4QixLQUFLO1lBRUcsT0FBTztrQkFBZixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFDRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFHRyxrQkFBa0I7a0JBQTFCLEtBQUs7O2tGQXhCSyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bSB9IGZyb20gJy4vbW9kZWxzL2ZpbGUtdXBsb2FkLWVycm9yLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRFcnJvciB9IGZyb20gJy4vbW9kZWxzL2ZpbGUtdXBsb2FkLWVycm9yLm1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZXh0ZW5zaW9uLWRpYWxvZyc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBGSUxFX1VQTE9BRF9JQ09OIH0gZnJvbSAnLi9tb2RlbHMvZmlsZS11cGxvYWQuaWNvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1maWxlLXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KCkgZmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcclxuICBAT3V0cHV0KCkgZXJyb3JFdmVudDogRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvcj4oKTtcclxuICBwcml2YXRlIF9hY2NlcHQ6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgc2V0IGFjY2VwdCh2YWw6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9hY2NlcHQgPSB2YWw7XHJcbiAgICB0aGlzLmFsbG93ZWRFeHRlbnNpb25zID0gdmFsID8gdmFsLmpvaW4oXCIsXCIpIDogXCJcIjtcclxuICB9XHJcbiAgZ2V0IGFjY2VwdCgpIHsgcmV0dXJuIHRoaXMuX2FjY2VwdCB9XHJcbiAgQElucHV0KCkgdXNlQ29tcGFjdFVwbG9hZCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIG1heFNpemUhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmaWxlUHJldmlld1Byb2dyZXNzITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGFsbG93RW1wdHkhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkcmFnWm9uZUxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVwbG9hZEljb25OYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVwbG9hZEJ1dHRvbkxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wZW5FeHRlbnNpb25Qb3B1cExhYmVsITogc3RyaW5nO1xyXG5cclxuICAvKiogc2FtZSBhcyBhY2NlcHQgYnV0IGZvciByZWdpc3RlcmVkIHVzZXJzLiBJdCBjaGFuZ2VzIGVycm9yIG1lc3NhZ2UgaWYgZXh0ZW5zaW9uIGlzIHN1cHBvcnRlZCBmb3IgcmVnaXN0ZXJlZCB1c2Vycy4gKi9cclxuICBASW5wdXQoKSBleHRlbmRlZEFjY2VwdExpc3QhOiBzdHJpbmdbXTtcclxuXHJcbiAgbWF4U2l6ZUxhYmVsITogc3RyaW5nO1xyXG4gIGFsbG93ZWRFeHRlbnNpb25zITogc3RyaW5nO1xyXG5cclxuICAjZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XHJcbiAgI2ljb24gPSBpbmplY3QoSWNvblNlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuI2ljb24ucmVnaXN0ZXJJY29ucyh7RklMRV9VUExPQURfSUNPTn0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuc2V0TWF4U2l6ZUxhYmVsKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuU3VwcG9ydGVkRm9ybWF0TW9kYWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLiNkaWFsb2cub3BlbihFeHRlbnNpb25EaWFsb2dDb21wb25lbnQsIHtkYXRhOiB7IGV4dGVuc2lvbnM6IHRoaXMuYWNjZXB0Lm1hcChpdGVtID0+IGl0ZW0ucmVwbGFjZSgnLicsICcnKSkgfX0pXHJcbiAgfVxyXG5cclxuICBoYW5kbGVGaWxlSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGZpbGVzID0gdGFyZ2V0LmZpbGVzIGFzIEZpbGVMaXN0O1xyXG4gICAgdGhpcy52YWxpZGF0ZShmaWxlcyk7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIG9uRmlsZURyb3AoZmlsZXM6IGFueSkge1xyXG4gICAgdGhpcy52YWxpZGF0ZShmaWxlcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE1heFNpemVMYWJlbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNpemVJbk1CID0gdGhpcy5tYXhTaXplIC8gMTAyNCAqKiAyO1xyXG5cclxuICAgIGlmIChzaXplSW5NQiA+PSAxMDI0KSB7XHJcbiAgICAgIGNvbnN0IHNpemVJbkdCID0gc2l6ZUluTUIgLyAxMDI0O1xyXG4gICAgICB0aGlzLm1heFNpemVMYWJlbCA9IGAke3NpemVJbkdCfSBHQmA7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1heFNpemVMYWJlbCA9IGAke3NpemVJbk1CfSBNQmA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXQoZmlsZXM6IEZpbGVbXSkge1xyXG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEZpbGVVcGxvYWRFcnJvcikge1xyXG4gICAgdGhpcy5lcnJvckV2ZW50LmVtaXQoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZShmaWxlczogRmlsZUxpc3QpIHtcclxuICAgIC8vbGV0IHNpemUgPSAwO1xyXG4gICAgY29uc3QgdmFsaWRGaWxlczogRmlsZVtdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1tpXTtcclxuICAgICAgaWYgKCF0aGlzLmFsbG93RW1wdHkgJiYgZmlsZS5zaXplID09IDApIHtcclxuICAgICAgICB0aGlzLmVtaXRFcnJvcih7IGNvZGU6IEZpbGVVcGxvYWRFcnJvclR5cGVFbnVtLkZJTEVfRU1QVFksIGVycm9yOiBcIkZpbGUgaXMgZW1wdHlcIiwgZmlsZU5hbWU6IGZpbGUubmFtZSB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgLy9zaXplICs9IGZpbGUuc2l6ZTtcclxuICAgICAgY29uc3QgZXh0ZW5zaW9uRXJyb3JDb2RlID0gdGhpcy5nZXRFeHRlbnNpb25FcnJvckNvZGUoZmlsZS5uYW1lKTtcclxuICAgICAgaWYgKGV4dGVuc2lvbkVycm9yQ29kZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0geyBjb2RlOiBleHRlbnNpb25FcnJvckNvZGUsIGVycm9yOiBcIk5vdCB2YWxpZCBleHRlbnNpb24uXCIsIGZpbGVOYW1lOiBmaWxlLm5hbWUgfTtcclxuICAgICAgICB0aGlzLmVtaXRFcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5tYXhTaXplICYmIGZpbGUuc2l6ZSA+IHRoaXMubWF4U2l6ZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0geyBjb2RlOiBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5NQVhfU0laRSwgZXJyb3I6IFwiTWF4aW11bSBhbGxvd2VkIGZpbGUgc2l6ZSBleGNlZWRlZC5cIiwgZmlsZU5hbWU6IGZpbGUubmFtZSB9O1xyXG4gICAgICAgIHRoaXMuZW1pdEVycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB2YWxpZEZpbGVzLnB1c2goZmlsZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVtaXQodmFsaWRGaWxlcyk7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEV4dGVuc2lvbkVycm9yQ29kZShmaWxlTmFtZTogc3RyaW5nKTogRmlsZVVwbG9hZEVycm9yVHlwZUVudW0gfCBudWxsIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVOYW1lLnNsaWNlKGZpbGVOYW1lLmxhc3RJbmRleE9mKCcuJykpLnRvTG93ZXJDYXNlKClcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hY2NlcHQubGVuZ3RoID09IDAgfHwgKHRoaXMuYWNjZXB0Lmxlbmd0aCA9PSAxICYmIHRoaXMuYWNjZXB0WzBdID09ICcqJykgfHwgdGhpcy5hY2NlcHQuaW5jbHVkZXMoZXh0ZW5zaW9uKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5leHRlbmRlZEFjY2VwdExpc3Q/LmluY2x1ZGVzKGV4dGVuc2lvbikgPyBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5GSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVIgOiBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5GSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWxlLXVwbG9hZFwiIFtuZ0NsYXNzLmx0LXNtXT1cIidmaWxlLXVwbG9hZC1tb2JpbGUnXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgPG1hdC1wcm9ncmVzcy1iYXIgXHJcbiAgICAqbmdJZj1cImZpbGVQcmV2aWV3UHJvZ3Jlc3NcIlxyXG4gICAgY29sb3I9XCJwcmltYXJ5XCIgXHJcbiAgICBjbGFzcz1cInRsZC1maWxlLXVwbG9hZC1wcm9ncmVzc1wiIFxyXG4gICAgW3ZhbHVlXT1cImZpbGVQcmV2aWV3UHJvZ3Jlc3NcIlxyXG4gICAgPlxyXG4gIDwvbWF0LXByb2dyZXNzLWJhcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZUNvbXBhY3RVcGxvYWQ7IGVsc2UgcmVndWxhclVwbG9hZFwiPlxyXG4gICAgPGJ1dHRvbiB0bGREcmFnQW5kRHJvcCAjaW5wdXRCdXR0b24gbWF0LWJ1dHRvbiAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIGNsYXNzPVwidXBsb2FkLWJ1dHRvbiB0ZXh0LWxcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJ1cGxvYWRJY29uTmFtZVwiPnt7dXBsb2FkSWNvbk5hbWV9fTwvbWF0LWljb24+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3JlZ3VsYXJVcGxvYWQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLXpvbmVcIiB0bGREcmFnQW5kRHJvcCAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcCgkZXZlbnQpXCIgW2NsYXNzLmRpc2FibGVkLXVwbG9hZC16b25lXT1cImRpc2FibGVkXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZmlsZV91cGxvYWRfaWNvblwiPjwvbWF0LWljb24+XHJcblxyXG4gIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLXpvbmUtbGFiZWxzXCI+XHJcbiAgICAgICAgPGEgY29sb3I9XCJwcmltYXJ5LWFjY2VudC1kYXJrZXJcIiBjbGFzcz1cImZpbGUtdXBsb2FkLS1idG5cIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj57eyB1cGxvYWRCdXR0b25MYWJlbCB9fTwvYT5cclxuICAgICAgICA8c3Bhbj4mbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gZnhIaWRlLmx0LXNtIGNsYXNzPVwidXBsb2FkLWxhYmVsXCIgW2lubmVySFRNTF09XCJkcmFnWm9uZUxhYmVsXCI+PC9zcGFuPlxyXG4gIFxyXG4gICAgICAgIDxwIGNsYXNzPVwidXBsb2FkLXpvbmUtZm9ybWF0c1wiPlxyXG4gICAgICAgICAgKDxzcGFuICpuZ0Zvcj1cImxldCBmb3JtYXQgb2YgYWNjZXB0OyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgPnt7IGZvcm1hdFxyXG4gICAgICAgICAgICB9fXt7IGFjY2VwdC5sZW5ndGggLSAxID09PSBpID8gXCIuXCIgOiBcIiwgXCIgfX08L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxzcGFuPiZuYnNwOzwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWF4U2l6ZVwiIFtpbm5lckhUTUxdPVwiJ0ZJTEVfVVBMT0FELkxJTUlUU19NQicgfCB0cmFuc2xhdGU6IHsgbWF4U2l6ZTogbWF4U2l6ZUxhYmVsIH1cIj48L3NwYW4+KVxyXG4gICAgICAgIDwvcD5cclxuICBcclxuICAgICAgICA8YSBjbGFzcz1cInN1cHBvcnRlZC1mb3JtYXRzLWJ0blwiIChjbGljayk9XCJvcGVuU3VwcG9ydGVkRm9ybWF0TW9kYWwoKVwiPnt7b3BlbkV4dGVuc2lvblBvcHVwTGFiZWx9fTwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxpbnB1dCBcclxuICAjZmlsZUlucHV0IFxyXG4gIHR5cGU9XCJmaWxlXCIgXHJcbiAgbmFtZT1cImZpbGVzXCIgXHJcbiAgY2xhc3M9XCJuYXRpdmUtZmlsZS1pbnB1dFwiXHJcbiAgW2FjY2VwdF09XCJhbGxvd2VkRXh0ZW5zaW9uc1wiIFxyXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiIFxyXG4gIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudClcIiBcclxuLz5cclxuIl19
|
|
@@ -7,6 +7,7 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
7
7
|
import { DragAndDropModule } from '../directives/drag-and-drop/drag-and-drop.module';
|
|
8
8
|
import { MatIconModule } from '@angular/material/icon';
|
|
9
9
|
import { ExtensionDialogModule } from '../extension-dialog';
|
|
10
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
export class FileUploadModule {
|
|
12
13
|
static { this.ɵfac = function FileUploadModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FileUploadModule)(); }; }
|
|
@@ -17,7 +18,8 @@ export class FileUploadModule {
|
|
|
17
18
|
MatButtonModule,
|
|
18
19
|
DragAndDropModule,
|
|
19
20
|
MatIconModule,
|
|
20
|
-
ExtensionDialogModule
|
|
21
|
+
ExtensionDialogModule,
|
|
22
|
+
TranslateModule] }); }
|
|
21
23
|
}
|
|
22
24
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileUploadModule, [{
|
|
23
25
|
type: NgModule,
|
|
@@ -30,7 +32,8 @@ export class FileUploadModule {
|
|
|
30
32
|
MatButtonModule,
|
|
31
33
|
DragAndDropModule,
|
|
32
34
|
MatIconModule,
|
|
33
|
-
ExtensionDialogModule
|
|
35
|
+
ExtensionDialogModule,
|
|
36
|
+
TranslateModule
|
|
34
37
|
],
|
|
35
38
|
exports: [
|
|
36
39
|
FileUploadComponent
|
|
@@ -43,5 +46,6 @@ export class FileUploadModule {
|
|
|
43
46
|
MatButtonModule,
|
|
44
47
|
DragAndDropModule,
|
|
45
48
|
MatIconModule,
|
|
46
|
-
ExtensionDialogModule
|
|
47
|
-
|
|
49
|
+
ExtensionDialogModule,
|
|
50
|
+
TranslateModule], exports: [FileUploadComponent] }); })();
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFtQnRELE1BQU0sT0FBTyxnQkFBZ0I7aUhBQWhCLGdCQUFnQjttRUFBaEIsZ0JBQWdCO3VFQWJ6QixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsZUFBZTs7aUZBTU4sZ0JBQWdCO2NBaEI1QixRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQ25DLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsYUFBYTtvQkFDYixxQkFBcUI7b0JBQ3JCLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxtQkFBbUI7aUJBQ3BCO2FBQ0Y7O3dGQUNZLGdCQUFnQixtQkFmWixtQkFBbUIsYUFFaEMsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IscUJBQXFCO1FBQ3JCLGVBQWUsYUFHZixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBEcmFnQW5kRHJvcE1vZHVsZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZHJhZy1hbmQtZHJvcC9kcmFnLWFuZC1kcm9wLm1vZHVsZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi4vZXh0ZW5zaW9uLWRpYWxvZyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRmlsZVVwbG9hZENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgRHJhZ0FuZERyb3BNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRXh0ZW5zaW9uRGlhbG9nTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZE1vZHVsZSB7IH1cclxuIl19
|
|
@@ -2681,6 +2681,7 @@ const FILE_UPLOAD_ICON = `<svg width="23" height="22" viewBox="0 0 23 22" fill="
|
|
|
2681
2681
|
|
|
2682
2682
|
const _c0$b = ["fileInput"];
|
|
2683
2683
|
const _c1$5 = ["*"];
|
|
2684
|
+
const _c2$2 = a0 => ({ maxSize: a0 });
|
|
2684
2685
|
function FileUploadComponent_mat_progress_bar_1_Template(rf, ctx) { if (rf & 1) {
|
|
2685
2686
|
i0.ɵɵelement(0, "mat-progress-bar", 7);
|
|
2686
2687
|
} if (rf & 2) {
|
|
@@ -2723,6 +2724,13 @@ function FileUploadComponent_ng_template_3_span_10_Template(rf, ctx) { if (rf &
|
|
|
2723
2724
|
i0.ɵɵadvance();
|
|
2724
2725
|
i0.ɵɵtextInterpolate2("", format_r6, "", ctx_r1.accept.length - 1 === i_r7 ? "." : ", ", "");
|
|
2725
2726
|
} }
|
|
2727
|
+
function FileUploadComponent_ng_template_3_span_13_Template(rf, ctx) { if (rf & 1) {
|
|
2728
|
+
i0.ɵɵelement(0, "span", 19);
|
|
2729
|
+
i0.ɵɵpipe(1, "translate");
|
|
2730
|
+
} if (rf & 2) {
|
|
2731
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
2732
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, "FILE_UPLOAD.LIMITS_MB", i0.ɵɵpureFunction1(4, _c2$2, ctx_r1.maxSizeLabel)), i0.ɵɵsanitizeHtml);
|
|
2733
|
+
} }
|
|
2726
2734
|
function FileUploadComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
2727
2735
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
2728
2736
|
i0.ɵɵelementStart(0, "div", 10);
|
|
@@ -2739,11 +2747,15 @@ function FileUploadComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
2739
2747
|
i0.ɵɵelementStart(8, "p", 15);
|
|
2740
2748
|
i0.ɵɵtext(9, " (");
|
|
2741
2749
|
i0.ɵɵtemplate(10, FileUploadComponent_ng_template_3_span_10_Template, 2, 2, "span", 16);
|
|
2742
|
-
i0.ɵɵ
|
|
2750
|
+
i0.ɵɵelementStart(11, "span");
|
|
2751
|
+
i0.ɵɵtext(12, "\u00A0");
|
|
2743
2752
|
i0.ɵɵelementEnd();
|
|
2744
|
-
i0.ɵɵ
|
|
2745
|
-
i0.ɵɵ
|
|
2746
|
-
i0.ɵɵ
|
|
2753
|
+
i0.ɵɵtemplate(13, FileUploadComponent_ng_template_3_span_13_Template, 2, 6, "span", 17);
|
|
2754
|
+
i0.ɵɵtext(14, ") ");
|
|
2755
|
+
i0.ɵɵelementEnd();
|
|
2756
|
+
i0.ɵɵelementStart(15, "a", 18);
|
|
2757
|
+
i0.ɵɵlistener("click", function FileUploadComponent_ng_template_3_Template_a_click_15_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openSupportedFormatModal()); });
|
|
2758
|
+
i0.ɵɵtext(16);
|
|
2747
2759
|
i0.ɵɵelementEnd()()();
|
|
2748
2760
|
} if (rf & 2) {
|
|
2749
2761
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -2755,6 +2767,8 @@ function FileUploadComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
2755
2767
|
i0.ɵɵadvance(3);
|
|
2756
2768
|
i0.ɵɵproperty("ngForOf", ctx_r1.accept);
|
|
2757
2769
|
i0.ɵɵadvance(3);
|
|
2770
|
+
i0.ɵɵproperty("ngIf", ctx_r1.maxSize);
|
|
2771
|
+
i0.ɵɵadvance(3);
|
|
2758
2772
|
i0.ɵɵtextInterpolate(ctx_r1.openExtensionPopupLabel);
|
|
2759
2773
|
} }
|
|
2760
2774
|
class FileUploadComponent {
|
|
@@ -2775,6 +2789,9 @@ class FileUploadComponent {
|
|
|
2775
2789
|
this.#icon = inject(IconService);
|
|
2776
2790
|
this.#icon.registerIcons({ FILE_UPLOAD_ICON });
|
|
2777
2791
|
}
|
|
2792
|
+
ngOnInit() {
|
|
2793
|
+
this.setMaxSizeLabel();
|
|
2794
|
+
}
|
|
2778
2795
|
openSupportedFormatModal() {
|
|
2779
2796
|
this.#dialog.open(ExtensionDialogComponent, { data: { extensions: this.accept.map(item => item.replace('.', '')) } });
|
|
2780
2797
|
}
|
|
@@ -2787,6 +2804,15 @@ class FileUploadComponent {
|
|
|
2787
2804
|
onFileDrop(files) {
|
|
2788
2805
|
this.validate(files);
|
|
2789
2806
|
}
|
|
2807
|
+
setMaxSizeLabel() {
|
|
2808
|
+
const sizeInMB = this.maxSize / 1024 ** 2;
|
|
2809
|
+
if (sizeInMB >= 1024) {
|
|
2810
|
+
const sizeInGB = sizeInMB / 1024;
|
|
2811
|
+
this.maxSizeLabel = `${sizeInGB} GB`;
|
|
2812
|
+
return;
|
|
2813
|
+
}
|
|
2814
|
+
this.maxSizeLabel = `${sizeInMB} MB`;
|
|
2815
|
+
}
|
|
2790
2816
|
emit(files) {
|
|
2791
2817
|
if (files && files.length > 0) {
|
|
2792
2818
|
this.fileChange.emit(files);
|
|
@@ -2836,11 +2862,11 @@ class FileUploadComponent {
|
|
|
2836
2862
|
} if (rf & 2) {
|
|
2837
2863
|
let _t;
|
|
2838
2864
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t.first);
|
|
2839
|
-
} }, inputs: { accept: "accept", useCompactUpload: "useCompactUpload", maxSize: "maxSize", multiple: "multiple", filePreviewProgress: "filePreviewProgress", allowEmpty: "allowEmpty", disabled: "disabled", dragZoneLabel: "dragZoneLabel", uploadIconName: "uploadIconName", uploadButtonLabel: "uploadButtonLabel", openExtensionPopupLabel: "openExtensionPopupLabel", extendedAcceptList: "extendedAcceptList" }, outputs: { fileChange: "fileChange", errorEvent: "errorEvent" }, ngContentSelectors: _c1$5, decls: 7, vars: 8, consts: [["regularUpload", ""], ["fileInput", ""], ["inputButton", ""], [1, "file-upload", 3, "ngClass.lt-sm"], ["color", "primary", "class", "tld-file-upload-progress", 3, "value", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["type", "file", "name", "files", 1, "native-file-input", 3, "change", "accept", "multiple"], ["color", "primary", 1, "tld-file-upload-progress", 3, "value"], ["tldDragAndDrop", "", "mat-button", "", "type", "button", 1, "upload-button", "text-l", 3, "fileDropped", "click", "disabled"], [4, "ngIf"], ["tldDragAndDrop", "", 1, "upload-zone", 3, "fileDropped"], ["svgIcon", "file_upload_icon"], [1, "upload-zone-labels"], ["color", "primary-accent-darker", 1, "file-upload--btn", 3, "click"], ["fxHide.lt-sm", "", 1, "upload-label", 3, "innerHTML"], [1, "upload-zone-formats"], [4, "ngFor", "ngForOf"], [1, "supported-formats-btn", 3, "click"]], template: function FileUploadComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2865
|
+
} }, inputs: { accept: "accept", useCompactUpload: "useCompactUpload", maxSize: "maxSize", multiple: "multiple", filePreviewProgress: "filePreviewProgress", allowEmpty: "allowEmpty", disabled: "disabled", dragZoneLabel: "dragZoneLabel", uploadIconName: "uploadIconName", uploadButtonLabel: "uploadButtonLabel", openExtensionPopupLabel: "openExtensionPopupLabel", extendedAcceptList: "extendedAcceptList" }, outputs: { fileChange: "fileChange", errorEvent: "errorEvent" }, ngContentSelectors: _c1$5, decls: 7, vars: 8, consts: [["regularUpload", ""], ["fileInput", ""], ["inputButton", ""], [1, "file-upload", 3, "ngClass.lt-sm"], ["color", "primary", "class", "tld-file-upload-progress", 3, "value", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["type", "file", "name", "files", 1, "native-file-input", 3, "change", "accept", "multiple"], ["color", "primary", 1, "tld-file-upload-progress", 3, "value"], ["tldDragAndDrop", "", "mat-button", "", "type", "button", 1, "upload-button", "text-l", 3, "fileDropped", "click", "disabled"], [4, "ngIf"], ["tldDragAndDrop", "", 1, "upload-zone", 3, "fileDropped"], ["svgIcon", "file_upload_icon"], [1, "upload-zone-labels"], ["color", "primary-accent-darker", 1, "file-upload--btn", 3, "click"], ["fxHide.lt-sm", "", 1, "upload-label", 3, "innerHTML"], [1, "upload-zone-formats"], [4, "ngFor", "ngForOf"], [3, "innerHTML", 4, "ngIf"], [1, "supported-formats-btn", 3, "click"], [3, "innerHTML"]], template: function FileUploadComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2840
2866
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
2841
2867
|
i0.ɵɵprojectionDef();
|
|
2842
2868
|
i0.ɵɵelementStart(0, "div", 3);
|
|
2843
|
-
i0.ɵɵtemplate(1, FileUploadComponent_mat_progress_bar_1_Template, 1, 1, "mat-progress-bar", 4)(2, FileUploadComponent_ng_container_2_Template, 5, 2, "ng-container", 5)(3, FileUploadComponent_ng_template_3_Template,
|
|
2869
|
+
i0.ɵɵtemplate(1, FileUploadComponent_mat_progress_bar_1_Template, 1, 1, "mat-progress-bar", 4)(2, FileUploadComponent_ng_container_2_Template, 5, 2, "ng-container", 5)(3, FileUploadComponent_ng_template_3_Template, 17, 7, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
2844
2870
|
i0.ɵɵelementStart(5, "input", 6, 1);
|
|
2845
2871
|
i0.ɵɵlistener("change", function FileUploadComponent_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleFileInput($event)); });
|
|
2846
2872
|
i0.ɵɵelementEnd()();
|
|
@@ -2854,11 +2880,11 @@ class FileUploadComponent {
|
|
|
2854
2880
|
i0.ɵɵproperty("ngIf", ctx.useCompactUpload)("ngIfElse", regularUpload_r8);
|
|
2855
2881
|
i0.ɵɵadvance(3);
|
|
2856
2882
|
i0.ɵɵproperty("accept", ctx.allowedExtensions)("multiple", ctx.multiple);
|
|
2857
|
-
} }, dependencies: [i1$2.NgForOf, i1$2.NgIf, i2$3.MatProgressBar, i3.DefaultShowHideDirective, i3.DefaultClassDirective, i5.MatButton, DragAndDropDirective, i1.MatIcon], styles: ["[_nghost-%COMP%]{width:100%}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{padding:0;align-items:start;justify-content:start;min-height:fit-content;padding:15px 20px!important}.file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%]{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{font-weight:400}.file-upload[_ngcontent-%COMP%] .supported-formats-btn[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload[_ngcontent-%COMP%] .disabled-upload-zone[_ngcontent-%COMP%]{cursor:not-allowed}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-label[_ngcontent-%COMP%]:not(.file-upload-mobile){margin-top:10px}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-upload[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{border:1px solid var(--base-65);padding:10px 15px!important}.disabled[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{pointer-events:none!important;text-decoration:none!important}.native-file-input[_ngcontent-%COMP%]{display:none}"] }); }
|
|
2883
|
+
} }, dependencies: [i1$2.NgForOf, i1$2.NgIf, i2$3.MatProgressBar, i3.DefaultShowHideDirective, i3.DefaultClassDirective, i5.MatButton, DragAndDropDirective, i1.MatIcon, i1$1.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{padding:0;align-items:start;justify-content:start;min-height:fit-content;padding:15px 20px!important}.file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%]{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{font-weight:400}.file-upload[_ngcontent-%COMP%] .supported-formats-btn[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload[_ngcontent-%COMP%] .disabled-upload-zone[_ngcontent-%COMP%]{cursor:not-allowed}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-label[_ngcontent-%COMP%]:not(.file-upload-mobile){margin-top:10px}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-upload[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{border:1px solid var(--base-65);padding:10px 15px!important}.disabled[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{pointer-events:none!important;text-decoration:none!important}.native-file-input[_ngcontent-%COMP%]{display:none}"] }); }
|
|
2858
2884
|
}
|
|
2859
2885
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileUploadComponent, [{
|
|
2860
2886
|
type: Component,
|
|
2861
|
-
args: [{ selector: 'lib-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\" [class.disabled]=\"disabled\">\r\n <mat-progress-bar \r\n *ngIf=\"filePreviewProgress\"\r\n color=\"primary\" \r\n class=\"tld-file-upload-progress\" \r\n [value]=\"filePreviewProgress\"\r\n >\r\n </mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"useCompactUpload; else regularUpload\">\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\"\r\n >\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #regularUpload>\r\n <div class=\"upload-zone\" tldDragAndDrop (fileDropped)=\"onFileDrop($event)\" [class.disabled-upload-zone]=\"disabled\">\r\n <mat-icon svgIcon=\"file_upload_icon\"></mat-icon>\r\n\r\n \r\n <div class=\"upload-zone-labels\">\r\n <a color=\"primary-accent-darker\" class=\"file-upload--btn\" (click)=\"fileInput.click()\">{{ uploadButtonLabel }}</a>\r\n <span> </span>\r\n <span fxHide.lt-sm class=\"upload-label\" [innerHTML]=\"dragZoneLabel\"></span>\r\n \r\n <p class=\"upload-zone-formats\">\r\n (<span *ngFor=\"let format of accept; let i = index\"\r\n >{{ format\r\n }}{{ accept.length - 1 === i ? \".\" : \", \" }}</span\r\n >)\r\n </p>\r\n \r\n <a class=\"supported-formats-btn\" (click)=\"openSupportedFormatModal()\">{{openExtensionPopupLabel}}</a>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<input \r\n #fileInput \r\n type=\"file\" \r\n name=\"files\" \r\n class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" \r\n [multiple]=\"multiple\" \r\n (change)=\"handleFileInput($event)\" \r\n/>\r\n", styles: [":host{width:100%}.file-upload{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload .upload-button,.file-upload .upload-zone{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload .upload-button{padding:0;align-items:start;justify-content:start;min-height:fit-content;padding:15px 20px!important}.file-upload .upload-zone{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload .upload-zone-labels{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload .upload-zone-labels .upload-zone-formats{font-weight:400}.file-upload .supported-formats-btn{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload .disabled-upload-zone{cursor:not-allowed}.file-upload .file-upload--btn,.file-upload .upload-label:not(.file-upload-mobile){margin-top:10px}.file-upload .file-upload--btn{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload .file-upload--btn:hover{text-decoration:underline}.file-upload .upload-zone-formats{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile .upload-button{border:1px solid var(--base-65);padding:10px 15px!important}.disabled .file-upload--btn{pointer-events:none!important;text-decoration:none!important}.native-file-input{display:none}\n"] }]
|
|
2887
|
+
args: [{ selector: 'lib-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\" [class.disabled]=\"disabled\">\r\n <mat-progress-bar \r\n *ngIf=\"filePreviewProgress\"\r\n color=\"primary\" \r\n class=\"tld-file-upload-progress\" \r\n [value]=\"filePreviewProgress\"\r\n >\r\n </mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"useCompactUpload; else regularUpload\">\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\"\r\n >\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #regularUpload>\r\n <div class=\"upload-zone\" tldDragAndDrop (fileDropped)=\"onFileDrop($event)\" [class.disabled-upload-zone]=\"disabled\">\r\n <mat-icon svgIcon=\"file_upload_icon\"></mat-icon>\r\n\r\n \r\n <div class=\"upload-zone-labels\">\r\n <a color=\"primary-accent-darker\" class=\"file-upload--btn\" (click)=\"fileInput.click()\">{{ uploadButtonLabel }}</a>\r\n <span> </span>\r\n <span fxHide.lt-sm class=\"upload-label\" [innerHTML]=\"dragZoneLabel\"></span>\r\n \r\n <p class=\"upload-zone-formats\">\r\n (<span *ngFor=\"let format of accept; let i = index\"\r\n >{{ format\r\n }}{{ accept.length - 1 === i ? \".\" : \", \" }}</span\r\n >\r\n <span> </span>\r\n <span *ngIf=\"maxSize\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate: { maxSize: maxSizeLabel }\"></span>)\r\n </p>\r\n \r\n <a class=\"supported-formats-btn\" (click)=\"openSupportedFormatModal()\">{{openExtensionPopupLabel}}</a>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<input \r\n #fileInput \r\n type=\"file\" \r\n name=\"files\" \r\n class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" \r\n [multiple]=\"multiple\" \r\n (change)=\"handleFileInput($event)\" \r\n/>\r\n", styles: [":host{width:100%}.file-upload{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload .upload-button,.file-upload .upload-zone{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload .upload-button{padding:0;align-items:start;justify-content:start;min-height:fit-content;padding:15px 20px!important}.file-upload .upload-zone{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload .upload-zone-labels{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload .upload-zone-labels .upload-zone-formats{font-weight:400}.file-upload .supported-formats-btn{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload .disabled-upload-zone{cursor:not-allowed}.file-upload .file-upload--btn,.file-upload .upload-label:not(.file-upload-mobile){margin-top:10px}.file-upload .file-upload--btn{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload .file-upload--btn:hover{text-decoration:underline}.file-upload .upload-zone-formats{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile .upload-button{border:1px solid var(--base-65);padding:10px 15px!important}.disabled .file-upload--btn{pointer-events:none!important;text-decoration:none!important}.native-file-input{display:none}\n"] }]
|
|
2862
2888
|
}], () => [], { fileInput: [{
|
|
2863
2889
|
type: ViewChild,
|
|
2864
2890
|
args: ['fileInput']
|
|
@@ -2902,7 +2928,8 @@ class FileUploadModule {
|
|
|
2902
2928
|
MatButtonModule,
|
|
2903
2929
|
DragAndDropModule,
|
|
2904
2930
|
MatIconModule,
|
|
2905
|
-
ExtensionDialogModule
|
|
2931
|
+
ExtensionDialogModule,
|
|
2932
|
+
TranslateModule] }); }
|
|
2906
2933
|
}
|
|
2907
2934
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileUploadModule, [{
|
|
2908
2935
|
type: NgModule,
|
|
@@ -2915,7 +2942,8 @@ class FileUploadModule {
|
|
|
2915
2942
|
MatButtonModule,
|
|
2916
2943
|
DragAndDropModule,
|
|
2917
2944
|
MatIconModule,
|
|
2918
|
-
ExtensionDialogModule
|
|
2945
|
+
ExtensionDialogModule,
|
|
2946
|
+
TranslateModule
|
|
2919
2947
|
],
|
|
2920
2948
|
exports: [
|
|
2921
2949
|
FileUploadComponent
|
|
@@ -2928,7 +2956,8 @@ class FileUploadModule {
|
|
|
2928
2956
|
MatButtonModule,
|
|
2929
2957
|
DragAndDropModule,
|
|
2930
2958
|
MatIconModule,
|
|
2931
|
-
ExtensionDialogModule
|
|
2959
|
+
ExtensionDialogModule,
|
|
2960
|
+
TranslateModule], exports: [FileUploadComponent] }); })();
|
|
2932
2961
|
|
|
2933
2962
|
/**
|
|
2934
2963
|
* Pipe sorts array in A-Z order of objects by provided key or a string values without providing a specific key.
|