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