@hazelcast/ui 1.3.2-next.4 → 1.3.2-next.40

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 (131) hide show
  1. package/lib/Alert.d.ts +1 -0
  2. package/lib/Alert.js +2 -2
  3. package/lib/Alert.js.map +1 -1
  4. package/lib/AutocompleteField.d.ts +4 -1
  5. package/lib/AutocompleteField.js +6 -7
  6. package/lib/AutocompleteField.js.map +1 -1
  7. package/lib/AutocompleteField.module.scss +16 -0
  8. package/lib/Button.d.ts +3 -3
  9. package/lib/Button.js +1 -1
  10. package/lib/Button.js.map +1 -1
  11. package/lib/Button.module.scss +24 -1
  12. package/lib/Calendar/Calendar.d.ts +5 -1
  13. package/lib/Calendar/Calendar.js +30 -22
  14. package/lib/Calendar/Calendar.js.map +1 -1
  15. package/lib/Calendar/Calendar.module.scss +2 -1
  16. package/lib/Calendar/CalendarRange.d.ts +3 -3
  17. package/lib/Calendar/CalendarRange.js +5 -5
  18. package/lib/Calendar/CalendarRange.js.map +1 -1
  19. package/lib/Calendar/CalendarRange.module.scss +5 -0
  20. package/lib/Calendar/components/CalendarInput.d.ts +4 -2
  21. package/lib/Calendar/components/CalendarInput.js +3 -3
  22. package/lib/Calendar/components/CalendarInput.js.map +1 -1
  23. package/lib/Calendar/components/CalendarTime.js +15 -10
  24. package/lib/Calendar/components/CalendarTime.js.map +1 -1
  25. package/lib/Calendar/components/CalendarTime.module.scss +4 -0
  26. package/lib/Calendar/helpers/consts.js +97 -97
  27. package/lib/Calendar/helpers/consts.js.map +1 -1
  28. package/lib/Card.js +2 -2
  29. package/lib/Card.js.map +1 -1
  30. package/lib/Carousel.d.ts +25 -0
  31. package/lib/Carousel.js +28 -0
  32. package/lib/Carousel.js.map +1 -0
  33. package/lib/Carousel.module.scss +26 -0
  34. package/lib/Checkbox.d.ts +2 -1
  35. package/lib/Checkbox.js +2 -2
  36. package/lib/Checkbox.js.map +1 -1
  37. package/lib/FieldHeader.d.ts +3 -1
  38. package/lib/FieldHeader.js +2 -2
  39. package/lib/FieldHeader.js.map +1 -1
  40. package/lib/Help.d.ts +2 -1
  41. package/lib/Help.js +2 -2
  42. package/lib/Help.js.map +1 -1
  43. package/lib/Modal.d.ts +2 -0
  44. package/lib/Modal.js.map +1 -1
  45. package/lib/Overlay.d.ts +5 -0
  46. package/lib/Overlay.js +5 -5
  47. package/lib/Overlay.js.map +1 -1
  48. package/lib/Pagination.d.ts +4 -3
  49. package/lib/Pagination.js +7 -7
  50. package/lib/Pagination.js.map +1 -1
  51. package/lib/Popover.d.ts +2 -0
  52. package/lib/Popover.js +11 -5
  53. package/lib/Popover.js.map +1 -1
  54. package/lib/Select/CheckableSelectField.module.scss +1 -1
  55. package/lib/Select/MultiSelectField.js +3 -1
  56. package/lib/Select/MultiSelectField.js.map +1 -1
  57. package/lib/Select/SelectField.d.ts +3 -3
  58. package/lib/Select/SelectField.js +12 -3
  59. package/lib/Select/SelectField.js.map +1 -1
  60. package/lib/Select/SelectField.module.scss +0 -2
  61. package/lib/Table/Cell.d.ts +9 -1
  62. package/lib/Table/Cell.js +27 -8
  63. package/lib/Table/Cell.js.map +1 -1
  64. package/lib/Table/Cell.module.scss +8 -0
  65. package/lib/Table/CellWrapper.d.ts +11 -0
  66. package/lib/Table/CellWrapper.js +29 -0
  67. package/lib/Table/CellWrapper.js.map +1 -0
  68. package/lib/Table/Header.d.ts +4 -1
  69. package/lib/Table/Header.js +46 -7
  70. package/lib/Table/Header.js.map +1 -1
  71. package/lib/Table/Header.module.scss +19 -0
  72. package/lib/Table/Table.d.ts +15 -6
  73. package/lib/Table/Table.js +147 -85
  74. package/lib/Table/Table.js.map +1 -1
  75. package/lib/Table/Table.module.scss +23 -0
  76. package/lib/Table/TableContent.d.ts +25 -0
  77. package/lib/Table/TableContent.js +49 -0
  78. package/lib/Table/TableContent.js.map +1 -0
  79. package/lib/Table/TableContent.module.scss +5 -0
  80. package/lib/Table/constants.d.ts +2 -0
  81. package/lib/Table/constants.js +3 -0
  82. package/lib/Table/constants.js.map +1 -0
  83. package/lib/Table/features/columnsSelection/columnsSelection.d.ts +19 -0
  84. package/lib/Table/features/columnsSelection/columnsSelection.js +71 -0
  85. package/lib/Table/features/columnsSelection/columnsSelection.js.map +1 -0
  86. package/lib/Table/features/columnsSelection/helpers.d.ts +7 -0
  87. package/lib/Table/features/columnsSelection/helpers.js +26 -0
  88. package/lib/Table/features/columnsSelection/helpers.js.map +1 -0
  89. package/lib/Table/features/columnsSelection/index.d.ts +2 -0
  90. package/lib/Table/features/columnsSelection/index.js +3 -0
  91. package/lib/Table/features/columnsSelection/index.js.map +1 -0
  92. package/lib/Tabs/Tab.d.ts +18 -4
  93. package/lib/Tabs/Tab.js +15 -4
  94. package/lib/Tabs/Tab.js.map +1 -1
  95. package/lib/TextField.js +2 -2
  96. package/lib/TextField.js.map +1 -1
  97. package/lib/TimeField.js +4 -12
  98. package/lib/TimeField.js.map +1 -1
  99. package/lib/TimeField.module.scss +0 -87
  100. package/lib/Tooltip.d.ts +4 -3
  101. package/lib/Tooltip.js +4 -14
  102. package/lib/Tooltip.js.map +1 -1
  103. package/lib/hooks/index.d.ts +0 -1
  104. package/lib/hooks/index.js +0 -1
  105. package/lib/hooks/index.js.map +1 -1
  106. package/lib/hooks/useCloseOnResize.d.ts +8 -0
  107. package/lib/hooks/useCloseOnResize.js +16 -0
  108. package/lib/hooks/useCloseOnResize.js.map +1 -0
  109. package/lib/index.d.ts +2 -4
  110. package/lib/index.js +2 -4
  111. package/lib/index.js.map +1 -1
  112. package/lib/utils/portal.d.ts +2 -0
  113. package/lib/utils/portal.js +15 -0
  114. package/lib/utils/portal.js.map +1 -0
  115. package/lib/utils/test.d.ts +3 -1
  116. package/lib/utils/test.js.map +1 -1
  117. package/package.json +6 -7
  118. package/styles/constants/_colors.scss +1 -0
  119. package/lib/Code.d.ts +0 -8
  120. package/lib/Code.js +0 -16
  121. package/lib/Code.js.map +0 -1
  122. package/lib/CodeEditor.d.ts +0 -28
  123. package/lib/CodeEditor.js +0 -180
  124. package/lib/CodeEditor.js.map +0 -1
  125. package/lib/CodeEditor.module.scss +0 -32
  126. package/lib/CodeEditorFormik.d.ts +0 -9
  127. package/lib/CodeEditorFormik.js +0 -14
  128. package/lib/CodeEditorFormik.js.map +0 -1
  129. package/lib/hooks/useTableCustomizableColumns.d.ts +0 -9
  130. package/lib/hooks/useTableCustomizableColumns.js +0 -23
  131. package/lib/hooks/useTableCustomizableColumns.js.map +0 -1
@@ -1,15 +1,21 @@
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 { HotKeys } from 'react-hotkeys';
4
+ import { useTable, usePagination, useSortBy, useAsyncDebounce, useResizeColumns, useFlexLayout, useGlobalFilter, useColumnOrder, useExpanded, } from 'react-table';
5
+ import { AlertTriangle, ChevronDown, ChevronUp } from 'react-feather';
5
6
  import { Pagination } from '../Pagination';
6
7
  import { Cell } from './Cell';
7
- import { EnhancedCellRenderer, EnhancedHeaderFooterRenderer } from './EnhancedRenderers';
8
+ import { EnhancedHeaderFooterRenderer } from './EnhancedRenderers';
8
9
  import { Header } from './Header';
9
- import { HeaderRow, LinkRow, Row } from './Row';
10
+ import { HeaderRow, Row } from './Row';
10
11
  import { Loader } from '../Loader';
11
12
  import { EmptyState } from '../EmptyState';
12
13
  import { usePrevious } from '../hooks/usePrevious';
14
+ import { Icon } from '../Icon';
15
+ import { TableContent } from './TableContent';
16
+ import { ROW_EXPANDER_COLUMN_ID } from './constants';
17
+ import { useColumnsSelection } from './features/columnsSelection';
18
+ import { useRefValue } from '../hooks';
13
19
  import styles from './Table.module.scss';
14
20
  import styleConsts from '../../styles/constants/export.module.scss';
15
21
  const column = {
@@ -18,6 +24,7 @@ const column = {
18
24
  width: Number(styleConsts.tableColumnWidth),
19
25
  maxWidth: Number(styleConsts.tableColumnMaxWidth), // maxWidth is only used as a limit for resizing
20
26
  };
27
+ const commands = { copy: ['ctrl+c', 'command+c'] };
21
28
  /**
22
29
  * ### Purpose
23
30
  * Table component allows to arrange data in rows and columns.
@@ -29,12 +36,34 @@ const column = {
29
36
  * - Is able to resize columns out of the box
30
37
  */
31
38
  // 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, }) => {
39
+ 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, renderRowSubComponent, autoResetExpanded = false, onCopy, }) => {
33
40
  var _a;
41
+ const getOncopy = useRefValue(onCopy);
42
+ const draggedColumnRef = useRef(null);
34
43
  const previousIncomingPageIndex = usePrevious(incomingPageIndex);
35
- const { getTableProps, headerGroups, footerGroups, prepareRow, page, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage, setPageSize,
36
- // Get the state from the instance
37
- state: { pageIndex, pageSize, columnResizing }, setGlobalFilter, } = useTable({
44
+ // Debounce our `fetchData` call for 200ms.
45
+ // We can use non-null assertion here since we're checking existence of `fetchData` in the `useEffect` below
46
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
47
+ const columns = useMemo(() => {
48
+ if (renderRowSubComponent || data.some((item) => 'subRows' in item)) {
49
+ return [
50
+ {
51
+ width: 60,
52
+ disableResizing: true,
53
+ id: ROW_EXPANDER_COLUMN_ID,
54
+ Cell: ({ row }) => {
55
+ return row.canExpand || renderRowSubComponent ? (React.createElement("div", { tabIndex: 0, role: "button", "data-test": "row-expander", className: styles.expander, ...row.getToggleRowExpandedProps() },
56
+ React.createElement(Icon, { icon: row.isExpanded ? ChevronUp : ChevronDown, ariaLabel: "row-expander" }))) : null;
57
+ },
58
+ },
59
+ ...propColumns,
60
+ ];
61
+ }
62
+ return propColumns;
63
+ }, [propColumns, data, renderRowSubComponent]);
64
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
65
+ const onPaginationChangeDebounced = useAsyncDebounce(onPaginationChange, 200);
66
+ const tableInstance = useTable({
38
67
  columns,
39
68
  data,
40
69
  disableSortBy,
@@ -50,11 +79,54 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
50
79
  autoResetPage,
51
80
  defaultColumn,
52
81
  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);
82
+ autoResetResize,
83
+ autoResetSelectedRows,
84
+ autoResetExpanded,
85
+ paginateExpandedRows: false,
86
+ }, useGlobalFilter, useSortBy, useExpanded, usePagination, useFlexLayout, useResizeColumns, useColumnOrder);
87
+ const { getTableProps, headerGroups, footerGroups, prepareRow, page, visibleColumns, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage, setPageSize,
88
+ // Get the state from the instance
89
+ state: { pageIndex, pageSize, columnResizing, selectedRowIds }, setGlobalFilter, setColumnOrder, } = tableInstance;
90
+ // drag and drop
91
+ const onDragStart = useCallback((e) => {
92
+ draggedColumnRef.current = Number(e.dataTransfer.getData('text/plain'));
93
+ }, []);
94
+ const onDrop = useCallback((e, columnIndex) => {
95
+ if (draggedColumnRef.current !== null && columnIndex !== draggedColumnRef.current) {
96
+ const newColumns = [...visibleColumns];
97
+ newColumns[columnIndex] = visibleColumns[draggedColumnRef.current];
98
+ newColumns[draggedColumnRef.current] = visibleColumns[columnIndex];
99
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
100
+ setColumnOrder(newColumns.map(({ id, accessor }) => (id || accessor)));
101
+ }
102
+ }, [visibleColumns, setColumnOrder]);
103
+ const columnsSelectionProps = useColumnsSelection({
104
+ rowsPerPage: page.length,
105
+ columnsPerRow: columns.length,
106
+ });
107
+ const { onEndSelection, getSelectedColumns, selectedColumnValuesRef } = columnsSelectionProps;
108
+ const onKeyUp = useCallback(() => {
109
+ const callback = getOncopy();
110
+ if (callback) {
111
+ const { columns, range } = getSelectedColumns();
112
+ if (columns.size || (range[0] !== undefined && range[0] !== undefined)) {
113
+ callback(selectedColumnValuesRef === null || selectedColumnValuesRef === void 0 ? void 0 : selectedColumnValuesRef.current);
114
+ }
115
+ }
116
+ }, [getOncopy, getSelectedColumns, selectedColumnValuesRef]);
117
+ const hotKeysHandlers = useMemo(() => ({
118
+ copy: (e) => {
119
+ e === null || e === void 0 ? void 0 : e.preventDefault();
120
+ onKeyUp();
121
+ },
122
+ }), [onKeyUp]);
123
+ useEffect(() => {
124
+ return () => {
125
+ document.body.removeEventListener('mouseup', onEndSelection);
126
+ document.body.removeEventListener('contextmenu', onEndSelection);
127
+ document.body.removeEventListener('keyup', onKeyUp);
128
+ };
129
+ }, [onKeyUp, onEndSelection]);
58
130
  // 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
131
  useEffect(() => {
60
132
  if (onPaginationChange) {
@@ -88,6 +160,11 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
88
160
  gotoPage(incomingPageIndex);
89
161
  }
90
162
  }, [gotoPage, incomingPageIndex, previousIncomingPageIndex]);
163
+ useEffect(() => {
164
+ if (onRowSelect) {
165
+ onRowSelect(Object.keys(selectedRowIds));
166
+ }
167
+ }, [onRowSelect, selectedRowIds]);
91
168
  const hasData = data.length > 0;
92
169
  // If at least one of the columns has footer then we display the footer row
93
170
  const hasFooter = !loading && hasData && columns.some((col) => !!col.Footer);
@@ -97,78 +174,63 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
97
174
  const cellIndexOffset = pageSize * pageIndex + headerIndex;
98
175
  // Total row count.
99
176
  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 },
101
- React.createElement("div", { className: cn(styles.container, {
102
- [styles.spaceBottom]: !hidePagination,
103
- }) },
104
- React.createElement("div", { "data-test": "table", ...getTableProps(), "aria-rowcount": rowCount },
105
- !hideHeader && (React.createElement("div", { "data-test": "table-header-row-group", role: "rowgroup", className: headerClassName }, headerGroups.map((headerGroup) => {
106
- const { key: headerGroupKey, ...restHeaderGroupProps } = headerGroup.getHeaderGroupProps();
107
- return (React.createElement(HeaderRow, { key: headerGroupKey, ...restHeaderGroupProps, ariaRowIndex: headerIndex }, headerGroup.headers.map((column, i) => {
108
- 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 },
110
- React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Header" })));
111
- })));
112
- }))),
113
- loading ? (React.createElement(Row, { role: "row" },
114
- 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);
134
- }
135
- : undefined }, cells));
136
- }))) : (React.createElement("div", { role: "row" },
137
- React.createElement("div", { role: "cell" },
138
- React.createElement(EmptyState, { "data-test": "table-no-data", className: styles.empty, title: noDataTitle, icon: AlertTriangle, iconLabel: "Alert" })))),
139
- hasFooter && (React.createElement("div", { "data-test": "table-footer-row-group", role: "rowgroup", className: footerClassName }, footerGroups.map((group) => {
140
- const { key: footerGroupKey, ...restFooterGroupProps } = group.getFooterGroupProps();
141
- return (
142
- // Footer props getters do not provide role attributes
143
- React.createElement(Row, { key: footerGroupKey, ariaRowIndex: rowCount, ...restFooterGroupProps, role: "row" }, group.headers.map((column) => {
144
- const { key: footerKey, ...restFooterProps } = column.getFooterProps();
177
+ const content = (React.createElement(HotKeys, { keyMap: commands, handlers: hotKeysHandlers },
178
+ React.createElement("div", { "data-test": dataTest !== null && dataTest !== void 0 ? dataTest : 'table-wrapper', className: className },
179
+ React.createElement("div", { className: cn(styles.container, {
180
+ [styles.spaceBottom]: !hidePagination,
181
+ }) },
182
+ React.createElement("div", { "data-test": "table", ...getTableProps(), "aria-rowcount": rowCount },
183
+ !hideHeader && (React.createElement("div", { "data-test": "table-header-row-group", role: "rowgroup", className: headerClassName }, headerGroups.map((headerGroup) => {
184
+ const { key: headerGroupKey, ...restHeaderGroupProps } = headerGroup.getHeaderGroupProps();
185
+ return (React.createElement(HeaderRow, { key: headerGroupKey, ...restHeaderGroupProps, ariaRowIndex: headerIndex }, headerGroup.headers.map((column, i) => {
186
+ const { key: columnKey, ...restHeaderProps } = column.getHeaderProps(column.getSortByToggleProps());
187
+ const isDraggable = columnsOrdering && column.id !== 'expander';
188
+ 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 },
189
+ React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Header" })));
190
+ })));
191
+ }))),
192
+ !overlayLoading && loading ? (React.createElement(Row, { role: "row" },
193
+ React.createElement(Cell, { role: "cell", align: "center", colSpan: columns.length, "data-test": "table-loader-cell" },
194
+ React.createElement(Loader, null)))) : hasData ? (React.createElement(TableContent, { page: page, onCopy: onCopy, getHref: getHref, columns: columns, ...columnsSelectionProps, onRowClick: onRowClick, prepareRow: prepareRow, className: contentClassName, columnResizing: columnResizing, AnchorComponent: AnchorComponent, cellIndexOffset: cellIndexOffset, getCustomRowProps: getCustomRowProps, getCustomCellProps: getCustomCellProps, renderRowSubComponent: renderRowSubComponent })) : (React.createElement("div", { role: "row" },
195
+ React.createElement("div", { role: "cell" },
196
+ React.createElement(EmptyState, { "data-test": "table-no-data", className: styles.empty, title: noDataTitle, icon: AlertTriangle, iconLabel: "Alert" })))),
197
+ hasFooter && (React.createElement("div", { "data-test": "table-footer-row-group", role: "rowgroup", className: footerClassName }, footerGroups.map((group) => {
198
+ const { key: footerGroupKey, ...restFooterGroupProps } = group.getFooterGroupProps();
145
199
  return (
146
200
  // Footer props getters do not provide role attributes
147
- React.createElement(Cell, { key: footerKey, ...restFooterProps, align: column.align, role: "cell" },
148
- React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Footer" })));
149
- })));
150
- }))))),
151
- !hidePagination && hasData && (React.createElement(Pagination, { pageCount: pageCount, currentPage: pageIndex + 1, canPreviousPage: canPreviousPage, canNextPage: canNextPage, goToPage: (p) => {
152
- if (onPageChange) {
153
- onPageChange(p - 1);
154
- }
155
- else {
156
- gotoPage(p - 1);
157
- }
158
- }, nextPage: () => {
159
- if (onPageChange) {
160
- onPageChange(pageIndex + 1);
161
- }
162
- else {
163
- nextPage();
164
- }
165
- }, previousPage: () => {
166
- if (onPageChange) {
167
- onPageChange(pageIndex - 1);
168
- }
169
- else {
170
- previousPage();
171
- }
172
- }, 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] }))));
201
+ React.createElement(Row, { key: footerGroupKey, ariaRowIndex: rowCount, ...restFooterGroupProps, role: "row" }, group.headers.map((column) => {
202
+ const { key: footerKey, ...restFooterProps } = column.getFooterProps();
203
+ return (
204
+ // Footer props getters do not provide role attributes
205
+ React.createElement(Cell, { key: footerKey, ...restFooterProps, align: column.align, role: "cell" },
206
+ React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Footer" })));
207
+ })));
208
+ }))))),
209
+ !hidePagination && hasData && (React.createElement(Pagination, { pageCount: pageCount, currentPage: pageIndex + 1, canPreviousPage: canPreviousPage, canNextPage: canNextPage, goToPage: (p) => {
210
+ if (onPageChange) {
211
+ onPageChange(p - 1);
212
+ }
213
+ else {
214
+ gotoPage(p - 1);
215
+ }
216
+ }, nextPage: () => {
217
+ if (onPageChange) {
218
+ onPageChange(pageIndex + 1);
219
+ }
220
+ else {
221
+ nextPage();
222
+ }
223
+ }, previousPage: () => {
224
+ if (onPageChange) {
225
+ onPageChange(pageIndex - 1);
226
+ }
227
+ else {
228
+ previousPage();
229
+ }
230
+ }, 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] })))));
231
+ if (children) {
232
+ return children(content, tableInstance);
233
+ }
234
+ return content;
173
235
  };
174
236
  //# 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
+ }
@@ -0,0 +1,25 @@
1
+ import { AnchorHTMLAttributes, FC, MutableRefObject, ReactNode } from 'react';
2
+ import { Cell as CellType, Row as RowType, Column, UseResizeColumnsState } from 'react-table';
3
+ import { CellProps } from './Cell';
4
+ import { RowProps } from './Row';
5
+ import { useColumnsSelection } from './features/columnsSelection';
6
+ export declare type TableContentProps<D extends object> = {
7
+ loading?: boolean;
8
+ page: RowType<D>[];
9
+ className?: string;
10
+ cellIndexOffset: number;
11
+ overlayLoading?: boolean;
12
+ onEndSelection: () => void;
13
+ columns: readonly Column<D>[];
14
+ onCopy?: (value: string[][]) => void;
15
+ prepareRow: (row: RowType<D>) => void;
16
+ onRowClick?: (row: RowType<D>) => void;
17
+ selectionStartedRef: MutableRefObject<boolean>;
18
+ getHref?: (row: RowType<D>) => string | undefined;
19
+ getCustomRowProps?: (row: RowType<D>) => RowProps;
20
+ renderRowSubComponent?: (props: RowType<D>) => ReactNode;
21
+ getCustomCellProps?: (cellInfo: CellType<D>) => CellProps;
22
+ columnResizing: UseResizeColumnsState<D>['columnResizing'];
23
+ AnchorComponent?: FC<AnchorHTMLAttributes<HTMLAnchorElement>>;
24
+ } & ReturnType<typeof useColumnsSelection>;
25
+ export declare const TableContent: <D extends object>(props: TableContentProps<D>) => JSX.Element;
@@ -0,0 +1,49 @@
1
+ import cn from 'classnames';
2
+ import { IgnoreKeys } from 'react-hotkeys';
3
+ import React, { useRef } from 'react';
4
+ import { Loader } from '../Loader';
5
+ import { CellWrapper } from './CellWrapper';
6
+ import { LinkRow, Row } from './Row';
7
+ import { isCellSelected } from './features/columnsSelection';
8
+ import styles from './Table.module.scss';
9
+ export const TableContent = (props) => {
10
+ const { page, onCopy, columns, getHref, loading, className, prepareRow, onRowClick, columnResizing, overlayLoading, onEndSelection, AnchorComponent, cellIndexOffset, selectedColumns, onClickSelection, getCustomRowProps, getCustomCellProps, selectionStartedRef, renderRowSubComponent, onMouseEnterSelection, selectedColumnValuesRef, } = props;
11
+ const rootRef = useRef(null);
12
+ return (
13
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
14
+ React.createElement("div", { ref: rootRef, role: "rowgroup", "data-test": "table-cell-row-group", className: cn(styles.content, className), onMouseDown: () => {
15
+ selectionStartedRef.current = true;
16
+ document.body.addEventListener('mouseup', onEndSelection);
17
+ document.body.addEventListener('contextmenu', onEndSelection);
18
+ } },
19
+ page.map((row, rowIndex) => {
20
+ prepareRow(row);
21
+ const { key: rowKey, ...restRowProps } = row.getRowProps(getCustomRowProps === null || getCustomRowProps === void 0 ? void 0 : getCustomRowProps(row));
22
+ const cells = row.cells.map((cell, i) => {
23
+ const { key: cellKey, ...restCellProps } = cell.getCellProps(getCustomCellProps === null || getCustomCellProps === void 0 ? void 0 : getCustomCellProps(cell));
24
+ // We don't want to use cell.column.Cell as that is a ColumnInstance which already has a cell renderer
25
+ const column = columns[i];
26
+ const cellId = `${rowIndex}:${i}`;
27
+ const selected = isCellSelected(cellId, selectedColumns);
28
+ return (React.createElement(CellWrapper, { cell: cell, key: cellKey, cellId: cellId, column: column, selected: selected, selectable: !!onCopy, align: cell.column.align, columnResizing: columnResizing, onClickSelection: onClickSelection, selectionStartedRef: selectionStartedRef, onMouseEnterSelection: onMouseEnterSelection, selectedColumnValuesRef: selectedColumnValuesRef, ...restCellProps }));
29
+ });
30
+ if (getHref) {
31
+ const href = getHref(row);
32
+ if (href) {
33
+ return (React.createElement(LinkRow, { key: rowKey, AnchorComponent: AnchorComponent, ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, href: href }, cells));
34
+ }
35
+ }
36
+ return (React.createElement(React.Fragment, { key: rowKey },
37
+ React.createElement(Row, { ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, onClick: onRowClick
38
+ ? () => {
39
+ onRowClick(row);
40
+ }
41
+ : undefined }, cells),
42
+ row.isExpanded
43
+ ? renderRowSubComponent && (React.createElement(IgnoreKeys, { tabIndex: -1, className: styles.subRowWrapper }, renderRowSubComponent(row)))
44
+ : null));
45
+ }),
46
+ overlayLoading && loading && (React.createElement("div", { className: styles.overlayLoading },
47
+ React.createElement(Loader, null)))));
48
+ };
49
+ //# sourceMappingURL=TableContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableContent.js","sourceRoot":"","sources":["../../src/Table/TableContent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ .subRowWrapper {
2
+ &:focus {
3
+ outline: none;
4
+ }
5
+ }
@@ -0,0 +1,2 @@
1
+ export declare const ROW_SELECTOR_COLUMN_ID = "row-selector";
2
+ export declare const ROW_EXPANDER_COLUMN_ID = "row-expander";
@@ -0,0 +1,3 @@
1
+ export const ROW_SELECTOR_COLUMN_ID = 'row-selector';
2
+ export const ROW_EXPANDER_COLUMN_ID = 'row-expander';
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/Table/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAA;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAA"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { SelectedColumnsState } from './helpers';
3
+ export declare type ColumnsSelectionProps = {
4
+ rowsPerPage: number;
5
+ columnsPerRow: number;
6
+ };
7
+ export declare const useColumnsSelection: (props: ColumnsSelectionProps) => {
8
+ onEndSelection: () => void;
9
+ selectedColumns: SelectedColumnsState;
10
+ onClickSelection: (id: string, modifiers: {
11
+ ctrl: boolean;
12
+ shift: boolean;
13
+ }) => void;
14
+ setSelectedColumns: import("react").Dispatch<import("react").SetStateAction<SelectedColumnsState>>;
15
+ getSelectedColumns: () => SelectedColumnsState;
16
+ selectionStartedRef: import("react").MutableRefObject<boolean>;
17
+ onMouseEnterSelection: (id: string) => void;
18
+ selectedColumnValuesRef: import("react").MutableRefObject<(string | undefined)[][]>;
19
+ };
@@ -0,0 +1,71 @@
1
+ import { useCallback, useRef, useState } from 'react';
2
+ import { useRefValue } from '../../../hooks';
3
+ const initialSelectedColumnsState = {
4
+ columns: new Set(),
5
+ range: [undefined, undefined],
6
+ };
7
+ export const useColumnsSelection = (props) => {
8
+ const { columnsPerRow, rowsPerPage } = props;
9
+ const [selectedColumns, setSelectedColumns] = useState(initialSelectedColumnsState);
10
+ const selectionStartedRef = useRef(false);
11
+ const selectedColumnValuesRef = useRef([]);
12
+ const getColumnsPerRow = useRefValue(columnsPerRow);
13
+ const getRowsPerPage = useRefValue(rowsPerPage);
14
+ const getSelectedColumns = useRefValue(selectedColumns);
15
+ const clearSelectedColumnsValue = useCallback(() => {
16
+ selectedColumnValuesRef.current = Array.from(Array(getRowsPerPage()), () => new Array(getColumnsPerRow()));
17
+ }, [selectedColumnValuesRef, getRowsPerPage, getColumnsPerRow]);
18
+ const onEndSelection = useCallback(() => {
19
+ document.body.removeEventListener('mouseup', onEndSelection);
20
+ document.body.removeEventListener('contextmenu', onEndSelection);
21
+ selectionStartedRef.current = false;
22
+ }, []);
23
+ const onClickSelection = useCallback((id, modifiers) => {
24
+ setSelectedColumns((currentValue) => {
25
+ if (modifiers.ctrl) {
26
+ return {
27
+ ...currentValue,
28
+ columns: new Set(currentValue.columns.add(id)),
29
+ };
30
+ }
31
+ if (modifiers.shift && currentValue.columns.size === 1) {
32
+ const firstItem = currentValue.columns.values().next();
33
+ return {
34
+ columns: new Set(),
35
+ range: [firstItem.value, id],
36
+ };
37
+ }
38
+ clearSelectedColumnsValue();
39
+ return {
40
+ range: [undefined, undefined],
41
+ columns: new Set([id]),
42
+ };
43
+ });
44
+ }, [clearSelectedColumnsValue]);
45
+ const onMouseEnterSelection = useCallback((id) => {
46
+ setSelectedColumns((currentValue) => {
47
+ if (currentValue.columns.size === 1 && currentValue.range[0] === undefined) {
48
+ const firstItem = currentValue.columns.values().next();
49
+ return {
50
+ columns: new Set(),
51
+ range: [firstItem.value, id],
52
+ };
53
+ }
54
+ return {
55
+ ...currentValue,
56
+ range: [currentValue.range[0], id],
57
+ };
58
+ });
59
+ }, []);
60
+ return {
61
+ onEndSelection,
62
+ selectedColumns,
63
+ onClickSelection,
64
+ setSelectedColumns,
65
+ getSelectedColumns,
66
+ selectionStartedRef,
67
+ onMouseEnterSelection,
68
+ selectedColumnValuesRef,
69
+ };
70
+ };
71
+ //# sourceMappingURL=columnsSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnsSelection.js","sourceRoot":"","sources":["../../../../src/Table/features/columnsSelection/columnsSelection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare type SelectedColumnsState = {
2
+ range: [string | undefined, string | undefined];
3
+ columns: Set<string>;
4
+ };
5
+ export declare const cellIdToNumbersArray: (cellId: string) => [number, number];
6
+ export declare const inRange: (cellId: string, range: [string | undefined, string | undefined]) => boolean;
7
+ export declare const isCellSelected: (cellId: string, selectedColumns: SelectedColumnsState) => boolean;
@@ -0,0 +1,26 @@
1
+ export const cellIdToNumbersArray = (cellId) => {
2
+ const values = cellId.split(':');
3
+ return [Number(values[0]), Number(values[1])];
4
+ };
5
+ export const inRange = (cellId, range) => {
6
+ const start = range[0];
7
+ const end = range[1];
8
+ if (start) {
9
+ if (end) {
10
+ const cellValues = cellIdToNumbersArray(cellId);
11
+ const startValues = cellIdToNumbersArray(start);
12
+ const endValues = cellIdToNumbersArray(end);
13
+ const minRowIndex = Math.min(startValues[0], endValues[0]);
14
+ const maxRowIndex = Math.max(startValues[0], endValues[0]);
15
+ const minCellIndex = Math.min(startValues[1], endValues[1]);
16
+ const maxCellIndex = Math.max(startValues[1], endValues[1]);
17
+ return cellValues[0] >= minRowIndex && cellValues[0] <= maxRowIndex && cellValues[1] >= minCellIndex && cellValues[1] <= maxCellIndex;
18
+ }
19
+ return cellId === start;
20
+ }
21
+ return false;
22
+ };
23
+ export const isCellSelected = (cellId, selectedColumns) => {
24
+ return selectedColumns.columns.has(cellId) || inRange(cellId, selectedColumns.range);
25
+ };
26
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/Table/features/columnsSelection/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAoB,EAAE;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,KAA+C,EAAW,EAAE;IAClG,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAEpB,IAAI,KAAK,EAAE;QACT,IAAI,GAAG,EAAE;YACP,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAC/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAE3D,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAA;SACtI;QAED,OAAO,MAAM,KAAK,KAAK,CAAA;KACxB;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,eAAqC,EAAW,EAAE;IAC/F,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;AACtF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './columnsSelection';
2
+ export * from './helpers';