@eui/components 19.2.2-snapshot-1746687278530 → 19.2.2-snapshot-1746819960742

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 (132) hide show
  1. package/README.md +0 -1
  2. package/docs/components/EuiAccordionComponent.html +4 -4
  3. package/docs/components/EuiAccordionItemComponent.html +1 -1
  4. package/docs/components/EuiAlertComponent.html +1 -1
  5. package/docs/components/EuiAlertTitleComponent.html +1 -1
  6. package/docs/components/EuiAvatarComponent.html +1 -1
  7. package/docs/components/EuiBadgeComponent.html +4 -4
  8. package/docs/components/EuiCardComponent.html +4 -4
  9. package/docs/components/EuiChipComponent.html +5 -5
  10. package/docs/components/EuiChipListComponent.html +4 -4
  11. package/docs/components/EuiDashboardButtonComponent.html +1 -1
  12. package/docs/components/EuiDashboardCardComponent.html +4 -4
  13. package/docs/components/EuiDashboardCardContentComponent.html +2 -2
  14. package/docs/components/EuiDashboardCardStatusContentComponent.html +1 -1
  15. package/docs/components/EuiFeedbackMessageComponent.html +4 -4
  16. package/docs/components/EuiFieldsetComponent.html +4 -4
  17. package/docs/components/EuiInputGroupAddOnComponent.html +4 -4
  18. package/docs/components/EuiInputGroupAddOnItemComponent.html +4 -4
  19. package/docs/components/EuiInputGroupComponent.html +4 -4
  20. package/docs/components/EuiLabelComponent.html +4 -4
  21. package/docs/components/EuiListComponent.html +4 -4
  22. package/docs/components/EuiListItemComponent.html +4 -4
  23. package/docs/components/EuiNavbarItemComponent.html +1 -1
  24. package/docs/components/EuiPaginatorComponent.html +4 -4
  25. package/docs/components/EuiProgressBarComponent.html +4 -4
  26. package/docs/components/EuiProgressCircleComponent.html +4 -4
  27. package/docs/components/EuiSidebarMenuComponent.html +4 -4
  28. package/docs/components/EuiSkeletonComponent.html +1 -1
  29. package/docs/components/EuiSlideToggleComponent.html +4 -4
  30. package/docs/components/EuiTabsV2Component.html +4 -4
  31. package/docs/components/EuiTextareaComponent.html +4 -4
  32. package/docs/components/EuiTimebarComponent.html +4 -4
  33. package/docs/components/EuiTreeComponent.html +4 -4
  34. package/docs/components/EuiTreeListItemComponent.html +1 -0
  35. package/docs/components/EuiWizardComponent.html +4 -4
  36. package/docs/components/EuiWizardStepComponent.html +0 -4
  37. package/docs/dependencies.html +2 -2
  38. package/docs/js/menu-wc.js +21 -21
  39. package/docs/js/menu-wc_es5.js +1 -1
  40. package/docs/js/search/search_index.js +2 -2
  41. package/eui-alert/eui-alert-title.component.d.ts.map +1 -0
  42. package/eui-alert/eui-alert.component.d.ts +1 -1
  43. package/eui-alert/eui-alert.component.d.ts.map +1 -1
  44. package/eui-alert/eui-alert.module.d.ts +1 -1
  45. package/eui-alert/index.d.ts +2 -2
  46. package/eui-alert/index.d.ts.map +1 -1
  47. package/eui-avatar/eui-avatar.component.d.ts.map +1 -1
  48. package/eui-badge/eui-badge.component.d.ts.map +1 -1
  49. package/eui-card/eui-card.component.d.ts.map +1 -1
  50. package/eui-chip/eui-chip.component.d.ts.map +1 -1
  51. package/eui-chip-list/eui-chip-list.component.d.ts.map +1 -1
  52. package/eui-dashboard-card/{eui-dashboard-card-content/dashboard-card-content.component.d.ts → eui-dashboard-card-content.component.d.ts} +1 -1
  53. package/eui-dashboard-card/eui-dashboard-card-content.component.d.ts.map +1 -0
  54. package/eui-dashboard-card/{eui-dashboard-card-status-content/dashboard-card-status-content.component.d.ts → eui-dashboard-card-status-content.component.d.ts} +1 -1
  55. package/eui-dashboard-card/eui-dashboard-card-status-content.component.d.ts.map +1 -0
  56. package/eui-dashboard-card/eui-dashboard-card.component.d.ts +3 -3
  57. package/eui-dashboard-card/eui-dashboard-card.component.d.ts.map +1 -1
  58. package/eui-dashboard-card/index.d.ts +4 -4
  59. package/eui-dashboard-card/index.d.ts.map +1 -1
  60. package/eui-feedback-message/eui-feedback-message.component.d.ts.map +1 -1
  61. package/eui-fieldset/eui-fieldset.component.d.ts.map +1 -1
  62. package/eui-label/eui-label.component.d.ts.map +1 -1
  63. package/eui-list/eui-list-item/eui-list-item.component.d.ts.map +1 -1
  64. package/eui-navbar/{eui-navbar-item/eui-navbar-item.component.d.ts → eui-navbar-item.component.d.ts} +1 -1
  65. package/eui-navbar/eui-navbar-item.component.d.ts.map +1 -0
  66. package/eui-navbar/eui-navbar.component.d.ts +1 -1
  67. package/eui-navbar/eui-navbar.component.d.ts.map +1 -1
  68. package/eui-navbar/eui-navbar.module.d.ts +1 -1
  69. package/eui-navbar/index.d.ts +2 -2
  70. package/eui-navbar/index.d.ts.map +1 -1
  71. package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
  72. package/eui-progress-circle/eui-progress-circle.component.d.ts.map +1 -1
  73. package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
  74. package/eui-skeleton/eui-skeleton.component.d.ts.map +1 -1
  75. package/eui-slide-toggle/eui-slide-toggle.component.d.ts.map +1 -1
  76. package/eui-tabs-v2/eui-tabs-v2.component.d.ts.map +1 -1
  77. package/eui-textarea/eui-textarea.component.d.ts.map +1 -1
  78. package/eui-timebar/eui-timebar.component.d.ts.map +1 -1
  79. package/eui-tree/eui-tree.component.d.ts.map +1 -1
  80. package/eui-tree-list/eui-tree-list-item.component.d.ts.map +1 -1
  81. package/eui-wizard/eui-wizard-step.component.d.ts.map +1 -1
  82. package/eui-wizard/eui-wizard.component.d.ts.map +1 -1
  83. package/fesm2022/eui-components-eui-accordion.mjs.map +1 -1
  84. package/fesm2022/eui-components-eui-alert.mjs +2 -2
  85. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  86. package/fesm2022/eui-components-eui-avatar.mjs +10 -10
  87. package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
  88. package/fesm2022/eui-components-eui-badge.mjs +2 -2
  89. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  90. package/fesm2022/eui-components-eui-button.mjs +2 -2
  91. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  92. package/fesm2022/eui-components-eui-card.mjs +8 -8
  93. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  94. package/fesm2022/eui-components-eui-chip-group.mjs +2 -2
  95. package/fesm2022/eui-components-eui-chip-group.mjs.map +1 -1
  96. package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
  97. package/fesm2022/eui-components-eui-chip.mjs +2 -2
  98. package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
  99. package/fesm2022/eui-components-eui-dashboard-button.mjs +2 -2
  100. package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
  101. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
  102. package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
  103. package/fesm2022/eui-components-eui-fieldset.mjs +2 -2
  104. package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
  105. package/fesm2022/eui-components-eui-icon.mjs +2 -2
  106. package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
  107. package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
  108. package/fesm2022/eui-components-eui-label.mjs.map +1 -1
  109. package/fesm2022/eui-components-eui-list.mjs.map +1 -1
  110. package/fesm2022/eui-components-eui-navbar.mjs.map +1 -1
  111. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  112. package/fesm2022/eui-components-eui-progress-bar.mjs +2 -2
  113. package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
  114. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  115. package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
  116. package/fesm2022/eui-components-eui-skeleton.mjs.map +1 -1
  117. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  118. package/fesm2022/eui-components-eui-tabs-v2.mjs.map +1 -1
  119. package/fesm2022/eui-components-eui-textarea.mjs +2 -2
  120. package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
  121. package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
  122. package/fesm2022/eui-components-eui-tree-list.mjs +3 -1
  123. package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
  124. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  125. package/fesm2022/eui-components-eui-wizard.mjs +2 -2
  126. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  127. package/package.json +7 -7
  128. package/eui-alert/components/eui-alert-title.component.d.ts.map +0 -1
  129. package/eui-dashboard-card/eui-dashboard-card-content/dashboard-card-content.component.d.ts.map +0 -1
  130. package/eui-dashboard-card/eui-dashboard-card-status-content/dashboard-card-status-content.component.d.ts.map +0 -1
  131. package/eui-navbar/eui-navbar-item/eui-navbar-item.component.d.ts.map +0 -1
  132. /package/eui-alert/{components/eui-alert-title.component.d.ts → eui-alert-title.component.d.ts} +0 -0
@@ -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})\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 } from '@angular/common';\n\n@Component({\n selector: 'eui-tab-v2-body',\n templateUrl: './eui-tab-v2-body.component.html',\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})\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 EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n forwardRef,\n AfterViewInit,\n ElementRef,\n ChangeDetectorRef,\n HostBinding,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewChild,\n SimpleChanges,\n ViewChildren,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { AsyncPipe, 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 { 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';\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 imports: [\n NgClass,\n AsyncPipe,\n PortalModule,\n ...EUI_ICON,\n ...EUI_BUTTON,\n ...EUI_ICON_BUTTON,\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 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 = [\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":";;;;;;;;;;;;;;;;;;;MAOa,uBAAuB,CAAA;AAKhC,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;;IAEpC,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;;8GAR5E,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,yLCPpC,4FAKA,EAAA,CAAA,CAAA;;2FDEa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;+BACI,mBAAmB,EAAA,QAAA,EAAA,4FAAA,EAAA;qFAIH,WAAW,EAAA,CAAA;sBAApC,SAAS;uBAAC,aAAa;;;MEIf,qBAAqB,CAAA;AAQ9B,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAPI,IAAmB,CAAA,mBAAA,GAAG,KAAK;AAKnE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC;;IAIlC,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;;8GAX5E,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EACV,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAAA,gBAAgB,CCbxC,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,iOAKA,uCDIQ,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGJ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAElB,OAAA,EAAA;wBACL,SAAS;AACZ,qBAAA,EAAA,QAAA,EAAA,iOAAA,EAAA;qFAGuC,mBAAmB,EAAA,CAAA;sBAA1D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAEZ,WAAW,EAAA,CAAA;sBAApC,SAAS;uBAAC,aAAa;;;MEaf,iBAAiB,CAAA;AAoB1B,IAAA,WAAA,CAAmB,mBAAwC,EAAA;QAAxC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;QAjB7B,IAAO,CAAA,OAAA,GAAG,SAAS;QAEY,IAAU,CAAA,UAAA,GAAG,KAAK;QAClB,IAAU,CAAA,UAAA,GAAG,KAAK;QAClB,IAAS,CAAA,SAAA,GAAG,IAAI;QAChB,IAAoB,CAAA,oBAAA,GAAG,KAAK;QAC5B,IAAmB,CAAA,mBAAA,GAAG,KAAK;QAK5D,IAAQ,CAAA,QAAA,GAAG,KAAK;QAEhB,IAAU,CAAA,UAAA,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QAChD,IAAW,CAAA,WAAA,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;QAClD,IAAW,CAAA,WAAA,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;;AAIzD,IAAA,WAAW,CAAC,CAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,EAAE,SAAS,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;;AAElD,QAAA,IAAI,CAAC,EAAE,UAAU,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;;AAEpD,QAAA,IAAI,CAAC,EAAE,UAAU,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;;;IAIjD,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;IAGjB,aAAa,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;8GAvChB,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAKN,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,GAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,gBAAgB,CAChB,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,gBAAgB,yCAChB,gBAAgB,CAAA,EAAA,oBAAA,EAAA,CAAA,sBAAA,EAAA,sBAAA,EAChB,gBAAgB,CAAA,EAAA,mBAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAChB,gBAAgB,CAEL,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,uBAAuB,CACvB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,qBAAqB,mWArB1C,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAShB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAX7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,mBAAmB;AAC9B,4BAAA,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC;AACxH,yBAAA;AACJ,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA;wFAEY,EAAE,EAAA,CAAA;sBAAV;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACuC,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,oBAAoB,EAAA,CAAA;sBAA3D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,mBAAmB,EAAA,CAAA;sBAA1D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAEmB,cAAc,EAAA,CAAA;sBAAtE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,uBAAuB,CAAC;gBACA,YAAY,EAAA,CAAA;sBAAlE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,qBAAqB,CAAC;;;ACPzD;;;;;;AAMG;MAeU,kBAAkB,CAAA;AAC3B,IAAA,IACI,YAAY,GAAA;QACZ,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,GAAG,2BAA2B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AA0DlG,IAAA,WAAA,CAAoB,EAAqB,EAAU,OAAyB,EAAU,kBAAsC,EAAA;QAAxG,IAAE,CAAA,EAAA,GAAF,EAAE;QAA6B,IAAO,CAAA,OAAA,GAAP,OAAO;QAA4B,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QAjDxG,IAAO,CAAA,OAAA,GAAG,aAAa;AACvB;;;;AAIG;QACM,IAAc,CAAA,cAAA,GAAG,CAAC;AAC3B;;;;AAIG;QACM,IAAS,CAAA,SAAA,GAAG,UAAU;QACS,IAAgB,CAAA,gBAAA,GAAG,KAAK;AAEhE;;AAEG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAA6C;AAClF;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAA6C;AACrF;;AAEG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAA6C;QAQ3E,IAAI,CAAA,IAAA,GAAwB,EAAE;QAC9B,IAAS,CAAA,SAAA,GAAG,KAAK;QACjB,IAA4B,CAAA,4BAAA,GAAG,IAAI;QACnC,IAA6B,CAAA,6BAAA,GAAG,KAAK;QACrC,IAAa,CAAA,aAAA,GAAG,CAAC;QAEd,IAAK,CAAA,KAAA,GAAG,QAAQ,EAAE;AAEpB,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;QAEnD,IAAQ,CAAA,QAAA,GAAG,GAAG;QACd,IAAY,CAAA,YAAA,GAAG,EAAE;QACjB,IAAc,CAAA,cAAA,GAAG,CAAC;;AAK1B;;AAEG;AACH,IAAA,IAAI,4BAA4B,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,WAAW;;AAGlE;;AAEG;AACH,IAAA,IAAI,mBAAmB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,WAAW;;AAGzD,IAAA,WAAW,CAAC,CAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE;AACxD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;;;IAI1C,QAAQ,GAAA;QACJ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;YAC9E,IAAI,CAAC,oBAAoB,EAAE;AAC/B,SAAC,CAAC;;IAGN,eAAe,GAAA;QACX,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAkC,KAAI;AACtH,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;YAC1B,UAAU,CAAC,MAAK;gBACZ,IAAI,CAAC,oBAAoB,EAAE;AAC/B,aAAC,CAAC;AAEF,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;AAC3B,SAAC,CAAC;QAEF,UAAU,CAAC,MAAK;YACZ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AAChC,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AACtB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;AAEvE,SAAC,CAAC;;IAGN,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;;AAG/B;;;;;;AAMG;AACI,IAAA,WAAW,CAAC,KAAa,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,EAAA;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,GAAG,EAAE;YACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;gBACpB,CAAC,CAAC,aAAa,EAAE;AACrB,aAAC,CAAC;AAEF,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC;YAE3C,GAAG,CAAC,WAAW,EAAE;AACjB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAE3B,YAAA,IAAI,OAAO,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;;AAGzC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;;;AAI/B;;;AAGG;AACI,IAAA,QAAQ,CAAC,KAAa,EAAA;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AAEnD,YAAA,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE;AAC/B,gBAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACpE,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AAEtB,gBAAA,IAAI,oBAAoB,GAAG,CAAC,EAAE;AAC1B,oBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;qBACb;AACH,oBAAA,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;;;iBAEpC;AACH,gBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE;oBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;;;AAIrD,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,oBAAoB,EAAE;;;AAInC;;AAEG;IACI,QAAQ,GAAA;QACX,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ;AACjD,QAAA,IAAI,QAAQ,GAAG,CAAC,EAAE;YACd,QAAQ,GAAG,CAAC;;AAGhB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;;AAG9B;;AAEG;IACI,SAAS,GAAA;QACZ,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ;AAEjD,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,EAAE;AACnF,YAAA,QAAQ,GAAG,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,YAAY;;AAGlG,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;;AAG9B;;;;;AAKG;IACO,SAAS,CAAC,CAAS,EAAE,KAAoB,EAAA;AAC/C,QAAA,QAAQ,KAAK,CAAC,GAAG;YACb,KAAK,OAAO,EAAE;gBACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;AAC1B,oBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;gBAEpB;;YAEJ,KAAK,YAAY,EAAE;AACf,gBAAA,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC;AAClE,gBAAA,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAEpC,gBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;AACtC,gBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;gBAE5D;;YAEJ,KAAK,WAAW,EAAE;AACd,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC;AAC3D,gBAAA,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC;AAEzC,gBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;AACtC,gBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;gBAE5D;;YAEJ,KAAK,MAAM,EAAE;AACT,gBAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC;AAClC,gBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;gBACxD,KAAK,CAAC,cAAc,EAAE;gBACtB;;YAEJ,KAAK,KAAK,EAAE;AACR,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC;gBAC1E,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;gBAChG,KAAK,CAAC,cAAc,EAAE;gBACtB;;YAEJ,KAAK,QAAQ,EAAE;gBACX,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;AACzB,oBAAA,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,wBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;AAC5D,wBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;;yBACjB;AACH,wBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;AACpB,wBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;;;gBAGhE;;YAEJ,SAAS;gBACL;;;;AAKZ;;;;AAIG;AACO,IAAA,gBAAgB,CAAC,KAAa,EAAA;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAElC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;AAGxB;;;;;;AAMG;AACO,IAAA,QAAQ,CAAC,KAAa,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,EAAA;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAE5B,QAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC;;;AAIpD;;;;;AAKG;IACO,KAAK,CAAC,KAAa,EAAE,CAAQ,EAAA;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAE5B,QAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE;AAClC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;QAGxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC,CAAC,eAAe,EAAE;;AAGvB;;;AAGG;AACO,IAAA,UAAU,CAAC,KAAa,EAAA;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5F,IAAI,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,YAAA,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC9C,gBAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;AAChC,oBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;qBACjD;AACH,oBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;;;;aAGxD;AACH,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;;;AAI3D;;;AAGG;AACK,IAAA,kBAAkB,CAAC,MAAe,EAAA;AACtC,QAAA,QACI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;AACxB,YAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AACnB,YAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;AACvB,YAAA,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;AACxB,YAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;AAC1B,YAAA,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC;;AAIzD;;AAEG;IACK,oBAAoB,GAAA;QACxB,IAAI,IAAI,CAAC,4BAA4B,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,mBAAmB;AAE7E,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC;AACvB,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;;iBACvB;AACH,gBAAA,IACI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY;AAChH,oBAAA,IAAI,CAAC,cAAc,KAAK,CAAC,EAC3B;AACE,oBAAA,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,YAAY;AACpG,oBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;;qBACvB;oBACH,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,YAAY,EAAE;AACjH,wBAAA,IAAI,CAAC,6BAA6B,GAAG,KAAK;;AAE9C,oBAAA,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;AACxB,wBAAA,IAAI,CAAC,4BAA4B,GAAG,KAAK;;;gBAIjD,IAAI,CAAC,cAAc,EAAE;;AAGzB,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;;;AAI/B;;;;;AAKG;AACK,IAAA,mBAAmB,CAAC,KAAa,EAAE,UAAU,GAAG,IAAI,EAAA;AACxD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAExE,QAAA,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACjF,IAAI,QAAQ,GAAG,CAAC;YAChB,IAAI,WAAW,GAAG,CAAC;AACnB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;AAC7B,gBAAA,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;;YAGjF,QAAQ,GAAG,IAAI,CAAC,4BAA4B,GAAG,CAAC,GAAG,WAAW;AAE9D,YAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,YAAY,EAAE;AACvG,gBAAA,QAAQ,GAAG,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,YAAY,CAAC;;AAGlG,YAAA,IAAI,QAAQ,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAC/C,QAAQ,GAAG,CAAC;;AAGhB,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;;;AAI9C;;;;;AAKG;AACK,IAAA,WAAW,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI,EAAA;QACnD,MAAM,OAAO,GAAG,UAAU,GAAG,sCAAsC,GAAG,CAAC;QACvE,MAAM,SAAS,GAAqB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAEtH,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;AACjE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAElB,QAAA,IAAI,CAAC,aAAa,GAAG,QAAQ;AAE7B,QAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;AAChB,YAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI;;QAE5C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,YAAY,EAAE;AACjH,YAAA,IAAI,CAAC,6BAA6B,GAAG,KAAK;;AAE9C,QAAA,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;AACxB,YAAA,IAAI,CAAC,4BAA4B,GAAG,KAAK;;AAE7C,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,YAAY,EAAE;AACzG,YAAA,IAAI,CAAC,6BAA6B,GAAG,IAAI;;AAG7C,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;;AAG3B;;;;;AAKG;AACK,IAAA,uBAAuB,CAAC,SAAyB,EAAA;QACrD,MAAM,YAAY,GACd,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC;AAC7C,YAAA,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,YAAY;AAExG,QAAA,OAAO,YAAY;;8GAxbd,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAyBP,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAeF,iBAAiB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9FvD,oyGAuEA,EAAA,MAAA,EAAA,CAAA,2gIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDzBQ,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACP,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACT,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAMP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAGN,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACL,OAAO;wBACP,SAAS;wBACT,YAAY;AACZ,wBAAA,GAAG,QAAQ;AACX,wBAAA,GAAG,UAAU;AACb,wBAAA,GAAG,eAAe;AACrB,qBAAA,EAAA,QAAA,EAAA,oyGAAA,EAAA,MAAA,EAAA,CAAA,2gIAAA,CAAA,EAAA;wJAIG,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,OAAO;gBAWpB,OAAO,EAAA,CAAA;sBAPN,WAAW;uBAAC,eAAe;;sBAM3B;gBAOQ,cAAc,EAAA,CAAA;sBAAtB;gBAMQ,SAAS,EAAA,CAAA;sBAAjB;gBACuC,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK5B,QAAQ,EAAA,CAAA;sBAAjB;gBAIS,WAAW,EAAA,CAAA;sBAApB;gBAIS,QAAQ,EAAA,CAAA;sBAAjB;gBAE6E,KAAK,EAAA,CAAA;sBAAlF,eAAe;uBAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAEtC,uBAAuB,EAAA,CAAA;sBAA5D,SAAS;uBAAC,yBAAyB;gBACP,cAAc,EAAA,CAAA;sBAA1C,SAAS;uBAAC,gBAAgB;gBACM,eAAe,EAAA,CAAA;sBAA/C,YAAY;uBAAC,iBAAiB;;;MEtFtB,8BAA8B,CAAA;8GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,qFAR7B,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,CAAA,CAAA;;2FAQhB,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAV1C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,YAC3B,eAAe,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA;;;ACQhB,MAAA,QAAQ,GAAG;IACpB,kBAAkB;IAClB,8BAA8B;IAC9B,qBAAqB;IACrB,uBAAuB;IACvB,iBAAiB;;;ACjBrB;;AAEG;;;;"}
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})\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 } from '@angular/common';\n\n@Component({\n selector: 'eui-tab-v2-body',\n templateUrl: './eui-tab-v2-body.component.html',\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})\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 EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n forwardRef,\n AfterViewInit,\n ElementRef,\n ChangeDetectorRef,\n HostBinding,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewChild,\n SimpleChanges,\n ViewChildren,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { AsyncPipe, 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 { 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';\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 styleUrl: './eui-tabs-v2.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgClass,\n AsyncPipe,\n PortalModule,\n ...EUI_ICON,\n ...EUI_BUTTON,\n ...EUI_ICON_BUTTON,\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 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 = [\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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"}
@@ -511,7 +511,7 @@ class EuiTextareaComponent {
511
511
  }
512
512
  }
513
513
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiTextareaComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
514
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.9", type: EuiTextareaComponent, isStandalone: true, selector: "textarea[euiTextArea]", inputs: { disabled: "disabled", readonly: "readonly", id: "id", isInvalid: ["isInvalid", "isInvalid", booleanAttribute], e2eAttr: "e2eAttr" }, outputs: { rowsChange: "rowsChange" }, host: { listeners: { "input": "onInputChange($event.target.value)", "blur": "onBlur($event.target.value)" }, properties: { "class": "this.class", "attr.disabled": "this.disabled", "attr.readonly": "this.readonly", "attr.id": "this.id", "attr.data-e2e": "this.e2eAttr" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EuiTextareaComponent), multi: true }], usesOnChanges: true, hostDirectives: [{ directive: i1$1.BaseStatesDirective, inputs: ["euiDisabled", "euiDisabled", "euiDanger", "euiDanger"] }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [".eui-19 .eui-textarea__wrapper{display:flex;position:relative;width:100%}.eui-19 .eui-textarea__wrapper .eui-textarea{font:var(--eui-f-m);appearance:none;background-color:var(--eui-c-white);border:1px solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-m);box-shadow:none;color:var(--eui-c-text);padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 1px);width:100%;height:auto;resize:vertical}.eui-19 .eui-textarea__wrapper .eui-textarea:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea:not([hidden]){display:block}.eui-19 .eui-textarea__wrapper .eui-textarea::placeholder{color:var(--eui-c-neutral-lighter)!important;opacity:1}.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;height:inherit;padding-left:0;padding-right:0;pointer-events:none}.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]+.eui-feedback-message,.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]+.eui-input-maxlength{appearance:none;display:none}.eui-19 .eui-textarea__wrapper .eui-textarea[disabled]:not([readonly]),.eui-19 .eui-textarea__wrapper .eui-textarea--disabled:not([readonly]){background-color:var(--eui-c-neutral-bg-light)!important;border:1px solid var(--eui-c-neutral-lightest);color:var(--eui-c-neutral-light);pointer-events:auto}.eui-19 .eui-textarea__wrapper .eui-textarea--invalid,.eui-19 .eui-textarea__wrapper .eui-textarea--danger{border:1px solid var(--eui-c-danger)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading{padding-right:var(--eui-s-2xl)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon{align-items:center;display:flex}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:after,.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:before{content:\"\";height:var(--eui-s-l);position:absolute;right:var(--eui-s-s);width:var(--eui-s-l)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon--sm:after,.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon--sm:before{height:var(--eui-s-m);width:var(--eui-s-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-textarea__wrapper .eui-textarea{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-textarea__wrapper .eui-textarea--disabled,.eui-19 .eui-textarea__wrapper .eui-textarea[disabled]{pointer-events:auto}.eui-19 .eui-textarea__wrapper .eui-textarea__value-container,.eui-19 .eui-textarea__wrapper.eui-textarea__wrapper--readonly .eui-input-maxlength-wrapper,.eui-19 .eui-textarea__wrapper.eui-textarea__wrapper--readonly .eui-textarea--readonly{appearance:none;display:none}.eui-19 .eui-textarea__wrapper.eui-textarea__wrapper--readonly .eui-textarea__value-container{appearance:initial;color:var(--eui-c-neutral-light);display:inline-flex;min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));word-break:break-word}.eui-19 .eui-textarea__wrapper .eui-textarea--invalid{border:var(--eui-bw-xs) solid var(--eui-c-s-danger)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.9", type: EuiTextareaComponent, isStandalone: true, selector: "textarea[euiTextArea]", inputs: { disabled: "disabled", readonly: "readonly", id: "id", isInvalid: ["isInvalid", "isInvalid", booleanAttribute], e2eAttr: "e2eAttr" }, outputs: { rowsChange: "rowsChange" }, host: { listeners: { "input": "onInputChange($event.target.value)", "blur": "onBlur($event.target.value)" }, properties: { "class": "this.class", "attr.disabled": "this.disabled", "attr.readonly": "this.readonly", "attr.id": "this.id", "attr.data-e2e": "this.e2eAttr" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EuiTextareaComponent), multi: true }], usesOnChanges: true, hostDirectives: [{ directive: i1$1.BaseStatesDirective, inputs: ["euiDisabled", "euiDisabled", "euiDanger", "euiDanger"] }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [".eui-19 .eui-textarea__wrapper{display:flex;position:relative;width:100%}.eui-19 .eui-textarea__wrapper .eui-textarea{font:var(--eui-f-m);appearance:none;background-color:var(--eui-c-white);border:1px solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-m);box-shadow:none;color:var(--eui-c-text);padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 1px);width:100%;height:auto;resize:vertical}.eui-19 .eui-textarea__wrapper .eui-textarea:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea:not([hidden]){display:block}.eui-19 .eui-textarea__wrapper .eui-textarea::placeholder{color:var(--eui-c-neutral-lighter)!important;opacity:1}.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;height:inherit;padding-left:0;padding-right:0;pointer-events:none}.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]+.eui-feedback-message,.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]+.eui-input-maxlength{appearance:none;display:none}.eui-19 .eui-textarea__wrapper .eui-textarea[disabled]:not([readonly]),.eui-19 .eui-textarea__wrapper .eui-textarea--disabled:not([readonly]){background-color:var(--eui-c-neutral-bg-light)!important;border:1px solid var(--eui-c-neutral-lightest);color:var(--eui-c-neutral-light);pointer-events:auto}.eui-19 .eui-textarea__wrapper .eui-textarea--invalid,.eui-19 .eui-textarea__wrapper .eui-textarea--danger{border:1px solid var(--eui-c-danger)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading{padding-right:var(--eui-s-2xl)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon{align-items:center;display:flex}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:after,.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:before{content:\"\";height:var(--eui-s-l);position:absolute;right:var(--eui-s-s);width:var(--eui-s-l)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon--sm:after,.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon--sm:before{height:var(--eui-s-m);width:var(--eui-s-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-textarea__wrapper .eui-textarea{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-textarea__wrapper .eui-textarea--disabled,.eui-19 .eui-textarea__wrapper .eui-textarea[disabled]{pointer-events:auto}.eui-19 .eui-textarea__wrapper .eui-textarea__value-container,.eui-19 .eui-textarea__wrapper--readonly .eui-input-maxlength-wrapper,.eui-19 .eui-textarea__wrapper--readonly .eui-textarea--readonly{appearance:none;display:none}.eui-19 .eui-textarea__wrapper--readonly .eui-textarea__value-container{appearance:initial;color:var(--eui-c-neutral-light);display:inline-flex;min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));word-break:break-word}.eui-19 .eui-textarea--invalid{border:var(--eui-bw-xs) solid var(--eui-c-s-danger)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
515
515
  }
516
516
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiTextareaComponent, decorators: [{
517
517
  type: Component,
@@ -520,7 +520,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
520
520
  directive: BaseStatesDirective,
521
521
  inputs: ['euiDisabled', 'euiDanger'],
522
522
  },
523
- ], styles: [".eui-19 .eui-textarea__wrapper{display:flex;position:relative;width:100%}.eui-19 .eui-textarea__wrapper .eui-textarea{font:var(--eui-f-m);appearance:none;background-color:var(--eui-c-white);border:1px solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-m);box-shadow:none;color:var(--eui-c-text);padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 1px);width:100%;height:auto;resize:vertical}.eui-19 .eui-textarea__wrapper .eui-textarea:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea:not([hidden]){display:block}.eui-19 .eui-textarea__wrapper .eui-textarea::placeholder{color:var(--eui-c-neutral-lighter)!important;opacity:1}.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;height:inherit;padding-left:0;padding-right:0;pointer-events:none}.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]+.eui-feedback-message,.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]+.eui-input-maxlength{appearance:none;display:none}.eui-19 .eui-textarea__wrapper .eui-textarea[disabled]:not([readonly]),.eui-19 .eui-textarea__wrapper .eui-textarea--disabled:not([readonly]){background-color:var(--eui-c-neutral-bg-light)!important;border:1px solid var(--eui-c-neutral-lightest);color:var(--eui-c-neutral-light);pointer-events:auto}.eui-19 .eui-textarea__wrapper .eui-textarea--invalid,.eui-19 .eui-textarea__wrapper .eui-textarea--danger{border:1px solid var(--eui-c-danger)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading{padding-right:var(--eui-s-2xl)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon{align-items:center;display:flex}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:after,.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:before{content:\"\";height:var(--eui-s-l);position:absolute;right:var(--eui-s-s);width:var(--eui-s-l)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon--sm:after,.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon--sm:before{height:var(--eui-s-m);width:var(--eui-s-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-textarea__wrapper .eui-textarea{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-textarea__wrapper .eui-textarea--disabled,.eui-19 .eui-textarea__wrapper .eui-textarea[disabled]{pointer-events:auto}.eui-19 .eui-textarea__wrapper .eui-textarea__value-container,.eui-19 .eui-textarea__wrapper.eui-textarea__wrapper--readonly .eui-input-maxlength-wrapper,.eui-19 .eui-textarea__wrapper.eui-textarea__wrapper--readonly .eui-textarea--readonly{appearance:none;display:none}.eui-19 .eui-textarea__wrapper.eui-textarea__wrapper--readonly .eui-textarea__value-container{appearance:initial;color:var(--eui-c-neutral-light);display:inline-flex;min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));word-break:break-word}.eui-19 .eui-textarea__wrapper .eui-textarea--invalid{border:var(--eui-bw-xs) solid var(--eui-c-s-danger)}\n"] }]
523
+ ], styles: [".eui-19 .eui-textarea__wrapper{display:flex;position:relative;width:100%}.eui-19 .eui-textarea__wrapper .eui-textarea{font:var(--eui-f-m);appearance:none;background-color:var(--eui-c-white);border:1px solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-m);box-shadow:none;color:var(--eui-c-text);padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 1px);width:100%;height:auto;resize:vertical}.eui-19 .eui-textarea__wrapper .eui-textarea:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-textarea__wrapper .eui-textarea:not([hidden]){display:block}.eui-19 .eui-textarea__wrapper .eui-textarea::placeholder{color:var(--eui-c-neutral-lighter)!important;opacity:1}.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;height:inherit;padding-left:0;padding-right:0;pointer-events:none}.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]+.eui-feedback-message,.eui-19 .eui-textarea__wrapper .eui-textarea[readonly]+.eui-input-maxlength{appearance:none;display:none}.eui-19 .eui-textarea__wrapper .eui-textarea[disabled]:not([readonly]),.eui-19 .eui-textarea__wrapper .eui-textarea--disabled:not([readonly]){background-color:var(--eui-c-neutral-bg-light)!important;border:1px solid var(--eui-c-neutral-lightest);color:var(--eui-c-neutral-light);pointer-events:auto}.eui-19 .eui-textarea__wrapper .eui-textarea--invalid,.eui-19 .eui-textarea__wrapper .eui-textarea--danger{border:1px solid var(--eui-c-danger)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading{padding-right:var(--eui-s-2xl)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon{align-items:center;display:flex}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:after,.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:before{content:\"\";height:var(--eui-s-l);position:absolute;right:var(--eui-s-s);width:var(--eui-s-l)}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon--sm:after,.eui-19 .eui-textarea__wrapper .eui-textarea--loading-icon--sm:before{height:var(--eui-s-m);width:var(--eui-s-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-textarea__wrapper .eui-textarea{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-textarea__wrapper .eui-textarea--disabled,.eui-19 .eui-textarea__wrapper .eui-textarea[disabled]{pointer-events:auto}.eui-19 .eui-textarea__wrapper .eui-textarea__value-container,.eui-19 .eui-textarea__wrapper--readonly .eui-input-maxlength-wrapper,.eui-19 .eui-textarea__wrapper--readonly .eui-textarea--readonly{appearance:none;display:none}.eui-19 .eui-textarea__wrapper--readonly .eui-textarea__value-container{appearance:initial;color:var(--eui-c-neutral-light);display:inline-flex;min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));word-break:break-word}.eui-19 .eui-textarea--invalid{border:var(--eui-bw-xs) solid var(--eui-c-s-danger)}\n"] }]
524
524
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$1.BaseStatesDirective }], propDecorators: { rowsChange: [{
525
525
  type: Output
526
526
  }], class: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-textarea.mjs","sources":["../../eui-textarea/auto-resize.directive.ts","../../eui-textarea/eui-textarea.component.ts","../../eui-textarea/eui-textarea.module.ts","../../eui-textarea/index.ts","../../eui-textarea/eui-components-eui-textarea.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/directive-selector */\nimport {\n Directive,\n OnInit,\n OnDestroy,\n Input,\n ElementRef,\n HostListener,\n AfterViewInit,\n Optional,\n Renderer2,\n OnChanges,\n booleanAttribute,\n numberAttribute,\n SimpleChanges,\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\nimport { NgControl } from '@angular/forms';\n\n/**\n * A directive that automatically adjusts the height of a textarea based on its content.\n *\n * @directive\n * @selector textarea[autoResize]\n * @description\n * The AutoResizeDirective automatically adjusts the height of a textarea element as the user types,\n * ensuring that all content is visible without requiring manual resizing or scrolling.\n * It supports minimum and maximum row constraints and can be enabled/disabled dynamically.\n *\n * @example\n * ```html\n * <textarea autoResize [minRows]=\"2\" [maxRows]=\"5\"></textarea>\n * ```\n */\n@Directive({\n selector: 'textarea[autoResize]',\n})\nexport class AutoResizeDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n /**\n * @description\n * Controls whether the auto-resize functionality is enabled.\n * When true, the textarea will automatically adjust its height based on content.\n * When false, the textarea will behave normally.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) autoResize = true;\n\n /**\n * @description\n * Sets the minimum number of rows for the textarea.\n * This value determines the initial height of the textarea.\n *\n * @param minRows - The minimum number of rows to display\n */\n @Input()\n set minRows(minRows: number | string) {\n this.defaultRows = coerceNumberProperty(minRows);\n }\n /**\n * @description\n * Sets the maximum number of rows for the textarea.\n * When set to a value greater than 0, the textarea will not grow beyond this number of rows\n * and will show scrollbars if necessary.\n * When set to 0, there is no maximum limit.\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) maxRows = 0;\n\n private defaultRows = 1;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private observer: MutationObserver;\n\n constructor(\n protected el: ElementRef,\n protected renderer: Renderer2,\n @Optional() protected control: NgControl,\n ) {}\n\n /**\n * Event handler for input events on the textarea.\n * Triggers the resize calculation when the content changes.\n *\n * @internal\n */\n @HostListener('input', ['$event.target'])\n onInput(): void {\n this.resize();\n }\n\n /**\n * Initializes the directive by setting up window resize event handling\n * and mutation observer for readonly attribute changes.\n *\n * @internal\n */\n ngOnInit(): void {\n fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroy$), debounceTime(300))\n .subscribe(() => this.resize());\n\n // Create an observer instance linked to the callback function\n this.observer = new MutationObserver(this.readonlyMutationObserver.bind(this));\n\n // Start observing the target node for configured mutations\n this.observer.observe(this.el.nativeElement, { attributes: true });\n }\n\n /**\n * Handles changes to the directive's inputs, particularly the autoResize property.\n * Updates the textarea's appearance and behavior accordingly.\n *\n * @param changes - Angular SimpleChanges object containing changed properties\n * @internal\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['autoResize']) {\n const enable = changes['autoResize'].currentValue || this.autoResize;\n this.renderer.setProperty(this.el.nativeElement, 'rows', this.defaultRows);\n this.renderer.setStyle(this.el.nativeElement, 'overflow', enable ? 'hidden' : '');\n this.renderer.setStyle(this.el.nativeElement, 'resize', enable ? 'none' : '');\n if (enable) {\n this.resize();\n }\n }\n }\n\n /**\n * Performs initial resize after view initialization and sets up form control value change handling if applicable.\n *\n * @internal\n */\n ngAfterViewInit(): void {\n if (this.autoResize) {\n if (this.control) {\n this.handleFormControlChanges();\n } else {\n this.resize();\n }\n }\n }\n\n /**\n * Cleans up subscriptions and disconnects observers when the directive is destroyed.\n *\n * @internal\n */\n ngOnDestroy(): void {\n this.destroy$.complete();\n this.destroy$.unsubscribe();\n this.observer.disconnect();\n }\n\n /**\n * Calculates and sets the appropriate height for the textarea based on its content.\n * This method creates a temporary clone of the textarea to measure the required height,\n * taking into account minRows and maxRows constraints.\n *\n * The calculation process:\n * 1. Creates a hidden clone of the textarea\n * 2. Sets the clone's width to match the original\n * 3. Measures the required height based on content\n * 4. Applies maxRows constraint if specified\n * 5. Updates the original textarea's height\n *\n * @public\n */\n public resize(): void {\n if (this.autoResize) {\n // clone element\n const clone = this.el.nativeElement.cloneNode(true);\n const parent = this.el.nativeElement.parentNode;\n clone.style.width = this.el.nativeElement.offsetWidth + 'px';\n clone.style.visibility = 'hidden';\n clone.style.position = 'absolute';\n clone.textContent = this.el.nativeElement.value;\n parent.appendChild(clone);\n clone.style['overflow-y'] = 'hidden';\n clone.style.height = 'auto';\n const cloneHeight = clone.scrollHeight;\n\n this.renderer.setStyle(clone, 'height', cloneHeight);\n // calculate height\n const { offsetHeight } = clone;\n let { scrollHeight } = clone;\n // Enforce maxRows limit if set\n if (this.maxRows > 0) {\n const lineHeight = parseInt(getComputedStyle(clone).lineHeight, 10);\n const maxHeight = lineHeight * this.maxRows;\n scrollHeight = Math.min(scrollHeight, maxHeight);\n if(scrollHeight >= maxHeight) {\n this.renderer.removeStyle(this.el.nativeElement, 'overflow'); // Restore overflow behavior\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'overflow', 'hidden'); // Hide scrollbars during adjustment\n }\n }\n let height = offsetHeight > scrollHeight ? offsetHeight : scrollHeight;\n height = height <= 0 ? 'auto' : `${height}px`;\n // remove clone\n parent.removeChild(clone);\n // set height\n this.renderer.setStyle(this.el.nativeElement, 'height', height);\n }\n }\n\n /**\n * Sets up subscription to form control value changes to trigger resize when the value\n * is changed programmatically through the form control.\n *\n * @protected\n */\n protected handleFormControlChanges(): void {\n // in case value changed manually through control, call resize()\n // startWith is being used to cause resize to be called in case of late subscription after value has changed\n this.control.valueChanges.pipe(takeUntil(this.destroy$), startWith('')).subscribe(() => this.resize());\n }\n\n /**\n * Mutation observer callback that handles changes to the readonly attribute\n * and triggers resize when necessary.\n *\n * @param mutationsList - List of mutations that occurred\n * @private\n */\n private readonlyMutationObserver(mutationsList: MutationRecord[]): void {\n // Use traditional 'for loops' for IE 11\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'readonly') {\n this.resize();\n }\n }\n }\n}\n","import {\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation,\n OnDestroy,\n DoCheck,\n Injector,\n forwardRef,\n booleanAttribute,\n signal,\n Output,\n EventEmitter,\n effect,\n} from '@angular/core';\nimport {\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n NgControl,\n FormControl,\n FormControlDirective,\n FormGroupDirective,\n FormControlName,\n} from '@angular/forms';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * @fileoverview Enhanced textarea component for Angular forms with readonly state, form control integration, and state management.\n *\n * A form control component that provides an enhanced textarea with additional features.\n * Supports readonly state visualization, form control integration, and state management.\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'textarea[euiTextArea]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content />',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EuiTextareaComponent), multi: true }],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiDisabled', 'euiDanger'],\n },\n ],\n})\nexport class EuiTextareaComponent implements OnInit, OnDestroy, DoCheck, OnChanges, ControlValueAccessor {\n /**\n * Static counter used to generate unique IDs for textarea instances\n * @static\n */\n static idCounter = 0;\n\n /**\n * Event emitter that fires when the number of text rows in the textarea changes\n */\n @Output() rowsChange = new EventEmitter<number>();\n\n @HostBinding('class')\n public get class(): string {\n return [this.isInvalid ? 'eui-textarea--invalid' : '', this.baseStatesDirective.getCssClasses('eui-textarea')].join(' ').trim();\n }\n\n /**\n * The disabled state of the textarea\n * @description When set to true, prevents user interaction with the textarea.\n * This can be controlled either directly or through form control binding.\n */\n @HostBinding('attr.disabled')\n @Input()\n public get disabled(): boolean | null {\n return this._disabled ? true : null;\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 set disabled(state: any) {\n // in case it's controlled by NgControl override\n this._disabled = coerceBooleanProperty(state);\n // set BaseDirective Attribute\n this.baseStatesDirective.euiDisabled = this._disabled;\n }\n /**\n * The readonly state of the textarea\n * @description When true, displays the textarea content in a read-only format\n * with special styling.\n */\n @HostBinding('attr.readonly')\n @Input()\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 get readonly(): any {\n return this._readonly || undefined;\n }\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 set readonly(state: any) {\n this._readonly = coerceBooleanProperty(state);\n }\n /**\n * Unique identifier for the textarea\n * @default eui-textarea_{increment}\n */\n @HostBinding('attr.id')\n @Input()\n id = `eui-textarea_${EuiTextareaComponent.idCounter++}`;\n\n /**\n * Flag indicating if the textarea is in an invalid state\n * @description When true, applies error styling to the textarea.\n * This can be set manually or automatically through form validation.\n */\n @Input({ transform: booleanAttribute }) isInvalid: boolean;\n /**\n * @description\n * Data attribute for end-to-end testing\n * @default eui-textarea\n */\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-textarea';\n protected _readonly: boolean;\n\n protected hostEl: HTMLTextAreaElement;\n\n protected hostParentEl: HTMLElement;\n protected hostWrapperEl: HTMLDivElement;\n protected valueContainerEl: HTMLDivElement;\n private _disabled: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private control: FormControl | NgControl;\n private rows = signal(0);\n\n constructor(\n private injector: Injector,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private baseStatesDirective: BaseStatesDirective,\n ) {\n effect(() => {\n this.rowsChange.emit(this.rows());\n });\n }\n\n /**\n * Handles input changes in the textarea\n * @param {string} value - The new value of the textarea\n * @description Updates the number of rows and triggers change detection\n */\n @HostListener('input', ['$event.target.value'])\n public onInputChange(value: string): void {\n // signal rows update\n this.rows.set(this.hostEl?.value.split('\\n').length)\n this.onChange(value);\n }\n\n /**\n * Handles blur events on the textarea\n * @param {string} value - The current value of the textarea\n * @description Marks the control as touched and triggers validation\n */\n @HostListener('blur', ['$event.target.value'])\n public onBlur(value: string): void {\n this.onTouched(value);\n }\n\n /**\n * @description\n * Lifecycle hook that initializes the component. Sets up DOM elements,\n * initializes form control integration, and establishes state management\n */\n ngOnInit(): void {\n this.hostEl = this._elementRef.nativeElement;\n this.hostParentEl = this.hostEl.parentElement;\n this.hostWrapperEl = this.createHostWrapperContainer();\n this.valueContainerEl = this.createValueContainer();\n\n this.handleMarkup();\n // extract the FormControl or NgControl\n this.control = (this.injector as Injector).get(NgControl, null, { optional: true });\n if (this.control instanceof FormControlName) {\n this.control = (this.injector as Injector).get(FormGroupDirective).getControl(this.control);\n } else if (this.control instanceof FormControlDirective) {\n this.control = this.control.form as FormControl;\n }\n // sets invalid state if control is present\n if (this.control instanceof FormControl || this.control instanceof NgControl) {\n this.disabled = this.control.disabled;\n this.isInvalid = this.control.dirty && this.control.touched && this.control.invalid;\n if (this.control instanceof FormControl) {\n this.control.statusChanges.pipe(takeUntil(this.destroy$)).subscribe((status) => {\n this.isInvalid = status === 'INVALID';\n this.disabled = status === 'DISABLED';\n this.baseStatesDirective.euiDanger = this.isInvalid;\n });\n }\n }\n }\n\n /**\n * @description\n * Lifecycle hook that checks for changes in form control state\n * Updates invalid state based on form control validation\n */\n ngDoCheck(): void {\n if (this.control instanceof NgControl || this.control instanceof FormControl) {\n // TODO: Delete when https://github.com/angular/angular/issues/30275 is resolved\n this.isInvalid = this.control.invalid && this.control.touched;\n this.baseStatesDirective.euiDanger = this.isInvalid;\n }\n }\n\n /**\n * @description\n * Lifecycle hook that handles changes to component inputs\n * @param {SimpleChanges} changes - Object containing changed properties\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['readonly']) {\n const readonly = changes['readonly'].currentValue;\n\n if (this.hostWrapperEl && this.valueContainerEl) {\n this.hostWrapperEl.classList.toggle('eui-textarea__wrapper--readonly', !!readonly);\n }\n if (this.hostEl && this.valueContainerEl) {\n this.hostEl.classList.toggle('eui-textarea--readonly', !!readonly);\n this.valueContainerEl.innerText = this.hostEl.value;\n }\n }\n if (changes['euiDisabled']) {\n if (this.control instanceof FormControl) {\n // eslint-disable-next-line\n changes['euiDisabled'].currentValue ? this.control.disable() : this.control.enable();\n } else {\n this.setDisabledState(changes['euiDisabled'].currentValue);\n }\n }\n if(changes['isInvalid']) {\n this.baseStatesDirective.euiDanger = changes['isInvalid'].currentValue;\n }\n }\n\n /**\n * @description\n * Lifecycle hook that cleans up component resources\n * Completes observables and removes generated DOM elements\n */\n ngOnDestroy(): void {\n this.destroy$.complete();\n this.destroy$.unsubscribe();\n // cleanup DOM leftovers\n if (this.valueContainerEl) {\n try {\n this._renderer.removeChild(this.hostEl.parentElement, this.valueContainerEl);\n } catch (e) {\n console.error(e);\n }\n }\n if (this.hostWrapperEl) {\n try {\n this._renderer.removeChild(this.hostParentEl, this.hostWrapperEl);\n } catch (e) {\n console.error(e);\n }\n }\n }\n\n /**\n * @description\n * ControlValueAccessor implementation for writing values\n * @param {unknown} obj - The value to write to the textarea\n */\n writeValue(obj: unknown): void {\n if (this.valueContainerEl) {\n this._renderer.setProperty(this.valueContainerEl, 'innerText', obj || null);\n }\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', obj || null);\n // signal rows update\n this.rows.set(this.hostEl?.value.split('\\n').length)\n }\n\n /**\n * @description\n * Registers the callback function for change events\n * @param {Function} fn - The callback function\n */\n registerOnChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * @description\n * Registers the callback function for touched events\n * @param {Function} fn - The callback function\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * @description\n * Sets the disabled state of the textarea\n * @param {boolean} isDisabled - The disabled state to set\n */\n setDisabledState(isDisabled: boolean): void {\n if (this.hostEl) {\n this._renderer.setProperty(this.hostEl, 'disabled', isDisabled);\n }\n }\n\n protected onChange(_: unknown): void {\n this.writeValue(_);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onTouched(_: unknown): void {\n if (this.control) {\n this.isInvalid = this.control.invalid;\n }\n }\n\n /**\n * @description\n * Creates the container for the textarea element\n * @returns {HTMLDivElement} The created wrapper container element\n * @private\n */\n private createHostWrapperContainer(): HTMLDivElement {\n const wrapper = this._renderer.createElement('div');\n this._renderer.addClass(wrapper, 'eui-textarea__wrapper');\n if (this.readonly) {\n this._renderer.addClass(wrapper, 'eui-textarea__wrapper--readonly');\n this._renderer.addClass(this.hostEl, 'eui-textarea--readonly');\n } else {\n this._renderer.removeClass(wrapper, 'eui-textarea__wrapper--readonly');\n this._renderer.removeClass(this.hostEl, 'eui-textarea--readonly');\n }\n\n return wrapper;\n }\n\n /**\n * @description\n * Creates the container for displaying readonly values\n * @returns {HTMLDivElement} The created value container element\n * @private\n */\n private createValueContainer(): HTMLDivElement {\n const valueContainer = this._renderer.createElement('div');\n this._renderer.addClass(valueContainer, 'eui-textarea__value-container');\n this._renderer.setProperty(valueContainer, 'innerText', this.hostEl.value);\n return valueContainer;\n }\n\n /**\n * @description\n * Handles the DOM manipulation for the textarea structure\n * Wraps the textarea in necessary containers and adds\n * the readonly value display element\n *\n * @private\n */\n private handleMarkup(): void {\n if (this.hostParentEl != null) {\n this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n this.hostWrapperEl.appendChild(this.hostEl);\n this.hostWrapperEl.appendChild(this.valueContainerEl);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EuiTextareaComponent } from './eui-textarea.component';\nimport { AutoResizeDirective } from './auto-resize.directive';\n\n/**\n * @description\n * A module that provides textarea functionality with auto-resizing capabilities.\n * This module encapsulates the EuiTextareaComponent and AutoResizeDirective to provide\n * a cohesive textarea solution for Angular applications.\n *\n * @deprecated Use {@link EUI_TEXTAREA} instead\n */\n@NgModule({\n imports: [EuiTextareaComponent, AutoResizeDirective],\n exports: [EuiTextareaComponent, AutoResizeDirective],\n})\nexport class EuiTextAreaModule {}\n","import { AutoResizeDirective } from './auto-resize.directive';\nimport { EuiTextareaComponent } from './eui-textarea.component';\n\nexport * from './eui-textarea.component';\nexport * from './auto-resize.directive';\nexport * from './eui-textarea.module';\n\nexport const EUI_TEXTAREA = [\n EuiTextareaComponent,\n AutoResizeDirective,\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-textarea.mjs","sources":["../../eui-textarea/auto-resize.directive.ts","../../eui-textarea/eui-textarea.component.ts","../../eui-textarea/eui-textarea.module.ts","../../eui-textarea/index.ts","../../eui-textarea/eui-components-eui-textarea.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/directive-selector */\nimport {\n Directive,\n OnInit,\n OnDestroy,\n Input,\n ElementRef,\n HostListener,\n AfterViewInit,\n Optional,\n Renderer2,\n OnChanges,\n booleanAttribute,\n numberAttribute,\n SimpleChanges,\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\nimport { NgControl } from '@angular/forms';\n\n/**\n * A directive that automatically adjusts the height of a textarea based on its content.\n *\n * @directive\n * @selector textarea[autoResize]\n * @description\n * The AutoResizeDirective automatically adjusts the height of a textarea element as the user types,\n * ensuring that all content is visible without requiring manual resizing or scrolling.\n * It supports minimum and maximum row constraints and can be enabled/disabled dynamically.\n *\n * @example\n * ```html\n * <textarea autoResize [minRows]=\"2\" [maxRows]=\"5\"></textarea>\n * ```\n */\n@Directive({\n selector: 'textarea[autoResize]',\n})\nexport class AutoResizeDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n /**\n * @description\n * Controls whether the auto-resize functionality is enabled.\n * When true, the textarea will automatically adjust its height based on content.\n * When false, the textarea will behave normally.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) autoResize = true;\n\n /**\n * @description\n * Sets the minimum number of rows for the textarea.\n * This value determines the initial height of the textarea.\n *\n * @param minRows - The minimum number of rows to display\n */\n @Input()\n set minRows(minRows: number | string) {\n this.defaultRows = coerceNumberProperty(minRows);\n }\n /**\n * @description\n * Sets the maximum number of rows for the textarea.\n * When set to a value greater than 0, the textarea will not grow beyond this number of rows\n * and will show scrollbars if necessary.\n * When set to 0, there is no maximum limit.\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) maxRows = 0;\n\n private defaultRows = 1;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private observer: MutationObserver;\n\n constructor(\n protected el: ElementRef,\n protected renderer: Renderer2,\n @Optional() protected control: NgControl,\n ) {}\n\n /**\n * Event handler for input events on the textarea.\n * Triggers the resize calculation when the content changes.\n *\n * @internal\n */\n @HostListener('input', ['$event.target'])\n onInput(): void {\n this.resize();\n }\n\n /**\n * Initializes the directive by setting up window resize event handling\n * and mutation observer for readonly attribute changes.\n *\n * @internal\n */\n ngOnInit(): void {\n fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroy$), debounceTime(300))\n .subscribe(() => this.resize());\n\n // Create an observer instance linked to the callback function\n this.observer = new MutationObserver(this.readonlyMutationObserver.bind(this));\n\n // Start observing the target node for configured mutations\n this.observer.observe(this.el.nativeElement, { attributes: true });\n }\n\n /**\n * Handles changes to the directive's inputs, particularly the autoResize property.\n * Updates the textarea's appearance and behavior accordingly.\n *\n * @param changes - Angular SimpleChanges object containing changed properties\n * @internal\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['autoResize']) {\n const enable = changes['autoResize'].currentValue || this.autoResize;\n this.renderer.setProperty(this.el.nativeElement, 'rows', this.defaultRows);\n this.renderer.setStyle(this.el.nativeElement, 'overflow', enable ? 'hidden' : '');\n this.renderer.setStyle(this.el.nativeElement, 'resize', enable ? 'none' : '');\n if (enable) {\n this.resize();\n }\n }\n }\n\n /**\n * Performs initial resize after view initialization and sets up form control value change handling if applicable.\n *\n * @internal\n */\n ngAfterViewInit(): void {\n if (this.autoResize) {\n if (this.control) {\n this.handleFormControlChanges();\n } else {\n this.resize();\n }\n }\n }\n\n /**\n * Cleans up subscriptions and disconnects observers when the directive is destroyed.\n *\n * @internal\n */\n ngOnDestroy(): void {\n this.destroy$.complete();\n this.destroy$.unsubscribe();\n this.observer.disconnect();\n }\n\n /**\n * Calculates and sets the appropriate height for the textarea based on its content.\n * This method creates a temporary clone of the textarea to measure the required height,\n * taking into account minRows and maxRows constraints.\n *\n * The calculation process:\n * 1. Creates a hidden clone of the textarea\n * 2. Sets the clone's width to match the original\n * 3. Measures the required height based on content\n * 4. Applies maxRows constraint if specified\n * 5. Updates the original textarea's height\n *\n * @public\n */\n public resize(): void {\n if (this.autoResize) {\n // clone element\n const clone = this.el.nativeElement.cloneNode(true);\n const parent = this.el.nativeElement.parentNode;\n clone.style.width = this.el.nativeElement.offsetWidth + 'px';\n clone.style.visibility = 'hidden';\n clone.style.position = 'absolute';\n clone.textContent = this.el.nativeElement.value;\n parent.appendChild(clone);\n clone.style['overflow-y'] = 'hidden';\n clone.style.height = 'auto';\n const cloneHeight = clone.scrollHeight;\n\n this.renderer.setStyle(clone, 'height', cloneHeight);\n // calculate height\n const { offsetHeight } = clone;\n let { scrollHeight } = clone;\n // Enforce maxRows limit if set\n if (this.maxRows > 0) {\n const lineHeight = parseInt(getComputedStyle(clone).lineHeight, 10);\n const maxHeight = lineHeight * this.maxRows;\n scrollHeight = Math.min(scrollHeight, maxHeight);\n if(scrollHeight >= maxHeight) {\n this.renderer.removeStyle(this.el.nativeElement, 'overflow'); // Restore overflow behavior\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'overflow', 'hidden'); // Hide scrollbars during adjustment\n }\n }\n let height = offsetHeight > scrollHeight ? offsetHeight : scrollHeight;\n height = height <= 0 ? 'auto' : `${height}px`;\n // remove clone\n parent.removeChild(clone);\n // set height\n this.renderer.setStyle(this.el.nativeElement, 'height', height);\n }\n }\n\n /**\n * Sets up subscription to form control value changes to trigger resize when the value\n * is changed programmatically through the form control.\n *\n * @protected\n */\n protected handleFormControlChanges(): void {\n // in case value changed manually through control, call resize()\n // startWith is being used to cause resize to be called in case of late subscription after value has changed\n this.control.valueChanges.pipe(takeUntil(this.destroy$), startWith('')).subscribe(() => this.resize());\n }\n\n /**\n * Mutation observer callback that handles changes to the readonly attribute\n * and triggers resize when necessary.\n *\n * @param mutationsList - List of mutations that occurred\n * @private\n */\n private readonlyMutationObserver(mutationsList: MutationRecord[]): void {\n // Use traditional 'for loops' for IE 11\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'readonly') {\n this.resize();\n }\n }\n }\n}\n","import {\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation,\n OnDestroy,\n DoCheck,\n Injector,\n forwardRef,\n booleanAttribute,\n signal,\n Output,\n EventEmitter,\n effect,\n} from '@angular/core';\nimport {\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n NgControl,\n FormControl,\n FormControlDirective,\n FormGroupDirective,\n FormControlName,\n} from '@angular/forms';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * @fileoverview Enhanced textarea component for Angular forms with readonly state, form control integration, and state management.\n *\n * A form control component that provides an enhanced textarea with additional features.\n * Supports readonly state visualization, form control integration, and state management.\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'textarea[euiTextArea]',\n styleUrl: './eui-textarea.scss',\n template: '<ng-content />',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EuiTextareaComponent), multi: true }],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiDisabled', 'euiDanger'],\n },\n ],\n})\nexport class EuiTextareaComponent implements OnInit, OnDestroy, DoCheck, OnChanges, ControlValueAccessor {\n /**\n * Static counter used to generate unique IDs for textarea instances\n * @static\n */\n static idCounter = 0;\n\n /**\n * Event emitter that fires when the number of text rows in the textarea changes\n */\n @Output() rowsChange = new EventEmitter<number>();\n\n @HostBinding('class')\n public get class(): string {\n return [this.isInvalid ? 'eui-textarea--invalid' : '', this.baseStatesDirective.getCssClasses('eui-textarea')].join(' ').trim();\n }\n\n /**\n * The disabled state of the textarea\n * @description When set to true, prevents user interaction with the textarea.\n * This can be controlled either directly or through form control binding.\n */\n @HostBinding('attr.disabled')\n @Input()\n public get disabled(): boolean | null {\n return this._disabled ? true : null;\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 set disabled(state: any) {\n // in case it's controlled by NgControl override\n this._disabled = coerceBooleanProperty(state);\n // set BaseDirective Attribute\n this.baseStatesDirective.euiDisabled = this._disabled;\n }\n /**\n * The readonly state of the textarea\n * @description When true, displays the textarea content in a read-only format\n * with special styling.\n */\n @HostBinding('attr.readonly')\n @Input()\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 get readonly(): any {\n return this._readonly || undefined;\n }\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 set readonly(state: any) {\n this._readonly = coerceBooleanProperty(state);\n }\n /**\n * Unique identifier for the textarea\n * @default eui-textarea_{increment}\n */\n @HostBinding('attr.id')\n @Input()\n id = `eui-textarea_${EuiTextareaComponent.idCounter++}`;\n\n /**\n * Flag indicating if the textarea is in an invalid state\n * @description When true, applies error styling to the textarea.\n * This can be set manually or automatically through form validation.\n */\n @Input({ transform: booleanAttribute }) isInvalid: boolean;\n /**\n * @description\n * Data attribute for end-to-end testing\n * @default eui-textarea\n */\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-textarea';\n protected _readonly: boolean;\n\n protected hostEl: HTMLTextAreaElement;\n\n protected hostParentEl: HTMLElement;\n protected hostWrapperEl: HTMLDivElement;\n protected valueContainerEl: HTMLDivElement;\n private _disabled: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private control: FormControl | NgControl;\n private rows = signal(0);\n\n constructor(\n private injector: Injector,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private baseStatesDirective: BaseStatesDirective,\n ) {\n effect(() => {\n this.rowsChange.emit(this.rows());\n });\n }\n\n /**\n * Handles input changes in the textarea\n * @param {string} value - The new value of the textarea\n * @description Updates the number of rows and triggers change detection\n */\n @HostListener('input', ['$event.target.value'])\n public onInputChange(value: string): void {\n // signal rows update\n this.rows.set(this.hostEl?.value.split('\\n').length)\n this.onChange(value);\n }\n\n /**\n * Handles blur events on the textarea\n * @param {string} value - The current value of the textarea\n * @description Marks the control as touched and triggers validation\n */\n @HostListener('blur', ['$event.target.value'])\n public onBlur(value: string): void {\n this.onTouched(value);\n }\n\n /**\n * @description\n * Lifecycle hook that initializes the component. Sets up DOM elements,\n * initializes form control integration, and establishes state management\n */\n ngOnInit(): void {\n this.hostEl = this._elementRef.nativeElement;\n this.hostParentEl = this.hostEl.parentElement;\n this.hostWrapperEl = this.createHostWrapperContainer();\n this.valueContainerEl = this.createValueContainer();\n\n this.handleMarkup();\n // extract the FormControl or NgControl\n this.control = (this.injector as Injector).get(NgControl, null, { optional: true });\n if (this.control instanceof FormControlName) {\n this.control = (this.injector as Injector).get(FormGroupDirective).getControl(this.control);\n } else if (this.control instanceof FormControlDirective) {\n this.control = this.control.form as FormControl;\n }\n // sets invalid state if control is present\n if (this.control instanceof FormControl || this.control instanceof NgControl) {\n this.disabled = this.control.disabled;\n this.isInvalid = this.control.dirty && this.control.touched && this.control.invalid;\n if (this.control instanceof FormControl) {\n this.control.statusChanges.pipe(takeUntil(this.destroy$)).subscribe((status) => {\n this.isInvalid = status === 'INVALID';\n this.disabled = status === 'DISABLED';\n this.baseStatesDirective.euiDanger = this.isInvalid;\n });\n }\n }\n }\n\n /**\n * @description\n * Lifecycle hook that checks for changes in form control state\n * Updates invalid state based on form control validation\n */\n ngDoCheck(): void {\n if (this.control instanceof NgControl || this.control instanceof FormControl) {\n // TODO: Delete when https://github.com/angular/angular/issues/30275 is resolved\n this.isInvalid = this.control.invalid && this.control.touched;\n this.baseStatesDirective.euiDanger = this.isInvalid;\n }\n }\n\n /**\n * @description\n * Lifecycle hook that handles changes to component inputs\n * @param {SimpleChanges} changes - Object containing changed properties\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['readonly']) {\n const readonly = changes['readonly'].currentValue;\n\n if (this.hostWrapperEl && this.valueContainerEl) {\n this.hostWrapperEl.classList.toggle('eui-textarea__wrapper--readonly', !!readonly);\n }\n if (this.hostEl && this.valueContainerEl) {\n this.hostEl.classList.toggle('eui-textarea--readonly', !!readonly);\n this.valueContainerEl.innerText = this.hostEl.value;\n }\n }\n if (changes['euiDisabled']) {\n if (this.control instanceof FormControl) {\n // eslint-disable-next-line\n changes['euiDisabled'].currentValue ? this.control.disable() : this.control.enable();\n } else {\n this.setDisabledState(changes['euiDisabled'].currentValue);\n }\n }\n if(changes['isInvalid']) {\n this.baseStatesDirective.euiDanger = changes['isInvalid'].currentValue;\n }\n }\n\n /**\n * @description\n * Lifecycle hook that cleans up component resources\n * Completes observables and removes generated DOM elements\n */\n ngOnDestroy(): void {\n this.destroy$.complete();\n this.destroy$.unsubscribe();\n // cleanup DOM leftovers\n if (this.valueContainerEl) {\n try {\n this._renderer.removeChild(this.hostEl.parentElement, this.valueContainerEl);\n } catch (e) {\n console.error(e);\n }\n }\n if (this.hostWrapperEl) {\n try {\n this._renderer.removeChild(this.hostParentEl, this.hostWrapperEl);\n } catch (e) {\n console.error(e);\n }\n }\n }\n\n /**\n * @description\n * ControlValueAccessor implementation for writing values\n * @param {unknown} obj - The value to write to the textarea\n */\n writeValue(obj: unknown): void {\n if (this.valueContainerEl) {\n this._renderer.setProperty(this.valueContainerEl, 'innerText', obj || null);\n }\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', obj || null);\n // signal rows update\n this.rows.set(this.hostEl?.value.split('\\n').length)\n }\n\n /**\n * @description\n * Registers the callback function for change events\n * @param {Function} fn - The callback function\n */\n registerOnChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * @description\n * Registers the callback function for touched events\n * @param {Function} fn - The callback function\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * @description\n * Sets the disabled state of the textarea\n * @param {boolean} isDisabled - The disabled state to set\n */\n setDisabledState(isDisabled: boolean): void {\n if (this.hostEl) {\n this._renderer.setProperty(this.hostEl, 'disabled', isDisabled);\n }\n }\n\n protected onChange(_: unknown): void {\n this.writeValue(_);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onTouched(_: unknown): void {\n if (this.control) {\n this.isInvalid = this.control.invalid;\n }\n }\n\n /**\n * @description\n * Creates the container for the textarea element\n * @returns {HTMLDivElement} The created wrapper container element\n * @private\n */\n private createHostWrapperContainer(): HTMLDivElement {\n const wrapper = this._renderer.createElement('div');\n this._renderer.addClass(wrapper, 'eui-textarea__wrapper');\n if (this.readonly) {\n this._renderer.addClass(wrapper, 'eui-textarea__wrapper--readonly');\n this._renderer.addClass(this.hostEl, 'eui-textarea--readonly');\n } else {\n this._renderer.removeClass(wrapper, 'eui-textarea__wrapper--readonly');\n this._renderer.removeClass(this.hostEl, 'eui-textarea--readonly');\n }\n\n return wrapper;\n }\n\n /**\n * @description\n * Creates the container for displaying readonly values\n * @returns {HTMLDivElement} The created value container element\n * @private\n */\n private createValueContainer(): HTMLDivElement {\n const valueContainer = this._renderer.createElement('div');\n this._renderer.addClass(valueContainer, 'eui-textarea__value-container');\n this._renderer.setProperty(valueContainer, 'innerText', this.hostEl.value);\n return valueContainer;\n }\n\n /**\n * @description\n * Handles the DOM manipulation for the textarea structure\n * Wraps the textarea in necessary containers and adds\n * the readonly value display element\n *\n * @private\n */\n private handleMarkup(): void {\n if (this.hostParentEl != null) {\n this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n this.hostWrapperEl.appendChild(this.hostEl);\n this.hostWrapperEl.appendChild(this.valueContainerEl);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EuiTextareaComponent } from './eui-textarea.component';\nimport { AutoResizeDirective } from './auto-resize.directive';\n\n/**\n * @description\n * A module that provides textarea functionality with auto-resizing capabilities.\n * This module encapsulates the EuiTextareaComponent and AutoResizeDirective to provide\n * a cohesive textarea solution for Angular applications.\n *\n * @deprecated Use {@link EUI_TEXTAREA} instead\n */\n@NgModule({\n imports: [EuiTextareaComponent, AutoResizeDirective],\n exports: [EuiTextareaComponent, AutoResizeDirective],\n})\nexport class EuiTextAreaModule {}\n","import { AutoResizeDirective } from './auto-resize.directive';\nimport { EuiTextareaComponent } from './eui-textarea.component';\n\nexport * from './eui-textarea.component';\nexport * from './auto-resize.directive';\nexport * from './eui-textarea.module';\n\nexport const EUI_TEXTAREA = [\n EuiTextareaComponent,\n AutoResizeDirective,\n] as const; ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}