@seniorsistemas/angular-components 18.1.2 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
  2. package/common/deprecated-selector/README.md +74 -0
  3. package/common/deprecated-selector/deprecated-selector.directive.d.ts +15 -0
  4. package/common/deprecated-selector/index.d.ts +5 -0
  5. package/common/deprecated-selector/public-api.d.ts +7 -0
  6. package/content-generator/index.d.ts +5 -0
  7. package/{text-area-ia/lib/text-area-ia/text-area-ia.component.d.ts → content-generator/lib/content-generator/content-generator.component.d.ts} +8 -4
  8. package/content-generator/lib/content-generator/content-generator.module.d.ts +16 -0
  9. package/content-generator/public-api.d.ts +2 -0
  10. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +9 -8
  11. package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +4 -3
  12. package/custom-fields/lib/custom-fields/models/custom-field-type.d.ts +33 -0
  13. package/custom-fields/lib/custom-fields/models/index.d.ts +1 -0
  14. package/custom-fields/public-api.d.ts +2 -1
  15. package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/field-label/field-label.component.d.ts +3 -3
  16. package/dynamic-form/dynamic-form/components/grid/row/row.component.d.ts +19 -0
  17. package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/lookup.component.d.ts +20 -35
  18. package/dynamic-form/dynamic-form/components/structure/base-structure-component.d.ts +10 -0
  19. package/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +12 -0
  20. package/dynamic-form/dynamic-form/components/structure/section/section.component.d.ts +14 -0
  21. package/dynamic-form/dynamic-form/configurations/registry.d.ts +8 -0
  22. package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +11 -0
  23. package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +46 -0
  24. package/dynamic-form/{lib/dynamic-form → dynamic-form}/configurations/structure/section.d.ts +9 -8
  25. package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +11 -0
  26. package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +30 -0
  27. package/dynamic-form/dynamic-form/dynamic-form.d.ts +35 -0
  28. package/dynamic-form/{lib/dynamic-form → dynamic-form}/dynamic-form.directive.d.ts +7 -13
  29. package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +10 -0
  30. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/addon-config.d.ts +2 -1
  31. package/dynamic-form/dynamic-form/form-field/configurations/field-size.d.ts +14 -0
  32. package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +21 -0
  33. package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +28 -0
  34. package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +28 -0
  35. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +21 -0
  36. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +12 -0
  37. package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +16 -0
  38. package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +32 -0
  39. package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +11 -0
  40. package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +18 -0
  41. package/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.d.ts +28 -0
  42. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/country-phone-picker-field.d.ts +6 -7
  43. package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +15 -0
  44. package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +16 -0
  45. package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +56 -0
  46. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/number-field.d.ts +9 -22
  47. package/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.d.ts +30 -0
  48. package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +24 -0
  49. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/radio-button-field.d.ts +7 -9
  50. package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +32 -0
  51. package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +24 -0
  52. package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +16 -0
  53. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +18 -0
  54. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +37 -0
  55. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/autocomplete/autocomplete-field.component.d.ts +9 -6
  56. package/dynamic-form/dynamic-form/form-field/fields/base-field-component.d.ts +7 -0
  57. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/bignumber/bignumber-field.component.d.ts +9 -8
  58. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/boolean/boolean-radio-field/boolean-field.component.d.ts +4 -4
  59. package/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +10 -0
  60. package/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +11 -0
  61. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/calendar/calendar-field.component.d.ts +10 -10
  62. package/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +10 -0
  63. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/chips/chips-field.component.d.ts +5 -5
  64. package/dynamic-form/dynamic-form/form-field/fields/content-generator/content-generator-field.component.d.ts +10 -0
  65. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +4 -4
  66. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/currency/currency-field.component.d.ts +10 -6
  67. package/dynamic-form/{lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.d.ts → dynamic-form/form-field/fields/file-picker/file-picker-field.component.d.ts} +7 -6
  68. package/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +18 -0
  69. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/number/number-field.component.d.ts +8 -9
  70. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/password/password-field.component.d.ts +8 -6
  71. package/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +10 -0
  72. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/radio-button/radio-button-field.component.d.ts +5 -5
  73. package/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.d.ts +12 -0
  74. package/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +23 -0
  75. package/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +11 -0
  76. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/text/text-field.component.d.ts +8 -8
  77. package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +18 -0
  78. package/dynamic-form/dynamic-form/services/form-field-utils.service.d.ts +15 -0
  79. package/dynamic-form/public-api.d.ts +35 -43
  80. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +3 -3
  81. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +8 -6
  82. package/esm2022/common/deprecated-selector/deprecated-selector.directive.mjs +28 -0
  83. package/esm2022/common/deprecated-selector/public-api.mjs +8 -0
  84. package/esm2022/common/deprecated-selector/seniorsistemas-angular-components-common-deprecated-selector.mjs +5 -0
  85. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +3 -3
  86. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +170 -0
  87. package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +54 -0
  88. package/esm2022/content-generator/lib/services/IAssist/iassist.service.mjs +77 -0
  89. package/esm2022/content-generator/lib/services/IAssist/models/iassist-input-data.mjs +3 -0
  90. package/esm2022/content-generator/lib/services/IAssist/models/iassist-response.mjs +3 -0
  91. package/esm2022/content-generator/public-api.mjs +3 -0
  92. package/esm2022/content-generator/seniorsistemas-angular-components-content-generator.mjs +5 -0
  93. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +2 -2
  94. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +68 -69
  95. package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +5 -5
  96. package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +26 -1
  97. package/esm2022/custom-fields/lib/custom-fields/models/index.mjs +2 -0
  98. package/esm2022/custom-fields/public-api.mjs +3 -2
  99. package/esm2022/dynamic-form/dynamic-form/components/field-label/field-label.component.mjs +21 -0
  100. package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +41 -0
  101. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +689 -0
  102. package/esm2022/dynamic-form/dynamic-form/components/lookup/types/default-filter.mjs +2 -0
  103. package/esm2022/dynamic-form/dynamic-form/components/lookup/types/label-options.mjs +2 -0
  104. package/esm2022/dynamic-form/dynamic-form/components/structure/base-structure-component.mjs +2 -0
  105. package/esm2022/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.mjs +18 -0
  106. package/esm2022/dynamic-form/dynamic-form/components/structure/section/section.component.mjs +23 -0
  107. package/esm2022/dynamic-form/dynamic-form/configurations/registry.mjs +12 -0
  108. package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +2 -0
  109. package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +2 -0
  110. package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +2 -0
  111. package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +2 -0
  112. package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +48 -0
  113. package/esm2022/dynamic-form/dynamic-form/dynamic-form.directive.mjs +76 -0
  114. package/esm2022/dynamic-form/dynamic-form/dynamic-form.mjs +77 -0
  115. package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +20 -0
  116. package/esm2022/dynamic-form/dynamic-form/form-field/addon-config.mjs +2 -0
  117. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/field-size.mjs +34 -0
  118. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +2 -0
  119. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +2 -0
  120. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +2 -0
  121. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +2 -0
  122. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +2 -0
  123. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +2 -0
  124. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +2 -0
  125. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +2 -0
  126. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +2 -0
  127. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.mjs +2 -0
  128. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +2 -0
  129. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +2 -0
  130. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +3 -0
  131. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +2 -0
  132. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +2 -0
  133. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +2 -0
  134. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +2 -0
  135. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +9 -0
  136. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +2 -0
  137. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +2 -0
  138. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +2 -0
  139. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +2 -0
  140. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +2 -0
  141. package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +42 -0
  142. package/esm2022/dynamic-form/dynamic-form/form-field/fields/base-field-component.mjs +2 -0
  143. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +135 -0
  144. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +22 -0
  145. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +20 -0
  146. package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +28 -0
  147. package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +135 -0
  148. package/esm2022/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +17 -0
  149. package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +55 -0
  150. package/esm2022/dynamic-form/dynamic-form/form-field/fields/content-generator/content-generator-field.component.mjs +18 -0
  151. package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +25 -0
  152. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +100 -0
  153. package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.mjs +47 -0
  154. package/esm2022/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +41 -0
  155. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +129 -0
  156. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +85 -0
  157. package/esm2022/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +18 -0
  158. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +57 -0
  159. package/esm2022/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.mjs +20 -0
  160. package/esm2022/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.mjs +115 -0
  161. package/esm2022/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +22 -0
  162. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +93 -0
  163. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +36 -0
  164. package/esm2022/dynamic-form/dynamic-form/services/form-field-utils.service.mjs +39 -0
  165. package/esm2022/dynamic-form/public-api.mjs +62 -44
  166. package/esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs +1 -1
  167. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +318 -0
  168. package/esm2022/{file-upload/lib/file-upload/file-upload.module.mjs → file-picker/lib/file-picker/file-picker.module.mjs} +11 -11
  169. package/esm2022/{file-upload/lib/file-upload/file-upload.service.mjs → file-picker/lib/file-picker/file-picker.service.mjs} +5 -5
  170. package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/file-dto.mjs +1 -1
  171. package/esm2022/{file-upload/lib/file-upload/models/file-upload-permissions.mjs → file-picker/lib/file-picker/models/file-picker-permissions.mjs} +1 -1
  172. package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/list-blob-metadata.mjs +1 -1
  173. package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/uploadError.mjs +1 -1
  174. package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/validate-errors.mjs +1 -1
  175. package/esm2022/file-picker/public-api.mjs +4 -0
  176. package/esm2022/{slide-panel/seniorsistemas-angular-components-slide-panel.mjs → file-picker/seniorsistemas-angular-components-file-picker.mjs} +1 -1
  177. package/esm2022/file-upload/public-api.mjs +14 -3
  178. package/esm2022/ia-insight/public-api.mjs +23 -4
  179. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.mjs +32 -0
  180. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +3 -5
  181. package/esm2022/inline-edit/lib/inline-edit/components/index.mjs +2 -2
  182. package/esm2022/inline-edit/lib/inline-edit/fields/index.mjs +2 -2
  183. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-content-generator-field.mjs +7 -0
  184. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +4 -4
  185. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +8 -8
  186. package/esm2022/inline-edit/public-api.mjs +2 -2
  187. package/esm2022/insights/lib/insights/components/insights-card/components/index.mjs +2 -0
  188. package/esm2022/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.mjs +13 -0
  189. package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +94 -0
  190. package/esm2022/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.mjs +59 -0
  191. package/esm2022/insights/lib/insights/insights.component.mjs +89 -0
  192. package/esm2022/insights/lib/insights/insights.module.mjs +47 -0
  193. package/esm2022/insights/lib/insights/models/index.mjs +2 -0
  194. package/esm2022/insights/lib/insights/models/insights-item.mjs +2 -0
  195. package/esm2022/insights/lib/insights/models/insights-template-types.mjs +2 -0
  196. package/esm2022/insights/public-api.mjs +4 -0
  197. package/esm2022/insights/seniorsistemas-angular-components-insights.mjs +5 -0
  198. package/esm2022/optional-fields/editor/editor-field/editor-field.component.mjs +18 -0
  199. package/esm2022/optional-fields/editor/editor-field.mjs +17 -0
  200. package/esm2022/optional-fields/editor/public-api.mjs +2 -0
  201. package/esm2022/optional-fields/editor/seniorsistemas-angular-components-optional-fields-editor.mjs +5 -0
  202. package/esm2022/product-header/public-api.mjs +23 -3
  203. package/esm2022/select/lib/select/select.component.mjs +3 -3
  204. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +158 -0
  205. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +20 -0
  206. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.service.mjs +26 -0
  207. package/esm2022/slide-in-bar/public-api.mjs +4 -0
  208. package/esm2022/slide-in-bar/seniorsistemas-angular-components-slide-in-bar.mjs +5 -0
  209. package/esm2022/stepper/lib/stepper/models/index.mjs +2 -0
  210. package/esm2022/stepper/lib/stepper/models/step-selection-event.mjs +2 -0
  211. package/esm2022/stepper/lib/stepper/models/step-state.mjs +7 -0
  212. package/esm2022/stepper/lib/stepper/models/step.mjs +2 -0
  213. package/esm2022/stepper/lib/stepper/stepper.component.mjs +138 -0
  214. package/esm2022/stepper/lib/stepper/stepper.module.mjs +19 -0
  215. package/esm2022/stepper/public-api.mjs +4 -0
  216. package/esm2022/stepper/seniorsistemas-angular-components-stepper.mjs +5 -0
  217. package/esm2022/table/lib/table/table-column/models/dynamic-editable-grid.interface.mjs +1 -1
  218. package/esm2022/text-area-ia/public-api.mjs +23 -3
  219. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +3 -3
  220. package/esm2022/topbar/lib/topbar/topbar.component.mjs +65 -0
  221. package/esm2022/topbar/lib/topbar/topbar.module.mjs +20 -0
  222. package/esm2022/topbar/public-api.mjs +3 -0
  223. package/esm2022/topbar/seniorsistemas-angular-components-topbar.mjs +5 -0
  224. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +2 -2
  225. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  226. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +7 -5
  227. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  228. package/fesm2022/seniorsistemas-angular-components-common-deprecated-selector.mjs +42 -0
  229. package/fesm2022/seniorsistemas-angular-components-common-deprecated-selector.mjs.map +1 -0
  230. package/fesm2022/seniorsistemas-angular-components-common.mjs +2 -2
  231. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  232. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +299 -0
  233. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -0
  234. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +1 -1
  235. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  236. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +95 -71
  237. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  238. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +882 -2554
  239. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  240. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +361 -0
  241. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -0
  242. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs +14 -330
  243. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs.map +1 -1
  244. package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs +23 -260
  245. package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs.map +1 -1
  246. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +20 -21
  247. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  248. package/fesm2022/seniorsistemas-angular-components-insights.mjs +287 -0
  249. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -0
  250. package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs +39 -0
  251. package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -0
  252. package/fesm2022/seniorsistemas-angular-components-product-header.mjs +23 -61
  253. package/fesm2022/seniorsistemas-angular-components-product-header.mjs.map +1 -1
  254. package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
  255. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  256. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +202 -0
  257. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -0
  258. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +166 -0
  259. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -0
  260. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs +23 -268
  261. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs.map +1 -1
  262. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +2 -2
  263. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  264. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +88 -0
  265. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -0
  266. package/{slide-panel → file-picker}/index.d.ts +1 -1
  267. package/file-picker/lib/file-picker/file-picker.component.d.ts +81 -0
  268. package/{file-upload/lib/file-upload/file-upload.module.d.ts → file-picker/lib/file-picker/file-picker.module.d.ts} +5 -5
  269. package/{file-upload/lib/file-upload/file-upload.service.d.ts → file-picker/lib/file-picker/file-picker.service.d.ts} +3 -3
  270. package/file-picker/lib/file-picker/models/file-picker-permissions.d.ts +2 -0
  271. package/file-picker/public-api.d.ts +7 -0
  272. package/file-upload/README.md +45 -0
  273. package/file-upload/public-api.d.ts +25 -6
  274. package/ia-insight/public-api.d.ts +32 -3
  275. package/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.d.ts +13 -0
  276. package/inline-edit/lib/inline-edit/components/index.d.ts +1 -1
  277. package/inline-edit/lib/inline-edit/fields/index.d.ts +2 -2
  278. package/inline-edit/lib/inline-edit/fields/inline-edit-content-generator-field.d.ts +6 -0
  279. package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +3 -3
  280. package/inline-edit/public-api.d.ts +2 -2
  281. package/insights/index.d.ts +5 -0
  282. package/insights/lib/insights/components/insights-card/components/index.d.ts +1 -0
  283. package/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.d.ts +5 -0
  284. package/{ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.d.ts → insights/lib/insights/components/insights-card/insights-card.component.d.ts} +5 -5
  285. package/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.d.ts +21 -0
  286. package/insights/lib/insights/insights.component.d.ts +30 -0
  287. package/insights/lib/insights/insights.module.d.ts +17 -0
  288. package/insights/lib/insights/models/index.d.ts +2 -0
  289. package/{ia-insight/lib/ia-insight/models/ia-insight-item.d.ts → insights/lib/insights/models/insights-item.d.ts} +1 -1
  290. package/insights/lib/insights/models/insights-template-types.d.ts +1 -0
  291. package/insights/public-api.d.ts +3 -0
  292. package/optional-fields/editor/editor-field/editor-field.component.d.ts +10 -0
  293. package/optional-fields/editor/editor-field.d.ts +17 -0
  294. package/optional-fields/editor/index.d.ts +5 -0
  295. package/optional-fields/editor/public-api.d.ts +1 -0
  296. package/package.json +62 -25
  297. package/product-header/public-api.d.ts +21 -2
  298. package/slide-in-bar/index.d.ts +5 -0
  299. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +33 -0
  300. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +8 -0
  301. package/{slide-panel/lib/slide-panel/slide-panel.service.d.ts → slide-in-bar/lib/slide-in-bar/slide-in-bar.service.d.ts} +3 -3
  302. package/slide-in-bar/public-api.d.ts +3 -0
  303. package/stepper/index.d.ts +5 -0
  304. package/stepper/lib/stepper/models/index.d.ts +3 -0
  305. package/stepper/lib/stepper/models/step-selection-event.d.ts +6 -0
  306. package/stepper/lib/stepper/models/step-state.d.ts +5 -0
  307. package/stepper/lib/stepper/models/step.d.ts +11 -0
  308. package/stepper/lib/stepper/stepper.component.d.ts +20 -0
  309. package/stepper/lib/stepper/stepper.module.d.ts +9 -0
  310. package/stepper/public-api.d.ts +3 -0
  311. package/styles.css +9 -1
  312. package/table/lib/table/table-column/models/dynamic-editable-grid.interface.d.ts +2 -2
  313. package/text-area-ia/public-api.d.ts +21 -2
  314. package/{steps → topbar}/index.d.ts +1 -1
  315. package/topbar/lib/topbar/topbar.component.d.ts +16 -0
  316. package/topbar/lib/topbar/topbar.module.d.ts +10 -0
  317. package/topbar/public-api.d.ts +2 -0
  318. package/dynamic-form/lib/dynamic-form/components/grid/row/row.component.d.ts +0 -15
  319. package/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.d.ts +0 -8
  320. package/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +0 -12
  321. package/dynamic-form/lib/dynamic-form/components/structure/section/section.component.d.ts +0 -14
  322. package/dynamic-form/lib/dynamic-form/configurations/dynamic-config.d.ts +0 -3
  323. package/dynamic-form/lib/dynamic-form/configurations/dynamic-type.d.ts +0 -24
  324. package/dynamic-form/lib/dynamic-form/configurations/grid/grid.d.ts +0 -14
  325. package/dynamic-form/lib/dynamic-form/configurations/grid/row.d.ts +0 -8
  326. package/dynamic-form/lib/dynamic-form/configurations/grid-type.d.ts +0 -3
  327. package/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.d.ts +0 -10
  328. package/dynamic-form/lib/dynamic-form/configurations/structure/structure.d.ts +0 -14
  329. package/dynamic-form/lib/dynamic-form/configurations/structure-type.d.ts +0 -4
  330. package/dynamic-form/lib/dynamic-form/dynamic-form.component.d.ts +0 -19
  331. package/dynamic-form/lib/dynamic-form/dynamic-form.d.ts +0 -57
  332. package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +0 -83
  333. package/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.d.ts +0 -7
  334. package/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.d.ts +0 -32
  335. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +0 -30
  336. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +0 -38
  337. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.d.ts +0 -43
  338. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +0 -29
  339. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +0 -11
  340. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.d.ts +0 -34
  341. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +0 -45
  342. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +0 -9
  343. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.d.ts +0 -24
  344. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.d.ts +0 -9
  345. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.d.ts +0 -14
  346. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.d.ts +0 -18
  347. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.d.ts +0 -96
  348. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +0 -97
  349. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.d.ts +0 -45
  350. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +0 -35
  351. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.d.ts +0 -41
  352. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.d.ts +0 -32
  353. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +0 -17
  354. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +0 -24
  355. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +0 -26
  356. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.d.ts +0 -41
  357. package/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.d.ts +0 -32
  358. package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +0 -10
  359. package/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +0 -10
  360. package/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +0 -10
  361. package/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.d.ts +0 -10
  362. package/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +0 -9
  363. package/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +0 -9
  364. package/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.d.ts +0 -10
  365. package/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +0 -25
  366. package/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +0 -10
  367. package/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +0 -14
  368. package/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +0 -9
  369. package/dynamic-form/lib/dynamic-form/form-field/form-field.d.ts +0 -192
  370. package/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.d.ts +0 -12
  371. package/esm2022/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.mjs +0 -20
  372. package/esm2022/dynamic-form/lib/dynamic-form/components/grid/row/row.component.mjs +0 -41
  373. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.mjs +0 -643
  374. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.mjs +0 -2
  375. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.mjs +0 -2
  376. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.mjs +0 -2
  377. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.mjs +0 -27
  378. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/section/section.component.mjs +0 -33
  379. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-config.mjs +0 -71
  380. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-type.mjs +0 -26
  381. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/grid.mjs +0 -14
  382. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/row.mjs +0 -10
  383. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid-type.mjs +0 -5
  384. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.mjs +0 -10
  385. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/section.mjs +0 -31
  386. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/structure.mjs +0 -9
  387. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure-type.mjs +0 -6
  388. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.component.mjs +0 -41
  389. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.directive.mjs +0 -107
  390. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.mjs +0 -189
  391. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.module.mjs +0 -293
  392. package/esm2022/dynamic-form/lib/dynamic-form/form-field/addon-config.mjs +0 -2
  393. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.mjs +0 -13
  394. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.mjs +0 -34
  395. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +0 -24
  396. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +0 -37
  397. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.mjs +0 -31
  398. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.mjs +0 -30
  399. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +0 -15
  400. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.mjs +0 -47
  401. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.mjs +0 -56
  402. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +0 -9
  403. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.mjs +0 -25
  404. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +0 -15
  405. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.mjs +0 -14
  406. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.mjs +0 -16
  407. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.mjs +0 -15
  408. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.mjs +0 -64
  409. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.mjs +0 -66
  410. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.mjs +0 -38
  411. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.mjs +0 -33
  412. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.mjs +0 -35
  413. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +0 -27
  414. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.mjs +0 -43
  415. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.mjs +0 -30
  416. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +0 -17
  417. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.mjs +0 -30
  418. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +0 -32
  419. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.mjs +0 -38
  420. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +0 -37
  421. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.mjs +0 -22
  422. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +0 -124
  423. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +0 -27
  424. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +0 -23
  425. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.mjs +0 -31
  426. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +0 -118
  427. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +0 -21
  428. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.mjs +0 -59
  429. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +0 -29
  430. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.mjs +0 -100
  431. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.mjs +0 -23
  432. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +0 -56
  433. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +0 -23
  434. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs +0 -121
  435. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.mjs +0 -75
  436. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +0 -22
  437. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +0 -52
  438. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs +0 -24
  439. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs +0 -103
  440. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +0 -25
  441. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.mjs +0 -88
  442. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +0 -29
  443. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +0 -22
  444. package/esm2022/dynamic-form/lib/dynamic-form/form-field/form-field.mjs +0 -243
  445. package/esm2022/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.mjs +0 -150
  446. package/esm2022/file-upload/lib/file-upload/file-upload.component.mjs +0 -293
  447. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.mjs +0 -13
  448. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.mjs +0 -94
  449. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.mjs +0 -59
  450. package/esm2022/ia-insight/lib/ia-insight/ia-insight.component.mjs +0 -68
  451. package/esm2022/ia-insight/lib/ia-insight/ia-insight.module.mjs +0 -47
  452. package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-item.mjs +0 -2
  453. package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-template-types.mjs +0 -2
  454. package/esm2022/ia-insight/lib/ia-insight/models/index.mjs +0 -2
  455. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.mjs +0 -32
  456. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.mjs +0 -7
  457. package/esm2022/product-header/lib/product-header/product-header.component.mjs +0 -44
  458. package/esm2022/product-header/lib/product-header/product-header.module.mjs +0 -20
  459. package/esm2022/slide-panel/lib/slide-panel/slide-panel.component.mjs +0 -137
  460. package/esm2022/slide-panel/lib/slide-panel/slide-panel.module.mjs +0 -20
  461. package/esm2022/slide-panel/lib/slide-panel/slide-panel.service.mjs +0 -26
  462. package/esm2022/slide-panel/public-api.mjs +0 -4
  463. package/esm2022/steps/lib/steps/steps.component.mjs +0 -122
  464. package/esm2022/steps/lib/steps/steps.module.mjs +0 -19
  465. package/esm2022/steps/public-api.mjs +0 -3
  466. package/esm2022/steps/seniorsistemas-angular-components-steps.mjs +0 -5
  467. package/esm2022/text-area-ia/lib/services/IAssist/iassist.service.mjs +0 -77
  468. package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-input-data.mjs +0 -3
  469. package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-response.mjs +0 -3
  470. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.component.mjs +0 -150
  471. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.module.mjs +0 -50
  472. package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs +0 -182
  473. package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs.map +0 -1
  474. package/fesm2022/seniorsistemas-angular-components-steps.mjs +0 -145
  475. package/fesm2022/seniorsistemas-angular-components-steps.mjs.map +0 -1
  476. package/file-upload/lib/file-upload/file-upload.component.d.ts +0 -80
  477. package/file-upload/lib/file-upload/models/file-upload-permissions.d.ts +0 -2
  478. package/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.d.ts +0 -5
  479. package/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.d.ts +0 -21
  480. package/ia-insight/lib/ia-insight/ia-insight.component.d.ts +0 -29
  481. package/ia-insight/lib/ia-insight/ia-insight.module.d.ts +0 -17
  482. package/ia-insight/lib/ia-insight/models/ia-insight-template-types.d.ts +0 -1
  483. package/ia-insight/lib/ia-insight/models/index.d.ts +0 -2
  484. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.d.ts +0 -13
  485. package/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.d.ts +0 -6
  486. package/product-header/lib/product-header/product-header.component.d.ts +0 -15
  487. package/product-header/lib/product-header/product-header.module.d.ts +0 -10
  488. package/slide-panel/lib/slide-panel/slide-panel.component.d.ts +0 -32
  489. package/slide-panel/lib/slide-panel/slide-panel.module.d.ts +0 -8
  490. package/slide-panel/public-api.d.ts +0 -3
  491. package/steps/lib/steps/steps.component.d.ts +0 -36
  492. package/steps/lib/steps/steps.module.d.ts +0 -9
  493. package/steps/public-api.d.ts +0 -2
  494. package/text-area-ia/lib/text-area-ia/text-area-ia.module.d.ts +0 -15
  495. /package/{text-area-ia → content-generator}/lib/services/IAssist/iassist.service.d.ts +0 -0
  496. /package/{text-area-ia → content-generator}/lib/services/IAssist/models/iassist-input-data.d.ts +0 -0
  497. /package/{text-area-ia → content-generator}/lib/services/IAssist/models/iassist-response.d.ts +0 -0
  498. /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/default-filter.d.ts +0 -0
  499. /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/label-options.d.ts +0 -0
  500. /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/file-dto.d.ts +0 -0
  501. /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/list-blob-metadata.d.ts +0 -0
  502. /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/uploadError.d.ts +0 -0
  503. /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/validate-errors.d.ts +0 -0
@@ -1,150 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { GridType } from '../configurations/grid-type';
3
- import { FieldType } from '../form-field/configurations/field-type';
4
- import { StructureType } from '../configurations/structure-type';
5
- import * as i0 from "@angular/core";
6
- export class DynamicFormCacheService {
7
- LOADED_ALL_CACHE = false;
8
- CACHED_COMPONENTS = new Map();
9
- async setCache() {
10
- const setAutoComplete = async () => {
11
- const { AutocompleteFieldComponent } = await import('../../dynamic-form/form-field/fields/autocomplete/autocomplete-field.component');
12
- this.CACHED_COMPONENTS.set(FieldType.Autocomplete, AutocompleteFieldComponent);
13
- };
14
- const setLookup = async () => {
15
- const { LookupFieldComponent } = await import('../../dynamic-form/form-field/fields/lookup/lookup-field.component');
16
- this.CACHED_COMPONENTS.set(FieldType.Lookup, LookupFieldComponent);
17
- };
18
- const setTextAreaIA = async () => {
19
- const { TextAreaIAFieldComponent } = await import('../../dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component');
20
- this.CACHED_COMPONENTS.set(FieldType.TextIA, TextAreaIAFieldComponent);
21
- };
22
- const setBigNumberField = async () => {
23
- const { BignumberFieldComponent } = await import('../../dynamic-form/form-field/fields/bignumber/bignumber-field.component');
24
- this.CACHED_COMPONENTS.set(FieldType.Number, BignumberFieldComponent);
25
- };
26
- const setBooleanField = async () => {
27
- const { BooleanFieldComponent } = await import('../../dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component');
28
- this.CACHED_COMPONENTS.set(FieldType.Boolean, BooleanFieldComponent);
29
- };
30
- const setBooleanSwitchField = async () => {
31
- const { BooleanSwitchFieldComponent } = await import('../../dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component');
32
- this.CACHED_COMPONENTS.set(FieldType.BooleanSwitch, BooleanSwitchFieldComponent);
33
- };
34
- const setCalendarField = async () => {
35
- const { CalendarFieldComponent } = await import('../../dynamic-form/form-field/fields/calendar/calendar-field.component');
36
- this.CACHED_COMPONENTS.set(FieldType.Date, CalendarFieldComponent);
37
- };
38
- const setCheckboxField = async () => {
39
- const { CheckboxFieldComponent } = await import('../../dynamic-form/form-field/fields/checkbox/checkbox-field.component');
40
- this.CACHED_COMPONENTS.set(FieldType.Checkbox, CheckboxFieldComponent);
41
- };
42
- const setChipsField = async () => {
43
- const { ChipsFieldComponent } = await import('../../dynamic-form/form-field/fields/chips/chips-field.component');
44
- this.CACHED_COMPONENTS.set(FieldType.Chips, ChipsFieldComponent);
45
- };
46
- const setCountryPhonePickerField = async () => {
47
- const { CountryPhonePickerFieldComponent } = await import('../../dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component');
48
- this.CACHED_COMPONENTS.set(FieldType.CountryPhonePicker, CountryPhonePickerFieldComponent);
49
- };
50
- const setCurrencyField = async () => {
51
- const { CurrencyFieldComponent } = await import('../../dynamic-form/form-field/fields/currency/currency-field.component');
52
- this.CACHED_COMPONENTS.set(FieldType.Money, CurrencyFieldComponent);
53
- };
54
- const setEditorField = async () => {
55
- const { EditorFieldComponent } = await import('../../dynamic-form/form-field/fields/editor/editor-field.component');
56
- this.CACHED_COMPONENTS.set(FieldType.Editor, EditorFieldComponent);
57
- };
58
- const setFileUploadField = async () => {
59
- const { FileUploadFieldComponent } = await import('../../dynamic-form/form-field/fields/file-upload/file-upload-field.component');
60
- this.CACHED_COMPONENTS.set(FieldType.Blob, FileUploadFieldComponent);
61
- };
62
- const setPasswordField = async () => {
63
- const { PasswordFieldComponent } = await import('../../dynamic-form/form-field/fields/password/password-field.component');
64
- this.CACHED_COMPONENTS.set(FieldType.Password, PasswordFieldComponent);
65
- };
66
- const setProfilePictureField = async () => {
67
- const { ProfilePictureFieldComponent } = await import('../../dynamic-form/form-field/fields/profile-picture/profile-picture-field.component');
68
- this.CACHED_COMPONENTS.set(FieldType.ProfilePicture, ProfilePictureFieldComponent);
69
- };
70
- const setRadioButtonField = async () => {
71
- const { RadioButtonFieldComponent } = await import('../../dynamic-form/form-field/fields/radio-button/radio-button-field.component');
72
- this.CACHED_COMPONENTS.set(FieldType.Radio, RadioButtonFieldComponent);
73
- };
74
- const setSelectField = async () => {
75
- const { SelectFieldComponent } = await import('../../dynamic-form/form-field/fields/select/select-field.component');
76
- this.CACHED_COMPONENTS.set(FieldType.Enum, SelectFieldComponent);
77
- };
78
- const setSliderField = async () => {
79
- const { SliderFieldComponent } = await import('../../dynamic-form/form-field/fields/slider/slider-field.component');
80
- this.CACHED_COMPONENTS.set(FieldType.Slider, SliderFieldComponent);
81
- };
82
- const setTextAreaField = async () => {
83
- const { TextAreaFieldComponent } = await import('../../dynamic-form/form-field/fields/text-area/text-area-field.component');
84
- this.CACHED_COMPONENTS.set(FieldType.Text, TextAreaFieldComponent);
85
- };
86
- const setTextField = async () => {
87
- const { TextFieldComponent } = await import('../../dynamic-form/form-field/fields/text/text-field.component');
88
- this.CACHED_COMPONENTS.set(FieldType.String, TextFieldComponent);
89
- };
90
- const setButtonField = async () => {
91
- const { ButtonFieldComponent } = await import('../../dynamic-form/form-field/fields/button-field/button-field.component');
92
- this.CACHED_COMPONENTS.set(FieldType.Button, ButtonFieldComponent);
93
- };
94
- const setFieldSetComponent = async () => {
95
- const { FieldsetComponent } = await import('../components/structure/fieldset/fieldset.component');
96
- this.CACHED_COMPONENTS.set(StructureType.Fieldset, FieldsetComponent);
97
- };
98
- const setSectionComponent = async () => {
99
- const { SectionComponent } = await import('../components/structure/section/section.component');
100
- this.CACHED_COMPONENTS.set(StructureType.Section, SectionComponent);
101
- };
102
- const setRowComponent = async () => {
103
- const { RowComponent } = await import('../components/grid/row/row.component');
104
- this.CACHED_COMPONENTS.set(GridType.Row, RowComponent);
105
- };
106
- const setStarRatingComponent = async () => {
107
- const { StarRatingFieldComponent } = await import('../../dynamic-form/form-field/fields/star-rating/star-rating-field.component');
108
- this.CACHED_COMPONENTS.set(FieldType.StarRating, StarRatingFieldComponent);
109
- };
110
- const SET_CACHE_PROMISES = [
111
- setAutoComplete,
112
- setLookup,
113
- setTextAreaIA,
114
- setBigNumberField,
115
- setBooleanField,
116
- setBooleanSwitchField,
117
- setCalendarField,
118
- setCheckboxField,
119
- setChipsField,
120
- setCountryPhonePickerField,
121
- setCurrencyField,
122
- setEditorField,
123
- setFileUploadField,
124
- setPasswordField,
125
- setProfilePictureField,
126
- setRadioButtonField,
127
- setSelectField,
128
- setSliderField,
129
- setTextAreaField,
130
- setTextField,
131
- setButtonField,
132
- setFieldSetComponent,
133
- setSectionComponent,
134
- setRowComponent,
135
- setStarRatingComponent,
136
- ];
137
- await Promise.allSettled(SET_CACHE_PROMISES.map((promise) => promise()));
138
- this.LOADED_ALL_CACHE = true;
139
- }
140
- get(type) {
141
- return this.CACHED_COMPONENTS.get(type);
142
- }
143
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
144
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, providedIn: 'root' });
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, decorators: [{
147
- type: Injectable,
148
- args: [{ providedIn: 'root' }]
149
- }] });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9zZXJ2aWNlcy9keW5hbWljLWZvcm0tY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFHakUsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDUixpQkFBaUIsR0FBbUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvRixLQUFLLENBQUMsUUFBUTtRQUNWLE1BQU0sZUFBZSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQy9CLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUMvQyxnRkFBZ0YsQ0FDbkYsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUN6QyxvRUFBb0UsQ0FDdkUsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLEtBQUssSUFB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QUNyQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixzQkFBc0I7U0FDekIsQ0FBQztRQUNGLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBMEM7UUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7d0dBMUxRLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRFYsTUFBTTs7NEZBQ25CLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkVHlwZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zL2dyaWQtdHlwZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGUnO1xuaW1wb3J0IHsgU3RydWN0dXJlVHlwZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS10eXBlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUNhY2hlU2VydmljZSB7XG4gICAgTE9BREVEX0FMTF9DQUNIRSA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQ0FDSEVEX0NPTVBPTkVOVFM6IE1hcDxHcmlkVHlwZSB8IEZpZWxkVHlwZSB8IFN0cnVjdHVyZVR5cGUsIGFueT4gPSBuZXcgTWFwKCk7XG4gICAgYXN5bmMgc2V0Q2FjaGUoKSB7XG4gICAgICAgIGNvbnN0IHNldEF1dG9Db21wbGV0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5BdXRvY29tcGxldGUsIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0TG9va3VwID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBMb29rdXBGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvbG9va3VwL2xvb2t1cC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkxvb2t1cCwgTG9va3VwRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRUZXh0QXJlYUlBID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQtYXJlYS1pYS90ZXh0LWFyZWEtaWEtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5UZXh0SUEsIFRleHRBcmVhSUFGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldEJpZ051bWJlckZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBCaWdudW1iZXJGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYmlnbnVtYmVyL2JpZ251bWJlci1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLk51bWJlciwgQmlnbnVtYmVyRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCb29sZWFuRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEJvb2xlYW5GaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXJhZGlvLWZpZWxkL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5Cb29sZWFuLCBCb29sZWFuRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCb29sZWFuU3dpdGNoRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXN3aXRjaC1maWVsZC9ib29sZWFuLXN3aXRjaC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkJvb2xlYW5Td2l0Y2gsIEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldENhbGVuZGFyRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IENhbGVuZGFyRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuRGF0ZSwgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2V0Q2hlY2tib3hGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQ2hlY2tib3hGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvY2hlY2tib3gvY2hlY2tib3gtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5DaGVja2JveCwgQ2hlY2tib3hGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldENoaXBzRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IENoaXBzRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NoaXBzL2NoaXBzLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQ2hpcHMsIENoaXBzRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQ291bnRyeVBob25lUGlja2VyLCBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldEN1cnJlbmN5RmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEN1cnJlbmN5RmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuTW9uZXksIEN1cnJlbmN5RmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRFZGl0b3JGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgRWRpdG9yRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2VkaXRvci9lZGl0b3ItZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5FZGl0b3IsIEVkaXRvckZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0RmlsZVVwbG9hZEZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQmxvYiwgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0UGFzc3dvcmRGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgUGFzc3dvcmRGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvcGFzc3dvcmQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5QYXNzd29yZCwgUGFzc3dvcmRGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFByb2ZpbGVQaWN0dXJlRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFByb2ZpbGVQaWN0dXJlRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Byb2ZpbGUtcGljdHVyZS9wcm9maWxlLXBpY3R1cmUtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5Qcm9maWxlUGljdHVyZSwgUHJvZmlsZVBpY3R1cmVGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFJhZGlvQnV0dG9uRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFJhZGlvQnV0dG9uRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5SYWRpbywgUmFkaW9CdXR0b25GaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFNlbGVjdEZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBTZWxlY3RGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvc2VsZWN0L3NlbGVjdC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkVudW0sIFNlbGVjdEZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0U2xpZGVyRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFNsaWRlckZpZWxkQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAgICAgICAgICAgJy4uLy4uL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9zbGlkZXIvc2xpZGVyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuU2xpZGVyLCBTbGlkZXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFRleHRBcmVhRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFRleHRBcmVhRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQtYXJlYS90ZXh0LWFyZWEtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5UZXh0LCBUZXh0QXJlYUZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzZXRUZXh0RmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFRleHRGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvdGV4dC90ZXh0LWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuU3RyaW5nLCBUZXh0RmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCdXR0b25GaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQnV0dG9uRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2J1dHRvbi1maWVsZC9idXR0b24tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5CdXR0b24sIEJ1dHRvbkZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzZXRGaWVsZFNldENvbXBvbmVudCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgRmllbGRzZXRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50Jyk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChTdHJ1Y3R1cmVUeXBlLkZpZWxkc2V0LCBGaWVsZHNldENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFNlY3Rpb25Db21wb25lbnQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFNlY3Rpb25Db21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvc2VjdGlvbi9zZWN0aW9uLmNvbXBvbmVudCcpO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoU3RydWN0dXJlVHlwZS5TZWN0aW9uLCBTZWN0aW9uQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0Um93Q29tcG9uZW50ID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBSb3dDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9ncmlkL3Jvdy9yb3cuY29tcG9uZW50Jyk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChHcmlkVHlwZS5Sb3csIFJvd0NvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2V0U3RhclJhdGluZ0NvbXBvbmVudCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgU3RhclJhdGluZ0ZpZWxkQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAgICAgICAgICAgJy4uLy4uL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLlN0YXJSYXRpbmcsIFN0YXJSYXRpbmdGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgU0VUX0NBQ0hFX1BST01JU0VTID0gW1xuICAgICAgICAgICAgc2V0QXV0b0NvbXBsZXRlLFxuICAgICAgICAgICAgc2V0TG9va3VwLFxuICAgICAgICAgICAgc2V0VGV4dEFyZWFJQSxcbiAgICAgICAgICAgIHNldEJpZ051bWJlckZpZWxkLFxuICAgICAgICAgICAgc2V0Qm9vbGVhbkZpZWxkLFxuICAgICAgICAgICAgc2V0Qm9vbGVhblN3aXRjaEZpZWxkLFxuICAgICAgICAgICAgc2V0Q2FsZW5kYXJGaWVsZCxcbiAgICAgICAgICAgIHNldENoZWNrYm94RmllbGQsXG4gICAgICAgICAgICBzZXRDaGlwc0ZpZWxkLFxuICAgICAgICAgICAgc2V0Q291bnRyeVBob25lUGlja2VyRmllbGQsXG4gICAgICAgICAgICBzZXRDdXJyZW5jeUZpZWxkLFxuICAgICAgICAgICAgc2V0RWRpdG9yRmllbGQsXG4gICAgICAgICAgICBzZXRGaWxlVXBsb2FkRmllbGQsXG4gICAgICAgICAgICBzZXRQYXNzd29yZEZpZWxkLFxuICAgICAgICAgICAgc2V0UHJvZmlsZVBpY3R1cmVGaWVsZCxcbiAgICAgICAgICAgIHNldFJhZGlvQnV0dG9uRmllbGQsXG4gICAgICAgICAgICBzZXRTZWxlY3RGaWVsZCxcbiAgICAgICAgICAgIHNldFNsaWRlckZpZWxkLFxuICAgICAgICAgICAgc2V0VGV4dEFyZWFGaWVsZCxcbiAgICAgICAgICAgIHNldFRleHRGaWVsZCxcbiAgICAgICAgICAgIHNldEJ1dHRvbkZpZWxkLFxuICAgICAgICAgICAgc2V0RmllbGRTZXRDb21wb25lbnQsXG4gICAgICAgICAgICBzZXRTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICAgICAgc2V0Um93Q29tcG9uZW50LFxuICAgICAgICAgICAgc2V0U3RhclJhdGluZ0NvbXBvbmVudCxcbiAgICAgICAgXTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFNFVF9DQUNIRV9QUk9NSVNFUy5tYXAoKHByb21pc2UpID0+IHByb21pc2UoKSkpO1xuICAgICAgICB0aGlzLkxPQURFRF9BTExfQ0FDSEUgPSB0cnVlO1xuICAgIH1cblxuICAgIGdldCh0eXBlOiBHcmlkVHlwZSB8IEZpZWxkVHlwZSB8IFN0cnVjdHVyZVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuZ2V0KHR5cGUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,293 +0,0 @@
1
- import { Component, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import moment from 'moment';
4
- import { ALL_PERMISSIONS } from './models/file-upload-permissions';
5
- import { Breakpoints, isNullOrUndefined } from '@seniorsistemas/angular-components/utils';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/platform-browser";
8
- import * as i2 from "./file-upload.service";
9
- import * as i3 from "@ngx-translate/core";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@seniorsistemas/angular-components/button";
12
- import * as i6 from "primeng/tooltip";
13
- import * as i7 from "@seniorsistemas/angular-components/progressbar";
14
- export class FileUploadComponent {
15
- sanitizer;
16
- fileUploadService;
17
- translate;
18
- static nextId = 0;
19
- ADD_PERMISSION = 'add';
20
- READ_PERMISSION = 'read';
21
- REMOVE_PERMISSION = 'remove';
22
- inputUpload = null;
23
- anchor = null;
24
- id = `s-file-upload-${FileUploadComponent.nextId++}`;
25
- chooseLabel;
26
- removeLabel;
27
- cancelLabel;
28
- successTooltip;
29
- multiple;
30
- accept;
31
- supportedExtensions = [];
32
- ariaLabelFileName;
33
- maxFileSize;
34
- maxCombinedFileSize;
35
- fileLimit;
36
- ariaLabelProgress;
37
- ariaLabelSuccess;
38
- ariaLabelError;
39
- ariaLabelRemove;
40
- formGroup;
41
- disabled = false;
42
- showFileUploadDate = false;
43
- permissions = ALL_PERMISSIONS;
44
- set files(files) {
45
- if (this.showFileUploadDate && files[0]?.objectId) {
46
- this.getUploadDate(files);
47
- }
48
- this._files = files.map((file) => {
49
- file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(file));
50
- return file;
51
- });
52
- }
53
- uploadHandler = new EventEmitter();
54
- removeFile = new EventEmitter();
55
- cancelUpload = new EventEmitter();
56
- downloadFile = new EventEmitter();
57
- validateErrors = new EventEmitter();
58
- _files = [];
59
- ngUsubscribe = new Subject();
60
- isSmallDevice = false;
61
- inputValue = '';
62
- modifiedDate;
63
- constructor(sanitizer, fileUploadService, translate) {
64
- this.sanitizer = sanitizer;
65
- this.fileUploadService = fileUploadService;
66
- this.translate = translate;
67
- }
68
- ngOnInit() {
69
- this.supportedExtensions = this.supportedExtensions.map((extension) => extension.replace('.', '').toLowerCase());
70
- }
71
- ngOnDestroy() {
72
- this.ngUsubscribe.next();
73
- this.ngUsubscribe.complete();
74
- }
75
- ngAfterContentInit() {
76
- this.update();
77
- }
78
- onResize() {
79
- this.update();
80
- }
81
- _onInputFileSelect($event) {
82
- const eventTargetFiles = $event.target?.files;
83
- const dataTransferFiles = $event.dataTransfer?.files;
84
- const files = Array.from(dataTransferFiles ? dataTransferFiles : eventTargetFiles);
85
- this.onFileSelect(files);
86
- }
87
- onFileSelect(files) {
88
- const newFiles = [];
89
- if (!this.multiple) {
90
- this.files = [];
91
- }
92
- if (this.isFileLimitExceeded(files)) {
93
- this.validateErrors.emit({
94
- files,
95
- validation: 'maxFileLimit',
96
- });
97
- this.clearFileInput();
98
- return;
99
- }
100
- if (this.isFileCombinedSizeExceeded(files)) {
101
- this.validateErrors.emit({
102
- files: files,
103
- validation: 'maxCombinedFileSize',
104
- });
105
- this.clearFileInput();
106
- return;
107
- }
108
- for (const file of files) {
109
- if (this.isUnsupportedFileExtension(file)) {
110
- this.validateErrors.emit({
111
- files: [file],
112
- validation: 'unsupportedExtension',
113
- });
114
- continue;
115
- }
116
- if (this.isFileSizeExceeded(file)) {
117
- this.validateErrors.emit({
118
- files: [file],
119
- validation: 'maxFileSize',
120
- });
121
- continue;
122
- }
123
- newFiles.push(file);
124
- }
125
- if (newFiles.length) {
126
- this.files = this.files.concat(newFiles);
127
- this.uploadHandler.emit({
128
- files: newFiles,
129
- });
130
- }
131
- this.clearFileInput();
132
- }
133
- onRemoveFile(file) {
134
- const fileIndex = this.files.indexOf(file);
135
- const removedFiles = this.files.splice(fileIndex, 1);
136
- if (removedFiles.length) {
137
- this.removeFile.emit({ file });
138
- }
139
- }
140
- onCancelUpload(index) {
141
- const removedFiles = this.files.splice(index, 1);
142
- if (removedFiles.length) {
143
- this.cancelUpload.emit(index);
144
- }
145
- this.clearFileInput();
146
- }
147
- onDowloadFile(index) {
148
- if (isNullOrUndefined(this.anchor))
149
- return;
150
- this.downloadFile.emit({
151
- index,
152
- anchor: this.anchor,
153
- });
154
- }
155
- get files() {
156
- return this._files;
157
- }
158
- formatFileSize(size) {
159
- if (size === 0) {
160
- return '0 Bytes';
161
- }
162
- const k = 1024;
163
- const sizes = ['bytes', 'KB', 'MB', 'GB', 'TB'];
164
- const i = Math.floor(Math.log(size) / Math.log(k));
165
- return parseFloat((size / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
166
- }
167
- update() {
168
- const windowWidth = window.innerWidth;
169
- this.isSmallDevice = windowWidth <= Breakpoints.SM_MAX;
170
- }
171
- isFileLimitExceeded(files) {
172
- if (!this.fileLimit) {
173
- return false;
174
- }
175
- return this.files.length + files.length > this.fileLimit;
176
- }
177
- isFileCombinedSizeExceeded(files) {
178
- if (!this.maxCombinedFileSize) {
179
- return false;
180
- }
181
- const filesList = [...files, ...this.files];
182
- const combinedSize = filesList.reduce((combinedSize, file) => combinedSize + file.size, 0);
183
- return combinedSize > this.maxCombinedFileSize;
184
- }
185
- isFileSizeExceeded(file) {
186
- if (!this.maxFileSize) {
187
- return false;
188
- }
189
- return file.size > this.maxFileSize;
190
- }
191
- isUnsupportedFileExtension(file) {
192
- if (this.supportedExtensions?.length) {
193
- const extension = file.name.split('.').pop()?.toLowerCase() ?? '';
194
- return !this.supportedExtensions.includes(extension);
195
- }
196
- return false;
197
- }
198
- clearFileInput() {
199
- if (isNullOrUndefined(this.inputUpload?.nativeElement))
200
- return;
201
- this.inputUpload.nativeElement.value = null;
202
- }
203
- getUploadDate(blobFile) {
204
- if (!blobFile) {
205
- return;
206
- }
207
- this.fileUploadService
208
- .getMetadataCustomField({ objectId: blobFile[0].objectId ?? '' })
209
- .then((metadata) => this.setModifiedDate(metadata));
210
- }
211
- setModifiedDate(metadata) {
212
- const hour = moment(metadata.modified).format('HH');
213
- const minutes = moment(metadata.modified).format('mm');
214
- const day = moment(metadata.modified).format('DD');
215
- const month = moment(metadata.modified).format('MM');
216
- const fullYear = moment(metadata.modified).format('YYYY');
217
- this.modifiedDate = this.translate.instant('platform.angular_components.date_modified_custom_blob', {
218
- hour,
219
- minutes,
220
- day,
221
- month,
222
- fullYear,
223
- });
224
- }
225
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.FileUploadService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
226
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FileUploadComponent, selector: "s-file-upload", inputs: { id: "id", chooseLabel: "chooseLabel", removeLabel: "removeLabel", cancelLabel: "cancelLabel", successTooltip: "successTooltip", multiple: "multiple", accept: "accept", supportedExtensions: "supportedExtensions", ariaLabelFileName: "ariaLabelFileName", maxFileSize: "maxFileSize", maxCombinedFileSize: "maxCombinedFileSize", fileLimit: "fileLimit", ariaLabelProgress: "ariaLabelProgress", ariaLabelSuccess: "ariaLabelSuccess", ariaLabelError: "ariaLabelError", ariaLabelRemove: "ariaLabelRemove", formGroup: "formGroup", disabled: "disabled", showFileUploadDate: "showFileUploadDate", permissions: "permissions", files: "files" }, outputs: { uploadHandler: "uploadHandler", removeFile: "removeFile", cancelUpload: "cancelUpload", downloadFile: "downloadFile", validateErrors: "validateErrors" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "inputUpload", first: true, predicate: ["inputUpload"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true }], ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"s-fileupload\"\n>\n <div class=\"s-fileupload-choose\">\n <input\n #inputUpload\n [id]=\"id + 'input-upload'\"\n type=\"file\"\n name=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"_onInputFileSelect($event)\"\n />\n @if (permissions.includes(ADD_PERMISSION)) {\n <s-button\n [id]=\"id + 'upload-button'\"\n [label]=\"chooseLabel || 'platform.angular_components.attach_files' | translate\"\n (clicked)=\"inputUpload.click()\"\n priority=\"primary\"\n [disabled]=\"disabled || !!formGroup?.disabled || fileLimit === files.length\"\n [auxiliary]=\"false\"\n >\n </s-button>\n }\n </div>\n\n @if (files.length) {\n <section\n [id]=\"id + 'fileupload-list'\"\n class=\"s-fileupload-list\"\n role=\"grid\"\n >\n @for (file of files; track file; let i = $index) {\n <div\n class=\"s-fileupload-list-file\"\n role=\"row\"\n >\n <div\n [id]=\"id + '-file-' + i + '-name'\"\n class=\"flex flex-grow items-center justify-between overflow-hidden text-ellipsis text-nowrap\"\n role=\"gridcell\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (permissions.includes(READ_PERMISSION) && file.savedFile) || file.progress === 100\n ? descriptionUrl\n : description;\n context: {\n $implicit: file,\n index: i,\n }\n \"\n >\n </ng-container>\n\n <span>{{ formatFileSize(file.size) }}</span>\n\n @if (modifiedDate) {\n <span class=\"s-fileupload-list-file-name-date\">{{ modifiedDate }}</span>\n }\n </div>\n <div\n class=\"s-fileupload-list-file-status\"\n role=\"gridcell\"\n >\n @if (file.isUploading && !isSmallDevice) {\n <div class=\"w-64\">\n <s-progressbar\n [value]=\"file.progress ?? 0\"\n [showValue]=\"false\"\n activeColor=\"blue\"\n ></s-progressbar>\n </div>\n }\n\n @if (file.isUploading && isSmallDevice) {\n <span\n [id]=\"id + '-file-' + i + '-spin'\"\n class=\"fas fa-circle-notch fa-spin\"\n [attr.aria-label]=\"\n ariaLabelProgress || 'platform.angular_components.loading_file' | translate\n \"\n >\n </span>\n }\n\n @if (!file.isUploading && !file.error && file.progress === 100) {\n <span\n [id]=\"id + '-file-' + i + '-check'\"\n class=\"fas fa-check\"\n role=\"alert\"\n [attr.aria-label]=\"\n ariaLabelSuccess ||\n successTooltip ||\n 'platform.angular_components.file_attached_successfully' | translate\n \"\n [pTooltip]=\"\n successTooltip || 'platform.angular_components.file_attached_successfully'\n | translate\n \"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\"\n >\n </span>\n }\n\n @if (file.error?.message) {\n <span\n [id]=\"id + '-file-' + i + '-error'\"\n class=\"fas fa-times\"\n role=\"alert\"\n [pTooltip]=\"file.error?.message\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\"\n >\n </span>\n }\n </div>\n <div\n class=\"s-fileupload-list-file-actions\"\n role=\"gridcell\"\n >\n @if (file.isUploading) {\n <a\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onCancelUpload(i)\"\n >\n {{ cancelLabel || 'platform.angular_components.cancel' | translate }}\n </a>\n }\n\n @if (\n permissions.includes(REMOVE_PERMISSION) &&\n !file.isUploading &&\n !(disabled || !!formGroup?.disabled)\n ) {\n <a\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onRemoveFile(file)\"\n [attr.aria-label]=\"\n ariaLabelRemove || removeLabel || 'platform.angular_components.remove' | translate\n \"\n >\n {{ removeLabel || 'platform.angular_components.remove' | translate }}\n </a>\n }\n </div>\n </div>\n }\n </section>\n }\n</div>\n\n<ng-template\n #descriptionUrl\n let-file\n let-i=\"index\"\n>\n <div class=\"flex justify-between\">\n <div>\n <a\n [id]=\"id + '-file-' + i + '-name-link'\"\n tabindex=\"0\"\n (click)=\"onDowloadFile(i)\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\"\n class=\"break-words\"\n >{{ file.name }}\n </a>\n <a\n style=\"display: none\"\n [href]=\"file.objectURL\"\n target=\"_blank\"\n download\n #anchor\n >\n </a>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #description\n let-file\n>\n <div class=\"flex justify-between\">\n <span\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\"\n >\n {{ file.name }}\n </span>\n </div>\n</ng-template>\n\n", styles: [".s-fileupload .s-fileupload-choose{position:relative;margin:15px 0;width:max-content}.s-fileupload input[type=file]{display:none}.s-fileupload-list{border:1px solid #ccc}.s-fileupload-list-file:not(:first-child){border-top:1px solid #ccc}.s-fileupload-list .s-fileupload-list-file{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:15px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name{display:flex;flex-direction:column;align-self:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name .s-fileupload-list-file-name-date{font-size:.75rem;color:#999}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name>a{cursor:pointer;text-decoration:none}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-status{align-self:center}.s-fileupload-list .s-fileupload-list-file .fas.fa-circle-notch{color:#d8d8d8;font-size:12px}.s-fileupload-list .s-fileupload-list-file .fas.fa-check{color:#0c9348;font-size:12px}.s-fileupload-list .s-fileupload-list-file .fas.fa-times{color:#c13018;font-size:12px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions{margin-top:15px;align-self:center;width:100%}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action{text-decoration:none;color:#428bca}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action:hover,.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action :focus,.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action :visited{text-decoration:none}@media (min-width: 768px){.s-fileupload-list .s-fileupload-list-file{flex-wrap:nowrap}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name{width:auto;flex-grow:2}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-status{margin:0 15px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions{margin:0;width:auto}}\n"], dependencies: [{ kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i7.ProgressBarComponent, selector: "s-progressbar", inputs: ["value", "activeColor", "numberFormatOptions", "targetValue", "label", "targetLabel", "showValue", "mode"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
227
- }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileUploadComponent, decorators: [{
229
- type: Component,
230
- args: [{ selector: 's-file-upload', template: "<div\n [id]=\"id\"\n class=\"s-fileupload\"\n>\n <div class=\"s-fileupload-choose\">\n <input\n #inputUpload\n [id]=\"id + 'input-upload'\"\n type=\"file\"\n name=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"_onInputFileSelect($event)\"\n />\n @if (permissions.includes(ADD_PERMISSION)) {\n <s-button\n [id]=\"id + 'upload-button'\"\n [label]=\"chooseLabel || 'platform.angular_components.attach_files' | translate\"\n (clicked)=\"inputUpload.click()\"\n priority=\"primary\"\n [disabled]=\"disabled || !!formGroup?.disabled || fileLimit === files.length\"\n [auxiliary]=\"false\"\n >\n </s-button>\n }\n </div>\n\n @if (files.length) {\n <section\n [id]=\"id + 'fileupload-list'\"\n class=\"s-fileupload-list\"\n role=\"grid\"\n >\n @for (file of files; track file; let i = $index) {\n <div\n class=\"s-fileupload-list-file\"\n role=\"row\"\n >\n <div\n [id]=\"id + '-file-' + i + '-name'\"\n class=\"flex flex-grow items-center justify-between overflow-hidden text-ellipsis text-nowrap\"\n role=\"gridcell\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (permissions.includes(READ_PERMISSION) && file.savedFile) || file.progress === 100\n ? descriptionUrl\n : description;\n context: {\n $implicit: file,\n index: i,\n }\n \"\n >\n </ng-container>\n\n <span>{{ formatFileSize(file.size) }}</span>\n\n @if (modifiedDate) {\n <span class=\"s-fileupload-list-file-name-date\">{{ modifiedDate }}</span>\n }\n </div>\n <div\n class=\"s-fileupload-list-file-status\"\n role=\"gridcell\"\n >\n @if (file.isUploading && !isSmallDevice) {\n <div class=\"w-64\">\n <s-progressbar\n [value]=\"file.progress ?? 0\"\n [showValue]=\"false\"\n activeColor=\"blue\"\n ></s-progressbar>\n </div>\n }\n\n @if (file.isUploading && isSmallDevice) {\n <span\n [id]=\"id + '-file-' + i + '-spin'\"\n class=\"fas fa-circle-notch fa-spin\"\n [attr.aria-label]=\"\n ariaLabelProgress || 'platform.angular_components.loading_file' | translate\n \"\n >\n </span>\n }\n\n @if (!file.isUploading && !file.error && file.progress === 100) {\n <span\n [id]=\"id + '-file-' + i + '-check'\"\n class=\"fas fa-check\"\n role=\"alert\"\n [attr.aria-label]=\"\n ariaLabelSuccess ||\n successTooltip ||\n 'platform.angular_components.file_attached_successfully' | translate\n \"\n [pTooltip]=\"\n successTooltip || 'platform.angular_components.file_attached_successfully'\n | translate\n \"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\"\n >\n </span>\n }\n\n @if (file.error?.message) {\n <span\n [id]=\"id + '-file-' + i + '-error'\"\n class=\"fas fa-times\"\n role=\"alert\"\n [pTooltip]=\"file.error?.message\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\"\n >\n </span>\n }\n </div>\n <div\n class=\"s-fileupload-list-file-actions\"\n role=\"gridcell\"\n >\n @if (file.isUploading) {\n <a\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onCancelUpload(i)\"\n >\n {{ cancelLabel || 'platform.angular_components.cancel' | translate }}\n </a>\n }\n\n @if (\n permissions.includes(REMOVE_PERMISSION) &&\n !file.isUploading &&\n !(disabled || !!formGroup?.disabled)\n ) {\n <a\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onRemoveFile(file)\"\n [attr.aria-label]=\"\n ariaLabelRemove || removeLabel || 'platform.angular_components.remove' | translate\n \"\n >\n {{ removeLabel || 'platform.angular_components.remove' | translate }}\n </a>\n }\n </div>\n </div>\n }\n </section>\n }\n</div>\n\n<ng-template\n #descriptionUrl\n let-file\n let-i=\"index\"\n>\n <div class=\"flex justify-between\">\n <div>\n <a\n [id]=\"id + '-file-' + i + '-name-link'\"\n tabindex=\"0\"\n (click)=\"onDowloadFile(i)\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\"\n class=\"break-words\"\n >{{ file.name }}\n </a>\n <a\n style=\"display: none\"\n [href]=\"file.objectURL\"\n target=\"_blank\"\n download\n #anchor\n >\n </a>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #description\n let-file\n>\n <div class=\"flex justify-between\">\n <span\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\"\n >\n {{ file.name }}\n </span>\n </div>\n</ng-template>\n\n", styles: [".s-fileupload .s-fileupload-choose{position:relative;margin:15px 0;width:max-content}.s-fileupload input[type=file]{display:none}.s-fileupload-list{border:1px solid #ccc}.s-fileupload-list-file:not(:first-child){border-top:1px solid #ccc}.s-fileupload-list .s-fileupload-list-file{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:15px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name{display:flex;flex-direction:column;align-self:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name .s-fileupload-list-file-name-date{font-size:.75rem;color:#999}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name>a{cursor:pointer;text-decoration:none}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-status{align-self:center}.s-fileupload-list .s-fileupload-list-file .fas.fa-circle-notch{color:#d8d8d8;font-size:12px}.s-fileupload-list .s-fileupload-list-file .fas.fa-check{color:#0c9348;font-size:12px}.s-fileupload-list .s-fileupload-list-file .fas.fa-times{color:#c13018;font-size:12px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions{margin-top:15px;align-self:center;width:100%}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action{text-decoration:none;color:#428bca}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action:hover,.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action :focus,.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action :visited{text-decoration:none}@media (min-width: 768px){.s-fileupload-list .s-fileupload-list-file{flex-wrap:nowrap}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name{width:auto;flex-grow:2}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-status{margin:0 15px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions{margin:0;width:auto}}\n"] }]
231
- }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.FileUploadService }, { type: i3.TranslateService }], propDecorators: { inputUpload: [{
232
- type: ViewChild,
233
- args: ['inputUpload', { static: false }]
234
- }], anchor: [{
235
- type: ViewChild,
236
- args: ['anchor', { static: false }]
237
- }], id: [{
238
- type: Input
239
- }], chooseLabel: [{
240
- type: Input
241
- }], removeLabel: [{
242
- type: Input
243
- }], cancelLabel: [{
244
- type: Input
245
- }], successTooltip: [{
246
- type: Input
247
- }], multiple: [{
248
- type: Input
249
- }], accept: [{
250
- type: Input
251
- }], supportedExtensions: [{
252
- type: Input
253
- }], ariaLabelFileName: [{
254
- type: Input
255
- }], maxFileSize: [{
256
- type: Input
257
- }], maxCombinedFileSize: [{
258
- type: Input
259
- }], fileLimit: [{
260
- type: Input
261
- }], ariaLabelProgress: [{
262
- type: Input
263
- }], ariaLabelSuccess: [{
264
- type: Input
265
- }], ariaLabelError: [{
266
- type: Input
267
- }], ariaLabelRemove: [{
268
- type: Input
269
- }], formGroup: [{
270
- type: Input
271
- }], disabled: [{
272
- type: Input
273
- }], showFileUploadDate: [{
274
- type: Input
275
- }], permissions: [{
276
- type: Input
277
- }], files: [{
278
- type: Input
279
- }], uploadHandler: [{
280
- type: Output
281
- }], removeFile: [{
282
- type: Output
283
- }], cancelUpload: [{
284
- type: Output
285
- }], downloadFile: [{
286
- type: Output
287
- }], validateErrors: [{
288
- type: Output
289
- }], onResize: [{
290
- type: HostListener,
291
- args: ['window:resize']
292
- }] } });
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2ZpbGUtdXBsb2FkL3NyYy9saWIvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2ZpbGUtdXBsb2FkL3NyYy9saWIvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBSzVCLE9BQU8sRUFBeUIsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7QUFPMUYsTUFBTSxPQUFPLG1CQUFtQjtJQTBHUDtJQUNBO0lBQ0E7SUEzR2QsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFbEIsY0FBYyxHQUEwQixLQUFLLENBQUM7SUFDOUMsZUFBZSxHQUEwQixNQUFNLENBQUM7SUFDaEQsaUJBQWlCLEdBQTBCLFFBQVEsQ0FBQztJQUcxQyxXQUFXLEdBQXNCLElBQUksQ0FBQztJQUd0QyxNQUFNLEdBQXNCLElBQUksQ0FBQztJQUczQyxFQUFFLEdBQUcsaUJBQWlCLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFHckQsV0FBVyxDQUFVO0lBR3JCLFdBQVcsQ0FBVTtJQUdyQixXQUFXLENBQVU7SUFHckIsY0FBYyxD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bmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9maWxlLXVwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IExpc3RCbG9iTWV0YWRhdGFSZXNwb25zZSB9IGZyb20gJy4vbW9kZWxzL2xpc3QtYmxvYi1tZXRhZGF0YSc7XG5pbXBvcnQgeyBGaWxlRHRvIH0gZnJvbSAnLi9tb2RlbHMvZmlsZS1kdG8nO1xuaW1wb3J0IHsgVXBsb2FkRXJyb3IgfSBmcm9tICcuL21vZGVscy91cGxvYWRFcnJvcic7XG5pbXBvcnQgeyBGaWxlVXBsb2FkUGVybWlzc2lvbnMsIEFMTF9QRVJNSVNTSU9OUyB9IGZyb20gJy4vbW9kZWxzL2ZpbGUtdXBsb2FkLXBlcm1pc3Npb25zJztcbmltcG9ydCB7IEJyZWFrcG9pbnRzLCBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtZmlsZS11cGxvYWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBwdWJsaWMgQUREX1BFUk1JU1NJT046IEZpbGVVcGxvYWRQZXJtaXNzaW9ucyA9ICdhZGQnO1xuICAgIHB1YmxpYyBSRUFEX1BFUk1JU1NJT046IEZpbGVVcGxvYWRQZXJtaXNzaW9ucyA9ICdyZWFkJztcbiAgICBwdWJsaWMgUkVNT1ZFX1BFUk1JU1NJT046IEZpbGVVcGxvYWRQZXJtaXNzaW9ucyA9ICdyZW1vdmUnO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRVcGxvYWQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0VXBsb2FkOiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAVmlld0NoaWxkKCdhbmNob3InLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuY2hvcjogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy1maWxlLXVwbG9hZC0ke0ZpbGVVcGxvYWRDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNob29zZUxhYmVsPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVtb3ZlTGFiZWw/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjYW5jZWxMYWJlbD86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN1Y2Nlc3NUb29sdGlwPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlwbGU/OiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWNjZXB0Pzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3VwcG9ydGVkRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFyaWFMYWJlbEZpbGVOYW1lPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4RmlsZVNpemU/OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXhDb21iaW5lZEZpbGVTaXplPzogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsZUxpbWl0PzogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXJpYUxhYmVsUHJvZ3Jlc3M/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhcmlhTGFiZWxTdWNjZXNzPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXJpYUxhYmVsRXJyb3I/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhcmlhTGFiZWxSZW1vdmU/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtR3JvdXA/OiBGb3JtQ29udHJvbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93RmlsZVVwbG9hZERhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBlcm1pc3Npb25zOiBGaWxlVXBsb2FkUGVybWlzc2lvbnNbXSA9IEFMTF9QRVJNSVNTSU9OUztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBmaWxlcyhmaWxlczogRmlsZUR0b1tdKSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dGaWxlVXBsb2FkRGF0ZSAmJiBmaWxlc1swXT8ub2JqZWN0SWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VXBsb2FkRGF0ZShmaWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZmlsZXMgPSBmaWxlcy5tYXAoKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGZpbGUub2JqZWN0VVJMID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKSk7XG4gICAgICAgICAgICByZXR1cm4gZmlsZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHVwbG9hZEhhbmRsZXI6IEV2ZW50RW1pdHRlcjx7IGZpbGVzOiBGaWxlRHRvW10gfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVtb3ZlRmlsZTogRXZlbnRFbWl0dGVyPHsgZmlsZTogRmlsZSB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjYW5jZWxVcGxvYWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRvd25sb2FkRmlsZTogRXZlbnRFbWl0dGVyPHsgaW5kZXg6IG51bWJlcjsgYW5jaG9yOiBFbGVtZW50UmVmIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHZhbGlkYXRlRXJyb3JzOiBFdmVudEVtaXR0ZXI8VXBsb2FkRXJyb3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBfZmlsZXM6IEZpbGVEdG9bXSA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwdWJsaWMgaXNTbWFsbERldmljZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBpbnB1dFZhbHVlID0gJyc7XG4gICAgcHVibGljIG1vZGlmaWVkRGF0ZT86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnMgPSB0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnMubWFwKChleHRlbnNpb24pID0+XG4gICAgICAgICAgICBleHRlbnNpb24ucmVwbGFjZSgnLicsICcnKS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1VzdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVXN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gICAgcHVibGljIG9uUmVzaXplKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBfb25JbnB1dEZpbGVTZWxlY3QoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBldmVudFRhcmdldEZpbGVzID0gKCRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LmZpbGVzIGFzIEZpbGVMaXN0O1xuICAgICAgICBjb25zdCBkYXRhVHJhbnNmZXJGaWxlcyA9ICgkZXZlbnQgYXMgRHJhZ0V2ZW50KS5kYXRhVHJhbnNmZXI/LmZpbGVzIGFzIEZpbGVMaXN0O1xuICAgICAgICBjb25zdCBmaWxlczogRmlsZUR0b1tdID0gQXJyYXkuZnJvbShkYXRhVHJhbnNmZXJGaWxlcyA/IGRhdGFUcmFuc2ZlckZpbGVzIDogZXZlbnRUYXJnZXRGaWxlcyk7XG4gICAgICAgIHRoaXMub25GaWxlU2VsZWN0KGZpbGVzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25GaWxlU2VsZWN0KGZpbGVzOiBGaWxlRHRvW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3RmlsZXM6IEZpbGVEdG9bXSA9IFtdO1xuXG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNGaWxlTGltaXRFeGNlZWRlZChmaWxlcykpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVFcnJvcnMuZW1pdCh7XG4gICAgICAgICAgICAgICAgZmlsZXMsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogJ21heEZpbGVMaW1pdCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJGaWxlSW5wdXQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRmlsZUNvbWJpbmVkU2l6ZUV4Y2VlZGVkKGZpbGVzKSkge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUVycm9ycy5lbWl0KHtcbiAgICAgICAgICAgICAgICBmaWxlczogZmlsZXMsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogJ21heENvbWJpbmVkRmlsZVNpemUnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyRmlsZUlucHV0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzVW5zdXBwb3J0ZWRGaWxlRXh0ZW5zaW9uKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUVycm9ycy5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgZmlsZXM6IFtmaWxlXSxcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogJ3Vuc3VwcG9ydGVkRXh0ZW5zaW9uJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWxlU2l6ZUV4Y2VlZGVkKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUVycm9ycy5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgZmlsZXM6IFtmaWxlXSxcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogJ21heEZpbGVTaXplJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbmV3RmlsZXMucHVzaChmaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXdGaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLmZpbGVzLmNvbmNhdChuZXdGaWxlcyk7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEhhbmRsZXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgZmlsZXM6IG5ld0ZpbGVzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyRmlsZUlucHV0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVtb3ZlRmlsZShmaWxlOiBGaWxlRHRvKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbGVJbmRleCA9IHRoaXMuZmlsZXMuaW5kZXhPZihmaWxlKTtcbiAgICAgICAgY29uc3QgcmVtb3ZlZEZpbGVzID0gdGhpcy5maWxlcy5zcGxpY2UoZmlsZUluZGV4LCAxKTtcblxuICAgICAgICBpZiAocmVtb3ZlZEZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVGaWxlLmVtaXQoeyBmaWxlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2FuY2VsVXBsb2FkKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlZEZpbGVzID0gdGhpcy5maWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIGlmIChyZW1vdmVkRmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNhbmNlbFVwbG9hZC5lbWl0KGluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xlYXJGaWxlSW5wdXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Eb3dsb2FkRmlsZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLmFuY2hvcikpIHJldHVybjtcblxuICAgICAgICB0aGlzLmRvd25sb2FkRmlsZS5lbWl0KHtcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgYW5jaG9yOiB0aGlzLmFuY2hvcixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWxlcygpOiBGaWxlRHRvW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGZvcm1hdEZpbGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChzaXplID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzAgQnl0ZXMnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGsgPSAxMDI0O1xuICAgICAgICBjb25zdCBzaXplcyA9IFsnYnl0ZXMnLCAnS0InLCAnTUInLCAnR0InLCAnVEInXTtcbiAgICAgICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coc2l6ZSkgLyBNYXRoLmxvZyhrKSk7XG4gICAgICAgIHJldHVybiBwYXJzZUZsb2F0KChzaXplIC8gTWF0aC5wb3coaywgaSkpLnRvRml4ZWQoMikpICsgJyAnICsgc2l6ZXNbaV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIHRoaXMuaXNTbWFsbERldmljZSA9IHdpbmRvd1dpZHRoIDw9IEJyZWFrcG9pbnRzLlNNX01BWDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlsZUxpbWl0RXhjZWVkZWQoZmlsZXM6IEZpbGVEdG9bXSkge1xuICAgICAgICBpZiAoIXRoaXMuZmlsZUxpbWl0KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZXMubGVuZ3RoICsgZmlsZXMubGVuZ3RoID4gdGhpcy5maWxlTGltaXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ZpbGVDb21iaW5lZFNpemVFeGNlZWRlZChmaWxlczogRmlsZVtdKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5tYXhDb21iaW5lZEZpbGVTaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlc0xpc3QgPSBbLi4uZmlsZXMsIC4uLnRoaXMuZmlsZXNdO1xuXG4gICAgICAgIGNvbnN0IGNvbWJpbmVkU2l6ZSA9IGZpbGVzTGlzdC5yZWR1Y2UoKGNvbWJpbmVkU2l6ZSwgZmlsZSkgPT4gY29tYmluZWRTaXplICsgZmlsZS5zaXplLCAwKTtcblxuICAgICAgICByZXR1cm4gY29tYmluZWRTaXplID4gdGhpcy5tYXhDb21iaW5lZEZpbGVTaXplO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGaWxlU2l6ZUV4Y2VlZGVkKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm1heEZpbGVTaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbGUuc2l6ZSA+IHRoaXMubWF4RmlsZVNpemU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1Vuc3VwcG9ydGVkRmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKSB7XG4gICAgICAgIGlmICh0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCkgPz8gJyc7XG5cbiAgICAgICAgICAgIHJldHVybiAhdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zLmluY2x1ZGVzKGV4dGVuc2lvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJGaWxlSW5wdXQoKSB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLmlucHV0VXBsb2FkPy5uYXRpdmVFbGVtZW50KSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaW5wdXRVcGxvYWQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVcGxvYWREYXRlKGJsb2JGaWxlOiBGaWxlRHRvW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFibG9iRmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZVxuICAgICAgICAgICAgLmdldE1ldGFkYXRhQ3VzdG9tRmllbGQoeyBvYmplY3RJZDogYmxvYkZpbGVbMF0ub2JqZWN0SWQgPz8gJycgfSlcbiAgICAgICAgICAgIC50aGVuKChtZXRhZGF0YSkgPT4gdGhpcy5zZXRNb2RpZmllZERhdGUobWV0YWRhdGEpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1vZGlmaWVkRGF0ZShtZXRhZGF0YTogTGlzdEJsb2JNZXRhZGF0YVJlc3BvbnNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhvdXIgPSBtb21lbnQobWV0YWRhdGEubW9kaWZpZWQpLmZvcm1hdCgnSEgnKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IG1vbWVudChtZXRhZGF0YS5tb2RpZmllZCkuZm9ybWF0KCdtbScpO1xuICAgICAgICBjb25zdCBkYXkgPSBtb21lbnQobWV0YWRhdGEubW9kaWZpZWQpLmZvcm1hdCgnREQnKTtcbiAgICAgICAgY29uc3QgbW9udGggPSBtb21lbnQobWV0YWRhdGEubW9kaWZpZWQpLmZvcm1hdCgnTU0nKTtcbiAgICAgICAgY29uc3QgZnVsbFllYXIgPSBtb21lbnQobWV0YWRhdGEubW9kaWZpZWQpLmZvcm1hdCgnWVlZWScpO1xuXG4gICAgICAgIHRoaXMubW9kaWZpZWREYXRlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmRhdGVfbW9kaWZpZWRfY3VzdG9tX2Jsb2InLCB7XG4gICAgICAgICAgICBob3VyLFxuICAgICAgICAgICAgbWludXRlcyxcbiAgICAgICAgICAgIGRheSxcbiAgICAgICAgICAgIG1vbnRoLFxuICAgICAgICAgICAgZnVsbFllYXIsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuIiwiPGRpdlxuICAgIFtpZF09XCJpZFwiXG4gICAgY2xhc3M9XCJzLWZpbGV1cGxvYWRcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJzLWZpbGV1cGxvYWQtY2hvb3NlXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0VXBsb2FkXG4gICAgICAgICAgICBbaWRdPVwiaWQgKyAnaW5wdXQtdXBsb2FkJ1wiXG4gICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICBuYW1lPVwiZmlsZVwiXG4gICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJfb25JbnB1dEZpbGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICAgIEBpZiAocGVybWlzc2lvbnMuaW5jbHVkZXMoQUREX1BFUk1JU1NJT04pKSB7XG4gICAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAndXBsb2FkLWJ1dHRvbidcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjaG9vc2VMYWJlbCB8fCAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmF0dGFjaF9maWxlcycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImlucHV0VXBsb2FkLmNsaWNrKClcIlxuICAgICAgICAgICAgICAgIHByaW9yaXR5PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8ICEhZm9ybUdyb3VwPy5kaXNhYmxlZCB8fCBmaWxlTGltaXQgPT09IGZpbGVzLmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgW2F1eGlsaWFyeV09XCJmYWxzZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGZpbGVzLmxlbmd0aCkge1xuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgICAgW2lkXT1cImlkICsgJ2ZpbGV1cGxvYWQtbGlzdCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJzLWZpbGV1cGxvYWQtbGlzdFwiXG4gICAgICAgICAgICByb2xlPVwiZ3JpZFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKGZpbGUgb2YgZmlsZXM7IHRyYWNrIGZpbGU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtZmlsZXVwbG9hZC1saXN0LWZpbGVcIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwicm93XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctZmlsZS0nICsgaSArICctbmFtZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtZ3JvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHRleHQtbm93cmFwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGVybWlzc2lvbnMuaW5jbHVkZXMoUkVBRF9QRVJNSVNTSU9OKSAmJiBmaWxlLnNhdmVkRmlsZSkgfHwgZmlsZS5wcm9ncmVzcyA9PT0gMTAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGRlc2NyaXB0aW9uVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGRlc2NyaXB0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZm9ybWF0RmlsZVNpemUoZmlsZS5zaXplKSB9fTwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChtb2RpZmllZERhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInMtZmlsZXVwbG9hZC1saXN0LWZpbGUtbmFtZS1kYXRlXCI+e3sgbW9kaWZpZWREYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzLWZpbGV1cGxvYWQtbGlzdC1maWxlLXN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ3JpZGNlbGxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZpbGUuaXNVcGxvYWRpbmcgJiYgIWlzU21hbGxEZXZpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy02NFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cy1wcm9ncmVzc2JhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZpbGUucHJvZ3Jlc3MgPz8gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1ZhbHVlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNvbG9yPVwiYmx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3MtcHJvZ3Jlc3NiYXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZmlsZS5pc1VwbG9hZGluZyAmJiBpc1NtYWxsRGV2aWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1maWxlLScgKyBpICsgJy1zcGluJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS1ub3RjaCBmYS1zcGluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbFByb2dyZXNzIHx8ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubG9hZGluZ19maWxlJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpbGUuaXNVcGxvYWRpbmcgJiYgIWZpbGUuZXJyb3IgJiYgZmlsZS5wcm9ncmVzcyA9PT0gMTAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1maWxlLScgKyBpICsgJy1jaGVjaydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1jaGVja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWxTdWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc1Rvb2x0aXAgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmZpbGVfYXR0YWNoZWRfc3VjY2Vzc2Z1bGx5JyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzVG9vbHRpcCB8fCAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmZpbGVfYXR0YWNoZWRfc3VjY2Vzc2Z1bGx5J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZmlsZS5lcnJvcj8ubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctZmlsZS0nICsgaSArICctZXJyb3InXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtdGltZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYWxlcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiZmlsZS5lcnJvcj8ubWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtZmlsZXVwbG9hZC1saXN0LWZpbGUtYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ3JpZGNlbGxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZpbGUuaXNVcGxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLWZpbGUtJyArIGkgKyAnLWNhbmNlbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtZmlsZXVwbG9hZC1saXN0LWZpbGUtYWN0aW9ucy1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWxVcGxvYWQoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY2FuY2VsTGFiZWwgfHwgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zLmluY2x1ZGVzKFJFTU9WRV9QRVJNSVNTSU9OKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFmaWxlLmlzVXBsb2FkaW5nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIShkaXNhYmxlZCB8fCAhIWZvcm1Hcm91cD8uZGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1maWxlLScgKyBpICsgJy1yZW1vdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzLWZpbGV1cGxvYWQtbGlzdC1maWxlLWFjdGlvbnMtYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVtb3ZlRmlsZShmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWxSZW1vdmUgfHwgcmVtb3ZlTGFiZWwgfHwgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmUnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyByZW1vdmVMYWJlbCB8fCAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNkZXNjcmlwdGlvblVybFxuICAgIGxldC1maWxlXG4gICAgbGV0LWk9XCJpbmRleFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctZmlsZS0nICsgaSArICctbmFtZS1saW5rJ1wiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Eb3dsb2FkRmlsZShpKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxGaWxlTmFtZSB8fCBmaWxlLm5hbWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnJlYWstd29yZHNcIlxuICAgICAgICAgICAgICAgID57eyBmaWxlLm5hbWUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBub25lXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJmaWxlLm9iamVjdFVSTFwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICBkb3dubG9hZFxuICAgICAgICAgICAgICAgICNhbmNob3JcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjZGVzY3JpcHRpb25cbiAgICBsZXQtZmlsZVxuPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsRmlsZU5hbWUgfHwgZmlsZS5uYW1lXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgZmlsZS5uYW1lIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { Component } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@seniorsistemas/angular-components/common";
4
- import * as i2 from "@ngx-translate/core";
5
- export class IAInsightCardLoaderComponent {
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IAInsightCardLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IAInsightCardLoaderComponent, selector: "s-ia-insight-card-loader", ngImport: i0, template: "<div class=\"ia-insight-card-loader\">\n <div class=\"loader\">\n <div class=\"loader-icon\">\n <div *sSVGFactory=\"'iassist'\"></div>\n </div>\n </div>\n \n <span class=\"loader-label\">{{ \"platform.angular_components.loading_insight\" | translate }}</span>\n</div>\n", styles: [".ia-insight-card-loader{align-items:center;display:flex;flex-direction:column;gap:24px}.ia-insight-card-loader .loader{align-items:center;animation:spin 2s linear infinite;border:2px solid #f1f7f8;border-top:2px solid #0fa389;border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.ia-insight-card-loader .loader .loader-icon{animation:spin 2s linear infinite reverse;height:32px;transform:translate(-50%,-50%)}.ia-insight-card-loader .loader-label{color:#888b99;font-family:Open Sans,sans-serif;font-size:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.SVGFactoryDirective, selector: "[sSVGFactory]", inputs: ["sSVGFactory"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IAInsightCardLoaderComponent, decorators: [{
10
- type: Component,
11
- args: [{ selector: "s-ia-insight-card-loader", template: "<div class=\"ia-insight-card-loader\">\n <div class=\"loader\">\n <div class=\"loader-icon\">\n <div *sSVGFactory=\"'iassist'\"></div>\n </div>\n </div>\n \n <span class=\"loader-label\">{{ \"platform.angular_components.loading_insight\" | translate }}</span>\n</div>\n", styles: [".ia-insight-card-loader{align-items:center;display:flex;flex-direction:column;gap:24px}.ia-insight-card-loader .loader{align-items:center;animation:spin 2s linear infinite;border:2px solid #f1f7f8;border-top:2px solid #0fa389;border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.ia-insight-card-loader .loader .loader-icon{animation:spin 2s linear infinite reverse;height:32px;transform:translate(-50%,-50%)}.ia-insight-card-loader .loader-label{color:#888b99;font-family:Open Sans,sans-serif;font-size:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
12
- }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWEtaW5zaWdodC1jYXJkLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvaWEtaW5zaWdodC9zcmMvbGliL2lhLWluc2lnaHQvY29tcG9uZW50cy9pYS1pbnNpZ2h0LWNhcmQvY29tcG9uZW50cy9pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyL2lhLWluc2lnaHQtY2FyZC1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2lhLWluc2lnaHQvc3JjL2xpYi9pYS1pbnNpZ2h0L2NvbXBvbmVudHMvaWEtaW5zaWdodC1jYXJkL2NvbXBvbmVudHMvaWEtaW5zaWdodC1jYXJkLWxvYWRlci9pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPMUMsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsZ0VDUHpDLHdUQVNBOzs0RkRGYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2lhLWluc2lnaHQtY2FyZC1sb2FkZXIuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIElBSW5zaWdodENhcmRMb2FkZXJDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJpYS1pbnNpZ2h0LWNhcmQtbG9hZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImxvYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGVyLWljb25cIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpzU1ZHRmFjdG9yeT1cIidpYXNzaXN0J1wiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8c3BhbiBjbGFzcz1cImxvYWRlci1sYWJlbFwiPnt7IFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmxvYWRpbmdfaW5zaWdodFwiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuPC9kaXY+XG4iXX0=