@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,21 +1,23 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Injectable, Inject, Output, Input, ViewChild, NgModule } from '@angular/core';
3
- import { AXLoadingService } from '@acorex/components/loading';
4
- import { AXBaseComponentMixin } from '@acorex/components/mixin';
2
+ import { inject, EventEmitter, Injectable, ViewChild, Output, Input, Inject, NgModule } from '@angular/core';
3
+ import { MXBaseComponent } from '@acorex/components/common';
5
4
  import '@acorex/components/decorators';
5
+ import { AXLoadingService } from '@acorex/components/loading';
6
6
 
7
- class AXPageComponent extends AXBaseComponentMixin {
8
- constructor(elementRef, cdr, _loadingService) {
9
- super(elementRef, cdr);
10
- this._loadingService = _loadingService;
7
+ class AXBasePageComponent extends MXBaseComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ this._loadingService = inject(AXLoadingService);
11
11
  this.isLoadingChange = new EventEmitter();
12
12
  this._isLoading = false;
13
+ this._isPopup = false;
14
+ this.onClosed = new EventEmitter();
13
15
  }
14
16
  get isLoading() {
15
17
  return this._isLoading;
16
18
  }
17
19
  set isLoading(v) {
18
- this._setOption({
20
+ this.setOption({
19
21
  name: 'isLoading',
20
22
  value: v,
21
23
  afterCallback: () => {
@@ -24,77 +26,74 @@ class AXPageComponent extends AXBaseComponentMixin {
24
26
  this._loadingId = 0;
25
27
  }
26
28
  if (v) {
27
- this._loadingId = this._loadingService.show(this._getHostElement());
29
+ this._loadingId = this._loadingService.show({ location: this.getHostElement().closest('.ax-loading-container') });
28
30
  }
29
- this._cdr.markForCheck();
31
+ this.cdr.markForCheck();
30
32
  },
31
33
  });
32
34
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPageComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXLoadingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
34
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPageComponent }); }
35
+ get isPopup() {
36
+ return this._isPopup;
37
+ }
38
+ close(data) {
39
+ this.onClosed.emit({
40
+ component: this,
41
+ data: data,
42
+ });
43
+ }
44
+ onClosing(e) { }
45
+ ngOnDestroy() {
46
+ this.onClosed.unsubscribe();
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXBasePageComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
49
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXBasePageComponent }); }
35
50
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPageComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXBasePageComponent, decorators: [{
37
52
  type: Injectable
38
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
39
- type: Inject,
40
- args: [AXLoadingService]
41
- }] }]; }, propDecorators: { isLoadingChange: [{
53
+ }], propDecorators: { footer: [{
54
+ type: ViewChild,
55
+ args: ["ax-footer", { static: true }]
56
+ }], isLoadingChange: [{
42
57
  type: Output
43
58
  }], isLoading: [{
44
59
  type: Input
45
60
  }] } });
46
61
 
47
- class AXBasePageComponent extends AXBaseComponentMixin {
48
- /**
49
- * @ignore
50
- */
51
- constructor(elementRef, cdr) {
52
- super(elementRef, cdr);
62
+ class AXPageComponent extends MXBaseComponent {
63
+ constructor(_loadingService) {
64
+ super();
65
+ this._loadingService = _loadingService;
53
66
  this.isLoadingChange = new EventEmitter();
54
67
  this._isLoading = false;
55
- this._isPopup = false;
56
- this.onClosed = new EventEmitter();
57
68
  }
58
69
  get isLoading() {
59
70
  return this._isLoading;
60
71
  }
61
72
  set isLoading(v) {
62
- this._setOption({
73
+ this.setOption({
63
74
  name: 'isLoading',
64
75
  value: v,
65
76
  afterCallback: () => {
66
- if (this.pageContainer) {
67
- this.pageContainer.isLoading = this.isLoading;
77
+ if (this._loadingId && !v) {
78
+ this._loadingService.hide(this._loadingId);
79
+ this._loadingId = 0;
68
80
  }
69
- this._cdr.markForCheck();
81
+ if (v) {
82
+ this._loadingId = this._loadingService.show(this.getHostElement());
83
+ }
84
+ this.cdr.markForCheck();
70
85
  },
71
86
  });
72
87
  }
73
- get isPopup() {
74
- return this._isPopup;
75
- }
76
- close(data) {
77
- this.onClosed.emit({
78
- component: this,
79
- data: data,
80
- });
81
- }
82
- onClosing(e) { }
83
- ngOnDestroy() {
84
- this.onClosed.unsubscribe();
85
- }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBasePageComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
87
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBasePageComponent }); }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPageComponent, deps: [{ token: AXLoadingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPageComponent }); }
88
90
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBasePageComponent, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPageComponent, decorators: [{
90
92
  type: Injectable
91
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { pageContainer: [{
92
- type: ViewChild,
93
- args: [AXPageComponent, { static: true }]
94
- }], footer: [{
95
- type: ViewChild,
96
- args: ["ax-footer", { static: true }]
97
- }], isLoadingChange: [{
93
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
94
+ type: Inject,
95
+ args: [AXLoadingService]
96
+ }] }]; }, propDecorators: { isLoadingChange: [{
98
97
  type: Output
99
98
  }], isLoading: [{
100
99
  type: Input
@@ -102,11 +101,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
102
101
 
103
102
  // TODO: Module is empty!?
104
103
  class AXPageModule {
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
106
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXPageModule }); }
107
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPageModule }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
105
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: AXPageModule }); }
106
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPageModule }); }
108
107
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPageModule, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPageModule, decorators: [{
110
109
  type: NgModule,
111
110
  args: [{
112
111
  imports: [],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-page.mjs","sources":["../../../../libs/components/page/src/lib/page.component.ts","../../../../libs/components/page/src/lib/base-page.class.ts","../../../../libs/components/page/src/lib/page.module.ts","../../../../libs/components/page/src/acorex-components-page.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n ElementRef,\n EventEmitter,\n Inject,\n Injectable,\n Input,\n Output,\n} from '@angular/core';\nimport { AXLoadingService } from '@acorex/components/loading';\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\n\n@Injectable()\nexport abstract class AXPageComponent extends AXBaseComponentMixin {\n constructor(\n elementRef: ElementRef,\n cdr: ChangeDetectorRef,\n @Inject(AXLoadingService) private _loadingService\n ) {\n super(elementRef, cdr);\n }\n\n private _loadingId: number;\n\n @Output()\n isLoadingChange = new EventEmitter<boolean>();\n\n private _isLoading: boolean = false;\n @Input()\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this._setOption({\n name: 'isLoading',\n value: v,\n afterCallback: () => {\n if (this._loadingId && !v) {\n this._loadingService.hide(this._loadingId);\n this._loadingId = 0;\n }\n if (v) {\n this._loadingId = this._loadingService.show(this._getHostElement());\n }\n this._cdr.markForCheck();\n },\n });\n }\n}\n","import {\n ChangeDetectorRef,\n ElementRef,\n EventEmitter,\n Injectable,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { AXPageComponent } from './page.component';\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\nimport { AXComponentCloseEvent, AXComponentClosing } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\n\n@Injectable()\nexport class AXBasePageComponent extends AXBaseComponentMixin {\n /**\n * @ignore\n */\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n @ViewChild(AXPageComponent, { static: true })\n private pageContainer: AXPageComponent;\n\n @ViewChild(\"ax-footer\", { static: true })\n footer: AXDecoratorGenericComponent;\n\n @Output()\n isLoadingChange = new EventEmitter<boolean>();\n\n private _isLoading: boolean = false;\n @Input()\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this._setOption({\n name: 'isLoading',\n value: v,\n afterCallback: () => {\n if (this.pageContainer) {\n this.pageContainer.isLoading = this.isLoading;\n }\n this._cdr.markForCheck();\n },\n });\n }\n\n private _isPopup: boolean = false;\n public get isPopup(): boolean {\n return this._isPopup;\n }\n\n onClosed: EventEmitter<AXComponentCloseEvent> = new EventEmitter<AXComponentCloseEvent>();\n\n close(data?: any) {\n this.onClosed.emit({\n component: this,\n data: data,\n });\n }\n\n onClosing(e: AXComponentClosing): void | Promise<void> { }\n\n override ngOnDestroy() {\n this.onClosed.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\n\n// TODO: Module is empty!?\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [],\n})\nexport class AXPageModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-page.mjs","sources":["../../../../libs/components/page/src/lib/base-page.class.ts","../../../../libs/components/page/src/lib/page.component.ts","../../../../libs/components/page/src/lib/page.module.ts","../../../../libs/components/page/src/acorex-components-page.ts"],"sourcesContent":["import {\n EventEmitter,\n Injectable,\n Input,\n Output,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { AXComponentCloseEvent, AXComponentClosing, MXBaseComponent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXLoadingService } from '@acorex/components/loading';\n\n@Injectable()\nexport class AXBasePageComponent extends MXBaseComponent {\n\n private _loadingId: number;\n private _loadingService = inject(AXLoadingService);\n\n @ViewChild(\"ax-footer\", { static: true })\n footer: AXDecoratorGenericComponent;\n\n @Output()\n isLoadingChange = new EventEmitter<boolean>();\n\n private _isLoading = false;\n @Input()\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this.setOption({\n name: 'isLoading',\n value: v,\n afterCallback: () => {\n if (this._loadingId && !v) {\n this._loadingService.hide(this._loadingId);\n this._loadingId = 0;\n }\n if (v) {\n this._loadingId = this._loadingService.show({ location: this.getHostElement().closest('.ax-loading-container') });\n }\n this.cdr.markForCheck();\n },\n });\n }\n\n private _isPopup = false;\n public get isPopup(): boolean {\n return this._isPopup;\n }\n\n onClosed: EventEmitter<AXComponentCloseEvent> = new EventEmitter<AXComponentCloseEvent>();\n\n close(data?: unknown) {\n this.onClosed.emit({\n component: this,\n data: data,\n });\n }\n\n onClosing(e: AXComponentClosing): void | Promise<void> { }\n\n ngOnDestroy() {\n this.onClosed.unsubscribe();\n }\n}\n","import {\n EventEmitter,\n Inject,\n Injectable,\n Input,\n Output,\n} from '@angular/core';\nimport { AXLoadingService } from '@acorex/components/loading';\nimport { MXBaseComponent } from '@acorex/components/common';\n\n@Injectable()\nexport abstract class AXPageComponent extends MXBaseComponent {\n constructor(\n @Inject(AXLoadingService) private _loadingService\n ) {\n super();\n }\n\n private _loadingId: number;\n\n @Output()\n isLoadingChange = new EventEmitter<boolean>();\n\n private _isLoading: boolean = false;\n @Input()\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this.setOption({\n name: 'isLoading',\n value: v,\n afterCallback: () => {\n if (this._loadingId && !v) {\n this._loadingService.hide(this._loadingId);\n this._loadingId = 0;\n }\n if (v) {\n this._loadingId = this._loadingService.show(this.getHostElement());\n }\n this.cdr.markForCheck();\n },\n });\n }\n}\n","import { NgModule } from '@angular/core';\n\n\n// TODO: Module is empty!?\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [],\n})\nexport class AXPageModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAaM,MAAO,mBAAoB,SAAQ,eAAe,CAAA;AADxD,IAAA,WAAA,GAAA;;AAIU,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAMnD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAW,CAAC;QAEtC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAsBnB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAKzB,QAAA,IAAA,CAAA,QAAQ,GAAwC,IAAI,YAAY,EAAyB,CAAC;AAc3F,KAAA;AAxCC,IAAA,IACW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IACD,IAAW,SAAS,CAAC,CAAU,EAAA;QAC7B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAK;AAClB,gBAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE;oBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3C,oBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACrB,iBAAA;AACD,gBAAA,IAAI,CAAC,EAAE;oBACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACnH,iBAAA;AACD,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;AACF,SAAA,CAAC,CAAC;KACJ;AAGD,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;AAID,IAAA,KAAK,CAAC,IAAc,EAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;KACJ;IAED,SAAS,CAAC,CAAqB,EAAA,GAA2B;IAE1D,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC7B;8GAnDU,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAnB,mBAAmB,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;8BAOT,MAAM,EAAA,CAAA;sBADL,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAIxC,eAAe,EAAA,CAAA;sBADd,MAAM;gBAKI,SAAS,EAAA,CAAA;sBADnB,KAAK;;;ACdF,MAAgB,eAAgB,SAAQ,eAAe,CAAA;AAC3D,IAAA,WAAA,CACoC,eAAe,EAAA;AAEjD,QAAA,KAAK,EAAE,CAAC;QAF0B,IAAe,CAAA,eAAA,GAAf,eAAe,CAAA;AAQnD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAW,CAAC;QAEtC,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;KAPnC;AAQD,IAAA,IACW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IACD,IAAW,SAAS,CAAC,CAAU,EAAA;QAC7B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAK;AAClB,gBAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE;oBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3C,oBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACrB,iBAAA;AACD,gBAAA,IAAI,CAAC,EAAE;AACL,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AACpE,iBAAA;AACD,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;AACF,SAAA,CAAC,CAAC;KACJ;AAhCmB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAEzB,gBAAgB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAFN,eAAe,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;0BAGN,MAAM;2BAAC,gBAAgB,CAAA;4CAQ1B,eAAe,EAAA,CAAA;sBADd,MAAM;gBAKI,SAAS,EAAA,CAAA;sBADnB,KAAK;;;ACrBR;MAOa,YAAY,CAAA;8GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAZ,YAAY,EAAA,CAAA,CAAA,EAAA;+GAAZ,YAAY,EAAA,CAAA,CAAA,EAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,SAAS,EAAE,EAAE;AAChB,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
@@ -37,8 +37,8 @@ class AXPasswordBoxComponent extends MXInputBaseValueComponent {
37
37
  this._icon = 'ax-icon-visibility';
38
38
  }
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPasswordBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXPasswordBoxComponent, selector: "ax-password-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", autoComplete: "autoComplete", showToggleButton: "showToggleButton" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange" }, host: { classAttribute: "ax-editor-container" }, providers: [
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPasswordBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXPasswordBoxComponent, selector: "ax-password-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", autoComplete: "autoComplete", showToggleButton: "showToggleButton" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange" }, host: { classAttribute: "ax-editor-container" }, providers: [
42
42
  { provide: AXComponent, useExisting: AXPasswordBoxComponent },
43
43
  { provide: AXFocusableComponent, useExisting: AXPasswordBoxComponent },
44
44
  { provide: AXClearableComponent, useExisting: AXPasswordBoxComponent },
@@ -49,7 +49,7 @@ class AXPasswordBoxComponent extends MXInputBaseValueComponent {
49
49
  }
50
50
  ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" [name]=\"name\" [type]=\"_type\" [id]=\"id\" [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" [attr.autocomplete]=\"autoComplete\"\n (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n<ng-content select=\"ax-clear-button\"></ng-content>\n<button type=\"button\" class=\"ax-general-button ax-button-icon\" (click)=\"toggleType()\" [tabIndex]=\"-1\"\n *ngIf=\"showToggleButton\">\n <span class=\"ax-icon {{_icon}}\"></span>\n</button>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPasswordBoxComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPasswordBoxComponent, decorators: [{
53
53
  type: Component,
54
54
  args: [{ selector: 'ax-password-box', inputs: [
55
55
  'disabled',
@@ -87,14 +87,14 @@ const MODULES = [
87
87
  AXDecoratorModule,
88
88
  ];
89
89
  class AXPasswordBoxModule {
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPasswordBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
91
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXPasswordBoxModule, declarations: [AXPasswordBoxComponent], imports: [CommonModule,
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPasswordBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
91
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: AXPasswordBoxModule, declarations: [AXPasswordBoxComponent], imports: [CommonModule,
92
92
  FormsModule,
93
93
  AXButtonModule,
94
94
  AXDecoratorModule], exports: [AXPasswordBoxComponent] }); }
95
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPasswordBoxModule, imports: [MODULES] }); }
95
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPasswordBoxModule, imports: [MODULES] }); }
96
96
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPasswordBoxModule, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPasswordBoxModule, decorators: [{
98
98
  type: NgModule,
99
99
  args: [{
100
100
  declarations: [...COMPONENT],
@@ -1,4 +1,4 @@
1
- import { MXInteractiveComponent } from '@acorex/components/common';
1
+ import { MXInteractiveComponent, MXBaseComponent, AXFocusableComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { EventEmitter, Injectable, inject, ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ViewChild, Output, NgModule } from '@angular/core';
4
4
  import { Overlay } from '@angular/cdk/overlay';
@@ -72,14 +72,14 @@ class MXDropDownComponent extends MXInteractiveComponent {
72
72
  get isOpen() {
73
73
  return this.popover?.isOpen;
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXDropDownComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
76
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXDropDownComponent }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: MXDropDownComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
76
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: MXDropDownComponent }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXDropDownComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: MXDropDownComponent, decorators: [{
79
79
  type: Injectable
80
80
  }] });
81
81
 
82
- class AXPopoverComponent extends MXInteractiveComponent {
82
+ class AXPopoverComponent extends MXBaseComponent {
83
83
  constructor() {
84
84
  super(...arguments);
85
85
  this._platform = inject(AXPlatform);
@@ -117,9 +117,9 @@ class AXPopoverComponent extends MXInteractiveComponent {
117
117
  ];
118
118
  this._subs = [];
119
119
  //
120
- this.openTrigger = 'toggle';
120
+ this._openOn = 'toggle';
121
121
  //
122
- this.closeTrigger = 'clickout';
122
+ this._closeOn = 'clickout';
123
123
  //
124
124
  this.hasBackdrop = false;
125
125
  this.adaptivityEnabled = false;
@@ -141,6 +141,31 @@ class AXPopoverComponent extends MXInteractiveComponent {
141
141
  else if (typeof v.getHostElement == 'function')
142
142
  this._target = v.getHostElement();
143
143
  }
144
+ get openOn() {
145
+ return this._openOn;
146
+ }
147
+ set openOn(v) {
148
+ debugger;
149
+ this.setOption({
150
+ name: 'openOn',
151
+ value: v,
152
+ afterCallback: () => {
153
+ this._config();
154
+ }
155
+ });
156
+ }
157
+ get closeOn() {
158
+ return this._closeOn;
159
+ }
160
+ set closeOn(v) {
161
+ this.setOption({
162
+ name: 'closeOn',
163
+ value: v,
164
+ afterCallback: () => {
165
+ this._config();
166
+ }
167
+ });
168
+ }
144
169
  _emitOnOpenedEvent() {
145
170
  this.onOpened.emit({
146
171
  component: this,
@@ -155,8 +180,13 @@ class AXPopoverComponent extends MXInteractiveComponent {
155
180
  }
156
181
  //
157
182
  ngAfterViewInit() {
183
+ this._config();
184
+ }
185
+ //
186
+ _config() {
187
+ this.dispose();
158
188
  if (this._target) {
159
- if (this.openTrigger === 'mouseover') {
189
+ if (this.openOn === 'mouseover') {
160
190
  const mouseEnter$ = fromEvent(this._target, 'mouseover');
161
191
  this._addSub(mouseEnter$.subscribe(e => {
162
192
  const point = { x: e.clientX, y: e.clientY };
@@ -164,9 +194,10 @@ class AXPopoverComponent extends MXInteractiveComponent {
164
194
  this.open();
165
195
  }));
166
196
  }
167
- if (this.closeTrigger === 'mouseout') {
197
+ if (this.closeOn === 'mouseout') {
168
198
  const mouseMove$ = fromEvent(document, 'mousemove');
169
199
  this._addSub(mouseMove$.pipe(throttleTime(50)).subscribe(e => {
200
+ debugger;
170
201
  this._mousePos.x = e.clientX;
171
202
  this._mousePos.y = e.clientY;
172
203
  if (this.isOpen) {
@@ -178,21 +209,18 @@ class AXPopoverComponent extends MXInteractiveComponent {
178
209
  }));
179
210
  }
180
211
  //
181
- if (this.openTrigger === 'click' || this.openTrigger === 'toggle') {
212
+ if (this.openOn === 'click' || this.openOn === 'toggle') {
182
213
  const click$ = fromEvent(this._target, 'click');
183
214
  this._addSub(click$.subscribe(e => {
184
- this.openTrigger == 'toggle' ? this.toggle() : this.open();
215
+ this.openOn == 'toggle' ? this.toggle() : this.open();
185
216
  }));
186
217
  }
187
218
  }
188
219
  }
189
220
  //
190
221
  ngOnDestroy() {
191
- this._overlayRef?.detach();
222
+ this.dispose();
192
223
  this._overlayRef?.dispose();
193
- this._subs.forEach(s => {
194
- s?.unsubscribe();
195
- });
196
224
  }
197
225
  toggle() {
198
226
  this.isOpen ? this.close() : this.open();
@@ -210,9 +238,11 @@ class AXPopoverComponent extends MXInteractiveComponent {
210
238
  }
211
239
  }
212
240
  dispose() {
213
- this.close();
214
- this._overlayRef?.dispose();
215
- this._overlayRef = null;
241
+ this._overlayRef?.detach();
242
+ //this._overlayRef?.dispose();
243
+ this._subs.forEach(s => {
244
+ s?.unsubscribe();
245
+ });
216
246
  }
217
247
  //
218
248
  open() {
@@ -235,8 +265,10 @@ class AXPopoverComponent extends MXInteractiveComponent {
235
265
  else {
236
266
  this._openAsPopover(targetRef);
237
267
  }
238
- if (this.closeTrigger == 'clickout') {
268
+ if (this.closeOn == 'clickout') {
269
+ debugger;
239
270
  this._addSub(this._overlayRef._outsidePointerEvents.subscribe(c => {
271
+ debugger;
240
272
  const target = c.target;
241
273
  const comElem = targetRef;
242
274
  if (!comElem.contains(target)) {
@@ -305,12 +337,19 @@ class AXPopoverComponent extends MXInteractiveComponent {
305
337
  this._overlayRef?.updatePosition();
306
338
  this.focus();
307
339
  }
308
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
309
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
340
+ focus() {
341
+ //TODO: need this??
342
+ }
343
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
344
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openOn: "openOn", closeOn: "closeOn", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [
345
+ { provide: AXFocusableComponent, useExisting: AXPopoverComponent }
346
+ ], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
310
347
  }
311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverComponent, decorators: [{
348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPopoverComponent, decorators: [{
312
349
  type: Component,
313
- args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>" }]
350
+ args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
351
+ { provide: AXFocusableComponent, useExisting: AXPopoverComponent }
352
+ ], template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>" }]
314
353
  }], propDecorators: { target: [{
315
354
  type: Input
316
355
  }], position: [{
@@ -318,9 +357,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
318
357
  }], _baseTemplate: [{
319
358
  type: ViewChild,
320
359
  args: ['baseTemplate']
321
- }], openTrigger: [{
360
+ }], openOn: [{
322
361
  type: Input
323
- }], closeTrigger: [{
362
+ }], closeOn: [{
324
363
  type: Input
325
364
  }], hasBackdrop: [{
326
365
  type: Input
@@ -335,11 +374,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
335
374
  }] } });
336
375
 
337
376
  class AXPopoverModule {
338
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
339
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverModule, declarations: [AXPopoverComponent], imports: [CommonModule], exports: [AXPopoverComponent] }); }
340
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
377
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
378
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: AXPopoverModule, declarations: [AXPopoverComponent], imports: [CommonModule], exports: [AXPopoverComponent] }); }
379
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
341
380
  }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverModule, decorators: [{
381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXPopoverModule, decorators: [{
343
382
  type: NgModule,
344
383
  args: [{
345
384
  declarations: [AXPopoverComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-popover.mjs","sources":["../../../../libs/components/popover/src/lib/dropdown-component.class.ts","../../../../libs/components/popover/src/lib/popover.component.ts","../../../../libs/components/popover/src/lib/popover.component.html","../../../../libs/components/popover/src/lib/popover.module.ts","../../../../libs/components/popover/src/acorex-components-popover.ts"],"sourcesContent":["import { AXConnectedPosition, AXEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXPopoverComponent } from './popover.component';\n\n@Injectable()\nexport abstract class MXDropDownComponent extends MXInteractiveComponent {\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n protected abstract popover: AXPopoverComponent;\n\n protected popOverPositions: AXConnectedPosition[] = [];\n\n protected initPopOverPositions() {\n const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n const list: AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n ];\n this.popOverPositions.push(...list);\n }\n\n toggle() {\n if (this.disabled !== true) {\n this.popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.popover.close();\n (this as any)?.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.popover.open();\n this.popover.focus();\n }\n\n get isOpen(): boolean {\n return this.popover?.isOpen;\n }\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Input, ViewChild, TemplateRef, Output, EventEmitter, inject } from '@angular/core';\nimport { some, includes } from 'lodash-es';\nimport { Subscription, fromEvent, throttleTime } from 'rxjs';\nimport { AXConnectedPosition, AXEvent, MXBaseComponent, MXInteractiveComponent } from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPoint, AXDrawingUtil } from '@acorex/core/utils';\n\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPopoverComponent extends MXInteractiveComponent {\n private _platform: AXPlatform = inject(AXPlatform);\n private _overlay: Overlay = inject(Overlay);\n\n //\n private _target: HTMLElement;\n @Input()\n public get target(): HTMLElement | ElementRef | MXBaseComponent {\n return this._target;\n }\n public set target(v: HTMLElement | ElementRef | MXBaseComponent) {\n if (v instanceof HTMLElement) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v.getHostElement == 'function') this._target = v.getHostElement();\n }\n\n offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n\n @Input()\n position: AXConnectedPosition | AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: this.offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -this.offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: this.offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -this.offset,\n },\n ];\n //\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<any>;\n _overlayRef: OverlayRef;\n _templatePortal: TemplatePortal;\n\n _subs: Subscription[] = [];\n //\n @Input()\n openTrigger: 'manual' | 'click' | 'mouseover' | 'toggle' = 'toggle';\n //\n @Input()\n closeTrigger: 'manual' | 'clickout' | 'mouseout' = 'clickout';\n //\n @Input()\n hasBackdrop: boolean = false;\n\n @Input()\n backdropClass: string;\n\n @Input()\n adaptivityEnabled: boolean = false;\n //\n private _mousePos: AXPoint = { x: 0, y: 0 };\n private _isScrollAttached: boolean = false;\n private _lastActiveElement: HTMLElement;\n //\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n //\n ngAfterViewInit() {\n if (this._target) {\n if (this.openTrigger === 'mouseover') {\n const mouseEnter$ = fromEvent<MouseEvent>(this._target, 'mouseover');\n this._addSub(\n mouseEnter$.subscribe(e => {\n const point = { x: e.clientX, y: e.clientY };\n if (AXDrawingUtil.isInElementBound(point, this._target)) this.open();\n })\n );\n }\n if (this.closeTrigger === 'mouseout') {\n const mouseMove$ = fromEvent<MouseEvent>(document, 'mousemove');\n this._addSub(\n mouseMove$.pipe(throttleTime(50)).subscribe(e => {\n this._mousePos.x = e.clientX;\n this._mousePos.y = e.clientY;\n if (this.isOpen) {\n setTimeout(() => {\n if (some([this._target, this._overlayRef.overlayElement], el => includes(document.elementsFromPoint(this._mousePos.x, this._mousePos.y), el))) this.close();\n }, 100);\n }\n })\n );\n }\n //\n if (this.openTrigger === 'click' || this.openTrigger === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._addSub(\n click$.subscribe(e => {\n this.openTrigger == 'toggle' ? this.toggle() : this.open();\n })\n );\n }\n }\n }\n //\n ngOnDestroy(): void {\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n this._subs.forEach(s => {\n s?.unsubscribe();\n });\n }\n\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n\n //\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this._emitOnClosedEvent();\n //\n if (this._lastActiveElement?.focus) {\n this._lastActiveElement.focus();\n }\n }\n\n dispose() {\n this.close();\n this._overlayRef?.dispose();\n this._overlayRef = null as any;\n }\n\n //\n open() {\n if (this.isOpen) {\n return;\n }\n this._lastActiveElement = document.activeElement as HTMLElement;\n this._ensureOverlayCreated();\n this._overlayRef?.attach(this._templatePortal);\n this._emitOnOpenedEvent();\n }\n\n private _ensureOverlayCreated() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n if (!this._overlayRef) {\n if (this._platform.is('SM') && this.adaptivityEnabled) {\n this._openAsActionsheet();\n } else {\n this._openAsPopover(targetRef);\n }\n\n if (this.closeTrigger == 'clickout') {\n this._addSub(\n this._overlayRef._outsidePointerEvents.subscribe(c => {\n const target = c.target as HTMLElement;\n const comElem = targetRef;\n if (!comElem.contains(target)) {\n this.close();\n }\n })\n );\n }\n this._addSub(\n this._overlayRef.attachments().subscribe(() => {\n if (!this._isScrollAttached) {\n this._addSub(\n this._platform.scroll.subscribe(c => {\n try {\n if (!(c.nativeEvent.target as HTMLElement)?.closest('.ax-overlay-pane')) this.close();\n } catch (error) {}\n })\n );\n this._isScrollAttached = true;\n }\n })\n );\n }\n if (!this._templatePortal) {\n this._templatePortal = new TemplatePortal(this._baseTemplate, this.getViewContainer());\n }\n }\n\n private _openAsPopover(targetRef: HTMLElement) {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(targetRef)\n .withPositions(Array.isArray(this.position) ? this.position : [this.position])\n .withPush(false),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],\n maxHeight: 'unset',\n hasBackdrop: this.hasBackdrop,\n backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],\n });\n }\n\n private _openAsActionsheet() {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(document.body)\n .withPositions([\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n ]),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-slideInUp', 'ax-animate-faster'],\n hasBackdrop: true,\n width: '100%',\n });\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n private _addSub(sub: Subscription) {\n this._subs.push(sub);\n }\n\n updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n declarations: [AXPopoverComponent],\n imports: [CommonModule],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-popover.mjs","sources":["../../../../libs/components/popover/src/lib/dropdown-component.class.ts","../../../../libs/components/popover/src/lib/popover.component.ts","../../../../libs/components/popover/src/lib/popover.component.html","../../../../libs/components/popover/src/lib/popover.module.ts","../../../../libs/components/popover/src/acorex-components-popover.ts"],"sourcesContent":["import { AXConnectedPosition, AXEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXPopoverComponent } from './popover.component';\n\n@Injectable()\nexport abstract class MXDropDownComponent extends MXInteractiveComponent {\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n protected abstract popover: AXPopoverComponent;\n\n protected popOverPositions: AXConnectedPosition[] = [];\n\n protected initPopOverPositions() {\n const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n const list: AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n ];\n this.popOverPositions.push(...list);\n }\n\n toggle() {\n if (this.disabled !== true) {\n this.popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.popover.close();\n (this as any)?.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.popover.open();\n this.popover.focus();\n }\n\n get isOpen(): boolean {\n return this.popover?.isOpen;\n }\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Input, ViewChild, TemplateRef, Output, EventEmitter, inject } from '@angular/core';\nimport { some, includes } from 'lodash-es';\nimport { Subscription, fromEvent, throttleTime } from 'rxjs';\nimport { AXConnectedPosition, AXEvent, AXFocusableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPoint, AXDrawingUtil } from '@acorex/core/utils';\n\nexport type AXPopoverOpenTrigger = 'manual' | 'click' | 'mouseover' | 'toggle';\n\nexport type AXPopoverCloseTrigger = 'manual' | 'clickout' | 'mouseout';\n\n\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXFocusableComponent, useExisting: AXPopoverComponent }\n ]\n})\nexport class AXPopoverComponent extends MXBaseComponent {\n private _platform: AXPlatform = inject(AXPlatform);\n private _overlay: Overlay = inject(Overlay);\n\n //\n private _target: HTMLElement;\n @Input()\n public get target(): HTMLElement | ElementRef | MXBaseComponent {\n return this._target;\n }\n public set target(v: HTMLElement | ElementRef | MXBaseComponent) {\n if (v instanceof HTMLElement) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v.getHostElement == 'function') this._target = v.getHostElement();\n }\n\n offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n\n @Input()\n position: AXConnectedPosition | AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: this.offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -this.offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: this.offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -this.offset,\n },\n ];\n //\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<any>;\n _overlayRef: OverlayRef;\n _templatePortal: TemplatePortal;\n\n _subs: Subscription[] = [];\n //\n private _openOn: AXPopoverOpenTrigger = 'toggle';\n\n @Input()\n public get openOn(): AXPopoverOpenTrigger {\n return this._openOn;\n }\n public set openOn(v: AXPopoverOpenTrigger) {\n debugger\n this.setOption({\n name: 'openOn',\n value: v,\n afterCallback: () => {\n this._config();\n }\n });\n }\n //\n private _closeOn: AXPopoverCloseTrigger = 'clickout';\n @Input()\n public get closeOn(): AXPopoverCloseTrigger {\n return this._closeOn;\n }\n public set closeOn(v: AXPopoverCloseTrigger) {\n this.setOption({\n name: 'closeOn',\n value: v,\n afterCallback: () => {\n this._config();\n }\n });\n }\n\n //\n @Input()\n hasBackdrop = false;\n\n @Input()\n backdropClass: string;\n\n @Input()\n adaptivityEnabled = false;\n //\n private _mousePos: AXPoint = { x: 0, y: 0 };\n private _isScrollAttached = false;\n private _lastActiveElement: HTMLElement;\n //\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n //\n ngAfterViewInit() {\n\n this._config();\n }\n\n //\n\n\n private _config() {\n this.dispose();\n if (this._target) {\n if (this.openOn === 'mouseover') {\n const mouseEnter$ = fromEvent<MouseEvent>(this._target, 'mouseover');\n this._addSub(\n mouseEnter$.subscribe(e => {\n const point = { x: e.clientX, y: e.clientY };\n if (AXDrawingUtil.isInElementBound(point, this._target)) this.open();\n })\n );\n }\n if (this.closeOn === 'mouseout') {\n const mouseMove$ = fromEvent<MouseEvent>(document, 'mousemove');\n this._addSub(\n mouseMove$.pipe(throttleTime(50)).subscribe(e => {\n debugger\n this._mousePos.x = e.clientX;\n this._mousePos.y = e.clientY;\n if (this.isOpen) {\n setTimeout(() => {\n if (some([this._target, this._overlayRef.overlayElement], el => includes(document.elementsFromPoint(this._mousePos.x, this._mousePos.y), el))) this.close();\n }, 100);\n }\n })\n );\n }\n //\n if (this.openOn === 'click' || this.openOn === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._addSub(\n click$.subscribe(e => {\n this.openOn == 'toggle' ? this.toggle() : this.open();\n })\n );\n }\n }\n }\n\n //\n ngOnDestroy(): void {\n this.dispose();\n this._overlayRef?.dispose();\n }\n\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n\n //\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this._emitOnClosedEvent();\n //\n if (this._lastActiveElement?.focus) {\n this._lastActiveElement.focus();\n }\n }\n\n dispose() {\n this._overlayRef?.detach();\n //this._overlayRef?.dispose();\n this._subs.forEach(s => {\n s?.unsubscribe();\n });\n }\n\n //\n open() {\n if (this.isOpen) {\n return;\n }\n this._lastActiveElement = document.activeElement as HTMLElement;\n this._ensureOverlayCreated();\n this._overlayRef?.attach(this._templatePortal);\n this._emitOnOpenedEvent();\n }\n\n private _ensureOverlayCreated() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n if (!this._overlayRef) {\n if (this._platform.is('SM') && this.adaptivityEnabled) {\n this._openAsActionsheet();\n } else {\n this._openAsPopover(targetRef);\n }\n\n if (this.closeOn == 'clickout') {\n debugger\n this._addSub(\n this._overlayRef._outsidePointerEvents.subscribe(c => {\n debugger\n const target = c.target as HTMLElement;\n const comElem = targetRef;\n if (!comElem.contains(target)) {\n this.close();\n }\n })\n );\n }\n this._addSub(\n this._overlayRef.attachments().subscribe(() => {\n if (!this._isScrollAttached) {\n this._addSub(\n this._platform.scroll.subscribe(c => {\n try {\n if (!(c.nativeEvent.target as HTMLElement)?.closest('.ax-overlay-pane')) this.close();\n } catch (error) { }\n })\n );\n this._isScrollAttached = true;\n }\n })\n );\n }\n if (!this._templatePortal) {\n this._templatePortal = new TemplatePortal(this._baseTemplate, this.getViewContainer());\n }\n }\n\n private _openAsPopover(targetRef: HTMLElement) {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(targetRef)\n .withPositions(Array.isArray(this.position) ? this.position : [this.position])\n .withPush(false),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],\n maxHeight: 'unset',\n hasBackdrop: this.hasBackdrop,\n backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],\n });\n }\n\n private _openAsActionsheet() {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(document.body)\n .withPositions([\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n ]),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-slideInUp', 'ax-animate-faster'],\n hasBackdrop: true,\n width: '100%',\n });\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n private _addSub(sub: Subscription) {\n this._subs.push(sub);\n }\n\n public updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n\n\n public focus() {\n //TODO: need this??\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n declarations: [AXPopoverComponent],\n imports: [CommonModule],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}