@seniorsistemas/angular-components 19.0.5 → 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 (439) 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.component.d.ts +12 -0
  8. package/button/lib/button/button.component.d.ts +101 -0
  9. package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +24 -0
  10. package/card/lib/card/card.component.d.ts +18 -0
  11. package/chat/lib/chat/chat.component.d.ts +20 -2
  12. package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +18 -2
  13. package/checkbox/lib/checkbox/checkbox.component.d.ts +23 -3
  14. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +20 -0
  15. package/chips/lib/chips/chip-item/chip-item.component.d.ts +15 -0
  16. package/chips/lib/chips/chips/chips.component.d.ts +41 -0
  17. package/code-editor/lib/code-editor/code-editor.component.d.ts +40 -0
  18. package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +18 -0
  19. package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +5 -0
  20. package/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.d.ts +19 -0
  21. package/content-generator/lib/content-generator/content-generator.component.d.ts +30 -0
  22. package/control-errors/lib/control-errors/control-errors.component.d.ts +36 -0
  23. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +36 -0
  24. package/currency/lib/currency.service.d.ts +15 -2
  25. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +31 -0
  26. package/dialog/lib/src/dialog/dialog.component.d.ts +51 -0
  27. package/dialog/lib/src/dialog/services/dialog.service.d.ts +2 -2
  28. package/dialog/lib/src/dialog/services/internal-dialog.service.d.ts +1 -1
  29. package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +6 -5
  30. package/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.d.ts +5 -0
  31. package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +14 -0
  32. package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +67 -0
  33. package/dynamic-form/dynamic-form/configurations/structure/section.d.ts +8 -0
  34. package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +19 -0
  35. package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +21 -1
  36. package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +45 -0
  37. package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +59 -0
  38. package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +55 -0
  39. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +35 -0
  40. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +17 -0
  41. package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +23 -0
  42. package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +66 -0
  43. package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +15 -0
  44. package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +30 -0
  45. package/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.d.ts +47 -2
  46. package/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.d.ts +26 -0
  47. package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +18 -1
  48. package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +44 -0
  49. package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +112 -4
  50. package/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.d.ts +42 -3
  51. package/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.d.ts +48 -0
  52. package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +62 -0
  53. package/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.d.ts +34 -0
  54. package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +63 -0
  55. package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +47 -1
  56. package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +23 -0
  57. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +37 -1
  58. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +65 -2
  59. package/dynamic-form/public-api.d.ts +1 -0
  60. package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +16 -0
  61. package/empty-state/lib/empty-state/empty-state.component.d.ts +59 -0
  62. package/esm2022/accordion/lib/accordion/accordion.component.mjs +26 -1
  63. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +61 -1
  64. package/esm2022/alert/lib/alert/alert.component.mjs +41 -1
  65. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +52 -1
  66. package/esm2022/badge/lib/badge/badge.component.mjs +21 -1
  67. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +47 -2
  68. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +13 -1
  69. package/esm2022/button/lib/button/button.component.mjs +102 -1
  70. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +72 -47
  71. package/esm2022/card/lib/card/card.component.mjs +21 -6
  72. package/esm2022/chat/lib/chat/chat.component.mjs +23 -5
  73. package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +20 -4
  74. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +24 -4
  75. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +22 -2
  76. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +17 -2
  77. package/esm2022/chips/lib/chips/chips/chips.component.mjs +42 -1
  78. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +41 -1
  79. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +19 -1
  80. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +6 -1
  81. package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +20 -1
  82. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +31 -1
  83. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +37 -1
  84. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +37 -1
  85. package/esm2022/currency/lib/currency.service.mjs +21 -8
  86. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +32 -1
  87. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +66 -11
  88. package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +13 -10
  89. package/esm2022/dialog/lib/src/dialog/services/internal-dialog.service.mjs +3 -3
  90. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +1 -1
  91. package/esm2022/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.mjs +2 -0
  92. package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +1 -1
  93. package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +1 -1
  94. package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +1 -1
  95. package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +1 -1
  96. package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +22 -2
  97. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +1 -1
  98. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +1 -1
  99. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +1 -1
  100. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +1 -1
  101. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +1 -1
  102. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +1 -1
  103. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +1 -1
  104. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +1 -1
  105. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +1 -1
  106. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.mjs +1 -1
  107. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +1 -1
  108. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +1 -1
  109. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +1 -2
  110. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +1 -1
  111. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +1 -1
  112. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +1 -1
  113. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +1 -1
  114. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +6 -1
  115. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +1 -1
  116. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +1 -1
  117. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +1 -1
  118. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +1 -1
  119. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +1 -1
  120. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +3 -3
  121. package/esm2022/dynamic-form/public-api.mjs +2 -2
  122. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +17 -1
  123. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +60 -1
  124. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +25 -5
  125. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +48 -1
  126. package/esm2022/gantt/lib/gantt/gantt.component.mjs +32 -1
  127. package/esm2022/global-search/lib/global-search/global-search.component.mjs +30 -1
  128. package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +40 -1
  129. package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +83 -27
  130. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +40 -3
  131. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +18 -2
  132. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +33 -4
  133. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +16 -1
  134. package/esm2022/insights/lib/insights/insights.component.mjs +23 -1
  135. package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +21 -1
  136. package/esm2022/kanban/lib/kanban/kanban.component.mjs +34 -16
  137. package/esm2022/label-value/lib/label-value/label-value.component.mjs +14 -1
  138. package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +37 -1
  139. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +24 -1
  140. package/esm2022/locale/lib/locale/locale.service.mjs +8 -1
  141. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +17 -1
  142. package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +13 -1
  143. package/esm2022/mouse-events/lib/mouse-events/double-click.directive.mjs +16 -3
  144. package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +24 -10
  145. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +20 -1
  146. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +32 -12
  147. package/esm2022/numeric/lib/numeric.pipe.mjs +16 -1
  148. package/esm2022/numeric/lib/numeric.service.mjs +21 -1
  149. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +9 -6
  150. package/esm2022/object-card/lib/object-card/object-card.component.mjs +24 -1
  151. package/esm2022/optional-fields/editor/editor-field.mjs +1 -1
  152. package/esm2022/paginator/lib/paginator/paginator.component.mjs +20 -1
  153. package/esm2022/panel/lib/panel/panel.component.mjs +44 -23
  154. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +25 -1
  155. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +54 -1
  156. package/esm2022/picklist/lib/picklist/picklist.component.mjs +33 -2
  157. package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +29 -34
  158. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +86 -2
  159. package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +53 -3
  160. package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +28 -1
  161. package/esm2022/radio-button/lib/radio-button-group/radio-button-group.component.mjs +27 -1
  162. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +39 -7
  163. package/esm2022/select/lib/select/select.component.mjs +35 -1
  164. package/esm2022/select-button/lib/select-button/select-button.component.mjs +35 -1
  165. package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +11 -3
  166. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +54 -1
  167. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +76 -36
  168. package/esm2022/slider/lib/slider/slider.component.mjs +90 -9
  169. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +25 -4
  170. package/esm2022/split-button/lib/split-button/split-button.component.mjs +24 -2
  171. package/esm2022/star-rating/star-rating/star-rating.component.mjs +17 -1
  172. package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +32 -10
  173. package/esm2022/stepper/lib/stepper/stepper.component.mjs +20 -1
  174. package/esm2022/structure/lib/structure/footer.component.mjs +11 -1
  175. package/esm2022/switch/lib/switch/switch.component.mjs +22 -2
  176. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +16 -1
  177. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +29 -3
  178. package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +33 -2
  179. package/esm2022/tabs/lib/tabs/tabs.component.mjs +35 -3
  180. package/esm2022/template/lib/template/template.directive.mjs +14 -2
  181. package/esm2022/text-area/lib/text-area/text-area.component.mjs +28 -1
  182. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +25 -1
  183. package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +28 -3
  184. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +30 -1
  185. package/esm2022/tile/lib/tile/tile.component.mjs +26 -1
  186. package/esm2022/timeline/lib/timeline/timeline.component.mjs +26 -3
  187. package/esm2022/toast/lib/toast/toast.component.mjs +24 -4
  188. package/esm2022/token-list/lib/token-list/token-list.component.mjs +22 -1
  189. package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +66 -1
  190. package/esm2022/topbar/lib/topbar/topbar.component.mjs +18 -1
  191. package/esm2022/tree/lib/tree/tree.component.mjs +28 -1
  192. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +47 -1
  193. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +85 -0
  194. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  195. package/fesm2022/seniorsistemas-angular-components-alert.mjs +40 -0
  196. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
  197. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +51 -0
  198. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  199. package/fesm2022/seniorsistemas-angular-components-badge.mjs +20 -0
  200. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
  201. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +46 -1
  202. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  203. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +12 -0
  204. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  205. package/fesm2022/seniorsistemas-angular-components-button.mjs +101 -0
  206. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  207. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +71 -46
  208. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
  209. package/fesm2022/seniorsistemas-angular-components-card.mjs +19 -4
  210. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
  211. package/fesm2022/seniorsistemas-angular-components-chat.mjs +39 -5
  212. package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
  213. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +21 -1
  214. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  215. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +23 -3
  216. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  217. package/fesm2022/seniorsistemas-angular-components-chips.mjs +57 -1
  218. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  219. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +40 -0
  220. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  221. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +18 -0
  222. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
  223. package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -0
  224. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  225. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +19 -0
  226. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
  227. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +30 -0
  228. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  229. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +36 -0
  230. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  231. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +36 -0
  232. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  233. package/fesm2022/seniorsistemas-angular-components-currency.mjs +19 -6
  234. package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
  235. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +31 -0
  236. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  237. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +74 -16
  238. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  239. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +29 -4
  240. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  241. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +16 -0
  242. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
  243. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +59 -0
  244. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  245. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +21 -1
  246. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  247. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +47 -0
  248. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  249. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +31 -0
  250. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  251. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +29 -0
  252. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  253. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +39 -0
  254. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
  255. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +80 -24
  256. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  257. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +38 -1
  258. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  259. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +17 -1
  260. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
  261. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +30 -1
  262. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  263. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +15 -0
  264. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  265. package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -0
  266. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
  267. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +20 -0
  268. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
  269. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +28 -10
  270. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  271. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +13 -0
  272. package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
  273. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +59 -0
  274. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
  275. package/fesm2022/seniorsistemas-angular-components-locale.mjs +7 -0
  276. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  277. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +16 -0
  278. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
  279. package/fesm2022/seniorsistemas-angular-components-mask.mjs +12 -0
  280. package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
  281. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +35 -8
  282. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
  283. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +19 -0
  284. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  285. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +31 -11
  286. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
  287. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +8 -5
  288. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
  289. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +35 -0
  290. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
  291. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +23 -0
  292. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  293. package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -1
  294. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +19 -0
  295. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  296. package/fesm2022/seniorsistemas-angular-components-panel.mjs +39 -18
  297. package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
  298. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +77 -0
  299. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
  300. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +32 -1
  301. package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
  302. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +28 -33
  303. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
  304. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +85 -1
  305. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  306. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +52 -2
  307. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
  308. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +53 -0
  309. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -1
  310. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +36 -4
  311. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
  312. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +34 -0
  313. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  314. package/fesm2022/seniorsistemas-angular-components-select.mjs +34 -0
  315. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  316. package/fesm2022/seniorsistemas-angular-components-shared.mjs +9 -1
  317. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  318. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +53 -0
  319. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  320. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +71 -31
  321. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
  322. package/fesm2022/seniorsistemas-angular-components-slider.mjs +89 -8
  323. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  324. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +24 -3
  325. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  326. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +22 -0
  327. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  328. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +16 -0
  329. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  330. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +30 -8
  331. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
  332. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +19 -0
  333. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
  334. package/fesm2022/seniorsistemas-angular-components-structure.mjs +10 -0
  335. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
  336. package/fesm2022/seniorsistemas-angular-components-switch.mjs +20 -0
  337. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  338. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +28 -2
  339. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  340. package/fesm2022/seniorsistemas-angular-components-table.mjs +15 -0
  341. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  342. package/fesm2022/seniorsistemas-angular-components-tabs.mjs +65 -2
  343. package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
  344. package/fesm2022/seniorsistemas-angular-components-template.mjs +13 -1
  345. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
  346. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +27 -0
  347. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  348. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +24 -0
  349. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  350. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +26 -1
  351. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  352. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +29 -0
  353. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  354. package/fesm2022/seniorsistemas-angular-components-tile.mjs +25 -0
  355. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  356. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +25 -2
  357. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
  358. package/fesm2022/seniorsistemas-angular-components-toast.mjs +22 -2
  359. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  360. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +21 -0
  361. package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
  362. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +65 -0
  363. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  364. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +17 -0
  365. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
  366. package/fesm2022/seniorsistemas-angular-components-tree.mjs +27 -0
  367. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  368. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +46 -0
  369. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  370. package/fieldset/lib/fieldset/fieldset.component.d.ts +23 -3
  371. package/file-picker/lib/file-picker/file-picker.component.d.ts +47 -0
  372. package/gantt/lib/gantt/gantt.component.d.ts +31 -0
  373. package/global-search/lib/global-search/global-search.component.d.ts +29 -0
  374. package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +39 -0
  375. package/help-popover/lib/help-popover/help-popover.directive.d.ts +67 -17
  376. package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +38 -0
  377. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +15 -0
  378. package/info-sign/lib/info-sign/info-sign.directive.d.ts +30 -1
  379. package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +15 -0
  380. package/insights/lib/insights/insights.component.d.ts +22 -0
  381. package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +20 -0
  382. package/kanban/lib/kanban/kanban.component.d.ts +25 -5
  383. package/label-value/lib/label-value/label-value.component.d.ts +13 -0
  384. package/loading-state/lib/loading-state/loading-state.component.d.ts +36 -0
  385. package/loading-state/lib/loading-state/loading-state.directive.d.ts +23 -0
  386. package/locale/lib/locale/locale.service.d.ts +7 -0
  387. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +16 -0
  388. package/mask/lib/mask/mask-formatter.pipe.d.ts +12 -0
  389. package/mouse-events/lib/mouse-events/double-click.directive.d.ts +13 -0
  390. package/mouse-events/lib/mouse-events/long-press.directive.d.ts +16 -2
  391. package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +19 -0
  392. package/number-input/lib/number-input/number-input.directive.d.ts +19 -1
  393. package/numeric/lib/numeric.pipe.d.ts +15 -0
  394. package/numeric/lib/numeric.service.d.ts +20 -0
  395. package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +5 -4
  396. package/object-card/lib/object-card/object-card.component.d.ts +23 -0
  397. package/optional-fields/editor/editor-field.d.ts +19 -0
  398. package/package.json +12 -12
  399. package/paginator/lib/paginator/paginator.component.d.ts +19 -0
  400. package/panel/lib/panel/panel.component.d.ts +24 -3
  401. package/password-strength/lib/password-strength/password-strength.component.d.ts +24 -0
  402. package/password-strength/lib/password-strength/password-strength.directive.d.ts +53 -0
  403. package/picklist/lib/picklist/picklist.component.d.ts +29 -0
  404. package/pin-code-field/lib/pin-code-field/pin-code-field.component.d.ts +28 -33
  405. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +85 -1
  406. package/progressbar/lib/progressbar/progressbar.component.d.ts +50 -0
  407. package/radio-button/lib/radio-button/radio-button.component.d.ts +27 -0
  408. package/radio-button/lib/radio-button-group/radio-button-group.component.d.ts +26 -0
  409. package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +30 -2
  410. package/select/lib/select/select.component.d.ts +34 -0
  411. package/select-button/lib/select-button/select-button.component.d.ts +34 -0
  412. package/shared/lib/shared/border-button/border-button.component.d.ts +10 -2
  413. package/sidebar/lib/sidebar/sidebar.component.d.ts +53 -0
  414. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +53 -2
  415. package/slider/lib/slider/slider.component.d.ts +72 -0
  416. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +18 -0
  417. package/split-button/lib/split-button/split-button.component.d.ts +22 -0
  418. package/star-rating/star-rating/star-rating.component.d.ts +16 -0
  419. package/stats-card/lib/stats-card/stats-card.component.d.ts +28 -0
  420. package/stepper/lib/stepper/stepper.component.d.ts +19 -0
  421. package/structure/lib/structure/footer.component.d.ts +10 -0
  422. package/switch/lib/switch/switch.component.d.ts +20 -0
  423. package/table/lib/table/table-column/table-columns.component.d.ts +15 -0
  424. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +18 -0
  425. package/tabs/lib/tab-item/tab-item.component.d.ts +31 -0
  426. package/tabs/lib/tabs/tabs.component.d.ts +28 -0
  427. package/template/lib/template/template.directive.d.ts +12 -0
  428. package/text-area/lib/text-area/text-area.component.d.ts +27 -0
  429. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +24 -0
  430. package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +27 -2
  431. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +29 -0
  432. package/tile/lib/tile/tile.component.d.ts +25 -0
  433. package/timeline/lib/timeline/timeline.component.d.ts +24 -0
  434. package/toast/lib/toast/toast.component.d.ts +22 -2
  435. package/token-list/lib/token-list/token-list.component.d.ts +21 -0
  436. package/tooltip/lib/tooltip/tooltip.directive.d.ts +65 -0
  437. package/topbar/lib/topbar/topbar.component.d.ts +17 -0
  438. package/tree/lib/tree/tree.component.d.ts +27 -0
  439. package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +46 -0
@@ -201,13 +201,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
201
201
  type: Input
202
202
  }] } });
203
203
 
204
+ /**
205
+ * @description Componente de quadro Kanban com suporte a arrastar e soltar colunas e itens.
206
+ * Permite seleção via checkboxes, templates customizáveis para cabeçalho, corpo e rodapé
207
+ * dos cards, além de emitir eventos de movição e seleção.
208
+ *
209
+ * @example
210
+ * ```html
211
+ * <s-kanban
212
+ * [data]="dadosKanban"
213
+ * (itemsMoved)="onItemMovido($event)" />
214
+ * ```
215
+ *
216
+ * @category Data
217
+ */
204
218
  class KanbanComponent {
205
219
  kanbanEventService;
220
+ /** @description Dados do quadro Kanban com colunas e itens. Campo obrigatório. */
206
221
  data;
222
+ /** @description Exibe checkboxes de seleção em cada item Kanban. @default true */
207
223
  showItemCheckboxes = true;
224
+ /** @description Exibe checkboxes de seleção no cabeçalho de cada coluna. @default true */
208
225
  showColumnCheckboxes = true;
226
+ /** @description Emitido quando o usuário move um item entre colunas ou posições. */
209
227
  itemsMoved = new EventEmitter();
228
+ /** @description Emitido quando os dados do quadro são atualizados após movição. */
210
229
  dataUpdated = new EventEmitter();
230
+ /** @description Emitido quando a seleção de itens muda, com a lista de itens selecionados. */
211
231
  itemsSelected = new EventEmitter();
212
232
  selectedColumn = null;
213
233
  selectedItems = new Set();
@@ -238,7 +258,7 @@ class KanbanComponent {
238
258
  const previousColumn = this.data.columns.find((column) => column.id === event.previousContainer.id);
239
259
  const targetColumn = this.data.columns.find((column) => column.id === event.container.id);
240
260
  if (!previousColumn || !targetColumn) {
241
- throw new Error("Unable to obtain information about columns when performing drag and drop");
261
+ throw new Error('Unable to obtain information about columns when performing drag and drop');
242
262
  }
243
263
  if (event.previousContainer === event.container) {
244
264
  moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
@@ -305,7 +325,9 @@ class KanbanComponent {
305
325
  this.draggingItems.clear();
306
326
  }
307
327
  getLinkedColumns(currentColumn) {
308
- return this.data.columns.filter((column) => column != currentColumn).map((column) => column.id ?? '');
328
+ return this.data.columns
329
+ .filter((column) => column != currentColumn)
330
+ .map((column) => column.id ?? '');
309
331
  }
310
332
  getColumnHeaderTemplate() {
311
333
  return this._getCustomTemplate('column-header') ?? null;
@@ -337,14 +359,10 @@ class KanbanComponent {
337
359
  this.selectedColumn = column;
338
360
  this.itemsSelected.emit([...this.selectedItems]);
339
361
  });
340
- this.kanbanEventService.unselectAllColumnItemsEvent
341
- .pipe(takeUntil(this._unsubscribe$))
342
- .subscribe((_) => {
362
+ this.kanbanEventService.unselectAllColumnItemsEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((_) => {
343
363
  this.selectedItems.clear();
344
364
  });
345
- this.kanbanEventService.selectItemEvent
346
- .pipe(takeUntil(this._unsubscribe$))
347
- .subscribe((item) => {
365
+ this.kanbanEventService.selectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item) => {
348
366
  if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {
349
367
  this.selectedItems.clear();
350
368
  }
@@ -373,7 +391,7 @@ class KanbanComponent {
373
391
  const columns = this.data.columns;
374
392
  const columnIds = this.data.columns.map((column) => column.id);
375
393
  if (new Set(columnIds).size !== columns.length) {
376
- throw new Error("Repeated IDs are not accepted.");
394
+ throw new Error('Repeated IDs are not accepted.');
377
395
  }
378
396
  }
379
397
  _getTemplates() {
@@ -388,7 +406,7 @@ class KanbanComponent {
388
406
  }
389
407
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanComponent, decorators: [{
390
408
  type: Component,
391
- args: [{ selector: "s-kanban", template: "<div class=\"kanban\">\n <s-kanban-column\n *ngFor=\"let column of data.columns\"\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"columnHeaderTemplate\">\n <div\n [id]=\"column.id + ''\"\n style=\"height: 100%; width: 100%;\"\n cdkDropList\n #dynamicList=\"cdkDropList\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\n (cdkDropListDropped)=\"drop($event)\">\n\n @if (!columnEmptyMessageTemplate) {\n <div *ngIf=\"!column.items.length\" class=\"empty-message\">\n <p class=\"text\">\n <span class=\"fas fa-clock\"></span>&nbsp;\n <span>{{ \"platform.angular_components.count_items_in_target\" | translate:{ count: column.items.length, target: column.title } }}</span>\n </p>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"></ng-container>\n }\n\n <div\n *ngFor=\"let item of column.items\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\n (cdkDragStarted)=\"dragStarted()\"\n (cdkDragReleased)=\"dragReleased()\"\n (click)=\"selectItem($event, item, column)\">\n \n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n\n <ng-container *cdkDragPreview>\n @if (selectedItems.size > 1) {\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\n } @else {\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n }\n\n </ng-container>\n\n <ng-template #itemTemplate>\n <s-kanban-item\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"itemHeaderTemplate\"\n [bodyTemplate]=\"itemBodyTemplate\"\n [footerTemplate]=\"itemFooterTemplate\">\n </s-kanban-item>\n </ng-template>\n\n <div *cdkDragPlaceholder>\n <div class=\"placeholder\">\n <div class=\"placeholder-line\"></div>\n </div>\n </div>\n </div>\n </div>\n </s-kanban-column>\n</div>\n\n", styles: [".kanban{display:flex;gap:16px;overflow:auto;width:100%}.kanban .empty-message{display:flex;justify-content:center;margin:16px}.kanban .empty-message .text{overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%;white-space:nowrap}@media screen and (max-width: 600px){.kanban{flex-direction:column}}s-kanban-column{display:flex;flex-grow:1;min-width:292px}.placeholder{display:flex;justify-content:center}.placeholder .placeholder-line{background-color:#a5a5b2;height:1px;margin:6px 0;width:50%}\n"] }]
409
+ args: [{ selector: 's-kanban', template: "<div class=\"kanban\">\n <s-kanban-column\n *ngFor=\"let column of data.columns\"\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"columnHeaderTemplate\">\n <div\n [id]=\"column.id + ''\"\n style=\"height: 100%; width: 100%;\"\n cdkDropList\n #dynamicList=\"cdkDropList\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\n (cdkDropListDropped)=\"drop($event)\">\n\n @if (!columnEmptyMessageTemplate) {\n <div *ngIf=\"!column.items.length\" class=\"empty-message\">\n <p class=\"text\">\n <span class=\"fas fa-clock\"></span>&nbsp;\n <span>{{ \"platform.angular_components.count_items_in_target\" | translate:{ count: column.items.length, target: column.title } }}</span>\n </p>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"></ng-container>\n }\n\n <div\n *ngFor=\"let item of column.items\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\n (cdkDragStarted)=\"dragStarted()\"\n (cdkDragReleased)=\"dragReleased()\"\n (click)=\"selectItem($event, item, column)\">\n \n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n\n <ng-container *cdkDragPreview>\n @if (selectedItems.size > 1) {\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\n } @else {\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n }\n\n </ng-container>\n\n <ng-template #itemTemplate>\n <s-kanban-item\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"itemHeaderTemplate\"\n [bodyTemplate]=\"itemBodyTemplate\"\n [footerTemplate]=\"itemFooterTemplate\">\n </s-kanban-item>\n </ng-template>\n\n <div *cdkDragPlaceholder>\n <div class=\"placeholder\">\n <div class=\"placeholder-line\"></div>\n </div>\n </div>\n </div>\n </div>\n </s-kanban-column>\n</div>\n\n", styles: [".kanban{display:flex;gap:16px;overflow:auto;width:100%}.kanban .empty-message{display:flex;justify-content:center;margin:16px}.kanban .empty-message .text{overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%;white-space:nowrap}@media screen and (max-width: 600px){.kanban{flex-direction:column}}s-kanban-column{display:flex;flex-grow:1;min-width:292px}.placeholder{display:flex;justify-content:center}.placeholder .placeholder-line{background-color:#a5a5b2;height:1px;margin:6px 0;width:50%}\n"] }]
392
410
  }], ctorParameters: () => [{ type: KanbanEventService }], propDecorators: { data: [{
393
411
  type: Input,
394
412
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-kanban.mjs","sources":["../../projects/angular-components/kanban/src/lib/kanban/kanban-event.service.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item/kanban-item.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item/kanban-item.component.html","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-column/kanban-column.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-column/kanban-column.component.html","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.html","../../projects/angular-components/kanban/src/lib/kanban/kanban.component.ts","../../projects/angular-components/kanban/src/lib/kanban/kanban.component.html","../../projects/angular-components/kanban/src/lib/kanban/kanban.module.ts","../../projects/angular-components/kanban/src/seniorsistemas-angular-components-kanban.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\n\nimport { KanbanColumn, KanbanItem } from './types';\n\n@Injectable()\nexport class KanbanEventService {\n public selectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public unselectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public selectItemEvent = new EventEmitter<KanbanItem>();\n public unselectItemEvent = new EventEmitter<KanbanItem>();\n\n public emitSelectAllColumnItemsEvent(column: KanbanColumn): void {\n this.selectAllColumnItemsEvent.emit(column);\n }\n\n public emitUnselectAllColumnItemsEvent(column: KanbanColumn): void {\n this.unselectAllColumnItemsEvent.emit(column);\n }\n\n public emitSelectItemEvent(item: KanbanItem): void {\n this.selectItemEvent.emit(item);\n }\n\n public emitUnselectItemEvent(item: KanbanItem): void {\n this.unselectItemEvent.emit(item);\n }\n}\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\n\nimport { KanbanItem } from \"../../types\";\nimport { KanbanEventService } from \"../../kanban-event.service\";\nimport { KanbanItemOption } from \"../../types/kanban-data\";\nimport { TieredMenuItemData } from \"@seniorsistemas/angular-components/tiered-menu\";\n\n@Component({\n selector: \"s-kanban-item\",\n templateUrl: \"./kanban-item.component.html\",\n styleUrls: [\"./kanban-item.component.scss\"],\n})\nexport class KanbanItemComponent implements OnInit {\n @Input({ required: true })\n public item!: KanbanItem;\n\n @Input()\n public selected = false;\n\n @Input()\n public showCheckbox = true;\n\n @Input()\n public headerTemplate: TemplateRef<any> | null = null;\n\n @Input()\n public bodyTemplate: TemplateRef<any> | null = null;\n\n @Input()\n public footerTemplate: TemplateRef<any> | null = null;\n\n public kanbanItemOptions: TieredMenuItemData[] = [];\n\n constructor(private readonly _kanbanEventService: KanbanEventService) { }\n\n public ngOnInit(): void {\n this._convertToTieredMenuItemData();\n }\n\n public onSelectedChange(value: any): void {\n if (value) {\n this._kanbanEventService.emitSelectItemEvent(this.item);\n } else {\n this._kanbanEventService.emitUnselectItemEvent(this.item);\n }\n }\n\n private _convertToTieredMenuItemData() {\n if (!this.item.options) return;\n\n const options: TieredMenuItemData[] = [];\n\n this.item.options.forEach((option: KanbanItemOption) => {\n options.push({\n ...option,\n command: () => option.command(this.item),\n });\n });\n\n this.kanbanItemOptions = options;\n }\n}\n","<div\n class=\"kanban-item\"\n [ngClass]=\"{\n 'kanban-item--selected': selected && !item.disabled,\n 'kanban-item--disabled': item.disabled,\n 'kanban-item--frozen': !item.disabled && item.frozen\n }\">\n <div class=\"kanban-item__header\">\n <div class=\"content\">\n <form>\n <input\n *ngIf=\"showCheckbox && !item.disabled && !item.frozen\"\n type=\"checkbox\"\n name=\"checkbox\"\n [(ngModel)]=\"selected\"\n (ngModelChange)=\"onSelectedChange($event)\"\n (click)=\"$event.stopPropagation()\">\n </form>\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <button\n *ngIf=\"item.options && !item.disabled\"\n class=\"options-button\"\n (click)=\"$event.stopPropagation();\"\n sTieredMenu\n [items]=\"kanbanItemOptions\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </button>\n </div>\n <div class=\"kanban-item__body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div *ngIf=\"footerTemplate\" class=\"kanban-item__footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container> \n </div>\n</div>\n","import { Component, Input, OnDestroy, OnInit, TemplateRef } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { KanbanColumn, KanbanItem } from \"../../types\";\nimport { KanbanEventService } from \"../../kanban-event.service\";\nimport { FormControl } from \"@angular/forms\";\nimport { KanbanColumnOption } from \"../../types/kanban-data\";\nimport { TieredMenuItemData } from \"@seniorsistemas/angular-components/tiered-menu\";\n\n@Component({\n selector: \"s-kanban-column\",\n templateUrl: \"./kanban-column.component.html\",\n styleUrls: [\"./kanban-column.component.scss\"],\n})\nexport class KanbanColumnComponent implements OnInit, OnDestroy {\n @Input({ required: true })\n public data!: KanbanColumn;\n\n @Input()\n public showCheckbox = true;\n\n @Input()\n public headerTemplate: TemplateRef<any> | null = null;\n\n public selectionControl = new FormControl(false);\n public tieredMenuOptions!: TieredMenuItemData[];\n\n private _unsubscribe$ = new Subject<void>();\n\n constructor(\n private readonly kanbanEventService: KanbanEventService,\n ) { }\n\n public ngOnInit(): void {\n this._validateInputs();\n this._subscriveEvents();\n\n this._createTieredOptions();\n\n this.tieredMenuOptions = this.data.options ? this.data.options as TieredMenuItemData[] : [];\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n private _createTieredOptions(): void {\n if (!this.data.options) return;\n\n const options: KanbanColumnOption[] = [];\n\n this.data.options.forEach((option: KanbanColumnOption) => {\n options.push({\n ...option,\n command: () => { option.command(this.data) },\n });\n });\n\n this.data.options = options;\n }\n\n private _subscriveEvents(): void {\n this.selectionControl.valueChanges\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((value: boolean | null) => {\n if (value) {\n this.kanbanEventService.emitSelectAllColumnItemsEvent(this.data);\n } else {\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(this.data);\n }\n });\n\n this.kanbanEventService.unselectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((_) => {\n this.selectionControl.setValue(false, { emitEvent: false });\n });\n\n this.kanbanEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: KanbanItem) => {\n if (!this.data.items.includes(item)) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n });\n\n this.kanbanEventService.selectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n if (this.data !== column) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n });\n\n this.kanbanEventService.unselectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n if (this.data !== column) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n })\n }\n\n private _validateInputs(): void {\n if (!this.data) {\n throw new Error(\"data parameter is required\");\n }\n }\n}\n","<div class=\"kanban-column\">\n <div class=\"kanban-column__header\">\n <div class=\"content\">\n <form>\n @if (showCheckbox) {\n <input\n type=\"checkbox\"\n name=\"checkbox\"\n [formControl]=\"selectionControl\"\n />\n }\n </form>\n\n @if (!headerTemplate) {\n <div class=\"header\">\n <span class=\"title\">{{ data.title }} ({{ data.items.length }})</span>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n </div>\n @if (data.options) {\n <s-button\n priority=\"default\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n size=\"small\"\n [menuOptions]=\"tieredMenuOptions\"\n >\n </s-button>\n }\n </div>\n <div class=\"kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 's-kanban-item-dragging',\n templateUrl: './kanban-item-dragging.component.html',\n styleUrls: ['./kanban-item-dragging.component.scss'],\n})\nexport class KanbanItemDraggingComponent {\n @Input()\n public quantityItems = 0;\n}\n","<div class=\"kanban-item-dragging-container\">\n <div\n *ngIf=\"quantityItems\"\n class=\"kanban-item-dragging\">\n </div>\n\n <div\n class=\"kanban-item-dragging\"\n [ngClass]=\"{ 'kanban-item-dragging--over': quantityItems }\">\n <div class=\"content\">\n <input type=\"checkbox\" checked />\n <s-badge\n [text]=\"'platform.angular_components.count_items_selected' | translate:{ count: quantityItems }\"\n color=\"blue\">\n </s-badge>\n </div>\n </div>\n\n</div>\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n} from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { KanbanEventService } from \"./kanban-event.service\";\nimport { KanbanColumn, KanbanData, KanbanItem, KanbanItemMovedData } from \"./types/index\";\nimport { TemplateDirective } from \"@seniorsistemas/angular-components/template\";\n\n@Component({\n selector: \"s-kanban\",\n templateUrl: \"./kanban.component.html\",\n styleUrls: [\"./kanban.component.scss\"],\n})\nexport class KanbanComponent implements OnInit, AfterContentInit, OnDestroy {\n @Input({ required: true })\n public data!: KanbanData;\n\n @Input()\n public showItemCheckboxes = true;\n\n @Input()\n public showColumnCheckboxes = true;\n\n @Output()\n public itemsMoved = new EventEmitter<KanbanItemMovedData>();\n\n @Output()\n public dataUpdated = new EventEmitter<KanbanData>();\n\n @Output()\n public itemsSelected = new EventEmitter<KanbanItem[]>();\n\n public selectedColumn: KanbanColumn | null = null;\n public selectedItems = new Set<KanbanItem>();\n public draggingItems = new Set<KanbanItem>();\n\n public columnHeaderTemplate: TemplateRef<any> | null = null;\n public columnEmptyMessageTemplate: TemplateRef<any> | null = null;\n public itemHeaderTemplate: TemplateRef<any> | null = null;\n public itemBodyTemplate: TemplateRef<any> | null = null;\n public itemFooterTemplate: TemplateRef<any> | null = null;\n\n private _unsubscribe$ = new Subject<void>();\n\n @ContentChildren(TemplateDirective) templates: QueryList<TemplateDirective> | null = null;\n\n constructor(private readonly kanbanEventService: KanbanEventService) { }\n\n public ngOnInit(): void {\n this._subscribeEvents();\n this._normalizeData();\n this._validateInputs();\n }\n\n ngAfterContentInit() {\n this._getTemplates();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n public drop(event: CdkDragDrop<KanbanItem[]>): void {\n const previousColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.previousContainer.id);\n const targetColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.container.id);\n\n if (!previousColumn || !targetColumn) {\n throw new Error(\"Unable to obtain information about columns when performing drag and drop\");\n }\n\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n }\n\n this.selectedItems.forEach((item: KanbanItem) => {\n const previousIndex = event.previousContainer.data.indexOf(item);\n if (previousIndex !== -1 && item !== event.item.data) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, previousIndex, event.currentIndex);\n } else {\n transferArrayItem(event.previousContainer.data, event.container.data, previousIndex, event.currentIndex);\n }\n }\n });\n\n this.selectedItems.add(event.item.data);\n\n this.itemsMoved.emit({\n items: [...this.selectedItems],\n previousColumn,\n targetColumn,\n });\n\n if (this.dataUpdated.observers?.length) {\n this.dataUpdated.emit({ ...this.data });\n }\n\n this.data.columns.forEach((column: KanbanColumn) => {\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(column);\n });\n this.selectedItems.clear();\n }\n\n public selectItem(event: MouseEvent, item: KanbanItem, column: KanbanColumn): void {\n if (item.disabled || item.frozen) return;\n\n if (event.ctrlKey) {\n if (this.selectedItems.delete(item)) {\n this.kanbanEventService.emitUnselectItemEvent(item);\n } else {\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\n this.selectedItems.clear();\n }\n\n this.selectedItems.add(item);\n this.selectedColumn = column;\n this.kanbanEventService.emitSelectItemEvent(item);\n }\n } else {\n if (this.selectedItems.delete(item)) return;\n\n this.selectedItems.clear();\n this.selectedItems.add(item);\n this.selectedColumn = column;\n this.kanbanEventService.emitSelectItemEvent(item);\n }\n }\n\n public dragStarted(): void {\n this.selectedItems.forEach((item: KanbanItem) => {\n this.draggingItems.add(item);\n });\n }\n\n public dragReleased(): void {\n this.draggingItems.clear();\n }\n\n public getLinkedColumns(currentColumn: KanbanColumn): string[] {\n return this.data.columns.filter((column: KanbanColumn) => column != currentColumn).map((column: KanbanColumn) => column.id ?? '');\n }\n\n public getColumnHeaderTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('column-header') ?? null;\n }\n\n public getColumnEmptyMessageTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('column-empty-message') ?? null;\n }\n\n public getItemHeaderTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('item-header') ?? null;\n }\n\n public getItemBodyTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('item-body') ?? null;\n }\n\n public getItemFooterTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('item-footer') ?? null;\n }\n\n private _getCustomTemplate(type: string): TemplateRef<any> | null {\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template ?? null;\n }\n\n private _subscribeEvents(): void {\n this.kanbanEventService.selectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n column.items\n .filter((item: KanbanItem) => !item.disabled && !item.frozen)\n .forEach((item: KanbanItem) => {\n this.selectedItems.add(item);\n });\n this.selectedColumn = column;\n this.itemsSelected.emit([...this.selectedItems]);\n });\n\n this.kanbanEventService.unselectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((_) => {\n this.selectedItems.clear();\n });\n\n this.kanbanEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: KanbanItem) => {\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\n this.selectedItems.clear();\n }\n this.selectedItems.add(item);\n this.itemsSelected.emit([...this.selectedItems]);\n\n // Finding the item column and setting selectedColumn.\n this.data.columns.forEach((column: KanbanColumn) => {\n column.items.forEach((currentItem: KanbanItem) => {\n if (currentItem === item) {\n this.selectedColumn = column;\n return;\n }\n });\n });\n });\n\n this.kanbanEventService.unselectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\n this.selectedItems.delete(item);\n });\n }\n\n private _normalizeData(): void {\n this.data.columns.forEach((column: KanbanColumn) => {\n column.id = column.id || `id-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;\n });\n }\n\n private _validateInputs(): void {\n const columns = this.data.columns;\n const columnIds = this.data.columns.map((column: KanbanColumn) => column.id);\n\n if (new Set(columnIds).size !== columns.length) {\n throw new Error(\"Repeated IDs are not accepted.\");\n }\n }\n\n private _getTemplates(): void {\n this.columnHeaderTemplate = this.getColumnHeaderTemplate();\n this.columnEmptyMessageTemplate = this.getColumnEmptyMessageTemplate();\n this.itemHeaderTemplate = this.getItemHeaderTemplate();\n this.itemBodyTemplate = this.getItemBodyTemplate();\n this.itemFooterTemplate = this.getItemFooterTemplate();\n }\n}\n","<div class=\"kanban\">\n <s-kanban-column\n *ngFor=\"let column of data.columns\"\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"columnHeaderTemplate\">\n <div\n [id]=\"column.id + ''\"\n style=\"height: 100%; width: 100%;\"\n cdkDropList\n #dynamicList=\"cdkDropList\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\n (cdkDropListDropped)=\"drop($event)\">\n\n @if (!columnEmptyMessageTemplate) {\n <div *ngIf=\"!column.items.length\" class=\"empty-message\">\n <p class=\"text\">\n <span class=\"fas fa-clock\"></span>&nbsp;\n <span>{{ \"platform.angular_components.count_items_in_target\" | translate:{ count: column.items.length, target: column.title } }}</span>\n </p>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"></ng-container>\n }\n\n <div\n *ngFor=\"let item of column.items\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\n (cdkDragStarted)=\"dragStarted()\"\n (cdkDragReleased)=\"dragReleased()\"\n (click)=\"selectItem($event, item, column)\">\n \n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n\n <ng-container *cdkDragPreview>\n @if (selectedItems.size > 1) {\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\n } @else {\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n }\n\n </ng-container>\n\n <ng-template #itemTemplate>\n <s-kanban-item\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"itemHeaderTemplate\"\n [bodyTemplate]=\"itemBodyTemplate\"\n [footerTemplate]=\"itemFooterTemplate\">\n </s-kanban-item>\n </ng-template>\n\n <div *cdkDragPlaceholder>\n <div class=\"placeholder\">\n <div class=\"placeholder-line\"></div>\n </div>\n </div>\n </div>\n </div>\n </s-kanban-column>\n</div>\n\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { KanbanColumnComponent } from './components/kanban-column/kanban-column.component';\nimport { KanbanItemDraggingComponent } from './components/kanban-item-dragging/kanban-item-dragging.component';\nimport { KanbanItemComponent } from './components/kanban-item/kanban-item.component';\nimport { KanbanEventService } from './kanban-event.service';\nimport { KanbanComponent } from './kanban.component';\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { ButtonModule } from '@seniorsistemas/angular-components/button';\nimport { TieredMenuModule } from '@seniorsistemas/angular-components/tiered-menu';\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n DragDropModule,\n BadgeModule,\n ButtonModule,\n TieredMenuModule,\n TemplateModule,\n ],\n declarations: [KanbanComponent, KanbanItemComponent, KanbanColumnComponent, KanbanItemDraggingComponent],\n exports: [KanbanComponent, TemplateModule],\n providers: [KanbanEventService],\n})\nexport class KanbanModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.KanbanEventService","i4","i1","i2","i3","i4.KanbanItemComponent","i5.KanbanColumnComponent","i6.KanbanItemDraggingComponent","i7"],"mappings":";;;;;;;;;;;;;;;;;;;;MAKa,kBAAkB,CAAA;AACpB,IAAA,yBAAyB,GAAG,IAAI,YAAY,EAAgB,CAAC;AAC7D,IAAA,2BAA2B,GAAG,IAAI,YAAY,EAAgB,CAAC;AAC/D,IAAA,eAAe,GAAG,IAAI,YAAY,EAAc,CAAC;AACjD,IAAA,iBAAiB,GAAG,IAAI,YAAY,EAAc,CAAC;AAEnD,IAAA,6BAA6B,CAAC,MAAoB,EAAA;AACrD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC/C;AAEM,IAAA,+BAA+B,CAAC,MAAoB,EAAA;AACvD,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACjD;AAEM,IAAA,mBAAmB,CAAC,IAAgB,EAAA;AACvC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;AAEM,IAAA,qBAAqB,CAAC,IAAgB,EAAA;AACzC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACrC;wGApBQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAAlB,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;MCQE,mBAAmB,CAAA;AAqBC,IAAA,mBAAA,CAAA;AAnBtB,IAAA,IAAI,CAAc;IAGlB,QAAQ,GAAG,KAAK,CAAC;IAGjB,YAAY,GAAG,IAAI,CAAC;IAGpB,cAAc,GAA4B,IAAI,CAAC;IAG/C,YAAY,GAA4B,IAAI,CAAC;IAG7C,cAAc,GAA4B,IAAI,CAAC;IAE/C,iBAAiB,GAAyB,EAAE,CAAC;AAEpD,IAAA,WAAA,CAA6B,mBAAuC,EAAA;QAAvC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAoB;KAAK;IAElE,QAAQ,GAAA;QACX,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACvC;AAEM,IAAA,gBAAgB,CAAC,KAAU,EAAA;QAC9B,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3D;aAAM;YACH,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7D;KACJ;IAEO,4BAA4B,GAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE/B,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAwB,KAAI;YACnD,OAAO,CAAC,IAAI,CAAC;AACT,gBAAA,GAAG,MAAM;gBACT,OAAO,EAAE,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;KACpC;wGAhDQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,qOCZhC,k9CAoCA,EAAA,MAAA,EAAA,CAAA,66BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,cAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDxBa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACI,eAAe,EAAA,QAAA,EAAA,k9CAAA,EAAA,MAAA,EAAA,CAAA,66BAAA,CAAA,EAAA,CAAA;oFAMlB,IAAI,EAAA,CAAA;sBADV,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAIlB,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,KAAK;;;MEZG,qBAAqB,CAAA;AAgBT,IAAA,kBAAA,CAAA;AAdd,IAAA,IAAI,CAAgB;IAGpB,YAAY,GAAG,IAAI,CAAC;IAGpB,cAAc,GAA4B,IAAI,CAAC;AAE/C,IAAA,gBAAgB,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AAC1C,IAAA,iBAAiB,CAAwB;AAExC,IAAA,aAAa,GAAG,IAAI,OAAO,EAAQ,CAAC;AAE5C,IAAA,WAAA,CACqB,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KACtD;IAEE,QAAQ,GAAA;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAA+B,GAAG,EAAE,CAAC;KAC/F;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KACjC;IAEO,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE/B,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAA0B,KAAI;YACvD,OAAO,CAAC,IAAI,CAAC;AACX,gBAAA,GAAG,MAAM;AACT,gBAAA,OAAO,EAAE,MAAK,EAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAE;AAC7C,aAAA,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KAC/B;IAEO,gBAAgB,GAAA;QACpB,IAAI,CAAC,gBAAgB,CAAC,YAAY;AAC7B,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,KAAqB,KAAI;YACjC,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpE;iBAAM;gBACH,IAAI,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtE;AACL,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,kBAAkB,CAAC,iBAAiB;AACpC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACb,YAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAChE,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,kBAAkB,CAAC,eAAe;AAClC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,IAAgB,KAAI;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACjC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/D;AACL,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,kBAAkB,CAAC,yBAAyB;AAC5C,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,MAAoB,KAAI;AAChC,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACtB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/D;AACL,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,kBAAkB,CAAC,2BAA2B;AAC9C,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,MAAoB,KAAI;AAChC,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACtB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/D;AACL,SAAC,CAAC,CAAA;KACT;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACZ,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACjD;KACJ;wGA9FQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,iJChBlC,4pCAoCA,EAAA,MAAA,EAAA,CAAA,k0BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDpBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACI,iBAAiB,EAAA,QAAA,EAAA,4pCAAA,EAAA,MAAA,EAAA,CAAA,k0BAAA,CAAA,EAAA,CAAA;oFAMpB,IAAI,EAAA,CAAA;sBADV,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAIlB,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,KAAK;;;MEhBG,2BAA2B,CAAA;IAE7B,aAAa,GAAG,CAAC,CAAC;wGAFhB,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,0GCPxC,ykBAmBA,EAAA,MAAA,EAAA,CAAA,wWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,UAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDZa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACI,wBAAwB,EAAA,QAAA,EAAA,ykBAAA,EAAA,MAAA,EAAA,CAAA,wWAAA,CAAA,EAAA,CAAA;8BAM3B,aAAa,EAAA,CAAA;sBADnB,KAAK;;;MEkBG,eAAe,CAAA;AAiCK,IAAA,kBAAA,CAAA;AA/BtB,IAAA,IAAI,CAAc;IAGlB,kBAAkB,GAAG,IAAI,CAAC;IAG1B,oBAAoB,GAAG,IAAI,CAAC;AAG5B,IAAA,UAAU,GAAG,IAAI,YAAY,EAAuB,CAAC;AAGrD,IAAA,WAAW,GAAG,IAAI,YAAY,EAAc,CAAC;AAG7C,IAAA,aAAa,GAAG,IAAI,YAAY,EAAgB,CAAC;IAEjD,cAAc,GAAwB,IAAI,CAAC;AAC3C,IAAA,aAAa,GAAG,IAAI,GAAG,EAAc,CAAC;AACtC,IAAA,aAAa,GAAG,IAAI,GAAG,EAAc,CAAC;IAEtC,oBAAoB,GAA4B,IAAI,CAAC;IACrD,0BAA0B,GAA4B,IAAI,CAAC;IAC3D,kBAAkB,GAA4B,IAAI,CAAC;IACnD,gBAAgB,GAA4B,IAAI,CAAC;IACjD,kBAAkB,GAA4B,IAAI,CAAC;AAElD,IAAA,aAAa,GAAG,IAAI,OAAO,EAAQ,CAAC;IAER,SAAS,GAAwC,IAAI,CAAC;AAE1F,IAAA,WAAA,CAA6B,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KAAK;IAEjE,QAAQ,GAAA;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KACjC;AAEM,IAAA,IAAI,CAAC,KAAgC,EAAA;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAExG,QAAA,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE;AAClC,YAAA,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;SAC/F;QAED,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,EAAE;AAC7C,YAAA,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SAClF;aAAM;YACH,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SAClH;QAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAgB,KAAI;AAC5C,YAAA,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACjE,YAAA,IAAI,aAAa,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClD,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,EAAE;AAC7C,oBAAA,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;iBAC5E;qBAAM;AACH,oBAAA,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;iBAC5G;aACJ;AACL,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAExC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACjB,YAAA,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,cAAc;YACd,YAAY;AACf,SAAA,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE;AACpC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAoB,KAAI;AAC/C,YAAA,IAAI,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACpE,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC9B;AAEM,IAAA,UAAU,CAAC,KAAiB,EAAE,IAAgB,EAAE,MAAoB,EAAA;AACvE,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;AAEzC,QAAA,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACjC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;aACvD;iBAAM;AACH,gBAAA,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAClE,oBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;iBAC9B;AAED,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;AAC7B,gBAAA,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;aACrD;SACJ;aAAM;AACH,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO;AAE5C,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;AAC7B,YAAA,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SACrD;KACJ;IAEM,WAAW,GAAA;QACd,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAgB,KAAI;AAC5C,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACN;IAEM,YAAY,GAAA;AACf,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC9B;AAEM,IAAA,gBAAgB,CAAC,aAA2B,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAoB,KAAK,MAAM,IAAI,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;KACrI;IAEM,uBAAuB,GAAA;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;KAC3D;IAEM,6BAA6B,GAAA;QAChC,OAAO,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC;KAClE;IAEM,qBAAqB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;KACzD;IAEM,mBAAmB,GAAA;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;KACvD;IAEM,qBAAqB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;KACzD;AAEO,IAAA,kBAAkB,CAAC,IAAY,EAAA;QACnC,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAA2B,KAAK,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;KAC1G;IAEO,gBAAgB,GAAA;QACpB,IAAI,CAAC,kBAAkB,CAAC,yBAAyB;AAC5C,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,MAAoB,KAAI;AAChC,YAAA,MAAM,CAAC,KAAK;AACP,iBAAA,MAAM,CAAC,CAAC,IAAgB,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5D,iBAAA,OAAO,CAAC,CAAC,IAAgB,KAAI;AAC1B,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;AACP,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,kBAAkB,CAAC,2BAA2B;AAC9C,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC/B,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,kBAAkB,CAAC,eAAe;AAClC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,IAAgB,KAAI;AAC5B,YAAA,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAClE,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;aAC9B;AACD,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;;YAGjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAoB,KAAI;gBAC/C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAuB,KAAI;AAC7C,oBAAA,IAAI,WAAW,KAAK,IAAI,EAAE;AACtB,wBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;wBAC7B,OAAO;qBACV;AACL,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAgB,KAAI;AACzG,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACN;IAEO,cAAc,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAoB,KAAI;AAC/C,YAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,CAAM,GAAA,EAAA,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3G,SAAC,CAAC,CAAC;KACN;IAEO,eAAe,GAAA;AACnB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAClC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;AAE7E,QAAA,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE;AAC5C,YAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACrD;KACJ;IAEO,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAC3D,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;AACvE,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACvD,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACnD,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC1D;wGA7NQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EA+BP,iBAAiB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzDtC,i2EAmEA,EAAA,MAAA,EAAA,CAAA,8fAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDzCa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACI,UAAU,EAAA,QAAA,EAAA,i2EAAA,EAAA,MAAA,EAAA,CAAA,8fAAA,CAAA,EAAA,CAAA;oFAMb,IAAI,EAAA,CAAA;sBADV,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAIlB,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,MAAM;gBAIA,WAAW,EAAA,CAAA;sBADjB,MAAM;gBAIA,aAAa,EAAA,CAAA;sBADnB,MAAM;gBAe6B,SAAS,EAAA,CAAA;sBAA5C,eAAe;uBAAC,iBAAiB,CAAA;;;MExBzB,YAAY,CAAA;wGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAZ,YAAY,EAAA,YAAA,EAAA,CAJN,eAAe,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAVnG,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,eAAe;YACf,cAAc;YACd,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,cAAc,CAAA,EAAA,OAAA,EAAA,CAGR,eAAe,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA;AAGhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAFV,SAAA,EAAA,CAAC,kBAAkB,CAAC,YAZ3B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,eAAe;YACf,cAAc;YACd,WAAW;YACX,YAAY;YACZ,gBAAgB;AAChB,YAAA,cAAc,EAGS,cAAc,CAAA,EAAA,CAAA,CAAA;;4FAGhC,YAAY,EAAA,UAAA,EAAA,CAAA;kBAhBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,eAAe;wBACf,cAAc;wBACd,WAAW;wBACX,YAAY;wBACZ,gBAAgB;wBAChB,cAAc;AACjB,qBAAA;oBACD,YAAY,EAAE,CAAC,eAAe,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,2BAA2B,CAAC;AACxG,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;oBAC1C,SAAS,EAAE,CAAC,kBAAkB,CAAC;AAClC,iBAAA,CAAA;;;AChCD;;AAEG;;;;"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-kanban.mjs","sources":["../../projects/angular-components/kanban/src/lib/kanban/kanban-event.service.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item/kanban-item.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item/kanban-item.component.html","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-column/kanban-column.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-column/kanban-column.component.html","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.ts","../../projects/angular-components/kanban/src/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.html","../../projects/angular-components/kanban/src/lib/kanban/kanban.component.ts","../../projects/angular-components/kanban/src/lib/kanban/kanban.component.html","../../projects/angular-components/kanban/src/lib/kanban/kanban.module.ts","../../projects/angular-components/kanban/src/seniorsistemas-angular-components-kanban.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\n\nimport { KanbanColumn, KanbanItem } from './types';\n\n@Injectable()\nexport class KanbanEventService {\n public selectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public unselectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public selectItemEvent = new EventEmitter<KanbanItem>();\n public unselectItemEvent = new EventEmitter<KanbanItem>();\n\n public emitSelectAllColumnItemsEvent(column: KanbanColumn): void {\n this.selectAllColumnItemsEvent.emit(column);\n }\n\n public emitUnselectAllColumnItemsEvent(column: KanbanColumn): void {\n this.unselectAllColumnItemsEvent.emit(column);\n }\n\n public emitSelectItemEvent(item: KanbanItem): void {\n this.selectItemEvent.emit(item);\n }\n\n public emitUnselectItemEvent(item: KanbanItem): void {\n this.unselectItemEvent.emit(item);\n }\n}\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\n\nimport { KanbanItem } from \"../../types\";\nimport { KanbanEventService } from \"../../kanban-event.service\";\nimport { KanbanItemOption } from \"../../types/kanban-data\";\nimport { TieredMenuItemData } from \"@seniorsistemas/angular-components/tiered-menu\";\n\n@Component({\n selector: \"s-kanban-item\",\n templateUrl: \"./kanban-item.component.html\",\n styleUrls: [\"./kanban-item.component.scss\"],\n})\nexport class KanbanItemComponent implements OnInit {\n @Input({ required: true })\n public item!: KanbanItem;\n\n @Input()\n public selected = false;\n\n @Input()\n public showCheckbox = true;\n\n @Input()\n public headerTemplate: TemplateRef<any> | null = null;\n\n @Input()\n public bodyTemplate: TemplateRef<any> | null = null;\n\n @Input()\n public footerTemplate: TemplateRef<any> | null = null;\n\n public kanbanItemOptions: TieredMenuItemData[] = [];\n\n constructor(private readonly _kanbanEventService: KanbanEventService) { }\n\n public ngOnInit(): void {\n this._convertToTieredMenuItemData();\n }\n\n public onSelectedChange(value: any): void {\n if (value) {\n this._kanbanEventService.emitSelectItemEvent(this.item);\n } else {\n this._kanbanEventService.emitUnselectItemEvent(this.item);\n }\n }\n\n private _convertToTieredMenuItemData() {\n if (!this.item.options) return;\n\n const options: TieredMenuItemData[] = [];\n\n this.item.options.forEach((option: KanbanItemOption) => {\n options.push({\n ...option,\n command: () => option.command(this.item),\n });\n });\n\n this.kanbanItemOptions = options;\n }\n}\n","<div\n class=\"kanban-item\"\n [ngClass]=\"{\n 'kanban-item--selected': selected && !item.disabled,\n 'kanban-item--disabled': item.disabled,\n 'kanban-item--frozen': !item.disabled && item.frozen\n }\">\n <div class=\"kanban-item__header\">\n <div class=\"content\">\n <form>\n <input\n *ngIf=\"showCheckbox && !item.disabled && !item.frozen\"\n type=\"checkbox\"\n name=\"checkbox\"\n [(ngModel)]=\"selected\"\n (ngModelChange)=\"onSelectedChange($event)\"\n (click)=\"$event.stopPropagation()\">\n </form>\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <button\n *ngIf=\"item.options && !item.disabled\"\n class=\"options-button\"\n (click)=\"$event.stopPropagation();\"\n sTieredMenu\n [items]=\"kanbanItemOptions\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </button>\n </div>\n <div class=\"kanban-item__body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div *ngIf=\"footerTemplate\" class=\"kanban-item__footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container> \n </div>\n</div>\n","import { Component, Input, OnDestroy, OnInit, TemplateRef } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { KanbanColumn, KanbanItem } from \"../../types\";\nimport { KanbanEventService } from \"../../kanban-event.service\";\nimport { FormControl } from \"@angular/forms\";\nimport { KanbanColumnOption } from \"../../types/kanban-data\";\nimport { TieredMenuItemData } from \"@seniorsistemas/angular-components/tiered-menu\";\n\n@Component({\n selector: \"s-kanban-column\",\n templateUrl: \"./kanban-column.component.html\",\n styleUrls: [\"./kanban-column.component.scss\"],\n})\nexport class KanbanColumnComponent implements OnInit, OnDestroy {\n @Input({ required: true })\n public data!: KanbanColumn;\n\n @Input()\n public showCheckbox = true;\n\n @Input()\n public headerTemplate: TemplateRef<any> | null = null;\n\n public selectionControl = new FormControl(false);\n public tieredMenuOptions!: TieredMenuItemData[];\n\n private _unsubscribe$ = new Subject<void>();\n\n constructor(\n private readonly kanbanEventService: KanbanEventService,\n ) { }\n\n public ngOnInit(): void {\n this._validateInputs();\n this._subscriveEvents();\n\n this._createTieredOptions();\n\n this.tieredMenuOptions = this.data.options ? this.data.options as TieredMenuItemData[] : [];\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n private _createTieredOptions(): void {\n if (!this.data.options) return;\n\n const options: KanbanColumnOption[] = [];\n\n this.data.options.forEach((option: KanbanColumnOption) => {\n options.push({\n ...option,\n command: () => { option.command(this.data) },\n });\n });\n\n this.data.options = options;\n }\n\n private _subscriveEvents(): void {\n this.selectionControl.valueChanges\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((value: boolean | null) => {\n if (value) {\n this.kanbanEventService.emitSelectAllColumnItemsEvent(this.data);\n } else {\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(this.data);\n }\n });\n\n this.kanbanEventService.unselectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((_) => {\n this.selectionControl.setValue(false, { emitEvent: false });\n });\n\n this.kanbanEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: KanbanItem) => {\n if (!this.data.items.includes(item)) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n });\n\n this.kanbanEventService.selectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n if (this.data !== column) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n });\n\n this.kanbanEventService.unselectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n if (this.data !== column) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n })\n }\n\n private _validateInputs(): void {\n if (!this.data) {\n throw new Error(\"data parameter is required\");\n }\n }\n}\n","<div class=\"kanban-column\">\n <div class=\"kanban-column__header\">\n <div class=\"content\">\n <form>\n @if (showCheckbox) {\n <input\n type=\"checkbox\"\n name=\"checkbox\"\n [formControl]=\"selectionControl\"\n />\n }\n </form>\n\n @if (!headerTemplate) {\n <div class=\"header\">\n <span class=\"title\">{{ data.title }} ({{ data.items.length }})</span>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n </div>\n @if (data.options) {\n <s-button\n priority=\"default\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n size=\"small\"\n [menuOptions]=\"tieredMenuOptions\"\n >\n </s-button>\n }\n </div>\n <div class=\"kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 's-kanban-item-dragging',\n templateUrl: './kanban-item-dragging.component.html',\n styleUrls: ['./kanban-item-dragging.component.scss'],\n})\nexport class KanbanItemDraggingComponent {\n @Input()\n public quantityItems = 0;\n}\n","<div class=\"kanban-item-dragging-container\">\n <div\n *ngIf=\"quantityItems\"\n class=\"kanban-item-dragging\">\n </div>\n\n <div\n class=\"kanban-item-dragging\"\n [ngClass]=\"{ 'kanban-item-dragging--over': quantityItems }\">\n <div class=\"content\">\n <input type=\"checkbox\" checked />\n <s-badge\n [text]=\"'platform.angular_components.count_items_selected' | translate:{ count: quantityItems }\"\n color=\"blue\">\n </s-badge>\n </div>\n </div>\n\n</div>\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { KanbanEventService } from './kanban-event.service';\nimport { KanbanColumn, KanbanData, KanbanItem, KanbanItemMovedData } from './types/index';\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\n\n/**\n * @description Componente de quadro Kanban com suporte a arrastar e soltar colunas e itens.\n * Permite seleção via checkboxes, templates customizáveis para cabeçalho, corpo e rodapé\n * dos cards, além de emitir eventos de movição e seleção.\n *\n * @example\n * ```html\n * <s-kanban\n * [data]=\"dadosKanban\"\n * (itemsMoved)=\"onItemMovido($event)\" />\n * ```\n *\n * @category Data\n */\n@Component({\n selector: 's-kanban',\n templateUrl: './kanban.component.html',\n styleUrls: ['./kanban.component.scss'],\n})\nexport class KanbanComponent implements OnInit, AfterContentInit, OnDestroy {\n /** @description Dados do quadro Kanban com colunas e itens. Campo obrigatório. */\n @Input({ required: true })\n public data!: KanbanData;\n\n /** @description Exibe checkboxes de seleção em cada item Kanban. @default true */\n @Input()\n public showItemCheckboxes = true;\n\n /** @description Exibe checkboxes de seleção no cabeçalho de cada coluna. @default true */\n @Input()\n public showColumnCheckboxes = true;\n\n /** @description Emitido quando o usuário move um item entre colunas ou posições. */\n @Output()\n public itemsMoved = new EventEmitter<KanbanItemMovedData>();\n\n /** @description Emitido quando os dados do quadro são atualizados após movição. */\n @Output()\n public dataUpdated = new EventEmitter<KanbanData>();\n\n /** @description Emitido quando a seleção de itens muda, com a lista de itens selecionados. */\n @Output()\n public itemsSelected = new EventEmitter<KanbanItem[]>();\n\n public selectedColumn: KanbanColumn | null = null;\n public selectedItems = new Set<KanbanItem>();\n public draggingItems = new Set<KanbanItem>();\n\n public columnHeaderTemplate: TemplateRef<any> | null = null;\n public columnEmptyMessageTemplate: TemplateRef<any> | null = null;\n public itemHeaderTemplate: TemplateRef<any> | null = null;\n public itemBodyTemplate: TemplateRef<any> | null = null;\n public itemFooterTemplate: TemplateRef<any> | null = null;\n\n private _unsubscribe$ = new Subject<void>();\n\n @ContentChildren(TemplateDirective) templates: QueryList<TemplateDirective> | null = null;\n\n constructor(private readonly kanbanEventService: KanbanEventService) {}\n\n public ngOnInit(): void {\n this._subscribeEvents();\n this._normalizeData();\n this._validateInputs();\n }\n\n ngAfterContentInit() {\n this._getTemplates();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n public drop(event: CdkDragDrop<KanbanItem[]>): void {\n const previousColumn = this.data.columns.find(\n (column: KanbanColumn) => column.id === event.previousContainer.id,\n );\n const targetColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.container.id);\n\n if (!previousColumn || !targetColumn) {\n throw new Error('Unable to obtain information about columns when performing drag and drop');\n }\n\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex,\n );\n }\n\n this.selectedItems.forEach((item: KanbanItem) => {\n const previousIndex = event.previousContainer.data.indexOf(item);\n if (previousIndex !== -1 && item !== event.item.data) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, previousIndex, event.currentIndex);\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n previousIndex,\n event.currentIndex,\n );\n }\n }\n });\n\n this.selectedItems.add(event.item.data);\n\n this.itemsMoved.emit({\n items: [...this.selectedItems],\n previousColumn,\n targetColumn,\n });\n\n if (this.dataUpdated.observers?.length) {\n this.dataUpdated.emit({ ...this.data });\n }\n\n this.data.columns.forEach((column: KanbanColumn) => {\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(column);\n });\n this.selectedItems.clear();\n }\n\n public selectItem(event: MouseEvent, item: KanbanItem, column: KanbanColumn): void {\n if (item.disabled || item.frozen) return;\n\n if (event.ctrlKey) {\n if (this.selectedItems.delete(item)) {\n this.kanbanEventService.emitUnselectItemEvent(item);\n } else {\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\n this.selectedItems.clear();\n }\n\n this.selectedItems.add(item);\n this.selectedColumn = column;\n this.kanbanEventService.emitSelectItemEvent(item);\n }\n } else {\n if (this.selectedItems.delete(item)) return;\n\n this.selectedItems.clear();\n this.selectedItems.add(item);\n this.selectedColumn = column;\n this.kanbanEventService.emitSelectItemEvent(item);\n }\n }\n\n public dragStarted(): void {\n this.selectedItems.forEach((item: KanbanItem) => {\n this.draggingItems.add(item);\n });\n }\n\n public dragReleased(): void {\n this.draggingItems.clear();\n }\n\n public getLinkedColumns(currentColumn: KanbanColumn): string[] {\n return this.data.columns\n .filter((column: KanbanColumn) => column != currentColumn)\n .map((column: KanbanColumn) => column.id ?? '');\n }\n\n public getColumnHeaderTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('column-header') ?? null;\n }\n\n public getColumnEmptyMessageTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('column-empty-message') ?? null;\n }\n\n public getItemHeaderTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('item-header') ?? null;\n }\n\n public getItemBodyTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('item-body') ?? null;\n }\n\n public getItemFooterTemplate(): TemplateRef<any> | null {\n return this._getCustomTemplate('item-footer') ?? null;\n }\n\n private _getCustomTemplate(type: string): TemplateRef<any> | null {\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template ?? null;\n }\n\n private _subscribeEvents(): void {\n this.kanbanEventService.selectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n column.items\n .filter((item: KanbanItem) => !item.disabled && !item.frozen)\n .forEach((item: KanbanItem) => {\n this.selectedItems.add(item);\n });\n this.selectedColumn = column;\n this.itemsSelected.emit([...this.selectedItems]);\n });\n\n this.kanbanEventService.unselectAllColumnItemsEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((_) => {\n this.selectedItems.clear();\n });\n\n this.kanbanEventService.selectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\n this.selectedItems.clear();\n }\n this.selectedItems.add(item);\n this.itemsSelected.emit([...this.selectedItems]);\n\n // Finding the item column and setting selectedColumn.\n this.data.columns.forEach((column: KanbanColumn) => {\n column.items.forEach((currentItem: KanbanItem) => {\n if (currentItem === item) {\n this.selectedColumn = column;\n return;\n }\n });\n });\n });\n\n this.kanbanEventService.unselectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\n this.selectedItems.delete(item);\n });\n }\n\n private _normalizeData(): void {\n this.data.columns.forEach((column: KanbanColumn) => {\n column.id = column.id || `id-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;\n });\n }\n\n private _validateInputs(): void {\n const columns = this.data.columns;\n const columnIds = this.data.columns.map((column: KanbanColumn) => column.id);\n\n if (new Set(columnIds).size !== columns.length) {\n throw new Error('Repeated IDs are not accepted.');\n }\n }\n\n private _getTemplates(): void {\n this.columnHeaderTemplate = this.getColumnHeaderTemplate();\n this.columnEmptyMessageTemplate = this.getColumnEmptyMessageTemplate();\n this.itemHeaderTemplate = this.getItemHeaderTemplate();\n this.itemBodyTemplate = this.getItemBodyTemplate();\n this.itemFooterTemplate = this.getItemFooterTemplate();\n }\n}\n\n","<div class=\"kanban\">\n <s-kanban-column\n *ngFor=\"let column of data.columns\"\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"columnHeaderTemplate\">\n <div\n [id]=\"column.id + ''\"\n style=\"height: 100%; width: 100%;\"\n cdkDropList\n #dynamicList=\"cdkDropList\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\n (cdkDropListDropped)=\"drop($event)\">\n\n @if (!columnEmptyMessageTemplate) {\n <div *ngIf=\"!column.items.length\" class=\"empty-message\">\n <p class=\"text\">\n <span class=\"fas fa-clock\"></span>&nbsp;\n <span>{{ \"platform.angular_components.count_items_in_target\" | translate:{ count: column.items.length, target: column.title } }}</span>\n </p>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"></ng-container>\n }\n\n <div\n *ngFor=\"let item of column.items\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\n (cdkDragStarted)=\"dragStarted()\"\n (cdkDragReleased)=\"dragReleased()\"\n (click)=\"selectItem($event, item, column)\">\n \n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n\n <ng-container *cdkDragPreview>\n @if (selectedItems.size > 1) {\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\n } @else {\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n }\n\n </ng-container>\n\n <ng-template #itemTemplate>\n <s-kanban-item\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"itemHeaderTemplate\"\n [bodyTemplate]=\"itemBodyTemplate\"\n [footerTemplate]=\"itemFooterTemplate\">\n </s-kanban-item>\n </ng-template>\n\n <div *cdkDragPlaceholder>\n <div class=\"placeholder\">\n <div class=\"placeholder-line\"></div>\n </div>\n </div>\n </div>\n </div>\n </s-kanban-column>\n</div>\n\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { KanbanColumnComponent } from './components/kanban-column/kanban-column.component';\nimport { KanbanItemDraggingComponent } from './components/kanban-item-dragging/kanban-item-dragging.component';\nimport { KanbanItemComponent } from './components/kanban-item/kanban-item.component';\nimport { KanbanEventService } from './kanban-event.service';\nimport { KanbanComponent } from './kanban.component';\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { ButtonModule } from '@seniorsistemas/angular-components/button';\nimport { TieredMenuModule } from '@seniorsistemas/angular-components/tiered-menu';\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n DragDropModule,\n BadgeModule,\n ButtonModule,\n TieredMenuModule,\n TemplateModule,\n ],\n declarations: [KanbanComponent, KanbanItemComponent, KanbanColumnComponent, KanbanItemDraggingComponent],\n exports: [KanbanComponent, TemplateModule],\n providers: [KanbanEventService],\n})\nexport class KanbanModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.KanbanEventService","i4","i1","i2","i3","i4.KanbanItemComponent","i5.KanbanColumnComponent","i6.KanbanItemDraggingComponent","i7"],"mappings":"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"}
@@ -11,7 +11,20 @@ import { LocaleModule } from '@seniorsistemas/angular-components/locale';
11
11
  import * as i5 from '@seniorsistemas/angular-components/numeric';
12
12
  import { NumericModule } from '@seniorsistemas/angular-components/numeric';
13
13
 
14
+ /**
15
+ * @description Componente de exibição de par label/valor que suporta diferentes
16
+ * tipos de conteúdo configurados via `LabelValueConfiguration`: texto, número,
17
+ * moeda, data e badge.
18
+ *
19
+ * @example
20
+ * ```html
21
+ * <s-label-value [configuration]="{ type: 'Text', label: 'Nome', value: 'João' }" />
22
+ * ```
23
+ *
24
+ * @category Summary
25
+ */
14
26
  class LabelValueComponent {
27
+ /** @description Configuração do par label/valor, incluindo tipo e dados para renderização. Campo obrigatório. */
15
28
  configuration;
16
29
  isBadgeConfiguration(config) {
17
30
  return config.type === 'Badge';
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-label-value.mjs","sources":["../../projects/angular-components/label-value/src/lib/label-value/label-value.component.ts","../../projects/angular-components/label-value/src/lib/label-value/label-value.component.html","../../projects/angular-components/label-value/src/lib/label-value/label-value.module.ts","../../projects/angular-components/label-value/src/seniorsistemas-angular-components-label-value.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport {\n BadgeConfiguration,\n CurrencyConfiguration,\n DateConfiguration,\n LabelValueConfiguration,\n NumberConfiguration,\n TextConfiguration,\n} from './types/label-value-configuration';\n\n@Component({\n selector: 's-label-value',\n templateUrl: './label-value.component.html',\n styleUrls: ['./label-value.component.scss'],\n})\nexport class LabelValueComponent {\n @Input({ required: true })\n public configuration!: LabelValueConfiguration;\n\n isBadgeConfiguration(config: LabelValueConfiguration): config is BadgeConfiguration {\n return config.type === 'Badge';\n }\n\n isTextConfiguration(config: LabelValueConfiguration): config is TextConfiguration {\n return config.type === 'Text';\n }\n\n isCurrencyConfiguration(config: LabelValueConfiguration): config is CurrencyConfiguration {\n return config.type === 'Currency';\n }\n\n isNumberConfiguration(config: LabelValueConfiguration): config is NumberConfiguration {\n return config.type === 'Number';\n }\n\n isDateConfiguration(config: LabelValueConfiguration): config is DateConfiguration {\n return config.type === 'Date';\n }\n}\n","<div class=\"flex flex-col\">\n <p class=\"font-bold\">\n {{ configuration.title }}\n </p>\n\n @if (configuration.value) {\n @if (isTextConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value }}\n </span>\n }\n\n @if (isBadgeConfiguration(configuration)) {\n @for (badge of configuration.value; track $index) {\n <s-badge\n [type]=\"badge.type ?? 'pill'\"\n [color]=\"badge.color ?? 'blue'\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n [iconPosition]=\"badge.iconPosition\"\n ></s-badge>\n }\n }\n\n @if (isCurrencyConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | numeric: { numberFormatOptions: { style: 'currency', currency: configuration.currency } } | async }}\n </span>\n }\n\n @if (isNumberConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | localizedNumber | async }}\n </span>\n }\n\n @if (isDateConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | localizedDate: configuration.format || 'L' | async }}\n </span>\n }\n } @else {\n <span class=\"sds-empty-value\">\n {{ 'platform.angular_components.not_informed' | translate }}\n </span>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { LabelValueComponent } from './label-value.component';\n\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { LocaleModule } from '@seniorsistemas/angular-components/locale';\nimport { NumericModule } from '@seniorsistemas/angular-components/numeric';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, BadgeModule, LocaleModule, NumericModule],\n declarations: [LabelValueComponent],\n exports: [LabelValueComponent],\n})\nexport class LabelValueModule {}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;MAea,mBAAmB,CAAA;AAErB,IAAA,aAAa,CAA2B;AAE/C,IAAA,oBAAoB,CAAC,MAA+B,EAAA;AAChD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;KAClC;AAED,IAAA,mBAAmB,CAAC,MAA+B,EAAA;AAC/C,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;KACjC;AAED,IAAA,uBAAuB,CAAC,MAA+B,EAAA;AACnD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;KACrC;AAED,IAAA,qBAAqB,CAAC,MAA+B,EAAA;AACjD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;KACnC;AAED,IAAA,mBAAmB,CAAC,MAA+B,EAAA;AAC/C,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;KACjC;wGAtBQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,iGCfhC,wmDA+CA,EAAA,MAAA,EAAA,CAAA,kFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,UAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDhCa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACI,eAAe,EAAA,QAAA,EAAA,wmDAAA,EAAA,MAAA,EAAA,CAAA,kFAAA,CAAA,EAAA,CAAA;8BAMlB,aAAa,EAAA,CAAA;sBADnB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;;MEAhB,gBAAgB,CAAA;wGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAHV,YAAA,EAAA,CAAA,mBAAmB,CADxB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,aAEvE,mBAAmB,CAAA,EAAA,CAAA,CAAA;yGAEpB,gBAAgB,EAAA,OAAA,EAAA,CAJf,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAIxE,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC;oBAClF,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AACjC,iBAAA,CAAA;;;ACfD;;AAEG;;;;"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-label-value.mjs","sources":["../../projects/angular-components/label-value/src/lib/label-value/label-value.component.ts","../../projects/angular-components/label-value/src/lib/label-value/label-value.component.html","../../projects/angular-components/label-value/src/lib/label-value/label-value.module.ts","../../projects/angular-components/label-value/src/seniorsistemas-angular-components-label-value.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport {\n BadgeConfiguration,\n CurrencyConfiguration,\n DateConfiguration,\n LabelValueConfiguration,\n NumberConfiguration,\n TextConfiguration,\n} from './types/label-value-configuration';\n\n/**\n * @description Componente de exibição de par label/valor que suporta diferentes\n * tipos de conteúdo configurados via `LabelValueConfiguration`: texto, número,\n * moeda, data e badge.\n *\n * @example\n * ```html\n * <s-label-value [configuration]=\"{ type: 'Text', label: 'Nome', value: 'João' }\" />\n * ```\n *\n * @category Summary\n */\n@Component({\n selector: 's-label-value',\n templateUrl: './label-value.component.html',\n styleUrls: ['./label-value.component.scss'],\n})\nexport class LabelValueComponent {\n /** @description Configuração do par label/valor, incluindo tipo e dados para renderização. Campo obrigatório. */\n @Input({ required: true })\n public configuration!: LabelValueConfiguration;\n\n isBadgeConfiguration(config: LabelValueConfiguration): config is BadgeConfiguration {\n return config.type === 'Badge';\n }\n\n isTextConfiguration(config: LabelValueConfiguration): config is TextConfiguration {\n return config.type === 'Text';\n }\n\n isCurrencyConfiguration(config: LabelValueConfiguration): config is CurrencyConfiguration {\n return config.type === 'Currency';\n }\n\n isNumberConfiguration(config: LabelValueConfiguration): config is NumberConfiguration {\n return config.type === 'Number';\n }\n\n isDateConfiguration(config: LabelValueConfiguration): config is DateConfiguration {\n return config.type === 'Date';\n }\n}\n\n","<div class=\"flex flex-col\">\n <p class=\"font-bold\">\n {{ configuration.title }}\n </p>\n\n @if (configuration.value) {\n @if (isTextConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value }}\n </span>\n }\n\n @if (isBadgeConfiguration(configuration)) {\n @for (badge of configuration.value; track $index) {\n <s-badge\n [type]=\"badge.type ?? 'pill'\"\n [color]=\"badge.color ?? 'blue'\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n [iconPosition]=\"badge.iconPosition\"\n ></s-badge>\n }\n }\n\n @if (isCurrencyConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | numeric: { numberFormatOptions: { style: 'currency', currency: configuration.currency } } | async }}\n </span>\n }\n\n @if (isNumberConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | localizedNumber | async }}\n </span>\n }\n\n @if (isDateConfiguration(configuration)) {\n <span class=\"sds-readonly\">\n {{ configuration.value | localizedDate: configuration.format || 'L' | async }}\n </span>\n }\n } @else {\n <span class=\"sds-empty-value\">\n {{ 'platform.angular_components.not_informed' | translate }}\n </span>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { LabelValueComponent } from './label-value.component';\n\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { LocaleModule } from '@seniorsistemas/angular-components/locale';\nimport { NumericModule } from '@seniorsistemas/angular-components/numeric';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, BadgeModule, LocaleModule, NumericModule],\n declarations: [LabelValueComponent],\n exports: [LabelValueComponent],\n})\nexport class LabelValueModule {}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -29,11 +29,47 @@ var LoadingStateIndicators;
29
29
  LoadingStateIndicators["Logo"] = "logo";
30
30
  })(LoadingStateIndicators || (LoadingStateIndicators = {}));
31
31
 
32
+ /**
33
+ * @description Componente de estado de carregamento que exibe um indicador animado enquanto
34
+ * um processo assíncrono está em andamento. Suporta bloqueio da janela inteira
35
+ * e diferentes tipos de indicadores visuais.
36
+ * Também pode ser usado como diretiva estrutural `[sLoadingState]`.
37
+ *
38
+ * @example
39
+ * ```html
40
+ * <s-loading-state [loading]="isLoading" [blockWindow]="true">
41
+ * <p>Conteúdo carregado!</p>
42
+ * </s-loading-state>
43
+ * ```
44
+ *
45
+ * @category Feedback
46
+ */
32
47
  class LoadingStateComponent {
33
48
  static nextId = 0;
49
+ /**
50
+ * @description Tipo de indicador visual exibido durante o carregamento.
51
+ * - `LoadingStateIndicators.Dots`: indicador de pontos animados (padrão).
52
+ * - `LoadingStateIndicators.Logo`: indicador com logotipo animado.
53
+ *
54
+ * @default LoadingStateIndicators.Dots
55
+ */
34
56
  indicator = LoadingStateIndicators.Dots;
57
+ /**
58
+ * @description Identificador único do componente. Gerado automaticamente se não informado.
59
+ */
35
60
  id = `s-loading-state-${LoadingStateComponent.nextId++}`;
61
+ /**
62
+ * @description Quando `true`, bloqueia a janela inteira durante o carregamento,
63
+ * sobrepondo todo o conteúdo da página com o indicador.
64
+ *
65
+ * @default false
66
+ */
36
67
  blockWindow = false;
68
+ /**
69
+ * @description Controla o estado de carregamento do componente. Campo obrigatório.
70
+ * Quando `true`, exibe o indicador de carregamento após um breve delay.
71
+ * Quando `false`, remove o indicador após um breve delay (evita flash).
72
+ */
37
73
  set loading(loading) {
38
74
  this._loading = loading;
39
75
  loading ? this.block() : this.unblock();
@@ -97,11 +133,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
97
133
  args: [{ required: true }]
98
134
  }] } });
99
135
 
136
+ /**
137
+ * @description Diretiva estrutural que envolve o conteúdo da view com um indicador de carregamento.
138
+ * É uma alternativa inline ao `LoadingStateComponent`, podendo ser aplicada diretamente
139
+ * em containers existentes sem a necessidade de criar um wrapper explícito no template.
140
+ *
141
+ * @example
142
+ * ```html
143
+ * <!-- Forma simples (boolean) -->
144
+ * <div *sLoadingState="isLoading">Conteúdo</div>
145
+ *
146
+ * <!-- Forma com configuração -->
147
+ * <div *sLoadingState="{ loading: isLoading, indicator: 'logo' }">Conteúdo</div>
148
+ * ```
149
+ *
150
+ * @category Feedback
151
+ */
100
152
  class LoadingStateDirective {
101
153
  target;
102
154
  template;
103
155
  componentFactoryResolver;
104
156
  cdr;
157
+ /**
158
+ * @description Controla o estado de carregamento da diretiva.
159
+ * Aceita:
160
+ * - `boolean`: ativa/desativa o carregamento com o indicador padrão (`dots`).
161
+ * - `{ loading: boolean; indicator?: LoadingStateIndicators }`: permite configurar
162
+ * o tipo de indicador junto com o estado de carregamento.
163
+ */
105
164
  set sLoadingState(value) {
106
165
  if (typeof value === 'boolean') {
107
166
  this._loading = value;
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-loading-state.mjs","sources":["../../projects/angular-components/loading-state/src/lib/loading-state/components/dots-indicator/dots-indicator.components.ts","../../projects/angular-components/loading-state/src/lib/loading-state/components/dots-indicator/dots-indicator.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/components/logo-indicator/logo-indicator.component.ts","../../projects/angular-components/loading-state/src/lib/loading-state/components/logo-indicator/logo-indicator.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/components/loading-state-indicators.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.component.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.directive.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.module.ts","../../projects/angular-components/loading-state/src/seniorsistemas-angular-components-loading-state.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 's-dots-indicator',\n templateUrl: './dots-indicator.component.html',\n styleUrls: ['./dots-indicator.component.scss'],\n})\nexport class DotsIndicatorComponent {}\n","<div class=\"dots-indicator\">\n <div class=\"bounce bounce--1\"></div>\n <div class=\"bounce bounce--2\"></div>\n <div class=\"bounce bounce--3\"></div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 's-logo-indicator',\n templateUrl: './logo-indicator.component.html',\n styleUrls: ['./logo-indicator.component.scss'],\n})\nexport class LoadingIndicatorComponent {}\n","<div class=\"logo-indicator\">\n <span *sSVGFactory=\"'senior'\"></span>\n</div>\n","export enum LoadingStateIndicators {\n Dots = 'dots',\n Logo = 'logo',\n}\n","import { Component, Input, OnDestroy, TemplateRef } from '@angular/core';\n\nimport { LoadingStateIndicators } from './components/loading-state-indicators';\n\n@Component({\n selector: 's-loading-state',\n templateUrl: './loading-state.component.html',\n styleUrls: ['./loading-state.component.scss'],\n})\nexport class LoadingStateComponent implements OnDestroy {\n public static nextId = 0;\n\n @Input()\n public indicator: LoadingStateIndicators = LoadingStateIndicators.Dots;\n\n @Input()\n public id = `s-loading-state-${LoadingStateComponent.nextId++}`;\n\n @Input()\n public blockWindow = false;\n\n @Input({ required: true })\n public set loading(loading: boolean) {\n this._loading = loading;\n loading ? this.block() : this.unblock();\n }\n\n public get loading() {\n return this._loading;\n }\n\n public contents: TemplateRef<any> | null = null;\n public blocking = false;\n\n private _loading = false;\n private BLOCK_TIMEOUT_VALUE = 300;\n private UNBLOCK_TIMEOUT_VALUE = 200;\n private blockTimeoutId: any;\n private unblockTimeoutId: any;\n\n public ngOnDestroy(): void {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n }\n\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n }\n }\n\n public block(): void {\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n this.unblockTimeoutId = undefined;\n }\n\n if (!this.blockTimeoutId) {\n this.blockTimeoutId = setTimeout(() => {\n this.blocking = true;\n this.blockTimeoutId = undefined;\n }, this.BLOCK_TIMEOUT_VALUE);\n }\n }\n\n public unblock(): void {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n this.blockTimeoutId = undefined;\n }\n\n if (!this.unblockTimeoutId) {\n this.unblockTimeoutId = setTimeout(() => {\n this.blocking = false;\n this.unblockTimeoutId = undefined;\n }, this.UNBLOCK_TIMEOUT_VALUE);\n }\n }\n}\n","<div\n [id]=\"id\"\n class=\"s-loading-state\"\n [ngClass]=\"{\n 's-loading-state--loading': loading,\n 's-loading-state--blocking': blocking,\n 's-loading-state--fullscreen': blockWindow\n }\"\n>\n <div\n [id]=\"id + '-loader'\"\n class=\"loader\"\n >\n <div\n [id]=\"id + '-spinner'\"\n class=\"spinner\"\n >\n @switch (indicator) {\n @case ('logo') {\n <s-logo-indicator></s-logo-indicator>\n }\n @case ('dots') {\n <s-dots-indicator></s-dots-indicator>\n }\n }\n </div>\n <div\n [id]=\"id + '-overlay'\"\n class=\"overlay\"\n ></div>\n </div>\n <div\n [id]=\"id + '-contents'\"\n class=\"state-contents\"\n >\n <ng-container *ngTemplateOutlet=\"contents || originalContent\"></ng-container>\n <ng-template #originalContent>\n <ng-content></ng-content>\n </ng-template>\n </div>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n // NOSONAR - 'ComponentFactoryResolver' is deprecated.\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { LoadingStateComponent } from './loading-state.component';\nimport { LoadingStateIndicators } from './components/loading-state-indicators';\n\n@Directive({\n selector: '[sLoadingState]',\n})\nexport class LoadingStateDirective implements AfterViewInit, OnDestroy {\n @Input()\n public set sLoadingState(value: boolean | { loading: boolean; indicator?: LoadingStateIndicators }) {\n if (typeof value === 'boolean') {\n this._loading = value;\n this.indicator = LoadingStateIndicators.Dots;\n } else if (typeof value === 'object') {\n this._loading = value.loading;\n this.indicator = value.indicator ?? LoadingStateIndicators.Dots;\n }\n\n if (this.loaderComponent) {\n this.loaderComponent.instance.loading = this._loading;\n this.loaderComponent.instance.indicator = this.indicator;\n }\n }\n\n private _loading = false;\n private indicator = LoadingStateIndicators.Dots;\n private loaderComponent: ComponentRef<LoadingStateComponent> | null = null;\n\n constructor(\n private readonly target: ViewContainerRef,\n private readonly template: TemplateRef<any>,\n // NOSONAR - 'ComponentFactoryResolver' is deprecated.\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly cdr: ChangeDetectorRef,\n ) {}\n\n public ngAfterViewInit() {\n this.createComponent();\n }\n\n private createComponent() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(LoadingStateComponent);\n this.loaderComponent = this.target.createComponent(factory);\n this.loaderComponent.instance.contents = this.template;\n this.loaderComponent.instance.loading = this._loading;\n this.loaderComponent.instance.indicator = this.indicator;\n this.cdr.detectChanges();\n }\n\n public ngOnDestroy() {\n if (this.loaderComponent) {\n this.loaderComponent.destroy();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DotsIndicatorComponent } from './components/dots-indicator/dots-indicator.components';\nimport { LoadingIndicatorComponent } from './components/logo-indicator/logo-indicator.component';\nimport { LoadingStateComponent } from './loading-state.component';\nimport { LoadingStateDirective } from './loading-state.directive';\nimport { SVGFactoryModule } from '@seniorsistemas/angular-components/common';\n\n@NgModule({\n imports: [CommonModule, SVGFactoryModule],\n declarations: [\n LoadingStateComponent,\n LoadingStateDirective,\n DotsIndicatorComponent,\n LoadingIndicatorComponent,\n ],\n exports: [LoadingStateComponent, LoadingStateDirective],\n})\nexport class LoadingStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.DotsIndicatorComponent","i3.LoadingIndicatorComponent"],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-loading-state.mjs","sources":["../../projects/angular-components/loading-state/src/lib/loading-state/components/dots-indicator/dots-indicator.components.ts","../../projects/angular-components/loading-state/src/lib/loading-state/components/dots-indicator/dots-indicator.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/components/logo-indicator/logo-indicator.component.ts","../../projects/angular-components/loading-state/src/lib/loading-state/components/logo-indicator/logo-indicator.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/components/loading-state-indicators.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.component.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.directive.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.module.ts","../../projects/angular-components/loading-state/src/seniorsistemas-angular-components-loading-state.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 's-dots-indicator',\n templateUrl: './dots-indicator.component.html',\n styleUrls: ['./dots-indicator.component.scss'],\n})\nexport class DotsIndicatorComponent {}\n","<div class=\"dots-indicator\">\n <div class=\"bounce bounce--1\"></div>\n <div class=\"bounce bounce--2\"></div>\n <div class=\"bounce bounce--3\"></div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 's-logo-indicator',\n templateUrl: './logo-indicator.component.html',\n styleUrls: ['./logo-indicator.component.scss'],\n})\nexport class LoadingIndicatorComponent {}\n","<div class=\"logo-indicator\">\n <span *sSVGFactory=\"'senior'\"></span>\n</div>\n","export enum LoadingStateIndicators {\n Dots = 'dots',\n Logo = 'logo',\n}\n","import { Component, Input, OnDestroy, TemplateRef } from '@angular/core';\n\nimport { LoadingStateIndicators } from './components/loading-state-indicators';\n\n/**\n * @description Componente de estado de carregamento que exibe um indicador animado enquanto\n * um processo assíncrono está em andamento. Suporta bloqueio da janela inteira\n * e diferentes tipos de indicadores visuais.\n * Também pode ser usado como diretiva estrutural `[sLoadingState]`.\n *\n * @example\n * ```html\n * <s-loading-state [loading]=\"isLoading\" [blockWindow]=\"true\">\n * <p>Conteúdo carregado!</p>\n * </s-loading-state>\n * ```\n *\n * @category Feedback\n */\n@Component({\n selector: 's-loading-state',\n templateUrl: './loading-state.component.html',\n styleUrls: ['./loading-state.component.scss'],\n})\nexport class LoadingStateComponent implements OnDestroy {\n public static nextId = 0;\n\n /**\n * @description Tipo de indicador visual exibido durante o carregamento.\n * - `LoadingStateIndicators.Dots`: indicador de pontos animados (padrão).\n * - `LoadingStateIndicators.Logo`: indicador com logotipo animado.\n *\n * @default LoadingStateIndicators.Dots\n */\n @Input()\n public indicator: LoadingStateIndicators = LoadingStateIndicators.Dots;\n\n /**\n * @description Identificador único do componente. Gerado automaticamente se não informado.\n */\n @Input()\n public id = `s-loading-state-${LoadingStateComponent.nextId++}`;\n\n /**\n * @description Quando `true`, bloqueia a janela inteira durante o carregamento,\n * sobrepondo todo o conteúdo da página com o indicador.\n *\n * @default false\n */\n @Input()\n public blockWindow = false;\n\n /**\n * @description Controla o estado de carregamento do componente. Campo obrigatório.\n * Quando `true`, exibe o indicador de carregamento após um breve delay.\n * Quando `false`, remove o indicador após um breve delay (evita flash).\n */\n @Input({ required: true })\n public set loading(loading: boolean) {\n this._loading = loading;\n loading ? this.block() : this.unblock();\n }\n\n public get loading() {\n return this._loading;\n }\n\n public contents: TemplateRef<any> | null = null;\n public blocking = false;\n\n private _loading = false;\n private BLOCK_TIMEOUT_VALUE = 300;\n private UNBLOCK_TIMEOUT_VALUE = 200;\n private blockTimeoutId: any;\n private unblockTimeoutId: any;\n\n public ngOnDestroy(): void {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n }\n\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n }\n }\n\n public block(): void {\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n this.unblockTimeoutId = undefined;\n }\n\n if (!this.blockTimeoutId) {\n this.blockTimeoutId = setTimeout(() => {\n this.blocking = true;\n this.blockTimeoutId = undefined;\n }, this.BLOCK_TIMEOUT_VALUE);\n }\n }\n\n public unblock(): void {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n this.blockTimeoutId = undefined;\n }\n\n if (!this.unblockTimeoutId) {\n this.unblockTimeoutId = setTimeout(() => {\n this.blocking = false;\n this.unblockTimeoutId = undefined;\n }, this.UNBLOCK_TIMEOUT_VALUE);\n }\n }\n}\n\n","<div\n [id]=\"id\"\n class=\"s-loading-state\"\n [ngClass]=\"{\n 's-loading-state--loading': loading,\n 's-loading-state--blocking': blocking,\n 's-loading-state--fullscreen': blockWindow\n }\"\n>\n <div\n [id]=\"id + '-loader'\"\n class=\"loader\"\n >\n <div\n [id]=\"id + '-spinner'\"\n class=\"spinner\"\n >\n @switch (indicator) {\n @case ('logo') {\n <s-logo-indicator></s-logo-indicator>\n }\n @case ('dots') {\n <s-dots-indicator></s-dots-indicator>\n }\n }\n </div>\n <div\n [id]=\"id + '-overlay'\"\n class=\"overlay\"\n ></div>\n </div>\n <div\n [id]=\"id + '-contents'\"\n class=\"state-contents\"\n >\n <ng-container *ngTemplateOutlet=\"contents || originalContent\"></ng-container>\n <ng-template #originalContent>\n <ng-content></ng-content>\n </ng-template>\n </div>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n // NOSONAR - 'ComponentFactoryResolver' is deprecated.\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { LoadingStateComponent } from './loading-state.component';\nimport { LoadingStateIndicators } from './components/loading-state-indicators';\n\n/**\n * @description Diretiva estrutural que envolve o conteúdo da view com um indicador de carregamento.\n * É uma alternativa inline ao `LoadingStateComponent`, podendo ser aplicada diretamente\n * em containers existentes sem a necessidade de criar um wrapper explícito no template.\n *\n * @example\n * ```html\n * <!-- Forma simples (boolean) -->\n * <div *sLoadingState=\"isLoading\">Conteúdo</div>\n *\n * <!-- Forma com configuração -->\n * <div *sLoadingState=\"{ loading: isLoading, indicator: 'logo' }\">Conteúdo</div>\n * ```\n *\n * @category Feedback\n */\n@Directive({\n selector: '[sLoadingState]',\n})\nexport class LoadingStateDirective implements AfterViewInit, OnDestroy {\n /**\n * @description Controla o estado de carregamento da diretiva.\n * Aceita:\n * - `boolean`: ativa/desativa o carregamento com o indicador padrão (`dots`).\n * - `{ loading: boolean; indicator?: LoadingStateIndicators }`: permite configurar\n * o tipo de indicador junto com o estado de carregamento.\n */\n @Input()\n public set sLoadingState(value: boolean | { loading: boolean; indicator?: LoadingStateIndicators }) {\n if (typeof value === 'boolean') {\n this._loading = value;\n this.indicator = LoadingStateIndicators.Dots;\n } else if (typeof value === 'object') {\n this._loading = value.loading;\n this.indicator = value.indicator ?? LoadingStateIndicators.Dots;\n }\n\n if (this.loaderComponent) {\n this.loaderComponent.instance.loading = this._loading;\n this.loaderComponent.instance.indicator = this.indicator;\n }\n }\n\n private _loading = false;\n private indicator = LoadingStateIndicators.Dots;\n private loaderComponent: ComponentRef<LoadingStateComponent> | null = null;\n\n constructor(\n private readonly target: ViewContainerRef,\n private readonly template: TemplateRef<any>,\n // NOSONAR - 'ComponentFactoryResolver' is deprecated.\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly cdr: ChangeDetectorRef,\n ) {}\n\n public ngAfterViewInit() {\n this.createComponent();\n }\n\n private createComponent() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(LoadingStateComponent);\n this.loaderComponent = this.target.createComponent(factory);\n this.loaderComponent.instance.contents = this.template;\n this.loaderComponent.instance.loading = this._loading;\n this.loaderComponent.instance.indicator = this.indicator;\n this.cdr.detectChanges();\n }\n\n public ngOnDestroy() {\n if (this.loaderComponent) {\n this.loaderComponent.destroy();\n }\n }\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DotsIndicatorComponent } from './components/dots-indicator/dots-indicator.components';\nimport { LoadingIndicatorComponent } from './components/logo-indicator/logo-indicator.component';\nimport { LoadingStateComponent } from './loading-state.component';\nimport { LoadingStateDirective } from './loading-state.directive';\nimport { SVGFactoryModule } from '@seniorsistemas/angular-components/common';\n\n@NgModule({\n imports: [CommonModule, SVGFactoryModule],\n declarations: [\n LoadingStateComponent,\n LoadingStateDirective,\n DotsIndicatorComponent,\n LoadingIndicatorComponent,\n ],\n exports: [LoadingStateComponent, LoadingStateDirective],\n})\nexport class LoadingStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.DotsIndicatorComponent","i3.LoadingIndicatorComponent"],"mappings":"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"}
@@ -57,6 +57,13 @@ class LocaleOptions {
57
57
  }
58
58
  }
59
59
 
60
+ /**
61
+ * @description Serviço de localização que obtém e armazena o locale do usuário
62
+ * a partir da plataforma Senior. Fornece separadores decimais e de milhar,
63
+ * configurações de calendário e opções de formato PrimeNG com base no locale ativo.
64
+ *
65
+ * @category Locale
66
+ */
60
67
  class LocaleService {
61
68
  http;
62
69
  cookieService;