@seniorsistemas/angular-components 19.7.3 → 19.7.4-fix-sds-577-afa523ed

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 (652) hide show
  1. package/accordion/README.md +1 -0
  2. package/accordion/lib/accordion/accordion.component.d.ts +1 -1
  3. package/accordion/lib/accordion/accordion.module.d.ts +1 -6
  4. package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +1 -1
  5. package/alert/README.md +1 -1
  6. package/alert/lib/alert/alert.component.d.ts +1 -1
  7. package/alert/lib/alert/alert.module.d.ts +1 -2
  8. package/autocomplete/README.md +1 -1
  9. package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +1 -1
  10. package/badge/lib/badge/badge.component.d.ts +1 -1
  11. package/badge/lib/badge/badge.module.d.ts +3 -7
  12. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
  13. package/bignumber-input/lib/bignumber-input/bignumber-input.module.d.ts +1 -2
  14. package/breadcrumb/README.md +9 -5
  15. package/button/README.md +1 -0
  16. package/calendar-mask/README.md +4 -2
  17. package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +1 -1
  18. package/calendar-mask/lib/calendar-mask/calendar-mask.module.d.ts +1 -2
  19. package/card/lib/card/card.component.d.ts +1 -1
  20. package/card/lib/card/card.module.d.ts +1 -3
  21. package/chat/lib/chat/chat.component.d.ts +2 -1
  22. package/chat/lib/chat/chat.module.d.ts +3 -6
  23. package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +1 -1
  24. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +1 -1
  25. package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +1 -3
  26. package/chips/lib/chips/chip-item/chip-item.component.d.ts +1 -1
  27. package/chips/lib/chips/chips/chips.component.d.ts +1 -1
  28. package/chips/lib/chips/chips.module.d.ts +1 -6
  29. package/code-editor/README.md +1 -1
  30. package/code-editor/lib/code-editor/code-editor.component.d.ts +1 -1
  31. package/code-editor/lib/code-editor/code-editor.module.d.ts +1 -3
  32. package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +1 -1
  33. package/collapse-link/lib/collapse-link/collapse-link.module.d.ts +1 -2
  34. package/common/deprecated-selector/README.md +120 -47
  35. package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +1 -1
  36. package/common/lib/svg-factory/components/senior-icon/senior-icon.component.d.ts +1 -1
  37. package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -1
  38. package/common/lib/svg-factory/svg-factory.module.d.ts +1 -4
  39. package/confirm-dialog/README.md +3 -1
  40. package/content-generator/README.md +2 -2
  41. package/content-generator/lib/content-generator/content-generator.component.d.ts +2 -1
  42. package/content-generator/lib/content-generator/content-generator.module.d.ts +1 -10
  43. package/control-errors/lib/control-errors/control-errors.component.d.ts +2 -2
  44. package/control-errors/lib/control-errors/control-errors.module.d.ts +1 -3
  45. package/country-phone-picker/README.md +1 -1
  46. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +2 -1
  47. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.d.ts +1 -5
  48. package/currency/README.md +1 -1
  49. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +1 -1
  50. package/custom-fields/lib/custom-fields/custom-fields.module.d.ts +1 -7
  51. package/datepicker/README.md +44 -11
  52. package/datepicker/lib/datepicker/datepicker.component.d.ts +1 -0
  53. package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +3 -5
  54. package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -0
  55. package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +1 -1
  56. package/editable-overlay/lib/editable-overlay/editable-overlay.module.d.ts +1 -2
  57. package/editor/README.md +8 -0
  58. package/empty-state/lib/empty-state/empty-state.component.d.ts +1 -1
  59. package/empty-state/lib/empty-state/empty-state.module.d.ts +1 -3
  60. package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +1 -1
  61. package/esm2022/accordion/lib/accordion/accordion.component.mjs +3 -3
  62. package/esm2022/accordion/lib/accordion/accordion.module.mjs +4 -10
  63. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +17 -8
  64. package/esm2022/alert/lib/alert/alert.component.mjs +4 -4
  65. package/esm2022/alert/lib/alert/alert.module.mjs +4 -6
  66. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +4 -4
  67. package/esm2022/badge/lib/badge/badge.component.mjs +7 -6
  68. package/esm2022/badge/lib/badge/badge.module.mjs +4 -9
  69. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +3 -2
  70. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +4 -7
  71. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +6 -7
  72. package/esm2022/button/lib/button/button.component.mjs +3 -3
  73. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +3 -2
  74. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +4 -6
  75. package/esm2022/card/lib/card/card.component.mjs +4 -4
  76. package/esm2022/card/lib/card/card.module.mjs +4 -7
  77. package/esm2022/chat/lib/chat/chat.component.mjs +8 -7
  78. package/esm2022/chat/lib/chat/chat.module.mjs +7 -11
  79. package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +6 -6
  80. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +4 -5
  81. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +6 -7
  82. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +4 -7
  83. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +5 -5
  84. package/esm2022/chips/lib/chips/chips/chips.component.mjs +7 -7
  85. package/esm2022/chips/lib/chips/chips.module.mjs +4 -10
  86. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +4 -4
  87. package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +8 -11
  88. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +4 -4
  89. package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +4 -6
  90. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +3 -3
  91. package/esm2022/common/lib/svg-factory/components/senior-icon/senior-icon.component.mjs +3 -3
  92. package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +4 -3
  93. package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +4 -14
  94. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +28 -16
  95. package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +4 -42
  96. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +3 -3
  97. package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +6 -9
  98. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +14 -14
  99. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +6 -28
  100. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +6 -6
  101. package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +9 -35
  102. package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +6 -3
  103. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +3 -3
  104. package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +4 -6
  105. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +3 -3
  106. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +3 -3
  107. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +5 -3
  108. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +3 -3
  109. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +3 -2
  110. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +4 -6
  111. package/esm2022/editor/lib/editor/editor.component.mjs +4 -4
  112. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +4 -4
  113. package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +4 -7
  114. package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +4 -4
  115. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +5 -5
  116. package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +4 -7
  117. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +10 -11
  118. package/esm2022/file-picker/lib/file-picker/file-picker.module.mjs +4 -11
  119. package/esm2022/gantt/lib/gantt/components/side-table/side-table.component.mjs +5 -5
  120. package/esm2022/gantt/lib/gantt/gantt.component.mjs +4 -4
  121. package/esm2022/gantt/lib/gantt/gantt.module.mjs +4 -12
  122. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +6 -7
  123. package/esm2022/global-search/lib/global-search/global-search.component.mjs +17 -10
  124. package/esm2022/global-search/lib/global-search/global-search.module.mjs +15 -33
  125. package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +5 -4
  126. package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +4 -4
  127. package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +4 -7
  128. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +5 -5
  129. package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +3 -2
  130. package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +5 -14
  131. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +7 -8
  132. package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +4 -10
  133. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +4 -3
  134. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +4 -6
  135. package/esm2022/info-sign/lib/info-sign/components/info-sign/info-sign.component.mjs +6 -6
  136. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +4 -3
  137. package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +4 -8
  138. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +14 -10
  139. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.mjs +7 -6
  140. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +6 -6
  141. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +34 -20
  142. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +6 -6
  143. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.mjs +7 -7
  144. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +16 -15
  145. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +3 -3
  146. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +4 -89
  147. package/esm2022/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.mjs +6 -6
  148. package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +11 -10
  149. package/esm2022/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.mjs +7 -7
  150. package/esm2022/insights/lib/insights/insights.component.mjs +4 -5
  151. package/esm2022/insights/lib/insights/insights.module.mjs +4 -34
  152. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +18 -22
  153. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +9 -8
  154. package/esm2022/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +6 -6
  155. package/esm2022/kanban/lib/kanban/kanban.component.mjs +20 -11
  156. package/esm2022/kanban/lib/kanban/kanban.module.mjs +4 -41
  157. package/esm2022/label-value/lib/label-value/label-value.component.mjs +8 -8
  158. package/esm2022/label-value/lib/label-value/label-value.module.mjs +4 -10
  159. package/esm2022/lib/locale/fallback.mjs +3 -2
  160. package/esm2022/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.mjs +3 -3
  161. package/esm2022/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.mjs +4 -4
  162. package/esm2022/loading-state/lib/loading-state/components/progress-bar-indicator/progress-bar-indicator.component.mjs +4 -4
  163. package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +13 -7
  164. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +3 -2
  165. package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +4 -20
  166. package/esm2022/locale/lib/locale/locale.module.mjs +6 -8
  167. package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +6 -5
  168. package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +16 -15
  169. package/esm2022/locale/lib/locale/pipes/localized-currency-impure.pipe.mjs +6 -5
  170. package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +11 -10
  171. package/esm2022/locale/lib/locale/pipes/localized-date-impure.pipe.mjs +6 -5
  172. package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +3 -2
  173. package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +10 -7
  174. package/esm2022/locale/lib/locale/pipes/localized-time-impure.pipe.mjs +6 -5
  175. package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +3 -2
  176. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +7 -4
  177. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +4 -6
  178. package/esm2022/mask/lib/mask/mask-formatter.module.mjs +3 -3
  179. package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +3 -2
  180. package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +3 -2
  181. package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +5 -7
  182. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +8 -8
  183. package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +4 -8
  184. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +3 -2
  185. package/esm2022/number-input/lib/number-input/number-input.module.mjs +4 -6
  186. package/esm2022/numeric/lib/numeric.module.mjs +4 -6
  187. package/esm2022/numeric/lib/numeric.pipe.mjs +6 -3
  188. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +8 -3
  189. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +7 -8
  190. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +6 -8
  191. package/esm2022/object-card/lib/object-card/object-card.component.mjs +6 -6
  192. package/esm2022/object-card/lib/object-card/object-card.module.mjs +4 -10
  193. package/esm2022/paginator/lib/paginator/paginator.component.mjs +3 -3
  194. package/esm2022/panel/lib/panel/panel.component.mjs +15 -7
  195. package/esm2022/panel/lib/panel/panel.module.mjs +7 -10
  196. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +4 -4
  197. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +4 -3
  198. package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +4 -7
  199. package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +5 -6
  200. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +9 -10
  201. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +5 -11
  202. package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -6
  203. package/esm2022/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.mjs +4 -4
  204. package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +5 -5
  205. package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +4 -9
  206. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +5 -5
  207. package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +6 -14
  208. package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +3 -4
  209. package/esm2022/select/lib/select/select.component.mjs +3 -5
  210. package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +5 -5
  211. package/esm2022/select-button/lib/select-button/select-button.component.mjs +6 -6
  212. package/esm2022/select-button/lib/select-button/select-button.module.mjs +6 -13
  213. package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +5 -5
  214. package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +7 -10
  215. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +5 -5
  216. package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +4 -7
  217. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +6 -6
  218. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +7 -9
  219. package/esm2022/slider/lib/slider/slider.component.mjs +6 -6
  220. package/esm2022/slider/lib/slider/slider.module.mjs +6 -9
  221. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +4 -5
  222. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +5 -13
  223. package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -5
  224. package/esm2022/split-button/lib/split-button/split-button.module.mjs +4 -6
  225. package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
  226. package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +6 -6
  227. package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +4 -8
  228. package/esm2022/stepper/lib/stepper/stepper.component.mjs +6 -6
  229. package/esm2022/stepper/lib/stepper/stepper.module.mjs +4 -7
  230. package/esm2022/structure/lib/structure/footer.component.mjs +3 -2
  231. package/esm2022/structure/lib/structure/header.component.mjs +5 -4
  232. package/esm2022/structure/lib/structure/structure.module.mjs +5 -7
  233. package/esm2022/switch/lib/switch/switch.component.mjs +4 -5
  234. package/esm2022/switch/lib/switch/switch.module.mjs +4 -6
  235. package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +6 -3
  236. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +17 -9
  237. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +4 -4
  238. package/esm2022/table/lib/table/table.module.mjs +4 -34
  239. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +19 -16
  240. package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +4 -8
  241. package/esm2022/template/lib/template/template.module.mjs +4 -5
  242. package/esm2022/text-area/lib/text-area/text-area.component.mjs +9 -9
  243. package/esm2022/text-area/lib/text-area.module.mjs +5 -24
  244. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +5 -5
  245. package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +7 -9
  246. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.mjs +6 -6
  247. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.mjs +9 -9
  248. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +25 -14
  249. package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +4 -4
  250. package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +6 -14
  251. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +7 -7
  252. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +3 -3
  253. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +4 -4
  254. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +6 -6
  255. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +4 -3
  256. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +4 -20
  257. package/esm2022/tile/lib/tile/tile.component.mjs +6 -6
  258. package/esm2022/tile/lib/tile/tile.module.mjs +4 -7
  259. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.mjs +6 -6
  260. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.mjs +5 -5
  261. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.mjs +4 -4
  262. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.mjs +5 -5
  263. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.mjs +3 -3
  264. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.mjs +5 -5
  265. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.mjs +7 -7
  266. package/esm2022/timeline/lib/timeline/timeline.component.mjs +5 -6
  267. package/esm2022/timeline/lib/timeline/timeline.module.mjs +4 -20
  268. package/esm2022/toast/lib/toast/toast.component.mjs +4 -4
  269. package/esm2022/toast/lib/toast/toast.module.mjs +6 -7
  270. package/esm2022/token-list/lib/token-list/token-list.component.mjs +4 -4
  271. package/esm2022/token-list/lib/token-list/token-list.module.mjs +4 -6
  272. package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +3 -4
  273. package/esm2022/topbar/lib/topbar/topbar.component.mjs +3 -3
  274. package/esm2022/topbar/lib/topbar/topbar.module.mjs +7 -10
  275. package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +6 -5
  276. package/esm2022/tree/lib/tree/tree.component.mjs +5 -5
  277. package/esm2022/tree/lib/tree/tree.module.mjs +4 -10
  278. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +5 -5
  279. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +4 -6
  280. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +20 -17
  281. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  282. package/fesm2022/seniorsistemas-angular-components-alert.mjs +6 -8
  283. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
  284. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +3 -3
  285. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  286. package/fesm2022/seniorsistemas-angular-components-badge.mjs +8 -12
  287. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
  288. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +5 -7
  289. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  290. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -6
  291. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  292. package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
  293. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  294. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +5 -6
  295. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
  296. package/fesm2022/seniorsistemas-angular-components-card.mjs +7 -9
  297. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
  298. package/fesm2022/seniorsistemas-angular-components-chat.mjs +15 -16
  299. package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
  300. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +7 -10
  301. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  302. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +3 -4
  303. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  304. package/fesm2022/seniorsistemas-angular-components-chips.mjs +14 -18
  305. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  306. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +5 -7
  307. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  308. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +6 -8
  309. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
  310. package/fesm2022/seniorsistemas-angular-components-common.mjs +9 -16
  311. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  312. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +28 -52
  313. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  314. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +5 -8
  315. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  316. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +17 -37
  317. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  318. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +12 -35
  319. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  320. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +5 -2
  321. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -1
  322. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +2 -2
  323. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  324. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +12 -11
  325. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  326. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +5 -6
  327. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
  328. package/fesm2022/seniorsistemas-angular-components-editor.mjs +3 -3
  329. package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
  330. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +8 -11
  331. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  332. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +6 -9
  333. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  334. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +11 -18
  335. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  336. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +9 -16
  337. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  338. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +31 -47
  339. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  340. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +8 -10
  341. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
  342. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +10 -17
  343. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  344. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +8 -14
  345. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  346. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +5 -6
  347. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
  348. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +9 -11
  349. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  350. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +64 -121
  351. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  352. package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -47
  353. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
  354. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +86 -113
  355. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  356. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +10 -16
  357. package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
  358. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +40 -46
  359. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
  360. package/fesm2022/seniorsistemas-angular-components-locale.mjs +40 -31
  361. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  362. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +9 -8
  363. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
  364. package/fesm2022/seniorsistemas-angular-components-mask.mjs +4 -3
  365. package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
  366. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +55 -56
  367. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
  368. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +9 -13
  369. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  370. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +6 -6
  371. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
  372. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +7 -2
  373. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
  374. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +8 -7
  375. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
  376. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +14 -21
  377. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  378. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +2 -2
  379. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  380. package/fesm2022/seniorsistemas-angular-components-panel.mjs +17 -11
  381. package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
  382. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +8 -9
  383. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
  384. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +4 -5
  385. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
  386. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +11 -17
  387. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  388. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +15 -15
  389. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
  390. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +8 -15
  391. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
  392. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +9 -15
  393. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  394. package/fesm2022/seniorsistemas-angular-components-select.mjs +4 -6
  395. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  396. package/fesm2022/seniorsistemas-angular-components-shared.mjs +8 -11
  397. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  398. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +7 -10
  399. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  400. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -9
  401. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
  402. package/fesm2022/seniorsistemas-angular-components-slider.mjs +8 -11
  403. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  404. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +7 -15
  405. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  406. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +6 -8
  407. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  408. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
  409. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  410. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +8 -12
  411. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
  412. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +8 -11
  413. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
  414. package/fesm2022/seniorsistemas-angular-components-structure.mjs +18 -18
  415. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
  416. package/fesm2022/seniorsistemas-angular-components-switch.mjs +6 -9
  417. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  418. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +20 -21
  419. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  420. package/fesm2022/seniorsistemas-angular-components-table.mjs +27 -45
  421. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  422. package/fesm2022/seniorsistemas-angular-components-template.mjs +3 -4
  423. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
  424. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +12 -30
  425. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  426. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -8
  427. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  428. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +45 -37
  429. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  430. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +14 -25
  431. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  432. package/fesm2022/seniorsistemas-angular-components-tile.mjs +8 -12
  433. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  434. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +58 -124
  435. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
  436. package/fesm2022/seniorsistemas-angular-components-toast.mjs +4 -5
  437. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  438. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +6 -8
  439. package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
  440. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +2 -2
  441. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  442. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +5 -8
  443. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
  444. package/fesm2022/seniorsistemas-angular-components-tree.mjs +10 -13
  445. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  446. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +6 -8
  447. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  448. package/fesm2022/seniorsistemas-angular-components.mjs +2 -1
  449. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  450. package/fieldset/lib/fieldset/fieldset.component.d.ts +1 -1
  451. package/fieldset/lib/fieldset/fieldset.module.d.ts +1 -3
  452. package/file-picker/lib/file-picker/file-picker.component.d.ts +1 -1
  453. package/file-picker/lib/file-picker/file-picker.module.d.ts +1 -7
  454. package/gantt/lib/gantt/components/side-table/side-table.component.d.ts +1 -1
  455. package/gantt/lib/gantt/gantt.component.d.ts +1 -1
  456. package/gantt/lib/gantt/gantt.module.d.ts +1 -4
  457. package/global-search/README.md +12 -1
  458. package/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.d.ts +1 -1
  459. package/global-search/lib/global-search/global-search.component.d.ts +1 -1
  460. package/global-search/lib/global-search/global-search.module.d.ts +8 -12
  461. package/grid-menu/README.md +27 -2
  462. package/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.d.ts +1 -1
  463. package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +1 -1
  464. package/grid-menu/lib/grid-menu/grid-menu.module.d.ts +1 -3
  465. package/help-popover/README.md +2 -2
  466. package/help-popover/lib/help-popover/help-popover/help-popover.component.d.ts +1 -1
  467. package/help-popover/lib/help-popover/help-popover.directive.d.ts +1 -1
  468. package/help-popover/lib/help-popover/help-popover.module.d.ts +2 -5
  469. package/ia-insight/README.md +1 -1
  470. package/image-cropper/README.md +2 -2
  471. package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +1 -1
  472. package/image-cropper/lib/image-cropper/image-cropper.module.d.ts +3 -8
  473. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -1
  474. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.d.ts +1 -2
  475. package/info-sign/README.md +1 -1
  476. package/info-sign/lib/info-sign/components/info-sign/info-sign.component.d.ts +2 -2
  477. package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -1
  478. package/info-sign/lib/info-sign/info-sign.module.d.ts +1 -4
  479. package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +7 -6
  480. package/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.d.ts +4 -4
  481. package/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.d.ts +4 -4
  482. package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +5 -4
  483. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +4 -4
  484. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.d.ts +4 -4
  485. package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +5 -4
  486. package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +1 -1
  487. package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +1 -23
  488. package/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.d.ts +1 -1
  489. package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +2 -1
  490. package/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.d.ts +1 -1
  491. package/insights/lib/insights/insights.component.d.ts +1 -1
  492. package/insights/lib/insights/insights.module.d.ts +3 -12
  493. package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +5 -5
  494. package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +4 -4
  495. package/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +1 -1
  496. package/kanban/lib/kanban/kanban.component.d.ts +1 -1
  497. package/kanban/lib/kanban/kanban.module.d.ts +3 -13
  498. package/label-value/lib/label-value/label-value.component.d.ts +1 -1
  499. package/label-value/lib/label-value/label-value.module.d.ts +1 -6
  500. package/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.d.ts +1 -1
  501. package/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.d.ts +1 -1
  502. package/loading-state/lib/loading-state/components/progress-bar-indicator/progress-bar-indicator.component.d.ts +1 -1
  503. package/loading-state/lib/loading-state/loading-state.component.d.ts +1 -1
  504. package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -1
  505. package/loading-state/lib/loading-state/loading-state.module.d.ts +1 -6
  506. package/locale/lib/locale/locale.module.d.ts +1 -2
  507. package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +3 -3
  508. package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +3 -3
  509. package/locale/lib/locale/pipes/localized-currency-impure.pipe.d.ts +3 -3
  510. package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +3 -3
  511. package/locale/lib/locale/pipes/localized-date-impure.pipe.d.ts +3 -3
  512. package/locale/lib/locale/pipes/localized-date.pipe.d.ts +1 -1
  513. package/locale/lib/locale/pipes/localized-number.pipe.d.ts +2 -2
  514. package/locale/lib/locale/pipes/localized-time-impure.pipe.d.ts +3 -3
  515. package/locale/lib/locale/pipes/localized-time.pipe.d.ts +1 -1
  516. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +2 -1
  517. package/localized-number-input/lib/localized-number-input/localized-number-input.module.d.ts +1 -2
  518. package/mask/lib/mask/mask-formatter.module.d.ts +1 -1
  519. package/mask/lib/mask/mask-formatter.pipe.d.ts +1 -1
  520. package/mouse-events/lib/mouse-events/long-press.directive.d.ts +1 -1
  521. package/mouse-events/lib/mouse-events/mouse-events.module.d.ts +3 -4
  522. package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -1
  523. package/navigation-button/lib/navigation-button/navigation-button.module.d.ts +1 -4
  524. package/number-input/lib/number-input/number-input.directive.d.ts +1 -1
  525. package/number-input/lib/number-input/number-input.module.d.ts +1 -2
  526. package/numeric/lib/numeric.module.d.ts +1 -2
  527. package/numeric/lib/numeric.pipe.d.ts +1 -1
  528. package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +1 -0
  529. package/object-card/README.md +13 -1
  530. package/object-card/lib/object-card/elements/field/object-card-field.component.d.ts +1 -1
  531. package/object-card/lib/object-card/elements/main/object-card-main.component.d.ts +1 -1
  532. package/object-card/lib/object-card/object-card.component.d.ts +1 -1
  533. package/object-card/lib/object-card/object-card.module.d.ts +5 -10
  534. package/package.json +1 -1
  535. package/panel/lib/panel/panel.component.d.ts +6 -1
  536. package/panel/lib/panel/panel.module.d.ts +2 -4
  537. package/password-strength/lib/password-strength/password-strength.component.d.ts +1 -1
  538. package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -1
  539. package/password-strength/lib/password-strength/password-strength.module.d.ts +2 -4
  540. package/picklist/README.md +74 -2
  541. package/product-header/README.md +1 -1
  542. package/profile-picture-picker/README.md +1 -1
  543. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +1 -1
  544. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.d.ts +1 -7
  545. package/progressbar/README.md +0 -1
  546. package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +2 -1
  547. package/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.d.ts +1 -1
  548. package/progressbar/lib/progressbar/progressbar.component.d.ts +1 -1
  549. package/progressbar/lib/progressbar/progressbar.module.d.ts +1 -5
  550. package/radio-button/README.md +0 -1
  551. package/rating-scale/README.md +1 -1
  552. package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +2 -2
  553. package/rating-scale/lib/rating-scale/rating-scale.module.d.ts +1 -3
  554. package/schematics/migrations/migrate-steps-to-stepper/index.d.ts +2 -0
  555. package/schematics/migrations/migrate-steps-to-stepper/index.js +104 -0
  556. package/schematics/migrations/migrate-steps-to-stepper/index.js.map +1 -0
  557. package/schematics/migrations/migrate-steps-to-stepper/index.test.d.ts +1 -0
  558. package/schematics/migrations/migrate-steps-to-stepper/index.test.js +206 -0
  559. package/schematics/migrations/migrate-steps-to-stepper/index.test.js.map +1 -0
  560. package/schematics/migrations.json +5 -0
  561. package/schematics/utils/ast-utils.d.ts +13 -0
  562. package/schematics/utils/ast-utils.js +76 -0
  563. package/schematics/utils/ast-utils.js.map +1 -1
  564. package/select/lib/select/select.component.d.ts +1 -1
  565. package/select-button/README.md +1 -1
  566. package/select-button/lib/select-button/components/select-button-item/select-button-item.component.d.ts +1 -1
  567. package/select-button/lib/select-button/select-button.component.d.ts +1 -1
  568. package/select-button/lib/select-button/select-button.module.d.ts +1 -3
  569. package/shared/lib/shared/border-button/border-button.component.d.ts +1 -1
  570. package/shared/lib/shared/border-button/border-button.module.d.ts +1 -3
  571. package/sidebar/lib/sidebar/sidebar.component.d.ts +1 -1
  572. package/sidebar/lib/sidebar/sidebar.module.d.ts +2 -4
  573. package/slide-in-bar/README.md +1 -1
  574. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +1 -1
  575. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +1 -2
  576. package/slider/README.md +1 -1
  577. package/slider/lib/slider/slider.component.d.ts +1 -1
  578. package/slider/lib/slider/slider.module.d.ts +1 -3
  579. package/speech-recognition/README.md +1 -1
  580. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +1 -1
  581. package/speech-recognition/lib/speech-recognition/speech-recognition.module.d.ts +1 -3
  582. package/split-button/README.md +1 -1
  583. package/split-button/lib/split-button/split-button.component.d.ts +1 -1
  584. package/split-button/lib/split-button/split-button.module.d.ts +1 -2
  585. package/spotlight/README.md +1 -1
  586. package/star-rating/README.md +1 -1
  587. package/stats-card/README.md +1 -1
  588. package/stats-card/lib/stats-card/stats-card.component.d.ts +1 -1
  589. package/stats-card/lib/stats-card/stats-card.module.d.ts +1 -4
  590. package/stepper/lib/stepper/stepper.component.d.ts +1 -1
  591. package/stepper/lib/stepper/stepper.module.d.ts +1 -3
  592. package/structure/lib/structure/footer.component.d.ts +1 -1
  593. package/structure/lib/structure/header.component.d.ts +1 -1
  594. package/structure/lib/structure/structure.module.d.ts +1 -2
  595. package/switch/lib/switch/switch.component.d.ts +1 -1
  596. package/switch/lib/switch/switch.module.d.ts +1 -2
  597. package/table/README.md +9 -8
  598. package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
  599. package/table/lib/table/table-column/table-columns.component.d.ts +1 -1
  600. package/table/lib/table/table-paging/table-paging.component.d.ts +1 -1
  601. package/table/lib/table/table.module.d.ts +5 -12
  602. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
  603. package/table-header/lib/table-header/table-header-checkox.module.d.ts +1 -4
  604. package/template/README.md +177 -0
  605. package/template/lib/template/template.module.d.ts +2 -3
  606. package/text-area/lib/text-area/text-area.component.d.ts +1 -1
  607. package/text-area/lib/text-area.module.d.ts +1 -5
  608. package/text-area-ia/README.md +1 -1
  609. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +1 -1
  610. package/thumbnail/lib/thumbnail/thumbnail.module.d.ts +1 -2
  611. package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +1 -1
  612. package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +2 -2
  613. package/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +5 -4
  614. package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +1 -1
  615. package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +1 -8
  616. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -1
  617. package/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +1 -1
  618. package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +1 -1
  619. package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +1 -1
  620. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -1
  621. package/tiered-menu/lib/tiered-menu/tiered-menu.module.d.ts +1 -6
  622. package/tile/lib/tile/tile.component.d.ts +1 -1
  623. package/tile/lib/tile/tile.module.d.ts +3 -5
  624. package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +1 -1
  625. package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +1 -1
  626. package/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.d.ts +1 -1
  627. package/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.d.ts +1 -1
  628. package/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.d.ts +1 -1
  629. package/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +1 -1
  630. package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +1 -1
  631. package/timeline/lib/timeline/timeline.component.d.ts +1 -1
  632. package/timeline/lib/timeline/timeline.module.d.ts +1 -5
  633. package/toast/lib/toast/toast.component.d.ts +1 -1
  634. package/toast/lib/toast/toast.module.d.ts +3 -3
  635. package/token-list/lib/token-list/token-list.component.d.ts +1 -1
  636. package/token-list/lib/token-list/token-list.module.d.ts +1 -2
  637. package/tooltip/lib/tooltip/tooltip.module.d.ts +1 -2
  638. package/topbar/lib/topbar/topbar.component.d.ts +1 -1
  639. package/topbar/lib/topbar/topbar.module.d.ts +3 -5
  640. package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -1
  641. package/tree/lib/tree/tree.component.d.ts +1 -1
  642. package/tree/lib/tree/tree.module.d.ts +1 -6
  643. package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -1
  644. package/workspace-switch/lib/workspace-switch/workspace-switch.module.d.ts +1 -2
  645. package/esm2022/insights/lib/insights/components/insights-card/components/index.mjs +0 -2
  646. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.mjs +0 -20
  647. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.mjs +0 -19
  648. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.mjs +0 -33
  649. package/insights/lib/insights/components/insights-card/components/index.d.ts +0 -1
  650. package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.d.ts +0 -10
  651. package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.d.ts +0 -9
  652. package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.d.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-button.mjs","sources":["../../projects/angular-components/button/src/lib/button/button.component.ts","../../projects/angular-components/button/src/lib/button/button.component.html","../../projects/angular-components/button/src/lib/button/button.module.ts","../../projects/angular-components/button/src/seniorsistemas-angular-components-button.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { NgClass, NgStyle } from '@angular/common';\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { TieredMenuItemData, TieredMenuModule } from '@seniorsistemas/angular-components/tiered-menu';\nimport { TooltipModule, TooltipPositions } from '@seniorsistemas/angular-components/tooltip';\nimport { randomHash } from '@seniorsistemas/angular-components/utils';\nimport { ButtonAnimations } from './models/button-animations';\nimport { ButtonBadgeConfig } from './models/button-badge-config';\nimport { ButtonPriority } from './models/button-priority';\n\n/**\n * @description Componente de botão versátil que suporta ícones, tooltip, menu de opções\n * (tiered menu), badge, animações e diferentes prioridades visuais. Pode ser configurado\n * como botão de ação simples, botão com menu dropdown ou botão deslizante (slide).\n *\n * @example\n * ```html\n * <s-button\n * label=\"Salvar\"\n * iconClass=\"fas fa-save\"\n * priority=\"primary\"\n * (clicked)=\"onSave()\" />\n * ```\n *\n * @category Inputs\n */\n@Component({\n selector: 's-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n host: {\n '[class.s-button-with-badge]': '!!badge',\n },\n standalone: true,\n imports: [NgClass, NgStyle, BadgeModule, TieredMenuModule, TooltipModule],\n})\nexport class ButtonComponent implements OnChanges {\n @HostBinding('style.min-width')\n public minWidth = '40px';\n\n /**\n * @description Identificador único do elemento botão no DOM.\n * Gerado automaticamente se não informado.\n */\n @Input()\n public id? = `s-button-${randomHash()}`;\n\n /**\n * @description Texto exibido dentro do botão.\n */\n @Input()\n public label?: string;\n\n /**\n * @description Texto do tooltip exibido ao passar o mouse sobre o botão.\n */\n @Input()\n public tooltip?: string;\n\n /**\n * @description Posição do tooltip em relação ao botão.\n *\n * @default 'top'\n */\n @Input()\n public tooltipPosition: TooltipPositions = 'top';\n\n /**\n * @description Classe de ícone exibida à esquerda do label (ex.: `'fas fa-save'`).\n */\n @Input()\n public iconClass?: string;\n\n /**\n * @description Classe de ícone exibida à direita do label.\n */\n @Input()\n public rightIconClass?: string;\n\n /**\n * @description Exibe o ícone de caret (seta) quando o botão possui um menu de opções.\n *\n * @default true\n */\n @Input()\n public caret = true;\n\n /**\n * @description Classe CSS adicional aplicada ao elemento `<button>` interno.\n *\n * @default ''\n */\n @Input()\n public styleClass = '';\n\n /**\n * @description Z-index base do painel do menu dropdown associado ao botão.\n *\n * @default 0\n */\n @Input()\n public baseZIndex = 0;\n\n /**\n * @description Desabilita o botão, impedindo cliques e interação do usuário.\n *\n * @default false\n */\n @Input()\n public disabled = false;\n\n /**\n * @description Aplica estilo auxiliar (menos destaque visual) ao botão.\n *\n * @default false\n */\n @Input()\n public auxiliary = false;\n\n /**\n * @description Tipo do elemento `<button>` HTML (`'button'`, `'submit'`, `'reset'`).\n *\n * @default 'button'\n */\n @Input()\n public type? = 'button';\n\n /**\n * @description Prioridade visual do botão, que determina seu estilo.\n * Aceita `'primary'`, `'default'`, `'danger'`, `'link'`, entre outros.\n *\n * @default 'primary'\n */\n @Input()\n public priority?: ButtonPriority = 'primary';\n\n /**\n * @description Lista de itens do menu dropdown exibido ao clicar no caret do botão.\n *\n * @default []\n */\n @Input()\n public menuOptions: TieredMenuItemData[] = [];\n\n /**\n * @description Tamanho visual do botão. Aceita `'default'` ou `'small'`.\n *\n * @default 'default'\n */\n @Input()\n public size?: 'default' | 'small' = 'default';\n\n /**\n * @description Habilita o modo slide, que exibe uma animação de deslize ao passar o mouse.\n * Requer `priority` igual a `'default'` ou `'link'` e um `label` definido.\n *\n * @default false\n */\n @Input()\n public slide = false;\n\n /**\n * @description Tipo de animação aplicada ao botão (`'rotate'`, `'pulse'`, etc.).\n */\n @Input()\n public animation?: ButtonAnimations;\n\n /**\n * @description Configuração do badge exibido sobre o botão, com contador ou indicador visual.\n */\n @Input()\n public badge?: ButtonBadgeConfig;\n\n /**\n * @description Cor aplicada ao ícone do botão, sobrescrevendo a cor padrão do tema.\n */\n @Input()\n public iconColor?: string;\n\n /**\n * @description Texto alternativo para o menu associado ao botão, utilizado para acessibilidade.\n */\n @Input()\n public menuAriaLabel?: string;\n\n /**\n * @description Texto alternativo para quando o botão não tiver um texto explicito, utilizado para acessibilidade.\n */\n @Input()\n public ariaLabel?: string;\n\n /**\n * @description Emitido ao clicar no botão, desde que não esteja desabilitado.\n */\n @Output()\n public clicked: EventEmitter<any> = new EventEmitter();\n\n public isMenuOpen = false;\n\n public validateSlideButton(): boolean {\n return !!(this.slide && (this.priority === 'default' || this.priority === 'link') && this.label?.length);\n }\n\n public ngOnChanges(_: SimpleChanges): void {\n const hasIcon = this.iconClass;\n const hasText = this.label;\n\n const isMultiple = this.menuOptions?.length;\n\n if (hasText || (hasIcon && isMultiple)) {\n this.minWidth = '80px';\n }\n if (hasText && hasIcon && isMultiple) {\n this.minWidth = '100px';\n }\n }\n\n public isRotateAnimation(): boolean {\n return this.animation === 'rotate';\n }\n\n public onTieredMenuOpened(): void {\n this.isMenuOpen = true;\n }\n\n public onTieredMenuClosed(): void {\n this.isMenuOpen = false;\n }\n}\n\n","<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n [ngClass]=\"{\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': iconClass,\n 's-button-with-text': label,\n 's-button-only-icon': iconClass && !label && !menuOptions.length,\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-priority-danger': priority === 'danger',\n 's-button-multiple': (caret && menuOptions.length) || rightIconClass,\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation(),\n }\"\n sTieredMenu\n [items]=\"menuOptions\"\n [ariaLabel]=\"menuAriaLabel\"\n [attr.aria-haspopup]=\"menuOptions.length ? 'menu' : null\"\n [attr.aria-expanded]=\"menuOptions.length ? isMenuOpen : null\"\n [attr.aria-label]=\"ariaLabel\"\n [disabled]=\"disabled\"\n [sTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n (tieredMenuOpened)=\"onTieredMenuOpened()\"\n (tieredMenuClosed)=\"onTieredMenuClosed()\"\n (click)=\"clicked.emit($event)\"\n>\n @if (iconClass) {\n <span\n [class]=\"iconClass\"\n [ngClass]=\"{\n 's-button-icon': true,\n 's-button-icon-margin-right': !label && menuOptions.length,\n }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (label) {\n <span\n class=\"s-button-text\"\n [ngClass]=\"{\n 's-button-icon-margin-right': !!rightIconClass || menuOptions.length,\n 's-button-icon-margin-left': !!iconClass,\n }\"\n >\n {{ label }}\n </span>\n }\n <ng-content></ng-content>\n @if (rightIconClass) {\n <span\n [class]=\"rightIconClass\"\n [ngClass]=\"{ 's-button-right-icon': true }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n <span\n class=\"menu-options-icon fa fa-fw fa-caret-down\"\n aria-hidden=\"true\"\n >\n </span>\n }\n</button>\n@if (badge) {\n <div class=\"badge\">\n <s-badge\n [color]=\"badge.color\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n >\n </s-badge>\n </div>\n}\n\n","import { NgModule } from '@angular/core';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n imports: [\n ButtonComponent,\n ],\n exports: [ButtonComponent],\n})\nexport class ButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-button.mjs","sources":["../../projects/angular-components/button/src/lib/button/button.component.ts","../../projects/angular-components/button/src/lib/button/button.component.html","../../projects/angular-components/button/src/lib/button/button.module.ts","../../projects/angular-components/button/src/seniorsistemas-angular-components-button.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { NgClass, NgStyle } from '@angular/common';\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { TieredMenuItemData, TieredMenuModule } from '@seniorsistemas/angular-components/tiered-menu';\nimport { TooltipModule, TooltipPositions } from '@seniorsistemas/angular-components/tooltip';\nimport { randomHash } from '@seniorsistemas/angular-components/utils';\nimport { ButtonAnimations } from './models/button-animations';\nimport { ButtonBadgeConfig } from './models/button-badge-config';\nimport { ButtonPriority } from './models/button-priority';\n\n/**\n * @description Componente de botão versátil que suporta ícones, tooltip, menu de opções\n * (tiered menu), badge, animações e diferentes prioridades visuais. Pode ser configurado\n * como botão de ação simples, botão com menu dropdown ou botão deslizante (slide).\n *\n * @example\n * ```html\n * <s-button\n * label=\"Salvar\"\n * iconClass=\"fas fa-save\"\n * priority=\"primary\"\n * (clicked)=\"onSave()\" />\n * ```\n *\n * @category Inputs\n */\n@Component({\n selector: 's-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n host: {\n '[class.s-button-with-badge]': '!!badge',\n },\n standalone: true,\n imports: [NgClass, NgStyle, BadgeModule, TieredMenuModule, TooltipModule],\n})\nexport class ButtonComponent implements OnChanges {\n @HostBinding('style.min-width')\n public minWidth = '40px';\n\n /**\n * @description Identificador único do elemento botão no DOM.\n * Gerado automaticamente se não informado.\n */\n @Input()\n public id? = `s-button-${randomHash()}`;\n\n /**\n * @description Texto exibido dentro do botão.\n */\n @Input()\n public label?: string;\n\n /**\n * @description Texto do tooltip exibido ao passar o mouse sobre o botão.\n */\n @Input()\n public tooltip?: string;\n\n /**\n * @description Posição do tooltip em relação ao botão.\n *\n * @default 'top'\n */\n @Input()\n public tooltipPosition: TooltipPositions = 'top';\n\n /**\n * @description Classe de ícone exibida à esquerda do label (ex.: `'fas fa-save'`).\n */\n @Input()\n public iconClass?: string;\n\n /**\n * @description Classe de ícone exibida à direita do label.\n */\n @Input()\n public rightIconClass?: string;\n\n /**\n * @description Exibe o ícone de caret (seta) quando o botão possui um menu de opções.\n *\n * @default true\n */\n @Input()\n public caret = true;\n\n /**\n * @description Classe CSS adicional aplicada ao elemento `<button>` interno.\n *\n * @default ''\n */\n @Input()\n public styleClass = '';\n\n /**\n * @description Z-index base do painel do menu dropdown associado ao botão.\n *\n * @default 0\n */\n @Input()\n public baseZIndex = 0;\n\n /**\n * @description Desabilita o botão, impedindo cliques e interação do usuário.\n *\n * @default false\n */\n @Input()\n public disabled = false;\n\n /**\n * @description Aplica estilo auxiliar (menos destaque visual) ao botão.\n *\n * @default false\n */\n @Input()\n public auxiliary = false;\n\n /**\n * @description Tipo do elemento `<button>` HTML (`'button'`, `'submit'`, `'reset'`).\n *\n * @default 'button'\n */\n @Input()\n public type? = 'button';\n\n /**\n * @description Prioridade visual do botão, que determina seu estilo.\n * Aceita `'primary'`, `'default'`, `'danger'`, `'link'`, entre outros.\n *\n * @default 'primary'\n */\n @Input()\n public priority?: ButtonPriority = 'primary';\n\n /**\n * @description Lista de itens do menu dropdown exibido ao clicar no caret do botão.\n *\n * @default []\n */\n @Input()\n public menuOptions: TieredMenuItemData[] = [];\n\n /**\n * @description Tamanho visual do botão. Aceita `'default'` ou `'small'`.\n *\n * @default 'default'\n */\n @Input()\n public size?: 'default' | 'small' = 'default';\n\n /**\n * @description Habilita o modo slide, que exibe uma animação de deslize ao passar o mouse.\n * Requer `priority` igual a `'default'` ou `'link'` e um `label` definido.\n *\n * @default false\n */\n @Input()\n public slide = false;\n\n /**\n * @description Tipo de animação aplicada ao botão (`'rotate'`, `'pulse'`, etc.).\n */\n @Input()\n public animation?: ButtonAnimations;\n\n /**\n * @description Configuração do badge exibido sobre o botão, com contador ou indicador visual.\n */\n @Input()\n public badge?: ButtonBadgeConfig;\n\n /**\n * @description Cor aplicada ao ícone do botão, sobrescrevendo a cor padrão do tema.\n */\n @Input()\n public iconColor?: string;\n\n /**\n * @description Texto alternativo para o menu associado ao botão, utilizado para acessibilidade.\n */\n @Input()\n public menuAriaLabel?: string;\n\n /**\n * @description Texto alternativo para quando o botão não tiver um texto explicito, utilizado para acessibilidade.\n */\n @Input()\n public ariaLabel?: string;\n\n /**\n * @description Emitido ao clicar no botão, desde que não esteja desabilitado.\n */\n @Output()\n public clicked: EventEmitter<any> = new EventEmitter();\n\n public isMenuOpen = false;\n\n public validateSlideButton(): boolean {\n return !!(this.slide && (this.priority === 'default' || this.priority === 'link') && this.label?.length);\n }\n\n public ngOnChanges(_: SimpleChanges): void {\n const hasIcon = this.iconClass;\n const hasText = this.label;\n\n const isMultiple = this.menuOptions?.length;\n\n if (hasText || (hasIcon && isMultiple)) {\n this.minWidth = '80px';\n }\n if (hasText && hasIcon && isMultiple) {\n this.minWidth = '100px';\n }\n }\n\n public isRotateAnimation(): boolean {\n return this.animation === 'rotate';\n }\n\n public onTieredMenuOpened(): void {\n this.isMenuOpen = true;\n }\n\n public onTieredMenuClosed(): void {\n this.isMenuOpen = false;\n }\n}\n\n","<button\n [id]=\"id\"\n [type]=\"type\"\n [class]=\"styleClass\"\n class=\"inline-flex items-center justify-center border border-solid cursor-pointer font-open-sans text-sm max-w-full min-w-[40px] outline-none overflow-visible py-[5px] px-[10px] relative no-underline normal-case transition-[background-color,border-color,color] duration-200 ease-out text-grayscale-0 disabled:cursor-text disabled:opacity-50\"\n [ngClass]=\"{\n 'rounded-medium': !auxiliary,\n 'rounded-[20px]': auxiliary && !(iconClass && !label && !menuOptions.length),\n 'rounded-[50%]': auxiliary && !!(iconClass && !label && !menuOptions.length),\n 'h-[35px]': size !== 'small',\n 'h-[25px]': size === 'small',\n 'max-w-6 max-h-6 min-w-6': size === 'small' && !!(iconClass && !label && !menuOptions.length),\n 's-button-auxiliary': auxiliary,\n 's-button-with-icon': !!iconClass,\n 's-button-with-text': !!label,\n 's-button-only-icon': !!(iconClass && !label && !menuOptions.length),\n 's-button-empty': !iconClass && !label,\n 's-button-size-default': size === 'default',\n 's-button-size-small': size === 'small',\n 's-button-priority-default': priority === 'default',\n 's-button-priority-primary': priority === 'primary',\n 's-button-priority-secondary': priority === 'secondary',\n 's-button-priority-link': priority === 'link',\n 's-button-priority-danger': priority === 'danger',\n 's-button-multiple': (caret && menuOptions.length) || !!rightIconClass,\n 's-button--slide': validateSlideButton(),\n 's-button--rotate-animation': isRotateAnimation(),\n }\"\n sTieredMenu\n [items]=\"menuOptions\"\n [ariaLabel]=\"menuAriaLabel\"\n [attr.aria-haspopup]=\"menuOptions.length ? 'menu' : null\"\n [attr.aria-expanded]=\"menuOptions.length ? isMenuOpen : null\"\n [attr.aria-label]=\"ariaLabel\"\n [disabled]=\"disabled\"\n [sTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n (tieredMenuOpened)=\"onTieredMenuOpened()\"\n (tieredMenuClosed)=\"onTieredMenuClosed()\"\n (click)=\"clicked.emit($event)\"\n>\n @if (iconClass) {\n <span\n [class]=\"iconClass\"\n [ngClass]=\"{\n 's-button-icon inline-flex items-center justify-center': true,\n 'mr-[10px]': !label && menuOptions.length,\n }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (label) {\n <span\n class=\"s-button-text block overflow-hidden text-ellipsis whitespace-nowrap\"\n [ngClass]=\"{\n 'mr-[10px]': !!rightIconClass || menuOptions.length,\n 'ml-[10px]': !!iconClass,\n }\"\n >\n {{ label }}\n </span>\n }\n <ng-content></ng-content>\n @if (rightIconClass) {\n <span\n [class]=\"rightIconClass\"\n [ngClass]=\"{ 's-button-right-icon inline-flex items-center justify-center': true }\"\n [ngStyle]=\"{ color: iconColor }\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if ((caret && menuOptions.length) || (menuOptions && menuOptions.length)) {\n <span\n class=\"menu-options-icon fa fa-fw fa-caret-down\"\n aria-hidden=\"true\"\n >\n </span>\n }\n</button>\n@if (badge) {\n <div class=\"z-[99] relative right-[15px] bottom-[16px]\">\n <s-badge\n [color]=\"badge.color\"\n [text]=\"badge.text\"\n [iconClass]=\"badge.iconClass\"\n >\n </s-badge>\n </div>\n}\n\n","import { NgModule } from '@angular/core';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n imports: [\n ButtonComponent,\n ],\n exports: [ButtonComponent],\n})\nexport class ButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;AAWA;;;;;;;;;;;;;;;AAeG;MAWU,eAAe,CAAA;IAEjB,QAAQ,GAAG,MAAM,CAAC;AAEzB;;;AAGG;AAEI,IAAA,EAAE,GAAI,CAAA,SAAA,EAAY,UAAU,EAAE,EAAE,CAAC;AAExC;;AAEG;AAEI,IAAA,KAAK,CAAU;AAEtB;;AAEG;AAEI,IAAA,OAAO,CAAU;AAExB;;;;AAIG;IAEI,eAAe,GAAqB,KAAK,CAAC;AAEjD;;AAEG;AAEI,IAAA,SAAS,CAAU;AAE1B;;AAEG;AAEI,IAAA,cAAc,CAAU;AAE/B;;;;AAIG;IAEI,KAAK,GAAG,IAAI,CAAC;AAEpB;;;;AAIG;IAEI,UAAU,GAAG,EAAE,CAAC;AAEvB;;;;AAIG;IAEI,UAAU,GAAG,CAAC,CAAC;AAEtB;;;;AAIG;IAEI,QAAQ,GAAG,KAAK,CAAC;AAExB;;;;AAIG;IAEI,SAAS,GAAG,KAAK,CAAC;AAEzB;;;;AAIG;IAEI,IAAI,GAAI,QAAQ,CAAC;AAExB;;;;;AAKG;IAEI,QAAQ,GAAoB,SAAS,CAAC;AAE7C;;;;AAIG;IAEI,WAAW,GAAyB,EAAE,CAAC;AAE9C;;;;AAIG;IAEI,IAAI,GAAyB,SAAS,CAAC;AAE9C;;;;;AAKG;IAEI,KAAK,GAAG,KAAK,CAAC;AAErB;;AAEG;AAEI,IAAA,SAAS,CAAoB;AAEpC;;AAEG;AAEI,IAAA,KAAK,CAAqB;AAEjC;;AAEG;AAEI,IAAA,SAAS,CAAU;AAE1B;;AAEG;AAEI,IAAA,aAAa,CAAU;AAE9B;;AAEG;AAEI,IAAA,SAAS,CAAU;AAE1B;;AAEG;AAEI,IAAA,OAAO,GAAsB,IAAI,YAAY,EAAE,CAAC;IAEhD,UAAU,GAAG,KAAK,CAAC;IAEnB,mBAAmB,GAAA;QACtB,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC5G;AAEM,IAAA,WAAW,CAAC,CAAgB,EAAA;AAC/B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;AAC/B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;AAE3B,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;QAE5C,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,CAAC,EAAE;AACpC,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;SAC1B;AACD,QAAA,IAAI,OAAO,IAAI,OAAO,IAAI,UAAU,EAAE;AAClC,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;SAC3B;KACJ;IAEM,iBAAiB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC;KACtC;IAEM,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;IAEM,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;wGA/LQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrC5B,iqHA6FA,EAAA,MAAA,EAAA,CAAA,wyIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED1Dc,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,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,UAAA,EAAA,IAAA,EAAE,gBAAgB,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,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAE/D,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAGd,IAAA,EAAA;AACF,wBAAA,6BAA6B,EAAE,SAAS;AAC3C,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,OAAA,EACP,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,iqHAAA,EAAA,MAAA,EAAA,CAAA,wyIAAA,CAAA,EAAA,CAAA;8BAIlE,QAAQ,EAAA,CAAA;sBADd,WAAW;uBAAC,iBAAiB,CAAA;gBAQvB,EAAE,EAAA,CAAA;sBADR,KAAK;gBAOC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAOC,OAAO,EAAA,CAAA;sBADb,KAAK;gBASC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAOC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAOC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBASC,KAAK,EAAA,CAAA;sBADX,KAAK;gBASC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBASC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBASC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBASC,SAAS,EAAA,CAAA;sBADf,KAAK;gBASC,IAAI,EAAA,CAAA;sBADV,KAAK;gBAUC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBASC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBASC,IAAI,EAAA,CAAA;sBADV,KAAK;gBAUC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAOC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAOC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAOC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAOC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAOC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAOC,OAAO,EAAA,CAAA;sBADb,MAAM;;;MEzLE,YAAY,CAAA;wGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAZ,YAAY,EAAA,OAAA,EAAA,CAJjB,eAAe,CAAA,EAAA,OAAA,EAAA,CAET,eAAe,CAAA,EAAA,CAAA,CAAA;AAEhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAJjB,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAIV,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,eAAe;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,eAAe,CAAC;AAC7B,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
@@ -1,6 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Renderer2, Directive, Input, HostListener, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
3
  import { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';
5
4
  import { Calendar } from 'primeng/calendar';
6
5
 
@@ -620,12 +619,13 @@ class CalendarMaskDirective {
620
619
  }
621
620
  }
622
621
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
623
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CalendarMaskDirective, selector: "p-calendar[sCalendarMask]", inputs: { slotChar: "slotChar", autoClear: "autoClear" }, host: { listeners: { "keydown": "onKeydownEventTest($event)" } }, ngImport: i0 });
622
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CalendarMaskDirective, isStandalone: true, selector: "p-calendar[sCalendarMask]", inputs: { slotChar: "slotChar", autoClear: "autoClear" }, host: { listeners: { "keydown": "onKeydownEventTest($event)" } }, ngImport: i0 });
624
623
  }
625
624
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarMaskDirective, decorators: [{
626
625
  type: Directive,
627
626
  args: [{
628
627
  selector: 'p-calendar[sCalendarMask]',
628
+ standalone: true,
629
629
  }]
630
630
  }], propDecorators: { slotChar: [{
631
631
  type: Input
@@ -638,14 +638,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
638
638
 
639
639
  class CalendarMaskModule {
640
640
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
641
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CalendarMaskModule, declarations: [CalendarMaskDirective], imports: [CommonModule], exports: [CalendarMaskDirective] });
642
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarMaskModule, imports: [CommonModule] });
641
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CalendarMaskModule, imports: [CalendarMaskDirective], exports: [CalendarMaskDirective] });
642
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarMaskModule });
643
643
  }
644
644
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarMaskModule, decorators: [{
645
645
  type: NgModule,
646
646
  args: [{
647
- declarations: [CalendarMaskDirective],
648
- imports: [CommonModule],
647
+ imports: [CalendarMaskDirective],
649
648
  exports: [CalendarMaskDirective],
650
649
  }]
651
650
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-calendar-mask.mjs","sources":["../../projects/angular-components/calendar-mask/src/lib/calendar-mask/calendar-mask.directive.ts","../../projects/angular-components/calendar-mask/src/lib/calendar-mask/calendar-mask.module.ts","../../projects/angular-components/calendar-mask/src/seniorsistemas-angular-components-calendar-mask.ts"],"sourcesContent":["import { AfterViewChecked, Directive, HostListener, Input, OnDestroy, OnInit, Renderer2, inject } from '@angular/core';\nimport { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';\n\nimport { Calendar } from 'primeng/calendar';\n\n/**\n * @deprecated\n * @since 19.6.0\n * Favor utilizar o componente: s-datepicker, que é o calendário oficial do Design System da Senior.\n *\n * @description Diretiva que aplica máscara de entrada a um componente `p-calendar` do PrimeNG,\n * formatando automaticamente a data conforme o formato configurado no calendário.\n * Intercepta os eventos de teclado e input do campo interno do calendar para garantir\n * que apenas entradas válidas sejam aceitas.\n *\n * @example\n * ```html\n * <p-calendar sCalendarMask [(ngModel)]=\"data\" dateFormat=\"dd/mm/yy\" />\n * ```\n *\n * @category Inputs\n */\n@Directive({\n selector: 'p-calendar[sCalendarMask]',\n})\nexport class CalendarMaskDirective implements OnInit, OnDestroy, AfterViewChecked {\n host = inject(Calendar);\n renderer = inject(Renderer2);\n\n // TODO: Mudei um monte de coisa e tem que testar se isso ainda funciona\n // TODO: Ainda está sendo usada esta diretiva?\n SELECTORS = 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n /**\n * @description Caractere usado como placeholder para as posições ainda não preenchidas na máscara.\n *\n * @default '_'\n */\n @Input()\n public slotChar = '_';\n\n /**\n * @description Quando `true`, limpa automaticamente o campo caso o valor digitado\n * seja inválido ao perder o foco.\n *\n * @default false\n */\n @Input()\n public autoClear = false;\n\n public value: any;\n public input?: HTMLInputElement;\n public filled?: boolean;\n\n private _mask?: string;\n private defs: any;\n private tests?: any[];\n private partialPosition: any;\n private firstNonMaskPos: number | null | undefined;\n private lastRequiredNonMaskPos: any;\n private len?: number;\n private oldVal?: string;\n private buffer: any;\n private defaultBuffer?: string;\n private focusText?: string;\n private caretTimeoutId: any;\n private androidChrome?: boolean;\n private firstTime = true;\n\n private focusListener?: () => void;\n private blurListener?: () => void;\n private keydownListener?: () => void;\n private keypressListener?: () => void;\n private inputListener?: () => void;\n private pasteListener?: () => void;\n\n private setListeners() {\n this.input = this.host.inputfieldViewChild?.nativeElement;\n this.value = this.input?.value;\n\n this.focusListener = this.renderer.listen(this.input, 'focus', () => {\n this.onInputFocus();\n });\n\n this.blurListener = this.renderer.listen(this.input, 'blur', (event: any) => {\n this.onInputBlur(event);\n });\n\n this.keydownListener = this.renderer.listen(this.input, 'keydown', (event: any) => {\n this.onKeyDown(event);\n });\n\n this.keypressListener = this.renderer.listen(this.input, 'keypress', (event: any) => {\n this.onKeyPress(event);\n });\n\n this.inputListener = this.renderer.listen(this.input, 'input', (event: any) => {\n this.onInputChange(event);\n });\n\n this.pasteListener = this.renderer.listen(this.input, 'paste', (event: any) => {\n this.handleInputChange(event);\n });\n }\n\n public ngOnInit() {\n const ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n this.createMaskFromDateFormat();\n this.initMask();\n }\n\n get mask(): string {\n return this._mask ?? '';\n }\n\n set mask(val: string) {\n this._mask = val;\n\n this.initMask();\n this.writeValue('');\n }\n\n public writeValue(value: any): void {\n this.value = value;\n\n if (this.input) {\n if (this.value == undefined) {\n this.input.value = '';\n } else {\n this.input.value = this.value;\n }\n\n this.checkVal();\n this.focusText = this.input.value;\n this.updateFilledState();\n }\n }\n\n public onInputBlur(e: any) {\n this.checkVal();\n this.updateFilledState();\n\n if (this.value != this.focusText) {\n if (\n !this.input?.disabled &&\n (this.value === undefined || this.value === null || (this.value as string).indexOf(this.slotChar) >= 0)\n ) {\n this.value = '';\n e.target.value = '';\n this.host.updateModel(null);\n }\n\n this.updateModel(e);\n const event = document.createEvent('HTMLEvents');\n event.initEvent('change', true, false);\n this.input?.dispatchEvent(event);\n }\n }\n\n public onKeyDown(e: any) {\n if (this.host.readonlyInput) {\n return;\n }\n\n const k = e.which || e.keyCode;\n const iPhone = /iphone/i.test(navigator.userAgent);\n let pos;\n let begin;\n let end;\n this.oldVal = this.input?.value;\n\n // Backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret();\n begin = pos?.begin;\n end = pos?.end;\n\n if (begin && end) {\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n }\n\n this.updateModel(e);\n e.preventDefault();\n } else if (k === 13) {\n // Enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // Escape\n if (this.input && this.focusText) {\n this.input.value = this.focusText;\n this.caret(0, this.checkVal());\n }\n this.updateModel(e);\n e.preventDefault();\n }\n }\n\n public onKeyPress(e: any) {\n if (this.host.readonlyInput) return;\n\n const k = e.which || e.keyCode;\n const pos = this.caret();\n let p;\n let c;\n let next: any;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n // Ignore\n return;\n } else if (k && k !== 13) {\n if (!isNullOrUndefined(pos?.end) && !isNullOrUndefined(pos?.begin)) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n }\n\n if (!isNullOrUndefined(pos?.begin)) {\n p = this.seekNext(pos.begin - 1);\n }\n\n if (p < (this.len ?? 0)) {\n c = String.fromCharCode(k);\n if (this.tests?.[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(navigator.userAgent)) {\n // Path for CSP Violation on FireFox OS 1.1\n const proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n this.updateFilledState();\n }\n\n private createCompleteMask(): string {\n switch (this.host.selectionMode) {\n case 'range':\n return this.mask + ` ${this.host.rangeSeparator} ` + this.mask;\n case 'single':\n case 'multiple':\n return this.mask;\n default:\n return '';\n }\n }\n\n public checkVal(allow?: boolean) {\n // Try to place characters where they belong\n const test = this.input?.value;\n let lastMatch = -1;\n let i: any;\n let c: any;\n let pos = 0;\n\n for (i = 0; i < (this.len ?? 0); i++) {\n if (this.tests?.[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < (test?.length ?? 0)) {\n c = test?.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n if (pos > (test?.length ?? 0)) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test?.charAt(pos)) {\n pos++;\n }\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.input?.value) {\n this.input.value = '';\n }\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n if (!isNullOrUndefined(this.input)) {\n this.input.value = this.input.value.substring(0, lastMatch + 1);\n }\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n }\n\n public onInputFocus() {\n if (this.host.readonlyInput) return;\n\n clearTimeout(this.caretTimeoutId);\n let pos: any;\n\n this.focusText = this.input?.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.input !== document.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n }\n\n public onInputChange(event: any) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n }\n\n public handleInputChange(event: any) {\n if (this.host.readonlyInput) return;\n\n setTimeout(() => {\n const pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n }, 0);\n }\n\n public updateModel(e: any) {\n const updatedValue = e.target.value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.host.onUserInput(e);\n }\n }\n\n public updateFilledState() {\n this.filled = this.input && this.input.value != '';\n }\n\n public focus() {\n this.input?.focus();\n }\n\n private initMask() {\n const completeMask = this.createCompleteMask();\n\n this.tests = [];\n this.partialPosition = completeMask.length;\n this.len = completeMask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n '9': '[0-9]',\n };\n\n const maskTokens = completeMask.split('');\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c == '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c != '?') {\n if (this.defs[c]) {\n this.buffer.push(this.getPlaceholder(i));\n } else {\n this.buffer.push(c);\n }\n }\n }\n\n this.defaultBuffer = this.buffer.join('');\n }\n\n private caret(first?: number, last?: number) {\n let range, begin, end;\n\n if (!this.input?.offsetParent || this.input !== document.activeElement) {\n return { begin: 0, end: 0 };\n }\n\n if (typeof first == 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n\n if (this.input.setSelectionRange) {\n this.input.setSelectionRange(begin, end);\n } else if ((this.input as any)['createTextRange']) {\n range = (this.input as any)['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n begin = this.input.selectionStart;\n end = this.input.selectionEnd;\n\n return { begin: begin, end: end };\n }\n\n return { begin: first ?? 0, end: last ?? 0 };\n }\n\n private getPlaceholder(i: number) {\n if (i < this.slotChar.length) return this.slotChar.charAt(i);\n return this.slotChar.charAt(0);\n }\n\n private seekNext(pos: any) {\n while (++pos < (this.len ?? 0)) {\n if (this.tests?.[pos]) break;\n }\n return pos;\n }\n\n private seekPrev(pos: any) {\n while (--pos >= 0 && !this.tests?.[pos]) {\n if (this.tests?.[pos]) break;\n }\n return pos;\n }\n\n private shiftL(begin: number, end: number) {\n let i: any;\n let j: any;\n\n if (begin < 0) {\n return;\n }\n\n j = this.seekNext(end);\n\n for (i = begin; i < (this.len ?? 0); i++) {\n if (this.tests?.[i]) {\n if (j < (this.len ?? 0) && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else break;\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n if (!isNullOrUndefined(this.firstNonMaskPos)) {\n this.caret(Math.max(this.firstNonMaskPos, begin));\n }\n }\n\n private shiftR(pos: any) {\n let i: any;\n let c = this.getPlaceholder(pos);\n let j: any;\n let t: any;\n\n for (i = pos; i < (this.len ?? 0); i++) {\n if (this.tests?.[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < (this.len ?? 0) && this.tests[j].test(t)) {\n c = t;\n } else break;\n }\n }\n }\n\n private handleAndroidInput(e: any) {\n const curVal = this.input?.value;\n const pos = this.caret();\n\n if (isNullOrUndefined(pos?.begin)) return;\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > (curVal?.length ?? 0)) {\n // A deletion or backspace happened\n this.checkVal(true);\n while (pos?.begin > 0 && !this.tests?.[pos.begin - 1]) {\n pos.begin--;\n }\n if (pos.begin === 0) {\n while (pos.begin < (this.firstNonMaskPos ?? 0) && !this.tests?.[pos.begin]) {\n pos.begin++;\n }\n }\n\n setTimeout(() => {\n this.caret(pos.begin!, pos.begin!);\n if (this.isCompleted()) {\n const sentVal = curVal?.replace(this.slotChar, ''); // Limpa os caracteres placeholders extras caso ele esteja completo\n sentVal && this.updateCalendarValue(sentVal);\n }\n }, 0);\n } else {\n this.checkVal(true);\n\n while (pos.begin < (this.len ?? 0) && !this.tests?.[pos.begin]) {\n pos.begin++;\n }\n\n if (!isNullOrUndefined(pos.begin)) {\n setTimeout(() => {\n this.caret(pos.begin!, pos.begin!);\n if (this.isCompleted()) {\n const sentVal = curVal?.replace(this.slotChar, ''); // Limpa os caracteres placeholders extras caso ele esteja completo\n sentVal && this.updateCalendarValue(sentVal);\n }\n }, 0);\n }\n }\n }\n\n private updateCalendarValue(sentVal: string) {\n // TODO verificar\n const dateVal = <Date>this.host.parseValueFromString(sentVal);\n if (this.host.isSelectable(dateVal.getDate(), dateVal.getMonth(), dateVal.getFullYear(), false)) {\n this.host.updateModel(sentVal);\n this.host.updateUI();\n }\n }\n\n private clearBuffer(start: any, end: any) {\n let i;\n\n for (i = start; i < end && i < (this.len ?? 0); i++) {\n if (this.tests?.[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n\n private writeBuffer() {\n if (!isNullOrUndefined(this.input)) {\n this.input.value = this.buffer.join('');\n }\n }\n\n private createMaskFromDateFormat() {\n const calendar = this.host;\n let mask = this.autoClear ? '?' : '';\n\n if (!calendar.timeOnly) {\n let dateFormat = calendar.dateFormat;\n dateFormat = dateFormat?.replace(/y/g, 'yy');\n mask += dateFormat?.replace(/[^/*,.\\-+\\[\\]\\\\]/g, '9');\n if (calendar.showTime) {\n mask += ' ';\n }\n }\n\n if (calendar.showTime || calendar.timeOnly) {\n mask += '99:99';\n if (calendar.showSeconds) {\n mask += ':99';\n }\n }\n\n this._mask = mask;\n\n this.initMask();\n }\n\n isCompleted(): boolean {\n for (let i = this.firstNonMaskPos ?? 0; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests?.[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n ngAfterViewChecked(): void {\n if (this.host.inputfieldViewChild && this.firstTime) {\n this.firstTime = false;\n this.setListeners();\n if (!isNullOrUndefined(this.input)) {\n this.input.type = 'tel';\n }\n }\n }\n\n ngOnDestroy(): void {\n if (this.focusListener) this.focusListener();\n if (this.blurListener) this.blurListener();\n if (this.keydownListener) this.keydownListener();\n if (this.keypressListener) this.keypressListener();\n if (this.inputListener) this.inputListener();\n if (this.pasteListener) this.pasteListener();\n }\n\n @HostListener('keydown', ['$event'])\n onKeydownEventTest(e: KeyboardEvent) {\n const { key } = e;\n if (key == 'Tab') {\n // Este código foi implementado para corrigir um problema no componente na v9\n // Deve ser removido assim que atualizarmos o PrimeNG para a v10\n const allFocusableElements = document.querySelectorAll(this.SELECTORS);\n let nextIsFocusable = false;\n let previousFocusable: string;\n let forceCloseModal = true;\n allFocusableElements.forEach((element) => {\n if (!e.shiftKey) {\n if (nextIsFocusable && element.id) {\n this.focusableElement(element.id, forceCloseModal);\n nextIsFocusable = false;\n e.preventDefault();\n return;\n }\n }\n\n let activeTagName = window.document.activeElement?.tagName;\n if (e.shiftKey && element.id && element.tagName === 'INPUT' && activeTagName == 'BUTTON') {\n previousFocusable = element.id;\n forceCloseModal = false;\n }\n\n if (element.id === this.host.inputId) {\n if (previousFocusable) {\n this.focusableElement(previousFocusable, forceCloseModal);\n e.preventDefault();\n forceCloseModal = true;\n return;\n }\n nextIsFocusable = true;\n } else if (e.shiftKey && element.id) {\n previousFocusable = element.id;\n }\n });\n }\n }\n\n public focusableElement(id: string, hide: boolean) {\n const htmlElement = window.document.getElementById(id);\n htmlElement?.focus();\n if (hide) {\n this.host.hideOverlay();\n }\n }\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CalendarMaskDirective } from './calendar-mask.directive';\n\n@NgModule({\n declarations: [CalendarMaskDirective],\n imports: [CommonModule],\n exports: [CalendarMaskDirective],\n})\nexport class CalendarMaskModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-calendar-mask.mjs","sources":["../../projects/angular-components/calendar-mask/src/lib/calendar-mask/calendar-mask.directive.ts","../../projects/angular-components/calendar-mask/src/lib/calendar-mask/calendar-mask.module.ts","../../projects/angular-components/calendar-mask/src/seniorsistemas-angular-components-calendar-mask.ts"],"sourcesContent":["import { AfterViewChecked, Directive, HostListener, Input, OnDestroy, OnInit, Renderer2, inject } from '@angular/core';\r\nimport { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';\r\n\r\nimport { Calendar } from 'primeng/calendar';\r\n\r\n/**\r\n * @deprecated\r\n * @since 19.6.0\r\n * Favor utilizar o componente: s-datepicker, que é o calendário oficial do Design System da Senior.\r\n *\r\n * @description Diretiva que aplica máscara de entrada a um componente `p-calendar` do PrimeNG,\r\n * formatando automaticamente a data conforme o formato configurado no calendário.\r\n * Intercepta os eventos de teclado e input do campo interno do calendar para garantir\r\n * que apenas entradas válidas sejam aceitas.\r\n *\r\n * @example\r\n * ```html\r\n * <p-calendar sCalendarMask [(ngModel)]=\"data\" dateFormat=\"dd/mm/yy\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Directive({\r\n selector: 'p-calendar[sCalendarMask]',\r\n standalone: true,\r\n})\r\nexport class CalendarMaskDirective implements OnInit, OnDestroy, AfterViewChecked {\r\n host = inject(Calendar);\r\n renderer = inject(Renderer2);\r\n\r\n // TODO: Mudei um monte de coisa e tem que testar se isso ainda funciona\r\n // TODO: Ainda está sendo usada esta diretiva?\r\n SELECTORS = 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\r\n\r\n /**\r\n * @description Caractere usado como placeholder para as posições ainda não preenchidas na máscara.\r\n *\r\n * @default '_'\r\n */\r\n @Input()\r\n public slotChar = '_';\r\n\r\n /**\r\n * @description Quando `true`, limpa automaticamente o campo caso o valor digitado\r\n * seja inválido ao perder o foco.\r\n *\r\n * @default false\r\n */\r\n @Input()\r\n public autoClear = false;\r\n\r\n public value: any;\r\n public input?: HTMLInputElement;\r\n public filled?: boolean;\r\n\r\n private _mask?: string;\r\n private defs: any;\r\n private tests?: any[];\r\n private partialPosition: any;\r\n private firstNonMaskPos: number | null | undefined;\r\n private lastRequiredNonMaskPos: any;\r\n private len?: number;\r\n private oldVal?: string;\r\n private buffer: any;\r\n private defaultBuffer?: string;\r\n private focusText?: string;\r\n private caretTimeoutId: any;\r\n private androidChrome?: boolean;\r\n private firstTime = true;\r\n\r\n private focusListener?: () => void;\r\n private blurListener?: () => void;\r\n private keydownListener?: () => void;\r\n private keypressListener?: () => void;\r\n private inputListener?: () => void;\r\n private pasteListener?: () => void;\r\n\r\n private setListeners() {\r\n this.input = this.host.inputfieldViewChild?.nativeElement;\r\n this.value = this.input?.value;\r\n\r\n this.focusListener = this.renderer.listen(this.input, 'focus', () => {\r\n this.onInputFocus();\r\n });\r\n\r\n this.blurListener = this.renderer.listen(this.input, 'blur', (event: any) => {\r\n this.onInputBlur(event);\r\n });\r\n\r\n this.keydownListener = this.renderer.listen(this.input, 'keydown', (event: any) => {\r\n this.onKeyDown(event);\r\n });\r\n\r\n this.keypressListener = this.renderer.listen(this.input, 'keypress', (event: any) => {\r\n this.onKeyPress(event);\r\n });\r\n\r\n this.inputListener = this.renderer.listen(this.input, 'input', (event: any) => {\r\n this.onInputChange(event);\r\n });\r\n\r\n this.pasteListener = this.renderer.listen(this.input, 'paste', (event: any) => {\r\n this.handleInputChange(event);\r\n });\r\n }\r\n\r\n public ngOnInit() {\r\n const ua = navigator.userAgent;\r\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\r\n\r\n this.createMaskFromDateFormat();\r\n this.initMask();\r\n }\r\n\r\n get mask(): string {\r\n return this._mask ?? '';\r\n }\r\n\r\n set mask(val: string) {\r\n this._mask = val;\r\n\r\n this.initMask();\r\n this.writeValue('');\r\n }\r\n\r\n public writeValue(value: any): void {\r\n this.value = value;\r\n\r\n if (this.input) {\r\n if (this.value == undefined) {\r\n this.input.value = '';\r\n } else {\r\n this.input.value = this.value;\r\n }\r\n\r\n this.checkVal();\r\n this.focusText = this.input.value;\r\n this.updateFilledState();\r\n }\r\n }\r\n\r\n public onInputBlur(e: any) {\r\n this.checkVal();\r\n this.updateFilledState();\r\n\r\n if (this.value != this.focusText) {\r\n if (\r\n !this.input?.disabled &&\r\n (this.value === undefined || this.value === null || (this.value as string).indexOf(this.slotChar) >= 0)\r\n ) {\r\n this.value = '';\r\n e.target.value = '';\r\n this.host.updateModel(null);\r\n }\r\n\r\n this.updateModel(e);\r\n const event = document.createEvent('HTMLEvents');\r\n event.initEvent('change', true, false);\r\n this.input?.dispatchEvent(event);\r\n }\r\n }\r\n\r\n public onKeyDown(e: any) {\r\n if (this.host.readonlyInput) {\r\n return;\r\n }\r\n\r\n const k = e.which || e.keyCode;\r\n const iPhone = /iphone/i.test(navigator.userAgent);\r\n let pos;\r\n let begin;\r\n let end;\r\n this.oldVal = this.input?.value;\r\n\r\n // Backspace, delete, and escape get special treatment\r\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\r\n pos = this.caret();\r\n begin = pos?.begin;\r\n end = pos?.end;\r\n\r\n if (begin && end) {\r\n if (end - begin === 0) {\r\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\r\n end = k === 46 ? this.seekNext(end) : end;\r\n }\r\n\r\n this.clearBuffer(begin, end);\r\n this.shiftL(begin, end - 1);\r\n }\r\n\r\n this.updateModel(e);\r\n e.preventDefault();\r\n } else if (k === 13) {\r\n // Enter\r\n this.onInputBlur(e);\r\n this.updateModel(e);\r\n } else if (k === 27) {\r\n // Escape\r\n if (this.input && this.focusText) {\r\n this.input.value = this.focusText;\r\n this.caret(0, this.checkVal());\r\n }\r\n this.updateModel(e);\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n public onKeyPress(e: any) {\r\n if (this.host.readonlyInput) return;\r\n\r\n const k = e.which || e.keyCode;\r\n const pos = this.caret();\r\n let p;\r\n let c;\r\n let next: any;\r\n\r\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\r\n // Ignore\r\n return;\r\n } else if (k && k !== 13) {\r\n if (!isNullOrUndefined(pos?.end) && !isNullOrUndefined(pos?.begin)) {\r\n if (pos.end - pos.begin !== 0) {\r\n this.clearBuffer(pos.begin, pos.end);\r\n this.shiftL(pos.begin, pos.end - 1);\r\n }\r\n }\r\n\r\n if (!isNullOrUndefined(pos?.begin)) {\r\n p = this.seekNext(pos.begin - 1);\r\n }\r\n\r\n if (p < (this.len ?? 0)) {\r\n c = String.fromCharCode(k);\r\n if (this.tests?.[p].test(c)) {\r\n this.shiftR(p);\r\n\r\n this.buffer[p] = c;\r\n this.writeBuffer();\r\n next = this.seekNext(p);\r\n\r\n if (/android/i.test(navigator.userAgent)) {\r\n // Path for CSP Violation on FireFox OS 1.1\r\n const proxy = () => {\r\n this.caret(next);\r\n };\r\n\r\n setTimeout(proxy, 0);\r\n } else {\r\n this.caret(next);\r\n }\r\n }\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n this.updateModel(e);\r\n this.updateFilledState();\r\n }\r\n\r\n private createCompleteMask(): string {\r\n switch (this.host.selectionMode) {\r\n case 'range':\r\n return this.mask + ` ${this.host.rangeSeparator} ` + this.mask;\r\n case 'single':\r\n case 'multiple':\r\n return this.mask;\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n public checkVal(allow?: boolean) {\r\n // Try to place characters where they belong\r\n const test = this.input?.value;\r\n let lastMatch = -1;\r\n let i: any;\r\n let c: any;\r\n let pos = 0;\r\n\r\n for (i = 0; i < (this.len ?? 0); i++) {\r\n if (this.tests?.[i]) {\r\n this.buffer[i] = this.getPlaceholder(i);\r\n while (pos++ < (test?.length ?? 0)) {\r\n c = test?.charAt(pos - 1);\r\n if (this.tests[i].test(c)) {\r\n this.buffer[i] = c;\r\n lastMatch = i;\r\n break;\r\n }\r\n }\r\n if (pos > (test?.length ?? 0)) {\r\n this.clearBuffer(i + 1, this.len);\r\n break;\r\n }\r\n } else {\r\n if (this.buffer[i] === test?.charAt(pos)) {\r\n pos++;\r\n }\r\n if (i < this.partialPosition) {\r\n lastMatch = i;\r\n }\r\n }\r\n }\r\n if (allow) {\r\n this.writeBuffer();\r\n } else if (lastMatch + 1 < this.partialPosition) {\r\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\r\n // Invalid value. Remove it and replace it with the\r\n // mask, which is the default behavior.\r\n if (this.input?.value) {\r\n this.input.value = '';\r\n }\r\n this.clearBuffer(0, this.len);\r\n } else {\r\n // Invalid value, but we opt to show the value to the\r\n // user and allow them to correct their mistake.\r\n this.writeBuffer();\r\n }\r\n } else {\r\n this.writeBuffer();\r\n if (!isNullOrUndefined(this.input)) {\r\n this.input.value = this.input.value.substring(0, lastMatch + 1);\r\n }\r\n }\r\n\r\n return this.partialPosition ? i : this.firstNonMaskPos;\r\n }\r\n\r\n public onInputFocus() {\r\n if (this.host.readonlyInput) return;\r\n\r\n clearTimeout(this.caretTimeoutId);\r\n let pos: any;\r\n\r\n this.focusText = this.input?.value;\r\n\r\n pos = this.checkVal();\r\n\r\n this.caretTimeoutId = setTimeout(() => {\r\n if (this.input !== document.activeElement) {\r\n return;\r\n }\r\n this.writeBuffer();\r\n if (pos == this.mask.replace('?', '').length) {\r\n this.caret(0, pos);\r\n } else {\r\n this.caret(pos);\r\n }\r\n }, 10);\r\n }\r\n\r\n public onInputChange(event: any) {\r\n if (this.androidChrome) this.handleAndroidInput(event);\r\n else this.handleInputChange(event);\r\n }\r\n\r\n public handleInputChange(event: any) {\r\n if (this.host.readonlyInput) return;\r\n\r\n setTimeout(() => {\r\n const pos = this.checkVal(true);\r\n this.caret(pos);\r\n this.updateModel(event);\r\n }, 0);\r\n }\r\n\r\n public updateModel(e: any) {\r\n const updatedValue = e.target.value;\r\n if (updatedValue !== null || updatedValue !== undefined) {\r\n this.value = updatedValue;\r\n this.host.onUserInput(e);\r\n }\r\n }\r\n\r\n public updateFilledState() {\r\n this.filled = this.input && this.input.value != '';\r\n }\r\n\r\n public focus() {\r\n this.input?.focus();\r\n }\r\n\r\n private initMask() {\r\n const completeMask = this.createCompleteMask();\r\n\r\n this.tests = [];\r\n this.partialPosition = completeMask.length;\r\n this.len = completeMask.length;\r\n this.firstNonMaskPos = null;\r\n this.defs = {\r\n '9': '[0-9]',\r\n };\r\n\r\n const maskTokens = completeMask.split('');\r\n for (let i = 0; i < maskTokens.length; i++) {\r\n const c = maskTokens[i];\r\n\r\n if (c == '?') {\r\n this.len--;\r\n this.partialPosition = i;\r\n } else if (this.defs[c]) {\r\n this.tests.push(new RegExp(this.defs[c]));\r\n\r\n if (this.firstNonMaskPos === null) {\r\n this.firstNonMaskPos = this.tests.length - 1;\r\n }\r\n\r\n if (i < this.partialPosition) {\r\n this.lastRequiredNonMaskPos = this.tests.length - 1;\r\n }\r\n } else {\r\n this.tests.push(null);\r\n }\r\n }\r\n\r\n this.buffer = [];\r\n\r\n for (let i = 0; i < maskTokens.length; i++) {\r\n const c = maskTokens[i];\r\n\r\n if (c != '?') {\r\n if (this.defs[c]) {\r\n this.buffer.push(this.getPlaceholder(i));\r\n } else {\r\n this.buffer.push(c);\r\n }\r\n }\r\n }\r\n\r\n this.defaultBuffer = this.buffer.join('');\r\n }\r\n\r\n private caret(first?: number, last?: number) {\r\n let range, begin, end;\r\n\r\n if (!this.input?.offsetParent || this.input !== document.activeElement) {\r\n return { begin: 0, end: 0 };\r\n }\r\n\r\n if (typeof first == 'number') {\r\n begin = first;\r\n end = typeof last === 'number' ? last : begin;\r\n\r\n if (this.input.setSelectionRange) {\r\n this.input.setSelectionRange(begin, end);\r\n } else if ((this.input as any)['createTextRange']) {\r\n range = (this.input as any)['createTextRange']();\r\n range.collapse(true);\r\n range.moveEnd('character', end);\r\n range.moveStart('character', begin);\r\n range.select();\r\n }\r\n } else {\r\n begin = this.input.selectionStart;\r\n end = this.input.selectionEnd;\r\n\r\n return { begin: begin, end: end };\r\n }\r\n\r\n return { begin: first ?? 0, end: last ?? 0 };\r\n }\r\n\r\n private getPlaceholder(i: number) {\r\n if (i < this.slotChar.length) return this.slotChar.charAt(i);\r\n return this.slotChar.charAt(0);\r\n }\r\n\r\n private seekNext(pos: any) {\r\n while (++pos < (this.len ?? 0)) {\r\n if (this.tests?.[pos]) break;\r\n }\r\n return pos;\r\n }\r\n\r\n private seekPrev(pos: any) {\r\n while (--pos >= 0 && !this.tests?.[pos]) {\r\n if (this.tests?.[pos]) break;\r\n }\r\n return pos;\r\n }\r\n\r\n private shiftL(begin: number, end: number) {\r\n let i: any;\r\n let j: any;\r\n\r\n if (begin < 0) {\r\n return;\r\n }\r\n\r\n j = this.seekNext(end);\r\n\r\n for (i = begin; i < (this.len ?? 0); i++) {\r\n if (this.tests?.[i]) {\r\n if (j < (this.len ?? 0) && this.tests[i].test(this.buffer[j])) {\r\n this.buffer[i] = this.buffer[j];\r\n this.buffer[j] = this.getPlaceholder(j);\r\n } else break;\r\n\r\n j = this.seekNext(j);\r\n }\r\n }\r\n this.writeBuffer();\r\n if (!isNullOrUndefined(this.firstNonMaskPos)) {\r\n this.caret(Math.max(this.firstNonMaskPos, begin));\r\n }\r\n }\r\n\r\n private shiftR(pos: any) {\r\n let i: any;\r\n let c = this.getPlaceholder(pos);\r\n let j: any;\r\n let t: any;\r\n\r\n for (i = pos; i < (this.len ?? 0); i++) {\r\n if (this.tests?.[i]) {\r\n j = this.seekNext(i);\r\n t = this.buffer[i];\r\n this.buffer[i] = c;\r\n\r\n if (j < (this.len ?? 0) && this.tests[j].test(t)) {\r\n c = t;\r\n } else break;\r\n }\r\n }\r\n }\r\n\r\n private handleAndroidInput(e: any) {\r\n const curVal = this.input?.value;\r\n const pos = this.caret();\r\n\r\n if (isNullOrUndefined(pos?.begin)) return;\r\n\r\n if (this.oldVal && this.oldVal.length && this.oldVal.length > (curVal?.length ?? 0)) {\r\n // A deletion or backspace happened\r\n this.checkVal(true);\r\n while (pos?.begin > 0 && !this.tests?.[pos.begin - 1]) {\r\n pos.begin--;\r\n }\r\n if (pos.begin === 0) {\r\n while (pos.begin < (this.firstNonMaskPos ?? 0) && !this.tests?.[pos.begin]) {\r\n pos.begin++;\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n this.caret(pos.begin!, pos.begin!);\r\n if (this.isCompleted()) {\r\n const sentVal = curVal?.replace(this.slotChar, ''); // Limpa os caracteres placeholders extras caso ele esteja completo\r\n sentVal && this.updateCalendarValue(sentVal);\r\n }\r\n }, 0);\r\n } else {\r\n this.checkVal(true);\r\n\r\n while (pos.begin < (this.len ?? 0) && !this.tests?.[pos.begin]) {\r\n pos.begin++;\r\n }\r\n\r\n if (!isNullOrUndefined(pos.begin)) {\r\n setTimeout(() => {\r\n this.caret(pos.begin!, pos.begin!);\r\n if (this.isCompleted()) {\r\n const sentVal = curVal?.replace(this.slotChar, ''); // Limpa os caracteres placeholders extras caso ele esteja completo\r\n sentVal && this.updateCalendarValue(sentVal);\r\n }\r\n }, 0);\r\n }\r\n }\r\n }\r\n\r\n private updateCalendarValue(sentVal: string) {\r\n // TODO verificar\r\n const dateVal = <Date>this.host.parseValueFromString(sentVal);\r\n if (this.host.isSelectable(dateVal.getDate(), dateVal.getMonth(), dateVal.getFullYear(), false)) {\r\n this.host.updateModel(sentVal);\r\n this.host.updateUI();\r\n }\r\n }\r\n\r\n private clearBuffer(start: any, end: any) {\r\n let i;\r\n\r\n for (i = start; i < end && i < (this.len ?? 0); i++) {\r\n if (this.tests?.[i]) {\r\n this.buffer[i] = this.getPlaceholder(i);\r\n }\r\n }\r\n }\r\n\r\n private writeBuffer() {\r\n if (!isNullOrUndefined(this.input)) {\r\n this.input.value = this.buffer.join('');\r\n }\r\n }\r\n\r\n private createMaskFromDateFormat() {\r\n const calendar = this.host;\r\n let mask = this.autoClear ? '?' : '';\r\n\r\n if (!calendar.timeOnly) {\r\n let dateFormat = calendar.dateFormat;\r\n dateFormat = dateFormat?.replace(/y/g, 'yy');\r\n mask += dateFormat?.replace(/[^/*,.\\-+\\[\\]\\\\]/g, '9');\r\n if (calendar.showTime) {\r\n mask += ' ';\r\n }\r\n }\r\n\r\n if (calendar.showTime || calendar.timeOnly) {\r\n mask += '99:99';\r\n if (calendar.showSeconds) {\r\n mask += ':99';\r\n }\r\n }\r\n\r\n this._mask = mask;\r\n\r\n this.initMask();\r\n }\r\n\r\n isCompleted(): boolean {\r\n for (let i = this.firstNonMaskPos ?? 0; i <= this.lastRequiredNonMaskPos; i++) {\r\n if (this.tests?.[i] && this.buffer[i] === this.getPlaceholder(i)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n if (this.host.inputfieldViewChild && this.firstTime) {\r\n this.firstTime = false;\r\n this.setListeners();\r\n if (!isNullOrUndefined(this.input)) {\r\n this.input.type = 'tel';\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.focusListener) this.focusListener();\r\n if (this.blurListener) this.blurListener();\r\n if (this.keydownListener) this.keydownListener();\r\n if (this.keypressListener) this.keypressListener();\r\n if (this.inputListener) this.inputListener();\r\n if (this.pasteListener) this.pasteListener();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeydownEventTest(e: KeyboardEvent) {\r\n const { key } = e;\r\n if (key == 'Tab') {\r\n // Este código foi implementado para corrigir um problema no componente na v9\r\n // Deve ser removido assim que atualizarmos o PrimeNG para a v10\r\n const allFocusableElements = document.querySelectorAll(this.SELECTORS);\r\n let nextIsFocusable = false;\r\n let previousFocusable: string;\r\n let forceCloseModal = true;\r\n allFocusableElements.forEach((element) => {\r\n if (!e.shiftKey) {\r\n if (nextIsFocusable && element.id) {\r\n this.focusableElement(element.id, forceCloseModal);\r\n nextIsFocusable = false;\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n let activeTagName = window.document.activeElement?.tagName;\r\n if (e.shiftKey && element.id && element.tagName === 'INPUT' && activeTagName == 'BUTTON') {\r\n previousFocusable = element.id;\r\n forceCloseModal = false;\r\n }\r\n\r\n if (element.id === this.host.inputId) {\r\n if (previousFocusable) {\r\n this.focusableElement(previousFocusable, forceCloseModal);\r\n e.preventDefault();\r\n forceCloseModal = true;\r\n return;\r\n }\r\n nextIsFocusable = true;\r\n } else if (e.shiftKey && element.id) {\r\n previousFocusable = element.id;\r\n }\r\n });\r\n }\r\n }\r\n\r\n public focusableElement(id: string, hide: boolean) {\r\n const htmlElement = window.document.getElementById(id);\r\n htmlElement?.focus();\r\n if (hide) {\r\n this.host.hideOverlay();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { CalendarMaskDirective } from './calendar-mask.directive';\r\n\r\n@NgModule({\r\n imports: [CalendarMaskDirective],\r\n exports: [CalendarMaskDirective],\r\n})\r\nexport class CalendarMaskModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, Input, ContentChildren, NgModule } from '@angular/core';
3
- import { TemplateDirective, TemplateModule } from '@seniorsistemas/angular-components/template';
4
- import * as i1 from '@angular/common';
5
- import { CommonModule } from '@angular/common';
3
+ import { TemplateDirective } from '@seniorsistemas/angular-components/template';
4
+ import { NgStyle, NgTemplateOutlet } from '@angular/common';
6
5
 
7
6
  /**
8
7
  * @description Componente de cartão com suporte a banner, cabeçalho (título, subtítulo e ícone)
@@ -80,11 +79,11 @@ class CardComponent {
80
79
  });
81
80
  }
82
81
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
83
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardComponent, selector: "s-card", inputs: { bannerImage: "bannerImage", fullWidth: "fullWidth", title: "title", subtitle: "subtitle", icon: "icon" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div\n class=\"card\"\n [class.card--full-width]=\"fullWidth\"\n>\n @if (showBanner) {\n <div\n class=\"banner\"\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\n ></div>\n }\n\n <!-- @if (hasCustomTemplates) {\n @if (headerTemplate) {\n <div class=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n }\n @if (bodyTemplate) {\n <div class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n </div>\n }\n @if (footerTemplate) {\n <div class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n }\n } @else {\n <div class=\"body\">\n <ng-content></ng-content>\n </div>\n } -->\n\n @if(hasHeader) {\n <div class=\"header\">\n @if(headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n }\n @if(!headerTemplate) {\n <div class=\"header-content\">\n <div class=\"header-icon\" *ngIf=\"icon\">\n <i [class]=\"icon\"></i>\n </div>\n <div>\n <div class=\"header-title\" *ngIf=\"title\">\n {{ title }}\n </div>\n <div class=\"header-subtitle\" *ngIf=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"body\">\n @if(bodyTemplate) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n }@else {\n <ng-content></ng-content>\n }\n </div>\n\n @if(footerTemplate) {\n <div class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n }\n</div>\n", styles: [".card{display:inline-flex;flex-direction:column;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;overflow:hidden}.card--full-width{width:100%}.card .banner{background-repeat:no-repeat;background-size:cover;height:150px;width:100%}.card .header{padding:16px 12px}.card .header-content{display:flex;gap:12px}.card .header-title{color:#212533;font-size:14px;font-style:normal;font-weight:700}.card .header-subtitle{color:#6e7280;font-size:14px;font-style:normal;font-weight:400}.card .header-icon{border-radius:50%;background-color:#dedce5;width:3em;display:flex;align-items:center;justify-content:center;min-height:3em}.card .body,.card .footer{padding:16px}.card .header+.body,.card .body+.footer{border-top:1px solid #c1c1cc}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardComponent, isStandalone: true, selector: "s-card", inputs: { bannerImage: "bannerImage", fullWidth: "fullWidth", title: "title", subtitle: "subtitle", icon: "icon" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div\r\n class=\"inline-flex flex-col bg-grayscale-0 rounded-medium shadow-[0px_1px_5px_0px_#00000040] overflow-hidden\"\r\n [class.w-full]=\"fullWidth\"\r\n>\r\n @if (showBanner) {\r\n <div\r\n class=\"bg-no-repeat bg-cover h-[150px] w-full\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\r\n ></div>\r\n }\r\n\r\n <!-- @if (hasCustomTemplates) {\r\n @if (headerTemplate) {\r\n <div class=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (bodyTemplate) {\r\n <div class=\"body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (footerTemplate) {\r\n <div class=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n} @else {\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n } -->\r\n\r\n @if (hasHeader) {\r\n <div class=\"py-4 px-3\">\r\n @if (headerTemplate) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n }\r\n @if (!headerTemplate) {\r\n <div class=\"flex gap-3\">\r\n @if (icon) {\r\n <div class=\"rounded-[50%] bg-grayscale-20 w-[3em] flex items-center justify-center min-h-[3em]\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n }\r\n <div>\r\n @if (title) {\r\n <div class=\"text-grayscale-90 text-sm font-bold\">\r\n {{ title }}\r\n </div>\r\n }\r\n @if (subtitle) {\r\n <div class=\"text-grayscale-60 text-sm font-normal\">\r\n {{ subtitle }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"p-4\" [class.border-t]=\"hasHeader\" [class.border-t-grayscale-30]=\"hasHeader\">\r\n @if (bodyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n\r\n @if (footerTemplate) {\r\n <div class=\"p-4 border-t border-t-grayscale-30\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
84
83
  }
85
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, decorators: [{
86
85
  type: Component,
87
- args: [{ selector: 's-card', template: "<div\n class=\"card\"\n [class.card--full-width]=\"fullWidth\"\n>\n @if (showBanner) {\n <div\n class=\"banner\"\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\n ></div>\n }\n\n <!-- @if (hasCustomTemplates) {\n @if (headerTemplate) {\n <div class=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n }\n @if (bodyTemplate) {\n <div class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n </div>\n }\n @if (footerTemplate) {\n <div class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n }\n } @else {\n <div class=\"body\">\n <ng-content></ng-content>\n </div>\n } -->\n\n @if(hasHeader) {\n <div class=\"header\">\n @if(headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n }\n @if(!headerTemplate) {\n <div class=\"header-content\">\n <div class=\"header-icon\" *ngIf=\"icon\">\n <i [class]=\"icon\"></i>\n </div>\n <div>\n <div class=\"header-title\" *ngIf=\"title\">\n {{ title }}\n </div>\n <div class=\"header-subtitle\" *ngIf=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"body\">\n @if(bodyTemplate) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n }@else {\n <ng-content></ng-content>\n }\n </div>\n\n @if(footerTemplate) {\n <div class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n }\n</div>\n", styles: [".card{display:inline-flex;flex-direction:column;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;overflow:hidden}.card--full-width{width:100%}.card .banner{background-repeat:no-repeat;background-size:cover;height:150px;width:100%}.card .header{padding:16px 12px}.card .header-content{display:flex;gap:12px}.card .header-title{color:#212533;font-size:14px;font-style:normal;font-weight:700}.card .header-subtitle{color:#6e7280;font-size:14px;font-style:normal;font-weight:400}.card .header-icon{border-radius:50%;background-color:#dedce5;width:3em;display:flex;align-items:center;justify-content:center;min-height:3em}.card .body,.card .footer{padding:16px}.card .header+.body,.card .body+.footer{border-top:1px solid #c1c1cc}\n"] }]
86
+ args: [{ selector: 's-card', standalone: true, imports: [NgStyle, NgTemplateOutlet], template: "<div\r\n class=\"inline-flex flex-col bg-grayscale-0 rounded-medium shadow-[0px_1px_5px_0px_#00000040] overflow-hidden\"\r\n [class.w-full]=\"fullWidth\"\r\n>\r\n @if (showBanner) {\r\n <div\r\n class=\"bg-no-repeat bg-cover h-[150px] w-full\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\r\n ></div>\r\n }\r\n\r\n <!-- @if (hasCustomTemplates) {\r\n @if (headerTemplate) {\r\n <div class=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (bodyTemplate) {\r\n <div class=\"body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (footerTemplate) {\r\n <div class=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n} @else {\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n } -->\r\n\r\n @if (hasHeader) {\r\n <div class=\"py-4 px-3\">\r\n @if (headerTemplate) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n }\r\n @if (!headerTemplate) {\r\n <div class=\"flex gap-3\">\r\n @if (icon) {\r\n <div class=\"rounded-[50%] bg-grayscale-20 w-[3em] flex items-center justify-center min-h-[3em]\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n }\r\n <div>\r\n @if (title) {\r\n <div class=\"text-grayscale-90 text-sm font-bold\">\r\n {{ title }}\r\n </div>\r\n }\r\n @if (subtitle) {\r\n <div class=\"text-grayscale-60 text-sm font-normal\">\r\n {{ subtitle }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"p-4\" [class.border-t]=\"hasHeader\" [class.border-t-grayscale-30]=\"hasHeader\">\r\n @if (bodyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n\r\n @if (footerTemplate) {\r\n <div class=\"p-4 border-t border-t-grayscale-30\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n" }]
88
87
  }], propDecorators: { bannerImage: [{
89
88
  type: Input
90
89
  }], fullWidth: [{
@@ -102,14 +101,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
102
101
 
103
102
  class CardModule {
104
103
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
105
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CardModule, declarations: [CardComponent], imports: [CommonModule, TemplateModule], exports: [CardComponent] });
106
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardModule, imports: [CommonModule, TemplateModule] });
104
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CardModule, imports: [CardComponent], exports: [CardComponent] });
105
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardModule });
107
106
  }
108
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardModule, decorators: [{
109
108
  type: NgModule,
110
109
  args: [{
111
- imports: [CommonModule, TemplateModule],
112
- declarations: [CardComponent],
110
+ imports: [CardComponent],
113
111
  exports: [CardComponent],
114
112
  }]
115
113
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-card.mjs","sources":["../../projects/angular-components/card/src/lib/card/card.component.ts","../../projects/angular-components/card/src/lib/card/card.component.html","../../projects/angular-components/card/src/lib/card/card.module.ts","../../projects/angular-components/card/src/seniorsistemas-angular-components-card.ts"],"sourcesContent":["import { AfterContentInit, Component, ContentChildren, Input, QueryList, TemplateRef } from '@angular/core';\n\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\n\n/**\n * @description Componente de cartão com suporte a banner, cabeçalho (título, subtítulo e ícone)\n * e templates customizáveis para cabeçalho, corpo e rodapé via `TemplateDirective`.\n *\n * @example\n * ```html\n * <s-card title=\"Título\" subtitle=\"Subtítulo\">\n * <ng-template sTemplate type=\"body\">Conteúdo</ng-template>\n * </s-card>\n * ```\n *\n * @category Structure\n */\n@Component({\n selector: 's-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class CardComponent implements AfterContentInit {\n /** @description URL da imagem exibida como banner no topo do card. */\n @Input()\n public bannerImage?: string;\n\n /** @description Faz o card ocupar 100% da largura disponível. @default false */\n @Input()\n public fullWidth = false;\n\n /** @description Título exibido no cabeçalho do card. @default '' */\n @Input() title = '';\n\n /** @description Subtítulo exibido abaixo do título. @default '' */\n @Input() subtitle = '';\n\n /** @description Classe do ícone exibido no cabeçalho. @default '' */\n @Input() icon = '';\n\n public showBanner = false;\n\n @ContentChildren(TemplateDirective)\n public templates?: QueryList<TemplateDirective>;\n\n public hasCustomTemplates = false;\n public headerTemplate?: TemplateRef<unknown>;\n public bodyTemplate?: TemplateRef<unknown>;\n public footerTemplate?: TemplateRef<unknown>;\n\n public get hasHeader() {\n const headerTemplate = !!this.headerTemplate;\n const hasHeaderAttributes = this.title || this.subtitle || this.icon;\n return headerTemplate || hasHeaderAttributes;\n }\n\n public async ngAfterContentInit(): Promise<void> {\n await this._setShowBanner();\n this._setTemplates();\n }\n\n private _getHeaderTemplate(): TemplateRef<unknown> | undefined {\n return this._getCustomTemplate('header');\n }\n\n private _getBodyTemplate(): TemplateRef<unknown> | undefined {\n return this._getCustomTemplate('body');\n }\n\n private _getFooterTemplate(): TemplateRef<unknown> | undefined {\n return this._getCustomTemplate('footer');\n }\n\n private _getCustomTemplate(type: string): TemplateRef<unknown> | undefined {\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private _setTemplates(): void {\n this.headerTemplate = this._getHeaderTemplate();\n this.bodyTemplate = this._getBodyTemplate();\n this.footerTemplate = this._getFooterTemplate();\n\n this.hasCustomTemplates = !!(this.headerTemplate || this.bodyTemplate || this.footerTemplate);\n }\n\n private _setShowBanner() {\n return new Promise<void>((resolve) => {\n if (!this.bannerImage) {\n resolve();\n return;\n }\n\n const img = new Image();\n img.src = this.bannerImage;\n img.onload = () => {\n this.showBanner = true;\n resolve();\n };\n\n img.onerror = () => {\n this.showBanner = false;\n resolve();\n };\n });\n }\n}\n\n","<div\n class=\"card\"\n [class.card--full-width]=\"fullWidth\"\n>\n @if (showBanner) {\n <div\n class=\"banner\"\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\n ></div>\n }\n\n <!-- @if (hasCustomTemplates) {\n @if (headerTemplate) {\n <div class=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n }\n @if (bodyTemplate) {\n <div class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n </div>\n }\n @if (footerTemplate) {\n <div class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n }\n } @else {\n <div class=\"body\">\n <ng-content></ng-content>\n </div>\n } -->\n\n @if(hasHeader) {\n <div class=\"header\">\n @if(headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n }\n @if(!headerTemplate) {\n <div class=\"header-content\">\n <div class=\"header-icon\" *ngIf=\"icon\">\n <i [class]=\"icon\"></i>\n </div>\n <div>\n <div class=\"header-title\" *ngIf=\"title\">\n {{ title }}\n </div>\n <div class=\"header-subtitle\" *ngIf=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n </div>\n }\n </div>\n }\n <div class=\"body\">\n @if(bodyTemplate) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n }@else {\n <ng-content></ng-content>\n }\n </div>\n\n @if(footerTemplate) {\n <div class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CardComponent } from './card.component';\n\nimport { TemplateModule } from '@seniorsistemas/angular-components/template'\n\n\n@NgModule({\n imports: [CommonModule, TemplateModule],\n declarations: [CardComponent],\n exports: [CardComponent],\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-card.mjs","sources":["../../projects/angular-components/card/src/lib/card/card.component.ts","../../projects/angular-components/card/src/lib/card/card.component.html","../../projects/angular-components/card/src/lib/card/card.module.ts","../../projects/angular-components/card/src/seniorsistemas-angular-components-card.ts"],"sourcesContent":["import { AfterContentInit, Component, ContentChildren, Input, QueryList, TemplateRef } from '@angular/core';\r\n\r\nimport { TemplateDirective } from '@seniorsistemas/angular-components/template';\r\nimport { NgStyle, NgTemplateOutlet } from '@angular/common';\r\n\r\n/**\r\n * @description Componente de cartão com suporte a banner, cabeçalho (título, subtítulo e ícone)\r\n * e templates customizáveis para cabeçalho, corpo e rodapé via `TemplateDirective`.\r\n *\r\n * @example\r\n * ```html\r\n * <s-card title=\"Título\" subtitle=\"Subtítulo\">\r\n * <ng-template sTemplate type=\"body\">Conteúdo</ng-template>\r\n * </s-card>\r\n * ```\r\n *\r\n * @category Structure\r\n */\r\n@Component({\r\n selector: 's-card',\r\n templateUrl: './card.component.html',\r\n standalone: true,\r\n imports: [NgStyle, NgTemplateOutlet],\r\n})\r\nexport class CardComponent implements AfterContentInit {\r\n /** @description URL da imagem exibida como banner no topo do card. */\r\n @Input()\r\n public bannerImage?: string;\r\n\r\n /** @description Faz o card ocupar 100% da largura disponível. @default false */\r\n @Input()\r\n public fullWidth = false;\r\n\r\n /** @description Título exibido no cabeçalho do card. @default '' */\r\n @Input() title = '';\r\n\r\n /** @description Subtítulo exibido abaixo do título. @default '' */\r\n @Input() subtitle = '';\r\n\r\n /** @description Classe do ícone exibido no cabeçalho. @default '' */\r\n @Input() icon = '';\r\n\r\n public showBanner = false;\r\n\r\n @ContentChildren(TemplateDirective)\r\n public templates?: QueryList<TemplateDirective>;\r\n\r\n public hasCustomTemplates = false;\r\n public headerTemplate?: TemplateRef<unknown>;\r\n public bodyTemplate?: TemplateRef<unknown>;\r\n public footerTemplate?: TemplateRef<unknown>;\r\n\r\n public get hasHeader() {\r\n const headerTemplate = !!this.headerTemplate;\r\n const hasHeaderAttributes = this.title || this.subtitle || this.icon;\r\n return headerTemplate || hasHeaderAttributes;\r\n }\r\n\r\n public async ngAfterContentInit(): Promise<void> {\r\n await this._setShowBanner();\r\n this._setTemplates();\r\n }\r\n\r\n private _getHeaderTemplate(): TemplateRef<unknown> | undefined {\r\n return this._getCustomTemplate('header');\r\n }\r\n\r\n private _getBodyTemplate(): TemplateRef<unknown> | undefined {\r\n return this._getCustomTemplate('body');\r\n }\r\n\r\n private _getFooterTemplate(): TemplateRef<unknown> | undefined {\r\n return this._getCustomTemplate('footer');\r\n }\r\n\r\n private _getCustomTemplate(type: string): TemplateRef<unknown> | undefined {\r\n return this.templates?.find((template: TemplateDirective) => template.type === type)?.template;\r\n }\r\n\r\n private _setTemplates(): void {\r\n this.headerTemplate = this._getHeaderTemplate();\r\n this.bodyTemplate = this._getBodyTemplate();\r\n this.footerTemplate = this._getFooterTemplate();\r\n\r\n this.hasCustomTemplates = !!(this.headerTemplate || this.bodyTemplate || this.footerTemplate);\r\n }\r\n\r\n private _setShowBanner() {\r\n return new Promise<void>((resolve) => {\r\n if (!this.bannerImage) {\r\n resolve();\r\n return;\r\n }\r\n\r\n const img = new Image();\r\n img.src = this.bannerImage;\r\n img.onload = () => {\r\n this.showBanner = true;\r\n resolve();\r\n };\r\n\r\n img.onerror = () => {\r\n this.showBanner = false;\r\n resolve();\r\n };\r\n });\r\n }\r\n}\r\n","<div\r\n class=\"inline-flex flex-col bg-grayscale-0 rounded-medium shadow-[0px_1px_5px_0px_#00000040] overflow-hidden\"\r\n [class.w-full]=\"fullWidth\"\r\n>\r\n @if (showBanner) {\r\n <div\r\n class=\"bg-no-repeat bg-cover h-[150px] w-full\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\r\n ></div>\r\n }\r\n\r\n <!-- @if (hasCustomTemplates) {\r\n @if (headerTemplate) {\r\n <div class=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (bodyTemplate) {\r\n <div class=\"body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (footerTemplate) {\r\n <div class=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n} @else {\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n } -->\r\n\r\n @if (hasHeader) {\r\n <div class=\"py-4 px-3\">\r\n @if (headerTemplate) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n }\r\n @if (!headerTemplate) {\r\n <div class=\"flex gap-3\">\r\n @if (icon) {\r\n <div class=\"rounded-[50%] bg-grayscale-20 w-[3em] flex items-center justify-center min-h-[3em]\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n }\r\n <div>\r\n @if (title) {\r\n <div class=\"text-grayscale-90 text-sm font-bold\">\r\n {{ title }}\r\n </div>\r\n }\r\n @if (subtitle) {\r\n <div class=\"text-grayscale-60 text-sm font-normal\">\r\n {{ subtitle }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"p-4\" [class.border-t]=\"hasHeader\" [class.border-t-grayscale-30]=\"hasHeader\">\r\n @if (bodyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n\r\n @if (footerTemplate) {\r\n <div class=\"p-4 border-t border-t-grayscale-30\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { CardComponent } from './card.component';\r\n\r\n@NgModule({\r\n imports: [CardComponent],\r\n exports: [CardComponent],\r\n})\r\nexport class CardModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}