@skyux/forms 5.0.2 → 5.5.0-alpha.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.
Files changed (207) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-forms.umd.js +114 -114
  3. package/documentation.json +1412 -961
  4. package/esm2015/index.js +43 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js +37 -0
  7. package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js.map +1 -0
  8. package/esm2015/lib/modules/character-counter/character-counter.directive.js +83 -0
  9. package/esm2015/lib/modules/character-counter/character-counter.directive.js.map +1 -0
  10. package/esm2015/lib/modules/character-counter/character-counter.module.js +46 -0
  11. package/esm2015/lib/modules/character-counter/character-counter.module.js.map +1 -0
  12. package/esm2015/lib/modules/checkbox/checkbox-change.js +6 -0
  13. package/esm2015/lib/modules/checkbox/checkbox-change.js.map +1 -0
  14. package/esm2015/lib/modules/checkbox/checkbox-label.component.js +17 -0
  15. package/esm2015/lib/modules/checkbox/checkbox-label.component.js.map +1 -0
  16. package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js +32 -0
  17. package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js.map +1 -0
  18. package/esm2015/lib/modules/checkbox/checkbox.component.js +240 -0
  19. package/esm2015/lib/modules/checkbox/checkbox.component.js.map +1 -0
  20. package/esm2015/lib/modules/checkbox/checkbox.module.js +34 -0
  21. package/esm2015/lib/modules/checkbox/checkbox.module.js.map +1 -0
  22. package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js +19 -0
  23. package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js.map +1 -0
  24. package/esm2015/lib/modules/file-attachment/file-attachment.component.js +331 -0
  25. package/esm2015/lib/modules/file-attachment/file-attachment.component.js.map +1 -0
  26. package/esm2015/lib/modules/file-attachment/file-attachment.service.js +94 -0
  27. package/esm2015/lib/modules/file-attachment/file-attachment.service.js.map +1 -0
  28. package/esm2015/lib/modules/file-attachment/file-attachments.module.js +68 -0
  29. package/esm2015/lib/modules/file-attachment/file-attachments.module.js.map +1 -0
  30. package/esm2015/lib/modules/file-attachment/file-drop.component.js +223 -0
  31. package/esm2015/lib/modules/file-attachment/file-drop.component.js.map +1 -0
  32. package/esm2015/lib/modules/file-attachment/file-item-error-type.js +2 -0
  33. package/esm2015/lib/modules/file-attachment/file-item-error-type.js.map +1 -0
  34. package/esm2015/lib/modules/file-attachment/file-item.component.js +114 -0
  35. package/esm2015/lib/modules/file-attachment/file-item.component.js.map +1 -0
  36. package/esm2015/lib/modules/file-attachment/file-item.js +2 -0
  37. package/esm2015/lib/modules/file-attachment/file-item.js.map +1 -0
  38. package/esm2015/lib/modules/file-attachment/file-item.service.js +72 -0
  39. package/esm2015/lib/modules/file-attachment/file-item.service.js.map +1 -0
  40. package/esm2015/lib/modules/file-attachment/file-link.js +2 -0
  41. package/esm2015/lib/modules/file-attachment/file-link.js.map +1 -0
  42. package/esm2015/lib/modules/file-attachment/file-size.pipe.js +61 -0
  43. package/esm2015/lib/modules/file-attachment/file-size.pipe.js.map +1 -0
  44. package/esm2015/lib/modules/file-attachment/types/file-attachment-change.js +2 -0
  45. package/esm2015/lib/modules/file-attachment/types/file-attachment-change.js.map +1 -0
  46. package/esm2015/lib/modules/file-attachment/types/file-attachment-click.js +2 -0
  47. package/esm2015/lib/modules/file-attachment/types/file-attachment-click.js.map +1 -0
  48. package/esm2015/lib/modules/file-attachment/types/file-drop-change.js +2 -0
  49. package/esm2015/lib/modules/file-attachment/types/file-drop-change.js.map +1 -0
  50. package/esm2015/lib/modules/input-box/input-box-adapter.service.js +35 -0
  51. package/esm2015/lib/modules/input-box/input-box-adapter.service.js.map +1 -0
  52. package/esm2015/lib/modules/input-box/input-box-host.service.js +19 -0
  53. package/esm2015/lib/modules/input-box/input-box-host.service.js.map +1 -0
  54. package/esm2015/lib/modules/input-box/input-box-populate-args.js +2 -0
  55. package/esm2015/lib/modules/input-box/input-box-populate-args.js.map +1 -0
  56. package/esm2015/{modules → lib/modules}/input-box/input-box.component.js +5 -5
  57. package/esm2015/lib/modules/input-box/input-box.component.js.map +1 -0
  58. package/esm2015/lib/modules/input-box/input-box.module.js +19 -0
  59. package/esm2015/lib/modules/input-box/input-box.module.js.map +1 -0
  60. package/esm2015/lib/modules/radio/radio-group.component.js +223 -0
  61. package/esm2015/lib/modules/radio/radio-group.component.js.map +1 -0
  62. package/esm2015/lib/modules/radio/radio-label.component.js +26 -0
  63. package/esm2015/lib/modules/radio/radio-label.component.js.map +1 -0
  64. package/esm2015/lib/modules/radio/radio.component.js +262 -0
  65. package/esm2015/lib/modules/radio/radio.component.js.map +1 -0
  66. package/esm2015/lib/modules/radio/radio.module.js +28 -0
  67. package/esm2015/lib/modules/radio/radio.module.js.map +1 -0
  68. package/esm2015/lib/modules/radio/types/radio-change.js +2 -0
  69. package/esm2015/lib/modules/radio/types/radio-change.js.map +1 -0
  70. package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js +124 -0
  71. package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js.map +1 -0
  72. package/esm2015/lib/modules/selection-box/selection-box-description.component.js +17 -0
  73. package/esm2015/lib/modules/selection-box/selection-box-description.component.js.map +1 -0
  74. package/esm2015/lib/modules/selection-box/selection-box-grid.component.js +132 -0
  75. package/esm2015/lib/modules/selection-box/selection-box-grid.component.js.map +1 -0
  76. package/esm2015/lib/modules/selection-box/selection-box-header.component.js +17 -0
  77. package/esm2015/lib/modules/selection-box/selection-box-header.component.js.map +1 -0
  78. package/esm2015/lib/modules/selection-box/selection-box.component.js +107 -0
  79. package/esm2015/lib/modules/selection-box/selection-box.component.js.map +1 -0
  80. package/esm2015/lib/modules/selection-box/selection-box.module.js +40 -0
  81. package/esm2015/lib/modules/selection-box/selection-box.module.js.map +1 -0
  82. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items-type.js +2 -0
  83. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items-type.js.map +1 -0
  84. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items.js +2 -0
  85. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items.js.map +1 -0
  86. package/esm2015/lib/modules/shared/forms-utility.js +26 -0
  87. package/esm2015/lib/modules/shared/forms-utility.js.map +1 -0
  88. package/esm2015/lib/modules/shared/sky-forms-resources.module.js +89 -0
  89. package/esm2015/lib/modules/shared/sky-forms-resources.module.js.map +1 -0
  90. package/esm2015/lib/modules/toggle-switch/toggle-switch-label.component.js +18 -0
  91. package/esm2015/lib/modules/toggle-switch/toggle-switch-label.component.js.map +1 -0
  92. package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js +158 -0
  93. package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js.map +1 -0
  94. package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js +20 -0
  95. package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js.map +1 -0
  96. package/esm2015/lib/modules/toggle-switch/types/toggle-switch-change.js +2 -0
  97. package/esm2015/lib/modules/toggle-switch/types/toggle-switch-change.js.map +1 -0
  98. package/esm2015/skyux-forms.js +2 -2
  99. package/esm2015/skyux-forms.js.map +1 -0
  100. package/esm2015/testing/checkbox-fixture.js +1 -1
  101. package/esm2015/testing/checkbox-fixture.js.map +1 -0
  102. package/esm2015/testing/public-api.js +1 -1
  103. package/esm2015/testing/public-api.js.map +1 -0
  104. package/esm2015/testing/skyux-forms-testing.js +1 -1
  105. package/esm2015/testing/skyux-forms-testing.js.map +1 -0
  106. package/fesm2015/skyux-forms-testing.js.map +1 -1
  107. package/fesm2015/skyux-forms.js +145 -145
  108. package/fesm2015/skyux-forms.js.map +1 -1
  109. package/index.d.ts +40 -0
  110. package/{modules → lib/modules}/character-counter/character-counter-indicator.component.d.ts +0 -0
  111. package/{modules → lib/modules}/character-counter/character-counter.directive.d.ts +0 -0
  112. package/{modules → lib/modules}/character-counter/character-counter.module.d.ts +0 -0
  113. package/{modules → lib/modules}/checkbox/checkbox-change.d.ts +0 -0
  114. package/{modules → lib/modules}/checkbox/checkbox-label.component.d.ts +0 -0
  115. package/{modules → lib/modules}/checkbox/checkbox-required-validator.directive.d.ts +0 -0
  116. package/{modules → lib/modules}/checkbox/checkbox.component.d.ts +3 -3
  117. package/{modules → lib/modules}/checkbox/checkbox.module.d.ts +0 -0
  118. package/{modules → lib/modules}/file-attachment/file-attachment-label.component.d.ts +0 -0
  119. package/{modules → lib/modules}/file-attachment/file-attachment.component.d.ts +0 -0
  120. package/{modules → lib/modules}/file-attachment/file-attachment.service.d.ts +0 -0
  121. package/{modules → lib/modules}/file-attachment/file-attachments.module.d.ts +0 -0
  122. package/{modules → lib/modules}/file-attachment/file-drop.component.d.ts +0 -0
  123. package/{modules → lib/modules}/file-attachment/file-item-error-type.d.ts +0 -0
  124. package/{modules → lib/modules}/file-attachment/file-item.component.d.ts +0 -0
  125. package/{modules → lib/modules}/file-attachment/file-item.d.ts +0 -0
  126. package/{modules → lib/modules}/file-attachment/file-item.service.d.ts +0 -0
  127. package/{modules → lib/modules}/file-attachment/file-link.d.ts +0 -0
  128. package/{modules → lib/modules}/file-attachment/file-size.pipe.d.ts +0 -0
  129. package/{modules → lib/modules}/file-attachment/types/file-attachment-change.d.ts +0 -0
  130. package/{modules → lib/modules}/file-attachment/types/file-attachment-click.d.ts +0 -0
  131. package/{modules → lib/modules}/file-attachment/types/file-drop-change.d.ts +0 -0
  132. package/{modules → lib/modules}/input-box/input-box-adapter.service.d.ts +0 -0
  133. package/{modules → lib/modules}/input-box/input-box-host.service.d.ts +0 -0
  134. package/{modules → lib/modules}/input-box/input-box-populate-args.d.ts +0 -0
  135. package/{modules → lib/modules}/input-box/input-box.component.d.ts +0 -0
  136. package/{modules → lib/modules}/input-box/input-box.module.d.ts +0 -0
  137. package/{modules → lib/modules}/radio/radio-group.component.d.ts +2 -2
  138. package/{modules → lib/modules}/radio/radio-label.component.d.ts +0 -0
  139. package/{modules → lib/modules}/radio/radio.component.d.ts +0 -0
  140. package/{modules → lib/modules}/radio/radio.module.d.ts +0 -0
  141. package/{modules → lib/modules}/radio/types/radio-change.d.ts +0 -0
  142. package/{modules → lib/modules}/selection-box/selection-box-adapter.service.d.ts +0 -0
  143. package/{modules → lib/modules}/selection-box/selection-box-description.component.d.ts +0 -0
  144. package/{modules → lib/modules}/selection-box/selection-box-grid.component.d.ts +0 -0
  145. package/{modules → lib/modules}/selection-box/selection-box-header.component.d.ts +0 -0
  146. package/{modules → lib/modules}/selection-box/selection-box.component.d.ts +0 -0
  147. package/{modules → lib/modules}/selection-box/selection-box.module.d.ts +0 -0
  148. package/{modules → lib/modules}/selection-box/types/selection-box-grid-align-items-type.d.ts +0 -0
  149. package/{modules → lib/modules}/selection-box/types/selection-box-grid-align-items.d.ts +0 -0
  150. package/{modules → lib/modules}/shared/forms-utility.d.ts +0 -0
  151. package/{modules → lib/modules}/shared/sky-forms-resources.module.d.ts +0 -0
  152. package/{modules → lib/modules}/toggle-switch/toggle-switch-label.component.d.ts +0 -0
  153. package/{modules → lib/modules}/toggle-switch/toggle-switch.component.d.ts +0 -0
  154. package/{modules → lib/modules}/toggle-switch/toggle-switch.module.d.ts +0 -0
  155. package/{modules → lib/modules}/toggle-switch/types/toggle-switch-change.d.ts +0 -0
  156. package/package.json +7 -7
  157. package/skyux-forms.d.ts +1 -1
  158. package/LICENSE +0 -21
  159. package/bundles/skyux-forms-testing.umd.js.map +0 -1
  160. package/bundles/skyux-forms.umd.js.map +0 -1
  161. package/esm2015/modules/character-counter/character-counter-indicator.component.js +0 -37
  162. package/esm2015/modules/character-counter/character-counter.directive.js +0 -82
  163. package/esm2015/modules/character-counter/character-counter.module.js +0 -46
  164. package/esm2015/modules/checkbox/checkbox-change.js +0 -6
  165. package/esm2015/modules/checkbox/checkbox-label.component.js +0 -17
  166. package/esm2015/modules/checkbox/checkbox-required-validator.directive.js +0 -32
  167. package/esm2015/modules/checkbox/checkbox.component.js +0 -239
  168. package/esm2015/modules/checkbox/checkbox.module.js +0 -34
  169. package/esm2015/modules/file-attachment/file-attachment-label.component.js +0 -19
  170. package/esm2015/modules/file-attachment/file-attachment.component.js +0 -328
  171. package/esm2015/modules/file-attachment/file-attachment.service.js +0 -94
  172. package/esm2015/modules/file-attachment/file-attachments.module.js +0 -68
  173. package/esm2015/modules/file-attachment/file-drop.component.js +0 -223
  174. package/esm2015/modules/file-attachment/file-item-error-type.js +0 -2
  175. package/esm2015/modules/file-attachment/file-item.component.js +0 -113
  176. package/esm2015/modules/file-attachment/file-item.js +0 -2
  177. package/esm2015/modules/file-attachment/file-item.service.js +0 -72
  178. package/esm2015/modules/file-attachment/file-link.js +0 -2
  179. package/esm2015/modules/file-attachment/file-size.pipe.js +0 -59
  180. package/esm2015/modules/file-attachment/types/file-attachment-change.js +0 -2
  181. package/esm2015/modules/file-attachment/types/file-attachment-click.js +0 -2
  182. package/esm2015/modules/file-attachment/types/file-drop-change.js +0 -2
  183. package/esm2015/modules/input-box/input-box-adapter.service.js +0 -35
  184. package/esm2015/modules/input-box/input-box-host.service.js +0 -19
  185. package/esm2015/modules/input-box/input-box-populate-args.js +0 -2
  186. package/esm2015/modules/input-box/input-box.module.js +0 -19
  187. package/esm2015/modules/radio/radio-group.component.js +0 -222
  188. package/esm2015/modules/radio/radio-label.component.js +0 -26
  189. package/esm2015/modules/radio/radio.component.js +0 -262
  190. package/esm2015/modules/radio/radio.module.js +0 -28
  191. package/esm2015/modules/radio/types/radio-change.js +0 -2
  192. package/esm2015/modules/selection-box/selection-box-adapter.service.js +0 -124
  193. package/esm2015/modules/selection-box/selection-box-description.component.js +0 -17
  194. package/esm2015/modules/selection-box/selection-box-grid.component.js +0 -129
  195. package/esm2015/modules/selection-box/selection-box-header.component.js +0 -17
  196. package/esm2015/modules/selection-box/selection-box.component.js +0 -106
  197. package/esm2015/modules/selection-box/selection-box.module.js +0 -40
  198. package/esm2015/modules/selection-box/types/selection-box-grid-align-items-type.js +0 -2
  199. package/esm2015/modules/selection-box/types/selection-box-grid-align-items.js +0 -2
  200. package/esm2015/modules/shared/forms-utility.js +0 -26
  201. package/esm2015/modules/shared/sky-forms-resources.module.js +0 -89
  202. package/esm2015/modules/toggle-switch/toggle-switch-label.component.js +0 -18
  203. package/esm2015/modules/toggle-switch/toggle-switch.component.js +0 -158
  204. package/esm2015/modules/toggle-switch/toggle-switch.module.js +0 -20
  205. package/esm2015/modules/toggle-switch/types/toggle-switch-change.js +0 -2
  206. package/esm2015/public-api.js +0 -43
  207. 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=