@skyux/forms 5.0.1 → 5.5.0-beta.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 +6 -4
- package/bundles/skyux-forms.umd.js +116 -116
- package/documentation.json +1412 -961
- package/esm2015/index.js +43 -0
- package/esm2015/index.js.map +1 -0
- package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js +37 -0
- package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js.map +1 -0
- package/esm2015/lib/modules/character-counter/character-counter.directive.js +83 -0
- package/esm2015/lib/modules/character-counter/character-counter.directive.js.map +1 -0
- package/esm2015/lib/modules/character-counter/character-counter.module.js +46 -0
- package/esm2015/lib/modules/character-counter/character-counter.module.js.map +1 -0
- package/esm2015/lib/modules/checkbox/checkbox-change.js +6 -0
- package/esm2015/lib/modules/checkbox/checkbox-change.js.map +1 -0
- package/esm2015/lib/modules/checkbox/checkbox-label.component.js +17 -0
- package/esm2015/lib/modules/checkbox/checkbox-label.component.js.map +1 -0
- package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js +32 -0
- package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js.map +1 -0
- package/esm2015/lib/modules/checkbox/checkbox.component.js +240 -0
- package/esm2015/lib/modules/checkbox/checkbox.component.js.map +1 -0
- package/esm2015/lib/modules/checkbox/checkbox.module.js +34 -0
- package/esm2015/lib/modules/checkbox/checkbox.module.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js +19 -0
- package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-attachment.component.js +331 -0
- package/esm2015/lib/modules/file-attachment/file-attachment.component.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-attachment.service.js +94 -0
- package/esm2015/lib/modules/file-attachment/file-attachment.service.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-attachments.module.js +68 -0
- package/esm2015/lib/modules/file-attachment/file-attachments.module.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-drop.component.js +223 -0
- package/esm2015/lib/modules/file-attachment/file-drop.component.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-item-error-type.js +2 -0
- package/esm2015/lib/modules/file-attachment/file-item-error-type.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-item.component.js +114 -0
- package/esm2015/lib/modules/file-attachment/file-item.component.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-item.js +2 -0
- package/esm2015/lib/modules/file-attachment/file-item.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-item.service.js +72 -0
- package/esm2015/lib/modules/file-attachment/file-item.service.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-link.js +2 -0
- package/esm2015/lib/modules/file-attachment/file-link.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/file-size.pipe.js +61 -0
- package/esm2015/lib/modules/file-attachment/file-size.pipe.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/types/file-attachment-change.js +2 -0
- package/esm2015/lib/modules/file-attachment/types/file-attachment-change.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/types/file-attachment-click.js +2 -0
- package/esm2015/lib/modules/file-attachment/types/file-attachment-click.js.map +1 -0
- package/esm2015/lib/modules/file-attachment/types/file-drop-change.js +2 -0
- package/esm2015/lib/modules/file-attachment/types/file-drop-change.js.map +1 -0
- package/esm2015/lib/modules/input-box/input-box-adapter.service.js +35 -0
- package/esm2015/lib/modules/input-box/input-box-adapter.service.js.map +1 -0
- package/esm2015/lib/modules/input-box/input-box-host.service.js +19 -0
- package/esm2015/lib/modules/input-box/input-box-host.service.js.map +1 -0
- package/esm2015/lib/modules/input-box/input-box-populate-args.js +2 -0
- package/esm2015/lib/modules/input-box/input-box-populate-args.js.map +1 -0
- package/esm2015/{modules → lib/modules}/input-box/input-box.component.js +5 -5
- package/esm2015/lib/modules/input-box/input-box.component.js.map +1 -0
- package/esm2015/lib/modules/input-box/input-box.module.js +19 -0
- package/esm2015/lib/modules/input-box/input-box.module.js.map +1 -0
- package/esm2015/lib/modules/radio/radio-group.component.js +223 -0
- package/esm2015/lib/modules/radio/radio-group.component.js.map +1 -0
- package/esm2015/lib/modules/radio/radio-label.component.js +26 -0
- package/esm2015/lib/modules/radio/radio-label.component.js.map +1 -0
- package/esm2015/lib/modules/radio/radio.component.js +262 -0
- package/esm2015/lib/modules/radio/radio.component.js.map +1 -0
- package/esm2015/lib/modules/radio/radio.module.js +28 -0
- package/esm2015/lib/modules/radio/radio.module.js.map +1 -0
- package/esm2015/lib/modules/radio/types/radio-change.js +2 -0
- package/esm2015/lib/modules/radio/types/radio-change.js.map +1 -0
- package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js +124 -0
- package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js.map +1 -0
- package/esm2015/lib/modules/selection-box/selection-box-description.component.js +17 -0
- package/esm2015/lib/modules/selection-box/selection-box-description.component.js.map +1 -0
- package/esm2015/lib/modules/selection-box/selection-box-grid.component.js +132 -0
- package/esm2015/lib/modules/selection-box/selection-box-grid.component.js.map +1 -0
- package/esm2015/lib/modules/selection-box/selection-box-header.component.js +17 -0
- package/esm2015/lib/modules/selection-box/selection-box-header.component.js.map +1 -0
- package/esm2015/lib/modules/selection-box/selection-box.component.js +107 -0
- package/esm2015/lib/modules/selection-box/selection-box.component.js.map +1 -0
- package/esm2015/lib/modules/selection-box/selection-box.module.js +40 -0
- package/esm2015/lib/modules/selection-box/selection-box.module.js.map +1 -0
- package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items-type.js +2 -0
- package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items-type.js.map +1 -0
- package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items.js +2 -0
- package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items.js.map +1 -0
- package/esm2015/lib/modules/shared/forms-utility.js +26 -0
- package/esm2015/lib/modules/shared/forms-utility.js.map +1 -0
- package/esm2015/lib/modules/shared/sky-forms-resources.module.js +89 -0
- package/esm2015/lib/modules/shared/sky-forms-resources.module.js.map +1 -0
- package/esm2015/lib/modules/toggle-switch/toggle-switch-label.component.js +18 -0
- package/esm2015/lib/modules/toggle-switch/toggle-switch-label.component.js.map +1 -0
- package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js +158 -0
- package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js.map +1 -0
- package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js +20 -0
- package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js.map +1 -0
- package/esm2015/lib/modules/toggle-switch/types/toggle-switch-change.js +2 -0
- package/esm2015/lib/modules/toggle-switch/types/toggle-switch-change.js.map +1 -0
- package/esm2015/skyux-forms.js +2 -2
- package/esm2015/skyux-forms.js.map +1 -0
- package/esm2015/testing/checkbox-fixture.js +1 -1
- package/esm2015/testing/checkbox-fixture.js.map +1 -0
- package/esm2015/testing/public-api.js +1 -1
- package/esm2015/testing/public-api.js.map +1 -0
- package/esm2015/testing/skyux-forms-testing.js +1 -1
- package/esm2015/testing/skyux-forms-testing.js.map +1 -0
- package/fesm2015/skyux-forms-testing.js.map +1 -1
- package/fesm2015/skyux-forms.js +145 -145
- package/fesm2015/skyux-forms.js.map +1 -1
- package/index.d.ts +40 -0
- package/{modules → lib/modules}/character-counter/character-counter-indicator.component.d.ts +0 -0
- package/{modules → lib/modules}/character-counter/character-counter.directive.d.ts +0 -0
- package/{modules → lib/modules}/character-counter/character-counter.module.d.ts +0 -0
- package/{modules → lib/modules}/checkbox/checkbox-change.d.ts +0 -0
- package/{modules → lib/modules}/checkbox/checkbox-label.component.d.ts +0 -0
- package/{modules → lib/modules}/checkbox/checkbox-required-validator.directive.d.ts +0 -0
- package/{modules → lib/modules}/checkbox/checkbox.component.d.ts +3 -3
- package/{modules → lib/modules}/checkbox/checkbox.module.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-attachment-label.component.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-attachment.component.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-attachment.service.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-attachments.module.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-drop.component.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-item-error-type.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-item.component.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-item.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-item.service.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-link.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/file-size.pipe.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/types/file-attachment-change.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/types/file-attachment-click.d.ts +0 -0
- package/{modules → lib/modules}/file-attachment/types/file-drop-change.d.ts +0 -0
- package/{modules → lib/modules}/input-box/input-box-adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/input-box/input-box-host.service.d.ts +0 -0
- package/{modules → lib/modules}/input-box/input-box-populate-args.d.ts +0 -0
- package/{modules → lib/modules}/input-box/input-box.component.d.ts +0 -0
- package/{modules → lib/modules}/input-box/input-box.module.d.ts +0 -0
- package/{modules → lib/modules}/radio/radio-group.component.d.ts +2 -2
- package/{modules → lib/modules}/radio/radio-label.component.d.ts +0 -0
- package/{modules → lib/modules}/radio/radio.component.d.ts +0 -0
- package/{modules → lib/modules}/radio/radio.module.d.ts +0 -0
- package/{modules → lib/modules}/radio/types/radio-change.d.ts +0 -0
- package/{modules → lib/modules}/selection-box/selection-box-adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/selection-box/selection-box-description.component.d.ts +0 -0
- package/{modules → lib/modules}/selection-box/selection-box-grid.component.d.ts +0 -0
- package/{modules → lib/modules}/selection-box/selection-box-header.component.d.ts +0 -0
- package/{modules → lib/modules}/selection-box/selection-box.component.d.ts +0 -0
- package/{modules → lib/modules}/selection-box/selection-box.module.d.ts +0 -0
- package/{modules → lib/modules}/selection-box/types/selection-box-grid-align-items-type.d.ts +0 -0
- package/{modules → lib/modules}/selection-box/types/selection-box-grid-align-items.d.ts +0 -0
- package/{modules → lib/modules}/shared/forms-utility.d.ts +0 -0
- package/{modules → lib/modules}/shared/sky-forms-resources.module.d.ts +0 -0
- package/{modules → lib/modules}/toggle-switch/toggle-switch-label.component.d.ts +0 -0
- package/{modules → lib/modules}/toggle-switch/toggle-switch.component.d.ts +0 -0
- package/{modules → lib/modules}/toggle-switch/toggle-switch.module.d.ts +0 -0
- package/{modules → lib/modules}/toggle-switch/types/toggle-switch-change.d.ts +0 -0
- package/package.json +21 -7
- package/skyux-forms.d.ts +1 -1
- package/LICENSE +0 -21
- package/bundles/skyux-forms-testing.umd.js.map +0 -1
- package/bundles/skyux-forms.umd.js.map +0 -1
- package/esm2015/modules/character-counter/character-counter-indicator.component.js +0 -37
- package/esm2015/modules/character-counter/character-counter.directive.js +0 -82
- package/esm2015/modules/character-counter/character-counter.module.js +0 -46
- package/esm2015/modules/checkbox/checkbox-change.js +0 -6
- package/esm2015/modules/checkbox/checkbox-label.component.js +0 -17
- package/esm2015/modules/checkbox/checkbox-required-validator.directive.js +0 -32
- package/esm2015/modules/checkbox/checkbox.component.js +0 -239
- package/esm2015/modules/checkbox/checkbox.module.js +0 -34
- package/esm2015/modules/file-attachment/file-attachment-label.component.js +0 -19
- package/esm2015/modules/file-attachment/file-attachment.component.js +0 -328
- package/esm2015/modules/file-attachment/file-attachment.service.js +0 -94
- package/esm2015/modules/file-attachment/file-attachments.module.js +0 -68
- package/esm2015/modules/file-attachment/file-drop.component.js +0 -223
- package/esm2015/modules/file-attachment/file-item-error-type.js +0 -2
- package/esm2015/modules/file-attachment/file-item.component.js +0 -113
- package/esm2015/modules/file-attachment/file-item.js +0 -2
- package/esm2015/modules/file-attachment/file-item.service.js +0 -72
- package/esm2015/modules/file-attachment/file-link.js +0 -2
- package/esm2015/modules/file-attachment/file-size.pipe.js +0 -59
- package/esm2015/modules/file-attachment/types/file-attachment-change.js +0 -2
- package/esm2015/modules/file-attachment/types/file-attachment-click.js +0 -2
- package/esm2015/modules/file-attachment/types/file-drop-change.js +0 -2
- package/esm2015/modules/input-box/input-box-adapter.service.js +0 -35
- package/esm2015/modules/input-box/input-box-host.service.js +0 -19
- package/esm2015/modules/input-box/input-box-populate-args.js +0 -2
- package/esm2015/modules/input-box/input-box.module.js +0 -19
- package/esm2015/modules/radio/radio-group.component.js +0 -222
- package/esm2015/modules/radio/radio-label.component.js +0 -26
- package/esm2015/modules/radio/radio.component.js +0 -262
- package/esm2015/modules/radio/radio.module.js +0 -28
- package/esm2015/modules/radio/types/radio-change.js +0 -2
- package/esm2015/modules/selection-box/selection-box-adapter.service.js +0 -124
- package/esm2015/modules/selection-box/selection-box-description.component.js +0 -17
- package/esm2015/modules/selection-box/selection-box-grid.component.js +0 -129
- package/esm2015/modules/selection-box/selection-box-header.component.js +0 -17
- package/esm2015/modules/selection-box/selection-box.component.js +0 -106
- package/esm2015/modules/selection-box/selection-box.module.js +0 -40
- package/esm2015/modules/selection-box/types/selection-box-grid-align-items-type.js +0 -2
- package/esm2015/modules/selection-box/types/selection-box-grid-align-items.js +0 -2
- package/esm2015/modules/shared/forms-utility.js +0 -26
- package/esm2015/modules/shared/sky-forms-resources.module.js +0 -89
- package/esm2015/modules/toggle-switch/toggle-switch-label.component.js +0 -18
- package/esm2015/modules/toggle-switch/toggle-switch.component.js +0 -158
- package/esm2015/modules/toggle-switch/toggle-switch.module.js +0 -20
- package/esm2015/modules/toggle-switch/types/toggle-switch-change.js +0 -2
- package/esm2015/public-api.js +0 -43
- package/public-api.d.ts +0 -40
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild, } from '@angular/core';
|
|
2
|
-
import { SkyFileAttachmentService } from './file-attachment.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./file-attachment.service";
|
|
5
|
-
import * as i2 from "@skyux/indicators";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "@angular/forms";
|
|
8
|
-
import * as i5 from "@skyux/i18n";
|
|
9
|
-
/**
|
|
10
|
-
* Provides an element to attach multiple files where users can browse or drag and drop local files
|
|
11
|
-
* or provide hyperlinks to external files. You can leave the contents of the component
|
|
12
|
-
* blank to display the drop zone's default UI, or you can specify custom content to
|
|
13
|
-
* display instead. When the module initializes, it disables the ability to drag and
|
|
14
|
-
* drop files for the entire window to prevent the browser from opening files that are
|
|
15
|
-
* accidentally dropped outside the target zone. If you implement your own file drop functionality
|
|
16
|
-
* outside of the file drop component, you can place the `sky-file-drop-target` CSS class
|
|
17
|
-
* on the element that receives drop events to exempt it from the drop exclusion rule.
|
|
18
|
-
*/
|
|
19
|
-
export class SkyFileDropComponent {
|
|
20
|
-
constructor(fileAttachmentService) {
|
|
21
|
-
this.fileAttachmentService = fileAttachmentService;
|
|
22
|
-
/**
|
|
23
|
-
* Fires when users add or remove files.
|
|
24
|
-
*/
|
|
25
|
-
this.filesChanged = new EventEmitter();
|
|
26
|
-
/**
|
|
27
|
-
* Fires when the link input box triggers a blur event.
|
|
28
|
-
*/
|
|
29
|
-
this.linkInputBlur = new EventEmitter();
|
|
30
|
-
/**
|
|
31
|
-
* Fires when users add or remove links.
|
|
32
|
-
*/
|
|
33
|
-
this.linkChanged = new EventEmitter();
|
|
34
|
-
/**
|
|
35
|
-
* Specifies the minimum size in bytes for valid files.
|
|
36
|
-
*/
|
|
37
|
-
this.minFileSize = 0;
|
|
38
|
-
/**
|
|
39
|
-
* Specifies the maximum size in bytes for valid files.
|
|
40
|
-
*/
|
|
41
|
-
this.maxFileSize = 500000;
|
|
42
|
-
/**
|
|
43
|
-
* Indicates whether users can drag and drop multiple files at the same time.
|
|
44
|
-
*/
|
|
45
|
-
this.multiple = true;
|
|
46
|
-
/**
|
|
47
|
-
* Indicates whether to disable the option to browse for files to attach.
|
|
48
|
-
*/
|
|
49
|
-
this.noClick = false;
|
|
50
|
-
/**
|
|
51
|
-
* Indicates whether to display the option to attach files from URLs rather than from local devices.
|
|
52
|
-
*/
|
|
53
|
-
this.allowLinks = false;
|
|
54
|
-
this.rejectedOver = false;
|
|
55
|
-
this.acceptedOver = false;
|
|
56
|
-
}
|
|
57
|
-
ngOnDestroy() {
|
|
58
|
-
this.filesChanged.complete();
|
|
59
|
-
this.linkChanged.complete();
|
|
60
|
-
this.linkInputBlur.complete();
|
|
61
|
-
}
|
|
62
|
-
dropClicked() {
|
|
63
|
-
if (!this.noClick) {
|
|
64
|
-
this.inputEl.nativeElement.click();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
fileChangeEvent(fileChangeEvent) {
|
|
68
|
-
this.handleFiles(fileChangeEvent.target.files);
|
|
69
|
-
}
|
|
70
|
-
fileDragEnter(dragEnterEvent) {
|
|
71
|
-
// Save this target to know when the drag event leaves
|
|
72
|
-
this.enterEventTarget = dragEnterEvent.target;
|
|
73
|
-
dragEnterEvent.stopPropagation();
|
|
74
|
-
dragEnterEvent.preventDefault();
|
|
75
|
-
}
|
|
76
|
-
fileDragOver(dragOverEvent) {
|
|
77
|
-
const transfer = dragOverEvent.dataTransfer;
|
|
78
|
-
dragOverEvent.stopPropagation();
|
|
79
|
-
dragOverEvent.preventDefault();
|
|
80
|
-
if (transfer) {
|
|
81
|
-
if (transfer.items) {
|
|
82
|
-
const files = transfer.items;
|
|
83
|
-
for (let index = 0; index < files.length; index++) {
|
|
84
|
-
const file = files[index];
|
|
85
|
-
if (file.type &&
|
|
86
|
-
this.fileAttachmentService.fileTypeRejected(file.type, this.acceptedTypes)) {
|
|
87
|
-
this.rejectedOver = true;
|
|
88
|
-
this.acceptedOver = false;
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
if (files.length > 0 && !this.acceptedOver) {
|
|
93
|
-
this.rejectedOver = false;
|
|
94
|
-
this.acceptedOver = true;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
else /* istanbul ignore next: untestable */ if (transfer.files) {
|
|
98
|
-
// If the browser does not support DataTransfer.items,
|
|
99
|
-
// defer file-type checking to drop handler.
|
|
100
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility
|
|
101
|
-
this.rejectedOver = false;
|
|
102
|
-
this.acceptedOver = true;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
fileDrop(dropEvent) {
|
|
107
|
-
dropEvent.stopPropagation();
|
|
108
|
-
dropEvent.preventDefault();
|
|
109
|
-
this.enterEventTarget = undefined;
|
|
110
|
-
this.rejectedOver = false;
|
|
111
|
-
this.acceptedOver = false;
|
|
112
|
-
if (dropEvent.dataTransfer && dropEvent.dataTransfer.files) {
|
|
113
|
-
const hasDirectory = this.fileAttachmentService.hasDirectory(dropEvent.dataTransfer.files);
|
|
114
|
-
const invalidNumberOfFiles = !this.multiple && dropEvent.dataTransfer.files.length > 1;
|
|
115
|
-
if (hasDirectory || invalidNumberOfFiles) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
this.handleFiles(dropEvent.dataTransfer.files);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
fileDragLeave(dragLeaveEvent) {
|
|
122
|
-
if (this.enterEventTarget === dragLeaveEvent.target) {
|
|
123
|
-
this.rejectedOver = false;
|
|
124
|
-
this.acceptedOver = false;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
addLinkEnter(event) {
|
|
128
|
-
if (event.which === 13) {
|
|
129
|
-
this.addLink(event);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
addLink(event) {
|
|
133
|
-
event.preventDefault();
|
|
134
|
-
this.linkChanged.emit({ url: this.linkUrl });
|
|
135
|
-
this.linkUrl = undefined;
|
|
136
|
-
}
|
|
137
|
-
onLinkBlur() {
|
|
138
|
-
this.linkInputBlur.emit();
|
|
139
|
-
}
|
|
140
|
-
emitFileChangeEvent(totalFiles, rejectedFileArray, validFileArray) {
|
|
141
|
-
if (totalFiles === rejectedFileArray.length + validFileArray.length) {
|
|
142
|
-
this.filesChanged.emit({
|
|
143
|
-
files: validFileArray,
|
|
144
|
-
rejectedFiles: rejectedFileArray,
|
|
145
|
-
});
|
|
146
|
-
this.inputEl.nativeElement.value = '';
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
filesRejected(file, validFileArray, rejectedFileArray, totalFiles) {
|
|
150
|
-
rejectedFileArray.push(file);
|
|
151
|
-
this.emitFileChangeEvent(totalFiles, rejectedFileArray, validFileArray);
|
|
152
|
-
}
|
|
153
|
-
loadFile(fileDrop, file, validFileArray, rejectedFileArray, totalFiles) {
|
|
154
|
-
const reader = new FileReader();
|
|
155
|
-
reader.addEventListener('load', (event) => {
|
|
156
|
-
file.url = event.target.result;
|
|
157
|
-
validFileArray.push(file);
|
|
158
|
-
fileDrop.emitFileChangeEvent(totalFiles, rejectedFileArray, validFileArray);
|
|
159
|
-
});
|
|
160
|
-
reader.addEventListener('error', (event) => {
|
|
161
|
-
fileDrop.filesRejected(file, validFileArray, rejectedFileArray, totalFiles);
|
|
162
|
-
});
|
|
163
|
-
reader.addEventListener('abort', (event) => {
|
|
164
|
-
fileDrop.filesRejected(file, validFileArray, rejectedFileArray, totalFiles);
|
|
165
|
-
});
|
|
166
|
-
reader.readAsDataURL(file.file);
|
|
167
|
-
}
|
|
168
|
-
handleFiles(files) {
|
|
169
|
-
let validFileArray = [];
|
|
170
|
-
let rejectedFileArray = [];
|
|
171
|
-
let totalFiles = files.length;
|
|
172
|
-
let fileDrop = this;
|
|
173
|
-
// tslint:disable-next-line: max-line-length
|
|
174
|
-
let processedFiles = this.fileAttachmentService.checkFiles(files, this.minFileSize, this.maxFileSize, this.acceptedTypes, this.validateFn);
|
|
175
|
-
for (let file of processedFiles) {
|
|
176
|
-
if (file.errorType) {
|
|
177
|
-
this.filesRejected(file, validFileArray, rejectedFileArray, totalFiles);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
this.loadFile(fileDrop, file, validFileArray, rejectedFileArray, totalFiles);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
SkyFileDropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileDropComponent, deps: [{ token: i1.SkyFileAttachmentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
-
SkyFileDropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyFileDropComponent, selector: "sky-file-drop", inputs: { fileUploadAriaLabel: "fileUploadAriaLabel", linkUploadAriaLabel: "linkUploadAriaLabel", minFileSize: "minFileSize", maxFileSize: "maxFileSize", multiple: "multiple", validateFn: "validateFn", acceptedTypes: "acceptedTypes", noClick: "noClick", allowLinks: "allowLinks" }, outputs: { filesChanged: "filesChanged", linkInputBlur: "linkInputBlur", linkChanged: "linkChanged" }, providers: [SkyFileAttachmentService], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"sky-file-drop-row\"\n [ngClass]=\"{ 'sky-file-drop-allow-links': allowLinks }\"\n>\n <div\n class=\"sky-file-drop-col\"\n [ngClass]=\"{\n 'sky-file-drop-accept': acceptedOver,\n 'sky-file-drop-reject': rejectedOver\n }\"\n >\n <button\n class=\"sky-file-drop sky-file-drop-target\"\n type=\"button\"\n (click)=\"dropClicked()\"\n (dragover)=\"fileDragOver($event)\"\n (dragenter)=\"fileDragEnter($event)\"\n (dragleave)=\"fileDragLeave($event)\"\n (drop)=\"fileDrop($event)\"\n [attr.aria-label]=\"\n fileUploadAriaLabel ||\n ('skyux_file_attachment_file_upload_drag_or_click' | skyLibResources)\n \"\n ></button>\n\n <input\n tabindex=\"-1\"\n aria-hidden=\"true\"\n type=\"file\"\n class=\"sky-file-input-hidden\"\n [attr.multiple]=\"multiple ? multiple : null\"\n [attr.accept]=\"acceptedTypes ? acceptedTypes : null\"\n (change)=\"fileChangeEvent($event)\"\n #fileInput\n />\n\n <div\n class=\"sky-file-drop-contents sky-padding-even-default\"\n *ngIf=\"customEl.children.length === 0\"\n >\n <div class=\"sky-file-drop-contents-not-over\">\n <div class=\"sky-file-drop-text-header sky-headline\">\n {{\n 'skyux_file_attachment_file_upload_drag_file_here' | skyLibResources\n }}\n </div>\n <div class=\"sky-file-drop-text\">\n {{\n 'skyux_file_attachment_file_upload_or_click_to_browse'\n | skyLibResources\n }}\n </div>\n <sky-icon icon=\"cloud-upload\" class=\"sky-file-upload-icon\"></sky-icon>\n </div>\n\n <!-- This will appear when file is dragged over and is valid -->\n <div class=\"sky-file-drop-contents-accept\">\n <div class=\"sky-file-drop-text-header sky-headline\">\n {{\n 'skyux_file_attachment_file_upload_drop_files_here'\n | skyLibResources\n }}\n </div>\n <sky-icon icon=\"bullseye\" class=\"sky-file-upload-icon\"></sky-icon>\n </div>\n\n <!-- This will appear when file is dragged over and is invalid -->\n <div class=\"sky-file-drop-contents-reject\">\n <div class=\"sky-file-drop-text-header sky-headline\">\n {{\n 'skyux_file_attachment_file_upload_invalid_file' | skyLibResources\n }}\n </div>\n <sky-icon icon=\"times-circle\" class=\"sky-file-upload-icon\"></sky-icon>\n </div>\n </div>\n\n <div class=\"sky-file-drop-contents-custom\" #customEl>\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"sky-file-drop-col\" *ngIf=\"allowLinks\">\n <div class=\"sky-file-drop-contents sky-padding-even-default\">\n <div class=\"sky-file-drop-link\">\n <div class=\"sky-file-drop-link-header\">\n <div class=\"sky-file-drop-text-header sky-headline\">\n {{\n 'skyux_file_attachment_file_upload_paste_link' | skyLibResources\n }}\n </div>\n </div>\n <div class=\"sky-form-group\">\n <input\n type=\"text\"\n class=\"sky-form-control\"\n [attr.aria-label]=\"\n linkUploadAriaLabel ||\n ('skyux_file_attachment_file_upload_link_input' | skyLibResources)\n \"\n [attr.placeholder]=\"\n 'skyux_file_attachment_file_upload_link_placeholder'\n | skyLibResources\n \"\n [(ngModel)]=\"linkUrl\"\n (blur)=\"onLinkBlur()\"\n (keyup)=\"addLinkEnter($event)\"\n />\n </div>\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!linkUrl\"\n (click)=\"addLink($event)\"\n >\n {{\n 'skyux_file_attachment_file_upload_paste_link_done'\n | skyLibResources\n }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sky-file-drop-col{margin-bottom:10px;padding-left:5px;padding-right:5px;position:relative}:host .sky-file-drop-row{display:block}:host .sky-file-drop-col{flex-basis:auto}:host .sky-file-drop-allow-links .sky-file-drop-col{flex-basis:auto}:host-context(.sky-responsive-container-xs) .sky-file-drop-row,:host-context(.sky-responsive-container-sm) .sky-file-drop-row,:host-context(.sky-responsive-container-md) .sky-file-drop-row,:host-context(.sky-responsive-container-lg) .sky-file-drop-row{display:block}:host-context(.sky-responsive-container-xs) .sky-file-drop-col,:host-context(.sky-responsive-container-sm) .sky-file-drop-col,:host-context(.sky-responsive-container-md) .sky-file-drop-col,:host-context(.sky-responsive-container-lg) .sky-file-drop-col{flex-basis:auto}:host-context(.sky-responsive-container-xs) .sky-file-drop-allow-links .sky-file-drop-col,:host-context(.sky-responsive-container-sm) .sky-file-drop-allow-links .sky-file-drop-col,:host-context(.sky-responsive-container-md) .sky-file-drop-allow-links .sky-file-drop-col,:host-context(.sky-responsive-container-lg) .sky-file-drop-allow-links .sky-file-drop-col{flex-basis:auto}@media (min-width: 768px){:host .sky-file-drop-row{display:flex}:host .sky-file-drop-col{flex-basis:100%}:host .sky-file-drop-allow-links .sky-file-drop-col{flex-basis:50%}}:host-context(.sky-responsive-container-sm) .sky-file-drop-row,:host-context(.sky-responsive-container-md) .sky-file-drop-row,:host-context(.sky-responsive-container-lg) .sky-file-drop-row{display:flex}:host-context(.sky-responsive-container-sm) .sky-file-drop-col,:host-context(.sky-responsive-container-md) .sky-file-drop-col,:host-context(.sky-responsive-container-lg) .sky-file-drop-col{flex-basis:100%}:host-context(.sky-responsive-container-sm) .sky-file-drop-allow-links .sky-file-drop-col,:host-context(.sky-responsive-container-md) .sky-file-drop-allow-links .sky-file-drop-col,:host-context(.sky-responsive-container-lg) .sky-file-drop-allow-links .sky-file-drop-col{flex-basis:50%}button.sky-file-drop{height:100%;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}button.sky-file-drop:hover{cursor:pointer}.sky-file-drop-contents{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;background-color:#eeeeef;color:#212327;cursor:pointer;width:100%;text-align:center;height:100%}.sky-file-drop-contents .sky-file-drop-link-header{margin-bottom:5px}.sky-file-drop-noclick .sky-file-drop-contents{cursor:default}.sky-file-drop-accept .sky-file-drop-contents,.sky-file-drop-reject .sky-file-drop-contents{border-style:dashed;border-width:1px}.sky-file-drop-accept .sky-file-drop-contents-not-over,.sky-file-drop-reject .sky-file-drop-contents-not-over{display:none}.sky-file-drop-accept .sky-file-drop-contents{border-color:#72bf44;color:#212327}.sky-file-drop-accept .sky-file-drop-contents-accept{display:block}.sky-file-drop-reject .sky-file-drop-contents{border-color:#ef4044;color:#212327}.sky-file-drop-reject .sky-file-drop-contents-reject{display:block}.sky-file-drop-contents-accept,.sky-file-drop-contents-reject{display:none}.sky-file-upload-icon{display:block;font-size:40px;max-height:40px;margin-top:10px}.sky-file-drop-link{cursor:default}.sky-file-drop-text-header{margin:0}.sky-file-drop-text{font-size:15px;margin-top:5px;margin-bottom:20px}.sky-file-drop-text,.sky-file-drop-text-header{line-height:1.1;display:block}.sky-file-upload-icon{color:#686c73}.sky-file-drop{background-color:transparent;border:none;display:block;-webkit-appearance:none;width:100%;padding:0}.sky-file-input-hidden{display:none}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i5.SkyLibResourcesPipe } });
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileDropComponent, decorators: [{
|
|
188
|
-
type: Component,
|
|
189
|
-
args: [{
|
|
190
|
-
selector: 'sky-file-drop',
|
|
191
|
-
templateUrl: './file-drop.component.html',
|
|
192
|
-
styleUrls: ['./file-drop.component.scss'],
|
|
193
|
-
providers: [SkyFileAttachmentService],
|
|
194
|
-
}]
|
|
195
|
-
}], ctorParameters: function () { return [{ type: i1.SkyFileAttachmentService }]; }, propDecorators: { filesChanged: [{
|
|
196
|
-
type: Output
|
|
197
|
-
}], linkInputBlur: [{
|
|
198
|
-
type: Output
|
|
199
|
-
}], linkChanged: [{
|
|
200
|
-
type: Output
|
|
201
|
-
}], fileUploadAriaLabel: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], linkUploadAriaLabel: [{
|
|
204
|
-
type: Input
|
|
205
|
-
}], minFileSize: [{
|
|
206
|
-
type: Input
|
|
207
|
-
}], maxFileSize: [{
|
|
208
|
-
type: Input
|
|
209
|
-
}], multiple: [{
|
|
210
|
-
type: Input
|
|
211
|
-
}], validateFn: [{
|
|
212
|
-
type: Input
|
|
213
|
-
}], acceptedTypes: [{
|
|
214
|
-
type: Input
|
|
215
|
-
}], noClick: [{
|
|
216
|
-
type: Input
|
|
217
|
-
}], allowLinks: [{
|
|
218
|
-
type: Input
|
|
219
|
-
}], inputEl: [{
|
|
220
|
-
type: ViewChild,
|
|
221
|
-
args: ['fileInput']
|
|
222
|
-
}] } });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWRyb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtZHJvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztBQUVyRTs7Ozs7Ozs7O0dBU0c7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBdUYvQixZQUFvQixxQkFBK0M7UUFBL0MsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUEwQjtRQXRGbkU7O1dBRUc7UUFFSSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBRTVEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWhEOztXQUVHO1FBRUksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBZ0JyRDs7V0FFRztRQUVJLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRS9COztXQUVHO1FBRUksZ0JBQVcsR0FBVyxNQUFNLENBQUM7UUFFcEM7O1dBRUc7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBaUJoQzs7V0FFRztRQUVJLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBSzVCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO0lBS2lDLENBQUM7SUFFaEUsV0FBVztR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T0EsV0FBVztzQkFEakIsTUFBTTtnQkFRQSxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBUUMsbUJBQW1CO3NCQUR6QixLQUFLO2dCQU9DLFdBQVc7c0JBRGpCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBUUMsVUFBVTtzQkFEaEIsS0FBSztnQkFTQyxhQUFhO3NCQURuQixLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSztnQkFPQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEVsZW1lbnRSZWYsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RmlsZUl0ZW0gfSBmcm9tICcuL2ZpbGUtaXRlbSc7XG5cbmltcG9ydCB7IFNreUZpbGVMaW5rIH0gZnJvbSAnLi9maWxlLWxpbmsnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcENoYW5nZSB9IGZyb20gJy4vdHlwZXMvZmlsZS1kcm9wLWNoYW5nZSc7XG5cbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50U2VydmljZSB9IGZyb20gJy4vZmlsZS1hdHRhY2htZW50LnNlcnZpY2UnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGFuIGVsZW1lbnQgdG8gYXR0YWNoIG11bHRpcGxlIGZpbGVzIHdoZXJlIHVzZXJzIGNhbiBicm93c2Ugb3IgZHJhZyBhbmQgZHJvcCBsb2NhbCBmaWxlc1xuICogb3IgcHJvdmlkZSBoeXBlcmxpbmtzIHRvIGV4dGVybmFsIGZpbGVzLiBZb3UgY2FuIGxlYXZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29tcG9uZW50XG4gKiBibGFuayB0byBkaXNwbGF5IHRoZSBkcm9wIHpvbmUncyBkZWZhdWx0IFVJLCBvciB5b3UgY2FuIHNwZWNpZnkgY3VzdG9tIGNvbnRlbnQgdG9cbiAqIGRpc3BsYXkgaW5zdGVhZC4gV2hlbiB0aGUgbW9kdWxlIGluaXRpYWxpemVzLCBpdCBkaXNhYmxlcyB0aGUgYWJpbGl0eSB0byBkcmFnIGFuZFxuICogZHJvcCBmaWxlcyBmb3IgdGhlIGVudGlyZSB3aW5kb3cgdG8gcHJldmVudCB0aGUgYnJvd3NlciBmcm9tIG9wZW5pbmcgZmlsZXMgdGhhdCBhcmVcbiAqIGFjY2lkZW50YWxseSBkcm9wcGVkIG91dHNpZGUgdGhlIHRhcmdldCB6b25lLiBJZiB5b3UgaW1wbGVtZW50IHlvdXIgb3duIGZpbGUgZHJvcCBmdW5jdGlvbmFsaXR5XG4gKiBvdXRzaWRlIG9mIHRoZSBmaWxlIGRyb3AgY29tcG9uZW50LCB5b3UgY2FuIHBsYWNlIHRoZSBgc2t5LWZpbGUtZHJvcC10YXJnZXRgIENTUyBjbGFzc1xuICogb24gdGhlIGVsZW1lbnQgdGhhdCByZWNlaXZlcyBkcm9wIGV2ZW50cyB0byBleGVtcHQgaXQgZnJvbSB0aGUgZHJvcCBleGNsdXNpb24gcnVsZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZpbGUtZHJvcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWRyb3AuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWRyb3AuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsZURyb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBhZGQgb3IgcmVtb3ZlIGZpbGVzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWxlc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbGVEcm9wQ2hhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBsaW5rIGlucHV0IGJveCB0cmlnZ2VycyBhIGJsdXIgZXZlbnQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGxpbmtJbnB1dEJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgYWRkIG9yIHJlbW92ZSBsaW5rcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbGVMaW5rPigpO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSBsYWJlbCBmb3IgdGhlIGZpbGUgdXBsb2FkIGJ1dHRvbi4gVGhpcyBwcm92aWRlcyBhIHRleHQgZXF1aXZhbGVudCBmb3JcbiAgICogc2NyZWVuIHJlYWRlcnMgW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWxlVXBsb2FkQXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBBUklBIGxhYmVsIGZvciB0aGUgbGluayB1cGxvYWQgaW5wdXQuIFRoaXMgcHJvdmlkZXMgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yXG4gICAqIHNjcmVlbiByZWFkZXJzIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGlua1VwbG9hZEFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1pbmltdW0gc2l6ZSBpbiBieXRlcyBmb3IgdmFsaWQgZmlsZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWluRmlsZVNpemU6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBzaXplIGluIGJ5dGVzIGZvciB2YWxpZCBmaWxlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyID0gNTAwMDAwO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gZHJhZyBhbmQgZHJvcCBtdWx0aXBsZSBmaWxlcyBhdCB0aGUgc2FtZSB0aW1lLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgY3VzdG9tIHZhbGlkYXRpb24gZnVuY3Rpb24uIFRoaXMgdmFsaWRhdGlvbiBydW5zIGFsb25nc2lkZSB0aGUgaW50ZXJuYWxcbiAgICogZmlsZSB2YWxpZGF0aW9uLiBUaGlzIGZ1bmN0aW9uIHRha2VzIGEgYFNreUZpbGVJdGVtYCBvYmplY3QgYXMgYSBwYXJhbWV0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsaWRhdGVGbjogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcgbGl0ZXJhbCBvZiBNSU1FIHR5cGVzIHRoYXQgdXNlcnMgY2FuIGF0dGFjaC5cbiAgICogQnkgZGVmYXVsdCwgYWxsIGZpbGUgdHlwZXMgYXJlIGFsbG93ZWQuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFjY2VwdGVkVHlwZXM6IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgb3B0aW9uIHRvIGJyb3dzZSBmb3IgZmlsZXMgdG8gYXR0YWNoLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG5vQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzcGxheSB0aGUgb3B0aW9uIHRvIGF0dGFjaCBmaWxlcyBmcm9tIFVSTHMgcmF0aGVyIHRoYW4gZnJvbSBsb2NhbCBkZXZpY2VzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93TGlua3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKVxuICBwdWJsaWMgaW5wdXRFbDogRWxlbWVudFJlZjtcblxuICBwdWJsaWMgcmVqZWN0ZWRPdmVyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBhY2NlcHRlZE92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGxpbmtVcmw6IHN0cmluZztcblxuICBwcml2YXRlIGVudGVyRXZlbnRUYXJnZXQ6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbGVBdHRhY2htZW50U2VydmljZTogU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZpbGVzQ2hhbmdlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMubGlua0NoYW5nZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLmxpbmtJbnB1dEJsdXIuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkcm9wQ2xpY2tlZCgpIHtcbiAgICBpZiAoIXRoaXMubm9DbGljaykge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZUV2ZW50KGZpbGVDaGFuZ2VFdmVudDogYW55KSB7XG4gICAgdGhpcy5oYW5kbGVGaWxlcyhmaWxlQ2hhbmdlRXZlbnQudGFyZ2V0LmZpbGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJhZ0VudGVyKGRyYWdFbnRlckV2ZW50OiBhbnkpIHtcbiAgICAvLyBTYXZlIHRoaXMgdGFyZ2V0IHRvIGtub3cgd2hlbiB0aGUgZHJhZyBldmVudCBsZWF2ZXNcbiAgICB0aGlzLmVudGVyRXZlbnRUYXJnZXQgPSBkcmFnRW50ZXJFdmVudC50YXJnZXQ7XG4gICAgZHJhZ0VudGVyRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZHJhZ0VudGVyRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJhZ092ZXIoZHJhZ092ZXJFdmVudDogYW55KSB7XG4gICAgY29uc3QgdHJhbnNmZXIgPSBkcmFnT3ZlckV2ZW50LmRhdGFUcmFuc2ZlcjtcblxuICAgIGRyYWdPdmVyRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZHJhZ092ZXJFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHRyYW5zZmVyKSB7XG4gICAgICBpZiAodHJhbnNmZXIuaXRlbXMpIHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSB0cmFuc2Zlci5pdGVtcztcblxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgZmlsZTogYW55ID0gZmlsZXNbaW5kZXhdO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZmlsZS50eXBlICYmXG4gICAgICAgICAgICB0aGlzLmZpbGVBdHRhY2htZW50U2VydmljZS5maWxlVHlwZVJlamVjdGVkKFxuICAgICAgICAgICAgICBmaWxlLnR5cGUsXG4gICAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWRUeXBlc1xuICAgICAgICAgICAgKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hY2NlcHRlZE92ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCAmJiAhdGhpcy5hY2NlcHRlZE92ZXIpIHtcbiAgICAgICAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiB1bnRlc3RhYmxlICovIGlmICh0cmFuc2Zlci5maWxlcykge1xuICAgICAgICAvLyBJZiB0aGUgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IERhdGFUcmFuc2Zlci5pdGVtcyxcbiAgICAgICAgLy8gZGVmZXIgZmlsZS10eXBlIGNoZWNraW5nIHRvIGRyb3AgaGFuZGxlci5cbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0RhdGFUcmFuc2Zlci9pdGVtcyNCcm93c2VyX2NvbXBhdGliaWxpdHlcbiAgICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hY2NlcHRlZE92ZXIgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJvcChkcm9wRXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGRyb3BFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBkcm9wRXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMuZW50ZXJFdmVudFRhcmdldCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG5cbiAgICBpZiAoZHJvcEV2ZW50LmRhdGFUcmFuc2ZlciAmJiBkcm9wRXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKSB7XG4gICAgICBjb25zdCBoYXNEaXJlY3RvcnkgPSB0aGlzLmZpbGVBdHRhY2htZW50U2VydmljZS5oYXNEaXJlY3RvcnkoXG4gICAgICAgIGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXNcbiAgICAgICk7XG4gICAgICBjb25zdCBpbnZhbGlkTnVtYmVyT2ZGaWxlcyA9XG4gICAgICAgICF0aGlzLm11bHRpcGxlICYmIGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoID4gMTtcblxuICAgICAgaWYgKGhhc0RpcmVjdG9yeSB8fCBpbnZhbGlkTnVtYmVyT2ZGaWxlcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaGFuZGxlRmlsZXMoZHJvcEV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVEcmFnTGVhdmUoZHJhZ0xlYXZlRXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLmVudGVyRXZlbnRUYXJnZXQgPT09IGRyYWdMZWF2ZUV2ZW50LnRhcmdldCkge1xuICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZExpbmtFbnRlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC53aGljaCA9PT0gMTMpIHtcbiAgICAgIHRoaXMuYWRkTGluayhldmVudCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZExpbmsoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmxpbmtDaGFuZ2VkLmVtaXQoeyB1cmw6IHRoaXMubGlua1VybCB9IGFzIFNreUZpbGVMaW5rKTtcbiAgICB0aGlzLmxpbmtVcmwgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25MaW5rQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtJbnB1dEJsdXIuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmlsZUNoYW5nZUV2ZW50KFxuICAgIHRvdGFsRmlsZXM6IG51bWJlcixcbiAgICByZWplY3RlZEZpbGVBcnJheTogQXJyYXk8U2t5RmlsZUl0ZW0+LFxuICAgIHZhbGlkRmlsZUFycmF5OiBBcnJheTxTa3lGaWxlSXRlbT5cbiAgKSB7XG4gICAgaWYgKHRvdGFsRmlsZXMgPT09IHJlamVjdGVkRmlsZUFycmF5Lmxlbmd0aCArIHZhbGlkRmlsZUFycmF5Lmxlbmd0aCkge1xuICAgICAgdGhpcy5maWxlc0NoYW5nZWQuZW1pdCh7XG4gICAgICAgIGZpbGVzOiB2YWxpZEZpbGVBcnJheSxcbiAgICAgICAgcmVqZWN0ZWRGaWxlczogcmVqZWN0ZWRGaWxlQXJyYXksXG4gICAgICB9IGFzIFNreUZpbGVEcm9wQ2hhbmdlKTtcblxuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbGVzUmVqZWN0ZWQoXG4gICAgZmlsZTogU2t5RmlsZUl0ZW0sXG4gICAgdmFsaWRGaWxlQXJyYXk6IEFycmF5PFNreUZpbGVJdGVtPixcbiAgICByZWplY3RlZEZpbGVBcnJheTogQXJyYXk8U2t5RmlsZUl0ZW0+LFxuICAgIHRvdGFsRmlsZXM6IG51bWJlclxuICApIHtcbiAgICByZWplY3RlZEZpbGVBcnJheS5wdXNoKGZpbGUpO1xuICAgIHRoaXMuZW1pdEZpbGVDaGFuZ2VFdmVudCh0b3RhbEZpbGVzLCByZWplY3RlZEZpbGVBcnJheSwgdmFsaWRGaWxlQXJyYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRmlsZShcbiAgICBmaWxlRHJvcDogU2t5RmlsZURyb3BDb21wb25lbnQsXG4gICAgZmlsZTogU2t5RmlsZUl0ZW0sXG4gICAgdmFsaWRGaWxlQXJyYXk6IEFycmF5PFNreUZpbGVJdGVtPixcbiAgICByZWplY3RlZEZpbGVBcnJheTogQXJyYXk8U2t5RmlsZUl0ZW0+LFxuICAgIHRvdGFsRmlsZXM6IG51bWJlclxuICApIHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgZmlsZS51cmwgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgdmFsaWRGaWxlQXJyYXkucHVzaChmaWxlKTtcbiAgICAgIGZpbGVEcm9wLmVtaXRGaWxlQ2hhbmdlRXZlbnQoXG4gICAgICAgIHRvdGFsRmlsZXMsXG4gICAgICAgIHJlamVjdGVkRmlsZUFycmF5LFxuICAgICAgICB2YWxpZEZpbGVBcnJheVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIChldmVudDogYW55KSA9PiB7XG4gICAgICBmaWxlRHJvcC5maWxlc1JlamVjdGVkKFxuICAgICAgICBmaWxlLFxuICAgICAgICB2YWxpZEZpbGVBcnJheSxcbiAgICAgICAgcmVqZWN0ZWRGaWxlQXJyYXksXG4gICAgICAgIHRvdGFsRmlsZXNcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgZmlsZURyb3AuZmlsZXNSZWplY3RlZChcbiAgICAgICAgZmlsZSxcbiAgICAgICAgdmFsaWRGaWxlQXJyYXksXG4gICAgICAgIHJlamVjdGVkRmlsZUFycmF5LFxuICAgICAgICB0b3RhbEZpbGVzXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZS5maWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRmlsZXMoZmlsZXM6IEZpbGVMaXN0KSB7XG4gICAgbGV0IHZhbGlkRmlsZUFycmF5OiBBcnJheTxTa3lGaWxlSXRlbT4gPSBbXTtcbiAgICBsZXQgcmVqZWN0ZWRGaWxlQXJyYXk6IEFycmF5PFNreUZpbGVJdGVtPiA9IFtdO1xuICAgIGxldCB0b3RhbEZpbGVzID0gZmlsZXMubGVuZ3RoO1xuICAgIGxldCBmaWxlRHJvcCA9IHRoaXM7XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuICAgIGxldCBwcm9jZXNzZWRGaWxlcyA9IHRoaXMuZmlsZUF0dGFjaG1lbnRTZXJ2aWNlLmNoZWNrRmlsZXMoXG4gICAgICBmaWxlcyxcbiAgICAgIHRoaXMubWluRmlsZVNpemUsXG4gICAgICB0aGlzLm1heEZpbGVTaXplLFxuICAgICAgdGhpcy5hY2NlcHRlZFR5cGVzLFxuICAgICAgdGhpcy52YWxpZGF0ZUZuXG4gICAgKTtcblxuICAgIGZvciAobGV0IGZpbGUgb2YgcHJvY2Vzc2VkRmlsZXMpIHtcbiAgICAgIGlmIChmaWxlLmVycm9yVHlwZSkge1xuICAgICAgICB0aGlzLmZpbGVzUmVqZWN0ZWQoZmlsZSwgdmFsaWRGaWxlQXJyYXksIHJlamVjdGVkRmlsZUFycmF5LCB0b3RhbEZpbGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9hZEZpbGUoXG4gICAgICAgICAgZmlsZURyb3AsXG4gICAgICAgICAgZmlsZSxcbiAgICAgICAgICB2YWxpZEZpbGVBcnJheSxcbiAgICAgICAgICByZWplY3RlZEZpbGVBcnJheSxcbiAgICAgICAgICB0b3RhbEZpbGVzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LWZpbGUtZHJvcC1yb3dcIlxuICBbbmdDbGFzc109XCJ7ICdza3ktZmlsZS1kcm9wLWFsbG93LWxpbmtzJzogYWxsb3dMaW5rcyB9XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb2xcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktZmlsZS1kcm9wLWFjY2VwdCc6IGFjY2VwdGVkT3ZlcixcbiAgICAgICdza3ktZmlsZS1kcm9wLXJlamVjdCc6IHJlamVjdGVkT3ZlclxuICAgIH1cIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktZmlsZS1kcm9wIHNreS1maWxlLWRyb3AtdGFyZ2V0XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cImRyb3BDbGlja2VkKClcIlxuICAgICAgKGRyYWdvdmVyKT1cImZpbGVEcmFnT3ZlcigkZXZlbnQpXCJcbiAgICAgIChkcmFnZW50ZXIpPVwiZmlsZURyYWdFbnRlcigkZXZlbnQpXCJcbiAgICAgIChkcmFnbGVhdmUpPVwiZmlsZURyYWdMZWF2ZSgkZXZlbnQpXCJcbiAgICAgIChkcm9wKT1cImZpbGVEcm9wKCRldmVudClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgZmlsZVVwbG9hZEFyaWFMYWJlbCB8fFxuICAgICAgICAoJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9kcmFnX29yX2NsaWNrJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgIFwiXG4gICAgPjwvYnV0dG9uPlxuXG4gICAgPGlucHV0XG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICBjbGFzcz1cInNreS1maWxlLWlucHV0LWhpZGRlblwiXG4gICAgICBbYXR0ci5tdWx0aXBsZV09XCJtdWx0aXBsZSA/IG11bHRpcGxlIDogbnVsbFwiXG4gICAgICBbYXR0ci5hY2NlcHRdPVwiYWNjZXB0ZWRUeXBlcyA/IGFjY2VwdGVkVHlwZXMgOiBudWxsXCJcbiAgICAgIChjaGFuZ2UpPVwiZmlsZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgICAgI2ZpbGVJbnB1dFxuICAgIC8+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1maWxlLWRyb3AtY29udGVudHMgc2t5LXBhZGRpbmctZXZlbi1kZWZhdWx0XCJcbiAgICAgICpuZ0lmPVwiY3VzdG9tRWwuY2hpbGRyZW4ubGVuZ3RoID09PSAwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb250ZW50cy1ub3Qtb3ZlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC10ZXh0LWhlYWRlciBza3ktaGVhZGxpbmVcIj5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9kcmFnX2ZpbGVfaGVyZScgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWRyb3AtdGV4dFwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX29yX2NsaWNrX3RvX2Jyb3dzZSdcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJjbG91ZC11cGxvYWRcIiBjbGFzcz1cInNreS1maWxlLXVwbG9hZC1pY29uXCI+PC9za3ktaWNvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFRoaXMgd2lsbCBhcHBlYXIgd2hlbiBmaWxlIGlzIGRyYWdnZWQgb3ZlciBhbmQgaXMgdmFsaWQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb250ZW50cy1hY2NlcHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWRyb3AtdGV4dC1oZWFkZXIgc2t5LWhlYWRsaW5lXCI+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZHJvcF9maWxlc19oZXJlJ1xuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cImJ1bGxzZXllXCIgY2xhc3M9XCJza3ktZmlsZS11cGxvYWQtaWNvblwiPjwvc2t5LWljb24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBUaGlzIHdpbGwgYXBwZWFyIHdoZW4gZmlsZSBpcyBkcmFnZ2VkIG92ZXIgYW5kIGlzIGludmFsaWQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb250ZW50cy1yZWplY3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWRyb3AtdGV4dC1oZWFkZXIgc2t5LWhlYWRsaW5lXCI+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfaW52YWxpZF9maWxlJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cInRpbWVzLWNpcmNsZVwiIGNsYXNzPVwic2t5LWZpbGUtdXBsb2FkLWljb25cIj48L3NreS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb250ZW50cy1jdXN0b21cIiAjY3VzdG9tRWw+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb2xcIiAqbmdJZj1cImFsbG93TGlua3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb250ZW50cyBza3ktcGFkZGluZy1ldmVuLWRlZmF1bHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1kcm9wLWxpbmtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWRyb3AtbGluay1oZWFkZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC10ZXh0LWhlYWRlciBza3ktaGVhZGxpbmVcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfcGFzdGVfbGluaycgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICBsaW5rVXBsb2FkQXJpYUxhYmVsIHx8XG4gICAgICAgICAgICAgICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2xpbmtfaW5wdXQnIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2xpbmtfcGxhY2Vob2xkZXInXG4gICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxpbmtVcmxcIlxuICAgICAgICAgICAgKGJsdXIpPVwib25MaW5rQmx1cigpXCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJhZGRMaW5rRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1wcmltYXJ5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWxpbmtVcmxcIlxuICAgICAgICAgIChjbGljayk9XCJhZGRMaW5rKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfcGFzdGVfbGlua19kb25lJ1xuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLWVycm9yLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1pdGVtLWVycm9yLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgd2FzIHRocm93bi5cbiAqL1xuZXhwb3J0IHR5cGUgU2t5RmlsZUl0ZW1FcnJvclR5cGUgPVxuICB8ICdmaWxlVHlwZSdcbiAgfCAnbWluRmlsZVNpemUnXG4gIHwgJ21heEZpbGVTaXplJ1xuICB8ICd2YWxpZGF0ZSc7XG4iXX0=
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./file-item.service";
|
|
4
|
-
import * as i2 from "@skyux/indicators";
|
|
5
|
-
import * as i3 from "@angular/common";
|
|
6
|
-
import * as i4 from "./file-size.pipe";
|
|
7
|
-
import * as i5 from "@skyux/i18n";
|
|
8
|
-
export class SkyFileItemComponent {
|
|
9
|
-
constructor(differs, fileItemService) {
|
|
10
|
-
this.differs = differs;
|
|
11
|
-
this.fileItemService = fileItemService;
|
|
12
|
-
/**
|
|
13
|
-
* Fires when users select the delete button for an item. The deleted item is passed to the
|
|
14
|
-
* function.
|
|
15
|
-
*/
|
|
16
|
-
this.deleteFile = new EventEmitter();
|
|
17
|
-
this.differ = this.differs.find({}).create();
|
|
18
|
-
}
|
|
19
|
-
get fileName() {
|
|
20
|
-
return this.fileItem.file.name;
|
|
21
|
-
}
|
|
22
|
-
get fileSize() {
|
|
23
|
-
return this.fileItem.file.size;
|
|
24
|
-
}
|
|
25
|
-
get url() {
|
|
26
|
-
return this.fileItem.url;
|
|
27
|
-
}
|
|
28
|
-
ngDoCheck() {
|
|
29
|
-
let changes = this.differ.diff(this.fileItem);
|
|
30
|
-
if (changes) {
|
|
31
|
-
let cls, extensionUpper = this.fileItemService.getFileExtensionUpper(this.fileItem), fileTypeUpper;
|
|
32
|
-
switch (extensionUpper) {
|
|
33
|
-
case '.PDF':
|
|
34
|
-
cls = 'pdf';
|
|
35
|
-
break;
|
|
36
|
-
case '.GZ':
|
|
37
|
-
case '.RAR':
|
|
38
|
-
case '.TGZ':
|
|
39
|
-
case '.ZIP':
|
|
40
|
-
cls = 'archive';
|
|
41
|
-
break;
|
|
42
|
-
case '.PPT':
|
|
43
|
-
case '.PPTX':
|
|
44
|
-
cls = 'powerpoint';
|
|
45
|
-
break;
|
|
46
|
-
case '.DOC':
|
|
47
|
-
case '.DOCX':
|
|
48
|
-
cls = 'word';
|
|
49
|
-
break;
|
|
50
|
-
case '.XLS':
|
|
51
|
-
case '.XLSX':
|
|
52
|
-
cls = 'excel';
|
|
53
|
-
break;
|
|
54
|
-
case '.TXT':
|
|
55
|
-
cls = 'text';
|
|
56
|
-
break;
|
|
57
|
-
case '.HTM':
|
|
58
|
-
case '.HTML':
|
|
59
|
-
cls = 'code';
|
|
60
|
-
break;
|
|
61
|
-
default:
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
if (!cls) {
|
|
65
|
-
fileTypeUpper = this.fileItemService.getFileTypeUpper(this.fileItem);
|
|
66
|
-
switch (fileTypeUpper.substr(0, fileTypeUpper.indexOf('/'))) {
|
|
67
|
-
case 'AUDIO':
|
|
68
|
-
cls = 'audio';
|
|
69
|
-
break;
|
|
70
|
-
case 'IMAGE':
|
|
71
|
-
// Normally images are displayed as thumbnails, but if an image type is not recognized
|
|
72
|
-
// as being widely supported by modern browsers (e.g. TIFF files) then an icon should
|
|
73
|
-
// be displayed instead.
|
|
74
|
-
cls = 'image';
|
|
75
|
-
break;
|
|
76
|
-
case 'TEXT':
|
|
77
|
-
cls = 'text';
|
|
78
|
-
break;
|
|
79
|
-
case 'VIDEO':
|
|
80
|
-
cls = 'video';
|
|
81
|
-
break;
|
|
82
|
-
default:
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
this.icon = 'file-' + (cls ? cls + '-' : '') + 'o';
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
itemDelete() {
|
|
90
|
-
this.deleteFile.emit(this.fileItem);
|
|
91
|
-
}
|
|
92
|
-
isFile() {
|
|
93
|
-
return this.fileItemService.isFile(this.fileItem);
|
|
94
|
-
}
|
|
95
|
-
isImage() {
|
|
96
|
-
return this.fileItemService.isImage(this.fileItem);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
SkyFileItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileItemComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.SkyFileItemService }], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
-
SkyFileItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyFileItemComponent, selector: "sky-file-item", inputs: { fileItem: "fileItem" }, outputs: { deleteFile: "deleteFile" }, ngImport: i0, template: "<div class=\"sky-file-item sky-padding-even-default\">\n <div class=\"sky-file-item-title\">\n <div class=\"sky-file-item-name-container\">\n <div class=\"sky-file-item-name\">\n <strong *ngIf=\"isFile()\">{{ fileName }}</strong>\n <strong *ngIf=\"!isFile()\">{{ url }}</strong>\n </div>\n <div class=\"sky-file-item-size\" *ngIf=\"isFile()\">\n ({{ fileSize | skyFileSize }})\n </div>\n </div>\n <div class=\"sky-file-item-controls\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-file-item-btn-delete\"\n [attr.aria-label]=\"\n 'skyux_file_attachment_file_item_delete' | skyLibResources\n \"\n (click)=\"itemDelete()\"\n >\n <sky-icon icon=\"trash-o\" size=\"lg\"></sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-file-item-content\">\n <div class=\"sky-file-item-preview\">\n <div *ngIf=\"isImage()\" class=\"sky-file-item-preview-img-container\">\n <img\n class=\"sky-file-item-preview-img\"\n [src]=\"url\"\n [alt]=\"\n 'skyux_file_attachment_file_upload_image_preview_alt_text'\n | skyLibResources\n \"\n />\n </div>\n <div *ngIf=\"!isImage()\" class=\"sky-file-item-preview-other\">\n <sky-icon [icon]=\"icon\"></sky-icon>\n </div>\n </div>\n <div class=\"sky-file-item-content-custom\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-file-item{border-top:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;border-right:1px solid #e2e3e4;background-color:#eeeeef;margin-bottom:10px}.sky-file-item-name-container{flex:1 1 auto;overflow:hidden}.sky-file-item-controls{flex:0 1 auto;padding-left:15px}.sky-file-item-name{white-space:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis}.sky-file-item-title{margin-bottom:10px;display:flex}.sky-file-item-content{display:flex}.sky-file-item-preview{flex-basis:25%}.sky-file-item-content-custom{flex-basis:75%}.sky-file-item-preview-img-container{text-align:center}.sky-file-item-preview-img{max-width:100%;height:auto;box-shadow:0 0 5px #666}.sky-file-item-preview-other{color:#686c73;font-size:100px;line-height:1;text-align:center;width:100%}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyFileSize": i4.SkyFileSizePipe, "skyLibResources": i5.SkyLibResourcesPipe } });
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileItemComponent, decorators: [{
|
|
102
|
-
type: Component,
|
|
103
|
-
args: [{
|
|
104
|
-
selector: 'sky-file-item',
|
|
105
|
-
templateUrl: './file-item.component.html',
|
|
106
|
-
styleUrls: ['./file-item.component.scss'],
|
|
107
|
-
}]
|
|
108
|
-
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i1.SkyFileItemService }]; }, propDecorators: { fileItem: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], deleteFile: [{
|
|
111
|
-
type: Output
|
|
112
|
-
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBSU4sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBYXZCLE1BQU0sT0FBTyxvQkFBb0I7SUFrQy9CLFlBQ1UsT0FBd0IsRUFDeEIsZUFBbUM7UUFEbkMsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBekI3Qzs7O1dBR0c7UUFFSSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFzQmhFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQXJCRCxJQUFXLFFBQVE7UUFDakIsT0FBcUIsSUFBSSxDQUFDLFFBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBcUIsSUFBSSxDQUFDLFFBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFXLEdBQUc7UUFDWixPQUFxQixJQUFJLENBQUMsUUFBUyxDQUFDLEdBQUcsQ0FBQztJQUMxQyxDQUFDO0lBYU0sU0FBUztRQUNkLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMs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ICBPdXRwdXQsXG4gIERvQ2hlY2ssXG4gIEtleVZhbHVlRGlmZmVycyxcbiAgS2V5VmFsdWVEaWZmZXIsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZpbGVJdGVtIH0gZnJvbSAnLi9maWxlLWl0ZW0nO1xuXG5pbXBvcnQgeyBTa3lGaWxlTGluayB9IGZyb20gJy4vZmlsZS1saW5rJztcblxuaW1wb3J0IHsgU2t5RmlsZUl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9maWxlLWl0ZW0uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1maWxlLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbGVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHN1bW1hcnkgaW5mb3JtYXRpb24gdG8gZGlzcGxheSBhYm91dCBmaWxlIGF0dGFjaG1lbnRzLiBGb3IgbG9jYWwgZmlsZXMsXG4gICAqIHRoZSBkZWZhdWx0IHN1bW1hcnkgaW5jbHVkZXMgdGhlIGZpbGUgbmFtZSwgZmlsZSBzaXplLCBmaWxlIHByZXZpZXcsIGFuZCBhIGRlbGV0ZSBidXR0b24uXG4gICAqIEZvciBleHRlcm5hbCBmaWxlcywgdGhlIGRlZmF1bHQgc3VtbWFyeSBpbmNsdWRlcyB0aGUgVVJMIGFuZCBhIGRlbGV0ZSBidXR0b24uXG4gICAqIFlvdSBjYW4gaW5jbHVkZSBhZGRpdGlvbmFsIGlucHV0cyB0byBkaXNwbGF5IHVzZXItZW50ZXJlZCBtZXRhZGF0YS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsZUl0ZW06IFNreUZpbGVJdGVtIHwgU2t5RmlsZUxpbms7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBkZWxldGUgYnV0dG9uIGZvciBhbiBpdGVtLiBUaGUgZGVsZXRlZCBpdGVtIGlzIHBhc3NlZCB0byB0aGVcbiAgICogZnVuY3Rpb24uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGRlbGV0ZUZpbGUgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbGVMaW5rIHwgU2t5RmlsZUl0ZW0+KCk7XG5cbiAgcHVibGljIGdldCBmaWxlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoPFNreUZpbGVJdGVtPnRoaXMuZmlsZUl0ZW0pLmZpbGUubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlsZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKDxTa3lGaWxlSXRlbT50aGlzLmZpbGVJdGVtKS5maWxlLnNpemU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoPFNreUZpbGVMaW5rPnRoaXMuZmlsZUl0ZW0pLnVybDtcbiAgfVxuXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBkaWZmZXI6IEtleVZhbHVlRGlmZmVyPGFueSwgYW55PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJpdmF0ZSBmaWxlSXRlbVNlcnZpY2U6IFNreUZpbGVJdGVtU2VydmljZVxuICApIHtcbiAgICB0aGlzLmRpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKHt9KS5jcmVhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgbGV0IGNoYW5nZXMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuZmlsZUl0ZW0pO1xuXG4gICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgIGxldCBjbHM6IHN0cmluZyxcbiAgICAgICAgZXh0ZW5zaW9uVXBwZXIgPSB0aGlzLmZpbGVJdGVtU2VydmljZS5nZXRGaWxlRXh0ZW5zaW9uVXBwZXIoXG4gICAgICAgICAgPFNreUZpbGVJdGVtPnRoaXMuZmlsZUl0ZW1cbiAgICAgICAgKSxcbiAgICAgICAgZmlsZVR5cGVVcHBlcjogc3RyaW5nO1xuXG4gICAgICBzd2l0Y2ggKGV4dGVuc2lvblVwcGVyKSB7XG4gICAgICAgIGNhc2UgJy5QREYnOlxuICAgICAgICAgIGNscyA9ICdwZGYnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICcuR1onOlxuICAgICAgICBjYXNlICcuUkFSJzpcbiAgICAgICAgY2FzZSAnLlRHWic6XG4gICAgICAgIGNhc2UgJy5aSVAnOlxuICAgICAgICAgIGNscyA9ICdhcmNoaXZlJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnLlBQVCc6XG4gICAgICAgIGNhc2UgJy5QUFRYJzpcbiAgICAgICAgICBjbHMgPSAncG93ZXJwb2ludCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJy5ET0MnOlxuICAgICAgICBjYXNlICcuRE9DWCc6XG4gICAgICAgICAgY2xzID0gJ3dvcmQnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICcuWExTJzpcbiAgICAgICAgY2FzZSAnLlhMU1gnOlxuICAgICAgICAgIGNscyA9ICdleGNlbCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJy5UWFQnOlxuICAgICAgICAgIGNscyA9ICd0ZXh0JztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnLkhUTSc6XG4gICAgICAgIGNhc2UgJy5IVE1MJzpcbiAgICAgICAgICBjbHMgPSAnY29kZSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICghY2xzKSB7XG4gICAgICAgIGZpbGVUeXBlVXBwZXIgPSB0aGlzLmZpbGVJdGVtU2VydmljZS5nZXRGaWxlVHlwZVVwcGVyKFxuICAgICAgICAgIDxTa3lGaWxlSXRlbT50aGlzLmZpbGVJdGVtXG4gICAgICAgICk7XG5cbiAgICAgICAgc3dpdGNoIChmaWxlVHlwZVVwcGVyLnN1YnN0cigwLCBmaWxlVHlwZVVwcGVyLmluZGV4T2YoJy8nKSkpIHtcbiAgICAgICAgICBjYXNlICdBVURJTyc6XG4gICAgICAgICAgICBjbHMgPSAnYXVkaW8nO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnSU1BR0UnOlxuICAgICAgICAgICAgLy8gTm9ybWFsbHkgaW1hZ2VzIGFyZSBkaXNwbGF5ZWQgYXMgdGh1bWJuYWlscywgYnV0IGlmIGFuIGltYWdlIHR5cGUgaXMgbm90IHJlY29nbml6ZWRcbiAgICAgICAgICAgIC8vIGFzIGJlaW5nIHdpZGVseSBzdXBwb3J0ZWQgYnkgbW9kZXJuIGJyb3dzZXJzIChlLmcuIFRJRkYgZmlsZXMpIHRoZW4gYW4gaWNvbiBzaG91bGRcbiAgICAgICAgICAgIC8vIGJlIGRpc3BsYXllZCBpbnN0ZWFkLlxuICAgICAgICAgICAgY2xzID0gJ2ltYWdlJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1RFWFQnOlxuICAgICAgICAgICAgY2xzID0gJ3RleHQnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnVklERU8nOlxuICAgICAgICAgICAgY2xzID0gJ3ZpZGVvJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5pY29uID0gJ2ZpbGUtJyArIChjbHMgPyBjbHMgKyAnLScgOiAnJykgKyAnbyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGl0ZW1EZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGVGaWxlLmVtaXQodGhpcy5maWxlSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgaXNGaWxlKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVJdGVtU2VydmljZS5pc0ZpbGUoPFNreUZpbGVJdGVtPnRoaXMuZmlsZUl0ZW0pO1xuICB9XG5cbiAgcHVibGljIGlzSW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUl0ZW1TZXJ2aWNlLmlzSW1hZ2UoPFNreUZpbGVJdGVtPnRoaXMuZmlsZUl0ZW0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbSBza3ktcGFkZGluZy1ldmVuLWRlZmF1bHRcIj5cbiAgPGRpdiBjbGFzcz1cInNreS1maWxlLWl0ZW0tdGl0bGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbS1uYW1lLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWl0ZW0tbmFtZVwiPlxuICAgICAgICA8c3Ryb25nICpuZ0lmPVwiaXNGaWxlKClcIj57eyBmaWxlTmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICA8c3Ryb25nICpuZ0lmPVwiIWlzRmlsZSgpXCI+e3sgdXJsIH19PC9zdHJvbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXNpemVcIiAqbmdJZj1cImlzRmlsZSgpXCI+XG4gICAgICAgICh7eyBmaWxlU2l6ZSB8IHNreUZpbGVTaXplIH19KVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWl0ZW0tY29udHJvbHNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWZpbGUtaXRlbS1idG4tZGVsZXRlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfaXRlbV9kZWxldGUnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgIFwiXG4gICAgICAgIChjbGljayk9XCJpdGVtRGVsZXRlKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cInRyYXNoLW9cIiBzaXplPVwibGdcIj48L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbS1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWl0ZW0tcHJldmlld1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImlzSW1hZ2UoKVwiIGNsYXNzPVwic2t5LWZpbGUtaXRlbS1wcmV2aWV3LWltZy1jb250YWluZXJcIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIGNsYXNzPVwic2t5LWZpbGUtaXRlbS1wcmV2aWV3LWltZ1wiXG4gICAgICAgICAgW3NyY109XCJ1cmxcIlxuICAgICAgICAgIFthbHRdPVwiXG4gICAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2ltYWdlX3ByZXZpZXdfYWx0X3RleHQnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIiFpc0ltYWdlKClcIiBjbGFzcz1cInNreS1maWxlLWl0ZW0tcHJldmlldy1vdGhlclwiPlxuICAgICAgICA8c2t5LWljb24gW2ljb25dPVwiaWNvblwiPjwvc2t5LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbS1jb250ZW50LWN1c3RvbVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RmlsZUl0ZW1FcnJvclR5cGUgfSBmcm9tICcuL2ZpbGUtaXRlbS1lcnJvci10eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3lGaWxlSXRlbSB7XG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IHRoYXQgd2FzIGFkZGVkIG9yIHJlbW92ZWQuXG4gICAqL1xuICBmaWxlOiBGaWxlO1xuICAvKipcbiAgICogVGhlIFtkYXRhIFVSTF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9CYXNpY3Nfb2ZfSFRUUC9EYXRhX1VSSXMpXG4gICAqIGZvciB0aGUgZmlsZSB0aGF0IHdhcyBhZGRlZCBvciByZW1vdmVkLlxuICAgKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBlcnJvciB0aGF0IGNhdXNlZCB0aGUgZmlsZSB0byBiZSByZWplY3RlZC5cbiAgICovXG4gIGVycm9yVHlwZTogU2t5RmlsZUl0ZW1FcnJvclR5cGU7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgYWJvdXQgdGhlIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmaWxlIHRvIGJlIHJlamVjdGVkLlxuICAgKi9cbiAgZXJyb3JQYXJhbTogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export class SkyFileItemService {
|
|
7
|
-
isFile(fileItem) {
|
|
8
|
-
let file = fileItem.file;
|
|
9
|
-
/* tslint:disable */
|
|
10
|
-
return (file &&
|
|
11
|
-
file !== undefined &&
|
|
12
|
-
file !== null &&
|
|
13
|
-
file.size !== undefined &&
|
|
14
|
-
file.size !== null);
|
|
15
|
-
/* tslint:enable */
|
|
16
|
-
}
|
|
17
|
-
isImage(fileItem) {
|
|
18
|
-
let fileTypeUpper = this.getFileTypeUpper(fileItem), slashIndex;
|
|
19
|
-
slashIndex = fileTypeUpper.indexOf('/');
|
|
20
|
-
if (slashIndex >= 0) {
|
|
21
|
-
switch (fileTypeUpper.substr(fileTypeUpper.indexOf('/') + 1)) {
|
|
22
|
-
case 'BMP':
|
|
23
|
-
case 'GIF':
|
|
24
|
-
case 'JPEG':
|
|
25
|
-
case 'PNG':
|
|
26
|
-
return true;
|
|
27
|
-
default:
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
getFileExtensionUpper(fileItem) {
|
|
34
|
-
let extension = '', name;
|
|
35
|
-
/* istanbul ignore else */
|
|
36
|
-
/* sanity check */
|
|
37
|
-
if (fileItem) {
|
|
38
|
-
let file = fileItem.file;
|
|
39
|
-
if (file) {
|
|
40
|
-
/* istanbul ignore next */
|
|
41
|
-
name = file.name || '';
|
|
42
|
-
/* istanbul ignore next */
|
|
43
|
-
extension = name.substr(name.lastIndexOf('.')) || '';
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
extension = '';
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return extension.toUpperCase();
|
|
50
|
-
}
|
|
51
|
-
getFileTypeUpper(fileItem) {
|
|
52
|
-
let fileType = '';
|
|
53
|
-
/* istanbul ignore else */
|
|
54
|
-
/* sanity check */
|
|
55
|
-
if (fileItem) {
|
|
56
|
-
let file = fileItem.file;
|
|
57
|
-
if (file) {
|
|
58
|
-
fileType = file.type || '';
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
fileType = '';
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return fileType.toUpperCase();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
SkyFileItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
-
SkyFileItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileItemService });
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileItemService, decorators: [{
|
|
70
|
-
type: Injectable
|
|
71
|
-
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1pdGVtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLE1BQU0sQ0FBQyxRQUFxQjtRQUNqQyxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBRXpCLG9CQUFvQjtRQUNwQixPQUFPLENBQ0wsSUFBSTtZQUNKLElBQUksS0FBSyxTQUFTO1lBQ2xCLElBQUksS0FBSyxJQUFJO1lBQ2IsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUNuQixDQUFDO1FBQ0YsbUJBQW1CO0lBQ3JCLENBQUM7SUFFTSxPQUFPLENBQUMsUUFBcUI7UUFDbEMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUNqRCxVQUFrQixDQUFDO1FBRXJCLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLElBQUksVUFBVSxJQUFJLENBQUMsRUFBRTtZQUNuQixRQUFRLGFBQWEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDNUQsS0FBSyxLQUFLLENBQUM7Z0JBQ1gsS0FBSyxLQUFLLENBQUM7Z0JBQ1gsS0FBSyxNQUFNLENBQUM7Z0JBQ1osS0FBSyxLQUFLO29CQUNSLE9BQU8sSUFBSSxDQUFDO2dCQUNkO29CQUNFLE1BQU07YUFDVDtTQUNGO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0scUJBQXFCLENBQUMsUUFBcUI7UUFDaEQsSUFBSSxTQUFTLEdBQUcsRUFBRSxFQUNoQixJQUFZLENBQUM7UUFFZiwwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUN6QixJQUFJLElBQUksRUFBRTtnQkFDUiwwQkFBMEI7Z0JBQzFCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkIsMEJBQTBCO2dCQUMxQixTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3REO2lCQUFNO2dCQUNMLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDaEI7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFxQjtRQUMzQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDekIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLFFBQVEsR0FBRyxFQUFFLENBQUM7YUFDZjtTQUNGO1FBRUQsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7Z0hBdkVVLGtCQUFrQjtvSEFBbEIsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZpbGVJdGVtIH0gZnJvbSAnLi9maWxlLWl0ZW0nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RmlsZUl0ZW1TZXJ2aWNlIHtcbiAgcHVibGljIGlzRmlsZShmaWxlSXRlbTogU2t5RmlsZUl0ZW0pOiBib29sZWFuIHtcbiAgICBsZXQgZmlsZSA9IGZpbGVJdGVtLmZpbGU7XG5cbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuICAgIHJldHVybiAoXG4gICAgICBmaWxlICYmXG4gICAgICBmaWxlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGZpbGUgIT09IG51bGwgJiZcbiAgICAgIGZpbGUuc2l6ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBmaWxlLnNpemUgIT09IG51bGxcbiAgICApO1xuICAgIC8qIHRzbGludDplbmFibGUgKi9cbiAgfVxuXG4gIHB1YmxpYyBpc0ltYWdlKGZpbGVJdGVtOiBTa3lGaWxlSXRlbSk6IGJvb2xlYW4ge1xuICAgIGxldCBmaWxlVHlwZVVwcGVyID0gdGhpcy5nZXRGaWxlVHlwZVVwcGVyKGZpbGVJdGVtKSxcbiAgICAgIHNsYXNoSW5kZXg6IG51bWJlcjtcblxuICAgIHNsYXNoSW5kZXggPSBmaWxlVHlwZVVwcGVyLmluZGV4T2YoJy8nKTtcblxuICAgIGlmIChzbGFzaEluZGV4ID49IDApIHtcbiAgICAgIHN3aXRjaCAoZmlsZVR5cGVVcHBlci5zdWJzdHIoZmlsZVR5cGVVcHBlci5pbmRleE9mKCcvJykgKyAxKSkge1xuICAgICAgICBjYXNlICdCTVAnOlxuICAgICAgICBjYXNlICdHSUYnOlxuICAgICAgICBjYXNlICdKUEVHJzpcbiAgICAgICAgY2FzZSAnUE5HJzpcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmlsZUV4dGVuc2lvblVwcGVyKGZpbGVJdGVtOiBTa3lGaWxlSXRlbSk6IHN0cmluZyB7XG4gICAgbGV0IGV4dGVuc2lvbiA9ICcnLFxuICAgICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoZmlsZUl0ZW0pIHtcbiAgICAgIGxldCBmaWxlID0gZmlsZUl0ZW0uZmlsZTtcbiAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIG5hbWUgPSBmaWxlLm5hbWUgfHwgJyc7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGV4dGVuc2lvbiA9IG5hbWUuc3Vic3RyKG5hbWUubGFzdEluZGV4T2YoJy4nKSkgfHwgJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleHRlbnNpb24gPSAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXh0ZW5zaW9uLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmlsZVR5cGVVcHBlcihmaWxlSXRlbTogU2t5RmlsZUl0ZW0pOiBzdHJpbmcge1xuICAgIGxldCBmaWxlVHlwZSA9ICcnO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKGZpbGVJdGVtKSB7XG4gICAgICBsZXQgZmlsZSA9IGZpbGVJdGVtLmZpbGU7XG4gICAgICBpZiAoZmlsZSkge1xuICAgICAgICBmaWxlVHlwZSA9IGZpbGUudHlwZSB8fCAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbGVUeXBlID0gJyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVUeXBlLnRvVXBwZXJDYXNlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lGaWxlTGluayB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIFVSTCBmb3IgdGhlIGxpbmtlZCBmaWxlLlxuICAgKi9cbiAgdXJsOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@skyux/i18n";
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export class SkyFileSizePipe {
|
|
9
|
-
constructor(decimalPipe, resourcesService) {
|
|
10
|
-
this.decimalPipe = decimalPipe;
|
|
11
|
-
this.resourcesService = resourcesService;
|
|
12
|
-
}
|
|
13
|
-
transform(input) {
|
|
14
|
-
let decimalPlaces = 0, dividend = 1, formattedSize, roundedSize, template;
|
|
15
|
-
/* tslint:disable */
|
|
16
|
-
if (input === null || input === undefined) {
|
|
17
|
-
return '';
|
|
18
|
-
}
|
|
19
|
-
/* tslint:enable */
|
|
20
|
-
if (Math.abs(input) === 1) {
|
|
21
|
-
template = 'skyux_file_attachment_file_size_b_singular';
|
|
22
|
-
}
|
|
23
|
-
else if (input < 1000) {
|
|
24
|
-
template = 'skyux_file_attachment_file_size_b_plural';
|
|
25
|
-
}
|
|
26
|
-
else if (input < 1e6) {
|
|
27
|
-
template = 'skyux_file_attachment_file_size_kb';
|
|
28
|
-
dividend = 1000;
|
|
29
|
-
}
|
|
30
|
-
else if (input < 1e9) {
|
|
31
|
-
template = 'skyux_file_attachment_file_size_mb';
|
|
32
|
-
dividend = 1e6;
|
|
33
|
-
decimalPlaces = 1;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
template = 'skyux_file_attachment_file_size_gb';
|
|
37
|
-
dividend = 1e9;
|
|
38
|
-
decimalPlaces = 1;
|
|
39
|
-
}
|
|
40
|
-
roundedSize =
|
|
41
|
-
Math.floor(input / (dividend / Math.pow(10, decimalPlaces))) /
|
|
42
|
-
Math.pow(10, decimalPlaces);
|
|
43
|
-
formattedSize = this.decimalPipe.transform(roundedSize, '.0-3');
|
|
44
|
-
return this.getString(template, formattedSize);
|
|
45
|
-
}
|
|
46
|
-
getString(key, ...args) {
|
|
47
|
-
// TODO: Need to implement the async `getString` method in a breaking change.
|
|
48
|
-
return this.resourcesService.getStringForLocale({ locale: 'en-US' }, key, ...args);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
SkyFileSizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileSizePipe, deps: [{ token: i1.DecimalPipe }, { token: i2.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
52
|
-
SkyFileSizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileSizePipe, name: "skyFileSize" });
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyFileSizePipe, decorators: [{
|
|
54
|
-
type: Pipe,
|
|
55
|
-
args: [{
|
|
56
|
-
name: 'skyFileSize',
|
|
57
|
-
}]
|
|
58
|
-
}], ctorParameters: function () { return [{ type: i1.DecimalPipe }, { type: i2.SkyLibResourcesService }]; } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1zaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7QUFNcEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNVLFdBQXdCLEVBQ3hCLGdCQUF3QztRQUR4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO0lBQy9DLENBQUM7SUFFRyxTQUFTLENBQUMsS0FBYTtRQUM1QixJQUFJLGFBQWEsR0FBRyxDQUFDLEVBQ25CLFFBQVEsR0FBRyxDQUFDLEVBQ1osYUFBcUIsRUFDckIsV0FBbUIsRUFDbkIsUUFBZ0IsQ0FBQztRQUVuQixvQkFBb0I7UUFDcEIsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDekMsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELG1CQUFtQjtRQUVuQixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLFFBQVEsR0FBRyw0Q0FBNEMsQ0FBQztTQUN6RDthQUFNLElBQUksS0FBSyxHQUFHLElBQUksRUFBRTtZQUN2QixRQUFRLEdBQUcsMENBQTBDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUU7WUFDdEIsUUFBUSxHQUFHLG9DQUFvQyxDQUFDO1lBQ2hELFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDakI7YUFBTSxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUU7WUFDdEIsUUFBUSxHQUFHLG9DQUFvQyxDQUFDO1lBQ2hELFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDZixhQUFhLEdBQUcsQ0FBQyxDQUFDO1NBQ25CO2FBQU07WUFDTCxRQUFRLEdBQUcsb0NBQW9DLENBQUM7WUFDaEQsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUNmLGFBQWEsR0FBRyxDQUFDLENBQUM7U0FDbkI7UUFFRCxXQUFXO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFOUIsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVoRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxTQUFTLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztRQUMzQyw2RUFBNkU7UUFDN0UsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQzdDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUNuQixHQUFHLEVBQ0gsR0FBRyxJQUFJLENBQ1IsQ0FBQztJQUNKLENBQUM7OzZHQXBEVSxlQUFlOzJHQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFIM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnc2t5RmlsZVNpemUnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGaWxlU2l6ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgdHJhbnNmb3JtKGlucHV0OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBkZWNpbWFsUGxhY2VzID0gMCxcbiAgICAgIGRpdmlkZW5kID0gMSxcbiAgICAgIGZvcm1hdHRlZFNpemU6IHN0cmluZyxcbiAgICAgIHJvdW5kZWRTaXplOiBudW1iZXIsXG4gICAgICB0ZW1wbGF0ZTogc3RyaW5nO1xuXG4gICAgLyogdHNsaW50OmRpc2FibGUgKi9cbiAgICBpZiAoaW5wdXQgPT09IG51bGwgfHwgaW5wdXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICAvKiB0c2xpbnQ6ZW5hYmxlICovXG5cbiAgICBpZiAoTWF0aC5hYnMoaW5wdXQpID09PSAxKSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX2Jfc2luZ3VsYXInO1xuICAgIH0gZWxzZSBpZiAoaW5wdXQgPCAxMDAwKSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX2JfcGx1cmFsJztcbiAgICB9IGVsc2UgaWYgKGlucHV0IDwgMWU2KSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX2tiJztcbiAgICAgIGRpdmlkZW5kID0gMTAwMDtcbiAgICB9IGVsc2UgaWYgKGlucHV0IDwgMWU5KSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX21iJztcbiAgICAgIGRpdmlkZW5kID0gMWU2O1xuICAgICAgZGVjaW1hbFBsYWNlcyA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRlbXBsYXRlID0gJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3NpemVfZ2InO1xuICAgICAgZGl2aWRlbmQgPSAxZTk7XG4gICAgICBkZWNpbWFsUGxhY2VzID0gMTtcbiAgICB9XG5cbiAgICByb3VuZGVkU2l6ZSA9XG4gICAgICBNYXRoLmZsb29yKGlucHV0IC8gKGRpdmlkZW5kIC8gTWF0aC5wb3coMTAsIGRlY2ltYWxQbGFjZXMpKSkgL1xuICAgICAgTWF0aC5wb3coMTAsIGRlY2ltYWxQbGFjZXMpO1xuXG4gICAgZm9ybWF0dGVkU2l6ZSA9IHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHJvdW5kZWRTaXplLCAnLjAtMycpO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nKHRlbXBsYXRlLCBmb3JtYXR0ZWRTaXplKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nKGtleTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZ0ZvckxvY2FsZShcbiAgICAgIHsgbG9jYWxlOiAnZW4tVVMnIH0sXG4gICAgICBrZXksXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC90eXBlcy9maWxlLWF0dGFjaG1lbnQtY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGaWxlSXRlbSB9IGZyb20gJy4uL2ZpbGUtaXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5RmlsZUF0dGFjaG1lbnRDaGFuZ2Uge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBmaWxlIHRoYXQgd2FzIGFkZGVkIG9yIHJlbW92ZWQuXG4gICAqL1xuICBmaWxlOiBTa3lGaWxlSXRlbTtcbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWNsaWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jbGljay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RmlsZUl0ZW0gfSBmcm9tICcuLi9maWxlLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreUZpbGVBdHRhY2htZW50Q2xpY2sge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBmaWxlIHRoYXQgd2FzIGNsaWNrZWQuXG4gICAqL1xuICBmaWxlOiBTa3lGaWxlSXRlbTtcbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC90eXBlcy9maWxlLWRyb3AtY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGaWxlSXRlbSB9IGZyb20gJy4uL2ZpbGUtaXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5RmlsZURyb3BDaGFuZ2Uge1xuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIGFycmF5IG9mIGZpbGVzIHRoYXQgd2VyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgKi9cbiAgZmlsZXM6IEFycmF5PFNreUZpbGVJdGVtPjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiBmaWxlcyB0aGF0IHdlcmUgcmVqZWN0ZWQuXG4gICAqL1xuICByZWplY3RlZEZpbGVzOiBBcnJheTxTa3lGaWxlSXRlbT47XG59XG4iXX0=
|