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
@@ -1,374 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild, ViewChildren } from "@angular/core";
2
- import { TimepickerDirective } from "./timepicker.directive";
3
- import { ToolTipDirective } from "mis-crystal-design-system/tooltip";
4
- import dayjs from 'dayjs';
5
- import timezone from 'dayjs/plugin/timezone';
6
- import utc from 'dayjs/plugin/utc';
7
- import customParseFormat from 'dayjs/plugin/customParseFormat';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common";
10
- import * as i2 from "@angular/forms";
11
- import * as i3 from "mis-crystal-design-system/tooltip";
12
- import * as i4 from "@angular/cdk/overlay";
13
- import * as i5 from "./timepicker.directive";
14
- const _c0 = ["input"];
15
- const _c1 = ["timeInterval"];
16
- const _c2 = a0 => ({ height: a0 });
17
- const _c3 = a0 => ({ "disable": a0 });
18
- const _c4 = a0 => ({ invalid: a0 });
19
- const _c5 = a0 => ({ width: a0 });
20
- const _c6 = a0 => ({ highlight: a0 });
21
- function TimePickerComponent_ng_template_3_div_0_li_3_div_3_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelement(0, "div", 12);
23
- } }
24
- function TimePickerComponent_ng_template_3_div_0_li_3_Template(rf, ctx) { if (rf & 1) {
25
- const _r2 = i0.ɵɵgetCurrentView();
26
- i0.ɵɵelementStart(0, "li", 10, 3);
27
- i0.ɵɵlistener("click", function TimePickerComponent_ng_template_3_div_0_li_3_Template_li_click_0_listener() { const interval_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r3.onTimeSelect(interval_r3)); });
28
- i0.ɵɵtext(2);
29
- i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_div_0_li_3_div_3_Template, 1, 0, "div", 11);
30
- i0.ɵɵelementEnd();
31
- } if (rf & 2) {
32
- const interval_r3 = ctx.$implicit;
33
- const i_r5 = ctx.index;
34
- const ctx_r3 = i0.ɵɵnextContext(3);
35
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c6, i_r5 === ctx_r3.isHighlighted));
36
- i0.ɵɵadvance(2);
37
- i0.ɵɵtextInterpolate1(" ", interval_r3, " ");
38
- i0.ɵɵadvance();
39
- i0.ɵɵproperty("ngIf", interval_r3 === ctx_r3.chosenTime);
40
- } }
41
- function TimePickerComponent_ng_template_3_div_0_Template(rf, ctx) { if (rf & 1) {
42
- i0.ɵɵelementStart(0, "div", 8)(1, "ul", null, 2);
43
- i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_div_0_li_3_Template, 4, 5, "li", 9);
44
- i0.ɵɵelementEnd()();
45
- } if (rf & 2) {
46
- const ctx_r3 = i0.ɵɵnextContext(2);
47
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(2, _c5, ctx_r3.dropdownWidth || ctx_r3.inputWidth));
48
- i0.ɵɵadvance(3);
49
- i0.ɵɵproperty("ngForOf", ctx_r3.timeIntervals);
50
- } }
51
- function TimePickerComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
52
- i0.ɵɵtemplate(0, TimePickerComponent_ng_template_3_div_0_Template, 4, 4, "div", 7);
53
- } if (rf & 2) {
54
- const ctx_r3 = i0.ɵɵnextContext();
55
- i0.ɵɵproperty("ngIf", ctx_r3.openStatus);
56
- } }
57
- dayjs.extend(utc);
58
- dayjs.extend(timezone);
59
- dayjs.extend(customParseFormat);
60
- export class TimePickerComponent {
61
- // gets all the li elements from the dropdown and scrolls to the highlighted element
62
- set timeIntervalRefs(intervals) {
63
- intervals.forEach(interval => {
64
- if (interval.nativeElement.classList[0] === "highlight") {
65
- const highlighted = interval.nativeElement;
66
- setTimeout(() => highlighted.scrollIntoView({ block: "center" }));
67
- }
68
- });
69
- }
70
- constructor() {
71
- this.openStatus = false;
72
- this.isHighlighted = 0;
73
- this.isInvalid = false;
74
- this.timeIntervals = [];
75
- this.shouldScroll = false;
76
- this.userInputFlag = false;
77
- this.givenTimeFlag = true;
78
- this.clockFormat = 12;
79
- this.timezone = "Asia/Kolkata";
80
- this.height = "max-content";
81
- this.inputWidth = "100px";
82
- this.interval = 15;
83
- this.dateAsEpoch = dayjs.tz(dayjs(), this.timezone).valueOf();
84
- this.rangeValidity = true;
85
- this.showTooltip = true;
86
- this.dispayToolTip = this.showTooltip;
87
- this.triggerChange = true;
88
- this.disable = false;
89
- this.timeEmitter = new EventEmitter();
90
- }
91
- ngOnInit() {
92
- if (!this.givenTime && !this.minTime) {
93
- this.chosenTime = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
94
- let chosenTimedayjs = this.getdayjs(this.chosenTime);
95
- this.emitTime({
96
- valid: !this.isInvalid,
97
- time: this.chosenTime,
98
- epoch: chosenTimedayjs.valueOf()
99
- });
100
- }
101
- }
102
- ngOnChanges() {
103
- this.timeFormat = this.clockFormat === 12 ? "hh:mm a" : "HH:mm";
104
- if (this.timeFormat) {
105
- let chosenTimedayjs = this.getdayjs(this.chosenTime);
106
- // if the first interval is >= the chosen time
107
- // then only update the value of chosen time
108
- // else it remains the same
109
- if (this.firstInterval >= chosenTimedayjs.valueOf() && this.rangeValidity && !this.userInputFlag) {
110
- this.chosenTime = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
111
- chosenTimedayjs = this.getdayjs(this.chosenTime);
112
- }
113
- if ((this.givenTimeFlag && this.givenTime) || this.minTime) {
114
- this.chosenTime = dayjs.tz(this.minTime || this.givenTime, this.timezone).format(this.timeFormat);
115
- }
116
- chosenTimedayjs = this.getdayjs(this.chosenTime);
117
- if (!this.userInputFlag)
118
- this.populateDropdown();
119
- this.userInputFlag = false;
120
- if (this.chosenTime) {
121
- this.isInvalid = !this.checkTimeValidity(this.chosenTime.trim());
122
- this.emitTime({
123
- valid: !this.isInvalid,
124
- time: this.chosenTime,
125
- epoch: chosenTimedayjs.valueOf()
126
- });
127
- this.calculateClosestInterval(this.chosenTime);
128
- }
129
- }
130
- }
131
- emitTime(data) {
132
- this.timeEmitter.emit(data);
133
- }
134
- // function to get dayjs object when time is given in string
135
- getdayjs(time = '00:00') {
136
- ;
137
- if (!time || typeof time !== 'string') {
138
- throw new Error('Time must be a string');
139
- }
140
- let hours;
141
- let minutes;
142
- if (this.clockFormat === 24) {
143
- hours = parseInt(time.split(':')[0]);
144
- minutes = parseInt(time.split(':')[1]);
145
- }
146
- else {
147
- const timeParts = time.split(' ');
148
- const AM_PM = timeParts?.[1];
149
- hours = parseInt(timeParts?.[0]?.split(':')?.[0]);
150
- minutes = parseInt(timeParts?.[0]?.split(':')?.[1]);
151
- if (AM_PM?.toUpperCase() === 'PM' && hours !== 12) {
152
- hours += 12;
153
- }
154
- else if (AM_PM?.toUpperCase() === 'AM' && hours === 12) {
155
- hours = 0;
156
- }
157
- }
158
- return dayjs.tz(this.dateAsEpoch, this.timezone).add(hours, 'h').add(minutes, 'm');
159
- }
160
- closeDropdown() {
161
- this.dispayToolTip = false;
162
- this.userInputFlag = false;
163
- this.openStatus = false;
164
- if (this.timepickerDirective)
165
- this.timepickerDirective.destroyOverlay();
166
- }
167
- // toggle timepicker dropdown
168
- openDropdown() {
169
- this.dispayToolTip = true;
170
- this.openStatus = true;
171
- }
172
- checkTimeValidity(time) {
173
- const RE12 = /^(([0][1-9]|1[0-2]):([0-5][0-9])( )?(am|pm|AM|PM))$/i;
174
- const RE24 = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;
175
- const RE = this.clockFormat === 12 ? RE12 : RE24;
176
- const timedayjs = this.getdayjs(time);
177
- let flag = false;
178
- // if the first interval is set to the start of the day
179
- // or a time is already provided to the component to show
180
- // then we don't check its validity against the current time
181
- if (this.minTime ||
182
- this.givenTime ||
183
- (this.firstInterval &&
184
- dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat).valueOf() === dayjs.tz(dayjs(), this.timezone).startOf("day").format(this.timeFormat).valueOf())) {
185
- flag = time.match(RE) ? true : false;
186
- }
187
- else {
188
- flag = time.match(RE) && timedayjs.diff(dayjs.tz(dayjs(), this.timezone), "m") >= 0 ? true : false;
189
- }
190
- return flag;
191
- }
192
- // update chosen time as soon as the user clicks on an interval
193
- onTimeSelect(time) {
194
- this.isInvalid = !this.checkTimeValidity(time.trim());
195
- if (!this.isInvalid) {
196
- this.chosenTime = time;
197
- this.calculateClosestInterval(this.chosenTime);
198
- }
199
- const timedayjs = this.getdayjs(time);
200
- this.emitTime({
201
- valid: !this.isInvalid,
202
- time: time,
203
- epoch: timedayjs.valueOf()
204
- });
205
- this.openStatus = false;
206
- if (this.timepickerDirective)
207
- this.timepickerDirective.destroyOverlay();
208
- }
209
- // checks validity of time on input change and calculates the closest interval
210
- onTimeChange(time) {
211
- this.isInvalid = !this.checkTimeValidity(time.trim());
212
- if (!this.isInvalid) {
213
- this.userInputFlag = true;
214
- this.openStatus = false;
215
- if (this.timepickerDirective)
216
- this.timepickerDirective.destroyOverlay();
217
- this.calculateClosestInterval(time);
218
- }
219
- const timedayjs = this.getdayjs(time);
220
- this.emitTime({
221
- valid: !this.isInvalid,
222
- time: time,
223
- epoch: timedayjs.valueOf()
224
- });
225
- }
226
- calculateClosestInterval(time) {
227
- let roundedEpoch;
228
- // Converting time and date to a dayjs object
229
- const chosenDate = dayjs.tz(this.dateAsEpoch, this.timezone).format("DD-MM-YYYY"); // 05-01-2024
230
- const parsedTimeWithDate = dayjs.tz(`${chosenDate} ${time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
231
- // Converting dayjs object to epoch
232
- const chosenTimeEpoch = parsedTimeWithDate.valueOf();
233
- const offset = this.interval - (dayjs.tz(chosenTimeEpoch, this.timezone).minute() % this.interval);
234
- if (this.minTime && !this.givenTime) {
235
- this.isHighlighted = 0;
236
- return;
237
- }
238
- roundedEpoch = offset >= this.interval / 2 ? (dayjs.tz(chosenTimeEpoch, this.timezone).subtract(this.interval - offset, "m")).valueOf() : (dayjs.tz(chosenTimeEpoch, this.timezone).add(offset, "m")).valueOf();
239
- // finding the index of element that needs to be highlighted
240
- if (chosenTimeEpoch > dayjs.tz(this.dateAsEpoch, this.timezone).endOf("day").subtract(this.interval, "m").valueOf()) {
241
- this.isHighlighted = this.timeIntervals.length - 1;
242
- }
243
- else {
244
- const roundedEpochdayjs = dayjs.tz(roundedEpoch, this.timezone);
245
- this.isHighlighted = this.timeIntervals.findIndex(interval => {
246
- const intervalObj = dayjs.tz(`${chosenDate} ${interval}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
247
- return intervalObj.isSame(roundedEpochdayjs);
248
- });
249
- }
250
- }
251
- // populates the dropdown according to the first interval received
252
- populateDropdown() {
253
- this.timeIntervals = [];
254
- // if picker is used as an individual component
255
- if (!this.firstInterval) {
256
- // firstInterval is initialised according to the current time
257
- // if the date is same as the current date
258
- if (dayjs.tz(this.dateAsEpoch, this.timezone).format("DD-MM-YYYY") === dayjs.tz(dayjs(), this.timezone).format("DD-MM-YYYY") && !this.minTime) {
259
- const offset = this.interval - (dayjs.tz(dayjs(), this.timezone).minute() % this.interval);
260
- this.firstInterval = dayjs.tz(dayjs(), this.timezone).add(offset, "m").valueOf();
261
- }
262
- // if minimum time to show is provided
263
- else if (this.minTime) {
264
- const offset = this.interval - (dayjs.tz(this.minTime, this.timezone).minute() % this.interval);
265
- this.firstInterval = dayjs.tz(this.minTime, this.timezone).add(offset, "m").valueOf();
266
- }
267
- // else the firstInterval is initialised as start of day
268
- else {
269
- this.firstInterval = dayjs.tz(dayjs(), this.timezone).startOf("day").valueOf();
270
- }
271
- }
272
- if (this.givenTime && this.givenTimeFlag) {
273
- this.firstInterval = dayjs.tz(this.givenTime, this.timezone).startOf('d').valueOf();
274
- this.givenTimeFlag = false;
275
- }
276
- const dateAsString = dayjs.tz(this.dateAsEpoch, this.timezone).format('DD-MM-YYYY');
277
- const intervalAsString = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
278
- let start = dayjs.tz(`${dateAsString} ${intervalAsString}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
279
- const end = dayjs.tz(this.dateAsEpoch, this.timezone).endOf('d');
280
- while (start.valueOf() < end.valueOf()) {
281
- this.timeIntervals.push(start.format(this.timeFormat));
282
- start = start.add(this.interval, "m");
283
- }
284
- // if the start time is equal to the interval just before midnight
285
- // and the start date = end date
286
- // push 11:59pm only
287
- if (this.timeIntervals.length === 0) {
288
- this.chosenTime = dayjs.tz(dayjs(), this.timezone).endOf("d").format(this.timeFormat);
289
- this.timeIntervals.push(dayjs.tz(dayjs(), this.timezone).endOf("d").format(this.timeFormat));
290
- }
291
- }
292
- ngOnDestroy() {
293
- if (this.tooltipDirective)
294
- this.tooltipDirective.hideToolTip();
295
- }
296
- static { this.ɵfac = function TimePickerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TimePickerComponent)(); }; }
297
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimePickerComponent, selectors: [["mis-timepicker"]], viewQuery: function TimePickerComponent_Query(rf, ctx) { if (rf & 1) {
298
- i0.ɵɵviewQuery(_c0, 7);
299
- i0.ɵɵviewQuery(TimepickerDirective, 5);
300
- i0.ɵɵviewQuery(ToolTipDirective, 5);
301
- i0.ɵɵviewQuery(_c1, 5);
302
- } if (rf & 2) {
303
- let _t;
304
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
305
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.timepickerDirective = _t.first);
306
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipDirective = _t.first);
307
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.timeIntervalRefs = _t);
308
- } }, inputs: { clockFormat: "clockFormat", timezone: "timezone", height: "height", inputWidth: "inputWidth", dropdownWidth: "dropdownWidth", interval: "interval", dateAsEpoch: "dateAsEpoch", firstInterval: "firstInterval", rangeValidity: "rangeValidity", showTooltip: "showTooltip", givenTime: "givenTime", minTime: "minTime", triggerChange: "triggerChange", disable: "disable" }, outputs: { timeEmitter: "timeEmitter" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 19, consts: [["input", ""], ["dropdownContainer", ""], ["dropdown", ""], ["timeInterval", ""], [1, "timepicker-container", 3, "ngStyle", "ngClass"], ["type", "text", "misToolTip", "", "cdkOverlayOrigin", "", 1, "h7", 3, "ngModelChange", "click", "ngModel", "ngClass", "ngStyle", "showToolTip", "text", "position", "showOnHover"], ["libDropdownScroll", "", "libTimepicker", "", 3, "statusEmitter", "originEl", "openStatus"], ["class", "timepicker-dropdown", 3, "ngStyle", 4, "ngIf"], [1, "timepicker-dropdown", 3, "ngStyle"], [3, "ngClass", "click", 4, "ngFor", "ngForOf"], [3, "click", "ngClass"], ["class", "ic-ui-check-24 selected-icon", 4, "ngIf"], [1, "ic-ui-check-24", "selected-icon"]], template: function TimePickerComponent_Template(rf, ctx) { if (rf & 1) {
309
- const _r1 = i0.ɵɵgetCurrentView();
310
- i0.ɵɵelementStart(0, "div", 4)(1, "input", 5, 0);
311
- i0.ɵɵtwoWayListener("ngModelChange", function TimePickerComponent_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.chosenTime, $event) || (ctx.chosenTime = $event); return i0.ɵɵresetView($event); });
312
- i0.ɵɵlistener("ngModelChange", function TimePickerComponent_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onTimeChange(ctx.chosenTime)); })("click", function TimePickerComponent_Template_input_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openDropdown()); });
313
- i0.ɵɵelementEnd();
314
- i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_Template, 1, 1, "ng-template", 6, 1, i0.ɵɵtemplateRefExtractor);
315
- i0.ɵɵlistener("statusEmitter", function TimePickerComponent_Template_ng_template_statusEmitter_3_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.closeDropdown()); });
316
- i0.ɵɵelementEnd();
317
- } if (rf & 2) {
318
- const input_r6 = i0.ɵɵreference(2);
319
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(11, _c2, ctx.height))("ngClass", i0.ɵɵpureFunction1(13, _c3, ctx.disable));
320
- i0.ɵɵadvance();
321
- i0.ɵɵtwoWayProperty("ngModel", ctx.chosenTime);
322
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c4, ctx.isInvalid || !ctx.rangeValidity))("ngStyle", i0.ɵɵpureFunction1(17, _c5, ctx.inputWidth))("showToolTip", ctx.showTooltip && (ctx.isInvalid || !ctx.rangeValidity) && ctx.dispayToolTip)("text", "Invalid Time")("position", "top")("showOnHover", false);
323
- i0.ɵɵadvance(2);
324
- i0.ɵɵproperty("originEl", input_r6)("openStatus", ctx.openStatus);
325
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.ToolTipDirective, i4.CdkOverlayOrigin, i5.TimepickerDirective], styles: [".h1[_ngcontent-%COMP%]{font-size:40px;font-weight:400;letter-spacing:0px;line-height:48px}.h2[_ngcontent-%COMP%]{font-size:32px;font-weight:400;letter-spacing:0px;line-height:40px}.h3[_ngcontent-%COMP%]{font-size:28px;font-weight:400;letter-spacing:0px;line-height:36px}.h4[_ngcontent-%COMP%]{font-size:24px;font-weight:400;letter-spacing:0px;line-height:32px}.h5-b[_ngcontent-%COMP%]{font-size:20px;font-weight:700;letter-spacing:.25px;line-height:28px}.h5[_ngcontent-%COMP%]{font-size:20px;font-weight:400;letter-spacing:.15px;line-height:28px}.h6-b[_ngcontent-%COMP%]{font-size:16px;font-weight:700;letter-spacing:0px;line-height:24px}.h6[_ngcontent-%COMP%]{font-size:16px;font-weight:400;letter-spacing:0px;line-height:24px}.p[_ngcontent-%COMP%]{font-size:16px;font-weight:400;letter-spacing:0px;line-height:180%}.h7-b[_ngcontent-%COMP%]{font-size:14px;font-weight:700;letter-spacing:.25px;line-height:20px}.h7[_ngcontent-%COMP%]{font-size:14px;font-weight:400;letter-spacing:.2px;line-height:20px}.h8-b[_ngcontent-%COMP%]{font-size:12px;font-weight:700;letter-spacing:.25px;line-height:18px}.h8[_ngcontent-%COMP%]{font-size:12px;font-weight:400;letter-spacing:.2px;line-height:18px}.h9[_ngcontent-%COMP%]{font-size:10px;font-weight:400;letter-spacing:0px;line-height:15px}.btn-lg-b[_ngcontent-%COMP%]{font-size:16px;font-weight:700;letter-spacing:.5px;line-height:24px}.btn-lg[_ngcontent-%COMP%]{font-size:16px;font-weight:400;letter-spacing:.2px;line-height:24px}.btn-sm[_ngcontent-%COMP%]{font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px}.btn-link[_ngcontent-%COMP%]{font-size:16px;font-weight:400;letter-spacing:0px;line-height:24px}.display-1[_ngcontent-%COMP%]{font-size:48px;font-weight:400;letter-spacing:0px;line-height:56px}.display-2[_ngcontent-%COMP%]{font-size:14px;font-weight:400;letter-spacing:.5px;line-height:20px}*[_ngcontent-%COMP%]{box-sizing:border-box;font-family:Lato}.timepicker-container[_ngcontent-%COMP%]{display:inline-block;position:relative}input[_ngcontent-%COMP%]{text-align:center;border:none;border-bottom:1px solid #e0e0e0;outline:none;height:100%;width:100px;padding:4px 16px}input[_ngcontent-%COMP%]:hover{background:#f5f7fc}input[_ngcontent-%COMP%]:focus, input[_ngcontent-%COMP%]:active{background:#e6ebf7;border-bottom:1px solid #0937b2}.timepicker-dropdown[_ngcontent-%COMP%]{position:absolute;top:calc(100% + 4px);left:0;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:4px;padding:8px;background:#fff}.timepicker-dropdown[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.timepicker-dropdown[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding:0}.timepicker-dropdown[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{text-align:start;list-style:none;padding:6px 12px;cursor:pointer;font-size:14px;color:#181f33;display:flex;justify-content:space-between;align-items:center}.timepicker-dropdown[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover{background:#f5f7fc;border-radius:6px}.timepicker-dropdown[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .selected-icon[_ngcontent-%COMP%]{font-weight:900}.highlight[_ngcontent-%COMP%]{background-color:#f5f7fc;border-radius:6px}.invalid[_ngcontent-%COMP%]{background:#fae1ea!important;border-bottom:1px solid #b00020!important}.disable[_ngcontent-%COMP%]{pointer-events:none!important;opacity:.5!important}"] }); }
326
- }
327
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimePickerComponent, [{
328
- type: Component,
329
- args: [{ selector: "mis-timepicker", template: "<div class=\"timepicker-container\" [ngStyle]=\"{ height: height }\" [ngClass]=\"{'disable': disable}\">\n <input\n type=\"text\"\n [(ngModel)]=\"chosenTime\"\n (ngModelChange)=\"onTimeChange(chosenTime)\"\n [ngClass]=\"{ invalid: isInvalid || !rangeValidity }\"\n [ngStyle]=\"{ width: inputWidth }\"\n (click)=\"openDropdown()\"\n misToolTip\n [showToolTip]=\"showTooltip && (isInvalid || !rangeValidity) && dispayToolTip\"\n [text]=\"'Invalid Time'\"\n [position]=\"'top'\"\n [showOnHover]=\"false\"\n #input\n cdkOverlayOrigin\n class=\"h7\"\n />\n\n <ng-template #dropdownContainer libDropdownScroll libTimepicker [originEl]=\"input\" [openStatus]=\"openStatus\" (statusEmitter)=\"closeDropdown()\">\n <div *ngIf=\"openStatus\" class=\"timepicker-dropdown\" [ngStyle]=\"{ width: dropdownWidth || inputWidth }\">\n <ul #dropdown>\n <li #timeInterval (click)=\"onTimeSelect(interval)\" *ngFor=\"let interval of timeIntervals; index as i\" [ngClass]=\"{ highlight: i === isHighlighted }\">\n {{ interval }}\n <div class=\"ic-ui-check-24 selected-icon\" *ngIf=\"interval === chosenTime\"></div>\n </li>\n </ul>\n </div>\n </ng-template>\n</div>\n", styles: [".h1{font-size:40px;font-weight:400;letter-spacing:0px;line-height:48px}.h2{font-size:32px;font-weight:400;letter-spacing:0px;line-height:40px}.h3{font-size:28px;font-weight:400;letter-spacing:0px;line-height:36px}.h4{font-size:24px;font-weight:400;letter-spacing:0px;line-height:32px}.h5-b{font-size:20px;font-weight:700;letter-spacing:.25px;line-height:28px}.h5{font-size:20px;font-weight:400;letter-spacing:.15px;line-height:28px}.h6-b{font-size:16px;font-weight:700;letter-spacing:0px;line-height:24px}.h6{font-size:16px;font-weight:400;letter-spacing:0px;line-height:24px}.p{font-size:16px;font-weight:400;letter-spacing:0px;line-height:180%}.h7-b{font-size:14px;font-weight:700;letter-spacing:.25px;line-height:20px}.h7{font-size:14px;font-weight:400;letter-spacing:.2px;line-height:20px}.h8-b{font-size:12px;font-weight:700;letter-spacing:.25px;line-height:18px}.h8{font-size:12px;font-weight:400;letter-spacing:.2px;line-height:18px}.h9{font-size:10px;font-weight:400;letter-spacing:0px;line-height:15px}.btn-lg-b{font-size:16px;font-weight:700;letter-spacing:.5px;line-height:24px}.btn-lg{font-size:16px;font-weight:400;letter-spacing:.2px;line-height:24px}.btn-sm{font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px}.btn-link{font-size:16px;font-weight:400;letter-spacing:0px;line-height:24px}.display-1{font-size:48px;font-weight:400;letter-spacing:0px;line-height:56px}.display-2{font-size:14px;font-weight:400;letter-spacing:.5px;line-height:20px}*{box-sizing:border-box;font-family:Lato}.timepicker-container{display:inline-block;position:relative}input{text-align:center;border:none;border-bottom:1px solid #e0e0e0;outline:none;height:100%;width:100px;padding:4px 16px}input:hover{background:#f5f7fc}input:focus,input:active{background:#e6ebf7;border-bottom:1px solid #0937b2}.timepicker-dropdown{position:absolute;top:calc(100% + 4px);left:0;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:4px;padding:8px;background:#fff}.timepicker-dropdown::-webkit-scrollbar{display:none}.timepicker-dropdown ul{margin:0;padding:0}.timepicker-dropdown li{text-align:start;list-style:none;padding:6px 12px;cursor:pointer;font-size:14px;color:#181f33;display:flex;justify-content:space-between;align-items:center}.timepicker-dropdown li:hover{background:#f5f7fc;border-radius:6px}.timepicker-dropdown li .selected-icon{font-weight:900}.highlight{background-color:#f5f7fc;border-radius:6px}.invalid{background:#fae1ea!important;border-bottom:1px solid #b00020!important}.disable{pointer-events:none!important;opacity:.5!important}\n"] }]
330
- }], () => [], { clockFormat: [{
331
- type: Input
332
- }], timezone: [{
333
- type: Input
334
- }], height: [{
335
- type: Input
336
- }], inputWidth: [{
337
- type: Input
338
- }], dropdownWidth: [{
339
- type: Input
340
- }], interval: [{
341
- type: Input
342
- }], dateAsEpoch: [{
343
- type: Input
344
- }], firstInterval: [{
345
- type: Input
346
- }], rangeValidity: [{
347
- type: Input
348
- }], showTooltip: [{
349
- type: Input
350
- }], givenTime: [{
351
- type: Input
352
- }], minTime: [{
353
- type: Input
354
- }], triggerChange: [{
355
- type: Input
356
- }], disable: [{
357
- type: Input
358
- }], timeEmitter: [{
359
- type: Output
360
- }], input: [{
361
- type: ViewChild,
362
- args: ["input", { static: true }]
363
- }], timepickerDirective: [{
364
- type: ViewChild,
365
- args: [TimepickerDirective]
366
- }], tooltipDirective: [{
367
- type: ViewChild,
368
- args: [ToolTipDirective]
369
- }], timeIntervalRefs: [{
370
- type: ViewChildren,
371
- args: ["timeInterval"]
372
- }] }); })();
373
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimePickerComponent, { className: "TimePickerComponent" }); })();
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGltZXBpY2tlci90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFckUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUE7Ozs7Ozs7Ozs7Ozs7OztJQ2VwRCwwQkFBZ0Y7Ozs7SUFGbEYsaUNBQXFKO0lBQW5JLDZOQUFTLGdDQUFzQixLQUFDO0lBQ2hELFlBQ0E7SUFBQSw4RkFBMEU7SUFDNUUsaUJBQUs7Ozs7O0lBSGlHLG1GQUE4QztJQUNsSixlQUNBO0lBREEsNENBQ0E7SUFBMkMsY0FBNkI7SUFBN0Isd0RBQTZCOzs7SUFINUUsQUFERiw4QkFBdUcsa0JBQ3ZGO0lBQ1osc0ZBQXFKO0lBS3pKLEFBREUsaUJBQUssRUFDRDs7O0lBUDhDLCtGQUFrRDtJQUUxQixlQUFrQjtJQUFsQiw4Q0FBa0I7OztJQUY5RixrRkFBdUc7OztJQUFqRyx3Q0FBZ0I7O0FEVDFCLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFD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a0hBQStJO1lBQWxDLDJKQUFpQixtQkFBZSxLQUFDO1lBVWhKLGlCQUFNOzs7WUE1QjJELEFBQS9CLGlFQUE4QixxREFBaUM7WUFHN0YsY0FBd0I7WUFBeEIsOENBQXdCO1lBU3hCLEFBREEsQUFEQSxBQURBLEFBSEEsQUFEQSwwRkFBb0Qsd0RBQ25CLDhGQUc0Qyx3QkFDdEQsbUJBQ0wsc0JBQ0c7WUFNeUMsZUFBa0I7WUFBQyxBQUFuQixtQ0FBa0IsOEJBQTBCOzs7aUZERWpHLG1CQUFtQjtjQUwvQixTQUFTOzJCQUNFLGdCQUFnQjtvQkFjakIsV0FBVztrQkFBbkIsS0FBSztZQUdHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBRUcsU0FBUztrQkFBakIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQytCLEtBQUs7a0JBQTFDLFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNKLG1CQUFtQjtrQkFBbEQsU0FBUzttQkFBQyxtQkFBbUI7WUFDRCxnQkFBZ0I7a0JBQTVDLFNBQVM7bUJBQUMsZ0JBQWdCO1lBR08sZ0JBQWdCO2tCQUFqRCxZQUFZO21CQUFDLGNBQWM7O2tGQWpDakIsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElUaW1lIH0gZnJvbSBcIi4vdGltZS5uYW1lc3BhY2VcIjtcbmltcG9ydCB7IFRpbWVwaWNrZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi90aW1lcGlja2VyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVG9vbFRpcERpcmVjdGl2ZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3Rvb2x0aXBcIjtcblxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcbmltcG9ydCBjdXN0b21QYXJzZUZvcm1hdCBmcm9tICdkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXQnXG5cbmRheWpzLmV4dGVuZCh1dGMpO1xuZGF5anMuZXh0ZW5kKHRpbWV6b25lKTtcbmRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10aW1lcGlja2VyXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGltZXBpY2tlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGltZXBpY2tlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIGN1cnJUaW1lITogc3RyaW5nO1xuICBjaG9zZW5UaW1lOiBzdHJpbmc7XG4gIG9wZW5TdGF0dXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNIaWdobGlnaHRlZDogbnVtYmVyID0gMDtcbiAgaXNJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIHRpbWVJbnRlcnZhbHM6IHN0cmluZ1tdID0gW107XG4gIHNob3VsZFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlO1xuICB1c2VySW5wdXRGbGFnOiBib29sZWFuID0gZmFsc2U7XG4gIGdpdmVuVGltZUZsYWc6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBjbG9ja0Zvcm1hdDogbnVtYmVyID0gMTI7XG4gIHRpbWVGb3JtYXQhOiBzdHJpbmc7XG4gIFxuICBASW5wdXQoKSB0aW1lem9uZTogc3RyaW5nID0gXCJBc2lhL0tvbGthdGFcIjtcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSBcIm1heC1jb250ZW50XCI7XG4gIEBJbnB1dCgpIGlucHV0V2lkdGg6IHN0cmluZyA9IFwiMTAwcHhcIjtcbiAgQElucHV0KCkgZHJvcGRvd25XaWR0aD86IHN0cmluZztcbiAgQElucHV0KCkgaW50ZXJ2YWw6IG51bWJlciA9IDE1O1xuICBASW5wdXQoKSBkYXRlQXNFcG9jaDogbnVtYmVyID0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkudmFsdWVPZigpO1xuICBASW5wdXQoKSBmaXJzdEludGVydmFsITogbnVtYmVyO1xuICBASW5wdXQoKSByYW5nZVZhbGlkaXR5OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1Rvb2x0aXA6IGJvb2xlYW4gPSB0cnVlO1xuICBkaXNwYXlUb29sVGlwOiBib29sZWFuID0gdGhpcy5zaG93VG9vbHRpcDtcbiAgQElucHV0KCkgZ2l2ZW5UaW1lOiBudW1iZXI7XG4gIEBJbnB1dCgpIG1pblRpbWU/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHRyaWdnZXJDaGFuZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBkaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSB0aW1lRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8SVRpbWU+KCk7XG4gIEBWaWV3Q2hpbGQoXCJpbnB1dFwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChUaW1lcGlja2VyRGlyZWN0aXZlKSB0aW1lcGlja2VyRGlyZWN0aXZlOiBUaW1lcGlja2VyRGlyZWN0aXZlO1xuICBAVmlld0NoaWxkKFRvb2xUaXBEaXJlY3RpdmUpIHRvb2x0aXBEaXJlY3RpdmU6IFRvb2xUaXBEaXJlY3RpdmU7XG5cbiAgLy8gZ2V0cyBhbGwgdGhlIGxpIGVsZW1lbnRzIGZyb20gdGhlIGRyb3Bkb3duIGFuZCBzY3JvbGxzIHRvIHRoZSBoaWdobGlnaHRlZCBlbGVtZW50XG4gIEBWaWV3Q2hpbGRyZW4oXCJ0aW1lSW50ZXJ2YWxcIikgc2V0IHRpbWVJbnRlcnZhbFJlZnMoaW50ZXJ2YWxzKSB7XG4gICAgaW50ZXJ2YWxzLmZvckVhY2goaW50ZXJ2YWwgPT4ge1xuICAgICAgaWYgKGludGVydmFsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0WzBdID09PSBcImhpZ2hsaWdodFwiKSB7XG4gICAgICAgIGNvbnN0IGhpZ2hsaWdodGVkID0gaW50ZXJ2YWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBoaWdobGlnaHRlZC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiBcImNlbnRlclwiIH0pKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCl7fVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZighdGhpcy5naXZlblRpbWUgJiYgIXRoaXMubWluVGltZSkge1xuICAgICAgdGhpcy5jaG9zZW5UaW1lID0gZGF5anMudHoodGhpcy5maXJzdEludGVydmFsLCB0aGlzLnRpbWV6b25lKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgIGxldCBjaG9zZW5UaW1lZGF5anMgPSB0aGlzLmdldGRheWpzKHRoaXMuY2hvc2VuVGltZSk7XG4gICAgICB0aGlzLmVtaXRUaW1lKHtcbiAgICAgICAgdmFsaWQ6ICF0aGlzLmlzSW52YWxpZCxcbiAgICAgICAgdGltZTogdGhpcy5jaG9zZW5UaW1lLFxuICAgICAgICBlcG9jaDogY2hvc2VuVGltZWRheWpzLnZhbHVlT2YoKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lRm9ybWF0ID0gdGhpcy5jbG9ja0Zvcm1hdCA9PT0gMTIgPyBcImhoOm1tIGFcIiA6IFwiSEg6bW1cIjtcblxuICAgIGlmICh0aGlzLnRpbWVGb3JtYXQpIHtcbiAgICAgIGxldCBjaG9zZW5UaW1lZGF5anMgPSB0aGlzLmdldGRheWpzKHRoaXMuY2hvc2VuVGltZSk7XG4gICAgXG4gICAgICAvLyBpZiB0aGUgZmlyc3QgaW50ZXJ2YWwgaXMgPj0gdGhlIGNob3NlbiB0aW1lXG4gICAgICAvLyB0aGVuIG9ubHkgdXBkYXRlIHRoZSB2YWx1ZSBvZiBjaG9zZW4gdGltZVxuICAgICAgLy8gZWxzZSBpdCByZW1haW5zIHRoZSBzYW1lXG4gICAgICBpZiAodGhpcy5maXJzdEludGVydmFsID49IGNob3NlblRpbWVkYXlqcy52YWx1ZU9mKCkgJiYgdGhpcy5yYW5nZVZhbGlkaXR5ICYmICF0aGlzLnVzZXJJbnB1dEZsYWcpIHtcbiAgICAgICAgdGhpcy5jaG9zZW5UaW1lID0gZGF5anMudHoodGhpcy5maXJzdEludGVydmFsLCB0aGlzLnRpbWV6b25lKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgICAgY2hvc2VuVGltZWRheWpzID0gdGhpcy5nZXRkYXlqcyh0aGlzLmNob3NlblRpbWUpXG4gICAgICB9XG5cbiAgICAgIGlmKCh0aGlzLmdpdmVuVGltZUZsYWcgJiYgdGhpcy5naXZlblRpbWUpIHx8IHRoaXMubWluVGltZSApIHtcbiAgICAgICAgdGhpcy5jaG9zZW5UaW1lID0gZGF5anMudHoodGhpcy5taW5UaW1lIHx8IHRoaXMuZ2l2ZW5UaW1lLCB0aGlzLnRpbWV6b25lKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgIH1cbiAgICAgIGNob3NlblRpbWVkYXlqcyA9IHRoaXMuZ2V0ZGF5anModGhpcy5jaG9zZW5UaW1lKVxuXG4gICAgICBpZiAoIXRoaXMudXNlcklucHV0RmxhZykgdGhpcy5wb3B1bGF0ZURyb3Bkb3duKCk7XG4gICAgICB0aGlzLnVzZXJJbnB1dEZsYWcgPSBmYWxzZTtcbiAgICAgIFxuICAgICAgaWYodGhpcy5jaG9zZW5UaW1lKSB7XG4gICAgICAgIHRoaXMuaXNJbnZhbGlkID0gIXRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGhpcy5jaG9zZW5UaW1lLnRyaW0oKSk7XG4gICAgICAgIHRoaXMuZW1pdFRpbWUoe1xuICAgICAgICAgIHZhbGlkOiAhdGhpcy5pc0ludmFsaWQsXG4gICAgICAgICAgdGltZTogdGhpcy5jaG9zZW5UaW1lLFxuICAgICAgICAgIGVwb2NoOiBjaG9zZW5UaW1lZGF5anMudmFsdWVPZigpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZUNsb3Nlc3RJbnRlcnZhbCh0aGlzLmNob3NlblRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGVtaXRUaW1lKGRhdGE6IElUaW1lKTogdm9pZCB7XG4gICAgdGhpcy50aW1lRW1pdHRlci5lbWl0KGRhdGEpO1xuICB9XG5cbiAgLy8gZnVuY3Rpb24gdG8gZ2V0IGRheWpzIG9iamVjdCB3aGVuIHRpbWUgaXMgZ2l2ZW4gaW4gc3RyaW5nXG4gIGdldGRheWpzKHRpbWU6IHN0cmluZyA9ICcwMDowMCcpeztcbiAgICBpZighdGltZSB8fCB0eXBlb2YgdGltZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGltZSBtdXN0IGJlIGEgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgbGV0IGhvdXJzOiBudW1iZXI7XG4gICAgbGV0IG1pbnV0ZXM6IG51bWJlcjtcblxuICAgIGlmKHRoaXMuY2xvY2tGb3JtYXQgPT09IDI0KSB7XG4gICAgICBob3VycyA9IHBhcnNlSW50KHRpbWUuc3BsaXQoJzonKVswXSk7XG4gICAgICBtaW51dGVzID0gcGFyc2VJbnQodGltZS5zcGxpdCgnOicpWzFdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGltZVBhcnRzID0gdGltZS5zcGxpdCgnICcpO1xuICAgICAgY29uc3QgQU1fUE0gPSB0aW1lUGFydHM/LlsxXTtcbiAgICAgIGhvdXJzID0gIHBhcnNlSW50KHRpbWVQYXJ0cz8uWzBdPy5zcGxpdCgnOicpPy5bMF0pO1xuICAgICAgbWludXRlcyA9IHBhcnNlSW50KHRpbWVQYXJ0cz8uWzBdPy5zcGxpdCgnOicpPy5bMV0pO1xuXG4gICAgICBpZihBTV9QTT8udG9VcHBlckNhc2UoKSA9PT0gJ1BNJyAmJiBob3VycyAhPT0gMTIpIHtcbiAgICAgICAgaG91cnMgKz0gMTI7XG4gICAgICB9IGVsc2UgaWYoQU1fUE0/LnRvVXBwZXJDYXNlKCkgPT09ICdBTScgJiYgaG91cnMgPT09IDEyKSB7XG4gICAgICAgIGhvdXJzID0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGF5anMudHoodGhpcy5kYXRlQXNFcG9jaCwgdGhpcy50aW1lem9uZSkuYWRkKGhvdXJzLCAnaCcpLmFkZChtaW51dGVzLCAnbScpO1xuICB9XG5cbiAgY2xvc2VEcm9wZG93bigpIHtcbiAgICB0aGlzLmRpc3BheVRvb2xUaXAgPSBmYWxzZTtcbiAgICB0aGlzLnVzZXJJbnB1dEZsYWcgPSBmYWxzZTtcbiAgICB0aGlzLm9wZW5TdGF0dXMgPSBmYWxzZTtcbiAgICBpZiAodGhpcy50aW1lcGlja2VyRGlyZWN0aXZlKSB0aGlzLnRpbWVwaWNrZXJEaXJlY3RpdmUuZGVzdHJveU92ZXJsYXkoKTtcbiAgfVxuXG4gIC8vIHRvZ2dsZSB0aW1lcGlja2VyIGRyb3Bkb3duXG4gIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BheVRvb2xUaXAgPSB0cnVlO1xuICAgIHRoaXMub3BlblN0YXR1cyA9IHRydWU7XG4gIH1cblxuICBjaGVja1RpbWVWYWxpZGl0eSh0aW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBSRTEyID0gL14oKFswXVsxLTldfDFbMC0yXSk6KFswLTVdWzAtOV0pKCApPyhhbXxwbXxBTXxQTSkpJC9pO1xuICAgIGNvbnN0IFJFMjQgPSAvXihbMDFdWzAtOV18MlswLTNdKTpbMC01XVswLTldJC87XG4gICAgY29uc3QgUkUgPSB0aGlzLmNsb2NrRm9ybWF0ID09PSAxMiA/IFJFMTIgOiBSRTI0O1xuXG4gICAgY29uc3QgdGltZWRheWpzID0gdGhpcy5nZXRkYXlqcyh0aW1lKTtcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsIGlzIHNldCB0byB0aGUgc3RhcnQgb2YgdGhlIGRheVxuICAgIC8vIG9yIGEgdGltZSBpcyBhbHJlYWR5IHByb3ZpZGVkIHRvIHRoZSBjb21wb25lbnQgdG8gc2hvd1xuICAgIC8vIHRoZW4gd2UgZG9uJ3QgY2hlY2sgaXRzIHZhbGlkaXR5IGFnYWluc3QgdGhlIGN1cnJlbnQgdGltZVxuICAgIGlmIChcbiAgICAgIHRoaXMubWluVGltZSB8fCBcbiAgICAgIHRoaXMuZ2l2ZW5UaW1lIHx8XG4gICAgICAodGhpcy5maXJzdEludGVydmFsICYmXG4gICAgICBkYXlqcy50eih0aGlzLmZpcnN0SW50ZXJ2YWwsIHRoaXMudGltZXpvbmUpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpLnZhbHVlT2YoKSA9PT0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuc3RhcnRPZihcImRheVwiKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KS52YWx1ZU9mKCkpXG4gICAgKSB7XG4gICAgICBmbGFnID0gdGltZS5tYXRjaChSRSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYWcgPSB0aW1lLm1hdGNoKFJFKSAmJiB0aW1lZGF5anMuZGlmZihkYXlqcy50eihkYXlqcygpLCB0aGlzLnRpbWV6b25lKSwgXCJtXCIpID49IDAgPyB0cnVlOiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmxhZztcbiAgfVxuXG4gIC8vIHVwZGF0ZSBjaG9zZW4gdGltZSBhcyBzb29uIGFzIHRoZSB1c2VyIGNsaWNrcyBvbiBhbiBpbnRlcnZhbFxuICBvblRpbWVTZWxlY3QodGltZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pc0ludmFsaWQgPSAhdGhpcy5jaGVja1RpbWVWYWxpZGl0eSh0aW1lLnRyaW0oKSk7XG4gICAgaWYgKCF0aGlzLmlzSW52YWxpZCkge1xuICAgICAgdGhpcy5jaG9zZW5UaW1lID0gdGltZTtcbiAgICAgIHRoaXMuY2FsY3VsYXRlQ2xvc2VzdEludGVydmFsKHRoaXMuY2hvc2VuVGltZSk7XG4gICAgfVxuXG4gICAgY29uc3QgdGltZWRheWpzID0gdGhpcy5nZXRkYXlqcyh0aW1lKTtcbiAgICB0aGlzLmVtaXRUaW1lKHtcbiAgICAgIHZhbGlkOiAhdGhpcy5pc0ludmFsaWQsXG4gICAgICB0aW1lOiB0aW1lLFxuICAgICAgZXBvY2g6IHRpbWVkYXlqcy52YWx1ZU9mKCkgXG4gICAgfSk7XG4gICAgdGhpcy5vcGVuU3RhdHVzID0gZmFsc2U7XG4gICAgaWYgKHRoaXMudGltZXBpY2tlckRpcmVjdGl2ZSkgdGhpcy50aW1lcGlja2VyRGlyZWN0aXZlLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICAvLyBjaGVja3MgdmFsaWRpdHkgb2YgdGltZSBvbiBpbnB1dCBjaGFuZ2UgYW5kIGNhbGN1bGF0ZXMgdGhlIGNsb3Nlc3QgaW50ZXJ2YWxcbiAgb25UaW1lQ2hhbmdlKHRpbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaXNJbnZhbGlkID0gIXRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGltZS50cmltKCkpO1xuXG4gICAgaWYgKCF0aGlzLmlzSW52YWxpZCkge1xuICAgICAgdGhpcy51c2VySW5wdXRGbGFnID0gdHJ1ZTtcbiAgICAgIHRoaXMub3BlblN0YXR1cyA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMudGltZXBpY2tlckRpcmVjdGl2ZSkgdGhpcy50aW1lcGlja2VyRGlyZWN0aXZlLmRlc3Ryb3lPdmVybGF5KCk7XG4gICAgICB0aGlzLmNhbGN1bGF0ZUNsb3Nlc3RJbnRlcnZhbCh0aW1lKTtcbiAgICB9XG4gICAgY29uc3QgdGltZWRheWpzID0gdGhpcy5nZXRkYXlqcyh0aW1lKTtcbiAgICB0aGlzLmVtaXRUaW1lKHtcbiAgICAgIHZhbGlkOiAhdGhpcy5pc0ludmFsaWQsXG4gICAgICB0aW1lOiB0aW1lLFxuICAgICAgZXBvY2g6IHRpbWVkYXlqcy52YWx1ZU9mKCkgXG4gICAgfSk7XG4gIH1cblxuICBjYWxjdWxhdGVDbG9zZXN0SW50ZXJ2YWwodGltZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHJvdW5kZWRFcG9jaDogbnVtYmVyO1xuICAgIC8vIENvbnZlcnRpbmcgdGltZSBhbmQgZGF0ZSB0byBhIGRheWpzIG9iamVjdCBcbiAgICBjb25zdCBjaG9zZW5EYXRlID0gZGF5anMudHoodGhpcy5kYXRlQXNFcG9jaCwgdGhpcy50aW1lem9uZSkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKTsgLy8gMDUtMDEtMjAyNFxuICAgIGNvbnN0IHBhcnNlZFRpbWVXaXRoRGF0ZSA9IGRheWpzLnR6KGAke2Nob3NlbkRhdGV9ICR7dGltZX1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gLCB0aGlzLnRpbWV6b25lKTtcbiAgICAvLyBDb252ZXJ0aW5nIGRheWpzIG9iamVjdCB0byBlcG9jaFxuICAgIGNvbnN0IGNob3NlblRpbWVFcG9jaCA9IHBhcnNlZFRpbWVXaXRoRGF0ZS52YWx1ZU9mKCk7XG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChkYXlqcy50eihjaG9zZW5UaW1lRXBvY2gsIHRoaXMudGltZXpvbmUpLm1pbnV0ZSgpICUgdGhpcy5pbnRlcnZhbCk7XG5cbiAgICBpZiAodGhpcy5taW5UaW1lICYmICF0aGlzLmdpdmVuVGltZSkge1xuICAgICAgdGhpcy5pc0hpZ2hsaWdodGVkID0gMDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcm91bmRlZEVwb2NoID0gb2Zmc2V0ID49IHRoaXMuaW50ZXJ2YWwgLyAyID8gKGRheWpzLnR6KGNob3NlblRpbWVFcG9jaCwgdGhpcy50aW1lem9uZSkuc3VidHJhY3QodGhpcy5pbnRlcnZhbCAtIG9mZnNldCwgXCJtXCIpKS52YWx1ZU9mKCkgOiAoZGF5anMudHooY2hvc2VuVGltZUVwb2NoLCB0aGlzLnRpbWV6b25lKS5hZGQoIG9mZnNldCwgXCJtXCIpKS52YWx1ZU9mKCk7XG5cbiAgICAvLyBmaW5kaW5nIHRoZSBpbmRleCBvZiBlbGVtZW50IHRoYXQgbmVlZHMgdG8gYmUgaGlnaGxpZ2h0ZWRcbiAgICBpZiAoIGNob3NlblRpbWVFcG9jaCA+IGRheWpzLnR6KHRoaXMuZGF0ZUFzRXBvY2gsIHRoaXMudGltZXpvbmUpLmVuZE9mKFwiZGF5XCIpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWwsIFwibVwiKS52YWx1ZU9mKCkpIHtcbiAgICAgIHRoaXMuaXNIaWdobGlnaHRlZCA9IHRoaXMudGltZUludGVydmFscy5sZW5ndGggLSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByb3VuZGVkRXBvY2hkYXlqcyA9IGRheWpzLnR6KHJvdW5kZWRFcG9jaCwgdGhpcy50aW1lem9uZSk7XG4gICAgICB0aGlzLmlzSGlnaGxpZ2h0ZWQgPSB0aGlzLnRpbWVJbnRlcnZhbHMuZmluZEluZGV4KGludGVydmFsID0+IHtcbiAgICAgICAgY29uc3QgaW50ZXJ2YWxPYmogPSBkYXlqcy50eihgJHtjaG9zZW5EYXRlfSAke2ludGVydmFsfWAsIGBERC1NTS1ZWVlZICR7dGhpcy50aW1lRm9ybWF0fWAsIHRoaXMudGltZXpvbmUpO1xuICAgICAgICByZXR1cm4gaW50ZXJ2YWxPYmouaXNTYW1lKHJvdW5kZWRFcG9jaGRheWpzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gcG9wdWxhdGVzIHRoZSBkcm9wZG93biBhY2NvcmRpbmcgdG8gdGhlIGZpcnN0IGludGVydmFsIHJlY2VpdmVkXG4gIHBvcHVsYXRlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy50aW1lSW50ZXJ2YWxzID0gW107XG5cbiAgICAvLyBpZiBwaWNrZXIgaXMgdXNlZCBhcyBhbiBpbmRpdmlkdWFsIGNvbXBvbmVudFxuICAgIGlmICghdGhpcy5maXJzdEludGVydmFsKSB7XG4gICAgICAvLyBmaXJzdEludGVydmFsIGlzIGluaXRpYWxpc2VkIGFjY29yZGluZyB0byB0aGUgY3VycmVudCB0aW1lXG4gICAgICAvLyBpZiB0aGUgZGF0ZSBpcyBzYW1lIGFzIHRoZSBjdXJyZW50IGRhdGVcbiAgICAgIGlmIChkYXlqcy50eih0aGlzLmRhdGVBc0Vwb2NoLCB0aGlzLnRpbWV6b25lKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpID09PSBkYXlqcy50eihkYXlqcygpLCB0aGlzLnRpbWV6b25lKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpICYmICF0aGlzLm1pblRpbWUpIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChkYXlqcy50eihkYXlqcygpLCB0aGlzLnRpbWV6b25lKS5taW51dGUoKSAlIHRoaXMuaW50ZXJ2YWwpO1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWwgPSBkYXlqcy50eihkYXlqcygpLCB0aGlzLnRpbWV6b25lKS5hZGQob2Zmc2V0LCBcIm1cIikudmFsdWVPZigpO1xuICAgICAgfVxuICAgICAgLy8gaWYgbWluaW11bSB0aW1lIHRvIHNob3cgaXMgcHJvdmlkZWRcbiAgICAgIGVsc2UgaWYodGhpcy5taW5UaW1lKXtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5pbnRlcnZhbCAtIChkYXlqcy50eih0aGlzLm1pblRpbWUsIHRoaXMudGltZXpvbmUpLm1pbnV0ZSgpICUgdGhpcy5pbnRlcnZhbCk7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbCA9IGRheWpzLnR6KHRoaXMubWluVGltZSwgdGhpcy50aW1lem9uZSkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgIH1cbiAgICAgIC8vIGVsc2UgdGhlIGZpcnN0SW50ZXJ2YWwgaXMgaW5pdGlhbGlzZWQgYXMgc3RhcnQgb2YgZGF5XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsID0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuc3RhcnRPZihcImRheVwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYodGhpcy5naXZlblRpbWUgJiYgdGhpcy5naXZlblRpbWVGbGFnKXtcbiAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbCA9IGRheWpzLnR6KHRoaXMuZ2l2ZW5UaW1lLCB0aGlzLnRpbWV6b25lKS5zdGFydE9mKCdkJykudmFsdWVPZigpO1xuICAgICAgdGhpcy5naXZlblRpbWVGbGFnID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZUFzU3RyaW5nID0gZGF5anMudHoodGhpcy5kYXRlQXNFcG9jaCwgdGhpcy50aW1lem9uZSkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XG4gICAgY29uc3QgaW50ZXJ2YWxBc1N0cmluZyA9IGRheWpzLnR6KHRoaXMuZmlyc3RJbnRlcnZhbCwgdGhpcy50aW1lem9uZSkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgbGV0IHN0YXJ0ID0gZGF5anMudHooYCR7ZGF0ZUFzU3RyaW5nfSAke2ludGVydmFsQXNTdHJpbmd9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCwgdGhpcy50aW1lem9uZSk7XG4gICAgY29uc3QgZW5kID0gZGF5anMudHoodGhpcy5kYXRlQXNFcG9jaCwgdGhpcy50aW1lem9uZSkuZW5kT2YoJ2QnKTtcbiAgICB3aGlsZSAoc3RhcnQudmFsdWVPZigpIDwgZW5kLnZhbHVlT2YoKSkge1xuICAgICAgdGhpcy50aW1lSW50ZXJ2YWxzLnB1c2goc3RhcnQuZm9ybWF0KHRoaXMudGltZUZvcm1hdCkpO1xuICAgICAgc3RhcnQgPSBzdGFydC5hZGQodGhpcy5pbnRlcnZhbCwgXCJtXCIpO1xuICAgIH1cblxuICAgIC8vIGlmIHRoZSBzdGFydCB0aW1lIGlzIGVxdWFsIHRvIHRoZSBpbnRlcnZhbCBqdXN0IGJlZm9yZSBtaWRuaWdodFxuICAgIC8vIGFuZCB0aGUgc3RhcnQgZGF0ZSA9IGVuZCBkYXRlXG4gICAgLy8gcHVzaCAxMTo1OXBtIG9ubHlcbiAgICBpZiAodGhpcy50aW1lSW50ZXJ2YWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5jaG9zZW5UaW1lID0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuZW5kT2YoXCJkXCIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgdGhpcy50aW1lSW50ZXJ2YWxzLnB1c2goZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuZW5kT2YoXCJkXCIpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy50b29sdGlwRGlyZWN0aXZlKSB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuaGlkZVRvb2xUaXAoKTtcbiAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwidGltZXBpY2tlci1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0IH1cIiBbbmdDbGFzc109XCJ7J2Rpc2FibGUnOiBkaXNhYmxlfVwiPlxuICA8aW5wdXRcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgWyhuZ01vZGVsKV09XCJjaG9zZW5UaW1lXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblRpbWVDaGFuZ2UoY2hvc2VuVGltZSlcIlxuICAgIFtuZ0NsYXNzXT1cInsgaW52YWxpZDogaXNJbnZhbGlkIHx8ICFyYW5nZVZhbGlkaXR5IH1cIlxuICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGlucHV0V2lkdGggfVwiXG4gICAgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigpXCJcbiAgICBtaXNUb29sVGlwXG4gICAgW3Nob3dUb29sVGlwXT1cInNob3dUb29sdGlwICYmIChpc0ludmFsaWQgfHwgIXJhbmdlVmFsaWRpdHkpICYmIGRpc3BheVRvb2xUaXBcIlxuICAgIFt0ZXh0XT1cIidJbnZhbGlkIFRpbWUnXCJcbiAgICBbcG9zaXRpb25dPVwiJ3RvcCdcIlxuICAgIFtzaG93T25Ib3Zlcl09XCJmYWxzZVwiXG4gICAgI2lucHV0XG4gICAgY2RrT3ZlcmxheU9yaWdpblxuICAgIGNsYXNzPVwiaDdcIlxuICAvPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25Db250YWluZXIgbGliRHJvcGRvd25TY3JvbGwgbGliVGltZXBpY2tlciBbb3JpZ2luRWxdPVwiaW5wdXRcIiBbb3BlblN0YXR1c109XCJvcGVuU3RhdHVzXCIgKHN0YXR1c0VtaXR0ZXIpPVwiY2xvc2VEcm9wZG93bigpXCI+XG4gICAgPGRpdiAqbmdJZj1cIm9wZW5TdGF0dXNcIiBjbGFzcz1cInRpbWVwaWNrZXItZHJvcGRvd25cIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiBkcm9wZG93bldpZHRoIHx8IGlucHV0V2lkdGggfVwiPlxuICAgICAgPHVsICNkcm9wZG93bj5cbiAgICAgICAgPGxpICN0aW1lSW50ZXJ2YWwgKGNsaWNrKT1cIm9uVGltZVNlbGVjdChpbnRlcnZhbClcIiAqbmdGb3I9XCJsZXQgaW50ZXJ2YWwgb2YgdGltZUludGVydmFsczsgaW5kZXggYXMgaVwiIFtuZ0NsYXNzXT1cInsgaGlnaGxpZ2h0OiBpID09PSBpc0hpZ2hsaWdodGVkIH1cIj5cbiAgICAgICAgICB7eyBpbnRlcnZhbCB9fVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpYy11aS1jaGVjay0yNCBzZWxlY3RlZC1pY29uXCIgKm5nSWY9XCJpbnRlcnZhbCA9PT0gY2hvc2VuVGltZVwiPjwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -1,69 +0,0 @@
1
- import { Directive, Output } from '@angular/core';
2
- import { EventEmitter, Input } from "@angular/core";
3
- import { ConnectionPositionPair, OverlayConfig } from "@angular/cdk/overlay";
4
- import { TemplatePortal } from "@angular/cdk/portal";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/overlay";
7
- export class TimepickerDirective {
8
- set createOverlayOnInput(openStatus) {
9
- this.openStatus = openStatus;
10
- if (this.originEl && this.openStatus)
11
- this.createOverlay(this.originEl);
12
- }
13
- ;
14
- constructor(templateRef, overlay, viewContainerRef) {
15
- this.templateRef = templateRef;
16
- this.overlay = overlay;
17
- this.viewContainerRef = viewContainerRef;
18
- this.openStatus = false;
19
- this.statusEmitter = new EventEmitter();
20
- }
21
- createOverlay(origin) {
22
- const positions = [
23
- new ConnectionPositionPair({ originX: "start", originY: "bottom" }, { overlayX: "start", overlayY: "top" }, 0, 4),
24
- new ConnectionPositionPair({ originX: "end", originY: "bottom" }, { overlayX: "end", overlayY: "top" }, 0, 4)
25
- ];
26
- const overlayConfig = new OverlayConfig({
27
- hasBackdrop: true,
28
- backdropClass: "cdk-overlay-transparent-backdrop",
29
- positionStrategy: this.overlay
30
- .position()
31
- //connecting the dropdown overlay to the input element
32
- .flexibleConnectedTo(origin)
33
- .withPositions([...positions])
34
- .withPush(true)
35
- });
36
- this.overlayRef = this.overlay.create(overlayConfig);
37
- const dropdownPortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
38
- this.overlayRef.attach(dropdownPortal);
39
- this.overlayRef.backdropClick().subscribe(resp => {
40
- this.openStatus = false;
41
- this.statusEmitter.emit(false);
42
- if (this.overlay) {
43
- this.overlayRef.detach();
44
- }
45
- });
46
- }
47
- destroyOverlay() {
48
- if (this.overlay) {
49
- this.overlayRef.detach();
50
- }
51
- }
52
- static { this.ɵfac = function TimepickerDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TimepickerDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; }
53
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TimepickerDirective, selectors: [["", "libTimepicker", ""]], inputs: { originEl: "originEl", createOverlayOnInput: [0, "openStatus", "createOverlayOnInput"] }, outputs: { statusEmitter: "statusEmitter" } }); }
54
- }
55
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimepickerDirective, [{
56
- type: Directive,
57
- args: [{
58
- selector: '[libTimepicker]'
59
- }]
60
- }], () => [{ type: i0.TemplateRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }], { originEl: [{
61
- type: Input,
62
- args: ['originEl']
63
- }], statusEmitter: [{
64
- type: Output
65
- }], createOverlayOnInput: [{
66
- type: Input,
67
- args: ['openStatus']
68
- }] }); })();
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90aW1lcGlja2VyL3RpbWVwaWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixJQUEwQixvQkFBb0IsQ0FBQyxVQUFVO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFBQSxDQUFDO0lBRUYsWUFBb0IsV0FBaUMsRUFBVSxPQUFnQixFQUFVLGdCQUFrQztRQUF2RyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVRuSCxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRTFCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQU93RSxDQUFDO0lBRS9ILGFBQWEsQ0FBQyxNQUFXO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHO1lBQ2hCLElBQUksc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakgsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5RyxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDdEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGtDQUFrQztZQUNqRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTztpQkFDM0IsUUFBUSxFQUFFO2dCQUNYLHNEQUFzRDtpQkFDckQsbUJBQW1CLENBQUMsTUFBTSxDQUFDO2lCQUMzQixhQUFhLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO2lCQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDO1NBQ2xCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckQsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQztnQkFDZixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBRyxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO29IQTdDVSxtQkFBbUI7b0VBQW5CLG1CQUFtQjs7aUZBQW5CLG1CQUFtQjtjQUgvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjthQUM1QjtpR0FHb0IsUUFBUTtrQkFBMUIsS0FBSzttQkFBQyxVQUFVO1lBQ1AsYUFBYTtrQkFBdEIsTUFBTTtZQUVtQixvQkFBb0I7a0JBQTdDLEtBQUs7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tsaWJUaW1lcGlja2VyXSdcbn0pXG5leHBvcnQgY2xhc3MgVGltZXBpY2tlckRpcmVjdGl2ZSB7XG4gIHByaXZhdGUgb3BlblN0YXR1czogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ29yaWdpbkVsJykgb3JpZ2luRWwgOiBhbnk7XG4gIEBPdXRwdXQoKSBzdGF0dXNFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpOyBcblxuICBASW5wdXQoJ29wZW5TdGF0dXMnKSAgc2V0IGNyZWF0ZU92ZXJsYXlPbklucHV0KG9wZW5TdGF0dXMpe1xuICAgIHRoaXMub3BlblN0YXR1cyA9IG9wZW5TdGF0dXM7XG4gICAgaWYodGhpcy5vcmlnaW5FbCAmJiB0aGlzLm9wZW5TdGF0dXMpIHRoaXMuY3JlYXRlT3ZlcmxheSh0aGlzLm9yaWdpbkVsKTtcbiAgfTsgXG4gIHByaXZhdGUgb3ZlcmxheVJlZiE6IE92ZXJsYXlSZWY7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+LCBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICBjcmVhdGVPdmVybGF5KG9yaWdpbjogYW55KTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25zID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9LCAwLCA0KSxcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJlbmRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcImVuZFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9LCAwLCA0KVxuICAgIF07XG5cbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiBcImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCIsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXlcbiAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgLy9jb25uZWN0aW5nIHRoZSBkcm9wZG93biBvdmVybGF5IHRvIHRoZSBpbnB1dCBlbGVtZW50XG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoWy4uLnBvc2l0aW9uc10pXG4gICAgICAgIC53aXRoUHVzaCh0cnVlKVxuICAgIH0pO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgICBjb25zdCBkcm9wZG93blBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlUmVmLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2goZHJvcGRvd25Qb3J0YWwpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgdGhpcy5vcGVuU3RhdHVzID0gZmFsc2U7XG4gICAgICB0aGlzLnN0YXR1c0VtaXR0ZXIuZW1pdChmYWxzZSk7XG4gICAgICBpZih0aGlzLm92ZXJsYXkpe1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkZXN0cm95T3ZlcmxheSgpe1xuICAgIGlmKHRoaXMub3ZlcmxheSl7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgfVxuICB9XG4gIFxufVxuIl19