@eui/components 19.0.0-rc.3 → 19.0.0-rc.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-table.mjs","sources":["../../eui-table/services/eui-table-sort.service.ts","../../eui-table/services/eui-table-selectable-row.service.ts","../../eui-table/models/multi-sort.model.ts","../../eui-table/eui-table.component.ts","../../eui-table/eui-table.component.html","../../eui-table/sortable-col/eui-table-sortable-col.component.ts","../../eui-table/sortable-col/eui-table-sortable-col.component.html","../../eui-table/filter/eui-table-filter.component.ts","../../eui-table/filter/eui-table-filter.component.html","../../eui-table/pipes/eui-table-highlight-filter.pipe.ts","../../eui-table/selectable-row/eui-table-selectable-row.component.ts","../../eui-table/selectable-row/eui-table-selectable-row.component.html","../../eui-table/selectable-header/eui-table-selectable-header.component.ts","../../eui-table/selectable-header/eui-table-selectable-header.component.html","../../eui-table/expandable-row/eui-table-expandable-row.component.ts","../../eui-table/expandable-row/eui-table-expandable-row.component.html","../../eui-table/directives/eui-table-sticky-columns.directive.ts","../../eui-table/eui-table.module.ts","../../eui-table/eui-components-eui-table.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\nimport { MultisortParam } from '../models/multi-sort.model';\n\n@Injectable()\nexport class EuiTableSortService {\n public sortingParams$ = new BehaviorSubject({ sort: null, order: 'desc' });\n public multisortParamsChange$ = new BehaviorSubject([]);\n public multisortParamsSort$ = new BehaviorSubject([]);\n private multisortParams: MultisortParam[] = [];\n\n setSort(sort: string | null, order: 'asc' | 'desc' | null): void {\n this.sortingParams$.next({ sort: order ? sort : null, order });\n this.multisortParamsSort$.next([]);\n this.multisortParams.forEach((param) => {\n param.position = 0;\n param.order = null;\n });\n this.multisortParamsChange$.next(this.multisortParams);\n }\n\n setMultiSortColumns(multisortParams: MultisortParam[]): void {\n this.multisortParamsSort$.next(multisortParams);\n this.sortingParams$.next({ sort: null, order: null });\n this.multisortParamsChange$.next(multisortParams);\n }\n\n addMultisortParam(column: MultisortParam): void {\n this.multisortParams.push(column);\n this.multisortParamsChange$.next(this.multisortParams);\n if (this.checkIsMultisortable(this.multisortParams)) {\n this.multisortParamsSort$.next(this.multisortParams);\n }\n }\n\n toFormGroup(params: MultisortParam[]): FormArray {\n const group = new FormArray([]);\n params.forEach((col, index) => {\n const value = this.getValue(params, index);\n if (value) {\n group.push(new FormGroup({ name: new FormControl(value.name), order: new FormControl(value.order) }));\n } else {\n group.push(new FormGroup({ name: new FormControl(), order: new FormControl() }));\n }\n });\n return group;\n }\n\n private checkIsMultisortable(multisortParams: MultisortParam[]): boolean {\n return multisortParams.find((el) => el.order !== null) !== undefined;\n }\n\n private sortParamsAsc(params: MultisortParam[]): MultisortParam[] {\n return params.sort((a, b) => {\n if (a.position === b.position) {\n return 0;\n }\n if (this.isNullPosition(a.position)) {\n return 1;\n }\n if (this.isNullPosition(b.position)) {\n return -1;\n }\n return a.position < b.position ? -1 : 1;\n });\n }\n\n private isNullPosition(pos: number): boolean {\n return pos === 0 || pos === null;\n }\n\n private getValue(params: MultisortParam[], index: number): MultisortParam {\n const currentCol = params.find((col) => col.position === index + 1);\n return currentCol ? currentCol : null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class EuiTableSelectableRowService {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public selectedRows$: BehaviorSubject<any[]> = new BehaviorSubject([]);\n public isAllRowsSelected$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public lastSelectedRow: any = null;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private rows: any[] = [];\n private isAllRowsSelected = false;\n private propId = 'id';\n\n public setPropId(value: string): void {\n this.propId = value;\n }\n\n public getPropId(): string {\n return this.propId;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public addSelectedRow(row: any): void {\n if (this.selectedRows$.value.indexOf(row) === -1) {\n this.selectedRows$.next([...this.selectedRows$.value, row]);\n }\n\n this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n this.isAllRowsSelected = this.selectedRows$.value.length === this.rows.length;\n\n this.lastSelectedRow = row;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public addSelectedRows(rows: any[]): void {\n const selected = rows.filter((row) => !this.selectedRows$.value.includes(row));\n\n this.selectedRows$.next([...this.selectedRows$.value, ...selected]);\n this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n this.isAllRowsSelected = this.selectedRows$.value.length === this.rows.length;\n\n this.lastSelectedRow = rows[rows.length - 1];\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public removeSelectedRow(row: any): void {\n const value = this.selectedRows$.value.filter((selected) => selected[this.propId] !== row[this.propId]);\n this.selectedRows$.next(value);\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public addRow(row: any): void {\n if (row && !this.rows.find((r) => r[this.propId] === row[this.propId])) {\n this.rows.push(row);\n\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n\n if (this.rows.length > this.selectedRows$.value.length && this.isAllRowsSelected) {\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n }\n\n if (this.rows.length <= this.selectedRows$.value.length && this.rows.every((r) => this.selectedRows$.value.includes(r))) {\n this.isAllRowsSelected$.next(true);\n this.isAllRowsSelected = true;\n }\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public addRows(rows: any[]): void {\n rows.forEach((row) => {\n this.addRow(row);\n });\n }\n\n public resetRows(): void {\n this.rows = [];\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public selectRows(rows: any[]): void {\n this.selectedRows$.next([...rows]);\n this.isAllRowsSelected$.next(this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length);\n this.isAllRowsSelected = this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length;\n\n this.lastSelectedRow = rows[rows.length - 1];\n }\n\n public selectAllRows(): void {\n this.selectedRows$.next([...this.rows]);\n this.isAllRowsSelected$.next(true);\n this.isAllRowsSelected = true;\n\n this.lastSelectedRow = this.rows[this.rows.length - 1];\n }\n\n public unselectAllRows(): void {\n this.selectedRows$.next([]);\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n\n this.lastSelectedRow = null;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public getRows(): any[] {\n return this.rows;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public getLastSelectedRow(): any {\n return this.lastSelectedRow;\n }\n}\n","export class MultisortParam {\n name: string;\n order: 'asc' | 'desc' | null = 'desc';\n position: number;\n\n constructor(name: string, order: string, position: number) {\n Object.assign(this, { name, order, position });\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { BehaviorSubject, combineLatest, Subject, Subscription, takeUntil } from 'rxjs';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiPaginatorComponent } from '@eui/components/eui-paginator';\n\nimport { EuiTableSortService } from './services/eui-table-sort.service';\nimport { PaginationEvent } from './models/pagination-event.model';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSelectableRowService } from './services/eui-table-selectable-row.service';\nimport { SortEvent } from './models/sort-event.model';\nimport { MultisortParam } from './models/multi-sort.model';\n\n@Component({\n selector: 'eui-table, table[euiTable]',\n templateUrl: './eui-table.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [EuiTableSortService, EuiTableSelectableRowService],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [],\n },\n ],\n})\nexport class EuiTableComponent implements AfterContentInit, OnInit, OnDestroy, AfterViewInit, OnChanges {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-table'),\n this.euiTableResponsive ? 'eui-table--responsive' : '',\n this.euiTableFixedLayout ? 'eui-table--fixed-layout' : '',\n this.euiTableBordered ? 'eui-table--bordered' : '',\n this.euiTableCompact ? 'eui-table--compact' : '',\n this.euiTableDraggable ? 'eui-table--draggable' : '',\n this.euiTableCards ? 'eui-table-cards' : '',\n this.hasStickyHeader ? 'eui-table--sticky-header' : '',\n this.hasStickyColumns ? 'eui-table--sticky-columns' : '',\n this.isColsOrderable ? 'eui-table--cols-orderable' : '',\n this.isHoverable ? 'eui-table--hoverable' : '',\n this.loading ? 'eui-table__loading' : '',\n ]\n .join(' ')\n .trim();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() rows: any[] = [];\n @Input() propId = 'id';\n @Input() e2eAttr = 'eui-table';\n @Input() paginator: EuiPaginatorComponent;\n @Input() filter: EuiTableFilterComponent;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() preselectedRows: any[] = [];\n @Input({ transform: booleanAttribute }) loading = false;\n @Input({ transform: booleanAttribute }) asyncTable = false;\n @Input({ transform: booleanAttribute }) paginable = false;\n @Input({ transform: booleanAttribute }) euiTableResponsive = false;\n @Input({ transform: booleanAttribute }) euiTableFixedLayout = false;\n @Input({ transform: booleanAttribute }) euiTableDraggable = false;\n @Input({ transform: booleanAttribute }) euiTableCards = false;\n @Input({ transform: booleanAttribute }) euiTableBordered = false;\n @Input({ transform: booleanAttribute }) euiTableCompact = false;\n @Input({ transform: booleanAttribute }) hasStickyHeader = false;\n @Input({ transform: booleanAttribute }) hasStickyColumns = false;\n @Input({ transform: booleanAttribute }) isSelectOnlyVisibleRows = false;\n @Input({ transform: booleanAttribute }) isColsOrderable = false;\n @Input({ transform: booleanAttribute }) isHoverable = false;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() selectedRows = new EventEmitter<any[]>();\n @Output() sortChange = new EventEmitter<SortEvent>();\n @Output() multiSortChange = new EventEmitter<MultisortParam[]>();\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public headerTemplate: TemplateRef<any>;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public bodyTemplate: TemplateRef<any>;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public footerTemplate: TemplateRef<any>;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public emptyMessageTemplate: TemplateRef<any>;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public rowsRendered: any[] = [];\n\n public page = 0;\n public pageSize = 0;\n public showStickyHeader = false;\n public filteredRows = [];\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('theadRef') theadRef: ElementRef<HTMLElement>;\n @ViewChild('tbodyRef') tbodyRef: ElementRef<HTMLElement>;\n @ViewChild('tfootRef') tfootRef: ElementRef<HTMLElement>;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private rowsSrc: any = null;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private tableFeaturesHandlerSubscription = new Subscription();\n private selectRowsFeatureHandlerSubscription = new Subscription();\n private stickyFeatureHandlerIndex = 0;\n\n constructor(\n private euiTableSortService: EuiTableSortService,\n private cd: ChangeDetectorRef,\n private euiTableSelectableRowService: EuiTableSelectableRowService,\n private elementRef: ElementRef,\n private baseStatesDirective: BaseStatesDirective,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (!this.rows) {\n this.rows = [];\n }\n\n this.euiTableSelectableRowService.setPropId(this.propId);\n if (c && c.rows && c.rows.firstChange === false) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n\n // Go to first page only if length of data has changed. To avoid user to be on a page that no longer exist in case of filtering.\n const lengthChanged = this.rowsSrc.length !== c.rows.currentValue.length;\n\n this.rowsSrc = [...c.rows.currentValue];\n if (this.paginator && lengthChanged) {\n this.paginator.goFirstPage();\n }\n if (!this.asyncTable) {\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(c.rows.currentValue);\n this.tableFeaturesHandler();\n } else {\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(c.rows.currentValue);\n }\n }\n\n if (c && c.preselectedRows && c.preselectedRows.firstChange === false) {\n this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n }\n\n if (c && c.paginator?.currentValue) {\n this.paginator.setLength(this.rows.length);\n if (!c.paginator?.isFirstChange()) {\n this.paginator.goFirstPage();\n }\n } else {\n // this.rows can be changed anytime, then this else can be executed at that time, testing this.paginator allows to make sure\n // the user whants to disable pagination or change the datasource\n if (!this.paginator) {\n this.rowsRendered = this.rowsSrc ? this.rowsSrc : [...this.rows];\n this.page = 0;\n }\n }\n }\n\n ngOnInit(): void {\n this.rowsSrc = [...this.rows];\n }\n\n ngAfterContentInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'header') {\n this.headerTemplate = item.template;\n }\n if (item.getType() === 'body') {\n this.bodyTemplate = item.template;\n }\n if (item.getType() === 'footer') {\n this.footerTemplate = item.template;\n }\n if (item.getType() === 'emptyMessage') {\n this.emptyMessageTemplate = item.template;\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.asyncTable) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n this.tableFeaturesHandler();\n }\n\n this.euiTableSortService.sortingParams$\n .pipe(takeUntil(this.destroy$))\n .subscribe((sortingParams: { sort: string | null; order: string }) => {\n setTimeout(() => {\n this.sortChange.emit({ sort: sortingParams.sort, order: sortingParams.order });\n });\n });\n\n this.euiTableSortService.multisortParamsSort$.pipe(takeUntil(this.destroy$)).subscribe((multiSortParams: MultisortParam[]) => {\n setTimeout(() => {\n this.multiSortChange.emit(multiSortParams.filter((el) => el.position > 0));\n });\n });\n\n this.selectRowsFeatureHandler();\n\n setTimeout(() => {\n this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public selectAllRows(): void {\n this.euiTableSelectableRowService.selectAllRows();\n }\n\n public unselectAllRows(): void {\n this.euiTableSelectableRowService.unselectAllRows();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public selectRows(rows: any[]): void {\n this.euiTableSelectableRowService.selectRows(rows);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public filterRows(filter: string, r: any[]): any[] {\n const rows = filter\n ? r.filter((row) => {\n const matching = this.getProps(row, filter).filter((p) => p.match === true);\n return matching?.length > 0;\n })\n : r;\n\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(rows);\n\n this.filteredRows = rows;\n\n return rows;\n }\n\n public setSort(sort: string | null, order: 'asc' | 'desc' | null): void {\n this.euiTableSortService.setSort(sort, order);\n }\n\n private stickyFeatureHandler(): void {\n const timeout = this.stickyFeatureHandlerIndex === 0 ? 250 : 0;\n\n setTimeout(() => {\n const bodyTrItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));\n const containerWidth = this.elementRef.nativeElement?.parentElement?.clientWidth || 0;\n\n if (this.theadRef) {\n const thItems: HTMLTableCellElement[] = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));\n\n // Reset left & right position\n thItems.forEach((th: HTMLTableCellElement) => {\n th.style.left = null;\n th.style.right = null;\n });\n\n // Sticky First Cols & Last Cols\n const thItemsStickyFirstCol = thItems.filter((th) => th.offsetLeft + th.clientWidth < containerWidth);\n const thItemsStickyLastCol = thItems.filter((th) => th.offsetLeft + th.clientWidth > containerWidth);\n\n thItemsStickyFirstCol.forEach((th, i) => {\n const w = thItemsStickyFirstCol[i - 1]?.clientWidth;\n const l = parseInt(thItemsStickyFirstCol[i - 1]?.style.left, 10);\n th.style.left = (i === 0 ? 0 : w + l) + 'px';\n\n if (i + 1 === thItemsStickyFirstCol.length) {\n th.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n thItemsStickyLastCol.reverse().forEach((th, i) => {\n const w = thItemsStickyLastCol[i - 1]?.clientWidth;\n const r = parseInt(thItemsStickyLastCol[i - 1]?.style.right, 10);\n th.style.right = (i === 0 ? 0 : w + r) + 'px';\n\n if (i + 1 === thItemsStickyLastCol.length) {\n th.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n }\n\n bodyTrItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n tdItems.forEach((td) => {\n td.style.left = null;\n td.style.right = null;\n });\n });\n\n bodyTrItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n\n // Sticky First Cols\n const tdItemsStickyFirstCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth < containerWidth);\n tdItemsStickyFirstCol.forEach((td, i) => {\n const w = tdItemsStickyFirstCol[i - 1]?.clientWidth;\n const l = parseInt(tdItemsStickyFirstCol[i - 1]?.style.left, 10);\n td.style.left = (i === 0 ? 0 : w + l) + 'px';\n\n if (i + 1 === tdItemsStickyFirstCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n // Sticky Last Cols\n const tdItemsStickyLastCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth > containerWidth);\n tdItemsStickyLastCol.reverse().forEach((td, i) => {\n const w = tdItemsStickyLastCol[i - 1]?.clientWidth;\n const r = parseInt(tdItemsStickyLastCol[i - 1]?.style.right, 10);\n td.style.right = (i === 0 ? 0 : w + r) + 'px';\n\n if (i + 1 === tdItemsStickyLastCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n });\n\n if (this.tfootRef) {\n const tdItems: HTMLTableCellElement[] = Array.from(this.tfootRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));\n\n // Reset left & right position\n tdItems.forEach((th: HTMLTableCellElement) => {\n th.style.left = null;\n th.style.right = null;\n });\n\n // Sticky First Cols & Last Cols\n const tdItemsStickyFirstCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth < containerWidth);\n const tdItemsStickyLastCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth > containerWidth);\n\n tdItemsStickyFirstCol.forEach((td, i) => {\n const w = tdItemsStickyFirstCol[i - 1]?.clientWidth;\n const l = parseInt(tdItemsStickyFirstCol[i - 1]?.style.left, 10);\n td.style.left = (i === 0 ? 0 : w + l) + 'px';\n\n if (i + 1 === tdItemsStickyFirstCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n tdItemsStickyLastCol.reverse().forEach((td, i) => {\n const w = tdItemsStickyLastCol[i - 1]?.clientWidth;\n const r = parseInt(tdItemsStickyLastCol[i - 1]?.style.right, 10);\n td.style.right = (i === 0 ? 0 : w + r) + 'px';\n\n if (i + 1 === tdItemsStickyLastCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n }\n }, timeout);\n\n this.stickyFeatureHandlerIndex++;\n }\n\n private tableFeaturesHandler(): void {\n this.tableFeaturesHandlerSubscription = combineLatest([\n this.euiTableSortService.sortingParams$,\n this.paginator ? this.paginator.page$ : new BehaviorSubject(null),\n this.filter ? this.filter.filter$ : new BehaviorSubject(null),\n this.euiTableSortService.multisortParamsSort$,\n ])\n .pipe(takeUntil(this.destroy$))\n .subscribe(([sortingParams, pagination, filter, multisortParams]) => {\n let r = [...this.rowsSrc];\n if (sortingParams.order !== null && sortingParams.sort !== null) {\n const multisort = [];\n multisort.push(new MultisortParam(sortingParams.sort, sortingParams.order, 1));\n r = this.doMultiSort(multisort, r);\n }\n\n if (multisortParams.length > 0) {\n const sortableColumns = multisortParams.filter((col) => col.order !== null);\n if (sortableColumns.length > 0) {\n r = this.doMultiSort(sortableColumns, r);\n }\n }\n r = this.filterRows(filter, r);\n if (this.paginator) {\n this.paginator.setLength(r.length);\n r = this.paginateRows(pagination, r);\n }\n\n this.rowsRendered = r;\n this.stickyFeatureHandler();\n if (this.isSelectOnlyVisibleRows) {\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.unselectAllRows();\n this.euiTableSelectableRowService.addRows(this.rowsRendered);\n }\n\n this.cd.detectChanges();\n });\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private doMultiSort(multisortParams: MultisortParam[], r: any): any[] {\n r = this.multiSortRows(multisortParams, 1, r);\n return r;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private multiSortRows(multisortParams: MultisortParam[], currentPosition: number, r: any): any[] {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let rows: any[] = null;\n const colParams = multisortParams.find((col) => col.position === currentPosition);\n if (colParams.order === 'desc') {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rows = r.sort((a: any, b: any) => {\n if (this.isColumnSortable(a, b, multisortParams, currentPosition)) {\n return this.sortTwoRowsDesc(a, b, colParams.name);\n } else {\n return 0;\n }\n });\n } else {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rows = r.sort((a: any, b: any) => {\n if (this.isColumnSortable(a, b, multisortParams, currentPosition)) {\n return this.sortTwoRowsAsc(a, b, colParams.name);\n } else {\n return 0;\n }\n });\n }\n if (multisortParams.length === currentPosition) {\n return rows;\n } else {\n return this.multiSortRows(multisortParams, ++currentPosition, rows);\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private isColumnSortable(a: any, b: any, multisortParams: MultisortParam[], currentPosition: number): boolean {\n if (currentPosition === 1) return true;\n const colParams = multisortParams.find((col) => col.position === currentPosition - 1);\n const aCol = this.getObjPropValue(a, colParams.name);\n // typeof this.getObjProp(a, colParams.name) === 'string'\n // ? this.getObjProp(a, colParams.name).toLowerCase()\n // : this.getObjProp(a, colParams.name);\n const bCol = this.getObjPropValue(b, colParams.name);\n // typeof this.getObjProp(b, colParams.name) === 'string'\n // ? this.getObjProp(b, colParams.name).toLowerCase()\n // : this.getObjProp(b, colParams.name);\n if (aCol !== bCol) {\n return false;\n } else {\n if (currentPosition - 1 === 1) {\n return true;\n } else {\n return this.isColumnSortable(a, b, multisortParams, --currentPosition);\n }\n }\n }\n\n //This function is to do the sorting the table with the combination of 0,null and text in descending order.\n //getObjPropValue is to get the object property value\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private sortTwoRowsDesc(a: any, b: any, colName: string): number {\n const aSortOn = this.getObjPropValue(a, colName);\n const bSortOn = this.getObjPropValue(b, colName);\n if ((aSortOn === null || aSortOn === undefined) && bSortOn) {\n return 1;\n } else if (aSortOn && (bSortOn === null || bSortOn === undefined)) {\n return -1;\n } else if ((aSortOn === null || aSortOn === undefined) && (bSortOn === null || bSortOn === undefined)) {\n return 0;\n } else if ((aSortOn === null || aSortOn === undefined) && bSortOn === 0) {\n return 1;\n } else if (aSortOn === 0 && (bSortOn === null || bSortOn === undefined)) {\n return -1;\n } else {\n return aSortOn < bSortOn ? 1 : aSortOn > bSortOn ? -1 : 0;\n }\n }\n\n //This function is to do the sorting the table with the combination of 0,null and text in ascending order.\n //getObjPropValue is to get the object property value\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private sortTwoRowsAsc(a: any, b: any, colName: string): number {\n const aSortOn = this.getObjPropValue(a, colName);\n const bSortOn = this.getObjPropValue(b, colName);\n if ((aSortOn === null || aSortOn === undefined) && bSortOn) {\n return -1;\n } else if (aSortOn && (bSortOn === null || bSortOn === undefined)) {\n return 1;\n } else if ((aSortOn === null || aSortOn === undefined) && (bSortOn === null || bSortOn === undefined)) {\n return 0;\n } else if ((aSortOn === null || aSortOn === undefined) && bSortOn === 0) {\n return -1;\n } else if (aSortOn === 0 && (bSortOn === null || bSortOn === undefined)) {\n return 1;\n } else {\n return aSortOn < bSortOn ? -1 : aSortOn > bSortOn ? 1 : 0;\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private getObjPropValue(obj: any, prop: string): any {\n const value = this.getObjProp(obj, prop);\n return typeof value === 'string' ? value.toLowerCase() : value;\n }\n\n private selectRowsFeatureHandler(): void {\n this.selectRowsFeatureHandlerSubscription = this.euiTableSelectableRowService.selectedRows$\n .pipe(takeUntil(this.destroy$))\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .subscribe((selected: any[]) => {\n this.selectedRows.emit(selected);\n });\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private getProps(obj: any[], filter: string): { key: string; match: boolean; value: string | number }[] {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const isObject = (val: any): boolean => val && typeof val === 'object';\n const addDelimiter = (a: string, b: string): string => (a && a !== '0' ? `${a}.${b}` : b);\n const props = [];\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const paths = (pathObj = {}, head = ''): any[] =>\n Object.entries(pathObj).reduce((product, [key, value]) => {\n const fullPath = addDelimiter(head, key);\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const match = (v: any): boolean =>\n v &&\n typeof v !== 'object' &&\n v\n ?.toString()\n .toLowerCase()\n .indexOf(filter?.trim().toLowerCase()) !== -1;\n\n if (key !== '0' && typeof value !== 'object') {\n props.push({ key: addDelimiter(head, key), match: match(value), value });\n }\n\n return isObject(value) ? product.concat(paths(value, fullPath)) : product.concat(fullPath);\n }, []);\n\n paths(obj);\n\n return props;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private paginateRows(pagination: PaginationEvent, r: any[]): any[] {\n this.page = pagination.page;\n this.pageSize = pagination.pageSize;\n\n return r.slice(this.page * this.pageSize, this.page * this.pageSize + this.pageSize);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private getObjProp(obj: any, prop: string): string {\n return prop ? prop.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), obj || self) : null;\n }\n}\n","@if (headerTemplate) {\n <thead #theadRef>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n}\n@if (bodyTemplate) {\n <tbody #tbodyRef>\n @for (row of rowsRendered; let i = $index; track $index) {\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i + page * pageSize }\">\n </ng-template>\n }\n\n @if (emptyMessageTemplate && rowsRendered.length === 0) {\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n }\n </tbody>\n}\n@if (footerTemplate) {\n <tfoot #tfootRef>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n}\n","import { Component, OnInit, OnDestroy, Input, HostBinding, ViewChild, numberAttribute, booleanAttribute } from '@angular/core';\nimport { Subject, combineLatest, takeUntil } from 'rxjs';\nimport { FormArray, FormGroup } from '@angular/forms';\n\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\n\nimport { EuiTableSortService } from '../services/eui-table-sort.service';\nimport { MultisortParam } from '../models/multi-sort.model';\n\n@Component({\n // eslint-disable-next-line\n selector: 'th[sortable]',\n templateUrl: './eui-table-sortable-col.component.html',\n standalone: false,\n})\nexport class EuiTableSortableColComponent implements OnInit, OnDestroy {\n @ViewChild(EuiDropdownComponent) dropdown: EuiDropdownComponent;\n @Input() sortOn: string;\n @Input() sortOrder: 'asc' | 'desc' = 'desc';\n @Input({ transform: numberAttribute }) defaultMultiOrder = null;\n @Input({ transform: booleanAttribute }) defaultOrder = false;\n @Input({ transform: booleanAttribute }) sortDisabled = false;\n @Input({ transform: booleanAttribute }) isMultiSortable = false;\n\n public order: 'asc' | 'desc' | null = 'desc';\n multisortParams: MultisortParam[] = [];\n currentMultiSortPosition = 0;\n error = false;\n form: FormGroup;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-table__sortable-col', this.sortDisabled ? 'eui-table__sortable-col--disabled' : ''].join(' ').trim();\n }\n\n constructor(private euiTableSortService: EuiTableSortService) {}\n\n ngOnInit(): void {\n if (this.isMultiSortable && !this.sortDisabled) {\n if (this.defaultMultiOrder > 0 && this.sortOrder) {\n this.euiTableSortService.addMultisortParam(new MultisortParam(this.sortOn, this.sortOrder, this.defaultMultiOrder));\n } else {\n this.euiTableSortService.addMultisortParam(new MultisortParam(this.sortOn, null, 0));\n }\n }\n\n combineLatest([this.euiTableSortService.sortingParams$, this.euiTableSortService.multisortParamsChange$])\n .pipe(takeUntil(this.destroy$))\n .subscribe(([sortingParams, multisortParams]) => {\n if (!this.isMultiSortable) {\n if (sortingParams.sort !== this.sortOn) {\n this.order = null;\n } else {\n this.order = sortingParams.order as ('asc' | 'desc');\n }\n } else {\n this.multisortParams = [...multisortParams];\n this.form = new FormGroup({ columns: this.euiTableSortService.toFormGroup(multisortParams) });\n if (sortingParams.order !== null && sortingParams.sort !== null) {\n this.currentMultiSortPosition = 0;\n if (sortingParams.sort !== this.sortOn) {\n this.order = null;\n } else {\n return;\n }\n } else {\n this.setCurrentMultisortPosition(multisortParams);\n }\n }\n });\n\n if (this.defaultOrder) {\n this.order = this.sortOrder;\n this.euiTableSortService.setSort(this.sortOn, this.order);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get columns(): FormArray {\n return this.form.controls['columns'] as FormArray;\n }\n\n public click(): void {\n if (!this.sortDisabled) {\n if (this.order === 'asc') {\n this.order = 'desc';\n } else if (this.order === 'desc') {\n this.order = null;\n } else if (this.order === null) {\n this.order = 'asc';\n }\n this.euiTableSortService.setSort(this.sortOn, this.order);\n }\n }\n\n onClickMultisortOrder(index: number, order: 'asc' | 'desc' | null): void {\n (this.form.get('columns') as FormArray).controls[index - 1].get('order').patchValue(order);\n }\n\n onOpenDropdown(): void {\n this.error = false;\n }\n\n getOrderByIndex(index: number): string | null {\n return (this.form.get('columns') as FormArray).controls[index].get('order').value;\n }\n\n onCancelMultiSort(): void {\n this.dropdown.closeDropdown();\n }\n\n onSubmitMultiSort(): void {\n const arr: Array<{ name: string; order: 'asc' | 'desc' | null }> = [];\n (this.form.get('columns') as FormArray).controls.forEach((el) => {\n if (el.get('name').value && el.get('order').value) {\n arr.push({ name: el.get('name').value, order: el.get('order').value });\n }\n });\n\n if (this.checkValidForSorting(arr)) {\n this.multisortParams.map((el) => this.setSortableParams(el, arr));\n this.euiTableSortService.setMultiSortColumns(this.multisortParams);\n this.dropdown.closeDropdown();\n } else {\n this.error = true;\n }\n }\n\n private setSortableParams(el: MultisortParam, arr: Array<{ name: string; order: 'asc' | 'desc' | null }>): MultisortParam {\n const currElArr = arr.find((item) => item.name === el.name);\n if (currElArr) {\n const index = arr.findIndex((item) => item.name === el.name);\n el.order = currElArr.order;\n el.position = index + 1;\n } else {\n el.order = null;\n el.position = 0;\n }\n return el;\n }\n\n private setCurrentMultisortPosition(multisortParams: MultisortParam[]): void {\n const currentColumn = multisortParams.find((el) => el.name === this.sortOn);\n if (currentColumn) {\n this.order = currentColumn.order;\n this.currentMultiSortPosition = currentColumn.position;\n } else {\n this.order = null;\n this.currentMultiSortPosition = 0;\n }\n }\n\n private checkValidForSorting(arr: Array<{ name: string; order: string }>): boolean {\n if (arr.length === 0) {\n return false;\n }\n return arr.find((el) => !this.isElementUniqueName(arr, el)) === undefined;\n }\n\n private isElementUniqueName(arr: Array<{ name: string; order: string }>, el: { name: string; order: string }): boolean {\n return arr.filter((col) => col.name === el.name).length === 1;\n }\n}\n","<div class=\"eui-table__sortable-col-content\">\n <ng-content></ng-content>\n @if (!sortDisabled) {\n <button type=\"button\" euiSizeS euiButton euiIconButton euiBasicButton class=\"eui-table__sortable-icon-button\" (click)=\"click()\">\n @if (!order) {\n <eui-icon-svg icon=\"swap-vertical:outline\" fillColor=\"neutral-lighter\" [aria-label]=\"'eui.euitable.NO-SORTING-ICON' | translate\"></eui-icon-svg>\n }\n @if (order === 'asc') {\n <eui-icon-svg icon=\"arrow-up:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n }\n @if (order === 'desc') {\n <eui-icon-svg icon=\"arrow-down:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n }\n </button>\n }\n @if (isMultiSortable) {\n <ng-template [ngTemplateOutlet]=\"sortDropdown\"></ng-template>\n }\n</div>\n<ng-template #sortDropdown let-index>\n <eui-dropdown [hasClosedOnClickInside]=\"false\">\n <button type=\"button\" euiButton euiBasicButton euiRounded euiIconButton euiSizeS [euiDisabled]=\"sortDisabled\" (click)=\"onOpenDropdown()\">\n <span euiBadge euiPrimary euiOutline>{{ currentMultiSortPosition }}</span>\n </button>\n <eui-dropdown-content>\n <div class=\"eui-u-pt-xs eui-u-pl-s\">\n <small>{{ 'eui.euitable.CHOOSE-SORT-ORDER' | translate }}</small>\n </div>\n @if (form) {\n <form [formGroup]=\"form\">\n <ng-container formArrayName=\"columns\">\n @for (columnForm of columns.controls; let i = $index; track $index) {\n <div class=\"eui-u-flex eui-u-p-s\" [formGroup]=\"form.get('columns')['controls'][i]\">\n <span euiLabel class=\"eui-u-mr-s\">{{ i + 1 }}</span>\n <select euiSelect euiSizeS formControlName=\"name\" class=\"eui-u-mr-s\">\n <option value=\"\"></option>\n @for (column of multisortParams; track $index) {\n <option [value]=\"column.name\">{{ column.name }}</option>\n }\n </select>\n @if (!getOrderByIndex(i)) {\n <button type=\"button\" euiSizeS euiSecondary euiButton euiIconButton euiBasicButton (click)=\"onClickMultisortOrder(i + 1, 'asc')\">\n <eui-icon-svg icon=\"swap-vertical:outline\" [aria-label]=\"'eui.euitable.NO-SORTING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n @if (getOrderByIndex(i) === 'asc') {\n <button type=\"button\" euiSizeS euiPrimary euiButton euiIconButton euiBasicButton (click)=\"onClickMultisortOrder(i + 1, 'desc')\">\n <eui-icon-svg icon=\"arrow-up:outline\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n @if (getOrderByIndex(i) === 'desc') {\n <button type=\"button\" euiSizeS euiPrimary euiButton euiIconButton euiBasicButton (click)=\"onClickMultisortOrder(i + 1, null)\">\n <eui-icon-svg icon=\"arrow-down:outline\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </ng-container>\n </form>\n }\n @if (error) {\n <p class=\"eui-u-mt-none eui-u-mb-none eui-u-ml-s\">\n <eui-feedback-message euiDanger>{{ 'eui.euitable.WRONG-SORT-PARAMS' | translate }}</eui-feedback-message>\n </p>\n }\n <div class=\"eui-u-flex eui-u-flex-justify-content-between eui-u-p-s\">\n <button type=\"button\" euiButton euiSizeS euiSecondary (click)=\"onCancelMultiSort()\">{{ 'eui.CANCEL' | translate }}</button>\n <button type=\"button\" euiButton euiSizeS euiPrimary (click)=\"onSubmitMultiSort()\">{{ 'eui.APPLY' | translate }}</button>\n </div>\n </eui-dropdown-content>\n </eui-dropdown>\n</ng-template>\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, HostBinding, ViewChild, ElementRef, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil, debounceTime, distinctUntilChanged } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-table-filter',\n templateUrl: './eui-table-filter.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [],\n },\n ],\n})\nexport class EuiTableFilterComponent implements OnInit, OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseStatesDirective.getCssClasses('eui-table__filter')].join(' ').trim();\n }\n\n @Input() placeholder: string;\n\n @Output() filterChange = new EventEmitter<string>();\n\n @ViewChild('filterInput', { read: ElementRef }) filterInput: ElementRef<HTMLInputElement>;\n\n public filter$: BehaviorSubject<string | null> = new BehaviorSubject(null);\n public form: FormGroup;\n\n @Input({ transform: booleanAttribute }) autoSearch = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private baseStatesDirective: BaseStatesDirective) {\n }\n\n ngOnInit(): void {\n this.form = new FormGroup({\n filter: new FormControl<string>(null),\n });\n\n this.form.get('filter').valueChanges.pipe(debounceTime(500), distinctUntilChanged(), takeUntil(this.destroy$)).subscribe((value) => {\n this.setFilter(value);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public setFilter(value: string): void {\n this.filter$.next(value);\n this.filterChange.emit(value);\n this.form.get('filter').setValue(value);\n }\n\n public resetFilter(): void {\n this.setFilter(null);\n this.form.reset();\n this.filterInput.nativeElement.focus();\n }\n}\n","<div class=\"eui-table__filter\">\n <form [formGroup]=\"form\">\n <input\n #filterInput\n euiClearable\n euiInputText\n class=\"eui-table__filter-input\"\n formControlName=\"filter\"\n [attr.aria-label]=\"form.get('filter').value ? form.get('filter').value : placeholder\"\n placeholder=\"{{ placeholder }}\" />\n <eui-icon-svg class=\"eui-table__filter-search-icon\" icon=\"eui-ecl-search\" size=\"m\" fillColor=\"neutral-lightest\"></eui-icon-svg>\n </form>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'euiTableHighlightFilter',\n standalone: false,\n})\nexport class EuiTableHighlightFilterPipe implements PipeTransform {\n transform(value: string, strFilter: string, className = 'eui-table--highlighted'): string {\n if (strFilter && strFilter.length > 0) {\n const regex = new RegExp('(' + strFilter + ')', 'gi');\n return value.toString().replace(regex, '<span class=\"' + className + '\">$1</span>');\n } else {\n return value;\n }\n }\n}\n","import { Component, OnInit, Input, OnDestroy, OnChanges, HostBinding, HostListener, booleanAttribute } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isSelectable]',\n templateUrl: './eui-table-selectable-row.component.html',\n standalone: false,\n})\nexport class EuiTableSelectableRowComponent implements OnInit, OnDestroy, OnChanges {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() isSelectable: any;\n @Input({ transform: booleanAttribute }) isChecked = false;\n @Input({ transform: booleanAttribute }) isKeyboardSelectable = false;\n\n private propId = 'id';\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-table__row', this.isSelectable ? 'eui-table__row--selectable' : '', this.isChecked ? 'eui-table__row--selected' : '']\n .join(' ')\n .trim();\n }\n\n constructor(private euiTableSelectableRowService: EuiTableSelectableRowService) {}\n\n @HostListener('click', ['$event']) onClickRow(event: PointerEvent): void {\n if (this.isKeyboardSelectable && this.isSelectable) {\n if (event.ctrlKey) {\n if (!this.isChecked) {\n this.euiTableSelectableRowService.addSelectedRow(this.isSelectable);\n } else {\n this.euiTableSelectableRowService.removeSelectedRow(this.isSelectable);\n }\n } else if (event.shiftKey) {\n const rows = this.euiTableSelectableRowService.getRows();\n const lastSelectedRow = this.euiTableSelectableRowService.getLastSelectedRow();\n const lastSelectedRowPosition = rows.indexOf(lastSelectedRow);\n const position = rows.indexOf(this.isSelectable);\n\n const range =\n lastSelectedRowPosition > position\n ? rows.slice(position, lastSelectedRowPosition + 1)\n : rows.slice(lastSelectedRowPosition, position + 1);\n\n this.euiTableSelectableRowService.addSelectedRows(range);\n\n window.getSelection().empty();\n } else {\n this.euiTableSelectableRowService.selectRows([this.isSelectable]);\n }\n }\n }\n\n ngOnChanges(): void {\n if (this.isSelectable) {\n this.propId = this.euiTableSelectableRowService.getPropId();\n this.isChecked = this.euiTableSelectableRowService.selectedRows$.value.find(\n (s) => s[this.propId] === this.isSelectable[this.propId],\n )\n ? true\n : false;\n }\n }\n\n ngOnInit(): void {\n this.euiTableSelectableRowService.selectedRows$.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected.filter((s) => s[this.propId] === this.isSelectable[this.propId]).length > 0;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public toggleCheckedState(e: any): void {\n if (!this.isChecked) {\n this.euiTableSelectableRowService.addSelectedRow(this.isSelectable);\n } else {\n this.euiTableSelectableRowService.removeSelectedRow(this.isSelectable);\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n}\n","@if (isSelectable) {\n <td class=\"eui-table__cell-select\">\n <div class=\"eui-table__cell-select-checkbox-container\">\n @if (isChecked) {\n <input aria-label=\"default checkbox checked\" euiInputCheckBox checked=\"true\" (click)=\"toggleCheckedState($event)\" />\n }\n @if (!isChecked) {\n <input aria-label=\"default checkbox unchecked\" euiInputCheckBox checked=\"false\" (click)=\"toggleCheckedState($event)\" />\n }\n </div>\n </td>\n}\n<ng-content></ng-content>\n","import { Component, OnInit, Input, OnDestroy, ViewChild, ElementRef, booleanAttribute } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isSelectableHeader]',\n templateUrl: './eui-table-selectable-header.component.html',\n standalone: false,\n})\nexport class EuiTableSelectableHeaderComponent implements OnInit, OnDestroy {\n @ViewChild('checkbox') checkbox: ElementRef<HTMLInputElement>;\n\n public isCheckedIndeterminate = false;\n\n @Input({ transform: booleanAttribute }) isSelectableHeader = true;\n @Input({ transform: booleanAttribute }) isChecked = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private euiTableSelectableRowService: EuiTableSelectableRowService) {}\n\n ngOnInit(): void {\n this.euiTableSelectableRowService.isAllRowsSelected$.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected;\n if (this.checkbox) {\n this.checkbox.nativeElement.checked = selected;\n }\n\n if (!selected && this.euiTableSelectableRowService.selectedRows$.value.length > 0) {\n this.isCheckedIndeterminate = true;\n } else {\n this.isCheckedIndeterminate = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public toggleCheckedState(value: boolean): void {\n this.isChecked = value;\n\n if (this.isChecked) {\n this.euiTableSelectableRowService.selectAllRows();\n } else {\n this.euiTableSelectableRowService.unselectAllRows();\n }\n }\n}\n","@if (isSelectableHeader) {\n <th class=\"eui-table__cell-select\">\n <div class=\"eui-table__cell-select-checkbox-container\">\n @if (!isChecked && !isCheckedIndeterminate) {\n <input aria-label=\"Unchecked\" euiInputCheckBox checked=\"false\" (click)=\"toggleCheckedState(true)\" />\n }\n @if (isCheckedIndeterminate) {\n <input aria-label=\"Indeterminate\" euiInputCheckBox indeterminate (click)=\"toggleCheckedState(false)\" />\n }\n @if (isChecked && !isCheckedIndeterminate) {\n <input aria-label=\"Checked\" euiInputCheckBox checked=\"true\" (click)=\"toggleCheckedState(false)\" />\n }\n </div>\n </th>\n}\n\n<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[euiTableExpandableRow]',\n templateUrl: './eui-table-expandable-row.component.html',\n standalone: false,\n})\nexport class EuiTableExpandableRowComponent {\n @HostBinding('class') string = 'eui-table-expandable-row';\n}\n","<ng-content></ng-content>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[isStickyColumn]',\n standalone: false,\n})\nexport class EuiTableStickyColumnDirective {\n @HostBinding('class.eui-table__col--sticky') get stickyClass(): boolean {\n return true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiListModule } from '@eui/components/eui-list';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputCheckboxModule } from '@eui/components/eui-input-checkbox';\nimport { EuiSelectModule } from '@eui/components/eui-select';\nimport { EuiFeedbackMessageModule } from '@eui/components/eui-feedback-message';\n\nimport { EuiTableComponent } from './eui-table.component';\nimport { EuiTableSortableColComponent } from './sortable-col/eui-table-sortable-col.component';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSelectableRowComponent } from './selectable-row/eui-table-selectable-row.component';\nimport { EuiTableSelectableHeaderComponent } from './selectable-header/eui-table-selectable-header.component';\nimport { EuiTableExpandableRowComponent } from './expandable-row/eui-table-expandable-row.component';\nimport { EuiTableHighlightFilterPipe } from './pipes/eui-table-highlight-filter.pipe';\nimport { EuiTableStickyColumnDirective } from './directives/eui-table-sticky-columns.directive';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n EuiIconModule,\n EuiListModule,\n EuiDropdownModule,\n EuiButtonModule,\n ReactiveFormsModule,\n EuiTemplateDirectiveModule,\n EuiInputTextModule,\n EuiInputCheckboxModule,\n EuiFeedbackMessageModule,\n EuiSelectModule,\n ],\n declarations: [\n EuiTableComponent,\n EuiTableSortableColComponent,\n EuiTableFilterComponent,\n EuiTableSelectableRowComponent,\n EuiTableSelectableHeaderComponent,\n EuiTableExpandableRowComponent,\n EuiTableHighlightFilterPipe,\n EuiTableStickyColumnDirective,\n ],\n exports: [\n EuiTableComponent,\n EuiTableSortableColComponent,\n EuiTableFilterComponent,\n EuiTableSelectableRowComponent,\n EuiTableSelectableHeaderComponent,\n EuiTableExpandableRowComponent,\n EuiTableHighlightFilterPipe,\n EuiTemplateDirectiveModule,\n EuiTableStickyColumnDirective,\n ],\n})\nexport class EuiTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiTableSortService","i2.EuiTableSelectableRowService","i2","i3","i4","i1","i1.EuiTableSelectableRowService"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-table.mjs","sources":["../../eui-table/services/eui-table-sort.service.ts","../../eui-table/services/eui-table-selectable-row.service.ts","../../eui-table/models/multi-sort.model.ts","../../eui-table/eui-table.component.ts","../../eui-table/eui-table.component.html","../../eui-table/sortable-col/eui-table-sortable-col.component.ts","../../eui-table/sortable-col/eui-table-sortable-col.component.html","../../eui-table/filter/eui-table-filter.component.ts","../../eui-table/filter/eui-table-filter.component.html","../../eui-table/pipes/eui-table-highlight-filter.pipe.ts","../../eui-table/selectable-row/eui-table-selectable-row.component.ts","../../eui-table/selectable-row/eui-table-selectable-row.component.html","../../eui-table/selectable-header/eui-table-selectable-header.component.ts","../../eui-table/selectable-header/eui-table-selectable-header.component.html","../../eui-table/expandable-row/eui-table-expandable-row.component.ts","../../eui-table/expandable-row/eui-table-expandable-row.component.html","../../eui-table/directives/eui-table-sticky-columns.directive.ts","../../eui-table/eui-table.module.ts","../../eui-table/eui-components-eui-table.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\nimport { MultisortParam } from '../models/multi-sort.model';\n\n@Injectable()\nexport class EuiTableSortService {\n public sortingParams$ = new BehaviorSubject({ sort: null, order: 'desc' });\n public multisortParamsChange$ = new BehaviorSubject([]);\n public multisortParamsSort$ = new BehaviorSubject([]);\n private multisortParams: MultisortParam[] = [];\n\n setSort(sort: string | null, order: 'asc' | 'desc' | null): void {\n this.sortingParams$.next({ sort: order ? sort : null, order });\n this.multisortParamsSort$.next([]);\n this.multisortParams.forEach((param) => {\n param.position = 0;\n param.order = null;\n });\n this.multisortParamsChange$.next(this.multisortParams);\n }\n\n setMultiSortColumns(multisortParams: MultisortParam[]): void {\n this.multisortParamsSort$.next(multisortParams);\n this.sortingParams$.next({ sort: null, order: null });\n this.multisortParamsChange$.next(multisortParams);\n }\n\n addMultisortParam(column: MultisortParam): void {\n this.multisortParams.push(column);\n this.multisortParamsChange$.next(this.multisortParams);\n if (this.checkIsMultisortable(this.multisortParams)) {\n this.multisortParamsSort$.next(this.multisortParams);\n }\n }\n\n toFormGroup(params: MultisortParam[]): FormArray {\n const group = new FormArray([]);\n params.forEach((col, index) => {\n const value = this.getValue(params, index);\n if (value) {\n group.push(new FormGroup({ name: new FormControl(value.name), order: new FormControl(value.order) }));\n } else {\n group.push(new FormGroup({ name: new FormControl(), order: new FormControl() }));\n }\n });\n return group;\n }\n\n private checkIsMultisortable(multisortParams: MultisortParam[]): boolean {\n return multisortParams.find((el) => el.order !== null) !== undefined;\n }\n\n private sortParamsAsc(params: MultisortParam[]): MultisortParam[] {\n return params.sort((a, b) => {\n if (a.position === b.position) {\n return 0;\n }\n if (this.isNullPosition(a.position)) {\n return 1;\n }\n if (this.isNullPosition(b.position)) {\n return -1;\n }\n return a.position < b.position ? -1 : 1;\n });\n }\n\n private isNullPosition(pos: number): boolean {\n return pos === 0 || pos === null;\n }\n\n private getValue(params: MultisortParam[], index: number): MultisortParam {\n const currentCol = params.find((col) => col.position === index + 1);\n return currentCol ? currentCol : null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class EuiTableSelectableRowService {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public selectedRows$: BehaviorSubject<any[]> = new BehaviorSubject([]);\n public isAllRowsSelected$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public lastSelectedRow: any = null;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private rows: any[] = [];\n private isAllRowsSelected = false;\n private propId = 'id';\n\n public setPropId(value: string): void {\n this.propId = value;\n }\n\n public getPropId(): string {\n return this.propId;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public addSelectedRow(row: any): void {\n if (this.selectedRows$.value.indexOf(row) === -1) {\n this.selectedRows$.next([...this.selectedRows$.value, row]);\n }\n\n this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n this.isAllRowsSelected = this.selectedRows$.value.length === this.rows.length;\n\n this.lastSelectedRow = row;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public addSelectedRows(rows: any[]): void {\n const selected = rows.filter((row) => !this.selectedRows$.value.includes(row));\n\n this.selectedRows$.next([...this.selectedRows$.value, ...selected]);\n this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n this.isAllRowsSelected = this.selectedRows$.value.length === this.rows.length;\n\n this.lastSelectedRow = rows[rows.length - 1];\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public removeSelectedRow(row: any): void {\n const value = this.selectedRows$.value.filter((selected) => selected[this.propId] !== row[this.propId]);\n this.selectedRows$.next(value);\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public addRow(row: any): void {\n if (row && !this.rows.find((r) => r[this.propId] === row[this.propId])) {\n this.rows.push(row);\n\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n\n if (this.rows.length > this.selectedRows$.value.length && this.isAllRowsSelected) {\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n }\n\n if (this.rows.length <= this.selectedRows$.value.length && this.rows.every((r) => this.selectedRows$.value.includes(r))) {\n this.isAllRowsSelected$.next(true);\n this.isAllRowsSelected = true;\n }\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public addRows(rows: any[]): void {\n rows.forEach((row) => {\n this.addRow(row);\n });\n }\n\n public resetRows(): void {\n this.rows = [];\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public selectRows(rows: any[]): void {\n this.selectedRows$.next([...rows]);\n this.isAllRowsSelected$.next(this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length);\n this.isAllRowsSelected = this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length;\n\n this.lastSelectedRow = rows[rows.length - 1];\n }\n\n public selectAllRows(): void {\n this.selectedRows$.next([...this.rows]);\n this.isAllRowsSelected$.next(true);\n this.isAllRowsSelected = true;\n\n this.lastSelectedRow = this.rows[this.rows.length - 1];\n }\n\n public unselectAllRows(): void {\n this.selectedRows$.next([]);\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n\n this.lastSelectedRow = null;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public getRows(): any[] {\n return this.rows;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public getLastSelectedRow(): any {\n return this.lastSelectedRow;\n }\n}\n","export class MultisortParam {\n name: string;\n order: 'asc' | 'desc' | null = 'desc';\n position: number;\n\n constructor(name: string, order: string, position: number) {\n Object.assign(this, { name, order, position });\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { BehaviorSubject, combineLatest, Subject, Subscription, takeUntil } from 'rxjs';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiPaginatorComponent } from '@eui/components/eui-paginator';\n\nimport { EuiTableSortService } from './services/eui-table-sort.service';\nimport { PaginationEvent } from './models/pagination-event.model';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSelectableRowService } from './services/eui-table-selectable-row.service';\nimport { SortEvent } from './models/sort-event.model';\nimport { MultisortParam } from './models/multi-sort.model';\n\n@Component({\n selector: 'eui-table, table[euiTable]',\n templateUrl: './eui-table.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [EuiTableSortService, EuiTableSelectableRowService],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [],\n },\n ],\n})\nexport class EuiTableComponent implements AfterContentInit, OnInit, OnDestroy, AfterViewInit, OnChanges {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-table'),\n this.euiTableResponsive ? 'eui-table--responsive' : '',\n this.euiTableFixedLayout ? 'eui-table--fixed-layout' : '',\n this.euiTableBordered ? 'eui-table--bordered' : '',\n this.euiTableCompact ? 'eui-table--compact' : '',\n this.euiTableDraggable ? 'eui-table--draggable' : '',\n this.euiTableCards ? 'eui-table-cards' : '',\n this.hasStickyHeader ? 'eui-table--sticky-header' : '',\n this.hasStickyColumns ? 'eui-table--sticky-columns' : '',\n this.isColsOrderable ? 'eui-table--cols-orderable' : '',\n this.isHoverable ? 'eui-table--hoverable' : '',\n this.loading ? 'eui-table__loading' : '',\n ]\n .join(' ')\n .trim();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() rows: any[] = [];\n @Input() propId = 'id';\n @Input() e2eAttr = 'eui-table';\n @Input() paginator: EuiPaginatorComponent;\n @Input() filter: EuiTableFilterComponent;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() preselectedRows: any[] = [];\n @Input({ transform: booleanAttribute }) loading = false;\n @Input({ transform: booleanAttribute }) asyncTable = false;\n @Input({ transform: booleanAttribute }) paginable = false;\n @Input({ transform: booleanAttribute }) euiTableResponsive = false;\n @Input({ transform: booleanAttribute }) euiTableFixedLayout = false;\n @Input({ transform: booleanAttribute }) euiTableDraggable = false;\n @Input({ transform: booleanAttribute }) euiTableCards = false;\n @Input({ transform: booleanAttribute }) euiTableBordered = false;\n @Input({ transform: booleanAttribute }) euiTableCompact = false;\n @Input({ transform: booleanAttribute }) hasStickyHeader = false;\n @Input({ transform: booleanAttribute }) hasStickyColumns = false;\n @Input({ transform: booleanAttribute }) isSelectOnlyVisibleRows = false;\n @Input({ transform: booleanAttribute }) isColsOrderable = false;\n @Input({ transform: booleanAttribute }) isHoverable = false;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() selectedRows = new EventEmitter<any[]>();\n @Output() sortChange = new EventEmitter<SortEvent>();\n @Output() multiSortChange = new EventEmitter<MultisortParam[]>();\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public headerTemplate: TemplateRef<any>;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public bodyTemplate: TemplateRef<any>;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public footerTemplate: TemplateRef<any>;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public emptyMessageTemplate: TemplateRef<any>;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public rowsRendered: any[] = [];\n\n public page = 0;\n public pageSize = 0;\n public showStickyHeader = false;\n public filteredRows = [];\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('theadRef') theadRef: ElementRef<HTMLElement>;\n @ViewChild('tbodyRef') tbodyRef: ElementRef<HTMLElement>;\n @ViewChild('tfootRef') tfootRef: ElementRef<HTMLElement>;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private rowsSrc: any = null;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private tableFeaturesHandlerSubscription = new Subscription();\n private selectRowsFeatureHandlerSubscription = new Subscription();\n private stickyFeatureHandlerIndex = 0;\n\n constructor(\n private euiTableSortService: EuiTableSortService,\n private cd: ChangeDetectorRef,\n private euiTableSelectableRowService: EuiTableSelectableRowService,\n private elementRef: ElementRef,\n private baseStatesDirective: BaseStatesDirective,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (!this.rows) {\n this.rows = [];\n }\n\n this.euiTableSelectableRowService.setPropId(this.propId);\n if (c && c.rows && c.rows.firstChange === false) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n\n // Go to first page only if length of data has changed. To avoid user to be on a page that no longer exist in case of filtering.\n const lengthChanged = this.rowsSrc.length !== c.rows.currentValue.length;\n\n this.rowsSrc = [...c.rows.currentValue];\n if (this.paginator && lengthChanged) {\n this.paginator.goFirstPage();\n }\n if (!this.asyncTable) {\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(c.rows.currentValue);\n this.tableFeaturesHandler();\n } else {\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(c.rows.currentValue);\n }\n }\n\n if (c && c.preselectedRows && c.preselectedRows.firstChange === false) {\n this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n }\n\n if (c && c.paginator?.currentValue) {\n this.paginator.setLength(this.rows.length);\n if (!c.paginator?.isFirstChange()) {\n this.paginator.goFirstPage();\n }\n } else {\n // this.rows can be changed anytime, then this else can be executed at that time, testing this.paginator allows to make sure\n // the user whants to disable pagination or change the datasource\n if (!this.paginator) {\n this.rowsRendered = this.rowsSrc ? this.rowsSrc : [...this.rows];\n this.page = 0;\n }\n }\n }\n\n ngOnInit(): void {\n this.rowsSrc = [...this.rows];\n }\n\n ngAfterContentInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'header') {\n this.headerTemplate = item.template;\n }\n if (item.getType() === 'body') {\n this.bodyTemplate = item.template;\n }\n if (item.getType() === 'footer') {\n this.footerTemplate = item.template;\n }\n if (item.getType() === 'emptyMessage') {\n this.emptyMessageTemplate = item.template;\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.asyncTable) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n this.tableFeaturesHandler();\n }\n\n this.euiTableSortService.sortingParams$\n .pipe(takeUntil(this.destroy$))\n .subscribe((sortingParams: { sort: string | null; order: string }) => {\n setTimeout(() => {\n this.sortChange.emit({ sort: sortingParams.sort, order: sortingParams.order });\n });\n });\n\n this.euiTableSortService.multisortParamsSort$.pipe(takeUntil(this.destroy$)).subscribe((multiSortParams: MultisortParam[]) => {\n setTimeout(() => {\n this.multiSortChange.emit(multiSortParams.filter((el) => el.position > 0));\n });\n });\n\n this.selectRowsFeatureHandler();\n\n setTimeout(() => {\n this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public selectAllRows(): void {\n this.euiTableSelectableRowService.selectAllRows();\n }\n\n public unselectAllRows(): void {\n this.euiTableSelectableRowService.unselectAllRows();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public selectRows(rows: any[]): void {\n this.euiTableSelectableRowService.selectRows(rows);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public filterRows(filter: string, r: any[]): any[] {\n const rows = filter\n ? r.filter((row) => {\n const matching = this.getProps(row, filter).filter((p) => p.match === true);\n return matching?.length > 0;\n })\n : r;\n\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(rows);\n\n this.filteredRows = rows;\n\n return rows;\n }\n\n public setSort(sort: string | null, order: 'asc' | 'desc' | null): void {\n this.euiTableSortService.setSort(sort, order);\n }\n\n private stickyFeatureHandler(): void {\n const timeout = this.stickyFeatureHandlerIndex === 0 ? 250 : 0;\n\n setTimeout(() => {\n const bodyTrItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));\n const containerWidth = this.elementRef.nativeElement?.parentElement?.clientWidth || 0;\n\n if (this.theadRef) {\n const thItems: HTMLTableCellElement[] = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));\n\n // Reset left & right position\n thItems.forEach((th: HTMLTableCellElement) => {\n th.style.left = null;\n th.style.right = null;\n });\n\n // Sticky First Cols & Last Cols\n const thItemsStickyFirstCol = thItems.filter((th) => th.offsetLeft + th.clientWidth < containerWidth);\n const thItemsStickyLastCol = thItems.filter((th) => th.offsetLeft + th.clientWidth > containerWidth);\n\n thItemsStickyFirstCol.forEach((th, i) => {\n const w = thItemsStickyFirstCol[i - 1]?.clientWidth;\n const l = parseInt(thItemsStickyFirstCol[i - 1]?.style.left, 10);\n th.style.left = (i === 0 ? 0 : w + l) + 'px';\n\n if (i + 1 === thItemsStickyFirstCol.length) {\n th.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n thItemsStickyLastCol.reverse().forEach((th, i) => {\n const w = thItemsStickyLastCol[i - 1]?.clientWidth;\n const r = parseInt(thItemsStickyLastCol[i - 1]?.style.right, 10);\n th.style.right = (i === 0 ? 0 : w + r) + 'px';\n\n if (i + 1 === thItemsStickyLastCol.length) {\n th.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n }\n\n bodyTrItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n tdItems.forEach((td) => {\n td.style.left = null;\n td.style.right = null;\n });\n });\n\n bodyTrItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n\n // Sticky First Cols\n const tdItemsStickyFirstCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth < containerWidth);\n tdItemsStickyFirstCol.forEach((td, i) => {\n const w = tdItemsStickyFirstCol[i - 1]?.clientWidth;\n const l = parseInt(tdItemsStickyFirstCol[i - 1]?.style.left, 10);\n td.style.left = (i === 0 ? 0 : w + l) + 'px';\n\n if (i + 1 === tdItemsStickyFirstCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n // Sticky Last Cols\n const tdItemsStickyLastCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth > containerWidth);\n tdItemsStickyLastCol.reverse().forEach((td, i) => {\n const w = tdItemsStickyLastCol[i - 1]?.clientWidth;\n const r = parseInt(tdItemsStickyLastCol[i - 1]?.style.right, 10);\n td.style.right = (i === 0 ? 0 : w + r) + 'px';\n\n if (i + 1 === tdItemsStickyLastCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n });\n\n if (this.tfootRef) {\n const tdItems: HTMLTableCellElement[] = Array.from(this.tfootRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));\n\n // Reset left & right position\n tdItems.forEach((th: HTMLTableCellElement) => {\n th.style.left = null;\n th.style.right = null;\n });\n\n // Sticky First Cols & Last Cols\n const tdItemsStickyFirstCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth < containerWidth);\n const tdItemsStickyLastCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth > containerWidth);\n\n tdItemsStickyFirstCol.forEach((td, i) => {\n const w = tdItemsStickyFirstCol[i - 1]?.clientWidth;\n const l = parseInt(tdItemsStickyFirstCol[i - 1]?.style.left, 10);\n td.style.left = (i === 0 ? 0 : w + l) + 'px';\n\n if (i + 1 === tdItemsStickyFirstCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n tdItemsStickyLastCol.reverse().forEach((td, i) => {\n const w = tdItemsStickyLastCol[i - 1]?.clientWidth;\n const r = parseInt(tdItemsStickyLastCol[i - 1]?.style.right, 10);\n td.style.right = (i === 0 ? 0 : w + r) + 'px';\n\n if (i + 1 === tdItemsStickyLastCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n }\n }, timeout);\n\n this.stickyFeatureHandlerIndex++;\n }\n\n private tableFeaturesHandler(): void {\n this.tableFeaturesHandlerSubscription = combineLatest([\n this.euiTableSortService.sortingParams$,\n this.paginator ? this.paginator.page$ : new BehaviorSubject(null),\n this.filter ? this.filter.filter$ : new BehaviorSubject(null),\n this.euiTableSortService.multisortParamsSort$,\n ])\n .pipe(takeUntil(this.destroy$))\n .subscribe(([sortingParams, pagination, filter, multisortParams]) => {\n let r = [...this.rowsSrc];\n if (sortingParams.order !== null && sortingParams.sort !== null) {\n const multisort = [];\n multisort.push(new MultisortParam(sortingParams.sort, sortingParams.order, 1));\n r = this.doMultiSort(multisort, r);\n }\n\n if (multisortParams.length > 0) {\n const sortableColumns = multisortParams.filter((col) => col.order !== null);\n if (sortableColumns.length > 0) {\n r = this.doMultiSort(sortableColumns, r);\n }\n }\n r = this.filterRows(filter, r);\n if (this.paginator) {\n this.paginator.setLength(r.length);\n r = this.paginateRows(pagination, r);\n }\n\n this.rowsRendered = r;\n this.stickyFeatureHandler();\n if (this.isSelectOnlyVisibleRows) {\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.unselectAllRows();\n this.euiTableSelectableRowService.addRows(this.rowsRendered);\n }\n\n this.cd.detectChanges();\n });\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private doMultiSort(multisortParams: MultisortParam[], r: any): any[] {\n r = this.multiSortRows(multisortParams, 1, r);\n return r;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private multiSortRows(multisortParams: MultisortParam[], currentPosition: number, r: any): any[] {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let rows: any[] = null;\n const colParams = multisortParams.find((col) => col.position === currentPosition);\n if (colParams.order === 'desc') {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rows = r.sort((a: any, b: any) => {\n if (this.isColumnSortable(a, b, multisortParams, currentPosition)) {\n return this.sortTwoRowsDesc(a, b, colParams.name);\n } else {\n return 0;\n }\n });\n } else {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rows = r.sort((a: any, b: any) => {\n if (this.isColumnSortable(a, b, multisortParams, currentPosition)) {\n return this.sortTwoRowsAsc(a, b, colParams.name);\n } else {\n return 0;\n }\n });\n }\n if (multisortParams.length === currentPosition) {\n return rows;\n } else {\n return this.multiSortRows(multisortParams, ++currentPosition, rows);\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private isColumnSortable(a: any, b: any, multisortParams: MultisortParam[], currentPosition: number): boolean {\n if (currentPosition === 1) return true;\n const colParams = multisortParams.find((col) => col.position === currentPosition - 1);\n const aCol = this.getObjPropValue(a, colParams.name);\n // typeof this.getObjProp(a, colParams.name) === 'string'\n // ? this.getObjProp(a, colParams.name).toLowerCase()\n // : this.getObjProp(a, colParams.name);\n const bCol = this.getObjPropValue(b, colParams.name);\n // typeof this.getObjProp(b, colParams.name) === 'string'\n // ? this.getObjProp(b, colParams.name).toLowerCase()\n // : this.getObjProp(b, colParams.name);\n if (aCol !== bCol) {\n return false;\n } else {\n if (currentPosition - 1 === 1) {\n return true;\n } else {\n return this.isColumnSortable(a, b, multisortParams, --currentPosition);\n }\n }\n }\n\n //This function is to do the sorting the table with the combination of 0,null and text in descending order.\n //getObjPropValue is to get the object property value\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private sortTwoRowsDesc(a: any, b: any, colName: string): number {\n const aSortOn = this.getObjPropValue(a, colName);\n const bSortOn = this.getObjPropValue(b, colName);\n if ((aSortOn === null || aSortOn === undefined) && bSortOn) {\n return 1;\n } else if (aSortOn && (bSortOn === null || bSortOn === undefined)) {\n return -1;\n } else if ((aSortOn === null || aSortOn === undefined) && (bSortOn === null || bSortOn === undefined)) {\n return 0;\n } else if ((aSortOn === null || aSortOn === undefined) && bSortOn === 0) {\n return 1;\n } else if (aSortOn === 0 && (bSortOn === null || bSortOn === undefined)) {\n return -1;\n } else {\n return aSortOn < bSortOn ? 1 : aSortOn > bSortOn ? -1 : 0;\n }\n }\n\n //This function is to do the sorting the table with the combination of 0,null and text in ascending order.\n //getObjPropValue is to get the object property value\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private sortTwoRowsAsc(a: any, b: any, colName: string): number {\n const aSortOn = this.getObjPropValue(a, colName);\n const bSortOn = this.getObjPropValue(b, colName);\n if ((aSortOn === null || aSortOn === undefined) && bSortOn) {\n return -1;\n } else if (aSortOn && (bSortOn === null || bSortOn === undefined)) {\n return 1;\n } else if ((aSortOn === null || aSortOn === undefined) && (bSortOn === null || bSortOn === undefined)) {\n return 0;\n } else if ((aSortOn === null || aSortOn === undefined) && bSortOn === 0) {\n return -1;\n } else if (aSortOn === 0 && (bSortOn === null || bSortOn === undefined)) {\n return 1;\n } else {\n return aSortOn < bSortOn ? -1 : aSortOn > bSortOn ? 1 : 0;\n }\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private getObjPropValue(obj: any, prop: string): any {\n const value = this.getObjProp(obj, prop);\n return typeof value === 'string' ? value.toLowerCase() : value;\n }\n\n private selectRowsFeatureHandler(): void {\n this.selectRowsFeatureHandlerSubscription = this.euiTableSelectableRowService.selectedRows$\n .pipe(takeUntil(this.destroy$))\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .subscribe((selected: any[]) => {\n this.selectedRows.emit(selected);\n });\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private getProps(obj: any[], filter: string): { key: string; match: boolean; value: string | number }[] {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const isObject = (val: any): boolean => val && typeof val === 'object';\n const addDelimiter = (a: string, b: string): string => (a && a !== '0' ? `${a}.${b}` : b);\n const props = [];\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const paths = (pathObj = {}, head = ''): any[] =>\n Object.entries(pathObj).reduce((product, [key, value]) => {\n const fullPath = addDelimiter(head, key);\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const match = (v: any): boolean =>\n v &&\n typeof v !== 'object' &&\n v\n ?.toString()\n .toLowerCase()\n .indexOf(filter?.trim().toLowerCase()) !== -1;\n\n if (key !== '0' && typeof value !== 'object') {\n props.push({ key: addDelimiter(head, key), match: match(value), value });\n }\n\n return isObject(value) ? product.concat(paths(value, fullPath)) : product.concat(fullPath);\n }, []);\n\n paths(obj);\n\n return props;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private paginateRows(pagination: PaginationEvent, r: any[]): any[] {\n this.page = pagination.page;\n this.pageSize = pagination.pageSize;\n\n return r.slice(this.page * this.pageSize, this.page * this.pageSize + this.pageSize);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private getObjProp(obj: any, prop: string): string {\n return prop ? prop.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), obj || self) : null;\n }\n}\n","@if (headerTemplate) {\n <thead #theadRef>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n}\n@if (bodyTemplate) {\n <tbody #tbodyRef>\n @for (row of rowsRendered; let i = $index; track $index) {\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i + page * pageSize }\">\n </ng-template>\n }\n\n @if (emptyMessageTemplate && rowsRendered.length === 0) {\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n }\n </tbody>\n}\n@if (footerTemplate) {\n <tfoot #tfootRef>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n}\n","import { Component, OnInit, OnDestroy, Input, HostBinding, ViewChild, numberAttribute, booleanAttribute } from '@angular/core';\nimport { Subject, combineLatest, takeUntil } from 'rxjs';\nimport { FormArray, FormGroup } from '@angular/forms';\n\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\n\nimport { EuiTableSortService } from '../services/eui-table-sort.service';\nimport { MultisortParam } from '../models/multi-sort.model';\n\n@Component({\n // eslint-disable-next-line\n selector: 'th[sortable]',\n templateUrl: './eui-table-sortable-col.component.html',\n standalone: false,\n})\nexport class EuiTableSortableColComponent implements OnInit, OnDestroy {\n @ViewChild(EuiDropdownComponent) dropdown: EuiDropdownComponent;\n @Input() sortOn: string;\n @Input() sortOrder: 'asc' | 'desc' = 'desc';\n @Input({ transform: numberAttribute }) defaultMultiOrder = null;\n @Input({ transform: booleanAttribute }) defaultOrder = false;\n @Input({ transform: booleanAttribute }) sortDisabled = false;\n @Input({ transform: booleanAttribute }) isMultiSortable = false;\n\n public order: 'asc' | 'desc' | null = 'desc';\n multisortParams: MultisortParam[] = [];\n currentMultiSortPosition = 0;\n error = false;\n form: FormGroup;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-table__sortable-col', this.sortDisabled ? 'eui-table__sortable-col--disabled' : ''].join(' ').trim();\n }\n\n constructor(private euiTableSortService: EuiTableSortService) {}\n\n ngOnInit(): void {\n if (this.isMultiSortable && !this.sortDisabled) {\n if (this.defaultMultiOrder > 0 && this.sortOrder) {\n this.euiTableSortService.addMultisortParam(new MultisortParam(this.sortOn, this.sortOrder, this.defaultMultiOrder));\n } else {\n this.euiTableSortService.addMultisortParam(new MultisortParam(this.sortOn, null, 0));\n }\n }\n\n combineLatest([this.euiTableSortService.sortingParams$, this.euiTableSortService.multisortParamsChange$])\n .pipe(takeUntil(this.destroy$))\n .subscribe(([sortingParams, multisortParams]) => {\n if (!this.isMultiSortable) {\n if (sortingParams.sort !== this.sortOn) {\n this.order = null;\n } else {\n this.order = sortingParams.order as ('asc' | 'desc');\n }\n } else {\n this.multisortParams = [...multisortParams];\n this.form = new FormGroup({ columns: this.euiTableSortService.toFormGroup(multisortParams) });\n if (sortingParams.order !== null && sortingParams.sort !== null) {\n this.currentMultiSortPosition = 0;\n if (sortingParams.sort !== this.sortOn) {\n this.order = null;\n } else {\n return;\n }\n } else {\n this.setCurrentMultisortPosition(multisortParams);\n }\n }\n });\n\n if (this.defaultOrder) {\n this.order = this.sortOrder;\n this.euiTableSortService.setSort(this.sortOn, this.order);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get columns(): FormArray {\n return this.form.controls['columns'] as FormArray;\n }\n\n public click(): void {\n if (!this.sortDisabled) {\n if (this.order === 'asc') {\n this.order = 'desc';\n } else if (this.order === 'desc') {\n this.order = null;\n } else if (this.order === null) {\n this.order = 'asc';\n }\n this.euiTableSortService.setSort(this.sortOn, this.order);\n }\n }\n\n onClickMultisortOrder(index: number, order: 'asc' | 'desc' | null): void {\n (this.form.get('columns') as FormArray).controls[index - 1].get('order').patchValue(order);\n }\n\n onOpenDropdown(): void {\n this.error = false;\n }\n\n getOrderByIndex(index: number): string | null {\n return (this.form.get('columns') as FormArray).controls[index].get('order').value;\n }\n\n onCancelMultiSort(): void {\n this.dropdown.closeDropdown();\n }\n\n onSubmitMultiSort(): void {\n const arr: Array<{ name: string; order: 'asc' | 'desc' | null }> = [];\n (this.form.get('columns') as FormArray).controls.forEach((el) => {\n if (el.get('name').value && el.get('order').value) {\n arr.push({ name: el.get('name').value, order: el.get('order').value });\n }\n });\n\n if (this.checkValidForSorting(arr)) {\n this.multisortParams.map((el) => this.setSortableParams(el, arr));\n this.euiTableSortService.setMultiSortColumns(this.multisortParams);\n this.dropdown.closeDropdown();\n } else {\n this.error = true;\n }\n }\n\n private setSortableParams(el: MultisortParam, arr: Array<{ name: string; order: 'asc' | 'desc' | null }>): MultisortParam {\n const currElArr = arr.find((item) => item.name === el.name);\n if (currElArr) {\n const index = arr.findIndex((item) => item.name === el.name);\n el.order = currElArr.order;\n el.position = index + 1;\n } else {\n el.order = null;\n el.position = 0;\n }\n return el;\n }\n\n private setCurrentMultisortPosition(multisortParams: MultisortParam[]): void {\n const currentColumn = multisortParams.find((el) => el.name === this.sortOn);\n if (currentColumn) {\n this.order = currentColumn.order;\n this.currentMultiSortPosition = currentColumn.position;\n } else {\n this.order = null;\n this.currentMultiSortPosition = 0;\n }\n }\n\n private checkValidForSorting(arr: Array<{ name: string; order: string }>): boolean {\n if (arr.length === 0) {\n return false;\n }\n return arr.find((el) => !this.isElementUniqueName(arr, el)) === undefined;\n }\n\n private isElementUniqueName(arr: Array<{ name: string; order: string }>, el: { name: string; order: string }): boolean {\n return arr.filter((col) => col.name === el.name).length === 1;\n }\n}\n","<div class=\"eui-table__sortable-col-content\">\n <ng-content></ng-content>\n @if (!sortDisabled) {\n <button type=\"button\" euiSizeS euiButton euiIconButton euiBasicButton class=\"eui-table__sortable-icon-button\" (click)=\"click()\">\n @if (!order) {\n <eui-icon-svg icon=\"swap-vertical:outline\" fillColor=\"neutral-lighter\" [aria-label]=\"'eui.euitable.NO-SORTING-ICON' | translate\"></eui-icon-svg>\n }\n @if (order === 'asc') {\n <eui-icon-svg icon=\"arrow-up:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n }\n @if (order === 'desc') {\n <eui-icon-svg icon=\"arrow-down:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n }\n </button>\n }\n @if (isMultiSortable) {\n <ng-template [ngTemplateOutlet]=\"sortDropdown\"></ng-template>\n }\n</div>\n<ng-template #sortDropdown let-index>\n <eui-dropdown [hasClosedOnClickInside]=\"false\">\n <button type=\"button\" euiButton euiBasicButton euiRounded euiIconButton euiSizeS [euiDisabled]=\"sortDisabled\" (click)=\"onOpenDropdown()\">\n <span euiBadge euiPrimary euiOutline>{{ currentMultiSortPosition }}</span>\n </button>\n <eui-dropdown-content>\n <div class=\"eui-u-pt-xs eui-u-pl-s\">\n <small>{{ 'eui.euitable.CHOOSE-SORT-ORDER' | translate }}</small>\n </div>\n @if (form) {\n <form [formGroup]=\"form\">\n <ng-container formArrayName=\"columns\">\n @for (columnForm of columns.controls; let i = $index; track $index) {\n <div class=\"eui-u-flex eui-u-p-s\" [formGroup]=\"form.get('columns')['controls'][i]\">\n <span euiLabel class=\"eui-u-mr-s\">{{ i + 1 }}</span>\n <select euiSelect euiSizeS formControlName=\"name\" class=\"eui-u-mr-s\">\n <option value=\"\"></option>\n @for (column of multisortParams; track $index) {\n <option [value]=\"column.name\">{{ column.name }}</option>\n }\n </select>\n @if (!getOrderByIndex(i)) {\n <button type=\"button\" euiSizeS euiSecondary euiButton euiIconButton euiBasicButton (click)=\"onClickMultisortOrder(i + 1, 'asc')\">\n <eui-icon-svg icon=\"swap-vertical:outline\" [aria-label]=\"'eui.euitable.NO-SORTING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n @if (getOrderByIndex(i) === 'asc') {\n <button type=\"button\" euiSizeS euiPrimary euiButton euiIconButton euiBasicButton (click)=\"onClickMultisortOrder(i + 1, 'desc')\">\n <eui-icon-svg icon=\"arrow-up:outline\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n @if (getOrderByIndex(i) === 'desc') {\n <button type=\"button\" euiSizeS euiPrimary euiButton euiIconButton euiBasicButton (click)=\"onClickMultisortOrder(i + 1, null)\">\n <eui-icon-svg icon=\"arrow-down:outline\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </ng-container>\n </form>\n }\n @if (error) {\n <p class=\"eui-u-mt-none eui-u-mb-none eui-u-ml-s\">\n <eui-feedback-message euiDanger>{{ 'eui.euitable.WRONG-SORT-PARAMS' | translate }}</eui-feedback-message>\n </p>\n }\n <div class=\"eui-u-flex eui-u-flex-justify-content-between eui-u-p-s\">\n <button type=\"button\" euiButton euiSizeS euiSecondary (click)=\"onCancelMultiSort()\">{{ 'eui.CANCEL' | translate }}</button>\n <button type=\"button\" euiButton euiSizeS euiPrimary (click)=\"onSubmitMultiSort()\">{{ 'eui.APPLY' | translate }}</button>\n </div>\n </eui-dropdown-content>\n </eui-dropdown>\n</ng-template>\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, HostBinding, ViewChild, ElementRef, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil, debounceTime, distinctUntilChanged } from 'rxjs';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-table-filter',\n templateUrl: './eui-table-filter.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [],\n },\n ],\n})\nexport class EuiTableFilterComponent implements OnInit, OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseStatesDirective.getCssClasses('eui-table__filter')].join(' ').trim();\n }\n\n @Input() placeholder: string;\n\n @Output() filterChange = new EventEmitter<string>();\n\n @ViewChild('filterInput', { read: ElementRef }) filterInput: ElementRef<HTMLInputElement>;\n\n public filter$: BehaviorSubject<string | null> = new BehaviorSubject(null);\n public form: FormGroup;\n\n @Input({ transform: booleanAttribute }) autoSearch = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private baseStatesDirective: BaseStatesDirective) {\n }\n\n ngOnInit(): void {\n this.form = new FormGroup({\n filter: new FormControl<string>(null),\n });\n\n this.form.get('filter').valueChanges.pipe(debounceTime(500), distinctUntilChanged(), takeUntil(this.destroy$)).subscribe((value) => {\n this.setFilter(value);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public setFilter(value: string): void {\n this.filter$.next(value);\n this.filterChange.emit(value);\n this.form.get('filter').setValue(value);\n }\n\n public resetFilter(): void {\n this.setFilter(null);\n this.form.reset();\n this.filterInput.nativeElement.focus();\n }\n}\n","<div class=\"eui-table__filter\">\n <form [formGroup]=\"form\">\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n <input #filterInput\n euiClearable\n euiInputText\n class=\"eui-table__filter-input\"\n formControlName=\"filter\"\n [attr.aria-label]=\"form.get('filter').value ? form.get('filter').value : placeholder\"\n placeholder=\"{{ placeholder }}\" />\n </eui-icon-input>\n </form>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'euiTableHighlightFilter',\n standalone: false,\n})\nexport class EuiTableHighlightFilterPipe implements PipeTransform {\n transform(value: string, strFilter: string, className = 'eui-table--highlighted'): string {\n if (strFilter && strFilter.length > 0) {\n const regex = new RegExp('(' + strFilter + ')', 'gi');\n return value.toString().replace(regex, '<span class=\"' + className + '\">$1</span>');\n } else {\n return value;\n }\n }\n}\n","import { Component, OnInit, Input, OnDestroy, OnChanges, HostBinding, HostListener, booleanAttribute } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isSelectable]',\n templateUrl: './eui-table-selectable-row.component.html',\n standalone: false,\n})\nexport class EuiTableSelectableRowComponent implements OnInit, OnDestroy, OnChanges {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() isSelectable: any;\n @Input({ transform: booleanAttribute }) isChecked = false;\n @Input({ transform: booleanAttribute }) isKeyboardSelectable = false;\n\n private propId = 'id';\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-table__row', this.isSelectable ? 'eui-table__row--selectable' : '', this.isChecked ? 'eui-table__row--selected' : '']\n .join(' ')\n .trim();\n }\n\n constructor(private euiTableSelectableRowService: EuiTableSelectableRowService) {}\n\n @HostListener('click', ['$event']) onClickRow(event: PointerEvent): void {\n if (this.isKeyboardSelectable && this.isSelectable) {\n if (event.ctrlKey) {\n if (!this.isChecked) {\n this.euiTableSelectableRowService.addSelectedRow(this.isSelectable);\n } else {\n this.euiTableSelectableRowService.removeSelectedRow(this.isSelectable);\n }\n } else if (event.shiftKey) {\n const rows = this.euiTableSelectableRowService.getRows();\n const lastSelectedRow = this.euiTableSelectableRowService.getLastSelectedRow();\n const lastSelectedRowPosition = rows.indexOf(lastSelectedRow);\n const position = rows.indexOf(this.isSelectable);\n\n const range =\n lastSelectedRowPosition > position\n ? rows.slice(position, lastSelectedRowPosition + 1)\n : rows.slice(lastSelectedRowPosition, position + 1);\n\n this.euiTableSelectableRowService.addSelectedRows(range);\n\n window.getSelection().empty();\n } else {\n this.euiTableSelectableRowService.selectRows([this.isSelectable]);\n }\n }\n }\n\n ngOnChanges(): void {\n if (this.isSelectable) {\n this.propId = this.euiTableSelectableRowService.getPropId();\n this.isChecked = this.euiTableSelectableRowService.selectedRows$.value.find(\n (s) => s[this.propId] === this.isSelectable[this.propId],\n )\n ? true\n : false;\n }\n }\n\n ngOnInit(): void {\n this.euiTableSelectableRowService.selectedRows$.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected.filter((s) => s[this.propId] === this.isSelectable[this.propId]).length > 0;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public toggleCheckedState(e: any): void {\n if (!this.isChecked) {\n this.euiTableSelectableRowService.addSelectedRow(this.isSelectable);\n } else {\n this.euiTableSelectableRowService.removeSelectedRow(this.isSelectable);\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n}\n","@if (isSelectable) {\n <td class=\"eui-table__cell-select\">\n <div class=\"eui-table__cell-select-checkbox-container\">\n @if (isChecked) {\n <input aria-label=\"default checkbox checked\" euiInputCheckBox checked=\"true\" (click)=\"toggleCheckedState($event)\" />\n }\n @if (!isChecked) {\n <input aria-label=\"default checkbox unchecked\" euiInputCheckBox checked=\"false\" (click)=\"toggleCheckedState($event)\" />\n }\n </div>\n </td>\n}\n<ng-content></ng-content>\n","import { Component, OnInit, Input, OnDestroy, ViewChild, ElementRef, booleanAttribute } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isSelectableHeader]',\n templateUrl: './eui-table-selectable-header.component.html',\n standalone: false,\n})\nexport class EuiTableSelectableHeaderComponent implements OnInit, OnDestroy {\n @ViewChild('checkbox') checkbox: ElementRef<HTMLInputElement>;\n\n public isCheckedIndeterminate = false;\n\n @Input({ transform: booleanAttribute }) isSelectableHeader = true;\n @Input({ transform: booleanAttribute }) isChecked = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private euiTableSelectableRowService: EuiTableSelectableRowService) {}\n\n ngOnInit(): void {\n this.euiTableSelectableRowService.isAllRowsSelected$.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected;\n if (this.checkbox) {\n this.checkbox.nativeElement.checked = selected;\n }\n\n if (!selected && this.euiTableSelectableRowService.selectedRows$.value.length > 0) {\n this.isCheckedIndeterminate = true;\n } else {\n this.isCheckedIndeterminate = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public toggleCheckedState(value: boolean): void {\n this.isChecked = value;\n\n if (this.isChecked) {\n this.euiTableSelectableRowService.selectAllRows();\n } else {\n this.euiTableSelectableRowService.unselectAllRows();\n }\n }\n}\n","@if (isSelectableHeader) {\n <th class=\"eui-table__cell-select\">\n <div class=\"eui-table__cell-select-checkbox-container\">\n @if (!isChecked && !isCheckedIndeterminate) {\n <input aria-label=\"Unchecked\" euiInputCheckBox checked=\"false\" (click)=\"toggleCheckedState(true)\" />\n }\n @if (isCheckedIndeterminate) {\n <input aria-label=\"Indeterminate\" euiInputCheckBox indeterminate (click)=\"toggleCheckedState(false)\" />\n }\n @if (isChecked && !isCheckedIndeterminate) {\n <input aria-label=\"Checked\" euiInputCheckBox checked=\"true\" (click)=\"toggleCheckedState(false)\" />\n }\n </div>\n </th>\n}\n\n<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[euiTableExpandableRow]',\n templateUrl: './eui-table-expandable-row.component.html',\n standalone: false,\n})\nexport class EuiTableExpandableRowComponent {\n @HostBinding('class') string = 'eui-table-expandable-row';\n}\n","<ng-content></ng-content>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[isStickyColumn]',\n standalone: false,\n})\nexport class EuiTableStickyColumnDirective {\n @HostBinding('class.eui-table__col--sticky') get stickyClass(): boolean {\n return true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiListModule } from '@eui/components/eui-list';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputCheckboxModule } from '@eui/components/eui-input-checkbox';\nimport { EuiSelectModule } from '@eui/components/eui-select';\nimport { EuiFeedbackMessageModule } from '@eui/components/eui-feedback-message';\nimport { EuiIconInputModule } from '@eui/components/eui-icon-input';\n\nimport { EuiTableComponent } from './eui-table.component';\nimport { EuiTableSortableColComponent } from './sortable-col/eui-table-sortable-col.component';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSelectableRowComponent } from './selectable-row/eui-table-selectable-row.component';\nimport { EuiTableSelectableHeaderComponent } from './selectable-header/eui-table-selectable-header.component';\nimport { EuiTableExpandableRowComponent } from './expandable-row/eui-table-expandable-row.component';\nimport { EuiTableHighlightFilterPipe } from './pipes/eui-table-highlight-filter.pipe';\nimport { EuiTableStickyColumnDirective } from './directives/eui-table-sticky-columns.directive';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n EuiIconModule,\n EuiListModule,\n EuiDropdownModule,\n EuiButtonModule,\n ReactiveFormsModule,\n EuiTemplateDirectiveModule,\n EuiInputTextModule,\n EuiInputCheckboxModule,\n EuiFeedbackMessageModule,\n EuiSelectModule,\n EuiIconInputModule,\n ],\n declarations: [\n EuiTableComponent,\n EuiTableSortableColComponent,\n EuiTableFilterComponent,\n EuiTableSelectableRowComponent,\n EuiTableSelectableHeaderComponent,\n EuiTableExpandableRowComponent,\n EuiTableHighlightFilterPipe,\n EuiTableStickyColumnDirective,\n ],\n exports: [\n EuiTableComponent,\n EuiTableSortableColComponent,\n EuiTableFilterComponent,\n EuiTableSelectableRowComponent,\n EuiTableSelectableHeaderComponent,\n EuiTableExpandableRowComponent,\n EuiTableHighlightFilterPipe,\n EuiTemplateDirectiveModule,\n EuiTableStickyColumnDirective,\n ],\n})\nexport class EuiTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiTableSortService","i2.EuiTableSelectableRowService","i2","i3","i4","i1","i5","i1.EuiTableSelectableRowService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eui/components",
3
- "version": "19.0.0-rc.3",
3
+ "version": "19.0.0-rc.4",
4
4
  "tag": "next",
5
5
  "description": "eUI components package",
6
6
  "homepage": "https://eui.ecdevops.eu",
@@ -10,8 +10,8 @@
10
10
  "url": "https://citnet.tech.ec.europa.eu/CITnet/stash/projects/CSDR/repos/eui"
11
11
  },
12
12
  "peerDependencies": {
13
- "@eui/core": "19.0.0-rc.3",
14
- "@eui/base": "19.0.0-rc.3",
13
+ "@eui/core": "19.0.0-rc.4",
14
+ "@eui/base": "19.0.0-rc.4",
15
15
  "@angular/common": "^18.0.0",
16
16
  "@angular/core": "^18.0.0",
17
17
  "@angular/forms": "^18.0.0",