@acorex/components 5.4.0 → 5.7.0

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 (295) hide show
  1. package/esm2020/lib/action-sheet/action-sheet-item.component.mjs +4 -4
  2. package/esm2020/lib/action-sheet/action-sheet.component.mjs +4 -4
  3. package/esm2020/lib/action-sheet/action-sheet.module.mjs +5 -5
  4. package/esm2020/lib/alert/alert.component.mjs +27 -8
  5. package/esm2020/lib/alert/alert.module.mjs +5 -9
  6. package/esm2020/lib/alert/index.mjs +1 -2
  7. package/esm2020/lib/avatar/avatar-group.component.mjs +3 -3
  8. package/esm2020/lib/avatar/avatar.component.mjs +3 -3
  9. package/esm2020/lib/avatar/avatar.module.mjs +5 -5
  10. package/esm2020/lib/badge/badge.component.mjs +3 -3
  11. package/esm2020/lib/badge/badge.module.mjs +5 -5
  12. package/esm2020/lib/base/auto-focus.directive.mjs +43 -0
  13. package/esm2020/lib/base/common.module.mjs +9 -7
  14. package/esm2020/lib/base/components.class.mjs +34 -13
  15. package/esm2020/lib/base/custom-cdk-overlay.service.mjs +6 -6
  16. package/esm2020/lib/base/events.class.mjs +1 -1
  17. package/esm2020/lib/base/hotkey.directive.mjs +79 -0
  18. package/esm2020/lib/base/index.mjs +3 -1
  19. package/esm2020/lib/base/infinite-scroll.directive.mjs +3 -3
  20. package/esm2020/lib/base/mixin/base-components.class.mjs +3 -3
  21. package/esm2020/lib/base/mixin/button-mixin.class.mjs +2 -23
  22. package/esm2020/lib/base/mixin/color-look-mixing.class.mjs +2 -2
  23. package/esm2020/lib/base/mixin/datalist-component.class.mjs +15 -4
  24. package/esm2020/lib/base/mixin/index.mjs +3 -1
  25. package/esm2020/lib/base/mixin/interactive-mixin.class.mjs +2 -2
  26. package/esm2020/lib/base/mixin/loading-mixin.class.mjs +1 -1
  27. package/esm2020/lib/base/mixin/mixin.class.mjs +2 -3
  28. package/esm2020/lib/base/mixin/selection-component.class.mjs +2 -2
  29. package/esm2020/lib/base/mixin/textbox-mixin.class.mjs +82 -26
  30. package/esm2020/lib/base/mixin/value-mixin.class.mjs +47 -59
  31. package/esm2020/lib/base/overlay.service.mjs +3 -3
  32. package/esm2020/lib/base/responsive.directive.mjs +3 -3
  33. package/esm2020/lib/breadcrumbs/breadcrumbs-item.component.mjs +3 -3
  34. package/esm2020/lib/breadcrumbs/breadcrumbs.component.mjs +3 -3
  35. package/esm2020/lib/breadcrumbs/breadcrumbs.module.mjs +5 -5
  36. package/esm2020/lib/button/button-group.component.mjs +23 -57
  37. package/esm2020/lib/button/button-item.class.mjs +1 -1
  38. package/esm2020/lib/button/button-item.component.mjs +4 -4
  39. package/esm2020/lib/button/button.component.mjs +20 -29
  40. package/esm2020/lib/button/button.module.mjs +5 -5
  41. package/esm2020/lib/calendar/calendar.class.mjs +3 -3
  42. package/esm2020/lib/calendar/calendar.component.mjs +10 -12
  43. package/esm2020/lib/calendar/calendar.module.mjs +5 -5
  44. package/esm2020/lib/carousel/carousel-arrows.component.mjs +4 -4
  45. package/esm2020/lib/carousel/carousel-item.component.mjs +3 -3
  46. package/esm2020/lib/carousel/carousel-pager.component.mjs +4 -4
  47. package/esm2020/lib/carousel/carousel.class.mjs +3 -3
  48. package/esm2020/lib/carousel/carousel.component.mjs +3 -3
  49. package/esm2020/lib/carousel/carousel.module.mjs +5 -5
  50. package/esm2020/lib/checkbox/checkbox.component.mjs +8 -7
  51. package/esm2020/lib/checkbox/checkbox.module.mjs +5 -5
  52. package/esm2020/lib/collapse/collapse-group.component.mjs +3 -3
  53. package/esm2020/lib/collapse/collapse.component.mjs +3 -3
  54. package/esm2020/lib/collapse/collapse.module.mjs +5 -5
  55. package/esm2020/lib/color-palette/color-palette-input.component.mjs +49 -36
  56. package/esm2020/lib/color-palette/color-palette-picker.component.mjs +76 -14
  57. package/esm2020/lib/color-palette/color-palette-preview.component.mjs +25 -17
  58. package/esm2020/lib/color-palette/color-palette-swatches.component.mjs +31 -20
  59. package/esm2020/lib/color-palette/color-palette.class.mjs +11 -4
  60. package/esm2020/lib/color-palette/color-palette.component.mjs +47 -20
  61. package/esm2020/lib/color-palette/color-palette.module.mjs +10 -7
  62. package/esm2020/lib/color-picker/color-picker.component.mjs +24 -15
  63. package/esm2020/lib/color-picker/color-picker.module.mjs +15 -17
  64. package/esm2020/lib/data-pager/data-pager-base.component.mjs +37 -0
  65. package/esm2020/lib/data-pager/data-pager-info.component.mjs +52 -0
  66. package/esm2020/lib/data-pager/data-pager-input-selector.component.mjs +50 -0
  67. package/esm2020/lib/data-pager/data-pager-next-buttons.components.mjs +60 -0
  68. package/esm2020/lib/data-pager/data-pager-numeric-selector.component.mjs +99 -0
  69. package/esm2020/lib/data-pager/data-pager-pagesize-dropdown.component.mjs +86 -0
  70. package/esm2020/lib/data-pager/data-pager-prev-buttons.component.mjs +58 -0
  71. package/esm2020/lib/data-pager/data-pager.component.mjs +132 -0
  72. package/esm2020/lib/data-pager/data-pager.module.mjs +51 -0
  73. package/esm2020/lib/data-pager/index.mjs +9 -0
  74. package/esm2020/lib/data-table/data-column-cell-template.directive.mjs +17 -0
  75. package/esm2020/lib/data-table/data-column.directive.mjs +43 -0
  76. package/esm2020/lib/data-table/data-table.component.mjs +124 -0
  77. package/esm2020/lib/data-table/data-table.module.mjs +27 -0
  78. package/esm2020/lib/data-table/index.mjs +5 -0
  79. package/esm2020/lib/datalist/datalist.component.mjs +5 -5
  80. package/esm2020/lib/datalist/datalist.module.mjs +5 -5
  81. package/esm2020/lib/datepicker/datepicker.component.mjs +15 -15
  82. package/esm2020/lib/datepicker/datepicker.module.mjs +5 -5
  83. package/esm2020/lib/decorators/addon.component.mjs +3 -3
  84. package/esm2020/lib/decorators/close-button.component.mjs +3 -3
  85. package/esm2020/lib/decorators/content.component.mjs +3 -3
  86. package/esm2020/lib/decorators/decorators.module.mjs +6 -6
  87. package/esm2020/lib/decorators/footer.component.mjs +6 -6
  88. package/esm2020/lib/decorators/header.component.mjs +6 -6
  89. package/esm2020/lib/decorators/icon.component.mjs +3 -3
  90. package/esm2020/lib/decorators/prefix.component.mjs +6 -8
  91. package/esm2020/lib/decorators/suffix.component.mjs +6 -8
  92. package/esm2020/lib/decorators/title.component.mjs +3 -3
  93. package/esm2020/lib/dialog/dialog.component.mjs +22 -9
  94. package/esm2020/lib/dialog/dialog.module.mjs +7 -6
  95. package/esm2020/lib/dialog/dialog.service.mjs +14 -8
  96. package/esm2020/lib/drawer/drawer-container.component.mjs +3 -3
  97. package/esm2020/lib/drawer/drawer.component.mjs +19 -12
  98. package/esm2020/lib/drawer/drawer.module.mjs +5 -5
  99. package/esm2020/lib/dropdown/dropdown-panel.component.mjs +30 -27
  100. package/esm2020/lib/dropdown/dropdown.module.mjs +5 -5
  101. package/esm2020/lib/form/form-field.component.mjs +3 -3
  102. package/esm2020/lib/form/form-field.module.mjs +5 -5
  103. package/esm2020/lib/form/form-hint.component.mjs +3 -3
  104. package/esm2020/lib/form/form.component.mjs +38 -12
  105. package/esm2020/lib/input-mask/input-mask.component.mjs +3 -3
  106. package/esm2020/lib/input-mask/input-mask.module.mjs +5 -5
  107. package/esm2020/lib/label/label.component.mjs +7 -5
  108. package/esm2020/lib/label/label.module.mjs +5 -5
  109. package/esm2020/lib/loading/loading-spinner.component.mjs +4 -4
  110. package/esm2020/lib/loading/loading.component.mjs +4 -4
  111. package/esm2020/lib/loading/loading.directive.mjs +5 -5
  112. package/esm2020/lib/loading/loading.module.mjs +5 -5
  113. package/esm2020/lib/loading/loading.service.mjs +3 -3
  114. package/esm2020/lib/menu/menu.component.mjs +15 -9
  115. package/esm2020/lib/menu/menu.module.mjs +7 -10
  116. package/esm2020/lib/number-box/number-box.component.mjs +21 -12
  117. package/esm2020/lib/number-box/number-box.module.mjs +5 -5
  118. package/esm2020/lib/page/base-page.class.mjs +3 -3
  119. package/esm2020/lib/page/page.component.mjs +3 -3
  120. package/esm2020/lib/page/page.module.mjs +5 -5
  121. package/esm2020/lib/password-box/password-box.component.mjs +7 -7
  122. package/esm2020/lib/password-box/password-box.module.mjs +5 -5
  123. package/esm2020/lib/picker/picker.component.mjs +4 -4
  124. package/esm2020/lib/picker/picker.module.mjs +5 -5
  125. package/esm2020/lib/popover/popover.component.mjs +3 -3
  126. package/esm2020/lib/popover/popover.module.mjs +5 -5
  127. package/esm2020/lib/popup/popup.component.mjs +10 -10
  128. package/esm2020/lib/popup/popup.module.mjs +5 -5
  129. package/esm2020/lib/popup/popup.service.mjs +3 -3
  130. package/esm2020/lib/progress-bar/progress-bar.component.mjs +3 -3
  131. package/esm2020/lib/progress-bar/progress-bar.module.mjs +5 -5
  132. package/esm2020/lib/radio/radio.component.mjs +4 -4
  133. package/esm2020/lib/radio/radio.module.mjs +5 -5
  134. package/esm2020/lib/range-slider/range-slider.component.mjs +100 -11
  135. package/esm2020/lib/range-slider/range-slider.module.mjs +7 -6
  136. package/esm2020/lib/rating/rating.component.mjs +3 -3
  137. package/esm2020/lib/rating/rating.component.module.mjs +5 -5
  138. package/esm2020/lib/result/result.component.mjs +5 -5
  139. package/esm2020/lib/result/result.module.mjs +5 -5
  140. package/esm2020/lib/searchbox/searchbox.component.mjs +17 -11
  141. package/esm2020/lib/searchbox/searchbox.module.mjs +7 -6
  142. package/esm2020/lib/selectbox/selectbox.component.mjs +31 -31
  143. package/esm2020/lib/selectbox/selectbox.module.mjs +16 -17
  144. package/esm2020/lib/selection-list/selection-list.component.mjs +3 -3
  145. package/esm2020/lib/selection-list/selection-list.module.mjs +5 -5
  146. package/esm2020/lib/switch/switch.component.mjs +6 -6
  147. package/esm2020/lib/switch/switch.module.mjs +5 -5
  148. package/esm2020/lib/tabs/tab-content.directive.mjs +3 -3
  149. package/esm2020/lib/tabs/tab-item.component.mjs +4 -4
  150. package/esm2020/lib/tabs/tabs.component.mjs +3 -3
  151. package/esm2020/lib/tabs/tabs.module.mjs +5 -5
  152. package/esm2020/lib/textarea/textarea.component.mjs +3 -3
  153. package/esm2020/lib/textarea/textarea.module.mjs +6 -8
  154. package/esm2020/lib/textbox/textbox.component.mjs +12 -5
  155. package/esm2020/lib/textbox/textbox.module.mjs +9 -11
  156. package/esm2020/lib/time-box/time-box.component.mjs +5 -5
  157. package/esm2020/lib/time-box/time-box.module.mjs +5 -5
  158. package/esm2020/lib/toast/toast.component.mjs +20 -13
  159. package/esm2020/lib/toast/toast.module.mjs +5 -5
  160. package/esm2020/lib/toast/toast.service.mjs +25 -19
  161. package/esm2020/lib/tooltip/tooltip.component.mjs +3 -3
  162. package/esm2020/lib/tooltip/tooltip.directive.mjs +3 -3
  163. package/esm2020/lib/tooltip/tooltip.module.mjs +5 -5
  164. package/esm2020/lib/treeview/tree-view.component.mjs +5 -5
  165. package/esm2020/lib/treeview/tree-view.module.mjs +5 -5
  166. package/esm2020/lib/validation/index.mjs +2 -1
  167. package/esm2020/lib/validation/validation-rule.widget.mjs +19 -33
  168. package/esm2020/lib/validation/validation-summary.component.mjs +102 -0
  169. package/esm2020/lib/validation/validation.class.mjs +1 -1
  170. package/esm2020/lib/validation/validation.module.mjs +31 -19
  171. package/esm2020/public-api.mjs +3 -2
  172. package/fesm2015/acorex-components.mjs +2488 -1243
  173. package/fesm2015/acorex-components.mjs.map +1 -1
  174. package/fesm2020/acorex-components.mjs +2420 -1213
  175. package/fesm2020/acorex-components.mjs.map +1 -1
  176. package/{acorex-components.d.ts → index.d.ts} +0 -0
  177. package/lib/action-sheet/action-sheet-item.component.d.ts +1 -1
  178. package/lib/action-sheet/action-sheet.component.d.ts +1 -1
  179. package/lib/alert/alert.component.d.ts +7 -5
  180. package/lib/alert/alert.module.d.ts +3 -4
  181. package/lib/alert/index.d.ts +0 -1
  182. package/lib/avatar/avatar-group.component.d.ts +1 -1
  183. package/lib/avatar/avatar.component.d.ts +1 -1
  184. package/lib/badge/badge.component.d.ts +1 -1
  185. package/lib/base/auto-focus.directive.d.ts +12 -0
  186. package/lib/base/common.module.d.ts +3 -1
  187. package/lib/base/components.class.d.ts +26 -3
  188. package/lib/base/events.class.d.ts +1 -1
  189. package/lib/base/hotkey.directive.d.ts +22 -0
  190. package/lib/base/index.d.ts +2 -0
  191. package/lib/base/infinite-scroll.directive.d.ts +1 -1
  192. package/lib/base/mixin/button-mixin.class.d.ts +2 -10
  193. package/lib/base/mixin/index.d.ts +2 -0
  194. package/lib/base/mixin/mixin.class.d.ts +20 -14
  195. package/lib/base/mixin/textbox-mixin.class.d.ts +24 -5
  196. package/lib/base/mixin/value-mixin.class.d.ts +7 -8
  197. package/lib/base/responsive.directive.d.ts +1 -1
  198. package/lib/breadcrumbs/breadcrumbs-item.component.d.ts +1 -1
  199. package/lib/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  200. package/lib/button/button-group.component.d.ts +66 -17
  201. package/lib/button/button-item.class.d.ts +4 -3
  202. package/lib/button/button-item.component.d.ts +1 -1
  203. package/lib/button/button.component.d.ts +3 -4
  204. package/lib/calendar/calendar.component.d.ts +1 -1
  205. package/lib/carousel/carousel-arrows.component.d.ts +1 -1
  206. package/lib/carousel/carousel-item.component.d.ts +1 -1
  207. package/lib/carousel/carousel-pager.component.d.ts +1 -1
  208. package/lib/carousel/carousel.component.d.ts +1 -1
  209. package/lib/checkbox/checkbox.component.d.ts +4 -3
  210. package/lib/collapse/collapse-group.component.d.ts +1 -1
  211. package/lib/collapse/collapse.component.d.ts +1 -1
  212. package/lib/color-palette/color-palette-input.component.d.ts +3 -3
  213. package/lib/color-palette/color-palette-picker.component.d.ts +19 -6
  214. package/lib/color-palette/color-palette-preview.component.d.ts +6 -7
  215. package/lib/color-palette/color-palette-swatches.component.d.ts +3 -2
  216. package/lib/color-palette/color-palette.class.d.ts +12 -1
  217. package/lib/color-palette/color-palette.component.d.ts +12 -6
  218. package/lib/color-palette/color-palette.module.d.ts +2 -1
  219. package/lib/color-picker/color-picker.component.d.ts +22 -18
  220. package/lib/data-pager/data-pager-base.component.d.ts +48 -0
  221. package/lib/data-pager/data-pager-info.component.d.ts +15 -0
  222. package/lib/data-pager/data-pager-input-selector.component.d.ts +15 -0
  223. package/lib/data-pager/data-pager-next-buttons.components.d.ts +16 -0
  224. package/lib/data-pager/data-pager-numeric-selector.component.d.ts +18 -0
  225. package/lib/data-pager/data-pager-pagesize-dropdown.component.d.ts +19 -0
  226. package/lib/data-pager/data-pager-prev-buttons.component.d.ts +15 -0
  227. package/lib/data-pager/data-pager.component.d.ts +34 -0
  228. package/lib/data-pager/data-pager.module.d.ts +18 -0
  229. package/lib/data-pager/index.d.ts +8 -0
  230. package/lib/data-table/data-column-cell-template.directive.d.ts +8 -0
  231. package/lib/data-table/data-column.directive.d.ts +16 -0
  232. package/lib/data-table/data-table.component.d.ts +34 -0
  233. package/lib/data-table/data-table.module.d.ts +14 -0
  234. package/lib/data-table/index.d.ts +4 -0
  235. package/lib/datalist/datalist.component.d.ts +1 -1
  236. package/lib/datepicker/datepicker.component.d.ts +8 -8
  237. package/lib/decorators/addon.component.d.ts +1 -1
  238. package/lib/decorators/close-button.component.d.ts +1 -1
  239. package/lib/decorators/content.component.d.ts +1 -1
  240. package/lib/decorators/footer.component.d.ts +1 -1
  241. package/lib/decorators/header.component.d.ts +1 -1
  242. package/lib/decorators/icon.component.d.ts +1 -1
  243. package/lib/decorators/prefix.component.d.ts +1 -1
  244. package/lib/decorators/suffix.component.d.ts +1 -1
  245. package/lib/decorators/title.component.d.ts +1 -1
  246. package/lib/dialog/dialog.component.d.ts +2 -1
  247. package/lib/dialog/dialog.module.d.ts +7 -6
  248. package/lib/drawer/drawer-container.component.d.ts +1 -1
  249. package/lib/drawer/drawer.component.d.ts +1 -2
  250. package/lib/dropdown/dropdown-panel.component.d.ts +7 -8
  251. package/lib/form/form-field.component.d.ts +1 -1
  252. package/lib/form/form-hint.component.d.ts +1 -1
  253. package/lib/form/form.component.d.ts +15 -5
  254. package/lib/input-mask/input-mask.component.d.ts +1 -1
  255. package/lib/label/label.component.d.ts +2 -1
  256. package/lib/loading/loading-spinner.component.d.ts +1 -1
  257. package/lib/loading/loading.component.d.ts +1 -1
  258. package/lib/loading/loading.directive.d.ts +1 -1
  259. package/lib/menu/menu.component.d.ts +6 -3
  260. package/lib/number-box/number-box.component.d.ts +2 -2
  261. package/lib/password-box/password-box.component.d.ts +1 -1
  262. package/lib/picker/picker.component.d.ts +1 -1
  263. package/lib/popover/popover.component.d.ts +1 -1
  264. package/lib/popup/popup.component.d.ts +1 -1
  265. package/lib/progress-bar/progress-bar.component.d.ts +1 -1
  266. package/lib/radio/radio.component.d.ts +1 -1
  267. package/lib/range-slider/range-slider.component.d.ts +36 -5
  268. package/lib/range-slider/range-slider.module.d.ts +2 -1
  269. package/lib/rating/rating.component.d.ts +1 -1
  270. package/lib/result/result.component.d.ts +2 -2
  271. package/lib/searchbox/searchbox.component.d.ts +2 -1
  272. package/lib/searchbox/searchbox.module.d.ts +2 -1
  273. package/lib/selectbox/selectbox.component.d.ts +4 -3
  274. package/lib/selection-list/selection-list.component.d.ts +1 -1
  275. package/lib/switch/switch.component.d.ts +1 -1
  276. package/lib/tabs/tab-content.directive.d.ts +1 -1
  277. package/lib/tabs/tab-item.component.d.ts +1 -1
  278. package/lib/tabs/tabs.component.d.ts +1 -1
  279. package/lib/textarea/textarea.component.d.ts +1 -1
  280. package/lib/textbox/textbox.component.d.ts +1 -1
  281. package/lib/time-box/time-box.component.d.ts +1 -1
  282. package/lib/toast/toast.component.d.ts +3 -1
  283. package/lib/toast/toast.service.d.ts +1 -0
  284. package/lib/tooltip/tooltip.component.d.ts +1 -1
  285. package/lib/tooltip/tooltip.directive.d.ts +1 -1
  286. package/lib/treeview/tree-view.component.d.ts +1 -1
  287. package/lib/validation/index.d.ts +1 -0
  288. package/lib/validation/validation-rule.widget.d.ts +1 -9
  289. package/lib/validation/validation-summary.component.d.ts +20 -0
  290. package/lib/validation/validation.class.d.ts +3 -2
  291. package/lib/validation/validation.module.d.ts +6 -2
  292. package/package.json +3 -3
  293. package/public-api.d.ts +2 -0
  294. package/esm2020/lib/alert/alert-button.component.mjs +0 -50
  295. package/lib/alert/alert-button.component.d.ts +0 -13
@@ -6,11 +6,11 @@ import { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, _InteractiveComponenetMixin } f
6
6
  import { VALUE_INPUTS, VALUE_OUTPUT, _ValueComponenetMixin } from '../base/mixin/value-mixin.class';
7
7
  import { AXCalendarBaseComponent, CALENDAR_INPUTS, CALENDAR_OUTPUTS } from './calendar.class';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "../button/button.component";
10
- import * as i2 from "../decorators/prefix.component";
11
- import * as i3 from "../decorators/icon.component";
12
- import * as i4 from "../picker/picker.component";
13
- import * as i5 from "@angular/common";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "../button/button.component";
11
+ import * as i3 from "../decorators/prefix.component";
12
+ import * as i4 from "../decorators/icon.component";
13
+ import * as i5 from "../picker/picker.component";
14
14
  export const AXCalendarComponentMixin = _ClickableComponenetMixin(_InteractiveComponenetMixin(_ValueComponenetMixin(AXCalendarBaseComponent)));
15
15
  export class AXCalendarComponent extends AXCalendarComponentMixin {
16
16
  constructor(elementRef, cdr) {
@@ -278,7 +278,6 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
278
278
  return date.dayOfWeek == 7 || date.dayOfWeek == 1;
279
279
  }
280
280
  _generatePickerItems(view) {
281
- debugger;
282
281
  switch (view) {
283
282
  case 'year':
284
283
  this._pickerYears = _.range(2000, 2050, 1);
@@ -300,7 +299,6 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
300
299
  }
301
300
  }
302
301
  _handlePickerChange(item, view) {
303
- debugger;
304
302
  if (!item)
305
303
  return;
306
304
  const date = this._viewRange.startTime;
@@ -318,15 +316,15 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
318
316
  }
319
317
  }
320
318
  }
321
- AXCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCalendarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
322
- AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXCalendarComponent, selector: "ax-calendar", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", disabled: "disabled", tabIndex: "tabIndex", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", type: "type", holidayDates: "holidayDates", interface: "interface" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div>\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[1]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[0]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-flex\">\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\"\r\n [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)\"\r\n [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\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n\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($event,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($event,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 *ngFor=\"let d of _dayNames\">{{d}}</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($event,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 class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\"\r\n (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n <ax-picker></ax-picker>\r\n <!-- <ax-picker width=\"100%%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerYears\"\r\n (onValueChanged)=\"_handlePickerChange($event,'year')\">\r\n <ng-template let-item>\r\n {{item}}\r\n </ng-template>\r\n </ax-picker>\r\n <ax-picker width=\"100%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerMonths\"\r\n (onValueChanged)=\"_handlePickerChange($event,'month')\">\r\n <ng-template let-item>\r\n {{item.text}}\r\n </ng-template>\r\n </ax-picker>\r\n <ax-picker width=\"100%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerDays\"\r\n (onValueChanged)=\"_handlePickerChange($event,'day')\">\r\n <ng-template let-item>\r\n {{item}}\r\n </ng-template> \r\n </ax-picker>-->\r\n </div>\r\n</ng-template>", components: [{ type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "color", "look", "text", "submitBehavior", "cancelBehavior", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i2.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { type: i4.AXPickerComponent, selector: "ax-picker", inputs: ["readonly", "allowNull", "value", "debounceTime", "name", "checked", "items"], outputs: ["valueChange", "onValueChanged", "OnChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCalendarComponent, decorators: [{
319
+ AXCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCalendarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
320
+ AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: AXCalendarComponent, selector: "ax-calendar", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", disabled: "disabled", tabIndex: "tabIndex", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", type: "type", holidayDates: "holidayDates", interface: "interface" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div>\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[1]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[0]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron \"></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)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron \"></ax-icon>\r\n\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n\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($event,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($event,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 *ngFor=\"let d of _dayNames\">{{d}}</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($event,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 class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\"\r\n (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n <ax-picker></ax-picker>\r\n <!-- <ax-picker width=\"100%%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerYears\"\r\n (onValueChanged)=\"_handlePickerChange($event,'year')\">\r\n <ng-template let-item>\r\n {{item}}\r\n </ng-template>\r\n </ax-picker>\r\n <ax-picker width=\"100%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerMonths\"\r\n (onValueChanged)=\"_handlePickerChange($event,'month')\">\r\n <ng-template let-item>\r\n {{item.text}}\r\n </ng-template>\r\n </ax-picker>\r\n <ax-picker width=\"100%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerDays\"\r\n (onValueChanged)=\"_handlePickerChange($event,'day')\">\r\n <ng-template let-item>\r\n {{item}}\r\n </ng-template> \r\n </ax-picker>-->\r\n </div>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { kind: "component", type: i3.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXPickerComponent, selector: "ax-picker", inputs: ["readonly", "allowNull", "value", "name", "checked", "items"], outputs: ["valueChange", "onValueChanged", "OnChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCalendarComponent, decorators: [{
324
322
  type: Component,
325
- args: [{ selector: 'ax-calendar', changeDetection: ChangeDetectionStrategy.OnPush, inputs: [...VALUE_INPUTS, ...INTERACTIVE_INPUTS, ...CALENDAR_INPUTS], outputs: [...VALUE_OUTPUT, ...INTERACTIVE_OUTPUT, ...CALENDAR_OUTPUTS], encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div>\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[1]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[0]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-flex\">\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\"\r\n [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)\"\r\n [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\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n\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($event,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($event,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 *ngFor=\"let d of _dayNames\">{{d}}</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($event,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 class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\"\r\n (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n <ax-picker></ax-picker>\r\n <!-- <ax-picker width=\"100%%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerYears\"\r\n (onValueChanged)=\"_handlePickerChange($event,'year')\">\r\n <ng-template let-item>\r\n {{item}}\r\n </ng-template>\r\n </ax-picker>\r\n <ax-picker width=\"100%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerMonths\"\r\n (onValueChanged)=\"_handlePickerChange($event,'month')\">\r\n <ng-template let-item>\r\n {{item.text}}\r\n </ng-template>\r\n </ax-picker>\r\n <ax-picker width=\"100%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerDays\"\r\n (onValueChanged)=\"_handlePickerChange($event,'day')\">\r\n <ng-template let-item>\r\n {{item}}\r\n </ng-template> \r\n </ax-picker>-->\r\n </div>\r\n</ng-template>" }]
323
+ args: [{ selector: 'ax-calendar', changeDetection: ChangeDetectionStrategy.OnPush, inputs: [...VALUE_INPUTS, ...INTERACTIVE_INPUTS, ...CALENDAR_INPUTS], outputs: [...VALUE_OUTPUT, ...INTERACTIVE_OUTPUT, ...CALENDAR_OUTPUTS], encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div>\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[1]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[0]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron \"></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)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron \"></ax-icon>\r\n\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n\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($event,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($event,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 *ngFor=\"let d of _dayNames\">{{d}}</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($event,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 class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\"\r\n (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n <ax-picker></ax-picker>\r\n <!-- <ax-picker width=\"100%%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerYears\"\r\n (onValueChanged)=\"_handlePickerChange($event,'year')\">\r\n <ng-template let-item>\r\n {{item}}\r\n </ng-template>\r\n </ax-picker>\r\n <ax-picker width=\"100%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerMonths\"\r\n (onValueChanged)=\"_handlePickerChange($event,'month')\">\r\n <ng-template let-item>\r\n {{item.text}}\r\n </ng-template>\r\n </ax-picker>\r\n <ax-picker width=\"100%\" height=\"300px\" itemHeight=\"48px\" [items]=\"_pickerDays\"\r\n (onValueChanged)=\"_handlePickerChange($event,'day')\">\r\n <ng-template let-item>\r\n {{item}}\r\n </ng-template> \r\n </ax-picker>-->\r\n </div>\r\n</ng-template>" }]
326
324
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { interface: [{
327
325
  type: Input
328
326
  }], __hostClass: [{
329
327
  type: HostBinding,
330
328
  args: ['class']
331
329
  }] } });
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQUc5RixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyx5QkFBeUIsQ0FDL0QsMkJBQTJCLENBQUMscUJBQXFCLENBQU0sdUJBQXVCLENBQUMsQ0FBQyxDQUNqRixDQUFDO0FBV0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHdCQUF3QjtJQW1DL0QsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQ2hFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEbUIsUUFB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QUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEQsTUFBTTtTQUNUO0lBRUgsQ0FBQzs7Z0hBOVdVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG92QkMvQmhDLGs5SUF1RmM7MkZEeERELG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUVOLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGtCQUFrQixFQUFFLEdBQUcsZUFBZSxDQUFDLFdBQzNELENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDLGlCQUN2RCxpQkFBaUIsQ0FBQyxJQUFJO2lJQUtyQyxTQUFTO3NCQURSLEtBQUs7Z0JBNFFNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0ZVRpbWUsIEFYRGF0ZVRpbWVSYW5nZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2NsaWNrYWJsZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVULCBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2ludGVyYWN0aXZlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQsIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWENhbGVuZGFyQmFzZUNvbXBvbmVudCwgQ0FMRU5EQVJfSU5QVVRTLCBDQUxFTkRBUl9PVVRQVVRTIH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiA9IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKF9WYWx1ZUNvbXBvbmVuZXRNaXhpbjxhbnk+KEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSlcclxuKTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGlucHV0czogWy4uLlZBTFVFX0lOUFVUUywgLi4uSU5URVJBQ1RJVkVfSU5QVVRTLCAuLi5DQUxFTkRBUl9JTlBVVFNdLFxyXG4gIG91dHB1dHM6IFsuLi5WQUxVRV9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uQ0FMRU5EQVJfT1VUUFVUU10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGludGVyZmFjZTogJ2NhbGVuZGFyJyB8ICdwaWNrZXInID0gJ2NhbGVuZGFyJztcclxuXHJcbiAgcHJpdmF0ZSBnZXQgX3ZpZXdSYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3ZpZXdTdGFydERhdGUgfHwgdGhpcy5fdG9kYXk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xyXG4gICAgICBjYXNlICd5ZWFycyc6XHJcbiAgICAgICAgbGV0IHkgPSBjdXJyZW50LnN0YXJ0T2YoJ3llYXInKS55ZWFyO1xyXG4gICAgICAgIGxldCBtaW4gPSB5IC0gKHkgJSAxMCkgLSAxO1xyXG4gICAgICAgIGxldCBtYXggPSBtaW4gKyAxMTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7IHllYXI6IG1pbiwgbW9udGg6IDEsIGRhdGU6IDEsIGNhbGVuZGFyOiB0aGlzLl92aWV3U3RhcnREYXRlLmNhbGVuZGFyLm5hbWUoKSB9KSxcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7IHllYXI6IG1heCwgbW9udGg6IDEyLCBkYXRlOiAyOCwgY2FsZW5kYXI6IHRoaXMuX3ZpZXdTdGFydERhdGUuY2FsZW5kYXIubmFtZSgpIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgIGNhc2UgJ21vbnRocyc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCd5ZWFyJyksIGN1cnJlbnQuZW5kT2YoJ3llYXInKS5hZGQoJ2RheScsIC0xKSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCdtb250aCcpLCBjdXJyZW50LmVuZE9mKCdtb250aCcpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gIHByaXZhdGUgX3ZpZXdTdGFydERhdGU6IEFYRGF0ZVRpbWU7XHJcblxyXG4gIF9uYXZUZXh0OiBzdHJpbmcgPSAnJztcclxuICBfdG9kYXlUZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgX3Nsb3RzOiBhbnlbXSA9IFtdO1xyXG4gIF9kYXlOYW1lczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfaXNVc2VySW50ZXJhY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2luaXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLl90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICB0aGlzLl9kYXlOYW1lcyA9IHRoaXMuX3RvZGF5LmNhbGVuZGFyLmRheVNob3J0TmFtZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZWZyZXNoKCkge1xyXG4gICAgdGhpcy5faW5pdFZhbHVlcygpO1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLnZhbHVlIHx8IHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSlcclxuICAgICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZW5lYXJ0ZVNsb3RzKCkge1xyXG4gICAgaWYgKCF0aGlzLl92aWV3U3RhcnREYXRlKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIC8vIGp1c3QgZm9yIHRhaWx3aW5kXHJcbiAgICAvLydheC1jb2wtc3RhcnQtMScsJ2F4LWNvbC1zdGFydC0yJywnYXgtY29sLXN0YXJ0LTMnLCdheC1jb2wtc3RhcnQtNCcsJ2F4LWNvbC1zdGFydC01JywnYXgtY29sLXN0YXJ0LTYnLCdheC1jb2wtc3RhcnQtNydcclxuICAgIC8vIHllYXIgdmlld1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnKSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ3llYXInKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAneWVhcicpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAneWVhcicpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICd5ZWFyJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ3llYXInKSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gci5jc3NDbGFzc1tgYXgtY29sLXN0YXJ0LTJgXSA9IGkgPT0gMDtcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7dnIuc3RhcnRUaW1lLnllYXJ9IC0gJHt2ci5lbmRUaW1lLnllYXJ9YDtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBtb250aCB2aWV3XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnbW9udGgnKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnTU1NJyk7XHJcbiAgICAgICAgci50b29sdGlwID0gZC5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnbW9udGgnKSA9PSAtMSkgfHwgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ21vbnRoJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJyAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICdtb250aCcpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtb3RoZXInOiBkLnllYXIgIT0gdGhpcy5fdmlld1N0YXJ0RGF0ZS55ZWFyXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICAgIHRoaXMuX3RvZGF5VGV4dCA9IHRoaXMuX3RvZGF5LmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBkYXkgdmlld1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ2RheScpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZGF5T2ZNb250aDtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAoKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ2RheScpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnZGF5JykgPT0gMSkpIHx8IHRoaXMuaXNEaXNhYmxlZChkKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5JzogdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCksXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudC1pbmZvJzogZC5kYXlPZk1vbnRoID09IDEyLFxyXG4gICAgICAgICAgICAvLyAnYXgtc3RhdGUtZXZlbnQnOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtJHt2ci5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwXHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfaGFuZGxlUHJldkNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5wcmV2KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU5leHRDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdCkge1xyXG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ2RheXMnO1xyXG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSlcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmICh0aGlzLmRlcHRoID09ICdkYXlzJyB8fCB0aGlzLmRlcHRoID09ICdtb250aHMnKSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5vblNsb3RDbGljay5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpdGVtOiBzbG90LmRhdGUsXHJcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxyXG4gICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIF9oYW5kbGVOYXZDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJylcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ3llYXJzJztcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKSB7XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ2RlcHRoJyB8fCBvcHRpb24ubmFtZSA9PSAnYWN0aXZlVmlldycgfHwgb3B0aW9uLm5hbWUgPT0gJ2Rpc2FibGVkRGF0ZXMnIHx8IG9wdGlvbi5uYW1lID09ICdob2xpZGF5RGF0ZXMnKSB7XHJcbiAgICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb24ubmFtZSA9PSAndHlwZScpIHtcclxuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IG5ldyBBWERhdGVUaW1lKG5ld1ZhbHVlLCB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG5cclxuICB9XHJcblxyXG4gIF9oYW5kbGVHb1RvZGF5KCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5fc2V0RGF0ZSh0aGlzLl90b2RheS5kYXRlKVxyXG4gICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KGZhbHNlKVxyXG4gIH1cclxuXHJcbiAgcHJldigpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpXHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoczogc3RyaW5nKSA9PiAodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSBhcyBIVE1MRGl2RWxlbWVudCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4ocyk7XHJcbiAgICBjb25zdCBkaXYgPSBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2LmF4LXN0YXRlLXNlbGVjdGVkJykgfHwgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdicpO1xyXG4gICAgZGl2Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbmF2TmV4dFByZXYocHJldjogYm9vbGVhbikge1xyXG4gICAgY29uc3Qgc2lnbiA9IChwcmV2ID8gLTEgOiAxKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCdtb250aCcsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEwKSk7XHJcbiAgfVxyXG5cclxuICBnb1RvZGF5KCkge1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLl90b2RheSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmF2VG8oZGF0ZTogRGF0ZSB8IEFYRGF0ZVRpbWUpIHtcclxuICAgIHRoaXMuX3ZpZXdTdGFydERhdGUgPSBBWERhdGVUaW1lLmNvbnZlcnQoZGF0ZSwgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpKS5zdGFydE9mKCk7XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdGhpcy5faXNVc2VySW50ZXJhY3Rpb24sXHJcbiAgICAgIHN0YXJ0OiB2ci5zdGFydFRpbWU/LmRhdGUsXHJcbiAgICAgIGVuZDogdnIuZW5kVGltZT8uZGF0ZSxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pXHJcbiAgICBpZiAodGhpcy5pbnRlcmZhY2UgPT0gJ2NhbGVuZGFyJylcclxuICAgICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ3llYXInKTtcclxuICAgICAgdGhpcy5fZ2VuZXJhdGVQaWNrZXJJdGVtcygnbW9udGgnKTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzKClcclxuICAgIH0sIDUwKTtcclxuICB9XHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XHJcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWRcclxuICAgIH1cclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhfY2xhc3NlcykuZmlsdGVyKGMgPT4gY1sxXSkubWFwKGMgPT4gY1swXSkuam9pbignICcpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX3NldERhdGUodmFsdWU6IERhdGUpIHtcclxuICAgIHRoaXMudmFsdWUgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUsIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKSkuc3RhcnRPZigpLmRhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGlzYWJsZWQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kaXNhYmxlZERhdGVzKSAmJiB0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcy5zb21lKGQgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoZGF0ZS5kYXRlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNIb2xpZGF5KGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaG9saWRheURhdGVzKSAmJiB0aGlzLmhvbGlkYXlEYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ob2xpZGF5RGF0ZXMuc29tZShkID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvbGlkYXlEYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1dlZWtlbmQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGRhdGUuZGF5T2ZXZWVrID09IDcgfHwgZGF0ZS5kYXlPZldlZWsgPT0gMTtcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIF9waWNrZXJEYXlzOiBudW1iZXJbXSA9IFtdO1xyXG4gIF9waWNrZXJNb250aHM6IHsgdGV4dDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH1bXSA9IFtdO1xyXG4gIF9waWNrZXJZZWFyczogbnVtYmVyW10gPSBbXTtcclxuXHJcblxyXG4gIHByaXZhdGUgX2dlbmVyYXRlUGlja2VySXRlbXModmlldykge1xyXG4gICAgZGVidWdnZXJcclxuICAgIHN3aXRjaCAodmlldykge1xyXG4gICAgICBjYXNlICd5ZWFyJzpcclxuICAgICAgICB0aGlzLl9waWNrZXJZZWFycyA9IF8ucmFuZ2UoMjAwMCwgMjA1MCwgMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICB0aGlzLl9waWNrZXJNb250aHMgPSBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZS5zdGFydE9mKCd5ZWFyJyksXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLmVuZE9mKCd5ZWFyJylcclxuICAgICAgICApXHJcbiAgICAgICAgICAuZW51bXVyYXRlKCdtb250aCcpXHJcbiAgICAgICAgICAubWFwKGMgPT4gKHtcclxuICAgICAgICAgICAgdGV4dDogYy5mb3JtYXQoJ01NTScpLFxyXG4gICAgICAgICAgICB2YWx1ZTogYy5tb250aE9mWWVhclxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3BpY2tlckRheXMgPSBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZS5zdGFydE9mKCdtb250aCcpLFxyXG4gICAgICAgICAgdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZS5lbmRPZignbW9udGgnKVxyXG4gICAgICAgIClcclxuICAgICAgICAgIC5lbnVtdXJhdGUoJ2RheScpXHJcbiAgICAgICAgICAubWFwKGMgPT4gYy5kYXlPZk1vbnRoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIF9oYW5kbGVQaWNrZXJDaGFuZ2UoaXRlbTogYW55LCB2aWV3KSB7XHJcbiAgICBkZWJ1Z2dlclxyXG4gICAgaWYgKCFpdGVtKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBkYXRlID0gdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZTtcclxuICAgIHN3aXRjaCAodmlldykge1xyXG4gICAgICBjYXNlICd5ZWFyJzpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCd5ZWFyJywgaXRlbS52YWx1ZSkuZGF0ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCdtb250aCcsIGl0ZW0udmFsdWUudmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ2RheScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3NldERhdGUoZGF0ZS5zZXQoJ2RheScsIGl0ZW0udmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnRlcmZhY2UgPT09ICdjYWxlbmRhcic7IGVsc2UgcGlja2VyVGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlVmlldz09J2RheXMnOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5hdi1idXR0b25cIiBbdGV4dF09XCJfbmF2VGV4dC5zcGxpdCgnICcpWzFdXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5hdi1idXR0b25cIiBbdGV4dF09XCJfbmF2VGV4dC5zcGxpdCgnICcpWzBdXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmF2LWJ1dHRvblwiIFt0ZXh0XT1cIl9uYXZUZXh0XCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1wcmV2LWJ1dHRvblwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jaGV2cm9uIGF4LXRyYW5zZm9ybSBheC0tcm90YXRlLTkwXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmV4dC1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtcm90YXRlLTkwXCI+PC9heC1pY29uPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwiYWN0aXZlVmlld1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIneWVhcnMnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMteWVhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGFiaW5kZXg9XCIwXCIgKm5nRm9yPVwibGV0IHNsb3Qgb2YgX3Nsb3RzXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRocydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1tb250aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdGFiaW5kZXg9XCIwXCIgKm5nRm9yPVwibGV0IHNsb3Qgb2YgX3Nsb3RzXCIgW3RpdGxlXT1cInNsb3QudG9vbHRpcFwiIFtuZ0NsYXNzXT1cInNsb3QuY3NzQ2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsc2xvdClcIj57e3Nsb3QudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci13ZWVrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZCBvZiBfZGF5TmFtZXNcIj57e2R9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtZGF5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1mb290ZXJcIj5cclxuICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiZGFyazpheC10ZXh0LWRhbmdlclwiIFt0ZXh0XT1cIl90b2RheVRleHRcIiBjb2xvcj1cImRhcmtcIiBsb29rPVwiYmxhbmtcIiBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlR29Ub2RheSgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+PC9heC1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjcGlja2VyVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItcGlja2VyXCI+XHJcbiAgICAgICAgPGF4LXBpY2tlcj48L2F4LXBpY2tlcj5cclxuICAgICAgICA8IS0tIDxheC1waWNrZXIgd2lkdGg9XCIxMDAlJVwiIGhlaWdodD1cIjMwMHB4XCIgaXRlbUhlaWdodD1cIjQ4cHhcIiBbaXRlbXNdPVwiX3BpY2tlclllYXJzXCJcclxuICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVQaWNrZXJDaGFuZ2UoJGV2ZW50LCd5ZWFyJylcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPlxyXG4gICAgICAgICAgICAgICAge3tpdGVtfX1cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2F4LXBpY2tlcj5cclxuICAgICAgICA8YXgtcGlja2VyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjMwMHB4XCIgaXRlbUhlaWdodD1cIjQ4cHhcIiBbaXRlbXNdPVwiX3BpY2tlck1vbnRoc1wiXHJcbiAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUGlja2VyQ2hhbmdlKCRldmVudCwnbW9udGgnKVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICB7e2l0ZW0udGV4dH19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9heC1waWNrZXI+XHJcbiAgICAgICAgPGF4LXBpY2tlciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIzMDBweFwiIGl0ZW1IZWlnaHQ9XCI0OHB4XCIgW2l0ZW1zXT1cIl9waWNrZXJEYXlzXCJcclxuICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVQaWNrZXJDaGFuZ2UoJGV2ZW50LCdkYXknKVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICB7e2l0ZW19fVxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPiBcclxuICAgICAgICA8L2F4LXBpY2tlcj4tLT5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQUc5RixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyx5QkFBeUIsQ0FDL0QsMkJBQTJCLENBQUMscUJBQXFCLENBQU0sdUJBQXVCLENBQUMsQ0FBQyxDQUNqRixDQUFDO0FBV0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHdCQUF3QjtJQW1DL0QsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQ2hFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEbUIsUUFB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QUMsQ0FBQztnQkFDaEQsTUFBTTtTQUNUO0lBRUgsQ0FBQzs7Z0hBNVdVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHN0QkMvQmhDLGs3SUF1RmM7MkZEeERELG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUVOLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGtCQUFrQixFQUFFLEdBQUcsZUFBZSxDQUFDLFdBQzNELENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDLGlCQUN2RCxpQkFBaUIsQ0FBQyxJQUFJO2lJQUtyQyxTQUFTO3NCQURSLEtBQUs7Z0JBNFFNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0ZVRpbWUsIEFYRGF0ZVRpbWVSYW5nZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2NsaWNrYWJsZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVULCBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2ludGVyYWN0aXZlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQsIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWENhbGVuZGFyQmFzZUNvbXBvbmVudCwgQ0FMRU5EQVJfSU5QVVRTLCBDQUxFTkRBUl9PVVRQVVRTIH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiA9IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKF9WYWx1ZUNvbXBvbmVuZXRNaXhpbjxhbnk+KEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSlcclxuKTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGlucHV0czogWy4uLlZBTFVFX0lOUFVUUywgLi4uSU5URVJBQ1RJVkVfSU5QVVRTLCAuLi5DQUxFTkRBUl9JTlBVVFNdLFxyXG4gIG91dHB1dHM6IFsuLi5WQUxVRV9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uQ0FMRU5EQVJfT1VUUFVUU10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGludGVyZmFjZTogJ2NhbGVuZGFyJyB8ICdwaWNrZXInID0gJ2NhbGVuZGFyJztcclxuXHJcbiAgcHJpdmF0ZSBnZXQgX3ZpZXdSYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3ZpZXdTdGFydERhdGUgfHwgdGhpcy5fdG9kYXk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xyXG4gICAgICBjYXNlICd5ZWFycyc6XHJcbiAgICAgICAgbGV0IHkgPSBjdXJyZW50LnN0YXJ0T2YoJ3llYXInKS55ZWFyO1xyXG4gICAgICAgIGxldCBtaW4gPSB5IC0gKHkgJSAxMCkgLSAxO1xyXG4gICAgICAgIGxldCBtYXggPSBtaW4gKyAxMTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7IHllYXI6IG1pbiwgbW9udGg6IDEsIGRhdGU6IDEsIGNhbGVuZGFyOiB0aGlzLl92aWV3U3RhcnREYXRlLmNhbGVuZGFyLm5hbWUoKSB9KSxcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7IHllYXI6IG1heCwgbW9udGg6IDEyLCBkYXRlOiAyOCwgY2FsZW5kYXI6IHRoaXMuX3ZpZXdTdGFydERhdGUuY2FsZW5kYXIubmFtZSgpIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgIGNhc2UgJ21vbnRocyc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCd5ZWFyJyksIGN1cnJlbnQuZW5kT2YoJ3llYXInKS5hZGQoJ2RheScsIC0xKSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoY3VycmVudC5zdGFydE9mKCdtb250aCcpLCBjdXJyZW50LmVuZE9mKCdtb250aCcpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gIHByaXZhdGUgX3ZpZXdTdGFydERhdGU6IEFYRGF0ZVRpbWU7XHJcblxyXG4gIF9uYXZUZXh0OiBzdHJpbmcgPSAnJztcclxuICBfdG9kYXlUZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgX3Nsb3RzOiBhbnlbXSA9IFtdO1xyXG4gIF9kYXlOYW1lczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfaXNVc2VySW50ZXJhY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2luaXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLl90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICB0aGlzLl9kYXlOYW1lcyA9IHRoaXMuX3RvZGF5LmNhbGVuZGFyLmRheVNob3J0TmFtZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZWZyZXNoKCkge1xyXG4gICAgdGhpcy5faW5pdFZhbHVlcygpO1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLnZhbHVlIHx8IHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSlcclxuICAgICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZW5lYXJ0ZVNsb3RzKCkge1xyXG4gICAgaWYgKCF0aGlzLl92aWV3U3RhcnREYXRlKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIC8vIGp1c3QgZm9yIHRhaWx3aW5kXHJcbiAgICAvLydheC1jb2wtc3RhcnQtMScsJ2F4LWNvbC1zdGFydC0yJywnYXgtY29sLXN0YXJ0LTMnLCdheC1jb2wtc3RhcnQtNCcsJ2F4LWNvbC1zdGFydC01JywnYXgtY29sLXN0YXJ0LTYnLCdheC1jb2wtc3RhcnQtNydcclxuICAgIC8vIHllYXIgdmlld1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnKSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ3llYXInKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAneWVhcicpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAneWVhcicpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICd5ZWFyJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ3llYXInKSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gci5jc3NDbGFzc1tgYXgtY29sLXN0YXJ0LTJgXSA9IGkgPT0gMDtcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7dnIuc3RhcnRUaW1lLnllYXJ9IC0gJHt2ci5lbmRUaW1lLnllYXJ9YDtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBtb250aCB2aWV3XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnbW9udGgnKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnTU1NJyk7XHJcbiAgICAgICAgci50b29sdGlwID0gZC5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnbW9udGgnKSA9PSAtMSkgfHwgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ21vbnRoJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJyAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICdtb250aCcpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtb3RoZXInOiBkLnllYXIgIT0gdGhpcy5fdmlld1N0YXJ0RGF0ZS55ZWFyXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICAgIHRoaXMuX3RvZGF5VGV4dCA9IHRoaXMuX3RvZGF5LmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBkYXkgdmlld1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ2RheScpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZGF5T2ZNb250aDtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPSAoKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ2RheScpID09IC0xKSB8fCAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnZGF5JykgPT0gMSkpIHx8IHRoaXMuaXNEaXNhYmxlZChkKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5JzogdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCksXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudC1pbmZvJzogZC5kYXlPZk1vbnRoID09IDEyLFxyXG4gICAgICAgICAgICAvLyAnYXgtc3RhdGUtZXZlbnQnOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtJHt2ci5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwXHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBfaGFuZGxlUHJldkNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5wcmV2KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU5leHRDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdCkge1xyXG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ2RheXMnO1xyXG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSlcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmICh0aGlzLmRlcHRoID09ICdkYXlzJyB8fCB0aGlzLmRlcHRoID09ICdtb250aHMnKSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5vblNsb3RDbGljay5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpdGVtOiBzbG90LmRhdGUsXHJcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxyXG4gICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIF9oYW5kbGVOYXZDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJylcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ3llYXJzJztcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKSB7XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ2RlcHRoJyB8fCBvcHRpb24ubmFtZSA9PSAnYWN0aXZlVmlldycgfHwgb3B0aW9uLm5hbWUgPT0gJ2Rpc2FibGVkRGF0ZXMnIHx8IG9wdGlvbi5uYW1lID09ICdob2xpZGF5RGF0ZXMnKSB7XHJcbiAgICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb24ubmFtZSA9PSAndHlwZScpIHtcclxuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IG5ldyBBWERhdGVUaW1lKG5ld1ZhbHVlLCB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG5cclxuICB9XHJcblxyXG4gIF9oYW5kbGVHb1RvZGF5KCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5fc2V0RGF0ZSh0aGlzLl90b2RheS5kYXRlKVxyXG4gICAgdGhpcy5nb1RvZGF5KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KGZhbHNlKVxyXG4gIH1cclxuXHJcbiAgcHJldigpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpXHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoczogc3RyaW5nKSA9PiAodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSBhcyBIVE1MRGl2RWxlbWVudCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4ocyk7XHJcbiAgICBjb25zdCBkaXYgPSBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2LmF4LXN0YXRlLXNlbGVjdGVkJykgfHwgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdicpO1xyXG4gICAgZGl2Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbmF2TmV4dFByZXYocHJldjogYm9vbGVhbikge1xyXG4gICAgY29uc3Qgc2lnbiA9IChwcmV2ID8gLTEgOiAxKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCdtb250aCcsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEwKSk7XHJcbiAgfVxyXG5cclxuICBnb1RvZGF5KCkge1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLl90b2RheSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmF2VG8oZGF0ZTogRGF0ZSB8IEFYRGF0ZVRpbWUpIHtcclxuICAgIHRoaXMuX3ZpZXdTdGFydERhdGUgPSBBWERhdGVUaW1lLmNvbnZlcnQoZGF0ZSwgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpKS5zdGFydE9mKCk7XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdGhpcy5faXNVc2VySW50ZXJhY3Rpb24sXHJcbiAgICAgIHN0YXJ0OiB2ci5zdGFydFRpbWU/LmRhdGUsXHJcbiAgICAgIGVuZDogdnIuZW5kVGltZT8uZGF0ZSxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pXHJcbiAgICBpZiAodGhpcy5pbnRlcmZhY2UgPT0gJ2NhbGVuZGFyJylcclxuICAgICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ3llYXInKTtcclxuICAgICAgdGhpcy5fZ2VuZXJhdGVQaWNrZXJJdGVtcygnbW9udGgnKTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzKClcclxuICAgIH0sIDUwKTtcclxuICB9XHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XHJcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWRcclxuICAgIH1cclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhfY2xhc3NlcykuZmlsdGVyKGMgPT4gY1sxXSkubWFwKGMgPT4gY1swXSkuam9pbignICcpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX3NldERhdGUodmFsdWU6IERhdGUpIHtcclxuICAgIHRoaXMudmFsdWUgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUsIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKSkuc3RhcnRPZigpLmRhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGlzYWJsZWQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kaXNhYmxlZERhdGVzKSAmJiB0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcy5zb21lKGQgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoZGF0ZS5kYXRlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNIb2xpZGF5KGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaG9saWRheURhdGVzKSAmJiB0aGlzLmhvbGlkYXlEYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ob2xpZGF5RGF0ZXMuc29tZShkID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvbGlkYXlEYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1dlZWtlbmQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGRhdGUuZGF5T2ZXZWVrID09IDcgfHwgZGF0ZS5kYXlPZldlZWsgPT0gMTtcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIF9waWNrZXJEYXlzOiBudW1iZXJbXSA9IFtdO1xyXG4gIF9waWNrZXJNb250aHM6IHsgdGV4dDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH1bXSA9IFtdO1xyXG4gIF9waWNrZXJZZWFyczogbnVtYmVyW10gPSBbXTtcclxuXHJcblxyXG4gIHByaXZhdGUgX2dlbmVyYXRlUGlja2VySXRlbXModmlldykge1xyXG4gICAgc3dpdGNoICh2aWV3KSB7XHJcbiAgICAgIGNhc2UgJ3llYXInOlxyXG4gICAgICAgIHRoaXMuX3BpY2tlclllYXJzID0gXy5yYW5nZSgyMDAwLCAyMDUwLCAxKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW9udGgnOlxyXG4gICAgICAgIHRoaXMuX3BpY2tlck1vbnRocyA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLnN0YXJ0T2YoJ3llYXInKSxcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuZW5kT2YoJ3llYXInKVxyXG4gICAgICAgIClcclxuICAgICAgICAgIC5lbnVtdXJhdGUoJ21vbnRoJylcclxuICAgICAgICAgIC5tYXAoYyA9PiAoe1xyXG4gICAgICAgICAgICB0ZXh0OiBjLmZvcm1hdCgnTU1NJyksXHJcbiAgICAgICAgICAgIHZhbHVlOiBjLm1vbnRoT2ZZZWFyXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fcGlja2VyRGF5cyA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLnN0YXJ0T2YoJ21vbnRoJyksXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLmVuZE9mKCdtb250aCcpXHJcbiAgICAgICAgKVxyXG4gICAgICAgICAgLmVudW11cmF0ZSgnZGF5JylcclxuICAgICAgICAgIC5tYXAoYyA9PiBjLmRheU9mTW9udGgpO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgX2hhbmRsZVBpY2tlckNoYW5nZShpdGVtOiBhbnksIHZpZXcpIHtcclxuICAgIGlmICghaXRlbSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWU7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgneWVhcicsIGl0ZW0udmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgnbW9udGgnLCBpdGVtLnZhbHVlLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICB0aGlzLl9nZW5lcmF0ZVBpY2tlckl0ZW1zKCdkYXknKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCdkYXknLCBpdGVtLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaW50ZXJmYWNlID09PSAnY2FsZW5kYXInOyBlbHNlIHBpY2tlclRlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZVZpZXc9PSdkYXlzJzsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1uYXYtYnV0dG9uXCIgW3RleHRdPVwiX25hdlRleHQuc3BsaXQoJyAnKVsxXVwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1uYXYtYnV0dG9uXCIgW3RleHRdPVwiX25hdlRleHQuc3BsaXQoJyAnKVswXVwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LW5hdi1idXR0b25cIiBbdGV4dF09XCJfbmF2VGV4dFwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LXByZXYtYnV0dG9uXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVQcmV2Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XHJcbiAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmV4dC1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBcIj48L2F4LWljb24+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJhY3RpdmVWaWV3XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFycydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy15ZWFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGhzJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLW1vbnRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkIG9mIF9kYXlOYW1lc1wiPnt7ZH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1kYXlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWZvb3RlclwiPlxyXG4gICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJkYXJrOmF4LXRleHQtZGFuZ2VyXCIgW3RleHRdPVwiX3RvZGF5VGV4dFwiIGNvbG9yPVwiZGFya1wiIGxvb2s9XCJibGFua1wiIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVHb1RvZGF5KClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj48L2F4LWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNwaWNrZXJUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1waWNrZXJcIj5cclxuICAgICAgICA8YXgtcGlja2VyPjwvYXgtcGlja2VyPlxyXG4gICAgICAgIDwhLS0gPGF4LXBpY2tlciB3aWR0aD1cIjEwMCUlXCIgaGVpZ2h0PVwiMzAwcHhcIiBpdGVtSGVpZ2h0PVwiNDhweFwiIFtpdGVtc109XCJfcGlja2VyWWVhcnNcIlxyXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVBpY2tlckNoYW5nZSgkZXZlbnQsJ3llYXInKVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICB7e2l0ZW19fVxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvYXgtcGlja2VyPlxyXG4gICAgICAgIDxheC1waWNrZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMzAwcHhcIiBpdGVtSGVpZ2h0PVwiNDhweFwiIFtpdGVtc109XCJfcGlja2VyTW9udGhzXCJcclxuICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVQaWNrZXJDaGFuZ2UoJGV2ZW50LCdtb250aCcpXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT5cclxuICAgICAgICAgICAgICAgIHt7aXRlbS50ZXh0fX1cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2F4LXBpY2tlcj5cclxuICAgICAgICA8YXgtcGlja2VyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjMwMHB4XCIgaXRlbUhlaWdodD1cIjQ4cHhcIiBbaXRlbXNdPVwiX3BpY2tlckRheXNcIlxyXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVBpY2tlckNoYW5nZSgkZXZlbnQsJ2RheScpXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT5cclxuICAgICAgICAgICAgICAgIHt7aXRlbX19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+IFxyXG4gICAgICAgIDwvYXgtcGlja2VyPi0tPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -10,10 +10,10 @@ const COMPONENT = [AXCalendarComponent];
10
10
  const MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXDateTimeModule, AXPickerModule];
11
11
  export class AXCalendarModule {
12
12
  }
13
- AXCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- AXCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCalendarModule, declarations: [AXCalendarComponent], imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDateTimeModule, AXPickerModule], exports: [AXCalendarComponent] });
15
- AXCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCalendarModule, providers: [], imports: [[...MODULES]] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCalendarModule, decorators: [{
13
+ AXCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ AXCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: AXCalendarModule, declarations: [AXCalendarComponent], imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDateTimeModule, AXPickerModule], exports: [AXCalendarComponent] });
15
+ AXCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCalendarModule, providers: [], imports: [MODULES] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCalendarModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  declarations: [...COMPONENT],
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
22
22
  providers: [],
23
23
  }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRTNDLE1BQU0sU0FBUyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUN4QyxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFRcEcsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVRWLG1CQUFtQixhQUNyQixZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsYUFEL0UsbUJBQW1COzhHQVN6QixnQkFBZ0IsYUFGZCxFQUFFLFlBRkosQ0FBQyxHQUFHLE9BQU8sQ0FBQzsyRkFJWixnQkFBZ0I7a0JBTjVCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24nO1xyXG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhQaWNrZXJNb2R1bGUgfSBmcm9tICcuLi9waWNrZXInO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UID0gW0FYQ2FsZW5kYXJDb21wb25lbnRdO1xyXG5jb25zdCBNT0RVTEVTID0gW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWERhdGVUaW1lTW9kdWxlLCBBWFBpY2tlck1vZHVsZV07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcclxuICAgIGltcG9ydHM6IFsuLi5NT0RVTEVTXSxcclxuICAgIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJNb2R1bGUgeyB9XHJcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRTNDLE1BQU0sU0FBUyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUN4QyxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFRcEcsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVRWLG1CQUFtQixhQUNyQixZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsYUFEL0UsbUJBQW1COzhHQVN6QixnQkFBZ0IsYUFGZCxFQUFFLFlBRkEsT0FBTzsyRkFJWCxnQkFBZ0I7a0JBTjVCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24nO1xyXG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhQaWNrZXJNb2R1bGUgfSBmcm9tICcuLi9waWNrZXInO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UID0gW0FYQ2FsZW5kYXJDb21wb25lbnRdO1xyXG5jb25zdCBNT0RVTEVTID0gW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWERhdGVUaW1lTW9kdWxlLCBBWFBpY2tlck1vZHVsZV07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcclxuICAgIGltcG9ydHM6IFsuLi5NT0RVTEVTXSxcclxuICAgIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -19,16 +19,16 @@ export class AXCarouselArrowsComponent extends AXBaseComponentMixin {
19
19
  this.parent.next();
20
20
  }
21
21
  }
22
- AXCarouselArrowsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselArrowsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXCarouselComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
23
- AXCarouselArrowsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXCarouselArrowsComponent, selector: "ax-carousel-arrows", inputs: { class: "class" }, outputs: { onNextClick: "onNextClick", onPrevClick: "onPrevClick" }, host: { classAttribute: "ax-carousel-arrows" }, usesInheritance: true, ngImport: i0, template: `
22
+ AXCarouselArrowsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselArrowsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXCarouselComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
23
+ AXCarouselArrowsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: AXCarouselArrowsComponent, selector: "ax-carousel-arrows", inputs: { class: "class" }, outputs: { onNextClick: "onNextClick", onPrevClick: "onPrevClick" }, host: { classAttribute: "ax-carousel-arrows" }, usesInheritance: true, ngImport: i0, template: `
24
24
  <button class="ax-carousel-arrow-prev" [ngClass]="{'ax-vertical-arrow ax-top-arrow': this.parent.vertical}" (click)="_handlePrevClick($event)">
25
25
  <i class="ax-ic ax-ic-chevron ax-block rtl:ax-rotate-180 {{class}}"></i>
26
26
  </button>
27
27
  <button class="ax-carousel-arrow-next" [ngClass]="{'ax-vertical-arrow ax-bottom-arrow': this.parent.vertical}" (click)="_handleNextClick($event)">
28
28
  <i class="ax-ic ax-ic-chevron ax-block ax-rotate-180 rtl:ax-rotate-0 {{class}}"></i>
29
29
  </button>
30
- `, isInline: true, directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselArrowsComponent, decorators: [{
30
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselArrowsComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{
34
34
  selector: 'ax-carousel-arrows',
@@ -6,9 +6,9 @@ export class AXCarouselItemComponent extends AXBaseComponentMixin {
6
6
  super(elementRef, cdr);
7
7
  }
8
8
  }
9
- AXCarouselItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10
- AXCarouselItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXCarouselItemComponent, selector: "ax-carousel-item", host: { classAttribute: "ax-carousel-item" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselItemComponent, decorators: [{
9
+ AXCarouselItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10
+ AXCarouselItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: AXCarouselItemComponent, selector: "ax-carousel-item", host: { classAttribute: "ax-carousel-item" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselItemComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{
14
14
  selector: 'ax-carousel-item',
@@ -53,12 +53,12 @@ export class AXCarouselPagerComponent extends AXBaseComponentMixin {
53
53
  });
54
54
  }
55
55
  }
56
- AXCarouselPagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselPagerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXCarouselComponent }], target: i0.ɵɵFactoryTarget.Component });
57
- AXCarouselPagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXCarouselPagerComponent, selector: "ax-carousel-pager", host: { classAttribute: "ax-carousel-pager" }, usesInheritance: true, ngImport: i0, template: `
56
+ AXCarouselPagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselPagerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXCarouselComponent }], target: i0.ɵɵFactoryTarget.Component });
57
+ AXCarouselPagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: AXCarouselPagerComponent, selector: "ax-carousel-pager", host: { classAttribute: "ax-carousel-pager" }, usesInheritance: true, ngImport: i0, template: `
58
58
  <button *ngFor="let d of _dots;let i=index" [class.ax-state-active]="i==_pageIndex" (click)="_handleClick($event,i)">
59
59
  </button>
60
- `, isInline: true, directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselPagerComponent, decorators: [{
60
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselPagerComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{
64
64
  selector: 'ax-carousel-pager',
@@ -2,9 +2,9 @@ import { Injectable } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class AXCarouselCore {
4
4
  }
5
- AXCarouselCore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselCore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
- AXCarouselCore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselCore });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselCore, decorators: [{
5
+ AXCarouselCore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselCore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ AXCarouselCore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselCore });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselCore, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6RCxNQUFNLE9BQWdCLGNBQWM7OzJHQUFkLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gXCIuLi9iYXNlXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhDYXJvdXNlbENvcmUge1xyXG4gICAgYWJzdHJhY3QgbmV4dCgpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgbGFzdCgpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgcHJldigpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgZmlyc3QoKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGRlc3Ryb3koKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGdvVG9TbGlkZShpbmRleDogbnVtYmVyKTogdm9pZDtcclxuICAgIGFic3RyYWN0IGdvVG9QYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgbW91bnQoaW5zdGFuY2U6IEFYQ2Fyb3VzZWwpOiB2b2lkO1xyXG4gICAgYWJzdHJhY3QgcmVidWlsZCgpOiB2b2lkO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDYXJvdXNlbCB7XHJcblxyXG4gICAgb25TbGlkZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+O1xyXG4gICAgb25PcHRpb25zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+O1xyXG5cclxuICAgIC8vXHJcbiAgICBnYXA6IG51bWJlcjtcclxuICAgIC8vXHJcbiAgICBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj47XHJcbiAgICBmb2N1czogbnVtYmVyO1xyXG4gICAgLy9cclxuICAgIGRyYWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG4gICAgZHJhZzogYW55O1xyXG4gICAgLy9cclxuICAgIHdoZWVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcbiAgICB3aGVlbDogYm9vbGVhbjtcclxuICAgIC8vXHJcbiAgICB3aWR0aENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG4gICAgLy9cclxuICAgIGZpeGVkV2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG4gICAgZml4ZWRXaWR0aDogc3RyaW5nO1xyXG4gICAgLy9cclxuICAgIGhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcbiAgICBoZWlnaHQ6IHN0cmluZztcclxuICAgIC8vXHJcbiAgICBmaXhlZEhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcbiAgICBmaXhlZEhlaWdodDogc3RyaW5nO1xyXG4gICAgLy9cclxuICAgIHBlclBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+O1xyXG4gICAgcGVyUGFnZTogbnVtYmVyO1xyXG4gICAgLy9cclxuICAgIHBlck1vdmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+O1xyXG4gICAgcGVyTW92ZTogbnVtYmVyO1xyXG4gICAgLy9cclxuICAgIGhlaWdodFJhdGlvQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcclxuICAgIGhlaWdodFJhdGlvOiBudW1iZXI7XHJcbiAgICAvL1xyXG4gICAgYXV0b3BsYXlDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuICAgIGF1dG9wbGF5OiBib29sZWFuO1xyXG4gICAgLy9cclxuICAgIGludGVydmFsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPlxyXG4gICAgaW50ZXJ2YWw6IG51bWJlcjtcclxuICAgIC8vXHJcbiAgICBjZW50ZXJlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+XHJcbiAgICBjZW50ZXJlZDogYm9vbGVhbjtcclxuICAgIC8vXHJcbiAgICB2ZXJ0aWNhbENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+XHJcbiAgICB2ZXJ0aWNhbDogYm9vbGVhbjtcclxuICAgIC8vXHJcbiAgICBwYWRkaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVtYmVyPlxyXG4gICAgcGFkZGluZzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgLy9cclxuICAgIGxvb3BDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPlxyXG4gICAgbG9vcDogYm9vbGVhbjtcclxuICAgIC8vXHJcbiAgICBzbmFwQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj5cclxuICAgIHNuYXA6IGJvb2xlYW47XHJcbiAgICAvL1xyXG4gICAgcmV3aW5kQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj5cclxuICAgIHJld2luZDogYm9vbGVhbjtcclxuICAgIC8vXHJcbiAgICBhdXRvV2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPlxyXG4gICAgYXV0b1dpZHRoOiBib29sZWFuO1xyXG4gICAgLy9cclxuICAgIGJyZWFrcG9pbnRzOiBhbnk7XHJcbiAgICAvL1xyXG4gICAgdmlzaWJsZUluZGV4OiBudW1iZXI7XHJcbiAgICAvL1xyXG4gICAgb25JdGVtc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PEhUTUxEaXZFbGVtZW50W10+PlxyXG4gICAgaXRlbXM6IEhUTUxEaXZFbGVtZW50W107XHJcblxyXG4gICAgcnRsOiBib29sZWFuO1xyXG5cclxuICAgIG5leHQoKTogdm9pZDtcclxuICAgIGxhc3QoKTogdm9pZDtcclxuICAgIHByZXYoKTogdm9pZDtcclxuICAgIGZpcnN0KCk6IHZvaWQ7XHJcbiAgICBnb1RvU2xpZGUoaW5kZXg6IG51bWJlcik6IHZvaWQ7XHJcbiAgICBnb1RvUGFnZShpbmRleDogbnVtYmVyKTogdm9pZDtcclxuXHJcbiAgICBob3N0OiBIVE1MRGl2RWxlbWVudDtcclxufVxyXG5cclxuIl19
@@ -335,12 +335,12 @@ export class AXCarouselComponent extends AXBaseComponentMixin {
335
335
  this.core.destroy();
336
336
  }
337
337
  }
338
- AXCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.AXCarouselCore }], target: i0.ɵɵFactoryTarget.Component });
339
- AXCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXCarouselComponent, selector: "ax-carousel", inputs: { perMove: "perMove", focus: "focus", breakpoints: "breakpoints", heightRatio: "heightRatio", height: "height", fixedHeight: "fixedHeight", width: "width", fixedWidth: "fixedWidth", perPage: "perPage", gap: "gap", autoplay: "autoplay", snap: "snap", autoWidth: "autoWidth", drag: "drag", wheel: "wheel", interval: "interval", padding: "padding", centered: "centered", vertical: "vertical", loop: "loop", rewind: "rewind" }, outputs: { onOptionsChanged: "onOptionsChanged", onSlideChanged: "onSlideChanged", perMoveChange: "perMoveChange", focusChange: "focusChange", breakpointsChange: "breakpointsChange", heightRatioChange: "heightRatioChange", heightChange: "heightChange", fixedHeightChange: "fixedHeightChange", widthChange: "widthChange", fixedWidthChange: "fixedWidthChange", perPageChange: "perPageChange", autoplayChange: "autoplayChange", snapChange: "snapChange", autoWidthChange: "autoWidthChange", dragChange: "dragChange", wheelChange: "wheelChange", intervalChange: "intervalChange", paddingChange: "paddingChange", centeredChange: "centeredChange", verticalChange: "verticalChange", loopChange: "loopChange", rewindChange: "rewindChange", onItemsChanged: "onItemsChanged" }, host: { classAttribute: "ax-carousel" }, providers: [{
338
+ AXCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.AXCarouselCore }], target: i0.ɵɵFactoryTarget.Component });
339
+ AXCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: AXCarouselComponent, selector: "ax-carousel", inputs: { perMove: "perMove", focus: "focus", breakpoints: "breakpoints", heightRatio: "heightRatio", height: "height", fixedHeight: "fixedHeight", width: "width", fixedWidth: "fixedWidth", perPage: "perPage", gap: "gap", autoplay: "autoplay", snap: "snap", autoWidth: "autoWidth", drag: "drag", wheel: "wheel", interval: "interval", padding: "padding", centered: "centered", vertical: "vertical", loop: "loop", rewind: "rewind" }, outputs: { onOptionsChanged: "onOptionsChanged", onSlideChanged: "onSlideChanged", perMoveChange: "perMoveChange", focusChange: "focusChange", breakpointsChange: "breakpointsChange", heightRatioChange: "heightRatioChange", heightChange: "heightChange", fixedHeightChange: "fixedHeightChange", widthChange: "widthChange", fixedWidthChange: "fixedWidthChange", perPageChange: "perPageChange", autoplayChange: "autoplayChange", snapChange: "snapChange", autoWidthChange: "autoWidthChange", dragChange: "dragChange", wheelChange: "wheelChange", intervalChange: "intervalChange", paddingChange: "paddingChange", centeredChange: "centeredChange", verticalChange: "verticalChange", loopChange: "loopChange", rewindChange: "rewindChange", onItemsChanged: "onItemsChanged" }, host: { classAttribute: "ax-carousel" }, providers: [{
340
340
  provide: AXCarouselCore,
341
341
  useClass: AXCarouselSplideJS
342
342
  }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-carousel-list-container\">\r\n <div class=\"ax-carousel-list\">\r\n <ng-content select=\"ax-carousel-item\">\r\n </ng-content>\r\n </div>\r\n <ng-content select=\"ax-carousel-arrows\">\r\n </ng-content>\r\n</div>\r\n\r\n<ng-content select=\"ax-carousel-pager\">\r\n</ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselComponent, decorators: [{
343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselComponent, decorators: [{
344
344
  type: Component,
345
345
  args: [{ selector: 'ax-carousel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-carousel' }, providers: [{
346
346
  provide: AXCarouselCore,
@@ -9,10 +9,10 @@ const COMPONENT = [AXCarouselComponent, AXCarouselItemComponent, AXCarouselArrow
9
9
  const MODULES = [CommonModule];
10
10
  export class AXCarouselModule {
11
11
  }
12
- AXCarouselModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- AXCarouselModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselModule, declarations: [AXCarouselComponent, AXCarouselItemComponent, AXCarouselArrowsComponent, AXCarouselPagerComponent], imports: [CommonModule], exports: [AXCarouselComponent, AXCarouselItemComponent, AXCarouselArrowsComponent, AXCarouselPagerComponent] });
14
- AXCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselModule, providers: [], imports: [[...MODULES]] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCarouselModule, decorators: [{
12
+ AXCarouselModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ AXCarouselModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselModule, declarations: [AXCarouselComponent, AXCarouselItemComponent, AXCarouselArrowsComponent, AXCarouselPagerComponent], imports: [CommonModule], exports: [AXCarouselComponent, AXCarouselItemComponent, AXCarouselArrowsComponent, AXCarouselPagerComponent] });
14
+ AXCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselModule, providers: [], imports: [MODULES] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCarouselModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [...COMPONENT],
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
21
21
  providers: [],
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXRFLE1BQU0sU0FBUyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQUN0SCxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBUS9CLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFUVixtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsYUFDbkcsWUFBWSxhQURWLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLHlCQUF5QixFQUFFLHdCQUF3Qjs4R0FTdkcsZ0JBQWdCLGFBRmQsRUFBRSxZQUZKLENBQUMsR0FBRyxPQUFPLENBQUM7MkZBSVosZ0JBQWdCO2tCQU41QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxBcnJvd3NDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLWFycm93cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWENhcm91c2VsUGFnZXJDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLXBhZ2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxTcGxpZGVKUyB9IGZyb20gJy4vY2Fyb3VzZWwtc3BsaWRlanMuY2xhc3MnO1xyXG5jb25zdCBDT01QT05FTlQgPSBbQVhDYXJvdXNlbENvbXBvbmVudCwgQVhDYXJvdXNlbEl0ZW1Db21wb25lbnQsIEFYQ2Fyb3VzZWxBcnJvd3NDb21wb25lbnQsIEFYQ2Fyb3VzZWxQYWdlckNvbXBvbmVudF07XHJcbmNvbnN0IE1PRFVMRVMgPSBbQ29tbW9uTW9kdWxlXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxyXG4gICAgaW1wb3J0czogWy4uLk1PRFVMRVNdLFxyXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXHJcbiAgICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDYXJvdXNlbE1vZHVsZSB7IH1cclxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXRFLE1BQU0sU0FBUyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQUN0SCxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBUS9CLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFUVixtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsYUFDbkcsWUFBWSxhQURWLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLHlCQUF5QixFQUFFLHdCQUF3Qjs4R0FTdkcsZ0JBQWdCLGFBRmQsRUFBRSxZQUZBLE9BQU87MkZBSVgsZ0JBQWdCO2tCQU41QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxBcnJvd3NDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLWFycm93cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWENhcm91c2VsUGFnZXJDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLXBhZ2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxTcGxpZGVKUyB9IGZyb20gJy4vY2Fyb3VzZWwtc3BsaWRlanMuY2xhc3MnO1xyXG5jb25zdCBDT01QT05FTlQgPSBbQVhDYXJvdXNlbENvbXBvbmVudCwgQVhDYXJvdXNlbEl0ZW1Db21wb25lbnQsIEFYQ2Fyb3VzZWxBcnJvd3NDb21wb25lbnQsIEFYQ2Fyb3VzZWxQYWdlckNvbXBvbmVudF07XHJcbmNvbnN0IE1PRFVMRVMgPSBbQ29tbW9uTW9kdWxlXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxyXG4gICAgaW1wb3J0czogWy4uLk1PRFVMRVNdLFxyXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXHJcbiAgICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDYXJvdXNlbE1vZHVsZSB7IH1cclxuIl19
@@ -5,8 +5,9 @@ import { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/forms";
7
7
  export class AXCheckBoxComponent extends AXBaseValueComponentMixin {
8
- constructor(elementRef, cdr) {
9
- super(elementRef, cdr);
8
+ constructor(elementRef, _cdr) {
9
+ super(elementRef, _cdr);
10
+ this._cdr = _cdr;
10
11
  }
11
12
  onInit() {
12
13
  super.onInit();
@@ -14,7 +15,7 @@ export class AXCheckBoxComponent extends AXBaseValueComponentMixin {
14
15
  this.value = false;
15
16
  }
16
17
  }
17
- _onValueChanging(value) {
18
+ _setValue(value) {
18
19
  if (this.allowNull && value == null) {
19
20
  this._stateIndeterminate = true;
20
21
  }
@@ -32,10 +33,10 @@ export class AXCheckBoxComponent extends AXBaseValueComponentMixin {
32
33
  }
33
34
  }
34
35
  }
35
- AXCheckBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCheckBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
- AXCheckBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXCheckBoxComponent, selector: "ax-check-box", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, usesInheritance: true, ngImport: i0, template: "<label 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\" [class.ax-state-readonly]=\"readonly\"\r\n [class.ax-state-disabled]=\"disabled\" [indeterminate]=\"_stateIndeterminate\" [(ngModel)]=\"value\"\r\n [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\r\n (click)=\"_handleOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\r\n </div>\r\n <div class=\"ax-ms-3 ax-text-sm\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n <span class=\"ax-error-container\"></span>\r\n </div>\r\n</label>\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 });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXCheckBoxComponent, decorators: [{
36
+ AXCheckBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCheckBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
37
+ AXCheckBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: AXCheckBoxComponent, selector: "ax-check-box", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, usesInheritance: true, ngImport: i0, template: "<label 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\" [class.ax-state-readonly]=\"readonly\"\r\n [class.ax-state-disabled]=\"disabled\" [indeterminate]=\"_stateIndeterminate\" [(ngModel)]=\"value\"\r\n [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\r\n (click)=\"_handleOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\r\n </div>\r\n <div class=\"ax-ms-3 ax-text-sm\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n <span class=\"ax-error-container\"></span>\r\n </div>\r\n</label>\r\n<ng-content select=\"ax-validation-rule\"></ng-content>", dependencies: [{ kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", 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 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AXCheckBoxComponent, decorators: [{
38
39
  type: Component,
39
40
  args: [{ selector: 'ax-check-box', inputs: [...INTERACTIVE_INPUTS, ...VALUE_INPUTS], outputs: [...INTERACTIVE_OUTPUT, ...VALUE_OUTPUT], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<label 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\" [class.ax-state-readonly]=\"readonly\"\r\n [class.ax-state-disabled]=\"disabled\" [indeterminate]=\"_stateIndeterminate\" [(ngModel)]=\"value\"\r\n [checked]=\"value\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\r\n (click)=\"_handleOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\r\n </div>\r\n <div class=\"ax-ms-3 ax-text-sm\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ax-form-hint\"></ng-content>\r\n <span class=\"ax-error-container\"></span>\r\n </div>\r\n</label>\r\n<ng-content select=\"ax-validation-rule\"></ng-content>" }]
40
41
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLHVCQUF1QixFQUFFLGlCQUFpQixFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFVN0UsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHlCQUF5QjtJQUVoRSxZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTTtRQUNKLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztTQUNqQzthQUNJO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNqQyxLQUFLLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDdEM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxDQUFhO1FBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O2dIQTlCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixrWENiaEMscTFCQWFxRDsyRkRBeEMsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLGNBQWMsVUFFaEIsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxDQUFDLFdBQ3ZDLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLFlBQVksQ0FBQyxpQkFDbEMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VWYWx1ZUNvbXBvbmVudE1peGluIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi92YWx1ZS1taXhpbi5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNoZWNrLWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFsuLi5JTlRFUkFDVElWRV9JTlBVVFMsIC4uLlZBTFVFX0lOUFVUU10sXHJcbiAgb3V0cHV0czogWy4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uVkFMVUVfT1VUUFVUXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDaGVja0JveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVZhbHVlQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCkge1xyXG4gICAgc3VwZXIub25Jbml0KCk7XHJcbiAgICBpZiAoIXRoaXMuYWxsb3dOdWxsICYmIHRoaXMudmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25WYWx1ZUNoYW5naW5nKHZhbHVlKSB7XHJcbiAgICBpZiAodGhpcy5hbGxvd051bGwgJiYgdmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9zdGF0ZUluZGV0ZXJtaW5hdGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3N0YXRlSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlID09IHRydWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlT25DbGlja0V2ZW50KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxsYWJlbCBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtc3RhcnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1oLTVcIj5cclxuICAgICAgICA8aW5wdXQgW2lkXT1cImlkXCIgY2xhc3M9XCJheC1oLTQgYXgtdy00XCIgdHlwZT1cImNoZWNrYm94XCIgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW2luZGV0ZXJtaW5hdGVdPVwiX3N0YXRlSW5kZXRlcm1pbmF0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlT25DbGlja0V2ZW50KCRldmVudClcIiAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbXMtMyBheC10ZXh0LXNtXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWZvcm0taGludFwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG48L2xhYmVsPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj48L25nLWNvbnRlbnQ+Il19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLHVCQUF1QixFQUFFLGlCQUFpQixFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFVN0UsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHlCQUF5QjtJQUVoRSxZQUFZLFVBQXNCLEVBQVUsSUFBdUI7UUFDakUsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQURrQixTQUFJLEdBQUosSUFBSSxDQUFtQjtJQUVuRSxDQUFDO0lBRUQsTUFBTTtRQUNKLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFLO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztTQUNqQzthQUNJO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNqQyxLQUFLLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDdEM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxDQUFhO1FBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O2dIQTlCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixvVkNiaEMscTFCQWFxRDsyRkRBeEMsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLGNBQWMsVUFFaEIsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxDQUFDLFdBQ3ZDLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLFlBQVksQ0FBQyxpQkFDbEMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VWYWx1ZUNvbXBvbmVudE1peGluIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi92YWx1ZS1taXhpbi5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNoZWNrLWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFsuLi5JTlRFUkFDVElWRV9JTlBVVFMsIC4uLlZBTFVFX0lOUFVUU10sXHJcbiAgb3V0cHV0czogWy4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uVkFMVUVfT1VUUFVUXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDaGVja0JveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVZhbHVlQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLHByaXZhdGUgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBfY2RyKTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHN1cGVyLm9uSW5pdCgpO1xyXG4gICAgaWYgKCF0aGlzLmFsbG93TnVsbCAmJiB0aGlzLnZhbHVlID09IG51bGwpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX3NldFZhbHVlKHZhbHVlKSB7XHJcbiAgICBpZiAodGhpcy5hbGxvd051bGwgJiYgdmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9zdGF0ZUluZGV0ZXJtaW5hdGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3N0YXRlSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlID09IHRydWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlT25DbGlja0V2ZW50KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxsYWJlbCBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtc3RhcnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1oLTVcIj5cclxuICAgICAgICA8aW5wdXQgW2lkXT1cImlkXCIgY2xhc3M9XCJheC1oLTQgYXgtdy00XCIgdHlwZT1cImNoZWNrYm94XCIgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW2luZGV0ZXJtaW5hdGVdPVwiX3N0YXRlSW5kZXRlcm1pbmF0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlT25DbGlja0V2ZW50KCRldmVudClcIiAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbXMtMyBheC10ZXh0LXNtXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWZvcm0taGludFwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG48L2xhYmVsPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj48L25nLWNvbnRlbnQ+Il19