@skyux/forms 5.0.0 → 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 (210) hide show
  1. package/README.md +5 -4
  2. package/bundles/skyux-forms-testing.umd.js +7 -4
  3. package/bundles/skyux-forms.umd.js +343 -367
  4. package/documentation.json +1700 -1244
  5. package/esm2015/index.js +43 -0
  6. package/esm2015/index.js.map +1 -0
  7. package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js +37 -0
  8. package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js.map +1 -0
  9. package/esm2015/lib/modules/character-counter/character-counter.directive.js +83 -0
  10. package/esm2015/lib/modules/character-counter/character-counter.directive.js.map +1 -0
  11. package/esm2015/lib/modules/character-counter/character-counter.module.js +46 -0
  12. package/esm2015/lib/modules/character-counter/character-counter.module.js.map +1 -0
  13. package/esm2015/lib/modules/checkbox/checkbox-change.js +6 -0
  14. package/esm2015/lib/modules/checkbox/checkbox-change.js.map +1 -0
  15. package/esm2015/lib/modules/checkbox/checkbox-label.component.js +17 -0
  16. package/esm2015/lib/modules/checkbox/checkbox-label.component.js.map +1 -0
  17. package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js +32 -0
  18. package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js.map +1 -0
  19. package/esm2015/lib/modules/checkbox/checkbox.component.js +240 -0
  20. package/esm2015/lib/modules/checkbox/checkbox.component.js.map +1 -0
  21. package/esm2015/lib/modules/checkbox/checkbox.module.js +34 -0
  22. package/esm2015/lib/modules/checkbox/checkbox.module.js.map +1 -0
  23. package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js +19 -0
  24. package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js.map +1 -0
  25. package/esm2015/lib/modules/file-attachment/file-attachment.component.js +331 -0
  26. package/esm2015/lib/modules/file-attachment/file-attachment.component.js.map +1 -0
  27. package/esm2015/lib/modules/file-attachment/file-attachment.service.js +94 -0
  28. package/esm2015/lib/modules/file-attachment/file-attachment.service.js.map +1 -0
  29. package/esm2015/lib/modules/file-attachment/file-attachments.module.js +68 -0
  30. package/esm2015/lib/modules/file-attachment/file-attachments.module.js.map +1 -0
  31. package/esm2015/lib/modules/file-attachment/file-drop.component.js +223 -0
  32. package/esm2015/lib/modules/file-attachment/file-drop.component.js.map +1 -0
  33. package/esm2015/lib/modules/file-attachment/file-item-error-type.js +2 -0
  34. package/esm2015/lib/modules/file-attachment/file-item-error-type.js.map +1 -0
  35. package/esm2015/lib/modules/file-attachment/file-item.component.js +114 -0
  36. package/esm2015/lib/modules/file-attachment/file-item.component.js.map +1 -0
  37. package/esm2015/lib/modules/file-attachment/file-item.js +2 -0
  38. package/esm2015/lib/modules/file-attachment/file-item.js.map +1 -0
  39. package/esm2015/lib/modules/file-attachment/file-item.service.js +72 -0
  40. package/esm2015/lib/modules/file-attachment/file-item.service.js.map +1 -0
  41. package/esm2015/lib/modules/file-attachment/file-link.js +2 -0
  42. package/esm2015/lib/modules/file-attachment/file-link.js.map +1 -0
  43. package/esm2015/lib/modules/file-attachment/file-size.pipe.js +61 -0
  44. package/esm2015/lib/modules/file-attachment/file-size.pipe.js.map +1 -0
  45. package/esm2015/lib/modules/file-attachment/types/file-attachment-change.js +2 -0
  46. package/esm2015/lib/modules/file-attachment/types/file-attachment-change.js.map +1 -0
  47. package/esm2015/lib/modules/file-attachment/types/file-attachment-click.js +2 -0
  48. package/esm2015/lib/modules/file-attachment/types/file-attachment-click.js.map +1 -0
  49. package/esm2015/lib/modules/file-attachment/types/file-drop-change.js +2 -0
  50. package/esm2015/lib/modules/file-attachment/types/file-drop-change.js.map +1 -0
  51. package/esm2015/lib/modules/input-box/input-box-adapter.service.js +35 -0
  52. package/esm2015/lib/modules/input-box/input-box-adapter.service.js.map +1 -0
  53. package/esm2015/lib/modules/input-box/input-box-host.service.js +19 -0
  54. package/esm2015/lib/modules/input-box/input-box-host.service.js.map +1 -0
  55. package/esm2015/lib/modules/input-box/input-box-populate-args.js +2 -0
  56. package/esm2015/lib/modules/input-box/input-box-populate-args.js.map +1 -0
  57. package/esm2015/lib/modules/input-box/input-box.component.js +97 -0
  58. package/esm2015/lib/modules/input-box/input-box.component.js.map +1 -0
  59. package/esm2015/lib/modules/input-box/input-box.module.js +19 -0
  60. package/esm2015/lib/modules/input-box/input-box.module.js.map +1 -0
  61. package/esm2015/lib/modules/radio/radio-group.component.js +223 -0
  62. package/esm2015/lib/modules/radio/radio-group.component.js.map +1 -0
  63. package/esm2015/lib/modules/radio/radio-label.component.js +26 -0
  64. package/esm2015/lib/modules/radio/radio-label.component.js.map +1 -0
  65. package/esm2015/lib/modules/radio/radio.component.js +262 -0
  66. package/esm2015/lib/modules/radio/radio.component.js.map +1 -0
  67. package/esm2015/lib/modules/radio/radio.module.js +28 -0
  68. package/esm2015/lib/modules/radio/radio.module.js.map +1 -0
  69. package/esm2015/lib/modules/radio/types/radio-change.js +2 -0
  70. package/esm2015/lib/modules/radio/types/radio-change.js.map +1 -0
  71. package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js +124 -0
  72. package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js.map +1 -0
  73. package/esm2015/lib/modules/selection-box/selection-box-description.component.js +17 -0
  74. package/esm2015/lib/modules/selection-box/selection-box-description.component.js.map +1 -0
  75. package/esm2015/lib/modules/selection-box/selection-box-grid.component.js +132 -0
  76. package/esm2015/lib/modules/selection-box/selection-box-grid.component.js.map +1 -0
  77. package/esm2015/lib/modules/selection-box/selection-box-header.component.js +17 -0
  78. package/esm2015/lib/modules/selection-box/selection-box-header.component.js.map +1 -0
  79. package/esm2015/lib/modules/selection-box/selection-box.component.js +107 -0
  80. package/esm2015/lib/modules/selection-box/selection-box.component.js.map +1 -0
  81. package/esm2015/lib/modules/selection-box/selection-box.module.js +40 -0
  82. package/esm2015/lib/modules/selection-box/selection-box.module.js.map +1 -0
  83. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items-type.js +2 -0
  84. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items-type.js.map +1 -0
  85. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items.js +2 -0
  86. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items.js.map +1 -0
  87. package/esm2015/lib/modules/shared/forms-utility.js +26 -0
  88. package/esm2015/lib/modules/shared/forms-utility.js.map +1 -0
  89. package/esm2015/lib/modules/shared/sky-forms-resources.module.js +89 -0
  90. package/esm2015/lib/modules/shared/sky-forms-resources.module.js.map +1 -0
  91. package/esm2015/lib/modules/toggle-switch/toggle-switch-label.component.js +18 -0
  92. package/esm2015/lib/modules/toggle-switch/toggle-switch-label.component.js.map +1 -0
  93. package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js +158 -0
  94. package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js.map +1 -0
  95. package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js +20 -0
  96. package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js.map +1 -0
  97. package/esm2015/lib/modules/toggle-switch/types/toggle-switch-change.js +2 -0
  98. package/esm2015/lib/modules/toggle-switch/types/toggle-switch-change.js.map +1 -0
  99. package/esm2015/skyux-forms.js +2 -2
  100. package/esm2015/skyux-forms.js.map +1 -0
  101. package/esm2015/testing/checkbox-fixture.js +6 -3
  102. package/esm2015/testing/checkbox-fixture.js.map +1 -0
  103. package/esm2015/testing/public-api.js +1 -1
  104. package/esm2015/testing/public-api.js.map +1 -0
  105. package/esm2015/testing/skyux-forms-testing.js +1 -1
  106. package/esm2015/testing/skyux-forms-testing.js.map +1 -0
  107. package/fesm2015/skyux-forms-testing.js +5 -2
  108. package/fesm2015/skyux-forms-testing.js.map +1 -1
  109. package/fesm2015/skyux-forms.js +333 -355
  110. package/fesm2015/skyux-forms.js.map +1 -1
  111. package/index.d.ts +40 -0
  112. package/{modules → lib/modules}/character-counter/character-counter-indicator.component.d.ts +0 -0
  113. package/{modules → lib/modules}/character-counter/character-counter.directive.d.ts +0 -0
  114. package/{modules → lib/modules}/character-counter/character-counter.module.d.ts +0 -0
  115. package/{modules → lib/modules}/checkbox/checkbox-change.d.ts +0 -0
  116. package/{modules → lib/modules}/checkbox/checkbox-label.component.d.ts +0 -0
  117. package/{modules → lib/modules}/checkbox/checkbox-required-validator.directive.d.ts +0 -0
  118. package/{modules → lib/modules}/checkbox/checkbox.component.d.ts +3 -3
  119. package/{modules → lib/modules}/checkbox/checkbox.module.d.ts +0 -0
  120. package/{modules → lib/modules}/file-attachment/file-attachment-label.component.d.ts +0 -0
  121. package/{modules → lib/modules}/file-attachment/file-attachment.component.d.ts +0 -0
  122. package/{modules → lib/modules}/file-attachment/file-attachment.service.d.ts +0 -0
  123. package/{modules → lib/modules}/file-attachment/file-attachments.module.d.ts +0 -0
  124. package/{modules → lib/modules}/file-attachment/file-drop.component.d.ts +0 -0
  125. package/{modules → lib/modules}/file-attachment/file-item-error-type.d.ts +0 -0
  126. package/{modules → lib/modules}/file-attachment/file-item.component.d.ts +0 -0
  127. package/{modules → lib/modules}/file-attachment/file-item.d.ts +0 -0
  128. package/{modules → lib/modules}/file-attachment/file-item.service.d.ts +0 -0
  129. package/{modules → lib/modules}/file-attachment/file-link.d.ts +0 -0
  130. package/{modules → lib/modules}/file-attachment/file-size.pipe.d.ts +0 -0
  131. package/{modules → lib/modules}/file-attachment/types/file-attachment-change.d.ts +0 -0
  132. package/{modules → lib/modules}/file-attachment/types/file-attachment-click.d.ts +0 -0
  133. package/{modules → lib/modules}/file-attachment/types/file-drop-change.d.ts +0 -0
  134. package/{modules → lib/modules}/input-box/input-box-adapter.service.d.ts +0 -0
  135. package/{modules → lib/modules}/input-box/input-box-host.service.d.ts +0 -0
  136. package/{modules → lib/modules}/input-box/input-box-populate-args.d.ts +0 -0
  137. package/{modules → lib/modules}/input-box/input-box.component.d.ts +0 -0
  138. package/{modules → lib/modules}/input-box/input-box.module.d.ts +0 -0
  139. package/{modules → lib/modules}/radio/radio-group.component.d.ts +2 -2
  140. package/{modules → lib/modules}/radio/radio-label.component.d.ts +0 -0
  141. package/{modules → lib/modules}/radio/radio.component.d.ts +0 -0
  142. package/{modules → lib/modules}/radio/radio.module.d.ts +0 -0
  143. package/{modules → lib/modules}/radio/types/radio-change.d.ts +0 -0
  144. package/{modules → lib/modules}/selection-box/selection-box-adapter.service.d.ts +0 -0
  145. package/{modules → lib/modules}/selection-box/selection-box-description.component.d.ts +0 -0
  146. package/{modules → lib/modules}/selection-box/selection-box-grid.component.d.ts +0 -0
  147. package/{modules → lib/modules}/selection-box/selection-box-header.component.d.ts +0 -0
  148. package/{modules → lib/modules}/selection-box/selection-box.component.d.ts +0 -0
  149. package/{modules → lib/modules}/selection-box/selection-box.module.d.ts +0 -0
  150. package/{modules → lib/modules}/selection-box/types/selection-box-grid-align-items-type.d.ts +0 -0
  151. package/{modules → lib/modules}/selection-box/types/selection-box-grid-align-items.d.ts +0 -0
  152. package/{modules → lib/modules}/shared/forms-utility.d.ts +0 -0
  153. package/{modules → lib/modules}/shared/sky-forms-resources.module.d.ts +0 -0
  154. package/{modules → lib/modules}/toggle-switch/toggle-switch-label.component.d.ts +0 -0
  155. package/{modules → lib/modules}/toggle-switch/toggle-switch.component.d.ts +0 -0
  156. package/{modules → lib/modules}/toggle-switch/toggle-switch.module.d.ts +0 -0
  157. package/{modules → lib/modules}/toggle-switch/types/toggle-switch-change.d.ts +0 -0
  158. package/package.json +8 -8
  159. package/skyux-forms.d.ts +1 -1
  160. package/LICENSE +0 -21
  161. package/bundles/skyux-forms-testing.umd.js.map +0 -1
  162. package/bundles/skyux-forms.umd.js.map +0 -1
  163. package/esm2015/modules/character-counter/character-counter-indicator.component.js +0 -37
  164. package/esm2015/modules/character-counter/character-counter.directive.js +0 -80
  165. package/esm2015/modules/character-counter/character-counter.module.js +0 -46
  166. package/esm2015/modules/checkbox/checkbox-change.js +0 -6
  167. package/esm2015/modules/checkbox/checkbox-label.component.js +0 -17
  168. package/esm2015/modules/checkbox/checkbox-required-validator.directive.js +0 -31
  169. package/esm2015/modules/checkbox/checkbox.component.js +0 -238
  170. package/esm2015/modules/checkbox/checkbox.module.js +0 -44
  171. package/esm2015/modules/file-attachment/file-attachment-label.component.js +0 -21
  172. package/esm2015/modules/file-attachment/file-attachment.component.js +0 -324
  173. package/esm2015/modules/file-attachment/file-attachment.service.js +0 -92
  174. package/esm2015/modules/file-attachment/file-attachments.module.js +0 -74
  175. package/esm2015/modules/file-attachment/file-drop.component.js +0 -226
  176. package/esm2015/modules/file-attachment/file-item-error-type.js +0 -2
  177. package/esm2015/modules/file-attachment/file-item.component.js +0 -113
  178. package/esm2015/modules/file-attachment/file-item.js +0 -2
  179. package/esm2015/modules/file-attachment/file-item.service.js +0 -69
  180. package/esm2015/modules/file-attachment/file-link.js +0 -2
  181. package/esm2015/modules/file-attachment/file-size.pipe.js +0 -58
  182. package/esm2015/modules/file-attachment/types/file-attachment-change.js +0 -2
  183. package/esm2015/modules/file-attachment/types/file-attachment-click.js +0 -2
  184. package/esm2015/modules/file-attachment/types/file-drop-change.js +0 -2
  185. package/esm2015/modules/input-box/input-box-adapter.service.js +0 -35
  186. package/esm2015/modules/input-box/input-box-host.service.js +0 -19
  187. package/esm2015/modules/input-box/input-box-populate-args.js +0 -2
  188. package/esm2015/modules/input-box/input-box.component.js +0 -103
  189. package/esm2015/modules/input-box/input-box.module.js +0 -30
  190. package/esm2015/modules/radio/radio-group.component.js +0 -225
  191. package/esm2015/modules/radio/radio-label.component.js +0 -26
  192. package/esm2015/modules/radio/radio.component.js +0 -266
  193. package/esm2015/modules/radio/radio.module.js +0 -44
  194. package/esm2015/modules/radio/types/radio-change.js +0 -2
  195. package/esm2015/modules/selection-box/selection-box-adapter.service.js +0 -122
  196. package/esm2015/modules/selection-box/selection-box-description.component.js +0 -17
  197. package/esm2015/modules/selection-box/selection-box-grid.component.js +0 -130
  198. package/esm2015/modules/selection-box/selection-box-header.component.js +0 -17
  199. package/esm2015/modules/selection-box/selection-box.component.js +0 -104
  200. package/esm2015/modules/selection-box/selection-box.module.js +0 -51
  201. package/esm2015/modules/selection-box/types/selection-box-grid-align-items-type.js +0 -2
  202. package/esm2015/modules/selection-box/types/selection-box-grid-align-items.js +0 -2
  203. package/esm2015/modules/shared/forms-utility.js +0 -26
  204. package/esm2015/modules/shared/sky-forms-resources.module.js +0 -41
  205. package/esm2015/modules/toggle-switch/toggle-switch-label.component.js +0 -18
  206. package/esm2015/modules/toggle-switch/toggle-switch.component.js +0 -158
  207. package/esm2015/modules/toggle-switch/toggle-switch.module.js +0 -35
  208. package/esm2015/modules/toggle-switch/types/toggle-switch-change.js +0 -2
  209. package/esm2015/public-api.js +0 -43
  210. package/public-api.d.ts +0 -40
@@ -1,226 +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 && this.fileAttachmentService.fileTypeRejected(file.type, this.acceptedTypes)) {
86
- this.rejectedOver = true;
87
- this.acceptedOver = false;
88
- return;
89
- }
90
- }
91
- if (files.length > 0 && !this.acceptedOver) {
92
- this.rejectedOver = false;
93
- this.acceptedOver = true;
94
- }
95
- }
96
- else /* istanbul ignore else: untestable */ if (transfer.files) {
97
- // If the browser does not support DataTransfer.items,
98
- // defer file-type checking to drop handler.
99
- // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility
100
- this.rejectedOver = false;
101
- this.acceptedOver = true;
102
- }
103
- }
104
- }
105
- fileDrop(dropEvent) {
106
- dropEvent.stopPropagation();
107
- dropEvent.preventDefault();
108
- this.enterEventTarget = undefined;
109
- this.rejectedOver = false;
110
- this.acceptedOver = false;
111
- if (dropEvent.dataTransfer && dropEvent.dataTransfer.files) {
112
- const hasDirectory = this.fileAttachmentService.hasDirectory(dropEvent.dataTransfer.files);
113
- const invalidNumberOfFiles = !this.multiple && dropEvent.dataTransfer.files.length > 1;
114
- if (hasDirectory || invalidNumberOfFiles) {
115
- return;
116
- }
117
- this.handleFiles(dropEvent.dataTransfer.files);
118
- }
119
- }
120
- fileDragLeave(dragLeaveEvent) {
121
- if (this.enterEventTarget === dragLeaveEvent.target) {
122
- this.rejectedOver = false;
123
- this.acceptedOver = false;
124
- }
125
- }
126
- addLinkEnter(event) {
127
- if (event.which === 13) {
128
- this.addLink(event);
129
- }
130
- }
131
- addLink(event) {
132
- event.preventDefault();
133
- this.linkChanged.emit({ url: this.linkUrl });
134
- this.linkUrl = undefined;
135
- }
136
- onLinkBlur() {
137
- this.linkInputBlur.emit();
138
- }
139
- emitFileChangeEvent(totalFiles, rejectedFileArray, validFileArray) {
140
- if (totalFiles === rejectedFileArray.length + validFileArray.length) {
141
- this.filesChanged.emit({
142
- files: validFileArray,
143
- rejectedFiles: rejectedFileArray
144
- });
145
- this.inputEl.nativeElement.value = '';
146
- }
147
- }
148
- filesRejected(file, validFileArray, rejectedFileArray, totalFiles) {
149
- rejectedFileArray.push(file);
150
- this.emitFileChangeEvent(totalFiles, rejectedFileArray, validFileArray);
151
- }
152
- loadFile(fileDrop, file, validFileArray, rejectedFileArray, totalFiles) {
153
- const reader = new FileReader();
154
- reader.addEventListener('load', (event) => {
155
- file.url = event.target.result;
156
- validFileArray.push(file);
157
- fileDrop.emitFileChangeEvent(totalFiles, rejectedFileArray, validFileArray);
158
- });
159
- reader.addEventListener('error', (event) => {
160
- fileDrop.filesRejected(file, validFileArray, rejectedFileArray, totalFiles);
161
- });
162
- reader.addEventListener('abort', (event) => {
163
- fileDrop.filesRejected(file, validFileArray, rejectedFileArray, totalFiles);
164
- });
165
- reader.readAsDataURL(file.file);
166
- }
167
- handleFiles(files) {
168
- let validFileArray = [];
169
- let rejectedFileArray = [];
170
- let totalFiles = files.length;
171
- let fileDrop = this;
172
- // tslint:disable-next-line: max-line-length
173
- let processedFiles = this.fileAttachmentService.checkFiles(files, this.minFileSize, this.maxFileSize, this.acceptedTypes, this.validateFn);
174
- for (let file of processedFiles) {
175
- if (file.errorType) {
176
- this.filesRejected(file, validFileArray, rejectedFileArray, totalFiles);
177
- }
178
- else {
179
- this.loadFile(fileDrop, file, validFileArray, rejectedFileArray, totalFiles);
180
- }
181
- }
182
- }
183
- }
184
- SkyFileDropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFileDropComponent, deps: [{ token: i1.SkyFileAttachmentService }], target: i0.ɵɵFactoryTarget.Component });
185
- SkyFileDropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", 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: [
186
- SkyFileAttachmentService
187
- ], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"sky-file-drop-row\" [ngClass]=\"{ 'sky-file-drop-allow-links': allowLinks }\">\n <div\n class=\"sky-file-drop-col\"\n [ngClass]=\"{ 'sky-file-drop-accept': acceptedOver, 'sky-file-drop-reject': rejectedOver }\">\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]=\"fileUploadAriaLabel || ('skyux_file_attachment_file_upload_drag_or_click' | skyLibResources)\">\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 <div class=\"sky-file-drop-contents sky-padding-even-default\" *ngIf=\"customEl.children.length === 0\">\n <div class=\"sky-file-drop-contents-not-over\">\n <div class=\"sky-file-drop-text-header sky-headline\">\n {{ 'skyux_file_attachment_file_upload_drag_file_here' | skyLibResources }}\n </div>\n <div class=\"sky-file-drop-text\">\n {{ 'skyux_file_attachment_file_upload_or_click_to_browse' | skyLibResources }}\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 {{ 'skyux_file_attachment_file_upload_drop_files_here' | skyLibResources }}\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 {{ 'skyux_file_attachment_file_upload_invalid_file' | skyLibResources }}\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 {{ 'skyux_file_attachment_file_upload_paste_link' | skyLibResources }}\n </div>\n </div>\n <div class=\"sky-form-group\">\n <input\n type=\"text\"\n class=\"sky-form-control\"\n [attr.aria-label]=\"linkUploadAriaLabel || ('skyux_file_attachment_file_upload_link_input' | skyLibResources)\"\n [attr.placeholder]=\"'skyux_file_attachment_file_upload_link_placeholder' | skyLibResources\"\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 {{ 'skyux_file_attachment_file_upload_paste_link_done' | skyLibResources }}\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 } });
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFileDropComponent, decorators: [{
189
- type: Component,
190
- args: [{
191
- selector: 'sky-file-drop',
192
- templateUrl: './file-drop.component.html',
193
- styleUrls: ['./file-drop.component.scss'],
194
- providers: [
195
- SkyFileAttachmentService
196
- ]
197
- }]
198
- }], ctorParameters: function () { return [{ type: i1.SkyFileAttachmentService }]; }, propDecorators: { filesChanged: [{
199
- type: Output
200
- }], linkInputBlur: [{
201
- type: Output
202
- }], linkChanged: [{
203
- type: Output
204
- }], fileUploadAriaLabel: [{
205
- type: Input
206
- }], linkUploadAriaLabel: [{
207
- type: Input
208
- }], minFileSize: [{
209
- type: Input
210
- }], maxFileSize: [{
211
- type: Input
212
- }], multiple: [{
213
- type: Input
214
- }], validateFn: [{
215
- type: Input
216
- }], acceptedTypes: [{
217
- type: Input
218
- }], noClick: [{
219
- type: Input
220
- }], allowLinks: [{
221
- type: Input
222
- }], inputEl: [{
223
- type: ViewChild,
224
- args: ['fileInput']
225
- }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWRyb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtZHJvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQWN2QixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFFbkM7Ozs7Ozs7OztHQVNHO0FBU0gsTUFBTSxPQUFPLG9CQUFvQjtJQXVGL0IsWUFDVSxxQkFBK0M7UUFBL0MsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUEwQjtRQXZGekQ7O1dBRUc7UUFFSSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBRTVEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWhEOztXQUVHO1FBRUksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBZ0JyRDs7V0FFRztRQUVJLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRS9COztXQUVHO1FBRUksZ0JBQVcsR0FBVyxNQUFNLENBQUM7UUFFcEM7O1dBRUc7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBaUJoQzs7V0FFRztRQUVJLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBSzVCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO0lBT2pDLENBQUM7SUFFRSxXQUFXO1FB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QURqQixNQUFNO2dCQVFBLG1CQUFtQjtzQkFEekIsS0FBSztnQkFRQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQU9DLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxVQUFVO3NCQURoQixLQUFLO2dCQVNDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBT0MsT0FBTztzQkFEYixLQUFLO2dCQU9DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUZpbGVJdGVtXG59IGZyb20gJy4vZmlsZS1pdGVtJztcblxuaW1wb3J0IHtcbiAgU2t5RmlsZUxpbmtcbn0gZnJvbSAnLi9maWxlLWxpbmsnO1xuXG5pbXBvcnQge1xuICBTa3lGaWxlRHJvcENoYW5nZVxufSBmcm9tICcuL3R5cGVzL2ZpbGUtZHJvcC1jaGFuZ2UnO1xuXG5pbXBvcnQge1xuICBTa3lGaWxlQXR0YWNobWVudFNlcnZpY2Vcbn0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQuc2VydmljZSc7XG5cbi8qKlxuICogUHJvdmlkZXMgYW4gZWxlbWVudCB0byBhdHRhY2ggbXVsdGlwbGUgZmlsZXMgd2hlcmUgdXNlcnMgY2FuIGJyb3dzZSBvciBkcmFnIGFuZCBkcm9wIGxvY2FsIGZpbGVzXG4gKiBvciBwcm92aWRlIGh5cGVybGlua3MgdG8gZXh0ZXJuYWwgZmlsZXMuIFlvdSBjYW4gbGVhdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb21wb25lbnRcbiAqIGJsYW5rIHRvIGRpc3BsYXkgdGhlIGRyb3Agem9uZSdzIGRlZmF1bHQgVUksIG9yIHlvdSBjYW4gc3BlY2lmeSBjdXN0b20gY29udGVudCB0b1xuICogZGlzcGxheSBpbnN0ZWFkLiBXaGVuIHRoZSBtb2R1bGUgaW5pdGlhbGl6ZXMsIGl0IGRpc2FibGVzIHRoZSBhYmlsaXR5IHRvIGRyYWcgYW5kXG4gKiBkcm9wIGZpbGVzIGZvciB0aGUgZW50aXJlIHdpbmRvdyB0byBwcmV2ZW50IHRoZSBicm93c2VyIGZyb20gb3BlbmluZyBmaWxlcyB0aGF0IGFyZVxuICogYWNjaWRlbnRhbGx5IGRyb3BwZWQgb3V0c2lkZSB0aGUgdGFyZ2V0IHpvbmUuIElmIHlvdSBpbXBsZW1lbnQgeW91ciBvd24gZmlsZSBkcm9wIGZ1bmN0aW9uYWxpdHlcbiAqIG91dHNpZGUgb2YgdGhlIGZpbGUgZHJvcCBjb21wb25lbnQsIHlvdSBjYW4gcGxhY2UgdGhlIGBza3ktZmlsZS1kcm9wLXRhcmdldGAgQ1NTIGNsYXNzXG4gKiBvbiB0aGUgZWxlbWVudCB0aGF0IHJlY2VpdmVzIGRyb3AgZXZlbnRzIHRvIGV4ZW1wdCBpdCBmcm9tIHRoZSBkcm9wIGV4Y2x1c2lvbiBydWxlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZmlsZS1kcm9wJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtZHJvcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtZHJvcC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lGaWxlQXR0YWNobWVudFNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lGaWxlRHJvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIGFkZCBvciByZW1vdmUgZmlsZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZURyb3BDaGFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGxpbmsgaW5wdXQgYm94IHRyaWdnZXJzIGEgYmx1ciBldmVudC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua0lucHV0Qmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBhZGQgb3IgcmVtb3ZlIGxpbmtzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBsaW5rQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZUxpbms+KCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBBUklBIGxhYmVsIGZvciB0aGUgZmlsZSB1cGxvYWQgYnV0dG9uLiBUaGlzIHByb3ZpZGVzIGEgdGV4dCBlcXVpdmFsZW50IGZvclxuICAgKiBzY3JlZW4gcmVhZGVycyBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZpbGVVcGxvYWRBcmlhTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIEFSSUEgbGFiZWwgZm9yIHRoZSBsaW5rIHVwbG9hZCBpbnB1dC4gVGhpcyBwcm92aWRlcyBhIHRleHQgZXF1aXZhbGVudCBmb3JcbiAgICogc2NyZWVuIHJlYWRlcnMgW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsaW5rVXBsb2FkQXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWluaW11bSBzaXplIGluIGJ5dGVzIGZvciB2YWxpZCBmaWxlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5GaWxlU2l6ZTogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHNpemUgaW4gYnl0ZXMgZm9yIHZhbGlkIGZpbGVzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXIgPSA1MDAwMDA7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiBkcmFnIGFuZCBkcm9wIG11bHRpcGxlIGZpbGVzIGF0IHRoZSBzYW1lIHRpbWUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBjdXN0b20gdmFsaWRhdGlvbiBmdW5jdGlvbi4gVGhpcyB2YWxpZGF0aW9uIHJ1bnMgYWxvbmdzaWRlIHRoZSBpbnRlcm5hbFxuICAgKiBmaWxlIHZhbGlkYXRpb24uIFRoaXMgZnVuY3Rpb24gdGFrZXMgYSBgU2t5RmlsZUl0ZW1gIG9iamVjdCBhcyBhIHBhcmFtZXRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWxpZGF0ZUZuOiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgY29tbWEtZGVsaW1pdGVkIHN0cmluZyBsaXRlcmFsIG9mIE1JTUUgdHlwZXMgdGhhdCB1c2VycyBjYW4gYXR0YWNoLlxuICAgKiBCeSBkZWZhdWx0LCBhbGwgZmlsZSB0eXBlcyBhcmUgYWxsb3dlZC5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWNjZXB0ZWRUeXBlczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBvcHRpb24gdG8gYnJvd3NlIGZvciBmaWxlcyB0byBhdHRhY2guXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbm9DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IHRoZSBvcHRpb24gdG8gYXR0YWNoIGZpbGVzIGZyb20gVVJMcyByYXRoZXIgdGhhbiBmcm9tIGxvY2FsIGRldmljZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsb3dMaW5rczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpXG4gIHB1YmxpYyBpbnB1dEVsOiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyByZWplY3RlZE92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGFjY2VwdGVkT3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgbGlua1VybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgZW50ZXJFdmVudFRhcmdldDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmlsZUF0dGFjaG1lbnRTZXJ2aWNlOiBTa3lGaWxlQXR0YWNobWVudFNlcnZpY2VcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5maWxlc0NoYW5nZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLmxpbmtDaGFuZ2VkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5saW5rSW5wdXRCbHVyLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgZHJvcENsaWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLm5vQ2xpY2spIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVDaGFuZ2VFdmVudChmaWxlQ2hhbmdlRXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaGFuZGxlRmlsZXMoZmlsZUNoYW5nZUV2ZW50LnRhcmdldC5maWxlcyk7XG4gIH1cblxuICBwdWJsaWMgZmlsZURyYWdFbnRlcihkcmFnRW50ZXJFdmVudDogYW55KSB7XG4gICAgLy8gU2F2ZSB0aGlzIHRhcmdldCB0byBrbm93IHdoZW4gdGhlIGRyYWcgZXZlbnQgbGVhdmVzXG4gICAgdGhpcy5lbnRlckV2ZW50VGFyZ2V0ID0gZHJhZ0VudGVyRXZlbnQudGFyZ2V0O1xuICAgIGRyYWdFbnRlckV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGRyYWdFbnRlckV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBwdWJsaWMgZmlsZURyYWdPdmVyKGRyYWdPdmVyRXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHRyYW5zZmVyID0gZHJhZ092ZXJFdmVudC5kYXRhVHJhbnNmZXI7XG5cbiAgICBkcmFnT3ZlckV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGRyYWdPdmVyRXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmICh0cmFuc2Zlcikge1xuICAgICAgaWYgKHRyYW5zZmVyLml0ZW1zKSB7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gdHJhbnNmZXIuaXRlbXM7XG5cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZpbGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgIGNvbnN0IGZpbGU6IGFueSA9IGZpbGVzW2luZGV4XTtcblxuICAgICAgICAgIGlmIChmaWxlLnR5cGUgJiYgdGhpcy5maWxlQXR0YWNobWVudFNlcnZpY2UuZmlsZVR5cGVSZWplY3RlZChmaWxlLnR5cGUsIHRoaXMuYWNjZXB0ZWRUeXBlcykpIHtcbiAgICAgICAgICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWNjZXB0ZWRPdmVyKSB7XG4gICAgICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmFjY2VwdGVkT3ZlciA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlOiB1bnRlc3RhYmxlICovaWYgKHRyYW5zZmVyLmZpbGVzKSB7XG4gICAgICAgIC8vIElmIHRoZSBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgRGF0YVRyYW5zZmVyLml0ZW1zLFxuICAgICAgICAvLyBkZWZlciBmaWxlLXR5cGUgY2hlY2tpbmcgdG8gZHJvcCBoYW5kbGVyLlxuICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRGF0YVRyYW5zZmVyL2l0ZW1zI0Jyb3dzZXJfY29tcGF0aWJpbGl0eVxuICAgICAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFjY2VwdGVkT3ZlciA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVEcm9wKGRyb3BFdmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZHJvcEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGRyb3BFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5lbnRlckV2ZW50VGFyZ2V0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gZmFsc2U7XG4gICAgdGhpcy5hY2NlcHRlZE92ZXIgPSBmYWxzZTtcblxuICAgIGlmIChkcm9wRXZlbnQuZGF0YVRyYW5zZmVyICYmIGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpIHtcbiAgICAgIGNvbnN0IGhhc0RpcmVjdG9yeSA9IHRoaXMuZmlsZUF0dGFjaG1lbnRTZXJ2aWNlLmhhc0RpcmVjdG9yeShkcm9wRXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcbiAgICAgIGNvbnN0IGludmFsaWROdW1iZXJPZkZpbGVzID0gIXRoaXMubXVsdGlwbGUgJiYgZHJvcEV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggPiAxO1xuXG4gICAgICBpZiAoaGFzRGlyZWN0b3J5IHx8IGludmFsaWROdW1iZXJPZkZpbGVzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5oYW5kbGVGaWxlcyhkcm9wRXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZURyYWdMZWF2ZShkcmFnTGVhdmVFdmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuZW50ZXJFdmVudFRhcmdldCA9PT0gZHJhZ0xlYXZlRXZlbnQudGFyZ2V0KSB7XG4gICAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgICAgdGhpcy5hY2NlcHRlZE92ZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkTGlua0VudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LndoaWNoID09PSAxMykge1xuICAgICAgdGhpcy5hZGRMaW5rKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkTGluayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMubGlua0NoYW5nZWQuZW1pdCh7IHVybDogdGhpcy5saW5rVXJsIH0gYXMgU2t5RmlsZUxpbmspO1xuICAgIHRoaXMubGlua1VybCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBvbkxpbmtCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMubGlua0lucHV0Qmx1ci5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRGaWxlQ2hhbmdlRXZlbnQoXG4gICAgdG90YWxGaWxlczogbnVtYmVyLFxuICAgIHJlamVjdGVkRmlsZUFycmF5OiBBcnJheTxTa3lGaWxlSXRlbT4sXG4gICAgdmFsaWRGaWxlQXJyYXk6IEFycmF5PFNreUZpbGVJdGVtPlxuICApIHtcbiAgICBpZiAodG90YWxGaWxlcyA9PT0gcmVqZWN0ZWRGaWxlQXJyYXkubGVuZ3RoICsgdmFsaWRGaWxlQXJyYXkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZpbGVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgZmlsZXM6IHZhbGlkRmlsZUFycmF5LFxuICAgICAgICByZWplY3RlZEZpbGVzOiByZWplY3RlZEZpbGVBcnJheVxuICAgICAgfSBhcyBTa3lGaWxlRHJvcENoYW5nZSk7XG5cbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWxlc1JlamVjdGVkKFxuICAgIGZpbGU6IFNreUZpbGVJdGVtLFxuICAgIHZhbGlkRmlsZUFycmF5OiBBcnJheTxTa3lGaWxlSXRlbT4sXG4gICAgcmVqZWN0ZWRGaWxlQXJyYXk6IEFycmF5PFNreUZpbGVJdGVtPixcbiAgICB0b3RhbEZpbGVzOiBudW1iZXJcbiAgKSB7XG4gICAgcmVqZWN0ZWRGaWxlQXJyYXkucHVzaChmaWxlKTtcbiAgICB0aGlzLmVtaXRGaWxlQ2hhbmdlRXZlbnQodG90YWxGaWxlcywgcmVqZWN0ZWRGaWxlQXJyYXksIHZhbGlkRmlsZUFycmF5KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEZpbGUoXG4gICAgZmlsZURyb3A6IFNreUZpbGVEcm9wQ29tcG9uZW50LFxuICAgIGZpbGU6IFNreUZpbGVJdGVtLFxuICAgIHZhbGlkRmlsZUFycmF5OiBBcnJheTxTa3lGaWxlSXRlbT4sXG4gICAgcmVqZWN0ZWRGaWxlQXJyYXk6IEFycmF5PFNreUZpbGVJdGVtPixcbiAgICB0b3RhbEZpbGVzOiBudW1iZXJcbiAgKSB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIGZpbGUudXJsID0gZXZlbnQudGFyZ2V0LnJlc3VsdDtcbiAgICAgIHZhbGlkRmlsZUFycmF5LnB1c2goZmlsZSk7XG4gICAgICBmaWxlRHJvcC5lbWl0RmlsZUNoYW5nZUV2ZW50KHRvdGFsRmlsZXMsIHJlamVjdGVkRmlsZUFycmF5LCB2YWxpZEZpbGVBcnJheSk7XG4gICAgfSk7XG5cbiAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgZmlsZURyb3AuZmlsZXNSZWplY3RlZChmaWxlLCB2YWxpZEZpbGVBcnJheSwgcmVqZWN0ZWRGaWxlQXJyYXksIHRvdGFsRmlsZXMpO1xuICAgIH0pO1xuXG4gICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIGZpbGVEcm9wLmZpbGVzUmVqZWN0ZWQoZmlsZSwgdmFsaWRGaWxlQXJyYXksIHJlamVjdGVkRmlsZUFycmF5LCB0b3RhbEZpbGVzKTtcbiAgICB9KTtcblxuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUuZmlsZSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUZpbGVzKGZpbGVzOiBGaWxlTGlzdCkge1xuICAgIGxldCB2YWxpZEZpbGVBcnJheTogQXJyYXk8U2t5RmlsZUl0ZW0+ID0gW107XG4gICAgbGV0IHJlamVjdGVkRmlsZUFycmF5OiBBcnJheTxTa3lGaWxlSXRlbT4gPSBbXTtcbiAgICBsZXQgdG90YWxGaWxlcyA9IGZpbGVzLmxlbmd0aDtcbiAgICBsZXQgZmlsZURyb3AgPSB0aGlzO1xuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcbiAgICBsZXQgcHJvY2Vzc2VkRmlsZXMgPSB0aGlzLmZpbGVBdHRhY2htZW50U2VydmljZS5jaGVja0ZpbGVzKGZpbGVzLCB0aGlzLm1pbkZpbGVTaXplLCB0aGlzLm1heEZpbGVTaXplLCB0aGlzLmFjY2VwdGVkVHlwZXMsIHRoaXMudmFsaWRhdGVGbik7XG5cbiAgICBmb3IgKGxldCBmaWxlIG9mIHByb2Nlc3NlZEZpbGVzKSB7XG4gICAgICBpZiAoZmlsZS5lcnJvclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWxlc1JlamVjdGVkKGZpbGUsIHZhbGlkRmlsZUFycmF5LCByZWplY3RlZEZpbGVBcnJheSwgdG90YWxGaWxlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvYWRGaWxlKGZpbGVEcm9wLCBmaWxlLCB2YWxpZEZpbGVBcnJheSwgcmVqZWN0ZWRGaWxlQXJyYXksIHRvdGFsRmlsZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1maWxlLWRyb3Atcm93XCIgW25nQ2xhc3NdPVwieyAnc2t5LWZpbGUtZHJvcC1hbGxvdy1saW5rcyc6IGFsbG93TGlua3MgfVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZmlsZS1kcm9wLWNvbFwiXG4gICAgW25nQ2xhc3NdPVwieyAnc2t5LWZpbGUtZHJvcC1hY2NlcHQnOiBhY2NlcHRlZE92ZXIsICdza3ktZmlsZS1kcm9wLXJlamVjdCc6IHJlamVjdGVkT3ZlciB9XCI+XG5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1maWxlLWRyb3Agc2t5LWZpbGUtZHJvcC10YXJnZXRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiZHJvcENsaWNrZWQoKVwiXG4gICAgICAoZHJhZ292ZXIpPVwiZmlsZURyYWdPdmVyKCRldmVudClcIlxuICAgICAgKGRyYWdlbnRlcik9XCJmaWxlRHJhZ0VudGVyKCRldmVudClcIlxuICAgICAgKGRyYWdsZWF2ZSk9XCJmaWxlRHJhZ0xlYXZlKCRldmVudClcIlxuICAgICAgKGRyb3ApPVwiZmlsZURyb3AoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImZpbGVVcGxvYWRBcmlhTGFiZWwgfHwgKCdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZHJhZ19vcl9jbGljaycgfCBza3lMaWJSZXNvdXJjZXMpXCI+XG4gICAgPC9idXR0b24+XG5cbiAgICA8aW5wdXRcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIGNsYXNzPVwic2t5LWZpbGUtaW5wdXQtaGlkZGVuXCJcbiAgICAgIFthdHRyLm11bHRpcGxlXT1cIm11bHRpcGxlID8gbXVsdGlwbGU6IG51bGxcIlxuICAgICAgW2F0dHIuYWNjZXB0XT1cImFjY2VwdGVkVHlwZXMgPyBhY2NlcHRlZFR5cGVzOiBudWxsXCJcbiAgICAgIChjaGFuZ2UpPVwiZmlsZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgICAgI2ZpbGVJbnB1dD5cblxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1kcm9wLWNvbnRlbnRzIHNreS1wYWRkaW5nLWV2ZW4tZGVmYXVsdFwiICpuZ0lmPVwiY3VzdG9tRWwuY2hpbGRyZW4ubGVuZ3RoID09PSAwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb250ZW50cy1ub3Qtb3ZlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC10ZXh0LWhlYWRlciBza3ktaGVhZGxpbmVcIj5cbiAgICAgICAgICB7eyAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2RyYWdfZmlsZV9oZXJlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWRyb3AtdGV4dFwiPlxuICAgICAgICAgIHt7ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfb3JfY2xpY2tfdG9fYnJvd3NlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJjbG91ZC11cGxvYWRcIiBjbGFzcz1cInNreS1maWxlLXVwbG9hZC1pY29uXCI+PC9za3ktaWNvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFRoaXMgd2lsbCBhcHBlYXIgd2hlbiBmaWxlIGlzIGRyYWdnZWQgb3ZlciBhbmQgaXMgdmFsaWQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1jb250ZW50cy1hY2NlcHRcIiA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1kcm9wLXRleHQtaGVhZGVyIHNreS1oZWFkbGluZVwiPlxuICAgICAgICAgIHt7ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZHJvcF9maWxlc19oZXJlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJidWxsc2V5ZVwiIGNsYXNzPVwic2t5LWZpbGUtdXBsb2FkLWljb25cIj48L3NreS1pY29uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gVGhpcyB3aWxsIGFwcGVhciB3aGVuIGZpbGUgaXMgZHJhZ2dlZCBvdmVyIGFuZCBpcyBpbnZhbGlkIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWRyb3AtY29udGVudHMtcmVqZWN0XCIgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC10ZXh0LWhlYWRlciBza3ktaGVhZGxpbmVcIj5cbiAgICAgICAgICB7eyAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2ludmFsaWRfZmlsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxza3ktaWNvbiBpY29uPVwidGltZXMtY2lyY2xlXCIgY2xhc3M9XCJza3ktZmlsZS11cGxvYWQtaWNvblwiPjwvc2t5LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1kcm9wLWNvbnRlbnRzLWN1c3RvbVwiICNjdXN0b21FbD5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1kcm9wLWNvbFwiICpuZ0lmPVwiYWxsb3dMaW5rc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1kcm9wLWNvbnRlbnRzIHNreS1wYWRkaW5nLWV2ZW4tZGVmYXVsdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWRyb3AtbGlua1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtZHJvcC1saW5rLWhlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1kcm9wLXRleHQtaGVhZGVyIHNreS1oZWFkbGluZVwiPlxuICAgICAgICAgICAge3sgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9wYXN0ZV9saW5rJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaW5rVXBsb2FkQXJpYUxhYmVsIHx8ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2xpbmtfaW5wdXQnIHwgc2t5TGliUmVzb3VyY2VzKVwiXG4gICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCInc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2xpbmtfcGxhY2Vob2xkZXInIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibGlua1VybFwiXG4gICAgICAgICAgICAoYmx1cik9XCJvbkxpbmtCbHVyKClcIlxuICAgICAgICAgICAgKGtleXVwKT1cImFkZExpbmtFbnRlcigkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFsaW5rVXJsXCJcbiAgICAgICAgICAoY2xpY2spPVwiYWRkTGluaygkZXZlbnQpXCI+XG4gICAgICAgICAge3sgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9wYXN0ZV9saW5rX2RvbmUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLWVycm9yLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1pdGVtLWVycm9yLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgd2FzIHRocm93bi5cbiAqL1xuZXhwb3J0IHR5cGUgU2t5RmlsZUl0ZW1FcnJvclR5cGUgPSAnZmlsZVR5cGUnIHwgJ21pbkZpbGVTaXplJyB8ICdtYXhGaWxlU2l6ZScgfCAndmFsaWRhdGUnO1xuIl19
@@ -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.7", 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.7", 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 type=\"button\" class=\"sky-btn sky-btn-default sky-file-item-btn-delete\" [attr.aria-label]=\"'skyux_file_attachment_file_item_delete' | skyLibResources\" (click)=\"itemDelete()\">\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]=\"'skyux_file_attachment_file_upload_image_preview_alt_text' | skyLibResources\" />\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.7", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBSU4sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBbUJ2QixNQUFNLE9BQU8sb0JBQW9CO0lBbUMvQixZQUNVLE9BQXdCLEVBQ3hCLGVBQW1DO1FBRG5DLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQXpCN0M7OztXQUdHO1FBRUksZUFBVSxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBc0JoRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFyQkQsSUFBVyxRQUFRO1FBQ2pCLE9BQXFCLElBQUksQ0FBQyxRQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQXFCLElBQUksQ0FBQyxRQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxHQUFHO1FBQ1osT0FBcUIsSUFBSSxDQUFDLFFBQVMsQ0FBQyxHQUFHLENBQUM7SUFDMUMsQ0FBQztJQWFNLFNBQVM7UUFDZCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFD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T3V0cHV0LFxuICBEb0NoZWNrLFxuICBLZXlWYWx1ZURpZmZlcnMsXG4gIEtleVZhbHVlRGlmZmVyLFxuICBFdmVudEVtaXR0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUZpbGVJdGVtXG59IGZyb20gJy4vZmlsZS1pdGVtJztcblxuaW1wb3J0IHtcbiAgU2t5RmlsZUxpbmtcbn0gZnJvbSAnLi9maWxlLWxpbmsnO1xuXG5pbXBvcnQge1xuICBTa3lGaWxlSXRlbVNlcnZpY2Vcbn0gZnJvbSAnLi9maWxlLWl0ZW0uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1maWxlLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrIHtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzdW1tYXJ5IGluZm9ybWF0aW9uIHRvIGRpc3BsYXkgYWJvdXQgZmlsZSBhdHRhY2htZW50cy4gRm9yIGxvY2FsIGZpbGVzLFxuICAgKiB0aGUgZGVmYXVsdCBzdW1tYXJ5IGluY2x1ZGVzIHRoZSBmaWxlIG5hbWUsIGZpbGUgc2l6ZSwgZmlsZSBwcmV2aWV3LCBhbmQgYSBkZWxldGUgYnV0dG9uLlxuICAgKiBGb3IgZXh0ZXJuYWwgZmlsZXMsIHRoZSBkZWZhdWx0IHN1bW1hcnkgaW5jbHVkZXMgdGhlIFVSTCBhbmQgYSBkZWxldGUgYnV0dG9uLlxuICAgKiBZb3UgY2FuIGluY2x1ZGUgYWRkaXRpb25hbCBpbnB1dHMgdG8gZGlzcGxheSB1c2VyLWVudGVyZWQgbWV0YWRhdGEuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZpbGVJdGVtOiBTa3lGaWxlSXRlbSB8IFNreUZpbGVMaW5rO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgZGVsZXRlIGJ1dHRvbiBmb3IgYW4gaXRlbS4gVGhlIGRlbGV0ZWQgaXRlbSBpcyBwYXNzZWQgdG8gdGhlXG4gICAqIGZ1bmN0aW9uLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxldGVGaWxlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lGaWxlTGluayB8IFNreUZpbGVJdGVtPigpO1xuXG4gIHB1YmxpYyBnZXQgZmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKDxTa3lGaWxlSXRlbT50aGlzLmZpbGVJdGVtKS5maWxlLm5hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbGVTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICg8U2t5RmlsZUl0ZW0+dGhpcy5maWxlSXRlbSkuZmlsZS5zaXplO1xuICB9XG5cbiAgcHVibGljIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKDxTa3lGaWxlTGluaz50aGlzLmZpbGVJdGVtKS51cmw7XG4gIH1cblxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByaXZhdGUgZmlsZUl0ZW1TZXJ2aWNlOiBTa3lGaWxlSXRlbVNlcnZpY2VcbiAgICApIHtcbiAgICB0aGlzLmRpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKHt9KS5jcmVhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgbGV0IGNoYW5nZXMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuZmlsZUl0ZW0pO1xuXG4gICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgIGxldCBjbHM6IHN0cmluZyxcbiAgICAgICAgICBleHRlbnNpb25VcHBlciA9IHRoaXMuZmlsZUl0ZW1TZXJ2aWNlLmdldEZpbGVFeHRlbnNpb25VcHBlcig8U2t5RmlsZUl0ZW0+dGhpcy5maWxlSXRlbSksXG4gICAgICAgICAgZmlsZVR5cGVVcHBlcjogc3RyaW5nO1xuXG4gICAgICBzd2l0Y2ggKGV4dGVuc2lvblVwcGVyKSB7XG4gICAgICAgIGNhc2UgJy5QREYnOlxuICAgICAgICAgIGNscyA9ICdwZGYnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICcuR1onOlxuICAgICAgICBjYXNlICcuUkFSJzpcbiAgICAgICAgY2FzZSAnLlRHWic6XG4gICAgICAgIGNhc2UgJy5aSVAnOlxuICAgICAgICAgIGNscyA9ICdhcmNoaXZlJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnLlBQVCc6XG4gICAgICAgIGNhc2UgJy5QUFRYJzpcbiAgICAgICAgICBjbHMgPSAncG93ZXJwb2ludCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJy5ET0MnOlxuICAgICAgICBjYXNlICcuRE9DWCc6XG4gICAgICAgICAgY2xzID0gJ3dvcmQnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICcuWExTJzpcbiAgICAgICAgY2FzZSAnLlhMU1gnOlxuICAgICAgICAgIGNscyAgPSAnZXhjZWwnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICcuVFhUJzpcbiAgICAgICAgICBjbHMgPSAndGV4dCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJy5IVE0nOlxuICAgICAgICBjYXNlICcuSFRNTCc6XG4gICAgICAgICAgY2xzID0gJ2NvZGUnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWNscykge1xuICAgICAgICBmaWxlVHlwZVVwcGVyID0gdGhpcy5maWxlSXRlbVNlcnZpY2UuZ2V0RmlsZVR5cGVVcHBlcig8U2t5RmlsZUl0ZW0+dGhpcy5maWxlSXRlbSk7XG5cbiAgICAgICAgc3dpdGNoIChmaWxlVHlwZVVwcGVyLnN1YnN0cigwLCBmaWxlVHlwZVVwcGVyLmluZGV4T2YoJy8nKSkpIHtcbiAgICAgICAgICBjYXNlICdBVURJTyc6XG4gICAgICAgICAgICBjbHMgPSAnYXVkaW8nO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnSU1BR0UnOlxuICAgICAgICAgICAgLy8gTm9ybWFsbHkgaW1hZ2VzIGFyZSBkaXNwbGF5ZWQgYXMgdGh1bWJuYWlscywgYnV0IGlmIGFuIGltYWdlIHR5cGUgaXMgbm90IHJlY29nbml6ZWRcbiAgICAgICAgICAgIC8vIGFzIGJlaW5nIHdpZGVseSBzdXBwb3J0ZWQgYnkgbW9kZXJuIGJyb3dzZXJzIChlLmcuIFRJRkYgZmlsZXMpIHRoZW4gYW4gaWNvbiBzaG91bGRcbiAgICAgICAgICAgIC8vIGJlIGRpc3BsYXllZCBpbnN0ZWFkLlxuICAgICAgICAgICAgY2xzID0gJ2ltYWdlJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1RFWFQnOlxuICAgICAgICAgICAgY2xzID0gJ3RleHQnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnVklERU8nOlxuICAgICAgICAgICAgY2xzID0gJ3ZpZGVvJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5pY29uID0gJ2ZpbGUtJyArIChjbHMgPyBjbHMgKyAnLScgOiAnJykgKyAnbyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGl0ZW1EZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGVGaWxlLmVtaXQodGhpcy5maWxlSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgaXNGaWxlKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVJdGVtU2VydmljZS5pc0ZpbGUoPFNreUZpbGVJdGVtPnRoaXMuZmlsZUl0ZW0pO1xuICB9XG5cbiAgcHVibGljIGlzSW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUl0ZW1TZXJ2aWNlLmlzSW1hZ2UoPFNreUZpbGVJdGVtPnRoaXMuZmlsZUl0ZW0pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtIHNreS1wYWRkaW5nLWV2ZW4tZGVmYXVsdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXRpdGxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLW5hbWUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbS1uYW1lXCI+XG4gICAgICAgICAgICAgICAgPHN0cm9uZyAqbmdJZj1cImlzRmlsZSgpXCI+e3tmaWxlTmFtZX19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPHN0cm9uZyAqbmdJZj1cIiFpc0ZpbGUoKVwiPnt7dXJsfX08L3N0cm9uZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWl0ZW0tc2l6ZVwiICpuZ0lmPVwiaXNGaWxlKClcIj5cbiAgICAgICAgICAgICAgKHt7ZmlsZVNpemUgfCBza3lGaWxlU2l6ZX19KVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbS1jb250cm9sc1wiPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWZpbGUtaXRlbS1idG4tZGVsZXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfaXRlbV9kZWxldGUnIHwgc2t5TGliUmVzb3VyY2VzXCIgKGNsaWNrKT1cIml0ZW1EZWxldGUoKVwiPlxuICAgICAgICAgICAgPHNreS1pY29uIGljb249XCJ0cmFzaC1vXCIgc2l6ZT1cImxnXCI+PC9za3ktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1maWxlLWl0ZW0tY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZpbGUtaXRlbS1wcmV2aWV3XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNJbWFnZSgpXCIgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXByZXZpZXctaW1nLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZmlsZS1pdGVtLXByZXZpZXctaW1nXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cInVybFwiXG4gICAgICAgICAgICAgICAgW2FsdF09XCInc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfdXBsb2FkX2ltYWdlX3ByZXZpZXdfYWx0X3RleHQnIHwgc2t5TGliUmVzb3VyY2VzXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc0ltYWdlKClcIiBjbGFzcz1cInNreS1maWxlLWl0ZW0tcHJldmlldy1vdGhlclwiPlxuICAgICAgICAgICAgICA8c2t5LWljb24gW2ljb25dPVwiaWNvblwiPjwvc2t5LWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktZmlsZS1pdGVtLWNvbnRlbnQtY3VzdG9tXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2t5RmlsZUl0ZW1FcnJvclR5cGVcbn0gZnJvbSAnLi9maWxlLWl0ZW0tZXJyb3ItdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5RmlsZUl0ZW0ge1xuICAvKipcbiAgICogVGhlIG9iamVjdCB0aGF0IHdhcyBhZGRlZCBvciByZW1vdmVkLlxuICAgKi9cbiAgZmlsZTogRmlsZTtcbiAgLyoqXG4gICAqIFRoZSBbZGF0YSBVUkxdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvQmFzaWNzX29mX0hUVFAvRGF0YV9VUklzKVxuICAgKiBmb3IgdGhlIGZpbGUgdGhhdCB3YXMgYWRkZWQgb3IgcmVtb3ZlZC5cbiAgICovXG4gIHVybDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgZXJyb3IgdGhhdCBjYXVzZWQgdGhlIGZpbGUgdG8gYmUgcmVqZWN0ZWQuXG4gICAqL1xuICBlcnJvclR5cGU6IFNreUZpbGVJdGVtRXJyb3JUeXBlO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBwYXJhbWV0ZXJzIGFib3V0IHRoZSBlcnJvciB0aGF0IGNhdXNlZCB0aGUgZmlsZSB0byBiZSByZWplY3RlZC5cbiAgICovXG4gIGVycm9yUGFyYW06IHN0cmluZztcbn1cbiJdfQ==
@@ -1,69 +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 && file !== undefined && file !== null && file.size !== undefined
11
- && file.size !== null;
12
- /* tslint:enable */
13
- }
14
- isImage(fileItem) {
15
- let fileTypeUpper = this.getFileTypeUpper(fileItem), slashIndex;
16
- slashIndex = fileTypeUpper.indexOf('/');
17
- if (slashIndex >= 0) {
18
- switch (fileTypeUpper.substr(fileTypeUpper.indexOf('/') + 1)) {
19
- case 'BMP':
20
- case 'GIF':
21
- case 'JPEG':
22
- case 'PNG':
23
- return true;
24
- default:
25
- break;
26
- }
27
- }
28
- return false;
29
- }
30
- getFileExtensionUpper(fileItem) {
31
- let extension = '', name;
32
- /* istanbul ignore else */
33
- /* sanity check */
34
- if (fileItem) {
35
- let file = fileItem.file;
36
- if (file) {
37
- /* istanbul ignore next */
38
- name = file.name || '';
39
- /* istanbul ignore next */
40
- extension = name.substr(name.lastIndexOf('.')) || '';
41
- }
42
- else {
43
- extension = '';
44
- }
45
- }
46
- return extension.toUpperCase();
47
- }
48
- getFileTypeUpper(fileItem) {
49
- let fileType = '';
50
- /* istanbul ignore else */
51
- /* sanity check */
52
- if (fileItem) {
53
- let file = fileItem.file;
54
- if (file) {
55
- fileType = file.type || '';
56
- }
57
- else {
58
- fileType = '';
59
- }
60
- }
61
- return fileType.toUpperCase();
62
- }
63
- }
64
- SkyFileItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFileItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
65
- SkyFileItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFileItemService });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFileItemService, decorators: [{
67
- type: Injectable
68
- }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1pdGVtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQzs7QUFNdkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBRXRCLE1BQU0sQ0FBQyxRQUFxQjtRQUNqQyxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBRXpCLG9CQUFvQjtRQUNwQixPQUFPLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO2VBQ3hFLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1FBQ3hCLG1CQUFtQjtJQUNyQixDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQXFCO1FBQ2xDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFDL0IsVUFBa0IsQ0FBQztRQUV2QyxVQUFVLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QyxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUU7WUFDbkIsUUFBUSxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQzVELEtBQUssS0FBSyxDQUFDO2dCQUNYLEtBQUssS0FBSyxDQUFDO2dCQUNYLEtBQUssTUFBTSxDQUFDO2dCQUNaLEtBQUssS0FBSztvQkFDUixPQUFPLElBQUksQ0FBQztnQkFDZDtvQkFDRSxNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFFBQXFCO1FBQ2hELElBQUksU0FBUyxHQUFHLEVBQUUsRUFDZCxJQUFZLENBQUM7UUFFakIsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDekIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsMEJBQTBCO2dCQUMxQixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCLDBCQUEwQjtnQkFDMUIsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN0RDtpQkFBTTtnQkFDTCxTQUFTLEdBQUcsRUFBRSxDQUFDO2FBQ2hCO1NBRUY7UUFFRCxPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBcUI7UUFDM0MsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3pCLElBQUksSUFBSSxFQUFFO2dCQUNSLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQzthQUM1QjtpQkFBTTtnQkFDTCxRQUFRLEdBQUcsRUFBRSxDQUFDO2FBQ2Y7U0FDRjtRQUVELE9BQU8sUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7OytHQXBFVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5RmlsZUl0ZW1cbn0gZnJvbSAnLi9maWxlLWl0ZW0nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RmlsZUl0ZW1TZXJ2aWNlIHtcblxuICBwdWJsaWMgaXNGaWxlKGZpbGVJdGVtOiBTa3lGaWxlSXRlbSk6IGJvb2xlYW4ge1xuICAgIGxldCBmaWxlID0gZmlsZUl0ZW0uZmlsZTtcblxuICAgIC8qIHRzbGludDpkaXNhYmxlICovXG4gICAgcmV0dXJuIGZpbGUgJiYgZmlsZSAhPT0gdW5kZWZpbmVkICYmIGZpbGUgIT09IG51bGwgJiYgZmlsZS5zaXplICE9PSB1bmRlZmluZWRcbiAgICAgICYmIGZpbGUuc2l6ZSAhPT0gbnVsbDtcbiAgICAvKiB0c2xpbnQ6ZW5hYmxlICovXG4gIH1cblxuICBwdWJsaWMgaXNJbWFnZShmaWxlSXRlbTogU2t5RmlsZUl0ZW0pOiBib29sZWFuIHtcbiAgICBsZXQgZmlsZVR5cGVVcHBlciA9IHRoaXMuZ2V0RmlsZVR5cGVVcHBlcihmaWxlSXRlbSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzbGFzaEluZGV4OiBudW1iZXI7XG5cbiAgICBzbGFzaEluZGV4ID0gZmlsZVR5cGVVcHBlci5pbmRleE9mKCcvJyk7XG5cbiAgICBpZiAoc2xhc2hJbmRleCA+PSAwKSB7XG4gICAgICBzd2l0Y2ggKGZpbGVUeXBlVXBwZXIuc3Vic3RyKGZpbGVUeXBlVXBwZXIuaW5kZXhPZignLycpICsgMSkpIHtcbiAgICAgICAgY2FzZSAnQk1QJzpcbiAgICAgICAgY2FzZSAnR0lGJzpcbiAgICAgICAgY2FzZSAnSlBFRyc6XG4gICAgICAgIGNhc2UgJ1BORyc6XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldEZpbGVFeHRlbnNpb25VcHBlcihmaWxlSXRlbTogU2t5RmlsZUl0ZW0pOiBzdHJpbmcge1xuICAgIGxldCBleHRlbnNpb24gPSAnJyxcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoZmlsZUl0ZW0pIHtcbiAgICAgIGxldCBmaWxlID0gZmlsZUl0ZW0uZmlsZTtcbiAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIG5hbWUgPSBmaWxlLm5hbWUgfHwgJyc7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGV4dGVuc2lvbiA9IG5hbWUuc3Vic3RyKG5hbWUubGFzdEluZGV4T2YoJy4nKSkgfHwgJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleHRlbnNpb24gPSAnJztcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHJldHVybiBleHRlbnNpb24udG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWxlVHlwZVVwcGVyKGZpbGVJdGVtOiBTa3lGaWxlSXRlbSk6IHN0cmluZyB7XG4gICAgbGV0IGZpbGVUeXBlID0gJyc7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoZmlsZUl0ZW0pIHtcbiAgICAgIGxldCBmaWxlID0gZmlsZUl0ZW0uZmlsZTtcbiAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgIGZpbGVUeXBlID0gZmlsZS50eXBlIHx8ICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsZVR5cGUgPSAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmlsZVR5cGUudG9VcHBlckNhc2UoKTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lGaWxlTGluayB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIFVSTCBmb3IgdGhlIGxpbmtlZCBmaWxlLlxuICAgKi9cbiAgdXJsOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,58 +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))) / Math.pow(10, decimalPlaces);
42
- formattedSize = this.decimalPipe.transform(roundedSize, '.0-3');
43
- return this.getString(template, formattedSize);
44
- }
45
- getString(key, ...args) {
46
- // TODO: Need to implement the async `getString` method in a breaking change.
47
- return this.resourcesService.getStringForLocale({ locale: 'en-US' }, key, ...args);
48
- }
49
- }
50
- SkyFileSizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFileSizePipe, deps: [{ token: i1.DecimalPipe }, { token: i2.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Pipe });
51
- SkyFileSizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFileSizePipe, name: "skyFileSize" });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyFileSizePipe, decorators: [{
53
- type: Pipe,
54
- args: [{
55
- name: 'skyFileSize'
56
- }]
57
- }], ctorParameters: function () { return [{ type: i1.DecimalPipe }, { type: i2.SkyLibResourcesService }]; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1zaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLElBQUksRUFFTCxNQUFNLGVBQWUsQ0FBQzs7OztBQVV2Qjs7R0FFRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQ1UsV0FBd0IsRUFDeEIsZ0JBQXdDO1FBRHhDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7SUFDOUMsQ0FBQztJQUVFLFNBQVMsQ0FBQyxLQUFhO1FBRTVCLElBQUksYUFBYSxHQUFHLENBQUMsRUFDVCxRQUFRLEdBQUcsQ0FBQyxFQUNaLGFBQXFCLEVBQ3JCLFdBQW1CLEVBQ25CLFFBQWdCLENBQUM7UUFFN0Isb0JBQW9CO1FBQ3BCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxtQkFBbUI7UUFFbkIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixRQUFRLEdBQUcsNENBQTRDLENBQUM7U0FDekQ7YUFBTSxJQUFJLEtBQUssR0FBRyxJQUFJLEVBQUU7WUFDdkIsUUFBUSxHQUFHLDBDQUEwQyxDQUFDO1NBQ3ZEO2FBQU0sSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFO1lBQ3RCLFFBQVEsR0FBRyxvQ0FBb0MsQ0FBQztZQUNoRCxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFO1lBQ3RCLFFBQVEsR0FBRyxvQ0FBb0MsQ0FBQztZQUNoRCxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ2YsYUFBYSxHQUFHLENBQUMsQ0FBQztTQUNuQjthQUFNO1lBQ0wsUUFBUSxHQUFHLG9DQUFvQyxDQUFDO1lBQ2hELFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDZixhQUFhLEdBQUcsQ0FBQyxDQUFDO1NBQ25CO1FBRUQsV0FBVztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUU3RixhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWhFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO1FBQzNDLDZFQUE2RTtRQUM3RSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDN0MsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQ25CLEdBQUcsRUFDSCxHQUFHLElBQUksQ0FDUixDQUFDO0lBQ0osQ0FBQzs7NEdBckRVLGVBQWU7MEdBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUgzQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxhQUFhO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFBpcGUsXG4gIFBpcGVUcmFuc2Zvcm1cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIERlY2ltYWxQaXBlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lGaWxlU2l6ZSdcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsZVNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIHRyYW5zZm9ybShpbnB1dDogbnVtYmVyKTogc3RyaW5nIHtcblxuICAgIGxldCBkZWNpbWFsUGxhY2VzID0gMCxcbiAgICAgICAgICAgICAgICBkaXZpZGVuZCA9IDEsXG4gICAgICAgICAgICAgICAgZm9ybWF0dGVkU2l6ZTogc3RyaW5nLFxuICAgICAgICAgICAgICAgIHJvdW5kZWRTaXplOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGU6IHN0cmluZztcblxuICAgIC8qIHRzbGludDpkaXNhYmxlICovXG4gICAgaWYgKGlucHV0ID09PSBudWxsIHx8IGlucHV0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICAvKiB0c2xpbnQ6ZW5hYmxlICovXG5cbiAgICBpZiAoTWF0aC5hYnMoaW5wdXQpID09PSAxKSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX2Jfc2luZ3VsYXInO1xuICAgIH0gZWxzZSBpZiAoaW5wdXQgPCAxMDAwKSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX2JfcGx1cmFsJztcbiAgICB9IGVsc2UgaWYgKGlucHV0IDwgMWU2KSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX2tiJztcbiAgICAgIGRpdmlkZW5kID0gMTAwMDtcbiAgICB9IGVsc2UgaWYgKGlucHV0IDwgMWU5KSB7XG4gICAgICB0ZW1wbGF0ZSA9ICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV9zaXplX21iJztcbiAgICAgIGRpdmlkZW5kID0gMWU2O1xuICAgICAgZGVjaW1hbFBsYWNlcyA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRlbXBsYXRlID0gJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3NpemVfZ2InO1xuICAgICAgZGl2aWRlbmQgPSAxZTk7XG4gICAgICBkZWNpbWFsUGxhY2VzID0gMTtcbiAgICB9XG5cbiAgICByb3VuZGVkU2l6ZSA9XG4gICAgICBNYXRoLmZsb29yKGlucHV0IC8gKGRpdmlkZW5kIC8gTWF0aC5wb3coMTAsIGRlY2ltYWxQbGFjZXMpKSkgLyBNYXRoLnBvdygxMCwgZGVjaW1hbFBsYWNlcyk7XG5cbiAgICBmb3JtYXR0ZWRTaXplID0gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0ocm91bmRlZFNpemUsICcuMC0zJyk7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmcodGVtcGxhdGUsIGZvcm1hdHRlZFNpemUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdHJpbmcoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKFxuICAgICAgeyBsb2NhbGU6ICdlbi1VUycgfSxcbiAgICAgIGtleSxcbiAgICAgIC4uLmFyZ3NcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC90eXBlcy9maWxlLWF0dGFjaG1lbnQtY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTa3lGaWxlSXRlbVxufSBmcm9tICcuLi9maWxlLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreUZpbGVBdHRhY2htZW50Q2hhbmdlIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZmlsZSB0aGF0IHdhcyBhZGRlZCBvciByZW1vdmVkLlxuICAgKi9cbiAgZmlsZTogU2t5RmlsZUl0ZW07XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWNsaWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMvc3JjL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3R5cGVzL2ZpbGUtYXR0YWNobWVudC1jbGljay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2t5RmlsZUl0ZW1cbn0gZnJvbSAnLi4vZmlsZS1pdGVtJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3lGaWxlQXR0YWNobWVudENsaWNrIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZmlsZSB0aGF0IHdhcyBjbGlja2VkLlxuICAgKi9cbiAgZmlsZTogU2t5RmlsZUl0ZW07XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC90eXBlcy9maWxlLWRyb3AtY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTa3lGaWxlSXRlbVxufSBmcm9tICcuLi9maWxlLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreUZpbGVEcm9wQ2hhbmdlIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiBmaWxlcyB0aGF0IHdlcmUgYWRkZWQgb3IgcmVtb3ZlZC5cbiAgICovXG4gIGZpbGVzOiBBcnJheTxTa3lGaWxlSXRlbT47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gYXJyYXkgb2YgZmlsZXMgdGhhdCB3ZXJlIHJlamVjdGVkLlxuICAgKi9cbiAgcmVqZWN0ZWRGaWxlczogQXJyYXk8U2t5RmlsZUl0ZW0+O1xufVxuIl19