mis-crystal-design-system 18.0.5 → 18.0.6

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 +3 -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 +1 -1
  12. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +1 -1
  13. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +1 -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/esm2022/action-list/action-list.component.mjs +363 -0
  19. package/{esm2020 → esm2022}/action-list/action-list.module.mjs +5 -5
  20. package/{esm2020 → esm2022}/analytics/analytics.module.mjs +5 -5
  21. package/esm2022/analytics/analytics.service.mjs +64 -0
  22. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +536 -0
  23. package/{esm2020 → esm2022}/async-search-dropdown/async-dropdown.module.mjs +5 -5
  24. package/esm2022/button/button.component.mjs +88 -0
  25. package/esm2022/button/button.directive.mjs +61 -0
  26. package/{esm2020 → esm2022}/button/button.module.mjs +5 -5
  27. package/esm2022/checkbox/checkbox.component.mjs +124 -0
  28. package/{esm2020 → esm2022}/checkbox/checkbox.module.mjs +5 -5
  29. package/esm2022/chip/chip.component.mjs +82 -0
  30. package/{esm2020 → esm2022}/chip/chip.module.mjs +5 -5
  31. package/{esm2020 → esm2022}/datepicker_v2/datepicker.module.mjs +5 -5
  32. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +183 -0
  33. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +442 -0
  34. package/{esm2020/daterangepicker_v2 → esm2022/datepicker_v2}/utils/index.mjs +1 -1
  35. package/{esm2020 → esm2022}/daterangepicker_v2/daterangepicker.module.mjs +5 -5
  36. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +165 -0
  37. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +503 -0
  38. package/esm2022/daterangepicker_v2/utils/index.mjs +45 -0
  39. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +59 -0
  40. package/{esm2020 → esm2022}/drawer/drawer-ref.mjs +4 -4
  41. package/{esm2020 → esm2022}/drawer/drawer.module.mjs +5 -5
  42. package/{esm2020 → esm2022}/drawer/drawer.service.mjs +5 -5
  43. package/esm2022/dropdown/calculate-container-height.directive.mjs +41 -0
  44. package/esm2022/dropdown/dropdown.component.mjs +464 -0
  45. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +5 -5
  46. package/esm2022/dynamic-form/dynamic-form.component.mjs +1093 -0
  47. package/{esm2020 → esm2022}/dynamic-form/dynamic-form.module.mjs +13 -13
  48. package/esm2022/fab/fab.component.mjs +145 -0
  49. package/{esm2020 → esm2022}/fab/fab.module.mjs +5 -5
  50. package/esm2022/filter/filter-panel/filter-panel.component.mjs +396 -0
  51. package/{esm2020 → esm2022}/filter/filters.module.mjs +17 -17
  52. package/esm2022/filter/has-value.pipe.mjs +31 -0
  53. package/{esm2020 → esm2022}/input/directives/input/input.directive.mjs +6 -6
  54. package/{fesm2020/mis-crystal-design-system-input.mjs → esm2022/input/mis-input.component.mjs} +49 -109
  55. package/{esm2020 → esm2022}/input/mis-input.module.mjs +5 -5
  56. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +89 -0
  57. package/{esm2020 → esm2022}/input-stepper/input-stepper.module.mjs +5 -5
  58. package/esm2022/loader/loader.component.mjs +25 -0
  59. package/{esm2020 → esm2022}/loader/loader.module.mjs +5 -5
  60. package/esm2022/menu/menu-close.directive.mjs +25 -0
  61. package/{esm2020 → esm2022}/menu/menu.directive.mjs +7 -7
  62. package/{esm2020 → esm2022}/menu/menu.module.mjs +5 -5
  63. package/esm2022/mobile-filter/mobile-filter.component.mjs +180 -0
  64. package/{esm2020 → esm2022}/mobile-filter/mobile-filter.module.mjs +5 -5
  65. package/{esm2020 → esm2022}/modal/modal.module.mjs +5 -5
  66. package/esm2022/modal/modal.service.mjs +70 -0
  67. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +56 -0
  68. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +489 -0
  69. package/{esm2020 → esm2022}/multi-select-dropdown/multi-select-dropdown.module.mjs +5 -5
  70. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +516 -0
  71. package/{esm2020 → esm2022}/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +5 -5
  72. package/esm2022/phone-input/phone-input.component.mjs +72 -0
  73. package/{esm2020 → esm2022}/phone-input/phone-input.module.mjs +5 -5
  74. package/esm2022/radio-button/radio-button.component.mjs +57 -0
  75. package/{esm2020 → esm2022}/radio-button/radio-button.module.mjs +5 -5
  76. package/esm2022/ske-loader/ske-loader.component.mjs +54 -0
  77. package/{esm2020 → esm2022}/ske-loader/ske-loader.module.mjs +5 -5
  78. package/esm2022/slider/slider.component.mjs +46 -0
  79. package/{esm2020 → esm2022}/slider/slider.module.mjs +7 -7
  80. package/esm2022/snackbar/snackbar/snackbar.component.mjs +72 -0
  81. package/{esm2020 → esm2022}/snackbar/snackbar.module.mjs +5 -5
  82. package/esm2022/snackbar/snackbar.service.mjs +47 -0
  83. package/{esm2020 → esm2022}/specificdatepicker/specificdatepicker.module.mjs +5 -5
  84. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +646 -0
  85. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +196 -0
  86. package/esm2022/specificdatepicker/utils/index.mjs +45 -0
  87. package/esm2022/star-rating/star-rating.component.mjs +113 -0
  88. package/{esm2020 → esm2022}/star-rating/star-rating.module.mjs +5 -5
  89. package/esm2022/switch/switch.component.mjs +56 -0
  90. package/{esm2020 → esm2022}/switch/switch.module.mjs +5 -5
  91. package/esm2022/table/custom-table-cell.directive.mjs +42 -0
  92. package/esm2022/table/filter/filter.component.mjs +177 -0
  93. package/esm2022/table/sub-table/sub-table.component.mjs +192 -0
  94. package/esm2022/table/table.component.mjs +485 -0
  95. package/{esm2020 → esm2022}/table/table.module.mjs +5 -5
  96. package/esm2022/timepicker/timepicker.component.mjs +374 -0
  97. package/esm2022/timepicker/timepicker.directive.mjs +69 -0
  98. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +5 -5
  99. package/esm2022/timerangepicker/timerangepicker.component.mjs +237 -0
  100. package/{esm2020 → esm2022}/timerangepicker/timerangepicker.module.mjs +5 -5
  101. package/esm2022/toast/toast.component.mjs +51 -0
  102. package/{esm2020 → esm2022}/toast/toast.data.service.mjs +8 -8
  103. package/{esm2020 → esm2022}/toast/toast.module.mjs +5 -5
  104. package/esm2022/toast/toast.service.mjs +91 -0
  105. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +79 -0
  106. package/esm2022/tooltip/tooltip.directive.mjs +143 -0
  107. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +5 -5
  108. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +188 -0
  109. package/{esm2020 → esm2022}/virtual-scroll/virtual-scroll.module.mjs +7 -7
  110. package/esm2022/widgets/classes/async-widget.mjs +23 -0
  111. package/{esm2020 → esm2022}/widgets/classes/base-widget.mjs +1 -1
  112. package/esm2022/widgets/classes/sync-widget.mjs +20 -0
  113. package/{esm2020 → esm2022}/widgets/services/widget.service.mjs +5 -5
  114. package/{esm2020 → esm2022}/widgets/widgets.module.mjs +5 -5
  115. package/fab/fab.component.d.ts +4 -4
  116. package/{fesm2020 → fesm2022}/mis-crystal-design-system-action-list.mjs +106 -113
  117. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -0
  118. package/{fesm2020 → fesm2022}/mis-crystal-design-system-analytics.mjs +9 -9
  119. package/{fesm2020 → fesm2022}/mis-crystal-design-system-analytics.mjs.map +1 -1
  120. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +561 -0
  121. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  122. package/fesm2022/mis-crystal-design-system-button.mjs +173 -0
  123. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -0
  124. package/fesm2022/mis-crystal-design-system-checkbox.mjs +150 -0
  125. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -0
  126. package/fesm2022/mis-crystal-design-system-chip.mjs +108 -0
  127. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -0
  128. package/{fesm2020 → fesm2022}/mis-crystal-design-system-datepicker_v2.mjs +133 -140
  129. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  130. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +737 -0
  131. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  132. package/{fesm2020 → fesm2022}/mis-crystal-design-system-drawer.mjs +34 -33
  133. package/{fesm2020 → fesm2022}/mis-crystal-design-system-drawer.mjs.map +1 -1
  134. package/{fesm2020 → fesm2022}/mis-crystal-design-system-dropdown.mjs +176 -184
  135. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -0
  136. package/{fesm2020 → fesm2022}/mis-crystal-design-system-dynamic-form.mjs +441 -456
  137. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
  138. package/{fesm2020 → fesm2022}/mis-crystal-design-system-fab.mjs +48 -47
  139. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -0
  140. package/{fesm2020 → fesm2022}/mis-crystal-design-system-filter.mjs +113 -120
  141. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -0
  142. package/{fesm2020 → fesm2022}/mis-crystal-design-system-input-stepper.mjs +35 -34
  143. package/{fesm2020 → fesm2022}/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  144. package/fesm2022/mis-crystal-design-system-input.mjs +146 -0
  145. package/{fesm2020 → fesm2022}/mis-crystal-design-system-input.mjs.map +1 -1
  146. package/fesm2022/mis-crystal-design-system-loader.mjs +51 -0
  147. package/{fesm2020 → fesm2022}/mis-crystal-design-system-loader.mjs.map +1 -1
  148. package/{fesm2020 → fesm2022}/mis-crystal-design-system-menu.mjs +16 -16
  149. package/{fesm2020 → fesm2022}/mis-crystal-design-system-menu.mjs.map +1 -1
  150. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +205 -0
  151. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
  152. package/{fesm2020 → fesm2022}/mis-crystal-design-system-modal.mjs +34 -33
  153. package/{fesm2020 → fesm2022}/mis-crystal-design-system-modal.mjs.map +1 -1
  154. package/{fesm2020 → fesm2022}/mis-crystal-design-system-multi-select-dropdown.mjs +107 -109
  155. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  156. package/{fesm2020 → fesm2022}/mis-crystal-design-system-nested-multi-select-dropdown.mjs +128 -129
  157. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  158. package/{fesm2020 → fesm2022}/mis-crystal-design-system-phone-input.mjs +22 -21
  159. package/{fesm2020 → fesm2022}/mis-crystal-design-system-phone-input.mjs.map +1 -1
  160. package/fesm2022/mis-crystal-design-system-radio-button.mjs +83 -0
  161. package/{fesm2020 → fesm2022}/mis-crystal-design-system-radio-button.mjs.map +1 -1
  162. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +77 -0
  163. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  164. package/fesm2022/mis-crystal-design-system-slider.mjs +80 -0
  165. package/{fesm2020 → fesm2022}/mis-crystal-design-system-slider.mjs.map +1 -1
  166. package/{fesm2020 → fesm2022}/mis-crystal-design-system-snackbar.mjs +32 -32
  167. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -0
  168. package/{fesm2020 → fesm2022}/mis-crystal-design-system-specificdatepicker.mjs +204 -204
  169. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
  170. package/{fesm2020 → fesm2022}/mis-crystal-design-system-star-rating.mjs +29 -28
  171. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -0
  172. package/fesm2022/mis-crystal-design-system-switch.mjs +82 -0
  173. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -0
  174. package/{fesm2020 → fesm2022}/mis-crystal-design-system-table.mjs +314 -321
  175. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -0
  176. package/{fesm2020 → fesm2022}/mis-crystal-design-system-timepicker.mjs +78 -74
  177. package/{fesm2020 → fesm2022}/mis-crystal-design-system-timepicker.mjs.map +1 -1
  178. package/{fesm2020 → fesm2022}/mis-crystal-design-system-timerangepicker.mjs +26 -25
  179. package/{fesm2020 → fesm2022}/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  180. package/{fesm2020 → fesm2022}/mis-crystal-design-system-toast.mjs +35 -34
  181. package/{fesm2020 → fesm2022}/mis-crystal-design-system-toast.mjs.map +1 -1
  182. package/{fesm2020 → fesm2022}/mis-crystal-design-system-tooltip.mjs +47 -47
  183. package/{fesm2020 → fesm2022}/mis-crystal-design-system-tooltip.mjs.map +1 -1
  184. package/{fesm2020 → fesm2022}/mis-crystal-design-system-virtual-scroll.mjs +50 -52
  185. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
  186. package/{fesm2020 → fesm2022}/mis-crystal-design-system-widgets.mjs +4 -4
  187. package/{fesm2020 → fesm2022}/mis-crystal-design-system-widgets.mjs.map +1 -1
  188. package/filter/filter-panel/filter-panel.component.d.ts +1 -1
  189. package/input/directives/input/input.directive.d.ts +1 -1
  190. package/input/mis-input.component.d.ts +1 -1
  191. package/input-stepper/input-stepper/input-stepper.component.d.ts +1 -1
  192. package/loader/loader.component.d.ts +1 -1
  193. package/menu/menu-close.directive.d.ts +1 -1
  194. package/menu/menu.directive.d.ts +1 -1
  195. package/mobile-filter/mobile-filter.component.d.ts +1 -1
  196. package/modal/module-wrapper/module-wrapper.component.d.ts +1 -1
  197. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +1 -1
  198. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +1 -1
  199. package/package.json +125 -207
  200. package/phone-input/phone-input.component.d.ts +1 -1
  201. package/radio-button/radio-button.component.d.ts +1 -1
  202. package/ske-loader/ske-loader.component.d.ts +1 -1
  203. package/slider/slider.component.d.ts +1 -1
  204. package/snackbar/snackbar/snackbar.component.d.ts +1 -1
  205. package/specificdatepicker/models/sdp-config.model.d.ts +1 -1
  206. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +1 -1
  207. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +1 -1
  208. package/star-rating/star-rating.component.d.ts +1 -1
  209. package/switch/switch.component.d.ts +1 -1
  210. package/table/custom-table-cell.directive.d.ts +1 -1
  211. package/table/filter/filter.component.d.ts +1 -1
  212. package/table/sub-table/sub-table.component.d.ts +1 -1
  213. package/table/table.component.d.ts +1 -1
  214. package/timepicker/timepicker.component.d.ts +1 -1
  215. package/timepicker/timepicker.directive.d.ts +1 -1
  216. package/timerangepicker/timerange.namespace.d.ts +1 -1
  217. package/timerangepicker/timerangepicker.component.d.ts +1 -1
  218. package/toast/toast.component.d.ts +1 -1
  219. package/toast/toast.service.d.ts +1 -1
  220. package/tooltip/models/tooltip.model.d.ts +1 -1
  221. package/tooltip/tooltip-container/tooltip.component.d.ts +1 -1
  222. package/tooltip/tooltip.directive.d.ts +1 -1
  223. package/virtual-scroll/virtual-scroll.component.d.ts +1 -1
  224. package/widgets/interfaces/widgets.model.d.ts +1 -1
  225. package/esm2020/action-list/action-list.component.mjs +0 -370
  226. package/esm2020/analytics/analytics.service.mjs +0 -64
  227. package/esm2020/async-search-dropdown/async-dropdown.component.mjs +0 -525
  228. package/esm2020/button/button.component.mjs +0 -87
  229. package/esm2020/button/button.directive.mjs +0 -61
  230. package/esm2020/checkbox/checkbox.component.mjs +0 -124
  231. package/esm2020/chip/chip.component.mjs +0 -82
  232. package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +0 -183
  233. package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +0 -449
  234. package/esm2020/datepicker_v2/utils/index.mjs +0 -45
  235. package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +0 -165
  236. package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +0 -502
  237. package/esm2020/drawer/drawer-body/drawer-body.component.mjs +0 -58
  238. package/esm2020/dropdown/calculate-container-height.directive.mjs +0 -41
  239. package/esm2020/dropdown/dropdown.component.mjs +0 -472
  240. package/esm2020/dynamic-form/dynamic-form.component.mjs +0 -1108
  241. package/esm2020/fab/fab.component.mjs +0 -144
  242. package/esm2020/filter/filter-panel/filter-panel.component.mjs +0 -403
  243. package/esm2020/filter/has-value.pipe.mjs +0 -31
  244. package/esm2020/input/mis-input.component.mjs +0 -84
  245. package/esm2020/input-stepper/input-stepper/input-stepper.component.mjs +0 -88
  246. package/esm2020/loader/loader.component.mjs +0 -24
  247. package/esm2020/menu/menu-close.directive.mjs +0 -25
  248. package/esm2020/mobile-filter/mobile-filter.component.mjs +0 -181
  249. package/esm2020/modal/modal.service.mjs +0 -70
  250. package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +0 -55
  251. package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +0 -491
  252. package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +0 -517
  253. package/esm2020/phone-input/phone-input.component.mjs +0 -71
  254. package/esm2020/radio-button/radio-button.component.mjs +0 -56
  255. package/esm2020/ske-loader/ske-loader.component.mjs +0 -53
  256. package/esm2020/slider/slider.component.mjs +0 -45
  257. package/esm2020/snackbar/snackbar/snackbar.component.mjs +0 -72
  258. package/esm2020/snackbar/snackbar.service.mjs +0 -47
  259. package/esm2020/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +0 -646
  260. package/esm2020/specificdatepicker/tz-specificdatepicker.directive.mjs +0 -196
  261. package/esm2020/specificdatepicker/utils/index.mjs +0 -45
  262. package/esm2020/star-rating/star-rating.component.mjs +0 -112
  263. package/esm2020/switch/switch.component.mjs +0 -55
  264. package/esm2020/table/custom-table-cell.directive.mjs +0 -42
  265. package/esm2020/table/filter/filter.component.mjs +0 -176
  266. package/esm2020/table/sub-table/sub-table.component.mjs +0 -193
  267. package/esm2020/table/table.component.mjs +0 -492
  268. package/esm2020/timepicker/timepicker.component.mjs +0 -370
  269. package/esm2020/timepicker/timepicker.directive.mjs +0 -69
  270. package/esm2020/timerangepicker/timerangepicker.component.mjs +0 -236
  271. package/esm2020/toast/toast.component.mjs +0 -50
  272. package/esm2020/toast/toast.service.mjs +0 -91
  273. package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +0 -79
  274. package/esm2020/tooltip/tooltip.directive.mjs +0 -143
  275. package/esm2020/virtual-scroll/virtual-scroll.component.mjs +0 -190
  276. package/esm2020/widgets/classes/async-widget.mjs +0 -23
  277. package/esm2020/widgets/classes/sync-widget.mjs +0 -20
  278. package/fesm2015/mis-crystal-design-system-action-list.mjs +0 -446
  279. package/fesm2015/mis-crystal-design-system-action-list.mjs.map +0 -1
  280. package/fesm2015/mis-crystal-design-system-analytics.mjs +0 -87
  281. package/fesm2015/mis-crystal-design-system-analytics.mjs.map +0 -1
  282. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +0 -618
  283. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
  284. package/fesm2015/mis-crystal-design-system-button.mjs +0 -189
  285. package/fesm2015/mis-crystal-design-system-button.mjs.map +0 -1
  286. package/fesm2015/mis-crystal-design-system-checkbox.mjs +0 -166
  287. package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +0 -1
  288. package/fesm2015/mis-crystal-design-system-chip.mjs +0 -123
  289. package/fesm2015/mis-crystal-design-system-chip.mjs.map +0 -1
  290. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +0 -751
  291. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
  292. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +0 -769
  293. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
  294. package/fesm2015/mis-crystal-design-system-drawer.mjs +0 -185
  295. package/fesm2015/mis-crystal-design-system-drawer.mjs.map +0 -1
  296. package/fesm2015/mis-crystal-design-system-dropdown.mjs +0 -616
  297. package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +0 -1
  298. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +0 -1337
  299. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
  300. package/fesm2015/mis-crystal-design-system-fab.mjs +0 -186
  301. package/fesm2015/mis-crystal-design-system-fab.mjs.map +0 -1
  302. package/fesm2015/mis-crystal-design-system-filter.mjs +0 -559
  303. package/fesm2015/mis-crystal-design-system-filter.mjs.map +0 -1
  304. package/fesm2015/mis-crystal-design-system-input-stepper.mjs +0 -124
  305. package/fesm2015/mis-crystal-design-system-input-stepper.mjs.map +0 -1
  306. package/fesm2015/mis-crystal-design-system-input.mjs +0 -165
  307. package/fesm2015/mis-crystal-design-system-input.mjs.map +0 -1
  308. package/fesm2015/mis-crystal-design-system-loader.mjs +0 -57
  309. package/fesm2015/mis-crystal-design-system-loader.mjs.map +0 -1
  310. package/fesm2015/mis-crystal-design-system-menu.mjs +0 -135
  311. package/fesm2015/mis-crystal-design-system-menu.mjs.map +0 -1
  312. package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +0 -227
  313. package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
  314. package/fesm2015/mis-crystal-design-system-modal.mjs +0 -184
  315. package/fesm2015/mis-crystal-design-system-modal.mjs.map +0 -1
  316. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +0 -550
  317. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
  318. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -559
  319. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
  320. package/fesm2015/mis-crystal-design-system-phone-input.mjs +0 -107
  321. package/fesm2015/mis-crystal-design-system-phone-input.mjs.map +0 -1
  322. package/fesm2015/mis-crystal-design-system-radio-button.mjs +0 -89
  323. package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +0 -1
  324. package/fesm2015/mis-crystal-design-system-ske-loader.mjs +0 -86
  325. package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +0 -1
  326. package/fesm2015/mis-crystal-design-system-slider.mjs +0 -88
  327. package/fesm2015/mis-crystal-design-system-slider.mjs.map +0 -1
  328. package/fesm2015/mis-crystal-design-system-snackbar.mjs +0 -175
  329. package/fesm2015/mis-crystal-design-system-snackbar.mjs.map +0 -1
  330. package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs +0 -970
  331. package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
  332. package/fesm2015/mis-crystal-design-system-star-rating.mjs +0 -145
  333. package/fesm2015/mis-crystal-design-system-star-rating.mjs.map +0 -1
  334. package/fesm2015/mis-crystal-design-system-switch.mjs +0 -88
  335. package/fesm2015/mis-crystal-design-system-switch.mjs.map +0 -1
  336. package/fesm2015/mis-crystal-design-system-table.mjs +0 -1045
  337. package/fesm2015/mis-crystal-design-system-table.mjs.map +0 -1
  338. package/fesm2015/mis-crystal-design-system-timepicker.mjs +0 -484
  339. package/fesm2015/mis-crystal-design-system-timepicker.mjs.map +0 -1
  340. package/fesm2015/mis-crystal-design-system-timerangepicker.mjs +0 -273
  341. package/fesm2015/mis-crystal-design-system-timerangepicker.mjs.map +0 -1
  342. package/fesm2015/mis-crystal-design-system-toast.mjs +0 -214
  343. package/fesm2015/mis-crystal-design-system-toast.mjs.map +0 -1
  344. package/fesm2015/mis-crystal-design-system-tooltip.mjs +0 -272
  345. package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +0 -1
  346. package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs +0 -259
  347. package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
  348. package/fesm2015/mis-crystal-design-system-widgets.mjs +0 -131
  349. package/fesm2015/mis-crystal-design-system-widgets.mjs.map +0 -1
  350. package/fesm2020/mis-crystal-design-system-action-list.mjs.map +0 -1
  351. package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs +0 -550
  352. package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
  353. package/fesm2020/mis-crystal-design-system-button.mjs +0 -172
  354. package/fesm2020/mis-crystal-design-system-button.mjs.map +0 -1
  355. package/fesm2020/mis-crystal-design-system-checkbox.mjs +0 -150
  356. package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +0 -1
  357. package/fesm2020/mis-crystal-design-system-chip.mjs +0 -108
  358. package/fesm2020/mis-crystal-design-system-chip.mjs.map +0 -1
  359. package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
  360. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +0 -736
  361. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
  362. package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +0 -1
  363. package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
  364. package/fesm2020/mis-crystal-design-system-fab.mjs.map +0 -1
  365. package/fesm2020/mis-crystal-design-system-filter.mjs.map +0 -1
  366. package/fesm2020/mis-crystal-design-system-loader.mjs +0 -50
  367. package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +0 -206
  368. package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
  369. package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
  370. package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
  371. package/fesm2020/mis-crystal-design-system-radio-button.mjs +0 -82
  372. package/fesm2020/mis-crystal-design-system-ske-loader.mjs +0 -76
  373. package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +0 -1
  374. package/fesm2020/mis-crystal-design-system-slider.mjs +0 -79
  375. package/fesm2020/mis-crystal-design-system-snackbar.mjs.map +0 -1
  376. package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
  377. package/fesm2020/mis-crystal-design-system-star-rating.mjs.map +0 -1
  378. package/fesm2020/mis-crystal-design-system-styles.mjs +0 -4
  379. package/fesm2020/mis-crystal-design-system-styles.mjs.map +0 -1
  380. package/fesm2020/mis-crystal-design-system-switch.mjs +0 -81
  381. package/fesm2020/mis-crystal-design-system-switch.mjs.map +0 -1
  382. package/fesm2020/mis-crystal-design-system-table.mjs.map +0 -1
  383. package/fesm2020/mis-crystal-design-system-utils.mjs +0 -24
  384. package/fesm2020/mis-crystal-design-system-utils.mjs.map +0 -1
  385. package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
  386. package/fesm2020/mis-crystal-design-system.mjs +0 -24
  387. package/fesm2020/mis-crystal-design-system.mjs.map +0 -1
  388. /package/{esm2020 → esm2022}/action-list/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/action-list/mis-crystal-design-system-action-list.mjs +0 -0
  390. /package/{esm2020 → esm2022}/action-list/public_api.mjs +0 -0
  391. /package/{esm2020 → esm2022}/analytics/index.mjs +0 -0
  392. /package/{esm2020 → esm2022}/analytics/mis-crystal-design-system-analytics.mjs +0 -0
  393. /package/{esm2020 → esm2022}/analytics/public_api.mjs +0 -0
  394. /package/{esm2020 → esm2022}/async-search-dropdown/index.mjs +0 -0
  395. /package/{esm2020 → esm2022}/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs +0 -0
  396. /package/{esm2020 → esm2022}/async-search-dropdown/public_api.mjs +0 -0
  397. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  398. /package/{esm2020 → esm2022}/button/mis-crystal-design-system-button.mjs +0 -0
  399. /package/{esm2020 → esm2022}/button/public_api.mjs +0 -0
  400. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  401. /package/{esm2020 → esm2022}/checkbox/mis-crystal-design-system-checkbox.mjs +0 -0
  402. /package/{esm2020 → esm2022}/checkbox/public_api.mjs +0 -0
  403. /package/{esm2020 → esm2022}/chip/index.mjs +0 -0
  404. /package/{esm2020 → esm2022}/chip/mis-crystal-design-system-chip.mjs +0 -0
  405. /package/{esm2020 → esm2022}/chip/public_api.mjs +0 -0
  406. /package/{esm2020 → esm2022}/datepicker_v2/datepicker-constants.mjs +0 -0
  407. /package/{esm2020 → esm2022}/datepicker_v2/index.mjs +0 -0
  408. /package/{esm2020 → esm2022}/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +0 -0
  409. /package/{esm2020 → esm2022}/datepicker_v2/models/dp-config.model.mjs +0 -0
  410. /package/{esm2020 → esm2022}/datepicker_v2/public_api.mjs +0 -0
  411. /package/{esm2020 → esm2022}/daterangepicker_v2/daterangepicker-constants.mjs +0 -0
  412. /package/{esm2020 → esm2022}/daterangepicker_v2/index.mjs +0 -0
  413. /package/{esm2020 → esm2022}/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +0 -0
  414. /package/{esm2020 → esm2022}/daterangepicker_v2/models/drp-config.model.mjs +0 -0
  415. /package/{esm2020 → esm2022}/daterangepicker_v2/public_api.mjs +0 -0
  416. /package/{esm2020 → esm2022}/drawer/drawer-constants.mjs +0 -0
  417. /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
  418. /package/{esm2020 → esm2022}/drawer/mis-crystal-design-system-drawer.mjs +0 -0
  419. /package/{esm2020 → esm2022}/drawer/public_api.mjs +0 -0
  420. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  421. /package/{esm2020 → esm2022}/dropdown/mis-crystal-design-system-dropdown.mjs +0 -0
  422. /package/{esm2020 → esm2022}/dropdown/public_api.mjs +0 -0
  423. /package/{esm2020 → esm2022}/dynamic-form/dynamic-form.namespace.mjs +0 -0
  424. /package/{esm2020 → esm2022}/dynamic-form/index.mjs +0 -0
  425. /package/{esm2020 → esm2022}/dynamic-form/mis-crystal-design-system-dynamic-form.mjs +0 -0
  426. /package/{esm2020 → esm2022}/dynamic-form/public_api.mjs +0 -0
  427. /package/{esm2020 → esm2022}/fab/index.mjs +0 -0
  428. /package/{esm2020 → esm2022}/fab/mis-crystal-design-system-fab.mjs +0 -0
  429. /package/{esm2020 → esm2022}/fab/public_api.mjs +0 -0
  430. /package/{esm2020 → esm2022}/filter/animations/slideFromRight.mjs +0 -0
  431. /package/{esm2020 → esm2022}/filter/index.mjs +0 -0
  432. /package/{esm2020 → esm2022}/filter/mis-crystal-design-system-filter.mjs +0 -0
  433. /package/{esm2020 → esm2022}/filter/public_api.mjs +0 -0
  434. /package/{esm2020 → esm2022}/index.mjs +0 -0
  435. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/input/mis-crystal-design-system-input.mjs +0 -0
  437. /package/{esm2020 → esm2022}/input/public_api.mjs +0 -0
  438. /package/{esm2020 → esm2022}/input-stepper/index.mjs +0 -0
  439. /package/{esm2020 → esm2022}/input-stepper/mis-crystal-design-system-input-stepper.mjs +0 -0
  440. /package/{esm2020 → esm2022}/input-stepper/public_api.mjs +0 -0
  441. /package/{esm2020 → esm2022}/loader/index.mjs +0 -0
  442. /package/{esm2020 → esm2022}/loader/mis-crystal-design-system-loader.mjs +0 -0
  443. /package/{esm2020 → esm2022}/loader/public_api.mjs +0 -0
  444. /package/{esm2020 → esm2022}/menu/index.mjs +0 -0
  445. /package/{esm2020 → esm2022}/menu/mis-crystal-design-system-menu.mjs +0 -0
  446. /package/{esm2020 → esm2022}/menu/public_api.mjs +0 -0
  447. /package/{esm2020 → esm2022}/mis-crystal-design-system.mjs +0 -0
  448. /package/{esm2020 → esm2022}/mobile-filter/index.mjs +0 -0
  449. /package/{esm2020 → esm2022}/mobile-filter/mis-crystal-design-system-mobile-filter.mjs +0 -0
  450. /package/{esm2020 → esm2022}/mobile-filter/public_api.mjs +0 -0
  451. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  452. /package/{esm2020 → esm2022}/modal/mis-crystal-design-system-modal.mjs +0 -0
  453. /package/{esm2020 → esm2022}/modal/modal-constants.mjs +0 -0
  454. /package/{esm2020 → esm2022}/modal/modal-ref.mjs +0 -0
  455. /package/{esm2020 → esm2022}/modal/public_api.mjs +0 -0
  456. /package/{esm2020 → esm2022}/multi-select-dropdown/index.mjs +0 -0
  457. /package/{esm2020 → esm2022}/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs +0 -0
  458. /package/{esm2020 → esm2022}/multi-select-dropdown/public_api.mjs +0 -0
  459. /package/{esm2020 → esm2022}/nested-multi-select-dropdown/index.mjs +0 -0
  460. /package/{esm2020 → esm2022}/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -0
  461. /package/{esm2020 → esm2022}/nested-multi-select-dropdown/public_api.mjs +0 -0
  462. /package/{esm2020 → esm2022}/phone-input/index.mjs +0 -0
  463. /package/{esm2020 → esm2022}/phone-input/mis-crystal-design-system-phone-input.mjs +0 -0
  464. /package/{esm2020 → esm2022}/phone-input/public_api.mjs +0 -0
  465. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  466. /package/{esm2020 → esm2022}/radio-button/index.mjs +0 -0
  467. /package/{esm2020 → esm2022}/radio-button/mis-crystal-design-system-radio-button.mjs +0 -0
  468. /package/{esm2020 → esm2022}/radio-button/public_api.mjs +0 -0
  469. /package/{esm2020 → esm2022}/ske-loader/index.mjs +0 -0
  470. /package/{esm2020 → esm2022}/ske-loader/mis-crystal-design-system-ske-loader.mjs +0 -0
  471. /package/{esm2020 → esm2022}/ske-loader/public_api.mjs +0 -0
  472. /package/{esm2020 → esm2022}/slider/index.mjs +0 -0
  473. /package/{esm2020 → esm2022}/slider/mis-crystal-design-system-slider.mjs +0 -0
  474. /package/{esm2020 → esm2022}/slider/public_api.mjs +0 -0
  475. /package/{esm2020 → esm2022}/snackbar/index.mjs +0 -0
  476. /package/{esm2020 → esm2022}/snackbar/mis-crystal-design-system-snackbar.mjs +0 -0
  477. /package/{esm2020 → esm2022}/snackbar/public_api.mjs +0 -0
  478. /package/{esm2020 → esm2022}/specificdatepicker/daterangepicker-constants.mjs +0 -0
  479. /package/{esm2020 → esm2022}/specificdatepicker/index.mjs +0 -0
  480. /package/{esm2020 → esm2022}/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs +0 -0
  481. /package/{esm2020 → esm2022}/specificdatepicker/models/sdp-config.model.mjs +0 -0
  482. /package/{esm2020 → esm2022}/specificdatepicker/public_api.mjs +0 -0
  483. /package/{esm2020 → esm2022}/star-rating/index.mjs +0 -0
  484. /package/{esm2020 → esm2022}/star-rating/mis-crystal-design-system-star-rating.mjs +0 -0
  485. /package/{esm2020 → esm2022}/star-rating/public_api.mjs +0 -0
  486. /package/{esm2020 → esm2022}/styles/index.mjs +0 -0
  487. /package/{esm2020 → esm2022}/styles/mis-crystal-design-system-styles.mjs +0 -0
  488. /package/{esm2020 → esm2022}/styles/public_api.mjs +0 -0
  489. /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
  490. /package/{esm2020 → esm2022}/switch/mis-crystal-design-system-switch.mjs +0 -0
  491. /package/{esm2020 → esm2022}/switch/public_api.mjs +0 -0
  492. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  493. /package/{esm2020 → esm2022}/table/mis-crystal-design-system-table.mjs +0 -0
  494. /package/{esm2020 → esm2022}/table/public_api.mjs +0 -0
  495. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  496. /package/{esm2020 → esm2022}/timepicker/mis-crystal-design-system-timepicker.mjs +0 -0
  497. /package/{esm2020 → esm2022}/timepicker/public_api.mjs +0 -0
  498. /package/{esm2020 → esm2022}/timepicker/time.namespace.mjs +0 -0
  499. /package/{esm2020 → esm2022}/timerangepicker/index.mjs +0 -0
  500. /package/{esm2020 → esm2022}/timerangepicker/mis-crystal-design-system-timerangepicker.mjs +0 -0
  501. /package/{esm2020 → esm2022}/timerangepicker/public_api.mjs +0 -0
  502. /package/{esm2020 → esm2022}/timerangepicker/timerange.namespace.mjs +0 -0
  503. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  504. /package/{esm2020 → esm2022}/toast/mis-crystal-design-system-toast.mjs +0 -0
  505. /package/{esm2020 → esm2022}/toast/public_api.mjs +0 -0
  506. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  507. /package/{esm2020 → esm2022}/tooltip/mis-crystal-design-system-tooltip.mjs +0 -0
  508. /package/{esm2020 → esm2022}/tooltip/models/tooltip.model.mjs +0 -0
  509. /package/{esm2020 → esm2022}/tooltip/public_api.mjs +0 -0
  510. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  511. /package/{esm2020 → esm2022}/utils/mis-crystal-design-system-utils.mjs +0 -0
  512. /package/{esm2020 → esm2022}/virtual-scroll/index.mjs +0 -0
  513. /package/{esm2020 → esm2022}/virtual-scroll/mis-crystal-design-system-virtual-scroll.mjs +0 -0
  514. /package/{esm2020 → esm2022}/virtual-scroll/public_api.mjs +0 -0
  515. /package/{esm2020 → esm2022}/virtual-scroll/virtual-scroll.constants.mjs +0 -0
  516. /package/{esm2020 → esm2022}/widgets/classes/widget-group.mjs +0 -0
  517. /package/{esm2020 → esm2022}/widgets/index.mjs +0 -0
  518. /package/{esm2020 → esm2022}/widgets/interfaces/widgets.model.mjs +0 -0
  519. /package/{esm2020 → esm2022}/widgets/mis-crystal-design-system-widgets.mjs +0 -0
  520. /package/{esm2020 → esm2022}/widgets/public_api.mjs +0 -0
  521. /package/{fesm2015 → fesm2022}/mis-crystal-design-system-styles.mjs +0 -0
  522. /package/{fesm2015 → fesm2022}/mis-crystal-design-system-styles.mjs.map +0 -0
  523. /package/{fesm2015 → fesm2022}/mis-crystal-design-system-utils.mjs +0 -0
  524. /package/{fesm2015 → fesm2022}/mis-crystal-design-system-utils.mjs.map +0 -0
  525. /package/{fesm2015 → fesm2022}/mis-crystal-design-system.mjs +0 -0
  526. /package/{fesm2015 → fesm2022}/mis-crystal-design-system.mjs.map +0 -0
@@ -1,449 +0,0 @@
1
- import { Component, HostListener, Inject } from "@angular/core";
2
- import { CONTAINER_DATA, DATE_FORMAT } from "../datepicker-constants";
3
- import { getMonth } from "../utils";
4
- import dayjs, { tz } from 'dayjs';
5
- import timezone from 'dayjs/plugin/timezone';
6
- import utc from 'dayjs/plugin/utc';
7
- import isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
8
- import isSameOrBefore from 'dayjs/plugin/isSameOrBefore';
9
- import customParseFormat from 'dayjs/plugin/customParseFormat';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "mis-crystal-design-system/toast";
12
- import * as i2 from "@angular/common";
13
- import * as i3 from "mis-crystal-design-system/button";
14
- import * as i4 from "@angular/cdk/a11y";
15
- function TzDpContainerComponent_div_6_Template(rf, ctx) { if (rf & 1) {
16
- const _r8 = i0.ɵɵgetCurrentView();
17
- i0.ɵɵnamespaceSVG();
18
- i0.ɵɵnamespaceHTML();
19
- i0.ɵɵelementStart(0, "div", 15);
20
- i0.ɵɵlistener("click", function TzDpContainerComponent_div_6_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.toggleMonthSelector()); });
21
- i0.ɵɵtext(1);
22
- i0.ɵɵelementEnd();
23
- } if (rf & 2) {
24
- const ctx_r0 = i0.ɵɵnextContext();
25
- i0.ɵɵadvance(1);
26
- i0.ɵɵtextInterpolate1(" ", ctx_r0.isYearSelectionFlow ? ctx_r0.selectedYear : ctx_r0.availableMonths[ctx_r0.currentMonthNumber], " ");
27
- } }
28
- function TzDpContainerComponent_div_7_Template(rf, ctx) { if (rf & 1) {
29
- const _r10 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵnamespaceSVG();
31
- i0.ɵɵnamespaceHTML();
32
- i0.ɵɵelementStart(0, "div", 16);
33
- i0.ɵɵlistener("click", function TzDpContainerComponent_div_7_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.toggleYearSelector()); });
34
- i0.ɵɵtext(1);
35
- i0.ɵɵelementEnd();
36
- } if (rf & 2) {
37
- const ctx_r1 = i0.ɵɵnextContext();
38
- i0.ɵɵadvance(1);
39
- i0.ɵɵtextInterpolate1(" ", ctx_r1.isSelectingYear ? ctx_r1.yearRange : ctx_r1.currentYearNumber, " ");
40
- } }
41
- const _c0 = function (a0, a1) { return { "disable-month": a0, "select-month": a1 }; };
42
- function TzDpContainerComponent_div_12_div_2_Template(rf, ctx) { if (rf & 1) {
43
- const _r15 = i0.ɵɵgetCurrentView();
44
- i0.ɵɵelementStart(0, "div", 20);
45
- i0.ɵɵlistener("click", function TzDpContainerComponent_div_12_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r15); const i_r13 = restoredCtx.index; const month_r12 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(!ctx_r14.disabledMonths[i_r13] && ctx_r14.selectMonth(month_r12)); });
46
- i0.ɵɵtext(1);
47
- i0.ɵɵelementEnd();
48
- } if (rf & 2) {
49
- const month_r12 = ctx.$implicit;
50
- const i_r13 = ctx.index;
51
- const ctx_r11 = i0.ɵɵnextContext(2);
52
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(2, _c0, ctx_r11.disabledMonths[i_r13], !ctx_r11.disabledMonths[ctx_r11.currentMonthNumber] && month_r12 === ctx_r11.availableMonths[ctx_r11.currentMonthNumber]));
53
- i0.ɵɵadvance(1);
54
- i0.ɵɵtextInterpolate1(" ", month_r12, " ");
55
- } }
56
- function TzDpContainerComponent_div_12_Template(rf, ctx) { if (rf & 1) {
57
- i0.ɵɵelementStart(0, "div", 17)(1, "div", 18);
58
- i0.ɵɵtemplate(2, TzDpContainerComponent_div_12_div_2_Template, 2, 5, "div", 19);
59
- i0.ɵɵelementEnd()();
60
- } if (rf & 2) {
61
- const ctx_r2 = i0.ɵɵnextContext();
62
- i0.ɵɵadvance(2);
63
- i0.ɵɵproperty("ngForOf", ctx_r2.availableMonths);
64
- } }
65
- const _c1 = function (a0, a1) { return { "disable-year": a0, "select-year": a1 }; };
66
- function TzDpContainerComponent_div_13_div_2_Template(rf, ctx) { if (rf & 1) {
67
- const _r20 = i0.ɵɵgetCurrentView();
68
- i0.ɵɵelementStart(0, "div", 23);
69
- i0.ɵɵlistener("click", function TzDpContainerComponent_div_13_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const i_r18 = restoredCtx.index; const year_r17 = restoredCtx.$implicit; const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(!ctx_r19.disabledYears[i_r18] && ctx_r19.selectYear(year_r17)); });
70
- i0.ɵɵtext(1);
71
- i0.ɵɵelementEnd();
72
- } if (rf & 2) {
73
- const year_r17 = ctx.$implicit;
74
- const i_r18 = ctx.index;
75
- const ctx_r16 = i0.ɵɵnextContext(2);
76
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(2, _c1, ctx_r16.disabledYears[i_r18], year_r17 === ctx_r16.currentYearNumber));
77
- i0.ɵɵadvance(1);
78
- i0.ɵɵtextInterpolate1(" ", year_r17, " ");
79
- } }
80
- function TzDpContainerComponent_div_13_Template(rf, ctx) { if (rf & 1) {
81
- i0.ɵɵelementStart(0, "div", 21)(1, "div", 18);
82
- i0.ɵɵtemplate(2, TzDpContainerComponent_div_13_div_2_Template, 2, 5, "div", 22);
83
- i0.ɵɵelementEnd()();
84
- } if (rf & 2) {
85
- const ctx_r3 = i0.ɵɵnextContext();
86
- i0.ɵɵadvance(2);
87
- i0.ɵɵproperty("ngForOf", ctx_r3.availableYears);
88
- } }
89
- const _c2 = function (a0) { return { "current-day": a0 }; };
90
- function TzDpContainerComponent_div_14_div_1_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵelementStart(0, "div", 26)(1, "span", 27);
92
- i0.ɵɵtext(2);
93
- i0.ɵɵelementEnd()();
94
- } if (rf & 2) {
95
- const weekDay_r22 = ctx.$implicit;
96
- i0.ɵɵadvance(1);
97
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c2, weekDay_r22.isCurrentDay));
98
- i0.ɵɵadvance(1);
99
- i0.ɵɵtextInterpolate(weekDay_r22.label);
100
- } }
101
- function TzDpContainerComponent_div_14_Template(rf, ctx) { if (rf & 1) {
102
- i0.ɵɵelementStart(0, "div", 24);
103
- i0.ɵɵtemplate(1, TzDpContainerComponent_div_14_div_1_Template, 3, 4, "div", 25);
104
- i0.ɵɵelementEnd();
105
- } if (rf & 2) {
106
- const ctx_r4 = i0.ɵɵnextContext();
107
- i0.ɵɵadvance(1);
108
- i0.ɵɵproperty("ngForOf", ctx_r4.weekDays);
109
- } }
110
- const _c3 = function (a0, a1, a2) { return { "current-day": a0, "selected-day": a1, "disabled-day": a2 }; };
111
- function TzDpContainerComponent_div_15_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
112
- i0.ɵɵelementStart(0, "span", 32);
113
- i0.ɵɵtext(1);
114
- i0.ɵɵelementEnd();
115
- } if (rf & 2) {
116
- const day_r24 = i0.ɵɵnextContext().$implicit;
117
- const ctx_r25 = i0.ɵɵnextContext(2);
118
- i0.ɵɵproperty("tabindex", day_r24.isDisabledDay ? -1 : 0)("ngClass", i0.ɵɵpureFunction3(4, _c3, day_r24.isCurrentDay, !ctx_r25.localSelectedDate ? day_r24.isSelectedDay : day_r24 === ctx_r25.localSelectedDate, day_r24.isDisabledDay));
119
- i0.ɵɵattribute("aria-label", ctx_r25.retractDayMonth(day_r24.date, ctx_r25.currentMonth, ctx_r25.currentYearNumber));
120
- i0.ɵɵadvance(1);
121
- i0.ɵɵtextInterpolate1(" ", day_r24.date, " ");
122
- } }
123
- const _c4 = function (a0, a1, a2) { return { "selected-day": a0, "disabled-day": a1, "is-valid-date": a2 }; };
124
- function TzDpContainerComponent_div_15_div_1_Template(rf, ctx) { if (rf & 1) {
125
- const _r28 = i0.ɵɵgetCurrentView();
126
- i0.ɵɵelementStart(0, "div", 30);
127
- i0.ɵɵlistener("click", function TzDpContainerComponent_div_15_div_1_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r28); const day_r24 = restoredCtx.$implicit; const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.selectDay(day_r24)); })("keyup.enter", function TzDpContainerComponent_div_15_div_1_Template_div_keyup_enter_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r28); const day_r24 = restoredCtx.$implicit; const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.selectDay(day_r24)); });
128
- i0.ɵɵtemplate(1, TzDpContainerComponent_div_15_div_1_span_1_Template, 2, 8, "span", 31);
129
- i0.ɵɵelementEnd();
130
- } if (rf & 2) {
131
- const day_r24 = ctx.$implicit;
132
- const ctx_r23 = i0.ɵɵnextContext(2);
133
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(2, _c4, !ctx_r23.localSelectedDate ? day_r24.isSelectedDay : day_r24 === ctx_r23.localSelectedDate, day_r24.isDisabledDay, day_r24.date > 0 && !day_r24.isSelectedDay));
134
- i0.ɵɵadvance(1);
135
- i0.ɵɵproperty("ngIf", day_r24.date > 0);
136
- } }
137
- function TzDpContainerComponent_div_15_Template(rf, ctx) { if (rf & 1) {
138
- i0.ɵɵelementStart(0, "div", 28);
139
- i0.ɵɵtemplate(1, TzDpContainerComponent_div_15_div_1_Template, 2, 6, "div", 29);
140
- i0.ɵɵelementEnd();
141
- } if (rf & 2) {
142
- const ctx_r5 = i0.ɵɵnextContext();
143
- i0.ɵɵadvance(1);
144
- i0.ɵɵproperty("ngForOf", ctx_r5.currentMonthDates);
145
- } }
146
- function TzDpContainerComponent_div_16_Template(rf, ctx) { if (rf & 1) {
147
- const _r31 = i0.ɵɵgetCurrentView();
148
- i0.ɵɵelementStart(0, "div", 33)(1, "button", 34);
149
- i0.ɵɵlistener("click", function TzDpContainerComponent_div_16_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r30.cancelDatePicker()); });
150
- i0.ɵɵtext(2, "Cancel");
151
- i0.ɵɵelementEnd();
152
- i0.ɵɵelementStart(3, "button", 35);
153
- i0.ɵɵlistener("click", function TzDpContainerComponent_div_16_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r31); const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.applyDate()); });
154
- i0.ɵɵtext(4, "Apply");
155
- i0.ɵɵelementEnd()();
156
- } if (rf & 2) {
157
- const ctx_r6 = i0.ɵɵnextContext();
158
- i0.ɵɵadvance(3);
159
- i0.ɵɵproperty("disabled", !(ctx_r6.data.date || ctx_r6.localSelectedDate.date));
160
- } }
161
- const _c5 = function (a0) { return { "disabled-month": a0 }; };
162
- dayjs.extend(utc);
163
- dayjs.extend(timezone);
164
- dayjs.extend(customParseFormat);
165
- dayjs.extend(isSameOrAfter);
166
- dayjs.extend(isSameOrBefore);
167
- export class TzDpContainerComponent {
168
- constructor(data, toast) {
169
- this.toast = toast;
170
- this.parseZoneInstance = (...args) => {
171
- return dayjs(...args);
172
- };
173
- this.rawWeekDays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
174
- this.weekDays = [];
175
- this.currentMonthDates = [];
176
- this.isPreviousMonthDisabled = false;
177
- this.isNextMonthDisabled = false;
178
- this.allowBookingOnDisabledDay = false;
179
- this.isSelectingMonth = false;
180
- this.isSelectingYear = false;
181
- this.availableYears = [];
182
- this.availableMonths = [];
183
- this.disabledMonths = [];
184
- this.disabledYears = [];
185
- this.isYearSelectionFlow = false;
186
- this.data = data;
187
- if (this.data?.dpConfig?.timezone) {
188
- this.parseZoneInstance = (...args) => {
189
- return tz(args[0], args[1] || 'DD/MM/YYYY', this.data.dpConfig.timezone);
190
- };
191
- }
192
- this.currentMonthNumber = this.parseZoneInstance().month();
193
- this.currentMonth = getMonth(this.currentMonthNumber);
194
- this.currentYearNumber = this.parseZoneInstance().year();
195
- this.weekDays = this.rawWeekDays.map((day, index) => ({
196
- label: `${day[0]}${day.slice(1).toLowerCase()}`,
197
- isCurrentDay: this.parseZoneInstance().day() === index
198
- }));
199
- if (!this.data?.dpConfig?.format) {
200
- this.data.dpConfig = {
201
- ...this.data.dpConfig,
202
- format: DATE_FORMAT
203
- };
204
- }
205
- if (!this.data?.date) {
206
- this.data.date = this.parseZoneInstance().format(this.data.dpConfig.format);
207
- }
208
- this.availableMonths = Array.from({ length: 12 }, (_, i) => dayjs().month(i).format('MMMM'));
209
- this.availableYears = Array.from({ length: 12 }, (_, index) => this.currentYearNumber - 6 + index);
210
- }
211
- retractDayMonth(day, month, year) {
212
- return `${day} ${month} ${year}`;
213
- }
214
- ngOnInit() {
215
- this.currentDateInstance();
216
- this.calculateMinMaxDays();
217
- this.calculateDisabledMonthsAndYears();
218
- }
219
- currentDateInstance() {
220
- const selectedDate = dayjs(this.data.date, this.data.dpConfig.format);
221
- if (selectedDate.isValid()) {
222
- this.selectedYear = this.currentYearNumber = selectedDate.year();
223
- this.currentMonthNumber = selectedDate.month();
224
- this.currentMonth = getMonth(this.currentMonthNumber);
225
- }
226
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
227
- }
228
- calculateMinMaxDays() {
229
- const currentInstance = this.parseZoneInstance().year(this.currentYearNumber).month(this.currentMonthNumber);
230
- const minDate = !!this.data.dpConfig.minDate ? this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format) : dayjs('invalid');
231
- if (minDate.isValid()) {
232
- this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance, "month");
233
- }
234
- const maxDate = !!this.data.dpConfig.maxDate ? this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
235
- if (maxDate.isValid()) {
236
- this.isNextMonthDisabled = maxDate.isSameOrBefore(currentInstance, "month");
237
- }
238
- }
239
- calculateDisabledMonthsAndYears() {
240
- const minDate = !!this.data.dpConfig.minDate ? this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format) : dayjs('invalid');
241
- const maxDate = !!this.data.dpConfig.maxDate ? this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
242
- this.disabledMonths = this.availableMonths.map((month, index) => {
243
- const monthDate = this.parseZoneInstance().year(this.selectedYear).month(index);
244
- return (minDate.isValid() && monthDate.isBefore(minDate, 'month')) ||
245
- (maxDate.isValid() && monthDate.isAfter(maxDate, 'month'));
246
- });
247
- this.disabledYears = this.availableYears.map((year) => {
248
- const yearDate = this.parseZoneInstance().year(year);
249
- return (minDate.isValid() && yearDate.isBefore(minDate, 'year')) ||
250
- (maxDate.isValid() && yearDate.isAfter(maxDate, 'year'));
251
- });
252
- if (this.isSelectingYear) {
253
- this.isPreviousMonthDisabled = minDate.isValid() && ((this.selectedYear - 6) <= minDate.year());
254
- this.isNextMonthDisabled = maxDate.isValid() && ((this.selectedYear + 5) >= maxDate.year());
255
- }
256
- }
257
- get yearRange() {
258
- return `${this.selectedYear - 6} - ${this.selectedYear + 5}`;
259
- }
260
- navigateView(direction) {
261
- if ((direction === 'NEXT' && (this.isNextMonthDisabled || this.isSelectingMonth)) ||
262
- (direction === 'PREVIOUS' && (this.isPreviousMonthDisabled || this.isSelectingMonth))) {
263
- return;
264
- }
265
- if (this.isSelectingYear) {
266
- this.selectedYear += direction === "NEXT" ? 12 : -12;
267
- this.availableYears = Array.from({ length: 12 }, (_, index) => this.selectedYear - 6 + index);
268
- }
269
- else {
270
- let thisMonth = dayjs().year(this.currentYearNumber).month(this.currentMonthNumber);
271
- thisMonth = direction === "NEXT" ? thisMonth.add(1, "month") : thisMonth.subtract(1, "month");
272
- this.currentMonthNumber = thisMonth.month();
273
- this.currentMonth = getMonth(this.currentMonthNumber);
274
- this.selectedYear = this.currentYearNumber = thisMonth.year();
275
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
276
- }
277
- this.calculateMinMaxDays();
278
- this.calculateDisabledMonthsAndYears();
279
- }
280
- generateDates(month, currentYearNumber) {
281
- let dates = [];
282
- const daysInMonth = dayjs().year(currentYearNumber).month(month).daysInMonth();
283
- for (let currentDate = 1; currentDate <= daysInMonth; currentDate++) {
284
- const date = this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate);
285
- const dateString = date.format(this.data.dpConfig.format);
286
- let isDisabledDay = this.data.datesDisabled.some(d => d === dateString);
287
- const minDate = !!this.data.dpConfig.minDate ? this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format) : dayjs('invalid');
288
- if (!isDisabledDay && minDate.isValid()) {
289
- isDisabledDay = minDate.isAfter(date, "day");
290
- }
291
- const maxDate = !!this.data.dpConfig.maxDate ? this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format) : dayjs('invalid');
292
- if (!isDisabledDay && maxDate.isValid()) {
293
- isDisabledDay = maxDate.isBefore(date, "day");
294
- }
295
- dates.push({
296
- date: currentDate,
297
- weekDay: date.day(),
298
- isCurrentDay: this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data.dpConfig.format) ===
299
- this.parseZoneInstance().format(this.data.dpConfig.format),
300
- isSelectedDay: !isDisabledDay && date.format(this.data.dpConfig.format) === this.data.date,
301
- toastMessage: this.data.messages.find(q => date.format(this.data.dpConfig.format) === q.date)?.message || "",
302
- isDisabledDay
303
- });
304
- }
305
- for (let i = dates[0].weekDay; i > 0; i--) {
306
- dates.unshift({ date: 0, weekDay: i - 1 });
307
- }
308
- return dates;
309
- }
310
- selectDay(day) {
311
- this.currentSelection = this.parseZoneInstance().year(this.currentYearNumber).month(this.currentMonthNumber).date(day.date);
312
- const maxDate = !!this.data.dpConfig.maxDate ? this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format).endOf("day") : dayjs('invalid');
313
- const minDate = !!this.data.dpConfig.maxDate ? this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format).startOf("day") : dayjs('invalid');
314
- this.allowBookingOnDisabledDay = this.data.allowBookingOnDisabledDay;
315
- if (day.date <= 0)
316
- return;
317
- if ((this.currentSelection.isSameOrAfter(minDate) && this.currentSelection.isSameOrBefore(maxDate) && this.allowBookingOnDisabledDay) || (!day.isDisabledDay && !this.allowBookingOnDisabledDay)) {
318
- this.localSelectedDate = day;
319
- if (!this.data.dpConfig.showApplyButton) {
320
- this.applyDate(day);
321
- }
322
- }
323
- if (day.toastMessage || (this.allowBookingOnDisabledDay && day.toastMessage)) {
324
- this.toast.displayMsg(day.toastMessage, 4000);
325
- }
326
- }
327
- applyDate(day) {
328
- if (day || this.localSelectedDate) {
329
- this.data.dateChange(dayjs()
330
- .year(this.currentYearNumber)
331
- .month(this.currentMonthNumber)
332
- .date(day ? day.date : this.localSelectedDate.date)
333
- .format(this.data.dpConfig.format));
334
- }
335
- else {
336
- this.cancelDatePicker();
337
- }
338
- }
339
- closeOnEsc() {
340
- this.cancelDatePicker();
341
- }
342
- cancelDatePicker() {
343
- this.data.dateChange("");
344
- }
345
- toggleMonthSelector() {
346
- if (this.isYearSelectionFlow)
347
- return;
348
- this.isSelectingMonth = !this.isSelectingMonth;
349
- this.isSelectingYear = false;
350
- this.calculateDisabledMonthsAndYears();
351
- }
352
- toggleYearSelector() {
353
- this.isSelectingYear = !this.isSelectingYear;
354
- this.selectedYear = this.currentYearNumber;
355
- this.availableYears = Array.from({ length: 12 }, (_, index) => this.selectedYear - 6 + index);
356
- this.isSelectingMonth = false;
357
- this.calculateDisabledMonthsAndYears();
358
- }
359
- resetDateSelection() {
360
- this.localSelectedDate = {
361
- date: 0,
362
- weekDay: 0,
363
- isCurrentDay: false,
364
- isSelectedDay: false,
365
- isDisabledDay: false,
366
- toastMessage: ''
367
- };
368
- this.data.date = '';
369
- }
370
- selectMonth(month) {
371
- this.currentMonthNumber = this.availableMonths.indexOf(month);
372
- this.currentMonth = getMonth(this.currentMonthNumber);
373
- this.isSelectingMonth = false;
374
- this.isYearSelectionFlow = false;
375
- this.resetDateSelection();
376
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
377
- this.calculateMinMaxDays();
378
- }
379
- selectYear(year) {
380
- this.selectedYear = this.currentYearNumber = year;
381
- this.isSelectingYear = false;
382
- this.isSelectingMonth = true;
383
- this.isYearSelectionFlow = true;
384
- this.resetDateSelection();
385
- this.calculateDisabledMonthsAndYears();
386
- }
387
- }
388
- TzDpContainerComponent.ɵfac = function TzDpContainerComponent_Factory(t) { return new (t || TzDpContainerComponent)(i0.ɵɵdirectiveInject(CONTAINER_DATA), i0.ɵɵdirectiveInject(i1.ToastService)); };
389
- TzDpContainerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TzDpContainerComponent, selectors: [["mis-tz-dp"]], hostBindings: function TzDpContainerComponent_HostBindings(rf, ctx) { if (rf & 1) {
390
- i0.ɵɵlistener("keydown.esc", function TzDpContainerComponent_keydown_esc_HostBindingHandler() { return ctx.closeOnEsc(); });
391
- } }, decls: 17, vars: 15, consts: [["aria-label", "date picker", "cdkTrapFocus", "", 1, "datepicker-container", 3, "ngClass", "cdkTrapFocusAutoCapture"], ["tabindex", "-1", "cdkFocusInitial", ""], [1, "datepicker-container__header"], ["tabindex", "0", "aria-label", "Previous Month", 1, "datepicker-container__arrow__icon", 3, "ngClass", "click", "keyup.enter"], ["width", "20", "height", "16", "viewBox", "0 0 20 16", "fill", "none", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z", "fill", "#181F33"], ["class", "month-header", 3, "click", 4, "ngIf"], ["class", "year-header", 3, "click", 4, "ngIf"], ["tabindex", "0", "aria-label", "Next Month", 1, "datepicker-container__arrow__icon", 3, "ngClass", "click", "keyup.enter"], [1, "datepicker-container__body"], ["class", "month-selector", 4, "ngIf"], ["class", "year-selector", 4, "ngIf"], ["class", "datepicker-container__weekdays", 4, "ngIf"], ["class", "datepicker-container__days", 4, "ngIf"], ["class", "datepicker-container__footer", 4, "ngIf"], [1, "month-header", 3, "click"], [1, "year-header", 3, "click"], [1, "month-selector"], [1, "row"], ["class", "month", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "month", 3, "ngClass", "click"], [1, "year-selector"], ["class", "year", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "year", 3, "ngClass", "click"], [1, "datepicker-container__weekdays"], ["class", "datepicker-container__weekday", 4, "ngFor", "ngForOf"], [1, "datepicker-container__weekday"], [3, "ngClass"], [1, "datepicker-container__days"], ["class", "datepicker-container__day", 3, "ngClass", "click", "keyup.enter", 4, "ngFor", "ngForOf"], [1, "datepicker-container__day", 3, "ngClass", "click", "keyup.enter"], [3, "tabindex", "ngClass", 4, "ngIf"], [3, "tabindex", "ngClass"], [1, "datepicker-container__footer"], ["mis-button", "", "size", "md", "type", "'none'", 3, "click"], ["mis-button", "", "size", "md", "type", "primary", 3, "disabled", "click"]], template: function TzDpContainerComponent_Template(rf, ctx) { if (rf & 1) {
392
- i0.ɵɵelementStart(0, "div", 0);
393
- i0.ɵɵelement(1, "div", 1);
394
- i0.ɵɵelementStart(2, "div", 2)(3, "div", 3);
395
- i0.ɵɵlistener("click", function TzDpContainerComponent_Template_div_click_3_listener() { return ctx.navigateView("PREVIOUS"); })("keyup.enter", function TzDpContainerComponent_Template_div_keyup_enter_3_listener() { return ctx.navigateView("PREVIOUS"); });
396
- i0.ɵɵnamespaceSVG();
397
- i0.ɵɵelementStart(4, "svg", 4);
398
- i0.ɵɵelement(5, "path", 5);
399
- i0.ɵɵelementEnd()();
400
- i0.ɵɵtemplate(6, TzDpContainerComponent_div_6_Template, 2, 1, "div", 6);
401
- i0.ɵɵtemplate(7, TzDpContainerComponent_div_7_Template, 2, 1, "div", 7);
402
- i0.ɵɵnamespaceHTML();
403
- i0.ɵɵelementStart(8, "div", 8);
404
- i0.ɵɵlistener("click", function TzDpContainerComponent_Template_div_click_8_listener() { return ctx.navigateView("NEXT"); })("keyup.enter", function TzDpContainerComponent_Template_div_keyup_enter_8_listener() { return ctx.navigateView("NEXT"); });
405
- i0.ɵɵnamespaceSVG();
406
- i0.ɵɵelementStart(9, "svg", 4);
407
- i0.ɵɵelement(10, "path", 5);
408
- i0.ɵɵelementEnd()()();
409
- i0.ɵɵnamespaceHTML();
410
- i0.ɵɵelementStart(11, "div", 9);
411
- i0.ɵɵtemplate(12, TzDpContainerComponent_div_12_Template, 3, 1, "div", 10);
412
- i0.ɵɵtemplate(13, TzDpContainerComponent_div_13_Template, 3, 1, "div", 11);
413
- i0.ɵɵtemplate(14, TzDpContainerComponent_div_14_Template, 2, 1, "div", 12);
414
- i0.ɵɵtemplate(15, TzDpContainerComponent_div_15_Template, 2, 1, "div", 13);
415
- i0.ɵɵelementEnd();
416
- i0.ɵɵtemplate(16, TzDpContainerComponent_div_16_Template, 5, 1, "div", 14);
417
- i0.ɵɵelementEnd();
418
- } if (rf & 2) {
419
- i0.ɵɵproperty("ngClass", ctx.data.disableBoxShadow ? "remove-box-shadow" : "")("cdkTrapFocusAutoCapture", true);
420
- i0.ɵɵadvance(3);
421
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c5, ctx.isPreviousMonthDisabled || ctx.isSelectingMonth));
422
- i0.ɵɵadvance(3);
423
- i0.ɵɵproperty("ngIf", !ctx.isSelectingYear);
424
- i0.ɵɵadvance(1);
425
- i0.ɵɵproperty("ngIf", !ctx.isSelectingMonth);
426
- i0.ɵɵadvance(1);
427
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c5, ctx.isNextMonthDisabled || ctx.isSelectingMonth));
428
- i0.ɵɵadvance(4);
429
- i0.ɵɵproperty("ngIf", ctx.isSelectingMonth && !ctx.isSelectingYear);
430
- i0.ɵɵadvance(1);
431
- i0.ɵɵproperty("ngIf", ctx.isSelectingYear && !ctx.isSelectingMonth);
432
- i0.ɵɵadvance(1);
433
- i0.ɵɵproperty("ngIf", !ctx.isSelectingMonth && !ctx.isSelectingYear);
434
- i0.ɵɵadvance(1);
435
- i0.ɵɵproperty("ngIf", !ctx.isSelectingMonth && !ctx.isSelectingYear);
436
- i0.ɵɵadvance(1);
437
- i0.ɵɵproperty("ngIf", ctx.data.dpConfig.showApplyButton);
438
- } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.ButtonDirective, i4.CdkTrapFocus], 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%], .datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .month[_ngcontent-%COMP%], .datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .year[_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%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-disabled: #929DAB;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3}.datepicker-container[_ngcontent-%COMP%]{background:#ffffff;border:1px solid #e0e0e0;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;-webkit-user-select:none;user-select:none;box-sizing:border-box;width:290px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%]{display:flex;height:32px;margin:16px;justify-content:space-between;align-items:center;width:258px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] .month-header[_ngcontent-%COMP%], .datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] .year-header[_ngcontent-%COMP%]{padding:8px;border-radius:10px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] .month-header[_ngcontent-%COMP%]:hover, .datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] .year-header[_ngcontent-%COMP%]:hover{cursor:pointer;background-color:#e6ebf7}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] .datepicker-container__arrow__icon[_ngcontent-%COMP%]{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] .datepicker-container__arrow__icon.disabled-month[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] .datepicker-container__arrow__icon[_ngcontent-%COMP%]:not(.disabled-month):hover{cursor:pointer;background-color:#cbddfb}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__header[_ngcontent-%COMP%] .datepicker-container__arrow__icon[_ngcontent-%COMP%]:nth-child(1){transform:rotate(180deg)}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%]{width:258px;height:100%;margin:0 16px 16px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .month[_ngcontent-%COMP%], .datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .year[_ngcontent-%COMP%]{padding:10px 6px;cursor:pointer;border-radius:5px;text-align:center;background-color:#fff}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .month[_ngcontent-%COMP%]:hover, .datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .year[_ngcontent-%COMP%]:hover{background-color:#cbddfb}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .disable-month[_ngcontent-%COMP%], .datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .disable-year[_ngcontent-%COMP%]{cursor:default;color:#c8cdd3}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .disable-month[_ngcontent-%COMP%]:hover, .datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .disable-year[_ngcontent-%COMP%]:hover{background-color:transparent}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .select-month[_ngcontent-%COMP%], .datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .select-year[_ngcontent-%COMP%]{background-color:#0937b2;color:#fff}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .select-month[_ngcontent-%COMP%]:hover, .datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .select-year[_ngcontent-%COMP%]:hover{cursor:pointer;background-color:#cbddfb}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__weekdays[_ngcontent-%COMP%]{width:100%;display:flex;padding-bottom:10px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__weekdays[_ngcontent-%COMP%] .datepicker-container__weekday[_ngcontent-%COMP%]{width:36px;height:18px;text-align:center}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__weekdays[_ngcontent-%COMP%] .datepicker-container__weekday[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:#c7c7c7}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__weekdays[_ngcontent-%COMP%] .datepicker-container__weekday[_ngcontent-%COMP%] span.current-day[_ngcontent-%COMP%]{font-weight:700;letter-spacing:.25px;color:#181f33}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:2px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day[_ngcontent-%COMP%]{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:4px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day.selected-day[_ngcontent-%COMP%]{background-color:#0937b2;cursor:pointer}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day.disabled-day[_ngcontent-%COMP%]{cursor:default}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day.disabled-day[_ngcontent-%COMP%]:hover{background-color:transparent}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day.is-valid-date[_ngcontent-%COMP%]:not(.disabled-day):not(.selected-day):hover{background-color:#cbddfb;cursor:pointer}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day.is-valid-date[_ngcontent-%COMP%]:not(.disabled-day):not(.selected-day):hover span.selected-day[_ngcontent-%COMP%]{color:#181f33!important}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:#181f33}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day[_ngcontent-%COMP%] span.current-day[_ngcontent-%COMP%]{font-weight:700;letter-spacing:.25px}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day[_ngcontent-%COMP%] span.selected-day[_ngcontent-%COMP%]{color:#fff}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__body[_ngcontent-%COMP%] .datepicker-container__days[_ngcontent-%COMP%] .datepicker-container__day[_ngcontent-%COMP%] span.disabled-day[_ngcontent-%COMP%]{color:#c7c7c7}.datepicker-container[_ngcontent-%COMP%] .datepicker-container__footer[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:8px;bottom:0;align-items:center;position:sticky;padding:16px;border-top:1px solid #e0e0e0}.remove-box-shadow[_ngcontent-%COMP%]{box-shadow:none!important;border:none!important;border-radius:0!important}"] });
439
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TzDpContainerComponent, [{
440
- type: Component,
441
- args: [{ selector: "mis-tz-dp", template: "<div class=\"datepicker-container\" [ngClass]=\"data.disableBoxShadow?'remove-box-shadow':''\" aria-label=\"date picker\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <div tabindex=\"-1\" cdkFocusInitial></div>\n <div class=\"datepicker-container__header\">\n <div\n class=\"datepicker-container__arrow__icon\"\n (click)=\"navigateView('PREVIOUS')\"\n tabindex=\"0\"\n aria-label=\"Previous Month\"\n (keyup.enter)=\"navigateView('PREVIOUS')\"\n [ngClass]=\"{\n 'disabled-month': isPreviousMonthDisabled || isSelectingMonth\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n\n <div *ngIf=\"!isSelectingYear\" (click)=\"toggleMonthSelector()\" class=\"month-header\">\n {{ isYearSelectionFlow ? selectedYear : availableMonths[currentMonthNumber] }}\n </div>\n <div *ngIf=\"!isSelectingMonth\" (click)=\"toggleYearSelector()\" class=\"year-header\">\n {{ isSelectingYear ? yearRange : currentYearNumber }}\n </div>\n\n\n <div\n class=\"datepicker-container__arrow__icon\"\n (click)=\"navigateView('NEXT')\"\n tabindex=\"0\"\n aria-label=\"Next Month\"\n (keyup.enter)=\"navigateView('NEXT')\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled || isSelectingMonth\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"datepicker-container__body\">\n\n <div *ngIf=\"isSelectingMonth && !isSelectingYear\" class=\"month-selector\">\n <div class=\"row\">\n <div *ngFor=\"let month of availableMonths; let i = index\" \n class=\"month\" \n (click)=\"!disabledMonths[i] && selectMonth(month)\" \n [ngClass]=\"{\n 'disable-month': disabledMonths[i],\n 'select-month': !disabledMonths[currentMonthNumber] && month === availableMonths[currentMonthNumber]\n }\">\n {{ month }}\n </div>\n </div>\n </div>\n \n <div *ngIf=\"isSelectingYear && !isSelectingMonth\" class=\"year-selector\">\n <div class=\"row\">\n <div *ngFor=\"let year of availableYears; let i = index\" \n class=\"year\" \n (click)=\"!disabledYears[i] && selectYear(year)\" \n [ngClass]=\"{\n 'disable-year': disabledYears[i],\n 'select-year': year === currentYearNumber\n }\">\n {{ year }}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!isSelectingMonth && !isSelectingYear\" class=\"datepicker-container__weekdays\">\n <div class=\"datepicker-container__weekday\" *ngFor=\"let weekDay of weekDays\">\n <span [ngClass]=\"{ 'current-day': weekDay.isCurrentDay }\">{{ weekDay.label }}</span>\n </div>\n </div>\n <div *ngIf=\"!isSelectingMonth && !isSelectingYear\" class=\"datepicker-container__days\">\n <div\n class=\"datepicker-container__day\"\n [ngClass]=\"{\n 'selected-day': !localSelectedDate ? day.isSelectedDay : day === localSelectedDate,\n 'disabled-day': day.isDisabledDay,\n 'is-valid-date': day.date > 0 && !day.isSelectedDay\n }\"\n *ngFor=\"let day of currentMonthDates\"\n (click)=\"selectDay(day)\"\n (keyup.enter)=\"selectDay(day)\"\n >\n <span\n *ngIf=\"day.date > 0\"\n [tabindex]=\"day.isDisabledDay ? -1 : 0\"\n [ngClass]=\"{\n 'current-day': day.isCurrentDay,\n 'selected-day': !localSelectedDate ? day.isSelectedDay : day === localSelectedDate,\n 'disabled-day': day.isDisabledDay\n }\"\n [attr.aria-label]=\"retractDayMonth(day.date, currentMonth, currentYearNumber)\"\n >\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n <div class=\"datepicker-container__footer\" *ngIf=\"data.dpConfig.showApplyButton\">\n <button mis-button size=\"md\" type=\"'none'\" (click)=\"cancelDatePicker()\">Cancel</button>\n <button mis-button size=\"md\" type=\"primary\" (click)=\"applyDate()\" [disabled]=\"!(data.date || localSelectedDate.date)\">Apply</button>\n </div>\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,.datepicker-container .datepicker-container__body .month,.datepicker-container .datepicker-container__body .year{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}:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-disabled: #929DAB;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3}.datepicker-container{background:#ffffff;border:1px solid #e0e0e0;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;-webkit-user-select:none;user-select:none;box-sizing:border-box;width:290px}.datepicker-container .datepicker-container__header{display:flex;height:32px;margin:16px;justify-content:space-between;align-items:center;width:258px}.datepicker-container .datepicker-container__header span{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}.datepicker-container .datepicker-container__header .month-header,.datepicker-container .datepicker-container__header .year-header{padding:8px;border-radius:10px}.datepicker-container .datepicker-container__header .month-header:hover,.datepicker-container .datepicker-container__header .year-header:hover{cursor:pointer;background-color:#e6ebf7}.datepicker-container .datepicker-container__header .datepicker-container__arrow__icon{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.datepicker-container .datepicker-container__header .datepicker-container__arrow__icon.disabled-month{opacity:.5;cursor:not-allowed}.datepicker-container .datepicker-container__header .datepicker-container__arrow__icon:not(.disabled-month):hover{cursor:pointer;background-color:#cbddfb}.datepicker-container .datepicker-container__header .datepicker-container__arrow__icon:nth-child(1){transform:rotate(180deg)}.datepicker-container .datepicker-container__body{width:258px;height:100%;margin:0 16px 16px}.datepicker-container .datepicker-container__body .row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.datepicker-container .datepicker-container__body .month,.datepicker-container .datepicker-container__body .year{padding:10px 6px;cursor:pointer;border-radius:5px;text-align:center;background-color:#fff}.datepicker-container .datepicker-container__body .month:hover,.datepicker-container .datepicker-container__body .year:hover{background-color:#cbddfb}.datepicker-container .datepicker-container__body .disable-month,.datepicker-container .datepicker-container__body .disable-year{cursor:default;color:#c8cdd3}.datepicker-container .datepicker-container__body .disable-month:hover,.datepicker-container .datepicker-container__body .disable-year:hover{background-color:transparent}.datepicker-container .datepicker-container__body .select-month,.datepicker-container .datepicker-container__body .select-year{background-color:#0937b2;color:#fff}.datepicker-container .datepicker-container__body .select-month:hover,.datepicker-container .datepicker-container__body .select-year:hover{cursor:pointer;background-color:#cbddfb}.datepicker-container .datepicker-container__body .datepicker-container__weekdays{width:100%;display:flex;padding-bottom:10px}.datepicker-container .datepicker-container__body .datepicker-container__weekdays .datepicker-container__weekday{width:36px;height:18px;text-align:center}.datepicker-container .datepicker-container__body .datepicker-container__weekdays .datepicker-container__weekday span{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:#c7c7c7}.datepicker-container .datepicker-container__body .datepicker-container__weekdays .datepicker-container__weekday span.current-day{font-weight:700;letter-spacing:.25px;color:#181f33}.datepicker-container .datepicker-container__body .datepicker-container__days{display:flex;flex-wrap:wrap;gap:2px}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:4px}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day.selected-day{background-color:#0937b2;cursor:pointer}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day.disabled-day{cursor:default}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day.disabled-day:hover{background-color:transparent}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-day):hover{background-color:#cbddfb;cursor:pointer}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-day):hover span.selected-day{color:#181f33!important}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day span{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:#181f33}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day span.current-day{font-weight:700;letter-spacing:.25px}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day span.selected-day{color:#fff}.datepicker-container .datepicker-container__body .datepicker-container__days .datepicker-container__day span.disabled-day{color:#c7c7c7}.datepicker-container .datepicker-container__footer{display:flex;justify-content:flex-end;gap:8px;bottom:0;align-items:center;position:sticky;padding:16px;border-top:1px solid #e0e0e0}.remove-box-shadow{box-shadow:none!important;border:none!important;border-radius:0!important}\n"] }]
442
- }], function () { return [{ type: undefined, decorators: [{
443
- type: Inject,
444
- args: [CONTAINER_DATA]
445
- }] }, { type: i1.ToastService }]; }, { closeOnEsc: [{
446
- type: HostListener,
447
- args: ["keydown.esc"]
448
- }] }); })();
449
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXJfdjIvdHotZHAtY29udGFpbmVyL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyX3YyL3R6LWRwLWNvbnRhaW5lci90ei1kcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEtBQUssRUFBRSxFQUFTLEVBQUUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN6QyxPQUFPLFFBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLGNBQWMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFBOzs7Ozs7Ozs7SUNXMUQsb0JBQW1GO0lBQW5GLCtCQUFtRjtJQUFyRCxnS0FBUyxlQUFBLDRCQUFxQixDQUFBLElBQUM7SUFDM0QsWUFDRjtJQUFBLGlCQUFNOzs7SUFESixlQUNGO0lBREUscUlBQ0Y7Ozs7O0lBQ0Esb0JBQWtGO0lBQWxGLCtCQUFrRjtJQUFuRCxpS0FBUyxlQUFBLDJCQUFvQixDQUFBLElBQUM7SUFDM0QsWUFDRjtJQUFBLGlCQUFNOzs7SUFESixlQUNGO0lBREUscUdBQ0Y7Ozs7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QVlFLGVBQTBDO1FBQTFDLG1FQUEwQztRQWMxQyxlQUEwQztRQUExQyxtRUFBMEM7UUFjMUMsZUFBMkM7UUFBM0Msb0VBQTJDO1FBSzNDLGVBQTJDO1FBQTNDLG9FQUEyQztRQTJCUixlQUFtQztRQUFuQyx3REFBbUM7O3VGRHRGbkUsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0UsV0FBVzs7c0JBOEJSLE1BQU07dUJBQUMsY0FBYzttREF1TGxDLFVBQVU7a0JBRFQsWUFBWTttQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENPTlRBSU5FUl9EQVRBLCBEQVRFX0ZPUk1BVCB9IGZyb20gXCIuLi9kYXRlcGlja2VyLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgSUN1cnJlbnRNb250aCwgSUN1cnJlbnRNb250aERhdGVzLCBJRGF0ZVBpY2tlckRhdGEsIElXZWVrRGF5IH0gZnJvbSBcIi4uL21vZGVscy9kcC1jb25maWcubW9kZWxcIjtcbmltcG9ydCB7IGdldE1vbnRoIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS90b2FzdFwiO1xuaW1wb3J0IGRheWpzLCB7IERheWpzLCB0eiB9IGZyb20gJ2RheWpzJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcbmltcG9ydCBpc1NhbWVPckFmdGVyIGZyb20gJ2RheWpzL3BsdWdpbi9pc1NhbWVPckFmdGVyJztcbmltcG9ydCBpc1NhbWVPckJlZm9yZSBmcm9tICdkYXlqcy9wbHVnaW4vaXNTYW1lT3JCZWZvcmUnO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCdcblxuZGF5anMuZXh0ZW5kKHV0Yyk7XG5kYXlqcy5leHRlbmQodGltZXpvbmUpO1xuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcbmRheWpzLmV4dGVuZChpc1NhbWVPckFmdGVyKTtcbmRheWpzLmV4dGVuZChpc1NhbWVPckJlZm9yZSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdHotZHBcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90ei1kcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUekRwQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGF0YTogSURhdGVQaWNrZXJEYXRhO1xuICBwcml2YXRlIHBhcnNlWm9uZUluc3RhbmNlID0gKC4uLmFyZ3MpID0+IHtcbiAgICByZXR1cm4gZGF5anMoLi4uYXJncyk7XG4gIH07XG4gIHByaXZhdGUgcmF3V2Vla0RheXM6IHN0cmluZ1tdID0gW1wiU1VOXCIsIFwiTU9OXCIsIFwiVFVFXCIsIFwiV0VEXCIsIFwiVEhVXCIsIFwiRlJJXCIsIFwiU0FUXCJdO1xuICB3ZWVrRGF5czogSVdlZWtEYXlbXSA9IFtdO1xuICBjdXJyZW50TW9udGhOdW1iZXI6IG51bWJlcjtcbiAgY3VycmVudE1vbnRoOiBJQ3VycmVudE1vbnRoO1xuICBjdXJyZW50WWVhck51bWJlcjogbnVtYmVyO1xuICBjdXJyZW50TW9udGhEYXRlczogSUN1cnJlbnRNb250aERhdGVzW10gPSBbXTtcbiAgaXNQcmV2aW91c01vbnRoRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNOZXh0TW9udGhEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBsb2NhbFNlbGVjdGVkRGF0ZTogSUN1cnJlbnRNb250aERhdGVzO1xuICBhbGxvd0Jvb2tpbmdPbkRpc2FibGVkRGF5OiBib29sZWFuID0gZmFsc2U7XG4gIGN1cnJlbnRTZWxlY3Rpb246IGFueTtcblxuICBpc1NlbGVjdGluZ01vbnRoOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VsZWN0aW5nWWVhcjogYm9vbGVhbiA9IGZhbHNlO1xuICBhdmFpbGFibGVZZWFyczogbnVtYmVyW10gPSBbXTtcbiAgYXZhaWxhYmxlTW9udGhzOiBzdHJpbmdbXSA9IFtdO1xuICBkaXNhYmxlZE1vbnRoczogYm9vbGVhbltdID0gW107XG4gIGRpc2FibGVkWWVhcnM6IGJvb2xlYW5bXSA9IFtdO1xuICBzZWxlY3RlZFllYXI6IG51bWJlcjtcbiAgaXNZZWFyU2VsZWN0aW9uRmxvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQ09OVEFJTkVSX0RBVEEpIGRhdGE6IElEYXRlUGlja2VyRGF0YSwgcHJpdmF0ZSB0b2FzdDogVG9hc3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICBpZiAodGhpcy5kYXRhPy5kcENvbmZpZz8udGltZXpvbmUpIHtcbiAgICAgIHRoaXMucGFyc2Vab25lSW5zdGFuY2UgPSAoLi4uYXJncykgPT4ge1xuICAgICAgICAgIHJldHVybiB0eihhcmdzWzBdLCBhcmdzWzFdIHx8ICdERC9NTS9ZWVlZJywgdGhpcy5kYXRhLmRwQ29uZmlnLnRpbWV6b25lKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLm1vbnRoKCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKCk7XG4gICAgdGhpcy53ZWVrRGF5cyA9IHRoaXMucmF3V2Vla0RheXMubWFwKChkYXksIGluZGV4KSA9PiAoe1xuICAgICAgbGFiZWw6IGAke2RheVswXX0ke2RheS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBpc0N1cnJlbnREYXk6IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5kYXkoKSA9PT0gaW5kZXhcbiAgICB9KSk7XG4gICAgaWYgKCF0aGlzLmRhdGE/LmRwQ29uZmlnPy5mb3JtYXQpIHtcbiAgICAgIHRoaXMuZGF0YS5kcENvbmZpZyA9IHtcbiAgICAgICAgLi4udGhpcy5kYXRhLmRwQ29uZmlnLFxuICAgICAgICBmb3JtYXQ6IERBVEVfRk9STUFUXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmKCF0aGlzLmRhdGE/LmRhdGUpe1xuICAgICAgdGhpcy5kYXRhLmRhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIH1cblxuICAgIHRoaXMuYXZhaWxhYmxlTW9udGhzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IGRheWpzKCkubW9udGgoaSkuZm9ybWF0KCdNTU1NJykpO1xuICAgIHRoaXMuYXZhaWxhYmxlWWVhcnMgPSBBcnJheS5mcm9tKFxuICAgICAgeyBsZW5ndGg6IDEyIH0sXG4gICAgICAoXywgaW5kZXgpID0+IHRoaXMuY3VycmVudFllYXJOdW1iZXIgLSA2ICsgaW5kZXhcbiAgICApO1xuICAgIFxuICB9XG5cblxuICByZXRyYWN0RGF5TW9udGgoZGF5OiBhbnksIG1vbnRoOiBhbnksIHllYXI6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIGAke2RheX0gJHttb250aH0gJHt5ZWFyfWA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnREYXRlSW5zdGFuY2UoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZURpc2FibGVkTW9udGhzQW5kWWVhcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudERhdGVJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZERhdGUgPSBkYXlqcyh0aGlzLmRhdGEuZGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKHNlbGVjdGVkRGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHNlbGVjdGVkRGF0ZS55ZWFyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHNlbGVjdGVkRGF0ZS5tb250aCgpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVNaW5NYXhEYXlzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICBjb25zdCBtaW5EYXRlID0gISF0aGlzLmRhdGEuZHBDb25maWcubWluRGF0ZSA/IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpIDogZGF5anMoJ2ludmFsaWQnKTtcbiAgICBpZiAobWluRGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuaXNQcmV2aW91c01vbnRoRGlzYWJsZWQgPSBtaW5EYXRlLmlzU2FtZU9yQWZ0ZXIoY3VycmVudEluc3RhbmNlLCBcIm1vbnRoXCIpO1xuICAgIH1cbiAgICBjb25zdCBtYXhEYXRlID0gISF0aGlzLmRhdGEuZHBDb25maWcubWF4RGF0ZSA/IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpIDogZGF5anMoJ2ludmFsaWQnKTtcbiAgICBpZiAobWF4RGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuaXNOZXh0TW9udGhEaXNhYmxlZCA9IG1heERhdGUuaXNTYW1lT3JCZWZvcmUoY3VycmVudEluc3RhbmNlLCBcIm1vbnRoXCIpO1xuICAgIH1cbiAgfVxuXG4gIGNhbGN1bGF0ZURpc2FibGVkTW9udGhzQW5kWWVhcnMoKSB7XG4gICAgY29uc3QgbWluRGF0ZSA9ICEhdGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUgPyB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5taW5EYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA6IGRheWpzKCdpbnZhbGlkJyk7XG4gICAgY29uc3QgbWF4RGF0ZSA9ICEhdGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUgPyB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA6IGRheWpzKCdpbnZhbGlkJyk7XG4gICAgXG4gICAgdGhpcy5kaXNhYmxlZE1vbnRocyA9IHRoaXMuYXZhaWxhYmxlTW9udGhzLm1hcCgobW9udGgsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBtb250aERhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcih0aGlzLnNlbGVjdGVkWWVhcikubW9udGgoaW5kZXgpO1xuICAgICAgcmV0dXJuIChtaW5EYXRlLmlzVmFsaWQoKSAmJiBtb250aERhdGUuaXNCZWZvcmUobWluRGF0ZSwgJ21vbnRoJykpIHx8IFxuICAgICAgICAgICAgIChtYXhEYXRlLmlzVmFsaWQoKSAmJiBtb250aERhdGUuaXNBZnRlcihtYXhEYXRlLCAnbW9udGgnKSk7XG4gICAgfSk7XG4gIFxuICAgIHRoaXMuZGlzYWJsZWRZZWFycyA9IHRoaXMuYXZhaWxhYmxlWWVhcnMubWFwKCh5ZWFyKSA9PiB7XG4gICAgICBjb25zdCB5ZWFyRGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKHllYXIpO1xuICAgICAgcmV0dXJuIChtaW5EYXRlLmlzVmFsaWQoKSAmJiB5ZWFyRGF0ZS5pc0JlZm9yZShtaW5EYXRlLCAneWVhcicpKSB8fCBcbiAgICAgICAgICAgICAobWF4RGF0ZS5pc1ZhbGlkKCkgJiYgeWVhckRhdGUuaXNBZnRlcihtYXhEYXRlLCAneWVhcicpKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmlzU2VsZWN0aW5nWWVhcikge1xuICAgICAgdGhpcy5pc1ByZXZpb3VzTW9udGhEaXNhYmxlZCA9IG1pbkRhdGUuaXNWYWxpZCgpICYmICgodGhpcy5zZWxlY3RlZFllYXIgLSA2KSA8PSBtaW5EYXRlLnllYXIoKSk7XG4gICAgICB0aGlzLmlzTmV4dE1vbnRoRGlzYWJsZWQgPSBtYXhEYXRlLmlzVmFsaWQoKSAmJiAoKHRoaXMuc2VsZWN0ZWRZZWFyICsgNSkgPj0gbWF4RGF0ZS55ZWFyKCkpO1xuICAgIH1cbiAgICBcbiAgfVxuXG4gIGdldCB5ZWFyUmFuZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3RlZFllYXIgLSA2fSAtICR7dGhpcy5zZWxlY3RlZFllYXIgKyA1fWA7XG4gIH1cbiAgXG5cbiAgbmF2aWdhdGVWaWV3KGRpcmVjdGlvbjogXCJORVhUXCIgfCBcIlBSRVZJT1VTXCIpOiB2b2lkIHtcbiAgICBpZiAoKGRpcmVjdGlvbiA9PT0gJ05FWFQnICYmICh0aGlzLmlzTmV4dE1vbnRoRGlzYWJsZWQgfHwgdGhpcy5pc1NlbGVjdGluZ01vbnRoKSkgfHxcbiAgICAgICAgKGRpcmVjdGlvbiA9PT0gJ1BSRVZJT1VTJyAmJiAodGhpcy5pc1ByZXZpb3VzTW9udGhEaXNhYmxlZCB8fCB0aGlzLmlzU2VsZWN0aW5nTW9udGgpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZih0aGlzLmlzU2VsZWN0aW5nWWVhcil7XG4gICAgICB0aGlzLnNlbGVjdGVkWWVhciArPSBkaXJlY3Rpb24gPT09IFwiTkVYVFwiID8gMTIgOiAtMTI7XG4gICAgICB0aGlzLmF2YWlsYWJsZVllYXJzID0gQXJyYXkuZnJvbShcbiAgICAgICAgeyBsZW5ndGg6IDEyIH0sXG4gICAgICAgIChfLCBpbmRleCkgPT4gdGhpcy5zZWxlY3RlZFllYXIgLSA2ICsgaW5kZXhcbiAgICAgICk7XG4gICAgfVxuICAgIGVsc2V7XG4gICAgICBsZXQgdGhpc01vbnRoID0gZGF5anMoKS55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICAgIHRoaXNNb250aCA9IGRpcmVjdGlvbiA9PT0gXCJORVhUXCIgPyB0aGlzTW9udGguYWRkKDEsIFwibW9udGhcIikgOiB0aGlzTW9udGguc3VidHJhY3QoMSwgXCJtb250aFwiKTtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gdGhpc01vbnRoLm1vbnRoKCk7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aCA9IGdldE1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHRoaXNNb250aC55ZWFyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgICB9XG4gICAgdGhpcy5jYWxjdWxhdGVNaW5NYXhEYXlzKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVEaXNhYmxlZE1vbnRoc0FuZFllYXJzKCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlRGF0ZXMobW9udGg6IG51bWJlciwgY3VycmVudFllYXJOdW1iZXI6IG51bWJlcik6IElDdXJyZW50TW9udGhEYXRlc1tdIHtcbiAgICBsZXQgZGF0ZXM6IElDdXJyZW50TW9udGhEYXRlc1tdID0gW107XG4gICAgY29uc3QgZGF5c0luTW9udGggPSBkYXlqcygpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXlzSW5Nb250aCgpO1xuICAgIGZvciAobGV0IGN1cnJlbnREYXRlID0gMTsgY3VycmVudERhdGUgPD0gZGF5c0luTW9udGg7IGN1cnJlbnREYXRlKyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcihjdXJyZW50WWVhck51bWJlcikubW9udGgobW9udGgpLmRhdGUoY3VycmVudERhdGUpO1xuICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgbGV0IGlzRGlzYWJsZWREYXkgPSB0aGlzLmRhdGEuZGF0ZXNEaXNhYmxlZC5zb21lKGQgPT4gZCA9PT0gZGF0ZVN0cmluZyk7XG4gICAgICBjb25zdCBtaW5EYXRlID0gISF0aGlzLmRhdGEuZHBDb25maWcubWluRGF0ZSA/IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpIDogZGF5anMoJ2ludmFsaWQnKTtcbiAgICAgIGlmICghaXNEaXNhYmxlZERheSAmJiBtaW5EYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICBpc0Rpc2FibGVkRGF5ID0gbWluRGF0ZS5pc0FmdGVyKGRhdGUsIFwiZGF5XCIpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4RGF0ZSA9ICEhdGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUgPyB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA6IGRheWpzKCdpbnZhbGlkJyk7XG4gICAgICBpZiAoIWlzRGlzYWJsZWREYXkgJiYgbWF4RGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgaXNEaXNhYmxlZERheSA9IG1heERhdGUuaXNCZWZvcmUoZGF0ZSwgXCJkYXlcIik7XG4gICAgICB9XG4gICAgICBkYXRlcy5wdXNoKHtcbiAgICAgICAgZGF0ZTogY3VycmVudERhdGUsXG4gICAgICAgIHdlZWtEYXk6IGRhdGUuZGF5KCksXG4gICAgICAgIGlzQ3VycmVudERheTpcbiAgICAgICAgICB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcihjdXJyZW50WWVhck51bWJlcikubW9udGgobW9udGgpLmRhdGUoY3VycmVudERhdGUpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA9PT1cbiAgICAgICAgICB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpLFxuICAgICAgICBpc1NlbGVjdGVkRGF5OiAhaXNEaXNhYmxlZERheSAmJiBkYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA9PT0gdGhpcy5kYXRhLmRhdGUsXG4gICAgICAgIHRvYXN0TWVzc2FnZTogdGhpcy5kYXRhLm1lc3NhZ2VzLmZpbmQocSA9PiBkYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA9PT0gcS5kYXRlKT8ubWVzc2FnZSB8fCBcIlwiLFxuICAgICAgICBpc0Rpc2FibGVkRGF5XG4gICAgICB9KTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IGRhdGVzWzBdLndlZWtEYXk7IGkgPiAwOyBpLS0pIHtcbiAgICAgIGRhdGVzLnVuc2hpZnQoeyBkYXRlOiAwLCB3ZWVrRGF5OiBpIC0gMSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGVzO1xuICB9XG5cbiAgc2VsZWN0RGF5KGRheTogSUN1cnJlbnRNb250aERhdGVzKSB7XG4gIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKS5kYXRlKGRheS5kYXRlKTtcbiAgIGNvbnN0IG1heERhdGUgPSAhIXRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlID8gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWF4RGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkuZW5kT2YoXCJkYXlcIikgOiBkYXlqcygnaW52YWxpZCcpO1xuICAgY29uc3QgbWluRGF0ZSA9ICEhdGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUgPyB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5taW5EYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KS5zdGFydE9mKFwiZGF5XCIpIDogZGF5anMoJ2ludmFsaWQnKTtcbiAgIHRoaXMuYWxsb3dCb29raW5nT25EaXNhYmxlZERheSA9IHRoaXMuZGF0YS5hbGxvd0Jvb2tpbmdPbkRpc2FibGVkRGF5XG4gICBcbiAgICBpZiAoZGF5LmRhdGUgPD0gMCkgcmV0dXJuO1xuICAgIGlmICgodGhpcy5jdXJyZW50U2VsZWN0aW9uLmlzU2FtZU9yQWZ0ZXIobWluRGF0ZSkgJiYgdGhpcy5jdXJyZW50U2VsZWN0aW9uLmlzU2FtZU9yQmVmb3JlKG1heERhdGUpICYmIHRoaXMuYWxsb3dCb29raW5nT25EaXNhYmxlZERheSkgfHwgKCFkYXkuaXNEaXNhYmxlZERheSAmJiAhdGhpcy5hbGxvd0Jvb2tpbmdPbkRpc2FibGVkRGF5KSkge1xuICAgICAgdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZSA9IGRheTtcbiAgICAgIGlmICghdGhpcy5kYXRhLmRwQ29uZmlnLnNob3dBcHBseUJ1dHRvbikge1xuICAgICAgICB0aGlzLmFwcGx5RGF0ZShkYXkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGF5LnRvYXN0TWVzc2FnZSB8fCAodGhpcy5hbGxvd0Jvb2tpbmdPbkRpc2FibGVkRGF5ICYmIGRheS50b2FzdE1lc3NhZ2UpKSB7XG4gICAgICB0aGlzLnRvYXN0LmRpc3BsYXlNc2coZGF5LnRvYXN0TWVzc2FnZSwgNDAwMCk7XG4gICAgfVxuICB9XG5cbiAgYXBwbHlEYXRlKGRheT86IElDdXJyZW50TW9udGhEYXRlcykge1xuICAgIGlmIChkYXkgfHwgdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZSkge1xuICAgICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UoXG4gICAgICAgIGRheWpzKClcbiAgICAgICAgICAueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKVxuICAgICAgICAgIC5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcilcbiAgICAgICAgICAuZGF0ZShkYXkgPyBkYXkuZGF0ZSA6IHRoaXMubG9jYWxTZWxlY3RlZERhdGUuZGF0ZSlcbiAgICAgICAgICAuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhbmNlbERhdGVQaWNrZXIoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwia2V5ZG93bi5lc2NcIilcbiAgY2xvc2VPbkVzYygpIHtcbiAgICB0aGlzLmNhbmNlbERhdGVQaWNrZXIoKTtcbiAgfVxuXG4gIGNhbmNlbERhdGVQaWNrZXIoKSB7XG4gICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UoXCJcIik7XG4gIH1cblxuICB0b2dnbGVNb250aFNlbGVjdG9yKCkge1xuICAgIGlmKHRoaXMuaXNZZWFyU2VsZWN0aW9uRmxvdykgcmV0dXJuO1xuICAgIHRoaXMuaXNTZWxlY3RpbmdNb250aCA9ICF0aGlzLmlzU2VsZWN0aW5nTW9udGg7XG4gICAgdGhpcy5pc1NlbGVjdGluZ1llYXIgPSBmYWxzZTtcbiAgICB0aGlzLmNhbGN1bGF0ZURpc2FibGVkTW9udGhzQW5kWWVhcnMoKTtcbiAgfVxuXG4gIHRvZ2dsZVllYXJTZWxlY3RvcigpIHtcbiAgICB0aGlzLmlzU2VsZWN0aW5nWWVhciA9ICF0aGlzLmlzU2VsZWN0aW5nWWVhcjtcbiAgICB0aGlzLnNlbGVjdGVkWWVhciA9IHRoaXMuY3VycmVudFllYXJOdW1iZXI7XG4gICAgdGhpcy5hdmFpbGFibGVZZWFycyA9IEFycmF5LmZyb20oXG4gICAgICB7IGxlbmd0aDogMTIgfSxcbiAgICAgIChfLCBpbmRleCkgPT4gdGhpcy5zZWxlY3RlZFllYXIgLSA2ICsgaW5kZXhcbiAgICApO1xuICAgIHRoaXMuaXNTZWxlY3RpbmdNb250aCA9IGZhbHNlO1xuICAgIHRoaXMuY2FsY3VsYXRlRGlzYWJsZWRNb250aHNBbmRZZWFycygpO1xuXG4gIH1cblxuICByZXNldERhdGVTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZSA9IHtcbiAgICAgIGRhdGU6IDAsXG4gICAgICB3ZWVrRGF5OiAwLFxuICAgICAgaXNDdXJyZW50RGF5OiBmYWxzZSxcbiAgICAgIGlzU2VsZWN0ZWREYXk6IGZhbHNlLFxuICAgICAgaXNEaXNhYmxlZERheTogZmFsc2UsXG4gICAgICB0b2FzdE1lc3NhZ2U6ICcnXG4gICAgfTtcbiAgICB0aGlzLmRhdGEuZGF0ZSA9ICcnO1xuICB9XG5cbiAgc2VsZWN0TW9udGgobW9udGg6IHN0cmluZykge1xuICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gdGhpcy5hdmFpbGFibGVNb250aHMuaW5kZXhPZihtb250aCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgdGhpcy5pc1NlbGVjdGluZ01vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc1llYXJTZWxlY3Rpb25GbG93ID0gZmFsc2U7XG4gICAgdGhpcy5yZXNldERhdGVTZWxlY3Rpb24oKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgfVxuXG4gIHNlbGVjdFllYXIoeWVhcjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFllYXIgPSB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyID0geWVhcjtcbiAgICB0aGlzLmlzU2VsZWN0aW5nWWVhciA9IGZhbHNlO1xuICAgIHRoaXMuaXNTZWxlY3RpbmdNb250aCA9IHRydWU7XG4gICAgdGhpcy5pc1llYXJTZWxlY3Rpb25GbG93ID0gdHJ1ZTtcbiAgICB0aGlzLnJlc2V0RGF0ZVNlbGVjdGlvbigpO1xuICAgIHRoaXMuY2FsY3VsYXRlRGlzYWJsZWRNb250aHNBbmRZZWFycygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1jb250YWluZXJcIiBbbmdDbGFzc109XCJkYXRhLmRpc2FibGVCb3hTaGFkb3c/J3JlbW92ZS1ib3gtc2hhZG93JzonJ1wiIGFyaWEtbGFiZWw9XCJkYXRlIHBpY2tlclwiIGNka1RyYXBGb2N1cyBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiPlxuICA8ZGl2IHRhYmluZGV4PVwiLTFcIiBjZGtGb2N1c0luaXRpYWw+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRhaW5lcl9faGVhZGVyXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRhaW5lcl9fYXJyb3dfX2ljb25cIlxuICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVmlldygnUFJFVklPVVMnKVwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIE1vbnRoXCJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJuYXZpZ2F0ZVZpZXcoJ1BSRVZJT1VTJylcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnZGlzYWJsZWQtbW9udGgnOiBpc1ByZXZpb3VzTW9udGhEaXNhYmxlZCB8fCBpc1NlbGVjdGluZ01vbnRoXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjAgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE5LjcwNzEgOC43MDcxMUMyMC4wOTc2IDguMzE2NTggMjAuMDk3NiA3LjY4MzQyIDE5LjcwNzEgNy4yOTI4OUwxMy4zNDMxIDAuOTI4OTMzQzEyLjk1MjYgMC41Mzg0MDkgMTIuMzE5NSAwLjUzODQwOSAxMS45Mjg5IDAuOTI4OTMzQzExLjUzODQgMS4zMTk0NiAxMS41Mzg0IDEuOTUyNjIgMTEuOTI4OSAyLjM0MzE1TDE3LjU4NTggOEwxMS45Mjg5IDEzLjY1NjlDMTEuNTM4NCAxNC4wNDc0IDExLjUzODQgMTQuNjgwNSAxMS45Mjg5IDE1LjA3MTFDMTIuMzE5NSAxNS40NjE2IDEyLjk1MjYgMTUuNDYxNiAxMy4zNDMxIDE1LjA3MTFMMTkuNzA3MSA4LjcwNzExWk0tOC43NDIyOGUtMDggOUwxOSA5TDE5IDdMOC43NDIyOGUtMDggN0wtOC43NDIyOGUtMDggOVpcIlxuICAgICAgICAgIGZpbGw9XCIjMTgxRjMzXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIiFpc1NlbGVjdGluZ1llYXJcIiAoY2xpY2spPVwidG9nZ2xlTW9udGhTZWxlY3RvcigpXCIgY2xhc3M9XCJtb250aC1oZWFkZXJcIj5cbiAgICAgIHt7IGlzWWVhclNlbGVjdGlvbkZsb3cgPyBzZWxlY3RlZFllYXIgOiBhdmFpbGFibGVNb250aHNbY3VycmVudE1vbnRoTnVtYmVyXSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhaXNTZWxlY3RpbmdNb250aFwiIChjbGljayk9XCJ0b2dnbGVZZWFyU2VsZWN0b3IoKVwiIGNsYXNzPVwieWVhci1oZWFkZXJcIj5cbiAgICAgIHt7IGlzU2VsZWN0aW5nWWVhciA/IHllYXJSYW5nZSA6IGN1cnJlbnRZZWFyTnVtYmVyIH19XG4gICAgPC9kaXY+XG5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZGF0ZXBpY2tlci1jb250YWluZXJfX2Fycm93X19pY29uXCJcbiAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVZpZXcoJ05FWFQnKVwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgYXJpYS1sYWJlbD1cIk5leHQgTW9udGhcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm5hdmlnYXRlVmlldygnTkVYVCcpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2Rpc2FibGVkLW1vbnRoJzogaXNOZXh0TW9udGhEaXNhYmxlZCB8fCBpc1NlbGVjdGluZ01vbnRoXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjAgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE5LjcwNzEgOC43MDcxMUMyMC4wOTc2IDguMzE2NTggMjAuMDk3NiA3LjY4MzQyIDE5LjcwNzEgNy4yOTI4OUwxMy4zNDMxIDAuOTI4OTMzQzEyLjk1MjYgMC41Mzg0MDkgMTIuMzE5NSAwLjUzODQwOSAxMS45Mjg5IDAuOTI4OTMzQzExLjUzODQgMS4zMTk0NiAxMS41Mzg0IDEuOTUyNjIgMTEuOTI4OSAyLjM0MzE1TDE3LjU4NTggOEwxMS45Mjg5IDEzLjY1NjlDMTEuNTM4NCAxNC4wNDc0IDExLjUzODQgMTQuNjgwNSAxMS45Mjg5IDE1LjA3MTFDMTIuMzE5NSAxNS40NjE2IDEyLjk1MjYgMTUuNDYxNiAxMy4zNDMxIDE1LjA3MTFMMTkuNzA3MSA4LjcwNzExWk0tOC43NDIyOGUtMDggOUwxOSA5TDE5IDdMOC43NDIyOGUtMDggN0wtOC43NDIyOGUtMDggOVpcIlxuICAgICAgICAgIGZpbGw9XCIjMTgxRjMzXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyX19ib2R5XCI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNTZWxlY3RpbmdNb250aCAmJiAhaXNTZWxlY3RpbmdZZWFyXCIgY2xhc3M9XCJtb250aC1zZWxlY3RvclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtb250aCBvZiBhdmFpbGFibGVNb250aHM7IGxldCBpID0gaW5kZXhcIiBcbiAgICAgICAgICAgIGNsYXNzPVwibW9udGhcIiBcbiAgICAgICAgICAgIChjbGljayk9XCIhZGlzYWJsZWRNb250aHNbaV0gJiYgc2VsZWN0TW9udGgobW9udGgpXCIgXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdkaXNhYmxlLW1vbnRoJzogZGlzYWJsZWRNb250aHNbaV0sXG4gICAgICAgICAgICAgICdzZWxlY3QtbW9udGgnOiAhZGlzYWJsZWRNb250aHNbY3VycmVudE1vbnRoTnVtYmVyXSAmJiBtb250aCA9PT0gYXZhaWxhYmxlTW9udGhzW2N1cnJlbnRNb250aE51bWJlcl1cbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICB7eyBtb250aCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBcbiAgICA8ZGl2ICpuZ0lmPVwiaXNTZWxlY3RpbmdZZWFyICYmICFpc1NlbGVjdGluZ01vbnRoXCIgY2xhc3M9XCJ5ZWFyLXNlbGVjdG9yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHllYXIgb2YgYXZhaWxhYmxlWWVhcnM7IGxldCBpID0gaW5kZXhcIiBcbiAgICAgICAgICAgIGNsYXNzPVwieWVhclwiIFxuICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZFllYXJzW2ldICYmIHNlbGVjdFllYXIoeWVhcilcIiBcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2Rpc2FibGUteWVhcic6IGRpc2FibGVkWWVhcnNbaV0sXG4gICAgICAgICAgICAgICdzZWxlY3QteWVhcic6IHllYXIgPT09IGN1cnJlbnRZZWFyTnVtYmVyXG4gICAgICAgICAgICB9XCI+XG4gICAgICAgICAge3sgeWVhciB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIiFpc1NlbGVjdGluZ01vbnRoICYmICFpc1NlbGVjdGluZ1llYXJcIiBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyX193ZWVrZGF5c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyX193ZWVrZGF5XCIgKm5nRm9yPVwibGV0IHdlZWtEYXkgb2Ygd2Vla0RheXNcIj5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieyAnY3VycmVudC1kYXknOiB3ZWVrRGF5LmlzQ3VycmVudERheSB9XCI+e3sgd2Vla0RheS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhaXNTZWxlY3RpbmdNb250aCAmJiAhaXNTZWxlY3RpbmdZZWFyXCIgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRhaW5lcl9fZGF5c1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyX19kYXlcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NlbGVjdGVkLWRheSc6ICFsb2NhbFNlbGVjdGVkRGF0ZSA/IGRheS5pc1NlbGVjdGVkRGF5IDogZGF5ID09PSBsb2NhbFNlbGVjdGVkRGF0ZSxcbiAgICAgICAgICAnZGlzYWJsZWQtZGF5JzogZGF5LmlzRGlzYWJsZWREYXksXG4gICAgICAgICAgJ2lzLXZhbGlkLWRhdGUnOiBkYXkuZGF0ZSA+IDAgJiYgIWRheS5pc1NlbGVjdGVkRGF5XG4gICAgICAgIH1cIlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIGN1cnJlbnRNb250aERhdGVzXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdERheShkYXkpXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cInNlbGVjdERheShkYXkpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImRheS5kYXRlID4gMFwiXG4gICAgICAgICAgW3RhYmluZGV4XT1cImRheS5pc0Rpc2FibGVkRGF5ID8gLTEgOiAwXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnY3VycmVudC1kYXknOiBkYXkuaXNDdXJyZW50RGF5LFxuICAgICAgICAgICAgJ3NlbGVjdGVkLWRheSc6ICFsb2NhbFNlbGVjdGVkRGF0ZSA/IGRheS5pc1NlbGVjdGVkRGF5IDogZGF5ID09PSBsb2NhbFNlbGVjdGVkRGF0ZSxcbiAgICAgICAgICAgICdkaXNhYmxlZC1kYXknOiBkYXkuaXNEaXNhYmxlZERheVxuICAgICAgICAgIH1cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmV0cmFjdERheU1vbnRoKGRheS5kYXRlLCBjdXJyZW50TW9udGgsIGN1cnJlbnRZZWFyTnVtYmVyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBkYXkuZGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRhaW5lcl9fZm9vdGVyXCIgKm5nSWY9XCJkYXRhLmRwQ29uZmlnLnNob3dBcHBseUJ1dHRvblwiPlxuICAgIDxidXR0b24gbWlzLWJ1dHRvbiBzaXplPVwibWRcIiB0eXBlPVwiJ25vbmUnXCIgKGNsaWNrKT1cImNhbmNlbERhdGVQaWNrZXIoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWlzLWJ1dHRvbiBzaXplPVwibWRcIiB0eXBlPVwicHJpbWFyeVwiIChjbGljayk9XCJhcHBseURhdGUoKVwiIFtkaXNhYmxlZF09XCIhKGRhdGEuZGF0ZSB8fCBsb2NhbFNlbGVjdGVkRGF0ZS5kYXRlKVwiPkFwcGx5PC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=