@acorex/components 7.3.1 → 7.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/button/lib/button-group.component.d.ts +6 -6
  2. package/button/lib/button-item.component.d.ts +6 -6
  3. package/color-picker/lib/color-picker.component.d.ts +16 -16
  4. package/common/index.d.ts +1 -2
  5. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
  6. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
  7. package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
  8. package/esm2022/alert/lib/alert.component.mjs +3 -3
  9. package/esm2022/alert/lib/alert.module.mjs +4 -4
  10. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  11. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  12. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  13. package/esm2022/badge/lib/badge.component.mjs +3 -3
  14. package/esm2022/badge/lib/badge.module.mjs +4 -4
  15. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  16. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  17. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  18. package/esm2022/button/lib/button-group.component.mjs +3 -3
  19. package/esm2022/button/lib/button-item.component.mjs +3 -3
  20. package/esm2022/button/lib/button.component.mjs +8 -7
  21. package/esm2022/button/lib/button.module.mjs +4 -4
  22. package/esm2022/calendar/lib/calendar-range.component.mjs +3 -3
  23. package/esm2022/calendar/lib/calendar.class.mjs +3 -3
  24. package/esm2022/calendar/lib/calendar.component.mjs +3 -3
  25. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  26. package/esm2022/check-box/lib/check-box.component.mjs +3 -3
  27. package/esm2022/check-box/lib/check-box.module.mjs +4 -4
  28. package/esm2022/chips/lib/chips.component.mjs +3 -3
  29. package/esm2022/chips/lib/chips.module.mjs +4 -4
  30. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  31. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  32. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  33. package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
  34. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +3 -3
  35. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  36. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  37. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  38. package/esm2022/color-palette/lib/color-palette.component.mjs +3 -3
  39. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  40. package/esm2022/color-picker/lib/color-picker.component.mjs +6 -6
  41. package/esm2022/color-picker/lib/color-picker.module.mjs +4 -4
  42. package/esm2022/common/index.mjs +2 -3
  43. package/esm2022/common/lib/classes/components.class.mjs +21 -21
  44. package/esm2022/common/lib/common.module.mjs +4 -4
  45. package/esm2022/common/lib/components/base-component.class.mjs +3 -3
  46. package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
  47. package/esm2022/common/lib/components/value-component.class.mjs +3 -3
  48. package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
  49. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
  50. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  51. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  52. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  53. package/esm2022/common/lib/services/dom.service.mjs +3 -3
  54. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  55. package/esm2022/context-menu/lib/context-menu.component.mjs +3 -3
  56. package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
  57. package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
  58. package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
  59. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
  60. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +3 -3
  61. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +3 -3
  62. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +3 -3
  63. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +3 -3
  64. package/esm2022/data-pager/lib/data-pager.component.mjs +3 -3
  65. package/esm2022/data-pager/lib/data-pager.module.mjs +4 -4
  66. package/esm2022/data-table/lib/data-column.directive.mjs +3 -3
  67. package/esm2022/data-table/lib/data-table.component.mjs +3 -3
  68. package/esm2022/data-table/lib/data-table.module.mjs +4 -4
  69. package/esm2022/date-picker/lib/datepicker.component.mjs +5 -5
  70. package/esm2022/date-picker/lib/datepicker.module.mjs +4 -4
  71. package/esm2022/decorators/lib/clear-button.component.mjs +3 -3
  72. package/esm2022/decorators/lib/close-button.component.mjs +3 -3
  73. package/esm2022/decorators/lib/decorators.module.mjs +4 -4
  74. package/esm2022/decorators/lib/generic-content.component.mjs +3 -3
  75. package/esm2022/decorators/lib/icon.component.mjs +3 -3
  76. package/esm2022/dialog/lib/dialog.component.mjs +3 -3
  77. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  78. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  79. package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
  80. package/esm2022/drawer/lib/drawer.component.mjs +3 -3
  81. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  82. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +5 -5
  83. package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
  84. package/esm2022/form/lib/form-field.component.mjs +3 -3
  85. package/esm2022/form/lib/form.component.mjs +3 -3
  86. package/esm2022/form/lib/form.module.mjs +4 -4
  87. package/esm2022/form/lib/validation-rule.widget.mjs +3 -3
  88. package/esm2022/form/lib/validation-summary.component.mjs +3 -3
  89. package/esm2022/image/lib/image.component.mjs +3 -3
  90. package/esm2022/image/lib/image.module.mjs +4 -4
  91. package/esm2022/label/lib/label.component.mjs +3 -3
  92. package/esm2022/label/lib/label.module.mjs +4 -4
  93. package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
  94. package/esm2022/loading/lib/loading.component.mjs +6 -6
  95. package/esm2022/loading/lib/loading.directive.mjs +20 -51
  96. package/esm2022/loading/lib/loading.module.mjs +6 -6
  97. package/esm2022/loading/lib/loading.service.mjs +36 -28
  98. package/esm2022/menu/lib/menu.component.mjs +3 -3
  99. package/esm2022/menu/lib/menu.module.mjs +4 -4
  100. package/esm2022/mixin/index.mjs +1 -2
  101. package/esm2022/mixin/lib/base-components.class.mjs +3 -3
  102. package/esm2022/notification/lib/notification.component.mjs +3 -3
  103. package/esm2022/notification/lib/notification.module.mjs +4 -4
  104. package/esm2022/notification/lib/notification.service.mjs +3 -3
  105. package/esm2022/number-box/lib/number-box.component.mjs +3 -3
  106. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  107. package/esm2022/otp/lib/otp.component.mjs +3 -3
  108. package/esm2022/otp/lib/otp.module.mjs +4 -4
  109. package/esm2022/page/lib/base-page.class.mjs +20 -21
  110. package/esm2022/page/lib/page.component.mjs +13 -13
  111. package/esm2022/page/lib/page.module.mjs +4 -4
  112. package/esm2022/password-box/lib/password-box.component.mjs +3 -3
  113. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  114. package/esm2022/popover/lib/dropdown-component.class.mjs +3 -3
  115. package/esm2022/popover/lib/popover.component.mjs +62 -23
  116. package/esm2022/popover/lib/popover.module.mjs +4 -4
  117. package/esm2022/popup/lib/popup.component.mjs +8 -8
  118. package/esm2022/popup/lib/popup.module.mjs +6 -6
  119. package/esm2022/popup/lib/popup.service.mjs +3 -3
  120. package/esm2022/progress-bar/lib/progress-bar.component.mjs +9 -13
  121. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  122. package/esm2022/radio/lib/radio.component.mjs +3 -3
  123. package/esm2022/radio/lib/radio.module.mjs +4 -4
  124. package/esm2022/range-slider/lib/range-slider.component.mjs +3 -3
  125. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  126. package/esm2022/result/lib/result.component.mjs +3 -3
  127. package/esm2022/result/lib/result.module.mjs +4 -4
  128. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +3 -3
  129. package/esm2022/scheduler/lib/scheduler.component.mjs +3 -3
  130. package/esm2022/scheduler/lib/scheduler.module.mjs +4 -4
  131. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  132. package/esm2022/search-box/lib/search-box.module.mjs +4 -4
  133. package/esm2022/select-box/lib/select-box.component.mjs +6 -6
  134. package/esm2022/select-box/lib/select-box.module.mjs +4 -4
  135. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  136. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
  137. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  138. package/esm2022/switch/lib/switch.component.mjs +3 -3
  139. package/esm2022/switch/lib/switch.module.mjs +4 -4
  140. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  141. package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
  142. package/esm2022/tabs/lib/tabs.component.mjs +3 -3
  143. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  144. package/esm2022/tag/lib/tag.component.mjs +3 -3
  145. package/esm2022/tag/lib/tag.module.mjs +4 -4
  146. package/esm2022/text-area/lib/text-area.component.mjs +3 -3
  147. package/esm2022/text-area/lib/text-area.module.mjs +4 -4
  148. package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
  149. package/esm2022/text-box/lib/text-box.component.mjs +3 -3
  150. package/esm2022/text-box/lib/text-box.module.mjs +4 -4
  151. package/esm2022/time-box/lib/time-box.component.mjs +3 -3
  152. package/esm2022/time-box/lib/time-box.module.mjs +4 -4
  153. package/esm2022/toast/lib/toast.component.mjs +3 -3
  154. package/esm2022/toast/lib/toast.config.mjs +9 -3
  155. package/esm2022/toast/lib/toast.module.mjs +10 -6
  156. package/esm2022/toast/lib/toast.service.mjs +3 -3
  157. package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
  158. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  159. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  160. package/esm2022/uploader/lib/uploader.component.mjs +3 -3
  161. package/esm2022/uploader/lib/uploader.module.mjs +4 -4
  162. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  163. package/fesm2022/acorex-components-alert.mjs +7 -7
  164. package/fesm2022/acorex-components-avatar.mjs +10 -10
  165. package/fesm2022/acorex-components-badge.mjs +7 -7
  166. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  167. package/fesm2022/acorex-components-button.mjs +17 -16
  168. package/fesm2022/acorex-components-button.mjs.map +1 -1
  169. package/fesm2022/acorex-components-calendar.mjs +13 -13
  170. package/fesm2022/acorex-components-check-box.mjs +7 -7
  171. package/fesm2022/acorex-components-chips.mjs +7 -7
  172. package/fesm2022/acorex-components-collapse.mjs +10 -10
  173. package/fesm2022/acorex-components-color-palette.mjs +25 -25
  174. package/fesm2022/acorex-components-color-picker.mjs +9 -9
  175. package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
  176. package/fesm2022/acorex-components-common.mjs +58 -208
  177. package/fesm2022/acorex-components-common.mjs.map +1 -1
  178. package/fesm2022/acorex-components-context-menu.mjs +7 -7
  179. package/fesm2022/acorex-components-data-pager.mjs +31 -31
  180. package/fesm2022/acorex-components-data-table.mjs +10 -10
  181. package/fesm2022/acorex-components-date-picker.mjs +8 -8
  182. package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
  183. package/fesm2022/acorex-components-decorators.mjs +16 -16
  184. package/fesm2022/acorex-components-dialog.mjs +10 -10
  185. package/fesm2022/acorex-components-drawer.mjs +10 -10
  186. package/fesm2022/acorex-components-dropdown.mjs +8 -8
  187. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  188. package/fesm2022/acorex-components-form.mjs +16 -16
  189. package/fesm2022/acorex-components-image.mjs +7 -7
  190. package/fesm2022/acorex-components-label.mjs +7 -7
  191. package/fesm2022/acorex-components-loading.mjs +93 -116
  192. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  193. package/fesm2022/acorex-components-menu.mjs +7 -7
  194. package/fesm2022/acorex-components-mixin.mjs +4 -22
  195. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  196. package/fesm2022/acorex-components-notification.mjs +10 -10
  197. package/fesm2022/acorex-components-number-box.mjs +7 -7
  198. package/fesm2022/acorex-components-otp.mjs +7 -7
  199. package/fesm2022/acorex-components-page.mjs +55 -56
  200. package/fesm2022/acorex-components-page.mjs.map +1 -1
  201. package/fesm2022/acorex-components-password-box.mjs +7 -7
  202. package/fesm2022/acorex-components-popover.mjs +68 -29
  203. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  204. package/fesm2022/acorex-components-popup.mjs +15 -15
  205. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  206. package/fesm2022/acorex-components-progress-bar.mjs +12 -16
  207. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  208. package/fesm2022/acorex-components-radio.mjs +7 -7
  209. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  210. package/fesm2022/acorex-components-result.mjs +7 -7
  211. package/fesm2022/acorex-components-scheduler.mjs +10 -10
  212. package/fesm2022/acorex-components-search-box.mjs +7 -7
  213. package/fesm2022/acorex-components-select-box.mjs +9 -9
  214. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  215. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  216. package/fesm2022/acorex-components-switch.mjs +10 -10
  217. package/fesm2022/acorex-components-tabs.mjs +13 -13
  218. package/fesm2022/acorex-components-tag.mjs +7 -7
  219. package/fesm2022/acorex-components-text-area.mjs +7 -7
  220. package/fesm2022/acorex-components-text-box.mjs +10 -10
  221. package/fesm2022/acorex-components-time-box.mjs +7 -7
  222. package/fesm2022/acorex-components-toast.mjs +23 -13
  223. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  224. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  225. package/fesm2022/acorex-components-uploader.mjs +7 -7
  226. package/loading/lib/loading.directive.d.ts +10 -17
  227. package/loading/lib/loading.module.d.ts +1 -1
  228. package/loading/lib/loading.service.d.ts +10 -15
  229. package/mixin/index.d.ts +0 -1
  230. package/mixin/lib/base-components.class.d.ts +2 -2
  231. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  232. package/mixin/lib/button-mixin.class.d.ts +2 -2
  233. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  234. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  235. package/mixin/lib/datalist-component.class.d.ts +10 -10
  236. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  237. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  238. package/mixin/lib/mixin.class.d.ts +61 -61
  239. package/mixin/lib/page-component.class.d.ts +2 -2
  240. package/mixin/lib/selection-component.class.d.ts +2 -2
  241. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  242. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  243. package/mixin/lib/value-mixin.class.d.ts +8 -8
  244. package/package.json +16 -19
  245. package/page/lib/base-page.class.d.ts +6 -10
  246. package/page/lib/page.component.d.ts +4 -4
  247. package/popover/lib/popover.component.d.ts +13 -5
  248. package/progress-bar/lib/progress-bar.component.d.ts +3 -8
  249. package/tabs/lib/tab-item.component.d.ts +2 -2
  250. package/common/lib/services/custom-cdk-overlay.service.d.ts +0 -19
  251. package/common/lib/services/overlay.service.d.ts +0 -34
  252. package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +0 -49
  253. package/esm2022/common/lib/services/overlay.service.mjs +0 -113
  254. package/esm2022/mixin/lib/loading-mixin.class.mjs +0 -18
  255. package/mixin/lib/loading-mixin.class.d.ts +0 -40
@@ -1,18 +1,18 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, InjectionToken, inject, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, Directive, NgModule, Injectable } from '@angular/core';
2
+ import { Component, InjectionToken, inject, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, Injectable, Directive, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$1 from '@angular/cdk/portal';
6
6
  import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
7
- import * as i1$2 from '@acorex/components/common';
8
7
  import { MXBaseComponent } from '@acorex/components/common';
9
- import { OverlayModule } from '@angular/cdk/overlay';
10
8
  import { asyncScheduler, BehaviorSubject } from 'rxjs';
11
9
  import { observeOn, finalize } from 'rxjs/operators';
10
+ import { Dialog } from '@angular/cdk/dialog';
11
+ import { OverlayModule } from '@angular/cdk/overlay';
12
12
 
13
13
  class AXLoadingSpinnerComponent {
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", ngImport: i0, template: `
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", ngImport: i0, template: `
16
16
  <svg
17
17
  version="1.1"
18
18
  width="24"
@@ -40,7 +40,7 @@ class AXLoadingSpinnerComponent {
40
40
  <span *ngIf="text"> {{ text }} </span>
41
41
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingSpinnerComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingSpinnerComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{
46
46
  selector: 'ax-loading-spinner',
@@ -118,22 +118,22 @@ class AXLoadingComponent extends MXBaseComponent {
118
118
  Object.assign(ref.instance, this.context);
119
119
  }
120
120
  }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXLoadingComponent, selector: "ax-loading", inputs: { visible: "visible", type: "type", context: "context" }, outputs: { visibleChange: "visibleChange" }, usesInheritance: true, ngImport: i0, template: `
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXLoadingComponent, selector: "ax-loading", inputs: { visible: "visible", type: "type", context: "context" }, outputs: { visibleChange: "visibleChange" }, usesInheritance: true, ngImport: i0, template: `
123
123
  <ng-template
124
124
  [cdkPortalOutlet]="_selectedPortal"
125
125
  (attached)="_handleAttched($event)"
126
126
  ></ng-template>
127
- `, isInline: true, styles: ["ax-loading{position:relative}ax-loading:before,ax-loading:after{content:\"\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%) scale(0)}ax-loading:before,ax-loading:after{background-color:transparent;animation:pulse2 2s ease-in-out infinite}@keyframes pulse2{0%,to{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:0}}ax-loading ax-loading-spinner{display:flex;gap:.75rem}.ax-loading-overlay{background:rgba(var(--ax-color-default))}\n"], dependencies: [{ kind: "directive", type: i1$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
127
+ `, isInline: true, styles: ["ax-loading{position:relative}ax-loading:before,ax-loading:after{content:\"\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%) scale(0)}ax-loading:before,ax-loading:after{background-color:transparent;animation:pulse2 2s ease-in-out infinite}@keyframes pulse2{0%,to{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:0}}ax-loading ax-loading-spinner{display:flex;gap:.75rem}.ax-loading-overlay-backdrop{background:rgba(var(--ax-color-default));opacity:.85!important}.ax-loading-pane{width:100%!important;height:100%!important;inset:0}.ax-loading-pane .cdk-dialog-container{display:flex!important;align-items:center;justify-content:center}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline:none}\n"], dependencies: [{ kind: "directive", type: i1$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingComponent, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingComponent, decorators: [{
130
130
  type: Component,
131
131
  args: [{ selector: 'ax-loading', template: `
132
132
  <ng-template
133
133
  [cdkPortalOutlet]="_selectedPortal"
134
134
  (attached)="_handleAttched($event)"
135
135
  ></ng-template>
136
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-loading{position:relative}ax-loading:before,ax-loading:after{content:\"\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%) scale(0)}ax-loading:before,ax-loading:after{background-color:transparent;animation:pulse2 2s ease-in-out infinite}@keyframes pulse2{0%,to{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:0}}ax-loading ax-loading-spinner{display:flex;gap:.75rem}.ax-loading-overlay{background:rgba(var(--ax-color-default))}\n"] }]
136
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-loading{position:relative}ax-loading:before,ax-loading:after{content:\"\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%) scale(0)}ax-loading:before,ax-loading:after{background-color:transparent;animation:pulse2 2s ease-in-out infinite}@keyframes pulse2{0%,to{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:0}}ax-loading ax-loading-spinner{display:flex;gap:.75rem}.ax-loading-overlay-backdrop{background:rgba(var(--ax-color-default));opacity:.85!important}.ax-loading-pane{width:100%!important;height:100%!important;inset:0}.ax-loading-pane .cdk-dialog-container{display:flex!important;align-items:center;justify-content:center}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline:none}\n"] }]
137
137
  }], propDecorators: { visibleChange: [{
138
138
  type: Output
139
139
  }], visible: [{
@@ -144,123 +144,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
144
144
  type: Input
145
145
  }] } });
146
146
 
147
- const OVERLAY_CLASS = 'ax-loading-overlay';
148
- // This directive places an overlay with a loading spinner over its host element
149
- // if isLoading equals to true and hides the overlay when isLoading becomes false.
150
- class AXLoadingDirective {
151
- //TODO: ComponentFactoryResolver is deprecated
152
- constructor(elementRef, renderer, changeDetectorRef, viewContainerRef, componentFactoryResolver) {
153
- this.elementRef = elementRef;
154
- this.renderer = renderer;
155
- this.changeDetectorRef = changeDetectorRef;
156
- this.viewContainerRef = viewContainerRef;
157
- this.componentFactoryResolver = componentFactoryResolver;
158
- this.isLoading = false;
159
- this.hostElement = this.elementRef.nativeElement;
160
- this.hostElement.style.position = 'relative';
161
- }
162
- ngOnChanges(changes) {
163
- if (!this.overlayElement || !this.spinnerElement) {
164
- this.init();
165
- }
166
- if (changes.isLoading) {
167
- const isLoadingValue = changes.isLoading.currentValue;
168
- if (isLoadingValue) {
169
- this.addLoadingIndicator();
170
- }
171
- else {
172
- this.removeLoadingIndicator();
173
- }
174
- this.changeDetectorRef.markForCheck();
175
- }
176
- }
177
- addLoadingIndicator() {
178
- this.renderer.appendChild(this.hostElement, this.overlayElement);
179
- this.renderer.appendChild(this.overlayElement, this.spinnerElement);
180
- }
181
- removeLoadingIndicator() {
182
- this.renderer.removeChild(this.overlayElement, this.spinnerElement);
183
- this.renderer.removeChild(this.hostElement, this.overlayElement);
184
- this.viewContainerRef.clear();
185
- }
186
- init() {
187
- this.initOverlayElement();
188
- this.initSpinnerComponent();
189
- }
190
- initSpinnerComponent() {
191
- const spinnerComponentFactory = this.componentFactoryResolver.resolveComponentFactory(AXLoadingComponent);
192
- const spinnerComponent = this.viewContainerRef.createComponent(spinnerComponentFactory);
193
- this.spinnerElement = spinnerComponent.location.nativeElement;
194
- }
195
- initOverlayElement() {
196
- this.overlayElement = this.renderer.createElement('div');
197
- this.renderer.addClass(this.overlayElement, OVERLAY_CLASS);
198
- }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); }
200
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: AXLoadingDirective, selector: "[axIsLoading]", inputs: { isLoading: ["axIsLoading", "isLoading"] }, usesOnChanges: true, ngImport: i0 }); }
201
- }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingDirective, decorators: [{
203
- type: Directive,
204
- args: [{
205
- selector: '[axIsLoading]',
206
- }]
207
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { isLoading: [{
208
- type: Input,
209
- args: ['axIsLoading']
210
- }] } });
211
-
212
- const COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent];
213
- const MODULES = [CommonModule, OverlayModule, PortalModule];
214
- class AXLoadingModule {
215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
216
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent] }); }
217
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingModule, imports: [MODULES] }); }
218
- }
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingModule, decorators: [{
220
- type: NgModule,
221
- args: [{
222
- declarations: [...COMPONENT],
223
- imports: [...MODULES],
224
- exports: [...COMPONENT],
225
- }]
226
- }] });
227
-
228
147
  const DEFAULT_LOADER_ID = '_DEFAULT';
229
148
  class AXLoadingService {
230
- constructor(zoneRef, overlayService) {
231
- this.zoneRef = zoneRef;
232
- this.overlayService = overlayService;
149
+ constructor() {
233
150
  // WeakMap will remove components from itself upon
234
151
  // their garbage collection by JS runtime.
235
152
  this.loadingStates = new WeakMap();
236
153
  // Both loading state maps are kept in-sync such that
237
154
  // they can be used by both sync and async methods.
238
155
  this.loadingStates$ = new WeakMap();
239
- this._stack = [];
156
+ this.dialog = inject(Dialog);
240
157
  }
241
- show(options) {
242
- let host;
243
- if (options?.location) {
244
- host = options.location.closest('.ax-loading-host');
245
- }
246
- const containerElement = (host || document.body);
247
- const com = this.overlayService.show(AXLoadingComponent, { options: options?.context }, {
248
- closeOnClickOutside: false,
249
- containerElement,
158
+ show(config) {
159
+ const ce = (config?.location ?? document.body);
160
+ const dialogRef = this.dialog.open(AXLoadingComponent, {
250
161
  hasBackdrop: true,
251
- backdropClass: ['ax-loading-overlay'],
252
- scroll: 'block',
162
+ disableClose: true,
163
+ restoreFocus: true,
164
+ closeOnDestroy: true,
165
+ closeOnNavigation: true,
166
+ ariaModal: true,
167
+ role: 'alertdialog',
168
+ panelClass: ['ax-loading-pane', 'ax-animate-fadeIn'],
169
+ backdropClass: ['ax-loading-overlay-backdrop', 'ax-animate-fadeIn'],
253
170
  });
254
- com.instance.visible = true;
255
171
  const id = new Date().getTime();
256
- this._stack.push({ id, component: com });
172
+ dialogRef.componentInstance.visible = true;
173
+ dialogRef.componentInstance.id = id.toString();
174
+ if (ce != document.body) {
175
+ const bg = dialogRef.overlayRef.backdropElement;
176
+ const ov = dialogRef.overlayRef.overlayElement;
177
+ ce.style.position = 'relative';
178
+ ov.style.position = "absolute";
179
+ ce.appendChild(bg);
180
+ ce.appendChild(ov);
181
+ setTimeout(() => {
182
+ ov.style.position = "absolute";
183
+ }, 0);
184
+ }
257
185
  return id;
186
+ // TODO: diabled focus and click, maybe we need a service and directive for it
258
187
  }
259
188
  hide(id) {
260
- const f = this._stack.find(c => c.id === id);
189
+ const f = this.dialog.openDialogs.find(c => c.componentInstance.id === id.toString());
261
190
  if (f) {
262
- f.component.dispose();
263
- this._stack = this._stack.filter(c => c.id !== id);
191
+ f.close();
264
192
  }
265
193
  }
266
194
  doLoading(source$, context, loaderId) {
@@ -327,15 +255,64 @@ class AXLoadingService {
327
255
  getLoaderId(loaderId) {
328
256
  return loaderId ?? DEFAULT_LOADER_ID;
329
257
  }
330
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingService, deps: [{ token: i0.NgZone }, { token: i1$2.AXOverlayService }], target: i0.ɵɵFactoryTarget.Injectable }); }
331
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingService, providedIn: 'root' }); }
258
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
259
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingService, providedIn: 'root' }); }
332
260
  }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXLoadingService, decorators: [{
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingService, decorators: [{
334
262
  type: Injectable,
335
263
  args: [{
336
264
  providedIn: 'root',
337
265
  }]
338
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$2.AXOverlayService }]; } });
266
+ }] });
267
+
268
+ // This directive places an overlay with a loading spinner over its host element
269
+ // if isLoading equals to true and hides the overlay when isLoading becomes false.
270
+ class AXLoadingDirective {
271
+ get isLoading() {
272
+ return this._isLoading;
273
+ }
274
+ set isLoading(v) {
275
+ this._isLoading = v;
276
+ if (v) {
277
+ this._loadingRef = this.loadingService.show({ location: this._hostElement });
278
+ }
279
+ else {
280
+ this.loadingService.hide(this._loadingRef);
281
+ }
282
+ }
283
+ constructor(elementRef, loadingService) {
284
+ this.elementRef = elementRef;
285
+ this.loadingService = loadingService;
286
+ this._hostElement = this.elementRef.nativeElement;
287
+ }
288
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingDirective, deps: [{ token: i0.ElementRef }, { token: AXLoadingService }], target: i0.ɵɵFactoryTarget.Directive }); }
289
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.8", type: AXLoadingDirective, selector: "[axIsLoading]", inputs: { isLoading: ["axIsLoading", "isLoading"] }, ngImport: i0 }); }
290
+ }
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingDirective, decorators: [{
292
+ type: Directive,
293
+ args: [{
294
+ selector: '[axIsLoading]',
295
+ }]
296
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: AXLoadingService }]; }, propDecorators: { isLoading: [{
297
+ type: Input,
298
+ args: ['axIsLoading']
299
+ }] } });
300
+
301
+ const COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent];
302
+ const MODULES = [CommonModule, OverlayModule, PortalModule];
303
+ class AXLoadingModule {
304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
305
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent] }); }
306
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingModule, imports: [MODULES] }); }
307
+ }
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingModule, decorators: [{
309
+ type: NgModule,
310
+ args: [{
311
+ declarations: [...COMPONENT],
312
+ imports: [...MODULES],
313
+ exports: [...COMPONENT],
314
+ }]
315
+ }] });
339
316
 
340
317
  /**
341
318
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-loading.mjs","sources":["../../../../libs/components/loading/src/lib/loading-spinner.component.ts","../../../../libs/components/loading/src/lib/loading.config.ts","../../../../libs/components/loading/src/lib/loading.component.ts","../../../../libs/components/loading/src/lib/loading.directive.ts","../../../../libs/components/loading/src/lib/loading.module.ts","../../../../libs/components/loading/src/lib/loading.service.ts","../../../../libs/components/loading/src/acorex-components-loading.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-loading-spinner',\n template: `\n <svg\n version=\"1.1\"\n width=\"24\"\n height=\"24\"\n style=\"fill: currentColor;\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 50 50\"\n xml:space=\"preserve\">\n <path\n fill=\"current\"\n d=\"M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z\">\n <animateTransform\n attributeType=\"xml\"\n attributeName=\"transform\"\n type=\"rotate\"\n from=\"0 25 25\"\n to=\"360 25 25\"\n dur=\"0.6s\"\n repeatCount=\"indefinite\" />\n </path>\n </svg>\n <span *ngIf=\"text\"> {{ text }} </span>\n `,\n})\nexport class AXLoadingSpinnerComponent {\n text: string;\n}\n","import { InjectionToken } from '@angular/core';\nimport { AXLoadingSpinnerComponent } from './loading-spinner.component';\n\n\nexport interface AXLoadingConfig {\n spinner: unknown\n}\n\nexport const AX_LOADING_CONFIG = new InjectionToken<AXLoadingConfig>(\n 'AX_LOADING_CONFIG',\n {\n providedIn: 'root',\n factory: () => AXLoadingDefaultConfig,\n }\n);\n\n\nexport const AXLoadingDefaultConfig: AXLoadingConfig = {\n spinner: AXLoadingSpinnerComponent\n};\n\n\nexport type PartialLoadingConfig = Partial<AXLoadingConfig>;\n\nexport function loadingConfig(config: PartialLoadingConfig = {}): AXLoadingConfig {\n const result = {\n ...AXLoadingDefaultConfig,\n ...config,\n };\n return result\n}","\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, Portal } from '@angular/cdk/portal';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n ComponentRef,\n inject,\n Inject,\n} from '@angular/core';\nimport { MXBaseComponent } from '@acorex/components/common';\nimport { AXLoadingConfig, AX_LOADING_CONFIG } from './loading.config';\n\n@Component({\n selector: 'ax-loading',\n template: `\n <ng-template\n [cdkPortalOutlet]=\"_selectedPortal\"\n (attached)=\"_handleAttched($event)\"\n ></ng-template>\n `,\n styleUrls: ['./loading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXLoadingComponent extends MXBaseComponent {\n\n\n private config: AXLoadingConfig = inject(AX_LOADING_CONFIG);\n\n\n\n protected _selectedPortal: Portal<unknown>;\n\n @Output()\n visibleChange: EventEmitter<boolean> = new EventEmitter();\n\n private _visible: boolean;\n\n @Input()\n public get visible(): boolean {\n return this._visible;\n }\n public set visible(v: boolean) {\n if (v != this._visible) {\n this._visible = v;\n v\n ? this.getHostElement().classList.remove('ax-hide')\n : this.getHostElement().classList.add('ax-hide');\n this.visibleChange.emit(v);\n }\n }\n\n @Input()\n type: string = 'spinner';\n\n @Input()\n context?: unknown;\n\n ngOnInit() {\n this._selectedPortal = new ComponentPortal(this.config.spinner as ComponentType<unknown>);\n this.cdr.markForCheck();\n }\n\n protected _handleAttched(ref: CdkPortalOutletAttachedRef) {\n ref = ref as ComponentRef<unknown>;\n if (ref.instance && this.context) {\n Object.assign(ref.instance, this.context);\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport { AXLoadingComponent } from './loading.component';\n\nconst OVERLAY_CLASS = 'ax-loading-overlay';\n\n// This directive places an overlay with a loading spinner over its host element\n// if isLoading equals to true and hides the overlay when isLoading becomes false.\n@Directive({\n selector: '[axIsLoading]',\n})\nexport class AXLoadingDirective implements OnChanges {\n @Input('axIsLoading')\n isLoading = false;\n\n protected overlayElement!: HTMLDivElement;\n protected spinnerElement!: HTMLDivElement;\n protected hostElement!: HTMLDivElement;\n\n //TODO: ComponentFactoryResolver is deprecated\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly renderer: Renderer2,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly viewContainerRef: ViewContainerRef,\n protected readonly componentFactoryResolver: ComponentFactoryResolver\n ) {\n this.hostElement = this.elementRef.nativeElement;\n this.hostElement.style.position = 'relative';\n }\n\n ngOnChanges(changes: any): void {\n if (!this.overlayElement || !this.spinnerElement) {\n this.init();\n }\n\n if (changes.isLoading) {\n const isLoadingValue = changes.isLoading.currentValue;\n\n if (isLoadingValue) {\n this.addLoadingIndicator();\n } else {\n this.removeLoadingIndicator();\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private addLoadingIndicator(): void {\n this.renderer.appendChild(this.hostElement, this.overlayElement);\n this.renderer.appendChild(this.overlayElement, this.spinnerElement);\n }\n\n private removeLoadingIndicator(): void {\n this.renderer.removeChild(this.overlayElement, this.spinnerElement);\n this.renderer.removeChild(this.hostElement, this.overlayElement);\n this.viewContainerRef.clear();\n }\n\n private init(): void {\n this.initOverlayElement();\n this.initSpinnerComponent();\n }\n\n private initSpinnerComponent(): void {\n const spinnerComponentFactory =\n this.componentFactoryResolver.resolveComponentFactory(AXLoadingComponent);\n const spinnerComponent = this.viewContainerRef.createComponent(spinnerComponentFactory);\n this.spinnerElement = spinnerComponent.location.nativeElement;\n }\n\n private initOverlayElement(): void {\n this.overlayElement = this.renderer.createElement('div');\n this.renderer.addClass(this.overlayElement, OVERLAY_CLASS);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXLoadingComponent } from './loading.component';\nimport { AXLoadingDirective } from './loading.directive';\nimport { AXLoadingSpinnerComponent } from './loading-spinner.component';\n\nconst COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent];\nconst MODULES = [CommonModule, OverlayModule, PortalModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n})\nexport class AXLoadingModule {\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { asyncScheduler, BehaviorSubject, Observable } from 'rxjs';\nimport { finalize, observeOn } from 'rxjs/operators';\nimport { AXOverlayService, AXOverlayViewRef } from '@acorex/components/common';\nimport { AXLoadingComponent } from './loading.component';\n\ntype LoadingContext = object;\ntype LoaderId = string | number; // expected enum values\nconst DEFAULT_LOADER_ID: LoaderId = '_DEFAULT';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLoadingService {\n // WeakMap will remove components from itself upon\n // their garbage collection by JS runtime.\n protected loadingStates: any = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n // Both loading state maps are kept in-sync such that\n // they can be used by both sync and async methods.\n protected loadingStates$: any = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n\n constructor(protected zoneRef: NgZone, private overlayService: AXOverlayService) { }\n\n private _stack: { id: number; component: AXOverlayViewRef }[] = [];\n\n show(options?: { location?: Element; type?: string; context?: any }): number {\n let host: Element | any;\n if (options?.location) {\n host = options.location.closest('.ax-loading-host');\n }\n const containerElement = (host || document.body) as HTMLDivElement;\n const com = this.overlayService.show(\n AXLoadingComponent,\n { options: options?.context },\n {\n closeOnClickOutside: false,\n containerElement,\n hasBackdrop: true,\n backdropClass: ['ax-loading-overlay'],\n scroll: 'block',\n }\n );\n com.instance.visible = true;\n const id = new Date().getTime();\n this._stack.push({ id, component: com });\n return id;\n }\n\n hide(id): void {\n const f = this._stack.find(c => c.id === id);\n if (f) {\n f.component.dispose();\n this._stack = this._stack.filter(c => c.id !== id);\n }\n }\n\n doLoading<V>(source$: Observable<V>, context: LoadingContext, loaderId?: LoaderId): Observable<V> {\n this.startLoading(context, loaderId);\n\n return source$.pipe(\n observeOn(asyncScheduler),\n finalize(() => this.endLoading(context, loaderId))\n );\n }\n\n\n isLoading(context: LoadingContext, loaderId?: LoaderId): boolean {\n const loaderStates = this.loadingStates.get(context);\n\n if (!loaderStates) {\n return false;\n } else {\n if (loaderId !== undefined) {\n return loaderStates.get(this.getLoaderId(loaderId)) ?? false;\n } else {\n return [...loaderStates.values()].filter(state => state).length > 0;\n }\n }\n }\n\n\n isLoading$(context: LoadingContext, loaderId?: LoaderId | any): Observable<boolean> {\n const coalescedLoaderId = this.getLoaderId(loaderId);\n\n if (!this.hasLoadingStates(context, coalescedLoaderId)) {\n this.setLoadingState(context, false, loaderId);\n }\n\n return this.loadingStates$.get(context).get(coalescedLoaderId);\n }\n\n\n startLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, true, this.getLoaderId(loaderId));\n }\n\n endLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, false, this.getLoaderId(loaderId));\n }\n\n\n clearLoadings(): void {\n this.loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n this.loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n }\n\n protected setLoadingState(context: LoadingContext, state: boolean, loaderId: LoaderId): void {\n if (!this.hasLoadingStates(context, loaderId)) {\n if (this.hasContextLoadingState(context)) {\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).set(loaderId, new BehaviorSubject<boolean>(state));\n } else {\n this.loadingStates.set(context, new Map<LoaderId, boolean>([[loaderId, state]]));\n this.loadingStates$.set(context, new Map<LoaderId, BehaviorSubject<boolean>>([[loaderId, new BehaviorSubject<boolean>(state)]]));\n }\n } else {\n // @ts-ignore - loadingStates[context] is surely defined in this branch\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).get(loaderId).next(state);\n }\n }\n\n protected hasLoadingStates(context: LoadingContext, loaderId: LoaderId) {\n return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);\n }\n\n protected hasContextLoadingState(context: LoadingContext) {\n return this.loadingStates.has(context) && this.loadingStates$.has(context);\n }\n\n protected hasLoaderLoadingState(context: LoadingContext, loaderId: LoaderId) {\n return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);\n }\n\n protected getLoaderId(loaderId?: LoaderId): LoaderId {\n return loaderId ?? DEFAULT_LOADER_ID;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;MAgCa,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EA5B1B,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA9BrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BT,EAAA,CAAA;AACF,iBAAA,CAAA;;;MCvBY,iBAAiB,GAAG,IAAI,cAAc,CAC/C,mBAAmB,EACnB;AACI,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,sBAAsB;AACxC,CAAA,EACH;AAGW,MAAA,sBAAsB,GAAoB;AACnD,IAAA,OAAO,EAAE,yBAAyB;EACpC;AAKc,SAAA,aAAa,CAAC,MAAA,GAA+B,EAAE,EAAA;AAC3D,IAAA,MAAM,MAAM,GAAG;AACX,QAAA,GAAG,sBAAsB;AACzB,QAAA,GAAG,MAAM;KACZ,CAAC;AACF,IAAA,OAAO,MAAM,CAAA;AACjB;;ACFM,MAAO,kBAAmB,SAAQ,eAAe,CAAA;AAZvD,IAAA,WAAA,GAAA;;AAeU,QAAA,IAAA,CAAA,MAAM,GAAoB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAO5D,QAAA,IAAA,CAAA,aAAa,GAA0B,IAAI,YAAY,EAAE,CAAC;QAmB1D,IAAI,CAAA,IAAA,GAAW,SAAS,CAAC;AAgB1B,KAAA;AA/BC,IAAA,IACW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAW,OAAO,CAAC,CAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,CAAC;kBACG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AACnD,kBAAE,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACnD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,SAAA;KACF;IAQD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiC,CAAC,CAAC;AAC1F,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAES,IAAA,cAAc,CAAC,GAA+B,EAAA;QACtD,GAAG,GAAG,GAA4B,CAAC;AACnC,QAAA,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,SAAA;KACF;8GA5CU,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAVnB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kiBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAKU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,kiBAAA,CAAA,EAAA,CAAA;8BAYrC,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAMI,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAeN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;;;AC/CR,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C;AACA;MAIa,kBAAkB,CAAA;;IAS7B,WACqB,CAAA,UAAsB,EACtB,QAAmB,EACnB,iBAAoC,EACpC,gBAAkC,EAClC,wBAAkD,EAAA;QAJlD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAZvE,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAchB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9C;AAED,IAAA,WAAW,CAAC,OAAY,EAAA;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAChD,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,SAAA;QAED,IAAI,OAAO,CAAC,SAAS,EAAE;AACrB,YAAA,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;AAEtD,YAAA,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC5B,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC/B,aAAA;AAED,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACvC,SAAA;KACF;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACjE,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KACrE;IAEO,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACjE,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC/B;IAEO,IAAI,GAAA;QACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAEO,oBAAoB,GAAA;QAC1B,MAAM,uBAAuB,GAC3B,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC;KAC/D;IAEO,kBAAkB,GAAA;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;KAC5D;8GAhEU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,aAAA,EAAA,WAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AAC1B,iBAAA,CAAA;+NAGC,SAAS,EAAA,CAAA;sBADR,KAAK;uBAAC,aAAa,CAAA;;;ACZtB,MAAM,SAAS,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;AACtF,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;MAO/C,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBART,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,CACnE,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CADvC,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;AAQvE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAHX,OAAO,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACrB,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AAC1B,iBAAA,CAAA;;;ACPD,MAAM,iBAAiB,GAAa,UAAU,CAAC;MAMlC,gBAAgB,CAAA;IAQ3B,WAAsB,CAAA,OAAe,EAAU,cAAgC,EAAA;QAAzD,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAAU,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkB;;;AALrE,QAAA,IAAA,CAAA,aAAa,GAAQ,IAAI,OAAO,EAA0C,CAAC;;;AAG3E,QAAA,IAAA,CAAA,cAAc,GAAQ,IAAI,OAAO,EAA2D,CAAC;QAI/F,IAAM,CAAA,MAAA,GAAkD,EAAE,CAAC;KAFiB;AAIpF,IAAA,IAAI,CAAC,OAA8D,EAAA;AACjE,QAAA,IAAI,IAAmB,CAAC;QACxB,IAAI,OAAO,EAAE,QAAQ,EAAE;YACrB,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACrD,SAAA;QACD,MAAM,gBAAgB,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAmB,CAAC;AACnE,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAClC,kBAAkB,EAClB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7B;AACE,YAAA,mBAAmB,EAAE,KAAK;YAC1B,gBAAgB;AAChB,YAAA,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,CAAC,oBAAoB,CAAC;AACrC,YAAA,MAAM,EAAE,OAAO;AAChB,SAAA,CACF,CAAC;AACF,QAAA,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACzC,QAAA,OAAO,EAAE,CAAC;KACX;AAED,IAAA,IAAI,CAAC,EAAE,EAAA;AACL,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,EAAE;AACL,YAAA,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACpD,SAAA;KACF;AAED,IAAA,SAAS,CAAI,OAAsB,EAAE,OAAuB,EAAE,QAAmB,EAAA;AAC/E,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,IAAI,CACjB,SAAS,CAAC,cAAc,CAAC,EACzB,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CACnD,CAAC;KACH;IAGD,SAAS,CAAC,OAAuB,EAAE,QAAmB,EAAA;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA;YACL,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,gBAAA,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC;AAC9D,aAAA;AAAM,iBAAA;gBACL,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACrE,aAAA;AACF,SAAA;KACF;IAGD,UAAU,CAAC,OAAuB,EAAE,QAAyB,EAAA;QAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE;YACtD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;KAChE;IAGD,YAAY,CAAC,OAAuB,EAAE,QAAmB,EAAA;AACvD,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;KACjE;IAED,UAAU,CAAC,OAAuB,EAAE,QAAmB,EAAA;AACrD,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;KAClE;IAGD,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,EAA0C,CAAC;AAC3E,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAA2D,CAAC;KAC9F;AAES,IAAA,eAAe,CAAC,OAAuB,EAAE,KAAc,EAAE,QAAkB,EAAA;QACnF,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;AAC7C,YAAA,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE;AACxC,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACrD,gBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC,CAAC;AACrF,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,CAAoB,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,CAAqC,CAAC,CAAC,QAAQ,EAAE,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClI,aAAA;AACF,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACrD,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,SAAA;KACF;IAES,gBAAgB,CAAC,OAAuB,EAAE,QAAkB,EAAA;AACpE,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC9F;AAES,IAAA,sBAAsB,CAAC,OAAuB,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC5E;IAES,qBAAqB,CAAC,OAAuB,EAAE,QAAkB,EAAA;QACzE,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACxG;AAES,IAAA,WAAW,CAAC,QAAmB,EAAA;QACvC,OAAO,QAAQ,IAAI,iBAAiB,CAAC;KACtC;8GA3HU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACbD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-loading.mjs","sources":["../../../../libs/components/loading/src/lib/loading-spinner.component.ts","../../../../libs/components/loading/src/lib/loading.config.ts","../../../../libs/components/loading/src/lib/loading.component.ts","../../../../libs/components/loading/src/lib/loading.service.ts","../../../../libs/components/loading/src/lib/loading.directive.ts","../../../../libs/components/loading/src/lib/loading.module.ts","../../../../libs/components/loading/src/acorex-components-loading.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-loading-spinner',\n template: `\n <svg\n version=\"1.1\"\n width=\"24\"\n height=\"24\"\n style=\"fill: currentColor;\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 50 50\"\n xml:space=\"preserve\">\n <path\n fill=\"current\"\n d=\"M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z\">\n <animateTransform\n attributeType=\"xml\"\n attributeName=\"transform\"\n type=\"rotate\"\n from=\"0 25 25\"\n to=\"360 25 25\"\n dur=\"0.6s\"\n repeatCount=\"indefinite\" />\n </path>\n </svg>\n <span *ngIf=\"text\"> {{ text }} </span>\n `,\n})\nexport class AXLoadingSpinnerComponent {\n text: string;\n}\n","import { InjectionToken } from '@angular/core';\nimport { AXLoadingSpinnerComponent } from './loading-spinner.component';\n\n\nexport interface AXLoadingConfig {\n spinner: unknown\n}\n\nexport const AX_LOADING_CONFIG = new InjectionToken<AXLoadingConfig>(\n 'AX_LOADING_CONFIG',\n {\n providedIn: 'root',\n factory: () => AXLoadingDefaultConfig,\n }\n);\n\n\nexport const AXLoadingDefaultConfig: AXLoadingConfig = {\n spinner: AXLoadingSpinnerComponent\n};\n\n\nexport type PartialLoadingConfig = Partial<AXLoadingConfig>;\n\nexport function loadingConfig(config: PartialLoadingConfig = {}): AXLoadingConfig {\n const result = {\n ...AXLoadingDefaultConfig,\n ...config,\n };\n return result\n}","\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, Portal } from '@angular/cdk/portal';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n ComponentRef,\n inject,\n} from '@angular/core';\nimport { MXBaseComponent } from '@acorex/components/common';\nimport { AXLoadingConfig, AX_LOADING_CONFIG } from './loading.config';\n\n@Component({\n selector: 'ax-loading',\n template: `\n <ng-template\n [cdkPortalOutlet]=\"_selectedPortal\"\n (attached)=\"_handleAttched($event)\"\n ></ng-template>\n `,\n styleUrls: ['./loading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXLoadingComponent extends MXBaseComponent {\n\n\n private config: AXLoadingConfig = inject(AX_LOADING_CONFIG);\n\n\n protected _selectedPortal: Portal<unknown>;\n\n @Output()\n visibleChange: EventEmitter<boolean> = new EventEmitter();\n\n private _visible: boolean;\n\n @Input()\n public get visible(): boolean {\n return this._visible;\n }\n public set visible(v: boolean) {\n if (v != this._visible) {\n this._visible = v;\n v\n ? this.getHostElement().classList.remove('ax-hide')\n : this.getHostElement().classList.add('ax-hide');\n this.visibleChange.emit(v);\n }\n }\n\n @Input()\n type: string = 'spinner';\n\n @Input()\n context?: unknown;\n\n ngOnInit() {\n this._selectedPortal = new ComponentPortal(this.config.spinner as ComponentType<unknown>);\n this.cdr.markForCheck();\n }\n\n protected _handleAttched(ref: CdkPortalOutletAttachedRef) {\n ref = ref as ComponentRef<unknown>;\n if (ref.instance && this.context) {\n Object.assign(ref.instance, this.context);\n }\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { asyncScheduler, BehaviorSubject, Observable } from 'rxjs';\nimport { finalize, observeOn } from 'rxjs/operators';\nimport { AXLoadingComponent } from './loading.component';\nimport { Dialog } from '@angular/cdk/dialog';\n\ntype LoadingContext = object;\ntype LoaderId = string | number; // expected enum values\nconst DEFAULT_LOADER_ID: LoaderId = '_DEFAULT';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLoadingService {\n // WeakMap will remove components from itself upon\n // their garbage collection by JS runtime.\n protected loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n // Both loading state maps are kept in-sync such that\n // they can be used by both sync and async methods.\n protected loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n\n private dialog = inject(Dialog);\n\n show(config?: { location?: Element; type?: string; context?: unknown }): number {\n const ce = (config?.location ?? document.body) as HTMLDivElement;\n const dialogRef = this.dialog.open(AXLoadingComponent,\n {\n hasBackdrop: true,\n disableClose: true,\n restoreFocus: true,\n closeOnDestroy: true,\n closeOnNavigation: true,\n ariaModal: true,\n role: 'alertdialog',\n panelClass: ['ax-loading-pane', 'ax-animate-fadeIn'],\n backdropClass: ['ax-loading-overlay-backdrop', 'ax-animate-fadeIn'],\n }\n );\n const id = new Date().getTime();\n dialogRef.componentInstance.visible = true;\n dialogRef.componentInstance.id = id.toString();\n if (ce != document.body) {\n const bg = dialogRef.overlayRef.backdropElement;\n const ov = dialogRef.overlayRef.overlayElement;\n ce.style.position = 'relative';\n ov.style.position = \"absolute\";\n ce.appendChild(bg);\n ce.appendChild(ov);\n setTimeout(() => {\n ov.style.position = \"absolute\";\n }, 0);\n }\n return id;\n // TODO: diabled focus and click, maybe we need a service and directive for it\n }\n\n hide(id: number): void {\n const f = this.dialog.openDialogs.find(c => c.componentInstance.id === id.toString());\n if (f) {\n f.close();\n }\n }\n\n doLoading<V>(source$: Observable<V>, context: LoadingContext, loaderId?: LoaderId): Observable<V> {\n this.startLoading(context, loaderId);\n return source$.pipe(\n observeOn(asyncScheduler),\n finalize(() => this.endLoading(context, loaderId))\n );\n }\n\n\n isLoading(context: LoadingContext, loaderId?: LoaderId): boolean {\n const loaderStates = this.loadingStates.get(context);\n\n if (!loaderStates) {\n return false;\n } else {\n if (loaderId !== undefined) {\n return loaderStates.get(this.getLoaderId(loaderId)) ?? false;\n } else {\n return [...loaderStates.values()].filter(state => state).length > 0;\n }\n }\n }\n\n\n isLoading$(context: LoadingContext, loaderId?: LoaderId | any): Observable<boolean> {\n const coalescedLoaderId = this.getLoaderId(loaderId);\n\n if (!this.hasLoadingStates(context, coalescedLoaderId)) {\n this.setLoadingState(context, false, loaderId);\n }\n\n return this.loadingStates$.get(context).get(coalescedLoaderId);\n }\n\n\n startLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, true, this.getLoaderId(loaderId));\n }\n\n endLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, false, this.getLoaderId(loaderId));\n }\n\n\n clearLoadings(): void {\n this.loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n this.loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n }\n\n protected setLoadingState(context: LoadingContext, state: boolean, loaderId: LoaderId): void {\n if (!this.hasLoadingStates(context, loaderId)) {\n if (this.hasContextLoadingState(context)) {\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).set(loaderId, new BehaviorSubject<boolean>(state));\n } else {\n this.loadingStates.set(context, new Map<LoaderId, boolean>([[loaderId, state]]));\n this.loadingStates$.set(context, new Map<LoaderId, BehaviorSubject<boolean>>([[loaderId, new BehaviorSubject<boolean>(state)]]));\n }\n } else {\n // @ts-ignore - loadingStates[context] is surely defined in this branch\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).get(loaderId).next(state);\n }\n }\n\n protected hasLoadingStates(context: LoadingContext, loaderId: LoaderId) {\n return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);\n }\n\n protected hasContextLoadingState(context: LoadingContext) {\n return this.loadingStates.has(context) && this.loadingStates$.has(context);\n }\n\n protected hasLoaderLoadingState(context: LoadingContext, loaderId: LoaderId) {\n return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);\n }\n\n protected getLoaderId(loaderId?: LoaderId): LoaderId {\n return loaderId ?? DEFAULT_LOADER_ID;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\nimport { AXLoadingService } from './loading.service';\n\n// This directive places an overlay with a loading spinner over its host element\n// if isLoading equals to true and hides the overlay when isLoading becomes false.\n@Directive({\n selector: '[axIsLoading]',\n})\nexport class AXLoadingDirective {\n\n private _hostElement!: HTMLDivElement;\n private _loadingRef!: number;\n\n private _isLoading: boolean;\n\n @Input('axIsLoading')\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this._isLoading = v;\n if (v) {\n this._loadingRef = this.loadingService.show({ location: this._hostElement })\n }\n else {\n this.loadingService.hide(this._loadingRef);\n }\n }\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly loadingService: AXLoadingService,\n ) {\n this._hostElement = this.elementRef.nativeElement;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXLoadingComponent } from './loading.component';\nimport { AXLoadingDirective } from './loading.directive';\nimport { AXLoadingSpinnerComponent } from './loading-spinner.component';\n\nconst COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent];\nconst MODULES = [CommonModule, OverlayModule, PortalModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n})\nexport class AXLoadingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.AXLoadingService"],"mappings":"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"}
@@ -322,10 +322,10 @@ class AXMenuComponent extends AXBaseMenuMixin {
322
322
  refresh() {
323
323
  this.cdr.markForCheck();
324
324
  }
325
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component }); }
326
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", opened: "opened", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", showModal: "showModal", activeCallback: "activeCallback" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\n </ul>\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\n <ng-container *ngFor=\"let item of list\">\n <li *ngIf=\"item[visibleField] != false\" [class.ax-state-disabled]=\"item[disableField]\"\n (click)=\"_onMenuClick($event, item)\">\n <div class=\"ax-menu-item\" [ngClass]=\"{\n 'ax-is-parent': item.children?.length,\n 'ax-is-child': !isRoot,\n 'ax-state-active ': item.isActive\n }\" *ngIf=\"itemTemplate == null; else tmpItem\">\n <div class=\"ax-menu-item-prefix\">\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\n </div>\n <div class=\"ax-menu-item-suffix\">\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\" [ngClass]=\"{\n 'ax-icon-chevron-down': item?.children?.length > 0,\n 'ax-menu-active-icon': item.opened\n }\" *ngIf=\"!item.isLoading\"></span>\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\n </div>\n </div>\n <!--------------- check for custom item template --------------->\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-container>\n </ng-template>\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\"\n [class.ax-state-disabled]=\"item[disableField]\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\n </ul>\n </li>\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"isLoading\">\n <ng-template>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading [context]=\"_loadingOptions\"></ax-loading>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <!--------------- check for custom template --------------->\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n {{ 'common.no-result-found' | trans }}\n </ng-template>\n </ng-container>\n</ng-template>", styles: ["ax-menu{font-size:.875rem;display:block}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon{padding-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal>li,ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgba(var(--ax-color-default))}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-horizontal li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu .ax-vertical{flex-direction:column;width:100%}ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgba(var(--ax-color-default));color:rgba(var(--ax-color-default-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}ax-menu .ax-side-menu .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding-inline-start:.75rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}ax-menu .ax-side-menu li .ax-menu-item{justify-content:space-between}ax-menu .ax-side-menu li .ax-menu-item.ax-is-parent{font-weight:500}ax-menu .ax-side-menu li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer;font-size:1rem}ax-menu .ax-side-menu li:not(.ax-menu-item-divider) .ax-is-child{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
325
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component }); }
326
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", opened: "opened", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", showModal: "showModal", activeCallback: "activeCallback" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\n </ul>\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\n <ng-container *ngFor=\"let item of list\">\n <li *ngIf=\"item[visibleField] != false\" [class.ax-state-disabled]=\"item[disableField]\"\n (click)=\"_onMenuClick($event, item)\">\n <div class=\"ax-menu-item\" [ngClass]=\"{\n 'ax-is-parent': item.children?.length,\n 'ax-is-child': !isRoot,\n 'ax-state-active ': item.isActive\n }\" *ngIf=\"itemTemplate == null; else tmpItem\">\n <div class=\"ax-menu-item-prefix\">\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\n </div>\n <div class=\"ax-menu-item-suffix\">\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\" [ngClass]=\"{\n 'ax-icon-chevron-down': item?.children?.length > 0,\n 'ax-menu-active-icon': item.opened\n }\" *ngIf=\"!item.isLoading\"></span>\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\n </div>\n </div>\n <!--------------- check for custom item template --------------->\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-container>\n </ng-template>\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\"\n [class.ax-state-disabled]=\"item[disableField]\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\n </ul>\n </li>\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"isLoading\">\n <ng-template>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading [context]=\"_loadingOptions\"></ax-loading>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <!--------------- check for custom template --------------->\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n {{ 'common.no-result-found' | trans }}\n </ng-template>\n </ng-container>\n</ng-template>", styles: ["ax-menu{font-size:.875rem;display:block}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon{padding-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal>li,ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgba(var(--ax-color-default))}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-horizontal li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu .ax-vertical{flex-direction:column;width:100%}ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgba(var(--ax-color-default));color:rgba(var(--ax-color-default-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}ax-menu .ax-side-menu .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding-inline-start:.75rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}ax-menu .ax-side-menu li .ax-menu-item{justify-content:space-between}ax-menu .ax-side-menu li .ax-menu-item.ax-is-parent{font-weight:500}ax-menu .ax-side-menu li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer;font-size:1rem}ax-menu .ax-side-menu li:not(.ax-menu-item-divider) .ax-is-child{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
327
327
  }
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuComponent, decorators: [{
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXMenuComponent, decorators: [{
329
329
  type: Component,
330
330
  args: [{ selector: 'ax-menu', inputs: [
331
331
  'disabled',
@@ -363,14 +363,14 @@ const MODULES = [
363
363
  OverlayModule,
364
364
  ];
365
365
  class AXMenuModule {
366
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
367
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXMenuModule, declarations: [AXMenuComponent], imports: [CommonModule, AXDecoratorModule,
366
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
367
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: AXMenuModule, declarations: [AXMenuComponent], imports: [CommonModule, AXDecoratorModule,
368
368
  AXLoadingModule,
369
369
  AXTranslationModule,
370
370
  OverlayModule], exports: [AXMenuComponent] }); }
371
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES] }); }
371
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES] }); }
372
372
  }
373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuModule, decorators: [{
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXMenuModule, decorators: [{
374
374
  type: NgModule,
375
375
  args: [{
376
376
  declarations: [...COMPONENT],
@@ -94,10 +94,10 @@ class AXBaseComponent {
94
94
  if (option.afterCallback)
95
95
  option.afterCallback(oldValue, newValue);
96
96
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBaseComponent, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBaseComponent }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXBaseComponent, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXBaseComponent }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBaseComponent, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXBaseComponent, decorators: [{
101
101
  type: Injectable
102
102
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
103
103
  type: Inject,
@@ -715,24 +715,6 @@ const INTERACTIVE_INPUTS = [
715
715
  ];
716
716
  const INTERACTIVE_OUTPUT = ['onBlur', 'onFocus'];
717
717
 
718
- function _LoadingComponenetMixin(Base) {
719
- return class extends Base {
720
- constructor(...args) {
721
- super(...args.slice(0, 2));
722
- /**
723
- * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.
724
- */
725
- this.loading = false;
726
- }
727
- _onInternalInit() {
728
- // if (!this.size) {
729
- // this.size = AXConfig.get('layout.size', 'sm');
730
- // }
731
- super._onInternalInit();
732
- }
733
- };
734
- }
735
-
736
718
  function _SelectionComponenetMixin(Base) {
737
719
  return class extends Base {
738
720
  /**
@@ -1236,5 +1218,5 @@ function _PageComponenetMixin(Base) {
1236
1218
  * Generated bundle index. Do not edit.
1237
1219
  */
1238
1220
 
1239
- export { AXAvatarMixin, AXBaseButtonMixin, AXBaseClickableMixin, AXBaseComponent, AXBaseComponentMixin, AXBaseDropdownMixin, AXBaseMenuMixin, AXBaseSelectionDropdownMixin, AXBaseSelectionValueMixin, AXBaseTextBoxMixin, AXBaseValueComponentMixin, AXBaseValueDropdownMixin, AXInteractiveComponenetMixin, AXSizableComponentMixin, BASEMENU_INPUTS, BASEMENU_OUTPUT, BASE_INPUTS, BASE_OUTPUT, BUTTON_INPUTS, BUTTON_OUTPUT, COLOR_LOOK_INPUTS, COLOR_LOOK_OUTPUT, DATALIST_INPUTS, DATALIST_OUTPUT, DROPDOWN_INPUTS, DROPDOWN_OUTPUT, INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, SELECTION_INPUTS, SELECTION_OUTPUT, SIZABLE_INPUTS, SIZABLE_OUTPUT, TEXTBOX_INPUTS, TEXTBOX_OUTPUT, _BaseComponenetMixin, _BaseMenuComponentMixin, _ButtonComponentMixin, _ClickableComponenetMixin, _ColorLookComponentMixin, _DatalistComponenetMixin, _DropdownComponenetMixin, _InteractiveComponenetMixin, _LoadingComponenetMixin, _PageComponenetMixin, _SelectionComponenetMixin, _SizableComponenetMixin, _TextboxComponenetMixin, _ValueComponenetMixin };
1221
+ export { AXAvatarMixin, AXBaseButtonMixin, AXBaseClickableMixin, AXBaseComponent, AXBaseComponentMixin, AXBaseDropdownMixin, AXBaseMenuMixin, AXBaseSelectionDropdownMixin, AXBaseSelectionValueMixin, AXBaseTextBoxMixin, AXBaseValueComponentMixin, AXBaseValueDropdownMixin, AXInteractiveComponenetMixin, AXSizableComponentMixin, BASEMENU_INPUTS, BASEMENU_OUTPUT, BASE_INPUTS, BASE_OUTPUT, BUTTON_INPUTS, BUTTON_OUTPUT, COLOR_LOOK_INPUTS, COLOR_LOOK_OUTPUT, DATALIST_INPUTS, DATALIST_OUTPUT, DROPDOWN_INPUTS, DROPDOWN_OUTPUT, INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, SELECTION_INPUTS, SELECTION_OUTPUT, SIZABLE_INPUTS, SIZABLE_OUTPUT, TEXTBOX_INPUTS, TEXTBOX_OUTPUT, _BaseComponenetMixin, _BaseMenuComponentMixin, _ButtonComponentMixin, _ClickableComponenetMixin, _ColorLookComponentMixin, _DatalistComponenetMixin, _DropdownComponenetMixin, _InteractiveComponenetMixin, _PageComponenetMixin, _SelectionComponenetMixin, _SizableComponenetMixin, _TextboxComponenetMixin, _ValueComponenetMixin };
1240
1222
  //# sourceMappingURL=acorex-components-mixin.mjs.map