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,273 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
3
+ import dayjs from 'dayjs';
4
+ import timezone from 'dayjs/plugin/timezone';
5
+ import utc from 'dayjs/plugin/utc';
6
+ import * as i1 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
+ import * as i2 from 'mis-crystal-design-system/timepicker';
9
+ import { TimePickerModule } from 'mis-crystal-design-system/timepicker';
10
+ import { FormsModule } from '@angular/forms';
11
+
12
+ function TimeRangePickerComponent_p_2_Template(rf, ctx) {
13
+ if (rf & 1) {
14
+ i0.ɵɵelementStart(0, "p");
15
+ i0.ɵɵtext(1, "-");
16
+ i0.ɵɵelementEnd();
17
+ }
18
+ }
19
+ const _c0 = function (a0, a1) { return { "flexDirection": a0, "gap": a1 }; };
20
+ dayjs.extend(utc);
21
+ dayjs.extend(timezone);
22
+ class TimeRangePickerComponent {
23
+ constructor(cdr) {
24
+ this.cdr = cdr;
25
+ this.inputWidth = "100px";
26
+ this.height = "46px";
27
+ this.timezone = "Asia/Kolkata";
28
+ this.startDateEpoch = dayjs.tz(dayjs(), this.timezone).valueOf();
29
+ this.endDateEpoch = dayjs.tz(dayjs(), this.timezone).valueOf();
30
+ this.clockFormat = 12;
31
+ this.interval = 15;
32
+ this.showTooltip = true;
33
+ this.direction = 'row';
34
+ this.gap = '1rem';
35
+ this.disableStartTime = false;
36
+ this.disableEndTime = false;
37
+ this.timeRangeEmitter = new EventEmitter();
38
+ this.firstIntervalForStartPicker = dayjs().valueOf();
39
+ this.firstIntervalForEndPicker = dayjs().valueOf();
40
+ this.rangeValidity = true;
41
+ this.triggerChange = true;
42
+ }
43
+ ngOnInit() { }
44
+ ngOnChanges() {
45
+ this.timeFormat = this.clockFormat === 12 ? "hh:mm a" : "HH:mm";
46
+ this.startDate = dayjs.tz(this.startDateEpoch, this.timezone).format("DD-MM-YYYY");
47
+ this.endDate = dayjs.tz(this.endDateEpoch, this.timezone).format("DD-MM-YYYY");
48
+ this.currDate = dayjs.tz(dayjs(), this.timezone).format("DD-MM-YYYY");
49
+ this.setFirstIntervals();
50
+ }
51
+ // calculate the first interval of the picker
52
+ setFirstIntervals() {
53
+ const minutes = dayjs.tz(dayjs(), this.timezone).minute();
54
+ const offset = this.interval - (minutes % this.interval);
55
+ // start date, 22 MAY === current date, 22 MAY
56
+ if (this.startDate === this.currDate) {
57
+ const currentTime = dayjs.tz(dayjs(), this.timezone).valueOf();
58
+ // start date, 22 MAY === current date, 22 MAY === end date, 22 MAY
59
+ if (this.startDate === this.endDate) {
60
+ // current time is in last interval
61
+ if (currentTime >= dayjs.tz(this.startDateEpoch, this.timezone).endOf("d").subtract(this.interval, "m").valueOf()) {
62
+ this.firstIntervalForStartPicker = currentTime;
63
+ this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).endOf("d").valueOf();
64
+ }
65
+ // current time isn't in last interval
66
+ else {
67
+ this.firstIntervalForStartPicker = dayjs.tz(dayjs(), this.timezone).add(offset, "m").valueOf();
68
+ this.firstIntervalForEndPicker = dayjs.tz(dayjs(), this.timezone).add(offset, "m").add(this.interval, "m").valueOf();
69
+ }
70
+ }
71
+ // start date, 22 MAY === current date, 22 MAY !== end date, 30 MAY
72
+ else {
73
+ // current time is in last interval
74
+ if (currentTime >= dayjs.tz(this.startDateEpoch, this.timezone).endOf("d").subtract(this.interval, "m").valueOf()) {
75
+ this.firstIntervalForStartPicker = currentTime;
76
+ this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).endOf("d").valueOf();
77
+ }
78
+ // current time isn't in last interval
79
+ else {
80
+ this.firstIntervalForStartPicker = dayjs.tz(dayjs(), this.timezone).add(offset, "m").valueOf();
81
+ this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).valueOf();
82
+ }
83
+ }
84
+ }
85
+ // start date, 30 MAY !== current date, 22 MAY
86
+ else {
87
+ // start date === end Date
88
+ if (this.startDate === this.endDate) {
89
+ this.firstIntervalForStartPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf("d").valueOf();
90
+ this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).add(this.interval, "m").valueOf();
91
+ }
92
+ // start date !== end date
93
+ else {
94
+ this.firstIntervalForStartPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf("d").valueOf();
95
+ this.firstIntervalForEndPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf("d").valueOf();
96
+ }
97
+ }
98
+ if (this.givenStartTime)
99
+ this.firstIntervalForStartPicker = this.givenStartTime;
100
+ if (this.givenEndTime)
101
+ this.firstIntervalForEndPicker = this.givenEndTime;
102
+ this.startTime = {
103
+ valid: true,
104
+ time: dayjs.tz(this.firstIntervalForStartPicker, this.timezone).format(this.timeFormat),
105
+ epoch: dayjs.tz(this.firstIntervalForStartPicker, this.timezone).valueOf()
106
+ };
107
+ this.endTime = {
108
+ valid: true,
109
+ time: dayjs.tz(this.firstIntervalForEndPicker, this.timezone).format(this.timeFormat),
110
+ epoch: dayjs.tz(this.firstIntervalForEndPicker, this.timezone).valueOf()
111
+ };
112
+ }
113
+ emitTimeRange(data) {
114
+ this.timeRangeEmitter.emit(data);
115
+ }
116
+ //handlers catch the emitted values and run validation
117
+ startPickerHandler(time) {
118
+ this.startTime = time;
119
+ this.rangeValidity = true;
120
+ // if the start time changes and the start date is the same as the end date
121
+ // and the start time >= end time
122
+ // update the first interval of end picker according to the time set in start picker
123
+ if (this.startDate === this.endDate) {
124
+ let minutes = dayjs.tz(this.startTime.time, this.timeFormat, this.timezone).minute();
125
+ let offset = this.interval - (minutes % this.interval);
126
+ this.firstIntervalForEndPicker = dayjs.tz(`${this.startDate} ${this.startTime.time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone)
127
+ .add(offset, "m")
128
+ .valueOf();
129
+ // if the first interval == 12:00am, set it as 11:59pm
130
+ const intervalAsString = dayjs.tz(this.firstIntervalForEndPicker, this.timezone).format(this.timeFormat);
131
+ const endOfDayAsString = dayjs.tz(`${this.startDate}`, `DD-MM-YYYY`, this.timezone).endOf("d").add(1, "m").format(this.timeFormat);
132
+ if (intervalAsString === endOfDayAsString) {
133
+ this.firstIntervalForEndPicker = dayjs.tz(`${this.startDate} ${this.startTime.time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone).endOf("d").valueOf();
134
+ }
135
+ }
136
+ else {
137
+ const validity = this.checkTimeValidity(this.startTime.time.trim(), this.startDateEpoch) &&
138
+ this.checkTimeValidity(this.endTime.time.trim(), this.endDateEpoch);
139
+ this.rangeValidation(validity);
140
+ this.emitTimeRange({
141
+ valid: validity && this.rangeValidity,
142
+ startTime: this.startTime.time,
143
+ endTime: this.endTime.time,
144
+ startEpoch: dayjs.tz(`${this.startDate} ${this.startTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf(),
145
+ endEpoch: dayjs.tz(`${this.endDate} ${this.endTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf()
146
+ });
147
+ }
148
+ this.triggerChange = !this.triggerChange;
149
+ }
150
+ endPickerHandler(time) {
151
+ this.endTime = time;
152
+ const validity = this.checkTimeValidity(this.startTime.time.trim(), this.startDateEpoch) && this.checkTimeValidity(this.endTime.time.trim(), this.endDateEpoch);
153
+ this.rangeValidation(validity);
154
+ this.emitTimeRange({
155
+ valid: validity && this.rangeValidity,
156
+ startTime: this.startTime.time,
157
+ endTime: this.endTime.time,
158
+ startEpoch: dayjs.tz(`${this.startDate} ${this.startTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf(),
159
+ endEpoch: dayjs.tz(`${this.endDate} ${this.endTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf()
160
+ });
161
+ }
162
+ checkTimeValidity(time, date) {
163
+ const RE12 = /^(([0][1-9]|1[0-2]):([0-5][0-9])( )?(am|pm|AM|PM))$/i;
164
+ const RE24 = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;
165
+ const RE = this.clockFormat === 12 ? RE12 : RE24;
166
+ const timedayjs = dayjs.tz(`${dayjs.tz(date, this.timezone).format("DD-MM-YYYY")} ${time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone);
167
+ let flag = false;
168
+ // if the first interval is set to the start of the day
169
+ // then we don't check its validity against the current time
170
+ if ((this.givenStartTime && this.givenEndTime) || (this.startDate !== this.endDate && this.startDate !== this.currDate)) {
171
+ flag = time.match(RE) ? true : false;
172
+ }
173
+ else {
174
+ flag = time.match(RE) && timedayjs.diff(dayjs.tz(dayjs(), this.timezone), "m") >= 0 ? true : false;
175
+ }
176
+ return flag;
177
+ }
178
+ // validates end picker's input according to the start picker's input
179
+ rangeValidation(validity) {
180
+ if (validity && this.startDate === this.endDate) {
181
+ const startdayjs = dayjs.tz(this.startTime.time, this.timeFormat, this.timezone);
182
+ const enddayjs = dayjs.tz(this.endTime.time, this.timeFormat, this.timezone);
183
+ this.rangeValidity = enddayjs.diff(startdayjs, "m") >= 1 ? true : false;
184
+ this.cdr.detectChanges();
185
+ }
186
+ }
187
+ }
188
+ TimeRangePickerComponent.ɵfac = function TimeRangePickerComponent_Factory(t) { return new (t || TimeRangePickerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
189
+ 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) {
190
+ if (rf & 1) {
191
+ i0.ɵɵelementStart(0, "div", 0)(1, "mis-timepicker", 1);
192
+ i0.ɵɵlistener("timeEmitter", function TimeRangePickerComponent_Template_mis_timepicker_timeEmitter_1_listener($event) { return ctx.startPickerHandler($event); });
193
+ i0.ɵɵelementEnd();
194
+ i0.ɵɵtemplate(2, TimeRangePickerComponent_p_2_Template, 2, 0, "p", 2);
195
+ i0.ɵɵelementStart(3, "mis-timepicker", 3);
196
+ i0.ɵɵlistener("timeEmitter", function TimeRangePickerComponent_Template_mis_timepicker_timeEmitter_3_listener($event) { return ctx.endPickerHandler($event); });
197
+ i0.ɵɵelementEnd()();
198
+ }
199
+ if (rf & 2) {
200
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(26, _c0, ctx.direction, ctx.gap));
201
+ i0.ɵɵadvance(1);
202
+ 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);
203
+ i0.ɵɵadvance(1);
204
+ i0.ɵɵproperty("ngIf", ctx.direction === "row");
205
+ i0.ɵɵadvance(1);
206
+ 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);
207
+ }
208
+ }, 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}"] });
209
+ (function () {
210
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeRangePickerComponent, [{
211
+ type: Component,
212
+ 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"] }]
213
+ }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { inputWidth: [{
214
+ type: Input
215
+ }], dropdownWidth: [{
216
+ type: Input
217
+ }], height: [{
218
+ type: Input
219
+ }], timezone: [{
220
+ type: Input
221
+ }], startDateEpoch: [{
222
+ type: Input
223
+ }], endDateEpoch: [{
224
+ type: Input
225
+ }], givenStartTime: [{
226
+ type: Input
227
+ }], givenEndTime: [{
228
+ type: Input
229
+ }], clockFormat: [{
230
+ type: Input
231
+ }], interval: [{
232
+ type: Input
233
+ }], showTooltip: [{
234
+ type: Input
235
+ }], direction: [{
236
+ type: Input
237
+ }], gap: [{
238
+ type: Input
239
+ }], disableStartTime: [{
240
+ type: Input
241
+ }], disableEndTime: [{
242
+ type: Input
243
+ }], timeRangeEmitter: [{
244
+ type: Output
245
+ }] });
246
+ })();
247
+
248
+ class TimeRangePickerModule {
249
+ static forRoot() {
250
+ return { ngModule: TimeRangePickerModule, providers: [] };
251
+ }
252
+ }
253
+ TimeRangePickerModule.ɵfac = function TimeRangePickerModule_Factory(t) { return new (t || TimeRangePickerModule)(); };
254
+ TimeRangePickerModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TimeRangePickerModule });
255
+ TimeRangePickerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, TimePickerModule] });
256
+ (function () {
257
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeRangePickerModule, [{
258
+ type: NgModule,
259
+ args: [{
260
+ declarations: [TimeRangePickerComponent],
261
+ imports: [CommonModule, FormsModule, TimePickerModule],
262
+ exports: [TimeRangePickerComponent]
263
+ }]
264
+ }], null, null);
265
+ })();
266
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TimeRangePickerModule, { declarations: [TimeRangePickerComponent], imports: [CommonModule, FormsModule, TimePickerModule], exports: [TimeRangePickerComponent] }); })();
267
+
268
+ /**
269
+ * Generated bundle index. Do not edit.
270
+ */
271
+
272
+ export { TimeRangePickerComponent, TimeRangePickerModule };
273
+ //# sourceMappingURL=mis-crystal-design-system-timerangepicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mis-crystal-design-system-timerangepicker.mjs","sources":["../../../projects/mis-components/timerangepicker/timerangepicker.component.html","../../../projects/mis-components/timerangepicker/timerangepicker.component.ts","../../../projects/mis-components/timerangepicker/timerangepicker.module.ts","../../../projects/mis-components/timerangepicker/mis-crystal-design-system-timerangepicker.ts"],"sourcesContent":["<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","import { Component, Input, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\nimport { ITimeRange, ITime, TDirection } from \"./timerange.namespace\";\nimport dayjs from 'dayjs';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n@Component({\n selector: \"mis-timerangepicker\",\n templateUrl: \"./timerangepicker.component.html\",\n styleUrls: [\"./timerangepicker.component.scss\"]\n})\nexport class TimeRangePickerComponent {\n @Input() inputWidth: string = \"100px\";\n @Input() dropdownWidth?: string;\n @Input() height: string = \"46px\";\n @Input() timezone: string = \"Asia/Kolkata\";\n @Input() startDateEpoch: number = dayjs.tz(dayjs(), this.timezone).valueOf();\n @Input() endDateEpoch: number = dayjs.tz(dayjs(), this.timezone).valueOf();\n @Input() givenStartTime: number;\n @Input() givenEndTime: number;\n @Input() clockFormat: number = 12;\n @Input() interval: number = 15;\n @Input() showTooltip: boolean = true;\n @Input() direction: TDirection = 'row';\n @Input() gap: string = '1rem';\n @Input() disableStartTime: boolean = false;\n @Input() disableEndTime: boolean = false;\n @Output() timeRangeEmitter = new EventEmitter<ITimeRange>();\n\n startDate!: string;\n endDate!: string;\n currDate!: string;\n timeFormat!: string;\n firstIntervalForStartPicker: number = dayjs().valueOf();\n firstIntervalForEndPicker: number = dayjs().valueOf();\n startTime!: ITime;\n endTime!: ITime;\n rangeValidity: boolean = true;\n triggerChange: boolean = true;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit() {}\n\n ngOnChanges() {\n this.timeFormat = this.clockFormat === 12 ? \"hh:mm a\" : \"HH:mm\";\n this.startDate = dayjs.tz(this.startDateEpoch, this.timezone).format(\"DD-MM-YYYY\");\n this.endDate = dayjs.tz(this.endDateEpoch, this.timezone).format(\"DD-MM-YYYY\");\n this.currDate = dayjs.tz(dayjs(), this.timezone).format(\"DD-MM-YYYY\");\n this.setFirstIntervals();\n }\n\n // calculate the first interval of the picker\n setFirstIntervals(): void {\n const minutes = dayjs.tz(dayjs(), this.timezone).minute();\n const offset = this.interval - (minutes % this.interval);\n\n // start date, 22 MAY === current date, 22 MAY\n if( this.startDate === this.currDate ){\n const currentTime = dayjs.tz(dayjs(), this.timezone).valueOf();\n\n // start date, 22 MAY === current date, 22 MAY === end date, 22 MAY\n if(this.startDate === this.endDate){\n\n // current time is in last interval\n if(currentTime >= dayjs.tz(this.startDateEpoch, this.timezone).endOf(\"d\").subtract(this.interval,\"m\").valueOf()){\n this.firstIntervalForStartPicker = currentTime;\n this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).endOf(\"d\").valueOf();\n }\n // current time isn't in last interval\n else {\n this.firstIntervalForStartPicker = dayjs.tz(dayjs(), this.timezone).add(offset, \"m\").valueOf();\n this.firstIntervalForEndPicker = dayjs.tz(dayjs(), this.timezone).add(offset, \"m\").add(this.interval, \"m\").valueOf();\n }\n } \n // start date, 22 MAY === current date, 22 MAY !== end date, 30 MAY\n else {\n // current time is in last interval\n if(currentTime >= dayjs.tz(this.startDateEpoch, this.timezone).endOf(\"d\").subtract(this.interval,\"m\").valueOf()){\n this.firstIntervalForStartPicker = currentTime;\n this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).endOf(\"d\").valueOf();\n }\n // current time isn't in last interval\n else {\n this.firstIntervalForStartPicker = dayjs.tz(dayjs(), this.timezone).add(offset, \"m\").valueOf();\n this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).valueOf();\n }\n }\n }\n // start date, 30 MAY !== current date, 22 MAY\n else {\n // start date === end Date\n if(this.startDate === this.endDate){\n this.firstIntervalForStartPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf(\"d\").valueOf();\n this.firstIntervalForEndPicker = dayjs.tz(this.endDateEpoch, this.timezone).add(this.interval, \"m\").valueOf();\n } \n // start date !== end date\n else {\n this.firstIntervalForStartPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf(\"d\").valueOf();\n this.firstIntervalForEndPicker = dayjs.tz(this.startDateEpoch, this.timezone).startOf(\"d\").valueOf();\n }\n }\n\n if(this.givenStartTime)\n this.firstIntervalForStartPicker = this.givenStartTime;\n \n if(this.givenEndTime)\n this.firstIntervalForEndPicker = this.givenEndTime;\n \n this.startTime = {\n valid: true,\n time: dayjs.tz(this.firstIntervalForStartPicker, this.timezone).format(this.timeFormat),\n epoch: dayjs.tz(this.firstIntervalForStartPicker, this.timezone).valueOf()\n };\n\n this.endTime = {\n valid: true,\n time: dayjs.tz(this.firstIntervalForEndPicker, this.timezone).format(this.timeFormat),\n epoch: dayjs.tz(this.firstIntervalForEndPicker, this.timezone).valueOf()\n };\n }\n\n emitTimeRange(data: ITimeRange): void {\n this.timeRangeEmitter.emit(data);\n }\n\n //handlers catch the emitted values and run validation\n startPickerHandler(time: ITime): void {\n this.startTime = time;\n this.rangeValidity = true;\n // if the start time changes and the start date is the same as the end date\n // and the start time >= end time\n // update the first interval of end picker according to the time set in start picker\n if (this.startDate === this.endDate) {\n let minutes = dayjs.tz(this.startTime.time, this.timeFormat, this.timezone).minute();\n let offset = this.interval - (minutes % this.interval);\n this.firstIntervalForEndPicker = dayjs.tz(`${this.startDate} ${this.startTime.time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone)\n .add(offset, \"m\")\n .valueOf();\n\n // if the first interval == 12:00am, set it as 11:59pm\n const intervalAsString = dayjs.tz(this.firstIntervalForEndPicker, this.timezone).format(this.timeFormat);\n const endOfDayAsString = dayjs.tz(`${this.startDate}`, `DD-MM-YYYY`, this.timezone).endOf(\"d\").add(1, \"m\").format(this.timeFormat);\n if (intervalAsString === endOfDayAsString) {\n this.firstIntervalForEndPicker = dayjs.tz(`${this.startDate} ${this.startTime.time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone).endOf(\"d\").valueOf();\n }\n\n } else {\n const validity =\n this.checkTimeValidity(this.startTime.time.trim(), this.startDateEpoch) &&\n this.checkTimeValidity(this.endTime.time.trim(), this.endDateEpoch);\n\n this.rangeValidation(validity);\n this.emitTimeRange({\n valid: validity && this.rangeValidity,\n startTime: this.startTime.time,\n endTime: this.endTime.time,\n startEpoch: dayjs.tz(`${this.startDate} ${this.startTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf(),\n endEpoch: dayjs.tz(`${this.endDate} ${this.endTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf()\n });\n }\n\n this.triggerChange = !this.triggerChange;\n }\n\n endPickerHandler(time: ITime): void {\n this.endTime = time;\n\n const validity =\n this.checkTimeValidity(this.startTime.time.trim(), this.startDateEpoch) && this.checkTimeValidity(this.endTime.time.trim(), this.endDateEpoch);\n\n this.rangeValidation(validity);\n this.emitTimeRange({\n valid: validity && this.rangeValidity,\n startTime: this.startTime.time,\n endTime: this.endTime.time,\n startEpoch: dayjs.tz(`${this.startDate} ${this.startTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf(),\n endEpoch: dayjs.tz(`${this.endDate} ${this.endTime.time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone).valueOf()\n });\n }\n\n checkTimeValidity(time: string, date: number): boolean {\n const RE12 = /^(([0][1-9]|1[0-2]):([0-5][0-9])( )?(am|pm|AM|PM))$/i;\n const RE24 = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;\n const RE = this.clockFormat === 12 ? RE12 : RE24;\n\n const timedayjs = dayjs.tz(`${dayjs.tz(date, this.timezone).format(\"DD-MM-YYYY\")} ${time}`, `'DD-MM-YYYY' ${this.timeFormat}`, this.timezone);\n let flag: boolean = false;\n\n // if the first interval is set to the start of the day\n // then we don't check its validity against the current time\n if ((this.givenStartTime && this.givenEndTime) || (this.startDate !== this.endDate && this.startDate !== this.currDate)) {\n flag = time.match(RE) ? true : false;\n } else {\n flag = time.match(RE) && timedayjs.diff(dayjs.tz(dayjs(), this.timezone), \"m\") >= 0 ? true : false;\n }\n\n return flag;\n }\n\n // validates end picker's input according to the start picker's input\n rangeValidation(validity: boolean) {\n if (validity && this.startDate === this.endDate) {\n const startdayjs = dayjs.tz(this.startTime.time, this.timeFormat, this.timezone);\n const enddayjs = dayjs.tz(this.endTime.time, this.timeFormat, this.timezone);\n this.rangeValidity = enddayjs.diff(startdayjs, \"m\") >= 1 ? true : false;\n this.cdr.detectChanges();\n }\n }\n}\n\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { TimeRangePickerComponent } from \"./timerangepicker.component\";\nimport { TimePickerModule } from \"mis-crystal-design-system/timepicker\";\n\n@NgModule({\n declarations: [TimeRangePickerComponent],\n imports: [CommonModule, FormsModule, TimePickerModule],\n exports: [TimeRangePickerComponent]\n})\nexport class TimeRangePickerModule {\n static forRoot(): ModuleWithProviders<TimeRangePickerModule> {\n return { ngModule: TimeRangePickerModule, providers: [] };\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ import * as i1 from '@angular/cdk/overlay';
2
+ import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
3
+ import { ComponentPortal } from '@angular/cdk/portal';
4
+ import * as i0 from '@angular/core';
5
+ import { Injectable, Component, NgModule } from '@angular/core';
6
+ import { trigger, transition, style, animate } from '@angular/animations';
7
+ import * as i2 from '@angular/common';
8
+ import { CommonModule } from '@angular/common';
9
+
10
+ class ToastDataService {
11
+ constructor() {
12
+ this.messageMap = new Map();
13
+ }
14
+ get messages() {
15
+ return Array.from(this.messageMap.values()).reverse();
16
+ }
17
+ updateMessage(msg) {
18
+ const id = new Date().getTime();
19
+ this.messageMap.set(id, msg);
20
+ return id;
21
+ }
22
+ removeMessage(id) {
23
+ this.messageMap.delete(id);
24
+ }
25
+ hasMessage() {
26
+ return this.messageMap.size > 0;
27
+ }
28
+ }
29
+ ToastDataService.ɵfac = function ToastDataService_Factory(t) { return new (t || ToastDataService)(); };
30
+ ToastDataService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastDataService, factory: ToastDataService.ɵfac, providedIn: "root" });
31
+ (function () {
32
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastDataService, [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: "root"
36
+ }]
37
+ }], function () { return []; }, null);
38
+ })();
39
+
40
+ function ToastComponent_div_1_Template(rf, ctx) {
41
+ if (rf & 1) {
42
+ i0.ɵɵelementStart(0, "div")(1, "div", 2)(2, "div", 3);
43
+ i0.ɵɵtext(3);
44
+ i0.ɵɵelementEnd()()();
45
+ }
46
+ if (rf & 2) {
47
+ const msg_r1 = ctx.$implicit;
48
+ i0.ɵɵproperty("@fadeInOut", undefined);
49
+ i0.ɵɵadvance(3);
50
+ i0.ɵɵtextInterpolate(msg_r1);
51
+ }
52
+ }
53
+ class ToastComponent {
54
+ constructor(data) {
55
+ this.data = data;
56
+ }
57
+ }
58
+ ToastComponent.ɵfac = function ToastComponent_Factory(t) { return new (t || ToastComponent)(i0.ɵɵdirectiveInject(ToastDataService)); };
59
+ 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) {
60
+ if (rf & 1) {
61
+ i0.ɵɵelementStart(0, "div", 0);
62
+ i0.ɵɵtemplate(1, ToastComponent_div_1_Template, 4, 2, "div", 1);
63
+ i0.ɵɵelementEnd();
64
+ }
65
+ if (rf & 2) {
66
+ i0.ɵɵadvance(1);
67
+ i0.ɵɵproperty("ngForOf", ctx.data.messages);
68
+ }
69
+ }, 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: [
70
+ trigger("fadeInOut", [
71
+ transition(":enter", [
72
+ style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
73
+ animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
74
+ ]),
75
+ transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
76
+ ])
77
+ ] } });
78
+ (function () {
79
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
80
+ type: Component,
81
+ args: [{ selector: "mis-teams-toast", animations: [
82
+ trigger("fadeInOut", [
83
+ transition(":enter", [
84
+ style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
85
+ animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
86
+ ]),
87
+ transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
88
+ ])
89
+ ], 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"] }]
90
+ }], function () { return [{ type: ToastDataService }]; }, null);
91
+ })();
92
+
93
+ class ToastService {
94
+ constructor(overlay, data) {
95
+ this.overlay = overlay;
96
+ this.data = data;
97
+ this.messagePromises = [];
98
+ this.messageBuilder = {
99
+ error: {
100
+ simple: "Something went wrong. Please try again later.",
101
+ 400: "Bad Request! We are working to fix this.",
102
+ 401: "UNAUTHORISED",
103
+ 403: "Sorry for the interruption but seems like your session has expired. Please login again and continue",
104
+ 404: "Unable to find resource. Please try again later"
105
+ },
106
+ item: (item) => {
107
+ return {
108
+ action: (act = "updated") => {
109
+ const success = `Successfully ${act} ${item}.`;
110
+ const failure = `Failed to ${act} ${item}.`;
111
+ return {
112
+ success,
113
+ failure
114
+ };
115
+ }
116
+ };
117
+ },
118
+ short: (act = "updated") => {
119
+ const success = `Successfully ${act}.`;
120
+ const failure = `Failed to ${act}.`;
121
+ return {
122
+ success,
123
+ failure
124
+ };
125
+ },
126
+ simple: (...args) => args.join(" "),
127
+ simplest: "Done!"
128
+ };
129
+ this.userProfilePortal = new ComponentPortal(ToastComponent);
130
+ }
131
+ displayMsg(msg, timeout = 3000) {
132
+ var _a;
133
+ const positionStrategy = this.overlay.position().global().centerHorizontally();
134
+ if ((window === null || window === void 0 ? void 0 : window.innerWidth) < 600) {
135
+ positionStrategy.bottom("48px");
136
+ }
137
+ else {
138
+ positionStrategy.top("80px");
139
+ }
140
+ const config = new OverlayConfig({
141
+ hasBackdrop: false,
142
+ positionStrategy
143
+ });
144
+ if (!((_a = this.toastWrapperRef) === null || _a === void 0 ? void 0 : _a.hasAttached())) {
145
+ this.toastWrapperRef = this.overlay.create(config);
146
+ this.toastWrapperRef.attach(this.userProfilePortal);
147
+ }
148
+ const messageId = this.data.updateMessage(msg);
149
+ this.messagePromises.push(new Promise((resolve, reject) => {
150
+ setTimeout(() => {
151
+ resolve(this.data.removeMessage(messageId));
152
+ if (!this.data.hasMessage()) {
153
+ this.closeToastOverlay();
154
+ }
155
+ // adding 300ms for entry animation
156
+ }, timeout + 300);
157
+ }));
158
+ Promise.race(this.messagePromises).then(() => { });
159
+ }
160
+ // tslint:disable-next-line
161
+ closeToastOverlay() {
162
+ return setTimeout(() => {
163
+ var _a;
164
+ this.messagePromises = [];
165
+ (_a = this.toastWrapperRef) === null || _a === void 0 ? void 0 : _a.detach();
166
+ // adding 300ms for exit animation
167
+ }, 300);
168
+ }
169
+ }
170
+ ToastService.ɵfac = function ToastService_Factory(t) { return new (t || ToastService)(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(ToastDataService)); };
171
+ ToastService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastService, factory: ToastService.ɵfac, providedIn: "root" });
172
+ (function () {
173
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastService, [{
174
+ type: Injectable,
175
+ args: [{
176
+ providedIn: "root"
177
+ }]
178
+ }], function () { return [{ type: i1.Overlay }, { type: ToastDataService }]; }, null);
179
+ })();
180
+
181
+ class ToastModule {
182
+ static forRoot() {
183
+ return {
184
+ ngModule: ToastModule,
185
+ providers: [ToastDataService, ToastService]
186
+ };
187
+ }
188
+ static forChild() {
189
+ return {
190
+ ngModule: ToastModule,
191
+ providers: [ToastDataService, ToastService]
192
+ };
193
+ }
194
+ }
195
+ ToastModule.ɵfac = function ToastModule_Factory(t) { return new (t || ToastModule)(); };
196
+ ToastModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ToastModule });
197
+ ToastModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, OverlayModule] });
198
+ (function () {
199
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastModule, [{
200
+ type: NgModule,
201
+ args: [{
202
+ declarations: [ToastComponent],
203
+ imports: [CommonModule, OverlayModule]
204
+ }]
205
+ }], null, null);
206
+ })();
207
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ToastModule, { declarations: [ToastComponent], imports: [CommonModule, OverlayModule] }); })();
208
+
209
+ /**
210
+ * Generated bundle index. Do not edit.
211
+ */
212
+
213
+ export { ToastComponent, ToastDataService, ToastModule, ToastService };
214
+ //# sourceMappingURL=mis-crystal-design-system-toast.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mis-crystal-design-system-toast.mjs","sources":["../../../projects/mis-components/toast/toast.data.service.ts","../../../projects/mis-components/toast/toast.component.html","../../../projects/mis-components/toast/toast.component.ts","../../../projects/mis-components/toast/toast.service.ts","../../../projects/mis-components/toast/toast.module.ts","../../../projects/mis-components/toast/mis-crystal-design-system-toast.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastDataService {\n private messageMap: Map<number, string> = new Map();\n get messages(): string[] {\n return Array.from(this.messageMap.values()).reverse();\n }\n\n constructor() {}\n\n updateMessage(msg: string): number {\n const id = new Date().getTime();\n this.messageMap.set(id, msg);\n return id;\n }\n\n removeMessage(id: number): void {\n this.messageMap.delete(id);\n }\n\n hasMessage(): boolean {\n return this.messageMap.size > 0;\n }\n}\n","<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","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport { Component } from \"@angular/core\";\nimport { ToastDataService } from \"./toast.data.service\";\n\n@Component({\n selector: \"mis-teams-toast\",\n templateUrl: \"./toast.component.html\",\n styleUrls: [\"./toast.component.scss\"],\n animations: [\n trigger(\"fadeInOut\", [\n transition(\":enter\", [\n style({ opacity: \"0\", transform: \"translateY(-50%)\", height: \"0\" }),\n animate(\"300ms ease-in\", style({ opacity: \"1\", transform: \"translateY(0)\", height: \"*\" }))\n ]),\n transition(\":leave\", [animate(\"300ms ease-in\", style({ opacity: \"0\", transform: \"translateY(50%)\" }))])\n ])\n ]\n})\nexport class ToastComponent {\n constructor(public data: ToastDataService) {}\n}\n","import { Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\n\ntype Operations = \"created\" | \"updated\" | \"deleted\" | \"create\" | \"update\" | \"delete\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastService {\n constructor(private overlay: Overlay, private data: ToastDataService) {\n this.userProfilePortal = new ComponentPortal(ToastComponent);\n }\n private toastWrapperRef: OverlayRef;\n private messagePromises: Promise<void>[] = [];\n private userProfilePortal: ComponentPortal<ToastComponent>;\n\n messageBuilder = {\n error: {\n simple: \"Something went wrong. Please try again later.\",\n 400: \"Bad Request! We are working to fix this.\",\n 401: \"UNAUTHORISED\",\n 403: \"Sorry for the interruption but seems like your session has expired. Please login again and continue\",\n 404: \"Unable to find resource. Please try again later\"\n },\n item: (item: string) => {\n return {\n action: (act: Operations = \"updated\") => {\n const success = `Successfully ${act} ${item}.`;\n const failure = `Failed to ${act} ${item}.`;\n return {\n success,\n failure\n };\n }\n };\n },\n short: (act: Operations = \"updated\") => {\n const success = `Successfully ${act}.`;\n const failure = `Failed to ${act}.`;\n return {\n success,\n failure\n };\n },\n simple: (...args: string[]) => args.join(\" \"),\n simplest: \"Done!\"\n };\n\n displayMsg(msg: string, timeout = 3000): void {\n const positionStrategy = this.overlay.position().global().centerHorizontally();\n\n if (window?.innerWidth < 600) {\n positionStrategy.bottom(\"48px\");\n } else {\n positionStrategy.top(\"80px\");\n }\n const config = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy\n });\n if (!this.toastWrapperRef?.hasAttached()) {\n this.toastWrapperRef = this.overlay.create(config);\n this.toastWrapperRef.attach(this.userProfilePortal);\n }\n const messageId = this.data.updateMessage(msg);\n this.messagePromises.push(\n new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.data.removeMessage(messageId));\n if (!this.data.hasMessage()) {\n this.closeToastOverlay();\n }\n // adding 300ms for entry animation\n }, timeout + 300);\n })\n );\n Promise.race(this.messagePromises).then(() => {});\n }\n\n // tslint:disable-next-line\n private closeToastOverlay(): any {\n return setTimeout(() => {\n this.messagePromises = [];\n this.toastWrapperRef?.detach();\n // adding 300ms for exit animation\n }, 300);\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\nimport { ToastService } from \"./toast.service\";\n\n@NgModule({\n declarations: [ToastComponent],\n imports: [CommonModule, OverlayModule]\n})\nexport class ToastModule {\n static forRoot(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n\n static forChild(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ToastDataService","i2.ToastDataService"],"mappings":";;;;;;;;;MAKa,gBAAgB,CAAA;AAM3B,IAAA,WAAA,GAAA;AALQ,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,GAAG,EAAE,CAAC;KAKpC;AAJhB,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KACvD;AAID,IAAA,aAAa,CAAC,GAAW,EAAA;QACvB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC7B,QAAA,OAAO,EAAE,CAAC;KACX;AAED,IAAA,aAAa,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC5B;IAED,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;KACjC;;gFApBU,gBAAgB,GAAA,CAAA,EAAA,CAAA;sEAAhB,gBAAgB,EAAA,OAAA,EAAhB,gBAAgB,CAAA,IAAA,EAAA,UAAA,EAFf,MAAM,EAAA,CAAA,CAAA;;4EAEP,gBAAgB,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;;;QCHC,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAAkD,aAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAE7B,QAAA,EAAS,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,EAAA,CAAA;;;;AAFG,QAAA,EAAU,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,CAAA,CAAA;AAE5B,QAAA,EAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAT,QAAA,EAAS,CAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;;;MCenB,cAAc,CAAA;AACzB,IAAA,WAAA,CAAmB,IAAsB,EAAA;AAAtB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;KAAI;;4EADlC,cAAc,EAAA,EAAA,CAAA,iBAAA,CAAAA,gBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;iEAAd,cAAc,EAAA,SAAA,EAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,uBAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YDlB3B,EAA6B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAC3B,YAAA,EAIM,CAAA,UAAA,CAAA,CAAA,EAAA,6BAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YACR,EAAM,CAAA,YAAA,EAAA,CAAA;;;AALiB,YAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAhB,EAAgB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA;ACOzB,SAAA;AAAA,KAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+uBAAA,CAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA;YACV,OAAO,CAAC,WAAW,EAAE;gBACnB,UAAU,CAAC,QAAQ,EAAE;AACnB,oBAAA,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnE,oBAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;iBAC3F,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;aACxG,CAAC;SACH,EAAA,EAAA,CAAA,CAAA;;4EAEU,cAAc,EAAA,CAAA;kBAd1B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGf,UAAA,EAAA;wBACV,OAAO,CAAC,WAAW,EAAE;4BACnB,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnE,gCAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;6BAC3F,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;yBACxG,CAAC;qBACH,EAAA,QAAA,EAAA,sMAAA,EAAA,MAAA,EAAA,CAAA,mlBAAA,CAAA,EAAA,CAAA;;;;MCLU,YAAY,CAAA;IACvB,WAAoB,CAAA,OAAgB,EAAU,IAAsB,EAAA;AAAhD,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;AAI5D,QAAA,IAAe,CAAA,eAAA,GAAoB,EAAE,CAAC;QAG9C,IAAA,CAAA,cAAc,GAAG;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,+CAA+C;AACvD,gBAAA,GAAG,EAAE,0CAA0C;AAC/C,gBAAA,GAAG,EAAE,cAAc;AACnB,gBAAA,GAAG,EAAE,qGAAqG;AAC1G,gBAAA,GAAG,EAAE,iDAAiD;AACvD,aAAA;AACD,YAAA,IAAI,EAAE,CAAC,IAAY,KAAI;gBACrB,OAAO;AACL,oBAAA,MAAM,EAAE,CAAC,GAAkB,GAAA,SAAS,KAAI;AACtC,wBAAA,MAAM,OAAO,GAAG,CAAA,aAAA,EAAgB,GAAG,CAAI,CAAA,EAAA,IAAI,GAAG,CAAC;AAC/C,wBAAA,MAAM,OAAO,GAAG,CAAA,UAAA,EAAa,GAAG,CAAI,CAAA,EAAA,IAAI,GAAG,CAAC;wBAC5C,OAAO;4BACL,OAAO;4BACP,OAAO;yBACR,CAAC;qBACH;iBACF,CAAC;aACH;AACD,YAAA,KAAK,EAAE,CAAC,GAAkB,GAAA,SAAS,KAAI;AACrC,gBAAA,MAAM,OAAO,GAAG,CAAgB,aAAA,EAAA,GAAG,GAAG,CAAC;AACvC,gBAAA,MAAM,OAAO,GAAG,CAAa,UAAA,EAAA,GAAG,GAAG,CAAC;gBACpC,OAAO;oBACL,OAAO;oBACP,OAAO;iBACR,CAAC;aACH;AACD,YAAA,MAAM,EAAE,CAAC,GAAG,IAAc,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7C,YAAA,QAAQ,EAAE,OAAO;SAClB,CAAC;QApCA,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;KAC9D;AAqCD,IAAA,UAAU,CAAC,GAAW,EAAE,OAAO,GAAG,IAAI,EAAA;;AACpC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAE/E,IAAI,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,UAAU,IAAG,GAAG,EAAE;AAC5B,YAAA,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,SAAA;AAAM,aAAA;AACL,YAAA,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9B,SAAA;AACD,QAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;AAC/B,YAAA,WAAW,EAAE,KAAK;YAClB,gBAAgB;AACjB,SAAA,CAAC,CAAC;QACH,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAA,EAAE;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACrD,SAAA;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YAC9B,UAAU,CAAC,MAAK;gBACd,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5C,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;oBAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,iBAAA;;AAEH,aAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;SACnB,CAAC,CACH,CAAC;AACF,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAO,GAAC,CAAC,CAAC;KACnD;;IAGO,iBAAiB,GAAA;QACvB,OAAO,UAAU,CAAC,MAAK;;AACrB,YAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC1B,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;;SAEhC,EAAE,GAAG,CAAC,CAAC;KACT;;wEA9EU,YAAY,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,gBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;kEAAZ,YAAY,EAAA,OAAA,EAAZ,YAAY,CAAA,IAAA,EAAA,UAAA,EAFX,MAAM,EAAA,CAAA,CAAA;;4EAEP,YAAY,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;MCCY,WAAW,CAAA;AACtB,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,SAAS,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;SAC5C,CAAC;KACH;AAED,IAAA,OAAO,QAAQ,GAAA;QACb,OAAO;AACL,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,SAAS,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;SAC5C,CAAC;KACH;;sEAbU,WAAW,GAAA,CAAA,EAAA,CAAA;6DAAX,WAAW,EAAA,CAAA,CAAA;AAFV,WAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;;4EAE5B,WAAW,EAAA,CAAA;kBAJvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,cAAc,CAAC;AAC9B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;iBACzC,CAAA;;;AACY,CAAA,cAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,WAAW,EAHL,EAAA,YAAA,EAAA,CAAA,cAAc,CACnB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACTzC;;AAEG;;;;"}