@acorex/components 7.3.1 → 7.4.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 (441) hide show
  1. package/button/lib/button-group.component.d.ts +10 -73
  2. package/button/lib/button-item.class.d.ts +1 -3
  3. package/button/lib/button-item.component.d.ts +12 -75
  4. package/button/lib/button.component.d.ts +1 -1
  5. package/button-group/README.md +3 -0
  6. package/button-group/index.d.ts +2 -0
  7. package/button-group/lib/button-group.component.d.ts +21 -0
  8. package/button-group/lib/button-group.module.d.ts +8 -0
  9. package/calendar/lib/calendar-range.component.d.ts +2 -1
  10. package/calendar/lib/calendar.class.d.ts +9 -8
  11. package/calendar/lib/calendar.component.d.ts +2 -1
  12. package/check-box/lib/check-box.component.d.ts +3 -2
  13. package/color-box/README.md +3 -0
  14. package/color-box/index.d.ts +2 -0
  15. package/color-box/lib/color-box.component.d.ts +27 -0
  16. package/color-box/lib/color-box.module.d.ts +11 -0
  17. package/common/index.d.ts +6 -5
  18. package/common/lib/classes/styles.class.d.ts +0 -9
  19. package/common/lib/components/button-base-component.class.d.ts +0 -2
  20. package/common/lib/components/interactive-component.class.d.ts +7 -1
  21. package/common/lib/types/direction.d.ts +4 -0
  22. package/common/lib/types/orientation.d.ts +4 -0
  23. package/common/lib/types/placement.d.ts +30 -0
  24. package/common/lib/types/selection-mode.d.ts +4 -0
  25. package/data-pager/lib/data-pager.module.d.ts +5 -4
  26. package/data-table/lib/data-column.directive.d.ts +2 -2
  27. package/datetime-box/README.md +3 -0
  28. package/datetime-box/index.d.ts +2 -0
  29. package/datetime-box/lib/datetime-box.component.d.ts +34 -0
  30. package/datetime-box/lib/datetime-box.module.d.ts +13 -0
  31. package/datetime-input/README.md +3 -0
  32. package/datetime-input/index.d.ts +2 -0
  33. package/datetime-input/lib/datetime-input.component.d.ts +44 -0
  34. package/datetime-input/lib/datetime-input.module.d.ts +10 -0
  35. package/datetime-picker/README.md +3 -0
  36. package/datetime-picker/index.d.ts +2 -0
  37. package/datetime-picker/lib/datetime-picker.component.d.ts +42 -0
  38. package/datetime-picker/lib/datetime-picker.module.d.ts +14 -0
  39. package/decorators/index.d.ts +4 -4
  40. package/decorators/lib/decorators.module.d.ts +4 -4
  41. package/dropdown/index.d.ts +2 -0
  42. package/dropdown/lib/dropdown-box.class.d.ts +15 -0
  43. package/dropdown/lib/dropdown-box.component.d.ts +25 -0
  44. package/dropdown/lib/dropdown-panel.component.d.ts +31 -20
  45. package/dropdown/lib/dropdown.module.d.ts +9 -8
  46. package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
  47. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
  48. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
  49. package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
  50. package/esm2022/alert/lib/alert.component.mjs +3 -3
  51. package/esm2022/alert/lib/alert.module.mjs +4 -4
  52. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  53. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  54. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  55. package/esm2022/badge/lib/badge.component.mjs +3 -3
  56. package/esm2022/badge/lib/badge.module.mjs +4 -4
  57. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  58. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  59. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  60. package/esm2022/button/lib/button-group.component.mjs +36 -29
  61. package/esm2022/button/lib/button-item.class.mjs +1 -1
  62. package/esm2022/button/lib/button-item.component.mjs +46 -32
  63. package/esm2022/button/lib/button.component.mjs +14 -10
  64. package/esm2022/button/lib/button.module.mjs +4 -4
  65. package/esm2022/{color-picker/acorex-components-color-picker.mjs → button-group/acorex-components-button-group.mjs} +1 -1
  66. package/esm2022/button-group/index.mjs +3 -0
  67. package/esm2022/button-group/lib/button-group.component.mjs +97 -0
  68. package/esm2022/button-group/lib/button-group.module.mjs +21 -0
  69. package/esm2022/calendar/lib/calendar-range.component.mjs +14 -13
  70. package/esm2022/calendar/lib/calendar.class.mjs +19 -18
  71. package/esm2022/calendar/lib/calendar.component.mjs +80 -40
  72. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  73. package/esm2022/check-box/lib/check-box.component.mjs +9 -5
  74. package/esm2022/check-box/lib/check-box.module.mjs +4 -4
  75. package/esm2022/chips/lib/chips.component.mjs +3 -3
  76. package/esm2022/chips/lib/chips.module.mjs +4 -4
  77. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  78. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  79. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  80. package/esm2022/color-box/acorex-components-color-box.mjs +5 -0
  81. package/esm2022/color-box/index.mjs +3 -0
  82. package/esm2022/color-box/lib/color-box.component.mjs +91 -0
  83. package/esm2022/color-box/lib/color-box.module.mjs +24 -0
  84. package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
  85. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +13 -13
  86. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  87. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  88. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  89. package/esm2022/color-palette/lib/color-palette.component.mjs +5 -5
  90. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  91. package/esm2022/common/index.mjs +7 -6
  92. package/esm2022/common/lib/classes/components.class.mjs +22 -22
  93. package/esm2022/common/lib/classes/styles.class.mjs +1 -2
  94. package/esm2022/common/lib/common.module.mjs +4 -4
  95. package/esm2022/common/lib/components/base-component.class.mjs +3 -3
  96. package/esm2022/common/lib/components/button-base-component.class.mjs +4 -18
  97. package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
  98. package/esm2022/common/lib/components/interactive-component.class.mjs +14 -1
  99. package/esm2022/common/lib/components/value-component.class.mjs +6 -6
  100. package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
  101. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
  102. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  103. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  104. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  105. package/esm2022/common/lib/services/dom.service.mjs +3 -3
  106. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  107. package/esm2022/common/lib/types/direction.mjs +2 -0
  108. package/esm2022/common/lib/types/orientation.mjs +2 -0
  109. package/esm2022/common/lib/types/placement.mjs +160 -0
  110. package/esm2022/common/lib/types/range.mjs +2 -0
  111. package/esm2022/common/lib/types/selection-mode.mjs +5 -0
  112. package/esm2022/context-menu/lib/context-menu.component.mjs +3 -3
  113. package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
  114. package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
  115. package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
  116. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
  117. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +4 -4
  118. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +15 -18
  119. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +7 -7
  120. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +4 -4
  121. package/esm2022/data-pager/lib/data-pager.component.mjs +5 -5
  122. package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
  123. package/esm2022/data-table/lib/data-column.directive.mjs +6 -8
  124. package/esm2022/data-table/lib/data-table.component.mjs +3 -3
  125. package/esm2022/data-table/lib/data-table.module.mjs +4 -4
  126. package/esm2022/datetime-box/acorex-components-datetime-box.mjs +5 -0
  127. package/esm2022/datetime-box/index.mjs +3 -0
  128. package/esm2022/datetime-box/lib/datetime-box.component.mjs +109 -0
  129. package/esm2022/datetime-box/lib/datetime-box.module.mjs +38 -0
  130. package/esm2022/datetime-input/acorex-components-datetime-input.mjs +5 -0
  131. package/esm2022/datetime-input/index.mjs +3 -0
  132. package/esm2022/datetime-input/lib/datetime-input.component.mjs +522 -0
  133. package/esm2022/datetime-input/lib/datetime-input.module.mjs +23 -0
  134. package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +5 -0
  135. package/esm2022/datetime-picker/index.mjs +3 -0
  136. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +232 -0
  137. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +41 -0
  138. package/esm2022/decorators/index.mjs +5 -5
  139. package/esm2022/decorators/lib/components/clear-button.component.mjs +58 -0
  140. package/esm2022/decorators/lib/components/close-button.component.mjs +43 -0
  141. package/esm2022/decorators/lib/components/generic-content.component.mjs +17 -0
  142. package/esm2022/decorators/lib/components/icon.component.mjs +26 -0
  143. package/esm2022/decorators/lib/decorators.module.mjs +10 -10
  144. package/esm2022/dialog/lib/dialog.component.mjs +4 -4
  145. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  146. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  147. package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
  148. package/esm2022/drawer/lib/drawer.component.mjs +3 -3
  149. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  150. package/esm2022/dropdown/index.mjs +3 -1
  151. package/esm2022/dropdown/lib/dropdown-box.class.mjs +38 -0
  152. package/esm2022/dropdown/lib/dropdown-box.component.mjs +94 -0
  153. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +88 -37
  154. package/esm2022/dropdown/lib/dropdown.module.mjs +8 -7
  155. package/esm2022/form/index.mjs +2 -1
  156. package/esm2022/form/lib/form-field.component.mjs +3 -3
  157. package/esm2022/form/lib/form.component.mjs +3 -3
  158. package/esm2022/form/lib/form.config.mjs +36 -0
  159. package/esm2022/form/lib/form.module.mjs +6 -28
  160. package/esm2022/form/lib/validation-rule.widget.mjs +8 -7
  161. package/esm2022/form/lib/validation-summary.component.mjs +4 -4
  162. package/esm2022/image/lib/image.component.mjs +3 -3
  163. package/esm2022/image/lib/image.module.mjs +4 -4
  164. package/esm2022/label/lib/label.component.mjs +3 -3
  165. package/esm2022/label/lib/label.module.mjs +4 -4
  166. package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
  167. package/esm2022/loading/lib/loading.component.mjs +6 -6
  168. package/esm2022/loading/lib/loading.directive.mjs +20 -51
  169. package/esm2022/loading/lib/loading.module.mjs +6 -6
  170. package/esm2022/loading/lib/loading.service.mjs +36 -28
  171. package/esm2022/menu/lib/menu.component.mjs +3 -3
  172. package/esm2022/menu/lib/menu.module.mjs +4 -4
  173. package/esm2022/mixin/index.mjs +1 -2
  174. package/esm2022/mixin/lib/base-components.class.mjs +3 -3
  175. package/esm2022/mixin/lib/selection-component.class.mjs +3 -3
  176. package/esm2022/mixin/lib/value-mixin.class.mjs +3 -3
  177. package/esm2022/notification/lib/notification.component.mjs +3 -3
  178. package/esm2022/notification/lib/notification.module.mjs +4 -4
  179. package/esm2022/notification/lib/notification.service.mjs +3 -3
  180. package/esm2022/number-box/lib/number-box.component.mjs +3 -3
  181. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  182. package/esm2022/otp/lib/otp.component.mjs +23 -11
  183. package/esm2022/otp/lib/otp.module.mjs +4 -4
  184. package/esm2022/page/lib/base-page.class.mjs +20 -21
  185. package/esm2022/page/lib/page.component.mjs +13 -13
  186. package/esm2022/page/lib/page.module.mjs +4 -4
  187. package/esm2022/password-box/lib/password-box.component.mjs +3 -3
  188. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  189. package/esm2022/picker/acorex-components-picker.mjs +5 -0
  190. package/esm2022/picker/index.mjs +4 -0
  191. package/esm2022/picker/lib/picker-column.directive.mjs +73 -0
  192. package/esm2022/picker/lib/picker.component.mjs +148 -0
  193. package/esm2022/picker/lib/picker.module.mjs +22 -0
  194. package/esm2022/popover/index.mjs +1 -2
  195. package/esm2022/popover/lib/popover.component.mjs +270 -166
  196. package/esm2022/popover/lib/popover.module.mjs +4 -4
  197. package/esm2022/popup/lib/popup.component.mjs +40 -15
  198. package/esm2022/popup/lib/popup.module.mjs +6 -6
  199. package/esm2022/popup/lib/popup.service.mjs +9 -6
  200. package/esm2022/progress-bar/lib/progress-bar.component.mjs +9 -13
  201. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  202. package/esm2022/radio/lib/radio.component.mjs +36 -21
  203. package/esm2022/radio/lib/radio.module.mjs +4 -4
  204. package/esm2022/range-slider/lib/range-slider.component.mjs +21 -34
  205. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  206. package/esm2022/result/lib/result.component.mjs +6 -6
  207. package/esm2022/result/lib/result.module.mjs +4 -4
  208. package/esm2022/scheduler/index.mjs +2 -1
  209. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +16 -9
  210. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +12 -0
  211. package/esm2022/scheduler/lib/scheduler.component.mjs +27 -14
  212. package/esm2022/scheduler/lib/scheduler.module.mjs +10 -9
  213. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  214. package/esm2022/search-box/lib/search-box.module.mjs +4 -4
  215. package/esm2022/select-box/lib/select-box.component.mjs +7 -7
  216. package/esm2022/select-box/lib/select-box.module.mjs +4 -4
  217. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  218. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
  219. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  220. package/esm2022/switch/lib/switch.component.mjs +3 -3
  221. package/esm2022/switch/lib/switch.module.mjs +4 -4
  222. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  223. package/esm2022/tabs/lib/tab-item.component.mjs +23 -53
  224. package/esm2022/tabs/lib/tabs.class.mjs +1 -1
  225. package/esm2022/tabs/lib/tabs.component.mjs +19 -28
  226. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  227. package/esm2022/tag/lib/tag.component.mjs +8 -10
  228. package/esm2022/tag/lib/tag.module.mjs +4 -4
  229. package/esm2022/text-area/lib/text-area.component.mjs +3 -3
  230. package/esm2022/text-area/lib/text-area.module.mjs +4 -4
  231. package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
  232. package/esm2022/text-box/lib/text-box.component.mjs +3 -3
  233. package/esm2022/text-box/lib/text-box.module.mjs +4 -4
  234. package/esm2022/toast/lib/toast.component.mjs +3 -3
  235. package/esm2022/toast/lib/toast.config.mjs +9 -3
  236. package/esm2022/toast/lib/toast.module.mjs +10 -6
  237. package/esm2022/toast/lib/toast.service.mjs +3 -3
  238. package/esm2022/tooltip/lib/tooltip.component.mjs +9 -13
  239. package/esm2022/tooltip/lib/tooltip.directive.mjs +35 -143
  240. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  241. package/esm2022/uploader/index.mjs +4 -2
  242. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +13 -0
  243. package/esm2022/uploader/lib/uploader-list.component.mjs +14 -0
  244. package/esm2022/uploader/lib/uploader-overlay.component.mjs +12 -0
  245. package/esm2022/uploader/lib/uploader.module.mjs +14 -11
  246. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  247. package/fesm2022/acorex-components-alert.mjs +7 -7
  248. package/fesm2022/acorex-components-avatar.mjs +10 -10
  249. package/fesm2022/acorex-components-badge.mjs +7 -7
  250. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  251. package/fesm2022/acorex-components-button-group.mjs +122 -0
  252. package/fesm2022/acorex-components-button-group.mjs.map +1 -0
  253. package/fesm2022/acorex-components-button.mjs +138 -116
  254. package/fesm2022/acorex-components-button.mjs.map +1 -1
  255. package/fesm2022/acorex-components-calendar.mjs +110 -68
  256. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  257. package/fesm2022/acorex-components-check-box.mjs +12 -8
  258. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  259. package/fesm2022/acorex-components-chips.mjs +7 -7
  260. package/fesm2022/acorex-components-collapse.mjs +10 -10
  261. package/fesm2022/acorex-components-color-box.mjs +116 -0
  262. package/fesm2022/acorex-components-color-box.mjs.map +1 -0
  263. package/fesm2022/acorex-components-color-palette.mjs +36 -36
  264. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  265. package/fesm2022/acorex-components-common.mjs +238 -301
  266. package/fesm2022/acorex-components-common.mjs.map +1 -1
  267. package/fesm2022/acorex-components-context-menu.mjs +7 -7
  268. package/fesm2022/acorex-components-data-pager.mjs +52 -54
  269. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  270. package/fesm2022/acorex-components-data-table.mjs +12 -14
  271. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  272. package/fesm2022/acorex-components-datetime-box.mjs +146 -0
  273. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -0
  274. package/fesm2022/acorex-components-datetime-input.mjs +547 -0
  275. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -0
  276. package/fesm2022/acorex-components-datetime-picker.mjs +273 -0
  277. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -0
  278. package/fesm2022/acorex-components-decorators.mjs +50 -50
  279. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  280. package/fesm2022/acorex-components-dialog.mjs +11 -11
  281. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  282. package/fesm2022/acorex-components-drawer.mjs +10 -10
  283. package/fesm2022/acorex-components-dropdown.mjs +217 -44
  284. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  285. package/fesm2022/acorex-components-form.mjs +58 -44
  286. package/fesm2022/acorex-components-form.mjs.map +1 -1
  287. package/fesm2022/acorex-components-image.mjs +7 -7
  288. package/fesm2022/acorex-components-label.mjs +7 -7
  289. package/fesm2022/acorex-components-loading.mjs +93 -116
  290. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  291. package/fesm2022/acorex-components-menu.mjs +7 -7
  292. package/fesm2022/acorex-components-mixin.mjs +7 -26
  293. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  294. package/fesm2022/acorex-components-notification.mjs +10 -10
  295. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  296. package/fesm2022/acorex-components-number-box.mjs +7 -7
  297. package/fesm2022/acorex-components-otp.mjs +27 -15
  298. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  299. package/fesm2022/acorex-components-page.mjs +55 -56
  300. package/fesm2022/acorex-components-page.mjs.map +1 -1
  301. package/fesm2022/acorex-components-password-box.mjs +7 -7
  302. package/fesm2022/acorex-components-picker.mjs +242 -0
  303. package/fesm2022/acorex-components-picker.mjs.map +1 -0
  304. package/fesm2022/acorex-components-popover.mjs +275 -241
  305. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  306. package/fesm2022/acorex-components-popup.mjs +52 -24
  307. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  308. package/fesm2022/acorex-components-progress-bar.mjs +12 -16
  309. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  310. package/fesm2022/acorex-components-radio.mjs +39 -25
  311. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  312. package/fesm2022/acorex-components-range-slider.mjs +24 -37
  313. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  314. package/fesm2022/acorex-components-result.mjs +9 -9
  315. package/fesm2022/acorex-components-result.mjs.map +1 -1
  316. package/fesm2022/acorex-components-scheduler.mjs +50 -25
  317. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  318. package/fesm2022/acorex-components-search-box.mjs +7 -7
  319. package/fesm2022/acorex-components-select-box.mjs +10 -10
  320. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  321. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  322. package/fesm2022/acorex-components-switch.mjs +10 -10
  323. package/fesm2022/acorex-components-tabs.mjs +45 -85
  324. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  325. package/fesm2022/acorex-components-tag.mjs +11 -13
  326. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  327. package/fesm2022/acorex-components-text-area.mjs +7 -7
  328. package/fesm2022/acorex-components-text-box.mjs +10 -10
  329. package/fesm2022/acorex-components-toast.mjs +23 -13
  330. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  331. package/fesm2022/acorex-components-tooltip.mjs +45 -157
  332. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  333. package/fesm2022/acorex-components-uploader.mjs +38 -103
  334. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  335. package/form/index.d.ts +1 -0
  336. package/form/lib/form.config.d.ts +17 -0
  337. package/form/lib/form.module.d.ts +0 -1
  338. package/form/lib/validation-rule.widget.d.ts +1 -0
  339. package/loading/lib/loading.directive.d.ts +10 -17
  340. package/loading/lib/loading.module.d.ts +1 -1
  341. package/loading/lib/loading.service.d.ts +10 -15
  342. package/mixin/index.d.ts +0 -1
  343. package/mixin/lib/base-components.class.d.ts +2 -2
  344. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  345. package/mixin/lib/button-mixin.class.d.ts +2 -2
  346. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  347. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  348. package/mixin/lib/datalist-component.class.d.ts +10 -10
  349. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  350. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  351. package/mixin/lib/mixin.class.d.ts +61 -61
  352. package/mixin/lib/page-component.class.d.ts +2 -2
  353. package/mixin/lib/selection-component.class.d.ts +2 -2
  354. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  355. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  356. package/mixin/lib/value-mixin.class.d.ts +8 -8
  357. package/otp/lib/otp.component.d.ts +10 -6
  358. package/package.json +56 -41
  359. package/page/lib/base-page.class.d.ts +6 -10
  360. package/page/lib/page.component.d.ts +4 -4
  361. package/picker/README.md +3 -0
  362. package/picker/index.d.ts +3 -0
  363. package/picker/lib/picker-column.directive.d.ts +16 -0
  364. package/picker/lib/picker.component.d.ts +30 -0
  365. package/picker/lib/picker.module.d.ts +9 -0
  366. package/popover/index.d.ts +0 -1
  367. package/popover/lib/popover.component.d.ts +51 -27
  368. package/popup/lib/popup.component.d.ts +6 -6
  369. package/progress-bar/lib/progress-bar.component.d.ts +3 -8
  370. package/radio/lib/radio.component.d.ts +8 -10
  371. package/range-slider/lib/range-slider.component.d.ts +12 -12
  372. package/result/lib/result.component.d.ts +2 -2
  373. package/scheduler/index.d.ts +1 -0
  374. package/scheduler/lib/scheduler-month-view.component.d.ts +2 -1
  375. package/scheduler/lib/scheduler-week-view.component.d.ts +6 -0
  376. package/scheduler/lib/scheduler.component.d.ts +6 -0
  377. package/scheduler/lib/scheduler.module.d.ts +7 -6
  378. package/tabs/lib/tab-item.component.d.ts +7 -38
  379. package/tabs/lib/tabs.class.d.ts +2 -1
  380. package/tabs/lib/tabs.component.d.ts +7 -9
  381. package/tag/lib/tag.component.d.ts +2 -4
  382. package/tooltip/lib/tooltip.component.d.ts +3 -6
  383. package/tooltip/lib/tooltip.directive.d.ts +11 -17
  384. package/uploader/index.d.ts +3 -1
  385. package/uploader/lib/uploader-drop-zone.component.d.ts +6 -0
  386. package/uploader/lib/uploader-list.component.d.ts +6 -0
  387. package/uploader/lib/uploader-overlay.component.d.ts +6 -0
  388. package/uploader/lib/uploader.module.d.ts +7 -4
  389. package/color-picker/README.md +0 -3
  390. package/color-picker/index.d.ts +0 -2
  391. package/color-picker/lib/color-picker.component.d.ts +0 -191
  392. package/color-picker/lib/color-picker.module.d.ts +0 -18
  393. package/common/lib/classes/drawing.class.d.ts +0 -9
  394. package/common/lib/constant/positions.d.ts +0 -75
  395. package/common/lib/services/custom-cdk-overlay.service.d.ts +0 -19
  396. package/common/lib/services/overlay.service.d.ts +0 -34
  397. package/date-picker/README.md +0 -3
  398. package/date-picker/index.d.ts +0 -2
  399. package/date-picker/lib/datepicker.component.d.ts +0 -40
  400. package/date-picker/lib/datepicker.module.d.ts +0 -15
  401. package/esm2022/color-picker/index.mjs +0 -3
  402. package/esm2022/color-picker/lib/color-picker.component.mjs +0 -116
  403. package/esm2022/color-picker/lib/color-picker.module.mjs +0 -61
  404. package/esm2022/common/lib/classes/data.class.mjs +0 -2
  405. package/esm2022/common/lib/classes/drawing.class.mjs +0 -2
  406. package/esm2022/common/lib/constant/positions.mjs +0 -75
  407. package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +0 -49
  408. package/esm2022/common/lib/services/overlay.service.mjs +0 -113
  409. package/esm2022/date-picker/acorex-components-date-picker.mjs +0 -5
  410. package/esm2022/date-picker/index.mjs +0 -3
  411. package/esm2022/date-picker/lib/datepicker.component.mjs +0 -128
  412. package/esm2022/date-picker/lib/datepicker.module.mjs +0 -44
  413. package/esm2022/decorators/lib/clear-button.component.mjs +0 -58
  414. package/esm2022/decorators/lib/close-button.component.mjs +0 -43
  415. package/esm2022/decorators/lib/generic-content.component.mjs +0 -17
  416. package/esm2022/decorators/lib/icon.component.mjs +0 -26
  417. package/esm2022/mixin/lib/loading-mixin.class.mjs +0 -18
  418. package/esm2022/popover/lib/dropdown-component.class.mjs +0 -73
  419. package/esm2022/time-box/acorex-components-time-box.mjs +0 -5
  420. package/esm2022/time-box/index.mjs +0 -3
  421. package/esm2022/time-box/lib/time-box.component.mjs +0 -294
  422. package/esm2022/time-box/lib/time-box.module.mjs +0 -32
  423. package/esm2022/uploader/lib/uploader.component.mjs +0 -99
  424. package/fesm2022/acorex-components-color-picker.mjs +0 -178
  425. package/fesm2022/acorex-components-color-picker.mjs.map +0 -1
  426. package/fesm2022/acorex-components-date-picker.mjs +0 -173
  427. package/fesm2022/acorex-components-date-picker.mjs.map +0 -1
  428. package/fesm2022/acorex-components-time-box.mjs +0 -329
  429. package/fesm2022/acorex-components-time-box.mjs.map +0 -1
  430. package/mixin/lib/loading-mixin.class.d.ts +0 -40
  431. package/popover/lib/dropdown-component.class.d.ts +0 -17
  432. package/time-box/README.md +0 -3
  433. package/time-box/index.d.ts +0 -2
  434. package/time-box/lib/time-box.component.d.ts +0 -50
  435. package/time-box/lib/time-box.module.d.ts +0 -11
  436. package/uploader/lib/uploader.component.d.ts +0 -28
  437. /package/common/lib/{classes/data.class.d.ts → types/range.d.ts} +0 -0
  438. /package/decorators/lib/{clear-button.component.d.ts → components/clear-button.component.d.ts} +0 -0
  439. /package/decorators/lib/{close-button.component.d.ts → components/close-button.component.d.ts} +0 -0
  440. /package/decorators/lib/{generic-content.component.d.ts → components/generic-content.component.d.ts} +0 -0
  441. /package/decorators/lib/{icon.component.d.ts → components/icon.component.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- import { AXObjectUtil } from '@acorex/core/utils';
2
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
2
  import { EventEmitter } from '@angular/core';
3
+ import { clone } from 'lodash-es';
4
4
  export function _SelectionComponenetMixin(Base) {
5
5
  return class extends Base {
6
6
  /**
@@ -34,7 +34,7 @@ export function _SelectionComponenetMixin(Base) {
34
34
  set value(v) {
35
35
  v = this._internalSetValue(v);
36
36
  if (v !== this._value) {
37
- const oldValue = AXObjectUtil.deepJSONClone(this._value);
37
+ const oldValue = clone(this._value);
38
38
  if (this.multiple) {
39
39
  this._value = Array.isArray(v) ? v : v ? [v] : [];
40
40
  }
@@ -177,4 +177,4 @@ export const SELECTION_INPUTS = [
177
177
  'selectionMode',
178
178
  ];
179
179
  export const SELECTION_OUTPUT = ['onValueChanged', 'valueChanged'];
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNvbXBvbmVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9taXhpbi9zcmMvbGliL3NlbGVjdGlvbi1jb21wb25lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLN0MsTUFBTSxVQUFVLHlCQUF5QixDQUE2QyxJQUFXO0lBQy9GLE9BQU8sS0FBTSxTQUFRLElBQUk7UUFRdkI7O1dBRUc7UUFDSCxJQUFJLEtBQUs7WUFDUCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLFlBQVk7WUFDZCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLFNBQVM7WUFDWCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFNRCxZQUFZLEdBQUcsSUFBVztZQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQTNCakIsZUFBVSxHQUFXLElBQUksQ0FBQztZQUMxQixjQUFTLEdBQVcsTUFBTSxDQUFDO1lBQzNCLGtCQUFhLEdBQVcsVUFBVSxDQUFDO1lBRW5DLGFBQVEsR0FBWSxLQUFLLENBQUM7WUFDMUIsa0JBQWEsR0FBcUIsT0FBTyxDQUFDO1lBaUJuQyxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1lBQ3pELG1CQUFjLEdBQ25CLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBSW5ELENBQUM7UUFFUSxlQUFlO1lBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBR0QsSUFBSSxLQUFLO1lBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENB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Q0FBQyxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUVELGNBQWMsQ0FBQyxJQUFTO1lBQ3RCLE9BQU8sQ0FDTCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssSUFBSTtnQkFDeEQsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDN0UsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLFlBQVk7SUFDWixXQUFXO0lBQ1gsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsZUFBZTtDQUNoQixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYT2JqZWN0VXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RyYXRjdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIF9TZWxlY3Rpb25Db21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBCYXNlIHtcbiAgICB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAnaWQnO1xuICAgIHRleHRGaWVsZDogc3RyaW5nID0gJ3RleHQnO1xuICAgIGRpc2FibGVkRmllbGQ6IHN0cmluZyA9ICdkaXNhYmxlZCc7XG4gICAgZGlzYWJsZWRDYWxsYmFjazogKGU6IHsgaXRlbTogYW55OyBpbmRleDogbnVtYmVyIH0pID0+IGJvb2xlYW47XG4gICAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBzZWxlY3Rpb25Nb2RlOiAndmFsdWUnIHwgJ2l0ZW0nID0gJ3ZhbHVlJztcblxuICAgIC8qKlxuICAgICAqICBEZWZpbmVzIHRoZSBwcmltYXJ5IHRleHQgdG8gc2hvdyBpbnNpZGUgdGhlIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBnZXQgaXRlbXMoKTogYW55W10ge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGdldCBkaXNwbGF5SXRlbXMoKTogYW55W10ge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGdldCBmbGF0SXRlbXMoKTogYW55W10ge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50PiA9XG4gICAgICBuZXcgRXZlbnRFbWl0dGVyPEFYU2VsZWN0aW9uVmFsdWVDaGFuZ2VkRXZlbnQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgX29uSW50ZXJuYWxJbml0KCkge1xuICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XG4gICAgfVxuXG4gICAgX3ZhbHVlOiBhbnkgfCBhbnlbXTtcbiAgICBnZXQgdmFsdWUoKTogYW55IHwgYW55W10ge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgICBzZXQgdmFsdWUodjogYW55IHwgYW55W10pIHtcbiAgICAgIHYgPSAodGhpcyBhcyBhbnkpLl9pbnRlcm5hbFNldFZhbHVlKHYpO1xuICAgICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gQVhPYmplY3RVdGlsLmRlZXBKU09OQ2xvbmUodGhpcy5fdmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gQXJyYXkuaXNBcnJheSh2KSA/IHYgOiB2ID8gW3ZdIDogW107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdmFsdWUgPSBBcnJheS5pc0FycmF5KHYpID8gdlswXSA6IHY7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVuZGVyU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICBvbGRWYWx1ZSxcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fdmFsdWUsXG4gICAgICAgICAgc2VsZWN0ZWRLZXlzOiB0aGlzLnNlbGVjdGVkSXRlbXMubWFwKChjKSA9PiBjW3RoaXMudmFsdWVGaWVsZF0pLFxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IHRoaXMuc2VsZWN0ZWRJdGVtcy5zbGljZSgpLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHYgPT0gbnVsbCB8fCB2ID09IHVuZGVmaW5lZCB8fCB2ID09ICcnKSB7XG4gICAgICAgICAgKHRoaXMgYXMgYW55KS5fc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMuX2lzSW5pdGVkKSB7XG4gICAgICAgICAgICAodGhpcyBhcyBhbnkpLnZhbGlkYXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgX3NlbGVjdGVkSXRlbXM6IGFueVtdO1xuICAgIGdldCBzZWxlY3RlZEl0ZW1zKCk6IGFueVtdIHtcbiAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zIHx8IFtdO1xuICAgIH1cblxuICAgIF9yZW5kZXJTZWxlY3Rpb24oKSB7XG4gICAgICBjb25zdCBmdW5jID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSA9PSBudWxsIHx8IHRoaXMudmFsdWUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5mbGF0SXRlbXM7XG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaSkgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuc29tZSgoaWkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGlpID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGlbdGhpcy52YWx1ZUZpZWxkXSA9PT0gaWlbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGlbdGhpcy52YWx1ZUZpZWxkXSA9PT0gaWk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlbdGhpcy52YWx1ZUZpZWxkXSA9PT0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubWFwKChpaSkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpaSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGlpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgZmFrZTogYW55ID0ge307XG4gICAgICAgICAgICAgIGZha2VbdGhpcy52YWx1ZUZpZWxkXSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgIGZha2VbdGhpcy50ZXh0RmllbGRdID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgcmV0dXJuIGZha2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnZhbHVlXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZmFrZTogYW55ID0ge307XG4gICAgICAgICAgICBmYWtlW3RoaXMudmFsdWVGaWVsZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgZmFrZVt0aGlzLnRleHRGaWVsZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIFtmYWtlXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gZnVuYygpO1xuICAgIH1cblxuICAgIF9nZXRJdGVtQnlEYXRhTW9kZShpdGVtOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdpdGVtJyA/IGl0ZW0gOiBpdGVtW3RoaXMudmFsdWVGaWVsZF07XG4gICAgfVxuXG4gICAgX2dldEl0ZW1WYWx1ZShpdGVtOiBhbnkpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgPyBpdGVtW3RoaXMudmFsdWVGaWVsZF0gOiBpdGVtO1xuICAgIH1cblxuICAgIHVuc2VsZWN0SXRlbXMoLi4uaXRlbXM6IGFueVtdKSB7XG4gICAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5maWx0ZXIoXG4gICAgICAgICAgKGMpID0+ICFpdGVtcy5zb21lKChkKSA9PiB0aGlzLl9nZXRJdGVtVmFsdWUoYykgPT09IHRoaXMuX2dldEl0ZW1WYWx1ZShkKSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdEl0ZW1zKC4uLml0ZW1zOiBhbnlbXSkge1xuICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSAodGhpcy52YWx1ZSB8fCBbXSkuY29uY2F0KGl0ZW1zLm1hcCgoYykgPT4gdGhpcy5fZ2V0SXRlbUJ5RGF0YU1vZGUoYykpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5fZ2V0SXRlbUJ5RGF0YU1vZGUoaXRlbXNbMF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlU2VsZWN0KC4uLml0ZW1zOiBhbnlbXSkge1xuICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNJdGVtU2VsZWN0ZWQoaXRlbSkgPyB0aGlzLnVuc2VsZWN0SXRlbXMoaXRlbSkgOiB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaXNJdGVtU2VsZWN0ZWQoaXRlbTogYW55KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoKGMpID0+IGNbdGhpcy52YWx1ZUZpZWxkXSA9PT0gaXRlbVt0aGlzLnZhbHVlRmllbGRdKTtcbiAgICB9XG5cbiAgICBpc0l0ZW1EaXNhYmxlZChpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShpdGVtW3RoaXMuZGlzYWJsZWRGaWVsZF0pID09PSB0cnVlIHx8XG4gICAgICAgICh0aGlzLmRpc2FibGVkQ2FsbGJhY2sgPyB0aGlzLmRpc2FibGVkQ2FsbGJhY2soeyBpdGVtLCBpbmRleDogLTEgfSkgOiBmYWxzZSlcbiAgICAgICk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX0lOUFVUUyA9IFtcbiAgJ3ZhbHVlRmllbGQnLFxuICAndGV4dEZpZWxkJyxcbiAgJ2Rpc2FibGVkRmllbGQnLFxuICAnZGlzYWJsZWRDYWxsYmFjaycsXG4gICdtdWx0aXBsZScsXG4gICdzZWxlY3Rpb25Nb2RlJyxcbl07XG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX09VVFBVVCA9IFsnb25WYWx1ZUNoYW5nZWQnLCAndmFsdWVDaGFuZ2VkJ107XG4iXX0=
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNvbXBvbmVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9taXhpbi9zcmMvbGliL3NlbGVjdGlvbi1jb21wb25lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sVUFBVSx5QkFBeUIsQ0FBNkMsSUFBVztJQUMvRixPQUFPLEtBQU0sU0FBUSxJQUFJO1FBUXZCOztXQUVHO1FBQ0gsSUFBSSxLQUFLO1lBQ1AsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsSUFBSSxZQUFZO1lBQ2QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsSUFBSSxTQUFTO1lBQ1gsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBTUQsWUFBWSxHQUFHLElBQVc7WUFDeEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUEzQmpCLGVBQVUsR0FBVyxJQUFJLENBQUM7WUFDMUIsY0FBUyxHQUFXLE1BQU0sQ0FBQztZQUMzQixrQkFBYSxHQUFXLFVBQVUsQ0FBQztZQUVuQyxhQUFRLEdBQVksS0FBSyxDQUFDO1lBQzFCLGtCQUFhLEdBQXFCLE9BQU8sQ0FBQztZQWlCbkMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztZQUN6RCxtQkFBYyxHQUNuQixJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUluRCxDQUFDO1FBRVEsZUFBZTtZQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUdELElBQUksS0FBSztZQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFD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QUM7UUFDdEYsQ0FBQztRQUVELGNBQWMsQ0FBQyxJQUFTO1lBQ3RCLE9BQU8sQ0FDTCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssSUFBSTtnQkFDeEQsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDN0UsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLFlBQVk7SUFDWixXQUFXO0lBQ1gsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsZUFBZTtDQUNoQixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYU2VsZWN0aW9uVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xuaW1wb3J0IHsgY2xvbmUgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gX1NlbGVjdGlvbkNvbXBvbmVuZXRNaXhpbjxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPEFYQmFzZUNvbXBvbmVudD4+KEJhc2U6IFRCYXNlKSB7XG4gIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xuICAgIHZhbHVlRmllbGQ6IHN0cmluZyA9ICdpZCc7XG4gICAgdGV4dEZpZWxkOiBzdHJpbmcgPSAndGV4dCc7XG4gICAgZGlzYWJsZWRGaWVsZDogc3RyaW5nID0gJ2Rpc2FibGVkJztcbiAgICBkaXNhYmxlZENhbGxiYWNrOiAoZTogeyBpdGVtOiBhbnk7IGluZGV4OiBudW1iZXIgfSkgPT4gYm9vbGVhbjtcbiAgICBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHNlbGVjdGlvbk1vZGU6ICd2YWx1ZScgfCAnaXRlbScgPSAndmFsdWUnO1xuXG4gICAgLyoqXG4gICAgICogIERlZmluZXMgdGhlIHByaW1hcnkgdGV4dCB0byBzaG93IGluc2lkZSB0aGUgYnV0dG9uLlxuICAgICAqL1xuICAgIGdldCBpdGVtcygpOiBhbnlbXSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgZ2V0IGRpc3BsYXlJdGVtcygpOiBhbnlbXSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgZ2V0IGZsYXRJdGVtcygpOiBhbnlbXSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYU2VsZWN0aW9uVmFsdWVDaGFuZ2VkRXZlbnQ+ID1cbiAgICAgIG5ldyBFdmVudEVtaXR0ZXI8QVhTZWxlY3Rpb25WYWx1ZUNoYW5nZWRFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBfb25JbnRlcm5hbEluaXQoKSB7XG4gICAgICBzdXBlci5fb25JbnRlcm5hbEluaXQoKTtcbiAgICB9XG5cbiAgICBfdmFsdWU6IGFueSB8IGFueVtdO1xuICAgIGdldCB2YWx1ZSgpOiBhbnkgfCBhbnlbXSB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuICAgIHNldCB2YWx1ZSh2OiBhbnkgfCBhbnlbXSkge1xuICAgICAgdiA9ICh0aGlzIGFzIGFueSkuX2ludGVybmFsU2V0VmFsdWUodik7XG4gICAgICBpZiAodiAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBjbG9uZSh0aGlzLl92YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgdGhpcy5fdmFsdWUgPSBBcnJheS5pc0FycmF5KHYpID8gdiA6IHYgPyBbdl0gOiBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IEFycmF5LmlzQXJyYXkodikgPyB2WzBdIDogdjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZW5kZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICAgIG9sZFZhbHVlLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZSxcbiAgICAgICAgICBzZWxlY3RlZEtleXM6IHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoKGMpID0+IGNbdGhpcy52YWx1ZUZpZWxkXSksXG4gICAgICAgICAgc2VsZWN0ZWRJdGVtczogdGhpcy5zZWxlY3RlZEl0ZW1zLnNsaWNlKCksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gJycpIHtcbiAgICAgICAgICAodGhpcyBhcyBhbnkpLl9zZXRTdGF0ZSgnY2xlYXInKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5faXNJbml0ZWQpIHtcbiAgICAgICAgICAgICh0aGlzIGFzIGFueSkudmFsaWRhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBfc2VsZWN0ZWRJdGVtczogYW55W107XG4gICAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xuICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMgfHwgW107XG4gICAgfVxuXG4gICAgX3JlbmRlclNlbGVjdGlvbigpIHtcbiAgICAgIGNvbnN0IGZ1bmMgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09IG51bGwgfHwgdGhpcy52YWx1ZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmZsYXRJdGVtcztcbiAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5zb21lKChpaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaWkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSBpaVt0aGlzLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSBpaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIHJldHVybiBpW3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMudmFsdWVbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5tYXAoKGlpKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGlpID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICByZXR1cm4gaWk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBmYWtlOiBhbnkgPSB7fTtcbiAgICAgICAgICAgICAgZmFrZVt0aGlzLnZhbHVlRmllbGRdID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgZmFrZVt0aGlzLnRleHRGaWVsZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICByZXR1cm4gZmFrZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICByZXR1cm4gW3RoaXMudmFsdWVdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmYWtlOiBhbnkgPSB7fTtcbiAgICAgICAgICAgIGZha2VbdGhpcy52YWx1ZUZpZWxkXSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICBmYWtlW3RoaXMudGV4dEZpZWxkXSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gW2Zha2VdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBmdW5jKCk7XG4gICAgfVxuXG4gICAgX2dldEl0ZW1CeURhdGFNb2RlKGl0ZW06IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ2l0ZW0nID8gaXRlbSA6IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXTtcbiAgICB9XG5cbiAgICBfZ2V0SXRlbVZhbHVlKGl0ZW06IGFueSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyA/IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSA6IGl0ZW07XG4gICAgfVxuXG4gICAgdW5zZWxlY3RJdGVtcyguLi5pdGVtczogYW55W10pIHtcbiAgICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLmZpbHRlcihcbiAgICAgICAgICAoYykgPT4gIWl0ZW1zLnNvbWUoKGQpID0+IHRoaXMuX2dldEl0ZW1WYWx1ZShjKSA9PT0gdGhpcy5fZ2V0SXRlbVZhbHVlKGQpKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0SXRlbXMoLi4uaXRlbXM6IGFueVtdKSB7XG4gICAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZSA9ICh0aGlzLnZhbHVlIHx8IFtdKS5jb25jYXQoaXRlbXMubWFwKChjKSA9PiB0aGlzLl9nZXRJdGVtQnlEYXRhTW9kZShjKSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl9nZXRJdGVtQnlEYXRhTW9kZShpdGVtc1swXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVTZWxlY3QoLi4uaXRlbXM6IGFueVtdKSB7XG4gICAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5pc0l0ZW1TZWxlY3RlZChpdGVtKSA/IHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKSA6IHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpc0l0ZW1TZWxlY3RlZChpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZSgoYykgPT4gY1t0aGlzLnZhbHVlRmllbGRdID09PSBpdGVtW3RoaXMudmFsdWVGaWVsZF0pO1xuICAgIH1cblxuICAgIGlzSXRlbURpc2FibGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgY29lcmNlQm9vbGVhblByb3BlcnR5KGl0ZW1bdGhpcy5kaXNhYmxlZEZpZWxkXSkgPT09IHRydWUgfHxcbiAgICAgICAgKHRoaXMuZGlzYWJsZWRDYWxsYmFjayA/IHRoaXMuZGlzYWJsZWRDYWxsYmFjayh7IGl0ZW0sIGluZGV4OiAtMSB9KSA6IGZhbHNlKVxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RJT05fSU5QVVRTID0gW1xuICAndmFsdWVGaWVsZCcsXG4gICd0ZXh0RmllbGQnLFxuICAnZGlzYWJsZWRGaWVsZCcsXG4gICdkaXNhYmxlZENhbGxiYWNrJyxcbiAgJ211bHRpcGxlJyxcbiAgJ3NlbGVjdGlvbk1vZGUnLFxuXTtcbmV4cG9ydCBjb25zdCBTRUxFQ1RJT05fT1VUUFVUID0gWydvblZhbHVlQ2hhbmdlZCcsICd2YWx1ZUNoYW5nZWQnXTtcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
2
  import { EventEmitter } from '@angular/core';
3
- import { AXObjectUtil } from '@acorex/core/utils';
3
+ import { clone } from 'lodash-es';
4
4
  export function _ValueComponenetMixin(Base) {
5
5
  return class extends Base {
6
6
  #readonly;
@@ -38,7 +38,7 @@ export function _ValueComponenetMixin(Base) {
38
38
  set value(v) {
39
39
  v = this._internalSetValue(v);
40
40
  //if (!this._isInited ) {
41
- const old = AXObjectUtil.deepJSONClone(this.value);
41
+ const old = clone(this.value);
42
42
  // TODO: check real equality
43
43
  if (v != old) {
44
44
  this.#value = v;
@@ -224,4 +224,4 @@ export function _ValueComponenetMixin(Base) {
224
224
  }
225
225
  };
226
226
  }
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtbWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWl4aW4vc3JjL2xpYi92YWx1ZS1taXhpbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxNQUFNLFVBQVUscUJBQXFCLENBQTZDLElBQVc7SUFDM0YsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQVl2QixTQUFTLENBQWtCO1FBRTNCOztXQUVHO1FBQ0gsSUFBSSxRQUFRO1lBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELFVBQVUsQ0FBaUI7UUFDM0IsSUFBSSxTQUFTO1lBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFjO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELEtBQUssQ0FBUztRQUNkLElBQUksSUFBSTtZQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBYTtZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBRUQsa0JBQWtCLENBQWtCO1FBRXBDLElBQUksaUJBQWlCO1lBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFD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QUFDO29CQUN4QixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztvQkFDeEIsTUFBTTtnQkFDUixLQUFLLE9BQU87b0JBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDeEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ1gsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7d0JBQ3ZDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQzFCO29CQUNELEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQ3ZDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBRXZDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO29CQUN0QixNQUFNO2FBQ1Q7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCwgQVhDb21wb25lbnRTdGF0ZSB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xuaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhPYmplY3RVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbjxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPEFYQmFzZUNvbXBvbmVudD4+KEJhc2U6IFRCYXNlKSB7XG4gIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xuICAgIC8qKlxuICAgICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgcHJlc3MgYSBrZXkuXG4gICAgICogIEBldmVudFxuICAgICAqL1xuICAgIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgICBBWFZhbHVlQ2hhbmdlZEV2ZW50PGFueT5cbiAgICA+KCk7XG5cbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBzdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ29tcG9uZW50U3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENvbXBvbmVudFN0YXRlPigpO1xuXG4gICAgI3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiAgSWYgc2V0IHRvIHRydWUsIHVzZXIgY2Fubm90IGNoYW5nZSB0aGUgdmFsdWUgb2YgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGdldCByZWFkb25seSgpIHtcbiAgICAgIHJldHVybiB0aGlzLiNyZWFkb25seTtcbiAgICB9XG4gICAgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICB0aGlzLiNyZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgI2FsbG93TnVsbDogYm9vbGVhbiA9IHRydWU7XG4gICAgZ2V0IGFsbG93TnVsbCgpIHtcbiAgICAgIHJldHVybiB0aGlzLiNhbGxvd051bGw7XG4gICAgfVxuICAgIHNldCBhbGxvd051bGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuI2FsbG93TnVsbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgI25hbWU6IHN0cmluZztcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLiNuYW1lO1xuICAgIH1cbiAgICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICB0aGlzLiNuYW1lID0gdmFsdWU7XG4gICAgfVxuXG4gICAgI2lzVXNlckludGVyYWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgaXNVc2VySW50ZXJhY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy4jaXNVc2VySW50ZXJhY3Rpb247XG4gICAgfVxuXG4gICAgI3ZhbHVlOiBhbnk7XG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxHZXRWYWx1ZSgpO1xuICAgIH1cbiAgICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgICB2ID0gdGhpcy5faW50ZXJuYWxTZXRWYWx1ZSh2KTtcbiAgICAgIC8vaWYgKCF0aGlzLl9pc0luaXRlZCApIHtcbiAgICAgIGNvbnN0IG9sZCA9IEFYT2JqZWN0VXRpbC5kZWVwSlNPTkNsb25lKHRoaXMudmFsdWUpO1xuICAgICAgLy8gVE9ETzogY2hlY2sgcmVhbCBlcXVhbGl0eVxuICAgICAgaWYgKHYgIT0gb2xkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlID0gdjtcbiAgICAgICAgdGhpcy5fZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkLCB0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gJycgfHwgKEFycmF5LmlzQXJyYXkodikgJiYgdi5sZW5ndGggPT0gMCkpIHtcbiAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnY2xlYXInKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBlbHNlIHtcbiAgICAgICAgLy8gICBpZiAodGhpcy5faXNJbml0ZWQpIHtcbiAgICAgICAgLy8gICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuI2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XG4gICAgICAvL31cbiAgICB9XG5cbiAgICAjc3RhdGU6IEFYQ29tcG9uZW50U3RhdGUgPSAnY2xlYXInO1xuXG4gICAgZ2V0IHN0YXRlKCk6IEFYQ29tcG9uZW50U3RhdGUge1xuICAgICAgcmV0dXJuIHRoaXMuI3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZSh2YWx1ZTogQVhDb21wb25lbnRTdGF0ZSkge1xuICAgICAgdGhpcy5fc2V0U3RhdGUodmFsdWUpO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBfZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICB2YWx1ZTogbmV3VmFsdWUsXG4gICAgICAgIG9sZFZhbHVlOiBvbGRWYWx1ZSxcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdGhpcy5pc1VzZXJJbnRlcmFjdGlvbixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb25WYWx1ZUNoYW5nZWQob2xkVmFsdWUsIHRoaXMuI3ZhbHVlKTtcbiAgICAgIHRoaXMuI2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XG4gICAgfVxuXG4gICAgX2ludGVybmFsU2V0VmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3NldFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBfaW50ZXJuYWxHZXRWYWx1ZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSh0aGlzLiN2YWx1ZSk7XG4gICAgfVxuXG4gICAgX3NldFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBfZ2V0VmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIF9zZXRVc2VySW50ZXJhY3Rpb24oKSB7XG4gICAgICB0aGlzLiNpc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgfVxuXG4gICAgc2V0VXNlckludGVyYWN0aW9uKCkge1xuICAgICAgdGhpcy4jaXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xuICAgIH1cblxuICAgIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogYW55LCBuZXdWYWx1ZTogYW55KTogdm9pZCB7fVxuXG4gICAgb3ZlcnJpZGUgX29uSW50ZXJuYWxJbml0KCkge1xuICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ2F4LWZvcm0taW5wdXQnLCAndHJ1ZScpO1xuICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgX29uSW50ZXJuYWxWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuX2NoZWNrUmVxdWlyZWQoKTtcbiAgICAgIHN1cGVyLl9vbkludGVybmFsVmlld0luaXQoKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBfb25JbnRlcm5hbERlc3Ryb3koKSB7XG4gICAgICBzdXBlci5vbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIF9jaGVja1JlcXVpcmVkKCkge1xuICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IEFycmF5LmZyb20oXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnYXgtdmFsaWRhdGlvbi1ydWxlJylcbiAgICAgICkuc29tZShcbiAgICAgICAgKGMpID0+IChjIGFzIGFueSkuX19heENvbnRleHRfXy5lbmFibGVkICYmIChjIGFzIGFueSkuX19heENvbnRleHRfXy5ydWxlID09ICdyZXF1aXJlZCdcbiAgICAgICk7XG4gICAgICAvL1xuICAgICAgaWYgKGlzUmVxdWlyZWQpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LWVkaXRvci1jb250YWluZXInKVxuICAgICAgICAgID8gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKVxuICAgICAgICAgIDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpO1xuICAgICAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJy5heC1mb3JtLWZpZWxkJyk7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gKGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKSBhcyBhbnkpPy5fX2F4Q29udGV4dF9fO1xuICAgICAgICBpZiAobGFiZWwpIGxhYmVsLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YWxpZGF0ZSgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgY29uc3QgcnVsZXMgPSBBcnJheS5mcm9tKFxuICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXZhbGlkYXRpb24tcnVsZScpXG4gICAgICApLmZpbHRlcigoYykgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQpO1xuICAgICAgLy9cbiAgICAgIGlmICghcnVsZXMgfHwgcnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuX3NldFN0YXRlKCdjbGVhcicpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICByZXN1bHQ6IHRydWUsXG4gICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgcnVsZXNcbiAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IHR5cGVvZiAoYyBhcyBhbnkpPy52YWxpZGF0ZSA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgIC5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChjIGFzIGFueSkudmFsaWRhdGUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApLnRoZW4oKGQpID0+IHtcbiAgICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZCgoYykgPT4gYy5yZXN1bHQgPT09IGZhbHNlKTtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdlcnJvcicsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICAgIHJlc3VsdDogZmFsc2UsXG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdzdWNjZXNzJyk7XG4gICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgcmVzdWx0OiB0cnVlLFxuICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICB9XG5cbiAgICBfc2V0U3RhdGUoc3RhdGU6IEFYQ29tcG9uZW50U3RhdGUsIC4uLmFyZ3MpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdheC1lZGl0b3ItY29udGFpbmVyJylcbiAgICAgICAgPyB0aGlzLl9nZXRIb3N0RWxlbWVudCgpXG4gICAgICAgIDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpO1xuICAgICAgY29uc3QgZm9ybUZpZWxkID0gY29udGFpbmVyPy5jbG9zZXN0KCcuYXgtZm9ybS1maWVsZCcpO1xuICAgICAgY29uc3QgbGFiZWwgPSBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2F4LWxhYmVsJykgfHwgZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdsYWJlbCcpO1xuICAgICAgbGV0IHRhcmdldCA9IGNvbnRhaW5lciB8fCB0aGlzLl9nZXRJbm5lckVsZW1lbnQoKTtcbiAgICAgIGlmICh0YXJnZXQ/LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKSkge1xuICAgICAgICB0YXJnZXQgPSB0YXJnZXQucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0Py5wYXJlbnRFbGVtZW50O1xuICAgICAgaWYgKCF0YXJnZXQgfHwgIXBhcmVudCkgcmV0dXJuO1xuXG4gICAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICAgIGNhc2UgJ2NsZWFyJzpcbiAgICAgICAgICB0aGlzLiNzdGF0ZSA9ICdjbGVhcic7XG4gICAgICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSkge1xuICAgICAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InKTtcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InLCAnYXgtc3RhdGUtc3VjY2VzcycpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnY2xlYXInKTtcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtc3VjY2VzcycpO1xuICAgICAgICAgIHRoaXMuI3N0YXRlID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgICAgICAgaWYgKGFyZ3NbMF0pIHtcbiAgICAgICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9IGFyZ3NbMF07XG4gICAgICAgICAgICBzcGFuLmNsYXNzTGlzdC5hZGQoJ2F4LWVycm9yLW1lc3NhZ2UnKTtcbiAgICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGFiZWw/LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XG5cbiAgICAgICAgICB0aGlzLiNzdGF0ZSA9ICdlcnJvcic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9O1xufVxuIl19
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtbWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWl4aW4vc3JjL2xpYi92YWx1ZS1taXhpbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdDLE9BQU8sRUFBRSxLQUFLLEVBQTRCLE1BQU0sV0FBVyxDQUFDO0FBRTVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBNkMsSUFBVztJQUMzRixPQUFPLEtBQU0sU0FBUSxJQUFJO1FBWXZCLFNBQVMsQ0FBa0I7UUFFM0I7O1dBRUc7UUFDSCxJQUFJLFFBQVE7WUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLEtBQWM7WUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBRUQsVUFBVSxDQUFpQjtRQUMzQixJQUFJLFNBQVM7WUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLEtBQWM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsS0FBSyxDQUFTO1FBQ2QsSUFBSSxJQUFJO1lBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFhO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxrQkFBa0IsQ0FBa0I7UUFFcEMsSUFBSSxpQkFBaUI7WUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7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TUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7b0JBQ3hCLE1BQU07Z0JBQ1IsS0FBSyxPQUFPO29CQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3hCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUNYLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3dCQUN2QyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUMxQjtvQkFDRCxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUN2QyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUV2QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztvQkFDdEIsTUFBTTthQUNUO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYQ29tcG9uZW50U3RhdGUgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RyYXRjdG9yJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IGNsb25lLCBjbG9uZURlZXAsIGNsb25lRGVlcFdpdGggfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gX1ZhbHVlQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XG4gICAgLyoqXG4gICAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgdXNlciBwcmVzcyBhIGtleS5cbiAgICAgKiAgQGV2ZW50XG4gICAgICovXG4gICAgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICAgIEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55PlxuICAgID4oKTtcblxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIHN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDb21wb25lbnRTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ29tcG9uZW50U3RhdGU+KCk7XG5cbiAgICAjcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqICBJZiBzZXQgdG8gdHJ1ZSwgdXNlciBjYW5ub3QgY2hhbmdlIHRoZSB2YWx1ZSBvZiBjb21wb25lbnQuXG4gICAgICovXG4gICAgZ2V0IHJlYWRvbmx5KCkge1xuICAgICAgcmV0dXJuIHRoaXMuI3JlYWRvbmx5O1xuICAgIH1cbiAgICBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuI3JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAjYWxsb3dOdWxsOiBib29sZWFuID0gdHJ1ZTtcbiAgICBnZXQgYWxsb3dOdWxsKCkge1xuICAgICAgcmV0dXJuIHRoaXMuI2FsbG93TnVsbDtcbiAgICB9XG4gICAgc2V0IGFsbG93TnVsbCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgdGhpcy4jYWxsb3dOdWxsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAjbmFtZTogc3RyaW5nO1xuICAgIGdldCBuYW1lKCkge1xuICAgICAgcmV0dXJuIHRoaXMuI25hbWU7XG4gICAgfVxuICAgIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHRoaXMuI25hbWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAjaXNVc2VySW50ZXJhY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCBpc1VzZXJJbnRlcmFjdGlvbigpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLiNpc1VzZXJJbnRlcmFjdGlvbjtcbiAgICB9XG5cbiAgICAjdmFsdWU6IGFueTtcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbEdldFZhbHVlKCk7XG4gICAgfVxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICAgIHYgPSB0aGlzLl9pbnRlcm5hbFNldFZhbHVlKHYpO1xuICAgICAgLy9pZiAoIXRoaXMuX2lzSW5pdGVkICkge1xuICAgICAgY29uc3Qgb2xkID0gY2xvbmUodGhpcy52YWx1ZSk7XG4gICAgICAvLyBUT0RPOiBjaGVjayByZWFsIGVxdWFsaXR5XG4gICAgICBpZiAodiAhPSBvbGQpIHtcbiAgICAgICAgdGhpcy4jdmFsdWUgPSB2O1xuICAgICAgICB0aGlzLl9lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGQsIHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIGlmICh2ID09IG51bGwgfHwgdiA9PSB1bmRlZmluZWQgfHwgdiA9PSAnJyB8fCAoQXJyYXkuaXNBcnJheSh2KSAmJiB2Lmxlbmd0aCA9PSAwKSkge1xuICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdjbGVhcicpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVsc2Uge1xuICAgICAgICAvLyAgIGlmICh0aGlzLl9pc0luaXRlZCkge1xuICAgICAgICAvLyAgICAgdGhpcy52YWxpZGF0ZSgpO1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgICAgdGhpcy4jaXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgICAgIC8vfVxuICAgIH1cblxuICAgICNzdGF0ZTogQVhDb21wb25lbnRTdGF0ZSA9ICdjbGVhcic7XG5cbiAgICBnZXQgc3RhdGUoKTogQVhDb21wb25lbnRTdGF0ZSB7XG4gICAgICByZXR1cm4gdGhpcy4jc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHZhbHVlOiBBWENvbXBvbmVudFN0YXRlKSB7XG4gICAgICB0aGlzLl9zZXRTdGF0ZSh2YWx1ZSk7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIF9lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpIHtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgIHZhbHVlOiBuZXdWYWx1ZSxcbiAgICAgICAgb2xkVmFsdWU6IG9sZFZhbHVlLFxuICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0aGlzLmlzVXNlckludGVyYWN0aW9uLFxuICAgICAgfSk7XG4gICAgICB0aGlzLl9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZSwgdGhpcy4jdmFsdWUpO1xuICAgICAgdGhpcy4jaXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBfaW50ZXJuYWxTZXRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIF9pbnRlcm5hbEdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKHRoaXMuI3ZhbHVlKTtcbiAgICB9XG5cbiAgICBfc2V0VmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIF9nZXRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgX3NldFVzZXJJbnRlcmFjdGlvbigpIHtcbiAgICAgIHRoaXMuI2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBzZXRVc2VySW50ZXJhY3Rpb24oKSB7XG4gICAgICB0aGlzLiNpc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgfVxuXG4gICAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlOiBhbnksIG5ld1ZhbHVlOiBhbnkpOiB2b2lkIHsgfVxuXG4gICAgb3ZlcnJpZGUgX29uSW50ZXJuYWxJbml0KCkge1xuICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ2F4LWZvcm0taW5wdXQnLCAndHJ1ZScpO1xuICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgX29uSW50ZXJuYWxWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuX2NoZWNrUmVxdWlyZWQoKTtcbiAgICAgIHN1cGVyLl9vbkludGVybmFsVmlld0luaXQoKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBfb25JbnRlcm5hbERlc3Ryb3koKSB7XG4gICAgICBzdXBlci5vbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIF9jaGVja1JlcXVpcmVkKCkge1xuICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IEFycmF5LmZyb20oXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnYXgtdmFsaWRhdGlvbi1ydWxlJylcbiAgICAgICkuc29tZShcbiAgICAgICAgKGMpID0+IChjIGFzIGFueSkuX19heENvbnRleHRfXy5lbmFibGVkICYmIChjIGFzIGFueSkuX19heENvbnRleHRfXy5ydWxlID09ICdyZXF1aXJlZCdcbiAgICAgICk7XG4gICAgICAvL1xuICAgICAgaWYgKGlzUmVxdWlyZWQpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LWVkaXRvci1jb250YWluZXInKVxuICAgICAgICAgID8gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKVxuICAgICAgICAgIDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpO1xuICAgICAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJy5heC1mb3JtLWZpZWxkJyk7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gKGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKSBhcyBhbnkpPy5fX2F4Q29udGV4dF9fO1xuICAgICAgICBpZiAobGFiZWwpIGxhYmVsLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YWxpZGF0ZSgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgY29uc3QgcnVsZXMgPSBBcnJheS5mcm9tKFxuICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LXZhbGlkYXRpb24tcnVsZScpXG4gICAgICApLmZpbHRlcigoYykgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQpO1xuICAgICAgLy9cbiAgICAgIGlmICghcnVsZXMgfHwgcnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuX3NldFN0YXRlKCdjbGVhcicpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICByZXN1bHQ6IHRydWUsXG4gICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgcnVsZXNcbiAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IHR5cGVvZiAoYyBhcyBhbnkpPy52YWxpZGF0ZSA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgIC5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChjIGFzIGFueSkudmFsaWRhdGUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApLnRoZW4oKGQpID0+IHtcbiAgICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZCgoYykgPT4gYy5yZXN1bHQgPT09IGZhbHNlKTtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdlcnJvcicsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICAgIHJlc3VsdDogZmFsc2UsXG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdzdWNjZXNzJyk7XG4gICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgcmVzdWx0OiB0cnVlLFxuICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICB9XG5cbiAgICBfc2V0U3RhdGUoc3RhdGU6IEFYQ29tcG9uZW50U3RhdGUsIC4uLmFyZ3MpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdheC1lZGl0b3ItY29udGFpbmVyJylcbiAgICAgICAgPyB0aGlzLl9nZXRIb3N0RWxlbWVudCgpXG4gICAgICAgIDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpO1xuICAgICAgY29uc3QgZm9ybUZpZWxkID0gY29udGFpbmVyPy5jbG9zZXN0KCcuYXgtZm9ybS1maWVsZCcpO1xuICAgICAgY29uc3QgbGFiZWwgPSBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2F4LWxhYmVsJykgfHwgZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdsYWJlbCcpO1xuICAgICAgbGV0IHRhcmdldCA9IGNvbnRhaW5lciB8fCB0aGlzLl9nZXRJbm5lckVsZW1lbnQoKTtcbiAgICAgIGlmICh0YXJnZXQ/LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKSkge1xuICAgICAgICB0YXJnZXQgPSB0YXJnZXQucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0Py5wYXJlbnRFbGVtZW50O1xuICAgICAgaWYgKCF0YXJnZXQgfHwgIXBhcmVudCkgcmV0dXJuO1xuXG4gICAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICAgIGNhc2UgJ2NsZWFyJzpcbiAgICAgICAgICB0aGlzLiNzdGF0ZSA9ICdjbGVhcic7XG4gICAgICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSkge1xuICAgICAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InKTtcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InLCAnYXgtc3RhdGUtc3VjY2VzcycpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnY2xlYXInKTtcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtc3VjY2VzcycpO1xuICAgICAgICAgIHRoaXMuI3N0YXRlID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgICAgICAgaWYgKGFyZ3NbMF0pIHtcbiAgICAgICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9IGFyZ3NbMF07XG4gICAgICAgICAgICBzcGFuLmNsYXNzTGlzdC5hZGQoJ2F4LWVycm9yLW1lc3NhZ2UnKTtcbiAgICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGFiZWw/LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XG5cbiAgICAgICAgICB0aGlzLiNzdGF0ZSA9ICdlcnJvcic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -83,10 +83,10 @@ export class AXNotificationComponent extends MXBaseComponent {
83
83
  htmlElement: this.getHostElement(),
84
84
  });
85
85
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationComponent, deps: [{ token: DIALOG_DATA }, { token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i6.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationComponent, deps: [{ token: DIALOG_DATA }, { token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i6.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationComponent, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationComponent, decorators: [{
90
90
  type: Component,
91
91
  args: [{ selector: 'ax-notification', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], template: "<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"] }]
92
92
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -11,11 +11,11 @@ import * as i0 from "@angular/core";
11
11
  const COMPONENT = [AXNotificationComponent];
12
12
  const MODULES = [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule];
13
13
  export class AXNotificationModule {
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationModule, declarations: [AXNotificationComponent], imports: [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule], exports: [AXNotificationComponent] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationModule, providers: [AXNotificationService], imports: [MODULES] }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationModule, declarations: [AXNotificationComponent], imports: [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule], exports: [AXNotificationComponent] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationModule, providers: [AXNotificationService], imports: [MODULES] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationModule, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationModule, decorators: [{
19
19
  type: NgModule,
20
20
  args: [{
21
21
  declarations: [...COMPONENT],
@@ -86,10 +86,10 @@ export class AXNotificationService {
86
86
  return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;
87
87
  }
88
88
  }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
90
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationService }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
90
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationService }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationService, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationService, decorators: [{
93
93
  type: Injectable
94
94
  }] });
95
95
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3NyYy9saWIvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBd0Isc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHckYsTUFBTSxPQUFPLHFCQUFxQjtJQURsQztRQUdVLFdBQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsa0JBQWEsR0FBeUIsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0EwRjlFO0lBdkZDLElBQUksQ0FBQyxNQUFtQztRQUN0QyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDcEI7WUFDRSxXQUFXLEVBQUUsSUFBSTtZQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRO1NBQ3RDLEVBQ0QsTUFBTSxDQUNQLENBQUM7UUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztRQUVuQyxJQUFJLGdCQUFnQixHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztRQUNwRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQzNELFFBQVEsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN2QixLQUFLLGVB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O1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0IsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRTtZQUN0QyxPQUFPLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQzlFO2FBQ0k7WUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDL0c7SUFDSCxDQUFDOzhHQTVGVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhOb3RpZmljYXRpb25PcHRpb25zIGFzIEFYTm90aWZpY2F0aW9uRGlzcGxheUNvbmZpZywgQVhOb3RpZmljYXRpb25SZWYgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBBWE5vdGlmaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBBWENvbXBvbmVudENsb3NlRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYTm90aWZpY2F0aW9uQ29uZmlnLCBBWF9OT1RJRklDQVRJT05fQ09ORklHIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTm90aWZpY2F0aW9uU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZyA9IGluamVjdChEaWFsb2cpO1xuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IEFYTm90aWZpY2F0aW9uQ29uZmlnID0gaW5qZWN0KEFYX05PVElGSUNBVElPTl9DT05GSUcpO1xuXG5cbiAgc2hvdyhjb25maWc6IEFYTm90aWZpY2F0aW9uRGlzcGxheUNvbmZpZyk6IEFYTm90aWZpY2F0aW9uUmVmIHtcbiAgICBjb25maWcgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgbG9jYXRpb246IHRoaXMuZGVmYXVsdENvbmZpZy5sb2NhdGlvbixcbiAgICAgIH0sXG4gICAgICBjb25maWdcbiAgICApO1xuICAgIGNvbnN0IGdhcCA9IHRoaXMuZGVmYXVsdENvbmZpZy5nYXA7XG5cbiAgICBsZXQgcG9zaXRpb25TdHJhdGVneSA9IG5ldyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5KCk7XG4gICAgY29uc3QgcG9zID0gdGhpcy5nZXRQb3NpdGlvbihjb25maWcubG9jYXRpb24pICsgZ2FwICsgJ3B4JztcbiAgICBzd2l0Y2ggKGNvbmZpZy5sb2NhdGlvbikge1xuICAgICAgY2FzZSAnYm90dG9tLWNlbnRlcic6XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5LmJvdHRvbShwb3MpLmNlbnRlckhvcml6b250YWxseSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneS5ib3R0b20ocG9zKS5yaWdodChnYXAgKyAncHgnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneS5ib3R0b20ocG9zKS5sZWZ0KGdhcCArICdweCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcC1jZW50ZXInOlxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneS50b3AocG9zKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0b3AtZW5kJzpcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3kudG9wKHBvcykucmlnaHQoZ2FwICsgJ3B4Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3kudG9wKHBvcykubGVmdChnYXAgKyAncHgnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjZW50ZXItc3RhcnQnOlxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneS5jZW50ZXJWZXJ0aWNhbGx5KCkubGVmdChnYXAgKyAncHgnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjZW50ZXItZW5kJzpcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3lcbiAgICAgICAgICAuY2VudGVyVmVydGljYWxseSgpXG4gICAgICAgICAgLnJpZ2h0KGdhcCArICdweCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQVhOb3RpZmljYXRpb25Db21wb25lbnQsIHtcbiAgICAgIGRhdGE6IGNvbmZpZyxcbiAgICAgIGF1dG9Gb2N1czogXCJfX25vX2VsZW1lbnRfX1wiLFxuICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcbiAgICAgIHJvbGU6ICdkaWFsb2cnLFxuICAgICAgYXJpYU1vZGFsOiB0cnVlLFxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICBjbG9zZU9uRGVzdHJveTogdHJ1ZSxcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1hbmltYXRlZCcsICdheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneVxuICAgIH0pO1xuXG4gICAgY29uc3QgdG9hc3RSZWYgPSBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UgYXMgQVhOb3RpZmljYXRpb25Db21wb25lbnQ7XG4gICAgZGlhbG9nUmVmLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZXBvc2l0aW9uKCk7XG4gICAgfSlcblxuICAgIHJldHVybiB7XG4gICAgICBjbG9zZTogKCkgPT4ge1xuICAgICAgICB0b2FzdFJlZi5jbG9zZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoaWRlQWxsKCkge1xuICAgIHRoaXMuZGlhbG9nLmNsb3NlQWxsKCk7XG4gIH1cblxuICBwcml2YXRlIHJlcG9zaXRpb24oKTogdm9pZCB7XG4gICAgLy9UT0RPOiByZXBvc2l0aW9uIHZlcnRpY2FsbHkgYWZlciBjbG9zZSB0b2FzdFxuXG4gIH1cblxuICBwcml2YXRlIGdldFBvc2l0aW9uKGxvY2F0aW9uOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5kaWFsb2cub3BlbkRpYWxvZ3MubWFwKGMgPT4gYy5jb21wb25lbnRJbnN0YW5jZSBhcyBBWE5vdGlmaWNhdGlvbkNvbXBvbmVudCkuZmlsdGVyKGMgPT4gYy5jb25maWcubG9jYXRpb24gPT0gbG9jYXRpb24pO1xuICAgIGlmIChsaXN0Lmxlbmd0aCA9PSAwKSByZXR1cm4gMDtcbiAgICBpZiAobG9jYXRpb24uc3BsaXQoJy0nKVswXSA9PSAnYm90dG9tJykge1xuICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCAtIGxpc3RbbGlzdC5sZW5ndGggLSAxXS5nZXRIb3N0RWxlbWVudCgpLm9mZnNldFRvcDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm4gbGlzdFtsaXN0Lmxlbmd0aCAtIDFdLmdldEhvc3RFbGVtZW50KCkub2Zmc2V0VG9wICsgbGlzdFtsaXN0Lmxlbmd0aCAtIDFdLmdldEhvc3RFbGVtZW50KCkub2Zmc2V0SGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuIl19
@@ -201,8 +201,8 @@ export class AXNumberBoxComponent extends MXInputBaseValueComponent {
201
201
  }
202
202
  this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
203
203
  }
204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNumberBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
205
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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: [
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNumberBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", 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
206
  { provide: AXComponent, useExisting: AXNumberBoxComponent },
207
207
  { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },
208
208
  { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },
@@ -213,7 +213,7 @@ export class AXNumberBoxComponent extends MXInputBaseValueComponent {
213
213
  },
214
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 }); }
215
215
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
217
217
  type: Component,
218
218
  args: [{ selector: 'ax-number-box', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], outputs: [
219
219
  'valueChange',
@@ -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.7", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXNumberBoxModule, declarations: [AXNumberBoxComponent], imports: [CommonModule,
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", 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.7", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNumberBoxModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNumberBoxModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  declarations: [...COMPONENT],
@@ -5,21 +5,31 @@ import * as i1 from "@angular/common";
5
5
  export class AXOtpComponent extends MXValueComponent {
6
6
  constructor() {
7
7
  super(...arguments);
8
- this.length = 4;
8
+ this.lenghtChange = new EventEmitter();
9
9
  this.inputs = [];
10
10
  this.onCompleted = new EventEmitter();
11
11
  this._numbers = [];
12
12
  }
13
+ get length() {
14
+ return this._length;
15
+ }
16
+ set length(v) {
17
+ this._length = v;
18
+ }
13
19
  ngOnInit() {
14
20
  super.ngOnInit();
15
21
  this.inputs = Array(this.length)
16
22
  .fill(1)
17
23
  .map((x, i) => i);
18
24
  }
25
+ clear() {
26
+ this._numbers = [];
27
+ this.setState('clear');
28
+ }
19
29
  ngAfterViewInit() {
20
30
  this.getHostElement().querySelector('.ax-input').focus();
21
31
  }
22
- onInput(event, i) {
32
+ _handleOnInput(event, i) {
23
33
  const inputs = this.getHostElement().querySelectorAll('.ax-input');
24
34
  const numberRegex = /^\d+$/;
25
35
  if (!numberRegex.test(event.target.value)) {
@@ -43,7 +53,7 @@ export class AXOtpComponent extends MXValueComponent {
43
53
  });
44
54
  }
45
55
  }
46
- onKeyDown(event, i) {
56
+ _handleOnKeyDown(event, i) {
47
57
  const inputs = this.getHostElement().querySelectorAll('.ax-input');
48
58
  switch (event.key) {
49
59
  case 'Backspace':
@@ -76,7 +86,7 @@ export class AXOtpComponent extends MXValueComponent {
76
86
  break;
77
87
  }
78
88
  }
79
- onPaste(event) {
89
+ _handleOnPaste(event) {
80
90
  const data = event.clipboardData.getData('text');
81
91
  const inputs = this.getHostElement().querySelectorAll('.ax-input');
82
92
  inputs[inputs.length - 1].focus();
@@ -85,19 +95,21 @@ export class AXOtpComponent extends MXValueComponent {
85
95
  this._numbers[i] = data[i];
86
96
  }
87
97
  }
88
- onClick(event, i) {
98
+ _handleOnClick(event, i) {
89
99
  const inputs = this.getHostElement().querySelectorAll('.ax-input');
90
100
  inputs[i].select();
91
101
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXOtpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXOtpComponent, selector: "ax-otp", inputs: { state: "state", disabled: "disabled", length: "length" }, outputs: { stateChange: "stateChange", disabledChange: "disabledChange", onCompleted: "onCompleted" }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-otp-input-container ax-editor-container\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs.length + ', minmax(0, 1fr))' }\"\n (paste)=\"onPaste($event)\"\n>\n <ng-container *ngFor=\"let input of inputs; let i = index\">\n <input\n class=\"ax-input\"\n type=\"number\"\n [class.ax-state-disabled]=\"disabled\"\n maxlength=\"1\"\n [value]=\"_numbers[i]\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (click)=\"onClick($event, i)\"\n (input)=\"onInput($event, i)\"\n (keydown)=\"onKeyDown($event, i)\"\n disabled=\"disabled\"\n />\n </ng-container>\n</div>\n<ng-template #name></ng-template>\n", styles: [".ax-otp-input-container{display:grid;gap:.5rem}.ax-otp-input-container.ax-editor-container{border:none;height:auto;outline-color:transparent;overflow:initial}.ax-otp-input-container.ax-editor-container:focus-within,.ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input{box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input:focus{border-color:rgba(var(--ax-color-danger-500));box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input{box-shadow:0 0 0 1px rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input:focus{border-color:rgba(var(--ax-color-success-500));box-shadow:0 0 0 1px rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input::placeholder{color:rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container .ax-input{text-align:center;font-size:200%;overflow:hidden;aspect-ratio:1;border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-otp-input-container.ax-editor-container .ax-input:disabled{opacity:.5;cursor:not-allowed}.ax-otp-input-container.ax-editor-container .ax-input:read-only{opacity:.8;cursor:text}.ax-otp-input-container.ax-editor-container .ax-input:focus{border-color:rgba(var(--ax-color-primary-500));box-shadow:0 0 0 1px rgba(var(--ax-color-primary-500))}@media (max-width: 599px){.ax-otp-input-container.ax-editor-container .ax-input{font-size:100%}}.ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}.ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,.ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXOtpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXOtpComponent, selector: "ax-otp", inputs: { state: "state", disabled: "disabled", readonly: "readonly", length: "length" }, outputs: { stateChange: "stateChange", disabledChange: "disabledChange", lenghtChange: "lenghtChange", onCompleted: "onCompleted" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-otp-input-container ax-editor-container\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs.length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\">\n <ng-container *ngFor=\"let input of inputs; let i = index\">\n <input class=\"ax-input\" type=\"number\" [class.ax-state-disabled]=\"disabled\" maxlength=\"1\" [value]=\"_numbers[i]\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" (click)=\"_handleOnClick($event, i)\"\n (input)=\"_handleOnInput($event, i)\" (keydown)=\"_handleOnKeyDown($event, i)\" disabled=\"disabled\" />\n </ng-container>\n</div>\n<ng-template #name></ng-template>", styles: [".ax-otp-input-container{display:grid;gap:.5rem}.ax-otp-input-container.ax-editor-container{border:none;height:auto;outline-color:transparent;overflow:initial;background-color:transparent}.ax-otp-input-container.ax-editor-container:focus-within,.ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input{box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input:focus{border-color:rgba(var(--ax-color-danger-500));box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input{box-shadow:0 0 0 1px rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input:focus{border-color:rgba(var(--ax-color-success-500));box-shadow:0 0 0 1px rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input::placeholder{color:rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container .ax-input{text-align:center;font-size:200%;overflow:hidden;aspect-ratio:1;border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-surface))}.ax-otp-input-container.ax-editor-container .ax-input:read-only{opacity:.8;cursor:text}.ax-otp-input-container.ax-editor-container .ax-input:disabled{opacity:.5;cursor:not-allowed}.ax-otp-input-container.ax-editor-container .ax-input:focus{border-color:rgba(var(--ax-color-primary-500));box-shadow:0 0 0 1px rgba(var(--ax-color-primary-500))}@media (max-width: 599px){.ax-otp-input-container.ax-editor-container .ax-input{font-size:100%}}.ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}.ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,.ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
94
104
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXOtpComponent, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXOtpComponent, decorators: [{
96
106
  type: Component,
97
- args: [{ selector: 'ax-otp', inputs: ['state', 'disabled'], outputs: ['stateChange', 'disabledChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"ax-otp-input-container ax-editor-container\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs.length + ', minmax(0, 1fr))' }\"\n (paste)=\"onPaste($event)\"\n>\n <ng-container *ngFor=\"let input of inputs; let i = index\">\n <input\n class=\"ax-input\"\n type=\"number\"\n [class.ax-state-disabled]=\"disabled\"\n maxlength=\"1\"\n [value]=\"_numbers[i]\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (click)=\"onClick($event, i)\"\n (input)=\"onInput($event, i)\"\n (keydown)=\"onKeyDown($event, i)\"\n disabled=\"disabled\"\n />\n </ng-container>\n</div>\n<ng-template #name></ng-template>\n", styles: [".ax-otp-input-container{display:grid;gap:.5rem}.ax-otp-input-container.ax-editor-container{border:none;height:auto;outline-color:transparent;overflow:initial}.ax-otp-input-container.ax-editor-container:focus-within,.ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input{box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input:focus{border-color:rgba(var(--ax-color-danger-500));box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input{box-shadow:0 0 0 1px rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input:focus{border-color:rgba(var(--ax-color-success-500));box-shadow:0 0 0 1px rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input::placeholder{color:rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container .ax-input{text-align:center;font-size:200%;overflow:hidden;aspect-ratio:1;border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-otp-input-container.ax-editor-container .ax-input:disabled{opacity:.5;cursor:not-allowed}.ax-otp-input-container.ax-editor-container .ax-input:read-only{opacity:.8;cursor:text}.ax-otp-input-container.ax-editor-container .ax-input:focus{border-color:rgba(var(--ax-color-primary-500));box-shadow:0 0 0 1px rgba(var(--ax-color-primary-500))}@media (max-width: 599px){.ax-otp-input-container.ax-editor-container .ax-input{font-size:100%}}.ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}.ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,.ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"] }]
98
- }], propDecorators: { length: [{
107
+ args: [{ selector: 'ax-otp', inputs: ['state', 'disabled', 'readonly'], outputs: ['stateChange', 'disabledChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-otp-input-container ax-editor-container\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs.length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\">\n <ng-container *ngFor=\"let input of inputs; let i = index\">\n <input class=\"ax-input\" type=\"number\" [class.ax-state-disabled]=\"disabled\" maxlength=\"1\" [value]=\"_numbers[i]\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" (click)=\"_handleOnClick($event, i)\"\n (input)=\"_handleOnInput($event, i)\" (keydown)=\"_handleOnKeyDown($event, i)\" disabled=\"disabled\" />\n </ng-container>\n</div>\n<ng-template #name></ng-template>", styles: [".ax-otp-input-container{display:grid;gap:.5rem}.ax-otp-input-container.ax-editor-container{border:none;height:auto;outline-color:transparent;overflow:initial;background-color:transparent}.ax-otp-input-container.ax-editor-container:focus-within,.ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input{box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-error .ax-input:focus{border-color:rgba(var(--ax-color-danger-500));box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input{box-shadow:0 0 0 1px rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input:focus{border-color:rgba(var(--ax-color-success-500));box-shadow:0 0 0 1px rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container.ax-state-success .ax-input::placeholder{color:rgba(var(--ax-color-success-500))}.ax-otp-input-container.ax-editor-container .ax-input{text-align:center;font-size:200%;overflow:hidden;aspect-ratio:1;border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-surface))}.ax-otp-input-container.ax-editor-container .ax-input:read-only{opacity:.8;cursor:text}.ax-otp-input-container.ax-editor-container .ax-input:disabled{opacity:.5;cursor:not-allowed}.ax-otp-input-container.ax-editor-container .ax-input:focus{border-color:rgba(var(--ax-color-primary-500));box-shadow:0 0 0 1px rgba(var(--ax-color-primary-500))}@media (max-width: 599px){.ax-otp-input-container.ax-editor-container .ax-input{font-size:100%}}.ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}.ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,.ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"] }]
108
+ }], propDecorators: { lenghtChange: [{
109
+ type: Output
110
+ }], length: [{
99
111
  type: Input
100
112
  }], onCompleted: [{
101
113
  type: Output
102
114
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9vdHAvc3JjL2xpYi9vdHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL290cC9zcmMvbGliL290cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7OztBQVl2QixNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUF3QjtJQVQ1RDs7UUFVVyxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFFWixnQkFBVyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUV6RixhQUFRLEdBQWEsRUFBRSxDQUFDO0tBc0ZuQztJQXBGVSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNQLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFUSxlQUFlO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQW1CLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVSxFQUFFLENBQVM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGdCQUFn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ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhPdHBDb21wbGV0ZWRFdmVudCB9IGZyb20gJy4vb3RwLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtb3RwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL290cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL290cC5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnc3RhdGUnLCAnZGlzYWJsZWQnXSxcbiAgb3V0cHV0czogWydzdGF0ZUNoYW5nZScsICdkaXNhYmxlZENoYW5nZSddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhPdHBDb21wb25lbnQgZXh0ZW5kcyBNWFZhbHVlQ29tcG9uZW50PHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBsZW5ndGggPSA0O1xuICBpbnB1dHM6IG51bWJlcltdID0gW107XG5cbiAgQE91dHB1dCgpIG9uQ29tcGxldGVkOiBFdmVudEVtaXR0ZXI8QVhPdHBDb21wbGV0ZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYT3RwQ29tcGxldGVkRXZlbnQ+KCk7XG5cbiAgcHJvdGVjdGVkIF9udW1iZXJzOiBudW1iZXJbXSA9IFtdO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5pbnB1dHMgPSBBcnJheSh0aGlzLmxlbmd0aClcbiAgICAgIC5maWxsKDEpXG4gICAgICAubWFwKCh4LCBpKSA9PiBpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MSW5wdXRFbGVtZW50PignLmF4LWlucHV0JykuZm9jdXMoKTtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IGFueSwgaTogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTElucHV0RWxlbWVudD4oJy5heC1pbnB1dCcpO1xuICAgIGNvbnN0IG51bWJlclJlZ2V4ID0gL15cXGQrJC87XG4gICAgaWYgKCFudW1iZXJSZWdleC50ZXN0KGV2ZW50LnRhcmdldC52YWx1ZSkpIHtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlLnNsaWNlKC0xKTtcbiAgICB9XG4gICAgaWYgKGlucHV0c1tpICsgMV0pIHtcbiAgICAgIGlucHV0c1tpICsgMV0uc2VsZWN0KCk7XG4gICAgfVxuICAgIHRoaXMuX251bWJlcnNbaV0gPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgaWYgKHRoaXMuX251bWJlcnMuZmlsdGVyKChjKSA9PiBjKS5sZW5ndGggPT09IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKCdzdWNjZXNzJyk7XG4gICAgICB0aGlzLm9uQ29tcGxldGVkLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IEFYT3RwQ29tcG9uZW50LFxuICAgICAgICB2YWx1ZTogdGhpcy5fbnVtYmVycy5qb2luKCcnKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaTogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTElucHV0RWxlbWVudD4oJy5heC1pbnB1dCcpO1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdCYWNrc3BhY2UnOlxuICAgICAgICBpbnB1dHNbaV0udmFsdWUgPSAnJztcbiAgICAgICAgaWYgKGlucHV0c1tpIC0gMV0pIHtcbiAgICAgICAgICBpbnB1dHNbaSAtIDFdLnNlbGVjdCgpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbnVtYmVyc1tpXSA9IE5hTjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgaWYgKGlucHV0c1tpICsgMV0pIHtcbiAgICAgICAgICBpbnB1dHNbaSArIDFdLnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICBpZiAoaW5wdXRzW2kgLSAxXSkge1xuICAgICAgICAgIGlucHV0c1tpIC0gMV0uc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgaW5wdXRzWzBdLmZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgaW5wdXRzW3RoaXMubGVuZ3RoIC0gMV0uc2VsZWN0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgb25QYXN0ZShldmVudDogYW55KSB7XG4gICAgY29uc3QgZGF0YSA9IGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dCcpO1xuICAgIGNvbnN0IGlucHV0cyA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yQWxsPEhUTUxJbnB1dEVsZW1lbnQ+KCcuYXgtaW5wdXQnKTtcbiAgICBpbnB1dHNbaW5wdXRzLmxlbmd0aCAtIDFdLmZvY3VzKCk7XG4gICAgdGhpcy5fbnVtYmVycyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5fbnVtYmVyc1tpXSA9IGRhdGFbaV07XG4gICAgfVxuICB9XG5cbiAgb25DbGljayhldmVudDogYW55LCBpKSB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTElucHV0RWxlbWVudD4oJy5heC1pbnB1dCcpO1xuICAgIGlucHV0c1tpXS5zZWxlY3QoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImF4LW90cC1pbnB1dC1jb250YWluZXIgYXgtZWRpdG9yLWNvbnRhaW5lclwiXG4gIFtuZ1N0eWxlXT1cInsgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoJyArIGlucHV0cy5sZW5ndGggKyAnLCBtaW5tYXgoMCwgMWZyKSknIH1cIlxuICAocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgaW5wdXRzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImF4LWlucHV0XCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIG1heGxlbmd0aD1cIjFcIlxuICAgICAgW3ZhbHVlXT1cIl9udW1iZXJzW2ldXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50LCBpKVwiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQsIGkpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGkpXCJcbiAgICAgIGRpc2FibGVkPVwiZGlzYWJsZWRcIlxuICAgIC8+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI25hbWU+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9vdHAvc3JjL2xpYi9vdHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL290cC9zcmMvbGliL290cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7OztBQVl2QixNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUF3QjtJQVQ1RDs7UUFXRSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBWXhELFdBQU0sR0FBYSxFQUFFLENBQUM7UUFFWixnQkFBVyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUV6RixhQUFRLEdBQWEsRUFBRSxDQUFDO0tBMkZuQztJQXZHQyxJQUNXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLENBQVM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQVFRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFH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QVNpQzs7MkZEYXBCLGNBQWM7a0JBVDFCLFNBQVM7K0JBQ0UsUUFBUSxVQUdWLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsV0FDaEMsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsbUJBQ3pCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBSXJDLFlBQVk7c0JBRFgsTUFBTTtnQkFNSSxNQUFNO3NCQURoQixLQUFLO2dCQVVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNWFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhPdHBDb21wbGV0ZWRFdmVudCB9IGZyb20gJy4vb3RwLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtb3RwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL290cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL290cC5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnc3RhdGUnLCAnZGlzYWJsZWQnLCAncmVhZG9ubHknXSxcbiAgb3V0cHV0czogWydzdGF0ZUNoYW5nZScsICdkaXNhYmxlZENoYW5nZSddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhPdHBDb21wb25lbnQgZXh0ZW5kcyBNWFZhbHVlQ29tcG9uZW50PHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBAT3V0cHV0KClcbiAgbGVuZ2h0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIF9sZW5ndGg6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sZW5ndGg7XG4gIH1cbiAgcHVibGljIHNldCBsZW5ndGgodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGVuZ3RoID0gdjtcbiAgfVxuXG4gIGlucHV0czogbnVtYmVyW10gPSBbXTtcblxuICBAT3V0cHV0KCkgb25Db21wbGV0ZWQ6IEV2ZW50RW1pdHRlcjxBWE90cENvbXBsZXRlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhPdHBDb21wbGV0ZWRFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgX251bWJlcnM6IG51bWJlcltdID0gW107XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmlucHV0cyA9IEFycmF5KHRoaXMubGVuZ3RoKVxuICAgICAgLmZpbGwoMSlcbiAgICAgIC5tYXAoKHgsIGkpID0+IGkpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5fbnVtYmVycyA9IFtdO1xuICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTElucHV0RWxlbWVudD4oJy5heC1pbnB1dCcpLmZvY3VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZU9uSW5wdXQoZXZlbnQ6IGFueSwgaTogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTElucHV0RWxlbWVudD4oJy5heC1pbnB1dCcpO1xuICAgIGNvbnN0IG51bWJlclJlZ2V4ID0gL15cXGQrJC87XG4gICAgaWYgKCFudW1iZXJSZWdleC50ZXN0KGV2ZW50LnRhcmdldC52YWx1ZSkpIHtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlLnNsaWNlKC0xKTtcbiAgICB9XG4gICAgaWYgKGlucHV0c1tpICsgMV0pIHtcbiAgICAgIGlucHV0c1tpICsgMV0uc2VsZWN0KCk7XG4gICAgfVxuICAgIHRoaXMuX251bWJlcnNbaV0gPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgaWYgKHRoaXMuX251bWJlcnMuZmlsdGVyKChjKSA9PiBjKS5sZW5ndGggPT09IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKCdzdWNjZXNzJyk7XG4gICAgICB0aGlzLm9uQ29tcGxldGVkLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IEFYT3RwQ29tcG9uZW50LFxuICAgICAgICB2YWx1ZTogdGhpcy5fbnVtYmVycy5qb2luKCcnKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlT25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpOiBudW1iZXIpIHtcbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbDxIVE1MSW5wdXRFbGVtZW50PignLmF4LWlucHV0Jyk7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0JhY2tzcGFjZSc6XG4gICAgICAgIGlucHV0c1tpXS52YWx1ZSA9ICcnO1xuICAgICAgICBpZiAoaW5wdXRzW2kgLSAxXSkge1xuICAgICAgICAgIGlucHV0c1tpIC0gMV0uc2VsZWN0KCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9udW1iZXJzW2ldID0gTmFOO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICBpZiAoaW5wdXRzW2kgKyAxXSkge1xuICAgICAgICAgIGlucHV0c1tpICsgMV0uc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmIChpbnB1dHNbaSAtIDFdKSB7XG4gICAgICAgICAgaW5wdXRzW2kgLSAxXS5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICBpbnB1dHNbMF0uZm9jdXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICBpbnB1dHNbdGhpcy5sZW5ndGggLSAxXS5zZWxlY3QoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgX2hhbmRsZU9uUGFzdGUoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGRhdGEgPSBldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQnKTtcbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbDxIVE1MSW5wdXRFbGVtZW50PignLmF4LWlucHV0Jyk7XG4gICAgaW5wdXRzW2lucHV0cy5sZW5ndGggLSAxXS5mb2N1cygpO1xuICAgIHRoaXMuX251bWJlcnMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMuX251bWJlcnNbaV0gPSBkYXRhW2ldO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlT25DbGljayhldmVudDogYW55LCBpKSB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTElucHV0RWxlbWVudD4oJy5heC1pbnB1dCcpO1xuICAgIGlucHV0c1tpXS5zZWxlY3QoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW90cC1pbnB1dC1jb250YWluZXIgYXgtZWRpdG9yLWNvbnRhaW5lclwiXG4gIFtuZ1N0eWxlXT1cInsgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoJyArIGlucHV0cy5sZW5ndGggKyAnLCBtaW5tYXgoMCwgMWZyKSknIH1cIlxuICAocGFzdGUpPVwiX2hhbmRsZU9uUGFzdGUoJGV2ZW50KVwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBpbnB1dHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICA8aW5wdXQgY2xhc3M9XCJheC1pbnB1dFwiIHR5cGU9XCJudW1iZXJcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBtYXhsZW5ndGg9XCIxXCIgW3ZhbHVlXT1cIl9udW1iZXJzW2ldXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIChjbGljayk9XCJfaGFuZGxlT25DbGljaygkZXZlbnQsIGkpXCJcbiAgICAgIChpbnB1dCk9XCJfaGFuZGxlT25JbnB1dCgkZXZlbnQsIGkpXCIgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5RG93bigkZXZlbnQsIGkpXCIgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiIC8+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI25hbWU+PC9uZy10ZW1wbGF0ZT4iXX0=
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  const COMPONENT = [AXOtpComponent];
6
6
  const MODULES = [CommonModule];
7
7
  export class AXOtpModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXOtpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXOtpModule, declarations: [AXOtpComponent], imports: [CommonModule], exports: [AXOtpComponent] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXOtpModule, imports: [MODULES] }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXOtpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXOtpModule, declarations: [AXOtpComponent], imports: [CommonModule], exports: [AXOtpComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXOtpModule, imports: [MODULES] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXOtpModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXOtpModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [...COMPONENT],