@acorex/components 7.0.37 → 7.0.38

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 (62) hide show
  1. package/context-menu/src/context-menu.component.d.ts +1 -1
  2. package/esm2020/action-sheet/src/action-sheet.component.mjs +3 -3
  3. package/esm2020/button/src/button.component.mjs +2 -2
  4. package/esm2020/context-menu/src/context-menu.component.mjs +8 -8
  5. package/esm2020/form/src/form-field.component.mjs +3 -3
  6. package/esm2020/label/src/label.component.mjs +7 -4
  7. package/esm2020/menu/src/menu.component.mjs +29 -34
  8. package/esm2020/mixin/src/base-menu-mixin.class.mjs +7 -9
  9. package/esm2020/selection-list/src/selection-list.component.mjs +2 -2
  10. package/fesm2015/acorex-components-action-sheet.mjs +2 -3
  11. package/fesm2015/acorex-components-action-sheet.mjs.map +1 -1
  12. package/fesm2015/acorex-components-alert.mjs +1 -0
  13. package/fesm2015/acorex-components-button.mjs +2 -3
  14. package/fesm2015/acorex-components-button.mjs.map +1 -1
  15. package/fesm2015/acorex-components-context-menu.mjs +7 -8
  16. package/fesm2015/acorex-components-context-menu.mjs.map +1 -1
  17. package/fesm2015/acorex-components-form.mjs +2 -2
  18. package/fesm2015/acorex-components-form.mjs.map +1 -1
  19. package/fesm2015/acorex-components-label.mjs +5 -3
  20. package/fesm2015/acorex-components-label.mjs.map +1 -1
  21. package/fesm2015/acorex-components-menu.mjs +28 -34
  22. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  23. package/fesm2015/acorex-components-mixin.mjs +6 -9
  24. package/fesm2015/acorex-components-mixin.mjs.map +1 -1
  25. package/fesm2015/acorex-components-selection-list.mjs +2 -2
  26. package/fesm2015/acorex-components-selection-list.mjs.map +1 -1
  27. package/fesm2015/acorex-components-switch.mjs +1 -0
  28. package/fesm2015/acorex-components-tabs.mjs +1 -0
  29. package/fesm2015/acorex-components-tag.mjs +1 -0
  30. package/fesm2015/acorex-components-textarea.mjs +1 -0
  31. package/fesm2015/acorex-components-time-box.mjs +1 -0
  32. package/fesm2015/acorex-components-tooltip.mjs +1 -0
  33. package/fesm2015/acorex-components-tree-view.mjs +1 -0
  34. package/fesm2015/acorex-components-uploader.mjs +1 -0
  35. package/fesm2020/acorex-components-action-sheet.mjs +2 -3
  36. package/fesm2020/acorex-components-action-sheet.mjs.map +1 -1
  37. package/fesm2020/acorex-components-alert.mjs +1 -0
  38. package/fesm2020/acorex-components-button.mjs +2 -3
  39. package/fesm2020/acorex-components-button.mjs.map +1 -1
  40. package/fesm2020/acorex-components-context-menu.mjs +7 -8
  41. package/fesm2020/acorex-components-context-menu.mjs.map +1 -1
  42. package/fesm2020/acorex-components-form.mjs +2 -2
  43. package/fesm2020/acorex-components-form.mjs.map +1 -1
  44. package/fesm2020/acorex-components-label.mjs +5 -3
  45. package/fesm2020/acorex-components-label.mjs.map +1 -1
  46. package/fesm2020/acorex-components-menu.mjs +28 -34
  47. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  48. package/fesm2020/acorex-components-mixin.mjs +6 -9
  49. package/fesm2020/acorex-components-mixin.mjs.map +1 -1
  50. package/fesm2020/acorex-components-selection-list.mjs +2 -2
  51. package/fesm2020/acorex-components-selection-list.mjs.map +1 -1
  52. package/fesm2020/acorex-components-switch.mjs +1 -0
  53. package/fesm2020/acorex-components-tabs.mjs +1 -0
  54. package/fesm2020/acorex-components-tag.mjs +1 -0
  55. package/fesm2020/acorex-components-textarea.mjs +1 -0
  56. package/fesm2020/acorex-components-time-box.mjs +1 -0
  57. package/fesm2020/acorex-components-tooltip.mjs +1 -0
  58. package/fesm2020/acorex-components-tree-view.mjs +1 -0
  59. package/fesm2020/acorex-components-uploader.mjs +1 -0
  60. package/label/src/label.component.d.ts +2 -1
  61. package/menu/src/menu.component.d.ts +1 -1
  62. package/package.json +1 -1
@@ -83,39 +83,37 @@ class AXMenuComponent extends AXBaseMenuMixin {
83
83
  }
84
84
  }
85
85
  _removeActive(items) {
86
- items.forEach((element) => {
87
- element.isActive = false;
86
+ items.forEach(element => {
87
+ element.active = false;
88
88
  if (element?.children?.length > 0) {
89
89
  this._removeActive(element.children);
90
90
  }
91
91
  });
92
92
  }
93
93
  _closeOpenChild(items) {
94
- items.forEach((element) => {
95
- element.isOpen = false;
94
+ items.forEach(element => {
95
+ element.opened = false;
96
96
  if (element?.children?.length > 0) {
97
97
  this._closeOpenChild(element.children);
98
98
  }
99
99
  });
100
100
  }
101
101
  _initParent(items, parentId) {
102
- items.forEach((element) => {
102
+ items.forEach(element => {
103
103
  element.parentId = parentId;
104
104
  });
105
105
  }
106
106
  _handelMenuLogic(e, item) {
107
107
  if (!item[this.disableField] || item[this.dividerField] === false) {
108
108
  const targetElement = e.target;
109
- if ((targetElement.closest('li') && this.openMode === 'click') ||
110
- (targetElement.closest('li') && this.openMode === 'hover')) {
109
+ if ((targetElement.closest('li') && this.openMode === 'click') || (targetElement.closest('li') && this.openMode === 'hover')) {
111
110
  if (this._overlayRef && this._oldItem !== item) {
112
111
  this._overlayRef.detach();
113
112
  }
114
113
  if (this.displayMode === 'horizontal') {
115
- this.displayItems.forEach((element) => {
116
- if (!item.parentId &&
117
- item[this.valueField] !== element[this.valueField]) {
118
- element.isOpen = false;
114
+ this.displayItems.forEach(element => {
115
+ if (!item.parentId && item[this.valueField] !== element[this.valueField]) {
116
+ element.opened = false;
119
117
  }
120
118
  });
121
119
  }
@@ -123,29 +121,25 @@ class AXMenuComponent extends AXBaseMenuMixin {
123
121
  if (this.displayMode === 'horizontal') {
124
122
  this._initParent(item.children, item[this.valueField]);
125
123
  }
126
- if (this.displayMode === 'horizontal' ||
127
- this.displayMode === 'vertical') {
124
+ if (this.displayMode === 'horizontal' || this.displayMode === 'vertical') {
128
125
  if (this._oldItem !== item) {
129
126
  this._openAsOverlay(targetElement.closest('li'), item.children);
130
127
  }
131
128
  }
132
129
  this._closeOpenChild(item.children);
133
- if (this.displayMode === 'horizontal' ||
134
- this.displayMode === 'vertical') {
135
- item.isOpen = true;
130
+ if (this.displayMode === 'horizontal' || this.displayMode === 'vertical') {
131
+ item.opened = true;
136
132
  }
137
133
  else {
138
- item.isOpen = !item.isOpen;
134
+ item.opened = !item.opened;
139
135
  }
140
136
  }
141
137
  this._removeActive(this.displayItems);
142
- item.isActive = !item.isActive;
143
- if (this.displayMode === 'horizontal' ||
144
- this.displayMode === 'vertical') {
145
- if (this._oldItem &&
146
- this._oldItem?.isOpen &&
147
- item[this.valueField] !== this._oldItem[this.valueField]) {
148
- this._oldItem.isOpen = false;
138
+ if (e.type !== 'mouseenter')
139
+ item.active = !item.active;
140
+ if (this.displayMode === 'horizontal' || this.displayMode === 'vertical') {
141
+ if (this._oldItem && this._oldItem?.opened && item[this.valueField] !== this._oldItem[this.valueField]) {
142
+ this._oldItem.opened = false;
149
143
  }
150
144
  this._oldItem = item;
151
145
  }
@@ -264,7 +258,8 @@ class AXMenuComponent extends AXBaseMenuMixin {
264
258
  .position()
265
259
  .flexibleConnectedTo(targetRef)
266
260
  .withPositions([...positions])
267
- .withPush(false).withDefaultOffsetX(12),
261
+ .withPush(false)
262
+ .withDefaultOffsetX(12),
268
263
  direction: this._platform.isRtl() ? 'rtl' : 'ltr',
269
264
  disposeOnNavigation: true,
270
265
  panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],
@@ -286,7 +281,7 @@ class AXMenuComponent extends AXBaseMenuMixin {
286
281
  ref.onDestroy(() => {
287
282
  ref.instance?._overlayRef?.dispose();
288
283
  });
289
- this._overlayRef.outsidePointerEvents().subscribe((e) => {
284
+ this._overlayRef.outsidePointerEvents().subscribe(e => {
290
285
  if (this._overlayRef && this.openMode === 'click') {
291
286
  this._close();
292
287
  e.stopPropagation();
@@ -306,9 +301,9 @@ class AXMenuComponent extends AXBaseMenuMixin {
306
301
  _close() {
307
302
  this._overlayRef.detach();
308
303
  this._oldItem = null;
309
- this.displayItems.forEach((element) => {
310
- element.isOpen = false;
311
- element.isActive = false;
304
+ this.displayItems.forEach(element => {
305
+ element.opened = false;
306
+ element.active = false;
312
307
  });
313
308
  this.cdr.detectChanges();
314
309
  }
@@ -317,7 +312,7 @@ class AXMenuComponent extends AXBaseMenuMixin {
317
312
  }
318
313
  }
319
314
  AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
320
- AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", isOpen: "isOpen", isActive: "isActive", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", showModal: "showModal" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveListTmpl;\r\n context: { list: displayItems, isRoot: true }\r\n \"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li\r\n *ngIf=\"item[visibleField] != false\"\r\n [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event, item)\"\r\n (mouseenter)=\"_onMenuMouseEnter($event, item)\"\r\n [ngClass]=\"{ 'ax-state-active ': item.isActive }\">\r\n <div\r\n class=\"ax-menu-item\"\r\n [ngClass]=\"{\r\n 'ax-is-parent': item?.children?.length,\r\n 'ax-is-child': !isRoot\r\n }\"\r\n *ngIf=\"itemTemplate == null; else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span\r\n class=\"ax-menu-item-icon\"\r\n *ngIf=\"item[iconField]\"\r\n [class]=\"item[iconField]\"></span>\r\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span\r\n class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': item?.children?.length > 0,\r\n 'ax-menu-active-icon': item.isOpen\r\n }\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul\r\n *ngIf=\"item?.children?.length > 0 && item.isOpen && !_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveListTmpl;\r\n context: { list: item.children }\r\n \">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n {{ 'common.no-result-found' | trans }}\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n", 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-menu-item{display:flex}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .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-on-surface))}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-on-surface));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-on-surface));color:rgba(var(--ax-color-on-surface-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding:0 .5rem}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}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
315
+ AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", opened: "opened", active: "active", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", showModal: "showModal" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li\r\n *ngIf=\"item[visibleField] != false\"\r\n [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event, item)\"\r\n (mouseenter)=\"_onMenuMouseEnter($event, item)\"\r\n [ngClass]=\"{ 'ax-state-active ': item.active }\">\r\n <div\r\n class=\"ax-menu-item\"\r\n [ngClass]=\"{\r\n 'ax-is-parent': item?.children?.length,\r\n 'ax-is-child': !isRoot\r\n }\"\r\n *ngIf=\"itemTemplate == null; else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\r\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span\r\n class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': item?.children?.length > 0,\r\n 'ax-menu-active-icon': item.opened\r\n }\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\" [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n {{ 'common.no-result-found' | trans }}\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n", styles: ["ax-menu{font-size:.875rem;display:block}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column;color:rgba(var(--ax-color-text-default))}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-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-on-surface))}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-on-surface));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-on-surface));color:rgba(var(--ax-color-on-surface-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none}ax-menu .ax-side-menu .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-on-surface));margin:.375rem 0}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding:0 .5rem}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}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
321
316
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMenuComponent, decorators: [{
322
317
  type: Component,
323
318
  args: [{ selector: 'ax-menu', inputs: [
@@ -329,8 +324,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
329
324
  'parentId',
330
325
  'iconField',
331
326
  'tooltip',
332
- 'isOpen',
333
- 'isActive',
327
+ 'opened',
328
+ 'active',
334
329
  'visibleField',
335
330
  'disableField',
336
331
  'hasChildField',
@@ -338,7 +333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
338
333
  'openMode',
339
334
  'displayMode',
340
335
  'showModal',
341
- ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveListTmpl;\r\n context: { list: displayItems, isRoot: true }\r\n \"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li\r\n *ngIf=\"item[visibleField] != false\"\r\n [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event, item)\"\r\n (mouseenter)=\"_onMenuMouseEnter($event, item)\"\r\n [ngClass]=\"{ 'ax-state-active ': item.isActive }\">\r\n <div\r\n class=\"ax-menu-item\"\r\n [ngClass]=\"{\r\n 'ax-is-parent': item?.children?.length,\r\n 'ax-is-child': !isRoot\r\n }\"\r\n *ngIf=\"itemTemplate == null; else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span\r\n class=\"ax-menu-item-icon\"\r\n *ngIf=\"item[iconField]\"\r\n [class]=\"item[iconField]\"></span>\r\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span\r\n class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': item?.children?.length > 0,\r\n 'ax-menu-active-icon': item.isOpen\r\n }\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul\r\n *ngIf=\"item?.children?.length > 0 && item.isOpen && !_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveListTmpl;\r\n context: { list: item.children }\r\n \">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n {{ 'common.no-result-found' | trans }}\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n", 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-menu-item{display:flex}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .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-on-surface))}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-on-surface));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-on-surface));color:rgba(var(--ax-color-on-surface-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding:0 .5rem}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}\n"] }]
336
+ ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li\r\n *ngIf=\"item[visibleField] != false\"\r\n [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event, item)\"\r\n (mouseenter)=\"_onMenuMouseEnter($event, item)\"\r\n [ngClass]=\"{ 'ax-state-active ': item.active }\">\r\n <div\r\n class=\"ax-menu-item\"\r\n [ngClass]=\"{\r\n 'ax-is-parent': item?.children?.length,\r\n 'ax-is-child': !isRoot\r\n }\"\r\n *ngIf=\"itemTemplate == null; else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\r\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span\r\n class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': item?.children?.length > 0,\r\n 'ax-menu-active-icon': item.opened\r\n }\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\" [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n {{ 'common.no-result-found' | trans }}\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n", styles: ["ax-menu{font-size:.875rem;display:block}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column;color:rgba(var(--ax-color-text-default))}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-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-on-surface))}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-on-surface));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-on-surface));color:rgba(var(--ax-color-on-surface-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none}ax-menu .ax-side-menu .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-on-surface));margin:.375rem 0}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding:0 .5rem}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}\n"] }]
342
337
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }]; }, propDecorators: { _contentEmptyTemplate: [{
343
338
  type: ContentChild,
344
339
  args: ['emptyTemplate']
@@ -378,4 +373,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
378
373
 
379
374
  export { AXMenuComponent, AXMenuModule };
380
375
  //# sourceMappingURL=acorex-components-menu.mjs.map
381
- //# sourceMappingURL=acorex-components-menu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-menu.mjs","sources":["../../../../projects/acorex/components/menu/src/menu.component.ts","../../../../projects/acorex/components/menu/src/menu.component.html","../../../../projects/acorex/components/menu/src/menu.module.ts","../../../../projects/acorex/components/menu/acorex-components-menu.ts"],"sourcesContent":["import { OverlayRef, Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\n\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n OnInit,\r\n ContentChild,\r\n TemplateRef,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { AXBaseMenuMixin } from '@acorex/components/mixin';\r\nimport { AXPlatform } from '@acorex/core/platform';\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n inputs: [\r\n 'disabled',\r\n 'tabIndex',\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\r\n 'tooltip',\r\n 'isOpen',\r\n 'isActive',\r\n 'visibleField',\r\n 'disableField',\r\n 'hasChildField',\r\n 'dividerField',\r\n 'openMode',\r\n 'displayMode',\r\n 'showModal',\r\n ],\r\n outputs: ['onBlur', 'onFocus', 'onMenuItemClick'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXMenuComponent extends AXBaseMenuMixin implements OnInit {\r\n @ContentChild('emptyTemplate')\r\n private _contentEmptyTemplate: TemplateRef<any>;\r\n\r\n @ContentChild('itemTemplate')\r\n private _contentItemTemplate: TemplateRef<any>;\r\n\r\n public _overlayRef: OverlayRef;\r\n\r\n get emptyTemplate(): TemplateRef<any> {\r\n return this._contentEmptyTemplate;\r\n }\r\n\r\n get itemTemplate(): TemplateRef<any> {\r\n return this._contentItemTemplate;\r\n }\r\n\r\n rtl: boolean = new AXPlatform().isRtl();\r\n\r\n private _levelCount: number = 0;\r\n\r\n private _oldItem: any;\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private _overlay: Overlay,\r\n private _platform: AXPlatform\r\n ) {\r\n super(_elementRef, cdr);\r\n }\r\n\r\n onInit(): void {\r\n super.onInit();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.onViewInit();\r\n }\r\n\r\n _onMenuMouseEnter(e: MouseEvent, item: any): void {\r\n const targetElement = e.target as HTMLDivElement;\r\n\r\n if (this.isLoading || targetElement.tagName === 'UL') {\r\n return;\r\n }\r\n\r\n if (this.openMode === 'hover') {\r\n this._handelMenuLogic(e, item);\r\n }\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n _onMenuClick(e: MouseEvent, item: any): void {\r\n const targetElement = e.target as HTMLDivElement;\r\n\r\n if (this.isLoading || targetElement.tagName === 'UL') {\r\n return;\r\n }\r\n\r\n if (this.openMode === 'click') {\r\n this._handelMenuLogic(e, item);\r\n }\r\n\r\n this.onMenuItemClick.emit({\r\n component: this,\r\n item: item,\r\n nativeEvent: e,\r\n });\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n _getDirection(): string {\r\n if (this.displayMode === 'horizontal' && this._levelCount === 0) {\r\n return 'ax-horizontal';\r\n } else if (this._levelCount > 0) {\r\n return 'ax-vertical ax-submenu-ul';\r\n } else if (this.displayMode === 'sidemenu') {\r\n return 'ax-side-menu';\r\n } else {\r\n return 'ax-vertical';\r\n }\r\n }\r\n\r\n private _removeActive(items: any): void {\r\n items.forEach((element) => {\r\n element.isActive = false;\r\n if (element?.children?.length > 0) {\r\n this._removeActive(element.children);\r\n }\r\n });\r\n }\r\n\r\n private _closeOpenChild(items: any): void {\r\n items.forEach((element) => {\r\n element.isOpen = false;\r\n if (element?.children?.length > 0) {\r\n this._closeOpenChild(element.children);\r\n }\r\n });\r\n }\r\n\r\n private _initParent(items: any, parentId: any): void {\r\n items.forEach((element) => {\r\n element.parentId = parentId;\r\n });\r\n }\r\n\r\n private _handelMenuLogic(e: MouseEvent, item: any): void {\r\n if (!item[this.disableField] || item[this.dividerField] === false) {\r\n const targetElement = e.target as HTMLDivElement;\r\n if (\r\n (targetElement.closest('li') && this.openMode === 'click') ||\r\n (targetElement.closest('li') && this.openMode === 'hover')\r\n ) {\r\n if (this._overlayRef && this._oldItem !== item) {\r\n this._overlayRef.detach();\r\n }\r\n if (this.displayMode === 'horizontal') {\r\n this.displayItems.forEach((element) => {\r\n if (\r\n !item.parentId &&\r\n item[this.valueField] !== element[this.valueField]\r\n ) {\r\n element.isOpen = false;\r\n }\r\n });\r\n }\r\n if (item?.children?.length > 0) {\r\n if (this.displayMode === 'horizontal') {\r\n this._initParent(item.children, item[this.valueField]);\r\n }\r\n if (\r\n this.displayMode === 'horizontal' ||\r\n this.displayMode === 'vertical'\r\n ) {\r\n if (this._oldItem !== item) {\r\n this._openAsOverlay(targetElement.closest('li'), item.children);\r\n }\r\n }\r\n this._closeOpenChild(item.children);\r\n\r\n if (\r\n this.displayMode === 'horizontal' ||\r\n this.displayMode === 'vertical'\r\n ) {\r\n item.isOpen = true;\r\n } else {\r\n item.isOpen = !item.isOpen;\r\n }\r\n }\r\n\r\n this._removeActive(this.displayItems);\r\n\r\n item.isActive = !item.isActive;\r\n\r\n if (\r\n this.displayMode === 'horizontal' ||\r\n this.displayMode === 'vertical'\r\n ) {\r\n if (\r\n this._oldItem &&\r\n this._oldItem?.isOpen &&\r\n item[this.valueField] !== this._oldItem[this.valueField]\r\n ) {\r\n this._oldItem.isOpen = false;\r\n }\r\n this._oldItem = item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _openAsOverlay(targetRef, overlayItems: any[]): void {\r\n let positions = [];\r\n if (this.displayMode === 'vertical') {\r\n if (this._levelCount >= 1) {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'center',\r\n },\r\n ];\r\n } else {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'center',\r\n },\r\n ];\r\n }\r\n } else {\r\n if (this._levelCount >= 1) {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n ];\r\n } else {\r\n positions = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n ];\r\n }\r\n }\r\n\r\n this._overlayRef = this._overlay.create({\r\n scrollStrategy: this._overlay.scrollStrategies.close(),\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(targetRef)\r\n .withPositions([...positions])\r\n .withPush(false).withDefaultOffsetX(12),\r\n\r\n direction: this._platform.isRtl() ? 'rtl' : 'ltr',\r\n disposeOnNavigation: true,\r\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],\r\n maxHeight: 'unset',\r\n hasBackdrop: false,\r\n backdropClass: ['cdk-overlay-transparent-backdrop'],\r\n });\r\n\r\n const ref = this._overlayRef.attach(new ComponentPortal(AXMenuComponent));\r\n\r\n ref.instance.items = overlayItems;\r\n\r\n ref.instance.displayMode = this.displayMode;\r\n\r\n ref.instance.openMode = 'hover';\r\n\r\n ref.instance._levelCount = this._levelCount + 1;\r\n\r\n ref.instance.disableField = this.disableField;\r\n\r\n ref.instance.visibleField = this.visibleField;\r\n\r\n ref.instance.valueField = this.valueField;\r\n\r\n ref.instance.textField = this.textField;\r\n\r\n ref.instance.iconField = this.iconField;\r\n\r\n ref.instance.dividerField = this.dividerField;\r\n\r\n ref.onDestroy(() => {\r\n ref.instance?._overlayRef?.dispose();\r\n });\r\n\r\n this._overlayRef.outsidePointerEvents().subscribe((e) => {\r\n if (this._overlayRef && this.openMode === 'click') {\r\n this._close();\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n this._platform.scroll.subscribe(() => {\r\n if (this._overlayRef) {\r\n this._close();\r\n }\r\n });\r\n\r\n this._platform.resize.subscribe(() => {\r\n if (this._overlayRef) {\r\n this._close();\r\n }\r\n });\r\n }\r\n\r\n private _close() {\r\n this._overlayRef.detach();\r\n this._oldItem = null;\r\n this.displayItems.forEach((element) => {\r\n element.isOpen = false;\r\n element.isActive = false;\r\n });\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onDestroy(): void {\r\n this._overlayRef?.detach();\r\n }\r\n}\r\n","<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveListTmpl;\r\n context: { list: displayItems, isRoot: true }\r\n \"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li\r\n *ngIf=\"item[visibleField] != false\"\r\n [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event, item)\"\r\n (mouseenter)=\"_onMenuMouseEnter($event, item)\"\r\n [ngClass]=\"{ 'ax-state-active ': item.isActive }\">\r\n <div\r\n class=\"ax-menu-item\"\r\n [ngClass]=\"{\r\n 'ax-is-parent': item?.children?.length,\r\n 'ax-is-child': !isRoot\r\n }\"\r\n *ngIf=\"itemTemplate == null; else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span\r\n class=\"ax-menu-item-icon\"\r\n *ngIf=\"item[iconField]\"\r\n [class]=\"item[iconField]\"></span>\r\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span\r\n class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': item?.children?.length > 0,\r\n 'ax-menu-active-icon': item.isOpen\r\n }\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul\r\n *ngIf=\"item?.children?.length > 0 && item.isOpen && !_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveListTmpl;\r\n context: { list: item.children }\r\n \">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n {{ 'common.no-result-found' | trans }}\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXMenuComponent } from './menu.component';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nconst COMPONENT = [AXMenuComponent];\r\nconst MODULES = [\r\n AXDecoratorModule,\r\n AXLoadingModule,\r\n AXTranslationModule,\r\n OverlayModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [CommonModule, ...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXMenuModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-menu.mjs","sources":["../../../../projects/acorex/components/menu/src/menu.component.ts","../../../../projects/acorex/components/menu/src/menu.component.html","../../../../projects/acorex/components/menu/src/menu.module.ts","../../../../projects/acorex/components/menu/acorex-components-menu.ts"],"sourcesContent":["import { OverlayRef, Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\n\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n OnInit,\r\n ContentChild,\r\n TemplateRef,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { AXBaseMenuMixin } from '@acorex/components/mixin';\r\nimport { AXPlatform } from '@acorex/core/platform';\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n inputs: [\r\n 'disabled',\r\n 'tabIndex',\r\n 'textField',\r\n 'valueField',\r\n 'items',\r\n 'parentId',\r\n 'iconField',\r\n 'tooltip',\r\n 'opened',\r\n 'active',\r\n 'visibleField',\r\n 'disableField',\r\n 'hasChildField',\r\n 'dividerField',\r\n 'openMode',\r\n 'displayMode',\r\n 'showModal',\r\n ],\r\n outputs: ['onBlur', 'onFocus', 'onMenuItemClick'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXMenuComponent extends AXBaseMenuMixin implements OnInit {\r\n @ContentChild('emptyTemplate')\r\n private _contentEmptyTemplate: TemplateRef<any>;\r\n\r\n @ContentChild('itemTemplate')\r\n private _contentItemTemplate: TemplateRef<any>;\r\n\r\n public _overlayRef: OverlayRef;\r\n\r\n get emptyTemplate(): TemplateRef<any> {\r\n return this._contentEmptyTemplate;\r\n }\r\n\r\n get itemTemplate(): TemplateRef<any> {\r\n return this._contentItemTemplate;\r\n }\r\n\r\n rtl: boolean = new AXPlatform().isRtl();\r\n\r\n private _levelCount: number = 0;\r\n\r\n private _oldItem: any;\r\n\r\n constructor(private _elementRef: ElementRef, private cdr: ChangeDetectorRef, private _overlay: Overlay, private _platform: AXPlatform) {\r\n super(_elementRef, cdr);\r\n }\r\n\r\n onInit(): void {\r\n super.onInit();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.onViewInit();\r\n }\r\n\r\n _onMenuMouseEnter(e: MouseEvent, item: any): void {\r\n const targetElement = e.target as HTMLDivElement;\r\n\r\n if (this.isLoading || targetElement.tagName === 'UL') {\r\n return;\r\n }\r\n\r\n if (this.openMode === 'hover') {\r\n this._handelMenuLogic(e, item);\r\n }\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n _onMenuClick(e: MouseEvent, item: any): void {\r\n const targetElement = e.target as HTMLDivElement;\r\n\r\n if (this.isLoading || targetElement.tagName === 'UL') {\r\n return;\r\n }\r\n\r\n if (this.openMode === 'click') {\r\n this._handelMenuLogic(e, item);\r\n }\r\n\r\n this.onMenuItemClick.emit({\r\n component: this,\r\n item: item,\r\n nativeEvent: e,\r\n });\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n _getDirection(): string {\r\n if (this.displayMode === 'horizontal' && this._levelCount === 0) {\r\n return 'ax-horizontal';\r\n } else if (this._levelCount > 0) {\r\n return 'ax-vertical ax-submenu-ul';\r\n } else if (this.displayMode === 'sidemenu') {\r\n return 'ax-side-menu';\r\n } else {\r\n return 'ax-vertical';\r\n }\r\n }\r\n\r\n private _removeActive(items: any): void {\r\n items.forEach(element => {\r\n element.active = false;\r\n if (element?.children?.length > 0) {\r\n this._removeActive(element.children);\r\n }\r\n });\r\n }\r\n\r\n private _closeOpenChild(items: any): void {\r\n items.forEach(element => {\r\n element.opened = false;\r\n if (element?.children?.length > 0) {\r\n this._closeOpenChild(element.children);\r\n }\r\n });\r\n }\r\n\r\n private _initParent(items: any, parentId: any): void {\r\n items.forEach(element => {\r\n element.parentId = parentId;\r\n });\r\n }\r\n\r\n private _handelMenuLogic(e: MouseEvent, item: any): void {\r\n if (!item[this.disableField] || item[this.dividerField] === false) {\r\n const targetElement = e.target as HTMLDivElement;\r\n if ((targetElement.closest('li') && this.openMode === 'click') || (targetElement.closest('li') && this.openMode === 'hover')) {\r\n if (this._overlayRef && this._oldItem !== item) {\r\n this._overlayRef.detach();\r\n }\r\n if (this.displayMode === 'horizontal') {\r\n this.displayItems.forEach(element => {\r\n if (!item.parentId && item[this.valueField] !== element[this.valueField]) {\r\n element.opened = false;\r\n }\r\n });\r\n }\r\n if (item?.children?.length > 0) {\r\n if (this.displayMode === 'horizontal') {\r\n this._initParent(item.children, item[this.valueField]);\r\n }\r\n if (this.displayMode === 'horizontal' || this.displayMode === 'vertical') {\r\n if (this._oldItem !== item) {\r\n this._openAsOverlay(targetElement.closest('li'), item.children);\r\n }\r\n }\r\n this._closeOpenChild(item.children);\r\n\r\n if (this.displayMode === 'horizontal' || this.displayMode === 'vertical') {\r\n item.opened = true;\r\n } else {\r\n item.opened = !item.opened;\r\n }\r\n }\r\n\r\n this._removeActive(this.displayItems);\r\n\r\n if (e.type !== 'mouseenter') item.active = !item.active;\r\n\r\n if (this.displayMode === 'horizontal' || this.displayMode === 'vertical') {\r\n if (this._oldItem && this._oldItem?.opened && item[this.valueField] !== this._oldItem[this.valueField]) {\r\n this._oldItem.opened = false;\r\n }\r\n this._oldItem = item;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _openAsOverlay(targetRef, overlayItems: any[]): void {\r\n let positions = [];\r\n if (this.displayMode === 'vertical') {\r\n if (this._levelCount >= 1) {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'center',\r\n },\r\n ];\r\n } else {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'center',\r\n overlayX: 'center',\r\n overlayY: 'center',\r\n },\r\n ];\r\n }\r\n } else {\r\n if (this._levelCount >= 1) {\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n ];\r\n } else {\r\n positions = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n ];\r\n }\r\n }\r\n\r\n this._overlayRef = this._overlay.create({\r\n scrollStrategy: this._overlay.scrollStrategies.close(),\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(targetRef)\r\n .withPositions([...positions])\r\n .withPush(false)\r\n .withDefaultOffsetX(12),\r\n\r\n direction: this._platform.isRtl() ? 'rtl' : 'ltr',\r\n disposeOnNavigation: true,\r\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],\r\n maxHeight: 'unset',\r\n hasBackdrop: false,\r\n backdropClass: ['cdk-overlay-transparent-backdrop'],\r\n });\r\n\r\n const ref = this._overlayRef.attach(new ComponentPortal(AXMenuComponent));\r\n\r\n ref.instance.items = overlayItems;\r\n\r\n ref.instance.displayMode = this.displayMode;\r\n\r\n ref.instance.openMode = 'hover';\r\n\r\n ref.instance._levelCount = this._levelCount + 1;\r\n\r\n ref.instance.disableField = this.disableField;\r\n\r\n ref.instance.visibleField = this.visibleField;\r\n\r\n ref.instance.valueField = this.valueField;\r\n\r\n ref.instance.textField = this.textField;\r\n\r\n ref.instance.iconField = this.iconField;\r\n\r\n ref.instance.dividerField = this.dividerField;\r\n\r\n ref.onDestroy(() => {\r\n ref.instance?._overlayRef?.dispose();\r\n });\r\n\r\n this._overlayRef.outsidePointerEvents().subscribe(e => {\r\n if (this._overlayRef && this.openMode === 'click') {\r\n this._close();\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n this._platform.scroll.subscribe(() => {\r\n if (this._overlayRef) {\r\n this._close();\r\n }\r\n });\r\n\r\n this._platform.resize.subscribe(() => {\r\n if (this._overlayRef) {\r\n this._close();\r\n }\r\n });\r\n }\r\n\r\n private _close() {\r\n this._overlayRef.detach();\r\n this._oldItem = null;\r\n this.displayItems.forEach(element => {\r\n element.opened = false;\r\n element.active = false;\r\n });\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onDestroy(): void {\r\n this._overlayRef?.detach();\r\n }\r\n}\r\n","<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li\r\n *ngIf=\"item[visibleField] != false\"\r\n [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event, item)\"\r\n (mouseenter)=\"_onMenuMouseEnter($event, item)\"\r\n [ngClass]=\"{ 'ax-state-active ': item.active }\">\r\n <div\r\n class=\"ax-menu-item\"\r\n [ngClass]=\"{\r\n 'ax-is-parent': item?.children?.length,\r\n 'ax-is-child': !isRoot\r\n }\"\r\n *ngIf=\"itemTemplate == null; else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\r\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span\r\n class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': item?.children?.length > 0,\r\n 'ax-menu-active-icon': item.opened\r\n }\"\r\n *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\" [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n {{ 'common.no-result-found' | trans }}\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXMenuComponent } from './menu.component';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nconst COMPONENT = [AXMenuComponent];\r\nconst MODULES = [\r\n AXDecoratorModule,\r\n AXLoadingModule,\r\n AXTranslationModule,\r\n OverlayModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [CommonModule, ...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXMenuModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -170,7 +170,7 @@ function _BaseMenuComponentMixin(Base) {
170
170
  }
171
171
  _findNode(parentId, _children, source) {
172
172
  if (source.length > 0) {
173
- source.forEach((element) => {
173
+ source.forEach(element => {
174
174
  if (element[this.valueField] == parentId) {
175
175
  element.children = _children;
176
176
  }
@@ -182,7 +182,7 @@ function _BaseMenuComponentMixin(Base) {
182
182
  }
183
183
  }
184
184
  _fetchData(parentId, searchText) {
185
- return new Promise((resolve) => {
185
+ return new Promise(resolve => {
186
186
  if (__classPrivateFieldGet(this, _isLoading, "f")) {
187
187
  return;
188
188
  }
@@ -192,7 +192,7 @@ function _BaseMenuComponentMixin(Base) {
192
192
  parentId: parentId,
193
193
  searchQuery: searchText,
194
194
  })
195
- .then((c) => {
195
+ .then(c => {
196
196
  if (Array.isArray(c)) {
197
197
  if (parentId) {
198
198
  resolve(this._findNode(parentId, c, this.displayItems));
@@ -217,9 +217,7 @@ function _BaseMenuComponentMixin(Base) {
217
217
  }
218
218
  _getItemDisplayTextTemplte(item) {
219
219
  if (item)
220
- return Array.isArray(this.textField)
221
- ? this.textField.map((c) => item[c]).join(',')
222
- : item[this.textField];
220
+ return Array.isArray(this.textField) ? this.textField.map(c => item[c]).join(',') : item[this.textField];
223
221
  else
224
222
  return 'Loading...';
225
223
  }
@@ -239,8 +237,8 @@ const BASEMENU_INPUTS = [
239
237
  'parentId',
240
238
  'iconField',
241
239
  'tooltip',
242
- 'isOpen',
243
- 'isActive',
240
+ 'opened',
241
+ 'active',
244
242
  'visibleField',
245
243
  'disableField',
246
244
  'hasChildField',
@@ -1244,4 +1242,3 @@ function _PageComponenetMixin(Base) {
1244
1242
 
1245
1243
  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 };
1246
1244
  //# sourceMappingURL=acorex-components-mixin.mjs.map
1247
- //# sourceMappingURL=acorex-components-mixin.mjs.map