@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
@@ -0,0 +1,49 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import { faEllipsis } from '@fortawesome/pro-regular-svg-icons';
3
+ import { FaIconComponent } from '@fortawesome/angular-fontawesome';
4
+ import { NgIf } from '@angular/common';
5
+ import { DxPopoverModule } from 'devextreme-angular';
6
+ import { DxoPositionModule } from 'devextreme-angular/ui/nested';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "devextreme-angular";
9
+ import * as i2 from "devextreme-angular/ui/nested";
10
+ export class SdsTableActionsComponent {
11
+ constructor() {
12
+ this.dropdownIcon = faEllipsis;
13
+ // @Input() showShadow: boolean = false;
14
+ this.dropDownAutoClose = 'true';
15
+ this.dropdownMinWidth = '10rem';
16
+ this.hideActionsDropdown = false;
17
+ this.showDropdown = false;
18
+ }
19
+ ngOnInit() { }
20
+ toggleDropdownMenu() {
21
+ this.showDropdown = !this.showDropdown;
22
+ }
23
+ closeDropdownMenu() {
24
+ this.showDropdown = false;
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTableActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsTableActionsComponent, isStandalone: true, selector: "sds-table-actions", inputs: { dropdownIcon: "dropdownIcon", dropDownAutoClose: "dropDownAutoClose", dropdownMinWidth: "dropdownMinWidth", hideActionsDropdown: "hideActionsDropdown" }, host: { properties: { "class.actions-dropdown-open": "this.showDropdown" } }, ngImport: i0, template: "<div class=\"sds-actions-container me-2\">\r\n <div class=\"btn-group sds-actions-wrapper\">\r\n <ng-content select=\"quickActions\"></ng-content>\r\n\r\n <ng-container *ngIf=\"!hideActionsDropdown\">\r\n \r\n <button\r\n #dropdownButton\r\n class=\"sds-actions-dropdown-button sds-btn-table\"\r\n type=\"button\"\r\n (click)=\"toggleDropdownMenu()\"\r\n >\r\n <fa-icon [icon]=\"dropdownIcon\" [fixedWidth]=\"true\" [size]=\"'sm'\">\r\n </fa-icon>\r\n </button>\r\n\r\n <dx-popover\r\n [target]=\"dropdownButton\"\r\n [(visible)]=\"showDropdown\"\r\n [minWidth]=\"dropdownMinWidth\"\r\n [wrapperAttr]=\"{ class: 'sds-actions-dropdown' }\"\r\n >\r\n <dxo-position\r\n my=\"right top\"\r\n at=\"right bottom\"\r\n [of]=\"dropdownButton\"\r\n >\r\n <dxo-offset [y]=\"-7\"></dxo-offset>\r\n </dxo-position>\r\n\r\n <ul class=\"sds-table-dropdown-menu\" (click)=\"closeDropdownMenu()\">\r\n <ng-content></ng-content>\r\n </ul>\r\n </dx-popover>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .dx-datagrid-rowsview:has(sds-table-actions){overflow:visible}.sds-actions-dropdown-container{list-style:none}::ng-deep .sds-actions-dropdown .dx-popover-arrow{display:none}::ng-deep .sds-actions-dropdown .dx-popup-content{padding:0rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu{list-style:none;padding-left:0;margin-bottom:.25rem;margin-top:.25rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item{padding:.5rem 1rem;font-size:.9rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:hover{background-color:var(--bs-gray-200)}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:active{background-color:var(--bs-primary);color:#fff}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-divider{background-color:var(--bs-border-color-translucent);height:1px;margin-top:.25rem;margin-bottom:.25rem}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open),.sds-row:has(sds-table-actions.actions-dropdown-open){background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) td,.sds-row:has(sds-table-actions.actions-dropdown-open) td{background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{border-color:var(--bs-gray-500)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{background-color:var(--bs-gray-200)!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i1.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i2.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i2.DxoOffsetComponent, selector: "dxo-offset", inputs: ["x", "y"] }, { kind: "ngmodule", type: DxoPositionModule }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTableActionsComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'sds-table-actions', standalone: true, imports: [
32
+ NgIf,
33
+ FaIconComponent,
34
+ DxPopoverModule,
35
+ DxoPositionModule
36
+ ], template: "<div class=\"sds-actions-container me-2\">\r\n <div class=\"btn-group sds-actions-wrapper\">\r\n <ng-content select=\"quickActions\"></ng-content>\r\n\r\n <ng-container *ngIf=\"!hideActionsDropdown\">\r\n \r\n <button\r\n #dropdownButton\r\n class=\"sds-actions-dropdown-button sds-btn-table\"\r\n type=\"button\"\r\n (click)=\"toggleDropdownMenu()\"\r\n >\r\n <fa-icon [icon]=\"dropdownIcon\" [fixedWidth]=\"true\" [size]=\"'sm'\">\r\n </fa-icon>\r\n </button>\r\n\r\n <dx-popover\r\n [target]=\"dropdownButton\"\r\n [(visible)]=\"showDropdown\"\r\n [minWidth]=\"dropdownMinWidth\"\r\n [wrapperAttr]=\"{ class: 'sds-actions-dropdown' }\"\r\n >\r\n <dxo-position\r\n my=\"right top\"\r\n at=\"right bottom\"\r\n [of]=\"dropdownButton\"\r\n >\r\n <dxo-offset [y]=\"-7\"></dxo-offset>\r\n </dxo-position>\r\n\r\n <ul class=\"sds-table-dropdown-menu\" (click)=\"closeDropdownMenu()\">\r\n <ng-content></ng-content>\r\n </ul>\r\n </dx-popover>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .dx-datagrid-rowsview:has(sds-table-actions){overflow:visible}.sds-actions-dropdown-container{list-style:none}::ng-deep .sds-actions-dropdown .dx-popover-arrow{display:none}::ng-deep .sds-actions-dropdown .dx-popup-content{padding:0rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu{list-style:none;padding-left:0;margin-bottom:.25rem;margin-top:.25rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item{padding:.5rem 1rem;font-size:.9rem}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:hover{background-color:var(--bs-gray-200)}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-item:active{background-color:var(--bs-primary);color:#fff}::ng-deep .sds-actions-dropdown .sds-table-dropdown-menu .dropdown-divider{background-color:var(--bs-border-color-translucent);height:1px;margin-top:.25rem;margin-bottom:.25rem}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open),.sds-row:has(sds-table-actions.actions-dropdown-open){background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) td,.sds-row:has(sds-table-actions.actions-dropdown-open) td{background-color:var(--bs-gray-300)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-action-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{border-color:var(--bs-gray-500)!important}::ng-deep .dx-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button,.sds-row:has(sds-table-actions.actions-dropdown-open) sds-table-actions .sds-actions-dropdown-button{background-color:var(--bs-gray-200)!important}\n"] }]
37
+ }], ctorParameters: () => [], propDecorators: { dropdownIcon: [{
38
+ type: Input
39
+ }], dropDownAutoClose: [{
40
+ type: Input
41
+ }], dropdownMinWidth: [{
42
+ type: Input
43
+ }], hideActionsDropdown: [{
44
+ type: Input
45
+ }], showDropdown: [{
46
+ type: HostBinding,
47
+ args: ['class.actions-dropdown-open']
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90YWJsZS1hY3Rpb25zL3RhYmxlLWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGFibGUtYWN0aW9ucy90YWJsZS1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBZWpFLE1BQU0sT0FBTyx3QkFBd0I7SUFXakM7UUFUUyxpQkFBWSxHQUFhLFVBQVUsQ0FBQztRQUM3Qyx3Q0FBd0M7UUFDL0Isc0JBQWlCLEdBQTRDLE1BQU0sQ0FBQztRQUNwRSxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7UUFDbkMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRVEsaUJBQVksR0FBWSxLQUFLLENBQUM7SUFLakYsQ0FBQztJQUVKLFFBQVEsS0FBVSxDQUFDO0lBSVQsa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNDLENBQUM7SUFFUyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQzsrR0F6QlEsd0JBQXdCO21HQUF4Qix3QkFBd0IsK1RDckJyQyxrNENBcUNBLHE4RER2QlEsSUFBSSw2RkFDSixlQUFlLGlQQUVmLGVBQWUsb2tEQUNmLGlCQUFpQjs7NEZBR1osd0JBQXdCO2tCQWJwQyxTQUFTOytCQUNJLG1CQUFtQixjQUdqQixJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixlQUFlO3dCQUVmLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNwQjt3REFJUSxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVnRCxZQUFZO3NCQUFqRSxXQUFXO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWNvblByb3AgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUnO1xyXG5pbXBvcnQgeyBmYUVsbGlwc2lzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3Byby1yZWd1bGFyLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7IEZhSWNvbkNvbXBvbmVudCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IER4UG9wb3Zlck1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XHJcbmltcG9ydCB7IER4b1Bvc2l0aW9uTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLXRhYmxlLWFjdGlvbnMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIEZhSWNvbkNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgRHhQb3BvdmVyTW9kdWxlLFxyXG4gICAgICAgIER4b1Bvc2l0aW9uTW9kdWxlXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzVGFibGVBY3Rpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBkcm9wZG93bkljb246IEljb25Qcm9wID0gZmFFbGxpcHNpcztcclxuICAgIC8vIEBJbnB1dCgpIHNob3dTaGFkb3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGRyb3BEb3duQXV0b0Nsb3NlOiAndHJ1ZScgfCAnZmFsc2UnIHwgJ2luc2lkZScgfCAnb3V0c2lkZScgPSAndHJ1ZSc7XHJcbiAgICBASW5wdXQoKSBkcm9wZG93bk1pbldpZHRoOiBzdHJpbmcgPSAnMTByZW0nO1xyXG4gICAgQElucHV0KCkgaGlkZUFjdGlvbnNEcm9wZG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aW9ucy1kcm9wZG93bi1vcGVuJykgcHJvdGVjdGVkIHNob3dEcm9wZG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcblxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcblxyXG4gICBcclxuICAgIHByb3RlY3RlZCB0b2dnbGVEcm9wZG93bk1lbnUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSAhdGhpcy5zaG93RHJvcGRvd247XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd25NZW51KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzZHMtYWN0aW9ucy1jb250YWluZXIgbWUtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBzZHMtYWN0aW9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicXVpY2tBY3Rpb25zXCI+PC9uZy1jb250ZW50PlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVBY3Rpb25zRHJvcGRvd25cIj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICNkcm9wZG93bkJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtYWN0aW9ucy1kcm9wZG93bi1idXR0b24gc2RzLWJ0bi10YWJsZVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bk1lbnUoKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImRyb3Bkb3duSWNvblwiIFtmaXhlZFdpZHRoXT1cInRydWVcIiBbc2l6ZV09XCInc20nXCI+XHJcbiAgICAgICAgICAgICAgICA8L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPGR4LXBvcG92ZXJcclxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiZHJvcGRvd25CdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgWyh2aXNpYmxlKV09XCJzaG93RHJvcGRvd25cIlxyXG4gICAgICAgICAgICAgICAgW21pbldpZHRoXT1cImRyb3Bkb3duTWluV2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgW3dyYXBwZXJBdHRyXT1cInsgY2xhc3M6ICdzZHMtYWN0aW9ucy1kcm9wZG93bicgfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkeG8tcG9zaXRpb25cclxuICAgICAgICAgICAgICAgICAgICBteT1cInJpZ2h0IHRvcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXQ9XCJyaWdodCBib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtvZl09XCJkcm9wZG93bkJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1vZmZzZXQgW3ldPVwiLTdcIj48L2R4by1vZmZzZXQ+XHJcbiAgICAgICAgICAgICAgICA8L2R4by1wb3NpdGlvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzZHMtdGFibGUtZHJvcGRvd24tbWVudVwiIChjbGljayk9XCJjbG9zZURyb3Bkb3duTWVudSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9keC1wb3BvdmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,388 @@
1
+ import { Component, HostListener, Input, Output, ViewChild, EventEmitter } from '@angular/core';
2
+ import { SdsTimelineService } from '../services/timeline.service';
3
+ import { NgIf, NgFor, NgStyle, NgTemplateOutlet, NgClass } from '@angular/common';
4
+ import * as i0 from "@angular/core";
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
+ /**
146
+ * Control if those parts of segments (or whole segments) that fall into the Offset
147
+ * period are displayed or not
148
+ *
149
+ * @type {boolean}
150
+ * @memberof SdsTimelineComponent
151
+ */
152
+ this.cutOffset = false;
153
+ // protected
154
+ this.hourTicks = [];
155
+ this.hourLabels = [];
156
+ this.dayLabels = [];
157
+ this._timelineService = new SdsTimelineService(this.start, this.end, this.offSetMinutes, this.cutOffset);
158
+ this.presentationItems = [];
159
+ this.presentationPointInTimeItems = [];
160
+ this.isDragging = false;
161
+ this.initialDragX = 0;
162
+ this.viewOffsetPercentDragStart = 0;
163
+ }
164
+ ngAfterViewInit() {
165
+ this.generateTicks();
166
+ }
167
+ ngOnChanges(changes) {
168
+ if (this.start && this.end) {
169
+ this._timelineService = new SdsTimelineService(this.start, this.end, this.offSetMinutes, this.cutOffset);
170
+ this.generateTicks();
171
+ this.generateInternalTimelineItems();
172
+ }
173
+ if (changes['start'] || changes['end'] || changes['offSetMinutes'] || changes['cutOffset']) {
174
+ this._timelineService = new SdsTimelineService(this.start, this.end, this.offSetMinutes, this.cutOffset);
175
+ this.generateTicks();
176
+ this.generateInternalTimelineItems();
177
+ }
178
+ if (changes['items']) {
179
+ this.generateInternalTimelineItems();
180
+ }
181
+ if (changes['pointInTimeItems']) {
182
+ this.generateInternalTimelinePointInTimeItems();
183
+ }
184
+ if (changes['zoomPercent']) {
185
+ // this.viewOffsetPercent = (this.zoomPercent - 100) / -2;
186
+ }
187
+ if (changes['showDayLabels'] || changes['showHourLabels']) {
188
+ this.generateTicks();
189
+ }
190
+ }
191
+ ngOnInit() { }
192
+ //#region mouse wheel zoom
193
+ onScroll(event) {
194
+ if (this.enableZoomAndDrag) {
195
+ event.preventDefault();
196
+ const delta = Math.sign(event.deltaY);
197
+ const newZoomPercent = Math.min(Math.max(this.zoomPercent + -delta * 20, 100), this.maxZoomPercent);
198
+ const deltaZoomPercent = newZoomPercent - this.zoomPercent;
199
+ this.zoomPercent = newZoomPercent;
200
+ this.zoomPercentChange.emit(this.zoomPercent);
201
+ // get the relative position of the cursor on the viewport so we can zoom in into this position
202
+ const x = event.clientX - this._viewport?.nativeElement.getBoundingClientRect().left;
203
+ const cursorRelativePosition = x / this._viewport?.nativeElement.getBoundingClientRect().width;
204
+ // this.viewOffsetPercent = this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition;
205
+ this.constrainOffset(this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition);
206
+ }
207
+ }
208
+ //#endregion
209
+ //#region dragging
210
+ onDragStart(event) {
211
+ if (this.enableZoomAndDrag && this.zoomPercent > 100) {
212
+ event.preventDefault();
213
+ this.isDragging = true;
214
+ this.viewOffsetPercentDragStart = this.viewOffsetPercent;
215
+ if (event instanceof MouseEvent) {
216
+ this.initialDragX = event.clientX;
217
+ }
218
+ else if (event instanceof TouchEvent) {
219
+ this.initialDragX = event.touches[0].clientX;
220
+ }
221
+ }
222
+ }
223
+ onDragMove(event) {
224
+ if (this.enableZoomAndDrag) {
225
+ if (this.isDragging) {
226
+ const currentX = event.clientX;
227
+ this.moveElement(currentX);
228
+ }
229
+ }
230
+ }
231
+ onDragMoveTouch(event) {
232
+ if (this.enableZoomAndDrag) {
233
+ if (this.isDragging) {
234
+ const currentX = event.touches[0].clientX;
235
+ this.moveElement(currentX);
236
+ }
237
+ }
238
+ }
239
+ onDragEnd(event) {
240
+ if (this.enableZoomAndDrag) {
241
+ this.isDragging = false;
242
+ }
243
+ }
244
+ moveElement(currentX) {
245
+ const diff = currentX - this.initialDragX;
246
+ if (this._viewport && this._viewport.nativeElement) {
247
+ const diffInPercent = (diff / this._viewport?.nativeElement.getBoundingClientRect().width) * 100;
248
+ // this.viewOffsetPercent = this.viewOffsetPercentDragStart + diffInPercent;
249
+ this.constrainOffset(this.viewOffsetPercentDragStart + diffInPercent);
250
+ }
251
+ }
252
+ //#endregion
253
+ constrainOffset(newOffset) {
254
+ if (this.zoomPercent + newOffset < 100) {
255
+ newOffset = -this.zoomPercent + 100;
256
+ }
257
+ newOffset = Math.min(0, newOffset);
258
+ if (newOffset != this.viewOffsetPercent) {
259
+ this.viewOffsetPercent = newOffset;
260
+ this.viewOffsetPercentChange.emit(this.viewOffsetPercent);
261
+ }
262
+ }
263
+ generateTicks() {
264
+ this.hourTicks = this._timelineService.getHourTicks(this.tickFrequency);
265
+ this.dayLabels = this._timelineService.getDayLabels(this.locales, this.dayLabelCustomDataFn);
266
+ this.hourLabels = this._timelineService.getHourLabels(this.hourLabelFrequency);
267
+ }
268
+ generateInternalTimelineItems() {
269
+ const cuttOffStart = this.cutOffset ? this.start : new Date(this.start.getTime() - this.offSetMinutes * 60000);
270
+ const cuttOffEnd = this.cutOffset ? this.end : new Date(this.end.getTime() + this.offSetMinutes * 60000);
271
+ this.presentationItems = this.items
272
+ .filter((item) => item.end < cuttOffStart || item.start > cuttOffEnd ? false : true)
273
+ .map((item) => {
274
+ const startTime = new Date(item.start).toLocaleTimeString(this.locales ?? [], { hour: 'numeric', minute: '2-digit' });
275
+ const endTime = new Date(item.end).toLocaleTimeString(this.locales ?? [], { hour: 'numeric', minute: '2-digit' });
276
+ const timeRange = `${startTime} - ${endTime}`;
277
+ return {
278
+ data: item.data,
279
+ x: this._timelineService.getX(item.start),
280
+ width: this._timelineService.getWidthFromTime(item.start, item.end),
281
+ hint: item.hint ?? timeRange,
282
+ backgroundColor: item.backgroundColor,
283
+ top: item.top ?? '50%',
284
+ height: item.height ?? '60%',
285
+ class: item.class,
286
+ };
287
+ });
288
+ }
289
+ generateInternalTimelinePointInTimeItems() {
290
+ const cuttOffStart = this.cutOffset ? this.start : new Date(this.start.getTime() - this.offSetMinutes * 60000);
291
+ const cuttOffEnd = this.cutOffset ? this.end : new Date(this.end.getTime() + this.offSetMinutes * 60000);
292
+ this.presentationPointInTimeItems = this.pointInTimeItems
293
+ .filter((item) => item.date < cuttOffStart || item.date > cuttOffEnd ? false : true)
294
+ .map((item) => {
295
+ const timePointString = new Date(item.date).toLocaleTimeString(this.locales ?? [], { hour: 'numeric', minute: '2-digit' });
296
+ return {
297
+ data: item.data,
298
+ x: this._timelineService.getX(item.date),
299
+ hint: item.hint ?? timePointString,
300
+ top: item.top ?? '20%',
301
+ height: item.height ?? '1rem',
302
+ width: item.width ?? '1rem',
303
+ class: item.class,
304
+ backgroundColor: item.backgroundColor,
305
+ };
306
+ });
307
+ }
308
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
309
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsTimelineComponent, isStandalone: true, selector: "sds-timeline", inputs: { start: "start", end: "end", items: "items", pointInTimeItems: "pointInTimeItems", itemTemplate: "itemTemplate", pointInTimeTemplate: "pointInTimeTemplate", dayLabelTemplate: "dayLabelTemplate", dayLabelCustomDataFn: "dayLabelCustomDataFn", tickFrequency: "tickFrequency", hourLabelFrequency: "hourLabelFrequency", zoomPercent: "zoomPercent", viewOffsetPercent: "viewOffsetPercent", maxZoomPercent: "maxZoomPercent", showHourLabels: "showHourLabels", hourLabelClass: "hourLabelClass", showDayLabels: "showDayLabels", dayLabelClass: "dayLabelClass", showTimeline: "showTimeline", hourTickClass: "hourTickClass", timelineHeight: "timelineHeight", enableZoomAndDrag: "enableZoomAndDrag", offSetMinutes: "offSetMinutes", locales: "locales", cutOffset: "cutOffset" }, 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 <!-- [ngClass]=\"item.class\"\t -->\r\n <div *ngFor=\"let item of presentationPointInTimeItems\"\r\n class=`sds-timeline-point-in-time-item-container ${item.class}`\r\n [style.height]=\"item.height\"\r\n [style.width]=\"item.width\"\r\n [ngStyle]=\"{\r\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \r\n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\r\n \r\n }\"\r\n [style.backgroundColor]=\"item.backgroundColor\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative;font-size:.8em}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid rgb(187,187,187);height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline;top:20%;height:60%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;width:100%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container{width:1px;height:1px;position:absolute}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container .sds-timeline-item{position:relative;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
310
+ }
311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimelineComponent, decorators: [{
312
+ type: Component,
313
+ args: [{ selector: 'sds-timeline', standalone: true, imports: [
314
+ NgIf,
315
+ NgFor,
316
+ NgStyle,
317
+ NgClass,
318
+ NgTemplateOutlet,
319
+ ], 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 <!-- [ngClass]=\"item.class\"\t -->\r\n <div *ngFor=\"let item of presentationPointInTimeItems\"\r\n class=`sds-timeline-point-in-time-item-container ${item.class}`\r\n [style.height]=\"item.height\"\r\n [style.width]=\"item.width\"\r\n [ngStyle]=\"{\r\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \r\n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\r\n \r\n }\"\r\n [style.backgroundColor]=\"item.backgroundColor\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", 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"] }]
320
+ }], ctorParameters: () => [], propDecorators: { start: [{
321
+ type: Input
322
+ }], end: [{
323
+ type: Input
324
+ }], items: [{
325
+ type: Input
326
+ }], pointInTimeItems: [{
327
+ type: Input
328
+ }], itemTemplate: [{
329
+ type: Input
330
+ }], pointInTimeTemplate: [{
331
+ type: Input
332
+ }], dayLabelTemplate: [{
333
+ type: Input
334
+ }], dayLabelCustomDataFn: [{
335
+ type: Input
336
+ }], tickFrequency: [{
337
+ type: Input
338
+ }], hourLabelFrequency: [{
339
+ type: Input
340
+ }], zoomPercent: [{
341
+ type: Input
342
+ }], zoomPercentChange: [{
343
+ type: Output
344
+ }], viewOffsetPercent: [{
345
+ type: Input
346
+ }], viewOffsetPercentChange: [{
347
+ type: Output
348
+ }], maxZoomPercent: [{
349
+ type: Input
350
+ }], showHourLabels: [{
351
+ type: Input
352
+ }], hourLabelClass: [{
353
+ type: Input
354
+ }], showDayLabels: [{
355
+ type: Input
356
+ }], dayLabelClass: [{
357
+ type: Input
358
+ }], showTimeline: [{
359
+ type: Input
360
+ }], hourTickClass: [{
361
+ type: Input
362
+ }], timelineHeight: [{
363
+ type: Input
364
+ }], enableZoomAndDrag: [{
365
+ type: Input
366
+ }], offSetMinutes: [{
367
+ type: Input
368
+ }], locales: [{
369
+ type: Input
370
+ }], cutOffset: [{
371
+ type: Input
372
+ }], _viewport: [{
373
+ type: ViewChild,
374
+ args: ['viewport', { static: true }]
375
+ }], onDragMove: [{
376
+ type: HostListener,
377
+ args: ['window:mousemove', ['$event']]
378
+ }], onDragMoveTouch: [{
379
+ type: HostListener,
380
+ args: ['window:touchmove', ['$event']]
381
+ }], onDragEnd: [{
382
+ type: HostListener,
383
+ args: ['window:mouseup', ['$event']]
384
+ }, {
385
+ type: HostListener,
386
+ args: ['window:touchend', ['$event']]
387
+ }] } });
388
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZWxpbmUvY29tcG9uZW50cy90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9jb21wb25lbnRzL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZWxGLE1BQU0sT0FBTyxvQkFBb0I7SUE4TjdCO1FBN05BOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFbEM7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVoQzs7Ozs7O1dBTUc7UUFDTSxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUVwQzs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBOEIsRUFBRSxDQUFDO1FBRTFEOzs7OztXQUtHO1FBQ00saUJBQVksR0FBaUMsU0FBUyxDQUFDO1FBRWhFOzs7OztXQUtHO1FBQ00sd0JBQW1CLEdBQWlDLFNBQVMsQ0FBQztRQUV2RTs7Ozs7V0FLRztRQUNNLHFCQUFnQixHQUFpQyxTQUFTLENBQUM7UUFFcEU7Ozs7O1dBS0c7UUFDTSx5QkFBb0IsR0FBK0MsU0FB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QXNCbUMsU0FBUztzQkFBakQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQTRGaEMsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFXNUMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVlyQyxTQUFTO3NCQUZmLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN6QyxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBFdmVudEVtaXR0ZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGltZWxpbmVDdXN0b21EYXRlRGF0YVByb3ZpZGVyLCBUaW1lbGluZVRpY2tGcmVxdWVuY3kgfSBmcm9tICcuLi90eXBlcy90aW1lbGluZS50eXBlcyc7XHJcbmltcG9ydCB7IFNkc1RpbWVsaW5lU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gICAgVGltZWxpbmVJbnRlcnZhbExhYmVsLFxyXG4gICAgVGltZWxpbmVJdGVtLFxyXG4gICAgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uLFxyXG4gICAgVGltZWxpbmVQb2ludEluVGltZUl0ZW0sXHJcbiAgICBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbixcclxuICAgIFRpbWVsaW5lVGljayxcclxufSBmcm9tICcuLi9tb2RlbHMvdGltZWxpbmUubW9kZWwnO1xyXG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLXRpbWVsaW5lJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aW1lbGluZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90aW1lbGluZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIE5nRm9yLFxyXG4gICAgICAgIE5nU3R5bGUsXHJcbiAgICAgICAgTmdDbGFzcyxcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkc1RpbWVsaW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc3RhcnQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtEYXRlfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHN0YXJ0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBlbmQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtEYXRlfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGVuZDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcGVyaW9kIGJhc2VkIGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgdGltZWxpbmUuIFNwZWNpZnkgZGF0YSBpZiB5b3UgbmVlZCBcclxuICAgICAqIGFkZGl0aW9uYWwgZGF0YSBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1RpbWVsaW5lSXRlbVtdfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGl0ZW1zOiBUaW1lbGluZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXRlbXMgdG8gYmUgZGlzcGxheWVkIG9uIHRoZSB0aW1lbGluZSBhdCBhIHNwZWNpZmljIHBvaW50IGluIHRpbWUuXHJcbiAgICAgKiBTcGVjaWZ5IGRhdGEgaWYgeW91IG5lZWQgYWRkaXRpb25hbCBkYXRhIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBpdGVtcy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVQb2ludEluVGltZUl0ZW1bXX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwb2ludEluVGltZUl0ZW1zOiBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUgeyhUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkKX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgcG9pbi1pbi10aW1lIGl0ZW1zLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHsoVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCl9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcG9pbnRJblRpbWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB0ZW1wbGF0ZSB0byBiZSB1c2VkIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBkYXkgbGFiZWxzLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHsoVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCl9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGF5TGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBBIGN1c3RvbSBkYXRhIGZ1bmN0aW9uIGZvciB0aGUgZGF5IGxhYmVscy4gXHJcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGEgRGF0ZSBvYmplY3QgYXMgaW5wdXQgYW5kIHJldHVybnMgYW55IGN1c3RvbSBkYXRhIHRoYXQgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHRoZSBjdXN0b20gdGVtcGxhdGVcclxuICAgICAqXHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGF5TGFiZWxDdXN0b21EYXRhRm46IFRpbWVsaW5lQ3VzdG9tRGF0ZURhdGFQcm92aWRlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBmcmVxdWVuY3kgb2YgdGhlIHRpY2tzIG9uIHRoZSB0aW1lbGluZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVUaWNrRnJlcXVlbmN5fVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHRpY2tGcmVxdWVuY3k6IFRpbWVsaW5lVGlja0ZyZXF1ZW5jeSA9ICdob3VybHknO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGZyZXF1ZW5jeSBvZiB0aGUgaG91ciBsYWJlbHMgb24gdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtUaW1lbGluZVRpY2tGcmVxdWVuY3l9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaG91ckxhYmVsRnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnM2hycyc7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGN1cnJlbnQgem9vbSBsZXZlbCBvZiB0aGUgdGltZWxpbmUuIEluIHBlcmNlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB6b29tUGVyY2VudDogbnVtYmVyID0gMTAwO1xyXG4gICAgQE91dHB1dCgpIHpvb21QZXJjZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsIG9mZnNldCBvZiB0aGUgdmlld3BvcnQgaW4gcGVyY2VudC4gVGhpcyBpcyB1c2VkIGluIHNjZW5hcmlvcyBcclxuICAgICAqIHdpdGggbXVsdGlwbGUgZGF5cyB3aGVuIHlvdSB3YW50IHRvIHNob3cgbm9uLWZpcnN0IGRheSBhcyBkZWZ1bHQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB2aWV3T2Zmc2V0UGVyY2VudDogbnVtYmVyID0gMDtcclxuICAgIEBPdXRwdXQoKSB2aWV3T2Zmc2V0UGVyY2VudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1heGltdW0gYWxsb3dlZCB6b29tIGxldmVsIG9mIHRoZSB0aW1lbGluZS4gSW4gcGVyY2VudC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1heFpvb21QZXJjZW50OiBudW1iZXIgPSA1MDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgaG91ciBsYWJlbHMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2hvd0hvdXJMYWJlbHM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIENTUyBjbGFzcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBob3VyIGxhYmVscy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhvdXJMYWJlbENsYXNzPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBzaG93IGRheSBsYWJlbHMuIFxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dEYXlMYWJlbHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBDU1MgY2xhc3MgdG8gYmUgYXBwbGllZCB0byB0aGUgZGF5IGxhYmVscy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRheUxhYmVsQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgdGltZWxpbmUuIFVzZWZ1bCBmb3IgaGlkaW5nIHRoZSB0aW1lbGluZSB3aGVuIHdlIG9ubHkgbmVlZCBoZWFkZXIuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2hvd1RpbWVsaW5lOiBib29sZWFuID0gdHJ1ZTsgICAgXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGhvdXIgdGlja3MuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBob3VyVGlja0NsYXNzPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGhlaWdodCBvZiB0aGUgdGltZWxpbmUuIERlZmF1bHQgaXMgMnJlbS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHRpbWVsaW5lSGVpZ2h0OiBzdHJpbmcgPSAnMnJlbSc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB6b29tIGFuZCBkcmFnIGZ1bmN0aW9uYWxpdHkuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZW5hYmxlWm9vbUFuZERyYWc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTnVtYmVyIG9mIG1pbnV0ZXMgYWRkZWQgdG8gc3RhcnQgYW5kIHN0b3AgdG8gZml0IHRoZSBkYXRhIG9uIHRoZSBlZGdlc1xyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgb2ZmU2V0TWludXRlczogbnVtYmVyID0gMTU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbG9jYWxlcyB0byBiZSB1c2VkIGZvciBmb3JtYXR0aW5nIHRoZSB0aW1lbGluZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7KHN0cmluZyB8IEFycmF5PHN0cmluZz4pfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGxvY2FsZXM/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udHJvbCBpZiB0aG9zZSBwYXJ0cyBvZiBzZWdtZW50cyAob3Igd2hvbGUgc2VnbWVudHMpIHRoYXQgZmFsbCBpbnRvIHRoZSBPZmZzZXQgXHJcbiAgICAgKiBwZXJpb2QgYXJlIGRpc3BsYXllZCBvciBub3RcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBjdXRPZmZzZXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBwcm90ZWN0ZWRcclxuICAgIGhvdXJUaWNrczogVGltZWxpbmVUaWNrW10gPSBbXTtcclxuICAgIGhvdXJMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcbiAgICBkYXlMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfdGltZWxpbmVTZXJ2aWNlOiBTZHNUaW1lbGluZVNlcnZpY2UgPSBuZXcgU2RzVGltZWxpbmVTZXJ2aWNlKFxyXG4gICAgICAgIHRoaXMuc3RhcnQsXHJcbiAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgdGhpcy5vZmZTZXRNaW51dGVzLFxyXG4gICAgICAgIHRoaXMuY3V0T2Zmc2V0XHJcbiAgICApO1xyXG5cclxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25JdGVtczogVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uW10gPSBbXTtcclxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25Qb2ludEluVGltZUl0ZW1zOiBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbltdID0gW107XHJcblxyXG4gICAgcHVibGljIGlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpbml0aWFsRHJhZ1ggPSAwO1xyXG5cclxuICAgIHByaXZhdGUgdmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSAwO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3ZpZXdwb3J0JywgeyBzdGF0aWM6IHRydWUgfSkgX3ZpZXdwb3J0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXJ0ICYmIHRoaXMuZW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXMsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1dE9mZnNldFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlVGlja3MoKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3N0YXJ0J10gfHwgY2hhbmdlc1snZW5kJ10gfHwgY2hhbmdlc1snb2ZmU2V0TWludXRlcyddIHx8IGNoYW5nZXNbJ2N1dE9mZnNldCddKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXMsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1dE9mZnNldFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlVGlja3MoKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpOyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10pIHtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3BvaW50SW5UaW1lSXRlbXMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlSW50ZXJuYWxUaW1lbGluZVBvaW50SW5UaW1lSXRlbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWyd6b29tUGVyY2VudCddKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMudmlld09mZnNldFBlcmNlbnQgPSAodGhpcy56b29tUGVyY2VudCAtIDEwMCkgLyAtMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWydzaG93RGF5TGFiZWxzJ10gfHwgY2hhbmdlc1snc2hvd0hvdXJMYWJlbHMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlVGlja3MoKTtcclxuICAgICAgICB9ICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICAgIC8vI3JlZ2lvbiBtb3VzZSB3aGVlbCB6b29tXHJcbiAgICBvblNjcm9sbChldmVudDogV2hlZWxFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcblxyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLnNpZ24oZXZlbnQuZGVsdGFZKTtcclxuICAgICAgICAgICAgY29uc3QgbmV3Wm9vbVBlcmNlbnQgPSBNYXRoLm1pbihcclxuICAgICAgICAgICAgICAgIE1hdGgubWF4KHRoaXMuem9vbVBlcmNlbnQgKyAtZGVsdGEgKiAyMCwgMTAwKSxcclxuICAgICAgICAgICAgICAgIHRoaXMubWF4Wm9vbVBlcmNlbnRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgY29uc3QgZGVsdGFab29tUGVyY2VudCA9IG5ld1pvb21QZXJjZW50IC0gdGhpcy56b29tUGVyY2VudDtcclxuICAgICAgICAgICAgdGhpcy56b29tUGVyY2VudCA9IG5ld1pvb21QZXJjZW50O1xyXG4gICAgICAgICAgICB0aGlzLnpvb21QZXJjZW50Q2hhbmdlLmVtaXQodGhpcy56b29tUGVyY2VudCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyBnZXQgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBjdXJzb3Igb24gdGhlIHZpZXdwb3J0IHNvIHdlIGNhbiB6b29tIGluIGludG8gdGhpcyBwb3NpdGlvblxyXG4gICAgICAgICAgICBjb25zdCB4ID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuX3ZpZXdwb3J0Py5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvclJlbGF0aXZlUG9zaXRpb24gPSB4IC8gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XHJcbiAgICAgICAgICAgIC8vIHRoaXMudmlld09mZnNldFBlcmNlbnQgPSB0aGlzLnZpZXdPZmZzZXRQZXJjZW50IC0gZGVsdGFab29tUGVyY2VudCAqIGN1cnNvclJlbGF0aXZlUG9zaXRpb247XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cmFpbk9mZnNldCh0aGlzLnZpZXdPZmZzZXRQZXJjZW50IC0gZGVsdGFab29tUGVyY2VudCAqIGN1cnNvclJlbGF0aXZlUG9zaXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBkcmFnZ2luZ1xyXG4gICAgXHJcbiAgICBwdWJsaWMgb25EcmFnU3RhcnQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcgJiYgdGhpcy56b29tUGVyY2VudCA+IDEwMCkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50RHJhZ1N0YXJ0ID0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudDtcclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbERyYWdYID0gZXZlbnQuY2xpZW50WDtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbERyYWdYID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJhZ01vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc0RyYWdnaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50WCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVFbGVtZW50KGN1cnJlbnRYKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6dG91Y2htb3ZlJywgWyckZXZlbnQnXSlcclxuICAgIG9uRHJhZ01vdmVUb3VjaChldmVudDogVG91Y2hFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRYID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlRWxlbWVudChjdXJyZW50WCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNldXAnLCBbJyRldmVudCddKVxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnRvdWNoZW5kJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyYWdFbmQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbW92ZUVsZW1lbnQoY3VycmVudFg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGRpZmYgPSBjdXJyZW50WCAtIHRoaXMuaW5pdGlhbERyYWdYO1xyXG4gICAgICAgIGlmICh0aGlzLl92aWV3cG9ydCAmJiB0aGlzLl92aWV3cG9ydC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRpZmZJblBlcmNlbnQgPSAoZGlmZiAvIHRoaXMuX3ZpZXdwb3J0Py5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKSAqIDEwMDtcclxuICAgICAgICAgICAgLy8gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9IHRoaXMudmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgKyBkaWZmSW5QZXJjZW50O1xyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cmFpbk9mZnNldCh0aGlzLnZpZXdPZmZzZXRQZXJjZW50RHJhZ1N0YXJ0ICsgZGlmZkluUGVyY2VudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIHByaXZhdGUgY29uc3RyYWluT2Zmc2V0KG5ld09mZnNldDogbnVtYmVyKTogdm9pZCB7ICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy56b29tUGVyY2VudCArIG5ld09mZnNldCA8IDEwMCkge1xyXG4gICAgICAgICAgICBuZXdPZmZzZXQgPSAtdGhpcy56b29tUGVyY2VudCArIDEwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbmV3T2Zmc2V0ID0gTWF0aC5taW4oMCwgbmV3T2Zmc2V0KTtcclxuICAgICAgICBpZiAobmV3T2Zmc2V0ICE9IHRoaXMudmlld09mZnNldFBlcmNlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9IG5ld09mZnNldDtcclxuICAgICAgICAgICAgdGhpcy52aWV3T2Zmc2V0UGVyY2VudENoYW5nZS5lbWl0KHRoaXMudmlld09mZnNldFBlcmNlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdlbmVyYXRlVGlja3MoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ob3VyVGlja3MgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0SG91clRpY2tzKHRoaXMudGlja0ZyZXF1ZW5jeSk7XHJcbiAgICAgICAgdGhpcy5kYXlMYWJlbHMgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0RGF5TGFiZWxzKHRoaXMubG9jYWxlcywgdGhpcy5kYXlMYWJlbEN1c3RvbURhdGFGbik7XHJcbiAgICAgICAgdGhpcy5ob3VyTGFiZWxzID0gdGhpcy5fdGltZWxpbmVTZXJ2aWNlLmdldEhvdXJMYWJlbHModGhpcy5ob3VyTGFiZWxGcmVxdWVuY3kpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3V0dE9mZlN0YXJ0ID0gdGhpcy5jdXRPZmZzZXQgPyB0aGlzLnN0YXJ0IDogbmV3IERhdGUodGhpcy5zdGFydC5nZXRUaW1lKCkgLSB0aGlzLm9mZlNldE1pbnV0ZXMgKiA2MDAwMCk7XHJcbiAgICAgICAgY29uc3QgY3V0dE9mZkVuZCA9IHRoaXMuY3V0T2Zmc2V0ID8gdGhpcy5lbmQgOiBuZXcgRGF0ZSh0aGlzLmVuZC5nZXRUaW1lKCkgKyB0aGlzLm9mZlNldE1pbnV0ZXMgKiA2MDAwMCk7XHJcblxyXG4gICAgICAgIHRoaXMucHJlc2VudGF0aW9uSXRlbXMgPSB0aGlzLml0ZW1zXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uZW5kIDwgY3V0dE9mZlN0YXJ0IHx8IGl0ZW0uc3RhcnQgPiBjdXR0T2ZmRW5kID8gZmFsc2UgOiB0cnVlKVxyXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBuZXcgRGF0ZShpdGVtLnN0YXJ0KS50b0xvY2FsZVRpbWVTdHJpbmcodGhpcy5sb2NhbGVzPz8gW10sIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFRpbWUgPSBuZXcgRGF0ZShpdGVtLmVuZCkudG9Mb2NhbGVUaW1lU3RyaW5nKHRoaXMubG9jYWxlcz8/IFtdLCB7IGhvdXI6ICdudW1lcmljJywgbWludXRlOiAnMi1kaWdpdCcgfSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0aW1lUmFuZ2UgPSBgJHtzdGFydFRpbWV9IC0gJHtlbmRUaW1lfWA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0WChpdGVtLnN0YXJ0KSxcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy5fdGltZWxpbmVTZXJ2aWNlLmdldFdpZHRoRnJvbVRpbWUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc3RhcnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZW5kXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICBoaW50OiBpdGVtLmhpbnQgPz8gdGltZVJhbmdlLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaXRlbS5iYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBpdGVtLnRvcCA/PyAnNTAlJyxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGl0ZW0uaGVpZ2h0ID8/ICc2MCUnLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBpdGVtLmNsYXNzLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjdXR0T2ZmU3RhcnQgPSB0aGlzLmN1dE9mZnNldCA/IHRoaXMuc3RhcnQgOiBuZXcgRGF0ZSh0aGlzLnN0YXJ0LmdldFRpbWUoKSAtIHRoaXMub2ZmU2V0TWludXRlcyAqIDYwMDAwKTtcclxuICAgICAgICBjb25zdCBjdXR0T2ZmRW5kID0gdGhpcy5jdXRPZmZzZXQgPyB0aGlzLmVuZCA6IG5ldyBEYXRlKHRoaXMuZW5kLmdldFRpbWUoKSArIHRoaXMub2ZmU2V0TWludXRlcyAqIDYwMDAwKTtcclxuXHJcbiAgICAgICAgdGhpcy5wcmVzZW50YXRpb25Qb2ludEluVGltZUl0ZW1zID0gdGhpcy5wb2ludEluVGltZUl0ZW1zXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uZGF0ZSA8IGN1dHRPZmZTdGFydCB8fCBpdGVtLmRhdGUgPiBjdXR0T2ZmRW5kID8gZmFsc2UgOiB0cnVlKVxyXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgdGltZVBvaW50U3RyaW5nID0gbmV3IERhdGUoaXRlbS5kYXRlKS50b0xvY2FsZVRpbWVTdHJpbmcodGhpcy5sb2NhbGVzPz8gW10sIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0WChpdGVtLmRhdGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIGhpbnQ6IGl0ZW0uaGludCA/PyB0aW1lUG9pbnRTdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBpdGVtLnRvcCA/PyAnMjAlJyxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGl0ZW0uaGVpZ2h0ID8/ICcxcmVtJyxcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaXRlbS53aWR0aCA/PyAnMXJlbScsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IGl0ZW0uY2xhc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpdGVtLmJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRQb2ludEluVGltZUl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHREYXlMYWJlbFRlbXBsYXRlIGxldC1sYWJlbD1cImxhYmVsXCI+XHJcbiAgICB7e2xhYmVsLmxhYmVsfX1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgXHJcbiAgICAjdmlld3BvcnRcclxuICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLXZpZXdwb3J0XCJcclxuICAgICh3aGVlbCk9XCJvblNjcm9sbCgkZXZlbnQpXCJcclxuXHJcbiAgICAobW91c2Vkb3duKT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIlxyXG4gICAgKHRvdWNoc3RhcnQpPVwib25EcmFnU3RhcnQoJGV2ZW50KVwiXHJcbiAgICA+XHJcblxyXG4gICAgPGRpdiBcclxuICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1jb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uXCJcclxuICAgICAgICBbc3R5bGUubGVmdC4lXT1cInZpZXdPZmZzZXRQZXJjZW50XCJcclxuICAgICAgICBbc3R5bGUud2lkdGguJV09XCJ6b29tUGVyY2VudFwiXHJcbiAgICAgICAgW3N0eWxlLmN1cnNvcl09XCJpc0RyYWdnaW5nID8gJ2V3LXJlc2l6ZScgOiAnZGVmYXVsdCdcIlxyXG4gICAgICAgID5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dEYXlMYWJlbHNcIiBcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtZGF5LWhlYWRlclwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBkYXlMYWJlbHNcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtZGF5LWxhYmVsXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF5TGFiZWxDbGFzcyA/PyBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwibGFiZWwueFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJsYWJlbC53aWR0aFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF5TGFiZWxUZW1wbGF0ZSA/IGRheUxhYmVsVGVtcGxhdGUgOiBkZWZhdWx0RGF5TGFiZWxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntsYWJlbDogbGFiZWx9XCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93SG91ckxhYmVsc1wiIFxyXG4gICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1ob3VyLWhlYWRlclwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBob3VyTGFiZWxzO1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy1ob3VyLWxhYmVsXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaG91ckxhYmVsQ2xhc3MgPz8gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImxhYmVsLnhcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnJlbV09XCIxLjJcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydsZWZ0JzogJ2NhbGMoJyArIGxhYmVsLnggKyAnJSAtIDAuNnJlbSknfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAge3tsYWJlbC5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1RpbWVsaW5lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUgZmxleC1ncm93LTFcIlxyXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInRpbWVsaW5lSGVpZ2h0XCJcclxuICAgICAgICAgICAgPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0aWNrIG9mIGhvdXJUaWNrc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS10aWNrXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaG91clRpY2tDbGFzcyA/PyBudWxsXCJcdFxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwidGljay54ID09IDEwMCA/IHsnbGVmdCc6ICdjYWxjKCcgKyB0aWNrLnggKyclIC0gMXB4KSd9IDogeydsZWZ0JzogJ2NhbGMoJyArIHRpY2sueCArICclIC0gMC41cHgpJ31cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHByZXNlbnRhdGlvbkl0ZW1zXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWl0ZW0tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3MgPz8gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJ21heCgnICsgaXRlbS53aWR0aCArJyUsIDFweCknLFxyXG4gICAgICAgICAgICAgICAgICAgICd0b3AnOiAnY2FsYygnICsgaXRlbS50b3AgKyAnIC0gbWF4KGNhbGMoJyArIGl0ZW0uaGVpZ2h0ICsnLzIpLCAxcHgpKScsIFxyXG4gICAgICAgICAgICAgICAgfVwiXHJcblxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJpdGVtLnhcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpdGVtLmhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIml0ZW0uYmFja2dyb3VuZENvbG9yXCJcclxuICAgICAgICAgICAgICAgID5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSA/IGl0ZW1UZW1wbGF0ZSA6IGRlZmF1bHRJdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc1wiXHQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJlc2VudGF0aW9uUG9pbnRJblRpbWVJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1gc2RzLXRpbWVsaW5lLXBvaW50LWluLXRpbWUtaXRlbS1jb250YWluZXIgJHtpdGVtLmNsYXNzfWBcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cIml0ZW0ud2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICd0b3AnOiAnY2FsYygnICsgaXRlbS50b3AgKyAnIC0gbWF4KGNhbGMoJyArIGl0ZW0uaGVpZ2h0ICsnLzIpLCAxcHgpKScsIFxyXG4gICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJ2NhbGMoJyArIGl0ZW0ueCArICclIC0gbWF4KCBjYWxjKCcgKyBpdGVtLndpZHRoICsnLzIpLCAxcHgpKScsXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5iYWNrZ3JvdW5kQ29sb3JcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9pbnRJblRpbWVUZW1wbGF0ZSA/IHBvaW50SW5UaW1lVGVtcGxhdGUgOiBkZWZhdWx0UG9pbnRJblRpbWVJdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgXHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9tb2RlbHMvdGltZWxpbmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVUaWNrIHtcclxuICAgIGRhdGU6IERhdGU7XHJcbiAgICB4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVJbnRlcnZhbExhYmVsIHtcclxuICAgIHg6IG51bWJlcjtcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGF0ZTogRGF0ZTtcclxuICAgIGRhdGE6IGFueTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFRpbWVsaW5lQmFzZUl0ZW0ge1xyXG4gICAgZGF0YT86IGFueTtcclxuXHJcbiAgICBoaW50Pzogc3RyaW5nO1xyXG4gICAgdG9wPzogc3RyaW5nO1xyXG4gICAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVJdGVtIGV4dGVuZHMgVGltZWxpbmVCYXNlSXRlbSB7XHJcbiAgICBzdGFydDogRGF0ZTtcclxuICAgIGVuZDogRGF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZVBvaW50SW5UaW1lSXRlbSBleHRlbmRzIFRpbWVsaW5lQmFzZUl0ZW0ge1xyXG4gICAgZGF0ZTogRGF0ZTtcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBUaW1lbGluZUl0ZW1QcmVzZW50YXRpb25CYXNlIHtcclxuICAgIGRhdGE/OiBhbnk7XHJcbiAgICB4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uIGV4dGVuZHMgVGltZWxpbmVCYXNlSXRlbSwgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uQmFzZSAge1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbiBleHRlbmRzIFRpbWVsaW5lQmFzZUl0ZW0sIFRpbWVsaW5lSXRlbVByZXNlbnRhdGlvbkJhc2UgIHtcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,3 +1,2 @@
1
- export * from './timeline.module';
2
- export * from './components/timeline.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90aW1lbGluZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGltZWxpbmUuY29tcG9uZW50JztcclxuXHJcblxyXG4iXX0=
1
+ export * from './components/timeline.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGltZWxpbmUuY29tcG9uZW50JztcclxuXHJcblxyXG4iXX0=