@rlucan/ui 14.2.6 → 16.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2022/lib/action-button/action-button.component.mjs +99 -99
- package/esm2022/lib/action-icon/action-icon.component.mjs +36 -36
- package/esm2022/lib/autocomplete/autocomplete.component.mjs +390 -390
- package/esm2022/lib/avatar/avatar.component.mjs +34 -34
- package/esm2022/lib/button/button.component.mjs +56 -56
- package/esm2022/lib/checkbox/checkbox.component.mjs +38 -38
- package/esm2022/lib/checkbox-group/checkbox-group.component.mjs +90 -90
- package/esm2022/lib/currency/currency.component.mjs +150 -150
- package/esm2022/lib/date/date.component.mjs +67 -67
- package/esm2022/lib/dialog/dialog.component.mjs +36 -36
- package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +104 -104
- package/esm2022/lib/editor/editor.component.mjs +118 -118
- package/esm2022/lib/elements/burger/burger.component.mjs +20 -20
- package/esm2022/lib/elements/expander/expander.component.mjs +27 -27
- package/esm2022/lib/elements/validation-message/validation-message.component.mjs +46 -46
- package/esm2022/lib/file/file.component.mjs +144 -144
- package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +404 -404
- package/esm2022/lib/input/input.component.mjs +264 -264
- package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +276 -276
- package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +21 -21
- package/esm2022/lib/layouts/base/ui-base.component.mjs +73 -73
- package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +17 -17
- package/esm2022/lib/layouts/simple/ui-simple.component.mjs +165 -165
- package/esm2022/lib/radio/radio.component.mjs +20 -20
- package/esm2022/lib/radio-group/radio-group.component.mjs +53 -53
- package/esm2022/lib/select/select.component.mjs +126 -115
- package/esm2022/lib/services/message-box.service.mjs +110 -110
- package/esm2022/lib/services/toast.service.mjs +23 -23
- package/esm2022/lib/services/ui-file.service.mjs +70 -70
- package/esm2022/lib/services/ui-translate.service.mjs +31 -31
- package/esm2022/lib/submit-button/submit-button.component.mjs +71 -71
- package/esm2022/lib/table/table.component.mjs +97 -97
- package/esm2022/lib/text-area/text-area.component.mjs +45 -45
- package/esm2022/lib/ui.model.mjs +1 -1
- package/esm2022/lib/ui.module.mjs +268 -268
- package/esm2022/public-api.mjs +34 -34
- package/esm2022/rlucan-ui.mjs +4 -4
- package/fesm2022/rlucan-ui.mjs +3285 -3274
- package/fesm2022/rlucan-ui.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/action-button/action-button.component.d.ts +28 -32
- package/lib/action-icon/action-icon.component.d.ts +15 -15
- package/lib/autocomplete/autocomplete.component.d.ts +57 -57
- package/lib/avatar/avatar.component.d.ts +14 -14
- package/lib/button/button.component.d.ts +18 -18
- package/lib/checkbox/checkbox.component.d.ts +15 -15
- package/lib/checkbox-group/checkbox-group.component.d.ts +18 -18
- package/lib/currency/currency.component.d.ts +31 -31
- package/lib/date/date.component.d.ts +24 -24
- package/lib/dialog/dialog.component.d.ts +13 -13
- package/lib/directives/force-visibility/force-visibility.directive.d.ts +22 -22
- package/lib/editor/editor.component.d.ts +24 -24
- package/lib/elements/burger/burger.component.d.ts +9 -9
- package/lib/elements/expander/expander.component.d.ts +10 -10
- package/lib/elements/validation-message/validation-message.component.d.ts +12 -12
- package/lib/file/file.component.d.ts +35 -35
- package/lib/file-uploader/ui-file-uploader.component.d.ts +102 -102
- package/lib/input/input.component.d.ts +42 -42
- package/lib/input-autocomplete/input-autocomplete.component.d.ts +44 -44
- package/lib/layouts/base/ui-base-layout.component.d.ts +8 -8
- package/lib/layouts/base/ui-base.component.d.ts +23 -23
- package/lib/layouts/simple/ui-simple-layout.component.d.ts +8 -8
- package/lib/layouts/simple/ui-simple.component.d.ts +40 -40
- package/lib/radio/radio.component.d.ts +8 -8
- package/lib/radio-group/radio-group.component.d.ts +18 -18
- package/lib/select/select.component.d.ts +37 -35
- package/lib/services/message-box.service.d.ts +58 -58
- package/lib/services/toast.service.d.ts +13 -13
- package/lib/services/ui-file.service.d.ts +33 -33
- package/lib/services/ui-translate.service.d.ts +11 -11
- package/lib/submit-button/submit-button.component.d.ts +21 -21
- package/lib/table/table.component.d.ts +36 -36
- package/lib/text-area/text-area.component.d.ts +18 -18
- package/lib/ui.model.d.ts +2 -2
- package/lib/ui.module.d.ts +59 -59
- package/package.json +1 -1
- package/public-api.d.ts +29 -29
- package/src/js/editorjs.mjs +9634 -9634
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
import { Component, HostBinding, Inject, Input, Optional } from '@angular/core';
|
|
2
|
-
import { UI_FILESERVICE } from '../services/ui-file.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/platform-browser";
|
|
5
|
-
import * as i2 from "../services/ui-file.service";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "@angular/material/progress-spinner";
|
|
8
|
-
export class FileComponent {
|
|
9
|
-
get fitImageFileSize() {
|
|
10
|
-
if (!this.fileServiceConfig.imageSizes[this.fileSize]) {
|
|
11
|
-
console.error('Missing filesize for ' + this.fileSize);
|
|
12
|
-
}
|
|
13
|
-
return this.fileServiceConfig.imageSizes[this.fileSize][0] < 0 || this.fileServiceConfig.imageSizes[this.fileSize][1] < 0;
|
|
14
|
-
}
|
|
15
|
-
get width() {
|
|
16
|
-
if (this.fitImageFileSize) {
|
|
17
|
-
if (this.nativeFileSizeRatio === -1) {
|
|
18
|
-
return '100%';
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
return this.nativeFileWidth + 'px';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return this.fileServiceConfig.imageSizes[this.fileSize] ? this.fileServiceConfig.imageSizes[this.fileSize][0] + 'px' : undefined;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
get maxWidth() {
|
|
29
|
-
if (this.fileServiceConfig.imageSizes[this.fileSize][0] < 0) {
|
|
30
|
-
return this.width;
|
|
31
|
-
}
|
|
32
|
-
return this.fileServiceConfig.imageSizes[this.fileSize] ? this.fileServiceConfig.imageSizes[this.fileSize][0] + 'px' : undefined;
|
|
33
|
-
}
|
|
34
|
-
get height() {
|
|
35
|
-
if (this.fitImageFileSize) {
|
|
36
|
-
if (this.nativeFileSizeRatio === -1) {
|
|
37
|
-
return '100%';
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
return this.nativeFileHeight + 'px';
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return this.fileServiceConfig.imageSizes[this.fileSize] ? this.fileServiceConfig.imageSizes[this.fileSize][1] + 'px' : undefined;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
get maxHeight() {
|
|
48
|
-
if (this.fileServiceConfig.imageSizes[this.fileSize][1] < 0) {
|
|
49
|
-
return this.height;
|
|
50
|
-
}
|
|
51
|
-
return this.fileServiceConfig.imageSizes[this.fileSize] ? this.fileServiceConfig.imageSizes[this.fileSize][1] + 'px' : undefined;
|
|
52
|
-
}
|
|
53
|
-
get isVideo() {
|
|
54
|
-
return this.mime.startsWith('video/');
|
|
55
|
-
}
|
|
56
|
-
get mime() {
|
|
57
|
-
if (this.srcUrlMimeType) {
|
|
58
|
-
return this.srcUrlMimeType;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
if (this.srcData.nativeFile) {
|
|
62
|
-
return this.srcData.nativeFile.type;
|
|
63
|
-
}
|
|
64
|
-
return this.fileServiceConfig.getMimeType(this.srcData);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
get useRetinaSrc() {
|
|
68
|
-
return this.fileServiceConfig.useRetinaSrc;
|
|
69
|
-
}
|
|
70
|
-
constructor(fileServiceConfig, domSanitizer, fileService) {
|
|
71
|
-
this.fileServiceConfig = fileServiceConfig;
|
|
72
|
-
this.domSanitizer = domSanitizer;
|
|
73
|
-
this.fileService = fileService;
|
|
74
|
-
this.fileSize = 'default';
|
|
75
|
-
this.visible = false;
|
|
76
|
-
this.nativeFileSizeRatio = -1;
|
|
77
|
-
}
|
|
78
|
-
ngOnInit() {
|
|
79
|
-
}
|
|
80
|
-
ngOnChanges(changes) {
|
|
81
|
-
if (changes.srcData) {
|
|
82
|
-
this.nativeFileSizeRatio = -1;
|
|
83
|
-
if (changes.srcData.currentValue.nativeFile) {
|
|
84
|
-
this.src = this.domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(changes.srcData.currentValue.nativeFile));
|
|
85
|
-
const img = new Image();
|
|
86
|
-
img.onload = () => {
|
|
87
|
-
if (this.fitImageFileSize) {
|
|
88
|
-
this.nativeFileSizeRatio = Math.max(img.width / this.fileServiceConfig.imageSizes[this.fileSize][0], img.height / this.fileServiceConfig.imageSizes[this.fileSize][1], 1);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
this.nativeFileSizeRatio = 1;
|
|
92
|
-
}
|
|
93
|
-
this.nativeFileWidth = img.width / this.nativeFileSizeRatio;
|
|
94
|
-
this.nativeFileHeight = img.height / this.nativeFileSizeRatio;
|
|
95
|
-
URL.revokeObjectURL(img.src);
|
|
96
|
-
};
|
|
97
|
-
img.src = URL.createObjectURL(changes.srcData.currentValue.nativeFile);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
this.src = this.fileServiceConfig.getMediaSrc(this.fileSize, changes.srcData.currentValue, this.srcOptions);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (changes.srcUrl) {
|
|
104
|
-
this.src = changes.srcUrl.currentValue?.src;
|
|
105
|
-
if (this.src) {
|
|
106
|
-
this.srcUrlMimeType = changes.srcUrl.currentValue?.mimeType || 'image/png';
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
this.srcUrlMimeType = undefined;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FileComponent, deps: [{ token: UI_FILESERVICE, optional: true }, { token: i1.DomSanitizer }, { token: i2.UiFileService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FileComponent, selector: "ui-file", inputs: { fileSize: "fileSize", srcOptions: "srcOptions", srcData: "srcData", srcUrl: "srcUrl" }, host: { properties: { "style.width": "this.width", "style.maxWidth": "this.maxWidth", "style.height": "this.height", "style.maxHeight": "this.maxHeight" } }, usesOnChanges: true, ngImport: i0, template: "<mat-spinner *ngIf=\"visible\"></mat-spinner>\r\n<img *ngIf=\"!isVideo && useRetinaSrc\" [src]=\"src\" [srcset]=\"src + ' 2x'\"/>\r\n<img *ngIf=\"!isVideo && !useRetinaSrc\" [src]=\"src\"/>\r\n<video *ngIf=\"isVideo\" muted controls [src]=\"src\"></video>\r\n\r\n", styles: [":host{display:flex;align-items:center;justify-content:center;position:relative}:host img,:host video{max-width:100%;max-height:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
|
|
115
|
-
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FileComponent, decorators: [{
|
|
117
|
-
type: Component,
|
|
118
|
-
args: [{ selector: 'ui-file', template: "<mat-spinner *ngIf=\"visible\"></mat-spinner>\r\n<img *ngIf=\"!isVideo && useRetinaSrc\" [src]=\"src\" [srcset]=\"src + ' 2x'\"/>\r\n<img *ngIf=\"!isVideo && !useRetinaSrc\" [src]=\"src\"/>\r\n<video *ngIf=\"isVideo\" muted controls [src]=\"src\"></video>\r\n\r\n", styles: [":host{display:flex;align-items:center;justify-content:center;position:relative}:host img,:host video{max-width:100%;max-height:100%}\n"] }]
|
|
119
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
120
|
-
type: Optional
|
|
121
|
-
}, {
|
|
122
|
-
type: Inject,
|
|
123
|
-
args: [UI_FILESERVICE]
|
|
124
|
-
}] }, { type: i1.DomSanitizer }, { type: i2.UiFileService }]; }, propDecorators: { fileSize: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], srcOptions: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], srcData: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], srcUrl: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], width: [{
|
|
133
|
-
type: HostBinding,
|
|
134
|
-
args: ['style.width']
|
|
135
|
-
}], maxWidth: [{
|
|
136
|
-
type: HostBinding,
|
|
137
|
-
args: ['style.maxWidth']
|
|
138
|
-
}], height: [{
|
|
139
|
-
type: HostBinding,
|
|
140
|
-
args: ['style.height']
|
|
141
|
-
}], maxHeight: [{
|
|
142
|
-
type: HostBinding,
|
|
143
|
-
args: ['style.maxHeight']
|
|
144
|
-
}] } });
|
|
1
|
+
import { Component, HostBinding, Inject, Input, Optional } from '@angular/core';
|
|
2
|
+
import { UI_FILESERVICE } from '../services/ui-file.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
import * as i2 from "../services/ui-file.service";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/progress-spinner";
|
|
8
|
+
export class FileComponent {
|
|
9
|
+
get fitImageFileSize() {
|
|
10
|
+
if (!this.fileServiceConfig.imageSizes[this.fileSize]) {
|
|
11
|
+
console.error('Missing filesize for ' + this.fileSize);
|
|
12
|
+
}
|
|
13
|
+
return this.fileServiceConfig.imageSizes[this.fileSize][0] < 0 || this.fileServiceConfig.imageSizes[this.fileSize][1] < 0;
|
|
14
|
+
}
|
|
15
|
+
get width() {
|
|
16
|
+
if (this.fitImageFileSize) {
|
|
17
|
+
if (this.nativeFileSizeRatio === -1) {
|
|
18
|
+
return '100%';
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return this.nativeFileWidth + 'px';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return this.fileServiceConfig.imageSizes[this.fileSize] ? this.fileServiceConfig.imageSizes[this.fileSize][0] + 'px' : undefined;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
get maxWidth() {
|
|
29
|
+
if (this.fileServiceConfig.imageSizes[this.fileSize][0] < 0) {
|
|
30
|
+
return this.width;
|
|
31
|
+
}
|
|
32
|
+
return this.fileServiceConfig.imageSizes[this.fileSize] ? this.fileServiceConfig.imageSizes[this.fileSize][0] + 'px' : undefined;
|
|
33
|
+
}
|
|
34
|
+
get height() {
|
|
35
|
+
if (this.fitImageFileSize) {
|
|
36
|
+
if (this.nativeFileSizeRatio === -1) {
|
|
37
|
+
return '100%';
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return this.nativeFileHeight + 'px';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return this.fileServiceConfig.imageSizes[this.fileSize] ? this.fileServiceConfig.imageSizes[this.fileSize][1] + 'px' : undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
get maxHeight() {
|
|
48
|
+
if (this.fileServiceConfig.imageSizes[this.fileSize][1] < 0) {
|
|
49
|
+
return this.height;
|
|
50
|
+
}
|
|
51
|
+
return this.fileServiceConfig.imageSizes[this.fileSize] ? this.fileServiceConfig.imageSizes[this.fileSize][1] + 'px' : undefined;
|
|
52
|
+
}
|
|
53
|
+
get isVideo() {
|
|
54
|
+
return this.mime.startsWith('video/');
|
|
55
|
+
}
|
|
56
|
+
get mime() {
|
|
57
|
+
if (this.srcUrlMimeType) {
|
|
58
|
+
return this.srcUrlMimeType;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
if (this.srcData.nativeFile) {
|
|
62
|
+
return this.srcData.nativeFile.type;
|
|
63
|
+
}
|
|
64
|
+
return this.fileServiceConfig.getMimeType(this.srcData);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
get useRetinaSrc() {
|
|
68
|
+
return this.fileServiceConfig.useRetinaSrc;
|
|
69
|
+
}
|
|
70
|
+
constructor(fileServiceConfig, domSanitizer, fileService) {
|
|
71
|
+
this.fileServiceConfig = fileServiceConfig;
|
|
72
|
+
this.domSanitizer = domSanitizer;
|
|
73
|
+
this.fileService = fileService;
|
|
74
|
+
this.fileSize = 'default';
|
|
75
|
+
this.visible = false;
|
|
76
|
+
this.nativeFileSizeRatio = -1;
|
|
77
|
+
}
|
|
78
|
+
ngOnInit() {
|
|
79
|
+
}
|
|
80
|
+
ngOnChanges(changes) {
|
|
81
|
+
if (changes.srcData) {
|
|
82
|
+
this.nativeFileSizeRatio = -1;
|
|
83
|
+
if (changes.srcData.currentValue.nativeFile) {
|
|
84
|
+
this.src = this.domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(changes.srcData.currentValue.nativeFile));
|
|
85
|
+
const img = new Image();
|
|
86
|
+
img.onload = () => {
|
|
87
|
+
if (this.fitImageFileSize) {
|
|
88
|
+
this.nativeFileSizeRatio = Math.max(img.width / this.fileServiceConfig.imageSizes[this.fileSize][0], img.height / this.fileServiceConfig.imageSizes[this.fileSize][1], 1);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
this.nativeFileSizeRatio = 1;
|
|
92
|
+
}
|
|
93
|
+
this.nativeFileWidth = img.width / this.nativeFileSizeRatio;
|
|
94
|
+
this.nativeFileHeight = img.height / this.nativeFileSizeRatio;
|
|
95
|
+
URL.revokeObjectURL(img.src);
|
|
96
|
+
};
|
|
97
|
+
img.src = URL.createObjectURL(changes.srcData.currentValue.nativeFile);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.src = this.fileServiceConfig.getMediaSrc(this.fileSize, changes.srcData.currentValue, this.srcOptions);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (changes.srcUrl) {
|
|
104
|
+
this.src = changes.srcUrl.currentValue?.src;
|
|
105
|
+
if (this.src) {
|
|
106
|
+
this.srcUrlMimeType = changes.srcUrl.currentValue?.mimeType || 'image/png';
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.srcUrlMimeType = undefined;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FileComponent, deps: [{ token: UI_FILESERVICE, optional: true }, { token: i1.DomSanitizer }, { token: i2.UiFileService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FileComponent, selector: "ui-file", inputs: { fileSize: "fileSize", srcOptions: "srcOptions", srcData: "srcData", srcUrl: "srcUrl" }, host: { properties: { "style.width": "this.width", "style.maxWidth": "this.maxWidth", "style.height": "this.height", "style.maxHeight": "this.maxHeight" } }, usesOnChanges: true, ngImport: i0, template: "<mat-spinner *ngIf=\"visible\"></mat-spinner>\r\n<img *ngIf=\"!isVideo && useRetinaSrc\" [src]=\"src\" [srcset]=\"src + ' 2x'\"/>\r\n<img *ngIf=\"!isVideo && !useRetinaSrc\" [src]=\"src\"/>\r\n<video *ngIf=\"isVideo\" muted controls [src]=\"src\"></video>\r\n\r\n", styles: [":host{display:flex;align-items:center;justify-content:center;position:relative}:host img,:host video{max-width:100%;max-height:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
|
|
115
|
+
}
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FileComponent, decorators: [{
|
|
117
|
+
type: Component,
|
|
118
|
+
args: [{ selector: 'ui-file', template: "<mat-spinner *ngIf=\"visible\"></mat-spinner>\r\n<img *ngIf=\"!isVideo && useRetinaSrc\" [src]=\"src\" [srcset]=\"src + ' 2x'\"/>\r\n<img *ngIf=\"!isVideo && !useRetinaSrc\" [src]=\"src\"/>\r\n<video *ngIf=\"isVideo\" muted controls [src]=\"src\"></video>\r\n\r\n", styles: [":host{display:flex;align-items:center;justify-content:center;position:relative}:host img,:host video{max-width:100%;max-height:100%}\n"] }]
|
|
119
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
120
|
+
type: Optional
|
|
121
|
+
}, {
|
|
122
|
+
type: Inject,
|
|
123
|
+
args: [UI_FILESERVICE]
|
|
124
|
+
}] }, { type: i1.DomSanitizer }, { type: i2.UiFileService }]; }, propDecorators: { fileSize: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], srcOptions: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], srcData: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], srcUrl: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], width: [{
|
|
133
|
+
type: HostBinding,
|
|
134
|
+
args: ['style.width']
|
|
135
|
+
}], maxWidth: [{
|
|
136
|
+
type: HostBinding,
|
|
137
|
+
args: ['style.maxWidth']
|
|
138
|
+
}], height: [{
|
|
139
|
+
type: HostBinding,
|
|
140
|
+
args: ['style.height']
|
|
141
|
+
}], maxHeight: [{
|
|
142
|
+
type: HostBinding,
|
|
143
|
+
args: ['style.maxHeight']
|
|
144
|
+
}] } });
|
|
145
145
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBa0IsY0FBYyxFQUFpQixNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFRNUYsTUFBTSxPQUFPLGFBQWE7SUFNeEIsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JELE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNILENBQUM7SUFTRCxJQUNJLEtBQUs7UUFDUCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDbkMsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO2FBQ25DO1NBQ0Y7YUFBTTtZQUNM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QyxnQkFBZ0I7Z0JBU3pCLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxjQUFjO2dCQWN2QixTQUFTO3NCQURaLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE9wdGlvbmFsLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElVaUZpbGVTZXJ2aWNlLCBVSV9GSUxFU0VSVklDRSwgVWlGaWxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3VpLWZpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1maWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBmaWxlU2l6ZSA9ICdkZWZhdWx0JztcclxuICBASW5wdXQoKSBzcmNPcHRpb25zO1xyXG4gIEBJbnB1dCgpIHNyY0RhdGE6IGFueTtcclxuICBASW5wdXQoKSBzcmNVcmw6IHsgc3JjOiBzdHJpbmcsIG1pbWVUeXBlPzogc3RyaW5nIH07XHJcbiAgZ2V0IGZpdEltYWdlRmlsZVNpemUoKSB7XHJcbiAgICBpZiAoIXRoaXMuZmlsZVNlcnZpY2VDb25maWcuaW1hZ2VTaXplc1t0aGlzLmZpbGVTaXplXSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdNaXNzaW5nIGZpbGVzaXplIGZvciAnICsgdGhpcy5maWxlU2l6ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5maWxlU2VydmljZUNvbmZpZy5pbWFnZVNpemVzW3RoaXMuZmlsZVNpemVdWzBdIDwgMCB8fCB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmltYWdlU2l6ZXNbdGhpcy5maWxlU2l6ZV1bMV0gPCAwXHJcbiAgfVxyXG5cclxuICB2aXNpYmxlID0gZmFsc2U7XHJcbiAgc3JjO1xyXG4gIHNyY1VybE1pbWVUeXBlO1xyXG4gIG5hdGl2ZUZpbGVTaXplUmF0aW8gPSAtMTtcclxuICBuYXRpdmVGaWxlV2lkdGg7XHJcbiAgbmF0aXZlRmlsZUhlaWdodDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXHJcbiAgZ2V0IHdpZHRoKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5maXRJbWFnZUZpbGVTaXplKSB7XHJcbiAgICAgIGlmICh0aGlzLm5hdGl2ZUZpbGVTaXplUmF0aW8gPT09IC0xKSB7XHJcbiAgICAgICAgcmV0dXJuICcxMDAlJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGaWxlV2lkdGggKyAncHgnXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmltYWdlU2l6ZXNbdGhpcy5maWxlU2l6ZV0gPyB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmltYWdlU2l6ZXNbdGhpcy5maWxlU2l6ZV1bMF0gKyAncHgnIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXhXaWR0aCcpXHJcbiAgZ2V0IG1heFdpZHRoKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5maWxlU2VydmljZUNvbmZpZy5pbWFnZVNpemVzW3RoaXMuZmlsZVNpemVdWzBdIDwgMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy53aWR0aDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmltYWdlU2l6ZXNbdGhpcy5maWxlU2l6ZV0gPyB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmltYWdlU2l6ZXNbdGhpcy5maWxlU2l6ZV1bMF0gKyAncHgnIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKVxyXG4gIGdldCBoZWlnaHQoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmZpdEltYWdlRmlsZVNpemUpIHtcclxuICAgICAgaWYgKHRoaXMubmF0aXZlRmlsZVNpemVSYXRpbyA9PT0gLTEpIHtcclxuICAgICAgICByZXR1cm4gJzEwMCUnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZpbGVIZWlnaHQgKyAncHgnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5maWxlU2VydmljZUNvbmZpZy5pbWFnZVNpemVzW3RoaXMuZmlsZVNpemVdID8gdGhpcy5maWxlU2VydmljZUNvbmZpZy5pbWFnZVNpemVzW3RoaXMuZmlsZVNpemVdWzFdICsgJ3B4JyA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4SGVpZ2h0JylcclxuICBnZXQgbWF4SGVpZ2h0KCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5maWxlU2VydmljZUNvbmZpZy5pbWFnZVNpemVzW3RoaXMuZmlsZVNpemVdWzFdIDwgMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5oZWlnaHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5maWxlU2VydmljZUNvbmZpZy5pbWFnZVNpemVzW3RoaXMuZmlsZVNpemVdID8gdGhpcy5maWxlU2VydmljZUNvbmZpZy5pbWFnZVNpemVzW3RoaXMuZmlsZVNpemVdWzFdICsgJ3B4JyA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGdldCBpc1ZpZGVvKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWltZS5zdGFydHNXaXRoKCd2aWRlby8nKTtcclxuICB9XHJcblxyXG4gIGdldCBtaW1lKCkge1xyXG4gICAgaWYgKHRoaXMuc3JjVXJsTWltZVR5cGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3JjVXJsTWltZVR5cGVcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnNyY0RhdGEubmF0aXZlRmlsZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNyY0RhdGEubmF0aXZlRmlsZS50eXBlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmdldE1pbWVUeXBlKHRoaXMuc3JjRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgdXNlUmV0aW5hU3JjKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsZVNlcnZpY2VDb25maWcudXNlUmV0aW5hU3JjXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KFVJX0ZJTEVTRVJWSUNFKSBwcml2YXRlIGZpbGVTZXJ2aWNlQ29uZmlnOiBJVWlGaWxlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgZmlsZVNlcnZpY2U6IFVpRmlsZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLnNyY0RhdGEpIHtcclxuICAgICAgdGhpcy5uYXRpdmVGaWxlU2l6ZVJhdGlvID0gLTE7XHJcbiAgICAgIGlmIChjaGFuZ2VzLnNyY0RhdGEuY3VycmVudFZhbHVlLm5hdGl2ZUZpbGUpIHtcclxuICAgICAgICB0aGlzLnNyYyA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoVVJMLmNyZWF0ZU9iamVjdFVSTChjaGFuZ2VzLnNyY0RhdGEuY3VycmVudFZhbHVlLm5hdGl2ZUZpbGUpKTtcclxuXHJcbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XHJcblxyXG4gICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5maXRJbWFnZUZpbGVTaXplKSB7XHJcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRmlsZVNpemVSYXRpbyA9IE1hdGgubWF4KGltZy53aWR0aCAvIHRoaXMuZmlsZVNlcnZpY2VDb25maWcuaW1hZ2VTaXplc1t0aGlzLmZpbGVTaXplXVswXSxcclxuICAgICAgICAgICAgICAgIGltZy5oZWlnaHQgLyB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmltYWdlU2l6ZXNbdGhpcy5maWxlU2l6ZV1bMV0sIDEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5uYXRpdmVGaWxlU2l6ZVJhdGlvID0gMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubmF0aXZlRmlsZVdpZHRoID0gaW1nLndpZHRoIC8gdGhpcy5uYXRpdmVGaWxlU2l6ZVJhdGlvO1xyXG4gICAgICAgICAgdGhpcy5uYXRpdmVGaWxlSGVpZ2h0ID0gaW1nLmhlaWdodCAvIHRoaXMubmF0aXZlRmlsZVNpemVSYXRpbztcclxuICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoaW1nLnNyYyk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaW1nLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoY2hhbmdlcy5zcmNEYXRhLmN1cnJlbnRWYWx1ZS5uYXRpdmVGaWxlKTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zcmMgPSB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmdldE1lZGlhU3JjKHRoaXMuZmlsZVNpemUsIGNoYW5nZXMuc3JjRGF0YS5jdXJyZW50VmFsdWUsIHRoaXMuc3JjT3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzLnNyY1VybCkge1xyXG4gICAgICB0aGlzLnNyYyA9IGNoYW5nZXMuc3JjVXJsLmN1cnJlbnRWYWx1ZT8uc3JjO1xyXG4gICAgICBpZiAodGhpcy5zcmMpIHtcclxuICAgICAgICB0aGlzLnNyY1VybE1pbWVUeXBlID0gY2hhbmdlcy5zcmNVcmwuY3VycmVudFZhbHVlPy5taW1lVHlwZSB8fCAnaW1hZ2UvcG5nJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNyY1VybE1pbWVUeXBlID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtc3Bpbm5lciAqbmdJZj1cInZpc2libGVcIj48L21hdC1zcGlubmVyPlxyXG48aW1nICpuZ0lmPVwiIWlzVmlkZW8gJiYgdXNlUmV0aW5hU3JjXCIgW3NyY109XCJzcmNcIiBbc3Jjc2V0XT1cInNyYyArICcgMngnXCIvPlxyXG48aW1nICpuZ0lmPVwiIWlzVmlkZW8gJiYgIXVzZVJldGluYVNyY1wiIFtzcmNdPVwic3JjXCIvPlxyXG48dmlkZW8gKm5nSWY9XCJpc1ZpZGVvXCIgbXV0ZWQgY29udHJvbHMgW3NyY109XCJzcmNcIj48L3ZpZGVvPlxyXG5cclxuIl19
|