@acorex/components 7.0.13 → 7.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/alert/public-api.d.ts +0 -1
  2. package/alert/src/alert.component.d.ts +4 -3
  3. package/alert/src/alert.module.d.ts +3 -4
  4. package/avatar/src/avatar.component.d.ts +2 -1
  5. package/badge/src/badge.component.d.ts +2 -2
  6. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +6 -6
  7. package/button/src/button-group.component.d.ts +6 -6
  8. package/button/src/button-item.component.d.ts +6 -6
  9. package/button/src/button.component.d.ts +1 -1
  10. package/card/index.d.ts +5 -0
  11. package/card/public-api.d.ts +2 -0
  12. package/card/src/card.component.d.ts +10 -0
  13. package/card/src/card.module.d.ts +8 -0
  14. package/color-picker/src/color-picker.component.d.ts +16 -16
  15. package/date-picker/src/datepicker.component.d.ts +14 -14
  16. package/decorators/src/icon.component.d.ts +1 -1
  17. package/esm2020/action-sheet/src/action-sheet.component.mjs +5 -5
  18. package/esm2020/action-sheet/src/action-sheet.module.mjs +4 -4
  19. package/esm2020/action-sheet/src/action-sheet.service.mjs +15 -10
  20. package/esm2020/alert/public-api.mjs +1 -2
  21. package/esm2020/alert/src/alert.component.mjs +11 -8
  22. package/esm2020/alert/src/alert.module.mjs +6 -7
  23. package/esm2020/avatar/src/avatar-group.component.mjs +3 -3
  24. package/esm2020/avatar/src/avatar.component.mjs +10 -7
  25. package/esm2020/avatar/src/avatar.module.mjs +4 -4
  26. package/esm2020/badge/src/badge.component.mjs +5 -6
  27. package/esm2020/badge/src/badge.module.mjs +4 -4
  28. package/esm2020/breadcrumbs/src/breadcrumbs-item.component.mjs +3 -3
  29. package/esm2020/breadcrumbs/src/breadcrumbs.component.mjs +3 -3
  30. package/esm2020/breadcrumbs/src/breadcrumbs.module.mjs +4 -4
  31. package/esm2020/button/src/button-group.component.mjs +3 -3
  32. package/esm2020/button/src/button-item.component.mjs +3 -3
  33. package/esm2020/button/src/button.component.mjs +6 -6
  34. package/esm2020/button/src/button.module.mjs +4 -4
  35. package/esm2020/calendar/src/calendar.class.mjs +3 -3
  36. package/esm2020/calendar/src/calendar.component.mjs +5 -5
  37. package/esm2020/calendar/src/calendar.module.mjs +4 -4
  38. package/esm2020/card/acorex-components-card.mjs +5 -0
  39. package/esm2020/card/public-api.mjs +3 -0
  40. package/esm2020/card/src/card.component.mjs +17 -0
  41. package/esm2020/card/src/card.module.mjs +19 -0
  42. package/esm2020/checkbox/src/checkbox.component.mjs +3 -3
  43. package/esm2020/checkbox/src/checkbox.module.mjs +4 -4
  44. package/esm2020/chips/src/chips.component.mjs +3 -3
  45. package/esm2020/chips/src/chips.module.mjs +4 -4
  46. package/esm2020/collapse/src/collapse-group.component.mjs +4 -6
  47. package/esm2020/collapse/src/collapse.component.mjs +3 -3
  48. package/esm2020/collapse/src/collapse.module.mjs +4 -4
  49. package/esm2020/color-palette/src/color-palette-input.component.mjs +3 -3
  50. package/esm2020/color-palette/src/color-palette-picker.component.mjs +3 -3
  51. package/esm2020/color-palette/src/color-palette-preview.component.mjs +3 -3
  52. package/esm2020/color-palette/src/color-palette-swatches.component.mjs +3 -3
  53. package/esm2020/color-palette/src/color-palette.class.mjs +6 -6
  54. package/esm2020/color-palette/src/color-palette.component.mjs +5 -5
  55. package/esm2020/color-palette/src/color-palette.module.mjs +4 -4
  56. package/esm2020/color-picker/src/color-picker.component.mjs +3 -3
  57. package/esm2020/color-picker/src/color-picker.module.mjs +4 -4
  58. package/esm2020/common/src/classes/components.class.mjs +19 -21
  59. package/esm2020/common/src/common.module.mjs +4 -4
  60. package/esm2020/common/src/directives/auto-focus.directive.mjs +3 -3
  61. package/esm2020/common/src/directives/debounce-time.directive.mjs +3 -3
  62. package/esm2020/common/src/directives/hotkey.directive.mjs +3 -3
  63. package/esm2020/common/src/directives/infinite-scroll.directive.mjs +3 -3
  64. package/esm2020/common/src/directives/responsive.directive.mjs +3 -3
  65. package/esm2020/common/src/services/custom-cdk-overlay.service.mjs +6 -6
  66. package/esm2020/common/src/services/hotkey.service.mjs +3 -3
  67. package/esm2020/common/src/services/overlay.service.mjs +5 -5
  68. package/esm2020/context-menu/src/context-menu.component.mjs +3 -3
  69. package/esm2020/context-menu/src/context-menu.module.mjs +4 -4
  70. package/esm2020/data-pager/src/data-pager-base.component.mjs +6 -6
  71. package/esm2020/data-pager/src/data-pager-info.component.mjs +3 -3
  72. package/esm2020/data-pager/src/data-pager-input-selector.component.mjs +3 -3
  73. package/esm2020/data-pager/src/data-pager-next-buttons.components.mjs +3 -3
  74. package/esm2020/data-pager/src/data-pager-numeric-selector.component.mjs +3 -3
  75. package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +3 -3
  76. package/esm2020/data-pager/src/data-pager-prev-buttons.component.mjs +3 -3
  77. package/esm2020/data-pager/src/data-pager.component.mjs +3 -3
  78. package/esm2020/data-pager/src/data-pager.module.mjs +4 -4
  79. package/esm2020/data-table/src/data-column-cell-template.directive.mjs +3 -3
  80. package/esm2020/data-table/src/data-column.directive.mjs +3 -3
  81. package/esm2020/data-table/src/data-table.component.mjs +3 -3
  82. package/esm2020/data-table/src/data-table.module.mjs +4 -4
  83. package/esm2020/date-picker/src/datepicker.component.mjs +6 -6
  84. package/esm2020/date-picker/src/datepicker.module.mjs +4 -4
  85. package/esm2020/decorators/src/close-button.component.mjs +3 -3
  86. package/esm2020/decorators/src/content.component.mjs +3 -3
  87. package/esm2020/decorators/src/decorators.module.mjs +4 -4
  88. package/esm2020/decorators/src/footer.component.mjs +3 -3
  89. package/esm2020/decorators/src/form-hint.component.mjs +3 -3
  90. package/esm2020/decorators/src/header.component.mjs +3 -3
  91. package/esm2020/decorators/src/icon.component.mjs +5 -5
  92. package/esm2020/decorators/src/overlay.component.mjs +3 -3
  93. package/esm2020/decorators/src/placeholder.component.mjs +3 -3
  94. package/esm2020/decorators/src/prefix.component.mjs +3 -3
  95. package/esm2020/decorators/src/sub-title.component.mjs +3 -3
  96. package/esm2020/decorators/src/suffix.component.mjs +3 -3
  97. package/esm2020/decorators/src/text.component.mjs +3 -3
  98. package/esm2020/decorators/src/title.component.mjs +5 -8
  99. package/esm2020/dialog/src/dialog.component.mjs +4 -4
  100. package/esm2020/dialog/src/dialog.module.mjs +4 -4
  101. package/esm2020/dialog/src/dialog.service.mjs +3 -3
  102. package/esm2020/drawer/src/drawer-container.component.mjs +3 -3
  103. package/esm2020/drawer/src/drawer.component.mjs +3 -3
  104. package/esm2020/drawer/src/drawer.module.mjs +4 -4
  105. package/esm2020/dropdown/src/dropdown-panel.component.mjs +3 -3
  106. package/esm2020/dropdown/src/dropdown.module.mjs +4 -4
  107. package/esm2020/form/src/form-field.component.mjs +4 -4
  108. package/esm2020/form/src/form.component.mjs +3 -3
  109. package/esm2020/form/src/form.module.mjs +4 -4
  110. package/esm2020/form/src/validation-rule.widget.mjs +3 -3
  111. package/esm2020/form/src/validation-summary.component.mjs +3 -3
  112. package/esm2020/image/src/image.component.mjs +3 -3
  113. package/esm2020/image/src/image.module.mjs +4 -4
  114. package/esm2020/label/src/label.component.mjs +3 -3
  115. package/esm2020/label/src/label.module.mjs +4 -4
  116. package/esm2020/loading/src/loading-spinner.component.mjs +3 -3
  117. package/esm2020/loading/src/loading.component.mjs +3 -3
  118. package/esm2020/loading/src/loading.directive.mjs +3 -3
  119. package/esm2020/loading/src/loading.module.mjs +4 -4
  120. package/esm2020/loading/src/loading.service.mjs +3 -3
  121. package/esm2020/menu/src/menu.component.mjs +8 -6
  122. package/esm2020/menu/src/menu.module.mjs +4 -4
  123. package/esm2020/mixin/src/base-components.class.mjs +3 -3
  124. package/esm2020/mixin/src/base-menu-mixin.class.mjs +2 -2
  125. package/esm2020/mixin/src/color-look-mixing.class.mjs +1 -1
  126. package/esm2020/notification/src/notification.class.mjs +1 -1
  127. package/esm2020/notification/src/notification.component.mjs +33 -9
  128. package/esm2020/notification/src/notification.module.mjs +8 -6
  129. package/esm2020/notification/src/notification.service.mjs +22 -51
  130. package/esm2020/number-box/src/number-box.component.mjs +3 -3
  131. package/esm2020/number-box/src/number-box.module.mjs +4 -4
  132. package/esm2020/page/src/base-page.class.mjs +3 -3
  133. package/esm2020/page/src/page.component.mjs +3 -3
  134. package/esm2020/page/src/page.module.mjs +4 -4
  135. package/esm2020/password-box/src/password-box.component.mjs +3 -3
  136. package/esm2020/password-box/src/password-box.module.mjs +4 -4
  137. package/esm2020/picker/acorex-components-picker.mjs +5 -0
  138. package/esm2020/picker/public-api.mjs +3 -0
  139. package/esm2020/picker/src/picker.component.mjs +37 -0
  140. package/esm2020/picker/src/picker.module.mjs +36 -0
  141. package/esm2020/popover/src/popover.component.mjs +23 -14
  142. package/esm2020/popover/src/popover.module.mjs +4 -4
  143. package/esm2020/popup/src/popup.component.mjs +3 -3
  144. package/esm2020/popup/src/popup.module.mjs +4 -4
  145. package/esm2020/popup/src/popup.service.mjs +3 -3
  146. package/esm2020/progress-bar/src/progress-bar.component.mjs +3 -3
  147. package/esm2020/progress-bar/src/progress-bar.module.mjs +4 -4
  148. package/esm2020/radio/src/radio.component.mjs +3 -3
  149. package/esm2020/radio/src/radio.module.mjs +4 -4
  150. package/esm2020/range-slider/src/range-slider.component.mjs +3 -3
  151. package/esm2020/range-slider/src/range-slider.module.mjs +4 -4
  152. package/esm2020/rating/src/rating.component.mjs +3 -3
  153. package/esm2020/rating/src/rating.component.module.mjs +4 -4
  154. package/esm2020/result/src/result.component.mjs +3 -3
  155. package/esm2020/result/src/result.module.mjs +4 -4
  156. package/esm2020/search-box/src/search-box.component.mjs +3 -3
  157. package/esm2020/search-box/src/search-box.module.mjs +4 -4
  158. package/esm2020/select-box/src/selectbox.component.mjs +15 -16
  159. package/esm2020/select-box/src/selectbox.module.mjs +4 -4
  160. package/esm2020/selection-list/src/selection-list.component.mjs +3 -3
  161. package/esm2020/selection-list/src/selection-list.module.mjs +4 -4
  162. package/esm2020/switch/public-api.mjs +2 -1
  163. package/esm2020/switch/src/switch-content.component.mjs +16 -0
  164. package/esm2020/switch/src/switch.component.mjs +18 -7
  165. package/esm2020/switch/src/switch.module.mjs +8 -7
  166. package/esm2020/tabs/src/tab-content.directive.mjs +3 -3
  167. package/esm2020/tabs/src/tab-item.component.mjs +3 -3
  168. package/esm2020/tabs/src/tabs.component.mjs +5 -5
  169. package/esm2020/tabs/src/tabs.module.mjs +4 -4
  170. package/esm2020/tag/src/tag.component.mjs +3 -3
  171. package/esm2020/tag/src/tag.module.mjs +4 -4
  172. package/esm2020/textarea/src/textarea.component.mjs +3 -3
  173. package/esm2020/textarea/src/textarea.module.mjs +4 -4
  174. package/esm2020/textbox/src/mask-options.directive.mjs +3 -3
  175. package/esm2020/textbox/src/textbox.component.mjs +3 -3
  176. package/esm2020/textbox/src/textbox.module.mjs +4 -4
  177. package/esm2020/time-box/src/time-box.component.mjs +3 -3
  178. package/esm2020/time-box/src/time-box.module.mjs +4 -4
  179. package/esm2020/toast/src/toast.class.mjs +1 -1
  180. package/esm2020/toast/src/toast.component.mjs +5 -5
  181. package/esm2020/toast/src/toast.module.mjs +4 -4
  182. package/esm2020/toast/src/toast.service.mjs +4 -6
  183. package/esm2020/tooltip/src/tooltip.component.mjs +3 -3
  184. package/esm2020/tooltip/src/tooltip.directive.mjs +3 -3
  185. package/esm2020/tooltip/src/tooltip.module.mjs +4 -4
  186. package/esm2020/tree-view/src/tree-view.component.mjs +3 -3
  187. package/esm2020/tree-view/src/tree-view.module.mjs +4 -4
  188. package/esm2020/uploader/src/uploader.component.mjs +3 -3
  189. package/esm2020/uploader/src/uploader.module.mjs +4 -4
  190. package/fesm2015/acorex-components-action-sheet.mjs +21 -17
  191. package/fesm2015/acorex-components-action-sheet.mjs.map +1 -1
  192. package/fesm2015/acorex-components-alert.mjs +18 -33
  193. package/fesm2015/acorex-components-alert.mjs.map +1 -1
  194. package/fesm2015/acorex-components-avatar.mjs +16 -14
  195. package/fesm2015/acorex-components-avatar.mjs.map +1 -1
  196. package/fesm2015/acorex-components-badge.mjs +8 -10
  197. package/fesm2015/acorex-components-badge.mjs.map +1 -1
  198. package/fesm2015/acorex-components-breadcrumbs.mjs +10 -11
  199. package/fesm2015/acorex-components-button.mjs +15 -15
  200. package/fesm2015/acorex-components-button.mjs.map +1 -1
  201. package/fesm2015/acorex-components-calendar.mjs +11 -12
  202. package/fesm2015/acorex-components-calendar.mjs.map +1 -1
  203. package/fesm2015/acorex-components-card.mjs +40 -0
  204. package/fesm2015/acorex-components-card.mjs.map +1 -0
  205. package/fesm2015/acorex-components-checkbox.mjs +7 -8
  206. package/fesm2015/acorex-components-chips.mjs +7 -8
  207. package/fesm2015/acorex-components-collapse.mjs +10 -13
  208. package/fesm2015/acorex-components-collapse.mjs.map +1 -1
  209. package/fesm2015/acorex-components-color-palette.mjs +27 -28
  210. package/fesm2015/acorex-components-color-picker.mjs +7 -8
  211. package/fesm2015/acorex-components-common.mjs +50 -53
  212. package/fesm2015/acorex-components-common.mjs.map +1 -1
  213. package/fesm2015/acorex-components-context-menu.mjs +7 -8
  214. package/fesm2015/acorex-components-data-pager.mjs +31 -32
  215. package/fesm2015/acorex-components-data-table.mjs +13 -14
  216. package/fesm2015/acorex-components-date-picker.mjs +9 -10
  217. package/fesm2015/acorex-components-date-picker.mjs.map +1 -1
  218. package/fesm2015/acorex-components-decorators.mjs +45 -48
  219. package/fesm2015/acorex-components-decorators.mjs.map +1 -1
  220. package/fesm2015/acorex-components-dialog.mjs +11 -12
  221. package/fesm2015/acorex-components-dialog.mjs.map +1 -1
  222. package/fesm2015/acorex-components-drawer.mjs +10 -11
  223. package/fesm2015/acorex-components-dropdown.mjs +7 -8
  224. package/fesm2015/acorex-components-form.mjs +17 -17
  225. package/fesm2015/acorex-components-form.mjs.map +1 -1
  226. package/fesm2015/acorex-components-image.mjs +7 -8
  227. package/fesm2015/acorex-components-label.mjs +7 -8
  228. package/fesm2015/acorex-components-loading.mjs +16 -17
  229. package/fesm2015/acorex-components-menu.mjs +11 -10
  230. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  231. package/fesm2015/acorex-components-mixin.mjs +4 -5
  232. package/fesm2015/acorex-components-mixin.mjs.map +1 -1
  233. package/fesm2015/acorex-components-notification.mjs +59 -65
  234. package/fesm2015/acorex-components-notification.mjs.map +1 -1
  235. package/fesm2015/acorex-components-number-box.mjs +7 -8
  236. package/fesm2015/acorex-components-page.mjs +10 -11
  237. package/fesm2015/acorex-components-password-box.mjs +7 -8
  238. package/fesm2015/acorex-components-picker.mjs +77 -0
  239. package/fesm2015/acorex-components-picker.mjs.map +1 -0
  240. package/fesm2015/acorex-components-popover.mjs +26 -18
  241. package/fesm2015/acorex-components-popover.mjs.map +1 -1
  242. package/fesm2015/acorex-components-popup.mjs +10 -11
  243. package/fesm2015/acorex-components-progress-bar.mjs +7 -8
  244. package/fesm2015/acorex-components-radio.mjs +7 -8
  245. package/fesm2015/acorex-components-range-slider.mjs +7 -8
  246. package/fesm2015/acorex-components-rating.mjs +7 -8
  247. package/fesm2015/acorex-components-result.mjs +7 -8
  248. package/fesm2015/acorex-components-search-box.mjs +7 -8
  249. package/fesm2015/acorex-components-select-box.mjs +19 -20
  250. package/fesm2015/acorex-components-select-box.mjs.map +1 -1
  251. package/fesm2015/acorex-components-selection-list.mjs +7 -8
  252. package/fesm2015/acorex-components-switch.mjs +39 -15
  253. package/fesm2015/acorex-components-switch.mjs.map +1 -1
  254. package/fesm2015/acorex-components-tabs.mjs +15 -16
  255. package/fesm2015/acorex-components-tabs.mjs.map +1 -1
  256. package/fesm2015/acorex-components-tag.mjs +7 -8
  257. package/fesm2015/acorex-components-textarea.mjs +7 -8
  258. package/fesm2015/acorex-components-textbox.mjs +10 -11
  259. package/fesm2015/acorex-components-time-box.mjs +7 -8
  260. package/fesm2015/acorex-components-toast.mjs +11 -14
  261. package/fesm2015/acorex-components-toast.mjs.map +1 -1
  262. package/fesm2015/acorex-components-tooltip.mjs +10 -11
  263. package/fesm2015/acorex-components-tree-view.mjs +7 -8
  264. package/fesm2015/acorex-components-uploader.mjs +7 -8
  265. package/fesm2015/acorex-components.mjs +0 -1
  266. package/fesm2020/acorex-components-action-sheet.mjs +21 -17
  267. package/fesm2020/acorex-components-action-sheet.mjs.map +1 -1
  268. package/fesm2020/acorex-components-alert.mjs +18 -33
  269. package/fesm2020/acorex-components-alert.mjs.map +1 -1
  270. package/fesm2020/acorex-components-avatar.mjs +16 -14
  271. package/fesm2020/acorex-components-avatar.mjs.map +1 -1
  272. package/fesm2020/acorex-components-badge.mjs +8 -10
  273. package/fesm2020/acorex-components-badge.mjs.map +1 -1
  274. package/fesm2020/acorex-components-breadcrumbs.mjs +10 -11
  275. package/fesm2020/acorex-components-button.mjs +15 -15
  276. package/fesm2020/acorex-components-button.mjs.map +1 -1
  277. package/fesm2020/acorex-components-calendar.mjs +11 -12
  278. package/fesm2020/acorex-components-calendar.mjs.map +1 -1
  279. package/fesm2020/acorex-components-card.mjs +40 -0
  280. package/fesm2020/acorex-components-card.mjs.map +1 -0
  281. package/fesm2020/acorex-components-checkbox.mjs +7 -8
  282. package/fesm2020/acorex-components-chips.mjs +7 -8
  283. package/fesm2020/acorex-components-collapse.mjs +10 -13
  284. package/fesm2020/acorex-components-collapse.mjs.map +1 -1
  285. package/fesm2020/acorex-components-color-palette.mjs +27 -28
  286. package/fesm2020/acorex-components-color-picker.mjs +7 -8
  287. package/fesm2020/acorex-components-common.mjs +50 -53
  288. package/fesm2020/acorex-components-common.mjs.map +1 -1
  289. package/fesm2020/acorex-components-context-menu.mjs +7 -8
  290. package/fesm2020/acorex-components-data-pager.mjs +31 -32
  291. package/fesm2020/acorex-components-data-table.mjs +13 -14
  292. package/fesm2020/acorex-components-date-picker.mjs +9 -10
  293. package/fesm2020/acorex-components-date-picker.mjs.map +1 -1
  294. package/fesm2020/acorex-components-decorators.mjs +45 -48
  295. package/fesm2020/acorex-components-decorators.mjs.map +1 -1
  296. package/fesm2020/acorex-components-dialog.mjs +11 -12
  297. package/fesm2020/acorex-components-dialog.mjs.map +1 -1
  298. package/fesm2020/acorex-components-drawer.mjs +10 -11
  299. package/fesm2020/acorex-components-dropdown.mjs +7 -8
  300. package/fesm2020/acorex-components-form.mjs +17 -17
  301. package/fesm2020/acorex-components-form.mjs.map +1 -1
  302. package/fesm2020/acorex-components-image.mjs +7 -8
  303. package/fesm2020/acorex-components-label.mjs +7 -8
  304. package/fesm2020/acorex-components-loading.mjs +16 -17
  305. package/fesm2020/acorex-components-menu.mjs +11 -10
  306. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  307. package/fesm2020/acorex-components-mixin.mjs +4 -5
  308. package/fesm2020/acorex-components-mixin.mjs.map +1 -1
  309. package/fesm2020/acorex-components-notification.mjs +59 -65
  310. package/fesm2020/acorex-components-notification.mjs.map +1 -1
  311. package/fesm2020/acorex-components-number-box.mjs +7 -8
  312. package/fesm2020/acorex-components-page.mjs +10 -11
  313. package/fesm2020/acorex-components-password-box.mjs +7 -8
  314. package/fesm2020/acorex-components-picker.mjs +77 -0
  315. package/fesm2020/acorex-components-picker.mjs.map +1 -0
  316. package/fesm2020/acorex-components-popover.mjs +26 -18
  317. package/fesm2020/acorex-components-popover.mjs.map +1 -1
  318. package/fesm2020/acorex-components-popup.mjs +10 -11
  319. package/fesm2020/acorex-components-progress-bar.mjs +7 -8
  320. package/fesm2020/acorex-components-radio.mjs +7 -8
  321. package/fesm2020/acorex-components-range-slider.mjs +7 -8
  322. package/fesm2020/acorex-components-rating.mjs +7 -8
  323. package/fesm2020/acorex-components-result.mjs +7 -8
  324. package/fesm2020/acorex-components-search-box.mjs +7 -8
  325. package/fesm2020/acorex-components-select-box.mjs +18 -20
  326. package/fesm2020/acorex-components-select-box.mjs.map +1 -1
  327. package/fesm2020/acorex-components-selection-list.mjs +7 -8
  328. package/fesm2020/acorex-components-switch.mjs +39 -15
  329. package/fesm2020/acorex-components-switch.mjs.map +1 -1
  330. package/fesm2020/acorex-components-tabs.mjs +15 -16
  331. package/fesm2020/acorex-components-tabs.mjs.map +1 -1
  332. package/fesm2020/acorex-components-tag.mjs +7 -8
  333. package/fesm2020/acorex-components-textarea.mjs +7 -8
  334. package/fesm2020/acorex-components-textbox.mjs +10 -11
  335. package/fesm2020/acorex-components-time-box.mjs +7 -8
  336. package/fesm2020/acorex-components-toast.mjs +11 -14
  337. package/fesm2020/acorex-components-toast.mjs.map +1 -1
  338. package/fesm2020/acorex-components-tooltip.mjs +10 -11
  339. package/fesm2020/acorex-components-tree-view.mjs +7 -8
  340. package/fesm2020/acorex-components-uploader.mjs +7 -8
  341. package/fesm2020/acorex-components.mjs +0 -1
  342. package/mixin/src/base-components.class.d.ts +2 -2
  343. package/mixin/src/base-menu-mixin.class.d.ts +5 -5
  344. package/mixin/src/button-mixin.class.d.ts +2 -2
  345. package/mixin/src/clickable-mixin.class.d.ts +2 -2
  346. package/mixin/src/color-look-mixing.class.d.ts +2 -2
  347. package/mixin/src/datalist-component.class.d.ts +10 -10
  348. package/mixin/src/dropdown-mixin.class.d.ts +2 -2
  349. package/mixin/src/interactive-mixin.class.d.ts +4 -4
  350. package/mixin/src/loading-mixin.class.d.ts +2 -2
  351. package/mixin/src/mixin.class.d.ts +61 -61
  352. package/mixin/src/page-component.class.d.ts +2 -2
  353. package/mixin/src/selection-component.class.d.ts +2 -2
  354. package/mixin/src/sizable-mixin.class.d.ts +2 -2
  355. package/mixin/src/textbox-mixin.class.d.ts +2 -2
  356. package/mixin/src/value-mixin.class.d.ts +8 -8
  357. package/notification/src/notification.class.d.ts +3 -1
  358. package/notification/src/notification.component.d.ts +8 -3
  359. package/notification/src/notification.module.d.ts +3 -1
  360. package/notification/src/notification.service.d.ts +0 -5
  361. package/package.json +18 -2
  362. package/picker/index.d.ts +5 -0
  363. package/picker/public-api.d.ts +2 -0
  364. package/picker/src/picker.component.d.ts +12 -0
  365. package/picker/src/picker.module.d.ts +13 -0
  366. package/select-box/src/selectbox.component.d.ts +1 -1
  367. package/switch/public-api.d.ts +1 -0
  368. package/switch/src/switch-content.component.d.ts +8 -0
  369. package/switch/src/switch.component.d.ts +2 -1
  370. package/switch/src/switch.module.d.ts +5 -4
  371. package/tabs/src/tab-item.component.d.ts +2 -2
  372. package/toast/src/toast.class.d.ts +1 -2
  373. package/alert/src/alert-button.directive.d.ts +0 -8
  374. package/esm2020/alert/src/alert-button.directive.mjs +0 -19
@@ -120,7 +120,7 @@ export class AXMenuComponent extends AXBaseMenuMixin {
120
120
  if (this.displayMode === 'horizontal' ||
121
121
  this.displayMode === 'vertical') {
122
122
  if (this._oldItem !== item) {
123
- this._openAsOverlay(targetElement, item.children);
123
+ this._openAsOverlay(targetElement.closest('li'), item.children);
124
124
  }
125
125
  }
126
126
  this._closeOpenChild(item.children);
@@ -273,6 +273,8 @@ export class AXMenuComponent extends AXBaseMenuMixin {
273
273
  ref.instance._levelCount = this._levelCount + 1;
274
274
  ref.instance.disableField = this.disableField;
275
275
  ref.instance.visibleField = this.visibleField;
276
+ ref.instance.valueField = this.valueField;
277
+ ref.instance.textField = this.textField;
276
278
  ref.instance.iconField = this.iconField;
277
279
  ref.instance.dividerField = this.dividerField;
278
280
  ref.onDestroy(() => {
@@ -308,9 +310,9 @@ export class AXMenuComponent extends AXBaseMenuMixin {
308
310
  this._overlayRef?.detach();
309
311
  }
310
312
  }
311
- AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
312
- AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", isOpen: "isOpen", isActive: "isActive", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", showModal: "showModal" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\" item[iconField]\"></span>\r\n </div>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{'ax-icon-chevron-down':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>", styles: ["ax-menu{font-size:1rem}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix{margin-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-suffix{margin-inline-start:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgb(var(--ax-color-ghost),.15)}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical{flex-direction:column}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgb(var(--ax-color-ghost),.15);margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgb(var(--ax-color-surface));border:1px solid;border-color:rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgb(var(--ax-color-ghost),.05);color:rgb(var(--ax-color-ghost))}ax-menu .ax-side-menu{flex-direction:column}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXMenuComponent, decorators: [{
313
+ AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
314
+ AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", isOpen: "isOpen", isActive: "isActive", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", showModal: "showModal" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\" item[iconField]\"></span>\r\n </div>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{'ax-icon-chevron-down':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n {{ 'common.no-result-found' | trans }}\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>", styles: ["ax-menu{font-size:1rem}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix{margin-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-suffix{margin-inline-start:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgb(var(--ax-color-ghost),.15)}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical{flex-direction:column}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgb(var(--ax-color-ghost),.15);margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgb(var(--ax-color-surface));border:1px solid;border-color:rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgb(var(--ax-color-ghost),.05);color:rgb(var(--ax-color-ghost))}ax-menu .ax-side-menu{flex-direction:column}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMenuComponent, decorators: [{
314
316
  type: Component,
315
317
  args: [{ selector: 'ax-menu', inputs: [
316
318
  'disabled',
@@ -330,7 +332,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
330
332
  'openMode',
331
333
  'displayMode',
332
334
  'showModal',
333
- ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\" item[iconField]\"></span>\r\n </div>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{'ax-icon-chevron-down':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>", styles: ["ax-menu{font-size:1rem}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix{margin-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-suffix{margin-inline-start:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgb(var(--ax-color-ghost),.15)}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical{flex-direction:column}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgb(var(--ax-color-ghost),.15);margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgb(var(--ax-color-surface));border:1px solid;border-color:rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgb(var(--ax-color-ghost),.05);color:rgb(var(--ax-color-ghost))}ax-menu .ax-side-menu{flex-direction:column}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}\n"] }]
335
+ ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\" item[iconField]\"></span>\r\n </div>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{'ax-icon-chevron-down':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n {{ 'common.no-result-found' | trans }}\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>", styles: ["ax-menu{font-size:1rem}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix{margin-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-suffix{margin-inline-start:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgb(var(--ax-color-ghost),.15)}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical{flex-direction:column}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgb(var(--ax-color-ghost),.15);margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgb(var(--ax-color-surface));border:1px solid;border-color:rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgb(var(--ax-color-ghost),.05);color:rgb(var(--ax-color-ghost))}ax-menu .ax-side-menu{flex-direction:column}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}\n"] }]
334
336
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }]; }, propDecorators: { _contentEmptyTemplate: [{
335
337
  type: ContentChild,
336
338
  args: ['emptyTemplate']
@@ -338,4 +340,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
338
340
  type: ContentChild,
339
341
  args: ['itemTemplate']
340
342
  }] } });
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixZQUFZLEdBSWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVuRDs7OztHQUlHO0FBNEJILE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUF1QmxELFlBQ1UsV0FBdUIsRUFDdkIsR0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUxoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFWL0IsUUFBRyxHQUFZLElBQUksVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFaEMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7SUFXaEMsQ0FBQztJQXJCRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMs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UUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs0R0EvVlUsZUFBZTtnR0FBZixlQUFlLGd5QkNoRDVCLDB2R0E0RGM7MkZEWkQsZUFBZTtrQkEzQjNCLFNBQVM7K0JBQ0UsU0FBUyxVQUdYO3dCQUNOLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsV0FBVztxQkFDWixXQUNRLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxtQkFDaEMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtnTEFJN0IscUJBQXFCO3NCQUQ1QixZQUFZO3VCQUFDLGVBQWU7Z0JBSXJCLG9CQUFvQjtzQkFEM0IsWUFBWTt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBPbkluaXQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZU1lbnVNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICBpbnB1dHM6IFtcclxuICAgICdkaXNhYmxlZCcsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ3RleHRGaWVsZCcsXHJcbiAgICAndmFsdWVGaWVsZCcsXHJcbiAgICAnaXRlbXMnLFxyXG4gICAgJ3BhcmVudElkJyxcclxuICAgICdpY29uRmllbGQnLFxyXG4gICAgJ3Rvb2x0aXAnLFxyXG4gICAgJ2lzT3BlbicsXHJcbiAgICAnaXNBY3RpdmUnLFxyXG4gICAgJ3Zpc2libGVGaWVsZCcsXHJcbiAgICAnZGlzYWJsZUZpZWxkJyxcclxuICAgICdoYXNDaGlsZEZpZWxkJyxcclxuICAgICdkaXZpZGVyRmllbGQnLFxyXG4gICAgJ29wZW5Nb2RlJyxcclxuICAgICdkaXNwbGF5TW9kZScsXHJcbiAgICAnc2hvd01vZGFsJyxcclxuICBdLFxyXG4gIG91dHB1dHM6IFsnb25CbHVyJywgJ29uRm9jdXMnLCAnb25NZW51SXRlbUNsaWNrJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTWVudUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZU1lbnVNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQENvbnRlbnRDaGlsZCgnZW1wdHlUZW1wbGF0ZScpXHJcbiAgcHJpdmF0ZSBfY29udGVudEVtcHR5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2l0ZW1UZW1wbGF0ZScpXHJcbiAgcHJpdmF0ZSBfY29udGVudEl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHVibGljIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG5cclxuICBnZXQgZW1wdHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb250ZW50RW1wdHlUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIGdldCBpdGVtVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEl0ZW1UZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIHJ0bDogYm9vbGVhbiA9IG5ldyBBWFBsYXRmb3JtKCkuaXNSdGwoKTtcclxuXHJcbiAgcHJpdmF0ZSBfbGV2ZWxDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfb2xkSXRlbTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICBfb25NZW51TW91c2VFbnRlcihlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgdGFyZ2V0RWxlbWVudC50YWdOYW1lID09PSAnVUwnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcGVuTW9kZSA9PT0gJ2hvdmVyJykge1xyXG4gICAgICB0aGlzLl9oYW5kZWxNZW51TG9naWMoZSwgaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIF9vbk1lbnVDbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgdGFyZ2V0RWxlbWVudC50YWdOYW1lID09PSAnVUwnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykge1xyXG4gICAgICB0aGlzLl9oYW5kZWxNZW51TG9naWMoZSwgaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbk1lbnVJdGVtQ2xpY2suZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaXRlbTogaXRlbSxcclxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICB9KTtcclxuXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgX2dldERpcmVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJyAmJiB0aGlzLl9sZXZlbENvdW50ID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnYXgtaG9yaXpvbnRhbCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2xldmVsQ291bnQgPiAwKSB7XHJcbiAgICAgIHJldHVybiAnYXgtdmVydGljYWwgYXgtc3VibWVudS11bCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdzaWRlbWVudScpIHtcclxuICAgICAgcmV0dXJuICdheC1zaWRlLW1lbnUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdheC12ZXJ0aWNhbCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZW1vdmVBY3RpdmUoaXRlbXM6IGFueSk6IHZvaWQge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBlbGVtZW50LmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIGlmIChlbGVtZW50Py5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZShlbGVtZW50LmNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jbG9zZU9wZW5DaGlsZChpdGVtczogYW55KTogdm9pZCB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgIGlmIChlbGVtZW50Py5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuX2Nsb3NlT3BlbkNoaWxkKGVsZW1lbnQuY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRQYXJlbnQoaXRlbXM6IGFueSwgcGFyZW50SWQ6IGFueSk6IHZvaWQge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBlbGVtZW50LnBhcmVudElkID0gcGFyZW50SWQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRlbE1lbnVMb2dpYyhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghaXRlbVt0aGlzLmRpc2FibGVGaWVsZF0gfHwgaXRlbVt0aGlzLmRpdmlkZXJGaWVsZF0gPT09IGZhbHNlKSB7XHJcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICh0YXJnZXRFbGVtZW50LmNsb3Nlc3QoJ2xpJykgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykgfHxcclxuICAgICAgICAodGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdsaScpICYmIHRoaXMub3Blbk1vZGUgPT09ICdob3ZlcicpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmICYmIHRoaXMuX29sZEl0ZW0gIT09IGl0ZW0pIHtcclxuICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmRpc3BsYXlNb2RlID09PSAnaG9yaXpvbnRhbCcpIHtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheUl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICFpdGVtLnBhcmVudElkICYmXHJcbiAgICAgICAgICAgICAgaXRlbVt0aGlzLnZhbHVlRmllbGRdICE9PSBlbGVtZW50W3RoaXMudmFsdWVGaWVsZF1cclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJykge1xyXG4gICAgICAgICAgICB0aGlzLl9pbml0UGFyZW50KGl0ZW0uY2hpbGRyZW4sIGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJyB8fFxyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlID09PSAndmVydGljYWwnXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX29sZEl0ZW0gIT09IGl0ZW0pIHtcclxuICAgICAgICAgICAgICB0aGlzLl9vcGVuQXNPdmVybGF5KHRhcmdldEVsZW1lbnQsIGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9jbG9zZU9wZW5DaGlsZChpdGVtLmNoaWxkcmVuKTtcclxuXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJyB8fFxyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlID09PSAndmVydGljYWwnXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgaXRlbS5pc09wZW4gPSB0cnVlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaXRlbS5pc09wZW4gPSAhaXRlbS5pc09wZW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9yZW1vdmVBY3RpdmUodGhpcy5kaXNwbGF5SXRlbXMpO1xyXG5cclxuICAgICAgICBpdGVtLmlzQWN0aXZlID0gIWl0ZW0uaXNBY3RpdmU7XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJyB8fFxyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3ZlcnRpY2FsJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtICYmXHJcbiAgICAgICAgICAgIHRoaXMuX29sZEl0ZW0/LmlzT3BlbiAmJlxyXG4gICAgICAgICAgICBpdGVtW3RoaXMudmFsdWVGaWVsZF0gIT09IHRoaXMuX29sZEl0ZW1bdGhpcy52YWx1ZUZpZWxkXVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29sZEl0ZW0uaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9vbGRJdGVtID0gaXRlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc092ZXJsYXkodGFyZ2V0UmVmLCBvdmVybGF5SXRlbXM6IGFueVtdKTogdm9pZCB7XHJcbiAgICBsZXQgcG9zaXRpb25zID0gW107XHJcbiAgICBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3ZlcnRpY2FsJykge1xyXG4gICAgICBpZiAodGhpcy5fbGV2ZWxDb3VudCA+PSAxKSB7XHJcbiAgICAgICAgcG9zaXRpb25zID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHBvc2l0aW9ucyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuX2xldmVsQ291bnQgPj0gMSkge1xyXG4gICAgICAgIHBvc2l0aW9ucyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcG9zaXRpb25zID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoWy4uLnBvc2l0aW9uc10pXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKS53aXRoRGVmYXVsdE9mZnNldFgoMTIpLFxyXG4gICAgICAgIFxyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX3BsYXRmb3JtLmlzUnRsKCkgPyAncnRsJyA6ICdsdHInLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJywgJ2F4LW92ZXJsYXktbWVudSddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogWydjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcmVmID0gdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChBWE1lbnVDb21wb25lbnQpKTtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UuaXRlbXMgPSBvdmVybGF5SXRlbXM7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLmRpc3BsYXlNb2RlID0gdGhpcy5kaXNwbGF5TW9kZTtcclxuXHJcbiAgICByZWYuaW5zdGFuY2Uub3Blbk1vZGUgPSAnaG92ZXInO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5fbGV2ZWxDb3VudCA9IHRoaXMuX2xldmVsQ291bnQgKyAxO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5kaXNhYmxlRmllbGQgPSB0aGlzLmRpc2FibGVGaWVsZDtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UudmlzaWJsZUZpZWxkID0gdGhpcy52aXNpYmxlRmllbGQ7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLmljb25GaWVsZCA9IHRoaXMuaWNvbkZpZWxkO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5kaXZpZGVyRmllbGQgPSB0aGlzLmRpdmlkZXJGaWVsZDtcclxuXHJcbiAgICByZWYub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgcmVmLmluc3RhbmNlPy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgdGhpcy5fY2xvc2UoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5yZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlKCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuX29sZEl0ZW0gPSBudWxsO1xyXG4gICAgdGhpcy5kaXNwbGF5SXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBlbGVtZW50LmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICBlbGVtZW50LmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUl0ZW1zLmxlbmd0aDsgZWxzZSB0bXBFbXB0eVwiPlxyXG4gICAgPHVsIFtuZ0NsYXNzXT1cIl9nZXREaXJlY3Rpb24oKVwiIFtjbGFzcy5heC1ydGxdPVwicnRsXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3RUbXBsOyBjb250ZXh0OnsgbGlzdDogZGlzcGxheUl0ZW1zIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdWw+XHJcbiAgICA8bmctdGVtcGxhdGUgI3JlY3Vyc2l2ZUxpc3RUbXBsIGxldC1saXN0PVwibGlzdFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdFwiPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJpdGVtW3Zpc2libGVGaWVsZF0gIT1mYWxzZVwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9vbk1lbnVDbGljaygkZXZlbnQsaXRlbSlcIiAobW91c2VlbnRlcik9XCJfb25NZW51TW91c2VFbnRlcigkZXZlbnQsaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydheC1zdGF0ZS1hY3RpdmUgJzogaXRlbS5pc0FjdGl2ZX1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW1cIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZSA9PSBudWxsIGVsc2UgdG1wSXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW0tcHJlZml4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtbWVudS1pdGVtLWljb25cIiAqbmdJZj1cIml0ZW1baWNvbkZpZWxkXVwiIFtjbGFzc109XCIgaXRlbVtpY29uRmllbGRdXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7X2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtLXN1ZmZpeFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LW1lbnUtaXRlbS1pY29uIGF4LWljb24gYXgtbWVudS1pdGVtLWljb24tY2hldnJvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2F4LWljb24tY2hldnJvbi1kb3duJzppdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCwnYXgtbWVudS1hY3RpdmUtaWNvbic6IGl0ZW0uaXNPcGVufVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLmlzTG9hZGluZ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxvYWRpbmcgKm5nSWY9XCJpdGVtLmlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWxvYWRpbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gIGl0ZW0gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG1wSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlO2NvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPHVsICpuZ0lmPVwiaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgJiYgaXRlbS5pc09wZW4gJiYhX292ZXJsYXlSZWZcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTGlzdFRtcGw7IGNvbnRleHQ6eyBsaXN0OiBpdGVtLmNoaWxkcmVuIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImF4LW1lbnUtaXRlbS1kaXZpZGVyXCIgKm5nSWY9XCJpdGVtW3RoaXMuZGl2aWRlckZpZWxkXVwiPjwvbGk+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1wLTRcIj5cclxuICAgICAgICAgICAgPGF4LWxvYWRpbmcgdGV4dD1cInt7ICdsYXlvdXQubG9hZGluZy50ZXh0JyB8IHRyYW5zIH19XCI+PC9heC1sb2FkaW5nPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI3RtcEVtcHR5PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cclxuICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLSBjaGVjayBmb3IgY3VzdG9tIHRlbXBsYXRlICAtLS0tLS0tLS0tLS0tLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtcHR5VGVtcGxhdGU7IGVsc2UgZWxzZUVtcHR5VGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5VGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlRW1wdHlUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2NvbW1vbi5uby1yZXN1bHQtZm91bmQnIHwgdHJhbnMgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
343
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixZQUFZLEdBSWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVuRDs7OztHQUlHO0FBNEJILE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUF1QmxELFlBQ1UsV0FBdUIsRUFDdkIsR0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUxoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFWL0IsUUFBRyxHQUFZLElBQUksVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFaEMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7SUFXaEMsQ0FBQztJQXJCRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMs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QUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwQyxPQUFPLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN2QixPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7OzRHQW5XVSxlQUFlO2dHQUFmLGVBQWUsZ3lCQ2hENUIsb3JHQTBEYzsyRkRWRCxlQUFlO2tCQTNCM0IsU0FBUzsrQkFDRSxTQUFTLFVBR1g7d0JBQ04sVUFBVTt3QkFDVixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxTQUFTO3dCQUNULFFBQVE7d0JBQ1IsVUFBVTt3QkFDVixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixXQUFXO3FCQUNaLFdBQ1EsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLG1CQUNoQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO2dMQUk3QixxQkFBcUI7c0JBRDVCLFlBQVk7dUJBQUMsZUFBZTtnQkFJckIsb0JBQW9CO3NCQUQzQixZQUFZO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmLCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIE9uSW5pdCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlTWVudU1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0YWJJbmRleCcsXHJcbiAgICAndGV4dEZpZWxkJyxcclxuICAgICd2YWx1ZUZpZWxkJyxcclxuICAgICdpdGVtcycsXHJcbiAgICAncGFyZW50SWQnLFxyXG4gICAgJ2ljb25GaWVsZCcsXHJcbiAgICAndG9vbHRpcCcsXHJcbiAgICAnaXNPcGVuJyxcclxuICAgICdpc0FjdGl2ZScsXHJcbiAgICAndmlzaWJsZUZpZWxkJyxcclxuICAgICdkaXNhYmxlRmllbGQnLFxyXG4gICAgJ2hhc0NoaWxkRmllbGQnLFxyXG4gICAgJ2RpdmlkZXJGaWVsZCcsXHJcbiAgICAnb3Blbk1vZGUnLFxyXG4gICAgJ2Rpc3BsYXlNb2RlJyxcclxuICAgICdzaG93TW9kYWwnLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICdvbk1lbnVJdGVtQ2xpY2snXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhNZW51Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlTWVudU1peGluIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAQ29udGVudENoaWxkKCdlbXB0eVRlbXBsYXRlJylcclxuICBwcml2YXRlIF9jb250ZW50RW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnaXRlbVRlbXBsYXRlJylcclxuICBwcml2YXRlIF9jb250ZW50SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwdWJsaWMgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcblxyXG4gIGdldCBlbXB0eVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRFbXB0eVRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGl0ZW1UZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb250ZW50SXRlbVRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgcnRsOiBib29sZWFuID0gbmV3IEFYUGxhdGZvcm0oKS5pc1J0bCgpO1xyXG5cclxuICBwcml2YXRlIF9sZXZlbENvdW50OiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9vbGRJdGVtOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybVxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcclxuICB9XHJcblxyXG4gIF9vbk1lbnVNb3VzZUVudGVyKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG5cclxuICAgIGlmICh0aGlzLmlzTG9hZGluZyB8fCB0YXJnZXRFbGVtZW50LnRhZ05hbWUgPT09ICdVTCcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wZW5Nb2RlID09PSAnaG92ZXInKSB7XHJcbiAgICAgIHRoaXMuX2hhbmRlbE1lbnVMb2dpYyhlLCBpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgX29uTWVudUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG5cclxuICAgIGlmICh0aGlzLmlzTG9hZGluZyB8fCB0YXJnZXRFbGVtZW50LnRhZ05hbWUgPT09ICdVTCcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XHJcbiAgICAgIHRoaXMuX2hhbmRlbE1lbnVMb2dpYyhlLCBpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9uTWVudUl0ZW1DbGljay5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpdGVtOiBpdGVtLFxyXG4gICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgIH0pO1xyXG5cclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBfZ2V0RGlyZWN0aW9uKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ2hvcml6b250YWwnICYmIHRoaXMuX2xldmVsQ291bnQgPT09IDApIHtcclxuICAgICAgcmV0dXJuICdheC1ob3Jpem9udGFsJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5fbGV2ZWxDb3VudCA+IDApIHtcclxuICAgICAgcmV0dXJuICdheC12ZXJ0aWNhbCBheC1zdWJtZW51LXVsJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3NpZGVtZW51Jykge1xyXG4gICAgICByZXR1cm4gJ2F4LXNpZGUtbWVudSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2F4LXZlcnRpY2FsJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZUFjdGl2ZShpdGVtczogYW55KTogdm9pZCB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgaWYgKGVsZW1lbnQ/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aXZlKGVsZW1lbnQuY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlT3BlbkNoaWxkKGl0ZW1zOiBhbnkpOiB2b2lkIHtcclxuICAgIGl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZWxlbWVudC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgaWYgKGVsZW1lbnQ/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5fY2xvc2VPcGVuQ2hpbGQoZWxlbWVudC5jaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdFBhcmVudChpdGVtczogYW55LCBwYXJlbnRJZDogYW55KTogdm9pZCB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQucGFyZW50SWQgPSBwYXJlbnRJZDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGVsTWVudUxvZ2ljKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCFpdGVtW3RoaXMuZGlzYWJsZUZpZWxkXSB8fCBpdGVtW3RoaXMuZGl2aWRlckZpZWxkXSA9PT0gZmFsc2UpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHRhcmdldEVsZW1lbnQuY2xvc2VzdCgnbGknKSAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB8fFxyXG4gICAgICAgICh0YXJnZXRFbGVtZW50LmNsb3Nlc3QoJ2xpJykgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2hvdmVyJylcclxuICAgICAgKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5fb2xkSXRlbSAhPT0gaXRlbSkge1xyXG4gICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJykge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5SXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgIWl0ZW0ucGFyZW50SWQgJiZcclxuICAgICAgICAgICAgICBpdGVtW3RoaXMudmFsdWVGaWVsZF0gIT09IGVsZW1lbnRbdGhpcy52YWx1ZUZpZWxkXVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICBlbGVtZW50LmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ2hvcml6b250YWwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRQYXJlbnQoaXRlbS5jaGlsZHJlbiwgaXRlbVt0aGlzLnZhbHVlRmllbGRdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZSA9PT0gJ2hvcml6b250YWwnIHx8XHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPT09ICd2ZXJ0aWNhbCdcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fb2xkSXRlbSAhPT0gaXRlbSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX29wZW5Bc092ZXJsYXkodGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdsaScpLCBpdGVtLmNoaWxkcmVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fY2xvc2VPcGVuQ2hpbGQoaXRlbS5jaGlsZHJlbik7XHJcblxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlID09PSAnaG9yaXpvbnRhbCcgfHxcclxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3ZlcnRpY2FsJ1xyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNPcGVuID0gIWl0ZW0uaXNPcGVuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aXZlKHRoaXMuZGlzcGxheUl0ZW1zKTtcclxuXHJcbiAgICAgICAgaXRlbS5pc0FjdGl2ZSA9ICFpdGVtLmlzQWN0aXZlO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlID09PSAnaG9yaXpvbnRhbCcgfHxcclxuICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPT09ICd2ZXJ0aWNhbCdcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5fb2xkSXRlbSAmJlxyXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtPy5pc09wZW4gJiZcclxuICAgICAgICAgICAgaXRlbVt0aGlzLnZhbHVlRmllbGRdICE9PSB0aGlzLl9vbGRJdGVtW3RoaXMudmFsdWVGaWVsZF1cclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fb2xkSXRlbSA9IGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuQXNPdmVybGF5KHRhcmdldFJlZiwgb3ZlcmxheUl0ZW1zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgbGV0IHBvc2l0aW9ucyA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICd2ZXJ0aWNhbCcpIHtcclxuICAgICAgaWYgKHRoaXMuX2xldmVsQ291bnQgPj0gMSkge1xyXG4gICAgICAgIHBvc2l0aW9ucyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwb3NpdGlvbnMgPSBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLl9sZXZlbENvdW50ID49IDEpIHtcclxuICAgICAgICBwb3NpdGlvbnMgPSBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHBvc2l0aW9ucyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxyXG4gICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0UmVmKVxyXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFsuLi5wb3NpdGlvbnNdKVxyXG4gICAgICAgIC53aXRoUHVzaChmYWxzZSkud2l0aERlZmF1bHRPZmZzZXRYKDEyKSxcclxuXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fcGxhdGZvcm0uaXNSdGwoKSA/ICdydGwnIDogJ2x0cicsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1mYWRlSW4nLCAnYXgtYW5pbWF0ZS1mYXN0ZXInLCAnYXgtb3ZlcmxheS1tZW51J10sXHJcbiAgICAgIG1heEhlaWdodDogJ3Vuc2V0JyxcclxuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCByZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKEFYTWVudUNvbXBvbmVudCkpO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5pdGVtcyA9IG92ZXJsYXlJdGVtcztcclxuXHJcbiAgICByZWYuaW5zdGFuY2UuZGlzcGxheU1vZGUgPSB0aGlzLmRpc3BsYXlNb2RlO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5vcGVuTW9kZSA9ICdob3Zlcic7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLl9sZXZlbENvdW50ID0gdGhpcy5fbGV2ZWxDb3VudCArIDE7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLmRpc2FibGVGaWVsZCA9IHRoaXMuZGlzYWJsZUZpZWxkO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS52aXNpYmxlRmllbGQgPSB0aGlzLnZpc2libGVGaWVsZDtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UudmFsdWVGaWVsZCA9IHRoaXMudmFsdWVGaWVsZDtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UudGV4dEZpZWxkID0gdGhpcy50ZXh0RmllbGQ7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLmljb25GaWVsZCA9IHRoaXMuaWNvbkZpZWxkO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5kaXZpZGVyRmllbGQgPSB0aGlzLmRpdmlkZXJGaWVsZDtcclxuXHJcbiAgICByZWYub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgcmVmLmluc3RhbmNlPy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgdGhpcy5fY2xvc2UoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5yZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlKCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuX29sZEl0ZW0gPSBudWxsO1xyXG4gICAgdGhpcy5kaXNwbGF5SXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBlbGVtZW50LmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICBlbGVtZW50LmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUl0ZW1zLmxlbmd0aDsgZWxzZSB0bXBFbXB0eVwiPlxyXG4gICAgPHVsIFtuZ0NsYXNzXT1cIl9nZXREaXJlY3Rpb24oKVwiIFtjbGFzcy5heC1ydGxdPVwicnRsXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3RUbXBsOyBjb250ZXh0OnsgbGlzdDogZGlzcGxheUl0ZW1zIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdWw+XHJcbiAgICA8bmctdGVtcGxhdGUgI3JlY3Vyc2l2ZUxpc3RUbXBsIGxldC1saXN0PVwibGlzdFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdFwiPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJpdGVtW3Zpc2libGVGaWVsZF0gIT1mYWxzZVwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9vbk1lbnVDbGljaygkZXZlbnQsaXRlbSlcIiAobW91c2VlbnRlcik9XCJfb25NZW51TW91c2VFbnRlcigkZXZlbnQsaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydheC1zdGF0ZS1hY3RpdmUgJzogaXRlbS5pc0FjdGl2ZX1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW1cIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZSA9PSBudWxsIGVsc2UgdG1wSXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW0tcHJlZml4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtbWVudS1pdGVtLWljb25cIiAqbmdJZj1cIml0ZW1baWNvbkZpZWxkXVwiIFtjbGFzc109XCIgaXRlbVtpY29uRmllbGRdXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7X2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtLXN1ZmZpeFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LW1lbnUtaXRlbS1pY29uIGF4LWljb24gYXgtbWVudS1pdGVtLWljb24tY2hldnJvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2F4LWljb24tY2hldnJvbi1kb3duJzppdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCwnYXgtbWVudS1hY3RpdmUtaWNvbic6IGl0ZW0uaXNPcGVufVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLmlzTG9hZGluZ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxvYWRpbmcgKm5nSWY9XCJpdGVtLmlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWxvYWRpbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gIGl0ZW0gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG1wSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlO2NvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPHVsICpuZ0lmPVwiaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgJiYgaXRlbS5pc09wZW4gJiYhX292ZXJsYXlSZWZcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTGlzdFRtcGw7IGNvbnRleHQ6eyBsaXN0OiBpdGVtLmNoaWxkcmVuIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImF4LW1lbnUtaXRlbS1kaXZpZGVyXCIgKm5nSWY9XCJpdGVtW3RoaXMuZGl2aWRlckZpZWxkXVwiPjwvbGk+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1wLTRcIj5cclxuICAgICAgICAgICAgPGF4LWxvYWRpbmcgdGV4dD1cInt7ICdsYXlvdXQubG9hZGluZy50ZXh0JyB8IHRyYW5zIH19XCI+PC9heC1sb2FkaW5nPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI3RtcEVtcHR5PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cclxuICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLSBjaGVjayBmb3IgY3VzdG9tIHRlbXBsYXRlICAtLS0tLS0tLS0tLS0tLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtcHR5VGVtcGxhdGU7IGVsc2UgZWxzZUVtcHR5VGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5VGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlRW1wdHlUZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgJ2NvbW1vbi5uby1yZXN1bHQtZm91bmQnIHwgdHJhbnMgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -15,13 +15,13 @@ const MODULES = [
15
15
  ];
16
16
  export class AXMenuModule {
17
17
  }
18
- AXMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- AXMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXMenuModule, declarations: [AXMenuComponent], imports: [CommonModule, AXDecoratorModule,
18
+ AXMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ AXMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXMenuModule, declarations: [AXMenuComponent], imports: [CommonModule, AXDecoratorModule,
20
20
  AXLoadingModule,
21
21
  AXTranslationModule,
22
22
  OverlayModule], exports: [AXMenuComponent] });
23
- AXMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXMenuModule, decorators: [{
23
+ AXMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMenuModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  declarations: [...COMPONENT],
@@ -90,9 +90,9 @@ export class AXBaseComponent {
90
90
  }
91
91
  }
92
92
  _AXBaseComponent_rtl = new WeakMap(), _AXBaseComponent_elementRef = new WeakMap();
93
- AXBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXBaseComponent, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable });
94
- AXBaseComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXBaseComponent });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXBaseComponent, decorators: [{
93
+ AXBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXBaseComponent, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable });
94
+ AXBaseComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXBaseComponent });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXBaseComponent, decorators: [{
96
96
  type: Injectable
97
97
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
98
98
  type: Inject,
@@ -23,7 +23,7 @@ export function _BaseMenuComponentMixin(Base) {
23
23
  }
24
24
  set items(v) {
25
25
  if (Array.isArray(v)) {
26
- __classPrivateFieldSet(this, _items, this._formatData(v), "f");
26
+ __classPrivateFieldSet(this, _items, v, "f");
27
27
  }
28
28
  else if (typeof v === 'function') {
29
29
  __classPrivateFieldSet(this, _items, v, "f");
@@ -137,4 +137,4 @@ export const BASEMENU_INPUTS = [
137
137
  'dividerField',
138
138
  ];
139
139
  export const BASEMENU_OUTPUT = ['onMenuItemClick'];
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tZW51LW1peGluLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4vc3JjL2Jhc2UtbWVudS1taXhpbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFJdkIsTUFBTSxVQUFVLHVCQUF1QixDQUVyQyxJQUFXOztJQUNYLFlBQU8sS0FBTSxTQUFRLElBQUk7WUEyQnZCLFlBQVksR0FBRyxJQUFXO2dCQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkEzQmpCLGNBQVMsR0FBVyxNQUFNLENBQUM7Z0JBRTNCLGVBQVUsR0FBVyxJQUFJLENBQUM7Z0JBRTFCLHFCQUFzQixLQUFLLEVBQUM7Z0JBRTVCLHVCQUFvQixFQUFFLEVBQUM7Z0JBSXZCLGlCQUFZLEdBQVcsVUFBVSxDQUFDO2dCQUlsQyxjQUFTLEdBQVcsTUFBTSxDQUFDO2dCQUUzQixhQUFRLEdBQXNCLE9BQU8sQ0FBQztnQkFFdEMsZ0JBQVcsR0FBMkMsVUFBVSxDQUFDO2dCQUVqRSxpQkFBWSxHQUFXLFNBQVMsQ0FBQztnQkFFakMsb0JBQWUsR0FBd0MsSUFBSSxZQUFZLEVBRXBFLENBQUM7Z0JBTUosaUJBQWMsRUFBRSxFQUFDO1lBRmpCLENBQUM7WUFHRCxJQUFJLEtBQUs7Z0JBQ1AsT0FBTyx1QkFBQSxJQUFJLGNBQU8sQ0FBQztZQUNyQixDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBTTtnQkFDZCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3BCLHVCQUFBLElBQUksVUFBVSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFBLENBQUM7aUJBQ25DO3FCQUFNLElBQUksT0FB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O0lBQ2YsVUFBVTtJQUNWLGFBQWE7SUFDYixjQUFjO0NBQ2YsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9CYXNlTWVudUNvbXBvbmVudE1peGluPFxyXG4gIFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50PlxyXG4+KEJhc2U6IFRCYXNlKSB7XHJcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcbiAgICB0ZXh0RmllbGQ6IHN0cmluZyA9ICd0ZXh0JztcclxuXHJcbiAgICB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAnaWQnO1xyXG5cclxuICAgICNpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAjbG9hZGVkSXRlbXM6IGFueSA9IFtdO1xyXG5cclxuICAgIHZpc2libGVGaWVsZDogc3RyaW5nO1xyXG5cclxuICAgIGRpc2FibGVGaWVsZDogc3RyaW5nID0gJ2Rpc2FibGVkJztcclxuXHJcbiAgICBoYXNDaGlsZEZpZWxkOiBzdHJpbmc7XHJcblxyXG4gICAgaWNvbkZpZWxkOiBzdHJpbmcgPSAnaWNvbic7XHJcblxyXG4gICAgb3Blbk1vZGU6ICdjbGljaycgfCAnaG92ZXInID0gJ2NsaWNrJztcclxuXHJcbiAgICBkaXNwbGF5TW9kZTogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyB8ICdzaWRlbWVudScgPSAnc2lkZW1lbnUnO1xyXG5cclxuICAgIGRpdmlkZXJGaWVsZDogc3RyaW5nID0gJ2RpdmlkZXInO1xyXG5cclxuICAgIG9uTWVudUl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEFYSXRlbUNsaWNrRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgICBBWEl0ZW1DbGlja0V2ZW50PGFueT5cclxuICAgID4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICBzdXBlciguLi5hcmdzKTtcclxuICAgIH1cclxuXHJcbiAgICAjaXRlbXM6IGFueSA9IFtdO1xyXG4gICAgZ2V0IGl0ZW1zKCk6IGFueSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNpdGVtcztcclxuICAgIH1cclxuICAgIHNldCBpdGVtcyh2OiBhbnkpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodikpIHtcclxuICAgICAgICB0aGlzLiNpdGVtcyA9IHRoaXMuX2Zvcm1hdERhdGEodik7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHYgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICB0aGlzLiNpdGVtcyA9IHY7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jaXRlbXMgPSBbXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5SXRlbXMoKSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2l0ZW1zIHx8IFtdO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLiNpdGVtcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2xvYWRlZEl0ZW1zIHx8IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNMb2FkaW5nKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jaXNMb2FkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIF9mb3JtYXREYXRhKHY6IGFueVtdKSB7XHJcbiAgICAgIHJldHVybiBfLnVuaW9uQnkoXHJcbiAgICAgICAgdi5tYXAoKG8sIGkpID0+IHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgbyA9PSAnb2JqZWN0JykgcmV0dXJuIG87XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3Qgbm86IGFueSA9IHt9O1xyXG4gICAgICAgICAgICBub1t0aGlzLnZhbHVlRmllbGRdID0gbztcclxuICAgICAgICAgICAgbm9bXHJcbiAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLnRleHRGaWVsZCkgPyB0aGlzLnRleHRGaWVsZFswXSA6IHRoaXMudGV4dEZpZWxkXHJcbiAgICAgICAgICAgIF0gPSBvO1xyXG4gICAgICAgICAgICByZXR1cm4gbm87XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgdGhpcy52YWx1ZUZpZWxkXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgX2ZpbmROb2RlKHBhcmVudElkOiBudW1iZXIsIF9jaGlsZHJlbjogYW55LCBzb3VyY2U6IGFueSkge1xyXG4gICAgICBpZiAoc291cmNlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBzb3VyY2UuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbdGhpcy52YWx1ZUZpZWxkXSA9PSBwYXJlbnRJZCkge1xyXG4gICAgICAgICAgICBlbGVtZW50LmNoaWxkcmVuID0gX2NoaWxkcmVuO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQ/LmNoaWxkcmVuKVxyXG4gICAgICAgICAgICAgIHRoaXMuX2ZpbmROb2RlKHBhcmVudElkLCBfY2hpbGRyZW4sIGVsZW1lbnQuY2hpbGRyZW4pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgX2ZldGNoRGF0YShwYXJlbnRJZD86IG51bWJlciwgc2VhcmNoVGV4dD86IHN0cmluZykge1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICBpZiAodGhpcy4jaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLiNpdGVtcykge1xyXG4gICAgICAgICAgdGhpcy4jaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuI2l0ZW1zKHtcclxuICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxyXG4gICAgICAgICAgICBzZWFyY2hRdWVyeTogc2VhcmNoVGV4dCxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKChjKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYykpIHtcclxuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRJZCkge1xyXG4gICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuX2ZpbmROb2RlKHBhcmVudElkLCBjLCB0aGlzLmRpc3BsYXlJdGVtcykpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgodGhpcy4jbG9hZGVkSXRlbXMgPSBjKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuI2lzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9vbkludGVybmFsSW5pdCgpIHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLiNpdGVtcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgdGhpcy5fZmV0Y2hEYXRhKCk7XHJcbiAgICAgIH1cclxuICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSkge1xyXG4gICAgICBpZiAoaXRlbSlcclxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnRleHRGaWVsZClcclxuICAgICAgICAgID8gdGhpcy50ZXh0RmllbGQubWFwKChjKSA9PiBpdGVtW2NdKS5qb2luKCcsJylcclxuICAgICAgICAgIDogaXRlbVt0aGlzLnRleHRGaWVsZF07XHJcbiAgICAgIGVsc2UgcmV0dXJuICdMb2FkaW5nLi4uJztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVmcmVzaCgpIHtcclxuICAgICAgdGhpcy5fZmV0Y2hEYXRhKCk7XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEJBU0VNRU5VX0lOUFVUUyA9IFtcclxuICAndGV4dEZpZWxkJyxcclxuICAndmFsdWVGaWVsZCcsXHJcbiAgJ2l0ZW1zJyxcclxuICAncGFyZW50SWQnLFxyXG4gICdpY29uRmllbGQnLFxyXG4gICd0b29sdGlwJyxcclxuICAnaXNPcGVuJyxcclxuICAnaXNBY3RpdmUnLFxyXG4gICd2aXNpYmxlRmllbGQnLFxyXG4gICdkaXNhYmxlRmllbGQnLFxyXG4gICdoYXNDaGlsZEZpZWxkJyxcclxuICAnb3Blbk1vZGUnLFxyXG4gICdkaXNwbGF5TW9kZScsXHJcbiAgJ2RpdmlkZXJGaWVsZCcsXHJcbl07XHJcbmV4cG9ydCBjb25zdCBCQVNFTUVOVV9PVVRQVVQgPSBbJ29uTWVudUl0ZW1DbGljayddO1xyXG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tZW51LW1peGluLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4vc3JjL2Jhc2UtbWVudS1taXhpbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFJdkIsTUFBTSxVQUFVLHVCQUF1QixDQUVyQyxJQUFXOztJQUNYLFlBQU8sS0FBTSxTQUFRLElBQUk7WUEyQnZCLFlBQVksR0FBRyxJQUFXO2dCQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkEzQmpCLGNBQVMsR0FBVyxNQUFNLENBQUM7Z0JBRTNCLGVBQVUsR0FBVyxJQUFJLENBQUM7Z0JBRTFCLHFCQUFzQixLQUFLLEVBQUM7Z0JBRTVCLHVCQUFvQixFQUFFLEVBQUM7Z0JBSXZCLGlCQUFZLEdBQVcsVUFBVSxDQUFDO2dCQUlsQyxjQUFTLEdBQVcsTUFBTSxDQUFDO2dCQUUzQixhQUFRLEdBQXNCLE9BQU8sQ0FBQztnQkFFdEMsZ0JBQVcsR0FBMkMsVUFBVSxDQUFDO2dCQUVqRSxpQkFBWSxHQUFXLFNBQVMsQ0FBQztnQkFFakMsb0JBQWUsR0FBd0MsSUFBSSxZQUFZLEVBRXBFLENBQUM7Z0JBTUosaUJBQWMsRUFBRSxFQUFDO1lBRmpCLENBQUM7WUFHRCxJQUFJLEtBQUs7Z0JBQ1AsT0FBTyx1QkFBQSxJQUFJLGNBQU8sQ0FBQztZQUNyQixDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBTTtnQkFDZCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3BCLHVCQUFBLElBQUksVUFBVSxDQUFDLE1BQUEsQ0FBQztpQkFDakI7cUJBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxVQUFVLEVBQUU7b0JBQ2xDLHVCQUFBLElBQUksVUFBVSxDQUFDLE1BQUEsQ0FBQztpQkFDakI7cUJBQU07b0JBQ0wsdUJBQUEsSUFBSSxVQUFVLEVBQUUsTUFBQSxDQUFDO2lCQUNsQjtZQUNILENBQUM7WUFFRCxJQUFJLFlBQVk7Z0JBQ2QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDN0IsT0FBTyx1QkFBQSxJQUFJLGNBQU8sSUFBSSxFQUFFLENBQUM7aUJBQzFCO3FCQUFNLElBQUksT0FBTyx1QkFBQSxJQUFJLGNBQU8sSUFBSSxVQUFVLEVBQUU7b0JBQzNDLE9BQU8sdUJBQUEsSUFBSSxvQkFBYSxJQUFJLEVBQUUsQ0FBQztpQkFDaEM7Z0JBQ0QsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1lBRUQsSUFBSSxTQUFTO2dCQUNYLE9BQU8sdUJBQUEsSUFBSSxrQkFBVyxDQUFDO1lBQ3pCLENBQUM7WUFFRCxXQUFXLENBQUMsQ0FBUTtnQkFDbEIsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUNkLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxPQUFPLENBQUMsSUFBSSxRQUFRO3dCQUFFLE9BQU8sQ0FBQyxDQUFDO3lCQUM5Qjt3QkFDSCxNQUFNLEVBQUUsR0FBUSxFQUFFLENBQUM7d0JBQ25CLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUN4QixFQUFFLENBQ0EsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ25FLEdBQUcsQ0FBQyxDQUFDO3dCQUNOLE9BQU8sRUFBRSxDQUFDO3FCQUNYO2dCQUNILENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7WUFDSixDQUFDO1lBRUQsU0FBUyxDQUFDLFFBQWdCLEVBQUUsU0FBYyxFQUFFLE1BQVc7Z0JBQ3JELElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTt3QkFDekIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFFBQVEsRUFBRTs0QkFDeEMsT0FBTyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7eUJBQzlCOzZCQUFNOzRCQUNMLElBQUksT0FBTyxFQUFFLFFBQVE7Z0NBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7eUJBQ3pEO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQztZQUVELFVBQVUsQ0FBQyxRQUFpQixFQUFFLFVBQW1CO2dCQUMvQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7b0JBQzdCLElBQUksdUJBQUEsSUFBSSxrQkFBVyxFQUFFO3dCQUNuQixPQUFPO3FCQUNSO29CQUNELElBQUksdUJBQUEsSUFBSSxjQUFPLEVBQUU7d0JBQ2YsdUJBQUEsSUFBSSxjQUFjLElBQUksTUFBQSxDQUFDO3dCQUN2Qix1QkFBQSxJQUFJLGNBQU8sTUFBWCxJQUFJLEVBQVE7NEJBQ1YsUUFBUSxFQUFFLFFBQVE7NEJBQ2xCLFdBQVcsRUFBRSxVQUFVO3lCQUN4QixDQUFDOzZCQUNDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOzRCQUNWLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQ0FDcEIsSUFBSSxRQUFRLEVBQUU7b0NBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztpQ0FDekQ7cUNBQU07b0NBQ0wsT0FBTyxDQUFDLENBQUMsdUJBQUEsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFBLENBQUMsQ0FBQyxDQUFDO2lDQUNsQzs2QkFDRjs0QkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUMzQixDQUFDLENBQUM7NkJBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRTs0QkFDWix1QkFBQSxJQUFJLGNBQWMsS0FBSyxNQUFBLENBQUM7d0JBQzFCLENBQUMsQ0FBQyxDQUFDO3FCQUNOO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELGVBQWU7Z0JBQ2IsSUFBSSxPQUFPLHVCQUFBLElBQUksY0FBTyxJQUFJLFVBQVUsRUFBRTtvQkFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2lCQUNuQjtnQkFDRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDMUIsQ0FBQztZQUVELDBCQUEwQixDQUFDLElBQUk7Z0JBQzdCLElBQUksSUFBSTtvQkFDTixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzt3QkFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO3dCQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzs7b0JBQ3RCLE9BQU8sWUFBWSxDQUFDO1lBQzNCLENBQUM7WUFFTSxPQUFPO2dCQUNaLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDO1NBQ0Y7Ozs7V0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsV0FBVztJQUNYLFlBQVk7SUFDWixPQUFPO0lBQ1AsVUFBVTtJQUNWLFdBQVc7SUFDWCxTQUFTO0lBQ1QsUUFBUTtJQUNSLFVBQVU7SUFDVixjQUFjO0lBQ2QsY0FBYztJQUNkLGVBQWU7SUFDZixVQUFVO0lBQ1YsYUFBYTtJQUNiLGNBQWM7Q0FDZixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYSXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX0Jhc2VNZW51Q29tcG9uZW50TWl4aW48XHJcbiAgVEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+XHJcbj4oQmFzZTogVEJhc2UpIHtcclxuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBCYXNlIHtcclxuICAgIHRleHRGaWVsZDogc3RyaW5nID0gJ3RleHQnO1xyXG5cclxuICAgIHZhbHVlRmllbGQ6IHN0cmluZyA9ICdpZCc7XHJcblxyXG4gICAgI2lzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgICNsb2FkZWRJdGVtczogYW55ID0gW107XHJcblxyXG4gICAgdmlzaWJsZUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gICAgZGlzYWJsZUZpZWxkOiBzdHJpbmcgPSAnZGlzYWJsZWQnO1xyXG5cclxuICAgIGhhc0NoaWxkRmllbGQ6IHN0cmluZztcclxuXHJcbiAgICBpY29uRmllbGQ6IHN0cmluZyA9ICdpY29uJztcclxuXHJcbiAgICBvcGVuTW9kZTogJ2NsaWNrJyB8ICdob3ZlcicgPSAnY2xpY2snO1xyXG5cclxuICAgIGRpc3BsYXlNb2RlOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnIHwgJ3NpZGVtZW51JyA9ICdzaWRlbWVudSc7XHJcblxyXG4gICAgZGl2aWRlckZpZWxkOiBzdHJpbmcgPSAnZGl2aWRlcic7XHJcblxyXG4gICAgb25NZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhJdGVtQ2xpY2tFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICAgIEFYSXRlbUNsaWNrRXZlbnQ8YW55PlxyXG4gICAgPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgfVxyXG5cclxuICAgICNpdGVtczogYW55ID0gW107XHJcbiAgICBnZXQgaXRlbXMoKTogYW55IHtcclxuICAgICAgcmV0dXJuIHRoaXMuI2l0ZW1zO1xyXG4gICAgfVxyXG4gICAgc2V0IGl0ZW1zKHY6IGFueSkge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xyXG4gICAgICAgIHRoaXMuI2l0ZW1zID0gdjtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHRoaXMuI2l0ZW1zID0gdjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiNpdGVtcyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRpc3BsYXlJdGVtcygpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jaXRlbXMgfHwgW107XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuI2l0ZW1zID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jbG9hZGVkSXRlbXMgfHwgW107XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0xvYWRpbmcoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNpc0xvYWRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgX2Zvcm1hdERhdGEodjogYW55W10pIHtcclxuICAgICAgcmV0dXJuIF8udW5pb25CeShcclxuICAgICAgICB2Lm1hcCgobywgaSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBvID09ICdvYmplY3QnKSByZXR1cm4gbztcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBubzogYW55ID0ge307XHJcbiAgICAgICAgICAgIG5vW3RoaXMudmFsdWVGaWVsZF0gPSBvO1xyXG4gICAgICAgICAgICBub1tcclxuICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHRoaXMudGV4dEZpZWxkKSA/IHRoaXMudGV4dEZpZWxkWzBdIDogdGhpcy50ZXh0RmllbGRcclxuICAgICAgICAgICAgXSA9IG87XHJcbiAgICAgICAgICAgIHJldHVybiBubztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICB0aGlzLnZhbHVlRmllbGRcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBfZmluZE5vZGUocGFyZW50SWQ6IG51bWJlciwgX2NoaWxkcmVuOiBhbnksIHNvdXJjZTogYW55KSB7XHJcbiAgICAgIGlmIChzb3VyY2UubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHNvdXJjZS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudFt0aGlzLnZhbHVlRmllbGRdID09IHBhcmVudElkKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuY2hpbGRyZW4gPSBfY2hpbGRyZW47XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoZWxlbWVudD8uY2hpbGRyZW4pXHJcbiAgICAgICAgICAgICAgdGhpcy5fZmluZE5vZGUocGFyZW50SWQsIF9jaGlsZHJlbiwgZWxlbWVudC5jaGlsZHJlbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBfZmV0Y2hEYXRhKHBhcmVudElkPzogbnVtYmVyLCBzZWFyY2hUZXh0Pzogc3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLiNpc0xvYWRpbmcpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuI2l0ZW1zKSB7XHJcbiAgICAgICAgICB0aGlzLiNpc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy4jaXRlbXMoe1xyXG4gICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXHJcbiAgICAgICAgICAgIHNlYXJjaFF1ZXJ5OiBzZWFyY2hUZXh0LFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnRoZW4oKGMpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudElkKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5fZmluZE5vZGUocGFyZW50SWQsIGMsIHRoaXMuZGlzcGxheUl0ZW1zKSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICByZXNvbHZlKCh0aGlzLiNsb2FkZWRJdGVtcyA9IGMpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy4jaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgX29uSW50ZXJuYWxJbml0KCkge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuI2l0ZW1zID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICAgICAgfVxyXG4gICAgICBzdXBlci5fb25JbnRlcm5hbEluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKSB7XHJcbiAgICAgIGlmIChpdGVtKVxyXG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMudGV4dEZpZWxkKVxyXG4gICAgICAgICAgPyB0aGlzLnRleHRGaWVsZC5tYXAoKGMpID0+IGl0ZW1bY10pLmpvaW4oJywnKVxyXG4gICAgICAgICAgOiBpdGVtW3RoaXMudGV4dEZpZWxkXTtcclxuICAgICAgZWxzZSByZXR1cm4gJ0xvYWRpbmcuLi4nO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWZyZXNoKCkge1xyXG4gICAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICAgIH1cclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQkFTRU1FTlVfSU5QVVRTID0gW1xyXG4gICd0ZXh0RmllbGQnLFxyXG4gICd2YWx1ZUZpZWxkJyxcclxuICAnaXRlbXMnLFxyXG4gICdwYXJlbnRJZCcsXHJcbiAgJ2ljb25GaWVsZCcsXHJcbiAgJ3Rvb2x0aXAnLFxyXG4gICdpc09wZW4nLFxyXG4gICdpc0FjdGl2ZScsXHJcbiAgJ3Zpc2libGVGaWVsZCcsXHJcbiAgJ2Rpc2FibGVGaWVsZCcsXHJcbiAgJ2hhc0NoaWxkRmllbGQnLFxyXG4gICdvcGVuTW9kZScsXHJcbiAgJ2Rpc3BsYXlNb2RlJyxcclxuICAnZGl2aWRlckZpZWxkJyxcclxuXTtcclxuZXhwb3J0IGNvbnN0IEJBU0VNRU5VX09VVFBVVCA9IFsnb25NZW51SXRlbUNsaWNrJ107XHJcbiJdfQ==
@@ -45,4 +45,4 @@ export const COLOR_LOOK_INPUTS = [
45
45
  'look',
46
46
  ];
47
47
  export const COLOR_LOOK_OUTPUT = ['lookChange', 'colorChange'];
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItbG9vay1taXhpbmcuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9taXhpbi9zcmMvY29sb3ItbG9vay1taXhpbmcuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3QyxNQUFNLFVBQVUsd0JBQXdCLENBQTZDLElBQVc7SUFDNUYsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQUVyQixZQUFZLEdBQUcsSUFBVztZQUN0QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUduQixnQkFBVyxHQUFtQyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pFLFdBQU0sR0FBcUIsU0FBUyxDQUFDO1lBaUJyQyxlQUFVLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDL0QsVUFBSyxHQUFxQixTQUFTLENBQUM7UUFyQmxDLENBQUM7UUFJSDs7VUFFRTtRQUNGLElBQUksS0FBSztZQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsS0FBdUI7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDWixJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLO2dCQUNMLGFBQWEsRUFBRSxHQUFHLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzdCLENBQUM7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO1FBSUQ7O1VBRUU7UUFDRixJQUFJLElBQUk7WUFDSixPQUFPLElBQUksQ0FBQyxLQUFNLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQXNCO1lBQzNCLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ1osSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSztnQkFDTCxhQUFhLEVBQUUsR0FBRyxFQUFFO29CQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM3QixDQUFDO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsT0FBTztJQUNQLE1BQU07Q0FDUCxDQUFDO0FBQ0osTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxZQUFZLEVBQUMsYUFBYSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFN0eWxlQ29sb3JUeXBlLCBBWFN0eWxlTG9va1R5cGUgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLWNvbXBvbmVudHMuY2xhc3NcIjtcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiLi9jb25zdHJhdGN0b3JcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfQ29sb3JMb29rQ29tcG9uZW50TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICBjb2xvckNoYW5nZTogRXZlbnRFbWl0dGVyPEFYU3R5bGVDb2xvclR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgICAgIF9jb2xvcjogQVhTdHlsZUNvbG9yVHlwZSA9ICdwcmltYXJ5JztcclxuICAgICAgICAvKipcclxuICAgICAgICAqICBQcmVkZWZpbmVkIGNvbG9yIHNjaGVtZXNcclxuICAgICAgICAqL1xyXG4gICAgICAgIGdldCBjb2xvcigpOiBBWFN0eWxlQ29sb3JUeXBlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZXQgY29sb3IodmFsdWU6IEFYU3R5bGVDb2xvclR5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdjb2xvcicsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbG9va0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYU3R5bGVMb29rVHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICAgICAgX2xvb2s/OiBBWFN0eWxlTG9va1R5cGUgPSAnZGVmYXVsdCc7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiAgUHJlZGVmaW5lZCBsb29rIHNjaGVtZXNcclxuICAgICAgICAqL1xyXG4gICAgICAgIGdldCBsb29rKCk6IEFYU3R5bGVMb29rVHlwZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb29rITtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0IGxvb2sodmFsdWU6IEFYU3R5bGVMb29rVHlwZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2xvb2snLFxyXG4gICAgICAgICAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY29uc3QgQ09MT1JfTE9PS19JTlBVVFMgPSBbXHJcbiAgICAnY29sb3InLFxyXG4gICAgJ2xvb2snLFxyXG4gIF07XHJcbmV4cG9ydCBjb25zdCBDT0xPUl9MT09LX09VVFBVVCA9IFsnbG9va0NoYW5nZScsJ2NvbG9yQ2hhbmdlJ107Il19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItbG9vay1taXhpbmcuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9taXhpbi9zcmMvY29sb3ItbG9vay1taXhpbmcuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3QyxNQUFNLFVBQVUsd0JBQXdCLENBQTZDLElBQVc7SUFDNUYsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQUVyQixZQUFZLEdBQUcsSUFBVztZQUN0QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUduQixnQkFBVyxHQUFtQyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pFLFdBQU0sR0FBcUIsU0FBUyxDQUFDO1lBaUJyQyxlQUFVLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDL0QsVUFBSyxHQUFxQixTQUFTLENBQUM7UUFyQnBDLENBQUM7UUFJRDs7VUFFRTtRQUNGLElBQUksS0FBSztZQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsS0FBdUI7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDWixJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLO2dCQUNMLGFBQWEsRUFBRSxHQUFHLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzdCLENBQUM7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO1FBSUQ7O1VBRUU7UUFDRixJQUFJLElBQUk7WUFDSixPQUFPLElBQUksQ0FBQyxLQUFNLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQXNCO1lBQzNCLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ1osSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSztnQkFDTCxhQUFhLEVBQUUsR0FBRyxFQUFFO29CQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM3QixDQUFDO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsT0FBTztJQUNQLE1BQU07Q0FDVCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFN0eWxlQ29sb3JUeXBlLCBBWFN0eWxlTG9va1R5cGUgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLWNvbXBvbmVudHMuY2xhc3NcIjtcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiLi9jb25zdHJhdGN0b3JcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfQ29sb3JMb29rQ29tcG9uZW50TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29sb3JDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWFN0eWxlQ29sb3JUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgICAgICBfY29sb3I6IEFYU3R5bGVDb2xvclR5cGUgPSAncHJpbWFyeSc7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiAgUHJlZGVmaW5lZCBjb2xvciBzY2hlbWVzXHJcbiAgICAgICAgKi9cclxuICAgICAgICBnZXQgY29sb3IoKTogQVhTdHlsZUNvbG9yVHlwZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0IGNvbG9yKHZhbHVlOiBBWFN0eWxlQ29sb3JUeXBlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnY29sb3InLFxyXG4gICAgICAgICAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxvb2tDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWFN0eWxlTG9va1R5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgICAgIF9sb29rPzogQVhTdHlsZUxvb2tUeXBlID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIFByZWRlZmluZWQgbG9vayBzY2hlbWVzXHJcbiAgICAgICAgKi9cclxuICAgICAgICBnZXQgbG9vaygpOiBBWFN0eWxlTG9va1R5cGUge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9vayE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldCBsb29rKHZhbHVlOiBBWFN0eWxlTG9va1R5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdsb29rJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlLFxyXG4gICAgICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IENPTE9SX0xPT0tfSU5QVVRTID0gW1xyXG4gICAgJ2NvbG9yJyxcclxuICAgICdsb29rJyxcclxuXTtcclxuZXhwb3J0IGNvbnN0IENPTE9SX0xPT0tfT1VUUFVUID0gWydsb29rQ2hhbmdlJywgJ2NvbG9yQ2hhbmdlJ107Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3NyYy9ub3RpZmljYXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTG9jYXRpb24sIEFYU3R5bGVDb2xvclR5cGUsIEFYU3R5bGVMb29rVHlwZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFYQnV0dG9uSXRlbSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYTm90aWZpY2F0aW9uT3B0aW9ucyB7XHJcbiAgICB0aW1lT3V0PzogbnVtYmVyIHwgYW55O1xyXG4gICAgaWNvbj86IHN0cmluZztcclxuICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgY29udGVudD86IHN0cmluZztcclxuICAgIGNsb3NlYWJsZT86IGJvb2xlYW47XHJcbiAgICBsb2NhdGlvbj86IEFYTG9jYXRpb247XHJcbiAgICBjb2xvcjogQVhTdHlsZUNvbG9yVHlwZTtcclxuICAgIGxvb2s/OiBBWFN0eWxlTG9va1R5cGU7XHJcbiAgICBidXR0b25zPzogQVhCdXR0b25JdGVtW11cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWE5vdGlmaWNhdGlvblJlZiB7XHJcbiAgICBjbG9zZSgpOiB2b2lkO1xyXG59XHJcblxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3NyYy9ub3RpZmljYXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTG9jYXRpb24sIEFYU3R5bGVDb2xvclR5cGUsIEFYU3R5bGVMb29rVHlwZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFYQnV0dG9uSXRlbSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uXCI7XHJcbmltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCB0eXBlIEFYTm90aWZpY2F0aW9uQ29udGVudFR5cGUgPSBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgRnVuY3Rpb247XHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhOb3RpZmljYXRpb25PcHRpb25zIHtcclxuICAgIHRpbWVPdXQ/OiBudW1iZXIgfCBhbnk7XHJcbiAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgICBjb250ZW50PzogQVhOb3RpZmljYXRpb25Db250ZW50VHlwZTtcclxuICAgIGNsb3NlYWJsZT86IGJvb2xlYW47XHJcbiAgICBsb2NhdGlvbj86IEFYTG9jYXRpb247XHJcbiAgICBjb2xvcjogQVhTdHlsZUNvbG9yVHlwZTtcclxuICAgIGxvb2s/OiBBWFN0eWxlTG9va1R5cGU7XHJcbiAgICBidXR0b25zPzogQVhCdXR0b25JdGVtW11cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWE5vdGlmaWNhdGlvblJlZiB7XHJcbiAgICBjbG9zZSgpOiB2b2lkO1xyXG59XHJcblxyXG4iXX0=
@@ -1,8 +1,11 @@
1
1
  import { AXClosbaleComponent } from '@acorex/components/common';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, } from '@angular/core';
2
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, TemplateRef, } from '@angular/core';
3
3
  import { AXBaseComponentMixin } from '@acorex/components/mixin';
4
+ import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/cdk/portal";
8
+ import * as i3 from "@acorex/components/button";
6
9
  /**
7
10
  * The Button is a component which detects user interaction and triggers a corresponding event
8
11
  *
@@ -12,16 +15,33 @@ export class AXNotificationComponent extends AXBaseComponentMixin {
12
15
  /**
13
16
  * @ignore
14
17
  */
15
- constructor(elementRef, cdr) {
18
+ constructor(elementRef, cdr, viewRef) {
16
19
  super(elementRef, cdr);
17
- this._notificationWidth = 100;
20
+ this.viewRef = viewRef;
18
21
  }
19
22
  onInit() {
23
+ this._initContent();
24
+ this._initIcon();
25
+ this._handleTimeOut();
26
+ }
27
+ _handleTimeOut() {
20
28
  if (this.options.timeOut) {
21
29
  setTimeout(() => {
22
30
  this.close();
23
31
  }, this.options.timeOut);
24
32
  }
33
+ }
34
+ _initContent() {
35
+ if (this.options.content instanceof (TemplateRef)) {
36
+ this._selectedPortal = new TemplatePortal(this.options.content, this.viewRef);
37
+ this._cdr.markForCheck();
38
+ }
39
+ else if (typeof this.options.content === 'function') {
40
+ this._selectedPortal = new ComponentPortal(this.options.content);
41
+ this._cdr.markForCheck();
42
+ }
43
+ }
44
+ _initIcon() {
25
45
  if (!this.options.icon) {
26
46
  switch (this.options.color) {
27
47
  case 'success':
@@ -51,13 +71,17 @@ export class AXNotificationComponent extends AXBaseComponentMixin {
51
71
  return `ax-${this.options.color}`;
52
72
  }
53
73
  }
54
- AXNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXNotificationComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
55
- AXNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], usesInheritance: true, ngImport: i0, template: "<!-- <ax-alert [color]=\"options.color\" [timeOut]=\"options.timeOut\">\r\n <ax-icon *ngIf=\"_icon\" [icon]=\"_icon\"></ax-icon>\r\n <ax-title [text]=\"options.title\"></ax-title>\r\n <ax-close-button *ngIf=\"options.closeable\"></ax-close-button>\r\n <ax-content *ngIf=\"options.content\">\r\n <div [innerHTML]=\"options.content\"></div>\r\n </ax-content>\r\n <ax-footer *ngIf=\"options?.buttons?.length\">\r\n <ax-button *ngFor=\"let button of options.buttons\" [text]=\"button.text\" class=\"ax-sm\"\r\n (onClick)=\"_handleButtonClick(button)\" [color]=\"options.color\" [look]=\"'default'\"></ax-button>\r\n </ax-footer>\r\n</ax-alert> -->\r\n<span [class]=\"'ax-toast-icon '+ _icon \"></span>\r\n<div class=\"ax-toast-content\">\r\n <div class=\"ax-toast-title\">{{options.title}}</div>\r\n <div [innerHTML]=\"options.content\"></div>\r\n <div class=\"ax-toast-buttons\" *ngIf=\"options?.buttons?.length\">\r\n <button *ngFor=\"let button of options.buttons\" (click)=\"_handleButtonClick(button)\">\r\n {{button.text}}\r\n </button>\r\n </div>\r\n</div>\r\n<span class=\"ax-icon ax-icon-close\" (click)=\"close()\"></span>\r\n<div class=\"ax-toast-progress\" [style.animation-duration.ms]=\"options.timeOut\" *ngIf=\"options.timeOut\"></div>", styles: ["ax-toast{width:max(20vw,380px);display:flex;padding:.75rem 1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgb(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden}ax-toast.ax-primary{background-color:rgb(var(--ax-color-primary-50));color:rgb(var(--ax-color-primary-700));border-color:rgb(var(--ax-color-primary-500))}ax-toast.ax-primary .ax-toast-title{color:rgb(var(--ax-color-primary-800))}ax-toast.ax-primary .ax-toast-progress{background-color:rgb(var(--ax-color-primary-500))}ax-toast.ax-secondary{background-color:rgb(var(--ax-color-secondary-50));color:rgb(var(--ax-color-secondary-700));border-color:rgb(var(--ax-color-secondary-500))}ax-toast.ax-secondary .ax-toast-title{color:rgb(var(--ax-color-secondary-800))}ax-toast.ax-secondary .ax-toast-progress{background-color:rgb(var(--ax-color-secondary-500))}ax-toast.ax-success{background-color:rgb(var(--ax-color-success-50));color:rgb(var(--ax-color-success-700));border-color:rgb(var(--ax-color-success-500))}ax-toast.ax-success .ax-toast-title{color:rgb(var(--ax-color-success-800))}ax-toast.ax-success .ax-toast-progress{background-color:rgb(var(--ax-color-success-500))}ax-toast.ax-warning{background-color:rgb(var(--ax-color-warning-50));color:rgb(var(--ax-color-warning-700));border-color:rgb(var(--ax-color-warning-500))}ax-toast.ax-warning .ax-toast-title{color:rgb(var(--ax-color-warning-800))}ax-toast.ax-warning .ax-toast-progress{background-color:rgb(var(--ax-color-warning-500))}ax-toast.ax-danger{background-color:rgb(var(--ax-color-danger-50));color:rgb(var(--ax-color-danger-700));border-color:rgb(var(--ax-color-danger-500))}ax-toast.ax-danger .ax-toast-title{color:rgb(var(--ax-color-danger-800))}ax-toast.ax-danger .ax-toast-progress{background-color:rgb(var(--ax-color-danger-500))}@media (max-width: 599px){ax-toast{width:98vw}}ax-toast .ax-toast-icon,ax-toast .ax-icon-close{font-size:1.25rem}ax-toast .ax-toast-icon{padding-inline-end:.75rem}ax-toast .ax-toast-content{display:flex;flex-direction:column;flex:1}ax-toast .ax-toast-content .ax-toast-title{font-weight:500;margin-bottom:.5rem}ax-toast .ax-toast-content .ax-toast-buttons{margin-top:.25rem}ax-toast .ax-toast-content .ax-toast-buttons button{font-weight:700}ax-toast .ax-toast-content .ax-toast-buttons button:hover{opacity:.6}ax-toast .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content}ax-toast .ax-icon-close:hover{opacity:.6}ax-toast .ax-toast-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXNotificationComponent, decorators: [{
74
+ AXNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXNotificationComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
75
+ AXNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [
76
+ { provide: AXClosbaleComponent, useExisting: AXNotificationComponent },
77
+ ], usesInheritance: true, ngImport: i0, template: "<span [class]=\"'ax-notification-icon' + ' ' + _icon\"></span>\r\n<div class=\"ax-notification-content\">\r\n <div class=\"ax-notification-title\">{{ options.title }}</div>\r\n <ng-template *ngIf=\"_selectedPortal\">\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\r\n </ng-template>\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\r\n <div *ngIf=\"!_selectedPortal\">{{ options.content }}</div>\r\n <div class=\"ax-notification-buttons\" *ngIf=\"options?.buttons?.length\">\r\n <ax-button\r\n *ngFor=\"let button of options.buttons\"\r\n class=\"ax-xs\"\r\n [text]=\"button.text\"\r\n [color]=\"button.color\"\r\n [look]=\"button.look\"\r\n (onClick)=\"_handleButtonClick(button)\">\r\n {{ button.text }}\r\n </ax-button>\r\n </div>\r\n</div>\r\n<span class=\"ax-icon ax-icon-close\" (click)=\"close()\"></span>\r\n<div\r\n class=\"ax-notification-progress\"\r\n [style.animation-duration.ms]=\"options.timeOut\"\r\n *ngIf=\"options.timeOut\"></div>\r\n", styles: ["html.ax-dark ax-notification{background-color:rgb(var(--ax-color-on-surface))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgb(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgb(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgb(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgb(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgb(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgb(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgb(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgb(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgb(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgb(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgb(var(--ax-color-danger-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-ghost),.64);font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-ghost))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-ghost),.64)}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXNotificationComponent, decorators: [{
57
79
  type: Component,
58
- args: [{ selector: 'ax-notification', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], template: "<!-- <ax-alert [color]=\"options.color\" [timeOut]=\"options.timeOut\">\r\n <ax-icon *ngIf=\"_icon\" [icon]=\"_icon\"></ax-icon>\r\n <ax-title [text]=\"options.title\"></ax-title>\r\n <ax-close-button *ngIf=\"options.closeable\"></ax-close-button>\r\n <ax-content *ngIf=\"options.content\">\r\n <div [innerHTML]=\"options.content\"></div>\r\n </ax-content>\r\n <ax-footer *ngIf=\"options?.buttons?.length\">\r\n <ax-button *ngFor=\"let button of options.buttons\" [text]=\"button.text\" class=\"ax-sm\"\r\n (onClick)=\"_handleButtonClick(button)\" [color]=\"options.color\" [look]=\"'default'\"></ax-button>\r\n </ax-footer>\r\n</ax-alert> -->\r\n<span [class]=\"'ax-toast-icon '+ _icon \"></span>\r\n<div class=\"ax-toast-content\">\r\n <div class=\"ax-toast-title\">{{options.title}}</div>\r\n <div [innerHTML]=\"options.content\"></div>\r\n <div class=\"ax-toast-buttons\" *ngIf=\"options?.buttons?.length\">\r\n <button *ngFor=\"let button of options.buttons\" (click)=\"_handleButtonClick(button)\">\r\n {{button.text}}\r\n </button>\r\n </div>\r\n</div>\r\n<span class=\"ax-icon ax-icon-close\" (click)=\"close()\"></span>\r\n<div class=\"ax-toast-progress\" [style.animation-duration.ms]=\"options.timeOut\" *ngIf=\"options.timeOut\"></div>", styles: ["ax-toast{width:max(20vw,380px);display:flex;padding:.75rem 1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgb(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden}ax-toast.ax-primary{background-color:rgb(var(--ax-color-primary-50));color:rgb(var(--ax-color-primary-700));border-color:rgb(var(--ax-color-primary-500))}ax-toast.ax-primary .ax-toast-title{color:rgb(var(--ax-color-primary-800))}ax-toast.ax-primary .ax-toast-progress{background-color:rgb(var(--ax-color-primary-500))}ax-toast.ax-secondary{background-color:rgb(var(--ax-color-secondary-50));color:rgb(var(--ax-color-secondary-700));border-color:rgb(var(--ax-color-secondary-500))}ax-toast.ax-secondary .ax-toast-title{color:rgb(var(--ax-color-secondary-800))}ax-toast.ax-secondary .ax-toast-progress{background-color:rgb(var(--ax-color-secondary-500))}ax-toast.ax-success{background-color:rgb(var(--ax-color-success-50));color:rgb(var(--ax-color-success-700));border-color:rgb(var(--ax-color-success-500))}ax-toast.ax-success .ax-toast-title{color:rgb(var(--ax-color-success-800))}ax-toast.ax-success .ax-toast-progress{background-color:rgb(var(--ax-color-success-500))}ax-toast.ax-warning{background-color:rgb(var(--ax-color-warning-50));color:rgb(var(--ax-color-warning-700));border-color:rgb(var(--ax-color-warning-500))}ax-toast.ax-warning .ax-toast-title{color:rgb(var(--ax-color-warning-800))}ax-toast.ax-warning .ax-toast-progress{background-color:rgb(var(--ax-color-warning-500))}ax-toast.ax-danger{background-color:rgb(var(--ax-color-danger-50));color:rgb(var(--ax-color-danger-700));border-color:rgb(var(--ax-color-danger-500))}ax-toast.ax-danger .ax-toast-title{color:rgb(var(--ax-color-danger-800))}ax-toast.ax-danger .ax-toast-progress{background-color:rgb(var(--ax-color-danger-500))}@media (max-width: 599px){ax-toast{width:98vw}}ax-toast .ax-toast-icon,ax-toast .ax-icon-close{font-size:1.25rem}ax-toast .ax-toast-icon{padding-inline-end:.75rem}ax-toast .ax-toast-content{display:flex;flex-direction:column;flex:1}ax-toast .ax-toast-content .ax-toast-title{font-weight:500;margin-bottom:.5rem}ax-toast .ax-toast-content .ax-toast-buttons{margin-top:.25rem}ax-toast .ax-toast-content .ax-toast-buttons button{font-weight:700}ax-toast .ax-toast-content .ax-toast-buttons button:hover{opacity:.6}ax-toast .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content}ax-toast .ax-icon-close:hover{opacity:.6}ax-toast .ax-toast-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"] }]
59
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { __hostClass: [{
80
+ args: [{ selector: 'ax-notification', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
81
+ { provide: AXClosbaleComponent, useExisting: AXNotificationComponent },
82
+ ], template: "<span [class]=\"'ax-notification-icon' + ' ' + _icon\"></span>\r\n<div class=\"ax-notification-content\">\r\n <div class=\"ax-notification-title\">{{ options.title }}</div>\r\n <ng-template *ngIf=\"_selectedPortal\">\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\r\n </ng-template>\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\r\n <div *ngIf=\"!_selectedPortal\">{{ options.content }}</div>\r\n <div class=\"ax-notification-buttons\" *ngIf=\"options?.buttons?.length\">\r\n <ax-button\r\n *ngFor=\"let button of options.buttons\"\r\n class=\"ax-xs\"\r\n [text]=\"button.text\"\r\n [color]=\"button.color\"\r\n [look]=\"button.look\"\r\n (onClick)=\"_handleButtonClick(button)\">\r\n {{ button.text }}\r\n </ax-button>\r\n </div>\r\n</div>\r\n<span class=\"ax-icon ax-icon-close\" (click)=\"close()\"></span>\r\n<div\r\n class=\"ax-notification-progress\"\r\n [style.animation-duration.ms]=\"options.timeOut\"\r\n *ngIf=\"options.timeOut\"></div>\r\n", styles: ["html.ax-dark ax-notification{background-color:rgb(var(--ax-color-on-surface))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgb(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgb(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgb(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgb(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgb(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgb(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgb(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgb(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgb(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgb(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgb(var(--ax-color-danger-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-ghost),.64);font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-ghost))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-ghost),.64)}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"] }]
83
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { __hostClass: [{
60
84
  type: HostBinding,
61
85
  args: ['class']
62
86
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUdoRTs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG9CQUFvQjtJQVMvRDs7T0FFRztJQUNILFlBQVksVUFBc0IsRUFBRSxHQUFzQjtRQUN4RCxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBVHpCLHVCQUFrQixHQUFXLEdBQUcsQ0FBQztJQVVqQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUN0QixRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUMxQixLQUFLLFNBQVM7b0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxtQ0FBbUMsQ0FBQztvQkFDakQsTUFBTTtnQkFDUixLQUFLLFNBQVM7b0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyw4QkFBOEIsQ0FBQztvQkFDNUMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyw0QkFBNEIsQ0FBQztvQkFDMUMsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLG1DQUFtQyxDQUFDO29CQUN0RSxNQUFNO2FBQ1Q7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFvQjtRQUNyQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxJQUNZLFdBQVc7UUFDckIsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDbkMsQ0FBQzs7b0hBbkRVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGlHQUZ2QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLGlEQ3hCckYsc3pDQXVCNkc7MkZER2hHLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcseUJBQXlCLEVBQUUsQ0FBQztpSUFtRHZFLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2xvc2JhbGVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQVhCdXR0b25JdGVtIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudE1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuaW1wb3J0IHsgQVhOb3RpZmljYXRpb25PcHRpb25zIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uY2xhc3MnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbm90aWZpY2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhDbG9zYmFsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTm90aWZpY2F0aW9uQ29tcG9uZW50IH1dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhOb3RpZmljYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRNaXhpbiB7XHJcblxyXG4gIG9wdGlvbnM6IEFYTm90aWZpY2F0aW9uT3B0aW9ucztcclxuXHJcbiAgX25vdGlmaWNhdGlvbldpZHRoOiBudW1iZXIgPSAxMDA7XHJcblxyXG4gIF9pY29uOiBzdHJpbmc7XHJcblxyXG4gIGNsb3NlOiAoKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqICBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMudGltZU91dCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIH0sIHRoaXMub3B0aW9ucy50aW1lT3V0KTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5vcHRpb25zLmljb24pIHtcclxuICAgICAgc3dpdGNoICh0aGlzLm9wdGlvbnMuY29sb3IpIHtcclxuICAgICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICAgIHRoaXMuX2ljb24gPSAnYXgtaWNvbiBheC1pY29uLWNoZWNrLWNpcmNsZS1maWxsJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxyXG4gICAgICAgICAgdGhpcy5faWNvbiA9ICdheC1pY29uIGF4LWljb24td2FybmluZy1maWxsJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2Rhbmdlcic6XHJcbiAgICAgICAgICB0aGlzLl9pY29uID0gJ2F4LWljb24gYXgtaWNvbi1lcnJvci1maWxsJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9pY29uID0gdGhpcy5vcHRpb25zLmljb24gfHwgJ2F4LWljb24gYXgtaWNvbi1jaGVjay1jaXJjbGUtZmlsbCc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faWNvbiA9IHRoaXMub3B0aW9ucy5pY29uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbjogQVhCdXR0b25JdGVtKSB7XHJcbiAgICBpZiAoYnV0dG9uLm9uQ2xpY2spIHtcclxuICAgICAgYnV0dG9uLm9uQ2xpY2sodGhpcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGBheC0ke3RoaXMub3B0aW9ucy5jb2xvcn1gXHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPCEtLSA8YXgtYWxlcnQgW2NvbG9yXT1cIm9wdGlvbnMuY29sb3JcIiAgW3RpbWVPdXRdPVwib3B0aW9ucy50aW1lT3V0XCI+XHJcbiAgICA8YXgtaWNvbiAqbmdJZj1cIl9pY29uXCIgW2ljb25dPVwiX2ljb25cIj48L2F4LWljb24+XHJcbiAgICA8YXgtdGl0bGUgW3RleHRdPVwib3B0aW9ucy50aXRsZVwiPjwvYXgtdGl0bGU+XHJcbiAgICA8YXgtY2xvc2UtYnV0dG9uICAqbmdJZj1cIm9wdGlvbnMuY2xvc2VhYmxlXCI+PC9heC1jbG9zZS1idXR0b24+XHJcbiAgICA8YXgtY29udGVudCAqbmdJZj1cIm9wdGlvbnMuY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJvcHRpb25zLmNvbnRlbnRcIj48L2Rpdj5cclxuICAgIDwvYXgtY29udGVudD5cclxuICAgIDxheC1mb290ZXIgKm5nSWY9XCJvcHRpb25zPy5idXR0b25zPy5sZW5ndGhcIj5cclxuICAgICAgICA8YXgtYnV0dG9uICpuZ0Zvcj1cImxldCBidXR0b24gb2Ygb3B0aW9ucy5idXR0b25zXCIgW3RleHRdPVwiYnV0dG9uLnRleHRcIiBjbGFzcz1cImF4LXNtXCJcclxuICAgICAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbilcIiBbY29sb3JdPVwib3B0aW9ucy5jb2xvclwiIFtsb29rXT1cIidkZWZhdWx0J1wiPjwvYXgtYnV0dG9uPlxyXG4gICAgPC9heC1mb290ZXI+XHJcbjwvYXgtYWxlcnQ+IC0tPlxyXG48c3BhbiBbY2xhc3NdPVwiJ2F4LXRvYXN0LWljb24gJysgX2ljb24gXCI+PC9zcGFuPlxyXG48ZGl2IGNsYXNzPVwiYXgtdG9hc3QtY29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LXRvYXN0LXRpdGxlXCI+e3tvcHRpb25zLnRpdGxlfX08L2Rpdj5cclxuICAgIDxkaXYgW2lubmVySFRNTF09XCJvcHRpb25zLmNvbnRlbnRcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC10b2FzdC1idXR0b25zXCIgKm5nSWY9XCJvcHRpb25zPy5idXR0b25zPy5sZW5ndGhcIj5cclxuICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBidXR0b24gb2Ygb3B0aW9ucy5idXR0b25zXCIgKGNsaWNrKT1cIl9oYW5kbGVCdXR0b25DbGljayhidXR0b24pXCI+XHJcbiAgICAgICAgICAgIHt7YnV0dG9uLnRleHR9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+PC9zcGFuPlxyXG48ZGl2IGNsYXNzPVwiYXgtdG9hc3QtcHJvZ3Jlc3NcIiBbc3R5bGUuYW5pbWF0aW9uLWR1cmF0aW9uLm1zXT1cIm9wdGlvbnMudGltZU91dFwiICpuZ0lmPVwib3B0aW9ucy50aW1lT3V0XCI+PC9kaXY+Il19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQVUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBRTlFOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9CO0lBTS9EOztPQUVHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixHQUFzQixFQUNkLE9BQXlCO1FBRWpDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFGZixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUduQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFDTyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGFBQVksV0FBZ0IsQ0FBQSxFQUFFO1lBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBMkIsRUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMxQjthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7WUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQWMsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUN0QixRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUMxQixLQUFLLFNBQVM7b0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxtQ0FBbUMsQ0FBQztvQkFDakQsTUFBTTtnQkFDUixLQUFLLFNBQVM7b0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyw4QkFBOEIsQ0FBQztvQkFDNUMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyw0QkFBNEIsQ0FBQztvQkFDMUMsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLG1DQUFtQyxDQUFDO29CQUN0RSxNQUFNO2FBQ1Q7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFvQjtRQUNyQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxJQUNZLFdBQVc7UUFDckIsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7b0hBekVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGlHQUp2QjtRQUNULEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtLQUN2RSxpREM3QkgsOGhDQXlCQTsyRkRNYSx1QkFBdUI7a0JBVm5DLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDdkU7Z0tBeUVXLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2xvc2JhbGVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQVhCdXR0b25JdGVtIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5pbXBvcnQgeyBBWE5vdGlmaWNhdGlvbk9wdGlvbnMgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5jbGFzcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbm90aWZpY2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBBWENsb3NiYWxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOb3RpZmljYXRpb25Db21wb25lbnQgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhOb3RpZmljYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRNaXhpbiB7XHJcbiAgb3B0aW9uczogQVhOb3RpZmljYXRpb25PcHRpb25zO1xyXG4gIF9zZWxlY3RlZFBvcnRhbDogUG9ydGFsPGFueT47XHJcbiAgX2ljb246IHN0cmluZztcclxuXHJcbiAgY2xvc2U6ICgpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCkge1xyXG4gICAgdGhpcy5faW5pdENvbnRlbnQoKTtcclxuICAgIHRoaXMuX2luaXRJY29uKCk7XHJcbiAgICB0aGlzLl9oYW5kbGVUaW1lT3V0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVUaW1lT3V0KCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy50aW1lT3V0KSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgfSwgdGhpcy5vcHRpb25zLnRpbWVPdXQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9pbml0Q29udGVudCgpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLmNvbnRlbnQgYXMgVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICB0aGlzLnZpZXdSZWZcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLmNvbnRlbnQgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMub3B0aW9ucy5jb250ZW50IGFzIGFueSk7XHJcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRJY29uKCkge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuaWNvbikge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5jb2xvcikge1xyXG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxyXG4gICAgICAgICAgdGhpcy5faWNvbiA9ICdheC1pY29uIGF4LWljb24tY2hlY2stY2lyY2xlLWZpbGwnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnd2FybmluZyc6XHJcbiAgICAgICAgICB0aGlzLl9pY29uID0gJ2F4LWljb24gYXgtaWNvbi13YXJuaW5nLWZpbGwnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZGFuZ2VyJzpcclxuICAgICAgICAgIHRoaXMuX2ljb24gPSAnYXgtaWNvbiBheC1pY29uLWVycm9yLWZpbGwnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX2ljb24gPSB0aGlzLm9wdGlvbnMuaWNvbiB8fCAnYXgtaWNvbiBheC1pY29uLWNoZWNrLWNpcmNsZS1maWxsJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9pY29uID0gdGhpcy5vcHRpb25zLmljb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlQnV0dG9uQ2xpY2soYnV0dG9uOiBBWEJ1dHRvbkl0ZW0pIHtcclxuICAgIGlmIChidXR0b24ub25DbGljaykge1xyXG4gICAgICBidXR0b24ub25DbGljayh0aGlzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYGF4LSR7dGhpcy5vcHRpb25zLmNvbG9yfWA7XHJcbiAgfVxyXG59XHJcbiIsIjxzcGFuIFtjbGFzc109XCInYXgtbm90aWZpY2F0aW9uLWljb24nICsgJyAnICsgX2ljb25cIj48L3NwYW4+XHJcbjxkaXYgY2xhc3M9XCJheC1ub3RpZmljYXRpb24tY29udGVudFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJheC1ub3RpZmljYXRpb24tdGl0bGVcIj57eyBvcHRpb25zLnRpdGxlIH19PC9kaXY+XHJcbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiX3NlbGVjdGVkUG9ydGFsXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfc2VsZWN0ZWRQb3J0YWxcIj48L25nLXRlbXBsYXRlPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX3NlbGVjdGVkUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICA8ZGl2ICpuZ0lmPVwiIV9zZWxlY3RlZFBvcnRhbFwiPnt7IG9wdGlvbnMuY29udGVudCB9fTwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJheC1ub3RpZmljYXRpb24tYnV0dG9uc1wiICpuZ0lmPVwib3B0aW9ucz8uYnV0dG9ucz8ubGVuZ3RoXCI+XHJcbiAgICA8YXgtYnV0dG9uXHJcbiAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2Ygb3B0aW9ucy5idXR0b25zXCJcclxuICAgICAgY2xhc3M9XCJheC14c1wiXHJcbiAgICAgIFt0ZXh0XT1cImJ1dHRvbi50ZXh0XCJcclxuICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvclwiXHJcbiAgICAgIFtsb29rXT1cImJ1dHRvbi5sb29rXCJcclxuICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbilcIj5cclxuICAgICAge3sgYnV0dG9uLnRleHQgfX1cclxuICAgIDwvYXgtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPjwvc3Bhbj5cclxuPGRpdlxyXG4gIGNsYXNzPVwiYXgtbm90aWZpY2F0aW9uLXByb2dyZXNzXCJcclxuICBbc3R5bGUuYW5pbWF0aW9uLWR1cmF0aW9uLm1zXT1cIm9wdGlvbnMudGltZU91dFwiXHJcbiAgKm5nSWY9XCJvcHRpb25zLnRpbWVPdXRcIj48L2Rpdj5cclxuIl19
@@ -1,15 +1,17 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { AXNotificationComponent } from './notification.component';
4
+ import { PortalModule } from '@angular/cdk/portal';
5
+ import { AXButtonModule } from '@acorex/components/button';
4
6
  import * as i0 from "@angular/core";
5
7
  const COMPONENT = [AXNotificationComponent];
6
- const MODULES = [CommonModule];
8
+ const MODULES = [CommonModule, PortalModule, AXButtonModule];
7
9
  export class AXNotificationModule {
8
10
  }
9
- AXNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- AXNotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXNotificationModule, declarations: [AXNotificationComponent], imports: [CommonModule], exports: [AXNotificationComponent] });
11
- AXNotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXNotificationModule, imports: [MODULES] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXNotificationModule, decorators: [{
11
+ AXNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ AXNotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXNotificationModule, declarations: [AXNotificationComponent], imports: [CommonModule, PortalModule, AXButtonModule], exports: [AXNotificationComponent] });
13
+ AXNotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXNotificationModule, imports: [MODULES] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXNotificationModule, decorators: [{
13
15
  type: NgModule,
14
16
  args: [{
15
17
  declarations: [...COMPONENT],
@@ -18,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
18
20
  providers: [],
19
21
  }]
20
22
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFbkUsTUFBTSxTQUFTLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQzVDLE1BQU0sT0FBTyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7QUFRL0IsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQVRkLHVCQUF1QixhQUN6QixZQUFZLGFBRFYsdUJBQXVCO2tIQVM3QixvQkFBb0IsWUFKaEIsT0FBTzsyRkFJWCxvQkFBb0I7a0JBTmhDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UID0gW0FYTm90aWZpY2F0aW9uQ29tcG9uZW50XTtcclxuY29uc3QgTU9EVUxFUyA9IFtDb21tb25Nb2R1bGVdO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVF0sXHJcbiAgICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXHJcbiAgICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcclxuICAgIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE5vdGlmaWNhdGlvbk1vZHVsZSB7XHJcbiAgXHJcbn1cclxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUUzRCxNQUFNLFNBQVMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDNUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBUTdELE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFUZCx1QkFBdUIsYUFDekIsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLGFBRHhDLHVCQUF1QjtrSEFTN0Isb0JBQW9CLFlBSmxCLE9BQU87MkZBSVQsb0JBQW9CO2tCQU5oQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcclxuXHJcbmNvbnN0IENPTVBPTkVOVCA9IFtBWE5vdGlmaWNhdGlvbkNvbXBvbmVudF07XHJcbmNvbnN0IE1PRFVMRVMgPSBbQ29tbW9uTW9kdWxlLCBQb3J0YWxNb2R1bGUsIEFYQnV0dG9uTW9kdWxlXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcclxuICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXHJcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTm90aWZpY2F0aW9uTW9kdWxlIHt9XHJcbiJdfQ==