@eui/components 18.0.0-next.52 → 18.0.0-next.53

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 (253) hide show
  1. package/docs/components/ChartComponent.html +1 -1
  2. package/docs/components/CollapsedBreadcrumbComponent.html +1 -1
  3. package/docs/components/DefaultComponent-1.html +1 -1
  4. package/docs/components/DefaultComponent.html +1 -1
  5. package/docs/components/EuiAccordionComponent.html +1 -1
  6. package/docs/components/EuiAccordionItemComponent.html +1 -1
  7. package/docs/components/EuiAlertComponent.html +1 -1
  8. package/docs/components/EuiAlertTitleComponent.html +1 -1
  9. package/docs/components/EuiAppBreadcrumbComponent.html +1 -1
  10. package/docs/components/EuiAppComponent.html +2 -14
  11. package/docs/components/EuiAppFooterComponent.html +1 -1
  12. package/docs/components/EuiAppHeaderComponent.html +1 -1
  13. package/docs/components/EuiAppSidebarBodyComponent.html +1 -1
  14. package/docs/components/EuiAppSidebarComponent.html +1 -1
  15. package/docs/components/EuiAppSidebarDrawerComponent.html +1 -1
  16. package/docs/components/EuiAppSidebarFooterComponent.html +1 -1
  17. package/docs/components/EuiAppSidebarHeaderComponent.html +1 -1
  18. package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +1 -1
  19. package/docs/components/EuiAppSidebarMenuComponent.html +1 -1
  20. package/docs/components/EuiAppToolbarComponent.html +35 -93
  21. package/docs/components/EuiAppTopMessageComponent.html +1 -1
  22. package/docs/components/EuiAutocompleteAsyncTestComponent.html +1 -1
  23. package/docs/components/EuiAutocompleteChipsAsyncTestComponent.html +1 -1
  24. package/docs/components/EuiAutocompleteChipsTestComponent.html +1 -1
  25. package/docs/components/EuiAutocompleteComponent.html +1 -1
  26. package/docs/components/EuiAutocompleteOptionComponent.html +1 -1
  27. package/docs/components/EuiAutocompleteOptionGroupComponent.html +1 -1
  28. package/docs/components/EuiAutocompleteTestComponent.html +1 -1
  29. package/docs/components/EuiAvatarBadgeComponent.html +1 -1
  30. package/docs/components/EuiAvatarComponent.html +1 -1
  31. package/docs/components/EuiAvatarIconComponent.html +1 -1
  32. package/docs/components/EuiAvatarImageComponent.html +1 -1
  33. package/docs/components/EuiAvatarListComponent.html +1 -1
  34. package/docs/components/EuiAvatarTextComponent.html +1 -1
  35. package/docs/components/EuiBadgeComponent.html +1 -1
  36. package/docs/components/EuiBlockContentComponent.html +1 -1
  37. package/docs/components/EuiBlockDocumentComponent.html +1 -1
  38. package/docs/components/EuiBreadcrumbComponent.html +1 -1
  39. package/docs/components/EuiBreadcrumbItemComponent.html +1 -1
  40. package/docs/components/EuiButtonComponent.html +1 -1
  41. package/docs/components/EuiButtonGroupComponent.html +1 -1
  42. package/docs/components/EuiButtonV2Component.html +1 -1
  43. package/docs/components/EuiCardComponent.html +1 -1
  44. package/docs/components/EuiCardContentComponent.html +1 -1
  45. package/docs/components/EuiCardFooterActionButtonsComponent.html +1 -1
  46. package/docs/components/EuiCardFooterActionIconsComponent.html +1 -1
  47. package/docs/components/EuiCardFooterComponent.html +1 -1
  48. package/docs/components/EuiCardFooterMenuContentComponent.html +1 -1
  49. package/docs/components/EuiCardHeaderBodyComponent.html +1 -1
  50. package/docs/components/EuiCardHeaderComponent.html +1 -1
  51. package/docs/components/EuiCardHeaderLeftContentComponent.html +1 -1
  52. package/docs/components/EuiCardHeaderRightContentComponent.html +1 -1
  53. package/docs/components/EuiCardHeaderSubtitleComponent.html +1 -1
  54. package/docs/components/EuiCardHeaderTitleComponent.html +1 -1
  55. package/docs/components/EuiCardMediaComponent.html +1 -1
  56. package/docs/components/EuiChipComponent.html +1 -1
  57. package/docs/components/EuiChipListComponent.html +1 -1
  58. package/docs/components/EuiDashboardButtonComponent.html +1 -1
  59. package/docs/components/EuiDashboardCardComponent.html +1 -1
  60. package/docs/components/EuiDateRangeSelectorComponent.html +1 -1
  61. package/docs/components/EuiDatepickerComponent.html +1 -1
  62. package/docs/components/EuiDialogComponent.html +1 -1
  63. package/docs/components/EuiDialogContainerComponent.html +1 -1
  64. package/docs/components/EuiDimmerComponent.html +1 -1
  65. package/docs/components/EuiDisableContentComponent.html +1 -1
  66. package/docs/components/EuiDiscussionThreadComponent.html +1 -1
  67. package/docs/components/EuiDiscussionThreadItemComponent.html +1 -1
  68. package/docs/components/EuiDropdownComponent.html +1 -1
  69. package/docs/components/EuiDropdownItemComponent.html +1 -1
  70. package/docs/components/EuiEditorComponent.html +1 -1
  71. package/docs/components/EuiEditorCountersComponent.html +1 -1
  72. package/docs/components/EuiEditorHtmlViewComponent.html +1 -1
  73. package/docs/components/EuiEditorImageDialogComponent.html +1 -1
  74. package/docs/components/EuiEditorJsonViewComponent.html +1 -1
  75. package/docs/components/EuiFeedbackMessageComponent.html +1 -1
  76. package/docs/components/EuiFieldsetComponent.html +1 -1
  77. package/docs/components/EuiFilePreviewComponent.html +1 -1
  78. package/docs/components/EuiFileUploadComponent.html +1 -1
  79. package/docs/components/EuiFileUploadProgressComponent.html +1 -1
  80. package/docs/components/EuiFooterComponent.html +1 -1
  81. package/docs/components/EuiGrowlComponent.html +1 -1
  82. package/docs/components/EuiHeaderAppComponent.html +1 -1
  83. package/docs/components/EuiHeaderAppNameComponent.html +1 -1
  84. package/docs/components/EuiHeaderAppNameLogoComponent.html +1 -1
  85. package/docs/components/EuiHeaderAppSubtitleComponent.html +1 -1
  86. package/docs/components/EuiHeaderComponent.html +2 -2
  87. package/docs/components/EuiHeaderEnvironmentComponent.html +1 -1
  88. package/docs/components/EuiHeaderLogoComponent.html +1 -1
  89. package/docs/components/EuiHeaderRightContentComponent.html +1 -1
  90. package/docs/components/EuiHeaderUserProfileComponent.html +1 -1
  91. package/docs/components/EuiIconButtonComponent.html +1 -1
  92. package/docs/components/EuiIconButtonExpanderComponent.html +1 -1
  93. package/docs/components/EuiIconColorComponent.html +1 -1
  94. package/docs/components/EuiIconInputComponent.html +1 -1
  95. package/docs/components/EuiIconSvgComponent.html +1 -1
  96. package/docs/components/EuiIconToggleComponent.html +1 -1
  97. package/docs/components/EuiInputCheckboxComponent.html +1 -1
  98. package/docs/components/EuiInputGroupComponent.html +1 -1
  99. package/docs/components/EuiInputNumberComponent.html +1 -1
  100. package/docs/components/EuiInputRadioComponent.html +1 -1
  101. package/docs/components/EuiInputTextComponent.html +1 -1
  102. package/docs/components/EuiLabelComponent.html +1 -1
  103. package/docs/components/EuiLanguageSelectorComponent.html +1 -1
  104. package/docs/components/EuiListComponent.html +1 -1
  105. package/docs/components/EuiListItemComponent.html +1 -1
  106. package/docs/components/EuiMenuComponent.html +1 -1
  107. package/docs/components/EuiMenuItemComponent.html +2 -2
  108. package/docs/components/EuiMessageBoxComponent.html +1 -1
  109. package/docs/components/EuiModalSelectorComponent.html +1 -1
  110. package/docs/components/EuiNotificationItemComponent.html +2 -2
  111. package/docs/components/EuiNotificationItemV2Component.html +2 -2
  112. package/docs/components/EuiNotificationsComponent.html +1 -1
  113. package/docs/components/EuiNotificationsV2Component.html +1 -1
  114. package/docs/components/EuiOverlayBodyComponent.html +1 -1
  115. package/docs/components/EuiOverlayComponent.html +1 -1
  116. package/docs/components/EuiOverlayFooterComponent.html +1 -1
  117. package/docs/components/EuiOverlayHeaderComponent.html +1 -1
  118. package/docs/components/EuiOverlayHeaderTitleComponent.html +1 -1
  119. package/docs/components/EuiPageBreadcrumbComponent.html +1 -1
  120. package/docs/components/EuiPageColumnComponent.html +1 -1
  121. package/docs/components/EuiPageColumnsComponent.html +1 -1
  122. package/docs/components/EuiPageComponent.html +1 -1
  123. package/docs/components/EuiPageContentComponent.html +1 -1
  124. package/docs/components/EuiPageFooterComponent.html +1 -1
  125. package/docs/components/EuiPageHeaderActionItemsComponent.html +1 -1
  126. package/docs/components/EuiPageHeaderBodyComponent.html +1 -1
  127. package/docs/components/EuiPageHeaderComponent.html +1 -1
  128. package/docs/components/EuiPageHeaderSubLabelComponent.html +1 -1
  129. package/docs/components/EuiPageHeroHeaderComponent.html +1 -1
  130. package/docs/components/EuiPageTopContentComponent.html +1 -1
  131. package/docs/components/EuiPaginatorComponent.html +18 -43
  132. package/docs/components/EuiPopoverComponent.html +1 -1
  133. package/docs/components/EuiProgressBarComponent.html +1 -1
  134. package/docs/components/EuiProgressCircleComponent.html +1 -1
  135. package/docs/components/EuiResizableComponent.html +1 -1
  136. package/docs/components/EuiSearchComponent.html +1 -1
  137. package/docs/components/EuiSelectComponent.html +1 -1
  138. package/docs/components/EuiSidebarMenuComponent.html +1 -1
  139. package/docs/components/EuiSidebarToggleComponent.html +2 -7
  140. package/docs/components/EuiSkeletonComponent.html +1 -1
  141. package/docs/components/EuiSlideToggleComponent.html +1 -1
  142. package/docs/components/EuiSlideToggleTestComponent.html +1 -1
  143. package/docs/components/EuiTabComponent.html +1 -1
  144. package/docs/components/EuiTabContentComponent.html +1 -1
  145. package/docs/components/EuiTabLabelComponent.html +1 -1
  146. package/docs/components/EuiTableComponent.html +1 -1
  147. package/docs/components/EuiTableExpandableRowComponent.html +1 -1
  148. package/docs/components/EuiTableFilterComponent.html +1 -1
  149. package/docs/components/EuiTableSelectableHeaderComponent.html +1 -1
  150. package/docs/components/EuiTableSelectableRowComponent.html +1 -1
  151. package/docs/components/EuiTableSortableColComponent.html +1 -1
  152. package/docs/components/EuiTableV2Component.html +1 -1
  153. package/docs/components/EuiTableV2FilterComponent.html +1 -1
  154. package/docs/components/EuiTableV2SelectableHeaderComponent.html +1 -1
  155. package/docs/components/EuiTableV2SelectableRowComponent.html +1 -1
  156. package/docs/components/EuiTableV2SortableColComponent.html +1 -1
  157. package/docs/components/EuiTabsComponent.html +1 -1
  158. package/docs/components/EuiTextareaComponent.html +1 -1
  159. package/docs/components/EuiTimebarComponent.html +1 -1
  160. package/docs/components/EuiTimelineComponent.html +1 -1
  161. package/docs/components/EuiTimelineItemComponent.html +1 -1
  162. package/docs/components/EuiTimepickerComponent.html +1 -1
  163. package/docs/components/EuiToolbarAppComponent.html +1 -1
  164. package/docs/components/EuiToolbarCenterComponent.html +1 -1
  165. package/docs/components/EuiToolbarComponent.html +66 -38
  166. package/docs/components/EuiToolbarEnvironmentComponent.html +1 -1
  167. package/docs/components/EuiToolbarItemComponent.html +1 -1
  168. package/docs/components/EuiToolbarItemsComponent.html +1 -1
  169. package/docs/components/EuiToolbarLogoComponent.html +1 -1
  170. package/docs/components/EuiToolbarMenuComponent.html +1 -1
  171. package/docs/components/EuiToolbarNavbarComponent.html +543 -0
  172. package/docs/components/EuiToolbarNavbarItemComponent.html +631 -0
  173. package/docs/components/EuiToolbarStartComponent.html +385 -0
  174. package/docs/components/EuiTooltipContainerComponent.html +1 -1
  175. package/docs/components/EuiTreeComponent.html +1 -1
  176. package/docs/components/EuiTreeListComponent.html +1 -1
  177. package/docs/components/EuiTreeListItemComponent.html +1 -1
  178. package/docs/components/EuiTreeListItemContentComponent.html +1 -1
  179. package/docs/components/EuiTreeListToolbarComponent.html +1 -1
  180. package/docs/components/EuiUserProfileCardComponent.html +1 -1
  181. package/docs/components/EuiUserProfileComponent.html +1 -1
  182. package/docs/components/EuiUserProfileMenuComponent.html +1 -1
  183. package/docs/components/EuiUserProfileMenuItemComponent.html +1 -1
  184. package/docs/components/EuiWizardComponent.html +1 -1
  185. package/docs/components/EuiWizardStepComponent.html +1 -1
  186. package/docs/components/PaginationComponent.html +1 -1
  187. package/docs/components/PlaygroundComponent-1.html +1 -1
  188. package/docs/components/PlaygroundComponent.html +1 -1
  189. package/docs/components/PlaygroundStickyLastColumnComponent.html +1 -1
  190. package/docs/components/QuillEditorComponent.html +1 -1
  191. package/docs/components/VirtualScrollAsyncComponent.html +1 -1
  192. package/docs/components/VirtualScrollComponent.html +1 -1
  193. package/docs/dependencies.html +1 -3
  194. package/docs/index.html +1 -1
  195. package/docs/js/menu-wc.js +12 -3
  196. package/docs/js/menu-wc_es5.js +1 -1
  197. package/docs/js/search/search_index.js +2 -2
  198. package/docs/miscellaneous/variables.html +3 -0
  199. package/esm2022/eui-button/eui-button.component.mjs +2 -2
  200. package/esm2022/eui-menu/eui-menu-item.component.mjs +6 -7
  201. package/esm2022/eui-paginator/eui-paginator.component.mjs +10 -5
  202. package/esm2022/eui-table/eui-table.component.mjs +2 -2
  203. package/esm2022/layout/eui-app/eui-app-header/header.component.mjs +3 -2
  204. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +3 -2
  205. package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +17 -14
  206. package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +4 -3
  207. package/esm2022/layout/eui-app/eui-app.component.mjs +22 -30
  208. package/esm2022/layout/eui-header/header.component.mjs +3 -3
  209. package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +4 -4
  210. package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +2 -2
  211. package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +4 -4
  212. package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +2 -2
  213. package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.component.mjs +1 -2
  214. package/esm2022/layout/eui-toolbar/index.mjs +4 -1
  215. package/esm2022/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.mjs +39 -0
  216. package/esm2022/layout/eui-toolbar/toolbar-navbar-item/toolbar-navbar-item.component.mjs +66 -0
  217. package/esm2022/layout/eui-toolbar/toolbar-start/toolbar-start.component.mjs +20 -0
  218. package/esm2022/layout/eui-toolbar/toolbar.component.mjs +15 -6
  219. package/esm2022/layout/eui-toolbar/toolbar.module.mjs +15 -3
  220. package/eui-paginator/eui-paginator.component.d.ts +1 -1
  221. package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
  222. package/fesm2022/eui-components-eui-button.mjs +2 -2
  223. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  224. package/fesm2022/eui-components-eui-menu.mjs +10 -11
  225. package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
  226. package/fesm2022/eui-components-eui-paginator.mjs +25 -20
  227. package/fesm2022/eui-components-eui-paginator.mjs.map +2 -2
  228. package/fesm2022/eui-components-eui-table.mjs +2 -2
  229. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  230. package/fesm2022/eui-components-layout.mjs +754 -593
  231. package/fesm2022/eui-components-layout.mjs.map +4 -4
  232. package/layout/eui-app/eui-app-header/header.component.d.ts.map +1 -1
  233. package/layout/eui-app/eui-app-sidebar/sidebar.component.d.ts.map +1 -1
  234. package/layout/eui-app/eui-app-toolbar/toolbar.component.d.ts +6 -6
  235. package/layout/eui-app/eui-app-toolbar/toolbar.component.d.ts.map +1 -1
  236. package/layout/eui-app/eui-app-top-message/top-message.component.d.ts.map +1 -1
  237. package/layout/eui-app/eui-app.component.d.ts +1 -3
  238. package/layout/eui-app/eui-app.component.d.ts.map +1 -1
  239. package/layout/eui-sidebar-toggle/sidebar-toggle.component.d.ts +1 -1
  240. package/layout/eui-sidebar-toggle/sidebar-toggle.component.d.ts.map +1 -1
  241. package/layout/eui-toolbar/index.d.ts +3 -0
  242. package/layout/eui-toolbar/index.d.ts.map +1 -1
  243. package/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.d.ts +12 -0
  244. package/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.d.ts.map +1 -0
  245. package/layout/eui-toolbar/toolbar-navbar-item/toolbar-navbar-item.component.d.ts +17 -0
  246. package/layout/eui-toolbar/toolbar-navbar-item/toolbar-navbar-item.component.d.ts.map +1 -0
  247. package/layout/eui-toolbar/toolbar-start/toolbar-start.component.d.ts +7 -0
  248. package/layout/eui-toolbar/toolbar-start/toolbar-start.component.d.ts.map +1 -0
  249. package/layout/eui-toolbar/toolbar.component.d.ts +4 -2
  250. package/layout/eui-toolbar/toolbar.component.d.ts.map +1 -1
  251. package/layout/eui-toolbar/toolbar.module.d.ts +10 -7
  252. package/layout/eui-toolbar/toolbar.module.d.ts.map +1 -1
  253. package/package.json +9 -9
@@ -7,10 +7,9 @@ import * as i1 from "@eui/components/shared";
7
7
  import * as i2 from "@angular/common";
8
8
  import * as i3 from "@angular/router";
9
9
  import * as i4 from "@eui/components/eui-icon";
10
- import * as i5 from "@eui/components/eui-chip";
11
- import * as i6 from "@eui/components/eui-button";
12
- import * as i7 from "@eui/components/directives";
13
- import * as i8 from "@eui/components/eui-badge";
10
+ import * as i5 from "@eui/components/eui-button";
11
+ import * as i6 from "@eui/components/directives";
12
+ import * as i7 from "@eui/components/eui-badge";
14
13
  var EuiMenuItemComponent = class _EuiMenuItemComponent {
15
14
  get cssClasses() {
16
15
  return this.getCssClasses();
@@ -362,9 +361,9 @@ var EuiMenuItemComponent = class _EuiMenuItemComponent {
362
361
  @if (isCollapsed) {
363
362
  <eui-badge [euiVariant]="item.tagTypeClass" class="eui-menu-item__link-dotted-badge"></eui-badge>
364
363
  } @else {
365
- <eui-chip euiSizeXS euiOutline [euiVariant]="item.tagTypeClass" class="eui-menu-item__link-tag-label" [ariaLabel]="item.tagLabel">
366
- <span euiLabel class="eui-label">{{ item.tagLabel }}</span>
367
- </eui-chip>
364
+ <eui-badge euiSizeS [euiVariant]="item.tagTypeClass">
365
+ {{ item.tagLabel }}
366
+ </eui-badge>
368
367
  }
369
368
  }
370
369
 
@@ -405,7 +404,7 @@ var EuiMenuItemComponent = class _EuiMenuItemComponent {
405
404
  <eui-icon-svg *ngIf="!item.expanded" icon="eui-chevron-down"></eui-icon-svg>
406
405
  </button>
407
406
  </ng-template>
408
- `, 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:1px 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:1px solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.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 [tabindex="0"]:focus: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-s);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link.eui-menu-item__link-category{cursor:default}.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{font:var(--eui-f-m-bold);text-transform:uppercase;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){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-4xl)}.eui-menu-item .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-2xl);padding-bottom:var(--eui-s-2xs);padding-top:var(--eui-s-2xs);border-top:0}\n'], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i5.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared"], outputs: ["remove"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i7.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "component", type: i8.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label"] }], encapsulation: i0.ViewEncapsulation.None });
407
+ `, 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:1px 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:1px solid transparent}.eui-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.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 [tabindex="0"]:focus: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-s);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link.eui-menu-item__link-category{cursor:default}.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{font:var(--eui-f-m-bold);text-transform:uppercase;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){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-4xl)}.eui-menu-item .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-2xl);padding-bottom:var(--eui-s-2xs);padding-top:var(--eui-s-2xs);border-top:0}\n'], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i5.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i6.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "component", type: i7.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label"] }], encapsulation: i0.ViewEncapsulation.None });
409
408
  }
410
409
  };
411
410
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EuiMenuItemComponent, decorators: [{
@@ -643,9 +642,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
643
642
  @if (isCollapsed) {
644
643
  <eui-badge [euiVariant]="item.tagTypeClass" class="eui-menu-item__link-dotted-badge"></eui-badge>
645
644
  } @else {
646
- <eui-chip euiSizeXS euiOutline [euiVariant]="item.tagTypeClass" class="eui-menu-item__link-tag-label" [ariaLabel]="item.tagLabel">
647
- <span euiLabel class="eui-label">{{ item.tagLabel }}</span>
648
- </eui-chip>
645
+ <eui-badge euiSizeS [euiVariant]="item.tagTypeClass">
646
+ {{ item.tagLabel }}
647
+ </eui-badge>
649
648
  }
650
649
  }
651
650
 
@@ -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 this.getCssClasses();\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\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 && !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=\"eui-ellipse\"\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=\"eui-ellipse\"\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=\"eui-ellipse\"\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=\"eui-ellipse\"\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=\"eui-ellipse\"\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=\"eui-ellipse\"\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-chip euiSizeXS euiOutline [euiVariant]=\"item.tagTypeClass\" class=\"eui-menu-item__link-tag-label\" [ariaLabel]=\"item.tagLabel\">\n <span euiLabel class=\"eui-label\">{{ item.tagLabel }}</span>\n </eui-chip>\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=\"eui-chevron-up\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!item.expanded\" icon=\"eui-chevron-down\"></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, NavigationEnd, Event as RouterEvent } 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\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 this.subscription = this.router.events.subscribe((event: RouterEvent) => {\n if (event instanceof NavigationEnd) {\n const item = this.findMostRelevantItem(event.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 }\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-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 [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 this.getCssClasses();\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\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 && !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=\"eui-ellipse\"\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=\"eui-ellipse\"\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=\"eui-ellipse\"\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=\"eui-ellipse\"\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=\"eui-ellipse\"\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=\"eui-ellipse\"\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 euiSizeS [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=\"eui-chevron-up\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!item.expanded\" icon=\"eui-chevron-down\"></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, NavigationEnd, Event as RouterEvent } 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\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 this.subscription = this.router.events.subscribe((event: RouterEvent) => {\n if (event instanceof NavigationEnd) {\n const item = this.findMostRelevantItem(event.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 }\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-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 [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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",
6
6
  "names": ["Component", "HostBinding", "ViewEncapsulation", "Input", "Output", "EventEmitter", "HostListener", "booleanAttribute", "consumeEvent", "BaseStatesDirective", "i0"]
7
7
  }
@@ -13,6 +13,12 @@ import * as i5 from "@angular/forms";
13
13
  import * as i6 from "@eui/components/eui-select";
14
14
  import * as i7 from "@ngx-translate/core";
15
15
  var EuiPaginatorComponent = class _EuiPaginatorComponent {
16
+ get cssClasses() {
17
+ return [
18
+ "eui-paginator",
19
+ this.isHidden ? "eui-paginator--hidden" : ""
20
+ ].join(" ").trim();
21
+ }
16
22
  get isHidden() {
17
23
  return this._isHidden;
18
24
  }
@@ -35,7 +41,6 @@ var EuiPaginatorComponent = class _EuiPaginatorComponent {
35
41
  this.EuiAppShellService = EuiAppShellService2;
36
42
  this.decimal = decimal;
37
43
  this.e2eAttr = "eui-paginator";
38
- this.string = "eui-paginator";
39
44
  this.pageSizeOptions = [5, 10, 25, 50, 100];
40
45
  this.pageSize = 10;
41
46
  this.page = 0;
@@ -180,7 +185,7 @@ var EuiPaginatorComponent = class _EuiPaginatorComponent {
180
185
  this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: _EuiPaginatorComponent, deps: [{ token: i1.EuiAppShellService }, { token: i2.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
181
186
  }
182
187
  static {
183
- this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-rc.0", type: _EuiPaginatorComponent, selector: "eui-paginator", inputs: { e2eAttr: "e2eAttr", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", page: "page", length: "length", nbPageNumberNavigation: "nbPageNumberNavigation", isHidden: "isHidden", hasPageNumberNavigation: "hasPageNumberNavigation", hasDynamicLength: "hasDynamicLength" }, outputs: { pageChange: "pageChange" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.string" } }, providers: [DecimalPipe], usesOnChanges: true, ngImport: i0, template: `<div *ngIf="!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile" class="eui-paginator__page">
188
+ this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-rc.0", type: _EuiPaginatorComponent, selector: "eui-paginator", inputs: { e2eAttr: "e2eAttr", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", page: "page", length: "length", nbPageNumberNavigation: "nbPageNumberNavigation", isHidden: "isHidden", hasPageNumberNavigation: "hasPageNumberNavigation", hasDynamicLength: "hasDynamicLength" }, outputs: { pageChange: "pageChange" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.cssClasses" } }, providers: [DecimalPipe], usesOnChanges: true, ngImport: i0, template: `<div class="eui-paginator__page">
184
189
  <div class="eui-paginator__page-selector">
185
190
  <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>
186
191
  <div class="eui-u-pl-xs eui-u-pb-2xs">
@@ -195,11 +200,11 @@ var EuiPaginatorComponent = class _EuiPaginatorComponent {
195
200
  </div>
196
201
  </div>
197
202
 
198
- <div *ngIf="!isHidden" class="eui-paginator__page-navigation">
203
+ <div class="eui-paginator__page-navigation">
199
204
  <div class="eui-paginator__page-navigation-item">
200
205
  <button
201
206
  type="button"
202
- [euiSizeS]="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile"
207
+ euiSizeS
203
208
  euiButton
204
209
  euiIconButton
205
210
  euiBasicButton
@@ -212,7 +217,7 @@ var EuiPaginatorComponent = class _EuiPaginatorComponent {
212
217
  <div class="eui-paginator__page-navigation-item">
213
218
  <button
214
219
  type="button"
215
- [euiSizeS]="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile"
220
+ euiSizeS
216
221
  euiButton
217
222
  euiIconButton
218
223
  euiBasicButton
@@ -225,7 +230,7 @@ var EuiPaginatorComponent = class _EuiPaginatorComponent {
225
230
  </div>
226
231
  <div
227
232
  class="eui-paginator__page-navigation-numbers"
228
- *ngIf="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile">
233
+ *ngIf="hasPageNumberNavigation">
229
234
  <button
230
235
  type="button"
231
236
  euiSizeS
@@ -239,13 +244,13 @@ var EuiPaginatorComponent = class _EuiPaginatorComponent {
239
244
  {{ pageNumber + 1 | number }}
240
245
  </button>
241
246
  </div>
242
- <div *ngIf="(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile" class="eui-paginator__page-range">
247
+ <div *ngIf="(length$ | async) > 0" class="eui-paginator__page-range">
243
248
  {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}
244
249
  </div>
245
250
  <div class="eui-paginator__page-navigation-item">
246
251
  <button
247
252
  type="button"
248
- [euiSizeS]="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile"
253
+ euiSizeS
249
254
  euiButton
250
255
  euiIconButton
251
256
  euiBasicButton
@@ -258,7 +263,7 @@ var EuiPaginatorComponent = class _EuiPaginatorComponent {
258
263
  <div class="eui-paginator__page-navigation-item">
259
264
  <button
260
265
  type="button"
261
- [euiSizeS]="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile"
266
+ euiSizeS
262
267
  euiButton
263
268
  euiIconButton
264
269
  euiBasicButton
@@ -269,12 +274,12 @@ var EuiPaginatorComponent = class _EuiPaginatorComponent {
269
274
  </button>
270
275
  </div>
271
276
  </div>
272
- `, styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-s-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:var(--eui-f-l)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:var(--eui-f-s)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-s-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:var(--eui-f-s)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-s-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-s-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-s-m)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.EuiSelectComponent, selector: "select[euiSelect]", inputs: ["placeholder", "readonly", "isInvalid"] }, { kind: "directive", type: i6.EuiNgSelectOptionDirective, selector: "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]", inputs: ["selected", "label", "ngValue"] }, { kind: "directive", type: i6.EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]", inputs: ["placeholder"] }, { kind: "directive", type: i6.EuiSelectMultipleOption, selector: "option, option[euiOption]", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
277
+ `, styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-s-s) 0;position:relative;width:100%}.eui-paginator--hidden{display:none}.eui-paginator__page{display:flex;flex-direction:column;font:var(--eui-f-l)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:var(--eui-f-s)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-s-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;font:var(--eui-f-s);display:none}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-s-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-s-s) 0;width:100%}.eui-paginator__page{display:none}.eui-paginator__page-range{display:inline-flex;margin:0 var(--eui-s-m)}.eui-paginator__page-navigation-numbers{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.EuiSelectComponent, selector: "select[euiSelect]", inputs: ["placeholder", "readonly", "isInvalid"] }, { kind: "directive", type: i6.EuiNgSelectOptionDirective, selector: "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]", inputs: ["selected", "label", "ngValue"] }, { kind: "directive", type: i6.EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]", inputs: ["placeholder"] }, { kind: "directive", type: i6.EuiSelectMultipleOption, selector: "option, option[euiOption]", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
273
278
  }
274
279
  };
275
280
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EuiPaginatorComponent, decorators: [{
276
281
  type: Component,
277
- args: [{ selector: "eui-paginator", encapsulation: ViewEncapsulation.None, providers: [DecimalPipe], template: `<div *ngIf="!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile" class="eui-paginator__page">
282
+ args: [{ selector: "eui-paginator", encapsulation: ViewEncapsulation.None, providers: [DecimalPipe], template: `<div class="eui-paginator__page">
278
283
  <div class="eui-paginator__page-selector">
279
284
  <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>
280
285
  <div class="eui-u-pl-xs eui-u-pb-2xs">
@@ -289,11 +294,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
289
294
  </div>
290
295
  </div>
291
296
 
292
- <div *ngIf="!isHidden" class="eui-paginator__page-navigation">
297
+ <div class="eui-paginator__page-navigation">
293
298
  <div class="eui-paginator__page-navigation-item">
294
299
  <button
295
300
  type="button"
296
- [euiSizeS]="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile"
301
+ euiSizeS
297
302
  euiButton
298
303
  euiIconButton
299
304
  euiBasicButton
@@ -306,7 +311,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
306
311
  <div class="eui-paginator__page-navigation-item">
307
312
  <button
308
313
  type="button"
309
- [euiSizeS]="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile"
314
+ euiSizeS
310
315
  euiButton
311
316
  euiIconButton
312
317
  euiBasicButton
@@ -319,7 +324,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
319
324
  </div>
320
325
  <div
321
326
  class="eui-paginator__page-navigation-numbers"
322
- *ngIf="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile">
327
+ *ngIf="hasPageNumberNavigation">
323
328
  <button
324
329
  type="button"
325
330
  euiSizeS
@@ -333,13 +338,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
333
338
  {{ pageNumber + 1 | number }}
334
339
  </button>
335
340
  </div>
336
- <div *ngIf="(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile" class="eui-paginator__page-range">
341
+ <div *ngIf="(length$ | async) > 0" class="eui-paginator__page-range">
337
342
  {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}
338
343
  </div>
339
344
  <div class="eui-paginator__page-navigation-item">
340
345
  <button
341
346
  type="button"
342
- [euiSizeS]="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile"
347
+ euiSizeS
343
348
  euiButton
344
349
  euiIconButton
345
350
  euiBasicButton
@@ -352,7 +357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
352
357
  <div class="eui-paginator__page-navigation-item">
353
358
  <button
354
359
  type="button"
355
- [euiSizeS]="hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile"
360
+ euiSizeS
356
361
  euiButton
357
362
  euiIconButton
358
363
  euiBasicButton
@@ -363,13 +368,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
363
368
  </button>
364
369
  </div>
365
370
  </div>
366
- `, styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-s-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:var(--eui-f-l)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:var(--eui-f-s)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-s-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:var(--eui-f-s)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-s-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-s-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-s-m)}}\n"] }]
371
+ `, styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-s-s) 0;position:relative;width:100%}.eui-paginator--hidden{display:none}.eui-paginator__page{display:flex;flex-direction:column;font:var(--eui-f-l)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:var(--eui-f-s)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-s-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;font:var(--eui-f-s);display:none}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-s-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-s-s) 0;width:100%}.eui-paginator__page{display:none}.eui-paginator__page-range{display:inline-flex;margin:0 var(--eui-s-m)}.eui-paginator__page-navigation-numbers{display:none}}\n"] }]
367
372
  }], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i2.DecimalPipe }], propDecorators: { e2eAttr: [{
368
373
  type: HostBinding,
369
374
  args: ["attr.data-e2e"]
370
375
  }, {
371
376
  type: Input
372
- }], string: [{
377
+ }], cssClasses: [{
373
378
  type: HostBinding,
374
379
  args: ["class"]
375
380
  }], pageSizeOptions: [{