@porscheinformatik/material-addons 17.0.1 → 17.0.2
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/drag-and-drop-directive.directive.mjs +61 -0
- package/esm2022/lib/file-upload/file-upload.component.mjs +72 -0
- package/esm2022/public_api.mjs +2 -1
- package/fesm2022/porscheinformatik-material-addons.mjs +121 -1
- package/fesm2022/porscheinformatik-material-addons.mjs.map +1 -1
- package/lib/file-upload/drag-and-drop-directive.directive.d.ts +13 -0
- package/lib/file-upload/drag-and-drop-directive.directive.d.ts.map +1 -0
- package/lib/file-upload/file-upload.component.d.ts +20 -0
- package/lib/file-upload/file-upload.component.d.ts.map +1 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -1
- package/themes/common/styles.scss +4 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DragAndDropDirectiveDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.onFileDropped = new EventEmitter();
|
|
6
|
+
this.background = '$background-color';
|
|
7
|
+
this.opacity = '1';
|
|
8
|
+
}
|
|
9
|
+
//Dragover listener
|
|
10
|
+
onDragOver(event) {
|
|
11
|
+
event.preventDefault();
|
|
12
|
+
event.stopPropagation();
|
|
13
|
+
this.background = '$selection-background';
|
|
14
|
+
this.opacity = '0.8';
|
|
15
|
+
}
|
|
16
|
+
//Dragleave listener
|
|
17
|
+
onDragLeave(event) {
|
|
18
|
+
event.preventDefault();
|
|
19
|
+
event.stopPropagation();
|
|
20
|
+
this.background = '$background-color';
|
|
21
|
+
this.opacity = '1';
|
|
22
|
+
}
|
|
23
|
+
//Drop listener
|
|
24
|
+
ondrop(event) {
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
this.background = '$background-color';
|
|
28
|
+
this.opacity = '1';
|
|
29
|
+
let files = event.dataTransfer.files;
|
|
30
|
+
if (files.length > 0) {
|
|
31
|
+
this.onFileDropped.emit(files);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DragAndDropDirectiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: DragAndDropDirectiveDirective, isStandalone: true, selector: "[madDragAndDrop]", outputs: { onFileDropped: "onFileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "style.background-color": "this.background", "style.opacity": "this.opacity" } }, ngImport: i0 }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DragAndDropDirectiveDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[madDragAndDrop]',
|
|
41
|
+
standalone: true
|
|
42
|
+
}]
|
|
43
|
+
}], propDecorators: { onFileDropped: [{
|
|
44
|
+
type: Output
|
|
45
|
+
}], background: [{
|
|
46
|
+
type: HostBinding,
|
|
47
|
+
args: ['style.background-color']
|
|
48
|
+
}], opacity: [{
|
|
49
|
+
type: HostBinding,
|
|
50
|
+
args: ['style.opacity']
|
|
51
|
+
}], onDragOver: [{
|
|
52
|
+
type: HostListener,
|
|
53
|
+
args: ['dragover', ['$event']]
|
|
54
|
+
}], onDragLeave: [{
|
|
55
|
+
type: HostListener,
|
|
56
|
+
args: ['dragleave', ['$event']]
|
|
57
|
+
}], ondrop: [{
|
|
58
|
+
type: HostListener,
|
|
59
|
+
args: ['drop', ['$event']]
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1kaXJlY3RpdmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZmlsZS11cGxvYWQvZHJhZy1hbmQtZHJvcC1kaXJlY3RpdmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU16RixNQUFNLE9BQU8sNkJBQTZCO0lBSjFDO1FBT0Usa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRU8sZUFBVSxHQUFHLG1CQUFtQixDQUFDO1FBQzFDLFlBQU8sR0FBRyxHQUFHLENBQUM7S0E4QnJEO0lBNUJDLG1CQUFtQjtJQUNtQixVQUFVLENBQUMsS0FBVTtRQUN6RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsdUJBQXVCLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELG9CQUFvQjtJQUNtQixXQUFXLENBQUMsS0FBVTtRQUMzRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWU7SUFFUixNQUFNLENBQUMsS0FBVTtRQUN0QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDckMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7OEdBbkNVLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFJQyxhQUFhO3NCQURaLE1BQU07Z0JBR3dDLFVBQVU7c0JBQXhELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNDLE9BQU87c0JBQTVDLFdBQVc7dUJBQUMsZUFBZTtnQkFHVSxVQUFVO3NCQUEvQyxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRRyxXQUFXO3NCQUFqRCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTOUIsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW21hZERyYWdBbmREcm9wXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEcmFnQW5kRHJvcERpcmVjdGl2ZURpcmVjdGl2ZSB7XG5cbiAgQE91dHB1dCgpXG4gIG9uRmlsZURyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQtY29sb3InKSBwcml2YXRlIGJhY2tncm91bmQgPSAnJGJhY2tncm91bmQtY29sb3InO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm9wYWNpdHknKSBwcml2YXRlIG9wYWNpdHkgPSAnMSc7XG5cbiAgLy9EcmFnb3ZlciBsaXN0ZW5lclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pIG9uRHJhZ092ZXIoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5iYWNrZ3JvdW5kID0gJyRzZWxlY3Rpb24tYmFja2dyb3VuZCc7XG4gICAgdGhpcy5vcGFjaXR5ID0gJzAuOCc7XG4gIH1cblxuICAvL0RyYWdsZWF2ZSBsaXN0ZW5lclxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKSBvbkRyYWdMZWF2ZShldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmJhY2tncm91bmQgPSAnJGJhY2tncm91bmQtY29sb3InO1xuICAgIHRoaXMub3BhY2l0eSA9ICcxJztcbiAgfVxuXG4gIC8vRHJvcCBsaXN0ZW5lclxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uZHJvcChldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmJhY2tncm91bmQgPSAnJGJhY2tncm91bmQtY29sb3InO1xuICAgIHRoaXMub3BhY2l0eSA9ICcxJztcbiAgICBsZXQgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMub25GaWxlRHJvcHBlZC5lbWl0KGZpbGVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatCardModule } from "@angular/material/card";
|
|
4
|
+
import { MatIconModule } from "@angular/material/icon";
|
|
5
|
+
import { TranslateModule } from "@ngx-translate/core";
|
|
6
|
+
import { ButtonModule } from "../button/button.module";
|
|
7
|
+
import { DragAndDropDirectiveDirective } from "./drag-and-drop-directive.directive";
|
|
8
|
+
import { MatChipsModule } from "@angular/material/chips";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common";
|
|
11
|
+
import * as i2 from "@angular/material/card";
|
|
12
|
+
import * as i3 from "@angular/material/icon";
|
|
13
|
+
import * as i4 from "@angular/material/chips";
|
|
14
|
+
export class FileUploadComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.showFileList = false;
|
|
17
|
+
this.fileEmitter = new EventEmitter();
|
|
18
|
+
this.errorEmitter = new EventEmitter();
|
|
19
|
+
this.fileList = [];
|
|
20
|
+
this.uploadError = false;
|
|
21
|
+
}
|
|
22
|
+
uploadFile(fileList) {
|
|
23
|
+
if (!this.multiple && (fileList.length > 1 || this.fileList.length === 1)) {
|
|
24
|
+
this.errorEmitter.emit("ONLY_SINGLE_FILE");
|
|
25
|
+
this.uploadError = false;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (this.accept && this.accept.length > 0) {
|
|
29
|
+
for (let i = 0; i < fileList.length; i++) {
|
|
30
|
+
this.getFileEnding(fileList.item(i).name);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (!this.uploadError) {
|
|
34
|
+
for (let i = 0; i < fileList.length; i++) {
|
|
35
|
+
this.fileList.push(fileList.item(i));
|
|
36
|
+
}
|
|
37
|
+
this.fileEmitter.emit(fileList);
|
|
38
|
+
}
|
|
39
|
+
this.uploadError = false;
|
|
40
|
+
}
|
|
41
|
+
getFileEnding(name) {
|
|
42
|
+
const ending = name.substring(name.lastIndexOf('.') + 1);
|
|
43
|
+
if (this.accept.filter(a => a.toLowerCase() === ending.toLowerCase()).length === 0) {
|
|
44
|
+
this.errorEmitter.emit("FILETYPE_NOT_SUPPORTED");
|
|
45
|
+
this.uploadError = true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
openFile(file) {
|
|
49
|
+
window.open(window.URL.createObjectURL(file));
|
|
50
|
+
}
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: FileUploadComponent, isStandalone: true, selector: "mad-file-upload", inputs: { id: "id", multiple: "multiple", accept: "accept", text: "text", showFileList: "showFileList" }, outputs: { fileEmitter: "fileEmitter", errorEmitter: "errorEmitter" }, ngImport: i0, template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"accept\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n hidden type=\"file\">\n <mat-card-content>\n <mat-icon>vertical_align_top</mat-icon>\n {{text ? text : 'Upload'}}\n </mat-card-content>\n</mat-card>\n\n<ng-container *ngIf=\"showFileList\">\n <mat-chip-listbox>\n <mat-chip *ngFor=\"let file of fileList\" (click)=\"openFile(file)\" class=\"download\">{{file.name}}</mat-chip>\n </mat-chip-listbox>\n</ng-container>\n", styles: [".uploadFileContainer{background-repeat:no-repeat;background-position:center;height:100px;margin:0;border:2px dashed var(--main-primary)}.uploadFileContainer:hover{cursor:pointer;background-color:var(--selection-background)!important;opacity:.8}.uploadFileContainer,.mat-mdc-card-content{display:flex;justify-content:center;align-items:center}.download{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: DragAndDropDirectiveDirective, selector: "[madDragAndDrop]", outputs: ["onFileDropped"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i4.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }] }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'mad-file-upload', standalone: true, imports: [CommonModule, MatCardModule, MatIconModule, ButtonModule, TranslateModule, DragAndDropDirectiveDirective, MatChipsModule], template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"accept\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n hidden type=\"file\">\n <mat-card-content>\n <mat-icon>vertical_align_top</mat-icon>\n {{text ? text : 'Upload'}}\n </mat-card-content>\n</mat-card>\n\n<ng-container *ngIf=\"showFileList\">\n <mat-chip-listbox>\n <mat-chip *ngFor=\"let file of fileList\" (click)=\"openFile(file)\" class=\"download\">{{file.name}}</mat-chip>\n </mat-chip-listbox>\n</ng-container>\n", styles: [".uploadFileContainer{background-repeat:no-repeat;background-position:center;height:100px;margin:0;border:2px dashed var(--main-primary)}.uploadFileContainer:hover{cursor:pointer;background-color:var(--selection-background)!important;opacity:.8}.uploadFileContainer,.mat-mdc-card-content{display:flex;justify-content:center;align-items:center}.download{width:100%}\n"] }]
|
|
57
|
+
}], propDecorators: { id: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], multiple: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], accept: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], text: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], showFileList: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], fileEmitter: [{
|
|
68
|
+
type: Output
|
|
69
|
+
}], errorEmitter: [{
|
|
70
|
+
type: Output
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBV3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFhVyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM3QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDM0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRXpELGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDZCxnQkFBVyxHQUFZLEtBQUssQ0FBQztLQWlDdEM7SUEvQkMsVUFBVSxDQUFDLFFBQWtCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDekUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0M7U0FDRjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEM7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVU7UUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OEdBM0NVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDRQQ2xCaEMsMHhCQXVCQSxzYURUWSxZQUFZLCtQQUFFLGFBQWEsME5BQUUsYUFBYSxtTEFBRSxZQUFZLDhCQUFFLGVBQWUsK0JBQUUsNkJBQTZCLHdGQUFFLGNBQWM7OzJGQUl2SCxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxjQUFjLENBQUM7OEJBTTFILEVBQUU7c0JBQVYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZFwiO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b24ubW9kdWxlXCI7XG5pbXBvcnQge0RyYWdBbmREcm9wRGlyZWN0aXZlRGlyZWN0aXZlfSBmcm9tIFwiLi9kcmFnLWFuZC1kcm9wLWRpcmVjdGl2ZS5kaXJlY3RpdmVcIjtcbmltcG9ydCB7TWF0Q2hpcHNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGlwc1wiO1xuXG5leHBvcnQgdHlwZSBVcGxvYWRFcnJvciA9IFwiT05MWV9TSU5HTEVfRklMRVwiIHwgXCJGSUxFVFlQRV9OT1RfU1VQUE9SVEVEXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hZC1maWxlLXVwbG9hZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdEljb25Nb2R1bGUsIEJ1dHRvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBEcmFnQW5kRHJvcERpcmVjdGl2ZURpcmVjdGl2ZSwgTWF0Q2hpcHNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFjY2VwdDogc3RyaW5nW107XG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd0ZpbGVMaXN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBmaWxlRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+KCk7XG4gIEBPdXRwdXQoKSBlcnJvckVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFVwbG9hZEVycm9yPigpO1xuXG4gIGZpbGVMaXN0OiBGaWxlW10gPSBbXTtcbiAgcHJpdmF0ZSB1cGxvYWRFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHVwbG9hZEZpbGUoZmlsZUxpc3Q6IEZpbGVMaXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIChmaWxlTGlzdC5sZW5ndGggPiAxIHx8IHRoaXMuZmlsZUxpc3QubGVuZ3RoID09PSAxKSkge1xuICAgICAgdGhpcy5lcnJvckVtaXR0ZXIuZW1pdChcIk9OTFlfU0lOR0xFX0ZJTEVcIik7XG4gICAgICB0aGlzLnVwbG9hZEVycm9yID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmFjY2VwdCAmJiB0aGlzLmFjY2VwdC5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMuZ2V0RmlsZUVuZGluZyhmaWxlTGlzdC5pdGVtKGkpLm5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMudXBsb2FkRXJyb3IpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZUxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5maWxlTGlzdC5wdXNoKGZpbGVMaXN0Lml0ZW0oaSkpO1xuICAgICAgfVxuICAgICAgdGhpcy5maWxlRW1pdHRlci5lbWl0KGZpbGVMaXN0KTtcbiAgICB9XG4gICAgdGhpcy51cGxvYWRFcnJvciA9IGZhbHNlO1xuICB9XG5cbiAgZ2V0RmlsZUVuZGluZyhuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBlbmRpbmcgPSBuYW1lLnN1YnN0cmluZyhuYW1lLmxhc3RJbmRleE9mKCcuJykgKyAxKTtcbiAgICBpZiAodGhpcy5hY2NlcHQuZmlsdGVyKGEgPT4gYS50b0xvd2VyQ2FzZSgpID09PSBlbmRpbmcudG9Mb3dlckNhc2UoKSkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmVycm9yRW1pdHRlci5lbWl0KFwiRklMRVRZUEVfTk9UX1NVUFBPUlRFRFwiKTtcbiAgICAgIHRoaXMudXBsb2FkRXJyb3IgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5GaWxlKGZpbGU6IEZpbGUpIHtcbiAgICB3aW5kb3cub3Blbih3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKSk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgICAgIChvbkZpbGVEcm9wcGVkKT1cInVwbG9hZEZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgY2xhc3M9XCJ1cGxvYWRGaWxlQ29udGFpbmVyXCJcbiAgICAgICAgICBtYWREcmFnQW5kRHJvcFxuICAgICAgICAgIGlkPVwidXBsb2FkRmlsZUNvbnRhaW5lclwiPlxuICA8aW5wdXQgI2ZpbGVJbnB1dFxuICAgICAgICAgKGNoYW5nZSk9XCJ1cGxvYWRGaWxlKCRldmVudC50YXJnZXQuZmlsZXMpXCJcbiAgICAgICAgIChjbGljayk9XCJmaWxlSW5wdXQudmFsdWUgPSBudWxsXCJcbiAgICAgICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgaGlkZGVuIHR5cGU9XCJmaWxlXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxtYXQtaWNvbj52ZXJ0aWNhbF9hbGlnbl90b3A8L21hdC1pY29uPlxuICAgIHt7dGV4dCA/IHRleHQgOiAnVXBsb2FkJ319XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RmlsZUxpc3RcIj5cbiAgPG1hdC1jaGlwLWxpc3Rib3g+XG4gICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVMaXN0XCIgKGNsaWNrKT1cIm9wZW5GaWxlKGZpbGUpXCIgY2xhc3M9XCJkb3dubG9hZFwiPnt7ZmlsZS5uYW1lfX08L21hdC1jaGlwPlxuICA8L21hdC1jaGlwLWxpc3Rib3g+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
package/esm2022/public_api.mjs
CHANGED
|
@@ -38,4 +38,5 @@ export * from './lib/content-panel/content-panel.module';
|
|
|
38
38
|
export * from './lib/flowbar/flowbar.component';
|
|
39
39
|
export * from './lib/flowbar/flowbar.module';
|
|
40
40
|
export * from './lib/material-addons.module';
|
|
41
|
-
|
|
41
|
+
export * from './lib/file-upload/file-upload.component';
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsK0ZBQStGLENBQUM7QUFDOUcsY0FBYyw2RkFBNkYsQ0FBQztBQUM1RyxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbWF0ZXJpYWwtYWRkb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21hdGVyaWFsLWFjdGlvbi1idXR0b24vbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24vYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWRvbmx5L3JlYWRvbmx5LWZvcm0tZmllbGQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWRvbmx5L3JlYWRvbmx5LWZvcm0tZmllbGQtd3JhcHBlci9yZWFkb25seS1mb3JtLWZpZWxkLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWRvbmx5L3JlYWRvbmx5LWZvcm0tZmllbGQvcmVhZG9ubHktZm9ybS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9vbGJhci90b29sYmFyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvdG9vbGJhci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvdG9vbGJhci1hY3Rpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL251bWVyaWMtZmllbGQvbnVtZXJpYy1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9udW1lcmljLWZpZWxkL251bWVyaWMtZmllbGQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL251bWVyaWMtZmllbGQvbnVtYmVyLWZvcm1hdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQvY2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3F1aWNrLWxpc3QvcXVpY2stbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aHJvdHRsZS1jbGljay90aHJvdHRsZS1jbGljay5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGhyb3R0bGUtY2xpY2svdGhyb3R0bGUtY2xpY2subW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwLWhlYWRlci9zdGVwLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9tYWQtc3RlcHBlci1hbmltYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50LXBhbmVsL2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWNvbnRlbnQvY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGVudC1wYW5lbC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIvY29udGVudC1wYW5lbC1jb250YWluZXItZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50LXBhbmVsL21haW4tY29udGFpbmVyL21haW4tY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zsb3diYXIvZmxvd2Jhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmxvd2Jhci9mbG93YmFyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRlcmlhbC1hZGRvbnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -54,6 +54,8 @@ import * as i1$5 from '@angular/cdk/a11y';
|
|
|
54
54
|
import * as i3$2 from '@angular/cdk/bidi';
|
|
55
55
|
import * as i2$4 from '@angular/material/stepper';
|
|
56
56
|
import { MatStepperModule } from '@angular/material/stepper';
|
|
57
|
+
import * as i4$1 from '@angular/material/chips';
|
|
58
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
57
59
|
|
|
58
60
|
class MaterialActionButtonComponent {
|
|
59
61
|
constructor() {
|
|
@@ -3073,6 +3075,124 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
3073
3075
|
}]
|
|
3074
3076
|
}] });
|
|
3075
3077
|
|
|
3078
|
+
class DragAndDropDirectiveDirective {
|
|
3079
|
+
constructor() {
|
|
3080
|
+
this.onFileDropped = new EventEmitter();
|
|
3081
|
+
this.background = '$background-color';
|
|
3082
|
+
this.opacity = '1';
|
|
3083
|
+
}
|
|
3084
|
+
//Dragover listener
|
|
3085
|
+
onDragOver(event) {
|
|
3086
|
+
event.preventDefault();
|
|
3087
|
+
event.stopPropagation();
|
|
3088
|
+
this.background = '$selection-background';
|
|
3089
|
+
this.opacity = '0.8';
|
|
3090
|
+
}
|
|
3091
|
+
//Dragleave listener
|
|
3092
|
+
onDragLeave(event) {
|
|
3093
|
+
event.preventDefault();
|
|
3094
|
+
event.stopPropagation();
|
|
3095
|
+
this.background = '$background-color';
|
|
3096
|
+
this.opacity = '1';
|
|
3097
|
+
}
|
|
3098
|
+
//Drop listener
|
|
3099
|
+
ondrop(event) {
|
|
3100
|
+
event.preventDefault();
|
|
3101
|
+
event.stopPropagation();
|
|
3102
|
+
this.background = '$background-color';
|
|
3103
|
+
this.opacity = '1';
|
|
3104
|
+
let files = event.dataTransfer.files;
|
|
3105
|
+
if (files.length > 0) {
|
|
3106
|
+
this.onFileDropped.emit(files);
|
|
3107
|
+
}
|
|
3108
|
+
}
|
|
3109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DragAndDropDirectiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3110
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: DragAndDropDirectiveDirective, isStandalone: true, selector: "[madDragAndDrop]", outputs: { onFileDropped: "onFileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "style.background-color": "this.background", "style.opacity": "this.opacity" } }, ngImport: i0 }); }
|
|
3111
|
+
}
|
|
3112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DragAndDropDirectiveDirective, decorators: [{
|
|
3113
|
+
type: Directive,
|
|
3114
|
+
args: [{
|
|
3115
|
+
selector: '[madDragAndDrop]',
|
|
3116
|
+
standalone: true
|
|
3117
|
+
}]
|
|
3118
|
+
}], propDecorators: { onFileDropped: [{
|
|
3119
|
+
type: Output
|
|
3120
|
+
}], background: [{
|
|
3121
|
+
type: HostBinding,
|
|
3122
|
+
args: ['style.background-color']
|
|
3123
|
+
}], opacity: [{
|
|
3124
|
+
type: HostBinding,
|
|
3125
|
+
args: ['style.opacity']
|
|
3126
|
+
}], onDragOver: [{
|
|
3127
|
+
type: HostListener,
|
|
3128
|
+
args: ['dragover', ['$event']]
|
|
3129
|
+
}], onDragLeave: [{
|
|
3130
|
+
type: HostListener,
|
|
3131
|
+
args: ['dragleave', ['$event']]
|
|
3132
|
+
}], ondrop: [{
|
|
3133
|
+
type: HostListener,
|
|
3134
|
+
args: ['drop', ['$event']]
|
|
3135
|
+
}] } });
|
|
3136
|
+
|
|
3137
|
+
class FileUploadComponent {
|
|
3138
|
+
constructor() {
|
|
3139
|
+
this.showFileList = false;
|
|
3140
|
+
this.fileEmitter = new EventEmitter();
|
|
3141
|
+
this.errorEmitter = new EventEmitter();
|
|
3142
|
+
this.fileList = [];
|
|
3143
|
+
this.uploadError = false;
|
|
3144
|
+
}
|
|
3145
|
+
uploadFile(fileList) {
|
|
3146
|
+
if (!this.multiple && (fileList.length > 1 || this.fileList.length === 1)) {
|
|
3147
|
+
this.errorEmitter.emit("ONLY_SINGLE_FILE");
|
|
3148
|
+
this.uploadError = false;
|
|
3149
|
+
return;
|
|
3150
|
+
}
|
|
3151
|
+
if (this.accept && this.accept.length > 0) {
|
|
3152
|
+
for (let i = 0; i < fileList.length; i++) {
|
|
3153
|
+
this.getFileEnding(fileList.item(i).name);
|
|
3154
|
+
}
|
|
3155
|
+
}
|
|
3156
|
+
if (!this.uploadError) {
|
|
3157
|
+
for (let i = 0; i < fileList.length; i++) {
|
|
3158
|
+
this.fileList.push(fileList.item(i));
|
|
3159
|
+
}
|
|
3160
|
+
this.fileEmitter.emit(fileList);
|
|
3161
|
+
}
|
|
3162
|
+
this.uploadError = false;
|
|
3163
|
+
}
|
|
3164
|
+
getFileEnding(name) {
|
|
3165
|
+
const ending = name.substring(name.lastIndexOf('.') + 1);
|
|
3166
|
+
if (this.accept.filter(a => a.toLowerCase() === ending.toLowerCase()).length === 0) {
|
|
3167
|
+
this.errorEmitter.emit("FILETYPE_NOT_SUPPORTED");
|
|
3168
|
+
this.uploadError = true;
|
|
3169
|
+
}
|
|
3170
|
+
}
|
|
3171
|
+
openFile(file) {
|
|
3172
|
+
window.open(window.URL.createObjectURL(file));
|
|
3173
|
+
}
|
|
3174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: FileUploadComponent, isStandalone: true, selector: "mad-file-upload", inputs: { id: "id", multiple: "multiple", accept: "accept", text: "text", showFileList: "showFileList" }, outputs: { fileEmitter: "fileEmitter", errorEmitter: "errorEmitter" }, ngImport: i0, template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"accept\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n hidden type=\"file\">\n <mat-card-content>\n <mat-icon>vertical_align_top</mat-icon>\n {{text ? text : 'Upload'}}\n </mat-card-content>\n</mat-card>\n\n<ng-container *ngIf=\"showFileList\">\n <mat-chip-listbox>\n <mat-chip *ngFor=\"let file of fileList\" (click)=\"openFile(file)\" class=\"download\">{{file.name}}</mat-chip>\n </mat-chip-listbox>\n</ng-container>\n", styles: [".uploadFileContainer{background-repeat:no-repeat;background-position:center;height:100px;margin:0;border:2px dashed var(--main-primary)}.uploadFileContainer:hover{cursor:pointer;background-color:var(--selection-background)!important;opacity:.8}.uploadFileContainer,.mat-mdc-card-content{display:flex;justify-content:center;align-items:center}.download{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$3.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: DragAndDropDirectiveDirective, selector: "[madDragAndDrop]", outputs: ["onFileDropped"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i4$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i4$1.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }] }); }
|
|
3176
|
+
}
|
|
3177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
3178
|
+
type: Component,
|
|
3179
|
+
args: [{ selector: 'mad-file-upload', standalone: true, imports: [CommonModule, MatCardModule, MatIconModule, ButtonModule, TranslateModule, DragAndDropDirectiveDirective, MatChipsModule], template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"accept\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n hidden type=\"file\">\n <mat-card-content>\n <mat-icon>vertical_align_top</mat-icon>\n {{text ? text : 'Upload'}}\n </mat-card-content>\n</mat-card>\n\n<ng-container *ngIf=\"showFileList\">\n <mat-chip-listbox>\n <mat-chip *ngFor=\"let file of fileList\" (click)=\"openFile(file)\" class=\"download\">{{file.name}}</mat-chip>\n </mat-chip-listbox>\n</ng-container>\n", styles: [".uploadFileContainer{background-repeat:no-repeat;background-position:center;height:100px;margin:0;border:2px dashed var(--main-primary)}.uploadFileContainer:hover{cursor:pointer;background-color:var(--selection-background)!important;opacity:.8}.uploadFileContainer,.mat-mdc-card-content{display:flex;justify-content:center;align-items:center}.download{width:100%}\n"] }]
|
|
3180
|
+
}], propDecorators: { id: [{
|
|
3181
|
+
type: Input
|
|
3182
|
+
}], multiple: [{
|
|
3183
|
+
type: Input
|
|
3184
|
+
}], accept: [{
|
|
3185
|
+
type: Input
|
|
3186
|
+
}], text: [{
|
|
3187
|
+
type: Input
|
|
3188
|
+
}], showFileList: [{
|
|
3189
|
+
type: Input
|
|
3190
|
+
}], fileEmitter: [{
|
|
3191
|
+
type: Output
|
|
3192
|
+
}], errorEmitter: [{
|
|
3193
|
+
type: Output
|
|
3194
|
+
}] } });
|
|
3195
|
+
|
|
3076
3196
|
/*
|
|
3077
3197
|
* Public API Surface of material-addons
|
|
3078
3198
|
*/
|
|
@@ -3081,5 +3201,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
3081
3201
|
* Generated bundle index. Do not edit.
|
|
3082
3202
|
*/
|
|
3083
3203
|
|
|
3084
|
-
export { BaseQuickListComponent, ButtonModule, CardComponent, CardModule, ContentHeaderComponent, ContentPanelContainerComponent, ContentPanelContainerContentComponent, ContentPanelContainerFooterComponent, ContentPanelModule, DangerButtonComponent, DataTableColumnsModalComponent, DataTableComponent, DataTableModule, FlowbarComponent, FlowbarModule, IconButtonComponent, LinkButtonComponent, MadBasicButton, MainContainerComponent, MaterialActionButtonComponent, MaterialActionButtonModule, MaterialAddonsModule, NumberFormatService, NumericFieldDirective, NumericFieldModule, OutlineButtonComponent, PrimaryButtonComponent, QuickListCompactComponent, QuickListComponent, QuickListModule, ReactiveFormQuickListCompactComponent, ReactiveFormQuickListComponent, ReadOnlyFormFieldComponent, ReadOnlyFormFieldModule, ReadOnlyFormFieldWrapperComponent, StepComponent, StepHeaderComponent, StepperComponent, StepperModule, TableComponent, TableModule, ThrottleClickDirective, ThrottleClickModule, ToolbarComponent, ToolbarModule, ToolbarService, madStepperAnimations };
|
|
3204
|
+
export { BaseQuickListComponent, ButtonModule, CardComponent, CardModule, ContentHeaderComponent, ContentPanelContainerComponent, ContentPanelContainerContentComponent, ContentPanelContainerFooterComponent, ContentPanelModule, DangerButtonComponent, DataTableColumnsModalComponent, DataTableComponent, DataTableModule, FileUploadComponent, FlowbarComponent, FlowbarModule, IconButtonComponent, LinkButtonComponent, MadBasicButton, MainContainerComponent, MaterialActionButtonComponent, MaterialActionButtonModule, MaterialAddonsModule, NumberFormatService, NumericFieldDirective, NumericFieldModule, OutlineButtonComponent, PrimaryButtonComponent, QuickListCompactComponent, QuickListComponent, QuickListModule, ReactiveFormQuickListCompactComponent, ReactiveFormQuickListComponent, ReadOnlyFormFieldComponent, ReadOnlyFormFieldModule, ReadOnlyFormFieldWrapperComponent, StepComponent, StepHeaderComponent, StepperComponent, StepperModule, TableComponent, TableModule, ThrottleClickDirective, ThrottleClickModule, ToolbarComponent, ToolbarModule, ToolbarService, madStepperAnimations };
|
|
3085
3205
|
//# sourceMappingURL=porscheinformatik-material-addons.mjs.map
|