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

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 (38) hide show
  1. package/docs/components/EuiFileUploadComponent.html +0 -1
  2. package/docs/components/EuiNotificationItemComponent.html +0 -1
  3. package/docs/components/EuiNotificationsComponent.html +0 -1
  4. package/docs/components/EuiTableComponent.html +0 -1
  5. package/docs/components/EuiTableV2Component.html +0 -1
  6. package/docs/components/EuiTabsComponent.html +0 -2
  7. package/docs/components/EuiTreeComponent.html +1 -0
  8. package/docs/components/EuiTreeListItemComponent.html +1 -0
  9. package/docs/dependencies.html +2 -2
  10. package/docs/js/menu-wc.js +12 -12
  11. package/docs/js/menu-wc_es5.js +1 -1
  12. package/docs/js/search/search_index.js +2 -2
  13. package/docs/modules/EuiFileUploadModule.html +4 -1
  14. package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
  15. package/eui-file-upload/eui-file-upload.module.d.ts +1 -2
  16. package/eui-file-upload/eui-file-upload.module.d.ts.map +1 -1
  17. package/eui-table/eui-table.component.d.ts.map +1 -1
  18. package/eui-table-v2/eui-table-v2.component.d.ts.map +1 -1
  19. package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
  20. package/eui-tree/eui-tree.component.d.ts.map +1 -1
  21. package/eui-tree-list/eui-tree-list-item.component.d.ts.map +1 -1
  22. package/fesm2022/eui-components-eui-file-upload.mjs +4 -5
  23. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  24. package/fesm2022/eui-components-eui-table-v2.mjs +0 -1
  25. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  26. package/fesm2022/eui-components-eui-table.mjs +0 -1
  27. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  28. package/fesm2022/eui-components-eui-tabs.mjs +0 -3
  29. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  30. package/fesm2022/eui-components-eui-tree-list.mjs +3 -1
  31. package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
  32. package/fesm2022/eui-components-eui-tree.mjs +3 -2
  33. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  34. package/fesm2022/eui-components-layout.mjs +4 -6
  35. package/fesm2022/eui-components-layout.mjs.map +1 -1
  36. package/layout/eui-notifications/eui-notification-item.component.d.ts.map +1 -1
  37. package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
  38. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-tree-list.mjs","sources":["../../eui-tree-list/toolbar/toolbar.component.ts","../../eui-tree-list/toolbar/toolbar.component.html","../../eui-tree-list/eui-tree-list.component.ts","../../eui-tree-list/eui-tree-list.component.html","../../eui-tree-list/item-content/item-content.component.ts","../../eui-tree-list/eui-tree-list-item.component.ts","../../eui-tree-list/eui-tree-list-item.component.html","../../eui-tree-list/eui-tree-list.module.ts","../../eui-tree-list/index.ts","../../eui-tree-list/eui-components-eui-tree-list.ts"],"sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute,\n HostBinding,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n@Component({\n selector: 'eui-tree-list-toolbar',\n templateUrl: './toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule,\n ...EUI_INPUT_TEXT,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ...EUI_ICON_INPUT,\n ],\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n @HostBinding('class') classes = 'eui-tree-list-toolbar';\n\n @Input() e2eAttr = 'eui-tree-list-toolbar';\n /**\n * Shows or hides the toolbar\n * @default false\n */\n @Input({ transform: booleanAttribute }) isVisible = false;\n /**\n * The value of the filter placeholder\n * @type {string}\n */\n @Input() filterLabel: string;\n /**\n * The label for the expand all button\n * @type {string}\n */\n @Input() expandAllLabel: string;\n /**\n * The label for the collapse all button\n * @type {string}\n */\n @Input() collapseAllLabel: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isFilterVisible = true;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isToggleVisible = true;\n /**\n * Option that toggles the expanded/collapsed state of the corresponding button\n * @default false\n */\n @Input({ transform: booleanAttribute }) isToggleExpanded = false;\n /**\n * The value of the filter input\n * @default ''\n */\n @Input() filterValue = '';\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) hasLabels = true;\n /**\n * Event emitted if there is or if a filter value changes.\n */\n @Output() filter = new EventEmitter<string>();\n /**\n * Event emitted when the expand all button is clicked.\n */\n @Output() expandAll = new EventEmitter<MouseEvent>();\n /**\n * Event emitted when the collapse all button is clicked.\n */\n @Output() collapseAll = new EventEmitter<MouseEvent>();\n\n ngOnInit(): void {\n if (this.filterValue !== '' && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.filterValue && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n /**\n * This method is called when the filter input value changes.\n * It emits the filter value to the parent component.\n * @protected\n */\n protected onFilter(): void {\n if (this.filterValue === '') {\n if (!this.isToggleExpanded) {\n this.collapseAll.emit(null);\n }\n }\n this.filter.emit(this.filterValue);\n }\n /**\n * This method is called when the expand all button is clicked.\n * It emits the expand all event to the parent component.\n * @param event The mouse event\n * @protected\n */\n protected onExpandAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.expandAll.emit(event);\n }\n /**\n * This method is called when the collapse all button is clicked.\n * It emits the collapse all event to the parent component.\n * @param event The mouse event\n * @protected\n */\n protected onCollapseAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.collapseAll.emit(event);\n }\n}\n","@if (isVisible) {\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\" />\n <input\n euiInputText\n euiClearable\n [(ngModel)]=\"filterValue\"\n [placeholder]=\"filterLabel\"\n (ngModelChange)=\"onFilter()\" />\n </eui-icon-input>\n\n @if (!isToggleExpanded) {\n <button euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\" [euiIconButton]=\"expandAllLabel === ''\" aria-label=\"Expand all\">\n @if (expandAllLabel !== '') {\n {{ expandAllLabel }}\n }\n <eui-icon-svg icon=\"eui-level-down\" aria-label=\"Expand all tree items icon\" />\n </button>\n } @else {\n <button euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\" [euiIconButton]=\"collapseAllLabel === ''\" aria-label=\"Collapse all\">\n @if (collapseAllLabel !== '') {\n {{ collapseAllLabel }}\n }\n <eui-icon-svg icon=\"eui-level-up\" aria-label=\"Collapse all tree items icon\" />\n </button>\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n forwardRef,\n AfterViewInit,\n OnChanges,\n SimpleChanges,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\nexport interface EuiTreeListFilterParams {\n readonly level: number;\n readonly item: EuiTreeListItemComponent;\n readonly keyword: string;\n}\n\n@Component({\n selector: 'eui-tree-list',\n templateUrl: './eui-tree-list.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n EuiTreeListToolbarComponent,\n TranslateModule,\n ],\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n /**\n * Option to show the toolbar\n * @default false\n */\n @Input({ transform: booleanAttribute }) isShowToolbar = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isShowToolbarToggle = true;\n /**\n * Sets the expanded state of the tree list\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) hasItemsUrl = false;\n /**\n * Sets the label for the filter input\n * @type {string}\n */\n @Input() filterLabel: string;\n /**\n * Function to filter the tree list items based on the provided params\n * @param {EuiTreeListFilterParams} params\n * @returns {boolean}\n */\n @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n /**\n * Sets the label for the expand all button\n * @type {string}\n */\n @Input() expandAllLabel: string;\n /**\n * Sets the label for the collapse all button\n * @type {string}\n */\n @Input() collapseAllLabel: string;\n /**\n * Sets the tabindex attribute to handle the focus state\n * @default '0'\n */\n @Input() tabindex = '0';\n /**\n * Sets the aria-label attribute for the tree list\n * @default ''\n */\n @Input() ariaLabel = '';\n /**\n * Sets the filter value of the toolbar\n * @default ''\n */\n @Input() toolbarFilterValue = '';\n /**\n * Sets the end to end attribute for the tree list\n * @default 'eui-tree-list'\n */\n @Input() e2eAttr = 'eui-tree-list';\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Output() itemSelected = new EventEmitter<string>();\n /**\n * Event that emits the filter value upon filtering.\n */\n @Output() filter = new EventEmitter<string>();\n /**\n * Event emitted upon expanding all items.\n */\n @Output() expandAll = new EventEmitter();\n /**\n * Event emitted upon collapsing all items.\n */\n @Output() collapseAll = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n public ariaOwns = '';\n public originalTabindex = '0';\n public classes = '';\n public ariaRoleTree = 'tree';\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const treeItemIds = [];\n if (this.items) {\n this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n treeItemIds.push(treeItem.id);\n });\n }\n setTimeout(() => {\n this.ariaOwns = treeItemIds.join(' ');\n this.originalTabindex = this.tabindex;\n if (this.isExpanded) {\n this.setExpandedState(true);\n }\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['tabindex']) {\n this.originalTabindex = this.tabindex;\n }\n }\n /**\n * Getter function that returns true if the expandAllLabel exists.\n * @returns {boolean}\n */\n get hasExpandAllLabel(): boolean {\n return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n }\n /**\n * Getter function that returns true if the collapseAllLabel exists.\n * @returns {boolean}\n */\n get hasCollapseAllLabel(): boolean {\n return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n }\n /**\n * Method that sets the expanded state and emits the expand all event.\n */\n onExpandAll(event: Event): void {\n this.setExpandedState(true);\n this.expandAll.next(void 0);\n }\n /**\n * Method that sets the collapsed state and emits the collapse all event.\n */\n onCollapseAll(event: Event): void {\n this.setExpandedState(false);\n this.collapseAll.next(void 0);\n }\n /**\n * Method that handles the visibility of the items based on the filter value and emits the filter event.\n * @param {string} filterValue - The filter value to set.\n */\n onFilter(filterValue: string): void {\n // TODO find a recursive way of doing the filtering throughout the tree structure\n if (filterValue && filterValue !== '') {\n this.setVisibleState(false);\n this.items.toArray().forEach((item1) => {\n item1.isVisible = this.filterMatched(0, item1, filterValue);\n if (item1.subTreeList.length !== 0) {\n item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n item1SubTreeList.items.toArray().forEach((item2) => {\n if (this.filterMatched(1, item2, filterValue)) {\n item2.isVisible = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item3) => {\n item3.isVisible = true;\n });\n });\n }\n }\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item4) => {\n if (this.filterMatched(2, item4, filterValue)) {\n item4.isVisible = true;\n item2.isVisible = true;\n item2.isExpanded = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n }\n });\n });\n }\n });\n });\n }\n });\n } else {\n this.setVisibleState(true);\n }\n\n this.filter.next(filterValue);\n }\n /**\n * @deprecated This method is not used anymore and will be removed in the next major version. You can use the `focus()` method instead.\n */\n onFocus(): void {\n this.focus();\n }\n /**\n * Method that sets the visibility state of the tree list items.\n * @param {boolean} state \n */\n public setVisibleState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setVisibleState(state));\n }\n /**\n * Method that sets the expanded state of the tree list items.\n * @param {boolean} state \n */\n public setExpandedState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setExpandedState(state));\n }\n /**\n * Method that puts the focus on the first child tree item.\n */\n public focus(): void {\n // Focus on the first child tree item:\n if (this.items && this.items.length > 0) {\n this.items.first.focus();\n }\n }\n /**\n * Method that makes the tree list not focusable.\n */\n public disableFocus(): void {\n this.tabindex = '-1';\n }\n /**\n * Method used to focus on the previous tree item in the list.\n * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n * @return {boolean} - Returns true if the focus was set on the previous tree item, false otherwise.\n */\n public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (treeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else if (previousTreeListItem) {\n previousTreeListItem.focusOnLastExpandedTreeItem();\n return true;\n }\n }\n\n // Focus on the last item of the previous parent:\n // First find the parent list item:\n if (this.elementRef) {\n let parent = this.elementRef.nativeElement.parentElement;\n while (parent && !parent.classList.contains('eui-tree-list-item')) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree-item is found\n const content = parent.querySelector('.eui-tree-list-item-header__content');\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n /**\n * Method used to focus on the next tree item in the list.\n * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n * @return {boolean} - Returns true if the focus was set on the next tree item, false otherwise.\n */\n public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n if (currentTreeListItem !== this.items.last) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (previousTreeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else {\n treeListItem.focus();\n return true;\n }\n }\n } else {\n // The current focused tree item is the last one; find the first next tree item:\n if (this.elementRef) {\n // First find the parent tree list item:\n let parent = this.elementRef.nativeElement.parentElement;\n // Find the parent that is not a last child itself:\n while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree list item is found; focus on the first child of the next list item\n const nextTreeListItem = parent.nextElementSibling;\n if (nextTreeListItem) {\n const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n next.setAttribute('tabindex', '0');\n next.focus();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n /**\n * Method that sets the default filter function to filter the tree list items.\n * @param {EuiTreeListFilterParams} params - The filter parameters.\n * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n * @private\n */\n private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n if (!params.item.label) {\n return false;\n } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n return true;\n } else {\n return false;\n }\n }\n /**\n * Method that filters the tree list items based on the provided params.\n * @param {number} level - The level of the item in the tree list.\n * @param {EuiTreeListItemComponent} item - The tree list item to filter.\n * @param {string} keyword - The keyword to filter by.\n * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n * @private\n */\n private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n if (this.filterFunction) {\n return this.filterFunction({ level, item, keyword });\n } else {\n return this.defaultFilterFunction({ level, item, keyword });\n }\n }\n}\n","@if (isShowToolbar) {\n <eui-tree-list-toolbar\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"isShowToolbarToggle\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"toolbarFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n [isToggleExpanded]=\"isExpanded\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n </eui-tree-list-toolbar>\n}\n\n<div\n class=\"eui-tree-list\"\n [attr.role]=\"ariaRoleTree\"\n [attr.data-tabindex]=\"originalTabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-owns]=\"ariaOwns\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-tree-list-item-content',\n template: '<ng-content></ng-content>',\n})\nexport class EuiTreeListItemContentComponent {\n @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Host,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\n\n@Component({\n selector: 'eui-tree-list-item',\n templateUrl: './eui-tree-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n TranslateModule,\n FormsModule,\n ...EUI_LABEL,\n ...EUI_ICON_INPUT,\n ...EUI_ICON_BUTTON_EXPANDER,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabIndex = '0';\n @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n @HostBinding('attr.id') @Input() id: string;\n @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n /**\n * The label of the tree list item if there is no customLabel.\n * @type {string}\n */\n @Input() label: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() linkUrl: string;\n /**\n * The sublabel of the tree list item if there is no customLabel.\n * @type {string}\n */\n @Input() subLabel: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() url: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() subLinks: UxLinkLegacy[] = [];\n /**\n * Option that enables a corresponding class if it is set to true.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n /**\n * Option to set the expanded state of the list item.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n /**\n * Option to set the expanded state of the list item when it is always expanded.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n /**\n * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n /**\n * Event emitted upon toggling the expanded state.\n */\n @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n isHovered = false;\n treeListComponent: EuiTreeListComponent;\n\n // tree states\n hasSub = false;\n\n // custom content\n hasCustomContent = false;\n\n @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n subTreeList: QueryList<EuiTreeListComponent>;\n\n @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n customContent: QueryList<EuiTreeListItemContentComponent>;\n\n constructor(\n @Host() @Optional() @Inject(forwardRef(() => EuiTreeListComponent)) treeListComponent,\n protected elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n this.treeListComponent = treeListComponent as EuiTreeListComponent;\n }\n\n ngAfterContentInit(): void {\n if (!this.ariaLabel) {\n this.ariaLabel = this.label ? this.label : 'Custom content';\n }\n\n // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n if (!this.id) {\n this.id = uniqueId();\n }\n\n // setting tree states\n if (this.subTreeList.length !== 0) {\n this.hasSub = true;\n }\n\n // checking if customContent set\n if (this.customContent.length !== 0) {\n this.hasCustomContent = true;\n }\n\n // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n if (this.subTreeList) {\n this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n subtree.disableFocus();\n subtree.ariaRoleTree = 'group';\n });\n }\n }\n /**\n * Method fired when the expander button is clicked.\n * @param {Event} event - The click event.\n */\n toggle(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.isExpanded = !this.isExpanded;\n this.toggled.next(this);\n }\n /**\n * Method fired when a key is pressed down.\n * @param {KeyboardEvent} event - The keyboard event.\n */\n onKeyDown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case 13: // ENTER\n case 32: // SPACE\n this.isExpanded = !this.isExpanded;\n consumeEvent(event);\n break;\n case 37: // ARROW LEFT\n this.isExpanded = false;\n consumeEvent(event);\n break;\n case 38: // ARROW UP\n if (this.treeListComponent) {\n if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n this.disableFocus();\n }\n }\n\n consumeEvent(event);\n break;\n case 39: // ARROW RIGHT\n this.isExpanded = true;\n consumeEvent(event);\n break;\n case 40: // ARROW DOWN\n if (this.focusOnNextTreeItem()) {\n this.disableFocus();\n }\n\n consumeEvent(event);\n break;\n }\n }\n /**\n * Method that sets the visible state.\n * @param {boolean} state - The visible state.\n */\n public setVisibleState(state: boolean): void {\n this.isVisible = state;\n\n if (this.subTreeList && this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setVisibleState(state);\n });\n }\n }\n /**\n * Method that sets the expanded state.\n * @param {boolean} state - The expanded state.\n */\n public setExpandedState(state: boolean): void {\n this.isExpanded = state;\n\n if (this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setExpandedState(state);\n });\n }\n }\n /**\n * Method used to enable/disable the focus state.\n */\n public focus(): void {\n if (this.focusable) {\n this.enableFocus();\n this.focusable.nativeElement.focus();\n }\n if (this.treeListComponent) {\n this.treeListComponent.disableFocus();\n }\n }\n /**\n * Method used to focus on the last expanded tree item.\n */\n public focusOnLastExpandedTreeItem(): void {\n const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n if (lastExpanded && lastExpanded.length > 0) {\n const element = lastExpanded[lastExpanded.length - 1];\n element.setAttribute('tabindex', '0');\n element.focus();\n } else {\n this.focus();\n }\n }\n /**\n * Method used to focus on the next tree item.\n * @returns {boolean} - Returns true if the focus was set, false otherwise.\n * @protected\n */\n protected focusOnNextTreeItem(): boolean {\n if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n this.subTreeList.first.focus();\n return true;\n } else if (this.treeListComponent) {\n return this.treeListComponent.focusOnNextTreeItem(this);\n }\n\n return false;\n }\n /**\n * Method used to disable the focus state.\n * @protected\n */\n protected disableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '-1');\n }\n }\n /**\n * Method used to enable the focus state.\n * @protected\n */\n protected enableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '0');\n }\n }\n /**\n * Method used to get the CSS classes for the tree list item.\n * @returns {string} - The CSS classes.\n * @private\n */\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n this.isActive ? 'eui-tree-list-item--active' : '',\n !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-tree-list-item-label', })\nexport class EuiTreeListItemLabelTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-details', })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-sub-container', })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n","<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n @if (hasCustomContent) {\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n } @else {\n <div class=\"eui-u-flex\">\n <eui-label>\n @if (!customLabel) {\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n } @else {\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n }\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n }\n </div>\n\n @if (customDetailContent) {\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n }\n\n @if (customSubContainerContent) {\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n }\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n @if (hasSub && !isAlwaysExpanded) {\n <eui-icon-button-expander\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n }\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport {\n EuiTreeListItemComponent,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemLabelTagDirective,\n} from './eui-tree-list-item.component';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\n\n/**\n * @description\n * This module provides the EuiTreeListComponent which is used to create\n * tree lists with various styles and functionalities.\n *\n * @deprecated Use {@link EUI_TREE_LIST} instead\n */\n@NgModule({\n imports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n exports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n})\nexport class EuiTreeListModule {}\n","import { EuiTreeListItemComponent, EuiTreeListItemDetailsContentTagDirective, EuiTreeListItemLabelTagDirective, EuiTreeListItemSubContainerContentTagDirective } from './eui-tree-list-item.component';\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\n\nexport * from './eui-tree-list.component';\nexport * from './eui-tree-list-item.component';\nexport * from './eui-tree-list.module';\n\nexport * from './item-content/item-content.component';\nexport * from './toolbar/toolbar.component';\n\nexport const EUI_TREE_LIST = [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-tree-list.mjs","sources":["../../eui-tree-list/toolbar/toolbar.component.ts","../../eui-tree-list/toolbar/toolbar.component.html","../../eui-tree-list/eui-tree-list.component.ts","../../eui-tree-list/eui-tree-list.component.html","../../eui-tree-list/item-content/item-content.component.ts","../../eui-tree-list/eui-tree-list-item.component.ts","../../eui-tree-list/eui-tree-list-item.component.html","../../eui-tree-list/eui-tree-list.module.ts","../../eui-tree-list/index.ts","../../eui-tree-list/eui-components-eui-tree-list.ts"],"sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute,\n HostBinding,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n@Component({\n selector: 'eui-tree-list-toolbar',\n templateUrl: './toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule,\n ...EUI_INPUT_TEXT,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ...EUI_ICON_INPUT,\n ],\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n @HostBinding('class') classes = 'eui-tree-list-toolbar';\n\n @Input() e2eAttr = 'eui-tree-list-toolbar';\n /**\n * Shows or hides the toolbar\n * @default false\n */\n @Input({ transform: booleanAttribute }) isVisible = false;\n /**\n * The value of the filter placeholder\n * @type {string}\n */\n @Input() filterLabel: string;\n /**\n * The label for the expand all button\n * @type {string}\n */\n @Input() expandAllLabel: string;\n /**\n * The label for the collapse all button\n * @type {string}\n */\n @Input() collapseAllLabel: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isFilterVisible = true;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isToggleVisible = true;\n /**\n * Option that toggles the expanded/collapsed state of the corresponding button\n * @default false\n */\n @Input({ transform: booleanAttribute }) isToggleExpanded = false;\n /**\n * The value of the filter input\n * @default ''\n */\n @Input() filterValue = '';\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) hasLabels = true;\n /**\n * Event emitted if there is or if a filter value changes.\n */\n @Output() filter = new EventEmitter<string>();\n /**\n * Event emitted when the expand all button is clicked.\n */\n @Output() expandAll = new EventEmitter<MouseEvent>();\n /**\n * Event emitted when the collapse all button is clicked.\n */\n @Output() collapseAll = new EventEmitter<MouseEvent>();\n\n ngOnInit(): void {\n if (this.filterValue !== '' && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.filterValue && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n /**\n * This method is called when the filter input value changes.\n * It emits the filter value to the parent component.\n * @protected\n */\n protected onFilter(): void {\n if (this.filterValue === '') {\n if (!this.isToggleExpanded) {\n this.collapseAll.emit(null);\n }\n }\n this.filter.emit(this.filterValue);\n }\n /**\n * This method is called when the expand all button is clicked.\n * It emits the expand all event to the parent component.\n * @param event The mouse event\n * @protected\n */\n protected onExpandAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.expandAll.emit(event);\n }\n /**\n * This method is called when the collapse all button is clicked.\n * It emits the collapse all event to the parent component.\n * @param event The mouse event\n * @protected\n */\n protected onCollapseAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.collapseAll.emit(event);\n }\n}\n","@if (isVisible) {\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\" />\n <input\n euiInputText\n euiClearable\n [(ngModel)]=\"filterValue\"\n [placeholder]=\"filterLabel\"\n (ngModelChange)=\"onFilter()\" />\n </eui-icon-input>\n\n @if (!isToggleExpanded) {\n <button euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\" [euiIconButton]=\"expandAllLabel === ''\" aria-label=\"Expand all\">\n @if (expandAllLabel !== '') {\n {{ expandAllLabel }}\n }\n <eui-icon-svg icon=\"eui-level-down\" aria-label=\"Expand all tree items icon\" />\n </button>\n } @else {\n <button euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\" [euiIconButton]=\"collapseAllLabel === ''\" aria-label=\"Collapse all\">\n @if (collapseAllLabel !== '') {\n {{ collapseAllLabel }}\n }\n <eui-icon-svg icon=\"eui-level-up\" aria-label=\"Collapse all tree items icon\" />\n </button>\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n forwardRef,\n AfterViewInit,\n OnChanges,\n SimpleChanges,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\nexport interface EuiTreeListFilterParams {\n readonly level: number;\n readonly item: EuiTreeListItemComponent;\n readonly keyword: string;\n}\n\n@Component({\n selector: 'eui-tree-list',\n templateUrl: './eui-tree-list.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n EuiTreeListToolbarComponent,\n TranslateModule,\n ],\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n /**\n * Option to show the toolbar\n * @default false\n */\n @Input({ transform: booleanAttribute }) isShowToolbar = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isShowToolbarToggle = true;\n /**\n * Sets the expanded state of the tree list\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) hasItemsUrl = false;\n /**\n * Sets the label for the filter input\n * @type {string}\n */\n @Input() filterLabel: string;\n /**\n * Function to filter the tree list items based on the provided params\n * @param {EuiTreeListFilterParams} params\n * @returns {boolean}\n */\n @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n /**\n * Sets the label for the expand all button\n * @type {string}\n */\n @Input() expandAllLabel: string;\n /**\n * Sets the label for the collapse all button\n * @type {string}\n */\n @Input() collapseAllLabel: string;\n /**\n * Sets the tabindex attribute to handle the focus state\n * @default '0'\n */\n @Input() tabindex = '0';\n /**\n * Sets the aria-label attribute for the tree list\n * @default ''\n */\n @Input() ariaLabel = '';\n /**\n * Sets the filter value of the toolbar\n * @default ''\n */\n @Input() toolbarFilterValue = '';\n /**\n * Sets the end to end attribute for the tree list\n * @default 'eui-tree-list'\n */\n @Input() e2eAttr = 'eui-tree-list';\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Output() itemSelected = new EventEmitter<string>();\n /**\n * Event that emits the filter value upon filtering.\n */\n @Output() filter = new EventEmitter<string>();\n /**\n * Event emitted upon expanding all items.\n */\n @Output() expandAll = new EventEmitter();\n /**\n * Event emitted upon collapsing all items.\n */\n @Output() collapseAll = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n public ariaOwns = '';\n public originalTabindex = '0';\n public classes = '';\n public ariaRoleTree = 'tree';\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const treeItemIds = [];\n if (this.items) {\n this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n treeItemIds.push(treeItem.id);\n });\n }\n setTimeout(() => {\n this.ariaOwns = treeItemIds.join(' ');\n this.originalTabindex = this.tabindex;\n if (this.isExpanded) {\n this.setExpandedState(true);\n }\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['tabindex']) {\n this.originalTabindex = this.tabindex;\n }\n }\n /**\n * Getter function that returns true if the expandAllLabel exists.\n * @returns {boolean}\n */\n get hasExpandAllLabel(): boolean {\n return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n }\n /**\n * Getter function that returns true if the collapseAllLabel exists.\n * @returns {boolean}\n */\n get hasCollapseAllLabel(): boolean {\n return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n }\n /**\n * Method that sets the expanded state and emits the expand all event.\n */\n onExpandAll(event: Event): void {\n this.setExpandedState(true);\n this.expandAll.next(void 0);\n }\n /**\n * Method that sets the collapsed state and emits the collapse all event.\n */\n onCollapseAll(event: Event): void {\n this.setExpandedState(false);\n this.collapseAll.next(void 0);\n }\n /**\n * Method that handles the visibility of the items based on the filter value and emits the filter event.\n * @param {string} filterValue - The filter value to set.\n */\n onFilter(filterValue: string): void {\n // TODO find a recursive way of doing the filtering throughout the tree structure\n if (filterValue && filterValue !== '') {\n this.setVisibleState(false);\n this.items.toArray().forEach((item1) => {\n item1.isVisible = this.filterMatched(0, item1, filterValue);\n if (item1.subTreeList.length !== 0) {\n item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n item1SubTreeList.items.toArray().forEach((item2) => {\n if (this.filterMatched(1, item2, filterValue)) {\n item2.isVisible = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item3) => {\n item3.isVisible = true;\n });\n });\n }\n }\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item4) => {\n if (this.filterMatched(2, item4, filterValue)) {\n item4.isVisible = true;\n item2.isVisible = true;\n item2.isExpanded = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n }\n });\n });\n }\n });\n });\n }\n });\n } else {\n this.setVisibleState(true);\n }\n\n this.filter.next(filterValue);\n }\n /**\n * @deprecated This method is not used anymore and will be removed in the next major version. You can use the `focus()` method instead.\n */\n onFocus(): void {\n this.focus();\n }\n /**\n * Method that sets the visibility state of the tree list items.\n * @param {boolean} state \n */\n public setVisibleState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setVisibleState(state));\n }\n /**\n * Method that sets the expanded state of the tree list items.\n * @param {boolean} state \n */\n public setExpandedState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setExpandedState(state));\n }\n /**\n * Method that puts the focus on the first child tree item.\n */\n public focus(): void {\n // Focus on the first child tree item:\n if (this.items && this.items.length > 0) {\n this.items.first.focus();\n }\n }\n /**\n * Method that makes the tree list not focusable.\n */\n public disableFocus(): void {\n this.tabindex = '-1';\n }\n /**\n * Method used to focus on the previous tree item in the list.\n * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n * @return {boolean} - Returns true if the focus was set on the previous tree item, false otherwise.\n */\n public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (treeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else if (previousTreeListItem) {\n previousTreeListItem.focusOnLastExpandedTreeItem();\n return true;\n }\n }\n\n // Focus on the last item of the previous parent:\n // First find the parent list item:\n if (this.elementRef) {\n let parent = this.elementRef.nativeElement.parentElement;\n while (parent && !parent.classList.contains('eui-tree-list-item')) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree-item is found\n const content = parent.querySelector('.eui-tree-list-item-header__content');\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n /**\n * Method used to focus on the next tree item in the list.\n * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n * @return {boolean} - Returns true if the focus was set on the next tree item, false otherwise.\n */\n public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n if (currentTreeListItem !== this.items.last) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (previousTreeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else {\n treeListItem.focus();\n return true;\n }\n }\n } else {\n // The current focused tree item is the last one; find the first next tree item:\n if (this.elementRef) {\n // First find the parent tree list item:\n let parent = this.elementRef.nativeElement.parentElement;\n // Find the parent that is not a last child itself:\n while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree list item is found; focus on the first child of the next list item\n const nextTreeListItem = parent.nextElementSibling;\n if (nextTreeListItem) {\n const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n next.setAttribute('tabindex', '0');\n next.focus();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n /**\n * Method that sets the default filter function to filter the tree list items.\n * @param {EuiTreeListFilterParams} params - The filter parameters.\n * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n * @private\n */\n private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n if (!params.item.label) {\n return false;\n } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n return true;\n } else {\n return false;\n }\n }\n /**\n * Method that filters the tree list items based on the provided params.\n * @param {number} level - The level of the item in the tree list.\n * @param {EuiTreeListItemComponent} item - The tree list item to filter.\n * @param {string} keyword - The keyword to filter by.\n * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n * @private\n */\n private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n if (this.filterFunction) {\n return this.filterFunction({ level, item, keyword });\n } else {\n return this.defaultFilterFunction({ level, item, keyword });\n }\n }\n}\n","@if (isShowToolbar) {\n <eui-tree-list-toolbar\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"isShowToolbarToggle\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"toolbarFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n [isToggleExpanded]=\"isExpanded\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n </eui-tree-list-toolbar>\n}\n\n<div\n class=\"eui-tree-list\"\n [attr.role]=\"ariaRoleTree\"\n [attr.data-tabindex]=\"originalTabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-owns]=\"ariaOwns\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-tree-list-item-content',\n template: '<ng-content></ng-content>',\n})\nexport class EuiTreeListItemContentComponent {\n @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Host,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'eui-tree-list-item',\n templateUrl: './eui-tree-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n TranslateModule,\n FormsModule,\n ...EUI_LABEL,\n ...EUI_ICON_INPUT,\n ...EUI_ICON_BUTTON_EXPANDER,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabIndex = '0';\n @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n @HostBinding('attr.id') @Input() id: string;\n @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n /**\n * The label of the tree list item if there is no customLabel.\n * @type {string}\n */\n @Input() label: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() linkUrl: string;\n /**\n * The sublabel of the tree list item if there is no customLabel.\n * @type {string}\n */\n @Input() subLabel: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() url: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() subLinks: UxLinkLegacy[] = [];\n /**\n * Option that enables a corresponding class if it is set to true.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n /**\n * Option to set the expanded state of the list item.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n /**\n * Option to set the expanded state of the list item when it is always expanded.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n /**\n * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n /**\n * Event emitted upon toggling the expanded state.\n */\n @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n isHovered = false;\n treeListComponent: EuiTreeListComponent;\n\n // tree states\n hasSub = false;\n\n // custom content\n hasCustomContent = false;\n\n @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n subTreeList: QueryList<EuiTreeListComponent>;\n\n @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n customContent: QueryList<EuiTreeListItemContentComponent>;\n\n constructor(\n @Host() @Optional() @Inject(forwardRef(() => EuiTreeListComponent)) treeListComponent,\n protected elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n this.treeListComponent = treeListComponent as EuiTreeListComponent;\n }\n\n ngAfterContentInit(): void {\n if (!this.ariaLabel) {\n this.ariaLabel = this.label ? this.label : 'Custom content';\n }\n\n // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n if (!this.id) {\n this.id = uniqueId();\n }\n\n // setting tree states\n if (this.subTreeList.length !== 0) {\n this.hasSub = true;\n }\n\n // checking if customContent set\n if (this.customContent.length !== 0) {\n this.hasCustomContent = true;\n }\n\n // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n if (this.subTreeList) {\n this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n subtree.disableFocus();\n subtree.ariaRoleTree = 'group';\n });\n }\n }\n /**\n * Method fired when the expander button is clicked.\n * @param {Event} event - The click event.\n */\n toggle(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.isExpanded = !this.isExpanded;\n this.toggled.next(this);\n }\n /**\n * Method fired when a key is pressed down.\n * @param {KeyboardEvent} event - The keyboard event.\n */\n onKeyDown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case 13: // ENTER\n case 32: // SPACE\n this.isExpanded = !this.isExpanded;\n consumeEvent(event);\n break;\n case 37: // ARROW LEFT\n this.isExpanded = false;\n consumeEvent(event);\n break;\n case 38: // ARROW UP\n if (this.treeListComponent) {\n if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n this.disableFocus();\n }\n }\n\n consumeEvent(event);\n break;\n case 39: // ARROW RIGHT\n this.isExpanded = true;\n consumeEvent(event);\n break;\n case 40: // ARROW DOWN\n if (this.focusOnNextTreeItem()) {\n this.disableFocus();\n }\n\n consumeEvent(event);\n break;\n }\n }\n /**\n * Method that sets the visible state.\n * @param {boolean} state - The visible state.\n */\n public setVisibleState(state: boolean): void {\n this.isVisible = state;\n\n if (this.subTreeList && this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setVisibleState(state);\n });\n }\n }\n /**\n * Method that sets the expanded state.\n * @param {boolean} state - The expanded state.\n */\n public setExpandedState(state: boolean): void {\n this.isExpanded = state;\n\n if (this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setExpandedState(state);\n });\n }\n }\n /**\n * Method used to enable/disable the focus state.\n */\n public focus(): void {\n if (this.focusable) {\n this.enableFocus();\n this.focusable.nativeElement.focus();\n }\n if (this.treeListComponent) {\n this.treeListComponent.disableFocus();\n }\n }\n /**\n * Method used to focus on the last expanded tree item.\n */\n public focusOnLastExpandedTreeItem(): void {\n const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n if (lastExpanded && lastExpanded.length > 0) {\n const element = lastExpanded[lastExpanded.length - 1];\n element.setAttribute('tabindex', '0');\n element.focus();\n } else {\n this.focus();\n }\n }\n /**\n * Method used to focus on the next tree item.\n * @returns {boolean} - Returns true if the focus was set, false otherwise.\n * @protected\n */\n protected focusOnNextTreeItem(): boolean {\n if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n this.subTreeList.first.focus();\n return true;\n } else if (this.treeListComponent) {\n return this.treeListComponent.focusOnNextTreeItem(this);\n }\n\n return false;\n }\n /**\n * Method used to disable the focus state.\n * @protected\n */\n protected disableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '-1');\n }\n }\n /**\n * Method used to enable the focus state.\n * @protected\n */\n protected enableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '0');\n }\n }\n /**\n * Method used to get the CSS classes for the tree list item.\n * @returns {string} - The CSS classes.\n * @private\n */\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n this.isActive ? 'eui-tree-list-item--active' : '',\n !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-tree-list-item-label', })\nexport class EuiTreeListItemLabelTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-details', })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-sub-container', })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n","<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n @if (hasCustomContent) {\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n } @else {\n <div class=\"eui-u-flex\">\n <eui-label>\n @if (!customLabel) {\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n } @else {\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n }\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n }\n </div>\n\n @if (customDetailContent) {\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n }\n\n @if (customSubContainerContent) {\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n }\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n @if (hasSub && !isAlwaysExpanded) {\n <eui-icon-button-expander\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n }\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport {\n EuiTreeListItemComponent,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemLabelTagDirective,\n} from './eui-tree-list-item.component';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\n\n/**\n * @description\n * This module provides the EuiTreeListComponent which is used to create\n * tree lists with various styles and functionalities.\n *\n * @deprecated Use {@link EUI_TREE_LIST} instead\n */\n@NgModule({\n imports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n exports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n})\nexport class EuiTreeListModule {}\n","import { EuiTreeListItemComponent, EuiTreeListItemDetailsContentTagDirective, EuiTreeListItemLabelTagDirective, EuiTreeListItemSubContainerContentTagDirective } from './eui-tree-list-item.component';\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\n\nexport * from './eui-tree-list.component';\nexport * from './eui-tree-list-item.component';\nexport * from './eui-tree-list.module';\n\nexport * from './item-content/item-content.component';\nexport * from './toolbar/toolbar.component';\n\nexport const EUI_TREE_LIST = [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
@@ -25,7 +25,7 @@ import { TranslateModule } from '@ngx-translate/core';
25
25
  import * as i1 from '@angular/cdk/scrolling';
26
26
  import { ScrollingModule, CdkScrollable } from '@angular/cdk/scrolling';
27
27
  import { debounceTime } from 'rxjs';
28
- import { NgIf, NgSwitch, NgTemplateOutlet } from '@angular/common';
28
+ import { NgIf, NgSwitch, NgFor, NgTemplateOutlet } from '@angular/common';
29
29
 
30
30
  // eslint-disable-next-line prefer-arrow/prefer-arrow-functions
31
31
  function uxTreeNodesMetaDataMapper(oldTree) {
@@ -1004,13 +1004,14 @@ class EuiTreeComponent {
1004
1004
  return scrolled.getElementRef().nativeElement === this.cdkScrollableRef.getElementRef().nativeElement;
1005
1005
  }
1006
1006
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EuiTreeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
1007
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.8", type: EuiTreeComponent, isStandalone: true, selector: "eui-tree", inputs: { e2eAttr: "e2eAttr", nodes: "nodes", nodeTemplateRef: "nodeTemplateRef", nodeContentMetadataTemplateRef: "nodeContentMetadataTemplateRef", rightContextMenuTemplateRef: "rightContextMenuTemplateRef", customNodeSelectFn: "customNodeSelectFn", 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, $event)\">\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, $event)\" 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)\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\"\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\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-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-19 .eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-19 .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-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-tree .eui-tree__wrapper{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-19 .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-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs))}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-2xl);width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-19 .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-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-19 .eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-2xs)}.eui-19 .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-19 .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-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-19 .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-19 .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-19 .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-xs);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-l)}.eui-19 .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)}.eui-19 .eui-tree:not(.eui-tree--show-lines) .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-3xl)}.eui-19 .eui-tree:not(.eui-tree--show-lines).eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-m)}.eui-19 .eui-dropdown-content .eui-tree.eui-tree--show-lines.eui-tree--with-children{padding-inline-start:var(--eui-s-xs)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: CdkTreeModule }, { kind: "directive", type: i3.CdkNestedTreeNode, selector: "cdk-nested-tree-node", exportAs: ["cdkNestedTreeNode"] }, { kind: "directive", type: i3.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i3.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { kind: "component", type: i3.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "levelAccessor", "childrenAccessor", "trackBy", "expansionKey"], exportAs: ["cdkTree"] }, { kind: "directive", type: i3.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i5.EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: ["indeterminate", "isInvalid", "checked"], outputs: ["indeterminateChange"] }, { 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", "isFilled"], outputs: ["remove"] }, { kind: "component", type: i11.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "height", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "directive", type: i11.EuiDropdownContentDirective, selector: "eui-dropdown-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1007
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.8", type: EuiTreeComponent, isStandalone: true, selector: "eui-tree", inputs: { e2eAttr: "e2eAttr", nodes: "nodes", nodeTemplateRef: "nodeTemplateRef", nodeContentMetadataTemplateRef: "nodeContentMetadataTemplateRef", rightContextMenuTemplateRef: "rightContextMenuTemplateRef", customNodeSelectFn: "customNodeSelectFn", 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, $event)\">\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, $event)\" 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)\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\"\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\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-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-19 .eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-19 .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-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-tree .eui-tree__wrapper{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-19 .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-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs))}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-2xl);width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-19 .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-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-19 .eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-2xs)}.eui-19 .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-19 .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-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-19 .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-19 .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-19 .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-xs);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-l)}.eui-19 .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)}.eui-19 .eui-tree:not(.eui-tree--show-lines) .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-3xl)}.eui-19 .eui-tree:not(.eui-tree--show-lines).eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-m)}.eui-19 .eui-dropdown-content .eui-tree.eui-tree--show-lines.eui-tree--with-children{padding-inline-start:var(--eui-s-xs)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: CdkTreeModule }, { kind: "directive", type: i3.CdkNestedTreeNode, selector: "cdk-nested-tree-node", exportAs: ["cdkNestedTreeNode"] }, { kind: "directive", type: i3.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i3.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { kind: "component", type: i3.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "levelAccessor", "childrenAccessor", "trackBy", "expansionKey"], exportAs: ["cdkTree"] }, { kind: "directive", type: i3.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i5.EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: ["indeterminate", "isInvalid", "checked"], outputs: ["indeterminateChange"] }, { 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", "isFilled"], outputs: ["remove"] }, { kind: "component", type: i11.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "height", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "directive", type: i11.EuiDropdownContentDirective, selector: "eui-dropdown-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1008
1008
  }
1009
1009
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EuiTreeComponent, decorators: [{
1010
1010
  type: Component,
1011
1011
  args: [{ selector: 'eui-tree', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
1012
1012
  NgIf,
1013
1013
  NgSwitch,
1014
+ NgFor,
1014
1015
  NgTemplateOutlet,
1015
1016
  FormsModule,
1016
1017
  TranslateModule,