mis-crystal-design-system 14.0.75 → 17.0.1

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 (524) hide show
  1. package/action-list/action-list.component.d.ts +1 -1
  2. package/analytics/analytics.service.d.ts +1 -1
  3. package/async-search-dropdown/async-dropdown.component.d.ts +2 -2
  4. package/button/button.component.d.ts +1 -1
  5. package/button/button.directive.d.ts +1 -1
  6. package/checkbox/checkbox.component.d.ts +1 -1
  7. package/chip/chip.component.d.ts +1 -1
  8. package/datepicker_v2/models/dp-config.model.d.ts +1 -1
  9. package/datepicker_v2/tz-datepicker.directive.d.ts +1 -1
  10. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +1 -1
  11. package/daterangepicker_v2/models/drp-config.model.d.ts +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/{esm2020 → esm2022}/action-list/action-list.component.mjs +103 -110
  19. package/{esm2020 → esm2022}/action-list/action-list.module.mjs +5 -5
  20. package/{esm2020 → esm2022}/analytics/analytics.module.mjs +5 -5
  21. package/{esm2020 → esm2022}/analytics/analytics.service.mjs +6 -6
  22. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +518 -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/{esm2020 → esm2022}/button/button.directive.mjs +7 -7
  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 +432 -0
  34. package/{esm2020 → esm2022}/daterangepicker_v2/daterangepicker.module.mjs +5 -5
  35. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +156 -0
  36. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +466 -0
  37. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +59 -0
  38. package/{esm2020 → esm2022}/drawer/drawer-ref.mjs +4 -4
  39. package/{esm2020 → esm2022}/drawer/drawer.module.mjs +5 -5
  40. package/{esm2020 → esm2022}/drawer/drawer.service.mjs +5 -5
  41. package/{esm2020 → esm2022}/dropdown/calculate-container-height.directive.mjs +5 -5
  42. package/esm2022/dropdown/dropdown.component.mjs +464 -0
  43. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +5 -5
  44. package/esm2022/dynamic-form/dynamic-form.component.mjs +1088 -0
  45. package/{esm2020 → esm2022}/dynamic-form/dynamic-form.module.mjs +13 -13
  46. package/esm2022/fab/fab.component.mjs +145 -0
  47. package/{esm2020 → esm2022}/fab/fab.module.mjs +5 -5
  48. package/esm2022/filter/filter-panel/filter-panel.component.mjs +396 -0
  49. package/{esm2020 → esm2022}/filter/filters.module.mjs +17 -17
  50. package/{esm2020 → esm2022}/filter/has-value.pipe.mjs +4 -4
  51. package/{esm2020 → esm2022}/input/directives/input/input.directive.mjs +6 -6
  52. package/{fesm2020/mis-crystal-design-system-input.mjs → esm2022/input/mis-input.component.mjs} +49 -109
  53. package/{esm2020 → esm2022}/input/mis-input.module.mjs +5 -5
  54. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +75 -0
  55. package/{esm2020 → esm2022}/input-stepper/input-stepper.module.mjs +5 -5
  56. package/esm2022/loader/loader.component.mjs +25 -0
  57. package/{esm2020 → esm2022}/loader/loader.module.mjs +5 -5
  58. package/esm2022/menu/menu-close.directive.mjs +25 -0
  59. package/{esm2020 → esm2022}/menu/menu.directive.mjs +7 -7
  60. package/{esm2020 → esm2022}/menu/menu.module.mjs +5 -5
  61. package/esm2022/mobile-filter/mobile-filter.component.mjs +180 -0
  62. package/{esm2020 → esm2022}/mobile-filter/mobile-filter.module.mjs +5 -5
  63. package/{esm2020 → esm2022}/modal/modal.module.mjs +5 -5
  64. package/{esm2020 → esm2022}/modal/modal.service.mjs +5 -5
  65. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +56 -0
  66. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +489 -0
  67. package/{esm2020 → esm2022}/multi-select-dropdown/multi-select-dropdown.module.mjs +5 -5
  68. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +516 -0
  69. package/{esm2020 → esm2022}/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +5 -5
  70. package/esm2022/phone-input/phone-input.component.mjs +72 -0
  71. package/{esm2020 → esm2022}/phone-input/phone-input.module.mjs +5 -5
  72. package/esm2022/radio-button/radio-button.component.mjs +57 -0
  73. package/{esm2020 → esm2022}/radio-button/radio-button.module.mjs +5 -5
  74. package/esm2022/ske-loader/ske-loader.component.mjs +54 -0
  75. package/{esm2020 → esm2022}/ske-loader/ske-loader.module.mjs +5 -5
  76. package/esm2022/slider/slider.component.mjs +46 -0
  77. package/{esm2020 → esm2022}/slider/slider.module.mjs +7 -7
  78. package/esm2022/snackbar/snackbar/snackbar.component.mjs +72 -0
  79. package/{esm2020 → esm2022}/snackbar/snackbar.module.mjs +5 -5
  80. package/{esm2020 → esm2022}/snackbar/snackbar.service.mjs +5 -5
  81. package/{esm2020 → esm2022}/specificdatepicker/specificdatepicker.module.mjs +5 -5
  82. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +632 -0
  83. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +196 -0
  84. package/esm2022/star-rating/star-rating.component.mjs +113 -0
  85. package/{esm2020 → esm2022}/star-rating/star-rating.module.mjs +5 -5
  86. package/esm2022/switch/switch.component.mjs +56 -0
  87. package/{esm2020 → esm2022}/switch/switch.module.mjs +5 -5
  88. package/esm2022/table/custom-table-cell.directive.mjs +42 -0
  89. package/esm2022/table/filter/filter.component.mjs +177 -0
  90. package/esm2022/table/sub-table/sub-table.component.mjs +192 -0
  91. package/esm2022/table/table.component.mjs +485 -0
  92. package/{esm2020 → esm2022}/table/table.module.mjs +5 -5
  93. package/esm2022/timepicker/timepicker.component.mjs +347 -0
  94. package/{esm2020 → esm2022}/timepicker/timepicker.directive.mjs +11 -11
  95. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +5 -5
  96. package/{esm2020 → esm2022}/timerangepicker/timerangepicker.component.mjs +23 -22
  97. package/{esm2020 → esm2022}/timerangepicker/timerangepicker.module.mjs +5 -5
  98. package/esm2022/toast/toast.component.mjs +51 -0
  99. package/{esm2020 → esm2022}/toast/toast.data.service.mjs +8 -8
  100. package/{esm2020 → esm2022}/toast/toast.module.mjs +5 -5
  101. package/{esm2020 → esm2022}/toast/toast.service.mjs +5 -5
  102. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +79 -0
  103. package/esm2022/tooltip/tooltip.directive.mjs +143 -0
  104. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +5 -5
  105. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +188 -0
  106. package/{esm2020 → esm2022}/virtual-scroll/virtual-scroll.module.mjs +7 -7
  107. package/{esm2020 → esm2022}/widgets/services/widget.service.mjs +5 -5
  108. package/{esm2020 → esm2022}/widgets/widgets.module.mjs +5 -5
  109. package/fab/fab.component.d.ts +4 -4
  110. package/{fesm2020 → fesm2022}/mis-crystal-design-system-action-list.mjs +107 -114
  111. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -0
  112. package/{fesm2020 → fesm2022}/mis-crystal-design-system-analytics.mjs +9 -9
  113. package/{fesm2020 → fesm2022}/mis-crystal-design-system-analytics.mjs.map +1 -1
  114. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +543 -0
  115. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
  116. package/fesm2022/mis-crystal-design-system-button.mjs +173 -0
  117. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -0
  118. package/fesm2022/mis-crystal-design-system-checkbox.mjs +150 -0
  119. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -0
  120. package/fesm2022/mis-crystal-design-system-chip.mjs +108 -0
  121. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -0
  122. package/{fesm2020 → fesm2022}/mis-crystal-design-system-datepicker_v2.mjs +133 -140
  123. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
  124. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +690 -0
  125. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
  126. package/{fesm2020 → fesm2022}/mis-crystal-design-system-drawer.mjs +34 -33
  127. package/{fesm2020 → fesm2022}/mis-crystal-design-system-drawer.mjs.map +1 -1
  128. package/{fesm2020 → fesm2022}/mis-crystal-design-system-dropdown.mjs +177 -185
  129. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -0
  130. package/{fesm2020 → fesm2022}/mis-crystal-design-system-dynamic-form.mjs +442 -457
  131. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
  132. package/{fesm2020 → fesm2022}/mis-crystal-design-system-fab.mjs +49 -48
  133. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -0
  134. package/{fesm2020 → fesm2022}/mis-crystal-design-system-filter.mjs +113 -120
  135. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -0
  136. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +104 -0
  137. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -0
  138. package/fesm2022/mis-crystal-design-system-input.mjs +146 -0
  139. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -0
  140. package/fesm2022/mis-crystal-design-system-loader.mjs +51 -0
  141. package/{fesm2020 → fesm2022}/mis-crystal-design-system-loader.mjs.map +1 -1
  142. package/{fesm2020 → fesm2022}/mis-crystal-design-system-menu.mjs +17 -17
  143. package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -0
  144. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +205 -0
  145. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
  146. package/{fesm2020 → fesm2022}/mis-crystal-design-system-modal.mjs +34 -33
  147. package/{fesm2015 → fesm2022}/mis-crystal-design-system-modal.mjs.map +1 -1
  148. package/{fesm2020 → fesm2022}/mis-crystal-design-system-multi-select-dropdown.mjs +108 -110
  149. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
  150. package/{fesm2020 → fesm2022}/mis-crystal-design-system-nested-multi-select-dropdown.mjs +129 -130
  151. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
  152. package/{fesm2020 → fesm2022}/mis-crystal-design-system-phone-input.mjs +22 -21
  153. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -0
  154. package/fesm2022/mis-crystal-design-system-radio-button.mjs +83 -0
  155. package/{fesm2020 → fesm2022}/mis-crystal-design-system-radio-button.mjs.map +1 -1
  156. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +77 -0
  157. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -0
  158. package/fesm2022/mis-crystal-design-system-slider.mjs +80 -0
  159. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -0
  160. package/{fesm2020 → fesm2022}/mis-crystal-design-system-snackbar.mjs +33 -33
  161. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -0
  162. package/{fesm2020 → fesm2022}/mis-crystal-design-system-specificdatepicker.mjs +205 -205
  163. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
  164. package/{fesm2020 → fesm2022}/mis-crystal-design-system-star-rating.mjs +30 -29
  165. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -0
  166. package/fesm2022/mis-crystal-design-system-switch.mjs +82 -0
  167. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -0
  168. package/fesm2022/mis-crystal-design-system-table.mjs +912 -0
  169. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -0
  170. package/{fesm2020 → fesm2022}/mis-crystal-design-system-timepicker.mjs +79 -75
  171. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -0
  172. package/{fesm2020 → fesm2022}/mis-crystal-design-system-timerangepicker.mjs +27 -26
  173. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -0
  174. package/{fesm2020 → fesm2022}/mis-crystal-design-system-toast.mjs +35 -34
  175. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -0
  176. package/{fesm2020 → fesm2022}/mis-crystal-design-system-tooltip.mjs +48 -48
  177. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -0
  178. package/{fesm2015 → fesm2022}/mis-crystal-design-system-utils.mjs.map +1 -1
  179. package/{fesm2020 → fesm2022}/mis-crystal-design-system-virtual-scroll.mjs +51 -53
  180. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
  181. package/{fesm2020 → fesm2022}/mis-crystal-design-system-widgets.mjs +4 -4
  182. package/{fesm2020 → fesm2022}/mis-crystal-design-system-widgets.mjs.map +1 -1
  183. package/filter/filter-panel/filter-panel.component.d.ts +1 -1
  184. package/input/directives/input/input.directive.d.ts +1 -1
  185. package/input/mis-input.component.d.ts +1 -1
  186. package/input-stepper/input-stepper/input-stepper.component.d.ts +1 -1
  187. package/loader/loader.component.d.ts +1 -1
  188. package/menu/menu-close.directive.d.ts +1 -1
  189. package/menu/menu.directive.d.ts +1 -1
  190. package/mobile-filter/mobile-filter.component.d.ts +1 -1
  191. package/modal/module-wrapper/module-wrapper.component.d.ts +1 -1
  192. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +1 -1
  193. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +1 -1
  194. package/package.json +128 -210
  195. package/phone-input/phone-input.component.d.ts +1 -1
  196. package/radio-button/radio-button.component.d.ts +1 -1
  197. package/ske-loader/ske-loader.component.d.ts +1 -1
  198. package/slider/slider.component.d.ts +1 -1
  199. package/snackbar/snackbar/snackbar.component.d.ts +1 -1
  200. package/specificdatepicker/models/sdp-config.model.d.ts +1 -1
  201. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +1 -1
  202. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +1 -1
  203. package/star-rating/star-rating.component.d.ts +1 -1
  204. package/styles/mis-old-icon-styles.scss +498 -0
  205. package/switch/switch.component.d.ts +1 -1
  206. package/table/custom-table-cell.directive.d.ts +1 -1
  207. package/table/filter/filter.component.d.ts +1 -1
  208. package/table/sub-table/sub-table.component.d.ts +1 -1
  209. package/table/table.component.d.ts +1 -1
  210. package/timepicker/timepicker.component.d.ts +1 -1
  211. package/timepicker/timepicker.directive.d.ts +1 -1
  212. package/timerangepicker/timerange.namespace.d.ts +1 -1
  213. package/timerangepicker/timerangepicker.component.d.ts +1 -1
  214. package/toast/toast.component.d.ts +1 -1
  215. package/toast/toast.service.d.ts +1 -1
  216. package/tooltip/models/tooltip.model.d.ts +1 -1
  217. package/tooltip/tooltip-container/tooltip.component.d.ts +1 -1
  218. package/tooltip/tooltip.directive.d.ts +1 -1
  219. package/virtual-scroll/virtual-scroll.component.d.ts +1 -1
  220. package/widgets/interfaces/widgets.model.d.ts +1 -1
  221. package/esm2020/async-search-dropdown/async-dropdown.component.mjs +0 -524
  222. package/esm2020/button/button.component.mjs +0 -87
  223. package/esm2020/checkbox/checkbox.component.mjs +0 -124
  224. package/esm2020/chip/chip.component.mjs +0 -82
  225. package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +0 -183
  226. package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +0 -439
  227. package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +0 -156
  228. package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +0 -465
  229. package/esm2020/drawer/drawer-body/drawer-body.component.mjs +0 -58
  230. package/esm2020/dropdown/dropdown.component.mjs +0 -472
  231. package/esm2020/dynamic-form/dynamic-form.component.mjs +0 -1103
  232. package/esm2020/fab/fab.component.mjs +0 -144
  233. package/esm2020/filter/filter-panel/filter-panel.component.mjs +0 -403
  234. package/esm2020/input/mis-input.component.mjs +0 -84
  235. package/esm2020/input-stepper/input-stepper/input-stepper.component.mjs +0 -74
  236. package/esm2020/loader/loader.component.mjs +0 -24
  237. package/esm2020/menu/menu-close.directive.mjs +0 -25
  238. package/esm2020/mobile-filter/mobile-filter.component.mjs +0 -181
  239. package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +0 -55
  240. package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +0 -491
  241. package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +0 -517
  242. package/esm2020/phone-input/phone-input.component.mjs +0 -71
  243. package/esm2020/radio-button/radio-button.component.mjs +0 -56
  244. package/esm2020/ske-loader/ske-loader.component.mjs +0 -53
  245. package/esm2020/slider/slider.component.mjs +0 -45
  246. package/esm2020/snackbar/snackbar/snackbar.component.mjs +0 -72
  247. package/esm2020/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +0 -632
  248. package/esm2020/specificdatepicker/tz-specificdatepicker.directive.mjs +0 -196
  249. package/esm2020/star-rating/star-rating.component.mjs +0 -112
  250. package/esm2020/switch/switch.component.mjs +0 -55
  251. package/esm2020/table/custom-table-cell.directive.mjs +0 -42
  252. package/esm2020/table/filter/filter.component.mjs +0 -176
  253. package/esm2020/table/sub-table/sub-table.component.mjs +0 -193
  254. package/esm2020/table/table.component.mjs +0 -492
  255. package/esm2020/timepicker/timepicker.component.mjs +0 -343
  256. package/esm2020/toast/toast.component.mjs +0 -50
  257. package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +0 -79
  258. package/esm2020/tooltip/tooltip.directive.mjs +0 -143
  259. package/esm2020/virtual-scroll/virtual-scroll.component.mjs +0 -190
  260. package/fesm2015/mis-crystal-design-system-action-list.mjs +0 -446
  261. package/fesm2015/mis-crystal-design-system-action-list.mjs.map +0 -1
  262. package/fesm2015/mis-crystal-design-system-analytics.mjs +0 -87
  263. package/fesm2015/mis-crystal-design-system-analytics.mjs.map +0 -1
  264. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +0 -617
  265. package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
  266. package/fesm2015/mis-crystal-design-system-button.mjs +0 -189
  267. package/fesm2015/mis-crystal-design-system-button.mjs.map +0 -1
  268. package/fesm2015/mis-crystal-design-system-checkbox.mjs +0 -166
  269. package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +0 -1
  270. package/fesm2015/mis-crystal-design-system-chip.mjs +0 -123
  271. package/fesm2015/mis-crystal-design-system-chip.mjs.map +0 -1
  272. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +0 -741
  273. package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
  274. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +0 -729
  275. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
  276. package/fesm2015/mis-crystal-design-system-drawer.mjs +0 -185
  277. package/fesm2015/mis-crystal-design-system-drawer.mjs.map +0 -1
  278. package/fesm2015/mis-crystal-design-system-dropdown.mjs +0 -616
  279. package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +0 -1
  280. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +0 -1331
  281. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
  282. package/fesm2015/mis-crystal-design-system-fab.mjs +0 -186
  283. package/fesm2015/mis-crystal-design-system-fab.mjs.map +0 -1
  284. package/fesm2015/mis-crystal-design-system-filter.mjs +0 -560
  285. package/fesm2015/mis-crystal-design-system-filter.mjs.map +0 -1
  286. package/fesm2015/mis-crystal-design-system-input-stepper.mjs +0 -110
  287. package/fesm2015/mis-crystal-design-system-input-stepper.mjs.map +0 -1
  288. package/fesm2015/mis-crystal-design-system-input.mjs +0 -165
  289. package/fesm2015/mis-crystal-design-system-input.mjs.map +0 -1
  290. package/fesm2015/mis-crystal-design-system-loader.mjs +0 -57
  291. package/fesm2015/mis-crystal-design-system-loader.mjs.map +0 -1
  292. package/fesm2015/mis-crystal-design-system-menu.mjs +0 -135
  293. package/fesm2015/mis-crystal-design-system-menu.mjs.map +0 -1
  294. package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +0 -227
  295. package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
  296. package/fesm2015/mis-crystal-design-system-modal.mjs +0 -184
  297. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +0 -550
  298. package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
  299. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -559
  300. package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
  301. package/fesm2015/mis-crystal-design-system-phone-input.mjs +0 -107
  302. package/fesm2015/mis-crystal-design-system-phone-input.mjs.map +0 -1
  303. package/fesm2015/mis-crystal-design-system-radio-button.mjs +0 -89
  304. package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +0 -1
  305. package/fesm2015/mis-crystal-design-system-ske-loader.mjs +0 -86
  306. package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +0 -1
  307. package/fesm2015/mis-crystal-design-system-slider.mjs +0 -88
  308. package/fesm2015/mis-crystal-design-system-slider.mjs.map +0 -1
  309. package/fesm2015/mis-crystal-design-system-snackbar.mjs +0 -175
  310. package/fesm2015/mis-crystal-design-system-snackbar.mjs.map +0 -1
  311. package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs +0 -956
  312. package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
  313. package/fesm2015/mis-crystal-design-system-star-rating.mjs +0 -145
  314. package/fesm2015/mis-crystal-design-system-star-rating.mjs.map +0 -1
  315. package/fesm2015/mis-crystal-design-system-switch.mjs +0 -88
  316. package/fesm2015/mis-crystal-design-system-switch.mjs.map +0 -1
  317. package/fesm2015/mis-crystal-design-system-table.mjs +0 -1045
  318. package/fesm2015/mis-crystal-design-system-table.mjs.map +0 -1
  319. package/fesm2015/mis-crystal-design-system-timepicker.mjs +0 -452
  320. package/fesm2015/mis-crystal-design-system-timepicker.mjs.map +0 -1
  321. package/fesm2015/mis-crystal-design-system-timerangepicker.mjs +0 -270
  322. package/fesm2015/mis-crystal-design-system-timerangepicker.mjs.map +0 -1
  323. package/fesm2015/mis-crystal-design-system-toast.mjs +0 -214
  324. package/fesm2015/mis-crystal-design-system-toast.mjs.map +0 -1
  325. package/fesm2015/mis-crystal-design-system-tooltip.mjs +0 -272
  326. package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +0 -1
  327. package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs +0 -259
  328. package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
  329. package/fesm2015/mis-crystal-design-system-widgets.mjs +0 -131
  330. package/fesm2015/mis-crystal-design-system-widgets.mjs.map +0 -1
  331. package/fesm2020/mis-crystal-design-system-action-list.mjs.map +0 -1
  332. package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs +0 -549
  333. package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
  334. package/fesm2020/mis-crystal-design-system-button.mjs +0 -172
  335. package/fesm2020/mis-crystal-design-system-button.mjs.map +0 -1
  336. package/fesm2020/mis-crystal-design-system-checkbox.mjs +0 -150
  337. package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +0 -1
  338. package/fesm2020/mis-crystal-design-system-chip.mjs +0 -108
  339. package/fesm2020/mis-crystal-design-system-chip.mjs.map +0 -1
  340. package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
  341. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +0 -689
  342. package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
  343. package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +0 -1
  344. package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
  345. package/fesm2020/mis-crystal-design-system-fab.mjs.map +0 -1
  346. package/fesm2020/mis-crystal-design-system-filter.mjs.map +0 -1
  347. package/fesm2020/mis-crystal-design-system-input-stepper.mjs +0 -103
  348. package/fesm2020/mis-crystal-design-system-input-stepper.mjs.map +0 -1
  349. package/fesm2020/mis-crystal-design-system-input.mjs.map +0 -1
  350. package/fesm2020/mis-crystal-design-system-loader.mjs +0 -50
  351. package/fesm2020/mis-crystal-design-system-menu.mjs.map +0 -1
  352. package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +0 -206
  353. package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
  354. package/fesm2020/mis-crystal-design-system-modal.mjs.map +0 -1
  355. package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
  356. package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
  357. package/fesm2020/mis-crystal-design-system-phone-input.mjs.map +0 -1
  358. package/fesm2020/mis-crystal-design-system-radio-button.mjs +0 -82
  359. package/fesm2020/mis-crystal-design-system-ske-loader.mjs +0 -76
  360. package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +0 -1
  361. package/fesm2020/mis-crystal-design-system-slider.mjs +0 -79
  362. package/fesm2020/mis-crystal-design-system-slider.mjs.map +0 -1
  363. package/fesm2020/mis-crystal-design-system-snackbar.mjs.map +0 -1
  364. package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
  365. package/fesm2020/mis-crystal-design-system-star-rating.mjs.map +0 -1
  366. package/fesm2020/mis-crystal-design-system-styles.mjs +0 -4
  367. package/fesm2020/mis-crystal-design-system-styles.mjs.map +0 -1
  368. package/fesm2020/mis-crystal-design-system-switch.mjs +0 -81
  369. package/fesm2020/mis-crystal-design-system-switch.mjs.map +0 -1
  370. package/fesm2020/mis-crystal-design-system-table.mjs +0 -919
  371. package/fesm2020/mis-crystal-design-system-table.mjs.map +0 -1
  372. package/fesm2020/mis-crystal-design-system-timepicker.mjs.map +0 -1
  373. package/fesm2020/mis-crystal-design-system-timerangepicker.mjs.map +0 -1
  374. package/fesm2020/mis-crystal-design-system-toast.mjs.map +0 -1
  375. package/fesm2020/mis-crystal-design-system-tooltip.mjs.map +0 -1
  376. package/fesm2020/mis-crystal-design-system-utils.mjs +0 -24
  377. package/fesm2020/mis-crystal-design-system-utils.mjs.map +0 -1
  378. package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
  379. package/fesm2020/mis-crystal-design-system.mjs +0 -24
  380. package/fesm2020/mis-crystal-design-system.mjs.map +0 -1
  381. /package/{esm2020 → esm2022}/action-list/index.mjs +0 -0
  382. /package/{esm2020 → esm2022}/action-list/mis-crystal-design-system-action-list.mjs +0 -0
  383. /package/{esm2020 → esm2022}/action-list/public_api.mjs +0 -0
  384. /package/{esm2020 → esm2022}/analytics/index.mjs +0 -0
  385. /package/{esm2020 → esm2022}/analytics/mis-crystal-design-system-analytics.mjs +0 -0
  386. /package/{esm2020 → esm2022}/analytics/public_api.mjs +0 -0
  387. /package/{esm2020 → esm2022}/async-search-dropdown/index.mjs +0 -0
  388. /package/{esm2020 → esm2022}/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs +0 -0
  389. /package/{esm2020 → esm2022}/async-search-dropdown/public_api.mjs +0 -0
  390. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  391. /package/{esm2020 → esm2022}/button/mis-crystal-design-system-button.mjs +0 -0
  392. /package/{esm2020 → esm2022}/button/public_api.mjs +0 -0
  393. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  394. /package/{esm2020 → esm2022}/checkbox/mis-crystal-design-system-checkbox.mjs +0 -0
  395. /package/{esm2020 → esm2022}/checkbox/public_api.mjs +0 -0
  396. /package/{esm2020 → esm2022}/chip/index.mjs +0 -0
  397. /package/{esm2020 → esm2022}/chip/mis-crystal-design-system-chip.mjs +0 -0
  398. /package/{esm2020 → esm2022}/chip/public_api.mjs +0 -0
  399. /package/{esm2020 → esm2022}/datepicker_v2/datepicker-constants.mjs +0 -0
  400. /package/{esm2020 → esm2022}/datepicker_v2/index.mjs +0 -0
  401. /package/{esm2020 → esm2022}/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +0 -0
  402. /package/{esm2020 → esm2022}/datepicker_v2/models/dp-config.model.mjs +0 -0
  403. /package/{esm2020 → esm2022}/datepicker_v2/public_api.mjs +0 -0
  404. /package/{esm2020 → esm2022}/datepicker_v2/utils/index.mjs +0 -0
  405. /package/{esm2020 → esm2022}/daterangepicker_v2/daterangepicker-constants.mjs +0 -0
  406. /package/{esm2020 → esm2022}/daterangepicker_v2/index.mjs +0 -0
  407. /package/{esm2020 → esm2022}/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +0 -0
  408. /package/{esm2020 → esm2022}/daterangepicker_v2/models/drp-config.model.mjs +0 -0
  409. /package/{esm2020 → esm2022}/daterangepicker_v2/public_api.mjs +0 -0
  410. /package/{esm2020 → esm2022}/daterangepicker_v2/utils/index.mjs +0 -0
  411. /package/{esm2020 → esm2022}/drawer/drawer-constants.mjs +0 -0
  412. /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
  413. /package/{esm2020 → esm2022}/drawer/mis-crystal-design-system-drawer.mjs +0 -0
  414. /package/{esm2020 → esm2022}/drawer/public_api.mjs +0 -0
  415. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  416. /package/{esm2020 → esm2022}/dropdown/mis-crystal-design-system-dropdown.mjs +0 -0
  417. /package/{esm2020 → esm2022}/dropdown/public_api.mjs +0 -0
  418. /package/{esm2020 → esm2022}/dynamic-form/dynamic-form.namespace.mjs +0 -0
  419. /package/{esm2020 → esm2022}/dynamic-form/index.mjs +0 -0
  420. /package/{esm2020 → esm2022}/dynamic-form/mis-crystal-design-system-dynamic-form.mjs +0 -0
  421. /package/{esm2020 → esm2022}/dynamic-form/public_api.mjs +0 -0
  422. /package/{esm2020 → esm2022}/fab/index.mjs +0 -0
  423. /package/{esm2020 → esm2022}/fab/mis-crystal-design-system-fab.mjs +0 -0
  424. /package/{esm2020 → esm2022}/fab/public_api.mjs +0 -0
  425. /package/{esm2020 → esm2022}/filter/animations/slideFromRight.mjs +0 -0
  426. /package/{esm2020 → esm2022}/filter/index.mjs +0 -0
  427. /package/{esm2020 → esm2022}/filter/mis-crystal-design-system-filter.mjs +0 -0
  428. /package/{esm2020 → esm2022}/filter/public_api.mjs +0 -0
  429. /package/{esm2020 → esm2022}/index.mjs +0 -0
  430. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  431. /package/{esm2020 → esm2022}/input/mis-crystal-design-system-input.mjs +0 -0
  432. /package/{esm2020 → esm2022}/input/public_api.mjs +0 -0
  433. /package/{esm2020 → esm2022}/input-stepper/index.mjs +0 -0
  434. /package/{esm2020 → esm2022}/input-stepper/mis-crystal-design-system-input-stepper.mjs +0 -0
  435. /package/{esm2020 → esm2022}/input-stepper/public_api.mjs +0 -0
  436. /package/{esm2020 → esm2022}/loader/index.mjs +0 -0
  437. /package/{esm2020 → esm2022}/loader/mis-crystal-design-system-loader.mjs +0 -0
  438. /package/{esm2020 → esm2022}/loader/public_api.mjs +0 -0
  439. /package/{esm2020 → esm2022}/menu/index.mjs +0 -0
  440. /package/{esm2020 → esm2022}/menu/mis-crystal-design-system-menu.mjs +0 -0
  441. /package/{esm2020 → esm2022}/menu/public_api.mjs +0 -0
  442. /package/{esm2020 → esm2022}/mis-crystal-design-system.mjs +0 -0
  443. /package/{esm2020 → esm2022}/mobile-filter/index.mjs +0 -0
  444. /package/{esm2020 → esm2022}/mobile-filter/mis-crystal-design-system-mobile-filter.mjs +0 -0
  445. /package/{esm2020 → esm2022}/mobile-filter/public_api.mjs +0 -0
  446. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  447. /package/{esm2020 → esm2022}/modal/mis-crystal-design-system-modal.mjs +0 -0
  448. /package/{esm2020 → esm2022}/modal/modal-constants.mjs +0 -0
  449. /package/{esm2020 → esm2022}/modal/modal-ref.mjs +0 -0
  450. /package/{esm2020 → esm2022}/modal/public_api.mjs +0 -0
  451. /package/{esm2020 → esm2022}/multi-select-dropdown/index.mjs +0 -0
  452. /package/{esm2020 → esm2022}/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs +0 -0
  453. /package/{esm2020 → esm2022}/multi-select-dropdown/public_api.mjs +0 -0
  454. /package/{esm2020 → esm2022}/nested-multi-select-dropdown/index.mjs +0 -0
  455. /package/{esm2020 → esm2022}/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -0
  456. /package/{esm2020 → esm2022}/nested-multi-select-dropdown/public_api.mjs +0 -0
  457. /package/{esm2020 → esm2022}/phone-input/index.mjs +0 -0
  458. /package/{esm2020 → esm2022}/phone-input/mis-crystal-design-system-phone-input.mjs +0 -0
  459. /package/{esm2020 → esm2022}/phone-input/public_api.mjs +0 -0
  460. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  461. /package/{esm2020 → esm2022}/radio-button/index.mjs +0 -0
  462. /package/{esm2020 → esm2022}/radio-button/mis-crystal-design-system-radio-button.mjs +0 -0
  463. /package/{esm2020 → esm2022}/radio-button/public_api.mjs +0 -0
  464. /package/{esm2020 → esm2022}/ske-loader/index.mjs +0 -0
  465. /package/{esm2020 → esm2022}/ske-loader/mis-crystal-design-system-ske-loader.mjs +0 -0
  466. /package/{esm2020 → esm2022}/ske-loader/public_api.mjs +0 -0
  467. /package/{esm2020 → esm2022}/slider/index.mjs +0 -0
  468. /package/{esm2020 → esm2022}/slider/mis-crystal-design-system-slider.mjs +0 -0
  469. /package/{esm2020 → esm2022}/slider/public_api.mjs +0 -0
  470. /package/{esm2020 → esm2022}/snackbar/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/snackbar/mis-crystal-design-system-snackbar.mjs +0 -0
  472. /package/{esm2020 → esm2022}/snackbar/public_api.mjs +0 -0
  473. /package/{esm2020 → esm2022}/specificdatepicker/daterangepicker-constants.mjs +0 -0
  474. /package/{esm2020 → esm2022}/specificdatepicker/index.mjs +0 -0
  475. /package/{esm2020 → esm2022}/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs +0 -0
  476. /package/{esm2020 → esm2022}/specificdatepicker/models/sdp-config.model.mjs +0 -0
  477. /package/{esm2020 → esm2022}/specificdatepicker/public_api.mjs +0 -0
  478. /package/{esm2020 → esm2022}/specificdatepicker/utils/index.mjs +0 -0
  479. /package/{esm2020 → esm2022}/star-rating/index.mjs +0 -0
  480. /package/{esm2020 → esm2022}/star-rating/mis-crystal-design-system-star-rating.mjs +0 -0
  481. /package/{esm2020 → esm2022}/star-rating/public_api.mjs +0 -0
  482. /package/{esm2020 → esm2022}/styles/index.mjs +0 -0
  483. /package/{esm2020 → esm2022}/styles/mis-crystal-design-system-styles.mjs +0 -0
  484. /package/{esm2020 → esm2022}/styles/public_api.mjs +0 -0
  485. /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
  486. /package/{esm2020 → esm2022}/switch/mis-crystal-design-system-switch.mjs +0 -0
  487. /package/{esm2020 → esm2022}/switch/public_api.mjs +0 -0
  488. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  489. /package/{esm2020 → esm2022}/table/mis-crystal-design-system-table.mjs +0 -0
  490. /package/{esm2020 → esm2022}/table/public_api.mjs +0 -0
  491. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  492. /package/{esm2020 → esm2022}/timepicker/mis-crystal-design-system-timepicker.mjs +0 -0
  493. /package/{esm2020 → esm2022}/timepicker/public_api.mjs +0 -0
  494. /package/{esm2020 → esm2022}/timepicker/time.namespace.mjs +0 -0
  495. /package/{esm2020 → esm2022}/timerangepicker/index.mjs +0 -0
  496. /package/{esm2020 → esm2022}/timerangepicker/mis-crystal-design-system-timerangepicker.mjs +0 -0
  497. /package/{esm2020 → esm2022}/timerangepicker/public_api.mjs +0 -0
  498. /package/{esm2020 → esm2022}/timerangepicker/timerange.namespace.mjs +0 -0
  499. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  500. /package/{esm2020 → esm2022}/toast/mis-crystal-design-system-toast.mjs +0 -0
  501. /package/{esm2020 → esm2022}/toast/public_api.mjs +0 -0
  502. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  503. /package/{esm2020 → esm2022}/tooltip/mis-crystal-design-system-tooltip.mjs +0 -0
  504. /package/{esm2020 → esm2022}/tooltip/models/tooltip.model.mjs +0 -0
  505. /package/{esm2020 → esm2022}/tooltip/public_api.mjs +0 -0
  506. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  507. /package/{esm2020 → esm2022}/utils/mis-crystal-design-system-utils.mjs +0 -0
  508. /package/{esm2020 → esm2022}/virtual-scroll/index.mjs +0 -0
  509. /package/{esm2020 → esm2022}/virtual-scroll/mis-crystal-design-system-virtual-scroll.mjs +0 -0
  510. /package/{esm2020 → esm2022}/virtual-scroll/public_api.mjs +0 -0
  511. /package/{esm2020 → esm2022}/virtual-scroll/virtual-scroll.constants.mjs +0 -0
  512. /package/{esm2020 → esm2022}/widgets/classes/async-widget.mjs +0 -0
  513. /package/{esm2020 → esm2022}/widgets/classes/base-widget.mjs +0 -0
  514. /package/{esm2020 → esm2022}/widgets/classes/sync-widget.mjs +0 -0
  515. /package/{esm2020 → esm2022}/widgets/classes/widget-group.mjs +0 -0
  516. /package/{esm2020 → esm2022}/widgets/index.mjs +0 -0
  517. /package/{esm2020 → esm2022}/widgets/interfaces/widgets.model.mjs +0 -0
  518. /package/{esm2020 → esm2022}/widgets/mis-crystal-design-system-widgets.mjs +0 -0
  519. /package/{esm2020 → esm2022}/widgets/public_api.mjs +0 -0
  520. /package/{fesm2015 → fesm2022}/mis-crystal-design-system-styles.mjs +0 -0
  521. /package/{fesm2015 → fesm2022}/mis-crystal-design-system-styles.mjs.map +0 -0
  522. /package/{fesm2015 → fesm2022}/mis-crystal-design-system-utils.mjs +0 -0
  523. /package/{fesm2015 → fesm2022}/mis-crystal-design-system.mjs +0 -0
  524. /package/{fesm2015 → fesm2022}/mis-crystal-design-system.mjs.map +0 -0
@@ -1,439 +0,0 @@
1
- import { Component, HostListener, Inject } from "@angular/core";
2
- import { CONTAINER_DATA, DATE_FORMAT } from "../datepicker-constants";
3
- import moment, { parseZone, tz } from "moment-timezone";
4
- import { getMonth } from "../utils";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "mis-crystal-design-system/toast";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "mis-crystal-design-system/button";
9
- import * as i4 from "@angular/cdk/a11y";
10
- function TzDpContainerComponent_div_6_Template(rf, ctx) { if (rf & 1) {
11
- const _r8 = i0.ɵɵgetCurrentView();
12
- i0.ɵɵnamespaceSVG();
13
- i0.ɵɵnamespaceHTML();
14
- i0.ɵɵelementStart(0, "div", 15);
15
- 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()); });
16
- i0.ɵɵtext(1);
17
- i0.ɵɵelementEnd();
18
- } if (rf & 2) {
19
- const ctx_r0 = i0.ɵɵnextContext();
20
- i0.ɵɵadvance(1);
21
- i0.ɵɵtextInterpolate1(" ", ctx_r0.isYearSelectionFlow ? ctx_r0.selectedYear : ctx_r0.availableMonths[ctx_r0.currentMonthNumber], " ");
22
- } }
23
- function TzDpContainerComponent_div_7_Template(rf, ctx) { if (rf & 1) {
24
- const _r10 = i0.ɵɵgetCurrentView();
25
- i0.ɵɵnamespaceSVG();
26
- i0.ɵɵnamespaceHTML();
27
- i0.ɵɵelementStart(0, "div", 16);
28
- 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()); });
29
- i0.ɵɵtext(1);
30
- i0.ɵɵelementEnd();
31
- } if (rf & 2) {
32
- const ctx_r1 = i0.ɵɵnextContext();
33
- i0.ɵɵadvance(1);
34
- i0.ɵɵtextInterpolate1(" ", ctx_r1.isSelectingYear ? ctx_r1.yearRange : ctx_r1.currentYearNumber, " ");
35
- } }
36
- const _c0 = function (a0, a1) { return { "disable-month": a0, "select-month": a1 }; };
37
- function TzDpContainerComponent_div_12_div_2_Template(rf, ctx) { if (rf & 1) {
38
- const _r15 = i0.ɵɵgetCurrentView();
39
- i0.ɵɵelementStart(0, "div", 20);
40
- 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)); });
41
- i0.ɵɵtext(1);
42
- i0.ɵɵelementEnd();
43
- } if (rf & 2) {
44
- const month_r12 = ctx.$implicit;
45
- const i_r13 = ctx.index;
46
- const ctx_r11 = i0.ɵɵnextContext(2);
47
- 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]));
48
- i0.ɵɵadvance(1);
49
- i0.ɵɵtextInterpolate1(" ", month_r12, " ");
50
- } }
51
- function TzDpContainerComponent_div_12_Template(rf, ctx) { if (rf & 1) {
52
- i0.ɵɵelementStart(0, "div", 17)(1, "div", 18);
53
- i0.ɵɵtemplate(2, TzDpContainerComponent_div_12_div_2_Template, 2, 5, "div", 19);
54
- i0.ɵɵelementEnd()();
55
- } if (rf & 2) {
56
- const ctx_r2 = i0.ɵɵnextContext();
57
- i0.ɵɵadvance(2);
58
- i0.ɵɵproperty("ngForOf", ctx_r2.availableMonths);
59
- } }
60
- const _c1 = function (a0, a1) { return { "disable-year": a0, "select-year": a1 }; };
61
- function TzDpContainerComponent_div_13_div_2_Template(rf, ctx) { if (rf & 1) {
62
- const _r20 = i0.ɵɵgetCurrentView();
63
- i0.ɵɵelementStart(0, "div", 23);
64
- 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)); });
65
- i0.ɵɵtext(1);
66
- i0.ɵɵelementEnd();
67
- } if (rf & 2) {
68
- const year_r17 = ctx.$implicit;
69
- const i_r18 = ctx.index;
70
- const ctx_r16 = i0.ɵɵnextContext(2);
71
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(2, _c1, ctx_r16.disabledYears[i_r18], year_r17 === ctx_r16.currentYearNumber));
72
- i0.ɵɵadvance(1);
73
- i0.ɵɵtextInterpolate1(" ", year_r17, " ");
74
- } }
75
- function TzDpContainerComponent_div_13_Template(rf, ctx) { if (rf & 1) {
76
- i0.ɵɵelementStart(0, "div", 21)(1, "div", 18);
77
- i0.ɵɵtemplate(2, TzDpContainerComponent_div_13_div_2_Template, 2, 5, "div", 22);
78
- i0.ɵɵelementEnd()();
79
- } if (rf & 2) {
80
- const ctx_r3 = i0.ɵɵnextContext();
81
- i0.ɵɵadvance(2);
82
- i0.ɵɵproperty("ngForOf", ctx_r3.availableYears);
83
- } }
84
- const _c2 = function (a0) { return { "current-day": a0 }; };
85
- function TzDpContainerComponent_div_14_div_1_Template(rf, ctx) { if (rf & 1) {
86
- i0.ɵɵelementStart(0, "div", 26)(1, "span", 27);
87
- i0.ɵɵtext(2);
88
- i0.ɵɵelementEnd()();
89
- } if (rf & 2) {
90
- const weekDay_r22 = ctx.$implicit;
91
- i0.ɵɵadvance(1);
92
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c2, weekDay_r22.isCurrentDay));
93
- i0.ɵɵadvance(1);
94
- i0.ɵɵtextInterpolate(weekDay_r22.label);
95
- } }
96
- function TzDpContainerComponent_div_14_Template(rf, ctx) { if (rf & 1) {
97
- i0.ɵɵelementStart(0, "div", 24);
98
- i0.ɵɵtemplate(1, TzDpContainerComponent_div_14_div_1_Template, 3, 4, "div", 25);
99
- i0.ɵɵelementEnd();
100
- } if (rf & 2) {
101
- const ctx_r4 = i0.ɵɵnextContext();
102
- i0.ɵɵadvance(1);
103
- i0.ɵɵproperty("ngForOf", ctx_r4.weekDays);
104
- } }
105
- const _c3 = function (a0, a1, a2) { return { "current-day": a0, "selected-day": a1, "disabled-day": a2 }; };
106
- function TzDpContainerComponent_div_15_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
107
- i0.ɵɵelementStart(0, "span", 32);
108
- i0.ɵɵtext(1);
109
- i0.ɵɵelementEnd();
110
- } if (rf & 2) {
111
- const day_r24 = i0.ɵɵnextContext().$implicit;
112
- const ctx_r25 = i0.ɵɵnextContext(2);
113
- 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));
114
- i0.ɵɵattribute("aria-label", ctx_r25.retractDayMonth(day_r24.date, ctx_r25.currentMonth, ctx_r25.currentYearNumber));
115
- i0.ɵɵadvance(1);
116
- i0.ɵɵtextInterpolate1(" ", day_r24.date, " ");
117
- } }
118
- const _c4 = function (a0, a1, a2) { return { "selected-day": a0, "disabled-day": a1, "is-valid-date": a2 }; };
119
- function TzDpContainerComponent_div_15_div_1_Template(rf, ctx) { if (rf & 1) {
120
- const _r28 = i0.ɵɵgetCurrentView();
121
- i0.ɵɵelementStart(0, "div", 30);
122
- 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)); });
123
- i0.ɵɵtemplate(1, TzDpContainerComponent_div_15_div_1_span_1_Template, 2, 8, "span", 31);
124
- i0.ɵɵelementEnd();
125
- } if (rf & 2) {
126
- const day_r24 = ctx.$implicit;
127
- const ctx_r23 = i0.ɵɵnextContext(2);
128
- 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));
129
- i0.ɵɵadvance(1);
130
- i0.ɵɵproperty("ngIf", day_r24.date > 0);
131
- } }
132
- function TzDpContainerComponent_div_15_Template(rf, ctx) { if (rf & 1) {
133
- i0.ɵɵelementStart(0, "div", 28);
134
- i0.ɵɵtemplate(1, TzDpContainerComponent_div_15_div_1_Template, 2, 6, "div", 29);
135
- i0.ɵɵelementEnd();
136
- } if (rf & 2) {
137
- const ctx_r5 = i0.ɵɵnextContext();
138
- i0.ɵɵadvance(1);
139
- i0.ɵɵproperty("ngForOf", ctx_r5.currentMonthDates);
140
- } }
141
- function TzDpContainerComponent_div_16_Template(rf, ctx) { if (rf & 1) {
142
- const _r31 = i0.ɵɵgetCurrentView();
143
- i0.ɵɵelementStart(0, "div", 33)(1, "button", 34);
144
- 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()); });
145
- i0.ɵɵtext(2, "Cancel");
146
- i0.ɵɵelementEnd();
147
- i0.ɵɵelementStart(3, "button", 35);
148
- 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()); });
149
- i0.ɵɵtext(4, "Apply");
150
- i0.ɵɵelementEnd()();
151
- } if (rf & 2) {
152
- const ctx_r6 = i0.ɵɵnextContext();
153
- i0.ɵɵadvance(3);
154
- i0.ɵɵproperty("disabled", !(ctx_r6.data.date || ctx_r6.localSelectedDate.date));
155
- } }
156
- const _c5 = function (a0) { return { "disabled-month": a0 }; };
157
- export class TzDpContainerComponent {
158
- constructor(data, toast) {
159
- this.toast = toast;
160
- this.parseZoneInstance = (...args) => {
161
- return parseZone(...args);
162
- };
163
- this.rawWeekDays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
164
- this.weekDays = [];
165
- this.currentMonthDates = [];
166
- this.isPreviousMonthDisabled = false;
167
- this.isNextMonthDisabled = false;
168
- this.allowBookingOnDisabledDay = false;
169
- this.isSelectingMonth = false;
170
- this.isSelectingYear = false;
171
- this.availableYears = [];
172
- this.availableMonths = [];
173
- this.disabledMonths = [];
174
- this.disabledYears = [];
175
- this.isYearSelectionFlow = false;
176
- this.data = data;
177
- if (this.data?.dpConfig?.timezone) {
178
- this.parseZoneInstance = (...args) => {
179
- return tz(args[0], args[1], this.data.dpConfig.timezone);
180
- };
181
- }
182
- this.currentMonthNumber = this.parseZoneInstance().month();
183
- this.currentMonth = getMonth(this.currentMonthNumber);
184
- this.currentYearNumber = this.parseZoneInstance().year();
185
- this.weekDays = this.rawWeekDays.map((day, index) => ({
186
- label: `${day[0]}${day.slice(1).toLowerCase()}`,
187
- isCurrentDay: this.parseZoneInstance().day() === index
188
- }));
189
- if (!this.data?.dpConfig?.format) {
190
- this.data.dpConfig = {
191
- ...this.data.dpConfig,
192
- format: DATE_FORMAT
193
- };
194
- }
195
- if (!this.data?.date) {
196
- this.data.date = this.parseZoneInstance().format(this.data.dpConfig.format);
197
- }
198
- this.availableMonths = moment.months();
199
- this.availableYears = Array.from({ length: 12 }, (_, index) => this.currentYearNumber - 6 + index);
200
- }
201
- retractDayMonth(day, month, year) {
202
- return `${day} ${month} ${year}`;
203
- }
204
- ngOnInit() {
205
- this.currentDateInstance();
206
- this.calculateMinMaxDays();
207
- this.calculateDisabledMonthsAndYears();
208
- }
209
- currentDateInstance() {
210
- const selectedDate = parseZone(this.data.date, this.data.dpConfig.format);
211
- if (selectedDate.isValid()) {
212
- this.selectedYear = this.currentYearNumber = selectedDate.year();
213
- this.currentMonthNumber = selectedDate.month();
214
- this.currentMonth = getMonth(this.currentMonthNumber);
215
- }
216
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
217
- }
218
- calculateMinMaxDays() {
219
- const currentInstance = this.parseZoneInstance().year(this.currentYearNumber).month(this.currentMonthNumber);
220
- const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);
221
- if (minDate.isValid()) {
222
- this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance, "month");
223
- }
224
- const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);
225
- if (maxDate.isValid()) {
226
- this.isNextMonthDisabled = maxDate.isSameOrBefore(currentInstance, "month");
227
- }
228
- }
229
- calculateDisabledMonthsAndYears() {
230
- const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);
231
- const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);
232
- this.disabledMonths = this.availableMonths.map((month, index) => {
233
- const monthDate = this.parseZoneInstance().year(this.selectedYear).month(index);
234
- return (minDate.isValid() && monthDate.isBefore(minDate, 'month')) ||
235
- (maxDate.isValid() && monthDate.isAfter(maxDate, 'month'));
236
- });
237
- this.disabledYears = this.availableYears.map((year) => {
238
- const yearDate = this.parseZoneInstance().year(year);
239
- return (minDate.isValid() && yearDate.isBefore(minDate, 'year')) ||
240
- (maxDate.isValid() && yearDate.isAfter(maxDate, 'year'));
241
- });
242
- if (this.isSelectingYear) {
243
- this.isPreviousMonthDisabled = minDate.isValid() && ((this.selectedYear - 6) <= minDate.year());
244
- this.isNextMonthDisabled = maxDate.isValid() && ((this.selectedYear + 5) >= maxDate.year());
245
- }
246
- }
247
- get yearRange() {
248
- return `${this.selectedYear - 6} - ${this.selectedYear + 5}`;
249
- }
250
- navigateView(direction) {
251
- if ((direction === 'NEXT' && (this.isNextMonthDisabled || this.isSelectingMonth)) ||
252
- (direction === 'PREVIOUS' && (this.isPreviousMonthDisabled || this.isSelectingMonth))) {
253
- return;
254
- }
255
- if (this.isSelectingYear) {
256
- this.selectedYear += direction === "NEXT" ? 12 : -12;
257
- this.availableYears = Array.from({ length: 12 }, (_, index) => this.selectedYear - 6 + index);
258
- }
259
- else {
260
- let thisMonth = parseZone().year(this.currentYearNumber).month(this.currentMonthNumber);
261
- thisMonth = direction === "NEXT" ? thisMonth.add(1, "month") : thisMonth.subtract(1, "month");
262
- this.currentMonthNumber = thisMonth.month();
263
- this.currentMonth = getMonth(this.currentMonthNumber);
264
- this.selectedYear = this.currentYearNumber = thisMonth.year();
265
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
266
- }
267
- this.calculateMinMaxDays();
268
- this.calculateDisabledMonthsAndYears();
269
- }
270
- generateDates(month, currentYearNumber) {
271
- let dates = [];
272
- const daysInMonth = parseZone().year(currentYearNumber).month(month).daysInMonth();
273
- for (let currentDate = 1; currentDate <= daysInMonth; currentDate++) {
274
- const date = this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate);
275
- const dateString = date.format(this.data.dpConfig.format);
276
- let isDisabledDay = this.data.datesDisabled.some(d => d === dateString);
277
- const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);
278
- if (!isDisabledDay && minDate.isValid()) {
279
- isDisabledDay = minDate.isAfter(date, "day");
280
- }
281
- const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);
282
- if (!isDisabledDay && maxDate.isValid()) {
283
- isDisabledDay = maxDate.isBefore(date, "day");
284
- }
285
- dates.push({
286
- date: currentDate,
287
- weekDay: date.day(),
288
- isCurrentDay: this.parseZoneInstance().year(currentYearNumber).month(month).date(currentDate).format(this.data.dpConfig.format) ===
289
- this.parseZoneInstance().format(this.data.dpConfig.format),
290
- isSelectedDay: !isDisabledDay && date.format(this.data.dpConfig.format) === this.data.date,
291
- toastMessage: this.data.messages.find(q => date.format(this.data.dpConfig.format) === q.date)?.message || "",
292
- isDisabledDay
293
- });
294
- }
295
- for (let i = dates[0].weekDay; i > 0; i--) {
296
- dates.unshift({ date: 0, weekDay: i - 1 });
297
- }
298
- return dates;
299
- }
300
- selectDay(day) {
301
- this.currentSelection = this.parseZoneInstance().year(this.currentYearNumber).month(this.currentMonthNumber).date(day.date);
302
- const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate).endOf("day");
303
- const minDate = this.parseZoneInstance(this.data.dpConfig.minDate).startOf("day");
304
- this.allowBookingOnDisabledDay = this.data.allowBookingOnDisabledDay;
305
- if (day.date <= 0)
306
- return;
307
- if ((this.currentSelection.isSameOrAfter(minDate) && this.currentSelection.isSameOrBefore(maxDate) && this.allowBookingOnDisabledDay) || (!day.isDisabledDay && !this.allowBookingOnDisabledDay)) {
308
- this.localSelectedDate = day;
309
- if (!this.data.dpConfig.showApplyButton) {
310
- this.applyDate(day);
311
- }
312
- }
313
- if (day.toastMessage || (this.allowBookingOnDisabledDay && day.toastMessage)) {
314
- this.toast.displayMsg(day.toastMessage, 4000);
315
- }
316
- }
317
- applyDate(day) {
318
- if (day || this.localSelectedDate) {
319
- this.data.dateChange(parseZone()
320
- .year(this.currentYearNumber)
321
- .month(this.currentMonthNumber)
322
- .date(day ? day.date : this.localSelectedDate.date)
323
- .format(this.data.dpConfig.format));
324
- }
325
- else {
326
- this.cancelDatePicker();
327
- }
328
- }
329
- closeOnEsc() {
330
- this.cancelDatePicker();
331
- }
332
- cancelDatePicker() {
333
- this.data.dateChange("");
334
- }
335
- toggleMonthSelector() {
336
- if (this.isYearSelectionFlow)
337
- return;
338
- this.isSelectingMonth = !this.isSelectingMonth;
339
- this.isSelectingYear = false;
340
- this.calculateDisabledMonthsAndYears();
341
- }
342
- toggleYearSelector() {
343
- this.isSelectingYear = !this.isSelectingYear;
344
- this.selectedYear = this.currentYearNumber;
345
- this.availableYears = Array.from({ length: 12 }, (_, index) => this.selectedYear - 6 + index);
346
- this.isSelectingMonth = false;
347
- this.calculateDisabledMonthsAndYears();
348
- }
349
- resetDateSelection() {
350
- this.localSelectedDate = {
351
- date: 0,
352
- weekDay: 0,
353
- isCurrentDay: false,
354
- isSelectedDay: false,
355
- isDisabledDay: false,
356
- toastMessage: ''
357
- };
358
- this.data.date = '';
359
- }
360
- selectMonth(month) {
361
- this.currentMonthNumber = this.availableMonths.indexOf(month);
362
- this.currentMonth = getMonth(this.currentMonthNumber);
363
- this.isSelectingMonth = false;
364
- this.isYearSelectionFlow = false;
365
- this.resetDateSelection();
366
- this.currentMonthDates = this.generateDates(this.currentMonthNumber, this.currentYearNumber);
367
- this.calculateMinMaxDays();
368
- }
369
- selectYear(year) {
370
- this.selectedYear = this.currentYearNumber = year;
371
- this.isSelectingYear = false;
372
- this.isSelectingMonth = true;
373
- this.isYearSelectionFlow = true;
374
- this.resetDateSelection();
375
- this.calculateDisabledMonthsAndYears();
376
- }
377
- }
378
- TzDpContainerComponent.ɵfac = function TzDpContainerComponent_Factory(t) { return new (t || TzDpContainerComponent)(i0.ɵɵdirectiveInject(CONTAINER_DATA), i0.ɵɵdirectiveInject(i1.ToastService)); };
379
- TzDpContainerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TzDpContainerComponent, selectors: [["mis-tz-dp"]], hostBindings: function TzDpContainerComponent_HostBindings(rf, ctx) { if (rf & 1) {
380
- i0.ɵɵlistener("keydown.esc", function TzDpContainerComponent_keydown_esc_HostBindingHandler() { return ctx.closeOnEsc(); });
381
- } }, 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) {
382
- i0.ɵɵelementStart(0, "div", 0);
383
- i0.ɵɵelement(1, "div", 1);
384
- i0.ɵɵelementStart(2, "div", 2)(3, "div", 3);
385
- 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"); });
386
- i0.ɵɵnamespaceSVG();
387
- i0.ɵɵelementStart(4, "svg", 4);
388
- i0.ɵɵelement(5, "path", 5);
389
- i0.ɵɵelementEnd()();
390
- i0.ɵɵtemplate(6, TzDpContainerComponent_div_6_Template, 2, 1, "div", 6);
391
- i0.ɵɵtemplate(7, TzDpContainerComponent_div_7_Template, 2, 1, "div", 7);
392
- i0.ɵɵnamespaceHTML();
393
- i0.ɵɵelementStart(8, "div", 8);
394
- 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"); });
395
- i0.ɵɵnamespaceSVG();
396
- i0.ɵɵelementStart(9, "svg", 4);
397
- i0.ɵɵelement(10, "path", 5);
398
- i0.ɵɵelementEnd()()();
399
- i0.ɵɵnamespaceHTML();
400
- i0.ɵɵelementStart(11, "div", 9);
401
- i0.ɵɵtemplate(12, TzDpContainerComponent_div_12_Template, 3, 1, "div", 10);
402
- i0.ɵɵtemplate(13, TzDpContainerComponent_div_13_Template, 3, 1, "div", 11);
403
- i0.ɵɵtemplate(14, TzDpContainerComponent_div_14_Template, 2, 1, "div", 12);
404
- i0.ɵɵtemplate(15, TzDpContainerComponent_div_15_Template, 2, 1, "div", 13);
405
- i0.ɵɵelementEnd();
406
- i0.ɵɵtemplate(16, TzDpContainerComponent_div_16_Template, 5, 1, "div", 14);
407
- i0.ɵɵelementEnd();
408
- } if (rf & 2) {
409
- i0.ɵɵproperty("ngClass", ctx.data.disableBoxShadow ? "remove-box-shadow" : "")("cdkTrapFocusAutoCapture", true);
410
- i0.ɵɵadvance(3);
411
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c5, ctx.isPreviousMonthDisabled || ctx.isSelectingMonth));
412
- i0.ɵɵadvance(3);
413
- i0.ɵɵproperty("ngIf", !ctx.isSelectingYear);
414
- i0.ɵɵadvance(1);
415
- i0.ɵɵproperty("ngIf", !ctx.isSelectingMonth);
416
- i0.ɵɵadvance(1);
417
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c5, ctx.isNextMonthDisabled || ctx.isSelectingMonth));
418
- i0.ɵɵadvance(4);
419
- i0.ɵɵproperty("ngIf", ctx.isSelectingMonth && !ctx.isSelectingYear);
420
- i0.ɵɵadvance(1);
421
- i0.ɵɵproperty("ngIf", ctx.isSelectingYear && !ctx.isSelectingMonth);
422
- i0.ɵɵadvance(1);
423
- i0.ɵɵproperty("ngIf", !ctx.isSelectingMonth && !ctx.isSelectingYear);
424
- i0.ɵɵadvance(1);
425
- i0.ɵɵproperty("ngIf", !ctx.isSelectingMonth && !ctx.isSelectingYear);
426
- i0.ɵɵadvance(1);
427
- i0.ɵɵproperty("ngIf", ctx.data.dpConfig.showApplyButton);
428
- } }, 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}"] });
429
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TzDpContainerComponent, [{
430
- type: Component,
431
- 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"] }]
432
- }], function () { return [{ type: undefined, decorators: [{
433
- type: Inject,
434
- args: [CONTAINER_DATA]
435
- }] }, { type: i1.ToastService }]; }, { closeOnEsc: [{
436
- type: HostListener,
437
- args: ["keydown.esc"]
438
- }] }); })();
439
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXJfdjIvdHotZHAtY29udGFpbmVyL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyX3YyL3R6LWRwLWNvbnRhaW5lci90ei1kcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQVUsRUFBRSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7O0lDaUJoQyxvQkFBbUY7SUFBbkYsK0JBQW1GO0lBQXJELGdLQUFTLGVBQUEsNEJBQXFCLENBQUEsSUFBQztJQUMzRCxZQUNGO0lBQUEsaUJBQU07OztJQURKLGVBQ0Y7SUFERSxxSUFDRjs7Ozs7SUFDQSxvQkFBa0Y7SUFBbEYsK0JBQWtGO0lBQW5ELGlLQUFTLGVBQUEsMkJBQW9CLENBQUEsSUFBQztJQUMzRCxZQUNGO0lBQUEsaUJBQU07OztJQURKLGVBQ0Y7SUFERSxxR0FDRjs7Ozs7SUF5QkksK0JBTU87SUFKSCx3UUFBUyxpREFBc0IsOEJBQWtCLENBQUEsSUFBQztJQUtwRCxZQUNGO0lBQUEsaUJBQU07Ozs7O0lBTEYsNk1BR0U7SUFDSixlQUNGO0lBREUsMENBQ0Y7OztJQVZKLCtCQUF5RSxjQUFBO0lBRXJFLCtFQVFNO0lBQ1IsaUJBQU0sRUFBQTs7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QixpQkFBYSxVQUFVLENBQUMsSUFITDtRQVFsQyxtQkFBK0Y7UUFBL0YsOEJBQStGO1FBQzdGLDBCQUdRO1FBQ1YsaUJBQU0sRUFBQTtRQUdSLHVFQUVNO1FBQ04sdUVBRU07UUFHTixvQkFTQztRQVRELDhCQVNDO1FBUEMsZ0dBQVMsaUJBQWEsTUFBTSxDQUFDLElBQUMsK0ZBR2YsaUJBQWEsTUFBTSxDQUFDLElBSEw7UUFROUIsbUJBQStGO1FBQS9GLDhCQUErRjtRQUM3RiwyQkFHUTtRQUNWLGlCQUFNLEVBQUEsRUFBQTtRQUdWLG9CQUF3QztRQUF4QywrQkFBd0M7UUFFdEMsMEVBWU07UUFFTiwwRUFZTTtRQUVOLDBFQUlNO1FBQ04sMEVBeUJNO1FBQ1IsaUJBQU07UUFDTiwwRUFHTTtRQUNSLGlCQUFNOztRQWpINEIsOEVBQXdELGlDQUFBO1FBU3BGLGVBRUU7UUFGRiwwR0FFRTtRQVVFLGVBQXNCO1FBQXRCLDJDQUFzQjtRQUd0QixlQUF1QjtRQUF2Qiw0Q0FBdUI7UUFXM0IsZUFFRTtRQUZGLHNHQUVFO1FBWUUsZUFBMEM7UUFBMUMsbUVBQTBDO1FBYzFDLGVBQTBDO1FBQTFDLG1FQUEwQztRQWMxQyxlQUEyQztRQUEzQyxvRUFBMkM7UUFLM0MsZUFBMkM7UUFBM0Msb0VBQTJDO1FBMkJSLGVBQW1DO1FBQW5DLHdEQUFtQzs7dUZEakduRSxzQkFBc0I7Y0FMbEMsU0FBUzsyQkFDRSxXQUFXOztzQkE4QlIsTUFBTTt1QkFBQyxjQUFjO21EQXVMbEMsVUFBVTtrQkFEVCxZQUFZO21CQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ09OVEFJTkVSX0RBVEEsIERBVEVfRk9STUFUIH0gZnJvbSBcIi4uL2RhdGVwaWNrZXItY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBJQ3VycmVudE1vbnRoLCBJQ3VycmVudE1vbnRoRGF0ZXMsIElEYXRlUGlja2VyRGF0YSwgSVdlZWtEYXkgfSBmcm9tIFwiLi4vbW9kZWxzL2RwLWNvbmZpZy5tb2RlbFwiO1xuaW1wb3J0IG1vbWVudCwgeyBwYXJzZVpvbmUsIE1vbWVudCwgdHogfSBmcm9tIFwibW9tZW50LXRpbWV6b25lXCI7XG5pbXBvcnQgeyBnZXRNb250aCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdG9hc3RcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10ei1kcFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFR6RHBDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkYXRhOiBJRGF0ZVBpY2tlckRhdGE7XG4gIHByaXZhdGUgcGFyc2Vab25lSW5zdGFuY2UgPSAoLi4uYXJncykgPT4ge1xuICAgIHJldHVybiBwYXJzZVpvbmUoLi4uYXJncyk7XG4gIH07XG4gIHByaXZhdGUgcmF3V2Vla0RheXM6IHN0cmluZ1tdID0gW1wiU1VOXCIsIFwiTU9OXCIsIFwiVFVFXCIsIFwiV0VEXCIsIFwiVEhVXCIsIFwiRlJJXCIsIFwiU0FUXCJdO1xuICB3ZWVrRGF5czogSVdlZWtEYXlbXSA9IFtdO1xuICBjdXJyZW50TW9udGhOdW1iZXI6IG51bWJlcjtcbiAgY3VycmVudE1vbnRoOiBJQ3VycmVudE1vbnRoO1xuICBjdXJyZW50WWVhck51bWJlcjogbnVtYmVyO1xuICBjdXJyZW50TW9udGhEYXRlczogSUN1cnJlbnRNb250aERhdGVzW10gPSBbXTtcbiAgaXNQcmV2aW91c01vbnRoRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNOZXh0TW9udGhEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBsb2NhbFNlbGVjdGVkRGF0ZTogSUN1cnJlbnRNb250aERhdGVzO1xuICBhbGxvd0Jvb2tpbmdPbkRpc2FibGVkRGF5OiBib29sZWFuID0gZmFsc2U7XG4gIGN1cnJlbnRTZWxlY3Rpb246IGFueTtcblxuICBpc1NlbGVjdGluZ01vbnRoOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VsZWN0aW5nWWVhcjogYm9vbGVhbiA9IGZhbHNlO1xuICBhdmFpbGFibGVZZWFyczogbnVtYmVyW10gPSBbXTtcbiAgYXZhaWxhYmxlTW9udGhzOiBzdHJpbmdbXSA9IFtdO1xuICBkaXNhYmxlZE1vbnRoczogYm9vbGVhbltdID0gW107XG4gIGRpc2FibGVkWWVhcnM6IGJvb2xlYW5bXSA9IFtdO1xuICBzZWxlY3RlZFllYXI6IG51bWJlcjtcbiAgaXNZZWFyU2VsZWN0aW9uRmxvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQ09OVEFJTkVSX0RBVEEpIGRhdGE6IElEYXRlUGlja2VyRGF0YSwgcHJpdmF0ZSB0b2FzdDogVG9hc3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICBpZiAodGhpcy5kYXRhPy5kcENvbmZpZz8udGltZXpvbmUpIHtcbiAgICAgIHRoaXMucGFyc2Vab25lSW5zdGFuY2UgPSAoLi4uYXJncykgPT4ge1xuICAgICAgICByZXR1cm4gdHooYXJnc1swXSwgYXJnc1sxXSwgdGhpcy5kYXRhLmRwQ29uZmlnLnRpbWV6b25lKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLm1vbnRoKCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKCk7XG4gICAgdGhpcy53ZWVrRGF5cyA9IHRoaXMucmF3V2Vla0RheXMubWFwKChkYXksIGluZGV4KSA9PiAoe1xuICAgICAgbGFiZWw6IGAke2RheVswXX0ke2RheS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBpc0N1cnJlbnREYXk6IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5kYXkoKSA9PT0gaW5kZXhcbiAgICB9KSk7XG4gICAgaWYgKCF0aGlzLmRhdGE/LmRwQ29uZmlnPy5mb3JtYXQpIHtcbiAgICAgIHRoaXMuZGF0YS5kcENvbmZpZyA9IHtcbiAgICAgICAgLi4udGhpcy5kYXRhLmRwQ29uZmlnLFxuICAgICAgICBmb3JtYXQ6IERBVEVfRk9STUFUXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmKCF0aGlzLmRhdGE/LmRhdGUpe1xuICAgICAgdGhpcy5kYXRhLmRhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIH1cblxuICAgIHRoaXMuYXZhaWxhYmxlTW9udGhzID0gbW9tZW50Lm1vbnRocygpO1xuICAgIHRoaXMuYXZhaWxhYmxlWWVhcnMgPSBBcnJheS5mcm9tKFxuICAgICAgeyBsZW5ndGg6IDEyIH0sXG4gICAgICAoXywgaW5kZXgpID0+IHRoaXMuY3VycmVudFllYXJOdW1iZXIgLSA2ICsgaW5kZXhcbiAgICApO1xuICAgIFxuICB9XG5cblxuICByZXRyYWN0RGF5TW9udGgoZGF5OiBhbnksIG1vbnRoOiBhbnksIHllYXI6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIGAke2RheX0gJHttb250aH0gJHt5ZWFyfWA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnREYXRlSW5zdGFuY2UoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZURpc2FibGVkTW9udGhzQW5kWWVhcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudERhdGVJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZERhdGUgPSBwYXJzZVpvbmUodGhpcy5kYXRhLmRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGlmIChzZWxlY3RlZERhdGUuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkWWVhciA9IHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSBzZWxlY3RlZERhdGUueWVhcigpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSBzZWxlY3RlZERhdGUubW9udGgoKTtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlTWluTWF4RGF5cygpIHtcbiAgICBjb25zdCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGlmIChtaW5EYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc1ByZXZpb3VzTW9udGhEaXNhYmxlZCA9IG1pbkRhdGUuaXNTYW1lT3JBZnRlcihjdXJyZW50SW5zdGFuY2UsIFwibW9udGhcIik7XG4gICAgfVxuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICBpZiAobWF4RGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuaXNOZXh0TW9udGhEaXNhYmxlZCA9IG1heERhdGUuaXNTYW1lT3JCZWZvcmUoY3VycmVudEluc3RhbmNlLCBcIm1vbnRoXCIpO1xuICAgIH1cbiAgfVxuXG4gIGNhbGN1bGF0ZURpc2FibGVkTW9udGhzQW5kWWVhcnMoKSB7XG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICBcbiAgICB0aGlzLmRpc2FibGVkTW9udGhzID0gdGhpcy5hdmFpbGFibGVNb250aHMubWFwKChtb250aCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG1vbnRoRGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKHRoaXMuc2VsZWN0ZWRZZWFyKS5tb250aChpbmRleCk7XG4gICAgICByZXR1cm4gKG1pbkRhdGUuaXNWYWxpZCgpICYmIG1vbnRoRGF0ZS5pc0JlZm9yZShtaW5EYXRlLCAnbW9udGgnKSkgfHwgXG4gICAgICAgICAgICAgKG1heERhdGUuaXNWYWxpZCgpICYmIG1vbnRoRGF0ZS5pc0FmdGVyKG1heERhdGUsICdtb250aCcpKTtcbiAgICB9KTtcbiAgXG4gICAgdGhpcy5kaXNhYmxlZFllYXJzID0gdGhpcy5hdmFpbGFibGVZZWFycy5tYXAoKHllYXIpID0+IHtcbiAgICAgIGNvbnN0IHllYXJEYXRlID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLnllYXIoeWVhcik7XG4gICAgICByZXR1cm4gKG1pbkRhdGUuaXNWYWxpZCgpICYmIHllYXJEYXRlLmlzQmVmb3JlKG1pbkRhdGUsICd5ZWFyJykpIHx8IFxuICAgICAgICAgICAgIChtYXhEYXRlLmlzVmFsaWQoKSAmJiB5ZWFyRGF0ZS5pc0FmdGVyKG1heERhdGUsICd5ZWFyJykpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RpbmdZZWFyKSB7XG4gICAgICB0aGlzLmlzUHJldmlvdXNNb250aERpc2FibGVkID0gbWluRGF0ZS5pc1ZhbGlkKCkgJiYgKCh0aGlzLnNlbGVjdGVkWWVhciAtIDYpIDw9IG1pbkRhdGUueWVhcigpKTtcbiAgICAgIHRoaXMuaXNOZXh0TW9udGhEaXNhYmxlZCA9IG1heERhdGUuaXNWYWxpZCgpICYmICgodGhpcy5zZWxlY3RlZFllYXIgKyA1KSA+PSBtYXhEYXRlLnllYXIoKSk7XG4gICAgfVxuICAgIFxuICB9XG5cbiAgZ2V0IHllYXJSYW5nZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnNlbGVjdGVkWWVhciAtIDZ9IC0gJHt0aGlzLnNlbGVjdGVkWWVhciArIDV9YDtcbiAgfVxuICBcblxuICBuYXZpZ2F0ZVZpZXcoZGlyZWN0aW9uOiBcIk5FWFRcIiB8IFwiUFJFVklPVVNcIik6IHZvaWQge1xuICAgIGlmICgoZGlyZWN0aW9uID09PSAnTkVYVCcgJiYgKHRoaXMuaXNOZXh0TW9udGhEaXNhYmxlZCB8fCB0aGlzLmlzU2VsZWN0aW5nTW9udGgpKSB8fFxuICAgICAgICAoZGlyZWN0aW9uID09PSAnUFJFVklPVVMnICYmICh0aGlzLmlzUHJldmlvdXNNb250aERpc2FibGVkIHx8IHRoaXMuaXNTZWxlY3RpbmdNb250aCkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmKHRoaXMuaXNTZWxlY3RpbmdZZWFyKXtcbiAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyICs9IGRpcmVjdGlvbiA9PT0gXCJORVhUXCIgPyAxMiA6IC0xMjtcbiAgICAgIHRoaXMuYXZhaWxhYmxlWWVhcnMgPSBBcnJheS5mcm9tKFxuICAgICAgICB7IGxlbmd0aDogMTIgfSxcbiAgICAgICAgKF8sIGluZGV4KSA9PiB0aGlzLnNlbGVjdGVkWWVhciAtIDYgKyBpbmRleFxuICAgICAgKTtcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIGxldCB0aGlzTW9udGg6IE1vbWVudCA9IHBhcnNlWm9uZSgpLnllYXIodGhpcy5jdXJyZW50WWVhck51bWJlcikubW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgICAgdGhpc01vbnRoID0gZGlyZWN0aW9uID09PSBcIk5FWFRcIiA/IHRoaXNNb250aC5hZGQoMSwgXCJtb250aFwiKSA6IHRoaXNNb250aC5zdWJ0cmFjdCgxLCBcIm1vbnRoXCIpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSB0aGlzTW9udGgubW9udGgoKTtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgICAgdGhpcy5zZWxlY3RlZFllYXIgPSB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyID0gdGhpc01vbnRoLnllYXIoKTtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICAgIH1cbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZURpc2FibGVkTW9udGhzQW5kWWVhcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVEYXRlcyhtb250aDogbnVtYmVyLCBjdXJyZW50WWVhck51bWJlcjogbnVtYmVyKTogSUN1cnJlbnRNb250aERhdGVzW10ge1xuICAgIGxldCBkYXRlczogSUN1cnJlbnRNb250aERhdGVzW10gPSBbXTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHBhcnNlWm9uZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXlzSW5Nb250aCgpO1xuICAgIGZvciAobGV0IGN1cnJlbnREYXRlID0gMTsgY3VycmVudERhdGUgPD0gZGF5c0luTW9udGg7IGN1cnJlbnREYXRlKyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcihjdXJyZW50WWVhck51bWJlcikubW9udGgobW9udGgpLmRhdGUoY3VycmVudERhdGUpO1xuICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgbGV0IGlzRGlzYWJsZWREYXkgPSB0aGlzLmRhdGEuZGF0ZXNEaXNhYmxlZC5zb21lKGQgPT4gZCA9PT0gZGF0ZVN0cmluZyk7XG4gICAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWluRGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgICBpZiAoIWlzRGlzYWJsZWREYXkgJiYgbWluRGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgaXNEaXNhYmxlZERheSA9IG1pbkRhdGUuaXNBZnRlcihkYXRlLCBcImRheVwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICAgIGlmICghaXNEaXNhYmxlZERheSAmJiBtYXhEYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICBpc0Rpc2FibGVkRGF5ID0gbWF4RGF0ZS5pc0JlZm9yZShkYXRlLCBcImRheVwiKTtcbiAgICAgIH1cbiAgICAgIGRhdGVzLnB1c2goe1xuICAgICAgICBkYXRlOiBjdXJyZW50RGF0ZSxcbiAgICAgICAgd2Vla0RheTogZGF0ZS5kYXkoKSxcbiAgICAgICAgaXNDdXJyZW50RGF5OlxuICAgICAgICAgIHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKGN1cnJlbnRZZWFyTnVtYmVyKS5tb250aChtb250aCkuZGF0ZShjdXJyZW50RGF0ZSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpID09PVxuICAgICAgICAgIHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCksXG4gICAgICAgIGlzU2VsZWN0ZWREYXk6ICFpc0Rpc2FibGVkRGF5ICYmIGRhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpID09PSB0aGlzLmRhdGEuZGF0ZSxcbiAgICAgICAgdG9hc3RNZXNzYWdlOiB0aGlzLmRhdGEubWVzc2FnZXMuZmluZChxID0+IGRhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpID09PSBxLmRhdGUpPy5tZXNzYWdlIHx8IFwiXCIsXG4gICAgICAgIGlzRGlzYWJsZWREYXlcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gZGF0ZXNbMF0ud2Vla0RheTsgaSA+IDA7IGktLSkge1xuICAgICAgZGF0ZXMudW5zaGlmdCh7IGRhdGU6IDAsIHdlZWtEYXk6IGkgLSAxIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZXM7XG4gIH1cblxuICBzZWxlY3REYXkoZGF5OiBJQ3VycmVudE1vbnRoRGF0ZXMpIHtcbiAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLnllYXIodGhpcy5jdXJyZW50WWVhck51bWJlcikubW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpLmRhdGUoZGF5LmRhdGUpO1xuICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUpLmVuZE9mKFwiZGF5XCIpO1xuICAgY29uc3QgbWluRGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUpLnN0YXJ0T2YoXCJkYXlcIik7XG4gICB0aGlzLmFsbG93Qm9va2luZ09uRGlzYWJsZWREYXkgPSB0aGlzLmRhdGEuYWxsb3dCb29raW5nT25EaXNhYmxlZERheVxuICAgXG4gICAgaWYgKGRheS5kYXRlIDw9IDApIHJldHVybjtcbiAgICBpZiAoKHRoaXMuY3VycmVudFNlbGVjdGlvbi5pc1NhbWVPckFmdGVyKG1pbkRhdGUpICYmIHRoaXMuY3VycmVudFNlbGVjdGlvbi5pc1NhbWVPckJlZm9yZShtYXhEYXRlKSAmJiB0aGlzLmFsbG93Qm9va2luZ09uRGlzYWJsZWREYXkpIHx8ICghZGF5LmlzRGlzYWJsZWREYXkgJiYgIXRoaXMuYWxsb3dCb29raW5nT25EaXNhYmxlZERheSkpIHtcbiAgICAgIHRoaXMubG9jYWxTZWxlY3RlZERhdGUgPSBkYXk7XG4gICAgICBpZiAoIXRoaXMuZGF0YS5kcENvbmZpZy5zaG93QXBwbHlCdXR0b24pIHtcbiAgICAgICAgdGhpcy5hcHBseURhdGUoZGF5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRheS50b2FzdE1lc3NhZ2UgfHwgKHRoaXMuYWxsb3dCb29raW5nT25EaXNhYmxlZERheSAmJiBkYXkudG9hc3RNZXNzYWdlKSkge1xuICAgICAgdGhpcy50b2FzdC5kaXNwbGF5TXNnKGRheS50b2FzdE1lc3NhZ2UsIDQwMDApO1xuICAgIH1cbiAgfVxuXG4gIGFwcGx5RGF0ZShkYXk/OiBJQ3VycmVudE1vbnRoRGF0ZXMpIHtcbiAgICBpZiAoZGF5IHx8IHRoaXMubG9jYWxTZWxlY3RlZERhdGUpIHtcbiAgICAgIHRoaXMuZGF0YS5kYXRlQ2hhbmdlKFxuICAgICAgICBwYXJzZVpvbmUoKVxuICAgICAgICAgIC55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpXG4gICAgICAgICAgLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKVxuICAgICAgICAgIC5kYXRlKGRheSA/IGRheS5kYXRlIDogdGhpcy5sb2NhbFNlbGVjdGVkRGF0ZS5kYXRlKVxuICAgICAgICAgIC5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FuY2VsRGF0ZVBpY2tlcigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duLmVzY1wiKVxuICBjbG9zZU9uRXNjKCkge1xuICAgIHRoaXMuY2FuY2VsRGF0ZVBpY2tlcigpO1xuICB9XG5cbiAgY2FuY2VsRGF0ZVBpY2tlcigpIHtcbiAgICB0aGlzLmRhdGEuZGF0ZUNoYW5nZShcIlwiKTtcbiAgfVxuXG4gIHRvZ2dsZU1vbnRoU2VsZWN0b3IoKSB7XG4gICAgaWYodGhpcy5pc1llYXJTZWxlY3Rpb25GbG93KSByZXR1cm47XG4gICAgdGhpcy5pc1NlbGVjdGluZ01vbnRoID0gIXRoaXMuaXNTZWxlY3RpbmdNb250aDtcbiAgICB0aGlzLmlzU2VsZWN0aW5nWWVhciA9IGZhbHNlO1xuICAgIHRoaXMuY2FsY3VsYXRlRGlzYWJsZWRNb250aHNBbmRZZWFycygpO1xuICB9XG5cbiAgdG9nZ2xlWWVhclNlbGVjdG9yKCkge1xuICAgIHRoaXMuaXNTZWxlY3RpbmdZZWFyID0gIXRoaXMuaXNTZWxlY3RpbmdZZWFyO1xuICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gdGhpcy5jdXJyZW50WWVhck51bWJlcjtcbiAgICB0aGlzLmF2YWlsYWJsZVllYXJzID0gQXJyYXkuZnJvbShcbiAgICAgIHsgbGVuZ3RoOiAxMiB9LFxuICAgICAgKF8sIGluZGV4KSA9PiB0aGlzLnNlbGVjdGVkWWVhciAtIDYgKyBpbmRleFxuICAgICk7XG4gICAgdGhpcy5pc1NlbGVjdGluZ01vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5jYWxjdWxhdGVEaXNhYmxlZE1vbnRoc0FuZFllYXJzKCk7XG5cbiAgfVxuXG4gIHJlc2V0RGF0ZVNlbGVjdGlvbigpIHtcbiAgICB0aGlzLmxvY2FsU2VsZWN0ZWREYXRlID0ge1xuICAgICAgZGF0ZTogMCxcbiAgICAgIHdlZWtEYXk6IDAsXG4gICAgICBpc0N1cnJlbnREYXk6IGZhbHNlLFxuICAgICAgaXNTZWxlY3RlZERheTogZmFsc2UsXG4gICAgICBpc0Rpc2FibGVkRGF5OiBmYWxzZSxcbiAgICAgIHRvYXN0TWVzc2FnZTogJydcbiAgICB9O1xuICAgIHRoaXMuZGF0YS5kYXRlID0gJyc7XG4gIH1cblxuICBzZWxlY3RNb250aChtb250aDogc3RyaW5nKSB7XG4gICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSB0aGlzLmF2YWlsYWJsZU1vbnRocy5pbmRleE9mKG1vbnRoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCA9IGdldE1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICB0aGlzLmlzU2VsZWN0aW5nTW9udGggPSBmYWxzZTtcbiAgICB0aGlzLmlzWWVhclNlbGVjdGlvbkZsb3cgPSBmYWxzZTtcbiAgICB0aGlzLnJlc2V0RGF0ZVNlbGVjdGlvbigpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICAgIHRoaXMuY2FsY3VsYXRlTWluTWF4RGF5cygpO1xuICB9XG5cbiAgc2VsZWN0WWVhcih5ZWFyOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkWWVhciA9IHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSB5ZWFyO1xuICAgIHRoaXMuaXNTZWxlY3RpbmdZZWFyID0gZmFsc2U7XG4gICAgdGhpcy5pc1NlbGVjdGluZ01vbnRoID0gdHJ1ZTtcbiAgICB0aGlzLmlzWWVhclNlbGVjdGlvbkZsb3cgPSB0cnVlO1xuICAgIHRoaXMucmVzZXREYXRlU2VsZWN0aW9uKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVEaXNhYmxlZE1vbnRoc0FuZFllYXJzKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImRhdGEuZGlzYWJsZUJveFNoYWRvdz8ncmVtb3ZlLWJveC1zaGFkb3cnOicnXCIgYXJpYS1sYWJlbD1cImRhdGUgcGlja2VyXCIgY2RrVHJhcEZvY3VzIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCI+XG4gIDxkaXYgdGFiaW5kZXg9XCItMVwiIGNka0ZvY3VzSW5pdGlhbD48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyX19oZWFkZXJcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyX19hcnJvd19faWNvblwiXG4gICAgICAoY2xpY2spPVwibmF2aWdhdGVWaWV3KCdQUkVWSU9VUycpXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBhcmlhLWxhYmVsPVwiUHJldmlvdXMgTW9udGhcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm5hdmlnYXRlVmlldygnUFJFVklPVVMnKVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdkaXNhYmxlZC1tb250aCc6IGlzUHJldmlvdXNNb250aERpc2FibGVkIHx8IGlzU2VsZWN0aW5nTW9udGhcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMTkuNzA3MSA4LjcwNzExQzIwLjA5NzYgOC4zMTY1OCAyMC4wOTc2IDcuNjgzNDIgMTkuNzA3MSA3LjI5Mjg5TDEzLjM0MzEgMC45Mjg5MzNDMTIuOTUyNiAwLjUzODQwOSAxMi4zMTk1IDAuNTM4NDA5IDExLjkyODkgMC45Mjg5MzNDMTEuNTM4NCAxLjMxOTQ2IDExLjUzODQgMS45NTI2MiAxMS45Mjg5IDIuMzQzMTVMMTcuNTg1OCA4TDExLjkyODkgMTMuNjU2OUMxMS41Mzg0IDE0LjA0NzQgMTEuNTM4NCAxNC42ODA1IDExLjkyODkgMTUuMDcxMUMxMi4zMTk1IDE1LjQ2MTYgMTIuOTUyNiAxNS40NjE2IDEzLjM0MzEgMTUuMDcxMUwxOS43MDcxIDguNzA3MTFaTS04Ljc0MjI4ZS0wOCA5TDE5IDlMMTkgN0w4Ljc0MjI4ZS0wOCA3TC04Ljc0MjI4ZS0wOCA5WlwiXG4gICAgICAgICAgZmlsbD1cIiMxODFGMzNcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIWlzU2VsZWN0aW5nWWVhclwiIChjbGljayk9XCJ0b2dnbGVNb250aFNlbGVjdG9yKClcIiBjbGFzcz1cIm1vbnRoLWhlYWRlclwiPlxuICAgICAge3sgaXNZZWFyU2VsZWN0aW9uRmxvdyA/IHNlbGVjdGVkWWVhciA6IGF2YWlsYWJsZU1vbnRoc1tjdXJyZW50TW9udGhOdW1iZXJdIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFpc1NlbGVjdGluZ01vbnRoXCIgKGNsaWNrKT1cInRvZ2dsZVllYXJTZWxlY3RvcigpXCIgY2xhc3M9XCJ5ZWFyLWhlYWRlclwiPlxuICAgICAge3sgaXNTZWxlY3RpbmdZZWFyID8geWVhclJhbmdlIDogY3VycmVudFllYXJOdW1iZXIgfX1cbiAgICA8L2Rpdj5cblxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRhaW5lcl9fYXJyb3dfX2ljb25cIlxuICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVmlldygnTkVYVCcpXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBhcmlhLWxhYmVsPVwiTmV4dCBNb250aFwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwibmF2aWdhdGVWaWV3KCdORVhUJylcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnZGlzYWJsZWQtbW9udGgnOiBpc05leHRNb250aERpc2FibGVkIHx8IGlzU2VsZWN0aW5nTW9udGhcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMTkuNzA3MSA4LjcwNzExQzIwLjA5NzYgOC4zMTY1OCAyMC4wOTc2IDcuNjgzNDIgMTkuNzA3MSA3LjI5Mjg5TDEzLjM0MzEgMC45Mjg5MzNDMTIuOTUyNiAwLjUzODQwOSAxMi4zMTk1IDAuNTM4NDA5IDExLjkyODkgMC45Mjg5MzNDMTEuNTM4NCAxLjMxOTQ2IDExLjUzODQgMS45NTI2MiAxMS45Mjg5IDIuMzQzMTVMMTcuNTg1OCA4TDExLjkyODkgMTMuNjU2OUMxMS41Mzg0IDE0LjA0NzQgMTEuNTM4NCAxNC42ODA1IDExLjkyODkgMTUuMDcxMUMxMi4zMTk1IDE1LjQ2MTYgMTIuOTUyNiAxNS40NjE2IDEzLjM0MzEgMTUuMDcxMUwxOS43MDcxIDguNzA3MTFaTS04Ljc0MjI4ZS0wOCA5TDE5IDlMMTkgN0w4Ljc0MjI4ZS0wOCA3TC04Ljc0MjI4ZS0wOCA5WlwiXG4gICAgICAgICAgZmlsbD1cIiMxODFGMzNcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1jb250YWluZXJfX2JvZHlcIj5cblxuICAgIDxkaXYgKm5nSWY9XCJpc1NlbGVjdGluZ01vbnRoICYmICFpc1NlbGVjdGluZ1llYXJcIiBjbGFzcz1cIm1vbnRoLXNlbGVjdG9yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1vbnRoIG9mIGF2YWlsYWJsZU1vbnRoczsgbGV0IGkgPSBpbmRleFwiIFxuICAgICAgICAgICAgY2xhc3M9XCJtb250aFwiIFxuICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZE1vbnRoc1tpXSAmJiBzZWxlY3RNb250aChtb250aClcIiBcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2Rpc2FibGUtbW9udGgnOiBkaXNhYmxlZE1vbnRoc1tpXSxcbiAgICAgICAgICAgICAgJ3NlbGVjdC1tb250aCc6ICFkaXNhYmxlZE1vbnRoc1tjdXJyZW50TW9udGhOdW1iZXJdICYmIG1vbnRoID09PSBhdmFpbGFibGVNb250aHNbY3VycmVudE1vbnRoTnVtYmVyXVxuICAgICAgICAgICAgfVwiPlxuICAgICAgICAgIHt7IG1vbnRoIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIFxuICAgIDxkaXYgKm5nSWY9XCJpc1NlbGVjdGluZ1llYXIgJiYgIWlzU2VsZWN0aW5nTW9udGhcIiBjbGFzcz1cInllYXItc2VsZWN0b3JcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgeWVhciBvZiBhdmFpbGFibGVZZWFyczsgbGV0IGkgPSBpbmRleFwiIFxuICAgICAgICAgICAgY2xhc3M9XCJ5ZWFyXCIgXG4gICAgICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVkWWVhcnNbaV0gJiYgc2VsZWN0WWVhcih5ZWFyKVwiIFxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnZGlzYWJsZS15ZWFyJzogZGlzYWJsZWRZZWFyc1tpXSxcbiAgICAgICAgICAgICAgJ3NlbGVjdC15ZWFyJzogeWVhciA9PT0gY3VycmVudFllYXJOdW1iZXJcbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICB7eyB5ZWFyIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIWlzU2VsZWN0aW5nTW9udGggJiYgIWlzU2VsZWN0aW5nWWVhclwiIGNsYXNzPVwiZGF0ZXBpY2tlci1jb250YWluZXJfX3dlZWtkYXlzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1jb250YWluZXJfX3dlZWtkYXlcIiAqbmdGb3I9XCJsZXQgd2Vla0RheSBvZiB3ZWVrRGF5c1wiPlxuICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7ICdjdXJyZW50LWRheSc6IHdlZWtEYXkuaXNDdXJyZW50RGF5IH1cIj57eyB3ZWVrRGF5LmxhYmVsIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFpc1NlbGVjdGluZ01vbnRoICYmICFpc1NlbGVjdGluZ1llYXJcIiBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyX19kYXlzXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGF0ZXBpY2tlci1jb250YWluZXJfX2RheVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2VsZWN0ZWQtZGF5JzogIWxvY2FsU2VsZWN0ZWREYXRlID8gZGF5LmlzU2VsZWN0ZWREYXkgOiBkYXkgPT09IGxvY2FsU2VsZWN0ZWREYXRlLFxuICAgICAgICAgICdkaXNhYmxlZC1kYXknOiBkYXkuaXNEaXNhYmxlZERheSxcbiAgICAgICAgICAnaXMtdmFsaWQtZGF0ZSc6IGRheS5kYXRlID4gMCAmJiAhZGF5LmlzU2VsZWN0ZWREYXlcbiAgICAgICAgfVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2YgY3VycmVudE1vbnRoRGF0ZXNcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF5KGRheSlcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwic2VsZWN0RGF5KGRheSlcIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiZGF5LmRhdGUgPiAwXCJcbiAgICAgICAgICBbdGFiaW5kZXhdPVwiZGF5LmlzRGlzYWJsZWREYXkgPyAtMSA6IDBcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdjdXJyZW50LWRheSc6IGRheS5pc0N1cnJlbnREYXksXG4gICAgICAgICAgICAnc2VsZWN0ZWQtZGF5JzogIWxvY2FsU2VsZWN0ZWREYXRlID8gZGF5LmlzU2VsZWN0ZWREYXkgOiBkYXkgPT09IGxvY2FsU2VsZWN0ZWREYXRlLFxuICAgICAgICAgICAgJ2Rpc2FibGVkLWRheSc6IGRheS5pc0Rpc2FibGVkRGF5XG4gICAgICAgICAgfVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXRyYWN0RGF5TW9udGgoZGF5LmRhdGUsIGN1cnJlbnRNb250aCwgY3VycmVudFllYXJOdW1iZXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGRheS5kYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyX19mb290ZXJcIiAqbmdJZj1cImRhdGEuZHBDb25maWcuc2hvd0FwcGx5QnV0dG9uXCI+XG4gICAgPGJ1dHRvbiBtaXMtYnV0dG9uIHNpemU9XCJtZFwiIHR5cGU9XCInbm9uZSdcIiAoY2xpY2spPVwiY2FuY2VsRGF0ZVBpY2tlcigpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtaXMtYnV0dG9uIHNpemU9XCJtZFwiIHR5cGU9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImFwcGx5RGF0ZSgpXCIgW2Rpc2FibGVkXT1cIiEoZGF0YS5kYXRlIHx8IGxvY2FsU2VsZWN0ZWREYXRlLmRhdGUpXCI+QXBwbHk8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==