@ifsworld/granite-components 14.2.2 → 15.0.0-beta.1

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 (164) hide show
  1. package/date-picker/lib/date-picker-base.d.ts +3 -3
  2. package/date-picker/lib/date-picker.module.d.ts +2 -2
  3. package/fesm2022/ifsworld-granite-components-carousel.mjs +15 -13
  4. package/fesm2022/ifsworld-granite-components-carousel.mjs.map +1 -1
  5. package/fesm2022/ifsworld-granite-components-date-picker.mjs +34 -30
  6. package/fesm2022/ifsworld-granite-components-date-picker.mjs.map +1 -1
  7. package/fesm2022/ifsworld-granite-components-file-upload.mjs +13 -12
  8. package/fesm2022/ifsworld-granite-components-file-upload.mjs.map +1 -1
  9. package/fesm2022/ifsworld-granite-components-table.mjs +32 -29
  10. package/fesm2022/ifsworld-granite-components-table.mjs.map +1 -1
  11. package/fesm2022/ifsworld-granite-components-tooltip.mjs +16 -15
  12. package/fesm2022/ifsworld-granite-components-tooltip.mjs.map +1 -1
  13. package/fesm2022/ifsworld-granite-components.mjs +340 -322
  14. package/fesm2022/ifsworld-granite-components.mjs.map +1 -1
  15. package/lib/contacts/contacts-trigger/contacts-trigger-data.d.ts +1 -1
  16. package/lib/core/overlay-base.d.ts +1 -1
  17. package/lib/core/radio-checkbox-base.d.ts +1 -1
  18. package/lib/menu/menu-base.d.ts +1 -1
  19. package/lib/progress-bar/progress-bar-legend-base.d.ts +1 -1
  20. package/package.json +9 -21
  21. package/src/lib/core/style/_mixins.scss +16 -11
  22. package/src/lib/core/style/_range-functions.scss +6 -4
  23. package/src/lib/core/style/_z-index.scss +6 -4
  24. package/table/lib/cell/cell.d.ts +1 -1
  25. package/esm2022/carousel/ifsworld-granite-components-carousel.mjs +0 -5
  26. package/esm2022/carousel/index.mjs +0 -3
  27. package/esm2022/carousel/lib/carousel.component.mjs +0 -154
  28. package/esm2022/carousel/lib/carousel.module.mjs +0 -31
  29. package/esm2022/date-picker/ifsworld-granite-components-date-picker.mjs +0 -5
  30. package/esm2022/date-picker/index.mjs +0 -5
  31. package/esm2022/date-picker/lib/date-picker-base.mjs +0 -53
  32. package/esm2022/date-picker/lib/date-picker-trigger-for.directive.mjs +0 -228
  33. package/esm2022/date-picker/lib/date-picker.component.mjs +0 -30
  34. package/esm2022/date-picker/lib/date-picker.module.mjs +0 -58
  35. package/esm2022/date-picker/lib/date-range-picker.component.mjs +0 -46
  36. package/esm2022/file-upload/ifsworld-granite-components-file-upload.mjs +0 -5
  37. package/esm2022/file-upload/index.mjs +0 -3
  38. package/esm2022/file-upload/lib/directives/file-drag-and-drop.directive.mjs +0 -102
  39. package/esm2022/file-upload/lib/file-upload.component.mjs +0 -182
  40. package/esm2022/file-upload/lib/file-upload.constants.mjs +0 -45
  41. package/esm2022/file-upload/lib/file-upload.module.mjs +0 -32
  42. package/esm2022/file-upload/lib/file-upload.utils.mjs +0 -13
  43. package/esm2022/ifsworld-granite-components.mjs +0 -5
  44. package/esm2022/index.mjs +0 -90
  45. package/esm2022/lib/arrange-grid/arrange-grid-item.component.mjs +0 -44
  46. package/esm2022/lib/arrange-grid/arrange-grid.component.mjs +0 -125
  47. package/esm2022/lib/arrange-grid/arrange-grid.module.mjs +0 -19
  48. package/esm2022/lib/avatar/avatar-default-status/avatar-default-status.component.mjs +0 -36
  49. package/esm2022/lib/avatar/avatar.component.mjs +0 -68
  50. package/esm2022/lib/avatar/avatar.component.public-types.mjs +0 -7
  51. package/esm2022/lib/avatar/avatar.module.mjs +0 -37
  52. package/esm2022/lib/avatar/custom-avatar-status.directive.mjs +0 -18
  53. package/esm2022/lib/avatar/empty-avatar/empty-avatar.component.mjs +0 -37
  54. package/esm2022/lib/badge/badge.component.mjs +0 -39
  55. package/esm2022/lib/badge/badge.module.mjs +0 -18
  56. package/esm2022/lib/badge/testing/badge.harness.mjs +0 -25
  57. package/esm2022/lib/button/button.component.mjs +0 -87
  58. package/esm2022/lib/button/button.module.mjs +0 -16
  59. package/esm2022/lib/card-list/card/card-avatar.component.mjs +0 -11
  60. package/esm2022/lib/card-list/card/card-content/card-actions.component.mjs +0 -11
  61. package/esm2022/lib/card-list/card/card-content/card-body.component.mjs +0 -11
  62. package/esm2022/lib/card-list/card/card-content/card-content.component.mjs +0 -11
  63. package/esm2022/lib/card-list/card/card-content/card-footer.component.mjs +0 -11
  64. package/esm2022/lib/card-list/card/card-content/card-header-subtitle.component.mjs +0 -11
  65. package/esm2022/lib/card-list/card/card-content/card-header-title.component.mjs +0 -11
  66. package/esm2022/lib/card-list/card/card-content/card-header.component.mjs +0 -11
  67. package/esm2022/lib/card-list/card/card.component.mjs +0 -11
  68. package/esm2022/lib/card-list/card-list.component.mjs +0 -24
  69. package/esm2022/lib/card-list/card-list.module.mjs +0 -68
  70. package/esm2022/lib/checkbox/checkbox-group.component.mjs +0 -17
  71. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -99
  72. package/esm2022/lib/checkbox/checkbox.module.mjs +0 -17
  73. package/esm2022/lib/chips/chip-input.mjs +0 -195
  74. package/esm2022/lib/chips/chip-list.component.mjs +0 -567
  75. package/esm2022/lib/chips/chip.component.mjs +0 -287
  76. package/esm2022/lib/chips/chips.module.mjs +0 -31
  77. package/esm2022/lib/collapsible-group/collapsible-group-body.directive.mjs +0 -17
  78. package/esm2022/lib/collapsible-group/collapsible-group-header.directive.mjs +0 -17
  79. package/esm2022/lib/collapsible-group/collapsible-group.component.mjs +0 -46
  80. package/esm2022/lib/collapsible-group/collapsible-group.module.mjs +0 -33
  81. package/esm2022/lib/contacts/contact-item/contact-item.component.mjs +0 -27
  82. package/esm2022/lib/contacts/contact-item-default-status/contact-item-default-status.component.mjs +0 -20
  83. package/esm2022/lib/contacts/contact-item-title/contact-item-title.component.mjs +0 -15
  84. package/esm2022/lib/contacts/contacts-profile/contacts-profile.component.mjs +0 -18
  85. package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-data.mjs +0 -24
  86. package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-for.directive.mjs +0 -231
  87. package/esm2022/lib/contacts/contacts-types/contacts.component.private-types.mjs +0 -2
  88. package/esm2022/lib/contacts/contacts-types/contacts.component.public-types.mjs +0 -9
  89. package/esm2022/lib/contacts/contacts.component.mjs +0 -92
  90. package/esm2022/lib/contacts/contacts.module.mjs +0 -53
  91. package/esm2022/lib/contacts/custom-profile.directive.mjs +0 -16
  92. package/esm2022/lib/contacts/custom-status.directive.mjs +0 -18
  93. package/esm2022/lib/core/animation.mjs +0 -34
  94. package/esm2022/lib/core/client-environment.mjs +0 -20
  95. package/esm2022/lib/core/common-behaviors/disabled.mjs +0 -27
  96. package/esm2022/lib/core/core.module.mjs +0 -44
  97. package/esm2022/lib/core/devices/client-input-desktop.directive.mjs +0 -29
  98. package/esm2022/lib/core/devices/client-input-touch.directive.mjs +0 -29
  99. package/esm2022/lib/core/devices/client-output-desktop.directive.mjs +0 -29
  100. package/esm2022/lib/core/devices/client-output-touch.directive.mjs +0 -29
  101. package/esm2022/lib/core/hide-on-overflow.directive.mjs +0 -83
  102. package/esm2022/lib/core/overlay-base.mjs +0 -18
  103. package/esm2022/lib/core/overlay-position-config.mjs +0 -2
  104. package/esm2022/lib/core/overlay-trigger-for-base.directive.mjs +0 -121
  105. package/esm2022/lib/core/overlay.service.mjs +0 -90
  106. package/esm2022/lib/core/pipes/pure-pipes.module.mjs +0 -16
  107. package/esm2022/lib/core/pipes/title.pipe.mjs +0 -21
  108. package/esm2022/lib/core/radio-checkbox-base.mjs +0 -19
  109. package/esm2022/lib/core/services/names-utils-service.mjs +0 -51
  110. package/esm2022/lib/core/theme.library.mjs +0 -59
  111. package/esm2022/lib/core/types.mjs +0 -2
  112. package/esm2022/lib/grid/grid.component.mjs +0 -128
  113. package/esm2022/lib/grid/grid.module.mjs +0 -18
  114. package/esm2022/lib/icon/icon.component.mjs +0 -43
  115. package/esm2022/lib/icon/icon.module.mjs +0 -16
  116. package/esm2022/lib/input-field/input-field.component.mjs +0 -167
  117. package/esm2022/lib/input-field/input-field.module.mjs +0 -20
  118. package/esm2022/lib/label/label.component.mjs +0 -31
  119. package/esm2022/lib/label/label.module.mjs +0 -18
  120. package/esm2022/lib/menu/divider.directive.mjs +0 -23
  121. package/esm2022/lib/menu/menu-base.mjs +0 -354
  122. package/esm2022/lib/menu/menu-desktop-animations.mjs +0 -23
  123. package/esm2022/lib/menu/menu-errors.mjs +0 -37
  124. package/esm2022/lib/menu/menu-item.component.mjs +0 -89
  125. package/esm2022/lib/menu/menu-panel.mjs +0 -7
  126. package/esm2022/lib/menu/menu-positions.mjs +0 -9
  127. package/esm2022/lib/menu/menu-touch-animations.mjs +0 -137
  128. package/esm2022/lib/menu/menu-touch-close.component.mjs +0 -13
  129. package/esm2022/lib/menu/menu-touch-title.component.mjs +0 -59
  130. package/esm2022/lib/menu/menu-trigger-for.directive.mjs +0 -738
  131. package/esm2022/lib/menu/menu.component.mjs +0 -30
  132. package/esm2022/lib/menu/menu.module.mjs +0 -55
  133. package/esm2022/lib/menu/testing/menu.harness.mjs +0 -109
  134. package/esm2022/lib/menu/title.directive.mjs +0 -17
  135. package/esm2022/lib/progress-bar/progress-bar-legend/progress-bar-legend.component.mjs +0 -19
  136. package/esm2022/lib/progress-bar/progress-bar-legend-base.mjs +0 -17
  137. package/esm2022/lib/progress-bar/progress-bar-legend-trigger-for.directive.mjs +0 -54
  138. package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -92
  139. package/esm2022/lib/progress-bar/progress-bar.model.mjs +0 -2
  140. package/esm2022/lib/progress-bar/progress-bar.module.mjs +0 -44
  141. package/esm2022/lib/radio-button/radio-button.component.mjs +0 -119
  142. package/esm2022/lib/radio-button/radio-button.module.mjs +0 -17
  143. package/esm2022/lib/radio-button/radio-group.component.mjs +0 -17
  144. package/esm2022/lib/toggle-switch/toggle-switch.component.mjs +0 -100
  145. package/esm2022/lib/toggle-switch/toggle-switch.module.mjs +0 -16
  146. package/esm2022/table/ifsworld-granite-components-table.mjs +0 -5
  147. package/esm2022/table/index.mjs +0 -5
  148. package/esm2022/table/lib/cell/cell-align/cell-align-classes.directive.mjs +0 -26
  149. package/esm2022/table/lib/cell/cell.mjs +0 -15
  150. package/esm2022/table/lib/cell/table-data-cell.component.mjs +0 -25
  151. package/esm2022/table/lib/cell/table-header-cell.component.mjs +0 -14
  152. package/esm2022/table/lib/column/table-column.directive.mjs +0 -33
  153. package/esm2022/table/lib/column-size/column-size.directive.mjs +0 -34
  154. package/esm2022/table/lib/table-constants.library.mjs +0 -7
  155. package/esm2022/table/lib/table.component.mjs +0 -62
  156. package/esm2022/table/lib/table.model.mjs +0 -2
  157. package/esm2022/table/lib/table.module.mjs +0 -38
  158. package/esm2022/tooltip/ifsworld-granite-components-tooltip.mjs +0 -5
  159. package/esm2022/tooltip/index.mjs +0 -4
  160. package/esm2022/tooltip/lib/Services/granite-tooltip.service.mjs +0 -28
  161. package/esm2022/tooltip/lib/tooltip-constants.library.mjs +0 -4
  162. package/esm2022/tooltip/lib/tooltip-trigger-for.directive.mjs +0 -147
  163. package/esm2022/tooltip/lib/tooltip.component.mjs +0 -14
  164. package/esm2022/tooltip/lib/tooltip.module.mjs +0 -19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZzd29ybGQtZ3Jhbml0ZS1jb21wb25lbnRzLWZpbGUtdXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvZmlsZS11cGxvYWQvc3JjL2lmc3dvcmxkLWdyYW5pdGUtY29tcG9uZW50cy1maWxlLXVwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './lib/file-upload.module';
2
- export * from './lib/file-upload.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9maWxlLXVwbG9hZC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS11cGxvYWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,102 +0,0 @@
1
- import { Directive, EventEmitter, HostBinding, HostListener, Input, Output, } from '@angular/core';
2
- import { FilUploadErrorTypes } from '../file-upload.constants';
3
- import { validFileTypes } from '../file-upload.utils';
4
- import * as i0 from "@angular/core";
5
- export class GraniteFileDragAndDropDirective {
6
- constructor() {
7
- this.currentFiles = [];
8
- this.droppedFiles = new EventEmitter();
9
- this.isFileOver = new EventEmitter();
10
- this.fileUploadValidation = new EventEmitter();
11
- }
12
- onDragOver(event) {
13
- event.preventDefault();
14
- event.stopPropagation();
15
- const transferFiles = event.dataTransfer?.items ?? [];
16
- if (!validFileTypes(this.accept, Array.from(transferFiles))) {
17
- this.fileBrowseError = true;
18
- this.fileUploadValidation.emit({
19
- isError: this.fileBrowseError,
20
- type: FilUploadErrorTypes.ExtensionNotSupported,
21
- });
22
- return;
23
- }
24
- if (!this.multiFileUploadEnabled &&
25
- (transferFiles.length > 1 || this.currentFiles.length >= 1)) {
26
- this.fileBrowseError = true;
27
- this.fileUploadValidation.emit({
28
- isError: this.fileBrowseError,
29
- type: FilUploadErrorTypes.MultipleFilesNotSupported,
30
- });
31
- return;
32
- }
33
- this.fileOver = true;
34
- this.isFileOver.emit(this.fileOver);
35
- }
36
- onDragLeave(event) {
37
- event.preventDefault();
38
- event.stopPropagation();
39
- this.fileOver = false;
40
- this.fileBrowseError = false;
41
- this.fileUploadValidation.emit({ isError: false, type: null });
42
- this.isFileOver.emit(this.fileOver);
43
- }
44
- onDrop(event) {
45
- event.preventDefault();
46
- event.stopPropagation();
47
- if (this.fileBrowseError) {
48
- this.fileBrowseError = false;
49
- this.fileUploadValidation.emit({
50
- isError: this.fileBrowseError,
51
- type: null,
52
- });
53
- return;
54
- }
55
- this.currentFiles = [
56
- ...this.currentFiles,
57
- ...Array.from(event.dataTransfer.files),
58
- ];
59
- this.fileOver = false;
60
- this.isFileOver.emit(this.fileOver);
61
- if (this.currentFiles.length > 0) {
62
- this.droppedFiles.emit(this.currentFiles);
63
- }
64
- }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteFileDragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
66
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GraniteFileDragAndDropDirective, selector: "[graniteFileDragAndDrop]", inputs: { multiFileUploadEnabled: "multiFileUploadEnabled", accept: "accept", currentFiles: "currentFiles" }, outputs: { droppedFiles: "droppedFiles", isFileOver: "isFileOver", fileUploadValidation: "fileUploadValidation" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" }, properties: { "class.file-over": "this.fileOver", "class.file-error": "this.fileBrowseError" } }, exportAs: ["graniteFileDragAndDrop"], ngImport: i0 }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteFileDragAndDropDirective, decorators: [{
69
- type: Directive,
70
- args: [{
71
- selector: '[graniteFileDragAndDrop]',
72
- exportAs: 'graniteFileDragAndDrop',
73
- }]
74
- }], propDecorators: { fileOver: [{
75
- type: HostBinding,
76
- args: ['class.file-over']
77
- }], fileBrowseError: [{
78
- type: HostBinding,
79
- args: ['class.file-error']
80
- }], multiFileUploadEnabled: [{
81
- type: Input
82
- }], accept: [{
83
- type: Input
84
- }], currentFiles: [{
85
- type: Input
86
- }], droppedFiles: [{
87
- type: Output
88
- }], isFileOver: [{
89
- type: Output
90
- }], fileUploadValidation: [{
91
- type: Output
92
- }], onDragOver: [{
93
- type: HostListener,
94
- args: ['dragover', ['$event']]
95
- }], onDragLeave: [{
96
- type: HostListener,
97
- args: ['dragleave', ['$event']]
98
- }], onDrop: [{
99
- type: HostListener,
100
- args: ['drop', ['$event']]
101
- }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcmFnLWFuZC1kcm9wLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL2ZpbGUtdXBsb2FkL3NyYy9saWIvZGlyZWN0aXZlcy9maWxlLWRyYWctYW5kLWRyb3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU10RCxNQUFNLE9BQU8sK0JBQStCO0lBSjVDO1FBa0JFLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRzFCLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHaEUsZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBR2hFLHlCQUFvQixHQUNsQixJQUFJLFlBQVksRUFBbUIsQ0FBQztLQXVFdkM7SUFwRUMsVUFBVSxDQUFDLEtBQWdCO1FBQ3pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBRXRELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO2dCQUM3QixPQUFPLEVBQUUs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O3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFpQ3BDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWXJDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3IsIEZpbFVwbG9hZEVycm9yVHlwZXMgfSBmcm9tICcuLi9maWxlLXVwbG9hZC5jb25zdGFudHMnO1xuaW1wb3J0IHsgdmFsaWRGaWxlVHlwZXMgfSBmcm9tICcuLi9maWxlLXVwbG9hZC51dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tncmFuaXRlRmlsZURyYWdBbmREcm9wXScsXG4gIGV4cG9ydEFzOiAnZ3Jhbml0ZUZpbGVEcmFnQW5kRHJvcCcsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVGaWxlRHJhZ0FuZERyb3BEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpbGUtb3ZlcicpXG4gIGZpbGVPdmVyOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmlsZS1lcnJvcicpXG4gIGZpbGVCcm93c2VFcnJvcjogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBtdWx0aUZpbGVVcGxvYWRFbmFibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGFjY2VwdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGN1cnJlbnRGaWxlczogRmlsZVtdID0gW107XG5cbiAgQE91dHB1dCgpXG4gIGRyb3BwZWRGaWxlczogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcblxuICBAT3V0cHV0KClcbiAgaXNGaWxlT3ZlcjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWxlVXBsb2FkVmFsaWRhdGlvbjogRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvcj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RmlsZVVwbG9hZEVycm9yPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IHRyYW5zZmVyRmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXI/Lml0ZW1zID8/IFtdO1xuXG4gICAgaWYgKCF2YWxpZEZpbGVUeXBlcyh0aGlzLmFjY2VwdCwgQXJyYXkuZnJvbSh0cmFuc2ZlckZpbGVzKSkpIHtcbiAgICAgIHRoaXMuZmlsZUJyb3dzZUVycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZFZhbGlkYXRpb24uZW1pdCh7XG4gICAgICAgIGlzRXJyb3I6IHRoaXMuZmlsZUJyb3dzZUVycm9yLFxuICAgICAgICB0eXBlOiBGaWxVcGxvYWRFcnJvclR5cGVzLkV4dGVuc2lvbk5vdFN1cHBvcnRlZCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICF0aGlzLm11bHRpRmlsZVVwbG9hZEVuYWJsZWQgJiZcbiAgICAgICh0cmFuc2ZlckZpbGVzLmxlbmd0aCA+IDEgfHwgdGhpcy5jdXJyZW50RmlsZXMubGVuZ3RoID49IDEpXG4gICAgKSB7XG4gICAgICB0aGlzLmZpbGVCcm93c2VFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRWYWxpZGF0aW9uLmVtaXQoe1xuICAgICAgICBpc0Vycm9yOiB0aGlzLmZpbGVCcm93c2VFcnJvcixcbiAgICAgICAgdHlwZTogRmlsVXBsb2FkRXJyb3JUeXBlcy5NdWx0aXBsZUZpbGVzTm90U3VwcG9ydGVkLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maWxlT3ZlciA9IHRydWU7XG4gICAgdGhpcy5pc0ZpbGVPdmVyLmVtaXQodGhpcy5maWxlT3Zlcik7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmZpbGVCcm93c2VFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuZmlsZVVwbG9hZFZhbGlkYXRpb24uZW1pdCh7IGlzRXJyb3I6IGZhbHNlLCB0eXBlOiBudWxsIH0pO1xuICAgIHRoaXMuaXNGaWxlT3Zlci5lbWl0KHRoaXMuZmlsZU92ZXIpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmZpbGVCcm93c2VFcnJvcikge1xuICAgICAgdGhpcy5maWxlQnJvd3NlRXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZFZhbGlkYXRpb24uZW1pdCh7XG4gICAgICAgIGlzRXJyb3I6IHRoaXMuZmlsZUJyb3dzZUVycm9yLFxuICAgICAgICB0eXBlOiBudWxsLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50RmlsZXMgPSBbXG4gICAgICAuLi50aGlzLmN1cnJlbnRGaWxlcyxcbiAgICAgIC4uLkFycmF5LmZyb20oZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKSxcbiAgICBdO1xuXG4gICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xuICAgIHRoaXMuaXNGaWxlT3Zlci5lbWl0KHRoaXMuZmlsZU92ZXIpO1xuXG4gICAgaWYgKHRoaXMuY3VycmVudEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZHJvcHBlZEZpbGVzLmVtaXQodGhpcy5jdXJyZW50RmlsZXMpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,182 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
- import { DEFAULT_BROWSE_BUTTON_TEXT, DEFAULT_CANCEL_BUTTON_TEXT, DEFAULT_DROP_PLACEHOLDER_TEXT, DEFAULT_DROPZONE_HINT, DEFAULT_DROPZONE_TEXT, DEFAULT_FILE_BROWSE_BUTTON_ICON, DEFAULT_ACCEPT_TYPE, DEFAULT_MULTI_FILE_SUPPORT, DEFAULT_REMOVE_BUTTON_TEXT, DEFAULT_RETRY_BUTTON_TEXT, DEFAULT_UPLOAD_BUTTON_TEXT, DEFAULT_UPLOAD_ICON, DEFAULT_UPLOAD_TITLE, fileSizes, FileUploadStatus, FilUploadErrorTypes, DEFAULT_RESPONSIVE_OPTIONS, DEFAULT_VISIBLE_FILES, } from './file-upload.constants';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { validFileTypes } from './file-upload.utils';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@ifsworld/granite-components";
8
- import * as i3 from "@ifsworld/granite-components/carousel";
9
- import * as i4 from "./directives/file-drag-and-drop.directive";
10
- export class GraniteFileUploadComponent {
11
- constructor() {
12
- this.accept = DEFAULT_ACCEPT_TYPE;
13
- this.uploadTitle = DEFAULT_UPLOAD_TITLE;
14
- this.uploadIcon = DEFAULT_UPLOAD_ICON;
15
- this.browseIcon = DEFAULT_FILE_BROWSE_BUTTON_ICON;
16
- this.dropZoneText = DEFAULT_DROPZONE_TEXT;
17
- this.browseButtonText = DEFAULT_BROWSE_BUTTON_TEXT;
18
- this.dropPlaceholderText = DEFAULT_DROP_PLACEHOLDER_TEXT;
19
- this.dropZoneHint = DEFAULT_DROPZONE_HINT;
20
- this.removeButtonText = DEFAULT_REMOVE_BUTTON_TEXT;
21
- this.uploadButtonText = DEFAULT_UPLOAD_BUTTON_TEXT;
22
- this.retryButtonText = DEFAULT_RETRY_BUTTON_TEXT;
23
- this.cancelButtonText = DEFAULT_CANCEL_BUTTON_TEXT;
24
- this.multiFileUpload = DEFAULT_MULTI_FILE_SUPPORT;
25
- this.responsiveOptions = DEFAULT_RESPONSIVE_OPTIONS;
26
- this.browseOrDragFiles = new EventEmitter();
27
- this.removeFiles = new EventEmitter();
28
- this.filesUpload = new EventEmitter();
29
- this.fileUploadValidation = new EventEmitter();
30
- this.selectedFiles = [];
31
- this.previewReadyFiles = [];
32
- this.isFileOnDropzone = false;
33
- this.FileUploadStatus = FileUploadStatus;
34
- this.fileError = false;
35
- this.numVisible = DEFAULT_VISIBLE_FILES;
36
- this._uploadStatus = FileUploadStatus.NotStarted;
37
- this._autoUpload = true;
38
- }
39
- get uploadStatus() {
40
- return this._uploadStatus;
41
- }
42
- set uploadStatus(status) {
43
- this._uploadStatus = status;
44
- }
45
- get autoUpload() {
46
- return this._autoUpload;
47
- }
48
- set autoUpload(value) {
49
- this._autoUpload = coerceBooleanProperty(value);
50
- }
51
- fileBrowseHandler(event) {
52
- const target = event.target;
53
- const files = Array.from(target.files);
54
- if (!validFileTypes(this.accept, files)) {
55
- this.fileUploadValidation.emit({
56
- isError: true,
57
- type: FilUploadErrorTypes.ExtensionNotSupported,
58
- });
59
- this.fileDropRef.nativeElement.value = null;
60
- return;
61
- }
62
- this.selectedFiles = [...this.selectedFiles, ...files];
63
- this.previewReadyFiles = this.prepareSelectedFiles(this.selectedFiles);
64
- this.browseOrDragFiles.emit(this.previewReadyFiles);
65
- }
66
- fileRemoveHandler(fileToRemove) {
67
- const index = this.previewReadyFiles.findIndex((file) => file.imageUrl === fileToRemove.imageUrl &&
68
- file.file?.name === fileToRemove.file?.name &&
69
- file.readableSize === fileToRemove.readableSize);
70
- this.selectedFiles.splice(index, 1);
71
- this.previewReadyFiles.splice(index, 1);
72
- if (this.selectedFiles.length === 0 &&
73
- this.previewReadyFiles.length === 0) {
74
- this.fileDropRef.nativeElement.value = null;
75
- this.uploadStatus = FileUploadStatus.NotStarted;
76
- }
77
- this.removeFiles.emit(this.previewReadyFiles);
78
- }
79
- onFilesDropHandler(files) {
80
- if (!this.multiFileUpload &&
81
- (this.selectedFiles.length === 1 || files.length !== 1)) {
82
- this.fileError = true;
83
- return;
84
- }
85
- this.selectedFiles = files;
86
- this.previewReadyFiles = this.prepareSelectedFiles(this.selectedFiles);
87
- this.browseOrDragFiles.emit(this.previewReadyFiles);
88
- }
89
- onFileOverDropzone(isFileOver) {
90
- this.isFileOnDropzone = isFileOver;
91
- }
92
- onFileDropError(validation) {
93
- this.fileError = validation.isError;
94
- this.fileDropErrorType = validation.type;
95
- }
96
- prepareSelectedFiles(files) {
97
- return files.map((file) => ({
98
- file,
99
- readableSize: this.formatBytesToReadableSize(file.size, 2),
100
- imageUrl: file.type.startsWith('image/')
101
- ? URL.createObjectURL(file)
102
- : null,
103
- }));
104
- }
105
- uploadFiles() {
106
- this.filesUpload.emit();
107
- }
108
- retryUpload() {
109
- this.filesUpload.emit();
110
- }
111
- cancelUpload() {
112
- this.resetFileUpload();
113
- this.removeFiles.emit(this.previewReadyFiles);
114
- }
115
- resetFileUpload() {
116
- this.fileDropRef.nativeElement.value = null;
117
- this.fileError = false;
118
- this.fileDropErrorType = '';
119
- this.selectedFiles = [];
120
- this.previewReadyFiles = [];
121
- this.uploadStatus = FileUploadStatus.NotStarted;
122
- }
123
- formatBytesToReadableSize(bytes, decimals) {
124
- if (bytes === 0) {
125
- return `0 ${fileSizes[0]}`;
126
- }
127
- const bytesPerKB = 1024;
128
- const decimalPoints = decimals <= 0 ? 0 : decimals || 2;
129
- const exp = Math.floor(Math.log(bytes) / Math.log(bytesPerKB));
130
- return `${parseFloat((bytes / Math.pow(bytesPerKB, exp)).toFixed(decimalPoints))} ${fileSizes[exp]}`;
131
- }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: GraniteFileUploadComponent, selector: "granite-file-upload", inputs: { accept: "accept", uploadTitle: "uploadTitle", uploadIcon: "uploadIcon", browseIcon: "browseIcon", dropZoneText: "dropZoneText", browseButtonText: "browseButtonText", dropPlaceholderText: "dropPlaceholderText", dropZoneHint: "dropZoneHint", removeButtonText: "removeButtonText", uploadButtonText: "uploadButtonText", retryButtonText: "retryButtonText", cancelButtonText: "cancelButtonText", multiFileUpload: "multiFileUpload", responsiveOptions: "responsiveOptions", uploadStatus: "uploadStatus", autoUpload: "autoUpload" }, outputs: { browseOrDragFiles: "browseOrDragFiles", removeFiles: "removeFiles", filesUpload: "filesUpload", fileUploadValidation: "fileUploadValidation" }, viewQueries: [{ propertyName: "fileDropRef", first: true, predicate: ["fileDropRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"file-upload-wrapper\">\n <h2 class=\"file-upload-title\">{{ uploadTitle }}</h2>\n <div\n class=\"file-dropzone\"\n [ngClass]=\"{ 'upload-failed': uploadStatus === FileUploadStatus.Failed }\"\n graniteFileDragAndDrop\n (droppedFiles)=\"onFilesDropHandler($event)\"\n (isFileOver)=\"onFileOverDropzone($event)\"\n (fileUploadValidation)=\"onFileDropError($event)\"\n [multiFileUploadEnabled]=\"multiFileUpload\"\n [accept]=\"accept\"\n [currentFiles]=\"selectedFiles\"\n >\n <input\n class=\"file-input\"\n #fileDropRef\n type=\"file\"\n title=\"fileUpload\"\n (change)=\"fileBrowseHandler($event)\"\n [multiple]=\"multiFileUpload\"\n [accept]=\"accept\"\n />\n <div class=\"file-upload-body\">\n @if (!isFileOnDropzone && !fileError) {\n @switch (previewReadyFiles.length) {\n @case (0) {\n <div class=\"file-upload-browse\">\n <granite-icon\n class=\"file-upload-icon\"\n [fontIcon]=\"uploadIcon\"\n ></granite-icon>\n <div class=\"file-selection\">\n <h2 class=\"file-upload-body-text\">{{ dropZoneText }}</h2>\n <button\n class=\"file-select-button\"\n graniteButton\n (click)=\"fileDropRef.click()\"\n >\n <granite-icon\n class=\"browse-button-icon\"\n [fontIcon]=\"browseIcon\"\n ></granite-icon>\n <div class=\"browse-button-text\">{{ browseButtonText }}</div>\n </button>\n </div>\n <p *ngIf=\"dropZoneHint\" class=\"file-upload-hint\">\n {{ dropZoneHint }}\n </p>\n </div>\n }\n @case (1) {\n <ng-container\n *ngTemplateOutlet=\"\n filePreviewTemplate;\n context: { previewFile: previewReadyFiles[0] }\n \"\n ></ng-container>\n }\n @default {\n <granite-carousel\n [items]=\"previewReadyFiles\"\n [numVisible]=\"numVisible\"\n [responsiveOptions]=\"responsiveOptions\"\n >\n <ng-template let-previewFile #itemTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n filePreviewTemplate;\n context: { previewFile: previewFile }\n \"\n ></ng-container>\n </ng-template>\n </granite-carousel>\n }\n }\n } @else {\n <p class=\"drop-area-placeholder\">\n {{ dropPlaceholderText }}\n </p>\n }\n </div>\n </div>\n <div class=\"file-upload-footer\">\n <div class=\"footer-container\" *ngIf=\"previewReadyFiles.length > 0\">\n <button\n *ngIf=\"!autoUpload && uploadStatus === FileUploadStatus.NotStarted\"\n granitePrimaryButton\n (click)=\"uploadFiles()\"\n >\n {{ uploadButtonText }}\n </button>\n <ng-container *ngIf=\"uploadStatus === FileUploadStatus.Failed\">\n <button graniteButton (click)=\"cancelUpload()\">\n {{ cancelButtonText }}\n </button>\n <button\n class=\"retry-upload-button\"\n granitePrimaryButton\n (click)=\"retryUpload()\"\n >\n {{ retryButtonText }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #uploadingOverlay>\n <div class=\"file-preview-overlay\"></div>\n <div class=\"loading-container\">\n <div class=\"uploading-spinner\"></div>\n </div>\n</ng-template>\n\n<ng-template #uploadFailedOverlay>\n <div class=\"file-preview-overlay\"></div>\n</ng-template>\n\n<ng-template #filePreviewTemplate let-previewFile=\"previewFile\">\n <div class=\"file-preview-container\">\n @if (previewFile?.imageUrl) {\n <a\n class=\"file-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress': uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n [href]=\"previewFile?.imageUrl\"\n target=\"_blank\"\n >\n <div class=\"file-preview-holder\">\n <img\n role=\"presentation\"\n [src]=\"previewFile?.imageUrl\"\n [alt]=\"previewFile?.file?.name\"\n />\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n [ngTemplateOutlet]=\"uploadingOverlay\"\n ></ng-container>\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.Failed\"\n [ngTemplateOutlet]=\"uploadFailedOverlay\"\n >\n </ng-container>\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </a>\n } @else {\n <div\n class=\"document-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress': uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n >\n <div class=\"document-preview-holder\">\n <granite-icon\n class=\"document-file-preview\"\n [class.upload-failed]=\"uploadStatus === FileUploadStatus.Failed\"\n [fontIcon]=\"'icon-document-alt'\"\n ></granite-icon>\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n [ngTemplateOutlet]=\"uploadingOverlay\"\n ></ng-container>\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </div>\n }\n <button\n graniteButton\n *ngIf=\"\n [FileUploadStatus.Completed, FileUploadStatus.NotStarted].includes(\n uploadStatus\n )\n \"\n (click)=\"fileRemoveHandler(previewFile)\"\n >\n {{ removeButtonText }}\n </button>\n </div>\n</ng-template>\n", styles: [":host{width:100%}.file-upload-wrapper{display:flex;flex-direction:column;background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-s);height:100%;width:100%}.file-upload-wrapper .file-upload-title{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-medium);font-weight:var(--granite-font-weight-bold);line-height:var(--granite-line-height-base-rem);color:var(--granite-color-text-weak);margin:0;padding:var(--granite-spacing-8) calc(var(--granite-spacing-16) * .813)}.file-upload-wrapper .file-dropzone{display:flex;flex-direction:column;border-width:var(--granite-border-width-focus);border-style:dashed;border-color:var(--granite-color-background-selected);border-radius:var(--granite-radius-m);margin:var(--granite-spacing-8);height:100%}.file-upload-wrapper .file-dropzone.upload-failed{border-color:var(--granite-color-categorical-4)}.file-upload-wrapper .file-dropzone.file-error{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-failure);border-color:var(--granite-color-state-error);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-error .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone.file-over{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-info);border-color:var(--granite-color-background-active);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-over .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone .file-input{opacity:0;position:absolute;width:0}.file-upload-wrapper .file-dropzone .file-upload-body{display:flex;align-items:center;justify-content:center;height:100%}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse{display:flex;flex-direction:column;gap:var(--granite-spacing-4);justify-content:center;align-items:center;padding:0 var(--granite-spacing-16)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-icon{font-size:var(--granite-font-size-display-small);color:var(--granite-color-text)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection{display:flex;justify-content:space-between;align-items:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-upload-body-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;width:100%;margin-inline-end:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button{display:flex;justify-content:space-between;align-items:center;color:var(--granite-color-text-link);padding-top:calc(var(--granite-spacing-24) / 4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-icon{font-size:var(--granite-font-size-body);color:var(--granite-color-text-link);margin-inline-end:var(--granite-spacing-4);padding:0}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-flowing) / 2);margin-top:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-icon,.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-text{color:var(--granite-color-text-inverse)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-hint{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * 1.125);text-align:center;color:var(--granite-color-text-hint);margin:calc(var(--granite-spacing-base-rem) * .625) 0 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container{display:flex;flex-direction:column;align-items:center;width:100%;max-height:100%;padding:calc(var(--granite-spacing-base-rem) * .375)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link{display:flex;flex-direction:column;align-items:center;max-width:50%;padding:0 var(--granite-spacing-8);text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-size{text-decoration:underline}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder{display:flex;justify-content:center;align-items:flex-end;position:relative;width:80px;height:114px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(250%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .file-preview-overlay{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .loading-container{position:absolute;top:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .loading-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-preview-holder img{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-preview-holder .file-preview-overlay{background-color:var(--granite-color-signal-failure);opacity:.2}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-size{color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-preview-holder img,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-preview-holder .file-preview-overlay,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-size{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(var(--granite-spacing-base-rem) * .375) 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * .625);color:var(--granite-color-text-link);margin:0 0 calc(var(--granite-spacing-base-rem) * .875)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link{display:flex;flex-direction:column;align-items:center;max-width:50%;padding:0 var(--granite-spacing-8);text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder{display:flex;justify-content:center;align-items:flex-end;position:relative;width:60px;height:60px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .document-file-preview{font-size:calc(var(--granite-font-size-body) * 3);color:var(--granite-color-text-hint);padding:calc(var(--granite-spacing-4) * 3) 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .document-file-preview.upload-failed{color:var(--granite-color-background-failure)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .loading-container{position:absolute;top:50%;inset-inline-start:50%;transform:translate(-50%,-10%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .loading-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .document-preview-holder .file-preview-overlay{background-color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .file-size{color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .document-preview-holder .document-file-preview,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .document-preview-holder .file-preview-overlay,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .file-size{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-weak);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(var(--granite-spacing-base-rem) * .375) 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * .625);color:var(--granite-color-text-week);margin:0 0 calc(var(--granite-spacing-base-rem) * .875)}.file-upload-wrapper .file-upload-footer{margin-inline:var(--granite-spacing-8);margin-bottom:var(--granite-spacing-8)}.file-upload-wrapper .file-upload-footer .footer-container{display:flex;justify-content:flex-end;align-items:center}.file-upload-wrapper .file-upload-footer .footer-container .retry-upload-button{margin-inline-start:var(--granite-spacing-8)}@keyframes loading-keyframe{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteButtonComponent, selector: "button[graniteButton], button[granitePrimaryButton], button[graniteFlatButton], button[graniteToolbarButton] ", inputs: ["disabled", "toggled"], exportAs: ["graniteButton"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "component", type: i3.GraniteCarouselComponent, selector: "granite-carousel", inputs: ["items", "responsiveOptions", "numVisible", "numScroll", "circular", "prevButtonAriaLabel", "nextButtonAriaLabel", "shrinkToContent"] }, { kind: "directive", type: i4.GraniteFileDragAndDropDirective, selector: "[graniteFileDragAndDrop]", inputs: ["multiFileUploadEnabled", "accept", "currentFiles"], outputs: ["droppedFiles", "isFileOver", "fileUploadValidation"], exportAs: ["graniteFileDragAndDrop"] }] }); }
134
- }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteFileUploadComponent, decorators: [{
136
- type: Component,
137
- args: [{ selector: 'granite-file-upload', template: "<div class=\"file-upload-wrapper\">\n <h2 class=\"file-upload-title\">{{ uploadTitle }}</h2>\n <div\n class=\"file-dropzone\"\n [ngClass]=\"{ 'upload-failed': uploadStatus === FileUploadStatus.Failed }\"\n graniteFileDragAndDrop\n (droppedFiles)=\"onFilesDropHandler($event)\"\n (isFileOver)=\"onFileOverDropzone($event)\"\n (fileUploadValidation)=\"onFileDropError($event)\"\n [multiFileUploadEnabled]=\"multiFileUpload\"\n [accept]=\"accept\"\n [currentFiles]=\"selectedFiles\"\n >\n <input\n class=\"file-input\"\n #fileDropRef\n type=\"file\"\n title=\"fileUpload\"\n (change)=\"fileBrowseHandler($event)\"\n [multiple]=\"multiFileUpload\"\n [accept]=\"accept\"\n />\n <div class=\"file-upload-body\">\n @if (!isFileOnDropzone && !fileError) {\n @switch (previewReadyFiles.length) {\n @case (0) {\n <div class=\"file-upload-browse\">\n <granite-icon\n class=\"file-upload-icon\"\n [fontIcon]=\"uploadIcon\"\n ></granite-icon>\n <div class=\"file-selection\">\n <h2 class=\"file-upload-body-text\">{{ dropZoneText }}</h2>\n <button\n class=\"file-select-button\"\n graniteButton\n (click)=\"fileDropRef.click()\"\n >\n <granite-icon\n class=\"browse-button-icon\"\n [fontIcon]=\"browseIcon\"\n ></granite-icon>\n <div class=\"browse-button-text\">{{ browseButtonText }}</div>\n </button>\n </div>\n <p *ngIf=\"dropZoneHint\" class=\"file-upload-hint\">\n {{ dropZoneHint }}\n </p>\n </div>\n }\n @case (1) {\n <ng-container\n *ngTemplateOutlet=\"\n filePreviewTemplate;\n context: { previewFile: previewReadyFiles[0] }\n \"\n ></ng-container>\n }\n @default {\n <granite-carousel\n [items]=\"previewReadyFiles\"\n [numVisible]=\"numVisible\"\n [responsiveOptions]=\"responsiveOptions\"\n >\n <ng-template let-previewFile #itemTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n filePreviewTemplate;\n context: { previewFile: previewFile }\n \"\n ></ng-container>\n </ng-template>\n </granite-carousel>\n }\n }\n } @else {\n <p class=\"drop-area-placeholder\">\n {{ dropPlaceholderText }}\n </p>\n }\n </div>\n </div>\n <div class=\"file-upload-footer\">\n <div class=\"footer-container\" *ngIf=\"previewReadyFiles.length > 0\">\n <button\n *ngIf=\"!autoUpload && uploadStatus === FileUploadStatus.NotStarted\"\n granitePrimaryButton\n (click)=\"uploadFiles()\"\n >\n {{ uploadButtonText }}\n </button>\n <ng-container *ngIf=\"uploadStatus === FileUploadStatus.Failed\">\n <button graniteButton (click)=\"cancelUpload()\">\n {{ cancelButtonText }}\n </button>\n <button\n class=\"retry-upload-button\"\n granitePrimaryButton\n (click)=\"retryUpload()\"\n >\n {{ retryButtonText }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #uploadingOverlay>\n <div class=\"file-preview-overlay\"></div>\n <div class=\"loading-container\">\n <div class=\"uploading-spinner\"></div>\n </div>\n</ng-template>\n\n<ng-template #uploadFailedOverlay>\n <div class=\"file-preview-overlay\"></div>\n</ng-template>\n\n<ng-template #filePreviewTemplate let-previewFile=\"previewFile\">\n <div class=\"file-preview-container\">\n @if (previewFile?.imageUrl) {\n <a\n class=\"file-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress': uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n [href]=\"previewFile?.imageUrl\"\n target=\"_blank\"\n >\n <div class=\"file-preview-holder\">\n <img\n role=\"presentation\"\n [src]=\"previewFile?.imageUrl\"\n [alt]=\"previewFile?.file?.name\"\n />\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n [ngTemplateOutlet]=\"uploadingOverlay\"\n ></ng-container>\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.Failed\"\n [ngTemplateOutlet]=\"uploadFailedOverlay\"\n >\n </ng-container>\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </a>\n } @else {\n <div\n class=\"document-preview-link\"\n [ngClass]=\"{\n 'uploading-in-progress': uploadStatus === FileUploadStatus.InProgress,\n 'upload-failed': uploadStatus === FileUploadStatus.Failed\n }\"\n >\n <div class=\"document-preview-holder\">\n <granite-icon\n class=\"document-file-preview\"\n [class.upload-failed]=\"uploadStatus === FileUploadStatus.Failed\"\n [fontIcon]=\"'icon-document-alt'\"\n ></granite-icon>\n <ng-container\n *ngIf=\"uploadStatus === FileUploadStatus.InProgress\"\n [ngTemplateOutlet]=\"uploadingOverlay\"\n ></ng-container>\n </div>\n <p class=\"file-name\" [title]=\"previewFile?.file?.name\">\n {{ previewFile?.file?.name }}\n </p>\n <p class=\"file-size\">{{ previewFile?.readableSize }}</p>\n </div>\n }\n <button\n graniteButton\n *ngIf=\"\n [FileUploadStatus.Completed, FileUploadStatus.NotStarted].includes(\n uploadStatus\n )\n \"\n (click)=\"fileRemoveHandler(previewFile)\"\n >\n {{ removeButtonText }}\n </button>\n </div>\n</ng-template>\n", styles: [":host{width:100%}.file-upload-wrapper{display:flex;flex-direction:column;background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-s);height:100%;width:100%}.file-upload-wrapper .file-upload-title{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-medium);font-weight:var(--granite-font-weight-bold);line-height:var(--granite-line-height-base-rem);color:var(--granite-color-text-weak);margin:0;padding:var(--granite-spacing-8) calc(var(--granite-spacing-16) * .813)}.file-upload-wrapper .file-dropzone{display:flex;flex-direction:column;border-width:var(--granite-border-width-focus);border-style:dashed;border-color:var(--granite-color-background-selected);border-radius:var(--granite-radius-m);margin:var(--granite-spacing-8);height:100%}.file-upload-wrapper .file-dropzone.upload-failed{border-color:var(--granite-color-categorical-4)}.file-upload-wrapper .file-dropzone.file-error{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-failure);border-color:var(--granite-color-state-error);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-error .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone.file-over{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;background-color:var(--granite-color-background-lobby-info);border-color:var(--granite-color-background-active);transition:background .15s ease}.file-upload-wrapper .file-dropzone.file-over .drop-area-placeholder{margin:0}.file-upload-wrapper .file-dropzone .file-input{opacity:0;position:absolute;width:0}.file-upload-wrapper .file-dropzone .file-upload-body{display:flex;align-items:center;justify-content:center;height:100%}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse{display:flex;flex-direction:column;gap:var(--granite-spacing-4);justify-content:center;align-items:center;padding:0 var(--granite-spacing-16)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-icon{font-size:var(--granite-font-size-display-small);color:var(--granite-color-text)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection{display:flex;justify-content:space-between;align-items:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-upload-body-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);text-align:center;width:100%;margin-inline-end:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button{display:flex;justify-content:space-between;align-items:center;color:var(--granite-color-text-link);padding-top:calc(var(--granite-spacing-24) / 4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-icon{font-size:var(--granite-font-size-body);color:var(--granite-color-text-link);margin-inline-end:var(--granite-spacing-4);padding:0}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button .browse-button-text{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-flowing) / 2);margin-top:var(--granite-spacing-4)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-icon,.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-selection .file-select-button:hover .browse-button-text{color:var(--granite-color-text-inverse)}.file-upload-wrapper .file-dropzone .file-upload-body .file-upload-browse .file-upload-hint{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * 1.125);text-align:center;color:var(--granite-color-text-hint);margin:calc(var(--granite-spacing-base-rem) * .625) 0 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container{display:flex;flex-direction:column;align-items:center;width:100%;max-height:100%;padding:calc(var(--granite-spacing-base-rem) * .375)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link{display:flex;flex-direction:column;align-items:center;max-width:50%;padding:0 var(--granite-spacing-8);text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link:hover .file-size{text-decoration:underline}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder{display:flex;justify-content:center;align-items:flex-end;position:relative;width:80px;height:114px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(250%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .file-preview-overlay{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .loading-container{position:absolute;top:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-preview-holder .loading-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-preview-holder img{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-preview-holder .file-preview-overlay{background-color:var(--granite-color-signal-failure);opacity:.2}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.upload-failed .file-size{color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-preview-holder img,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-preview-holder .file-preview-overlay,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link.uploading-in-progress .file-size{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(var(--granite-spacing-base-rem) * .375) 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .file-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * .625);color:var(--granite-color-text-link);margin:0 0 calc(var(--granite-spacing-base-rem) * .875)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link{display:flex;flex-direction:column;align-items:center;max-width:50%;padding:0 var(--granite-spacing-8);text-decoration:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder{display:flex;justify-content:center;align-items:flex-end;position:relative;width:60px;height:60px}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .document-file-preview{font-size:calc(var(--granite-font-size-body) * 3);color:var(--granite-color-text-hint);padding:calc(var(--granite-spacing-4) * 3) 0}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .document-file-preview.upload-failed{color:var(--granite-color-background-failure)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .loading-container{position:absolute;top:50%;inset-inline-start:50%;transform:translate(-50%,-10%)}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .document-preview-holder .loading-container .uploading-spinner{width:50px;height:50px;border-radius:50%;border:6px solid;border-color:var(--granite-color-background-page);border-right-color:var(--granite-color-background-active);animation:loading-keyframe 1s infinite linear}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .document-preview-holder .file-preview-overlay{background-color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.upload-failed .file-size{color:var(--granite-color-signal-failure);opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress{pointer-events:none}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .document-preview-holder .document-file-preview,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .document-preview-holder .file-preview-overlay,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .file-name,.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link.uploading-in-progress .file-size{opacity:.4}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .file-name{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text-weak);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(var(--granite-spacing-base-rem) * .375) 0 0;width:100%;text-align:center}.file-upload-wrapper .file-dropzone .file-upload-body .file-preview-container .document-preview-link .file-size{font-family:var(--granite-font-family-default);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);line-height:calc(var(--granite-line-height-base-rem) * .625);color:var(--granite-color-text-week);margin:0 0 calc(var(--granite-spacing-base-rem) * .875)}.file-upload-wrapper .file-upload-footer{margin-inline:var(--granite-spacing-8);margin-bottom:var(--granite-spacing-8)}.file-upload-wrapper .file-upload-footer .footer-container{display:flex;justify-content:flex-end;align-items:center}.file-upload-wrapper .file-upload-footer .footer-container .retry-upload-button{margin-inline-start:var(--granite-spacing-8)}@keyframes loading-keyframe{to{transform:rotate(360deg)}}\n"] }]
138
- }], propDecorators: { fileDropRef: [{
139
- type: ViewChild,
140
- args: ['fileDropRef', { read: ElementRef }]
141
- }], accept: [{
142
- type: Input
143
- }], uploadTitle: [{
144
- type: Input
145
- }], uploadIcon: [{
146
- type: Input
147
- }], browseIcon: [{
148
- type: Input
149
- }], dropZoneText: [{
150
- type: Input
151
- }], browseButtonText: [{
152
- type: Input
153
- }], dropPlaceholderText: [{
154
- type: Input
155
- }], dropZoneHint: [{
156
- type: Input
157
- }], removeButtonText: [{
158
- type: Input
159
- }], uploadButtonText: [{
160
- type: Input
161
- }], retryButtonText: [{
162
- type: Input
163
- }], cancelButtonText: [{
164
- type: Input
165
- }], multiFileUpload: [{
166
- type: Input
167
- }], responsiveOptions: [{
168
- type: Input
169
- }], browseOrDragFiles: [{
170
- type: Output
171
- }], removeFiles: [{
172
- type: Output
173
- }], filesUpload: [{
174
- type: Output
175
- }], fileUploadValidation: [{
176
- type: Output
177
- }], uploadStatus: [{
178
- type: Input
179
- }], autoUpload: [{
180
- type: Input
181
- }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvZmlsZS11cGxvYWQvc3JjL2xpYi9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9maWxlLXVwbG9hZC9zcmMvbGliL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0IscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLFNBQVMsRUFFVCxnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBRW5CLDBCQUEwQixFQUMxQixxQkFBcUIsR0FDdEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQVFyRCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBVUUsV0FBTSxHQUFXLG1CQUFtQixDQUFDO1FBR3JDLGdCQUFXLEdBQVcsb0JBQW9CLENBQUM7UUFHM0MsZUFBVSxHQUFXLG1CQUFtQixDQUFDO1FBR3pDLGVBQVUsR0FBVywrQkFBK0IsQ0FBQztRQUdyRCxpQkFBWSxHQUFXLHFCQUFxQixDQUFDO1FBRzdD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LEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixNQUFNO2dCQU1QLFdBQVc7c0JBRFYsTUFBTTtnQkFNUCxXQUFXO3NCQURWLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQWVILFlBQVk7c0JBRGYsS0FBSztnQkFZRixVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERFRkFVTFRfQlJPV1NFX0JVVFRPTl9URVhULFxuICBERUZBVUxUX0NBTkNFTF9CVVRUT05fVEVYVCxcbiAgREVGQVVMVF9EUk9QX1BMQUNFSE9MREVSX1RFWFQsXG4gIERFRkFVTFRfRFJPUFpPTkVfSElOVCxcbiAgREVGQVVMVF9EUk9QWk9ORV9URVhULFxuICBERUZBVUxUX0ZJTEVfQlJPV1NFX0JVVFRPTl9JQ09OLFxuICBERUZBVUxUX0FDQ0VQVF9UWVBFLFxuICBERUZBVUxUX01VTFRJX0ZJTEVfU1VQUE9SVCxcbiAgREVGQVVMVF9SRU1PVkVfQlVUVE9OX1RFWFQsXG4gIERFRkFVTFRfUkVUUllfQlVUVE9OX1RFWFQsXG4gIERFRkFVTFRfVVBMT0FEX0JVVFRPTl9URVhULFxuICBERUZBVUxUX1VQTE9BRF9JQ09OLFxuICBERUZBVUxUX1VQTE9BRF9USVRMRSxcbiAgZmlsZVNpemVzLFxuICBGaWxlVXBsb2FkRXJyb3IsXG4gIEZpbGVVcGxvYWRTdGF0dXMsXG4gIEZpbFVwbG9hZEVycm9yVHlwZXMsXG4gIFNlbGVjdGVkRmlsZSxcbiAgREVGQVVMVF9SRVNQT05TSVZFX09QVElPTlMsXG4gIERFRkFVTFRfVklTSUJMRV9GSUxFUyxcbn0gZnJvbSAnLi9maWxlLXVwbG9hZC5jb25zdGFudHMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IHZhbGlkRmlsZVR5cGVzIH0gZnJvbSAnLi9maWxlLXVwbG9hZC51dGlscyc7XG5pbXBvcnQgeyBDYXJvdXNlbFJlc3BvbnNpdmVPcHRpb25zIH0gZnJvbSAncHJpbWVuZy9jYXJvdXNlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtZmlsZS11cGxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlRmlsZVVwbG9hZENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2ZpbGVEcm9wUmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGZpbGVEcm9wUmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKVxuICBhY2NlcHQ6IHN0cmluZyA9IERFRkFVTFRfQUNDRVBUX1RZUEU7XG5cbiAgQElucHV0KClcbiAgdXBsb2FkVGl0bGU6IHN0cmluZyA9IERFRkFVTFRfVVBMT0FEX1RJVExFO1xuXG4gIEBJbnB1dCgpXG4gIHVwbG9hZEljb246IHN0cmluZyA9IERFRkFVTFRfVVBMT0FEX0lDT047XG5cbiAgQElucHV0KClcbiAgYnJvd3NlSWNvbjogc3RyaW5nID0gREVGQVVMVF9GSUxFX0JST1dTRV9CVVRUT05fSUNPTjtcblxuICBASW5wdXQoKVxuICBkcm9wWm9uZVRleHQ6IHN0cmluZyA9IERFRkFVTFRfRFJPUFpPTkVfVEVYVDtcblxuICBASW5wdXQoKVxuICBicm93c2VCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX0JST1dTRV9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICBkcm9wUGxhY2Vob2xkZXJUZXh0OiBzdHJpbmcgPSBERUZBVUxUX0RST1BfUExBQ0VIT0xERVJfVEVYVDtcblxuICBASW5wdXQoKVxuICBkcm9wWm9uZUhpbnQ6IHN0cmluZyA9IERFRkFVTFRfRFJPUFpPTkVfSElOVDtcblxuICBASW5wdXQoKVxuICByZW1vdmVCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX1JFTU9WRV9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICB1cGxvYWRCdXR0b25UZXh0OiBzdHJpbmcgPSBERUZBVUxUX1VQTE9BRF9CVVRUT05fVEVYVDtcblxuICBASW5wdXQoKVxuICByZXRyeUJ1dHRvblRleHQ6IHN0cmluZyA9IERFRkFVTFRfUkVUUllfQlVUVE9OX1RFWFQ7XG5cbiAgQElucHV0KClcbiAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gREVGQVVMVF9DQU5DRUxfQlVUVE9OX1RFWFQ7XG5cbiAgQElucHV0KClcbiAgbXVsdGlGaWxlVXBsb2FkOiBib29sZWFuID0gREVGQVVMVF9NVUxUSV9GSUxFX1NVUFBPUlQ7XG5cbiAgQElucHV0KClcbiAgcmVzcG9uc2l2ZU9wdGlvbnM6IENhcm91c2VsUmVzcG9uc2l2ZU9wdGlvbnNbXSA9IERFRkFVTFRfUkVTUE9OU0lWRV9PUFRJT05TO1xuXG4gIEBPdXRwdXQoKVxuICBicm93c2VPckRyYWdGaWxlczogRXZlbnRFbWl0dGVyPFNlbGVjdGVkRmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgU2VsZWN0ZWRGaWxlW11cbiAgPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZW1vdmVGaWxlczogRXZlbnRFbWl0dGVyPFNlbGVjdGVkRmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgU2VsZWN0ZWRGaWxlW11cbiAgPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWxlc1VwbG9hZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWxlVXBsb2FkVmFsaWRhdGlvbjogRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvcj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RmlsZVVwbG9hZEVycm9yPigpO1xuXG4gIHNlbGVjdGVkRmlsZXM6IEZpbGVbXSA9IFtdO1xuICBwcmV2aWV3UmVhZHlGaWxlczogU2VsZWN0ZWRGaWxlW10gPSBbXTtcbiAgaXNGaWxlT25Ecm9wem9uZTogYm9vbGVhbiA9IGZhbHNlO1xuICBGaWxlVXBsb2FkU3RhdHVzID0gRmlsZVVwbG9hZFN0YXR1cztcbiAgZmlsZUVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbGVEcm9wRXJyb3JUeXBlOiBzdHJpbmc7XG4gIG51bVZpc2libGU6IG51bWJlciA9IERFRkFVTFRfVklTSUJMRV9GSUxFUztcblxuICBwcm90ZWN0ZWQgX3VwbG9hZFN0YXR1czogRmlsZVVwbG9hZFN0YXR1cyA9IEZpbGVVcGxvYWRTdGF0dXMuTm90U3RhcnRlZDtcblxuICBASW5wdXQoKVxuICBnZXQgdXBsb2FkU3RhdHVzKCk6IEZpbGVVcGxvYWRTdGF0dXMge1xuICAgIHJldHVybiB0aGlzLl91cGxvYWRTdGF0dXM7XG4gIH1cblxuICBzZXQgdXBsb2FkU3RhdHVzKHN0YXR1czogRmlsZVVwbG9hZFN0YXR1cykge1xuICAgIHRoaXMuX3VwbG9hZFN0YXR1cyA9IHN0YXR1cztcbiAgfVxuXG4gIHByb3RlY3RlZCBfYXV0b1VwbG9hZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZ2V0IGF1dG9VcGxvYWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9VcGxvYWQ7XG4gIH1cblxuICBzZXQgYXV0b1VwbG9hZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2F1dG9VcGxvYWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZmlsZUJyb3dzZUhhbmRsZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IEFycmF5LmZyb20odGFyZ2V0LmZpbGVzKTtcblxuICAgIGlmICghdmFsaWRGaWxlVHlwZXModGhpcy5hY2NlcHQsIGZpbGVzKSkge1xuICAgICAgdGhpcy5maWxlVXBsb2FkVmFsaWRhdGlvbi5lbWl0KHtcbiAgICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICAgICAgdHlwZTogRmlsVXBsb2FkRXJyb3JUeXBlcy5FeHRlbnNpb25Ob3RTdXBwb3J0ZWQsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZmlsZURyb3BSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gWy4uLnRoaXMuc2VsZWN0ZWRGaWxlcywgLi4uZmlsZXNdO1xuICAgIHRoaXMucHJldmlld1JlYWR5RmlsZXMgPSB0aGlzLnByZXBhcmVTZWxlY3RlZEZpbGVzKHRoaXMuc2VsZWN0ZWRGaWxlcyk7XG4gICAgdGhpcy5icm93c2VPckRyYWdGaWxlcy5lbWl0KHRoaXMucHJldmlld1JlYWR5RmlsZXMpO1xuICB9XG5cbiAgZmlsZVJlbW92ZUhhbmRsZXIoZmlsZVRvUmVtb3ZlOiBTZWxlY3RlZEZpbGUpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMucHJldmlld1JlYWR5RmlsZXMuZmluZEluZGV4KFxuICAgICAgKGZpbGUpID0+XG4gICAgICAgIGZpbGUuaW1hZ2VVcmwgPT09IGZpbGVUb1JlbW92ZS5pbWFnZVVybCAmJlxuICAgICAgICBmaWxlLmZpbGU/Lm5hbWUgPT09IGZpbGVUb1JlbW92ZS5maWxlPy5uYW1lICYmXG4gICAgICAgIGZpbGUucmVhZGFibGVTaXplID09PSBmaWxlVG9SZW1vdmUucmVhZGFibGVTaXplXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnByZXZpZXdSZWFkeUZpbGVzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXMubGVuZ3RoID09PSAwICYmXG4gICAgICB0aGlzLnByZXZpZXdSZWFkeUZpbGVzLmxlbmd0aCA9PT0gMFxuICAgICkge1xuICAgICAgdGhpcy5maWxlRHJvcFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMudXBsb2FkU3RhdHVzID0gRmlsZVVwbG9hZFN0YXR1cy5Ob3RTdGFydGVkO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlRmlsZXMuZW1pdCh0aGlzLnByZXZpZXdSZWFkeUZpbGVzKTtcbiAgfVxuXG4gIG9uRmlsZXNEcm9wSGFuZGxlcihmaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMubXVsdGlGaWxlVXBsb2FkICYmXG4gICAgICAodGhpcy5zZWxlY3RlZEZpbGVzLmxlbmd0aCA9PT0gMSB8fCBmaWxlcy5sZW5ndGggIT09IDEpXG4gICAgKSB7XG4gICAgICB0aGlzLmZpbGVFcnJvciA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gZmlsZXM7XG5cbiAgICB0aGlzLnByZXZpZXdSZWFkeUZpbGVzID0gdGhpcy5wcmVwYXJlU2VsZWN0ZWRGaWxlcyh0aGlzLnNlbGVjdGVkRmlsZXMpO1xuICAgIHRoaXMuYnJvd3NlT3JEcmFnRmlsZXMuZW1pdCh0aGlzLnByZXZpZXdSZWFkeUZpbGVzKTtcbiAgfVxuXG4gIG9uRmlsZU92ZXJEcm9wem9uZShpc0ZpbGVPdmVyOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZpbGVPbkRyb3B6b25lID0gaXNGaWxlT3ZlcjtcbiAgfVxuXG4gIG9uRmlsZURyb3BFcnJvcih2YWxpZGF0aW9uOiBGaWxlVXBsb2FkRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVFcnJvciA9IHZhbGlkYXRpb24uaXNFcnJvcjtcbiAgICB0aGlzLmZpbGVEcm9wRXJyb3JUeXBlID0gdmFsaWRhdGlvbi50eXBlO1xuICB9XG5cbiAgcHJlcGFyZVNlbGVjdGVkRmlsZXMoZmlsZXM6IEZpbGVbXSk6IFNlbGVjdGVkRmlsZVtdIHtcbiAgICByZXR1cm4gZmlsZXMubWFwKChmaWxlOiBGaWxlKSA9PiAoe1xuICAgICAgZmlsZSxcbiAgICAgIHJlYWRhYmxlU2l6ZTogdGhpcy5mb3JtYXRCeXRlc1RvUmVhZGFibGVTaXplKGZpbGUuc2l6ZSwgMiksXG4gICAgICBpbWFnZVVybDogZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gICAgICAgID8gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKVxuICAgICAgICA6IG51bGwsXG4gICAgfSkpO1xuICB9XG5cbiAgdXBsb2FkRmlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlc1VwbG9hZC5lbWl0KCk7XG4gIH1cblxuICByZXRyeVVwbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVzVXBsb2FkLmVtaXQoKTtcbiAgfVxuXG4gIGNhbmNlbFVwbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0RmlsZVVwbG9hZCgpO1xuICAgIHRoaXMucmVtb3ZlRmlsZXMuZW1pdCh0aGlzLnByZXZpZXdSZWFkeUZpbGVzKTtcbiAgfVxuXG4gIHJlc2V0RmlsZVVwbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVEcm9wUmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuZmlsZUVycm9yID0gZmFsc2U7XG4gICAgdGhpcy5maWxlRHJvcEVycm9yVHlwZSA9ICcnO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtdO1xuICAgIHRoaXMucHJldmlld1JlYWR5RmlsZXMgPSBbXTtcbiAgICB0aGlzLnVwbG9hZFN0YXR1cyA9IEZpbGVVcGxvYWRTdGF0dXMuTm90U3RhcnRlZDtcbiAgfVxuXG4gIGZvcm1hdEJ5dGVzVG9SZWFkYWJsZVNpemUoYnl0ZXM6IG51bWJlciwgZGVjaW1hbHM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGJ5dGVzID09PSAwKSB7XG4gICAgICByZXR1cm4gYDAgJHtmaWxlU2l6ZXNbMF19YDtcbiAgICB9XG5cbiAgICBjb25zdCBieXRlc1BlcktCID0gMTAyNDtcbiAgICBjb25zdCBkZWNpbWFsUG9pbnRzID0gZGVjaW1hbHMgPD0gMCA/IDAgOiBkZWNpbWFscyB8fCAyO1xuICAgIGNvbnN0IGV4cCA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coYnl0ZXNQZXJLQikpO1xuICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KFxuICAgICAgKGJ5dGVzIC8gTWF0aC5wb3coYnl0ZXNQZXJLQiwgZXhwKSkudG9GaXhlZChkZWNpbWFsUG9pbnRzKVxuICAgICl9ICR7ZmlsZVNpemVzW2V4cF19YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkLXdyYXBwZXJcIj5cbiAgPGgyIGNsYXNzPVwiZmlsZS11cGxvYWQtdGl0bGVcIj57eyB1cGxvYWRUaXRsZSB9fTwvaDI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZpbGUtZHJvcHpvbmVcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3VwbG9hZC1mYWlsZWQnOiB1cGxvYWRTdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRmFpbGVkIH1cIlxuICAgIGdyYW5pdGVGaWxlRHJhZ0FuZERyb3BcbiAgICAoZHJvcHBlZEZpbGVzKT1cIm9uRmlsZXNEcm9wSGFuZGxlcigkZXZlbnQpXCJcbiAgICAoaXNGaWxlT3Zlcik9XCJvbkZpbGVPdmVyRHJvcHpvbmUoJGV2ZW50KVwiXG4gICAgKGZpbGVVcGxvYWRWYWxpZGF0aW9uKT1cIm9uRmlsZURyb3BFcnJvcigkZXZlbnQpXCJcbiAgICBbbXVsdGlGaWxlVXBsb2FkRW5hYmxlZF09XCJtdWx0aUZpbGVVcGxvYWRcIlxuICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICBbY3VycmVudEZpbGVzXT1cInNlbGVjdGVkRmlsZXNcIlxuICA+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImZpbGUtaW5wdXRcIlxuICAgICAgI2ZpbGVEcm9wUmVmXG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICB0aXRsZT1cImZpbGVVcGxvYWRcIlxuICAgICAgKGNoYW5nZSk9XCJmaWxlQnJvd3NlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aUZpbGVVcGxvYWRcIlxuICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgIC8+XG4gICAgPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkLWJvZHlcIj5cbiAgICAgIEBpZiAoIWlzRmlsZU9uRHJvcHpvbmUgJiYgIWZpbGVFcnJvcikge1xuICAgICAgICBAc3dpdGNoIChwcmV2aWV3UmVhZHlGaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICBAY2FzZSAoMCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkLWJyb3dzZVwiPlxuICAgICAgICAgICAgICA8Z3Jhbml0ZS1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmaWxlLXVwbG9hZC1pY29uXCJcbiAgICAgICAgICAgICAgICBbZm9udEljb25dPVwidXBsb2FkSWNvblwiXG4gICAgICAgICAgICAgID48L2dyYW5pdGUtaWNvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtc2VsZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZmlsZS11cGxvYWQtYm9keS10ZXh0XCI+e3sgZHJvcFpvbmVUZXh0IH19PC9oMj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZpbGUtc2VsZWN0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBncmFuaXRlQnV0dG9uXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsZURyb3BSZWYuY2xpY2soKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJyb3dzZS1idXR0b24taWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtmb250SWNvbl09XCJicm93c2VJY29uXCJcbiAgICAgICAgICAgICAgICAgID48L2dyYW5pdGUtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJicm93c2UtYnV0dG9uLXRleHRcIj57eyBicm93c2VCdXR0b25UZXh0IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8cCAqbmdJZj1cImRyb3Bab25lSGludFwiIGNsYXNzPVwiZmlsZS11cGxvYWQtaGludFwiPlxuICAgICAgICAgICAgICAgIHt7IGRyb3Bab25lSGludCB9fVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGNhc2UgKDEpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBmaWxlUHJldmlld1RlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgcHJldmlld0ZpbGU6IHByZXZpZXdSZWFkeUZpbGVzWzBdIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgPGdyYW5pdGUtY2Fyb3VzZWxcbiAgICAgICAgICAgICAgW2l0ZW1zXT1cInByZXZpZXdSZWFkeUZpbGVzXCJcbiAgICAgICAgICAgICAgW251bVZpc2libGVdPVwibnVtVmlzaWJsZVwiXG4gICAgICAgICAgICAgIFtyZXNwb25zaXZlT3B0aW9uc109XCJyZXNwb25zaXZlT3B0aW9uc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcHJldmlld0ZpbGUgI2l0ZW1UZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBmaWxlUHJldmlld1RlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7IHByZXZpZXdGaWxlOiBwcmV2aWV3RmlsZSB9XG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZ3Jhbml0ZS1jYXJvdXNlbD5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8cCBjbGFzcz1cImRyb3AtYXJlYS1wbGFjZWhvbGRlclwiPlxuICAgICAgICAgIHt7IGRyb3BQbGFjZWhvbGRlclRleHQgfX1cbiAgICAgICAgPC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZpbGUtdXBsb2FkLWZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmb290ZXItY29udGFpbmVyXCIgKm5nSWY9XCJwcmV2aWV3UmVhZHlGaWxlcy5sZW5ndGggPiAwXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIWF1dG9VcGxvYWQgJiYgdXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLk5vdFN0YXJ0ZWRcIlxuICAgICAgICBncmFuaXRlUHJpbWFyeUJ1dHRvblxuICAgICAgICAoY2xpY2spPVwidXBsb2FkRmlsZXMoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHVwbG9hZEJ1dHRvblRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5GYWlsZWRcIj5cbiAgICAgICAgPGJ1dHRvbiBncmFuaXRlQnV0dG9uIChjbGljayk9XCJjYW5jZWxVcGxvYWQoKVwiPlxuICAgICAgICAgIHt7IGNhbmNlbEJ1dHRvblRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInJldHJ5LXVwbG9hZC1idXR0b25cIlxuICAgICAgICAgIGdyYW5pdGVQcmltYXJ5QnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cInJldHJ5VXBsb2FkKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgcmV0cnlCdXR0b25UZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdXBsb2FkaW5nT3ZlcmxheT5cbiAgPGRpdiBjbGFzcz1cImZpbGUtcHJldmlldy1vdmVybGF5XCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRpbmctc3Bpbm5lclwiPjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdXBsb2FkRmFpbGVkT3ZlcmxheT5cbiAgPGRpdiBjbGFzcz1cImZpbGUtcHJldmlldy1vdmVybGF5XCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ZpbGVQcmV2aWV3VGVtcGxhdGUgbGV0LXByZXZpZXdGaWxlPVwicHJldmlld0ZpbGVcIj5cbiAgPGRpdiBjbGFzcz1cImZpbGUtcHJldmlldy1jb250YWluZXJcIj5cbiAgICBAaWYgKHByZXZpZXdGaWxlPy5pbWFnZVVybCkge1xuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJmaWxlLXByZXZpZXctbGlua1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAndXBsb2FkaW5nLWluLXByb2dyZXNzJzogdXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkluUHJvZ3Jlc3MsXG4gICAgICAgICAgJ3VwbG9hZC1mYWlsZWQnOiB1cGxvYWRTdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRmFpbGVkXG4gICAgICAgIH1cIlxuICAgICAgICBbaHJlZl09XCJwcmV2aWV3RmlsZT8uaW1hZ2VVcmxcIlxuICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1wcmV2aWV3LWhvbGRlclwiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgW3NyY109XCJwcmV2aWV3RmlsZT8uaW1hZ2VVcmxcIlxuICAgICAgICAgICAgW2FsdF09XCJwcmV2aWV3RmlsZT8uZmlsZT8ubmFtZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cInVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5JblByb2dyZXNzXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVwbG9hZGluZ092ZXJsYXlcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cInVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5GYWlsZWRcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidXBsb2FkRmFpbGVkT3ZlcmxheVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJmaWxlLW5hbWVcIiBbdGl0bGVdPVwicHJldmlld0ZpbGU/LmZpbGU/Lm5hbWVcIj5cbiAgICAgICAgICB7eyBwcmV2aWV3RmlsZT8uZmlsZT8ubmFtZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwIGNsYXNzPVwiZmlsZS1zaXplXCI+e3sgcHJldmlld0ZpbGU/LnJlYWRhYmxlU2l6ZSB9fTwvcD5cbiAgICAgIDwvYT5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJkb2N1bWVudC1wcmV2aWV3LWxpbmtcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3VwbG9hZGluZy1pbi1wcm9ncmVzcyc6IHVwbG9hZFN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5JblByb2dyZXNzLFxuICAgICAgICAgICd1cGxvYWQtZmFpbGVkJzogdXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkZhaWxlZFxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3VtZW50LXByZXZpZXctaG9sZGVyXCI+XG4gICAgICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJkb2N1bWVudC1maWxlLXByZXZpZXdcIlxuICAgICAgICAgICAgW2NsYXNzLnVwbG9hZC1mYWlsZWRdPVwidXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkZhaWxlZFwiXG4gICAgICAgICAgICBbZm9udEljb25dPVwiJ2ljb24tZG9jdW1lbnQtYWx0J1wiXG4gICAgICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwidXBsb2FkU3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkluUHJvZ3Jlc3NcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidXBsb2FkaW5nT3ZlcmxheVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJmaWxlLW5hbWVcIiBbdGl0bGVdPVwicHJldmlld0ZpbGU/LmZpbGU/Lm5hbWVcIj5cbiAgICAgICAgICB7eyBwcmV2aWV3RmlsZT8uZmlsZT8ubmFtZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwIGNsYXNzPVwiZmlsZS1zaXplXCI+e3sgcHJldmlld0ZpbGU/LnJlYWRhYmxlU2l6ZSB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8YnV0dG9uXG4gICAgICBncmFuaXRlQnV0dG9uXG4gICAgICAqbmdJZj1cIlxuICAgICAgICBbRmlsZVVwbG9hZFN0YXR1cy5Db21wbGV0ZWQsIEZpbGVVcGxvYWRTdGF0dXMuTm90U3RhcnRlZF0uaW5jbHVkZXMoXG4gICAgICAgICAgdXBsb2FkU3RhdHVzXG4gICAgICAgIClcbiAgICAgIFwiXG4gICAgICAoY2xpY2spPVwiZmlsZVJlbW92ZUhhbmRsZXIocHJldmlld0ZpbGUpXCJcbiAgICA+XG4gICAgICB7eyByZW1vdmVCdXR0b25UZXh0IH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,45 +0,0 @@
1
- export const fileSizes = [
2
- 'Bytes',
3
- 'KB',
4
- 'MB',
5
- 'GB',
6
- 'TB',
7
- 'PB',
8
- 'EB',
9
- 'ZB',
10
- 'YB',
11
- ];
12
- export var FileUploadStatus;
13
- (function (FileUploadStatus) {
14
- FileUploadStatus["NotStarted"] = "NotStarted";
15
- FileUploadStatus["InProgress"] = "InProgress";
16
- FileUploadStatus["Completed"] = "Completed";
17
- FileUploadStatus["Failed"] = "Failed";
18
- FileUploadStatus["Cancelled"] = "Cancelled";
19
- })(FileUploadStatus || (FileUploadStatus = {}));
20
- export var FilUploadErrorTypes;
21
- (function (FilUploadErrorTypes) {
22
- FilUploadErrorTypes["ExtensionNotSupported"] = "ExtensionNotSupported";
23
- FilUploadErrorTypes["MultipleFilesNotSupported"] = "MultipleFilesNotSupported";
24
- })(FilUploadErrorTypes || (FilUploadErrorTypes = {}));
25
- export const DEFAULT_MULTI_FILE_SUPPORT = false;
26
- export const DEFAULT_ACCEPT_TYPE = '*.*';
27
- export const DEFAULT_UPLOAD_TITLE = 'Upload Files';
28
- export const DEFAULT_UPLOAD_ICON = 'icon-upload';
29
- export const DEFAULT_FILE_BROWSE_BUTTON_ICON = 'icon-folder-alt';
30
- export const DEFAULT_DROPZONE_TEXT = 'Drop here or';
31
- export const DEFAULT_BROWSE_BUTTON_TEXT = 'Browse';
32
- export const DEFAULT_DROP_PLACEHOLDER_TEXT = 'Drop files here';
33
- export const DEFAULT_DROPZONE_HINT = '';
34
- export const DEFAULT_REMOVE_BUTTON_TEXT = 'Remove';
35
- export const DEFAULT_UPLOAD_BUTTON_TEXT = 'Upload Files';
36
- export const DEFAULT_RETRY_BUTTON_TEXT = 'Retry';
37
- export const DEFAULT_CANCEL_BUTTON_TEXT = 'Cancel';
38
- export const DEFAULT_RESPONSIVE_OPTIONS = [
39
- { breakpoint: '1200px', numVisible: 4, numScroll: 1 },
40
- { breakpoint: '992px', numVisible: 3, numScroll: 1 },
41
- { breakpoint: '768px', numVisible: 2, numScroll: 1 },
42
- { breakpoint: '576px', numVisible: 1, numScroll: 1 },
43
- ];
44
- export const DEFAULT_VISIBLE_FILES = 10;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvZmlsZS11cGxvYWQvc3JjL2xpYi9maWxlLXVwbG9hZC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFhO0lBQ2pDLE9BQU87SUFDUCxJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtDQUNMLENBQUM7QUFFRixNQUFNLENBQU4sSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLDZDQUF5QixDQUFBO0lBQ3pCLDZDQUF5QixDQUFBO0lBQ3pCLDJDQUF1QixDQUFBO0lBQ3ZCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFOVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBTTNCO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3QixzRUFBK0MsQ0FBQTtJQUMvQyw4RUFBdUQsQ0FBQTtBQUN6RCxDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQUVELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEtBQUssQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBVyxLQUFLLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQVcsY0FBYyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFXLGFBQWEsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBVyxpQkFBaUIsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBVyxjQUFjLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQVcsUUFBUSxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFXLGlCQUFpQixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFXLEVBQUUsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBVyxRQUFRLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQVcsY0FBYyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFXLE9BQU8sQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBVyxRQUFRLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQWdDO0lBQ3JFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUU7SUFDckQsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRTtJQUNwRCxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO0lBQ3BELEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUU7Q0FDckQsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhcm91c2VsUmVzcG9uc2l2ZU9wdGlvbnMgfSBmcm9tICdwcmltZW5nL2Nhcm91c2VsJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RlZEZpbGUge1xuICBmaWxlOiBGaWxlO1xuICByZWFkYWJsZVNpemU/OiBzdHJpbmc7XG4gIGltYWdlVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVVcGxvYWRFcnJvciB7XG4gIGlzRXJyb3I6IGJvb2xlYW47XG4gIHR5cGU6IEZpbFVwbG9hZEVycm9yVHlwZXM7XG59XG5cbmV4cG9ydCBjb25zdCBmaWxlU2l6ZXM6IHN0cmluZ1tdID0gW1xuICAnQnl0ZXMnLFxuICAnS0InLFxuICAnTUInLFxuICAnR0InLFxuICAnVEInLFxuICAnUEInLFxuICAnRUInLFxuICAnWkInLFxuICAnWUInLFxuXTtcblxuZXhwb3J0IGVudW0gRmlsZVVwbG9hZFN0YXR1cyB7XG4gIE5vdFN0YXJ0ZWQgPSAnTm90U3RhcnRlZCcsXG4gIEluUHJvZ3Jlc3MgPSAnSW5Qcm9ncmVzcycsXG4gIENvbXBsZXRlZCA9ICdDb21wbGV0ZWQnLFxuICBGYWlsZWQgPSAnRmFpbGVkJyxcbiAgQ2FuY2VsbGVkID0gJ0NhbmNlbGxlZCcsXG59XG5cbmV4cG9ydCBlbnVtIEZpbFVwbG9hZEVycm9yVHlwZXMge1xuICBFeHRlbnNpb25Ob3RTdXBwb3J0ZWQgPSAnRXh0ZW5zaW9uTm90U3VwcG9ydGVkJyxcbiAgTXVsdGlwbGVGaWxlc05vdFN1cHBvcnRlZCA9ICdNdWx0aXBsZUZpbGVzTm90U3VwcG9ydGVkJyxcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTVVMVElfRklMRV9TVVBQT1JUID0gZmFsc2U7XG5leHBvcnQgY29uc3QgREVGQVVMVF9BQ0NFUFRfVFlQRTogc3RyaW5nID0gJyouKic7XG5leHBvcnQgY29uc3QgREVGQVVMVF9VUExPQURfVElUTEU6IHN0cmluZyA9ICdVcGxvYWQgRmlsZXMnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVBMT0FEX0lDT046IHN0cmluZyA9ICdpY29uLXVwbG9hZCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9GSUxFX0JST1dTRV9CVVRUT05fSUNPTjogc3RyaW5nID0gJ2ljb24tZm9sZGVyLWFsdCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9EUk9QWk9ORV9URVhUOiBzdHJpbmcgPSAnRHJvcCBoZXJlIG9yJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0JST1dTRV9CVVRUT05fVEVYVDogc3RyaW5nID0gJ0Jyb3dzZSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9EUk9QX1BMQUNFSE9MREVSX1RFWFQ6IHN0cmluZyA9ICdEcm9wIGZpbGVzIGhlcmUnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRFJPUFpPTkVfSElOVDogc3RyaW5nID0gJyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9SRU1PVkVfQlVUVE9OX1RFWFQ6IHN0cmluZyA9ICdSZW1vdmUnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVBMT0FEX0JVVFRPTl9URVhUOiBzdHJpbmcgPSAnVXBsb2FkIEZpbGVzJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFVFJZX0JVVFRPTl9URVhUOiBzdHJpbmcgPSAnUmV0cnknO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FOQ0VMX0JVVFRPTl9URVhUOiBzdHJpbmcgPSAnQ2FuY2VsJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFU1BPTlNJVkVfT1BUSU9OUzogQ2Fyb3VzZWxSZXNwb25zaXZlT3B0aW9uc1tdID0gW1xuICB7IGJyZWFrcG9pbnQ6ICcxMjAwcHgnLCBudW1WaXNpYmxlOiA0LCBudW1TY3JvbGw6IDEgfSxcbiAgeyBicmVha3BvaW50OiAnOTkycHgnLCBudW1WaXNpYmxlOiAzLCBudW1TY3JvbGw6IDEgfSxcbiAgeyBicmVha3BvaW50OiAnNzY4cHgnLCBudW1WaXNpYmxlOiAyLCBudW1TY3JvbGw6IDEgfSxcbiAgeyBicmVha3BvaW50OiAnNTc2cHgnLCBudW1WaXNpYmxlOiAxLCBudW1TY3JvbGw6IDEgfSxcbl07XG5leHBvcnQgY29uc3QgREVGQVVMVF9WSVNJQkxFX0ZJTEVTOiBudW1iZXIgPSAxMDtcbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { GraniteFileUploadComponent } from './file-upload.component';
4
- import { GraniteFileDragAndDropDirective } from './directives/file-drag-and-drop.directive';
5
- import { GraniteCarouselModule } from '@ifsworld/granite-components/carousel';
6
- import { GraniteButtonModule, GraniteIconModule, } from '@ifsworld/granite-components';
7
- import * as i0 from "@angular/core";
8
- export class GraniteFileUploadModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteFileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GraniteFileUploadModule, declarations: [GraniteFileUploadComponent, GraniteFileDragAndDropDirective], imports: [CommonModule,
11
- GraniteButtonModule,
12
- GraniteIconModule,
13
- GraniteCarouselModule], exports: [GraniteFileUploadComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteFileUploadModule, imports: [CommonModule,
15
- GraniteButtonModule,
16
- GraniteIconModule,
17
- GraniteCarouselModule] }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteFileUploadModule, decorators: [{
20
- type: NgModule,
21
- args: [{
22
- declarations: [GraniteFileUploadComponent, GraniteFileDragAndDropDirective],
23
- exports: [GraniteFileUploadComponent],
24
- imports: [
25
- CommonModule,
26
- GraniteButtonModule,
27
- GraniteIconModule,
28
- GraniteCarouselModule,
29
- ],
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvZmlsZS11cGxvYWQvc3JjL2xpYi9maWxlLXVwbG9hZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixpQkFBaUIsR0FDbEIsTUFBTSw4QkFBOEIsQ0FBQzs7QUFZdEMsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO2dIQUF2Qix1QkFBdUIsaUJBVG5CLDBCQUEwQixFQUFFLCtCQUErQixhQUd4RSxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixxQkFBcUIsYUFMYiwwQkFBMEI7Z0hBUXpCLHVCQUF1QixZQU5oQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixxQkFBcUI7OzRGQUdaLHVCQUF1QjtrQkFWbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSwrQkFBK0IsQ0FBQztvQkFDM0UsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBHcmFuaXRlRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVGaWxlRHJhZ0FuZERyb3BEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZmlsZS1kcmFnLWFuZC1kcm9wLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHcmFuaXRlQ2Fyb3VzZWxNb2R1bGUgfSBmcm9tICdAaWZzd29ybGQvZ3Jhbml0ZS1jb21wb25lbnRzL2Nhcm91c2VsJztcbmltcG9ydCB7XG4gIEdyYW5pdGVCdXR0b25Nb2R1bGUsXG4gIEdyYW5pdGVJY29uTW9kdWxlLFxufSBmcm9tICdAaWZzd29ybGQvZ3Jhbml0ZS1jb21wb25lbnRzJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbR3Jhbml0ZUZpbGVVcGxvYWRDb21wb25lbnQsIEdyYW5pdGVGaWxlRHJhZ0FuZERyb3BEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbR3Jhbml0ZUZpbGVVcGxvYWRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEdyYW5pdGVCdXR0b25Nb2R1bGUsXG4gICAgR3Jhbml0ZUljb25Nb2R1bGUsXG4gICAgR3Jhbml0ZUNhcm91c2VsTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlRmlsZVVwbG9hZE1vZHVsZSB7fVxuIl19
@@ -1,13 +0,0 @@
1
- export function validFileTypes(mimeTypesStringToCheck, files) {
2
- const supportedFileMimeTypes = mimeTypesStringToCheck
3
- .split(',')
4
- .map((ext) => ext.trim());
5
- if (!files || files.length === 0) {
6
- return false;
7
- }
8
- return files.every((file) => {
9
- const fileType = file['type'];
10
- return fileType && supportedFileMimeTypes.includes(fileType);
11
- });
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9maWxlLXVwbG9hZC9zcmMvbGliL2ZpbGUtdXBsb2FkLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxjQUFjLENBQzVCLHNCQUE4QixFQUM5QixLQUFVO0lBRVYsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0I7U0FDbEQsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFNUIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQU8sRUFBRSxFQUFFO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixPQUFPLFFBQVEsSUFBSSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHZhbGlkRmlsZVR5cGVzPFQ+KFxuICBtaW1lVHlwZXNTdHJpbmdUb0NoZWNrOiBzdHJpbmcsXG4gIGZpbGVzOiBUW11cbik6IGJvb2xlYW4ge1xuICBjb25zdCBzdXBwb3J0ZWRGaWxlTWltZVR5cGVzID0gbWltZVR5cGVzU3RyaW5nVG9DaGVja1xuICAgIC5zcGxpdCgnLCcpXG4gICAgLm1hcCgoZXh0KSA9PiBleHQudHJpbSgpKTtcblxuICBpZiAoIWZpbGVzIHx8IGZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBmaWxlcy5ldmVyeSgoZmlsZTogVCkgPT4ge1xuICAgIGNvbnN0IGZpbGVUeXBlID0gZmlsZVsndHlwZSddO1xuICAgIHJldHVybiBmaWxlVHlwZSAmJiBzdXBwb3J0ZWRGaWxlTWltZVR5cGVzLmluY2x1ZGVzKGZpbGVUeXBlKTtcbiAgfSk7XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZzd29ybGQtZ3Jhbml0ZS1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2lmc3dvcmxkLWdyYW5pdGUtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==