@acorex/components 7.2.7 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/action-sheet/index.d.ts +1 -1
  2. package/action-sheet/lib/action-sheet.class.d.ts +31 -0
  3. package/action-sheet/lib/action-sheet.component.d.ts +12 -13
  4. package/action-sheet/lib/action-sheet.module.d.ts +2 -1
  5. package/action-sheet/lib/action-sheet.service.d.ts +4 -8
  6. package/alert/lib/alert.component.d.ts +12 -11
  7. package/button/lib/button-group.component.d.ts +6 -6
  8. package/button/lib/button-item.class.d.ts +6 -2
  9. package/button/lib/button-item.component.d.ts +6 -6
  10. package/button/lib/button.component.d.ts +5 -3
  11. package/calendar/lib/calendar.component.d.ts +2 -1
  12. package/check-box/README.md +3 -0
  13. package/check-box/index.d.ts +2 -0
  14. package/check-box/lib/check-box.component.d.ts +14 -0
  15. package/{checkbox/lib/checkbox.module.d.ts → check-box/lib/check-box.module.d.ts} +1 -1
  16. package/chips/lib/chips.component.d.ts +2 -2
  17. package/color-palette/lib/color-palette-input.component.d.ts +10 -7
  18. package/color-palette/lib/color-palette-picker.component.d.ts +10 -5
  19. package/color-palette/lib/color-palette-preview.component.d.ts +8 -4
  20. package/color-palette/lib/color-palette-swatches.component.d.ts +9 -6
  21. package/color-palette/lib/color-palette.class.d.ts +12 -6
  22. package/color-palette/lib/color-palette.component.d.ts +3 -15
  23. package/color-palette/lib/color-palette.module.d.ts +9 -8
  24. package/color-picker/lib/color-picker.component.d.ts +17 -24
  25. package/color-picker/lib/color-picker.module.d.ts +1 -1
  26. package/common/index.d.ts +3 -1
  27. package/common/lib/classes/components.class.d.ts +12 -2
  28. package/common/lib/classes/datalist.class.d.ts +11 -0
  29. package/common/lib/common.module.d.ts +3 -4
  30. package/common/lib/components/base-component.class.d.ts +13 -5
  31. package/common/lib/components/input-base-value-component.class.d.ts +27 -0
  32. package/common/lib/components/interactive-component.class.d.ts +7 -0
  33. package/common/lib/components/value-component.class.d.ts +22 -8
  34. package/common/lib/directives/auto-focus.directive.d.ts +6 -5
  35. package/common/lib/directives/delayed-value-changed.directive.d.ts +17 -0
  36. package/common/lib/services/dom.service.d.ts +6 -0
  37. package/data-pager/lib/data-pager-base.component.d.ts +18 -13
  38. package/data-pager/lib/data-pager-info.component.d.ts +3 -9
  39. package/data-pager/lib/data-pager-input-selector.component.d.ts +5 -9
  40. package/data-pager/lib/data-pager-next-buttons.components.d.ts +2 -8
  41. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +2 -7
  42. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +2 -6
  43. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +2 -7
  44. package/data-pager/lib/data-pager.component.d.ts +17 -18
  45. package/data-pager/lib/data-pager.module.d.ts +6 -5
  46. package/data-table/index.d.ts +0 -1
  47. package/data-table/lib/data-column.directive.d.ts +3 -8
  48. package/data-table/lib/data-table.component.d.ts +6 -7
  49. package/data-table/lib/data-table.module.d.ts +6 -7
  50. package/date-picker/lib/datepicker.component.d.ts +7 -6
  51. package/date-picker/lib/datepicker.module.d.ts +1 -1
  52. package/decorators/index.d.ts +2 -12
  53. package/decorators/lib/clear-button.component.d.ts +13 -0
  54. package/decorators/lib/close-button.component.d.ts +5 -8
  55. package/decorators/lib/decorators.module.d.ts +6 -15
  56. package/decorators/lib/generic-content.component.d.ts +6 -0
  57. package/decorators/lib/icon.component.d.ts +2 -4
  58. package/dialog/lib/dialog.class.d.ts +11 -3
  59. package/dialog/lib/dialog.component.d.ts +15 -11
  60. package/dialog/lib/dialog.module.d.ts +4 -3
  61. package/dialog/lib/dialog.service.d.ts +4 -12
  62. package/drawer/lib/drawer-container.component.d.ts +2 -5
  63. package/drawer/lib/drawer.component.d.ts +6 -7
  64. package/esm2022/acorex-components.mjs +1 -1
  65. package/esm2022/action-sheet/index.mjs +2 -2
  66. package/esm2022/action-sheet/lib/action-sheet.class.mjs +2 -0
  67. package/esm2022/action-sheet/lib/action-sheet.component.mjs +50 -38
  68. package/esm2022/action-sheet/lib/action-sheet.module.mjs +11 -7
  69. package/esm2022/action-sheet/lib/action-sheet.service.mjs +32 -72
  70. package/esm2022/alert/lib/alert.component.mjs +19 -20
  71. package/esm2022/alert/lib/alert.module.mjs +7 -7
  72. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  73. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  74. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  75. package/esm2022/badge/lib/badge.component.mjs +7 -7
  76. package/esm2022/badge/lib/badge.module.mjs +4 -4
  77. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  78. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  79. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  80. package/esm2022/button/lib/button-group.component.mjs +3 -3
  81. package/esm2022/button/lib/button-item.class.mjs +1 -1
  82. package/esm2022/button/lib/button-item.component.mjs +3 -3
  83. package/esm2022/button/lib/button.component.mjs +34 -17
  84. package/esm2022/button/lib/button.module.mjs +4 -4
  85. package/esm2022/calendar/lib/calendar-range.component.mjs +5 -5
  86. package/esm2022/calendar/lib/calendar.class.mjs +3 -3
  87. package/esm2022/calendar/lib/calendar.component.mjs +18 -15
  88. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  89. package/esm2022/check-box/acorex-components-check-box.mjs +5 -0
  90. package/esm2022/check-box/index.mjs +3 -0
  91. package/esm2022/check-box/lib/check-box.component.mjs +76 -0
  92. package/esm2022/check-box/lib/check-box.module.mjs +21 -0
  93. package/esm2022/chips/lib/chips.component.mjs +7 -6
  94. package/esm2022/chips/lib/chips.module.mjs +4 -4
  95. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  96. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  97. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  98. package/esm2022/color-palette/lib/color-palette-input.component.mjs +64 -73
  99. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +63 -58
  100. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +30 -25
  101. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +32 -246
  102. package/esm2022/color-palette/lib/color-palette.class.mjs +229 -8
  103. package/esm2022/color-palette/lib/color-palette.component.mjs +32 -47
  104. package/esm2022/color-palette/lib/color-palette.module.mjs +10 -7
  105. package/esm2022/color-picker/lib/color-picker.component.mjs +12 -6
  106. package/esm2022/color-picker/lib/color-picker.module.mjs +6 -6
  107. package/esm2022/common/index.mjs +4 -2
  108. package/esm2022/common/lib/classes/components.class.mjs +26 -19
  109. package/esm2022/common/lib/classes/datalist.class.mjs +3 -0
  110. package/esm2022/common/lib/common.module.mjs +5 -10
  111. package/esm2022/common/lib/components/base-component.class.mjs +26 -13
  112. package/esm2022/common/lib/components/input-base-value-component.class.mjs +47 -0
  113. package/esm2022/common/lib/components/interactive-component.class.mjs +31 -4
  114. package/esm2022/common/lib/components/value-component.class.mjs +57 -33
  115. package/esm2022/common/lib/directives/auto-focus.directive.mjs +18 -11
  116. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +49 -0
  117. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  118. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  119. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  120. package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +6 -6
  121. package/esm2022/common/lib/services/dom.service.mjs +16 -0
  122. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  123. package/esm2022/common/lib/services/overlay.service.mjs +3 -3
  124. package/esm2022/context-menu/lib/context-menu.component.mjs +5 -5
  125. package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
  126. package/esm2022/data-pager/lib/data-pager-base.component.mjs +35 -21
  127. package/esm2022/data-pager/lib/data-pager-info.component.mjs +13 -26
  128. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +27 -31
  129. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +19 -33
  130. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +31 -38
  131. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +22 -31
  132. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +19 -29
  133. package/esm2022/data-pager/lib/data-pager.component.mjs +66 -38
  134. package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
  135. package/esm2022/data-table/index.mjs +1 -2
  136. package/esm2022/data-table/lib/data-column.directive.mjs +7 -22
  137. package/esm2022/data-table/lib/data-table.component.mjs +30 -30
  138. package/esm2022/data-table/lib/data-table.module.mjs +6 -7
  139. package/esm2022/date-picker/lib/datepicker.component.mjs +19 -16
  140. package/esm2022/date-picker/lib/datepicker.module.mjs +6 -6
  141. package/esm2022/decorators/index.mjs +3 -13
  142. package/esm2022/decorators/lib/clear-button.component.mjs +58 -0
  143. package/esm2022/decorators/lib/close-button.component.mjs +16 -20
  144. package/esm2022/decorators/lib/decorators.module.mjs +13 -49
  145. package/esm2022/decorators/lib/generic-content.component.mjs +17 -0
  146. package/esm2022/decorators/lib/icon.component.mjs +8 -11
  147. package/esm2022/dialog/lib/dialog.class.mjs +1 -1
  148. package/esm2022/dialog/lib/dialog.component.mjs +41 -23
  149. package/esm2022/dialog/lib/dialog.module.mjs +10 -8
  150. package/esm2022/dialog/lib/dialog.service.mjs +41 -49
  151. package/esm2022/drawer/lib/drawer-container.component.mjs +9 -13
  152. package/esm2022/drawer/lib/drawer.component.mjs +23 -27
  153. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  154. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +4 -4
  155. package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
  156. package/esm2022/form/lib/form-field.component.mjs +9 -12
  157. package/esm2022/form/lib/form.component.mjs +38 -42
  158. package/esm2022/form/lib/form.module.mjs +4 -4
  159. package/esm2022/form/lib/validation-rule.widget.mjs +24 -15
  160. package/esm2022/form/lib/validation-summary.component.mjs +15 -14
  161. package/esm2022/image/lib/image.component.mjs +13 -17
  162. package/esm2022/image/lib/image.module.mjs +4 -4
  163. package/esm2022/index.mjs +1 -1
  164. package/esm2022/label/lib/label.component.mjs +18 -18
  165. package/esm2022/label/lib/label.module.mjs +4 -4
  166. package/esm2022/loading/index.mjs +2 -1
  167. package/esm2022/loading/lib/loading-spinner.component.mjs +4 -5
  168. package/esm2022/loading/lib/loading.component.mjs +22 -25
  169. package/esm2022/loading/lib/loading.config.mjs +17 -0
  170. package/esm2022/loading/lib/loading.directive.mjs +4 -4
  171. package/esm2022/loading/lib/loading.module.mjs +6 -17
  172. package/esm2022/loading/lib/loading.service.mjs +4 -36
  173. package/esm2022/menu/lib/menu.component.mjs +26 -19
  174. package/esm2022/menu/lib/menu.module.mjs +4 -4
  175. package/esm2022/mixin/lib/base-components.class.mjs +3 -3
  176. package/esm2022/mixin/lib/base-menu-mixin.class.mjs +3 -3
  177. package/esm2022/mixin/lib/color-look-mixing.class.mjs +1 -1
  178. package/esm2022/notification/index.mjs +2 -1
  179. package/esm2022/notification/lib/notification.class.mjs +1 -1
  180. package/esm2022/notification/lib/notification.component.mjs +51 -35
  181. package/esm2022/notification/lib/notification.config.mjs +20 -0
  182. package/esm2022/notification/lib/notification.module.mjs +11 -7
  183. package/esm2022/notification/lib/notification.service.mjs +46 -59
  184. package/esm2022/number-box/lib/number-box.component.mjs +101 -90
  185. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  186. package/esm2022/otp/lib/otp.component.mjs +38 -48
  187. package/esm2022/otp/lib/otp.module.mjs +4 -4
  188. package/esm2022/page/lib/base-page.class.mjs +6 -6
  189. package/esm2022/page/lib/page.component.mjs +3 -3
  190. package/esm2022/page/lib/page.module.mjs +4 -4
  191. package/esm2022/password-box/lib/password-box.component.mjs +37 -25
  192. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  193. package/esm2022/popover/lib/dropdown-component.class.mjs +3 -3
  194. package/esm2022/popover/lib/popover.component.mjs +3 -3
  195. package/esm2022/popover/lib/popover.module.mjs +4 -4
  196. package/esm2022/popup/index.mjs +2 -1
  197. package/esm2022/popup/lib/popup.component.mjs +49 -69
  198. package/esm2022/popup/lib/popup.interface.mjs +2 -0
  199. package/esm2022/popup/lib/popup.module.mjs +27 -12
  200. package/esm2022/popup/lib/popup.service.mjs +31 -86
  201. package/esm2022/progress-bar/lib/progress-bar.component.mjs +3 -3
  202. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  203. package/esm2022/radio/lib/radio.component.mjs +4 -4
  204. package/esm2022/radio/lib/radio.module.mjs +4 -4
  205. package/esm2022/range-slider/lib/range-slider.component.mjs +27 -22
  206. package/esm2022/range-slider/lib/range-slider.module.mjs +7 -6
  207. package/esm2022/result/lib/result.component.mjs +3 -3
  208. package/esm2022/result/lib/result.module.mjs +4 -4
  209. package/esm2022/scheduler/acorex-components-scheduler.mjs +5 -0
  210. package/esm2022/scheduler/index.mjs +4 -0
  211. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +45 -0
  212. package/esm2022/scheduler/lib/scheduler.component.mjs +30 -0
  213. package/esm2022/scheduler/lib/scheduler.module.mjs +26 -0
  214. package/esm2022/search-box/lib/search-box.component.mjs +35 -44
  215. package/esm2022/search-box/lib/search-box.module.mjs +28 -7
  216. package/esm2022/select-box/lib/select-box.component.mjs +11 -9
  217. package/esm2022/select-box/lib/select-box.module.mjs +7 -7
  218. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  219. package/esm2022/selection-list/lib/selection-list.module.mjs +6 -6
  220. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  221. package/esm2022/switch/lib/switch.component.mjs +27 -24
  222. package/esm2022/switch/lib/switch.module.mjs +4 -4
  223. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  224. package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
  225. package/esm2022/tabs/lib/tabs.component.mjs +3 -3
  226. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  227. package/esm2022/tag/lib/tag.component.mjs +3 -3
  228. package/esm2022/tag/lib/tag.module.mjs +4 -4
  229. package/esm2022/text-area/acorex-components-text-area.mjs +5 -0
  230. package/esm2022/text-area/index.mjs +3 -0
  231. package/esm2022/text-area/lib/text-area.component.mjs +36 -0
  232. package/esm2022/text-area/lib/text-area.module.mjs +19 -0
  233. package/esm2022/{checkbox/acorex-components-checkbox.mjs → text-box/acorex-components-text-box.mjs} +1 -1
  234. package/esm2022/text-box/index.mjs +4 -0
  235. package/esm2022/text-box/lib/mask-options.directive.mjs +17 -0
  236. package/esm2022/text-box/lib/text-box.component.mjs +111 -0
  237. package/esm2022/text-box/lib/text-box.module.mjs +38 -0
  238. package/esm2022/time-box/lib/time-box.component.mjs +5 -5
  239. package/esm2022/time-box/lib/time-box.module.mjs +4 -4
  240. package/esm2022/toast/index.mjs +2 -1
  241. package/esm2022/toast/lib/toast.class.mjs +1 -1
  242. package/esm2022/toast/lib/toast.component.mjs +37 -25
  243. package/esm2022/toast/lib/toast.config.mjs +19 -0
  244. package/esm2022/toast/lib/toast.module.mjs +12 -8
  245. package/esm2022/toast/lib/toast.service.mjs +46 -55
  246. package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
  247. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  248. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  249. package/esm2022/uploader/lib/uploader.component.mjs +3 -3
  250. package/esm2022/uploader/lib/uploader.module.mjs +4 -4
  251. package/fesm2022/acorex-components-action-sheet.mjs +99 -125
  252. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  253. package/fesm2022/acorex-components-alert.mjs +21 -22
  254. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  255. package/fesm2022/acorex-components-avatar.mjs +10 -10
  256. package/fesm2022/acorex-components-badge.mjs +9 -9
  257. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  258. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  259. package/fesm2022/acorex-components-button.mjs +41 -24
  260. package/fesm2022/acorex-components-button.mjs.map +1 -1
  261. package/fesm2022/acorex-components-calendar.mjs +28 -25
  262. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  263. package/fesm2022/acorex-components-check-box.mjs +100 -0
  264. package/fesm2022/acorex-components-check-box.mjs.map +1 -0
  265. package/fesm2022/acorex-components-chips.mjs +10 -9
  266. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  267. package/fesm2022/acorex-components-collapse.mjs +10 -10
  268. package/fesm2022/acorex-components-color-palette.mjs +432 -437
  269. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  270. package/fesm2022/acorex-components-color-picker.mjs +16 -10
  271. package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
  272. package/fesm2022/acorex-components-common.mjs +282 -150
  273. package/fesm2022/acorex-components-common.mjs.map +1 -1
  274. package/fesm2022/acorex-components-context-menu.mjs +8 -8
  275. package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
  276. package/fesm2022/acorex-components-data-pager.mjs +214 -228
  277. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  278. package/fesm2022/acorex-components-data-table.mjs +41 -71
  279. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  280. package/fesm2022/acorex-components-date-picker.mjs +25 -22
  281. package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
  282. package/fesm2022/acorex-components-decorators.mjs +80 -283
  283. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  284. package/fesm2022/acorex-components-dialog.mjs +97 -88
  285. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  286. package/fesm2022/acorex-components-drawer.mjs +31 -39
  287. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  288. package/fesm2022/acorex-components-dropdown.mjs +7 -7
  289. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  290. package/fesm2022/acorex-components-form.mjs +80 -77
  291. package/fesm2022/acorex-components-form.mjs.map +1 -1
  292. package/fesm2022/acorex-components-image.mjs +15 -19
  293. package/fesm2022/acorex-components-image.mjs.map +1 -1
  294. package/fesm2022/acorex-components-label.mjs +21 -21
  295. package/fesm2022/acorex-components-label.mjs.map +1 -1
  296. package/fesm2022/acorex-components-loading.mjs +51 -83
  297. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  298. package/fesm2022/acorex-components-menu.mjs +29 -22
  299. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  300. package/fesm2022/acorex-components-mixin.mjs +4 -5
  301. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  302. package/fesm2022/acorex-components-notification.mjs +131 -107
  303. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  304. package/fesm2022/acorex-components-number-box.mjs +106 -96
  305. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  306. package/fesm2022/acorex-components-otp.mjs +40 -50
  307. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  308. package/fesm2022/acorex-components-page.mjs +12 -12
  309. package/fesm2022/acorex-components-page.mjs.map +1 -1
  310. package/fesm2022/acorex-components-password-box.mjs +41 -30
  311. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  312. package/fesm2022/acorex-components-popover.mjs +10 -10
  313. package/fesm2022/acorex-components-popup.mjs +107 -170
  314. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  315. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  316. package/fesm2022/acorex-components-radio.mjs +8 -8
  317. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  318. package/fesm2022/acorex-components-range-slider.mjs +31 -27
  319. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  320. package/fesm2022/acorex-components-result.mjs +7 -7
  321. package/fesm2022/acorex-components-scheduler.mjs +98 -0
  322. package/fesm2022/acorex-components-scheduler.mjs.map +1 -0
  323. package/fesm2022/acorex-components-search-box.mjs +61 -49
  324. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  325. package/fesm2022/acorex-components-select-box.mjs +16 -14
  326. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  327. package/fesm2022/acorex-components-selection-list.mjs +8 -8
  328. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  329. package/fesm2022/acorex-components-switch.mjs +33 -31
  330. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  331. package/fesm2022/acorex-components-tabs.mjs +13 -13
  332. package/fesm2022/acorex-components-tag.mjs +7 -7
  333. package/fesm2022/acorex-components-text-area.mjs +59 -0
  334. package/fesm2022/acorex-components-text-area.mjs.map +1 -0
  335. package/fesm2022/{acorex-components-textbox.mjs → acorex-components-text-box.mjs} +49 -32
  336. package/fesm2022/acorex-components-text-box.mjs.map +1 -0
  337. package/fesm2022/acorex-components-time-box.mjs +8 -8
  338. package/fesm2022/acorex-components-time-box.mjs.map +1 -1
  339. package/fesm2022/acorex-components-toast.mjs +116 -94
  340. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  341. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  342. package/fesm2022/acorex-components-uploader.mjs +7 -7
  343. package/fesm2022/acorex-components.mjs.map +1 -1
  344. package/form/lib/form-field.component.d.ts +2 -4
  345. package/form/lib/form.component.d.ts +12 -17
  346. package/form/lib/validation-rule.widget.d.ts +9 -6
  347. package/form/lib/validation-summary.component.d.ts +7 -9
  348. package/image/lib/image.component.d.ts +7 -13
  349. package/label/lib/label.component.d.ts +4 -7
  350. package/loading/index.d.ts +1 -0
  351. package/loading/lib/loading.component.d.ts +9 -12
  352. package/loading/lib/loading.config.d.ts +8 -0
  353. package/loading/lib/loading.directive.d.ts +5 -5
  354. package/loading/lib/loading.module.d.ts +0 -1
  355. package/loading/lib/loading.service.d.ts +0 -18
  356. package/menu/lib/menu.component.d.ts +4 -2
  357. package/mixin/lib/base-components.class.d.ts +2 -2
  358. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  359. package/mixin/lib/button-mixin.class.d.ts +2 -2
  360. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  361. package/mixin/lib/color-look-mixing.class.d.ts +3 -3
  362. package/mixin/lib/datalist-component.class.d.ts +10 -10
  363. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  364. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  365. package/mixin/lib/loading-mixin.class.d.ts +2 -2
  366. package/mixin/lib/mixin.class.d.ts +61 -61
  367. package/mixin/lib/page-component.class.d.ts +2 -2
  368. package/mixin/lib/selection-component.class.d.ts +2 -2
  369. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  370. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  371. package/mixin/lib/value-mixin.class.d.ts +8 -8
  372. package/notification/index.d.ts +1 -0
  373. package/notification/lib/notification.class.d.ts +29 -7
  374. package/notification/lib/notification.component.d.ts +13 -14
  375. package/notification/lib/notification.config.d.ts +13 -0
  376. package/notification/lib/notification.module.d.ts +4 -1
  377. package/notification/lib/notification.service.d.ts +5 -9
  378. package/number-box/lib/number-box.component.d.ts +12 -17
  379. package/otp/lib/otp.component.d.ts +7 -14
  380. package/package.json +36 -30
  381. package/page/lib/base-page.class.d.ts +2 -2
  382. package/password-box/lib/password-box.component.d.ts +8 -11
  383. package/popup/index.d.ts +1 -0
  384. package/popup/lib/popup.component.d.ts +14 -19
  385. package/popup/lib/popup.interface.d.ts +26 -0
  386. package/popup/lib/popup.module.d.ts +4 -4
  387. package/popup/lib/popup.service.d.ts +4 -25
  388. package/range-slider/lib/range-slider.component.d.ts +6 -14
  389. package/range-slider/lib/range-slider.module.d.ts +3 -2
  390. package/scheduler/README.md +3 -0
  391. package/scheduler/index.d.ts +3 -0
  392. package/scheduler/lib/scheduler-month-view.component.d.ts +20 -0
  393. package/scheduler/lib/scheduler.component.d.ts +11 -0
  394. package/scheduler/lib/scheduler.module.d.ts +13 -0
  395. package/search-box/lib/search-box.component.d.ts +8 -16
  396. package/search-box/lib/search-box.module.d.ts +7 -5
  397. package/select-box/lib/select-box.module.d.ts +2 -2
  398. package/selection-list/lib/selection-list.module.d.ts +1 -1
  399. package/switch/lib/switch.component.d.ts +10 -8
  400. package/tabs/lib/tab-item.component.d.ts +2 -2
  401. package/text-area/README.md +3 -0
  402. package/text-area/index.d.ts +2 -0
  403. package/text-area/lib/text-area.component.d.ts +11 -0
  404. package/text-area/lib/text-area.module.d.ts +9 -0
  405. package/text-box/README.md +3 -0
  406. package/text-box/index.d.ts +3 -0
  407. package/text-box/lib/text-box.component.d.ts +25 -0
  408. package/{textbox/lib/textbox.module.d.ts → text-box/lib/text-box.module.d.ts} +1 -1
  409. package/time-box/lib/time-box.component.d.ts +1 -1
  410. package/toast/index.d.ts +1 -0
  411. package/toast/lib/toast.class.d.ts +14 -5
  412. package/toast/lib/toast.component.d.ts +13 -12
  413. package/toast/lib/toast.config.d.ts +12 -0
  414. package/toast/lib/toast.module.d.ts +4 -1
  415. package/toast/lib/toast.service.d.ts +5 -9
  416. package/action-sheet/lib/action-sheet.interface.d.ts +0 -21
  417. package/checkbox/README.md +0 -3
  418. package/checkbox/index.d.ts +0 -2
  419. package/checkbox/lib/checkbox.component.d.ts +0 -17
  420. package/common/lib/directives/debounce-time.directive.d.ts +0 -17
  421. package/data-table/lib/data-column-cell-template.directive.d.ts +0 -8
  422. package/decorators/lib/content.component.d.ts +0 -9
  423. package/decorators/lib/divider.component.d.ts +0 -5
  424. package/decorators/lib/footer.component.d.ts +0 -9
  425. package/decorators/lib/form-hint.component.d.ts +0 -8
  426. package/decorators/lib/header.component.d.ts +0 -9
  427. package/decorators/lib/overlay.component.d.ts +0 -6
  428. package/decorators/lib/placeholder.component.d.ts +0 -5
  429. package/decorators/lib/prefix.component.d.ts +0 -9
  430. package/decorators/lib/sub-title.component.d.ts +0 -9
  431. package/decorators/lib/suffix.component.d.ts +0 -9
  432. package/decorators/lib/text.component.d.ts +0 -9
  433. package/decorators/lib/title.component.d.ts +0 -8
  434. package/esm2022/action-sheet/lib/action-sheet.interface.mjs +0 -2
  435. package/esm2022/checkbox/index.mjs +0 -3
  436. package/esm2022/checkbox/lib/checkbox.component.mjs +0 -49
  437. package/esm2022/checkbox/lib/checkbox.module.mjs +0 -21
  438. package/esm2022/common/lib/directives/debounce-time.directive.mjs +0 -48
  439. package/esm2022/data-table/lib/data-column-cell-template.directive.mjs +0 -17
  440. package/esm2022/decorators/lib/content.component.mjs +0 -26
  441. package/esm2022/decorators/lib/divider.component.mjs +0 -17
  442. package/esm2022/decorators/lib/footer.component.mjs +0 -26
  443. package/esm2022/decorators/lib/form-hint.component.mjs +0 -20
  444. package/esm2022/decorators/lib/header.component.mjs +0 -26
  445. package/esm2022/decorators/lib/overlay.component.mjs +0 -22
  446. package/esm2022/decorators/lib/placeholder.component.mjs +0 -14
  447. package/esm2022/decorators/lib/prefix.component.mjs +0 -26
  448. package/esm2022/decorators/lib/sub-title.component.mjs +0 -26
  449. package/esm2022/decorators/lib/suffix.component.mjs +0 -26
  450. package/esm2022/decorators/lib/text.component.mjs +0 -21
  451. package/esm2022/decorators/lib/title.component.mjs +0 -20
  452. package/esm2022/textarea/acorex-components-textarea.mjs +0 -5
  453. package/esm2022/textarea/index.mjs +0 -3
  454. package/esm2022/textarea/lib/textarea.component.mjs +0 -37
  455. package/esm2022/textarea/lib/textarea.module.mjs +0 -19
  456. package/esm2022/textbox/acorex-components-textbox.mjs +0 -5
  457. package/esm2022/textbox/index.mjs +0 -4
  458. package/esm2022/textbox/lib/mask-options.directive.mjs +0 -17
  459. package/esm2022/textbox/lib/textbox.component.mjs +0 -93
  460. package/esm2022/textbox/lib/textbox.module.mjs +0 -38
  461. package/fesm2022/acorex-components-checkbox.mjs +0 -74
  462. package/fesm2022/acorex-components-checkbox.mjs.map +0 -1
  463. package/fesm2022/acorex-components-textarea.mjs +0 -60
  464. package/fesm2022/acorex-components-textarea.mjs.map +0 -1
  465. package/fesm2022/acorex-components-textbox.mjs.map +0 -1
  466. package/textarea/README.md +0 -3
  467. package/textarea/index.d.ts +0 -2
  468. package/textarea/lib/textarea.component.d.ts +0 -14
  469. package/textarea/lib/textarea.module.d.ts +0 -9
  470. package/textbox/README.md +0 -3
  471. package/textbox/index.d.ts +0 -3
  472. package/textbox/lib/textbox.component.d.ts +0 -27
  473. /package/{textbox → text-box}/lib/mask-options.directive.d.ts +0 -0
@@ -1,8 +1,21 @@
1
1
  import { AXHtmlUtil } from '@acorex/core/utils';
2
- import { coerceNumberProperty } from '@angular/cdk/coercion';
2
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
3
  import { EventEmitter } from '@angular/core';
4
4
  import { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from './base-component.class';
5
+ import { noop } from 'rxjs';
5
6
  export class MXInteractiveComponent extends MXBaseComponent {
7
+ registerOnTouched(fn) {
8
+ this.onTouchedCallback = fn;
9
+ }
10
+ get touched() {
11
+ return this._touched;
12
+ }
13
+ markAsTouched() {
14
+ if (!this.touched) {
15
+ this.onTouchedCallback();
16
+ this._touched = true;
17
+ }
18
+ }
6
19
  /**
7
20
  * If set to true, it disables the component.
8
21
  */
@@ -10,7 +23,17 @@ export class MXInteractiveComponent extends MXBaseComponent {
10
23
  return this._disabled;
11
24
  }
12
25
  set disabled(value) {
13
- this.setOption({ name: 'disabled', value });
26
+ value = coerceBooleanProperty(value);
27
+ this.setOption({
28
+ name: 'disabled',
29
+ value,
30
+ afterCallback: () => {
31
+ this.cdr.markForCheck();
32
+ },
33
+ });
34
+ }
35
+ setDisabledState(isDisabled) {
36
+ this.disabled = isDisabled;
14
37
  }
15
38
  /**
16
39
  * Specifies the tabindex of the component.
@@ -29,6 +52,7 @@ export class MXInteractiveComponent extends MXBaseComponent {
29
52
  });
30
53
  }
31
54
  emitOnBlurEvent(e) {
55
+ this.markAsTouched();
32
56
  this.onBlur.emit({
33
57
  component: this,
34
58
  htmlElement: this.getHostElement(),
@@ -37,6 +61,9 @@ export class MXInteractiveComponent extends MXBaseComponent {
37
61
  }
38
62
  constructor() {
39
63
  super();
64
+ this.onTouchedCallback = noop;
65
+ this._touched = false;
66
+ this.disabledChange = new EventEmitter();
40
67
  this._tabIndex = 0;
41
68
  /**
42
69
  * Fires each time the component gets focused.
@@ -60,5 +87,5 @@ export class MXInteractiveComponent extends MXBaseComponent {
60
87
  }
61
88
  }
62
89
  export const INTERACTIVE_INPUTS = ['disabled', 'tabIndex', ...BASE_INPUTS];
63
- export const INTERACTIVE_OUTPUT = ['onFocus', 'onBlur', ...BASE_OUTPUT];
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUFlO0lBRXpEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFHRDs7T0FFRztJQUNILElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFRUyxnQkFBZ0IsQ0FBQyxDQUFhO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbEMsV0FBVyxFQUFFLENBQUM7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBUVMsZUFBZSxDQUFDLENBQWE7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUF4Q1YsY0FBUyxHQUFXLENBQUMsQ0FBQztRQVd0Qjs7O1dBR0c7UUFDSCxZQUFPLEdBQStCLElBQUksWUFBWSxFQUFnQixDQUFDO1FBVXZFOzs7V0FHRztRQUNILFdBQU0sR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFZdEUsQ0FBQztJQUVELEtBQUs7UUFDSCxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEh0bWxVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhGb2N1c0V2ZW50IH0gZnJvbSAnLi4vY2xhc3Nlcy9ldmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQkFTRV9JTlBVVFMsIEJBU0VfT1VUUFVULCBNWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50LmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIE1YSW50ZXJhY3RpdmVDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQge1xuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqICBJZiBzZXQgdG8gdHJ1ZSwgaXQgZGlzYWJsZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHsgbmFtZTogJ2Rpc2FibGVkJywgdmFsdWUgfSk7XG4gIH1cblxuICBfdGFiSW5kZXg6IG51bWJlciA9IDA7XG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSB0YWJpbmRleCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAtMSA6IHRoaXMuX3RhYkluZGV4O1xuICB9XG4gIHNldCB0YWJJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oeyBuYW1lOiAndGFiSW5kZXgnLCB2YWx1ZTogdmFsdWUgIT0gbnVsbCA/IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSA6IDAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgY29tcG9uZW50IGdldHMgZm9jdXNlZC5cbiAgICogIEBldmVudFxuICAgKi9cbiAgb25Gb2N1czogRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgZW1pdE9uRm9jdXNFdmVudChlOiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkZvY3VzLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIGNvbXBvbmVudCBnZXRzIGJsdXJyZWQuXG4gICAqICBAZXZlbnRcbiAgICovXG4gIG9uQmx1cjogRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgZW1pdE9uQmx1ckV2ZW50KGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQmx1ci5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBmb2N1cygpIHtcbiAgICBBWEh0bWxVdGlsLmZvY3VzRWxlbWVudCh0aGlzLmdldEhvc3RFbGVtZW50KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqICBDaGVjayBjb21wb25lbnQgaXMgZm9jdXNlZCBvciBoYXMgYW55IGZvY3VzZWQgZWxlbWVudC5cbiAgICovXG4gIGhhc0ZvY3VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBWEh0bWxVdGlsLmhhc0ZvY3VzKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IElOVEVSQUNUSVZFX0lOUFVUUyA9IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnLCAuLi5CQVNFX0lOUFVUU107XG5leHBvcnQgY29uc3QgSU5URVJBQ1RJVkVfT1VUUFVUID0gWydvbkZvY3VzJywgJ29uQmx1cicsIC4uLkJBU0VfT1VUUFVUXTtcbiJdfQ==
90
+ export const INTERACTIVE_OUTPUT = ['onFocus', 'onBlur', 'disabledChange', ...BASE_OUTPUT];
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUIsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWU7SUFJekQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFHRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFUyxhQUFhO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUlEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixLQUFLLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUs7WUFDTCxhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUdEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQVFTLGdCQUFnQixDQUFDLENBQWE7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNsQyxXQUFXLEVBQUUsQ0FBQztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFRUyxlQUFlLENBQUMsQ0FBYTtRQUNyQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFsRkEsc0JBQWlCLEdBQWUsSUFBSSxDQUFDO1FBTXZDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFZbEMsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQXVCcEUsY0FBUyxHQUFXLENBQUMsQ0FBQztRQVd0Qjs7O1dBR0c7UUFDSCxZQUFPLEdBQStCLElBQUksWUFBWSxFQUFnQixDQUFDO1FBVXZFOzs7V0FHRztRQUNILFdBQU0sR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFhdEUsQ0FBQztJQUVELEtBQUs7UUFDSCxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEh0bWxVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEZvY3VzRXZlbnQgfSBmcm9tICcuLi9jbGFzc2VzL2V2ZW50cy5jbGFzcyc7XG5pbXBvcnQgeyBCQVNFX0lOUFVUUywgQkFTRV9PVVRQVVQsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCB7XG5cbiAgcHJvdGVjdGVkIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHByaXZhdGUgX3RvdWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGdldCB0b3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl90b3VjaGVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtBc1RvdWNoZWQoKSB7XG4gICAgaWYgKCF0aGlzLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuX3RvdWNoZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRpc2FibGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuICAvKipcbiAgICogIElmIHNldCB0byB0cnVlLCBpdCBkaXNhYmxlcyB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdkaXNhYmxlZCcsXG4gICAgICB2YWx1ZSxcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBfdGFiSW5kZXg6IG51bWJlciA9IDA7XG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSB0YWJpbmRleCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAtMSA6IHRoaXMuX3RhYkluZGV4O1xuICB9XG4gIHNldCB0YWJJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oeyBuYW1lOiAndGFiSW5kZXgnLCB2YWx1ZTogdmFsdWUgIT0gbnVsbCA/IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSA6IDAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgY29tcG9uZW50IGdldHMgZm9jdXNlZC5cbiAgICogIEBldmVudFxuICAgKi9cbiAgb25Gb2N1czogRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgZW1pdE9uRm9jdXNFdmVudChlOiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkZvY3VzLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIGNvbXBvbmVudCBnZXRzIGJsdXJyZWQuXG4gICAqICBAZXZlbnRcbiAgICovXG4gIG9uQmx1cjogRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgZW1pdE9uQmx1ckV2ZW50KGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLm9uQmx1ci5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBmb2N1cygpIHtcbiAgICBBWEh0bWxVdGlsLmZvY3VzRWxlbWVudCh0aGlzLmdldEhvc3RFbGVtZW50KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqICBDaGVjayBjb21wb25lbnQgaXMgZm9jdXNlZCBvciBoYXMgYW55IGZvY3VzZWQgZWxlbWVudC5cbiAgICovXG4gIGhhc0ZvY3VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBWEh0bWxVdGlsLmhhc0ZvY3VzKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IElOVEVSQUNUSVZFX0lOUFVUUyA9IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnLCAuLi5CQVNFX0lOUFVUU107XG5leHBvcnQgY29uc3QgSU5URVJBQ1RJVkVfT1VUUFVUID0gWydvbkZvY3VzJywgJ29uQmx1cicsICdkaXNhYmxlZENoYW5nZScsIC4uLkJBU0VfT1VUUFVUXTtcbiJdfQ==
@@ -1,9 +1,10 @@
1
+ import { AXObjectUtil } from '@acorex/core/utils';
1
2
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
3
  import { EventEmitter, Injectable } from '@angular/core';
3
- import { AXObjectUtil } from '@acorex/core/utils';
4
- import { MXBaseComponent } from './base-component.class';
4
+ import { noop } from 'rxjs';
5
+ import { MXInteractiveComponent } from './interactive-component.class';
5
6
  import * as i0 from "@angular/core";
6
- export class MXValueComponent extends MXBaseComponent {
7
+ export class MXValueComponent extends MXInteractiveComponent {
7
8
  constructor() {
8
9
  super(...arguments);
9
10
  /**
@@ -11,11 +12,18 @@ export class MXValueComponent extends MXBaseComponent {
11
12
  * @event
12
13
  */
13
14
  this.onValueChanged = new EventEmitter();
15
+ /**
16
+ * @deprecated The event should not be used, use ngModelChange instead
17
+ */
14
18
  this.valueChange = new EventEmitter();
15
19
  this.stateChange = new EventEmitter();
20
+ this.readonlyChange = new EventEmitter();
16
21
  this._readonly = false;
22
+ this._dirty = false;
17
23
  this._isUserInteraction = false;
24
+ //stateChange:EventEmitter<string> = new EventEmitter<string>();
18
25
  this._state = 'clear';
26
+ this.onChangeCallback = noop;
19
27
  }
20
28
  /**
21
29
  * If set to true, user cannot change the value of component.
@@ -24,7 +32,14 @@ export class MXValueComponent extends MXBaseComponent {
24
32
  return this._readonly;
25
33
  }
26
34
  set readonly(value) {
27
- this._readonly = coerceBooleanProperty(value);
35
+ value = coerceBooleanProperty(value);
36
+ this.setOption({
37
+ name: 'readonly',
38
+ value,
39
+ afterCallback: () => {
40
+ this.cdr.markForCheck();
41
+ },
42
+ });
28
43
  }
29
44
  get name() {
30
45
  return this._name;
@@ -32,38 +47,30 @@ export class MXValueComponent extends MXBaseComponent {
32
47
  set name(value) {
33
48
  this._name = value;
34
49
  }
35
- get isUserInteraction() {
36
- return this._isUserInteraction;
37
- }
38
- set isUserInteraction(value) {
39
- this._isUserInteraction = value;
50
+ get dirty() {
51
+ return this._dirty;
40
52
  }
41
- setUserInteraction() {
42
- this.isUserInteraction = true;
53
+ markAsDirty() {
54
+ this._dirty = true;
43
55
  }
56
+ /**
57
+ * @deprecated The property should not be used, use ngModel instead
58
+ */
44
59
  get value() {
45
- return this.getValue(this._value) || this.defaultValue;
60
+ return this.internalGetValue(this._value) ?? this.defaultValue;
46
61
  }
47
62
  set value(v) {
48
- v = this.setValue(v);
49
- //if (!this._isInited ) {
63
+ v = this.internalSetValue(v);
50
64
  const old = AXObjectUtil.deepJSONClone(this.value);
51
65
  // TODO: check real equality
52
66
  if (v != old) {
53
67
  this._value = v;
54
68
  this.emitOnValueChangedEvent(old, this.value);
55
- this.cdr.markForCheck();
56
69
  if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {
57
70
  this.setState('clear');
58
71
  }
59
- // else {
60
- // if (this._isInited) {
61
- // this.validate();
62
- // }
63
- // }
72
+ this.internalValueChanged(this.value);
64
73
  }
65
- this._isUserInteraction = false;
66
- //}
67
74
  }
68
75
  get state() {
69
76
  return this._state;
@@ -79,18 +86,20 @@ export class MXValueComponent extends MXBaseComponent {
79
86
  value: newValue,
80
87
  oldValue: oldValue,
81
88
  name: this.name,
82
- isUserInteraction: this.isUserInteraction,
89
+ isUserInteraction: this._isUserInteraction,
83
90
  });
91
+ this.onChangeCallback(newValue);
92
+ this.cdr.markForCheck();
84
93
  this._isUserInteraction = false;
85
94
  }
86
- setValue(value) {
95
+ internalSetValue(value) {
87
96
  return value;
88
97
  }
89
- getValue(value) {
98
+ internalGetValue(value) {
90
99
  return value;
91
100
  }
101
+ internalValueChanged(value) { }
92
102
  ngOnInit() {
93
- super.init();
94
103
  this.getHostElement().setAttribute('ax-form-input', 'true');
95
104
  }
96
105
  ngAfterViewInit() {
@@ -100,9 +109,6 @@ export class MXValueComponent extends MXBaseComponent {
100
109
  this.onValueChanged?.unsubscribe();
101
110
  this.onOptionChanged?.unsubscribe();
102
111
  }
103
- clear() {
104
- this.value = null;
105
- }
106
112
  _checkRequired() {
107
113
  const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some((c) => c.__axContext__.enabled && c.__axContext__.rule == 'required');
108
114
  //
@@ -199,10 +205,28 @@ export class MXValueComponent extends MXBaseComponent {
199
205
  }
200
206
  this.cdr.markForCheck();
201
207
  }
202
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: MXValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
203
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: MXValueComponent }); }
208
+ registerOnChange(fn) {
209
+ this.onChangeCallback = fn;
210
+ }
211
+ writeValue(value) {
212
+ this.value = value;
213
+ }
214
+ commitValue(value, u = false) {
215
+ if (u) {
216
+ this.markAsTouched();
217
+ this.markAsDirty();
218
+ this._isUserInteraction = true;
219
+ }
220
+ this.writeValue(value);
221
+ }
222
+ clear(e) {
223
+ this.commitValue(null, e);
224
+ this.setState('clear');
225
+ }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
227
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXValueComponent }); }
204
228
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: MXValueComponent, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXValueComponent, decorators: [{
206
230
  type: Injectable
207
231
  }] });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvdmFsdWUtY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQW9CLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUkzRSxNQUFNLE9BQU8sZ0JBQTBCLFNBQVEsZUFBZTtJQUQ5RDs7UUFFRTs7O1dBR0c7UUFDSCxtQkFBYyxHQUEyQyxJQUFJLFlBQVksRUFFdEUsQ0FBQztRQUVKLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDekQsZ0JBQVcsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFM0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQW9CM0IsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBMkNwQyxXQUFNLEdBQXFCLE9BQU8sQ0FBQztLQXlKNUM7SUF0TkM7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBR0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFD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QUFnQixDQUFDLENBQUM7Z0JBRXZDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO2dCQUN0QixNQUFNO1NBQ1Q7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7OEdBbk9VLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhPYmplY3RVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFYQ29tcG9uZW50U3RhdGUsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJy4uL2NsYXNzZXMvZXZlbnRzLmNsYXNzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1YVmFsdWVDb21wb25lbnQ8VCA9IGFueT4gZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQge1xuICAvKipcbiAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgdXNlciBwcmVzcyBhIGtleS5cbiAgICogIEBldmVudFxuICAgKi9cbiAgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBBWFZhbHVlQ2hhbmdlZEV2ZW50PGFueT5cbiAgPigpO1xuXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ29tcG9uZW50U3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENvbXBvbmVudFN0YXRlPigpO1xuXG4gIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqICBJZiBzZXQgdG8gdHJ1ZSwgdXNlciBjYW5ub3QgY2hhbmdlIHRoZSB2YWx1ZSBvZiBjb21wb25lbnQuXG4gICAqL1xuICBnZXQgcmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG4gIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX25hbWU6IHN0cmluZztcbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gIH1cbiAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVXNlckludGVyYWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGlzVXNlckludGVyYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbjtcbiAgfVxuXG4gIHNldCBpc1VzZXJJbnRlcmFjdGlvbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VXNlckludGVyYWN0aW9uKCkge1xuICAgIHRoaXMuaXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xuICB9XG5cbiAgaW5pdFZhbHVlOiBUO1xuICBkZWZhdWx0VmFsdWU6IFQ7XG5cbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XG4gIGdldCB2YWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSh0aGlzLl92YWx1ZSkgfHwgdGhpcy5kZWZhdWx0VmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKHY6IFQpIHtcbiAgICB2ID0gdGhpcy5zZXRWYWx1ZSh2KTtcbiAgICAvL2lmICghdGhpcy5faXNJbml0ZWQgKSB7XG4gICAgY29uc3Qgb2xkID0gQVhPYmplY3RVdGlsLmRlZXBKU09OQ2xvbmUodGhpcy52YWx1ZSk7XG4gICAgLy8gVE9ETzogY2hlY2sgcmVhbCBlcXVhbGl0eVxuICAgIGlmICh2ICE9IG9sZCkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgICAgdGhpcy5lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGQsIHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gJycgfHwgKEFycmF5LmlzQXJyYXkodikgJiYgdi5sZW5ndGggPT0gMCkpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSgnY2xlYXInKTtcbiAgICAgIH1cbiAgICAgIC8vIGVsc2Uge1xuICAgICAgLy8gICBpZiAodGhpcy5faXNJbml0ZWQpIHtcbiAgICAgIC8vICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICB9XG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgICAvL31cbiAgfVxuXG4gIHByaXZhdGUgX3N0YXRlOiBBWENvbXBvbmVudFN0YXRlID0gJ2NsZWFyJztcblxuICBnZXQgc3RhdGUoKTogQVhDb21wb25lbnRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICB9XG5cbiAgc2V0IHN0YXRlKHZhbHVlOiBBWENvbXBvbmVudFN0YXRlKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh2YWx1ZSk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICB2YWx1ZTogbmV3VmFsdWUsXG4gICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdGhpcy5pc1VzZXJJbnRlcmFjdGlvbixcbiAgICB9KTtcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VmFsdWUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5pbml0KCk7XG4gICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnNldEF0dHJpYnV0ZSgnYXgtZm9ybS1pbnB1dCcsICd0cnVlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrUmVxdWlyZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25PcHRpb25DaGFuZ2VkPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja1JlcXVpcmVkKCkge1xuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXZhbGlkYXRpb24tcnVsZScpLFxuICAgICkuc29tZSgoYykgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQgJiYgKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLnJ1bGUgPT0gJ3JlcXVpcmVkJyk7XG4gICAgLy9cbiAgICBpZiAoaXNSZXF1aXJlZCkge1xuICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5jb250YWlucygnYXgtZWRpdG9yLWNvbnRhaW5lcicpXG4gICAgICAgID8gdGhpcy5nZXRIb3N0RWxlbWVudCgpXG4gICAgICAgIDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1lZGl0b3ItY29udGFpbmVyJyk7XG4gICAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJy5heC1mb3JtLWZpZWxkJyk7XG4gICAgICBjb25zdCBsYWJlbCA9IChmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2F4LWxhYmVsJykgYXMgYW55KT8uX19heENvbnRleHRfXztcbiAgICAgIGlmIChsYWJlbCkgbGFiZWwucmVxdWlyZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlKCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgcnVsZXMgPSBBcnJheS5mcm9tKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yQWxsKCdheC12YWxpZGF0aW9uLXJ1bGUnKSkuZmlsdGVyKFxuICAgICAgKGMpID0+IChjIGFzIGFueSkuX19heENvbnRleHRfXy5lbmFibGVkLFxuICAgICk7XG4gICAgLy9cbiAgICBpZiAoIXJ1bGVzIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSgnY2xlYXInKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICByZXN1bHQ6IHRydWUsXG4gICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUpID0+IHtcbiAgICAgIFByb21pc2UuYWxsKFxuICAgICAgICBydWxlc1xuICAgICAgICAgIC5maWx0ZXIoKGMpID0+IHR5cGVvZiAoYyBhcyBhbnkpPy52YWxpZGF0ZSA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAubWFwKChjKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKGMgYXMgYW55KS52YWxpZGF0ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICB9KSxcbiAgICAgICkudGhlbigoZCkgPT4ge1xuICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZCgoYykgPT4gYy5yZXN1bHQgPT09IGZhbHNlKTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSgnZXJyb3InLCBlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgIHJlc3VsdDogZmFsc2UsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKCdzdWNjZXNzJyk7XG4gICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICByZXN1bHQ6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRTdGF0ZShzdGF0ZTogQVhDb21wb25lbnRTdGF0ZSwgLi4uYXJncykge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LWVkaXRvci1jb250YWluZXInKVxuICAgICAgPyB0aGlzLmdldEhvc3RFbGVtZW50KClcbiAgICAgIDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1lZGl0b3ItY29udGFpbmVyJyk7XG4gICAgY29uc3QgZm9ybUZpZWxkID0gY29udGFpbmVyPy5jbG9zZXN0KCcuYXgtZm9ybS1maWVsZCcpO1xuICAgIGNvbnN0IGxhYmVsID0gZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdheC1sYWJlbCcpIHx8IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignbGFiZWwnKTtcbiAgICBsZXQgdGFyZ2V0ID0gY29udGFpbmVyIHx8IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICBpZiAodGFyZ2V0Py5xdWVyeVNlbGVjdG9yKCcuYXgtZXJyb3ItY29udGFpbmVyJykpIHtcbiAgICAgIHRhcmdldCA9IHRhcmdldC5xdWVyeVNlbGVjdG9yKCcuYXgtZXJyb3ItY29udGFpbmVyJyk7XG4gICAgfVxuICAgIGNvbnN0IHBhcmVudCA9IHRhcmdldD8ucGFyZW50RWxlbWVudDtcbiAgICBpZiAoIXRhcmdldCB8fCAhcGFyZW50KSByZXR1cm47XG5cbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlICdjbGVhcic6XG4gICAgICAgIHRoaXMuX3N0YXRlID0gJ2NsZWFyJztcbiAgICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSkge1xuICAgICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5heC1lcnJvci1tZXNzYWdlJykhKTtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InKTtcbiAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoJ2F4LXN0YXRlLWVycm9yJywgJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSgnY2xlYXInKTtcbiAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSAnc3VjY2Vzcyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xuICAgICAgICBpZiAoYXJnc1swXSkge1xuICAgICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgc3Bhbi5pbm5lclRleHQgPSBhcmdzWzBdO1xuICAgICAgICAgIHNwYW4uY2xhc3NMaXN0LmFkZCgnYXgtZXJyb3ItbWVzc2FnZScpO1xuICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtZXJyb3InKTtcbiAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XG5cbiAgICAgICAgdGhpcy5fc3RhdGUgPSAnZXJyb3InO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvdmFsdWUtY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUd2RSxNQUFNLE9BQU8sZ0JBQTBCLFNBQVEsc0JBQXNCO0lBRHJFOztRQUVFOzs7V0FHRztRQUNILG1CQUFjLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRXRHOztXQUVHO1FBQ0gsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV6RCxnQkFBVyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVuRixtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVELGNBQVMsR0FBRyxLQUFLLENBQUM7UUEwQmxCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFTZix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUEwQm5DLGdFQUFnRTtRQUV4RCxXQUFNLEdBQXFCLE9BQU8sQ0FBQztRQXlKakMscUJBQWdCLEdBQXVCLElBQUksQ0FBQztLQXVCdkQ7SUE5T0M7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsS0FBSyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLO1lBQ0wsYUFBYSxFQUFFLEdBQUcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBR0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQVFEOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDakUsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQUk7UUFDWixDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELDRCQUE0QjtRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3hCO1lBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFNRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQXVCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVTLHVCQUF1QixDQUFDLFFBQWMsRUFBRSxRQUFjO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsS0FBSyxFQUFFLFFBQVE7WUFDZixRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1NBQzNDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQVU7UUFDbkMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRVMsZ0JBQWdCLENBQUMsS0FBVTtRQUNuQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyxvQkFBb0IsQ0FBQyxLQUFVLElBQVUsQ0FBQztJQUUxQyxRQUFRO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUyxlQUFlO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDOUYsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFLLENBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FDdkYsQ0FBQztRQUNGLEVBQUU7UUFDRixJQUFJLFVBQVUsRUFBRTtZQUNkLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDO2dCQUMvRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUNoRSxNQUFNLFNBQVMsR0FBRyxTQUFTLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDdkQsTUFBTSxLQUFLLEdBQUksU0FBUyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQVMsRUFBRSxhQUFhLENBQUM7WUFDM0UsSUFBSSxLQUFLO2dCQUFFLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUMzRixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQ3hDLENBQUM7UUFDRixFQUFFO1FBQ0YsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDckIsTUFBTSxFQUFFLElBQUk7Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2FBQ1osQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLElBQUksT0FBTyxDQUFNLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FDVCxLQUFLO2lCQUNGLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBUSxDQUFTLEVBQUUsUUFBUSxLQUFLLFVBQVUsQ0FBQztpQkFDekQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1QsT0FBUSxDQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FDTCxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ2hELElBQUksS0FBSyxFQUFFO29CQUNULElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDdEMsT0FBTyxDQUFDO3dCQUNOLE1BQU0sRUFBRSxLQUFLO3dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzt3QkFDakIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO3dCQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7d0JBQ2YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO3FCQUNaLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN6QixPQUFPLENBQUM7d0JBQ04sTUFBTSxFQUFFLElBQUk7d0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO3dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7d0JBQ2YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO3FCQUNaLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQXVCLEVBQUUsR0FBRyxJQUFJO1FBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDO1lBQy9FLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsU0FBUyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RixJQUFJLE1BQU0sR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1FBQ2xFLElBQUksTUFBTSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ2hELE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDdEQ7UUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsYUFBYSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUUvQixRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztnQkFDdEIsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLEVBQUU7b0JBQ2pELE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBRSxDQUFDLENBQUM7aUJBQ3BFO2dCQUNELEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQzlELE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7Z0JBQ3hCLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ1gsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQ3ZDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzFCO2dCQUNELEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBRXZDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO2dCQUN0QixNQUFNO1NBQ1Q7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFJRCxnQkFBZ0IsQ0FBQyxFQUFzQjtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBUTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVEsRUFBRSxDQUFDLEdBQUcsS0FBSztRQUNwQyxJQUFJLENBQUMsRUFBRTtZQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFVO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QixDQUFDOzhHQTdQVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYT2JqZWN0VXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9jbGFzc2VzL2V2ZW50cy5jbGFzcyc7XG5pbXBvcnQgeyBBWENvbXBvbmVudFN0YXRlIH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudC5jbGFzcyc7XG5pbXBvcnQgeyBNWEludGVyYWN0aXZlQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcmFjdGl2ZS1jb21wb25lbnQuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTVhWYWx1ZUNvbXBvbmVudDxUID0gYW55PiBleHRlbmRzIE1YSW50ZXJhY3RpdmVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIC8qKlxuICAgKiAgRmlyZXMgZWFjaCB0aW1lIHRoZSB1c2VyIHByZXNzIGEga2V5LlxuICAgKiAgQGV2ZW50XG4gICAqL1xuICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4oKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhlIGV2ZW50IHNob3VsZCBub3QgYmUgdXNlZCwgdXNlIG5nTW9kZWxDaGFuZ2UgaW5zdGVhZFxuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDb21wb25lbnRTdGF0ZT4oKTtcblxuICByZWFkb25seUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBwcml2YXRlIF9yZWFkb25seSA9IGZhbHNlO1xuICAvKipcbiAgICogIElmIHNldCB0byB0cnVlLCB1c2VyIGNhbm5vdCBjaGFuZ2UgdGhlIHZhbHVlIG9mIGNvbXBvbmVudC5cbiAgICovXG4gIGdldCByZWFkb25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gIH1cbiAgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdyZWFkb25seScsXG4gICAgICB2YWx1ZSxcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlydHkgPSBmYWxzZTtcbiAgcHVibGljIGdldCBkaXJ0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlydHk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eSgpIHtcbiAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIF9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuXG4gIGluaXRWYWx1ZTogVDtcbiAgZGVmYXVsdFZhbHVlOiBUO1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhlIHByb3BlcnR5IHNob3VsZCBub3QgYmUgdXNlZCwgdXNlIG5nTW9kZWwgaW5zdGVhZFxuICAgKi9cbiAgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLmludGVybmFsR2V0VmFsdWUodGhpcy5fdmFsdWUpID8/IHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG4gIHNldCB2YWx1ZSh2OiBUKSB7XG4gICAgdiA9IHRoaXMuaW50ZXJuYWxTZXRWYWx1ZSh2KTtcbiAgICBjb25zdCBvbGQgPSBBWE9iamVjdFV0aWwuZGVlcEpTT05DbG9uZSh0aGlzLnZhbHVlKTtcbiAgICAvLyBUT0RPOiBjaGVjayByZWFsIGVxdWFsaXR5XG4gICAgaWYgKHYgIT0gb2xkKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICB0aGlzLmVtaXRPblZhbHVlQ2hhbmdlZEV2ZW50KG9sZCwgdGhpcy52YWx1ZSk7XG4gICAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gJycgfHwgKEFycmF5LmlzQXJyYXkodikgJiYgdi5sZW5ndGggPT0gMCkpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSgnY2xlYXInKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZUNoYW5nZWQodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy9zdGF0ZUNoYW5nZTpFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgX3N0YXRlOiBBWENvbXBvbmVudFN0YXRlID0gJ2NsZWFyJztcblxuICBnZXQgc3RhdGUoKTogQVhDb21wb25lbnRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICB9XG5cbiAgc2V0IHN0YXRlKHZhbHVlOiBBWENvbXBvbmVudFN0YXRlKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh2YWx1ZSk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICB2YWx1ZTogbmV3VmFsdWUsXG4gICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdGhpcy5faXNVc2VySW50ZXJhY3Rpb24sXG4gICAgfSk7XG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5ld1ZhbHVlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGludGVybmFsU2V0VmFsdWUodmFsdWU6IGFueSk6IFQge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbnRlcm5hbEdldFZhbHVlKHZhbHVlOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW50ZXJuYWxWYWx1ZUNoYW5nZWQodmFsdWU6IGFueSk6IHZvaWQgeyB9XG5cbiAgcHJvdGVjdGVkIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ2F4LWZvcm0taW5wdXQnLCAndHJ1ZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGVja1JlcXVpcmVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlZD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uT3B0aW9uQ2hhbmdlZD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrUmVxdWlyZWQoKSB7XG4gICAgY29uc3QgaXNSZXF1aXJlZCA9IEFycmF5LmZyb20odGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXZhbGlkYXRpb24tcnVsZScpKS5zb21lKFxuICAgICAgKGMpID0+IChjIGFzIGFueSkuX19heENvbnRleHRfXy5lbmFibGVkICYmIChjIGFzIGFueSkuX19heENvbnRleHRfXy5ydWxlID09ICdyZXF1aXJlZCcsXG4gICAgKTtcbiAgICAvL1xuICAgIGlmIChpc1JlcXVpcmVkKSB7XG4gICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdheC1lZGl0b3ItY29udGFpbmVyJylcbiAgICAgICAgPyB0aGlzLmdldEhvc3RFbGVtZW50KClcbiAgICAgICAgOiB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LWVkaXRvci1jb250YWluZXInKTtcbiAgICAgIGNvbnN0IGZvcm1GaWVsZCA9IGNvbnRhaW5lcj8uY2xvc2VzdCgnLmF4LWZvcm0tZmllbGQnKTtcbiAgICAgIGNvbnN0IGxhYmVsID0gKGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKSBhcyBhbnkpPy5fX2F4Q29udGV4dF9fO1xuICAgICAgaWYgKGxhYmVsKSBsYWJlbC5yZXF1aXJlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGUoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBydWxlcyA9IEFycmF5LmZyb20odGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXZhbGlkYXRpb24tcnVsZScpKS5maWx0ZXIoXG4gICAgICAoYykgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQsXG4gICAgKTtcbiAgICAvL1xuICAgIGlmICghcnVsZXMgfHwgcnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgIHJlc3VsdDogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSkgPT4ge1xuICAgICAgUHJvbWlzZS5hbGwoXG4gICAgICAgIHJ1bGVzXG4gICAgICAgICAgLmZpbHRlcigoYykgPT4gdHlwZW9mIChjIGFzIGFueSk/LnZhbGlkYXRlID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgIC5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoYyBhcyBhbnkpLnZhbGlkYXRlKHRoaXMudmFsdWUpO1xuICAgICAgICAgIH0pLFxuICAgICAgKS50aGVuKChkKSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZC5maW5kKChjKSA9PiBjLnJlc3VsdCA9PT0gZmFsc2UpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKCdlcnJvcicsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgcmVzdWx0OiBmYWxzZSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgIHJlc3VsdDogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFN0YXRlKHN0YXRlOiBBWENvbXBvbmVudFN0YXRlLCAuLi5hcmdzKSB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5jb250YWlucygnYXgtZWRpdG9yLWNvbnRhaW5lcicpXG4gICAgICA/IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKVxuICAgICAgOiB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LWVkaXRvci1jb250YWluZXInKTtcbiAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJy5heC1mb3JtLWZpZWxkJyk7XG4gICAgY29uc3QgbGFiZWwgPSBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2F4LWxhYmVsJykgfHwgZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdsYWJlbCcpO1xuICAgIGxldCB0YXJnZXQgPSBjb250YWluZXIgfHwgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmZpcnN0RWxlbWVudENoaWxkO1xuICAgIGlmICh0YXJnZXQ/LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKSkge1xuICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKTtcbiAgICB9XG4gICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0Py5wYXJlbnRFbGVtZW50O1xuICAgIGlmICghdGFyZ2V0IHx8ICFwYXJlbnQpIHJldHVybjtcblxuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgJ2NsZWFyJzpcbiAgICAgICAgdGhpcy5fc3RhdGUgPSAnY2xlYXInO1xuICAgICAgICBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbWVzc2FnZScpKSB7XG4gICAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSEpO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicpO1xuICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InLCAnYXgtc3RhdGUtc3VjY2VzcycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xuICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtc3VjY2VzcycpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9ICdzdWNjZXNzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgICAgIGlmIChhcmdzWzBdKSB7XG4gICAgICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9IGFyZ3NbMF07XG4gICAgICAgICAgc3Bhbi5jbGFzc0xpc3QuYWRkKCdheC1lcnJvci1tZXNzYWdlJyk7XG4gICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHNwYW4pO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsPy5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1lcnJvcicpO1xuICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtZXJyb3InKTtcblxuICAgICAgICB0aGlzLl9zdGF0ZSA9ICdlcnJvcic7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNoYW5nZUNhbGxiYWNrOiAodmFsdWU6IFQpID0+IHZvaWQgPSBub29wO1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjb21taXRWYWx1ZSh2YWx1ZTogVCwgdSA9IGZhbHNlKSB7XG4gICAgaWYgKHUpIHtcbiAgICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICB9XG5cbiAgY2xlYXIoZTogYm9vbGVhbikge1xuICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCwgZSk7XG4gICAgdGhpcy5zZXRTdGF0ZSgnY2xlYXInKTtcbiAgfVxufVxuIl19
@@ -1,16 +1,23 @@
1
- import { Directive, ElementRef, Host, Input, Optional, Self, } from '@angular/core';
1
+ import { Directive, ElementRef, Host, Input, Optional, Renderer2, Self, } from '@angular/core';
2
2
  import { AXFocusableComponent } from '../classes/components.class';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../classes/components.class";
5
5
  export class AXAutoFocusDirective {
6
- constructor(el, _host) {
6
+ constructor(renderer, el, _host) {
7
+ this.renderer = renderer;
7
8
  this.el = el;
8
9
  this._host = _host;
9
10
  this.autoFocus = true;
10
- this.time = 100;
11
+ this.time = 50;
11
12
  }
12
- ngAfterContentInit() {
13
+ ngAfterViewInit() {
13
14
  if (this.autoFocus) {
15
+ if (this._host) {
16
+ setTimeout(() => {
17
+ this._host.focus();
18
+ }, this.time);
19
+ return;
20
+ }
14
21
  const list = [
15
22
  'button',
16
23
  'input',
@@ -25,22 +32,22 @@ export class AXAutoFocusDirective {
25
32
  focusable.setAttributeNode(attr);
26
33
  const hasTabindex = focusable.hasAttribute('tabindex');
27
34
  if (!hasTabindex) {
28
- focusable.setAttribute('tabIndex', '0');
35
+ focusable.setAttribute('tabindex', '0');
29
36
  }
30
37
  setTimeout(() => {
31
38
  focusable.focus();
32
- }, 100);
39
+ }, this.time);
33
40
  }
34
41
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXAutoFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXFocusableComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"], time: ["focus-time", "time"] }, ngImport: i0 }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXAutoFocusDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.AXFocusableComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"], time: ["focus-time", "time"] }, ngImport: i0 }); }
37
44
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXAutoFocusDirective, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXAutoFocusDirective, decorators: [{
39
46
  type: Directive,
40
47
  args: [{
41
48
  selector: '[axAutoFocus]',
42
49
  }]
43
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXFocusableComponent, decorators: [{
50
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.AXFocusableComponent, decorators: [{
44
51
  type: Host
45
52
  }, {
46
53
  type: Self
@@ -53,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
53
60
  type: Input,
54
61
  args: ['focus-time']
55
62
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUtuRSxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQ1UsRUFBMkIsRUFJNUIsS0FBMkI7UUFKMUIsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFJNUIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFQN0IsY0FBUyxHQUFhLElBQUksQ0FBQztRQVlsQyxTQUFJLEdBQVcsR0FBRyxDQUFDO0lBSmYsQ0FBQztJQU1MLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEdBQUc7Z0JBQ1gsUUFBUTtnQkFDUixPQUFPO2dCQUNQLFFBQVE7Z0JBQ1IsUUFBUTtnQkFDUixVQUFVO2dCQUNWLFlBQVk7YUFDYixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLENBQUM7WUFFMUMsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBRXhCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbkQsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDaEIsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDekM7WUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7OEdBMUNVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBUUksSUFBSTs7MEJBQ0osSUFBSTs7MEJBQ0osUUFBUTs0Q0FOSixTQUFTO3NCQURmLEtBQUs7dUJBQUMsYUFBYTtnQkFhcEIsSUFBSTtzQkFESCxLQUFLO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEZvY3VzYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NsYXNzZXMvY29tcG9uZW50cy5jbGFzcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theEF1dG9Gb2N1c10nLFxufSlcbmV4cG9ydCBjbGFzcyBBWEF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuXG4gIEBJbnB1dCgnYXhBdXRvRm9jdXMnKVxuICBwdWJsaWMgYXV0b0ZvY3VzPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgQEhvc3QoKVxuICAgIEBTZWxmKClcbiAgICBAT3B0aW9uYWwoKVxuICAgIHB1YmxpYyBfaG9zdDogQVhGb2N1c2FibGVDb21wb25lbnRcbiAgKSB7IH1cblxuXG4gIEBJbnB1dCgnZm9jdXMtdGltZScpXG4gIHRpbWU6IG51bWJlciA9IDEwMDtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICBjb25zdCBsaXN0ID0gW1xuICAgICAgICAnYnV0dG9uJyxcbiAgICAgICAgJ2lucHV0JyxcbiAgICAgICAgJ1tocmVmXScsXG4gICAgICAgICdzZWxlY3QnLFxuICAgICAgICAndGV4dGFyZWEnLFxuICAgICAgICAnW3RhYmluZGV4XScsXG4gICAgICBdLm1hcCgoYykgPT4gYyArICc6bm90KFt0YWJpbmRleD1cIi0xXCJdKScpO1xuXG4gICAgICBjb25zdCBmb2N1c2FibGUgPVxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4obGlzdC5qb2luKCcsICcpKSA/P1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBcbiAgICAgIGNvbnN0IGF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoJ2F1dG9mb2N1cycpO1xuICAgICAgZm9jdXNhYmxlLnNldEF0dHJpYnV0ZU5vZGUoYXR0cik7XG4gICAgICBjb25zdCBoYXNUYWJpbmRleCA9IGZvY3VzYWJsZS5oYXNBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgICBpZiAoIWhhc1RhYmluZGV4KSB7XG4gICAgICAgIGZvY3VzYWJsZS5zZXRBdHRyaWJ1dGUoJ3RhYkluZGV4JywgJzAnKTtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBmb2N1c2FibGUuZm9jdXMoKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFLbkUsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQixZQUNVLFFBQW1CLEVBQ25CLEVBQTJCLEVBSTVCLEtBQTJCO1FBTDFCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFJNUIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFSN0IsY0FBUyxHQUFhLElBQUksQ0FBQztRQWFsQyxTQUFJLEdBQVcsRUFBRSxDQUFDO0lBSmQsQ0FBQztJQU1MLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckIsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDZCxPQUFPO2FBQ1I7WUFDRCxNQUFNLElBQUksR0FBRztnQkFDWCxRQUFRO2dCQUNSLE9BQU87Z0JBQ1AsUUFBUTtnQkFDUixRQUFRO2dCQUNSLFVBQVU7Z0JBQ1YsWUFBWTthQUNiLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztZQUUxQyxNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFFeEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuRCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoQixTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN6QztZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDZjtJQUNILENBQUM7OEdBakRVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBU0ksSUFBSTs7MEJBQ0osSUFBSTs7MEJBQ0osUUFBUTs0Q0FQSixTQUFTO3NCQURmLEtBQUs7dUJBQUMsYUFBYTtnQkFjcEIsSUFBSTtzQkFESCxLQUFLO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRm9jdXNhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY2xhc3Nlcy9jb21wb25lbnRzLmNsYXNzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4QXV0b0ZvY3VzXScsXG59KVxuZXhwb3J0IGNsYXNzIEFYQXV0b0ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KCdheEF1dG9Gb2N1cycpXG4gIHB1YmxpYyBhdXRvRm9jdXM/OiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgQEhvc3QoKVxuICAgIEBTZWxmKClcbiAgICBAT3B0aW9uYWwoKVxuICAgIHB1YmxpYyBfaG9zdDogQVhGb2N1c2FibGVDb21wb25lbnRcbiAgKSB7IH1cblxuXG4gIEBJbnB1dCgnZm9jdXMtdGltZScpXG4gIHRpbWU6IG51bWJlciA9IDUwO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIGlmICh0aGlzLl9ob3N0KSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2hvc3QuZm9jdXMoKTtcbiAgICAgICAgfSwgdGhpcy50aW1lKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgbGlzdCA9IFtcbiAgICAgICAgJ2J1dHRvbicsXG4gICAgICAgICdpbnB1dCcsXG4gICAgICAgICdbaHJlZl0nLFxuICAgICAgICAnc2VsZWN0JyxcbiAgICAgICAgJ3RleHRhcmVhJyxcbiAgICAgICAgJ1t0YWJpbmRleF0nLFxuICAgICAgXS5tYXAoKGMpID0+IGMgKyAnOm5vdChbdGFiaW5kZXg9XCItMVwiXSknKTtcblxuICAgICAgY29uc3QgZm9jdXNhYmxlID1cbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGxpc3Quam9pbignLCAnKSkgPz9cbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICBjb25zdCBhdHRyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCdhdXRvZm9jdXMnKTtcbiAgICAgIGZvY3VzYWJsZS5zZXRBdHRyaWJ1dGVOb2RlKGF0dHIpO1xuICAgICAgY29uc3QgaGFzVGFiaW5kZXggPSBmb2N1c2FibGUuaGFzQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgaWYgKCFoYXNUYWJpbmRleCkge1xuICAgICAgICBmb2N1c2FibGUuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XG4gICAgICB9LCB0aGlzLnRpbWUpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,49 @@
1
+ import { Directive, EventEmitter, Input, Output } from "@angular/core";
2
+ import { NgModel } from "@angular/forms";
3
+ import { debounceTime, distinctUntilChanged, skip } from "rxjs";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ export class AXNgModelDelayedValueChangedDirective {
7
+ get delayTime() {
8
+ return this._delayTime;
9
+ }
10
+ set delayTime(v) {
11
+ if (v != this._delayTime) {
12
+ this._delayTime = v;
13
+ this.delayTimeChange.emit(v);
14
+ this.update();
15
+ }
16
+ }
17
+ ngOnDestroy() {
18
+ this.subscription.unsubscribe();
19
+ }
20
+ constructor(ngModel) {
21
+ this.ngModel = ngModel;
22
+ this.delayedValueChanged = new EventEmitter();
23
+ this.delayTimeChange = new EventEmitter();
24
+ this._delayTime = 0;
25
+ this.delayTime = 0;
26
+ }
27
+ update() {
28
+ this.subscription?.unsubscribe();
29
+ //
30
+ this.subscription = this.ngModel.control.valueChanges.pipe(skip(1), // skip initial value
31
+ distinctUntilChanged(), debounceTime(this.delayTime)).subscribe((value) => this.delayedValueChanged.emit(value));
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNgModelDelayedValueChangedDirective, deps: [{ token: i1.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: AXNgModelDelayedValueChangedDirective, isStandalone: true, selector: "[delayedValueChanged]", inputs: { delayTime: "delayTime" }, outputs: { delayedValueChanged: "delayedValueChanged", delayTimeChange: "delayTimeChange" }, ngImport: i0 }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNgModelDelayedValueChangedDirective, decorators: [{
37
+ type: Directive,
38
+ args: [{
39
+ selector: '[delayedValueChanged]',
40
+ standalone: true
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i1.NgModel }]; }, propDecorators: { delayedValueChanged: [{
43
+ type: Output
44
+ }], delayTimeChange: [{
45
+ type: Output
46
+ }], delayTime: [{
47
+ type: Input
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXllZC12YWx1ZS1jaGFuZ2VkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2RlbGF5ZWQtdmFsdWUtY2hhbmdlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7QUFNOUUsTUFBTSxPQUFPLHFDQUFxQztJQVM5QyxJQUNXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLFNBQVMsQ0FBQyxDQUFTO1FBQzFCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1NBQ2hCO0lBQ0wsQ0FBQztJQUlELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBeEJwQyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRzlDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQTtRQUVwQyxlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBb0IzQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sTUFBTTtRQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDakMsRUFBRTtRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHFCQUFxQjtRQUM5QixvQkFBb0IsRUFBRSxFQUN0QixZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7OEdBdkNRLHFDQUFxQztrR0FBckMscUNBQXFDOzsyRkFBckMscUNBQXFDO2tCQUpqRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBQyxJQUFJO2lCQUNsQjs4RkFJRyxtQkFBbUI7c0JBRGxCLE1BQU07Z0JBSVAsZUFBZTtzQkFEZCxNQUFNO2dCQUtJLFNBQVM7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNraXAsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RlbGF5ZWRWYWx1ZUNoYW5nZWRdJyxcbiAgICBzdGFuZGFsb25lOnRydWVcbn0pXG5leHBvcnQgY2xhc3MgQVhOZ01vZGVsRGVsYXllZFZhbHVlQ2hhbmdlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBAT3V0cHV0KClcbiAgICBkZWxheWVkVmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBkZWxheVRpbWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxuXG4gICAgcHJpdmF0ZSBfZGVsYXlUaW1lOiBudW1iZXIgPSAwO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkZWxheVRpbWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlbGF5VGltZTtcbiAgICB9XG4gICAgcHVibGljIHNldCBkZWxheVRpbWUodjogbnVtYmVyKSB7XG4gICAgICAgIGlmICh2ICE9IHRoaXMuX2RlbGF5VGltZSkge1xuICAgICAgICAgICAgdGhpcy5fZGVsYXlUaW1lID0gdjtcbiAgICAgICAgICAgIHRoaXMuZGVsYXlUaW1lQ2hhbmdlLmVtaXQodik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSgpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ01vZGVsOiBOZ01vZGVsKSB7XG4gICAgICAgIHRoaXMuZGVsYXlUaW1lID0gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIC8vXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5uZ01vZGVsLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBza2lwKDEpLCAvLyBza2lwIGluaXRpYWwgdmFsdWVcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWxheVRpbWUpXG4gICAgICAgICkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5kZWxheWVkVmFsdWVDaGFuZ2VkLmVtaXQodmFsdWUpKTtcbiAgICB9XG59Il19
@@ -60,10 +60,10 @@ export class AXHotkeyDirective {
60
60
  s.unsubscribe();
61
61
  });
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHotkeyDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXComponent, host: true, optional: true, self: true }, { token: i2.AXHotkeysService }], target: i0.ɵɵFactoryTarget.Directive }); }
64
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: AXHotkeyDirective, selector: "[hotkey]", inputs: { hotkey: "hotkey" }, ngImport: i0 }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXHotkeyDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXComponent, host: true, optional: true, self: true }, { token: i2.AXHotkeysService }], target: i0.ɵɵFactoryTarget.Directive }); }
64
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: AXHotkeyDirective, selector: "[hotkey]", inputs: { hotkey: "hotkey" }, ngImport: i0 }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHotkeyDirective, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXHotkeyDirective, decorators: [{
67
67
  type: Directive,
68
68
  args: [{
69
69
  selector: '[hotkey]',
@@ -45,10 +45,10 @@ export class AXInfiniteScrollerDirective {
45
45
  }));
46
46
  //.subscribe((data) => { console.log(data) }, (err) => console.log(err));
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXInfiniteScrollerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
49
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: AXInfiniteScrollerDirective, selector: "[axInfiniteScroller]", inputs: { scrollCallback: "scrollCallback", immediateCallback: "immediateCallback", scrollPercent: "scrollPercent" }, ngImport: i0 }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXInfiniteScrollerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: AXInfiniteScrollerDirective, selector: "[axInfiniteScroller]", inputs: { scrollCallback: "scrollCallback", immediateCallback: "immediateCallback", scrollPercent: "scrollPercent" }, ngImport: i0 }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXInfiniteScrollerDirective, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXInfiniteScrollerDirective, decorators: [{
52
52
  type: Directive,
53
53
  args: [{
54
54
  selector: '[axInfiniteScroller]'
@@ -27,10 +27,10 @@ export class AXResponsiveDirective {
27
27
  this._observer?.disconnect();
28
28
  this._observer?.unobserve(this._elementRef.nativeElement);
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXResponsiveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: AXResponsiveDirective, selector: "[ax-responsive]", ngImport: i0 }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXResponsiveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: AXResponsiveDirective, selector: "[ax-responsive]", ngImport: i0 }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXResponsiveDirective, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXResponsiveDirective, decorators: [{
34
34
  type: Directive,
35
35
  args: [{ selector: '[ax-responsive]' }]
36
36
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
@@ -11,10 +11,10 @@ export class DynamicOverlayContainer extends OverlayContainer {
11
11
  setContainerElement(containerElement) {
12
12
  this._containerElement = containerElement;
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: DynamicOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: DynamicOverlayContainer, providedIn: 'root' }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DynamicOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DynamicOverlayContainer, providedIn: 'root' }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: DynamicOverlayContainer, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DynamicOverlayContainer, decorators: [{
18
18
  type: Injectable,
19
19
  args: [{
20
20
  providedIn: 'root',
@@ -34,10 +34,10 @@ export class DynamicOverlay extends Overlay {
34
34
  this.setContainerElement(containerElement);
35
35
  return super.create(config);
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: DynamicOverlay, deps: [{ token: i1.ScrollStrategyOptions }, { token: DynamicOverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: i1.OverlayPositionBuilder }, { token: i1.OverlayKeyboardDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i2.Directionality }, { token: i0.RendererFactory2 }, { token: i3.Location }, { token: i1.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: DynamicOverlay, providedIn: 'root' }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DynamicOverlay, deps: [{ token: i1.ScrollStrategyOptions }, { token: DynamicOverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: i1.OverlayPositionBuilder }, { token: i1.OverlayKeyboardDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i2.Directionality }, { token: i0.RendererFactory2 }, { token: i3.Location }, { token: i1.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DynamicOverlay, providedIn: 'root' }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: DynamicOverlay, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DynamicOverlay, decorators: [{
41
41
  type: Injectable,
42
42
  args: [{
43
43
  providedIn: 'root',
@@ -0,0 +1,16 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AXDomService {
4
+ generateElementId() {
5
+ const dateString = Date.now().toString(36);
6
+ const randomness = Math.random().toString(36).substr(2);
7
+ return dateString + randomness;
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXDomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXDomService, providedIn: 'root' }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXDomService, decorators: [{
13
+ type: Injectable,
14
+ args: [{ providedIn: 'root' }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvZG9tLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFFckIsaUJBQWlCO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxPQUFPLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDbkMsQ0FBQzs4R0FOUSxZQUFZO2tIQUFaLFlBQVksY0FEQyxNQUFNOzsyRkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWERvbVNlcnZpY2Uge1xuXG4gICAgZ2VuZXJhdGVFbGVtZW50SWQoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IERhdGUubm93KCkudG9TdHJpbmcoMzYpO1xuICAgICAgICBjb25zdCByYW5kb21uZXNzID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpO1xuICAgICAgICByZXR1cm4gZGF0ZVN0cmluZyArIHJhbmRvbW5lc3M7XG4gICAgfVxufSJdfQ==
@@ -33,10 +33,10 @@ export class AXHotkeysService {
33
33
  }
34
34
  });
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHotkeysService, deps: [{ token: i1.EventManager }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHotkeysService, providedIn: 'root' }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXHotkeysService, deps: [{ token: i1.EventManager }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXHotkeysService, providedIn: 'root' }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHotkeysService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXHotkeysService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{ providedIn: 'root' }]
42
42
  }], ctorParameters: function () { return [{ type: i1.EventManager }, { type: Document, decorators: [{
@@ -103,10 +103,10 @@ export class AXOverlayService {
103
103
  },
104
104
  };
105
105
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXOverlayService, deps: [{ token: i1.DynamicOverlay }, { token: i2.Overlay }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
107
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXOverlayService, providedIn: 'root' }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXOverlayService, deps: [{ token: i1.DynamicOverlay }, { token: i2.Overlay }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
107
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXOverlayService, providedIn: 'root' }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXOverlayService, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXOverlayService, decorators: [{
110
110
  type: Injectable,
111
111
  args: [{ providedIn: 'root' }]
112
112
  }], ctorParameters: function () { return [{ type: i1.DynamicOverlay }, { type: i2.Overlay }, { type: i0.ApplicationRef }]; } });