@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-slide-in-bar.mjs","sources":["../../projects/angular-components/slide-in-bar/src/lib/slide-in-bar/slide-in-bar.service.ts","../../projects/angular-components/slide-in-bar/src/lib/slide-in-bar/slide-in-bar.component.ts","../../projects/angular-components/slide-in-bar/src/lib/slide-in-bar/slide-in-bar.component.html","../../projects/angular-components/slide-in-bar/src/lib/slide-in-bar/slide-in-bar.module.ts","../../projects/angular-components/slide-in-bar/src/seniorsistemas-angular-components-slide-in-bar.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\nimport { Observable, Subject } from \"rxjs\";\n\n@Injectable()\nexport class SlideInBarService {\n private modalCloseMap = new Map<string, Subject<void>>();\n\n public createSlidePanel(id: string): Observable<void> {\n const panelSubject = new Subject<void>();\n\n this.modalCloseMap.set(id, panelSubject);\n return panelSubject.asObservable();\n }\n\n public getModalCloseObservable(id: string): Observable<void> | null {\n return this.modalCloseMap.get(id)?.asObservable() ?? null;\n }\n\n public closeModal(id: string): void {\n const subject = this.modalCloseMap.get(id);\n if (subject) {\n subject.next();\n }\n }\n}","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { AfterViewChecked, AfterViewInit, Component, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output, inject } from '@angular/core';\n\nimport { DEPRECATED_CONFIG } from '@seniorsistemas/angular-components/common/deprecated-selector';\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SlideInBarService } from './slide-in-bar.service';\n\nconst SMALL_DEVICE_BREAKPOINT = 420;\n\n/**\n * @description Componente de painel deslizante lateral que expande/colapsa ao clicar em um botão de toggle.\n * Em telas pequenas (≤ 420px), o painel entra em modo overlay, sobrepondo o conteúdo.\n * Substitui o seletor `s-slide-panel` (deprecado desde v20.0.0).\n *\n * @example\n * ```html\n * <s-slide-in-bar [cache]=\"true\" (panelOpened)=\"onOpen()\">\n * <p>Conteúdo lateral</p>\n * </s-slide-in-bar>\n * ```\n *\n * @category Overlay\n */\n@Component({\n selector: 's-slide-in-bar, s-slide-panel',\n templateUrl: './slide-in-bar.component.html',\n styleUrls: ['./slide-in-bar.component.scss'],\n hostDirectives: [DeprecatedSelectorDirective],\n providers: [\n {\n provide: DEPRECATED_CONFIG,\n useValue: {\n oldSelector: 's-slide-panel',\n newSelector: 's-slide-in-bar',\n removalVersion: '20.0.0',\n },\n },\n ],\n animations: [\n trigger('cachelessAnimation', [\n transition(':enter', [style({ width: '0' }), animate('200ms linear', style({ width: '*' }))]),\n transition(':leave', [style({ width: '*' }), animate('200ms linear', style({ width: '0' }))]),\n ]),\n trigger('cacheAnimation', [\n state('true', style({ width: '*', padding: '0 16px' })),\n state('false', style({ width: '0px', padding: '0' })),\n transition('* => *', animate('200ms')),\n ]),\n ],\n})\nexport class SlideInBarComponent implements OnInit, AfterViewChecked, AfterViewInit, OnDestroy {\n private readonly slidePanelService = inject(SlideInBarService);\n\n public static nextId = 0;\n\n /**\n * @description Identificador único do painel. Gerado automaticamente se não informado.\n * Usado internamente pelo `SlideInBarService` para comunicação entre painéis.\n */\n @Input()\n public id = `slide-panel-${++SlideInBarComponent.nextId}`;\n\n /**\n * @description Classe de ícone exibida no botão de abertura do painel.\n *\n * @default 'fas fa-chevron-right'\n */\n @Input()\n public openIcon = 'fas fa-chevron-right';\n\n /**\n * @description Classe de ícone exibida no botão de fechamento do painel.\n *\n * @default 'fas fa-chevron-left'\n */\n @Input()\n public closeIcon = 'fas fa-chevron-left';\n\n /**\n * @description Quando `true`, mantém o conteúdo do painel no DOM mesmo quando fechado,\n * preservando o estado interno dos componentes filhos.\n *\n * @default false\n */\n @Input()\n public cache = false;\n\n /**\n * @description Quando `true`, o painel é iniciado já aberto.\n *\n * @default false\n */\n @Input()\n public createOpen = false;\n\n /**\n * @description Quando `true`, o painel não sobrepõe o conteúdo ao expandir,\n * empurrando o layout adjacente.\n *\n * @default false\n */\n @Input()\n public noOverlap = false;\n\n /**\n * @description Emitido quando o painel é aberto pelo usuário.\n */\n @Output()\n public panelOpened = new EventEmitter<void>();\n\n /**\n * @description Emitido quando o painel é fechado pelo usuário.\n */\n @Output()\n public panelClosed = new EventEmitter<void>();\n\n public isOpen = false;\n public isSlideOver = false;\n public isAnimating = false;\n public isContentAnimationDisabled = true;\n\n private _unsubscribe$ = new Subject<void>();\n\n @HostListener('window:resize')\n public onResize(): void {\n this._checkOverBehavior();\n }\n\n public ngOnInit(): void {\n this._checkOverBehavior();\n this.slidePanelService\n .createSlidePanel(this.id)\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this.isOpen = false;\n });\n }\n\n public ngAfterViewInit(): void {\n queueMicrotask(() => {\n if (this.createOpen) {\n this.isOpen = true;\n }\n });\n }\n\n public ngAfterViewChecked() {\n return;\n // to executed at a safe time prior to control returning to the browser's event loop\n // queueMicrotask(() => {\n // this._calculateSlideHeight();\n // this.isContentAnimationDisabled = false;\n // });\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n public onClickButton() {\n if (this.isAnimating) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.panelOpened.emit();\n } else {\n this.panelClosed.emit();\n }\n }\n\n public onContentAnimationStart() {\n this.isAnimating = true;\n }\n\n public onContentAnimationDone() {\n this.isAnimating = false;\n }\n\n private _checkOverBehavior() {\n this.isSlideOver = window.innerWidth <= SMALL_DEVICE_BREAKPOINT;\n }\n}\n\n","<div class=\"slide-in-bar\">\n <div\n class=\"slide-content\"\n [ngClass]=\"{\n 'slide-content--closed': !isOpen,\n 'slide-content--over': isSlideOver,\n 'slide-content--no-overlap': noOverlap,\n }\"\n >\n <div\n #mainContainer\n class=\"main-container\"\n >\n @if (cache) {\n <div\n class=\"content-container\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\"\n >\n <ng-container [ngTemplateOutlet]=\"slideContentTemplate\"></ng-container>\n </div>\n } @else {\n @if (isOpen) {\n <div\n class=\"content-container\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\"\n >\n <ng-container [ngTemplateOutlet]=\"slideContentTemplate\"></ng-container>\n </div>\n }\n }\n </div>\n <button\n class=\"button\"\n [ngClass]=\"isOpen ? closeIcon : openIcon\"\n (click)=\"onClickButton()\"\n ></button>\n </div>\n <div\n class=\"side-content\"\n >\n <ng-content select=\"[side-content]\"></ng-content>\n </div>\n</div>\n\n<ng-template #slideContentTemplate>\n <ng-content select=\"[slide-content]\"></ng-content>\n</ng-template>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SlideInBarComponent } from \"./slide-in-bar.component\";\nimport { SlideInBarService } from \"./slide-in-bar.service\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SlideInBarComponent],\n exports: [SlideInBarComponent],\n providers: [SlideInBarService],\n})\nexport class SlideInBarModule { }","/**\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-slide-in-bar.mjs","sources":["../../projects/angular-components/slide-in-bar/src/lib/slide-in-bar/slide-in-bar.service.ts","../../projects/angular-components/slide-in-bar/src/lib/slide-in-bar/slide-in-bar.component.ts","../../projects/angular-components/slide-in-bar/src/lib/slide-in-bar/slide-in-bar.component.html","../../projects/angular-components/slide-in-bar/src/lib/slide-in-bar/slide-in-bar.module.ts","../../projects/angular-components/slide-in-bar/src/seniorsistemas-angular-components-slide-in-bar.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\nimport { Observable, Subject } from \"rxjs\";\n\n@Injectable()\nexport class SlideInBarService {\n private modalCloseMap = new Map<string, Subject<void>>();\n\n public createSlidePanel(id: string): Observable<void> {\n const panelSubject = new Subject<void>();\n\n this.modalCloseMap.set(id, panelSubject);\n return panelSubject.asObservable();\n }\n\n public getModalCloseObservable(id: string): Observable<void> | null {\n return this.modalCloseMap.get(id)?.asObservable() ?? null;\n }\n\n public closeModal(id: string): void {\n const subject = this.modalCloseMap.get(id);\n if (subject) {\n subject.next();\n }\n }\n}","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n AfterViewChecked,\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\n\r\nimport { DEPRECATED_CONFIG } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { SlideInBarService } from './slide-in-bar.service';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\nconst SMALL_DEVICE_BREAKPOINT = 420;\r\n\r\n/**\r\n * @description Componente de painel deslizante lateral que expande/colapsa ao clicar em um botão de toggle.\r\n * Em telas pequenas (≤ 420px), o painel entra em modo overlay, sobrepondo o conteúdo.\r\n * Substitui o seletor `s-slide-panel` (deprecado desde v20.0.0).\r\n *\r\n * @example\r\n * ```html\r\n * <s-slide-in-bar [cache]=\"true\" (panelOpened)=\"onOpen()\">\r\n * <p>Conteúdo lateral</p>\r\n * </s-slide-in-bar>\r\n * ```\r\n *\r\n * @category Overlay\r\n */\r\n@Component({\r\n selector: 's-slide-in-bar, s-slide-panel',\r\n templateUrl: './slide-in-bar.component.html',\r\n styleUrls: ['./slide-in-bar.component.scss'],\r\n hostDirectives: [DeprecatedSelectorDirective],\r\n providers: [\r\n {\r\n provide: DEPRECATED_CONFIG,\r\n useValue: {\r\n oldSelector: 's-slide-panel',\r\n newSelector: 's-slide-in-bar',\r\n removalVersion: '20.0.0',\r\n },\r\n },\r\n ],\r\n animations: [\r\n trigger('cachelessAnimation', [\r\n transition(':enter', [style({ width: '0' }), animate('200ms linear', style({ width: '*' }))]),\r\n transition(':leave', [style({ width: '*' }), animate('200ms linear', style({ width: '0' }))]),\r\n ]),\r\n trigger('cacheAnimation', [\r\n state('true', style({ width: '*', padding: '0 16px' })),\r\n state('false', style({ width: '0px', padding: '0' })),\r\n transition('* => *', animate('200ms')),\r\n ]),\r\n ],\r\n standalone: true,\r\n imports: [NgClass, NgTemplateOutlet],\r\n})\r\nexport class SlideInBarComponent implements OnInit, AfterViewChecked, AfterViewInit, OnDestroy {\r\n private readonly slidePanelService = inject(SlideInBarService);\r\n\r\n public static nextId = 0;\r\n\r\n /**\r\n * @description Identificador único do painel. Gerado automaticamente se não informado.\r\n * Usado internamente pelo `SlideInBarService` para comunicação entre painéis.\r\n */\r\n @Input()\r\n public id = `slide-panel-${++SlideInBarComponent.nextId}`;\r\n\r\n /**\r\n * @description Classe de ícone exibida no botão de abertura do painel.\r\n *\r\n * @default 'fas fa-chevron-right'\r\n */\r\n @Input()\r\n public openIcon = 'fas fa-chevron-right';\r\n\r\n /**\r\n * @description Classe de ícone exibida no botão de fechamento do painel.\r\n *\r\n * @default 'fas fa-chevron-left'\r\n */\r\n @Input()\r\n public closeIcon = 'fas fa-chevron-left';\r\n\r\n /**\r\n * @description Quando `true`, mantém o conteúdo do painel no DOM mesmo quando fechado,\r\n * preservando o estado interno dos componentes filhos.\r\n *\r\n * @default false\r\n */\r\n @Input()\r\n public cache = false;\r\n\r\n /**\r\n * @description Quando `true`, o painel é iniciado já aberto.\r\n *\r\n * @default false\r\n */\r\n @Input()\r\n public createOpen = false;\r\n\r\n /**\r\n * @description Quando `true`, o painel não sobrepõe o conteúdo ao expandir,\r\n * empurrando o layout adjacente.\r\n *\r\n * @default false\r\n */\r\n @Input()\r\n public noOverlap = false;\r\n\r\n /**\r\n * @description Emitido quando o painel é aberto pelo usuário.\r\n */\r\n @Output()\r\n public panelOpened = new EventEmitter<void>();\r\n\r\n /**\r\n * @description Emitido quando o painel é fechado pelo usuário.\r\n */\r\n @Output()\r\n public panelClosed = new EventEmitter<void>();\r\n\r\n public isOpen = false;\r\n public isSlideOver = false;\r\n public isAnimating = false;\r\n public isContentAnimationDisabled = true;\r\n\r\n private _unsubscribe$ = new Subject<void>();\r\n\r\n @HostListener('window:resize')\r\n public onResize(): void {\r\n this._checkOverBehavior();\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._checkOverBehavior();\r\n this.slidePanelService\r\n .createSlidePanel(this.id)\r\n .pipe(takeUntil(this._unsubscribe$))\r\n .subscribe(() => {\r\n this.isOpen = false;\r\n });\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n queueMicrotask(() => {\r\n if (this.createOpen) {\r\n this.isOpen = true;\r\n }\r\n });\r\n }\r\n\r\n public ngAfterViewChecked() {\r\n return;\r\n // to executed at a safe time prior to control returning to the browser's event loop\r\n // queueMicrotask(() => {\r\n // this._calculateSlideHeight();\r\n // this.isContentAnimationDisabled = false;\r\n // });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._unsubscribe$.next();\r\n this._unsubscribe$.complete();\r\n }\r\n\r\n public onClickButton() {\r\n if (this.isAnimating) {\r\n return;\r\n }\r\n\r\n this.isOpen = !this.isOpen;\r\n\r\n if (this.isOpen) {\r\n this.panelOpened.emit();\r\n } else {\r\n this.panelClosed.emit();\r\n }\r\n }\r\n\r\n public onContentAnimationStart() {\r\n this.isAnimating = true;\r\n }\r\n\r\n public onContentAnimationDone() {\r\n this.isAnimating = false;\r\n }\r\n\r\n private _checkOverBehavior() {\r\n this.isSlideOver = window.innerWidth <= SMALL_DEVICE_BREAKPOINT;\r\n }\r\n}\r\n","<div class=\"slide-in-bar\">\n <div\n class=\"slide-content\"\n [ngClass]=\"{\n 'slide-content--closed': !isOpen,\n 'slide-content--over': isSlideOver,\n 'slide-content--no-overlap': noOverlap,\n }\"\n >\n <div\n #mainContainer\n class=\"main-container\"\n >\n @if (cache) {\n <div\n class=\"content-container\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\"\n >\n <ng-container [ngTemplateOutlet]=\"slideContentTemplate\"></ng-container>\n </div>\n } @else {\n @if (isOpen) {\n <div\n class=\"content-container\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\"\n >\n <ng-container [ngTemplateOutlet]=\"slideContentTemplate\"></ng-container>\n </div>\n }\n }\n </div>\n <button\n class=\"button\"\n [ngClass]=\"isOpen ? closeIcon : openIcon\"\n (click)=\"onClickButton()\"\n ></button>\n </div>\n <div\n class=\"side-content\"\n >\n <ng-content select=\"[side-content]\"></ng-content>\n </div>\n</div>\n\n<ng-template #slideContentTemplate>\n <ng-content select=\"[slide-content]\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { SlideInBarComponent } from './slide-in-bar.component';\r\nimport { SlideInBarService } from './slide-in-bar.service';\r\n\r\n@NgModule({\r\n imports: [SlideInBarComponent],\r\n exports: [SlideInBarComponent],\r\n providers: [SlideInBarService],\r\n})\r\nexport class SlideInBarModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, forwardRef, Component, ViewChild, Input, Output, HostListener, NgModule } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import * as i1 from '@angular/common';
5
- import { CommonModule } from '@angular/common';
6
- import * as i2 from '@seniorsistemas/angular-components/tooltip';
7
- import { TooltipModule } from '@seniorsistemas/angular-components/tooltip';
4
+ import { NgClass } from '@angular/common';
5
+ import { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';
8
6
 
9
7
  /**
10
8
  * @description Componente de controle deslizante (slider) para seleção de valores numéricos
@@ -610,13 +608,13 @@ class SliderComponent {
610
608
  return this.max !== this.MAX_RANGE_VALUE || this.min !== this.MIN_RANGE_VALUE;
611
609
  }
612
610
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
613
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SliderComponent, selector: "s-slider", inputs: { multiple: "multiple", value: "value", step: "step", hiddenThumb: "hiddenThumb", disabled: "disabled", min: "min", max: "max", minValueLabel: "minValueLabel", maxValueLabel: "maxValueLabel", tabindex: "tabindex" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, providers: [
611
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SliderComponent, isStandalone: true, selector: "s-slider", inputs: { multiple: "multiple", value: "value", step: "step", hiddenThumb: "hiddenThumb", disabled: "disabled", min: "min", max: "max", minValueLabel: "minValueLabel", maxValueLabel: "maxValueLabel", tabindex: "tabindex" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, providers: [
614
612
  {
615
613
  provide: NG_VALUE_ACCESSOR,
616
614
  useExisting: forwardRef(() => SliderComponent),
617
615
  multi: true,
618
616
  },
619
- ], viewQueries: [{ propertyName: "track", first: true, predicate: ["track"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"slider-container\"\n [ngClass]=\"{ 'slider-container--disabled': disabled }\"\n [tabindex]=\"tabindex\"\n (click)=\"onTrackClick($event)\"\n (focus)=\"onFocusIn()\"\n (blur)=\"onBlur()\">\n <div\n #track\n class=\"slider-track\"\n [ngClass]=\"{\n 'slider-track--hidden-thumb': hiddenThumb,\n 'slider-track--moving-multiple-thumbs': movingProgressBar\n }\">\n <div\n class=\"slider-progress\"\n (mousedown)=\"onProgressMouseDown($event)\"\n [style.left.%]=\"progressLeft\"\n [style.width]=\"progressWidth\"\n ></div>\n <div\n *ngIf=\"multiple\"\n class=\"slider-thumb\"\n [sTooltip]=\"tooltipStartText\"\n [showDelay]=\"0\"\n (mousedown)=\"onMouseDown($event, 'start')\"\n [style.left.%]=\"startValue\"\n ></div>\n <div\n [sTooltip]=\"tooltipEndText\"\n class=\"slider-thumb\"\n [showDelay]=\"0\"\n (mousedown)=\"onMouseDown($event, 'end')\"\n [style.left.%]=\"endValue\"></div>\n </div>\n <div class=\"footer\">\n <span>{{ minValueLabel || min }}</span>\n <span>{{ maxValueLabel || max }}</span>\n </div>\n</div>\n", styles: [".slider-container{height:20px;padding:16px 0 40px;position:relative;-webkit-user-select:none;user-select:none;width:100%}.slider-container .slider-track{background-color:#ddd;border-radius:3px;cursor:pointer;height:6px;position:relative;width:100%}.slider-container .slider-track .slider-progress{background-color:#428bca;border-radius:3px;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:0}.slider-container .slider-track .slider-thumb{background-color:#fff;border:2px solid #428bca;border-radius:50%;cursor:pointer;height:20px;position:absolute;transform:translateY(-50%);top:50%;width:20px}.slider-container .slider-track .slider-thumb:active{box-shadow:0 0 0 4px #428bca33}.slider-container .slider-track--hidden-thumb:not(:hover) .slider-thumb{opacity:0}.slider-container .slider-track--moving-multiple-thumbs .slider-thumb{box-shadow:0 0 0 4px #428bca33}.slider-container .footer{color:#212533;display:flex;font-family:Open Sans,sans-serif;font-size:14px;justify-content:space-between;margin-top:8px}.slider-container--disabled .slider-track{cursor:default}.slider-container--disabled .slider-track .slider-thumb{border-color:#a5a5b2;cursor:default}.slider-container--disabled .slider-track .slider-thumb:active{box-shadow:none}.slider-container--disabled .slider-track .slider-progress{background-color:#a5a5b2;cursor:default}.slider-container:focus-visible{outline:none}.slider-container:focus-visible .slider-thumb{box-shadow:0 0 0 4px #428bca33}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }] });
617
+ ], viewQueries: [{ propertyName: "track", first: true, predicate: ["track"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"slider-container\"\r\n [ngClass]=\"{ 'slider-container--disabled': disabled }\"\r\n [tabindex]=\"tabindex\"\r\n (click)=\"onTrackClick($event)\"\r\n (focus)=\"onFocusIn()\"\r\n (blur)=\"onBlur()\"\r\n>\r\n <div\r\n #track\r\n class=\"slider-track\"\r\n [ngClass]=\"{\r\n 'slider-track--hidden-thumb': hiddenThumb,\r\n 'slider-track--moving-multiple-thumbs': movingProgressBar,\r\n }\"\r\n >\r\n <div\r\n class=\"slider-progress\"\r\n (mousedown)=\"onProgressMouseDown($event)\"\r\n [style.left.%]=\"progressLeft\"\r\n [style.width]=\"progressWidth\"\r\n ></div>\r\n @if (multiple) {\r\n <div\r\n class=\"slider-thumb\"\r\n [sTooltip]=\"tooltipStartText\"\r\n [showDelay]=\"0\"\r\n (mousedown)=\"onMouseDown($event, 'start')\"\r\n [style.left.%]=\"startValue\"\r\n ></div>\r\n }\r\n <div\r\n [sTooltip]=\"tooltipEndText\"\r\n class=\"slider-thumb\"\r\n [showDelay]=\"0\"\r\n (mousedown)=\"onMouseDown($event, 'end')\"\r\n [style.left.%]=\"endValue\"\r\n ></div>\r\n </div>\r\n <div class=\"footer\">\r\n <span>{{ minValueLabel || min }}</span>\r\n <span>{{ maxValueLabel || max }}</span>\r\n </div>\r\n</div>\r\n", styles: [".slider-container{height:20px;padding:16px 0 40px;position:relative;-webkit-user-select:none;user-select:none;width:100%}.slider-container .slider-track{background-color:#ddd;border-radius:3px;cursor:pointer;height:6px;position:relative;width:100%}.slider-container .slider-track .slider-progress{background-color:#428bca;border-radius:3px;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:0}.slider-container .slider-track .slider-thumb{background-color:#fff;border:2px solid #428bca;border-radius:50%;cursor:pointer;height:20px;position:absolute;transform:translateY(-50%);top:50%;width:20px}.slider-container .slider-track .slider-thumb:active{box-shadow:0 0 0 4px #428bca33}.slider-container .slider-track--hidden-thumb:not(:hover) .slider-thumb{opacity:0}.slider-container .slider-track--moving-multiple-thumbs .slider-thumb{box-shadow:0 0 0 4px #428bca33}.slider-container .footer{color:#212533;display:flex;font-family:Open Sans,sans-serif;font-size:14px;justify-content:space-between;margin-top:8px}.slider-container--disabled .slider-track{cursor:default}.slider-container--disabled .slider-track .slider-thumb{border-color:#a5a5b2;cursor:default}.slider-container--disabled .slider-track .slider-thumb:active{box-shadow:none}.slider-container--disabled .slider-track .slider-progress{background-color:#a5a5b2;cursor:default}.slider-container:focus-visible{outline:none}.slider-container:focus-visible .slider-thumb{box-shadow:0 0 0 4px #428bca33}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }] });
620
618
  }
621
619
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderComponent, decorators: [{
622
620
  type: Component,
@@ -626,7 +624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
626
624
  useExisting: forwardRef(() => SliderComponent),
627
625
  multi: true,
628
626
  },
629
- ], template: "<div\n class=\"slider-container\"\n [ngClass]=\"{ 'slider-container--disabled': disabled }\"\n [tabindex]=\"tabindex\"\n (click)=\"onTrackClick($event)\"\n (focus)=\"onFocusIn()\"\n (blur)=\"onBlur()\">\n <div\n #track\n class=\"slider-track\"\n [ngClass]=\"{\n 'slider-track--hidden-thumb': hiddenThumb,\n 'slider-track--moving-multiple-thumbs': movingProgressBar\n }\">\n <div\n class=\"slider-progress\"\n (mousedown)=\"onProgressMouseDown($event)\"\n [style.left.%]=\"progressLeft\"\n [style.width]=\"progressWidth\"\n ></div>\n <div\n *ngIf=\"multiple\"\n class=\"slider-thumb\"\n [sTooltip]=\"tooltipStartText\"\n [showDelay]=\"0\"\n (mousedown)=\"onMouseDown($event, 'start')\"\n [style.left.%]=\"startValue\"\n ></div>\n <div\n [sTooltip]=\"tooltipEndText\"\n class=\"slider-thumb\"\n [showDelay]=\"0\"\n (mousedown)=\"onMouseDown($event, 'end')\"\n [style.left.%]=\"endValue\"></div>\n </div>\n <div class=\"footer\">\n <span>{{ minValueLabel || min }}</span>\n <span>{{ maxValueLabel || max }}</span>\n </div>\n</div>\n", styles: [".slider-container{height:20px;padding:16px 0 40px;position:relative;-webkit-user-select:none;user-select:none;width:100%}.slider-container .slider-track{background-color:#ddd;border-radius:3px;cursor:pointer;height:6px;position:relative;width:100%}.slider-container .slider-track .slider-progress{background-color:#428bca;border-radius:3px;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:0}.slider-container .slider-track .slider-thumb{background-color:#fff;border:2px solid #428bca;border-radius:50%;cursor:pointer;height:20px;position:absolute;transform:translateY(-50%);top:50%;width:20px}.slider-container .slider-track .slider-thumb:active{box-shadow:0 0 0 4px #428bca33}.slider-container .slider-track--hidden-thumb:not(:hover) .slider-thumb{opacity:0}.slider-container .slider-track--moving-multiple-thumbs .slider-thumb{box-shadow:0 0 0 4px #428bca33}.slider-container .footer{color:#212533;display:flex;font-family:Open Sans,sans-serif;font-size:14px;justify-content:space-between;margin-top:8px}.slider-container--disabled .slider-track{cursor:default}.slider-container--disabled .slider-track .slider-thumb{border-color:#a5a5b2;cursor:default}.slider-container--disabled .slider-track .slider-thumb:active{box-shadow:none}.slider-container--disabled .slider-track .slider-progress{background-color:#a5a5b2;cursor:default}.slider-container:focus-visible{outline:none}.slider-container:focus-visible .slider-thumb{box-shadow:0 0 0 4px #428bca33}\n"] }]
627
+ ], standalone: true, imports: [NgClass, TooltipDirective], template: "<div\r\n class=\"slider-container\"\r\n [ngClass]=\"{ 'slider-container--disabled': disabled }\"\r\n [tabindex]=\"tabindex\"\r\n (click)=\"onTrackClick($event)\"\r\n (focus)=\"onFocusIn()\"\r\n (blur)=\"onBlur()\"\r\n>\r\n <div\r\n #track\r\n class=\"slider-track\"\r\n [ngClass]=\"{\r\n 'slider-track--hidden-thumb': hiddenThumb,\r\n 'slider-track--moving-multiple-thumbs': movingProgressBar,\r\n }\"\r\n >\r\n <div\r\n class=\"slider-progress\"\r\n (mousedown)=\"onProgressMouseDown($event)\"\r\n [style.left.%]=\"progressLeft\"\r\n [style.width]=\"progressWidth\"\r\n ></div>\r\n @if (multiple) {\r\n <div\r\n class=\"slider-thumb\"\r\n [sTooltip]=\"tooltipStartText\"\r\n [showDelay]=\"0\"\r\n (mousedown)=\"onMouseDown($event, 'start')\"\r\n [style.left.%]=\"startValue\"\r\n ></div>\r\n }\r\n <div\r\n [sTooltip]=\"tooltipEndText\"\r\n class=\"slider-thumb\"\r\n [showDelay]=\"0\"\r\n (mousedown)=\"onMouseDown($event, 'end')\"\r\n [style.left.%]=\"endValue\"\r\n ></div>\r\n </div>\r\n <div class=\"footer\">\r\n <span>{{ minValueLabel || min }}</span>\r\n <span>{{ maxValueLabel || max }}</span>\r\n </div>\r\n</div>\r\n", styles: [".slider-container{height:20px;padding:16px 0 40px;position:relative;-webkit-user-select:none;user-select:none;width:100%}.slider-container .slider-track{background-color:#ddd;border-radius:3px;cursor:pointer;height:6px;position:relative;width:100%}.slider-container .slider-track .slider-progress{background-color:#428bca;border-radius:3px;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:0}.slider-container .slider-track .slider-thumb{background-color:#fff;border:2px solid #428bca;border-radius:50%;cursor:pointer;height:20px;position:absolute;transform:translateY(-50%);top:50%;width:20px}.slider-container .slider-track .slider-thumb:active{box-shadow:0 0 0 4px #428bca33}.slider-container .slider-track--hidden-thumb:not(:hover) .slider-thumb{opacity:0}.slider-container .slider-track--moving-multiple-thumbs .slider-thumb{box-shadow:0 0 0 4px #428bca33}.slider-container .footer{color:#212533;display:flex;font-family:Open Sans,sans-serif;font-size:14px;justify-content:space-between;margin-top:8px}.slider-container--disabled .slider-track{cursor:default}.slider-container--disabled .slider-track .slider-thumb{border-color:#a5a5b2;cursor:default}.slider-container--disabled .slider-track .slider-thumb:active{box-shadow:none}.slider-container--disabled .slider-track .slider-progress{background-color:#a5a5b2;cursor:default}.slider-container:focus-visible{outline:none}.slider-container:focus-visible .slider-thumb{box-shadow:0 0 0 4px #428bca33}\n"] }]
630
628
  }], propDecorators: { track: [{
631
629
  type: ViewChild,
632
630
  args: ['track']
@@ -685,14 +683,13 @@ const getDifference = (end, start) => {
685
683
 
686
684
  class SliderModule {
687
685
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
688
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SliderModule, declarations: [SliderComponent], imports: [CommonModule, TooltipModule], exports: [SliderComponent] });
689
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderModule, imports: [CommonModule, TooltipModule] });
686
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SliderModule, imports: [SliderComponent], exports: [SliderComponent] });
687
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderModule });
690
688
  }
691
689
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SliderModule, decorators: [{
692
690
  type: NgModule,
693
691
  args: [{
694
- imports: [CommonModule, TooltipModule],
695
- declarations: [SliderComponent],
692
+ imports: [SliderComponent],
696
693
  exports: [SliderComponent],
697
694
  }]
698
695
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-slider.mjs","sources":["../../projects/angular-components/slider/src/lib/slider/slider.component.ts","../../projects/angular-components/slider/src/lib/slider/slider.component.html","../../projects/angular-components/slider/src/lib/slider/slider.module.ts","../../projects/angular-components/slider/src/seniorsistemas-angular-components-slider.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * @description Componente de controle deslizante (slider) para seleção de valores numéricos\n * dentro de um intervalo definido. Suporta modo simples (um valor) e modo de intervalo\n * (dois valores: início e fim). Implementa {@link ControlValueAccessor} para integração\n * com Reactive Forms e Template-driven Forms do Angular.\n *\n * @example\n * ```html\n * <!-- Slider simples -->\n * <s-slider formControlName=\"volume\" [min]=\"0\" [max]=\"100\" [step]=\"5\" />\n *\n * <!-- Slider de intervalo -->\n * <s-slider formControlName=\"faixa\" [multiple]=\"true\" [min]=\"0\" [max]=\"1000\" />\n * ```\n *\n * @category Inputs\n */\n@Component({\n selector: 's-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true,\n },\n ],\n})\nexport class SliderComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnChanges {\n private readonly MAX_RANGE_VALUE = 100;\n private readonly MIN_RANGE_VALUE = 0;\n @ViewChild('track')\n public track!: ElementRef;\n\n /**\n * @description Habilita o modo de intervalo, permitindo selecionar um valor mínimo e máximo.\n * Quando `true`, o valor do componente é um array `[inicio, fim]`.\n *\n * @default false\n */\n @Input()\n public multiple = false;\n\n /**\n * @description Valor atual do slider. No modo simples é um número; no modo de\n * intervalo (`multiple: true`) é um array `[inicio, fim]`.\n *\n * @default 0\n */\n @Input()\n public value: number | [number, number] = 0;\n\n /**\n * @description Emitido sempre que o valor do slider é alterado pelo usuário.\n * Emite o novo valor (número ou array de dois números no modo de intervalo).\n */\n @Output()\n public valueChange = new EventEmitter<number | [number, number]>();\n\n /**\n * @description Incremento aplicado a cada movimento do thumb do slider.\n *\n * @default 1\n */\n @Input()\n public step = 1;\n\n /**\n * @description Oculta visualmente o thumb (botão arrastável) do slider.\n * Útil para visualizações onde apenas a faixa de progresso deve ser exibida.\n *\n * @default false\n */\n @Input()\n public hiddenThumb = false;\n\n /**\n * @description Desabilita a interação do usuário com o slider.\n *\n * @default false\n */\n @Input()\n public disabled = false;\n\n /**\n * @description Valor mínimo permitido no slider.\n *\n * @default 0\n */\n @Input()\n public min = this.MIN_RANGE_VALUE;\n\n /**\n * @description Valor máximo permitido no slider.\n *\n * @default 100\n */\n @Input()\n public max = this.MAX_RANGE_VALUE;\n\n /**\n * @description Label exibido abaixo ou ao lado do valor mínimo do slider.\n * Útil para indicar semanticamente os extremos do intervalo.\n */\n @Input()\n public minValueLabel?: string;\n\n /**\n * @description Label exibido abaixo ou ao lado do valor máximo do slider.\n * Útil para indicar semanticamente os extremos do intervalo.\n */\n @Input()\n public maxValueLabel?: string;\n\n /**\n * @description Índice de tabulação do elemento, controlando a ordem de foco via teclado.\n *\n * @default 0\n */\n @Input()\n public tabindex = 0;\n\n public startValue = 0;\n public endValue = 0;\n public movingProgressBar = false;\n public progressLeft = 0;\n public progressWidth = '';\n\n public onChange: (value: number | [number, number]) => void = () => {};\n public onTouched: (value: number | [number, number]) => void = () => {};\n\n private draggingThumb: 'start' | 'end' | null = null;\n private progressBarEventPositionStart = -1;\n private startValueBeforeProgressBarEvent = -1;\n private rangeBetweenElementsBeforeProgressBarEvent = -1;\n private totalRangeBeforeProgressBarEvent = -1;\n /**\n * Map of valid values for values in range.\n * @example\n * with min = -10 and max = 10 will have this map.\n * {\n * -10: { 0 },\n * -9: { 10 },\n * ...\n * 10: { 10 }\n * }\n */\n private mapRangeValuesForSlider: Map<number, number> = new Map();\n private activeMouseDown = false;\n private focusActive = false;\n\n public ngOnInit(): void {\n this.setUserRangeMapValues();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const hasChangesOnMin = changes['min'] && !changes['min'].firstChange;\n const hasChangesOnMax = changes['max'] && !changes['max'].firstChange;\n const hasChanges = hasChangesOnMin || hasChangesOnMax;\n if (hasChanges) {\n this.setUserRangeMapValues();\n setTimeout(() => {\n this.setRangeValues();\n });\n }\n }\n public ngAfterViewInit(): void {\n setTimeout(() => {\n this.setRangeValues();\n });\n }\n\n @HostListener('document:keydown', ['$event'])\n public onKeydown($event: KeyboardEvent) {\n if (this.focusActive && !this.disabled) {\n const isArrowKeyLeft = $event.key === 'ArrowLeft';\n const isArrowKeyRight = $event.key === 'ArrowRight';\n if (isArrowKeyLeft) {\n this.handleArrowKeyLeft();\n } else if (isArrowKeyRight) {\n this.handleArrowKeyRight();\n }\n }\n }\n\n public get tooltipStartText() {\n return Array.isArray(this.value) ? this.value[0]?.toString() : this.value?.toString();\n }\n\n public get tooltipEndText() {\n return Array.isArray(this.value) ? this.value[1]?.toString() : this.value?.toString();\n }\n\n public writeValue(obj: number | [number, number]): void {\n this.value = obj;\n this.setRangeValues();\n }\n\n public registerOnChange(fn: (value: number | [number, number]) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public onFocusIn() {\n this.focusActive = true;\n }\n\n public onBlur() {\n this.focusActive = false;\n }\n\n public onTrackClick(evt: MouseEvent) {\n if (this.disabled || this.movingProgressBar || this.activeMouseDown) {\n return;\n }\n const trackClickPercentage = this.getPercentageByEvent(evt);\n const trackClickToUserRange = this.getValueFromMapByValue(trackClickPercentage);\n const _trackClickValid = this.needParseValues ? trackClickToUserRange : trackClickPercentage;\n const _setEndValue = () => {\n const _endValueUserValue = this.getValueFromMapByValue(this.endValue);\n const _endValue =\n (this.needParseValues\n ? this.mapRangeValuesForSlider.get(trackClickToUserRange)\n : trackClickPercentage) ?? 0;\n if (this.needParseValues && _endValueUserValue !== trackClickToUserRange) {\n this.endValue = _endValue;\n } else if (!this.needParseValues) {\n this.endValue = trackClickPercentage;\n }\n };\n\n const _setStartValue = () => {\n const _startValueUserValue = this.getValueFromMapByValue(this.startValue);\n if (this.needParseValues && _startValueUserValue !== trackClickToUserRange) {\n const _startValue =\n (this.needParseValues\n ? this.mapRangeValuesForSlider.get(trackClickToUserRange)\n : trackClickPercentage) ?? 0;\n this.startValue = _startValue;\n } else if (!this.needParseValues) {\n this.startValue = trackClickPercentage;\n }\n };\n if (this.multiple) {\n const [start, end] = this.value as [number, number];\n const validStart = (this.needParseValues ? this.mapRangeValuesForSlider.get(start) : start) ?? 0;\n const validEnd = (this.needParseValues ? this.mapRangeValuesForSlider.get(end) : end) ?? 0;\n const _updateStart = () => {\n _setStartValue();\n this.setValue([trackClickPercentage, validEnd]);\n };\n\n const _updateEnd = () => {\n _setEndValue();\n this.setValue([validStart, trackClickPercentage]);\n };\n const clickPercentageBetweenRange = isInRange(_trackClickValid, start, end);\n if (_trackClickValid < start) {\n _updateStart();\n } else if (_trackClickValid > end) {\n _updateEnd();\n } else if (clickPercentageBetweenRange) {\n const middle = (start + end) / 2;\n const trackClickPercentageIsExactiddle = _trackClickValid === middle;\n if (trackClickPercentageIsExactiddle) {\n _updateStart();\n } else {\n const setStart = _trackClickValid < middle;\n const setEnd = _trackClickValid > middle;\n if (setStart) {\n _updateStart();\n } else if (setEnd) {\n _updateEnd();\n }\n }\n }\n } else {\n this.setValue(trackClickPercentage);\n _setEndValue();\n }\n\n this.setProgress();\n }\n\n public onProgressMouseDown(evt: MouseEvent) {\n if (!this.multiple || this.disabled) {\n return;\n }\n this.progressBarEventPositionStart = this.getPercentageByEvent(evt);\n this.startValueBeforeProgressBarEvent = this.startValue;\n this.rangeBetweenElementsBeforeProgressBarEvent = this.endValue - this.startValue;\n if (this.multiple) {\n const [start, end] = this.value as [number, number];\n this.totalRangeBeforeProgressBarEvent = end - start;\n }\n document.addEventListener('mousemove', this.handleProgressBarMove);\n document.addEventListener('mouseup', this.handleProgressBarMoveEnd);\n }\n\n public onMouseDown(_: MouseEvent, thumb: 'start' | 'end'): void {\n if (this.disabled) return;\n\n this.draggingThumb = thumb;\n this.activeMouseDown = true;\n document.addEventListener('mousemove', this.onThumbMove);\n document.addEventListener('mouseup', this.onMouseUp);\n }\n\n private setRangeValues(): void {\n const _setStartAndEndValue = (startValue: number, endValue: number) => {\n this.startValue = this.getClosestValueFromMapSlider(startValue);\n this.endValue = this.getClosestValueFromMapSlider(endValue);\n };\n if (this.value === null || this.value === undefined) {\n return;\n }\n if (Array.isArray(this.value) && !this.multiple) {\n throw new Error('You must use \"multiple\" with value as array');\n }\n if (this.multiple && Array.isArray(this.value)) {\n this.startValue = this.value[0];\n this.endValue = this.value[1];\n } else if (!this.multiple) {\n this.startValue = this.value as number;\n this.endValue = this.value as number;\n }\n _setStartAndEndValue(this.startValue, this.endValue);\n if (this.multiple) {\n let [_startValue, _endValue] = this.value as [number, number];\n const difference = getDifference(_endValue, _startValue);\n const endValueIsGreatherThanMax = _endValue > this.max;\n const startValueIsLessThanMin = _startValue < this.min;\n const needUpdateValues = endValueIsGreatherThanMax || startValueIsLessThanMin;\n if (endValueIsGreatherThanMax) {\n _endValue = this.max;\n _startValue = _endValue - difference;\n } else if (startValueIsLessThanMin) {\n _startValue = this.min;\n _endValue = _startValue + difference;\n }\n if (needUpdateValues) {\n _setStartAndEndValue(_startValue, _endValue);\n this.setValue([this.startValue, this.endValue]);\n }\n } else {\n let _value = this.value as number;\n const valueGreatherThanMax = _value > this.max;\n const valueLessThanMin = _value < this.min;\n const needUpdateValue = valueGreatherThanMax || valueLessThanMin;\n if (valueGreatherThanMax) {\n _value = this.max;\n } else if (valueLessThanMin) {\n _value = this.min;\n }\n if (needUpdateValue) {\n this.setValue(_value, false);\n }\n }\n this.setProgress();\n }\n\n private onThumbMove = (event: MouseEvent) => {\n if (this.movingProgressBar || !this.draggingThumb) return;\n\n let newPosition = this.getPercentageByEvent(event);\n if (\n (this.multiple && this.draggingThumb === 'start' && newPosition > this.endValue) ||\n (this.multiple && this.draggingThumb === 'end' && newPosition < this.startValue)\n ) {\n return;\n }\n\n const positionInUserRange = this.getValueFromMapByValue(newPosition);\n\n if (this.multiple) {\n if (this.draggingThumb === 'start') {\n this.startValue =\n (this.needParseValues ? this.mapRangeValuesForSlider.get(positionInUserRange) : newPosition) ?? 0;\n } else if (this.draggingThumb === 'end') {\n this.endValue =\n (this.needParseValues ? this.mapRangeValuesForSlider.get(positionInUserRange) : newPosition) ?? 0;\n }\n\n this.setValue([this.startValue, this.endValue]);\n\n const [start, end] = this.value as [number, number];\n\n if (start === end && this.draggingThumb === 'start') {\n this.startValue = this.endValue;\n } else if (start === end && this.draggingThumb === 'end') {\n this.endValue = this.startValue;\n }\n } else {\n const currentValue = this.value as number;\n const _value = this.needParseValues ? positionInUserRange : newPosition;\n const isAtSameValue = this.needParseValues ? positionInUserRange === this.value : false;\n const hasStep = this.step !== 0;\n const newValueIsValidByStep = hasStep\n ? currentValue + this.step === _value || currentValue - this.step === _value\n : false;\n if (isAtSameValue && !newValueIsValidByStep) {\n return;\n }\n this.endValue =\n (this.needParseValues ? this.mapRangeValuesForSlider.get(positionInUserRange) : newPosition) ?? 0;\n this.startValue = this.endValue;\n this.setValue(this.endValue);\n }\n this.setProgress();\n };\n\n private onMouseUp = () => {\n this.draggingThumb = null;\n document.removeEventListener('mousemove', this.onThumbMove);\n document.removeEventListener('mouseup', this.onMouseUp);\n setTimeout(() => {\n this.activeMouseDown = false;\n }, 150);\n };\n\n private handleProgressBarMove = (event: MouseEvent) => {\n this.movingProgressBar = true;\n const newCenter = this.getPercentageByEvent(event);\n const startPositionBeforeEvent = this.progressBarEventPositionStart;\n const startValueBeforeEvent = this.startValueBeforeProgressBarEvent;\n const range = this.rangeBetweenElementsBeforeProgressBarEvent;\n let { newStart, newEnd } = calculateNewRange(\n startValueBeforeEvent,\n startValueBeforeEvent + range,\n startPositionBeforeEvent,\n newCenter,\n );\n if (newStart < this.MIN_RANGE_VALUE || newEnd > this.MAX_RANGE_VALUE) {\n return;\n }\n if (this.needParseValues) {\n const startValueBeforeEventUserRange = this.getValueFromMapByValue(startValueBeforeEvent);\n const startPositionBeforeEventUserRange = this.getValueFromMapByValue(startPositionBeforeEvent);\n const centerUserRange = this.getValueFromMapByValue(newCenter);\n const valueRange = this.totalRangeBeforeProgressBarEvent;\n let { newStart, newEnd } = calculateNewRange(\n startValueBeforeEventUserRange,\n startValueBeforeEventUserRange + valueRange,\n startPositionBeforeEventUserRange,\n centerUserRange,\n );\n if (newStart < this.min || newEnd > this.max) {\n return;\n }\n this.startValue = this.mapRangeValuesForSlider.get(newStart) ?? 0;\n this.endValue = this.mapRangeValuesForSlider.get(newEnd) ?? 0;\n } else {\n this.startValue = newStart;\n this.endValue = newEnd;\n }\n this.setValue([this.startValue, this.endValue]);\n this.setProgress();\n };\n\n private handleProgressBarMoveEnd = () => {\n this.progressBarEventPositionStart = -1;\n this.startValueBeforeProgressBarEvent = -1;\n this.rangeBetweenElementsBeforeProgressBarEvent = -1;\n this.totalRangeBeforeProgressBarEvent = -1;\n document.removeEventListener('mousemove', this.handleProgressBarMove);\n document.removeEventListener('mouseup', this.handleProgressBarMoveEnd);\n setTimeout(() => {\n this.movingProgressBar = false;\n }, 150);\n };\n\n private setProgress(): void {\n if (this.multiple) {\n this.progressLeft = this.startValue;\n this.progressWidth = `calc(${this.endValue - this.startValue}% + 10px)`;\n } else {\n this.progressLeft = 0;\n this.progressWidth = `calc(${this.endValue}% + 10px)`;\n }\n }\n\n /**\n * Get the percentage of a mouse event from the track's left edge\n * @param mouseEvent mouse event\n * @returns percentage from the left edge\n */\n private getPercentageByEvent(mouseEvent: MouseEvent | PointerEvent): number {\n const trackRect = this.track.nativeElement.getBoundingClientRect();\n let newLeft = Math.round(((mouseEvent.clientX - trackRect.left) / trackRect.width) * this.MAX_RANGE_VALUE);\n newLeft = Math.max(0, Math.min(newLeft, this.MAX_RANGE_VALUE));\n return newLeft;\n }\n\n private setValue(value: number | [number, number], parse = true) {\n if (this.disabled) {\n return;\n }\n\n if (this.needParseValues && parse) {\n if (Array.isArray(value)) {\n value = value.map((x) => this.getValueFromMapByValue(x)) as [number, number];\n } else {\n value = this.getValueFromMapByValue(value);\n }\n }\n this.value = value;\n this.valueChange.emit(value);\n this.writeValue(this.value);\n this.onChange(this.value);\n this.onTouched(this.value);\n }\n\n private setUserRangeMapValues() {\n const start = this.min;\n const end = this.max;\n if (start > end) {\n throw new Error('Max value must be greater than min value');\n }\n this.mapRangeValuesForSlider.clear();\n const range = end - start;\n const decimalPlaces = 2;\n const stepCount = Math.floor(range / this.step);\n const values: number[] = [];\n for (let value = start; value <= end; value += this.step) {\n values.push(value);\n }\n if (values[values.length - 1] !== end) {\n values.push(end);\n }\n const mappedValues = values.map((value) => {\n let mapped = ((value - start) / range) * this.MAX_RANGE_VALUE;\n return parseFloat(mapped.toFixed(decimalPlaces));\n });\n mappedValues[0] = 0;\n mappedValues[mappedValues.length - 1] = this.MAX_RANGE_VALUE;\n const error = this.MAX_RANGE_VALUE - mappedValues[mappedValues.length - 1];\n const errorPerStep = error / stepCount;\n for (let i = 1; i < mappedValues.length - 1; i++) {\n mappedValues[i] += errorPerStep;\n mappedValues[i] = parseFloat(mappedValues[i].toFixed(decimalPlaces));\n }\n values.forEach((value, index) => {\n this.mapRangeValuesForSlider.set(value, mappedValues[index]);\n });\n }\n\n /**\n * Returns the user value from the given slider value by using the map of range values.\n * @example\n * If the map is 0: { 0 }, 1: { 10 }, 2: { 30 }, 3: { 40 }, 4: { 50 }\n * and the sliderValue is 37, the function returns 3\n * or the slider value is 40, the function returns 4\n * @param sliderValue the value of the slider (values only between range MIN and MAX)\n * @returns the user value from the given slider value\n */\n private getValueFromMapByValue(sliderValue: number) {\n const mapToArray = Array.from(this.mapRangeValuesForSlider).map(([value, mapped]) => ({ value, mapped }));\n const exactValue = mapToArray.find((x) => x.mapped == sliderValue);\n const closest = mapToArray.reduce((prev, curr) =>\n Math.abs(curr.mapped - sliderValue) < Math.abs(prev.mapped - sliderValue) ? curr : prev,\n );\n return exactValue ? exactValue.value : closest.value;\n }\n\n /**\n * Retrieves the key from the map that is closest to the given slider value.\n * @param userValue - The value to find the closest key for. (values only between 0 - 100)\n * @returns The key that corresponds to the closest mapped value.\n */\n private getClosestValueFromMapSlider(userValue: number): number {\n const mapToArray = Array.from(this.mapRangeValuesForSlider).map(([value, mapped]) => ({ value, mapped }));\n if (userValue >= this.max) {\n return mapToArray[mapToArray.length - 1].mapped;\n } else if (userValue <= this.min) {\n return mapToArray[0].mapped;\n }\n const exactValue = mapToArray.find((x) => x.value == userValue);\n const closestValue = mapToArray.reduce((prev, curr) =>\n Math.abs(curr.value - userValue) < Math.abs(prev.value - userValue) ? curr : prev,\n );\n const item = exactValue || closestValue;\n const isFirstItem = mapToArray[0] === item;\n const isLastItem = mapToArray[mapToArray.length - 1] === item;\n if (isFirstItem && userValue > this.min) {\n return getMidpoint(item.mapped, mapToArray[1].mapped);\n } else if (isLastItem && userValue < this.max) {\n return getMidpoint(item.mapped, mapToArray[mapToArray.length - 2].mapped);\n } else {\n return item.mapped;\n }\n }\n\n private handleArrowKeyLeft() {\n if (this.multiple) {\n this._incrementOrDecrementStartAndEndValue(false);\n } else {\n this._incrementOrDecrementEndValue(false);\n }\n this.setProgress();\n }\n\n private handleArrowKeyRight() {\n if (this.multiple) {\n this._incrementOrDecrementStartAndEndValue(true);\n } else {\n this._incrementOrDecrementEndValue(true);\n }\n this.setProgress();\n }\n\n private _incrementOrDecrementStartAndEndValue(increment: boolean) {\n let [start, end] = this.value as [number, number];\n const difference = getDifference(end, start);\n if (increment) {\n start += this.step;\n end += this.step;\n } else {\n start -= this.step;\n end -= this.step;\n }\n const startLessThanMin = start < this.min;\n const endGreaterThanMax = end > this.max;\n if (startLessThanMin || endGreaterThanMax) {\n if (startLessThanMin) {\n start = this.min;\n end = start + difference;\n } else if (endGreaterThanMax) {\n end = this.max;\n start = end - difference;\n }\n }\n if (start < this.min || end > this.max) {\n return;\n }\n this.setValue([start, end], false);\n if (this.needParseValues) {\n start = this.getClosestValueFromMapSlider(start);\n end = this.getClosestValueFromMapSlider(end);\n }\n this.startValue = start;\n this.endValue = end;\n }\n\n private _incrementOrDecrementEndValue(increment: boolean) {\n let value = this.value as number;\n if (increment) {\n value += this.step;\n } else {\n value -= this.step;\n }\n let _newEndValue = value;\n if (this.needParseValues) {\n _newEndValue = this.getClosestValueFromMapSlider(_newEndValue);\n }\n if (_newEndValue < this.MIN_RANGE_VALUE || _newEndValue > this.MAX_RANGE_VALUE) {\n return;\n }\n this.endValue = _newEndValue;\n this.startValue = this.endValue;\n this.setValue(_newEndValue);\n }\n\n private get needParseValues() {\n return this.max !== this.MAX_RANGE_VALUE || this.min !== this.MIN_RANGE_VALUE;\n }\n}\n\n/**\n * Calculates a new range based on the old range and the positions clicked and finalized.\n *\n * @param oldStart - The starting value of the old range.\n * @param oldEnd - The ending value of the old range.\n * @param clickedPosition - The position where the click occurred.\n * @param finalPosition - The position where the range should end.\n * @returns An object containing the new start and end values of the range.\n */\nconst calculateNewRange = (oldStart: number, oldEnd: number, clickedPosition: number, finalPosition: number) => {\n const range = oldEnd - oldStart;\n const newStart = finalPosition - (clickedPosition - oldStart);\n const newEnd = newStart + range;\n return { newStart, newEnd };\n};\n\nconst isInRange = (value: number, rangeStart: number, rangeEnd: number): boolean => {\n const [min, max] = rangeStart < rangeEnd ? [rangeStart, rangeEnd] : [rangeEnd, rangeStart];\n return value >= min && value <= max;\n};\n\nconst getMidpoint = (start: number, end: number) => {\n const midpoint = (start + end) / 2;\n return parseFloat(midpoint.toFixed(2));\n};\nconst getDifference = (end: number, start: number) => {\n return Math.abs(end - start);\n};\n\n","<div\n class=\"slider-container\"\n [ngClass]=\"{ 'slider-container--disabled': disabled }\"\n [tabindex]=\"tabindex\"\n (click)=\"onTrackClick($event)\"\n (focus)=\"onFocusIn()\"\n (blur)=\"onBlur()\">\n <div\n #track\n class=\"slider-track\"\n [ngClass]=\"{\n 'slider-track--hidden-thumb': hiddenThumb,\n 'slider-track--moving-multiple-thumbs': movingProgressBar\n }\">\n <div\n class=\"slider-progress\"\n (mousedown)=\"onProgressMouseDown($event)\"\n [style.left.%]=\"progressLeft\"\n [style.width]=\"progressWidth\"\n ></div>\n <div\n *ngIf=\"multiple\"\n class=\"slider-thumb\"\n [sTooltip]=\"tooltipStartText\"\n [showDelay]=\"0\"\n (mousedown)=\"onMouseDown($event, 'start')\"\n [style.left.%]=\"startValue\"\n ></div>\n <div\n [sTooltip]=\"tooltipEndText\"\n class=\"slider-thumb\"\n [showDelay]=\"0\"\n (mousedown)=\"onMouseDown($event, 'end')\"\n [style.left.%]=\"endValue\"></div>\n </div>\n <div class=\"footer\">\n <span>{{ minValueLabel || min }}</span>\n <span>{{ maxValueLabel || max }}</span>\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SliderComponent } from \"./slider.component\";\nimport { TooltipModule } from \"@seniorsistemas/angular-components/tooltip\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [SliderComponent],\n exports: [SliderComponent],\n})\nexport class SliderModule { }\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-slider.mjs","sources":["../../projects/angular-components/slider/src/lib/slider/slider.component.ts","../../projects/angular-components/slider/src/lib/slider/slider.component.html","../../projects/angular-components/slider/src/lib/slider/slider.module.ts","../../projects/angular-components/slider/src/seniorsistemas-angular-components-slider.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { NgClass } from '@angular/common';\r\nimport { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';\r\n\r\n/**\r\n * @description Componente de controle deslizante (slider) para seleção de valores numéricos\r\n * dentro de um intervalo definido. Suporta modo simples (um valor) e modo de intervalo\r\n * (dois valores: início e fim). Implementa {@link ControlValueAccessor} para integração\r\n * com Reactive Forms e Template-driven Forms do Angular.\r\n *\r\n * @example\r\n * ```html\r\n * <!-- Slider simples -->\r\n * <s-slider formControlName=\"volume\" [min]=\"0\" [max]=\"100\" [step]=\"5\" />\r\n *\r\n * <!-- Slider de intervalo -->\r\n * <s-slider formControlName=\"faixa\" [multiple]=\"true\" [min]=\"0\" [max]=\"1000\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n selector: 's-slider',\r\n templateUrl: './slider.component.html',\r\n styleUrls: ['./slider.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SliderComponent),\r\n multi: true,\r\n },\r\n ],\r\n standalone: true,\r\n imports: [NgClass, TooltipDirective],\r\n})\r\nexport class SliderComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnChanges {\r\n private readonly MAX_RANGE_VALUE = 100;\r\n private readonly MIN_RANGE_VALUE = 0;\r\n @ViewChild('track')\r\n public track!: ElementRef;\r\n\r\n /**\r\n * @description Habilita o modo de intervalo, permitindo selecionar um valor mínimo e máximo.\r\n * Quando `true`, o valor do componente é um array `[inicio, fim]`.\r\n *\r\n * @default false\r\n */\r\n @Input()\r\n public multiple = false;\r\n\r\n /**\r\n * @description Valor atual do slider. No modo simples é um número; no modo de\r\n * intervalo (`multiple: true`) é um array `[inicio, fim]`.\r\n *\r\n * @default 0\r\n */\r\n @Input()\r\n public value: number | [number, number] = 0;\r\n\r\n /**\r\n * @description Emitido sempre que o valor do slider é alterado pelo usuário.\r\n * Emite o novo valor (número ou array de dois números no modo de intervalo).\r\n */\r\n @Output()\r\n public valueChange = new EventEmitter<number | [number, number]>();\r\n\r\n /**\r\n * @description Incremento aplicado a cada movimento do thumb do slider.\r\n *\r\n * @default 1\r\n */\r\n @Input()\r\n public step = 1;\r\n\r\n /**\r\n * @description Oculta visualmente o thumb (botão arrastável) do slider.\r\n * Útil para visualizações onde apenas a faixa de progresso deve ser exibida.\r\n *\r\n * @default false\r\n */\r\n @Input()\r\n public hiddenThumb = false;\r\n\r\n /**\r\n * @description Desabilita a interação do usuário com o slider.\r\n *\r\n * @default false\r\n */\r\n @Input()\r\n public disabled = false;\r\n\r\n /**\r\n * @description Valor mínimo permitido no slider.\r\n *\r\n * @default 0\r\n */\r\n @Input()\r\n public min = this.MIN_RANGE_VALUE;\r\n\r\n /**\r\n * @description Valor máximo permitido no slider.\r\n *\r\n * @default 100\r\n */\r\n @Input()\r\n public max = this.MAX_RANGE_VALUE;\r\n\r\n /**\r\n * @description Label exibido abaixo ou ao lado do valor mínimo do slider.\r\n * Útil para indicar semanticamente os extremos do intervalo.\r\n */\r\n @Input()\r\n public minValueLabel?: string;\r\n\r\n /**\r\n * @description Label exibido abaixo ou ao lado do valor máximo do slider.\r\n * Útil para indicar semanticamente os extremos do intervalo.\r\n */\r\n @Input()\r\n public maxValueLabel?: string;\r\n\r\n /**\r\n * @description Índice de tabulação do elemento, controlando a ordem de foco via teclado.\r\n *\r\n * @default 0\r\n */\r\n @Input()\r\n public tabindex = 0;\r\n\r\n public startValue = 0;\r\n public endValue = 0;\r\n public movingProgressBar = false;\r\n public progressLeft = 0;\r\n public progressWidth = '';\r\n\r\n public onChange: (value: number | [number, number]) => void = () => {};\r\n public onTouched: (value: number | [number, number]) => void = () => {};\r\n\r\n private draggingThumb: 'start' | 'end' | null = null;\r\n private progressBarEventPositionStart = -1;\r\n private startValueBeforeProgressBarEvent = -1;\r\n private rangeBetweenElementsBeforeProgressBarEvent = -1;\r\n private totalRangeBeforeProgressBarEvent = -1;\r\n /**\r\n * Map of valid values for values in range.\r\n * @example\r\n * with min = -10 and max = 10 will have this map.\r\n * {\r\n * -10: { 0 },\r\n * -9: { 10 },\r\n * ...\r\n * 10: { 10 }\r\n * }\r\n */\r\n private mapRangeValuesForSlider: Map<number, number> = new Map();\r\n private activeMouseDown = false;\r\n private focusActive = false;\r\n\r\n public ngOnInit(): void {\r\n this.setUserRangeMapValues();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n const hasChangesOnMin = changes['min'] && !changes['min'].firstChange;\r\n const hasChangesOnMax = changes['max'] && !changes['max'].firstChange;\r\n const hasChanges = hasChangesOnMin || hasChangesOnMax;\r\n if (hasChanges) {\r\n this.setUserRangeMapValues();\r\n setTimeout(() => {\r\n this.setRangeValues();\r\n });\r\n }\r\n }\r\n public ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.setRangeValues();\r\n });\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n public onKeydown($event: KeyboardEvent) {\r\n if (this.focusActive && !this.disabled) {\r\n const isArrowKeyLeft = $event.key === 'ArrowLeft';\r\n const isArrowKeyRight = $event.key === 'ArrowRight';\r\n if (isArrowKeyLeft) {\r\n this.handleArrowKeyLeft();\r\n } else if (isArrowKeyRight) {\r\n this.handleArrowKeyRight();\r\n }\r\n }\r\n }\r\n\r\n public get tooltipStartText() {\r\n return Array.isArray(this.value) ? this.value[0]?.toString() : this.value?.toString();\r\n }\r\n\r\n public get tooltipEndText() {\r\n return Array.isArray(this.value) ? this.value[1]?.toString() : this.value?.toString();\r\n }\r\n\r\n public writeValue(obj: number | [number, number]): void {\r\n this.value = obj;\r\n this.setRangeValues();\r\n }\r\n\r\n public registerOnChange(fn: (value: number | [number, number]) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public onFocusIn() {\r\n this.focusActive = true;\r\n }\r\n\r\n public onBlur() {\r\n this.focusActive = false;\r\n }\r\n\r\n public onTrackClick(evt: MouseEvent) {\r\n if (this.disabled || this.movingProgressBar || this.activeMouseDown) {\r\n return;\r\n }\r\n const trackClickPercentage = this.getPercentageByEvent(evt);\r\n const trackClickToUserRange = this.getValueFromMapByValue(trackClickPercentage);\r\n const _trackClickValid = this.needParseValues ? trackClickToUserRange : trackClickPercentage;\r\n const _setEndValue = () => {\r\n const _endValueUserValue = this.getValueFromMapByValue(this.endValue);\r\n const _endValue =\r\n (this.needParseValues\r\n ? this.mapRangeValuesForSlider.get(trackClickToUserRange)\r\n : trackClickPercentage) ?? 0;\r\n if (this.needParseValues && _endValueUserValue !== trackClickToUserRange) {\r\n this.endValue = _endValue;\r\n } else if (!this.needParseValues) {\r\n this.endValue = trackClickPercentage;\r\n }\r\n };\r\n\r\n const _setStartValue = () => {\r\n const _startValueUserValue = this.getValueFromMapByValue(this.startValue);\r\n if (this.needParseValues && _startValueUserValue !== trackClickToUserRange) {\r\n const _startValue =\r\n (this.needParseValues\r\n ? this.mapRangeValuesForSlider.get(trackClickToUserRange)\r\n : trackClickPercentage) ?? 0;\r\n this.startValue = _startValue;\r\n } else if (!this.needParseValues) {\r\n this.startValue = trackClickPercentage;\r\n }\r\n };\r\n if (this.multiple) {\r\n const [start, end] = this.value as [number, number];\r\n const validStart = (this.needParseValues ? this.mapRangeValuesForSlider.get(start) : start) ?? 0;\r\n const validEnd = (this.needParseValues ? this.mapRangeValuesForSlider.get(end) : end) ?? 0;\r\n const _updateStart = () => {\r\n _setStartValue();\r\n this.setValue([trackClickPercentage, validEnd]);\r\n };\r\n\r\n const _updateEnd = () => {\r\n _setEndValue();\r\n this.setValue([validStart, trackClickPercentage]);\r\n };\r\n const clickPercentageBetweenRange = isInRange(_trackClickValid, start, end);\r\n if (_trackClickValid < start) {\r\n _updateStart();\r\n } else if (_trackClickValid > end) {\r\n _updateEnd();\r\n } else if (clickPercentageBetweenRange) {\r\n const middle = (start + end) / 2;\r\n const trackClickPercentageIsExactiddle = _trackClickValid === middle;\r\n if (trackClickPercentageIsExactiddle) {\r\n _updateStart();\r\n } else {\r\n const setStart = _trackClickValid < middle;\r\n const setEnd = _trackClickValid > middle;\r\n if (setStart) {\r\n _updateStart();\r\n } else if (setEnd) {\r\n _updateEnd();\r\n }\r\n }\r\n }\r\n } else {\r\n this.setValue(trackClickPercentage);\r\n _setEndValue();\r\n }\r\n\r\n this.setProgress();\r\n }\r\n\r\n public onProgressMouseDown(evt: MouseEvent) {\r\n if (!this.multiple || this.disabled) {\r\n return;\r\n }\r\n this.progressBarEventPositionStart = this.getPercentageByEvent(evt);\r\n this.startValueBeforeProgressBarEvent = this.startValue;\r\n this.rangeBetweenElementsBeforeProgressBarEvent = this.endValue - this.startValue;\r\n if (this.multiple) {\r\n const [start, end] = this.value as [number, number];\r\n this.totalRangeBeforeProgressBarEvent = end - start;\r\n }\r\n document.addEventListener('mousemove', this.handleProgressBarMove);\r\n document.addEventListener('mouseup', this.handleProgressBarMoveEnd);\r\n }\r\n\r\n public onMouseDown(_: MouseEvent, thumb: 'start' | 'end'): void {\r\n if (this.disabled) return;\r\n\r\n this.draggingThumb = thumb;\r\n this.activeMouseDown = true;\r\n document.addEventListener('mousemove', this.onThumbMove);\r\n document.addEventListener('mouseup', this.onMouseUp);\r\n }\r\n\r\n private setRangeValues(): void {\r\n const _setStartAndEndValue = (startValue: number, endValue: number) => {\r\n this.startValue = this.getClosestValueFromMapSlider(startValue);\r\n this.endValue = this.getClosestValueFromMapSlider(endValue);\r\n };\r\n if (this.value === null || this.value === undefined) {\r\n return;\r\n }\r\n if (Array.isArray(this.value) && !this.multiple) {\r\n throw new Error('You must use \"multiple\" with value as array');\r\n }\r\n if (this.multiple && Array.isArray(this.value)) {\r\n this.startValue = this.value[0];\r\n this.endValue = this.value[1];\r\n } else if (!this.multiple) {\r\n this.startValue = this.value as number;\r\n this.endValue = this.value as number;\r\n }\r\n _setStartAndEndValue(this.startValue, this.endValue);\r\n if (this.multiple) {\r\n let [_startValue, _endValue] = this.value as [number, number];\r\n const difference = getDifference(_endValue, _startValue);\r\n const endValueIsGreatherThanMax = _endValue > this.max;\r\n const startValueIsLessThanMin = _startValue < this.min;\r\n const needUpdateValues = endValueIsGreatherThanMax || startValueIsLessThanMin;\r\n if (endValueIsGreatherThanMax) {\r\n _endValue = this.max;\r\n _startValue = _endValue - difference;\r\n } else if (startValueIsLessThanMin) {\r\n _startValue = this.min;\r\n _endValue = _startValue + difference;\r\n }\r\n if (needUpdateValues) {\r\n _setStartAndEndValue(_startValue, _endValue);\r\n this.setValue([this.startValue, this.endValue]);\r\n }\r\n } else {\r\n let _value = this.value as number;\r\n const valueGreatherThanMax = _value > this.max;\r\n const valueLessThanMin = _value < this.min;\r\n const needUpdateValue = valueGreatherThanMax || valueLessThanMin;\r\n if (valueGreatherThanMax) {\r\n _value = this.max;\r\n } else if (valueLessThanMin) {\r\n _value = this.min;\r\n }\r\n if (needUpdateValue) {\r\n this.setValue(_value, false);\r\n }\r\n }\r\n this.setProgress();\r\n }\r\n\r\n private onThumbMove = (event: MouseEvent) => {\r\n if (this.movingProgressBar || !this.draggingThumb) return;\r\n\r\n let newPosition = this.getPercentageByEvent(event);\r\n if (\r\n (this.multiple && this.draggingThumb === 'start' && newPosition > this.endValue) ||\r\n (this.multiple && this.draggingThumb === 'end' && newPosition < this.startValue)\r\n ) {\r\n return;\r\n }\r\n\r\n const positionInUserRange = this.getValueFromMapByValue(newPosition);\r\n\r\n if (this.multiple) {\r\n if (this.draggingThumb === 'start') {\r\n this.startValue =\r\n (this.needParseValues ? this.mapRangeValuesForSlider.get(positionInUserRange) : newPosition) ?? 0;\r\n } else if (this.draggingThumb === 'end') {\r\n this.endValue =\r\n (this.needParseValues ? this.mapRangeValuesForSlider.get(positionInUserRange) : newPosition) ?? 0;\r\n }\r\n\r\n this.setValue([this.startValue, this.endValue]);\r\n\r\n const [start, end] = this.value as [number, number];\r\n\r\n if (start === end && this.draggingThumb === 'start') {\r\n this.startValue = this.endValue;\r\n } else if (start === end && this.draggingThumb === 'end') {\r\n this.endValue = this.startValue;\r\n }\r\n } else {\r\n const currentValue = this.value as number;\r\n const _value = this.needParseValues ? positionInUserRange : newPosition;\r\n const isAtSameValue = this.needParseValues ? positionInUserRange === this.value : false;\r\n const hasStep = this.step !== 0;\r\n const newValueIsValidByStep = hasStep\r\n ? currentValue + this.step === _value || currentValue - this.step === _value\r\n : false;\r\n if (isAtSameValue && !newValueIsValidByStep) {\r\n return;\r\n }\r\n this.endValue =\r\n (this.needParseValues ? this.mapRangeValuesForSlider.get(positionInUserRange) : newPosition) ?? 0;\r\n this.startValue = this.endValue;\r\n this.setValue(this.endValue);\r\n }\r\n this.setProgress();\r\n };\r\n\r\n private onMouseUp = () => {\r\n this.draggingThumb = null;\r\n document.removeEventListener('mousemove', this.onThumbMove);\r\n document.removeEventListener('mouseup', this.onMouseUp);\r\n setTimeout(() => {\r\n this.activeMouseDown = false;\r\n }, 150);\r\n };\r\n\r\n private handleProgressBarMove = (event: MouseEvent) => {\r\n this.movingProgressBar = true;\r\n const newCenter = this.getPercentageByEvent(event);\r\n const startPositionBeforeEvent = this.progressBarEventPositionStart;\r\n const startValueBeforeEvent = this.startValueBeforeProgressBarEvent;\r\n const range = this.rangeBetweenElementsBeforeProgressBarEvent;\r\n let { newStart, newEnd } = calculateNewRange(\r\n startValueBeforeEvent,\r\n startValueBeforeEvent + range,\r\n startPositionBeforeEvent,\r\n newCenter,\r\n );\r\n if (newStart < this.MIN_RANGE_VALUE || newEnd > this.MAX_RANGE_VALUE) {\r\n return;\r\n }\r\n if (this.needParseValues) {\r\n const startValueBeforeEventUserRange = this.getValueFromMapByValue(startValueBeforeEvent);\r\n const startPositionBeforeEventUserRange = this.getValueFromMapByValue(startPositionBeforeEvent);\r\n const centerUserRange = this.getValueFromMapByValue(newCenter);\r\n const valueRange = this.totalRangeBeforeProgressBarEvent;\r\n let { newStart, newEnd } = calculateNewRange(\r\n startValueBeforeEventUserRange,\r\n startValueBeforeEventUserRange + valueRange,\r\n startPositionBeforeEventUserRange,\r\n centerUserRange,\r\n );\r\n if (newStart < this.min || newEnd > this.max) {\r\n return;\r\n }\r\n this.startValue = this.mapRangeValuesForSlider.get(newStart) ?? 0;\r\n this.endValue = this.mapRangeValuesForSlider.get(newEnd) ?? 0;\r\n } else {\r\n this.startValue = newStart;\r\n this.endValue = newEnd;\r\n }\r\n this.setValue([this.startValue, this.endValue]);\r\n this.setProgress();\r\n };\r\n\r\n private handleProgressBarMoveEnd = () => {\r\n this.progressBarEventPositionStart = -1;\r\n this.startValueBeforeProgressBarEvent = -1;\r\n this.rangeBetweenElementsBeforeProgressBarEvent = -1;\r\n this.totalRangeBeforeProgressBarEvent = -1;\r\n document.removeEventListener('mousemove', this.handleProgressBarMove);\r\n document.removeEventListener('mouseup', this.handleProgressBarMoveEnd);\r\n setTimeout(() => {\r\n this.movingProgressBar = false;\r\n }, 150);\r\n };\r\n\r\n private setProgress(): void {\r\n if (this.multiple) {\r\n this.progressLeft = this.startValue;\r\n this.progressWidth = `calc(${this.endValue - this.startValue}% + 10px)`;\r\n } else {\r\n this.progressLeft = 0;\r\n this.progressWidth = `calc(${this.endValue}% + 10px)`;\r\n }\r\n }\r\n\r\n /**\r\n * Get the percentage of a mouse event from the track's left edge\r\n * @param mouseEvent mouse event\r\n * @returns percentage from the left edge\r\n */\r\n private getPercentageByEvent(mouseEvent: MouseEvent | PointerEvent): number {\r\n const trackRect = this.track.nativeElement.getBoundingClientRect();\r\n let newLeft = Math.round(((mouseEvent.clientX - trackRect.left) / trackRect.width) * this.MAX_RANGE_VALUE);\r\n newLeft = Math.max(0, Math.min(newLeft, this.MAX_RANGE_VALUE));\r\n return newLeft;\r\n }\r\n\r\n private setValue(value: number | [number, number], parse = true) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n if (this.needParseValues && parse) {\r\n if (Array.isArray(value)) {\r\n value = value.map((x) => this.getValueFromMapByValue(x)) as [number, number];\r\n } else {\r\n value = this.getValueFromMapByValue(value);\r\n }\r\n }\r\n this.value = value;\r\n this.valueChange.emit(value);\r\n this.writeValue(this.value);\r\n this.onChange(this.value);\r\n this.onTouched(this.value);\r\n }\r\n\r\n private setUserRangeMapValues() {\r\n const start = this.min;\r\n const end = this.max;\r\n if (start > end) {\r\n throw new Error('Max value must be greater than min value');\r\n }\r\n this.mapRangeValuesForSlider.clear();\r\n const range = end - start;\r\n const decimalPlaces = 2;\r\n const stepCount = Math.floor(range / this.step);\r\n const values: number[] = [];\r\n for (let value = start; value <= end; value += this.step) {\r\n values.push(value);\r\n }\r\n if (values[values.length - 1] !== end) {\r\n values.push(end);\r\n }\r\n const mappedValues = values.map((value) => {\r\n let mapped = ((value - start) / range) * this.MAX_RANGE_VALUE;\r\n return parseFloat(mapped.toFixed(decimalPlaces));\r\n });\r\n mappedValues[0] = 0;\r\n mappedValues[mappedValues.length - 1] = this.MAX_RANGE_VALUE;\r\n const error = this.MAX_RANGE_VALUE - mappedValues[mappedValues.length - 1];\r\n const errorPerStep = error / stepCount;\r\n for (let i = 1; i < mappedValues.length - 1; i++) {\r\n mappedValues[i] += errorPerStep;\r\n mappedValues[i] = parseFloat(mappedValues[i].toFixed(decimalPlaces));\r\n }\r\n values.forEach((value, index) => {\r\n this.mapRangeValuesForSlider.set(value, mappedValues[index]);\r\n });\r\n }\r\n\r\n /**\r\n * Returns the user value from the given slider value by using the map of range values.\r\n * @example\r\n * If the map is 0: { 0 }, 1: { 10 }, 2: { 30 }, 3: { 40 }, 4: { 50 }\r\n * and the sliderValue is 37, the function returns 3\r\n * or the slider value is 40, the function returns 4\r\n * @param sliderValue the value of the slider (values only between range MIN and MAX)\r\n * @returns the user value from the given slider value\r\n */\r\n private getValueFromMapByValue(sliderValue: number) {\r\n const mapToArray = Array.from(this.mapRangeValuesForSlider).map(([value, mapped]) => ({ value, mapped }));\r\n const exactValue = mapToArray.find((x) => x.mapped == sliderValue);\r\n const closest = mapToArray.reduce((prev, curr) =>\r\n Math.abs(curr.mapped - sliderValue) < Math.abs(prev.mapped - sliderValue) ? curr : prev,\r\n );\r\n return exactValue ? exactValue.value : closest.value;\r\n }\r\n\r\n /**\r\n * Retrieves the key from the map that is closest to the given slider value.\r\n * @param userValue - The value to find the closest key for. (values only between 0 - 100)\r\n * @returns The key that corresponds to the closest mapped value.\r\n */\r\n private getClosestValueFromMapSlider(userValue: number): number {\r\n const mapToArray = Array.from(this.mapRangeValuesForSlider).map(([value, mapped]) => ({ value, mapped }));\r\n if (userValue >= this.max) {\r\n return mapToArray[mapToArray.length - 1].mapped;\r\n } else if (userValue <= this.min) {\r\n return mapToArray[0].mapped;\r\n }\r\n const exactValue = mapToArray.find((x) => x.value == userValue);\r\n const closestValue = mapToArray.reduce((prev, curr) =>\r\n Math.abs(curr.value - userValue) < Math.abs(prev.value - userValue) ? curr : prev,\r\n );\r\n const item = exactValue || closestValue;\r\n const isFirstItem = mapToArray[0] === item;\r\n const isLastItem = mapToArray[mapToArray.length - 1] === item;\r\n if (isFirstItem && userValue > this.min) {\r\n return getMidpoint(item.mapped, mapToArray[1].mapped);\r\n } else if (isLastItem && userValue < this.max) {\r\n return getMidpoint(item.mapped, mapToArray[mapToArray.length - 2].mapped);\r\n } else {\r\n return item.mapped;\r\n }\r\n }\r\n\r\n private handleArrowKeyLeft() {\r\n if (this.multiple) {\r\n this._incrementOrDecrementStartAndEndValue(false);\r\n } else {\r\n this._incrementOrDecrementEndValue(false);\r\n }\r\n this.setProgress();\r\n }\r\n\r\n private handleArrowKeyRight() {\r\n if (this.multiple) {\r\n this._incrementOrDecrementStartAndEndValue(true);\r\n } else {\r\n this._incrementOrDecrementEndValue(true);\r\n }\r\n this.setProgress();\r\n }\r\n\r\n private _incrementOrDecrementStartAndEndValue(increment: boolean) {\r\n let [start, end] = this.value as [number, number];\r\n const difference = getDifference(end, start);\r\n if (increment) {\r\n start += this.step;\r\n end += this.step;\r\n } else {\r\n start -= this.step;\r\n end -= this.step;\r\n }\r\n const startLessThanMin = start < this.min;\r\n const endGreaterThanMax = end > this.max;\r\n if (startLessThanMin || endGreaterThanMax) {\r\n if (startLessThanMin) {\r\n start = this.min;\r\n end = start + difference;\r\n } else if (endGreaterThanMax) {\r\n end = this.max;\r\n start = end - difference;\r\n }\r\n }\r\n if (start < this.min || end > this.max) {\r\n return;\r\n }\r\n this.setValue([start, end], false);\r\n if (this.needParseValues) {\r\n start = this.getClosestValueFromMapSlider(start);\r\n end = this.getClosestValueFromMapSlider(end);\r\n }\r\n this.startValue = start;\r\n this.endValue = end;\r\n }\r\n\r\n private _incrementOrDecrementEndValue(increment: boolean) {\r\n let value = this.value as number;\r\n if (increment) {\r\n value += this.step;\r\n } else {\r\n value -= this.step;\r\n }\r\n let _newEndValue = value;\r\n if (this.needParseValues) {\r\n _newEndValue = this.getClosestValueFromMapSlider(_newEndValue);\r\n }\r\n if (_newEndValue < this.MIN_RANGE_VALUE || _newEndValue > this.MAX_RANGE_VALUE) {\r\n return;\r\n }\r\n this.endValue = _newEndValue;\r\n this.startValue = this.endValue;\r\n this.setValue(_newEndValue);\r\n }\r\n\r\n private get needParseValues() {\r\n return this.max !== this.MAX_RANGE_VALUE || this.min !== this.MIN_RANGE_VALUE;\r\n }\r\n}\r\n\r\n/**\r\n * Calculates a new range based on the old range and the positions clicked and finalized.\r\n *\r\n * @param oldStart - The starting value of the old range.\r\n * @param oldEnd - The ending value of the old range.\r\n * @param clickedPosition - The position where the click occurred.\r\n * @param finalPosition - The position where the range should end.\r\n * @returns An object containing the new start and end values of the range.\r\n */\r\nconst calculateNewRange = (oldStart: number, oldEnd: number, clickedPosition: number, finalPosition: number) => {\r\n const range = oldEnd - oldStart;\r\n const newStart = finalPosition - (clickedPosition - oldStart);\r\n const newEnd = newStart + range;\r\n return { newStart, newEnd };\r\n};\r\n\r\nconst isInRange = (value: number, rangeStart: number, rangeEnd: number): boolean => {\r\n const [min, max] = rangeStart < rangeEnd ? [rangeStart, rangeEnd] : [rangeEnd, rangeStart];\r\n return value >= min && value <= max;\r\n};\r\n\r\nconst getMidpoint = (start: number, end: number) => {\r\n const midpoint = (start + end) / 2;\r\n return parseFloat(midpoint.toFixed(2));\r\n};\r\nconst getDifference = (end: number, start: number) => {\r\n return Math.abs(end - start);\r\n};\r\n","<div\r\n class=\"slider-container\"\r\n [ngClass]=\"{ 'slider-container--disabled': disabled }\"\r\n [tabindex]=\"tabindex\"\r\n (click)=\"onTrackClick($event)\"\r\n (focus)=\"onFocusIn()\"\r\n (blur)=\"onBlur()\"\r\n>\r\n <div\r\n #track\r\n class=\"slider-track\"\r\n [ngClass]=\"{\r\n 'slider-track--hidden-thumb': hiddenThumb,\r\n 'slider-track--moving-multiple-thumbs': movingProgressBar,\r\n }\"\r\n >\r\n <div\r\n class=\"slider-progress\"\r\n (mousedown)=\"onProgressMouseDown($event)\"\r\n [style.left.%]=\"progressLeft\"\r\n [style.width]=\"progressWidth\"\r\n ></div>\r\n @if (multiple) {\r\n <div\r\n class=\"slider-thumb\"\r\n [sTooltip]=\"tooltipStartText\"\r\n [showDelay]=\"0\"\r\n (mousedown)=\"onMouseDown($event, 'start')\"\r\n [style.left.%]=\"startValue\"\r\n ></div>\r\n }\r\n <div\r\n [sTooltip]=\"tooltipEndText\"\r\n class=\"slider-thumb\"\r\n [showDelay]=\"0\"\r\n (mousedown)=\"onMouseDown($event, 'end')\"\r\n [style.left.%]=\"endValue\"\r\n ></div>\r\n </div>\r\n <div class=\"footer\">\r\n <span>{{ minValueLabel || min }}</span>\r\n <span>{{ maxValueLabel || max }}</span>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { SliderComponent } from './slider.component';\r\n\r\n@NgModule({\r\n imports: [SliderComponent],\r\n exports: [SliderComponent],\r\n})\r\nexport class SliderModule {}\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,6 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
2
  import { inject, NgZone, Injectable, EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
4
- import * as i1 from '@ngx-translate/core';
5
- import { TranslateService, TranslateModule } from '@ngx-translate/core';
3
+ import { TranslateService, TranslatePipe } from '@ngx-translate/core';
6
4
  import { Subject } from 'rxjs';
7
5
  import { takeUntil } from 'rxjs/operators';
8
6
  import { LocaleService } from '@seniorsistemas/angular-components/locale';
@@ -430,11 +428,11 @@ class SpeechRecognitionComponent {
430
428
  return this.textAreaElement.value;
431
429
  }
432
430
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
433
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpeechRecognitionComponent, selector: "s-speech-recognition", inputs: { textAreaElement: "textAreaElement", keepContext: "keepContext", speechRecognitionPlaceholder: "speechRecognitionPlaceholder" }, outputs: { recognizedText: "recognizedText" }, ngImport: i0, template: "@if(hasSpeechRecognitionBrowserApi) {\n <section class=\"speech-recognition\">\n <div class=\"speech-recognition-text\">\n @if(canRenderMicrophone) {\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n }\n\n @if(isListeningUserVoice) {\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n }\n\n @if(canRenderAprove && canRenderDiscard) {\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n }\n </div>\n <div class=\"speech-recognition-buttons\">\n @if(canRenderListeningText) {\n <span\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\">\n <i class=\"far fa-ellipsis-h\"></i>\n </span>\n }\n\n @if(canRenderMicrophone) {\n <span\n (click)=\"onListen()\"\n class=\"speech-recognition-item speech-recognition-item-microphone\"\n [class.speech-recognition-item-disabled]=\"isDisabledMicrophone || isListening || disabled\">\n <i class=\"fas fa-microphone\"></i>\n </span>\n }\n\n\n @if(canRenderAprove) {\n <span\n (click)=\"onAprove()\"\n class=\"speech-recognition-item speech-recognition-item-aprove\">\n <i class=\"fas fa-check\"></i>\n </span>\n }\n\n @if(canRenderDiscard) {\n <span\n (click)=\"onDiscard()\"\n class=\"speech-recognition-item speech-recognition-item-discard\">\n <i class=\"fas fa-times\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeech) {\n <span\n (click)=\"onOpenToolbar()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"isDisabledTextToSpeech\">\n <i class=\"fas fa-volume-down\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeechToolbar) {\n <span\n class=\"speech-recognition-item-toolbar\">\n <i class=\"fas\" [class.fa-pause]=\"isPlayingTextToSpeech\" [class.fa-play]=\"!isPlayingTextToSpeech\"\n (click)=\"toggleTextToSpeech()\"></i>\n <i class=\"fas fa-backward\" (click)=\"restartTextToSpeech()\"></i>\n <span (click)=\"updateVoiceSpeed()\">\n {{ voiceSpeed }}x\n </span>\n <i class=\"fas fa-times\" (click)=\"onCloseToolbar()\"></i>\n </span>\n }\n </div>\n </section>\n}\n", styles: [".speech-recognition{display:flex;gap:10px;justify-content:space-between;width:100%}.speech-recognition-buttons{display:flex;gap:10px;position:relative;bottom:15px;margin-right:16px}.speech-recognition-item{display:inline-flex;height:25px;padding:4px 12px;justify-content:center;align-items:center;gap:8px;border-radius:15px;cursor:pointer;transition:background .1s ease-in}.speech-recognition-item i,.speech-recognition-item span{color:#fff}.speech-recognition-item-disabled{cursor:default!important}.speech-recognition-item-disabled *{opacity:.5}.speech-recognition-item-microphone{background:#428bca}.speech-recognition-item-microphone:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-regular{background:#7892a1}.speech-recognition-item-regular:not(.speech-recognition-item-disabled):hover{background:#697882}.speech-recognition-item-aprove{background:#0c9348}.speech-recognition-item-aprove:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-discard{background:#c13018}.speech-recognition-item-discard:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-toolbar{background:#7892a1;display:flex;border-radius:15px;align-items:center;color:#fff;height:25px}.speech-recognition-item-toolbar i,.speech-recognition-item-toolbar span{cursor:pointer}.speech-recognition-item-toolbar i:not(:first-child),.speech-recognition-item-toolbar i:not(:last-child){padding:6px}.speech-recognition-item-toolbar i:first-child{padding-left:10px}.speech-recognition-item-toolbar i:last-child{padding-right:10px}.speech-recognition-text{color:#212533;font-size:12px;font-style:normal;font-weight:400;word-break:break-word}\n"], dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
431
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpeechRecognitionComponent, isStandalone: true, selector: "s-speech-recognition", inputs: { textAreaElement: "textAreaElement", keepContext: "keepContext", speechRecognitionPlaceholder: "speechRecognitionPlaceholder" }, outputs: { recognizedText: "recognizedText" }, ngImport: i0, template: "@if(hasSpeechRecognitionBrowserApi) {\n <section class=\"speech-recognition\">\n <div class=\"speech-recognition-text\">\n @if(canRenderMicrophone) {\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n }\n\n @if(isListeningUserVoice) {\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n }\n\n @if(canRenderAprove && canRenderDiscard) {\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n }\n </div>\n <div class=\"speech-recognition-buttons\">\n @if(canRenderListeningText) {\n <span\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\">\n <i class=\"far fa-ellipsis-h\"></i>\n </span>\n }\n\n @if(canRenderMicrophone) {\n <span\n (click)=\"onListen()\"\n class=\"speech-recognition-item speech-recognition-item-microphone\"\n [class.speech-recognition-item-disabled]=\"isDisabledMicrophone || isListening || disabled\">\n <i class=\"fas fa-microphone\"></i>\n </span>\n }\n\n\n @if(canRenderAprove) {\n <span\n (click)=\"onAprove()\"\n class=\"speech-recognition-item speech-recognition-item-aprove\">\n <i class=\"fas fa-check\"></i>\n </span>\n }\n\n @if(canRenderDiscard) {\n <span\n (click)=\"onDiscard()\"\n class=\"speech-recognition-item speech-recognition-item-discard\">\n <i class=\"fas fa-times\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeech) {\n <span\n (click)=\"onOpenToolbar()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"isDisabledTextToSpeech\">\n <i class=\"fas fa-volume-down\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeechToolbar) {\n <span\n class=\"speech-recognition-item-toolbar\">\n <i class=\"fas\" [class.fa-pause]=\"isPlayingTextToSpeech\" [class.fa-play]=\"!isPlayingTextToSpeech\"\n (click)=\"toggleTextToSpeech()\"></i>\n <i class=\"fas fa-backward\" (click)=\"restartTextToSpeech()\"></i>\n <span (click)=\"updateVoiceSpeed()\">\n {{ voiceSpeed }}x\n </span>\n <i class=\"fas fa-times\" (click)=\"onCloseToolbar()\"></i>\n </span>\n }\n </div>\n </section>\n}\n", styles: [".speech-recognition{display:flex;gap:10px;justify-content:space-between;width:100%}.speech-recognition-buttons{display:flex;gap:10px;position:relative;bottom:15px;margin-right:16px}.speech-recognition-item{display:inline-flex;height:25px;padding:4px 12px;justify-content:center;align-items:center;gap:8px;border-radius:15px;cursor:pointer;transition:background .1s ease-in}.speech-recognition-item i,.speech-recognition-item span{color:#fff}.speech-recognition-item-disabled{cursor:default!important}.speech-recognition-item-disabled *{opacity:.5}.speech-recognition-item-microphone{background:#428bca}.speech-recognition-item-microphone:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-regular{background:#7892a1}.speech-recognition-item-regular:not(.speech-recognition-item-disabled):hover{background:#697882}.speech-recognition-item-aprove{background:#0c9348}.speech-recognition-item-aprove:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-discard{background:#c13018}.speech-recognition-item-discard:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-toolbar{background:#7892a1;display:flex;border-radius:15px;align-items:center;color:#fff;height:25px}.speech-recognition-item-toolbar i,.speech-recognition-item-toolbar span{cursor:pointer}.speech-recognition-item-toolbar i:not(:first-child),.speech-recognition-item-toolbar i:not(:last-child){padding:6px}.speech-recognition-item-toolbar i:first-child{padding-left:10px}.speech-recognition-item-toolbar i:last-child{padding-right:10px}.speech-recognition-text{color:#212533;font-size:12px;font-style:normal;font-weight:400;word-break:break-word}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
434
432
  }
435
433
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionComponent, decorators: [{
436
434
  type: Component,
437
- args: [{ selector: 's-speech-recognition', template: "@if(hasSpeechRecognitionBrowserApi) {\n <section class=\"speech-recognition\">\n <div class=\"speech-recognition-text\">\n @if(canRenderMicrophone) {\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n }\n\n @if(isListeningUserVoice) {\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n }\n\n @if(canRenderAprove && canRenderDiscard) {\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n }\n </div>\n <div class=\"speech-recognition-buttons\">\n @if(canRenderListeningText) {\n <span\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\">\n <i class=\"far fa-ellipsis-h\"></i>\n </span>\n }\n\n @if(canRenderMicrophone) {\n <span\n (click)=\"onListen()\"\n class=\"speech-recognition-item speech-recognition-item-microphone\"\n [class.speech-recognition-item-disabled]=\"isDisabledMicrophone || isListening || disabled\">\n <i class=\"fas fa-microphone\"></i>\n </span>\n }\n\n\n @if(canRenderAprove) {\n <span\n (click)=\"onAprove()\"\n class=\"speech-recognition-item speech-recognition-item-aprove\">\n <i class=\"fas fa-check\"></i>\n </span>\n }\n\n @if(canRenderDiscard) {\n <span\n (click)=\"onDiscard()\"\n class=\"speech-recognition-item speech-recognition-item-discard\">\n <i class=\"fas fa-times\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeech) {\n <span\n (click)=\"onOpenToolbar()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"isDisabledTextToSpeech\">\n <i class=\"fas fa-volume-down\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeechToolbar) {\n <span\n class=\"speech-recognition-item-toolbar\">\n <i class=\"fas\" [class.fa-pause]=\"isPlayingTextToSpeech\" [class.fa-play]=\"!isPlayingTextToSpeech\"\n (click)=\"toggleTextToSpeech()\"></i>\n <i class=\"fas fa-backward\" (click)=\"restartTextToSpeech()\"></i>\n <span (click)=\"updateVoiceSpeed()\">\n {{ voiceSpeed }}x\n </span>\n <i class=\"fas fa-times\" (click)=\"onCloseToolbar()\"></i>\n </span>\n }\n </div>\n </section>\n}\n", styles: [".speech-recognition{display:flex;gap:10px;justify-content:space-between;width:100%}.speech-recognition-buttons{display:flex;gap:10px;position:relative;bottom:15px;margin-right:16px}.speech-recognition-item{display:inline-flex;height:25px;padding:4px 12px;justify-content:center;align-items:center;gap:8px;border-radius:15px;cursor:pointer;transition:background .1s ease-in}.speech-recognition-item i,.speech-recognition-item span{color:#fff}.speech-recognition-item-disabled{cursor:default!important}.speech-recognition-item-disabled *{opacity:.5}.speech-recognition-item-microphone{background:#428bca}.speech-recognition-item-microphone:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-regular{background:#7892a1}.speech-recognition-item-regular:not(.speech-recognition-item-disabled):hover{background:#697882}.speech-recognition-item-aprove{background:#0c9348}.speech-recognition-item-aprove:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-discard{background:#c13018}.speech-recognition-item-discard:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-toolbar{background:#7892a1;display:flex;border-radius:15px;align-items:center;color:#fff;height:25px}.speech-recognition-item-toolbar i,.speech-recognition-item-toolbar span{cursor:pointer}.speech-recognition-item-toolbar i:not(:first-child),.speech-recognition-item-toolbar i:not(:last-child){padding:6px}.speech-recognition-item-toolbar i:first-child{padding-left:10px}.speech-recognition-item-toolbar i:last-child{padding-right:10px}.speech-recognition-text{color:#212533;font-size:12px;font-style:normal;font-weight:400;word-break:break-word}\n"] }]
435
+ args: [{ selector: 's-speech-recognition', standalone: true, imports: [TranslatePipe], template: "@if(hasSpeechRecognitionBrowserApi) {\n <section class=\"speech-recognition\">\n <div class=\"speech-recognition-text\">\n @if(canRenderMicrophone) {\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n }\n\n @if(isListeningUserVoice) {\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n }\n\n @if(canRenderAprove && canRenderDiscard) {\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n }\n </div>\n <div class=\"speech-recognition-buttons\">\n @if(canRenderListeningText) {\n <span\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\">\n <i class=\"far fa-ellipsis-h\"></i>\n </span>\n }\n\n @if(canRenderMicrophone) {\n <span\n (click)=\"onListen()\"\n class=\"speech-recognition-item speech-recognition-item-microphone\"\n [class.speech-recognition-item-disabled]=\"isDisabledMicrophone || isListening || disabled\">\n <i class=\"fas fa-microphone\"></i>\n </span>\n }\n\n\n @if(canRenderAprove) {\n <span\n (click)=\"onAprove()\"\n class=\"speech-recognition-item speech-recognition-item-aprove\">\n <i class=\"fas fa-check\"></i>\n </span>\n }\n\n @if(canRenderDiscard) {\n <span\n (click)=\"onDiscard()\"\n class=\"speech-recognition-item speech-recognition-item-discard\">\n <i class=\"fas fa-times\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeech) {\n <span\n (click)=\"onOpenToolbar()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"isDisabledTextToSpeech\">\n <i class=\"fas fa-volume-down\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeechToolbar) {\n <span\n class=\"speech-recognition-item-toolbar\">\n <i class=\"fas\" [class.fa-pause]=\"isPlayingTextToSpeech\" [class.fa-play]=\"!isPlayingTextToSpeech\"\n (click)=\"toggleTextToSpeech()\"></i>\n <i class=\"fas fa-backward\" (click)=\"restartTextToSpeech()\"></i>\n <span (click)=\"updateVoiceSpeed()\">\n {{ voiceSpeed }}x\n </span>\n <i class=\"fas fa-times\" (click)=\"onCloseToolbar()\"></i>\n </span>\n }\n </div>\n </section>\n}\n", styles: [".speech-recognition{display:flex;gap:10px;justify-content:space-between;width:100%}.speech-recognition-buttons{display:flex;gap:10px;position:relative;bottom:15px;margin-right:16px}.speech-recognition-item{display:inline-flex;height:25px;padding:4px 12px;justify-content:center;align-items:center;gap:8px;border-radius:15px;cursor:pointer;transition:background .1s ease-in}.speech-recognition-item i,.speech-recognition-item span{color:#fff}.speech-recognition-item-disabled{cursor:default!important}.speech-recognition-item-disabled *{opacity:.5}.speech-recognition-item-microphone{background:#428bca}.speech-recognition-item-microphone:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-regular{background:#7892a1}.speech-recognition-item-regular:not(.speech-recognition-item-disabled):hover{background:#697882}.speech-recognition-item-aprove{background:#0c9348}.speech-recognition-item-aprove:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-discard{background:#c13018}.speech-recognition-item-discard:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-toolbar{background:#7892a1;display:flex;border-radius:15px;align-items:center;color:#fff;height:25px}.speech-recognition-item-toolbar i,.speech-recognition-item-toolbar span{cursor:pointer}.speech-recognition-item-toolbar i:not(:first-child),.speech-recognition-item-toolbar i:not(:last-child){padding:6px}.speech-recognition-item-toolbar i:first-child{padding-left:10px}.speech-recognition-item-toolbar i:last-child{padding-right:10px}.speech-recognition-text{color:#212533;font-size:12px;font-style:normal;font-weight:400;word-break:break-word}\n"] }]
438
436
  }], propDecorators: { textAreaElement: [{
439
437
  type: Input,
440
438
  args: [{ required: true }]
@@ -448,20 +446,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
448
446
 
449
447
  class SpeechRecognitionModule {
450
448
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
451
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionModule, declarations: [SpeechRecognitionComponent], imports: [CommonModule,
452
- TranslateModule], exports: [SpeechRecognitionComponent] });
453
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionModule, imports: [CommonModule,
454
- TranslateModule] });
449
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionModule, imports: [SpeechRecognitionComponent], exports: [SpeechRecognitionComponent] });
450
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionModule });
455
451
  }
456
452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionModule, decorators: [{
457
453
  type: NgModule,
458
454
  args: [{
459
- declarations: [SpeechRecognitionComponent],
460
- imports: [
461
- CommonModule,
462
- TranslateModule
463
- ],
464
- exports: [SpeechRecognitionComponent]
455
+ imports: [SpeechRecognitionComponent],
456
+ exports: [SpeechRecognitionComponent],
465
457
  }]
466
458
  }] });
467
459