@acorex/components 5.0.9 → 5.0.15

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 (222) hide show
  1. package/{esm2015/acorex-components.js → esm2020/acorex-components.mjs} +0 -0
  2. package/{esm2015/lib/alert/alert-button.component.js → esm2020/lib/alert/alert-button.component.mjs} +3 -3
  3. package/{esm2015/lib/alert/alert-contnet.component.js → esm2020/lib/alert/alert-contnet.component.mjs} +3 -3
  4. package/{esm2015/lib/alert/alert-footer.component.js → esm2020/lib/alert/alert-footer.component.mjs} +3 -3
  5. package/{esm2015/lib/alert/alert-suffix.component.js → esm2020/lib/alert/alert-suffix.component.mjs} +3 -3
  6. package/{esm2015/lib/alert/alert-title.component.js → esm2020/lib/alert/alert-title.component.mjs} +3 -3
  7. package/esm2020/lib/alert/alert.component.mjs +124 -0
  8. package/{esm2015/lib/alert/alert.module.js → esm2020/lib/alert/alert.module.mjs} +4 -4
  9. package/{esm2015/lib/alert/index.js → esm2020/lib/alert/index.mjs} +0 -0
  10. package/{esm2015/lib/avatar/avatar.component.js → esm2020/lib/avatar/avatar.component.mjs} +5 -12
  11. package/{esm2015/lib/avatar/avatar.module.js → esm2020/lib/avatar/avatar.module.mjs} +4 -4
  12. package/{esm2015/lib/avatar/index.js → esm2020/lib/avatar/index.mjs} +0 -0
  13. package/{esm2015/lib/badge/badge.component.js → esm2020/lib/badge/badge.component.mjs} +5 -11
  14. package/{esm2015/lib/badge/badge.module.js → esm2020/lib/badge/badge.module.mjs} +4 -4
  15. package/{esm2015/lib/badge/index.js → esm2020/lib/badge/index.mjs} +0 -0
  16. package/{esm2015/lib/base/common.module.js → esm2020/lib/base/common.module.mjs} +4 -4
  17. package/{esm2015/lib/base/custom-cdk-overlay.service.js → esm2020/lib/base/custom-cdk-overlay.service.mjs} +6 -6
  18. package/{esm2015/lib/base/drawing.class.js → esm2020/lib/base/drawing.class.mjs} +0 -0
  19. package/{esm2015/lib/base/events.class.js → esm2020/lib/base/events.class.mjs} +0 -0
  20. package/{esm2015/lib/base/index.js → esm2020/lib/base/index.mjs} +0 -0
  21. package/esm2020/lib/base/mixin/base-components.class.mjs +102 -0
  22. package/esm2020/lib/base/mixin/button-mixin.class.mjs +116 -0
  23. package/esm2020/lib/base/mixin/clickable-mixin.class.mjs +24 -0
  24. package/{esm2015/lib/base/mixin/constratctor.js → esm2020/lib/base/mixin/constratctor.mjs} +0 -0
  25. package/esm2020/lib/base/mixin/datalist-component.class.mjs +96 -0
  26. package/esm2020/lib/base/mixin/dropdown-mixin.class.mjs +89 -0
  27. package/{esm2015/lib/base/mixin/index.js → esm2020/lib/base/mixin/index.mjs} +0 -0
  28. package/esm2020/lib/base/mixin/interactive-mixin.class.mjs +77 -0
  29. package/{esm2015/lib/base/mixin/loading-mixin.class.js → esm2020/lib/base/mixin/loading-mixin.class.mjs} +0 -0
  30. package/{esm2015/lib/base/mixin/mixin.class.js → esm2020/lib/base/mixin/mixin.class.mjs} +2 -2
  31. package/{esm2015/lib/base/mixin/selection-component.class.js → esm2020/lib/base/mixin/selection-component.class.mjs} +0 -0
  32. package/{esm2015/lib/base/mixin/sizable-mixin.class.js → esm2020/lib/base/mixin/sizable-mixin.class.mjs} +0 -0
  33. package/{esm2015/lib/base/mixin/textbox-mixin.class.js → esm2020/lib/base/mixin/textbox-mixin.class.mjs} +0 -0
  34. package/esm2020/lib/base/mixin/value-mixin.class.mjs +196 -0
  35. package/{esm2015/lib/base/overlay.service.js → esm2020/lib/base/overlay.service.mjs} +3 -3
  36. package/{esm2015/lib/base/responsive.directive.js → esm2020/lib/base/responsive.directive.mjs} +3 -3
  37. package/{esm2015/lib/base/styles.class.js → esm2020/lib/base/styles.class.mjs} +0 -0
  38. package/{esm2015/lib/button/button-group.component.js → esm2020/lib/button/button-group.component.mjs} +8 -15
  39. package/{esm2015/lib/button/button-item.class.js → esm2020/lib/button/button-item.class.mjs} +0 -0
  40. package/{esm2015/lib/button/button-item.component.js → esm2020/lib/button/button-item.component.mjs} +3 -3
  41. package/esm2020/lib/button/button.component.mjs +65 -0
  42. package/{esm2015/lib/button/button.module.js → esm2020/lib/button/button.module.mjs} +4 -4
  43. package/{esm2015/lib/button/index.js → esm2020/lib/button/index.mjs} +0 -0
  44. package/esm2020/lib/calendar/calendar.class.mjs +97 -0
  45. package/esm2020/lib/calendar/calendar.component.mjs +230 -0
  46. package/{esm2015/lib/calendar/calendar.module.js → esm2020/lib/calendar/calendar.module.mjs} +4 -4
  47. package/{esm2015/lib/calendar/index.js → esm2020/lib/calendar/index.mjs} +0 -0
  48. package/{esm2015/lib/carousel/carousel-arrows.component.js → esm2020/lib/carousel/carousel-arrows.component.mjs} +3 -3
  49. package/{esm2015/lib/carousel/carousel-item.component.js → esm2020/lib/carousel/carousel-item.component.mjs} +3 -3
  50. package/{esm2015/lib/carousel/carousel-pager.component.js → esm2020/lib/carousel/carousel-pager.component.mjs} +3 -3
  51. package/{esm2015/lib/carousel/carousel-splidejs.class.js → esm2020/lib/carousel/carousel-splidejs.class.mjs} +0 -0
  52. package/{esm2015/lib/carousel/carousel.class.js → esm2020/lib/carousel/carousel.class.mjs} +3 -3
  53. package/{esm2015/lib/carousel/carousel.component.js → esm2020/lib/carousel/carousel.component.mjs} +7 -15
  54. package/{esm2015/lib/carousel/carousel.module.js → esm2020/lib/carousel/carousel.module.mjs} +4 -4
  55. package/{esm2015/lib/carousel/index.js → esm2020/lib/carousel/index.mjs} +0 -0
  56. package/esm2020/lib/checkbox/checkbox.component.mjs +51 -0
  57. package/{esm2015/lib/checkbox/checkbox.module.js → esm2020/lib/checkbox/checkbox.module.mjs} +4 -4
  58. package/{esm2015/lib/checkbox/index.js → esm2020/lib/checkbox/index.mjs} +0 -0
  59. package/esm2020/lib/datalist/datalist.component.mjs +73 -0
  60. package/{esm2015/lib/datalist/datalist.module.js → esm2020/lib/datalist/datalist.module.mjs} +4 -4
  61. package/{esm2015/lib/datalist/index.js → esm2020/lib/datalist/index.mjs} +0 -0
  62. package/esm2020/lib/datepicker/datepicker.component.mjs +125 -0
  63. package/esm2020/lib/datepicker/datepicker.module.mjs +47 -0
  64. package/{esm2015/lib/datepicker/index.js → esm2020/lib/datepicker/index.mjs} +0 -0
  65. package/{esm2015/lib/decorators/content.component.js → esm2020/lib/decorators/content.component.mjs} +3 -3
  66. package/{esm2015/lib/decorators/decorators.module.js → esm2020/lib/decorators/decorators.module.mjs} +4 -4
  67. package/{esm2015/lib/decorators/index.js → esm2020/lib/decorators/index.mjs} +0 -0
  68. package/{esm2015/lib/decorators/prefix.component.js → esm2020/lib/decorators/prefix.component.mjs} +3 -3
  69. package/{esm2015/lib/decorators/suffix.component.js → esm2020/lib/decorators/suffix.component.mjs} +3 -3
  70. package/{esm2015/lib/dialog/dialog.class.js → esm2020/lib/dialog/dialog.class.mjs} +0 -0
  71. package/{esm2015/lib/dialog/dialog.component.js → esm2020/lib/dialog/dialog.component.mjs} +5 -10
  72. package/{esm2015/lib/dialog/dialog.module.js → esm2020/lib/dialog/dialog.module.mjs} +4 -4
  73. package/esm2020/lib/dialog/dialog.service.mjs +145 -0
  74. package/{esm2015/lib/dialog/index.js → esm2020/lib/dialog/index.mjs} +0 -0
  75. package/{esm2015/lib/drawer/drawer-container.component.js → esm2020/lib/drawer/drawer-container.component.mjs} +3 -3
  76. package/{esm2015/lib/drawer/drawer-content.component.js → esm2020/lib/drawer/drawer-content.component.mjs} +3 -3
  77. package/{esm2015/lib/drawer/drawer.component.js → esm2020/lib/drawer/drawer.component.mjs} +3 -3
  78. package/{esm2015/lib/drawer/drawer.module.js → esm2020/lib/drawer/drawer.module.mjs} +4 -4
  79. package/{esm2015/lib/drawer/index.js → esm2020/lib/drawer/index.mjs} +0 -0
  80. package/esm2020/lib/dropdown/dropdown-panel.component.mjs +80 -0
  81. package/esm2020/lib/dropdown/dropdown.component.mjs +28 -0
  82. package/{esm2015/lib/dropdown/dropdown.module.js → esm2020/lib/dropdown/dropdown.module.mjs} +4 -4
  83. package/{esm2015/lib/dropdown/index.js → esm2020/lib/dropdown/index.mjs} +0 -0
  84. package/{esm2015/lib/form/form-field.component.js → esm2020/lib/form/form-field.component.mjs} +3 -3
  85. package/{esm2015/lib/form/form-field.module.js → esm2020/lib/form/form-field.module.mjs} +4 -4
  86. package/{esm2015/lib/form/form-hint.component.js → esm2020/lib/form/form-hint.component.mjs} +5 -5
  87. package/{esm2015/lib/form/form.component.js → esm2020/lib/form/form.component.mjs} +3 -3
  88. package/{esm2015/lib/form/index.js → esm2020/lib/form/index.mjs} +0 -0
  89. package/{esm2015/lib/icon/icon.component.js → esm2020/lib/icon/icon.component.mjs} +3 -3
  90. package/{esm2015/lib/icon/icon.module.js → esm2020/lib/icon/icon.module.mjs} +4 -4
  91. package/{esm2015/lib/icon/index.js → esm2020/lib/icon/index.mjs} +0 -0
  92. package/{esm2015/lib/input-mask/index.js → esm2020/lib/input-mask/index.mjs} +0 -0
  93. package/{esm2015/lib/input-mask/input-mask.component.js → esm2020/lib/input-mask/input-mask.component.mjs} +3 -3
  94. package/{esm2015/lib/input-mask/input-mask.module.js → esm2020/lib/input-mask/input-mask.module.mjs} +4 -4
  95. package/{esm2015/lib/label/index.js → esm2020/lib/label/index.mjs} +0 -0
  96. package/{esm2015/lib/label/label.component.js → esm2020/lib/label/label.component.mjs} +5 -10
  97. package/{esm2015/lib/label/label.module.js → esm2020/lib/label/label.module.mjs} +4 -4
  98. package/{esm2015/lib/loading/index.js → esm2020/lib/loading/index.mjs} +0 -0
  99. package/{esm2015/lib/loading/loading-spinner.component.js → esm2020/lib/loading/loading-spinner.component.mjs} +3 -3
  100. package/{esm2015/lib/loading/loading.component.js → esm2020/lib/loading/loading.component.mjs} +3 -3
  101. package/{esm2015/lib/loading/loading.directive.js → esm2020/lib/loading/loading.directive.mjs} +3 -3
  102. package/{esm2015/lib/loading/loading.module.js → esm2020/lib/loading/loading.module.mjs} +4 -4
  103. package/esm2020/lib/loading/loading.service.mjs +154 -0
  104. package/{esm2015/lib/number-box/index.js → esm2020/lib/number-box/index.mjs} +0 -0
  105. package/{esm2015/lib/number-box/number-box.component.js → esm2020/lib/number-box/number-box.component.mjs} +9 -17
  106. package/{esm2015/lib/number-box/number-box.module.js → esm2020/lib/number-box/number-box.module.mjs} +4 -4
  107. package/esm2020/lib/page/base-page.class.mjs +67 -0
  108. package/{esm2015/lib/page/index.js → esm2020/lib/page/index.mjs} +0 -0
  109. package/{esm2015/lib/page/page-footer.component.js → esm2020/lib/page/page-footer.component.mjs} +3 -3
  110. package/{esm2015/lib/page/page.component.js → esm2020/lib/page/page.component.mjs} +3 -3
  111. package/{esm2015/lib/page/page.module.js → esm2020/lib/page/page.module.mjs} +4 -4
  112. package/{esm2015/lib/password-box/index.js → esm2020/lib/password-box/index.mjs} +0 -0
  113. package/{esm2015/lib/password-box/password-box.component.js → esm2020/lib/password-box/password-box.component.mjs} +7 -15
  114. package/{esm2015/lib/password-box/password-box.module.js → esm2020/lib/password-box/password-box.module.mjs} +4 -4
  115. package/{esm2015/lib/popover/index.js → esm2020/lib/popover/index.mjs} +0 -0
  116. package/esm2020/lib/popover/popover.component.mjs +213 -0
  117. package/{esm2015/lib/popover/popover.module.js → esm2020/lib/popover/popover.module.mjs} +4 -4
  118. package/{esm2015/lib/popup/index.js → esm2020/lib/popup/index.mjs} +0 -0
  119. package/{esm2015/lib/popup/popup.component.js → esm2020/lib/popup/popup.component.mjs} +5 -10
  120. package/{esm2015/lib/popup/popup.module.js → esm2020/lib/popup/popup.module.mjs} +4 -4
  121. package/esm2020/lib/popup/popup.service.mjs +93 -0
  122. package/{esm2015/lib/radio/index.js → esm2020/lib/radio/index.mjs} +0 -0
  123. package/esm2020/lib/radio/radio.component.mjs +16 -0
  124. package/{esm2015/lib/radio/radio.module.js → esm2020/lib/radio/radio.module.mjs} +4 -4
  125. package/{esm2015/lib/range-slider/index.js → esm2020/lib/range-slider/index.mjs} +0 -0
  126. package/{esm2015/lib/range-slider/range-slider.component.js → esm2020/lib/range-slider/range-slider.component.mjs} +5 -11
  127. package/{esm2015/lib/range-slider/range-slider.module.js → esm2020/lib/range-slider/range-slider.module.mjs} +4 -4
  128. package/{esm2015/lib/selectbox/index.js → esm2020/lib/selectbox/index.mjs} +0 -0
  129. package/esm2020/lib/selectbox/selectbox.component.mjs +193 -0
  130. package/{esm2015/lib/selectbox/selectbox.module.js → esm2020/lib/selectbox/selectbox.module.mjs} +4 -4
  131. package/{esm2015/lib/selection-list/index.js → esm2020/lib/selection-list/index.mjs} +0 -0
  132. package/esm2020/lib/selection-list/selection-list.component.mjs +40 -0
  133. package/{esm2015/lib/selection-list/selection-list.module.js → esm2020/lib/selection-list/selection-list.module.mjs} +4 -4
  134. package/{esm2015/lib/side-menu/index.js → esm2020/lib/side-menu/index.mjs} +0 -0
  135. package/{esm2015/lib/side-menu/side-menu.component.js → esm2020/lib/side-menu/side-menu.component.mjs} +5 -11
  136. package/{esm2015/lib/side-menu/side-menu.module.js → esm2020/lib/side-menu/side-menu.module.mjs} +4 -4
  137. package/{esm2015/lib/switch/index.js → esm2020/lib/switch/index.mjs} +0 -0
  138. package/{esm2015/lib/switch/switch.component.js → esm2020/lib/switch/switch.component.mjs} +5 -12
  139. package/{esm2015/lib/switch/switch.module.js → esm2020/lib/switch/switch.module.mjs} +6 -7
  140. package/{esm2015/lib/tabs/index.js → esm2020/lib/tabs/index.mjs} +0 -0
  141. package/{esm2015/lib/tabs/tab-content.directive.js → esm2020/lib/tabs/tab-content.directive.mjs} +5 -5
  142. package/{esm2015/lib/tabs/tab-item.component.js → esm2020/lib/tabs/tab-item.component.mjs} +5 -5
  143. package/{esm2015/lib/tabs/tab-strip.component.js → esm2020/lib/tabs/tab-strip.component.mjs} +5 -12
  144. package/{esm2015/lib/tabs/tab-view.component.js → esm2020/lib/tabs/tab-view.component.mjs} +5 -12
  145. package/{esm2015/lib/tabs/tab.component.js → esm2020/lib/tabs/tab.component.mjs} +3 -3
  146. package/{esm2015/lib/tabs/tabs.class.js → esm2020/lib/tabs/tabs.class.mjs} +0 -0
  147. package/{esm2015/lib/tabs/tabs.component.js → esm2020/lib/tabs/tabs.component.mjs} +3 -3
  148. package/{esm2015/lib/tabs/tabs.module.js → esm2020/lib/tabs/tabs.module.mjs} +4 -4
  149. package/{esm2015/lib/textbox/index.js → esm2020/lib/textbox/index.mjs} +0 -0
  150. package/{esm2015/lib/textbox/textbox.component.js → esm2020/lib/textbox/textbox.component.mjs} +7 -15
  151. package/{esm2015/lib/textbox/textbox.module.js → esm2020/lib/textbox/textbox.module.mjs} +4 -4
  152. package/{esm2015/lib/time-box/index.js → esm2020/lib/time-box/index.mjs} +0 -0
  153. package/{esm2015/lib/time-box/time-box.component.js → esm2020/lib/time-box/time-box.component.mjs} +5 -13
  154. package/{esm2015/lib/time-box/time-box.module.js → esm2020/lib/time-box/time-box.module.mjs} +4 -4
  155. package/{esm2015/lib/toast/index.js → esm2020/lib/toast/index.mjs} +0 -0
  156. package/{esm2015/lib/toast/toast.class.js → esm2020/lib/toast/toast.class.mjs} +0 -0
  157. package/esm2020/lib/toast/toast.component.mjs +44 -0
  158. package/{esm2015/lib/toast/toast.module.js → esm2020/lib/toast/toast.module.mjs} +4 -4
  159. package/{esm2015/lib/toast/toast.service.js → esm2020/lib/toast/toast.service.mjs} +3 -3
  160. package/{esm2015/lib/tooltip/index.js → esm2020/lib/tooltip/index.mjs} +0 -0
  161. package/{esm2015/lib/tooltip/tooltip.component.js → esm2020/lib/tooltip/tooltip.component.mjs} +6 -13
  162. package/{esm2015/lib/tooltip/tooltip.directive.js → esm2020/lib/tooltip/tooltip.directive.mjs} +3 -3
  163. package/{esm2015/lib/tooltip/tooltip.module.js → esm2020/lib/tooltip/tooltip.module.mjs} +4 -4
  164. package/{esm2015/lib/validation/index.js → esm2020/lib/validation/index.mjs} +0 -0
  165. package/{esm2015/lib/validation/validation-rule.widget.js → esm2020/lib/validation/validation-rule.widget.mjs} +3 -3
  166. package/{esm2015/lib/validation/validation.class.js → esm2020/lib/validation/validation.class.mjs} +0 -0
  167. package/{esm2015/lib/validation/validation.module.js → esm2020/lib/validation/validation.module.mjs} +4 -4
  168. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  169. package/fesm2015/acorex-components.mjs +6423 -0
  170. package/fesm2015/acorex-components.mjs.map +1 -0
  171. package/{fesm2015/acorex-components.js → fesm2020/acorex-components.mjs} +1061 -1193
  172. package/fesm2020/acorex-components.mjs.map +1 -0
  173. package/lib/base/mixin/base-components.class.d.ts +21 -18
  174. package/lib/base/mixin/button-mixin.class.d.ts +11 -17
  175. package/lib/base/mixin/clickable-mixin.class.d.ts +3 -9
  176. package/lib/base/mixin/datalist-component.class.d.ts +9 -15
  177. package/lib/base/mixin/dropdown-mixin.class.d.ts +16 -12
  178. package/lib/base/mixin/interactive-mixin.class.d.ts +6 -14
  179. package/lib/base/mixin/loading-mixin.class.d.ts +3 -9
  180. package/lib/base/mixin/mixin.class.d.ts +167 -165
  181. package/lib/base/mixin/selection-component.class.d.ts +3 -9
  182. package/lib/base/mixin/sizable-mixin.class.d.ts +3 -9
  183. package/lib/base/mixin/textbox-mixin.class.d.ts +4 -12
  184. package/lib/base/mixin/value-mixin.class.d.ts +15 -20
  185. package/lib/button/button-item.component.d.ts +8 -20
  186. package/lib/calendar/calendar.class.d.ts +38 -0
  187. package/lib/calendar/calendar.component.d.ts +5 -26
  188. package/lib/datepicker/datepicker.component.d.ts +170 -16
  189. package/lib/datepicker/datepicker.module.d.ts +8 -2
  190. package/lib/dropdown/dropdown-panel.component.d.ts +4 -5
  191. package/lib/dropdown/dropdown.component.d.ts +5 -6
  192. package/package.json +21 -8
  193. package/bundles/acorex-components.umd.js +0 -7633
  194. package/bundles/acorex-components.umd.js.map +0 -1
  195. package/esm2015/lib/alert/alert.component.js +0 -130
  196. package/esm2015/lib/base/mixin/base-components.class.js +0 -86
  197. package/esm2015/lib/base/mixin/button-mixin.class.js +0 -129
  198. package/esm2015/lib/base/mixin/clickable-mixin.class.js +0 -24
  199. package/esm2015/lib/base/mixin/datalist-component.class.js +0 -97
  200. package/esm2015/lib/base/mixin/dropdown-mixin.class.js +0 -36
  201. package/esm2015/lib/base/mixin/interactive-mixin.class.js +0 -77
  202. package/esm2015/lib/base/mixin/value-mixin.class.js +0 -190
  203. package/esm2015/lib/button/button.component.js +0 -73
  204. package/esm2015/lib/calendar/calendar.component.js +0 -287
  205. package/esm2015/lib/checkbox/checkbox.component.js +0 -59
  206. package/esm2015/lib/datalist/datalist.component.js +0 -81
  207. package/esm2015/lib/datepicker/datepicker.component.js +0 -80
  208. package/esm2015/lib/datepicker/datepicker.module.js +0 -23
  209. package/esm2015/lib/dialog/dialog.service.js +0 -146
  210. package/esm2015/lib/dropdown/dropdown-base.class.js +0 -98
  211. package/esm2015/lib/dropdown/dropdown-panel.component.js +0 -84
  212. package/esm2015/lib/dropdown/dropdown.component.js +0 -32
  213. package/esm2015/lib/loading/loading.service.js +0 -155
  214. package/esm2015/lib/page/base-page.class.js +0 -67
  215. package/esm2015/lib/popover/popover.component.js +0 -220
  216. package/esm2015/lib/popup/popup.service.js +0 -94
  217. package/esm2015/lib/radio/radio.component.js +0 -22
  218. package/esm2015/lib/selectbox/selectbox.component.js +0 -201
  219. package/esm2015/lib/selection-list/selection-list.component.js +0 -47
  220. package/esm2015/lib/toast/toast.component.js +0 -50
  221. package/fesm2015/acorex-components.js.map +0 -1
  222. package/lib/dropdown/dropdown-base.class.d.ts +0 -94
@@ -1,287 +0,0 @@
1
- import { AXDateTime, AXDateTimeRange } from '@acorex/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, EventEmitter, HostBinding, } from '@angular/core';
3
- import { AXCalendarComponentMixin } from '../base';
4
- import { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT } from '../base/mixin/interactive-mixin.class';
5
- import { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../button/button.component";
8
- import * as i2 from "../decorators/prefix.component";
9
- import * as i3 from "../icon/icon.component";
10
- import * as i4 from "@angular/common";
11
- export class AXCalendarComponent extends AXCalendarComponentMixin {
12
- constructor(elementRef, cdr) {
13
- super(elementRef, cdr);
14
- this.cdr = cdr;
15
- this._today = new AXDateTime(new Date());
16
- this._navText = '';
17
- this._todayText = '';
18
- this._slots = [];
19
- this._activeView = 'days';
20
- this.depthChange = new EventEmitter();
21
- this._depth = 'days';
22
- }
23
- get _viewRange() {
24
- const current = this._viewStartDate || this._today;
25
- switch (this.activeView) {
26
- case 'years':
27
- let y = current.startOf('year').year;
28
- let min = y - (y % 10) - 1;
29
- let max = min + 11;
30
- return new AXDateTimeRange(AXDateTime.convert(new Date(min, 0), this._today.calendar.name()), AXDateTime.convert(new Date(max, 0), this._today.calendar.name()));
31
- case 'months':
32
- //TODO: check add month function
33
- return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));
34
- default:
35
- //return new AXDateTimeRange(current.startOf('month').startOf('week'), current.endOf('month').endOf('week'));
36
- return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));
37
- }
38
- }
39
- get activeView() {
40
- return this._activeView;
41
- }
42
- set activeView(v) {
43
- this._activeView = v;
44
- this._genearteSlots();
45
- }
46
- get depth() {
47
- return this._depth;
48
- }
49
- set depth(v) {
50
- this._depth = v;
51
- this._activeView = v;
52
- this.depthChange.emit(v);
53
- this._genearteSlots();
54
- }
55
- get min() {
56
- return this._min;
57
- }
58
- set min(v) {
59
- this._min = v;
60
- }
61
- get max() {
62
- return this._max;
63
- }
64
- set max(v) {
65
- this._max = v;
66
- }
67
- get disabledDates() {
68
- return this._disabledDates;
69
- }
70
- set disabledDates(v) {
71
- this._disabledDates = v;
72
- }
73
- get holidayDates() {
74
- return this._holidayDates;
75
- }
76
- set holidayDates(v) {
77
- this._holidayDates = v;
78
- }
79
- onInit() {
80
- this.goToday();
81
- }
82
- _genearteSlots() {
83
- if (!this._viewStartDate)
84
- return;
85
- const vr = this._viewRange;
86
- // year view
87
- if (this.activeView == 'years') {
88
- const a = vr.enumurate('year');
89
- this._slots = a.map((d, i) => {
90
- const r = {};
91
- r.date = d.date;
92
- r.text = d.format('YYYY');
93
- r.disabled = (this.min && d.compare(this.min, 'year') == -1) || (this.max && d.compare(this.max, 'year') == 1);
94
- if (r.disabled) {
95
- r.cssClass = {
96
- 'ax-state-disabled': r.disabled,
97
- };
98
- }
99
- else {
100
- r.cssClass = {
101
- 'ax-state-today': d.equal(this._today, 'year'),
102
- 'ax-state-selected': this.value && this.depth == 'years' && d.equal(this.value, 'year'),
103
- };
104
- }
105
- return r;
106
- });
107
- this._navText = `${vr.startTime.year} - ${vr.endTime.year}`;
108
- this._todayText = this._today.format('YYYY');
109
- }
110
- // month view
111
- else if (this.activeView == 'months') {
112
- const a = vr.enumurate('month');
113
- this._slots = a.map((d, i) => {
114
- const r = {};
115
- r.date = d.date;
116
- r.text = d.format('MMM');
117
- r.tooltip = d.format('MMMM YYYY');
118
- r.disabled = (this.min && d.compare(this.min, 'month') == -1) || (this.max && d.compare(this.max, 'month') == 1);
119
- if (r.disabled) {
120
- r.cssClass = {
121
- 'ax-state-disabled': r.disabled,
122
- };
123
- }
124
- else {
125
- r.cssClass = {
126
- 'ax-state-today': d.equal(this._today, 'month'),
127
- 'ax-state-selected': this.value && this.depth == 'months' && d.equal(this.value, 'month'),
128
- 'ax-state-other': d.year != this._viewStartDate.year
129
- };
130
- }
131
- return r;
132
- });
133
- this._navText = this._viewStartDate.format('YYYY');
134
- this._todayText = this._today.format('MMMM YYYY');
135
- }
136
- // day view
137
- else {
138
- const a = vr.enumurate('day');
139
- this._slots = a.map((d, i) => {
140
- const r = {};
141
- r.date = d.date;
142
- r.text = d.dayOfMonth;
143
- r.tooltip = d.format();
144
- r.disabled = (this.min && d.compare(this.min, 'day') == -1) || (this.max && d.compare(this.max, 'day') == 1);
145
- if (r.disabled || this.isDisabled(d)) {
146
- r.cssClass = {
147
- 'ax-state-disabled': true,
148
- };
149
- }
150
- else {
151
- r.cssClass = {
152
- 'ax-state-today': d.equal(this._today, 'day'),
153
- 'ax-state-selected': this.value && d.equal(this.value, 'day'),
154
- 'ax-state-holiday': this.isHoliday(d) || this.isWeekend(d),
155
- // 'ax-state-event-info': d.dayOfMonth == 12,
156
- // 'ax-state-event': d.dayOfMonth == 12,
157
- };
158
- }
159
- r.cssClass[`ax-col-start-${vr.startTime.dayOfWeek}`] = i == 0;
160
- return r;
161
- });
162
- this._navText = this._viewStartDate.format('MMMM YYYY');
163
- this._todayText = this._today.format('DDDD, MMMM dd, YYYY');
164
- }
165
- }
166
- _handlePrevClick(e) {
167
- this.prev();
168
- }
169
- _handleNextClick(e) {
170
- this.next();
171
- }
172
- _handleSlotClick(slot) {
173
- if (slot.disabled || this.disabled)
174
- return;
175
- if (this.activeView == 'days') {
176
- this.value = slot.date;
177
- }
178
- else if (this.activeView == 'months' && this.depth == 'days') {
179
- this.activeView = 'days';
180
- this.navTo(slot.date);
181
- }
182
- else if (this.activeView == 'months' && this.depth == 'months') {
183
- this.value = slot.date;
184
- }
185
- else if (this.activeView == 'years' && (this.depth == 'days' || this.depth == 'months')) {
186
- this.activeView = 'months';
187
- this.navTo(slot.date);
188
- }
189
- else if (this.activeView == 'years' && this.depth == 'years') {
190
- this.value = slot.date;
191
- }
192
- }
193
- _handleNavClick(e) {
194
- if (this.activeView == 'days')
195
- this.activeView = 'months';
196
- else if (this.activeView == 'months')
197
- this.activeView = 'years';
198
- }
199
- _onValueChanged(oldValue, newValue) {
200
- this._genearteSlots();
201
- }
202
- _handleGoToday() {
203
- this.value = this._today.date;
204
- this.goToday();
205
- }
206
- next() {
207
- this._navNextPrev(false);
208
- }
209
- prev() {
210
- this._navNextPrev(true);
211
- }
212
- _navNextPrev(prev) {
213
- const sign = (prev ? -1 : 1);
214
- if (this.activeView == 'days')
215
- this.navTo(this._viewStartDate.add('month', sign * 1));
216
- else if (this.activeView == 'months')
217
- this.navTo(this._viewStartDate.add('year', sign * 1));
218
- else
219
- this.navTo(this._viewStartDate.add('year', sign * 12));
220
- }
221
- goToday() {
222
- this.navTo(this._today.startOf());
223
- }
224
- navTo(date) {
225
- this._viewStartDate = AXDateTime.convert(date, this._today.calendar.name());
226
- this._genearteSlots();
227
- }
228
- get __hostClass() {
229
- const _classes = {
230
- 'ax-state-disabled': this.disabled
231
- };
232
- return Object.entries(_classes).filter(c => c[1]).map(c => c[0]).join(' ');
233
- }
234
- isDisabled(date) {
235
- if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {
236
- debugger;
237
- return this.disabledDates.some(d => date.equal(d, 'day'));
238
- }
239
- else if (typeof this.disabledDates == 'function') {
240
- return this.disabledDates(date.date);
241
- }
242
- return false;
243
- }
244
- isHoliday(date) {
245
- if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {
246
- return this.holidayDates.some(d => date.equal(d, 'day'));
247
- }
248
- else if (typeof this.holidayDates == 'function') {
249
- return this.holidayDates(date.date);
250
- }
251
- return false;
252
- }
253
- isWeekend(date) {
254
- return date.dayOfWeek == 7 || date.dayOfWeek == 1;
255
- }
256
- }
257
- AXCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXCalendarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
258
- AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXCalendarComponent, selector: "ax-calendar", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", disabled: "disabled", tabIndex: "tabIndex", activeView: "activeView", depth: "depth", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-header\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\" (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax-rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\" [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div>\r\n<div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick(slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\" \r\n (click)=\"_handleSlotClick(slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div>SU</div>\r\n <div>MO</div>\r\n <div>TU</div>\r\n <div>WE</div>\r\n <div>TH</div>\r\n <div>FR</div>\r\n <div>SA</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick(slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</div>\r\n<div class=\"ax-calendar-footer\">\r\n <ax-button [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\" (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n</div>", components: [{ type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "text", "submitBehavior", "cancelBehavior", "color", "look", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i2.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { type: i3.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXCalendarComponent, decorators: [{
260
- type: Component,
261
- args: [{
262
- selector: 'ax-calendar',
263
- templateUrl: './calendar.component.html',
264
- changeDetection: ChangeDetectionStrategy.OnPush,
265
- inputs: [...VALUE_INPUTS, ...INTERACTIVE_INPUTS],
266
- outputs: [...VALUE_OUTPUT, ...INTERACTIVE_OUTPUT],
267
- encapsulation: ViewEncapsulation.None,
268
- }]
269
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { activeView: [{
270
- type: Input
271
- }], depthChange: [{
272
- type: Output
273
- }], depth: [{
274
- type: Input
275
- }], min: [{
276
- type: Input
277
- }], max: [{
278
- type: Input
279
- }], disabledDates: [{
280
- type: Input
281
- }], holidayDates: [{
282
- type: Input
283
- }], __hostClass: [{
284
- type: HostBinding,
285
- args: ['class']
286
- }] } });
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFnQixNQUFNLFNBQVMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFnQjdFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx3QkFBd0I7SUEyRy9ELFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbEZsRSxXQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBR3BDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixXQUFNLEdBQVUsRUFBRSxDQUFBO1FBSVYsZ0JBQVcsR0FBdUIsTUFBTSxDQUFDO1FBYWpELGdCQUFXLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRWpGLFdBQU0sR0FBd0IsTUFBTSxDQUFDO0lBNEQ3QyxDQUFDO0lBM0dELElBQVksVUFBVTtRQUNwQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbkQsUUFBUSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDckMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxJQUFJLGVBQWUsQ0FDeEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsRUFDakUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDbEUsQ0FBQztZQUNKLEtBQUssUUFBUTtnQkFDWCxnQ0FBZ0M7Z0JBQ2hDLE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVGO2dCQUNFLDZHQUE2RztnQkFDN0csT0FBTyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNoRjtJQUNILENBQUM7SUFlRCxJQUNXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFxQjtRQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQVFELElBQ1csS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBc0I7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFLRCxJQUNXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQVcsR0FBRyxDQUFDLENBQU87UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUlELElBQ1csR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBVyxHQUFHLENBQUMsQ0FBTztRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBS0QsSUFDVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBVyxhQUFhLENBQUMsQ0FBMEI7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUlELElBQ1csWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQVcsWUFBWSxDQUFDLENBQXlCO1FBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFTRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUN0QixPQUFPO1FBQ1QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMzQixZQUFZO1FBQ1osSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sRUFBRTtZQUM5QixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLEdBQVEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDL0csSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO29CQUNkLENBQUMsQ0FBQyxRQUFRLEdBQUc7d0JBQ1gsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFFBQVE7cUJBQ2hDLENBQUE7aUJBQ0Y7cUJBQ0k7b0JBQ0gsQ0FBQyxDQUFDLFFBQVEsR0FBRzt3QkFDWCxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO3dCQUM5QyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7cUJBQ3hGLENBQUE7aUJBQ0Y7Z0JBQ0QsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUM7UUFDRCxhQUFhO2FBQ1IsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsRUFBRTtZQUNwQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLEdBQVEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNqSCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7b0JBQ2QsQ0FBQyxDQUFDLFFBQVEsR0FBRzt3QkFDWCxtQkFBbUIsRUFBRSxDQUFDLENBQUMsUUFBUTtxQkFDaEMsQ0FBQTtpQkFDRjtxQkFDSTtvQkFDSCxDQUFDLENBQUMsUUFBUSxHQUFHO3dCQUNYLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7d0JBQy9DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQzt3QkFDekYsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUk7cUJBQ3JELENBQUE7aUJBQ0Y7Z0JBQ0QsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNuRDtRQUNELFdBQVc7YUFDTjtZQUNILE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLENBQUMsR0FBUSxFQUFFLENBQUM7Z0JBQ2xCLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUN0QixDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDN0csSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3BDLENBQUMsQ0FBQyxRQUFRLEdBQUc7d0JBQ1gsbUJBQW1CLEVBQUUsSUFBSTtxQkFDMUIsQ0FBQTtpQkFDRjtxQkFDSTtvQkFDSCxDQUFDLENBQUMsUUFBUSxHQUFHO3dCQUNYLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7d0JBQzdDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQzt3QkFDN0Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzt3QkFDMUQsNkNBQTZDO3dCQUM3Qyx3Q0FBd0M7cUJBQ3pDLENBQUE7aUJBQ0Y7Z0JBQ0QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQzdELE9BQU8sQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxDQUFlO1FBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUFlO1FBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFJO1FBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNoQyxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFDSSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksTUFBTSxFQUFFO1lBQzVELElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO2FBQ0ksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUM5RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFDSSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsRUFBRTtZQUN2RixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjthQUNJLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFlO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxNQUFNO1lBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO2FBQ3hCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxRQUFRO1lBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVE7UUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRU8sWUFBWSxDQUFDLElBQWE7UUFDaEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTTtZQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUTtZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFFdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBR0QsS0FBSyxDQUFDLElBQXVCO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQ1ksV0FBVztRQUNyQixNQUFNLFFBQVEsR0FBRztZQUNmLG1CQUFtQixFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ25DLENBQUE7UUFDRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFHTyxVQUFVLENBQUMsSUFBZ0I7UUFDakMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDdkUsUUFBUSxDQUFDO1lBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDM0Q7YUFDSSxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxVQUFVLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFnQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNyRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMxRDthQUNJLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLFVBQVUsRUFBRTtZQUMvQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sU0FBUyxDQUFDLElBQWdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7Z0hBclRVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGdqQkM5QmhDLHc4RUFnRE07MkZEbEJPLG1CQUFtQjtrQkFSL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLDJCQUEyQjtvQkFDeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE1BQU0sRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsa0JBQWtCLENBQUM7b0JBQ2hELE9BQU8sRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsa0JBQWtCLENBQUM7b0JBQ2pELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QztpSUFzQ1ksVUFBVTtzQkFEcEIsS0FBSztnQkFZTixXQUFXO3NCQURWLE1BQU07Z0JBS0ksS0FBSztzQkFEZixLQUFLO2dCQWdCSyxHQUFHO3NCQURiLEtBQUs7Z0JBV0ssR0FBRztzQkFEYixLQUFLO2dCQVlLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBV0ssWUFBWTtzQkFEdEIsS0FBSztnQkFxTE0sV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4sIEFYQ2xpY2tFdmVudCB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBJTlRFUkFDVElWRV9JTlBVVFMsIElOVEVSQUNUSVZFX09VVFBVVCB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBWQUxVRV9JTlBVVFMsIFZBTFVFX09VVFBVVCB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICd5ZWFycycgfCAnbW9udGhzJyB8ICdkYXlzJztcclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdEZXB0aCA9IEFYQ2FsZW5kYXJWaWV3VHlwZTtcclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhckRpc2FibGVkRGF0ZXMgPSBEYXRlW10gfCAoKGRhdGU6IERhdGUpID0+IGJvb2xlYW4pO1xyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFySG9saWRheURhdGVzID0gRGF0ZVtdIHwgKChkYXRlOiBEYXRlKSA9PiBib29sZWFuKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW5wdXRzOiBbLi4uVkFMVUVfSU5QVVRTLCAuLi5JTlRFUkFDVElWRV9JTlBVVFNdLFxyXG4gIG91dHB1dHM6IFsuLi5WQUxVRV9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXQgX3ZpZXdSYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3ZpZXdTdGFydERhdGUgfHwgdGhpcy5fdG9kYXk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xyXG4gICAgICBjYXNlICd5ZWFycyc6XHJcbiAgICAgICAgbGV0IHkgPSBjdXJyZW50LnN0YXJ0T2YoJ3llYXInKS55ZWFyO1xyXG4gICAgICAgIGxldCBtaW4gPSB5IC0gKHkgJSAxMCkgLSAxO1xyXG4gICAgICAgIGxldCBtYXggPSBtaW4gKyAxMTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuY29udmVydChuZXcgRGF0ZShtaW4sIDApLCB0aGlzLl90b2RheS5jYWxlbmRhci5uYW1lKCkpLFxyXG4gICAgICAgICAgQVhEYXRlVGltZS5jb252ZXJ0KG5ldyBEYXRlKG1heCwgMCksIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKSlcclxuICAgICAgICApO1xyXG4gICAgICBjYXNlICdtb250aHMnOlxyXG4gICAgICAgIC8vVE9ETzogY2hlY2sgYWRkIG1vbnRoIGZ1bmN0aW9uXHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCd5ZWFyJyksIGN1cnJlbnQuZW5kT2YoJ3llYXInKS5hZGQoJ2RheScsIC0xKSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgLy9yZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShjdXJyZW50LnN0YXJ0T2YoJ21vbnRoJykuc3RhcnRPZignd2VlaycpLCBjdXJyZW50LmVuZE9mKCdtb250aCcpLmVuZE9mKCd3ZWVrJykpO1xyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKGN1cnJlbnQuc3RhcnRPZignbW9udGgnKSwgY3VycmVudC5lbmRPZignbW9udGgnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIF90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCkpO1xyXG4gIHByaXZhdGUgX3ZpZXdTdGFydERhdGU6IEFYRGF0ZVRpbWU7XHJcblxyXG4gIF9uYXZUZXh0OiBzdHJpbmcgPSAnJztcclxuICBfdG9kYXlUZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgX3Nsb3RzOiBhbnlbXSA9IFtdXHJcblxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfYWN0aXZlVmlldzogQVhDYWxlbmRhclZpZXdUeXBlID0gJ2RheXMnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBhY3RpdmVWaWV3KCk6IEFYQ2FsZW5kYXJWaWV3VHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlldztcclxuICB9XHJcbiAgcHVibGljIHNldCBhY3RpdmVWaWV3KHY6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xyXG4gICAgdGhpcy5fYWN0aXZlVmlldyA9IHY7XHJcbiAgICB0aGlzLl9nZW5lYXJ0ZVNsb3RzKCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGRlcHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdEZXB0aD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+KCk7XHJcblxyXG4gIHByaXZhdGUgX2RlcHRoOiBBWENhbGVuZGFyVmlld0RlcHRoID0gJ2RheXMnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBkZXB0aCgpOiBBWENhbGVuZGFyVmlld0RlcHRoIHtcclxuICAgIHJldHVybiB0aGlzLl9kZXB0aDtcclxuICB9XHJcbiAgcHVibGljIHNldCBkZXB0aCh2OiBBWENhbGVuZGFyVmlld0RlcHRoKSB7XHJcbiAgICB0aGlzLl9kZXB0aCA9IHY7XHJcbiAgICB0aGlzLl9hY3RpdmVWaWV3ID0gdjtcclxuICAgIHRoaXMuZGVwdGhDaGFuZ2UuZW1pdCh2KTtcclxuXHJcbiAgICB0aGlzLl9nZW5lYXJ0ZVNsb3RzKCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHByaXZhdGUgX21pbjogRGF0ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgbWluKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pbjtcclxuICB9XHJcbiAgcHVibGljIHNldCBtaW4odjogRGF0ZSkge1xyXG4gICAgdGhpcy5fbWluID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9tYXg6IERhdGU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IG1heCgpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9tYXg7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbWF4KHY6IERhdGUpIHtcclxuICAgIHRoaXMuX21heCA9IHY7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBkaXNhYmxlZERhdGVzKCk6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGRpc2FibGVkRGF0ZXModjogQVhDYWxlbmRhckRpc2FibGVkRGF0ZXMpIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkRGF0ZXMgPSB2O1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2hvbGlkYXlEYXRlczogQVhDYWxlbmRhckhvbGlkYXlEYXRlcztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgaG9saWRheURhdGVzKCk6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hvbGlkYXlEYXRlcztcclxuICB9XHJcbiAgcHVibGljIHNldCBob2xpZGF5RGF0ZXModjogQVhDYWxlbmRhckhvbGlkYXlEYXRlcykge1xyXG4gICAgdGhpcy5faG9saWRheURhdGVzID0gdjtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG5cclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHRoaXMuZ29Ub2RheSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2VuZWFydGVTbG90cygpIHtcclxuICAgIGlmICghdGhpcy5fdmlld1N0YXJ0RGF0ZSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgdnIgPSB0aGlzLl92aWV3UmFuZ2U7XHJcbiAgICAvLyB5ZWFyIHZpZXdcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ3llYXJzJykge1xyXG4gICAgICBjb25zdCBhID0gdnIuZW51bXVyYXRlKCd5ZWFyJyk7XHJcbiAgICAgIHRoaXMuX3Nsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgICByLmRhdGUgPSBkLmRhdGU7XHJcbiAgICAgICAgci50ZXh0ID0gZC5mb3JtYXQoJ1lZWVknKTtcclxuICAgICAgICByLmRpc2FibGVkID0gKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ3llYXInKSA9PSAtMSkgfHwgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ3llYXInKSA9PSAxKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogci5kaXNhYmxlZCxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAneWVhcicpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtc2VsZWN0ZWQnOiB0aGlzLnZhbHVlICYmIHRoaXMuZGVwdGggPT0gJ3llYXJzJyAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICd5ZWFyJyksXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IGAke3ZyLnN0YXJ0VGltZS55ZWFyfSAtICR7dnIuZW5kVGltZS55ZWFyfWA7XHJcbiAgICAgIHRoaXMuX3RvZGF5VGV4dCA9IHRoaXMuX3RvZGF5LmZvcm1hdCgnWVlZWScpO1xyXG4gICAgfVxyXG4gICAgLy8gbW9udGggdmlld1xyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnKSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ21vbnRoJyk7XHJcbiAgICAgIHRoaXMuX3Nsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgICByLmRhdGUgPSBkLmRhdGU7XHJcbiAgICAgICAgci50ZXh0ID0gZC5mb3JtYXQoJ01NTScpO1xyXG4gICAgICAgIHIudG9vbHRpcCA9IGQuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgICAgICByLmRpc2FibGVkID0gKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ21vbnRoJykgPT0gLTEpIHx8ICh0aGlzLm1heCAmJiBkLmNvbXBhcmUodGhpcy5tYXgsICdtb250aCcpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICdtb250aCcpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtc2VsZWN0ZWQnOiB0aGlzLnZhbHVlICYmIHRoaXMuZGVwdGggPT0gJ21vbnRocycgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnbW9udGgnKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLW90aGVyJzogZC55ZWFyICE9IHRoaXMuX3ZpZXdTdGFydERhdGUueWVhclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX25hdlRleHQgPSB0aGlzLl92aWV3U3RhcnREYXRlLmZvcm1hdCgnWVlZWScpO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgfVxyXG4gICAgLy8gZGF5IHZpZXdcclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBhID0gdnIuZW51bXVyYXRlKCdkYXknKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmRheU9mTW9udGg7XHJcbiAgICAgICAgci50b29sdGlwID0gZC5mb3JtYXQoKTtcclxuICAgICAgICByLmRpc2FibGVkID0gKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ2RheScpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnZGF5JykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQgfHwgdGhpcy5pc0Rpc2FibGVkKGQpKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICdkYXknKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogdGhpcy52YWx1ZSAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICdkYXknKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWhvbGlkYXknOiB0aGlzLmlzSG9saWRheShkKSB8fCB0aGlzLmlzV2Vla2VuZChkKSxcclxuICAgICAgICAgICAgLy8gJ2F4LXN0YXRlLWV2ZW50LWluZm8nOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudCc6IGQuZGF5T2ZNb250aCA9PSAxMixcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgci5jc3NDbGFzc1tgYXgtY29sLXN0YXJ0LSR7dnIuc3RhcnRUaW1lLmRheU9mV2Vla31gXSA9IGkgPT0gMFxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdERERELCBNTU1NIGRkLCBZWVlZJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgX2hhbmRsZVByZXZDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMucHJldigpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU5leHRDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNsb3RDbGljayhzbG90KSB7XHJcbiAgICBpZiAoc2xvdC5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gc2xvdC5kYXRlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnICYmIHRoaXMuZGVwdGggPT0gJ2RheXMnKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICdkYXlzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnICYmIHRoaXMuZGVwdGggPT0gJ21vbnRocycpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHNsb3QuZGF0ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmICh0aGlzLmRlcHRoID09ICdkYXlzJyB8fCB0aGlzLmRlcHRoID09ICdtb250aHMnKSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBzbG90LmRhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlTmF2Q2xpY2soZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJylcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRocyc7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpXHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICd5ZWFycyc7XHJcbiAgfVxyXG5cclxuICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWUsIG5ld1ZhbHVlKSB7XHJcbiAgICB0aGlzLl9nZW5lYXJ0ZVNsb3RzKCk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlR29Ub2RheSgpIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLl90b2RheS5kYXRlO1xyXG4gICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCkge1xyXG4gICAgdGhpcy5fbmF2TmV4dFByZXYoZmFsc2UpXHJcbiAgfVxyXG5cclxuICBwcmV2KCkge1xyXG4gICAgdGhpcy5fbmF2TmV4dFByZXYodHJ1ZSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX25hdk5leHRQcmV2KHByZXY6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHNpZ24gPSAocHJldiA/IC0xIDogMSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJylcclxuICAgICAgdGhpcy5uYXZUbyh0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgnbW9udGgnLCBzaWduICogMSkpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnKVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEpKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5uYXZUbyh0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgneWVhcicsIHNpZ24gKiAxMikpO1xyXG4gIH1cclxuXHJcbiAgZ29Ub2RheSgpIHtcclxuICAgIHRoaXMubmF2VG8odGhpcy5fdG9kYXkuc3RhcnRPZigpKTtcclxuICB9XHJcblxyXG5cclxuICBuYXZUbyhkYXRlOiBEYXRlIHwgQVhEYXRlVGltZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IEFYRGF0ZVRpbWUuY29udmVydChkYXRlLCB0aGlzLl90b2RheS5jYWxlbmRhci5uYW1lKCkpO1xyXG4gICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBfY2xhc3NlcyA9IHtcclxuICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdGhpcy5kaXNhYmxlZFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKF9jbGFzc2VzKS5maWx0ZXIoYyA9PiBjWzFdKS5tYXAoYyA9PiBjWzBdKS5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBpc0Rpc2FibGVkKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGlzYWJsZWREYXRlcykgJiYgdGhpcy5kaXNhYmxlZERhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzLnNvbWUoZCA9PiBkYXRlLmVxdWFsKGQsICdkYXknKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0hvbGlkYXkoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ob2xpZGF5RGF0ZXMpICYmIHRoaXMuaG9saWRheURhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcy5zb21lKGQgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuaG9saWRheURhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaG9saWRheURhdGVzKGRhdGUuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzV2Vla2VuZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZGF0ZS5kYXlPZldlZWsgPT0gNyB8fCBkYXRlLmRheU9mV2VlayA9PSAxO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmF2LWJ1dHRvblwiIFt0ZXh0XT1cIl9uYXZUZXh0XCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1wcmV2LWJ1dHRvblwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtcm90YXRlLTkwXCI+PC9heC1pY29uPlxyXG4gICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgPC9heC1idXR0b24+XHJcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmV4dC1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LS1yb3RhdGUtOTBcIj48L2F4LWljb24+XHJcbiAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1ib2R5XCI+XHJcbiAgICA8ZGl2IFtuZ1N3aXRjaF09XCJhY3RpdmVWaWV3XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3llYXJzJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMteWVhclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soc2xvdClcIj57e3Nsb3QudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb250aHMnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1tb250aFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiIFxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci13ZWVrXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlNVPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2Pk1PPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlRVPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PldFPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlRIPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PkZSPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlNBPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtZGF5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiAgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soc2xvdClcIj57e3Nsb3QudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWZvb3RlclwiPlxyXG4gICAgPGF4LWJ1dHRvbiBbdGV4dF09XCJfdG9kYXlUZXh0XCIgY29sb3I9XCJkYXJrXCIgbG9vaz1cImJsYW5rXCIgc2l6ZT1cInNtXCIgKG9uQ2xpY2spPVwiX2hhbmRsZUdvVG9kYXkoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPjwvYXgtYnV0dG9uPlxyXG48L2Rpdj4iXX0=
@@ -1,59 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChildren } from '@angular/core';
2
- import { AXBaseValueComponentMixin } from '../base';
3
- import { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT } from '../base/mixin/interactive-mixin.class';
4
- import { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';
5
- import { AXFormHintComponent } from '../form';
6
- import { AXLabelComponent } from '../label';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
9
- export class AXCheckBoxComponent extends AXBaseValueComponentMixin {
10
- constructor(elementRef, cdr) {
11
- super(elementRef, cdr);
12
- }
13
- onInit() {
14
- super.onInit();
15
- debugger;
16
- if (!this.allowNull && this.value == null) {
17
- this.value = false;
18
- }
19
- }
20
- _onValueChanging(value) {
21
- debugger;
22
- if (this.allowNull && value == null) {
23
- this._stateIndeterminate = true;
24
- }
25
- else {
26
- this._stateIndeterminate = false;
27
- value = value == true ? true : false;
28
- }
29
- return value;
30
- }
31
- _handleOnClickEvent(e) {
32
- debugger;
33
- if (this.readonly || this.disabled) {
34
- e.preventDefault();
35
- e.stopPropagation();
36
- return false;
37
- }
38
- }
39
- }
40
- AXCheckBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXCheckBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
- AXCheckBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXCheckBoxComponent, selector: "ax-check-box", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, queries: [{ propertyName: "_hint", predicate: AXFormHintComponent }, { propertyName: "_label", predicate: AXLabelComponent }], usesInheritance: true, ngImport: i0, template: "<!-- <div class=\"ax-wrapper ax-flex ax-flex-row \" [class.ax-items-center]=\"_hint.length==0\"\r\n [class.ax-items-start]=\"_hint.length>=0\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"disabled\">\r\n <input [id]=\"id\" type=\"checkbox\" [indeterminate]=\"_stateIndeterminate\" [(ngModel)]=\"value\" [checked]=\"value\"\r\n [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (click)=\"_handleOnClickEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\r\n <div class=\"ax-suffix ax-ms-3\" *ngIf=\"_label.length||_hint.length\">\r\n <div *ngIf=\"_label.length\">\r\n <ng-content select=\"ax-label\"></ng-content>\r\n </div>\r\n <div *ngIf=\"_hint.length\">\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n </div>\r\n </div>\r\n</div> -->\r\n\r\n<div class=\"ax-flex ax-items-start\">\r\n <div class=\"ax-flex ax-items-center ax-h-5\">\r\n <input [id]=\"id\" class=\"ax-h-4 ax-w-4\" type=\"checkbox\" [indeterminate]=\"_stateIndeterminate\" [(ngModel)]=\"value\" [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\" (click)=\"_handleOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n </div>\r\n <div class=\"ax-ms-3 ax-text-sm\">\r\n <ng-content select=\"ax-label\"></ng-content>\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-content select=\"ax-validation-rule\"></ng-content>", directives: [{ type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXCheckBoxComponent, decorators: [{
43
- type: Component,
44
- args: [{
45
- selector: 'ax-check-box',
46
- templateUrl: './checkbox.component.html',
47
- inputs: [...INTERACTIVE_INPUTS, ...VALUE_INPUTS],
48
- outputs: [...INTERACTIVE_OUTPUT, ...VALUE_OUTPUT],
49
- encapsulation: ViewEncapsulation.None,
50
- changeDetection: ChangeDetectionStrategy.OnPush,
51
- }]
52
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _hint: [{
53
- type: ContentChildren,
54
- args: [AXFormHintComponent]
55
- }], _label: [{
56
- type: ContentChildren,
57
- args: [AXLabelComponent]
58
- }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLHVCQUF1QixFQUFFLGlCQUFpQixFQUFnQyxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEosT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBVTVDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx5QkFBeUI7SUFRaEUsWUFBWSxVQUFzQixFQUFFLEdBQXNCO1FBQ3hELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUdELE1BQU07UUFDSixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZixRQUFRLENBQUM7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ3BCLFFBQVEsQ0FBQTtRQUNSLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ25DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7U0FDakM7YUFDSTtZQUNILElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsbUJBQW1CLENBQUMsQ0FBYTtRQUMvQixRQUFRLENBQUM7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOztnSEF6Q1UsbUJBQW1CO29HQUFuQixtQkFBbUIsNlZBRWIsbUJBQW1CLHlDQUduQixnQkFBZ0Isb0RDcEJuQyw0bERBMEJxRDsyRkRYeEMsbUJBQW1CO2tCQVIvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxNQUFNLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxDQUFDO29CQUNoRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxDQUFDO29CQUNqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO2lJQUlDLEtBQUs7c0JBREosZUFBZTt1QkFBQyxtQkFBbUI7Z0JBSXBDLE1BQU07c0JBREwsZUFBZTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIEVsZW1lbnRSZWYsIElucHV0LCBRdWVyeUxpc3QsIENvbnRlbnRDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VWYWx1ZUNvbXBvbmVudE1peGluIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi92YWx1ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRm9ybUhpbnRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtJztcclxuaW1wb3J0IHsgQVhMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uL2xhYmVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtY2hlY2stYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogWy4uLklOVEVSQUNUSVZFX0lOUFVUUywgLi4uVkFMVUVfSU5QVVRTXSxcclxuICBvdXRwdXRzOiBbLi4uSU5URVJBQ1RJVkVfT1VUUFVULCAuLi5WQUxVRV9PVVRQVVRdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENoZWNrQm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVmFsdWVDb21wb25lbnRNaXhpbiB7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhGb3JtSGludENvbXBvbmVudCkgXHJcbiAgX2hpbnQ6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuICBcclxuICBAQ29udGVudENoaWxkcmVuKEFYTGFiZWxDb21wb25lbnQpIFxyXG4gIF9sYWJlbDogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHN1cGVyLm9uSW5pdCgpO1xyXG4gICAgZGVidWdnZXI7XHJcbiAgICBpZiAoIXRoaXMuYWxsb3dOdWxsICYmIHRoaXMudmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgX29uVmFsdWVDaGFuZ2luZyh2YWx1ZSkge1xyXG4gICAgZGVidWdnZXJcclxuICAgIGlmICh0aGlzLmFsbG93TnVsbCAmJiB2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX3N0YXRlSW5kZXRlcm1pbmF0ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5fc3RhdGVJbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUgPT0gdHJ1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVPbkNsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xyXG4gICAgZGVidWdnZXI7XHJcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJheC13cmFwcGVyIGF4LWZsZXggYXgtZmxleC1yb3cgXCIgW2NsYXNzLmF4LWl0ZW1zLWNlbnRlcl09XCJfaGludC5sZW5ndGg9PTBcIlxyXG4gICAgW2NsYXNzLmF4LWl0ZW1zLXN0YXJ0XT1cIl9oaW50Lmxlbmd0aD49MFwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJkaXNhYmxlZFwiPlxyXG4gICAgPGlucHV0IFtpZF09XCJpZFwiIHR5cGU9XCJjaGVja2JveFwiIFtpbmRldGVybWluYXRlXT1cIl9zdGF0ZUluZGV0ZXJtaW5hdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2NoZWNrZWRdPVwidmFsdWVcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiIChjbGljayk9XCJfaGFuZGxlT25DbGlja0V2ZW50KCRldmVudClcIlxyXG4gICAgICAgIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCIgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtc3VmZml4IGF4LW1zLTNcIiAqbmdJZj1cIl9sYWJlbC5sZW5ndGh8fF9oaW50Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJfbGFiZWwubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWxhYmVsXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJfaGludC5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9ybS1oaW50XCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiAtLT5cclxuXHJcbjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtaC01XCI+XHJcbiAgICAgICAgPGlucHV0IFtpZF09XCJpZFwiIGNsYXNzPVwiYXgtaC00IGF4LXctNFwiIHR5cGU9XCJjaGVja2JveFwiIFtpbmRldGVybWluYXRlXT1cIl9zdGF0ZUluZGV0ZXJtaW5hdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2NoZWNrZWRdPVwidmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiAoY2xpY2spPVwiX2hhbmRsZU9uQ2xpY2tFdmVudCgkZXZlbnQpXCIgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxyXG4gICAgICAgICAgICAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LW1zLTMgYXgtdGV4dC1zbVwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWxhYmVsXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWZvcm0taGludFwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPjwvbmctY29udGVudD4iXX0=
@@ -1,81 +0,0 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ContentChild, ViewChild } from '@angular/core';
2
- import { AXBaseSelectionValueMixin } from '../base';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class AXDataListComponent extends AXBaseSelectionValueMixin {
6
- constructor(elementRef, cdr) {
7
- super(elementRef, cdr);
8
- }
9
- get itemTemplate() {
10
- return this._itemTemplate ? this._itemTemplate : this._contentItemTemplate;
11
- }
12
- set itemTemplate(v) {
13
- this._itemTemplate = v;
14
- }
15
- get emptyTemplate() {
16
- return this._emptyTemplate ? this._emptyTemplate : this._contentEmptyTemplate;
17
- }
18
- set emptyTemplate(v) {
19
- this._emptyTemplate = v;
20
- }
21
- get loadingTemplate() {
22
- return this._loadingTemplate ? this._loadingTemplate : this._contentloadingTemplate;
23
- }
24
- set loadingTemplate(v) {
25
- this._loadingTemplate = v;
26
- }
27
- _handleOnItemClick(e, item) {
28
- this.selectItems(item);
29
- }
30
- _handleListScroll(e) {
31
- const list = e.target;
32
- if ((list.scrollTop < list.scrollHeight - list.clientHeight)) {
33
- return;
34
- }
35
- this._fetchData();
36
- }
37
- _checkForLoadData() {
38
- const list = this._container.nativeElement;
39
- if (this.loadedCount < this.totalCount && list.clientHeight < list.parentElement.clientHeight) {
40
- this._fetchData();
41
- }
42
- }
43
- _onDataLoaded() {
44
- setTimeout(() => {
45
- this._checkForLoadData();
46
- }, 100);
47
- }
48
- }
49
- AXDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDataListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
50
- AXDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDataListComponent, selector: "ax-datalist", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", items: "items", pageSize: "pageSize", itemTemplate: "itemTemplate", emptyTemplate: "emptyTemplate", loadingTemplate: "loadingTemplate" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { classAttribute: "ax-list ax-list-container" }, queries: [{ propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true, static: true }, { propertyName: "_contentloadingTemplate", first: true, predicate: ["loadingTemplate"], descendants: true, static: true }], viewQueries: [{ propertyName: "_container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-list-items-container ax-default ax-vertical\" (scroll)=\"_handleListScroll($event)\" #container>\r\n <ng-container *ngFor=\"let item of displayItems;trackBy : _trackByFunction\">\r\n <ng-container *ngIf=\"itemTemplate; else elseTemplate\">\r\n <div class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <div class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\">\r\n {{ item ? _getItemDisplayTextTemplte(item) : 'Loading...'}}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"(displayItems==null || displayItems.length==0) && !isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"elseEmptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n Empty!\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-list-loading-container\">\r\n <div><i class=\"fas fa-spinner ax-animate-spin\"></i> Loading ...</div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</div>", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDataListComponent, decorators: [{
52
- type: Component,
53
- args: [{
54
- selector: 'ax-datalist',
55
- templateUrl: './datalist.component.html',
56
- inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'value', 'items', 'pageSize'],
57
- outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'],
58
- changeDetection: ChangeDetectionStrategy.OnPush,
59
- encapsulation: ViewEncapsulation.None,
60
- host: { class: 'ax-list ax-list-container' }
61
- }]
62
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _container: [{
63
- type: ViewChild,
64
- args: ['container']
65
- }], _contentItemTemplate: [{
66
- type: ContentChild,
67
- args: ['itemTemplate', { static: true }]
68
- }], itemTemplate: [{
69
- type: Input
70
- }], _contentEmptyTemplate: [{
71
- type: ContentChild,
72
- args: ['emptyTemplate', { static: true }]
73
- }], emptyTemplate: [{
74
- type: Input
75
- }], _contentloadingTemplate: [{
76
- type: ContentChild,
77
- args: ['loadingTemplate', { static: true }]
78
- }], loadingTemplate: [{
79
- type: Input
80
- }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kYXRhbGlzdC9kYXRhbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGFsaXN0L2RhdGFsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQWlDLEtBQUssRUFBRSxZQUFZLEVBQTZCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoTCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQVdwRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEseUJBQXlCO0lBRTlELFlBQVksVUFBc0IsRUFBRSxHQUFzQjtRQUN0RCxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFTRCxJQUNXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDL0UsQ0FBQztJQUNELElBQVcsWUFBWSxDQUFDLENBQW1CO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFNRCxJQUNXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDbEYsQ0FBQztJQUNELElBQVcsYUFBYSxDQUFDLENBQW1CO1FBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFNRCxJQUNXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3hGLENBQUM7SUFDRCxJQUFXLGVBQWUsQ0FBQyxDQUFtQjtRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxDQUFhLEVBQUUsSUFBUztRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxDQUFRO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUF3QixDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzFELE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBR08saUJBQWlCO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUU7WUFDM0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRVosQ0FBQzs7Z0hBdkVRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGk4QkNaaEMsZ3VEQWtDTTsyRkR0Qk8sbUJBQW1CO2tCQVQvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUM7b0JBQ2xGLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDO29CQUMvRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtpQkFDL0M7aUlBUUcsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFdBQVc7Z0JBSXRCLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtuQyxZQUFZO3NCQUR0QixLQUFLO2dCQVNOLHFCQUFxQjtzQkFEcEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtwQyxhQUFhO3NCQUR2QixLQUFLO2dCQVNOLHVCQUF1QjtzQkFEdEIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS3RDLGVBQWU7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIElucHV0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VTZWxlY3Rpb25WYWx1ZU1peGluIH0gZnJvbSAnLi4vYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtZGF0YWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGFsaXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIGlucHV0czogWydkaXNhYmxlZCcsICdyZWFkb25seScsICd0YWJJbmRleCcsICdzaXplJywgJ3ZhbHVlJywgJ2l0ZW1zJywgJ3BhZ2VTaXplJ10sXHJcbiAgICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJywgJ29uQmx1cicsICdvbkZvY3VzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtbGlzdCBheC1saXN0LWNvbnRhaW5lcicgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhEYXRhTGlzdENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVNlbGVjdGlvblZhbHVlTWl4aW4ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpXHJcbiAgICBfY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoJ2l0ZW1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBfY29udGVudEl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBwcml2YXRlIF9pdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBpdGVtVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1UZW1wbGF0ZSA/IHRoaXMuX2l0ZW1UZW1wbGF0ZSA6IHRoaXMuX2NvbnRlbnRJdGVtVGVtcGxhdGU7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGl0ZW1UZW1wbGF0ZSh2OiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICAgICAgdGhpcy5faXRlbVRlbXBsYXRlID0gdjtcclxuICAgIH1cclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdlbXB0eVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIF9jb250ZW50RW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBwcml2YXRlIF9lbXB0eVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZW1wdHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZW1wdHlUZW1wbGF0ZSA/IHRoaXMuX2VtcHR5VGVtcGxhdGUgOiB0aGlzLl9jb250ZW50RW1wdHlUZW1wbGF0ZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgZW1wdHlUZW1wbGF0ZSh2OiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICAgICAgdGhpcy5fZW1wdHlUZW1wbGF0ZSA9IHY7XHJcbiAgICB9XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZCgnbG9hZGluZ1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIF9jb250ZW50bG9hZGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIHByaXZhdGUgX2xvYWRpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGxvYWRpbmdUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGluZ1RlbXBsYXRlID8gdGhpcy5fbG9hZGluZ1RlbXBsYXRlIDogdGhpcy5fY29udGVudGxvYWRpbmdUZW1wbGF0ZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgbG9hZGluZ1RlbXBsYXRlKHY6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgICAgICB0aGlzLl9sb2FkaW5nVGVtcGxhdGUgPSB2O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBfaGFuZGxlT25JdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtcyhpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlTGlzdFNjcm9sbChlOiBFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IGxpc3QgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgICAgICBpZiAoKGxpc3Quc2Nyb2xsVG9wIDwgbGlzdC5zY3JvbGxIZWlnaHQgLSBsaXN0LmNsaWVudEhlaWdodCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tGb3JMb2FkRGF0YSgpIHtcclxuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5fY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKHRoaXMubG9hZGVkQ291bnQgPCB0aGlzLnRvdGFsQ291bnQgJiYgbGlzdC5jbGllbnRIZWlnaHQgPCBsaXN0LnBhcmVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBfb25EYXRhTG9hZGVkKCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja0ZvckxvYWREYXRhKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1saXN0LWl0ZW1zLWNvbnRhaW5lciBheC1kZWZhdWx0IGF4LXZlcnRpY2FsXCIgKHNjcm9sbCk9XCJfaGFuZGxlTGlzdFNjcm9sbCgkZXZlbnQpXCIgI2NvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheUl0ZW1zO3RyYWNrQnkgOiBfdHJhY2tCeUZ1bmN0aW9uXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZTsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWxpc3QtaXRlbVwiIChjbGljayk9XCJfaGFuZGxlT25JdGVtQ2xpY2soJGV2ZW50LGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSxkaXJlY3Rpb246ZGlyZWN0aW9ufVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbGlzdC1pdGVtXCIgKGNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgIHt7IGl0ZW0gPyBfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKSA6ICdMb2FkaW5nLi4uJ319XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZGlzcGxheUl0ZW1zPT1udWxsIHx8IGRpc3BsYXlJdGVtcy5sZW5ndGg9PTApICYmICFpc0xvYWRpbmdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZTsgZWxzZSBlbHNlRW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZWxzZUVtcHR5VGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XHJcbiAgICAgICAgICAgIEVtcHR5IVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1RlbXBsYXRlOyBlbHNlIGVsc2VMb2FkaW5nVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VMb2FkaW5nVGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1saXN0LWxvYWRpbmctY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PjxpIGNsYXNzPVwiZmFzIGZhLXNwaW5uZXIgYXgtYW5pbWF0ZS1zcGluXCI+PC9pPiBMb2FkaW5nIC4uLjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PiJdfQ==
@@ -1,80 +0,0 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, } from '@angular/core';
2
- import { AXBaseTextBoxMixin } from '../base/mixin/mixin.class';
3
- import { TEXTBOX_INPUTS, TEXTBOX_OUTPUT, } from '../base/mixin/textbox-mixin.class';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../dropdown/dropdown.component";
6
- import * as i2 from "../calendar/calendar.component";
7
- export class AXDatepickerComponent extends AXBaseTextBoxMixin {
8
- constructor(elementRef, cdr) {
9
- super(elementRef, cdr);
10
- this.dayItems = new Array(32);
11
- this.yearItems = [1990];
12
- this.monthItems = [
13
- 'January',
14
- 'February',
15
- 'March',
16
- 'April',
17
- 'May',
18
- 'June',
19
- 'July',
20
- 'August',
21
- 'September',
22
- 'October',
23
- 'November',
24
- 'December',
25
- ];
26
- this._showDays = true;
27
- this._showsMonths = false;
28
- this._showYears = false;
29
- this.createYears();
30
- }
31
- showMonths() {
32
- this._showDays = false;
33
- this._showYears = false;
34
- this._showsMonths = true;
35
- }
36
- showYears() {
37
- this._showsMonths = false;
38
- this._showDays = false;
39
- this._showYears = true;
40
- }
41
- showDays() {
42
- this._showYears = false;
43
- this._showsMonths = false;
44
- this._showDays = true;
45
- }
46
- createYears() {
47
- let number = 1990;
48
- for (let i = 0; i < 40; i++) {
49
- number = number + 1;
50
- this.yearItems.push(number);
51
- }
52
- }
53
- }
54
- AXDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDatepickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
55
- AXDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDatepickerComponent, selector: "ax-date-picker", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", cssClass: "cssClass", size: "size", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", debounceTime: "debounceTime", value: "value", name: "name" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, usesInheritance: true, ngImport: i0, template: "<ax-drop-down [fitParent]=\"false\" [disabled]=\"disabled\">\r\n <ng-container input>\r\n <ng-content select=\"ax-prefix\">\r\n </ng-content>\r\n <ng-content select=\"ax-suffix\">\r\n </ng-content>\r\n </ng-container>\r\n <div class=\"ax-datepicker-body\" panel>\r\n <ax-calendar></ax-calendar>\r\n <!-- [showTime]=\"true\" [actionBar]=\"true\" -->\r\n </div>\r\n</ax-drop-down>", components: [{ type: i1.AXDropdownComponent, selector: "ax-drop-down", inputs: ["disabled", "tabIndex", "size", "fitParent"] }, { type: i2.AXCalendarComponent, selector: "ax-calendar", inputs: ["readonly", "allowNull", "value", "debounceTime", "name", "disabled", "tabIndex", "activeView", "depth", "min", "max", "disabledDates", "holidayDates"], outputs: ["valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDatepickerComponent, decorators: [{
57
- type: Component,
58
- args: [{
59
- selector: 'ax-date-picker',
60
- templateUrl: './datepicker.component.html',
61
- inputs: [
62
- 'disabled',
63
- 'readonly',
64
- 'tabIndex',
65
- 'cssClass',
66
- 'size',
67
- ...TEXTBOX_INPUTS,
68
- ],
69
- outputs: [
70
- 'valueChange',
71
- 'onValueChanged',
72
- 'onBlur',
73
- 'onFocus',
74
- ...TEXTBOX_OUTPUT,
75
- ],
76
- changeDetection: ChangeDetectionStrategy.OnPush,
77
- encapsulation: ViewEncapsulation.None,
78
- }]
79
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsR0FHeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEdBQ2YsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQXNCM0MsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGtCQUFrQjtJQUMzRCxZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUd6QixhQUFRLEdBQWEsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsY0FBUyxHQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFhO1lBQ3JCLFNBQVM7WUFDVCxVQUFVO1lBQ1YsT0FBTztZQUNQLE9BQU87WUFDUCxLQUFLO1lBQ0wsTUFBTTtZQUNOLE1BQU07WUFDTixRQUFRO1lBQ1IsV0FBVztZQUNYLFNBQVM7WUFDVCxVQUFVO1lBQ1YsVUFBVTtTQUNYLENBQUM7UUFFRixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFyQjFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBc0JELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQixNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7O2tIQWxEVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix3YkNsQ2xDLGtiQVdlOzJGRHVCRixxQkFBcUI7a0JBckJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLE1BQU0sRUFBRTt3QkFDTixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE1BQU07d0JBQ04sR0FBRyxjQUFjO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxHQUFHLGNBQWM7cUJBQ2xCO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VUZXh0Qm94TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL21peGluLmNsYXNzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgVEVYVEJPWF9JTlBVVFMsXHJcbiAgVEVYVEJPWF9PVVRQVVQsXHJcbn0gZnJvbSAnLi4vYmFzZS9taXhpbi90ZXh0Ym94LW1peGluLmNsYXNzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1kYXRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ2Nzc0NsYXNzJyxcclxuICAgICdzaXplJyxcclxuICAgIC4uLlRFWFRCT1hfSU5QVVRTLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogW1xyXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcclxuICAgICdvblZhbHVlQ2hhbmdlZCcsXHJcbiAgICAnb25CbHVyJyxcclxuICAgICdvbkZvY3VzJyxcclxuICAgIC4uLlRFWFRCT1hfT1VUUFVULFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRGF0ZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRCb3hNaXhpbiB7XHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIHRoaXMuY3JlYXRlWWVhcnMoKTtcclxuICB9XHJcbiAgZGF5SXRlbXM6IG51bWJlcltdID0gbmV3IEFycmF5KDMyKTtcclxuICB5ZWFySXRlbXM6IG51bWJlcltdID0gWzE5OTBdO1xyXG4gIG1vbnRoSXRlbXM6IHN0cmluZ1tdID0gW1xyXG4gICAgJ0phbnVhcnknLFxyXG4gICAgJ0ZlYnJ1YXJ5JyxcclxuICAgICdNYXJjaCcsXHJcbiAgICAnQXByaWwnLFxyXG4gICAgJ01heScsXHJcbiAgICAnSnVuZScsXHJcbiAgICAnSnVseScsXHJcbiAgICAnQXVndXN0JyxcclxuICAgICdTZXB0ZW1iZXInLFxyXG4gICAgJ09jdG9iZXInLFxyXG4gICAgJ05vdmVtYmVyJyxcclxuICAgICdEZWNlbWJlcicsXHJcbiAgXTtcclxuXHJcbiAgX3Nob3dEYXlzOiBib29sZWFuID0gdHJ1ZTtcclxuICBfc2hvd3NNb250aHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBfc2hvd1llYXJzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHNob3dNb250aHMoKSB7XHJcbiAgICB0aGlzLl9zaG93RGF5cyA9IGZhbHNlO1xyXG4gICAgdGhpcy5fc2hvd1llYXJzID0gZmFsc2U7XHJcbiAgICB0aGlzLl9zaG93c01vbnRocyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzaG93WWVhcnMoKSB7XHJcbiAgICB0aGlzLl9zaG93c01vbnRocyA9IGZhbHNlO1xyXG4gICAgdGhpcy5fc2hvd0RheXMgPSBmYWxzZTtcclxuICAgIHRoaXMuX3Nob3dZZWFycyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzaG93RGF5cygpIHtcclxuICAgIHRoaXMuX3Nob3dZZWFycyA9IGZhbHNlO1xyXG4gICAgdGhpcy5fc2hvd3NNb250aHMgPSBmYWxzZTtcclxuICAgIHRoaXMuX3Nob3dEYXlzID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVllYXJzKCkge1xyXG4gICAgbGV0IG51bWJlciA9IDE5OTA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQwOyBpKyspIHtcclxuICAgICAgbnVtYmVyID0gbnVtYmVyICsgMTtcclxuICAgICAgdGhpcy55ZWFySXRlbXMucHVzaChudW1iZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YXgtZHJvcC1kb3duIFtmaXRQYXJlbnRdPVwiZmFsc2VcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgIDxuZy1jb250YWluZXIgaW5wdXQ+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWRhdGVwaWNrZXItYm9keVwiIHBhbmVsPlxyXG4gICAgICAgIDxheC1jYWxlbmRhcj48L2F4LWNhbGVuZGFyPlxyXG4gICAgICAgIDwhLS0gW3Nob3dUaW1lXT1cInRydWVcIiBbYWN0aW9uQmFyXT1cInRydWVcIiAtLT5cclxuICAgIDwvZGl2PlxyXG48L2F4LWRyb3AtZG93bj4iXX0=