@acorex/components 18.6.0 → 18.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (425) hide show
  1. package/calendar/lib/calendar-range.component.d.ts +1 -1
  2. package/calendar/lib/calendar.component.d.ts +1 -1
  3. package/color-box/lib/color-box.component.d.ts +1 -1
  4. package/conversation/lib/conversation-input/conversation-input.component.d.ts +1 -1
  5. package/datetime-box/lib/datetime-box.component.d.ts +1 -1
  6. package/datetime-picker/lib/datetime-picker.component.d.ts +1 -1
  7. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
  8. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
  9. package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
  10. package/esm2022/alert/lib/alert.component.mjs +3 -3
  11. package/esm2022/alert/lib/alert.module.mjs +4 -4
  12. package/esm2022/audio-wave/lib/audio-wave.component.mjs +3 -3
  13. package/esm2022/audio-wave/lib/audio-wave.module.mjs +4 -4
  14. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  15. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  16. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  17. package/esm2022/badge/lib/badge.component.mjs +3 -3
  18. package/esm2022/badge/lib/badge.module.mjs +4 -4
  19. package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +3 -3
  20. package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +3 -3
  21. package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +4 -4
  22. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  23. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  24. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  25. package/esm2022/button/lib/button-item-list.component.mjs +3 -3
  26. package/esm2022/button/lib/button-item.component.mjs +3 -3
  27. package/esm2022/button/lib/button.component.mjs +3 -3
  28. package/esm2022/button/lib/button.module.mjs +4 -4
  29. package/esm2022/button-group/lib/button-group.component.mjs +3 -3
  30. package/esm2022/button-group/lib/button-group.module.mjs +4 -4
  31. package/esm2022/calendar/lib/calendar-range.component.mjs +3 -3
  32. package/esm2022/calendar/lib/calendar.class.mjs +3 -3
  33. package/esm2022/calendar/lib/calendar.component.mjs +3 -3
  34. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  35. package/esm2022/check-box/lib/check-box.component.mjs +3 -3
  36. package/esm2022/check-box/lib/check-box.module.mjs +4 -4
  37. package/esm2022/chips/lib/chips.component.mjs +3 -3
  38. package/esm2022/chips/lib/chips.module.mjs +4 -4
  39. package/esm2022/circular-progress/lib/circular-progress.component.mjs +3 -3
  40. package/esm2022/circular-progress/lib/circular-progress.module.mjs +4 -4
  41. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  42. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  43. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  44. package/esm2022/color-box/lib/color-box.component.mjs +3 -3
  45. package/esm2022/color-box/lib/color-box.module.mjs +4 -4
  46. package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
  47. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +4 -4
  48. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  49. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  50. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  51. package/esm2022/color-palette/lib/color-palette.component.mjs +3 -3
  52. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  53. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +3 -3
  54. package/esm2022/comment/lib/comment-item/comment-item.component.mjs +3 -3
  55. package/esm2022/comment/lib/comment-like/comment-like.component.mjs +3 -3
  56. package/esm2022/comment/lib/comment-reply/comment-reply.component.mjs +3 -3
  57. package/esm2022/comment/lib/comment-reply-text/comment-reply-text.component.mjs +3 -3
  58. package/esm2022/comment/lib/comment-view/comment-view.component.mjs +3 -3
  59. package/esm2022/comment/lib/comment.module.mjs +4 -4
  60. package/esm2022/comment/lib/services/comment.service.mjs +3 -3
  61. package/esm2022/common/lib/classes/components.class.mjs +21 -21
  62. package/esm2022/common/lib/common.module.mjs +4 -4
  63. package/esm2022/common/lib/components/base-component.class.mjs +3 -3
  64. package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
  65. package/esm2022/common/lib/components/look-component.class.mjs +3 -3
  66. package/esm2022/common/lib/components/selection-base.component.class.mjs +6 -6
  67. package/esm2022/common/lib/components/value-component.class.mjs +3 -3
  68. package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
  69. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
  70. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  71. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  72. package/esm2022/common/lib/directives/inverted-color.directive.mjs +3 -3
  73. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  74. package/esm2022/common/lib/directives/ripple.directive.mjs +3 -3
  75. package/esm2022/common/lib/services/dom.service.mjs +3 -3
  76. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  77. package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +3 -3
  78. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +3 -3
  79. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +3 -3
  80. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +3 -3
  81. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +3 -3
  82. package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +3 -3
  83. package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +3 -3
  84. package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +3 -3
  85. package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +3 -3
  86. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +3 -3
  87. package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +3 -3
  88. package/esm2022/conversation/lib/conversation.module.mjs +4 -4
  89. package/esm2022/conversation/lib/conversation.types.mjs +3 -3
  90. package/esm2022/conversation/lib/services/conversation-message-type-registry.service.mjs +3 -3
  91. package/esm2022/conversation/lib/services/conversation.service.mjs +3 -3
  92. package/esm2022/conversation/lib/services/recording.service.mjs +3 -3
  93. package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
  94. package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
  95. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
  96. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +3 -3
  97. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +3 -3
  98. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +3 -3
  99. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +3 -3
  100. package/esm2022/data-pager/lib/data-pager.component.mjs +3 -3
  101. package/esm2022/data-pager/lib/data-pager.module.mjs +4 -4
  102. package/esm2022/data-table/lib/base-data-table.class.mjs +3 -3
  103. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +3 -3
  104. package/esm2022/data-table/lib/columns/data-table-column.mjs +3 -3
  105. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +3 -3
  106. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +6 -6
  107. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +3 -3
  108. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +3 -3
  109. package/esm2022/data-table/lib/data-table/data-table.component.mjs +4 -4
  110. package/esm2022/data-table/lib/data-table.module.mjs +4 -4
  111. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +3 -3
  112. package/esm2022/datetime-box/lib/datetime-box.component.mjs +3 -3
  113. package/esm2022/datetime-box/lib/datetime-box.module.mjs +4 -4
  114. package/esm2022/datetime-input/lib/datetime-input.component.mjs +3 -3
  115. package/esm2022/datetime-input/lib/datetime-input.module.mjs +4 -4
  116. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +3 -3
  117. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +4 -4
  118. package/esm2022/decorators/lib/components/clear-button.component.mjs +3 -3
  119. package/esm2022/decorators/lib/components/close-button.component.mjs +3 -3
  120. package/esm2022/decorators/lib/components/generic-content.component.mjs +3 -3
  121. package/esm2022/decorators/lib/components/icon.component.mjs +3 -3
  122. package/esm2022/decorators/lib/decorators.module.mjs +4 -4
  123. package/esm2022/dialog/lib/dialog.component.mjs +4 -4
  124. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  125. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  126. package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
  127. package/esm2022/drawer/lib/drawer.component.mjs +3 -3
  128. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  129. package/esm2022/dropdown/lib/dropdown-box.class.mjs +3 -3
  130. package/esm2022/dropdown/lib/dropdown-box.component.mjs +3 -3
  131. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +3 -3
  132. package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
  133. package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +3 -3
  134. package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +4 -4
  135. package/esm2022/form/lib/form-field.component.mjs +3 -3
  136. package/esm2022/form/lib/form.component.mjs +3 -3
  137. package/esm2022/form/lib/form.module.mjs +4 -4
  138. package/esm2022/form/lib/validation-rule.directive.mjs +3 -3
  139. package/esm2022/form/lib/validation-summary.component.mjs +3 -3
  140. package/esm2022/image/lib/image.component.mjs +3 -3
  141. package/esm2022/image/lib/image.module.mjs +4 -4
  142. package/esm2022/label/lib/label.component.mjs +3 -3
  143. package/esm2022/label/lib/label.module.mjs +4 -4
  144. package/esm2022/list/lib/list.component.mjs +3 -3
  145. package/esm2022/list/lib/list.module.mjs +4 -4
  146. package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
  147. package/esm2022/loading/lib/loading.component.mjs +3 -3
  148. package/esm2022/loading/lib/loading.directive.mjs +3 -3
  149. package/esm2022/loading/lib/loading.module.mjs +4 -4
  150. package/esm2022/loading/lib/loading.service.mjs +3 -3
  151. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +42 -5
  152. package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +4 -4
  153. package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +3 -3
  154. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +50 -4
  155. package/esm2022/menu/lib/menu.component.mjs +10 -4
  156. package/esm2022/menu/lib/menu.module.mjs +4 -4
  157. package/esm2022/menu/lib/menu.service.mjs +3 -3
  158. package/esm2022/nav/lib/nav-item/nav-item.component.mjs +26 -4
  159. package/esm2022/nav/lib/nav.component.mjs +8 -4
  160. package/esm2022/nav/lib/nav.module.mjs +4 -4
  161. package/esm2022/navbar/lib/navbar.component.mjs +9 -4
  162. package/esm2022/navbar/lib/navbar.module.mjs +4 -4
  163. package/esm2022/notification/lib/notification.component.mjs +13 -4
  164. package/esm2022/notification/lib/notification.module.mjs +4 -4
  165. package/esm2022/notification/lib/notification.service.mjs +3 -3
  166. package/esm2022/number-box/lib/number-box.component.mjs +77 -8
  167. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  168. package/esm2022/otp/lib/otp.component.mjs +38 -4
  169. package/esm2022/otp/lib/otp.module.mjs +4 -4
  170. package/esm2022/page/lib/base-page.class.mjs +3 -3
  171. package/esm2022/page/lib/page.component.mjs +18 -4
  172. package/esm2022/page/lib/page.module.mjs +4 -4
  173. package/esm2022/paint/acorex-components-paint.mjs +5 -0
  174. package/esm2022/paint/index.mjs +8 -0
  175. package/esm2022/paint/lib/paint/paint-container/paint-container.component.mjs +38 -0
  176. package/esm2022/paint/lib/paint/paint-toolbar/paint-toolbar.component.mjs +15 -0
  177. package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs +46 -0
  178. package/esm2022/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.mjs +37 -0
  179. package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +55 -0
  180. package/esm2022/paint/lib/paint/paint-view/paint-view.component.mjs +154 -0
  181. package/esm2022/paint/lib/paint/paint.service.mjs +17 -0
  182. package/esm2022/paint/lib/paint.module.mjs +50 -0
  183. package/esm2022/password-box/lib/password-box.component.mjs +13 -4
  184. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  185. package/esm2022/phone-box/lib/phone-box.component.mjs +38 -4
  186. package/esm2022/phone-box/lib/phone-box.module.mjs +4 -4
  187. package/esm2022/picker/lib/picker-column.directive.mjs +3 -3
  188. package/esm2022/picker/lib/picker.component.mjs +29 -4
  189. package/esm2022/picker/lib/picker.module.mjs +4 -4
  190. package/esm2022/popover/lib/popover.component.mjs +118 -4
  191. package/esm2022/popover/lib/popover.module.mjs +4 -4
  192. package/esm2022/popup/lib/popup.component.mjs +33 -8
  193. package/esm2022/popup/lib/popup.module.mjs +4 -4
  194. package/esm2022/popup/lib/popup.service.mjs +3 -3
  195. package/esm2022/progress-bar/lib/progress-bar.component.mjs +33 -4
  196. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  197. package/esm2022/radio/lib/radio.component.mjs +8 -5
  198. package/esm2022/radio/lib/radio.module.mjs +4 -4
  199. package/esm2022/range-slider/lib/range-slider.component.mjs +8 -4
  200. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  201. package/esm2022/result/lib/result.component.mjs +18 -4
  202. package/esm2022/result/lib/result.module.mjs +4 -4
  203. package/esm2022/routing-progress/lib/routing-progress.component.mjs +19 -4
  204. package/esm2022/routing-progress/lib/routing-progress.module.mjs +4 -4
  205. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +3 -3
  206. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +3 -3
  207. package/esm2022/scheduler/lib/scheduler.component.mjs +6 -4
  208. package/esm2022/scheduler/lib/scheduler.module.mjs +4 -4
  209. package/esm2022/scss/lib/scss.module.mjs +4 -4
  210. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  211. package/esm2022/search-box/lib/search-box.module.mjs +4 -4
  212. package/esm2022/select-box/lib/select-box.component.mjs +5 -5
  213. package/esm2022/select-box/lib/select-box.module.mjs +4 -4
  214. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  215. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
  216. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +3 -3
  217. package/esm2022/side-menu/lib/side-menu.component.mjs +3 -3
  218. package/esm2022/side-menu/lib/side-menu.module.mjs +4 -4
  219. package/esm2022/skeleton/lib/skeleton.component.mjs +3 -3
  220. package/esm2022/skeleton/lib/skeleton.module.mjs +4 -4
  221. package/esm2022/slider/lib/slider.component.mjs +3 -3
  222. package/esm2022/slider/lib/slider.module.mjs +4 -4
  223. package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +11 -8
  224. package/esm2022/step-wizard/lib/step-wizard.class.mjs +1 -1
  225. package/esm2022/step-wizard/lib/step-wizard.component.mjs +52 -31
  226. package/esm2022/step-wizard/lib/step-wizard.directive.mjs +3 -3
  227. package/esm2022/step-wizard/lib/step-wizard.module.mjs +4 -4
  228. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  229. package/esm2022/switch/lib/switch.component.mjs +3 -3
  230. package/esm2022/switch/lib/switch.module.mjs +4 -4
  231. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  232. package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
  233. package/esm2022/tabs/lib/tabs.component.mjs +4 -4
  234. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  235. package/esm2022/tag/lib/tag.component.mjs +8 -4
  236. package/esm2022/tag/lib/tag.module.mjs +4 -4
  237. package/esm2022/text-area/lib/text-area.component.mjs +8 -4
  238. package/esm2022/text-area/lib/text-area.module.mjs +4 -4
  239. package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
  240. package/esm2022/text-box/lib/text-box.component.mjs +3 -3
  241. package/esm2022/text-box/lib/text-box.module.mjs +4 -4
  242. package/esm2022/toast/lib/toast.component.mjs +3 -3
  243. package/esm2022/toast/lib/toast.module.mjs +4 -4
  244. package/esm2022/toast/lib/toast.service.mjs +3 -3
  245. package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
  246. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  247. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  248. package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +3 -3
  249. package/esm2022/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.mjs +3 -3
  250. package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +3 -3
  251. package/esm2022/uploader/lib/uploader-list/uploader-list.component.mjs +7 -9
  252. package/esm2022/uploader/lib/uploader-zone.directive.mjs +3 -3
  253. package/esm2022/uploader/lib/uploader.models.mjs +21 -11
  254. package/esm2022/uploader/lib/uploader.module.mjs +4 -4
  255. package/esm2022/uploader/lib/uploader.service.mjs +50 -28
  256. package/esm2022/wysiwyg/index.mjs +7 -1
  257. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +11 -19
  258. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +7 -259
  259. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.mjs +59 -0
  260. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs +53 -0
  261. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.mjs +150 -0
  262. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.mjs +36 -0
  263. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.mjs +49 -0
  264. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.mjs +67 -0
  265. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +9 -8
  266. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +4 -5
  267. package/esm2022/wysiwyg/lib/wysiwyg.module.mjs +38 -6
  268. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  269. package/fesm2022/acorex-components-alert.mjs +7 -7
  270. package/fesm2022/acorex-components-audio-wave.mjs +7 -7
  271. package/fesm2022/acorex-components-avatar.mjs +10 -10
  272. package/fesm2022/acorex-components-badge.mjs +7 -7
  273. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  274. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  275. package/fesm2022/acorex-components-button-group.mjs +7 -7
  276. package/fesm2022/acorex-components-button.mjs +13 -13
  277. package/fesm2022/acorex-components-calendar.mjs +13 -13
  278. package/fesm2022/acorex-components-check-box.mjs +7 -7
  279. package/fesm2022/acorex-components-chips.mjs +7 -7
  280. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  281. package/fesm2022/acorex-components-collapse.mjs +10 -10
  282. package/fesm2022/acorex-components-color-box.mjs +7 -7
  283. package/fesm2022/acorex-components-color-palette.mjs +26 -26
  284. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  285. package/fesm2022/acorex-components-comment.mjs +25 -25
  286. package/fesm2022/acorex-components-common.mjs +70 -70
  287. package/fesm2022/acorex-components-conversation.mjs +49 -49
  288. package/fesm2022/acorex-components-data-pager.mjs +31 -31
  289. package/fesm2022/acorex-components-data-table.mjs +35 -35
  290. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  291. package/fesm2022/acorex-components-datetime-box.mjs +7 -7
  292. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  293. package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
  294. package/fesm2022/acorex-components-decorators.mjs +16 -16
  295. package/fesm2022/acorex-components-dialog.mjs +11 -11
  296. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  297. package/fesm2022/acorex-components-drawer.mjs +10 -10
  298. package/fesm2022/acorex-components-dropdown-button.mjs +7 -7
  299. package/fesm2022/acorex-components-dropdown.mjs +13 -13
  300. package/fesm2022/acorex-components-form.mjs +16 -16
  301. package/fesm2022/acorex-components-image.mjs +7 -7
  302. package/fesm2022/acorex-components-label.mjs +7 -7
  303. package/fesm2022/acorex-components-list.mjs +7 -7
  304. package/fesm2022/acorex-components-loading-dialog.mjs +48 -11
  305. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  306. package/fesm2022/acorex-components-loading.mjs +16 -16
  307. package/fesm2022/acorex-components-menu.mjs +65 -13
  308. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  309. package/fesm2022/acorex-components-nav.mjs +36 -10
  310. package/fesm2022/acorex-components-nav.mjs.map +1 -1
  311. package/fesm2022/acorex-components-navbar.mjs +12 -7
  312. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  313. package/fesm2022/acorex-components-notification.mjs +19 -10
  314. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  315. package/fesm2022/acorex-components-number-box.mjs +80 -11
  316. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  317. package/fesm2022/acorex-components-otp.mjs +41 -7
  318. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  319. package/fesm2022/acorex-components-page.mjs +24 -10
  320. package/fesm2022/acorex-components-page.mjs.map +1 -1
  321. package/fesm2022/acorex-components-paint.mjs +386 -0
  322. package/fesm2022/acorex-components-paint.mjs.map +1 -0
  323. package/fesm2022/acorex-components-password-box.mjs +16 -7
  324. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  325. package/fesm2022/acorex-components-phone-box.mjs +41 -7
  326. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  327. package/fesm2022/acorex-components-picker.mjs +35 -10
  328. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  329. package/fesm2022/acorex-components-popover.mjs +121 -7
  330. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  331. package/fesm2022/acorex-components-popup.mjs +39 -14
  332. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  333. package/fesm2022/acorex-components-progress-bar.mjs +36 -7
  334. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  335. package/fesm2022/acorex-components-radio.mjs +11 -8
  336. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  337. package/fesm2022/acorex-components-range-slider.mjs +11 -7
  338. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  339. package/fesm2022/acorex-components-result.mjs +21 -7
  340. package/fesm2022/acorex-components-result.mjs.map +1 -1
  341. package/fesm2022/acorex-components-routing-progress.mjs +22 -7
  342. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  343. package/fesm2022/acorex-components-scheduler.mjs +15 -13
  344. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  345. package/fesm2022/acorex-components-scss.mjs +4 -4
  346. package/fesm2022/acorex-components-search-box.mjs +7 -7
  347. package/fesm2022/acorex-components-select-box.mjs +8 -8
  348. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  349. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  350. package/fesm2022/acorex-components-side-menu.mjs +10 -10
  351. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  352. package/fesm2022/acorex-components-slider.mjs +7 -7
  353. package/fesm2022/acorex-components-step-wizard.mjs +69 -45
  354. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  355. package/fesm2022/acorex-components-switch.mjs +10 -10
  356. package/fesm2022/acorex-components-tabs.mjs +13 -13
  357. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  358. package/fesm2022/acorex-components-tag.mjs +11 -7
  359. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  360. package/fesm2022/acorex-components-text-area.mjs +11 -7
  361. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  362. package/fesm2022/acorex-components-text-box.mjs +10 -10
  363. package/fesm2022/acorex-components-toast.mjs +10 -10
  364. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  365. package/fesm2022/acorex-components-uploader.mjs +90 -62
  366. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  367. package/fesm2022/acorex-components-wysiwyg.mjs +308 -159
  368. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  369. package/loading-dialog/lib/loading-dialog.component.d.ts +39 -1
  370. package/menu/lib/menu-item/menu-item.component.d.ts +52 -0
  371. package/menu/lib/menu.component.d.ts +7 -0
  372. package/nav/lib/nav-item/nav-item.component.d.ts +22 -0
  373. package/nav/lib/nav.component.d.ts +4 -0
  374. package/navbar/lib/navbar.component.d.ts +5 -0
  375. package/notification/lib/notification.component.d.ts +11 -0
  376. package/number-box/lib/number-box.component.d.ts +74 -1
  377. package/otp/lib/otp.component.d.ts +35 -1
  378. package/package.json +61 -55
  379. package/page/lib/page.component.d.ts +15 -0
  380. package/paint/README.md +3 -0
  381. package/paint/index.d.ts +7 -0
  382. package/paint/lib/paint/paint-container/paint-container.component.d.ts +16 -0
  383. package/paint/lib/paint/paint-toolbar/paint-toolbar.component.d.ts +9 -0
  384. package/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.d.ts +27 -0
  385. package/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.d.ts +20 -0
  386. package/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.d.ts +33 -0
  387. package/paint/lib/paint/paint-view/paint-view.component.d.ts +56 -0
  388. package/paint/lib/paint/paint.service.d.ts +10 -0
  389. package/paint/lib/paint.module.d.ts +19 -0
  390. package/password-box/lib/password-box.component.d.ts +14 -1
  391. package/phone-box/lib/phone-box.component.d.ts +39 -1
  392. package/picker/lib/picker.component.d.ts +29 -0
  393. package/popover/lib/popover.component.d.ts +129 -0
  394. package/popup/lib/popup.component.d.ts +39 -4
  395. package/progress-bar/lib/progress-bar.component.d.ts +30 -0
  396. package/radio/lib/radio.component.d.ts +7 -1
  397. package/range-slider/lib/range-slider.component.d.ts +4 -0
  398. package/result/lib/result.component.d.ts +14 -0
  399. package/routing-progress/lib/routing-progress.component.d.ts +16 -0
  400. package/scheduler/lib/scheduler.component.d.ts +2 -0
  401. package/search-box/lib/search-box.component.d.ts +1 -1
  402. package/select-box/lib/select-box.component.d.ts +1 -1
  403. package/slider/lib/slider.component.d.ts +1 -1
  404. package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +2 -1
  405. package/step-wizard/lib/step-wizard.class.d.ts +1 -1
  406. package/step-wizard/lib/step-wizard.component.d.ts +23 -9
  407. package/switch/lib/switch.component.d.ts +1 -1
  408. package/tag/lib/tag.component.d.ts +4 -0
  409. package/text-area/lib/text-area.component.d.ts +6 -1
  410. package/text-box/lib/text-box.component.d.ts +1 -1
  411. package/uploader/lib/uploader-list/uploader-list.component.d.ts +1 -2
  412. package/uploader/lib/uploader.models.d.ts +9 -4
  413. package/uploader/lib/uploader.service.d.ts +5 -1
  414. package/wysiwyg/index.d.ts +6 -0
  415. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +8 -16
  416. package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +1 -99
  417. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +31 -0
  418. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +35 -0
  419. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +42 -0
  420. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +21 -0
  421. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +35 -0
  422. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +23 -0
  423. package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +3 -1
  424. package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +0 -1
  425. package/wysiwyg/lib/wysiwyg.module.d.ts +14 -8
@@ -12,23 +12,43 @@ import * as i3 from "@acorex/components/select-box";
12
12
  import * as i4 from "@acorex/components/search-box";
13
13
  import * as i5 from "@acorex/components/decorators";
14
14
  import * as i6 from "@acorex/components/text-box";
15
+ /**
16
+ * @category
17
+ * A component that handles phone number input with various configurations.
18
+ */
15
19
  export class AXPhoneBoxComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {
20
+ /** @ignore */
16
21
  _handleModelChange(value) {
17
22
  this.commitValue(value, true);
18
23
  }
24
+ /** @ignore */
19
25
  handleCountryOnClosed() {
20
26
  setTimeout(() => {
21
27
  this.textbox?.focus();
22
28
  }, 300);
23
29
  }
30
+ /** @ignore */
24
31
  constructor() {
25
32
  super();
33
+ /** @ignore */
26
34
  this._updateOn = 'change';
35
+ /**
36
+ * The default country value for the component.
37
+ */
27
38
  this.country = input('');
39
+ /**
40
+ * List of included values for the component.
41
+ */
28
42
  this.included = input([]);
43
+ /**
44
+ * List of excluded values for the component.
45
+ */
29
46
  this.excluded = input([]);
47
+ /** @ignore */
30
48
  this.countries = signal([]);
49
+ /** @ignore */
31
50
  this.selectedCountry = signal(null);
51
+ /** @ignore */
32
52
  this.dataSource = new AXDataSource({
33
53
  pageSize: 10,
34
54
  load: (e) => {
@@ -46,6 +66,9 @@ export class AXPhoneBoxComponent extends classes((MXInputBaseValueComponent), MX
46
66
  });
47
67
  },
48
68
  });
69
+ /**
70
+ * Determines if the keyboard event is a valid action based on allowed keys and key codes.
71
+ */
49
72
  this.isValidKeyboardAction = (event) => {
50
73
  const _code = parseInt(event.key);
51
74
  const ALLOWED_KEY = ['Backspace', 'ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'Tab'];
@@ -64,6 +87,9 @@ export class AXPhoneBoxComponent extends classes((MXInputBaseValueComponent), MX
64
87
  this.setDefaultValue();
65
88
  });
66
89
  }
90
+ /**
91
+ * Updates the list of countries based on included or excluded codes.
92
+ */
67
93
  setCountries() {
68
94
  if (this.included().length) {
69
95
  this.countries.set(COUNTRIES.filter((c) => this.included().includes(c.code)));
@@ -75,6 +101,9 @@ export class AXPhoneBoxComponent extends classes((MXInputBaseValueComponent), MX
75
101
  this.countries.set(COUNTRIES);
76
102
  }
77
103
  }
104
+ /**
105
+ * Sets the default selected country based on the provided country code or the first country in the list.
106
+ */
78
107
  setDefaultValue() {
79
108
  if (this.country()) {
80
109
  this.selectedCountry.set(this.countries().find((c) => c.code === this.country()));
@@ -83,6 +112,10 @@ export class AXPhoneBoxComponent extends classes((MXInputBaseValueComponent), MX
83
112
  this.selectedCountry.set(this.countries()[0]);
84
113
  }
85
114
  }
115
+ /**
116
+ * Handles key down events, emitting an event if the key action is valid, otherwise prevents default behavior and stops propagation.
117
+ * @param e
118
+ */
86
119
  handleKeyDown(e) {
87
120
  if (this.isValidKeyboardAction(e)) {
88
121
  this.emitOnKeydownEvent(e);
@@ -92,11 +125,12 @@ export class AXPhoneBoxComponent extends classes((MXInputBaseValueComponent), MX
92
125
  e.stopImmediatePropagation();
93
126
  }
94
127
  }
128
+ /** @ignore */
95
129
  _handleCountryValueChanged(event) {
96
130
  this.selectedCountry.set(event.component.selectedItems[0]);
97
131
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPhoneBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.2", type: AXPhoneBoxComponent, selector: "ax-phone-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: false, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, autoComplete: { classPropertyName: "autoComplete", publicName: "autoComplete", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, classNames: { classPropertyName: "classNames", publicName: "class", isSignal: false, isRequired: false, transformFunction: null }, country: { classPropertyName: "country", publicName: "country", isSignal: true, isRequired: false, transformFunction: null }, included: { classPropertyName: "included", publicName: "included", isSignal: true, isRequired: false, transformFunction: null }, excluded: { classPropertyName: "excluded", publicName: "excluded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPhoneBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXPhoneBoxComponent, selector: "ax-phone-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: false, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, autoComplete: { classPropertyName: "autoComplete", publicName: "autoComplete", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, classNames: { classPropertyName: "classNames", publicName: "class", isSignal: false, isRequired: false, transformFunction: null }, country: { classPropertyName: "country", publicName: "country", isSignal: true, isRequired: false, transformFunction: null }, included: { classPropertyName: "included", publicName: "included", isSignal: true, isRequired: false, transformFunction: null }, excluded: { classPropertyName: "excluded", publicName: "excluded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [
100
134
  { provide: AXComponent, useExisting: AXPhoneBoxComponent },
101
135
  { provide: AXFocusableComponent, useExisting: AXPhoneBoxComponent },
102
136
  { provide: AXClearableComponent, useExisting: AXPhoneBoxComponent },
@@ -108,7 +142,7 @@ export class AXPhoneBoxComponent extends classes((MXInputBaseValueComponent), MX
108
142
  },
109
143
  ], viewQueries: [{ propertyName: "textbox", first: true, predicate: AXTextBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-text-box dir=\"ltr\" [look]=\"look\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [mask-options]=\"{ mask: selectedCountry()?.format }\" [placeholder]=\"selectedCountry()?.format\" [(ngModel)]=\"value\"\n (onBlur)=\"emitOnBlurEvent($event.nativeEvent)\" (onFocus)=\"emitOnFocusEvent($event.nativeEvent)\"\n (onKeyDown)=\"emitOnKeydownEvent($event.nativeEvent)\" (onKeyPress)=\"emitOnKeypressEvent($event.nativeEvent)\"\n (onKeyUp)=\"emitOnKeyupEvent($event.nativeEvent)\">\n <ax-prefix>\n <ax-select-box #s look=\"blank\" [disabled]=\"disabled || readonly\" [readonly]=\"readonly\" [dropdownWidth]=\"320\"\n [dataSource]=\"dataSource\" [ngModel]=\"selectedCountry()\" [textField]=\"'iso2code'\" [multiple]=\"false\"\n [valueField]=\"'code'\" [itemTemplate]=\"customItemTemplate\" [selectedTemplate]=\"selectedTemplate\"\n (onValueChanged)=\"_handleCountryValueChanged($event)\" (onClosed)=\"handleCountryOnClosed()\">\n <ax-search-box class=\"ax-sm\" look=\"fill\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n <ng-template #customItemTemplate let-item>\n <div class=\"ax-country-item\">\n <div class=\"ax-country-flag\"\n [ngStyle]=\"{ 'background-position': item.data.bkPosition?.x + ' ' + item.data.bkPosition?.y }\"></div>\n <div>\n <span class=\"ax-country-name\">{{ item.data.name }}</span>\n <span class=\"ax-iso2code\">{{ item.data.iso2code }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template #selectedTemplate let-item>\n <div class=\"ax-selected-country\">\n <span>{{ item.data.iso2code }}</span>\n </div>\n </ng-template>\n <ng-template #loading></ng-template>\n </ax-select-box>\n </ax-prefix>\n</ax-text-box>\n\n<ng-content select=\"ax-clear-button\"></ng-content>\n<div class=\"ax-error-container\"></div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", styles: ["ax-phone-box .ax-input{flex:1}ax-phone-box .ax-input[type=number]{-moz-appearance:textfield}ax-phone-box .ax-input[type=number]::-webkit-inner-spin-button,ax-phone-box .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ax-country-item{padding:.75rem .5rem;cursor:pointer;display:flex;gap:.5rem;align-items:center}.ax-country-item:hover{background-color:rgba(var(--ax-color-on-surface))}.ax-country-item .ax-country-name{font-weight:500;margin-inline-end:.5rem}.ax-country-item .ax-iso2code{opacity:.7}.ax-country-flag{width:25px!important;height:20px!important;background-image:url(data:image/png;base64,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);background-repeat:no-repeat}.ax-selected-country{display:flex;gap:.5rem;align-items:center;padding-inline-start:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i4.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i5.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i6.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
110
144
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPhoneBoxComponent, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPhoneBoxComponent, decorators: [{
112
146
  type: Component,
113
147
  args: [{ selector: 'ax-phone-box', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { ngSkipHydration: 'true' }, inputs: [
114
148
  'disabled',
@@ -153,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
153
187
  type: Input,
154
188
  args: ['class']
155
189
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waG9uZS1ib3gvc3JjL2xpYi9waG9uZS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWJveC9zcmMvbGliL3Bob25lLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUVuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLGVBQWUsRUFDZixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQWdEbkMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUFpQyxDQUFBLEVBQUUsZUFBZSxDQUFDO0lBbUJ4RixrQkFBa0IsQ0FBQyxLQUFvQjtRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBd0JTLHFCQUFxQjtRQUM3QixVQUFVLENB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QUNWLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsTUFBTTt3QkFDTixJQUFJO3dCQUNKLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLE1BQU07d0JBQ04sY0FBYzt3QkFDZCxNQUFNO3FCQUNQLFdBQ1E7d0JBQ1AsUUFBUTt3QkFDUixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsWUFBWTtxQkFDYixhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUMxRCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUNuRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUNuRSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUNsRTs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0RBTUQsT0FBTztzQkFETixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0MsVUFBVTtzQkFEVCxLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENsZWFyYWJsZUNvbXBvbmVudCxcbiAgQVhDb21wb25lbnQsXG4gIEFYRGF0YVNvdXJjZSxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIEFYVmFsdWVDaGFuZ2VkRXZlbnQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgV3JpdGFibGVTaWduYWwsXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgZm9yd2FyZFJlZixcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5cbmltcG9ydCB7IEFYVGV4dEJveENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBDT1VOVFJJRVMsIENvdW50cnlJdGVtIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1waG9uZS1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvbmUtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGhvbmUtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnIH0sXG4gIGlucHV0czogW1xuICAgICdkaXNhYmxlZCcsXG4gICAgJ3RhYkluZGV4JyxcbiAgICAncmVhZG9ubHknLFxuICAgICd2YWx1ZScsXG4gICAgJ3N0YXRlJyxcbiAgICAnbmFtZScsXG4gICAgJ2lkJyxcbiAgICAncGxhY2Vob2xkZXInLFxuICAgICdtYXhMZW5ndGgnLFxuICAgICdhbGxvd051bGwnLFxuICAgICd0eXBlJyxcbiAgICAnYXV0b0NvbXBsZXRlJyxcbiAgICAnbG9vaycsXG4gIF0sXG4gIG91dHB1dHM6IFtcbiAgICAnb25CbHVyJyxcbiAgICAnb25Gb2N1cycsXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnc3RhdGVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ3JlYWRvbmx5Q2hhbmdlJyxcbiAgICAnZGlzYWJsZWRDaGFuZ2UnLFxuICAgICdvbktleURvd24nLFxuICAgICdvbktleVVwJyxcbiAgICAnb25LZXlQcmVzcycsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBob25lQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGhvbmVCb3hDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYQ2xlYXJhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhQaG9uZUJveENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGhvbmVCb3hDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYUGhvbmVCb3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQaG9uZUJveENvbXBvbmVudCBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxzdHJpbmc+LCBNWExvb2tDb21wb25lbnQpIHtcbiAgcHJvdGVjdGVkIF91cGRhdGVPbjogJ2NoYW5nZScgfCAnYmx1cicgfCAnc3VibWl0JyA9ICdjaGFuZ2UnO1xuXG4gIEBWaWV3Q2hpbGQoQVhUZXh0Qm94Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0ZXh0Ym94OiBBWFRleHRCb3hDb21wb25lbnQ7XG5cbiAgQElucHV0KCdjbGFzcycpXG4gIGNsYXNzTmFtZXM6IHN0cmluZztcblxuICBjb3VudHJ5ID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgaW5jbHVkZWQgPSBpbnB1dDxzdHJpbmdbXT4oW10pO1xuXG4gIGV4Y2x1ZGVkID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcblxuICBwcm90ZWN0ZWQgY291bnRyaWVzOiBXcml0YWJsZVNpZ25hbDxDb3VudHJ5SXRlbVtdPiA9IHNpZ25hbChbXSk7XG5cbiAgcHJvdGVjdGVkIHNlbGVjdGVkQ291bnRyeTogV3JpdGFibGVTaWduYWw8Q291bnRyeUl0ZW0+ID0gc2lnbmFsKG51bGwpO1xuXG4gIHByb3RlY3RlZCBfaGFuZGxlTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKHZhbHVlLCB0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZTxDb3VudHJ5SXRlbT4oe1xuICAgIHBhZ2VTaXplOiAxMCxcbiAgICBsb2FkOiAoZSkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmNvdW50cmllcygpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBlLmZpbHRlclxuICAgICAgICAgID8gZmlsdGVyKFxuICAgICAgICAgICAgICBsaXN0LFxuICAgICAgICAgICAgICAoYykgPT5cbiAgICAgICAgICAgICAgICBjLm5hbWUudG9VcHBlckNhc2UoKS5pbmNsdWRlcygoZS5maWx0ZXIudmFsdWUgYXMgc3RyaW5nKS50b1VwcGVyQ2FzZSgpKSB8fFxuICAgICAgICAgICAgICAgIGMuaXNvMmNvZGUudG9VcHBlckNhc2UoKS5pbmNsdWRlcygoZS5maWx0ZXIudmFsdWUgYXMgc3RyaW5nKS50b1VwcGVyQ2FzZSgpKSB8fFxuICAgICAgICAgICAgICAgIGMuY29kZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKChlLmZpbHRlci52YWx1ZSBhcyBzdHJpbmcpLnRvVXBwZXJDYXNlKCkpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogbGlzdDtcbiAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgaXRlbXM6IHJlc3VsdC5zbGljZShlLnNraXAsIGUuc2tpcCArIGUudGFrZSksXG4gICAgICAgICAgdG90YWw6IHJlc3VsdC5sZW5ndGgsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNvdW50cnlPbkNsb3NlZCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudGV4dGJveD8uZm9jdXMoKTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgIHRoaXMuc2V0Q291bnRyaWVzKCk7XG4gICAgICB0aGlzLnNldERlZmF1bHRWYWx1ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgaXNWYWxpZEtleWJvYXJkQWN0aW9uID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgY29uc3QgX2NvZGUgPSBwYXJzZUludChldmVudC5rZXkpO1xuXG4gICAgY29uc3QgQUxMT1dFRF9LRVkgPSBbJ0JhY2tzcGFjZScsICdBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdUYWInXTtcblxuICAgIGNvbnN0IElTX0NUUkxfQSA9ICgpID0+IChldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleSA9PT0gJ2EnKSB8fCAoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXkgPT09ICdBJyk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0YW50LWNvbmRpdGlvblxuICAgIGlmICgoX2NvZGUgPj0gMCAmJiBfY29kZSA8PSA5KSB8fCBBTExPV0VEX0tFWS5pbmNsdWRlcyhldmVudC5rZXkpIHx8IElTX0NUUkxfQSgpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfTtcblxuICBzZXRDb3VudHJpZXMoKSB7XG4gICAgaWYgKHRoaXMuaW5jbHVkZWQoKS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY291bnRyaWVzLnNldChDT1VOVFJJRVMuZmlsdGVyKChjKSA9PiB0aGlzLmluY2x1ZGVkKCkuaW5jbHVkZXMoYy5jb2RlKSkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5leGNsdWRlZCgpLmxlbmd0aCkge1xuICAgICAgdGhpcy5jb3VudHJpZXMuc2V0KENPVU5UUklFUy5maWx0ZXIoKGMpID0+ICF0aGlzLmV4Y2x1ZGVkKCkuaW5jbHVkZXMoYy5jb2RlKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvdW50cmllcy5zZXQoQ09VTlRSSUVTKTtcbiAgICB9XG4gIH1cblxuICBzZXREZWZhdWx0VmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuY291bnRyeSgpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeS5zZXQodGhpcy5jb3VudHJpZXMoKS5maW5kKChjKSA9PiBjLmNvZGUgPT09IHRoaXMuY291bnRyeSgpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5LnNldCh0aGlzLmNvdW50cmllcygpWzBdKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc1ZhbGlkS2V5Ym9hcmRBY3Rpb24oZSkpIHtcbiAgICAgIHRoaXMuZW1pdE9uS2V5ZG93bkV2ZW50KGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIF9oYW5kbGVDb3VudHJ5VmFsdWVDaGFuZ2VkKGV2ZW50OiBBWFZhbHVlQ2hhbmdlZEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RlZENvdW50cnkuc2V0KGV2ZW50LmNvbXBvbmVudC5zZWxlY3RlZEl0ZW1zWzBdKTtcbiAgfVxufVxuIiwiPGF4LXRleHQtYm94IGRpcj1cImx0clwiIFtsb29rXT1cImxvb2tcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICBbbWFzay1vcHRpb25zXT1cInsgbWFzazogc2VsZWN0ZWRDb3VudHJ5KCk/LmZvcm1hdCB9XCIgW3BsYWNlaG9sZGVyXT1cInNlbGVjdGVkQ291bnRyeSgpPy5mb3JtYXRcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgKG9uQmx1cik9XCJlbWl0T25CbHVyRXZlbnQoJGV2ZW50Lm5hdGl2ZUV2ZW50KVwiIChvbkZvY3VzKT1cImVtaXRPbkZvY3VzRXZlbnQoJGV2ZW50Lm5hdGl2ZUV2ZW50KVwiXG4gIChvbktleURvd24pPVwiZW1pdE9uS2V5ZG93bkV2ZW50KCRldmVudC5uYXRpdmVFdmVudClcIiAob25LZXlQcmVzcyk9XCJlbWl0T25LZXlwcmVzc0V2ZW50KCRldmVudC5uYXRpdmVFdmVudClcIlxuICAob25LZXlVcCk9XCJlbWl0T25LZXl1cEV2ZW50KCRldmVudC5uYXRpdmVFdmVudClcIj5cbiAgPGF4LXByZWZpeD5cbiAgICA8YXgtc2VsZWN0LWJveCAjcyBsb29rPVwiYmxhbmtcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZHJvcGRvd25XaWR0aF09XCIzMjBcIlxuICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIFtuZ01vZGVsXT1cInNlbGVjdGVkQ291bnRyeSgpXCIgW3RleHRGaWVsZF09XCInaXNvMmNvZGUnXCIgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgIFt2YWx1ZUZpZWxkXT1cIidjb2RlJ1wiIFtpdGVtVGVtcGxhdGVdPVwiY3VzdG9tSXRlbVRlbXBsYXRlXCIgW3NlbGVjdGVkVGVtcGxhdGVdPVwic2VsZWN0ZWRUZW1wbGF0ZVwiXG4gICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZUNvdW50cnlWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiIChvbkNsb3NlZCk9XCJoYW5kbGVDb3VudHJ5T25DbG9zZWQoKVwiPlxuICAgICAgPGF4LXNlYXJjaC1ib3ggY2xhc3M9XCJheC1zbVwiIGxvb2s9XCJmaWxsXCI+XG4gICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICA8L2F4LXNlYXJjaC1ib3g+XG4gICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbUl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvdW50cnktaXRlbVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb3VudHJ5LWZsYWdcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1wb3NpdGlvbic6IGl0ZW0uZGF0YS5ia1Bvc2l0aW9uPy54ICsgJyAnICsgaXRlbS5kYXRhLmJrUG9zaXRpb24/LnkgfVwiPjwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWNvdW50cnktbmFtZVwiPnt7IGl0ZW0uZGF0YS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pc28yY29kZVwiPnt7IGl0ZW0uZGF0YS5pc28yY29kZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RlZFRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtc2VsZWN0ZWQtY291bnRyeVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uZGF0YS5pc28yY29kZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPjwvbmctdGVtcGxhdGU+XG4gICAgPC9heC1zZWxlY3QtYm94PlxuICA8L2F4LXByZWZpeD5cbjwvYXgtdGV4dC1ib3g+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNsZWFyLWJ1dHRvblwiPjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+Il19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waG9uZS1ib3gvc3JjL2xpYi9waG9uZS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWJveC9zcmMvbGliL3Bob25lLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUVuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLGVBQWUsRUFDZixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQUVuQzs7O0dBR0c7QUErQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUFpQyxDQUFBLEVBQUUsZUFBZSxDQUFDO0lBb0NsRyxjQUFjO0lBQ0osa0JBQWtCLENBQUMsS0FBb0I7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQXlCRCxjQUFjO0lBQ0oscUJBQXFCO1FBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3hCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxjQUFjO0lBQ2Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQXZFVixjQUFjO1FBQ0osY0FBUyxHQUFpQyxRQUFRLENBQUM7UUFZM0Q7O1NBRUM7UUFDSCxZQUFPLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRTFCOztTQUVDO1FBQ0gsYUFBUSxHQUFHLEtBQUssQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUU5Qjs7VUFFRTtRQUNILGFBQVEsR0FBRyxLQUFLLENBQVcsRUFBRSxDQUFDLENBQUM7UUFFL0IsY0FBYztRQUNKLGNBQVMsR0FBa0MsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLGNBQWM7UUFDSixvQkFBZSxHQUFnQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFPdEUsY0FBYztRQUNKLGVBQVUsR0FBRyxJQUFJLFlBQVksQ0FBYztZQUNuRCxRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNWLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUM5QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTTt3QkFDckIsQ0FBQyxDQUFDLE1BQU0sQ0FDSixJQUFJLEVBQ0osQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQzs0QkFDdkUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDOzRCQUMzRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDMUU7d0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDVCxPQUFPLENBQUM7d0JBQ04sS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQzVDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTTtxQkFDckIsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUMsQ0FBQztRQW1CSDs7U0FFQztRQUNELDBCQUFxQixHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQy9DLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFbEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTVGLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ3JHLGlEQUFpRDtZQUNqRCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztnQkFDakYsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBdEJBLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBbUJEOztLQUVDO0lBQ0QsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakYsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztLQUVDO0lBQ0QsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRDs7O0tBR0M7SUFDRCxhQUFhLENBQUMsQ0FBZ0I7UUFDNUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ2QsMEJBQTBCLENBQUMsS0FBMEI7UUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOzhHQTFJVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwrK0VBWm5CO1lBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTtZQUMxRCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7WUFDbkUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQ25FLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTtZQUNsRTtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsbUVBUVUsa0JBQWtCLHFGQ3JGL0IsdzdEQW1Dc0Q7OzJGRDRDekMsbUJBQW1CO2tCQTlDL0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFVBQ3pCO3dCQUNOLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxNQUFNO3dCQUNOLElBQUk7d0JBQ0osYUFBYTt3QkFDYixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsTUFBTTt3QkFDTixjQUFjO3dCQUNkLE1BQU07cUJBQ1AsV0FDUTt3QkFDUCxRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsU0FBUzt3QkFDVCxZQUFZO3FCQUNiLGFBQ1U7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcscUJBQXFCLEVBQUU7d0JBQzFELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcscUJBQXFCLEVBQUU7d0JBQ25FLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcscUJBQXFCLEVBQUU7d0JBQ25FLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcscUJBQXFCLEVBQUU7d0JBQ2xFOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3REFTRCxPQUFPO3NCQUROLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU8vQyxVQUFVO3NCQURULEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ2xlYXJhYmxlQ29tcG9uZW50LFxuICBBWENvbXBvbmVudCxcbiAgQVhEYXRhU291cmNlLFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1ZUNoYW5nZWRFdmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuaW1wb3J0IHsgQVhUZXh0Qm94Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IENPVU5UUklFUywgQ291bnRyeUl0ZW0gfSBmcm9tICdAYWNvcmV4L2NvcmUvY29tbW9uJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5XG4gKiBBIGNvbXBvbmVudCB0aGF0IGhhbmRsZXMgcGhvbmUgbnVtYmVyIGlucHV0IHdpdGggdmFyaW91cyBjb25maWd1cmF0aW9ucy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcGhvbmUtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bob25lLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLWJveC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICBpbnB1dHM6IFtcbiAgICAnZGlzYWJsZWQnLFxuICAgICd0YWJJbmRleCcsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAndmFsdWUnLFxuICAgICdzdGF0ZScsXG4gICAgJ25hbWUnLFxuICAgICdpZCcsXG4gICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAnbWF4TGVuZ3RoJyxcbiAgICAnYWxsb3dOdWxsJyxcbiAgICAndHlwZScsXG4gICAgJ2F1dG9Db21wbGV0ZScsXG4gICAgJ2xvb2snLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICd2YWx1ZUNoYW5nZScsXG4gICAgJ3N0YXRlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgICAnb25LZXlEb3duJyxcbiAgICAnb25LZXlVcCcsXG4gICAgJ29uS2V5UHJlc3MnLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhQaG9uZUJveENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBob25lQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGhvbmVCb3hDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBob25lQm94Q29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFBob25lQm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUGhvbmVCb3hDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8c3RyaW5nPiwgTVhMb29rQ29tcG9uZW50KSB7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIF91cGRhdGVPbjogJ2NoYW5nZScgfCAnYmx1cicgfCAnc3VibWl0JyA9ICdjaGFuZ2UnO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBWaWV3Q2hpbGQoQVhUZXh0Qm94Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0ZXh0Ym94OiBBWFRleHRCb3hDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICogQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgnY2xhc3MnKVxuICBjbGFzc05hbWVzOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICogVGhlIGRlZmF1bHQgY291bnRyeSB2YWx1ZSBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGNvdW50cnkgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICAgIC8qKlxuICAgKiBMaXN0IG9mIGluY2x1ZGVkIHZhbHVlcyBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGluY2x1ZGVkID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcblxuICAgLyoqXG4gICAqIExpc3Qgb2YgZXhjbHVkZWQgdmFsdWVzIGZvciB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgZXhjbHVkZWQgPSBpbnB1dDxzdHJpbmdbXT4oW10pO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjb3VudHJpZXM6IFdyaXRhYmxlU2lnbmFsPENvdW50cnlJdGVtW10+ID0gc2lnbmFsKFtdKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb3VudHJ5OiBXcml0YWJsZVNpZ25hbDxDb3VudHJ5SXRlbT4gPSBzaWduYWwobnVsbCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVNb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMuY29tbWl0VmFsdWUodmFsdWUsIHRydWUpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGRhdGFTb3VyY2UgPSBuZXcgQVhEYXRhU291cmNlPENvdW50cnlJdGVtPih7XG4gICAgcGFnZVNpemU6IDEwLFxuICAgIGxvYWQ6IChlKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuY291bnRyaWVzKCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGUuZmlsdGVyXG4gICAgICAgICAgPyBmaWx0ZXIoXG4gICAgICAgICAgICAgIGxpc3QsXG4gICAgICAgICAgICAgIChjKSA9PlxuICAgICAgICAgICAgICAgIGMubmFtZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKChlLmZpbHRlci52YWx1ZSBhcyBzdHJpbmcpLnRvVXBwZXJDYXNlKCkpIHx8XG4gICAgICAgICAgICAgICAgYy5pc28yY29kZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKChlLmZpbHRlci52YWx1ZSBhcyBzdHJpbmcpLnRvVXBwZXJDYXNlKCkpIHx8XG4gICAgICAgICAgICAgICAgYy5jb2RlLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoKGUuZmlsdGVyLnZhbHVlIGFzIHN0cmluZykudG9VcHBlckNhc2UoKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBsaXN0O1xuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICBpdGVtczogcmVzdWx0LnNsaWNlKGUuc2tpcCwgZS5za2lwICsgZS50YWtlKSxcbiAgICAgICAgICB0b3RhbDogcmVzdWx0Lmxlbmd0aCxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICB9KTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQ291bnRyeU9uQ2xvc2VkKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50ZXh0Ym94Py5mb2N1cygpO1xuICAgIH0sIDMwMCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgdGhpcy5zZXRDb3VudHJpZXMoKTtcbiAgICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAqIERldGVybWluZXMgaWYgdGhlIGtleWJvYXJkIGV2ZW50IGlzIGEgdmFsaWQgYWN0aW9uIGJhc2VkIG9uIGFsbG93ZWQga2V5cyBhbmQga2V5IGNvZGVzLlxuICovXG4gIGlzVmFsaWRLZXlib2FyZEFjdGlvbiA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIGNvbnN0IF9jb2RlID0gcGFyc2VJbnQoZXZlbnQua2V5KTtcblxuICAgIGNvbnN0IEFMTE9XRURfS0VZID0gWydCYWNrc3BhY2UnLCAnQXJyb3dVcCcsICdBcnJvd0Rvd24nLCAnQXJyb3dSaWdodCcsICdBcnJvd0xlZnQnLCAnVGFiJ107XG5cbiAgICBjb25zdCBJU19DVFJMX0EgPSAoKSA9PiAoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXkgPT09ICdhJykgfHwgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQua2V5ID09PSAnQScpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICBpZiAoKF9jb2RlID49IDAgJiYgX2NvZGUgPD0gOSkgfHwgQUxMT1dFRF9LRVkuaW5jbHVkZXMoZXZlbnQua2V5KSB8fCBJU19DVFJMX0EoKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gKiBVcGRhdGVzIHRoZSBsaXN0IG9mIGNvdW50cmllcyBiYXNlZCBvbiBpbmNsdWRlZCBvciBleGNsdWRlZCBjb2Rlcy5cbiAqL1xuICBzZXRDb3VudHJpZXMoKSB7XG4gICAgaWYgKHRoaXMuaW5jbHVkZWQoKS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY291bnRyaWVzLnNldChDT1VOVFJJRVMuZmlsdGVyKChjKSA9PiB0aGlzLmluY2x1ZGVkKCkuaW5jbHVkZXMoYy5jb2RlKSkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5leGNsdWRlZCgpLmxlbmd0aCkge1xuICAgICAgdGhpcy5jb3VudHJpZXMuc2V0KENPVU5UUklFUy5maWx0ZXIoKGMpID0+ICF0aGlzLmV4Y2x1ZGVkKCkuaW5jbHVkZXMoYy5jb2RlKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvdW50cmllcy5zZXQoQ09VTlRSSUVTKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAqIFNldHMgdGhlIGRlZmF1bHQgc2VsZWN0ZWQgY291bnRyeSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY291bnRyeSBjb2RlIG9yIHRoZSBmaXJzdCBjb3VudHJ5IGluIHRoZSBsaXN0LlxuICovXG4gIHNldERlZmF1bHRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5jb3VudHJ5KCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5LnNldCh0aGlzLmNvdW50cmllcygpLmZpbmQoKGMpID0+IGMuY29kZSA9PT0gdGhpcy5jb3VudHJ5KCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkuc2V0KHRoaXMuY291bnRyaWVzKClbMF0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICogSGFuZGxlcyBrZXkgZG93biBldmVudHMsIGVtaXR0aW5nIGFuIGV2ZW50IGlmIHRoZSBrZXkgYWN0aW9uIGlzIHZhbGlkLCBvdGhlcndpc2UgcHJldmVudHMgZGVmYXVsdCBiZWhhdmlvciBhbmQgc3RvcHMgcHJvcGFnYXRpb24uXG4gKiBAcGFyYW0gZVxuICovXG4gIGhhbmRsZUtleURvd24oZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlzVmFsaWRLZXlib2FyZEFjdGlvbihlKSkge1xuICAgICAgdGhpcy5lbWl0T25LZXlkb3duRXZlbnQoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgX2hhbmRsZUNvdW50cnlWYWx1ZUNoYW5nZWQoZXZlbnQ6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ291bnRyeS5zZXQoZXZlbnQuY29tcG9uZW50LnNlbGVjdGVkSXRlbXNbMF0pO1xuICB9XG59XG4iLCI8YXgtdGV4dC1ib3ggZGlyPVwibHRyXCIgW2xvb2tdPVwibG9va1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gIFttYXNrLW9wdGlvbnNdPVwieyBtYXNrOiBzZWxlY3RlZENvdW50cnkoKT8uZm9ybWF0IH1cIiBbcGxhY2Vob2xkZXJdPVwic2VsZWN0ZWRDb3VudHJ5KCk/LmZvcm1hdFwiIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAob25CbHVyKT1cImVtaXRPbkJsdXJFdmVudCgkZXZlbnQubmF0aXZlRXZlbnQpXCIgKG9uRm9jdXMpPVwiZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQubmF0aXZlRXZlbnQpXCJcbiAgKG9uS2V5RG93bik9XCJlbWl0T25LZXlkb3duRXZlbnQoJGV2ZW50Lm5hdGl2ZUV2ZW50KVwiIChvbktleVByZXNzKT1cImVtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50Lm5hdGl2ZUV2ZW50KVwiXG4gIChvbktleVVwKT1cImVtaXRPbktleXVwRXZlbnQoJGV2ZW50Lm5hdGl2ZUV2ZW50KVwiPlxuICA8YXgtcHJlZml4PlxuICAgIDxheC1zZWxlY3QtYm94ICNzIGxvb2s9XCJibGFua1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkcm9wZG93bldpZHRoXT1cIjMyMFwiXG4gICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgW25nTW9kZWxdPVwic2VsZWN0ZWRDb3VudHJ5KClcIiBbdGV4dEZpZWxkXT1cIidpc28yY29kZSdcIiBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgW3ZhbHVlRmllbGRdPVwiJ2NvZGUnXCIgW2l0ZW1UZW1wbGF0ZV09XCJjdXN0b21JdGVtVGVtcGxhdGVcIiBbc2VsZWN0ZWRUZW1wbGF0ZV09XCJzZWxlY3RlZFRlbXBsYXRlXCJcbiAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlQ291bnRyeVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCIgKG9uQ2xvc2VkKT1cImhhbmRsZUNvdW50cnlPbkNsb3NlZCgpXCI+XG4gICAgICA8YXgtc2VhcmNoLWJveCBjbGFzcz1cImF4LXNtXCIgbG9vaz1cImZpbGxcIj5cbiAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgIDwvYXgtc2VhcmNoLWJveD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tSXRlbVRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY291bnRyeS1pdGVtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvdW50cnktZmxhZ1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogaXRlbS5kYXRhLmJrUG9zaXRpb24/LnggKyAnICcgKyBpdGVtLmRhdGEuYmtQb3NpdGlvbj8ueSB9XCI+PC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY291bnRyeS1uYW1lXCI+e3sgaXRlbS5kYXRhLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWlzbzJjb2RlXCI+e3sgaXRlbS5kYXRhLmlzbzJjb2RlIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdGVkVGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1zZWxlY3RlZC1jb3VudHJ5XCI+XG4gICAgICAgICAgPHNwYW4+e3sgaXRlbS5kYXRhLmlzbzJjb2RlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmc+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2F4LXNlbGVjdC1ib3g+XG4gIDwvYXgtcHJlZml4PlxuPC9heC10ZXh0LWJveD5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2xlYXItYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD4iXX0=
@@ -21,8 +21,8 @@ const MODULES = [
21
21
  AXTextBoxModule,
22
22
  ];
23
23
  export class AXPhoneBoxModule {
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPhoneBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXPhoneBoxModule, declarations: [AXPhoneBoxComponent], imports: [CommonModule,
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPhoneBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPhoneBoxModule, declarations: [AXPhoneBoxComponent], imports: [CommonModule,
26
26
  FormsModule,
27
27
  IMaskModule,
28
28
  AXSelectBoxModule,
@@ -30,9 +30,9 @@ export class AXPhoneBoxModule {
30
30
  AXDecoratorModule,
31
31
  AXButtonModule,
32
32
  AXTextBoxModule], exports: [AXPhoneBoxComponent] }); }
33
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPhoneBoxModule, imports: [MODULES] }); }
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPhoneBoxModule, imports: [MODULES] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPhoneBoxModule, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPhoneBoxModule, decorators: [{
36
36
  type: NgModule,
37
37
  args: [{
38
38
  declarations: [...COMPONENT],
@@ -27,8 +27,8 @@ export class AXPickerColumnDirective extends MXValueComponent {
27
27
  return this.items.find((c) => c[this.valueField] == v);
28
28
  }
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPickerColumnDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: AXPickerColumnDirective, selector: "ax-picker-column", inputs: { disabled: "disabled", readonly: "readonly", readonlyChange: "readonlyChange", disabledChange: "disabledChange", valueField: "valueField", textField: "textField", title: "title", step: "step", items: "items" }, outputs: { onValueChanged: "onValueChanged", itemsChange: "itemsChange" }, providers: [
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPickerColumnDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: AXPickerColumnDirective, selector: "ax-picker-column", inputs: { disabled: "disabled", readonly: "readonly", readonlyChange: "readonlyChange", disabledChange: "disabledChange", valueField: "valueField", textField: "textField", title: "title", step: "step", items: "items" }, outputs: { onValueChanged: "onValueChanged", itemsChange: "itemsChange" }, providers: [
32
32
  {
33
33
  provide: NG_VALUE_ACCESSOR,
34
34
  useExisting: forwardRef(() => AXPickerColumnDirective),
@@ -36,7 +36,7 @@ export class AXPickerColumnDirective extends MXValueComponent {
36
36
  },
37
37
  ], usesInheritance: true, ngImport: i0 }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPickerColumnDirective, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPickerColumnDirective, decorators: [{
40
40
  type: Directive,
41
41
  args: [{
42
42
  selector: 'ax-picker-column',
@@ -4,15 +4,25 @@ import { ChangeDetectionStrategy, Component, ContentChildren, NgZone, QueryList,
4
4
  import { startWith } from 'rxjs';
5
5
  import { AXPickerColumnDirective } from './picker-column.directive';
6
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * @category Components
9
+ * A picker component with OnPush change detection and no encapsulation.
10
+ */
7
11
  export class AXPickerComponent extends MXBaseComponent {
8
12
  constructor() {
9
13
  super(...arguments);
14
+ /** @ignore */
10
15
  this._columns = {};
16
+ /** @ignore */
11
17
  this._itemHeight = this._calcItemheight();
18
+ /** @ignore */
12
19
  this._dragging = false;
20
+ /** @ignore */
13
21
  this._unsubscriber = inject(AXUnsubscriber);
22
+ /** @ignore */
14
23
  this._zone = inject(NgZone);
15
24
  }
25
+ /** @ignore */
16
26
  ngAfterContentInit() {
17
27
  this._columns.changes
18
28
  .pipe(this._unsubscriber.takeUntilDestroy)
@@ -23,9 +33,11 @@ export class AXPickerComponent extends MXBaseComponent {
23
33
  this._bindEvents();
24
34
  });
25
35
  }
36
+ /** @ignore */
26
37
  ngOnDestroy() {
27
38
  this._removeEvents();
28
39
  }
40
+ /** @ignore */
29
41
  _setHeights() {
30
42
  this._itemHeight = this._calcItemheight();
31
43
  setTimeout(() => {
@@ -33,10 +45,12 @@ export class AXPickerComponent extends MXBaseComponent {
33
45
  this.getHostElement().style.setProperty('--ax-content-height', `${val}px`);
34
46
  }, 50);
35
47
  }
48
+ /** @ignore */
36
49
  _calcItemheight() {
37
50
  const rem = window.getComputedStyle(document.documentElement, null).getPropertyValue('--ax-size-default');
38
51
  return AXDrawingUtil.convertRemToPixels(Number(rem?.replace('rem', '') ?? 0));
39
52
  }
53
+ /** @ignore */
40
54
  _bindEvents() {
41
55
  this._removeEvents();
42
56
  //
@@ -68,6 +82,7 @@ export class AXPickerComponent extends MXBaseComponent {
68
82
  //col.addEventListener('mouseup', this._handleTouchMove.bind(this), { passive: false })
69
83
  });
70
84
  }
85
+ /** @ignore */
71
86
  _removeEvents() {
72
87
  this._htmlColumns?.forEach((col) => {
73
88
  col.removeEventListener('wheel', this._handleMouseWeel.bind(this));
@@ -81,12 +96,14 @@ export class AXPickerComponent extends MXBaseComponent {
81
96
  //col.removeEventListener('mouseup', this._handleTouchEnd.bind(this));
82
97
  });
83
98
  }
99
+ /** @ignore */
84
100
  _handleTouchStart(e) {
85
101
  e.preventDefault();
86
102
  e.stopPropagation();
87
103
  this._currentList = e.currentTarget;
88
104
  this._previousY = e instanceof TouchEvent ? e.touches[0].clientY : e.clientY;
89
105
  }
106
+ /** @ignore */
90
107
  _handleTouchMove(e) {
91
108
  this._dragging = true;
92
109
  e.preventDefault();
@@ -101,6 +118,7 @@ export class AXPickerComponent extends MXBaseComponent {
101
118
  }
102
119
  });
103
120
  }
121
+ /** @ignore */
104
122
  _handleTouchEnd(e) {
105
123
  // simulate click
106
124
  const targetelement = e.target;
@@ -109,11 +127,13 @@ export class AXPickerComponent extends MXBaseComponent {
109
127
  }
110
128
  this._dragging = false;
111
129
  }
130
+ /** @ignore */
112
131
  _handleMouseWeel(e) {
113
132
  e.preventDefault();
114
133
  e.stopPropagation();
115
134
  this._moveByDelta(e.currentTarget, e.deltaY);
116
135
  }
136
+ /** @ignore */
117
137
  _moveByDelta(col, deltaY) {
118
138
  const column = col['column'];
119
139
  if (column.readonly || column.disabled)
@@ -126,11 +146,13 @@ export class AXPickerComponent extends MXBaseComponent {
126
146
  index = column.items.length - 1;
127
147
  column.commitValue(column.items[index], true);
128
148
  }
149
+ /** @ignore */
129
150
  _handleItemClick(column, item) {
130
151
  if (column.readonly || column.disabled)
131
152
  return;
132
153
  column.commitValue(item, true);
133
154
  }
155
+ /** @ignore */
134
156
  _detectSelectedItemsByValue() {
135
157
  this._zone.runOutsideAngular(() => {
136
158
  this._htmlColumns.forEach((col) => {
@@ -141,18 +163,21 @@ export class AXPickerComponent extends MXBaseComponent {
141
163
  });
142
164
  });
143
165
  }
166
+ /**
167
+ * Refreshes the component by setting heights and detecting selected items by value.
168
+ */
144
169
  refresh() {
145
170
  this._setHeights();
146
171
  this._detectSelectedItemsByValue();
147
172
  }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPickerComponent, selector: "ax-picker", providers: [AXUnsubscriber], queries: [{ propertyName: "_columns", predicate: AXPickerColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-header\">\n @for(col of _columns; track $index){\n <div class=\"ax-picker-col\">\n <div class=\"ax-header\">\n {{ col.title }}\n </div>\n </div>\n }\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-picker-window\"></div>\n @for(col of _columns; track $index){\n <div class=\"ax-picker-col\" [class.ax-state-disabled]=\"col.disabled\" [class.ax-state-readonly]=\"col.readonly\">\n <div class=\"ax-content\">\n <ul>\n @for(item of col.items; track $index){\n <li (click)=\"_handleItemClick(col, item)\"\n [class.ax-state-active]=\"col.value && col.value[col.valueField] === item[col.valueField]\"\n [class.ax-state-disabled]=\"col.disabled\" [class.ax-state-readonly]=\"col.readonly\">\n {{ item[col.textField] }}\n </li>\n }\n </ul>\n </div>\n </div>\n }\n\n</div>", styles: ["ax-picker{display:flex;width:100%;flex-direction:column;direction:ltr!important;--ax-item-height: var(--ax-size-default);--ax-content-height: 302px;--ax-content-pad: calc((var(--ax-content-height) - var(--ax-item-height)) / 2)}ax-picker>.ax-header,ax-picker>.ax-content{display:flex;width:100%}ax-picker>.ax-header .ax-picker-col,ax-picker>.ax-content .ax-picker-col{display:flex;flex:1 1 0%;flex-direction:column;text-align:center}ax-picker>.ax-header{padding:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-picker>.ax-content{position:relative;flex:1 1 0%}ax-picker>.ax-content .ax-picker-window{height:calc(var(--ax-item-height));pointer-events:none;position:absolute;inset-inline-start:0px;top:50%;width:100%;transform:translateY(-50%);border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface))}ax-picker>.ax-content .ax-picker-col{display:flex;height:100%;flex:1 1 0%;cursor:pointer;flex-direction:column;justify-content:center;text-align:center}ax-picker>.ax-content .ax-picker-col.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-picker>.ax-content .ax-picker-col.ax-state-readonly{cursor:text;opacity:.75}ax-picker>.ax-content .ax-picker-col:hover:not(.ax-state-disabled,.ax-state-readonly){background-color:rgba(var(--ax-color-on-surface))}ax-picker>.ax-content .ax-picker-col>.ax-content{font-feature-settings:\"tnum\";touch-action:pan-y!important;position:relative;flex:1 1 0%;overflow:hidden;font-weight:400}ax-picker>.ax-content .ax-picker-col>.ax-content:before,ax-picker>.ax-content .ax-picker-col>.ax-content:after{height:var(--ax-content-pad);pointer-events:none;position:absolute;inset-inline-start:0px;z-index:10;width:100%;content:\"\"}ax-picker>.ax-content .ax-picker-col>.ax-content:before{top:0;background:linear-gradient(rgba(var(--ax-color-surface)),rgba(var(--ax-color-surface),.3))}ax-picker>.ax-content .ax-picker-col>.ax-content:after{bottom:0;background:linear-gradient(rgba(var(--ax-color-surface),.3),rgba(var(--ax-color-surface)))}ax-picker>.ax-content .ax-picker-col>.ax-content>ul{transition:transform .1s ease 0s;height:var(--ax-content-height);padding-block:var(--ax-content-pad);will-change:transform}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li{height:calc(var(--ax-item-height));scroll-snap-align:center;display:flex;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;font-size:1rem;line-height:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li:hover:not(.ax-state-disabled,.ax-state-readonly,.ax-state-active){color:rgba(var(--ax-color-primary-500))}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li.ax-state-active{background-color:rgba(var(--ax-color-primary-200));font-size:1.125rem;line-height:1.75rem;font-weight:500;color:rgba(var(--ax-color-primary-fore-tint))}ax-picker>.ax-content .ax-picker-col:not(:last-child){border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
174
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPickerComponent, selector: "ax-picker", providers: [AXUnsubscriber], queries: [{ propertyName: "_columns", predicate: AXPickerColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-header\">\n @for(col of _columns; track $index){\n <div class=\"ax-picker-col\">\n <div class=\"ax-header\">\n {{ col.title }}\n </div>\n </div>\n }\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-picker-window\"></div>\n @for(col of _columns; track $index){\n <div class=\"ax-picker-col\" [class.ax-state-disabled]=\"col.disabled\" [class.ax-state-readonly]=\"col.readonly\">\n <div class=\"ax-content\">\n <ul>\n @for(item of col.items; track $index){\n <li (click)=\"_handleItemClick(col, item)\"\n [class.ax-state-active]=\"col.value && col.value[col.valueField] === item[col.valueField]\"\n [class.ax-state-disabled]=\"col.disabled\" [class.ax-state-readonly]=\"col.readonly\">\n {{ item[col.textField] }}\n </li>\n }\n </ul>\n </div>\n </div>\n }\n\n</div>", styles: ["ax-picker{display:flex;width:100%;flex-direction:column;direction:ltr!important;--ax-item-height: var(--ax-size-default);--ax-content-height: 302px;--ax-content-pad: calc((var(--ax-content-height) - var(--ax-item-height)) / 2)}ax-picker>.ax-header,ax-picker>.ax-content{display:flex;width:100%}ax-picker>.ax-header .ax-picker-col,ax-picker>.ax-content .ax-picker-col{display:flex;flex:1 1 0%;flex-direction:column;text-align:center}ax-picker>.ax-header{padding:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-picker>.ax-content{position:relative;flex:1 1 0%}ax-picker>.ax-content .ax-picker-window{height:calc(var(--ax-item-height));pointer-events:none;position:absolute;inset-inline-start:0px;top:50%;width:100%;transform:translateY(-50%);border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface))}ax-picker>.ax-content .ax-picker-col{display:flex;height:100%;flex:1 1 0%;cursor:pointer;flex-direction:column;justify-content:center;text-align:center}ax-picker>.ax-content .ax-picker-col.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-picker>.ax-content .ax-picker-col.ax-state-readonly{cursor:text;opacity:.75}ax-picker>.ax-content .ax-picker-col:hover:not(.ax-state-disabled,.ax-state-readonly){background-color:rgba(var(--ax-color-on-surface))}ax-picker>.ax-content .ax-picker-col>.ax-content{font-feature-settings:\"tnum\";touch-action:pan-y!important;position:relative;flex:1 1 0%;overflow:hidden;font-weight:400}ax-picker>.ax-content .ax-picker-col>.ax-content:before,ax-picker>.ax-content .ax-picker-col>.ax-content:after{height:var(--ax-content-pad);pointer-events:none;position:absolute;inset-inline-start:0px;z-index:10;width:100%;content:\"\"}ax-picker>.ax-content .ax-picker-col>.ax-content:before{top:0;background:linear-gradient(rgba(var(--ax-color-surface)),rgba(var(--ax-color-surface),.3))}ax-picker>.ax-content .ax-picker-col>.ax-content:after{bottom:0;background:linear-gradient(rgba(var(--ax-color-surface),.3),rgba(var(--ax-color-surface)))}ax-picker>.ax-content .ax-picker-col>.ax-content>ul{transition:transform .1s ease 0s;height:var(--ax-content-height);padding-block:var(--ax-content-pad);will-change:transform}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li{height:calc(var(--ax-item-height));scroll-snap-align:center;display:flex;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;font-size:1rem;line-height:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li:hover:not(.ax-state-disabled,.ax-state-readonly,.ax-state-active){color:rgba(var(--ax-color-primary-500))}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li.ax-state-active{background-color:rgba(var(--ax-color-primary-200));font-size:1.125rem;line-height:1.75rem;font-weight:500;color:rgba(var(--ax-color-primary-fore-tint))}ax-picker>.ax-content .ax-picker-col:not(:last-child){border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
150
175
  }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPickerComponent, decorators: [{
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPickerComponent, decorators: [{
152
177
  type: Component,
153
178
  args: [{ selector: 'ax-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [AXUnsubscriber], template: "<div class=\"ax-header\">\n @for(col of _columns; track $index){\n <div class=\"ax-picker-col\">\n <div class=\"ax-header\">\n {{ col.title }}\n </div>\n </div>\n }\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-picker-window\"></div>\n @for(col of _columns; track $index){\n <div class=\"ax-picker-col\" [class.ax-state-disabled]=\"col.disabled\" [class.ax-state-readonly]=\"col.readonly\">\n <div class=\"ax-content\">\n <ul>\n @for(item of col.items; track $index){\n <li (click)=\"_handleItemClick(col, item)\"\n [class.ax-state-active]=\"col.value && col.value[col.valueField] === item[col.valueField]\"\n [class.ax-state-disabled]=\"col.disabled\" [class.ax-state-readonly]=\"col.readonly\">\n {{ item[col.textField] }}\n </li>\n }\n </ul>\n </div>\n </div>\n }\n\n</div>", styles: ["ax-picker{display:flex;width:100%;flex-direction:column;direction:ltr!important;--ax-item-height: var(--ax-size-default);--ax-content-height: 302px;--ax-content-pad: calc((var(--ax-content-height) - var(--ax-item-height)) / 2)}ax-picker>.ax-header,ax-picker>.ax-content{display:flex;width:100%}ax-picker>.ax-header .ax-picker-col,ax-picker>.ax-content .ax-picker-col{display:flex;flex:1 1 0%;flex-direction:column;text-align:center}ax-picker>.ax-header{padding:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-picker>.ax-content{position:relative;flex:1 1 0%}ax-picker>.ax-content .ax-picker-window{height:calc(var(--ax-item-height));pointer-events:none;position:absolute;inset-inline-start:0px;top:50%;width:100%;transform:translateY(-50%);border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface))}ax-picker>.ax-content .ax-picker-col{display:flex;height:100%;flex:1 1 0%;cursor:pointer;flex-direction:column;justify-content:center;text-align:center}ax-picker>.ax-content .ax-picker-col.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-picker>.ax-content .ax-picker-col.ax-state-readonly{cursor:text;opacity:.75}ax-picker>.ax-content .ax-picker-col:hover:not(.ax-state-disabled,.ax-state-readonly){background-color:rgba(var(--ax-color-on-surface))}ax-picker>.ax-content .ax-picker-col>.ax-content{font-feature-settings:\"tnum\";touch-action:pan-y!important;position:relative;flex:1 1 0%;overflow:hidden;font-weight:400}ax-picker>.ax-content .ax-picker-col>.ax-content:before,ax-picker>.ax-content .ax-picker-col>.ax-content:after{height:var(--ax-content-pad);pointer-events:none;position:absolute;inset-inline-start:0px;z-index:10;width:100%;content:\"\"}ax-picker>.ax-content .ax-picker-col>.ax-content:before{top:0;background:linear-gradient(rgba(var(--ax-color-surface)),rgba(var(--ax-color-surface),.3))}ax-picker>.ax-content .ax-picker-col>.ax-content:after{bottom:0;background:linear-gradient(rgba(var(--ax-color-surface),.3),rgba(var(--ax-color-surface)))}ax-picker>.ax-content .ax-picker-col>.ax-content>ul{transition:transform .1s ease 0s;height:var(--ax-content-height);padding-block:var(--ax-content-pad);will-change:transform}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li{height:calc(var(--ax-item-height));scroll-snap-align:center;display:flex;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;font-size:1rem;line-height:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li:hover:not(.ax-state-disabled,.ax-state-readonly,.ax-state-active){color:rgba(var(--ax-color-primary-500))}ax-picker>.ax-content .ax-picker-col>.ax-content>ul li.ax-state-active{background-color:rgba(var(--ax-color-primary-200));font-size:1.125rem;line-height:1.75rem;font-weight:500;color:rgba(var(--ax-color-primary-fore-tint))}ax-picker>.ax-content .ax-picker-col:not(:last-child){border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default))}\n"] }]
154
179
  }], propDecorators: { _columns: [{
155
180
  type: ContentChildren,
156
181
  args: [AXPickerColumnDirective, { emitDistinctChangesOnly: true }]
157
182
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waWNrZXIvc3JjL2xpYi9waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BpY2tlci9zcmMvbGliL3BpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBVXBFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBUnREOztRQVVZLGFBQVEsR0FBdUMsRUFBd0MsQ0FBQztRQUUxRixnQkFBVyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVyQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSWhCLGtCQUFhLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RCxVQUFLLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBK0kxQztJQTdJQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO2FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFD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TUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQTRCLENBQUM7Z0JBQ3hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxDQUFDO2dCQUN2RixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzhHQXpKVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixvQ0FGakIsQ0FBQyxjQUFjLENBQUMsbURBR1YsdUJBQXVCLG9EQ3pCMUMsNjJCQTJCTTs7MkZESE8saUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLGNBQWMsQ0FBQzs4QkFJakIsUUFBUTtzQkFEakIsZUFBZTt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhEcmF3aW5nVXRpbCwgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQaWNrZXJDb2x1bW5EaXJlY3RpdmUgfSBmcm9tICcuL3BpY2tlci1jb2x1bW4uZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQVhVbnN1YnNjcmliZXJdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBpY2tlckNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGRyZW4oQVhQaWNrZXJDb2x1bW5EaXJlY3RpdmUsIHsgZW1pdERpc3RpbmN0Q2hhbmdlc09ubHk6IHRydWUgfSlcbiAgcHJvdGVjdGVkIF9jb2x1bW5zOiBRdWVyeUxpc3Q8QVhQaWNrZXJDb2x1bW5EaXJlY3RpdmU+ID0ge30gYXMgUXVlcnlMaXN0PEFYUGlja2VyQ29sdW1uRGlyZWN0aXZlPjtcblxuICBwcml2YXRlIF9pdGVtSGVpZ2h0ID0gdGhpcy5fY2FsY0l0ZW1oZWlnaHQoKTtcbiAgcHJpdmF0ZSBfaHRtbENvbHVtbnM6IEhUTUxEaXZFbGVtZW50W107XG4gIHByaXZhdGUgX2RyYWdnaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgX3ByZXZpb3VzWTogbnVtYmVyO1xuICBwcml2YXRlIF9jdXJyZW50TGlzdDogSFRNTERpdkVsZW1lbnQ7XG5cbiAgcHJvdGVjdGVkIF91bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcbiAgcHJvdGVjdGVkIF96b25lOiBOZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5fY29sdW1ucy5jaGFuZ2VzXG4gICAgICAucGlwZSh0aGlzLl91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSlcbiAgICAgIC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NldEhlaWdodHMoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLl9iaW5kRXZlbnRzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3JlbW92ZUV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0SGVpZ2h0cygpIHtcbiAgICB0aGlzLl9pdGVtSGVpZ2h0ID0gdGhpcy5fY2FsY0l0ZW1oZWlnaHQoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGllbnRIZWlnaHQgLSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LWhlYWRlcicpLmNsaWVudEhlaWdodDtcbiAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1heC1jb250ZW50LWhlaWdodCcsIGAke3ZhbH1weGApO1xuICAgIH0sIDUwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGNJdGVtaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgY29uc3QgcmVtID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LXNpemUtZGVmYXVsdCcpO1xuICAgIHJldHVybiBBWERyYXdpbmdVdGlsLmNvbnZlcnRSZW1Ub1BpeGVscyhOdW1iZXIocmVtPy5yZXBsYWNlKCdyZW0nLCAnJykgPz8gMCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYmluZEV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW1vdmVFdmVudHMoKTtcbiAgICAvL1xuICAgIHRoaXMuX2h0bWxDb2x1bW5zID0gQXJyYXkuZnJvbSh0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbDxIVE1MRGl2RWxlbWVudD4oJy5heC1waWNrZXItY29sIC5heC1jb250ZW50JykpO1xuICAgIHRoaXMuX2NvbHVtbnMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgYy5vblZhbHVlQ2hhbmdlZC5waXBlKHRoaXMuX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9kZXRlY3RTZWxlY3RlZEl0ZW1zQnlWYWx1ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9odG1sQ29sdW1ucy5mb3JFYWNoKChjb2wsIGluZGV4KSA9PiB7XG4gICAgICBjb2xbJ2NvbHVtbiddID0gdGhpcy5fY29sdW1ucy5nZXQoaW5kZXgpO1xuICAgICAgY29sLmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgdGhpcy5faGFuZGxlTW91c2VXZWVsLmJpbmQodGhpcyksIHtcbiAgICAgICAgcGFzc2l2ZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICAgIC8vXG4gICAgICBjb2wuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQuYmluZCh0aGlzKSwge1xuICAgICAgICBwYXNzaXZlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgICAgLy9jb2wuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLl9oYW5kbGVUb3VjaFN0YXJ0LmJpbmQodGhpcyksIHsgcGFzc2l2ZTogZmFsc2UgfSk7XG4gICAgICAvL1xuICAgICAgY29sLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMuX2hhbmRsZVRvdWNoTW92ZS5iaW5kKHRoaXMpLCB7XG4gICAgICAgIHBhc3NpdmU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICAvL2NvbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLl9oYW5kbGVUb3VjaE1vdmUuYmluZCh0aGlzKSwgeyBwYXNzaXZlOiBmYWxzZSB9KVxuICAgICAgLy9cbiAgICAgIGNvbC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuX2hhbmRsZVRvdWNoRW5kLmJpbmQodGhpcyksIHtcbiAgICAgICAgcGFzc2l2ZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICAgIC8vY29sLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLl9oYW5kbGVUb3VjaE1vdmUuYmluZCh0aGlzKSwgeyBwYXNzaXZlOiBmYWxzZSB9KVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2h0bWxDb2x1bW5zPy5mb3JFYWNoKChjb2wpID0+IHtcbiAgICAgIGNvbC5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIHRoaXMuX2hhbmRsZU1vdXNlV2VlbC5iaW5kKHRoaXMpKTtcbiAgICAgIC8vXG4gICAgICBjb2wucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQuYmluZCh0aGlzKSk7XG4gICAgICAvL2NvbC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQuYmluZCh0aGlzKSk7XG4gICAgICBjb2wucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5faGFuZGxlVG91Y2hNb3ZlLmJpbmQodGhpcykpO1xuICAgICAgLy9jb2wucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5faGFuZGxlVG91Y2hNb3ZlLmJpbmQodGhpcykpO1xuICAgICAgLy9cbiAgICAgIGNvbC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuX2hhbmRsZVRvdWNoRW5kLmJpbmQodGhpcykpO1xuICAgICAgLy9jb2wucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuX2hhbmRsZVRvdWNoRW5kLmJpbmQodGhpcykpO1xuICAgIH0pO1xuICB9XG5cbiAgX2hhbmRsZVRvdWNoU3RhcnQoZTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl9jdXJyZW50TGlzdCA9IGUuY3VycmVudFRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICB0aGlzLl9wcmV2aW91c1kgPSBlIGluc3RhbmNlb2YgVG91Y2hFdmVudCA/IGUudG91Y2hlc1swXS5jbGllbnRZIDogZS5jbGllbnRZO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlVG91Y2hNb3ZlKGU6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZHJhZ2dpbmcgPSB0cnVlO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX2N1cnJlbnRMaXN0ICYmIHRoaXMuX2RyYWdnaW5nKSB7XG4gICAgICAgIGNvbnN0IGNsaWVudFkgPSBlIGluc3RhbmNlb2YgVG91Y2hFdmVudCA/IGUudG91Y2hlc1swXS5jbGllbnRZIDogZS5jbGllbnRZO1xuICAgICAgICBjb25zdCBkZWx0YSA9IGNsaWVudFkgLSB0aGlzLl9wcmV2aW91c1k7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzWSA9IGNsaWVudFk7XG4gICAgICAgIGlmIChNYXRoLmFicyhkZWx0YSkgPiAxKSB0aGlzLl9tb3ZlQnlEZWx0YSh0aGlzLl9jdXJyZW50TGlzdCwgLWRlbHRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVRvdWNoRW5kKGU6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgLy8gc2ltdWxhdGUgY2xpY2tcbiAgICBjb25zdCB0YXJnZXRlbGVtZW50ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKCF0aGlzLl9kcmFnZ2luZyAmJiB0YXJnZXRlbGVtZW50LnRhZ05hbWUgPT0gJ0xJJykge1xuICAgICAgdGFyZ2V0ZWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgICB0aGlzLl9kcmFnZ2luZyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlTW91c2VXZWVsKGU6IFdoZWVsRXZlbnQpOiB2b2lkIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl9tb3ZlQnlEZWx0YShlLmN1cnJlbnRUYXJnZXQgYXMgSFRNTERpdkVsZW1lbnQsIGUuZGVsdGFZKTtcbiAgfVxuXG4gIHByaXZhdGUgX21vdmVCeURlbHRhKGNvbDogSFRNTERpdkVsZW1lbnQsIGRlbHRhWTogbnVtYmVyKSB7XG4gICAgY29uc3QgY29sdW1uID0gY29sWydjb2x1bW4nXSBhcyBBWFBpY2tlckNvbHVtbkRpcmVjdGl2ZTtcbiAgICBpZiAoY29sdW1uLnJlYWRvbmx5IHx8IGNvbHVtbi5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGxldCBpbmRleCA9IGNvbHVtbi5pdGVtcy5pbmRleE9mKGNvbHVtbi52YWx1ZSk7XG4gICAgaW5kZXggPSBkZWx0YVkgPCAwID8gaW5kZXggLSBjb2x1bW4uc3RlcCA6IGluZGV4ICsgY29sdW1uLnN0ZXA7XG4gICAgaWYgKGluZGV4IDwgMCkgaW5kZXggPSAwO1xuICAgIGlmIChpbmRleCA+PSBjb2x1bW4uaXRlbXMubGVuZ3RoKSBpbmRleCA9IGNvbHVtbi5pdGVtcy5sZW5ndGggLSAxO1xuICAgIGNvbHVtbi5jb21taXRWYWx1ZShjb2x1bW4uaXRlbXNbaW5kZXhdLCB0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlSXRlbUNsaWNrKGNvbHVtbjogQVhQaWNrZXJDb2x1bW5EaXJlY3RpdmUsIGl0ZW06IGFueSkge1xuICAgIGlmIChjb2x1bW4ucmVhZG9ubHkgfHwgY29sdW1uLmRpc2FibGVkKSByZXR1cm47XG4gICAgY29sdW1uLmNvbW1pdFZhbHVlKGl0ZW0sIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0ZWN0U2VsZWN0ZWRJdGVtc0J5VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLl9odG1sQ29sdW1ucy5mb3JFYWNoKChjb2wpID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gY29sWydjb2x1bW4nXSBhcyBBWFBpY2tlckNvbHVtbkRpcmVjdGl2ZTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBjb2x1bW4uaXRlbXMuaW5kZXhPZihjb2x1bW4udmFsdWUpO1xuICAgICAgICBjb2wucXVlcnlTZWxlY3RvcigndWwnKS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgkey1pbmRleCAqIHRoaXMuX2l0ZW1IZWlnaHR9cHgpYDtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCkge1xuICAgIHRoaXMuX3NldEhlaWdodHMoKTtcbiAgICB0aGlzLl9kZXRlY3RTZWxlY3RlZEl0ZW1zQnlWYWx1ZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtaGVhZGVyXCI+XG4gIEBmb3IoY29sIG9mIF9jb2x1bW5zOyB0cmFjayAkaW5kZXgpe1xuICA8ZGl2IGNsYXNzPVwiYXgtcGlja2VyLWNvbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1oZWFkZXJcIj5cbiAgICAgIHt7IGNvbC50aXRsZSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYXgtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtcGlja2VyLXdpbmRvd1wiPjwvZGl2PlxuICBAZm9yKGNvbCBvZiBfY29sdW1uczsgdHJhY2sgJGluZGV4KXtcbiAgPGRpdiBjbGFzcz1cImF4LXBpY2tlci1jb2xcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiY29sLmRpc2FibGVkXCIgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cImNvbC5yZWFkb25seVwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb250ZW50XCI+XG4gICAgICA8dWw+XG4gICAgICAgIEBmb3IoaXRlbSBvZiBjb2wuaXRlbXM7IHRyYWNrICRpbmRleCl7XG4gICAgICAgIDxsaSAoY2xpY2spPVwiX2hhbmRsZUl0ZW1DbGljayhjb2wsIGl0ZW0pXCJcbiAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtYWN0aXZlXT1cImNvbC52YWx1ZSAmJiBjb2wudmFsdWVbY29sLnZhbHVlRmllbGRdID09PSBpdGVtW2NvbC52YWx1ZUZpZWxkXVwiXG4gICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImNvbC5kaXNhYmxlZFwiIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJjb2wucmVhZG9ubHlcIj5cbiAgICAgICAgICB7eyBpdGVtW2NvbC50ZXh0RmllbGRdIH19XG4gICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICB9XG5cbjwvZGl2PiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waWNrZXIvc3JjL2xpYi9waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BpY2tlci9zcmMvbGliL3BpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRXBFOzs7R0FHRztBQVNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBUnREOztRQVVFLGNBQWM7UUFJSixhQUFRLEdBQXVDLEVBQXdDLENBQUM7UUFFbEcsY0FBYztRQUNOLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBSzdDLGNBQWM7UUFDTixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBUTFCLGNBQWM7UUFDSixrQkFBYSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFakUsY0FBYztRQUNKLFVBQUssR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0ErSjFDO0lBN0pDLGNBQWM7SUFDZCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxD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ZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERyYXdpbmdVdGlsLCBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBpY2tlckNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGlja2VyLWNvbHVtbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKiBBIHBpY2tlciBjb21wb25lbnQgd2l0aCBPblB1c2ggY2hhbmdlIGRldGVjdGlvbiBhbmQgbm8gZW5jYXBzdWxhdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQVhVbnN1YnNjcmliZXJdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBpY2tlckNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihBWFBpY2tlckNvbHVtbkRpcmVjdGl2ZSwgeyBlbWl0RGlzdGluY3RDaGFuZ2VzT25seTogdHJ1ZSB9KVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfY29sdW1uczogUXVlcnlMaXN0PEFYUGlja2VyQ29sdW1uRGlyZWN0aXZlPiA9IHt9IGFzIFF1ZXJ5TGlzdDxBWFBpY2tlckNvbHVtbkRpcmVjdGl2ZT47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfaXRlbUhlaWdodCA9IHRoaXMuX2NhbGNJdGVtaGVpZ2h0KCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfaHRtbENvbHVtbnM6IEhUTUxEaXZFbGVtZW50W107XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfZHJhZ2dpbmcgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9wcmV2aW91c1k6IG51bWJlcjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9jdXJyZW50TGlzdDogSFRNTERpdkVsZW1lbnQ7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIF91bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgX3pvbmU6IE5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLl9jb2x1bW5zLmNoYW5nZXNcbiAgICAgIC5waXBlKHRoaXMuX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KVxuICAgICAgLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fc2V0SGVpZ2h0cygpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuX2JpbmRFdmVudHMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fcmVtb3ZlRXZlbnRzKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9zZXRIZWlnaHRzKCkge1xuICAgIHRoaXMuX2l0ZW1IZWlnaHQgPSB0aGlzLl9jYWxjSXRlbWhlaWdodCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsaWVudEhlaWdodCAtIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtaGVhZGVyJykuY2xpZW50SGVpZ2h0O1xuICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLnNldFByb3BlcnR5KCctLWF4LWNvbnRlbnQtaGVpZ2h0JywgYCR7dmFsfXB4YCk7XG4gICAgfSwgNTApO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfY2FsY0l0ZW1oZWlnaHQoKTogbnVtYmVyIHtcbiAgICBjb25zdCByZW0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtc2l6ZS1kZWZhdWx0Jyk7XG4gICAgcmV0dXJuIEFYRHJhd2luZ1V0aWwuY29udmVydFJlbVRvUGl4ZWxzKE51bWJlcihyZW0/LnJlcGxhY2UoJ3JlbScsICcnKSA/PyAwKSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9iaW5kRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbW92ZUV2ZW50cygpO1xuICAgIC8vXG4gICAgdGhpcy5faHRtbENvbHVtbnMgPSBBcnJheS5mcm9tKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yQWxsPEhUTUxEaXZFbGVtZW50PignLmF4LXBpY2tlci1jb2wgLmF4LWNvbnRlbnQnKSk7XG4gICAgdGhpcy5fY29sdW1ucy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLm9uVmFsdWVDaGFuZ2VkLnBpcGUodGhpcy5fdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2RldGVjdFNlbGVjdGVkSXRlbXNCeVZhbHVlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2h0bWxDb2x1bW5zLmZvckVhY2goKGNvbCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbFsnY29sdW1uJ10gPSB0aGlzLl9jb2x1bW5zLmdldChpbmRleCk7XG4gICAgICBjb2wuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCB0aGlzLl9oYW5kbGVNb3VzZVdlZWwuYmluZCh0aGlzKSwge1xuICAgICAgICBwYXNzaXZlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgICAgLy9cbiAgICAgIGNvbC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5faGFuZGxlVG91Y2hTdGFydC5iaW5kKHRoaXMpLCB7XG4gICAgICAgIHBhc3NpdmU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICAvL2NvbC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQuYmluZCh0aGlzKSwgeyBwYXNzaXZlOiBmYWxzZSB9KTtcbiAgICAgIC8vXG4gICAgICBjb2wuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5faGFuZGxlVG91Y2hNb3ZlLmJpbmQodGhpcyksIHtcbiAgICAgICAgcGFzc2l2ZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICAgIC8vY29sLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuX2hhbmRsZVRvdWNoTW92ZS5iaW5kKHRoaXMpLCB7IHBhc3NpdmU6IGZhbHNlIH0pXG4gICAgICAvL1xuICAgICAgY29sLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5faGFuZGxlVG91Y2hFbmQuYmluZCh0aGlzKSwge1xuICAgICAgICBwYXNzaXZlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgICAgLy9jb2wuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuX2hhbmRsZVRvdWNoTW92ZS5iaW5kKHRoaXMpLCB7IHBhc3NpdmU6IGZhbHNlIH0pXG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9yZW1vdmVFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5faHRtbENvbHVtbnM/LmZvckVhY2goKGNvbCkgPT4ge1xuICAgICAgY29sLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgdGhpcy5faGFuZGxlTW91c2VXZWVsLmJpbmQodGhpcykpO1xuICAgICAgLy9cbiAgICAgIGNvbC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5faGFuZGxlVG91Y2hTdGFydC5iaW5kKHRoaXMpKTtcbiAgICAgIC8vY29sLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5faGFuZGxlVG91Y2hTdGFydC5iaW5kKHRoaXMpKTtcbiAgICAgIGNvbC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLl9oYW5kbGVUb3VjaE1vdmUuYmluZCh0aGlzKSk7XG4gICAgICAvL2NvbC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLl9oYW5kbGVUb3VjaE1vdmUuYmluZCh0aGlzKSk7XG4gICAgICAvL1xuICAgICAgY29sLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5faGFuZGxlVG91Y2hFbmQuYmluZCh0aGlzKSk7XG4gICAgICAvL2NvbC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5faGFuZGxlVG91Y2hFbmQuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBfaGFuZGxlVG91Y2hTdGFydChlOiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuX2N1cnJlbnRMaXN0ID0gZS5jdXJyZW50VGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xuICAgIHRoaXMuX3ByZXZpb3VzWSA9IGUgaW5zdGFuY2VvZiBUb3VjaEV2ZW50ID8gZS50b3VjaGVzWzBdLmNsaWVudFkgOiBlLmNsaWVudFk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9oYW5kbGVUb3VjaE1vdmUoZTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9kcmFnZ2luZyA9IHRydWU7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fY3VycmVudExpc3QgJiYgdGhpcy5fZHJhZ2dpbmcpIHtcbiAgICAgICAgY29uc3QgY2xpZW50WSA9IGUgaW5zdGFuY2VvZiBUb3VjaEV2ZW50ID8gZS50b3VjaGVzWzBdLmNsaWVudFkgOiBlLmNsaWVudFk7XG4gICAgICAgIGNvbnN0IGRlbHRhID0gY2xpZW50WSAtIHRoaXMuX3ByZXZpb3VzWTtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNZID0gY2xpZW50WTtcbiAgICAgICAgaWYgKE1hdGguYWJzKGRlbHRhKSA+IDEpIHRoaXMuX21vdmVCeURlbHRhKHRoaXMuX2N1cnJlbnRMaXN0LCAtZGVsdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfaGFuZGxlVG91Y2hFbmQoZTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBzaW11bGF0ZSBjbGlja1xuICAgIGNvbnN0IHRhcmdldGVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoIXRoaXMuX2RyYWdnaW5nICYmIHRhcmdldGVsZW1lbnQudGFnTmFtZSA9PSAnTEknKSB7XG4gICAgICB0YXJnZXRlbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICAgIHRoaXMuX2RyYWdnaW5nID0gZmFsc2U7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9oYW5kbGVNb3VzZVdlZWwoZTogV2hlZWxFdmVudCk6IHZvaWQge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuX21vdmVCeURlbHRhKGUuY3VycmVudFRhcmdldCBhcyBIVE1MRGl2RWxlbWVudCwgZS5kZWx0YVkpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfbW92ZUJ5RGVsdGEoY29sOiBIVE1MRGl2RWxlbWVudCwgZGVsdGFZOiBudW1iZXIpIHtcbiAgICBjb25zdCBjb2x1bW4gPSBjb2xbJ2NvbHVtbiddIGFzIEFYUGlja2VyQ29sdW1uRGlyZWN0aXZlO1xuICAgIGlmIChjb2x1bW4ucmVhZG9ubHkgfHwgY29sdW1uLmRpc2FibGVkKSByZXR1cm47XG4gICAgbGV0IGluZGV4ID0gY29sdW1uLml0ZW1zLmluZGV4T2YoY29sdW1uLnZhbHVlKTtcbiAgICBpbmRleCA9IGRlbHRhWSA8IDAgPyBpbmRleCAtIGNvbHVtbi5zdGVwIDogaW5kZXggKyBjb2x1bW4uc3RlcDtcbiAgICBpZiAoaW5kZXggPCAwKSBpbmRleCA9IDA7XG4gICAgaWYgKGluZGV4ID49IGNvbHVtbi5pdGVtcy5sZW5ndGgpIGluZGV4ID0gY29sdW1uLml0ZW1zLmxlbmd0aCAtIDE7XG4gICAgY29sdW1uLmNvbW1pdFZhbHVlKGNvbHVtbi5pdGVtc1tpbmRleF0sIHRydWUpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVJdGVtQ2xpY2soY29sdW1uOiBBWFBpY2tlckNvbHVtbkRpcmVjdGl2ZSwgaXRlbTogYW55KSB7XG4gICAgaWYgKGNvbHVtbi5yZWFkb25seSB8fCBjb2x1bW4uZGlzYWJsZWQpIHJldHVybjtcbiAgICBjb2x1bW4uY29tbWl0VmFsdWUoaXRlbSwgdHJ1ZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9kZXRlY3RTZWxlY3RlZEl0ZW1zQnlWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2h0bWxDb2x1bW5zLmZvckVhY2goKGNvbCkgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2xbJ2NvbHVtbiddIGFzIEFYUGlja2VyQ29sdW1uRGlyZWN0aXZlO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNvbHVtbi5pdGVtcy5pbmRleE9mKGNvbHVtbi52YWx1ZSk7XG4gICAgICAgIGNvbC5xdWVyeVNlbGVjdG9yKCd1bCcpLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7LWluZGV4ICogdGhpcy5faXRlbUhlaWdodH1weClgO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gKiBSZWZyZXNoZXMgdGhlIGNvbXBvbmVudCBieSBzZXR0aW5nIGhlaWdodHMgYW5kIGRldGVjdGluZyBzZWxlY3RlZCBpdGVtcyBieSB2YWx1ZS5cbiAqL1xuICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICB0aGlzLl9zZXRIZWlnaHRzKCk7XG4gICAgdGhpcy5fZGV0ZWN0U2VsZWN0ZWRJdGVtc0J5VmFsdWUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWhlYWRlclwiPlxuICBAZm9yKGNvbCBvZiBfY29sdW1uczsgdHJhY2sgJGluZGV4KXtcbiAgPGRpdiBjbGFzcz1cImF4LXBpY2tlci1jb2xcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtaGVhZGVyXCI+XG4gICAgICB7eyBjb2wudGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImF4LXBpY2tlci13aW5kb3dcIj48L2Rpdj5cbiAgQGZvcihjb2wgb2YgX2NvbHVtbnM7IHRyYWNrICRpbmRleCl7XG4gIDxkaXYgY2xhc3M9XCJheC1waWNrZXItY29sXCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImNvbC5kaXNhYmxlZFwiIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJjb2wucmVhZG9ubHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29udGVudFwiPlxuICAgICAgPHVsPlxuICAgICAgICBAZm9yKGl0ZW0gb2YgY29sLml0ZW1zOyB0cmFjayAkaW5kZXgpe1xuICAgICAgICA8bGkgKGNsaWNrKT1cIl9oYW5kbGVJdGVtQ2xpY2soY29sLCBpdGVtKVwiXG4gICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWFjdGl2ZV09XCJjb2wudmFsdWUgJiYgY29sLnZhbHVlW2NvbC52YWx1ZUZpZWxkXSA9PT0gaXRlbVtjb2wudmFsdWVGaWVsZF1cIlxuICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJjb2wuZGlzYWJsZWRcIiBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwiY29sLnJlYWRvbmx5XCI+XG4gICAgICAgICAge3sgaXRlbVtjb2wudGV4dEZpZWxkXSB9fVxuICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuXG48L2Rpdj4iXX0=
@@ -6,11 +6,11 @@ import * as i0 from "@angular/core";
6
6
  const COMPONENT = [AXPickerComponent, AXPickerColumnDirective];
7
7
  const MODULES = [CommonModule];
8
8
  export class AXPickerModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXPickerModule, declarations: [AXPickerComponent, AXPickerColumnDirective], imports: [CommonModule], exports: [AXPickerComponent, AXPickerColumnDirective] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPickerModule, imports: [MODULES] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPickerModule, declarations: [AXPickerComponent, AXPickerColumnDirective], imports: [CommonModule], exports: [AXPickerComponent, AXPickerColumnDirective] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPickerModule, imports: [MODULES] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPickerModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPickerModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [...COMPONENT],