@seniorsistemas/angular-components 19.0.4 → 19.0.6

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 (472) hide show
  1. package/accordion/lib/accordion/accordion.component.d.ts +25 -0
  2. package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +60 -0
  3. package/alert/lib/alert/alert.component.d.ts +40 -0
  4. package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +51 -0
  5. package/badge/lib/badge/badge.component.d.ts +20 -0
  6. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +46 -1
  7. package/breadcrumb/lib/breadcrumb/breadcrumb-models.d.ts +11 -0
  8. package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +19 -23
  9. package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +25 -0
  10. package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.d.ts +10 -0
  11. package/breadcrumb/public-api.d.ts +4 -2
  12. package/button/lib/button/button.component.d.ts +103 -1
  13. package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +24 -0
  14. package/card/lib/card/card.component.d.ts +18 -0
  15. package/chat/lib/chat/chat.component.d.ts +20 -2
  16. package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +18 -2
  17. package/checkbox/lib/checkbox/checkbox.component.d.ts +23 -3
  18. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +20 -0
  19. package/chips/lib/chips/chip-item/chip-item.component.d.ts +15 -0
  20. package/chips/lib/chips/chips/chips.component.d.ts +41 -0
  21. package/code-editor/lib/code-editor/code-editor.component.d.ts +40 -0
  22. package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +18 -0
  23. package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +5 -0
  24. package/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.d.ts +19 -0
  25. package/content-generator/lib/content-generator/content-generator.component.d.ts +30 -0
  26. package/control-errors/lib/control-errors/control-errors.component.d.ts +36 -0
  27. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +36 -0
  28. package/currency/lib/currency.service.d.ts +15 -2
  29. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +31 -0
  30. package/dialog/lib/src/dialog/dialog.component.d.ts +51 -0
  31. package/dialog/lib/src/dialog/services/dialog.service.d.ts +2 -2
  32. package/dialog/lib/src/dialog/services/internal-dialog.service.d.ts +1 -1
  33. package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +6 -5
  34. package/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.d.ts +5 -0
  35. package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +14 -0
  36. package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +67 -0
  37. package/dynamic-form/dynamic-form/configurations/structure/section.d.ts +8 -0
  38. package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +19 -0
  39. package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +21 -1
  40. package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +45 -0
  41. package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +59 -0
  42. package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +55 -0
  43. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +35 -0
  44. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +17 -0
  45. package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +23 -0
  46. package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +66 -0
  47. package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +15 -0
  48. package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +30 -0
  49. package/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.d.ts +47 -2
  50. package/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.d.ts +26 -0
  51. package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +18 -1
  52. package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +44 -0
  53. package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +112 -4
  54. package/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.d.ts +42 -3
  55. package/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.d.ts +48 -0
  56. package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +62 -0
  57. package/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.d.ts +34 -0
  58. package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +63 -0
  59. package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +47 -1
  60. package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +23 -0
  61. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +37 -1
  62. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +65 -2
  63. package/dynamic-form/public-api.d.ts +1 -0
  64. package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +16 -0
  65. package/empty-state/lib/empty-state/empty-state.component.d.ts +59 -0
  66. package/esm2022/accordion/lib/accordion/accordion.component.mjs +26 -1
  67. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +61 -1
  68. package/esm2022/alert/lib/alert/alert.component.mjs +41 -1
  69. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +52 -1
  70. package/esm2022/badge/lib/badge/badge.component.mjs +21 -1
  71. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +47 -2
  72. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-models.mjs +2 -0
  73. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +39 -98
  74. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +120 -0
  75. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.mjs +19 -0
  76. package/esm2022/breadcrumb/public-api.mjs +4 -3
  77. package/esm2022/button/lib/button/button.component.mjs +107 -3
  78. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +72 -47
  79. package/esm2022/card/lib/card/card.component.mjs +21 -6
  80. package/esm2022/chat/lib/chat/chat.component.mjs +23 -5
  81. package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +20 -4
  82. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +24 -4
  83. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +22 -2
  84. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +17 -2
  85. package/esm2022/chips/lib/chips/chips/chips.component.mjs +42 -1
  86. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +41 -1
  87. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +19 -1
  88. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +6 -1
  89. package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +21 -2
  90. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +32 -2
  91. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +37 -1
  92. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +37 -1
  93. package/esm2022/currency/lib/currency.service.mjs +21 -8
  94. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +32 -1
  95. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +66 -11
  96. package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +13 -10
  97. package/esm2022/dialog/lib/src/dialog/services/internal-dialog.service.mjs +3 -3
  98. package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +2 -2
  99. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +2 -2
  100. package/esm2022/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.mjs +2 -0
  101. package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +1 -1
  102. package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +1 -1
  103. package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +1 -1
  104. package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +1 -1
  105. package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +22 -2
  106. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +1 -1
  107. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +1 -1
  108. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +1 -1
  109. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +1 -1
  110. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +1 -1
  111. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +1 -1
  112. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +1 -1
  113. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +1 -1
  114. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +1 -1
  115. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.mjs +1 -1
  116. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +1 -1
  117. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +1 -1
  118. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +1 -2
  119. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +1 -1
  120. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +1 -1
  121. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +1 -1
  122. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +1 -1
  123. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +6 -1
  124. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +1 -1
  125. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +1 -1
  126. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +1 -1
  127. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +1 -1
  128. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +1 -1
  129. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +2 -2
  130. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +1 -1
  131. package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +1 -1
  132. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +2 -2
  133. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +2 -2
  134. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +2 -2
  135. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +2 -2
  136. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +3 -3
  137. package/esm2022/dynamic-form/public-api.mjs +2 -2
  138. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +17 -1
  139. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +61 -2
  140. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +25 -5
  141. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +49 -2
  142. package/esm2022/gantt/lib/gantt/gantt.component.mjs +32 -1
  143. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +1 -1
  144. package/esm2022/global-search/lib/global-search/global-search.component.mjs +31 -2
  145. package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +40 -1
  146. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +1 -1
  147. package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +83 -27
  148. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +41 -4
  149. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +18 -2
  150. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +33 -4
  151. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
  152. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +1 -1
  153. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +16 -1
  154. package/esm2022/insights/lib/insights/insights.component.mjs +23 -1
  155. package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +21 -1
  156. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +1 -1
  157. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +1 -1
  158. package/esm2022/kanban/lib/kanban/kanban.component.mjs +34 -16
  159. package/esm2022/label-value/lib/label-value/label-value.component.mjs +14 -1
  160. package/esm2022/lib/locale/fallback.mjs +4 -2
  161. package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +37 -1
  162. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +24 -1
  163. package/esm2022/locale/lib/locale/locale.service.mjs +8 -1
  164. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +17 -1
  165. package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +13 -1
  166. package/esm2022/mouse-events/lib/mouse-events/double-click.directive.mjs +16 -3
  167. package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +24 -10
  168. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +21 -2
  169. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +32 -12
  170. package/esm2022/numeric/lib/numeric.pipe.mjs +16 -1
  171. package/esm2022/numeric/lib/numeric.service.mjs +21 -1
  172. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +9 -6
  173. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +1 -1
  174. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +1 -1
  175. package/esm2022/object-card/lib/object-card/object-card.component.mjs +24 -1
  176. package/esm2022/optional-fields/editor/editor-field.mjs +1 -1
  177. package/esm2022/paginator/lib/paginator/paginator.component.mjs +20 -1
  178. package/esm2022/panel/lib/panel/panel.component.mjs +44 -23
  179. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +25 -1
  180. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +54 -1
  181. package/esm2022/picklist/lib/picklist/picklist.component.mjs +34 -3
  182. package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +29 -34
  183. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +87 -3
  184. package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +53 -3
  185. package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +28 -1
  186. package/esm2022/radio-button/lib/radio-button-group/radio-button-group.component.mjs +27 -1
  187. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +39 -7
  188. package/esm2022/select/lib/select/select.component.mjs +35 -1
  189. package/esm2022/select-button/lib/select-button/select-button.component.mjs +35 -1
  190. package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +11 -3
  191. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +54 -1
  192. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +76 -36
  193. package/esm2022/slider/lib/slider/slider.component.mjs +90 -9
  194. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +25 -4
  195. package/esm2022/split-button/lib/split-button/split-button.component.mjs +24 -2
  196. package/esm2022/star-rating/star-rating/star-rating.component.mjs +17 -1
  197. package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +32 -10
  198. package/esm2022/stepper/lib/stepper/stepper.component.mjs +20 -1
  199. package/esm2022/structure/lib/structure/footer.component.mjs +11 -1
  200. package/esm2022/switch/lib/switch/switch.component.mjs +22 -2
  201. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +16 -1
  202. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +1 -1
  203. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +29 -3
  204. package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +33 -2
  205. package/esm2022/tabs/lib/tabs/tabs.component.mjs +35 -3
  206. package/esm2022/template/lib/template/template.directive.mjs +14 -2
  207. package/esm2022/text-area/lib/text-area/text-area.component.mjs +28 -1
  208. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +25 -1
  209. package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +28 -3
  210. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +65 -46
  211. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
  212. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +35 -2
  213. package/esm2022/tile/lib/tile/tile.component.mjs +26 -1
  214. package/esm2022/timeline/lib/timeline/timeline.component.mjs +26 -3
  215. package/esm2022/toast/lib/toast/toast.component.mjs +24 -4
  216. package/esm2022/token-list/lib/token-list/token-list.component.mjs +22 -1
  217. package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +66 -1
  218. package/esm2022/topbar/lib/topbar/topbar.component.mjs +18 -1
  219. package/esm2022/tree/lib/tree/tree.component.mjs +28 -1
  220. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +47 -1
  221. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +85 -0
  222. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  223. package/fesm2022/seniorsistemas-angular-components-alert.mjs +40 -0
  224. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
  225. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +51 -0
  226. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  227. package/fesm2022/seniorsistemas-angular-components-badge.mjs +20 -0
  228. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
  229. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +46 -1
  230. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  231. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +93 -37
  232. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  233. package/fesm2022/seniorsistemas-angular-components-button.mjs +106 -2
  234. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  235. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +71 -46
  236. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
  237. package/fesm2022/seniorsistemas-angular-components-card.mjs +19 -4
  238. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
  239. package/fesm2022/seniorsistemas-angular-components-chat.mjs +39 -5
  240. package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
  241. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +21 -1
  242. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  243. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +23 -3
  244. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  245. package/fesm2022/seniorsistemas-angular-components-chips.mjs +57 -1
  246. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  247. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +40 -0
  248. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  249. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +18 -0
  250. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
  251. package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -0
  252. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  253. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +20 -1
  254. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
  255. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +31 -1
  256. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  257. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +36 -0
  258. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  259. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +36 -0
  260. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  261. package/fesm2022/seniorsistemas-angular-components-currency.mjs +19 -6
  262. package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
  263. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +31 -0
  264. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  265. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +74 -16
  266. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  267. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +38 -13
  268. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  269. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +16 -0
  270. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
  271. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +60 -1
  272. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  273. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +21 -1
  274. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  275. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +48 -1
  276. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  277. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +31 -0
  278. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  279. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +31 -2
  280. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  281. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +39 -0
  282. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
  283. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +81 -25
  284. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  285. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +39 -2
  286. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  287. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +17 -1
  288. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
  289. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +30 -1
  290. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  291. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +17 -2
  292. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  293. package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -0
  294. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
  295. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +20 -0
  296. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
  297. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +30 -12
  298. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  299. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +13 -0
  300. package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
  301. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +59 -0
  302. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
  303. package/fesm2022/seniorsistemas-angular-components-locale.mjs +7 -0
  304. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  305. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +16 -0
  306. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
  307. package/fesm2022/seniorsistemas-angular-components-mask.mjs +12 -0
  308. package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
  309. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +35 -8
  310. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
  311. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +20 -1
  312. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  313. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +31 -11
  314. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
  315. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +8 -5
  316. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
  317. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +35 -0
  318. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
  319. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +25 -2
  320. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  321. package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -1
  322. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +19 -0
  323. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  324. package/fesm2022/seniorsistemas-angular-components-panel.mjs +39 -18
  325. package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
  326. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +77 -0
  327. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
  328. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +33 -2
  329. package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
  330. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +28 -33
  331. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
  332. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +86 -2
  333. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  334. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +52 -2
  335. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
  336. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +53 -0
  337. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -1
  338. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +36 -4
  339. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
  340. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +34 -0
  341. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  342. package/fesm2022/seniorsistemas-angular-components-select.mjs +34 -0
  343. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  344. package/fesm2022/seniorsistemas-angular-components-shared.mjs +9 -1
  345. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  346. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +53 -0
  347. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  348. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +71 -31
  349. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
  350. package/fesm2022/seniorsistemas-angular-components-slider.mjs +89 -8
  351. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  352. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +24 -3
  353. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  354. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +22 -0
  355. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  356. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +16 -0
  357. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  358. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +30 -8
  359. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
  360. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +19 -0
  361. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
  362. package/fesm2022/seniorsistemas-angular-components-structure.mjs +10 -0
  363. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
  364. package/fesm2022/seniorsistemas-angular-components-switch.mjs +20 -0
  365. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  366. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +28 -2
  367. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  368. package/fesm2022/seniorsistemas-angular-components-table.mjs +16 -1
  369. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  370. package/fesm2022/seniorsistemas-angular-components-tabs.mjs +65 -2
  371. package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
  372. package/fesm2022/seniorsistemas-angular-components-template.mjs +13 -1
  373. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
  374. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +27 -0
  375. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  376. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +24 -0
  377. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  378. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +26 -1
  379. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  380. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +99 -47
  381. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  382. package/fesm2022/seniorsistemas-angular-components-tile.mjs +25 -0
  383. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  384. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +25 -2
  385. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
  386. package/fesm2022/seniorsistemas-angular-components-toast.mjs +22 -2
  387. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  388. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +21 -0
  389. package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
  390. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +65 -0
  391. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  392. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +17 -0
  393. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
  394. package/fesm2022/seniorsistemas-angular-components-tree.mjs +27 -0
  395. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  396. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +46 -0
  397. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  398. package/fesm2022/seniorsistemas-angular-components.mjs +3 -1
  399. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  400. package/fieldset/lib/fieldset/fieldset.component.d.ts +23 -3
  401. package/file-picker/lib/file-picker/file-picker.component.d.ts +47 -0
  402. package/gantt/lib/gantt/gantt.component.d.ts +31 -0
  403. package/global-search/lib/global-search/global-search.component.d.ts +29 -0
  404. package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +39 -0
  405. package/help-popover/lib/help-popover/help-popover.directive.d.ts +67 -17
  406. package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +38 -0
  407. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +15 -0
  408. package/info-sign/lib/info-sign/info-sign.directive.d.ts +30 -1
  409. package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +15 -0
  410. package/insights/lib/insights/insights.component.d.ts +22 -0
  411. package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +20 -0
  412. package/kanban/lib/kanban/kanban.component.d.ts +25 -5
  413. package/label-value/lib/label-value/label-value.component.d.ts +13 -0
  414. package/loading-state/lib/loading-state/loading-state.component.d.ts +36 -0
  415. package/loading-state/lib/loading-state/loading-state.directive.d.ts +23 -0
  416. package/locale/lib/locale/locale.service.d.ts +7 -0
  417. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +16 -0
  418. package/mask/lib/mask/mask-formatter.pipe.d.ts +12 -0
  419. package/mouse-events/lib/mouse-events/double-click.directive.d.ts +13 -0
  420. package/mouse-events/lib/mouse-events/long-press.directive.d.ts +16 -2
  421. package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +19 -0
  422. package/number-input/lib/number-input/number-input.directive.d.ts +19 -1
  423. package/numeric/lib/numeric.pipe.d.ts +15 -0
  424. package/numeric/lib/numeric.service.d.ts +20 -0
  425. package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +5 -4
  426. package/object-card/lib/object-card/object-card.component.d.ts +23 -0
  427. package/optional-fields/editor/editor-field.d.ts +19 -0
  428. package/package.json +7 -7
  429. package/paginator/lib/paginator/paginator.component.d.ts +19 -0
  430. package/panel/lib/panel/panel.component.d.ts +24 -3
  431. package/password-strength/lib/password-strength/password-strength.component.d.ts +24 -0
  432. package/password-strength/lib/password-strength/password-strength.directive.d.ts +53 -0
  433. package/picklist/lib/picklist/picklist.component.d.ts +29 -0
  434. package/pin-code-field/lib/pin-code-field/pin-code-field.component.d.ts +28 -33
  435. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +85 -1
  436. package/progressbar/lib/progressbar/progressbar.component.d.ts +50 -0
  437. package/radio-button/lib/radio-button/radio-button.component.d.ts +27 -0
  438. package/radio-button/lib/radio-button-group/radio-button-group.component.d.ts +26 -0
  439. package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +30 -2
  440. package/select/lib/select/select.component.d.ts +34 -0
  441. package/select-button/lib/select-button/select-button.component.d.ts +34 -0
  442. package/shared/lib/shared/border-button/border-button.component.d.ts +10 -2
  443. package/sidebar/lib/sidebar/sidebar.component.d.ts +53 -0
  444. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +53 -2
  445. package/slider/lib/slider/slider.component.d.ts +72 -0
  446. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +18 -0
  447. package/split-button/lib/split-button/split-button.component.d.ts +22 -0
  448. package/star-rating/star-rating/star-rating.component.d.ts +16 -0
  449. package/stats-card/lib/stats-card/stats-card.component.d.ts +28 -0
  450. package/stepper/lib/stepper/stepper.component.d.ts +19 -0
  451. package/structure/lib/structure/footer.component.d.ts +10 -0
  452. package/switch/lib/switch/switch.component.d.ts +20 -0
  453. package/table/lib/table/table-column/table-columns.component.d.ts +15 -0
  454. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +18 -0
  455. package/tabs/lib/tab-item/tab-item.component.d.ts +31 -0
  456. package/tabs/lib/tabs/tabs.component.d.ts +28 -0
  457. package/template/lib/template/template.directive.d.ts +12 -0
  458. package/text-area/lib/text-area/text-area.component.d.ts +27 -0
  459. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +24 -0
  460. package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +27 -2
  461. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +3 -1
  462. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +31 -1
  463. package/tile/lib/tile/tile.component.d.ts +25 -0
  464. package/timeline/lib/timeline/timeline.component.d.ts +24 -0
  465. package/toast/lib/toast/toast.component.d.ts +22 -2
  466. package/token-list/lib/token-list/token-list.component.d.ts +21 -0
  467. package/tooltip/lib/tooltip/tooltip.directive.d.ts +65 -0
  468. package/topbar/lib/topbar/topbar.component.d.ts +17 -0
  469. package/tree/lib/tree/tree.component.d.ts +27 -0
  470. package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +46 -0
  471. package/breadcrumb/lib/breadcrumb/breadcrumb.module.d.ts +0 -10
  472. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.module.mjs +0 -20
@@ -1 +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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"}
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/**\n * @description Componente de upload de arquivos com suporte a seleção múltipla,\n * validação de tipo/tamanho, controle de permissões (adicionar, ler, remover),\n * download e cancelamento de uploads em andamento.\n *\n * @example\n * ```html\n * <s-file-picker\n * [multiple]=\"true\"\n * accept=\"application/pdf\"\n * [maxFileSize]=\"5242880\"\n * [files]=\"arquivos\"\n * (uploadHandler)=\"onUpload($event)\"\n * (removeFile)=\"onRemove($event)\" />\n * ```\n *\n * @category Inputs\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 /** @description Identificador do componente no DOM. Gerado automaticamente se não informado. */\n @Input()\n public id = `s-file-picker-${FilePickerComponent.nextId++}`;\n\n /** @description Rótulo do botão de seleção de arquivo. */\n @Input()\n public chooseLabel?: string;\n\n /** @description Rótulo do botão de remoção de arquivo. */\n @Input()\n public removeLabel?: string;\n\n /** @description Rótulo do botão de cancelamento de upload. */\n @Input()\n public cancelLabel?: string;\n\n /** @description Texto do tooltip exibido após upload bem-sucedido. */\n @Input()\n public successTooltip?: string;\n\n /** @description Permite selecionar múltiplos arquivos ao mesmo tempo. */\n @Input()\n public multiple?: boolean;\n\n /** @description Tipos MIME aceitos pelo seletor de arquivo (ex.: `'application/pdf,image/*'`). */\n @Input()\n public accept?: string;\n\n /** @description Lista de extensões de arquivo aceitas para validação (ex.: `['.pdf', '.docx']`). @default [] */\n @Input()\n public supportedExtensions: string[] = [];\n\n /** @description Label ARIA para o nome do arquivo, para leitores de tela. */\n @Input()\n public ariaLabelFileName?: string;\n\n /** @description Tamanho máximo por arquivo em bytes. */\n @Input()\n public maxFileSize?: number;\n\n /** @description Tamanho máximo combinado de todos os arquivos em bytes. */\n @Input()\n public maxCombinedFileSize?: number;\n\n /** @description Número máximo de arquivos que podem ser selecionados. */\n @Input()\n public fileLimit?: number;\n\n /** @description Label ARIA para a barra de progresso do upload. */\n @Input()\n public ariaLabelProgress?: string;\n\n /** @description Label ARIA para o ícone de sucesso. */\n @Input()\n public ariaLabelSuccess?: string;\n\n /** @description Label ARIA para mensagens de erro de validação. */\n @Input()\n public ariaLabelError?: string;\n\n /** @description Label ARIA para o botão de remoção de arquivo. */\n @Input()\n public ariaLabelRemove?: string;\n\n /** @description FormControl externo vinculado ao componente para controle de estado. */\n @Input()\n public formControl?: FormControl;\n\n /** @description Desabilita todas as interações do componente. @default false */\n @Input()\n public disabled = false;\n\n /** @description Exibe a data de upload de cada arquivo. @default false */\n @Input()\n public showFileUploadDate: boolean = false;\n\n /** @description Lista de permissões habilitadas no componente: `'add'`, `'read'`, `'remove'`. @default ALL_PERMISSIONS */\n @Input()\n public permissions: FilePickerPermissions[] = ALL_PERMISSIONS;\n\n /**\n * @description Lista de arquivos já enviados a serem exibidos no componente.\n * Ao atribuir, os arquivos são processados e suas URLs são geradas para preview.\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 /** @description Emitido quando o usuário seleciona arquivos válidos para upload. */\n @Output()\n public uploadHandler: EventEmitter<{ files: FileDto[] }> = new EventEmitter();\n\n /** @description Emitido quando o usuário remove um arquivo da lista. */\n @Output()\n public removeFile: EventEmitter<{ file: File }> = new EventEmitter();\n\n /** @description Emitido quando o usuário cancela um upload em andamento. Emite o índice do arquivo cancelado. */\n @Output()\n public cancelUpload: EventEmitter<number> = new EventEmitter();\n\n /** @description Emitido quando o usuário clica para baixar um arquivo. */\n @Output()\n public downloadFile: EventEmitter<{ index: number; anchor: ElementRef }> = new EventEmitter();\n\n /** @description Emitido quando um arquivo não passa na validação de tipo, tamanho ou limite. */\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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"}
@@ -1582,22 +1582,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1582
1582
  type: Input
1583
1583
  }] } });
1584
1584
 
1585
+ /**
1586
+ * @description Componente de diagrama de Gantt para visualização e manipulação de tarefas
1587
+ * em linha do tempo. Suporta diferentes modos de visualização (dia, semana, mês),
1588
+ * movimentação de tarefas via drag e popup de detalhes ao clicar.
1589
+ *
1590
+ * @example
1591
+ * ```html
1592
+ * <s-gantt
1593
+ * [tasks]="gruposDeTarefas"
1594
+ * [viewMode]="viewMode"
1595
+ * (taskClicked)="onTaskClicada($event)" />
1596
+ * ```
1597
+ *
1598
+ * @category Data
1599
+ */
1585
1600
  class GanttComponent {
1601
+ /** @description Título da coluna lateral de identificação das tarefas. */
1586
1602
  columnTitle;
1603
+ /** @description Permite renderizar múltiplas tarefas na mesma linha. @default false */
1587
1604
  multipleTaskPerLine = false;
1605
+ /** @description Exibe a tabela lateral com os nomes das tarefas. @default true */
1588
1606
  showSideTable = true;
1607
+ /** @description Modo de visualização do gantt (dia, semana, mês, etc.). @default ViewMode.Day */
1589
1608
  viewMode = ViewMode.Day;
1609
+ /** @description Lista de grupos de tarefas a serem renderizados. Campo obrigatório. */
1590
1610
  tasks;
1611
+ /** @description Margem em dias antes do início da primeira tarefa. */
1591
1612
  marginBeforeStart;
1613
+ /** @description Margem em dias após o fim da última tarefa. */
1592
1614
  marginAfterEnd;
1615
+ /** @description Habilita o arrastar de tarefas para alterar datas. @default true */
1593
1616
  allowMovement = true;
1617
+ /** @description Exibe popup com detalhes ao clicar em uma tarefa. @default true */
1594
1618
  hasPopup = true;
1619
+ /** @description Largura do container em pixels. Se omitido, usa a largura natural. */
1595
1620
  containerWidth;
1621
+ /** @description Faz o gantt ocupar 100% da largura disponível. @default false */
1596
1622
  fullWidth = false;
1623
+ /** @description Exibe apenas horas na linha do tempo (ignora dias). @default false */
1597
1624
  showOnlyHours = false;
1625
+ /** @description Exibe apenas dias na linha do tempo (ignora horas). @default false */
1598
1626
  showOnlyDays = false;
1627
+ /** @description Emitido quando o usuário clica em uma tarefa. */
1599
1628
  taskClicked = new EventEmitter();
1629
+ /** @description Emitido quando o usuário arrasta e modifica as datas de uma tarefa. */
1600
1630
  taskDateChanged = new EventEmitter();
1631
+ /** @description Emitido quando o modo de visualização é alterado. */
1601
1632
  viewChanged = new EventEmitter();
1602
1633
  outer = null;
1603
1634
  side = null;