@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
@@ -0,0 +1,361 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, EventEmitter, Component, ViewChild, Input, Output, HostListener, NgModule } from '@angular/core';
3
+ import * as i4 from '@seniorsistemas/angular-components/common/deprecated-selector';
4
+ import { DEPRECATED_CONFIG, DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';
5
+ import { isNullOrUndefined, Breakpoints } from '@seniorsistemas/angular-components/utils';
6
+ import moment from 'moment';
7
+ import { Subject } from 'rxjs';
8
+ import * as i1 from '@angular/platform-browser';
9
+ import { CustomHttpClient } from '@seniorsistemas/angular-components/common';
10
+ import * as i3 from '@ngx-translate/core';
11
+ import { TranslateModule } from '@ngx-translate/core';
12
+ import * as i5 from '@angular/common';
13
+ import { CommonModule } from '@angular/common';
14
+ import * as i6 from '@seniorsistemas/angular-components/button';
15
+ import { ButtonModule } from '@seniorsistemas/angular-components/button';
16
+ import * as i7 from 'primeng/tooltip';
17
+ import { TooltipModule } from 'primeng/tooltip';
18
+ import * as i8 from '@seniorsistemas/angular-components/progressbar';
19
+ import { ProgressBarModule } from '@seniorsistemas/angular-components/progressbar';
20
+ import { LocaleModule } from '@seniorsistemas/angular-components/locale';
21
+
22
+ const ALL_PERMISSIONS = ['add', 'read', 'remove'];
23
+
24
+ class FilePickerService {
25
+ BASE_URL_FIELD_CUSTOMIZATION = 'platform/field_customization';
26
+ TOKEN = new AbortController();
27
+ async getMetadataCustomField(request) {
28
+ return CustomHttpClient.post(`${this.BASE_URL_FIELD_CUSTOMIZATION}/queries/getFileMetadata`, request, {
29
+ signal: this.TOKEN.signal,
30
+ });
31
+ }
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
33
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerService });
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerService, decorators: [{
36
+ type: Injectable
37
+ }] });
38
+
39
+ class FilePickerComponent {
40
+ sanitizer;
41
+ filePickerService;
42
+ translate;
43
+ static nextId = 0;
44
+ ADD_PERMISSION = 'add';
45
+ READ_PERMISSION = 'read';
46
+ REMOVE_PERMISSION = 'remove';
47
+ inputUpload = null;
48
+ anchor = null;
49
+ id = `s-file-picker-${FilePickerComponent.nextId++}`;
50
+ chooseLabel;
51
+ removeLabel;
52
+ cancelLabel;
53
+ successTooltip;
54
+ multiple;
55
+ accept;
56
+ supportedExtensions = [];
57
+ ariaLabelFileName;
58
+ maxFileSize;
59
+ maxCombinedFileSize;
60
+ fileLimit;
61
+ ariaLabelProgress;
62
+ ariaLabelSuccess;
63
+ ariaLabelError;
64
+ ariaLabelRemove;
65
+ formControl;
66
+ disabled = false;
67
+ showFileUploadDate = false;
68
+ permissions = ALL_PERMISSIONS;
69
+ set files(files) {
70
+ if (!files || files?.length === 0) {
71
+ this._files = [];
72
+ return;
73
+ }
74
+ if (this.showFileUploadDate && files[0]?.objectId) {
75
+ this.getUploadDate(files);
76
+ }
77
+ this._files = files.map((file) => {
78
+ file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(file));
79
+ return file;
80
+ });
81
+ }
82
+ uploadHandler = new EventEmitter();
83
+ removeFile = new EventEmitter();
84
+ cancelUpload = new EventEmitter();
85
+ downloadFile = new EventEmitter();
86
+ validateErrors = new EventEmitter();
87
+ _files = [];
88
+ ngUsubscribe = new Subject();
89
+ isSmallDevice = false;
90
+ inputValue = '';
91
+ modifiedDate;
92
+ constructor(sanitizer, filePickerService, translate) {
93
+ this.sanitizer = sanitizer;
94
+ this.filePickerService = filePickerService;
95
+ this.translate = translate;
96
+ }
97
+ ngOnInit() {
98
+ this.supportedExtensions = this.supportedExtensions.map((extension) => extension.replace('.', '').toLowerCase());
99
+ }
100
+ ngOnDestroy() {
101
+ this.ngUsubscribe.next();
102
+ this.ngUsubscribe.complete();
103
+ }
104
+ ngAfterContentInit() {
105
+ this.update();
106
+ }
107
+ onResize() {
108
+ this.update();
109
+ }
110
+ _onInputFileSelect($event) {
111
+ const eventTargetFiles = $event.target?.files;
112
+ const dataTransferFiles = $event.dataTransfer?.files;
113
+ const files = Array.from(dataTransferFiles ? dataTransferFiles : eventTargetFiles);
114
+ this.onFileSelect(files);
115
+ }
116
+ onFileSelect(files) {
117
+ const newFiles = [];
118
+ if (!this.multiple) {
119
+ this.files = [];
120
+ }
121
+ if (this.isFileLimitExceeded(files)) {
122
+ this.validateErrors.emit({
123
+ files,
124
+ validation: 'maxFileLimit',
125
+ });
126
+ this.clearFileInput();
127
+ return;
128
+ }
129
+ if (this.isFileCombinedSizeExceeded(files)) {
130
+ this.validateErrors.emit({
131
+ files: files,
132
+ validation: 'maxCombinedFileSize',
133
+ });
134
+ this.clearFileInput();
135
+ return;
136
+ }
137
+ for (const file of files) {
138
+ if (this.isUnsupportedFileExtension(file)) {
139
+ this.validateErrors.emit({
140
+ files: [file],
141
+ validation: 'unsupportedExtension',
142
+ });
143
+ continue;
144
+ }
145
+ if (this.isFileSizeExceeded(file)) {
146
+ this.validateErrors.emit({
147
+ files: [file],
148
+ validation: 'maxFileSize',
149
+ });
150
+ continue;
151
+ }
152
+ newFiles.push(file);
153
+ }
154
+ if (newFiles.length) {
155
+ this.files = this.files.concat(newFiles);
156
+ this.uploadHandler.emit({
157
+ files: newFiles,
158
+ });
159
+ }
160
+ this.clearFileInput();
161
+ }
162
+ onRemoveFile(file) {
163
+ const fileIndex = this.files.indexOf(file);
164
+ const removedFiles = this.files.splice(fileIndex, 1);
165
+ if (removedFiles.length) {
166
+ this.removeFile.emit({ file });
167
+ }
168
+ }
169
+ onCancelUpload(index) {
170
+ const removedFiles = this.files.splice(index, 1);
171
+ if (removedFiles.length) {
172
+ this.cancelUpload.emit(index);
173
+ }
174
+ this.clearFileInput();
175
+ }
176
+ onDowloadFile(index) {
177
+ if (isNullOrUndefined(this.anchor))
178
+ return;
179
+ this.downloadFile.emit({
180
+ index,
181
+ anchor: this.anchor,
182
+ });
183
+ }
184
+ get files() {
185
+ return this._files;
186
+ }
187
+ formatFileSize(size) {
188
+ if (size === 0) {
189
+ return '0 Bytes';
190
+ }
191
+ const k = 1024;
192
+ const sizes = ['bytes', 'KB', 'MB', 'GB', 'TB'];
193
+ const i = Math.floor(Math.log(size) / Math.log(k));
194
+ return parseFloat((size / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
195
+ }
196
+ update() {
197
+ const windowWidth = window.innerWidth;
198
+ this.isSmallDevice = windowWidth <= Breakpoints.SM_MAX;
199
+ }
200
+ isFileLimitExceeded(files) {
201
+ if (!this.fileLimit) {
202
+ return false;
203
+ }
204
+ return this.files.length + files.length > this.fileLimit;
205
+ }
206
+ isFileCombinedSizeExceeded(files) {
207
+ if (!this.maxCombinedFileSize) {
208
+ return false;
209
+ }
210
+ const filesList = [...files, ...this.files];
211
+ const combinedSize = filesList.reduce((combinedSize, file) => combinedSize + file.size, 0);
212
+ return combinedSize > this.maxCombinedFileSize;
213
+ }
214
+ isFileSizeExceeded(file) {
215
+ if (!this.maxFileSize) {
216
+ return false;
217
+ }
218
+ return file.size > this.maxFileSize;
219
+ }
220
+ isUnsupportedFileExtension(file) {
221
+ if (this.supportedExtensions?.length) {
222
+ const extension = file.name.split('.').pop()?.toLowerCase() ?? '';
223
+ return !this.supportedExtensions.includes(extension);
224
+ }
225
+ return false;
226
+ }
227
+ clearFileInput() {
228
+ if (isNullOrUndefined(this.inputUpload?.nativeElement))
229
+ return;
230
+ this.inputUpload.nativeElement.value = null;
231
+ }
232
+ getUploadDate(blobFile) {
233
+ if (!blobFile) {
234
+ return;
235
+ }
236
+ this.filePickerService
237
+ .getMetadataCustomField({ objectId: blobFile[0].objectId ?? '' })
238
+ .then((metadata) => this.setModifiedDate(metadata));
239
+ }
240
+ setModifiedDate(metadata) {
241
+ const hour = moment(metadata.modified).format('HH');
242
+ const minutes = moment(metadata.modified).format('mm');
243
+ const day = moment(metadata.modified).format('DD');
244
+ const month = moment(metadata.modified).format('MM');
245
+ const fullYear = moment(metadata.modified).format('YYYY');
246
+ this.modifiedDate = this.translate.instant('platform.angular_components.date_modified_custom_blob', {
247
+ hour,
248
+ minutes,
249
+ day,
250
+ month,
251
+ fullYear,
252
+ });
253
+ }
254
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerComponent, deps: [{ token: i1.DomSanitizer }, { token: FilePickerService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
255
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilePickerComponent, selector: "s-file-picker, 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", formControl: "formControl", disabled: "disabled", showFileUploadDate: "showFileUploadDate", permissions: "permissions", files: "files" }, outputs: { uploadHandler: "uploadHandler", removeFile: "removeFile", cancelUpload: "cancelUpload", downloadFile: "downloadFile", validateErrors: "validateErrors" }, host: { listeners: { "window:resize": "onResize()" } }, providers: [
256
+ {
257
+ provide: DEPRECATED_CONFIG,
258
+ useValue: {
259
+ oldSelector: 's-file-upload',
260
+ newSelector: 's-file-picker',
261
+ removalVersion: '20.0.0',
262
+ },
263
+ },
264
+ ], viewQueries: [{ propertyName: "inputUpload", first: true, predicate: ["inputUpload"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true }], hostDirectives: [{ directive: i4.DeprecatedSelectorDirective }], ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"file-picker\"\n>\n <div class=\"file-picker-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 || !!formControl?.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=\"file-picker-list\"\n role=\"grid\"\n >\n @for (file of files; track file; let i = $index) {\n <div\n class=\"file-picker-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=\"file-picker-list-file-name-date\">{{ modifiedDate }}</span>\n }\n </div>\n <div\n class=\"file-picker-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=\"file-picker-list-file-actions\"\n role=\"gridcell\"\n >\n @if (file.isUploading) {\n <a\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"file-picker-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 || !!formControl?.disabled)\n ) {\n <a\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"file-picker-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: [".file-picker .file-picker-choose{position:relative;margin:15px 0;width:max-content}.file-picker input[type=file]{display:none}.file-picker-list{border:1px solid #ccc}.file-picker-list-file:not(:first-child){border-top:1px solid #ccc}.file-picker-list .file-picker-list-file{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:15px}.file-picker-list .file-picker-list-file .file-picker-list-file-name{display:flex;flex-direction:column;align-self:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-picker-list .file-picker-list-file .file-picker-list-file-name .file-picker-list-file-name-date{font-size:.75rem;color:#999}.file-picker-list .file-picker-list-file .file-picker-list-file-name>a{cursor:pointer;text-decoration:none}.file-picker-list .file-picker-list-file .file-picker-list-file-status{align-self:center}.file-picker-list .file-picker-list-file .fas.fa-circle-notch{color:#d8d8d8;font-size:12px}.file-picker-list .file-picker-list-file .fas.fa-check{color:#0c9348;font-size:12px}.file-picker-list .file-picker-list-file .fas.fa-times{color:#c13018;font-size:12px}.file-picker-list .file-picker-list-file .file-picker-list-file-actions{margin-top:15px;align-self:center;width:100%}.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action{text-decoration:none;color:#428bca}.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action:hover,.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action :focus,.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action :visited{text-decoration:none}@media (min-width: 768px){.file-picker-list .file-picker-list-file{flex-wrap:nowrap}.file-picker-list .file-picker-list-file .file-picker-list-file-name{width:auto;flex-grow:2}.file-picker-list .file-picker-list-file .file-picker-list-file-status{margin:0 15px}.file-picker-list .file-picker-list-file .file-picker-list-file-actions{margin:0;width:auto}}\n"], dependencies: [{ kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.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: i7.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: i8.ProgressBarComponent, selector: "s-progressbar", inputs: ["value", "activeColor", "numberFormatOptions", "targetValue", "label", "targetLabel", "showValue", "mode"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
265
+ }
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerComponent, decorators: [{
267
+ type: Component,
268
+ args: [{ selector: 's-file-picker, s-file-upload', hostDirectives: [DeprecatedSelectorDirective], providers: [
269
+ {
270
+ provide: DEPRECATED_CONFIG,
271
+ useValue: {
272
+ oldSelector: 's-file-upload',
273
+ newSelector: 's-file-picker',
274
+ removalVersion: '20.0.0',
275
+ },
276
+ },
277
+ ], template: "<div\n [id]=\"id\"\n class=\"file-picker\"\n>\n <div class=\"file-picker-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 || !!formControl?.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=\"file-picker-list\"\n role=\"grid\"\n >\n @for (file of files; track file; let i = $index) {\n <div\n class=\"file-picker-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=\"file-picker-list-file-name-date\">{{ modifiedDate }}</span>\n }\n </div>\n <div\n class=\"file-picker-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=\"file-picker-list-file-actions\"\n role=\"gridcell\"\n >\n @if (file.isUploading) {\n <a\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"file-picker-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 || !!formControl?.disabled)\n ) {\n <a\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"file-picker-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: [".file-picker .file-picker-choose{position:relative;margin:15px 0;width:max-content}.file-picker input[type=file]{display:none}.file-picker-list{border:1px solid #ccc}.file-picker-list-file:not(:first-child){border-top:1px solid #ccc}.file-picker-list .file-picker-list-file{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:15px}.file-picker-list .file-picker-list-file .file-picker-list-file-name{display:flex;flex-direction:column;align-self:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-picker-list .file-picker-list-file .file-picker-list-file-name .file-picker-list-file-name-date{font-size:.75rem;color:#999}.file-picker-list .file-picker-list-file .file-picker-list-file-name>a{cursor:pointer;text-decoration:none}.file-picker-list .file-picker-list-file .file-picker-list-file-status{align-self:center}.file-picker-list .file-picker-list-file .fas.fa-circle-notch{color:#d8d8d8;font-size:12px}.file-picker-list .file-picker-list-file .fas.fa-check{color:#0c9348;font-size:12px}.file-picker-list .file-picker-list-file .fas.fa-times{color:#c13018;font-size:12px}.file-picker-list .file-picker-list-file .file-picker-list-file-actions{margin-top:15px;align-self:center;width:100%}.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action{text-decoration:none;color:#428bca}.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action:hover,.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action :focus,.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action :visited{text-decoration:none}@media (min-width: 768px){.file-picker-list .file-picker-list-file{flex-wrap:nowrap}.file-picker-list .file-picker-list-file .file-picker-list-file-name{width:auto;flex-grow:2}.file-picker-list .file-picker-list-file .file-picker-list-file-status{margin:0 15px}.file-picker-list .file-picker-list-file .file-picker-list-file-actions{margin:0;width:auto}}\n"] }]
278
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: FilePickerService }, { type: i3.TranslateService }], propDecorators: { inputUpload: [{
279
+ type: ViewChild,
280
+ args: ['inputUpload', { static: false }]
281
+ }], anchor: [{
282
+ type: ViewChild,
283
+ args: ['anchor', { static: false }]
284
+ }], id: [{
285
+ type: Input
286
+ }], chooseLabel: [{
287
+ type: Input
288
+ }], removeLabel: [{
289
+ type: Input
290
+ }], cancelLabel: [{
291
+ type: Input
292
+ }], successTooltip: [{
293
+ type: Input
294
+ }], multiple: [{
295
+ type: Input
296
+ }], accept: [{
297
+ type: Input
298
+ }], supportedExtensions: [{
299
+ type: Input
300
+ }], ariaLabelFileName: [{
301
+ type: Input
302
+ }], maxFileSize: [{
303
+ type: Input
304
+ }], maxCombinedFileSize: [{
305
+ type: Input
306
+ }], fileLimit: [{
307
+ type: Input
308
+ }], ariaLabelProgress: [{
309
+ type: Input
310
+ }], ariaLabelSuccess: [{
311
+ type: Input
312
+ }], ariaLabelError: [{
313
+ type: Input
314
+ }], ariaLabelRemove: [{
315
+ type: Input
316
+ }], formControl: [{
317
+ type: Input
318
+ }], disabled: [{
319
+ type: Input
320
+ }], showFileUploadDate: [{
321
+ type: Input
322
+ }], permissions: [{
323
+ type: Input
324
+ }], files: [{
325
+ type: Input
326
+ }], uploadHandler: [{
327
+ type: Output
328
+ }], removeFile: [{
329
+ type: Output
330
+ }], cancelUpload: [{
331
+ type: Output
332
+ }], downloadFile: [{
333
+ type: Output
334
+ }], validateErrors: [{
335
+ type: Output
336
+ }], onResize: [{
337
+ type: HostListener,
338
+ args: ['window:resize']
339
+ }] } });
340
+
341
+ class FilePickerModule {
342
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
343
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FilePickerModule, declarations: [FilePickerComponent], imports: [CommonModule, ButtonModule, TooltipModule, ProgressBarModule, TranslateModule, LocaleModule], exports: [FilePickerComponent] });
344
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerModule, providers: [FilePickerService], imports: [CommonModule, ButtonModule, TooltipModule, ProgressBarModule, TranslateModule, LocaleModule] });
345
+ }
346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerModule, decorators: [{
347
+ type: NgModule,
348
+ args: [{
349
+ declarations: [FilePickerComponent],
350
+ imports: [CommonModule, ButtonModule, TooltipModule, ProgressBarModule, TranslateModule, LocaleModule],
351
+ providers: [FilePickerService],
352
+ exports: [FilePickerComponent],
353
+ }]
354
+ }] });
355
+
356
+ /**
357
+ * Generated bundle index. Do not edit.
358
+ */
359
+
360
+ export { FilePickerComponent, FilePickerModule, FilePickerService };
361
+ //# sourceMappingURL=seniorsistemas-angular-components-file-picker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seniorsistemas-angular-components-file-picker.mjs","sources":["../../projects/angular-components/file-picker/src/lib/file-picker/models/file-picker-permissions.ts","../../projects/angular-components/file-picker/src/lib/file-picker/file-picker.service.ts","../../projects/angular-components/file-picker/src/lib/file-picker/file-picker.component.ts","../../projects/angular-components/file-picker/src/lib/file-picker/file-picker.component.html","../../projects/angular-components/file-picker/src/lib/file-picker/file-picker.module.ts","../../projects/angular-components/file-picker/src/seniorsistemas-angular-components-file-picker.ts"],"sourcesContent":["export type FilePickerPermissions = 'add' | 'read' | 'remove';\n\nexport const ALL_PERMISSIONS: FilePickerPermissions[] = ['add', 'read', 'remove'];\n","import { Injectable } from '@angular/core';\n\nimport { CustomHttpClient } from '@seniorsistemas/angular-components/common';\n\nimport { ListBlobMetadataRequest, ListBlobMetadataResponse } from './models/list-blob-metadata';\n\n@Injectable()\nexport class FilePickerService {\n private BASE_URL_FIELD_CUSTOMIZATION = 'platform/field_customization';\n private TOKEN = new AbortController();\n\n public async getMetadataCustomField<T>(request: ListBlobMetadataRequest): Promise<ListBlobMetadataResponse> {\n return CustomHttpClient.post(`${this.BASE_URL_FIELD_CUSTOMIZATION}/queries/getFileMetadata`, request, {\n signal: this.TOKEN.signal,\n });\n }\n}\n","import {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport { DEPRECATED_CONFIG } from '@seniorsistemas/angular-components/common/deprecated-selector';\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\nimport { Breakpoints, isNullOrUndefined } from '@seniorsistemas/angular-components/utils';\nimport moment from 'moment';\nimport { Subject } from 'rxjs';\n\nimport { FilePickerService } from './file-picker.service';\nimport { FileDto } from './models/file-dto';\nimport { ALL_PERMISSIONS, FilePickerPermissions } from './models/file-picker-permissions';\nimport { ListBlobMetadataResponse } from './models/list-blob-metadata';\nimport { UploadError } from './models/uploadError';\n\n@Component({\n selector: 's-file-picker, s-file-upload',\n templateUrl: './file-picker.component.html',\n styleUrls: ['./file-picker.component.scss'],\n hostDirectives: [DeprecatedSelectorDirective],\n providers: [\n {\n provide: DEPRECATED_CONFIG,\n useValue: {\n oldSelector: 's-file-upload',\n newSelector: 's-file-picker',\n removalVersion: '20.0.0',\n },\n },\n ],\n})\nexport class FilePickerComponent implements OnInit, OnDestroy, AfterContentInit {\n public static nextId = 0;\n\n public ADD_PERMISSION: FilePickerPermissions = 'add';\n public READ_PERMISSION: FilePickerPermissions = 'read';\n public REMOVE_PERMISSION: FilePickerPermissions = 'remove';\n\n @ViewChild('inputUpload', { static: false })\n private readonly inputUpload: ElementRef | null = null;\n\n @ViewChild('anchor', { static: false })\n private readonly anchor: ElementRef | null = null;\n\n @Input()\n public id = `s-file-picker-${FilePickerComponent.nextId++}`;\n\n @Input()\n public chooseLabel?: string;\n\n @Input()\n public removeLabel?: string;\n\n @Input()\n public cancelLabel?: string;\n\n @Input()\n public successTooltip?: string;\n\n @Input()\n public multiple?: boolean;\n\n @Input()\n public accept?: string;\n\n @Input()\n public supportedExtensions: string[] = [];\n\n @Input()\n public ariaLabelFileName?: string;\n\n @Input()\n public maxFileSize?: number;\n\n @Input()\n public maxCombinedFileSize?: number;\n\n @Input()\n public fileLimit?: number;\n\n @Input()\n public ariaLabelProgress?: string;\n\n @Input()\n public ariaLabelSuccess?: string;\n\n @Input()\n public ariaLabelError?: string;\n\n @Input()\n public ariaLabelRemove?: string;\n\n @Input()\n public formControl?: FormControl;\n\n @Input()\n public disabled = false;\n\n @Input()\n public showFileUploadDate: boolean = false;\n\n @Input()\n public permissions: FilePickerPermissions[] = ALL_PERMISSIONS;\n\n @Input()\n public set files(files: FileDto[]) {\n if (!files || files?.length === 0) {\n this._files = [];\n return;\n }\n if (this.showFileUploadDate && files[0]?.objectId) {\n this.getUploadDate(files);\n }\n this._files = files.map((file) => {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(file));\n return file;\n });\n }\n\n @Output()\n public uploadHandler: EventEmitter<{ files: FileDto[] }> = new EventEmitter();\n\n @Output()\n public removeFile: EventEmitter<{ file: File }> = new EventEmitter();\n\n @Output()\n public cancelUpload: EventEmitter<number> = new EventEmitter();\n\n @Output()\n public downloadFile: EventEmitter<{ index: number; anchor: ElementRef }> = new EventEmitter();\n\n @Output()\n public validateErrors: EventEmitter<UploadError> = new EventEmitter();\n\n private _files: FileDto[] = [];\n private readonly ngUsubscribe: Subject<void> = new Subject();\n public isSmallDevice = false;\n public inputValue = '';\n public modifiedDate?: string;\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n private readonly filePickerService: FilePickerService,\n private readonly translate: TranslateService,\n ) {}\n\n public ngOnInit(): void {\n this.supportedExtensions = this.supportedExtensions.map((extension) =>\n extension.replace('.', '').toLowerCase(),\n );\n }\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n @HostListener('window:resize')\n public onResize() {\n this.update();\n }\n\n public _onInputFileSelect($event: Event): void {\n const eventTargetFiles = ($event.target as HTMLInputElement)?.files as FileList;\n const dataTransferFiles = ($event as DragEvent).dataTransfer?.files as FileList;\n const files: FileDto[] = Array.from(dataTransferFiles ? dataTransferFiles : eventTargetFiles);\n this.onFileSelect(files);\n }\n\n public onFileSelect(files: FileDto[]): void {\n const newFiles: FileDto[] = [];\n\n if (!this.multiple) {\n this.files = [];\n }\n\n if (this.isFileLimitExceeded(files)) {\n this.validateErrors.emit({\n files,\n validation: 'maxFileLimit',\n });\n this.clearFileInput();\n return;\n }\n\n if (this.isFileCombinedSizeExceeded(files)) {\n this.validateErrors.emit({\n files: files,\n validation: 'maxCombinedFileSize',\n });\n this.clearFileInput();\n return;\n }\n\n for (const file of files) {\n if (this.isUnsupportedFileExtension(file)) {\n this.validateErrors.emit({\n files: [file],\n validation: 'unsupportedExtension',\n });\n continue;\n }\n\n if (this.isFileSizeExceeded(file)) {\n this.validateErrors.emit({\n files: [file],\n validation: 'maxFileSize',\n });\n continue;\n }\n\n newFiles.push(file);\n }\n\n if (newFiles.length) {\n this.files = this.files.concat(newFiles);\n this.uploadHandler.emit({\n files: newFiles,\n });\n }\n\n this.clearFileInput();\n }\n\n public onRemoveFile(file: FileDto): void {\n const fileIndex = this.files.indexOf(file);\n const removedFiles = this.files.splice(fileIndex, 1);\n\n if (removedFiles.length) {\n this.removeFile.emit({ file });\n }\n }\n\n public onCancelUpload(index: number) {\n const removedFiles = this.files.splice(index, 1);\n\n if (removedFiles.length) {\n this.cancelUpload.emit(index);\n }\n\n this.clearFileInput();\n }\n\n public onDowloadFile(index: number) {\n if (isNullOrUndefined(this.anchor)) return;\n\n this.downloadFile.emit({\n index,\n anchor: this.anchor,\n });\n }\n\n public get files(): FileDto[] {\n return this._files;\n }\n\n public formatFileSize(size: number): string {\n if (size === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const sizes = ['bytes', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(size) / Math.log(k));\n return parseFloat((size / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n }\n\n private update() {\n const windowWidth = window.innerWidth;\n this.isSmallDevice = windowWidth <= Breakpoints.SM_MAX;\n }\n\n private isFileLimitExceeded(files: FileDto[]) {\n if (!this.fileLimit) {\n return false;\n }\n return this.files.length + files.length > this.fileLimit;\n }\n\n private isFileCombinedSizeExceeded(files: File[]): boolean {\n if (!this.maxCombinedFileSize) {\n return false;\n }\n\n const filesList = [...files, ...this.files];\n\n const combinedSize = filesList.reduce((combinedSize, file) => combinedSize + file.size, 0);\n\n return combinedSize > this.maxCombinedFileSize;\n }\n\n private isFileSizeExceeded(file: File): boolean {\n if (!this.maxFileSize) {\n return false;\n }\n return file.size > this.maxFileSize;\n }\n\n private isUnsupportedFileExtension(file: File) {\n if (this.supportedExtensions?.length) {\n const extension = file.name.split('.').pop()?.toLowerCase() ?? '';\n\n return !this.supportedExtensions.includes(extension);\n }\n return false;\n }\n\n private clearFileInput() {\n if (isNullOrUndefined(this.inputUpload?.nativeElement)) return;\n\n this.inputUpload.nativeElement.value = null;\n }\n\n private getUploadDate(blobFile: FileDto[]): void {\n if (!blobFile) {\n return;\n }\n\n this.filePickerService\n .getMetadataCustomField({ objectId: blobFile[0].objectId ?? '' })\n .then((metadata) => this.setModifiedDate(metadata));\n }\n\n private setModifiedDate(metadata: ListBlobMetadataResponse): void {\n const hour = moment(metadata.modified).format('HH');\n const minutes = moment(metadata.modified).format('mm');\n const day = moment(metadata.modified).format('DD');\n const month = moment(metadata.modified).format('MM');\n const fullYear = moment(metadata.modified).format('YYYY');\n\n this.modifiedDate = this.translate.instant('platform.angular_components.date_modified_custom_blob', {\n hour,\n minutes,\n day,\n month,\n fullYear,\n });\n }\n}\n\n","<div\n [id]=\"id\"\n class=\"file-picker\"\n>\n <div class=\"file-picker-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 || !!formControl?.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=\"file-picker-list\"\n role=\"grid\"\n >\n @for (file of files; track file; let i = $index) {\n <div\n class=\"file-picker-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=\"file-picker-list-file-name-date\">{{ modifiedDate }}</span>\n }\n </div>\n <div\n class=\"file-picker-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=\"file-picker-list-file-actions\"\n role=\"gridcell\"\n >\n @if (file.isUploading) {\n <a\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"file-picker-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 || !!formControl?.disabled)\n ) {\n <a\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"file-picker-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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from '@seniorsistemas/angular-components/button';\nimport { LocaleModule } from '@seniorsistemas/angular-components/locale';\nimport { ProgressBarModule } from '@seniorsistemas/angular-components/progressbar';\nimport { TooltipModule } from 'primeng/tooltip';\n\nimport { FilePickerComponent } from './file-picker.component';\nimport { FilePickerService } from './file-picker.service';\n\n@NgModule({\n declarations: [FilePickerComponent],\n imports: [CommonModule, ButtonModule, TooltipModule, ProgressBarModule, TranslateModule, LocaleModule],\n providers: [FilePickerService],\n exports: [FilePickerComponent],\n})\nexport class FilePickerModule {}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.FilePickerService"],"mappings":"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"}