cps-ui-kit 0.154.0 → 0.155.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,6 +12,7 @@
12
12
  - Datepicker
13
13
  - Dialog
14
14
  - Expansion panel
15
+ - File upload
15
16
  - Icon
16
17
  - Info circle
17
18
  - Input
@@ -0,0 +1,138 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { convertSize } from '../../utils/internal/size-utils';
4
+ import { CpsIconComponent } from '../cps-icon/cps-icon.component';
5
+ import { CpsProgressLinearComponent } from '../cps-progress-linear/cps-progress-linear.component';
6
+ import { catchError, of, take } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ /**
10
+ * CpsFileUploadComponent is an advanced uploader with dragdrop support.
11
+ * @group Components
12
+ */
13
+ export class CpsFileUploadComponent {
14
+ constructor() {
15
+ /**
16
+ * Expected extensions of a file to be uploaded. E.g. 'doc or .doc'.
17
+ * @group Props
18
+ */
19
+ this.extensions = [];
20
+ /**
21
+ * Expected file description. E.g. 'Word document'.
22
+ * @group Props
23
+ */
24
+ this.fileDesc = 'Any file';
25
+ /**
26
+ * Width of the component, a number denoting pixels or a string.
27
+ * @group Props
28
+ */
29
+ this.width = '100%';
30
+ /**
31
+ * Callback for uploaded file processing.
32
+ * @group Props
33
+ */
34
+ this.fileProcessingCallback = undefined;
35
+ /**
36
+ * Callback to invoke when file is uploaded.
37
+ * @param {File} File
38
+ * @group Emits
39
+ */
40
+ this.fileUploaded = new EventEmitter();
41
+ /**
42
+ * Callback to invoke when file upload fails.
43
+ * @param {string} - file name
44
+ * @group Emits
45
+ */
46
+ this.fileUploadFailed = new EventEmitter();
47
+ /**
48
+ * Callback to invoke when uploaded file is removed.
49
+ * @param {string} - file name
50
+ * @group Emits
51
+ */
52
+ this.uploadedFileRemoved = new EventEmitter();
53
+ this.isDragoverFile = false;
54
+ this.extensionsString = '';
55
+ this.extensionsStringAsterisks = '';
56
+ this.isProcessingFile = false;
57
+ }
58
+ ngOnInit() {
59
+ this.width = convertSize(this.width);
60
+ this.extensions = this.extensions.map((ext) => ext.startsWith('.') ? ext : '.' + ext);
61
+ this.extensionsString = this.extensions.join(', ');
62
+ this.extensionsStringAsterisks = this.extensions
63
+ .map((ext) => '*' + ext)
64
+ .join(', ');
65
+ }
66
+ tryUploadFile(event) {
67
+ event.preventDefault();
68
+ event.stopPropagation();
69
+ this.isDragoverFile = false;
70
+ let file;
71
+ if (event.type === 'drop') {
72
+ file = event.dataTransfer?.files.item(0) ?? undefined;
73
+ }
74
+ else {
75
+ const files = event.target.files;
76
+ if (!files || files.length < 1)
77
+ return;
78
+ file = files.item(0) ?? undefined;
79
+ }
80
+ if (!this._isFileExtensionValid(file)) {
81
+ this.fileUploadFailed.emit(file?.name ?? '');
82
+ return;
83
+ }
84
+ this.uploadedFile = file;
85
+ if (this.uploadedFile) {
86
+ this.fileUploaded.emit(this.uploadedFile);
87
+ if (this.fileProcessingCallback) {
88
+ this.isProcessingFile = true;
89
+ this.fileProcessingCallback(this.uploadedFile)
90
+ .pipe(take(1), catchError(() => {
91
+ return of(false);
92
+ }))
93
+ .subscribe((res) => {
94
+ if (!res)
95
+ this.removeUploadedFile();
96
+ this.isProcessingFile = false;
97
+ });
98
+ }
99
+ }
100
+ }
101
+ removeUploadedFile() {
102
+ const name = this.uploadedFile?.name ?? '';
103
+ this.uploadedFile = undefined;
104
+ this.uploadedFileRemoved.emit(name);
105
+ }
106
+ _isFileExtensionValid(file) {
107
+ if (!file)
108
+ return false;
109
+ if (this.extensions.length < 1)
110
+ return true;
111
+ for (const ext of this.extensions) {
112
+ if (file.name.endsWith(ext))
113
+ return true;
114
+ }
115
+ return false;
116
+ }
117
+ }
118
+ CpsFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
119
+ CpsFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CpsFileUploadComponent, isStandalone: true, selector: "cps-file-upload", inputs: { extensions: "extensions", fileDesc: "fileDesc", width: "width", fileProcessingCallback: "fileProcessingCallback" }, outputs: { fileUploaded: "fileUploaded", fileUploadFailed: "fileUploadFailed", uploadedFileRemoved: "uploadedFileRemoved" }, ngImport: i0, template: "<div class=\"cps-file-upload\" [ngStyle]=\"{ width: width }\">\n <div\n class=\"cps-file-upload-dropzone\"\n [ngClass]=\"{\n 'dragged-over': isDragoverFile,\n 'with-uploads': uploadedFile?.name\n }\"\n (dragend)=\"isDragoverFile = false\"\n (dragenter)=\"isDragoverFile = true\"\n (dragleave)=\"isDragoverFile = false\"\n (dragover)=\"isDragoverFile = true\"\n (mouseleave)=\"isDragoverFile = false\"\n (drop)=\"tryUploadFile($event)\">\n <input\n (change)=\"tryUploadFile($event)\"\n type=\"file\"\n [accept]=\"extensionsString\"\n title=\"\" />\n <cps-icon icon=\"export\" size=\"large\" color=\"text-darkest\"></cps-icon>\n <div class=\"cps-file-upload-dropzone-title\">\n Drag&Drop or choose a file to upload\n </div>\n <span\n class=\"cps-file-upload-dropzone-file-desc\"\n *ngIf=\"fileDesc || extensionsStringAsterisks\"\n >{{ fileDesc }}\n {{\n extensionsStringAsterisks ? '(' + extensionsStringAsterisks + ')' : ''\n }}</span\n >\n <cps-progress-linear\n *ngIf=\"isProcessingFile && uploadedFile\"\n height=\"3\"\n radius=\"4\"\n opacity=\"0.3\"\n class=\"cps-file-upload-progress-bar\"\n bgColor=\"transparent\">\n </cps-progress-linear>\n </div>\n <div *ngIf=\"uploadedFile\" class=\"cps-file-upload-uploaded-files\">\n <div class=\"cps-file-upload-uploaded-file\">\n <div class=\"cps-file-upload-uploaded-file-title\">\n <cps-icon\n class=\"cps-file-upload-uploaded-file-status-icon\"\n [icon]=\"isProcessingFile ? 'pending' : 'toast-success'\"\n [color]=\"isProcessingFile ? 'warn' : 'success'\">\n </cps-icon>\n <div class=\"cps-file-upload-uploaded-file-name\">\n {{ uploadedFile.name }}\n </div>\n </div>\n <cps-icon\n *ngIf=\"!isProcessingFile\"\n class=\"cps-file-upload-uploaded-file-remove-icon\"\n icon=\"remove\"\n color=\"error\"\n (click)=\"removeUploadedFile()\">\n </cps-icon>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex}:host .cps-file-upload .cps-file-upload-dropzone{font-family:Source Sans Pro,sans-serif;min-height:20px;padding:2rem;text-align:center;border:2px dashed var(--cps-color-calm);position:relative;border-radius:1rem}:host .cps-file-upload .cps-file-upload-dropzone:hover{background-color:var(--cps-color-highlight-hover)}:host .cps-file-upload .cps-file-upload-dropzone:active{background-color:var(--cps-color-highlight-selected)}:host .cps-file-upload .cps-file-upload-dropzone.dragged-over{background-color:var(--cps-color-highlight-selected)}:host .cps-file-upload .cps-file-upload-dropzone.with-uploads{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:1px dashed var(--cps-color-calm)}:host .cps-file-upload .cps-file-upload-dropzone input{cursor:pointer;opacity:0;position:absolute;width:100%;height:100%;top:0;left:0}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-dropzone-title{font-size:16px;margin:8px 0;color:var(--cps-color-calm);font-weight:600}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-dropzone-file-desc{font-size:18px;color:var(--cps-color-text-dark)}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-progress-bar{position:absolute;bottom:-2px;left:0}:host .cps-file-upload .cps-file-upload-uploaded-files{border-bottom:2px dashed var(--cps-color-calm);border-left:2px dashed var(--cps-color-calm);border-right:2px dashed var(--cps-color-calm);border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:var(--cps-color-highlight-hover)}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file{cursor:default;display:flex;align-items:center;justify-content:space-between;padding:8px 12px}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-title{display:flex;align-items:center}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-title .cps-file-upload-uploaded-file-name{color:var(--cps-color-text-darkest);font-size:20px;margin:0 8px}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-remove-icon{cursor:pointer}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-remove-icon:hover ::ng-deep .cps-icon{color:var(--cps-color-error-darken1)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }, { kind: "component", type: CpsProgressLinearComponent, selector: "cps-progress-linear", inputs: ["width", "height", "color", "bgColor", "opacity", "radius"] }] });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsFileUploadComponent, decorators: [{
121
+ type: Component,
122
+ args: [{ selector: 'cps-file-upload', standalone: true, imports: [CommonModule, CpsIconComponent, CpsProgressLinearComponent], template: "<div class=\"cps-file-upload\" [ngStyle]=\"{ width: width }\">\n <div\n class=\"cps-file-upload-dropzone\"\n [ngClass]=\"{\n 'dragged-over': isDragoverFile,\n 'with-uploads': uploadedFile?.name\n }\"\n (dragend)=\"isDragoverFile = false\"\n (dragenter)=\"isDragoverFile = true\"\n (dragleave)=\"isDragoverFile = false\"\n (dragover)=\"isDragoverFile = true\"\n (mouseleave)=\"isDragoverFile = false\"\n (drop)=\"tryUploadFile($event)\">\n <input\n (change)=\"tryUploadFile($event)\"\n type=\"file\"\n [accept]=\"extensionsString\"\n title=\"\" />\n <cps-icon icon=\"export\" size=\"large\" color=\"text-darkest\"></cps-icon>\n <div class=\"cps-file-upload-dropzone-title\">\n Drag&Drop or choose a file to upload\n </div>\n <span\n class=\"cps-file-upload-dropzone-file-desc\"\n *ngIf=\"fileDesc || extensionsStringAsterisks\"\n >{{ fileDesc }}\n {{\n extensionsStringAsterisks ? '(' + extensionsStringAsterisks + ')' : ''\n }}</span\n >\n <cps-progress-linear\n *ngIf=\"isProcessingFile && uploadedFile\"\n height=\"3\"\n radius=\"4\"\n opacity=\"0.3\"\n class=\"cps-file-upload-progress-bar\"\n bgColor=\"transparent\">\n </cps-progress-linear>\n </div>\n <div *ngIf=\"uploadedFile\" class=\"cps-file-upload-uploaded-files\">\n <div class=\"cps-file-upload-uploaded-file\">\n <div class=\"cps-file-upload-uploaded-file-title\">\n <cps-icon\n class=\"cps-file-upload-uploaded-file-status-icon\"\n [icon]=\"isProcessingFile ? 'pending' : 'toast-success'\"\n [color]=\"isProcessingFile ? 'warn' : 'success'\">\n </cps-icon>\n <div class=\"cps-file-upload-uploaded-file-name\">\n {{ uploadedFile.name }}\n </div>\n </div>\n <cps-icon\n *ngIf=\"!isProcessingFile\"\n class=\"cps-file-upload-uploaded-file-remove-icon\"\n icon=\"remove\"\n color=\"error\"\n (click)=\"removeUploadedFile()\">\n </cps-icon>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex}:host .cps-file-upload .cps-file-upload-dropzone{font-family:Source Sans Pro,sans-serif;min-height:20px;padding:2rem;text-align:center;border:2px dashed var(--cps-color-calm);position:relative;border-radius:1rem}:host .cps-file-upload .cps-file-upload-dropzone:hover{background-color:var(--cps-color-highlight-hover)}:host .cps-file-upload .cps-file-upload-dropzone:active{background-color:var(--cps-color-highlight-selected)}:host .cps-file-upload .cps-file-upload-dropzone.dragged-over{background-color:var(--cps-color-highlight-selected)}:host .cps-file-upload .cps-file-upload-dropzone.with-uploads{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:1px dashed var(--cps-color-calm)}:host .cps-file-upload .cps-file-upload-dropzone input{cursor:pointer;opacity:0;position:absolute;width:100%;height:100%;top:0;left:0}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-dropzone-title{font-size:16px;margin:8px 0;color:var(--cps-color-calm);font-weight:600}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-dropzone-file-desc{font-size:18px;color:var(--cps-color-text-dark)}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-progress-bar{position:absolute;bottom:-2px;left:0}:host .cps-file-upload .cps-file-upload-uploaded-files{border-bottom:2px dashed var(--cps-color-calm);border-left:2px dashed var(--cps-color-calm);border-right:2px dashed var(--cps-color-calm);border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:var(--cps-color-highlight-hover)}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file{cursor:default;display:flex;align-items:center;justify-content:space-between;padding:8px 12px}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-title{display:flex;align-items:center}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-title .cps-file-upload-uploaded-file-name{color:var(--cps-color-text-darkest);font-size:20px;margin:0 8px}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-remove-icon{cursor:pointer}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-remove-icon:hover ::ng-deep .cps-icon{color:var(--cps-color-error-darken1)!important}\n"] }]
123
+ }], propDecorators: { extensions: [{
124
+ type: Input
125
+ }], fileDesc: [{
126
+ type: Input
127
+ }], width: [{
128
+ type: Input
129
+ }], fileProcessingCallback: [{
130
+ type: Input
131
+ }], fileUploaded: [{
132
+ type: Output
133
+ }], fileUploadFailed: [{
134
+ type: Output
135
+ }], uploadedFileRemoved: [{
136
+ type: Output
137
+ }] } });
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Nwcy1maWxlLXVwbG9hZC9jcHMtZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLWZpbGUtdXBsb2FkL2Nwcy1maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFjLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFFeEQ7OztHQUdHO0FBUUgsTUFBTSxPQUFPLHNCQUFzQjtJQVBuQztRQVFFOzs7V0FHRztRQUNNLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ00sYUFBUSxHQUFHLFVBQVUsQ0FBQztRQUUvQjs7O1dBR0c7UUFDTSxVQUFLLEdBQW9CLE1BQU0sQ0FBQztRQUV6Qzs7O1dBR0c7UUFDTSwyQkFBc0IsR0FDN0IsU0FBUyxDQUFDO1FBRVo7Ozs7V0FJRztRQUNPLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVsRDs7OztXQUlHO1FBQ08scUJBQWdCLEdBQUcsSUFB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LE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFXO1FBQ3ZDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFNUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1NBQzFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzttSEF6SFUsc0JBQXNCO3VHQUF0QixzQkFBc0Isc1VDbEJuQyw0akVBNkRBLG0rRUQvQ1ksWUFBWSxzVEFBRSxnQkFBZ0Isd0ZBQUUsMEJBQTBCOzJGQUl6RCxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixDQUFDOzhCQVM1RCxVQUFVO3NCQUFsQixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQU1HLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFRSSxZQUFZO3NCQUFyQixNQUFNO2dCQU9HLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFPRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29udmVydFNpemUgfSBmcm9tICcuLi8uLi91dGlscy9pbnRlcm5hbC9zaXplLXV0aWxzJztcbmltcG9ydCB7IENwc0ljb25Db21wb25lbnQgfSBmcm9tICcuLi9jcHMtaWNvbi9jcHMtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzUHJvZ3Jlc3NMaW5lYXJDb21wb25lbnQgfSBmcm9tICcuLi9jcHMtcHJvZ3Jlc3MtbGluZWFyL2Nwcy1wcm9ncmVzcy1saW5lYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG9mLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQ3BzRmlsZVVwbG9hZENvbXBvbmVudCBpcyBhbiBhZHZhbmNlZCB1cGxvYWRlciB3aXRoIGRyYWdkcm9wIHN1cHBvcnQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcHMtZmlsZS11cGxvYWQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDcHNJY29uQ29tcG9uZW50LCBDcHNQcm9ncmVzc0xpbmVhckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jcHMtZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcHMtZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDcHNGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEV4cGVjdGVkIGV4dGVuc2lvbnMgb2YgYSBmaWxlIHRvIGJlIHVwbG9hZGVkLiBFLmcuICdkb2Mgb3IgLmRvYycuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogRXhwZWN0ZWQgZmlsZSBkZXNjcmlwdGlvbi4gRS5nLiAnV29yZCBkb2N1bWVudCcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgZmlsZURlc2MgPSAnQW55IGZpbGUnO1xuXG4gIC8qKlxuICAgKiBXaWR0aCBvZiB0aGUgY29tcG9uZW50LCBhIG51bWJlciBkZW5vdGluZyBwaXhlbHMgb3IgYSBzdHJpbmcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgd2lkdGg6IG51bWJlciB8IHN0cmluZyA9ICcxMDAlJztcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIHVwbG9hZGVkIGZpbGUgcHJvY2Vzc2luZy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSBmaWxlUHJvY2Vzc2luZ0NhbGxiYWNrPzogKGZpbGU6IEZpbGUpID0+IE9ic2VydmFibGU8Ym9vbGVhbj4gPVxuICAgIHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gZmlsZSBpcyB1cGxvYWRlZC5cbiAgICogQHBhcmFtIHtGaWxlfSBGaWxlXG4gICAqIEBncm91cCBFbWl0c1xuICAgKi9cbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZT4oKTtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gZmlsZSB1cGxvYWQgZmFpbHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSAtIGZpbGUgbmFtZVxuICAgKiBAZ3JvdXAgRW1pdHNcbiAgICovXG4gIEBPdXRwdXQoKSBmaWxlVXBsb2FkRmFpbGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHVwbG9hZGVkIGZpbGUgaXMgcmVtb3ZlZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IC0gZmlsZSBuYW1lXG4gICAqIEBncm91cCBFbWl0c1xuICAgKi9cbiAgQE91dHB1dCgpIHVwbG9hZGVkRmlsZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBpc0RyYWdvdmVyRmlsZSA9IGZhbHNlO1xuICB1cGxvYWRlZEZpbGU/OiBGaWxlO1xuICBleHRlbnNpb25zU3RyaW5nID0gJyc7XG4gIGV4dGVuc2lvbnNTdHJpbmdBc3Rlcmlza3MgPSAnJztcblxuICBpc1Byb2Nlc3NpbmdGaWxlID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy53aWR0aCA9IGNvbnZlcnRTaXplKHRoaXMud2lkdGgpO1xuICAgIHRoaXMuZXh0ZW5zaW9ucyA9IHRoaXMuZXh0ZW5zaW9ucy5tYXAoKGV4dCkgPT5cbiAgICAgIGV4dC5zdGFydHNXaXRoKCcuJykgPyBleHQgOiAnLicgKyBleHRcbiAgICApO1xuICAgIHRoaXMuZXh0ZW5zaW9uc1N0cmluZyA9IHRoaXMuZXh0ZW5zaW9ucy5qb2luKCcsICcpO1xuICAgIHRoaXMuZXh0ZW5zaW9uc1N0cmluZ0FzdGVyaXNrcyA9IHRoaXMuZXh0ZW5zaW9uc1xuICAgICAgLm1hcCgoZXh0KSA9PiAnKicgKyBleHQpXG4gICAgICAuam9pbignLCAnKTtcbiAgfVxuXG4gIHRyeVVwbG9hZEZpbGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuaXNEcmFnb3ZlckZpbGUgPSBmYWxzZTtcbiAgICBsZXQgZmlsZTogRmlsZSB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChldmVudC50eXBlID09PSAnZHJvcCcpIHtcbiAgICAgIGZpbGUgPSAoZXZlbnQgYXMgRHJhZ0V2ZW50KS5kYXRhVHJhbnNmZXI/LmZpbGVzLml0ZW0oMCkgPz8gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmaWxlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuZmlsZXM7XG4gICAgICBpZiAoIWZpbGVzIHx8IGZpbGVzLmxlbmd0aCA8IDEpIHJldHVybjtcbiAgICAgIGZpbGUgPSBmaWxlcy5pdGVtKDApID8/IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2lzRmlsZUV4dGVuc2lvblZhbGlkKGZpbGUpKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRGYWlsZWQuZW1pdChmaWxlPy5uYW1lID8/ICcnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZGVkRmlsZSA9IGZpbGU7XG4gICAgaWYgKHRoaXMudXBsb2FkZWRGaWxlKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRlZC5lbWl0KHRoaXMudXBsb2FkZWRGaWxlKTtcbiAgICAgIGlmICh0aGlzLmZpbGVQcm9jZXNzaW5nQ2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmdGaWxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWxlUHJvY2Vzc2luZ0NhbGxiYWNrKHRoaXMudXBsb2FkZWRGaWxlKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXJlcykgdGhpcy5yZW1vdmVVcGxvYWRlZEZpbGUoKTtcbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nRmlsZSA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVVwbG9hZGVkRmlsZSgpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy51cGxvYWRlZEZpbGU/Lm5hbWUgPz8gJyc7XG4gICAgdGhpcy51cGxvYWRlZEZpbGUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy51cGxvYWRlZEZpbGVSZW1vdmVkLmVtaXQobmFtZSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0ZpbGVFeHRlbnNpb25WYWxpZChmaWxlPzogRmlsZSkge1xuICAgIGlmICghZmlsZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuZXh0ZW5zaW9ucy5sZW5ndGggPCAxKSByZXR1cm4gdHJ1ZTtcblxuICAgIGZvciAoY29uc3QgZXh0IG9mIHRoaXMuZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKGZpbGUubmFtZS5lbmRzV2l0aChleHQpKSByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcHMtZmlsZS11cGxvYWRcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNwcy1maWxlLXVwbG9hZC1kcm9wem9uZVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2RyYWdnZWQtb3Zlcic6IGlzRHJhZ292ZXJGaWxlLFxuICAgICAgJ3dpdGgtdXBsb2Fkcyc6IHVwbG9hZGVkRmlsZT8ubmFtZVxuICAgIH1cIlxuICAgIChkcmFnZW5kKT1cImlzRHJhZ292ZXJGaWxlID0gZmFsc2VcIlxuICAgIChkcmFnZW50ZXIpPVwiaXNEcmFnb3ZlckZpbGUgPSB0cnVlXCJcbiAgICAoZHJhZ2xlYXZlKT1cImlzRHJhZ292ZXJGaWxlID0gZmFsc2VcIlxuICAgIChkcmFnb3Zlcik9XCJpc0RyYWdvdmVyRmlsZSA9IHRydWVcIlxuICAgIChtb3VzZWxlYXZlKT1cImlzRHJhZ292ZXJGaWxlID0gZmFsc2VcIlxuICAgIChkcm9wKT1cInRyeVVwbG9hZEZpbGUoJGV2ZW50KVwiPlxuICAgIDxpbnB1dFxuICAgICAgKGNoYW5nZSk9XCJ0cnlVcGxvYWRGaWxlKCRldmVudClcIlxuICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgW2FjY2VwdF09XCJleHRlbnNpb25zU3RyaW5nXCJcbiAgICAgIHRpdGxlPVwiXCIgLz5cbiAgICA8Y3BzLWljb24gaWNvbj1cImV4cG9ydFwiIHNpemU9XCJsYXJnZVwiIGNvbG9yPVwidGV4dC1kYXJrZXN0XCI+PC9jcHMtaWNvbj5cbiAgICA8ZGl2IGNsYXNzPVwiY3BzLWZpbGUtdXBsb2FkLWRyb3B6b25lLXRpdGxlXCI+XG4gICAgICBEcmFnJkRyb3Agb3IgY2hvb3NlIGEgZmlsZSB0byB1cGxvYWRcbiAgICA8L2Rpdj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJjcHMtZmlsZS11cGxvYWQtZHJvcHpvbmUtZmlsZS1kZXNjXCJcbiAgICAgICpuZ0lmPVwiZmlsZURlc2MgfHwgZXh0ZW5zaW9uc1N0cmluZ0FzdGVyaXNrc1wiXG4gICAgICA+e3sgZmlsZURlc2MgfX1cbiAgICAgIHt7XG4gICAgICAgIGV4dGVuc2lvbnNTdHJpbmdBc3Rlcmlza3MgPyAnKCcgKyBleHRlbnNpb25zU3RyaW5nQXN0ZXJpc2tzICsgJyknIDogJydcbiAgICAgIH19PC9zcGFuXG4gICAgPlxuICAgIDxjcHMtcHJvZ3Jlc3MtbGluZWFyXG4gICAgICAqbmdJZj1cImlzUHJvY2Vzc2luZ0ZpbGUgJiYgdXBsb2FkZWRGaWxlXCJcbiAgICAgIGhlaWdodD1cIjNcIlxuICAgICAgcmFkaXVzPVwiNFwiXG4gICAgICBvcGFjaXR5PVwiMC4zXCJcbiAgICAgIGNsYXNzPVwiY3BzLWZpbGUtdXBsb2FkLXByb2dyZXNzLWJhclwiXG4gICAgICBiZ0NvbG9yPVwidHJhbnNwYXJlbnRcIj5cbiAgICA8L2Nwcy1wcm9ncmVzcy1saW5lYXI+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwidXBsb2FkZWRGaWxlXCIgY2xhc3M9XCJjcHMtZmlsZS11cGxvYWQtdXBsb2FkZWQtZmlsZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3BzLWZpbGUtdXBsb2FkLXVwbG9hZGVkLWZpbGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcHMtZmlsZS11cGxvYWQtdXBsb2FkZWQtZmlsZS10aXRsZVwiPlxuICAgICAgICA8Y3BzLWljb25cbiAgICAgICAgICBjbGFzcz1cImNwcy1maWxlLXVwbG9hZC11cGxvYWRlZC1maWxlLXN0YXR1cy1pY29uXCJcbiAgICAgICAgICBbaWNvbl09XCJpc1Byb2Nlc3NpbmdGaWxlID8gJ3BlbmRpbmcnIDogJ3RvYXN0LXN1Y2Nlc3MnXCJcbiAgICAgICAgICBbY29sb3JdPVwiaXNQcm9jZXNzaW5nRmlsZSA/ICd3YXJuJyA6ICdzdWNjZXNzJ1wiPlxuICAgICAgICA8L2Nwcy1pY29uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3BzLWZpbGUtdXBsb2FkLXVwbG9hZGVkLWZpbGUtbmFtZVwiPlxuICAgICAgICAgIHt7IHVwbG9hZGVkRmlsZS5uYW1lIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8Y3BzLWljb25cbiAgICAgICAgKm5nSWY9XCIhaXNQcm9jZXNzaW5nRmlsZVwiXG4gICAgICAgIGNsYXNzPVwiY3BzLWZpbGUtdXBsb2FkLXVwbG9hZGVkLWZpbGUtcmVtb3ZlLWljb25cIlxuICAgICAgICBpY29uPVwicmVtb3ZlXCJcbiAgICAgICAgY29sb3I9XCJlcnJvclwiXG4gICAgICAgIChjbGljayk9XCJyZW1vdmVVcGxvYWRlZEZpbGUoKVwiPlxuICAgICAgPC9jcHMtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -56,7 +56,7 @@ export class CpsToastComponent {
56
56
  }
57
57
  }
58
58
  CpsToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsToastComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
59
- CpsToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CpsToastComponent, isStandalone: true, selector: "cps-toast", inputs: { config: "config", data: "data" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div\n (mouseenter)=\"clearTimeout()\"\n (mouseleave)=\"initiateTimeout()\"\n [class]=\"data.type\"\n [@toastState]=\"{\n value: 'visible'\n }\"\n [ngStyle]=\"{ 'max-width': maxWidth }\"\n class=\"cps-toast-content\">\n <div class=\"cps-toast-icon\" [ngClass]=\"{ filled: filled }\">\n <cps-icon\n [icon]=\"'toast-' + data.type\"\n [color]=\"filled ? '#fff' : color\"\n size=\"normal\"></cps-icon>\n </div>\n <div class=\"cps-toast-message\">\n <p class=\"cps-toast-message-header\">{{ data.message || '' }}</p>\n <p class=\"cps-toast-message-details\" *ngIf=\"data.details\">\n {{ data.details }}\n </p>\n </div>\n <div class=\"cps-toast-buttons\">\n <cps-button\n (clicked)=\"close()\"\n [color]=\"color\"\n icon=\"close-x\"\n class=\"cps-toast-close-button\"\n width=\"40\"\n type=\"borderless\"></cps-button>\n </div>\n</div>\n", styles: [":host .cps-toast-content{color:var(--cps-color-text-darkest);border-radius:4px;box-shadow:0 1px 3px #0000004d;display:flex;overflow:hidden}:host .cps-toast-content.success{background-color:var(--cps-color-success-bg);border:2px solid var(--cps-color-success)}:host .cps-toast-content.success .cps-toast-icon.filled{background-color:var(--cps-color-success)}:host .cps-toast-content.error{background-color:var(--cps-color-error-bg);border:2px solid var(--cps-color-error)}:host .cps-toast-content.error .cps-toast-icon.filled{background-color:var(--cps-color-error)}:host .cps-toast-content.warning{background-color:var(--cps-color-warn-bg);border:2px solid var(--cps-color-warn)}:host .cps-toast-content.warning .cps-toast-icon.filled{background-color:var(--cps-color-warn)}:host .cps-toast-content.info{background-color:var(--cps-color-info-bg);border:2px solid var(--cps-color-info)}:host .cps-toast-content.info .cps-toast-icon.filled{background-color:var(--cps-color-info)}:host .cps-toast-icon{display:flex;align-items:center;padding:20px}:host .cps-toast-message{display:flex;flex-direction:column;justify-content:center;padding:0 16px;font-weight:600;cursor:default}:host .cps-toast-message .cps-toast-message-details{margin-top:0;font-size:14px}:host .cps-toast-buttons{display:flex;justify-content:center;align-items:center}:host .cps-toast-buttons .cps-toast-close-button{margin:0 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "type", "label", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }], animations: [
59
+ CpsToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CpsToastComponent, isStandalone: true, selector: "cps-toast", inputs: { config: "config", data: "data" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div\n (mouseenter)=\"clearTimeout()\"\n (mouseleave)=\"initiateTimeout()\"\n [class]=\"data.type\"\n [@toastState]=\"{\n value: 'visible'\n }\"\n [ngStyle]=\"{ 'max-width': maxWidth }\"\n class=\"cps-toast-content\">\n <div class=\"cps-toast-icon\" [ngClass]=\"{ filled: filled }\">\n <cps-icon\n [icon]=\"'toast-' + data.type\"\n [color]=\"filled ? '#fff' : color\"\n size=\"normal\"></cps-icon>\n </div>\n <div class=\"cps-toast-message\">\n <p class=\"cps-toast-message-header\">{{ data.message || '' }}</p>\n <p class=\"cps-toast-message-details\" *ngIf=\"data.details\">\n {{ data.details }}\n </p>\n </div>\n <div class=\"cps-toast-buttons\">\n <cps-button\n (clicked)=\"close()\"\n [color]=\"color\"\n icon=\"close-x\"\n class=\"cps-toast-close-button\"\n width=\"40\"\n type=\"borderless\"></cps-button>\n </div>\n</div>\n", styles: [":host .cps-toast-content{color:var(--cps-color-text-darkest);border-radius:4px;box-shadow:0 1px 3px #0000004d;display:flex;overflow:hidden}:host .cps-toast-content.success{background-color:var(--cps-color-success-bg);border:2px solid var(--cps-color-success)}:host .cps-toast-content.success .cps-toast-icon.filled{background-color:var(--cps-color-success)}:host .cps-toast-content.error{background-color:var(--cps-color-error-bg);border:2px solid var(--cps-color-error)}:host .cps-toast-content.error .cps-toast-icon.filled{background-color:var(--cps-color-error)}:host .cps-toast-content.warning{background-color:var(--cps-color-warn-bg);border:2px solid var(--cps-color-warn)}:host .cps-toast-content.warning .cps-toast-icon.filled{background-color:var(--cps-color-warn)}:host .cps-toast-content.info{background-color:var(--cps-color-info-bg);border:2px solid var(--cps-color-info)}:host .cps-toast-content.info .cps-toast-icon.filled{background-color:var(--cps-color-info)}:host .cps-toast-icon{display:flex;align-items:center;padding:20px}:host .cps-toast-message{display:flex;flex-direction:column;justify-content:center;padding:0 16px;font-weight:600;font-family:Source Sans Pro,sans-serif;cursor:default}:host .cps-toast-message .cps-toast-message-details{margin-top:0;font-size:14px}:host .cps-toast-buttons{display:flex;justify-content:center;align-items:center}:host .cps-toast-buttons .cps-toast-close-button{margin:0 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "type", "label", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }], animations: [
60
60
  trigger('toastState', [
61
61
  state('visible', style({
62
62
  transform: 'translateY(0)',
@@ -95,7 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
95
95
  }))
96
96
  ])
97
97
  ])
98
- ], template: "<div\n (mouseenter)=\"clearTimeout()\"\n (mouseleave)=\"initiateTimeout()\"\n [class]=\"data.type\"\n [@toastState]=\"{\n value: 'visible'\n }\"\n [ngStyle]=\"{ 'max-width': maxWidth }\"\n class=\"cps-toast-content\">\n <div class=\"cps-toast-icon\" [ngClass]=\"{ filled: filled }\">\n <cps-icon\n [icon]=\"'toast-' + data.type\"\n [color]=\"filled ? '#fff' : color\"\n size=\"normal\"></cps-icon>\n </div>\n <div class=\"cps-toast-message\">\n <p class=\"cps-toast-message-header\">{{ data.message || '' }}</p>\n <p class=\"cps-toast-message-details\" *ngIf=\"data.details\">\n {{ data.details }}\n </p>\n </div>\n <div class=\"cps-toast-buttons\">\n <cps-button\n (clicked)=\"close()\"\n [color]=\"color\"\n icon=\"close-x\"\n class=\"cps-toast-close-button\"\n width=\"40\"\n type=\"borderless\"></cps-button>\n </div>\n</div>\n", styles: [":host .cps-toast-content{color:var(--cps-color-text-darkest);border-radius:4px;box-shadow:0 1px 3px #0000004d;display:flex;overflow:hidden}:host .cps-toast-content.success{background-color:var(--cps-color-success-bg);border:2px solid var(--cps-color-success)}:host .cps-toast-content.success .cps-toast-icon.filled{background-color:var(--cps-color-success)}:host .cps-toast-content.error{background-color:var(--cps-color-error-bg);border:2px solid var(--cps-color-error)}:host .cps-toast-content.error .cps-toast-icon.filled{background-color:var(--cps-color-error)}:host .cps-toast-content.warning{background-color:var(--cps-color-warn-bg);border:2px solid var(--cps-color-warn)}:host .cps-toast-content.warning .cps-toast-icon.filled{background-color:var(--cps-color-warn)}:host .cps-toast-content.info{background-color:var(--cps-color-info-bg);border:2px solid var(--cps-color-info)}:host .cps-toast-content.info .cps-toast-icon.filled{background-color:var(--cps-color-info)}:host .cps-toast-icon{display:flex;align-items:center;padding:20px}:host .cps-toast-message{display:flex;flex-direction:column;justify-content:center;padding:0 16px;font-weight:600;cursor:default}:host .cps-toast-message .cps-toast-message-details{margin-top:0;font-size:14px}:host .cps-toast-buttons{display:flex;justify-content:center;align-items:center}:host .cps-toast-buttons .cps-toast-close-button{margin:0 8px}\n"] }]
98
+ ], template: "<div\n (mouseenter)=\"clearTimeout()\"\n (mouseleave)=\"initiateTimeout()\"\n [class]=\"data.type\"\n [@toastState]=\"{\n value: 'visible'\n }\"\n [ngStyle]=\"{ 'max-width': maxWidth }\"\n class=\"cps-toast-content\">\n <div class=\"cps-toast-icon\" [ngClass]=\"{ filled: filled }\">\n <cps-icon\n [icon]=\"'toast-' + data.type\"\n [color]=\"filled ? '#fff' : color\"\n size=\"normal\"></cps-icon>\n </div>\n <div class=\"cps-toast-message\">\n <p class=\"cps-toast-message-header\">{{ data.message || '' }}</p>\n <p class=\"cps-toast-message-details\" *ngIf=\"data.details\">\n {{ data.details }}\n </p>\n </div>\n <div class=\"cps-toast-buttons\">\n <cps-button\n (clicked)=\"close()\"\n [color]=\"color\"\n icon=\"close-x\"\n class=\"cps-toast-close-button\"\n width=\"40\"\n type=\"borderless\"></cps-button>\n </div>\n</div>\n", styles: [":host .cps-toast-content{color:var(--cps-color-text-darkest);border-radius:4px;box-shadow:0 1px 3px #0000004d;display:flex;overflow:hidden}:host .cps-toast-content.success{background-color:var(--cps-color-success-bg);border:2px solid var(--cps-color-success)}:host .cps-toast-content.success .cps-toast-icon.filled{background-color:var(--cps-color-success)}:host .cps-toast-content.error{background-color:var(--cps-color-error-bg);border:2px solid var(--cps-color-error)}:host .cps-toast-content.error .cps-toast-icon.filled{background-color:var(--cps-color-error)}:host .cps-toast-content.warning{background-color:var(--cps-color-warn-bg);border:2px solid var(--cps-color-warn)}:host .cps-toast-content.warning .cps-toast-icon.filled{background-color:var(--cps-color-warn)}:host .cps-toast-content.info{background-color:var(--cps-color-info-bg);border:2px solid var(--cps-color-info)}:host .cps-toast-content.info .cps-toast-icon.filled{background-color:var(--cps-color-info)}:host .cps-toast-icon{display:flex;align-items:center;padding:20px}:host .cps-toast-message{display:flex;flex-direction:column;justify-content:center;padding:0 16px;font-weight:600;font-family:Source Sans Pro,sans-serif;cursor:default}:host .cps-toast-message .cps-toast-message-details{margin-top:0;font-size:14px}:host .cps-toast-buttons{display:flex;justify-content:center;align-items:center}:host .cps-toast-buttons .cps-toast-close-button{margin:0 8px}\n"] }]
99
99
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { config: [{
100
100
  type: Input
101
101
  }], data: [{
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
103
103
  }], closed: [{
104
104
  type: Output
105
105
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRvYXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9zZXJ2aWNlcy9jcHMtbm90aWZpY2F0aW9uL2ludGVybmFsL2NvbXBvbmVudHMvY3BzLXRvYXN0L2Nwcy10b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvc2VydmljZXMvY3BzLW5vdGlmaWNhdGlvbi9pbnRlcm5hbC9jb21wb25lbnRzL2Nwcy10b2FzdC9jcHMtdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCx5QkFBeUIsRUFFMUIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBRUwsbUJBQW1CLEVBQ3BCLE1BQU0sK0NBQStDLENBQUM7QUFDdkQsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBa0M3QixNQUFNLE9BQU8saUJBQWlCO0lBZ0I1QixrREFBa0Q7SUFDbEQsWUFBb0IsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFiaEM7Ozs7V0FJRztRQUNPLFdBQU0sR0FB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S0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDcEQsT0FBTyxDQUFDLGdCQUFnQixDQUFDOzZCQUMxQixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO29DQUNKLE1BQU0sRUFBRSxDQUFDO29DQUNULE9BQU8sRUFBRSxDQUFDO29DQUNWLFNBQVMsRUFBRSxtQkFBbUI7aUNBQy9CLENBQUMsQ0FDSDs2QkFDRixDQUFDO3lCQUNILENBQUM7cUJBQ0g7NkZBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFPSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENwc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY3BzLWJ1dHRvbi9jcHMtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jcHMtaWNvbi9jcHMtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvbnZlcnRTaXplIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvaW50ZXJuYWwvc2l6ZS11dGlscyc7XG5pbXBvcnQge1xuICBDcHNOb3RpZmljYXRpb25BcHBlYXJhbmNlLFxuICBDcHNOb3RpZmljYXRpb25Db25maWdcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY3BzLW5vdGlmaWNhdGlvbi1jb25maWcnO1xuaW1wb3J0IHtcbiAgQ3BzTm90aWZpY2F0aW9uRGF0YSxcbiAgQ3BzTm90aWZpY2F0aW9uVHlwZVxufSBmcm9tICcuLi8uLi8uLi91dGlscy9pbnRlcm5hbC9jcHMtbm90aWZpY2F0aW9uLWRhdGEnO1xuaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ3BzQnV0dG9uQ29tcG9uZW50LCBDcHNJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdjcHMtdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3BzLXRvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3BzLXRvYXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCd0b2FzdFN0YXRlJywgW1xuICAgICAgc3RhdGUoXG4gICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICAgIG9wYWNpdHk6IDFcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScsIG9wYWNpdHk6IDAgfSksXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcyMDBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENwc1RvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjb25maWchOiBDcHNOb3RpZmljYXRpb25Db25maWc7XG4gIEBJbnB1dCgpIGRhdGEhOiBDcHNOb3RpZmljYXRpb25EYXRhO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdG9hc3QgY2xvc2UuXG4gICAqIEBwYXJhbSB7YW55fVxuICAgKiBAZ3JvdXAgRW1pdHNcbiAgICovXG4gIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdGltZW91dDogYW55O1xuICBtYXhXaWR0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBmaWxsZWQgPSB0cnVlO1xuICBjb2xvciA9ICcnO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWF4V2lkdGggPSBjb252ZXJ0U2l6ZSh0aGlzLmNvbmZpZz8ubWF4V2lkdGggfHwgJycpO1xuICAgIHRoaXMuZmlsbGVkID0gdGhpcy5jb25maWc/LmFwcGVhcmFuY2UgPT09IENwc05vdGlmaWNhdGlvbkFwcGVhcmFuY2UuRklMTEVEO1xuICAgIHRoaXMuY29sb3IgPVxuICAgICAgdGhpcy5kYXRhPy50eXBlID09PSBDcHNOb3RpZmljYXRpb25UeXBlLldBUk5JTkdcbiAgICAgICAgPyAnd2FybidcbiAgICAgICAgOiB0aGlzLmRhdGE/LnR5cGUgfHwgQ3BzTm90aWZpY2F0aW9uVHlwZS5FUlJPUjtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYXRlVGltZW91dCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jbGVhclRpbWVvdXQoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuY2xlYXJUaW1lb3V0KCk7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgaW5pdGlhdGVUaW1lb3V0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZz8udGltZW91dCA9PT0gMCkgcmV0dXJuO1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSwgdGhpcy5jb25maWc/LnRpbWVvdXQgfHwgNTAwMCk7XG4gICAgfSk7XG4gIH1cblxuICBjbGVhclRpbWVvdXQoKSB7XG4gICAgaWYgKHRoaXMudGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAobW91c2VlbnRlcik9XCJjbGVhclRpbWVvdXQoKVwiXG4gIChtb3VzZWxlYXZlKT1cImluaXRpYXRlVGltZW91dCgpXCJcbiAgW2NsYXNzXT1cImRhdGEudHlwZVwiXG4gIFtAdG9hc3RTdGF0ZV09XCJ7XG4gICAgdmFsdWU6ICd2aXNpYmxlJ1xuICB9XCJcbiAgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGggfVwiXG4gIGNsYXNzPVwiY3BzLXRvYXN0LWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImNwcy10b2FzdC1pY29uXCIgW25nQ2xhc3NdPVwieyBmaWxsZWQ6IGZpbGxlZCB9XCI+XG4gICAgPGNwcy1pY29uXG4gICAgICBbaWNvbl09XCIndG9hc3QtJyArIGRhdGEudHlwZVwiXG4gICAgICBbY29sb3JdPVwiZmlsbGVkID8gJyNmZmYnIDogY29sb3JcIlxuICAgICAgc2l6ZT1cIm5vcm1hbFwiPjwvY3BzLWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3BzLXRvYXN0LW1lc3NhZ2VcIj5cbiAgICA8cCBjbGFzcz1cImNwcy10b2FzdC1tZXNzYWdlLWhlYWRlclwiPnt7IGRhdGEubWVzc2FnZSB8fCAnJyB9fTwvcD5cbiAgICA8cCBjbGFzcz1cImNwcy10b2FzdC1tZXNzYWdlLWRldGFpbHNcIiAqbmdJZj1cImRhdGEuZGV0YWlsc1wiPlxuICAgICAge3sgZGF0YS5kZXRhaWxzIH19XG4gICAgPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNwcy10b2FzdC1idXR0b25zXCI+XG4gICAgPGNwcy1idXR0b25cbiAgICAgIChjbGlja2VkKT1cImNsb3NlKClcIlxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgIGljb249XCJjbG9zZS14XCJcbiAgICAgIGNsYXNzPVwiY3BzLXRvYXN0LWNsb3NlLWJ1dHRvblwiXG4gICAgICB3aWR0aD1cIjQwXCJcbiAgICAgIHR5cGU9XCJib3JkZXJsZXNzXCI+PC9jcHMtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRvYXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9zZXJ2aWNlcy9jcHMtbm90aWZpY2F0aW9uL2ludGVybmFsL2NvbXBvbmVudHMvY3BzLXRvYXN0L2Nwcy10b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvc2VydmljZXMvY3BzLW5vdGlmaWNhdGlvbi9pbnRlcm5hbC9jb21wb25lbnRzL2Nwcy10b2FzdC9jcHMtdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCx5QkFBeUIsRUFFMUIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBRUwsbUJBQW1CLEVBQ3BCLE1BQU0sK0NBQStDLENBQUM7QUFDdkQsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBa0M3QixNQUFNLE9BQU8saUJBQWlCO0lBZ0I1QixrREFBa0Q7SUFDbEQsWUFBb0IsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFiaEM7Ozs7V0FJRztRQUNPLFdBQU0sR0FB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S0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDcEQsT0FBTyxDQUFDLGdCQUFnQixDQUFDOzZCQUMxQixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO29DQUNKLE1BQU0sRUFBRSxDQUFDO29DQUNULE9BQU8sRUFBRSxDQUFDO29DQUNWLFNBQVMsRUFBRSxtQkFBbUI7aUNBQy9CLENBQUMsQ0FDSDs2QkFDRixDQUFDO3lCQUNILENBQUM7cUJBQ0g7NkZBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFPSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENwc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY3BzLWJ1dHRvbi9jcHMtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jcHMtaWNvbi9jcHMtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvbnZlcnRTaXplIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvaW50ZXJuYWwvc2l6ZS11dGlscyc7XG5pbXBvcnQge1xuICBDcHNOb3RpZmljYXRpb25BcHBlYXJhbmNlLFxuICBDcHNOb3RpZmljYXRpb25Db25maWdcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY3BzLW5vdGlmaWNhdGlvbi1jb25maWcnO1xuaW1wb3J0IHtcbiAgQ3BzTm90aWZpY2F0aW9uRGF0YSxcbiAgQ3BzTm90aWZpY2F0aW9uVHlwZVxufSBmcm9tICcuLi8uLi8uLi91dGlscy9pbnRlcm5hbC9jcHMtbm90aWZpY2F0aW9uLWRhdGEnO1xuaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ3BzQnV0dG9uQ29tcG9uZW50LCBDcHNJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdjcHMtdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3BzLXRvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3BzLXRvYXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCd0b2FzdFN0YXRlJywgW1xuICAgICAgc3RhdGUoXG4gICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICAgIG9wYWNpdHk6IDFcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScsIG9wYWNpdHk6IDAgfSksXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcyMDBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENwc1RvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjb25maWchOiBDcHNOb3RpZmljYXRpb25Db25maWc7XG4gIEBJbnB1dCgpIGRhdGEhOiBDcHNOb3RpZmljYXRpb25EYXRhO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdG9hc3QgY2xvc2UuXG4gICAqIEBwYXJhbSB7YW55fVxuICAgKiBAZ3JvdXAgRW1pdHNcbiAgICovXG4gIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdGltZW91dDogYW55O1xuICBtYXhXaWR0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBmaWxsZWQgPSB0cnVlO1xuICBjb2xvciA9ICcnO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWF4V2lkdGggPSBjb252ZXJ0U2l6ZSh0aGlzLmNvbmZpZz8ubWF4V2lkdGggfHwgJycpO1xuICAgIHRoaXMuZmlsbGVkID0gdGhpcy5jb25maWc/LmFwcGVhcmFuY2UgPT09IENwc05vdGlmaWNhdGlvbkFwcGVhcmFuY2UuRklMTEVEO1xuICAgIHRoaXMuY29sb3IgPVxuICAgICAgdGhpcy5kYXRhPy50eXBlID09PSBDcHNOb3RpZmljYXRpb25UeXBlLldBUk5JTkdcbiAgICAgICAgPyAnd2FybidcbiAgICAgICAgOiB0aGlzLmRhdGE/LnR5cGUgfHwgQ3BzTm90aWZpY2F0aW9uVHlwZS5FUlJPUjtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYXRlVGltZW91dCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jbGVhclRpbWVvdXQoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuY2xlYXJUaW1lb3V0KCk7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgaW5pdGlhdGVUaW1lb3V0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZz8udGltZW91dCA9PT0gMCkgcmV0dXJuO1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSwgdGhpcy5jb25maWc/LnRpbWVvdXQgfHwgNTAwMCk7XG4gICAgfSk7XG4gIH1cblxuICBjbGVhclRpbWVvdXQoKSB7XG4gICAgaWYgKHRoaXMudGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAobW91c2VlbnRlcik9XCJjbGVhclRpbWVvdXQoKVwiXG4gIChtb3VzZWxlYXZlKT1cImluaXRpYXRlVGltZW91dCgpXCJcbiAgW2NsYXNzXT1cImRhdGEudHlwZVwiXG4gIFtAdG9hc3RTdGF0ZV09XCJ7XG4gICAgdmFsdWU6ICd2aXNpYmxlJ1xuICB9XCJcbiAgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGggfVwiXG4gIGNsYXNzPVwiY3BzLXRvYXN0LWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImNwcy10b2FzdC1pY29uXCIgW25nQ2xhc3NdPVwieyBmaWxsZWQ6IGZpbGxlZCB9XCI+XG4gICAgPGNwcy1pY29uXG4gICAgICBbaWNvbl09XCIndG9hc3QtJyArIGRhdGEudHlwZVwiXG4gICAgICBbY29sb3JdPVwiZmlsbGVkID8gJyNmZmYnIDogY29sb3JcIlxuICAgICAgc2l6ZT1cIm5vcm1hbFwiPjwvY3BzLWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3BzLXRvYXN0LW1lc3NhZ2VcIj5cbiAgICA8cCBjbGFzcz1cImNwcy10b2FzdC1tZXNzYWdlLWhlYWRlclwiPnt7IGRhdGEubWVzc2FnZSB8fCAnJyB9fTwvcD5cbiAgICA8cCBjbGFzcz1cImNwcy10b2FzdC1tZXNzYWdlLWRldGFpbHNcIiAqbmdJZj1cImRhdGEuZGV0YWlsc1wiPlxuICAgICAge3sgZGF0YS5kZXRhaWxzIH19XG4gICAgPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNwcy10b2FzdC1idXR0b25zXCI+XG4gICAgPGNwcy1idXR0b25cbiAgICAgIChjbGlja2VkKT1cImNsb3NlKClcIlxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgIGljb249XCJjbG9zZS14XCJcbiAgICAgIGNsYXNzPVwiY3BzLXRvYXN0LWNsb3NlLWJ1dHRvblwiXG4gICAgICB3aWR0aD1cIjQwXCJcbiAgICAgIHR5cGU9XCJib3JkZXJsZXNzXCI+PC9jcHMtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -40,6 +40,7 @@ export * from './lib/components/cps-button-toggle/cps-button-toggle.component';
40
40
  export * from './lib/components/cps-tab-group/cps-tab-group.component';
41
41
  export * from './lib/components/cps-tab-group/cps-tab/cps-tab.component';
42
42
  export * from './lib/components/cps-timepicker/cps-timepicker.component';
43
+ export * from './lib/components/cps-file-upload/cps-file-upload.component';
43
44
  export * from './lib/directives/cps-tooltip.directive';
44
45
  export * from './lib/services/cps-dialog/cps-dialog.service';
45
46
  export * from './lib/services/cps-dialog/utils/cps-dialog-config';
@@ -47,4 +48,4 @@ export * from './lib/services/cps-dialog/utils/cps-dialog-ref';
47
48
  export * from './lib/services/cps-notification/cps-notification.service';
48
49
  export * from './lib/services/cps-notification/utils/cps-notification-config';
49
50
  export * from './lib/utils/colors-utils';
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHFGQUFxRixDQUFDO0FBQ3BHLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLHVGQUF1RixDQUFDO0FBQ3RHLGNBQWMsb0ZBQW9GLENBQUM7QUFDbkcsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUV6RSxjQUFjLHdDQUF3QyxDQUFDO0FBRXZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywrREFBK0QsQ0FBQztBQUU5RSxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjcHMtdWkta2l0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtaWNvbi9jcHMtaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtaW5wdXQvY3BzLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1zZWxlY3QvY3BzLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS1zZWxlY3QvY3BzLXRyZWUtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1hdXRvY29tcGxldGUvY3BzLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS1hdXRvY29tcGxldGUvY3BzLXRyZWUtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1pbmZvLWNpcmNsZS9jcHMtaW5mby1jaXJjbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWJ1dHRvbi9jcHMtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1jaGVja2JveC9jcHMtY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXJhZGlvLWdyb3VwL2Nwcy1yYWRpby9jcHMtcmFkaW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXJhZGlvLWdyb3VwL2Nwcy1yYWRpby1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvY3BzLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9kaXJlY3RpdmVzL2Nwcy10YWJsZS1jb2x1bW4tc29ydGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRhYmxlLWNvbHVtbi1maWx0ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRhYmxlLWhlYWRlci1zZWxlY3RhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9kaXJlY3RpdmVzL2Nwcy10YWJsZS1yb3ctc2VsZWN0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvY3BzLWNvbHVtbi1maWx0ZXItdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS10YWJsZS9jcHMtdHJlZS10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS10YWJsZS9kaXJlY3RpdmVzL2Nwcy10cmVlLXRhYmxlLWNvbHVtbi1zb3J0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS10YWJsZS9kaXJlY3RpdmVzL2Nwcy10cmVlLXRhYmxlLWNvbHVtbi1maWx0ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtdGFibGUvZGlyZWN0aXZlcy9jcHMtdHJlZS10YWJsZS1yb3ctdG9nZ2xlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS10YWJsZS9kaXJlY3RpdmVzL2Nwcy10cmVlLXRhYmxlLWhlYWRlci1zZWxlY3RhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtcm93LXNlbGVjdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhZy9jcHMtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1jaGlwL2Nwcy1jaGlwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1tZW51L2Nwcy1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1wYWdpbmF0b3IvY3BzLXBhZ2luYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtcGFnaW5hdG9yL3BpcGVzL2Nwcy1wYWdpbmF0ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWxvYWRlci9jcHMtbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1leHBhbnNpb24tcGFuZWwvY3BzLWV4cGFuc2lvbi1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtcHJvZ3Jlc3MtY2lyY3VsYXIvY3BzLXByb2dyZXNzLWNpcmN1bGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1wcm9ncmVzcy1saW5lYXIvY3BzLXByb2dyZXNzLWxpbmVhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtZGF0ZXBpY2tlci9jcHMtZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtc2lkZWJhci1tZW51L2Nwcy1zaWRlYmFyLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRleHRhcmVhL2Nwcy10ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtYnV0dG9uLXRvZ2dsZS9jcHMtYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFiLWdyb3VwL2Nwcy10YWItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYi1ncm91cC9jcHMtdGFiL2Nwcy10YWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRpbWVwaWNrZXIvY3BzLXRpbWVwaWNrZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jcHMtdG9vbHRpcC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtZGlhbG9nL2Nwcy1kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtZGlhbG9nL3V0aWxzL2Nwcy1kaWFsb2ctY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Nwcy1kaWFsb2cvdXRpbHMvY3BzLWRpYWxvZy1yZWYnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtbm90aWZpY2F0aW9uL2Nwcy1ub3RpZmljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtbm90aWZpY2F0aW9uL3V0aWxzL2Nwcy1ub3RpZmljYXRpb24tY29uZmlnJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvY29sb3JzLXV0aWxzJztcbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHFGQUFxRixDQUFDO0FBQ3BHLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLHVGQUF1RixDQUFDO0FBQ3RHLGNBQWMsb0ZBQW9GLENBQUM7QUFDbkcsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLCtEQUErRCxDQUFDO0FBRTlFLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNwcy11aS1raXRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1pY29uL2Nwcy1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1pbnB1dC9jcHMtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXNlbGVjdC9jcHMtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXNlbGVjdC9jcHMtdHJlZS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWF1dG9jb21wbGV0ZS9jcHMtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLWF1dG9jb21wbGV0ZS9jcHMtdHJlZS1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWluZm8tY2lyY2xlL2Nwcy1pbmZvLWNpcmNsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtYnV0dG9uL2Nwcy1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWNoZWNrYm94L2Nwcy1jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtcmFkaW8tZ3JvdXAvY3BzLXJhZGlvL2Nwcy1yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtcmFkaW8tZ3JvdXAvY3BzLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9jcHMtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRhYmxlLWNvbHVtbi1zb3J0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvZGlyZWN0aXZlcy9jcHMtdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvZGlyZWN0aXZlcy9jcHMtdGFibGUtaGVhZGVyLXNlbGVjdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRhYmxlLXJvdy1zZWxlY3RhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9jcHMtY29sdW1uLWZpbHRlci10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2Nwcy10cmVlLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtY29sdW1uLXNvcnRhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS10YWJsZS9kaXJlY3RpdmVzL2Nwcy10cmVlLXRhYmxlLXJvdy10b2dnbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtaGVhZGVyLXNlbGVjdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtdGFibGUvZGlyZWN0aXZlcy9jcHMtdHJlZS10YWJsZS1yb3ctc2VsZWN0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFnL2Nwcy10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWNoaXAvY3BzLWNoaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLW1lbnUvY3BzLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXBhZ2luYXRvci9jcHMtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1wYWdpbmF0b3IvcGlwZXMvY3BzLXBhZ2luYXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtbG9hZGVyL2Nwcy1sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWV4cGFuc2lvbi1wYW5lbC9jcHMtZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1wcm9ncmVzcy1jaXJjdWxhci9jcHMtcHJvZ3Jlc3MtY2lyY3VsYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXByb2dyZXNzLWxpbmVhci9jcHMtcHJvZ3Jlc3MtbGluZWFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1kYXRlcGlja2VyL2Nwcy1kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1zaWRlYmFyLW1lbnUvY3BzLXNpZGViYXItbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGV4dGFyZWEvY3BzLXRleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1idXR0b24tdG9nZ2xlL2Nwcy1idXR0b24tdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWItZ3JvdXAvY3BzLXRhYi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFiLWdyb3VwL2Nwcy10YWIvY3BzLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGltZXBpY2tlci9jcHMtdGltZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtZmlsZS11cGxvYWQvY3BzLWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY3BzLXRvb2x0aXAuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY3BzLWRpYWxvZy9jcHMtZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY3BzLWRpYWxvZy91dGlscy9jcHMtZGlhbG9nLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtZGlhbG9nL3V0aWxzL2Nwcy1kaWFsb2ctcmVmJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY3BzLW5vdGlmaWNhdGlvbi9jcHMtbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY3BzLW5vdGlmaWNhdGlvbi91dGlscy9jcHMtbm90aWZpY2F0aW9uLWNvbmZpZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2NvbG9ycy11dGlscyc7XG4iXX0=
@@ -2,7 +2,7 @@ import * as i2 from '@angular/common';
2
2
  import { CommonModule, isPlatformBrowser, DOCUMENT } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, Input, Directive, HostListener, EventEmitter, Self, Optional, Output, ViewChild, Pipe, PLATFORM_ID, ChangeDetectionStrategy, ViewEncapsulation, Inject, HostBinding, InjectionToken, Host, ContentChild, ViewChildren, RendererStyleFlags2, TemplateRef, ContentChildren, Injectable, createComponent } from '@angular/core';
5
- import { Subscription, fromEvent, debounceTime, distinctUntilChanged, Subject, take } from 'rxjs';
5
+ import { Subscription, fromEvent, debounceTime, distinctUntilChanged, take, catchError, of, Subject } from 'rxjs';
6
6
  import * as i1 from '@angular/forms';
7
7
  import { FormsModule } from '@angular/forms';
8
8
  import { isEqual } from 'lodash-es';
@@ -10499,6 +10499,138 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
10499
10499
  args: ['secondsField']
10500
10500
  }] } });
10501
10501
 
10502
+ /**
10503
+ * CpsFileUploadComponent is an advanced uploader with dragdrop support.
10504
+ * @group Components
10505
+ */
10506
+ class CpsFileUploadComponent {
10507
+ constructor() {
10508
+ /**
10509
+ * Expected extensions of a file to be uploaded. E.g. 'doc or .doc'.
10510
+ * @group Props
10511
+ */
10512
+ this.extensions = [];
10513
+ /**
10514
+ * Expected file description. E.g. 'Word document'.
10515
+ * @group Props
10516
+ */
10517
+ this.fileDesc = 'Any file';
10518
+ /**
10519
+ * Width of the component, a number denoting pixels or a string.
10520
+ * @group Props
10521
+ */
10522
+ this.width = '100%';
10523
+ /**
10524
+ * Callback for uploaded file processing.
10525
+ * @group Props
10526
+ */
10527
+ this.fileProcessingCallback = undefined;
10528
+ /**
10529
+ * Callback to invoke when file is uploaded.
10530
+ * @param {File} File
10531
+ * @group Emits
10532
+ */
10533
+ this.fileUploaded = new EventEmitter();
10534
+ /**
10535
+ * Callback to invoke when file upload fails.
10536
+ * @param {string} - file name
10537
+ * @group Emits
10538
+ */
10539
+ this.fileUploadFailed = new EventEmitter();
10540
+ /**
10541
+ * Callback to invoke when uploaded file is removed.
10542
+ * @param {string} - file name
10543
+ * @group Emits
10544
+ */
10545
+ this.uploadedFileRemoved = new EventEmitter();
10546
+ this.isDragoverFile = false;
10547
+ this.extensionsString = '';
10548
+ this.extensionsStringAsterisks = '';
10549
+ this.isProcessingFile = false;
10550
+ }
10551
+ ngOnInit() {
10552
+ this.width = convertSize(this.width);
10553
+ this.extensions = this.extensions.map((ext) => ext.startsWith('.') ? ext : '.' + ext);
10554
+ this.extensionsString = this.extensions.join(', ');
10555
+ this.extensionsStringAsterisks = this.extensions
10556
+ .map((ext) => '*' + ext)
10557
+ .join(', ');
10558
+ }
10559
+ tryUploadFile(event) {
10560
+ var _a, _b, _c, _d;
10561
+ event.preventDefault();
10562
+ event.stopPropagation();
10563
+ this.isDragoverFile = false;
10564
+ let file;
10565
+ if (event.type === 'drop') {
10566
+ file = (_b = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.files.item(0)) !== null && _b !== void 0 ? _b : undefined;
10567
+ }
10568
+ else {
10569
+ const files = event.target.files;
10570
+ if (!files || files.length < 1)
10571
+ return;
10572
+ file = (_c = files.item(0)) !== null && _c !== void 0 ? _c : undefined;
10573
+ }
10574
+ if (!this._isFileExtensionValid(file)) {
10575
+ this.fileUploadFailed.emit((_d = file === null || file === void 0 ? void 0 : file.name) !== null && _d !== void 0 ? _d : '');
10576
+ return;
10577
+ }
10578
+ this.uploadedFile = file;
10579
+ if (this.uploadedFile) {
10580
+ this.fileUploaded.emit(this.uploadedFile);
10581
+ if (this.fileProcessingCallback) {
10582
+ this.isProcessingFile = true;
10583
+ this.fileProcessingCallback(this.uploadedFile)
10584
+ .pipe(take(1), catchError(() => {
10585
+ return of(false);
10586
+ }))
10587
+ .subscribe((res) => {
10588
+ if (!res)
10589
+ this.removeUploadedFile();
10590
+ this.isProcessingFile = false;
10591
+ });
10592
+ }
10593
+ }
10594
+ }
10595
+ removeUploadedFile() {
10596
+ var _a, _b;
10597
+ const name = (_b = (_a = this.uploadedFile) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '';
10598
+ this.uploadedFile = undefined;
10599
+ this.uploadedFileRemoved.emit(name);
10600
+ }
10601
+ _isFileExtensionValid(file) {
10602
+ if (!file)
10603
+ return false;
10604
+ if (this.extensions.length < 1)
10605
+ return true;
10606
+ for (const ext of this.extensions) {
10607
+ if (file.name.endsWith(ext))
10608
+ return true;
10609
+ }
10610
+ return false;
10611
+ }
10612
+ }
10613
+ CpsFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10614
+ CpsFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CpsFileUploadComponent, isStandalone: true, selector: "cps-file-upload", inputs: { extensions: "extensions", fileDesc: "fileDesc", width: "width", fileProcessingCallback: "fileProcessingCallback" }, outputs: { fileUploaded: "fileUploaded", fileUploadFailed: "fileUploadFailed", uploadedFileRemoved: "uploadedFileRemoved" }, ngImport: i0, template: "<div class=\"cps-file-upload\" [ngStyle]=\"{ width: width }\">\n <div\n class=\"cps-file-upload-dropzone\"\n [ngClass]=\"{\n 'dragged-over': isDragoverFile,\n 'with-uploads': uploadedFile?.name\n }\"\n (dragend)=\"isDragoverFile = false\"\n (dragenter)=\"isDragoverFile = true\"\n (dragleave)=\"isDragoverFile = false\"\n (dragover)=\"isDragoverFile = true\"\n (mouseleave)=\"isDragoverFile = false\"\n (drop)=\"tryUploadFile($event)\">\n <input\n (change)=\"tryUploadFile($event)\"\n type=\"file\"\n [accept]=\"extensionsString\"\n title=\"\" />\n <cps-icon icon=\"export\" size=\"large\" color=\"text-darkest\"></cps-icon>\n <div class=\"cps-file-upload-dropzone-title\">\n Drag&Drop or choose a file to upload\n </div>\n <span\n class=\"cps-file-upload-dropzone-file-desc\"\n *ngIf=\"fileDesc || extensionsStringAsterisks\"\n >{{ fileDesc }}\n {{\n extensionsStringAsterisks ? '(' + extensionsStringAsterisks + ')' : ''\n }}</span\n >\n <cps-progress-linear\n *ngIf=\"isProcessingFile && uploadedFile\"\n height=\"3\"\n radius=\"4\"\n opacity=\"0.3\"\n class=\"cps-file-upload-progress-bar\"\n bgColor=\"transparent\">\n </cps-progress-linear>\n </div>\n <div *ngIf=\"uploadedFile\" class=\"cps-file-upload-uploaded-files\">\n <div class=\"cps-file-upload-uploaded-file\">\n <div class=\"cps-file-upload-uploaded-file-title\">\n <cps-icon\n class=\"cps-file-upload-uploaded-file-status-icon\"\n [icon]=\"isProcessingFile ? 'pending' : 'toast-success'\"\n [color]=\"isProcessingFile ? 'warn' : 'success'\">\n </cps-icon>\n <div class=\"cps-file-upload-uploaded-file-name\">\n {{ uploadedFile.name }}\n </div>\n </div>\n <cps-icon\n *ngIf=\"!isProcessingFile\"\n class=\"cps-file-upload-uploaded-file-remove-icon\"\n icon=\"remove\"\n color=\"error\"\n (click)=\"removeUploadedFile()\">\n </cps-icon>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex}:host .cps-file-upload .cps-file-upload-dropzone{font-family:Source Sans Pro,sans-serif;min-height:20px;padding:2rem;text-align:center;border:2px dashed var(--cps-color-calm);position:relative;border-radius:1rem}:host .cps-file-upload .cps-file-upload-dropzone:hover{background-color:var(--cps-color-highlight-hover)}:host .cps-file-upload .cps-file-upload-dropzone:active{background-color:var(--cps-color-highlight-selected)}:host .cps-file-upload .cps-file-upload-dropzone.dragged-over{background-color:var(--cps-color-highlight-selected)}:host .cps-file-upload .cps-file-upload-dropzone.with-uploads{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:1px dashed var(--cps-color-calm)}:host .cps-file-upload .cps-file-upload-dropzone input{cursor:pointer;opacity:0;position:absolute;width:100%;height:100%;top:0;left:0}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-dropzone-title{font-size:16px;margin:8px 0;color:var(--cps-color-calm);font-weight:600}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-dropzone-file-desc{font-size:18px;color:var(--cps-color-text-dark)}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-progress-bar{position:absolute;bottom:-2px;left:0}:host .cps-file-upload .cps-file-upload-uploaded-files{border-bottom:2px dashed var(--cps-color-calm);border-left:2px dashed var(--cps-color-calm);border-right:2px dashed var(--cps-color-calm);border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:var(--cps-color-highlight-hover)}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file{cursor:default;display:flex;align-items:center;justify-content:space-between;padding:8px 12px}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-title{display:flex;align-items:center}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-title .cps-file-upload-uploaded-file-name{color:var(--cps-color-text-darkest);font-size:20px;margin:0 8px}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-remove-icon{cursor:pointer}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-remove-icon:hover ::ng-deep .cps-icon{color:var(--cps-color-error-darken1)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }, { kind: "component", type: CpsProgressLinearComponent, selector: "cps-progress-linear", inputs: ["width", "height", "color", "bgColor", "opacity", "radius"] }] });
10615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsFileUploadComponent, decorators: [{
10616
+ type: Component,
10617
+ args: [{ selector: 'cps-file-upload', standalone: true, imports: [CommonModule, CpsIconComponent, CpsProgressLinearComponent], template: "<div class=\"cps-file-upload\" [ngStyle]=\"{ width: width }\">\n <div\n class=\"cps-file-upload-dropzone\"\n [ngClass]=\"{\n 'dragged-over': isDragoverFile,\n 'with-uploads': uploadedFile?.name\n }\"\n (dragend)=\"isDragoverFile = false\"\n (dragenter)=\"isDragoverFile = true\"\n (dragleave)=\"isDragoverFile = false\"\n (dragover)=\"isDragoverFile = true\"\n (mouseleave)=\"isDragoverFile = false\"\n (drop)=\"tryUploadFile($event)\">\n <input\n (change)=\"tryUploadFile($event)\"\n type=\"file\"\n [accept]=\"extensionsString\"\n title=\"\" />\n <cps-icon icon=\"export\" size=\"large\" color=\"text-darkest\"></cps-icon>\n <div class=\"cps-file-upload-dropzone-title\">\n Drag&Drop or choose a file to upload\n </div>\n <span\n class=\"cps-file-upload-dropzone-file-desc\"\n *ngIf=\"fileDesc || extensionsStringAsterisks\"\n >{{ fileDesc }}\n {{\n extensionsStringAsterisks ? '(' + extensionsStringAsterisks + ')' : ''\n }}</span\n >\n <cps-progress-linear\n *ngIf=\"isProcessingFile && uploadedFile\"\n height=\"3\"\n radius=\"4\"\n opacity=\"0.3\"\n class=\"cps-file-upload-progress-bar\"\n bgColor=\"transparent\">\n </cps-progress-linear>\n </div>\n <div *ngIf=\"uploadedFile\" class=\"cps-file-upload-uploaded-files\">\n <div class=\"cps-file-upload-uploaded-file\">\n <div class=\"cps-file-upload-uploaded-file-title\">\n <cps-icon\n class=\"cps-file-upload-uploaded-file-status-icon\"\n [icon]=\"isProcessingFile ? 'pending' : 'toast-success'\"\n [color]=\"isProcessingFile ? 'warn' : 'success'\">\n </cps-icon>\n <div class=\"cps-file-upload-uploaded-file-name\">\n {{ uploadedFile.name }}\n </div>\n </div>\n <cps-icon\n *ngIf=\"!isProcessingFile\"\n class=\"cps-file-upload-uploaded-file-remove-icon\"\n icon=\"remove\"\n color=\"error\"\n (click)=\"removeUploadedFile()\">\n </cps-icon>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex}:host .cps-file-upload .cps-file-upload-dropzone{font-family:Source Sans Pro,sans-serif;min-height:20px;padding:2rem;text-align:center;border:2px dashed var(--cps-color-calm);position:relative;border-radius:1rem}:host .cps-file-upload .cps-file-upload-dropzone:hover{background-color:var(--cps-color-highlight-hover)}:host .cps-file-upload .cps-file-upload-dropzone:active{background-color:var(--cps-color-highlight-selected)}:host .cps-file-upload .cps-file-upload-dropzone.dragged-over{background-color:var(--cps-color-highlight-selected)}:host .cps-file-upload .cps-file-upload-dropzone.with-uploads{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:1px dashed var(--cps-color-calm)}:host .cps-file-upload .cps-file-upload-dropzone input{cursor:pointer;opacity:0;position:absolute;width:100%;height:100%;top:0;left:0}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-dropzone-title{font-size:16px;margin:8px 0;color:var(--cps-color-calm);font-weight:600}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-dropzone-file-desc{font-size:18px;color:var(--cps-color-text-dark)}:host .cps-file-upload .cps-file-upload-dropzone .cps-file-upload-progress-bar{position:absolute;bottom:-2px;left:0}:host .cps-file-upload .cps-file-upload-uploaded-files{border-bottom:2px dashed var(--cps-color-calm);border-left:2px dashed var(--cps-color-calm);border-right:2px dashed var(--cps-color-calm);border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:var(--cps-color-highlight-hover)}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file{cursor:default;display:flex;align-items:center;justify-content:space-between;padding:8px 12px}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-title{display:flex;align-items:center}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-title .cps-file-upload-uploaded-file-name{color:var(--cps-color-text-darkest);font-size:20px;margin:0 8px}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-remove-icon{cursor:pointer}:host .cps-file-upload .cps-file-upload-uploaded-files .cps-file-upload-uploaded-file .cps-file-upload-uploaded-file-remove-icon:hover ::ng-deep .cps-icon{color:var(--cps-color-error-darken1)!important}\n"] }]
10618
+ }], propDecorators: { extensions: [{
10619
+ type: Input
10620
+ }], fileDesc: [{
10621
+ type: Input
10622
+ }], width: [{
10623
+ type: Input
10624
+ }], fileProcessingCallback: [{
10625
+ type: Input
10626
+ }], fileUploaded: [{
10627
+ type: Output
10628
+ }], fileUploadFailed: [{
10629
+ type: Output
10630
+ }], uploadedFileRemoved: [{
10631
+ type: Output
10632
+ }] } });
10633
+
10502
10634
  class CpsDialogRef {
10503
10635
  constructor() {
10504
10636
  this._onOpen = new Subject();
@@ -11302,7 +11434,7 @@ class CpsToastComponent {
11302
11434
  }
11303
11435
  }
11304
11436
  CpsToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsToastComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
11305
- CpsToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CpsToastComponent, isStandalone: true, selector: "cps-toast", inputs: { config: "config", data: "data" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div\n (mouseenter)=\"clearTimeout()\"\n (mouseleave)=\"initiateTimeout()\"\n [class]=\"data.type\"\n [@toastState]=\"{\n value: 'visible'\n }\"\n [ngStyle]=\"{ 'max-width': maxWidth }\"\n class=\"cps-toast-content\">\n <div class=\"cps-toast-icon\" [ngClass]=\"{ filled: filled }\">\n <cps-icon\n [icon]=\"'toast-' + data.type\"\n [color]=\"filled ? '#fff' : color\"\n size=\"normal\"></cps-icon>\n </div>\n <div class=\"cps-toast-message\">\n <p class=\"cps-toast-message-header\">{{ data.message || '' }}</p>\n <p class=\"cps-toast-message-details\" *ngIf=\"data.details\">\n {{ data.details }}\n </p>\n </div>\n <div class=\"cps-toast-buttons\">\n <cps-button\n (clicked)=\"close()\"\n [color]=\"color\"\n icon=\"close-x\"\n class=\"cps-toast-close-button\"\n width=\"40\"\n type=\"borderless\"></cps-button>\n </div>\n</div>\n", styles: [":host .cps-toast-content{color:var(--cps-color-text-darkest);border-radius:4px;box-shadow:0 1px 3px #0000004d;display:flex;overflow:hidden}:host .cps-toast-content.success{background-color:var(--cps-color-success-bg);border:2px solid var(--cps-color-success)}:host .cps-toast-content.success .cps-toast-icon.filled{background-color:var(--cps-color-success)}:host .cps-toast-content.error{background-color:var(--cps-color-error-bg);border:2px solid var(--cps-color-error)}:host .cps-toast-content.error .cps-toast-icon.filled{background-color:var(--cps-color-error)}:host .cps-toast-content.warning{background-color:var(--cps-color-warn-bg);border:2px solid var(--cps-color-warn)}:host .cps-toast-content.warning .cps-toast-icon.filled{background-color:var(--cps-color-warn)}:host .cps-toast-content.info{background-color:var(--cps-color-info-bg);border:2px solid var(--cps-color-info)}:host .cps-toast-content.info .cps-toast-icon.filled{background-color:var(--cps-color-info)}:host .cps-toast-icon{display:flex;align-items:center;padding:20px}:host .cps-toast-message{display:flex;flex-direction:column;justify-content:center;padding:0 16px;font-weight:600;cursor:default}:host .cps-toast-message .cps-toast-message-details{margin-top:0;font-size:14px}:host .cps-toast-buttons{display:flex;justify-content:center;align-items:center}:host .cps-toast-buttons .cps-toast-close-button{margin:0 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "type", "label", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }], animations: [
11437
+ CpsToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CpsToastComponent, isStandalone: true, selector: "cps-toast", inputs: { config: "config", data: "data" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div\n (mouseenter)=\"clearTimeout()\"\n (mouseleave)=\"initiateTimeout()\"\n [class]=\"data.type\"\n [@toastState]=\"{\n value: 'visible'\n }\"\n [ngStyle]=\"{ 'max-width': maxWidth }\"\n class=\"cps-toast-content\">\n <div class=\"cps-toast-icon\" [ngClass]=\"{ filled: filled }\">\n <cps-icon\n [icon]=\"'toast-' + data.type\"\n [color]=\"filled ? '#fff' : color\"\n size=\"normal\"></cps-icon>\n </div>\n <div class=\"cps-toast-message\">\n <p class=\"cps-toast-message-header\">{{ data.message || '' }}</p>\n <p class=\"cps-toast-message-details\" *ngIf=\"data.details\">\n {{ data.details }}\n </p>\n </div>\n <div class=\"cps-toast-buttons\">\n <cps-button\n (clicked)=\"close()\"\n [color]=\"color\"\n icon=\"close-x\"\n class=\"cps-toast-close-button\"\n width=\"40\"\n type=\"borderless\"></cps-button>\n </div>\n</div>\n", styles: [":host .cps-toast-content{color:var(--cps-color-text-darkest);border-radius:4px;box-shadow:0 1px 3px #0000004d;display:flex;overflow:hidden}:host .cps-toast-content.success{background-color:var(--cps-color-success-bg);border:2px solid var(--cps-color-success)}:host .cps-toast-content.success .cps-toast-icon.filled{background-color:var(--cps-color-success)}:host .cps-toast-content.error{background-color:var(--cps-color-error-bg);border:2px solid var(--cps-color-error)}:host .cps-toast-content.error .cps-toast-icon.filled{background-color:var(--cps-color-error)}:host .cps-toast-content.warning{background-color:var(--cps-color-warn-bg);border:2px solid var(--cps-color-warn)}:host .cps-toast-content.warning .cps-toast-icon.filled{background-color:var(--cps-color-warn)}:host .cps-toast-content.info{background-color:var(--cps-color-info-bg);border:2px solid var(--cps-color-info)}:host .cps-toast-content.info .cps-toast-icon.filled{background-color:var(--cps-color-info)}:host .cps-toast-icon{display:flex;align-items:center;padding:20px}:host .cps-toast-message{display:flex;flex-direction:column;justify-content:center;padding:0 16px;font-weight:600;font-family:Source Sans Pro,sans-serif;cursor:default}:host .cps-toast-message .cps-toast-message-details{margin-top:0;font-size:14px}:host .cps-toast-buttons{display:flex;justify-content:center;align-items:center}:host .cps-toast-buttons .cps-toast-close-button{margin:0 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "type", "label", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color"] }], animations: [
11306
11438
  trigger('toastState', [
11307
11439
  state('visible', style({
11308
11440
  transform: 'translateY(0)',
@@ -11341,7 +11473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
11341
11473
  }))
11342
11474
  ])
11343
11475
  ])
11344
- ], template: "<div\n (mouseenter)=\"clearTimeout()\"\n (mouseleave)=\"initiateTimeout()\"\n [class]=\"data.type\"\n [@toastState]=\"{\n value: 'visible'\n }\"\n [ngStyle]=\"{ 'max-width': maxWidth }\"\n class=\"cps-toast-content\">\n <div class=\"cps-toast-icon\" [ngClass]=\"{ filled: filled }\">\n <cps-icon\n [icon]=\"'toast-' + data.type\"\n [color]=\"filled ? '#fff' : color\"\n size=\"normal\"></cps-icon>\n </div>\n <div class=\"cps-toast-message\">\n <p class=\"cps-toast-message-header\">{{ data.message || '' }}</p>\n <p class=\"cps-toast-message-details\" *ngIf=\"data.details\">\n {{ data.details }}\n </p>\n </div>\n <div class=\"cps-toast-buttons\">\n <cps-button\n (clicked)=\"close()\"\n [color]=\"color\"\n icon=\"close-x\"\n class=\"cps-toast-close-button\"\n width=\"40\"\n type=\"borderless\"></cps-button>\n </div>\n</div>\n", styles: [":host .cps-toast-content{color:var(--cps-color-text-darkest);border-radius:4px;box-shadow:0 1px 3px #0000004d;display:flex;overflow:hidden}:host .cps-toast-content.success{background-color:var(--cps-color-success-bg);border:2px solid var(--cps-color-success)}:host .cps-toast-content.success .cps-toast-icon.filled{background-color:var(--cps-color-success)}:host .cps-toast-content.error{background-color:var(--cps-color-error-bg);border:2px solid var(--cps-color-error)}:host .cps-toast-content.error .cps-toast-icon.filled{background-color:var(--cps-color-error)}:host .cps-toast-content.warning{background-color:var(--cps-color-warn-bg);border:2px solid var(--cps-color-warn)}:host .cps-toast-content.warning .cps-toast-icon.filled{background-color:var(--cps-color-warn)}:host .cps-toast-content.info{background-color:var(--cps-color-info-bg);border:2px solid var(--cps-color-info)}:host .cps-toast-content.info .cps-toast-icon.filled{background-color:var(--cps-color-info)}:host .cps-toast-icon{display:flex;align-items:center;padding:20px}:host .cps-toast-message{display:flex;flex-direction:column;justify-content:center;padding:0 16px;font-weight:600;cursor:default}:host .cps-toast-message .cps-toast-message-details{margin-top:0;font-size:14px}:host .cps-toast-buttons{display:flex;justify-content:center;align-items:center}:host .cps-toast-buttons .cps-toast-close-button{margin:0 8px}\n"] }]
11476
+ ], template: "<div\n (mouseenter)=\"clearTimeout()\"\n (mouseleave)=\"initiateTimeout()\"\n [class]=\"data.type\"\n [@toastState]=\"{\n value: 'visible'\n }\"\n [ngStyle]=\"{ 'max-width': maxWidth }\"\n class=\"cps-toast-content\">\n <div class=\"cps-toast-icon\" [ngClass]=\"{ filled: filled }\">\n <cps-icon\n [icon]=\"'toast-' + data.type\"\n [color]=\"filled ? '#fff' : color\"\n size=\"normal\"></cps-icon>\n </div>\n <div class=\"cps-toast-message\">\n <p class=\"cps-toast-message-header\">{{ data.message || '' }}</p>\n <p class=\"cps-toast-message-details\" *ngIf=\"data.details\">\n {{ data.details }}\n </p>\n </div>\n <div class=\"cps-toast-buttons\">\n <cps-button\n (clicked)=\"close()\"\n [color]=\"color\"\n icon=\"close-x\"\n class=\"cps-toast-close-button\"\n width=\"40\"\n type=\"borderless\"></cps-button>\n </div>\n</div>\n", styles: [":host .cps-toast-content{color:var(--cps-color-text-darkest);border-radius:4px;box-shadow:0 1px 3px #0000004d;display:flex;overflow:hidden}:host .cps-toast-content.success{background-color:var(--cps-color-success-bg);border:2px solid var(--cps-color-success)}:host .cps-toast-content.success .cps-toast-icon.filled{background-color:var(--cps-color-success)}:host .cps-toast-content.error{background-color:var(--cps-color-error-bg);border:2px solid var(--cps-color-error)}:host .cps-toast-content.error .cps-toast-icon.filled{background-color:var(--cps-color-error)}:host .cps-toast-content.warning{background-color:var(--cps-color-warn-bg);border:2px solid var(--cps-color-warn)}:host .cps-toast-content.warning .cps-toast-icon.filled{background-color:var(--cps-color-warn)}:host .cps-toast-content.info{background-color:var(--cps-color-info-bg);border:2px solid var(--cps-color-info)}:host .cps-toast-content.info .cps-toast-icon.filled{background-color:var(--cps-color-info)}:host .cps-toast-icon{display:flex;align-items:center;padding:20px}:host .cps-toast-message{display:flex;flex-direction:column;justify-content:center;padding:0 16px;font-weight:600;font-family:Source Sans Pro,sans-serif;cursor:default}:host .cps-toast-message .cps-toast-message-details{margin-top:0;font-size:14px}:host .cps-toast-buttons{display:flex;justify-content:center;align-items:center}:host .cps-toast-buttons .cps-toast-close-button{margin:0 8px}\n"] }]
11345
11477
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { config: [{
11346
11478
  type: Input
11347
11479
  }], data: [{
@@ -11529,5 +11661,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
11529
11661
  * Generated bundle index. Do not edit.
11530
11662
  */
11531
11663
 
11532
- export { CPS_RADIO_GROUP, CpsAutocompleteComponent, CpsButtonComponent, CpsButtonToggleComponent, CpsCheckboxComponent, CpsChipComponent, CpsColumnFilterMatchMode, CpsDatepickerComponent, CpsDialogConfig, CpsDialogRef, CpsDialogService, CpsExpansionPanelComponent, CpsIconComponent, CpsInfoCircleComponent, CpsInputComponent, CpsLoaderComponent, CpsMenuComponent, CpsNotificationAppearance, CpsNotificationPosition, CpsNotificationService, CpsPaginatePipe, CpsPaginatorComponent, CpsProgressCircularComponent, CpsProgressLinearComponent, CpsRadioComponent, CpsRadioGroupComponent, CpsSelectComponent, CpsSidebarMenuComponent, CpsTabComponent, CpsTabGroupComponent, CpsTableColumnFilterDirective, CpsTableColumnSortableDirective, CpsTableComponent, CpsTableHeaderSelectableDirective, CpsTableRowSelectableDirective, CpsTagComponent, CpsTextareaComponent, CpsTimepickerComponent, CpsTooltipDirective, CpsTreeAutocompleteComponent, CpsTreeSelectComponent, CpsTreeTableColumnFilterDirective, CpsTreeTableColumnSortableDirective, CpsTreeTableComponent, CpsTreeTableHeaderSelectableDirective, CpsTreeTableRowSelectableDirective, CpsTreetableRowTogglerDirective, getCSSColor, getCpsColors, getTextColor, iconNames, tableFactory, treeTableFactory };
11664
+ export { CPS_RADIO_GROUP, CpsAutocompleteComponent, CpsButtonComponent, CpsButtonToggleComponent, CpsCheckboxComponent, CpsChipComponent, CpsColumnFilterMatchMode, CpsDatepickerComponent, CpsDialogConfig, CpsDialogRef, CpsDialogService, CpsExpansionPanelComponent, CpsFileUploadComponent, CpsIconComponent, CpsInfoCircleComponent, CpsInputComponent, CpsLoaderComponent, CpsMenuComponent, CpsNotificationAppearance, CpsNotificationPosition, CpsNotificationService, CpsPaginatePipe, CpsPaginatorComponent, CpsProgressCircularComponent, CpsProgressLinearComponent, CpsRadioComponent, CpsRadioGroupComponent, CpsSelectComponent, CpsSidebarMenuComponent, CpsTabComponent, CpsTabGroupComponent, CpsTableColumnFilterDirective, CpsTableColumnSortableDirective, CpsTableComponent, CpsTableHeaderSelectableDirective, CpsTableRowSelectableDirective, CpsTagComponent, CpsTextareaComponent, CpsTimepickerComponent, CpsTooltipDirective, CpsTreeAutocompleteComponent, CpsTreeSelectComponent, CpsTreeTableColumnFilterDirective, CpsTreeTableColumnSortableDirective, CpsTreeTableComponent, CpsTreeTableHeaderSelectableDirective, CpsTreeTableRowSelectableDirective, CpsTreetableRowTogglerDirective, getCSSColor, getCpsColors, getTextColor, iconNames, tableFactory, treeTableFactory };
11533
11665
  //# sourceMappingURL=cps-ui-kit.mjs.map