mis-crystal-design-system 4.0.50 → 17.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 (838) hide show
  1. package/action-list/action-list.component.d.ts +3 -0
  2. package/action-list/action-list.module.d.ts +9 -0
  3. package/analytics/analytics.module.d.ts +4 -0
  4. package/analytics/analytics.service.d.ts +3 -0
  5. package/async-search-dropdown/async-dropdown.component.d.ts +6 -3
  6. package/async-search-dropdown/async-dropdown.module.d.ts +9 -0
  7. package/button/button.component.d.ts +3 -0
  8. package/button/button.directive.d.ts +3 -0
  9. package/button/button.module.d.ts +7 -0
  10. package/checkbox/checkbox.component.d.ts +3 -0
  11. package/checkbox/checkbox.module.d.ts +7 -0
  12. package/chip/chip.component.d.ts +3 -0
  13. package/chip/chip.module.d.ts +6 -0
  14. package/datepicker_v2/datepicker.module.d.ts +10 -0
  15. package/datepicker_v2/models/dp-config.model.d.ts +1 -1
  16. package/datepicker_v2/public_api.d.ts +1 -0
  17. package/datepicker_v2/tz-datepicker.directive.d.ts +3 -0
  18. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +3 -0
  19. package/daterangepicker_v2/daterangepicker.module.d.ts +10 -0
  20. package/daterangepicker_v2/models/drp-config.model.d.ts +1 -1
  21. package/daterangepicker_v2/public_api.d.ts +1 -0
  22. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +3 -0
  23. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +3 -0
  24. package/drawer/drawer-body/drawer-body.component.d.ts +3 -1
  25. package/drawer/drawer.module.d.ts +8 -0
  26. package/drawer/drawer.service.d.ts +3 -0
  27. package/dropdown/calculate-container-height.directive.d.ts +3 -0
  28. package/dropdown/dropdown.component.d.ts +3 -0
  29. package/dropdown/dropdown.module.d.ts +11 -0
  30. package/dynamic-form/dynamic-form.component.d.ts +11 -8
  31. package/dynamic-form/dynamic-form.module.d.ts +13 -0
  32. package/esm2022/action-list/action-list.component.mjs +363 -0
  33. package/esm2022/action-list/action-list.module.mjs +25 -0
  34. package/esm2022/analytics/analytics.module.mjs +18 -0
  35. package/esm2022/analytics/analytics.service.mjs +63 -0
  36. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +467 -0
  37. package/esm2022/async-search-dropdown/async-dropdown.module.mjs +22 -0
  38. package/esm2022/button/button.component.mjs +88 -0
  39. package/esm2022/button/button.directive.mjs +61 -0
  40. package/esm2022/button/button.module.mjs +23 -0
  41. package/esm2022/checkbox/checkbox.component.mjs +124 -0
  42. package/esm2022/checkbox/checkbox.module.mjs +23 -0
  43. package/esm2022/chip/chip.component.mjs +82 -0
  44. package/esm2022/chip/chip.module.mjs +22 -0
  45. package/esm2022/datepicker_v2/datepicker.module.mjs +24 -0
  46. package/esm2022/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +5 -0
  47. package/esm2022/datepicker_v2/public_api.mjs +4 -0
  48. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +164 -0
  49. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +246 -0
  50. package/{esm2015/daterangepicker_v2/utils/index.js → esm2022/datepicker_v2/utils/index.mjs} +1 -1
  51. package/esm2022/daterangepicker_v2/daterangepicker.module.mjs +25 -0
  52. package/esm2022/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +5 -0
  53. package/esm2022/daterangepicker_v2/public_api.mjs +4 -0
  54. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +135 -0
  55. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +365 -0
  56. package/esm2022/daterangepicker_v2/utils/index.mjs +45 -0
  57. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +59 -0
  58. package/{esm2015/drawer/drawer-ref.js → esm2022/drawer/drawer-ref.mjs} +4 -4
  59. package/esm2022/drawer/drawer.module.mjs +33 -0
  60. package/esm2022/drawer/drawer.service.mjs +56 -0
  61. package/esm2022/drawer/mis-crystal-design-system-drawer.mjs +5 -0
  62. package/esm2022/dropdown/calculate-container-height.directive.mjs +41 -0
  63. package/esm2022/dropdown/dropdown.component.mjs +404 -0
  64. package/esm2022/dropdown/dropdown.module.mjs +27 -0
  65. package/esm2022/dropdown/mis-crystal-design-system-dropdown.mjs +5 -0
  66. package/esm2022/dynamic-form/dynamic-form.component.mjs +705 -0
  67. package/esm2022/dynamic-form/dynamic-form.module.mjs +56 -0
  68. package/esm2022/fab/fab.component.mjs +145 -0
  69. package/esm2022/fab/fab.module.mjs +22 -0
  70. package/esm2022/input/directives/input/input.directive.mjs +40 -0
  71. package/esm2022/input/mis-input.component.mjs +85 -0
  72. package/esm2022/input/mis-input.module.mjs +21 -0
  73. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +75 -0
  74. package/esm2022/input-stepper/input-stepper.module.mjs +25 -0
  75. package/esm2022/loader/loader.component.mjs +25 -0
  76. package/esm2022/loader/loader.module.mjs +22 -0
  77. package/esm2022/menu/menu-close.directive.mjs +25 -0
  78. package/esm2022/menu/menu.directive.mjs +77 -0
  79. package/esm2022/menu/menu.module.mjs +23 -0
  80. package/esm2022/mobile-filter/mobile-filter.component.mjs +178 -0
  81. package/esm2022/mobile-filter/mobile-filter.module.mjs +21 -0
  82. package/esm2022/modal/mis-crystal-design-system-modal.mjs +5 -0
  83. package/esm2022/modal/modal.module.mjs +33 -0
  84. package/esm2022/modal/modal.service.mjs +70 -0
  85. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +56 -0
  86. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +477 -0
  87. package/esm2022/multi-select-dropdown/multi-select-dropdown.module.mjs +26 -0
  88. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +509 -0
  89. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +26 -0
  90. package/esm2022/phone-input/phone-input.component.mjs +116 -0
  91. package/esm2022/phone-input/phone-input.module.mjs +27 -0
  92. package/esm2022/radio-button/radio-button.component.mjs +57 -0
  93. package/esm2022/radio-button/radio-button.module.mjs +23 -0
  94. package/esm2022/ske-loader/ske-loader.component.mjs +54 -0
  95. package/esm2022/ske-loader/ske-loader.module.mjs +19 -0
  96. package/esm2022/slider/slider.component.mjs +46 -0
  97. package/esm2022/slider/slider.module.mjs +30 -0
  98. package/esm2022/snackbar/snackbar/snackbar.component.mjs +72 -0
  99. package/esm2022/snackbar/snackbar.module.mjs +36 -0
  100. package/esm2022/snackbar/snackbar.service.mjs +47 -0
  101. package/esm2022/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs +5 -0
  102. package/esm2022/specificdatepicker/public_api.mjs +5 -0
  103. package/esm2022/specificdatepicker/specificdatepicker.module.mjs +27 -0
  104. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +619 -0
  105. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +196 -0
  106. package/esm2022/specificdatepicker/utils/index.mjs +45 -0
  107. package/esm2022/star-rating/star-rating.component.mjs +113 -0
  108. package/esm2022/star-rating/star-rating.module.mjs +19 -0
  109. package/esm2022/switch/switch.component.mjs +56 -0
  110. package/esm2022/switch/switch.module.mjs +23 -0
  111. package/esm2022/table/custom-table-cell.directive.mjs +42 -0
  112. package/esm2022/table/filter/filter.component.mjs +169 -0
  113. package/esm2022/table/mis-crystal-design-system-table.mjs +5 -0
  114. package/esm2022/table/public_api.mjs +7 -0
  115. package/esm2022/table/sub-table/sub-table.component.mjs +192 -0
  116. package/esm2022/table/table.component.mjs +469 -0
  117. package/esm2022/table/table.module.mjs +27 -0
  118. package/esm2022/timepicker/mis-crystal-design-system-timepicker.mjs +5 -0
  119. package/esm2022/timepicker/timepicker.component.mjs +343 -0
  120. package/esm2022/timepicker/timepicker.directive.mjs +65 -0
  121. package/esm2022/timepicker/timepicker.module.mjs +26 -0
  122. package/esm2022/timerangepicker/timerangepicker.component.mjs +228 -0
  123. package/esm2022/timerangepicker/timerangepicker.module.mjs +24 -0
  124. package/esm2022/toast/toast.component.mjs +51 -0
  125. package/esm2022/toast/toast.data.service.mjs +30 -0
  126. package/esm2022/toast/toast.module.mjs +33 -0
  127. package/esm2022/toast/toast.service.mjs +91 -0
  128. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +78 -0
  129. package/esm2022/tooltip/tooltip.directive.mjs +137 -0
  130. package/esm2022/tooltip/tooltip.module.mjs +24 -0
  131. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +188 -0
  132. package/esm2022/virtual-scroll/virtual-scroll.module.mjs +34 -0
  133. package/esm2022/widgets/classes/async-widget.mjs +23 -0
  134. package/esm2022/widgets/classes/base-widget.mjs +32 -0
  135. package/esm2022/widgets/classes/sync-widget.mjs +20 -0
  136. package/esm2022/widgets/classes/widget-group.mjs +32 -0
  137. package/esm2022/widgets/services/widget.service.mjs +18 -0
  138. package/esm2022/widgets/widgets.module.mjs +18 -0
  139. package/fab/fab.component.d.ts +6 -3
  140. package/fab/fab.module.d.ts +6 -0
  141. package/fesm2022/mis-crystal-design-system-action-list.mjs +391 -0
  142. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -0
  143. package/{fesm2015/mis-crystal-design-system-analytics.js → fesm2022/mis-crystal-design-system-analytics.mjs} +21 -15
  144. package/fesm2022/mis-crystal-design-system-analytics.mjs.map +1 -0
  145. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +491 -0
  146. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  147. package/fesm2022/mis-crystal-design-system-button.mjs +173 -0
  148. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -0
  149. package/fesm2022/mis-crystal-design-system-checkbox.mjs +150 -0
  150. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -0
  151. package/fesm2022/mis-crystal-design-system-chip.mjs +108 -0
  152. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -0
  153. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +478 -0
  154. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  155. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +568 -0
  156. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  157. package/fesm2022/mis-crystal-design-system-drawer.mjs +173 -0
  158. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -0
  159. package/fesm2022/mis-crystal-design-system-dropdown.mjs +472 -0
  160. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -0
  161. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +763 -0
  162. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
  163. package/fesm2022/mis-crystal-design-system-fab.mjs +171 -0
  164. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -0
  165. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +104 -0
  166. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -0
  167. package/fesm2022/mis-crystal-design-system-input.mjs +146 -0
  168. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -0
  169. package/fesm2022/mis-crystal-design-system-loader.mjs +51 -0
  170. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -0
  171. package/fesm2022/mis-crystal-design-system-menu.mjs +124 -0
  172. package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -0
  173. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +203 -0
  174. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
  175. package/fesm2022/mis-crystal-design-system-modal.mjs +173 -0
  176. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -0
  177. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +506 -0
  178. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  179. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +538 -0
  180. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  181. package/fesm2022/mis-crystal-design-system-phone-input.mjs +145 -0
  182. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -0
  183. package/fesm2022/mis-crystal-design-system-radio-button.mjs +83 -0
  184. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -0
  185. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +77 -0
  186. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  187. package/fesm2022/mis-crystal-design-system-slider.mjs +80 -0
  188. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -0
  189. package/fesm2022/mis-crystal-design-system-snackbar.mjs +155 -0
  190. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -0
  191. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +884 -0
  192. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
  193. package/fesm2022/mis-crystal-design-system-star-rating.mjs +136 -0
  194. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -0
  195. package/fesm2022/mis-crystal-design-system-styles.mjs +4 -0
  196. package/fesm2022/mis-crystal-design-system-styles.mjs.map +1 -0
  197. package/fesm2022/mis-crystal-design-system-switch.mjs +82 -0
  198. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -0
  199. package/fesm2022/mis-crystal-design-system-table.mjs +888 -0
  200. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -0
  201. package/fesm2022/mis-crystal-design-system-timepicker.mjs +429 -0
  202. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -0
  203. package/{fesm2015/mis-crystal-design-system-timerangepicker.js → fesm2022/mis-crystal-design-system-timerangepicker.mjs} +73 -35
  204. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -0
  205. package/fesm2022/mis-crystal-design-system-toast.mjs +199 -0
  206. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -0
  207. package/fesm2022/mis-crystal-design-system-tooltip.mjs +238 -0
  208. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -0
  209. package/{fesm2015/mis-crystal-design-system-utils.js → fesm2022/mis-crystal-design-system-utils.mjs} +1 -1
  210. package/fesm2022/mis-crystal-design-system-utils.mjs.map +1 -0
  211. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +227 -0
  212. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
  213. package/{fesm2015/mis-crystal-design-system-widgets.js → fesm2022/mis-crystal-design-system-widgets.mjs} +13 -7
  214. package/fesm2022/mis-crystal-design-system-widgets.mjs.map +1 -0
  215. package/{fesm2015/mis-crystal-design-system.js → fesm2022/mis-crystal-design-system.mjs} +1 -1
  216. package/fesm2022/mis-crystal-design-system.mjs.map +1 -0
  217. package/input/directives/input/input.directive.d.ts +3 -0
  218. package/input/mis-input.component.d.ts +3 -0
  219. package/input/mis-input.module.d.ts +8 -0
  220. package/input-stepper/input-stepper/input-stepper.component.d.ts +3 -0
  221. package/input-stepper/input-stepper.module.d.ts +6 -0
  222. package/loader/loader.component.d.ts +3 -0
  223. package/loader/loader.module.d.ts +6 -0
  224. package/menu/menu-close.directive.d.ts +3 -0
  225. package/menu/menu.directive.d.ts +3 -0
  226. package/menu/menu.module.d.ts +9 -1
  227. package/mobile-filter/mobile-filter.component.d.ts +3 -0
  228. package/mobile-filter/mobile-filter.module.d.ts +8 -0
  229. package/modal/modal.module.d.ts +8 -0
  230. package/modal/modal.service.d.ts +3 -0
  231. package/modal/module-wrapper/module-wrapper.component.d.ts +3 -0
  232. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +3 -0
  233. package/multi-select-dropdown/multi-select-dropdown.module.d.ts +10 -0
  234. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +3 -0
  235. package/nested-multi-select-dropdown/nested-multi-select-dropdown.module.d.ts +10 -0
  236. package/package.json +240 -9
  237. package/phone-input/phone-input.component.d.ts +5 -2
  238. package/phone-input/phone-input.module.d.ts +10 -0
  239. package/radio-button/radio-button.component.d.ts +3 -0
  240. package/radio-button/radio-button.module.d.ts +7 -0
  241. package/ske-loader/ske-loader.component.d.ts +3 -0
  242. package/ske-loader/ske-loader.module.d.ts +6 -0
  243. package/slider/slider.component.d.ts +6 -3
  244. package/slider/slider.module.d.ts +7 -0
  245. package/snackbar/snackbar/snackbar.component.d.ts +3 -0
  246. package/snackbar/snackbar.module.d.ts +6 -0
  247. package/snackbar/snackbar.service.d.ts +5 -2
  248. package/specificdatepicker/models/sdp-config.model.d.ts +1 -1
  249. package/specificdatepicker/public_api.d.ts +2 -0
  250. package/specificdatepicker/specificdatepicker.module.d.ts +12 -0
  251. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +5 -2
  252. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +3 -0
  253. package/star-rating/star-rating.component.d.ts +3 -0
  254. package/star-rating/star-rating.module.d.ts +6 -0
  255. package/switch/switch.component.d.ts +3 -0
  256. package/switch/switch.module.d.ts +7 -0
  257. package/table/custom-table-cell.directive.d.ts +3 -0
  258. package/table/filter/filter.component.d.ts +4 -1
  259. package/table/public_api.d.ts +2 -0
  260. package/table/sub-table/sub-table.component.d.ts +3 -0
  261. package/table/table.component.d.ts +3 -0
  262. package/table/table.module.d.ts +11 -0
  263. package/timepicker/timepicker.component.d.ts +3 -0
  264. package/timepicker/timepicker.directive.d.ts +3 -0
  265. package/timepicker/timepicker.module.d.ts +10 -0
  266. package/timerangepicker/timerange.namespace.d.ts +1 -1
  267. package/timerangepicker/timerangepicker.component.d.ts +3 -0
  268. package/timerangepicker/timerangepicker.module.d.ts +8 -0
  269. package/toast/toast.component.d.ts +3 -0
  270. package/toast/toast.data.service.d.ts +3 -0
  271. package/toast/toast.module.d.ts +7 -0
  272. package/toast/toast.service.d.ts +4 -1
  273. package/tooltip/models/tooltip.model.d.ts +1 -1
  274. package/tooltip/tooltip-container/tooltip.component.d.ts +3 -0
  275. package/tooltip/tooltip.directive.d.ts +3 -0
  276. package/tooltip/tooltip.module.d.ts +8 -0
  277. package/virtual-scroll/virtual-scroll.component.d.ts +3 -0
  278. package/virtual-scroll/virtual-scroll.module.d.ts +8 -0
  279. package/widgets/interfaces/widgets.model.d.ts +1 -1
  280. package/widgets/services/widget.service.d.ts +3 -0
  281. package/widgets/widgets.module.d.ts +5 -0
  282. package/action-list/mis-crystal-design-system-action-list.d.ts +0 -4
  283. package/action-list/mis-crystal-design-system-action-list.metadata.json +0 -1
  284. package/action-list/package.json +0 -11
  285. package/analytics/mis-crystal-design-system-analytics.d.ts +0 -4
  286. package/analytics/mis-crystal-design-system-analytics.metadata.json +0 -1
  287. package/analytics/package.json +0 -11
  288. package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.d.ts +0 -4
  289. package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.metadata.json +0 -1
  290. package/async-search-dropdown/package.json +0 -11
  291. package/bundles/mis-crystal-design-system-action-list.umd.js +0 -668
  292. package/bundles/mis-crystal-design-system-action-list.umd.js.map +0 -1
  293. package/bundles/mis-crystal-design-system-action-list.umd.min.js +0 -2
  294. package/bundles/mis-crystal-design-system-action-list.umd.min.js.map +0 -1
  295. package/bundles/mis-crystal-design-system-analytics.umd.js +0 -581
  296. package/bundles/mis-crystal-design-system-analytics.umd.js.map +0 -1
  297. package/bundles/mis-crystal-design-system-analytics.umd.min.js +0 -2
  298. package/bundles/mis-crystal-design-system-analytics.umd.min.js.map +0 -1
  299. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js +0 -279
  300. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js.map +0 -1
  301. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js +0 -2
  302. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js.map +0 -1
  303. package/bundles/mis-crystal-design-system-button.umd.js +0 -134
  304. package/bundles/mis-crystal-design-system-button.umd.js.map +0 -1
  305. package/bundles/mis-crystal-design-system-button.umd.min.js +0 -2
  306. package/bundles/mis-crystal-design-system-button.umd.min.js.map +0 -1
  307. package/bundles/mis-crystal-design-system-checkbox.umd.js +0 -127
  308. package/bundles/mis-crystal-design-system-checkbox.umd.js.map +0 -1
  309. package/bundles/mis-crystal-design-system-checkbox.umd.min.js +0 -2
  310. package/bundles/mis-crystal-design-system-checkbox.umd.min.js.map +0 -1
  311. package/bundles/mis-crystal-design-system-chip.umd.js +0 -64
  312. package/bundles/mis-crystal-design-system-chip.umd.js.map +0 -1
  313. package/bundles/mis-crystal-design-system-chip.umd.min.js +0 -2
  314. package/bundles/mis-crystal-design-system-chip.umd.min.js.map +0 -1
  315. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +0 -865
  316. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +0 -1
  317. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +0 -2
  318. package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +0 -1
  319. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js +0 -464
  320. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js.map +0 -1
  321. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js +0 -2
  322. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js.map +0 -1
  323. package/bundles/mis-crystal-design-system-drawer.umd.js +0 -169
  324. package/bundles/mis-crystal-design-system-drawer.umd.js.map +0 -1
  325. package/bundles/mis-crystal-design-system-drawer.umd.min.js +0 -2
  326. package/bundles/mis-crystal-design-system-drawer.umd.min.js.map +0 -1
  327. package/bundles/mis-crystal-design-system-dropdown.umd.js +0 -717
  328. package/bundles/mis-crystal-design-system-dropdown.umd.js.map +0 -1
  329. package/bundles/mis-crystal-design-system-dropdown.umd.min.js +0 -2
  330. package/bundles/mis-crystal-design-system-dropdown.umd.min.js.map +0 -1
  331. package/bundles/mis-crystal-design-system-dynamic-form.umd.js +0 -899
  332. package/bundles/mis-crystal-design-system-dynamic-form.umd.js.map +0 -1
  333. package/bundles/mis-crystal-design-system-dynamic-form.umd.min.js +0 -2
  334. package/bundles/mis-crystal-design-system-dynamic-form.umd.min.js.map +0 -1
  335. package/bundles/mis-crystal-design-system-fab.umd.js +0 -95
  336. package/bundles/mis-crystal-design-system-fab.umd.js.map +0 -1
  337. package/bundles/mis-crystal-design-system-fab.umd.min.js +0 -2
  338. package/bundles/mis-crystal-design-system-fab.umd.min.js.map +0 -1
  339. package/bundles/mis-crystal-design-system-input-stepper.umd.js +0 -85
  340. package/bundles/mis-crystal-design-system-input-stepper.umd.js.map +0 -1
  341. package/bundles/mis-crystal-design-system-input-stepper.umd.min.js +0 -2
  342. package/bundles/mis-crystal-design-system-input-stepper.umd.min.js.map +0 -1
  343. package/bundles/mis-crystal-design-system-input.umd.js +0 -116
  344. package/bundles/mis-crystal-design-system-input.umd.js.map +0 -1
  345. package/bundles/mis-crystal-design-system-input.umd.min.js +0 -2
  346. package/bundles/mis-crystal-design-system-input.umd.min.js.map +0 -1
  347. package/bundles/mis-crystal-design-system-loader.umd.js +0 -53
  348. package/bundles/mis-crystal-design-system-loader.umd.js.map +0 -1
  349. package/bundles/mis-crystal-design-system-loader.umd.min.js +0 -2
  350. package/bundles/mis-crystal-design-system-loader.umd.min.js.map +0 -1
  351. package/bundles/mis-crystal-design-system-menu.umd.js +0 -119
  352. package/bundles/mis-crystal-design-system-menu.umd.js.map +0 -1
  353. package/bundles/mis-crystal-design-system-menu.umd.min.js +0 -2
  354. package/bundles/mis-crystal-design-system-menu.umd.min.js.map +0 -1
  355. package/bundles/mis-crystal-design-system-mobile-filter.umd.js +0 -89
  356. package/bundles/mis-crystal-design-system-mobile-filter.umd.js.map +0 -1
  357. package/bundles/mis-crystal-design-system-mobile-filter.umd.min.js +0 -2
  358. package/bundles/mis-crystal-design-system-mobile-filter.umd.min.js.map +0 -1
  359. package/bundles/mis-crystal-design-system-modal.umd.js +0 -161
  360. package/bundles/mis-crystal-design-system-modal.umd.js.map +0 -1
  361. package/bundles/mis-crystal-design-system-modal.umd.min.js +0 -2
  362. package/bundles/mis-crystal-design-system-modal.umd.min.js.map +0 -1
  363. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +0 -782
  364. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +0 -1
  365. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +0 -2
  366. package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +0 -1
  367. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js +0 -795
  368. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js.map +0 -1
  369. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js +0 -2
  370. package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js.map +0 -1
  371. package/bundles/mis-crystal-design-system-phone-input.umd.js +0 -117
  372. package/bundles/mis-crystal-design-system-phone-input.umd.js.map +0 -1
  373. package/bundles/mis-crystal-design-system-phone-input.umd.min.js +0 -2
  374. package/bundles/mis-crystal-design-system-phone-input.umd.min.js.map +0 -1
  375. package/bundles/mis-crystal-design-system-radio-button.umd.js +0 -77
  376. package/bundles/mis-crystal-design-system-radio-button.umd.js.map +0 -1
  377. package/bundles/mis-crystal-design-system-radio-button.umd.min.js +0 -2
  378. package/bundles/mis-crystal-design-system-radio-button.umd.min.js.map +0 -1
  379. package/bundles/mis-crystal-design-system-ske-loader.umd.js +0 -65
  380. package/bundles/mis-crystal-design-system-ske-loader.umd.js.map +0 -1
  381. package/bundles/mis-crystal-design-system-ske-loader.umd.min.js +0 -2
  382. package/bundles/mis-crystal-design-system-ske-loader.umd.min.js.map +0 -1
  383. package/bundles/mis-crystal-design-system-slider.umd.js +0 -73
  384. package/bundles/mis-crystal-design-system-slider.umd.js.map +0 -1
  385. package/bundles/mis-crystal-design-system-slider.umd.min.js +0 -2
  386. package/bundles/mis-crystal-design-system-slider.umd.min.js.map +0 -1
  387. package/bundles/mis-crystal-design-system-snackbar.umd.js +0 -114
  388. package/bundles/mis-crystal-design-system-snackbar.umd.js.map +0 -1
  389. package/bundles/mis-crystal-design-system-snackbar.umd.min.js +0 -2
  390. package/bundles/mis-crystal-design-system-snackbar.umd.min.js.map +0 -1
  391. package/bundles/mis-crystal-design-system-specificdatepicker.umd.js +0 -1136
  392. package/bundles/mis-crystal-design-system-specificdatepicker.umd.js.map +0 -1
  393. package/bundles/mis-crystal-design-system-specificdatepicker.umd.min.js +0 -2
  394. package/bundles/mis-crystal-design-system-specificdatepicker.umd.min.js.map +0 -1
  395. package/bundles/mis-crystal-design-system-star-rating.umd.js +0 -112
  396. package/bundles/mis-crystal-design-system-star-rating.umd.js.map +0 -1
  397. package/bundles/mis-crystal-design-system-star-rating.umd.min.js +0 -2
  398. package/bundles/mis-crystal-design-system-star-rating.umd.min.js.map +0 -1
  399. package/bundles/mis-crystal-design-system-styles.umd.js +0 -11
  400. package/bundles/mis-crystal-design-system-styles.umd.js.map +0 -1
  401. package/bundles/mis-crystal-design-system-styles.umd.min.js +0 -2
  402. package/bundles/mis-crystal-design-system-styles.umd.min.js.map +0 -1
  403. package/bundles/mis-crystal-design-system-switch.umd.js +0 -79
  404. package/bundles/mis-crystal-design-system-switch.umd.js.map +0 -1
  405. package/bundles/mis-crystal-design-system-switch.umd.min.js +0 -2
  406. package/bundles/mis-crystal-design-system-switch.umd.min.js.map +0 -1
  407. package/bundles/mis-crystal-design-system-table.umd.js +0 -943
  408. package/bundles/mis-crystal-design-system-table.umd.js.map +0 -1
  409. package/bundles/mis-crystal-design-system-table.umd.min.js +0 -2
  410. package/bundles/mis-crystal-design-system-table.umd.min.js.map +0 -1
  411. package/bundles/mis-crystal-design-system-timepicker.umd.js +0 -847
  412. package/bundles/mis-crystal-design-system-timepicker.umd.js.map +0 -1
  413. package/bundles/mis-crystal-design-system-timepicker.umd.min.js +0 -2
  414. package/bundles/mis-crystal-design-system-timepicker.umd.min.js.map +0 -1
  415. package/bundles/mis-crystal-design-system-timerangepicker.umd.js +0 -248
  416. package/bundles/mis-crystal-design-system-timerangepicker.umd.js.map +0 -1
  417. package/bundles/mis-crystal-design-system-timerangepicker.umd.min.js +0 -2
  418. package/bundles/mis-crystal-design-system-timerangepicker.umd.min.js.map +0 -1
  419. package/bundles/mis-crystal-design-system-toast.umd.js +0 -202
  420. package/bundles/mis-crystal-design-system-toast.umd.js.map +0 -1
  421. package/bundles/mis-crystal-design-system-toast.umd.min.js +0 -2
  422. package/bundles/mis-crystal-design-system-toast.umd.min.js.map +0 -1
  423. package/bundles/mis-crystal-design-system-tooltip.umd.js +0 -214
  424. package/bundles/mis-crystal-design-system-tooltip.umd.js.map +0 -1
  425. package/bundles/mis-crystal-design-system-tooltip.umd.min.js +0 -2
  426. package/bundles/mis-crystal-design-system-tooltip.umd.min.js.map +0 -1
  427. package/bundles/mis-crystal-design-system-utils.umd.js +0 -33
  428. package/bundles/mis-crystal-design-system-utils.umd.js.map +0 -1
  429. package/bundles/mis-crystal-design-system-utils.umd.min.js +0 -2
  430. package/bundles/mis-crystal-design-system-utils.umd.min.js.map +0 -1
  431. package/bundles/mis-crystal-design-system-virtual-scroll.umd.js +0 -630
  432. package/bundles/mis-crystal-design-system-virtual-scroll.umd.js.map +0 -1
  433. package/bundles/mis-crystal-design-system-virtual-scroll.umd.min.js +0 -2
  434. package/bundles/mis-crystal-design-system-virtual-scroll.umd.min.js.map +0 -1
  435. package/bundles/mis-crystal-design-system-widgets.umd.js +0 -637
  436. package/bundles/mis-crystal-design-system-widgets.umd.js.map +0 -1
  437. package/bundles/mis-crystal-design-system-widgets.umd.min.js +0 -2
  438. package/bundles/mis-crystal-design-system-widgets.umd.min.js.map +0 -1
  439. package/bundles/mis-crystal-design-system.umd.js +0 -31
  440. package/bundles/mis-crystal-design-system.umd.js.map +0 -1
  441. package/bundles/mis-crystal-design-system.umd.min.js +0 -2
  442. package/bundles/mis-crystal-design-system.umd.min.js.map +0 -1
  443. package/button/mis-crystal-design-system-button.d.ts +0 -4
  444. package/button/mis-crystal-design-system-button.metadata.json +0 -1
  445. package/button/package.json +0 -11
  446. package/checkbox/mis-crystal-design-system-checkbox.d.ts +0 -4
  447. package/checkbox/mis-crystal-design-system-checkbox.metadata.json +0 -1
  448. package/checkbox/package.json +0 -11
  449. package/chip/mis-crystal-design-system-chip.d.ts +0 -4
  450. package/chip/mis-crystal-design-system-chip.metadata.json +0 -1
  451. package/chip/package.json +0 -11
  452. package/datepicker_v2/mis-crystal-design-system-datepicker_v2.d.ts +0 -7
  453. package/datepicker_v2/mis-crystal-design-system-datepicker_v2.metadata.json +0 -1
  454. package/datepicker_v2/package.json +0 -11
  455. package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.d.ts +0 -7
  456. package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.metadata.json +0 -1
  457. package/daterangepicker_v2/package.json +0 -11
  458. package/drawer/mis-crystal-design-system-drawer.d.ts +0 -5
  459. package/drawer/mis-crystal-design-system-drawer.metadata.json +0 -1
  460. package/drawer/package.json +0 -11
  461. package/dropdown/mis-crystal-design-system-dropdown.d.ts +0 -5
  462. package/dropdown/mis-crystal-design-system-dropdown.metadata.json +0 -1
  463. package/dropdown/package.json +0 -11
  464. package/dynamic-form/mis-crystal-design-system-dynamic-form.d.ts +0 -4
  465. package/dynamic-form/mis-crystal-design-system-dynamic-form.metadata.json +0 -1
  466. package/dynamic-form/package.json +0 -11
  467. package/esm2015/action-list/action-list.component.js +0 -161
  468. package/esm2015/action-list/action-list.module.js +0 -19
  469. package/esm2015/analytics/analytics.module.js +0 -14
  470. package/esm2015/analytics/analytics.service.js +0 -62
  471. package/esm2015/async-search-dropdown/async-dropdown.component.js +0 -243
  472. package/esm2015/async-search-dropdown/async-dropdown.module.js +0 -16
  473. package/esm2015/button/button.component.js +0 -43
  474. package/esm2015/button/button.directive.js +0 -57
  475. package/esm2015/button/button.module.js +0 -17
  476. package/esm2015/checkbox/checkbox.component.js +0 -79
  477. package/esm2015/checkbox/checkbox.module.js +0 -17
  478. package/esm2015/chip/chip.component.js +0 -31
  479. package/esm2015/chip/chip.module.js +0 -16
  480. package/esm2015/datepicker_v2/datepicker.module.js +0 -18
  481. package/esm2015/datepicker_v2/mis-crystal-design-system-datepicker_v2.js +0 -7
  482. package/esm2015/datepicker_v2/public_api.js +0 -3
  483. package/esm2015/datepicker_v2/tz-datepicker.directive.js +0 -144
  484. package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +0 -149
  485. package/esm2015/datepicker_v2/utils/index.js +0 -45
  486. package/esm2015/daterangepicker_v2/daterangepicker.module.js +0 -18
  487. package/esm2015/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.js +0 -7
  488. package/esm2015/daterangepicker_v2/public_api.js +0 -3
  489. package/esm2015/daterangepicker_v2/tz-daterangepicker.directive.js +0 -123
  490. package/esm2015/daterangepicker_v2/tz-drp-container/tz-drp-container.component.js +0 -226
  491. package/esm2015/drawer/drawer-body/drawer-body.component.js +0 -41
  492. package/esm2015/drawer/drawer.module.js +0 -28
  493. package/esm2015/drawer/drawer.service.js +0 -59
  494. package/esm2015/drawer/mis-crystal-design-system-drawer.js +0 -6
  495. package/esm2015/dropdown/calculate-container-height.directive.js +0 -40
  496. package/esm2015/dropdown/dropdown.component.js +0 -169
  497. package/esm2015/dropdown/dropdown.module.js +0 -21
  498. package/esm2015/dropdown/mis-crystal-design-system-dropdown.js +0 -6
  499. package/esm2015/dynamic-form/dynamic-form.component.js +0 -308
  500. package/esm2015/dynamic-form/dynamic-form.module.js +0 -34
  501. package/esm2015/fab/fab.component.js +0 -63
  502. package/esm2015/fab/fab.module.js +0 -16
  503. package/esm2015/input/directives/input/input.directive.js +0 -38
  504. package/esm2015/input/mis-input.component.js +0 -45
  505. package/esm2015/input/mis-input.module.js +0 -15
  506. package/esm2015/input-stepper/input-stepper/input-stepper.component.js +0 -49
  507. package/esm2015/input-stepper/input-stepper.module.js +0 -19
  508. package/esm2015/loader/loader.component.js +0 -20
  509. package/esm2015/loader/loader.module.js +0 -16
  510. package/esm2015/menu/menu-close.directive.js +0 -18
  511. package/esm2015/menu/menu.directive.js +0 -70
  512. package/esm2015/menu/menu.module.js +0 -17
  513. package/esm2015/mobile-filter/mobile-filter.component.js +0 -54
  514. package/esm2015/mobile-filter/mobile-filter.module.js +0 -15
  515. package/esm2015/modal/mis-crystal-design-system-modal.js +0 -6
  516. package/esm2015/modal/modal.module.js +0 -28
  517. package/esm2015/modal/modal.service.js +0 -72
  518. package/esm2015/modal/module-wrapper/module-wrapper.component.js +0 -33
  519. package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +0 -269
  520. package/esm2015/multi-select-dropdown/multi-select-dropdown.module.js +0 -20
  521. package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.component.js +0 -265
  522. package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.module.js +0 -20
  523. package/esm2015/phone-input/phone-input.component.js +0 -85
  524. package/esm2015/phone-input/phone-input.module.js +0 -21
  525. package/esm2015/radio-button/radio-button.component.js +0 -45
  526. package/esm2015/radio-button/radio-button.module.js +0 -17
  527. package/esm2015/ske-loader/ske-loader.component.js +0 -31
  528. package/esm2015/ske-loader/ske-loader.module.js +0 -13
  529. package/esm2015/slider/slider.component.js +0 -38
  530. package/esm2015/slider/slider.module.js +0 -20
  531. package/esm2015/snackbar/snackbar/snackbar.component.js +0 -22
  532. package/esm2015/snackbar/snackbar.module.js +0 -31
  533. package/esm2015/snackbar/snackbar.service.js +0 -48
  534. package/esm2015/specificdatepicker/mis-crystal-design-system-specificdatepicker.js +0 -7
  535. package/esm2015/specificdatepicker/public_api.js +0 -3
  536. package/esm2015/specificdatepicker/specificdatepicker.module.js +0 -20
  537. package/esm2015/specificdatepicker/tz-sdp-container/tz-sdp-container.component.js +0 -356
  538. package/esm2015/specificdatepicker/tz-specificdatepicker.directive.js +0 -179
  539. package/esm2015/specificdatepicker/utils/index.js +0 -45
  540. package/esm2015/star-rating/star-rating.component.js +0 -78
  541. package/esm2015/star-rating/star-rating.module.js +0 -13
  542. package/esm2015/switch/switch.component.js +0 -39
  543. package/esm2015/switch/switch.module.js +0 -17
  544. package/esm2015/table/custom-table-cell.directive.js +0 -42
  545. package/esm2015/table/filter/filter.component.js +0 -75
  546. package/esm2015/table/mis-crystal-design-system-table.js +0 -6
  547. package/esm2015/table/public_api.js +0 -5
  548. package/esm2015/table/sub-table/sub-table.component.js +0 -69
  549. package/esm2015/table/table.component.js +0 -200
  550. package/esm2015/table/table.module.js +0 -21
  551. package/esm2015/timepicker/mis-crystal-design-system-timepicker.js +0 -6
  552. package/esm2015/timepicker/timepicker.component.js +0 -248
  553. package/esm2015/timepicker/timepicker.directive.js +0 -62
  554. package/esm2015/timepicker/timepicker.module.js +0 -20
  555. package/esm2015/timerangepicker/timerangepicker.component.js +0 -194
  556. package/esm2015/timerangepicker/timerangepicker.module.js +0 -18
  557. package/esm2015/toast/toast.component.js +0 -28
  558. package/esm2015/toast/toast.data.service.js +0 -29
  559. package/esm2015/toast/toast.module.js +0 -28
  560. package/esm2015/toast/toast.service.js +0 -96
  561. package/esm2015/tooltip/tooltip-container/tooltip.component.js +0 -35
  562. package/esm2015/tooltip/tooltip.directive.js +0 -128
  563. package/esm2015/tooltip/tooltip.module.js +0 -19
  564. package/esm2015/virtual-scroll/virtual-scroll.component.js +0 -111
  565. package/esm2015/virtual-scroll/virtual-scroll.module.js +0 -24
  566. package/esm2015/widgets/classes/async-widget.js +0 -23
  567. package/esm2015/widgets/classes/base-widget.js +0 -32
  568. package/esm2015/widgets/classes/sync-widget.js +0 -20
  569. package/esm2015/widgets/classes/widget-group.js +0 -32
  570. package/esm2015/widgets/services/widget.service.js +0 -16
  571. package/esm2015/widgets/widgets.module.js +0 -12
  572. package/fab/mis-crystal-design-system-fab.d.ts +0 -4
  573. package/fab/mis-crystal-design-system-fab.metadata.json +0 -1
  574. package/fab/package.json +0 -11
  575. package/fesm2015/mis-crystal-design-system-action-list.js +0 -184
  576. package/fesm2015/mis-crystal-design-system-action-list.js.map +0 -1
  577. package/fesm2015/mis-crystal-design-system-analytics.js.map +0 -1
  578. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js +0 -262
  579. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js.map +0 -1
  580. package/fesm2015/mis-crystal-design-system-button.js +0 -120
  581. package/fesm2015/mis-crystal-design-system-button.js.map +0 -1
  582. package/fesm2015/mis-crystal-design-system-checkbox.js +0 -100
  583. package/fesm2015/mis-crystal-design-system-checkbox.js.map +0 -1
  584. package/fesm2015/mis-crystal-design-system-chip.js +0 -52
  585. package/fesm2015/mis-crystal-design-system-chip.js.map +0 -1
  586. package/fesm2015/mis-crystal-design-system-datepicker_v2.js +0 -357
  587. package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +0 -1
  588. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js +0 -413
  589. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js.map +0 -1
  590. package/fesm2015/mis-crystal-design-system-drawer.js +0 -153
  591. package/fesm2015/mis-crystal-design-system-drawer.js.map +0 -1
  592. package/fesm2015/mis-crystal-design-system-dropdown.js +0 -232
  593. package/fesm2015/mis-crystal-design-system-dropdown.js.map +0 -1
  594. package/fesm2015/mis-crystal-design-system-dynamic-form.js +0 -346
  595. package/fesm2015/mis-crystal-design-system-dynamic-form.js.map +0 -1
  596. package/fesm2015/mis-crystal-design-system-fab.js +0 -84
  597. package/fesm2015/mis-crystal-design-system-fab.js.map +0 -1
  598. package/fesm2015/mis-crystal-design-system-input-stepper.js +0 -73
  599. package/fesm2015/mis-crystal-design-system-input-stepper.js.map +0 -1
  600. package/fesm2015/mis-crystal-design-system-input.js +0 -99
  601. package/fesm2015/mis-crystal-design-system-input.js.map +0 -1
  602. package/fesm2015/mis-crystal-design-system-loader.js +0 -41
  603. package/fesm2015/mis-crystal-design-system-loader.js.map +0 -1
  604. package/fesm2015/mis-crystal-design-system-menu.js +0 -106
  605. package/fesm2015/mis-crystal-design-system-menu.js.map +0 -1
  606. package/fesm2015/mis-crystal-design-system-mobile-filter.js +0 -74
  607. package/fesm2015/mis-crystal-design-system-mobile-filter.js.map +0 -1
  608. package/fesm2015/mis-crystal-design-system-modal.js +0 -147
  609. package/fesm2015/mis-crystal-design-system-modal.js.map +0 -1
  610. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +0 -293
  611. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +0 -1
  612. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js +0 -289
  613. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js.map +0 -1
  614. package/fesm2015/mis-crystal-design-system-phone-input.js +0 -109
  615. package/fesm2015/mis-crystal-design-system-phone-input.js.map +0 -1
  616. package/fesm2015/mis-crystal-design-system-radio-button.js +0 -66
  617. package/fesm2015/mis-crystal-design-system-radio-button.js.map +0 -1
  618. package/fesm2015/mis-crystal-design-system-ske-loader.js +0 -49
  619. package/fesm2015/mis-crystal-design-system-ske-loader.js.map +0 -1
  620. package/fesm2015/mis-crystal-design-system-slider.js +0 -62
  621. package/fesm2015/mis-crystal-design-system-slider.js.map +0 -1
  622. package/fesm2015/mis-crystal-design-system-snackbar.js +0 -101
  623. package/fesm2015/mis-crystal-design-system-snackbar.js.map +0 -1
  624. package/fesm2015/mis-crystal-design-system-specificdatepicker.js +0 -599
  625. package/fesm2015/mis-crystal-design-system-specificdatepicker.js.map +0 -1
  626. package/fesm2015/mis-crystal-design-system-star-rating.js +0 -96
  627. package/fesm2015/mis-crystal-design-system-star-rating.js.map +0 -1
  628. package/fesm2015/mis-crystal-design-system-styles.js +0 -4
  629. package/fesm2015/mis-crystal-design-system-styles.js.map +0 -1
  630. package/fesm2015/mis-crystal-design-system-switch.js +0 -60
  631. package/fesm2015/mis-crystal-design-system-switch.js.map +0 -1
  632. package/fesm2015/mis-crystal-design-system-table.js +0 -406
  633. package/fesm2015/mis-crystal-design-system-table.js.map +0 -1
  634. package/fesm2015/mis-crystal-design-system-timepicker.js +0 -330
  635. package/fesm2015/mis-crystal-design-system-timepicker.js.map +0 -1
  636. package/fesm2015/mis-crystal-design-system-timerangepicker.js.map +0 -1
  637. package/fesm2015/mis-crystal-design-system-toast.js +0 -174
  638. package/fesm2015/mis-crystal-design-system-toast.js.map +0 -1
  639. package/fesm2015/mis-crystal-design-system-tooltip.js +0 -183
  640. package/fesm2015/mis-crystal-design-system-tooltip.js.map +0 -1
  641. package/fesm2015/mis-crystal-design-system-utils.js.map +0 -1
  642. package/fesm2015/mis-crystal-design-system-virtual-scroll.js +0 -141
  643. package/fesm2015/mis-crystal-design-system-virtual-scroll.js.map +0 -1
  644. package/fesm2015/mis-crystal-design-system-widgets.js.map +0 -1
  645. package/fesm2015/mis-crystal-design-system.js.map +0 -1
  646. package/input/mis-crystal-design-system-input.d.ts +0 -4
  647. package/input/mis-crystal-design-system-input.metadata.json +0 -1
  648. package/input/package.json +0 -11
  649. package/input-stepper/mis-crystal-design-system-input-stepper.d.ts +0 -4
  650. package/input-stepper/mis-crystal-design-system-input-stepper.metadata.json +0 -1
  651. package/input-stepper/package.json +0 -11
  652. package/loader/mis-crystal-design-system-loader.d.ts +0 -4
  653. package/loader/mis-crystal-design-system-loader.metadata.json +0 -1
  654. package/loader/package.json +0 -11
  655. package/menu/mis-crystal-design-system-menu.d.ts +0 -4
  656. package/menu/mis-crystal-design-system-menu.metadata.json +0 -1
  657. package/menu/package.json +0 -11
  658. package/mis-crystal-design-system.d.ts +0 -4
  659. package/mis-crystal-design-system.metadata.json +0 -1
  660. package/mobile-filter/mis-crystal-design-system-mobile-filter.d.ts +0 -4
  661. package/mobile-filter/mis-crystal-design-system-mobile-filter.metadata.json +0 -1
  662. package/mobile-filter/package.json +0 -11
  663. package/modal/mis-crystal-design-system-modal.d.ts +0 -5
  664. package/modal/mis-crystal-design-system-modal.metadata.json +0 -1
  665. package/modal/package.json +0 -11
  666. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.d.ts +0 -4
  667. package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +0 -1
  668. package/multi-select-dropdown/package.json +0 -11
  669. package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.d.ts +0 -4
  670. package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.metadata.json +0 -1
  671. package/nested-multi-select-dropdown/package.json +0 -11
  672. package/phone-input/mis-crystal-design-system-phone-input.d.ts +0 -4
  673. package/phone-input/mis-crystal-design-system-phone-input.metadata.json +0 -1
  674. package/phone-input/package.json +0 -11
  675. package/radio-button/mis-crystal-design-system-radio-button.d.ts +0 -4
  676. package/radio-button/mis-crystal-design-system-radio-button.metadata.json +0 -1
  677. package/radio-button/package.json +0 -11
  678. package/ske-loader/mis-crystal-design-system-ske-loader.d.ts +0 -4
  679. package/ske-loader/mis-crystal-design-system-ske-loader.metadata.json +0 -1
  680. package/ske-loader/package.json +0 -11
  681. package/slider/mis-crystal-design-system-slider.d.ts +0 -4
  682. package/slider/mis-crystal-design-system-slider.metadata.json +0 -1
  683. package/slider/package.json +0 -11
  684. package/snackbar/mis-crystal-design-system-snackbar.d.ts +0 -4
  685. package/snackbar/mis-crystal-design-system-snackbar.metadata.json +0 -1
  686. package/snackbar/package.json +0 -11
  687. package/specificdatepicker/mis-crystal-design-system-specificdatepicker.d.ts +0 -7
  688. package/specificdatepicker/mis-crystal-design-system-specificdatepicker.metadata.json +0 -1
  689. package/specificdatepicker/package.json +0 -11
  690. package/star-rating/mis-crystal-design-system-star-rating.d.ts +0 -4
  691. package/star-rating/mis-crystal-design-system-star-rating.metadata.json +0 -1
  692. package/star-rating/package.json +0 -11
  693. package/styles/mis-crystal-design-system-styles.d.ts +0 -4
  694. package/styles/mis-crystal-design-system-styles.metadata.json +0 -1
  695. package/styles/package.json +0 -11
  696. package/switch/mis-crystal-design-system-switch.d.ts +0 -4
  697. package/switch/mis-crystal-design-system-switch.metadata.json +0 -1
  698. package/switch/package.json +0 -11
  699. package/table/mis-crystal-design-system-table.d.ts +0 -5
  700. package/table/mis-crystal-design-system-table.metadata.json +0 -1
  701. package/table/package.json +0 -11
  702. package/timepicker/mis-crystal-design-system-timepicker.d.ts +0 -5
  703. package/timepicker/mis-crystal-design-system-timepicker.metadata.json +0 -1
  704. package/timepicker/package.json +0 -11
  705. package/timerangepicker/mis-crystal-design-system-timerangepicker.d.ts +0 -4
  706. package/timerangepicker/mis-crystal-design-system-timerangepicker.metadata.json +0 -1
  707. package/timerangepicker/package.json +0 -11
  708. package/toast/mis-crystal-design-system-toast.d.ts +0 -4
  709. package/toast/mis-crystal-design-system-toast.metadata.json +0 -1
  710. package/toast/package.json +0 -11
  711. package/tooltip/mis-crystal-design-system-tooltip.d.ts +0 -4
  712. package/tooltip/mis-crystal-design-system-tooltip.metadata.json +0 -1
  713. package/tooltip/package.json +0 -11
  714. package/utils/mis-crystal-design-system-utils.d.ts +0 -4
  715. package/utils/mis-crystal-design-system-utils.metadata.json +0 -1
  716. package/utils/package.json +0 -11
  717. package/virtual-scroll/mis-crystal-design-system-virtual-scroll.d.ts +0 -4
  718. package/virtual-scroll/mis-crystal-design-system-virtual-scroll.metadata.json +0 -1
  719. package/virtual-scroll/package.json +0 -11
  720. package/widgets/mis-crystal-design-system-widgets.d.ts +0 -4
  721. package/widgets/mis-crystal-design-system-widgets.metadata.json +0 -1
  722. package/widgets/package.json +0 -11
  723. /package/{esm2015/action-list/index.js → esm2022/action-list/index.mjs} +0 -0
  724. /package/{esm2015/action-list/mis-crystal-design-system-action-list.js → esm2022/action-list/mis-crystal-design-system-action-list.mjs} +0 -0
  725. /package/{esm2015/action-list/public_api.js → esm2022/action-list/public_api.mjs} +0 -0
  726. /package/{esm2015/analytics/index.js → esm2022/analytics/index.mjs} +0 -0
  727. /package/{esm2015/analytics/mis-crystal-design-system-analytics.js → esm2022/analytics/mis-crystal-design-system-analytics.mjs} +0 -0
  728. /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
  729. /package/{esm2015/async-search-dropdown/index.js → esm2022/async-search-dropdown/index.mjs} +0 -0
  730. /package/{esm2015/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.js → esm2022/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs} +0 -0
  731. /package/{esm2015/async-search-dropdown/public_api.js → esm2022/async-search-dropdown/public_api.mjs} +0 -0
  732. /package/{esm2015/button/index.js → esm2022/button/index.mjs} +0 -0
  733. /package/{esm2015/button/mis-crystal-design-system-button.js → esm2022/button/mis-crystal-design-system-button.mjs} +0 -0
  734. /package/{esm2015/button/public_api.js → esm2022/button/public_api.mjs} +0 -0
  735. /package/{esm2015/checkbox/index.js → esm2022/checkbox/index.mjs} +0 -0
  736. /package/{esm2015/checkbox/mis-crystal-design-system-checkbox.js → esm2022/checkbox/mis-crystal-design-system-checkbox.mjs} +0 -0
  737. /package/{esm2015/checkbox/public_api.js → esm2022/checkbox/public_api.mjs} +0 -0
  738. /package/{esm2015/chip/index.js → esm2022/chip/index.mjs} +0 -0
  739. /package/{esm2015/chip/mis-crystal-design-system-chip.js → esm2022/chip/mis-crystal-design-system-chip.mjs} +0 -0
  740. /package/{esm2015/chip/public_api.js → esm2022/chip/public_api.mjs} +0 -0
  741. /package/{esm2015/datepicker_v2/datepicker-constants.js → esm2022/datepicker_v2/datepicker-constants.mjs} +0 -0
  742. /package/{esm2015/datepicker_v2/index.js → esm2022/datepicker_v2/index.mjs} +0 -0
  743. /package/{esm2015/datepicker_v2/models/dp-config.model.js → esm2022/datepicker_v2/models/dp-config.model.mjs} +0 -0
  744. /package/{esm2015/daterangepicker_v2/daterangepicker-constants.js → esm2022/daterangepicker_v2/daterangepicker-constants.mjs} +0 -0
  745. /package/{esm2015/daterangepicker_v2/index.js → esm2022/daterangepicker_v2/index.mjs} +0 -0
  746. /package/{esm2015/daterangepicker_v2/models/drp-config.model.js → esm2022/daterangepicker_v2/models/drp-config.model.mjs} +0 -0
  747. /package/{esm2015/drawer/drawer-constants.js → esm2022/drawer/drawer-constants.mjs} +0 -0
  748. /package/{esm2015/drawer/index.js → esm2022/drawer/index.mjs} +0 -0
  749. /package/{esm2015/drawer/public_api.js → esm2022/drawer/public_api.mjs} +0 -0
  750. /package/{esm2015/dropdown/index.js → esm2022/dropdown/index.mjs} +0 -0
  751. /package/{esm2015/dropdown/public_api.js → esm2022/dropdown/public_api.mjs} +0 -0
  752. /package/{esm2015/dynamic-form/dynamic-form.namespace.js → esm2022/dynamic-form/dynamic-form.namespace.mjs} +0 -0
  753. /package/{esm2015/dynamic-form/index.js → esm2022/dynamic-form/index.mjs} +0 -0
  754. /package/{esm2015/dynamic-form/mis-crystal-design-system-dynamic-form.js → esm2022/dynamic-form/mis-crystal-design-system-dynamic-form.mjs} +0 -0
  755. /package/{esm2015/dynamic-form/public_api.js → esm2022/dynamic-form/public_api.mjs} +0 -0
  756. /package/{esm2015/fab/index.js → esm2022/fab/index.mjs} +0 -0
  757. /package/{esm2015/fab/mis-crystal-design-system-fab.js → esm2022/fab/mis-crystal-design-system-fab.mjs} +0 -0
  758. /package/{esm2015/fab/public_api.js → esm2022/fab/public_api.mjs} +0 -0
  759. /package/{esm2015/index.js → esm2022/index.mjs} +0 -0
  760. /package/{esm2015/input/index.js → esm2022/input/index.mjs} +0 -0
  761. /package/{esm2015/input/mis-crystal-design-system-input.js → esm2022/input/mis-crystal-design-system-input.mjs} +0 -0
  762. /package/{esm2015/input/public_api.js → esm2022/input/public_api.mjs} +0 -0
  763. /package/{esm2015/input-stepper/index.js → esm2022/input-stepper/index.mjs} +0 -0
  764. /package/{esm2015/input-stepper/mis-crystal-design-system-input-stepper.js → esm2022/input-stepper/mis-crystal-design-system-input-stepper.mjs} +0 -0
  765. /package/{esm2015/input-stepper/public_api.js → esm2022/input-stepper/public_api.mjs} +0 -0
  766. /package/{esm2015/loader/index.js → esm2022/loader/index.mjs} +0 -0
  767. /package/{esm2015/loader/mis-crystal-design-system-loader.js → esm2022/loader/mis-crystal-design-system-loader.mjs} +0 -0
  768. /package/{esm2015/loader/public_api.js → esm2022/loader/public_api.mjs} +0 -0
  769. /package/{esm2015/menu/index.js → esm2022/menu/index.mjs} +0 -0
  770. /package/{esm2015/menu/mis-crystal-design-system-menu.js → esm2022/menu/mis-crystal-design-system-menu.mjs} +0 -0
  771. /package/{esm2015/menu/public_api.js → esm2022/menu/public_api.mjs} +0 -0
  772. /package/{esm2015/mis-crystal-design-system.js → esm2022/mis-crystal-design-system.mjs} +0 -0
  773. /package/{esm2015/mobile-filter/index.js → esm2022/mobile-filter/index.mjs} +0 -0
  774. /package/{esm2015/mobile-filter/mis-crystal-design-system-mobile-filter.js → esm2022/mobile-filter/mis-crystal-design-system-mobile-filter.mjs} +0 -0
  775. /package/{esm2015/mobile-filter/public_api.js → esm2022/mobile-filter/public_api.mjs} +0 -0
  776. /package/{esm2015/modal/index.js → esm2022/modal/index.mjs} +0 -0
  777. /package/{esm2015/modal/modal-constants.js → esm2022/modal/modal-constants.mjs} +0 -0
  778. /package/{esm2015/modal/modal-ref.js → esm2022/modal/modal-ref.mjs} +0 -0
  779. /package/{esm2015/modal/public_api.js → esm2022/modal/public_api.mjs} +0 -0
  780. /package/{esm2015/multi-select-dropdown/index.js → esm2022/multi-select-dropdown/index.mjs} +0 -0
  781. /package/{esm2015/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.js → esm2022/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs} +0 -0
  782. /package/{esm2015/multi-select-dropdown/public_api.js → esm2022/multi-select-dropdown/public_api.mjs} +0 -0
  783. /package/{esm2015/nested-multi-select-dropdown/index.js → esm2022/nested-multi-select-dropdown/index.mjs} +0 -0
  784. /package/{esm2015/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.js → esm2022/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs} +0 -0
  785. /package/{esm2015/nested-multi-select-dropdown/public_api.js → esm2022/nested-multi-select-dropdown/public_api.mjs} +0 -0
  786. /package/{esm2015/phone-input/index.js → esm2022/phone-input/index.mjs} +0 -0
  787. /package/{esm2015/phone-input/mis-crystal-design-system-phone-input.js → esm2022/phone-input/mis-crystal-design-system-phone-input.mjs} +0 -0
  788. /package/{esm2015/phone-input/public_api.js → esm2022/phone-input/public_api.mjs} +0 -0
  789. /package/{esm2015/public-api.js → esm2022/public-api.mjs} +0 -0
  790. /package/{esm2015/radio-button/index.js → esm2022/radio-button/index.mjs} +0 -0
  791. /package/{esm2015/radio-button/mis-crystal-design-system-radio-button.js → esm2022/radio-button/mis-crystal-design-system-radio-button.mjs} +0 -0
  792. /package/{esm2015/radio-button/public_api.js → esm2022/radio-button/public_api.mjs} +0 -0
  793. /package/{esm2015/ske-loader/index.js → esm2022/ske-loader/index.mjs} +0 -0
  794. /package/{esm2015/ske-loader/mis-crystal-design-system-ske-loader.js → esm2022/ske-loader/mis-crystal-design-system-ske-loader.mjs} +0 -0
  795. /package/{esm2015/ske-loader/public_api.js → esm2022/ske-loader/public_api.mjs} +0 -0
  796. /package/{esm2015/slider/index.js → esm2022/slider/index.mjs} +0 -0
  797. /package/{esm2015/slider/mis-crystal-design-system-slider.js → esm2022/slider/mis-crystal-design-system-slider.mjs} +0 -0
  798. /package/{esm2015/slider/public_api.js → esm2022/slider/public_api.mjs} +0 -0
  799. /package/{esm2015/snackbar/index.js → esm2022/snackbar/index.mjs} +0 -0
  800. /package/{esm2015/snackbar/mis-crystal-design-system-snackbar.js → esm2022/snackbar/mis-crystal-design-system-snackbar.mjs} +0 -0
  801. /package/{esm2015/snackbar/public_api.js → esm2022/snackbar/public_api.mjs} +0 -0
  802. /package/{esm2015/specificdatepicker/daterangepicker-constants.js → esm2022/specificdatepicker/daterangepicker-constants.mjs} +0 -0
  803. /package/{esm2015/specificdatepicker/index.js → esm2022/specificdatepicker/index.mjs} +0 -0
  804. /package/{esm2015/specificdatepicker/models/sdp-config.model.js → esm2022/specificdatepicker/models/sdp-config.model.mjs} +0 -0
  805. /package/{esm2015/star-rating/index.js → esm2022/star-rating/index.mjs} +0 -0
  806. /package/{esm2015/star-rating/mis-crystal-design-system-star-rating.js → esm2022/star-rating/mis-crystal-design-system-star-rating.mjs} +0 -0
  807. /package/{esm2015/star-rating/public_api.js → esm2022/star-rating/public_api.mjs} +0 -0
  808. /package/{esm2015/styles/index.js → esm2022/styles/index.mjs} +0 -0
  809. /package/{esm2015/styles/mis-crystal-design-system-styles.js → esm2022/styles/mis-crystal-design-system-styles.mjs} +0 -0
  810. /package/{esm2015/styles/public_api.js → esm2022/styles/public_api.mjs} +0 -0
  811. /package/{esm2015/switch/index.js → esm2022/switch/index.mjs} +0 -0
  812. /package/{esm2015/switch/mis-crystal-design-system-switch.js → esm2022/switch/mis-crystal-design-system-switch.mjs} +0 -0
  813. /package/{esm2015/switch/public_api.js → esm2022/switch/public_api.mjs} +0 -0
  814. /package/{esm2015/table/index.js → esm2022/table/index.mjs} +0 -0
  815. /package/{esm2015/timepicker/index.js → esm2022/timepicker/index.mjs} +0 -0
  816. /package/{esm2015/timepicker/public_api.js → esm2022/timepicker/public_api.mjs} +0 -0
  817. /package/{esm2015/timepicker/time.namespace.js → esm2022/timepicker/time.namespace.mjs} +0 -0
  818. /package/{esm2015/timerangepicker/index.js → esm2022/timerangepicker/index.mjs} +0 -0
  819. /package/{esm2015/timerangepicker/mis-crystal-design-system-timerangepicker.js → esm2022/timerangepicker/mis-crystal-design-system-timerangepicker.mjs} +0 -0
  820. /package/{esm2015/timerangepicker/public_api.js → esm2022/timerangepicker/public_api.mjs} +0 -0
  821. /package/{esm2015/timerangepicker/timerange.namespace.js → esm2022/timerangepicker/timerange.namespace.mjs} +0 -0
  822. /package/{esm2015/toast/index.js → esm2022/toast/index.mjs} +0 -0
  823. /package/{esm2015/toast/mis-crystal-design-system-toast.js → esm2022/toast/mis-crystal-design-system-toast.mjs} +0 -0
  824. /package/{esm2015/toast/public_api.js → esm2022/toast/public_api.mjs} +0 -0
  825. /package/{esm2015/tooltip/index.js → esm2022/tooltip/index.mjs} +0 -0
  826. /package/{esm2015/tooltip/mis-crystal-design-system-tooltip.js → esm2022/tooltip/mis-crystal-design-system-tooltip.mjs} +0 -0
  827. /package/{esm2015/tooltip/models/tooltip.model.js → esm2022/tooltip/models/tooltip.model.mjs} +0 -0
  828. /package/{esm2015/tooltip/public_api.js → esm2022/tooltip/public_api.mjs} +0 -0
  829. /package/{esm2015/utils/index.js → esm2022/utils/index.mjs} +0 -0
  830. /package/{esm2015/utils/mis-crystal-design-system-utils.js → esm2022/utils/mis-crystal-design-system-utils.mjs} +0 -0
  831. /package/{esm2015/virtual-scroll/index.js → esm2022/virtual-scroll/index.mjs} +0 -0
  832. /package/{esm2015/virtual-scroll/mis-crystal-design-system-virtual-scroll.js → esm2022/virtual-scroll/mis-crystal-design-system-virtual-scroll.mjs} +0 -0
  833. /package/{esm2015/virtual-scroll/public_api.js → esm2022/virtual-scroll/public_api.mjs} +0 -0
  834. /package/{esm2015/virtual-scroll/virtual-scroll.constants.js → esm2022/virtual-scroll/virtual-scroll.constants.mjs} +0 -0
  835. /package/{esm2015/widgets/index.js → esm2022/widgets/index.mjs} +0 -0
  836. /package/{esm2015/widgets/interfaces/widgets.model.js → esm2022/widgets/interfaces/widgets.model.mjs} +0 -0
  837. /package/{esm2015/widgets/mis-crystal-design-system-widgets.js → esm2022/widgets/mis-crystal-design-system-widgets.mjs} +0 -0
  838. /package/{esm2015/widgets/public_api.js → esm2022/widgets/public_api.mjs} +0 -0
@@ -0,0 +1,228 @@
1
+ import { Component, Input, Output, EventEmitter } from "@angular/core";
2
+ import * as moment from "moment-timezone";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "mis-crystal-design-system/timepicker";
6
+ const _c0 = (a0, a1) => ({ "flexDirection": a0, "gap": a1 });
7
+ function TimeRangePickerComponent_p_2_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "p");
9
+ i0.ɵɵtext(1, "-");
10
+ i0.ɵɵelementEnd();
11
+ } }
12
+ export class TimeRangePickerComponent {
13
+ constructor(cdr) {
14
+ this.cdr = cdr;
15
+ this.inputWidth = "100px";
16
+ this.height = "46px";
17
+ this.timezone = "Asia/Kolkata";
18
+ this.startDateEpoch = moment().tz(this.timezone).valueOf();
19
+ this.endDateEpoch = moment().tz(this.timezone).valueOf();
20
+ this.clockFormat = 12;
21
+ this.interval = 15;
22
+ this.showTooltip = true;
23
+ this.direction = 'row';
24
+ this.gap = '1rem';
25
+ this.timeRangeEmitter = new EventEmitter();
26
+ this.firstIntervalForStartPicker = moment().valueOf();
27
+ this.firstIntervalForEndPicker = moment().valueOf();
28
+ this.rangeValidity = true;
29
+ this.triggerChange = true;
30
+ }
31
+ ngOnInit() { }
32
+ ngOnChanges() {
33
+ this.timeFormat = this.clockFormat === 12 ? "hh:mm a" : "HH:mm";
34
+ moment.tz.setDefault(this.timezone);
35
+ this.startDate = moment(this.startDateEpoch).format("DD-MM-YYYY");
36
+ this.endDate = moment(this.endDateEpoch).format("DD-MM-YYYY");
37
+ this.currDate = moment().format("DD-MM-YYYY");
38
+ this.setFirstIntervals();
39
+ }
40
+ // calculate the first interval of the picker
41
+ setFirstIntervals() {
42
+ const minutes = moment().minutes();
43
+ const offset = this.interval - (minutes % this.interval);
44
+ // start date, 22 MAY === current date, 22 MAY
45
+ if (this.startDate === this.currDate) {
46
+ const currentTime = moment().valueOf();
47
+ // start date, 22 MAY === current date, 22 MAY === end date, 22 MAY
48
+ if (this.startDate === this.endDate) {
49
+ // current time is in last interval
50
+ if (currentTime >= moment(this.startDateEpoch).endOf("d").subtract(this.interval, "m").valueOf()) {
51
+ this.firstIntervalForStartPicker = currentTime;
52
+ this.firstIntervalForEndPicker = moment(this.endDateEpoch).endOf("d").valueOf();
53
+ }
54
+ // current time isn't in last interval
55
+ else {
56
+ this.firstIntervalForStartPicker = moment().add(offset, "m").valueOf();
57
+ this.firstIntervalForEndPicker = moment().add(offset, "m").add(this.interval, "m").valueOf();
58
+ }
59
+ }
60
+ // start date, 22 MAY === current date, 22 MAY !== end date, 30 MAY
61
+ else {
62
+ // current time is in last interval
63
+ if (currentTime >= moment(this.startDateEpoch).endOf("d").subtract(this.interval, "m").valueOf()) {
64
+ this.firstIntervalForStartPicker = currentTime;
65
+ this.firstIntervalForEndPicker = moment(this.endDateEpoch).endOf("d").valueOf();
66
+ }
67
+ // current time isn't in last interval
68
+ else {
69
+ this.firstIntervalForStartPicker = moment().add(offset, "m").valueOf();
70
+ this.firstIntervalForEndPicker = moment(this.endDateEpoch).valueOf();
71
+ }
72
+ }
73
+ }
74
+ // start date, 30 MAY !== current date, 22 MAY
75
+ else {
76
+ // start date === end Date
77
+ if (this.startDate === this.endDate) {
78
+ this.firstIntervalForStartPicker = moment(this.startDateEpoch).startOf("d").valueOf();
79
+ this.firstIntervalForEndPicker = moment(this.endDateEpoch).add(this.interval, "m").valueOf();
80
+ }
81
+ // start date !== end date
82
+ else {
83
+ this.firstIntervalForStartPicker = moment(this.startDateEpoch).startOf("d").valueOf();
84
+ this.firstIntervalForEndPicker = moment(this.startDateEpoch).startOf("d").valueOf();
85
+ }
86
+ }
87
+ if (this.givenStartTime)
88
+ this.firstIntervalForStartPicker = this.givenStartTime;
89
+ if (this.givenEndTime)
90
+ this.firstIntervalForEndPicker = this.givenEndTime;
91
+ this.startTime = {
92
+ valid: true,
93
+ time: moment(this.firstIntervalForStartPicker).format(this.timeFormat),
94
+ epoch: moment(this.firstIntervalForStartPicker).valueOf()
95
+ };
96
+ this.endTime = {
97
+ valid: true,
98
+ time: moment(this.firstIntervalForEndPicker).format(this.timeFormat),
99
+ epoch: moment(this.firstIntervalForEndPicker).valueOf()
100
+ };
101
+ }
102
+ emitTimeRange(data) {
103
+ this.timeRangeEmitter.emit(data);
104
+ }
105
+ //handlers catch the emitted values and run validation
106
+ startPickerHandler(time) {
107
+ this.startTime = time;
108
+ this.rangeValidity = true;
109
+ // if the start time changes and the start date is the same as the end date
110
+ // and the start time >= end time
111
+ // update the first interval of end picker according to the time set in start picker
112
+ if (this.startDate === this.endDate) {
113
+ let minutes = moment(this.startTime.time, this.timeFormat).minutes();
114
+ let offset = this.interval - (minutes % this.interval);
115
+ this.firstIntervalForEndPicker = moment(`${this.startDate} ${this.startTime.time}`, `'DD-MM-YYYY' ${this.timeFormat}`)
116
+ .add(offset, "m")
117
+ .valueOf();
118
+ // if the first interval == 12:00am, set it as 11:59pm
119
+ const intervalAsString = moment(this.firstIntervalForEndPicker).format(this.timeFormat);
120
+ const endOfDayAsString = moment(moment(`${this.startDate}`, `DD-MM-YYYY ${this.timeFormat}`).endOf("d").add(1, "m")).format(this.timeFormat);
121
+ if (intervalAsString === endOfDayAsString) {
122
+ this.firstIntervalForEndPicker = moment(`${this.startDate} ${this.startTime.time}`, `'DD-MM-YYYY' ${this.timeFormat}`).endOf("d").valueOf();
123
+ }
124
+ }
125
+ else {
126
+ const validity = this.checkTimeValidity(this.startTime.time.trim(), this.startDateEpoch) &&
127
+ this.checkTimeValidity(this.endTime.time.trim(), this.endDateEpoch);
128
+ this.rangeValidation(validity);
129
+ this.emitTimeRange({
130
+ valid: validity && this.rangeValidity,
131
+ startTime: this.startTime.time,
132
+ endTime: this.endTime.time,
133
+ startEpoch: moment(`${this.startDate} ${this.startTime.time}`, `DD-MM-YYYY ${this.timeFormat}`).valueOf(),
134
+ endEpoch: moment(`${this.endDate} ${this.endTime.time}`, `DD-MM-YYYY ${this.timeFormat}`).valueOf()
135
+ });
136
+ }
137
+ this.triggerChange = !this.triggerChange;
138
+ }
139
+ endPickerHandler(time) {
140
+ this.endTime = time;
141
+ const validity = this.checkTimeValidity(this.startTime.time.trim(), this.startDateEpoch) && this.checkTimeValidity(this.endTime.time.trim(), this.endDateEpoch);
142
+ this.rangeValidation(validity);
143
+ this.emitTimeRange({
144
+ valid: validity && this.rangeValidity,
145
+ startTime: this.startTime.time,
146
+ endTime: this.endTime.time,
147
+ startEpoch: moment(`${this.startDate} ${this.startTime.time}`, `DD-MM-YYYY ${this.timeFormat}`).valueOf(),
148
+ endEpoch: moment(`${this.endDate} ${this.endTime.time}`, `DD-MM-YYYY ${this.timeFormat}`).valueOf()
149
+ });
150
+ }
151
+ checkTimeValidity(time, date) {
152
+ const RE12 = /^(([0][1-9]|1[0-2]):([0-5][0-9])( )?(am|pm|AM|PM))$/i;
153
+ const RE24 = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;
154
+ const RE = this.clockFormat === 12 ? RE12 : RE24;
155
+ const timeMoment = moment(`${moment(date).format("DD-MM-YYYY")} ${time}`, `'DD-MM-YYYY' ${this.timeFormat}`);
156
+ let flag = false;
157
+ // if the first interval is set to the start of the day
158
+ // then we don't check its validity against the current time
159
+ if ((this.givenStartTime && this.givenEndTime) || (this.startDate !== this.endDate && this.startDate !== this.currDate)) {
160
+ flag = time.match(RE) ? true : false;
161
+ }
162
+ else {
163
+ flag = time.match(RE) && timeMoment.diff(moment(), "m") >= 0 ? true : false;
164
+ }
165
+ return flag;
166
+ }
167
+ // validates end picker's input according to the start picker's input
168
+ rangeValidation(validity) {
169
+ if (validity && this.startDate === this.endDate) {
170
+ const startMoment = moment(this.startTime.time, this.timeFormat);
171
+ const endMoment = moment(this.endTime.time, this.timeFormat);
172
+ this.rangeValidity = endMoment.diff(startMoment, "m") >= 1 ? true : false;
173
+ this.cdr.detectChanges();
174
+ }
175
+ }
176
+ static { this.ɵfac = function TimeRangePickerComponent_Factory(t) { return new (t || TimeRangePickerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
177
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimeRangePickerComponent, selectors: [["mis-timerangepicker"]], inputs: { inputWidth: "inputWidth", dropdownWidth: "dropdownWidth", height: "height", timezone: "timezone", startDateEpoch: "startDateEpoch", endDateEpoch: "endDateEpoch", givenStartTime: "givenStartTime", givenEndTime: "givenEndTime", clockFormat: "clockFormat", interval: "interval", showTooltip: "showTooltip", direction: "direction", gap: "gap" }, outputs: { timeRangeEmitter: "timeRangeEmitter" }, features: [i0.ɵɵNgOnChangesFeature], decls: 4, vars: 27, consts: [[1, "rangepicker-container", 3, "ngStyle"], [3, "timeEmitter", "clockFormat", "interval", "dateAsEpoch", "firstInterval", "timezone", "height", "inputWidth", "dropdownWidth", "showTooltip", "givenTime"], [4, "ngIf"], [3, "timeEmitter", "clockFormat", "interval", "dateAsEpoch", "firstInterval", "rangeValidity", "timezone", "height", "inputWidth", "dropdownWidth", "showTooltip", "givenTime", "triggerChange"]], template: function TimeRangePickerComponent_Template(rf, ctx) { if (rf & 1) {
178
+ i0.ɵɵelementStart(0, "div", 0)(1, "mis-timepicker", 1);
179
+ i0.ɵɵlistener("timeEmitter", function TimeRangePickerComponent_Template_mis_timepicker_timeEmitter_1_listener($event) { return ctx.startPickerHandler($event); });
180
+ i0.ɵɵelementEnd();
181
+ i0.ɵɵtemplate(2, TimeRangePickerComponent_p_2_Template, 2, 0, "p", 2);
182
+ i0.ɵɵelementStart(3, "mis-timepicker", 3);
183
+ i0.ɵɵlistener("timeEmitter", function TimeRangePickerComponent_Template_mis_timepicker_timeEmitter_3_listener($event) { return ctx.endPickerHandler($event); });
184
+ i0.ɵɵelementEnd()();
185
+ } if (rf & 2) {
186
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(24, _c0, ctx.direction, ctx.gap));
187
+ i0.ɵɵadvance();
188
+ i0.ɵɵproperty("clockFormat", ctx.clockFormat)("interval", ctx.interval)("dateAsEpoch", ctx.startDateEpoch)("firstInterval", ctx.firstIntervalForStartPicker)("timezone", ctx.timezone)("height", ctx.height)("inputWidth", ctx.inputWidth)("dropdownWidth", ctx.dropdownWidth)("showTooltip", ctx.showTooltip)("givenTime", ctx.givenStartTime);
189
+ i0.ɵɵadvance();
190
+ i0.ɵɵproperty("ngIf", ctx.direction === "row");
191
+ i0.ɵɵadvance();
192
+ i0.ɵɵproperty("clockFormat", ctx.clockFormat)("interval", ctx.interval)("dateAsEpoch", ctx.endDateEpoch)("firstInterval", ctx.firstIntervalForEndPicker)("rangeValidity", ctx.rangeValidity)("timezone", ctx.timezone)("height", ctx.height)("inputWidth", ctx.inputWidth)("dropdownWidth", ctx.dropdownWidth)("showTooltip", ctx.showTooltip)("givenTime", ctx.givenEndTime)("triggerChange", ctx.triggerChange);
193
+ } }, dependencies: [i1.NgIf, i1.NgStyle, i2.TimePickerComponent], styles: [".rangepicker-container[_ngcontent-%COMP%]{display:flex;gap:1rem;align-items:center}p[_ngcontent-%COMP%]{margin:0;display:inline-flex;align-items:center}"] }); }
194
+ }
195
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeRangePickerComponent, [{
196
+ type: Component,
197
+ args: [{ selector: "mis-timerangepicker", template: "<div class=\"rangepicker-container\" [ngStyle]=\"{'flexDirection': direction, 'gap': gap}\">\n <mis-timepicker\n [clockFormat]=\"clockFormat\"\n [interval]=\"interval\"\n [dateAsEpoch]=\"startDateEpoch\"\n [firstInterval]=\"firstIntervalForStartPicker\"\n (timeEmitter)=\"startPickerHandler($event)\"\n [timezone]=\"timezone\"\n [height]=\"height\"\n [inputWidth]=\"inputWidth\"\n [dropdownWidth]=\"dropdownWidth\"\n [showTooltip]=\"showTooltip\"\n [givenTime]=\"givenStartTime\"\n ></mis-timepicker>\n <p *ngIf=\"direction === 'row'\">-</p>\n <mis-timepicker\n [clockFormat]=\"clockFormat\"\n [interval]=\"interval\"\n [dateAsEpoch]=\"endDateEpoch\"\n [firstInterval]=\"firstIntervalForEndPicker\"\n (timeEmitter)=\"endPickerHandler($event)\"\n [rangeValidity]=\"rangeValidity\"\n [timezone]=\"timezone\"\n [height]=\"height\"\n [inputWidth]=\"inputWidth\"\n [dropdownWidth]=\"dropdownWidth\"\n [showTooltip]=\"showTooltip\"\n [givenTime]=\"givenEndTime\"\n [triggerChange]=\"triggerChange\"\n ></mis-timepicker>\n</div>\n", styles: [".rangepicker-container{display:flex;gap:1rem;align-items:center}p{margin:0;display:inline-flex;align-items:center}\n"] }]
198
+ }], () => [{ type: i0.ChangeDetectorRef }], { inputWidth: [{
199
+ type: Input
200
+ }], dropdownWidth: [{
201
+ type: Input
202
+ }], height: [{
203
+ type: Input
204
+ }], timezone: [{
205
+ type: Input
206
+ }], startDateEpoch: [{
207
+ type: Input
208
+ }], endDateEpoch: [{
209
+ type: Input
210
+ }], givenStartTime: [{
211
+ type: Input
212
+ }], givenEndTime: [{
213
+ type: Input
214
+ }], clockFormat: [{
215
+ type: Input
216
+ }], interval: [{
217
+ type: Input
218
+ }], showTooltip: [{
219
+ type: Input
220
+ }], direction: [{
221
+ type: Input
222
+ }], gap: [{
223
+ type: Input
224
+ }], timeRangeEmitter: [{
225
+ type: Output
226
+ }] }); })();
227
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimeRangePickerComponent, { className: "TimeRangePickerComponent" }); })();
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RpbWVyYW5nZXBpY2tlci90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGltZXJhbmdlcGlja2VyL3RpbWVyYW5nZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7SUNheEMseUJBQStCO0lBQUEsaUJBQUM7SUFBQSxpQkFBSTs7QURMdEMsTUFBTSxPQUFPLHdCQUF3QjtJQTRCbkMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEzQmpDLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFFN0IsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUN4QixhQUFRLEdBQVcsY0FBYyxDQUFDO1FBQ2xDLG1CQUFjLEdBQVcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5RCxpQkFBWSxHQUFXLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFHNUQsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQWUsS0FBSyxDQUFDO1FBQzlCLFFBQUcsR0FBVyxNQUFNLENBQUM7UUFFcEIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FB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a0JBQXpCLE1BQU07O2tGQWZJLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudC10aW1lem9uZVwiO1xuaW1wb3J0IHsgSVRpbWVSYW5nZSwgSVRpbWUsIFREaXJlY3Rpb24gfSBmcm9tIFwiLi90aW1lcmFuZ2UubmFtZXNwYWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdGltZXJhbmdlcGlja2VyXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGltZXJhbmdlcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVJhbmdlUGlja2VyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaW5wdXRXaWR0aDogc3RyaW5nID0gXCIxMDBweFwiO1xuICBASW5wdXQoKSBkcm9wZG93bldpZHRoPzogc3RyaW5nO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9IFwiNDZweFwiO1xuICBASW5wdXQoKSB0aW1lem9uZTogc3RyaW5nID0gXCJBc2lhL0tvbGthdGFcIjtcbiAgQElucHV0KCkgc3RhcnREYXRlRXBvY2g6IG51bWJlciA9IG1vbWVudCgpLnR6KHRoaXMudGltZXpvbmUpLnZhbHVlT2YoKTtcbiAgQElucHV0KCkgZW5kRGF0ZUVwb2NoOiBudW1iZXIgPSBtb21lbnQoKS50eih0aGlzLnRpbWV6b25lKS52YWx1ZU9mKCk7XG4gIEBJbnB1dCgpIGdpdmVuU3RhcnRUaW1lOiBudW1iZXI7XG4gIEBJbnB1dCgpIGdpdmVuRW5kVGltZTogbnVtYmVyO1xuICBASW5wdXQoKSBjbG9ja0Zvcm1hdDogbnVtYmVyID0gMTI7XG4gIEBJbnB1dCgpIGludGVydmFsOiBudW1iZXIgPSAxNTtcbiAgQElucHV0KCkgc2hvd1Rvb2x0aXA6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBkaXJlY3Rpb246IFREaXJlY3Rpb24gPSAncm93JztcbiAgQElucHV0KCkgZ2FwOiBzdHJpbmcgPSAnMXJlbSc7XG5cbiAgQE91dHB1dCgpIHRpbWVSYW5nZUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPElUaW1lUmFuZ2U+KCk7XG5cbiAgc3RhcnREYXRlITogc3RyaW5nO1xuICBlbmREYXRlITogc3RyaW5nO1xuICBjdXJyRGF0ZSE6IHN0cmluZztcbiAgdGltZUZvcm1hdCE6IHN0cmluZztcbiAgZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyOiBudW1iZXIgPSBtb21lbnQoKS52YWx1ZU9mKCk7XG4gIGZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXI6IG51bWJlciA9IG1vbWVudCgpLnZhbHVlT2YoKTtcbiAgc3RhcnRUaW1lITogSVRpbWU7XG4gIGVuZFRpbWUhOiBJVGltZTtcbiAgcmFuZ2VWYWxpZGl0eTogYm9vbGVhbiA9IHRydWU7XG4gIHRyaWdnZXJDaGFuZ2U6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy50aW1lRm9ybWF0ID0gdGhpcy5jbG9ja0Zvcm1hdCA9PT0gMTIgPyBcImhoOm1tIGFcIiA6IFwiSEg6bW1cIjtcbiAgICBtb21lbnQudHouc2V0RGVmYXVsdCh0aGlzLnRpbWV6b25lKTtcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IG1vbWVudCh0aGlzLnN0YXJ0RGF0ZUVwb2NoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xuICAgIHRoaXMuZW5kRGF0ZSA9IG1vbWVudCh0aGlzLmVuZERhdGVFcG9jaCkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKTtcbiAgICB0aGlzLmN1cnJEYXRlID0gbW9tZW50KCkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKTtcbiAgICB0aGlzLnNldEZpcnN0SW50ZXJ2YWxzKCk7XG4gIH1cblxuICAvLyBjYWxjdWxhdGUgdGhlIGZpcnN0IGludGVydmFsIG9mIHRoZSBwaWNrZXJcbiAgc2V0Rmlyc3RJbnRlcnZhbHMoKTogdm9pZCB7XG4gICAgY29uc3QgbWludXRlcyA9IG1vbWVudCgpLm1pbnV0ZXMoKTtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmludGVydmFsIC0gKG1pbnV0ZXMgJSB0aGlzLmludGVydmFsKTtcblxuICAgIC8vIHN0YXJ0IGRhdGUsIDIyIE1BWSA9PT0gIGN1cnJlbnQgZGF0ZSwgMjIgTUFZXG4gICAgaWYoIHRoaXMuc3RhcnREYXRlID09PSB0aGlzLmN1cnJEYXRlICl7XG4gICAgICBjb25zdCBjdXJyZW50VGltZSA9IG1vbWVudCgpLnZhbHVlT2YoKTtcblxuICAgICAgLy8gc3RhcnQgZGF0ZSwgMjIgTUFZICA9PT0gY3VycmVudCBkYXRlLCAyMiBNQVkgPT09IGVuZCBkYXRlLCAyMiBNQVlcbiAgICAgIGlmKHRoaXMuc3RhcnREYXRlID09PSB0aGlzLmVuZERhdGUpe1xuXG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGlmKCBjdXJyZW50VGltZSA+PSBtb21lbnQodGhpcy5zdGFydERhdGVFcG9jaCkuZW5kT2YoXCJkXCIpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWwsXCJtXCIpLnZhbHVlT2YoKSl7XG4gICAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSBjdXJyZW50VGltZTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS5lbmRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpc24ndCBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gbW9tZW50KCkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KCkuYWRkKG9mZnNldCwgXCJtXCIpLmFkZCh0aGlzLmludGVydmFsLCBcIm1cIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICB9IFxuICAgICAgLy8gc3RhcnQgZGF0ZSwgMjIgTUFZID09PSBjdXJyZW50IGRhdGUsIDIyIE1BWSAhPT0gZW5kIGRhdGUsIDMwIE1BWVxuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGlmKCBjdXJyZW50VGltZSA+PSBtb21lbnQodGhpcy5zdGFydERhdGVFcG9jaCkuZW5kT2YoXCJkXCIpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWwsXCJtXCIpLnZhbHVlT2YoKSl7XG4gICAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSBjdXJyZW50VGltZTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS5lbmRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpc24ndCBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gbW9tZW50KCkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS52YWx1ZU9mKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gc3RhcnQgZGF0ZSwgMzAgTUFZICE9PSBjdXJyZW50IGRhdGUsIDIyIE1BWVxuICAgIGVsc2Uge1xuICAgICAgLy8gc3RhcnQgZGF0ZSA9PT0gZW5kIERhdGVcbiAgICAgIGlmKCB0aGlzLnN0YXJ0RGF0ZSA9PT0gdGhpcy5lbmREYXRlKXtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSBtb21lbnQodGhpcy5zdGFydERhdGVFcG9jaCkuc3RhcnRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgbW9tZW50KHRoaXMuZW5kRGF0ZUVwb2NoKS5hZGQodGhpcy5pbnRlcnZhbCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgIH0gXG4gICAgICAvLyBzdGFydCBkYXRlICE9PSBlbmQgZGF0ZVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gbW9tZW50KHRoaXMuc3RhcnREYXRlRXBvY2gpLnN0YXJ0T2YoXCJkXCIpLnZhbHVlT2YoKTtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyID0gIG1vbWVudCh0aGlzLnN0YXJ0RGF0ZUVwb2NoKS5zdGFydE9mKFwiZFwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBpZih0aGlzLmdpdmVuU3RhcnRUaW1lKVxuICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSB0aGlzLmdpdmVuU3RhcnRUaW1lO1xuICAgXG4gICAgaWYodGhpcy5naXZlbkVuZFRpbWUpXG4gICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSB0aGlzLmdpdmVuRW5kVGltZTtcbiAgICAgIFxuICAgIHRoaXMuc3RhcnRUaW1lID0ge1xuICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICB0aW1lOiBtb21lbnQodGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpLFxuICAgICAgZXBvY2g6IG1vbWVudCh0aGlzLmZpcnN0SW50ZXJ2YWxGb3JTdGFydFBpY2tlcikudmFsdWVPZigpXG4gICAgfTtcblxuICAgIHRoaXMuZW5kVGltZSA9IHtcbiAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgdGltZTogbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCksXG4gICAgICBlcG9jaDogbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcikudmFsdWVPZigpXG4gICAgfTtcbiAgfVxuXG4gIGVtaXRUaW1lUmFuZ2UoZGF0YTogSVRpbWVSYW5nZSk6IHZvaWQge1xuICAgIHRoaXMudGltZVJhbmdlRW1pdHRlci5lbWl0KGRhdGEpO1xuICB9XG5cbiAgLy9oYW5kbGVycyBjYXRjaCB0aGUgZW1pdHRlZCB2YWx1ZXMgYW5kIHJ1biB2YWxpZGF0aW9uXG4gIHN0YXJ0UGlja2VySGFuZGxlcih0aW1lOiBJVGltZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRUaW1lID0gdGltZTtcbiAgICB0aGlzLnJhbmdlVmFsaWRpdHkgPSB0cnVlO1xuICAgIC8vIGlmIHRoZSBzdGFydCB0aW1lIGNoYW5nZXMgYW5kIHRoZSBzdGFydCBkYXRlIGlzIHRoZSBzYW1lIGFzIHRoZSBlbmQgZGF0ZVxuICAgIC8vIGFuZCB0aGUgc3RhcnQgdGltZSA+PSAgZW5kIHRpbWVcbiAgICAvLyB1cGRhdGUgdGhlIGZpcnN0IGludGVydmFsIG9mIGVuZCBwaWNrZXIgYWNjb3JkaW5nIHRvIHRoZSB0aW1lIHNldCBpbiBzdGFydCBwaWNrZXJcbiAgICBpZiAodGhpcy5zdGFydERhdGUgPT09IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgbGV0IG1pbnV0ZXMgPSBtb21lbnQodGhpcy5zdGFydFRpbWUudGltZSwgdGhpcy50aW1lRm9ybWF0KS5taW51dGVzKCk7XG4gICAgICBsZXQgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChtaW51dGVzICUgdGhpcy5pbnRlcnZhbCk7XG4gICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSBtb21lbnQoYCR7dGhpcy5zdGFydERhdGV9ICR7dGhpcy5zdGFydFRpbWUudGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWApXG4gICAgICAgIC5hZGQob2Zmc2V0LCBcIm1cIilcbiAgICAgICAgLnZhbHVlT2YoKTtcblxuICAgICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsID09IDEyOjAwYW0sIHNldCBpdCBhcyAxMTo1OXBtXG4gICAgICBjb25zdCBpbnRlcnZhbEFzU3RyaW5nID0gbW9tZW50KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlcikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICBjb25zdCBlbmRPZkRheUFzU3RyaW5nID0gbW9tZW50KG1vbWVudChgJHt0aGlzLnN0YXJ0RGF0ZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKS5lbmRPZihcImRcIikuYWRkKDEsIFwibVwiKSkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICBpZiAoaW50ZXJ2YWxBc1N0cmluZyA9PT0gZW5kT2ZEYXlBc1N0cmluZykge1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSBtb21lbnQoYCR7dGhpcy5zdGFydERhdGV9ICR7dGhpcy5zdGFydFRpbWUudGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWApLmVuZE9mKFwiZFwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWxpZGl0eSA9XG4gICAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5zdGFydFRpbWUudGltZS50cmltKCksIHRoaXMuc3RhcnREYXRlRXBvY2gpICYmXG4gICAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5lbmRUaW1lLnRpbWUudHJpbSgpLCB0aGlzLmVuZERhdGVFcG9jaCk7XG5cbiAgICAgICAgdGhpcy5yYW5nZVZhbGlkYXRpb24odmFsaWRpdHkpO1xuICAgICAgICB0aGlzLmVtaXRUaW1lUmFuZ2Uoe1xuICAgICAgICAgIHZhbGlkOiB2YWxpZGl0eSAmJiB0aGlzLnJhbmdlVmFsaWRpdHksXG4gICAgICAgICAgc3RhcnRUaW1lOiB0aGlzLnN0YXJ0VGltZS50aW1lLFxuICAgICAgICAgIGVuZFRpbWU6IHRoaXMuZW5kVGltZS50aW1lLFxuICAgICAgICAgIHN0YXJ0RXBvY2g6IG1vbWVudChgJHt0aGlzLnN0YXJ0RGF0ZX0gJHt0aGlzLnN0YXJ0VGltZS50aW1lfWAsIGBERC1NTS1ZWVlZICR7dGhpcy50aW1lRm9ybWF0fWApLnZhbHVlT2YoKSxcbiAgICAgICAgICBlbmRFcG9jaDogbW9tZW50KGAke3RoaXMuZW5kRGF0ZX0gJHt0aGlzLmVuZFRpbWUudGltZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gKS52YWx1ZU9mKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy50cmlnZ2VyQ2hhbmdlID0gIXRoaXMudHJpZ2dlckNoYW5nZTtcbiAgfVxuXG4gIGVuZFBpY2tlckhhbmRsZXIodGltZTogSVRpbWUpOiB2b2lkIHtcbiAgICB0aGlzLmVuZFRpbWUgPSB0aW1lO1xuXG4gICAgY29uc3QgdmFsaWRpdHkgPVxuICAgICAgdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aGlzLnN0YXJ0VGltZS50aW1lLnRyaW0oKSwgdGhpcy5zdGFydERhdGVFcG9jaCkgJiYgdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aGlzLmVuZFRpbWUudGltZS50cmltKCksIHRoaXMuZW5kRGF0ZUVwb2NoKTtcblxuICAgIHRoaXMucmFuZ2VWYWxpZGF0aW9uKHZhbGlkaXR5KTtcbiAgICB0aGlzLmVtaXRUaW1lUmFuZ2Uoe1xuICAgICAgdmFsaWQ6IHZhbGlkaXR5ICYmIHRoaXMucmFuZ2VWYWxpZGl0eSxcbiAgICAgIHN0YXJ0VGltZTogdGhpcy5zdGFydFRpbWUudGltZSxcbiAgICAgIGVuZFRpbWU6IHRoaXMuZW5kVGltZS50aW1lLFxuICAgICAgc3RhcnRFcG9jaDogbW9tZW50KGAke3RoaXMuc3RhcnREYXRlfSAke3RoaXMuc3RhcnRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCkudmFsdWVPZigpLFxuICAgICAgZW5kRXBvY2g6IG1vbWVudChgJHt0aGlzLmVuZERhdGV9ICR7dGhpcy5lbmRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCkudmFsdWVPZigpXG4gICAgfSk7XG4gIH1cblxuICBjaGVja1RpbWVWYWxpZGl0eSh0aW1lOiBzdHJpbmcsIGRhdGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IFJFMTIgPSAvXigoWzBdWzEtOV18MVswLTJdKTooWzAtNV1bMC05XSkoICk/KGFtfHBtfEFNfFBNKSkkL2k7XG4gICAgY29uc3QgUkUyNCA9IC9eKFswMV1bMC05XXwyWzAtM10pOlswLTVdWzAtOV0kLztcbiAgICBjb25zdCBSRSA9IHRoaXMuY2xvY2tGb3JtYXQgPT09IDEyID8gUkUxMiA6IFJFMjQ7XG5cbiAgICBjb25zdCB0aW1lTW9tZW50ID0gbW9tZW50KGAke21vbWVudChkYXRlKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpfSAke3RpbWV9YCwgYCdERC1NTS1ZWVlZJyAke3RoaXMudGltZUZvcm1hdH1gKTtcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsIGlzIHNldCB0byB0aGUgc3RhcnQgb2YgdGhlIGRheVxuICAgIC8vIHRoZW4gd2UgZG9uJ3QgY2hlY2sgaXRzIHZhbGlkaXR5IGFnYWluc3QgdGhlIGN1cnJlbnQgdGltZVxuICAgIGlmICgodGhpcy5naXZlblN0YXJ0VGltZSAmJiB0aGlzLmdpdmVuRW5kVGltZSkgfHwgKHRoaXMuc3RhcnREYXRlICE9PSB0aGlzLmVuZERhdGUgJiYgdGhpcy5zdGFydERhdGUgIT09IHRoaXMuY3VyckRhdGUpKSB7XG4gICAgICBmbGFnID0gdGltZS5tYXRjaChSRSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYWcgPSB0aW1lLm1hdGNoKFJFKSAmJiB0aW1lTW9tZW50LmRpZmYobW9tZW50KCksIFwibVwiKSA+PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBmbGFnO1xuICB9XG5cbiAgLy8gdmFsaWRhdGVzIGVuZCBwaWNrZXIncyBpbnB1dCBhY2NvcmRpbmcgdG8gdGhlIHN0YXJ0IHBpY2tlcidzIGlucHV0XG4gIHJhbmdlVmFsaWRhdGlvbih2YWxpZGl0eTogYm9vbGVhbikge1xuICAgIGlmICh2YWxpZGl0eSAmJiB0aGlzLnN0YXJ0RGF0ZSA9PT0gdGhpcy5lbmREYXRlKSB7XG4gICAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudCh0aGlzLnN0YXJ0VGltZS50aW1lLCB0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgY29uc3QgZW5kTW9tZW50ID0gbW9tZW50KHRoaXMuZW5kVGltZS50aW1lLCB0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgdGhpcy5yYW5nZVZhbGlkaXR5ID0gZW5kTW9tZW50LmRpZmYoc3RhcnRNb21lbnQsIFwibVwiKSA+PSAxID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJhbmdlcGlja2VyLWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cInsnZmxleERpcmVjdGlvbic6IGRpcmVjdGlvbiwgJ2dhcCc6IGdhcH1cIj5cbiAgPG1pcy10aW1lcGlja2VyXG4gICAgW2Nsb2NrRm9ybWF0XT1cImNsb2NrRm9ybWF0XCJcbiAgICBbaW50ZXJ2YWxdPVwiaW50ZXJ2YWxcIlxuICAgIFtkYXRlQXNFcG9jaF09XCJzdGFydERhdGVFcG9jaFwiXG4gICAgW2ZpcnN0SW50ZXJ2YWxdPVwiZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyXCJcbiAgICAodGltZUVtaXR0ZXIpPVwic3RhcnRQaWNrZXJIYW5kbGVyKCRldmVudClcIlxuICAgIFt0aW1lem9uZV09XCJ0aW1lem9uZVwiXG4gICAgW2hlaWdodF09XCJoZWlnaHRcIlxuICAgIFtpbnB1dFdpZHRoXT1cImlucHV0V2lkdGhcIlxuICAgIFtkcm9wZG93bldpZHRoXT1cImRyb3Bkb3duV2lkdGhcIlxuICAgIFtzaG93VG9vbHRpcF09XCJzaG93VG9vbHRpcFwiXG4gICAgW2dpdmVuVGltZV09XCJnaXZlblN0YXJ0VGltZVwiXG4gID48L21pcy10aW1lcGlja2VyPlxuICA8cCAqbmdJZj1cImRpcmVjdGlvbiA9PT0gJ3JvdydcIj4tPC9wPlxuICA8bWlzLXRpbWVwaWNrZXJcbiAgICBbY2xvY2tGb3JtYXRdPVwiY2xvY2tGb3JtYXRcIlxuICAgIFtpbnRlcnZhbF09XCJpbnRlcnZhbFwiXG4gICAgW2RhdGVBc0Vwb2NoXT1cImVuZERhdGVFcG9jaFwiXG4gICAgW2ZpcnN0SW50ZXJ2YWxdPVwiZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlclwiXG4gICAgKHRpbWVFbWl0dGVyKT1cImVuZFBpY2tlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgW3JhbmdlVmFsaWRpdHldPVwicmFuZ2VWYWxpZGl0eVwiXG4gICAgW3RpbWV6b25lXT1cInRpbWV6b25lXCJcbiAgICBbaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgW2lucHV0V2lkdGhdPVwiaW5wdXRXaWR0aFwiXG4gICAgW2Ryb3Bkb3duV2lkdGhdPVwiZHJvcGRvd25XaWR0aFwiXG4gICAgW3Nob3dUb29sdGlwXT1cInNob3dUb29sdGlwXCJcbiAgICBbZ2l2ZW5UaW1lXT1cImdpdmVuRW5kVGltZVwiXG4gICAgW3RyaWdnZXJDaGFuZ2VdPVwidHJpZ2dlckNoYW5nZVwiXG4gID48L21pcy10aW1lcGlja2VyPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { TimeRangePickerComponent } from "./timerangepicker.component";
5
+ import { TimePickerModule } from "mis-crystal-design-system/timepicker";
6
+ import * as i0 from "@angular/core";
7
+ export class TimeRangePickerModule {
8
+ static forRoot() {
9
+ return { ngModule: TimeRangePickerModule, providers: [] };
10
+ }
11
+ static { this.ɵfac = function TimeRangePickerModule_Factory(t) { return new (t || TimeRangePickerModule)(); }; }
12
+ static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TimeRangePickerModule }); }
13
+ static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, TimePickerModule] }); }
14
+ }
15
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeRangePickerModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [TimeRangePickerComponent],
19
+ imports: [CommonModule, FormsModule, TimePickerModule],
20
+ exports: [TimeRangePickerComponent]
21
+ }]
22
+ }], null, null); })();
23
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TimeRangePickerModule, { declarations: [TimeRangePickerComponent], imports: [CommonModule, FormsModule, TimePickerModule], exports: [TimeRangePickerComponent] }); })();
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJhbmdlcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RpbWVyYW5nZXBpY2tlci90aW1lcmFuZ2VwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBT3hFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUM1RCxDQUFDO3NGQUhVLHFCQUFxQjttRUFBckIscUJBQXFCO3VFQUh0QixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQjs7aUZBRzFDLHFCQUFxQjtjQUxqQyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUM7Z0JBQ3RELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQ3BDOzt3RkFDWSxxQkFBcUIsbUJBSmpCLHdCQUF3QixhQUM3QixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixhQUMzQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdGltZXBpY2tlclwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgVGltZVBpY2tlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVSYW5nZVBpY2tlck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGltZVJhbmdlUGlja2VyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IFRpbWVSYW5nZVBpY2tlck1vZHVsZSwgcHJvdmlkZXJzOiBbXSB9O1xuICB9XG59Il19
@@ -0,0 +1,51 @@
1
+ import { animate, style, transition, trigger } from "@angular/animations";
2
+ import { Component } from "@angular/core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./toast.data.service";
5
+ import * as i2 from "@angular/common";
6
+ function ToastComponent_div_1_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelementStart(0, "div")(1, "div", 2)(2, "div", 3);
8
+ i0.ɵɵtext(3);
9
+ i0.ɵɵelementEnd()()();
10
+ } if (rf & 2) {
11
+ const msg_r1 = ctx.$implicit;
12
+ i0.ɵɵproperty("@fadeInOut", undefined);
13
+ i0.ɵɵadvance(3);
14
+ i0.ɵɵtextInterpolate(msg_r1);
15
+ } }
16
+ export class ToastComponent {
17
+ constructor(data) {
18
+ this.data = data;
19
+ }
20
+ static { this.ɵfac = function ToastComponent_Factory(t) { return new (t || ToastComponent)(i0.ɵɵdirectiveInject(i1.ToastDataService)); }; }
21
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastComponent, selectors: [["mis-teams-toast"]], decls: 2, vars: 1, consts: [[1, "toast-container"], [4, "ngFor", "ngForOf"], [1, "toast-wrapper"], [1, "msg"]], template: function ToastComponent_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "div", 0);
23
+ i0.ɵɵtemplate(1, ToastComponent_div_1_Template, 4, 2, "div", 1);
24
+ i0.ɵɵelementEnd();
25
+ } if (rf & 2) {
26
+ i0.ɵɵadvance();
27
+ i0.ɵɵproperty("ngForOf", ctx.data.messages);
28
+ } }, dependencies: [i2.NgForOf], styles: [".toast-container[_ngcontent-%COMP%]{transition:max-height .3s ease-in}.toast-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center}.toast-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:20px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{max-width:90vw;flex:1 1 90vw}}"], data: { animation: [
29
+ trigger("fadeInOut", [
30
+ transition(":enter", [
31
+ style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
32
+ animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
33
+ ]),
34
+ transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
35
+ ])
36
+ ] } }); }
37
+ }
38
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
39
+ type: Component,
40
+ args: [{ selector: "mis-teams-toast", animations: [
41
+ trigger("fadeInOut", [
42
+ transition(":enter", [
43
+ style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
44
+ animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
45
+ ]),
46
+ transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
47
+ ])
48
+ ], template: "<div class=\"toast-container\">\n <div *ngFor=\"let msg of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\">\n <div class=\"msg\">{{ msg }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:20px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}\n"] }]
49
+ }], () => [{ type: i1.ToastDataService }], null); })();
50
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToastComponent, { className: "ToastComponent" }); })();
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0lDRXBDLEFBREYsQUFERiwyQkFBa0QsYUFDckIsYUFDUjtJQUFBLFlBQVM7SUFFOUIsQUFERSxBQUQ0QixpQkFBTSxFQUM1QixFQUNGOzs7SUFKaUMsc0NBQVU7SUFFNUIsZUFBUztJQUFULDRCQUFTOztBRGVoQyxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFtQixJQUFzQjtRQUF0QixTQUFJLEdBQUosSUFBSSxDQUFrQjtJQUFHLENBQUM7K0VBRGxDLGNBQWM7b0VBQWQsY0FBYztZQ2xCM0IsOEJBQTZCO1lBQzNCLCtEQUFrRDtZQUtwRCxpQkFBTTs7WUFMaUIsY0FBZ0I7WUFBaEIsMkNBQWdCO3V6QkRPekI7Z0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO3dCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztxQkFDM0YsQ0FBQztvQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN4RyxDQUFDO2FBQ0g7O2lGQUVVLGNBQWM7Y0FkMUIsU0FBUzsyQkFDRSxpQkFBaUIsY0FHZjtvQkFDVixPQUFPLENBQUMsV0FBVyxFQUFFO3dCQUNuQixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7NEJBQ25FLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO3lCQUMzRixDQUFDO3dCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hHLENBQUM7aUJBQ0g7O2tGQUVVLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3REYXRhU2VydmljZSB9IGZyb20gXCIuL3RvYXN0LmRhdGEuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXRlYW1zLXRvYXN0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdG9hc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RvYXN0LmNvbXBvbmVudC5zY3NzXCJdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcImZhZGVJbk91dFwiLCBbXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiBcIjBcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoLTUwJSlcIiwgaGVpZ2h0OiBcIjBcIiB9KSxcbiAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2UtaW5cIiwgc3R5bGUoeyBvcGFjaXR5OiBcIjFcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMClcIiwgaGVpZ2h0OiBcIipcIiB9KSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbihcIjpsZWF2ZVwiLCBbYW5pbWF0ZShcIjMwMG1zIGVhc2UtaW5cIiwgc3R5bGUoeyBvcGFjaXR5OiBcIjBcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoNTAlKVwiIH0pKV0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhOiBUb2FzdERhdGFTZXJ2aWNlKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cInRvYXN0LWNvbnRhaW5lclwiPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCBtc2cgb2YgZGF0YS5tZXNzYWdlc1wiIEBmYWRlSW5PdXQ+XG4gICAgPGRpdiBjbGFzcz1cInRvYXN0LXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtc2dcIj57eyBtc2cgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class ToastDataService {
4
+ get messages() {
5
+ return Array.from(this.messageMap.values()).reverse();
6
+ }
7
+ constructor() {
8
+ this.messageMap = new Map();
9
+ }
10
+ updateMessage(msg) {
11
+ const id = new Date().getTime();
12
+ this.messageMap.set(id, msg);
13
+ return id;
14
+ }
15
+ removeMessage(id) {
16
+ this.messageMap.delete(id);
17
+ }
18
+ hasMessage() {
19
+ return this.messageMap.size > 0;
20
+ }
21
+ static { this.ɵfac = function ToastDataService_Factory(t) { return new (t || ToastDataService)(); }; }
22
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastDataService, factory: ToastDataService.ɵfac, providedIn: "root" }); }
23
+ }
24
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastDataService, [{
25
+ type: Injectable,
26
+ args: [{
27
+ providedIn: "root"
28
+ }]
29
+ }], () => [], null); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsSUFBSSxRQUFRO1FBQ1YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7UUFMUSxlQUFVLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFLckMsQ0FBQztJQUVoQixhQUFhLENBQUMsR0FBVztRQUN2QixNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7aUZBcEJVLGdCQUFnQjt1RUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNOztpRkFFUCxnQkFBZ0I7Y0FINUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3REYXRhU2VydmljZSB7XG4gIHByaXZhdGUgbWVzc2FnZU1hcDogTWFwPG51bWJlciwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbiAgZ2V0IG1lc3NhZ2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1lc3NhZ2VNYXAudmFsdWVzKCkpLnJldmVyc2UoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB1cGRhdGVNZXNzYWdlKG1zZzogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBpZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMubWVzc2FnZU1hcC5zZXQoaWQsIG1zZyk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgcmVtb3ZlTWVzc2FnZShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlTWFwLmRlbGV0ZShpZCk7XG4gIH1cblxuICBoYXNNZXNzYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VNYXAuc2l6ZSA+IDA7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { OverlayModule } from "@angular/cdk/overlay";
2
+ import { CommonModule } from "@angular/common";
3
+ import { NgModule } from "@angular/core";
4
+ import { ToastComponent } from "./toast.component";
5
+ import { ToastDataService } from "./toast.data.service";
6
+ import { ToastService } from "./toast.service";
7
+ import * as i0 from "@angular/core";
8
+ export class ToastModule {
9
+ static forRoot() {
10
+ return {
11
+ ngModule: ToastModule,
12
+ providers: [ToastDataService, ToastService]
13
+ };
14
+ }
15
+ static forChild() {
16
+ return {
17
+ ngModule: ToastModule,
18
+ providers: [ToastDataService, ToastService]
19
+ };
20
+ }
21
+ static { this.ɵfac = function ToastModule_Factory(t) { return new (t || ToastModule)(); }; }
22
+ static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ToastModule }); }
23
+ static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, OverlayModule] }); }
24
+ }
25
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastModule, [{
26
+ type: NgModule,
27
+ args: [{
28
+ declarations: [ToastComponent],
29
+ imports: [CommonModule, OverlayModule]
30
+ }]
31
+ }], null, null); })();
32
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ToastModule, { declarations: [ToastComponent], imports: [CommonModule, OverlayModule] }); })();
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNL0MsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDOzRFQWJVLFdBQVc7bUVBQVgsV0FBVzt1RUFGVixZQUFZLEVBQUUsYUFBYTs7aUZBRTVCLFdBQVc7Y0FKdkIsUUFBUTtlQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDOUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzthQUN6Qzs7d0ZBQ1ksV0FBVyxtQkFITCxjQUFjLGFBQ25CLFlBQVksRUFBRSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tIFwiLi90b2FzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRvYXN0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi90b2FzdC5kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCIuL3RvYXN0LnNlcnZpY2VcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUb2FzdENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT3ZlcmxheU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRvYXN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUb2FzdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1RvYXN0RGF0YVNlcnZpY2UsIFRvYXN0U2VydmljZV1cbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VG9hc3RNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFRvYXN0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbVG9hc3REYXRhU2VydmljZSwgVG9hc3RTZXJ2aWNlXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,91 @@
1
+ import { OverlayConfig } from "@angular/cdk/overlay";
2
+ import { ComponentPortal } from "@angular/cdk/portal";
3
+ import { Injectable } from "@angular/core";
4
+ import { ToastComponent } from "./toast.component";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ import * as i2 from "./toast.data.service";
8
+ export class ToastService {
9
+ constructor(overlay, data) {
10
+ this.overlay = overlay;
11
+ this.data = data;
12
+ this.messagePromises = [];
13
+ this.messageBuilder = {
14
+ error: {
15
+ simple: "Something went wrong. Please try again later.",
16
+ 400: "Bad Request! We are working to fix this.",
17
+ 401: "UNAUTHORISED",
18
+ 403: "Sorry for the interruption but seems like your session has expired. Please login again and continue",
19
+ 404: "Unable to find resource. Please try again later"
20
+ },
21
+ item: (item) => {
22
+ return {
23
+ action: (act = "updated") => {
24
+ const success = `Successfully ${act} ${item}.`;
25
+ const failure = `Failed to ${act} ${item}.`;
26
+ return {
27
+ success,
28
+ failure
29
+ };
30
+ }
31
+ };
32
+ },
33
+ short: (act = "updated") => {
34
+ const success = `Successfully ${act}.`;
35
+ const failure = `Failed to ${act}.`;
36
+ return {
37
+ success,
38
+ failure
39
+ };
40
+ },
41
+ simple: (...args) => args.join(" "),
42
+ simplest: "Done!"
43
+ };
44
+ this.userProfilePortal = new ComponentPortal(ToastComponent);
45
+ }
46
+ displayMsg(msg, timeout = 3000) {
47
+ const positionStrategy = this.overlay.position().global().centerHorizontally();
48
+ if (window?.innerWidth < 600) {
49
+ positionStrategy.bottom("48px");
50
+ }
51
+ else {
52
+ positionStrategy.top("80px");
53
+ }
54
+ const config = new OverlayConfig({
55
+ hasBackdrop: false,
56
+ positionStrategy
57
+ });
58
+ if (!this.toastWrapperRef?.hasAttached()) {
59
+ this.toastWrapperRef = this.overlay.create(config);
60
+ this.toastWrapperRef.attach(this.userProfilePortal);
61
+ }
62
+ const messageId = this.data.updateMessage(msg);
63
+ this.messagePromises.push(new Promise((resolve, reject) => {
64
+ setTimeout(() => {
65
+ resolve(this.data.removeMessage(messageId));
66
+ if (!this.data.hasMessage()) {
67
+ this.closeToastOverlay();
68
+ }
69
+ // adding 300ms for entry animation
70
+ }, timeout + 300);
71
+ }));
72
+ Promise.race(this.messagePromises).then(() => { });
73
+ }
74
+ // tslint:disable-next-line
75
+ closeToastOverlay() {
76
+ return setTimeout(() => {
77
+ this.messagePromises = [];
78
+ this.toastWrapperRef?.detach();
79
+ // adding 300ms for exit animation
80
+ }, 300);
81
+ }
82
+ static { this.ɵfac = function ToastService_Factory(t) { return new (t || ToastService)(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i2.ToastDataService)); }; }
83
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastService, factory: ToastService.ɵfac, providedIn: "root" }); }
84
+ }
85
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastService, [{
86
+ type: Injectable,
87
+ args: [{
88
+ providedIn: "root"
89
+ }]
90
+ }], () => [{ type: i1.Overlay }, { type: i2.ToastDataService }], null); })();
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQVFuRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixPQUFnQixFQUFVLElBQXNCO1FBQWhELFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUk1RCxvQkFBZSxHQUFvQixFQUFFLENBQUM7UUFHOUMsbUJBQWMsR0FBRztZQUNmLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsK0NBQStDO2dCQUN2RCxHQUFHLEVBQUUsMENBQTBDO2dCQUMvQyxHQUFHLEVBQUUsY0FBYztnQkFDbkIsR0FBRyxFQUFFLHFHQUFxRztnQkFDMUcsR0FBRyxFQUFFLGlEQUFpRDthQUN2RDtZQUNELElBQUksRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNyQixPQUFPO29CQUNMLE1BQU0sRUFBRSxDQUFDLE1BQWtCLFNBQVMsRUFBRSxFQUFFO3dCQUN0QyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksR0FBRyxDQUFDO3dCQUMvQyxNQUFNLE9BQU8sR0FBRyxhQUFhLEdBQUcsSUFBSSxJQUFJLEdBQUcsQ0FBQzt3QkFDNUMsT0FBTzs0QkFDTCxPQUFPOzRCQUNQLE9BQU87eUJBQ1IsQ0FBQztvQkFDSixDQUFDO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsTUFBa0IsU0FBUyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztnQkFDdkMsTUFBTSxPQUFPLEdBQUcsYUFBYSxHQUFHLEdBQUcsQ0FBQztnQkFDcEMsT0FBTztvQkFDTCxPQUFPO29CQUNQLE9BQU87aUJBQ1IsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDN0MsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQztRQXBDQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQXFDRCxVQUFVLENBQUMsR0FBVyxFQUFFLE9BQU8sR0FBRyxJQUFJO1FBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRS9FLElBQUksTUFBTSxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDO1lBQy9CLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGdCQUFnQjtTQUNqQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN2QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO29CQUM1QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxtQ0FBbUM7WUFDckMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCwyQkFBMkI7SUFDbkIsaUJBQWlCO1FBQ3ZCLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQy9CLGtDQUFrQztRQUNwQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOzZFQTlFVSxZQUFZO3VFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07O2lGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tIFwiLi90b2FzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRvYXN0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi90b2FzdC5kYXRhLnNlcnZpY2VcIjtcblxudHlwZSBPcGVyYXRpb25zID0gXCJjcmVhdGVkXCIgfCBcInVwZGF0ZWRcIiB8IFwiZGVsZXRlZFwiIHwgXCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlbGV0ZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSwgcHJpdmF0ZSBkYXRhOiBUb2FzdERhdGFTZXJ2aWNlKSB7XG4gICAgdGhpcy51c2VyUHJvZmlsZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoVG9hc3RDb21wb25lbnQpO1xuICB9XG4gIHByaXZhdGUgdG9hc3RXcmFwcGVyUmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIG1lc3NhZ2VQcm9taXNlczogUHJvbWlzZTx2b2lkPltdID0gW107XG4gIHByaXZhdGUgdXNlclByb2ZpbGVQb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUb2FzdENvbXBvbmVudD47XG5cbiAgbWVzc2FnZUJ1aWxkZXIgPSB7XG4gICAgZXJyb3I6IHtcbiAgICAgIHNpbXBsZTogXCJTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5cIixcbiAgICAgIDQwMDogXCJCYWQgUmVxdWVzdCEgV2UgYXJlIHdvcmtpbmcgdG8gZml4IHRoaXMuXCIsXG4gICAgICA0MDE6IFwiVU5BVVRIT1JJU0VEXCIsXG4gICAgICA0MDM6IFwiU29ycnkgZm9yIHRoZSBpbnRlcnJ1cHRpb24gYnV0IHNlZW1zIGxpa2UgeW91ciBzZXNzaW9uIGhhcyBleHBpcmVkLiBQbGVhc2UgbG9naW4gYWdhaW4gYW5kIGNvbnRpbnVlXCIsXG4gICAgICA0MDQ6IFwiVW5hYmxlIHRvIGZpbmQgcmVzb3VyY2UuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXJcIlxuICAgIH0sXG4gICAgaXRlbTogKGl0ZW06IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWN0aW9uOiAoYWN0OiBPcGVyYXRpb25zID0gXCJ1cGRhdGVkXCIpID0+IHtcbiAgICAgICAgICBjb25zdCBzdWNjZXNzID0gYFN1Y2Nlc3NmdWxseSAke2FjdH0gJHtpdGVtfS5gO1xuICAgICAgICAgIGNvbnN0IGZhaWx1cmUgPSBgRmFpbGVkIHRvICR7YWN0fSAke2l0ZW19LmA7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN1Y2Nlc3MsXG4gICAgICAgICAgICBmYWlsdXJlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LFxuICAgIHNob3J0OiAoYWN0OiBPcGVyYXRpb25zID0gXCJ1cGRhdGVkXCIpID0+IHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBgU3VjY2Vzc2Z1bGx5ICR7YWN0fS5gO1xuICAgICAgY29uc3QgZmFpbHVyZSA9IGBGYWlsZWQgdG8gJHthY3R9LmA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzLFxuICAgICAgICBmYWlsdXJlXG4gICAgICB9O1xuICAgIH0sXG4gICAgc2ltcGxlOiAoLi4uYXJnczogc3RyaW5nW10pID0+IGFyZ3Muam9pbihcIiBcIiksXG4gICAgc2ltcGxlc3Q6IFwiRG9uZSFcIlxuICB9O1xuXG4gIGRpc3BsYXlNc2cobXNnOiBzdHJpbmcsIHRpbWVvdXQgPSAzMDAwKTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpO1xuXG4gICAgaWYgKHdpbmRvdz8uaW5uZXJXaWR0aCA8IDYwMCkge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS5ib3R0b20oXCI0OHB4XCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LnRvcChcIjgwcHhcIik7XG4gICAgfVxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3lcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMudG9hc3RXcmFwcGVyUmVmPy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aGlzLnRvYXN0V3JhcHBlclJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICAgIHRoaXMudG9hc3RXcmFwcGVyUmVmLmF0dGFjaCh0aGlzLnVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICB9XG4gICAgY29uc3QgbWVzc2FnZUlkID0gdGhpcy5kYXRhLnVwZGF0ZU1lc3NhZ2UobXNnKTtcbiAgICB0aGlzLm1lc3NhZ2VQcm9taXNlcy5wdXNoKFxuICAgICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKHRoaXMuZGF0YS5yZW1vdmVNZXNzYWdlKG1lc3NhZ2VJZCkpO1xuICAgICAgICAgIGlmICghdGhpcy5kYXRhLmhhc01lc3NhZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRvYXN0T3ZlcmxheSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBhZGRpbmcgMzAwbXMgZm9yIGVudHJ5IGFuaW1hdGlvblxuICAgICAgICB9LCB0aW1lb3V0ICsgMzAwKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBQcm9taXNlLnJhY2UodGhpcy5tZXNzYWdlUHJvbWlzZXMpLnRoZW4oKCkgPT4ge30pO1xuICB9XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIHByaXZhdGUgY2xvc2VUb2FzdE92ZXJsYXkoKTogYW55IHtcbiAgICByZXR1cm4gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1lc3NhZ2VQcm9taXNlcyA9IFtdO1xuICAgICAgdGhpcy50b2FzdFdyYXBwZXJSZWY/LmRldGFjaCgpO1xuICAgICAgLy8gYWRkaW5nIDMwMG1zIGZvciBleGl0IGFuaW1hdGlvblxuICAgIH0sIDMwMCk7XG4gIH1cbn1cbiJdfQ==