@eui/components 15.3.6 → 15.3.7-snapshot-1687508314727

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 (29) hide show
  1. package/docs/components/EuiDropdownButtonChildMenuComponent.html +24 -0
  2. package/docs/components/EuiListComponent.html +233 -1
  3. package/docs/components/EuiListItemComponent.html +225 -6
  4. package/docs/dependencies.html +2 -2
  5. package/docs/js/search/search_index.js +2 -2
  6. package/esm2020/eui-buttons/eui-buttons.component.mjs +1 -1
  7. package/esm2020/eui-dropdown-button-menu/eui-dropdown-button-child-menu.component.mjs +9 -3
  8. package/esm2020/eui-dropdown-button-menu/eui-dropdown-button-menu.component.mjs +1 -1
  9. package/esm2020/eui-list/eui-list-item/eui-list-item.component.mjs +26 -6
  10. package/esm2020/eui-list/eui-list.component.mjs +71 -4
  11. package/eui-dropdown-button-menu/eui-dropdown-button-child-menu.component.d.ts +2 -1
  12. package/eui-dropdown-button-menu/eui-dropdown-button-child-menu.component.d.ts.map +1 -1
  13. package/eui-list/eui-list-item/eui-list-item.component.d.ts +15 -5
  14. package/eui-list/eui-list-item/eui-list-item.component.d.ts.map +1 -1
  15. package/eui-list/eui-list.component.d.ts +10 -3
  16. package/eui-list/eui-list.component.d.ts.map +1 -1
  17. package/fesm2015/eui-components-eui-buttons.mjs +1 -1
  18. package/fesm2015/eui-components-eui-buttons.mjs.map +1 -1
  19. package/fesm2015/eui-components-eui-dropdown-button-menu.mjs +9 -3
  20. package/fesm2015/eui-components-eui-dropdown-button-menu.mjs.map +1 -1
  21. package/fesm2015/eui-components-eui-list.mjs +130 -43
  22. package/fesm2015/eui-components-eui-list.mjs.map +1 -1
  23. package/fesm2020/eui-components-eui-buttons.mjs +1 -1
  24. package/fesm2020/eui-components-eui-buttons.mjs.map +1 -1
  25. package/fesm2020/eui-components-eui-dropdown-button-menu.mjs +9 -3
  26. package/fesm2020/eui-components-eui-dropdown-button-menu.mjs.map +1 -1
  27. package/fesm2020/eui-components-eui-list.mjs +129 -43
  28. package/fesm2020/eui-components-eui-list.mjs.map +1 -1
  29. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import * as i2 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { EventEmitter, Injectable, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, forwardRef, ElementRef, Output, ContentChild, HostBinding, NgModule } from '@angular/core';
4
+ import { EventEmitter, Injectable, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, ViewChild, forwardRef, ElementRef, Output, ContentChild, NgModule } from '@angular/core';
5
5
  import * as i4 from '@angular/material/menu';
6
6
  import { MatMenu, MatMenuModule } from '@angular/material/menu';
7
7
  import * as i2$1 from '@angular/router';
@@ -29,6 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
29
29
  class EuiDropdownButtonChildMenuComponent {
30
30
  constructor(nestedItemService) {
31
31
  this.nestedItemService = nestedItemService;
32
+ this.e2eAttr = 'eui-dropdown-button-child-menu';
32
33
  }
33
34
  /**
34
35
  * checks the keys pressed and calls the event emitter to emit the nested item
@@ -51,12 +52,17 @@ class EuiDropdownButtonChildMenuComponent {
51
52
  }
52
53
  }
53
54
  /** @nocollapse */ EuiDropdownButtonChildMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiDropdownButtonChildMenuComponent, deps: [{ token: EuiDropdownButtonMenuService }], target: i0.ɵɵFactoryTarget.Component });
54
- /** @nocollapse */ EuiDropdownButtonChildMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EuiDropdownButtonChildMenuComponent, selector: "eui-dropdown-button-child-menu", inputs: { menuItems: "menuItems" }, viewQueries: [{ propertyName: "childMenu", first: true, predicate: ["childMenu"], descendants: true, read: MatMenu, static: true }], ngImport: i0, template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--ChildMenu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n type=\"button\"\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n</mat-menu>\n", styles: [".eui-dropdown-button-menu{display:inline-block}.eui-dropdown-button-menu__disabled{pointer-events:none}.mat-menu-panel{min-height:48px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: EuiDropdownButtonChildMenuComponent, selector: "eui-dropdown-button-child-menu", inputs: ["menuItems"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
55
+ /** @nocollapse */ EuiDropdownButtonChildMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EuiDropdownButtonChildMenuComponent, selector: "eui-dropdown-button-child-menu", inputs: { menuItems: "menuItems", e2eAttr: "e2eAttr" }, host: { properties: { "attr.data-e2e": "this.e2eAttr" } }, viewQueries: [{ propertyName: "childMenu", first: true, predicate: ["childMenu"], descendants: true, read: MatMenu, static: true }], ngImport: i0, template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--ChildMenu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n type=\"button\"\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n</mat-menu>\n", styles: [".eui-dropdown-button-menu{display:inline-block}.eui-dropdown-button-menu__disabled{pointer-events:none}.mat-menu-panel{min-height:48px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: EuiDropdownButtonChildMenuComponent, selector: "eui-dropdown-button-child-menu", inputs: ["menuItems", "e2eAttr"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
55
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiDropdownButtonChildMenuComponent, decorators: [{
56
57
  type: Component,
57
58
  args: [{ selector: 'eui-dropdown-button-child-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--ChildMenu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n type=\"button\"\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n</mat-menu>\n", styles: [".eui-dropdown-button-menu{display:inline-block}.eui-dropdown-button-menu__disabled{pointer-events:none}.mat-menu-panel{min-height:48px!important}\n"] }]
58
59
  }], ctorParameters: function () { return [{ type: EuiDropdownButtonMenuService }]; }, propDecorators: { menuItems: [{
59
60
  type: Input
61
+ }], e2eAttr: [{
62
+ type: HostBinding,
63
+ args: ['attr.data-e2e']
64
+ }, {
65
+ type: Input
60
66
  }], childMenu: [{
61
67
  type: ViewChild,
62
68
  args: ['childMenu', { static: true, read: MatMenu }]
@@ -217,7 +223,7 @@ class EuiDropdownButtonMenuComponent extends BaseDirective {
217
223
  }
218
224
  }
219
225
  /** @nocollapse */ EuiDropdownButtonMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiDropdownButtonMenuComponent, deps: [{ token: EuiDropdownButtonMenuService }, { token: i2$1.Router }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
220
- /** @nocollapse */ EuiDropdownButtonMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EuiDropdownButtonMenuComponent, selector: "eui-dropdown-button-menu", inputs: { menuItems: "menuItems", isLabelUpdatedFromSelectedItem: "isLabelUpdatedFromSelectedItem", isDropDownRightAligned: "isDropDownRightAligned" }, outputs: { itemSelect: "itemSelect" }, host: { properties: { "class": "this.cssClasses" } }, providers: [EuiDropdownButtonMenuService, EUI_DROPDOWN_BUTTON_MENU_VALUE_ACCESSOR], queries: [{ propertyName: "buttonTriggerRef", first: true, predicate: EuiButtonComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "euiButton", first: true, predicate: EuiButtonComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [matMenuTriggerFor]=\"menuContent\" [matMenuTriggerData]=\"menuItems\" [class.eui-dropdown-button-menu__disabled]=\"euiButton.euiDisabled\">\n <ng-content select=\"button\"></ng-content>\n</div>\n\n<mat-menu #menuContent=\"matMenu\" [xPosition]=\"isDropDownRightAligned ? 'before' : 'after'\">\n <ng-template matMenuContent=\"menuItems\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--Menu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n type=\"button\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".eui-dropdown-button-menu{display:inline-block}.eui-dropdown-button-menu__disabled{pointer-events:none}.mat-menu-panel{min-height:48px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: EuiDropdownButtonChildMenuComponent, selector: "eui-dropdown-button-child-menu", inputs: ["menuItems"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
226
+ /** @nocollapse */ EuiDropdownButtonMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EuiDropdownButtonMenuComponent, selector: "eui-dropdown-button-menu", inputs: { menuItems: "menuItems", isLabelUpdatedFromSelectedItem: "isLabelUpdatedFromSelectedItem", isDropDownRightAligned: "isDropDownRightAligned" }, outputs: { itemSelect: "itemSelect" }, host: { properties: { "class": "this.cssClasses" } }, providers: [EuiDropdownButtonMenuService, EUI_DROPDOWN_BUTTON_MENU_VALUE_ACCESSOR], queries: [{ propertyName: "buttonTriggerRef", first: true, predicate: EuiButtonComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "euiButton", first: true, predicate: EuiButtonComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [matMenuTriggerFor]=\"menuContent\" [matMenuTriggerData]=\"menuItems\" [class.eui-dropdown-button-menu__disabled]=\"euiButton.euiDisabled\">\n <ng-content select=\"button\"></ng-content>\n</div>\n\n<mat-menu #menuContent=\"matMenu\" [xPosition]=\"isDropDownRightAligned ? 'before' : 'after'\">\n <ng-template matMenuContent=\"menuItems\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--Menu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n type=\"button\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".eui-dropdown-button-menu{display:inline-block}.eui-dropdown-button-menu__disabled{pointer-events:none}.mat-menu-panel{min-height:48px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: EuiDropdownButtonChildMenuComponent, selector: "eui-dropdown-button-child-menu", inputs: ["menuItems", "e2eAttr"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
221
227
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiDropdownButtonMenuComponent, decorators: [{
222
228
  type: Component,
223
229
  args: [{ selector: 'eui-dropdown-button-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [EuiDropdownButtonMenuService, EUI_DROPDOWN_BUTTON_MENU_VALUE_ACCESSOR], template: "<div [matMenuTriggerFor]=\"menuContent\" [matMenuTriggerData]=\"menuItems\" [class.eui-dropdown-button-menu__disabled]=\"euiButton.euiDisabled\">\n <ng-content select=\"button\"></ng-content>\n</div>\n\n<mat-menu #menuContent=\"matMenu\" [xPosition]=\"isDropDownRightAligned ? 'before' : 'after'\">\n <ng-template matMenuContent=\"menuItems\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--Menu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n type=\"button\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".eui-dropdown-button-menu{display:inline-block}.eui-dropdown-button-menu__disabled{pointer-events:none}.mat-menu-panel{min-height:48px!important}\n"] }]
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-dropdown-button-menu.mjs","sources":["../../eui-dropdown-button-menu/eui-dropdown-button.service.ts","../../eui-dropdown-button-menu/eui-dropdown-button-child-menu.component.ts","../../eui-dropdown-button-menu/eui-dropdown-button-child-menu.component.html","../../eui-dropdown-button-menu/eui-dropdown-button-menu.component.ts","../../eui-dropdown-button-menu/eui-dropdown-button-menu.component.html","../../eui-dropdown-button-menu/eui-dropdown-button.module.ts","../../eui-dropdown-button-menu/eui-components-eui-dropdown-button-menu.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\n\nimport { EuiDropdownButtonMenuItem } from './models/eui-dropdown-button-menu-item.model';\n\n@Injectable()\nexport class EuiDropdownButtonMenuService {\n nestedItemSelect = new EventEmitter<EuiDropdownButtonMenuItem>();\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input } from '@angular/core';\nimport { MatMenu } from '@angular/material/menu';\n\nimport { EuiDropdownButtonMenuService } from './eui-dropdown-button.service';\nimport { EuiDropdownButtonMenuItem } from './models/eui-dropdown-button-menu-item.model';\n@Component({\n selector: 'eui-dropdown-button-child-menu',\n templateUrl: './eui-dropdown-button-child-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDropdownButtonChildMenuComponent {\n @Input() menuItems: EuiDropdownButtonMenuItem[];\n\n @ViewChild('childMenu', { static: true, read: MatMenu }) public childMenu: MatMenu;\n\n constructor(private nestedItemService: EuiDropdownButtonMenuService) {}\n /**\n * checks the keys pressed and calls the event emitter to emit the nested item\n *\n * @param event The key event that is pressed\n * @param item The menu item passed\n */\n onKeyDown(event: KeyboardEvent, item: EuiDropdownButtonMenuItem) {\n if (event.key === 'Enter') {\n this.nestedItemService.nestedItemSelect.emit(item);\n }\n }\n\n /**\n * Calls the event emitter to emit the nested item\n *\n * @param item The menu item passed\n */\n onClick(item: EuiDropdownButtonMenuItem) {\n this.nestedItemService.nestedItemSelect.emit(item);\n }\n}\n","<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--ChildMenu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n type=\"button\"\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n</mat-menu>\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ContentChild,\n ElementRef,\n Output,\n HostBinding,\n EventEmitter,\n OnInit,\n OnDestroy,\n forwardRef,\n Renderer2,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { BaseDirective } from '@eui/components/shared';\nimport { EuiButtonComponent } from '@eui/components/eui-button';\nimport { EuiDropdownButtonMenuItem } from './models/eui-dropdown-button-menu-item.model';\nimport { EuiDropdownButtonMenuService } from './eui-dropdown-button.service';\n\nexport const EUI_DROPDOWN_BUTTON_MENU_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiDropdownButtonMenuComponent),\n multi: true,\n};\n@Component({\n selector: 'eui-dropdown-button-menu',\n templateUrl: './eui-dropdown-button-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [EuiDropdownButtonMenuService, EUI_DROPDOWN_BUTTON_MENU_VALUE_ACCESSOR],\n})\nexport class EuiDropdownButtonMenuComponent extends BaseDirective implements OnInit, ControlValueAccessor, OnDestroy {\n @Input() menuItems: EuiDropdownButtonMenuItem[];\n @Input()\n get isLabelUpdatedFromSelectedItem(): boolean {\n return this._isLabelUpdatedFromSelectedItem;\n }\n set isLabelUpdatedFromSelectedItem(value: BooleanInput) {\n this._isLabelUpdatedFromSelectedItem = coerceBooleanProperty(value);\n }\n @Input()\n get isDropDownRightAligned(): boolean {\n return this._isDropDownRightAligned;\n }\n\n set isDropDownRightAligned(value: BooleanInput) {\n this._isDropDownRightAligned = coerceBooleanProperty(value);\n }\n _isDropDownRightAligned = false;\n @Output() itemSelect = new EventEmitter<EuiDropdownButtonMenuItem>();\n\n @ContentChild(EuiButtonComponent, { read: ElementRef, static: true }) buttonTriggerRef: ElementRef;\n\n @ContentChild(EuiButtonComponent, { static: true }) euiButton: EuiButtonComponent;\n @HostBinding('class')\n get cssClasses() {\n return [super.getCssClasses('eui-dropdown-button-menu')].join(' ').trim();\n }\n\n private _isLabelUpdatedFromSelectedItem = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n constructor(private nestedItemService: EuiDropdownButtonMenuService, private router: Router, private renderer: Renderer2) {\n super();\n }\n\n ngOnInit() {\n this.nestedItemService.nestedItemSelect.pipe(takeUntil(this.destroy$)).subscribe((item: EuiDropdownButtonMenuItem) => {\n this.itemActions(item);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * checks the keys pressed and applies corresponding actions\n *\n * @param event The key event that is pressed\n * @param item The menu item passed\n */\n onKeyDown(event: KeyboardEvent, item: EuiDropdownButtonMenuItem) {\n if (event.key === 'Escape' || event.key === 'Tab') {\n this.focusButtonTrigger();\n }\n\n if (event.key === 'Enter') {\n this.itemActions(item);\n }\n }\n\n /**\n * Applies the item's actions performed either on click or on keydown\n *\n * @param item The menu item passed\n */\n itemActions(item: EuiDropdownButtonMenuItem) {\n if (item && !item.disabled) {\n if (item.command) {\n item.command();\n }\n if (item.urlExternal) {\n window.open(item.urlExternal, item.urlExternalTarget);\n }\n if (this.isLabelUpdatedFromSelectedItem) {\n if (item.iconClass) {\n this.generateIconButton(item);\n } else {\n this.buttonTriggerRef.nativeElement.innerText = item?.label || null;\n }\n }\n if (item.url) {\n this.router.navigateByUrl(item.url);\n }\n }\n\n this.itemSelect.emit(item);\n this.propagateChange(item);\n if (!item.children) {\n this.focusButtonTrigger();\n }\n }\n\n /**\n * focuses the button trigger after an item action is performed and the popup closes\n */\n focusButtonTrigger() {\n this.buttonTriggerRef.nativeElement.focus();\n }\n\n /**\n * Calls the itemActions after an item is clicked\n *\n * @param item The menu item passed\n */\n onClick(item: EuiDropdownButtonMenuItem) {\n this.itemActions(item);\n }\n\n /**\n * Passes the nested item to the parent component to apply the item actions\n *\n * @param item The menu item passed\n */\n onNestedItemSelect(item: EuiDropdownButtonMenuItem) {\n this.itemActions(item);\n }\n\n /**\n * Generates an Icon Button when the item passed contains the iconClass attribute\n *\n * @param item The menu item passed\n */\n generateIconButton(item: EuiDropdownButtonMenuItem) {\n // container\n const container = this.buttonTriggerRef.nativeElement.firstElementChild;\n this.renderer.setProperty(container, 'innerText', null);\n // label\n const label = this.renderer.createElement('span');\n this.renderer.addClass(label, 'eui-label');\n this.renderer.setProperty(label, 'innerText', item.label);\n // icon\n const icon = this.renderer.createElement('span');\n this.renderer.addClass(icon, 'eui-icon');\n this.renderer.addClass(icon, item.iconClass);\n // append to container\n this.renderer.appendChild(container, label);\n this.renderer.appendChild(container, icon);\n }\n\n writeValue(item: EuiDropdownButtonMenuItem): void {\n // checks if the button is already disabled through the form and if not passes the item disabled state\n !this.euiButton.euiDisabled ? (this.euiButton.euiDisabled = item?.disabled) : (this.euiButton.euiDisabled = true);\n this.isLabelUpdatedFromSelectedItem = true;\n this.buttonTriggerRef.nativeElement.id = item?.id;\n if (item.iconClass) {\n this.generateIconButton(item);\n } else {\n this.buttonTriggerRef.nativeElement.innerText = item?.label || null;\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n isDisabled ? (this.euiButton.euiDisabled = true) : (this.euiButton.euiDisabled = false);\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private propagateChange = (_: any) => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private propagateTouched = () => {};\n}\n","<div [matMenuTriggerFor]=\"menuContent\" [matMenuTriggerData]=\"menuItems\" [class.eui-dropdown-button-menu__disabled]=\"euiButton.euiDisabled\">\n <ng-content select=\"button\"></ng-content>\n</div>\n\n<mat-menu #menuContent=\"matMenu\" [xPosition]=\"isDropDownRightAligned ? 'before' : 'after'\">\n <ng-template matMenuContent=\"menuItems\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--Menu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n type=\"button\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiDropdownButtonChildMenuComponent } from './eui-dropdown-button-child-menu.component';\nimport { EuiDropdownButtonMenuComponent } from './eui-dropdown-button-menu.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, MatMenuModule, TranslateModule],\n declarations: [EuiDropdownButtonMenuComponent, EuiDropdownButtonChildMenuComponent],\n exports: [EuiDropdownButtonMenuComponent],\n})\nexport class EuiDropdownButtonMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiDropdownButtonMenuService","i4","i2","i3","i5.EuiDropdownButtonChildMenuComponent","i6"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-dropdown-button-menu.mjs","sources":["../../eui-dropdown-button-menu/eui-dropdown-button.service.ts","../../eui-dropdown-button-menu/eui-dropdown-button-child-menu.component.ts","../../eui-dropdown-button-menu/eui-dropdown-button-child-menu.component.html","../../eui-dropdown-button-menu/eui-dropdown-button-menu.component.ts","../../eui-dropdown-button-menu/eui-dropdown-button-menu.component.html","../../eui-dropdown-button-menu/eui-dropdown-button.module.ts","../../eui-dropdown-button-menu/eui-components-eui-dropdown-button-menu.ts"],"sourcesContent":["import { EventEmitter, Injectable } from '@angular/core';\n\nimport { EuiDropdownButtonMenuItem } from './models/eui-dropdown-button-menu-item.model';\n\n@Injectable()\nexport class EuiDropdownButtonMenuService {\n nestedItemSelect = new EventEmitter<EuiDropdownButtonMenuItem>();\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, HostBinding } from '@angular/core';\nimport { MatMenu } from '@angular/material/menu';\n\nimport { EuiDropdownButtonMenuService } from './eui-dropdown-button.service';\nimport { EuiDropdownButtonMenuItem } from './models/eui-dropdown-button-menu-item.model';\n@Component({\n selector: 'eui-dropdown-button-child-menu',\n templateUrl: './eui-dropdown-button-child-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDropdownButtonChildMenuComponent {\n @Input() menuItems: EuiDropdownButtonMenuItem[];\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-dropdown-button-child-menu';\n\n @ViewChild('childMenu', { static: true, read: MatMenu }) public childMenu: MatMenu;\n\n constructor(private nestedItemService: EuiDropdownButtonMenuService) {}\n /**\n * checks the keys pressed and calls the event emitter to emit the nested item\n *\n * @param event The key event that is pressed\n * @param item The menu item passed\n */\n onKeyDown(event: KeyboardEvent, item: EuiDropdownButtonMenuItem) {\n if (event.key === 'Enter') {\n this.nestedItemService.nestedItemSelect.emit(item);\n }\n }\n\n /**\n * Calls the event emitter to emit the nested item\n *\n * @param item The menu item passed\n */\n onClick(item: EuiDropdownButtonMenuItem) {\n this.nestedItemService.nestedItemSelect.emit(item);\n }\n}\n","<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--ChildMenu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n type=\"button\"\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n</mat-menu>\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ContentChild,\n ElementRef,\n Output,\n HostBinding,\n EventEmitter,\n OnInit,\n OnDestroy,\n forwardRef,\n Renderer2,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { BaseDirective } from '@eui/components/shared';\nimport { EuiButtonComponent } from '@eui/components/eui-button';\nimport { EuiDropdownButtonMenuItem } from './models/eui-dropdown-button-menu-item.model';\nimport { EuiDropdownButtonMenuService } from './eui-dropdown-button.service';\n\nexport const EUI_DROPDOWN_BUTTON_MENU_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiDropdownButtonMenuComponent),\n multi: true,\n};\n@Component({\n selector: 'eui-dropdown-button-menu',\n templateUrl: './eui-dropdown-button-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [EuiDropdownButtonMenuService, EUI_DROPDOWN_BUTTON_MENU_VALUE_ACCESSOR],\n})\nexport class EuiDropdownButtonMenuComponent extends BaseDirective implements OnInit, ControlValueAccessor, OnDestroy {\n @Input() menuItems: EuiDropdownButtonMenuItem[];\n @Input()\n get isLabelUpdatedFromSelectedItem(): boolean {\n return this._isLabelUpdatedFromSelectedItem;\n }\n set isLabelUpdatedFromSelectedItem(value: BooleanInput) {\n this._isLabelUpdatedFromSelectedItem = coerceBooleanProperty(value);\n }\n @Input()\n get isDropDownRightAligned(): boolean {\n return this._isDropDownRightAligned;\n }\n\n set isDropDownRightAligned(value: BooleanInput) {\n this._isDropDownRightAligned = coerceBooleanProperty(value);\n }\n _isDropDownRightAligned = false;\n @Output() itemSelect = new EventEmitter<EuiDropdownButtonMenuItem>();\n\n @ContentChild(EuiButtonComponent, { read: ElementRef, static: true }) buttonTriggerRef: ElementRef;\n\n @ContentChild(EuiButtonComponent, { static: true }) euiButton: EuiButtonComponent;\n @HostBinding('class')\n get cssClasses() {\n return [super.getCssClasses('eui-dropdown-button-menu')].join(' ').trim();\n }\n\n private _isLabelUpdatedFromSelectedItem = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n constructor(private nestedItemService: EuiDropdownButtonMenuService, private router: Router, private renderer: Renderer2) {\n super();\n }\n\n ngOnInit() {\n this.nestedItemService.nestedItemSelect.pipe(takeUntil(this.destroy$)).subscribe((item: EuiDropdownButtonMenuItem) => {\n this.itemActions(item);\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * checks the keys pressed and applies corresponding actions\n *\n * @param event The key event that is pressed\n * @param item The menu item passed\n */\n onKeyDown(event: KeyboardEvent, item: EuiDropdownButtonMenuItem) {\n if (event.key === 'Escape' || event.key === 'Tab') {\n this.focusButtonTrigger();\n }\n\n if (event.key === 'Enter') {\n this.itemActions(item);\n }\n }\n\n /**\n * Applies the item's actions performed either on click or on keydown\n *\n * @param item The menu item passed\n */\n itemActions(item: EuiDropdownButtonMenuItem) {\n if (item && !item.disabled) {\n if (item.command) {\n item.command();\n }\n if (item.urlExternal) {\n window.open(item.urlExternal, item.urlExternalTarget);\n }\n if (this.isLabelUpdatedFromSelectedItem) {\n if (item.iconClass) {\n this.generateIconButton(item);\n } else {\n this.buttonTriggerRef.nativeElement.innerText = item?.label || null;\n }\n }\n if (item.url) {\n this.router.navigateByUrl(item.url);\n }\n }\n\n this.itemSelect.emit(item);\n this.propagateChange(item);\n if (!item.children) {\n this.focusButtonTrigger();\n }\n }\n\n /**\n * focuses the button trigger after an item action is performed and the popup closes\n */\n focusButtonTrigger() {\n this.buttonTriggerRef.nativeElement.focus();\n }\n\n /**\n * Calls the itemActions after an item is clicked\n *\n * @param item The menu item passed\n */\n onClick(item: EuiDropdownButtonMenuItem) {\n this.itemActions(item);\n }\n\n /**\n * Passes the nested item to the parent component to apply the item actions\n *\n * @param item The menu item passed\n */\n onNestedItemSelect(item: EuiDropdownButtonMenuItem) {\n this.itemActions(item);\n }\n\n /**\n * Generates an Icon Button when the item passed contains the iconClass attribute\n *\n * @param item The menu item passed\n */\n generateIconButton(item: EuiDropdownButtonMenuItem) {\n // container\n const container = this.buttonTriggerRef.nativeElement.firstElementChild;\n this.renderer.setProperty(container, 'innerText', null);\n // label\n const label = this.renderer.createElement('span');\n this.renderer.addClass(label, 'eui-label');\n this.renderer.setProperty(label, 'innerText', item.label);\n // icon\n const icon = this.renderer.createElement('span');\n this.renderer.addClass(icon, 'eui-icon');\n this.renderer.addClass(icon, item.iconClass);\n // append to container\n this.renderer.appendChild(container, label);\n this.renderer.appendChild(container, icon);\n }\n\n writeValue(item: EuiDropdownButtonMenuItem): void {\n // checks if the button is already disabled through the form and if not passes the item disabled state\n !this.euiButton.euiDisabled ? (this.euiButton.euiDisabled = item?.disabled) : (this.euiButton.euiDisabled = true);\n this.isLabelUpdatedFromSelectedItem = true;\n this.buttonTriggerRef.nativeElement.id = item?.id;\n if (item.iconClass) {\n this.generateIconButton(item);\n } else {\n this.buttonTriggerRef.nativeElement.innerText = item?.label || null;\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n isDisabled ? (this.euiButton.euiDisabled = true) : (this.euiButton.euiDisabled = false);\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private propagateChange = (_: any) => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private propagateTouched = () => {};\n}\n","<div [matMenuTriggerFor]=\"menuContent\" [matMenuTriggerData]=\"menuItems\" [class.eui-dropdown-button-menu__disabled]=\"euiButton.euiDisabled\">\n <ng-content select=\"button\"></ng-content>\n</div>\n\n<mat-menu #menuContent=\"matMenu\" [xPosition]=\"isDropDownRightAligned ? 'before' : 'after'\">\n <ng-template matMenuContent=\"menuItems\">\n <ng-container *ngFor=\"let item of menuItems\">\n <!--Menu items without children-->\n <button\n *ngIf=\"!item.children\"\n type=\"button\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <!--Dynamic nested items-->\n <ng-container *ngIf=\"item.children\">\n <button\n type=\"button\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n mat-menu-item\n [id]=\"item.id\"\n (keydown)=\"onKeyDown($event, item)\"\n (click)=\"onClick(item)\"\n [disabled]=\"item.disabled\">\n <span\n *ngIf=\"item.iconClass\"\n class=\"eui-menu-item__category-icon eui-icon\"\n [ngClass]=\"item.iconClass\"\n [attr.aria-label]=\"item.iconLabel\">\n </span>\n {{ item.label | translate }}\n </button>\n <eui-dropdown-button-child-menu #menu [menuItems]=\"item.children\"></eui-dropdown-button-child-menu>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiDropdownButtonChildMenuComponent } from './eui-dropdown-button-child-menu.component';\nimport { EuiDropdownButtonMenuComponent } from './eui-dropdown-button-menu.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, MatMenuModule, TranslateModule],\n declarations: [EuiDropdownButtonMenuComponent, EuiDropdownButtonChildMenuComponent],\n exports: [EuiDropdownButtonMenuComponent],\n})\nexport class EuiDropdownButtonMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiDropdownButtonMenuService","i4","i2","i3","i5.EuiDropdownButtonChildMenuComponent","i6"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, ContentChildren, forwardRef, NgModule } from '@angular/core';
2
+ import { Injectable, Component, ChangeDetectionStrategy, ViewEncapsulation, HostBinding, ContentChildren, forwardRef, Input, HostListener, NgModule } from '@angular/core';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { FocusKeyManager } from '@angular/cdk/a11y';
4
5
  import { BaseDirective } from '@eui/components/shared';
5
6
  import * as i3 from '@eui/components/eui-icon';
6
7
  import { EuiIconComponent, EuiIconModule } from '@eui/components/eui-icon';
@@ -27,48 +28,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
27
28
  type: Injectable
28
29
  }] });
29
30
 
30
- class EuiListComponent extends BaseDirective {
31
- constructor(euiListService) {
32
- super();
33
- this.euiListService = euiListService;
34
- this.role = 'list';
35
- this._isCollapsible = false;
36
- }
37
- get isCollapsible() {
38
- return this._isCollapsible;
39
- }
40
- set isCollapsible(value) {
41
- this._isCollapsible = coerceBooleanProperty(value);
42
- }
43
- get cssClasses() {
44
- return [super.getCssClasses('eui-list')].join(' ').trim();
45
- }
46
- ngOnInit() {
47
- if (this.isCollapsible) {
48
- this.euiListService.isCollapsible = this.isCollapsible;
49
- }
50
- }
51
- }
52
- /** @nocollapse */ EuiListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiListComponent, deps: [{ token: EuiListService }], target: i0.ɵɵFactoryTarget.Component });
53
- /** @nocollapse */ EuiListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EuiListComponent, selector: "[euiList], eui-list", inputs: { isCollapsible: "isCollapsible" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-list{display:block;height:auto;position:relative;margin:0;padding:0}.eui-list .eui-list-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-list .eui-list-item--active{background-color:var(--eui-base-color-grey-10)}.eui-list .eui-list-item .eui-list-item__container{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon .eui-icon{margin-right:var(--eui-base-spacing-xs)}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label+.eui-label{display:block}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-toggle{align-items:center;display:inline-flex;font-size:var(--eui-base-font-size-m);margin-left:auto;transition:all .3s linear}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-base-spacing-m)}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list .eui-list-item{padding-right:0}.eui-list .eui-list-item .eui-list-item__container .eui-icon{margin-right:var(--eui-base-spacing-s)}.eui-list .eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-base-spacing-s)}.eui-list a.eui-list-item:hover,.eui-list .eui-list-item__content-text a:hover{text-decoration:none!important}.eui-list button.eui-list-item{padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs)}navigation-list nav{height:auto}.eui-list-item--primary{color:var(--eui-base-color-primary-100)}.eui-list-item--secondary{color:var(--eui-base-color-grey-90)}.eui-list-item--info{color:var(--eui-base-color-info-100)}.eui-list-item--success{color:var(--eui-base-color-success-100)}.eui-list-item--warning{color:var(--eui-base-color-warning-140)}.eui-list-item--danger{color:var(--eui-base-color-danger-100)}.eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed;opacity:var(--eui-base-disabled-opacity)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiListComponent, decorators: [{
55
- type: Component,
56
- args: [{ selector: '[euiList], eui-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: [".eui-list{display:block;height:auto;position:relative;margin:0;padding:0}.eui-list .eui-list-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-list .eui-list-item--active{background-color:var(--eui-base-color-grey-10)}.eui-list .eui-list-item .eui-list-item__container{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon .eui-icon{margin-right:var(--eui-base-spacing-xs)}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label+.eui-label{display:block}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-toggle{align-items:center;display:inline-flex;font-size:var(--eui-base-font-size-m);margin-left:auto;transition:all .3s linear}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-base-spacing-m)}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list .eui-list-item{padding-right:0}.eui-list .eui-list-item .eui-list-item__container .eui-icon{margin-right:var(--eui-base-spacing-s)}.eui-list .eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-base-spacing-s)}.eui-list a.eui-list-item:hover,.eui-list .eui-list-item__content-text a:hover{text-decoration:none!important}.eui-list button.eui-list-item{padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs)}navigation-list nav{height:auto}.eui-list-item--primary{color:var(--eui-base-color-primary-100)}.eui-list-item--secondary{color:var(--eui-base-color-grey-90)}.eui-list-item--info{color:var(--eui-base-color-info-100)}.eui-list-item--success{color:var(--eui-base-color-success-100)}.eui-list-item--warning{color:var(--eui-base-color-warning-140)}.eui-list-item--danger{color:var(--eui-base-color-danger-100)}.eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed;opacity:var(--eui-base-disabled-opacity)}\n"] }]
57
- }], ctorParameters: function () { return [{ type: EuiListService }]; }, propDecorators: { isCollapsible: [{
58
- type: Input
59
- }], cssClasses: [{
60
- type: HostBinding,
61
- args: ['class']
62
- }], role: [{
63
- type: HostBinding,
64
- args: ['attr.role']
65
- }] } });
66
-
67
31
  class EuiListItemComponent extends BaseDirective {
68
- constructor(euiListService) {
32
+ constructor(euiListService, element) {
69
33
  super();
70
34
  this.euiListService = euiListService;
35
+ this.element = element;
71
36
  this.role = 'listitem';
37
+ this.tabindex = '-1';
38
+ /**
39
+ * Angular CDK ListKeyManagerOption used for skipping items during navigation: More info here: https://netbasal.com/accessibility-made-easy-with-angular-cdk-1caaf3d98de2
40
+ */
41
+ this.disabled = false;
72
42
  this._isCollapsible = false;
73
43
  this._isCollapsed = true;
74
44
  this._isActive = false;
@@ -107,18 +77,30 @@ class EuiListItemComponent extends BaseDirective {
107
77
  event.cancelBubble = true;
108
78
  }
109
79
  }
80
+ focus() {
81
+ this.element.nativeElement.focus();
82
+ }
83
+ setActiveStyles() {
84
+ this.isActive = true;
85
+ }
86
+ setInactiveStyles() {
87
+ this.isActive = false;
88
+ }
110
89
  }
111
- /** @nocollapse */ EuiListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiListItemComponent, deps: [{ token: EuiListService }], target: i0.ɵɵFactoryTarget.Component });
112
- /** @nocollapse */ EuiListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EuiListItemComponent, selector: "[euiListItem], eui-list-item", inputs: { isCollapsible: "isCollapsible", isCollapsed: "isCollapsed", isActive: "isActive" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "euiListComponent", predicate: i0.forwardRef(function () { return EuiListComponent; }) }, { propertyName: "euiIconComponent", predicate: i0.forwardRef(function () { return EuiIconComponent; }) }, { propertyName: "euiLabelComponent", predicate: i0.forwardRef(function () { return EuiLabelComponent; }) }], usesInheritance: true, ngImport: i0, template: "<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"[eui-icon], [euiIcon]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <button\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n *ngIf=\"euiListComponent.length > 0 && isCollapsible\"\n class=\"eui-list-item__content-toggle\"\n [class.eui-list-item__content-toggle--expanded]=\"!isCollapsed\"\n (click)=\"toggleCollapse($event)\">\n <eui-icon-svg icon=\"eui-chevron-down\" aria-label=\"{{ isCollapsed ? 'Expand' : 'Collapse' }}\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0 && !isCollapsed) || (euiListComponent.length > 0 && !isCollapsible)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".eui-list{display:block;height:auto;position:relative;margin:0;padding:0}.eui-list .eui-list-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-list .eui-list-item--active{background-color:var(--eui-base-color-grey-10)}.eui-list .eui-list-item .eui-list-item__container{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon .eui-icon{margin-right:var(--eui-base-spacing-xs)}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label+.eui-label{display:block}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-toggle{align-items:center;display:inline-flex;font-size:var(--eui-base-font-size-m);margin-left:auto;transition:all .3s linear}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-base-spacing-m)}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list .eui-list-item{padding-right:0}.eui-list .eui-list-item .eui-list-item__container .eui-icon{margin-right:var(--eui-base-spacing-s)}.eui-list .eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-base-spacing-s)}.eui-list a.eui-list-item:hover,.eui-list .eui-list-item__content-text a:hover{text-decoration:none!important}.eui-list button.eui-list-item{padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs)}navigation-list nav{height:auto}.eui-list-item--primary{color:var(--eui-base-color-primary-100)}.eui-list-item--secondary{color:var(--eui-base-color-grey-90)}.eui-list-item--info{color:var(--eui-base-color-info-100)}.eui-list-item--success{color:var(--eui-base-color-success-100)}.eui-list-item--warning{color:var(--eui-base-color-warning-140)}.eui-list-item--danger{color:var(--eui-base-color-danger-100)}.eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed;opacity:var(--eui-base-disabled-opacity)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
90
+ /** @nocollapse */ EuiListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiListItemComponent, deps: [{ token: EuiListService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
91
+ /** @nocollapse */ EuiListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EuiListItemComponent, selector: "[euiListItem], eui-list-item", inputs: { disabled: "disabled", isCollapsible: "isCollapsible", isCollapsed: "isCollapsed", isActive: "isActive" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, queries: [{ propertyName: "euiListComponent", predicate: i0.forwardRef(function () { return EuiListComponent; }) }, { propertyName: "euiIconComponent", predicate: i0.forwardRef(function () { return EuiIconComponent; }) }, { propertyName: "euiLabelComponent", predicate: i0.forwardRef(function () { return EuiLabelComponent; }) }], usesInheritance: true, ngImport: i0, template: "<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"[eui-icon], [euiIcon]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n *ngIf=\"euiListComponent.length > 0 && isCollapsible\"\n class=\"eui-list-item__content-toggle\"\n [class.eui-list-item__content-toggle--expanded]=\"!isCollapsed\"\n (click)=\"toggleCollapse($event)\">\n <eui-icon-svg icon=\"eui-chevron-down\" aria-label=\"{{ isCollapsed ? 'Expand' : 'Collapse' }}\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0 && !isCollapsed) || (euiListComponent.length > 0 && !isCollapsible)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".eui-list{display:block;height:auto;position:relative;margin:0;padding:0}.eui-list:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-list .eui-list-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-list .eui-list-item:focus{outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius)!important;transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-list .eui-list-item--active{background-color:var(--eui-base-color-grey-10)}.eui-list .eui-list-item .eui-list-item__container{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon .eui-icon{margin-right:var(--eui-base-spacing-xs)}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label+.eui-label{display:block}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-toggle{align-items:center;display:inline-flex;font-size:var(--eui-base-font-size-m);margin-left:auto;transition:all .3s linear}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-base-spacing-m)}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list .eui-list-item{padding-right:0}.eui-list .eui-list-item .eui-list-item__container .eui-icon{margin-right:var(--eui-base-spacing-s)}.eui-list .eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-base-spacing-s)}.eui-list a.eui-list-item:hover,.eui-list .eui-list-item__content-text a:hover{text-decoration:none!important}.eui-list button.eui-list-item{padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs)}navigation-list nav{height:auto}.eui-list-item--primary{color:var(--eui-base-color-primary-100)}.eui-list-item--secondary{color:var(--eui-base-color-grey-90)}.eui-list-item--info{color:var(--eui-base-color-info-100)}.eui-list-item--success{color:var(--eui-base-color-success-100)}.eui-list-item--warning{color:var(--eui-base-color-warning-140)}.eui-list-item--danger{color:var(--eui-base-color-danger-100)}.eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed;opacity:var(--eui-base-disabled-opacity)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
113
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiListItemComponent, decorators: [{
114
93
  type: Component,
115
- args: [{ selector: '[euiListItem], eui-list-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"[eui-icon], [euiIcon]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <button\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n *ngIf=\"euiListComponent.length > 0 && isCollapsible\"\n class=\"eui-list-item__content-toggle\"\n [class.eui-list-item__content-toggle--expanded]=\"!isCollapsed\"\n (click)=\"toggleCollapse($event)\">\n <eui-icon-svg icon=\"eui-chevron-down\" aria-label=\"{{ isCollapsed ? 'Expand' : 'Collapse' }}\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0 && !isCollapsed) || (euiListComponent.length > 0 && !isCollapsible)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".eui-list{display:block;height:auto;position:relative;margin:0;padding:0}.eui-list .eui-list-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-list .eui-list-item--active{background-color:var(--eui-base-color-grey-10)}.eui-list .eui-list-item .eui-list-item__container{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon .eui-icon{margin-right:var(--eui-base-spacing-xs)}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label+.eui-label{display:block}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-toggle{align-items:center;display:inline-flex;font-size:var(--eui-base-font-size-m);margin-left:auto;transition:all .3s linear}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-base-spacing-m)}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list .eui-list-item{padding-right:0}.eui-list .eui-list-item .eui-list-item__container .eui-icon{margin-right:var(--eui-base-spacing-s)}.eui-list .eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-base-spacing-s)}.eui-list a.eui-list-item:hover,.eui-list .eui-list-item__content-text a:hover{text-decoration:none!important}.eui-list button.eui-list-item{padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs)}navigation-list nav{height:auto}.eui-list-item--primary{color:var(--eui-base-color-primary-100)}.eui-list-item--secondary{color:var(--eui-base-color-grey-90)}.eui-list-item--info{color:var(--eui-base-color-info-100)}.eui-list-item--success{color:var(--eui-base-color-success-100)}.eui-list-item--warning{color:var(--eui-base-color-warning-140)}.eui-list-item--danger{color:var(--eui-base-color-danger-100)}.eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed;opacity:var(--eui-base-disabled-opacity)}\n"] }]
116
- }], ctorParameters: function () { return [{ type: EuiListService }]; }, propDecorators: { cssClasses: [{
94
+ args: [{ selector: '[euiListItem], eui-list-item', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"[eui-icon], [euiIcon]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n *ngIf=\"euiListComponent.length > 0 && isCollapsible\"\n class=\"eui-list-item__content-toggle\"\n [class.eui-list-item__content-toggle--expanded]=\"!isCollapsed\"\n (click)=\"toggleCollapse($event)\">\n <eui-icon-svg icon=\"eui-chevron-down\" aria-label=\"{{ isCollapsed ? 'Expand' : 'Collapse' }}\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0 && !isCollapsed) || (euiListComponent.length > 0 && !isCollapsible)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".eui-list{display:block;height:auto;position:relative;margin:0;padding:0}.eui-list:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-list .eui-list-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-list .eui-list-item:focus{outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius)!important;transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-list .eui-list-item--active{background-color:var(--eui-base-color-grey-10)}.eui-list .eui-list-item .eui-list-item__container{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon .eui-icon{margin-right:var(--eui-base-spacing-xs)}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label+.eui-label{display:block}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-toggle{align-items:center;display:inline-flex;font-size:var(--eui-base-font-size-m);margin-left:auto;transition:all .3s linear}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-base-spacing-m)}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list .eui-list-item{padding-right:0}.eui-list .eui-list-item .eui-list-item__container .eui-icon{margin-right:var(--eui-base-spacing-s)}.eui-list .eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-base-spacing-s)}.eui-list a.eui-list-item:hover,.eui-list .eui-list-item__content-text a:hover{text-decoration:none!important}.eui-list button.eui-list-item{padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs)}navigation-list nav{height:auto}.eui-list-item--primary{color:var(--eui-base-color-primary-100)}.eui-list-item--secondary{color:var(--eui-base-color-grey-90)}.eui-list-item--info{color:var(--eui-base-color-info-100)}.eui-list-item--success{color:var(--eui-base-color-success-100)}.eui-list-item--warning{color:var(--eui-base-color-warning-140)}.eui-list-item--danger{color:var(--eui-base-color-danger-100)}.eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed;opacity:var(--eui-base-disabled-opacity)}\n"] }]
95
+ }], ctorParameters: function () { return [{ type: EuiListService }, { type: i0.ElementRef }]; }, propDecorators: { cssClasses: [{
117
96
  type: HostBinding,
118
97
  args: ['class']
119
98
  }], role: [{
120
99
  type: HostBinding,
121
100
  args: ['attr.role']
101
+ }], tabindex: [{
102
+ type: HostBinding,
103
+ args: ['attr.tabindex']
122
104
  }], euiListComponent: [{
123
105
  type: ContentChildren,
124
106
  args: [forwardRef(() => EuiListComponent)]
@@ -128,6 +110,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
128
110
  }], euiLabelComponent: [{
129
111
  type: ContentChildren,
130
112
  args: [forwardRef(() => EuiLabelComponent)]
113
+ }], disabled: [{
114
+ type: Input
131
115
  }], isCollapsible: [{
132
116
  type: Input
133
117
  }], isCollapsed: [{
@@ -136,6 +120,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
136
120
  type: Input
137
121
  }] } });
138
122
 
123
+ class EuiListComponent extends BaseDirective {
124
+ constructor(euiListService) {
125
+ super();
126
+ this.euiListService = euiListService;
127
+ this.role = 'list';
128
+ this._isCollapsible = false;
129
+ }
130
+ get isCollapsible() {
131
+ return this._isCollapsible;
132
+ }
133
+ set isCollapsible(value) {
134
+ this._isCollapsible = coerceBooleanProperty(value);
135
+ }
136
+ get cssClasses() {
137
+ return [super.getCssClasses('eui-list')].join(' ').trim();
138
+ }
139
+ onKeydown(event) {
140
+ switch (event.key) {
141
+ case 'ArrowRight': {
142
+ if (this.focusKeyManager.activeItem?.isCollapsible && this.focusKeyManager.activeItem.isCollapsed) {
143
+ this.focusKeyManager.activeItem.isCollapsed = false;
144
+ event.preventDefault();
145
+ }
146
+ break;
147
+ }
148
+ case 'ArrowLeft': {
149
+ if (this.focusKeyManager.activeItem?.isCollapsible && !this.focusKeyManager.activeItem.isCollapsed) {
150
+ this.focusKeyManager.activeItem.isCollapsed = true;
151
+ event.preventDefault();
152
+ }
153
+ break;
154
+ }
155
+ case 'ArrowDown': {
156
+ if (this.focusKeyManager.activeItem?.isCollapsible &&
157
+ this.focusKeyManager.activeItem.isCollapsed &&
158
+ this.focusKeyManager.activeItem.euiListComponent.length > 0) {
159
+ this.focusKeyManager.activeItem.euiListComponent.forEach((list) => {
160
+ this.nestedItems = list.items;
161
+ this.nestedItems.forEach((nestedItem) => {
162
+ nestedItem.disabled = true;
163
+ });
164
+ this.focusKeyManager.onKeydown(event);
165
+ });
166
+ event.preventDefault();
167
+ }
168
+ else {
169
+ this.nestedItems?.forEach((nestedItem) => {
170
+ nestedItem.disabled = false;
171
+ });
172
+ this.focusKeyManager.onKeydown(event);
173
+ }
174
+ break;
175
+ }
176
+ default: {
177
+ this.focusKeyManager.onKeydown(event);
178
+ break;
179
+ }
180
+ }
181
+ }
182
+ ngOnInit() {
183
+ if (this.isCollapsible) {
184
+ this.euiListService.isCollapsible = this.isCollapsible;
185
+ }
186
+ }
187
+ ngAfterContentInit() {
188
+ // instantiates FocusKeyManager with the query list of items enabling wrapping
189
+ this.focusKeyManager = new FocusKeyManager(this.items).withWrap();
190
+ // checks whether an item contains a sub-menu and if so it sets it's ul element tabindex to -1
191
+ this.items.forEach((item) => {
192
+ if (item.euiListComponent.length > 0) {
193
+ item.euiListComponent.forEach((list) => (list.tabIndex = '-1'));
194
+ }
195
+ else {
196
+ this.tabIndex = '0';
197
+ }
198
+ });
199
+ }
200
+ }
201
+ /** @nocollapse */ EuiListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiListComponent, deps: [{ token: EuiListService }], target: i0.ɵɵFactoryTarget.Component });
202
+ /** @nocollapse */ EuiListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EuiListComponent, selector: "[euiList], eui-list", inputs: { isCollapsible: "isCollapsible" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.tabindex": "this.tabIndex" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(function () { return EuiListItemComponent; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-list{display:block;height:auto;position:relative;margin:0;padding:0}.eui-list:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-list .eui-list-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-list .eui-list-item:focus{outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius)!important;transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-list .eui-list-item--active{background-color:var(--eui-base-color-grey-10)}.eui-list .eui-list-item .eui-list-item__container{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon .eui-icon{margin-right:var(--eui-base-spacing-xs)}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label+.eui-label{display:block}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-toggle{align-items:center;display:inline-flex;font-size:var(--eui-base-font-size-m);margin-left:auto;transition:all .3s linear}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-base-spacing-m)}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list .eui-list-item{padding-right:0}.eui-list .eui-list-item .eui-list-item__container .eui-icon{margin-right:var(--eui-base-spacing-s)}.eui-list .eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-base-spacing-s)}.eui-list a.eui-list-item:hover,.eui-list .eui-list-item__content-text a:hover{text-decoration:none!important}.eui-list button.eui-list-item{padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs)}navigation-list nav{height:auto}.eui-list-item--primary{color:var(--eui-base-color-primary-100)}.eui-list-item--secondary{color:var(--eui-base-color-grey-90)}.eui-list-item--info{color:var(--eui-base-color-info-100)}.eui-list-item--success{color:var(--eui-base-color-success-100)}.eui-list-item--warning{color:var(--eui-base-color-warning-140)}.eui-list-item--danger{color:var(--eui-base-color-danger-100)}.eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed;opacity:var(--eui-base-disabled-opacity)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiListComponent, decorators: [{
204
+ type: Component,
205
+ args: [{ selector: '[euiList], eui-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: [".eui-list{display:block;height:auto;position:relative;margin:0;padding:0}.eui-list:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-list .eui-list-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-list .eui-list-item:focus{outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius)!important;transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-list .eui-list-item--active{background-color:var(--eui-base-color-grey-10)}.eui-list .eui-list-item .eui-list-item__container{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon .eui-icon{margin-right:var(--eui-base-spacing-xs)}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label+.eui-label{display:block}.eui-list .eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-toggle{align-items:center;display:inline-flex;font-size:var(--eui-base-font-size-m);margin-left:auto;transition:all .3s linear}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-base-spacing-m)}.eui-list .eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list .eui-list-item{padding-right:0}.eui-list .eui-list-item .eui-list-item__container .eui-icon{margin-right:var(--eui-base-spacing-s)}.eui-list .eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-base-spacing-s)}.eui-list a.eui-list-item:hover,.eui-list .eui-list-item__content-text a:hover{text-decoration:none!important}.eui-list button.eui-list-item{padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs)}navigation-list nav{height:auto}.eui-list-item--primary{color:var(--eui-base-color-primary-100)}.eui-list-item--secondary{color:var(--eui-base-color-grey-90)}.eui-list-item--info{color:var(--eui-base-color-info-100)}.eui-list-item--success{color:var(--eui-base-color-success-100)}.eui-list-item--warning{color:var(--eui-base-color-warning-140)}.eui-list-item--danger{color:var(--eui-base-color-danger-100)}.eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed;opacity:var(--eui-base-disabled-opacity)}\n"] }]
206
+ }], ctorParameters: function () { return [{ type: EuiListService }]; }, propDecorators: { isCollapsible: [{
207
+ type: Input
208
+ }], cssClasses: [{
209
+ type: HostBinding,
210
+ args: ['class']
211
+ }], role: [{
212
+ type: HostBinding,
213
+ args: ['attr.role']
214
+ }], tabIndex: [{
215
+ type: HostBinding,
216
+ args: ['attr.tabindex']
217
+ }], items: [{
218
+ type: ContentChildren,
219
+ args: [forwardRef(() => EuiListItemComponent), { descendants: true }]
220
+ }], onKeydown: [{
221
+ type: HostListener,
222
+ args: ['keydown', ['$event']]
223
+ }] } });
224
+
139
225
  class EuiListModule {
140
226
  }
141
227
  /** @nocollapse */ EuiListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EuiListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-list.mjs","sources":["../../eui-list/services/eui-list.service.ts","../../eui-list/eui-list.component.ts","../../eui-list/eui-list.component.html","../../eui-list/eui-list-item/eui-list-item.component.ts","../../eui-list/eui-list-item/eui-list-item.component.html","../../eui-list/eui-list.module.ts","../../eui-list/eui-components-eui-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Injectable()\nexport class EuiListService {\n public _isCollapsible = false;\n\n get isCollapsible(): boolean {\n return this._isCollapsible;\n }\n\n set isCollapsible(value: BooleanInput) {\n this._isCollapsible = coerceBooleanProperty(value);\n }\n}\n","import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, OnInit } from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { BaseDirective } from '@eui/components/shared';\nimport { EuiListService } from './services/eui-list.service';\n\n@Component({\n templateUrl: './eui-list.component.html',\n selector: '[euiList], eui-list',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiListComponent extends BaseDirective implements OnInit {\n @Input()\n get isCollapsible(): boolean {\n return this._isCollapsible;\n }\n set isCollapsible(value: BooleanInput) {\n this._isCollapsible = coerceBooleanProperty(value);\n }\n\n @HostBinding('class')\n get cssClasses() {\n return [super.getCssClasses('eui-list')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'list';\n private _isCollapsible = false;\n\n constructor(private euiListService: EuiListService) {\n super();\n }\n\n ngOnInit() {\n if (this.isCollapsible) {\n this.euiListService.isCollapsible = this.isCollapsible;\n }\n }\n}\n","<ng-content></ng-content>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ContentChildren,\n forwardRef,\n QueryList,\n Input,\n OnInit,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { BaseDirective } from '@eui/components/shared';\nimport { EuiListComponent } from '../eui-list.component';\nimport { EuiListService } from '../services/eui-list.service';\nimport { EuiIconComponent } from '@eui/components/eui-icon';\nimport { EuiLabelComponent } from '@eui/components/eui-label';\n\n@Component({\n templateUrl: './eui-list-item.component.html',\n selector: '[euiListItem], eui-list-item',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiListItemComponent extends BaseDirective implements OnInit {\n @HostBinding('class')\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n get cssClasses() {\n return [super.getCssClasses('eui-list-item'), this._isActive ? `eui-list-item--active` : ``].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'listitem';\n\n @ContentChildren(forwardRef(() => EuiListComponent)) euiListComponent: QueryList<EuiListComponent>;\n @ContentChildren(forwardRef(() => EuiIconComponent)) euiIconComponent: QueryList<EuiIconComponent>;\n @ContentChildren(forwardRef(() => EuiLabelComponent)) euiLabelComponent: QueryList<EuiLabelComponent>;\n\n @Input()\n get isCollapsible(): boolean {\n return this._isCollapsible;\n }\n set isCollapsible(value: BooleanInput) {\n this._isCollapsible = coerceBooleanProperty(value);\n }\n private _isCollapsible = false;\n\n @Input()\n get isCollapsed(): boolean {\n return this._isCollapsed;\n }\n set isCollapsed(value: BooleanInput) {\n this._isCollapsed = coerceBooleanProperty(value);\n }\n private _isCollapsed = true;\n\n @Input()\n get isActive(): boolean {\n return this._isActive;\n }\n set isActive(value: BooleanInput) {\n this._isActive = coerceBooleanProperty(value);\n }\n private _isActive = false;\n\n constructor(private euiListService: EuiListService) {\n super();\n }\n\n ngOnInit(): void {\n this.isCollapsible = this.euiListService.isCollapsible;\n }\n\n public toggleCollapse(event: Event): void {\n if (this.isCollapsible) {\n this.isCollapsed = !this.isCollapsed;\n }\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n event.cancelBubble = true;\n }\n }\n}\n","<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"[eui-icon], [euiIcon]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <button\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n *ngIf=\"euiListComponent.length > 0 && isCollapsible\"\n class=\"eui-list-item__content-toggle\"\n [class.eui-list-item__content-toggle--expanded]=\"!isCollapsed\"\n (click)=\"toggleCollapse($event)\">\n <eui-icon-svg icon=\"eui-chevron-down\" aria-label=\"{{ isCollapsed ? 'Expand' : 'Collapse' }}\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0 && !isCollapsed) || (euiListComponent.length > 0 && !isCollapsible)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiListComponent } from './eui-list.component';\nimport { EuiListItemComponent } from './eui-list-item/eui-list-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiListService } from './services/eui-list.service';\n\n@NgModule({\n imports: [CommonModule, EuiIconModule, EuiButtonModule, EuiLabelModule],\n declarations: [EuiListComponent, EuiListItemComponent],\n exports: [EuiListComponent, EuiListItemComponent],\n providers: [EuiListService],\n})\nexport class EuiListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiListService"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-list.mjs","sources":["../../eui-list/services/eui-list.service.ts","../../eui-list/eui-list-item/eui-list-item.component.ts","../../eui-list/eui-list-item/eui-list-item.component.html","../../eui-list/eui-list.component.ts","../../eui-list/eui-list.component.html","../../eui-list/eui-list.module.ts","../../eui-list/eui-components-eui-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Injectable()\nexport class EuiListService {\n public _isCollapsible = false;\n\n get isCollapsible(): boolean {\n return this._isCollapsible;\n }\n\n set isCollapsible(value: BooleanInput) {\n this._isCollapsible = coerceBooleanProperty(value);\n }\n}\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ContentChildren,\n forwardRef,\n QueryList,\n Input,\n OnInit,\n ElementRef,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Highlightable, FocusableOption } from '@angular/cdk/a11y';\n\nimport { BaseDirective } from '@eui/components/shared';\nimport { EuiListComponent } from '../eui-list.component';\nimport { EuiListService } from '../services/eui-list.service';\nimport { EuiIconComponent } from '@eui/components/eui-icon';\nimport { EuiLabelComponent } from '@eui/components/eui-label';\n\n@Component({\n templateUrl: './eui-list-item.component.html',\n selector: '[euiListItem], eui-list-item',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiListItemComponent extends BaseDirective implements OnInit, FocusableOption, Highlightable {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('eui-list-item'), this._isActive ? `eui-list-item--active` : ``].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('attr.tabindex') tabindex = '-1';\n\n @ContentChildren(forwardRef(() => EuiListComponent)) euiListComponent: QueryList<EuiListComponent>;\n @ContentChildren(forwardRef(() => EuiIconComponent)) euiIconComponent: QueryList<EuiIconComponent>;\n @ContentChildren(forwardRef(() => EuiLabelComponent)) euiLabelComponent: QueryList<EuiLabelComponent>;\n\n /**\n * Angular CDK ListKeyManagerOption used for skipping items during navigation: More info here: https://netbasal.com/accessibility-made-easy-with-angular-cdk-1caaf3d98de2\n */\n @Input() disabled = false;\n\n @Input()\n get isCollapsible(): boolean {\n return this._isCollapsible;\n }\n set isCollapsible(value: BooleanInput) {\n this._isCollapsible = coerceBooleanProperty(value);\n }\n private _isCollapsible = false;\n\n @Input()\n get isCollapsed(): boolean {\n return this._isCollapsed;\n }\n set isCollapsed(value: BooleanInput) {\n this._isCollapsed = coerceBooleanProperty(value);\n }\n private _isCollapsed = true;\n\n @Input()\n get isActive(): boolean {\n return this._isActive;\n }\n set isActive(value: BooleanInput) {\n this._isActive = coerceBooleanProperty(value);\n }\n private _isActive = false;\n\n constructor(private euiListService: EuiListService, private element: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n this.isCollapsible = this.euiListService.isCollapsible;\n }\n\n public toggleCollapse(event: MouseEvent): void {\n if (this.isCollapsible) {\n this.isCollapsed = !this.isCollapsed;\n }\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n event.cancelBubble = true;\n }\n }\n\n focus(): void {\n this.element.nativeElement.focus();\n }\n\n public setActiveStyles(): void {\n this.isActive = true;\n }\n\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n}\n","<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"[eui-icon], [euiIcon]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n *ngIf=\"euiListComponent.length > 0 && isCollapsible\"\n class=\"eui-list-item__content-toggle\"\n [class.eui-list-item__content-toggle--expanded]=\"!isCollapsed\"\n (click)=\"toggleCollapse($event)\">\n <eui-icon-svg icon=\"eui-chevron-down\" aria-label=\"{{ isCollapsed ? 'Expand' : 'Collapse' }}\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0 && !isCollapsed) || (euiListComponent.length > 0 && !isCollapsible)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n OnInit,\n AfterContentInit,\n ContentChildren,\n forwardRef,\n QueryList,\n HostListener,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\n\nimport { BaseDirective } from '@eui/components/shared';\nimport { EuiListService } from './services/eui-list.service';\nimport { EuiListItemComponent } from './eui-list-item/eui-list-item.component';\n\n@Component({\n templateUrl: './eui-list.component.html',\n selector: '[euiList], eui-list',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiListComponent extends BaseDirective implements OnInit, AfterContentInit {\n @Input()\n get isCollapsible(): boolean {\n return this._isCollapsible;\n }\n set isCollapsible(value: BooleanInput) {\n this._isCollapsible = coerceBooleanProperty(value);\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('eui-list')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'list';\n @HostBinding('attr.tabindex') tabIndex: string;\n @ContentChildren(forwardRef(() => EuiListItemComponent), { descendants: true }) items: QueryList<EuiListItemComponent>;\n public nestedItems: QueryList<EuiListItemComponent>;\n private focusKeyManager: FocusKeyManager<EuiListItemComponent>;\n private _isCollapsible = false;\n\n constructor(private euiListService: EuiListService) {\n super();\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowRight': {\n if (this.focusKeyManager.activeItem?.isCollapsible && this.focusKeyManager.activeItem.isCollapsed) {\n this.focusKeyManager.activeItem.isCollapsed = false;\n event.preventDefault();\n }\n break;\n }\n case 'ArrowLeft': {\n if (this.focusKeyManager.activeItem?.isCollapsible && !this.focusKeyManager.activeItem.isCollapsed) {\n this.focusKeyManager.activeItem.isCollapsed = true;\n event.preventDefault();\n }\n break;\n }\n case 'ArrowDown': {\n if (\n this.focusKeyManager.activeItem?.isCollapsible &&\n this.focusKeyManager.activeItem.isCollapsed &&\n this.focusKeyManager.activeItem.euiListComponent.length > 0\n ) {\n this.focusKeyManager.activeItem.euiListComponent.forEach((list) => {\n this.nestedItems = list.items;\n this.nestedItems.forEach((nestedItem) => {\n nestedItem.disabled = true;\n });\n this.focusKeyManager.onKeydown(event);\n });\n event.preventDefault();\n } else {\n this.nestedItems?.forEach((nestedItem) => {\n nestedItem.disabled = false;\n });\n this.focusKeyManager.onKeydown(event);\n }\n break;\n }\n default: {\n this.focusKeyManager.onKeydown(event);\n break;\n }\n }\n }\n\n ngOnInit(): void {\n if (this.isCollapsible) {\n this.euiListService.isCollapsible = this.isCollapsible;\n }\n }\n\n ngAfterContentInit(): void {\n // instantiates FocusKeyManager with the query list of items enabling wrapping\n this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n\n // checks whether an item contains a sub-menu and if so it sets it's ul element tabindex to -1\n this.items.forEach((item) => {\n if (item.euiListComponent.length > 0) {\n item.euiListComponent.forEach((list) => (list.tabIndex = '-1'));\n } else {\n this.tabIndex = '0';\n }\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiListComponent } from './eui-list.component';\nimport { EuiListItemComponent } from './eui-list-item/eui-list-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiListService } from './services/eui-list.service';\n\n@NgModule({\n imports: [CommonModule, EuiIconModule, EuiButtonModule, EuiLabelModule],\n declarations: [EuiListComponent, EuiListItemComponent],\n exports: [EuiListComponent, EuiListItemComponent],\n providers: [EuiListService],\n})\nexport class EuiListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiListService"],"mappings":"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"}