@hazelcast/ui 1.3.1 → 1.3.2-next.12

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 (52) hide show
  1. package/lib/AutocompleteField.d.ts +1 -0
  2. package/lib/AutocompleteField.js +6 -3
  3. package/lib/AutocompleteField.js.map +1 -1
  4. package/lib/Calendar/Calendar.d.ts +2 -0
  5. package/lib/Calendar/Calendar.js +5 -5
  6. package/lib/Calendar/Calendar.js.map +1 -1
  7. package/lib/Checkbox.d.ts +2 -1
  8. package/lib/Checkbox.js +2 -2
  9. package/lib/Checkbox.js.map +1 -1
  10. package/lib/Code.d.ts +1 -0
  11. package/lib/Code.js +2 -2
  12. package/lib/Code.js.map +1 -1
  13. package/lib/CodeEditor.d.ts +1 -0
  14. package/lib/CodeEditor.js +2 -2
  15. package/lib/CodeEditor.js.map +1 -1
  16. package/lib/FieldHeader.js +3 -3
  17. package/lib/FieldHeader.js.map +1 -1
  18. package/lib/Link.d.ts +2 -1
  19. package/lib/Link.js +3 -2
  20. package/lib/Link.js.map +1 -1
  21. package/lib/Link.module.scss +12 -2
  22. package/lib/Popover.d.ts +2 -0
  23. package/lib/Popover.js +10 -5
  24. package/lib/Popover.js.map +1 -1
  25. package/lib/Select/SelectField.d.ts +1 -0
  26. package/lib/Select/SelectField.js +9 -2
  27. package/lib/Select/SelectField.js.map +1 -1
  28. package/lib/Table/Header.d.ts +4 -1
  29. package/lib/Table/Header.js +46 -7
  30. package/lib/Table/Header.js.map +1 -1
  31. package/lib/Table/Header.module.scss +19 -0
  32. package/lib/Table/Table.d.ts +19 -6
  33. package/lib/Table/Table.js +161 -36
  34. package/lib/Table/Table.js.map +1 -1
  35. package/lib/Table/Table.module.scss +23 -0
  36. package/lib/Tabs/Tab.d.ts +18 -4
  37. package/lib/Tabs/Tab.js +15 -4
  38. package/lib/Tabs/Tab.js.map +1 -1
  39. package/lib/Tooltip.d.ts +2 -2
  40. package/lib/Tooltip.js +2 -12
  41. package/lib/Tooltip.js.map +1 -1
  42. package/lib/hooks/useTableCustomizableColumns.d.ts +9 -8
  43. package/lib/hooks/useTableCustomizableColumns.js +15 -17
  44. package/lib/hooks/useTableCustomizableColumns.js.map +1 -1
  45. package/lib/utils/portal.d.ts +2 -0
  46. package/lib/utils/portal.js +15 -0
  47. package/lib/utils/portal.js.map +1 -0
  48. package/package.json +2 -2
  49. package/lib/Calendar/components/CalendarHeader.tsx +0 -45
  50. package/lib/Calendar/components/CalendarInput.tsx +0 -50
  51. package/lib/Calendar/components/CalendarTime.tsx +0 -117
  52. package/lib/Calendar/helpers/consts.ts +0 -99
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/Table/Header.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/Table/Header.tsx"],"names":[],"mappings":"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"}
@@ -59,6 +59,12 @@
59
59
  &.alignCenter {
60
60
  justify-content: center;
61
61
  }
62
+
63
+ &[draggable='true'] {
64
+ /* doiuse-disable css3-cursors-newer */
65
+ cursor: grabbing;
66
+ /* doiuse-enable css3-cursors-newer */
67
+ }
62
68
  }
63
69
  }
64
70
 
@@ -90,3 +96,16 @@
90
96
  background-color: c.$colorPrimary;
91
97
  }
92
98
  }
99
+
100
+ .dragOver {
101
+ @include h.outlineSimple;
102
+ }
103
+
104
+ .dragIcon {
105
+ margin-left: c.$grid * 2;
106
+ }
107
+
108
+ .dragIconRight {
109
+ margin-left: 0;
110
+ margin-right: c.$grid * 2;
111
+ }
@@ -1,12 +1,15 @@
1
1
  import { DataTestProp } from '@hazelcast/helpers';
2
- import { AnchorHTMLAttributes, FC, ReactChild, ReactElement } from 'react';
3
- import { TableOptions, Row as RowType, Cell as CellType, Column as ColumnType } from 'react-table';
2
+ import { AnchorHTMLAttributes, FC, ReactChild, ReactElement, ReactNode } from 'react';
3
+ import { TableOptions, Row as RowType, Cell as CellType, Column as ColumnType, TableState, IdType } from 'react-table';
4
4
  import { PaginationProps } from '../Pagination';
5
5
  import { CellProps } from './Cell';
6
6
  import { RowProps } from './Row';
7
- export type { Accessor, Column, Cell, Renderer, Row, CellProps, HeaderGroup, TableInstance } from 'react-table';
7
+ export type { Accessor, Cell, Renderer, Row, CellProps, HeaderGroup, TableInstance } from 'react-table';
8
+ export declare type Column<T extends object> = ColumnType<T> & {
9
+ canHide?: boolean;
10
+ };
8
11
  declare module 'react-table' {
9
- interface TableOptions<D extends object = {}> extends UsePaginationOptions<D>, UseSortByOptions<D>, UseFiltersOptions<D>, UseRowSelectOptions<D>, UseGroupByOptions<D>, UseResizeColumnsOptions<D>, Record<string, any> {
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> {
10
13
  }
11
14
  interface Hooks<D extends object = {}> extends UseSortByHooks<D>, UseRowSelectHooks<D>, UseGroupByHooks<D> {
12
15
  }
@@ -22,7 +25,7 @@ declare module 'react-table' {
22
25
  }
23
26
  interface Cell<D extends object = {}, V = any> extends UseGroupByCellProps<D>, UseRowStateCellProps<D> {
24
27
  }
25
- interface Row<D extends object = {}> extends UseGroupByRowProps<D>, UseRowSelectRowProps<D> {
28
+ interface Row<D extends object = {}> extends UseGroupByRowProps<D>, UseRowSelectRowProps<D>, UseExpandedRowProps<D> {
26
29
  }
27
30
  }
28
31
  export declare type PaginationOptions = Partial<Pick<PaginationProps, 'pageSizeOptions'>>;
@@ -56,6 +59,7 @@ declare type CustomTableRowClickProps<D extends object> = {
56
59
  };
57
60
  declare type CustomTableProps<D extends object> = {
58
61
  loading?: boolean;
62
+ overlayLoading?: boolean;
59
63
  className?: string;
60
64
  hideHeader?: boolean;
61
65
  searchValue?: string;
@@ -70,9 +74,18 @@ declare type CustomTableProps<D extends object> = {
70
74
  autoResetGlobalFilter?: boolean;
71
75
  pageIndex?: number;
72
76
  onPageChange?: (newPage: number) => void;
77
+ onRowSelect?: (ids: string[]) => void;
78
+ columnsOrdering?: boolean;
79
+ storageKey?: string;
80
+ children?: (table: ReactElement, toggleColumnsControl: ReactElement) => ReactElement;
81
+ renderRowSubComponent?: (props: RowType<D>) => ReactNode;
73
82
  } & CustomTableRowClickProps<D> & DataTestProp;
74
83
  export declare type TableProps<D extends object> = TableOptions<D> & ExtendedPaginationProps & ControlledPaginationProps & CustomTableProps<D>;
75
84
  export type { ColumnType, RowType, CellType };
85
+ export declare type TableLocalState<T extends object> = (TableState<T> & {
86
+ columnOrder: IdType<T>[];
87
+ columns: Column<T>[];
88
+ }) | null;
76
89
  /**
77
90
  * ### Purpose
78
91
  * Table component allows to arrange data in rows and columns.
@@ -83,4 +96,4 @@ export type { ColumnType, RowType, CellType };
83
96
  * - Rows can be clickable. If you supply Table with `getHref` function rows will become <a> tags!
84
97
  * - Is able to resize columns out of the box
85
98
  */
86
- export declare const Table: <D extends object>({ "data-test": dataTest, autoResetSortBy, columns, data, defaultColumn, disableSortBy, onPaginationChange, manualPagination, 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, }: TableProps<D>) => ReactElement;
99
+ export declare const Table: <D extends object>({ "data-test": dataTest, autoResetSortBy, columns: propColumns, data, defaultColumn, disableSortBy, onPaginationChange, manualPagination, 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, storageKey, renderRowSubComponent, autoResetExpanded, }: TableProps<D>) => ReactElement;
@@ -1,7 +1,7 @@
1
- import React, { useEffect } from 'react';
1
+ import React, { useCallback, useEffect, useRef, useMemo, } from 'react';
2
2
  import cn from 'classnames';
3
- import { useTable, usePagination, useSortBy, useAsyncDebounce, useResizeColumns, useFlexLayout, useGlobalFilter, } from 'react-table';
4
- import { AlertTriangle } from 'react-feather';
3
+ import { useTable, usePagination, useSortBy, useAsyncDebounce, useResizeColumns, useFlexLayout, useGlobalFilter, useColumnOrder, useExpanded, } from 'react-table';
4
+ import { AlertTriangle, ChevronDown, ChevronUp } from 'react-feather';
5
5
  import { Pagination } from '../Pagination';
6
6
  import { Cell } from './Cell';
7
7
  import { EnhancedCellRenderer, EnhancedHeaderFooterRenderer } from './EnhancedRenderers';
@@ -10,14 +10,44 @@ import { HeaderRow, LinkRow, Row } from './Row';
10
10
  import { Loader } from '../Loader';
11
11
  import { EmptyState } from '../EmptyState';
12
12
  import { usePrevious } from '../hooks/usePrevious';
13
+ import { useTableCustomizableColumns } from '../hooks';
14
+ import { Icon } from '../Icon';
13
15
  import styles from './Table.module.scss';
14
16
  import styleConsts from '../../styles/constants/export.module.scss';
17
+ import { selectionColumnId } from '../hooks/useTableCustomizableColumns';
15
18
  const column = {
16
19
  // When using the useFlexLayout:
17
20
  minWidth: Number(styleConsts.tableColumnMinWidth),
18
21
  width: Number(styleConsts.tableColumnWidth),
19
22
  maxWidth: Number(styleConsts.tableColumnMaxWidth), // maxWidth is only used as a limit for resizing
20
23
  };
24
+ const readStorage = (key) => {
25
+ try {
26
+ const data = window.localStorage.getItem(key);
27
+ if (data) {
28
+ return JSON.parse(data);
29
+ }
30
+ return null;
31
+ }
32
+ catch (e) {
33
+ return null;
34
+ }
35
+ };
36
+ const writeStorage = (key, value) => {
37
+ try {
38
+ const state = readStorage(key);
39
+ const data = JSON.stringify({ ...(state || {}), ...value });
40
+ if (data) {
41
+ window.localStorage.setItem(key, data);
42
+ }
43
+ }
44
+ catch (e) {
45
+ return null;
46
+ }
47
+ };
48
+ const clearStorage = (key) => {
49
+ window.localStorage.removeItem(key);
50
+ };
21
51
  /**
22
52
  * ### Purpose
23
53
  * Table component allows to arrange data in rows and columns.
@@ -29,12 +59,51 @@ const column = {
29
59
  * - Is able to resize columns out of the box
30
60
  */
31
61
  // Inspiration here: https://react-table.tanstack.com/docs/examples/basic
32
- export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns, data, defaultColumn = column, disableSortBy, onPaginationChange, manualPagination, 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, }) => {
62
+ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns: propColumns, data, defaultColumn = column, disableSortBy, onPaginationChange, manualPagination, 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, storageKey, renderRowSubComponent, autoResetExpanded = false, }) => {
33
63
  var _a;
64
+ const didMountRef = useRef(false);
65
+ const draggedColumnRef = useRef(null);
34
66
  const previousIncomingPageIndex = usePrevious(incomingPageIndex);
35
- const { getTableProps, headerGroups, footerGroups, prepareRow, page, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage, setPageSize,
67
+ // Debounce our `fetchData` call for 200ms.
68
+ // We can use non-null assertion here since we're checking existence of `fetchData` in the `useEffect` below
69
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
70
+ const columns = useMemo(() => {
71
+ if (renderRowSubComponent || data.some((item) => 'subRows' in item)) {
72
+ return [
73
+ {
74
+ width: 60,
75
+ id: 'expander',
76
+ disableResizing: true,
77
+ Cell: ({ row }) => {
78
+ return row.canExpand || renderRowSubComponent ? (React.createElement("div", { tabIndex: 0, role: "button", "data-test": "row-expander", className: styles.expander, ...row.getToggleRowExpandedProps() },
79
+ React.createElement(Icon, { icon: row.isExpanded ? ChevronUp : ChevronDown, ariaLabel: "row-expander" }))) : null;
80
+ },
81
+ },
82
+ ...propColumns,
83
+ ];
84
+ }
85
+ return propColumns;
86
+ }, [propColumns, data, renderRowSubComponent]);
87
+ const savedInitialState = useMemo(() => {
88
+ var _a;
89
+ const state = storageKey ? readStorage(storageKey) : null;
90
+ if (storageKey && state) {
91
+ // delete saved state if columns are changed
92
+ if (state.columns &&
93
+ (state.columns.length !== columns.length ||
94
+ ((_a = state.columns) === null || _a === void 0 ? void 0 : _a.every(({ id, accessor }) => columns.find((column) => (id && id in column) || (typeof accessor === 'string' && accessor in column)))))) {
95
+ clearStorage(storageKey);
96
+ return {};
97
+ }
98
+ }
99
+ return state;
100
+ //eslint-disable-next-line react-hooks/exhaustive-deps
101
+ }, [storageKey]);
102
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
103
+ const onPaginationChangeDebounced = useAsyncDebounce(onPaginationChange, 200);
104
+ const { getTableProps, headerGroups, footerGroups, prepareRow, page, visibleColumns, allColumns, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage, setPageSize,
36
105
  // Get the state from the instance
37
- state: { pageIndex, pageSize, columnResizing }, setGlobalFilter, } = useTable({
106
+ state: { pageIndex, pageSize, columnResizing, selectedRowIds }, setGlobalFilter, setHiddenColumns, setColumnOrder, } = useTable({
38
107
  columns,
39
108
  data,
40
109
  disableSortBy,
@@ -42,7 +111,20 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
42
111
  // https://react-table.tanstack.com/docs/faq#how-do-i-stop-my-table-state-from-automatically-resetting-when-my-data-changes
43
112
  autoResetSortBy,
44
113
  // Pass our hoisted table state
45
- initialState,
114
+ initialState: useMemo(() => ({
115
+ ...(savedInitialState || {}),
116
+ ...initialState,
117
+ }), [initialState, savedInitialState]),
118
+ useControlledState: useCallback((state) => {
119
+ var _a, _b;
120
+ if (storageKey) {
121
+ writeStorage(storageKey, {
122
+ ...state,
123
+ columnOrder: (_b = (_a = state) === null || _a === void 0 ? void 0 : _a.columnOrder) === null || _b === void 0 ? void 0 : _b.filter((id) => id !== selectionColumnId),
124
+ });
125
+ }
126
+ return state;
127
+ }, [storageKey]),
46
128
  // Tell the usePagination hook that we'll handle our own data fetching
47
129
  manualPagination: manualPagination,
48
130
  // This means we'll also have to provide our own pageCount
@@ -50,11 +132,29 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
50
132
  autoResetPage,
51
133
  defaultColumn,
52
134
  autoResetGlobalFilter,
53
- }, useGlobalFilter, useSortBy, usePagination, useFlexLayout, useResizeColumns);
54
- // Debounce our `fetchData` call for 200ms.
55
- // We can use non-null assertion here since we're checking existence of `fetchData` in the `useEffect` below
56
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
57
- const onPaginationChangeDebounced = useAsyncDebounce(onPaginationChange, 200);
135
+ autoResetResize,
136
+ autoResetSelectedRows,
137
+ autoResetExpanded,
138
+ paginateExpandedRows: false,
139
+ }, useGlobalFilter, useSortBy, useExpanded, usePagination, useFlexLayout, useResizeColumns, useColumnOrder);
140
+ const toggleColumnsControl = useTableCustomizableColumns({
141
+ columns: allColumns,
142
+ visibleColumns,
143
+ setHiddenColumns,
144
+ });
145
+ // drag and drop
146
+ const onDragStart = useCallback((e) => {
147
+ draggedColumnRef.current = Number(e.dataTransfer.getData('text/plain'));
148
+ }, []);
149
+ const onDrop = useCallback((e, columnIndex) => {
150
+ if (draggedColumnRef.current !== null && columnIndex !== draggedColumnRef.current) {
151
+ const newColumns = [...visibleColumns];
152
+ newColumns[columnIndex] = visibleColumns[draggedColumnRef.current];
153
+ newColumns[draggedColumnRef.current] = visibleColumns[columnIndex];
154
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
155
+ setColumnOrder(newColumns.map(({ id, accessor }) => (id || accessor)));
156
+ }
157
+ }, [visibleColumns, setColumnOrder]);
58
158
  // 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
59
159
  useEffect(() => {
60
160
  if (onPaginationChange) {
@@ -88,6 +188,17 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
88
188
  gotoPage(incomingPageIndex);
89
189
  }
90
190
  }, [gotoPage, incomingPageIndex, previousIncomingPageIndex]);
191
+ useEffect(() => {
192
+ if (onRowSelect) {
193
+ onRowSelect(Object.keys(selectedRowIds));
194
+ }
195
+ }, [onRowSelect, selectedRowIds]);
196
+ useEffect(() => {
197
+ if (storageKey && didMountRef.current) {
198
+ clearStorage(storageKey);
199
+ }
200
+ didMountRef.current = true;
201
+ }, [columns, storageKey]);
91
202
  const hasData = data.length > 0;
92
203
  // If at least one of the columns has footer then we display the footer row
93
204
  const hasFooter = !loading && hasData && columns.some((col) => !!col.Footer);
@@ -97,7 +208,7 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
97
208
  const cellIndexOffset = pageSize * pageIndex + headerIndex;
98
209
  // Total row count.
99
210
  const rowCount = data.length + headerIndex + (hasFooter ? 1 : 0);
100
- return (React.createElement("div", { "data-test": dataTest !== null && dataTest !== void 0 ? dataTest : 'table-wrapper', className: className },
211
+ const content = (React.createElement("div", { "data-test": dataTest !== null && dataTest !== void 0 ? dataTest : 'table-wrapper', className: className },
101
212
  React.createElement("div", { className: cn(styles.container, {
102
213
  [styles.spaceBottom]: !hidePagination,
103
214
  }) },
@@ -106,34 +217,44 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
106
217
  const { key: headerGroupKey, ...restHeaderGroupProps } = headerGroup.getHeaderGroupProps();
107
218
  return (React.createElement(HeaderRow, { key: headerGroupKey, ...restHeaderGroupProps, ariaRowIndex: headerIndex }, headerGroup.headers.map((column, i) => {
108
219
  const { key: columnKey, ...restHeaderProps } = column.getHeaderProps(column.getSortByToggleProps());
109
- return (React.createElement(Header, { key: columnKey, align: column.align, canSort: column.canSort, isSorted: column.isSorted, isSortedDesc: column.isSortedDesc, isLastHeader: headerGroup.headers.length === i + 1, canResize: column.canResize, isResizing: column.isResizing, getResizerProps: column.getResizerProps, ...restHeaderProps },
220
+ const isDraggable = columnsOrdering && column.id !== 'expander';
221
+ return (React.createElement(Header, { index: i, key: columnKey, align: column.align, canSort: column.canSort, isSorted: column.isSorted, isSortedDesc: column.isSortedDesc, isLastHeader: headerGroup.headers.length === i + 1, canResize: column.canResize, isResizing: column.isResizing, getResizerProps: column.getResizerProps, onDrop: isDraggable ? onDrop : undefined, onDragStart: onDragStart, ...restHeaderProps },
110
222
  React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Header" })));
111
223
  })));
112
224
  }))),
113
- loading ? (React.createElement(Row, { role: "row" },
225
+ !overlayLoading && loading ? (React.createElement(Row, { role: "row" },
114
226
  React.createElement(Cell, { role: "cell", align: "center", colSpan: columns.length, "data-test": "table-loader-cell" },
115
- React.createElement(Loader, null)))) : hasData ? (React.createElement("div", { "data-test": "table-cell-row-group", role: "rowgroup", className: contentClassName }, page.map((row) => {
116
- prepareRow(row);
117
- const { key: rowKey, ...restRowProps } = row.getRowProps(getCustomRowProps === null || getCustomRowProps === void 0 ? void 0 : getCustomRowProps(row));
118
- const cells = row.cells.map((cell, i) => {
119
- const { key: cellKey, ...restCellProps } = cell.getCellProps(getCustomCellProps === null || getCustomCellProps === void 0 ? void 0 : getCustomCellProps(cell));
120
- // We don't want to use cell.column.Cell as that is a ColumnInstance which already has a cell renderer
121
- const column = columns[i];
122
- return (React.createElement(Cell, { key: cellKey, align: cell.column.align, ...restCellProps },
123
- React.createElement(EnhancedCellRenderer, { cell: cell, hasCellRenderer: !!column.Cell, columnResizing: columnResizing })));
124
- });
125
- if (getHref) {
126
- const href = getHref(row);
127
- if (href) {
128
- return (React.createElement(LinkRow, { key: rowKey, AnchorComponent: AnchorComponent, ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, href: href }, cells));
129
- }
130
- }
131
- return (React.createElement(Row, { key: rowKey, ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, onClick: onRowClick
132
- ? () => {
133
- onRowClick(row);
227
+ React.createElement(Loader, null)))) : hasData ? (React.createElement("div", { "data-test": "table-cell-row-group", role: "rowgroup", className: cn(styles.content, contentClassName) },
228
+ page.map((row) => {
229
+ prepareRow(row);
230
+ const { key: rowKey, ...restRowProps } = row.getRowProps(getCustomRowProps === null || getCustomRowProps === void 0 ? void 0 : getCustomRowProps(row));
231
+ const cells = row.cells.map((cell, i) => {
232
+ const { key: cellKey, ...restCellProps } = cell.getCellProps(getCustomCellProps === null || getCustomCellProps === void 0 ? void 0 : getCustomCellProps(cell));
233
+ // We don't want to use cell.column.Cell as that is a ColumnInstance which already has a cell renderer
234
+ const column = columns[i];
235
+ // columns added via react-table hooks
236
+ if (!column) {
237
+ return (React.createElement(Cell, { key: cellKey, align: cell.column.align, ...restCellProps }, cell.render('Cell')));
238
+ }
239
+ return (React.createElement(Cell, { key: cellKey, align: cell.column.align, ...restCellProps },
240
+ React.createElement(EnhancedCellRenderer, { cell: cell, hasCellRenderer: !!column.Cell, columnResizing: columnResizing })));
241
+ });
242
+ if (getHref) {
243
+ const href = getHref(row);
244
+ if (href) {
245
+ return (React.createElement(LinkRow, { key: rowKey, AnchorComponent: AnchorComponent, ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, href: href }, cells));
134
246
  }
135
- : undefined }, cells));
136
- }))) : (React.createElement("div", { role: "row" },
247
+ }
248
+ return (React.createElement(React.Fragment, { key: rowKey },
249
+ React.createElement(Row, { ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, onClick: onRowClick
250
+ ? () => {
251
+ onRowClick(row);
252
+ }
253
+ : undefined }, cells),
254
+ row.isExpanded ? renderRowSubComponent && React.createElement("div", null, renderRowSubComponent(row)) : null));
255
+ }),
256
+ overlayLoading && loading && (React.createElement("div", { className: styles.overlayLoading },
257
+ React.createElement(Loader, null))))) : (React.createElement("div", { role: "row" },
137
258
  React.createElement("div", { role: "cell" },
138
259
  React.createElement(EmptyState, { "data-test": "table-no-data", className: styles.empty, title: noDataTitle, icon: AlertTriangle, iconLabel: "Alert" })))),
139
260
  hasFooter && (React.createElement("div", { "data-test": "table-footer-row-group", role: "rowgroup", className: footerClassName }, footerGroups.map((group) => {
@@ -170,5 +291,9 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
170
291
  previousPage();
171
292
  }
172
293
  }, 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] }))));
294
+ if (children) {
295
+ return children(content, toggleColumnsControl);
296
+ }
297
+ return content;
173
298
  };
174
299
  //# sourceMappingURL=Table.js.map
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  @use '../../styles/constants' as c;
2
+ @use '../../styles/helpers' as h;
2
3
 
3
4
  .container {
4
5
  display: block;
@@ -12,3 +13,25 @@
12
13
  margin-top: c.$grid * 8;
13
14
  }
14
15
  }
16
+
17
+ .content {
18
+ position: relative;
19
+ }
20
+
21
+ .overlayLoading {
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ width: 100%;
26
+ height: 100%;
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+ background: rgb(255 255 255 / 50%);
31
+ }
32
+
33
+ .expander {
34
+ &:focus {
35
+ @include h.outlineSimple;
36
+ }
37
+ }
package/lib/Tabs/Tab.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { FC, MouseEvent, KeyboardEvent } from 'react';
1
+ import { FC, MouseEvent, KeyboardEvent, ReactNode } from 'react';
2
2
  import { IconProps } from '../Icon';
3
3
  export declare type AnchorTabProps = {
4
4
  component: 'a';
@@ -9,19 +9,33 @@ export declare type ButtonTabProps = {
9
9
  href?: never;
10
10
  };
11
11
  declare type TabTypeProps = AnchorTabProps | ButtonTabProps;
12
- declare type TabIconProps = {
12
+ declare type TabLabelProps = {
13
+ /** @deprecated The property should not be used */
14
+ label: string;
13
15
  icon: IconProps['icon'];
14
16
  iconAriaLabel: string;
17
+ children?: never;
18
+ ariaLabel?: never;
19
+ } | {
20
+ /** @deprecated The property should not be used */
21
+ label: string;
22
+ icon?: never;
23
+ iconAriaLabel?: never;
24
+ children?: never;
25
+ ariaLabel?: never;
15
26
  } | {
27
+ label?: never;
16
28
  icon?: never;
17
29
  iconAriaLabel?: never;
30
+ children: ReactNode;
31
+ ariaLabel: string;
18
32
  };
19
33
  export declare type TabCommonProps = {
20
- label: string;
21
34
  value: number;
22
35
  onClick?: (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement> | KeyboardEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
36
+ className?: string;
23
37
  };
24
- export declare type TabProps<T = TabTypeProps> = TabCommonProps & T & TabIconProps;
38
+ export declare type TabProps<T = TabTypeProps> = TabCommonProps & T & TabLabelProps;
25
39
  /**
26
40
  * ### Purpose
27
41
  * A single tab implementation that works together with TabContext and TabList components.
package/lib/Tabs/Tab.js CHANGED
@@ -15,7 +15,16 @@ import styles from './Tab.module.scss';
15
15
  * More info - https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focus
16
16
  *
17
17
  */
18
- export const Tab = ({ component: Component = 'button', label, value, href, onClick, icon, iconAriaLabel }) => {
18
+ export const Tab = ({ component: Component = 'button',
19
+ /**
20
+ * @deprecated The property should not be used
21
+ */
22
+ label, value, href, onClick,
23
+ /** @deprecated The property should not be used */
24
+ icon,
25
+ /** @deprecated The property should not be used */
26
+ iconAriaLabel, children, ariaLabel, className, }) => {
27
+ var _a;
19
28
  const { onChange, value: activeValue, idPrefix, fullWidth } = useTabContext();
20
29
  const selected = value === activeValue;
21
30
  const handleClick = useCallback((event) => {
@@ -35,8 +44,10 @@ export const Tab = ({ component: Component = 'button', label, value, href, onCli
35
44
  handleClick(event);
36
45
  }
37
46
  }, [handleClick]);
38
- return (React.createElement(Component, { className: cn(styles.tab, { [styles.selected]: selected, [styles.fullWidth]: fullWidth }), role: "tab", id: getTabId(idPrefix, value.toString()), "aria-controls": getPanelId(idPrefix, value.toString()), "aria-selected": selected, tabIndex: selected ? 0 : -1, onKeyPress: onKeyPress, onClick: handleClick, href: selected ? undefined : href },
39
- icon && iconAriaLabel && React.createElement(Icon, { icon: icon, ariaLabel: iconAriaLabel, className: styles.icon }),
40
- label));
47
+ return (React.createElement(Component, { className: cn(styles.tab, { [styles.selected]: selected, [styles.fullWidth]: fullWidth }, className), role: "tab", id: getTabId(idPrefix, value.toString()), "aria-controls": getPanelId(idPrefix, value.toString()), "aria-selected": selected, tabIndex: selected ? 0 : -1, onKeyPress: onKeyPress, onClick: handleClick, ...(Component === 'a' && !selected && { href }), "aria-label": label !== null && label !== void 0 ? label : ariaLabel }, children
48
+ ? children
49
+ : (_a = (icon && iconAriaLabel && (React.createElement("span", null,
50
+ React.createElement(Icon, { icon: icon, ariaLabel: iconAriaLabel, className: styles.icon }),
51
+ label)))) !== null && _a !== void 0 ? _a : label));
41
52
  };
42
53
  //# sourceMappingURL=Tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../src/Tabs/Tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,WAAW,EAA6B,MAAM,OAAO,CAAA;AACzE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAa,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AA+BtC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE;IACzH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,CAAA;IAC7E,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAA;IAEtC,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAA+G,EAAE,EAAE;QAClH,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QAED,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAA;SACf;QAED,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CACrC,CAAA;IAED,wDAAwD;IACxD,+DAA+D;IAC/D,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAA2D,EAAE,EAAE;QAC9D,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;YACvC,WAAW,CAAC,KAAK,CAAC,CAAA;SACnB;IACH,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAA;IAED,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,EACzF,IAAI,EAAC,KAAK,EACV,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,mBACzB,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,mBACtC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QAEhC,IAAI,IAAI,aAAa,IAAI,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,GAAI;QAC/F,KAAK,CACI,CACb,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../src/Tabs/Tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,WAAW,EAAwC,MAAM,OAAO,CAAA;AACpF,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAa,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AA8CtC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAChC,SAAS,EAAE,SAAS,GAAG,QAAQ;AAC/B;;GAEG;AACH,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO;AACP,kDAAkD;AAClD,IAAI;AACJ,kDAAkD;AAClD,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE,EAAE;;IACH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,CAAA;IAC7E,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAA;IAEtC,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAA+G,EAAE,EAAE;QAClH,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QAED,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAA;SACf;QAED,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CACrC,CAAA;IAED,wDAAwD;IACxD,+DAA+D;IAC/D,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAA2D,EAAE,EAAE;QAC9D,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;YACvC,WAAW,CAAC,KAAK,CAAC,CAAA;SACnB;IACH,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAA;IAED,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EACpG,IAAI,EAAC,KAAK,EACV,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,mBACzB,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,mBACtC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,KAChB,CAAC,SAAS,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC,gBACpC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS,IAE7B,QAAQ;QACP,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAA,CAAC,IAAI,IAAI,aAAa,IAAI,CACxB;YACE,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,GAAI;YACrE,KAAK,CACD,CACR,CAAC,mCACF,KAAK,CACC,CACb,CAAA;AACH,CAAC,CAAA"}
package/lib/Tooltip.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import React, { FC, ReactNode, MutableRefObject, ReactText, MouseEventHandler } from 'react';
2
2
  import { Placement } from '@popperjs/core';
3
3
  import { usePopper } from 'react-popper';
4
- export declare type TooltipContainer = 'body' | 'referenceElement' | HTMLElement;
4
+ import { PortalContainer } from './utils/portal';
5
5
  export declare type PopperRef = ReturnType<typeof usePopper>;
6
6
  export declare type TooltipProps = {
7
7
  content: ReactNode;
@@ -15,7 +15,7 @@ export declare type TooltipProps = {
15
15
  children: (ref: React.Dispatch<React.SetStateAction<HTMLElement | null>>, onMouseEnter?: MouseEventHandler<Element>, onMouseLeave?: MouseEventHandler<Element>) => ReactNode;
16
16
  popperRef?: MutableRefObject<PopperRef | undefined>;
17
17
  updateToken?: ReactText | boolean;
18
- tooltipContainer?: TooltipContainer;
18
+ tooltipContainer?: PortalContainer;
19
19
  };
20
20
  /**
21
21
  * ### Purpose
package/lib/Tooltip.js CHANGED
@@ -3,20 +3,10 @@ import ReactDOM from 'react-dom';
3
3
  import { usePopper } from 'react-popper';
4
4
  import cn from 'classnames';
5
5
  import { containsElement } from './hooks';
6
- import { canUseDOM } from './utils/ssr';
6
+ import { getPortalContainer } from './utils/portal';
7
7
  import styles from './Tooltip.module.scss';
8
8
  const tooltipZIndex = 20;
9
9
  const TooltipContext = createContext(null);
10
- const getTooltipPortalContainer = (tooltipContainer, referenceElement) => {
11
- if (tooltipContainer === 'body') {
12
- // There is no document is SSR environment
13
- return canUseDOM ? document.body : null;
14
- }
15
- if (tooltipContainer === 'referenceElement') {
16
- return referenceElement !== null && referenceElement !== void 0 ? referenceElement : null;
17
- }
18
- return tooltipContainer;
19
- };
20
10
  /**
21
11
  * ### Purpose
22
12
  * Useful when you need to display additional information/actionable content.
@@ -126,7 +116,7 @@ export const Tooltip = ({ id, content, hideTimeoutDuration = 100, offset = 10, p
126
116
  popperElement === null || popperElement === void 0 ? void 0 : popperElement.removeEventListener('mouseleave', onMouseLeave);
127
117
  };
128
118
  }, [popperElement, onMouseEnter, onMouseLeave, hoverAbleTooltip]);
129
- const tooltipPortalContainer = getTooltipPortalContainer(tooltipContainer, referenceElement);
119
+ const tooltipPortalContainer = getPortalContainer(tooltipContainer, referenceElement);
130
120
  return (React.createElement(TooltipContext.Provider, { value: contextValue },
131
121
  children(setReferenceElement, onMouseEnter, (e) => {
132
122
  onMouseLeave(e);