@hazelcast/ui 1.3.3-next.24 → 1.3.3-next.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/Button.d.ts +2 -1
  2. package/lib/Button.js.map +1 -1
  3. package/lib/Icon.d.ts +2 -1
  4. package/lib/Icon.js +2 -2
  5. package/lib/Icon.js.map +1 -1
  6. package/lib/Pagination.js +9 -9
  7. package/lib/Pagination.js.map +1 -1
  8. package/lib/Table/Cell.d.ts +5 -3
  9. package/lib/Table/Cell.js +1 -1
  10. package/lib/Table/Cell.js.map +1 -1
  11. package/lib/Table/Cell.module.scss +11 -3
  12. package/lib/Table/CellWrapper.d.ts +6 -6
  13. package/lib/Table/CellWrapper.js +6 -6
  14. package/lib/Table/CellWrapper.js.map +1 -1
  15. package/lib/Table/EnhancedRenderers.d.ts +8 -10
  16. package/lib/Table/EnhancedRenderers.js +7 -10
  17. package/lib/Table/EnhancedRenderers.js.map +1 -1
  18. package/lib/Table/Header.d.ts +9 -5
  19. package/lib/Table/Header.js +12 -7
  20. package/lib/Table/Header.js.map +1 -1
  21. package/lib/Table/Header.module.scss +12 -7
  22. package/lib/Table/Row.d.ts +5 -3
  23. package/lib/Table/Row.js +4 -4
  24. package/lib/Table/Row.js.map +1 -1
  25. package/lib/Table/Row.module.scss +11 -12
  26. package/lib/Table/Table.d.ts +21 -36
  27. package/lib/Table/Table.js +102 -93
  28. package/lib/Table/Table.js.map +1 -1
  29. package/lib/Table/Table.module.scss +6 -0
  30. package/lib/Table/TableContent.d.ts +7 -7
  31. package/lib/Table/TableContent.js +20 -14
  32. package/lib/Table/TableContent.js.map +1 -1
  33. package/lib/Table/helpers.d.ts +2 -0
  34. package/lib/Table/helpers.js +10 -0
  35. package/lib/Table/helpers.js.map +1 -0
  36. package/lib/Table/tableTypes.d.ts +80 -0
  37. package/lib/Table/tableTypes.js +2 -0
  38. package/lib/Table/tableTypes.js.map +1 -0
  39. package/lib/Table/useTrackTableState.d.ts +3 -0
  40. package/lib/Table/useTrackTableState.js +30 -0
  41. package/lib/Table/useTrackTableState.js.map +1 -0
  42. package/lib/Table/utils.d.ts +16 -0
  43. package/lib/Table/utils.js +121 -0
  44. package/lib/Table/utils.js.map +1 -0
  45. package/lib/Tooltip.d.ts +1 -0
  46. package/lib/Tooltip.js +3 -3
  47. package/lib/Tooltip.js.map +1 -1
  48. package/lib/TruncatedText.d.ts +1 -0
  49. package/lib/TruncatedText.js +2 -2
  50. package/lib/TruncatedText.js.map +1 -1
  51. package/package.json +7 -6
  52. package/styles/typography/fonts/UbuntuMono-Bold.woff2 +0 -0
  53. package/styles/typography/fonts/UbuntuMono-BoldItalic.woff2 +0 -0
  54. package/styles/typography/fonts/UbuntuMono-Italic.woff2 +0 -0
  55. package/styles/typography/fonts/UbuntuMono-Regular.woff2 +0 -0
  56. package/styles/typography/ubuntu-mono.css +31 -0
@@ -2,11 +2,12 @@
2
2
  @use '../../styles/helpers' as h;
3
3
 
4
4
  @mixin rowBase {
5
- background-color: c.$colorNeutralLighter;
6
- margin-bottom: c.$grid * 1.25;
5
+ display: flex;
6
+ width: 100%;
7
7
  }
8
8
 
9
9
  .row {
10
+ @include c.typographyBodySmall;
10
11
  @include rowBase;
11
12
 
12
13
  &.clickable {
@@ -18,23 +19,24 @@
18
19
  // Do not remove outline for high-contrast modes
19
20
  // https://stackoverflow.com/a/52616313
20
21
  outline: c.$outlineWidth solid transparent;
21
- background-color: c.$colorInfoLight;
22
+ background-color: #e2e7fa;
22
23
  }
23
24
 
24
25
  &:hover {
25
- background-color: c.$colorInfoLight;
26
+ font-weight: bold;
27
+ background-color: #e2e7fa;
26
28
  }
27
29
  }
28
30
  }
29
31
 
30
32
  .linkRow {
31
- @include rowBase;
32
-
33
33
  cursor: pointer;
34
+ @include rowBase;
34
35
 
35
36
  .link {
36
37
  text-decoration: none;
37
38
  background-color: inherit;
39
+ @include rowBase;
38
40
 
39
41
  &:focus-visible {
40
42
  @include h.outlineSimple;
@@ -42,15 +44,12 @@
42
44
  // Do not remove outline for high-contrast modes
43
45
  // https://stackoverflow.com/a/52616313
44
46
  outline: c.$outlineWidth solid transparent;
45
- background-color: c.$colorInfoLight;
47
+ background-color: #e2e7fa;
46
48
  }
47
49
 
48
50
  &:hover {
49
- background-color: c.$colorInfoLight;
51
+ font-weight: bold;
52
+ background-color: #e2e7fa;
50
53
  }
51
54
  }
52
55
  }
53
-
54
- .headerRow {
55
- margin-bottom: c.$grid * 1.25;
56
- }
@@ -1,34 +1,11 @@
1
1
  import { DataTestProp } from '@hazelcast/helpers';
2
2
  import { AnchorHTMLAttributes, FC, ReactChild, ReactElement, ReactNode } from 'react';
3
- import { TableOptions, Row as RowType, Cell as CellType, Column as ColumnType, TableInstance, SortingRule } from 'react-table';
4
3
  import { PaginationProps } from '../Pagination';
5
4
  import { CellProps } from './Cell';
6
5
  import { RowProps } from './Row';
7
- export type { Accessor, Cell, Renderer, Row, CellProps, HeaderGroup, TableInstance, TableState } from 'react-table';
8
- export type Column<T extends object> = ColumnType<T> & {
9
- canHide?: boolean;
10
- };
11
- declare module 'react-table' {
12
- interface TableOptions<D extends object = {}> extends UsePaginationOptions<D & UseExpandedRowProps<D>>, UseSortByOptions<D>, UseFiltersOptions<D>, UseRowSelectOptions<D>, UseGroupByOptions<D>, UseExpandedOptions<D>, UseResizeColumnsOptions<D>, Record<string, any> {
13
- }
14
- interface Hooks<D extends object = {}> extends UseSortByHooks<D>, UseRowSelectHooks<D>, UseGroupByHooks<D> {
15
- }
16
- interface TableInstance<D extends object = {}> extends UsePaginationInstanceProps<D>, UseSortByInstanceProps<D>, UseFiltersInstanceProps<D>, UseRowSelectInstanceProps<D>, UseGroupByInstanceProps<D> {
17
- }
18
- interface TableState<D extends object = {}> extends UsePaginationState<D>, UseSortByState<D>, UseFiltersState<D>, UseRowSelectState<D>, UseGroupByState<D>, UseColumnOrderState<D>, UseResizeColumnsState<D> {
19
- }
20
- interface ColumnInterface<D extends object = {}> extends UseSortByColumnOptions<D>, UseFiltersColumnOptions<D>, UseGroupByColumnOptions<D>, UseResizeColumnsColumnOptions<D> {
21
- Footer?: string | Renderer<TableInstance<D>>;
22
- align?: 'left' | 'right' | 'center';
23
- }
24
- interface ColumnInstance<D extends object = {}> extends UseSortByColumnProps<D>, UseFiltersColumnProps<D>, UseGroupByColumnProps<D>, UseResizeColumnsColumnProps<D> {
25
- }
26
- interface Cell<D extends object = {}, V = any> extends UseGroupByCellProps<D>, UseRowStateCellProps<D> {
27
- }
28
- interface Row<D extends object = {}> extends UseGroupByRowProps<D>, UseRowSelectRowProps<D>, UseExpandedRowProps<D> {
29
- }
30
- }
6
+ import { CellType, ColumnType, InitialState, RowData, RowType, SortingRule, TableState } from './tableTypes';
31
7
  export type PaginationOptions = Partial<Pick<PaginationProps, 'pageSizeOptions'>>;
8
+ export * from './tableTypes';
32
9
  /**
33
10
  * `defaultPageSize` should be one of the values in `pageSizeOptions`.
34
11
  * If it's not it won't break anything but it is a bad UX
@@ -48,11 +25,10 @@ export type ControlledPaginationProps = {
48
25
  manualPagination?: boolean;
49
26
  onPaginationChange?: (paginationChangeProps: PaginationChangeProps) => void;
50
27
  };
51
- export type ControlledSortingProps<D extends object> = {
52
- manualSortBy?: boolean;
53
- onSortingChange?: (sortBy: SortingRule<D>[]) => void;
28
+ export type ControlledSortingProps = {
29
+ onSortingChange?: (sortBy: SortingRule[]) => void;
54
30
  };
55
- type CustomTableRowClickProps<D extends object> = {
31
+ type CustomTableRowClickProps<D extends RowData> = {
56
32
  onRowClick?: (rowInfo: RowType<D>) => void;
57
33
  getHref?: never;
58
34
  AnchorComponent?: never;
@@ -61,8 +37,9 @@ type CustomTableRowClickProps<D extends object> = {
61
37
  onRowClick?: never;
62
38
  AnchorComponent?: FC<AnchorHTMLAttributes<HTMLAnchorElement>>;
63
39
  };
64
- type CustomTableProps<D extends object> = {
40
+ type CustomTableProps<D extends RowData> = {
65
41
  loading?: boolean;
42
+ tableId?: string;
66
43
  overlayLoading?: boolean;
67
44
  className?: string;
68
45
  hideHeader?: boolean;
@@ -75,18 +52,24 @@ type CustomTableProps<D extends object> = {
75
52
  getCustomRowProps?: (rowInfo: RowType<D>) => RowProps;
76
53
  getCustomCellProps?: (cellInfo: CellType<D>) => CellProps;
77
54
  onRenderedContentChange?: (newPage: RowType<D>[]) => void;
78
- autoResetGlobalFilter?: boolean;
79
55
  pageIndex?: number;
80
56
  onPageChange?: (newPage: number) => void;
81
57
  onRowSelect?: (ids: string[]) => void;
82
58
  columnsOrdering?: boolean;
83
- children?: (table: ReactElement, tableInstance: TableInstance<D>) => ReactElement;
59
+ children?: (table: ReactElement) => ReactElement;
84
60
  renderRowSubComponent?: (props: RowType<D>) => ReactNode;
85
- canExpand?: (row: RowType<D>) => void;
61
+ canExpand?: (row: RowType<D>) => boolean;
86
62
  onCopy?: (data: (string | undefined)[][]) => void;
63
+ initialState?: InitialState;
64
+ onStateChange?: ((newState: TableState) => void) | null;
87
65
  } & CustomTableRowClickProps<D> & DataTestProp;
88
- export type TableProps<D extends object> = TableOptions<D> & ExtendedPaginationProps & ControlledPaginationProps & ControlledSortingProps<D> & CustomTableProps<D>;
89
- export type { ColumnType, RowType, CellType };
66
+ export type TableProps<D extends RowData> = {
67
+ data: D[];
68
+ columns: ColumnType<D>[];
69
+ pageCount?: number;
70
+ disableSortBy?: boolean;
71
+ pageSize?: number;
72
+ } & ExtendedPaginationProps & ControlledPaginationProps & ControlledSortingProps & CustomTableProps<D>;
90
73
  /**
91
74
  * ### Purpose
92
75
  * Table component allows to arrange data in rows and columns.
@@ -97,4 +80,6 @@ export type { ColumnType, RowType, CellType };
97
80
  * - Rows can be clickable. If you supply Table with `getHref` function rows will become <a> tags!
98
81
  * - Is able to resize columns out of the box
99
82
  */
100
- export declare const Table: <D extends object>({ "data-test": dataTest, autoResetSortBy, columns: propColumns, data, defaultColumn, disableSortBy, onPaginationChange, onSortingChange, manualPagination, manualSortBy, onRenderedContentChange, autoResetPage, hidePagination, pageCount: controlledPageCount, defaultPageSize, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomRowProps, getCustomCellProps, loading, noDataTitle, pageIndex: incomingPageIndex, initialState, className, headerClassName, contentClassName, footerClassName, searchValue, hideHeader, autoResetGlobalFilter, onPageChange, overlayLoading, onRowSelect, columnsOrdering, autoResetResize, autoResetSelectedRows, children, renderRowSubComponent, autoResetExpanded, onCopy, canExpand, }: TableProps<D>) => ReactElement;
83
+ export declare const Table: <D extends object & {
84
+ subRows?: D[] | undefined;
85
+ }>({ "data-test": dataTest, columns: propColumns, data, disableSortBy, onPaginationChange, onSortingChange, manualPagination, onRenderedContentChange, hidePagination, pageCount: controlledPageCount, defaultPageSize, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomRowProps, getCustomCellProps, loading, noDataTitle, pageIndex: incomingPageIndex, initialState, className, headerClassName, contentClassName, footerClassName, searchValue, hideHeader, onPageChange, overlayLoading, onRowSelect, columnsOrdering, children, renderRowSubComponent, onCopy, canExpand, onStateChange, }: TableProps<D>) => ReactElement;
@@ -1,11 +1,12 @@
1
+ import debounce from 'lodash/debounce';
1
2
  import React, { useCallback, useEffect, useRef, useMemo, useState, } from 'react';
2
3
  import cn from 'classnames';
3
4
  import { HotKeys } from 'react-hotkeys';
4
- import { useTable, usePagination, useSortBy, useAsyncDebounce, useResizeColumns, useFlexLayout, useGlobalFilter, useColumnOrder, useExpanded, } from 'react-table';
5
+ import { useReactTable, getCoreRowModel, getPaginationRowModel, getSortedRowModel, getExpandedRowModel, getFilteredRowModel, } from '@tanstack/react-table';
5
6
  import { AlertTriangle, ChevronDown, ChevronUp } from 'react-feather';
6
7
  import { Pagination } from '../Pagination';
7
8
  import { Cell } from './Cell';
8
- import { EnhancedHeaderFooterRenderer } from './EnhancedRenderers';
9
+ import { EnhancedCellRenderer, EnhancedHeaderFooterRenderer } from './EnhancedRenderers';
9
10
  import { Header } from './Header';
10
11
  import { HeaderRow, Row } from './Row';
11
12
  import { Loader } from '../Loader';
@@ -16,14 +17,11 @@ import { TableContent } from './TableContent';
16
17
  import { ROW_EXPANDER_COLUMN_ID } from './constants';
17
18
  import { useColumnsSelection, ContextMenu } from './features/columnsSelection';
18
19
  import { useRefValue } from '../hooks';
20
+ import { useTrackTableState } from './useTrackTableState';
21
+ import { getCellStyle, getColumnDef, getRowStyle, getTableInitialState, prepareRow } from './utils';
19
22
  import styles from './Table.module.scss';
20
23
  import styleConsts from '../../styles/constants/export.module.scss';
21
- const column = {
22
- // When using the useFlexLayout:
23
- minWidth: Number(styleConsts.tableColumnMinWidth),
24
- width: Number(styleConsts.tableColumnWidth),
25
- maxWidth: Number(styleConsts.tableColumnMaxWidth), // maxWidth is only used as a limit for resizing
26
- };
24
+ export * from './tableTypes';
27
25
  /**
28
26
  * ### Purpose
29
27
  * Table component allows to arrange data in rows and columns.
@@ -35,9 +33,11 @@ const column = {
35
33
  * - Is able to resize columns out of the box
36
34
  */
37
35
  // Inspiration here: https://react-table.tanstack.com/docs/examples/basic
38
- export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns: propColumns, data, defaultColumn = column, disableSortBy, onPaginationChange, onSortingChange, manualPagination, manualSortBy, onRenderedContentChange, autoResetPage = false, hidePagination = false, pageCount: controlledPageCount, defaultPageSize = 10, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomRowProps, getCustomCellProps, loading, noDataTitle = 'The table is empty', pageIndex: incomingPageIndex, initialState = { pageIndex: incomingPageIndex || 0, pageSize: defaultPageSize }, className = '', headerClassName = '', contentClassName = '', footerClassName = '', searchValue, hideHeader, autoResetGlobalFilter = false, onPageChange, overlayLoading, onRowSelect, columnsOrdering = false, autoResetResize = false, autoResetSelectedRows = false, children, renderRowSubComponent, autoResetExpanded = false, onCopy, canExpand, }) => {
36
+ export const Table = ({ 'data-test': dataTest, columns: propColumns, data, disableSortBy, onPaginationChange, onSortingChange, manualPagination, onRenderedContentChange, hidePagination = false, pageCount: controlledPageCount, defaultPageSize = 10, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomRowProps, getCustomCellProps, loading, noDataTitle = 'The table is empty', pageIndex: incomingPageIndex, initialState = { paginationOptions: { pageIndex: incomingPageIndex || 0, pageSize: defaultPageSize } }, className = '', headerClassName = '', contentClassName = '', footerClassName = '', searchValue, hideHeader, onPageChange, overlayLoading, onRowSelect, columnsOrdering = false, children, renderRowSubComponent, onCopy, canExpand, onStateChange, }) => {
39
37
  var _a;
40
38
  const getOncopy = useRefValue(onCopy);
39
+ const getCanExpand = useRefValue(canExpand);
40
+ const getRenderRowSubComponent = useRefValue(renderRowSubComponent);
41
41
  const [contextMenuAnchorEl, setContextMenuAnchorEl] = useState(null);
42
42
  const draggedColumnRef = useRef(null);
43
43
  const previousIncomingPageIndex = usePrevious(incomingPageIndex);
@@ -53,76 +53,94 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
53
53
  }, [onCopy]);
54
54
  const columns = useMemo(() => {
55
55
  if (renderRowSubComponent || data.some((item) => 'subRows' in item)) {
56
- return [
57
- {
58
- width: 60,
59
- disableResizing: true,
60
- id: ROW_EXPANDER_COLUMN_ID,
61
- Header: () => React.createElement("span", { role: "contentinfo", "aria-label": "row-expander-column-header" }),
62
- Cell: ({ row }) => {
63
- if ((row.canExpand || renderRowSubComponent) && (!canExpand || (canExpand && canExpand(row)))) {
64
- const rowProps = row.getToggleRowExpandedProps();
65
- return (
66
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events
67
- React.createElement("div", { tabIndex: 0, role: "button", "data-test": "row-expander", className: styles.expander, ...rowProps, onClick: (e) => {
68
- e.preventDefault();
69
- rowProps.onClick(e);
70
- } },
71
- React.createElement(Icon, { icon: row.isExpanded ? ChevronUp : ChevronDown, ariaLabel: "row-expander" })));
72
- }
73
- return null;
74
- },
56
+ const expander = {
57
+ width: 60,
58
+ disableResizing: true,
59
+ id: ROW_EXPANDER_COLUMN_ID,
60
+ Header: () => React.createElement("span", { role: "contentinfo", "aria-label": "row-expander-column-header" }),
61
+ Cell: ({ row }) => {
62
+ if (row.getCanExpand()) {
63
+ return (
64
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events
65
+ React.createElement("div", { tabIndex: 0, role: "button", "data-test": "row-expander", "aria-expanded": row.getIsExpanded(), className: styles.expander, onClick: (e) => {
66
+ e.preventDefault();
67
+ row.getToggleExpandedHandler()();
68
+ } },
69
+ React.createElement(Icon, { icon: row.getIsExpanded() ? ChevronUp : ChevronDown, ariaLabel: "row-expander" })));
70
+ }
71
+ return React.createElement(React.Fragment, null, null);
75
72
  },
76
- ...propColumns,
77
- ];
73
+ };
74
+ return [expander, ...propColumns].map(getColumnDef);
78
75
  }
79
- return propColumns;
80
- }, [propColumns, canExpand, data, renderRowSubComponent]);
81
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
82
- const onPaginationChangeDebounced = useAsyncDebounce(onPaginationChange, 200);
83
- const tableInstance = useTable({
76
+ return propColumns.map(getColumnDef);
77
+ }, [propColumns, data, renderRowSubComponent]);
78
+ const defaultColumn = useMemo(() => ({
79
+ cell: (props) => React.createElement(EnhancedCellRenderer, { cell: props.cell, columnResizing: props.column.getIsResizing() }),
80
+ minSize: Number(styleConsts.tableColumnMinWidth),
81
+ size: Number(styleConsts.tableColumnWidth),
82
+ maxSize: Number(styleConsts.tableColumnMaxWidth), // maxWidth is only used as a limit for resizing
83
+ }), []);
84
+ const tableInitialState = useMemo(() => getTableInitialState(initialState), [initialState]);
85
+ const tableInstance = useReactTable({
84
86
  columns,
85
87
  data,
86
- disableSortBy,
87
- disableMultiSort: true,
88
- // https://react-table.tanstack.com/docs/faq#how-do-i-stop-my-table-state-from-automatically-resetting-when-my-data-changes
89
- autoResetSortBy,
88
+ enableSorting: !disableSortBy,
89
+ enableMultiSort: false,
90
90
  // Pass our hoisted table state
91
- initialState,
91
+ initialState: tableInitialState,
92
92
  // Tell the usePagination hook that we'll handle our own data fetching
93
93
  manualPagination: manualPagination,
94
- manualSortBy,
95
94
  // This means we'll also have to provide our own pageCount
96
95
  pageCount: controlledPageCount,
97
- autoResetPage,
98
96
  defaultColumn,
99
- autoResetGlobalFilter,
100
- autoResetResize,
101
- autoResetSelectedRows,
102
- autoResetExpanded,
97
+ columnResizeMode: 'onChange',
103
98
  paginateExpandedRows: false,
104
- }, useGlobalFilter, useSortBy, useExpanded, usePagination, useFlexLayout, useResizeColumns, useColumnOrder);
105
- const { getTableProps, headerGroups, footerGroups, prepareRow, page, visibleColumns, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage, setPageSize,
106
- // Get the state from the instance
107
- state: { pageIndex, pageSize, sortBy, columnResizing, selectedRowIds, hiddenColumns }, setGlobalFilter, setColumnOrder, } = tableInstance;
99
+ getSubRows: useCallback((row) => row.subRows, []),
100
+ getRowCanExpand: useCallback((row) => {
101
+ var _a;
102
+ const cb = getCanExpand();
103
+ if (cb) {
104
+ return cb(prepareRow(row));
105
+ }
106
+ if (getRenderRowSubComponent()) {
107
+ return true;
108
+ }
109
+ return ((_a = row.subRows) === null || _a === void 0 ? void 0 : _a.length) > 0;
110
+ }, [getCanExpand, getRenderRowSubComponent]),
111
+ getCoreRowModel: getCoreRowModel(),
112
+ getPaginationRowModel: getPaginationRowModel(),
113
+ getSortedRowModel: getSortedRowModel(),
114
+ getExpandedRowModel: getExpandedRowModel(),
115
+ getFilteredRowModel: getFilteredRowModel(),
116
+ });
117
+ const { getVisibleFlatColumns, nextPage, setPageIndex: goToPage, getRowCount, getState, previousPage, setPageSize, setGlobalFilter, setColumnOrder, getPageCount, getCanNextPage, getCanPreviousPage, getFooterGroups, } = tableInstance;
118
+ useTrackTableState(tableInstance, onStateChange);
119
+ const footerGroups = getFooterGroups();
120
+ const page = tableInstance.getPaginationRowModel().rows;
121
+ const rowsPerPage = getRowCount();
122
+ const pageCount = getPageCount();
123
+ const { sorting: sortBy, columnOrder, columnSizing: columnResizing, rowSelection: selectedRowIds, pagination: { pageIndex, pageSize }, } = getState();
124
+ const getColumnOrder = useRefValue(columnOrder);
108
125
  // drag and drop
109
126
  const onDragStart = useCallback((e) => {
110
127
  draggedColumnRef.current = Number(e.dataTransfer.getData('text/plain'));
111
128
  }, []);
112
- const onDrop = useCallback((e, columnIndex) => {
129
+ const onDrop = useCallback((_, columnIndex) => {
113
130
  if (draggedColumnRef.current !== null && columnIndex !== draggedColumnRef.current) {
131
+ const visibleColumns = getColumnOrder() || getVisibleFlatColumns().map(({ id }) => id);
114
132
  const newColumns = [...visibleColumns];
115
133
  newColumns[columnIndex] = visibleColumns[draggedColumnRef.current];
116
134
  newColumns[draggedColumnRef.current] = visibleColumns[columnIndex];
117
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
118
- setColumnOrder(newColumns.map(({ id, accessor }) => (id || accessor)));
135
+ setColumnOrder(newColumns);
119
136
  }
120
- }, [visibleColumns, setColumnOrder]);
137
+ }, [getColumnOrder, getVisibleFlatColumns, setColumnOrder]);
121
138
  const columnsSelectionProps = useColumnsSelection({
122
- rowsPerPage: page.length,
139
+ rowsPerPage,
123
140
  columnsPerRow: columns.length,
124
141
  });
125
142
  const { onEndSelection, getSelectedColumns, selectedColumnValuesRef } = columnsSelectionProps;
143
+ const onPaginationChangeDebounced = useMemo(() => (onPaginationChange ? debounce(onPaginationChange, 200) : undefined), [onPaginationChange]);
126
144
  const onKeyUp = useCallback(() => {
127
145
  const callback = getOncopy();
128
146
  if (callback) {
@@ -147,25 +165,23 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
147
165
  }, [onKeyUp, onEndSelection]);
148
166
  // Listen for changes in pagination and use the state to fetch new data. This is a recommended way to fetch new data: https://react-table.tanstack.com/docs/faq#how-can-i-use-the-table-state-to-fetch-new-data
149
167
  useEffect(() => {
150
- if (onPaginationChange) {
168
+ if (onPaginationChangeDebounced) {
151
169
  onPaginationChangeDebounced({ pageIndex, pageSize });
152
170
  }
153
- }, [onPaginationChange, onPaginationChangeDebounced, pageIndex, pageSize]);
171
+ }, [onPaginationChangeDebounced, pageIndex, pageSize]);
154
172
  useEffect(() => {
155
173
  if (onSortingChange) {
156
174
  onSortingChange(sortBy);
157
175
  }
158
176
  }, [sortBy, onSortingChange]);
159
177
  // Debounce our `fetchData` call for 200ms.
160
- // We can use non-null assertion here since we're checking existence of `fetchData` in the `useEffect` below
161
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
162
- const onRenderedContentChangeDebounced = useAsyncDebounce(onRenderedContentChange, 200);
178
+ const onRenderedContentChangeDebounced = useMemo(() => (onRenderedContentChange ? debounce(onRenderedContentChange, 200) : undefined), [onRenderedContentChange]);
163
179
  // Listen for changes in pagination and use the state to fetch new data. This is a recommended way to fetch new data: https://react-table.tanstack.com/docs/faq#how-can-i-use-the-table-state-to-fetch-new-data
164
180
  useEffect(() => {
165
- if (onRenderedContentChange) {
166
- onRenderedContentChangeDebounced(page);
181
+ if (onRenderedContentChangeDebounced) {
182
+ onRenderedContentChangeDebounced(page.map(prepareRow));
167
183
  }
168
- }, [onRenderedContentChange, onRenderedContentChangeDebounced, page]);
184
+ }, [onRenderedContentChangeDebounced, page]);
169
185
  // Apply global filter when searchValue changes
170
186
  useEffect(() => {
171
187
  if (searchValue !== undefined) {
@@ -175,14 +191,14 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
175
191
  }, [searchValue, setGlobalFilter]);
176
192
  useEffect(() => {
177
193
  if (pageCount < pageIndex + 1) {
178
- gotoPage(pageCount - 1);
194
+ goToPage(pageCount - 1);
179
195
  }
180
- }, [pageIndex, pageCount, gotoPage]);
196
+ }, [pageIndex, pageCount, goToPage]);
181
197
  useEffect(() => {
182
198
  if (incomingPageIndex !== undefined && incomingPageIndex !== previousIncomingPageIndex) {
183
- gotoPage(incomingPageIndex);
199
+ goToPage(incomingPageIndex);
184
200
  }
185
- }, [gotoPage, incomingPageIndex, previousIncomingPageIndex]);
201
+ }, [goToPage, incomingPageIndex, previousIncomingPageIndex]);
186
202
  useEffect(() => {
187
203
  if (onRowSelect) {
188
204
  onRowSelect(Object.keys(selectedRowIds));
@@ -190,58 +206,51 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
190
206
  }, [onRowSelect, selectedRowIds]);
191
207
  const hasData = data.length > 0;
192
208
  // If at least one of the columns has footer then we display the footer row
193
- const hasFooter = !loading && hasData && columns.some((col) => !!col.Footer);
209
+ const hasFooter = !loading && hasData && columns.some((col) => !!col.footer);
194
210
  // Header row has always aria-rowindex = 1.
195
211
  const headerIndex = 1;
196
212
  // We're using this offset to display correct aria-rowindex when pagination is in action.
197
213
  const cellIndexOffset = pageSize * pageIndex + headerIndex;
198
214
  // Total row count.
199
215
  const rowCount = data.length + headerIndex + (hasFooter ? 1 : 0);
200
- const contentColumns = useMemo(() => {
201
- if (!hiddenColumns || hiddenColumns.length === 0) {
202
- return columns;
203
- }
204
- return columns.filter((col) => hiddenColumns === null || hiddenColumns === void 0 ? void 0 : hiddenColumns.includes((col.id || col.Header)));
205
- }, [columns, hiddenColumns]);
206
216
  const content = (React.createElement(React.Fragment, null,
207
217
  React.createElement("div", { "data-test": dataTest !== null && dataTest !== void 0 ? dataTest : 'table-wrapper', className: className },
208
218
  React.createElement("div", { className: cn(styles.container, {
209
219
  [styles.spaceBottom]: !hidePagination,
210
220
  }) },
211
- React.createElement("div", { "data-test": "table", ...getTableProps(), "aria-rowcount": rowCount },
212
- !hideHeader && (React.createElement("div", { "data-test": "table-header-row-group", role: "rowgroup", className: headerClassName }, headerGroups.map((headerGroup) => {
213
- const { key: headerGroupKey, ...restHeaderGroupProps } = headerGroup.getHeaderGroupProps();
214
- return (React.createElement(HeaderRow, { key: headerGroupKey, ...restHeaderGroupProps, ariaRowIndex: headerIndex }, headerGroup.headers.map((column, i) => {
215
- const { key: columnKey, ...restHeaderProps } = column.getHeaderProps(column.getSortByToggleProps());
216
- const isDraggable = columnsOrdering && column.id !== 'expander';
217
- return (React.createElement(Header, { index: i, key: columnKey, align: column.align, canSort: column.canSort, isSorted: column.isSorted, isSortedDesc: column.isSortedDesc, canResize: column.canResize, isResizing: column.isResizing, getResizerProps: column.getResizerProps, onDrop: isDraggable ? onDrop : undefined, onDragStart: onDragStart, ...restHeaderProps },
218
- React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Header" })));
219
- })));
220
- }))),
221
+ React.createElement("div", { "data-test": "table", role: "table", "aria-rowcount": rowCount },
222
+ !hideHeader && (React.createElement("div", { "data-test": "table-header-row-group", role: "rowgroup", className: headerClassName }, tableInstance.getHeaderGroups().map((headerGroup) => (React.createElement(HeaderRow, { key: headerGroup.id, role: "row", ariaRowIndex: headerIndex, style: getRowStyle({ totalSize: tableInstance.getTotalSize() }) }, headerGroup.headers.map((header, i) => {
223
+ var _a, _b;
224
+ const canSort = header.column.getCanSort();
225
+ const isDraggable = columnsOrdering && header.id !== 'expander';
226
+ return (React.createElement(Header, { index: i, colSpan: 1, key: header.id, role: "columnheader", onDragStart: onDragStart, style: getCellStyle({ size: header.getSize(), minSize: header.column.columnDef.minSize || header.getSize() }), canSort: canSort, isSorted: !!header.column.getIsSorted(), isSortedDesc: (_a = sortBy[header.column.getSortIndex()]) === null || _a === void 0 ? void 0 : _a.desc, canResize: header.column.getCanResize(), onDrop: isDraggable ? onDrop : undefined, resizeHandler: header.getResizeHandler(), isResizing: header.column.getIsResizing(), align: (_b = header.column.columnDef.meta) === null || _b === void 0 ? void 0 : _b.align, onClick: canSort ? header.column.getToggleSortingHandler() : undefined },
227
+ React.createElement(EnhancedHeaderFooterRenderer, { type: "header", context: header.getContext() })));
228
+ })))))),
221
229
  !overlayLoading && loading ? (React.createElement(Row, { role: "row" },
222
230
  React.createElement(Cell, { role: "cell", align: "center", colSpan: columns.length, "data-test": "table-loader-cell" },
223
231
  React.createElement(Loader, null)))) : hasData ? (React.createElement(HotKeys, { role: "rowgroup", "data-test": "table-cell-row-group", keyMap: commands, handlers: hotKeysHandlers, className: styles.hotKeys },
224
- React.createElement(TableContent, { page: page, onCopy: onCopy, getHref: getHref, columns: contentColumns, rootRef: setContextMenuAnchorEl, ...columnsSelectionProps, onRowClick: onRowClick, prepareRow: prepareRow, className: contentClassName, columnResizing: columnResizing, AnchorComponent: AnchorComponent, cellIndexOffset: cellIndexOffset, getCustomRowProps: getCustomRowProps, getCustomCellProps: getCustomCellProps, renderRowSubComponent: renderRowSubComponent }))) : (React.createElement("div", { role: "row" },
232
+ React.createElement(TableContent, { page: page, onCopy: onCopy, getHref: getHref, totalSize: tableInstance.getTotalSize(), rootRef: setContextMenuAnchorEl, ...columnsSelectionProps, onRowClick: onRowClick, className: contentClassName, columnResizing: columnResizing, AnchorComponent: AnchorComponent, cellIndexOffset: cellIndexOffset, getCustomRowProps: getCustomRowProps, getCustomCellProps: getCustomCellProps, renderRowSubComponent: renderRowSubComponent }))) : (React.createElement("div", { role: "row" },
225
233
  React.createElement("div", { role: "cell" },
226
234
  React.createElement(EmptyState, { "data-test": "table-no-data", className: styles.empty, title: noDataTitle, icon: AlertTriangle, iconLabel: "Alert" })))),
227
235
  hasFooter && (React.createElement("div", { "data-test": "table-footer-row-group", role: "rowgroup", className: footerClassName }, footerGroups.map((group) => {
228
- const { key: footerGroupKey, ...restFooterGroupProps } = group.getFooterGroupProps();
236
+ const { id: footerGroupKey } = group;
229
237
  return (
230
238
  // Footer props getters do not provide role attributes
231
- React.createElement(Row, { key: footerGroupKey, ariaRowIndex: rowCount, ...restFooterGroupProps, role: "row" }, group.headers.map((column) => {
232
- const { key: footerKey, ...restFooterProps } = column.getFooterProps();
239
+ React.createElement(Row, { key: footerGroupKey, ariaRowIndex: rowCount, style: getRowStyle({ totalSize: tableInstance.getTotalSize() }), role: "row" }, group.headers.map((column) => {
240
+ var _a;
241
+ const { id: footerKey, column: { columnDef }, } = column;
233
242
  return (
234
243
  // Footer props getters do not provide role attributes
235
- React.createElement(Cell, { key: footerKey, ...restFooterProps, align: column.align, role: "cell" },
236
- React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Footer" })));
244
+ React.createElement(Cell, { key: footerKey, colSpan: 1, align: (_a = columnDef.meta) === null || _a === void 0 ? void 0 : _a.align, style: getCellStyle({ size: column.getSize(), maxSize: columnDef.maxSize, minSize: columnDef.minSize }), role: "cell" },
245
+ React.createElement(EnhancedHeaderFooterRenderer, { context: column.getContext(), type: "footer" })));
237
246
  })));
238
247
  }))))),
239
- !hidePagination && hasData && (React.createElement(Pagination, { pageCount: pageCount, currentPage: pageIndex + 1, canPreviousPage: canPreviousPage, canNextPage: canNextPage, goToPage: (p) => {
248
+ !hidePagination && hasData && (React.createElement(Pagination, { pageCount: pageCount, currentPage: pageIndex + 1, canPreviousPage: getCanPreviousPage(), canNextPage: getCanNextPage(), goToPage: (p) => {
240
249
  if (onPageChange) {
241
250
  onPageChange(p - 1);
242
251
  }
243
252
  else {
244
- gotoPage(p - 1);
253
+ goToPage(p - 1);
245
254
  }
246
255
  }, nextPage: () => {
247
256
  if (onPageChange) {
@@ -260,7 +269,7 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
260
269
  }, pageSize: pageSize, setPageSize: setPageSize, numberOfItems: data.length, pageSizeOptions: (_a = paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.pageSizeOptions) !== null && _a !== void 0 ? _a : [5, 10, 20] }))),
261
270
  onCopy && React.createElement(ContextMenu, { anchorElement: contextMenuAnchorEl, onCopy: onKeyUp })));
262
271
  if (children) {
263
- return children(content, tableInstance);
272
+ return children(content);
264
273
  }
265
274
  return content;
266
275
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@
4
4
  .container {
5
5
  display: block;
6
6
  overflow-x: auto;
7
+ border: c.$borderWidth solid #d4d4d4;
8
+ border-radius: c.$borderRadius;
7
9
 
8
10
  &.spaceBottom {
9
11
  margin-bottom: c.$grid * 2;
@@ -15,6 +17,10 @@
15
17
  }
16
18
 
17
19
  .expander {
20
+ &:hover {
21
+ cursor: pointer;
22
+ }
23
+
18
24
  &:focus-visible {
19
25
  @include h.outlineSimple;
20
26
  }
@@ -1,26 +1,26 @@
1
1
  import { AnchorHTMLAttributes, FC, LegacyRef, MutableRefObject, ReactNode } from 'react';
2
- import { Cell as CellType, Row as RowType, Column, UseResizeColumnsState } from 'react-table';
2
+ import { Row as TableRow, ColumnSizingState } from '@tanstack/react-table';
3
3
  import { CellProps } from './Cell';
4
+ import { CellType, RowData, RowType } from './tableTypes';
4
5
  import { RowProps } from './Row';
5
6
  import { useColumnsSelection } from './features/columnsSelection';
6
- export type TableContentProps<D extends object> = {
7
+ export type TableContentProps<D extends RowData> = {
7
8
  loading?: boolean;
8
- page: RowType<D>[];
9
+ page: TableRow<D>[];
9
10
  className?: string;
10
11
  rootRef?: LegacyRef<HTMLDivElement>;
11
12
  cellIndexOffset: number;
12
13
  overlayLoading?: boolean;
13
14
  onEndSelection: () => void;
14
- columns: readonly Column<D>[];
15
15
  onCopy?: (value: string[][]) => void;
16
- prepareRow: (row: RowType<D>) => void;
17
16
  onRowClick?: (row: RowType<D>) => void;
17
+ totalSize: number;
18
18
  selectionStartedRef: MutableRefObject<boolean>;
19
19
  getHref?: (row: RowType<D>) => string | undefined;
20
20
  getCustomRowProps?: (row: RowType<D>) => RowProps;
21
- renderRowSubComponent?: (props: RowType<D>) => ReactNode;
22
21
  getCustomCellProps?: (cellInfo: CellType<D>) => CellProps;
23
- columnResizing: UseResizeColumnsState<D>['columnResizing'];
22
+ renderRowSubComponent?: (props: RowType<D>) => ReactNode;
23
+ columnResizing: ColumnSizingState;
24
24
  AnchorComponent?: FC<AnchorHTMLAttributes<HTMLAnchorElement>>;
25
25
  } & ReturnType<typeof useColumnsSelection>;
26
26
  export declare const TableContent: <D extends object>(props: TableContentProps<D>) => JSX.Element;