@eui/components 19.2.0-snapshot-1745313759588 → 19.2.0-snapshot-1745320402511

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 (73) hide show
  1. package/docs/dependencies.html +2 -2
  2. package/docs/js/search/search_index.js +2 -2
  3. package/docs/miscellaneous/variables.html +22 -154
  4. package/eui-badge/index.d.ts +1 -1
  5. package/eui-badge/index.d.ts.map +1 -1
  6. package/eui-block-content/index.d.ts +1 -1
  7. package/eui-block-content/index.d.ts.map +1 -1
  8. package/eui-block-document/index.d.ts +1 -1
  9. package/eui-block-document/index.d.ts.map +1 -1
  10. package/eui-button/index.d.ts +1 -1
  11. package/eui-button/index.d.ts.map +1 -1
  12. package/eui-button-group/index.d.ts +1 -1
  13. package/eui-button-group/index.d.ts.map +1 -1
  14. package/eui-dashboard-button/index.d.ts +2 -2
  15. package/eui-dashboard-button/index.d.ts.map +1 -1
  16. package/eui-dashboard-card/index.d.ts +2 -1
  17. package/eui-dashboard-card/index.d.ts.map +1 -1
  18. package/eui-disable-content/index.d.ts +1 -1
  19. package/eui-disable-content/index.d.ts.map +1 -1
  20. package/eui-feedback-message/index.d.ts +1 -1
  21. package/eui-feedback-message/index.d.ts.map +1 -1
  22. package/eui-fieldset/index.d.ts +2 -2
  23. package/eui-fieldset/index.d.ts.map +1 -1
  24. package/eui-icon-toggle/index.d.ts +1 -1
  25. package/eui-icon-toggle/index.d.ts.map +1 -1
  26. package/eui-input-checkbox/index.d.ts +1 -1
  27. package/eui-input-checkbox/index.d.ts.map +1 -1
  28. package/eui-input-number/index.d.ts +1 -1
  29. package/eui-input-number/index.d.ts.map +1 -1
  30. package/eui-input-radio/index.d.ts +1 -1
  31. package/eui-input-radio/index.d.ts.map +1 -1
  32. package/eui-input-text/index.d.ts +1 -1
  33. package/eui-input-text/index.d.ts.map +1 -1
  34. package/eui-label/index.d.ts +1 -1
  35. package/eui-label/index.d.ts.map +1 -1
  36. package/eui-progress-bar/index.d.ts +1 -1
  37. package/eui-progress-bar/index.d.ts.map +1 -1
  38. package/eui-progress-circle/index.d.ts +1 -1
  39. package/eui-progress-circle/index.d.ts.map +1 -1
  40. package/eui-sidebar-menu/index.d.ts +1 -1
  41. package/eui-sidebar-menu/index.d.ts.map +1 -1
  42. package/eui-skeleton/index.d.ts +1 -1
  43. package/eui-skeleton/index.d.ts.map +1 -1
  44. package/eui-slide-toggle/index.d.ts +1 -1
  45. package/eui-slide-toggle/index.d.ts.map +1 -1
  46. package/eui-tabs-v2/eui-tabs-v2.component.d.ts.map +1 -1
  47. package/eui-tabs-v2/index.d.ts +1 -1
  48. package/eui-tabs-v2/index.d.ts.map +1 -1
  49. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  50. package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
  51. package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
  52. package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
  53. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  54. package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
  55. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
  56. package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
  57. package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
  58. package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
  59. package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
  60. package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
  61. package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
  62. package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
  63. package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
  64. package/fesm2022/eui-components-eui-label.mjs.map +1 -1
  65. package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
  66. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  67. package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
  68. package/fesm2022/eui-components-eui-skeleton.mjs.map +1 -1
  69. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  70. package/fesm2022/eui-components-eui-tabs-v2.mjs.map +1 -1
  71. package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
  72. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  73. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-tabs-v2.mjs","sources":["../../eui-tabs-v2/eui-tab-v2-header/eui-tab-v2-header.component.ts","../../eui-tabs-v2/eui-tab-v2-header/eui-tab-v2-header.component.html","../../eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.ts","../../eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.html","../../eui-tabs-v2/eui-tab-v2/eui-tab-v2.component.ts","../../eui-tabs-v2/eui-tabs-v2.component.ts","../../eui-tabs-v2/eui-tabs-v2.component.html","../../eui-tabs-v2/eui-tabs-v2-right-content/eui-tabs-v2-right-content.component.ts","../../eui-tabs-v2/index.ts","../../eui-tabs-v2/eui-components-eui-tabs-v2.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eui-tab-v2-header',\n templateUrl: './eui-tab-v2-header.component.html',\n standalone: true,\n})\nexport class EuiTabV2HeaderComponent implements AfterViewInit {\n @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n public templatePortal: TemplatePortal;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div>\n <ng-content/>\n </div>\n</ng-template>\n","import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject } from 'rxjs';\nimport { AsyncPipe, CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-tab-v2-body',\n templateUrl: './eui-tab-v2-body.component.html',\n standalone: true,\n imports: [\n AsyncPipe,\n ],\n})\nexport class EuiTabV2BodyComponent implements AfterViewInit {\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n public templatePortal: TemplatePortal;\n tabIndex$ = new BehaviorSubject(0);\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div class=\"eui-tab-v2__body\" [tabindex]=\"tabIndex$ | async\" [class.eui-tab-v2__body--no-padding]=\"hasNoContentPadding\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n OnChanges,\n SimpleChanges,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabV2HeaderComponent } from '../eui-tab-v2-header/eui-tab-v2-header.component';\nimport { EuiTabV2BodyComponent } from '../eui-tab-v2-body/eui-tab-v2-body.component';\n\n@Component({\n selector: 'eui-tab-v2',\n template: '<ng-content/>',\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class EuiTabV2Component implements OnChanges {\n @Input() id: string;\n @Input() url: string;\n @Input() e2eAttr = 'eui-tab';\n @Input() tooltip: string;\n @Input({ transform: booleanAttribute }) isClosable = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n @Input({ transform: booleanAttribute }) isHandleActivateTab = false;\n\n @ContentChild(forwardRef(() => EuiTabV2HeaderComponent)) templateHeader: EuiTabV2HeaderComponent;\n @ContentChild(forwardRef(() => EuiTabV2BodyComponent)) templateBody: EuiTabV2BodyComponent;\n\n public isActive = false;\n\n public isVisible$ = new BehaviorSubject(this.isVisible);\n public isClosable$ = new BehaviorSubject(this.isClosable);\n public isDisabled$ = new BehaviorSubject(this.isDisabled);\n\n constructor(public baseStatesDirective: BaseStatesDirective) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c?.isVisible) {\n this.isVisible$.next(c.isVisible.currentValue);\n }\n if (c?.isClosable) {\n this.isClosable$.next(c.isClosable.currentValue);\n }\n if (c?.isDisabled) {\n this.isDisabled$.next(c.isDisabled.currentValue);\n }\n }\n\n public activateTab(): void {\n this.isActive = true;\n }\n\n public deactivateTab(): void {\n this.isActive = false;\n }\n}\n","import {\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n forwardRef,\n AfterViewInit,\n ElementRef,\n ChangeDetectorRef,\n HostBinding,\n booleanAttribute,\n ContentChild,\n ChangeDetectionStrategy,\n ViewChild,\n SimpleChanges,\n ViewChildren,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { AsyncPipe, CommonModule, NgClass } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, startWith, takeUntil } from 'rxjs';\n\nimport { EuiAppShellService, uniqueId } from '@eui/core';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonComponent } from '@eui/components/eui-button';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\nimport { EuiTabV2Component } from './eui-tab-v2/eui-tab-v2.component';\nimport { EuiTabsV2RightContentComponent } from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\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-v2',\n templateUrl: './eui-tabs-v2.component.html',\n styleUrls: ['./styles/tabs.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgClass,\n AsyncPipe,\n PortalModule,\n EuiIconModule,\n EuiButtonComponent,\n EuiIconButtonModule,\n EuiTooltipDirectiveModule,\n ],\n})\nexport class EuiTabsV2Component implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @HostBinding('class')\n get elementClass(): string {\n return ['eui-tabs', this.isMainNavigation ? 'eui-tabs--main-navigation' : ''].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tabs-v2'\n */\n @Input()\n e2eAttr = 'eui-tabs-v2';\n /**\n * Index of the active tab\n *\n * @default 0\n */\n @Input() activeTabIndex = 0;\n /**\n * Sets the `aria-label` attribute for the host element.\n *\n * @default 'eUI Tabs'\n */\n @Input() ariaLabel = 'eUI Tabs';\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n\n /**\n * Event emitted when a tab is closed\n */\n @Output() tabClose = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n /**\n * Event emitted when a tab is activated\n */\n @Output() tabActivate = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n /**\n * Event emitted when a tab is clicked\n */\n @Output() tabClick = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n\n @ContentChildren(forwardRef(() => EuiTabV2Component), { descendants: false }) _tabs: QueryList<EuiTabV2Component>;\n\n @ViewChild('euiTabsHeadersContainer') euiTabsHeadersContainer: ElementRef;\n @ViewChild('euiTabsHeaders') euiTabsHeaders: ElementRef;\n @ViewChildren('euiTabListItems') euiTabListItems: QueryList<ElementRef>;\n\n public tabs: EuiTabV2Component[] = [];\n public scrolling = false;\n public navigationLeftButtonDisabled = true;\n public navigationRightButtonDisabled = false;\n public currentOffset = 0;\n\n protected tabId = uniqueId();\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private player: AnimationPlayer;\n private stepMove = 400;\n private scrollOffset = 40;\n private scrollingCount = 0;\n private resizeObserver: ResizeObserver;\n\n constructor(private cd: ChangeDetectorRef, private builder: AnimationBuilder, private euiAppShellService: EuiAppShellService) {}\n\n /**\n * Width of the tabs headers container\n */\n get euiTabsHeadersContainerWidth(): number {\n return this.euiTabsHeadersContainer?.nativeElement.clientWidth;\n }\n\n /**\n * Width of the tabs headers\n */\n get euiTabsHeadersWidth(): number {\n return this.euiTabsHeaders?.nativeElement.clientWidth;\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c?.activeTabIndex && !c.activeTabIndex.isFirstChange()) {\n this.activate(this.activeTabIndex);\n }\n }\n\n ngOnInit(): void {\n this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n this.tabsScrollingHandler();\n });\n }\n\n ngAfterViewInit(): void {\n this._tabs.changes.pipe(startWith(this._tabs), takeUntil(this.destroy$)).subscribe((tabs: QueryList<EuiTabV2Component>) => {\n this.tabs = tabs.toArray();\n setTimeout(() => {\n this.tabsScrollingHandler();\n });\n\n this.cd.detectChanges();\n });\n\n setTimeout(() => {\n if (this.tabs[this.activeTabIndex]) {\n this.cd.markForCheck();\n this.activate(this.activeTabIndex, false, { emitEvent: false });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Activate a tab having index passed in parameter if exists.\n *\n * @param index Index of the tab to close\n * @param isAnimated Whether the tab activation should be animated\n * @param options Object with emitEvent property to emit the event or not\n */\n public activateTab(index: number, isAnimated = true, options = { emitEvent: true }): void {\n const tab = this.tabs[index];\n if (tab) {\n this.tabs.forEach((t) => {\n t.deactivateTab();\n });\n\n this.setScrollToTabIndex(index, isAnimated);\n\n tab.activateTab();\n this.activeTabIndex = index;\n\n if (options.emitEvent) {\n this.tabActivate.emit({ tab, index });\n }\n\n this.cd.detectChanges();\n }\n }\n\n /**\n * Close a tab having index passed in parameter if exists.\n * @param index Index of the tab to close\n */\n public closeTab(index: number): void {\n const tab = this.tabs[index];\n if (this.tabs[index]) {\n this.tabs[index].deactivateTab();\n this.tabs = this.tabs.filter((_, i) => i !== index);\n\n if (index === this.activeTabIndex) {\n const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n this.cd.markForCheck();\n\n if (previousVisibleIndex < 0) {\n this.activate(0);\n } else {\n this.activate(previousVisibleIndex);\n }\n } else {\n if (index < this.activeTabIndex) {\n this.activeTabIndex = this.activeTabIndex - 1;\n }\n }\n\n this.cd.detectChanges();\n this.tabsScrollingHandler();\n }\n }\n\n /**\n * Scroll to the 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 the rihgt handler\n */\n public goToRight(): void {\n let scrollTo = this.currentOffset - this.stepMove;\n\n if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) {\n scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Actions applied upon a keydown event\n *\n * @param i Index of the tab for each pressed key\n * @param event The keyboard event\n */\n protected onKeydown(i: number, event: KeyboardEvent): void {\n switch (event.key) {\n case 'Enter': {\n if (!this.tabs[i].isDisabled) {\n this.activate(i);\n }\n break;\n }\n case 'ArrowRight': {\n const isLastItem = i === this.euiTabListItems.toArray().length - 1;\n const index = isLastItem ? 0 : i + 1;\n\n this.setScrollToTabIndex(index, false);\n this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n break;\n }\n case 'ArrowLeft': {\n const lastIndex = this.euiTabListItems.toArray().length - 1;\n const index = i === 0 ? lastIndex : i - 1;\n\n this.setScrollToTabIndex(index, false);\n this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n break;\n }\n case 'Home': {\n this.setScrollToTabIndex(0, false);\n this.euiTabListItems.toArray()[0]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'End': {\n this.setScrollToTabIndex(this.euiTabListItems.toArray().length - 1, false);\n this.euiTabListItems.toArray()[this.euiTabListItems.toArray().length - 1]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'Delete': {\n if (this.tabs[i].isClosable) {\n if (i === this.euiTabListItems.toArray().length - 1) {\n this.euiTabListItems.toArray()[i - 1]?.nativeElement.focus();\n this.close(i, event);\n } else {\n this.close(i, event);\n this.euiTabListItems.toArray()[i]?.nativeElement.focus();\n }\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /**\n * Click handler for tab list item\n *\n * @param index Index of the tab clicked\n */\n protected tabListItemClick(index: number): void {\n const tab = this.tabs[index];\n\n this.tabClick.emit({ tab, index });\n\n this.activate(index);\n }\n\n /**\n * Activates a tab\n *\n * @param index Index of the tab to activate\n * @param isAnimated Whether the activation should be animated\n * @param options Object with emitEvent property to emit the event or not\n */\n protected activate(index: number, isAnimated = true, options = { emitEvent: true }): void {\n const tab = this.tabs[index];\n\n if (tab && !tab.isHandleActivateTab) {\n this.activateTab(index, isAnimated, options);\n }\n }\n\n /**\n * Closes a tab\n *\n * @param index Index of the tab to close\n * @param e\n */\n protected close(index: number, e: Event): void {\n const tab = this.tabs[index];\n\n if (tab && !tab.isHandleCloseOnClose) {\n this.closeTab(index);\n }\n\n this.tabClose.emit({ tab, index });\n e.stopPropagation();\n }\n\n /**\n * Checks if there are html elements within the tab panel, in order to focus or not the tab panel\n * @param index The tab index\n */\n protected onAttached(index: number): void {\n const tabbody = document.querySelector('#tabpanel-' + index + '-' + this.tabId)?.children[0];\n if (tabbody?.children.length > 0) {\n for (const child of Array.from(tabbody.children)) {\n if (this.isFocusableElement(child)) {\n this.tabs[index - 1].templateBody.tabIndex$.next(-1);\n } else {\n this.tabs[index - 1].templateBody.tabIndex$.next(0);\n }\n }\n } else {\n this.tabs[index - 1].templateBody.tabIndex$.next(0);\n }\n }\n\n /**\n * Checks the existence of focusable elements\n * @param origin The element to check\n */\n private isFocusableElement(origin: Element): boolean {\n return (\n origin.matches('button') ||\n origin.matches('a') ||\n origin.matches('input') ||\n origin.matches('select') ||\n origin.matches('textarea') ||\n origin.matches('[tabindex]:not([tabindex=\"-1\"])')\n );\n }\n\n /**\n * Checks if the tabs headers are scrolling and calculates the scrolling position\n */\n private tabsScrollingHandler(): void {\n if (this.euiTabsHeadersContainerWidth && this.euiTabsHeadersWidth) {\n this.scrolling = this.euiTabsHeadersContainerWidth < this.euiTabsHeadersWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0, false);\n } else {\n if (\n this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth <= Math.abs(this.currentOffset) + this.scrollOffset &&\n this.scrollingCount !== 0\n ) {\n const scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n this.setScrollTo(scrollTo);\n } else {\n if (Math.abs(this.currentOffset) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + 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 * Sets the scroll position oon the tab header specified by index\n *\n * @param index Index of the tab header to scroll to\n * @param isAnimated Whether the tab activation should be animated\n */\n private setScrollToTabIndex(index: number, isAnimated = true): void {\n const activeTab = this.euiTabsHeaders.nativeElement.children.item(index);\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isMainNavigation) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= index; i++) {\n subsetWidth += this.euiTabsHeaders.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = this.euiTabsHeadersContainerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0 || (scrollTo < 0 && index === 0)) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo, isAnimated);\n }\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 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.euiTabsHeaders.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) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = true;\n }\n\n this.cd.detectChanges();\n }\n\n /**\n * Checks if the active tab is fully visible\n *\n * @param activeTab Index of the tab to check\n * @returns true if fully visible, false otherwise\n */\n private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n const fullyVisible =\n activeTab.offsetLeft - this.scrollOffset >= 0 &&\n activeTab.offsetLeft + activeTab.clientWidth < this.euiTabsHeadersContainerWidth - this.scrollOffset;\n\n return fullyVisible;\n }\n}\n","<div #euiTabsHeadersContainer class=\"eui-tab\" [class.eui-tab--scrolling]=\"scrolling\">\n <ul #euiTabsHeaders class=\"eui-tab-headers\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible$ | async) {\n <li #euiTabListItems\n class=\"eui-tab-header\"\n id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n role=\"tab\"\n attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n [attr.aria-selected]=\"i === activeTabIndex\"\n [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-header--' + tab.baseStatesDirective.euiVariant : ''\"\n [class.eui-tab-header--active]=\"i === activeTabIndex\"\n [class.eui-tab-header--disabled]=\"tab.isDisabled$ | async\"\n attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n (click)=\"tabListItemClick(i)\"\n (keydown)=\"onKeydown(i, $event)\">\n <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n @if (tab.isClosable$ | async) {\n <eui-icon-button\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eui-tab-close-button\"\n icon=\"close:outline\"\n (buttonClick)=\"close(i, $event)\">\n </eui-icon-button>\n }\n </li>\n }\n }\n </ul>\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\n <ng-content select=\"eui-tabs-v2-right-content\"></ng-content>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n </div>\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eui-tabs-v2-right-content',\n template: '<ng-content/>',\n standalone: true,\n styles: `\n :host {\n display: flex;\n margin-left: auto;\n }\n `,\n})\nexport class EuiTabsV2RightContentComponent {\n}\n","export * from './eui-tabs-v2.component';\nexport * from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\nexport * from './eui-tab-v2/eui-tab-v2.component';\nexport * from './eui-tab-v2-header/eui-tab-v2-header.component';\nexport * from './eui-tab-v2-body/eui-tab-v2-body.component';\n\nimport { EuiTabsV2Component } from './eui-tabs-v2.component';\nimport { EuiTabsV2RightContentComponent } from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\nimport { EuiTabV2BodyComponent } from './eui-tab-v2-body/eui-tab-v2-body.component';\nimport { EuiTabV2HeaderComponent } from './eui-tab-v2-header/eui-tab-v2-header.component';\nimport { EuiTabV2Component } from './eui-tab-v2/eui-tab-v2.component';\n\nexport const EUI_TABS_COMPONENTS = [\n EuiTabsV2Component,\n EuiTabsV2RightContentComponent,\n EuiTabV2BodyComponent,\n EuiTabV2HeaderComponent,\n EuiTabV2Component,\n];\n","/**\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-v2.mjs","sources":["../../eui-tabs-v2/eui-tab-v2-header/eui-tab-v2-header.component.ts","../../eui-tabs-v2/eui-tab-v2-header/eui-tab-v2-header.component.html","../../eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.ts","../../eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.html","../../eui-tabs-v2/eui-tab-v2/eui-tab-v2.component.ts","../../eui-tabs-v2/eui-tabs-v2.component.ts","../../eui-tabs-v2/eui-tabs-v2.component.html","../../eui-tabs-v2/eui-tabs-v2-right-content/eui-tabs-v2-right-content.component.ts","../../eui-tabs-v2/index.ts","../../eui-tabs-v2/eui-components-eui-tabs-v2.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'eui-tab-v2-header',\n templateUrl: './eui-tab-v2-header.component.html',\n standalone: true,\n})\nexport class EuiTabV2HeaderComponent implements AfterViewInit {\n @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n public templatePortal: TemplatePortal;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div>\n <ng-content/>\n </div>\n</ng-template>\n","import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, AfterViewInit, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject } from 'rxjs';\nimport { AsyncPipe, CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-tab-v2-body',\n templateUrl: './eui-tab-v2-body.component.html',\n standalone: true,\n imports: [\n AsyncPipe,\n ],\n})\nexport class EuiTabV2BodyComponent implements AfterViewInit {\n @Input({ transform: booleanAttribute }) hasNoContentPadding = false;\n\n @ViewChild('templateRef') templateRef: TemplateRef<HTMLElement>;\n\n public templatePortal: TemplatePortal;\n tabIndex$ = new BehaviorSubject(0);\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n }\n}\n","<ng-template #templateRef>\n <div class=\"eui-tab-v2__body\" [tabindex]=\"tabIndex$ | async\" [class.eui-tab-v2__body--no-padding]=\"hasNoContentPadding\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n OnChanges,\n SimpleChanges,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTabV2HeaderComponent } from '../eui-tab-v2-header/eui-tab-v2-header.component';\nimport { EuiTabV2BodyComponent } from '../eui-tab-v2-body/eui-tab-v2-body.component';\n\n@Component({\n selector: 'eui-tab-v2',\n template: '<ng-content/>',\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class EuiTabV2Component implements OnChanges {\n @Input() id: string;\n @Input() url: string;\n @Input() e2eAttr = 'eui-tab';\n @Input() tooltip: string;\n @Input({ transform: booleanAttribute }) isClosable = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n @Input({ transform: booleanAttribute }) isHandleActivateTab = false;\n\n @ContentChild(forwardRef(() => EuiTabV2HeaderComponent)) templateHeader: EuiTabV2HeaderComponent;\n @ContentChild(forwardRef(() => EuiTabV2BodyComponent)) templateBody: EuiTabV2BodyComponent;\n\n public isActive = false;\n\n public isVisible$ = new BehaviorSubject(this.isVisible);\n public isClosable$ = new BehaviorSubject(this.isClosable);\n public isDisabled$ = new BehaviorSubject(this.isDisabled);\n\n constructor(public baseStatesDirective: BaseStatesDirective) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c?.isVisible) {\n this.isVisible$.next(c.isVisible.currentValue);\n }\n if (c?.isClosable) {\n this.isClosable$.next(c.isClosable.currentValue);\n }\n if (c?.isDisabled) {\n this.isDisabled$.next(c.isDisabled.currentValue);\n }\n }\n\n public activateTab(): void {\n this.isActive = true;\n }\n\n public deactivateTab(): void {\n this.isActive = false;\n }\n}\n","import {\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n forwardRef,\n AfterViewInit,\n ElementRef,\n ChangeDetectorRef,\n HostBinding,\n booleanAttribute,\n ContentChild,\n ChangeDetectionStrategy,\n ViewChild,\n SimpleChanges,\n ViewChildren,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { AsyncPipe, CommonModule, NgClass } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { animate, AnimationBuilder, AnimationFactory, AnimationPlayer, style } from '@angular/animations';\nimport { Subject, startWith, takeUntil } from 'rxjs';\n\nimport { EuiAppShellService, uniqueId } from '@eui/core';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonComponent } from '@eui/components/eui-button';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\nimport { EuiTabV2Component } from './eui-tab-v2/eui-tab-v2.component';\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-v2',\n templateUrl: './eui-tabs-v2.component.html',\n styleUrls: ['./styles/tabs.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgClass,\n AsyncPipe,\n PortalModule,\n EuiIconModule,\n EuiButtonComponent,\n EuiIconButtonModule,\n EuiTooltipDirectiveModule,\n ],\n})\nexport class EuiTabsV2Component implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @HostBinding('class')\n get elementClass(): string {\n return ['eui-tabs', this.isMainNavigation ? 'eui-tabs--main-navigation' : ''].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eui-tabs-v2'\n */\n @Input()\n e2eAttr = 'eui-tabs-v2';\n /**\n * Index of the active tab\n *\n * @default 0\n */\n @Input() activeTabIndex = 0;\n /**\n * Sets the `aria-label` attribute for the host element.\n *\n * @default 'eUI Tabs'\n */\n @Input() ariaLabel = 'eUI Tabs';\n @Input({ transform: booleanAttribute }) isMainNavigation = false;\n\n /**\n * Event emitted when a tab is closed\n */\n @Output() tabClose = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n /**\n * Event emitted when a tab is activated\n */\n @Output() tabActivate = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n /**\n * Event emitted when a tab is clicked\n */\n @Output() tabClick = new EventEmitter<{ tab: EuiTabV2Component; index: number }>();\n\n @ContentChildren(forwardRef(() => EuiTabV2Component), { descendants: false }) _tabs: QueryList<EuiTabV2Component>;\n\n @ViewChild('euiTabsHeadersContainer') euiTabsHeadersContainer: ElementRef;\n @ViewChild('euiTabsHeaders') euiTabsHeaders: ElementRef;\n @ViewChildren('euiTabListItems') euiTabListItems: QueryList<ElementRef>;\n\n public tabs: EuiTabV2Component[] = [];\n public scrolling = false;\n public navigationLeftButtonDisabled = true;\n public navigationRightButtonDisabled = false;\n public currentOffset = 0;\n\n protected tabId = uniqueId();\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private player: AnimationPlayer;\n private stepMove = 400;\n private scrollOffset = 40;\n private scrollingCount = 0;\n private resizeObserver: ResizeObserver;\n\n constructor(private cd: ChangeDetectorRef, private builder: AnimationBuilder, private euiAppShellService: EuiAppShellService) {}\n\n /**\n * Width of the tabs headers container\n */\n get euiTabsHeadersContainerWidth(): number {\n return this.euiTabsHeadersContainer?.nativeElement.clientWidth;\n }\n\n /**\n * Width of the tabs headers\n */\n get euiTabsHeadersWidth(): number {\n return this.euiTabsHeaders?.nativeElement.clientWidth;\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c?.activeTabIndex && !c.activeTabIndex.isFirstChange()) {\n this.activate(this.activeTabIndex);\n }\n }\n\n ngOnInit(): void {\n this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n this.tabsScrollingHandler();\n });\n }\n\n ngAfterViewInit(): void {\n this._tabs.changes.pipe(startWith(this._tabs), takeUntil(this.destroy$)).subscribe((tabs: QueryList<EuiTabV2Component>) => {\n this.tabs = tabs.toArray();\n setTimeout(() => {\n this.tabsScrollingHandler();\n });\n\n this.cd.detectChanges();\n });\n\n setTimeout(() => {\n if (this.tabs[this.activeTabIndex]) {\n this.cd.markForCheck();\n this.activate(this.activeTabIndex, false, { emitEvent: false });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Activate a tab having index passed in parameter if exists.\n *\n * @param index Index of the tab to close\n * @param isAnimated Whether the tab activation should be animated\n * @param options Object with emitEvent property to emit the event or not\n */\n public activateTab(index: number, isAnimated = true, options = { emitEvent: true }): void {\n const tab = this.tabs[index];\n if (tab) {\n this.tabs.forEach((t) => {\n t.deactivateTab();\n });\n\n this.setScrollToTabIndex(index, isAnimated);\n\n tab.activateTab();\n this.activeTabIndex = index;\n\n if (options.emitEvent) {\n this.tabActivate.emit({ tab, index });\n }\n\n this.cd.detectChanges();\n }\n }\n\n /**\n * Close a tab having index passed in parameter if exists.\n * @param index Index of the tab to close\n */\n public closeTab(index: number): void {\n const tab = this.tabs[index];\n if (this.tabs[index]) {\n this.tabs[index].deactivateTab();\n this.tabs = this.tabs.filter((_, i) => i !== index);\n\n if (index === this.activeTabIndex) {\n const previousVisibleIndex = this.tabs.indexOf(this.tabs[index - 1]);\n this.cd.markForCheck();\n\n if (previousVisibleIndex < 0) {\n this.activate(0);\n } else {\n this.activate(previousVisibleIndex);\n }\n } else {\n if (index < this.activeTabIndex) {\n this.activeTabIndex = this.activeTabIndex - 1;\n }\n }\n\n this.cd.detectChanges();\n this.tabsScrollingHandler();\n }\n }\n\n /**\n * Scroll to the 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 the rihgt handler\n */\n public goToRight(): void {\n let scrollTo = this.currentOffset - this.stepMove;\n\n if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) {\n scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n }\n\n this.setScrollTo(scrollTo);\n }\n\n /**\n * Actions applied upon a keydown event\n *\n * @param i Index of the tab for each pressed key\n * @param event The keyboard event\n */\n protected onKeydown(i: number, event: KeyboardEvent): void {\n switch (event.key) {\n case 'Enter': {\n if (!this.tabs[i].isDisabled) {\n this.activate(i);\n }\n break;\n }\n case 'ArrowRight': {\n const isLastItem = i === this.euiTabListItems.toArray().length - 1;\n const index = isLastItem ? 0 : i + 1;\n\n this.setScrollToTabIndex(index, false);\n this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n break;\n }\n case 'ArrowLeft': {\n const lastIndex = this.euiTabListItems.toArray().length - 1;\n const index = i === 0 ? lastIndex : i - 1;\n\n this.setScrollToTabIndex(index, false);\n this.euiTabListItems.toArray()[index]?.nativeElement.focus();\n\n break;\n }\n case 'Home': {\n this.setScrollToTabIndex(0, false);\n this.euiTabListItems.toArray()[0]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'End': {\n this.setScrollToTabIndex(this.euiTabListItems.toArray().length - 1, false);\n this.euiTabListItems.toArray()[this.euiTabListItems.toArray().length - 1]?.nativeElement.focus();\n event.preventDefault();\n break;\n }\n case 'Delete': {\n if (this.tabs[i].isClosable) {\n if (i === this.euiTabListItems.toArray().length - 1) {\n this.euiTabListItems.toArray()[i - 1]?.nativeElement.focus();\n this.close(i, event);\n } else {\n this.close(i, event);\n this.euiTabListItems.toArray()[i]?.nativeElement.focus();\n }\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /**\n * Click handler for tab list item\n *\n * @param index Index of the tab clicked\n */\n protected tabListItemClick(index: number): void {\n const tab = this.tabs[index];\n\n this.tabClick.emit({ tab, index });\n\n this.activate(index);\n }\n\n /**\n * Activates a tab\n *\n * @param index Index of the tab to activate\n * @param isAnimated Whether the activation should be animated\n * @param options Object with emitEvent property to emit the event or not\n */\n protected activate(index: number, isAnimated = true, options = { emitEvent: true }): void {\n const tab = this.tabs[index];\n\n if (tab && !tab.isHandleActivateTab) {\n this.activateTab(index, isAnimated, options);\n }\n }\n\n /**\n * Closes a tab\n *\n * @param index Index of the tab to close\n * @param e\n */\n protected close(index: number, e: Event): void {\n const tab = this.tabs[index];\n\n if (tab && !tab.isHandleCloseOnClose) {\n this.closeTab(index);\n }\n\n this.tabClose.emit({ tab, index });\n e.stopPropagation();\n }\n\n /**\n * Checks if there are html elements within the tab panel, in order to focus or not the tab panel\n * @param index The tab index\n */\n protected onAttached(index: number): void {\n const tabbody = document.querySelector('#tabpanel-' + index + '-' + this.tabId)?.children[0];\n if (tabbody?.children.length > 0) {\n for (const child of Array.from(tabbody.children)) {\n if (this.isFocusableElement(child)) {\n this.tabs[index - 1].templateBody.tabIndex$.next(-1);\n } else {\n this.tabs[index - 1].templateBody.tabIndex$.next(0);\n }\n }\n } else {\n this.tabs[index - 1].templateBody.tabIndex$.next(0);\n }\n }\n\n /**\n * Checks the existence of focusable elements\n * @param origin The element to check\n */\n private isFocusableElement(origin: Element): boolean {\n return (\n origin.matches('button') ||\n origin.matches('a') ||\n origin.matches('input') ||\n origin.matches('select') ||\n origin.matches('textarea') ||\n origin.matches('[tabindex]:not([tabindex=\"-1\"])')\n );\n }\n\n /**\n * Checks if the tabs headers are scrolling and calculates the scrolling position\n */\n private tabsScrollingHandler(): void {\n if (this.euiTabsHeadersContainerWidth && this.euiTabsHeadersWidth) {\n this.scrolling = this.euiTabsHeadersContainerWidth < this.euiTabsHeadersWidth;\n\n if (!this.scrolling) {\n this.scrollingCount = 0;\n this.setScrollTo(0, false);\n } else {\n if (\n this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth <= Math.abs(this.currentOffset) + this.scrollOffset &&\n this.scrollingCount !== 0\n ) {\n const scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth) - this.scrollOffset;\n this.setScrollTo(scrollTo);\n } else {\n if (Math.abs(this.currentOffset) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + 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 * Sets the scroll position oon the tab header specified by index\n *\n * @param index Index of the tab header to scroll to\n * @param isAnimated Whether the tab activation should be animated\n */\n private setScrollToTabIndex(index: number, isAnimated = true): void {\n const activeTab = this.euiTabsHeaders.nativeElement.children.item(index);\n\n if (activeTab && !this.isActiveTabFullyVisible(activeTab) && !this.isMainNavigation) {\n let scrollTo = 0;\n let subsetWidth = 0;\n for (let i = 0; i <= index; i++) {\n subsetWidth += this.euiTabsHeaders.nativeElement.children.item(i).clientWidth;\n }\n\n scrollTo = this.euiTabsHeadersContainerWidth / 2 - subsetWidth;\n\n if (Math.abs(scrollTo) > this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n scrollTo = -(this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset);\n }\n\n if (scrollTo > 0 || (scrollTo < 0 && index === 0)) {\n scrollTo = 0;\n }\n\n this.setScrollTo(scrollTo, isAnimated);\n }\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 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.euiTabsHeaders.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) < this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = false;\n }\n if (this.currentOffset < 0) {\n this.navigationLeftButtonDisabled = false;\n }\n if (Math.abs(scrollTo) === this.euiTabsHeadersWidth - this.euiTabsHeadersContainerWidth + this.scrollOffset) {\n this.navigationRightButtonDisabled = true;\n }\n\n this.cd.detectChanges();\n }\n\n /**\n * Checks if the active tab is fully visible\n *\n * @param activeTab Index of the tab to check\n * @returns true if fully visible, false otherwise\n */\n private isActiveTabFullyVisible(activeTab: HTMLDivElement): boolean {\n const fullyVisible =\n activeTab.offsetLeft - this.scrollOffset >= 0 &&\n activeTab.offsetLeft + activeTab.clientWidth < this.euiTabsHeadersContainerWidth - this.scrollOffset;\n\n return fullyVisible;\n }\n}\n","<div #euiTabsHeadersContainer class=\"eui-tab\" [class.eui-tab--scrolling]=\"scrolling\">\n <ul #euiTabsHeaders class=\"eui-tab-headers\" [attr.data-offset]=\"currentOffset\" role=\"tablist\" [attr.aria-label]=\"ariaLabel\">\n @for (tab of tabs; let i = $index; track tab) {\n @if (tab.isVisible$ | async) {\n <li #euiTabListItems\n class=\"eui-tab-header\"\n id=\"tab-{{ i + 1 }}-{{ tabId }}\"\n [tabindex]=\"i === activeTabIndex ? '0' : '-1'\"\n role=\"tab\"\n attr.aria-controls=\"tabpanel-{{ i + 1 }}-{{ tabId }}\"\n [attr.aria-selected]=\"i === activeTabIndex\"\n [ngClass]=\"tab.baseStatesDirective.euiVariant ? 'eui-tab-header--' + tab.baseStatesDirective.euiVariant : ''\"\n [class.eui-tab-header--active]=\"i === activeTabIndex\"\n [class.eui-tab-header--disabled]=\"tab.isDisabled$ | async\"\n attr.aria-disabled=\"{{ tab.isDisabled$ | async }}\"\n (click)=\"tabListItemClick(i)\"\n (keydown)=\"onKeydown(i, $event)\">\n <ng-template [cdkPortalOutlet]=\"tab.templateHeader.templatePortal\"></ng-template>\n\n @if (tab.isClosable$ | async) {\n <eui-icon-button\n [tabindex]=\"-1\"\n ariaLabel=\"Closable\"\n euiRounded\n class=\"eui-tab-close-button\"\n icon=\"close:outline\"\n (buttonClick)=\"close(i, $event)\">\n </eui-icon-button>\n }\n </li>\n }\n }\n </ul>\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\n <ng-content select=\"eui-tabs-v2-right-content\"></ng-content>\n</div>\n\n@for (tab of tabs; let i = $index; track tab) {\n @if (i === activeTabIndex && (tab.isDisabled$ | async) === false && tab.templateBody) {\n <div id=\"tabpanel-{{ i + 1 }}-{{ tabId }}\" class=\"eui-tab-body-container\" role=\"tabpanel\" attr.aria-labelledby=\"tab-{{ i + 1 }}-{{ tabId }}\">\n <ng-template [cdkPortalOutlet]=\"tab.templateBody.templatePortal\" (attached)=\"onAttached(i + 1)\"></ng-template>\n </div>\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'eui-tabs-v2-right-content',\n template: '<ng-content/>',\n standalone: true,\n styles: `\n :host {\n display: flex;\n margin-left: auto;\n }\n `,\n})\nexport class EuiTabsV2RightContentComponent {\n}\n","export * from './eui-tabs-v2.component';\nexport * from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\nexport * from './eui-tab-v2/eui-tab-v2.component';\nexport * from './eui-tab-v2-header/eui-tab-v2-header.component';\nexport * from './eui-tab-v2-body/eui-tab-v2-body.component';\n\nimport { EuiTabsV2Component } from './eui-tabs-v2.component';\nimport { EuiTabsV2RightContentComponent } from './eui-tabs-v2-right-content/eui-tabs-v2-right-content.component';\nimport { EuiTabV2BodyComponent } from './eui-tab-v2-body/eui-tab-v2-body.component';\nimport { EuiTabV2HeaderComponent } from './eui-tab-v2-header/eui-tab-v2-header.component';\nimport { EuiTabV2Component } from './eui-tab-v2/eui-tab-v2.component';\n\nexport const EUI_TABS_COMPONENTS = [\n EuiTabsV2Component,\n EuiTabsV2RightContentComponent,\n EuiTabV2BodyComponent,\n EuiTabV2HeaderComponent,\n EuiTabV2Component,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}