@spicainternational/ngx-sds-components 7.12.0-beta.2 → 8.1.1

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 (634) hide show
  1. package/README.md +13 -57
  2. package/esm2022/public-api.mjs +36 -0
  3. package/{esm2020 → esm2022}/spicainternational-ngx-sds-components.mjs +4 -4
  4. package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +116 -0
  5. package/{esm2020 → esm2022}/src/lib/app-switcher/app-switcher.model.mjs +1 -1
  6. package/esm2022/src/lib/app-switcher/public-api.mjs +3 -0
  7. package/{esm2020 → esm2022}/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +4 -4
  8. package/esm2022/src/lib/avatar/avatar-group.component.mjs +82 -0
  9. package/{esm2020 → esm2022}/src/lib/avatar/avatar-group.model.mjs +1 -1
  10. package/esm2022/src/lib/avatar/avatar.component.mjs +165 -0
  11. package/esm2022/src/lib/avatar/public-api.mjs +4 -0
  12. package/{esm2020 → esm2022}/src/lib/avatar/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
  13. package/esm2022/src/lib/badge/badge.directive.mjs +90 -0
  14. package/{esm2020 → esm2022}/src/lib/badge/badge.types.mjs +1 -1
  15. package/esm2022/src/lib/badge/components/badge.component.mjs +59 -0
  16. package/{esm2020 → esm2022}/src/lib/badge/public-api.mjs +2 -3
  17. package/{esm2020 → esm2022}/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.mjs +4 -4
  18. package/esm2022/src/lib/callout/callout.component.mjs +20 -0
  19. package/{esm2020 → esm2022}/src/lib/callout/public-api.mjs +2 -3
  20. package/{esm2020 → esm2022}/src/lib/callout/spicainternational-ngx-sds-components-src-lib-callout.mjs +4 -4
  21. package/esm2022/src/lib/color-picker/color-picker.component.mjs +82 -0
  22. package/{esm2020 → esm2022}/src/lib/color-picker/public-api.mjs +2 -3
  23. package/{esm2020 → esm2022}/src/lib/color-picker/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +4 -4
  24. package/esm2022/src/lib/date-picker/date-picker.component.mjs +863 -0
  25. package/esm2022/src/lib/date-picker/date-picker.model.mjs +71 -0
  26. package/esm2022/src/lib/date-picker/public-api.mjs +3 -0
  27. package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +90 -0
  28. package/{esm2020 → esm2022}/src/lib/date-picker/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +4 -4
  29. package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +32 -0
  30. package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +31 -0
  31. package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +49 -0
  32. package/{esm2020 → esm2022}/src/lib/date-pipes/date-time-formats.constants.mjs +155 -155
  33. package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +33 -0
  34. package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +49 -0
  35. package/{esm2020 → esm2022}/src/lib/date-pipes/public-api.mjs +8 -8
  36. package/{esm2020 → esm2022}/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +4 -4
  37. package/esm2022/src/lib/drawer/drawer.component.mjs +103 -0
  38. package/{esm2020 → esm2022}/src/lib/drawer/public-api.mjs +2 -3
  39. package/{esm2020 → esm2022}/src/lib/drawer/spicainternational-ngx-sds-components-src-lib-drawer.mjs +4 -4
  40. package/esm2022/src/lib/duration-box/duration-box.component.mjs +279 -0
  41. package/{esm2020 → esm2022}/src/lib/duration-box/duration-box.types.mjs +1 -1
  42. package/esm2022/src/lib/duration-box/duration.service.mjs +72 -0
  43. package/{esm2020 → esm2022}/src/lib/duration-box/public-api.mjs +2 -3
  44. package/{esm2020 → esm2022}/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +4 -4
  45. package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +27 -0
  46. package/{esm2020 → esm2022}/src/lib/duration-pipe/public-api.mjs +2 -3
  47. package/{esm2020 → esm2022}/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +4 -4
  48. package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +52 -0
  49. package/{esm2020 → esm2022}/src/lib/ellipsis/public-api.mjs +2 -3
  50. package/{esm2020 → esm2022}/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +4 -4
  51. package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +86 -0
  52. package/{esm2020 → esm2022}/src/lib/expansion-panel/expansion-panel.types.mjs +1 -1
  53. package/{esm2020 → esm2022}/src/lib/expansion-panel/public-api.mjs +2 -3
  54. package/{esm2020 → esm2022}/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +4 -4
  55. package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +61 -0
  56. package/{esm2020 → esm2022}/src/lib/highlight-text/directives/index.mjs +1 -1
  57. package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +30 -0
  58. package/{esm2020 → esm2022}/src/lib/highlight-text/pipes/index.mjs +1 -1
  59. package/esm2022/src/lib/highlight-text/public-api.mjs +3 -0
  60. package/{esm2020 → esm2022}/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +4 -4
  61. package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +97 -0
  62. package/{esm2020 → esm2022}/src/lib/highlight-text/utils/index.mjs +1 -1
  63. package/{esm2020 → esm2022}/src/lib/intersection/directives/index.mjs +1 -1
  64. package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +52 -0
  65. package/esm2022/src/lib/intersection/public-api.mjs +3 -0
  66. package/{esm2020 → esm2022}/src/lib/intersection/services/index.mjs +1 -1
  67. package/{esm2020 → esm2022}/src/lib/intersection/services/intersection.service.mjs +54 -54
  68. package/{esm2020 → esm2022}/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.mjs +4 -4
  69. package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/directives/index.mjs +1 -1
  70. package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +57 -0
  71. package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/public-api.mjs +2 -3
  72. package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +4 -4
  73. package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +15 -0
  74. package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +15 -0
  75. package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +15 -0
  76. package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +15 -0
  77. package/esm2022/src/lib/layout/public-api.mjs +6 -0
  78. package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +15 -0
  79. package/{esm2020 → esm2022}/src/lib/layout/spicainternational-ngx-sds-components-src-lib-layout.mjs +4 -4
  80. package/esm2022/src/lib/message/message.component.mjs +60 -0
  81. package/{esm2020 → esm2022}/src/lib/message/public-api.mjs +2 -3
  82. package/{esm2020 → esm2022}/src/lib/message/spicainternational-ngx-sds-components-src-lib-message.mjs +4 -4
  83. package/esm2022/src/lib/modal/dialog/dialog.component.mjs +187 -0
  84. package/{esm2020 → esm2022}/src/lib/modal/dialog/dialog.types.mjs +1 -1
  85. package/esm2022/src/lib/modal/modal.component.mjs +153 -0
  86. package/{esm2020 → esm2022}/src/lib/modal/modal.model.mjs +1 -1
  87. package/{esm2020 → esm2022}/src/lib/modal/public-api.mjs +3 -4
  88. package/{esm2020 → esm2022}/src/lib/modal/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
  89. package/esm2022/src/lib/navigation/models/navigation-models.mjs +2 -0
  90. package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +17 -0
  91. package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +61 -0
  92. package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +38 -0
  93. package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +120 -0
  94. package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +21 -0
  95. package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +38 -0
  96. package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +15 -0
  97. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +30 -0
  98. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +45 -0
  99. package/{esm2020 → esm2022}/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.mjs +1 -1
  100. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +25 -0
  101. package/{esm2020 → esm2022}/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +1 -1
  102. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +107 -0
  103. package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +71 -0
  104. package/esm2022/src/lib/navigation/public-api.mjs +14 -0
  105. package/{esm2020 → esm2022}/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.mjs +4 -4
  106. package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +48 -0
  107. package/esm2022/src/lib/number-box/number-box.component.mjs +138 -0
  108. package/{esm2020 → esm2022}/src/lib/number-box/public-api.mjs +2 -3
  109. package/{esm2020 → esm2022}/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.mjs +4 -4
  110. package/esm2022/src/lib/page-header/page-header.component.mjs +25 -0
  111. package/{esm2020 → esm2022}/src/lib/page-header/public-api.mjs +2 -3
  112. package/{esm2020 → esm2022}/src/lib/page-header/spicainternational-ngx-sds-components-src-lib-page-header.mjs +4 -4
  113. package/esm2022/src/lib/pane/pane.component.mjs +43 -0
  114. package/{esm2020 → esm2022}/src/lib/pane/pane.model.mjs +1 -1
  115. package/{esm2020 → esm2022}/src/lib/pane/public-api.mjs +3 -4
  116. package/{esm2020 → esm2022}/src/lib/pane/spicainternational-ngx-sds-components-src-lib-pane.mjs +4 -4
  117. package/{esm2020 → esm2022}/src/lib/quick-info/public-api.mjs +2 -3
  118. package/esm2022/src/lib/quick-info/quick-info.component.mjs +121 -0
  119. package/{esm2020 → esm2022}/src/lib/quick-info/quick-info.model.mjs +1 -1
  120. package/{esm2020 → esm2022}/src/lib/quick-info/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +4 -4
  121. package/esm2022/src/lib/ripple/public-api.mjs +2 -0
  122. package/esm2022/src/lib/ripple/ripple.directive.mjs +103 -0
  123. package/esm2022/src/lib/ripple/spicainternational-ngx-sds-components-src-lib-ripple.mjs +5 -0
  124. package/{esm2020 → esm2022}/src/lib/segmented-control/public-api.mjs +2 -3
  125. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +109 -0
  126. package/{esm2020 → esm2022}/src/lib/segmented-control/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +4 -4
  127. package/{esm2020 → esm2022}/src/lib/side-bar/public-api.mjs +2 -3
  128. package/esm2022/src/lib/side-bar/side-bar.component.mjs +39 -0
  129. package/{esm2020 → esm2022}/src/lib/side-bar/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +4 -4
  130. package/{esm2020 → esm2022}/src/lib/static-value/public-api.mjs +2 -3
  131. package/{esm2020 → esm2022}/src/lib/static-value/spicainternational-ngx-sds-components-src-lib-static-value.mjs +4 -4
  132. package/esm2022/src/lib/static-value/static-value.component.mjs +25 -0
  133. package/{esm2020 → esm2022}/src/lib/table-actions/public-api.mjs +2 -3
  134. package/{esm2020 → esm2022}/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +4 -4
  135. package/esm2022/src/lib/table-actions/table-actions.component.mjs +49 -0
  136. package/esm2022/src/lib/timeline/components/timeline.component.mjs +388 -0
  137. package/{esm2020 → esm2022}/src/lib/timeline/models/timeline.model.mjs +1 -1
  138. package/{esm2020 → esm2022}/src/lib/timeline/public-api.mjs +2 -3
  139. package/esm2022/src/lib/timeline/services/timeline.service.mjs +152 -0
  140. package/{esm2020 → esm2022}/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.mjs +4 -4
  141. package/{esm2020 → esm2022}/src/lib/timeline/types/timeline.types.mjs +1 -1
  142. package/{esm2020 → esm2022}/src/lib/timer/public-api.mjs +3 -4
  143. package/{esm2020 → esm2022}/src/lib/timer/services/index.mjs +1 -1
  144. package/esm2022/src/lib/timer/services/timer.service.mjs +99 -0
  145. package/{esm2020 → esm2022}/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +4 -4
  146. package/{esm2020 → esm2022}/src/lib/timer/utils/index.mjs +1 -1
  147. package/{esm2020 → esm2022}/src/lib/timer/utils/timer.utils.mjs +96 -96
  148. package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +26 -0
  149. package/{esm2020 → esm2022}/src/lib/tooltip/public-api.mjs +2 -3
  150. package/{esm2020 → esm2022}/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +4 -4
  151. package/esm2022/src/lib/tooltip/tooltip.directive.mjs +192 -0
  152. package/{esm2020 → esm2022}/src/lib/tooltip/tooltip.types.mjs +1 -1
  153. package/{esm2020 → esm2022}/src/lib/tooltip/utils/index.mjs +1 -1
  154. package/{esm2020 → esm2022}/src/lib/tooltip/utils/tooltip.utils.mjs +16 -16
  155. package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +15 -0
  156. package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +29 -0
  157. package/esm2022/src/lib/utils/date-time/public-api.mjs +3 -0
  158. package/esm2022/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +5 -0
  159. package/esm2022/src/lib/utils/public-api.mjs +2 -0
  160. package/esm2022/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.mjs +5 -0
  161. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +122 -0
  162. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -0
  163. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +250 -0
  164. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -0
  165. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +153 -0
  166. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -0
  167. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +27 -0
  168. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -0
  169. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +89 -0
  170. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -0
  171. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +1025 -0
  172. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -0
  173. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +330 -399
  174. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -0
  175. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components-src-lib-drawer.mjs +103 -118
  176. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -0
  177. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +354 -0
  178. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -0
  179. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +34 -0
  180. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -0
  181. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +59 -0
  182. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
  183. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +93 -0
  184. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -0
  185. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +178 -201
  186. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -0
  187. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-intersection.mjs +99 -114
  188. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
  189. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +64 -0
  190. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
  191. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +70 -0
  192. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -0
  193. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +67 -0
  194. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -0
  195. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +343 -0
  196. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -0
  197. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +589 -0
  198. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -0
  199. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +145 -0
  200. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -0
  201. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +32 -0
  202. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -0
  203. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +50 -0
  204. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -0
  205. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +128 -0
  206. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -0
  207. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs +110 -0
  208. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -0
  209. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +116 -0
  210. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -0
  211. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +46 -0
  212. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -0
  213. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +32 -0
  214. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -0
  215. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +56 -0
  216. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -0
  217. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +546 -0
  218. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -0
  219. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-timer.mjs +192 -223
  220. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
  221. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +228 -250
  222. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -0
  223. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +49 -0
  224. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -0
  225. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs +49 -0
  226. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -0
  227. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs +6 -4
  228. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs.map +1 -1
  229. package/index.d.ts +5 -5
  230. package/package.json +123 -169
  231. package/public-api.d.ts +32 -30
  232. package/src/lib/app-switcher/app-switcher.component.d.ts +34 -34
  233. package/src/lib/app-switcher/app-switcher.model.d.ts +8 -8
  234. package/src/lib/app-switcher/index.d.ts +5 -5
  235. package/src/lib/app-switcher/public-api.d.ts +2 -3
  236. package/src/lib/avatar/avatar-group.component.d.ts +28 -28
  237. package/src/lib/avatar/avatar-group.model.d.ts +6 -6
  238. package/src/lib/avatar/avatar.component.d.ts +56 -55
  239. package/src/lib/avatar/index.d.ts +5 -5
  240. package/src/lib/avatar/public-api.d.ts +3 -4
  241. package/src/lib/badge/badge.directive.d.ts +23 -23
  242. package/src/lib/badge/badge.types.d.ts +2 -2
  243. package/src/lib/badge/components/badge.component.d.ts +23 -23
  244. package/src/lib/badge/index.d.ts +5 -5
  245. package/src/lib/badge/public-api.d.ts +1 -2
  246. package/src/lib/callout/callout.component.d.ts +10 -10
  247. package/src/lib/callout/index.d.ts +5 -5
  248. package/src/lib/callout/public-api.d.ts +1 -2
  249. package/src/lib/color-picker/color-picker.component.d.ts +27 -28
  250. package/src/lib/color-picker/index.d.ts +5 -5
  251. package/src/lib/color-picker/public-api.d.ts +1 -2
  252. package/src/lib/date-picker/date-picker.component.d.ts +149 -149
  253. package/src/lib/date-picker/date-picker.model.d.ts +34 -34
  254. package/src/lib/date-picker/index.d.ts +5 -5
  255. package/src/lib/date-picker/public-api.d.ts +2 -3
  256. package/src/lib/date-picker/sds-date-picker.service.d.ts +9 -9
  257. package/src/lib/date-pipes/date-compare.pipe.d.ts +7 -7
  258. package/src/lib/date-pipes/date-format.pipe.d.ts +19 -18
  259. package/src/lib/date-pipes/date-period-format.pipe.d.ts +11 -7
  260. package/src/lib/date-pipes/date-time-formats.constants.d.ts +22 -22
  261. package/src/lib/date-pipes/date-time-range-duration.pipe.d.ts +7 -7
  262. package/src/lib/date-pipes/date-time-range-format.pipe.d.ts +15 -15
  263. package/src/lib/date-pipes/index.d.ts +5 -5
  264. package/src/lib/date-pipes/public-api.d.ts +7 -7
  265. package/src/lib/drawer/drawer.component.d.ts +24 -24
  266. package/src/lib/drawer/index.d.ts +5 -5
  267. package/src/lib/drawer/public-api.d.ts +1 -2
  268. package/src/lib/duration-box/duration-box.component.d.ts +137 -137
  269. package/src/lib/duration-box/duration-box.types.d.ts +1 -1
  270. package/src/lib/duration-box/duration.service.d.ts +10 -10
  271. package/src/lib/duration-box/index.d.ts +5 -5
  272. package/src/lib/duration-box/public-api.d.ts +1 -2
  273. package/src/lib/duration-pipe/duration-format.pipe.d.ts +7 -7
  274. package/src/lib/duration-pipe/index.d.ts +5 -5
  275. package/src/lib/duration-pipe/public-api.d.ts +1 -2
  276. package/src/lib/ellipsis/directives/ellipsis.directive.d.ts +13 -13
  277. package/src/lib/ellipsis/index.d.ts +5 -5
  278. package/src/lib/ellipsis/public-api.d.ts +1 -2
  279. package/src/lib/expansion-panel/expansion-panel.component.d.ts +52 -52
  280. package/src/lib/expansion-panel/expansion-panel.types.d.ts +2 -2
  281. package/src/lib/expansion-panel/index.d.ts +5 -5
  282. package/src/lib/expansion-panel/public-api.d.ts +1 -2
  283. package/src/lib/highlight-text/directives/highlight-text.directive.d.ts +33 -33
  284. package/src/lib/highlight-text/directives/index.d.ts +1 -1
  285. package/src/lib/highlight-text/index.d.ts +5 -5
  286. package/src/lib/highlight-text/pipes/highlight-text.pipe.d.ts +11 -11
  287. package/src/lib/highlight-text/pipes/index.d.ts +1 -1
  288. package/src/lib/highlight-text/public-api.d.ts +2 -3
  289. package/src/lib/highlight-text/utils/highlight-text.utils.d.ts +23 -23
  290. package/src/lib/highlight-text/utils/index.d.ts +1 -1
  291. package/src/lib/intersection/directives/index.d.ts +1 -1
  292. package/src/lib/intersection/directives/intersection.directive.d.ts +24 -24
  293. package/src/lib/intersection/index.d.ts +5 -5
  294. package/src/lib/intersection/public-api.d.ts +2 -3
  295. package/src/lib/intersection/services/index.d.ts +1 -1
  296. package/src/lib/intersection/services/intersection.service.d.ts +19 -19
  297. package/src/lib/keyboard-shortcut/directives/index.d.ts +1 -1
  298. package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +22 -22
  299. package/src/lib/keyboard-shortcut/index.d.ts +5 -5
  300. package/src/lib/keyboard-shortcut/public-api.d.ts +1 -2
  301. package/src/lib/layout/default-layout/default-layout.component.d.ts +8 -8
  302. package/src/lib/layout/extra-large-layout/extra-large-layout.component.d.ts +8 -8
  303. package/src/lib/layout/fluid-layout/fluid-layout.component.d.ts +8 -8
  304. package/src/lib/layout/index.d.ts +5 -5
  305. package/src/lib/layout/medium-layout/medium-layout.component.d.ts +8 -8
  306. package/src/lib/layout/public-api.d.ts +5 -6
  307. package/src/lib/layout/small-layout/small-layout.component.d.ts +8 -8
  308. package/src/lib/message/index.d.ts +5 -5
  309. package/src/lib/message/message.component.d.ts +24 -24
  310. package/src/lib/message/public-api.d.ts +1 -2
  311. package/src/lib/modal/dialog/dialog.component.d.ts +61 -61
  312. package/src/lib/modal/dialog/dialog.types.d.ts +1 -1
  313. package/src/lib/modal/index.d.ts +5 -5
  314. package/src/lib/modal/modal.component.d.ts +54 -54
  315. package/src/lib/modal/modal.model.d.ts +3 -3
  316. package/src/lib/modal/public-api.d.ts +2 -3
  317. package/src/lib/navigation/index.d.ts +5 -5
  318. package/src/lib/navigation/models/navigation-models.d.ts +4 -0
  319. package/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.d.ts +7 -0
  320. package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +26 -9
  321. package/src/lib/navigation/navigation-external-link/navigation-external-link.component.d.ts +17 -15
  322. package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +45 -41
  323. package/src/lib/navigation/navigation-header/navigation-header.component.d.ts +11 -9
  324. package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +19 -17
  325. package/src/lib/navigation/navigation-separator/navigation-separator.component.d.ts +10 -8
  326. package/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.d.ts +11 -11
  327. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.d.ts +17 -17
  328. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.d.ts +1 -1
  329. package/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.d.ts +9 -9
  330. package/src/lib/navigation/navigation-user-profile/navigation-profile.model.d.ts +6 -6
  331. package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +34 -31
  332. package/src/lib/navigation/product-home/product-home.component.d.ts +32 -23
  333. package/src/lib/navigation/public-api.d.ts +13 -12
  334. package/src/lib/navigation/utils/navigation.utils.d.ts +2 -2
  335. package/src/lib/number-box/index.d.ts +5 -5
  336. package/src/lib/number-box/number-box.component.d.ts +83 -83
  337. package/src/lib/number-box/public-api.d.ts +1 -2
  338. package/src/lib/page-header/index.d.ts +5 -5
  339. package/src/lib/page-header/page-header.component.d.ts +11 -11
  340. package/src/lib/page-header/public-api.d.ts +1 -2
  341. package/src/lib/pane/index.d.ts +5 -5
  342. package/src/lib/pane/pane.component.d.ts +19 -19
  343. package/src/lib/pane/pane.model.d.ts +8 -8
  344. package/src/lib/pane/public-api.d.ts +2 -3
  345. package/src/lib/quick-info/index.d.ts +5 -5
  346. package/src/lib/quick-info/public-api.d.ts +1 -2
  347. package/src/lib/quick-info/quick-info.component.d.ts +43 -43
  348. package/src/lib/quick-info/quick-info.model.d.ts +9 -9
  349. package/src/lib/ripple/index.d.ts +5 -0
  350. package/src/lib/ripple/public-api.d.ts +1 -0
  351. package/src/lib/ripple/ripple.directive.d.ts +21 -0
  352. package/src/lib/ripple/sds-ripple.css +20 -0
  353. package/src/lib/segmented-control/index.d.ts +5 -5
  354. package/src/lib/segmented-control/public-api.d.ts +1 -2
  355. package/src/lib/segmented-control/segmented-control.component.d.ts +27 -21
  356. package/src/lib/side-bar/index.d.ts +5 -5
  357. package/src/lib/side-bar/public-api.d.ts +1 -2
  358. package/src/lib/side-bar/side-bar.component.d.ts +24 -74
  359. package/src/lib/static-value/index.d.ts +5 -5
  360. package/src/lib/static-value/public-api.d.ts +1 -2
  361. package/src/lib/static-value/static-value.component.d.ts +12 -12
  362. package/src/lib/table-actions/index.d.ts +5 -5
  363. package/src/lib/table-actions/public-api.d.ts +1 -2
  364. package/src/lib/table-actions/table-actions.component.d.ts +16 -16
  365. package/src/lib/timeline/components/timeline.component.d.ts +206 -198
  366. package/src/lib/timeline/index.d.ts +5 -5
  367. package/src/lib/timeline/models/timeline.model.d.ts +38 -38
  368. package/src/lib/timeline/public-api.d.ts +1 -2
  369. package/src/lib/timeline/services/timeline.service.d.ts +24 -21
  370. package/src/lib/timeline/types/timeline.types.d.ts +2 -2
  371. package/src/lib/timer/index.d.ts +5 -5
  372. package/src/lib/timer/public-api.d.ts +2 -3
  373. package/src/lib/timer/services/index.d.ts +1 -1
  374. package/src/lib/timer/services/timer.service.d.ts +78 -78
  375. package/src/lib/timer/utils/index.d.ts +1 -1
  376. package/src/lib/timer/utils/timer.utils.d.ts +61 -61
  377. package/src/lib/tooltip/components/tooltip.component.d.ts +18 -18
  378. package/src/lib/tooltip/index.d.ts +5 -5
  379. package/src/lib/tooltip/public-api.d.ts +1 -2
  380. package/src/lib/tooltip/tooltip.directive.d.ts +36 -36
  381. package/src/lib/tooltip/tooltip.types.d.ts +2 -2
  382. package/src/lib/tooltip/utils/index.d.ts +1 -1
  383. package/src/lib/tooltip/utils/tooltip.utils.d.ts +5 -5
  384. package/src/lib/utils/date-time/date-time-format.function.d.ts +2 -0
  385. package/src/lib/utils/date-time/index.d.ts +5 -0
  386. package/src/lib/utils/date-time/intl-date-time-format-options-presets.d.ts +4 -0
  387. package/src/lib/utils/date-time/public-api.d.ts +2 -0
  388. package/src/lib/utils/index.d.ts +5 -0
  389. package/src/lib/utils/public-api.d.ts +1 -0
  390. package/esm2020/public-api.mjs +0 -34
  391. package/esm2020/src/lib/app-switcher/app-switcher.component.mjs +0 -107
  392. package/esm2020/src/lib/app-switcher/app-switcher.module.mjs +0 -36
  393. package/esm2020/src/lib/app-switcher/public-api.mjs +0 -4
  394. package/esm2020/src/lib/avatar/avatar-group.component.mjs +0 -80
  395. package/esm2020/src/lib/avatar/avatar.component.mjs +0 -162
  396. package/esm2020/src/lib/avatar/avatar.module.mjs +0 -41
  397. package/esm2020/src/lib/avatar/public-api.mjs +0 -5
  398. package/esm2020/src/lib/badge/badge.directive.mjs +0 -89
  399. package/esm2020/src/lib/badge/badge.module.mjs +0 -27
  400. package/esm2020/src/lib/badge/components/badge.component.mjs +0 -59
  401. package/esm2020/src/lib/callout/callout.component.mjs +0 -20
  402. package/esm2020/src/lib/callout/callout.module.mjs +0 -25
  403. package/esm2020/src/lib/color-picker/color-picker.component.mjs +0 -76
  404. package/esm2020/src/lib/color-picker/color-picker.module.mjs +0 -33
  405. package/esm2020/src/lib/date-picker/date-picker.component.mjs +0 -841
  406. package/esm2020/src/lib/date-picker/date-picker.model.mjs +0 -71
  407. package/esm2020/src/lib/date-picker/date-picker.module.mjs +0 -68
  408. package/esm2020/src/lib/date-picker/public-api.mjs +0 -4
  409. package/esm2020/src/lib/date-picker/sds-date-picker.service.mjs +0 -90
  410. package/esm2020/src/lib/date-pipes/date-compare.pipe.mjs +0 -31
  411. package/esm2020/src/lib/date-pipes/date-format.pipe.mjs +0 -73
  412. package/esm2020/src/lib/date-pipes/date-period-format.pipe.mjs +0 -44
  413. package/esm2020/src/lib/date-pipes/date-pipes.module.mjs +0 -43
  414. package/esm2020/src/lib/date-pipes/date-time-range-duration.pipe.mjs +0 -31
  415. package/esm2020/src/lib/date-pipes/date-time-range-format.pipe.mjs +0 -48
  416. package/esm2020/src/lib/drawer/drawer.component.mjs +0 -103
  417. package/esm2020/src/lib/drawer/drawer.module.mjs +0 -18
  418. package/esm2020/src/lib/duration-box/duration-box.component.mjs +0 -261
  419. package/esm2020/src/lib/duration-box/duration-box.module.mjs +0 -44
  420. package/esm2020/src/lib/duration-box/duration.service.mjs +0 -72
  421. package/esm2020/src/lib/duration-pipe/duration-format.pipe.mjs +0 -26
  422. package/esm2020/src/lib/duration-pipe/duration-pipe.module.mjs +0 -18
  423. package/esm2020/src/lib/ellipsis/directives/ellipsis.directive.mjs +0 -51
  424. package/esm2020/src/lib/ellipsis/ellipsis.module.mjs +0 -24
  425. package/esm2020/src/lib/expansion-panel/expansion-panel.component.mjs +0 -86
  426. package/esm2020/src/lib/expansion-panel/expansion-panel.module.mjs +0 -25
  427. package/esm2020/src/lib/highlight-text/directives/highlight-text.directive.mjs +0 -60
  428. package/esm2020/src/lib/highlight-text/highlight-text.module.mjs +0 -29
  429. package/esm2020/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +0 -29
  430. package/esm2020/src/lib/highlight-text/public-api.mjs +0 -4
  431. package/esm2020/src/lib/highlight-text/utils/highlight-text.utils.mjs +0 -97
  432. package/esm2020/src/lib/intersection/directives/intersection.directive.mjs +0 -51
  433. package/esm2020/src/lib/intersection/intersection.module.mjs +0 -20
  434. package/esm2020/src/lib/intersection/public-api.mjs +0 -4
  435. package/esm2020/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +0 -56
  436. package/esm2020/src/lib/keyboard-shortcut/keyboard-shortcut.module.mjs +0 -24
  437. package/esm2020/src/lib/layout/default-layout/default-layout.component.mjs +0 -15
  438. package/esm2020/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +0 -15
  439. package/esm2020/src/lib/layout/fluid-layout/fluid-layout.component.mjs +0 -15
  440. package/esm2020/src/lib/layout/layout.module.mjs +0 -47
  441. package/esm2020/src/lib/layout/medium-layout/medium-layout.component.mjs +0 -15
  442. package/esm2020/src/lib/layout/public-api.mjs +0 -7
  443. package/esm2020/src/lib/layout/small-layout/small-layout.component.mjs +0 -15
  444. package/esm2020/src/lib/message/message.component.mjs +0 -60
  445. package/esm2020/src/lib/message/message.module.mjs +0 -28
  446. package/esm2020/src/lib/modal/dialog/dialog.component.mjs +0 -187
  447. package/esm2020/src/lib/modal/modal.component.mjs +0 -147
  448. package/esm2020/src/lib/modal/modal.module.mjs +0 -43
  449. package/esm2020/src/lib/navigation/navigation-container/navigation-container.component.mjs +0 -17
  450. package/esm2020/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +0 -37
  451. package/esm2020/src/lib/navigation/navigation-group/navigation-group.component.mjs +0 -109
  452. package/esm2020/src/lib/navigation/navigation-header/navigation-header.component.mjs +0 -17
  453. package/esm2020/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +0 -33
  454. package/esm2020/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +0 -14
  455. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +0 -26
  456. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +0 -40
  457. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +0 -23
  458. package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +0 -99
  459. package/esm2020/src/lib/navigation/navigation.module.mjs +0 -107
  460. package/esm2020/src/lib/navigation/pipes/navigation-route-active.pipe.mjs +0 -30
  461. package/esm2020/src/lib/navigation/product-home/product-home.component.mjs +0 -54
  462. package/esm2020/src/lib/navigation/public-api.mjs +0 -13
  463. package/esm2020/src/lib/navigation/utils/navigation.utils.mjs +0 -48
  464. package/esm2020/src/lib/number-box/number-box.component.mjs +0 -138
  465. package/esm2020/src/lib/number-box/number-box.module.mjs +0 -28
  466. package/esm2020/src/lib/page-header/page-header.component.mjs +0 -25
  467. package/esm2020/src/lib/page-header/page-header.module.mjs +0 -19
  468. package/esm2020/src/lib/pane/pane.component.mjs +0 -43
  469. package/esm2020/src/lib/pane/pane.module.mjs +0 -28
  470. package/esm2020/src/lib/quick-info/quick-info.component.mjs +0 -116
  471. package/esm2020/src/lib/quick-info/quick-info.module.mjs +0 -33
  472. package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +0 -55
  473. package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +0 -29
  474. package/esm2020/src/lib/side-bar/side-bar.component.mjs +0 -109
  475. package/esm2020/src/lib/side-bar/side-bar.module.mjs +0 -28
  476. package/esm2020/src/lib/static-value/static-value.component.mjs +0 -25
  477. package/esm2020/src/lib/static-value/static-value.module.mjs +0 -28
  478. package/esm2020/src/lib/table-actions/table-actions.component.mjs +0 -42
  479. package/esm2020/src/lib/table-actions/table-actions.module.mjs +0 -32
  480. package/esm2020/src/lib/timeline/components/timeline.component.mjs +0 -364
  481. package/esm2020/src/lib/timeline/services/timeline.service.mjs +0 -120
  482. package/esm2020/src/lib/timeline/timeline.module.mjs +0 -24
  483. package/esm2020/src/lib/timer/services/timer.service.mjs +0 -99
  484. package/esm2020/src/lib/timer/timer.module.mjs +0 -34
  485. package/esm2020/src/lib/tooltip/components/tooltip.component.mjs +0 -22
  486. package/esm2020/src/lib/tooltip/tooltip.directive.mjs +0 -191
  487. package/esm2020/src/lib/tooltip/tooltip.module.mjs +0 -31
  488. package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -150
  489. package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
  490. package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -284
  491. package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
  492. package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
  493. package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
  494. package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
  495. package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
  496. package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
  497. package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
  498. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1071
  499. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
  500. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +0 -411
  501. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
  502. package/fesm2015/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
  503. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -379
  504. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
  505. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
  506. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
  507. package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -80
  508. package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
  509. package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
  510. package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
  511. package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +0 -215
  512. package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
  513. package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs +0 -127
  514. package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
  515. package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -85
  516. package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
  517. package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
  518. package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
  519. package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
  520. package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
  521. package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -378
  522. package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
  523. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -604
  524. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
  525. package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
  526. package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
  527. package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
  528. package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
  529. package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
  530. package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
  531. package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -155
  532. package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
  533. package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
  534. package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
  535. package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
  536. package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
  537. package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
  538. package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
  539. package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
  540. package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
  541. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -515
  542. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
  543. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs +0 -235
  544. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
  545. package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +0 -260
  546. package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
  547. package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -146
  548. package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
  549. package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -282
  550. package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
  551. package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
  552. package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
  553. package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
  554. package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
  555. package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
  556. package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
  557. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1064
  558. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
  559. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
  560. package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs +0 -125
  561. package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
  562. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -377
  563. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
  564. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
  565. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
  566. package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -79
  567. package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
  568. package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
  569. package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
  570. package/fesm2020/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
  571. package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
  572. package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -83
  573. package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
  574. package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
  575. package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
  576. package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
  577. package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
  578. package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -376
  579. package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
  580. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -604
  581. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
  582. package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
  583. package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
  584. package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
  585. package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
  586. package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
  587. package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
  588. package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -153
  589. package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
  590. package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
  591. package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
  592. package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
  593. package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
  594. package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
  595. package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
  596. package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
  597. package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
  598. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -511
  599. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
  600. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
  601. package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
  602. package/fesm2020/spicainternational-ngx-sds-components.mjs +0 -39
  603. package/fesm2020/spicainternational-ngx-sds-components.mjs.map +0 -1
  604. package/src/lib/app-switcher/app-switcher.module.d.ts +0 -11
  605. package/src/lib/avatar/avatar.module.d.ts +0 -11
  606. package/src/lib/badge/badge.module.d.ts +0 -9
  607. package/src/lib/callout/callout.module.d.ts +0 -8
  608. package/src/lib/color-picker/color-picker.module.d.ts +0 -10
  609. package/src/lib/date-picker/date-picker.module.d.ts +0 -12
  610. package/src/lib/date-pipes/date-pipes.module.d.ts +0 -12
  611. package/src/lib/drawer/drawer.module.d.ts +0 -8
  612. package/src/lib/duration-box/duration-box.module.d.ts +0 -10
  613. package/src/lib/duration-pipe/duration-pipe.module.d.ts +0 -8
  614. package/src/lib/ellipsis/ellipsis.module.d.ts +0 -8
  615. package/src/lib/expansion-panel/expansion-panel.module.d.ts +0 -15
  616. package/src/lib/highlight-text/highlight-text.module.d.ts +0 -9
  617. package/src/lib/intersection/intersection.module.d.ts +0 -8
  618. package/src/lib/keyboard-shortcut/keyboard-shortcut.module.d.ts +0 -8
  619. package/src/lib/layout/layout.module.d.ts +0 -13
  620. package/src/lib/message/message.module.d.ts +0 -9
  621. package/src/lib/modal/modal.module.d.ts +0 -12
  622. package/src/lib/navigation/navigation.module.d.ts +0 -28
  623. package/src/lib/navigation/pipes/navigation-route-active.pipe.d.ts +0 -7
  624. package/src/lib/number-box/number-box.module.d.ts +0 -9
  625. package/src/lib/page-header/page-header.module.d.ts +0 -8
  626. package/src/lib/pane/pane.module.d.ts +0 -9
  627. package/src/lib/quick-info/quick-info.module.d.ts +0 -10
  628. package/src/lib/segmented-control/segmented-control.module.d.ts +0 -9
  629. package/src/lib/side-bar/side-bar.module.d.ts +0 -9
  630. package/src/lib/static-value/static-value.module.d.ts +0 -9
  631. package/src/lib/table-actions/table-actions.module.d.ts +0 -10
  632. package/src/lib/timeline/timeline.module.d.ts +0 -8
  633. package/src/lib/timer/timer.module.d.ts +0 -10
  634. package/src/lib/tooltip/tooltip.module.d.ts +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-timeline.mjs","sources":["../../../projects/ngx-sds-components/src/lib/timeline/services/timeline.service.ts","../../../projects/ngx-sds-components/src/lib/timeline/components/timeline.component.ts","../../../projects/ngx-sds-components/src/lib/timeline/components/timeline.component.html","../../../projects/ngx-sds-components/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.ts"],"sourcesContent":["import { TimelineIntervalLabel, TimelineTick } from '../models/timeline.model';\r\nimport { TimelineCustomDateDataProvider, TimelineTickFrequency } from '../types/timeline.types';\r\n\r\nexport class SdsTimelineService {\r\n\r\n private startWithOffset: Date = new Date();\r\n private endWithOffset: Date = new Date();\r\n\r\n private start: Date = new Date();\r\n private end: Date = new Date();\r\n\r\n private cutOffset = true;\r\n\r\n\r\n private widthPercentPerMinute: number;\r\n\r\n private hourTicks: TimelineTick[] = [];\r\n\r\n \r\n constructor(start: Date, end: Date, offSetMinutes: number, cutOffset: boolean) {\r\n this.cutOffset = cutOffset;\r\n\r\n this.start = new Date(start);\r\n this.startWithOffset = new Date(start);\r\n this.startWithOffset.setMinutes(this.startWithOffset.getMinutes() - offSetMinutes);\r\n\r\n this.end = new Date(end);\r\n this.endWithOffset = new Date(end); \r\n this.endWithOffset.setMinutes(this.endWithOffset.getMinutes() + offSetMinutes);\r\n\r\n this.widthPercentPerMinute = (100 / this.diffInMinutes(this.startWithOffset, this.endWithOffset));\r\n\r\n this.initHourTicks();\r\n }\r\n\r\n public getX(time: Date): number {\r\n const trimmedTime = new Date(time);\r\n if (this.cutOffset) {\r\n if (trimmedTime < this.start) {\r\n trimmedTime.setTime(this.start.getTime());\r\n }\r\n if (trimmedTime > this.end) {\r\n trimmedTime.setTime(this.end.getTime());\r\n }\r\n }\r\n\r\n return this.diffInMinutes(this.startWithOffset, trimmedTime) * this.widthPercentPerMinute; \r\n }\r\n\r\n public getWidthFromMinutes(minutes: number): number {\r\n return minutes * this.widthPercentPerMinute;\r\n }\r\n\r\n public getWidthFromTime(start: Date, end: Date): number {\r\n const trimmedStart = new Date(start);\r\n if (this.cutOffset) {\r\n if (trimmedStart < this.start) {\r\n trimmedStart.setTime(this.start.getTime());\r\n } \r\n if (trimmedStart > this.end) {\r\n trimmedStart.setTime(this.end.getTime());\r\n }\r\n }\r\n\r\n const trimmedEnd = new Date(end);\r\n if (this.cutOffset) {\r\n if (trimmedEnd < this.start) {\r\n trimmedEnd.setTime(this.start.getTime());\r\n }\r\n if (trimmedEnd > this.end) {\r\n trimmedEnd.setTime(this.end.getTime());\r\n }\r\n }\r\n\r\n return this.getWidthFromMinutes(this.diffInMinutes(trimmedStart, trimmedEnd));\r\n }\r\n\r\n public getTick(time: Date): TimelineTick {\r\n return {\r\n date: new Date(time),\r\n x: this.getX(time),\r\n } \r\n }\r\n \r\n public getHourTicks(frequency: TimelineTickFrequency = 'hourly'): TimelineTick[] {\r\n return this.hourTicks.filter(tick => this.isValidFrequencyHour(tick.date.getHours(), frequency));\r\n }\r\n\r\n public getHourLabels(frequency: TimelineTickFrequency = 'hourly'): TimelineIntervalLabel[] {\r\n const hourLabels: TimelineIntervalLabel[] = [];\r\n\r\n const ticks = this.hourTicks.filter(tick => this.isValidFrequencyHour(tick.date.getHours(), frequency));\r\n ticks.forEach(tick => {\r\n let labelStartTime = new Date(tick.date);\r\n hourLabels.push(\r\n {\r\n x: this.getX(labelStartTime),\r\n width: 0,\r\n label: tick.date.getHours().toString(),\r\n date: new Date(labelStartTime),\r\n data: null\r\n });\r\n });\r\n return hourLabels;\r\n }\r\n\r\n public getDayLabels(\r\n locales: string | Array<string> | undefined, \r\n customDataFn: TimelineCustomDateDataProvider | undefined): TimelineIntervalLabel[] {\r\n const dayLabels = [];\r\n\r\n // get start date at the beginning of the day\r\n let startDate = new Date(this.startWithOffset);\r\n startDate.setHours(0, 0, 0, 0);\r\n\r\n // get end date at the end of the day\r\n let endDate = new Date(this.endWithOffset);\r\n endDate.setHours(23, 59, 59, 999);\r\n\r\n let currentDate = new Date(startDate);\r\n while (currentDate <= endDate) {\r\n let endOfCurrentDay = new Date(currentDate);\r\n endOfCurrentDay.setHours(23, 59, 59, 999);\r\n\r\n const dayLabelWidth = this.getWidthFromTime(currentDate, endOfCurrentDay);\r\n\r\n if (dayLabelWidth > 0) {\r\n dayLabels.push({\r\n // date: new Date(currentDate),\r\n x: this.getX(new Date(currentDate)),\r\n width: dayLabelWidth,\r\n label: currentDate.toLocaleDateString(locales ?? [], { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }),\r\n date: new Date(currentDate),\r\n data: customDataFn ? customDataFn(new Date(currentDate)) : null\r\n });\r\n }\r\n currentDate.setDate(currentDate.getDate() + 1); \r\n }\r\n return dayLabels;\r\n } \r\n\r\n //#region Private Methods\r\n\r\n private isValidFrequencyHour(hours: number, frequency: TimelineTickFrequency) {\r\n\r\n if (frequency === 'hourly') {\r\n return true; // every tick is valid\r\n } \r\n if (frequency === '2hrs') {\r\n return hours % 2 === 0;\r\n } \r\n if (frequency === '3hrs') {\r\n return hours % 3 === 0;\r\n } \r\n if (frequency === '6hrs') {\r\n return hours % 6 === 0;\r\n }\r\n return false; // unsupported frequency\r\n }\r\n\r\n private diffInMinutes(start: Date, end: Date): number {\r\n return (end.getTime() - start.getTime()) / (1000 * 60);;\r\n }\r\n\r\n private roundHoursUp(time: Date): Date {\r\n \r\n let newTime = new Date(time);\r\n \r\n if (newTime.getMinutes() > 0 || newTime.getSeconds() > 0 || newTime.getMilliseconds() > 0) {\r\n newTime.setHours(newTime.getHours() + 1);\r\n }\r\n newTime.setMinutes(0, 0, 0);\r\n return newTime;\r\n }\r\n\r\n\r\n private roundHoursDown(time: Date) {\r\n let newTime = new Date(time);\r\n newTime.setMinutes(0, 0, 0);\r\n return newTime;\r\n }\r\n \r\n\r\n private initHourTicks(): void {\r\n this.hourTicks = [];\r\n\r\n // get first whole hour from start date\r\n let startHour = this.roundHoursUp(this.startWithOffset);\r\n\r\n // get last whole hour from end date\r\n let endHour = this.roundHoursDown(this.endWithOffset);\r\n\r\n let currentHour = new Date(startHour)\r\n while (currentHour <= endHour) {\r\n this.hourTicks.push(this.getTick(currentHour));\r\n currentHour.setHours(currentHour.getHours() + 1);\r\n }\r\n }\r\n \r\n //#endregion\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n EventEmitter\r\n} from '@angular/core';\r\nimport { TimelineCustomDateDataProvider, TimelineTickFrequency } from '../types/timeline.types';\r\nimport { SdsTimelineService } from '../services/timeline.service';\r\nimport {\r\n TimelineIntervalLabel,\r\n TimelineItem,\r\n TimelineItemPresentation,\r\n TimelinePointInTimeItem,\r\n TimelinePointInTimeItemPresentation,\r\n TimelineTick,\r\n} from '../models/timeline.model';\r\nimport { NgIf, NgFor, NgStyle, NgTemplateOutlet, NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'sds-timeline',\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n standalone: true,\r\n imports: [\r\n NgIf,\r\n NgFor,\r\n NgStyle,\r\n NgClass,\r\n NgTemplateOutlet,\r\n ],\r\n})\r\nexport class SdsTimelineComponent implements OnInit, OnChanges, AfterViewInit {\r\n /**\r\n * The start date and time for the timeline.\r\n *\r\n * @type {Date}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() start: Date = new Date();\r\n\r\n /**\r\n * The end date and time for the timeline.\r\n *\r\n * @type {Date}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() end: Date = new Date();\r\n\r\n /**\r\n * The period based items to be displayed on the timeline. Specify data if you need \r\n * additional data for custom rendering of the items.\r\n *\r\n * @type {TimelineItem[]}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() items: TimelineItem[] = [];\r\n\r\n /**\r\n * Items to be displayed on the timeline at a specific point in time.\r\n * Specify data if you need additional data for custom rendering of the items.\r\n *\r\n * @type {TimelinePointInTimeItem[]}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() pointInTimeItems: TimelinePointInTimeItem[] = [];\r\n\r\n /**\r\n * The template to be used for custom rendering of the items.\r\n *\r\n * @type {(TemplateRef<any> | undefined)}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() itemTemplate: TemplateRef<any> | undefined = undefined;\r\n\r\n /**\r\n * The template to be used for custom rendering of the poin-in-time items.\r\n *\r\n * @type {(TemplateRef<any> | undefined)}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() pointInTimeTemplate: TemplateRef<any> | undefined = undefined;\r\n\r\n /**\r\n * The template to be used for custom rendering of the day labels.\r\n *\r\n * @type {(TemplateRef<any> | undefined)}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() dayLabelTemplate: TemplateRef<any> | undefined = undefined;\r\n \r\n /**\r\n * A custom data function for the day labels. \r\n * This function takes a Date object as input and returns any custom data that will be available for the custom template\r\n *\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() dayLabelCustomDataFn: TimelineCustomDateDataProvider | undefined = undefined;\r\n\r\n /**\r\n * The frequency of the ticks on the timeline.\r\n *\r\n * @type {TimelineTickFrequency}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() tickFrequency: TimelineTickFrequency = 'hourly';\r\n\r\n /**\r\n * The frequency of the hour labels on the timeline.\r\n *\r\n * @type {TimelineTickFrequency}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() hourLabelFrequency: TimelineTickFrequency = '3hrs';\r\n\r\n\r\n /**\r\n * The current zoom level of the timeline. In percent.\r\n *\r\n * @type {number}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() zoomPercent: number = 100;\r\n @Output() zoomPercentChange = new EventEmitter<number>();\r\n\r\n /**\r\n * Initial offset of the viewport in percent. This is used in scenarios \r\n * with multiple days when you want to show non-first day as defult.\r\n *\r\n * @type {number}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() viewOffsetPercent: number = 0;\r\n @Output() viewOffsetPercentChange = new EventEmitter<number>();\r\n\r\n /**\r\n * The maximum allowed zoom level of the timeline. In percent.\r\n *\r\n * @type {number}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() maxZoomPercent: number = 500;\r\n\r\n /**\r\n * Whether to show hour labels.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() showHourLabels: boolean = true;\r\n\r\n /**\r\n * The CSS class to be applied to the hour labels.\r\n *\r\n * @type {string}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() hourLabelClass?: string;\r\n\r\n /**\r\n * Whether to show day labels. \r\n *\r\n * @type {boolean}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() showDayLabels: boolean = false;\r\n\r\n /**\r\n * The CSS class to be applied to the day labels.\r\n *\r\n * @type {string}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() dayLabelClass?: string;\r\n\r\n /**\r\n * Whether to show timeline. Useful for hiding the timeline when we only need header.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() showTimeline: boolean = true; \r\n\r\n /**\r\n * The CSS class to be applied to the hour ticks.\r\n *\r\n * @type {string}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() hourTickClass?: string;\r\n\r\n /**\r\n * The height of the timeline. Default is 2rem.\r\n *\r\n * @type {string}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() timelineHeight: string = '2rem';\r\n\r\n /**\r\n * Whether to enable zoom and drag functionality.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() enableZoomAndDrag: boolean = true;\r\n\r\n /**\r\n * Number of minutes added to start and stop to fit the data on the edges\r\n *\r\n * @type {number}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() offSetMinutes: number = 15;\r\n\r\n /**\r\n * The locales to be used for formatting the timeline.\r\n *\r\n * @type {(string | Array<string>)}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() locales?: string | Array<string>;\r\n\r\n /**\r\n * Control if those parts of segments (or whole segments) that fall into the Offset \r\n * period are displayed or not\r\n *\r\n * @type {boolean}\r\n * @memberof SdsTimelineComponent\r\n */\r\n @Input() cutOffset: boolean = false;\r\n\r\n // protected\r\n hourTicks: TimelineTick[] = [];\r\n hourLabels: TimelineIntervalLabel[] = [];\r\n dayLabels: TimelineIntervalLabel[] = [];\r\n\r\n private _timelineService: SdsTimelineService = new SdsTimelineService(\r\n this.start,\r\n this.end,\r\n this.offSetMinutes,\r\n this.cutOffset\r\n );\r\n\r\n public presentationItems: TimelineItemPresentation[] = [];\r\n public presentationPointInTimeItems: TimelinePointInTimeItemPresentation[] = [];\r\n\r\n public isDragging = false;\r\n public initialDragX = 0;\r\n\r\n private viewOffsetPercentDragStart = 0;\r\n\r\n @ViewChild('viewport', { static: true }) _viewport: ElementRef | undefined;\r\n\r\n constructor() {}\r\n\r\n ngAfterViewInit(): void {\r\n this.generateTicks();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.start && this.end) {\r\n this._timelineService = new SdsTimelineService(\r\n this.start,\r\n this.end,\r\n this.offSetMinutes,\r\n this.cutOffset\r\n );\r\n this.generateTicks();\r\n this.generateInternalTimelineItems();\r\n }\r\n\r\n if (changes['start'] || changes['end'] || changes['offSetMinutes'] || changes['cutOffset']) {\r\n this._timelineService = new SdsTimelineService(\r\n this.start,\r\n this.end,\r\n this.offSetMinutes,\r\n this.cutOffset\r\n );\r\n this.generateTicks();\r\n this.generateInternalTimelineItems(); \r\n }\r\n\r\n if (changes['items']) {\r\n this.generateInternalTimelineItems();\r\n }\r\n\r\n if (changes['pointInTimeItems']) {\r\n this.generateInternalTimelinePointInTimeItems();\r\n }\r\n\r\n if (changes['zoomPercent']) {\r\n // this.viewOffsetPercent = (this.zoomPercent - 100) / -2;\r\n }\r\n\r\n if (changes['showDayLabels'] || changes['showHourLabels']) {\r\n this.generateTicks();\r\n } \r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n //#region mouse wheel zoom\r\n onScroll(event: WheelEvent): void {\r\n if (this.enableZoomAndDrag) {\r\n\r\n event.preventDefault();\r\n\r\n const delta = Math.sign(event.deltaY);\r\n const newZoomPercent = Math.min(\r\n Math.max(this.zoomPercent + -delta * 20, 100),\r\n this.maxZoomPercent\r\n );\r\n const deltaZoomPercent = newZoomPercent - this.zoomPercent;\r\n this.zoomPercent = newZoomPercent;\r\n this.zoomPercentChange.emit(this.zoomPercent);\r\n \r\n // get the relative position of the cursor on the viewport so we can zoom in into this position\r\n const x = event.clientX - this._viewport?.nativeElement.getBoundingClientRect().left;\r\n const cursorRelativePosition = x / this._viewport?.nativeElement.getBoundingClientRect().width;\r\n // this.viewOffsetPercent = this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition;\r\n\r\n this.constrainOffset(this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region dragging\r\n \r\n public onDragStart(event: MouseEvent | TouchEvent): void {\r\n if (this.enableZoomAndDrag && this.zoomPercent > 100) {\r\n event.preventDefault();\r\n this.isDragging = true;\r\n this.viewOffsetPercentDragStart = this.viewOffsetPercent;\r\n\r\n if (event instanceof MouseEvent) {\r\n this.initialDragX = event.clientX;\r\n } else if (event instanceof TouchEvent) {\r\n this.initialDragX = event.touches[0].clientX;\r\n }\r\n }\r\n }\r\n\r\n @HostListener('window:mousemove', ['$event'])\r\n public onDragMove(event: MouseEvent): void {\r\n if (this.enableZoomAndDrag) {\r\n if (this.isDragging) {\r\n const currentX = event.clientX;\r\n this.moveElement(currentX);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('window:touchmove', ['$event'])\r\n onDragMoveTouch(event: TouchEvent): void {\r\n if (this.enableZoomAndDrag) {\r\n if (this.isDragging) {\r\n const currentX = event.touches[0].clientX;\r\n this.moveElement(currentX);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('window:mouseup', ['$event'])\r\n @HostListener('window:touchend', ['$event'])\r\n public onDragEnd(event: MouseEvent | TouchEvent): void {\r\n if (this.enableZoomAndDrag) {\r\n this.isDragging = false;\r\n }\r\n }\r\n\r\n private moveElement(currentX: number): void {\r\n const diff = currentX - this.initialDragX;\r\n if (this._viewport && this._viewport.nativeElement) {\r\n const diffInPercent = (diff / this._viewport?.nativeElement.getBoundingClientRect().width) * 100;\r\n // this.viewOffsetPercent = this.viewOffsetPercentDragStart + diffInPercent;\r\n this.constrainOffset(this.viewOffsetPercentDragStart + diffInPercent);\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n private constrainOffset(newOffset: number): void { \r\n if (this.zoomPercent + newOffset < 100) {\r\n newOffset = -this.zoomPercent + 100;\r\n }\r\n newOffset = Math.min(0, newOffset);\r\n if (newOffset != this.viewOffsetPercent) {\r\n this.viewOffsetPercent = newOffset;\r\n this.viewOffsetPercentChange.emit(this.viewOffsetPercent);\r\n }\r\n }\r\n\r\n private generateTicks(): void {\r\n this.hourTicks = this._timelineService.getHourTicks(this.tickFrequency);\r\n this.dayLabels = this._timelineService.getDayLabels(this.locales, this.dayLabelCustomDataFn);\r\n this.hourLabels = this._timelineService.getHourLabels(this.hourLabelFrequency);\r\n }\r\n\r\n private generateInternalTimelineItems(): void {\r\n const cuttOffStart = this.cutOffset ? this.start : new Date(this.start.getTime() - this.offSetMinutes * 60000);\r\n const cuttOffEnd = this.cutOffset ? this.end : new Date(this.end.getTime() + this.offSetMinutes * 60000);\r\n\r\n this.presentationItems = this.items\r\n .filter((item) => item.end < cuttOffStart || item.start > cuttOffEnd ? false : true)\r\n .map((item) => {\r\n const startTime = new Date(item.start).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\r\n const endTime = new Date(item.end).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\r\n const timeRange = `${startTime} - ${endTime}`;\r\n \r\n return {\r\n data: item.data,\r\n x: this._timelineService.getX(item.start),\r\n width: this._timelineService.getWidthFromTime(\r\n item.start,\r\n item.end\r\n ),\r\n hint: item.hint ?? timeRange,\r\n backgroundColor: item.backgroundColor,\r\n top: item.top ?? '50%',\r\n height: item.height ?? '60%',\r\n class: item.class,\r\n };\r\n });\r\n }\r\n\r\n\r\n private generateInternalTimelinePointInTimeItems(): void {\r\n const cuttOffStart = this.cutOffset ? this.start : new Date(this.start.getTime() - this.offSetMinutes * 60000);\r\n const cuttOffEnd = this.cutOffset ? this.end : new Date(this.end.getTime() + this.offSetMinutes * 60000);\r\n\r\n this.presentationPointInTimeItems = this.pointInTimeItems\r\n .filter((item) => item.date < cuttOffStart || item.date > cuttOffEnd ? false : true)\r\n .map((item) => {\r\n\r\n const timePointString = new Date(item.date).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\r\n\r\n return {\r\n data: item.data,\r\n x: this._timelineService.getX(item.date),\r\n hint: item.hint ?? timePointString,\r\n top: item.top ?? '20%',\r\n height: item.height ?? '1rem',\r\n width: item.width ?? '1rem',\r\n class: item.class,\r\n backgroundColor: item.backgroundColor,\r\n };\r\n });\r\n }\r\n}\r\n","<ng-template #defaultItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item h-100\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\r\n {{label.label}}\r\n</ng-template>\r\n\r\n<div \r\n #viewport\r\n class=\"sds-timeline-viewport\"\r\n (wheel)=\"onScroll($event)\"\r\n\r\n (mousedown)=\"onDragStart($event)\"\r\n (touchstart)=\"onDragStart($event)\"\r\n >\r\n\r\n <div \r\n class=\"sds-timeline-container d-flex flex-column\"\r\n [style.left.%]=\"viewOffsetPercent\"\r\n [style.width.%]=\"zoomPercent\"\r\n [style.cursor]=\"isDragging ? 'ew-resize' : 'default'\"\r\n >\r\n\r\n <div\r\n *ngIf=\"showDayLabels\" \r\n class=\"sds-timeline-day-header\">\r\n\r\n <div \r\n *ngFor=\"let label of dayLabels\"\r\n class=\"sds-day-label\" \r\n [ngClass]=\"dayLabelClass ?? null\"\r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n <ng-container \r\n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{label: label}\">\r\n </ng-container> \r\n </div>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"showHourLabels\" \r\n class=\"sds-timeline-hour-header\">\r\n\r\n <div \r\n *ngFor=\"let label of hourLabels;\"\r\n class=\"sds-hour-label\" \r\n [ngClass]=\"hourLabelClass ?? null\"\r\n [style.left.%]=\"label.x\"\r\n [style.width.rem]=\"1.2\"\r\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\r\n >\r\n \r\n {{label.label}}\r\n \r\n </div>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"showTimeline\"\r\n class=\"sds-timeline flex-grow-1\"\r\n [style.height]=\"timelineHeight\"\r\n >\r\n\r\n <div \r\n *ngFor=\"let tick of hourTicks\"\r\n class=\"sds-timeline-tick\" \r\n [ngClass]=\"hourTickClass ?? null\"\t\r\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\r\n >\r\n </div>\r\n\r\n <div \r\n *ngFor=\"let item of presentationItems\"\r\n class=\"sds-timeline-item-container\"\r\n [ngClass]=\"item.class ?? null\"\r\n [ngStyle]=\"{\r\n 'width': 'max(' + item.width +'%, 1px)',\r\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \r\n }\"\r\n\r\n [style.left.%]=\"item.x\"\r\n [style.height]=\"item.height\"\r\n [style.backgroundColor]=\"item.backgroundColor\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n </div>\r\n\r\n\r\n <!-- [ngClass]=\"item.class\"\t -->\r\n <div *ngFor=\"let item of presentationPointInTimeItems\"\r\n class=`sds-timeline-point-in-time-item-container ${item.class}`\r\n [style.height]=\"item.height\"\r\n [style.width]=\"item.width\"\r\n [ngStyle]=\"{\r\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \r\n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\r\n \r\n }\"\r\n [style.backgroundColor]=\"item.backgroundColor\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,233 +1,202 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule, Optional, SkipSelf } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
2
+ import { Injectable } from '@angular/core';
4
3
  import { BehaviorSubject, interval } from 'rxjs';
5
4
  import { skip, debounceTime } from 'rxjs/operators';
6
5
 
7
- /**
8
- * @public @function timeToNextFifteenMinutesInterval
9
- * @description
10
- * Function responsible for calc of time until next fifteen minutes interval. By fifteen minutes interval
11
- * we mean (e.g. 08:15, 08:30, 08:45,...)
12
- * @param { number } currentTimestampMs
13
- * @returns { number }
14
- */
15
- const timeToNextFifteenMinutesInterval = (currentTimestamp) => {
16
- const timestampSeconds = currentTimestamp / 1000;
17
- const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 900;
18
- const numberOfSecondsToTheNextInterval = 900 - numberOfSecondsIntoTheCurrentInterval;
19
- return numberOfSecondsToTheNextInterval;
20
- };
21
- /**
22
- * @public @function timeToNextFiveMinutesInterval
23
- * @description
24
- * Function responsible for calc of time until next five minutes interval. By five minutes interval
25
- * we mean (e.g. 08:05, 08:10, 08:15,...)
26
- * @param { number } currentTimestampMs
27
- * @returns { number }
28
- */
29
- const timeToNextFiveMinutesInterval = (currentTimestamp) => {
30
- const timestampSeconds = currentTimestamp / 1000;
31
- const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 300;
32
- const numberOfSecondsToTheNextInterval = 300 - numberOfSecondsIntoTheCurrentInterval;
33
- return numberOfSecondsToTheNextInterval;
34
- };
35
- /**
36
- * @public @function timeToNextHour
37
- * @description
38
- * Function responsible for calc of time until next hour
39
- * @param { number } currentTimestampMs
40
- * @returns { number }
41
- */
42
- const timeToNextHour = (currentTimestamp) => {
43
- const timestampSeconds = currentTimestamp / 1000;
44
- const numberOfSecondsIntoTheCurrentHour = timestampSeconds % 3600;
45
- const numberOfSecondsToTheNextHour = 3600 - numberOfSecondsIntoTheCurrentHour;
46
- return numberOfSecondsToTheNextHour;
47
- };
48
- /**
49
- * @public @function timeToNextHalfHour
50
- * @description
51
- * Function responsible for calc of time until half hour
52
- * @param { number } currentTimestampMs
53
- * @returns { number }
54
- */
55
- const timeToNextHalfHour = (currentTimestamp) => {
56
- const timestampSeconds = currentTimestamp / 1000;
57
- const numberOfSecondsIntoTheCurrentHalfHour = timestampSeconds % 1800;
58
- const numberOfSecondsToTheNextHalfHour = 1800 - numberOfSecondsIntoTheCurrentHalfHour;
59
- return numberOfSecondsToTheNextHalfHour;
60
- };
61
- /**
62
- * @public @function timeToNextMinuteInterval
63
- * @description
64
- * Function responsible for calc of time until next minute interval. By minute interval
65
- * we mean (e.g. 08:00, 08:01, 08:02,...)
66
- * @param { number } currentTimestampMs
67
- * @returns { number }
68
- */
69
- const timeToNextMinuteInterval = (currentTimestamp) => {
70
- const timestampSeconds = currentTimestamp / 1000;
71
- const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 60;
72
- const numberOfSecondsToTheNextInterval = 60 - numberOfSecondsIntoTheCurrentInterval;
73
- return numberOfSecondsToTheNextInterval;
74
- };
75
- /**
76
- * @public @function timeToNextSecondInterval
77
- * @description
78
- * Function responsible for calc of time until next second interval. By second interval
79
- * we mean (e.g. 08:00:01, 08:00:01, 08:00:02,...)
80
- * @param { number } currentTimestampMs
81
- * @returns { number }
82
- */
83
- const timeToNextSecondInterval = (currentTimestamp) => {
84
- const timestampSeconds = currentTimestamp;
85
- const numberOfMilisecSecondsIntoTheCurrentInterval = timestampSeconds % 999;
86
- const numberOfMilisecondsSecondsToTheNextInterval = 999 - numberOfMilisecSecondsIntoTheCurrentInterval;
87
- return numberOfMilisecondsSecondsToTheNextInterval;
88
- };
89
- /**
90
- * @public @function timeToNextTenMinutesInterval
91
- * @description
92
- * Function responsible for calc of time until next ten minutes interval. By ten minutes interval
93
- * we mean (e.g. 08:10, 08:20, 08:30,...)
94
- * @param { number } currentTimestampMs
95
- * @returns { number }
96
- */
97
- const timeToNextTenMinutesInterval = (currentTimestamp) => {
98
- const timestampSeconds = currentTimestamp / 1000;
99
- const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 600;
100
- const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;
101
- return numberOfSecondsToTheNextInterval;
6
+ /**
7
+ * @public @function timeToNextFifteenMinutesInterval
8
+ * @description
9
+ * Function responsible for calc of time until next fifteen minutes interval. By fifteen minutes interval
10
+ * we mean (e.g. 08:15, 08:30, 08:45,...)
11
+ * @param { number } currentTimestampMs
12
+ * @returns { number }
13
+ */
14
+ const timeToNextFifteenMinutesInterval = (currentTimestamp) => {
15
+ const timestampSeconds = currentTimestamp / 1000;
16
+ const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 900;
17
+ const numberOfSecondsToTheNextInterval = 900 - numberOfSecondsIntoTheCurrentInterval;
18
+ return numberOfSecondsToTheNextInterval;
19
+ };
20
+ /**
21
+ * @public @function timeToNextFiveMinutesInterval
22
+ * @description
23
+ * Function responsible for calc of time until next five minutes interval. By five minutes interval
24
+ * we mean (e.g. 08:05, 08:10, 08:15,...)
25
+ * @param { number } currentTimestampMs
26
+ * @returns { number }
27
+ */
28
+ const timeToNextFiveMinutesInterval = (currentTimestamp) => {
29
+ const timestampSeconds = currentTimestamp / 1000;
30
+ const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 300;
31
+ const numberOfSecondsToTheNextInterval = 300 - numberOfSecondsIntoTheCurrentInterval;
32
+ return numberOfSecondsToTheNextInterval;
33
+ };
34
+ /**
35
+ * @public @function timeToNextHour
36
+ * @description
37
+ * Function responsible for calc of time until next hour
38
+ * @param { number } currentTimestampMs
39
+ * @returns { number }
40
+ */
41
+ const timeToNextHour = (currentTimestamp) => {
42
+ const timestampSeconds = currentTimestamp / 1000;
43
+ const numberOfSecondsIntoTheCurrentHour = timestampSeconds % 3600;
44
+ const numberOfSecondsToTheNextHour = 3600 - numberOfSecondsIntoTheCurrentHour;
45
+ return numberOfSecondsToTheNextHour;
46
+ };
47
+ /**
48
+ * @public @function timeToNextHalfHour
49
+ * @description
50
+ * Function responsible for calc of time until half hour
51
+ * @param { number } currentTimestampMs
52
+ * @returns { number }
53
+ */
54
+ const timeToNextHalfHour = (currentTimestamp) => {
55
+ const timestampSeconds = currentTimestamp / 1000;
56
+ const numberOfSecondsIntoTheCurrentHalfHour = timestampSeconds % 1800;
57
+ const numberOfSecondsToTheNextHalfHour = 1800 - numberOfSecondsIntoTheCurrentHalfHour;
58
+ return numberOfSecondsToTheNextHalfHour;
59
+ };
60
+ /**
61
+ * @public @function timeToNextMinuteInterval
62
+ * @description
63
+ * Function responsible for calc of time until next minute interval. By minute interval
64
+ * we mean (e.g. 08:00, 08:01, 08:02,...)
65
+ * @param { number } currentTimestampMs
66
+ * @returns { number }
67
+ */
68
+ const timeToNextMinuteInterval = (currentTimestamp) => {
69
+ const timestampSeconds = currentTimestamp / 1000;
70
+ const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 60;
71
+ const numberOfSecondsToTheNextInterval = 60 - numberOfSecondsIntoTheCurrentInterval;
72
+ return numberOfSecondsToTheNextInterval;
73
+ };
74
+ /**
75
+ * @public @function timeToNextSecondInterval
76
+ * @description
77
+ * Function responsible for calc of time until next second interval. By second interval
78
+ * we mean (e.g. 08:00:01, 08:00:01, 08:00:02,...)
79
+ * @param { number } currentTimestampMs
80
+ * @returns { number }
81
+ */
82
+ const timeToNextSecondInterval = (currentTimestamp) => {
83
+ const timestampSeconds = currentTimestamp;
84
+ const numberOfMilisecSecondsIntoTheCurrentInterval = timestampSeconds % 999;
85
+ const numberOfMilisecondsSecondsToTheNextInterval = 999 - numberOfMilisecSecondsIntoTheCurrentInterval;
86
+ return numberOfMilisecondsSecondsToTheNextInterval;
87
+ };
88
+ /**
89
+ * @public @function timeToNextTenMinutesInterval
90
+ * @description
91
+ * Function responsible for calc of time until next ten minutes interval. By ten minutes interval
92
+ * we mean (e.g. 08:10, 08:20, 08:30,...)
93
+ * @param { number } currentTimestampMs
94
+ * @returns { number }
95
+ */
96
+ const timeToNextTenMinutesInterval = (currentTimestamp) => {
97
+ const timestampSeconds = currentTimestamp / 1000;
98
+ const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 600;
99
+ const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;
100
+ return numberOfSecondsToTheNextInterval;
102
101
  };
103
102
 
104
- class TimerService {
105
- constructor() {
106
- /**
107
- * @description
108
- * Source for fifteen minute interval
109
- */
110
- this._fifteenMinutesInterval = new BehaviorSubject(undefined);
111
- /**
112
- * @description
113
- * Source for five minute interval
114
- */
115
- this._fiveMinutesInterval = new BehaviorSubject(undefined);
116
- /**
117
- * @description
118
- * Source for half hour interval
119
- */
120
- this._fullHourInterval = new BehaviorSubject(undefined);
121
- /**
122
- * @description
123
- * Source for half hour interval
124
- */
125
- this._halfHourInterval = new BehaviorSubject(undefined);
126
- /**
127
- * @description
128
- * Source for minute interval
129
- */
130
- this._minuteInterval = new BehaviorSubject(undefined);
131
- /**
132
- * @description
133
- * Source for secong interval
134
- */
135
- this._secondsInterval = new BehaviorSubject(undefined);
136
- /**
137
- * @description
138
- * Source for ten minutes interval
139
- */
140
- this._tenMinutesInterval = new BehaviorSubject(undefined);
141
- this._subscriptions = [];
142
- this.fifteenMinutesInterval$ = this._fifteenMinutesInterval.asObservable().pipe(skip(1));
143
- this.fiveMinutesInterval$ = this._fiveMinutesInterval.asObservable().pipe(skip(1));
144
- this.fullHourInterval$ = this._fullHourInterval.asObservable().pipe(skip(1));
145
- this.halfHourInterval$ = this._halfHourInterval.asObservable().pipe(skip(1));
146
- this.minuteInterval$ = this._minuteInterval.asObservable().pipe().pipe(skip(1));
147
- this.secondsInterval$ = this._secondsInterval.asObservable().pipe(skip(1));
148
- this.tenMinutesInterval$ = this._tenMinutesInterval.asObservable().pipe(skip(1));
149
- const timeOffsetToFullSecond = timeToNextSecondInterval(new Date().getTime());
150
- // This observable will invoke each second while app is running
151
- const ticksSubscription = interval(1000).pipe(debounceTime(timeOffsetToFullSecond)).subscribe(intervalTick => {
152
- const now = new Date().getTime();
153
- const timeRemainingToNextMinuteInterval = timeToNextMinuteInterval(now);
154
- const timeRemaingingToNextFiveMinutesInterval = timeToNextFiveMinutesInterval(now);
155
- const timeRemainingToNextTenMinutesInterval = timeToNextTenMinutesInterval(now);
156
- const timeRemainingToNextFifteenMinutesInterval = timeToNextFifteenMinutesInterval(now);
157
- const timeRemainingToNextFullHour = timeToNextHour(now);
158
- const timeRemainingToNextHalfHour = timeToNextHalfHour(now);
159
- this._secondsInterval.next();
160
- // Check if its minute tick
161
- if (timeRemainingToNextMinuteInterval > 59) {
162
- this._minuteInterval.next();
163
- }
164
- // Check if its five minute interval tick
165
- if (timeRemaingingToNextFiveMinutesInterval > 299) {
166
- this._fiveMinutesInterval.next();
167
- }
168
- // Check if its ten minute interval
169
- if (timeRemainingToNextTenMinutesInterval > 599) {
170
- this._tenMinutesInterval.next();
171
- }
172
- // Check if its fifteen minute interval
173
- if (timeRemainingToNextFifteenMinutesInterval > 899) {
174
- this._fifteenMinutesInterval.next();
175
- }
176
- // Check if its half hour tick
177
- if (timeRemainingToNextHalfHour > 1799) {
178
- this._halfHourInterval.next();
179
- }
180
- // Check if its full hour tick
181
- if (timeRemainingToNextFullHour > 3599) {
182
- this._fullHourInterval.next();
183
- }
184
- // Define any additional intervals that might be needed
185
- });
186
- this._subscriptions.push(ticksSubscription);
187
- }
188
- }
189
- TimerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
190
- TimerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimerService, providedIn: 'root' });
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimerService, decorators: [{
192
- type: Injectable,
193
- args: [{
194
- providedIn: 'root'
195
- }]
196
- }], ctorParameters: function () { return []; } });
197
-
198
- class SdsTimerModule {
199
- static forRoot() {
200
- return {
201
- ngModule: SdsTimerModule,
202
- providers: [TimerService]
203
- };
204
- }
205
- constructor(parentModule) {
206
- if (parentModule) {
207
- throw new Error('TimerModule is already loaded. Import it in the AppModule only');
208
- }
209
- }
210
- }
211
- SdsTimerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTimerModule, deps: [{ token: SdsTimerModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
212
- SdsTimerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SdsTimerModule, imports: [CommonModule] });
213
- SdsTimerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTimerModule, imports: [CommonModule] });
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTimerModule, decorators: [{
215
- type: NgModule,
216
- args: [{
217
- declarations: [],
218
- imports: [
219
- CommonModule
220
- ]
221
- }]
222
- }], ctorParameters: function () { return [{ type: SdsTimerModule, decorators: [{
223
- type: Optional
224
- }, {
225
- type: SkipSelf
226
- }] }]; } });
103
+ class SdsTimerService {
104
+ constructor() {
105
+ /**
106
+ * @description
107
+ * Source for fifteen minute interval
108
+ */
109
+ this._fifteenMinutesInterval = new BehaviorSubject(undefined);
110
+ /**
111
+ * @description
112
+ * Source for five minute interval
113
+ */
114
+ this._fiveMinutesInterval = new BehaviorSubject(undefined);
115
+ /**
116
+ * @description
117
+ * Source for half hour interval
118
+ */
119
+ this._fullHourInterval = new BehaviorSubject(undefined);
120
+ /**
121
+ * @description
122
+ * Source for half hour interval
123
+ */
124
+ this._halfHourInterval = new BehaviorSubject(undefined);
125
+ /**
126
+ * @description
127
+ * Source for minute interval
128
+ */
129
+ this._minuteInterval = new BehaviorSubject(undefined);
130
+ /**
131
+ * @description
132
+ * Source for secong interval
133
+ */
134
+ this._secondsInterval = new BehaviorSubject(undefined);
135
+ /**
136
+ * @description
137
+ * Source for ten minutes interval
138
+ */
139
+ this._tenMinutesInterval = new BehaviorSubject(undefined);
140
+ this._subscriptions = [];
141
+ this.fifteenMinutesInterval$ = this._fifteenMinutesInterval.asObservable().pipe(skip(1));
142
+ this.fiveMinutesInterval$ = this._fiveMinutesInterval.asObservable().pipe(skip(1));
143
+ this.fullHourInterval$ = this._fullHourInterval.asObservable().pipe(skip(1));
144
+ this.halfHourInterval$ = this._halfHourInterval.asObservable().pipe(skip(1));
145
+ this.minuteInterval$ = this._minuteInterval.asObservable().pipe().pipe(skip(1));
146
+ this.secondsInterval$ = this._secondsInterval.asObservable().pipe(skip(1));
147
+ this.tenMinutesInterval$ = this._tenMinutesInterval.asObservable().pipe(skip(1));
148
+ const timeOffsetToFullSecond = timeToNextSecondInterval(new Date().getTime());
149
+ // This observable will invoke each second while app is running
150
+ const ticksSubscription = interval(1000).pipe(debounceTime(timeOffsetToFullSecond)).subscribe(intervalTick => {
151
+ const now = new Date().getTime();
152
+ const timeRemainingToNextMinuteInterval = timeToNextMinuteInterval(now);
153
+ const timeRemaingingToNextFiveMinutesInterval = timeToNextFiveMinutesInterval(now);
154
+ const timeRemainingToNextTenMinutesInterval = timeToNextTenMinutesInterval(now);
155
+ const timeRemainingToNextFifteenMinutesInterval = timeToNextFifteenMinutesInterval(now);
156
+ const timeRemainingToNextFullHour = timeToNextHour(now);
157
+ const timeRemainingToNextHalfHour = timeToNextHalfHour(now);
158
+ this._secondsInterval.next();
159
+ // Check if its minute tick
160
+ if (timeRemainingToNextMinuteInterval > 59) {
161
+ this._minuteInterval.next();
162
+ }
163
+ // Check if its five minute interval tick
164
+ if (timeRemaingingToNextFiveMinutesInterval > 299) {
165
+ this._fiveMinutesInterval.next();
166
+ }
167
+ // Check if its ten minute interval
168
+ if (timeRemainingToNextTenMinutesInterval > 599) {
169
+ this._tenMinutesInterval.next();
170
+ }
171
+ // Check if its fifteen minute interval
172
+ if (timeRemainingToNextFifteenMinutesInterval > 899) {
173
+ this._fifteenMinutesInterval.next();
174
+ }
175
+ // Check if its half hour tick
176
+ if (timeRemainingToNextHalfHour > 1799) {
177
+ this._halfHourInterval.next();
178
+ }
179
+ // Check if its full hour tick
180
+ if (timeRemainingToNextFullHour > 3599) {
181
+ this._fullHourInterval.next();
182
+ }
183
+ // Define any additional intervals that might be needed
184
+ });
185
+ this._subscriptions.push(ticksSubscription);
186
+ }
187
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
188
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimerService, providedIn: 'root' }); }
189
+ }
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimerService, decorators: [{
191
+ type: Injectable,
192
+ args: [{
193
+ providedIn: 'root'
194
+ }]
195
+ }], ctorParameters: () => [] });
227
196
 
228
- /**
229
- * Generated bundle index. Do not edit.
197
+ /**
198
+ * Generated bundle index. Do not edit.
230
199
  */
231
200
 
232
- export { SdsTimerModule, TimerService, timeToNextFifteenMinutesInterval, timeToNextFiveMinutesInterval, timeToNextHalfHour, timeToNextHour, timeToNextMinuteInterval, timeToNextSecondInterval, timeToNextTenMinutesInterval };
201
+ export { SdsTimerService, timeToNextFifteenMinutesInterval, timeToNextFiveMinutesInterval, timeToNextHalfHour, timeToNextHour, timeToNextMinuteInterval, timeToNextSecondInterval, timeToNextTenMinutesInterval };
233
202
  //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-timer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-timer.mjs","sources":["../../../projects/ngx-sds-components/src/lib/timer/utils/timer.utils.ts","../../../projects/ngx-sds-components/src/lib/timer/services/timer.service.ts","../../../projects/ngx-sds-components/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.ts"],"sourcesContent":["/**\r\n * @public @function timeToNextFifteenMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next fifteen minutes interval. By fifteen minutes interval\r\n * we mean (e.g. 08:15, 08:30, 08:45,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextFifteenMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 900;\r\n\r\n const numberOfSecondsToTheNextInterval = 900 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextFiveMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next five minutes interval. By five minutes interval\r\n * we mean (e.g. 08:05, 08:10, 08:15,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextFiveMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 300;\r\n\r\n const numberOfSecondsToTheNextInterval = 300 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextHour\r\n * @description\r\n * Function responsible for calc of time until next hour\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextHour = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentHour = timestampSeconds % 3600;\r\n\r\n const numberOfSecondsToTheNextHour = 3600 - numberOfSecondsIntoTheCurrentHour;\r\n return numberOfSecondsToTheNextHour;\r\n };\r\n\r\n /**\r\n * @public @function timeToNextHalfHour\r\n * @description\r\n * Function responsible for calc of time until half hour\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextHalfHour = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentHalfHour = timestampSeconds % 1800;\r\n\r\n const numberOfSecondsToTheNextHalfHour = 1800 - numberOfSecondsIntoTheCurrentHalfHour;\r\n return numberOfSecondsToTheNextHalfHour;\r\n };\r\n\r\n/**\r\n * @public @function timeToNextMinuteInterval\r\n * @description\r\n * Function responsible for calc of time until next minute interval. By minute interval\r\n * we mean (e.g. 08:00, 08:01, 08:02,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextMinuteInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 60;\r\n\r\n const numberOfSecondsToTheNextInterval = 60 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextSecondInterval\r\n * @description\r\n * Function responsible for calc of time until next second interval. By second interval\r\n * we mean (e.g. 08:00:01, 08:00:01, 08:00:02,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextSecondInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp;\r\n\r\n const numberOfMilisecSecondsIntoTheCurrentInterval = timestampSeconds % 999;\r\n\r\n const numberOfMilisecondsSecondsToTheNextInterval = 999 - numberOfMilisecSecondsIntoTheCurrentInterval;\r\n return numberOfMilisecondsSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextTenMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next ten minutes interval. By ten minutes interval\r\n * we mean (e.g. 08:10, 08:20, 08:30,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextTenMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 600;\r\n\r\n const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscription, interval } from 'rxjs';\r\nimport { timeToNextFifteenMinutesInterval, timeToNextFiveMinutesInterval, timeToNextHalfHour, timeToNextHour, timeToNextMinuteInterval, timeToNextSecondInterval, timeToNextTenMinutesInterval } from '../utils';\r\nimport { debounceTime, skip } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdsTimerService {\r\n /**\r\n * @description\r\n * Timer emitted every 15 minutes (e.g. 08:00, 08:15, 08:30, etc.)\r\n */\r\n public fifteenMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 5 minutes (e.g. 08:00, 08:05, 08:10, etc.)\r\n */\r\n public fiveMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer that invokes each full hour\r\n */\r\n public fullHourInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 30 minutes at full and half hour (e.g. at 10:00, 10:30, 11:00, etc.)\r\n */\r\n public halfHourInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every minute (e.g. 08:00, 08:01, 08:02, etc.)\r\n */\r\n public minuteInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every second\r\n */\r\n public secondsInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 10 minutes (e.g. 08:00, 08:10, 08:20, etc.)\r\n */\r\n public tenMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Source for fifteen minute interval\r\n */\r\n private _fifteenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for five minute interval\r\n */\r\n private _fiveMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for half hour interval\r\n */\r\n private _fullHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\r\n undefined\r\n );\r\n\r\n /**\r\n * @description\r\n * Source for half hour interval\r\n */\r\n private _halfHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\r\n undefined\r\n );\r\n\r\n /**\r\n * @description\r\n * Source for minute interval\r\n */\r\n private _minuteInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for secong interval\r\n */\r\n private _secondsInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined);\r\n\r\n /**\r\n * @description\r\n * Source for ten minutes interval\r\n */\r\n private _tenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\nconstructor() {\r\n this.fifteenMinutesInterval$ = this._fifteenMinutesInterval.asObservable().pipe(skip(1));\r\n this.fiveMinutesInterval$ = this._fiveMinutesInterval.asObservable().pipe(skip(1));\r\n this.fullHourInterval$ = this._fullHourInterval.asObservable().pipe(skip(1));\r\n this.halfHourInterval$ = this._halfHourInterval.asObservable().pipe(skip(1));\r\n this.minuteInterval$ = this._minuteInterval.asObservable().pipe().pipe(skip(1));\r\n this.secondsInterval$ = this._secondsInterval.asObservable().pipe(skip(1));\r\n this.tenMinutesInterval$ = this._tenMinutesInterval.asObservable().pipe(skip(1));\r\n\r\n const timeOffsetToFullSecond = timeToNextSecondInterval(new Date().getTime())\r\n\r\n // This observable will invoke each second while app is running\r\n const ticksSubscription: Subscription = interval(1000).pipe(debounceTime(timeOffsetToFullSecond)).subscribe(\r\n intervalTick => {\r\n const now = new Date().getTime();\r\n\r\n const timeRemainingToNextMinuteInterval = timeToNextMinuteInterval(now);\r\n\r\n const timeRemaingingToNextFiveMinutesInterval = timeToNextFiveMinutesInterval(now);\r\n\r\n const timeRemainingToNextTenMinutesInterval = timeToNextTenMinutesInterval(now);\r\n\r\n const timeRemainingToNextFifteenMinutesInterval = timeToNextFifteenMinutesInterval(now);\r\n\r\n const timeRemainingToNextFullHour = timeToNextHour(\r\n now\r\n );\r\n\r\n const timeRemainingToNextHalfHour = timeToNextHalfHour(\r\n now\r\n );\r\n\r\n this._secondsInterval.next();\r\n\r\n // Check if its minute tick\r\n if (timeRemainingToNextMinuteInterval > 59) {\r\n this._minuteInterval.next();\r\n }\r\n\r\n // Check if its five minute interval tick\r\n if (timeRemaingingToNextFiveMinutesInterval > 299) {\r\n this._fiveMinutesInterval.next();\r\n }\r\n\r\n // Check if its ten minute interval\r\n if (timeRemainingToNextTenMinutesInterval > 599) {\r\n this._tenMinutesInterval.next();\r\n }\r\n\r\n // Check if its fifteen minute interval\r\n if (timeRemainingToNextFifteenMinutesInterval > 899) {\r\n this._fifteenMinutesInterval.next();\r\n }\r\n\r\n // Check if its half hour tick\r\n if (timeRemainingToNextHalfHour > 1799) {\r\n this._halfHourInterval.next();\r\n }\r\n\r\n // Check if its full hour tick\r\n if (timeRemainingToNextFullHour > 3599) {\r\n this._fullHourInterval.next();\r\n }\r\n\r\n // Define any additional intervals that might be needed\r\n }\r\n );\r\n\r\n this._subscriptions.push(ticksSubscription);\r\n}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}