@spicainternational/ngx-sds-components 8.8.0 → 9.0.0

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 (396) hide show
  1. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +6 -6
  2. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
  3. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +8 -8
  4. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
  5. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +7 -7
  6. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
  7. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +3 -3
  8. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
  9. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +4 -4
  10. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
  11. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +7 -7
  12. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  13. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +15 -15
  14. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
  15. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs +3 -3
  16. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -1
  17. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +7 -7
  18. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
  19. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +3 -3
  20. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
  21. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +3 -3
  22. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
  23. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +4 -4
  24. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
  25. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +6 -6
  26. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
  27. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs +7 -8
  28. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
  29. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +5 -6
  30. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
  31. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +20 -20
  32. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
  33. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +4 -4
  34. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
  35. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +11 -11
  36. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
  37. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +91 -91
  38. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  39. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +4 -4
  40. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
  41. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +4 -4
  42. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
  43. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +4 -4
  44. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
  45. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +4 -4
  46. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
  47. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs +3 -3
  48. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -1
  49. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +9 -9
  50. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
  51. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +6 -6
  52. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
  53. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +4 -4
  54. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
  55. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +5 -5
  56. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
  57. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +4 -4
  58. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
  59. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs +3 -3
  60. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
  61. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +7 -7
  62. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
  63. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -1
  64. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -1
  65. package/package.json +45 -113
  66. package/{src/lib/app-switcher/app-switcher.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-app-switcher.d.ts} +16 -4
  67. package/{src/lib/avatar/avatar.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-avatar.d.ts} +40 -3
  68. package/{src/lib/badge/badge.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-badge.d.ts} +9 -4
  69. package/{src/lib/callout/callout.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-callout.d.ts} +5 -2
  70. package/{src/lib/color-picker/color-picker.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-color-picker.d.ts} +8 -4
  71. package/{src/lib/date-picker/date-picker.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-date-picker.d.ts} +56 -10
  72. package/types/spicainternational-ngx-sds-components-src-lib-date-pipes.d.ts +82 -0
  73. package/{src/lib/drawer/drawer.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-drawer.d.ts} +5 -2
  74. package/{src/lib/duration-box/duration-box.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-duration-box.d.ts} +18 -5
  75. package/{src/lib/duration-pipe/duration-format.pipe.d.ts → types/spicainternational-ngx-sds-components-src-lib-duration-pipe.d.ts} +5 -2
  76. package/{src/lib/ellipsis/directives/ellipsis.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-ellipsis.d.ts} +5 -2
  77. package/{src/lib/expansion-panel/expansion-panel.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-expansion-panel.d.ts} +8 -3
  78. package/{src/lib/highlight-text/directives/highlight-text.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-highlight-text.d.ts} +15 -3
  79. package/types/spicainternational-ngx-sds-components-src-lib-intersection.d.ts +44 -0
  80. package/types/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.d.ts +20 -0
  81. package/types/spicainternational-ngx-sds-components-src-lib-layout.d.ts +39 -0
  82. package/{src/lib/message/message.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-message.d.ts} +6 -3
  83. package/types/spicainternational-ngx-sds-components-src-lib-modal.d.ts +127 -0
  84. package/types/spicainternational-ngx-sds-components-src-lib-navigation.d.ts +256 -0
  85. package/{src/lib/number-box/number-box.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-number-box.d.ts} +11 -7
  86. package/{src/lib/page-header/page-header.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-page-header.d.ts} +6 -3
  87. package/{src/lib/pane/pane.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-pane.d.ts} +17 -5
  88. package/{src/lib/quick-info/quick-info.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-quick-info.d.ts} +16 -4
  89. package/{src/lib/ripple/ripple.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-ripple.d.ts} +6 -3
  90. package/types/spicainternational-ngx-sds-components-src-lib-segmented-control.d.ts +45 -0
  91. package/types/spicainternational-ngx-sds-components-src-lib-side-bar.d.ts +33 -0
  92. package/{src/lib/static-value/static-value.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-static-value.d.ts} +5 -2
  93. package/{src/lib/table-actions/table-actions.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-table-actions.d.ts} +5 -2
  94. package/{src/lib/timeline/components/timeline.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-timeline.d.ts} +47 -5
  95. package/types/spicainternational-ngx-sds-components-src-lib-timer.d.ts +143 -0
  96. package/{src/lib/tooltip/tooltip.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-tooltip.d.ts} +9 -4
  97. package/types/spicainternational-ngx-sds-components-src-lib-utils-date-time.d.ts +9 -0
  98. package/types/spicainternational-ngx-sds-components-src-lib-utils.d.ts +9 -0
  99. package/esm2022/public-api.mjs +0 -36
  100. package/esm2022/spicainternational-ngx-sds-components.mjs +0 -5
  101. package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +0 -116
  102. package/esm2022/src/lib/app-switcher/app-switcher.model.mjs +0 -2
  103. package/esm2022/src/lib/app-switcher/public-api.mjs +0 -3
  104. package/esm2022/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -5
  105. package/esm2022/src/lib/avatar/avatar-group.component.mjs +0 -82
  106. package/esm2022/src/lib/avatar/avatar-group.model.mjs +0 -2
  107. package/esm2022/src/lib/avatar/avatar.component.mjs +0 -165
  108. package/esm2022/src/lib/avatar/public-api.mjs +0 -4
  109. package/esm2022/src/lib/avatar/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -5
  110. package/esm2022/src/lib/badge/badge.directive.mjs +0 -90
  111. package/esm2022/src/lib/badge/badge.types.mjs +0 -2
  112. package/esm2022/src/lib/badge/components/badge.component.mjs +0 -59
  113. package/esm2022/src/lib/badge/public-api.mjs +0 -2
  114. package/esm2022/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -5
  115. package/esm2022/src/lib/callout/callout.component.mjs +0 -20
  116. package/esm2022/src/lib/callout/public-api.mjs +0 -2
  117. package/esm2022/src/lib/callout/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -5
  118. package/esm2022/src/lib/color-picker/color-picker.component.mjs +0 -82
  119. package/esm2022/src/lib/color-picker/public-api.mjs +0 -2
  120. package/esm2022/src/lib/color-picker/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -5
  121. package/esm2022/src/lib/date-picker/date-picker.component.mjs +0 -893
  122. package/esm2022/src/lib/date-picker/date-picker.model.mjs +0 -71
  123. package/esm2022/src/lib/date-picker/public-api.mjs +0 -3
  124. package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +0 -90
  125. package/esm2022/src/lib/date-picker/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -5
  126. package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +0 -32
  127. package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +0 -31
  128. package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +0 -49
  129. package/esm2022/src/lib/date-pipes/date-time-formats.constants.mjs +0 -156
  130. package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +0 -33
  131. package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +0 -45
  132. package/esm2022/src/lib/date-pipes/public-api.mjs +0 -8
  133. package/esm2022/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +0 -5
  134. package/esm2022/src/lib/drawer/drawer.component.mjs +0 -103
  135. package/esm2022/src/lib/drawer/public-api.mjs +0 -2
  136. package/esm2022/src/lib/drawer/spicainternational-ngx-sds-components-src-lib-drawer.mjs +0 -5
  137. package/esm2022/src/lib/duration-box/duration-box.component.mjs +0 -279
  138. package/esm2022/src/lib/duration-box/duration-box.types.mjs +0 -2
  139. package/esm2022/src/lib/duration-box/duration.service.mjs +0 -72
  140. package/esm2022/src/lib/duration-box/public-api.mjs +0 -2
  141. package/esm2022/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -5
  142. package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +0 -27
  143. package/esm2022/src/lib/duration-pipe/public-api.mjs +0 -2
  144. package/esm2022/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -5
  145. package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +0 -52
  146. package/esm2022/src/lib/ellipsis/public-api.mjs +0 -2
  147. package/esm2022/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -5
  148. package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +0 -86
  149. package/esm2022/src/lib/expansion-panel/expansion-panel.types.mjs +0 -2
  150. package/esm2022/src/lib/expansion-panel/public-api.mjs +0 -2
  151. package/esm2022/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -5
  152. package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +0 -61
  153. package/esm2022/src/lib/highlight-text/directives/index.mjs +0 -2
  154. package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +0 -30
  155. package/esm2022/src/lib/highlight-text/pipes/index.mjs +0 -2
  156. package/esm2022/src/lib/highlight-text/public-api.mjs +0 -3
  157. package/esm2022/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +0 -5
  158. package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +0 -97
  159. package/esm2022/src/lib/highlight-text/utils/index.mjs +0 -2
  160. package/esm2022/src/lib/intersection/directives/index.mjs +0 -2
  161. package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +0 -52
  162. package/esm2022/src/lib/intersection/public-api.mjs +0 -3
  163. package/esm2022/src/lib/intersection/services/index.mjs +0 -2
  164. package/esm2022/src/lib/intersection/services/intersection.service.mjs +0 -54
  165. package/esm2022/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.mjs +0 -5
  166. package/esm2022/src/lib/keyboard-shortcut/directives/index.mjs +0 -2
  167. package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +0 -47
  168. package/esm2022/src/lib/keyboard-shortcut/public-api.mjs +0 -2
  169. package/esm2022/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -5
  170. package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +0 -15
  171. package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +0 -15
  172. package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +0 -15
  173. package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +0 -15
  174. package/esm2022/src/lib/layout/public-api.mjs +0 -6
  175. package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +0 -15
  176. package/esm2022/src/lib/layout/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -5
  177. package/esm2022/src/lib/message/message.component.mjs +0 -60
  178. package/esm2022/src/lib/message/public-api.mjs +0 -2
  179. package/esm2022/src/lib/message/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -5
  180. package/esm2022/src/lib/modal/dialog/dialog.component.mjs +0 -187
  181. package/esm2022/src/lib/modal/dialog/dialog.types.mjs +0 -2
  182. package/esm2022/src/lib/modal/modal.component.mjs +0 -159
  183. package/esm2022/src/lib/modal/modal.model.mjs +0 -2
  184. package/esm2022/src/lib/modal/public-api.mjs +0 -3
  185. package/esm2022/src/lib/modal/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -5
  186. package/esm2022/src/lib/navigation/models/navigation-models.mjs +0 -2
  187. package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +0 -17
  188. package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +0 -58
  189. package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +0 -33
  190. package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +0 -220
  191. package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +0 -21
  192. package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +0 -73
  193. package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +0 -15
  194. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +0 -30
  195. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +0 -45
  196. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.mjs +0 -2
  197. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +0 -25
  198. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +0 -2
  199. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +0 -107
  200. package/esm2022/src/lib/navigation/pipes/active-route-pattern.pipe.mjs +0 -38
  201. package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +0 -70
  202. package/esm2022/src/lib/navigation/public-api.mjs +0 -15
  203. package/esm2022/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -5
  204. package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +0 -48
  205. package/esm2022/src/lib/number-box/number-box.component.mjs +0 -138
  206. package/esm2022/src/lib/number-box/public-api.mjs +0 -2
  207. package/esm2022/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -5
  208. package/esm2022/src/lib/page-header/page-header.component.mjs +0 -25
  209. package/esm2022/src/lib/page-header/public-api.mjs +0 -2
  210. package/esm2022/src/lib/page-header/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -5
  211. package/esm2022/src/lib/pane/pane.component.mjs +0 -43
  212. package/esm2022/src/lib/pane/pane.model.mjs +0 -2
  213. package/esm2022/src/lib/pane/public-api.mjs +0 -3
  214. package/esm2022/src/lib/pane/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -5
  215. package/esm2022/src/lib/quick-info/public-api.mjs +0 -2
  216. package/esm2022/src/lib/quick-info/quick-info.component.mjs +0 -121
  217. package/esm2022/src/lib/quick-info/quick-info.model.mjs +0 -2
  218. package/esm2022/src/lib/quick-info/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -5
  219. package/esm2022/src/lib/ripple/public-api.mjs +0 -2
  220. package/esm2022/src/lib/ripple/ripple.directive.mjs +0 -103
  221. package/esm2022/src/lib/ripple/spicainternational-ngx-sds-components-src-lib-ripple.mjs +0 -5
  222. package/esm2022/src/lib/segmented-control/public-api.mjs +0 -2
  223. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +0 -239
  224. package/esm2022/src/lib/segmented-control/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -5
  225. package/esm2022/src/lib/side-bar/public-api.mjs +0 -2
  226. package/esm2022/src/lib/side-bar/side-bar.component.mjs +0 -45
  227. package/esm2022/src/lib/side-bar/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -5
  228. package/esm2022/src/lib/static-value/public-api.mjs +0 -2
  229. package/esm2022/src/lib/static-value/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -5
  230. package/esm2022/src/lib/static-value/static-value.component.mjs +0 -25
  231. package/esm2022/src/lib/table-actions/public-api.mjs +0 -2
  232. package/esm2022/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -5
  233. package/esm2022/src/lib/table-actions/table-actions.component.mjs +0 -49
  234. package/esm2022/src/lib/timeline/components/timeline.component.mjs +0 -398
  235. package/esm2022/src/lib/timeline/models/timeline.model.mjs +0 -2
  236. package/esm2022/src/lib/timeline/public-api.mjs +0 -2
  237. package/esm2022/src/lib/timeline/services/timeline.service.mjs +0 -152
  238. package/esm2022/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -5
  239. package/esm2022/src/lib/timeline/types/timeline.types.mjs +0 -2
  240. package/esm2022/src/lib/timer/public-api.mjs +0 -3
  241. package/esm2022/src/lib/timer/services/index.mjs +0 -2
  242. package/esm2022/src/lib/timer/services/timer.service.mjs +0 -99
  243. package/esm2022/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +0 -5
  244. package/esm2022/src/lib/timer/utils/index.mjs +0 -2
  245. package/esm2022/src/lib/timer/utils/timer.utils.mjs +0 -97
  246. package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +0 -26
  247. package/esm2022/src/lib/tooltip/public-api.mjs +0 -2
  248. package/esm2022/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +0 -5
  249. package/esm2022/src/lib/tooltip/tooltip.directive.mjs +0 -192
  250. package/esm2022/src/lib/tooltip/tooltip.types.mjs +0 -2
  251. package/esm2022/src/lib/tooltip/utils/index.mjs +0 -2
  252. package/esm2022/src/lib/tooltip/utils/tooltip.utils.mjs +0 -17
  253. package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +0 -15
  254. package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +0 -29
  255. package/esm2022/src/lib/utils/date-time/public-api.mjs +0 -3
  256. package/esm2022/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +0 -5
  257. package/esm2022/src/lib/utils/public-api.mjs +0 -2
  258. package/esm2022/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.mjs +0 -5
  259. package/index.d.ts +0 -5
  260. package/src/lib/app-switcher/app-switcher.model.d.ts +0 -8
  261. package/src/lib/app-switcher/index.d.ts +0 -5
  262. package/src/lib/app-switcher/public-api.d.ts +0 -2
  263. package/src/lib/avatar/avatar-group.component.d.ts +0 -28
  264. package/src/lib/avatar/avatar-group.model.d.ts +0 -6
  265. package/src/lib/avatar/index.d.ts +0 -5
  266. package/src/lib/avatar/public-api.d.ts +0 -3
  267. package/src/lib/badge/badge.types.d.ts +0 -2
  268. package/src/lib/badge/components/badge.component.d.ts +0 -23
  269. package/src/lib/badge/index.d.ts +0 -5
  270. package/src/lib/badge/public-api.d.ts +0 -1
  271. package/src/lib/callout/index.d.ts +0 -5
  272. package/src/lib/callout/public-api.d.ts +0 -1
  273. package/src/lib/color-picker/index.d.ts +0 -5
  274. package/src/lib/color-picker/public-api.d.ts +0 -1
  275. package/src/lib/date-picker/date-picker.model.d.ts +0 -34
  276. package/src/lib/date-picker/index.d.ts +0 -5
  277. package/src/lib/date-picker/public-api.d.ts +0 -2
  278. package/src/lib/date-picker/sds-date-picker.service.d.ts +0 -9
  279. package/src/lib/date-pipes/date-compare.pipe.d.ts +0 -7
  280. package/src/lib/date-pipes/date-format.pipe.d.ts +0 -19
  281. package/src/lib/date-pipes/date-period-format.pipe.d.ts +0 -11
  282. package/src/lib/date-pipes/date-time-formats.constants.d.ts +0 -22
  283. package/src/lib/date-pipes/date-time-range-duration.pipe.d.ts +0 -7
  284. package/src/lib/date-pipes/date-time-range-format.pipe.d.ts +0 -15
  285. package/src/lib/date-pipes/index.d.ts +0 -5
  286. package/src/lib/date-pipes/public-api.d.ts +0 -7
  287. package/src/lib/drawer/index.d.ts +0 -5
  288. package/src/lib/drawer/public-api.d.ts +0 -1
  289. package/src/lib/duration-box/duration-box.types.d.ts +0 -1
  290. package/src/lib/duration-box/duration.service.d.ts +0 -10
  291. package/src/lib/duration-box/index.d.ts +0 -5
  292. package/src/lib/duration-box/public-api.d.ts +0 -1
  293. package/src/lib/duration-pipe/index.d.ts +0 -5
  294. package/src/lib/duration-pipe/public-api.d.ts +0 -1
  295. package/src/lib/ellipsis/index.d.ts +0 -5
  296. package/src/lib/ellipsis/public-api.d.ts +0 -1
  297. package/src/lib/expansion-panel/expansion-panel.types.d.ts +0 -2
  298. package/src/lib/expansion-panel/index.d.ts +0 -5
  299. package/src/lib/expansion-panel/public-api.d.ts +0 -1
  300. package/src/lib/highlight-text/directives/index.d.ts +0 -1
  301. package/src/lib/highlight-text/index.d.ts +0 -5
  302. package/src/lib/highlight-text/pipes/highlight-text.pipe.d.ts +0 -11
  303. package/src/lib/highlight-text/pipes/index.d.ts +0 -1
  304. package/src/lib/highlight-text/public-api.d.ts +0 -2
  305. package/src/lib/highlight-text/utils/highlight-text.utils.d.ts +0 -23
  306. package/src/lib/highlight-text/utils/index.d.ts +0 -1
  307. package/src/lib/intersection/directives/index.d.ts +0 -1
  308. package/src/lib/intersection/directives/intersection.directive.d.ts +0 -24
  309. package/src/lib/intersection/index.d.ts +0 -5
  310. package/src/lib/intersection/public-api.d.ts +0 -2
  311. package/src/lib/intersection/services/index.d.ts +0 -1
  312. package/src/lib/intersection/services/intersection.service.d.ts +0 -19
  313. package/src/lib/keyboard-shortcut/directives/index.d.ts +0 -1
  314. package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +0 -17
  315. package/src/lib/keyboard-shortcut/index.d.ts +0 -5
  316. package/src/lib/keyboard-shortcut/public-api.d.ts +0 -1
  317. package/src/lib/layout/default-layout/default-layout.component.d.ts +0 -8
  318. package/src/lib/layout/extra-large-layout/extra-large-layout.component.d.ts +0 -8
  319. package/src/lib/layout/fluid-layout/fluid-layout.component.d.ts +0 -8
  320. package/src/lib/layout/index.d.ts +0 -5
  321. package/src/lib/layout/medium-layout/medium-layout.component.d.ts +0 -8
  322. package/src/lib/layout/public-api.d.ts +0 -5
  323. package/src/lib/layout/small-layout/small-layout.component.d.ts +0 -8
  324. package/src/lib/message/index.d.ts +0 -5
  325. package/src/lib/message/public-api.d.ts +0 -1
  326. package/src/lib/modal/dialog/dialog.component.d.ts +0 -61
  327. package/src/lib/modal/dialog/dialog.types.d.ts +0 -1
  328. package/src/lib/modal/index.d.ts +0 -5
  329. package/src/lib/modal/modal.component.d.ts +0 -60
  330. package/src/lib/modal/modal.model.d.ts +0 -3
  331. package/src/lib/modal/public-api.d.ts +0 -2
  332. package/src/lib/navigation/index.d.ts +0 -5
  333. package/src/lib/navigation/models/navigation-models.d.ts +0 -4
  334. package/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.d.ts +0 -7
  335. package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +0 -25
  336. package/src/lib/navigation/navigation-external-link/navigation-external-link.component.d.ts +0 -13
  337. package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +0 -65
  338. package/src/lib/navigation/navigation-header/navigation-header.component.d.ts +0 -11
  339. package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +0 -31
  340. package/src/lib/navigation/navigation-separator/navigation-separator.component.d.ts +0 -10
  341. package/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.d.ts +0 -11
  342. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.d.ts +0 -17
  343. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.d.ts +0 -1
  344. package/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.d.ts +0 -9
  345. package/src/lib/navigation/navigation-user-profile/navigation-profile.model.d.ts +0 -6
  346. package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +0 -34
  347. package/src/lib/navigation/pipes/active-route-pattern.pipe.d.ts +0 -21
  348. package/src/lib/navigation/product-home/product-home.component.d.ts +0 -31
  349. package/src/lib/navigation/public-api.d.ts +0 -14
  350. package/src/lib/navigation/utils/navigation.utils.d.ts +0 -2
  351. package/src/lib/number-box/index.d.ts +0 -5
  352. package/src/lib/number-box/public-api.d.ts +0 -1
  353. package/src/lib/page-header/index.d.ts +0 -5
  354. package/src/lib/page-header/public-api.d.ts +0 -1
  355. package/src/lib/pane/index.d.ts +0 -5
  356. package/src/lib/pane/pane.model.d.ts +0 -8
  357. package/src/lib/pane/public-api.d.ts +0 -2
  358. package/src/lib/quick-info/index.d.ts +0 -5
  359. package/src/lib/quick-info/public-api.d.ts +0 -1
  360. package/src/lib/quick-info/quick-info.model.d.ts +0 -9
  361. package/src/lib/ripple/index.d.ts +0 -5
  362. package/src/lib/ripple/public-api.d.ts +0 -1
  363. package/src/lib/segmented-control/index.d.ts +0 -5
  364. package/src/lib/segmented-control/public-api.d.ts +0 -1
  365. package/src/lib/segmented-control/segmented-control.component.d.ts +0 -42
  366. package/src/lib/side-bar/index.d.ts +0 -5
  367. package/src/lib/side-bar/public-api.d.ts +0 -1
  368. package/src/lib/side-bar/side-bar.component.d.ts +0 -30
  369. package/src/lib/static-value/index.d.ts +0 -5
  370. package/src/lib/static-value/public-api.d.ts +0 -1
  371. package/src/lib/table-actions/index.d.ts +0 -5
  372. package/src/lib/table-actions/public-api.d.ts +0 -1
  373. package/src/lib/timeline/index.d.ts +0 -5
  374. package/src/lib/timeline/models/timeline.model.d.ts +0 -38
  375. package/src/lib/timeline/public-api.d.ts +0 -1
  376. package/src/lib/timeline/services/timeline.service.d.ts +0 -24
  377. package/src/lib/timeline/types/timeline.types.d.ts +0 -2
  378. package/src/lib/timer/index.d.ts +0 -5
  379. package/src/lib/timer/public-api.d.ts +0 -2
  380. package/src/lib/timer/services/index.d.ts +0 -1
  381. package/src/lib/timer/services/timer.service.d.ts +0 -78
  382. package/src/lib/timer/utils/index.d.ts +0 -1
  383. package/src/lib/timer/utils/timer.utils.d.ts +0 -61
  384. package/src/lib/tooltip/components/tooltip.component.d.ts +0 -18
  385. package/src/lib/tooltip/index.d.ts +0 -5
  386. package/src/lib/tooltip/public-api.d.ts +0 -1
  387. package/src/lib/tooltip/tooltip.types.d.ts +0 -2
  388. package/src/lib/tooltip/utils/index.d.ts +0 -1
  389. package/src/lib/tooltip/utils/tooltip.utils.d.ts +0 -5
  390. package/src/lib/utils/date-time/date-time-format.function.d.ts +0 -2
  391. package/src/lib/utils/date-time/index.d.ts +0 -5
  392. package/src/lib/utils/date-time/intl-date-time-format-options-presets.d.ts +0 -4
  393. package/src/lib/utils/date-time/public-api.d.ts +0 -2
  394. package/src/lib/utils/index.d.ts +0 -5
  395. package/src/lib/utils/public-api.d.ts +0 -1
  396. /package/{public-api.d.ts → types/spicainternational-ngx-sds-components.d.ts} +0 -0
@@ -24,17 +24,17 @@ class SdsTableActionsComponent {
24
24
  closeDropdownMenu() {
25
25
  this.showDropdown = false;
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTableActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsTableActionsComponent, isStandalone: true, selector: "sds-table-actions", inputs: { dropdownIcon: "dropdownIcon", dropDownAutoClose: "dropDownAutoClose", dropdownMinWidth: "dropdownMinWidth", hideActionsDropdown: "hideActionsDropdown" }, host: { properties: { "class.actions-dropdown-open": "this.showDropdown" } }, ngImport: i0, template: "<div class=\"sds-actions-container me-2\">\n <div class=\"btn-group sds-actions-wrapper\">\n <ng-content select=\"quickActions\"></ng-content>\n\n <ng-container *ngIf=\"!hideActionsDropdown\">\n \n <button\n #dropdownButton\n class=\"sds-actions-dropdown-button sds-btn-table\"\n type=\"button\"\n (click)=\"toggleDropdownMenu()\"\n >\n <fa-icon [icon]=\"dropdownIcon\" [fixedWidth]=\"true\" [size]=\"'sm'\">\n </fa-icon>\n </button>\n\n <dx-popover\n [target]=\"dropdownButton\"\n [(visible)]=\"showDropdown\"\n [minWidth]=\"dropdownMinWidth\"\n [wrapperAttr]=\"{ class: 'sds-actions-dropdown' }\"\n >\n <dxo-position\n my=\"right top\"\n at=\"right bottom\"\n [of]=\"dropdownButton\"\n >\n <dxo-offset [y]=\"-7\"></dxo-offset>\n </dxo-position>\n\n <ul class=\"sds-table-dropdown-menu\" (click)=\"closeDropdownMenu()\">\n <ng-content></ng-content>\n </ul>\n </dx-popover>\n </ng-container>\n </div>\n</div>\n", styles: ["::ng-deep .dx-datagrid-rowsview:has(sds-table-actions){overflow:visible}.sds-actions-dropdown-container{list-style:none}::ng-deep .sds-actions-dropdown .dx-popover-arrow{display:none}::ng-deep .sds-actions-dropdown .dx-popup-content{padding:0rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu{list-style:none;padding-left:0;margin-bottom:.25rem;margin-top:.25rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item{padding:.5rem 1rem;font-size:.9rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:hover{background-color:var(--bs-gray-200)}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:active{background-color:var(--bs-primary);color:#fff}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-divider{background-color:var(--bs-border-color-translucent);height:1px;margin-top:.25rem;margin-bottom:.25rem}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open),.sds-row:has(sds-table-actions.actions-dropdown-open){background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) td,.sds-row:has(sds-table-actions.actions-dropdown-open) td{background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{border-color:var(--bs-gray-500)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{background-color:var(--bs-gray-200)!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i1.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i2.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i2.DxoOffsetComponent, selector: "dxo-offset", inputs: ["x", "y"] }, { kind: "ngmodule", type: DxoPositionModule }] }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTableActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsTableActionsComponent, isStandalone: true, selector: "sds-table-actions", inputs: { dropdownIcon: "dropdownIcon", dropDownAutoClose: "dropDownAutoClose", dropdownMinWidth: "dropdownMinWidth", hideActionsDropdown: "hideActionsDropdown" }, host: { properties: { "class.actions-dropdown-open": "this.showDropdown" } }, ngImport: i0, template: "<div class=\"sds-actions-container me-2\">\n <div class=\"btn-group sds-actions-wrapper\">\n <ng-content select=\"quickActions\"></ng-content>\n\n <ng-container *ngIf=\"!hideActionsDropdown\">\n \n <button\n #dropdownButton\n class=\"sds-actions-dropdown-button sds-btn-table\"\n type=\"button\"\n (click)=\"toggleDropdownMenu()\"\n >\n <fa-icon [icon]=\"dropdownIcon\" [fixedWidth]=\"true\" [size]=\"'sm'\">\n </fa-icon>\n </button>\n\n <dx-popover\n [target]=\"dropdownButton\"\n [(visible)]=\"showDropdown\"\n [minWidth]=\"dropdownMinWidth\"\n [wrapperAttr]=\"{ class: 'sds-actions-dropdown' }\"\n >\n <dxo-position\n my=\"right top\"\n at=\"right bottom\"\n [of]=\"dropdownButton\"\n >\n <dxo-offset [y]=\"-7\"></dxo-offset>\n </dxo-position>\n\n <ul class=\"sds-table-dropdown-menu\" (click)=\"closeDropdownMenu()\">\n <ng-content></ng-content>\n </ul>\n </dx-popover>\n </ng-container>\n </div>\n</div>\n", styles: ["::ng-deep .dx-datagrid-rowsview:has(sds-table-actions){overflow:visible}.sds-actions-dropdown-container{list-style:none}::ng-deep .sds-actions-dropdown .dx-popover-arrow{display:none}::ng-deep .sds-actions-dropdown .dx-popup-content{padding:0rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu{list-style:none;padding-left:0;margin-bottom:.25rem;margin-top:.25rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item{padding:.5rem 1rem;font-size:.9rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:hover{background-color:var(--bs-gray-200)}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:active{background-color:var(--bs-primary);color:#fff}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-divider{background-color:var(--bs-border-color-translucent);height:1px;margin-top:.25rem;margin-bottom:.25rem}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) td,.sds-row:has(sds-table-actions.actions-dropdown-open) td{background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open),.sds-row:has(sds-table-actions.actions-dropdown-open){background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{border-color:var(--bs-gray-500)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{background-color:var(--bs-gray-200)!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i1.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i2.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i2.DxoOffsetComponent, selector: "dxo-offset", inputs: ["x", "y"] }, { kind: "ngmodule", type: DxoPositionModule }] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTableActionsComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTableActionsComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'sds-table-actions', standalone: true, imports: [
32
+ args: [{ selector: 'sds-table-actions', imports: [
33
33
  NgIf,
34
34
  FaIconComponent,
35
35
  DxPopoverModule,
36
36
  DxoPositionModule
37
- ], template: "<div class=\"sds-actions-container me-2\">\n <div class=\"btn-group sds-actions-wrapper\">\n <ng-content select=\"quickActions\"></ng-content>\n\n <ng-container *ngIf=\"!hideActionsDropdown\">\n \n <button\n #dropdownButton\n class=\"sds-actions-dropdown-button sds-btn-table\"\n type=\"button\"\n (click)=\"toggleDropdownMenu()\"\n >\n <fa-icon [icon]=\"dropdownIcon\" [fixedWidth]=\"true\" [size]=\"'sm'\">\n </fa-icon>\n </button>\n\n <dx-popover\n [target]=\"dropdownButton\"\n [(visible)]=\"showDropdown\"\n [minWidth]=\"dropdownMinWidth\"\n [wrapperAttr]=\"{ class: 'sds-actions-dropdown' }\"\n >\n <dxo-position\n my=\"right top\"\n at=\"right bottom\"\n [of]=\"dropdownButton\"\n >\n <dxo-offset [y]=\"-7\"></dxo-offset>\n </dxo-position>\n\n <ul class=\"sds-table-dropdown-menu\" (click)=\"closeDropdownMenu()\">\n <ng-content></ng-content>\n </ul>\n </dx-popover>\n </ng-container>\n </div>\n</div>\n", styles: ["::ng-deep .dx-datagrid-rowsview:has(sds-table-actions){overflow:visible}.sds-actions-dropdown-container{list-style:none}::ng-deep .sds-actions-dropdown .dx-popover-arrow{display:none}::ng-deep .sds-actions-dropdown .dx-popup-content{padding:0rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu{list-style:none;padding-left:0;margin-bottom:.25rem;margin-top:.25rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item{padding:.5rem 1rem;font-size:.9rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:hover{background-color:var(--bs-gray-200)}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:active{background-color:var(--bs-primary);color:#fff}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-divider{background-color:var(--bs-border-color-translucent);height:1px;margin-top:.25rem;margin-bottom:.25rem}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open),.sds-row:has(sds-table-actions.actions-dropdown-open){background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) td,.sds-row:has(sds-table-actions.actions-dropdown-open) td{background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{border-color:var(--bs-gray-500)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{background-color:var(--bs-gray-200)!important}\n"] }]
37
+ ], template: "<div class=\"sds-actions-container me-2\">\n <div class=\"btn-group sds-actions-wrapper\">\n <ng-content select=\"quickActions\"></ng-content>\n\n <ng-container *ngIf=\"!hideActionsDropdown\">\n \n <button\n #dropdownButton\n class=\"sds-actions-dropdown-button sds-btn-table\"\n type=\"button\"\n (click)=\"toggleDropdownMenu()\"\n >\n <fa-icon [icon]=\"dropdownIcon\" [fixedWidth]=\"true\" [size]=\"'sm'\">\n </fa-icon>\n </button>\n\n <dx-popover\n [target]=\"dropdownButton\"\n [(visible)]=\"showDropdown\"\n [minWidth]=\"dropdownMinWidth\"\n [wrapperAttr]=\"{ class: 'sds-actions-dropdown' }\"\n >\n <dxo-position\n my=\"right top\"\n at=\"right bottom\"\n [of]=\"dropdownButton\"\n >\n <dxo-offset [y]=\"-7\"></dxo-offset>\n </dxo-position>\n\n <ul class=\"sds-table-dropdown-menu\" (click)=\"closeDropdownMenu()\">\n <ng-content></ng-content>\n </ul>\n </dx-popover>\n </ng-container>\n </div>\n</div>\n", styles: ["::ng-deep .dx-datagrid-rowsview:has(sds-table-actions){overflow:visible}.sds-actions-dropdown-container{list-style:none}::ng-deep .sds-actions-dropdown .dx-popover-arrow{display:none}::ng-deep .sds-actions-dropdown .dx-popup-content{padding:0rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu{list-style:none;padding-left:0;margin-bottom:.25rem;margin-top:.25rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item{padding:.5rem 1rem;font-size:.9rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:hover{background-color:var(--bs-gray-200)}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:active{background-color:var(--bs-primary);color:#fff}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-divider{background-color:var(--bs-border-color-translucent);height:1px;margin-top:.25rem;margin-bottom:.25rem}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) td,.sds-row:has(sds-table-actions.actions-dropdown-open) td{background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open),.sds-row:has(sds-table-actions.actions-dropdown-open){background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{border-color:var(--bs-gray-500)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{background-color:var(--bs-gray-200)!important}\n"] }]
38
38
  }], ctorParameters: () => [], propDecorators: { dropdownIcon: [{
39
39
  type: Input
40
40
  }], dropDownAutoClose: [{
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-table-actions.mjs","sources":["../../../projects/ngx-sds-components/src/lib/table-actions/table-actions.component.ts","../../../projects/ngx-sds-components/src/lib/table-actions/table-actions.component.html","../../../projects/ngx-sds-components/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.ts"],"sourcesContent":["import { AfterContentInit, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { faEllipsis } from '@fortawesome/pro-regular-svg-icons';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { NgIf } from '@angular/common';\nimport { DxPopoverModule } from 'devextreme-angular';\nimport { DxoPositionModule } from 'devextreme-angular/ui/nested';\n\n@Component({\n selector: 'sds-table-actions',\n templateUrl: './table-actions.component.html',\n styleUrls: ['./table-actions.component.scss'],\n standalone: true,\n imports: [\n NgIf,\n FaIconComponent,\n\n DxPopoverModule,\n DxoPositionModule\n ],\n})\nexport class SdsTableActionsComponent implements OnInit {\n\n @Input() dropdownIcon: IconProp = faEllipsis;\n // @Input() showShadow: boolean = false;\n @Input() dropDownAutoClose: 'true' | 'false' | 'inside' | 'outside' = 'true';\n @Input() dropdownMinWidth: string = '10rem';\n @Input() hideActionsDropdown: boolean = false;\n\n @HostBinding('class.actions-dropdown-open') protected showDropdown: boolean = false;\n \n\n constructor(\n\n ) {}\n\n ngOnInit(): void {}\n\n\n \n protected toggleDropdownMenu(): void {\n this.showDropdown = !this.showDropdown;\n }\n\n protected closeDropdownMenu(): void {\n this.showDropdown = false;\n }\n\n}\n","<div class=\"sds-actions-container me-2\">\n <div class=\"btn-group sds-actions-wrapper\">\n <ng-content select=\"quickActions\"></ng-content>\n\n <ng-container *ngIf=\"!hideActionsDropdown\">\n \n <button\n #dropdownButton\n class=\"sds-actions-dropdown-button sds-btn-table\"\n type=\"button\"\n (click)=\"toggleDropdownMenu()\"\n >\n <fa-icon [icon]=\"dropdownIcon\" [fixedWidth]=\"true\" [size]=\"'sm'\">\n </fa-icon>\n </button>\n\n <dx-popover\n [target]=\"dropdownButton\"\n [(visible)]=\"showDropdown\"\n [minWidth]=\"dropdownMinWidth\"\n [wrapperAttr]=\"{ class: 'sds-actions-dropdown' }\"\n >\n <dxo-position\n my=\"right top\"\n at=\"right bottom\"\n [of]=\"dropdownButton\"\n >\n <dxo-offset [y]=\"-7\"></dxo-offset>\n </dxo-position>\n\n <ul class=\"sds-table-dropdown-menu\" (click)=\"closeDropdownMenu()\">\n <ng-content></ng-content>\n </ul>\n </dx-popover>\n </ng-container>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-table-actions.mjs","sources":["../../../projects/ngx-sds-components/src/lib/table-actions/table-actions.component.ts","../../../projects/ngx-sds-components/src/lib/table-actions/table-actions.component.html","../../../projects/ngx-sds-components/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.ts"],"sourcesContent":["import { AfterContentInit, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { faEllipsis } from '@fortawesome/pro-regular-svg-icons';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { NgIf } from '@angular/common';\nimport { DxPopoverModule } from 'devextreme-angular';\nimport { DxoPositionModule } from 'devextreme-angular/ui/nested';\n\n@Component({\n selector: 'sds-table-actions',\n templateUrl: './table-actions.component.html',\n styleUrls: ['./table-actions.component.scss'],\n imports: [\n NgIf,\n FaIconComponent,\n DxPopoverModule,\n DxoPositionModule\n ]\n})\nexport class SdsTableActionsComponent implements OnInit {\n\n @Input() dropdownIcon: IconProp = faEllipsis;\n // @Input() showShadow: boolean = false;\n @Input() dropDownAutoClose: 'true' | 'false' | 'inside' | 'outside' = 'true';\n @Input() dropdownMinWidth: string = '10rem';\n @Input() hideActionsDropdown: boolean = false;\n\n @HostBinding('class.actions-dropdown-open') protected showDropdown: boolean = false;\n \n\n constructor(\n\n ) {}\n\n ngOnInit(): void {}\n\n\n \n protected toggleDropdownMenu(): void {\n this.showDropdown = !this.showDropdown;\n }\n\n protected closeDropdownMenu(): void {\n this.showDropdown = false;\n }\n\n}\n","<div class=\"sds-actions-container me-2\">\n <div class=\"btn-group sds-actions-wrapper\">\n <ng-content select=\"quickActions\"></ng-content>\n\n <ng-container *ngIf=\"!hideActionsDropdown\">\n \n <button\n #dropdownButton\n class=\"sds-actions-dropdown-button sds-btn-table\"\n type=\"button\"\n (click)=\"toggleDropdownMenu()\"\n >\n <fa-icon [icon]=\"dropdownIcon\" [fixedWidth]=\"true\" [size]=\"'sm'\">\n </fa-icon>\n </button>\n\n <dx-popover\n [target]=\"dropdownButton\"\n [(visible)]=\"showDropdown\"\n [minWidth]=\"dropdownMinWidth\"\n [wrapperAttr]=\"{ class: 'sds-actions-dropdown' }\"\n >\n <dxo-position\n my=\"right top\"\n at=\"right bottom\"\n [of]=\"dropdownButton\"\n >\n <dxo-offset [y]=\"-7\"></dxo-offset>\n </dxo-position>\n\n <ul class=\"sds-table-dropdown-menu\" (click)=\"closeDropdownMenu()\">\n <ng-content></ng-content>\n </ul>\n </dx-popover>\n </ng-container>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -465,12 +465,12 @@ class SdsTimelineComponent {
465
465
  };
466
466
  });
467
467
  }
468
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
469
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsTimelineComponent, isStandalone: true, selector: "sds-timeline", inputs: { start: "start", end: "end", items: "items", pointInTimeItems: "pointInTimeItems", itemTemplate: "itemTemplate", pointInTimeTemplate: "pointInTimeTemplate", dayLabelTemplate: "dayLabelTemplate", dayLabelCustomDataFn: "dayLabelCustomDataFn", tickFrequency: "tickFrequency", hourLabelFrequency: "hourLabelFrequency", zoomPercent: "zoomPercent", viewOffsetPercent: "viewOffsetPercent", maxZoomPercent: "maxZoomPercent", showHourLabels: "showHourLabels", hourLabelClass: "hourLabelClass", showDayLabels: "showDayLabels", dayLabelClass: "dayLabelClass", showTimeline: "showTimeline", hourTickClass: "hourTickClass", timelineHeight: "timelineHeight", enableZoomAndDrag: "enableZoomAndDrag", offSetMinutes: "offSetMinutes", locales: "locales", cutOffset: "cutOffset", defaultCursor: "defaultCursor" }, outputs: { zoomPercentChange: "zoomPercentChange", viewOffsetPercentChange: "viewOffsetPercentChange" }, host: { listeners: { "window:mousemove": "onDragMove($event)", "window:touchmove": "onDragMoveTouch($event)", "window:mouseup": "onDragEnd($event)", "window:touchend": "onDragEnd($event)" } }, viewQueries: [{ propertyName: "_viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\n {{label.label}}\n</ng-template>\n\n<div \n #viewport\n class=\"sds-timeline-viewport\"\n (wheel)=\"onScroll($event)\"\n\n (mousedown)=\"onDragStart($event)\"\n (touchstart)=\"onDragStart($event)\"\n >\n\n <div \n class=\"sds-timeline-container d-flex flex-column\"\n [style.left.%]=\"viewOffsetPercent\"\n [style.width.%]=\"zoomPercent\"\n [style.cursor]=\"isDragging ? 'ew-resize' : defaultCursor\"\n >\n\n <div\n *ngIf=\"showDayLabels\" \n class=\"sds-timeline-day-header\">\n\n <div \n *ngFor=\"let label of dayLabels\"\n class=\"sds-day-label\" \n [ngClass]=\"dayLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.%]=\"label.width\"\n >\n <ng-container \n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\n [ngTemplateOutletContext]=\"{label: label}\">\n </ng-container> \n </div>\n </div>\n\n <div \n *ngIf=\"showHourLabels\" \n class=\"sds-timeline-hour-header\">\n\n <div \n *ngFor=\"let label of hourLabels;\"\n class=\"sds-hour-label\" \n [ngClass]=\"hourLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.rem]=\"1.2\"\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\n >\n \n {{label.label}}\n \n </div>\n </div>\n\n <div \n *ngIf=\"showTimeline\"\n class=\"sds-timeline flex-grow-1\"\n [style.height]=\"timelineHeight\"\n >\n\n <div \n *ngFor=\"let tick of hourTicks\"\n class=\"sds-timeline-tick\" \n [ngClass]=\"hourTickClass ?? null\"\t\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\n >\n </div>\n\n <div \n *ngFor=\"let item of presentationItems\"\n class=\"sds-timeline-item-container\"\n [ngClass]=\"item.class ?? null\"\n [ngStyle]=\"{\n 'width': 'max(' + item.width +'%, 1px)',\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n }\"\n\n [style.left.%]=\"item.x\"\n [style.height]=\"item.height\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n </div>\n\n\n <!-- [ngClass]=\"item.class\"\t -->\n <div *ngFor=\"let item of presentationPointInTimeItems\"\n class=\"sds-timeline-point-in-time-item-container\"\n [ngClass]=\"item.class ?? null\"\n [style.height]=\"item.height\"\n [style.width]=\"item.width\"\n [ngStyle]=\"{\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\n \n }\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n\n </div>\n\n </div>\n </div>\n</div>\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative;font-size:.8em}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid rgb(187,187,187);height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline;top:20%;height:60%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;width:100%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container{width:1px;height:1px;position:absolute}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container .sds-timeline-item{position:relative;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
468
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
469
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsTimelineComponent, isStandalone: true, selector: "sds-timeline", inputs: { start: "start", end: "end", items: "items", pointInTimeItems: "pointInTimeItems", itemTemplate: "itemTemplate", pointInTimeTemplate: "pointInTimeTemplate", dayLabelTemplate: "dayLabelTemplate", dayLabelCustomDataFn: "dayLabelCustomDataFn", tickFrequency: "tickFrequency", hourLabelFrequency: "hourLabelFrequency", zoomPercent: "zoomPercent", viewOffsetPercent: "viewOffsetPercent", maxZoomPercent: "maxZoomPercent", showHourLabels: "showHourLabels", hourLabelClass: "hourLabelClass", showDayLabels: "showDayLabels", dayLabelClass: "dayLabelClass", showTimeline: "showTimeline", hourTickClass: "hourTickClass", timelineHeight: "timelineHeight", enableZoomAndDrag: "enableZoomAndDrag", offSetMinutes: "offSetMinutes", locales: "locales", cutOffset: "cutOffset", defaultCursor: "defaultCursor" }, outputs: { zoomPercentChange: "zoomPercentChange", viewOffsetPercentChange: "viewOffsetPercentChange" }, host: { listeners: { "window:mousemove": "onDragMove($event)", "window:touchmove": "onDragMoveTouch($event)", "window:mouseup": "onDragEnd($event)", "window:touchend": "onDragEnd($event)" } }, viewQueries: [{ propertyName: "_viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\n {{label.label}}\n</ng-template>\n\n<div \n #viewport\n class=\"sds-timeline-viewport\"\n (wheel)=\"onScroll($event)\"\n\n (mousedown)=\"onDragStart($event)\"\n (touchstart)=\"onDragStart($event)\"\n >\n\n <div \n class=\"sds-timeline-container d-flex flex-column\"\n [style.left.%]=\"viewOffsetPercent\"\n [style.width.%]=\"zoomPercent\"\n [style.cursor]=\"isDragging ? 'ew-resize' : defaultCursor\"\n >\n\n <div\n *ngIf=\"showDayLabels\" \n class=\"sds-timeline-day-header\">\n\n <div \n *ngFor=\"let label of dayLabels\"\n class=\"sds-day-label\" \n [ngClass]=\"dayLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.%]=\"label.width\"\n >\n <ng-container \n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\n [ngTemplateOutletContext]=\"{label: label}\">\n </ng-container> \n </div>\n </div>\n\n <div \n *ngIf=\"showHourLabels\" \n class=\"sds-timeline-hour-header\">\n\n <div \n *ngFor=\"let label of hourLabels;\"\n class=\"sds-hour-label\" \n [ngClass]=\"hourLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.rem]=\"1.2\"\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\n >\n \n {{label.label}}\n \n </div>\n </div>\n\n <div \n *ngIf=\"showTimeline\"\n class=\"sds-timeline flex-grow-1\"\n [style.height]=\"timelineHeight\"\n >\n\n <div \n *ngFor=\"let tick of hourTicks\"\n class=\"sds-timeline-tick\" \n [ngClass]=\"hourTickClass ?? null\"\t\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\n >\n </div>\n\n <div \n *ngFor=\"let item of presentationItems\"\n class=\"sds-timeline-item-container\"\n [ngClass]=\"item.class ?? null\"\n [ngStyle]=\"{\n 'width': 'max(' + item.width +'%, 1px)',\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n }\"\n\n [style.left.%]=\"item.x\"\n [style.height]=\"item.height\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n </div>\n\n\n <!-- [ngClass]=\"item.class\"\t -->\n <div *ngFor=\"let item of presentationPointInTimeItems\"\n class=\"sds-timeline-point-in-time-item-container\"\n [ngClass]=\"item.class ?? null\"\n [style.height]=\"item.height\"\n [style.width]=\"item.width\"\n [ngStyle]=\"{\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\n \n }\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n\n </div>\n\n </div>\n </div>\n</div>\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative;font-size:.8em}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid rgb(187,187,187);height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline;top:20%;height:60%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;width:100%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container{width:1px;height:1px;position:absolute}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container .sds-timeline-item{position:relative;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
470
470
  }
471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimelineComponent, decorators: [{
471
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTimelineComponent, decorators: [{
472
472
  type: Component,
473
- args: [{ selector: 'sds-timeline', standalone: true, imports: [
473
+ args: [{ selector: 'sds-timeline', imports: [
474
474
  NgIf,
475
475
  NgFor,
476
476
  NgStyle,
@@ -1 +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';\nimport { TimelineCustomDateDataProvider, TimelineTickFrequency } from '../types/timeline.types';\n\nexport class SdsTimelineService {\n\n private startWithOffset: Date = new Date();\n private endWithOffset: Date = new Date();\n\n private start: Date = new Date();\n private end: Date = new Date();\n\n private cutOffset = true;\n\n\n private widthPercentPerMinute: number;\n\n private hourTicks: TimelineTick[] = [];\n\n \n constructor(start: Date, end: Date, offSetMinutes: number, cutOffset: boolean) {\n this.cutOffset = cutOffset;\n\n this.start = new Date(start);\n this.startWithOffset = new Date(start);\n this.startWithOffset.setMinutes(this.startWithOffset.getMinutes() - offSetMinutes);\n\n this.end = new Date(end);\n this.endWithOffset = new Date(end); \n this.endWithOffset.setMinutes(this.endWithOffset.getMinutes() + offSetMinutes);\n\n this.widthPercentPerMinute = (100 / this.diffInMinutes(this.startWithOffset, this.endWithOffset));\n\n this.initHourTicks();\n }\n\n public getX(time: Date): number {\n const trimmedTime = new Date(time);\n if (this.cutOffset) {\n if (trimmedTime < this.start) {\n trimmedTime.setTime(this.start.getTime());\n }\n if (trimmedTime > this.end) {\n trimmedTime.setTime(this.end.getTime());\n }\n }\n\n return this.diffInMinutes(this.startWithOffset, trimmedTime) * this.widthPercentPerMinute; \n }\n\n public getWidthFromMinutes(minutes: number): number {\n return minutes * this.widthPercentPerMinute;\n }\n\n public getWidthFromTime(start: Date, end: Date): number {\n const trimmedStart = new Date(start);\n if (this.cutOffset) {\n if (trimmedStart < this.start) {\n trimmedStart.setTime(this.start.getTime());\n } \n if (trimmedStart > this.end) {\n trimmedStart.setTime(this.end.getTime());\n }\n }\n\n const trimmedEnd = new Date(end);\n if (this.cutOffset) {\n if (trimmedEnd < this.start) {\n trimmedEnd.setTime(this.start.getTime());\n }\n if (trimmedEnd > this.end) {\n trimmedEnd.setTime(this.end.getTime());\n }\n }\n\n return this.getWidthFromMinutes(this.diffInMinutes(trimmedStart, trimmedEnd));\n }\n\n public getTick(time: Date): TimelineTick {\n return {\n date: new Date(time),\n x: this.getX(time),\n } \n }\n \n public getHourTicks(frequency: TimelineTickFrequency = 'hourly'): TimelineTick[] {\n return this.hourTicks.filter(tick => this.isValidFrequencyHour(tick.date.getHours(), frequency));\n }\n\n public getHourLabels(frequency: TimelineTickFrequency = 'hourly'): TimelineIntervalLabel[] {\n const hourLabels: TimelineIntervalLabel[] = [];\n\n const ticks = this.hourTicks.filter(tick => this.isValidFrequencyHour(tick.date.getHours(), frequency));\n ticks.forEach(tick => {\n let labelStartTime = new Date(tick.date);\n hourLabels.push(\n {\n x: this.getX(labelStartTime),\n width: 0,\n label: tick.date.getHours().toString(),\n date: new Date(labelStartTime),\n data: null\n });\n });\n return hourLabels;\n }\n\n public getDayLabels(\n locales: string | Array<string> | undefined, \n customDataFn: TimelineCustomDateDataProvider | undefined): TimelineIntervalLabel[] {\n const dayLabels = [];\n\n // get start date at the beginning of the day\n let startDate = new Date(this.startWithOffset);\n startDate.setHours(0, 0, 0, 0);\n\n // get end date at the end of the day\n let endDate = new Date(this.endWithOffset);\n endDate.setHours(23, 59, 59, 999);\n\n let currentDate = new Date(startDate);\n while (currentDate <= endDate) {\n let endOfCurrentDay = new Date(currentDate);\n endOfCurrentDay.setHours(23, 59, 59, 999);\n\n const dayLabelWidth = this.getWidthFromTime(currentDate, endOfCurrentDay);\n\n if (dayLabelWidth > 0) {\n dayLabels.push({\n // date: new Date(currentDate),\n x: this.getX(new Date(currentDate)),\n width: dayLabelWidth,\n label: currentDate.toLocaleDateString(locales ?? [], { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }),\n date: new Date(currentDate),\n data: customDataFn ? customDataFn(new Date(currentDate)) : null\n });\n }\n currentDate.setDate(currentDate.getDate() + 1); \n }\n return dayLabels;\n } \n\n //#region Private Methods\n\n private isValidFrequencyHour(hours: number, frequency: TimelineTickFrequency) {\n\n if (frequency === 'hourly') {\n return true; // every tick is valid\n } \n if (frequency === '2hrs') {\n return hours % 2 === 0;\n } \n if (frequency === '3hrs') {\n return hours % 3 === 0;\n } \n if (frequency === '6hrs') {\n return hours % 6 === 0;\n }\n return false; // unsupported frequency\n }\n\n private diffInMinutes(start: Date, end: Date): number {\n return (end.getTime() - start.getTime()) / (1000 * 60);;\n }\n\n private roundHoursUp(time: Date): Date {\n \n let newTime = new Date(time);\n \n if (newTime.getMinutes() > 0 || newTime.getSeconds() > 0 || newTime.getMilliseconds() > 0) {\n newTime.setHours(newTime.getHours() + 1);\n }\n newTime.setMinutes(0, 0, 0);\n return newTime;\n }\n\n\n private roundHoursDown(time: Date) {\n let newTime = new Date(time);\n newTime.setMinutes(0, 0, 0);\n return newTime;\n }\n \n\n private initHourTicks(): void {\n this.hourTicks = [];\n\n // get first whole hour from start date\n let startHour = this.roundHoursUp(this.startWithOffset);\n\n // get last whole hour from end date\n let endHour = this.roundHoursDown(this.endWithOffset);\n\n let currentHour = new Date(startHour)\n while (currentHour <= endHour) {\n this.hourTicks.push(this.getTick(currentHour));\n currentHour.setHours(currentHour.getHours() + 1);\n }\n }\n \n //#endregion\n\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n EventEmitter\n} from '@angular/core';\nimport { TimelineCustomDateDataProvider, TimelineTickFrequency } from '../types/timeline.types';\nimport { SdsTimelineService } from '../services/timeline.service';\nimport {\n TimelineIntervalLabel,\n TimelineItem,\n TimelineItemPresentation,\n TimelinePointInTimeItem,\n TimelinePointInTimeItemPresentation,\n TimelineTick,\n} from '../models/timeline.model';\nimport { NgIf, NgFor, NgStyle, NgTemplateOutlet, NgClass } from '@angular/common';\n\n@Component({\n selector: 'sds-timeline',\n templateUrl: './timeline.component.html',\n styleUrls: ['./timeline.component.scss'],\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n NgStyle,\n NgClass,\n NgTemplateOutlet,\n ],\n})\nexport class SdsTimelineComponent implements OnInit, OnChanges, AfterViewInit {\n /**\n * The start date and time for the timeline.\n *\n * @type {Date}\n * @memberof SdsTimelineComponent\n */\n @Input() start: Date = new Date();\n\n /**\n * The end date and time for the timeline.\n *\n * @type {Date}\n * @memberof SdsTimelineComponent\n */\n @Input() end: Date = new Date();\n\n /**\n * The period based items to be displayed on the timeline. Specify data if you need \n * additional data for custom rendering of the items.\n *\n * @type {TimelineItem[]}\n * @memberof SdsTimelineComponent\n */\n @Input() items: TimelineItem[] = [];\n\n /**\n * Items to be displayed on the timeline at a specific point in time.\n * Specify data if you need additional data for custom rendering of the items.\n *\n * @type {TimelinePointInTimeItem[]}\n * @memberof SdsTimelineComponent\n */\n @Input() pointInTimeItems: TimelinePointInTimeItem[] = [];\n\n /**\n * The template to be used for custom rendering of the items.\n *\n * @type {(TemplateRef<any> | undefined)}\n * @memberof SdsTimelineComponent\n */\n @Input() itemTemplate: TemplateRef<any> | undefined = undefined;\n\n /**\n * The template to be used for custom rendering of the poin-in-time items.\n *\n * @type {(TemplateRef<any> | undefined)}\n * @memberof SdsTimelineComponent\n */\n @Input() pointInTimeTemplate: TemplateRef<any> | undefined = undefined;\n\n /**\n * The template to be used for custom rendering of the day labels.\n *\n * @type {(TemplateRef<any> | undefined)}\n * @memberof SdsTimelineComponent\n */\n @Input() dayLabelTemplate: TemplateRef<any> | undefined = undefined;\n \n /**\n * A custom data function for the day labels. \n * This function takes a Date object as input and returns any custom data that will be available for the custom template\n *\n * @memberof SdsTimelineComponent\n */\n @Input() dayLabelCustomDataFn: TimelineCustomDateDataProvider | undefined = undefined;\n\n /**\n * The frequency of the ticks on the timeline.\n *\n * @type {TimelineTickFrequency}\n * @memberof SdsTimelineComponent\n */\n @Input() tickFrequency: TimelineTickFrequency = 'hourly';\n\n /**\n * The frequency of the hour labels on the timeline.\n *\n * @type {TimelineTickFrequency}\n * @memberof SdsTimelineComponent\n */\n @Input() hourLabelFrequency: TimelineTickFrequency = '3hrs';\n\n\n /**\n * The current zoom level of the timeline. In percent.\n *\n * @type {number}\n * @memberof SdsTimelineComponent\n */\n @Input() zoomPercent: number = 100;\n @Output() zoomPercentChange = new EventEmitter<number>();\n\n /**\n * Initial offset of the viewport in percent. This is used in scenarios \n * with multiple days when you want to show non-first day as defult.\n *\n * @type {number}\n * @memberof SdsTimelineComponent\n */\n @Input() viewOffsetPercent: number = 0;\n @Output() viewOffsetPercentChange = new EventEmitter<number>();\n\n /**\n * The maximum allowed zoom level of the timeline. In percent.\n *\n * @type {number}\n * @memberof SdsTimelineComponent\n */\n @Input() maxZoomPercent: number = 500;\n\n /**\n * Whether to show hour labels.\n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() showHourLabels: boolean = true;\n\n /**\n * The CSS class to be applied to the hour labels.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() hourLabelClass?: string;\n\n /**\n * Whether to show day labels. \n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() showDayLabels: boolean = false;\n\n /**\n * The CSS class to be applied to the day labels.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() dayLabelClass?: string;\n\n /**\n * Whether to show timeline. Useful for hiding the timeline when we only need header.\n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() showTimeline: boolean = true; \n\n /**\n * The CSS class to be applied to the hour ticks.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() hourTickClass?: string;\n\n /**\n * The height of the timeline. Default is 2rem.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() timelineHeight: string = '2rem';\n\n /**\n * Whether to enable zoom and drag functionality.\n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() enableZoomAndDrag: boolean = true;\n\n /**\n * Number of minutes added to start and stop to fit the data on the edges\n *\n * @type {number}\n * @memberof SdsTimelineComponent\n */\n @Input() offSetMinutes: number = 15;\n\n /**\n * The locales to be used for formatting the timeline.\n *\n * @type {(string | Array<string>)}\n * @memberof SdsTimelineComponent\n */\n @Input() locales?: string | Array<string>;\n\n /**\n * Control if those parts of segments (or whole segments) that fall into the Offset \n * period are displayed or not\n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() cutOffset: boolean = false;\n\n /**\n * Sets default cursor, that should be shown when hovering over timeline component.\n * Default value is 'default'.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() defaultCursor: string = \"default\";\n\n // protected\n hourTicks: TimelineTick[] = [];\n hourLabels: TimelineIntervalLabel[] = [];\n dayLabels: TimelineIntervalLabel[] = [];\n\n private _timelineService: SdsTimelineService = new SdsTimelineService(\n this.start,\n this.end,\n this.offSetMinutes,\n this.cutOffset\n );\n\n public presentationItems: TimelineItemPresentation[] = [];\n public presentationPointInTimeItems: TimelinePointInTimeItemPresentation[] = [];\n\n public isDragging = false;\n public initialDragX = 0;\n\n private viewOffsetPercentDragStart = 0;\n\n @ViewChild('viewport', { static: true }) _viewport: ElementRef | undefined;\n\n constructor() {}\n\n ngAfterViewInit(): void {\n this.generateTicks();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.start && this.end) {\n this._timelineService = new SdsTimelineService(\n this.start,\n this.end,\n this.offSetMinutes,\n this.cutOffset\n );\n this.generateTicks();\n this.generateInternalTimelineItems();\n }\n\n if (changes['start'] || changes['end'] || changes['offSetMinutes'] || changes['cutOffset']) {\n this._timelineService = new SdsTimelineService(\n this.start,\n this.end,\n this.offSetMinutes,\n this.cutOffset\n );\n this.generateTicks();\n this.generateInternalTimelineItems(); \n }\n\n if (changes['items']) {\n this.generateInternalTimelineItems();\n }\n\n if (changes['pointInTimeItems']) {\n this.generateInternalTimelinePointInTimeItems();\n }\n\n if (changes['zoomPercent']) {\n // this.viewOffsetPercent = (this.zoomPercent - 100) / -2;\n }\n\n if (changes['showDayLabels'] || changes['showHourLabels']) {\n this.generateTicks();\n } \n }\n\n ngOnInit(): void {}\n\n //#region mouse wheel zoom\n onScroll(event: WheelEvent): void {\n if (this.enableZoomAndDrag) {\n\n event.preventDefault();\n\n const delta = Math.sign(event.deltaY);\n const newZoomPercent = Math.min(\n Math.max(this.zoomPercent + -delta * 20, 100),\n this.maxZoomPercent\n );\n const deltaZoomPercent = newZoomPercent - this.zoomPercent;\n this.zoomPercent = newZoomPercent;\n this.zoomPercentChange.emit(this.zoomPercent);\n \n // get the relative position of the cursor on the viewport so we can zoom in into this position\n const x = event.clientX - this._viewport?.nativeElement.getBoundingClientRect().left;\n const cursorRelativePosition = x / this._viewport?.nativeElement.getBoundingClientRect().width;\n // this.viewOffsetPercent = this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition;\n\n this.constrainOffset(this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition);\n }\n }\n //#endregion\n\n //#region dragging\n \n public onDragStart(event: MouseEvent | TouchEvent): void {\n if (this.enableZoomAndDrag && this.zoomPercent > 100) {\n event.preventDefault();\n this.isDragging = true;\n this.viewOffsetPercentDragStart = this.viewOffsetPercent;\n\n if (event instanceof MouseEvent) {\n this.initialDragX = event.clientX;\n } else if (event instanceof TouchEvent) {\n this.initialDragX = event.touches[0].clientX;\n }\n }\n }\n\n @HostListener('window:mousemove', ['$event'])\n public onDragMove(event: MouseEvent): void {\n if (this.enableZoomAndDrag) {\n if (this.isDragging) {\n const currentX = event.clientX;\n this.moveElement(currentX);\n }\n }\n }\n\n @HostListener('window:touchmove', ['$event'])\n onDragMoveTouch(event: TouchEvent): void {\n if (this.enableZoomAndDrag) {\n if (this.isDragging) {\n const currentX = event.touches[0].clientX;\n this.moveElement(currentX);\n }\n }\n }\n\n @HostListener('window:mouseup', ['$event'])\n @HostListener('window:touchend', ['$event'])\n public onDragEnd(event: MouseEvent | TouchEvent): void {\n if (this.enableZoomAndDrag) {\n this.isDragging = false;\n }\n }\n\n private moveElement(currentX: number): void {\n const diff = currentX - this.initialDragX;\n if (this._viewport && this._viewport.nativeElement) {\n const diffInPercent = (diff / this._viewport?.nativeElement.getBoundingClientRect().width) * 100;\n // this.viewOffsetPercent = this.viewOffsetPercentDragStart + diffInPercent;\n this.constrainOffset(this.viewOffsetPercentDragStart + diffInPercent);\n }\n }\n\n //#endregion\n\n private constrainOffset(newOffset: number): void { \n if (this.zoomPercent + newOffset < 100) {\n newOffset = -this.zoomPercent + 100;\n }\n newOffset = Math.min(0, newOffset);\n if (newOffset != this.viewOffsetPercent) {\n this.viewOffsetPercent = newOffset;\n this.viewOffsetPercentChange.emit(this.viewOffsetPercent);\n }\n }\n\n private generateTicks(): void {\n this.hourTicks = this._timelineService.getHourTicks(this.tickFrequency);\n this.dayLabels = this._timelineService.getDayLabels(this.locales, this.dayLabelCustomDataFn);\n this.hourLabels = this._timelineService.getHourLabels(this.hourLabelFrequency);\n }\n\n private generateInternalTimelineItems(): void {\n const cuttOffStart = this.cutOffset ? this.start : new Date(this.start.getTime() - this.offSetMinutes * 60000);\n const cuttOffEnd = this.cutOffset ? this.end : new Date(this.end.getTime() + this.offSetMinutes * 60000);\n\n this.presentationItems = this.items\n .filter((item) => item.end < cuttOffStart || item.start > cuttOffEnd ? false : true)\n .map((item) => {\n const startTime = new Date(item.start).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\n const endTime = new Date(item.end).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\n const timeRange = `${startTime} - ${endTime}`;\n \n return {\n data: item.data,\n x: this._timelineService.getX(item.start),\n width: this._timelineService.getWidthFromTime(\n item.start,\n item.end\n ),\n hint: item.hint ?? timeRange,\n backgroundColor: item.backgroundColor,\n top: item.top ?? '50%',\n height: item.height ?? '60%',\n class: item.class,\n };\n });\n }\n\n\n private generateInternalTimelinePointInTimeItems(): void {\n const cuttOffStart = this.cutOffset ? this.start : new Date(this.start.getTime() - this.offSetMinutes * 60000);\n const cuttOffEnd = this.cutOffset ? this.end : new Date(this.end.getTime() + this.offSetMinutes * 60000);\n\n this.presentationPointInTimeItems = this.pointInTimeItems\n .filter((item) => item.date < cuttOffStart || item.date > cuttOffEnd ? false : true)\n .map((item) => {\n\n const timePointString = new Date(item.date).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\n\n return {\n data: item.data,\n x: this._timelineService.getX(item.date),\n hint: item.hint ?? timePointString,\n top: item.top ?? '20%',\n height: item.height ?? '1rem',\n width: item.width ?? '1rem',\n class: item.class,\n backgroundColor: item.backgroundColor,\n };\n });\n }\n}\n","<ng-template #defaultItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\n {{label.label}}\n</ng-template>\n\n<div \n #viewport\n class=\"sds-timeline-viewport\"\n (wheel)=\"onScroll($event)\"\n\n (mousedown)=\"onDragStart($event)\"\n (touchstart)=\"onDragStart($event)\"\n >\n\n <div \n class=\"sds-timeline-container d-flex flex-column\"\n [style.left.%]=\"viewOffsetPercent\"\n [style.width.%]=\"zoomPercent\"\n [style.cursor]=\"isDragging ? 'ew-resize' : defaultCursor\"\n >\n\n <div\n *ngIf=\"showDayLabels\" \n class=\"sds-timeline-day-header\">\n\n <div \n *ngFor=\"let label of dayLabels\"\n class=\"sds-day-label\" \n [ngClass]=\"dayLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.%]=\"label.width\"\n >\n <ng-container \n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\n [ngTemplateOutletContext]=\"{label: label}\">\n </ng-container> \n </div>\n </div>\n\n <div \n *ngIf=\"showHourLabels\" \n class=\"sds-timeline-hour-header\">\n\n <div \n *ngFor=\"let label of hourLabels;\"\n class=\"sds-hour-label\" \n [ngClass]=\"hourLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.rem]=\"1.2\"\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\n >\n \n {{label.label}}\n \n </div>\n </div>\n\n <div \n *ngIf=\"showTimeline\"\n class=\"sds-timeline flex-grow-1\"\n [style.height]=\"timelineHeight\"\n >\n\n <div \n *ngFor=\"let tick of hourTicks\"\n class=\"sds-timeline-tick\" \n [ngClass]=\"hourTickClass ?? null\"\t\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\n >\n </div>\n\n <div \n *ngFor=\"let item of presentationItems\"\n class=\"sds-timeline-item-container\"\n [ngClass]=\"item.class ?? null\"\n [ngStyle]=\"{\n 'width': 'max(' + item.width +'%, 1px)',\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n }\"\n\n [style.left.%]=\"item.x\"\n [style.height]=\"item.height\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n </div>\n\n\n <!-- [ngClass]=\"item.class\"\t -->\n <div *ngFor=\"let item of presentationPointInTimeItems\"\n class=\"sds-timeline-point-in-time-item-container\"\n [ngClass]=\"item.class ?? null\"\n [style.height]=\"item.height\"\n [style.width]=\"item.width\"\n [ngStyle]=\"{\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\n \n }\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n\n </div>\n\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"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';\nimport { TimelineCustomDateDataProvider, TimelineTickFrequency } from '../types/timeline.types';\n\nexport class SdsTimelineService {\n\n private startWithOffset: Date = new Date();\n private endWithOffset: Date = new Date();\n\n private start: Date = new Date();\n private end: Date = new Date();\n\n private cutOffset = true;\n\n\n private widthPercentPerMinute: number;\n\n private hourTicks: TimelineTick[] = [];\n\n \n constructor(start: Date, end: Date, offSetMinutes: number, cutOffset: boolean) {\n this.cutOffset = cutOffset;\n\n this.start = new Date(start);\n this.startWithOffset = new Date(start);\n this.startWithOffset.setMinutes(this.startWithOffset.getMinutes() - offSetMinutes);\n\n this.end = new Date(end);\n this.endWithOffset = new Date(end); \n this.endWithOffset.setMinutes(this.endWithOffset.getMinutes() + offSetMinutes);\n\n this.widthPercentPerMinute = (100 / this.diffInMinutes(this.startWithOffset, this.endWithOffset));\n\n this.initHourTicks();\n }\n\n public getX(time: Date): number {\n const trimmedTime = new Date(time);\n if (this.cutOffset) {\n if (trimmedTime < this.start) {\n trimmedTime.setTime(this.start.getTime());\n }\n if (trimmedTime > this.end) {\n trimmedTime.setTime(this.end.getTime());\n }\n }\n\n return this.diffInMinutes(this.startWithOffset, trimmedTime) * this.widthPercentPerMinute; \n }\n\n public getWidthFromMinutes(minutes: number): number {\n return minutes * this.widthPercentPerMinute;\n }\n\n public getWidthFromTime(start: Date, end: Date): number {\n const trimmedStart = new Date(start);\n if (this.cutOffset) {\n if (trimmedStart < this.start) {\n trimmedStart.setTime(this.start.getTime());\n } \n if (trimmedStart > this.end) {\n trimmedStart.setTime(this.end.getTime());\n }\n }\n\n const trimmedEnd = new Date(end);\n if (this.cutOffset) {\n if (trimmedEnd < this.start) {\n trimmedEnd.setTime(this.start.getTime());\n }\n if (trimmedEnd > this.end) {\n trimmedEnd.setTime(this.end.getTime());\n }\n }\n\n return this.getWidthFromMinutes(this.diffInMinutes(trimmedStart, trimmedEnd));\n }\n\n public getTick(time: Date): TimelineTick {\n return {\n date: new Date(time),\n x: this.getX(time),\n } \n }\n \n public getHourTicks(frequency: TimelineTickFrequency = 'hourly'): TimelineTick[] {\n return this.hourTicks.filter(tick => this.isValidFrequencyHour(tick.date.getHours(), frequency));\n }\n\n public getHourLabels(frequency: TimelineTickFrequency = 'hourly'): TimelineIntervalLabel[] {\n const hourLabels: TimelineIntervalLabel[] = [];\n\n const ticks = this.hourTicks.filter(tick => this.isValidFrequencyHour(tick.date.getHours(), frequency));\n ticks.forEach(tick => {\n let labelStartTime = new Date(tick.date);\n hourLabels.push(\n {\n x: this.getX(labelStartTime),\n width: 0,\n label: tick.date.getHours().toString(),\n date: new Date(labelStartTime),\n data: null\n });\n });\n return hourLabels;\n }\n\n public getDayLabels(\n locales: string | Array<string> | undefined, \n customDataFn: TimelineCustomDateDataProvider | undefined): TimelineIntervalLabel[] {\n const dayLabels = [];\n\n // get start date at the beginning of the day\n let startDate = new Date(this.startWithOffset);\n startDate.setHours(0, 0, 0, 0);\n\n // get end date at the end of the day\n let endDate = new Date(this.endWithOffset);\n endDate.setHours(23, 59, 59, 999);\n\n let currentDate = new Date(startDate);\n while (currentDate <= endDate) {\n let endOfCurrentDay = new Date(currentDate);\n endOfCurrentDay.setHours(23, 59, 59, 999);\n\n const dayLabelWidth = this.getWidthFromTime(currentDate, endOfCurrentDay);\n\n if (dayLabelWidth > 0) {\n dayLabels.push({\n // date: new Date(currentDate),\n x: this.getX(new Date(currentDate)),\n width: dayLabelWidth,\n label: currentDate.toLocaleDateString(locales ?? [], { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }),\n date: new Date(currentDate),\n data: customDataFn ? customDataFn(new Date(currentDate)) : null\n });\n }\n currentDate.setDate(currentDate.getDate() + 1); \n }\n return dayLabels;\n } \n\n //#region Private Methods\n\n private isValidFrequencyHour(hours: number, frequency: TimelineTickFrequency) {\n\n if (frequency === 'hourly') {\n return true; // every tick is valid\n } \n if (frequency === '2hrs') {\n return hours % 2 === 0;\n } \n if (frequency === '3hrs') {\n return hours % 3 === 0;\n } \n if (frequency === '6hrs') {\n return hours % 6 === 0;\n }\n return false; // unsupported frequency\n }\n\n private diffInMinutes(start: Date, end: Date): number {\n return (end.getTime() - start.getTime()) / (1000 * 60);;\n }\n\n private roundHoursUp(time: Date): Date {\n \n let newTime = new Date(time);\n \n if (newTime.getMinutes() > 0 || newTime.getSeconds() > 0 || newTime.getMilliseconds() > 0) {\n newTime.setHours(newTime.getHours() + 1);\n }\n newTime.setMinutes(0, 0, 0);\n return newTime;\n }\n\n\n private roundHoursDown(time: Date) {\n let newTime = new Date(time);\n newTime.setMinutes(0, 0, 0);\n return newTime;\n }\n \n\n private initHourTicks(): void {\n this.hourTicks = [];\n\n // get first whole hour from start date\n let startHour = this.roundHoursUp(this.startWithOffset);\n\n // get last whole hour from end date\n let endHour = this.roundHoursDown(this.endWithOffset);\n\n let currentHour = new Date(startHour)\n while (currentHour <= endHour) {\n this.hourTicks.push(this.getTick(currentHour));\n currentHour.setHours(currentHour.getHours() + 1);\n }\n }\n \n //#endregion\n\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n EventEmitter\n} from '@angular/core';\nimport { TimelineCustomDateDataProvider, TimelineTickFrequency } from '../types/timeline.types';\nimport { SdsTimelineService } from '../services/timeline.service';\nimport {\n TimelineIntervalLabel,\n TimelineItem,\n TimelineItemPresentation,\n TimelinePointInTimeItem,\n TimelinePointInTimeItemPresentation,\n TimelineTick,\n} from '../models/timeline.model';\nimport { NgIf, NgFor, NgStyle, NgTemplateOutlet, NgClass } from '@angular/common';\n\n@Component({\n selector: 'sds-timeline',\n templateUrl: './timeline.component.html',\n styleUrls: ['./timeline.component.scss'],\n imports: [\n NgIf,\n NgFor,\n NgStyle,\n NgClass,\n NgTemplateOutlet,\n ]\n})\nexport class SdsTimelineComponent implements OnInit, OnChanges, AfterViewInit {\n /**\n * The start date and time for the timeline.\n *\n * @type {Date}\n * @memberof SdsTimelineComponent\n */\n @Input() start: Date = new Date();\n\n /**\n * The end date and time for the timeline.\n *\n * @type {Date}\n * @memberof SdsTimelineComponent\n */\n @Input() end: Date = new Date();\n\n /**\n * The period based items to be displayed on the timeline. Specify data if you need \n * additional data for custom rendering of the items.\n *\n * @type {TimelineItem[]}\n * @memberof SdsTimelineComponent\n */\n @Input() items: TimelineItem[] = [];\n\n /**\n * Items to be displayed on the timeline at a specific point in time.\n * Specify data if you need additional data for custom rendering of the items.\n *\n * @type {TimelinePointInTimeItem[]}\n * @memberof SdsTimelineComponent\n */\n @Input() pointInTimeItems: TimelinePointInTimeItem[] = [];\n\n /**\n * The template to be used for custom rendering of the items.\n *\n * @type {(TemplateRef<any> | undefined)}\n * @memberof SdsTimelineComponent\n */\n @Input() itemTemplate: TemplateRef<any> | undefined = undefined;\n\n /**\n * The template to be used for custom rendering of the poin-in-time items.\n *\n * @type {(TemplateRef<any> | undefined)}\n * @memberof SdsTimelineComponent\n */\n @Input() pointInTimeTemplate: TemplateRef<any> | undefined = undefined;\n\n /**\n * The template to be used for custom rendering of the day labels.\n *\n * @type {(TemplateRef<any> | undefined)}\n * @memberof SdsTimelineComponent\n */\n @Input() dayLabelTemplate: TemplateRef<any> | undefined = undefined;\n \n /**\n * A custom data function for the day labels. \n * This function takes a Date object as input and returns any custom data that will be available for the custom template\n *\n * @memberof SdsTimelineComponent\n */\n @Input() dayLabelCustomDataFn: TimelineCustomDateDataProvider | undefined = undefined;\n\n /**\n * The frequency of the ticks on the timeline.\n *\n * @type {TimelineTickFrequency}\n * @memberof SdsTimelineComponent\n */\n @Input() tickFrequency: TimelineTickFrequency = 'hourly';\n\n /**\n * The frequency of the hour labels on the timeline.\n *\n * @type {TimelineTickFrequency}\n * @memberof SdsTimelineComponent\n */\n @Input() hourLabelFrequency: TimelineTickFrequency = '3hrs';\n\n\n /**\n * The current zoom level of the timeline. In percent.\n *\n * @type {number}\n * @memberof SdsTimelineComponent\n */\n @Input() zoomPercent: number = 100;\n @Output() zoomPercentChange = new EventEmitter<number>();\n\n /**\n * Initial offset of the viewport in percent. This is used in scenarios \n * with multiple days when you want to show non-first day as defult.\n *\n * @type {number}\n * @memberof SdsTimelineComponent\n */\n @Input() viewOffsetPercent: number = 0;\n @Output() viewOffsetPercentChange = new EventEmitter<number>();\n\n /**\n * The maximum allowed zoom level of the timeline. In percent.\n *\n * @type {number}\n * @memberof SdsTimelineComponent\n */\n @Input() maxZoomPercent: number = 500;\n\n /**\n * Whether to show hour labels.\n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() showHourLabels: boolean = true;\n\n /**\n * The CSS class to be applied to the hour labels.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() hourLabelClass?: string;\n\n /**\n * Whether to show day labels. \n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() showDayLabels: boolean = false;\n\n /**\n * The CSS class to be applied to the day labels.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() dayLabelClass?: string;\n\n /**\n * Whether to show timeline. Useful for hiding the timeline when we only need header.\n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() showTimeline: boolean = true; \n\n /**\n * The CSS class to be applied to the hour ticks.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() hourTickClass?: string;\n\n /**\n * The height of the timeline. Default is 2rem.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() timelineHeight: string = '2rem';\n\n /**\n * Whether to enable zoom and drag functionality.\n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() enableZoomAndDrag: boolean = true;\n\n /**\n * Number of minutes added to start and stop to fit the data on the edges\n *\n * @type {number}\n * @memberof SdsTimelineComponent\n */\n @Input() offSetMinutes: number = 15;\n\n /**\n * The locales to be used for formatting the timeline.\n *\n * @type {(string | Array<string>)}\n * @memberof SdsTimelineComponent\n */\n @Input() locales?: string | Array<string>;\n\n /**\n * Control if those parts of segments (or whole segments) that fall into the Offset \n * period are displayed or not\n *\n * @type {boolean}\n * @memberof SdsTimelineComponent\n */\n @Input() cutOffset: boolean = false;\n\n /**\n * Sets default cursor, that should be shown when hovering over timeline component.\n * Default value is 'default'.\n *\n * @type {string}\n * @memberof SdsTimelineComponent\n */\n @Input() defaultCursor: string = \"default\";\n\n // protected\n hourTicks: TimelineTick[] = [];\n hourLabels: TimelineIntervalLabel[] = [];\n dayLabels: TimelineIntervalLabel[] = [];\n\n private _timelineService: SdsTimelineService = new SdsTimelineService(\n this.start,\n this.end,\n this.offSetMinutes,\n this.cutOffset\n );\n\n public presentationItems: TimelineItemPresentation[] = [];\n public presentationPointInTimeItems: TimelinePointInTimeItemPresentation[] = [];\n\n public isDragging = false;\n public initialDragX = 0;\n\n private viewOffsetPercentDragStart = 0;\n\n @ViewChild('viewport', { static: true }) _viewport: ElementRef | undefined;\n\n constructor() {}\n\n ngAfterViewInit(): void {\n this.generateTicks();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.start && this.end) {\n this._timelineService = new SdsTimelineService(\n this.start,\n this.end,\n this.offSetMinutes,\n this.cutOffset\n );\n this.generateTicks();\n this.generateInternalTimelineItems();\n }\n\n if (changes['start'] || changes['end'] || changes['offSetMinutes'] || changes['cutOffset']) {\n this._timelineService = new SdsTimelineService(\n this.start,\n this.end,\n this.offSetMinutes,\n this.cutOffset\n );\n this.generateTicks();\n this.generateInternalTimelineItems(); \n }\n\n if (changes['items']) {\n this.generateInternalTimelineItems();\n }\n\n if (changes['pointInTimeItems']) {\n this.generateInternalTimelinePointInTimeItems();\n }\n\n if (changes['zoomPercent']) {\n // this.viewOffsetPercent = (this.zoomPercent - 100) / -2;\n }\n\n if (changes['showDayLabels'] || changes['showHourLabels']) {\n this.generateTicks();\n } \n }\n\n ngOnInit(): void {}\n\n //#region mouse wheel zoom\n onScroll(event: WheelEvent): void {\n if (this.enableZoomAndDrag) {\n\n event.preventDefault();\n\n const delta = Math.sign(event.deltaY);\n const newZoomPercent = Math.min(\n Math.max(this.zoomPercent + -delta * 20, 100),\n this.maxZoomPercent\n );\n const deltaZoomPercent = newZoomPercent - this.zoomPercent;\n this.zoomPercent = newZoomPercent;\n this.zoomPercentChange.emit(this.zoomPercent);\n \n // get the relative position of the cursor on the viewport so we can zoom in into this position\n const x = event.clientX - this._viewport?.nativeElement.getBoundingClientRect().left;\n const cursorRelativePosition = x / this._viewport?.nativeElement.getBoundingClientRect().width;\n // this.viewOffsetPercent = this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition;\n\n this.constrainOffset(this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition);\n }\n }\n //#endregion\n\n //#region dragging\n \n public onDragStart(event: MouseEvent | TouchEvent): void {\n if (this.enableZoomAndDrag && this.zoomPercent > 100) {\n event.preventDefault();\n this.isDragging = true;\n this.viewOffsetPercentDragStart = this.viewOffsetPercent;\n\n if (event instanceof MouseEvent) {\n this.initialDragX = event.clientX;\n } else if (event instanceof TouchEvent) {\n this.initialDragX = event.touches[0].clientX;\n }\n }\n }\n\n @HostListener('window:mousemove', ['$event'])\n public onDragMove(event: MouseEvent): void {\n if (this.enableZoomAndDrag) {\n if (this.isDragging) {\n const currentX = event.clientX;\n this.moveElement(currentX);\n }\n }\n }\n\n @HostListener('window:touchmove', ['$event'])\n onDragMoveTouch(event: TouchEvent): void {\n if (this.enableZoomAndDrag) {\n if (this.isDragging) {\n const currentX = event.touches[0].clientX;\n this.moveElement(currentX);\n }\n }\n }\n\n @HostListener('window:mouseup', ['$event'])\n @HostListener('window:touchend', ['$event'])\n public onDragEnd(event: MouseEvent | TouchEvent): void {\n if (this.enableZoomAndDrag) {\n this.isDragging = false;\n }\n }\n\n private moveElement(currentX: number): void {\n const diff = currentX - this.initialDragX;\n if (this._viewport && this._viewport.nativeElement) {\n const diffInPercent = (diff / this._viewport?.nativeElement.getBoundingClientRect().width) * 100;\n // this.viewOffsetPercent = this.viewOffsetPercentDragStart + diffInPercent;\n this.constrainOffset(this.viewOffsetPercentDragStart + diffInPercent);\n }\n }\n\n //#endregion\n\n private constrainOffset(newOffset: number): void { \n if (this.zoomPercent + newOffset < 100) {\n newOffset = -this.zoomPercent + 100;\n }\n newOffset = Math.min(0, newOffset);\n if (newOffset != this.viewOffsetPercent) {\n this.viewOffsetPercent = newOffset;\n this.viewOffsetPercentChange.emit(this.viewOffsetPercent);\n }\n }\n\n private generateTicks(): void {\n this.hourTicks = this._timelineService.getHourTicks(this.tickFrequency);\n this.dayLabels = this._timelineService.getDayLabels(this.locales, this.dayLabelCustomDataFn);\n this.hourLabels = this._timelineService.getHourLabels(this.hourLabelFrequency);\n }\n\n private generateInternalTimelineItems(): void {\n const cuttOffStart = this.cutOffset ? this.start : new Date(this.start.getTime() - this.offSetMinutes * 60000);\n const cuttOffEnd = this.cutOffset ? this.end : new Date(this.end.getTime() + this.offSetMinutes * 60000);\n\n this.presentationItems = this.items\n .filter((item) => item.end < cuttOffStart || item.start > cuttOffEnd ? false : true)\n .map((item) => {\n const startTime = new Date(item.start).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\n const endTime = new Date(item.end).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\n const timeRange = `${startTime} - ${endTime}`;\n \n return {\n data: item.data,\n x: this._timelineService.getX(item.start),\n width: this._timelineService.getWidthFromTime(\n item.start,\n item.end\n ),\n hint: item.hint ?? timeRange,\n backgroundColor: item.backgroundColor,\n top: item.top ?? '50%',\n height: item.height ?? '60%',\n class: item.class,\n };\n });\n }\n\n\n private generateInternalTimelinePointInTimeItems(): void {\n const cuttOffStart = this.cutOffset ? this.start : new Date(this.start.getTime() - this.offSetMinutes * 60000);\n const cuttOffEnd = this.cutOffset ? this.end : new Date(this.end.getTime() + this.offSetMinutes * 60000);\n\n this.presentationPointInTimeItems = this.pointInTimeItems\n .filter((item) => item.date < cuttOffStart || item.date > cuttOffEnd ? false : true)\n .map((item) => {\n\n const timePointString = new Date(item.date).toLocaleTimeString(this.locales?? [], { hour: 'numeric', minute: '2-digit' });\n\n return {\n data: item.data,\n x: this._timelineService.getX(item.date),\n hint: item.hint ?? timePointString,\n top: item.top ?? '20%',\n height: item.height ?? '1rem',\n width: item.width ?? '1rem',\n class: item.class,\n backgroundColor: item.backgroundColor,\n };\n });\n }\n}\n","<ng-template #defaultItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\n {{label.label}}\n</ng-template>\n\n<div \n #viewport\n class=\"sds-timeline-viewport\"\n (wheel)=\"onScroll($event)\"\n\n (mousedown)=\"onDragStart($event)\"\n (touchstart)=\"onDragStart($event)\"\n >\n\n <div \n class=\"sds-timeline-container d-flex flex-column\"\n [style.left.%]=\"viewOffsetPercent\"\n [style.width.%]=\"zoomPercent\"\n [style.cursor]=\"isDragging ? 'ew-resize' : defaultCursor\"\n >\n\n <div\n *ngIf=\"showDayLabels\" \n class=\"sds-timeline-day-header\">\n\n <div \n *ngFor=\"let label of dayLabels\"\n class=\"sds-day-label\" \n [ngClass]=\"dayLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.%]=\"label.width\"\n >\n <ng-container \n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\n [ngTemplateOutletContext]=\"{label: label}\">\n </ng-container> \n </div>\n </div>\n\n <div \n *ngIf=\"showHourLabels\" \n class=\"sds-timeline-hour-header\">\n\n <div \n *ngFor=\"let label of hourLabels;\"\n class=\"sds-hour-label\" \n [ngClass]=\"hourLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.rem]=\"1.2\"\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\n >\n \n {{label.label}}\n \n </div>\n </div>\n\n <div \n *ngIf=\"showTimeline\"\n class=\"sds-timeline flex-grow-1\"\n [style.height]=\"timelineHeight\"\n >\n\n <div \n *ngFor=\"let tick of hourTicks\"\n class=\"sds-timeline-tick\" \n [ngClass]=\"hourTickClass ?? null\"\t\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\n >\n </div>\n\n <div \n *ngFor=\"let item of presentationItems\"\n class=\"sds-timeline-item-container\"\n [ngClass]=\"item.class ?? null\"\n [ngStyle]=\"{\n 'width': 'max(' + item.width +'%, 1px)',\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n }\"\n\n [style.left.%]=\"item.x\"\n [style.height]=\"item.height\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n </div>\n\n\n <!-- [ngClass]=\"item.class\"\t -->\n <div *ngFor=\"let item of presentationPointInTimeItems\"\n class=\"sds-timeline-point-in-time-item-container\"\n [ngClass]=\"item.class ?? null\"\n [style.height]=\"item.height\"\n [style.width]=\"item.width\"\n [ngStyle]=\"{\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\n \n }\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n\n </div>\n\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -184,10 +184,10 @@ class SdsTimerService {
184
184
  });
185
185
  this._subscriptions.push(ticksSubscription);
186
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' }); }
187
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTimerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
188
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTimerService, providedIn: 'root' }); }
189
189
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimerService, decorators: [{
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTimerService, decorators: [{
191
191
  type: Injectable,
192
192
  args: [{
193
193
  providedIn: 'root'
@@ -1 +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":["/**\n * @public @function timeToNextFifteenMinutesInterval\n * @description\n * Function responsible for calc of time until next fifteen minutes interval. By fifteen minutes interval\n * we mean (e.g. 08:15, 08:30, 08:45,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextFifteenMinutesInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 900;\n\n const numberOfSecondsToTheNextInterval = 900 - numberOfSecondsIntoTheCurrentInterval;\n return numberOfSecondsToTheNextInterval;\n}\n\n/**\n * @public @function timeToNextFiveMinutesInterval\n * @description\n * Function responsible for calc of time until next five minutes interval. By five minutes interval\n * we mean (e.g. 08:05, 08:10, 08:15,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextFiveMinutesInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 300;\n\n const numberOfSecondsToTheNextInterval = 300 - numberOfSecondsIntoTheCurrentInterval;\n return numberOfSecondsToTheNextInterval;\n}\n\n/**\n * @public @function timeToNextHour\n * @description\n * Function responsible for calc of time until next hour\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextHour = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentHour = timestampSeconds % 3600;\n\n const numberOfSecondsToTheNextHour = 3600 - numberOfSecondsIntoTheCurrentHour;\n return numberOfSecondsToTheNextHour;\n };\n\n /**\n * @public @function timeToNextHalfHour\n * @description\n * Function responsible for calc of time until half hour\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextHalfHour = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentHalfHour = timestampSeconds % 1800;\n\n const numberOfSecondsToTheNextHalfHour = 1800 - numberOfSecondsIntoTheCurrentHalfHour;\n return numberOfSecondsToTheNextHalfHour;\n };\n\n/**\n * @public @function timeToNextMinuteInterval\n * @description\n * Function responsible for calc of time until next minute interval. By minute interval\n * we mean (e.g. 08:00, 08:01, 08:02,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextMinuteInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 60;\n\n const numberOfSecondsToTheNextInterval = 60 - numberOfSecondsIntoTheCurrentInterval;\n return numberOfSecondsToTheNextInterval;\n}\n\n/**\n * @public @function timeToNextSecondInterval\n * @description\n * Function responsible for calc of time until next second interval. By second interval\n * we mean (e.g. 08:00:01, 08:00:01, 08:00:02,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextSecondInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp;\n\n const numberOfMilisecSecondsIntoTheCurrentInterval = timestampSeconds % 999;\n\n const numberOfMilisecondsSecondsToTheNextInterval = 999 - numberOfMilisecSecondsIntoTheCurrentInterval;\n return numberOfMilisecondsSecondsToTheNextInterval;\n}\n\n/**\n * @public @function timeToNextTenMinutesInterval\n * @description\n * Function responsible for calc of time until next ten minutes interval. By ten minutes interval\n * we mean (e.g. 08:10, 08:20, 08:30,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextTenMinutesInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 600;\n\n const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;\n return numberOfSecondsToTheNextInterval;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription, interval } from 'rxjs';\nimport { timeToNextFifteenMinutesInterval, timeToNextFiveMinutesInterval, timeToNextHalfHour, timeToNextHour, timeToNextMinuteInterval, timeToNextSecondInterval, timeToNextTenMinutesInterval } from '../utils';\nimport { debounceTime, skip } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SdsTimerService {\n /**\n * @description\n * Timer emitted every 15 minutes (e.g. 08:00, 08:15, 08:30, etc.)\n */\n public fifteenMinutesInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every 5 minutes (e.g. 08:00, 08:05, 08:10, etc.)\n */\n public fiveMinutesInterval$: Observable<void>;\n\n /**\n * @description\n * Timer that invokes each full hour\n */\n public fullHourInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every 30 minutes at full and half hour (e.g. at 10:00, 10:30, 11:00, etc.)\n */\n public halfHourInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every minute (e.g. 08:00, 08:01, 08:02, etc.)\n */\n public minuteInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every second\n */\n public secondsInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every 10 minutes (e.g. 08:00, 08:10, 08:20, etc.)\n */\n public tenMinutesInterval$: Observable<void>;\n\n /**\n * @description\n * Source for fifteen minute interval\n */\n private _fifteenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\n\n /**\n * @description\n * Source for five minute interval\n */\n private _fiveMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\n\n /**\n * @description\n * Source for half hour interval\n */\n private _fullHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\n undefined\n );\n\n /**\n * @description\n * Source for half hour interval\n */\n private _halfHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\n undefined\n );\n\n /**\n * @description\n * Source for minute interval\n */\n private _minuteInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\n\n /**\n * @description\n * Source for secong interval\n */\n private _secondsInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined);\n\n /**\n * @description\n * Source for ten minutes interval\n */\n private _tenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\n\n private _subscriptions: Subscription[] = [];\n\nconstructor() {\n this.fifteenMinutesInterval$ = this._fifteenMinutesInterval.asObservable().pipe(skip(1));\n this.fiveMinutesInterval$ = this._fiveMinutesInterval.asObservable().pipe(skip(1));\n this.fullHourInterval$ = this._fullHourInterval.asObservable().pipe(skip(1));\n this.halfHourInterval$ = this._halfHourInterval.asObservable().pipe(skip(1));\n this.minuteInterval$ = this._minuteInterval.asObservable().pipe().pipe(skip(1));\n this.secondsInterval$ = this._secondsInterval.asObservable().pipe(skip(1));\n this.tenMinutesInterval$ = this._tenMinutesInterval.asObservable().pipe(skip(1));\n\n const timeOffsetToFullSecond = timeToNextSecondInterval(new Date().getTime())\n\n // This observable will invoke each second while app is running\n const ticksSubscription: Subscription = interval(1000).pipe(debounceTime(timeOffsetToFullSecond)).subscribe(\n intervalTick => {\n const now = new Date().getTime();\n\n const timeRemainingToNextMinuteInterval = timeToNextMinuteInterval(now);\n\n const timeRemaingingToNextFiveMinutesInterval = timeToNextFiveMinutesInterval(now);\n\n const timeRemainingToNextTenMinutesInterval = timeToNextTenMinutesInterval(now);\n\n const timeRemainingToNextFifteenMinutesInterval = timeToNextFifteenMinutesInterval(now);\n\n const timeRemainingToNextFullHour = timeToNextHour(\n now\n );\n\n const timeRemainingToNextHalfHour = timeToNextHalfHour(\n now\n );\n\n this._secondsInterval.next();\n\n // Check if its minute tick\n if (timeRemainingToNextMinuteInterval > 59) {\n this._minuteInterval.next();\n }\n\n // Check if its five minute interval tick\n if (timeRemaingingToNextFiveMinutesInterval > 299) {\n this._fiveMinutesInterval.next();\n }\n\n // Check if its ten minute interval\n if (timeRemainingToNextTenMinutesInterval > 599) {\n this._tenMinutesInterval.next();\n }\n\n // Check if its fifteen minute interval\n if (timeRemainingToNextFifteenMinutesInterval > 899) {\n this._fifteenMinutesInterval.next();\n }\n\n // Check if its half hour tick\n if (timeRemainingToNextHalfHour > 1799) {\n this._halfHourInterval.next();\n }\n\n // Check if its full hour tick\n if (timeRemainingToNextFullHour > 3599) {\n this._fullHourInterval.next();\n }\n\n // Define any additional intervals that might be needed\n }\n );\n\n this._subscriptions.push(ticksSubscription);\n}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAAA;;;;;;;AAOG;AACU,MAAA,gCAAgC,GAAG,CAAC,gBAAwB,KAAI;AACzE,IAAA,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,IAAI;AAEhD,IAAA,MAAM,qCAAqC,GAAG,gBAAgB,GAAG,GAAG;AAEpE,IAAA,MAAM,gCAAgC,GAAG,GAAG,GAAG,qCAAqC;AACpF,IAAA,OAAO,gCAAgC;AAC3C;AAEA;;;;;;;AAOG;AACU,MAAA,6BAA6B,GAAG,CAAC,gBAAwB,KAAI;AACtE,IAAA,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,IAAI;AAEhD,IAAA,MAAM,qCAAqC,GAAG,gBAAgB,GAAG,GAAG;AAEpE,IAAA,MAAM,gCAAgC,GAAG,GAAG,GAAG,qCAAqC;AACpF,IAAA,OAAO,gCAAgC;AAC3C;AAEA;;;;;;AAMG;AACU,MAAA,cAAc,GAAG,CAAC,gBAAwB,KAAI;AACvD,IAAA,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,IAAI;AAEhD,IAAA,MAAM,iCAAiC,GAAG,gBAAgB,GAAG,IAAI;AAEjE,IAAA,MAAM,4BAA4B,GAAG,IAAI,GAAG,iCAAiC;AAC7E,IAAA,OAAO,4BAA4B;AACrC;AAEA;;;;;;AAMG;AACQ,MAAA,kBAAkB,GAAG,CAAC,gBAAwB,KAAI;AAC3D,IAAA,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,IAAI;AAEhD,IAAA,MAAM,qCAAqC,GAAG,gBAAgB,GAAG,IAAI;AAErE,IAAA,MAAM,gCAAgC,GAAG,IAAI,GAAG,qCAAqC;AACrF,IAAA,OAAO,gCAAgC;AACzC;AAEF;;;;;;;AAOG;AACU,MAAA,wBAAwB,GAAG,CAAC,gBAAwB,KAAI;AACjE,IAAA,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,IAAI;AAEhD,IAAA,MAAM,qCAAqC,GAAG,gBAAgB,GAAG,EAAE;AAEnE,IAAA,MAAM,gCAAgC,GAAG,EAAE,GAAG,qCAAqC;AACnF,IAAA,OAAO,gCAAgC;AAC3C;AAEA;;;;;;;AAOG;AACU,MAAA,wBAAwB,GAAG,CAAC,gBAAwB,KAAI;IACjE,MAAM,gBAAgB,GAAG,gBAAgB;AAEzC,IAAA,MAAM,4CAA4C,GAAG,gBAAgB,GAAG,GAAG;AAE3E,IAAA,MAAM,2CAA2C,GAAG,GAAG,GAAG,4CAA4C;AACtG,IAAA,OAAO,2CAA2C;AACtD;AAEA;;;;;;;AAOG;AACU,MAAA,4BAA4B,GAAG,CAAC,gBAAwB,KAAI;AACrE,IAAA,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,IAAI;AAEhD,IAAA,MAAM,qCAAqC,GAAG,gBAAgB,GAAG,GAAG;AAEpE,IAAA,MAAM,gCAAgC,GAAG,GAAG,GAAG,qCAAqC;AACpF,IAAA,OAAO,gCAAgC;AAC3C;;MC3Ga,eAAe,CAAA;AA2F5B,IAAA,WAAA,GAAA;AAhDI;;;AAGG;AACK,QAAA,IAAA,CAAA,uBAAuB,GAA0B,IAAI,eAAe,CAAO,SAAS,CAAC;AAE7F;;;AAGG;AACK,QAAA,IAAA,CAAA,oBAAoB,GAA0B,IAAI,eAAe,CAAO,SAAS,CAAC;AAE1F;;;AAGG;AACK,QAAA,IAAA,CAAA,iBAAiB,GAA0B,IAAI,eAAe,CACtE,SAAS,CACR;AAED;;;AAGG;AACK,QAAA,IAAA,CAAA,iBAAiB,GAA0B,IAAI,eAAe,CACtE,SAAS,CACR;AAED;;;AAGG;AACK,QAAA,IAAA,CAAA,eAAe,GAA0B,IAAI,eAAe,CAAO,SAAS,CAAC;AAErF;;;AAGG;AACK,QAAA,IAAA,CAAA,gBAAgB,GAA0B,IAAI,eAAe,CAAO,SAAS,CAAC;AAEtF;;;AAGG;AACK,QAAA,IAAA,CAAA,mBAAmB,GAA0B,IAAI,eAAe,CAAO,SAAS,CAAC;QAEjF,IAAc,CAAA,cAAA,GAAmB,EAAE;AAG3C,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEhF,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;;AAG7E,QAAA,MAAM,iBAAiB,GAAiB,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CACvG,YAAY,IAAG;YACX,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AAEpC,YAAA,MAAM,iCAAiC,GAAG,wBAAwB,CAAC,GAAG,CAAC;AAEvE,YAAA,MAAM,uCAAuC,GAAG,6BAA6B,CAAC,GAAG,CAAC;AAElF,YAAA,MAAM,qCAAqC,GAAG,4BAA4B,CAAC,GAAG,CAAC;AAE/E,YAAA,MAAM,yCAAyC,GAAG,gCAAgC,CAAC,GAAG,CAAC;AAEvF,YAAA,MAAM,2BAA2B,GAAG,cAAc,CAC9C,GAAG,CACN;AAED,YAAA,MAAM,2BAA2B,GAAG,kBAAkB,CAClD,GAAG,CACN;AAED,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;;AAG5B,YAAA,IAAI,iCAAiC,GAAG,EAAE,EAAE;AACxC,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;;;AAI/B,YAAA,IAAI,uCAAuC,GAAG,GAAG,EAAE;AAC/C,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE;;;AAIpC,YAAA,IAAI,qCAAqC,GAAG,GAAG,EAAE;AAC7C,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;;;AAInC,YAAA,IAAI,yCAAyC,GAAG,GAAG,EAAE;AACjD,gBAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE;;;AAIvC,YAAA,IAAI,2BAA2B,GAAG,IAAI,EAAE;AACpC,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;;;AAIjC,YAAA,IAAI,2BAA2B,GAAG,IAAI,EAAE;AACpC,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;;;AAIjC,SAAC,CACJ;AAED,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC;;+GA/JlC,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
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":["/**\n * @public @function timeToNextFifteenMinutesInterval\n * @description\n * Function responsible for calc of time until next fifteen minutes interval. By fifteen minutes interval\n * we mean (e.g. 08:15, 08:30, 08:45,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextFifteenMinutesInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 900;\n\n const numberOfSecondsToTheNextInterval = 900 - numberOfSecondsIntoTheCurrentInterval;\n return numberOfSecondsToTheNextInterval;\n}\n\n/**\n * @public @function timeToNextFiveMinutesInterval\n * @description\n * Function responsible for calc of time until next five minutes interval. By five minutes interval\n * we mean (e.g. 08:05, 08:10, 08:15,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextFiveMinutesInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 300;\n\n const numberOfSecondsToTheNextInterval = 300 - numberOfSecondsIntoTheCurrentInterval;\n return numberOfSecondsToTheNextInterval;\n}\n\n/**\n * @public @function timeToNextHour\n * @description\n * Function responsible for calc of time until next hour\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextHour = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentHour = timestampSeconds % 3600;\n\n const numberOfSecondsToTheNextHour = 3600 - numberOfSecondsIntoTheCurrentHour;\n return numberOfSecondsToTheNextHour;\n };\n\n /**\n * @public @function timeToNextHalfHour\n * @description\n * Function responsible for calc of time until half hour\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextHalfHour = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentHalfHour = timestampSeconds % 1800;\n\n const numberOfSecondsToTheNextHalfHour = 1800 - numberOfSecondsIntoTheCurrentHalfHour;\n return numberOfSecondsToTheNextHalfHour;\n };\n\n/**\n * @public @function timeToNextMinuteInterval\n * @description\n * Function responsible for calc of time until next minute interval. By minute interval\n * we mean (e.g. 08:00, 08:01, 08:02,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextMinuteInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 60;\n\n const numberOfSecondsToTheNextInterval = 60 - numberOfSecondsIntoTheCurrentInterval;\n return numberOfSecondsToTheNextInterval;\n}\n\n/**\n * @public @function timeToNextSecondInterval\n * @description\n * Function responsible for calc of time until next second interval. By second interval\n * we mean (e.g. 08:00:01, 08:00:01, 08:00:02,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextSecondInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp;\n\n const numberOfMilisecSecondsIntoTheCurrentInterval = timestampSeconds % 999;\n\n const numberOfMilisecondsSecondsToTheNextInterval = 999 - numberOfMilisecSecondsIntoTheCurrentInterval;\n return numberOfMilisecondsSecondsToTheNextInterval;\n}\n\n/**\n * @public @function timeToNextTenMinutesInterval\n * @description\n * Function responsible for calc of time until next ten minutes interval. By ten minutes interval\n * we mean (e.g. 08:10, 08:20, 08:30,...)\n * @param { number } currentTimestampMs\n * @returns { number }\n */\nexport const timeToNextTenMinutesInterval = (currentTimestamp: number) => {\n const timestampSeconds = currentTimestamp / 1000;\n\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 600;\n\n const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;\n return numberOfSecondsToTheNextInterval;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription, interval } from 'rxjs';\nimport { timeToNextFifteenMinutesInterval, timeToNextFiveMinutesInterval, timeToNextHalfHour, timeToNextHour, timeToNextMinuteInterval, timeToNextSecondInterval, timeToNextTenMinutesInterval } from '../utils';\nimport { debounceTime, skip } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SdsTimerService {\n /**\n * @description\n * Timer emitted every 15 minutes (e.g. 08:00, 08:15, 08:30, etc.)\n */\n public fifteenMinutesInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every 5 minutes (e.g. 08:00, 08:05, 08:10, etc.)\n */\n public fiveMinutesInterval$: Observable<void>;\n\n /**\n * @description\n * Timer that invokes each full hour\n */\n public fullHourInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every 30 minutes at full and half hour (e.g. at 10:00, 10:30, 11:00, etc.)\n */\n public halfHourInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every minute (e.g. 08:00, 08:01, 08:02, etc.)\n */\n public minuteInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every second\n */\n public secondsInterval$: Observable<void>;\n\n /**\n * @description\n * Timer emitted every 10 minutes (e.g. 08:00, 08:10, 08:20, etc.)\n */\n public tenMinutesInterval$: Observable<void>;\n\n /**\n * @description\n * Source for fifteen minute interval\n */\n private _fifteenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\n\n /**\n * @description\n * Source for five minute interval\n */\n private _fiveMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\n\n /**\n * @description\n * Source for half hour interval\n */\n private _fullHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\n undefined\n );\n\n /**\n * @description\n * Source for half hour interval\n */\n private _halfHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\n undefined\n );\n\n /**\n * @description\n * Source for minute interval\n */\n private _minuteInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\n\n /**\n * @description\n * Source for secong interval\n */\n private _secondsInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined);\n\n /**\n * @description\n * Source for ten minutes interval\n */\n private _tenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\n\n private _subscriptions: Subscription[] = [];\n\nconstructor() {\n this.fifteenMinutesInterval$ = this._fifteenMinutesInterval.asObservable().pipe(skip(1));\n this.fiveMinutesInterval$ = this._fiveMinutesInterval.asObservable().pipe(skip(1));\n this.fullHourInterval$ = this._fullHourInterval.asObservable().pipe(skip(1));\n this.halfHourInterval$ = this._halfHourInterval.asObservable().pipe(skip(1));\n this.minuteInterval$ = this._minuteInterval.asObservable().pipe().pipe(skip(1));\n this.secondsInterval$ = this._secondsInterval.asObservable().pipe(skip(1));\n this.tenMinutesInterval$ = this._tenMinutesInterval.asObservable().pipe(skip(1));\n\n const timeOffsetToFullSecond = timeToNextSecondInterval(new Date().getTime())\n\n // This observable will invoke each second while app is running\n const ticksSubscription: Subscription = interval(1000).pipe(debounceTime(timeOffsetToFullSecond)).subscribe(\n intervalTick => {\n const now = new Date().getTime();\n\n const timeRemainingToNextMinuteInterval = timeToNextMinuteInterval(now);\n\n const timeRemaingingToNextFiveMinutesInterval = timeToNextFiveMinutesInterval(now);\n\n const timeRemainingToNextTenMinutesInterval = timeToNextTenMinutesInterval(now);\n\n const timeRemainingToNextFifteenMinutesInterval = timeToNextFifteenMinutesInterval(now);\n\n const timeRemainingToNextFullHour = timeToNextHour(\n now\n );\n\n const timeRemainingToNextHalfHour = timeToNextHalfHour(\n now\n );\n\n this._secondsInterval.next();\n\n // Check if its minute tick\n if (timeRemainingToNextMinuteInterval > 59) {\n this._minuteInterval.next();\n }\n\n // Check if its five minute interval tick\n if (timeRemaingingToNextFiveMinutesInterval > 299) {\n this._fiveMinutesInterval.next();\n }\n\n // Check if its ten minute interval\n if (timeRemainingToNextTenMinutesInterval > 599) {\n this._tenMinutesInterval.next();\n }\n\n // Check if its fifteen minute interval\n if (timeRemainingToNextFifteenMinutesInterval > 899) {\n this._fifteenMinutesInterval.next();\n }\n\n // Check if its half hour tick\n if (timeRemainingToNextHalfHour > 1799) {\n this._halfHourInterval.next();\n }\n\n // Check if its full hour tick\n if (timeRemainingToNextFullHour > 3599) {\n this._fullHourInterval.next();\n }\n\n // Define any additional intervals that might be needed\n }\n );\n\n this._subscriptions.push(ticksSubscription);\n}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -13,12 +13,12 @@ class SdsTooltipComponent {
13
13
  this.theme = 'dark';
14
14
  }
15
15
  ngOnInit() { }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsTooltipComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"sds-tooltip\"\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\n [class.sds-tooltip-visible]=\"visible\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n >\n <fa-icon class=\"sds-tooltip-icon\"\n *ngIf=\"tooltipIcon\" \n [icon]=\"tooltipIcon\">\n </fa-icon>\n\n <small class=\"sds-tooltip-text\">\n {{ tooltip }}\n </small>\n\n</div>\n", styles: [".sds-tooltip{position:fixed;background-color:#000;border-radius:4px;color:#fff;padding:3px 6px;max-width:15rem;z-index:10700;opacity:0}.sds-tooltip fa-icon{margin-right:.25rem}.sds-tooltip-visible{opacity:1;transition:opacity .3s}.sds-tooltip-light{background-color:var(--bs-gray-200);color:#000}.sds-tooltip-dark{background-color:#000;color:#fff}.sds-tooltip-danger{background-color:var(--bs-danger);color:#fff}.sds-tooltip-success{background-color:var(--bs-success);color:#fff}.sds-tooltip-warning{background-color:var(--bs-warning);color:var(--bs-gray-900)}.sds-tooltip-info{background-color:var(--bs-info);color:#fff}.sds-tooltip-classic{background-color:#fff;color:#000;border:1px solid gray}.sds-tooltip-below{transform:translate(-50%);margin-top:.5rem}.sds-tooltip-above{transform:translate(-50%,calc(-100% - .5rem));margin-bottom:.5rem}.sds-tooltip-left{transform:translate(calc(-100% - .5rem),-50%)}.sds-tooltip-right{transform:translateY(-50%);margin-left:.5rem}.sds-tooltip-dynamic{margin-left:20px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsTooltipComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"sds-tooltip\"\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\n [class.sds-tooltip-visible]=\"visible\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n >\n <fa-icon class=\"sds-tooltip-icon\"\n *ngIf=\"tooltipIcon\" \n [icon]=\"tooltipIcon\">\n </fa-icon>\n\n <small class=\"sds-tooltip-text\">\n {{ tooltip }}\n </small>\n\n</div>\n", styles: [".sds-tooltip{position:fixed;background-color:#000;border-radius:4px;color:#fff;padding:3px 6px;max-width:15rem;z-index:10700;opacity:0}.sds-tooltip fa-icon{margin-right:.25rem}.sds-tooltip-visible{opacity:1;transition:opacity .3s}.sds-tooltip-light{background-color:var(--bs-gray-200);color:#000}.sds-tooltip-dark{background-color:#000;color:#fff}.sds-tooltip-danger{background-color:var(--bs-danger);color:#fff}.sds-tooltip-success{background-color:var(--bs-success);color:#fff}.sds-tooltip-warning{background-color:var(--bs-warning);color:var(--bs-gray-900)}.sds-tooltip-info{background-color:var(--bs-info);color:#fff}.sds-tooltip-classic{background-color:#fff;color:#000;border:1px solid gray}.sds-tooltip-below{transform:translate(-50%);margin-top:.5rem}.sds-tooltip-above{transform:translate(-50%,calc(-100% - .5rem));margin-bottom:.5rem}.sds-tooltip-left{transform:translate(calc(-100% - .5rem),-50%)}.sds-tooltip-right{transform:translateY(-50%);margin-left:.5rem}.sds-tooltip-dynamic{margin-left:20px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTooltipComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTooltipComponent, decorators: [{
20
20
  type: Component,
21
- args: [{ standalone: true, imports: [
21
+ args: [{ imports: [
22
22
  NgClass,
23
23
  NgIf,
24
24
  FaIconComponent,
@@ -190,10 +190,10 @@ class SdsTooltipDirective {
190
190
  this.componentRef = null;
191
191
  }
192
192
  }
193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
194
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SdsTooltipDirective, isStandalone: true, selector: "[sdsTooltip]", inputs: { tooltip: "tooltip", tooltipClass: "tooltipClass", tooltipIcon: "tooltipIcon", position: "position", theme: "theme", showDelay: "showDelay", hideDelay: "hideDelay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousemove": "onMouseMove($event)", "touchstart": "onTouchStart($event)", "touchend": "onTouchEnd()" } }, usesOnChanges: true, ngImport: i0 }); }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
194
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SdsTooltipDirective, isStandalone: true, selector: "[sdsTooltip]", inputs: { tooltip: "tooltip", tooltipClass: "tooltipClass", tooltipIcon: "tooltipIcon", position: "position", theme: "theme", showDelay: "showDelay", hideDelay: "hideDelay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousemove": "onMouseMove($event)", "touchstart": "onTouchStart($event)", "touchend": "onTouchEnd()" } }, usesOnChanges: true, ngImport: i0 }); }
195
195
  }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTooltipDirective, decorators: [{
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsTooltipDirective, decorators: [{
197
197
  type: Directive,
198
198
  args: [{
199
199
  selector: '[sdsTooltip]',