@eui/components 18.0.0-rc.26 → 18.0.0-rc.28

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 (87) hide show
  1. package/docs/components/EuiMenuItemComponent.html +1 -0
  2. package/docs/components/EuiNotificationItemComponent.html +3 -3
  3. package/docs/components/EuiNotificationItemV2Component.html +1 -1
  4. package/docs/components/EuiNotificationsComponent.html +24 -92
  5. package/docs/components/EuiPageColumnComponent.html +2 -2
  6. package/docs/components/EuiPaginatorComponent.html +1 -1
  7. package/docs/components/EuiTimelineComponent.html +55 -5
  8. package/docs/components/EuiTimelineItemComponent.html +0 -10
  9. package/docs/dependencies.html +1 -3
  10. package/docs/index.html +1 -1
  11. package/docs/interfaces/NotificationMetadata.html +546 -0
  12. package/docs/js/menu-wc.js +3 -0
  13. package/docs/js/menu-wc_es5.js +1 -1
  14. package/docs/js/search/search_index.js +2 -2
  15. package/esm2022/eui-button/eui-button.component.mjs +2 -2
  16. package/esm2022/eui-card/eui-card.component.mjs +2 -2
  17. package/esm2022/eui-fieldset/eui-fieldset.component.mjs +2 -2
  18. package/esm2022/eui-menu/eui-menu-item.component.mjs +16 -2
  19. package/esm2022/eui-menu/eui-menu.component.mjs +2 -2
  20. package/esm2022/eui-menu/models/eui-menu-item.model.mjs +2 -2
  21. package/esm2022/eui-overlay/eui-overlay.component.mjs +2 -2
  22. package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +9 -6
  23. package/esm2022/eui-page/eui-page.component.mjs +2 -2
  24. package/esm2022/eui-paginator/eui-paginator.component.mjs +3 -3
  25. package/esm2022/eui-select/eui-select.component.mjs +2 -2
  26. package/esm2022/eui-table/eui-table.component.mjs +2 -2
  27. package/esm2022/eui-table-v2/eui-table-v2.component.mjs +2 -2
  28. package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +2 -2
  29. package/esm2022/eui-tabs/eui-tabs.component.mjs +2 -2
  30. package/esm2022/eui-textarea/eui-textarea.component.mjs +2 -2
  31. package/esm2022/eui-timeline/eui-timeline-item.component.mjs +1 -3
  32. package/esm2022/eui-timeline/eui-timeline.component.mjs +29 -11
  33. package/esm2022/eui-tree/eui-tree.component.mjs +2 -2
  34. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +2 -2
  35. package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +1 -1
  36. package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +1 -25
  37. package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +1 -1
  38. package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +2 -2
  39. package/eui-menu/eui-menu-item.component.d.ts +5 -4
  40. package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
  41. package/eui-menu/eui-menu.component.d.ts.map +1 -1
  42. package/eui-page/components/eui-page-column/eui-page-column.component.d.ts +1 -1
  43. package/eui-page/components/eui-page-column/eui-page-column.component.d.ts.map +1 -1
  44. package/eui-timeline/eui-timeline-item.component.d.ts.map +1 -1
  45. package/eui-timeline/eui-timeline.component.d.ts +9 -1
  46. package/eui-timeline/eui-timeline.component.d.ts.map +1 -1
  47. package/fesm2022/eui-components-eui-button.mjs +2 -2
  48. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  49. package/fesm2022/eui-components-eui-card.mjs +2 -2
  50. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  51. package/fesm2022/eui-components-eui-fieldset.mjs +2 -2
  52. package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
  53. package/fesm2022/eui-components-eui-menu.mjs +16 -3
  54. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  55. package/fesm2022/eui-components-eui-overlay.mjs +2 -2
  56. package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
  57. package/fesm2022/eui-components-eui-page.mjs +9 -7
  58. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  59. package/fesm2022/eui-components-eui-paginator.mjs +2 -2
  60. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  61. package/fesm2022/eui-components-eui-select.mjs +2 -2
  62. package/fesm2022/eui-components-eui-select.mjs.map +1 -1
  63. package/fesm2022/eui-components-eui-table-v2.mjs +2 -2
  64. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  65. package/fesm2022/eui-components-eui-table.mjs +2 -2
  66. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  67. package/fesm2022/eui-components-eui-tabs.mjs +4 -4
  68. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  69. package/fesm2022/eui-components-eui-textarea.mjs +2 -2
  70. package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
  71. package/fesm2022/eui-components-eui-timeline.mjs +28 -12
  72. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  73. package/fesm2022/eui-components-eui-tree.mjs +2 -2
  74. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  75. package/fesm2022/eui-components-layout.mjs +3 -27
  76. package/fesm2022/eui-components-layout.mjs.map +1 -1
  77. package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts +1 -1
  78. package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
  79. package/layout/eui-notifications/eui-notification-item.component.d.ts +12 -3
  80. package/layout/eui-notifications/eui-notification-item.component.d.ts.map +1 -1
  81. package/layout/eui-notifications/eui-notifications.component.d.ts +16 -14
  82. package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
  83. package/layout/eui-notifications-v2/eui-notification-item.component.d.ts +2 -1
  84. package/layout/eui-notifications-v2/eui-notification-item.component.d.ts.map +1 -1
  85. package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts +1 -1
  86. package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts.map +1 -1
  87. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-textarea.mjs","sources":["../../eui-textarea/eui-textarea.component.ts","../../eui-textarea/auto-resize.directive.ts","../../eui-textarea/eui-textarea.module.ts","../../eui-textarea/eui-components-eui-textarea.ts"],"sourcesContent":["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 InjectFlags,\n inject,\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@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'textarea[euiTextArea]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content></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 static idCounter = 0;\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 @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 @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 @HostBinding('attr.id')\n @Input()\n id = `eui-textarea_${EuiTextareaComponent.idCounter++}`;\n\n @Input({ transform: booleanAttribute }) isInvalid: boolean;\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\n constructor(\n private injector: Injector,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private baseStatesDirective: BaseStatesDirective,\n ) {\n }\n\n @HostListener('input', ['$event.target.value'])\n public onInputChange(value: string): void {\n this.onChange(value);\n }\n\n @HostListener('blur', ['$event.target.value'])\n public onBlur(value: string): void {\n this.onTouched(value);\n }\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, InjectFlags.Optional);\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 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 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 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 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 // 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 writeValue(obj: any): 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 }\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 registerOnChange(fn: any): void {\n this.onChange = fn;\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 registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (this.hostEl) {\n this._renderer.setProperty(this.hostEl, 'disabled', isDisabled);\n }\n }\n\n protected onChange(_): void {\n this.writeValue(_);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onTouched(_): void {\n if (this.control) {\n this.isInvalid = this.control.invalid;\n }\n }\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 * Create a Div element which will hold the value to display when readonly\n *\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 * Changes the markup around the textarea. Append textarea onto a container with div\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 {\n Directive,\n OnInit,\n OnDestroy,\n Input,\n ElementRef,\n HostListener,\n AfterViewInit,\n Optional,\n Renderer2,\n OnChanges,\n booleanAttribute,\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@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'textarea[autoResize]',\n})\nexport class AutoResizeDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) autoResize = true;\n\n @Input()\n set minRows(minRows: number | string) {\n this.defaultRows = coerceNumberProperty(minRows);\n }\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 @HostListener('input', ['$event.target'])\n onInput(): void {\n this.resize();\n }\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 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 ngAfterViewInit(): void {\n if (this.autoResize) {\n if (this.control) {\n this.handleFormControlChanges();\n } else {\n this.resize();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.complete();\n this.destroy$.unsubscribe();\n this.observer.disconnect();\n }\n\n /**\n * Calculates the height and set it, causing the textarea to resize.\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, scrollHeight } = clone;\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 * handles value changes through FormControl\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 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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiTextareaComponent } from './eui-textarea.component';\nimport { AutoResizeDirective } from './auto-resize.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiTextareaComponent, AutoResizeDirective],\n exports: [EuiTextareaComponent, AutoResizeDirective],\n})\nexport class EuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-textarea.mjs","sources":["../../eui-textarea/eui-textarea.component.ts","../../eui-textarea/auto-resize.directive.ts","../../eui-textarea/eui-textarea.module.ts","../../eui-textarea/eui-components-eui-textarea.ts"],"sourcesContent":["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 InjectFlags,\n inject,\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@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'textarea[euiTextArea]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content></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 static idCounter = 0;\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 @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 @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 @HostBinding('attr.id')\n @Input()\n id = `eui-textarea_${EuiTextareaComponent.idCounter++}`;\n\n @Input({ transform: booleanAttribute }) isInvalid: boolean;\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\n constructor(\n private injector: Injector,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private baseStatesDirective: BaseStatesDirective,\n ) {\n }\n\n @HostListener('input', ['$event.target.value'])\n public onInputChange(value: string): void {\n this.onChange(value);\n }\n\n @HostListener('blur', ['$event.target.value'])\n public onBlur(value: string): void {\n this.onTouched(value);\n }\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, InjectFlags.Optional);\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 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 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 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 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 // 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 writeValue(obj: any): 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 }\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 registerOnChange(fn: any): void {\n this.onChange = fn;\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 registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (this.hostEl) {\n this._renderer.setProperty(this.hostEl, 'disabled', isDisabled);\n }\n }\n\n protected onChange(_): void {\n this.writeValue(_);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onTouched(_): void {\n if (this.control) {\n this.isInvalid = this.control.invalid;\n }\n }\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 * Create a Div element which will hold the value to display when readonly\n *\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 * Changes the markup around the textarea. Append textarea onto a container with div\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 {\n Directive,\n OnInit,\n OnDestroy,\n Input,\n ElementRef,\n HostListener,\n AfterViewInit,\n Optional,\n Renderer2,\n OnChanges,\n booleanAttribute,\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@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'textarea[autoResize]',\n})\nexport class AutoResizeDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) autoResize = true;\n\n @Input()\n set minRows(minRows: number | string) {\n this.defaultRows = coerceNumberProperty(minRows);\n }\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 @HostListener('input', ['$event.target'])\n onInput(): void {\n this.resize();\n }\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 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 ngAfterViewInit(): void {\n if (this.autoResize) {\n if (this.control) {\n this.handleFormControlChanges();\n } else {\n this.resize();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.complete();\n this.destroy$.unsubscribe();\n this.observer.disconnect();\n }\n\n /**\n * Calculates the height and set it, causing the textarea to resize.\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, scrollHeight } = clone;\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 * handles value changes through FormControl\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 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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiTextareaComponent } from './eui-textarea.component';\nimport { AutoResizeDirective } from './auto-resize.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiTextareaComponent, AutoResizeDirective],\n exports: [EuiTextareaComponent, AutoResizeDirective],\n})\nexport class EuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -14,8 +14,6 @@ class EuiTimelineItemComponent {
14
14
  this.e2eAttr = 'eui-timeline-item';
15
15
  this.dateStyleClass = '';
16
16
  this.timeStyleClass = '';
17
- this.isLeftAligned = false;
18
- this.isGroup = false;
19
17
  }
20
18
  getCssClasses() {
21
19
  return [this.baseStatesDirective.getCssClasses('eui-timeline-item'), this.isGroup ? 'eui-timeline-item--more' : '']
@@ -62,35 +60,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
62
60
  }] } });
63
61
 
64
62
  class EuiTimelineComponent {
65
- constructor() {
66
- this.e2eAttr = 'eui-timeline';
67
- this.isLeftAligned = false;
68
- }
69
63
  get cssClasses() {
70
64
  return this.getCssClasses();
71
65
  }
66
+ constructor(cd, ngZone) {
67
+ this.cd = cd;
68
+ this.ngZone = ngZone;
69
+ this.e2eAttr = 'eui-timeline';
70
+ }
72
71
  ngOnChanges(changes) {
73
72
  if (changes.isLeftAligned) {
74
- this.timelineItems?.forEach((item) => {
75
- item.isLeftAligned = this.isLeftAligned;
76
- });
73
+ this.syncIsLeftAligned(this.timelineItems);
77
74
  }
78
75
  }
79
76
  ngAfterContentInit() {
80
- this.timelineItems?.forEach((item) => {
77
+ this.syncIsLeftAligned(this.timelineItems);
78
+ this.timelineItems.changes.subscribe((queryList) => {
79
+ // Defer changes to avoid ExpressionChangedAfterItHasBeenCheckedError
80
+ this.ngZone.runOutsideAngular(() => {
81
+ setTimeout(() => {
82
+ this.syncIsLeftAligned(queryList);
83
+ // Run change detection
84
+ this.ngZone.run(() => {
85
+ this.cd.detectChanges();
86
+ });
87
+ });
88
+ });
89
+ });
90
+ }
91
+ /**
92
+ * Syncs the isLeftAligned property of the timeline items with the parent timeline
93
+ * @param list The list of timeline items
94
+ */
95
+ syncIsLeftAligned(list) {
96
+ list?.forEach((item) => {
81
97
  item.isLeftAligned = this.isLeftAligned;
82
98
  });
83
99
  }
84
100
  getCssClasses() {
85
101
  return ['eui-timeline', this.isLeftAligned ? 'eui-timeline--left-aligned' : ''].join(' ').trim();
86
102
  }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiTimelineComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
88
104
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: EuiTimelineComponent, selector: "eui-timeline", inputs: { e2eAttr: "e2eAttr", isLeftAligned: ["isLeftAligned", "isLeftAligned", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "timelineItems", predicate: EuiTimelineItemComponent }], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-timeline{display:flex;flex-direction:column;margin:0;padding:0;position:relative;width:100%}.eui-timeline .eui-timeline-item{display:flex;flex-direction:row;list-style:none;margin-bottom:var(--eui-s-m);position:relative;width:100%}.eui-timeline .eui-timeline-item .eui-timeline-item__left-content{display:list-item;min-width:calc(11 * var(--eui-s-m));position:relative;text-align:right;word-break:break-all}.eui-timeline .eui-timeline-item .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){align-items:center;background-color:var(--eui-c-white);border-color:var(--eui-c-accent);border-radius:var(--eui-br-max);border-style:solid;border-width:3px;display:flex;flex-direction:column;max-height:calc(var(--eui-s-m) + var(--eui-s-2xs));margin:0 var(--eui-s-m);min-width:calc(var(--eui-s-m) + var(--eui-s-2xs));z-index:2}.eui-timeline .eui-timeline-item .eui-timeline-item__icon:not(.eui-timeline-item__icon--group):after{background-color:var(--eui-c-neutral-lighter);content:\"\";height:calc(100% - var(--eui-s-2xs));position:absolute;top:calc(var(--eui-s-m) + var(--eui-s-2xs));width:2px;z-index:1}.eui-timeline .eui-timeline-item .eui-timeline-item__icon.eui-timeline-item__icon--group{align-items:center;border-right:var(--eui-bw-s) dashed var(--eui-c-neutral-lighter);display:flex;flex-direction:column;height:auto;margin:2px calc(var(--eui-s-xl) + 1px)}.eui-timeline .eui-timeline-item .eui-timeline-item__content{position:relative;top:calc(-1 * var(--eui-s-2xs));width:100%}.eui-timeline .eui-timeline-item .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-neutral);font:var(--eui-f-l-bold)}.eui-timeline .eui-timeline-item .eui-timeline-item__content .eui-timeline-item__subtitle{color:var(--eui-c-neutral-light)}.eui-timeline .eui-timeline-item .eui-timeline-item__date{color:var(--eui-c-neutral);font:var(--eui-f-m-bold)}.eui-timeline .eui-timeline-item .eui-timeline-item__time{color:var(--eui-c-neutral-light)}.eui-timeline.eui-timeline--left-aligned .eui-timeline-item .eui-timeline-item__icon.eui-timeline-item__icon--group{margin:2px calc(var(--eui-s-xl) + 2px)}.eui-timeline.eui-timeline--left-aligned .eui-timeline-item .eui-timeline-item__icon:after{left:calc(1 * var(--eui-s-m) + 10px)!important}.eui-timeline.eui-timeline--left-aligned .eui-timeline-item .eui-timeline-item__content{padding-bottom:var(--eui-s-s)}.eui-timeline.eui-timeline--left-aligned .eui-timeline-item .eui-timeline-item__content .eui-timeline-item__date{color:var(--eui-c-neutral);margin-top:var(--eui-s-xs);position:relative;font:var(--eui-f-m-bold)}.eui-timeline-item.eui-timeline-item--primary .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-primary)}.eui-timeline-item.eui-timeline-item--primary .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--primary .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-primary-dark)}.eui-timeline-item.eui-timeline-item--secondary .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-neutral-lightest)}.eui-timeline-item.eui-timeline-item--secondary .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--secondary .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-neutral-light)}.eui-timeline-item.eui-timeline-item--info .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-info)}.eui-timeline-item.eui-timeline-item--info .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--info .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-info-dark)}.eui-timeline-item.eui-timeline-item--warning .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-warning)}.eui-timeline-item.eui-timeline-item--warning .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--warning .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-warning-darker)}.eui-timeline-item.eui-timeline-item--success .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-success)}.eui-timeline-item.eui-timeline-item--success .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--success .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-success-dark)}.eui-timeline-item.eui-timeline-item--danger .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-danger)}.eui-timeline-item.eui-timeline-item--danger .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--danger .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-danger-dark)}.eui-timeline-item.eui-timeline-item--accent .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-accent)}.eui-timeline-item.eui-timeline-item--accent .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--accent .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-accent-dark)}.eui-timeline-item.eui-timeline-item--more{margin-bottom:0}.eui-timeline-item.eui-timeline-item--more .eui-timeline-item__content{padding-bottom:var(--eui-s-m)}\n"] }); }
89
105
  }
90
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiTimelineComponent, decorators: [{
91
107
  type: Component,
92
108
  args: [{ selector: 'eui-timeline', template: "<ng-content></ng-content>\n", styles: [".eui-timeline{display:flex;flex-direction:column;margin:0;padding:0;position:relative;width:100%}.eui-timeline .eui-timeline-item{display:flex;flex-direction:row;list-style:none;margin-bottom:var(--eui-s-m);position:relative;width:100%}.eui-timeline .eui-timeline-item .eui-timeline-item__left-content{display:list-item;min-width:calc(11 * var(--eui-s-m));position:relative;text-align:right;word-break:break-all}.eui-timeline .eui-timeline-item .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){align-items:center;background-color:var(--eui-c-white);border-color:var(--eui-c-accent);border-radius:var(--eui-br-max);border-style:solid;border-width:3px;display:flex;flex-direction:column;max-height:calc(var(--eui-s-m) + var(--eui-s-2xs));margin:0 var(--eui-s-m);min-width:calc(var(--eui-s-m) + var(--eui-s-2xs));z-index:2}.eui-timeline .eui-timeline-item .eui-timeline-item__icon:not(.eui-timeline-item__icon--group):after{background-color:var(--eui-c-neutral-lighter);content:\"\";height:calc(100% - var(--eui-s-2xs));position:absolute;top:calc(var(--eui-s-m) + var(--eui-s-2xs));width:2px;z-index:1}.eui-timeline .eui-timeline-item .eui-timeline-item__icon.eui-timeline-item__icon--group{align-items:center;border-right:var(--eui-bw-s) dashed var(--eui-c-neutral-lighter);display:flex;flex-direction:column;height:auto;margin:2px calc(var(--eui-s-xl) + 1px)}.eui-timeline .eui-timeline-item .eui-timeline-item__content{position:relative;top:calc(-1 * var(--eui-s-2xs));width:100%}.eui-timeline .eui-timeline-item .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-neutral);font:var(--eui-f-l-bold)}.eui-timeline .eui-timeline-item .eui-timeline-item__content .eui-timeline-item__subtitle{color:var(--eui-c-neutral-light)}.eui-timeline .eui-timeline-item .eui-timeline-item__date{color:var(--eui-c-neutral);font:var(--eui-f-m-bold)}.eui-timeline .eui-timeline-item .eui-timeline-item__time{color:var(--eui-c-neutral-light)}.eui-timeline.eui-timeline--left-aligned .eui-timeline-item .eui-timeline-item__icon.eui-timeline-item__icon--group{margin:2px calc(var(--eui-s-xl) + 2px)}.eui-timeline.eui-timeline--left-aligned .eui-timeline-item .eui-timeline-item__icon:after{left:calc(1 * var(--eui-s-m) + 10px)!important}.eui-timeline.eui-timeline--left-aligned .eui-timeline-item .eui-timeline-item__content{padding-bottom:var(--eui-s-s)}.eui-timeline.eui-timeline--left-aligned .eui-timeline-item .eui-timeline-item__content .eui-timeline-item__date{color:var(--eui-c-neutral);margin-top:var(--eui-s-xs);position:relative;font:var(--eui-f-m-bold)}.eui-timeline-item.eui-timeline-item--primary .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-primary)}.eui-timeline-item.eui-timeline-item--primary .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--primary .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-primary-dark)}.eui-timeline-item.eui-timeline-item--secondary .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-neutral-lightest)}.eui-timeline-item.eui-timeline-item--secondary .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--secondary .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-neutral-light)}.eui-timeline-item.eui-timeline-item--info .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-info)}.eui-timeline-item.eui-timeline-item--info .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--info .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-info-dark)}.eui-timeline-item.eui-timeline-item--warning .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-warning)}.eui-timeline-item.eui-timeline-item--warning .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--warning .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-warning-darker)}.eui-timeline-item.eui-timeline-item--success .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-success)}.eui-timeline-item.eui-timeline-item--success .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--success .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-success-dark)}.eui-timeline-item.eui-timeline-item--danger .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-danger)}.eui-timeline-item.eui-timeline-item--danger .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--danger .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-danger-dark)}.eui-timeline-item.eui-timeline-item--accent .eui-timeline-item__icon:not(.eui-timeline-item__icon--group){border-color:var(--eui-c-accent)}.eui-timeline-item.eui-timeline-item--accent .eui-timeline-item__content,.eui-timeline-item.eui-timeline-item--accent .eui-timeline-item__content .eui-timeline-item__title{color:var(--eui-c-accent-dark)}.eui-timeline-item.eui-timeline-item--more{margin-bottom:0}.eui-timeline-item.eui-timeline-item--more .eui-timeline-item__content{padding-bottom:var(--eui-s-m)}\n"] }]
93
- }], propDecorators: { cssClasses: [{
109
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }], propDecorators: { cssClasses: [{
94
110
  type: HostBinding,
95
111
  args: ['class']
96
112
  }], e2eAttr: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-timeline.mjs","sources":["../../eui-timeline/eui-timeline-item.component.ts","../../eui-timeline/eui-timeline-item.component.html","../../eui-timeline/eui-timeline.component.ts","../../eui-timeline/eui-timeline.component.html","../../eui-timeline/eui-timeline.module.ts","../../eui-timeline/eui-components-eui-timeline.ts"],"sourcesContent":["import { booleanAttribute, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-timeline-item',\n templateUrl: './eui-timeline-item.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiSecondary', 'euiPrimary', 'euiSuccess', 'euiInfo', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTimelineItemComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.data-e2e')\n @Input()\n e2eAttr = 'eui-timeline-item';\n\n @Input() label: string;\n @Input() subLabel: string;\n @Input() date: string;\n @Input() dateStyleClass = '';\n @Input() time: string;\n @Input() timeStyleClass = '';\n\n @Input({ transform: booleanAttribute }) isLeftAligned = false;\n @Input({ transform: booleanAttribute }) isGroup = false;\n\n constructor(public baseStatesDirective: BaseStatesDirective) {}\n\n private getCssClasses(): string {\n return [this.baseStatesDirective.getCssClasses('eui-timeline-item'), this.isGroup ? 'eui-timeline-item--more' : '']\n .join(' ')\n .trim();\n }\n}\n","<div *ngIf=\"!isLeftAligned\" class=\"eui-timeline-item__left-content\">\n <div *ngIf=\"date\" class=\"eui-timeline-item__date {{ dateStyleClass }}\">{{ date }}</div>\n <div *ngIf=\"time\" class=\"eui-timeline-item__time {{ timeStyleClass }}\">{{ time }}</div>\n</div>\n<div class=\"eui-timeline-item__icon\" [class.eui-timeline-item__icon--group]=\"isGroup\"></div>\n<div class=\"eui-timeline-item__content\">\n <ng-container #customContent>\n <ng-content></ng-content>\n </ng-container>\n\n <ng-container *ngIf=\"customContent?.childNodes.length === 0\">\n <div class=\"eui-timeline-item__title\">{{ label }}</div>\n <div class=\"eui-timeline-item__subtitle\">{{ subLabel }}</div>\n <div *ngIf=\"isLeftAligned && date\" class=\"eui-timeline-item__date {{ dateStyleClass }}\">{{ date }}</div>\n <div *ngIf=\"isLeftAligned && time\" class=\"eui-timeline-item__time {{ timeStyleClass }}\">{{ time }}</div>\n </ng-container>\n</div>\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { EuiTimelineItemComponent } from './eui-timeline-item.component';\n\n@Component({\n selector: 'eui-timeline',\n templateUrl: './eui-timeline.component.html',\n styleUrls: ['./styles/_index.scss'],\n})\nexport class EuiTimelineComponent implements OnChanges, AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-timeline';\n\n @Input({ transform: booleanAttribute }) isLeftAligned = false;\n\n @ContentChildren(EuiTimelineItemComponent) timelineItems: QueryList<EuiTimelineItemComponent>;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.isLeftAligned) {\n this.timelineItems?.forEach((item) => {\n item.isLeftAligned = this.isLeftAligned;\n });\n }\n }\n\n ngAfterContentInit(): void {\n this.timelineItems?.forEach((item) => {\n item.isLeftAligned = this.isLeftAligned;\n });\n }\n\n private getCssClasses(): string {\n return ['eui-timeline', this.isLeftAligned ? 'eui-timeline--left-aligned' : ''].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiTimelineComponent } from './eui-timeline.component';\nimport { EuiTimelineItemComponent } from './eui-timeline-item.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiTimelineComponent, EuiTimelineItemComponent],\n declarations: [EuiTimelineComponent, EuiTimelineItemComponent],\n})\nexport class EuiTimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-timeline.mjs","sources":["../../eui-timeline/eui-timeline-item.component.ts","../../eui-timeline/eui-timeline-item.component.html","../../eui-timeline/eui-timeline.component.ts","../../eui-timeline/eui-timeline.component.html","../../eui-timeline/eui-timeline.module.ts","../../eui-timeline/eui-components-eui-timeline.ts"],"sourcesContent":["import { booleanAttribute, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-timeline-item',\n templateUrl: './eui-timeline-item.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiSecondary', 'euiPrimary', 'euiSuccess', 'euiInfo', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTimelineItemComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.data-e2e')\n @Input()\n e2eAttr = 'eui-timeline-item';\n\n @Input() label: string;\n @Input() subLabel: string;\n @Input() date: string;\n @Input() dateStyleClass = '';\n @Input() time: string;\n @Input() timeStyleClass = '';\n\n @Input({ transform: booleanAttribute }) isLeftAligned: boolean;\n @Input({ transform: booleanAttribute }) isGroup: boolean;\n\n constructor(public baseStatesDirective: BaseStatesDirective) {}\n\n private getCssClasses(): string {\n return [this.baseStatesDirective.getCssClasses('eui-timeline-item'), this.isGroup ? 'eui-timeline-item--more' : '']\n .join(' ')\n .trim();\n }\n}\n","<div *ngIf=\"!isLeftAligned\" class=\"eui-timeline-item__left-content\">\n <div *ngIf=\"date\" class=\"eui-timeline-item__date {{ dateStyleClass }}\">{{ date }}</div>\n <div *ngIf=\"time\" class=\"eui-timeline-item__time {{ timeStyleClass }}\">{{ time }}</div>\n</div>\n<div class=\"eui-timeline-item__icon\" [class.eui-timeline-item__icon--group]=\"isGroup\"></div>\n<div class=\"eui-timeline-item__content\">\n <ng-container #customContent>\n <ng-content></ng-content>\n </ng-container>\n\n <ng-container *ngIf=\"customContent?.childNodes.length === 0\">\n <div class=\"eui-timeline-item__title\">{{ label }}</div>\n <div class=\"eui-timeline-item__subtitle\">{{ subLabel }}</div>\n <div *ngIf=\"isLeftAligned && date\" class=\"eui-timeline-item__date {{ dateStyleClass }}\">{{ date }}</div>\n <div *ngIf=\"isLeftAligned && time\" class=\"eui-timeline-item__time {{ timeStyleClass }}\">{{ time }}</div>\n </ng-container>\n</div>\n","import {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n NgZone,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { EuiTimelineItemComponent } from './eui-timeline-item.component';\n\n@Component({\n selector: 'eui-timeline',\n templateUrl: './eui-timeline.component.html',\n styleUrls: ['./styles/_index.scss'],\n})\nexport class EuiTimelineComponent implements OnChanges, AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-timeline';\n\n @Input({ transform: booleanAttribute })\n isLeftAligned: boolean;\n\n @ContentChildren(EuiTimelineItemComponent) timelineItems: QueryList<EuiTimelineItemComponent>;\n\n constructor(private cd: ChangeDetectorRef, private ngZone: NgZone) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.isLeftAligned) {\n this.syncIsLeftAligned(this.timelineItems);\n }\n }\n\n ngAfterContentInit(): void {\n this.syncIsLeftAligned(this.timelineItems);\n this.timelineItems.changes.subscribe((queryList: QueryList<EuiTimelineItemComponent>) => {\n // Defer changes to avoid ExpressionChangedAfterItHasBeenCheckedError\n this.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n this.syncIsLeftAligned(queryList);\n // Run change detection\n this.ngZone.run(() => {\n this.cd.detectChanges();\n });\n });\n });\n });\n }\n\n /**\n * Syncs the isLeftAligned property of the timeline items with the parent timeline\n * @param list The list of timeline items\n */\n private syncIsLeftAligned(list: QueryList<EuiTimelineItemComponent>): void {\n list?.forEach((item) => {\n item.isLeftAligned = this.isLeftAligned;\n });\n }\n\n private getCssClasses(): string {\n return ['eui-timeline', this.isLeftAligned ? 'eui-timeline--left-aligned' : ''].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiTimelineComponent } from './eui-timeline.component';\nimport { EuiTimelineItemComponent } from './eui-timeline-item.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EuiTimelineComponent, EuiTimelineItemComponent],\n declarations: [EuiTimelineComponent, EuiTimelineItemComponent],\n})\nexport class EuiTimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -902,11 +902,11 @@ class EuiTreeComponent {
902
902
  return scrolled.getElementRef().nativeElement === this.cdkScrollableRef.getElementRef().nativeElement;
903
903
  }
904
904
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiTreeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
905
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: EuiTreeComponent, selector: "eui-tree", inputs: { e2eAttr: "e2eAttr", nodes: "nodes", nodeTemplateRef: "nodeTemplateRef", nodeContentMetadataTemplateRef: "nodeContentMetadataTemplateRef", rightContextMenuTemplateRef: "rightContextMenuTemplateRef", expandedIconClass: "expandedIconClass", collapsedIconClass: "collapsedIconClass", expandedSvgIconClass: "expandedSvgIconClass", collapsedSvgIconClass: "collapsedSvgIconClass", isClickTogglingNode: ["isClickTogglingNode", "isClickTogglingNode", booleanAttribute], isMultiselect: ["isMultiselect", "isMultiselect", booleanAttribute], isSingleSelect: ["isSingleSelect", "isSingleSelect", booleanAttribute], isRecursiveSelection: ["isRecursiveSelection", "isRecursiveSelection", booleanAttribute], isRecursiveParentSelection: ["isRecursiveParentSelection", "isRecursiveParentSelection", booleanAttribute], showUnderlinedLinks: ["showUnderlinedLinks", "showUnderlinedLinks", booleanAttribute], showLines: ["showLines", "showLines", booleanAttribute], autoTranslate: ["autoTranslate", "autoTranslate", booleanAttribute], highlightPath: ["highlightPath", "highlightPath", booleanAttribute] }, outputs: { selectionChange: "selectionChange", nodeClick: "nodeClick", nodeToggle: "nodeToggle" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, viewQueries: [{ propertyName: "cdkScrollableRef", first: true, predicate: ["cdkScrollableRef"], descendants: true, read: CdkScrollable }, { propertyName: "treeComponentInstance", first: true, predicate: ["treeComponentInstance"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n <cdk-tree\n #treeComponentInstance\n [dataSource]=\"cdkArrayDataSource\"\n [treeControl]=\"cdkTreeControl\"\n [trackBy]=\"trackBy\"\n *ngIf=\"renderTree\"\n class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <div *ngIf=\"treeRunTimeItemModel\"\n class=\"eui-li-rep eui-tree-node\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\"\n (click)=\"onNodeClick(treeRunTimeItemModel)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <div\n class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n *ngIf=\"treeRunTimeItemModel\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div\n class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeRunTimeItemModel)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeRunTimeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-tree-node__button\">\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeRunTimeItemModel) && !collapsedIconClass\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel) && !expandedIconClass\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path,\n children: getTreeItem(treeRunTimeItemModel?.path)?.children\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <div class=\"eui-ul-rep eui-tree-node\" role=\"group\" *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"!!node?.isSelected\"\n [indeterminate]=\"!!node?.isIndeterminate\"\n (change)=\"onSelect($event)\"\n class=\"eui-u-mr-m\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-p-2xs\"\n [class.eui-label--selected]=\"\n highlightPath\n ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n : node?.isSelected\n \"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link\"\n [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link-external\"\n [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"ellipsis-vertical:sharp\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n aria-label=\"expand collapse tree item\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-tree .eui-tree__wrapper{display:flex;list-style:none;margin:0;overflow-y:auto;padding:var(--eui-s-2xs);position:relative;width:100%}.eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-c-neutral-bg-light)}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-xl)}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs));margin-right:var(--eui-s-2xs)}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-xl);width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-middle{align-items:center;display:flex;justify-content:flex-start;overflow:hidden;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-s)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:before{border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";height:calc(100% - var(--eui-s-m) - var(--eui-s-xl));position:absolute;top:var(--eui-s-xl)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:first-child:before{height:calc(100% - var(--eui-s-m) - var(--eui-s-2xs));top:0}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep:before:not(.eui-tree-node--first){border-top:1px solid var(--eui-c-neutral-lightest);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-s-m);width:var(--eui-s-xl)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node:not(.eui-tree-node--with-child):before{position:relative;left:0;display:inline-flex;width:var(--eui-s-2xl);border-bottom:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node.eui-tree-node--with-child:before{position:absolute;left:calc(1 * var(--eui-s-2xl) + var(--eui-s-2xs));display:inline-flex;width:var(--eui-s-s);border-bottom:1px solid var(--eui-c-neutral-lightest);border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node--last:before{height:auto;top:var(--eui-s-m)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: ["indeterminate", "isInvalid", "checked"], outputs: ["indeterminateChange"] }, { kind: "directive", type: i5.CdkNestedTreeNode, selector: "cdk-nested-tree-node", exportAs: ["cdkNestedTreeNode"] }, { kind: "directive", type: i5.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i5.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { kind: "component", type: i5.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "trackBy"], exportAs: ["cdkTree"] }, { kind: "directive", type: i5.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "component", type: i9.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i10.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared"], outputs: ["remove"] }, { kind: "component", type: i11.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "position", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "directive", type: i11.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
905
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: EuiTreeComponent, selector: "eui-tree", inputs: { e2eAttr: "e2eAttr", nodes: "nodes", nodeTemplateRef: "nodeTemplateRef", nodeContentMetadataTemplateRef: "nodeContentMetadataTemplateRef", rightContextMenuTemplateRef: "rightContextMenuTemplateRef", expandedIconClass: "expandedIconClass", collapsedIconClass: "collapsedIconClass", expandedSvgIconClass: "expandedSvgIconClass", collapsedSvgIconClass: "collapsedSvgIconClass", isClickTogglingNode: ["isClickTogglingNode", "isClickTogglingNode", booleanAttribute], isMultiselect: ["isMultiselect", "isMultiselect", booleanAttribute], isSingleSelect: ["isSingleSelect", "isSingleSelect", booleanAttribute], isRecursiveSelection: ["isRecursiveSelection", "isRecursiveSelection", booleanAttribute], isRecursiveParentSelection: ["isRecursiveParentSelection", "isRecursiveParentSelection", booleanAttribute], showUnderlinedLinks: ["showUnderlinedLinks", "showUnderlinedLinks", booleanAttribute], showLines: ["showLines", "showLines", booleanAttribute], autoTranslate: ["autoTranslate", "autoTranslate", booleanAttribute], highlightPath: ["highlightPath", "highlightPath", booleanAttribute] }, outputs: { selectionChange: "selectionChange", nodeClick: "nodeClick", nodeToggle: "nodeToggle" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, viewQueries: [{ propertyName: "cdkScrollableRef", first: true, predicate: ["cdkScrollableRef"], descendants: true, read: CdkScrollable }, { propertyName: "treeComponentInstance", first: true, predicate: ["treeComponentInstance"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n <cdk-tree\n #treeComponentInstance\n [dataSource]=\"cdkArrayDataSource\"\n [treeControl]=\"cdkTreeControl\"\n [trackBy]=\"trackBy\"\n *ngIf=\"renderTree\"\n class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <div *ngIf=\"treeRunTimeItemModel\"\n class=\"eui-li-rep eui-tree-node\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\"\n (click)=\"onNodeClick(treeRunTimeItemModel)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <div\n class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n *ngIf=\"treeRunTimeItemModel\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div\n class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeRunTimeItemModel)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeRunTimeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-tree-node__button\">\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeRunTimeItemModel) && !collapsedIconClass\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel) && !expandedIconClass\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path,\n children: getTreeItem(treeRunTimeItemModel?.path)?.children\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <div class=\"eui-ul-rep eui-tree-node\" role=\"group\" *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"!!node?.isSelected\"\n [indeterminate]=\"!!node?.isIndeterminate\"\n (change)=\"onSelect($event)\"\n class=\"eui-u-mr-m\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-p-2xs\"\n [class.eui-label--selected]=\"\n highlightPath\n ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n : node?.isSelected\n \"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link\"\n [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link-external\"\n [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"ellipsis-vertical:sharp\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n aria-label=\"expand collapse tree item\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-tree .eui-tree__wrapper{display:flex;list-style:none;margin:0;overflow-y:auto;padding:var(--eui-s-2xs);position:relative;width:100%}.eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-xl)}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs));margin-right:var(--eui-s-2xs)}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-xl);width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-middle{align-items:center;display:flex;justify-content:flex-start;overflow:hidden;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-s)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:before{border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";height:calc(100% - var(--eui-s-m) - var(--eui-s-xl));position:absolute;top:var(--eui-s-xl)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:first-child:before{height:calc(100% - var(--eui-s-m) - var(--eui-s-2xs));top:0}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep:before:not(.eui-tree-node--first){border-top:1px solid var(--eui-c-neutral-lightest);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-s-m);width:var(--eui-s-xl)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node:not(.eui-tree-node--with-child):before{position:relative;left:0;display:inline-flex;width:var(--eui-s-2xl);border-bottom:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node.eui-tree-node--with-child:before{position:absolute;left:calc(1 * var(--eui-s-2xl) + var(--eui-s-2xs));display:inline-flex;width:var(--eui-s-s);border-bottom:1px solid var(--eui-c-neutral-lightest);border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node--last:before{height:auto;top:var(--eui-s-m)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: ["indeterminate", "isInvalid", "checked"], outputs: ["indeterminateChange"] }, { kind: "directive", type: i5.CdkNestedTreeNode, selector: "cdk-nested-tree-node", exportAs: ["cdkNestedTreeNode"] }, { kind: "directive", type: i5.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i5.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { kind: "component", type: i5.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "trackBy"], exportAs: ["cdkTree"] }, { kind: "directive", type: i5.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "component", type: i9.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i10.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared"], outputs: ["remove"] }, { kind: "component", type: i11.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "position", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "directive", type: i11.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
906
906
  }
907
907
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiTreeComponent, decorators: [{
908
908
  type: Component,
909
- args: [{ selector: 'eui-tree', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n <cdk-tree\n #treeComponentInstance\n [dataSource]=\"cdkArrayDataSource\"\n [treeControl]=\"cdkTreeControl\"\n [trackBy]=\"trackBy\"\n *ngIf=\"renderTree\"\n class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <div *ngIf=\"treeRunTimeItemModel\"\n class=\"eui-li-rep eui-tree-node\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\"\n (click)=\"onNodeClick(treeRunTimeItemModel)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <div\n class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n *ngIf=\"treeRunTimeItemModel\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div\n class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeRunTimeItemModel)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeRunTimeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-tree-node__button\">\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeRunTimeItemModel) && !collapsedIconClass\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel) && !expandedIconClass\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path,\n children: getTreeItem(treeRunTimeItemModel?.path)?.children\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <div class=\"eui-ul-rep eui-tree-node\" role=\"group\" *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"!!node?.isSelected\"\n [indeterminate]=\"!!node?.isIndeterminate\"\n (change)=\"onSelect($event)\"\n class=\"eui-u-mr-m\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-p-2xs\"\n [class.eui-label--selected]=\"\n highlightPath\n ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n : node?.isSelected\n \"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link\"\n [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link-external\"\n [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"ellipsis-vertical:sharp\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n aria-label=\"expand collapse tree item\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-tree .eui-tree__wrapper{display:flex;list-style:none;margin:0;overflow-y:auto;padding:var(--eui-s-2xs);position:relative;width:100%}.eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-c-neutral-bg-light)}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-xl)}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs));margin-right:var(--eui-s-2xs)}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-xl);width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-middle{align-items:center;display:flex;justify-content:flex-start;overflow:hidden;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-s)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:before{border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";height:calc(100% - var(--eui-s-m) - var(--eui-s-xl));position:absolute;top:var(--eui-s-xl)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:first-child:before{height:calc(100% - var(--eui-s-m) - var(--eui-s-2xs));top:0}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep:before:not(.eui-tree-node--first){border-top:1px solid var(--eui-c-neutral-lightest);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-s-m);width:var(--eui-s-xl)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node:not(.eui-tree-node--with-child):before{position:relative;left:0;display:inline-flex;width:var(--eui-s-2xl);border-bottom:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node.eui-tree-node--with-child:before{position:absolute;left:calc(1 * var(--eui-s-2xl) + var(--eui-s-2xs));display:inline-flex;width:var(--eui-s-s);border-bottom:1px solid var(--eui-c-neutral-lightest);border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node--last:before{height:auto;top:var(--eui-s-m)}\n"] }]
909
+ args: [{ selector: 'eui-tree', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n <cdk-tree\n #treeComponentInstance\n [dataSource]=\"cdkArrayDataSource\"\n [treeControl]=\"cdkTreeControl\"\n [trackBy]=\"trackBy\"\n *ngIf=\"renderTree\"\n class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <div *ngIf=\"treeRunTimeItemModel\"\n class=\"eui-li-rep eui-tree-node\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\"\n (click)=\"onNodeClick(treeRunTimeItemModel)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <div\n class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n *ngIf=\"treeRunTimeItemModel\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div\n class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeRunTimeItemModel)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeRunTimeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-tree-node__button\">\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeRunTimeItemModel) && !collapsedIconClass\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel) && !expandedIconClass\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path,\n children: getTreeItem(treeRunTimeItemModel?.path)?.children\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <div class=\"eui-ul-rep eui-tree-node\" role=\"group\" *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"!!node?.isSelected\"\n [indeterminate]=\"!!node?.isIndeterminate\"\n (change)=\"onSelect($event)\"\n class=\"eui-u-mr-m\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-p-2xs\"\n [class.eui-label--selected]=\"\n highlightPath\n ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n : node?.isSelected\n \"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link\"\n [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link-external\"\n [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"ellipsis-vertical:sharp\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n aria-label=\"expand collapse tree item\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-tree .eui-tree__wrapper{display:flex;list-style:none;margin:0;overflow-y:auto;padding:var(--eui-s-2xs);position:relative;width:100%}.eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}.eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-xl)}.eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs));margin-right:var(--eui-s-2xs)}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-xl);width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-middle{align-items:center;display:flex;justify-content:flex-start;overflow:hidden;width:100%}.eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-s)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:before{border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";height:calc(100% - var(--eui-s-m) - var(--eui-s-xl));position:absolute;top:var(--eui-s-xl)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:first-child:before{height:calc(100% - var(--eui-s-m) - var(--eui-s-2xs));top:0}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep:before:not(.eui-tree-node--first){border-top:1px solid var(--eui-c-neutral-lightest);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-s-m);width:var(--eui-s-xl)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node:not(.eui-tree-node--with-child):before{position:relative;left:0;display:inline-flex;width:var(--eui-s-2xl);border-bottom:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node.eui-tree-node--with-child:before{position:absolute;left:calc(1 * var(--eui-s-2xl) + var(--eui-s-2xs));display:inline-flex;width:var(--eui-s-s);border-bottom:1px solid var(--eui-c-neutral-lightest);border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node--last:before{height:auto;top:var(--eui-s-m)}\n"] }]
910
910
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ScrollDispatcher }], propDecorators: { cssClasses: [{
911
911
  type: HostBinding,
912
912
  args: ['class']