@acorex/components 6.0.1 → 6.0.7

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 (1089) hide show
  1. package/README.md +24 -24
  2. package/action-sheet/index.d.ts +5 -0
  3. package/action-sheet/public-api.d.ts +3 -0
  4. package/action-sheet/src/action-sheet-item.component.d.ts +16 -0
  5. package/action-sheet/src/action-sheet.component.d.ts +19 -0
  6. package/action-sheet/src/action-sheet.module.d.ts +10 -0
  7. package/alert/index.d.ts +5 -0
  8. package/alert/public-api.d.ts +2 -0
  9. package/alert/src/alert.component.d.ts +78 -0
  10. package/alert/src/alert.module.d.ts +9 -0
  11. package/avatar/index.d.ts +5 -0
  12. package/avatar/{public-api.ts → public-api.d.ts} +0 -0
  13. package/avatar/src/avatar-group.component.d.ts +8 -0
  14. package/avatar/src/avatar.component.d.ts +22 -0
  15. package/avatar/src/avatar.module.d.ts +9 -0
  16. package/badge/index.d.ts +5 -0
  17. package/badge/public-api.d.ts +2 -0
  18. package/badge/src/badge.component.d.ts +39 -0
  19. package/badge/src/badge.module.d.ts +8 -0
  20. package/breadcrumbs/index.d.ts +5 -0
  21. package/breadcrumbs/public-api.d.ts +4 -0
  22. package/breadcrumbs/src/breadcrumbs-item.class.d.ts +9 -0
  23. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +73 -0
  24. package/breadcrumbs/src/breadcrumbs.component.d.ts +13 -0
  25. package/breadcrumbs/src/breadcrumbs.module.d.ts +9 -0
  26. package/button/index.d.ts +5 -0
  27. package/button/public-api.d.ts +5 -0
  28. package/button/src/button-group.component.d.ts +82 -0
  29. package/button/src/button-item.class.d.ts +23 -0
  30. package/button/src/button-item.component.d.ts +76 -0
  31. package/button/src/button.component.d.ts +20 -0
  32. package/button/src/button.module.d.ts +11 -0
  33. package/calendar/index.d.ts +5 -0
  34. package/calendar/public-api.d.ts +3 -0
  35. package/calendar/src/calendar.class.d.ts +51 -0
  36. package/calendar/src/calendar.component.d.ts +52 -0
  37. package/calendar/src/calendar.module.d.ts +11 -0
  38. package/carousel/index.d.ts +5 -0
  39. package/carousel/{public-api.ts → public-api.d.ts} +0 -0
  40. package/carousel/src/carousel-arrows.component.d.ts +16 -0
  41. package/carousel/src/carousel-item.component.d.ts +8 -0
  42. package/carousel/src/carousel-pager.component.d.ts +22 -0
  43. package/carousel/src/carousel-splidejs.class.d.ts +18 -0
  44. package/carousel/src/carousel.class.d.ts +71 -0
  45. package/carousel/src/carousel.component.d.ts +111 -0
  46. package/carousel/src/carousel.module.d.ts +11 -0
  47. package/checkbox/index.d.ts +5 -0
  48. package/checkbox/public-api.d.ts +2 -0
  49. package/checkbox/src/checkbox.component.d.ts +12 -0
  50. package/checkbox/src/checkbox.module.d.ts +10 -0
  51. package/collapse/index.d.ts +5 -0
  52. package/collapse/public-api.d.ts +3 -0
  53. package/collapse/src/collapse-group.component.d.ts +15 -0
  54. package/collapse/src/collapse.component.d.ts +16 -0
  55. package/collapse/src/collapse.module.d.ts +9 -0
  56. package/color-palette/index.d.ts +5 -0
  57. package/color-palette/public-api.d.ts +7 -0
  58. package/color-palette/src/color-palette-input.component.d.ts +16 -0
  59. package/color-palette/src/color-palette-picker.component.d.ts +23 -0
  60. package/color-palette/src/color-palette-preview.component.d.ts +11 -0
  61. package/color-palette/src/color-palette-swatches.component.d.ts +17 -0
  62. package/color-palette/src/color-palette.class.d.ts +23 -0
  63. package/color-palette/src/color-palette.component.d.ts +24 -0
  64. package/color-palette/src/color-palette.module.d.ts +18 -0
  65. package/color-picker/index.d.ts +5 -0
  66. package/color-picker/public-api.d.ts +2 -0
  67. package/color-picker/src/color-picker.component.d.ts +184 -0
  68. package/color-picker/src/color-picker.module.d.ts +18 -0
  69. package/common/index.d.ts +5 -0
  70. package/common/{public-api.ts → public-api.d.ts} +0 -0
  71. package/common/src/auto-focus.directive.d.ts +12 -0
  72. package/common/src/common.module.d.ts +10 -0
  73. package/common/src/components.class.d.ts +42 -0
  74. package/common/src/custom-cdk-overlay.service.d.ts +19 -0
  75. package/common/src/drawing.class.d.ts +9 -0
  76. package/common/src/events.class.d.ts +86 -0
  77. package/common/src/hotkey.directive.d.ts +22 -0
  78. package/common/src/hotkey.service.d.ts +17 -0
  79. package/common/src/infinite-scroll.directive.d.ts +25 -0
  80. package/common/src/overlay.service.d.ts +31 -0
  81. package/common/src/responsive.directive.d.ts +10 -0
  82. package/common/src/styles.class.d.ts +17 -0
  83. package/context-menu/index.d.ts +5 -0
  84. package/context-menu/public-api.d.ts +2 -0
  85. package/context-menu/src/context-menu.component.d.ts +34 -0
  86. package/context-menu/src/context-menu.module.d.ts +13 -0
  87. package/data-pager/index.d.ts +5 -0
  88. package/data-pager/{public-api.ts → public-api.d.ts} +0 -0
  89. package/data-pager/src/data-pager-base.component.d.ts +49 -0
  90. package/data-pager/src/data-pager-info.component.d.ts +15 -0
  91. package/data-pager/src/data-pager-input-selector.component.d.ts +15 -0
  92. package/data-pager/src/data-pager-next-buttons.components.d.ts +16 -0
  93. package/data-pager/src/data-pager-numeric-selector.component.d.ts +18 -0
  94. package/data-pager/src/data-pager-pagesize-dropdown.component.d.ts +18 -0
  95. package/data-pager/src/data-pager-prev-buttons.component.d.ts +15 -0
  96. package/data-pager/src/data-pager.component.d.ts +35 -0
  97. package/data-pager/src/data-pager.module.d.ts +18 -0
  98. package/data-table/index.d.ts +5 -0
  99. package/data-table/{public-api.ts → public-api.d.ts} +0 -0
  100. package/data-table/src/data-column-cell-template.directive.d.ts +8 -0
  101. package/data-table/src/data-column.directive.d.ts +16 -0
  102. package/data-table/src/data-table.component.d.ts +35 -0
  103. package/data-table/src/data-table.module.d.ts +14 -0
  104. package/date-picker/index.d.ts +5 -0
  105. package/date-picker/{public-api.ts → public-api.d.ts} +0 -0
  106. package/date-picker/src/datepicker.component.d.ts +147 -0
  107. package/date-picker/src/datepicker.module.d.ts +15 -0
  108. package/decorators/index.d.ts +5 -0
  109. package/decorators/public-api.d.ts +9 -0
  110. package/decorators/src/close-button.component.d.ts +14 -0
  111. package/decorators/src/content.component.d.ts +8 -0
  112. package/decorators/src/decorators.module.d.ts +15 -0
  113. package/decorators/src/footer.component.d.ts +8 -0
  114. package/decorators/src/header.component.d.ts +8 -0
  115. package/decorators/src/icon.component.d.ts +10 -0
  116. package/decorators/src/prefix.component.d.ts +8 -0
  117. package/decorators/src/suffix.component.d.ts +8 -0
  118. package/decorators/src/title.component.d.ts +9 -0
  119. package/dialog/index.d.ts +5 -0
  120. package/dialog/{public-api.ts → public-api.d.ts} +0 -0
  121. package/dialog/src/dialog.class.d.ts +12 -0
  122. package/dialog/src/dialog.component.d.ts +16 -0
  123. package/dialog/src/dialog.module.d.ts +14 -0
  124. package/dialog/src/dialog.service.d.ts +36 -0
  125. package/drawer/index.d.ts +5 -0
  126. package/drawer/{public-api.ts → public-api.d.ts} +0 -0
  127. package/drawer/src/drawer-container.component.d.ts +10 -0
  128. package/drawer/src/drawer.component.d.ts +36 -0
  129. package/drawer/src/drawer.module.d.ts +9 -0
  130. package/dropdown/index.d.ts +5 -0
  131. package/dropdown/public-api.d.ts +2 -0
  132. package/dropdown/src/dropdown-panel.component.d.ts +27 -0
  133. package/dropdown/src/dropdown.module.d.ts +12 -0
  134. package/esm2020/acorex-components.mjs +5 -0
  135. package/esm2020/action-sheet/acorex-components-action-sheet.mjs +5 -0
  136. package/esm2020/action-sheet/public-api.mjs +4 -0
  137. package/esm2020/action-sheet/src/action-sheet-item.component.mjs +47 -0
  138. package/esm2020/action-sheet/src/action-sheet.component.mjs +87 -0
  139. package/esm2020/action-sheet/src/action-sheet.module.mjs +21 -0
  140. package/esm2020/alert/acorex-components-alert.mjs +5 -0
  141. package/esm2020/alert/public-api.mjs +3 -0
  142. package/esm2020/alert/src/alert.component.mjs +155 -0
  143. package/esm2020/alert/src/alert.module.mjs +22 -0
  144. package/esm2020/avatar/acorex-components-avatar.mjs +5 -0
  145. package/esm2020/avatar/public-api.mjs +4 -0
  146. package/esm2020/avatar/src/avatar-group.component.mjs +17 -0
  147. package/esm2020/avatar/src/avatar.component.mjs +45 -0
  148. package/esm2020/avatar/src/avatar.module.mjs +22 -0
  149. package/esm2020/badge/acorex-components-badge.mjs +5 -0
  150. package/esm2020/badge/public-api.mjs +3 -0
  151. package/esm2020/badge/src/badge.component.mjs +30 -0
  152. package/esm2020/badge/src/badge.module.mjs +21 -0
  153. package/esm2020/breadcrumbs/acorex-components-breadcrumbs.mjs +5 -0
  154. package/esm2020/breadcrumbs/public-api.mjs +5 -0
  155. package/esm2020/breadcrumbs/src/breadcrumbs-item.class.mjs +2 -0
  156. package/esm2020/breadcrumbs/src/breadcrumbs-item.component.mjs +36 -0
  157. package/esm2020/breadcrumbs/src/breadcrumbs.component.mjs +25 -0
  158. package/esm2020/breadcrumbs/src/breadcrumbs.module.mjs +20 -0
  159. package/esm2020/button/acorex-components-button.mjs +5 -0
  160. package/esm2020/button/public-api.mjs +6 -0
  161. package/esm2020/button/src/button-group.component.mjs +88 -0
  162. package/esm2020/button/src/button-item.class.mjs +2 -0
  163. package/esm2020/button/src/button-item.component.mjs +76 -0
  164. package/esm2020/button/src/button.component.mjs +70 -0
  165. package/esm2020/button/src/button.module.mjs +32 -0
  166. package/esm2020/calendar/acorex-components-calendar.mjs +5 -0
  167. package/esm2020/calendar/public-api.mjs +4 -0
  168. package/esm2020/calendar/src/calendar.class.mjs +127 -0
  169. package/esm2020/calendar/src/calendar.component.mjs +383 -0
  170. package/esm2020/calendar/src/calendar.module.mjs +24 -0
  171. package/esm2020/carousel/acorex-components-carousel.mjs +5 -0
  172. package/esm2020/carousel/public-api.mjs +8 -0
  173. package/esm2020/carousel/src/carousel-arrows.component.mjs +80 -0
  174. package/esm2020/carousel/src/carousel-item.component.mjs +21 -0
  175. package/esm2020/carousel/src/carousel-pager.component.mjs +74 -0
  176. package/esm2020/carousel/src/carousel-splidejs.class.mjs +91 -0
  177. package/esm2020/carousel/src/carousel.class.mjs +10 -0
  178. package/esm2020/carousel/src/carousel.component.mjs +438 -0
  179. package/esm2020/carousel/src/carousel.module.mjs +24 -0
  180. package/esm2020/checkbox/acorex-components-checkbox.mjs +5 -0
  181. package/esm2020/checkbox/public-api.mjs +3 -0
  182. package/esm2020/checkbox/src/checkbox.component.mjs +41 -0
  183. package/esm2020/checkbox/src/checkbox.module.mjs +21 -0
  184. package/esm2020/collapse/acorex-components-collapse.mjs +5 -0
  185. package/esm2020/collapse/public-api.mjs +4 -0
  186. package/esm2020/collapse/src/collapse-group.component.mjs +52 -0
  187. package/esm2020/collapse/src/collapse.component.mjs +42 -0
  188. package/esm2020/collapse/src/collapse.module.mjs +20 -0
  189. package/esm2020/color-palette/acorex-components-color-palette.mjs +5 -0
  190. package/esm2020/color-palette/public-api.mjs +8 -0
  191. package/esm2020/color-palette/src/color-palette-input.component.mjs +97 -0
  192. package/esm2020/color-palette/src/color-palette-picker.component.mjs +97 -0
  193. package/esm2020/color-palette/src/color-palette-preview.component.mjs +62 -0
  194. package/esm2020/color-palette/src/color-palette-swatches.component.mjs +294 -0
  195. package/esm2020/color-palette/src/color-palette.class.mjs +17 -0
  196. package/esm2020/color-palette/src/color-palette.component.mjs +84 -0
  197. package/esm2020/color-palette/src/color-palette.module.mjs +57 -0
  198. package/esm2020/color-picker/acorex-components-color-picker.mjs +5 -0
  199. package/esm2020/color-picker/public-api.mjs +3 -0
  200. package/esm2020/color-picker/src/color-picker.component.mjs +96 -0
  201. package/esm2020/color-picker/src/color-picker.module.mjs +61 -0
  202. package/esm2020/common/acorex-components-common.mjs +5 -0
  203. package/esm2020/common/public-api.mjs +13 -0
  204. package/esm2020/common/src/auto-focus.directive.mjs +51 -0
  205. package/esm2020/common/src/common.module.mjs +37 -0
  206. package/esm2020/common/src/components.class.mjs +45 -0
  207. package/esm2020/common/src/custom-cdk-overlay.service.mjs +48 -0
  208. package/esm2020/common/src/drawing.class.mjs +2 -0
  209. package/esm2020/common/src/events.class.mjs +58 -0
  210. package/esm2020/common/src/hotkey.directive.mjs +79 -0
  211. package/esm2020/common/src/hotkey.service.mjs +38 -0
  212. package/esm2020/common/src/infinite-scroll.directive.mjs +63 -0
  213. package/esm2020/common/src/overlay.service.mjs +91 -0
  214. package/esm2020/common/src/responsive.directive.mjs +34 -0
  215. package/esm2020/common/src/styles.class.mjs +22 -0
  216. package/esm2020/context-menu/acorex-components-context-menu.mjs +5 -0
  217. package/esm2020/context-menu/public-api.mjs +3 -0
  218. package/esm2020/context-menu/src/context-menu.component.mjs +257 -0
  219. package/esm2020/context-menu/src/context-menu.module.mjs +36 -0
  220. package/esm2020/data-pager/acorex-components-data-pager.mjs +5 -0
  221. package/esm2020/data-pager/public-api.mjs +10 -0
  222. package/esm2020/data-pager/src/data-pager-base.component.mjs +38 -0
  223. package/esm2020/data-pager/src/data-pager-info.component.mjs +57 -0
  224. package/esm2020/data-pager/src/data-pager-input-selector.component.mjs +50 -0
  225. package/esm2020/data-pager/src/data-pager-next-buttons.components.mjs +60 -0
  226. package/esm2020/data-pager/src/data-pager-numeric-selector.component.mjs +98 -0
  227. package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +85 -0
  228. package/esm2020/data-pager/src/data-pager-prev-buttons.component.mjs +58 -0
  229. package/esm2020/data-pager/src/data-pager.component.mjs +135 -0
  230. package/esm2020/data-pager/src/data-pager.module.mjs +51 -0
  231. package/esm2020/data-table/acorex-components-data-table.mjs +5 -0
  232. package/esm2020/data-table/public-api.mjs +5 -0
  233. package/esm2020/data-table/src/data-column-cell-template.directive.mjs +17 -0
  234. package/esm2020/data-table/src/data-column.directive.mjs +43 -0
  235. package/esm2020/data-table/src/data-table.component.mjs +130 -0
  236. package/esm2020/data-table/src/data-table.module.mjs +27 -0
  237. package/esm2020/date-picker/acorex-components-date-picker.mjs +5 -0
  238. package/esm2020/date-picker/public-api.mjs +3 -0
  239. package/esm2020/date-picker/src/datepicker.component.mjs +247 -0
  240. package/esm2020/date-picker/src/datepicker.module.mjs +44 -0
  241. package/esm2020/decorators/acorex-components-decorators.mjs +5 -0
  242. package/esm2020/decorators/public-api.mjs +10 -0
  243. package/esm2020/decorators/src/close-button.component.mjs +50 -0
  244. package/esm2020/decorators/src/content.component.mjs +21 -0
  245. package/esm2020/decorators/src/decorators.module.mjs +51 -0
  246. package/esm2020/decorators/src/footer.component.mjs +29 -0
  247. package/esm2020/decorators/src/header.component.mjs +29 -0
  248. package/esm2020/decorators/src/icon.component.mjs +29 -0
  249. package/esm2020/decorators/src/prefix.component.mjs +21 -0
  250. package/esm2020/decorators/src/suffix.component.mjs +21 -0
  251. package/esm2020/decorators/src/title.component.mjs +27 -0
  252. package/esm2020/dialog/acorex-components-dialog.mjs +5 -0
  253. package/esm2020/dialog/public-api.mjs +5 -0
  254. package/esm2020/dialog/src/dialog.class.mjs +2 -0
  255. package/esm2020/dialog/src/dialog.component.mjs +52 -0
  256. package/esm2020/dialog/src/dialog.module.mjs +27 -0
  257. package/esm2020/dialog/src/dialog.service.mjs +150 -0
  258. package/esm2020/drawer/acorex-components-drawer.mjs +5 -0
  259. package/esm2020/drawer/public-api.mjs +4 -0
  260. package/esm2020/drawer/src/drawer-container.component.mjs +38 -0
  261. package/esm2020/drawer/src/drawer.component.mjs +147 -0
  262. package/esm2020/drawer/src/drawer.module.mjs +22 -0
  263. package/esm2020/dropdown/acorex-components-dropdown.mjs +5 -0
  264. package/esm2020/dropdown/public-api.mjs +3 -0
  265. package/esm2020/dropdown/src/dropdown-panel.component.mjs +82 -0
  266. package/esm2020/dropdown/src/dropdown.module.mjs +23 -0
  267. package/esm2020/form/acorex-components-form.mjs +5 -0
  268. package/esm2020/form/public-api.mjs +8 -0
  269. package/esm2020/form/src/form-field.component.mjs +21 -0
  270. package/esm2020/form/src/form-hint.component.mjs +20 -0
  271. package/esm2020/form/src/form.component.mjs +146 -0
  272. package/esm2020/form/src/form.module.mjs +68 -0
  273. package/esm2020/form/src/validation-rule.widget.mjs +110 -0
  274. package/esm2020/form/src/validation-summary.component.mjs +97 -0
  275. package/esm2020/form/src/validation.class.mjs +2 -0
  276. package/esm2020/input-mask/acorex-components-input-mask.mjs +5 -0
  277. package/esm2020/input-mask/public-api.mjs +3 -0
  278. package/esm2020/input-mask/src/input-mask.component.mjs +58 -0
  279. package/esm2020/input-mask/src/input-mask.module.mjs +24 -0
  280. package/esm2020/label/acorex-components-label.mjs +5 -0
  281. package/esm2020/label/public-api.mjs +3 -0
  282. package/esm2020/label/src/label.component.mjs +27 -0
  283. package/esm2020/label/src/label.module.mjs +21 -0
  284. package/esm2020/loading/acorex-components-loading.mjs +5 -0
  285. package/esm2020/loading/public-api.mjs +6 -0
  286. package/esm2020/loading/src/loading-spinner.component.mjs +74 -0
  287. package/esm2020/loading/src/loading.component.mjs +70 -0
  288. package/esm2020/loading/src/loading.directive.mjs +68 -0
  289. package/esm2020/loading/src/loading.module.mjs +35 -0
  290. package/esm2020/loading/src/loading.service.mjs +156 -0
  291. package/esm2020/menu/acorex-components-menu.mjs +5 -0
  292. package/esm2020/menu/public-api.mjs +3 -0
  293. package/esm2020/menu/src/menu.component.mjs +337 -0
  294. package/esm2020/menu/src/menu.module.mjs +33 -0
  295. package/esm2020/mixin/acorex-components-mixin.mjs +5 -0
  296. package/esm2020/mixin/public-api.mjs +18 -0
  297. package/esm2020/mixin/src/base-components.class.mjs +97 -0
  298. package/esm2020/mixin/src/base-menu-mixin.class.mjs +140 -0
  299. package/esm2020/mixin/src/button-mixin.class.mjs +70 -0
  300. package/esm2020/mixin/src/clickable-mixin.class.mjs +24 -0
  301. package/esm2020/mixin/src/color-look-mixing.class.mjs +48 -0
  302. package/esm2020/mixin/src/constratctor.mjs +2 -0
  303. package/esm2020/mixin/src/datalist-component.class.mjs +163 -0
  304. package/esm2020/mixin/src/datalist.class.mjs +3 -0
  305. package/esm2020/mixin/src/dropdown-mixin.class.mjs +99 -0
  306. package/esm2020/mixin/src/interactive-mixin.class.mjs +84 -0
  307. package/esm2020/mixin/src/loading-mixin.class.mjs +18 -0
  308. package/esm2020/mixin/src/mixin.class.mjs +26 -0
  309. package/esm2020/mixin/src/page-component.class.mjs +11 -0
  310. package/esm2020/mixin/src/selection-component.class.mjs +179 -0
  311. package/esm2020/mixin/src/sizable-mixin.class.mjs +18 -0
  312. package/esm2020/mixin/src/textbox-mixin.class.mjs +89 -0
  313. package/esm2020/mixin/src/value-mixin.class.mjs +197 -0
  314. package/esm2020/number-box/acorex-components-number-box.mjs +5 -0
  315. package/esm2020/number-box/public-api.mjs +3 -0
  316. package/esm2020/number-box/src/number-box.component.mjs +255 -0
  317. package/esm2020/number-box/src/number-box.module.mjs +35 -0
  318. package/esm2020/page/acorex-components-page.mjs +5 -0
  319. package/esm2020/page/public-api.mjs +4 -0
  320. package/esm2020/page/src/base-page.class.mjs +87 -0
  321. package/esm2020/page/src/page.component.mjs +44 -0
  322. package/esm2020/page/src/page.module.mjs +18 -0
  323. package/esm2020/password-box/acorex-components-password-box.mjs +5 -0
  324. package/esm2020/password-box/public-api.mjs +3 -0
  325. package/esm2020/password-box/src/password-box.component.mjs +58 -0
  326. package/esm2020/password-box/src/password-box.module.mjs +32 -0
  327. package/esm2020/popover/acorex-components-popover.mjs +5 -0
  328. package/esm2020/popover/public-api.mjs +3 -0
  329. package/esm2020/popover/src/popover.component.mjs +256 -0
  330. package/esm2020/popover/src/popover.module.mjs +19 -0
  331. package/esm2020/popup/acorex-components-popup.mjs +5 -0
  332. package/esm2020/popup/public-api.mjs +4 -0
  333. package/esm2020/popup/src/popup.component.mjs +131 -0
  334. package/esm2020/popup/src/popup.module.mjs +26 -0
  335. package/esm2020/popup/src/popup.service.mjs +95 -0
  336. package/esm2020/progress-bar/acorex-components-progress-bar.mjs +5 -0
  337. package/esm2020/progress-bar/public-api.mjs +3 -0
  338. package/esm2020/progress-bar/src/progress-bar.component.mjs +33 -0
  339. package/esm2020/progress-bar/src/progress-bar.module.mjs +19 -0
  340. package/esm2020/public-api.mjs +5 -0
  341. package/esm2020/radio/acorex-components-radio.mjs +5 -0
  342. package/esm2020/radio/public-api.mjs +3 -0
  343. package/esm2020/radio/src/radio.component.mjs +34 -0
  344. package/esm2020/radio/src/radio.module.mjs +22 -0
  345. package/esm2020/range-slider/acorex-components-range-slider.mjs +5 -0
  346. package/esm2020/range-slider/public-api.mjs +3 -0
  347. package/esm2020/range-slider/src/range-slider.component.mjs +116 -0
  348. package/esm2020/range-slider/src/range-slider.module.mjs +22 -0
  349. package/esm2020/rating/acorex-components-rating.mjs +5 -0
  350. package/esm2020/rating/public-api.mjs +3 -0
  351. package/esm2020/rating/src/rating.component.mjs +41 -0
  352. package/esm2020/rating/src/rating.component.module.mjs +19 -0
  353. package/esm2020/result/acorex-components-result.mjs +5 -0
  354. package/esm2020/result/public-api.mjs +3 -0
  355. package/esm2020/result/src/result.component.mjs +25 -0
  356. package/esm2020/result/src/result.module.mjs +19 -0
  357. package/esm2020/search-box/acorex-components-search-box.mjs +5 -0
  358. package/esm2020/search-box/public-api.mjs +3 -0
  359. package/esm2020/search-box/src/search-box.component.mjs +52 -0
  360. package/esm2020/search-box/src/search-box.module.mjs +25 -0
  361. package/esm2020/select-box/acorex-components-select-box.mjs +5 -0
  362. package/esm2020/select-box/public-api.mjs +3 -0
  363. package/esm2020/select-box/src/selectbox.component.mjs +362 -0
  364. package/esm2020/select-box/src/selectbox.module.mjs +64 -0
  365. package/esm2020/selection-list/acorex-components-selection-list.mjs +5 -0
  366. package/esm2020/selection-list/public-api.mjs +3 -0
  367. package/esm2020/selection-list/src/selection-list.component.mjs +50 -0
  368. package/esm2020/selection-list/src/selection-list.module.mjs +24 -0
  369. package/esm2020/switch/acorex-components-switch.mjs +5 -0
  370. package/esm2020/switch/public-api.mjs +3 -0
  371. package/esm2020/switch/src/switch.component.mjs +40 -0
  372. package/esm2020/switch/src/switch.module.mjs +21 -0
  373. package/esm2020/tabs/acorex-components-tabs.mjs +5 -0
  374. package/esm2020/tabs/public-api.mjs +6 -0
  375. package/esm2020/tabs/src/tab-content.directive.mjs +29 -0
  376. package/esm2020/tabs/src/tab-item.component.mjs +142 -0
  377. package/esm2020/tabs/src/tabs.class.mjs +4 -0
  378. package/esm2020/tabs/src/tabs.component.mjs +113 -0
  379. package/esm2020/tabs/src/tabs.module.mjs +25 -0
  380. package/esm2020/textarea/acorex-components-textarea.mjs +5 -0
  381. package/esm2020/textarea/public-api.mjs +3 -0
  382. package/esm2020/textarea/src/textarea.component.mjs +22 -0
  383. package/esm2020/textarea/src/textarea.module.mjs +19 -0
  384. package/esm2020/textbox/acorex-components-textbox.mjs +5 -0
  385. package/esm2020/textbox/public-api.mjs +3 -0
  386. package/esm2020/textbox/src/textbox.component.mjs +31 -0
  387. package/esm2020/textbox/src/textbox.module.mjs +37 -0
  388. package/esm2020/time-box/acorex-components-time-box.mjs +5 -0
  389. package/esm2020/time-box/public-api.mjs +3 -0
  390. package/esm2020/time-box/src/time-box.component.mjs +287 -0
  391. package/esm2020/time-box/src/time-box.module.mjs +32 -0
  392. package/esm2020/toast/acorex-components-toast.mjs +5 -0
  393. package/esm2020/toast/public-api.mjs +5 -0
  394. package/esm2020/toast/src/toast.class.mjs +2 -0
  395. package/esm2020/toast/src/toast.component.mjs +55 -0
  396. package/esm2020/toast/src/toast.module.mjs +24 -0
  397. package/esm2020/toast/src/toast.service.mjs +157 -0
  398. package/esm2020/tooltip/acorex-components-tooltip.mjs +5 -0
  399. package/esm2020/tooltip/public-api.mjs +4 -0
  400. package/esm2020/tooltip/src/tooltip.component.mjs +38 -0
  401. package/esm2020/tooltip/src/tooltip.directive.mjs +86 -0
  402. package/esm2020/tooltip/src/tooltip.module.mjs +23 -0
  403. package/esm2020/tree-view/acorex-components-tree-view.mjs +5 -0
  404. package/esm2020/tree-view/public-api.mjs +3 -0
  405. package/esm2020/tree-view/src/tree-view.component.mjs +108 -0
  406. package/esm2020/tree-view/src/tree-view.module.mjs +20 -0
  407. package/fesm2015/acorex-components-action-sheet.mjs +155 -0
  408. package/fesm2015/acorex-components-action-sheet.mjs.map +1 -0
  409. package/fesm2015/acorex-components-alert.mjs +182 -0
  410. package/fesm2015/acorex-components-alert.mjs.map +1 -0
  411. package/fesm2015/acorex-components-avatar.mjs +85 -0
  412. package/fesm2015/acorex-components-avatar.mjs.map +1 -0
  413. package/fesm2015/acorex-components-badge.mjs +55 -0
  414. package/fesm2015/acorex-components-badge.mjs.map +1 -0
  415. package/fesm2015/acorex-components-breadcrumbs.mjs +80 -0
  416. package/fesm2015/acorex-components-breadcrumbs.mjs.map +1 -0
  417. package/fesm2015/acorex-components-button.mjs +263 -0
  418. package/fesm2015/acorex-components-button.mjs.map +1 -0
  419. package/fesm2015/acorex-components-calendar.mjs +534 -0
  420. package/fesm2015/acorex-components-calendar.mjs.map +1 -0
  421. package/fesm2015/acorex-components-carousel.mjs +726 -0
  422. package/fesm2015/acorex-components-carousel.mjs.map +1 -0
  423. package/fesm2015/acorex-components-checkbox.mjs +66 -0
  424. package/fesm2015/acorex-components-checkbox.mjs.map +1 -0
  425. package/fesm2015/acorex-components-collapse.mjs +113 -0
  426. package/fesm2015/acorex-components-collapse.mjs.map +1 -0
  427. package/fesm2015/acorex-components-color-palette.mjs +678 -0
  428. package/fesm2015/acorex-components-color-palette.mjs.map +1 -0
  429. package/fesm2015/acorex-components-color-picker.mjs +162 -0
  430. package/fesm2015/acorex-components-color-picker.mjs.map +1 -0
  431. package/fesm2015/acorex-components-common.mjs +553 -0
  432. package/fesm2015/acorex-components-common.mjs.map +1 -0
  433. package/fesm2015/acorex-components-context-menu.mjs +297 -0
  434. package/fesm2015/acorex-components-context-menu.mjs.map +1 -0
  435. package/fesm2015/acorex-components-data-pager.mjs +603 -0
  436. package/fesm2015/acorex-components-data-pager.mjs.map +1 -0
  437. package/fesm2015/acorex-components-data-table.mjs +216 -0
  438. package/fesm2015/acorex-components-data-table.mjs.map +1 -0
  439. package/fesm2015/acorex-components-date-picker.mjs +293 -0
  440. package/fesm2015/acorex-components-date-picker.mjs.map +1 -0
  441. package/fesm2015/acorex-components-decorators.mjs +256 -0
  442. package/fesm2015/acorex-components-decorators.mjs.map +1 -0
  443. package/fesm2015/acorex-components-dialog.mjs +231 -0
  444. package/fesm2015/acorex-components-dialog.mjs.map +1 -0
  445. package/fesm2015/acorex-components-drawer.mjs +209 -0
  446. package/fesm2015/acorex-components-drawer.mjs.map +1 -0
  447. package/fesm2015/acorex-components-dropdown.mjs +112 -0
  448. package/fesm2015/acorex-components-dropdown.mjs.map +1 -0
  449. package/fesm2015/acorex-components-form.mjs +449 -0
  450. package/fesm2015/acorex-components-form.mjs.map +1 -0
  451. package/fesm2015/acorex-components-input-mask.mjs +86 -0
  452. package/fesm2015/acorex-components-input-mask.mjs.map +1 -0
  453. package/fesm2015/acorex-components-label.mjs +52 -0
  454. package/fesm2015/acorex-components-label.mjs.map +1 -0
  455. package/fesm2015/acorex-components-loading.mjs +396 -0
  456. package/fesm2015/acorex-components-loading.mjs.map +1 -0
  457. package/fesm2015/acorex-components-menu.mjs +379 -0
  458. package/fesm2015/acorex-components-menu.mjs.map +1 -0
  459. package/fesm2015/acorex-components-mixin.mjs +1249 -0
  460. package/fesm2015/acorex-components-mixin.mjs.map +1 -0
  461. package/fesm2015/acorex-components-number-box.mjs +294 -0
  462. package/fesm2015/acorex-components-number-box.mjs.map +1 -0
  463. package/fesm2015/acorex-components-page.mjs +152 -0
  464. package/fesm2015/acorex-components-page.mjs.map +1 -0
  465. package/fesm2015/acorex-components-password-box.mjs +94 -0
  466. package/fesm2015/acorex-components-password-box.mjs.map +1 -0
  467. package/fesm2015/acorex-components-popover.mjs +284 -0
  468. package/fesm2015/acorex-components-popover.mjs.map +1 -0
  469. package/fesm2015/acorex-components-popup.mjs +251 -0
  470. package/fesm2015/acorex-components-popup.mjs.map +1 -0
  471. package/fesm2015/acorex-components-progress-bar.mjs +56 -0
  472. package/fesm2015/acorex-components-progress-bar.mjs.map +1 -0
  473. package/fesm2015/acorex-components-radio.mjs +60 -0
  474. package/fesm2015/acorex-components-radio.mjs.map +1 -0
  475. package/fesm2015/acorex-components-range-slider.mjs +147 -0
  476. package/fesm2015/acorex-components-range-slider.mjs.map +1 -0
  477. package/fesm2015/acorex-components-rating.mjs +64 -0
  478. package/fesm2015/acorex-components-rating.mjs.map +1 -0
  479. package/fesm2015/acorex-components-result.mjs +48 -0
  480. package/fesm2015/acorex-components-result.mjs.map +1 -0
  481. package/fesm2015/acorex-components-search-box.mjs +83 -0
  482. package/fesm2015/acorex-components-search-box.mjs.map +1 -0
  483. package/fesm2015/acorex-components-select-box.mjs +433 -0
  484. package/fesm2015/acorex-components-select-box.mjs.map +1 -0
  485. package/fesm2015/acorex-components-selection-list.mjs +78 -0
  486. package/fesm2015/acorex-components-selection-list.mjs.map +1 -0
  487. package/fesm2015/acorex-components-switch.mjs +65 -0
  488. package/fesm2015/acorex-components-switch.mjs.map +1 -0
  489. package/fesm2015/acorex-components-tabs.mjs +310 -0
  490. package/fesm2015/acorex-components-tabs.mjs.map +1 -0
  491. package/fesm2015/acorex-components-textarea.mjs +45 -0
  492. package/fesm2015/acorex-components-textarea.mjs.map +1 -0
  493. package/fesm2015/acorex-components-textbox.mjs +72 -0
  494. package/fesm2015/acorex-components-textbox.mjs.map +1 -0
  495. package/fesm2015/acorex-components-time-box.mjs +326 -0
  496. package/fesm2015/acorex-components-time-box.mjs.map +1 -0
  497. package/fesm2015/acorex-components-toast.mjs +237 -0
  498. package/fesm2015/acorex-components-toast.mjs.map +1 -0
  499. package/fesm2015/acorex-components-tooltip.mjs +147 -0
  500. package/fesm2015/acorex-components-tooltip.mjs.map +1 -0
  501. package/fesm2015/acorex-components-tree-view.mjs +132 -0
  502. package/fesm2015/acorex-components-tree-view.mjs.map +1 -0
  503. package/fesm2015/acorex-components.mjs +11 -0
  504. package/fesm2015/acorex-components.mjs.map +1 -0
  505. package/fesm2020/acorex-components-action-sheet.mjs +155 -0
  506. package/fesm2020/acorex-components-action-sheet.mjs.map +1 -0
  507. package/fesm2020/acorex-components-alert.mjs +180 -0
  508. package/fesm2020/acorex-components-alert.mjs.map +1 -0
  509. package/fesm2020/acorex-components-avatar.mjs +85 -0
  510. package/fesm2020/acorex-components-avatar.mjs.map +1 -0
  511. package/fesm2020/acorex-components-badge.mjs +55 -0
  512. package/fesm2020/acorex-components-badge.mjs.map +1 -0
  513. package/fesm2020/acorex-components-breadcrumbs.mjs +78 -0
  514. package/fesm2020/acorex-components-breadcrumbs.mjs.map +1 -0
  515. package/fesm2020/acorex-components-button.mjs +260 -0
  516. package/fesm2020/acorex-components-button.mjs.map +1 -0
  517. package/fesm2020/acorex-components-calendar.mjs +533 -0
  518. package/fesm2020/acorex-components-calendar.mjs.map +1 -0
  519. package/fesm2020/acorex-components-carousel.mjs +722 -0
  520. package/fesm2020/acorex-components-carousel.mjs.map +1 -0
  521. package/fesm2020/acorex-components-checkbox.mjs +66 -0
  522. package/fesm2020/acorex-components-checkbox.mjs.map +1 -0
  523. package/fesm2020/acorex-components-collapse.mjs +113 -0
  524. package/fesm2020/acorex-components-collapse.mjs.map +1 -0
  525. package/fesm2020/acorex-components-color-palette.mjs +672 -0
  526. package/fesm2020/acorex-components-color-palette.mjs.map +1 -0
  527. package/fesm2020/acorex-components-color-picker.mjs +159 -0
  528. package/fesm2020/acorex-components-color-picker.mjs.map +1 -0
  529. package/fesm2020/acorex-components-common.mjs +545 -0
  530. package/fesm2020/acorex-components-common.mjs.map +1 -0
  531. package/fesm2020/acorex-components-context-menu.mjs +297 -0
  532. package/fesm2020/acorex-components-context-menu.mjs.map +1 -0
  533. package/fesm2020/acorex-components-data-pager.mjs +586 -0
  534. package/fesm2020/acorex-components-data-pager.mjs.map +1 -0
  535. package/fesm2020/acorex-components-data-table.mjs +214 -0
  536. package/fesm2020/acorex-components-data-table.mjs.map +1 -0
  537. package/fesm2020/acorex-components-date-picker.mjs +292 -0
  538. package/fesm2020/acorex-components-date-picker.mjs.map +1 -0
  539. package/fesm2020/acorex-components-decorators.mjs +253 -0
  540. package/fesm2020/acorex-components-decorators.mjs.map +1 -0
  541. package/fesm2020/acorex-components-dialog.mjs +230 -0
  542. package/fesm2020/acorex-components-dialog.mjs.map +1 -0
  543. package/fesm2020/acorex-components-drawer.mjs +207 -0
  544. package/fesm2020/acorex-components-drawer.mjs.map +1 -0
  545. package/fesm2020/acorex-components-dropdown.mjs +107 -0
  546. package/fesm2020/acorex-components-dropdown.mjs.map +1 -0
  547. package/fesm2020/acorex-components-form.mjs +445 -0
  548. package/fesm2020/acorex-components-form.mjs.map +1 -0
  549. package/fesm2020/acorex-components-input-mask.mjs +86 -0
  550. package/fesm2020/acorex-components-input-mask.mjs.map +1 -0
  551. package/fesm2020/acorex-components-label.mjs +52 -0
  552. package/fesm2020/acorex-components-label.mjs.map +1 -0
  553. package/fesm2020/acorex-components-loading.mjs +395 -0
  554. package/fesm2020/acorex-components-loading.mjs.map +1 -0
  555. package/fesm2020/acorex-components-menu.mjs +374 -0
  556. package/fesm2020/acorex-components-menu.mjs.map +1 -0
  557. package/fesm2020/acorex-components-mixin.mjs +1244 -0
  558. package/fesm2020/acorex-components-mixin.mjs.map +1 -0
  559. package/fesm2020/acorex-components-number-box.mjs +293 -0
  560. package/fesm2020/acorex-components-number-box.mjs.map +1 -0
  561. package/fesm2020/acorex-components-page.mjs +150 -0
  562. package/fesm2020/acorex-components-page.mjs.map +1 -0
  563. package/fesm2020/acorex-components-password-box.mjs +94 -0
  564. package/fesm2020/acorex-components-password-box.mjs.map +1 -0
  565. package/fesm2020/acorex-components-popover.mjs +279 -0
  566. package/fesm2020/acorex-components-popover.mjs.map +1 -0
  567. package/fesm2020/acorex-components-popup.mjs +251 -0
  568. package/fesm2020/acorex-components-popup.mjs.map +1 -0
  569. package/fesm2020/acorex-components-progress-bar.mjs +56 -0
  570. package/fesm2020/acorex-components-progress-bar.mjs.map +1 -0
  571. package/fesm2020/acorex-components-radio.mjs +60 -0
  572. package/fesm2020/acorex-components-radio.mjs.map +1 -0
  573. package/fesm2020/acorex-components-range-slider.mjs +142 -0
  574. package/fesm2020/acorex-components-range-slider.mjs.map +1 -0
  575. package/fesm2020/acorex-components-rating.mjs +64 -0
  576. package/fesm2020/acorex-components-rating.mjs.map +1 -0
  577. package/fesm2020/acorex-components-result.mjs +48 -0
  578. package/fesm2020/acorex-components-result.mjs.map +1 -0
  579. package/fesm2020/acorex-components-search-box.mjs +80 -0
  580. package/fesm2020/acorex-components-search-box.mjs.map +1 -0
  581. package/fesm2020/acorex-components-select-box.mjs +427 -0
  582. package/fesm2020/acorex-components-select-box.mjs.map +1 -0
  583. package/fesm2020/acorex-components-selection-list.mjs +78 -0
  584. package/fesm2020/acorex-components-selection-list.mjs.map +1 -0
  585. package/fesm2020/acorex-components-switch.mjs +65 -0
  586. package/fesm2020/acorex-components-switch.mjs.map +1 -0
  587. package/fesm2020/acorex-components-tabs.mjs +309 -0
  588. package/fesm2020/acorex-components-tabs.mjs.map +1 -0
  589. package/fesm2020/acorex-components-textarea.mjs +45 -0
  590. package/fesm2020/acorex-components-textarea.mjs.map +1 -0
  591. package/fesm2020/acorex-components-textbox.mjs +72 -0
  592. package/fesm2020/acorex-components-textbox.mjs.map +1 -0
  593. package/fesm2020/acorex-components-time-box.mjs +322 -0
  594. package/fesm2020/acorex-components-time-box.mjs.map +1 -0
  595. package/fesm2020/acorex-components-toast.mjs +237 -0
  596. package/fesm2020/acorex-components-toast.mjs.map +1 -0
  597. package/fesm2020/acorex-components-tooltip.mjs +147 -0
  598. package/fesm2020/acorex-components-tooltip.mjs.map +1 -0
  599. package/fesm2020/acorex-components-tree-view.mjs +132 -0
  600. package/fesm2020/acorex-components-tree-view.mjs.map +1 -0
  601. package/fesm2020/acorex-components.mjs +11 -0
  602. package/fesm2020/acorex-components.mjs.map +1 -0
  603. package/form/index.d.ts +5 -0
  604. package/form/public-api.d.ts +7 -0
  605. package/form/src/form-field.component.d.ts +8 -0
  606. package/form/src/form-hint.component.d.ts +8 -0
  607. package/form/src/form.component.d.ts +47 -0
  608. package/form/src/form.module.d.ts +16 -0
  609. package/form/src/validation-rule.widget.d.ts +17 -0
  610. package/form/src/validation-summary.component.d.ts +21 -0
  611. package/form/src/validation.class.d.ts +18 -0
  612. package/index.d.ts +5 -0
  613. package/input-mask/index.d.ts +5 -0
  614. package/input-mask/{public-api.ts → public-api.d.ts} +0 -0
  615. package/input-mask/src/input-mask.component.d.ts +25 -0
  616. package/input-mask/src/input-mask.module.d.ts +10 -0
  617. package/label/index.d.ts +5 -0
  618. package/label/public-api.d.ts +2 -0
  619. package/label/src/label.component.d.ts +13 -0
  620. package/label/src/label.module.d.ts +8 -0
  621. package/loading/index.d.ts +5 -0
  622. package/loading/{public-api.ts → public-api.d.ts} +0 -0
  623. package/loading/src/loading-spinner.component.d.ts +6 -0
  624. package/loading/src/loading.component.d.ts +21 -0
  625. package/loading/src/loading.directive.d.ts +22 -0
  626. package/loading/src/loading.module.d.ts +13 -0
  627. package/loading/src/loading.service.d.ts +48 -0
  628. package/menu/index.d.ts +5 -0
  629. package/menu/{public-api.ts → public-api.d.ts} +0 -0
  630. package/menu/src/menu.component.d.ts +38 -0
  631. package/menu/src/menu.module.d.ts +12 -0
  632. package/mixin/index.d.ts +5 -0
  633. package/mixin/public-api.d.ts +17 -0
  634. package/mixin/src/base-components.class.d.ts +82 -0
  635. package/mixin/src/base-menu-mixin.class.d.ts +51 -0
  636. package/mixin/src/button-mixin.class.d.ts +51 -0
  637. package/mixin/src/clickable-mixin.class.d.ts +36 -0
  638. package/mixin/src/color-look-mixing.class.d.ts +42 -0
  639. package/mixin/src/constratctor.d.ts +4 -0
  640. package/mixin/src/datalist-component.class.d.ts +57 -0
  641. package/mixin/src/datalist.class.d.ts +11 -0
  642. package/mixin/src/dropdown-mixin.class.d.ts +45 -0
  643. package/mixin/src/interactive-mixin.class.d.ts +60 -0
  644. package/mixin/src/loading-mixin.class.d.ts +38 -0
  645. package/mixin/src/mixin.class.d.ts +640 -0
  646. package/mixin/src/page-component.class.d.ts +26 -0
  647. package/mixin/src/selection-component.class.d.ts +61 -0
  648. package/mixin/src/sizable-mixin.class.d.ts +32 -0
  649. package/mixin/src/textbox-mixin.class.d.ts +73 -0
  650. package/mixin/src/value-mixin.class.d.ts +61 -0
  651. package/number-box/index.d.ts +5 -0
  652. package/number-box/{public-api.ts → public-api.d.ts} +0 -0
  653. package/number-box/src/number-box.component.d.ts +76 -0
  654. package/number-box/src/number-box.module.d.ts +12 -0
  655. package/package.json +437 -33
  656. package/page/index.d.ts +5 -0
  657. package/page/public-api.d.ts +3 -0
  658. package/page/src/base-page.class.d.ts +45 -0
  659. package/page/src/page.component.d.ts +14 -0
  660. package/page/src/page.module.d.ts +6 -0
  661. package/password-box/index.d.ts +5 -0
  662. package/password-box/{public-api.ts → public-api.d.ts} +0 -0
  663. package/password-box/src/password-box.component.d.ts +23 -0
  664. package/password-box/src/password-box.module.d.ts +11 -0
  665. package/popover/index.d.ts +5 -0
  666. package/popover/public-api.d.ts +2 -0
  667. package/popover/src/popover.component.d.ts +51 -0
  668. package/popover/src/popover.module.d.ts +8 -0
  669. package/popup/index.d.ts +5 -0
  670. package/popup/{public-api.ts → public-api.d.ts} +0 -0
  671. package/popup/src/popup.component.d.ts +45 -0
  672. package/popup/src/popup.module.d.ts +13 -0
  673. package/popup/src/popup.service.d.ts +38 -0
  674. package/progress-bar/index.d.ts +5 -0
  675. package/progress-bar/public-api.d.ts +2 -0
  676. package/progress-bar/src/progress-bar.component.d.ts +18 -0
  677. package/progress-bar/src/progress-bar.module.d.ts +8 -0
  678. package/public-api.d.ts +1 -0
  679. package/radio/index.d.ts +5 -0
  680. package/radio/{public-api.ts → public-api.d.ts} +0 -0
  681. package/radio/src/radio.component.d.ts +17 -0
  682. package/radio/src/radio.module.d.ts +9 -0
  683. package/range-slider/index.d.ts +5 -0
  684. package/range-slider/{public-api.ts → public-api.d.ts} +0 -0
  685. package/range-slider/src/range-slider.component.d.ts +41 -0
  686. package/range-slider/src/range-slider.module.d.ts +9 -0
  687. package/rating/index.d.ts +5 -0
  688. package/rating/public-api.d.ts +2 -0
  689. package/rating/src/rating.component.d.ts +21 -0
  690. package/rating/src/rating.component.module.d.ts +8 -0
  691. package/result/index.d.ts +5 -0
  692. package/result/{public-api.ts → public-api.d.ts} +0 -0
  693. package/result/src/result.component.d.ts +12 -0
  694. package/result/src/result.module.d.ts +8 -0
  695. package/search-box/index.d.ts +5 -0
  696. package/search-box/{public-api.ts → public-api.d.ts} +0 -0
  697. package/search-box/src/search-box.component.d.ts +18 -0
  698. package/search-box/src/search-box.module.d.ts +12 -0
  699. package/select-box/index.d.ts +5 -0
  700. package/select-box/public-api.d.ts +2 -0
  701. package/select-box/src/selectbox.component.d.ts +66 -0
  702. package/select-box/src/selectbox.module.d.ts +19 -0
  703. package/selection-list/index.d.ts +5 -0
  704. package/selection-list/public-api.d.ts +2 -0
  705. package/selection-list/src/selection-list.component.d.ts +22 -0
  706. package/selection-list/src/selection-list.module.d.ts +13 -0
  707. package/switch/index.d.ts +5 -0
  708. package/switch/public-api.d.ts +2 -0
  709. package/switch/src/switch.component.d.ts +12 -0
  710. package/switch/src/switch.module.d.ts +10 -0
  711. package/tabs/index.d.ts +5 -0
  712. package/tabs/{public-api.ts → public-api.d.ts} +0 -0
  713. package/tabs/src/tab-content.directive.d.ts +11 -0
  714. package/tabs/src/tab-item.component.d.ts +46 -0
  715. package/tabs/src/tabs.class.d.ts +7 -0
  716. package/tabs/src/tabs.component.d.ts +29 -0
  717. package/tabs/src/tabs.module.d.ts +12 -0
  718. package/textarea/index.d.ts +5 -0
  719. package/textarea/{public-api.ts → public-api.d.ts} +0 -0
  720. package/textarea/src/textarea.component.d.ts +12 -0
  721. package/textarea/src/textarea.module.d.ts +9 -0
  722. package/textbox/index.d.ts +5 -0
  723. package/textbox/public-api.d.ts +2 -0
  724. package/textbox/src/textbox.component.d.ts +16 -0
  725. package/textbox/src/textbox.module.d.ts +12 -0
  726. package/time-box/index.d.ts +5 -0
  727. package/time-box/{public-api.ts → public-api.d.ts} +0 -0
  728. package/time-box/src/time-box.component.d.ts +48 -0
  729. package/time-box/src/time-box.module.d.ts +11 -0
  730. package/toast/index.d.ts +5 -0
  731. package/toast/{public-api.ts → public-api.d.ts} +0 -0
  732. package/toast/src/toast.class.d.ts +15 -0
  733. package/toast/src/toast.component.d.ts +24 -0
  734. package/toast/src/toast.module.d.ts +11 -0
  735. package/toast/src/toast.service.d.ts +24 -0
  736. package/tooltip/index.d.ts +5 -0
  737. package/tooltip/{public-api.ts → public-api.d.ts} +0 -0
  738. package/tooltip/src/tooltip.component.d.ts +10 -0
  739. package/tooltip/src/tooltip.directive.d.ts +18 -0
  740. package/tooltip/src/tooltip.module.d.ts +10 -0
  741. package/tree-view/index.d.ts +5 -0
  742. package/tree-view/public-api.d.ts +2 -0
  743. package/tree-view/src/tree-view.component.d.ts +33 -0
  744. package/tree-view/src/tree-view.module.d.ts +9 -0
  745. package/.browserslistrc +0 -16
  746. package/action-sheet/index.ts +0 -1
  747. package/action-sheet/ng-package.json +0 -6
  748. package/action-sheet/public-api.ts +0 -3
  749. package/action-sheet/src/action-sheet-item.component.ts +0 -46
  750. package/action-sheet/src/action-sheet.component.html +0 -12
  751. package/action-sheet/src/action-sheet.component.ts +0 -82
  752. package/action-sheet/src/action-sheet.module.ts +0 -13
  753. package/alert/index.ts +0 -1
  754. package/alert/ng-package.json +0 -6
  755. package/alert/public-api.ts +0 -2
  756. package/alert/src/alert.component.html +0 -21
  757. package/alert/src/alert.component.ts +0 -179
  758. package/alert/src/alert.module.ts +0 -15
  759. package/avatar/index.ts +0 -1
  760. package/avatar/ng-package.json +0 -6
  761. package/avatar/src/avatar-group.component.ts +0 -12
  762. package/avatar/src/avatar.component.html +0 -30
  763. package/avatar/src/avatar.component.ts +0 -41
  764. package/avatar/src/avatar.module.ts +0 -15
  765. package/avatar/src/index.ts +0 -3
  766. package/badge/index.ts +0 -1
  767. package/badge/ng-package.json +0 -6
  768. package/badge/public-api.ts +0 -2
  769. package/badge/src/badge.component.html +0 -3
  770. package/badge/src/badge.component.ts +0 -37
  771. package/badge/src/badge.module.ts +0 -14
  772. package/breadcrumbs/index.ts +0 -4
  773. package/breadcrumbs/ng-package.json +0 -6
  774. package/breadcrumbs/public-api.ts +0 -4
  775. package/breadcrumbs/src/breadcrumbs-item.class.ts +0 -9
  776. package/breadcrumbs/src/breadcrumbs-item.component.html +0 -11
  777. package/breadcrumbs/src/breadcrumbs-item.component.ts +0 -42
  778. package/breadcrumbs/src/breadcrumbs.component.html +0 -8
  779. package/breadcrumbs/src/breadcrumbs.component.ts +0 -28
  780. package/breadcrumbs/src/breadcrumbs.module.ts +0 -12
  781. package/button/index.ts +0 -1
  782. package/button/ng-package.json +0 -6
  783. package/button/public-api.ts +0 -5
  784. package/button/src/button-group.component.html +0 -2
  785. package/button/src/button-group.component.ts +0 -126
  786. package/button/src/button-item.class.ts +0 -24
  787. package/button/src/button-item.component.ts +0 -78
  788. package/button/src/button.component.html +0 -10
  789. package/button/src/button.component.ts +0 -79
  790. package/button/src/button.module.ts +0 -22
  791. package/calendar/index.ts +0 -1
  792. package/calendar/ng-package.json +0 -6
  793. package/calendar/public-api.ts +0 -3
  794. package/calendar/src/calendar.class.ts +0 -143
  795. package/calendar/src/calendar.component.html +0 -70
  796. package/calendar/src/calendar.component.ts +0 -416
  797. package/calendar/src/calendar.module.ts +0 -17
  798. package/carousel/index.ts +0 -1
  799. package/carousel/ng-package.json +0 -6
  800. package/carousel/src/carousel-arrows.component.ts +0 -70
  801. package/carousel/src/carousel-item.component.ts +0 -19
  802. package/carousel/src/carousel-pager.component.ts +0 -83
  803. package/carousel/src/carousel-splidejs.class.ts +0 -115
  804. package/carousel/src/carousel.class.ts +0 -103
  805. package/carousel/src/carousel.component.html +0 -11
  806. package/carousel/src/carousel.component.ts +0 -477
  807. package/carousel/src/carousel.module.ts +0 -17
  808. package/checkbox/index.ts +0 -1
  809. package/checkbox/ng-package.json +0 -6
  810. package/checkbox/public-api.ts +0 -2
  811. package/checkbox/src/checkbox.component.html +0 -14
  812. package/checkbox/src/checkbox.component.ts +0 -50
  813. package/checkbox/src/checkbox.module.ts +0 -12
  814. package/collapse/index.ts +0 -1
  815. package/collapse/ng-package.json +0 -6
  816. package/collapse/public-api.ts +0 -3
  817. package/collapse/src/collapse-group.component.ts +0 -53
  818. package/collapse/src/collapse.component.html +0 -25
  819. package/collapse/src/collapse.component.ts +0 -52
  820. package/collapse/src/collapse.module.ts +0 -12
  821. package/color-palette/index.ts +0 -1
  822. package/color-palette/ng-package.json +0 -6
  823. package/color-palette/public-api.ts +0 -7
  824. package/color-palette/src/color-palette-input.component.html +0 -40
  825. package/color-palette/src/color-palette-input.component.ts +0 -102
  826. package/color-palette/src/color-palette-picker.component.html +0 -11
  827. package/color-palette/src/color-palette-picker.component.ts +0 -105
  828. package/color-palette/src/color-palette-preview.component.ts +0 -59
  829. package/color-palette/src/color-palette-swatches.component.ts +0 -296
  830. package/color-palette/src/color-palette.class.ts +0 -23
  831. package/color-palette/src/color-palette.component.html +0 -21
  832. package/color-palette/src/color-palette.component.ts +0 -99
  833. package/color-palette/src/color-palette.module.ts +0 -39
  834. package/color-picker/index.ts +0 -1
  835. package/color-picker/ng-package.json +0 -6
  836. package/color-picker/public-api.ts +0 -2
  837. package/color-picker/src/color-picker.component.html +0 -24
  838. package/color-picker/src/color-picker.component.ts +0 -125
  839. package/color-picker/src/color-picker.module.ts +0 -34
  840. package/common/index.ts +0 -1
  841. package/common/ng-package.json +0 -6
  842. package/common/src/auto-focus.directive.ts +0 -51
  843. package/common/src/common.module.ts +0 -22
  844. package/common/src/components.class.ts +0 -44
  845. package/common/src/custom-cdk-overlay.service.ts +0 -86
  846. package/common/src/drawing.class.ts +0 -9
  847. package/common/src/events.class.ts +0 -97
  848. package/common/src/hotkey.directive.ts +0 -86
  849. package/common/src/hotkey.service.ts +0 -43
  850. package/common/src/infinite-scroll.directive.ts +0 -95
  851. package/common/src/overlay.service.ts +0 -117
  852. package/common/src/responsive.directive.ts +0 -31
  853. package/common/src/styles.class.ts +0 -47
  854. package/data-pager/index.ts +0 -1
  855. package/data-pager/ng-package.json +0 -6
  856. package/data-pager/src/data-pager-base.component.ts +0 -50
  857. package/data-pager/src/data-pager-info.component.ts +0 -61
  858. package/data-pager/src/data-pager-input-selector.component.ts +0 -43
  859. package/data-pager/src/data-pager-next-buttons.components.ts +0 -49
  860. package/data-pager/src/data-pager-numeric-selector.component.ts +0 -86
  861. package/data-pager/src/data-pager-pagesize-dropdown.component.ts +0 -77
  862. package/data-pager/src/data-pager-prev-buttons.component.ts +0 -51
  863. package/data-pager/src/data-pager.component.html +0 -33
  864. package/data-pager/src/data-pager.component.ts +0 -163
  865. package/data-pager/src/data-pager.module.ts +0 -32
  866. package/data-table/index.ts +0 -1
  867. package/data-table/ng-package.json +0 -6
  868. package/data-table/src/data-column-cell-template.directive.ts +0 -13
  869. package/data-table/src/data-column.directive.ts +0 -45
  870. package/data-table/src/data-table.component.html +0 -89
  871. package/data-table/src/data-table.component.ts +0 -159
  872. package/data-table/src/data-table.module.ts +0 -20
  873. package/data-table/src/index.ts +0 -4
  874. package/date-picker/index.ts +0 -1
  875. package/date-picker/ng-package.json +0 -6
  876. package/date-picker/src/datepicker.component.html +0 -37
  877. package/date-picker/src/datepicker.component.ts +0 -289
  878. package/date-picker/src/datepicker.module.ts +0 -31
  879. package/decorators/index.ts +0 -1
  880. package/decorators/ng-package.json +0 -6
  881. package/decorators/public-api.ts +0 -10
  882. package/decorators/src/addon.component.ts +0 -21
  883. package/decorators/src/close-button.component.ts +0 -48
  884. package/decorators/src/content.component.ts +0 -21
  885. package/decorators/src/decorators.module.ts +0 -32
  886. package/decorators/src/footer.component.ts +0 -25
  887. package/decorators/src/header.component.ts +0 -25
  888. package/decorators/src/icon.component.ts +0 -31
  889. package/decorators/src/prefix.component.ts +0 -21
  890. package/decorators/src/suffix.component.ts +0 -21
  891. package/decorators/src/title.component.ts +0 -26
  892. package/dialog/index.ts +0 -1
  893. package/dialog/ng-package.json +0 -6
  894. package/dialog/src/dialog.class.ts +0 -13
  895. package/dialog/src/dialog.component.html +0 -21
  896. package/dialog/src/dialog.component.ts +0 -61
  897. package/dialog/src/dialog.module.ts +0 -20
  898. package/dialog/src/dialog.service.ts +0 -159
  899. package/drawer/index.ts +0 -1
  900. package/drawer/ng-package.json +0 -6
  901. package/drawer/src/drawer-container.component.ts +0 -40
  902. package/drawer/src/drawer.component.ts +0 -168
  903. package/drawer/src/drawer.module.ts +0 -15
  904. package/dropdown/index.ts +0 -1
  905. package/dropdown/ng-package.json +0 -6
  906. package/dropdown/public-api.ts +0 -2
  907. package/dropdown/src/dropdown-panel.component.html +0 -6
  908. package/dropdown/src/dropdown-panel.component.ts +0 -113
  909. package/dropdown/src/dropdown.module.ts +0 -15
  910. package/form/index.ts +0 -1
  911. package/form/ng-package.json +0 -6
  912. package/form/public-api.ts +0 -7
  913. package/form/src/form-field.component.ts +0 -21
  914. package/form/src/form-field.module.ts +0 -55
  915. package/form/src/form-hint.component.ts +0 -18
  916. package/form/src/form.component.ts +0 -89
  917. package/form/src/validation-rule.widget.ts +0 -133
  918. package/form/src/validation-summary.component.ts +0 -82
  919. package/form/src/validation.class.ts +0 -25
  920. package/index.ts +0 -1
  921. package/input-mask/index.ts +0 -1
  922. package/input-mask/ng-package.json +0 -6
  923. package/input-mask/src/input-mask.component.ts +0 -70
  924. package/input-mask/src/input-mask.module.ts +0 -16
  925. package/karma.conf.js +0 -44
  926. package/label/index.ts +0 -1
  927. package/label/ng-package.json +0 -6
  928. package/label/public-api.ts +0 -2
  929. package/label/src/label.component.html +0 -3
  930. package/label/src/label.component.ts +0 -34
  931. package/label/src/label.module.ts +0 -14
  932. package/loading/index.ts +0 -1
  933. package/loading/ng-package.json +0 -6
  934. package/loading/src/loading-spinner.component.ts +0 -39
  935. package/loading/src/loading.component.ts +0 -79
  936. package/loading/src/loading.directive.ts +0 -88
  937. package/loading/src/loading.module.ts +0 -32
  938. package/loading/src/loading.service.ts +0 -205
  939. package/menu/index.ts +0 -1
  940. package/menu/ng-package.json +0 -6
  941. package/menu/src/menu.component.html +0 -64
  942. package/menu/src/menu.component.ts +0 -234
  943. package/menu/src/menu.module.ts +0 -18
  944. package/mixin/index.ts +0 -1
  945. package/mixin/ng-package.json +0 -7
  946. package/mixin/public-api.ts +0 -17
  947. package/mixin/src/base-components.class.ts +0 -140
  948. package/mixin/src/base-menu-mixin.class.ts +0 -165
  949. package/mixin/src/button-mixin.class.ts +0 -84
  950. package/mixin/src/clickable-mixin.class.ts +0 -32
  951. package/mixin/src/color-look-mixing.class.ts +0 -56
  952. package/mixin/src/constratctor.ts +0 -3
  953. package/mixin/src/datalist-component.class.ts +0 -176
  954. package/mixin/src/datalist.class.ts +0 -14
  955. package/mixin/src/dropdown-mixin.class.ts +0 -135
  956. package/mixin/src/interactive-mixin.class.ts +0 -97
  957. package/mixin/src/loading-mixin.class.ts +0 -31
  958. package/mixin/src/mixin.class.ts +0 -70
  959. package/mixin/src/page-component.class.ts +0 -15
  960. package/mixin/src/selection-component.class.ts +0 -212
  961. package/mixin/src/sizable-mixin.class.ts +0 -29
  962. package/mixin/src/textbox-mixin.class.ts +0 -116
  963. package/mixin/src/value-mixin.class.ts +0 -230
  964. package/ng-package.json +0 -7
  965. package/number-box/index.ts +0 -1
  966. package/number-box/ng-package.json +0 -6
  967. package/number-box/src/number-box.component.html +0 -40
  968. package/number-box/src/number-box.component.ts +0 -272
  969. package/number-box/src/number-box.module.ts +0 -24
  970. package/page/index.ts +0 -1
  971. package/page/ng-package.json +0 -6
  972. package/page/public-api.ts +0 -4
  973. package/page/src/base-page.class.ts +0 -109
  974. package/page/src/page.component.ts +0 -42
  975. package/page/src/page.module.ts +0 -11
  976. package/password-box/index.ts +0 -1
  977. package/password-box/ng-package.json +0 -6
  978. package/password-box/src/password-box.component.html +0 -15
  979. package/password-box/src/password-box.component.ts +0 -65
  980. package/password-box/src/password-box.module.ts +0 -22
  981. package/popover/index.ts +0 -1
  982. package/popover/ng-package.json +0 -6
  983. package/popover/public-api.ts +0 -3
  984. package/popover/src/popover.component.html +0 -3
  985. package/popover/src/popover.component.ts +0 -309
  986. package/popover/src/popover.module.ts +0 -11
  987. package/popup/index.ts +0 -1
  988. package/popup/ng-package.json +0 -6
  989. package/popup/src/popup.component.html +0 -14
  990. package/popup/src/popup.component.ts +0 -178
  991. package/popup/src/popup.module.ts +0 -20
  992. package/popup/src/popup.service.ts +0 -114
  993. package/progress-bar/index.ts +0 -1
  994. package/progress-bar/ng-package.json +0 -6
  995. package/progress-bar/public-api.ts +0 -2
  996. package/progress-bar/src/progress-bar.component.html +0 -6
  997. package/progress-bar/src/progress-bar.component.ts +0 -32
  998. package/progress-bar/src/progress-bar.module.ts +0 -11
  999. package/public-api.ts +0 -5
  1000. package/radio/index.ts +0 -1
  1001. package/radio/ng-package.json +0 -6
  1002. package/radio/src/radio.component.html +0 -11
  1003. package/radio/src/radio.component.ts +0 -44
  1004. package/radio/src/radio.module.ts +0 -15
  1005. package/range-slider/index.ts +0 -1
  1006. package/range-slider/ng-package.json +0 -6
  1007. package/range-slider/src/range-slider.component.html +0 -1
  1008. package/range-slider/src/range-slider.component.ts +0 -132
  1009. package/range-slider/src/range-slider.module.ts +0 -15
  1010. package/rating/index.ts +0 -1
  1011. package/rating/ng-package.json +0 -6
  1012. package/rating/public-api.ts +0 -2
  1013. package/rating/src/rating.component.html +0 -5
  1014. package/rating/src/rating.component.module.ts +0 -11
  1015. package/rating/src/rating.component.ts +0 -43
  1016. package/result/index.ts +0 -1
  1017. package/result/ng-package.json +0 -6
  1018. package/result/src/result.component.html +0 -1958
  1019. package/result/src/result.component.ts +0 -29
  1020. package/result/src/result.module.ts +0 -11
  1021. package/search-box/index.ts +0 -1
  1022. package/search-box/ng-package.json +0 -6
  1023. package/search-box/src/search-box.component.html +0 -13
  1024. package/search-box/src/search-box.component.ts +0 -62
  1025. package/search-box/src/search-box.module.ts +0 -18
  1026. package/select-box/index.ts +0 -1
  1027. package/select-box/ng-package.json +0 -6
  1028. package/select-box/public-api.ts +0 -2
  1029. package/select-box/src/selectbox.component.html +0 -147
  1030. package/select-box/src/selectbox.component.ts +0 -410
  1031. package/select-box/src/selectbox.module.ts +0 -35
  1032. package/selection-list/index.ts +0 -1
  1033. package/selection-list/ng-package.json +0 -6
  1034. package/selection-list/public-api.ts +0 -2
  1035. package/selection-list/src/selection-list.component.html +0 -62
  1036. package/selection-list/src/selection-list.component.ts +0 -69
  1037. package/selection-list/src/selection-list.module.ts +0 -17
  1038. package/switch/index.ts +0 -1
  1039. package/switch/ng-package.json +0 -6
  1040. package/switch/public-api.ts +0 -2
  1041. package/switch/src/switch.component.html +0 -14
  1042. package/switch/src/switch.component.ts +0 -52
  1043. package/switch/src/switch.module.ts +0 -13
  1044. package/tabs/index.ts +0 -1
  1045. package/tabs/ng-package.json +0 -6
  1046. package/tabs/src/tab-content.directive.ts +0 -23
  1047. package/tabs/src/tab-item.component.ts +0 -125
  1048. package/tabs/src/tabs.class.ts +0 -7
  1049. package/tabs/src/tabs.component.ts +0 -108
  1050. package/tabs/src/tabs.module.ts +0 -18
  1051. package/test.ts +0 -27
  1052. package/textarea/index.ts +0 -1
  1053. package/textarea/ng-package.json +0 -6
  1054. package/textarea/src/textarea.component.html +0 -6
  1055. package/textarea/src/textarea.component.ts +0 -32
  1056. package/textarea/src/textarea.module.ts +0 -11
  1057. package/textbox/index.ts +0 -1
  1058. package/textbox/ng-package.json +0 -6
  1059. package/textbox/public-api.ts +0 -2
  1060. package/textbox/src/textbox.component.html +0 -17
  1061. package/textbox/src/textbox.component.ts +0 -37
  1062. package/textbox/src/textbox.module.ts +0 -22
  1063. package/time-box/index.ts +0 -1
  1064. package/time-box/ng-package.json +0 -6
  1065. package/time-box/src/time-box.component.html +0 -16
  1066. package/time-box/src/time-box.component.ts +0 -315
  1067. package/time-box/src/time-box.module.ts +0 -22
  1068. package/toast/index.ts +0 -1
  1069. package/toast/ng-package.json +0 -6
  1070. package/toast/src/toast.class.ts +0 -18
  1071. package/toast/src/toast.component.html +0 -21
  1072. package/toast/src/toast.component.ts +0 -65
  1073. package/toast/src/toast.module.ts +0 -19
  1074. package/toast/src/toast.service.ts +0 -160
  1075. package/tooltip/index.ts +0 -1
  1076. package/tooltip/ng-package.json +0 -6
  1077. package/tooltip/src/tooltip.component.html +0 -6
  1078. package/tooltip/src/tooltip.component.ts +0 -36
  1079. package/tooltip/src/tooltip.directive.ts +0 -93
  1080. package/tooltip/src/tooltip.module.ts +0 -16
  1081. package/tree-view/index.ts +0 -1
  1082. package/tree-view/ng-package.json +0 -6
  1083. package/tree-view/public-api.ts +0 -2
  1084. package/tree-view/src/tree-view.component.html +0 -15
  1085. package/tree-view/src/tree-view.component.ts +0 -105
  1086. package/tree-view/src/tree-view.module.ts +0 -12
  1087. package/tsconfig.lib.json +0 -15
  1088. package/tsconfig.lib.prod.json +0 -10
  1089. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,156 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { asyncScheduler, BehaviorSubject } from 'rxjs';
3
+ import { finalize, observeOn } from 'rxjs/operators';
4
+ import { AXLoadingComponent } from './loading.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@acorex/components/common";
7
+ const DEFAULT_LOADER_ID = '_DEFAULT';
8
+ /**
9
+ * Used for centrally setting/unsetting loading flags for components or services.
10
+ * Should be connected to global HTTP interceptor which will unset
11
+ * the loading flags in case an error happens using the clearLoadings() method.
12
+ *
13
+ * FAQ:
14
+ * Q: How to change loading flag for a parent component?
15
+ * A: Inject the parent component as a dependency to your constructor and
16
+ * call loadingService.setLoading(parentComponent, STATE).
17
+ *
18
+ * Q: How to change loading flag for a child component?
19
+ * A: Use a @ViewChild with component selector and pass the
20
+ * reference of the child to setLoading method.
21
+ *
22
+ * Q: I need more loading indicators in my components. How to?
23
+ * A: Assign a LoaderId to each indicator and then use them
24
+ * with calls to methods of this service.
25
+ */
26
+ export class AXLoadingService {
27
+ constructor(zoneRef, overlayService) {
28
+ this.zoneRef = zoneRef;
29
+ this.overlayService = overlayService;
30
+ // WeakMap will remove components from itself upon
31
+ // their garbage collection by JS runtime.
32
+ this.loadingStates = new WeakMap();
33
+ // Both loading state maps are kept in-sync such that
34
+ // they can be used by both sync and async methods.
35
+ this.loadingStates$ = new WeakMap();
36
+ this._stack = [];
37
+ }
38
+ show(location) {
39
+ let host;
40
+ if (location) {
41
+ host = location.closest('.ax-loading-host');
42
+ }
43
+ const containerElement = (host || location);
44
+ const com = this.overlayService.show(AXLoadingComponent, {}, {
45
+ closeOnClickOutside: false,
46
+ containerElement,
47
+ hasBackdrop: true,
48
+ backdropClass: ['ax-loading-overlay'],
49
+ scroll: 'block',
50
+ });
51
+ com.instance.visible = true;
52
+ const id = new Date().getTime();
53
+ this._stack.push({ id, component: com });
54
+ return id;
55
+ }
56
+ hide(id) {
57
+ const f = this._stack.find((c) => c.id === id);
58
+ if (f) {
59
+ f.component.dispose();
60
+ this._stack = this._stack.filter((c) => c.id !== id);
61
+ }
62
+ }
63
+ // Observable creation operator.
64
+ // LoaderId can be used when there are multiple loading indicators associated to a single context.
65
+ // Context can be any object, though in practice, components and services will be the most common contexts.
66
+ // loaderId is a non-mandatory parameter - when not specified, a default loaderId is used.
67
+ // Such a scenario is used when your context has contains only one loading indicator.
68
+ doLoading(source$, context, loaderId) {
69
+ this.startLoading(context, loaderId);
70
+ return source$.pipe(observeOn(asyncScheduler), finalize(() => this.endLoading(context, loaderId)));
71
+ }
72
+ // To be used in your html templates.
73
+ // Returns a boolean indicating whether a given loader is active in a given context.
74
+ // If loaderId is unspecified, the method will return a logical disjunction of all
75
+ // loader states in the context.
76
+ isLoading(context, loaderId) {
77
+ const loaderStates = this.loadingStates.get(context);
78
+ if (!loaderStates) {
79
+ return false;
80
+ }
81
+ else {
82
+ if (loaderId !== undefined) {
83
+ return loaderStates.get(this.getLoaderId(loaderId)) ?? false;
84
+ }
85
+ else {
86
+ return [...loaderStates.values()].filter((state) => state).length > 0;
87
+ }
88
+ }
89
+ }
90
+ // To be used in your html templates with async pipes.
91
+ // Returns an Observable of booleans indicating whether a given loader is active in a given context.
92
+ isLoading$(context, loaderId) {
93
+ const coalescedLoaderId = this.getLoaderId(loaderId);
94
+ if (!this.hasLoadingStates(context, coalescedLoaderId)) {
95
+ this.setLoadingState(context, false, loaderId);
96
+ }
97
+ return this.loadingStates$.get(context).get(coalescedLoaderId);
98
+ }
99
+ // The startLoading and endLoading methods are intended to be used when handling
100
+ // complex scenarios where a need for extended usage flexibility is desired.
101
+ startLoading(context, loaderId) {
102
+ this.setLoadingState(context, true, this.getLoaderId(loaderId));
103
+ }
104
+ endLoading(context, loaderId) {
105
+ this.setLoadingState(context, false, this.getLoaderId(loaderId));
106
+ }
107
+ // To be called by middleware code (HTTP interceptors/routing listeners, etc.).
108
+ clearLoadings() {
109
+ this.loadingStates = new WeakMap();
110
+ this.loadingStates$ = new WeakMap();
111
+ }
112
+ setLoadingState(context, state, loaderId) {
113
+ if (!this.hasLoadingStates(context, loaderId)) {
114
+ if (this.hasContextLoadingState(context)) {
115
+ this.loadingStates.get(context).set(loaderId, state);
116
+ this.loadingStates$
117
+ .get(context)
118
+ .set(loaderId, new BehaviorSubject(state));
119
+ }
120
+ else {
121
+ this.loadingStates.set(context, new Map([[loaderId, state]]));
122
+ this.loadingStates$.set(context, new Map([
123
+ [loaderId, new BehaviorSubject(state)],
124
+ ]));
125
+ }
126
+ }
127
+ else {
128
+ // @ts-ignore - loadingStates[context] is surely defined in this branch
129
+ this.loadingStates.get(context).set(loaderId, state);
130
+ this.loadingStates$.get(context).get(loaderId).next(state);
131
+ }
132
+ }
133
+ hasLoadingStates(context, loaderId) {
134
+ return (this.hasContextLoadingState(context) &&
135
+ this.hasLoaderLoadingState(context, loaderId));
136
+ }
137
+ hasContextLoadingState(context) {
138
+ return this.loadingStates.has(context) && this.loadingStates$.has(context);
139
+ }
140
+ hasLoaderLoadingState(context, loaderId) {
141
+ return (this.loadingStates.get(context).has(loaderId) &&
142
+ this.loadingStates$.get(context).has(loaderId));
143
+ }
144
+ getLoaderId(loaderId) {
145
+ return loaderId ?? DEFAULT_LOADER_ID;
146
+ }
147
+ }
148
+ AXLoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXLoadingService, deps: [{ token: i0.NgZone }, { token: i1.AXOverlayService }], target: i0.ɵɵFactoryTarget.Injectable });
149
+ AXLoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXLoadingService, providedIn: 'root' });
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXLoadingService, decorators: [{
151
+ type: Injectable,
152
+ args: [{
153
+ providedIn: 'root',
154
+ }]
155
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.AXOverlayService }]; } });
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy9zcmMvbG9hZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBSXpELE1BQU0saUJBQWlCLEdBQWEsVUFBVSxDQUFDO0FBRS9DOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFjM0IsWUFDWSxPQUFlLEVBQ2pCLGNBQWdDO1FBRDlCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDakIsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBZjFDLGtEQUFrRDtRQUNsRCwwQ0FBMEM7UUFDaEMsa0JBQWEsR0FBUSxJQUFJLE9BQU8sRUFHdkMsQ0FBQztRQUNKLHFEQUFxRDtRQUNyRCxtREFBbUQ7UUFDekMsbUJBQWMsR0FBUSxJQUFJLE9BQU8sRUFHeEMsQ0FBQztRQU9JLFdBQU0sR0FBa0QsRUFBRSxDQUFDO0lBRmhFLENBQUM7SUFJSixJQUFJLENBQUMsUUFBa0I7UUFDckIsSUFBSSxJQUFtQixDQUFDO1FBQ3hCLElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUM3QztRQUNELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFtQixDQUFDO1FBQzlELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFj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QyxPQUFPLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQztJQUN2QyxDQUFDOzs2R0E1S1UsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgb2JzZXJ2ZU9uIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBWE92ZXJsYXlTZXJ2aWNlLCBBWE92ZXJsYXlWaWV3UmVmIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy5jb21wb25lbnQnO1xyXG5cclxudHlwZSBMb2FkaW5nQ29udGV4dCA9IG9iamVjdDtcclxudHlwZSBMb2FkZXJJZCA9IHN0cmluZyB8IG51bWJlcjsgLy8gZXhwZWN0ZWQgZW51bSB2YWx1ZXNcclxuY29uc3QgREVGQVVMVF9MT0FERVJfSUQ6IExvYWRlcklkID0gJ19ERUZBVUxUJztcclxuXHJcbi8qKlxyXG4gKiBVc2VkIGZvciBjZW50cmFsbHkgc2V0dGluZy91bnNldHRpbmcgbG9hZGluZyBmbGFncyBmb3IgY29tcG9uZW50cyBvciBzZXJ2aWNlcy5cclxuICogU2hvdWxkIGJlIGNvbm5lY3RlZCB0byBnbG9iYWwgSFRUUCBpbnRlcmNlcHRvciB3aGljaCB3aWxsIHVuc2V0XHJcbiAqIHRoZSBsb2FkaW5nIGZsYWdzIGluIGNhc2UgYW4gZXJyb3IgaGFwcGVucyB1c2luZyB0aGUgY2xlYXJMb2FkaW5ncygpIG1ldGhvZC5cclxuICpcclxuICogRkFROlxyXG4gKiBROiBIb3cgdG8gY2hhbmdlIGxvYWRpbmcgZmxhZyBmb3IgYSBwYXJlbnQgY29tcG9uZW50P1xyXG4gKiBBOiBJbmplY3QgdGhlIHBhcmVudCBjb21wb25lbnQgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgY29uc3RydWN0b3IgYW5kXHJcbiAqICAgIGNhbGwgbG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhwYXJlbnRDb21wb25lbnQsIFNUQVRFKS5cclxuICpcclxuICogUTogSG93IHRvIGNoYW5nZSBsb2FkaW5nIGZsYWcgZm9yIGEgY2hpbGQgY29tcG9uZW50P1xyXG4gKiBBOiBVc2UgYSBAVmlld0NoaWxkIHdpdGggY29tcG9uZW50IHNlbGVjdG9yIGFuZCBwYXNzIHRoZVxyXG4gKiAgICByZWZlcmVuY2Ugb2YgdGhlIGNoaWxkIHRvIHNldExvYWRpbmcgbWV0aG9kLlxyXG4gKlxyXG4gKiBROiBJIG5lZWQgbW9yZSBsb2FkaW5nIGluZGljYXRvcnMgaW4gbXkgY29tcG9uZW50cy4gSG93IHRvP1xyXG4gKiBBOiBBc3NpZ24gYSBMb2FkZXJJZCB0byBlYWNoIGluZGljYXRvciBhbmQgdGhlbiB1c2UgdGhlbVxyXG4gKiAgICB3aXRoIGNhbGxzIHRvIG1ldGhvZHMgb2YgdGhpcyBzZXJ2aWNlLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTG9hZGluZ1NlcnZpY2Uge1xyXG4gIC8vIFdlYWtNYXAgd2lsbCByZW1vdmUgY29tcG9uZW50cyBmcm9tIGl0c2VsZiB1cG9uXHJcbiAgLy8gdGhlaXIgZ2FyYmFnZSBjb2xsZWN0aW9uIGJ5IEpTIHJ1bnRpbWUuXHJcbiAgcHJvdGVjdGVkIGxvYWRpbmdTdGF0ZXM6IGFueSA9IG5ldyBXZWFrTWFwPFxyXG4gICAgTG9hZGluZ0NvbnRleHQsXHJcbiAgICBNYXA8TG9hZGVySWQsIGJvb2xlYW4+XHJcbiAgPigpO1xyXG4gIC8vIEJvdGggbG9hZGluZyBzdGF0ZSBtYXBzIGFyZSBrZXB0IGluLXN5bmMgc3VjaCB0aGF0XHJcbiAgLy8gdGhleSBjYW4gYmUgdXNlZCBieSBib3RoIHN5bmMgYW5kIGFzeW5jIG1ldGhvZHMuXHJcbiAgcHJvdGVjdGVkIGxvYWRpbmdTdGF0ZXMkOiBhbnkgPSBuZXcgV2Vha01hcDxcclxuICAgIExvYWRpbmdDb250ZXh0LFxyXG4gICAgTWFwPExvYWRlcklkLCBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4+XHJcbiAgPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB6b25lUmVmOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBBWE92ZXJsYXlTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIF9zdGFjazogeyBpZDogbnVtYmVyOyBjb21wb25lbnQ6IEFYT3ZlcmxheVZpZXdSZWYgfVtdID0gW107XHJcblxyXG4gIHNob3cobG9jYXRpb24/OiBFbGVtZW50KTogbnVtYmVyIHtcclxuICAgIGxldCBob3N0OiBFbGVtZW50IHwgYW55O1xyXG4gICAgaWYgKGxvY2F0aW9uKSB7XHJcbiAgICAgIGhvc3QgPSBsb2NhdGlvbi5jbG9zZXN0KCcuYXgtbG9hZGluZy1ob3N0Jyk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gKGhvc3QgfHwgbG9jYXRpb24pIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgY29uc3QgY29tID0gdGhpcy5vdmVybGF5U2VydmljZS5zaG93KFxyXG4gICAgICBBWExvYWRpbmdDb21wb25lbnQsXHJcbiAgICAgIHt9LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xvc2VPbkNsaWNrT3V0c2lkZTogZmFsc2UsXHJcbiAgICAgICAgY29udGFpbmVyRWxlbWVudCxcclxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgICBiYWNrZHJvcENsYXNzOiBbJ2F4LWxvYWRpbmctb3ZlcmxheSddLFxyXG4gICAgICAgIHNjcm9sbDogJ2Jsb2NrJyxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIGNvbS5pbnN0YW5jZS52aXNpYmxlID0gdHJ1ZTtcclxuICAgIGNvbnN0IGlkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICB0aGlzLl9zdGFjay5wdXNoKHsgaWQsIGNvbXBvbmVudDogY29tIH0pO1xyXG4gICAgcmV0dXJuIGlkO1xyXG4gIH1cclxuXHJcbiAgaGlkZShpZCk6IHZvaWQge1xyXG4gICAgY29uc3QgZiA9IHRoaXMuX3N0YWNrLmZpbmQoKGMpID0+IGMuaWQgPT09IGlkKTtcclxuICAgIGlmIChmKSB7XHJcbiAgICAgIGYuY29tcG9uZW50LmRpc3Bvc2UoKTtcclxuICAgICAgdGhpcy5fc3RhY2sgPSB0aGlzLl9zdGFjay5maWx0ZXIoKGMpID0+IGMuaWQgIT09IGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE9ic2VydmFibGUgY3JlYXRpb24gb3BlcmF0b3IuXHJcbiAgLy8gTG9hZGVySWQgY2FuIGJlIHVzZWQgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgbG9hZGluZyBpbmRpY2F0b3JzIGFzc29jaWF0ZWQgdG8gYSBzaW5nbGUgY29udGV4dC5cclxuICAvLyBDb250ZXh0IGNhbiBiZSBhbnkgb2JqZWN0LCB0aG91Z2ggaW4gcHJhY3RpY2UsIGNvbXBvbmVudHMgYW5kIHNlcnZpY2VzIHdpbGwgYmUgdGhlIG1vc3QgY29tbW9uIGNvbnRleHRzLlxyXG4gIC8vIGxvYWRlcklkIGlzIGEgbm9uLW1hbmRhdG9yeSBwYXJhbWV0ZXIgLSB3aGVuIG5vdCBzcGVjaWZpZWQsIGEgZGVmYXVsdCBsb2FkZXJJZCBpcyB1c2VkLlxyXG4gIC8vIFN1Y2ggYSBzY2VuYXJpbyBpcyB1c2VkIHdoZW4geW91ciBjb250ZXh0IGhhcyBjb250YWlucyBvbmx5IG9uZSBsb2FkaW5nIGluZGljYXRvci5cclxuICBkb0xvYWRpbmc8Vj4oXHJcbiAgICBzb3VyY2UkOiBPYnNlcnZhYmxlPFY+LFxyXG4gICAgY29udGV4dDogTG9hZGluZ0NvbnRleHQsXHJcbiAgICBsb2FkZXJJZD86IExvYWRlcklkXHJcbiAgKTogT2JzZXJ2YWJsZTxWPiB7XHJcbiAgICB0aGlzLnN0YXJ0TG9hZGluZyhjb250ZXh0LCBsb2FkZXJJZCk7XHJcblxyXG4gICAgcmV0dXJuIHNvdXJjZSQucGlwZShcclxuICAgICAgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSxcclxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5lbmRMb2FkaW5nKGNvbnRleHQsIGxvYWRlcklkKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBUbyBiZSB1c2VkIGluIHlvdXIgaHRtbCB0ZW1wbGF0ZXMuXHJcbiAgLy8gUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGEgZ2l2ZW4gbG9hZGVyIGlzIGFjdGl2ZSBpbiBhIGdpdmVuIGNvbnRleHQuXHJcbiAgLy8gSWYgbG9hZGVySWQgaXMgdW5zcGVjaWZpZWQsIHRoZSBtZXRob2Qgd2lsbCByZXR1cm4gYSBsb2dpY2FsIGRpc2p1bmN0aW9uIG9mIGFsbFxyXG4gIC8vIGxvYWRlciBzdGF0ZXMgaW4gdGhlIGNvbnRleHQuXHJcbiAgaXNMb2FkaW5nKGNvbnRleHQ6IExvYWRpbmdDb250ZXh0LCBsb2FkZXJJZD86IExvYWRlcklkKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBsb2FkZXJTdGF0ZXMgPSB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpO1xyXG5cclxuICAgIGlmICghbG9hZGVyU3RhdGVzKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChsb2FkZXJJZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGxvYWRlclN0YXRlcy5nZXQodGhpcy5nZXRMb2FkZXJJZChsb2FkZXJJZCkpID8/IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBbLi4ubG9hZGVyU3RhdGVzLnZhbHVlcygpXS5maWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZSkubGVuZ3RoID4gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVG8gYmUgdXNlZCBpbiB5b3VyIGh0bWwgdGVtcGxhdGVzIHdpdGggYXN5bmMgcGlwZXMuXHJcbiAgLy8gUmV0dXJucyBhbiBPYnNlcnZhYmxlIG9mIGJvb2xlYW5zIGluZGljYXRpbmcgd2hldGhlciBhIGdpdmVuIGxvYWRlciBpcyBhY3RpdmUgaW4gYSBnaXZlbiBjb250ZXh0LlxyXG4gIGlzTG9hZGluZyQoXHJcbiAgICBjb250ZXh0OiBMb2FkaW5nQ29udGV4dCxcclxuICAgIGxvYWRlcklkPzogTG9hZGVySWQgfCBhbnlcclxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IGNvYWxlc2NlZExvYWRlcklkID0gdGhpcy5nZXRMb2FkZXJJZChsb2FkZXJJZCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmhhc0xvYWRpbmdTdGF0ZXMoY29udGV4dCwgY29hbGVzY2VkTG9hZGVySWQpKSB7XHJcbiAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQsIGZhbHNlLCBsb2FkZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubG9hZGluZ1N0YXRlcyQuZ2V0KGNvbnRleHQpLmdldChjb2FsZXNjZWRMb2FkZXJJZCk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgc3RhcnRMb2FkaW5nIGFuZCBlbmRMb2FkaW5nIG1ldGhvZHMgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgd2hlbiBoYW5kbGluZ1xyXG4gIC8vIGNvbXBsZXggc2NlbmFyaW9zIHdoZXJlIGEgbmVlZCBmb3IgZXh0ZW5kZWQgdXNhZ2UgZmxleGliaWxpdHkgaXMgZGVzaXJlZC5cclxuICBzdGFydExvYWRpbmcoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQsIHRydWUsIHRoaXMuZ2V0TG9hZGVySWQobG9hZGVySWQpKTtcclxuICB9XHJcblxyXG4gIGVuZExvYWRpbmcoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQsIGZhbHNlLCB0aGlzLmdldExvYWRlcklkKGxvYWRlcklkKSk7XHJcbiAgfVxyXG5cclxuICAvLyBUbyBiZSBjYWxsZWQgYnkgbWlkZGxld2FyZSBjb2RlIChIVFRQIGludGVyY2VwdG9ycy9yb3V0aW5nIGxpc3RlbmVycywgZXRjLikuXHJcbiAgY2xlYXJMb2FkaW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGluZ1N0YXRlcyA9IG5ldyBXZWFrTWFwPExvYWRpbmdDb250ZXh0LCBNYXA8TG9hZGVySWQsIGJvb2xlYW4+PigpO1xyXG4gICAgdGhpcy5sb2FkaW5nU3RhdGVzJCA9IG5ldyBXZWFrTWFwPFxyXG4gICAgICBMb2FkaW5nQ29udGV4dCxcclxuICAgICAgTWFwPExvYWRlcklkLCBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4+XHJcbiAgICA+KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0TG9hZGluZ1N0YXRlKFxyXG4gICAgY29udGV4dDogTG9hZGluZ0NvbnRleHQsXHJcbiAgICBzdGF0ZTogYm9vbGVhbixcclxuICAgIGxvYWRlcklkOiBMb2FkZXJJZFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmhhc0xvYWRpbmdTdGF0ZXMoY29udGV4dCwgbG9hZGVySWQpKSB7XHJcbiAgICAgIGlmICh0aGlzLmhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dCkpIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpLnNldChsb2FkZXJJZCwgc3RhdGUpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1N0YXRlcyRcclxuICAgICAgICAgIC5nZXQoY29udGV4dClcclxuICAgICAgICAgIC5zZXQobG9hZGVySWQsIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oc3RhdGUpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMuc2V0KFxyXG4gICAgICAgICAgY29udGV4dCxcclxuICAgICAgICAgIG5ldyBNYXA8TG9hZGVySWQsIGJvb2xlYW4+KFtbbG9hZGVySWQsIHN0YXRlXV0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLnNldChcclxuICAgICAgICAgIGNvbnRleHQsXHJcbiAgICAgICAgICBuZXcgTWFwPExvYWRlcklkLCBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4+KFtcclxuICAgICAgICAgICAgW2xvYWRlcklkLCBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHN0YXRlKV0sXHJcbiAgICAgICAgICBdKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmUgLSBsb2FkaW5nU3RhdGVzW2NvbnRleHRdIGlzIHN1cmVseSBkZWZpbmVkIGluIHRoaXMgYnJhbmNoXHJcbiAgICAgIHRoaXMubG9hZGluZ1N0YXRlcy5nZXQoY29udGV4dCkuc2V0KGxvYWRlcklkLCBzdGF0ZSk7XHJcbiAgICAgIHRoaXMubG9hZGluZ1N0YXRlcyQuZ2V0KGNvbnRleHQpLmdldChsb2FkZXJJZCkubmV4dChzdGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaGFzTG9hZGluZ1N0YXRlcyhjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ6IExvYWRlcklkKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dCkgJiZcclxuICAgICAgdGhpcy5oYXNMb2FkZXJMb2FkaW5nU3RhdGUoY29udGV4dCwgbG9hZGVySWQpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dDogTG9hZGluZ0NvbnRleHQpIHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZXMuaGFzKGNvbnRleHQpICYmIHRoaXMubG9hZGluZ1N0YXRlcyQuaGFzKGNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhc0xvYWRlckxvYWRpbmdTdGF0ZShjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ6IExvYWRlcklkKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpLmhhcyhsb2FkZXJJZCkgJiZcclxuICAgICAgdGhpcy5sb2FkaW5nU3RhdGVzJC5nZXQoY29udGV4dCkuaGFzKGxvYWRlcklkKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRMb2FkZXJJZChsb2FkZXJJZD86IExvYWRlcklkKTogTG9hZGVySWQge1xyXG4gICAgcmV0dXJuIGxvYWRlcklkID8/IERFRkFVTFRfTE9BREVSX0lEO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL21lbnUvYWNvcmV4LWNvbXBvbmVudHMtbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './src/menu.component';
2
+ export * from './src/menu.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL21lbnUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL21lbnUubW9kdWxlJztcclxuIl19
@@ -0,0 +1,337 @@
1
+ import { ComponentPortal } from '@angular/cdk/portal';
2
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, } from '@angular/core';
3
+ import { AXBaseMenuMixin } from '@acorex/components/mixin';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/overlay";
6
+ import * as i2 from "@acorex/core/platform";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@acorex/components/decorators";
9
+ import * as i5 from "@acorex/components/loading";
10
+ import * as i6 from "@acorex/core/translation";
11
+ /**
12
+ * The Button is a component which detects user interaction and triggers a corresponding event
13
+ *
14
+ * @category Components
15
+ */
16
+ export class AXMenuComponent extends AXBaseMenuMixin {
17
+ constructor(_elementRef, cdr, _overlay, _platform) {
18
+ super(_elementRef, cdr);
19
+ this._elementRef = _elementRef;
20
+ this.cdr = cdr;
21
+ this._overlay = _overlay;
22
+ this._platform = _platform;
23
+ this._levelCount = 0;
24
+ }
25
+ get emptyTemplate() {
26
+ return this._contentEmptyTemplate;
27
+ }
28
+ get itemTemplate() {
29
+ return this._contentItemTemplate;
30
+ }
31
+ onInit() {
32
+ super.onInit();
33
+ }
34
+ ngAfterViewInit() {
35
+ super.onViewInit();
36
+ }
37
+ _onMenuMouseEnter(e, item) {
38
+ if (this.isLoading) {
39
+ return;
40
+ }
41
+ if (this.openMode === 'hover') {
42
+ this._handelMenuLogic(e, item);
43
+ }
44
+ e.stopPropagation();
45
+ e.preventDefault();
46
+ }
47
+ _onMenuClick(e, item) {
48
+ if (this.isLoading) {
49
+ return;
50
+ }
51
+ if (this.openMode === 'click') {
52
+ this._handelMenuLogic(e, item);
53
+ }
54
+ this.onMenuItemClick.emit({
55
+ component: this,
56
+ item: item,
57
+ nativeEvent: e,
58
+ });
59
+ e.stopPropagation();
60
+ e.preventDefault();
61
+ }
62
+ _getDirection() {
63
+ if (this.orientation === 'horizontal' && this._levelCount === 0) {
64
+ return 'ax-horizontal';
65
+ }
66
+ else if (this._levelCount > 0) {
67
+ return 'ax-vertical ax-submenu-ul';
68
+ }
69
+ else if (this.orientation === 'sidemenu') {
70
+ return 'ax-side-menu';
71
+ }
72
+ else {
73
+ return 'ax-vertical';
74
+ }
75
+ }
76
+ _removeActive(items) {
77
+ items.forEach((element) => {
78
+ element.isActive = false;
79
+ if (element?.children?.length > 0) {
80
+ this._removeActive(element.children);
81
+ }
82
+ });
83
+ }
84
+ _closeOpenChild(items) {
85
+ items.forEach((element) => {
86
+ element.isOpen = false;
87
+ if (element?.children?.length > 0) {
88
+ this._closeOpenChild(element.children);
89
+ }
90
+ });
91
+ }
92
+ _initParent(items, parentId) {
93
+ items.forEach((element) => {
94
+ element.parentId = parentId;
95
+ });
96
+ }
97
+ _handelMenuLogic(e, item) {
98
+ if (!item[this.disableField] || item[this.dividerField] === false) {
99
+ const targetElement = e.target;
100
+ if ((targetElement.closest('li') && this.openMode === 'click') ||
101
+ (targetElement.closest('li') && this.openMode === 'hover')) {
102
+ if (this._overlayRef && this._oldItem !== item) {
103
+ this._overlayRef.detach();
104
+ }
105
+ if (this.orientation === 'horizontal') {
106
+ this.displayItems.forEach((element) => {
107
+ if (!item.parentId &&
108
+ item[this.valueField] !== element[this.valueField]) {
109
+ element.isOpen = false;
110
+ }
111
+ });
112
+ }
113
+ if (item?.children?.length > 0) {
114
+ if (this.orientation === 'horizontal') {
115
+ this._initParent(item.children, item[this.valueField]);
116
+ }
117
+ if (this.orientation === 'horizontal' ||
118
+ this.orientation === 'vertical') {
119
+ if (this._oldItem !== item) {
120
+ this._openAsOverlay(targetElement.closest('li'), item.children);
121
+ }
122
+ }
123
+ this._closeOpenChild(item.children);
124
+ if (this.orientation === 'horizontal' ||
125
+ this.orientation === 'vertical') {
126
+ item.isOpen = true;
127
+ }
128
+ else {
129
+ item.isOpen = !item.isOpen;
130
+ }
131
+ }
132
+ this._removeActive(this.displayItems);
133
+ item.isActive = !item.isActive;
134
+ if (this.orientation === 'horizontal' ||
135
+ this.orientation === 'vertical') {
136
+ if (this._oldItem &&
137
+ this._oldItem?.isOpen &&
138
+ item[this.valueField] !== this._oldItem[this.valueField]) {
139
+ this._oldItem.isOpen = false;
140
+ }
141
+ this._oldItem = item;
142
+ }
143
+ }
144
+ }
145
+ }
146
+ _openAsOverlay(targetRef, overlayItems) {
147
+ let positions = [];
148
+ if (this.orientation === 'vertical') {
149
+ if (this._levelCount >= 1) {
150
+ positions = [
151
+ {
152
+ originX: 'end',
153
+ originY: 'center',
154
+ overlayX: 'start',
155
+ overlayY: 'top',
156
+ },
157
+ {
158
+ originX: 'end',
159
+ originY: 'center',
160
+ overlayX: 'start',
161
+ overlayY: 'bottom',
162
+ },
163
+ {
164
+ originX: 'center',
165
+ originY: 'center',
166
+ overlayX: 'center',
167
+ overlayY: 'center',
168
+ },
169
+ ];
170
+ }
171
+ else {
172
+ positions = [
173
+ {
174
+ originX: 'end',
175
+ originY: 'center',
176
+ overlayX: 'start',
177
+ overlayY: 'top',
178
+ },
179
+ {
180
+ originX: 'end',
181
+ originY: 'top',
182
+ overlayX: 'start',
183
+ overlayY: 'bottom',
184
+ },
185
+ {
186
+ originX: 'center',
187
+ originY: 'center',
188
+ overlayX: 'center',
189
+ overlayY: 'center',
190
+ },
191
+ ];
192
+ }
193
+ }
194
+ else {
195
+ if (this._levelCount >= 1) {
196
+ positions = [
197
+ {
198
+ originX: 'end',
199
+ originY: 'center',
200
+ overlayX: 'start',
201
+ overlayY: 'top',
202
+ },
203
+ {
204
+ originX: 'end',
205
+ originY: 'center',
206
+ overlayX: 'start',
207
+ overlayY: 'bottom',
208
+ },
209
+ {
210
+ originX: 'end',
211
+ originY: 'top',
212
+ overlayX: 'center',
213
+ overlayY: 'top',
214
+ },
215
+ {
216
+ originX: 'center',
217
+ originY: 'top',
218
+ overlayX: 'center',
219
+ overlayY: 'top',
220
+ },
221
+ ];
222
+ }
223
+ else {
224
+ positions = [
225
+ {
226
+ originX: 'start',
227
+ originY: 'bottom',
228
+ overlayX: 'start',
229
+ overlayY: 'top',
230
+ },
231
+ {
232
+ originX: 'end',
233
+ originY: 'center',
234
+ overlayX: 'start',
235
+ overlayY: 'bottom',
236
+ },
237
+ {
238
+ originX: 'end',
239
+ originY: 'top',
240
+ overlayX: 'center',
241
+ overlayY: 'top',
242
+ },
243
+ {
244
+ originX: 'center',
245
+ originY: 'top',
246
+ overlayX: 'center',
247
+ overlayY: 'top',
248
+ },
249
+ ];
250
+ }
251
+ }
252
+ this._overlayRef = this._overlay.create({
253
+ scrollStrategy: this._overlay.scrollStrategies.close(),
254
+ positionStrategy: this._overlay
255
+ .position()
256
+ .flexibleConnectedTo(targetRef)
257
+ .withPositions([...positions])
258
+ .withPush(false),
259
+ disposeOnNavigation: true,
260
+ panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],
261
+ maxHeight: 'unset',
262
+ hasBackdrop: false,
263
+ backdropClass: ['cdk-overlay-transparent-backdrop'],
264
+ });
265
+ const ref = this._overlayRef.attach(new ComponentPortal(AXMenuComponent));
266
+ ref.instance.items = overlayItems;
267
+ ref.instance.orientation = this.orientation;
268
+ ref.instance.openMode = 'hover';
269
+ ref.instance._levelCount = this._levelCount + 1;
270
+ ref.instance.disableField = this.disableField;
271
+ ref.instance.visibleField = this.visibleField;
272
+ ref.instance.iconField = this.iconField;
273
+ ref.instance.dividerField = this.dividerField;
274
+ ref.onDestroy(() => {
275
+ ref.instance?._overlayRef?.dispose();
276
+ });
277
+ this._overlayRef.outsidePointerEvents().subscribe((e) => {
278
+ if (this._overlayRef && this.openMode === 'click') {
279
+ this._close();
280
+ e.stopPropagation();
281
+ }
282
+ });
283
+ this._platform.scroll.subscribe(() => {
284
+ if (this._overlayRef) {
285
+ this._close();
286
+ }
287
+ });
288
+ this._platform.resize.subscribe(() => {
289
+ if (this._overlayRef) {
290
+ this._close();
291
+ }
292
+ });
293
+ }
294
+ _close() {
295
+ this._overlayRef.detach();
296
+ this._oldItem = null;
297
+ this.displayItems.forEach((element) => {
298
+ element.isOpen = false;
299
+ element.isActive = false;
300
+ });
301
+ this.cdr.detectChanges();
302
+ }
303
+ onDestroy() {
304
+ this._overlayRef?.detach();
305
+ }
306
+ }
307
+ AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
308
+ AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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", orientation: "orientation", showModal: "showModal" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, host: { classAttribute: "ax-menu" }, 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()\">\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 <ax-icon *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></ax-icon>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <ax-icon *ngIf=\"!item.isLoading\"\r\n [ngClass]=\"{'ax-ic-chevron':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\">\r\n </ax-icon>\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-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>", 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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXMenuComponent, decorators: [{
310
+ type: Component,
311
+ args: [{ selector: 'ax-menu', inputs: [
312
+ 'disabled',
313
+ 'tabIndex',
314
+ 'textField',
315
+ 'valueField',
316
+ 'items',
317
+ 'parentId',
318
+ 'iconField',
319
+ 'tooltip',
320
+ 'isOpen',
321
+ 'isActive',
322
+ 'visibleField',
323
+ 'disableField',
324
+ 'hasChildField',
325
+ 'dividerField',
326
+ 'openMode',
327
+ 'orientation',
328
+ 'showModal',
329
+ ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-menu' }, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\">\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 <ax-icon *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></ax-icon>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <ax-icon *ngIf=\"!item.isLoading\"\r\n [ngClass]=\"{'ax-ic-chevron':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\">\r\n </ax-icon>\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-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>" }]
330
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }]; }, propDecorators: { _contentEmptyTemplate: [{
331
+ type: ContentChild,
332
+ args: ['emptyTemplate']
333
+ }], _contentItemTemplate: [{
334
+ type: ContentChild,
335
+ args: ['itemTemplate']
336
+ }] } });
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixZQUFZLEdBSWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQUczRDs7OztHQUlHO0FBNEJILE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUFxQmxELFlBQ1UsV0FBdUIsRUFDdkIsR0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUxoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFSdkIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7SUFXaEMsQ0FBQztJQW5CRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQWVELE1BQU07UUFDSixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGVBQWU7UUFDYixLQUFLLENBQUMsVUFBVSxFQUFFLENB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d0JBQ2QsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixXQUFXO3FCQUNaLFdBQ1EsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLG1CQUNoQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnTEFJbEIscUJBQXFCO3NCQUQ1QixZQUFZO3VCQUFDLGVBQWU7Z0JBSXJCLG9CQUFvQjtzQkFEM0IsWUFBWTt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBPbkluaXQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZU1lbnVNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0YWJJbmRleCcsXHJcbiAgICAndGV4dEZpZWxkJyxcclxuICAgICd2YWx1ZUZpZWxkJyxcclxuICAgICdpdGVtcycsXHJcbiAgICAncGFyZW50SWQnLFxyXG4gICAgJ2ljb25GaWVsZCcsXHJcbiAgICAndG9vbHRpcCcsXHJcbiAgICAnaXNPcGVuJyxcclxuICAgICdpc0FjdGl2ZScsXHJcbiAgICAndmlzaWJsZUZpZWxkJyxcclxuICAgICdkaXNhYmxlRmllbGQnLFxyXG4gICAgJ2hhc0NoaWxkRmllbGQnLFxyXG4gICAgJ2RpdmlkZXJGaWVsZCcsXHJcbiAgICAnb3Blbk1vZGUnLFxyXG4gICAgJ29yaWVudGF0aW9uJyxcclxuICAgICdzaG93TW9kYWwnLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICdvbk1lbnVJdGVtQ2xpY2snXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1tZW51JyB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhNZW51Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlTWVudU1peGluIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAQ29udGVudENoaWxkKCdlbXB0eVRlbXBsYXRlJylcclxuICBwcml2YXRlIF9jb250ZW50RW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnaXRlbVRlbXBsYXRlJylcclxuICBwcml2YXRlIF9jb250ZW50SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwdWJsaWMgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcblxyXG4gIGdldCBlbXB0eVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRFbXB0eVRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGl0ZW1UZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb250ZW50SXRlbVRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbGV2ZWxDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfb2xkSXRlbTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICBfb25NZW51TW91c2VFbnRlcihlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vcGVuTW9kZSA9PT0gJ2hvdmVyJykge1xyXG4gICAgICB0aGlzLl9oYW5kZWxNZW51TG9naWMoZSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgX29uTWVudUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykge1xyXG4gICAgICB0aGlzLl9oYW5kZWxNZW51TG9naWMoZSwgaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbk1lbnVJdGVtQ2xpY2suZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaXRlbTogaXRlbSxcclxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICB9KTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBfZ2V0RGlyZWN0aW9uKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnICYmIHRoaXMuX2xldmVsQ291bnQgPT09IDApIHtcclxuICAgICAgcmV0dXJuICdheC1ob3Jpem9udGFsJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5fbGV2ZWxDb3VudCA+IDApIHtcclxuICAgICAgcmV0dXJuICdheC12ZXJ0aWNhbCBheC1zdWJtZW51LXVsJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ3NpZGVtZW51Jykge1xyXG4gICAgICByZXR1cm4gJ2F4LXNpZGUtbWVudSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2F4LXZlcnRpY2FsJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZUFjdGl2ZShpdGVtczogYW55KTogdm9pZCB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgaWYgKGVsZW1lbnQ/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aXZlKGVsZW1lbnQuY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlT3BlbkNoaWxkKGl0ZW1zOiBhbnkpOiB2b2lkIHtcclxuICAgIGl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZWxlbWVudC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgaWYgKGVsZW1lbnQ/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5fY2xvc2VPcGVuQ2hpbGQoZWxlbWVudC5jaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdFBhcmVudChpdGVtczogYW55LCBwYXJlbnRJZDogYW55KTogdm9pZCB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQucGFyZW50SWQgPSBwYXJlbnRJZDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGVsTWVudUxvZ2ljKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCFpdGVtW3RoaXMuZGlzYWJsZUZpZWxkXSB8fCBpdGVtW3RoaXMuZGl2aWRlckZpZWxkXSA9PT0gZmFsc2UpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHRhcmdldEVsZW1lbnQuY2xvc2VzdCgnbGknKSAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB8fFxyXG4gICAgICAgICh0YXJnZXRFbGVtZW50LmNsb3Nlc3QoJ2xpJykgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2hvdmVyJylcclxuICAgICAgKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5fb2xkSXRlbSAhPT0gaXRlbSkge1xyXG4gICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5SXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgIWl0ZW0ucGFyZW50SWQgJiZcclxuICAgICAgICAgICAgICBpdGVtW3RoaXMudmFsdWVGaWVsZF0gIT09IGVsZW1lbnRbdGhpcy52YWx1ZUZpZWxkXVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICBlbGVtZW50LmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRQYXJlbnQoaXRlbS5jaGlsZHJlbiwgaXRlbVt0aGlzLnZhbHVlRmllbGRdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnIHx8XHJcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fb2xkSXRlbSAhPT0gaXRlbSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX29wZW5Bc092ZXJsYXkodGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdsaScpLCBpdGVtLmNoaWxkcmVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fY2xvc2VPcGVuQ2hpbGQoaXRlbS5jaGlsZHJlbik7XHJcblxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgfHxcclxuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1xyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNPcGVuID0gIWl0ZW0uaXNPcGVuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aXZlKHRoaXMuZGlzcGxheUl0ZW1zKTtcclxuXHJcbiAgICAgICAgaXRlbS5pc0FjdGl2ZSA9ICFpdGVtLmlzQWN0aXZlO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgfHxcclxuICAgICAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5fb2xkSXRlbSAmJlxyXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtPy5pc09wZW4gJiZcclxuICAgICAgICAgICAgaXRlbVt0aGlzLnZhbHVlRmllbGRdICE9PSB0aGlzLl9vbGRJdGVtW3RoaXMudmFsdWVGaWVsZF1cclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fb2xkSXRlbSA9IGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuQXNPdmVybGF5KHRhcmdldFJlZiwgb3ZlcmxheUl0ZW1zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgbGV0IHBvc2l0aW9ucyA9IFtdO1xyXG5cclxuICAgIGlmICh0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnKSB7XHJcbiAgICAgIGlmICh0aGlzLl9sZXZlbENvdW50ID49IDEpIHtcclxuICAgICAgICBwb3NpdGlvbnMgPSBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcG9zaXRpb25zID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5fbGV2ZWxDb3VudCA+PSAxKSB7XHJcbiAgICAgICAgcG9zaXRpb25zID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwb3NpdGlvbnMgPSBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCksXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXlcclxuICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRhcmdldFJlZilcclxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbLi4ucG9zaXRpb25zXSlcclxuICAgICAgICAud2l0aFB1c2goZmFsc2UpLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJywgJ2F4LW92ZXJsYXktbWVudSddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogWydjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcmVmID0gdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChBWE1lbnVDb21wb25lbnQpKTtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UuaXRlbXMgPSBvdmVybGF5SXRlbXM7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcclxuXHJcbiAgICByZWYuaW5zdGFuY2Uub3Blbk1vZGUgPSAnaG92ZXInO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5fbGV2ZWxDb3VudCA9IHRoaXMuX2xldmVsQ291bnQgKyAxO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5kaXNhYmxlRmllbGQgPSB0aGlzLmRpc2FibGVGaWVsZDtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UudmlzaWJsZUZpZWxkID0gdGhpcy52aXNpYmxlRmllbGQ7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLmljb25GaWVsZCA9IHRoaXMuaWNvbkZpZWxkO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5kaXZpZGVyRmllbGQgPSB0aGlzLmRpdmlkZXJGaWVsZDtcclxuXHJcbiAgICByZWYub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgcmVmLmluc3RhbmNlPy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgdGhpcy5fY2xvc2UoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5yZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlKCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuX29sZEl0ZW0gPSBudWxsO1xyXG4gICAgdGhpcy5kaXNwbGF5SXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBlbGVtZW50LmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICBlbGVtZW50LmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUl0ZW1zLmxlbmd0aDsgZWxzZSB0bXBFbXB0eVwiPlxyXG4gICAgPHVsIFtuZ0NsYXNzXT1cIl9nZXREaXJlY3Rpb24oKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWN1cnNpdmVMaXN0VG1wbDsgY29udGV4dDp7IGxpc3Q6IGRpc3BsYXlJdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L3VsPlxyXG4gICAgPG5nLXRlbXBsYXRlICNyZWN1cnNpdmVMaXN0VG1wbCBsZXQtbGlzdD1cImxpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3RcIj5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiaXRlbVt2aXNpYmxlRmllbGRdICE9ZmFsc2VcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXRlbVtkaXNhYmxlRmllbGRdXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfb25NZW51Q2xpY2soJGV2ZW50LGl0ZW0pXCIgKG1vdXNlZW50ZXIpPVwiX29uTWVudU1vdXNlRW50ZXIoJGV2ZW50LGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYXgtc3RhdGUtYWN0aXZlICc6IGl0ZW0uaXNBY3RpdmV9XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtXCIgKm5nSWY9XCJpdGVtVGVtcGxhdGUgPT0gbnVsbCBlbHNlIHRtcEl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtLXByZWZpeFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiAqbmdJZj1cIml0ZW1baWNvbkZpZWxkXVwiIFtjbGFzc109XCJpdGVtW2ljb25GaWVsZF1cIj48L2F4LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7X2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtLXN1ZmZpeFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiAqbmdJZj1cIiFpdGVtLmlzTG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2F4LWljLWNoZXZyb24nOml0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPiAwLCdheC1tZW51LWFjdGl2ZS1pY29uJzogaXRlbS5pc09wZW59XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxvYWRpbmcgKm5nSWY9XCJpdGVtLmlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWxvYWRpbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gIGl0ZW0gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG1wSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlO2NvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPHVsICpuZ0lmPVwiaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgJiYgaXRlbS5pc09wZW4gJiYhX292ZXJsYXlSZWZcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTGlzdFRtcGw7IGNvbnRleHQ6eyBsaXN0OiBpdGVtLmNoaWxkcmVuIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImF4LWRpdmlkZXJcIiAqbmdJZj1cIml0ZW1bdGhpcy5kaXZpZGVyRmllbGRdXCI+PC9saT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXAtNFwiPlxyXG4gICAgICAgICAgICA8YXgtbG9hZGluZyB0ZXh0PVwie3sgJ2xheW91dC5sb2FkaW5nLnRleHQnIHwgdHJhbnMgfX1cIj48L2F4LWxvYWRpbmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdG1wRW1wdHk+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZTsgZWxzZSBlbHNlRW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VFbXB0eVRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm5vLXJlc3VsdC1mb3VuZCcgfCB0cmFucyB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+Il19