verben-workflow-ui 0.5.76 → 0.5.78

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 (182) hide show
  1. package/README.md +13 -0
  2. package/esm2022/src/lib/components/actors/actors.component.mjs +5 -5
  3. package/esm2022/src/lib/components/actors/actors.facade.mjs +3 -3
  4. package/esm2022/src/lib/components/actors/actors.form.component.mjs +5 -5
  5. package/esm2022/src/lib/components/actors/actors.module.mjs +4 -4
  6. package/esm2022/src/lib/components/actors/actors.service.mjs +3 -3
  7. package/esm2022/src/lib/components/actors/actors.state.mjs +3 -3
  8. package/esm2022/src/lib/components/designer/components/label-editor.component.mjs +6 -6
  9. package/esm2022/src/lib/components/designer/components/node-selector.component.mjs +4 -4
  10. package/esm2022/src/lib/components/designer/components/swimlane-label.component.mjs +3 -3
  11. package/esm2022/src/lib/components/designer/components/swimlane-popup.component.mjs +3 -3
  12. package/esm2022/src/lib/components/designer/components/wf-canvas.component.mjs +6 -6
  13. package/esm2022/src/lib/components/designer/components/wf-designer.component.mjs +3 -3
  14. package/esm2022/src/lib/components/designer/components/wf-toolbar.component.mjs +6 -6
  15. package/esm2022/src/lib/components/designer/services/canvas-state.service.mjs +3 -3
  16. package/esm2022/src/lib/components/designer/services/connection-segment-interaction.service.mjs +3 -3
  17. package/esm2022/src/lib/components/designer/services/connection.service.mjs +3 -3
  18. package/esm2022/src/lib/components/designer/services/keyboard-handler.service.mjs +3 -3
  19. package/esm2022/src/lib/components/designer/services/label-management.service.mjs +3 -3
  20. package/esm2022/src/lib/components/designer/services/node-finder.service.mjs +3 -3
  21. package/esm2022/src/lib/components/designer/services/node-interaction.service.mjs +3 -3
  22. package/esm2022/src/lib/components/designer/services/node-precondition.service.mjs +3 -3
  23. package/esm2022/src/lib/components/designer/services/node-selection.service.mjs +3 -3
  24. package/esm2022/src/lib/components/designer/services/orthogonal-router.service.mjs +3 -3
  25. package/esm2022/src/lib/components/designer/services/position-update.service.mjs +3 -3
  26. package/esm2022/src/lib/components/designer/services/rendering.service.mjs +3 -3
  27. package/esm2022/src/lib/components/designer/services/swimlane-management.service.mjs +3 -3
  28. package/esm2022/src/lib/components/designer/services/swimlane-stats.service.mjs +3 -3
  29. package/esm2022/src/lib/components/designer/services/viewport.service.mjs +3 -3
  30. package/esm2022/src/lib/components/designer/services/wf-facade.service.mjs +3 -3
  31. package/esm2022/src/lib/components/designer/services/wf-mapper.service.mjs +3 -3
  32. package/esm2022/src/lib/components/designer/services/wf-persistence.service.mjs +3 -3
  33. package/esm2022/src/lib/components/designer/services/wf-state.service.mjs +3 -3
  34. package/esm2022/src/lib/components/expiration/expiration.component.mjs +3 -3
  35. package/esm2022/src/lib/components/expiration/expiration.module.mjs +4 -4
  36. package/esm2022/src/lib/components/file-render/file-render.component.mjs +5 -5
  37. package/esm2022/src/lib/components/file-render/file-render.module.mjs +4 -4
  38. package/esm2022/src/lib/components/file-upload/file-upload.component.mjs +5 -5
  39. package/esm2022/src/lib/components/file-upload/file-upload.module.mjs +4 -4
  40. package/esm2022/src/lib/components/flowable-status/flowable-status.component.mjs +17 -10
  41. package/esm2022/src/lib/components/flowable-status/flowable-status.facade.mjs +3 -3
  42. package/esm2022/src/lib/components/flowable-status/flowable-status.form.component.mjs +5 -5
  43. package/esm2022/src/lib/components/flowable-status/flowable-status.module.mjs +4 -4
  44. package/esm2022/src/lib/components/flowable-status/flowable-status.service.mjs +3 -3
  45. package/esm2022/src/lib/components/flowable-status/flowable-status.state.mjs +3 -3
  46. package/esm2022/src/lib/components/form-control/form-control.component.mjs +5 -5
  47. package/esm2022/src/lib/components/form-control/form-control.module.mjs +4 -4
  48. package/esm2022/src/lib/components/form-group/base-table-style.mjs +6 -6
  49. package/esm2022/src/lib/components/form-group/form-fields/form-fields.component.mjs +5 -5
  50. package/esm2022/src/lib/components/form-group/form-fields/form-fields.module.mjs +4 -4
  51. package/esm2022/src/lib/components/form-group/form-fields/form-fields.service.mjs +3 -3
  52. package/esm2022/src/lib/components/form-group/form-group.component.mjs +5 -5
  53. package/esm2022/src/lib/components/form-group/form-group.module.mjs +4 -4
  54. package/esm2022/src/lib/components/form-group/form-group.service.mjs +3 -3
  55. package/esm2022/src/lib/components/form-response/form-response.component.mjs +5 -5
  56. package/esm2022/src/lib/components/form-response/form-response.module.mjs +4 -4
  57. package/esm2022/src/lib/components/form-response/form-response.service.mjs +3 -3
  58. package/esm2022/src/lib/components/form-timer/form-timer.component.mjs +5 -5
  59. package/esm2022/src/lib/components/form-timer/form-timer.module.mjs +4 -4
  60. package/esm2022/src/lib/components/forms/base-table-style.mjs +6 -6
  61. package/esm2022/src/lib/components/forms/forms.component.mjs +5 -5
  62. package/esm2022/src/lib/components/forms/forms.module.mjs +4 -4
  63. package/esm2022/src/lib/components/forms/forms.service.mjs +3 -3
  64. package/esm2022/src/lib/components/journal/journal.component.mjs +3 -3
  65. package/esm2022/src/lib/components/journal/journal.module.mjs +4 -4
  66. package/esm2022/src/lib/components/my-queue/my-queue.component.mjs +5 -5
  67. package/esm2022/src/lib/components/my-queue/my-queue.facade.mjs +3 -3
  68. package/esm2022/src/lib/components/my-queue/my-queue.module.mjs +4 -4
  69. package/esm2022/src/lib/components/my-queue/my-queue.service.mjs +3 -3
  70. package/esm2022/src/lib/components/my-queue/my-queue.state.mjs +3 -3
  71. package/esm2022/src/lib/components/my-queue/tasks.form.component.mjs +5 -5
  72. package/esm2022/src/lib/components/operation-popup/operation-popup.component.mjs +5 -5
  73. package/esm2022/src/lib/components/operation-popup/operation-popup.facade.mjs +3 -3
  74. package/esm2022/src/lib/components/operation-popup/operation-popup.service.mjs +3 -3
  75. package/esm2022/src/lib/components/operation-popup/operation-popup.state.mjs +3 -3
  76. package/esm2022/src/lib/components/stage-details/stage-details.component.mjs +5 -5
  77. package/esm2022/src/lib/components/stage-details/stage-details.module.mjs +4 -4
  78. package/esm2022/src/lib/components/task-form/task-form.component.mjs +5 -5
  79. package/esm2022/src/lib/components/task-form/task-form.module.mjs +4 -4
  80. package/esm2022/src/lib/components/task-history/task-history.component.mjs +5 -5
  81. package/esm2022/src/lib/components/task-history/task-history.module.mjs +4 -4
  82. package/esm2022/src/lib/components/task-history/task-history.service.mjs +3 -3
  83. package/esm2022/src/lib/components/task-notification/base-table-style.mjs +6 -6
  84. package/esm2022/src/lib/components/task-notification/task-notification.component.mjs +5 -5
  85. package/esm2022/src/lib/components/task-notification/task-notification.module.mjs +4 -4
  86. package/esm2022/src/lib/components/task-notification/task-notification.service.mjs +3 -3
  87. package/esm2022/src/lib/components/tasks/tasks.component.mjs +17 -26
  88. package/esm2022/src/lib/components/tasks/tasks.facade.mjs +3 -3
  89. package/esm2022/src/lib/components/tasks/tasks.form.component.mjs +5 -5
  90. package/esm2022/src/lib/components/tasks/tasks.module.mjs +4 -4
  91. package/esm2022/src/lib/components/tasks/tasks.service.mjs +3 -3
  92. package/esm2022/src/lib/components/tasks/tasks.state.mjs +3 -3
  93. package/esm2022/src/lib/components/wf/wf.component.mjs +3 -3
  94. package/esm2022/src/lib/components/wf/wf.module.mjs +4 -4
  95. package/esm2022/src/lib/components/wf/wf.service.mjs +3 -3
  96. package/esm2022/src/lib/components/workflow/table-style.mjs +6 -6
  97. package/esm2022/src/lib/components/workflow/workflow.component.mjs +8 -8
  98. package/esm2022/src/lib/components/workflow/workflow.module.mjs +4 -4
  99. package/esm2022/src/lib/components/workflow-designer/action-dialog/action-dialog.component.mjs +5 -5
  100. package/esm2022/src/lib/components/workflow-designer/actor-tags-dialog/actor-tags-dialog.component.mjs +5 -5
  101. package/esm2022/src/lib/components/workflow-designer/conditions-popup/conditions-popup.component.mjs +3 -3
  102. package/esm2022/src/lib/components/workflow-designer/decision-popup/decision-popup.component.mjs +4 -4
  103. package/esm2022/src/lib/components/workflow-designer/designer-canvas/designer-canvas.component.mjs +3 -3
  104. package/esm2022/src/lib/components/workflow-designer/designer-toolbar/designer-toolbar.component.mjs +5 -5
  105. package/esm2022/src/lib/components/workflow-designer/escalation-dialog/escalation-dialog.component.mjs +5 -5
  106. package/esm2022/src/lib/components/workflow-designer/services/connection.service.mjs +3 -3
  107. package/esm2022/src/lib/components/workflow-designer/services/node-management.service.mjs +3 -3
  108. package/esm2022/src/lib/components/workflow-designer/services/popup.service.mjs +3 -3
  109. package/esm2022/src/lib/components/workflow-designer/services/swimlane.service.mjs +3 -3
  110. package/esm2022/src/lib/components/workflow-designer/services/transformer.service.mjs +3 -3
  111. package/esm2022/src/lib/components/workflow-designer/stage-dialog/stage-dialog.component.mjs +5 -5
  112. package/esm2022/src/lib/components/workflow-designer/stage-node/stage-node.component.mjs +5 -5
  113. package/esm2022/src/lib/components/workflow-designer/swimlane-dialog/swimlane-dialog.component.mjs +5 -5
  114. package/esm2022/src/lib/components/workflow-designer/workflow-data.service.mjs +3 -3
  115. package/esm2022/src/lib/components/workflow-designer/workflow-designer.component.mjs +4 -4
  116. package/esm2022/src/lib/components/workflow-designer/workflow-designer.module.mjs +4 -4
  117. package/esm2022/src/lib/components/workflow-designer/workflow-designer.state.mjs +3 -3
  118. package/esm2022/src/lib/components/workflows/workflow-form/workflow-form.component.mjs +5 -5
  119. package/esm2022/src/lib/components/workflows/workflows.component.mjs +18 -9
  120. package/esm2022/src/lib/components/workflows/workflows.facade.mjs +3 -3
  121. package/esm2022/src/lib/components/workflows/workflows.module.mjs +4 -4
  122. package/esm2022/src/lib/components/workflows/workflows.service.mjs +3 -3
  123. package/esm2022/src/lib/components/workflows/workflows.state.mjs +3 -3
  124. package/esm2022/src/lib/pipes/async-label.pipe.mjs +3 -3
  125. package/esm2022/src/lib/services/environment.service.mjs +3 -3
  126. package/esm2022/src/lib/services/http-web-request.service.mjs +3 -3
  127. package/esm2022/src/lib/services/label.service.mjs +3 -3
  128. package/esm2022/src/lib/services/util.service.mjs +3 -3
  129. package/esm2022/src/lib/shared/base-table-style.mjs +6 -6
  130. package/esm2022/src/lib/shared/components/base-data-view.component.mjs +3 -3
  131. package/esm2022/src/lib/shared/shared.module.mjs +4 -4
  132. package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs +21 -21
  133. package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs.map +1 -1
  134. package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs +85 -85
  135. package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs.map +1 -1
  136. package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs +7 -7
  137. package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs.map +1 -1
  138. package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs +8 -8
  139. package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs.map +1 -1
  140. package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs +8 -8
  141. package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs.map +1 -1
  142. package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs +33 -26
  143. package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs.map +1 -1
  144. package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs +8 -8
  145. package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs.map +1 -1
  146. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs +27 -27
  147. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs.map +1 -1
  148. package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs +11 -11
  149. package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs.map +1 -1
  150. package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs +8 -8
  151. package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs.map +1 -1
  152. package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs +16 -16
  153. package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs.map +1 -1
  154. package/fesm2022/verben-workflow-ui-src-lib-components-journal.mjs +7 -7
  155. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs +21 -21
  156. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs.map +1 -1
  157. package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs +13 -13
  158. package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs.map +1 -1
  159. package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs +8 -8
  160. package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs.map +1 -1
  161. package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs +8 -8
  162. package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs.map +1 -1
  163. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs +11 -11
  164. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs.map +1 -1
  165. package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs +16 -16
  166. package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs.map +1 -1
  167. package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs +33 -42
  168. package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs.map +1 -1
  169. package/fesm2022/verben-workflow-ui-src-lib-components-wf.mjs +10 -10
  170. package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +67 -67
  171. package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
  172. package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs +16 -16
  173. package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs.map +1 -1
  174. package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs +34 -25
  175. package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs.map +1 -1
  176. package/fesm2022/verben-workflow-ui-src-lib-pipes.mjs +3 -3
  177. package/fesm2022/verben-workflow-ui-src-lib-services.mjs +12 -12
  178. package/fesm2022/verben-workflow-ui-src-lib-shared.mjs +12 -12
  179. package/fesm2022/verben-workflow-ui-src-lib-shared.mjs.map +1 -1
  180. package/package.json +30 -30
  181. package/src/lib/components/workflow/workflow.component.d.ts +1 -1
  182. package/styles/styles.css +19 -1436
@@ -312,10 +312,10 @@ export class WorkflowMapperService {
312
312
  properties: properties?.properties,
313
313
  };
314
314
  }
315
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowMapperService, deps: [{ token: i1.ConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
316
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowMapperService, providedIn: 'root' });
315
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowMapperService, deps: [{ token: i1.ConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
316
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowMapperService, providedIn: 'root' });
317
317
  }
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowMapperService, decorators: [{
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowMapperService, decorators: [{
319
319
  type: Injectable,
320
320
  args: [{
321
321
  providedIn: 'root',
@@ -155,10 +155,10 @@ export class WorkflowPersistenceService {
155
155
  throw error;
156
156
  }
157
157
  }
158
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowPersistenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
159
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowPersistenceService, providedIn: 'root' });
158
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowPersistenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
159
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowPersistenceService, providedIn: 'root' });
160
160
  }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowPersistenceService, decorators: [{
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowPersistenceService, decorators: [{
162
162
  type: Injectable,
163
163
  args: [{
164
164
  providedIn: 'root',
@@ -96,10 +96,10 @@ export class WorkflowStateService {
96
96
  objects: [swimlane, startNode, initialConnection],
97
97
  });
98
98
  }
99
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
100
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowStateService, providedIn: 'root' });
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
100
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowStateService, providedIn: 'root' });
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkflowStateService, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowStateService, decorators: [{
103
103
  type: Injectable,
104
104
  args: [{
105
105
  providedIn: 'root',
@@ -35,10 +35,10 @@ export class ExpirationComponent {
35
35
  recipients: 'New Recipients'
36
36
  });
37
37
  }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExpirationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ExpirationComponent, selector: "lib-expiration", inputs: { cycle: "cycle" }, outputs: { toggle: "toggle" }, ngImport: i0, template: "<div class=\"w-full bg-white p-4\">\n <div *ngFor=\"let item of cycle; let i = index\">\n <div class=\"bg-[#FFE681B2] px-6 py-3 flex items-center mb-6 justify-between\" (click)=\"toggleCycle(i)\">\n <span>Cycle {{ item.id + 1 }}</span>\n <span class=\" cursor-pointer\">{{ item.expanded ? '\u25B2' : '\u25BC' }}</span>\n </div>\n \n <div *ngIf=\"item.expanded\" class=\"cycle-content border border-primary p-6\">\n <div *ngFor=\"let message of item.messages\" class=\"flex flex-col gap-6 mb-4\">\n <verben-drop-down width=\"100%\" placeholder=\"Select Message ID\" [(options)]=\"idOptions\"></verben-drop-down>\n <verbena-input type=\"text\" placeHolder=\"Message Subject\" bgColor=\"white\"></verbena-input>\n <verben-chip [(ngModel)]=\"chipArray\" placeholder=\"Recipients\"></verben-chip>\n </div>\n \n <div class=\"flex justify-end mt-4\">\n <verbena-button text=\"+ Add Message\" bgColor=\"transparent\" pd=\"0\" textColor=\"blue\" (click)=\"addMessage(i)\"></verbena-button>\n </div>\n </div>\n </div>\n </div>\n ", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i3.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i3.ChipComponent, selector: "verben-chip", inputs: ["width", "placeholder", "max", "styleClass", "separator", "disabled", "required", "invalidMessage", "errorPosition"], outputs: ["onChange"] }] });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpirationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExpirationComponent, selector: "lib-expiration", inputs: { cycle: "cycle" }, outputs: { toggle: "toggle" }, ngImport: i0, template: "<div class=\"w-full bg-white p-4\">\n <div *ngFor=\"let item of cycle; let i = index\">\n <div class=\"bg-[#FFE681B2] px-6 py-3 flex items-center mb-6 justify-between\" (click)=\"toggleCycle(i)\">\n <span>Cycle {{ item.id + 1 }}</span>\n <span class=\" cursor-pointer\">{{ item.expanded ? '\u25B2' : '\u25BC' }}</span>\n </div>\n \n <div *ngIf=\"item.expanded\" class=\"cycle-content border border-primary p-6\">\n <div *ngFor=\"let message of item.messages\" class=\"flex flex-col gap-6 mb-4\">\n <verben-drop-down width=\"100%\" placeholder=\"Select Message ID\" [(options)]=\"idOptions\"></verben-drop-down>\n <verbena-input type=\"text\" placeHolder=\"Message Subject\" bgColor=\"white\"></verbena-input>\n <verben-chip [(ngModel)]=\"chipArray\" placeholder=\"Recipients\"></verben-chip>\n </div>\n \n <div class=\"flex justify-end mt-4\">\n <verbena-button text=\"+ Add Message\" bgColor=\"transparent\" pd=\"0\" textColor=\"blue\" (click)=\"addMessage(i)\"></verbena-button>\n </div>\n </div>\n </div>\n </div>\n ", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.VerbenaInputComponent, selector: "verbena-input", inputs: ["disabled", "label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i3.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "overlayWidth", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "refPageSize", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i3.ChipComponent, selector: "verben-chip", inputs: ["width", "placeholder", "max", "styleClass", "separator", "disabled", "required", "invalidMessage", "errorPosition"], outputs: ["onChange"] }] });
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExpirationComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpirationComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'lib-expiration', template: "<div class=\"w-full bg-white p-4\">\n <div *ngFor=\"let item of cycle; let i = index\">\n <div class=\"bg-[#FFE681B2] px-6 py-3 flex items-center mb-6 justify-between\" (click)=\"toggleCycle(i)\">\n <span>Cycle {{ item.id + 1 }}</span>\n <span class=\" cursor-pointer\">{{ item.expanded ? '\u25B2' : '\u25BC' }}</span>\n </div>\n \n <div *ngIf=\"item.expanded\" class=\"cycle-content border border-primary p-6\">\n <div *ngFor=\"let message of item.messages\" class=\"flex flex-col gap-6 mb-4\">\n <verben-drop-down width=\"100%\" placeholder=\"Select Message ID\" [(options)]=\"idOptions\"></verben-drop-down>\n <verbena-input type=\"text\" placeHolder=\"Message Subject\" bgColor=\"white\"></verbena-input>\n <verben-chip [(ngModel)]=\"chipArray\" placeholder=\"Recipients\"></verben-chip>\n </div>\n \n <div class=\"flex justify-end mt-4\">\n <verbena-button text=\"+ Add Message\" bgColor=\"transparent\" pd=\"0\" textColor=\"blue\" (click)=\"addMessage(i)\"></verbena-button>\n </div>\n </div>\n </div>\n </div>\n " }]
44
44
  }], propDecorators: { cycle: [{
@@ -4,11 +4,11 @@ import { SharedModule } from 'verben-workflow-ui/src/lib/shared';
4
4
  import { ExpirationComponent } from './expiration.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class ExpirationModule {
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExpirationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ExpirationModule, declarations: [ExpirationComponent], imports: [CommonModule, SharedModule], exports: [ExpirationComponent] });
9
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExpirationModule, imports: [CommonModule, SharedModule] });
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpirationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ExpirationModule, declarations: [ExpirationComponent], imports: [CommonModule, SharedModule], exports: [ExpirationComponent] });
9
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpirationModule, imports: [CommonModule, SharedModule] });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExpirationModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpirationModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [ExpirationComponent],
@@ -25,12 +25,12 @@ export class FileRenderComponent {
25
25
  }
26
26
  window.open(`${this.envService.environment.FILE_URL}${this.fileUrl}`, '_blank');
27
27
  }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderComponent, deps: [{ token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileRenderComponent, selector: "verben-file-render", inputs: { fileUrl: "fileUrl", multiple: "multiple", disabled: "disabled", showCancel: "showCancel" }, outputs: { onCancelClicked: "onCancelClicked" }, ngImport: i0, template: "<div class=\"file-container p-2 flex items-center justify-between gap-3\">\n <div class=\"text-sm overflow-x-auto font-semibold\">{{ fileName }}</div>\n <div class=\"flex gap-2 items-center\">\n <span (click)=\"openFile()\" class=\"cursor-pointer\">\n <verben-svg\n [icon]=\"'download-icon'\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <verben-svg\n *ngIf=\"showCancel\"\n [stroke]=\"disabled ? '#9A9FBF' : multiple ? '#D4A007' : '#0000FF'\"\n [icon]=\"'close'\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"onCancelClicked.emit()\"\n >\n </verben-svg>\n </div>\n</div>\n", styles: [".file-container{border:1px solid #ccc6fbb2;border-radius:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }] });
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileRenderComponent, deps: [{ token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FileRenderComponent, selector: "verben-file-render", inputs: { fileUrl: "fileUrl", multiple: "multiple", disabled: "disabled", showCancel: "showCancel" }, outputs: { onCancelClicked: "onCancelClicked" }, ngImport: i0, template: "<div class=\"file-container p-2 flex items-center justify-between gap-3\">\n <div class=\"text-sm overflow-x-auto font-semibold\">{{ fileName }}</div>\n <div class=\"flex gap-2 items-center\">\n <span (click)=\"openFile()\" class=\"cursor-pointer\">\n <verben-svg\n [icon]=\"'download-icon'\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <verben-svg\n *ngIf=\"showCancel\"\n [stroke]=\"disabled ? 'var(--vbn-color-text-muted)' : multiple ? 'var(--vbn-color-primary)' : 'var(--vbn-color-border-focus)'\"\n [icon]=\"'close'\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"onCancelClicked.emit()\"\n >\n </verben-svg>\n </div>\n</div>\n", styles: [".file-container{border:1px solid #ccc6fbb2;border-radius:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }] });
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileRenderComponent, decorators: [{
32
32
  type: Component,
33
- args: [{ selector: 'verben-file-render', template: "<div class=\"file-container p-2 flex items-center justify-between gap-3\">\n <div class=\"text-sm overflow-x-auto font-semibold\">{{ fileName }}</div>\n <div class=\"flex gap-2 items-center\">\n <span (click)=\"openFile()\" class=\"cursor-pointer\">\n <verben-svg\n [icon]=\"'download-icon'\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <verben-svg\n *ngIf=\"showCancel\"\n [stroke]=\"disabled ? '#9A9FBF' : multiple ? '#D4A007' : '#0000FF'\"\n [icon]=\"'close'\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"onCancelClicked.emit()\"\n >\n </verben-svg>\n </div>\n</div>\n", styles: [".file-container{border:1px solid #ccc6fbb2;border-radius:5px}\n"] }]
33
+ args: [{ selector: 'verben-file-render', template: "<div class=\"file-container p-2 flex items-center justify-between gap-3\">\n <div class=\"text-sm overflow-x-auto font-semibold\">{{ fileName }}</div>\n <div class=\"flex gap-2 items-center\">\n <span (click)=\"openFile()\" class=\"cursor-pointer\">\n <verben-svg\n [icon]=\"'download-icon'\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <verben-svg\n *ngIf=\"showCancel\"\n [stroke]=\"disabled ? 'var(--vbn-color-text-muted)' : multiple ? 'var(--vbn-color-primary)' : 'var(--vbn-color-border-focus)'\"\n [icon]=\"'close'\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"onCancelClicked.emit()\"\n >\n </verben-svg>\n </div>\n</div>\n", styles: [".file-container{border:1px solid #ccc6fbb2;border-radius:5px}\n"] }]
34
34
  }], ctorParameters: () => [{ type: i1.EnvironmentService }], propDecorators: { fileUrl: [{
35
35
  type: Input
36
36
  }], multiple: [{
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
42
42
  }], onCancelClicked: [{
43
43
  type: Output
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1yZW5kZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXJlbmRlci9maWxlLXJlbmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtcmVuZGVyL2ZpbGUtcmVuZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXZFLE1BQU0sT0FBTyxtQkFBbUI7SUFRVjtJQVBYLE9BQU8sR0FBa0IsSUFBSSxDQUFDO0lBQzlCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDbkMsUUFBUSxHQUFrQixJQUFJLENBQUM7SUFDdEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzNCLGVBQWUsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVwRSxZQUFvQixVQUE4QjtRQUE5QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtJQUFHLENBQUM7SUFFdEQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFDeEQsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO3dHQXhCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQixpTkNSaEMsbXFCQXFCQTs7NEZEYmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLG9CQUFvQjt1RkFLckIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tZmlsZS1yZW5kZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1yZW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZmlsZS1yZW5kZXIuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVSZW5kZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBmaWxlVXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsZU5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93Q2FuY2VsOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNhbmNlbENsaWNrZWQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZVVybCkge1xuICAgICAgdGhpcy5maWxlTmFtZSA9IHRoaXMuZmlsZVVybC5zcGxpdCgnLycpLnBvcCgpIHx8IG51bGw7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZpbGUoKSB7XG4gICAgaWYgKCF0aGlzLmZpbGVVcmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgd2luZG93Lm9wZW4oXG4gICAgICBgJHt0aGlzLmVudlNlcnZpY2UuZW52aXJvbm1lbnQuRklMRV9VUkx9JHt0aGlzLmZpbGVVcmx9YCxcbiAgICAgICdfYmxhbmsnLFxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lciBwLTIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXNtIG92ZXJmbG93LXgtYXV0byBmb250LXNlbWlib2xkXCI+e3sgZmlsZU5hbWUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCI+XG4gICAgPHNwYW4gKGNsaWNrKT1cIm9wZW5GaWxlKClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XG4gICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICBbaWNvbl09XCInZG93bmxvYWQtaWNvbidcIlxuICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9zcGFuPlxuICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAqbmdJZj1cInNob3dDYW5jZWxcIlxuICAgICAgW3N0cm9rZV09XCJkaXNhYmxlZCA/ICcjOUE5RkJGJyA6IG11bHRpcGxlID8gJyNENEEwMDcnIDogJyMwMDAwRkYnXCJcbiAgICAgIFtpY29uXT1cIidjbG9zZSdcIlxuICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2tlZC5lbWl0KClcIlxuICAgID5cbiAgICA8L3ZlcmJlbi1zdmc+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1yZW5kZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXJlbmRlci9maWxlLXJlbmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtcmVuZGVyL2ZpbGUtcmVuZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXZFLE1BQU0sT0FBTyxtQkFBbUI7SUFRVjtJQVBYLE9BQU8sR0FBa0IsSUFBSSxDQUFDO0lBQzlCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDbkMsUUFBUSxHQUFrQixJQUFJLENBQUM7SUFDdEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzNCLGVBQWUsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVwRSxZQUFvQixVQUE4QjtRQUE5QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtJQUFHLENBQUM7SUFFdEQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFDeEQsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO3dHQXhCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQixpTkNSaEMsOHRCQXFCQTs7NEZEYmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLG9CQUFvQjt1RkFLckIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tZmlsZS1yZW5kZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1yZW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZmlsZS1yZW5kZXIuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVSZW5kZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBmaWxlVXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsZU5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93Q2FuY2VsOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNhbmNlbENsaWNrZWQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZVVybCkge1xuICAgICAgdGhpcy5maWxlTmFtZSA9IHRoaXMuZmlsZVVybC5zcGxpdCgnLycpLnBvcCgpIHx8IG51bGw7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZpbGUoKSB7XG4gICAgaWYgKCF0aGlzLmZpbGVVcmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgd2luZG93Lm9wZW4oXG4gICAgICBgJHt0aGlzLmVudlNlcnZpY2UuZW52aXJvbm1lbnQuRklMRV9VUkx9JHt0aGlzLmZpbGVVcmx9YCxcbiAgICAgICdfYmxhbmsnLFxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lciBwLTIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXNtIG92ZXJmbG93LXgtYXV0byBmb250LXNlbWlib2xkXCI+e3sgZmlsZU5hbWUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCI+XG4gICAgPHNwYW4gKGNsaWNrKT1cIm9wZW5GaWxlKClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XG4gICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICBbaWNvbl09XCInZG93bmxvYWQtaWNvbidcIlxuICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9zcGFuPlxuICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAqbmdJZj1cInNob3dDYW5jZWxcIlxuICAgICAgW3N0cm9rZV09XCJkaXNhYmxlZCA/ICd2YXIoLS12Ym4tY29sb3ItdGV4dC1tdXRlZCknIDogbXVsdGlwbGUgPyAndmFyKC0tdmJuLWNvbG9yLXByaW1hcnkpJyA6ICd2YXIoLS12Ym4tY29sb3ItYm9yZGVyLWZvY3VzKSdcIlxuICAgICAgW2ljb25dPVwiJ2Nsb3NlJ1wiXG4gICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAoY2xpY2spPVwib25DYW5jZWxDbGlja2VkLmVtaXQoKVwiXG4gICAgPlxuICAgIDwvdmVyYmVuLXN2Zz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -6,19 +6,19 @@ import { SvgModule, VerbenaButtonModule } from 'verben-ng-ui';
6
6
  import { FileRenderComponent } from './file-render.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class FileRenderModule {
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FileRenderModule, declarations: [FileRenderComponent], imports: [CommonModule,
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileRenderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FileRenderModule, declarations: [FileRenderComponent], imports: [CommonModule,
11
11
  FormsModule,
12
12
  ReactiveFormsModule,
13
13
  SvgModule,
14
14
  VerbenaButtonModule], exports: [FileRenderComponent] });
15
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderModule, imports: [CommonModule,
15
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileRenderModule, imports: [CommonModule,
16
16
  FormsModule,
17
17
  ReactiveFormsModule,
18
18
  SvgModule,
19
19
  VerbenaButtonModule] });
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderModule, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileRenderModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  declarations: [FileRenderComponent],
@@ -68,12 +68,12 @@ export class FileUploadComponent {
68
68
  trackByFile(index, file) {
69
69
  return file.name; // or file.id if available
70
70
  }
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
72
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadComponent, selector: "file-upload", inputs: { multiple: "multiple", label: "label", accept: "accept", selectedFiles: "selectedFiles", disabled: "disabled" }, outputs: { selectedFilesChange: "selectedFilesChange" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"file-upload-container\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop($event)\"\n>\n <label>{{ label }}</label>\n\n <!-- Selected files -->\n <div\n class=\"py-6 px-3 border rounded-lg flex gap-2 flex-wrap border-[#9A9FBF66] mt-2 mb-3\"\n >\n <ng-container\n *ngFor=\"let file of selectedFiles; let i = index; trackBy: trackByFile\"\n >\n <verben-file-render\n [fileUrl]=\"file.name\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [showCancel]=\"true\"\n (onCancelClicked)=\"removeFile(i)\"\n ></verben-file-render>\n </ng-container>\n <!-- <span \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg w-fit\" \n *ngFor=\"let file of selectedFiles; let i = index\">\n {{ file.name | slice:0:10 }}{{ file.name.length > 10 ? '...' : '' }}\n <verben-svg \n [stroke]=\"disabled ? '#9A9FBF' : (multiple ? '#D4A007' : '#0000FF')\" \n [icon]=\"'close'\" \n [width]=\"10\" \n [height]=\"10\" \n (click)=\"!disabled && removeFile(i)\">\n </verben-svg>\n </span> -->\n\n <!-- Add File Button (only if multiple or empty for single) -->\n <button\n *ngIf=\"multiple || selectedFiles.length === 0\"\n [disabled]=\"disabled\"\n (click)=\"!disabled && fileInput.click()\"\n [class.opacity-50]=\"disabled\"\n [class.cursor-not-allowed]=\"disabled\"\n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg\"\n >\n <verben-svg [icon]=\"'plus'\" [width]=\"12\" [height]=\"12\"></verben-svg>\n {{ multiple ? \"Add File\" : \"Browse File\" }}\n </button>\n </div>\n\n <!-- Hidden input -->\n <input\n #fileInput\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelected($event)\"\n hidden\n />\n\n <!-- Drop Area -->\n <div\n class=\"drop-area border border-dashed w-full flex flex-col justify-center items-center border-[#9A9FBF66] p-4 rounded-lg bg-[#9a9fbf27] min-h-[200px]\"\n (click)=\"!disabled && fileInput.click()\"\n >\n <verben-svg [icon]=\"'upload-icon'\" [width]=\"90\" [height]=\"90\"></verben-svg>\n <p class=\"text-[#000000B2]\">Drag and drop files here</p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i3.FileRenderComponent, selector: "verben-file-render", inputs: ["fileUrl", "multiple", "disabled", "showCancel"], outputs: ["onCancelClicked"] }] });
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
72
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FileUploadComponent, selector: "file-upload", inputs: { multiple: "multiple", label: "label", accept: "accept", selectedFiles: "selectedFiles", disabled: "disabled" }, outputs: { selectedFilesChange: "selectedFilesChange" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"file-upload-container\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop($event)\"\n>\n <label>{{ label }}</label>\n\n <!-- Selected files -->\n <div\n class=\"py-6 px-3 border rounded-lg flex gap-2 flex-wrap border-[#9A9FBF66] mt-2 mb-3\"\n >\n <ng-container\n *ngFor=\"let file of selectedFiles; let i = index; trackBy: trackByFile\"\n >\n <verben-file-render\n [fileUrl]=\"file.name\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [showCancel]=\"true\"\n (onCancelClicked)=\"removeFile(i)\"\n ></verben-file-render>\n </ng-container>\n <!-- <span \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg w-fit\" \n *ngFor=\"let file of selectedFiles; let i = index\">\n {{ file.name | slice:0:10 }}{{ file.name.length > 10 ? '...' : '' }}\n <verben-svg \n [stroke]=\"disabled ? 'var(--vbn-color-text-muted)' : (multiple ? 'var(--vbn-color-primary)' : 'var(--vbn-color-border-focus)')\" \n [icon]=\"'close'\" \n [width]=\"10\" \n [height]=\"10\" \n (click)=\"!disabled && removeFile(i)\">\n </verben-svg>\n </span> -->\n\n <!-- Add File Button (only if multiple or empty for single) -->\n <button\n *ngIf=\"multiple || selectedFiles.length === 0\"\n [disabled]=\"disabled\"\n (click)=\"!disabled && fileInput.click()\"\n [class.opacity-50]=\"disabled\"\n [class.cursor-not-allowed]=\"disabled\"\n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg\"\n >\n <verben-svg [icon]=\"'plus'\" [width]=\"12\" [height]=\"12\"></verben-svg>\n {{ multiple ? \"Add File\" : \"Browse File\" }}\n </button>\n </div>\n\n <!-- Hidden input -->\n <input\n #fileInput\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelected($event)\"\n hidden\n />\n\n <!-- Drop Area -->\n <div\n class=\"drop-area border border-dashed w-full flex flex-col justify-center items-center border-[#9A9FBF66] p-4 rounded-lg bg-[#9a9fbf27] min-h-[200px]\"\n (click)=\"!disabled && fileInput.click()\"\n >\n <verben-svg [icon]=\"'upload-icon'\" [width]=\"90\" [height]=\"90\"></verben-svg>\n <p class=\"text-[#000000B2]\">Drag and drop files here</p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i3.FileRenderComponent, selector: "verben-file-render", inputs: ["fileUrl", "multiple", "disabled", "showCancel"], outputs: ["onCancelClicked"] }] });
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadComponent, decorators: [{
75
75
  type: Component,
76
- args: [{ selector: 'file-upload', template: "<div\n class=\"file-upload-container\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop($event)\"\n>\n <label>{{ label }}</label>\n\n <!-- Selected files -->\n <div\n class=\"py-6 px-3 border rounded-lg flex gap-2 flex-wrap border-[#9A9FBF66] mt-2 mb-3\"\n >\n <ng-container\n *ngFor=\"let file of selectedFiles; let i = index; trackBy: trackByFile\"\n >\n <verben-file-render\n [fileUrl]=\"file.name\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [showCancel]=\"true\"\n (onCancelClicked)=\"removeFile(i)\"\n ></verben-file-render>\n </ng-container>\n <!-- <span \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg w-fit\" \n *ngFor=\"let file of selectedFiles; let i = index\">\n {{ file.name | slice:0:10 }}{{ file.name.length > 10 ? '...' : '' }}\n <verben-svg \n [stroke]=\"disabled ? '#9A9FBF' : (multiple ? '#D4A007' : '#0000FF')\" \n [icon]=\"'close'\" \n [width]=\"10\" \n [height]=\"10\" \n (click)=\"!disabled && removeFile(i)\">\n </verben-svg>\n </span> -->\n\n <!-- Add File Button (only if multiple or empty for single) -->\n <button\n *ngIf=\"multiple || selectedFiles.length === 0\"\n [disabled]=\"disabled\"\n (click)=\"!disabled && fileInput.click()\"\n [class.opacity-50]=\"disabled\"\n [class.cursor-not-allowed]=\"disabled\"\n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg\"\n >\n <verben-svg [icon]=\"'plus'\" [width]=\"12\" [height]=\"12\"></verben-svg>\n {{ multiple ? \"Add File\" : \"Browse File\" }}\n </button>\n </div>\n\n <!-- Hidden input -->\n <input\n #fileInput\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelected($event)\"\n hidden\n />\n\n <!-- Drop Area -->\n <div\n class=\"drop-area border border-dashed w-full flex flex-col justify-center items-center border-[#9A9FBF66] p-4 rounded-lg bg-[#9a9fbf27] min-h-[200px]\"\n (click)=\"!disabled && fileInput.click()\"\n >\n <verben-svg [icon]=\"'upload-icon'\" [width]=\"90\" [height]=\"90\"></verben-svg>\n <p class=\"text-[#000000B2]\">Drag and drop files here</p>\n </div>\n</div>\n" }]
76
+ args: [{ selector: 'file-upload', template: "<div\n class=\"file-upload-container\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop($event)\"\n>\n <label>{{ label }}</label>\n\n <!-- Selected files -->\n <div\n class=\"py-6 px-3 border rounded-lg flex gap-2 flex-wrap border-[#9A9FBF66] mt-2 mb-3\"\n >\n <ng-container\n *ngFor=\"let file of selectedFiles; let i = index; trackBy: trackByFile\"\n >\n <verben-file-render\n [fileUrl]=\"file.name\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [showCancel]=\"true\"\n (onCancelClicked)=\"removeFile(i)\"\n ></verben-file-render>\n </ng-container>\n <!-- <span \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg w-fit\" \n *ngFor=\"let file of selectedFiles; let i = index\">\n {{ file.name | slice:0:10 }}{{ file.name.length > 10 ? '...' : '' }}\n <verben-svg \n [stroke]=\"disabled ? 'var(--vbn-color-text-muted)' : (multiple ? 'var(--vbn-color-primary)' : 'var(--vbn-color-border-focus)')\" \n [icon]=\"'close'\" \n [width]=\"10\" \n [height]=\"10\" \n (click)=\"!disabled && removeFile(i)\">\n </verben-svg>\n </span> -->\n\n <!-- Add File Button (only if multiple or empty for single) -->\n <button\n *ngIf=\"multiple || selectedFiles.length === 0\"\n [disabled]=\"disabled\"\n (click)=\"!disabled && fileInput.click()\"\n [class.opacity-50]=\"disabled\"\n [class.cursor-not-allowed]=\"disabled\"\n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg\"\n >\n <verben-svg [icon]=\"'plus'\" [width]=\"12\" [height]=\"12\"></verben-svg>\n {{ multiple ? \"Add File\" : \"Browse File\" }}\n </button>\n </div>\n\n <!-- Hidden input -->\n <input\n #fileInput\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelected($event)\"\n hidden\n />\n\n <!-- Drop Area -->\n <div\n class=\"drop-area border border-dashed w-full flex flex-col justify-center items-center border-[#9A9FBF66] p-4 rounded-lg bg-[#9a9fbf27] min-h-[200px]\"\n (click)=\"!disabled && fileInput.click()\"\n >\n <verben-svg [icon]=\"'upload-icon'\" [width]=\"90\" [height]=\"90\"></verben-svg>\n <p class=\"text-[#000000B2]\">Drag and drop files here</p>\n </div>\n</div>\n" }]
77
77
  }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { multiple: [{
78
78
  type: Input
79
79
  }], label: [{
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
90
90
  type: ViewChild,
91
91
  args: ['fileInput']
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDOzs7OztBQU92QixNQUFNLE9BQU8sbUJBQW1CO0lBV1Y7SUFWWCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDbkMsU0FBUyxDQUFnQztJQUV4RCxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNO0lBRWhELFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUVwQyxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFXLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0I7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ25DLEtBQUssQ0FDSCxhQUFhLElBQUksQ0FBQyxJQUFJLDhDQUE4QyxDQUNyRSxDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN6RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLElBQVU7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsMEJBQTBCO0lBQzlDLENBQUM7d0dBdEVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDhVQ2ZoQyxpeEVBcUVBOzs0RkR0RGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7MkVBS2QsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgYWNjZXB0ID0gJyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRmlsZXM6IEZpbGVbXSA9IFtdO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRGaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHJlYWRvbmx5IE1BWF9GSUxFX1NJWkUgPSA1ICogMTAyNCAqIDEwMjQ7IC8vIDVNQlxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGNvbnN0IGZpbGVzID0gQXJyYXkuZnJvbShldmVudC50YXJnZXQuZmlsZXMpIGFzIEZpbGVbXTtcbiAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gIH1cblxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcykge1xuICAgICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcHJvY2Vzc0ZpbGVzKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLk1BWF9GSUxFX1NJWkUpIHtcbiAgICAgICAgYWxlcnQoXG4gICAgICAgICAgYFRoZSBmaWxlIFwiJHtmaWxlLm5hbWV9XCIgaXMgdG9vIGxhcmdlLiBNYXhpbXVtIHNpemUgYWxsb3dlZCBpcyA1TUIuYCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBbLi4udGhpcy5zZWxlY3RlZEZpbGVzLCAuLi5maWxlc107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtmaWxlc1swXV07XG4gICAgfVxuXG4gICAgLy8g4pyFIGVuc3VyZSBBbmd1bGFyIGRldGVjdHMgdGhlIHVwZGF0ZVxuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEZpbGVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZUZpbGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gdGhpcy5zZWxlY3RlZEZpbGVzLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpO1xuXG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZmlsZUlucHV0KSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeUZpbGUoaW5kZXg6IG51bWJlciwgZmlsZTogRmlsZSkge1xuICAgIHJldHVybiBmaWxlLm5hbWU7IC8vIG9yIGZpbGUuaWQgaWYgYXZhaWxhYmxlXG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmaWxlLXVwbG9hZC1jb250YWluZXJcIlxuICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuPlxuICA8bGFiZWw+e3sgbGFiZWwgfX08L2xhYmVsPlxuXG4gIDwhLS0gU2VsZWN0ZWQgZmlsZXMgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cInB5LTYgcHgtMyBib3JkZXIgcm91bmRlZC1sZyBmbGV4IGdhcC0yIGZsZXgtd3JhcCBib3JkZXItWyM5QTlGQkY2Nl0gbXQtMiBtYi0zXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cImxldCBmaWxlIG9mIHNlbGVjdGVkRmlsZXM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGaWxlXCJcbiAgICA+XG4gICAgICA8dmVyYmVuLWZpbGUtcmVuZGVyXG4gICAgICAgIFtmaWxlVXJsXT1cImZpbGUubmFtZVwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtzaG93Q2FuY2VsXT1cInRydWVcIlxuICAgICAgICAob25DYW5jZWxDbGlja2VkKT1cInJlbW92ZUZpbGUoaSlcIlxuICAgICAgPjwvdmVyYmVuLWZpbGUtcmVuZGVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gPHNwYW4gXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGJnLVsjMUEyMzdFMzNdIHB4LTEgcHktMSByb3VuZGVkLWxnIHctZml0XCIgXG4gICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBzZWxlY3RlZEZpbGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICB7eyBmaWxlLm5hbWUgfCBzbGljZTowOjEwIH19e3sgZmlsZS5uYW1lLmxlbmd0aCA+IDEwID8gJy4uLicgOiAnJyB9fVxuICAgICAgPHZlcmJlbi1zdmcgXG4gICAgICAgIFtzdHJva2VdPVwiZGlzYWJsZWQgPyAnIzlBOUZCRicgOiAobXVsdGlwbGUgPyAnI0Q0QTAwNycgOiAnIzAwMDBGRicpXCIgXG4gICAgICAgIFtpY29uXT1cIidjbG9zZSdcIiBcbiAgICAgICAgW3dpZHRoXT1cIjEwXCIgXG4gICAgICAgIFtoZWlnaHRdPVwiMTBcIiBcbiAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCAmJiByZW1vdmVGaWxlKGkpXCI+XG4gICAgICA8L3ZlcmJlbi1zdmc+XG4gICAgPC9zcGFuPiAtLT5cblxuICAgIDwhLS0gQWRkIEZpbGUgQnV0dG9uIChvbmx5IGlmIG11bHRpcGxlIG9yIGVtcHR5IGZvciBzaW5nbGUpIC0tPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwibXVsdGlwbGUgfHwgc2VsZWN0ZWRGaWxlcy5sZW5ndGggPT09IDBcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgJiYgZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgW2NsYXNzLm9wYWNpdHktNTBdPVwiZGlzYWJsZWRcIlxuICAgICAgW2NsYXNzLmN1cnNvci1ub3QtYWxsb3dlZF09XCJkaXNhYmxlZFwiXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGJnLVsjMUEyMzdFMzNdIHB4LTEgcHktMSByb3VuZGVkLWxnXCJcbiAgICA+XG4gICAgICA8dmVyYmVuLXN2ZyBbaWNvbl09XCIncGx1cydcIiBbd2lkdGhdPVwiMTJcIiBbaGVpZ2h0XT1cIjEyXCI+PC92ZXJiZW4tc3ZnPlxuICAgICAge3sgbXVsdGlwbGUgPyBcIkFkZCBGaWxlXCIgOiBcIkJyb3dzZSBGaWxlXCIgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBIaWRkZW4gaW5wdXQgLS0+XG4gIDxpbnB1dFxuICAgICNmaWxlSW5wdXRcbiAgICB0eXBlPVwiZmlsZVwiXG4gICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIlxuICAgIGhpZGRlblxuICAvPlxuXG4gIDwhLS0gRHJvcCBBcmVhIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkcm9wLWFyZWEgYm9yZGVyIGJvcmRlci1kYXNoZWQgdy1mdWxsIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGJvcmRlci1bIzlBOUZCRjY2XSBwLTQgcm91bmRlZC1sZyBiZy1bIzlhOWZiZjI3XSBtaW4taC1bMjAwcHhdXCJcbiAgICAoY2xpY2spPVwiIWRpc2FibGVkICYmIGZpbGVJbnB1dC5jbGljaygpXCJcbiAgPlxuICAgIDx2ZXJiZW4tc3ZnIFtpY29uXT1cIid1cGxvYWQtaWNvbidcIiBbd2lkdGhdPVwiOTBcIiBbaGVpZ2h0XT1cIjkwXCI+PC92ZXJiZW4tc3ZnPlxuICAgIDxwIGNsYXNzPVwidGV4dC1bIzAwMDAwMEIyXVwiPkRyYWcgYW5kIGRyb3AgZmlsZXMgaGVyZTwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDOzs7OztBQU92QixNQUFNLE9BQU8sbUJBQW1CO0lBV1Y7SUFWWCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDbkMsU0FBUyxDQUFnQztJQUV4RCxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNO0lBRWhELFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUVwQyxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFXLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0I7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ25DLEtBQUssQ0FDSCxhQUFhLElBQUksQ0FBQyxJQUFJLDhDQUE4QyxDQUNyRSxDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN6RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLElBQVU7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsMEJBQTBCO0lBQzlDLENBQUM7d0dBdEVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDhVQ2ZoQyw0MEVBcUVBOzs0RkR0RGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7MkVBS2QsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgYWNjZXB0ID0gJyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRmlsZXM6IEZpbGVbXSA9IFtdO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRGaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHJlYWRvbmx5IE1BWF9GSUxFX1NJWkUgPSA1ICogMTAyNCAqIDEwMjQ7IC8vIDVNQlxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGNvbnN0IGZpbGVzID0gQXJyYXkuZnJvbShldmVudC50YXJnZXQuZmlsZXMpIGFzIEZpbGVbXTtcbiAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gIH1cblxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcykge1xuICAgICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcHJvY2Vzc0ZpbGVzKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLk1BWF9GSUxFX1NJWkUpIHtcbiAgICAgICAgYWxlcnQoXG4gICAgICAgICAgYFRoZSBmaWxlIFwiJHtmaWxlLm5hbWV9XCIgaXMgdG9vIGxhcmdlLiBNYXhpbXVtIHNpemUgYWxsb3dlZCBpcyA1TUIuYCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBbLi4udGhpcy5zZWxlY3RlZEZpbGVzLCAuLi5maWxlc107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtmaWxlc1swXV07XG4gICAgfVxuXG4gICAgLy8g4pyFIGVuc3VyZSBBbmd1bGFyIGRldGVjdHMgdGhlIHVwZGF0ZVxuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEZpbGVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZUZpbGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gdGhpcy5zZWxlY3RlZEZpbGVzLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpO1xuXG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZmlsZUlucHV0KSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeUZpbGUoaW5kZXg6IG51bWJlciwgZmlsZTogRmlsZSkge1xuICAgIHJldHVybiBmaWxlLm5hbWU7IC8vIG9yIGZpbGUuaWQgaWYgYXZhaWxhYmxlXG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmaWxlLXVwbG9hZC1jb250YWluZXJcIlxuICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuPlxuICA8bGFiZWw+e3sgbGFiZWwgfX08L2xhYmVsPlxuXG4gIDwhLS0gU2VsZWN0ZWQgZmlsZXMgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cInB5LTYgcHgtMyBib3JkZXIgcm91bmRlZC1sZyBmbGV4IGdhcC0yIGZsZXgtd3JhcCBib3JkZXItWyM5QTlGQkY2Nl0gbXQtMiBtYi0zXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cImxldCBmaWxlIG9mIHNlbGVjdGVkRmlsZXM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGaWxlXCJcbiAgICA+XG4gICAgICA8dmVyYmVuLWZpbGUtcmVuZGVyXG4gICAgICAgIFtmaWxlVXJsXT1cImZpbGUubmFtZVwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtzaG93Q2FuY2VsXT1cInRydWVcIlxuICAgICAgICAob25DYW5jZWxDbGlja2VkKT1cInJlbW92ZUZpbGUoaSlcIlxuICAgICAgPjwvdmVyYmVuLWZpbGUtcmVuZGVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gPHNwYW4gXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGJnLVsjMUEyMzdFMzNdIHB4LTEgcHktMSByb3VuZGVkLWxnIHctZml0XCIgXG4gICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBzZWxlY3RlZEZpbGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICB7eyBmaWxlLm5hbWUgfCBzbGljZTowOjEwIH19e3sgZmlsZS5uYW1lLmxlbmd0aCA+IDEwID8gJy4uLicgOiAnJyB9fVxuICAgICAgPHZlcmJlbi1zdmcgXG4gICAgICAgIFtzdHJva2VdPVwiZGlzYWJsZWQgPyAndmFyKC0tdmJuLWNvbG9yLXRleHQtbXV0ZWQpJyA6IChtdWx0aXBsZSA/ICd2YXIoLS12Ym4tY29sb3ItcHJpbWFyeSknIDogJ3ZhcigtLXZibi1jb2xvci1ib3JkZXItZm9jdXMpJylcIiBcbiAgICAgICAgW2ljb25dPVwiJ2Nsb3NlJ1wiIFxuICAgICAgICBbd2lkdGhdPVwiMTBcIiBcbiAgICAgICAgW2hlaWdodF09XCIxMFwiIFxuICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVkICYmIHJlbW92ZUZpbGUoaSlcIj5cbiAgICAgIDwvdmVyYmVuLXN2Zz5cbiAgICA8L3NwYW4+IC0tPlxuXG4gICAgPCEtLSBBZGQgRmlsZSBCdXR0b24gKG9ubHkgaWYgbXVsdGlwbGUgb3IgZW1wdHkgZm9yIHNpbmdsZSkgLS0+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJtdWx0aXBsZSB8fCBzZWxlY3RlZEZpbGVzLmxlbmd0aCA9PT0gMFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCAmJiBmaWxlSW5wdXQuY2xpY2soKVwiXG4gICAgICBbY2xhc3Mub3BhY2l0eS01MF09XCJkaXNhYmxlZFwiXG4gICAgICBbY2xhc3MuY3Vyc29yLW5vdC1hbGxvd2VkXT1cImRpc2FibGVkXCJcbiAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgYmctWyMxQTIzN0UzM10gcHgtMSBweS0xIHJvdW5kZWQtbGdcIlxuICAgID5cbiAgICAgIDx2ZXJiZW4tc3ZnIFtpY29uXT1cIidwbHVzJ1wiIFt3aWR0aF09XCIxMlwiIFtoZWlnaHRdPVwiMTJcIj48L3ZlcmJlbi1zdmc+XG4gICAgICB7eyBtdWx0aXBsZSA/IFwiQWRkIEZpbGVcIiA6IFwiQnJvd3NlIEZpbGVcIiB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8IS0tIEhpZGRlbiBpbnB1dCAtLT5cbiAgPGlucHV0XG4gICAgI2ZpbGVJbnB1dFxuICAgIHR5cGU9XCJmaWxlXCJcbiAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgaGlkZGVuXG4gIC8+XG5cbiAgPCEtLSBEcm9wIEFyZWEgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cImRyb3AtYXJlYSBib3JkZXIgYm9yZGVyLWRhc2hlZCB3LWZ1bGwgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgYm9yZGVyLVsjOUE5RkJGNjZdIHAtNCByb3VuZGVkLWxnIGJnLVsjOWE5ZmJmMjddIG1pbi1oLVsyMDBweF1cIlxuICAgIChjbGljayk9XCIhZGlzYWJsZWQgJiYgZmlsZUlucHV0LmNsaWNrKClcIlxuICA+XG4gICAgPHZlcmJlbi1zdmcgW2ljb25dPVwiJ3VwbG9hZC1pY29uJ1wiIFt3aWR0aF09XCI5MFwiIFtoZWlnaHRdPVwiOTBcIj48L3ZlcmJlbi1zdmc+XG4gICAgPHAgY2xhc3M9XCJ0ZXh0LVsjMDAwMDAwQjJdXCI+RHJhZyBhbmQgZHJvcCBmaWxlcyBoZXJlPC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -7,8 +7,8 @@ import { FileUploadComponent } from './file-upload.component';
7
7
  import { FileRenderModule } from 'verben-workflow-ui/src/lib/components/file-render';
8
8
  import * as i0 from "@angular/core";
9
9
  export class FileUploadModule {
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FileUploadModule, declarations: [FileUploadComponent], imports: [CommonModule,
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FileUploadModule, declarations: [FileUploadComponent], imports: [CommonModule,
12
12
  FormsModule,
13
13
  ReactiveFormsModule,
14
14
  DataTableModule,
@@ -22,7 +22,7 @@ export class FileUploadModule {
22
22
  SortTableModule,
23
23
  DataExportModule,
24
24
  VerbenaInputModule], exports: [FileUploadComponent] });
25
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadModule, imports: [CommonModule,
25
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadModule, imports: [CommonModule,
26
26
  FormsModule,
27
27
  ReactiveFormsModule,
28
28
  DataTableModule,
@@ -37,7 +37,7 @@ export class FileUploadModule {
37
37
  DataExportModule,
38
38
  VerbenaInputModule] });
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadModule, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadModule, decorators: [{
41
41
  type: NgModule,
42
42
  args: [{
43
43
  declarations: [FileUploadComponent],