@acorex/components 7.2.8 → 7.3.2

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 (464) 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 +10 -10
  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 +1 -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/color-palette/lib/color-palette-input.component.d.ts +1 -1
  17. package/color-palette/lib/color-palette.module.d.ts +1 -1
  18. package/color-picker/lib/color-picker.component.d.ts +17 -24
  19. package/color-picker/lib/color-picker.module.d.ts +1 -1
  20. package/common/index.d.ts +3 -3
  21. package/common/lib/classes/components.class.d.ts +12 -3
  22. package/common/lib/classes/datalist.class.d.ts +11 -0
  23. package/common/lib/common.module.d.ts +3 -4
  24. package/common/lib/components/base-component.class.d.ts +9 -3
  25. package/common/lib/components/input-base-value-component.class.d.ts +1 -0
  26. package/common/lib/components/value-component.class.d.ts +9 -2
  27. package/common/lib/directives/auto-focus.directive.d.ts +6 -5
  28. package/common/lib/directives/delayed-value-changed.directive.d.ts +17 -0
  29. package/common/lib/services/dom.service.d.ts +6 -0
  30. package/data-pager/lib/data-pager-base.component.d.ts +18 -13
  31. package/data-pager/lib/data-pager-info.component.d.ts +3 -9
  32. package/data-pager/lib/data-pager-input-selector.component.d.ts +5 -9
  33. package/data-pager/lib/data-pager-next-buttons.components.d.ts +2 -8
  34. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +2 -7
  35. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +2 -6
  36. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +2 -7
  37. package/data-pager/lib/data-pager.component.d.ts +17 -18
  38. package/data-pager/lib/data-pager.module.d.ts +6 -5
  39. package/data-table/index.d.ts +0 -1
  40. package/data-table/lib/data-column.directive.d.ts +3 -8
  41. package/data-table/lib/data-table.component.d.ts +6 -7
  42. package/data-table/lib/data-table.module.d.ts +6 -7
  43. package/date-picker/lib/datepicker.component.d.ts +7 -6
  44. package/date-picker/lib/datepicker.module.d.ts +1 -1
  45. package/decorators/index.d.ts +2 -12
  46. package/decorators/lib/clear-button.component.d.ts +13 -0
  47. package/decorators/lib/close-button.component.d.ts +5 -8
  48. package/decorators/lib/decorators.module.d.ts +6 -15
  49. package/decorators/lib/generic-content.component.d.ts +6 -0
  50. package/decorators/lib/icon.component.d.ts +2 -4
  51. package/dialog/lib/dialog.class.d.ts +11 -3
  52. package/dialog/lib/dialog.component.d.ts +15 -11
  53. package/dialog/lib/dialog.module.d.ts +4 -3
  54. package/dialog/lib/dialog.service.d.ts +4 -12
  55. package/drawer/lib/drawer-container.component.d.ts +2 -5
  56. package/drawer/lib/drawer.component.d.ts +6 -7
  57. package/esm2022/action-sheet/index.mjs +2 -2
  58. package/esm2022/action-sheet/lib/action-sheet.class.mjs +2 -0
  59. package/esm2022/action-sheet/lib/action-sheet.component.mjs +50 -38
  60. package/esm2022/action-sheet/lib/action-sheet.module.mjs +11 -7
  61. package/esm2022/action-sheet/lib/action-sheet.service.mjs +32 -72
  62. package/esm2022/alert/lib/alert.component.mjs +14 -16
  63. package/esm2022/alert/lib/alert.module.mjs +7 -7
  64. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  65. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  66. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  67. package/esm2022/badge/lib/badge.component.mjs +6 -6
  68. package/esm2022/badge/lib/badge.module.mjs +4 -4
  69. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  70. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  71. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  72. package/esm2022/button/lib/button-group.component.mjs +3 -3
  73. package/esm2022/button/lib/button-item.class.mjs +1 -1
  74. package/esm2022/button/lib/button-item.component.mjs +3 -3
  75. package/esm2022/button/lib/button.component.mjs +35 -17
  76. package/esm2022/button/lib/button.module.mjs +4 -4
  77. package/esm2022/calendar/lib/calendar-range.component.mjs +5 -5
  78. package/esm2022/calendar/lib/calendar.class.mjs +3 -3
  79. package/esm2022/calendar/lib/calendar.component.mjs +7 -5
  80. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  81. package/esm2022/check-box/acorex-components-check-box.mjs +5 -0
  82. package/esm2022/check-box/index.mjs +3 -0
  83. package/esm2022/check-box/lib/check-box.component.mjs +76 -0
  84. package/esm2022/check-box/lib/check-box.module.mjs +21 -0
  85. package/esm2022/chips/lib/chips.component.mjs +3 -3
  86. package/esm2022/chips/lib/chips.module.mjs +4 -4
  87. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  88. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  89. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  90. package/esm2022/color-palette/lib/color-palette-input.component.mjs +18 -12
  91. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +3 -3
  92. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  93. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  94. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  95. package/esm2022/color-palette/lib/color-palette.component.mjs +5 -5
  96. package/esm2022/color-palette/lib/color-palette.module.mjs +6 -6
  97. package/esm2022/color-picker/lib/color-picker.component.mjs +12 -6
  98. package/esm2022/color-picker/lib/color-picker.module.mjs +6 -6
  99. package/esm2022/common/index.mjs +4 -4
  100. package/esm2022/common/lib/classes/components.class.mjs +26 -19
  101. package/esm2022/common/lib/classes/datalist.class.mjs +3 -0
  102. package/esm2022/common/lib/common.module.mjs +5 -10
  103. package/esm2022/common/lib/components/base-component.class.mjs +21 -11
  104. package/esm2022/common/lib/components/input-base-value-component.class.mjs +4 -4
  105. package/esm2022/common/lib/components/value-component.class.mjs +18 -10
  106. package/esm2022/common/lib/directives/auto-focus.directive.mjs +18 -11
  107. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +49 -0
  108. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  109. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  110. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  111. package/esm2022/common/lib/services/dom.service.mjs +16 -0
  112. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  113. package/esm2022/context-menu/lib/context-menu.component.mjs +5 -5
  114. package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
  115. package/esm2022/data-pager/lib/data-pager-base.component.mjs +35 -21
  116. package/esm2022/data-pager/lib/data-pager-info.component.mjs +13 -26
  117. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +27 -31
  118. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +19 -33
  119. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +31 -38
  120. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +22 -31
  121. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +19 -29
  122. package/esm2022/data-pager/lib/data-pager.component.mjs +66 -38
  123. package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
  124. package/esm2022/data-table/index.mjs +1 -2
  125. package/esm2022/data-table/lib/data-column.directive.mjs +7 -22
  126. package/esm2022/data-table/lib/data-table.component.mjs +30 -30
  127. package/esm2022/data-table/lib/data-table.module.mjs +6 -7
  128. package/esm2022/date-picker/lib/datepicker.component.mjs +19 -16
  129. package/esm2022/date-picker/lib/datepicker.module.mjs +6 -6
  130. package/esm2022/decorators/index.mjs +3 -13
  131. package/esm2022/decorators/lib/clear-button.component.mjs +58 -0
  132. package/esm2022/decorators/lib/close-button.component.mjs +16 -20
  133. package/esm2022/decorators/lib/decorators.module.mjs +13 -49
  134. package/esm2022/decorators/lib/generic-content.component.mjs +17 -0
  135. package/esm2022/decorators/lib/icon.component.mjs +8 -11
  136. package/esm2022/dialog/lib/dialog.class.mjs +1 -1
  137. package/esm2022/dialog/lib/dialog.component.mjs +41 -23
  138. package/esm2022/dialog/lib/dialog.module.mjs +10 -8
  139. package/esm2022/dialog/lib/dialog.service.mjs +41 -49
  140. package/esm2022/drawer/lib/drawer-container.component.mjs +9 -13
  141. package/esm2022/drawer/lib/drawer.component.mjs +22 -27
  142. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  143. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +5 -5
  144. package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
  145. package/esm2022/form/lib/form-field.component.mjs +9 -12
  146. package/esm2022/form/lib/form.component.mjs +38 -42
  147. package/esm2022/form/lib/form.module.mjs +4 -4
  148. package/esm2022/form/lib/validation-rule.widget.mjs +24 -15
  149. package/esm2022/form/lib/validation-summary.component.mjs +15 -14
  150. package/esm2022/image/lib/image.component.mjs +13 -17
  151. package/esm2022/image/lib/image.module.mjs +4 -4
  152. package/esm2022/label/lib/label.component.mjs +18 -18
  153. package/esm2022/label/lib/label.module.mjs +4 -4
  154. package/esm2022/loading/index.mjs +2 -1
  155. package/esm2022/loading/lib/loading-spinner.component.mjs +4 -5
  156. package/esm2022/loading/lib/loading.component.mjs +22 -25
  157. package/esm2022/loading/lib/loading.config.mjs +17 -0
  158. package/esm2022/loading/lib/loading.directive.mjs +20 -51
  159. package/esm2022/loading/lib/loading.module.mjs +7 -18
  160. package/esm2022/loading/lib/loading.service.mjs +36 -60
  161. package/esm2022/menu/lib/menu.component.mjs +26 -19
  162. package/esm2022/menu/lib/menu.module.mjs +4 -4
  163. package/esm2022/mixin/index.mjs +1 -2
  164. package/esm2022/mixin/lib/base-components.class.mjs +3 -3
  165. package/esm2022/mixin/lib/color-look-mixing.class.mjs +1 -1
  166. package/esm2022/notification/index.mjs +2 -1
  167. package/esm2022/notification/lib/notification.class.mjs +1 -1
  168. package/esm2022/notification/lib/notification.component.mjs +51 -35
  169. package/esm2022/notification/lib/notification.config.mjs +20 -0
  170. package/esm2022/notification/lib/notification.module.mjs +11 -7
  171. package/esm2022/notification/lib/notification.service.mjs +46 -59
  172. package/esm2022/number-box/lib/number-box.component.mjs +101 -90
  173. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  174. package/esm2022/otp/lib/otp.component.mjs +38 -48
  175. package/esm2022/otp/lib/otp.module.mjs +4 -4
  176. package/esm2022/page/lib/base-page.class.mjs +22 -23
  177. package/esm2022/page/lib/page.component.mjs +13 -13
  178. package/esm2022/page/lib/page.module.mjs +4 -4
  179. package/esm2022/password-box/lib/password-box.component.mjs +37 -25
  180. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  181. package/esm2022/popover/lib/dropdown-component.class.mjs +3 -3
  182. package/esm2022/popover/lib/popover.component.mjs +62 -23
  183. package/esm2022/popover/lib/popover.module.mjs +4 -4
  184. package/esm2022/popup/index.mjs +2 -1
  185. package/esm2022/popup/lib/popup.component.mjs +49 -69
  186. package/esm2022/popup/lib/popup.interface.mjs +2 -0
  187. package/esm2022/popup/lib/popup.module.mjs +27 -12
  188. package/esm2022/popup/lib/popup.service.mjs +31 -86
  189. package/esm2022/progress-bar/lib/progress-bar.component.mjs +9 -13
  190. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  191. package/esm2022/radio/lib/radio.component.mjs +4 -4
  192. package/esm2022/radio/lib/radio.module.mjs +4 -4
  193. package/esm2022/range-slider/lib/range-slider.component.mjs +3 -3
  194. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  195. package/esm2022/result/lib/result.component.mjs +3 -3
  196. package/esm2022/result/lib/result.module.mjs +4 -4
  197. package/esm2022/scheduler/acorex-components-scheduler.mjs +5 -0
  198. package/esm2022/scheduler/index.mjs +4 -0
  199. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +45 -0
  200. package/esm2022/scheduler/lib/scheduler.component.mjs +30 -0
  201. package/esm2022/scheduler/lib/scheduler.module.mjs +26 -0
  202. package/esm2022/search-box/lib/search-box.component.mjs +35 -44
  203. package/esm2022/search-box/lib/search-box.module.mjs +28 -7
  204. package/esm2022/select-box/lib/select-box.component.mjs +11 -9
  205. package/esm2022/select-box/lib/select-box.module.mjs +7 -7
  206. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  207. package/esm2022/selection-list/lib/selection-list.module.mjs +6 -6
  208. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  209. package/esm2022/switch/lib/switch.component.mjs +4 -4
  210. package/esm2022/switch/lib/switch.module.mjs +4 -4
  211. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  212. package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
  213. package/esm2022/tabs/lib/tabs.component.mjs +3 -3
  214. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  215. package/esm2022/tag/lib/tag.component.mjs +3 -3
  216. package/esm2022/tag/lib/tag.module.mjs +4 -4
  217. package/esm2022/text-area/acorex-components-text-area.mjs +5 -0
  218. package/esm2022/text-area/index.mjs +3 -0
  219. package/esm2022/text-area/lib/text-area.component.mjs +36 -0
  220. package/esm2022/text-area/lib/text-area.module.mjs +19 -0
  221. package/esm2022/{checkbox/acorex-components-checkbox.mjs → text-box/acorex-components-text-box.mjs} +1 -1
  222. package/esm2022/text-box/index.mjs +4 -0
  223. package/esm2022/text-box/lib/mask-options.directive.mjs +17 -0
  224. package/esm2022/text-box/lib/text-box.component.mjs +111 -0
  225. package/esm2022/text-box/lib/text-box.module.mjs +38 -0
  226. package/esm2022/time-box/lib/time-box.component.mjs +5 -5
  227. package/esm2022/time-box/lib/time-box.module.mjs +4 -4
  228. package/esm2022/toast/index.mjs +2 -1
  229. package/esm2022/toast/lib/toast.class.mjs +1 -1
  230. package/esm2022/toast/lib/toast.component.mjs +37 -25
  231. package/esm2022/toast/lib/toast.config.mjs +25 -0
  232. package/esm2022/toast/lib/toast.module.mjs +16 -8
  233. package/esm2022/toast/lib/toast.service.mjs +46 -55
  234. package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
  235. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  236. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  237. package/esm2022/uploader/lib/uploader.component.mjs +3 -3
  238. package/esm2022/uploader/lib/uploader.module.mjs +4 -4
  239. package/fesm2022/acorex-components-action-sheet.mjs +99 -125
  240. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  241. package/fesm2022/acorex-components-alert.mjs +16 -18
  242. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  243. package/fesm2022/acorex-components-avatar.mjs +10 -10
  244. package/fesm2022/acorex-components-badge.mjs +8 -8
  245. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  246. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  247. package/fesm2022/acorex-components-button.mjs +42 -24
  248. package/fesm2022/acorex-components-button.mjs.map +1 -1
  249. package/fesm2022/acorex-components-calendar.mjs +17 -15
  250. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  251. package/fesm2022/acorex-components-check-box.mjs +100 -0
  252. package/fesm2022/acorex-components-check-box.mjs.map +1 -0
  253. package/fesm2022/acorex-components-chips.mjs +7 -7
  254. package/fesm2022/acorex-components-collapse.mjs +10 -10
  255. package/fesm2022/acorex-components-color-palette.mjs +42 -36
  256. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  257. package/fesm2022/acorex-components-color-picker.mjs +16 -10
  258. package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
  259. package/fesm2022/acorex-components-common.mjs +155 -261
  260. package/fesm2022/acorex-components-common.mjs.map +1 -1
  261. package/fesm2022/acorex-components-context-menu.mjs +8 -8
  262. package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
  263. package/fesm2022/acorex-components-data-pager.mjs +214 -228
  264. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  265. package/fesm2022/acorex-components-data-table.mjs +41 -71
  266. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  267. package/fesm2022/acorex-components-date-picker.mjs +25 -22
  268. package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
  269. package/fesm2022/acorex-components-decorators.mjs +80 -283
  270. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  271. package/fesm2022/acorex-components-dialog.mjs +97 -88
  272. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  273. package/fesm2022/acorex-components-drawer.mjs +30 -39
  274. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  275. package/fesm2022/acorex-components-dropdown.mjs +8 -8
  276. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  277. package/fesm2022/acorex-components-form.mjs +80 -77
  278. package/fesm2022/acorex-components-form.mjs.map +1 -1
  279. package/fesm2022/acorex-components-image.mjs +15 -19
  280. package/fesm2022/acorex-components-image.mjs.map +1 -1
  281. package/fesm2022/acorex-components-label.mjs +21 -21
  282. package/fesm2022/acorex-components-label.mjs.map +1 -1
  283. package/fesm2022/acorex-components-loading.mjs +123 -178
  284. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  285. package/fesm2022/acorex-components-menu.mjs +29 -22
  286. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  287. package/fesm2022/acorex-components-mixin.mjs +4 -22
  288. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  289. package/fesm2022/acorex-components-notification.mjs +131 -107
  290. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  291. package/fesm2022/acorex-components-number-box.mjs +106 -96
  292. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  293. package/fesm2022/acorex-components-otp.mjs +40 -50
  294. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  295. package/fesm2022/acorex-components-page.mjs +55 -56
  296. package/fesm2022/acorex-components-page.mjs.map +1 -1
  297. package/fesm2022/acorex-components-password-box.mjs +41 -30
  298. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  299. package/fesm2022/acorex-components-popover.mjs +68 -29
  300. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  301. package/fesm2022/acorex-components-popup.mjs +107 -170
  302. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  303. package/fesm2022/acorex-components-progress-bar.mjs +12 -16
  304. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  305. package/fesm2022/acorex-components-radio.mjs +8 -8
  306. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  307. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  308. package/fesm2022/acorex-components-result.mjs +7 -7
  309. package/fesm2022/acorex-components-scheduler.mjs +98 -0
  310. package/fesm2022/acorex-components-scheduler.mjs.map +1 -0
  311. package/fesm2022/acorex-components-search-box.mjs +61 -49
  312. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  313. package/fesm2022/acorex-components-select-box.mjs +16 -14
  314. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  315. package/fesm2022/acorex-components-selection-list.mjs +8 -8
  316. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  317. package/fesm2022/acorex-components-switch.mjs +11 -11
  318. package/fesm2022/acorex-components-tabs.mjs +13 -13
  319. package/fesm2022/acorex-components-tag.mjs +7 -7
  320. package/fesm2022/acorex-components-text-area.mjs +59 -0
  321. package/fesm2022/acorex-components-text-area.mjs.map +1 -0
  322. package/fesm2022/{acorex-components-textbox.mjs → acorex-components-text-box.mjs} +20 -20
  323. package/fesm2022/acorex-components-text-box.mjs.map +1 -0
  324. package/fesm2022/acorex-components-time-box.mjs +8 -8
  325. package/fesm2022/acorex-components-time-box.mjs.map +1 -1
  326. package/fesm2022/acorex-components-toast.mjs +126 -94
  327. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  328. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  329. package/fesm2022/acorex-components-uploader.mjs +7 -7
  330. package/form/lib/form-field.component.d.ts +2 -4
  331. package/form/lib/form.component.d.ts +12 -17
  332. package/form/lib/validation-rule.widget.d.ts +9 -6
  333. package/form/lib/validation-summary.component.d.ts +7 -9
  334. package/image/lib/image.component.d.ts +7 -13
  335. package/label/lib/label.component.d.ts +4 -7
  336. package/loading/index.d.ts +1 -0
  337. package/loading/lib/loading.component.d.ts +9 -12
  338. package/loading/lib/loading.config.d.ts +8 -0
  339. package/loading/lib/loading.directive.d.ts +10 -17
  340. package/loading/lib/loading.module.d.ts +1 -2
  341. package/loading/lib/loading.service.d.ts +10 -33
  342. package/menu/lib/menu.component.d.ts +4 -2
  343. package/mixin/index.d.ts +0 -1
  344. package/mixin/lib/base-components.class.d.ts +2 -2
  345. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  346. package/mixin/lib/button-mixin.class.d.ts +2 -2
  347. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  348. package/mixin/lib/color-look-mixing.class.d.ts +3 -3
  349. package/mixin/lib/datalist-component.class.d.ts +10 -10
  350. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  351. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  352. package/mixin/lib/mixin.class.d.ts +61 -61
  353. package/mixin/lib/page-component.class.d.ts +2 -2
  354. package/mixin/lib/selection-component.class.d.ts +2 -2
  355. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  356. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  357. package/mixin/lib/value-mixin.class.d.ts +8 -8
  358. package/notification/index.d.ts +1 -0
  359. package/notification/lib/notification.class.d.ts +29 -7
  360. package/notification/lib/notification.component.d.ts +13 -14
  361. package/notification/lib/notification.config.d.ts +13 -0
  362. package/notification/lib/notification.module.d.ts +4 -1
  363. package/notification/lib/notification.service.d.ts +5 -9
  364. package/number-box/lib/number-box.component.d.ts +12 -17
  365. package/otp/lib/otp.component.d.ts +7 -14
  366. package/package.json +41 -38
  367. package/page/lib/base-page.class.d.ts +8 -12
  368. package/page/lib/page.component.d.ts +4 -4
  369. package/password-box/lib/password-box.component.d.ts +8 -11
  370. package/popover/lib/popover.component.d.ts +13 -5
  371. package/popup/index.d.ts +1 -0
  372. package/popup/lib/popup.component.d.ts +14 -19
  373. package/popup/lib/popup.interface.d.ts +26 -0
  374. package/popup/lib/popup.module.d.ts +4 -4
  375. package/popup/lib/popup.service.d.ts +4 -25
  376. package/progress-bar/lib/progress-bar.component.d.ts +3 -8
  377. package/scheduler/README.md +3 -0
  378. package/scheduler/index.d.ts +3 -0
  379. package/scheduler/lib/scheduler-month-view.component.d.ts +20 -0
  380. package/scheduler/lib/scheduler.component.d.ts +11 -0
  381. package/scheduler/lib/scheduler.module.d.ts +13 -0
  382. package/search-box/lib/search-box.component.d.ts +8 -16
  383. package/search-box/lib/search-box.module.d.ts +7 -5
  384. package/select-box/lib/select-box.module.d.ts +2 -2
  385. package/selection-list/lib/selection-list.module.d.ts +1 -1
  386. package/tabs/lib/tab-item.component.d.ts +2 -2
  387. package/text-area/README.md +3 -0
  388. package/text-area/index.d.ts +2 -0
  389. package/text-area/lib/text-area.component.d.ts +11 -0
  390. package/text-area/lib/text-area.module.d.ts +9 -0
  391. package/text-box/README.md +3 -0
  392. package/text-box/index.d.ts +3 -0
  393. package/{textbox/lib/textbox.component.d.ts → text-box/lib/text-box.component.d.ts} +1 -3
  394. package/{textbox/lib/textbox.module.d.ts → text-box/lib/text-box.module.d.ts} +1 -1
  395. package/time-box/lib/time-box.component.d.ts +1 -1
  396. package/toast/index.d.ts +1 -0
  397. package/toast/lib/toast.class.d.ts +14 -5
  398. package/toast/lib/toast.component.d.ts +13 -12
  399. package/toast/lib/toast.config.d.ts +12 -0
  400. package/toast/lib/toast.module.d.ts +4 -1
  401. package/toast/lib/toast.service.d.ts +5 -9
  402. package/action-sheet/lib/action-sheet.interface.d.ts +0 -21
  403. package/checkbox/README.md +0 -3
  404. package/checkbox/index.d.ts +0 -2
  405. package/checkbox/lib/checkbox.component.d.ts +0 -18
  406. package/common/lib/directives/debounce-time.directive.d.ts +0 -17
  407. package/common/lib/services/custom-cdk-overlay.service.d.ts +0 -19
  408. package/common/lib/services/overlay.service.d.ts +0 -34
  409. package/data-table/lib/data-column-cell-template.directive.d.ts +0 -8
  410. package/decorators/lib/content.component.d.ts +0 -9
  411. package/decorators/lib/divider.component.d.ts +0 -5
  412. package/decorators/lib/footer.component.d.ts +0 -9
  413. package/decorators/lib/form-hint.component.d.ts +0 -8
  414. package/decorators/lib/header.component.d.ts +0 -9
  415. package/decorators/lib/overlay.component.d.ts +0 -6
  416. package/decorators/lib/placeholder.component.d.ts +0 -5
  417. package/decorators/lib/prefix.component.d.ts +0 -9
  418. package/decorators/lib/sub-title.component.d.ts +0 -9
  419. package/decorators/lib/suffix.component.d.ts +0 -9
  420. package/decorators/lib/text.component.d.ts +0 -9
  421. package/decorators/lib/title.component.d.ts +0 -8
  422. package/esm2022/action-sheet/lib/action-sheet.interface.mjs +0 -2
  423. package/esm2022/checkbox/index.mjs +0 -3
  424. package/esm2022/checkbox/lib/checkbox.component.mjs +0 -65
  425. package/esm2022/checkbox/lib/checkbox.module.mjs +0 -21
  426. package/esm2022/common/lib/directives/debounce-time.directive.mjs +0 -48
  427. package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +0 -49
  428. package/esm2022/common/lib/services/overlay.service.mjs +0 -113
  429. package/esm2022/data-table/lib/data-column-cell-template.directive.mjs +0 -17
  430. package/esm2022/decorators/lib/content.component.mjs +0 -26
  431. package/esm2022/decorators/lib/divider.component.mjs +0 -17
  432. package/esm2022/decorators/lib/footer.component.mjs +0 -26
  433. package/esm2022/decorators/lib/form-hint.component.mjs +0 -20
  434. package/esm2022/decorators/lib/header.component.mjs +0 -26
  435. package/esm2022/decorators/lib/overlay.component.mjs +0 -22
  436. package/esm2022/decorators/lib/placeholder.component.mjs +0 -14
  437. package/esm2022/decorators/lib/prefix.component.mjs +0 -26
  438. package/esm2022/decorators/lib/sub-title.component.mjs +0 -26
  439. package/esm2022/decorators/lib/suffix.component.mjs +0 -26
  440. package/esm2022/decorators/lib/text.component.mjs +0 -21
  441. package/esm2022/decorators/lib/title.component.mjs +0 -20
  442. package/esm2022/mixin/lib/loading-mixin.class.mjs +0 -18
  443. package/esm2022/textarea/acorex-components-textarea.mjs +0 -5
  444. package/esm2022/textarea/index.mjs +0 -3
  445. package/esm2022/textarea/lib/textarea.component.mjs +0 -37
  446. package/esm2022/textarea/lib/textarea.module.mjs +0 -19
  447. package/esm2022/textbox/acorex-components-textbox.mjs +0 -5
  448. package/esm2022/textbox/index.mjs +0 -4
  449. package/esm2022/textbox/lib/mask-options.directive.mjs +0 -17
  450. package/esm2022/textbox/lib/textbox.component.mjs +0 -111
  451. package/esm2022/textbox/lib/textbox.module.mjs +0 -38
  452. package/fesm2022/acorex-components-checkbox.mjs +0 -89
  453. package/fesm2022/acorex-components-checkbox.mjs.map +0 -1
  454. package/fesm2022/acorex-components-textarea.mjs +0 -60
  455. package/fesm2022/acorex-components-textarea.mjs.map +0 -1
  456. package/fesm2022/acorex-components-textbox.mjs.map +0 -1
  457. package/mixin/lib/loading-mixin.class.d.ts +0 -40
  458. package/textarea/README.md +0 -3
  459. package/textarea/index.d.ts +0 -2
  460. package/textarea/lib/textarea.component.d.ts +0 -14
  461. package/textarea/lib/textarea.module.d.ts +0 -9
  462. package/textbox/README.md +0 -3
  463. package/textbox/index.d.ts +0 -3
  464. /package/{textbox → text-box}/lib/mask-options.directive.d.ts +0 -0
@@ -1,8 +1,9 @@
1
- import { createMask } from 'imask';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation, forwardRef, } from '@angular/core';
2
2
  import { IMaskDirective } from 'angular-imask';
3
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Input, ViewChild, } from '@angular/core';
3
+ import { createMask } from 'imask';
4
+ import { AXClearableComponent, AXComponent, AXFocusableComponent, MXInputBaseValueComponent, } from '@acorex/components/common';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
6
  import { toNumber } from 'lodash-es';
5
- import { AXBaseTextBoxMixin } from '@acorex/components/mixin';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common";
8
9
  import * as i2 from "@angular/forms";
@@ -12,7 +13,26 @@ import * as i3 from "angular-imask";
12
13
  *
13
14
  * @category Components
14
15
  */
15
- export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
16
+ export class AXNumberBoxComponent extends MXInputBaseValueComponent {
17
+ constructor() {
18
+ super(...arguments);
19
+ this._padDecimalZeros = false;
20
+ /**
21
+ * Specifies the value that is used to increment or decrement the **Integer** part of number
22
+ */
23
+ this.step = 1;
24
+ this._decimals = 0;
25
+ /**
26
+ * Specifies the value that is used to increment or decrement the **Deciaml** part of number
27
+ */
28
+ this.decimalStep = 'auto';
29
+ /**
30
+ * Specifies whether the Up and Down spin buttons will be rendered or not
31
+ */
32
+ this.showSpinButtons = true;
33
+ this._minValue = Number.MIN_SAFE_INTEGER;
34
+ this._maxValue = Number.MAX_SAFE_INTEGER;
35
+ }
16
36
  /**
17
37
  * A character value that specifies the separator character.
18
38
  */
@@ -20,7 +40,7 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
20
40
  return this._thousandsSeparator;
21
41
  }
22
42
  set thousandsSeparator(v) {
23
- this._setOption({
43
+ this.setOption({
24
44
  name: 'thousandsSeparator',
25
45
  value: v ?? '',
26
46
  });
@@ -32,7 +52,7 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
32
52
  return this._padDecimalZeros;
33
53
  }
34
54
  set padDecimalZeros(v) {
35
- this._setOption({
55
+ this.setOption({
36
56
  name: 'padDecimalZeros',
37
57
  value: v,
38
58
  });
@@ -44,7 +64,7 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
44
64
  return this._decimals;
45
65
  }
46
66
  set decimals(v) {
47
- this._setOption({
67
+ this.setOption({
48
68
  name: 'decimals',
49
69
  value: v ?? 0,
50
70
  });
@@ -56,7 +76,7 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
56
76
  return this._minValue;
57
77
  }
58
78
  set minValue(v) {
59
- this._setOption({
79
+ this.setOption({
60
80
  name: 'minValue',
61
81
  value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,
62
82
  });
@@ -68,44 +88,28 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
68
88
  return this._maxValue;
69
89
  }
70
90
  set maxValue(v) {
71
- this._setOption({
91
+ this.setOption({
72
92
  name: 'maxValue',
73
93
  value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,
74
94
  });
75
95
  }
76
- /**
77
- * @ignore
78
- */
79
- constructor(elementRef, cdr) {
80
- super(elementRef, cdr);
81
- this.cdr = cdr;
82
- this._padDecimalZeros = false;
83
- /**
84
- * Specifies the value that is used to increment or decrement the **Integer** part of number
85
- */
86
- this.step = 1;
87
- this._decimals = 0;
88
- /**
89
- * Specifies the value that is used to increment or decrement the **Deciaml** part of number
90
- */
91
- this.decimalStep = 'auto';
92
- /**
93
- * Specifies whether the Up and Down spin buttons will be rendered or not
94
- */
95
- this.showSpinButtons = true;
96
- this._minValue = Number.MIN_SAFE_INTEGER;
97
- this._maxValue = Number.MAX_SAFE_INTEGER;
98
- }
99
- onViewInit() {
100
- super.onViewInit();
96
+ ngAfterViewInit() {
101
97
  this._updateMask();
102
98
  }
103
- _onOptionChanged(option) {
104
- super._onOptionChanged(option);
99
+ internalOptionChanged(option) {
105
100
  this._updateMask();
106
101
  }
107
- focus() {
108
- this.input.nativeElement.focus();
102
+ internalSetValue(value) {
103
+ // || (value == 0 && !this._maskObj.value)
104
+ if (value == null) {
105
+ return this.defaultValue;
106
+ }
107
+ const v = toNumber(value);
108
+ if (v < this.minValue)
109
+ return this.minValue;
110
+ if (v > this.maxValue)
111
+ return this.maxValue;
112
+ return v;
109
113
  }
110
114
  _updateMask() {
111
115
  if (!this._maskObj) {
@@ -118,6 +122,14 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
118
122
  radix: '.',
119
123
  padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,
120
124
  });
125
+ this._maskObj.format = (v, m) => {
126
+ return !isNaN(v)
127
+ ? v.toLocaleString('en-US', {
128
+ useGrouping: false,
129
+ maximumFractionDigits: 20,
130
+ })
131
+ : '';
132
+ };
121
133
  }
122
134
  else {
123
135
  this._maskObj.updateOptions({
@@ -132,6 +144,9 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
132
144
  this._maskDirective?.maskRef?.updateValue();
133
145
  this._maskDirective?.maskRef?.updateControl();
134
146
  }
147
+ _handleModelChange(value) {
148
+ this.commitValue(value, true);
149
+ }
135
150
  _handleOnKeydownEvent(e) {
136
151
  if (this.disabled || this.readonly)
137
152
  return;
@@ -139,90 +154,86 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
139
154
  e.preventDefault();
140
155
  e.stopPropagation();
141
156
  };
142
- this._setUserInteraction();
143
157
  const input = e.target;
144
158
  const valStr = input.value;
145
159
  const decimalPointIndex = valStr.indexOf('.');
146
160
  const _cursorPos = input.selectionStart;
147
161
  if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
148
162
  if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {
149
- e.key === 'ArrowDown' ? this.decimalStepDown() : this.decimalStepUp();
163
+ e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);
150
164
  }
151
165
  else {
152
- e.key === 'ArrowDown' ? this.stepDown() : this.stepUp();
166
+ e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);
153
167
  }
154
168
  ignore();
155
169
  setTimeout(() => {
156
170
  input.setSelectionRange(_cursorPos, _cursorPos);
157
171
  }, 5);
158
172
  }
159
- super._emitOnKeydownEvent(e);
173
+ super.emitOnKeydownEvent(e);
160
174
  }
161
175
  _handleUpDownClick(v) {
162
176
  if (this.disabled || this.readonly)
163
177
  return;
164
- this._setUserInteraction();
165
- v == 1 ? this.stepUp() : this.stepDown();
166
- }
167
- _setValue(value) {
168
- if ((value == null || (value == 0 && !this._maskObj.value)) && this.allowNull) {
169
- return null;
170
- }
171
- const v = toNumber(value);
172
- if (v < this.minValue)
173
- return this.minValue;
174
- if (v > this.maxValue)
175
- return this.maxValue;
176
- return v;
178
+ v == 1 ? this.stepUp(true) : this.stepDown(true);
177
179
  }
178
- stepUp() {
180
+ stepUp(u = false) {
179
181
  if (!this.value) {
180
- this.value = Math.max(this.minValue, 0);
182
+ this.commitValue(Math.max(this.minValue, 0), u);
181
183
  }
182
- this.value += toNumber(this.step);
184
+ this.commitValue(this.value + toNumber(this.step), u);
183
185
  }
184
- stepDown() {
186
+ stepDown(u = false) {
185
187
  if (!this.value) {
186
- this.value = Math.max(this.minValue, 0);
188
+ this.commitValue(Math.max(this.minValue, 0), u);
187
189
  }
188
- this.value -= toNumber(this.step);
190
+ this.commitValue(this.value - toNumber(this.step), u);
189
191
  }
190
- decimalStepUp() {
192
+ decimalStepUp(u = false) {
191
193
  if (!this.value) {
192
- this.value = Math.max(this.minValue, 0);
194
+ this.commitValue(Math.max(this.minValue, 0), u);
193
195
  }
194
- this.value += toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep);
196
+ this.commitValue(this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
195
197
  }
196
- decimalStepDown() {
198
+ decimalStepDown(u = false) {
197
199
  if (!this.value) {
198
- this.value = Math.max(this.minValue, 0);
200
+ this.commitValue(Math.max(this.minValue, 0), u);
199
201
  }
200
- this.value -= toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep);
202
+ this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
201
203
  }
202
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXNumberBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
203
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", state: "state", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", type: "type", autoComplete: "autoComplete", name: "name", checked: "checked", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { classAttribute: "ax-editor-container" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<input\n #input\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"autoComplete\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [(ngModel)]=\"value\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"_emitOnKeyupEvent($event)\"\n (keypress)=\"_emitOnKeypressEvent($event)\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\" />\n\n<div class=\"ax-number-box-control\" *ngIf=\"showSpinButtons\">\n <button class=\"ax-general-button ax-button-icon\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\">\n <span class=\"ax-icon ax-icon-arrow-up\"></span>\n </button>\n <button class=\"ax-general-button ax-button-icon\" (click)=\"_handleUpDownClick(-1)\">\n <span class=\"ax-icon ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n</div>\n\n<!-- <div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\n <ax-prefix>\n <ax-icon class=\"ax-icon-arrow-fill ax-rotation-90\">\n </ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\n <ax-prefix>\n <ax-icon class=\"ax-icon-arrow-fill -ax-rotation-90\">\n </ax-icon>\n </ax-prefix>\n </ax-button>\n</div> -->\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: [".ax-number-box-control{display:flex;height:100%;align-items:center;justify-content:center;margin-inline-end:.25rem;flex-direction:column}.ax-number-box-control .ax-general-button{display:flex;width:1.25rem;height:1rem;border-radius:.2rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXNumberBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange" }, host: { classAttribute: "ax-editor-container" }, providers: [
206
+ { provide: AXComponent, useExisting: AXNumberBoxComponent },
207
+ { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },
208
+ { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },
209
+ {
210
+ provide: NG_VALUE_ACCESSOR,
211
+ useExisting: forwardRef(() => AXNumberBoxComponent),
212
+ multi: true,
213
+ },
214
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<input\n #input\n class=\"ax-input\"\n type=\"text\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n<ng-content select=\"ax-clear-button\"></ng-content>\n<div class=\"ax-number-box-control\" *ngIf=\"showSpinButtons\">\n <button\n type=\"button\"\n class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-arrow-up\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n</div>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: [".ax-number-box-control{display:flex;height:100%;align-items:center;justify-content:center;margin-inline-end:.25rem;flex-direction:column}.ax-number-box-control .ax-general-button{display:flex;width:1.25rem;height:1rem;border-radius:.2rem}.ax-number-box-control .ax-general-button.ax-number-box-increment i:hover,.ax-number-box-control .ax-general-button.ax-number-box-decrement i:hover{align-items:center}.ax-number-box-control .ax-general-button.ax-number-box-increment{align-items:flex-start}.ax-number-box-control .ax-general-button.ax-number-box-decrement{align-items:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
204
215
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
206
217
  type: Component,
207
- args: [{ selector: 'ax-number-box', inputs: [
208
- 'disabled',
209
- 'readonly',
210
- 'tabIndex',
211
- 'size',
212
- 'value',
213
- 'state',
214
- 'placeholder',
215
- 'maxLength',
216
- 'allowNull',
217
- 'type',
218
- 'autoComplete',
219
- 'readonly',
220
- 'allowNull',
221
- 'value',
222
- 'name',
223
- 'checked',
224
- ], outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<input\n #input\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"autoComplete\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [(ngModel)]=\"value\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"_emitOnKeyupEvent($event)\"\n (keypress)=\"_emitOnKeypressEvent($event)\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\" />\n\n<div class=\"ax-number-box-control\" *ngIf=\"showSpinButtons\">\n <button class=\"ax-general-button ax-button-icon\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\">\n <span class=\"ax-icon ax-icon-arrow-up\"></span>\n </button>\n <button class=\"ax-general-button ax-button-icon\" (click)=\"_handleUpDownClick(-1)\">\n <span class=\"ax-icon ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n</div>\n\n<!-- <div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\n <ax-prefix>\n <ax-icon class=\"ax-icon-arrow-fill ax-rotation-90\">\n </ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\n <ax-prefix>\n <ax-icon class=\"ax-icon-arrow-fill -ax-rotation-90\">\n </ax-icon>\n </ax-prefix>\n </ax-button>\n</div> -->\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: [".ax-number-box-control{display:flex;height:100%;align-items:center;justify-content:center;margin-inline-end:.25rem;flex-direction:column}.ax-number-box-control .ax-general-button{display:flex;width:1.25rem;height:1rem;border-radius:.2rem}\n"] }]
225
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { input: [{
218
+ args: [{ selector: 'ax-number-box', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], outputs: [
219
+ 'valueChange',
220
+ 'stateChange',
221
+ 'onValueChanged',
222
+ 'onBlur',
223
+ 'onFocus',
224
+ 'readonlyChange',
225
+ 'disabledChange',
226
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container' }, providers: [
227
+ { provide: AXComponent, useExisting: AXNumberBoxComponent },
228
+ { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },
229
+ { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },
230
+ {
231
+ provide: NG_VALUE_ACCESSOR,
232
+ useExisting: forwardRef(() => AXNumberBoxComponent),
233
+ multi: true,
234
+ },
235
+ ], template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<input\n #input\n class=\"ax-input\"\n type=\"text\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n<ng-content select=\"ax-clear-button\"></ng-content>\n<div class=\"ax-number-box-control\" *ngIf=\"showSpinButtons\">\n <button\n type=\"button\"\n class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-arrow-up\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n</div>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: [".ax-number-box-control{display:flex;height:100%;align-items:center;justify-content:center;margin-inline-end:.25rem;flex-direction:column}.ax-number-box-control .ax-general-button{display:flex;width:1.25rem;height:1rem;border-radius:.2rem}.ax-number-box-control .ax-general-button.ax-number-box-increment i:hover,.ax-number-box-control .ax-general-button.ax-number-box-decrement i:hover{align-items:center}.ax-number-box-control .ax-general-button.ax-number-box-increment{align-items:flex-start}.ax-number-box-control .ax-general-button.ax-number-box-decrement{align-items:flex-end}\n"] }]
236
+ }], propDecorators: { input: [{
226
237
  type: ViewChild,
227
238
  args: ['input']
228
239
  }], thousandsSeparator: [{
@@ -245,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
245
256
  type: ViewChild,
246
257
  args: [IMaskDirective]
247
258
  }] } });
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbnVtYmVyLWJveC9zcmMvbGliL251bWJlci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL2xpYi9udW1iZXItYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBNEIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFeEY7Ozs7R0FJRztBQTRCSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBSTFEOztPQUVHO0lBQ0gsSUFDVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQVcsa0JBQWtCLENBQUMsQ0FBUztRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUU7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0Q7O09BRUc7SUFDSCxJQUNXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVcsZUFBZSxDQUFDLENBQVU7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNkLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsS0FBSyxFQUFFLENBQUM7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBU0Q7O09BRUc7SUFDSCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFTO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDZCxJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBZUQ7O09BRUc7SUFDSCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFTO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDZCxJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRDs7T0FFRztJQUNILElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLENBQVM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNkLElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7U0FDdkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVVEOztPQUVHO0lBQ0gsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQ2hFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEbUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF6RjFELHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQWUxQzs7V0FFRztRQUVILFNBQUksR0FBVyxDQUFDLENBQUM7UUFFVCxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBZTlCOztXQUVHO1FBRUgsZ0JBQVcsR0FBb0IsTUFBTSxDQUFDO1FBRXRDOztXQUVHO1FBRUgsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFFeEIsY0FBUyxHQUFXLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQWU1QyxjQUFTLEdBQVcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBNEJwRCxDQUFDO0lBRVEsVUFBVTtRQUNqQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxNQUFnQztRQUN4RCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFUSxLQUFLO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7Z0JBQ3pCLElBQUksRUFBRSxNQUFNO2dCQUNaLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbEIsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNsQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRTtnQkFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNwQixLQUFLLEVBQUUsR0FBRztnQkFDVixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZTthQUM5RCxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7Z0JBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbEIsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNsQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRTtnQkFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNwQixLQUFLLEVBQUUsR0FBRztnQkFDVixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZTthQUM5RCxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxDQUFnQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNsQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUEwQixDQUFDO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDM0IsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxjQUFlLENBQUM7UUFFekMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtZQUNoRCxJQUFJLGlCQUFpQixHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsaUJBQWlCLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hGLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN2RTtpQkFBTTtnQkFDTCxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDekQ7WUFDRCxNQUFNLEVBQUUsQ0FBQztZQUNULFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNsRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDtRQUNELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsQ0FBUztRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFUSxTQUFTLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM3RSxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FDcEIsSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQ2hGLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FDcEIsSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQ2hGLENBQUM7SUFDSixDQUFDOzhHQTlOVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix3MkJBcUdwQixjQUFjLHVFQ3BKM0IsbTBEQWdEQTs7MkZERGEsb0JBQW9CO2tCQTNCaEMsU0FBUzsrQkFDRSxlQUFlLFVBR2pCO3dCQUNOLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE1BQU07d0JBQ04sT0FBTzt3QkFDUCxPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLE1BQU07d0JBQ04sY0FBYzt3QkFDZCxVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxNQUFNO3dCQUNOLFNBQVM7cUJBQ1YsV0FDUSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxtQkFDN0QsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRTtpSUFHbEIsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQU9QLGtCQUFrQjtzQkFENUIsS0FBSztnQkFnQkssZUFBZTtzQkFEekIsS0FBSztnQkFlTixJQUFJO3NCQURILEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFlTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBaUJFLGNBQWM7c0JBRHJCLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hc2tlZE51bWJlciwgY3JlYXRlTWFzayB9IGZyb20gJ2ltYXNrJztcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyB0b051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWEJhc2VUZXh0Qm94TWl4aW4sIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XG5cbi8qKlxuICogVGhlIE51bWJlckJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW51bWJlci1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd0YWJJbmRleCcsXG4gICAgJ3NpemUnLFxuICAgICd2YWx1ZScsXG4gICAgJ3N0YXRlJyxcbiAgICAncGxhY2Vob2xkZXInLFxuICAgICdtYXhMZW5ndGgnLFxuICAgICdhbGxvd051bGwnLFxuICAgICd0eXBlJyxcbiAgICAnYXV0b0NvbXBsZXRlJyxcbiAgICAncmVhZG9ubHknLFxuICAgICdhbGxvd051bGwnLFxuICAgICd2YWx1ZScsXG4gICAgJ25hbWUnLFxuICAgICdjaGVja2VkJyxcbiAgXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZScsICdzdGF0ZUNoYW5nZScsICdvblZhbHVlQ2hhbmdlZCcsICdvbkJsdXInLCAnb25Gb2N1cyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2F4LWVkaXRvci1jb250YWluZXInIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTnVtYmVyQm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVGV4dEJveE1peGluIHtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwcml2YXRlIF90aG91c2FuZHNTZXBhcmF0b3I6IHN0cmluZztcbiAgLyoqXG4gICAqICBBIGNoYXJhY3RlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgc2VwYXJhdG9yIGNoYXJhY3Rlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdGhvdXNhbmRzU2VwYXJhdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3Rob3VzYW5kc1NlcGFyYXRvcjtcbiAgfVxuICBwdWJsaWMgc2V0IHRob3VzYW5kc1NlcGFyYXRvcih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ3Rob3VzYW5kc1NlcGFyYXRvcicsXG4gICAgICB2YWx1ZTogdiA/PyAnJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZERlY2ltYWxaZXJvczogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBwYWREZWNpbWFsWmVyb3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZERlY2ltYWxaZXJvcztcbiAgfVxuICBwdWJsaWMgc2V0IHBhZERlY2ltYWxaZXJvcyh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdwYWREZWNpbWFsWmVyb3MnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXG4gICAqL1xuICBASW5wdXQoKVxuICBzdGVwOiBudW1iZXIgPSAxO1xuXG4gIHByaXZhdGUgX2RlY2ltYWxzOiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGRlY2ltYWxzIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRlY2ltYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2RlY2ltYWxzO1xuICB9XG4gIHB1YmxpYyBzZXQgZGVjaW1hbHModjogbnVtYmVyKSB7XG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdkZWNpbWFscycsXG4gICAgICB2YWx1ZTogdiA/PyAwLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IHRoZSAqKkRlY2lhbWwqKiBwYXJ0IG9mIG51bWJlclxuICAgKi9cbiAgQElucHV0KClcbiAgZGVjaW1hbFN0ZXA6IG51bWJlciB8ICdhdXRvJyA9ICdhdXRvJztcblxuICAvKipcbiAgICogIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVcCBhbmQgRG93biBzcGluIGJ1dHRvbnMgd2lsbCBiZSByZW5kZXJlZCBvciBub3RcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNob3dTcGluQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfbWluVmFsdWU6IG51bWJlciA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5WYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG1pblZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuX3NldE9wdGlvbih7XG4gICAgICBuYW1lOiAnbWluVmFsdWUnLFxuICAgICAgdmFsdWU6IHYgIT0gbnVsbCA/IE51bWJlcih2KSA6IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWF4VmFsdWU6IG51bWJlciA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgZ3JlYXRlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuX3NldE9wdGlvbih7XG4gICAgICBuYW1lOiAnbWF4VmFsdWUnLFxuICAgICAgdmFsdWU6IHYgIT0gbnVsbCA/IE51bWJlcih2KSA6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBfbWFza09iajogTWFza2VkTnVtYmVyO1xuXG4gIEBWaWV3Q2hpbGQoSU1hc2tEaXJlY3RpdmUpXG4gIHByaXZhdGUgX21hc2tEaXJlY3RpdmU6IElNYXNrRGlyZWN0aXZlPE1hc2tlZE51bWJlcj47XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25WaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XG4gICAgdGhpcy5fdXBkYXRlTWFzaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQge1xuICAgIHN1cGVyLl9vbk9wdGlvbkNoYW5nZWQob3B0aW9uKTtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICBvdmVycmlkZSBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU1hc2soKSB7XG4gICAgaWYgKCF0aGlzLl9tYXNrT2JqKSB7XG4gICAgICB0aGlzLl9tYXNrT2JqID0gY3JlYXRlTWFzayh7XG4gICAgICAgIG1hc2s6IE51bWJlcixcbiAgICAgICAgbWluOiB0aGlzLm1pblZhbHVlLFxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXG4gICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy50aG91c2FuZHNTZXBhcmF0b3IgfHwgJycsXG4gICAgICAgIHNjYWxlOiB0aGlzLmRlY2ltYWxzLFxuICAgICAgICByYWRpeDogJy4nLFxuICAgICAgICBwYWRGcmFjdGlvbmFsWmVyb3M6IHRoaXMuZGVjaW1hbHMgPiAwICYmIHRoaXMucGFkRGVjaW1hbFplcm9zLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX21hc2tPYmoudXBkYXRlT3B0aW9ucyh7XG4gICAgICAgIG1pbjogdGhpcy5taW5WYWx1ZSxcbiAgICAgICAgbWF4OiB0aGlzLm1heFZhbHVlLFxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yIHx8ICcnLFxuICAgICAgICBzY2FsZTogdGhpcy5kZWNpbWFscyxcbiAgICAgICAgcmFkaXg6ICcuJyxcbiAgICAgICAgcGFkRnJhY3Rpb25hbFplcm9zOiB0aGlzLmRlY2ltYWxzID4gMCAmJiB0aGlzLnBhZERlY2ltYWxaZXJvcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVWYWx1ZSgpO1xuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKTtcbiAgfVxuXG4gIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xuICAgIGNvbnN0IGlnbm9yZSA9ICgpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgdmFsU3RyID0gaW5wdXQudmFsdWU7XG4gICAgY29uc3QgZGVjaW1hbFBvaW50SW5kZXggPSB2YWxTdHIuaW5kZXhPZignLicpO1xuICAgIGNvbnN0IF9jdXJzb3JQb3MgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCE7XG5cbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIGlmIChkZWNpbWFsUG9pbnRJbmRleCA+IDAgJiYgX2N1cnNvclBvcyA+IGRlY2ltYWxQb2ludEluZGV4ICYmIHRoaXMuZGVjaW1hbHMgPiAwKSB7XG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuZGVjaW1hbFN0ZXBEb3duKCkgOiB0aGlzLmRlY2ltYWxTdGVwVXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuc3RlcERvd24oKSA6IHRoaXMuc3RlcFVwKCk7XG4gICAgICB9XG4gICAgICBpZ25vcmUoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShfY3Vyc29yUG9zLCBfY3Vyc29yUG9zKTtcbiAgICAgIH0sIDUpO1xuICAgIH1cbiAgICBzdXBlci5fZW1pdE9uS2V5ZG93bkV2ZW50KGUpO1xuICB9XG5cbiAgX2hhbmRsZVVwRG93bkNsaWNrKHY6IC0xIHwgMSkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHJldHVybjtcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcbiAgICB2ID09IDEgPyB0aGlzLnN0ZXBVcCgpIDogdGhpcy5zdGVwRG93bigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgX3NldFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoKHZhbHVlID09IG51bGwgfHwgKHZhbHVlID09IDAgJiYgIXRoaXMuX21hc2tPYmoudmFsdWUpKSAmJiB0aGlzLmFsbG93TnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHYgPSB0b051bWJlcih2YWx1ZSk7XG4gICAgaWYgKHYgPCB0aGlzLm1pblZhbHVlKSByZXR1cm4gdGhpcy5taW5WYWx1ZTtcbiAgICBpZiAodiA+IHRoaXMubWF4VmFsdWUpIHJldHVybiB0aGlzLm1heFZhbHVlO1xuICAgIHJldHVybiB2O1xuICB9XG5cbiAgc3RlcFVwKCkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlICs9IHRvTnVtYmVyKHRoaXMuc3RlcCk7XG4gIH1cblxuICBzdGVwRG93bigpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSAtPSB0b051bWJlcih0aGlzLnN0ZXApO1xuICB9XG5cbiAgZGVjaW1hbFN0ZXBVcCgpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSArPSB0b051bWJlcihcbiAgICAgIHRoaXMuZGVjaW1hbFN0ZXAgPT0gJ2F1dG8nID8gMSAvIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxzKSA6IHRoaXMuZGVjaW1hbFN0ZXBcbiAgICApO1xuICB9XG5cbiAgZGVjaW1hbFN0ZXBEb3duKCkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlIC09IHRvTnVtYmVyKFxuICAgICAgdGhpcy5kZWNpbWFsU3RlcCA9PSAnYXV0bycgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpIDogdGhpcy5kZWNpbWFsU3RlcFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPiA8L25nLWNvbnRlbnQ+XG48aW5wdXRcbiAgI2lucHV0XG4gIGNsYXNzPVwiYXgtaW5wdXRcIlxuICB0eXBlPVwidGV4dFwiXG4gIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiXG4gIFtpbWFza109XCJfbWFza09ialwiXG4gIFt1bm1hc2tdPVwiJ3R5cGVkJ1wiXG4gIFthdHRyLm1pbl09XCJtaW5WYWx1ZVwiXG4gIFthdHRyLm1heF09XCJtYXhWYWx1ZVwiXG4gIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAoa2V5ZG93bik9XCJfaGFuZGxlT25LZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gIChrZXl1cCk9XCJfZW1pdE9uS2V5dXBFdmVudCgkZXZlbnQpXCJcbiAgKGtleXByZXNzKT1cIl9lbWl0T25LZXlwcmVzc0V2ZW50KCRldmVudClcIlxuICAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiIC8+XG5cbjxkaXYgY2xhc3M9XCJheC1udW1iZXItYm94LWNvbnRyb2xcIiAqbmdJZj1cInNob3dTcGluQnV0dG9uc1wiPlxuICA8YnV0dG9uIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLWljb25cIiAoY2xpY2spPVwiX2hhbmRsZVVwRG93bkNsaWNrKDEpXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWFycm93LXVwXCI+PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1pY29uXCIgKGNsaWNrKT1cIl9oYW5kbGVVcERvd25DbGljaygtMSlcIj5cbiAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1hcnJvdy1kb3duXCIgdGFiaW5kZXg9XCItMVwiPjwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPCEtLSA8ZGl2IGNsYXNzPVwiYXgtbnVtYmVyLWJveC1hcnJvd3NcIiAqbmdJZj1cInNob3dTcGluQnV0dG9ucyAmJiAhKGRpc2FibGVkIHx8IHJlYWRvbmx5KVwiPlxuICAgIDxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVVcERvd25DbGljaygkZXZlbnQsMSlcIiBbdGFiSW5kZXhdPVwiLTFcIj5cbiAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbi1hcnJvdy1maWxsIGF4LXJvdGF0aW9uLTkwXCI+XG4gICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtcHJlZml4PlxuICAgIDwvYXgtYnV0dG9uPlxuICAgIDxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVVcERvd25DbGljaygkZXZlbnQsLTEpXCIgW3RhYkluZGV4XT1cIi0xXCI+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24tYXJyb3ctZmlsbCAtYXgtcm90YXRpb24tOTBcIj5cbiAgICAgICAgICAgIDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgPC9heC1idXR0b24+XG48L2Rpdj4gLS0+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj4gPC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbiJdfQ==
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbnVtYmVyLWJveC9zcmMvbGliL251bWJlci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL2xpYi9udW1iZXItYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVqRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxvQkFBb0IsRUFFcEIseUJBQXlCLEdBQzFCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFFckM7Ozs7R0FJRztBQTZCSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEseUJBQWlDO0lBNUIzRTs7UUE4Q1UscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBZTFDOztXQUVHO1FBRUgsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUVULGNBQVMsR0FBVyxDQUFDLENBQUM7UUFlOUI7O1dBRUc7UUFFSCxnQkFBVyxHQUFvQixNQUFNLENBQUM7UUFFdEM7O1dBRUc7UUFFSCxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUV4QixjQUFTLEdBQVcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBZTVDLGNBQVMsR0FBVyxNQUFN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O3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFza0RpcmVjdGl2ZSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuaW1wb3J0IHsgTWFza2VkTnVtYmVyLCBjcmVhdGVNYXNrIH0gZnJvbSAnaW1hc2snO1xuXG5pbXBvcnQge1xuICBBWENsZWFyYWJsZUNvbXBvbmVudCxcbiAgQVhDb21wb25lbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBNWENvbXBvbmVudE9wdGlvbkNoYW5nZWQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0b051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8qKlxuICogVGhlIE51bWJlckJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW51bWJlci1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3JlYWRvbmx5JywgJ3RhYkluZGV4JywgJ3BsYWNlaG9sZGVyJywgJ3ZhbHVlJywgJ3N0YXRlJywgJ25hbWUnLCAnaWQnXSxcbiAgb3V0cHV0czogW1xuICAgICd2YWx1ZUNoYW5nZScsXG4gICAgJ3N0YXRlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdvbkJsdXInLFxuICAgICdvbkZvY3VzJyxcbiAgICAncmVhZG9ubHlDaGFuZ2UnLFxuICAgICdkaXNhYmxlZENoYW5nZScsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lcicgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWE51bWJlckJveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveENvbXBvbmVudCBleHRlbmRzIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8bnVtYmVyPiB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmc7XG4gIC8qKlxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHRob3VzYW5kc1NlcGFyYXRvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aG91c2FuZHNTZXBhcmF0b3I7XG4gIH1cbiAgcHVibGljIHNldCB0aG91c2FuZHNTZXBhcmF0b3Iodjogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ3Rob3VzYW5kc1NlcGFyYXRvcicsXG4gICAgICB2YWx1ZTogdiA/PyAnJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZERlY2ltYWxaZXJvczogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBwYWREZWNpbWFsWmVyb3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZERlY2ltYWxaZXJvcztcbiAgfVxuICBwdWJsaWMgc2V0IHBhZERlY2ltYWxaZXJvcyh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ3BhZERlY2ltYWxaZXJvcycsXG4gICAgICB2YWx1ZTogdixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSB2YWx1ZSB0aGF0IGlzIHVzZWQgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCB0aGUgKipJbnRlZ2VyKiogcGFydCBvZiBudW1iZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHN0ZXA6IG51bWJlciA9IDE7XG5cbiAgcHJpdmF0ZSBfZGVjaW1hbHM6IG51bWJlciA9IDA7XG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgZGVjaW1hbHMgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGVjaW1hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZGVjaW1hbHM7XG4gIH1cbiAgcHVibGljIHNldCBkZWNpbWFscyh2OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnZGVjaW1hbHMnLFxuICAgICAgdmFsdWU6IHYgPz8gMCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgU3BlY2lmaWVzIHRoZSB2YWx1ZSB0aGF0IGlzIHVzZWQgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCB0aGUgKipEZWNpYW1sKiogcGFydCBvZiBudW1iZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIGRlY2ltYWxTdGVwOiBudW1iZXIgfCAnYXV0bycgPSAnYXV0byc7XG5cbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgd2hldGhlciB0aGUgVXAgYW5kIERvd24gc3BpbiBidXR0b25zIHdpbGwgYmUgcmVuZGVyZWQgb3Igbm90XG4gICAqL1xuICBASW5wdXQoKVxuICBzaG93U3BpbkJ1dHRvbnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgX21pblZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjtcbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIHNtYWxsZXN0IHZhbHVlIHRoYXQgaXMgdmFsaWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbWluVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XG4gIH1cbiAgcHVibGljIHNldCBtaW5WYWx1ZSh2OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnbWluVmFsdWUnLFxuICAgICAgdmFsdWU6IHYgIT0gbnVsbCA/IE51bWJlcih2KSA6IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWF4VmFsdWU6IG51bWJlciA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgZ3JlYXRlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdtYXhWYWx1ZScsXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIF9tYXNrT2JqOiBNYXNrZWROdW1iZXI7XG5cbiAgQFZpZXdDaGlsZChJTWFza0RpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBfbWFza0RpcmVjdGl2ZTogSU1hc2tEaXJlY3RpdmU8TWFza2VkTnVtYmVyPjtcblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlTWFzaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW50ZXJuYWxPcHRpb25DaGFuZ2VkKG9wdGlvbjogTVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlTWFzaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW50ZXJuYWxTZXRWYWx1ZSh2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgICAvLyB8fCAodmFsdWUgPT0gMCAmJiAhdGhpcy5fbWFza09iai52YWx1ZSlcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgICBjb25zdCB2ID0gdG9OdW1iZXIodmFsdWUpO1xuICAgIGlmICh2IDwgdGhpcy5taW5WYWx1ZSkgcmV0dXJuIHRoaXMubWluVmFsdWU7XG4gICAgaWYgKHYgPiB0aGlzLm1heFZhbHVlKSByZXR1cm4gdGhpcy5tYXhWYWx1ZTtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU1hc2soKSB7XG4gICAgaWYgKCF0aGlzLl9tYXNrT2JqKSB7XG4gICAgICB0aGlzLl9tYXNrT2JqID0gY3JlYXRlTWFzayh7XG4gICAgICAgIG1hc2s6IE51bWJlcixcbiAgICAgICAgbWluOiB0aGlzLm1pblZhbHVlLFxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXG4gICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy50aG91c2FuZHNTZXBhcmF0b3IgfHwgJycsXG4gICAgICAgIHNjYWxlOiB0aGlzLmRlY2ltYWxzLFxuICAgICAgICByYWRpeDogJy4nLFxuICAgICAgICBwYWRGcmFjdGlvbmFsWmVyb3M6IHRoaXMuZGVjaW1hbHMgPiAwICYmIHRoaXMucGFkRGVjaW1hbFplcm9zLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX21hc2tPYmouZm9ybWF0ID0gKHY6IG51bWJlciwgbSkgPT4ge1xuICAgICAgICByZXR1cm4gIWlzTmFOKHYpXG4gICAgICAgICAgPyB2LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcbiAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDIwLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6ICcnO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbWFza09iai51cGRhdGVPcHRpb25zKHtcbiAgICAgICAgbWluOiB0aGlzLm1pblZhbHVlLFxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXG4gICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy50aG91c2FuZHNTZXBhcmF0b3IgfHwgJycsXG4gICAgICAgIHNjYWxlOiB0aGlzLmRlY2ltYWxzLFxuICAgICAgICByYWRpeDogJy4nLFxuICAgICAgICBwYWRGcmFjdGlvbmFsWmVyb3M6IHRoaXMuZGVjaW1hbHMgPiAwICYmIHRoaXMucGFkRGVjaW1hbFplcm9zLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZVZhbHVlKCk7XG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlQ29udHJvbCgpO1xuICB9XG5cbiAgX2hhbmRsZU1vZGVsQ2hhbmdlKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKHZhbHVlLCB0cnVlKTtcbiAgfVxuXG4gIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xuICAgIGNvbnN0IGlnbm9yZSA9ICgpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgdmFsU3RyID0gaW5wdXQudmFsdWU7XG4gICAgY29uc3QgZGVjaW1hbFBvaW50SW5kZXggPSB2YWxTdHIuaW5kZXhPZignLicpO1xuICAgIGNvbnN0IF9jdXJzb3JQb3MgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCE7XG5cbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIGlmIChkZWNpbWFsUG9pbnRJbmRleCA+IDAgJiYgX2N1cnNvclBvcyA+IGRlY2ltYWxQb2ludEluZGV4ICYmIHRoaXMuZGVjaW1hbHMgPiAwKSB7XG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuZGVjaW1hbFN0ZXBEb3duKHRydWUpIDogdGhpcy5kZWNpbWFsU3RlcFVwKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gdGhpcy5zdGVwRG93bih0cnVlKSA6IHRoaXMuc3RlcFVwKHRydWUpO1xuICAgICAgfVxuICAgICAgaWdub3JlKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoX2N1cnNvclBvcywgX2N1cnNvclBvcyk7XG4gICAgICB9LCA1KTtcbiAgICB9XG4gICAgc3VwZXIuZW1pdE9uS2V5ZG93bkV2ZW50KGUpO1xuICB9XG5cbiAgX2hhbmRsZVVwRG93bkNsaWNrKHY6IC0xIHwgMSkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHJldHVybjtcbiAgICB2ID09IDEgPyB0aGlzLnN0ZXBVcCh0cnVlKSA6IHRoaXMuc3RlcERvd24odHJ1ZSk7XG4gIH1cblxuICBzdGVwVXAodTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApLCB1KTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLnZhbHVlICsgdG9OdW1iZXIodGhpcy5zdGVwKSwgdSk7XG4gIH1cblxuICBzdGVwRG93bih1OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCksIHUpO1xuICAgIH1cbiAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMudmFsdWUgLSB0b051bWJlcih0aGlzLnN0ZXApLCB1KTtcbiAgfVxuXG4gIGRlY2ltYWxTdGVwVXAodTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApLCB1KTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUgKyB0b051bWJlcih0aGlzLmRlY2ltYWxTdGVwID09ICdhdXRvJyA/IDEgLyBNYXRoLnBvdygxMCwgdGhpcy5kZWNpbWFscykgOiB0aGlzLmRlY2ltYWxTdGVwKSxcbiAgICAgIHUsXG4gICAgKTtcbiAgfVxuXG4gIGRlY2ltYWxTdGVwRG93bih1OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCksIHUpO1xuICAgIH1cbiAgICB0aGlzLmNvbW1pdFZhbHVlKFxuICAgICAgdGhpcy52YWx1ZSAtIHRvTnVtYmVyKHRoaXMuZGVjaW1hbFN0ZXAgPT0gJ2F1dG8nID8gMSAvIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxzKSA6IHRoaXMuZGVjaW1hbFN0ZXApLFxuICAgICAgdSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj4gPC9uZy1jb250ZW50PlxuPGlucHV0XG4gICNpbnB1dFxuICBjbGFzcz1cImF4LWlucHV0XCJcbiAgdHlwZT1cInRleHRcIlxuICBbaWRdPVwiaWRcIlxuICBbbmFtZV09XCJuYW1lXCJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbYXR0ci5hdXRvY29tcGxldGVdPVwiJ29mZidcIlxuICBbaW1hc2tdPVwiX21hc2tPYmpcIlxuICBbdW5tYXNrXT1cIid0eXBlZCdcIlxuICBbYXR0ci5taW5dPVwibWluVmFsdWVcIlxuICBbYXR0ci5tYXhdPVwibWF4VmFsdWVcIlxuICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIlxuICAoa2V5dXApPVwiZW1pdE9uS2V5dXBFdmVudCgkZXZlbnQpXCJcbiAgKGtleXByZXNzKT1cImVtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiXG4gIChmb2N1cyk9XCJlbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxuICAoYmx1cik9XCJlbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiXG4vPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2xlYXItYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImF4LW51bWJlci1ib3gtY29udHJvbFwiICpuZ0lmPVwic2hvd1NwaW5CdXR0b25zXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1pY29uIGF4LW51bWJlci1ib3gtaW5jcmVtZW50XCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJfaGFuZGxlVXBEb3duQ2xpY2soMSlcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1hcnJvdy11cFwiPjwvc3Bhbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1pY29uIGF4LW51bWJlci1ib3gtZGVjcmVtZW50XCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJfaGFuZGxlVXBEb3duQ2xpY2soLTEpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tYXJyb3ctZG93blwiIHRhYmluZGV4PVwiLTFcIj48L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj4gPC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbiJdfQ==
@@ -15,15 +15,15 @@ const MODULES = [
15
15
  IMaskModule
16
16
  ];
17
17
  export class AXNumberBoxModule {
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AXNumberBoxModule, declarations: [AXNumberBoxComponent], imports: [CommonModule,
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: AXNumberBoxModule, declarations: [AXNumberBoxComponent], imports: [CommonModule,
20
20
  FormsModule,
21
21
  AXButtonModule,
22
22
  AXDecoratorModule,
23
23
  IMaskModule], exports: [AXNumberBoxComponent] }); }
24
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXNumberBoxModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXNumberBoxModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  declarations: [...COMPONENT],