@redis-ui/table 2.4.0 → 2.18.0
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.
- package/dist/Table/Table.cjs +85 -136
- package/dist/Table/Table.context.cjs +16 -1
- package/dist/Table/Table.context.d.ts +22 -4
- package/dist/Table/Table.context.js +16 -1
- package/dist/Table/Table.d.ts +83 -3
- package/dist/Table/Table.js +86 -137
- package/dist/Table/Table.style.cjs +33 -17
- package/dist/Table/Table.style.d.ts +5 -2
- package/dist/Table/Table.style.js +34 -18
- package/dist/Table/Table.types.d.ts +21 -22
- package/dist/Table/components/Compose/Compose.cjs +42 -0
- package/dist/Table/components/Compose/Compose.d.ts +13 -0
- package/dist/Table/components/Compose/Compose.js +42 -0
- package/dist/Table/components/EmptyState/EmptyState.cjs +31 -0
- package/dist/Table/components/EmptyState/EmptyState.d.ts +6 -0
- package/dist/Table/components/EmptyState/EmptyState.js +31 -0
- package/dist/Table/components/ExpandRowButton/ExpandRowButton.cjs +1 -0
- package/dist/Table/components/ExpandRowButton/ExpandRowButton.js +1 -0
- package/dist/Table/components/HiddenCaption/HiddenCaption.cjs +13 -0
- package/dist/Table/components/HiddenCaption/HiddenCaption.d.ts +3 -0
- package/dist/Table/components/HiddenCaption/HiddenCaption.js +13 -0
- package/dist/Table/components/PluggableTable/PluggableTable.cjs +19 -0
- package/dist/Table/components/PluggableTable/PluggableTable.d.ts +10 -0
- package/dist/Table/components/PluggableTable/PluggableTable.js +19 -0
- package/dist/Table/components/PluggableTable/compositionComponents.cjs +21 -0
- package/dist/Table/components/PluggableTable/compositionComponents.d.ts +67 -0
- package/dist/Table/components/PluggableTable/compositionComponents.js +21 -0
- package/dist/Table/components/RowSelection/HeaderMultiRowSelectionButton.cjs +29 -0
- package/dist/Table/components/RowSelection/HeaderMultiRowSelectionButton.d.ts +7 -0
- package/dist/Table/components/RowSelection/HeaderMultiRowSelectionButton.js +29 -0
- package/dist/Table/components/RowSelection/HeaderMultiRowSelectionButton.test.d.ts +1 -0
- package/dist/Table/components/RowSelection/RowSelectionButton.cjs +15 -0
- package/dist/Table/components/RowSelection/RowSelectionButton.d.ts +6 -0
- package/dist/Table/components/RowSelection/RowSelectionButton.js +15 -0
- package/dist/Table/components/RowSelection/RowSelectionButton.test.d.ts +1 -0
- package/dist/Table/components/TableBody/TableBody.cjs +33 -0
- package/dist/Table/components/TableBody/TableBody.d.ts +23 -0
- package/dist/Table/components/TableBody/TableBody.js +33 -0
- package/dist/Table/components/TableBody/components/Compose/Compose.cjs +10 -0
- package/dist/Table/components/TableBody/components/Compose/Compose.d.ts +3 -0
- package/dist/Table/components/TableBody/components/Compose/Compose.js +10 -0
- package/dist/Table/components/TableBodyCell/TableBodyCell.cjs +22 -0
- package/dist/Table/components/TableBodyCell/TableBodyCell.d.ts +12 -0
- package/dist/Table/components/TableBodyCell/TableBodyCell.js +22 -0
- package/dist/Table/components/TableBodyCell/components/Compose/Compose.cjs +5 -0
- package/dist/Table/components/TableBodyCell/components/Compose/Compose.d.ts +3 -0
- package/dist/Table/components/TableBodyCell/components/Compose/Compose.js +5 -0
- package/dist/Table/components/TableBodyRow/TableBodyRow.cjs +38 -0
- package/dist/Table/components/TableBodyRow/TableBodyRow.d.ts +20 -0
- package/dist/Table/components/TableBodyRow/TableBodyRow.js +38 -0
- package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.cjs +33 -0
- package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.d.ts +2 -0
- package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.js +33 -0
- package/dist/Table/components/TableBodyRow/components/Compose/Compose.cjs +17 -0
- package/dist/Table/components/TableBodyRow/components/Compose/Compose.d.ts +4 -0
- package/dist/Table/components/TableBodyRow/components/Compose/Compose.js +17 -0
- package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.cjs +3 -4
- package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.d.ts +1 -1
- package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.js +3 -4
- package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.style.cjs +1 -1
- package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.style.js +1 -1
- package/dist/Table/components/TableExpandedRow/TableExpandedRow.cjs +9 -4
- package/dist/Table/components/TableExpandedRow/TableExpandedRow.d.ts +1 -1
- package/dist/Table/components/TableExpandedRow/TableExpandedRow.js +9 -4
- package/dist/Table/components/TableExpandedRow/TableExpandedRow.style.cjs +2 -2
- package/dist/Table/components/TableExpandedRow/TableExpandedRow.style.js +2 -2
- package/dist/Table/components/TableExpandedRow/TableExpandedRow.types.d.ts +3 -5
- package/dist/Table/components/TableHeader/TableHeader.cjs +28 -0
- package/dist/Table/components/TableHeader/TableHeader.d.ts +21 -0
- package/dist/Table/components/TableHeader/TableHeader.js +28 -0
- package/dist/Table/components/TableHeader/components/Compose/Compose.cjs +5 -0
- package/dist/Table/components/TableHeader/components/Compose/Compose.d.ts +3 -0
- package/dist/Table/components/TableHeader/components/Compose/Compose.js +5 -0
- package/dist/Table/components/TableHeaderCell/SRSortingNotification.cjs +19 -0
- package/dist/Table/components/TableHeaderCell/SRSortingNotification.d.ts +1 -0
- package/dist/Table/components/TableHeaderCell/SRSortingNotification.js +19 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.cjs +23 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.cjs +15 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.d.ts +8 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.js +15 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.d.ts +16 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.js +23 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.test.d.ts +1 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.types.d.ts +13 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.cjs +79 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.d.ts +10 -0
- package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.js +79 -0
- package/dist/Table/components/TableHeaderCell/components/Compose/Compose.cjs +40 -0
- package/dist/Table/components/TableHeaderCell/components/Compose/Compose.d.ts +9 -0
- package/dist/Table/components/TableHeaderCell/components/Compose/Compose.js +40 -0
- package/dist/Table/components/TableHeaderCell/components/Heading/Heading.cjs +34 -0
- package/dist/Table/components/TableHeaderCell/components/Heading/Heading.d.ts +5 -0
- package/dist/Table/components/TableHeaderCell/components/Heading/Heading.js +34 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.cjs +16 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.d.ts +8 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.js +16 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.cjs +23 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.d.ts +5 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.js +23 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.cjs +6 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.d.ts +2 -0
- package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.js +6 -0
- package/dist/Table/components/TableHeaderRow/TableHeaderRow.cjs +27 -0
- package/dist/Table/components/TableHeaderRow/TableHeaderRow.d.ts +12 -0
- package/dist/Table/components/TableHeaderRow/TableHeaderRow.js +27 -0
- package/dist/Table/components/TableHeaderRow/components/Compose/Compose.cjs +5 -0
- package/dist/Table/components/TableHeaderRow/components/Compose/Compose.d.ts +3 -0
- package/dist/Table/components/TableHeaderRow/components/Compose/Compose.js +5 -0
- package/dist/Table/components/TablePagination/TablePagination.cjs +63 -78
- package/dist/Table/components/TablePagination/TablePagination.d.ts +23 -3
- package/dist/Table/components/TablePagination/TablePagination.js +64 -79
- package/dist/Table/components/TablePagination/TablePagination.style.cjs +78 -53
- package/dist/Table/components/TablePagination/TablePagination.style.d.ts +17 -49
- package/dist/Table/components/TablePagination/TablePagination.style.js +80 -55
- package/dist/Table/components/TablePagination/components/Compose/Compose.cjs +41 -0
- package/dist/Table/components/TablePagination/components/Compose/Compose.d.ts +3 -0
- package/dist/Table/components/TablePagination/components/Compose/Compose.js +41 -0
- package/dist/Table/components/TableRoot/TableRoot.cjs +5 -0
- package/dist/Table/components/TableRoot/TableRoot.d.ts +1 -0
- package/dist/Table/components/TableRoot/TableRoot.js +5 -0
- package/dist/Table/index.d.ts +3 -6
- package/dist/Table/plugins/ClickableRowPlugin.cjs +48 -0
- package/dist/Table/plugins/ClickableRowPlugin.d.ts +25 -0
- package/dist/Table/plugins/ClickableRowPlugin.js +48 -0
- package/dist/Table/plugins/ExpandableRowPlugin.cjs +38 -0
- package/dist/Table/plugins/ExpandableRowPlugin.d.ts +22 -0
- package/dist/Table/plugins/ExpandableRowPlugin.js +38 -0
- package/dist/Table/plugins/PaginationPlugin.cjs +45 -0
- package/dist/Table/plugins/PaginationPlugin.d.ts +16 -0
- package/dist/Table/plugins/PaginationPlugin.js +45 -0
- package/dist/Table/plugins/RowSelectionPlugin.cjs +28 -0
- package/dist/Table/plugins/RowSelectionPlugin.d.ts +12 -0
- package/dist/Table/plugins/RowSelectionPlugin.js +28 -0
- package/dist/Table/plugins/SortingPlugin.cjs +44 -0
- package/dist/Table/plugins/SortingPlugin.d.ts +18 -0
- package/dist/Table/plugins/SortingPlugin.js +44 -0
- package/dist/Table/tanStackExtendedTypes.d.ts +11 -0
- package/dist/Table/utils/plugin.utils.cjs +49 -0
- package/dist/Table/utils/plugin.utils.d.ts +17 -0
- package/dist/Table/utils/plugin.utils.js +49 -0
- package/dist/Table/utils/plugin.utils.test.d.ts +1 -0
- package/dist/index.cjs +60 -0
- package/dist/index.js +61 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +55 -0
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +37 -0
- package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +100 -0
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js +82 -0
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +51 -0
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +33 -0
- package/dist/node_modules/@tanstack/react-table/build/lib/index.cjs +7 -0
- package/dist/node_modules/@tanstack/react-table/build/lib/index.js +8 -1
- package/dist/node_modules/@tanstack/table-core/build/lib/index.cjs +361 -4
- package/dist/node_modules/@tanstack/table-core/build/lib/index.js +361 -4
- package/package.json +7 -5
|
@@ -1,58 +1,83 @@
|
|
|
1
|
-
import _styled from "styled-components";
|
|
1
|
+
import _styled, { css } from "styled-components";
|
|
2
2
|
import { useTheme } from "@redislabsdev/redis-ui-styles";
|
|
3
|
-
import {
|
|
4
|
-
const
|
|
5
|
-
displayName: "
|
|
6
|
-
componentId: "
|
|
7
|
-
})(["
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
})
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
3
|
+
import { Pagination } from "@redislabsdev/redis-ui-components";
|
|
4
|
+
const NavigationButton = _styled(Pagination.NavigationButton).withConfig({
|
|
5
|
+
displayName: "TablePaginationstyle__NavigationButton",
|
|
6
|
+
componentId: "RedisUI__sc-ccqfi0-0"
|
|
7
|
+
})(["", ";"], () => {
|
|
8
|
+
const styles = useTheme().components.table.pagination.navButton;
|
|
9
|
+
return css`
|
|
10
|
+
width: ${styles.width};
|
|
11
|
+
height: ${styles.height};
|
|
12
|
+
padding: ${styles.padding};
|
|
13
|
+
color: ${styles.color};
|
|
14
|
+
|
|
15
|
+
&:disabled {
|
|
16
|
+
color: ${styles.disabledColor};
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
19
|
+
});
|
|
20
|
+
const PaginationBar = _styled(Pagination.Bar).attrs(({
|
|
21
|
+
"aria-label": al
|
|
22
|
+
}) => ({
|
|
23
|
+
"aria-label": al ?? "Table Pagination"
|
|
24
|
+
})).withConfig({
|
|
25
|
+
displayName: "TablePaginationstyle__PaginationBar",
|
|
26
|
+
componentId: "RedisUI__sc-ccqfi0-1"
|
|
27
|
+
})(["", " width:100%;overflow:auto hidden;> *{flex:none;}"], () => {
|
|
28
|
+
const styles = useTheme().components.table.pagination.bar;
|
|
29
|
+
return css`
|
|
30
|
+
font-size: ${styles.fontSize};
|
|
31
|
+
gap: ${styles.gap};
|
|
32
|
+
height: ${styles.height};
|
|
33
|
+
padding: ${styles.padding};
|
|
34
|
+
border: solid ${styles.borderColor};
|
|
35
|
+
border-width: ${styles.borderSize};
|
|
36
|
+
color: ${styles.textColor};
|
|
37
|
+
`;
|
|
38
|
+
});
|
|
39
|
+
const InfoLabel = _styled(Pagination.InfoLabel).withConfig({
|
|
40
|
+
displayName: "TablePaginationstyle__InfoLabel",
|
|
41
|
+
componentId: "RedisUI__sc-ccqfi0-2"
|
|
42
|
+
})(["line-height:", ";"], () => useTheme().components.table.pagination.select.height);
|
|
43
|
+
const useSelectStyles = () => {
|
|
44
|
+
const styles = useTheme().components.table.pagination.select;
|
|
45
|
+
return css`
|
|
46
|
+
gap: ${styles.gap};
|
|
47
|
+
height: ${styles.height};
|
|
48
|
+
padding: ${styles.padding};
|
|
49
|
+
color: ${styles.textColor};
|
|
50
|
+
font-size: ${styles.fontSize};
|
|
51
|
+
line-height: initial;
|
|
52
|
+
`;
|
|
53
|
+
};
|
|
54
|
+
const PageSizeSelect = _styled(Pagination.PageSizeSelect).withConfig({
|
|
55
|
+
displayName: "TablePaginationstyle__PageSizeSelect",
|
|
56
|
+
componentId: "RedisUI__sc-ccqfi0-3"
|
|
57
|
+
})(["", ""], useSelectStyles);
|
|
58
|
+
const PageSelect = _styled(Pagination.PageSelect).withConfig({
|
|
59
|
+
displayName: "TablePaginationstyle__PageSelect",
|
|
60
|
+
componentId: "RedisUI__sc-ccqfi0-4"
|
|
61
|
+
})(["", ""], useSelectStyles);
|
|
62
|
+
const PageSizeGroup = _styled(Pagination.Group).withConfig({
|
|
63
|
+
displayName: "TablePaginationstyle__PageSizeGroup",
|
|
64
|
+
componentId: "RedisUI__sc-ccqfi0-5"
|
|
65
|
+
})(["gap:1rem;"]);
|
|
66
|
+
const PageNavGroup = _styled(Pagination.Group).withConfig({
|
|
67
|
+
displayName: "TablePaginationstyle__PageNavGroup",
|
|
68
|
+
componentId: "RedisUI__sc-ccqfi0-6"
|
|
69
|
+
})(["gap:0.4rem;"]);
|
|
70
|
+
const PageSelectGroup = _styled(Pagination.Group).withConfig({
|
|
71
|
+
displayName: "TablePaginationstyle__PageSelectGroup",
|
|
72
|
+
componentId: "RedisUI__sc-ccqfi0-7"
|
|
73
|
+
})(["gap:0.4rem;"]);
|
|
48
74
|
export {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
TotalPagesText
|
|
75
|
+
InfoLabel,
|
|
76
|
+
NavigationButton,
|
|
77
|
+
PageNavGroup,
|
|
78
|
+
PageSelect,
|
|
79
|
+
PageSelectGroup,
|
|
80
|
+
PageSizeGroup,
|
|
81
|
+
PageSizeSelect,
|
|
82
|
+
PaginationBar
|
|
58
83
|
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("../../../../../node_modules/react/jsx-runtime.cjs");
|
|
4
|
+
const redisUiComponents = require("@redislabsdev/redis-ui-components");
|
|
5
|
+
const React = require("react");
|
|
6
|
+
const Table_context = require("../../../../Table.context.cjs");
|
|
7
|
+
const PaginationPlugin = require("../../../../plugins/PaginationPlugin.cjs");
|
|
8
|
+
const TablePaginationCompose = ({
|
|
9
|
+
children
|
|
10
|
+
}) => {
|
|
11
|
+
const {
|
|
12
|
+
table
|
|
13
|
+
} = Table_context.useTableContext();
|
|
14
|
+
const pagination = PaginationPlugin.usePaginationContext();
|
|
15
|
+
const paginationEnabled = !!pagination;
|
|
16
|
+
const {
|
|
17
|
+
pageIndex,
|
|
18
|
+
pageSize
|
|
19
|
+
} = table.getState().pagination;
|
|
20
|
+
const pageCount = Math.max(table.getPageCount(), 1);
|
|
21
|
+
React.useEffect(() => {
|
|
22
|
+
if (paginationEnabled) {
|
|
23
|
+
const fixedIndex = Math.min(pageIndex, pageCount - 1);
|
|
24
|
+
if (fixedIndex !== pageIndex) table.setPageIndex(fixedIndex);
|
|
25
|
+
}
|
|
26
|
+
}, [pageCount, pageIndex, table, paginationEnabled]);
|
|
27
|
+
if (!paginationEnabled) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return jsxRuntime.jsxRuntimeExports.jsx(redisUiComponents.Pagination.Compose, {
|
|
31
|
+
onPageChange: table.setPageIndex,
|
|
32
|
+
pageIndex,
|
|
33
|
+
pageSize,
|
|
34
|
+
pageCount,
|
|
35
|
+
onPageSizeChange: table.setPageSize,
|
|
36
|
+
totalItemCount: table.getRowCount(),
|
|
37
|
+
visibleItemCount: table.getRowModel().rows.length,
|
|
38
|
+
children
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
exports.TablePaginationCompose = TablePaginationCompose;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "../../../../../node_modules/react/jsx-runtime.js";
|
|
2
|
+
import { Pagination } from "@redislabsdev/redis-ui-components";
|
|
3
|
+
import { useEffect } from "react";
|
|
4
|
+
import { useTableContext } from "../../../../Table.context.js";
|
|
5
|
+
import { usePaginationContext } from "../../../../plugins/PaginationPlugin.js";
|
|
6
|
+
const TablePaginationCompose = ({
|
|
7
|
+
children
|
|
8
|
+
}) => {
|
|
9
|
+
const {
|
|
10
|
+
table
|
|
11
|
+
} = useTableContext();
|
|
12
|
+
const pagination = usePaginationContext();
|
|
13
|
+
const paginationEnabled = !!pagination;
|
|
14
|
+
const {
|
|
15
|
+
pageIndex,
|
|
16
|
+
pageSize
|
|
17
|
+
} = table.getState().pagination;
|
|
18
|
+
const pageCount = Math.max(table.getPageCount(), 1);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (paginationEnabled) {
|
|
21
|
+
const fixedIndex = Math.min(pageIndex, pageCount - 1);
|
|
22
|
+
if (fixedIndex !== pageIndex) table.setPageIndex(fixedIndex);
|
|
23
|
+
}
|
|
24
|
+
}, [pageCount, pageIndex, table, paginationEnabled]);
|
|
25
|
+
if (!paginationEnabled) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return jsxRuntimeExports.jsx(Pagination.Compose, {
|
|
29
|
+
onPageChange: table.setPageIndex,
|
|
30
|
+
pageIndex,
|
|
31
|
+
pageSize,
|
|
32
|
+
pageCount,
|
|
33
|
+
onPageSizeChange: table.setPageSize,
|
|
34
|
+
totalItemCount: table.getRowCount(),
|
|
35
|
+
visibleItemCount: table.getRowModel().rows.length,
|
|
36
|
+
children
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
export {
|
|
40
|
+
TablePaginationCompose
|
|
41
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TableRoot: import("styled-components").StyledComponent<"table", any, {}, never>;
|
package/dist/Table/index.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export { default as Table } from './Table';
|
|
2
2
|
export { ShowOnRowHover } from './components/ShowOnRowHover/ShowOnRowHover.style';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export type
|
|
6
|
-
export type { PaginationTypes } from './Table.types';
|
|
7
|
-
export type { SortingTypes } from './Table.types';
|
|
8
|
-
export { useTableContext } from './Table.context';
|
|
3
|
+
export * from './Table.types';
|
|
4
|
+
export * from './Table.context';
|
|
5
|
+
export { type TablePluginData, buildPluginContext } from './utils/plugin.utils';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const redisUiComponents = require("@redislabsdev/redis-ui-components");
|
|
4
|
+
const plugin_utils = require("../utils/plugin.utils.cjs");
|
|
5
|
+
const Table_context = require("../Table.context.cjs");
|
|
6
|
+
const getTrue = () => true;
|
|
7
|
+
const TableClickableRowContextKey = "clickableRow";
|
|
8
|
+
const useClickableRowPlugin = ({
|
|
9
|
+
getCanRowClick = getTrue,
|
|
10
|
+
onRowClick,
|
|
11
|
+
shouldClickOnEnter = false
|
|
12
|
+
}) => {
|
|
13
|
+
return onRowClick ? {
|
|
14
|
+
tableOptions: {},
|
|
15
|
+
context: plugin_utils.buildPluginContext(TableClickableRowContextKey, {
|
|
16
|
+
getCanRowClick,
|
|
17
|
+
onRowClick,
|
|
18
|
+
shouldClickOnEnter
|
|
19
|
+
})
|
|
20
|
+
} : void 0;
|
|
21
|
+
};
|
|
22
|
+
const useClickableRowContext = () => Table_context.usePluginContext(TableClickableRowContextKey);
|
|
23
|
+
const useHandleClickableRow = ({
|
|
24
|
+
row,
|
|
25
|
+
onClick,
|
|
26
|
+
onKeyDown
|
|
27
|
+
}) => {
|
|
28
|
+
const {
|
|
29
|
+
getCanRowClick,
|
|
30
|
+
onRowClick,
|
|
31
|
+
shouldClickOnEnter
|
|
32
|
+
} = useClickableRowContext() || {};
|
|
33
|
+
const handleClick = redisUiComponents.combineHandlers(onRowClick && (getCanRowClick == null ? void 0 : getCanRowClick(row)) ? () => onRowClick(row) : void 0, onClick);
|
|
34
|
+
const handleKeyDown = redisUiComponents.combineHandlers(shouldClickOnEnter && handleClick ? (event) => {
|
|
35
|
+
var _a;
|
|
36
|
+
if (event.key === "Enter" && event.target === event.currentTarget) {
|
|
37
|
+
(_a = event.currentTarget) == null ? void 0 : _a.click();
|
|
38
|
+
}
|
|
39
|
+
} : void 0, onKeyDown);
|
|
40
|
+
return {
|
|
41
|
+
onClick: handleClick,
|
|
42
|
+
onKeyDown: handleKeyDown
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
exports.TableClickableRowContextKey = TableClickableRowContextKey;
|
|
46
|
+
exports.useClickableRowContext = useClickableRowContext;
|
|
47
|
+
exports.useClickableRowPlugin = useClickableRowPlugin;
|
|
48
|
+
exports.useHandleClickableRow = useHandleClickableRow;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { KeyboardEventHandler, MouseEventHandler } from 'react';
|
|
2
|
+
import { type Row } from '@tanstack/react-table';
|
|
3
|
+
import { TablePluginData } from '../utils/plugin.utils';
|
|
4
|
+
export declare const TableClickableRowContextKey = "clickableRow";
|
|
5
|
+
export type TableClickableRowContext<T extends object> = {
|
|
6
|
+
/** Allows individual rows to be clickable */
|
|
7
|
+
getCanRowClick: (row: Row<T>) => boolean;
|
|
8
|
+
/** Handles click on the row */
|
|
9
|
+
onRowClick: (row: Row<T>) => void;
|
|
10
|
+
/** Allows simulating click on the row, when pressing Enter key */
|
|
11
|
+
shouldClickOnEnter: boolean;
|
|
12
|
+
};
|
|
13
|
+
export type TableClickableRowParams<T extends object> = Partial<TableClickableRowContext<T>>;
|
|
14
|
+
export declare const useClickableRowPlugin: <T extends object>({ getCanRowClick, onRowClick, shouldClickOnEnter }: Partial<TableClickableRowContext<T>>) => TablePluginData<T>;
|
|
15
|
+
export declare const useClickableRowContext: <T extends object>() => TableClickableRowContext<T> | undefined;
|
|
16
|
+
type UseHandleClickableRowParams<T extends object> = {
|
|
17
|
+
row: Row<T>;
|
|
18
|
+
onClick?: MouseEventHandler<HTMLTableRowElement>;
|
|
19
|
+
onKeyDown?: KeyboardEventHandler<HTMLTableRowElement>;
|
|
20
|
+
};
|
|
21
|
+
export declare const useHandleClickableRow: <T extends object>({ row, onClick, onKeyDown }: UseHandleClickableRowParams<T>) => {
|
|
22
|
+
onClick: MouseEventHandler<HTMLTableRowElement> | undefined;
|
|
23
|
+
onKeyDown: ((event: import("react").KeyboardEvent<HTMLTableRowElement>) => void) | undefined;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { combineHandlers } from "@redislabsdev/redis-ui-components";
|
|
2
|
+
import { buildPluginContext } from "../utils/plugin.utils.js";
|
|
3
|
+
import { usePluginContext } from "../Table.context.js";
|
|
4
|
+
const getTrue = () => true;
|
|
5
|
+
const TableClickableRowContextKey = "clickableRow";
|
|
6
|
+
const useClickableRowPlugin = ({
|
|
7
|
+
getCanRowClick = getTrue,
|
|
8
|
+
onRowClick,
|
|
9
|
+
shouldClickOnEnter = false
|
|
10
|
+
}) => {
|
|
11
|
+
return onRowClick ? {
|
|
12
|
+
tableOptions: {},
|
|
13
|
+
context: buildPluginContext(TableClickableRowContextKey, {
|
|
14
|
+
getCanRowClick,
|
|
15
|
+
onRowClick,
|
|
16
|
+
shouldClickOnEnter
|
|
17
|
+
})
|
|
18
|
+
} : void 0;
|
|
19
|
+
};
|
|
20
|
+
const useClickableRowContext = () => usePluginContext(TableClickableRowContextKey);
|
|
21
|
+
const useHandleClickableRow = ({
|
|
22
|
+
row,
|
|
23
|
+
onClick,
|
|
24
|
+
onKeyDown
|
|
25
|
+
}) => {
|
|
26
|
+
const {
|
|
27
|
+
getCanRowClick,
|
|
28
|
+
onRowClick,
|
|
29
|
+
shouldClickOnEnter
|
|
30
|
+
} = useClickableRowContext() || {};
|
|
31
|
+
const handleClick = combineHandlers(onRowClick && (getCanRowClick == null ? void 0 : getCanRowClick(row)) ? () => onRowClick(row) : void 0, onClick);
|
|
32
|
+
const handleKeyDown = combineHandlers(shouldClickOnEnter && handleClick ? (event) => {
|
|
33
|
+
var _a;
|
|
34
|
+
if (event.key === "Enter" && event.target === event.currentTarget) {
|
|
35
|
+
(_a = event.currentTarget) == null ? void 0 : _a.click();
|
|
36
|
+
}
|
|
37
|
+
} : void 0, onKeyDown);
|
|
38
|
+
return {
|
|
39
|
+
onClick: handleClick,
|
|
40
|
+
onKeyDown: handleKeyDown
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
TableClickableRowContextKey,
|
|
45
|
+
useClickableRowContext,
|
|
46
|
+
useClickableRowPlugin,
|
|
47
|
+
useHandleClickableRow
|
|
48
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const plugin_utils = require("../utils/plugin.utils.cjs");
|
|
4
|
+
const ClickableRowPlugin = require("./ClickableRowPlugin.cjs");
|
|
5
|
+
const Table_context = require("../Table.context.cjs");
|
|
6
|
+
const index = require("../../node_modules/@tanstack/table-core/build/lib/index.cjs");
|
|
7
|
+
const getTrue = () => true;
|
|
8
|
+
const TableExpandableRowContextKey = "expandableRow";
|
|
9
|
+
const useExpandableRowPlugin = ({
|
|
10
|
+
getRowCanExpand,
|
|
11
|
+
renderExpandedRow,
|
|
12
|
+
expandRowOnClick,
|
|
13
|
+
expandedRowComponent
|
|
14
|
+
}) => {
|
|
15
|
+
const clickablePluginData = ClickableRowPlugin.useClickableRowPlugin({
|
|
16
|
+
getCanRowClick: (row) => !!(expandRowOnClick && row.getCanExpand()),
|
|
17
|
+
onRowClick: (row) => row.toggleExpanded(),
|
|
18
|
+
shouldClickOnEnter: true
|
|
19
|
+
});
|
|
20
|
+
const isExpandable = !!renderExpandedRow;
|
|
21
|
+
return isExpandable ? {
|
|
22
|
+
tableOptions: {
|
|
23
|
+
getExpandedRowModel: index.getExpandedRowModel(),
|
|
24
|
+
getRowCanExpand: getRowCanExpand || getTrue
|
|
25
|
+
},
|
|
26
|
+
context: {
|
|
27
|
+
...plugin_utils.buildPluginContext(TableExpandableRowContextKey, {
|
|
28
|
+
renderExpandedRow,
|
|
29
|
+
expandedRowComponent
|
|
30
|
+
}),
|
|
31
|
+
...expandRowOnClick ? clickablePluginData == null ? void 0 : clickablePluginData.context : null
|
|
32
|
+
}
|
|
33
|
+
} : void 0;
|
|
34
|
+
};
|
|
35
|
+
const useExpandableRowContext = () => Table_context.usePluginContext(TableExpandableRowContextKey);
|
|
36
|
+
exports.TableExpandableRowContextKey = TableExpandableRowContextKey;
|
|
37
|
+
exports.useExpandableRowContext = useExpandableRowContext;
|
|
38
|
+
exports.useExpandableRowPlugin = useExpandableRowPlugin;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import { type Row } from '@tanstack/react-table';
|
|
3
|
+
import { TablePluginData } from '../utils/plugin.utils';
|
|
4
|
+
import type { TableExpandedRowProps } from '../components/TableExpandedRow';
|
|
5
|
+
export declare const TableExpandableRowContextKey = "expandableRow";
|
|
6
|
+
export type TableExpandableRowContext<T extends object> = {
|
|
7
|
+
/** Renders content of expanded part */
|
|
8
|
+
renderExpandedRow?: (row: Row<T>) => ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Overrides whole expanded part component.<br/>
|
|
11
|
+
* There are 2 predefined components `Table.ExpandedRow` (default) and `Table.AnimatedExpandedRow`
|
|
12
|
+
*/
|
|
13
|
+
expandedRowComponent?: ComponentType<TableExpandedRowProps<T>>;
|
|
14
|
+
};
|
|
15
|
+
export interface TableExpandableRowParams<T extends object> extends TableExpandableRowContext<T> {
|
|
16
|
+
/** Allows expanding row by Click on whole row and by pressing Enter, when row is focused */
|
|
17
|
+
expandRowOnClick?: boolean;
|
|
18
|
+
/** Allows individual rows to be expandable */
|
|
19
|
+
getRowCanExpand?: (row: Row<T>) => boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const useExpandableRowPlugin: <T extends object>({ getRowCanExpand, renderExpandedRow, expandRowOnClick, expandedRowComponent }: TableExpandableRowParams<T>) => TablePluginData<T>;
|
|
22
|
+
export declare const useExpandableRowContext: <T extends object>() => TableExpandableRowContext<T> | undefined;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { buildPluginContext } from "../utils/plugin.utils.js";
|
|
2
|
+
import { useClickableRowPlugin } from "./ClickableRowPlugin.js";
|
|
3
|
+
import { usePluginContext } from "../Table.context.js";
|
|
4
|
+
import { getExpandedRowModel } from "../../node_modules/@tanstack/table-core/build/lib/index.js";
|
|
5
|
+
const getTrue = () => true;
|
|
6
|
+
const TableExpandableRowContextKey = "expandableRow";
|
|
7
|
+
const useExpandableRowPlugin = ({
|
|
8
|
+
getRowCanExpand,
|
|
9
|
+
renderExpandedRow,
|
|
10
|
+
expandRowOnClick,
|
|
11
|
+
expandedRowComponent
|
|
12
|
+
}) => {
|
|
13
|
+
const clickablePluginData = useClickableRowPlugin({
|
|
14
|
+
getCanRowClick: (row) => !!(expandRowOnClick && row.getCanExpand()),
|
|
15
|
+
onRowClick: (row) => row.toggleExpanded(),
|
|
16
|
+
shouldClickOnEnter: true
|
|
17
|
+
});
|
|
18
|
+
const isExpandable = !!renderExpandedRow;
|
|
19
|
+
return isExpandable ? {
|
|
20
|
+
tableOptions: {
|
|
21
|
+
getExpandedRowModel: getExpandedRowModel(),
|
|
22
|
+
getRowCanExpand: getRowCanExpand || getTrue
|
|
23
|
+
},
|
|
24
|
+
context: {
|
|
25
|
+
...buildPluginContext(TableExpandableRowContextKey, {
|
|
26
|
+
renderExpandedRow,
|
|
27
|
+
expandedRowComponent
|
|
28
|
+
}),
|
|
29
|
+
...expandRowOnClick ? clickablePluginData == null ? void 0 : clickablePluginData.context : null
|
|
30
|
+
}
|
|
31
|
+
} : void 0;
|
|
32
|
+
};
|
|
33
|
+
const useExpandableRowContext = () => usePluginContext(TableExpandableRowContextKey);
|
|
34
|
+
export {
|
|
35
|
+
TableExpandableRowContextKey,
|
|
36
|
+
useExpandableRowContext,
|
|
37
|
+
useExpandableRowPlugin
|
|
38
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const index = require("../../node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs");
|
|
4
|
+
const plugin_utils = require("../utils/plugin.utils.cjs");
|
|
5
|
+
const Table_context = require("../Table.context.cjs");
|
|
6
|
+
const index$1 = require("../../node_modules/@tanstack/table-core/build/lib/index.cjs");
|
|
7
|
+
const DEFAULT_PAGINATION = {
|
|
8
|
+
pageIndex: 0,
|
|
9
|
+
pageSize: 10
|
|
10
|
+
};
|
|
11
|
+
const TablePaginationContextKey = "pagination";
|
|
12
|
+
const usePaginationPlugin = ({
|
|
13
|
+
pagination,
|
|
14
|
+
defaultPagination,
|
|
15
|
+
onPaginationChange,
|
|
16
|
+
manualPagination,
|
|
17
|
+
totalRowCount,
|
|
18
|
+
pageSizes,
|
|
19
|
+
paginationEnabled = (pagination || defaultPagination || onPaginationChange || pageSizes) !== void 0 || manualPagination !== void 0
|
|
20
|
+
}) => {
|
|
21
|
+
const [paginationState, setPaginationState] = index.useControllableState({
|
|
22
|
+
prop: pagination,
|
|
23
|
+
defaultProp: defaultPagination ?? DEFAULT_PAGINATION,
|
|
24
|
+
onChange: onPaginationChange
|
|
25
|
+
});
|
|
26
|
+
return paginationEnabled ? {
|
|
27
|
+
tableOptions: {
|
|
28
|
+
state: {
|
|
29
|
+
pagination: paginationState
|
|
30
|
+
},
|
|
31
|
+
getPaginationRowModel: index$1.getPaginationRowModel(),
|
|
32
|
+
onPaginationChange: setPaginationState,
|
|
33
|
+
manualPagination,
|
|
34
|
+
rowCount: totalRowCount,
|
|
35
|
+
autoResetPageIndex: false
|
|
36
|
+
},
|
|
37
|
+
context: plugin_utils.buildPluginContext(TablePaginationContextKey, {
|
|
38
|
+
pageSizes
|
|
39
|
+
})
|
|
40
|
+
} : void 0;
|
|
41
|
+
};
|
|
42
|
+
const usePaginationContext = () => Table_context.usePluginContext(TablePaginationContextKey);
|
|
43
|
+
exports.TablePaginationContextKey = TablePaginationContextKey;
|
|
44
|
+
exports.usePaginationContext = usePaginationContext;
|
|
45
|
+
exports.usePaginationPlugin = usePaginationPlugin;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PaginationState } from '@tanstack/react-table';
|
|
2
|
+
import { TablePluginData } from '../utils/plugin.utils';
|
|
3
|
+
export declare const TablePaginationContextKey = "pagination";
|
|
4
|
+
export interface TablePaginationContext {
|
|
5
|
+
pageSizes?: number[];
|
|
6
|
+
paginationEnabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface TablePaginationParams extends TablePaginationContext {
|
|
9
|
+
pagination?: PaginationState;
|
|
10
|
+
defaultPagination?: PaginationState;
|
|
11
|
+
onPaginationChange?: (state: PaginationState) => void;
|
|
12
|
+
manualPagination?: boolean;
|
|
13
|
+
totalRowCount?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare const usePaginationPlugin: <T extends object>({ pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, pageSizes, paginationEnabled }: TablePaginationParams) => TablePluginData<T>;
|
|
16
|
+
export declare const usePaginationContext: () => TablePaginationContext | undefined;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { useControllableState } from "../../node_modules/@radix-ui/react-use-controllable-state/dist/index.js";
|
|
2
|
+
import { buildPluginContext } from "../utils/plugin.utils.js";
|
|
3
|
+
import { usePluginContext } from "../Table.context.js";
|
|
4
|
+
import { getPaginationRowModel } from "../../node_modules/@tanstack/table-core/build/lib/index.js";
|
|
5
|
+
const DEFAULT_PAGINATION = {
|
|
6
|
+
pageIndex: 0,
|
|
7
|
+
pageSize: 10
|
|
8
|
+
};
|
|
9
|
+
const TablePaginationContextKey = "pagination";
|
|
10
|
+
const usePaginationPlugin = ({
|
|
11
|
+
pagination,
|
|
12
|
+
defaultPagination,
|
|
13
|
+
onPaginationChange,
|
|
14
|
+
manualPagination,
|
|
15
|
+
totalRowCount,
|
|
16
|
+
pageSizes,
|
|
17
|
+
paginationEnabled = (pagination || defaultPagination || onPaginationChange || pageSizes) !== void 0 || manualPagination !== void 0
|
|
18
|
+
}) => {
|
|
19
|
+
const [paginationState, setPaginationState] = useControllableState({
|
|
20
|
+
prop: pagination,
|
|
21
|
+
defaultProp: defaultPagination ?? DEFAULT_PAGINATION,
|
|
22
|
+
onChange: onPaginationChange
|
|
23
|
+
});
|
|
24
|
+
return paginationEnabled ? {
|
|
25
|
+
tableOptions: {
|
|
26
|
+
state: {
|
|
27
|
+
pagination: paginationState
|
|
28
|
+
},
|
|
29
|
+
getPaginationRowModel: getPaginationRowModel(),
|
|
30
|
+
onPaginationChange: setPaginationState,
|
|
31
|
+
manualPagination,
|
|
32
|
+
rowCount: totalRowCount,
|
|
33
|
+
autoResetPageIndex: false
|
|
34
|
+
},
|
|
35
|
+
context: buildPluginContext(TablePaginationContextKey, {
|
|
36
|
+
pageSizes
|
|
37
|
+
})
|
|
38
|
+
} : void 0;
|
|
39
|
+
};
|
|
40
|
+
const usePaginationContext = () => usePluginContext(TablePaginationContextKey);
|
|
41
|
+
export {
|
|
42
|
+
TablePaginationContextKey,
|
|
43
|
+
usePaginationContext,
|
|
44
|
+
usePaginationPlugin
|
|
45
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const index = require("../../node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs");
|
|
4
|
+
const DEFAULT_ROW_SELECTION = {};
|
|
5
|
+
const useRowSelectionPlugin = ({
|
|
6
|
+
rowSelection,
|
|
7
|
+
defaultRowSelection,
|
|
8
|
+
onRowSelectionChange,
|
|
9
|
+
rowSelectionMode,
|
|
10
|
+
getRowCanSelect
|
|
11
|
+
}) => {
|
|
12
|
+
const [rowSelectionState = DEFAULT_ROW_SELECTION, setRowSelectionState] = index.useControllableState({
|
|
13
|
+
prop: rowSelection,
|
|
14
|
+
defaultProp: defaultRowSelection,
|
|
15
|
+
onChange: onRowSelectionChange
|
|
16
|
+
});
|
|
17
|
+
return rowSelectionMode && {
|
|
18
|
+
tableOptions: {
|
|
19
|
+
state: {
|
|
20
|
+
rowSelection: rowSelectionState
|
|
21
|
+
},
|
|
22
|
+
enableRowSelection: getRowCanSelect ?? true,
|
|
23
|
+
enableMultiRowSelection: rowSelectionMode === "multiple",
|
|
24
|
+
onRowSelectionChange: setRowSelectionState
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
exports.useRowSelectionPlugin = useRowSelectionPlugin;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Row, RowSelectionState } from '@tanstack/react-table';
|
|
2
|
+
import { TablePluginData } from '../utils/plugin.utils';
|
|
3
|
+
export interface TableRowSelectionParams<T extends object> {
|
|
4
|
+
rowSelection?: RowSelectionState;
|
|
5
|
+
defaultRowSelection?: RowSelectionState;
|
|
6
|
+
onRowSelectionChange?: (state: RowSelectionState) => void;
|
|
7
|
+
/** Enables row selection sets selection mode */
|
|
8
|
+
rowSelectionMode?: 'single' | 'multiple';
|
|
9
|
+
/** Allows individual rows to be selectable */
|
|
10
|
+
getRowCanSelect?: (row: Row<T>) => boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const useRowSelectionPlugin: <T extends object>({ rowSelection, defaultRowSelection, onRowSelectionChange, rowSelectionMode, getRowCanSelect }: TableRowSelectionParams<T>) => TablePluginData<T>;
|