@eui/components 19.2.0-snapshot-1745652012270 → 19.2.0-snapshot-1745830490717

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 (44) hide show
  1. package/docs/components/EuiAppComponent.html +1 -1
  2. package/docs/components/EuiFileUploadComponent.html +0 -1
  3. package/docs/components/EuiNotificationItemComponent.html +0 -1
  4. package/docs/components/EuiNotificationsComponent.html +0 -1
  5. package/docs/components/EuiTableComponent.html +0 -1
  6. package/docs/components/EuiTableV2Component.html +0 -1
  7. package/docs/components/EuiTabsComponent.html +0 -2
  8. package/docs/components/EuiTreeComponent.html +1 -0
  9. package/docs/components/EuiTreeListItemComponent.html +1 -0
  10. package/docs/dependencies.html +2 -2
  11. package/docs/js/menu-wc.js +54 -19
  12. package/docs/js/menu-wc_es5.js +1 -1
  13. package/docs/js/search/search_index.js +2 -2
  14. package/docs/miscellaneous/variables.html +46 -0
  15. package/docs/modules/EuiAppModule.html +451 -9
  16. package/docs/modules/EuiFileUploadModule.html +4 -1
  17. package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
  18. package/eui-file-upload/eui-file-upload.module.d.ts +1 -2
  19. package/eui-file-upload/eui-file-upload.module.d.ts.map +1 -1
  20. package/eui-table/eui-table.component.d.ts.map +1 -1
  21. package/eui-table-v2/eui-table-v2.component.d.ts.map +1 -1
  22. package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
  23. package/eui-tree/eui-tree.component.d.ts.map +1 -1
  24. package/eui-tree-list/eui-tree-list-item.component.d.ts.map +1 -1
  25. package/fesm2022/eui-components-eui-file-upload.mjs +4 -5
  26. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  27. package/fesm2022/eui-components-eui-table-v2.mjs +0 -1
  28. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  29. package/fesm2022/eui-components-eui-table.mjs +0 -1
  30. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  31. package/fesm2022/eui-components-eui-tabs.mjs +0 -3
  32. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  33. package/fesm2022/eui-components-eui-tree-list.mjs +3 -1
  34. package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
  35. package/fesm2022/eui-components-eui-tree.mjs +3 -2
  36. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  37. package/fesm2022/eui-components-layout.mjs +66 -21
  38. package/fesm2022/eui-components-layout.mjs.map +1 -1
  39. package/layout/eui-app/eui-app.component.d.ts.map +1 -1
  40. package/layout/eui-app/eui-app.module.d.ts +15 -5
  41. package/layout/eui-app/eui-app.module.d.ts.map +1 -1
  42. package/layout/eui-notifications/eui-notification-item.component.d.ts.map +1 -1
  43. package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
  44. package/package.json +3 -3
@@ -9,7 +9,6 @@ import { animate, style } from '@angular/animations';
9
9
  import { Subject, takeUntil, startWith, filter } from 'rxjs';
10
10
  import * as i1$1 from '@angular/router';
11
11
  import { NavigationEnd } from '@angular/router';
12
- import { NgClass, AsyncPipe } from '@angular/common';
13
12
  import * as i5 from '@eui/components/eui-icon';
14
13
  import { EUI_ICON } from '@eui/components/eui-icon';
15
14
  import * as i6 from '@eui/components/eui-button';
@@ -560,8 +559,6 @@ class EuiTabsComponent {
560
559
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EuiTabsComponent, decorators: [{
561
560
  type: Component,
562
561
  args: [{ selector: 'eui-tabs', encapsulation: ViewEncapsulation.None, imports: [
563
- NgClass,
564
- AsyncPipe,
565
562
  PortalModule,
566
563
  EuiTooltipDirective,
567
564
  ...EUI_ICON,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-tabs.mjs","sources":["../../eui-tabs/eui-tab-content/eui-tab-content.component.ts","../../eui-tabs/eui-tab-content/eui-tab-content.component.html","../../eui-tabs/eui-tab-label/eui-tab-label.component.ts","../../eui-tabs/eui-tab-label/eui-tab-label.component.html","../../eui-tabs/eui-tab/eui-tab.component.ts","../../eui-tabs/eui-tabs.component.ts","../../eui-tabs/eui-tabs.component.html","../../eui-tabs/eui-tabs.module.ts","../../eui-tabs/index.ts","../../eui-tabs/eui-components-eui-tabs.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n/**\n * @description\n * Component used to display the content of the tab.\n */\n@Component({\n selector: 'eui-tab-content, euiTabContent',\n templateUrl: './eui-tab-content.component.html',\n})\nexport class EuiTabContentComponent implements AfterViewInit {\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 @ViewChild('euiTabContent') templateRef: TemplateRef<any>;\n\n public templatePortal: TemplatePortal;\n\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #euiTabContent>\n <div tabindex=\"0\" class=\"eui-tab-content\" [class.eui-tab-content--no-padding]=\"this.hasNoContentPadding\">\n <ng-content></ng-content>\n </div>\n</ng-template>","import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, Directive } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n/**\n * @description\n * Component used to display the label of the header tab.\n */\n@Component({\n selector: 'eui-tab-label, euiTabLabel',\n templateUrl: './eui-tab-label.component.html',\n})\nexport class EuiTabLabelComponent implements AfterViewInit {\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 @ViewChild('euiTabLabel') templateRef: TemplateRef<any>;\n\n public templatePortal: TemplatePortal | null;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'euiTabSubLabel' })\nexport class EuiTabSubLabelDirective {}\n","<ng-template #euiTabLabel>\n <div class=\"eui-u-flex eui-u-flex-column\">\n <div class=\"eui-u-flex eui-u-flex-justify-content-center\">\n <div class=\"eui-u-inline-flex eui-tab-item__label-text\">\n <ng-content/>\n </div>\n <ng-content select=\"eui-chip\"/>\n <ng-content select=\"eui-badge\"/>\n </div>\n\n <div class=\"eui-tab-item__sublabel\"><ng-content select=\"euiTabSubLabel\"></ng-content></div>\n </div>\n</ng-template>\n","import { Component, ContentChild, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabContentComponent } from '../eui-tab-content/eui-tab-content.component';\nimport { EuiTabLabelComponent } from '../eui-tab-label/eui-tab-label.component';\n\n/**\n * @description\n * Component used to display a tab item.\n */\n@Component({\n selector: 'eui-tab',\n template: '<ng-content/>',\n styleUrls: ['../styles/_index.scss'],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiDisabled',\n 'euiPrimary',\n 'euiSecondary',\n 'euiInfo',\n 'euiSuccess',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiTabComponent {\n /**\n * URL of the tab if used with the router. Click on the tab header will navigate to this value.\n */\n @Input() url: string;\n /**\n * e2e attribute.\n *\n * @default 'eui-tab'\n */\n @Input() e2eAttr = 'eui-tab';\n /**\n * Tooltip to display when the tab header is hovered.\n */\n @Input() tooltip: string;\n /**\n * Wheter the tab can be closed.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isClosable = false;\n /**\n * Wheter the tab is visible.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n /**\n * Wheter the tab is active.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n /**\n * Wheter the tab is disabled.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Wheter the close is handled on application side.\n *\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n @ContentChild(EuiTabLabelComponent)\n get templateLabel(): EuiTabLabelComponent {\n return this._templateLabel;\n }\n set templateLabel(value: EuiTabLabelComponent) {\n this.setTemplateLabelInput(value);\n }\n protected _templateLabel: EuiTabLabelComponent;\n\n @ContentChild(EuiTabContentComponent)\n get templateContent(): EuiTabContentComponent {\n return this._templateContent;\n }\n set templateContent(value: EuiTabContentComponent) {\n this.setTemplateContentInput(value);\n }\n protected _templateContent: EuiTabContentComponent;\n\n constructor(public baseStatesDirective: BaseStatesDirective) {\n }\n\n protected setTemplateLabelInput(value: EuiTabLabelComponent): void {\n if (value) {\n this._templateLabel = value;\n }\n }\n\n protected setTemplateContentInput(value: EuiTabContentComponent): void {\n if (value) {\n this._templateContent = value;\n }\n }\n}\n","import {\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n OnChanges,\n AfterViewInit,\n ViewChildren,\n ViewContainerRef,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n SimpleChanges,\n HostBinding,\n booleanAttribute,\n ContentChild,\n OnInit,\n} from '@angular/core';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, Subscription, filter, startWith, takeUntil } from 'rxjs';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { EuiAppShellService } from '@eui/core';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\nimport { AsyncPipe, NgClass } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EuiTooltipDirective } from '@eui/components/directives';\n\n/**\n * @description\n * eUI Tabs component helps to organize content into separate views where only one view can be visible at a time.\n * Each tab's label is shown in the tab header and the active tab is designated with a primary ink bar visual.\n * The active tab may be set using the `activeTabIndex` input option or when the user selects one of the tab labels in the header.\n * When the list of tab labels exceeds the width of the header or its container, pagination controls appear to let the user scroll left and right across the tabs.\n */\n@Component({\n selector: 'eui-tabs',\n templateUrl: './eui-tabs.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n AsyncPipe,\n PortalModule,\n EuiTooltipDirective,\n ...EUI_ICON,\n ...EUI_BUTTON,\n ...EUI_ICON_BUTTON,\n ],\n})\nexport class EuiTabsComponent implements OnDestroy, AfterViewInit, OnChanges, OnInit {\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get elementClass(): string {\n return [\n 'eui-tabs',\n this.isMainNavigation ? 'eui-tabs--main-navigation': '',\n this.isVerticalTabs ? 'eui-tabs--vertical': '',\n ].join(' ').trim();\n }\n /**\n * Tabs in data approach\n *\n * @type {EuiTabComponent[]}\n */\n @Input() tabs: EuiTabComponent[] = [];\n /**\n * Index of the active tab\n *\n * @default 0\n */\n @Input() activeTabIndex = null;\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tabs'\n */\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-tabs';\n /**\n * The way the router will consider the url when used on tabs. 'prefix' | 'full'.\n *\n * @default 'prefix'\n */\n @Input() pathMatch: 'prefix' | 'full' = 'prefix';\n\n /**\n * Event emitted when a tab is closed.\n */\n @Output() tabClose = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n /**\n * Event emitted when a tab is selected.\n */\n @Output() tabSelect = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n\n @ContentChildren(forwardRef(() => EuiTabComponent), { descendants: false }) _tabs: QueryList<EuiTabComponent>;\n @ContentChild(forwardRef(() => EuiTabsRightContentTagDirective)) euiTabsRightContentTagDirective: EuiTabsRightContentTagDirective;\n @ViewChildren('euiTabLabelItem', { read: ViewContainerRef }) euiTabLabelItems: QueryList<ViewContainerRef>;\n @ViewChild('euiTabsItems') euiTabsItems: ElementRef;\n @ViewChild('euiTabsItemsWrapper') euiTabsItemsWrapper: ElementRef;\n\n public scrolling = false;\n public navigationLeftButtonDisabled = true;\n public navigationRightButtonDisabled = false;\n public currentOffset = 0;\n\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n @Input({ transform: booleanAttribute }) isHandleChangeTab = false;\n @Input({ transform: booleanAttribute }) isSubTabs = false;\n @Input({ transform: booleanAttribute }) isVerticalTabs = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private routerSubscription: Subscription;\n private player: AnimationPlayer;\n private stepMove = 400;\n private scrollOffset = 50;\n /**\n * For race condition reason, the wrapper width is not correctly calculated when the component passes from no-scroll state to scroll\n * state. To fix this issue, we count the number of times the getScrollingStatus method is called.\n *\n * Scenario 1: The number of tabs does not require any scroll:\n * - Without any fix the scroll will have a delta of 64 at the first activation, then on the first no-scroll to scroll state,\n * - we had 64 to the move\n *\n * Scenario 2: The number of tabs requires a scroll:\n * - In this case the wrapper width is correctly calculated, so we don't need to add the delta\n */\n private scrollingCount = 0;\n\n constructor(\n private cd: ChangeDetectorRef,\n private router: Router,\n private builder: AnimationBuilder,\n private elementRef: ElementRef,\n private euiAppShellService: EuiAppShellService,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c.activeTabIndex) {\n setTimeout(\n () => {\n const activeTab = this.euiTabsItemsWrapper.nativeElement.children.item(c.activeTabIndex.currentValue);\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab)) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= c.activeTabIndex.currentValue; i++) {\n subsetWidth += this.euiTabsItemsWrapper.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = containerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth + this.scrollOffset) {\n scrollTo = -(wrapperWidth - containerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n if (c.activeTabIndex.isFirstChange() && c.activeTabIndex.currentValue > 0) {\n this.setScrollTo(scrollTo, false);\n } else {\n this.setScrollTo(scrollTo);\n }\n }\n },\n c.activeTabIndex.isFirstChange() && c.activeTabIndex.currentValue > 0 ? 500 : 0,\n );\n }\n }\n\n ngOnInit(): void {\n this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n this.getScrollingStatus();\n });\n }\n\n ngAfterViewInit(): void {\n this._tabs.changes.pipe(startWith(true), takeUntil(this.destroy$)).subscribe(() => {\n this.tabs = this._tabs.toArray();\n\n if (this.routerSubscription) {\n this.routerSubscription.unsubscribe();\n }\n\n // TODO v18 check navigationEnd (deprecation)\n this.routerSubscription = this.router.events\n .pipe(\n filter((e) => e instanceof NavigationEnd),\n takeUntil(this.destroy$),\n startWith({ url: this.router.url }),\n )\n .subscribe((e: NavigationEnd) => {\n const tabsWithUrl = this.tabs.filter((t) => t.url && typeof t.url === 'string');\n if (tabsWithUrl.length === this.tabs.length) {\n let tabIndex = -1;\n if (this.pathMatch === 'full') {\n tabIndex = tabsWithUrl.findIndex((t) => e.url === t.url);\n } else {\n tabIndex = tabsWithUrl.findIndex((t) => {\n const regex = new RegExp(t.url + '(/?)');\n return regex.test(e.url);\n });\n }\n\n this.tabs = this.tabs.map((t, i) =>\n tabIndex === i ? Object.assign(t, { isActive: true }) : Object.assign(t, { isActive: false }),\n );\n\n if (this.tabs.findIndex((t) => t.isActive) !== -1) {\n this.activeTabIndex = this.tabs.findIndex((t) => t.isActive);\n }\n\n this.cd.detectChanges();\n }\n });\n\n if (!this.activeTabIndex) {\n this.activeTabIndex = this.tabs.findIndex((t) => t.isActive) !== -1 ? this.tabs.findIndex((t) => t.isActive) : 0;\n }\n\n this.cd.detectChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Listens to the content to be changed to recalculate the scrolling position and status.\n */\n public onContentChanges(): void {\n this.getScrollingStatus();\n }\n\n /**\n * Scroll to left handler\n */\n public goToLeft(): void {\n let scrollTo = this.currentOffset + this.stepMove;\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Scroll to right handler\n */\n public goToRight(): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n let scrollTo = this.currentOffset - this.stepMove;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth) {\n scrollTo = -(wrapperWidth - containerWidth) - this.scrollOffset;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Click handler for tab item\n *\n * @param index Index of the tab clicked\n */\n public changeTab(index: number): void {\n if (this.isHandleChangeTab) {\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n if (this.tabs[index] && !this.tabs[index].isDisabled) {\n if (this.tabs[this.activeTabIndex]) {\n this.tabs[this.activeTabIndex].isActive = false;\n }\n this.tabs[index].isActive = true;\n\n const activeTab = this.euiTabsItemsWrapper.nativeElement.children.item(index);\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isVerticalTabs && !this.isMainNavigation) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= index; i++) {\n subsetWidth += this.euiTabsItemsWrapper.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = containerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth + this.scrollOffset) {\n scrollTo = -(wrapperWidth - containerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n if (!this.tabs[index].url) {\n this.activeTabIndex = index;\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n this.activeTabIndex = index;\n this.router.navigateByUrl(this.tabs[index].url);\n }\n }\n }\n }\n\n /**\n * Handles the `keyup` event for a tab element at the specified index.\n *\n * When the user presses the \"Enter\" or \"Space\" key, this method checks if the tab at the given index\n * is enabled (not disabled). If so, it activates that tab and deactivates all others.\n *\n * @param e The keyboard event triggered by the keyup action.\n * @param index The index of the tab associated with the key event.\n */\n public onKeyUp(e: KeyboardEvent, index: number): void {\n if (e.code === 'Enter' || e.code === 'Space') {\n if (this.tabs[index] && !this.tabs[index].isDisabled) {\n this.tabs.map((t, i) => (i === index ? Object.assign(t, { isActive: true }) : Object.assign(t, { isActive: false })));\n\n if (!this.tabs[index].url) {\n this.activeTabIndex = index;\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n this.activeTabIndex = index;\n this.router.navigateByUrl(this.tabs[index].url);\n }\n }\n }\n }\n\n /**\n * Closes the tab specified by `index` parameter\n *\n * @param index Index of the tab to close\n * @param e Event of the click\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 public closeTab(index: number, e: any): void {\n const tab = this.tabs[index];\n if (!this.tabs[index].isHandleCloseOnClose) {\n this.close(e.index);\n this.tabs = this.tabs.filter((t, i) => i !== index);\n }\n\n this.tabClose.emit({ tab, index });\n e.stopPropagation();\n }\n\n /**\n * Close a tab pass in parameter.\n *\n * @param index Index of the tab to close\n */\n public close(index: number): void {\n if (index === this.activeTabIndex) {\n const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n\n if (previousVisibleIndex < 0) {\n this.changeTab(0);\n } else {\n this.changeTab(previousVisibleIndex);\n }\n } else {\n if (index < this.activeTabIndex) {\n this.activeTabIndex = this.activeTabIndex - 1;\n }\n }\n\n this.tabs = this.tabs.filter((t, i) => i !== index);\n }\n\n /**\n * Checks if the active tab is fully visible\n *\n * @param activeTab Tab element to check\n * @returns true if fully visible, false otherwise\n */\n private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n return activeTab.offsetLeft - 48 >= 0 && activeTab.offsetLeft + activeTab.clientWidth < containerWidth - 48;\n }\n\n /**\n * Sets the scroll position of the tabs headers\n *\n * @param scrollTo Number to set on the margin-left style property\n * @param isAnimated Whether the tab activation should be animated\n */\n private setScrollTo(scrollTo: number, isAnimated = true): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n const timings = isAnimated ? '500ms cubic-bezier(0.35, 0, 0.25, 1)' : 0;\n const animation: AnimationFactory = this.builder.build([animate(timings, style({ 'margin-left': +scrollTo + 'px' }))]);\n\n this.player = animation.create(this.euiTabsItemsWrapper.nativeElement);\n this.player.play();\n\n this.currentOffset = scrollTo;\n\n if (scrollTo === 0) {\n this.navigationLeftButtonDisabled = true;\n }\n if (Math.abs(this.currentOffset) < wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = true;\n }\n\n this.cd.detectChanges();\n }\n\n /**\n * Checks if the tabs headers are scrolling and calculates the scrolling position\n */\n private getScrollingStatus(): void {\n if (this.euiTabsItems && this.euiTabsItemsWrapper) {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n this.scrolling = containerWidth < wrapperWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0);\n } else {\n if (wrapperWidth - containerWidth <= Math.abs(this.currentOffset) + this.scrollOffset) {\n const deltaFix = this.scrollingCount === 0 ? this.scrollOffset * 2 : 0;\n const scrollTo = -(wrapperWidth - containerWidth) - this.scrollOffset - deltaFix;\n\n this.setScrollTo(scrollTo);\n\n this.currentOffset = scrollTo;\n } else {\n if (Math.abs(this.currentOffset) < wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n }\n\n this.scrollingCount++;\n }\n\n this.cd.detectChanges();\n }\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'euiTabsRightContent' })\nexport class EuiTabsRightContentTagDirective {\n @HostBinding('class') elementClass = 'eui-tabs__right-content-wrapper';\n}\n/* eslint-enable */\n","<div class=\"eui-u-flex\" [class.eui-tabs__wrapper--horizontal]=\"!isVerticalTabs\" [class.eui-tabs__wrapper--vertical]=\"isVerticalTabs\">\n <div\n #euiTabsItems\n class=\"eui-tabs__items\"\n [class.eui-tabs__items--horizontal]=\"!isVerticalTabs\"\n [class.eui-tabs__items--scrolling]=\"scrolling\"\n (cdkObserveContent)=\"onContentChanges()\">\n <div #euiTabsItemsWrapper class=\"eui-tabs__items-wrapper\" [attr.data-offset]=\"currentOffset\" role=\"tablist\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible) {\n <div\n tabindex=\"0\"\n role=\"tab\"\n class=\"eui-tab-item eui-tab-item--{{ tab.baseStatesDirective.euiVariant }}\"\n [class.eui-tab-item--closable]=\"tab.isClosable\"\n [class.eui-tab-item--active]=\"activeTabIndex === i\"\n [class.eui-tab-item--disabled]=\"tab.isDisabled\"\n [attr.aria-disabled]=\"tab.isDisabled\"\n (click)=\"changeTab(i)\"\n [euiTooltip]=\"tab.tooltip\"\n (keyup)=\"onKeyUp($event, i)\">\n <div class=\"eui-tab-item__label\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel.templatePortal\"></ng-template>\n </div>\n @if (tab.isClosable) {\n <eui-icon-button\n class=\"eui-tab-item__close-button\"\n icon=\"close:outline\"\n ariaLabel=\"close tab\"\n (buttonClick)=\"closeTab(i, $event)\"\n euiRounded>\n </eui-icon-button>\n }\n </div>\n }\n }\n </div>\n\n <div class=\"eui-tabs__navigation\">\n <div class=\"eui-tabs__navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs__navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n </div>\n\n @if (euiTabsRightContentTagDirective) {\n <div class=\"eui-tabs__right-content\">\n <ng-content select=\"euiTabsRightContent\"></ng-content>\n </div>\n }\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && tab.templateContent) {\n <div class=\"eui-tab-content-wrapper\" tabindex=\"0\">\n <ng-template [cdkPortalOutlet]=\"tab.templateContent.templatePortal\"></ng-template>\n </div>\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\nimport { EuiTabsComponent, EuiTabsRightContentTagDirective } from './eui-tabs.component';\nimport { EuiTabLabelComponent, EuiTabSubLabelDirective } from './eui-tab-label/eui-tab-label.component';\nimport { EuiTabContentComponent } from './eui-tab-content/eui-tab-content.component';\n\n/**\n * @description\n * Module that provides the EuiTabs component and its dependencies\n * \n * @deprecated Use {@link EUI_TABS} instead.\n */\n@NgModule({\n imports: [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n ],\n exports: [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n ],\n})\nexport class EuiTabsModule {}\n","import { EuiTabContentComponent } from './eui-tab-content/eui-tab-content.component';\nimport { EuiTabLabelComponent, EuiTabSubLabelDirective } from './eui-tab-label/eui-tab-label.component';\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\nimport { EuiTabsComponent, EuiTabsRightContentTagDirective } from './eui-tabs.component';\n\nexport * from './eui-tabs.module';\nexport * from './eui-tabs.component';\nexport * from './eui-tab/eui-tab.component';\nexport * from './eui-tab-label/eui-tab-label.component';\nexport * from './eui-tab-content/eui-tab-content.component';\n\nexport const EUI_TABS = [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-tabs.mjs","sources":["../../eui-tabs/eui-tab-content/eui-tab-content.component.ts","../../eui-tabs/eui-tab-content/eui-tab-content.component.html","../../eui-tabs/eui-tab-label/eui-tab-label.component.ts","../../eui-tabs/eui-tab-label/eui-tab-label.component.html","../../eui-tabs/eui-tab/eui-tab.component.ts","../../eui-tabs/eui-tabs.component.ts","../../eui-tabs/eui-tabs.component.html","../../eui-tabs/eui-tabs.module.ts","../../eui-tabs/index.ts","../../eui-tabs/eui-components-eui-tabs.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n/**\n * @description\n * Component used to display the content of the tab.\n */\n@Component({\n selector: 'eui-tab-content, euiTabContent',\n templateUrl: './eui-tab-content.component.html',\n})\nexport class EuiTabContentComponent implements AfterViewInit {\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 @ViewChild('euiTabContent') templateRef: TemplateRef<any>;\n\n public templatePortal: TemplatePortal;\n\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #euiTabContent>\n <div tabindex=\"0\" class=\"eui-tab-content\" [class.eui-tab-content--no-padding]=\"this.hasNoContentPadding\">\n <ng-content></ng-content>\n </div>\n</ng-template>","import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, Directive } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n/**\n * @description\n * Component used to display the label of the header tab.\n */\n@Component({\n selector: 'eui-tab-label, euiTabLabel',\n templateUrl: './eui-tab-label.component.html',\n})\nexport class EuiTabLabelComponent implements AfterViewInit {\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 @ViewChild('euiTabLabel') templateRef: TemplateRef<any>;\n\n public templatePortal: TemplatePortal | null;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'euiTabSubLabel' })\nexport class EuiTabSubLabelDirective {}\n","<ng-template #euiTabLabel>\n <div class=\"eui-u-flex eui-u-flex-column\">\n <div class=\"eui-u-flex eui-u-flex-justify-content-center\">\n <div class=\"eui-u-inline-flex eui-tab-item__label-text\">\n <ng-content/>\n </div>\n <ng-content select=\"eui-chip\"/>\n <ng-content select=\"eui-badge\"/>\n </div>\n\n <div class=\"eui-tab-item__sublabel\"><ng-content select=\"euiTabSubLabel\"></ng-content></div>\n </div>\n</ng-template>\n","import { Component, ContentChild, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabContentComponent } from '../eui-tab-content/eui-tab-content.component';\nimport { EuiTabLabelComponent } from '../eui-tab-label/eui-tab-label.component';\n\n/**\n * @description\n * Component used to display a tab item.\n */\n@Component({\n selector: 'eui-tab',\n template: '<ng-content/>',\n styleUrls: ['../styles/_index.scss'],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiDisabled',\n 'euiPrimary',\n 'euiSecondary',\n 'euiInfo',\n 'euiSuccess',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiTabComponent {\n /**\n * URL of the tab if used with the router. Click on the tab header will navigate to this value.\n */\n @Input() url: string;\n /**\n * e2e attribute.\n *\n * @default 'eui-tab'\n */\n @Input() e2eAttr = 'eui-tab';\n /**\n * Tooltip to display when the tab header is hovered.\n */\n @Input() tooltip: string;\n /**\n * Wheter the tab can be closed.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isClosable = false;\n /**\n * Wheter the tab is visible.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n /**\n * Wheter the tab is active.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n /**\n * Wheter the tab is disabled.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Wheter the close is handled on application side.\n *\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n\n @ContentChild(EuiTabLabelComponent)\n get templateLabel(): EuiTabLabelComponent {\n return this._templateLabel;\n }\n set templateLabel(value: EuiTabLabelComponent) {\n this.setTemplateLabelInput(value);\n }\n protected _templateLabel: EuiTabLabelComponent;\n\n @ContentChild(EuiTabContentComponent)\n get templateContent(): EuiTabContentComponent {\n return this._templateContent;\n }\n set templateContent(value: EuiTabContentComponent) {\n this.setTemplateContentInput(value);\n }\n protected _templateContent: EuiTabContentComponent;\n\n constructor(public baseStatesDirective: BaseStatesDirective) {\n }\n\n protected setTemplateLabelInput(value: EuiTabLabelComponent): void {\n if (value) {\n this._templateLabel = value;\n }\n }\n\n protected setTemplateContentInput(value: EuiTabContentComponent): void {\n if (value) {\n this._templateContent = value;\n }\n }\n}\n","import {\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n OnChanges,\n AfterViewInit,\n ViewChildren,\n ViewContainerRef,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n SimpleChanges,\n HostBinding,\n booleanAttribute,\n ContentChild,\n OnInit,\n} from '@angular/core';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, Subscription, filter, startWith, takeUntil } from 'rxjs';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { EuiAppShellService } from '@eui/core';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\nimport { AsyncPipe } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';\nimport { EuiTooltipDirective } from '@eui/components/directives';\n\n/**\n * @description\n * eUI Tabs component helps to organize content into separate views where only one view can be visible at a time.\n * Each tab's label is shown in the tab header and the active tab is designated with a primary ink bar visual.\n * The active tab may be set using the `activeTabIndex` input option or when the user selects one of the tab labels in the header.\n * When the list of tab labels exceeds the width of the header or its container, pagination controls appear to let the user scroll left and right across the tabs.\n */\n@Component({\n selector: 'eui-tabs',\n templateUrl: './eui-tabs.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n PortalModule,\n EuiTooltipDirective,\n ...EUI_ICON,\n ...EUI_BUTTON,\n ...EUI_ICON_BUTTON,\n ],\n})\nexport class EuiTabsComponent implements OnDestroy, AfterViewInit, OnChanges, OnInit {\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get elementClass(): string {\n return [\n 'eui-tabs',\n this.isMainNavigation ? 'eui-tabs--main-navigation': '',\n this.isVerticalTabs ? 'eui-tabs--vertical': '',\n ].join(' ').trim();\n }\n /**\n * Tabs in data approach\n *\n * @type {EuiTabComponent[]}\n */\n @Input() tabs: EuiTabComponent[] = [];\n /**\n * Index of the active tab\n *\n * @default 0\n */\n @Input() activeTabIndex = null;\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tabs'\n */\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-tabs';\n /**\n * The way the router will consider the url when used on tabs. 'prefix' | 'full'.\n *\n * @default 'prefix'\n */\n @Input() pathMatch: 'prefix' | 'full' = 'prefix';\n\n /**\n * Event emitted when a tab is closed.\n */\n @Output() tabClose = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n /**\n * Event emitted when a tab is selected.\n */\n @Output() tabSelect = new EventEmitter<{ tab: EuiTabComponent; index: number }>();\n\n @ContentChildren(forwardRef(() => EuiTabComponent), { descendants: false }) _tabs: QueryList<EuiTabComponent>;\n @ContentChild(forwardRef(() => EuiTabsRightContentTagDirective)) euiTabsRightContentTagDirective: EuiTabsRightContentTagDirective;\n @ViewChildren('euiTabLabelItem', { read: ViewContainerRef }) euiTabLabelItems: QueryList<ViewContainerRef>;\n @ViewChild('euiTabsItems') euiTabsItems: ElementRef;\n @ViewChild('euiTabsItemsWrapper') euiTabsItemsWrapper: ElementRef;\n\n public scrolling = false;\n public navigationLeftButtonDisabled = true;\n public navigationRightButtonDisabled = false;\n public currentOffset = 0;\n\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n @Input({ transform: booleanAttribute }) isHandleChangeTab = false;\n @Input({ transform: booleanAttribute }) isSubTabs = false;\n @Input({ transform: booleanAttribute }) isVerticalTabs = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private routerSubscription: Subscription;\n private player: AnimationPlayer;\n private stepMove = 400;\n private scrollOffset = 50;\n /**\n * For race condition reason, the wrapper width is not correctly calculated when the component passes from no-scroll state to scroll\n * state. To fix this issue, we count the number of times the getScrollingStatus method is called.\n *\n * Scenario 1: The number of tabs does not require any scroll:\n * - Without any fix the scroll will have a delta of 64 at the first activation, then on the first no-scroll to scroll state,\n * - we had 64 to the move\n *\n * Scenario 2: The number of tabs requires a scroll:\n * - In this case the wrapper width is correctly calculated, so we don't need to add the delta\n */\n private scrollingCount = 0;\n\n constructor(\n private cd: ChangeDetectorRef,\n private router: Router,\n private builder: AnimationBuilder,\n private elementRef: ElementRef,\n private euiAppShellService: EuiAppShellService,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c.activeTabIndex) {\n setTimeout(\n () => {\n const activeTab = this.euiTabsItemsWrapper.nativeElement.children.item(c.activeTabIndex.currentValue);\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab)) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= c.activeTabIndex.currentValue; i++) {\n subsetWidth += this.euiTabsItemsWrapper.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = containerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth + this.scrollOffset) {\n scrollTo = -(wrapperWidth - containerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n if (c.activeTabIndex.isFirstChange() && c.activeTabIndex.currentValue > 0) {\n this.setScrollTo(scrollTo, false);\n } else {\n this.setScrollTo(scrollTo);\n }\n }\n },\n c.activeTabIndex.isFirstChange() && c.activeTabIndex.currentValue > 0 ? 500 : 0,\n );\n }\n }\n\n ngOnInit(): void {\n this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n this.getScrollingStatus();\n });\n }\n\n ngAfterViewInit(): void {\n this._tabs.changes.pipe(startWith(true), takeUntil(this.destroy$)).subscribe(() => {\n this.tabs = this._tabs.toArray();\n\n if (this.routerSubscription) {\n this.routerSubscription.unsubscribe();\n }\n\n // TODO v18 check navigationEnd (deprecation)\n this.routerSubscription = this.router.events\n .pipe(\n filter((e) => e instanceof NavigationEnd),\n takeUntil(this.destroy$),\n startWith({ url: this.router.url }),\n )\n .subscribe((e: NavigationEnd) => {\n const tabsWithUrl = this.tabs.filter((t) => t.url && typeof t.url === 'string');\n if (tabsWithUrl.length === this.tabs.length) {\n let tabIndex = -1;\n if (this.pathMatch === 'full') {\n tabIndex = tabsWithUrl.findIndex((t) => e.url === t.url);\n } else {\n tabIndex = tabsWithUrl.findIndex((t) => {\n const regex = new RegExp(t.url + '(/?)');\n return regex.test(e.url);\n });\n }\n\n this.tabs = this.tabs.map((t, i) =>\n tabIndex === i ? Object.assign(t, { isActive: true }) : Object.assign(t, { isActive: false }),\n );\n\n if (this.tabs.findIndex((t) => t.isActive) !== -1) {\n this.activeTabIndex = this.tabs.findIndex((t) => t.isActive);\n }\n\n this.cd.detectChanges();\n }\n });\n\n if (!this.activeTabIndex) {\n this.activeTabIndex = this.tabs.findIndex((t) => t.isActive) !== -1 ? this.tabs.findIndex((t) => t.isActive) : 0;\n }\n\n this.cd.detectChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Listens to the content to be changed to recalculate the scrolling position and status.\n */\n public onContentChanges(): void {\n this.getScrollingStatus();\n }\n\n /**\n * Scroll to left handler\n */\n public goToLeft(): void {\n let scrollTo = this.currentOffset + this.stepMove;\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Scroll to right handler\n */\n public goToRight(): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n let scrollTo = this.currentOffset - this.stepMove;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth) {\n scrollTo = -(wrapperWidth - containerWidth) - this.scrollOffset;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Click handler for tab item\n *\n * @param index Index of the tab clicked\n */\n public changeTab(index: number): void {\n if (this.isHandleChangeTab) {\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n if (this.tabs[index] && !this.tabs[index].isDisabled) {\n if (this.tabs[this.activeTabIndex]) {\n this.tabs[this.activeTabIndex].isActive = false;\n }\n this.tabs[index].isActive = true;\n\n const activeTab = this.euiTabsItemsWrapper.nativeElement.children.item(index);\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isVerticalTabs && !this.isMainNavigation) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= index; i++) {\n subsetWidth += this.euiTabsItemsWrapper.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = containerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > wrapperWidth - containerWidth + this.scrollOffset) {\n scrollTo = -(wrapperWidth - containerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n if (!this.tabs[index].url) {\n this.activeTabIndex = index;\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n this.activeTabIndex = index;\n this.router.navigateByUrl(this.tabs[index].url);\n }\n }\n }\n }\n\n /**\n * Handles the `keyup` event for a tab element at the specified index.\n *\n * When the user presses the \"Enter\" or \"Space\" key, this method checks if the tab at the given index\n * is enabled (not disabled). If so, it activates that tab and deactivates all others.\n *\n * @param e The keyboard event triggered by the keyup action.\n * @param index The index of the tab associated with the key event.\n */\n public onKeyUp(e: KeyboardEvent, index: number): void {\n if (e.code === 'Enter' || e.code === 'Space') {\n if (this.tabs[index] && !this.tabs[index].isDisabled) {\n this.tabs.map((t, i) => (i === index ? Object.assign(t, { isActive: true }) : Object.assign(t, { isActive: false })));\n\n if (!this.tabs[index].url) {\n this.activeTabIndex = index;\n this.tabSelect.emit({ tab: this.tabs[index], index });\n } else {\n this.activeTabIndex = index;\n this.router.navigateByUrl(this.tabs[index].url);\n }\n }\n }\n }\n\n /**\n * Closes the tab specified by `index` parameter\n *\n * @param index Index of the tab to close\n * @param e Event of the click\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 public closeTab(index: number, e: any): void {\n const tab = this.tabs[index];\n if (!this.tabs[index].isHandleCloseOnClose) {\n this.close(e.index);\n this.tabs = this.tabs.filter((t, i) => i !== index);\n }\n\n this.tabClose.emit({ tab, index });\n e.stopPropagation();\n }\n\n /**\n * Close a tab pass in parameter.\n *\n * @param index Index of the tab to close\n */\n public close(index: number): void {\n if (index === this.activeTabIndex) {\n const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n\n if (previousVisibleIndex < 0) {\n this.changeTab(0);\n } else {\n this.changeTab(previousVisibleIndex);\n }\n } else {\n if (index < this.activeTabIndex) {\n this.activeTabIndex = this.activeTabIndex - 1;\n }\n }\n\n this.tabs = this.tabs.filter((t, i) => i !== index);\n }\n\n /**\n * Checks if the active tab is fully visible\n *\n * @param activeTab Tab element to check\n * @returns true if fully visible, false otherwise\n */\n private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n return activeTab.offsetLeft - 48 >= 0 && activeTab.offsetLeft + activeTab.clientWidth < containerWidth - 48;\n }\n\n /**\n * Sets the scroll position of the tabs headers\n *\n * @param scrollTo Number to set on the margin-left style property\n * @param isAnimated Whether the tab activation should be animated\n */\n private setScrollTo(scrollTo: number, isAnimated = true): void {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n const timings = isAnimated ? '500ms cubic-bezier(0.35, 0, 0.25, 1)' : 0;\n const animation: AnimationFactory = this.builder.build([animate(timings, style({ 'margin-left': +scrollTo + 'px' }))]);\n\n this.player = animation.create(this.euiTabsItemsWrapper.nativeElement);\n this.player.play();\n\n this.currentOffset = scrollTo;\n\n if (scrollTo === 0) {\n this.navigationLeftButtonDisabled = true;\n }\n if (Math.abs(this.currentOffset) < wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = true;\n }\n\n this.cd.detectChanges();\n }\n\n /**\n * Checks if the tabs headers are scrolling and calculates the scrolling position\n */\n private getScrollingStatus(): void {\n if (this.euiTabsItems && this.euiTabsItemsWrapper) {\n const containerWidth = this.euiTabsItems.nativeElement.clientWidth;\n const wrapperWidth = this.euiTabsItemsWrapper.nativeElement.clientWidth;\n\n this.scrolling = containerWidth < wrapperWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0);\n } else {\n if (wrapperWidth - containerWidth <= Math.abs(this.currentOffset) + this.scrollOffset) {\n const deltaFix = this.scrollingCount === 0 ? this.scrollOffset * 2 : 0;\n const scrollTo = -(wrapperWidth - containerWidth) - this.scrollOffset - deltaFix;\n\n this.setScrollTo(scrollTo);\n\n this.currentOffset = scrollTo;\n } else {\n if (Math.abs(this.currentOffset) < wrapperWidth - containerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n }\n\n this.scrollingCount++;\n }\n\n this.cd.detectChanges();\n }\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'euiTabsRightContent' })\nexport class EuiTabsRightContentTagDirective {\n @HostBinding('class') elementClass = 'eui-tabs__right-content-wrapper';\n}\n/* eslint-enable */\n","<div class=\"eui-u-flex\" [class.eui-tabs__wrapper--horizontal]=\"!isVerticalTabs\" [class.eui-tabs__wrapper--vertical]=\"isVerticalTabs\">\n <div\n #euiTabsItems\n class=\"eui-tabs__items\"\n [class.eui-tabs__items--horizontal]=\"!isVerticalTabs\"\n [class.eui-tabs__items--scrolling]=\"scrolling\"\n (cdkObserveContent)=\"onContentChanges()\">\n <div #euiTabsItemsWrapper class=\"eui-tabs__items-wrapper\" [attr.data-offset]=\"currentOffset\" role=\"tablist\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible) {\n <div\n tabindex=\"0\"\n role=\"tab\"\n class=\"eui-tab-item eui-tab-item--{{ tab.baseStatesDirective.euiVariant }}\"\n [class.eui-tab-item--closable]=\"tab.isClosable\"\n [class.eui-tab-item--active]=\"activeTabIndex === i\"\n [class.eui-tab-item--disabled]=\"tab.isDisabled\"\n [attr.aria-disabled]=\"tab.isDisabled\"\n (click)=\"changeTab(i)\"\n [euiTooltip]=\"tab.tooltip\"\n (keyup)=\"onKeyUp($event, i)\">\n <div class=\"eui-tab-item__label\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel.templatePortal\"></ng-template>\n </div>\n @if (tab.isClosable) {\n <eui-icon-button\n class=\"eui-tab-item__close-button\"\n icon=\"close:outline\"\n ariaLabel=\"close tab\"\n (buttonClick)=\"closeTab(i, $event)\"\n euiRounded>\n </eui-icon-button>\n }\n </div>\n }\n }\n </div>\n\n <div class=\"eui-tabs__navigation\">\n <div class=\"eui-tabs__navigation__left-item\">\n <button\n (click)=\"goToLeft()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationLeftButtonDisabled\"\n aria-label=\"Scroll left\">\n <eui-icon-svg icon=\"chevron-back:sharp\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-tabs__navigation__right-item\">\n <button\n (click)=\"goToRight()\"\n euiButton\n euiIconButton\n euiBasicButton\n type=\"button\"\n [euiDisabled]=\"navigationRightButtonDisabled\"\n aria-label=\"Scroll right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\"></eui-icon-svg>\n </button>\n </div>\n </div>\n </div>\n\n @if (euiTabsRightContentTagDirective) {\n <div class=\"eui-tabs__right-content\">\n <ng-content select=\"euiTabsRightContent\"></ng-content>\n </div>\n }\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && tab.templateContent) {\n <div class=\"eui-tab-content-wrapper\" tabindex=\"0\">\n <ng-template [cdkPortalOutlet]=\"tab.templateContent.templatePortal\"></ng-template>\n </div>\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\nimport { EuiTabsComponent, EuiTabsRightContentTagDirective } from './eui-tabs.component';\nimport { EuiTabLabelComponent, EuiTabSubLabelDirective } from './eui-tab-label/eui-tab-label.component';\nimport { EuiTabContentComponent } from './eui-tab-content/eui-tab-content.component';\n\n/**\n * @description\n * Module that provides the EuiTabs component and its dependencies\n * \n * @deprecated Use {@link EUI_TABS} instead.\n */\n@NgModule({\n imports: [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n ],\n exports: [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n ],\n})\nexport class EuiTabsModule {}\n","import { EuiTabContentComponent } from './eui-tab-content/eui-tab-content.component';\nimport { EuiTabLabelComponent, EuiTabSubLabelDirective } from './eui-tab-label/eui-tab-label.component';\nimport { EuiTabComponent } from './eui-tab/eui-tab.component';\nimport { EuiTabsComponent, EuiTabsRightContentTagDirective } from './eui-tabs.component';\n\nexport * from './eui-tabs.module';\nexport * from './eui-tabs.component';\nexport * from './eui-tab/eui-tab.component';\nexport * from './eui-tab-label/eui-tab-label.component';\nexport * from './eui-tab-content/eui-tab-content.component';\n\nexport const EUI_TABS = [\n EuiTabsComponent,\n EuiTabComponent,\n EuiTabsRightContentTagDirective,\n EuiTabLabelComponent,\n EuiTabSubLabelDirective,\n EuiTabContentComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -19,6 +19,7 @@ import * as i2$1 from '@eui/components/eui-label';
19
19
  import { EUI_LABEL } from '@eui/components/eui-label';
20
20
  import * as i3$1 from '@eui/components/eui-icon-button-expander';
21
21
  import { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';
22
+ import { NgIf } from '@angular/common';
22
23
 
23
24
  class EuiTreeListToolbarComponent {
24
25
  constructor() {
@@ -748,11 +749,12 @@ class EuiTreeListItemComponent {
748
749
  .trim();
749
750
  }
750
751
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EuiTreeListItemComponent, deps: [{ token: forwardRef(() => EuiTreeListComponent), host: true, optional: true }, { token: i0.ElementRef }, { token: i1$2.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
751
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EuiTreeListItemComponent, isStandalone: true, selector: "eui-tree-list-item", inputs: { id: "id", ariaLabel: "ariaLabel", e2eAttr: "e2eAttr", label: "label", linkUrl: "linkUrl", subLabel: "subLabel", url: "url", subLinks: "subLinks", isActive: ["isActive", "isActive", booleanAttribute], isExpanded: ["isExpanded", "isExpanded", booleanAttribute], isAlwaysExpanded: ["isAlwaysExpanded", "isAlwaysExpanded", booleanAttribute], isVisible: ["isVisible", "isVisible", booleanAttribute], isDisplaySubLinksOnHover: ["isDisplaySubLinksOnHover", "isDisplaySubLinksOnHover", booleanAttribute], isNavigateOnlyOnLabelClick: ["isNavigateOnlyOnLabelClick", "isNavigateOnlyOnLabelClick", booleanAttribute] }, outputs: { toggled: "toggled" }, host: { properties: { "class": "this.cssClasses", "attr.tabindex": "this.tabIndex", "attr.role": "this.ariaRole", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "customLabel", first: true, predicate: i0.forwardRef(() => EuiTreeListItemLabelTagDirective), descendants: true }, { propertyName: "customDetailContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemDetailsContentTagDirective), descendants: true }, { propertyName: "customSubContainerContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemSubContainerContentTagDirective), descendants: true }, { propertyName: "subTreeList", predicate: i0.forwardRef(() => EuiTreeListComponent), descendants: true }, { propertyName: "customContent", predicate: i0.forwardRef(() => EuiTreeListItemContentComponent) }], viewQueries: [{ propertyName: "focusable", first: true, predicate: ["focusable"], descendants: true }], hostDirectives: [{ directive: i1$2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiInfo", "euiInfo", "euiSuccess", "euiSuccess", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n @if (hasCustomContent) {\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n } @else {\n <div class=\"eui-u-flex\">\n <eui-label>\n @if (!customLabel) {\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n } @else {\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n }\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n }\n </div>\n\n @if (customDetailContent) {\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n }\n\n @if (customSubContainerContent) {\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n }\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n @if (hasSub && !isAlwaysExpanded) {\n <eui-icon-button-expander\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n }\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: i2$1.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "component", type: i3$1.EuiIconButtonExpanderComponent, selector: "eui-icon-button-expander", inputs: ["fillColor", "size", "ariaLabel", "isExpanded", "isDirectionForward", "euiDisabled"], outputs: ["buttonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
752
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EuiTreeListItemComponent, isStandalone: true, selector: "eui-tree-list-item", inputs: { id: "id", ariaLabel: "ariaLabel", e2eAttr: "e2eAttr", label: "label", linkUrl: "linkUrl", subLabel: "subLabel", url: "url", subLinks: "subLinks", isActive: ["isActive", "isActive", booleanAttribute], isExpanded: ["isExpanded", "isExpanded", booleanAttribute], isAlwaysExpanded: ["isAlwaysExpanded", "isAlwaysExpanded", booleanAttribute], isVisible: ["isVisible", "isVisible", booleanAttribute], isDisplaySubLinksOnHover: ["isDisplaySubLinksOnHover", "isDisplaySubLinksOnHover", booleanAttribute], isNavigateOnlyOnLabelClick: ["isNavigateOnlyOnLabelClick", "isNavigateOnlyOnLabelClick", booleanAttribute] }, outputs: { toggled: "toggled" }, host: { properties: { "class": "this.cssClasses", "attr.tabindex": "this.tabIndex", "attr.role": "this.ariaRole", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "customLabel", first: true, predicate: i0.forwardRef(() => EuiTreeListItemLabelTagDirective), descendants: true }, { propertyName: "customDetailContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemDetailsContentTagDirective), descendants: true }, { propertyName: "customSubContainerContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemSubContainerContentTagDirective), descendants: true }, { propertyName: "subTreeList", predicate: i0.forwardRef(() => EuiTreeListComponent), descendants: true }, { propertyName: "customContent", predicate: i0.forwardRef(() => EuiTreeListItemContentComponent) }], viewQueries: [{ propertyName: "focusable", first: true, predicate: ["focusable"], descendants: true }], hostDirectives: [{ directive: i1$2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiInfo", "euiInfo", "euiSuccess", "euiSuccess", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n @if (hasCustomContent) {\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n } @else {\n <div class=\"eui-u-flex\">\n <eui-label>\n @if (!customLabel) {\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n } @else {\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n }\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n }\n </div>\n\n @if (customDetailContent) {\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n }\n\n @if (customSubContainerContent) {\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n }\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n @if (hasSub && !isAlwaysExpanded) {\n <eui-icon-button-expander\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n }\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: i2$1.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "component", type: i3$1.EuiIconButtonExpanderComponent, selector: "eui-icon-button-expander", inputs: ["fillColor", "size", "ariaLabel", "isExpanded", "isDirectionForward", "euiDisabled"], outputs: ["buttonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
752
753
  }
753
754
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EuiTreeListItemComponent, decorators: [{
754
755
  type: Component,
755
756
  args: [{ selector: 'eui-tree-list-item', encapsulation: ViewEncapsulation.None, imports: [
757
+ NgIf,
756
758
  TranslateModule,
757
759
  FormsModule,
758
760
  ...EUI_LABEL,