mis-crystal-design-system 18.0.3 → 18.0.5

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 (526) hide show
  1. package/action-list/action-list.component.d.ts +1 -1
  2. package/analytics/analytics.service.d.ts +1 -1
  3. package/async-search-dropdown/async-dropdown.component.d.ts +2 -2
  4. package/button/button.component.d.ts +1 -1
  5. package/button/button.directive.d.ts +1 -1
  6. package/checkbox/checkbox.component.d.ts +1 -1
  7. package/chip/chip.component.d.ts +1 -1
  8. package/datepicker_v2/models/dp-config.model.d.ts +1 -1
  9. package/datepicker_v2/tz-datepicker.directive.d.ts +1 -1
  10. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +1 -1
  11. package/daterangepicker_v2/models/drp-config.model.d.ts +3 -1
  12. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +2 -1
  13. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +3 -1
  14. package/drawer/drawer-body/drawer-body.component.d.ts +1 -1
  15. package/dropdown/calculate-container-height.directive.d.ts +1 -1
  16. package/dropdown/dropdown.component.d.ts +1 -1
  17. package/dynamic-form/dynamic-form.component.d.ts +1 -1
  18. package/esm2020/action-list/action-list.component.mjs +370 -0
  19. package/{esm2022 → esm2020}/action-list/action-list.module.mjs +5 -5
  20. package/{esm2022 → esm2020}/analytics/analytics.module.mjs +5 -5
  21. package/esm2020/analytics/analytics.service.mjs +64 -0
  22. package/esm2020/async-search-dropdown/async-dropdown.component.mjs +525 -0
  23. package/{esm2022 → esm2020}/async-search-dropdown/async-dropdown.module.mjs +5 -5
  24. package/esm2020/button/button.component.mjs +87 -0
  25. package/esm2020/button/button.directive.mjs +61 -0
  26. package/{esm2022 → esm2020}/button/button.module.mjs +5 -5
  27. package/esm2020/checkbox/checkbox.component.mjs +124 -0
  28. package/{esm2022 → esm2020}/checkbox/checkbox.module.mjs +5 -5
  29. package/esm2020/chip/chip.component.mjs +82 -0
  30. package/{esm2022 → esm2020}/chip/chip.module.mjs +5 -5
  31. package/{esm2022 → esm2020}/datepicker_v2/datepicker.module.mjs +5 -5
  32. package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +183 -0
  33. package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +449 -0
  34. package/esm2020/datepicker_v2/utils/index.mjs +45 -0
  35. package/{esm2022 → esm2020}/daterangepicker_v2/daterangepicker.module.mjs +5 -5
  36. package/esm2020/daterangepicker_v2/models/drp-config.model.mjs +2 -0
  37. package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +165 -0
  38. package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +502 -0
  39. package/{esm2022/datepicker_v2 → esm2020/daterangepicker_v2}/utils/index.mjs +1 -1
  40. package/esm2020/drawer/drawer-body/drawer-body.component.mjs +58 -0
  41. package/{esm2022 → esm2020}/drawer/drawer-ref.mjs +4 -4
  42. package/{esm2022 → esm2020}/drawer/drawer.module.mjs +5 -5
  43. package/{esm2022 → esm2020}/drawer/drawer.service.mjs +5 -5
  44. package/esm2020/dropdown/calculate-container-height.directive.mjs +41 -0
  45. package/esm2020/dropdown/dropdown.component.mjs +472 -0
  46. package/{esm2022 → esm2020}/dropdown/dropdown.module.mjs +5 -5
  47. package/esm2020/dynamic-form/dynamic-form.component.mjs +1108 -0
  48. package/{esm2022 → esm2020}/dynamic-form/dynamic-form.module.mjs +13 -13
  49. package/esm2020/fab/fab.component.mjs +144 -0
  50. package/{esm2022 → esm2020}/fab/fab.module.mjs +5 -5
  51. package/esm2020/filter/filter-panel/filter-panel.component.mjs +403 -0
  52. package/{esm2022 → esm2020}/filter/filters.module.mjs +17 -17
  53. package/esm2020/filter/has-value.pipe.mjs +31 -0
  54. package/{esm2022 → esm2020}/input/directives/input/input.directive.mjs +6 -6
  55. package/esm2020/input/mis-input.component.mjs +84 -0
  56. package/{esm2022 → esm2020}/input/mis-input.module.mjs +5 -5
  57. package/esm2020/input-stepper/input-stepper/input-stepper.component.mjs +88 -0
  58. package/{esm2022 → esm2020}/input-stepper/input-stepper.module.mjs +5 -5
  59. package/esm2020/loader/loader.component.mjs +24 -0
  60. package/{esm2022 → esm2020}/loader/loader.module.mjs +5 -5
  61. package/esm2020/menu/menu-close.directive.mjs +25 -0
  62. package/{esm2022 → esm2020}/menu/menu.directive.mjs +7 -7
  63. package/{esm2022 → esm2020}/menu/menu.module.mjs +5 -5
  64. package/esm2020/mobile-filter/mobile-filter.component.mjs +181 -0
  65. package/{esm2022 → esm2020}/mobile-filter/mobile-filter.module.mjs +5 -5
  66. package/{esm2022 → esm2020}/modal/modal.module.mjs +5 -5
  67. package/esm2020/modal/modal.service.mjs +70 -0
  68. package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +55 -0
  69. package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +491 -0
  70. package/{esm2022 → esm2020}/multi-select-dropdown/multi-select-dropdown.module.mjs +5 -5
  71. package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +517 -0
  72. package/{esm2022 → esm2020}/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +5 -5
  73. package/esm2020/phone-input/phone-input.component.mjs +71 -0
  74. package/{esm2022 → esm2020}/phone-input/phone-input.module.mjs +5 -5
  75. package/esm2020/radio-button/radio-button.component.mjs +56 -0
  76. package/{esm2022 → esm2020}/radio-button/radio-button.module.mjs +5 -5
  77. package/esm2020/ske-loader/ske-loader.component.mjs +53 -0
  78. package/{esm2022 → esm2020}/ske-loader/ske-loader.module.mjs +5 -5
  79. package/esm2020/slider/slider.component.mjs +45 -0
  80. package/{esm2022 → esm2020}/slider/slider.module.mjs +7 -7
  81. package/esm2020/snackbar/snackbar/snackbar.component.mjs +72 -0
  82. package/{esm2022 → esm2020}/snackbar/snackbar.module.mjs +5 -5
  83. package/esm2020/snackbar/snackbar.service.mjs +47 -0
  84. package/{esm2022 → esm2020}/specificdatepicker/specificdatepicker.module.mjs +5 -5
  85. package/esm2020/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +646 -0
  86. package/esm2020/specificdatepicker/tz-specificdatepicker.directive.mjs +196 -0
  87. package/esm2020/specificdatepicker/utils/index.mjs +45 -0
  88. package/esm2020/star-rating/star-rating.component.mjs +112 -0
  89. package/{esm2022 → esm2020}/star-rating/star-rating.module.mjs +5 -5
  90. package/esm2020/switch/switch.component.mjs +55 -0
  91. package/{esm2022 → esm2020}/switch/switch.module.mjs +5 -5
  92. package/esm2020/table/custom-table-cell.directive.mjs +42 -0
  93. package/esm2020/table/filter/filter.component.mjs +176 -0
  94. package/esm2020/table/sub-table/sub-table.component.mjs +193 -0
  95. package/esm2020/table/table.component.mjs +492 -0
  96. package/{esm2022 → esm2020}/table/table.module.mjs +5 -5
  97. package/esm2020/timepicker/timepicker.component.mjs +370 -0
  98. package/esm2020/timepicker/timepicker.directive.mjs +69 -0
  99. package/{esm2022 → esm2020}/timepicker/timepicker.module.mjs +5 -5
  100. package/esm2020/timerangepicker/timerangepicker.component.mjs +236 -0
  101. package/{esm2022 → esm2020}/timerangepicker/timerangepicker.module.mjs +5 -5
  102. package/esm2020/toast/toast.component.mjs +50 -0
  103. package/{esm2022 → esm2020}/toast/toast.data.service.mjs +8 -8
  104. package/{esm2022 → esm2020}/toast/toast.module.mjs +5 -5
  105. package/esm2020/toast/toast.service.mjs +91 -0
  106. package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +79 -0
  107. package/esm2020/tooltip/tooltip.directive.mjs +143 -0
  108. package/{esm2022 → esm2020}/tooltip/tooltip.module.mjs +5 -5
  109. package/esm2020/virtual-scroll/virtual-scroll.component.mjs +190 -0
  110. package/{esm2022 → esm2020}/virtual-scroll/virtual-scroll.module.mjs +7 -7
  111. package/esm2020/widgets/classes/async-widget.mjs +23 -0
  112. package/{esm2022 → esm2020}/widgets/classes/base-widget.mjs +1 -1
  113. package/esm2020/widgets/classes/sync-widget.mjs +20 -0
  114. package/{esm2022 → esm2020}/widgets/services/widget.service.mjs +5 -5
  115. package/{esm2022 → esm2020}/widgets/widgets.module.mjs +5 -5
  116. package/fab/fab.component.d.ts +4 -4
  117. package/fesm2015/mis-crystal-design-system-action-list.mjs +446 -0
  118. package/fesm2015/mis-crystal-design-system-action-list.mjs.map +1 -0
  119. package/fesm2015/mis-crystal-design-system-analytics.mjs +87 -0
  120. package/fesm2015/mis-crystal-design-system-analytics.mjs.map +1 -0
  121. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +618 -0
  122. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  123. package/fesm2015/mis-crystal-design-system-button.mjs +189 -0
  124. package/fesm2015/mis-crystal-design-system-button.mjs.map +1 -0
  125. package/fesm2015/mis-crystal-design-system-checkbox.mjs +166 -0
  126. package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +1 -0
  127. package/fesm2015/mis-crystal-design-system-chip.mjs +123 -0
  128. package/fesm2015/mis-crystal-design-system-chip.mjs.map +1 -0
  129. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +751 -0
  130. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  131. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +769 -0
  132. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  133. package/fesm2015/mis-crystal-design-system-drawer.mjs +185 -0
  134. package/fesm2015/mis-crystal-design-system-drawer.mjs.map +1 -0
  135. package/fesm2015/mis-crystal-design-system-dropdown.mjs +616 -0
  136. package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -0
  137. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +1337 -0
  138. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
  139. package/fesm2015/mis-crystal-design-system-fab.mjs +186 -0
  140. package/fesm2015/mis-crystal-design-system-fab.mjs.map +1 -0
  141. package/fesm2015/mis-crystal-design-system-filter.mjs +559 -0
  142. package/fesm2015/mis-crystal-design-system-filter.mjs.map +1 -0
  143. package/fesm2015/mis-crystal-design-system-input-stepper.mjs +124 -0
  144. package/fesm2015/mis-crystal-design-system-input-stepper.mjs.map +1 -0
  145. package/fesm2015/mis-crystal-design-system-input.mjs +165 -0
  146. package/fesm2015/mis-crystal-design-system-input.mjs.map +1 -0
  147. package/fesm2015/mis-crystal-design-system-loader.mjs +57 -0
  148. package/fesm2015/mis-crystal-design-system-loader.mjs.map +1 -0
  149. package/fesm2015/mis-crystal-design-system-menu.mjs +135 -0
  150. package/fesm2015/mis-crystal-design-system-menu.mjs.map +1 -0
  151. package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +227 -0
  152. package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
  153. package/fesm2015/mis-crystal-design-system-modal.mjs +184 -0
  154. package/fesm2015/mis-crystal-design-system-modal.mjs.map +1 -0
  155. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +550 -0
  156. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  157. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +559 -0
  158. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  159. package/fesm2015/mis-crystal-design-system-phone-input.mjs +107 -0
  160. package/fesm2015/mis-crystal-design-system-phone-input.mjs.map +1 -0
  161. package/fesm2015/mis-crystal-design-system-radio-button.mjs +89 -0
  162. package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +1 -0
  163. package/fesm2015/mis-crystal-design-system-ske-loader.mjs +86 -0
  164. package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  165. package/fesm2015/mis-crystal-design-system-slider.mjs +88 -0
  166. package/fesm2015/mis-crystal-design-system-slider.mjs.map +1 -0
  167. package/fesm2015/mis-crystal-design-system-snackbar.mjs +175 -0
  168. package/fesm2015/mis-crystal-design-system-snackbar.mjs.map +1 -0
  169. package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs +970 -0
  170. package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
  171. package/fesm2015/mis-crystal-design-system-star-rating.mjs +145 -0
  172. package/fesm2015/mis-crystal-design-system-star-rating.mjs.map +1 -0
  173. package/fesm2015/mis-crystal-design-system-switch.mjs +88 -0
  174. package/fesm2015/mis-crystal-design-system-switch.mjs.map +1 -0
  175. package/fesm2015/mis-crystal-design-system-table.mjs +1045 -0
  176. package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -0
  177. package/fesm2015/mis-crystal-design-system-timepicker.mjs +484 -0
  178. package/fesm2015/mis-crystal-design-system-timepicker.mjs.map +1 -0
  179. package/fesm2015/mis-crystal-design-system-timerangepicker.mjs +273 -0
  180. package/fesm2015/mis-crystal-design-system-timerangepicker.mjs.map +1 -0
  181. package/fesm2015/mis-crystal-design-system-toast.mjs +214 -0
  182. package/fesm2015/mis-crystal-design-system-toast.mjs.map +1 -0
  183. package/fesm2015/mis-crystal-design-system-tooltip.mjs +272 -0
  184. package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +1 -0
  185. package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs +259 -0
  186. package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
  187. package/fesm2015/mis-crystal-design-system-widgets.mjs +131 -0
  188. package/fesm2015/mis-crystal-design-system-widgets.mjs.map +1 -0
  189. package/{fesm2022 → fesm2020}/mis-crystal-design-system-action-list.mjs +113 -106
  190. package/fesm2020/mis-crystal-design-system-action-list.mjs.map +1 -0
  191. package/{fesm2022 → fesm2020}/mis-crystal-design-system-analytics.mjs +9 -9
  192. package/{fesm2022 → fesm2020}/mis-crystal-design-system-analytics.mjs.map +1 -1
  193. package/{fesm2022 → fesm2020}/mis-crystal-design-system-async-search-dropdown.mjs +144 -138
  194. package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  195. package/fesm2020/mis-crystal-design-system-button.mjs +172 -0
  196. package/fesm2020/mis-crystal-design-system-button.mjs.map +1 -0
  197. package/fesm2020/mis-crystal-design-system-checkbox.mjs +150 -0
  198. package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +1 -0
  199. package/fesm2020/mis-crystal-design-system-chip.mjs +108 -0
  200. package/fesm2020/mis-crystal-design-system-chip.mjs.map +1 -0
  201. package/{fesm2022 → fesm2020}/mis-crystal-design-system-datepicker_v2.mjs +140 -133
  202. package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  203. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +736 -0
  204. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  205. package/{fesm2022 → fesm2020}/mis-crystal-design-system-drawer.mjs +33 -34
  206. package/{fesm2022 → fesm2020}/mis-crystal-design-system-drawer.mjs.map +1 -1
  207. package/{fesm2022 → fesm2020}/mis-crystal-design-system-dropdown.mjs +184 -176
  208. package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -0
  209. package/{fesm2022 → fesm2020}/mis-crystal-design-system-dynamic-form.mjs +456 -441
  210. package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
  211. package/{fesm2022 → fesm2020}/mis-crystal-design-system-fab.mjs +47 -48
  212. package/fesm2020/mis-crystal-design-system-fab.mjs.map +1 -0
  213. package/{fesm2022 → fesm2020}/mis-crystal-design-system-filter.mjs +140 -133
  214. package/fesm2020/mis-crystal-design-system-filter.mjs.map +1 -0
  215. package/{fesm2022 → fesm2020}/mis-crystal-design-system-input-stepper.mjs +34 -35
  216. package/{fesm2022 → fesm2020}/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  217. package/{esm2022/input/mis-input.component.mjs → fesm2020/mis-crystal-design-system-input.mjs} +109 -49
  218. package/{fesm2022 → fesm2020}/mis-crystal-design-system-input.mjs.map +1 -1
  219. package/fesm2020/mis-crystal-design-system-loader.mjs +50 -0
  220. package/{fesm2022 → fesm2020}/mis-crystal-design-system-loader.mjs.map +1 -1
  221. package/{fesm2022 → fesm2020}/mis-crystal-design-system-menu.mjs +16 -16
  222. package/{fesm2022 → fesm2020}/mis-crystal-design-system-menu.mjs.map +1 -1
  223. package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +206 -0
  224. package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
  225. package/{fesm2022 → fesm2020}/mis-crystal-design-system-modal.mjs +33 -34
  226. package/{fesm2022 → fesm2020}/mis-crystal-design-system-modal.mjs.map +1 -1
  227. package/{fesm2022 → fesm2020}/mis-crystal-design-system-multi-select-dropdown.mjs +109 -107
  228. package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  229. package/{fesm2022 → fesm2020}/mis-crystal-design-system-nested-multi-select-dropdown.mjs +129 -128
  230. package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  231. package/{fesm2022 → fesm2020}/mis-crystal-design-system-phone-input.mjs +21 -22
  232. package/{fesm2022 → fesm2020}/mis-crystal-design-system-phone-input.mjs.map +1 -1
  233. package/fesm2020/mis-crystal-design-system-radio-button.mjs +82 -0
  234. package/{fesm2022 → fesm2020}/mis-crystal-design-system-radio-button.mjs.map +1 -1
  235. package/fesm2020/mis-crystal-design-system-ske-loader.mjs +76 -0
  236. package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  237. package/fesm2020/mis-crystal-design-system-slider.mjs +79 -0
  238. package/{fesm2022 → fesm2020}/mis-crystal-design-system-slider.mjs.map +1 -1
  239. package/{fesm2022 → fesm2020}/mis-crystal-design-system-snackbar.mjs +32 -32
  240. package/fesm2020/mis-crystal-design-system-snackbar.mjs.map +1 -0
  241. package/{fesm2022 → fesm2020}/mis-crystal-design-system-specificdatepicker.mjs +204 -204
  242. package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
  243. package/{fesm2022 → fesm2020}/mis-crystal-design-system-star-rating.mjs +28 -29
  244. package/fesm2020/mis-crystal-design-system-star-rating.mjs.map +1 -0
  245. package/fesm2020/mis-crystal-design-system-styles.mjs +4 -0
  246. package/fesm2020/mis-crystal-design-system-styles.mjs.map +1 -0
  247. package/fesm2020/mis-crystal-design-system-switch.mjs +81 -0
  248. package/fesm2020/mis-crystal-design-system-switch.mjs.map +1 -0
  249. package/{fesm2022 → fesm2020}/mis-crystal-design-system-table.mjs +321 -314
  250. package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -0
  251. package/{fesm2022 → fesm2020}/mis-crystal-design-system-timepicker.mjs +74 -78
  252. package/{fesm2022 → fesm2020}/mis-crystal-design-system-timepicker.mjs.map +1 -1
  253. package/{fesm2022 → fesm2020}/mis-crystal-design-system-timerangepicker.mjs +25 -26
  254. package/{fesm2022 → fesm2020}/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  255. package/{fesm2022 → fesm2020}/mis-crystal-design-system-toast.mjs +34 -35
  256. package/{fesm2022 → fesm2020}/mis-crystal-design-system-toast.mjs.map +1 -1
  257. package/{fesm2022 → fesm2020}/mis-crystal-design-system-tooltip.mjs +47 -47
  258. package/{fesm2022 → fesm2020}/mis-crystal-design-system-tooltip.mjs.map +1 -1
  259. package/fesm2020/mis-crystal-design-system-utils.mjs +24 -0
  260. package/fesm2020/mis-crystal-design-system-utils.mjs.map +1 -0
  261. package/{fesm2022 → fesm2020}/mis-crystal-design-system-virtual-scroll.mjs +52 -50
  262. package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
  263. package/{fesm2022 → fesm2020}/mis-crystal-design-system-widgets.mjs +4 -4
  264. package/{fesm2022 → fesm2020}/mis-crystal-design-system-widgets.mjs.map +1 -1
  265. package/fesm2020/mis-crystal-design-system.mjs +24 -0
  266. package/fesm2020/mis-crystal-design-system.mjs.map +1 -0
  267. package/filter/filter-panel/filter-panel.component.d.ts +4 -3
  268. package/input/directives/input/input.directive.d.ts +1 -1
  269. package/input/mis-input.component.d.ts +1 -1
  270. package/input-stepper/input-stepper/input-stepper.component.d.ts +1 -1
  271. package/loader/loader.component.d.ts +1 -1
  272. package/menu/menu-close.directive.d.ts +1 -1
  273. package/menu/menu.directive.d.ts +1 -1
  274. package/mobile-filter/mobile-filter.component.d.ts +1 -1
  275. package/modal/module-wrapper/module-wrapper.component.d.ts +1 -1
  276. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +1 -1
  277. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +1 -1
  278. package/package.json +230 -148
  279. package/phone-input/phone-input.component.d.ts +1 -1
  280. package/radio-button/radio-button.component.d.ts +1 -1
  281. package/ske-loader/ske-loader.component.d.ts +1 -1
  282. package/slider/slider.component.d.ts +1 -1
  283. package/snackbar/snackbar/snackbar.component.d.ts +1 -1
  284. package/specificdatepicker/models/sdp-config.model.d.ts +1 -1
  285. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +1 -1
  286. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +1 -1
  287. package/star-rating/star-rating.component.d.ts +1 -1
  288. package/switch/switch.component.d.ts +1 -1
  289. package/table/custom-table-cell.directive.d.ts +1 -1
  290. package/table/filter/filter.component.d.ts +1 -1
  291. package/table/sub-table/sub-table.component.d.ts +1 -1
  292. package/table/table.component.d.ts +1 -1
  293. package/timepicker/timepicker.component.d.ts +1 -1
  294. package/timepicker/timepicker.directive.d.ts +1 -1
  295. package/timerangepicker/timerange.namespace.d.ts +1 -1
  296. package/timerangepicker/timerangepicker.component.d.ts +1 -1
  297. package/toast/toast.component.d.ts +1 -1
  298. package/toast/toast.service.d.ts +1 -1
  299. package/tooltip/models/tooltip.model.d.ts +1 -1
  300. package/tooltip/tooltip-container/tooltip.component.d.ts +1 -1
  301. package/tooltip/tooltip.directive.d.ts +1 -1
  302. package/virtual-scroll/virtual-scroll.component.d.ts +1 -1
  303. package/widgets/interfaces/widgets.model.d.ts +1 -1
  304. package/esm2022/action-list/action-list.component.mjs +0 -363
  305. package/esm2022/analytics/analytics.service.mjs +0 -64
  306. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +0 -519
  307. package/esm2022/button/button.component.mjs +0 -88
  308. package/esm2022/button/button.directive.mjs +0 -61
  309. package/esm2022/checkbox/checkbox.component.mjs +0 -124
  310. package/esm2022/chip/chip.component.mjs +0 -82
  311. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +0 -183
  312. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +0 -442
  313. package/esm2022/daterangepicker_v2/models/drp-config.model.mjs +0 -2
  314. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +0 -156
  315. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +0 -473
  316. package/esm2022/daterangepicker_v2/utils/index.mjs +0 -45
  317. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +0 -59
  318. package/esm2022/dropdown/calculate-container-height.directive.mjs +0 -41
  319. package/esm2022/dropdown/dropdown.component.mjs +0 -464
  320. package/esm2022/dynamic-form/dynamic-form.component.mjs +0 -1093
  321. package/esm2022/fab/fab.component.mjs +0 -145
  322. package/esm2022/filter/filter-panel/filter-panel.component.mjs +0 -396
  323. package/esm2022/filter/has-value.pipe.mjs +0 -31
  324. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +0 -89
  325. package/esm2022/loader/loader.component.mjs +0 -25
  326. package/esm2022/menu/menu-close.directive.mjs +0 -25
  327. package/esm2022/mobile-filter/mobile-filter.component.mjs +0 -180
  328. package/esm2022/modal/modal.service.mjs +0 -70
  329. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +0 -56
  330. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +0 -489
  331. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +0 -516
  332. package/esm2022/phone-input/phone-input.component.mjs +0 -72
  333. package/esm2022/radio-button/radio-button.component.mjs +0 -57
  334. package/esm2022/ske-loader/ske-loader.component.mjs +0 -54
  335. package/esm2022/slider/slider.component.mjs +0 -46
  336. package/esm2022/snackbar/snackbar/snackbar.component.mjs +0 -72
  337. package/esm2022/snackbar/snackbar.service.mjs +0 -47
  338. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +0 -646
  339. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +0 -196
  340. package/esm2022/specificdatepicker/utils/index.mjs +0 -45
  341. package/esm2022/star-rating/star-rating.component.mjs +0 -113
  342. package/esm2022/switch/switch.component.mjs +0 -56
  343. package/esm2022/table/custom-table-cell.directive.mjs +0 -42
  344. package/esm2022/table/filter/filter.component.mjs +0 -177
  345. package/esm2022/table/sub-table/sub-table.component.mjs +0 -192
  346. package/esm2022/table/table.component.mjs +0 -485
  347. package/esm2022/timepicker/timepicker.component.mjs +0 -374
  348. package/esm2022/timepicker/timepicker.directive.mjs +0 -69
  349. package/esm2022/timerangepicker/timerangepicker.component.mjs +0 -237
  350. package/esm2022/toast/toast.component.mjs +0 -51
  351. package/esm2022/toast/toast.service.mjs +0 -91
  352. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +0 -79
  353. package/esm2022/tooltip/tooltip.directive.mjs +0 -143
  354. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +0 -188
  355. package/esm2022/widgets/classes/async-widget.mjs +0 -23
  356. package/esm2022/widgets/classes/sync-widget.mjs +0 -20
  357. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +0 -1
  358. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
  359. package/fesm2022/mis-crystal-design-system-button.mjs +0 -173
  360. package/fesm2022/mis-crystal-design-system-button.mjs.map +0 -1
  361. package/fesm2022/mis-crystal-design-system-checkbox.mjs +0 -150
  362. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +0 -1
  363. package/fesm2022/mis-crystal-design-system-chip.mjs +0 -108
  364. package/fesm2022/mis-crystal-design-system-chip.mjs.map +0 -1
  365. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
  366. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +0 -698
  367. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
  368. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +0 -1
  369. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
  370. package/fesm2022/mis-crystal-design-system-fab.mjs.map +0 -1
  371. package/fesm2022/mis-crystal-design-system-filter.mjs.map +0 -1
  372. package/fesm2022/mis-crystal-design-system-input.mjs +0 -146
  373. package/fesm2022/mis-crystal-design-system-loader.mjs +0 -51
  374. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +0 -205
  375. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
  376. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
  377. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
  378. package/fesm2022/mis-crystal-design-system-radio-button.mjs +0 -83
  379. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +0 -77
  380. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +0 -1
  381. package/fesm2022/mis-crystal-design-system-slider.mjs +0 -80
  382. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +0 -1
  383. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
  384. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +0 -1
  385. package/fesm2022/mis-crystal-design-system-switch.mjs +0 -82
  386. package/fesm2022/mis-crystal-design-system-switch.mjs.map +0 -1
  387. package/fesm2022/mis-crystal-design-system-table.mjs.map +0 -1
  388. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
  389. /package/{esm2022 → esm2020}/action-list/index.mjs +0 -0
  390. /package/{esm2022 → esm2020}/action-list/mis-crystal-design-system-action-list.mjs +0 -0
  391. /package/{esm2022 → esm2020}/action-list/public_api.mjs +0 -0
  392. /package/{esm2022 → esm2020}/analytics/index.mjs +0 -0
  393. /package/{esm2022 → esm2020}/analytics/mis-crystal-design-system-analytics.mjs +0 -0
  394. /package/{esm2022 → esm2020}/analytics/public_api.mjs +0 -0
  395. /package/{esm2022 → esm2020}/async-search-dropdown/index.mjs +0 -0
  396. /package/{esm2022 → esm2020}/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs +0 -0
  397. /package/{esm2022 → esm2020}/async-search-dropdown/public_api.mjs +0 -0
  398. /package/{esm2022 → esm2020}/button/index.mjs +0 -0
  399. /package/{esm2022 → esm2020}/button/mis-crystal-design-system-button.mjs +0 -0
  400. /package/{esm2022 → esm2020}/button/public_api.mjs +0 -0
  401. /package/{esm2022 → esm2020}/checkbox/index.mjs +0 -0
  402. /package/{esm2022 → esm2020}/checkbox/mis-crystal-design-system-checkbox.mjs +0 -0
  403. /package/{esm2022 → esm2020}/checkbox/public_api.mjs +0 -0
  404. /package/{esm2022 → esm2020}/chip/index.mjs +0 -0
  405. /package/{esm2022 → esm2020}/chip/mis-crystal-design-system-chip.mjs +0 -0
  406. /package/{esm2022 → esm2020}/chip/public_api.mjs +0 -0
  407. /package/{esm2022 → esm2020}/datepicker_v2/datepicker-constants.mjs +0 -0
  408. /package/{esm2022 → esm2020}/datepicker_v2/index.mjs +0 -0
  409. /package/{esm2022 → esm2020}/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +0 -0
  410. /package/{esm2022 → esm2020}/datepicker_v2/models/dp-config.model.mjs +0 -0
  411. /package/{esm2022 → esm2020}/datepicker_v2/public_api.mjs +0 -0
  412. /package/{esm2022 → esm2020}/daterangepicker_v2/daterangepicker-constants.mjs +0 -0
  413. /package/{esm2022 → esm2020}/daterangepicker_v2/index.mjs +0 -0
  414. /package/{esm2022 → esm2020}/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +0 -0
  415. /package/{esm2022 → esm2020}/daterangepicker_v2/public_api.mjs +0 -0
  416. /package/{esm2022 → esm2020}/drawer/drawer-constants.mjs +0 -0
  417. /package/{esm2022 → esm2020}/drawer/index.mjs +0 -0
  418. /package/{esm2022 → esm2020}/drawer/mis-crystal-design-system-drawer.mjs +0 -0
  419. /package/{esm2022 → esm2020}/drawer/public_api.mjs +0 -0
  420. /package/{esm2022 → esm2020}/dropdown/index.mjs +0 -0
  421. /package/{esm2022 → esm2020}/dropdown/mis-crystal-design-system-dropdown.mjs +0 -0
  422. /package/{esm2022 → esm2020}/dropdown/public_api.mjs +0 -0
  423. /package/{esm2022 → esm2020}/dynamic-form/dynamic-form.namespace.mjs +0 -0
  424. /package/{esm2022 → esm2020}/dynamic-form/index.mjs +0 -0
  425. /package/{esm2022 → esm2020}/dynamic-form/mis-crystal-design-system-dynamic-form.mjs +0 -0
  426. /package/{esm2022 → esm2020}/dynamic-form/public_api.mjs +0 -0
  427. /package/{esm2022 → esm2020}/fab/index.mjs +0 -0
  428. /package/{esm2022 → esm2020}/fab/mis-crystal-design-system-fab.mjs +0 -0
  429. /package/{esm2022 → esm2020}/fab/public_api.mjs +0 -0
  430. /package/{esm2022 → esm2020}/filter/animations/slideFromRight.mjs +0 -0
  431. /package/{esm2022 → esm2020}/filter/index.mjs +0 -0
  432. /package/{esm2022 → esm2020}/filter/mis-crystal-design-system-filter.mjs +0 -0
  433. /package/{esm2022 → esm2020}/filter/public_api.mjs +0 -0
  434. /package/{esm2022 → esm2020}/index.mjs +0 -0
  435. /package/{esm2022 → esm2020}/input/index.mjs +0 -0
  436. /package/{esm2022 → esm2020}/input/mis-crystal-design-system-input.mjs +0 -0
  437. /package/{esm2022 → esm2020}/input/public_api.mjs +0 -0
  438. /package/{esm2022 → esm2020}/input-stepper/index.mjs +0 -0
  439. /package/{esm2022 → esm2020}/input-stepper/mis-crystal-design-system-input-stepper.mjs +0 -0
  440. /package/{esm2022 → esm2020}/input-stepper/public_api.mjs +0 -0
  441. /package/{esm2022 → esm2020}/loader/index.mjs +0 -0
  442. /package/{esm2022 → esm2020}/loader/mis-crystal-design-system-loader.mjs +0 -0
  443. /package/{esm2022 → esm2020}/loader/public_api.mjs +0 -0
  444. /package/{esm2022 → esm2020}/menu/index.mjs +0 -0
  445. /package/{esm2022 → esm2020}/menu/mis-crystal-design-system-menu.mjs +0 -0
  446. /package/{esm2022 → esm2020}/menu/public_api.mjs +0 -0
  447. /package/{esm2022 → esm2020}/mis-crystal-design-system.mjs +0 -0
  448. /package/{esm2022 → esm2020}/mobile-filter/index.mjs +0 -0
  449. /package/{esm2022 → esm2020}/mobile-filter/mis-crystal-design-system-mobile-filter.mjs +0 -0
  450. /package/{esm2022 → esm2020}/mobile-filter/public_api.mjs +0 -0
  451. /package/{esm2022 → esm2020}/modal/index.mjs +0 -0
  452. /package/{esm2022 → esm2020}/modal/mis-crystal-design-system-modal.mjs +0 -0
  453. /package/{esm2022 → esm2020}/modal/modal-constants.mjs +0 -0
  454. /package/{esm2022 → esm2020}/modal/modal-ref.mjs +0 -0
  455. /package/{esm2022 → esm2020}/modal/public_api.mjs +0 -0
  456. /package/{esm2022 → esm2020}/multi-select-dropdown/index.mjs +0 -0
  457. /package/{esm2022 → esm2020}/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs +0 -0
  458. /package/{esm2022 → esm2020}/multi-select-dropdown/public_api.mjs +0 -0
  459. /package/{esm2022 → esm2020}/nested-multi-select-dropdown/index.mjs +0 -0
  460. /package/{esm2022 → esm2020}/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -0
  461. /package/{esm2022 → esm2020}/nested-multi-select-dropdown/public_api.mjs +0 -0
  462. /package/{esm2022 → esm2020}/phone-input/index.mjs +0 -0
  463. /package/{esm2022 → esm2020}/phone-input/mis-crystal-design-system-phone-input.mjs +0 -0
  464. /package/{esm2022 → esm2020}/phone-input/public_api.mjs +0 -0
  465. /package/{esm2022 → esm2020}/public-api.mjs +0 -0
  466. /package/{esm2022 → esm2020}/radio-button/index.mjs +0 -0
  467. /package/{esm2022 → esm2020}/radio-button/mis-crystal-design-system-radio-button.mjs +0 -0
  468. /package/{esm2022 → esm2020}/radio-button/public_api.mjs +0 -0
  469. /package/{esm2022 → esm2020}/ske-loader/index.mjs +0 -0
  470. /package/{esm2022 → esm2020}/ske-loader/mis-crystal-design-system-ske-loader.mjs +0 -0
  471. /package/{esm2022 → esm2020}/ske-loader/public_api.mjs +0 -0
  472. /package/{esm2022 → esm2020}/slider/index.mjs +0 -0
  473. /package/{esm2022 → esm2020}/slider/mis-crystal-design-system-slider.mjs +0 -0
  474. /package/{esm2022 → esm2020}/slider/public_api.mjs +0 -0
  475. /package/{esm2022 → esm2020}/snackbar/index.mjs +0 -0
  476. /package/{esm2022 → esm2020}/snackbar/mis-crystal-design-system-snackbar.mjs +0 -0
  477. /package/{esm2022 → esm2020}/snackbar/public_api.mjs +0 -0
  478. /package/{esm2022 → esm2020}/specificdatepicker/daterangepicker-constants.mjs +0 -0
  479. /package/{esm2022 → esm2020}/specificdatepicker/index.mjs +0 -0
  480. /package/{esm2022 → esm2020}/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs +0 -0
  481. /package/{esm2022 → esm2020}/specificdatepicker/models/sdp-config.model.mjs +0 -0
  482. /package/{esm2022 → esm2020}/specificdatepicker/public_api.mjs +0 -0
  483. /package/{esm2022 → esm2020}/star-rating/index.mjs +0 -0
  484. /package/{esm2022 → esm2020}/star-rating/mis-crystal-design-system-star-rating.mjs +0 -0
  485. /package/{esm2022 → esm2020}/star-rating/public_api.mjs +0 -0
  486. /package/{esm2022 → esm2020}/styles/index.mjs +0 -0
  487. /package/{esm2022 → esm2020}/styles/mis-crystal-design-system-styles.mjs +0 -0
  488. /package/{esm2022 → esm2020}/styles/public_api.mjs +0 -0
  489. /package/{esm2022 → esm2020}/switch/index.mjs +0 -0
  490. /package/{esm2022 → esm2020}/switch/mis-crystal-design-system-switch.mjs +0 -0
  491. /package/{esm2022 → esm2020}/switch/public_api.mjs +0 -0
  492. /package/{esm2022 → esm2020}/table/index.mjs +0 -0
  493. /package/{esm2022 → esm2020}/table/mis-crystal-design-system-table.mjs +0 -0
  494. /package/{esm2022 → esm2020}/table/public_api.mjs +0 -0
  495. /package/{esm2022 → esm2020}/timepicker/index.mjs +0 -0
  496. /package/{esm2022 → esm2020}/timepicker/mis-crystal-design-system-timepicker.mjs +0 -0
  497. /package/{esm2022 → esm2020}/timepicker/public_api.mjs +0 -0
  498. /package/{esm2022 → esm2020}/timepicker/time.namespace.mjs +0 -0
  499. /package/{esm2022 → esm2020}/timerangepicker/index.mjs +0 -0
  500. /package/{esm2022 → esm2020}/timerangepicker/mis-crystal-design-system-timerangepicker.mjs +0 -0
  501. /package/{esm2022 → esm2020}/timerangepicker/public_api.mjs +0 -0
  502. /package/{esm2022 → esm2020}/timerangepicker/timerange.namespace.mjs +0 -0
  503. /package/{esm2022 → esm2020}/toast/index.mjs +0 -0
  504. /package/{esm2022 → esm2020}/toast/mis-crystal-design-system-toast.mjs +0 -0
  505. /package/{esm2022 → esm2020}/toast/public_api.mjs +0 -0
  506. /package/{esm2022 → esm2020}/tooltip/index.mjs +0 -0
  507. /package/{esm2022 → esm2020}/tooltip/mis-crystal-design-system-tooltip.mjs +0 -0
  508. /package/{esm2022 → esm2020}/tooltip/models/tooltip.model.mjs +0 -0
  509. /package/{esm2022 → esm2020}/tooltip/public_api.mjs +0 -0
  510. /package/{esm2022 → esm2020}/utils/index.mjs +0 -0
  511. /package/{esm2022 → esm2020}/utils/mis-crystal-design-system-utils.mjs +0 -0
  512. /package/{esm2022 → esm2020}/virtual-scroll/index.mjs +0 -0
  513. /package/{esm2022 → esm2020}/virtual-scroll/mis-crystal-design-system-virtual-scroll.mjs +0 -0
  514. /package/{esm2022 → esm2020}/virtual-scroll/public_api.mjs +0 -0
  515. /package/{esm2022 → esm2020}/virtual-scroll/virtual-scroll.constants.mjs +0 -0
  516. /package/{esm2022 → esm2020}/widgets/classes/widget-group.mjs +0 -0
  517. /package/{esm2022 → esm2020}/widgets/index.mjs +0 -0
  518. /package/{esm2022 → esm2020}/widgets/interfaces/widgets.model.mjs +0 -0
  519. /package/{esm2022 → esm2020}/widgets/mis-crystal-design-system-widgets.mjs +0 -0
  520. /package/{esm2022 → esm2020}/widgets/public_api.mjs +0 -0
  521. /package/{fesm2022 → fesm2015}/mis-crystal-design-system-styles.mjs +0 -0
  522. /package/{fesm2022 → fesm2015}/mis-crystal-design-system-styles.mjs.map +0 -0
  523. /package/{fesm2022 → fesm2015}/mis-crystal-design-system-utils.mjs +0 -0
  524. /package/{fesm2022 → fesm2015}/mis-crystal-design-system-utils.mjs.map +0 -0
  525. /package/{fesm2022 → fesm2015}/mis-crystal-design-system.mjs +0 -0
  526. /package/{fesm2022 → fesm2015}/mis-crystal-design-system.mjs.map +0 -0
@@ -0,0 +1,236 @@
1
+ import { Component, Input, Output, EventEmitter } from "@angular/core";
2
+ import dayjs from 'dayjs';
3
+ import timezone from 'dayjs/plugin/timezone';
4
+ import utc from 'dayjs/plugin/utc';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "mis-crystal-design-system/timepicker";
8
+ function TimeRangePickerComponent_p_2_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelementStart(0, "p");
10
+ i0.ɵɵtext(1, "-");
11
+ i0.ɵɵelementEnd();
12
+ } }
13
+ const _c0 = function (a0, a1) { return { "flexDirection": a0, "gap": a1 }; };
14
+ dayjs.extend(utc);
15
+ dayjs.extend(timezone);
16
+ export class TimeRangePickerComponent {
17
+ constructor(cdr) {
18
+ this.cdr = cdr;
19
+ this.inputWidth = "100px";
20
+ this.height = "46px";
21
+ this.timezone = "Asia/Kolkata";
22
+ this.startDateEpoch = dayjs.tz(dayjs(), this.timezone).valueOf();
23
+ this.endDateEpoch = dayjs.tz(dayjs(), this.timezone).valueOf();
24
+ this.clockFormat = 12;
25
+ this.interval = 15;
26
+ this.showTooltip = true;
27
+ this.direction = 'row';
28
+ this.gap = '1rem';
29
+ this.disableStartTime = false;
30
+ this.disableEndTime = false;
31
+ this.timeRangeEmitter = new EventEmitter();
32
+ this.firstIntervalForStartPicker = dayjs().valueOf();
33
+ this.firstIntervalForEndPicker = dayjs().valueOf();
34
+ this.rangeValidity = true;
35
+ this.triggerChange = true;
36
+ }
37
+ ngOnInit() { }
38
+ ngOnChanges() {
39
+ this.timeFormat = this.clockFormat === 12 ? "hh:mm a" : "HH:mm";
40
+ this.startDate = dayjs.tz(this.startDateEpoch, this.timezone).format("DD-MM-YYYY");
41
+ this.endDate = dayjs.tz(this.endDateEpoch, this.timezone).format("DD-MM-YYYY");
42
+ this.currDate = dayjs.tz(dayjs(), this.timezone).format("DD-MM-YYYY");
43
+ this.setFirstIntervals();
44
+ }
45
+ // calculate the first interval of the picker
46
+ setFirstIntervals() {
47
+ const minutes = dayjs.tz(dayjs(), this.timezone).minute();
48
+ const offset = this.interval - (minutes % this.interval);
49
+ // start date, 22 MAY === current date, 22 MAY
50
+ if (this.startDate === this.currDate) {
51
+ const currentTime = dayjs.tz(dayjs(), this.timezone).valueOf();
52
+ // start date, 22 MAY === current date, 22 MAY === end date, 22 MAY
53
+ if (this.startDate === this.endDate) {
54
+ // current time is in last interval
55
+ if (currentTime >= dayjs.tz(this.startDateEpoch, this.timezone).endOf("d").subtract(this.interval, "m").valueOf()) {
56
+ this.firstIntervalForStartPicker = currentTime;
57
+ this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).endOf("d").valueOf();
58
+ }
59
+ // current time isn't in last interval
60
+ else {
61
+ this.firstIntervalForStartPicker = dayjs.tz(dayjs(), this.timezone).add(offset, "m").valueOf();
62
+ this.firstIntervalForEndPicker = dayjs.tz(dayjs(), this.timezone).add(offset, "m").add(this.interval, "m").valueOf();
63
+ }
64
+ }
65
+ // start date, 22 MAY === current date, 22 MAY !== end date, 30 MAY
66
+ else {
67
+ // current time is in last interval
68
+ if (currentTime >= dayjs.tz(this.startDateEpoch, this.timezone).endOf("d").subtract(this.interval, "m").valueOf()) {
69
+ this.firstIntervalForStartPicker = currentTime;
70
+ this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).endOf("d").valueOf();
71
+ }
72
+ // current time isn't in last interval
73
+ else {
74
+ this.firstIntervalForStartPicker = dayjs.tz(dayjs(), this.timezone).add(offset, "m").valueOf();
75
+ this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).valueOf();
76
+ }
77
+ }
78
+ }
79
+ // start date, 30 MAY !== current date, 22 MAY
80
+ else {
81
+ // start date === end Date
82
+ if (this.startDate === this.endDate) {
83
+ this.firstIntervalForStartPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf("d").valueOf();
84
+ this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).add(this.interval, "m").valueOf();
85
+ }
86
+ // start date !== end date
87
+ else {
88
+ this.firstIntervalForStartPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf("d").valueOf();
89
+ this.firstIntervalForEndPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf("d").valueOf();
90
+ }
91
+ }
92
+ if (this.givenStartTime)
93
+ this.firstIntervalForStartPicker = this.givenStartTime;
94
+ if (this.givenEndTime)
95
+ this.firstIntervalForEndPicker = this.givenEndTime;
96
+ this.startTime = {
97
+ valid: true,
98
+ time: dayjs.tz(this.firstIntervalForStartPicker, this.timezone).format(this.timeFormat),
99
+ epoch: dayjs.tz(this.firstIntervalForStartPicker, this.timezone).valueOf()
100
+ };
101
+ this.endTime = {
102
+ valid: true,
103
+ time: dayjs.tz(this.firstIntervalForEndPicker, this.timezone).format(this.timeFormat),
104
+ epoch: dayjs.tz(this.firstIntervalForEndPicker, this.timezone).valueOf()
105
+ };
106
+ }
107
+ emitTimeRange(data) {
108
+ this.timeRangeEmitter.emit(data);
109
+ }
110
+ //handlers catch the emitted values and run validation
111
+ startPickerHandler(time) {
112
+ this.startTime = time;
113
+ this.rangeValidity = true;
114
+ // if the start time changes and the start date is the same as the end date
115
+ // and the start time >= end time
116
+ // update the first interval of end picker according to the time set in start picker
117
+ if (this.startDate === this.endDate) {
118
+ let minutes = dayjs.tz(this.startTime.time, this.timeFormat, this.timezone).minute();
119
+ let offset = this.interval - (minutes % this.interval);
120
+ this.firstIntervalForEndPicker = dayjs.tz(`${this.startDate} ${this.startTime.time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone)
121
+ .add(offset, "m")
122
+ .valueOf();
123
+ // if the first interval == 12:00am, set it as 11:59pm
124
+ const intervalAsString = dayjs.tz(this.firstIntervalForEndPicker, this.timezone).format(this.timeFormat);
125
+ const endOfDayAsString = dayjs.tz(`${this.startDate}`, `DD-MM-YYYY`, this.timezone).endOf("d").add(1, "m").format(this.timeFormat);
126
+ if (intervalAsString === endOfDayAsString) {
127
+ this.firstIntervalForEndPicker = dayjs.tz(`${this.startDate} ${this.startTime.time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone).endOf("d").valueOf();
128
+ }
129
+ }
130
+ else {
131
+ const validity = this.checkTimeValidity(this.startTime.time.trim(), this.startDateEpoch) &&
132
+ this.checkTimeValidity(this.endTime.time.trim(), this.endDateEpoch);
133
+ this.rangeValidation(validity);
134
+ this.emitTimeRange({
135
+ valid: validity && this.rangeValidity,
136
+ startTime: this.startTime.time,
137
+ endTime: this.endTime.time,
138
+ startEpoch: dayjs.tz(`${this.startDate} ${this.startTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf(),
139
+ endEpoch: dayjs.tz(`${this.endDate} ${this.endTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf()
140
+ });
141
+ }
142
+ this.triggerChange = !this.triggerChange;
143
+ }
144
+ endPickerHandler(time) {
145
+ this.endTime = time;
146
+ const validity = this.checkTimeValidity(this.startTime.time.trim(), this.startDateEpoch) && this.checkTimeValidity(this.endTime.time.trim(), this.endDateEpoch);
147
+ this.rangeValidation(validity);
148
+ this.emitTimeRange({
149
+ valid: validity && this.rangeValidity,
150
+ startTime: this.startTime.time,
151
+ endTime: this.endTime.time,
152
+ startEpoch: dayjs.tz(`${this.startDate} ${this.startTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf(),
153
+ endEpoch: dayjs.tz(`${this.endDate} ${this.endTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf()
154
+ });
155
+ }
156
+ checkTimeValidity(time, date) {
157
+ const RE12 = /^(([0][1-9]|1[0-2]):([0-5][0-9])( )?(am|pm|AM|PM))$/i;
158
+ const RE24 = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;
159
+ const RE = this.clockFormat === 12 ? RE12 : RE24;
160
+ const timedayjs = dayjs.tz(`${dayjs.tz(date, this.timezone).format("DD-MM-YYYY")} ${time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone);
161
+ let flag = false;
162
+ // if the first interval is set to the start of the day
163
+ // then we don't check its validity against the current time
164
+ if ((this.givenStartTime && this.givenEndTime) || (this.startDate !== this.endDate && this.startDate !== this.currDate)) {
165
+ flag = time.match(RE) ? true : false;
166
+ }
167
+ else {
168
+ flag = time.match(RE) && timedayjs.diff(dayjs.tz(dayjs(), this.timezone), "m") >= 0 ? true : false;
169
+ }
170
+ return flag;
171
+ }
172
+ // validates end picker's input according to the start picker's input
173
+ rangeValidation(validity) {
174
+ if (validity && this.startDate === this.endDate) {
175
+ const startdayjs = dayjs.tz(this.startTime.time, this.timeFormat, this.timezone);
176
+ const enddayjs = dayjs.tz(this.endTime.time, this.timeFormat, this.timezone);
177
+ this.rangeValidity = enddayjs.diff(startdayjs, "m") >= 1 ? true : false;
178
+ this.cdr.detectChanges();
179
+ }
180
+ }
181
+ }
182
+ TimeRangePickerComponent.ɵfac = function TimeRangePickerComponent_Factory(t) { return new (t || TimeRangePickerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
183
+ TimeRangePickerComponent.ɵ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", disableStartTime: "disableStartTime", disableEndTime: "disableEndTime" }, outputs: { timeRangeEmitter: "timeRangeEmitter" }, features: [i0.ɵɵNgOnChangesFeature], decls: 4, vars: 29, consts: [[1, "rangepicker-container", 3, "ngStyle"], [3, "clockFormat", "interval", "dateAsEpoch", "firstInterval", "timezone", "height", "inputWidth", "dropdownWidth", "showTooltip", "givenTime", "disable", "timeEmitter"], [4, "ngIf"], [3, "clockFormat", "interval", "dateAsEpoch", "firstInterval", "rangeValidity", "timezone", "height", "inputWidth", "dropdownWidth", "showTooltip", "givenTime", "triggerChange", "disable", "timeEmitter"]], template: function TimeRangePickerComponent_Template(rf, ctx) { if (rf & 1) {
184
+ i0.ɵɵelementStart(0, "div", 0)(1, "mis-timepicker", 1);
185
+ i0.ɵɵlistener("timeEmitter", function TimeRangePickerComponent_Template_mis_timepicker_timeEmitter_1_listener($event) { return ctx.startPickerHandler($event); });
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵtemplate(2, TimeRangePickerComponent_p_2_Template, 2, 0, "p", 2);
188
+ i0.ɵɵelementStart(3, "mis-timepicker", 3);
189
+ i0.ɵɵlistener("timeEmitter", function TimeRangePickerComponent_Template_mis_timepicker_timeEmitter_3_listener($event) { return ctx.endPickerHandler($event); });
190
+ i0.ɵɵelementEnd()();
191
+ } if (rf & 2) {
192
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(26, _c0, ctx.direction, ctx.gap));
193
+ i0.ɵɵadvance(1);
194
+ 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)("disable", ctx.disableStartTime);
195
+ i0.ɵɵadvance(1);
196
+ i0.ɵɵproperty("ngIf", ctx.direction === "row");
197
+ i0.ɵɵadvance(1);
198
+ 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)("disable", ctx.disableEndTime);
199
+ } }, 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}"] });
200
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeRangePickerComponent, [{
201
+ type: Component,
202
+ 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 [disable]=\"disableStartTime\"\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 [disable]=\"disableEndTime\"\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"] }]
203
+ }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { inputWidth: [{
204
+ type: Input
205
+ }], dropdownWidth: [{
206
+ type: Input
207
+ }], height: [{
208
+ type: Input
209
+ }], timezone: [{
210
+ type: Input
211
+ }], startDateEpoch: [{
212
+ type: Input
213
+ }], endDateEpoch: [{
214
+ type: Input
215
+ }], givenStartTime: [{
216
+ type: Input
217
+ }], givenEndTime: [{
218
+ type: Input
219
+ }], clockFormat: [{
220
+ type: Input
221
+ }], interval: [{
222
+ type: Input
223
+ }], showTooltip: [{
224
+ type: Input
225
+ }], direction: [{
226
+ type: Input
227
+ }], gap: [{
228
+ type: Input
229
+ }], disableStartTime: [{
230
+ type: Input
231
+ }], disableEndTime: [{
232
+ type: Input
233
+ }], timeRangeEmitter: [{
234
+ type: Output
235
+ }] }); })();
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RpbWVyYW5nZXBpY2tlci90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGltZXJhbmdlcGlja2VyL3RpbWVyYW5nZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0lDV2pDLHlCQUErQjtJQUFBLGlCQUFDO0lBQUEsaUJBQUk7OztBRFR0QyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFNdkIsTUFBTSxPQUFPLHdCQUF3QjtJQTZCbkMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE1QmpDLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFFN0IsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUN4QixhQUFRLEdBQVcsY0FBYyxDQUFDO1FBQ2xDLG1CQUFjLEdBQVcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEUsaUJBQVksR0FBVyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUdsRSxn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QVc7a0JBQW5CLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0ksZ0JBQWdCO2tCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElUaW1lUmFuZ2UsIElUaW1lLCBURGlyZWN0aW9uIH0gZnJvbSBcIi4vdGltZXJhbmdlLm5hbWVzcGFjZVwiO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcblxuZGF5anMuZXh0ZW5kKHV0Yyk7XG5kYXlqcy5leHRlbmQodGltZXpvbmUpO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10aW1lcmFuZ2VwaWNrZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RpbWVyYW5nZXBpY2tlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBpbnB1dFdpZHRoOiBzdHJpbmcgPSBcIjEwMHB4XCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCI0NnB4XCI7XG4gIEBJbnB1dCgpIHRpbWV6b25lOiBzdHJpbmcgPSBcIkFzaWEvS29sa2F0YVwiO1xuICBASW5wdXQoKSBzdGFydERhdGVFcG9jaDogbnVtYmVyID0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkudmFsdWVPZigpO1xuICBASW5wdXQoKSBlbmREYXRlRXBvY2g6IG51bWJlciA9IGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLnZhbHVlT2YoKTtcbiAgQElucHV0KCkgZ2l2ZW5TdGFydFRpbWU6IG51bWJlcjtcbiAgQElucHV0KCkgZ2l2ZW5FbmRUaW1lOiBudW1iZXI7XG4gIEBJbnB1dCgpIGNsb2NrRm9ybWF0OiBudW1iZXIgPSAxMjtcbiAgQElucHV0KCkgaW50ZXJ2YWw6IG51bWJlciA9IDE1O1xuICBASW5wdXQoKSBzaG93VG9vbHRpcDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogVERpcmVjdGlvbiA9ICdyb3cnO1xuICBASW5wdXQoKSBnYXA6IHN0cmluZyA9ICcxcmVtJztcbiAgQElucHV0KCkgZGlzYWJsZVN0YXJ0VGltZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlRW5kVGltZTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdGltZVJhbmdlRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SVRpbWVSYW5nZT4oKTtcblxuICBzdGFydERhdGUhOiBzdHJpbmc7XG4gIGVuZERhdGUhOiBzdHJpbmc7XG4gIGN1cnJEYXRlITogc3RyaW5nO1xuICB0aW1lRm9ybWF0ITogc3RyaW5nO1xuICBmaXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXI6IG51bWJlciA9IGRheWpzKCkudmFsdWVPZigpO1xuICBmaXJzdEludGVydmFsRm9yRW5kUGlja2VyOiBudW1iZXIgPSBkYXlqcygpLnZhbHVlT2YoKTtcbiAgc3RhcnRUaW1lITogSVRpbWU7XG4gIGVuZFRpbWUhOiBJVGltZTtcbiAgcmFuZ2VWYWxpZGl0eTogYm9vbGVhbiA9IHRydWU7XG4gIHRyaWdnZXJDaGFuZ2U6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy50aW1lRm9ybWF0ID0gdGhpcy5jbG9ja0Zvcm1hdCA9PT0gMTIgPyBcImhoOm1tIGFcIiA6IFwiSEg6bW1cIjtcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IGRheWpzLnR6KHRoaXMuc3RhcnREYXRlRXBvY2gsIHRoaXMudGltZXpvbmUpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XG4gICAgdGhpcy5lbmREYXRlID0gZGF5anMudHoodGhpcy5lbmREYXRlRXBvY2gsIHRoaXMudGltZXpvbmUpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XG4gICAgdGhpcy5jdXJyRGF0ZSA9IGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XG4gICAgdGhpcy5zZXRGaXJzdEludGVydmFscygpO1xuICB9XG5cbiAgLy8gY2FsY3VsYXRlIHRoZSBmaXJzdCBpbnRlcnZhbCBvZiB0aGUgcGlja2VyXG4gIHNldEZpcnN0SW50ZXJ2YWxzKCk6IHZvaWQge1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBkYXlqcy50eihkYXlqcygpLCB0aGlzLnRpbWV6b25lKS5taW51dGUoKTtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmludGVydmFsIC0gKG1pbnV0ZXMgJSB0aGlzLmludGVydmFsKTtcblxuICAgIC8vIHN0YXJ0IGRhdGUsIDIyIE1BWSA9PT0gIGN1cnJlbnQgZGF0ZSwgMjIgTUFZXG4gICAgaWYoIHRoaXMuc3RhcnREYXRlID09PSB0aGlzLmN1cnJEYXRlICl7XG4gICAgICBjb25zdCBjdXJyZW50VGltZSA9IGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLnZhbHVlT2YoKTtcblxuICAgICAgLy8gc3RhcnQgZGF0ZSwgMjIgTUFZICA9PT0gY3VycmVudCBkYXRlLCAyMiBNQVkgPT09IGVuZCBkYXRlLCAyMiBNQVlcbiAgICAgIGlmKHRoaXMuc3RhcnREYXRlID09PSB0aGlzLmVuZERhdGUpe1xuXG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGlmKGN1cnJlbnRUaW1lID49IGRheWpzLnR6KHRoaXMuc3RhcnREYXRlRXBvY2gsIHRoaXMudGltZXpvbmUpLmVuZE9mKFwiZFwiKS5zdWJ0cmFjdCh0aGlzLmludGVydmFsLFwibVwiKS52YWx1ZU9mKCkpe1xuICAgICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gY3VycmVudFRpbWU7XG4gICAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyID0gIGRheWpzLnR6KHRoaXMuZW5kRGF0ZUVwb2NoLCB0aGlzLnRpbWV6b25lKS5lbmRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpc24ndCBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuYWRkKG9mZnNldCwgXCJtXCIpLmFkZCh0aGlzLmludGVydmFsLCBcIm1cIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICB9IFxuICAgICAgLy8gc3RhcnQgZGF0ZSwgMjIgTUFZID09PSBjdXJyZW50IGRhdGUsIDIyIE1BWSAhPT0gZW5kIGRhdGUsIDMwIE1BWVxuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGlmKGN1cnJlbnRUaW1lID49IGRheWpzLnR6KHRoaXMuc3RhcnREYXRlRXBvY2gsIHRoaXMudGltZXpvbmUpLmVuZE9mKFwiZFwiKS5zdWJ0cmFjdCh0aGlzLmludGVydmFsLFwibVwiKS52YWx1ZU9mKCkpe1xuICAgICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gY3VycmVudFRpbWU7XG4gICAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyID0gIGRheWpzLnR6KHRoaXMuZW5kRGF0ZUVwb2NoLCB0aGlzLnRpbWV6b25lKS5lbmRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGN1cnJlbnQgdGltZSBpc24ndCBpbiBsYXN0IGludGVydmFsXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgZGF5anMudHoodGhpcy5lbmREYXRlRXBvY2gsIHRoaXMudGltZXpvbmUpLnZhbHVlT2YoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBzdGFydCBkYXRlLCAzMCBNQVkgIT09IGN1cnJlbnQgZGF0ZSwgMjIgTUFZXG4gICAgZWxzZSB7XG4gICAgICAvLyBzdGFydCBkYXRlID09PSBlbmQgRGF0ZVxuICAgICAgaWYodGhpcy5zdGFydERhdGUgPT09IHRoaXMuZW5kRGF0ZSl7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gZGF5anMudHoodGhpcy5zdGFydERhdGVFcG9jaCwgdGhpcy50aW1lem9uZSkuc3RhcnRPZihcImRcIikudmFsdWVPZigpO1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIgPSAgZGF5anMudHoodGhpcy5lbmREYXRlRXBvY2gsIHRoaXMudGltZXpvbmUpLmFkZCh0aGlzLmludGVydmFsLCBcIm1cIikudmFsdWVPZigpO1xuICAgICAgfSBcbiAgICAgIC8vIHN0YXJ0IGRhdGUgIT09IGVuZCBkYXRlXG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIgPSBkYXlqcy50eih0aGlzLnN0YXJ0RGF0ZUVwb2NoLCB0aGlzLnRpbWV6b25lKS5zdGFydE9mKFwiZFwiKS52YWx1ZU9mKCk7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlciA9ICBkYXlqcy50eih0aGlzLnN0YXJ0RGF0ZUVwb2NoLCB0aGlzLnRpbWV6b25lKS5zdGFydE9mKFwiZFwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYodGhpcy5naXZlblN0YXJ0VGltZSlcbiAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyID0gdGhpcy5naXZlblN0YXJ0VGltZTtcbiAgIFxuICAgIGlmKHRoaXMuZ2l2ZW5FbmRUaW1lKVxuICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyID0gdGhpcy5naXZlbkVuZFRpbWU7XG4gICAgICBcbiAgICB0aGlzLnN0YXJ0VGltZSA9IHtcbiAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgdGltZTogZGF5anMudHoodGhpcy5maXJzdEludGVydmFsRm9yU3RhcnRQaWNrZXIsIHRoaXMudGltZXpvbmUpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpLFxuICAgICAgZXBvY2g6IGRheWpzLnR6KHRoaXMuZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyLCB0aGlzLnRpbWV6b25lKS52YWx1ZU9mKClcbiAgICB9O1xuXG4gICAgdGhpcy5lbmRUaW1lID0ge1xuICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICB0aW1lOiBkYXlqcy50eih0aGlzLmZpcnN0SW50ZXJ2YWxGb3JFbmRQaWNrZXIsIHRoaXMudGltZXpvbmUpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpLFxuICAgICAgZXBvY2g6IGRheWpzLnR6KHRoaXMuZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlciwgdGhpcy50aW1lem9uZSkudmFsdWVPZigpXG4gICAgfTtcbiAgfVxuXG4gIGVtaXRUaW1lUmFuZ2UoZGF0YTogSVRpbWVSYW5nZSk6IHZvaWQge1xuICAgIHRoaXMudGltZVJhbmdlRW1pdHRlci5lbWl0KGRhdGEpO1xuICB9XG5cbiAgLy9oYW5kbGVycyBjYXRjaCB0aGUgZW1pdHRlZCB2YWx1ZXMgYW5kIHJ1biB2YWxpZGF0aW9uXG4gIHN0YXJ0UGlja2VySGFuZGxlcih0aW1lOiBJVGltZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRUaW1lID0gdGltZTtcbiAgICB0aGlzLnJhbmdlVmFsaWRpdHkgPSB0cnVlO1xuICAgIC8vIGlmIHRoZSBzdGFydCB0aW1lIGNoYW5nZXMgYW5kIHRoZSBzdGFydCBkYXRlIGlzIHRoZSBzYW1lIGFzIHRoZSBlbmQgZGF0ZVxuICAgIC8vIGFuZCB0aGUgc3RhcnQgdGltZSA+PSAgZW5kIHRpbWVcbiAgICAvLyB1cGRhdGUgdGhlIGZpcnN0IGludGVydmFsIG9mIGVuZCBwaWNrZXIgYWNjb3JkaW5nIHRvIHRoZSB0aW1lIHNldCBpbiBzdGFydCBwaWNrZXJcbiAgICBpZiAodGhpcy5zdGFydERhdGUgPT09IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgbGV0IG1pbnV0ZXMgPSBkYXlqcy50eih0aGlzLnN0YXJ0VGltZS50aW1lLCB0aGlzLnRpbWVGb3JtYXQsIHRoaXMudGltZXpvbmUpLm1pbnV0ZSgpO1xuICAgICAgbGV0IG9mZnNldCA9IHRoaXMuaW50ZXJ2YWwgLSAobWludXRlcyAlIHRoaXMuaW50ZXJ2YWwpO1xuICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyID0gZGF5anMudHooYCR7dGhpcy5zdGFydERhdGV9ICR7dGhpcy5zdGFydFRpbWUudGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWAsIHRoaXMudGltZXpvbmUpXG4gICAgICAgIC5hZGQob2Zmc2V0LCBcIm1cIilcbiAgICAgICAgLnZhbHVlT2YoKTtcblxuICAgICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsID09IDEyOjAwYW0sIHNldCBpdCBhcyAxMTo1OXBtXG4gICAgICBjb25zdCBpbnRlcnZhbEFzU3RyaW5nID0gZGF5anMudHoodGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyLCB0aGlzLnRpbWV6b25lKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgIGNvbnN0IGVuZE9mRGF5QXNTdHJpbmcgPSBkYXlqcy50eihgJHt0aGlzLnN0YXJ0RGF0ZX1gLCBgREQtTU0tWVlZWWAsIHRoaXMudGltZXpvbmUpLmVuZE9mKFwiZFwiKS5hZGQoMSwgXCJtXCIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgaWYgKGludGVydmFsQXNTdHJpbmcgPT09IGVuZE9mRGF5QXNTdHJpbmcpIHtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsRm9yRW5kUGlja2VyID0gZGF5anMudHooYCR7dGhpcy5zdGFydERhdGV9ICR7dGhpcy5zdGFydFRpbWUudGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWAsIHRoaXMudGltZXpvbmUpLmVuZE9mKFwiZFwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWxpZGl0eSA9XG4gICAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5zdGFydFRpbWUudGltZS50cmltKCksIHRoaXMuc3RhcnREYXRlRXBvY2gpICYmXG4gICAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5lbmRUaW1lLnRpbWUudHJpbSgpLCB0aGlzLmVuZERhdGVFcG9jaCk7XG5cbiAgICAgICAgdGhpcy5yYW5nZVZhbGlkYXRpb24odmFsaWRpdHkpO1xuICAgICAgICB0aGlzLmVtaXRUaW1lUmFuZ2Uoe1xuICAgICAgICAgIHZhbGlkOiB2YWxpZGl0eSAmJiB0aGlzLnJhbmdlVmFsaWRpdHksXG4gICAgICAgICAgc3RhcnRUaW1lOiB0aGlzLnN0YXJ0VGltZS50aW1lLFxuICAgICAgICAgIGVuZFRpbWU6IHRoaXMuZW5kVGltZS50aW1lLFxuICAgICAgICAgIHN0YXJ0RXBvY2g6IGRheWpzLnR6KGAke3RoaXMuc3RhcnREYXRlfSAke3RoaXMuc3RhcnRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCwgdGhpcy50aW1lem9uZSkudmFsdWVPZigpLFxuICAgICAgICAgIGVuZEVwb2NoOiBkYXlqcy50eihgJHt0aGlzLmVuZERhdGV9ICR7dGhpcy5lbmRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCwgdGhpcy50aW1lem9uZSkudmFsdWVPZigpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudHJpZ2dlckNoYW5nZSA9ICF0aGlzLnRyaWdnZXJDaGFuZ2U7XG4gIH1cblxuICBlbmRQaWNrZXJIYW5kbGVyKHRpbWU6IElUaW1lKTogdm9pZCB7XG4gICAgdGhpcy5lbmRUaW1lID0gdGltZTtcblxuICAgIGNvbnN0IHZhbGlkaXR5ID1cbiAgICAgIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5zdGFydFRpbWUudGltZS50cmltKCksIHRoaXMuc3RhcnREYXRlRXBvY2gpICYmIHRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5lbmRUaW1lLnRpbWUudHJpbSgpLCB0aGlzLmVuZERhdGVFcG9jaCk7XG5cbiAgICB0aGlzLnJhbmdlVmFsaWRhdGlvbih2YWxpZGl0eSk7XG4gICAgdGhpcy5lbWl0VGltZVJhbmdlKHtcbiAgICAgIHZhbGlkOiB2YWxpZGl0eSAmJiB0aGlzLnJhbmdlVmFsaWRpdHksXG4gICAgICBzdGFydFRpbWU6IHRoaXMuc3RhcnRUaW1lLnRpbWUsXG4gICAgICBlbmRUaW1lOiB0aGlzLmVuZFRpbWUudGltZSxcbiAgICAgIHN0YXJ0RXBvY2g6IGRheWpzLnR6KGAke3RoaXMuc3RhcnREYXRlfSAke3RoaXMuc3RhcnRUaW1lLnRpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCwgdGhpcy50aW1lem9uZSkudmFsdWVPZigpLFxuICAgICAgZW5kRXBvY2g6IGRheWpzLnR6KGAke3RoaXMuZW5kRGF0ZX0gJHt0aGlzLmVuZFRpbWUudGltZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gLCB0aGlzLnRpbWV6b25lKS52YWx1ZU9mKClcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrVGltZVZhbGlkaXR5KHRpbWU6IHN0cmluZywgZGF0ZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgUkUxMiA9IC9eKChbMF1bMS05XXwxWzAtMl0pOihbMC01XVswLTldKSggKT8oYW18cG18QU18UE0pKSQvaTtcbiAgICBjb25zdCBSRTI0ID0gL14oWzAxXVswLTldfDJbMC0zXSk6WzAtNV1bMC05XSQvO1xuICAgIGNvbnN0IFJFID0gdGhpcy5jbG9ja0Zvcm1hdCA9PT0gMTIgPyBSRTEyIDogUkUyNDtcblxuICAgIGNvbnN0IHRpbWVkYXlqcyA9IGRheWpzLnR6KGAke2RheWpzLnR6KGRhdGUsIHRoaXMudGltZXpvbmUpLmZvcm1hdChcIkRELU1NLVlZWVlcIil9ICR7dGltZX1gLCBgJ0RELU1NLVlZWVknICR7dGhpcy50aW1lRm9ybWF0fWAsIHRoaXMudGltZXpvbmUpO1xuICAgIGxldCBmbGFnOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBpZiB0aGUgZmlyc3QgaW50ZXJ2YWwgaXMgc2V0IHRvIHRoZSBzdGFydCBvZiB0aGUgZGF5XG4gICAgLy8gdGhlbiB3ZSBkb24ndCBjaGVjayBpdHMgdmFsaWRpdHkgYWdhaW5zdCB0aGUgY3VycmVudCB0aW1lXG4gICAgaWYgKCh0aGlzLmdpdmVuU3RhcnRUaW1lICYmIHRoaXMuZ2l2ZW5FbmRUaW1lKSB8fCAodGhpcy5zdGFydERhdGUgIT09IHRoaXMuZW5kRGF0ZSAmJiB0aGlzLnN0YXJ0RGF0ZSAhPT0gdGhpcy5jdXJyRGF0ZSkpIHtcbiAgICAgIGZsYWcgPSB0aW1lLm1hdGNoKFJFKSA/IHRydWUgOiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmxhZyA9IHRpbWUubWF0Y2goUkUpICYmIHRpbWVkYXlqcy5kaWZmKGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLCBcIm1cIikgPj0gMCA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmxhZztcbiAgfVxuXG4gIC8vIHZhbGlkYXRlcyBlbmQgcGlja2VyJ3MgaW5wdXQgYWNjb3JkaW5nIHRvIHRoZSBzdGFydCBwaWNrZXIncyBpbnB1dFxuICByYW5nZVZhbGlkYXRpb24odmFsaWRpdHk6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsaWRpdHkgJiYgdGhpcy5zdGFydERhdGUgPT09IHRoaXMuZW5kRGF0ZSkge1xuICAgICAgY29uc3Qgc3RhcnRkYXlqcyA9IGRheWpzLnR6KHRoaXMuc3RhcnRUaW1lLnRpbWUsIHRoaXMudGltZUZvcm1hdCwgdGhpcy50aW1lem9uZSk7XG4gICAgICBjb25zdCBlbmRkYXlqcyA9IGRheWpzLnR6KHRoaXMuZW5kVGltZS50aW1lLCB0aGlzLnRpbWVGb3JtYXQsIHRoaXMudGltZXpvbmUpO1xuICAgICAgdGhpcy5yYW5nZVZhbGlkaXR5ID0gZW5kZGF5anMuZGlmZihzdGFydGRheWpzLCBcIm1cIikgPj0gMSA/IHRydWUgOiBmYWxzZTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cInJhbmdlcGlja2VyLWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cInsnZmxleERpcmVjdGlvbic6IGRpcmVjdGlvbiwgJ2dhcCc6IGdhcH1cIj5cbiAgPG1pcy10aW1lcGlja2VyXG4gICAgW2Nsb2NrRm9ybWF0XT1cImNsb2NrRm9ybWF0XCJcbiAgICBbaW50ZXJ2YWxdPVwiaW50ZXJ2YWxcIlxuICAgIFtkYXRlQXNFcG9jaF09XCJzdGFydERhdGVFcG9jaFwiXG4gICAgW2ZpcnN0SW50ZXJ2YWxdPVwiZmlyc3RJbnRlcnZhbEZvclN0YXJ0UGlja2VyXCJcbiAgICAodGltZUVtaXR0ZXIpPVwic3RhcnRQaWNrZXJIYW5kbGVyKCRldmVudClcIlxuICAgIFt0aW1lem9uZV09XCJ0aW1lem9uZVwiXG4gICAgW2hlaWdodF09XCJoZWlnaHRcIlxuICAgIFtpbnB1dFdpZHRoXT1cImlucHV0V2lkdGhcIlxuICAgIFtkcm9wZG93bldpZHRoXT1cImRyb3Bkb3duV2lkdGhcIlxuICAgIFtzaG93VG9vbHRpcF09XCJzaG93VG9vbHRpcFwiXG4gICAgW2dpdmVuVGltZV09XCJnaXZlblN0YXJ0VGltZVwiXG4gICAgW2Rpc2FibGVdPVwiZGlzYWJsZVN0YXJ0VGltZVwiXG4gID48L21pcy10aW1lcGlja2VyPlxuICA8cCAqbmdJZj1cImRpcmVjdGlvbiA9PT0gJ3JvdydcIj4tPC9wPlxuICA8bWlzLXRpbWVwaWNrZXJcbiAgICBbY2xvY2tGb3JtYXRdPVwiY2xvY2tGb3JtYXRcIlxuICAgIFtpbnRlcnZhbF09XCJpbnRlcnZhbFwiXG4gICAgW2RhdGVBc0Vwb2NoXT1cImVuZERhdGVFcG9jaFwiXG4gICAgW2ZpcnN0SW50ZXJ2YWxdPVwiZmlyc3RJbnRlcnZhbEZvckVuZFBpY2tlclwiXG4gICAgKHRpbWVFbWl0dGVyKT1cImVuZFBpY2tlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgW3JhbmdlVmFsaWRpdHldPVwicmFuZ2VWYWxpZGl0eVwiXG4gICAgW3RpbWV6b25lXT1cInRpbWV6b25lXCJcbiAgICBbaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgW2lucHV0V2lkdGhdPVwiaW5wdXRXaWR0aFwiXG4gICAgW2Ryb3Bkb3duV2lkdGhdPVwiZHJvcGRvd25XaWR0aFwiXG4gICAgW3Nob3dUb29sdGlwXT1cInNob3dUb29sdGlwXCJcbiAgICBbZ2l2ZW5UaW1lXT1cImdpdmVuRW5kVGltZVwiXG4gICAgW3RyaWdnZXJDaGFuZ2VdPVwidHJpZ2dlckNoYW5nZVwiXG4gICAgW2Rpc2FibGVdPVwiZGlzYWJsZUVuZFRpbWVcIlxuICA+PC9taXMtdGltZXBpY2tlcj5cbjwvZGl2PlxuIl19
@@ -8,11 +8,11 @@ export class TimeRangePickerModule {
8
8
  static forRoot() {
9
9
  return { ngModule: TimeRangePickerModule, providers: [] };
10
10
  }
11
- static { this.ɵfac = function TimeRangePickerModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TimeRangePickerModule)(); }; }
12
- static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TimeRangePickerModule }); }
13
- static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, TimePickerModule] }); }
14
11
  }
15
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeRangePickerModule, [{
12
+ TimeRangePickerModule.ɵfac = function TimeRangePickerModule_Factory(t) { return new (t || TimeRangePickerModule)(); };
13
+ TimeRangePickerModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TimeRangePickerModule });
14
+ TimeRangePickerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, TimePickerModule] });
15
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeRangePickerModule, [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [TimeRangePickerComponent],
@@ -21,4 +21,4 @@ export class TimeRangePickerModule {
21
21
  }]
22
22
  }], null, null); })();
23
23
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TimeRangePickerModule, { declarations: [TimeRangePickerComponent], imports: [CommonModule, FormsModule, TimePickerModule], exports: [TimeRangePickerComponent] }); })();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJhbmdlcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RpbWVyYW5nZXBpY2tlci90aW1lcmFuZ2VwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBT3hFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUM1RCxDQUFDO3NIQUhVLHFCQUFxQjttRUFBckIscUJBQXFCO3VFQUh0QixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQjs7aUZBRzFDLHFCQUFxQjtjQUxqQyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUM7Z0JBQ3RELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQ3BDOzt3RkFDWSxxQkFBcUIsbUJBSmpCLHdCQUF3QixhQUM3QixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixhQUMzQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdGltZXBpY2tlclwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgVGltZVBpY2tlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVSYW5nZVBpY2tlck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGltZVJhbmdlUGlja2VyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IFRpbWVSYW5nZVBpY2tlck1vZHVsZSwgcHJvdmlkZXJzOiBbXSB9O1xuICB9XG59Il19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJhbmdlcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RpbWVyYW5nZXBpY2tlci90aW1lcmFuZ2VwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBT3hFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUM1RCxDQUFDOzswRkFIVSxxQkFBcUI7dUVBQXJCLHFCQUFxQjsyRUFIdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0I7dUZBRzFDLHFCQUFxQjtjQUxqQyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUM7Z0JBQ3RELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQ3BDOzt3RkFDWSxxQkFBcUIsbUJBSmpCLHdCQUF3QixhQUM3QixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixhQUMzQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi90aW1lcmFuZ2VwaWNrZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdGltZXBpY2tlclwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgVGltZVBpY2tlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVSYW5nZVBpY2tlck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGltZVJhbmdlUGlja2VyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IFRpbWVSYW5nZVBpY2tlck1vZHVsZSwgcHJvdmlkZXJzOiBbXSB9O1xuICB9XG59Il19
@@ -0,0 +1,50 @@
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
+ }
21
+ ToastComponent.ɵfac = function ToastComponent_Factory(t) { return new (t || ToastComponent)(i0.ɵɵdirectiveInject(i1.ToastDataService)); };
22
+ ToastComponent.ɵ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) {
23
+ i0.ɵɵelementStart(0, "div", 0);
24
+ i0.ɵɵtemplate(1, ToastComponent_div_1_Template, 4, 2, "div", 1);
25
+ i0.ɵɵelementEnd();
26
+ } if (rf & 2) {
27
+ i0.ɵɵadvance(1);
28
+ i0.ɵɵproperty("ngForOf", ctx.data.messages);
29
+ } }, 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: [
30
+ trigger("fadeInOut", [
31
+ transition(":enter", [
32
+ style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
33
+ animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
34
+ ]),
35
+ transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
36
+ ])
37
+ ] } });
38
+ (function () { (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
+ }], function () { return [{ type: i1.ToastDataService }]; }, null); })();
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0lDQXhDLDJCQUFrRCxhQUFBLGFBQUE7SUFFN0IsWUFBUztJQUFBLGlCQUFNLEVBQUEsRUFBQTs7O0lBRkcsc0NBQVU7SUFFNUIsZUFBUztJQUFULDRCQUFTOztBRGVoQyxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFtQixJQUFzQjtRQUF0QixTQUFJLEdBQUosSUFBSSxDQUFrQjtJQUFHLENBQUM7OzRFQURsQyxjQUFjO2lFQUFkLGNBQWM7UUNsQjNCLDhCQUE2QjtRQUMzQiwrREFJTTtRQUNSLGlCQUFNOztRQUxpQixlQUFnQjtRQUFoQiwyQ0FBZ0I7bXpCRE96QjtZQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7Z0JBQ25CLFVBQVUsQ0FBQyxRQUFRLEVBQUU7b0JBQ25CLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztvQkFDbkUsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQzNGLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4RyxDQUFDO1NBQ0g7dUZBRVUsY0FBYztjQWQxQixTQUFTOzJCQUNFLGlCQUFpQixjQUdmO29CQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7d0JBQ25CLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ25CLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQzs0QkFDbkUsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7eUJBQzNGLENBQUM7d0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDeEcsQ0FBQztpQkFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUb2FzdERhdGFTZXJ2aWNlIH0gZnJvbSBcIi4vdG9hc3QuZGF0YS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdGVhbXMtdG9hc3RcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90b2FzdC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdG9hc3QuY29tcG9uZW50LnNjc3NcIl0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwiZmFkZUluT3V0XCIsIFtcbiAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXJcIiwgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IFwiMFwiLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgtNTAlKVwiLCBoZWlnaHQ6IFwiMFwiIH0pLFxuICAgICAgICBhbmltYXRlKFwiMzAwbXMgZWFzZS1pblwiLCBzdHlsZSh7IG9wYWNpdHk6IFwiMVwiLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgwKVwiLCBoZWlnaHQ6IFwiKlwiIH0pKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKFwiOmxlYXZlXCIsIFthbmltYXRlKFwiMzAwbXMgZWFzZS1pblwiLCBzdHlsZSh7IG9wYWNpdHk6IFwiMFwiLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSg1MCUpXCIgfSkpXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGE6IFRvYXN0RGF0YVNlcnZpY2UpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG9hc3QtY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IG1zZyBvZiBkYXRhLm1lc3NhZ2VzXCIgQGZhZGVJbk91dD5cbiAgICA8ZGl2IGNsYXNzPVwidG9hc3Qtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1zZ1wiPnt7IG1zZyB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,12 +1,12 @@
1
1
  import { Injectable } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class ToastDataService {
4
- get messages() {
5
- return Array.from(this.messageMap.values()).reverse();
6
- }
7
4
  constructor() {
8
5
  this.messageMap = new Map();
9
6
  }
7
+ get messages() {
8
+ return Array.from(this.messageMap.values()).reverse();
9
+ }
10
10
  updateMessage(msg) {
11
11
  const id = new Date().getTime();
12
12
  this.messageMap.set(id, msg);
@@ -18,13 +18,13 @@ export class ToastDataService {
18
18
  hasMessage() {
19
19
  return this.messageMap.size > 0;
20
20
  }
21
- static { this.ɵfac = function ToastDataService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToastDataService)(); }; }
22
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastDataService, factory: ToastDataService.ɵfac, providedIn: "root" }); }
23
21
  }
24
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastDataService, [{
22
+ ToastDataService.ɵfac = function ToastDataService_Factory(t) { return new (t || ToastDataService)(); };
23
+ ToastDataService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastDataService, factory: ToastDataService.ɵfac, providedIn: "root" });
24
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastDataService, [{
25
25
  type: Injectable,
26
26
  args: [{
27
27
  providedIn: "root"
28
28
  }]
29
- }], () => [], null); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsSUFBSSxRQUFRO1FBQ1YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7UUFMUSxlQUFVLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFLckMsQ0FBQztJQUVoQixhQUFhLENBQUMsR0FBVztRQUN2QixNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7aUhBcEJVLGdCQUFnQjt1RUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNOztpRkFFUCxnQkFBZ0I7Y0FINUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3REYXRhU2VydmljZSB7XG4gIHByaXZhdGUgbWVzc2FnZU1hcDogTWFwPG51bWJlciwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbiAgZ2V0IG1lc3NhZ2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1lc3NhZ2VNYXAudmFsdWVzKCkpLnJldmVyc2UoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB1cGRhdGVNZXNzYWdlKG1zZzogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBpZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMubWVzc2FnZU1hcC5zZXQoaWQsIG1zZyk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgcmVtb3ZlTWVzc2FnZShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlTWFwLmRlbGV0ZShpZCk7XG4gIH1cblxuICBoYXNNZXNzYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VNYXAuc2l6ZSA+IDA7XG4gIH1cbn1cbiJdfQ==
29
+ }], function () { return []; }, null); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0I7UUFMUSxlQUFVLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFLckMsQ0FBQztJQUpoQixJQUFJLFFBQVE7UUFDVixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFJRCxhQUFhLENBQUMsR0FBVztRQUN2QixNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O2dGQXBCVSxnQkFBZ0I7c0VBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTt1RkFFUCxnQkFBZ0I7Y0FINUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3REYXRhU2VydmljZSB7XG4gIHByaXZhdGUgbWVzc2FnZU1hcDogTWFwPG51bWJlciwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbiAgZ2V0IG1lc3NhZ2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1lc3NhZ2VNYXAudmFsdWVzKCkpLnJldmVyc2UoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB1cGRhdGVNZXNzYWdlKG1zZzogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBpZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMubWVzc2FnZU1hcC5zZXQoaWQsIG1zZyk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgcmVtb3ZlTWVzc2FnZShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlTWFwLmRlbGV0ZShpZCk7XG4gIH1cblxuICBoYXNNZXNzYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VNYXAuc2l6ZSA+IDA7XG4gIH1cbn1cbiJdfQ==
@@ -18,11 +18,11 @@ export class ToastModule {
18
18
  providers: [ToastDataService, ToastService]
19
19
  };
20
20
  }
21
- static { this.ɵfac = function ToastModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToastModule)(); }; }
22
- static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ToastModule }); }
23
- static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, OverlayModule] }); }
24
21
  }
25
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastModule, [{
22
+ ToastModule.ɵfac = function ToastModule_Factory(t) { return new (t || ToastModule)(); };
23
+ ToastModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ToastModule });
24
+ ToastModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, OverlayModule] });
25
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastModule, [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  declarations: [ToastComponent],
@@ -30,4 +30,4 @@ export class ToastModule {
30
30
  }]
31
31
  }], null, null); })();
32
32
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ToastModule, { declarations: [ToastComponent], imports: [CommonModule, OverlayModule] }); })();
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNL0MsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDOzRHQWJVLFdBQVc7bUVBQVgsV0FBVzt1RUFGVixZQUFZLEVBQUUsYUFBYTs7aUZBRTVCLFdBQVc7Y0FKdkIsUUFBUTtlQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDOUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzthQUN6Qzs7d0ZBQ1ksV0FBVyxtQkFITCxjQUFjLGFBQ25CLFlBQVksRUFBRSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tIFwiLi90b2FzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRvYXN0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi90b2FzdC5kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCIuL3RvYXN0LnNlcnZpY2VcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUb2FzdENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT3ZlcmxheU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRvYXN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUb2FzdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1RvYXN0RGF0YVNlcnZpY2UsIFRvYXN0U2VydmljZV1cbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VG9hc3RNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFRvYXN0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbVG9hc3REYXRhU2VydmljZSwgVG9hc3RTZXJ2aWNlXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNL0MsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDOztzRUFiVSxXQUFXOzZEQUFYLFdBQVc7aUVBRlYsWUFBWSxFQUFFLGFBQWE7dUZBRTVCLFdBQVc7Y0FKdkIsUUFBUTtlQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDOUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzthQUN6Qzs7d0ZBQ1ksV0FBVyxtQkFITCxjQUFjLGFBQ25CLFlBQVksRUFBRSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tIFwiLi90b2FzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRvYXN0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi90b2FzdC5kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCIuL3RvYXN0LnNlcnZpY2VcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUb2FzdENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT3ZlcmxheU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRvYXN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUb2FzdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1RvYXN0RGF0YVNlcnZpY2UsIFRvYXN0U2VydmljZV1cbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VG9hc3RNb2R1bGU+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
+ }
83
+ ToastService.ɵfac = function ToastService_Factory(t) { return new (t || ToastService)(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i2.ToastDataService)); };
84
+ ToastService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastService, factory: ToastService.ɵfac, providedIn: "root" });
85
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastService, [{
86
+ type: Injectable,
87
+ args: [{
88
+ providedIn: "root"
89
+ }]
90
+ }], function () { return [{ type: i1.Overlay }, { type: i2.ToastDataService }]; }, null); })();
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQVFuRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixPQUFnQixFQUFVLElBQXNCO1FBQWhELFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUk1RCxvQkFBZSxHQUFvQixFQUFFLENBQUM7UUFHOUMsbUJBQWMsR0FBRztZQUNmLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsK0NBQStDO2dCQUN2RCxHQUFHLEVBQUUsMENBQTBDO2dCQUMvQyxHQUFHLEVBQUUsY0FBYztnQkFDbkIsR0FBRyxFQUFFLHFHQUFxRztnQkFDMUcsR0FBRyxFQUFFLGlEQUFpRDthQUN2RDtZQUNELElBQUksRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNyQixPQUFPO29CQUNMLE1BQU0sRUFBRSxDQUFDLE1BQWtCLFNBQVMsRUFBRSxFQUFFO3dCQUN0QyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksR0FBRyxDQUFDO3dCQUMvQyxNQUFNLE9BQU8sR0FBRyxhQUFhLEdBQUcsSUFBSSxJQUFJLEdBQUcsQ0FBQzt3QkFDNUMsT0FBTzs0QkFDTCxPQUFPOzRCQUNQLE9BQU87eUJBQ1IsQ0FBQztvQkFDSixDQUFDO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsTUFBa0IsU0FBUyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztnQkFDdkMsTUFBTSxPQUFPLEdBQUcsYUFBYSxHQUFHLEdBQUcsQ0FBQztnQkFDcEMsT0FBTztvQkFDTCxPQUFPO29CQUNQLE9BQU87aUJBQ1IsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDN0MsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQztRQXBDQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQXFDRCxVQUFVLENBQUMsR0FBVyxFQUFFLE9BQU8sR0FBRyxJQUFJO1FBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRS9FLElBQUksTUFBTSxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUU7WUFDNUIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUMvQixXQUFXLEVBQUUsS0FBSztZQUNsQixnQkFBZ0I7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNyRDtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN2QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7aUJBQzFCO2dCQUNELG1DQUFtQztZQUNyQyxDQUFDLEVBQUUsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELDJCQUEyQjtJQUNuQixpQkFBaUI7UUFDdkIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDL0Isa0NBQWtDO1FBQ3BDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7O3dFQTlFVSxZQUFZO2tFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07dUZBRVAsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCB9IGZyb20gXCIuL3RvYXN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVG9hc3REYXRhU2VydmljZSB9IGZyb20gXCIuL3RvYXN0LmRhdGEuc2VydmljZVwiO1xuXG50eXBlIE9wZXJhdGlvbnMgPSBcImNyZWF0ZWRcIiB8IFwidXBkYXRlZFwiIHwgXCJkZWxldGVkXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVsZXRlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIGRhdGE6IFRvYXN0RGF0YVNlcnZpY2UpIHtcbiAgICB0aGlzLnVzZXJQcm9maWxlUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUb2FzdENvbXBvbmVudCk7XG4gIH1cbiAgcHJpdmF0ZSB0b2FzdFdyYXBwZXJSZWY6IE92ZXJsYXlSZWY7XG4gIHByaXZhdGUgbWVzc2FnZVByb21pc2VzOiBQcm9taXNlPHZvaWQ+W10gPSBbXTtcbiAgcHJpdmF0ZSB1c2VyUHJvZmlsZVBvcnRhbDogQ29tcG9uZW50UG9ydGFsPFRvYXN0Q29tcG9uZW50PjtcblxuICBtZXNzYWdlQnVpbGRlciA9IHtcbiAgICBlcnJvcjoge1xuICAgICAgc2ltcGxlOiBcIlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLlwiLFxuICAgICAgNDAwOiBcIkJhZCBSZXF1ZXN0ISBXZSBhcmUgd29ya2luZyB0byBmaXggdGhpcy5cIixcbiAgICAgIDQwMTogXCJVTkFVVEhPUklTRURcIixcbiAgICAgIDQwMzogXCJTb3JyeSBmb3IgdGhlIGludGVycnVwdGlvbiBidXQgc2VlbXMgbGlrZSB5b3VyIHNlc3Npb24gaGFzIGV4cGlyZWQuIFBsZWFzZSBsb2dpbiBhZ2FpbiBhbmQgY29udGludWVcIixcbiAgICAgIDQwNDogXCJVbmFibGUgdG8gZmluZCByZXNvdXJjZS4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlclwiXG4gICAgfSxcbiAgICBpdGVtOiAoaXRlbTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY3Rpb246IChhY3Q6IE9wZXJhdGlvbnMgPSBcInVwZGF0ZWRcIikgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBgU3VjY2Vzc2Z1bGx5ICR7YWN0fSAke2l0ZW19LmA7XG4gICAgICAgICAgY29uc3QgZmFpbHVyZSA9IGBGYWlsZWQgdG8gJHthY3R9ICR7aXRlbX0uYDtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3VjY2VzcyxcbiAgICAgICAgICAgIGZhaWx1cmVcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sXG4gICAgc2hvcnQ6IChhY3Q6IE9wZXJhdGlvbnMgPSBcInVwZGF0ZWRcIikgPT4ge1xuICAgICAgY29uc3Qgc3VjY2VzcyA9IGBTdWNjZXNzZnVsbHkgJHthY3R9LmA7XG4gICAgICBjb25zdCBmYWlsdXJlID0gYEZhaWxlZCB0byAke2FjdH0uYDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3MsXG4gICAgICAgIGZhaWx1cmVcbiAgICAgIH07XG4gICAgfSxcbiAgICBzaW1wbGU6ICguLi5hcmdzOiBzdHJpbmdbXSkgPT4gYXJncy5qb2luKFwiIFwiKSxcbiAgICBzaW1wbGVzdDogXCJEb25lIVwiXG4gIH07XG5cbiAgZGlzcGxheU1zZyhtc2c6IHN0cmluZywgdGltZW91dCA9IDMwMDApOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCk7XG5cbiAgICBpZiAod2luZG93Py5pbm5lcldpZHRoIDwgNjAwKSB7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LmJvdHRvbShcIjQ4cHhcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kudG9wKFwiODBweFwiKTtcbiAgICB9XG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgcG9zaXRpb25TdHJhdGVneVxuICAgIH0pO1xuICAgIGlmICghdGhpcy50b2FzdFdyYXBwZXJSZWY/Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgIHRoaXMudG9hc3RXcmFwcGVyUmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWcpO1xuICAgICAgdGhpcy50b2FzdFdyYXBwZXJSZWYuYXR0YWNoKHRoaXMudXNlclByb2ZpbGVQb3J0YWwpO1xuICAgIH1cbiAgICBjb25zdCBtZXNzYWdlSWQgPSB0aGlzLmRhdGEudXBkYXRlTWVzc2FnZShtc2cpO1xuICAgIHRoaXMubWVzc2FnZVByb21pc2VzLnB1c2goXG4gICAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUodGhpcy5kYXRhLnJlbW92ZU1lc3NhZ2UobWVzc2FnZUlkKSk7XG4gICAgICAgICAgaWYgKCF0aGlzLmRhdGEuaGFzTWVzc2FnZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlVG9hc3RPdmVybGF5KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGFkZGluZyAzMDBtcyBmb3IgZW50cnkgYW5pbWF0aW9uXG4gICAgICAgIH0sIHRpbWVvdXQgKyAzMDApO1xuICAgICAgfSlcbiAgICApO1xuICAgIFByb21pc2UucmFjZSh0aGlzLm1lc3NhZ2VQcm9taXNlcykudGhlbigoKSA9PiB7fSk7XG4gIH1cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgcHJpdmF0ZSBjbG9zZVRvYXN0T3ZlcmxheSgpOiBhbnkge1xuICAgIHJldHVybiBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubWVzc2FnZVByb21pc2VzID0gW107XG4gICAgICB0aGlzLnRvYXN0V3JhcHBlclJlZj8uZGV0YWNoKCk7XG4gICAgICAvLyBhZGRpbmcgMzAwbXMgZm9yIGV4aXQgYW5pbWF0aW9uXG4gICAgfSwgMzAwKTtcbiAgfVxufVxuIl19