@eui/components 18.0.0-next.68 → 18.0.0-next.69

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 (154) hide show
  1. package/docs/components/EuiIconButtonComponent.html +1 -1
  2. package/docs/components/EuiIconButtonExpanderComponent.html +1 -1
  3. package/docs/components/EuiIconInputComponent.html +1 -1
  4. package/docs/components/EuiLanguageSelectorComponent.html +1 -1
  5. package/docs/dependencies.html +1 -1
  6. package/docs/index.html +1 -1
  7. package/docs/js/menu-wc.js +101 -59
  8. package/docs/js/menu-wc_es5.js +1 -1
  9. package/docs/js/search/search_index.js +2 -2
  10. package/docs/miscellaneous/variables.html +4 -3
  11. package/docs/modules/EuiAllModule.html +18 -0
  12. package/docs/modules/EuiAppModule.html +18 -0
  13. package/docs/modules/EuiAppTopMessageModule.html +3 -0
  14. package/docs/modules/EuiCardModule.html +3 -0
  15. package/docs/modules/EuiChipModule.html +3 -0
  16. package/docs/modules/EuiFieldsetModule.html +3 -0
  17. package/docs/modules/EuiGrowlModule.html +3 -0
  18. package/docs/modules/EuiIconButtonExpanderModule.html +238 -0
  19. package/docs/modules/EuiIconButtonModule.html +238 -0
  20. package/docs/modules/EuiIconInputModule.html +238 -0
  21. package/docs/modules/EuiIconModule.html +0 -18
  22. package/docs/modules/EuiLayoutModule.html +18 -0
  23. package/docs/modules/EuiMenuModule.html +3 -0
  24. package/docs/modules/EuiNotificationsModule.html +3 -0
  25. package/docs/modules/EuiNotificationsV2Module.html +3 -0
  26. package/docs/modules/EuiSearchModule.html +3 -0
  27. package/docs/modules/EuiSidebarToggleModule.html +1 -1
  28. package/docs/modules/EuiTreeListModule.html +3 -0
  29. package/docs/modules.html +36 -0
  30. package/esm2022/eui-all/eui-all.module.mjs +19 -4
  31. package/esm2022/eui-breadcrumb/breadcrumb.module.mjs +8 -5
  32. package/esm2022/eui-card/components/eui-card-header/eui-card-header.component.mjs +3 -2
  33. package/esm2022/eui-card/eui-card.module.mjs +13 -4
  34. package/esm2022/eui-chip/eui-chip.component.mjs +1 -1
  35. package/esm2022/eui-chip/eui-chip.module.mjs +5 -4
  36. package/esm2022/eui-fieldset/eui-fieldset.component.mjs +3 -2
  37. package/esm2022/eui-fieldset/eui-fieldset.module.mjs +5 -4
  38. package/esm2022/eui-growl/eui-growl.component.mjs +4 -3
  39. package/esm2022/eui-growl/eui-growl.module.mjs +5 -4
  40. package/esm2022/eui-icon/eui-icon.module.mjs +3 -15
  41. package/esm2022/eui-icon/index.mjs +1 -4
  42. package/esm2022/eui-icon-button/eui-components-eui-icon-button.mjs +5 -0
  43. package/esm2022/{eui-icon/eui-icon-button → eui-icon-button}/eui-icon-button.component.mjs +2 -2
  44. package/esm2022/eui-icon-button/eui-icon-button.module.mjs +24 -0
  45. package/esm2022/eui-icon-button/index.mjs +3 -0
  46. package/esm2022/eui-icon-button-expander/eui-components-eui-icon-button-expander.mjs +5 -0
  47. package/esm2022/{eui-icon/eui-icon-button-expander → eui-icon-button-expander}/eui-icon-button-expander.component.mjs +2 -2
  48. package/esm2022/eui-icon-button-expander/eui-icon-button-expander.module.mjs +24 -0
  49. package/esm2022/eui-icon-button-expander/index.mjs +3 -0
  50. package/esm2022/eui-icon-input/eui-components-eui-icon-input.mjs +5 -0
  51. package/esm2022/{eui-icon/eui-icon-input → eui-icon-input}/eui-icon-input.component.mjs +1 -1
  52. package/esm2022/eui-icon-input/eui-icon-input.module.mjs +24 -0
  53. package/esm2022/eui-icon-input/index.mjs +3 -0
  54. package/esm2022/eui-language-selector/language-selector.component.mjs +3 -3
  55. package/esm2022/eui-menu/eui-menu.component.mjs +6 -5
  56. package/esm2022/eui-menu/eui-menu.module.mjs +5 -4
  57. package/esm2022/eui-search/search.component.mjs +8 -7
  58. package/esm2022/eui-search/search.module.mjs +5 -4
  59. package/esm2022/eui-tree-list/eui-tree-list-item.component.mjs +3 -3
  60. package/esm2022/eui-tree-list/eui-tree-list.module.mjs +5 -1
  61. package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +1 -1
  62. package/esm2022/layout/eui-app/eui-app-top-message/top-message.module.mjs +5 -4
  63. package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +5 -4
  64. package/esm2022/layout/eui-notifications/eui-notifications.module.mjs +10 -4
  65. package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +5 -4
  66. package/esm2022/layout/eui-notifications-v2/eui-notifications.module.mjs +10 -4
  67. package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.component.mjs +1 -1
  68. package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.module.mjs +5 -5
  69. package/eui-all/eui-all.module.d.ts +4 -1
  70. package/eui-all/eui-all.module.d.ts.map +1 -1
  71. package/eui-breadcrumb/breadcrumb.module.d.ts.map +1 -1
  72. package/eui-card/eui-card.module.d.ts +2 -1
  73. package/eui-card/eui-card.module.d.ts.map +1 -1
  74. package/eui-chip/eui-chip.module.d.ts +3 -2
  75. package/eui-chip/eui-chip.module.d.ts.map +1 -1
  76. package/eui-fieldset/eui-fieldset.module.d.ts +3 -2
  77. package/eui-fieldset/eui-fieldset.module.d.ts.map +1 -1
  78. package/eui-growl/eui-growl.module.d.ts +3 -2
  79. package/eui-growl/eui-growl.module.d.ts.map +1 -1
  80. package/eui-icon/eui-icon.module.d.ts +2 -5
  81. package/eui-icon/eui-icon.module.d.ts.map +1 -1
  82. package/eui-icon/index.d.ts +0 -3
  83. package/eui-icon/index.d.ts.map +1 -1
  84. package/eui-icon-button/eui-components-eui-icon-button.d.ts.map +1 -0
  85. package/eui-icon-button/eui-icon-button.component.d.ts.map +1 -0
  86. package/eui-icon-button/eui-icon-button.module.d.ts +10 -0
  87. package/eui-icon-button/eui-icon-button.module.d.ts.map +1 -0
  88. package/eui-icon-button/index.d.ts +3 -0
  89. package/eui-icon-button/index.d.ts.map +1 -0
  90. package/eui-icon-button/package.json +3 -0
  91. package/eui-icon-button-expander/eui-components-eui-icon-button-expander.d.ts.map +1 -0
  92. package/eui-icon-button-expander/eui-icon-button-expander.component.d.ts.map +1 -0
  93. package/eui-icon-button-expander/eui-icon-button-expander.module.d.ts +10 -0
  94. package/eui-icon-button-expander/eui-icon-button-expander.module.d.ts.map +1 -0
  95. package/eui-icon-button-expander/index.d.ts +3 -0
  96. package/eui-icon-button-expander/index.d.ts.map +1 -0
  97. package/eui-icon-button-expander/package.json +3 -0
  98. package/eui-icon-input/eui-components-eui-icon-input.d.ts.map +1 -0
  99. package/eui-icon-input/eui-icon-input.component.d.ts.map +1 -0
  100. package/eui-icon-input/eui-icon-input.module.d.ts +10 -0
  101. package/eui-icon-input/eui-icon-input.module.d.ts.map +1 -0
  102. package/eui-icon-input/index.d.ts +3 -0
  103. package/eui-icon-input/index.d.ts.map +1 -0
  104. package/eui-icon-input/package.json +3 -0
  105. package/eui-menu/eui-menu.module.d.ts +8 -7
  106. package/eui-menu/eui-menu.module.d.ts.map +1 -1
  107. package/eui-search/search.module.d.ts +8 -7
  108. package/eui-search/search.module.d.ts.map +1 -1
  109. package/eui-tree-list/eui-tree-list.module.d.ts +4 -3
  110. package/eui-tree-list/eui-tree-list.module.d.ts.map +1 -1
  111. package/fesm2022/eui-components-eui-breadcrumb.mjs +4 -4
  112. package/fesm2022/eui-components-eui-breadcrumb.mjs.map +2 -2
  113. package/fesm2022/eui-components-eui-card.mjs +32 -6
  114. package/fesm2022/eui-components-eui-card.mjs.map +2 -2
  115. package/fesm2022/eui-components-eui-chip.mjs +5 -4
  116. package/fesm2022/eui-components-eui-chip.mjs.map +2 -2
  117. package/fesm2022/eui-components-eui-fieldset.mjs +6 -4
  118. package/fesm2022/eui-components-eui-fieldset.mjs.map +2 -2
  119. package/fesm2022/eui-components-eui-growl.mjs +7 -5
  120. package/fesm2022/eui-components-eui-growl.mjs.map +2 -2
  121. package/fesm2022/eui-components-eui-icon-button-expander.mjs +137 -0
  122. package/fesm2022/eui-components-eui-icon-button-expander.mjs.map +7 -0
  123. package/fesm2022/eui-components-eui-icon-button.mjs +94 -0
  124. package/fesm2022/eui-components-eui-icon-button.mjs.map +7 -0
  125. package/fesm2022/eui-components-eui-icon-input.mjs +74 -0
  126. package/fesm2022/eui-components-eui-icon-input.mjs.map +7 -0
  127. package/fesm2022/eui-components-eui-icon.mjs +16 -217
  128. package/fesm2022/eui-components-eui-icon.mjs.map +4 -4
  129. package/fesm2022/eui-components-eui-language-selector.mjs +2 -2
  130. package/fesm2022/eui-components-eui-language-selector.mjs.map +2 -2
  131. package/fesm2022/eui-components-eui-menu.mjs +8 -3
  132. package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
  133. package/fesm2022/eui-components-eui-search.mjs +11 -6
  134. package/fesm2022/eui-components-eui-search.mjs.map +2 -2
  135. package/fesm2022/eui-components-eui-tree-list.mjs +7 -3
  136. package/fesm2022/eui-components-eui-tree-list.mjs.map +2 -2
  137. package/fesm2022/eui-components-layout.mjs +89 -30
  138. package/fesm2022/eui-components-layout.mjs.map +3 -3
  139. package/fesm2022/eui-components.mjs +19 -4
  140. package/fesm2022/eui-components.mjs.map +2 -2
  141. package/layout/eui-app/eui-app-top-message/top-message.module.d.ts +2 -1
  142. package/layout/eui-app/eui-app-top-message/top-message.module.d.ts.map +1 -1
  143. package/layout/eui-notifications/eui-notifications.module.d.ts +2 -1
  144. package/layout/eui-notifications/eui-notifications.module.d.ts.map +1 -1
  145. package/layout/eui-notifications-v2/eui-notifications.module.d.ts +2 -1
  146. package/layout/eui-notifications-v2/eui-notifications.module.d.ts.map +1 -1
  147. package/layout/eui-sidebar-toggle/sidebar-toggle.module.d.ts +2 -2
  148. package/package.json +27 -9
  149. package/eui-icon/eui-icon-button/eui-icon-button.component.d.ts.map +0 -1
  150. package/eui-icon/eui-icon-button-expander/eui-icon-button-expander.component.d.ts.map +0 -1
  151. package/eui-icon/eui-icon-input/eui-icon-input.component.d.ts.map +0 -1
  152. /package/{eui-icon/eui-icon-button → eui-icon-button}/eui-icon-button.component.d.ts +0 -0
  153. /package/{eui-icon/eui-icon-button-expander → eui-icon-button-expander}/eui-icon-button-expander.component.d.ts +0 -0
  154. /package/{eui-icon/eui-icon-input → eui-icon-input}/eui-icon-input.component.d.ts +0 -0
@@ -742,8 +742,9 @@ import * as i02 from "@angular/core";
742
742
  import * as i12 from "@angular/router";
743
743
  import * as i22 from "@eui/components/shared";
744
744
  import * as i32 from "@angular/common";
745
- import * as i42 from "@eui/components/eui-icon";
746
- import * as i52 from "@eui/components/eui-input-text";
745
+ import * as i42 from "@eui/components/eui-icon-input";
746
+ import * as i52 from "@eui/components/eui-icon";
747
+ import * as i62 from "@eui/components/eui-input-text";
747
748
  var EuiMenuComponent = class _EuiMenuComponent {
748
749
  get cssClasses() {
749
750
  return [
@@ -1129,7 +1130,7 @@ var EuiMenuComponent = class _EuiMenuComponent {
1129
1130
  this.ɵfac = i02.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i02, type: _EuiMenuComponent, deps: [{ token: i12.Router }, { token: i12.ActivatedRoute }, { token: i22.BaseStatesDirective }, { token: i02.ChangeDetectorRef }], target: i02.ɵɵFactoryTarget.Component });
1130
1131
  }
1131
1132
  static {
1132
- this.ɵcmp = i02.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: _EuiMenuComponent, selector: "eui-menu", inputs: { items: "items", searchFilterLabel: "searchFilterLabel", externalLinkLabel: "externalLinkLabel", fragmentId: "fragmentId", filterValue: "filterValue", isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute2], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute2], hasFilter: ["hasFilter", "hasFilter", booleanAttribute2], hasIcons: ["hasIcons", "hasIcons", booleanAttribute2], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute2], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute2], isFlat: ["isFlat", "isFlat", booleanAttribute2], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute2], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute2] }, outputs: { isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "focusableItems", predicate: EuiMenuItemComponent, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i22.BaseStatesDirective }], ngImport: i02, template: '@if (hasFilter && !isCollapsed) {\n <div class="eui-menu-filter" (click)="onMenuFilterClick($event)">\n <eui-icon-input>\n <eui-icon-svg icon="eui-ecl-search" fillColor="neutral-lighter" aria-label="Search Icon"></eui-icon-svg>\n <input\n euiInputText\n [euiClearable]="true"\n (input)="onFilter($event)"\n [placeholder]="searchFilterLabel"\n [attr.aria-label]="searchFilterLabel"\n [value]="filterValue" />\n </eui-icon-input>\n </div>\n}\n\n<ul euiList class="eui-menu" role="menubar" aria-orientation="vertical" tabindex="0" (keydown)="onKeydown($event)">\n @if (items) {\n <ng-template ngFor let-item let-index [ngForOf]="items">\n <ng-template [ngTemplateOutlet]="menuItemTemplateRef" [ngTemplateOutletContext]="{ menuItem: item, index: index }"> </ng-template>\n </ng-template>\n } @else {\n <span class="eui-menu--no-items">No menu items defined</span>\n }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item="menuItem" let-parent="parent" let-i="index">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf="item.filtered"\n [item]="item"\n [parent]="parent"\n [hasIcon]="hasIcons"\n [hasTooltip]="hasTooltip"\n [isCollapsed]="isCollapsed"\n [hasBoldRootLevel]="hasBoldRootLevel"\n [hasCollapsedInitials]="hasCollapsedInitials"\n (expandToggle)="onExpandToggle($event)"\n (itemClick)="onClick($event)">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf="item.children && item.expanded" class="eui-menu eui-menu-sub" role="menu" [attr.aria-label]="item.label" tabindex="-1">\n <ng-container *ngFor="let child of item.children; let childIndex = index">\n <ng-template [ngTemplateOutlet]="menuItemTemplateRef" [ngTemplateOutletContext]="{ menuItem: child, index: childIndex, parent: item }">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n', styles: ['.eui-menu{display:flex;flex-direction:column;gap:0;list-style:none;margin-block-start:0;margin-block-end:0;margin:0;padding:0;width:100%}.eui-menu:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu [tabindex="0"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item__link-start-block{gap:0}.eui-menu--collapsed .eui-menu-item__link-content-block,.eui-menu--collapsed .eui-menu-item__link-end-block{visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-dotted-badge{position:absolute;top:var(--eui-s-2xs);right:var(--eui-s-2xs);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-toggle{display:inherit;position:absolute;right:calc(-1 * var(--eui-s-xs));transform:scale(.75);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-initials{display:flex;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-s-xs);font:var(--eui-f-s-bold);justify-content:center;margin-left:calc(-1 * var(--eui-s-2xs));min-width:var(--eui-s-2xl)}.eui-menu--collapsed .eui-menu-item--expanded:first-child{border-bottom:none;padding-bottom:0}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link,.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-s)}.eui-menu--no-items{color:var(--eui-c-neutral-lighter);text-align:center}.eui-menu-filter{display:flex;padding:var(--eui-s-m);position:relative;width:100%}.eui-menu-item{display:flex;position:relative;width:100%;border:var(--eui-bw-xs) solid transparent}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item .eui-menu-item__content{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link{align-items:center;color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);padding:var(--eui-s-xs) var(--eui-s-2xs) calc(var(--eui-s-xs) - 2px) var(--eui-s-m);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link-start-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link-start-block:empty{display:none}.eui-menu-item__link-content-block{display:flex;flex-direction:column;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label{color:var(--eui-c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label-category{cursor:default;color:var(--eui-c-info-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-end-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link:hover:not(.eui-menu-item--disabled):not(.eui-menu-item__link-category){background-color:var(--eui-c-primary-bg);text-decoration:none}.eui-menu-item__link--disabled{opacity:var(--eui-o-50);pointer-events:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-c-primary-bg);font:var(--eui-f-m-bold)}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-c-primary)}.eui-menu-item--expanded{display:flex;flex-direction:column}.eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-3xl)}.eui-menu-item .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-xl);padding-bottom:var(--eui-s-2xs);padding-top:var(--eui-s-2xs);border-top:0}.eui-menu-item--bold>.eui-menu-item__content>.eui-menu-item__link{font:var(--eui-f-m-bold)}\n'], dependencies: [{ kind: "directive", type: i32.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i32.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i32.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i42.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i42.EuiIconInputComponent, selector: "eui-icon-input", inputs: ["euiIconPositionStart", "euiIconPositionEnd"] }, { kind: "component", type: i52.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "component", type: EuiMenuItemComponent, selector: "eui-menu-item", inputs: ["item", "parent", "hasIcon", "hasTooltip", "isCollapsed", "hasCollapsedInitials", "hasBoldRootLevel"], outputs: ["expandToggle", "itemClick"] }], encapsulation: i02.ViewEncapsulation.None });
1133
+ this.ɵcmp = i02.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: _EuiMenuComponent, selector: "eui-menu", inputs: { items: "items", searchFilterLabel: "searchFilterLabel", externalLinkLabel: "externalLinkLabel", fragmentId: "fragmentId", filterValue: "filterValue", isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute2], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute2], hasFilter: ["hasFilter", "hasFilter", booleanAttribute2], hasIcons: ["hasIcons", "hasIcons", booleanAttribute2], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute2], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute2], isFlat: ["isFlat", "isFlat", booleanAttribute2], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute2], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute2] }, outputs: { isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "focusableItems", predicate: EuiMenuItemComponent, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i22.BaseStatesDirective }], ngImport: i02, template: '@if (hasFilter && !isCollapsed) {\n <div class="eui-menu-filter" (click)="onMenuFilterClick($event)">\n <eui-icon-input>\n <eui-icon-svg icon="eui-ecl-search" fillColor="neutral-lighter" aria-label="Search Icon"></eui-icon-svg>\n <input\n euiInputText\n [euiClearable]="true"\n (input)="onFilter($event)"\n [placeholder]="searchFilterLabel"\n [attr.aria-label]="searchFilterLabel"\n [value]="filterValue" />\n </eui-icon-input>\n </div>\n}\n\n<ul euiList class="eui-menu" role="menubar" aria-orientation="vertical" tabindex="0" (keydown)="onKeydown($event)">\n @if (items) {\n <ng-template ngFor let-item let-index [ngForOf]="items">\n <ng-template [ngTemplateOutlet]="menuItemTemplateRef" [ngTemplateOutletContext]="{ menuItem: item, index: index }"> </ng-template>\n </ng-template>\n } @else {\n <span class="eui-menu--no-items">No menu items defined</span>\n }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item="menuItem" let-parent="parent" let-i="index">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf="item.filtered"\n [item]="item"\n [parent]="parent"\n [hasIcon]="hasIcons"\n [hasTooltip]="hasTooltip"\n [isCollapsed]="isCollapsed"\n [hasBoldRootLevel]="hasBoldRootLevel"\n [hasCollapsedInitials]="hasCollapsedInitials"\n (expandToggle)="onExpandToggle($event)"\n (itemClick)="onClick($event)">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf="item.children && item.expanded" class="eui-menu eui-menu-sub" role="menu" [attr.aria-label]="item.label" tabindex="-1">\n <ng-container *ngFor="let child of item.children; let childIndex = index">\n <ng-template [ngTemplateOutlet]="menuItemTemplateRef" [ngTemplateOutletContext]="{ menuItem: child, index: childIndex, parent: item }">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n', styles: ['.eui-menu{display:flex;flex-direction:column;gap:0;list-style:none;margin-block-start:0;margin-block-end:0;margin:0;padding:0;width:100%}.eui-menu:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu [tabindex="0"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item__link-start-block{gap:0}.eui-menu--collapsed .eui-menu-item__link-content-block,.eui-menu--collapsed .eui-menu-item__link-end-block{visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-dotted-badge{position:absolute;top:var(--eui-s-2xs);right:var(--eui-s-2xs);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-toggle{display:inherit;position:absolute;right:calc(-1 * var(--eui-s-xs));transform:scale(.75);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-initials{display:flex;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-s-xs);font:var(--eui-f-s-bold);justify-content:center;margin-left:calc(-1 * var(--eui-s-2xs));min-width:var(--eui-s-2xl)}.eui-menu--collapsed .eui-menu-item--expanded:first-child{border-bottom:none;padding-bottom:0}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link,.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-s)}.eui-menu--no-items{color:var(--eui-c-neutral-lighter);text-align:center}.eui-menu-filter{display:flex;padding:var(--eui-s-m);position:relative;width:100%}.eui-menu-item{display:flex;position:relative;width:100%;border:var(--eui-bw-xs) solid transparent}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item .eui-menu-item__content{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link{align-items:center;color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);padding:var(--eui-s-xs) var(--eui-s-2xs) calc(var(--eui-s-xs) - 2px) var(--eui-s-m);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link-start-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link-start-block:empty{display:none}.eui-menu-item__link-content-block{display:flex;flex-direction:column;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label{color:var(--eui-c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label-category{cursor:default;color:var(--eui-c-info-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-end-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link:hover:not(.eui-menu-item--disabled):not(.eui-menu-item__link-category){background-color:var(--eui-c-primary-bg);text-decoration:none}.eui-menu-item__link--disabled{opacity:var(--eui-o-50);pointer-events:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-c-primary-bg);font:var(--eui-f-m-bold)}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-c-primary)}.eui-menu-item--expanded{display:flex;flex-direction:column}.eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-3xl)}.eui-menu-item .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-xl);padding-bottom:var(--eui-s-2xs);padding-top:var(--eui-s-2xs);border-top:0}.eui-menu-item--bold>.eui-menu-item__content>.eui-menu-item__link{font:var(--eui-f-m-bold)}\n'], dependencies: [{ kind: "directive", type: i32.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i32.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i32.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i42.EuiIconInputComponent, selector: "eui-icon-input", inputs: ["euiIconPositionStart", "euiIconPositionEnd"] }, { kind: "component", type: i52.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i62.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "component", type: EuiMenuItemComponent, selector: "eui-menu-item", inputs: ["item", "parent", "hasIcon", "hasTooltip", "isCollapsed", "hasCollapsedInitials", "hasBoldRootLevel"], outputs: ["expandToggle", "itemClick"] }], encapsulation: i02.ViewEncapsulation.None });
1133
1134
  }
1134
1135
  };
1135
1136
  i02.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i02, type: EuiMenuComponent, decorators: [{
@@ -1196,6 +1197,7 @@ import { CommonModule } from "@angular/common";
1196
1197
  import { RouterModule } from "@angular/router";
1197
1198
  import { NgModule } from "@angular/core";
1198
1199
  import { EuiIconModule } from "@eui/components/eui-icon";
1200
+ import { EuiIconInputModule } from "@eui/components/eui-icon-input";
1199
1201
  import { EuiChipModule } from "@eui/components/eui-chip";
1200
1202
  import { EuiButtonModule } from "@eui/components/eui-button";
1201
1203
  import { EuiInputTextModule } from "@eui/components/eui-input-text";
@@ -1210,6 +1212,7 @@ var EuiMenuModule = class _EuiMenuModule {
1210
1212
  this.ɵmod = i03.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.1", ngImport: i03, type: _EuiMenuModule, declarations: [EuiMenuComponent, EuiMenuItemComponent], imports: [
1211
1213
  CommonModule,
1212
1214
  RouterModule,
1215
+ EuiIconInputModule,
1213
1216
  EuiIconModule,
1214
1217
  EuiChipModule,
1215
1218
  EuiButtonModule,
@@ -1222,6 +1225,7 @@ var EuiMenuModule = class _EuiMenuModule {
1222
1225
  this.ɵinj = i03.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i03, type: _EuiMenuModule, imports: [
1223
1226
  CommonModule,
1224
1227
  RouterModule,
1228
+ EuiIconInputModule,
1225
1229
  EuiIconModule,
1226
1230
  EuiChipModule,
1227
1231
  EuiButtonModule,
@@ -1237,6 +1241,7 @@ i03.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", n
1237
1241
  imports: [
1238
1242
  CommonModule,
1239
1243
  RouterModule,
1244
+ EuiIconInputModule,
1240
1245
  EuiIconModule,
1241
1246
  EuiChipModule,
1242
1247
  EuiButtonModule,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../eui-menu/eui-menu-item.component.ts", "../../eui-menu/eui-menu-item.component.html", "../../eui-menu/eui-menu.component.ts", "../../eui-menu/eui-menu.component.html", "../../eui-menu/eui-menu.module.ts"],
4
- "sourcesContent": ["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n HostListener,\n OnInit,\n booleanAttribute,\n ElementRef,\n} from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiMenuItem } from '@eui/base';\n\n@Component({\n selector: 'eui-menu-item',\n templateUrl: './eui-menu-item.component.html',\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n },\n ],\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuItemComponent implements OnInit, FocusableOption {\n\n @HostBinding('attr.role') role = 'menuitem';\n @HostBinding('attr.aria-label') ariaLabel = '';\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-menu-item'),\n !this.parent && this.hasBoldRootLevel ? 'eui-menu-item--bold' : '',\n ].join(' ').trim();\n }\n @HostBinding('attr.tabindex') tabindex = '-1';\n @HostBinding('attr.aria-haspopup')\n get ariaHasPopup(): boolean {\n return this.item?.children?.length > 0? true : undefined;\n }\n @HostBinding('attr.aria-expanded')\n get ariaExpanded(): boolean {\n if(this.item.children) {\n return this.item.expanded ? true : false;\n } else {\n return undefined;\n }\n }\n @HostBinding('attr.aria-disabled')\n get ariaDisabled(): boolean {\n return this.item.disabled\n }\n\n @Input() item: EuiMenuItem;\n @Input() parent: EuiMenuItem;\n @Output() expandToggle = new EventEmitter<EuiMenuItem>();\n @Output() itemClick = new EventEmitter<EuiMenuItem>();\n\n expandMenuLabel = 'Expand';\n collapseMenuLabel = 'Collapse';\n\n isUrlItem = false;\n isLinkItem = false;\n isLabelItem = false;\n isActionIconFocused = false;\n\n @Input({ transform: booleanAttribute }) hasIcon = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) hasBoldRootLevel = false;\n\n constructor(public baseStatesDirective: BaseStatesDirective, private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.isUrlItem = (this.item.url || this.item.urlExternal || this.item.children || this.item.command) && !this.item.link;\n this.isLabelItem = !this.item.url && !this.item.urlExternal && !this.item.command && !this.item.children && !this.item.link;\n\n this.isLinkItem = !this.isUrlItem && !this.isLabelItem;\n this.ariaLabel = this.getAriaLabel();\n }\n\n @HostListener('click', ['$event'])\n public stopPropagation(event: Event): void {\n this.itemClick.emit(this.item);\n consumeEvent(event);\n }\n\n get menuItemTooltip(): string {\n if (this.hasTooltip && this.isCollapsed) {\n if (this.item.tooltip) {\n return this.item.tooltip;\n } else {\n return this.getTooltipFromItem(this.item);\n }\n } else {\n return null;\n }\n }\n\n public onClick(event: Event): void {\n this.itemClick.emit(this.item);\n this.focus();\n consumeEvent(event);\n }\n\n public onExpandToggle(event: Event): void {\n this.expandToggle.emit(this.item);\n consumeEvent(event);\n }\n\n public onActionIconClick(event: MouseEvent): void {\n this.item.actionIcon?.action(event);\n consumeEvent(event);\n }\n\n onActionIconKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n this.item.actionIcon?.action(event);\n consumeEvent(event);\n }\n }\n\n public focusActionIcon(): void {\n this.elementRef.nativeElement.querySelector('.eui-menu-item__link-action-icon').focus();\n this.isActionIconFocused = true;\n }\n\n onActionIconFocusOut(): void {\n this.isActionIconFocused = false;\n }\n\n public focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n private getTooltipFromItem(item: EuiMenuItem): string {\n if (item.tagLabel && item.label) {\n return item.label + ' (' + item.tagLabel + ')';\n } else if (item.label) {\n return item.label;\n } else if (item.tagLabel) {\n return item.tagLabel;\n }\n return null;\n }\n\n private getAriaLabel(): string {\n if (this.item.label) {\n return this.item.label;\n } else if (this.item.tagLabel) {\n return this.item.tagLabel;\n } else if (this.item.actionIcon && this.item.actionIcon.label) {\n return this.item.actionIcon.label;\n } else if (this.item.iconLabel) {\n return this.item.iconLabel;\n }\n return 'Eui menu item';\n }\n\n /**\n * Returns the default eui-menu-item class on the HostBinding function\n * @private\n */\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-menu-item'),\n // this.isLabelLowercase ? 'eui-menu-item--lowercase': '',\n ].join(' ').trim();\n }\n}\n", "@if (item.visible && item.filtered) {\n @if (isLabelItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n class=\"eui-menu-item__content\"\n [attr.data-e2e]=\"item.e2eAttr\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [euiTooltip]=\"menuItemTooltip\"\n tabindex=\"-1\"\n position=\"after\">\n\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link eui-menu-item__link-category\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n\n <div class=\"eui-menu-item__link-start-block\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n\n <div class=\"eui-menu-item__link-content-block\">\n <div class=\"eui-menu-item__link-label-container\">\n <span class=\"eui-menu-item__link-label-category\">{{ item.label }}</span>\n </div>\n </div>\n\n <div class=\"eui-menu-item__link-end-block\">\n <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n </a>\n </li>\n }\n\n @if (isUrlItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item__content\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item--expanded]=\"item.expanded\"\n [attr.aria-disabled]=\"item.disabled\">\n <a\n (click)=\"onClick($event)\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n [routerLink]=\"item.url ? item.url : null\"\n [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\"\n tabindex=\"-1\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n </li>\n }\n\n @if (isLinkItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item__content\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item--expanded]=\"item.expanded\"\n [attr.aria-disabled]=\"item.disabled\">\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n </li>\n }\n}\n\n<ng-template #linkContent>\n <div class=\"eui-menu-item__link-start-block\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n\n <div class=\"eui-menu-item__link-content-block\">\n <div class=\"eui-menu-item__link-label-container\">\n <span class=\"eui-menu-item__link-label\">{{ item.label }}</span>\n <eui-icon-svg\n *ngIf=\"item.urlExternal && item.urlExternalTarget === '_blank'\"\n class=\"eui-menu-item__label-external\"\n icon=\"eui-ecl-external\"\n size=\"2xs\"\n aria-label=\"external link icon\"\n euiEnd>\n </eui-icon-svg>\n </div>\n </div>\n\n <div class=\"eui-menu-item__link-end-block\">\n <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n</ng-template>\n\n<!-- PROJECTED CONTENT BLOCK -->\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<!-- PROJECTED START BLOCK -->\n<ng-template #itemIconContent>\n @if (!isCollapsed) {\n\n @if (hasIcon) {\n\n @if (item.iconSvgName) {\n <!-- SVG -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n } @else if (item.hasMarker) {\n <!-- MARKER -->\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n }\n @else if (!isLabelItem) {\n <!-- DEFAULT for non category items -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"xs\">\n </eui-icon-svg>\n }\n } @else if (item.hasMarker) {\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n }\n\n } @else {\n @if (hasCollapsedInitials) {\n <span class=\"eui-menu-item__link-initials eui-u-c-bg-{{item.iconTypeClass}}\">\n {{ item.initials }}\n </span>\n } @else {\n @if (hasIcon) {\n @if (item.iconSvgName && !item.iconClass) {\n <!-- SVG -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n } @else if (item.iconClass && !item.iconSvgName) {\n <!-- WEBFONT -->\n <span class=\"eui-menu-item__link-icon eui-icon {{item.iconClass}}\" [attr.aria-label]=\"item.iconLabel\"></span>\n\n } @else if (item.hasMarker) {\n <!-- MARKER -->\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"s\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n } @else {\n <!-- DEFAULT -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"s\"\n [aria-label]=\"item.iconLabel\">\n </eui-icon-svg>\n }\n } @else {\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"s\">\n </eui-icon-svg>\n }\n }\n }\n</ng-template>\n\n<!-- PROJECTED END BLOCK -->\n<ng-template #itemEndContent>\n @if (item.tagLabel) {\n @if (isCollapsed) {\n <eui-badge [euiVariant]=\"item.tagTypeClass\" class=\"eui-menu-item__link-dotted-badge\"></eui-badge>\n } @else {\n <eui-badge [euiVariant]=\"item.tagTypeClass\">\n {{ item.tagLabel }}\n </eui-badge>\n }\n }\n\n <button\n *ngIf=\"item.actionIcon\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n type=\"button\"\n tabindex=\"-1\"\n (keydown)=\"onActionIconKeyDown($event)\"\n (focusout)=\"onActionIconFocusOut()\"\n (focus)=\"focusActionIcon()\"\n class=\"eui-menu-item__link-action-icon\"\n [euiDisabled]=\"item.disabled\"\n [attr.aria-label]=\"item.actionIcon?.label\"\n (click)=\"onActionIconClick($event)\">\n <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n </button>\n\n <button\n *ngIf=\"item.children?.length > 0\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n euiSecondary\n type=\"button\"\n [euiDisabled]=\"item.disabled\"\n class=\"eui-menu-item__link-toggle\"\n tabindex=\"-1\"\n [attr.aria-label]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n (click)=\"onExpandToggle($event)\">\n <eui-icon-svg *ngIf=\"item.expanded\" icon=\"chevron-up:sharp\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!item.expanded\" icon=\"chevron-down:sharp\"></eui-icon-svg>\n </button>\n</ng-template>\n", "import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n HostListener,\n booleanAttribute,\n OnDestroy,\n AfterViewInit,\n ViewChildren,\n QueryList,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subscription } from 'rxjs';\nimport * as uuid from 'uuid';\n\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiMenuItem } from '@eui/base';\n@Component({\n selector: 'eui-menu',\n templateUrl: './eui-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @ViewChildren(EuiMenuItemComponent) focusableItems: QueryList<EuiMenuItemComponent>;\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [this.baseStatesDirective.getCssClasses('eui-menu'),\n this.isCollapsed ? 'eui-menu--collapsed' : '',\n !this.hasIcons ? 'eui-menu--no-icons' : '',\n this.isFlat ? 'eui-menu--flat': '',\n ].join(' ').trim();\n }\n\n @Input() items: EuiMenuItem[];\n @Input() searchFilterLabel: string;\n @Input() externalLinkLabel: string;\n @Input() fragmentId: string;\n @Input() filterValue = '';\n\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) hasFilter = false;\n @Input({ transform: booleanAttribute }) hasIcons = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n @Input({ transform: booleanAttribute }) expandAllItems = false;\n @Input({ transform: booleanAttribute }) isFlat = false;\n @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n @Input({ transform: booleanAttribute }) hasBoldRootLevel = false;\n\n @Output() isClick: EventEmitter<boolean> = new EventEmitter();\n @Output() itemClick: EventEmitter<EuiMenuItem> = new EventEmitter<EuiMenuItem>();\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemsState: any[];\n private subscription: Subscription;\n private focusKeyManager: FocusKeyManager<EuiMenuItemComponent>;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n public baseStatesDirective: BaseStatesDirective,\n private cd: ChangeDetectorRef,\n ) {}\n\n @HostListener('click', ['$event'])\n stopPropagation(event: Event): void {\n event.stopPropagation();\n }\n\n onKeydown(event: KeyboardEvent): void {\n // finds first child when ArrowDown\n const firstChild = this.focusKeyManager.activeItem?.item.children? this.findFirstFilteredItem(this.focusKeyManager.activeItem?.item.children) : undefined;\n const firstFocusableItem = this.findFocusableItem(firstChild);\n // finds the parent element\n const parent = this.focusKeyManager.activeItem?.item.parent;\n const parentFocusableItem = this.findFocusableItem(parent);\n switch (event.key) {\n case 'Enter': {\n if (\n (this.focusKeyManager.activeItem.isLinkItem || this.focusKeyManager.activeItem.isUrlItem) &&\n !this.focusKeyManager.activeItem.disabled\n ) {\n this.focusKeyManager.activeItem.onClick(event);\n event.preventDefault();\n }\n break;\n }\n case 'ArrowRight': {\n if(this.focusKeyManager.activeItem?.item.actionIcon){\n this.checkActionIconFocusState();\n break;\n } else {\n if (!this.focusKeyManager.activeItem?.item.expanded) {\n this.focusKeyManager.activeItem?.onExpandToggle(event);\n this.cd.detectChanges();\n }\n break;\n }\n }\n case 'ArrowLeft': {\n if(this.focusKeyManager.activeItem?.item.actionIcon){\n this.checkActionIconFocusState();\n break;\n } else {\n if (this.focusKeyManager.activeItem?.item.expanded) {\n this.focusKeyManager.activeItem.onExpandToggle(event);\n this.cd.detectChanges();\n event.preventDefault();\n }\n break;\n }\n }\n case 'ArrowDown': {\n event.preventDefault();\n if (this.focusKeyManager.activeItem?.item.children && this.focusKeyManager.activeItem?.item.expanded) {\n //focuses first child\n firstFocusableItem?.focus();\n this.focusKeyManager.updateActiveItem(firstFocusableItem);\n } else if (parent) {\n // finds last filtered child when ArrowDown and navigating within submenu\n const filteredChildren = this.findFilteredItems(parent.children);\n const lastChildIndex = (filteredChildren?.length) - 1;\n const lastChild = filteredChildren[lastChildIndex];\n const lastFocusableItem = this.findFocusableItem(lastChild);\n // if the active item is the last child, puts the focus on the next parent\n if(this.focusKeyManager.activeItem === lastFocusableItem){\n this.focusKeyManager.updateActiveItem(parentFocusableItem);\n this.focusKeyManager.setNextItemActive();\n } else {\n this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex +1);\n }\n } else {\n // skips remaining childen in the query list when there is expanded node\n this.focusKeyManager.skipPredicate(menuItem => menuItem.parent != undefined || menuItem.item.visible === false);\n this.focusKeyManager.onKeydown(event);\n }\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n if (parent) {\n // finds first filtered child when ArrowUp\n const filteredChildren = this.findFilteredItems(parent.children);\n const firstChildUp = filteredChildren['0']\n const firstFocusableItemUp = this.findFocusableItem(firstChildUp);\n // when navigating up on a submenu focuses the parent if the active item is the first child\n if(this.focusKeyManager.activeItem === firstFocusableItemUp){\n this.focusKeyManager.setActiveItem(parentFocusableItem);\n } else {\n this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex -1);\n }\n } else {\n this.focusKeyManager.onKeydown(event);\n // when navigating up from a parent element to an expanded submenu, finds the last child and focuses it\n if(this.focusKeyManager.activeItem?.item.children && this.focusKeyManager.activeItem?.item.expanded){\n const filteredChildren = this.findFilteredItems(this.focusKeyManager.activeItem?.item.children);\n const lastChildIndexUp = (filteredChildren.length) - 1;\n const lastFocusableItemUp =this.findFocusableItem(filteredChildren[lastChildIndexUp]);\n this.focusKeyManager.setActiveItem(lastFocusableItemUp);\n }\n }\n break;\n }\n default: {\n this.focusKeyManager.onKeydown(event);\n break;\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.items) {\n this.items = this.configureItems(this.items);\n // get current url\n const currentUrl = this.router.url;\n // find an item that matches the current url or the most relevant one\n const item = this.findMostRelevantItem(currentUrl, this.items);\n // expand to that item\n if (item) {\n this.expandToGivenItem(item);\n }\n }\n\n // Expand / Collapse All items\n if (changes.expandAllItems) {\n this.items = this.setExpandedToAllItems(coerceBooleanProperty(changes.expandAllItems.currentValue), this.items);\n }\n\n if (changes.filterValue && this.hasFilter) {\n this.onFilter(changes.filterValue.currentValue ?? '');\n }\n\n // Refresh when interactive collapsed to initials\n if (changes.hasCollapsedInitials) {\n this.hasCollapsedInitials = changes.hasCollapsedInitials.currentValue;\n this.items = this.configureItems(this.items);\n }\n }\n\n ngOnInit(): void {\n // Labels default values - TODO : translations\n if (!this.searchFilterLabel) {\n this.searchFilterLabel = 'Search filter';\n }\n\n const elementIsVisibleInViewport = (el, partiallyVisible = false): boolean => {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return partiallyVisible\n ? ((top > 0 && top < innerHeight) ||\n (bottom > 0 && bottom < innerHeight)) &&\n ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n };\n\n // subscription to routes url changes for activating the scrollIntoView (optional)\n if (this.hasScrollToItem) {\n const item = this.findMostRelevantItem(this.router.url, this.items);\n if (item) {\n setTimeout(_ => {\n const element = document.getElementById(item.id);\n if (!elementIsVisibleInViewport(element)) {\n element.scrollIntoView({ behavior: 'smooth' });\n }\n }, 1);\n }\n }\n }\n\n ngAfterViewInit(): void {\n // instantiates FocusKeyManager with the query list of items enabling wrapping\n this.focusKeyManager = new FocusKeyManager(this.focusableItems).withWrap();\n }\n\n ngOnDestroy():void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public onClick(item: EuiMenuItem): void {\n if (!item.disabled) {\n if (item.urlExternal) {\n window.open(item.urlExternal, item.urlExternalTarget);\n } else if (item.url) {\n this.router.navigate([item.url], { relativeTo: this.route, fragment: this.fragmentId });\n } else {\n if (typeof item.command === 'function') {\n item.command();\n } else {\n this.onExpandToggle(item);\n }\n }\n\n if (item.link) {\n this.items = this.items?.map((it) => {\n it.active = false;\n if (it.id === item.id) {\n it.active = true;\n }\n return it;\n });\n }\n }\n\n this.isClick.emit(true);\n this.itemClick.emit(item);\n\n const focusedItem = this.findFocusableItem(item);\n this.focusKeyManager.updateActiveItem(focusedItem);\n }\n\n public onExpandToggle(item: EuiMenuItem): void {\n if (item.children) {\n this.onExpandToggled(item, this.items);\n // TODO: investigate why the above is needed. Can it be simply \"item.expanded = !item.expanded;\" ?\n }\n }\n\n public onMenuFilterClick(event: MouseEvent): void {\n consumeEvent(event);\n }\n\n public onFilter(event: Event)\n public onFilter(value: string)\n public onFilter(eventOrValue: Event | string): void {\n const value = eventOrValue instanceof Event\n ? (eventOrValue.target as HTMLInputElement).value\n : eventOrValue;\n this._onToggleExpandAllItems(value ? true : false);\n\n this.items = this.filterMenuItems(this.items, value);\n }\n\n private _onToggleExpandAllItems(state: boolean): void {\n this.items = this.setExpandedToAllItems(state, this.items);\n }\n\n /**\n * finds the EuiMenuItemComponent in the queried focusableItems[] that matches the passed EuiMenuItem object\n *\n * @param menuItem an EuiMenuItem\n * @private\n */\n private findFocusableItem(menuItem: EuiMenuItem ): EuiMenuItemComponent {\n return this.focusableItems.find(\n (focusableItem) => focusableItem.item.label === menuItem?.label && focusableItem.item.id === menuItem.id,\n );\n }\n\n /**\n * finds the first item that is filtered\n *\n * @param menuItems an array of EuiMenuItem\n * @private\n */\n private findFirstFilteredItem(menuItems: EuiMenuItem []): EuiMenuItem {\n return menuItems.find((item) => item.filtered);\n }\n\n /**\n * finds all filtered menu items\n *\n * @param menuItems an array of EuiMenuItem\n * @private\n */\n private findFilteredItems(menuItems: EuiMenuItem []): EuiMenuItem [] {\n return menuItems.filter((items) => items.filtered);\n }\n\n /**\n * checks the focus state of the action icon\n *\n * @private\n */\n private checkActionIconFocusState(): void {\n // check if the action icon is focused and if not focus it, otherwise focus the active item\n !this.focusKeyManager.activeItem.isActionIconFocused ? this.focusKeyManager.activeItem.focusActionIcon() : this.focusKeyManager.activeItem.focus();\n }\n\n /**\n * filter all menu items given a value\n *\n * @param menuItems an array of menu items\n * @param filterValue the value to filter menu items\n * @private\n */\n private filterMenuItems(menuItems: EuiMenuItem[], filterValue: string): EuiMenuItem[] {\n return menuItems?.map((item: EuiMenuItem) => {\n const found = item.label.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\n if (item.children) {\n item.children = this.filterMenuItems(item.children, filterValue);\n item.filtered = item.children.filter((l) => l['filtered'] === true).length > 0;\n } else if (found) {\n item.filtered = found;\n } else {\n item.filtered = false;\n }\n return item;\n });\n }\n\n /**\n * expand / collapse all items\n *\n * @param isExpanded\n * @param items\n * @private\n */\n private setExpandedToAllItems(isExpanded, items: EuiMenuItem[]): EuiMenuItem[] {\n return items?.map((item) => {\n if (item.children) {\n item.expanded = isExpanded;\n item.children = this.setExpandedToAllItems(isExpanded, item.children);\n }\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible });\n });\n }\n\n /**\n * expand / collapse a menu item\n *\n * @param item The item where the \"expand\" had been toggled\n * @param items The items list (used for recursion)\n * @private\n */\n private onExpandToggled(item: EuiMenuItem, items: EuiMenuItem[]): void {\n const itemIdx = items?.indexOf(item);\n if (itemIdx > -1) {\n items[itemIdx].expanded = !items[itemIdx].expanded;\n } else {\n items.forEach((i) => {\n if (i.children) {\n this.onExpandToggled(item, i.children);\n }\n });\n }\n }\n\n /**\n * configure an array of items with visible, filtered and expand (in case of expandAllItems flag enabled) properties\n *\n * @param items An array of EuiMenuItem\n * @param parent the parent item of items if exists\n * @private\n */\n private configureItems(items: EuiMenuItem[], parent?: EuiMenuItem): EuiMenuItem[] {\n return items?.map((item) => {\n // recursion in case there are children\n if (item.children) {\n item.children = this.configureItems(item.children, item);\n // expand all parents with children\n if (this.expandAllItems) {\n item.expanded = true;\n }\n }\n // point to the parent\n if (parent) {\n item.parent = parent;\n }\n\n if (!item.id && this.hasScrollToItem) {\n item.id = uuid.v4();\n }\n\n if (item.label && this.hasCollapsedInitials) {\n const words = item.label.split(' ');\n if (words.length === 1) {\n item.initials = `${item.label.substring(0, 1)}${item.label.substring(1, 1)}`;\n\n } else {\n item.initials = `${words[0].substring(0, 1)}${words[1].substring(0, 1)}`;\n }\n }\n\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible, filtered: true });\n });\n }\n\n /**\n * Given a URL and a list of items, it will expand the item that matches the URL. If not item matches exactly the url, then it will\n * match the item that is most relevant to that url.\n *\n * @param items\n * @param value\n * @private\n */\n private findMostRelevantItem(url: string, items: EuiMenuItem[], relevantItem?: EuiMenuItem): EuiMenuItem {\n if (!items) {\n return null;\n }\n\n items.forEach((item) => {\n if (item.url && url.indexOf(item.url.substr(1)) > -1) {\n relevantItem = this.getMostRelevantItem(url, relevantItem, item);\n }\n\n if (item.children) {\n relevantItem = this.findMostRelevantItem(url, item.children, relevantItem);\n }\n });\n\n return relevantItem;\n }\n\n /**\n * Given two items with url return the one with the most relevant url that matches given url\n *\n * @param url A URL to be matched with the one of given items\n * @param item1\n * @param item2\n * @private\n */\n private getMostRelevantItem(url: string, item1: EuiMenuItem, item2: EuiMenuItem): EuiMenuItem {\n const remainder1 = url.replace(item1?.url || '', '');\n const remainder2 = url.replace(item2?.url || '', '');\n\n return remainder1.length < remainder2.length ? item1 : item2;\n }\n\n /**\n * Given an item, if there's a parent expand it until you reach the root item\n *\n * @param item Given menu item\n * @private\n */\n private expandToGivenItem(item: EuiMenuItem): void {\n if (item.parent) {\n setTimeout(() => (item.parent.expanded = true));\n this.expandToGivenItem(item.parent);\n }\n }\n}\n", "@if (hasFilter && !isCollapsed) {\n <div class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n </eui-icon-input>\n </div>\n}\n\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n @if (items) {\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n } @else {\n <span class=\"eui-menu--no-items\">No menu items defined</span>\n }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [parent]=\"parent\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", "import { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiMenuComponent } from './eui-menu.component';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\nimport { EuiBadgeModule } from '@eui/components/eui-badge';\n\n@NgModule({\n imports: [\n CommonModule, RouterModule,\n EuiIconModule, EuiChipModule, EuiButtonModule, EuiInputTextModule, EuiTooltipDirectiveModule, EuiBadgeModule,\n ],\n declarations: [EuiMenuComponent, EuiMenuItemComponent],\n exports: [EuiMenuComponent],\n})\nexport class EuiMenuModule {}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n HostListener,\n OnInit,\n booleanAttribute,\n ElementRef,\n} from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiMenuItem } from '@eui/base';\n\n@Component({\n selector: 'eui-menu-item',\n templateUrl: './eui-menu-item.component.html',\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n },\n ],\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuItemComponent implements OnInit, FocusableOption {\n\n @HostBinding('attr.role') role = 'menuitem';\n @HostBinding('attr.aria-label') ariaLabel = '';\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-menu-item'),\n !this.parent && this.hasBoldRootLevel ? 'eui-menu-item--bold' : '',\n ].join(' ').trim();\n }\n @HostBinding('attr.tabindex') tabindex = '-1';\n @HostBinding('attr.aria-haspopup')\n get ariaHasPopup(): boolean {\n return this.item?.children?.length > 0? true : undefined;\n }\n @HostBinding('attr.aria-expanded')\n get ariaExpanded(): boolean {\n if(this.item.children) {\n return this.item.expanded ? true : false;\n } else {\n return undefined;\n }\n }\n @HostBinding('attr.aria-disabled')\n get ariaDisabled(): boolean {\n return this.item.disabled\n }\n\n @Input() item: EuiMenuItem;\n @Input() parent: EuiMenuItem;\n @Output() expandToggle = new EventEmitter<EuiMenuItem>();\n @Output() itemClick = new EventEmitter<EuiMenuItem>();\n\n expandMenuLabel = 'Expand';\n collapseMenuLabel = 'Collapse';\n\n isUrlItem = false;\n isLinkItem = false;\n isLabelItem = false;\n isActionIconFocused = false;\n\n @Input({ transform: booleanAttribute }) hasIcon = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) hasBoldRootLevel = false;\n\n constructor(public baseStatesDirective: BaseStatesDirective, private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.isUrlItem = (this.item.url || this.item.urlExternal || this.item.children || this.item.command) && !this.item.link;\n this.isLabelItem = !this.item.url && !this.item.urlExternal && !this.item.command && !this.item.children && !this.item.link;\n\n this.isLinkItem = !this.isUrlItem && !this.isLabelItem;\n this.ariaLabel = this.getAriaLabel();\n }\n\n @HostListener('click', ['$event'])\n public stopPropagation(event: Event): void {\n this.itemClick.emit(this.item);\n consumeEvent(event);\n }\n\n get menuItemTooltip(): string {\n if (this.hasTooltip && this.isCollapsed) {\n if (this.item.tooltip) {\n return this.item.tooltip;\n } else {\n return this.getTooltipFromItem(this.item);\n }\n } else {\n return null;\n }\n }\n\n public onClick(event: Event): void {\n this.itemClick.emit(this.item);\n this.focus();\n consumeEvent(event);\n }\n\n public onExpandToggle(event: Event): void {\n this.expandToggle.emit(this.item);\n consumeEvent(event);\n }\n\n public onActionIconClick(event: MouseEvent): void {\n this.item.actionIcon?.action(event);\n consumeEvent(event);\n }\n\n onActionIconKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n this.item.actionIcon?.action(event);\n consumeEvent(event);\n }\n }\n\n public focusActionIcon(): void {\n this.elementRef.nativeElement.querySelector('.eui-menu-item__link-action-icon').focus();\n this.isActionIconFocused = true;\n }\n\n onActionIconFocusOut(): void {\n this.isActionIconFocused = false;\n }\n\n public focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n private getTooltipFromItem(item: EuiMenuItem): string {\n if (item.tagLabel && item.label) {\n return item.label + ' (' + item.tagLabel + ')';\n } else if (item.label) {\n return item.label;\n } else if (item.tagLabel) {\n return item.tagLabel;\n }\n return null;\n }\n\n private getAriaLabel(): string {\n if (this.item.label) {\n return this.item.label;\n } else if (this.item.tagLabel) {\n return this.item.tagLabel;\n } else if (this.item.actionIcon && this.item.actionIcon.label) {\n return this.item.actionIcon.label;\n } else if (this.item.iconLabel) {\n return this.item.iconLabel;\n }\n return 'Eui menu item';\n }\n\n /**\n * Returns the default eui-menu-item class on the HostBinding function\n * @private\n */\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-menu-item'),\n // this.isLabelLowercase ? 'eui-menu-item--lowercase': '',\n ].join(' ').trim();\n }\n}\n", "@if (item.visible && item.filtered) {\n @if (isLabelItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n class=\"eui-menu-item__content\"\n [attr.data-e2e]=\"item.e2eAttr\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [euiTooltip]=\"menuItemTooltip\"\n tabindex=\"-1\"\n position=\"after\">\n\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link eui-menu-item__link-category\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n\n <div class=\"eui-menu-item__link-start-block\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n\n <div class=\"eui-menu-item__link-content-block\">\n <div class=\"eui-menu-item__link-label-container\">\n <span class=\"eui-menu-item__link-label-category\">{{ item.label }}</span>\n </div>\n </div>\n\n <div class=\"eui-menu-item__link-end-block\">\n <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n </a>\n </li>\n }\n\n @if (isUrlItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item__content\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item--expanded]=\"item.expanded\"\n [attr.aria-disabled]=\"item.disabled\">\n <a\n (click)=\"onClick($event)\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n [routerLink]=\"item.url ? item.url : null\"\n [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\"\n tabindex=\"-1\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n </li>\n }\n\n @if (isLinkItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item__content\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item--expanded]=\"item.expanded\"\n [attr.aria-disabled]=\"item.disabled\">\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n </li>\n }\n}\n\n<ng-template #linkContent>\n <div class=\"eui-menu-item__link-start-block\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n\n <div class=\"eui-menu-item__link-content-block\">\n <div class=\"eui-menu-item__link-label-container\">\n <span class=\"eui-menu-item__link-label\">{{ item.label }}</span>\n <eui-icon-svg\n *ngIf=\"item.urlExternal && item.urlExternalTarget === '_blank'\"\n class=\"eui-menu-item__label-external\"\n icon=\"eui-ecl-external\"\n size=\"2xs\"\n aria-label=\"external link icon\"\n euiEnd>\n </eui-icon-svg>\n </div>\n </div>\n\n <div class=\"eui-menu-item__link-end-block\">\n <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n</ng-template>\n\n<!-- PROJECTED CONTENT BLOCK -->\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<!-- PROJECTED START BLOCK -->\n<ng-template #itemIconContent>\n @if (!isCollapsed) {\n\n @if (hasIcon) {\n\n @if (item.iconSvgName) {\n <!-- SVG -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n } @else if (item.hasMarker) {\n <!-- MARKER -->\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n }\n @else if (!isLabelItem) {\n <!-- DEFAULT for non category items -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"xs\">\n </eui-icon-svg>\n }\n } @else if (item.hasMarker) {\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n }\n\n } @else {\n @if (hasCollapsedInitials) {\n <span class=\"eui-menu-item__link-initials eui-u-c-bg-{{item.iconTypeClass}}\">\n {{ item.initials }}\n </span>\n } @else {\n @if (hasIcon) {\n @if (item.iconSvgName && !item.iconClass) {\n <!-- SVG -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n } @else if (item.iconClass && !item.iconSvgName) {\n <!-- WEBFONT -->\n <span class=\"eui-menu-item__link-icon eui-icon {{item.iconClass}}\" [attr.aria-label]=\"item.iconLabel\"></span>\n\n } @else if (item.hasMarker) {\n <!-- MARKER -->\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"s\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n } @else {\n <!-- DEFAULT -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"s\"\n [aria-label]=\"item.iconLabel\">\n </eui-icon-svg>\n }\n } @else {\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"s\">\n </eui-icon-svg>\n }\n }\n }\n</ng-template>\n\n<!-- PROJECTED END BLOCK -->\n<ng-template #itemEndContent>\n @if (item.tagLabel) {\n @if (isCollapsed) {\n <eui-badge [euiVariant]=\"item.tagTypeClass\" class=\"eui-menu-item__link-dotted-badge\"></eui-badge>\n } @else {\n <eui-badge [euiVariant]=\"item.tagTypeClass\">\n {{ item.tagLabel }}\n </eui-badge>\n }\n }\n\n <button\n *ngIf=\"item.actionIcon\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n type=\"button\"\n tabindex=\"-1\"\n (keydown)=\"onActionIconKeyDown($event)\"\n (focusout)=\"onActionIconFocusOut()\"\n (focus)=\"focusActionIcon()\"\n class=\"eui-menu-item__link-action-icon\"\n [euiDisabled]=\"item.disabled\"\n [attr.aria-label]=\"item.actionIcon?.label\"\n (click)=\"onActionIconClick($event)\">\n <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n </button>\n\n <button\n *ngIf=\"item.children?.length > 0\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n euiSecondary\n type=\"button\"\n [euiDisabled]=\"item.disabled\"\n class=\"eui-menu-item__link-toggle\"\n tabindex=\"-1\"\n [attr.aria-label]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n (click)=\"onExpandToggle($event)\">\n <eui-icon-svg *ngIf=\"item.expanded\" icon=\"chevron-up:sharp\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!item.expanded\" icon=\"chevron-down:sharp\"></eui-icon-svg>\n </button>\n</ng-template>\n", "import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n HostListener,\n booleanAttribute,\n OnDestroy,\n AfterViewInit,\n ViewChildren,\n QueryList,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subscription } from 'rxjs';\nimport * as uuid from 'uuid';\n\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiMenuItem } from '@eui/base';\n@Component({\n selector: 'eui-menu',\n templateUrl: './eui-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @ViewChildren(EuiMenuItemComponent) focusableItems: QueryList<EuiMenuItemComponent>;\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [this.baseStatesDirective.getCssClasses('eui-menu'),\n this.isCollapsed ? 'eui-menu--collapsed' : '',\n !this.hasIcons ? 'eui-menu--no-icons' : '',\n this.isFlat ? 'eui-menu--flat': '',\n ].join(' ').trim();\n }\n\n @Input() items: EuiMenuItem[];\n @Input() searchFilterLabel: string;\n @Input() externalLinkLabel: string;\n @Input() fragmentId: string;\n @Input() filterValue = '';\n\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) hasFilter = false;\n @Input({ transform: booleanAttribute }) hasIcons = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n @Input({ transform: booleanAttribute }) expandAllItems = false;\n @Input({ transform: booleanAttribute }) isFlat = false;\n @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n @Input({ transform: booleanAttribute }) hasBoldRootLevel = false;\n\n @Output() isClick: EventEmitter<boolean> = new EventEmitter();\n @Output() itemClick: EventEmitter<EuiMenuItem> = new EventEmitter<EuiMenuItem>();\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemsState: any[];\n private subscription: Subscription;\n private focusKeyManager: FocusKeyManager<EuiMenuItemComponent>;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n public baseStatesDirective: BaseStatesDirective,\n private cd: ChangeDetectorRef,\n ) {}\n\n @HostListener('click', ['$event'])\n stopPropagation(event: Event): void {\n event.stopPropagation();\n }\n\n onKeydown(event: KeyboardEvent): void {\n // finds first child when ArrowDown\n const firstChild = this.focusKeyManager.activeItem?.item.children? this.findFirstFilteredItem(this.focusKeyManager.activeItem?.item.children) : undefined;\n const firstFocusableItem = this.findFocusableItem(firstChild);\n // finds the parent element\n const parent = this.focusKeyManager.activeItem?.item.parent;\n const parentFocusableItem = this.findFocusableItem(parent);\n switch (event.key) {\n case 'Enter': {\n if (\n (this.focusKeyManager.activeItem.isLinkItem || this.focusKeyManager.activeItem.isUrlItem) &&\n !this.focusKeyManager.activeItem.disabled\n ) {\n this.focusKeyManager.activeItem.onClick(event);\n event.preventDefault();\n }\n break;\n }\n case 'ArrowRight': {\n if(this.focusKeyManager.activeItem?.item.actionIcon){\n this.checkActionIconFocusState();\n break;\n } else {\n if (!this.focusKeyManager.activeItem?.item.expanded) {\n this.focusKeyManager.activeItem?.onExpandToggle(event);\n this.cd.detectChanges();\n }\n break;\n }\n }\n case 'ArrowLeft': {\n if(this.focusKeyManager.activeItem?.item.actionIcon){\n this.checkActionIconFocusState();\n break;\n } else {\n if (this.focusKeyManager.activeItem?.item.expanded) {\n this.focusKeyManager.activeItem.onExpandToggle(event);\n this.cd.detectChanges();\n event.preventDefault();\n }\n break;\n }\n }\n case 'ArrowDown': {\n event.preventDefault();\n if (this.focusKeyManager.activeItem?.item.children && this.focusKeyManager.activeItem?.item.expanded) {\n //focuses first child\n firstFocusableItem?.focus();\n this.focusKeyManager.updateActiveItem(firstFocusableItem);\n } else if (parent) {\n // finds last filtered child when ArrowDown and navigating within submenu\n const filteredChildren = this.findFilteredItems(parent.children);\n const lastChildIndex = (filteredChildren?.length) - 1;\n const lastChild = filteredChildren[lastChildIndex];\n const lastFocusableItem = this.findFocusableItem(lastChild);\n // if the active item is the last child, puts the focus on the next parent\n if(this.focusKeyManager.activeItem === lastFocusableItem){\n this.focusKeyManager.updateActiveItem(parentFocusableItem);\n this.focusKeyManager.setNextItemActive();\n } else {\n this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex +1);\n }\n } else {\n // skips remaining childen in the query list when there is expanded node\n this.focusKeyManager.skipPredicate(menuItem => menuItem.parent != undefined || menuItem.item.visible === false);\n this.focusKeyManager.onKeydown(event);\n }\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n if (parent) {\n // finds first filtered child when ArrowUp\n const filteredChildren = this.findFilteredItems(parent.children);\n const firstChildUp = filteredChildren['0']\n const firstFocusableItemUp = this.findFocusableItem(firstChildUp);\n // when navigating up on a submenu focuses the parent if the active item is the first child\n if(this.focusKeyManager.activeItem === firstFocusableItemUp){\n this.focusKeyManager.setActiveItem(parentFocusableItem);\n } else {\n this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex -1);\n }\n } else {\n this.focusKeyManager.onKeydown(event);\n // when navigating up from a parent element to an expanded submenu, finds the last child and focuses it\n if(this.focusKeyManager.activeItem?.item.children && this.focusKeyManager.activeItem?.item.expanded){\n const filteredChildren = this.findFilteredItems(this.focusKeyManager.activeItem?.item.children);\n const lastChildIndexUp = (filteredChildren.length) - 1;\n const lastFocusableItemUp =this.findFocusableItem(filteredChildren[lastChildIndexUp]);\n this.focusKeyManager.setActiveItem(lastFocusableItemUp);\n }\n }\n break;\n }\n default: {\n this.focusKeyManager.onKeydown(event);\n break;\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.items) {\n this.items = this.configureItems(this.items);\n // get current url\n const currentUrl = this.router.url;\n // find an item that matches the current url or the most relevant one\n const item = this.findMostRelevantItem(currentUrl, this.items);\n // expand to that item\n if (item) {\n this.expandToGivenItem(item);\n }\n }\n\n // Expand / Collapse All items\n if (changes.expandAllItems) {\n this.items = this.setExpandedToAllItems(coerceBooleanProperty(changes.expandAllItems.currentValue), this.items);\n }\n\n if (changes.filterValue && this.hasFilter) {\n this.onFilter(changes.filterValue.currentValue ?? '');\n }\n\n // Refresh when interactive collapsed to initials\n if (changes.hasCollapsedInitials) {\n this.hasCollapsedInitials = changes.hasCollapsedInitials.currentValue;\n this.items = this.configureItems(this.items);\n }\n }\n\n ngOnInit(): void {\n // Labels default values - TODO : translations\n if (!this.searchFilterLabel) {\n this.searchFilterLabel = 'Search filter';\n }\n\n const elementIsVisibleInViewport = (el, partiallyVisible = false): boolean => {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return partiallyVisible\n ? ((top > 0 && top < innerHeight) ||\n (bottom > 0 && bottom < innerHeight)) &&\n ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n };\n\n // subscription to routes url changes for activating the scrollIntoView (optional)\n if (this.hasScrollToItem) {\n const item = this.findMostRelevantItem(this.router.url, this.items);\n if (item) {\n setTimeout(_ => {\n const element = document.getElementById(item.id);\n if (!elementIsVisibleInViewport(element)) {\n element.scrollIntoView({ behavior: 'smooth' });\n }\n }, 1);\n }\n }\n }\n\n ngAfterViewInit(): void {\n // instantiates FocusKeyManager with the query list of items enabling wrapping\n this.focusKeyManager = new FocusKeyManager(this.focusableItems).withWrap();\n }\n\n ngOnDestroy():void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public onClick(item: EuiMenuItem): void {\n if (!item.disabled) {\n if (item.urlExternal) {\n window.open(item.urlExternal, item.urlExternalTarget);\n } else if (item.url) {\n this.router.navigate([item.url], { relativeTo: this.route, fragment: this.fragmentId });\n } else {\n if (typeof item.command === 'function') {\n item.command();\n } else {\n this.onExpandToggle(item);\n }\n }\n\n if (item.link) {\n this.items = this.items?.map((it) => {\n it.active = false;\n if (it.id === item.id) {\n it.active = true;\n }\n return it;\n });\n }\n }\n\n this.isClick.emit(true);\n this.itemClick.emit(item);\n\n const focusedItem = this.findFocusableItem(item);\n this.focusKeyManager.updateActiveItem(focusedItem);\n }\n\n public onExpandToggle(item: EuiMenuItem): void {\n if (item.children) {\n this.onExpandToggled(item, this.items);\n // TODO: investigate why the above is needed. Can it be simply \"item.expanded = !item.expanded;\" ?\n }\n }\n\n public onMenuFilterClick(event: MouseEvent): void {\n consumeEvent(event);\n }\n\n public onFilter(event: Event)\n public onFilter(value: string)\n public onFilter(eventOrValue: Event | string): void {\n const value = eventOrValue instanceof Event\n ? (eventOrValue.target as HTMLInputElement).value\n : eventOrValue;\n this._onToggleExpandAllItems(value ? true : false);\n\n this.items = this.filterMenuItems(this.items, value);\n }\n\n private _onToggleExpandAllItems(state: boolean): void {\n this.items = this.setExpandedToAllItems(state, this.items);\n }\n\n /**\n * finds the EuiMenuItemComponent in the queried focusableItems[] that matches the passed EuiMenuItem object\n *\n * @param menuItem an EuiMenuItem\n * @private\n */\n private findFocusableItem(menuItem: EuiMenuItem ): EuiMenuItemComponent {\n return this.focusableItems.find(\n (focusableItem) => focusableItem.item.label === menuItem?.label && focusableItem.item.id === menuItem.id,\n );\n }\n\n /**\n * finds the first item that is filtered\n *\n * @param menuItems an array of EuiMenuItem\n * @private\n */\n private findFirstFilteredItem(menuItems: EuiMenuItem []): EuiMenuItem {\n return menuItems.find((item) => item.filtered);\n }\n\n /**\n * finds all filtered menu items\n *\n * @param menuItems an array of EuiMenuItem\n * @private\n */\n private findFilteredItems(menuItems: EuiMenuItem []): EuiMenuItem [] {\n return menuItems.filter((items) => items.filtered);\n }\n\n /**\n * checks the focus state of the action icon\n *\n * @private\n */\n private checkActionIconFocusState(): void {\n // check if the action icon is focused and if not focus it, otherwise focus the active item\n !this.focusKeyManager.activeItem.isActionIconFocused ? this.focusKeyManager.activeItem.focusActionIcon() : this.focusKeyManager.activeItem.focus();\n }\n\n /**\n * filter all menu items given a value\n *\n * @param menuItems an array of menu items\n * @param filterValue the value to filter menu items\n * @private\n */\n private filterMenuItems(menuItems: EuiMenuItem[], filterValue: string): EuiMenuItem[] {\n return menuItems?.map((item: EuiMenuItem) => {\n const found = item.label.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\n if (item.children) {\n item.children = this.filterMenuItems(item.children, filterValue);\n item.filtered = item.children.filter((l) => l['filtered'] === true).length > 0;\n } else if (found) {\n item.filtered = found;\n } else {\n item.filtered = false;\n }\n return item;\n });\n }\n\n /**\n * expand / collapse all items\n *\n * @param isExpanded\n * @param items\n * @private\n */\n private setExpandedToAllItems(isExpanded, items: EuiMenuItem[]): EuiMenuItem[] {\n return items?.map((item) => {\n if (item.children) {\n item.expanded = isExpanded;\n item.children = this.setExpandedToAllItems(isExpanded, item.children);\n }\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible });\n });\n }\n\n /**\n * expand / collapse a menu item\n *\n * @param item The item where the \"expand\" had been toggled\n * @param items The items list (used for recursion)\n * @private\n */\n private onExpandToggled(item: EuiMenuItem, items: EuiMenuItem[]): void {\n const itemIdx = items?.indexOf(item);\n if (itemIdx > -1) {\n items[itemIdx].expanded = !items[itemIdx].expanded;\n } else {\n items.forEach((i) => {\n if (i.children) {\n this.onExpandToggled(item, i.children);\n }\n });\n }\n }\n\n /**\n * configure an array of items with visible, filtered and expand (in case of expandAllItems flag enabled) properties\n *\n * @param items An array of EuiMenuItem\n * @param parent the parent item of items if exists\n * @private\n */\n private configureItems(items: EuiMenuItem[], parent?: EuiMenuItem): EuiMenuItem[] {\n return items?.map((item) => {\n // recursion in case there are children\n if (item.children) {\n item.children = this.configureItems(item.children, item);\n // expand all parents with children\n if (this.expandAllItems) {\n item.expanded = true;\n }\n }\n // point to the parent\n if (parent) {\n item.parent = parent;\n }\n\n if (!item.id && this.hasScrollToItem) {\n item.id = uuid.v4();\n }\n\n if (item.label && this.hasCollapsedInitials) {\n const words = item.label.split(' ');\n if (words.length === 1) {\n item.initials = `${item.label.substring(0, 1)}${item.label.substring(1, 1)}`;\n\n } else {\n item.initials = `${words[0].substring(0, 1)}${words[1].substring(0, 1)}`;\n }\n }\n\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible, filtered: true });\n });\n }\n\n /**\n * Given a URL and a list of items, it will expand the item that matches the URL. If not item matches exactly the url, then it will\n * match the item that is most relevant to that url.\n *\n * @param items\n * @param value\n * @private\n */\n private findMostRelevantItem(url: string, items: EuiMenuItem[], relevantItem?: EuiMenuItem): EuiMenuItem {\n if (!items) {\n return null;\n }\n\n items.forEach((item) => {\n if (item.url && url.indexOf(item.url.substr(1)) > -1) {\n relevantItem = this.getMostRelevantItem(url, relevantItem, item);\n }\n\n if (item.children) {\n relevantItem = this.findMostRelevantItem(url, item.children, relevantItem);\n }\n });\n\n return relevantItem;\n }\n\n /**\n * Given two items with url return the one with the most relevant url that matches given url\n *\n * @param url A URL to be matched with the one of given items\n * @param item1\n * @param item2\n * @private\n */\n private getMostRelevantItem(url: string, item1: EuiMenuItem, item2: EuiMenuItem): EuiMenuItem {\n const remainder1 = url.replace(item1?.url || '', '');\n const remainder2 = url.replace(item2?.url || '', '');\n\n return remainder1.length < remainder2.length ? item1 : item2;\n }\n\n /**\n * Given an item, if there's a parent expand it until you reach the root item\n *\n * @param item Given menu item\n * @private\n */\n private expandToGivenItem(item: EuiMenuItem): void {\n if (item.parent) {\n setTimeout(() => (item.parent.expanded = true));\n this.expandToGivenItem(item.parent);\n }\n }\n}\n", "@if (hasFilter && !isCollapsed) {\n <div class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n </eui-icon-input>\n </div>\n}\n\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n @if (items) {\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n } @else {\n <span class=\"eui-menu--no-items\">No menu items defined</span>\n }\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [parent]=\"parent\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", "import { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiIconInputModule } from '@eui/components/eui-icon-input';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiMenuComponent } from './eui-menu.component';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\nimport { EuiBadgeModule } from '@eui/components/eui-badge';\n\n@NgModule({\n imports: [\n CommonModule, RouterModule, EuiIconInputModule,\n EuiIconModule, EuiChipModule, EuiButtonModule, EuiInputTextModule, EuiTooltipDirectiveModule, EuiBadgeModule,\n ],\n declarations: [EuiMenuComponent, EuiMenuItemComponent],\n exports: [EuiMenuComponent],\n})\nexport class EuiMenuModule {}\n"],
5
+ "mappings": ";AAAA,SACI,WACA,aACA,mBACA,OACA,QACA,cACA,cAEA,wBAEG;AAGP,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;;;;;;;;;AAc9B,IAAO,uBAAP,MAAO,sBAAoB;EAK7B,IACW,aAAU;AACjB,WAAO;MACH,KAAK,oBAAoB,cAAc,eAAe;MACtD,CAAC,KAAK,UAAU,KAAK,mBAAmB,wBAAwB;MAClE,KAAK,GAAG,EAAE,KAAI;EACpB;EAEA,IACI,eAAY;AACZ,WAAO,KAAK,MAAM,UAAU,SAAS,IAAG,OAAO;EACnD;EACA,IACI,eAAY;AACZ,QAAG,KAAK,KAAK,UAAU;AACnB,aAAO,KAAK,KAAK,WAAW,OAAO;IACvC,OAAO;AACH,aAAO;IACX;EACJ;EACA,IACI,eAAY;AACZ,WAAO,KAAK,KAAK;EACrB;EAqBA,YAAmB,qBAAkD,YAAsB;AAAxE,SAAA,sBAAA;AAAkD,SAAA,aAAA;AA/C3C,SAAA,OAAO;AACD,SAAA,YAAY;AASd,SAAA,WAAW;AAoB/B,SAAA,eAAe,IAAI,aAAY;AAC/B,SAAA,YAAY,IAAI,aAAY;AAEtC,SAAA,kBAAkB;AAClB,SAAA,oBAAoB;AAEpB,SAAA,YAAY;AACZ,SAAA,aAAa;AACb,SAAA,cAAc;AACd,SAAA,sBAAsB;AAEkB,SAAA,UAAU;AACV,SAAA,aAAa;AACb,SAAA,cAAc;AACd,SAAA,uBAAuB;AACvB,SAAA,mBAAmB;EAEmC;EAE9F,WAAQ;AACJ,SAAK,aAAa,KAAK,KAAK,OAAO,KAAK,KAAK,eAAe,KAAK,KAAK,YAAY,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK;AACnH,SAAK,cAAc,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK;AAEvH,SAAK,aAAa,CAAC,KAAK,aAAa,CAAC,KAAK;AAC3C,SAAK,YAAY,KAAK,aAAY;EACtC;EAGO,gBAAgB,OAAY;AAC/B,SAAK,UAAU,KAAK,KAAK,IAAI;AAC7B,iBAAa,KAAK;EACtB;EAEA,IAAI,kBAAe;AACf,QAAI,KAAK,cAAc,KAAK,aAAa;AACrC,UAAI,KAAK,KAAK,SAAS;AACnB,eAAO,KAAK,KAAK;MACrB,OAAO;AACH,eAAO,KAAK,mBAAmB,KAAK,IAAI;MAC5C;IACJ,OAAO;AACH,aAAO;IACX;EACJ;EAEO,QAAQ,OAAY;AACvB,SAAK,UAAU,KAAK,KAAK,IAAI;AAC7B,SAAK,MAAK;AACV,iBAAa,KAAK;EACtB;EAEO,eAAe,OAAY;AAC9B,SAAK,aAAa,KAAK,KAAK,IAAI;AAChC,iBAAa,KAAK;EACtB;EAEO,kBAAkB,OAAiB;AACtC,SAAK,KAAK,YAAY,OAAO,KAAK;AAClC,iBAAa,KAAK;EACtB;EAEA,oBAAoB,OAAoB;AACpC,QAAI,MAAM,QAAQ,SAAS;AACvB,WAAK,KAAK,YAAY,OAAO,KAAK;AAClC,mBAAa,KAAK;IACtB;EACJ;EAEO,kBAAe;AAClB,SAAK,WAAW,cAAc,cAAc,kCAAkC,EAAE,MAAK;AACrF,SAAK,sBAAsB;EAC/B;EAEA,uBAAoB;AAChB,SAAK,sBAAsB;EAC/B;EAEO,QAAK;AACR,SAAK,WAAW,cAAc,MAAK;EACvC;EAEQ,mBAAmB,MAAiB;AACxC,QAAI,KAAK,YAAY,KAAK,OAAO;AAC7B,aAAO,KAAK,QAAQ,OAAO,KAAK,WAAW;IAC/C,WAAW,KAAK,OAAO;AACnB,aAAO,KAAK;IAChB,WAAW,KAAK,UAAU;AACtB,aAAO,KAAK;IAChB;AACA,WAAO;EACX;EAEQ,eAAY;AAChB,QAAI,KAAK,KAAK,OAAO;AACjB,aAAO,KAAK,KAAK;IACrB,WAAW,KAAK,KAAK,UAAU;AAC3B,aAAO,KAAK,KAAK;IACrB,WAAW,KAAK,KAAK,cAAc,KAAK,KAAK,WAAW,OAAO;AAC3D,aAAO,KAAK,KAAK,WAAW;IAChC,WAAW,KAAK,KAAK,WAAW;AAC5B,aAAO,KAAK,KAAK;IACrB;AACA,WAAO;EACX;;;;;EAMQ,gBAAa;AACjB,WAAO;MACH,KAAK,oBAAoB,cAAc,eAAe;;MAExD,KAAK,GAAG,EAAE,KAAI;EACpB;;0GAlJS,uBAAoB,MAAA,CAAA,EAAA,OAAA,uBAAA,GAAA,EAAA,OAAA,cAAA,CAAA,GAAA,QAAA,mBAAA,UAAA,CAAA;EAAA;;8FAApB,uBAAoB,UAAA,iBAAA,QAAA,EAAA,MAAA,QAAA,QAAA,UAAA,SAAA,CAAA,WAAA,WA2CT,gBAAgB,GAAA,YAAA,CAAA,cAAA,cAChB,gBAAgB,GAAA,aAAA,CAAA,eAAA,eAChB,gBAAgB,GAAA,sBAAA,CAAA,wBAAA,wBAChB,gBAAgB,GAAA,kBAAA,CAAA,oBAAA,oBAChB,gBAAgB,EAAA,GAAA,SAAA,EAAA,cAAA,gBAAA,WAAA,YAAA,GAAA,MAAA,EAAA,WAAA,EAAA,SAAA,0BAAA,GAAA,YAAA,EAAA,aAAA,aAAA,mBAAA,kBAAA,SAAA,mBAAA,iBAAA,iBAAA,sBAAA,qBAAA,sBAAA,qBAAA,sBAAA,oBAAA,EAAA,GAAA,gBAAA,CAAA,EAAA,WAAA,uBAAA,CAAA,GAAA,UAAA,IAAA,UC5ExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4QA,QAAA,CAAA,26IAAA,GAAA,cAAA,CAAA,EAAA,MAAA,aAAA,MAAA,SAAA,UAAA,UAAA,QAAA,CAAA,QAAA,YAAA,UAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,qBAAA,UAAA,sBAAA,QAAA,CAAA,2BAAA,oBAAA,0BAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,eAAA,UAAA,gBAAA,QAAA,CAAA,UAAA,eAAA,YAAA,uBAAA,SAAA,QAAA,cAAA,oBAAA,sBAAA,cAAA,YAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,qBAAA,UAAA,sBAAA,QAAA,CAAA,2BAAA,yBAAA,kBAAA,GAAA,SAAA,CAAA,gBAAA,GAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,wBAAA,UAAA,iDAAA,QAAA,CAAA,QAAA,aAAA,OAAA,QAAA,SAAA,WAAA,aAAA,cAAA,cAAA,cAAA,aAAA,aAAA,eAAA,YAAA,QAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,uBAAA,UAAA,mCAAA,QAAA,CAAA,WAAA,MAAA,kBAAA,iBAAA,kBAAA,iBAAA,eAAA,aAAA,aAAA,GAAA,SAAA,CAAA,aAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,wBAAA,UAAA,gBAAA,QAAA,CAAA,WAAA,aAAA,aAAA,oBAAA,YAAA,cAAA,cAAA,qBAAA,uBAAA,kBAAA,qBAAA,qBAAA,oBAAA,kBAAA,GAAA,UAAA,CAAA,YAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,sBAAA,UAAA,4CAAA,QAAA,CAAA,WAAA,YAAA,EAAA,CAAA,GAAA,eAAA,qBAAA,KAAA,CAAA;EAAA;;gGD/Oa,sBAAoB,YAAA,CAAA;QAXhC;qBACa,iBAAe,gBAET;IACZ;MACI,WAAW;;KAElB,eAEc,kBAAkB,MAAI,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,QAAA,CAAA,26IAAA,EAAA,CAAA;yGAIX,MAAI,CAAA;QAA7B;SAAY,WAAW;IACQ,WAAS,CAAA;QAAxC;SAAY,iBAAiB;IAGnB,YAAU,CAAA;QADpB;SAAY,OAAO;IAOU,UAAQ,CAAA;QAArC;SAAY,eAAe;IAExB,cAAY,CAAA;QADf;SAAY,oBAAoB;IAK7B,cAAY,CAAA;QADf;SAAY,oBAAoB;IAS7B,cAAY,CAAA;QADf;SAAY,oBAAoB;IAKxB,MAAI,CAAA;QAAZ;IACQ,QAAM,CAAA;QAAd;IACS,cAAY,CAAA;QAArB;IACS,WAAS,CAAA;QAAlB;IAUuC,SAAO,CAAA;QAA9C;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,YAAU,CAAA;QAAjD;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,aAAW,CAAA;QAAlD;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,sBAAoB,CAAA;QAA3D;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,kBAAgB,CAAA;QAAvD;SAAM,EAAE,WAAW,iBAAgB,CAAE;IAa/B,iBAAe,CAAA;QADrB;SAAa,SAAS,CAAC,QAAQ,CAAC;;;;AExFrC,SACI,aAAAA,YACA,eAAAC,cACA,qBAAAC,oBACA,SAAAC,QAEA,UAAAC,SACA,gBAAAC,eAGA,gBAAAC,eACA,oBAAAC,mBAGA,oBAGG;AAEP,SAAS,6BAA6B;AACtC,SAAS,uBAAuB;AAEhC,YAAY,UAAU;AAEtB,SAAS,gBAAAC,qBAAoB;AAC7B,SAAS,uBAAAC,4BAA2B;;;;;;;;AAc9B,IAAO,mBAAP,MAAO,kBAAgB;EAGzB,IACW,aAAU;AACjB,WAAO;MAAC,KAAK,oBAAoB,cAAc,UAAU;MACrD,KAAK,cAAc,wBAAwB;MAC3C,CAAC,KAAK,WAAW,uBAAuB;MACxC,KAAK,SAAS,mBAAkB;MAClC,KAAK,GAAG,EAAE,KAAI;EACpB;EA2BA,YACY,QACA,OACD,qBACC,IAAqB;AAHrB,SAAA,SAAA;AACA,SAAA,QAAA;AACD,SAAA,sBAAA;AACC,SAAA,KAAA;AAzBH,SAAA,cAAc;AAEiB,SAAA,cAAc;AACd,SAAA,uBAAuB;AACvB,SAAA,YAAY;AACZ,SAAA,WAAW;AACX,SAAA,aAAa;AACb,SAAA,iBAAiB;AACjB,SAAA,SAAS;AACT,SAAA,kBAAkB;AAClB,SAAA,mBAAmB;AAEjD,SAAA,UAAiC,IAAIJ,cAAY;AACjD,SAAA,YAAuC,IAAIA,cAAY;EAa9D;EAGH,gBAAgB,OAAY;AACxB,UAAM,gBAAe;EACzB;EAEA,UAAU,OAAoB;AAE1B,UAAM,aAAa,KAAK,gBAAgB,YAAY,KAAK,WAAU,KAAK,sBAAsB,KAAK,gBAAgB,YAAY,KAAK,QAAQ,IAAI;AAChJ,UAAM,qBAAqB,KAAK,kBAAkB,UAAU;AAE5D,UAAM,SAAS,KAAK,gBAAgB,YAAY,KAAK;AACrD,UAAM,sBAAsB,KAAK,kBAAkB,MAAM;AACzD,YAAQ,MAAM,KAAK;MACf,KAAK,SAAS;AACV,aACK,KAAK,gBAAgB,WAAW,cAAc,KAAK,gBAAgB,WAAW,cAC/E,CAAC,KAAK,gBAAgB,WAAW,UACnC;AACE,eAAK,gBAAgB,WAAW,QAAQ,KAAK;AAC7C,gBAAM,eAAc;QACxB;AACA;MACJ;MACA,KAAK,cAAc;AACf,YAAG,KAAK,gBAAgB,YAAY,KAAK,YAAW;AAChD,eAAK,0BAAyB;AAC9B;QACJ,OAAO;AACH,cAAI,CAAC,KAAK,gBAAgB,YAAY,KAAK,UAAU;AACjD,iBAAK,gBAAgB,YAAY,eAAe,KAAK;AACrD,iBAAK,GAAG,cAAa;UACzB;AACA;QACJ;MACJ;MACA,KAAK,aAAa;AACd,YAAG,KAAK,gBAAgB,YAAY,KAAK,YAAW;AAChD,eAAK,0BAAyB;AAC9B;QACJ,OAAO;AACH,cAAI,KAAK,gBAAgB,YAAY,KAAK,UAAU;AAChD,iBAAK,gBAAgB,WAAW,eAAe,KAAK;AACpD,iBAAK,GAAG,cAAa;AACrB,kBAAM,eAAc;UACxB;AACA;QACJ;MACJ;MACA,KAAK,aAAa;AACd,cAAM,eAAc;AACpB,YAAI,KAAK,gBAAgB,YAAY,KAAK,YAAY,KAAK,gBAAgB,YAAY,KAAK,UAAU;AAElG,8BAAoB,MAAK;AACzB,eAAK,gBAAgB,iBAAiB,kBAAkB;QAC5D,WAAW,QAAQ;AAEf,gBAAM,mBAAmB,KAAK,kBAAkB,OAAO,QAAQ;AAC/D,gBAAM,iBAAkB,kBAAkB,SAAU;AACpD,gBAAM,YAAY,iBAAiB,cAAc;AACjD,gBAAM,oBAAoB,KAAK,kBAAkB,SAAS;AAE1D,cAAG,KAAK,gBAAgB,eAAe,mBAAkB;AACtD,iBAAK,gBAAgB,iBAAiB,mBAAmB;AACzD,iBAAK,gBAAgB,kBAAiB;UACzC,OAAO;AACH,iBAAK,gBAAgB,cAAc,KAAK,gBAAgB,kBAAiB,CAAC;UAC9E;QACJ,OAAO;AAEH,eAAK,gBAAgB,cAAc,cAAY,SAAS,UAAU,UAAa,SAAS,KAAK,YAAY,KAAK;AAC9G,eAAK,gBAAgB,UAAU,KAAK;QACxC;AACA;MACJ;MACA,KAAK,WAAW;AACZ,cAAM,eAAc;AACpB,YAAI,QAAQ;AAER,gBAAM,mBAAmB,KAAK,kBAAkB,OAAO,QAAQ;AAC/D,gBAAM,eAAe,iBAAiB,GAAG;AACzC,gBAAM,uBAAuB,KAAK,kBAAkB,YAAY;AAEhE,cAAG,KAAK,gBAAgB,eAAe,sBAAqB;AACxD,iBAAK,gBAAgB,cAAc,mBAAmB;UACzD,OAAO;AACJ,iBAAK,gBAAgB,cAAc,KAAK,gBAAgB,kBAAiB,CAAC;UAC7E;QACL,OAAO;AACH,eAAK,gBAAgB,UAAU,KAAK;AAEpC,cAAG,KAAK,gBAAgB,YAAY,KAAK,YAAY,KAAK,gBAAgB,YAAY,KAAK,UAAS;AAChG,kBAAM,mBAAmB,KAAK,kBAAkB,KAAK,gBAAgB,YAAY,KAAK,QAAQ;AAC9F,kBAAM,mBAAoB,iBAAiB,SAAU;AACrD,kBAAM,sBAAqB,KAAK,kBAAkB,iBAAiB,gBAAgB,CAAC;AACpF,iBAAK,gBAAgB,cAAc,mBAAmB;UAC1D;QACJ;AACA;MACJ;MACA,SAAS;AACL,aAAK,gBAAgB,UAAU,KAAK;AACpC;MACJ;IACJ;EACJ;EAEA,YAAY,SAAsB;AAC9B,QAAI,QAAQ,OAAO;AACf,WAAK,QAAQ,KAAK,eAAe,KAAK,KAAK;AAE3C,YAAM,aAAa,KAAK,OAAO;AAE/B,YAAM,OAAO,KAAK,qBAAqB,YAAY,KAAK,KAAK;AAE7D,UAAI,MAAM;AACN,aAAK,kBAAkB,IAAI;MAC/B;IACJ;AAGA,QAAI,QAAQ,gBAAgB;AACxB,WAAK,QAAQ,KAAK,sBAAsB,sBAAsB,QAAQ,eAAe,YAAY,GAAG,KAAK,KAAK;IAClH;AAEA,QAAI,QAAQ,eAAe,KAAK,WAAW;AACvC,WAAK,SAAS,QAAQ,YAAY,gBAAgB,EAAE;IACxD;AAGA,QAAI,QAAQ,sBAAsB;AAC9B,WAAK,uBAAuB,QAAQ,qBAAqB;AACzD,WAAK,QAAQ,KAAK,eAAe,KAAK,KAAK;IAC/C;EACJ;EAEA,WAAQ;AAEJ,QAAI,CAAC,KAAK,mBAAmB;AACzB,WAAK,oBAAoB;IAC7B;AAEA,UAAM,6BAA6B,CAAC,IAAI,mBAAmB,UAAkB;AACzE,YAAM,EAAE,KAAK,MAAM,QAAQ,MAAK,IAAK,GAAG,sBAAqB;AAC7D,YAAM,EAAE,aAAa,WAAU,IAAK;AACpC,aAAO,oBACH,MAAM,KAAK,MAAM,eACpB,SAAS,KAAK,SAAS,iBACtB,OAAO,KAAK,OAAO,cAAgB,QAAQ,KAAK,QAAQ,cACxD,OAAO,KAAK,QAAQ,KAAK,UAAU,eAAe,SAAS;IACjE;AAGA,QAAI,KAAK,iBAAiB;AACtB,YAAM,OAAO,KAAK,qBAAqB,KAAK,OAAO,KAAK,KAAK,KAAK;AAClE,UAAI,MAAM;AACN,mBAAW,OAAI;AACX,gBAAM,UAAU,SAAS,eAAe,KAAK,EAAE;AAC/C,cAAI,CAAC,2BAA2B,OAAO,GAAG;AACtC,oBAAQ,eAAe,EAAE,UAAU,SAAQ,CAAE;UACjD;QACJ,GAAG,CAAC;MACR;IACJ;EACJ;EAEA,kBAAe;AAEX,SAAK,kBAAkB,IAAI,gBAAgB,KAAK,cAAc,EAAE,SAAQ;EAC5E;EAEA,cAAW;AACP,QAAI,KAAK,cAAc;AACnB,WAAK,aAAa,YAAW;IACjC;EACJ;EAEO,QAAQ,MAAiB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAChB,UAAI,KAAK,aAAa;AAClB,eAAO,KAAK,KAAK,aAAa,KAAK,iBAAiB;MACxD,WAAW,KAAK,KAAK;AACjB,aAAK,OAAO,SAAS,CAAC,KAAK,GAAG,GAAG,EAAE,YAAY,KAAK,OAAO,UAAU,KAAK,WAAU,CAAE;MAC1F,OAAO;AACH,YAAI,OAAO,KAAK,YAAY,YAAY;AACpC,eAAK,QAAO;QAChB,OAAO;AACH,eAAK,eAAe,IAAI;QAC5B;MACJ;AAEA,UAAI,KAAK,MAAM;AACX,aAAK,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAM;AAChC,aAAG,SAAS;AACZ,cAAI,GAAG,OAAO,KAAK,IAAI;AACnB,eAAG,SAAS;UAChB;AACA,iBAAO;QACX,CAAC;MACL;IACJ;AAEA,SAAK,QAAQ,KAAK,IAAI;AACtB,SAAK,UAAU,KAAK,IAAI;AAExB,UAAM,cAAc,KAAK,kBAAkB,IAAI;AAC/C,SAAK,gBAAgB,iBAAiB,WAAW;EACrD;EAEO,eAAe,MAAiB;AACnC,QAAI,KAAK,UAAU;AACf,WAAK,gBAAgB,MAAM,KAAK,KAAK;IAEzC;EACJ;EAEO,kBAAkB,OAAiB;AACtC,IAAAG,cAAa,KAAK;EACtB;EAIO,SAAS,cAA4B;AACxC,UAAM,QAAQ,wBAAwB,QAC/B,aAAa,OAA4B,QAC1C;AACN,SAAK,wBAAwB,QAAQ,OAAO,KAAK;AAEjD,SAAK,QAAQ,KAAK,gBAAgB,KAAK,OAAO,KAAK;EACvD;EAEQ,wBAAwB,OAAc;AAC1C,SAAK,QAAQ,KAAK,sBAAsB,OAAO,KAAK,KAAK;EAC7D;;;;;;;EAQQ,kBAAkB,UAAqB;AAC3C,WAAO,KAAK,eAAe,KACvB,CAAC,kBAAkB,cAAc,KAAK,UAAU,UAAU,SAAS,cAAc,KAAK,OAAO,SAAS,EAAE;EAEhH;;;;;;;EAQQ,sBAAsB,WAAyB;AACnD,WAAO,UAAU,KAAK,CAAC,SAAS,KAAK,QAAQ;EACjD;;;;;;;EAQQ,kBAAkB,WAAyB;AAC/C,WAAO,UAAU,OAAO,CAAC,UAAU,MAAM,QAAQ;EACrD;;;;;;EAOQ,4BAAyB;AAE7B,KAAC,KAAK,gBAAgB,WAAW,sBAAsB,KAAK,gBAAgB,WAAW,gBAAe,IAAK,KAAK,gBAAgB,WAAW,MAAK;EACpJ;;;;;;;;EASQ,gBAAgB,WAA0B,aAAmB;AACjE,WAAO,WAAW,IAAI,CAAC,SAAqB;AACxC,YAAM,QAAQ,KAAK,MAAM,YAAW,EAAG,QAAQ,YAAY,YAAW,CAAE,MAAM;AAC9E,UAAI,KAAK,UAAU;AACf,aAAK,WAAW,KAAK,gBAAgB,KAAK,UAAU,WAAW;AAC/D,aAAK,WAAW,KAAK,SAAS,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM,IAAI,EAAE,SAAS;MACjF,WAAW,OAAO;AACd,aAAK,WAAW;MACpB,OAAO;AACH,aAAK,WAAW;MACpB;AACA,aAAO;IACX,CAAC;EACL;;;;;;;;EASQ,sBAAsB,YAAY,OAAoB;AAC1D,WAAO,OAAO,IAAI,CAAC,SAAQ;AACvB,UAAI,KAAK,UAAU;AACf,aAAK,WAAW;AAChB,aAAK,WAAW,KAAK,sBAAsB,YAAY,KAAK,QAAQ;MACxE;AACA,aAAO,OAAO,OAAO,MAAM,EAAE,SAAS,KAAK,YAAY,SAAY,OAAO,KAAK,QAAO,CAAE;IAC5F,CAAC;EACL;;;;;;;;EASQ,gBAAgB,MAAmB,OAAoB;AAC3D,UAAM,UAAU,OAAO,QAAQ,IAAI;AACnC,QAAI,UAAU,IAAI;AACd,YAAM,OAAO,EAAE,WAAW,CAAC,MAAM,OAAO,EAAE;IAC9C,OAAO;AACH,YAAM,QAAQ,CAAC,MAAK;AAChB,YAAI,EAAE,UAAU;AACZ,eAAK,gBAAgB,MAAM,EAAE,QAAQ;QACzC;MACJ,CAAC;IACL;EACJ;;;;;;;;EASQ,eAAe,OAAsB,QAAoB;AAC7D,WAAO,OAAO,IAAI,CAAC,SAAQ;AAEvB,UAAI,KAAK,UAAU;AACf,aAAK,WAAW,KAAK,eAAe,KAAK,UAAU,IAAI;AAEvD,YAAI,KAAK,gBAAgB;AACrB,eAAK,WAAW;QACpB;MACJ;AAEA,UAAI,QAAQ;AACR,aAAK,SAAS;MAClB;AAEA,UAAI,CAAC,KAAK,MAAM,KAAK,iBAAiB;AAClC,aAAK,KAAU,QAAE;MACrB;AAEA,UAAI,KAAK,SAAS,KAAK,sBAAsB;AACzC,cAAM,QAAQ,KAAK,MAAM,MAAM,GAAG;AAClC,YAAI,MAAM,WAAW,GAAG;AACpB,eAAK,WAAW,GAAG,KAAK,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,MAAM,UAAU,GAAG,CAAC,CAAC;QAE9E,OAAO;AACH,eAAK,WAAW,GAAG,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;QAC1E;MACJ;AAEA,aAAO,OAAO,OAAO,MAAM,EAAE,SAAS,KAAK,YAAY,SAAY,OAAO,KAAK,SAAS,UAAU,KAAI,CAAE;IAC5G,CAAC;EACL;;;;;;;;;EAUQ,qBAAqB,KAAa,OAAsB,cAA0B;AACtF,QAAI,CAAC,OAAO;AACR,aAAO;IACX;AAEA,UAAM,QAAQ,CAAC,SAAQ;AACnB,UAAI,KAAK,OAAO,IAAI,QAAQ,KAAK,IAAI,OAAO,CAAC,CAAC,IAAI,IAAI;AAClD,uBAAe,KAAK,oBAAoB,KAAK,cAAc,IAAI;MACnE;AAEA,UAAI,KAAK,UAAU;AACf,uBAAe,KAAK,qBAAqB,KAAK,KAAK,UAAU,YAAY;MAC7E;IACJ,CAAC;AAED,WAAO;EACX;;;;;;;;;EAUQ,oBAAoB,KAAa,OAAoB,OAAkB;AAC3E,UAAM,aAAa,IAAI,QAAQ,OAAO,OAAO,IAAI,EAAE;AACnD,UAAM,aAAa,IAAI,QAAQ,OAAO,OAAO,IAAI,EAAE;AAEnD,WAAO,WAAW,SAAS,WAAW,SAAS,QAAQ;EAC3D;;;;;;;EAQQ,kBAAkB,MAAiB;AACvC,QAAI,KAAK,QAAQ;AACb,iBAAW,MAAO,KAAK,OAAO,WAAW,IAAK;AAC9C,WAAK,kBAAkB,KAAK,MAAM;IACtC;EACJ;;4GAvdS,mBAAgB,MAAA,CAAA,EAAA,OAAA,WAAA,GAAA,EAAA,OAAA,mBAAA,GAAA,EAAA,OAAA,wBAAA,GAAA,EAAA,OAAA,sBAAA,CAAA,GAAA,QAAA,oBAAA,UAAA,CAAA;EAAA;;+FAAhB,mBAAgB,UAAA,YAAA,QAAA,EAAA,OAAA,SAAA,mBAAA,qBAAA,mBAAA,qBAAA,YAAA,cAAA,aAAA,eAAA,aAAA,CAAA,eAAA,eAkBLD,iBAAgB,GAAA,sBAAA,CAAA,wBAAA,wBAChBA,iBAAgB,GAAA,WAAA,CAAA,aAAA,aAChBA,iBAAgB,GAAA,UAAA,CAAA,YAAA,YAChBA,iBAAgB,GAAA,YAAA,CAAA,cAAA,cAChBA,iBAAgB,GAAA,gBAAA,CAAA,kBAAA,kBAChBA,iBAAgB,GAAA,QAAA,CAAA,UAAA,UAChBA,iBAAgB,GAAA,iBAAA,CAAA,mBAAA,mBAChBA,iBAAgB,GAAA,kBAAA,CAAA,oBAAA,oBAChBA,iBAAgB,EAAA,GAAA,SAAA,EAAA,SAAA,WAAA,WAAA,YAAA,GAAA,MAAA,EAAA,WAAA,EAAA,SAAA,0BAAA,GAAA,YAAA,EAAA,SAAA,kBAAA,EAAA,GAAA,aAAA,CAAA,EAAA,cAAA,kBAAA,WAzBtB,sBAAoB,aAAA,KAAA,CAAA,GAAA,eAAA,MAAA,gBAAA,CAAA,EAAA,WAAA,wBAAA,CAAA,GAAA,UAAAG,KAAA,UCxCtC,wpEAgDA,QAAA,CAAA,26IAAA,GAAA,cAAA,CAAA,EAAA,MAAA,aAAA,MAAA,aAAA,UAAA,oBAAA,QAAA,CAAA,WAAA,gBAAA,eAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,UAAA,UAAA,UAAA,QAAA,CAAA,QAAA,YAAA,UAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,sBAAA,UAAA,sBAAA,QAAA,CAAA,2BAAA,oBAAA,0BAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,2BAAA,UAAA,kBAAA,QAAA,CAAA,wBAAA,oBAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,yBAAA,UAAA,iDAAA,QAAA,CAAA,QAAA,aAAA,OAAA,QAAA,SAAA,WAAA,aAAA,cAAA,cAAA,cAAA,aAAA,aAAA,eAAA,YAAA,QAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,2BAAA,UAAA,uBAAA,QAAA,CAAA,WAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,sBAAA,UAAA,iBAAA,QAAA,CAAA,QAAA,UAAA,WAAA,cAAA,eAAA,wBAAA,kBAAA,GAAA,SAAA,CAAA,gBAAA,WAAA,EAAA,CAAA,GAAA,eAAA,sBAAA,KAAA,CAAA;EAAA;;kGDTa,kBAAgB,YAAA,CAAA;QAX5BV;qBACa,YAAU,gBAGJ;IACZ;MACI,WAAWS;;KAElB,eACcP,mBAAkB,MAAI,UAAA,wpEAAA,QAAA,CAAA,26IAAA,EAAA,CAAA;sKAGD,gBAAc,CAAA;QAAjD;SAAa,oBAAoB;IAGvB,YAAU,CAAA;QADpBD;SAAY,OAAO;IASX,OAAK,CAAA;QAAbE;IACQ,mBAAiB,CAAA;QAAzBA;IACQ,mBAAiB,CAAA;QAAzBA;IACQ,YAAU,CAAA;QAAlBA;IACQ,aAAW,CAAA;QAAnBA;IAEuC,aAAW,CAAA;QAAlDA;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,sBAAoB,CAAA;QAA3DJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,WAAS,CAAA;QAAhDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,UAAQ,CAAA;QAA/CJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,YAAU,CAAA;QAAjDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,gBAAc,CAAA;QAArDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,QAAM,CAAA;QAA7CJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,iBAAe,CAAA;QAAtDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,kBAAgB,CAAA;QAAvDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IAE5B,SAAO,CAAA;QAAhBH;IACS,WAAS,CAAA;QAAlBA;IAgBD,iBAAe,CAAA;QADdE;SAAa,SAAS,CAAC,QAAQ,CAAC;;;;AEnFrC,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAEzB,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAInC,SAAS,iCAAiC;AAC1C,SAAS,sBAAsB;;AAUzB,IAAO,gBAAP,MAAO,eAAa;;4GAAb,gBAAa,MAAA,CAAA,GAAA,QAAA,oBAAA,SAAA,CAAA;EAAA;;6GAAb,gBAAa,cAAA,CAHP,kBAAkB,oBAAoB,GAAA,SAAA;MAHjD;MAAc;MAAc;MAC5B;MAAe;MAAe;MAAiB;MAAoB;MAA2B;IAAc,GAAA,SAAA,CAGtG,gBAAgB,EAAA,CAAA;EAAA;;6GAEjB,gBAAa,SAAA;MANlB;MAAc;MAAc;MAC5B;MAAe;MAAe;MAAiB;MAAoB;MAA2B;IAAc,EAAA,CAAA;EAAA;;kGAKvG,eAAa,YAAA,CAAA;QARzB;SAAS;IACN,SAAS;MACL;MAAc;MAAc;MAC5B;MAAe;MAAe;MAAiB;MAAoB;MAA2B;;IAElG,cAAc,CAAC,kBAAkB,oBAAoB;IACrD,SAAS,CAAC,gBAAgB;GAC7B;;",
6
6
  "names": ["Component", "HostBinding", "ViewEncapsulation", "Input", "Output", "EventEmitter", "HostListener", "booleanAttribute", "consumeEvent", "BaseStatesDirective", "i0"]
7
7
  }
@@ -4,11 +4,12 @@ import { EuiTemplateDirective } from "@eui/components/directives";
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "@eui/components/eui-icon";
7
- import * as i3 from "@eui/components/eui-button";
8
- import * as i4 from "@eui/components/eui-autocomplete";
9
- import * as i5 from "@eui/components/directives";
10
- import * as i6 from "@eui/components/eui-input-text";
11
- import * as i7 from "@angular/forms";
7
+ import * as i3 from "@eui/components/eui-icon-input";
8
+ import * as i4 from "@eui/components/eui-button";
9
+ import * as i5 from "@eui/components/eui-autocomplete";
10
+ import * as i6 from "@eui/components/directives";
11
+ import * as i7 from "@eui/components/eui-input-text";
12
+ import * as i8 from "@angular/forms";
12
13
  var EuiSearchComponent = class _EuiSearchComponent {
13
14
  constructor() {
14
15
  this.isInputFocus = false;
@@ -83,7 +84,7 @@ var EuiSearchComponent = class _EuiSearchComponent {
83
84
  this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: _EuiSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
85
  }
85
86
  static {
86
- this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: _EuiSearchComponent, selector: "eui-search", inputs: { placeholderLabel: "placeholderLabel", panelWidth: "panelWidth", searchResults: "searchResults", isAutocomplete: ["isAutocomplete", "isAutocomplete", booleanAttribute], isInputText: ["isInputText", "isInputText", booleanAttribute], hasSearchButton: ["hasSearchButton", "hasSearchButton", booleanAttribute], hasExpandAnimation: ["hasExpandAnimation", "hasExpandAnimation", booleanAttribute] }, outputs: { search: "search", selectionChange: "selectionChange", searchClick: "searchClick", inputFocus: "inputFocus", inputBlur: "inputBlur" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], ngImport: i0, template: '<eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]="searchResults"\n placeholder="{{placeholderLabel}}"\n panelWidth="{{panelWidth}}"\n (inputBlur)="onInputBlur($event)"\n (inputFocus)="onInputFocus($event)"\n (selectionChange)="onSelectionChange($event)"\n (inputChange)="onSearch($event)">\n <ng-container *ngIf="templates.length !== 0">\n <ng-template let-option euiTemplate="dropdownOption">\n <ng-container\n [ngTemplateOutlet]="resultItemTemplate"\n [ngTemplateOutletContext]="{ $implicit: option }">\n </ng-container>\n </ng-template>\n </ng-container>\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class="mywp-search-bar__input" [(ngModel)]="searchInput"\n placeholder="{{ placeholderLabel }}"\n (focus)="onInputFocus($event)" (blur)="onInputBlur($event)" (keydown)="onSearchInput($event)" />\n }\n }\n\n @if (hasSearchButton) {\n <button class="eui-search__input-button"\n euiButton\n euiRounded euiIconButton\n [euiSecondary]="isInputFocus"\n [euiPrimary]="!isInputFocus"\n (click)="onSearchClick()"\n aria-label="search button">\n <eui-icon-svg icon="eui-ecl-search"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon="eui-ecl-search"></eui-icon-svg>\n }\n</eui-icon-input>\n', styles: [".eui-search{display:flex;top:0}.eui-search .eui-button .eui-button__container{justify-content:center}.eui-search .eui-input-text{background-color:var(--eui-c-branding-dark);border-color:var(--eui-c-branding-light);border-radius:var(--eui-br-max)!important;text-overflow:ellipsis;transition:width .25s ease-in-out;color:var(--eui-c-branding-dark-contrast);width:200px}.eui-search .eui-input-text--clearable-icon{display:none}.eui-search--focus .eui-input-text{background-color:var(--eui-c-white);border-color:var(--eui-c-neutral-light);color:var(--eui-c-black);width:300px}.eui-search--focus .eui-search__input-button{color:var(--eui-c-black)!important}.eui-search--focus .eui-search__input-button .eui-icon-svg svg{color:var(--eui-c-black)!important;fill:var(--eui-c-black)!important}.eui-search--focus .eui-search__icon{display:none}.eui-search__input-button{position:absolute;right:4px;top:4px;color:var(--eui-c-neutral-lightest)!important}.eui-search__input-button .eui-icon-svg{z-index:1}.eui-search__input-button:focus .eui-icon-svg svg{color:var(--eui-c-white)!important;fill:var(--eui-c-white)!important}.eui-search--no-animation .eui-input-text{transition:none}.eui-search--focus.eui-search--no-animation .eui-input-text{width:200px}@media screen and (max-width: 767px){.eui-search{display:none}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i2.EuiIconInputComponent, selector: "eui-icon-input", inputs: ["euiIconPositionStart", "euiIconPositionEnd"] }, { kind: "component", type: i3.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i4.EuiAutocompleteComponent, selector: "eui-autocomplete, input[euiAutocomplete]", inputs: ["autocompleteData", "visibleOptions", "matching", "placeholder", "autocompleteDataSelected", "chipsSortOrder", "itemsSortOrder", "chipsPosition", "groupBy", "toggleLinkMoreLabel", "toggleLinkLessLabel", "classList", "panelWidth", "dragAndDropSourceName", "dragAndDropConnectedTo", "isFreeValueAllowed", "isReadonly", "isLoading", "hasChips", "isAsync", "isChipsSorted", "isItemsSorted", "isChipsRemovable", "isDuplicateValueAllowed", "isAddOnBlur", "isForceSelection", "maxVisibleChipsCount", "chipsLabelTruncateCount", "isMaxVisibleChipsOpened", "isChipsDragAndDrop"], outputs: ["panelClose", "panelOpen", "inputFocus", "inputBlur", "clear", "selectionChange", "itemAdd", "itemRemove", "inputChange", "chipDragStart", "chipDragRelease", "chipDrop"] }, { kind: "directive", type: i5.EuiTemplateDirective, selector: "[euiTemplate]", inputs: ["type", "euiTemplate"] }, { kind: "component", type: i6.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
87
+ this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: _EuiSearchComponent, selector: "eui-search", inputs: { placeholderLabel: "placeholderLabel", panelWidth: "panelWidth", searchResults: "searchResults", isAutocomplete: ["isAutocomplete", "isAutocomplete", booleanAttribute], isInputText: ["isInputText", "isInputText", booleanAttribute], hasSearchButton: ["hasSearchButton", "hasSearchButton", booleanAttribute], hasExpandAnimation: ["hasExpandAnimation", "hasExpandAnimation", booleanAttribute] }, outputs: { search: "search", selectionChange: "selectionChange", searchClick: "searchClick", inputFocus: "inputFocus", inputBlur: "inputBlur" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], ngImport: i0, template: '<eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]="searchResults"\n placeholder="{{placeholderLabel}}"\n panelWidth="{{panelWidth}}"\n (inputBlur)="onInputBlur($event)"\n (inputFocus)="onInputFocus($event)"\n (selectionChange)="onSelectionChange($event)"\n (inputChange)="onSearch($event)">\n <ng-container *ngIf="templates.length !== 0">\n <ng-template let-option euiTemplate="dropdownOption">\n <ng-container\n [ngTemplateOutlet]="resultItemTemplate"\n [ngTemplateOutletContext]="{ $implicit: option }">\n </ng-container>\n </ng-template>\n </ng-container>\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class="mywp-search-bar__input" [(ngModel)]="searchInput"\n placeholder="{{ placeholderLabel }}"\n (focus)="onInputFocus($event)" (blur)="onInputBlur($event)" (keydown)="onSearchInput($event)" />\n }\n }\n\n @if (hasSearchButton) {\n <button class="eui-search__input-button"\n euiButton\n euiRounded euiIconButton\n [euiSecondary]="isInputFocus"\n [euiPrimary]="!isInputFocus"\n (click)="onSearchClick()"\n aria-label="search button">\n <eui-icon-svg icon="eui-ecl-search"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon="eui-ecl-search"></eui-icon-svg>\n }\n</eui-icon-input>\n', styles: [".eui-search{display:flex;top:0}.eui-search .eui-button .eui-button__container{justify-content:center}.eui-search .eui-input-text{background-color:var(--eui-c-branding-dark);border-color:var(--eui-c-branding-light);border-radius:var(--eui-br-max)!important;text-overflow:ellipsis;transition:width .25s ease-in-out;color:var(--eui-c-branding-dark-contrast);width:200px}.eui-search .eui-input-text--clearable-icon{display:none}.eui-search--focus .eui-input-text{background-color:var(--eui-c-white);border-color:var(--eui-c-neutral-light);color:var(--eui-c-black);width:300px}.eui-search--focus .eui-search__input-button{color:var(--eui-c-black)!important}.eui-search--focus .eui-search__input-button .eui-icon-svg svg{color:var(--eui-c-black)!important;fill:var(--eui-c-black)!important}.eui-search--focus .eui-search__icon{display:none}.eui-search__input-button{position:absolute;right:4px;top:4px;color:var(--eui-c-neutral-lightest)!important}.eui-search__input-button .eui-icon-svg{z-index:1}.eui-search__input-button:focus .eui-icon-svg svg{color:var(--eui-c-white)!important;fill:var(--eui-c-white)!important}.eui-search--no-animation .eui-input-text{transition:none}.eui-search--focus.eui-search--no-animation .eui-input-text{width:200px}@media screen and (max-width: 767px){.eui-search{display:none}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i3.EuiIconInputComponent, selector: "eui-icon-input", inputs: ["euiIconPositionStart", "euiIconPositionEnd"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i5.EuiAutocompleteComponent, selector: "eui-autocomplete, input[euiAutocomplete]", inputs: ["autocompleteData", "visibleOptions", "matching", "placeholder", "autocompleteDataSelected", "chipsSortOrder", "itemsSortOrder", "chipsPosition", "groupBy", "toggleLinkMoreLabel", "toggleLinkLessLabel", "classList", "panelWidth", "dragAndDropSourceName", "dragAndDropConnectedTo", "isFreeValueAllowed", "isReadonly", "isLoading", "hasChips", "isAsync", "isChipsSorted", "isItemsSorted", "isChipsRemovable", "isDuplicateValueAllowed", "isAddOnBlur", "isForceSelection", "maxVisibleChipsCount", "chipsLabelTruncateCount", "isMaxVisibleChipsOpened", "isChipsDragAndDrop"], outputs: ["panelClose", "panelOpen", "inputFocus", "inputBlur", "clear", "selectionChange", "itemAdd", "itemRemove", "inputChange", "chipDragStart", "chipDragRelease", "chipDrop"] }, { kind: "directive", type: i6.EuiTemplateDirective, selector: "[euiTemplate]", inputs: ["type", "euiTemplate"] }, { kind: "component", type: i7.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
87
88
  }
88
89
  };
89
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EuiSearchComponent, decorators: [{
@@ -129,6 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
129
130
  import { NgModule } from "@angular/core";
130
131
  import { CommonModule } from "@angular/common";
131
132
  import { EuiIconModule } from "@eui/components/eui-icon";
133
+ import { EuiIconInputModule } from "@eui/components/eui-icon-input";
132
134
  import { EuiButtonModule } from "@eui/components/eui-button";
133
135
  import { EuiInputTextModule } from "@eui/components/eui-input-text";
134
136
  import { EuiInputGroupModule } from "@eui/components/eui-input-group";
@@ -144,6 +146,7 @@ var EuiSearchModule = class _EuiSearchModule {
144
146
  this.ɵmod = i02.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.1", ngImport: i02, type: _EuiSearchModule, declarations: [EuiSearchComponent], imports: [
145
147
  CommonModule,
146
148
  EuiIconModule,
149
+ EuiIconInputModule,
147
150
  EuiButtonModule,
148
151
  EuiAutocompleteModule,
149
152
  EuiTemplateDirectiveModule,
@@ -156,6 +159,7 @@ var EuiSearchModule = class _EuiSearchModule {
156
159
  this.ɵinj = i02.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i02, type: _EuiSearchModule, imports: [
157
160
  CommonModule,
158
161
  EuiIconModule,
162
+ EuiIconInputModule,
159
163
  EuiButtonModule,
160
164
  EuiAutocompleteModule,
161
165
  EuiTemplateDirectiveModule,
@@ -171,6 +175,7 @@ i02.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", n
171
175
  imports: [
172
176
  CommonModule,
173
177
  EuiIconModule,
178
+ EuiIconInputModule,
174
179
  EuiButtonModule,
175
180
  EuiAutocompleteModule,
176
181
  EuiTemplateDirectiveModule,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../eui-search/search.component.ts", "../../eui-search/search.component.html", "../../eui-search/search.module.ts"],
4
- "sourcesContent": ["import { Component, ViewEncapsulation, ContentChildren, ChangeDetectionStrategy, HostBinding, Input, Output, EventEmitter, TemplateRef,\n AfterViewInit, QueryList, booleanAttribute,\n AfterContentInit } from '@angular/core';\nimport { EuiAutoCompleteItem } from '@eui/components/eui-autocomplete';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\n@Component({\n selector: 'eui-search',\n templateUrl: './search.component.html',\n styleUrls: ['./_styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiSearchComponent implements AfterViewInit, AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-search',\n this.isInputFocus ? 'eui-search--focus' : '',\n !this.hasExpandAnimation ? 'eui-search--no-animation': '',\n ]\n .join(' ')\n .trim();\n }\n\n isInputFocus = false;\n searchTerm: string;\n searchInput = '';\n\n public resultItemTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n\n @Input() placeholderLabel: string;\n @Input() panelWidth = '25vw';\n @Input() searchResults: EuiAutoCompleteItem[] = [];\n\n @Input({ transform: booleanAttribute }) isAutocomplete = false;\n @Input({ transform: booleanAttribute }) isInputText = false;\n @Input({ transform: booleanAttribute }) hasSearchButton = false;\n @Input({ transform: booleanAttribute }) hasExpandAnimation = true;\n\n @Output() search: EventEmitter<string> = new EventEmitter();\n @Output() selectionChange: EventEmitter<EuiAutoCompleteItem[]> = new EventEmitter();\n @Output() searchClick: EventEmitter<string> = new EventEmitter();\n @Output() inputFocus: EventEmitter<Event> = new EventEmitter();\n @Output() inputBlur: EventEmitter<Event> = new EventEmitter();\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n ngAfterContentInit(): void {\n if (this.isAutocomplete) {\n this.isInputText = false;\n }\n\n if (this.isInputText) {\n this.isAutocomplete = false;\n }\n\n if (!this.isInputText && !this.isAutocomplete) {\n this.isAutocomplete = true;\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'resultItemTemplate') {\n this.resultItemTemplate = item.template;\n }\n });\n }\n\n onSelectionChange(items: EuiAutoCompleteItem[]): void {\n this.selectionChange.emit(items);\n }\n\n onInputFocus(event: Event): void {\n this.inputFocus.emit(event);\n this.isInputFocus = true;\n }\n\n onInputBlur(event: Event): void {\n if (!this.hasSearchButton || (this.hasSearchButton && this.searchInput === '')) {\n this.inputBlur.emit(event);\n this.isInputFocus = false;\n }\n }\n\n onSearch(e: string): void {\n this.searchTerm = e;\n this.search.emit(e);\n }\n\n onSearchInput(e: KeyboardEvent): void {\n if (e.code === 'Enter') {\n this.searchTerm = this.searchInput;\n this.search.emit(this.searchInput);\n }\n }\n\n onSearchClick(): void {\n this.isInputFocus = false;\n if (this.searchInput) {\n this.searchClick.emit(this.searchInput);\n }\n }\n}\n", "<eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]=\"searchResults\"\n placeholder=\"{{placeholderLabel}}\"\n panelWidth=\"{{panelWidth}}\"\n (inputBlur)=\"onInputBlur($event)\"\n (inputFocus)=\"onInputFocus($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (inputChange)=\"onSearch($event)\">\n <ng-container *ngIf=\"templates.length !== 0\">\n <ng-template let-option euiTemplate=\"dropdownOption\">\n <ng-container\n [ngTemplateOutlet]=\"resultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-container>\n </ng-template>\n </ng-container>\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class=\"mywp-search-bar__input\" [(ngModel)]=\"searchInput\"\n placeholder=\"{{ placeholderLabel }}\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (keydown)=\"onSearchInput($event)\" />\n }\n }\n\n @if (hasSearchButton) {\n <button class=\"eui-search__input-button\"\n euiButton\n euiRounded euiIconButton\n [euiSecondary]=\"isInputFocus\"\n [euiPrimary]=\"!isInputFocus\"\n (click)=\"onSearchClick()\"\n aria-label=\"search button\">\n <eui-icon-svg icon=\"eui-ecl-search\"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon=\"eui-ecl-search\"></eui-icon-svg>\n }\n</eui-icon-input>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\n\nimport { EuiSearchComponent } from './search.component';\nimport { EuiAutocompleteModule } from '@eui/components/eui-autocomplete';\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule, EuiIconModule, EuiButtonModule, EuiAutocompleteModule, EuiTemplateDirectiveModule,\n EuiInputTextModule, EuiInputGroupModule,\n FormsModule,\n ],\n exports: [EuiSearchComponent],\n declarations: [EuiSearchComponent],\n})\nexport class EuiSearchModule {}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Component, ViewEncapsulation, ContentChildren, ChangeDetectionStrategy, HostBinding, Input, Output, EventEmitter, TemplateRef,\n AfterViewInit, QueryList, booleanAttribute,\n AfterContentInit } from '@angular/core';\nimport { EuiAutoCompleteItem } from '@eui/components/eui-autocomplete';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\n@Component({\n selector: 'eui-search',\n templateUrl: './search.component.html',\n styleUrls: ['./_styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiSearchComponent implements AfterViewInit, AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-search',\n this.isInputFocus ? 'eui-search--focus' : '',\n !this.hasExpandAnimation ? 'eui-search--no-animation': '',\n ]\n .join(' ')\n .trim();\n }\n\n isInputFocus = false;\n searchTerm: string;\n searchInput = '';\n\n public resultItemTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n\n @Input() placeholderLabel: string;\n @Input() panelWidth = '25vw';\n @Input() searchResults: EuiAutoCompleteItem[] = [];\n\n @Input({ transform: booleanAttribute }) isAutocomplete = false;\n @Input({ transform: booleanAttribute }) isInputText = false;\n @Input({ transform: booleanAttribute }) hasSearchButton = false;\n @Input({ transform: booleanAttribute }) hasExpandAnimation = true;\n\n @Output() search: EventEmitter<string> = new EventEmitter();\n @Output() selectionChange: EventEmitter<EuiAutoCompleteItem[]> = new EventEmitter();\n @Output() searchClick: EventEmitter<string> = new EventEmitter();\n @Output() inputFocus: EventEmitter<Event> = new EventEmitter();\n @Output() inputBlur: EventEmitter<Event> = new EventEmitter();\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n ngAfterContentInit(): void {\n if (this.isAutocomplete) {\n this.isInputText = false;\n }\n\n if (this.isInputText) {\n this.isAutocomplete = false;\n }\n\n if (!this.isInputText && !this.isAutocomplete) {\n this.isAutocomplete = true;\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'resultItemTemplate') {\n this.resultItemTemplate = item.template;\n }\n });\n }\n\n onSelectionChange(items: EuiAutoCompleteItem[]): void {\n this.selectionChange.emit(items);\n }\n\n onInputFocus(event: Event): void {\n this.inputFocus.emit(event);\n this.isInputFocus = true;\n }\n\n onInputBlur(event: Event): void {\n if (!this.hasSearchButton || (this.hasSearchButton && this.searchInput === '')) {\n this.inputBlur.emit(event);\n this.isInputFocus = false;\n }\n }\n\n onSearch(e: string): void {\n this.searchTerm = e;\n this.search.emit(e);\n }\n\n onSearchInput(e: KeyboardEvent): void {\n if (e.code === 'Enter') {\n this.searchTerm = this.searchInput;\n this.search.emit(this.searchInput);\n }\n }\n\n onSearchClick(): void {\n this.isInputFocus = false;\n if (this.searchInput) {\n this.searchClick.emit(this.searchInput);\n }\n }\n}\n", "<eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]=\"searchResults\"\n placeholder=\"{{placeholderLabel}}\"\n panelWidth=\"{{panelWidth}}\"\n (inputBlur)=\"onInputBlur($event)\"\n (inputFocus)=\"onInputFocus($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (inputChange)=\"onSearch($event)\">\n <ng-container *ngIf=\"templates.length !== 0\">\n <ng-template let-option euiTemplate=\"dropdownOption\">\n <ng-container\n [ngTemplateOutlet]=\"resultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-container>\n </ng-template>\n </ng-container>\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class=\"mywp-search-bar__input\" [(ngModel)]=\"searchInput\"\n placeholder=\"{{ placeholderLabel }}\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (keydown)=\"onSearchInput($event)\" />\n }\n }\n\n @if (hasSearchButton) {\n <button class=\"eui-search__input-button\"\n euiButton\n euiRounded euiIconButton\n [euiSecondary]=\"isInputFocus\"\n [euiPrimary]=\"!isInputFocus\"\n (click)=\"onSearchClick()\"\n aria-label=\"search button\">\n <eui-icon-svg icon=\"eui-ecl-search\"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon=\"eui-ecl-search\"></eui-icon-svg>\n }\n</eui-icon-input>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiIconInputModule } from '@eui/components/eui-icon-input';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\n\nimport { EuiSearchComponent } from './search.component';\nimport { EuiAutocompleteModule } from '@eui/components/eui-autocomplete';\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule, EuiIconModule, EuiIconInputModule, EuiButtonModule, EuiAutocompleteModule, EuiTemplateDirectiveModule,\n EuiInputTextModule, EuiInputGroupModule,\n FormsModule,\n ],\n exports: [EuiSearchComponent],\n declarations: [EuiSearchComponent],\n})\nexport class EuiSearchModule {}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }