@redis-ui/table 2.12.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.
Files changed (140) hide show
  1. package/dist/Table/Table.cjs +70 -145
  2. package/dist/Table/Table.context.cjs +16 -1
  3. package/dist/Table/Table.context.d.ts +22 -4
  4. package/dist/Table/Table.context.js +16 -1
  5. package/dist/Table/Table.d.ts +83 -5
  6. package/dist/Table/Table.js +70 -145
  7. package/dist/Table/Table.style.cjs +10 -5
  8. package/dist/Table/Table.style.d.ts +3 -3
  9. package/dist/Table/Table.style.js +10 -5
  10. package/dist/Table/Table.types.d.ts +20 -38
  11. package/dist/Table/components/Compose/Compose.cjs +42 -0
  12. package/dist/Table/components/Compose/Compose.d.ts +13 -0
  13. package/dist/Table/components/Compose/Compose.js +42 -0
  14. package/dist/Table/components/EmptyState/EmptyState.cjs +31 -0
  15. package/dist/Table/components/EmptyState/EmptyState.d.ts +6 -0
  16. package/dist/Table/components/EmptyState/EmptyState.js +31 -0
  17. package/dist/Table/components/HiddenCaption/HiddenCaption.cjs +13 -0
  18. package/dist/Table/components/HiddenCaption/HiddenCaption.d.ts +3 -0
  19. package/dist/Table/components/HiddenCaption/HiddenCaption.js +13 -0
  20. package/dist/Table/components/PluggableTable/PluggableTable.cjs +19 -0
  21. package/dist/Table/components/PluggableTable/PluggableTable.d.ts +10 -0
  22. package/dist/Table/components/PluggableTable/PluggableTable.js +19 -0
  23. package/dist/Table/components/PluggableTable/compositionComponents.cjs +21 -0
  24. package/dist/Table/components/PluggableTable/compositionComponents.d.ts +67 -0
  25. package/dist/Table/components/PluggableTable/compositionComponents.js +21 -0
  26. package/dist/Table/components/TableBody/TableBody.cjs +33 -0
  27. package/dist/Table/components/TableBody/TableBody.d.ts +23 -0
  28. package/dist/Table/components/TableBody/TableBody.js +33 -0
  29. package/dist/Table/components/TableBody/components/Compose/Compose.cjs +10 -0
  30. package/dist/Table/components/TableBody/components/Compose/Compose.d.ts +3 -0
  31. package/dist/Table/components/TableBody/components/Compose/Compose.js +10 -0
  32. package/dist/Table/components/TableBodyCell/TableBodyCell.cjs +22 -0
  33. package/dist/Table/components/TableBodyCell/TableBodyCell.d.ts +12 -0
  34. package/dist/Table/components/TableBodyCell/TableBodyCell.js +22 -0
  35. package/dist/Table/components/TableBodyCell/components/Compose/Compose.cjs +5 -0
  36. package/dist/Table/components/TableBodyCell/components/Compose/Compose.d.ts +3 -0
  37. package/dist/Table/components/TableBodyCell/components/Compose/Compose.js +5 -0
  38. package/dist/Table/components/TableBodyRow/TableBodyRow.cjs +38 -0
  39. package/dist/Table/components/TableBodyRow/TableBodyRow.d.ts +20 -0
  40. package/dist/Table/components/TableBodyRow/TableBodyRow.js +38 -0
  41. package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.cjs +33 -0
  42. package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.d.ts +2 -0
  43. package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.js +33 -0
  44. package/dist/Table/components/TableBodyRow/components/Compose/Compose.cjs +17 -0
  45. package/dist/Table/components/TableBodyRow/components/Compose/Compose.d.ts +4 -0
  46. package/dist/Table/components/TableBodyRow/components/Compose/Compose.js +17 -0
  47. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.cjs +3 -4
  48. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.d.ts +1 -1
  49. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.js +3 -4
  50. package/dist/Table/components/TableExpandedRow/TableExpandedRow.cjs +9 -4
  51. package/dist/Table/components/TableExpandedRow/TableExpandedRow.d.ts +1 -1
  52. package/dist/Table/components/TableExpandedRow/TableExpandedRow.js +9 -4
  53. package/dist/Table/components/TableExpandedRow/TableExpandedRow.types.d.ts +3 -5
  54. package/dist/Table/components/TableHeader/TableHeader.cjs +28 -0
  55. package/dist/Table/components/TableHeader/TableHeader.d.ts +21 -0
  56. package/dist/Table/components/TableHeader/TableHeader.js +28 -0
  57. package/dist/Table/components/TableHeader/components/Compose/Compose.cjs +5 -0
  58. package/dist/Table/components/TableHeader/components/Compose/Compose.d.ts +3 -0
  59. package/dist/Table/components/TableHeader/components/Compose/Compose.js +5 -0
  60. package/dist/Table/components/TableHeaderCell/SRSortingNotification.cjs +19 -0
  61. package/dist/Table/components/TableHeaderCell/SRSortingNotification.d.ts +1 -0
  62. package/dist/Table/components/TableHeaderCell/SRSortingNotification.js +19 -0
  63. package/dist/Table/components/TableHeaderCell/TableHeaderCell.cjs +19 -33
  64. package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.cjs +15 -0
  65. package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.d.ts +8 -0
  66. package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.js +15 -0
  67. package/dist/Table/components/TableHeaderCell/TableHeaderCell.d.ts +16 -4
  68. package/dist/Table/components/TableHeaderCell/TableHeaderCell.js +19 -33
  69. package/dist/Table/components/TableHeaderCell/TableHeaderCell.test.d.ts +1 -0
  70. package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.cjs +0 -22
  71. package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.d.ts +0 -1
  72. package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.js +1 -23
  73. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.cjs +40 -0
  74. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.d.ts +9 -0
  75. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.js +40 -0
  76. package/dist/Table/components/TableHeaderCell/components/Heading/Heading.cjs +34 -0
  77. package/dist/Table/components/TableHeaderCell/components/Heading/Heading.d.ts +5 -0
  78. package/dist/Table/components/TableHeaderCell/components/Heading/Heading.js +34 -0
  79. package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.cjs +16 -0
  80. package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.d.ts +8 -0
  81. package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.js +16 -0
  82. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.cjs +23 -0
  83. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.d.ts +5 -0
  84. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.js +23 -0
  85. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.cjs +6 -0
  86. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.d.ts +2 -0
  87. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.js +6 -0
  88. package/dist/Table/components/TableHeaderRow/TableHeaderRow.cjs +27 -0
  89. package/dist/Table/components/TableHeaderRow/TableHeaderRow.d.ts +12 -0
  90. package/dist/Table/components/TableHeaderRow/TableHeaderRow.js +27 -0
  91. package/dist/Table/components/TableHeaderRow/components/Compose/Compose.cjs +5 -0
  92. package/dist/Table/components/TableHeaderRow/components/Compose/Compose.d.ts +3 -0
  93. package/dist/Table/components/TableHeaderRow/components/Compose/Compose.js +5 -0
  94. package/dist/Table/components/TablePagination/TablePagination.cjs +65 -99
  95. package/dist/Table/components/TablePagination/TablePagination.d.ts +23 -3
  96. package/dist/Table/components/TablePagination/TablePagination.js +66 -100
  97. package/dist/Table/components/TablePagination/TablePagination.style.cjs +70 -50
  98. package/dist/Table/components/TablePagination/TablePagination.style.d.ts +17 -50
  99. package/dist/Table/components/TablePagination/TablePagination.style.js +72 -52
  100. package/dist/Table/components/TablePagination/components/Compose/Compose.cjs +41 -0
  101. package/dist/Table/components/TablePagination/components/Compose/Compose.d.ts +3 -0
  102. package/dist/Table/components/TablePagination/components/Compose/Compose.js +41 -0
  103. package/dist/Table/components/TableRoot/TableRoot.cjs +5 -0
  104. package/dist/Table/components/TableRoot/TableRoot.d.ts +1 -0
  105. package/dist/Table/components/TableRoot/TableRoot.js +5 -0
  106. package/dist/Table/index.d.ts +3 -6
  107. package/dist/Table/plugins/ClickableRowPlugin.cjs +48 -0
  108. package/dist/Table/plugins/ClickableRowPlugin.d.ts +25 -0
  109. package/dist/Table/plugins/ClickableRowPlugin.js +48 -0
  110. package/dist/Table/plugins/ExpandableRowPlugin.cjs +38 -0
  111. package/dist/Table/plugins/ExpandableRowPlugin.d.ts +22 -0
  112. package/dist/Table/plugins/ExpandableRowPlugin.js +38 -0
  113. package/dist/Table/plugins/PaginationPlugin.cjs +45 -0
  114. package/dist/Table/plugins/PaginationPlugin.d.ts +16 -0
  115. package/dist/Table/plugins/PaginationPlugin.js +45 -0
  116. package/dist/Table/plugins/RowSelectionPlugin.cjs +28 -0
  117. package/dist/Table/plugins/RowSelectionPlugin.d.ts +12 -0
  118. package/dist/Table/plugins/RowSelectionPlugin.js +28 -0
  119. package/dist/Table/plugins/SortingPlugin.cjs +44 -0
  120. package/dist/Table/plugins/SortingPlugin.d.ts +18 -0
  121. package/dist/Table/plugins/SortingPlugin.js +44 -0
  122. package/dist/Table/tanStackExtendedTypes.d.ts +11 -0
  123. package/dist/Table/utils/plugin.utils.cjs +49 -0
  124. package/dist/Table/utils/plugin.utils.d.ts +17 -0
  125. package/dist/Table/utils/plugin.utils.js +49 -0
  126. package/dist/Table/utils/plugin.utils.test.d.ts +1 -0
  127. package/dist/index.cjs +60 -0
  128. package/dist/index.js +61 -1
  129. package/dist/node_modules/@tanstack/react-table/build/lib/index.cjs +7 -0
  130. package/dist/node_modules/@tanstack/react-table/build/lib/index.js +8 -1
  131. package/dist/node_modules/@tanstack/table-core/build/lib/index.cjs +361 -4
  132. package/dist/node_modules/@tanstack/table-core/build/lib/index.js +361 -4
  133. package/package.json +6 -5
  134. package/dist/Table/components/EmptyStateRow/EmptyStateRow.cjs +0 -16
  135. package/dist/Table/components/EmptyStateRow/EmptyStateRow.d.ts +0 -8
  136. package/dist/Table/components/EmptyStateRow/EmptyStateRow.js +0 -16
  137. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +0 -32
  138. package/dist/node_modules/@radix-ui/react-id/dist/index.js +0 -14
  139. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +0 -24
  140. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +0 -6
@@ -1,112 +1,78 @@
1
1
  import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
- import { DoubleChevronLeftIcon, ChevronLeftIcon, ChevronRightIcon, DoubleChevronRightIcon } from "@redislabsdev/redis-ui-icons";
3
- import { useId } from "../../../node_modules/@radix-ui/react-id/dist/index.js";
4
- import { useTableContext } from "../../Table.context.js";
5
- import { PaginationRow, CountInfo, ItemPerPageText, Label, Select, PaginationActions, PaginationIconButton, PaginationIndexText, PageLabelText, TotalPagesText } from "./TablePagination.style.js";
6
- const DEFAULT_PAGE_SIZES = [10, 25, 50, 100];
7
- const TablePagination = ({
8
- pageSizes = DEFAULT_PAGE_SIZES
9
- }) => {
10
- const {
11
- table
12
- } = useTableContext();
13
- const perPageId = useId();
14
- const pageNumId = useId();
15
- if (!table._getPaginationRowModel) {
2
+ import { Pagination } from "@redislabsdev/redis-ui-components";
3
+ import { usePaginationContext } from "../../plugins/PaginationPlugin.js";
4
+ import { TablePaginationCompose } from "./components/Compose/Compose.js";
5
+ import { PaginationBar, InfoLabel, PageSelect, PageSizeSelect, NavigationButton, PageSizeGroup, PageNavGroup, PageSelectGroup } from "./TablePagination.style.js";
6
+ const renderRowCount = ({
7
+ visibleItemCount,
8
+ totalItemCount
9
+ }) => `Showing ${visibleItemCount} out of ${totalItemCount} rows`;
10
+ const renderPageCount = ({
11
+ pageIndex,
12
+ pageCount
13
+ }) => `${pageIndex + 1} of ${pageCount}`;
14
+ const renderTotalPageCount = ({
15
+ pageCount
16
+ }) => `of ${pageCount}`;
17
+ const TablePagination = Object.assign(() => {
18
+ const pagination = usePaginationContext();
19
+ if (!pagination) {
16
20
  return null;
17
21
  }
18
- const {
19
- pageIndex,
20
- pageSize
21
- } = table.getState().pagination;
22
- const totalRowCount = table.getRowCount();
23
- const pageCount = Math.max(table.getPageCount(), 1);
24
- const handlePageSizeChange = (value) => {
25
- table.setPageSize(Number(value));
26
- };
27
- const handlePageIndexChange = (index) => {
28
- table.setPageIndex(index);
29
- };
30
- return jsxRuntimeExports.jsx(PaginationRow, {
31
- "data-role": "pagination",
32
- children: jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
33
- children: [jsxRuntimeExports.jsxs(CountInfo, {
34
- children: ["Showing ", table.getRowModel().rows.length, " out of ", totalRowCount, " rows"]
35
- }), jsxRuntimeExports.jsxs("div", {
36
- style: {
37
- display: "flex",
38
- alignItems: "center",
39
- gap: "1rem"
40
- },
41
- children: [jsxRuntimeExports.jsx(ItemPerPageText, {
42
- children: jsxRuntimeExports.jsx(Label, {
43
- htmlFor: perPageId,
44
- children: "Items per page:"
45
- })
46
- }), jsxRuntimeExports.jsx(Select, {
47
- id: perPageId,
48
- value: pageSize.toString(),
49
- onChange: handlePageSizeChange,
50
- disabled: pageSizes[0] > totalRowCount,
51
- options: pageSizes.map(String).map((value) => ({
52
- value
53
- }))
22
+ return jsxRuntimeExports.jsx(TablePagination.Compose, {
23
+ children: jsxRuntimeExports.jsxs(TablePagination.Bar, {
24
+ "data-role": "pagination",
25
+ children: [jsxRuntimeExports.jsx(TablePagination.InfoLabel, {
26
+ renderer: renderRowCount,
27
+ ellipsis: true,
28
+ tooltipOnEllipsis: true
29
+ }), jsxRuntimeExports.jsx(TablePagination.Split, {}), jsxRuntimeExports.jsxs(TablePagination.PageSizeGroup, {
30
+ children: [jsxRuntimeExports.jsx(TablePagination.PageSizeSelect.Label, {
31
+ children: "Items per page:"
32
+ }), jsxRuntimeExports.jsx(TablePagination.PageSizeSelect, {
33
+ pageSizes: pagination.pageSizes
54
34
  })]
55
- }), jsxRuntimeExports.jsxs(PaginationActions, {
56
- children: [jsxRuntimeExports.jsx(PaginationIconButton, {
57
- icon: DoubleChevronLeftIcon,
58
- size: "S",
59
- onClick: () => handlePageIndexChange(0),
60
- disabled: pageIndex === 0,
61
- title: "First page",
62
- "aria-label": "first page"
63
- }), jsxRuntimeExports.jsx(PaginationIconButton, {
64
- icon: ChevronLeftIcon,
65
- size: "S",
66
- onClick: () => handlePageIndexChange(pageIndex - 1),
67
- disabled: pageIndex === 0,
68
- title: "Previous page",
69
- "aria-label": "previous page"
70
- }), jsxRuntimeExports.jsxs(PaginationIndexText, {
71
- size: "S",
72
- children: [pageIndex + 1, " of ", pageCount]
73
- }), jsxRuntimeExports.jsx(PaginationIconButton, {
74
- icon: ChevronRightIcon,
75
- size: "S",
76
- onClick: () => handlePageIndexChange(pageIndex + 1),
77
- disabled: pageIndex === pageCount - 1,
78
- title: "Next page",
79
- "aria-label": "next page"
80
- }), jsxRuntimeExports.jsx(PaginationIconButton, {
81
- icon: DoubleChevronRightIcon,
82
- size: "S",
83
- onClick: () => handlePageIndexChange(pageCount - 1),
84
- disabled: pageIndex === pageCount - 1,
85
- title: "Last page",
86
- "aria-label": "last page"
35
+ }), jsxRuntimeExports.jsxs(TablePagination.PageNavGroup, {
36
+ children: [jsxRuntimeExports.jsxs("div", {
37
+ children: [jsxRuntimeExports.jsx(TablePagination.NavigationButton, {
38
+ navType: "first"
39
+ }), jsxRuntimeExports.jsx(TablePagination.NavigationButton, {
40
+ navType: "prev"
41
+ })]
42
+ }), jsxRuntimeExports.jsx(TablePagination.InfoLabel, {
43
+ ellipsis: true,
44
+ tooltipOnEllipsis: true,
45
+ renderer: renderPageCount
46
+ }), jsxRuntimeExports.jsxs("div", {
47
+ children: [jsxRuntimeExports.jsx(TablePagination.NavigationButton, {
48
+ navType: "next"
49
+ }), jsxRuntimeExports.jsx(TablePagination.NavigationButton, {
50
+ navType: "last"
51
+ })]
87
52
  })]
88
- }), jsxRuntimeExports.jsxs(PaginationActions, {
89
- children: [jsxRuntimeExports.jsx(PageLabelText, {
90
- children: jsxRuntimeExports.jsx(Label, {
91
- htmlFor: pageNumId,
92
- children: "Page"
93
- })
94
- }), jsxRuntimeExports.jsx(Select, {
95
- id: pageNumId,
96
- value: (pageIndex + 1).toString(),
97
- onChange: (value) => handlePageIndexChange(Number(value) - 1),
98
- options: Array.from({
99
- length: pageCount
100
- }, (_, i) => String(i + 1)).map((value) => ({
101
- value
102
- }))
103
- }), jsxRuntimeExports.jsxs(TotalPagesText, {
104
- children: ["of ", pageCount]
53
+ }), jsxRuntimeExports.jsxs(TablePagination.PageSelectGroup, {
54
+ children: [jsxRuntimeExports.jsx(TablePagination.PageSelect.Label, {
55
+ children: "Page"
56
+ }), jsxRuntimeExports.jsx(TablePagination.PageSelect, {}), jsxRuntimeExports.jsx(TablePagination.InfoLabel, {
57
+ ellipsis: true,
58
+ tooltipOnEllipsis: true,
59
+ renderer: renderTotalPageCount
105
60
  })]
106
61
  })]
107
62
  })
108
63
  });
109
- };
64
+ }, {
65
+ Compose: TablePaginationCompose,
66
+ Bar: PaginationBar,
67
+ Split: Pagination.Split,
68
+ InfoLabel,
69
+ PageSelect,
70
+ PageSizeSelect,
71
+ NavigationButton,
72
+ PageSizeGroup,
73
+ PageNavGroup,
74
+ PageSelectGroup
75
+ });
110
76
  export {
111
77
  TablePagination as default
112
78
  };
@@ -5,61 +5,81 @@ const redisUiStyles = require("@redislabsdev/redis-ui-styles");
5
5
  const redisUiComponents = require("@redislabsdev/redis-ui-components");
6
6
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
7
  const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
8
- const PaginationIconButton = _styled__default.default(redisUiComponents.IconButton).withConfig({
9
- displayName: "TablePaginationstyle__PaginationIconButton",
8
+ const NavigationButton = _styled__default.default(redisUiComponents.Pagination.NavigationButton).withConfig({
9
+ displayName: "TablePaginationstyle__NavigationButton",
10
10
  componentId: "RedisUI__sc-ccqfi0-0"
11
- })(["color:", ";&:disabled{color:", ";}"], () => redisUiStyles.useTheme().components.table.components.tablePagination.paginationIconButton.enabledColor, () => redisUiStyles.useTheme().components.table.components.tablePagination.paginationIconButton.disabledColor);
12
- const CountInfo = _styled__default.default(redisUiComponents.Typography.Body).withConfig({
13
- displayName: "TablePaginationstyle__CountInfo",
11
+ })(["", ";"], () => {
12
+ const styles = redisUiStyles.useTheme().components.table.pagination.navButton;
13
+ return _styled.css`
14
+ width: ${styles.width};
15
+ height: ${styles.height};
16
+ padding: ${styles.padding};
17
+ color: ${styles.color};
18
+
19
+ &:disabled {
20
+ color: ${styles.disabledColor};
21
+ }
22
+ `;
23
+ });
24
+ const PaginationBar = _styled__default.default(redisUiComponents.Pagination.Bar).attrs(({
25
+ "aria-label": al
26
+ }) => ({
27
+ "aria-label": al ?? "Table Pagination"
28
+ })).withConfig({
29
+ displayName: "TablePaginationstyle__PaginationBar",
14
30
  componentId: "RedisUI__sc-ccqfi0-1"
15
- })(["display:flex;margin-right:auto;font-size:1.2rem;color:", ";"], () => redisUiStyles.useTheme().components.table.components.tablePagination.countInfoText.color);
16
- const PaginationRow = _styled__default.default.div.withConfig({
17
- displayName: "TablePaginationstyle__PaginationRow",
31
+ })(["", " width:100%;overflow:auto hidden;> *{flex:none;}"], () => {
32
+ const styles = redisUiStyles.useTheme().components.table.pagination.bar;
33
+ return _styled.css`
34
+ font-size: ${styles.fontSize};
35
+ gap: ${styles.gap};
36
+ height: ${styles.height};
37
+ padding: ${styles.padding};
38
+ border: solid ${styles.borderColor};
39
+ border-width: ${styles.borderSize};
40
+ color: ${styles.textColor};
41
+ `;
42
+ });
43
+ const InfoLabel = _styled__default.default(redisUiComponents.Pagination.InfoLabel).withConfig({
44
+ displayName: "TablePaginationstyle__InfoLabel",
18
45
  componentId: "RedisUI__sc-ccqfi0-2"
19
- })(["display:flex;align-items:center;gap:3.2rem;width:100%;height:4.8rem;padding:0 1.2rem;justify-content:flex-end;border-top:1px solid ", ";"], () => redisUiStyles.useTheme().components.table.components.tablePagination.paginationRow.borderTop);
20
- const Select = _styled__default.default(redisUiComponents.Select).withConfig({
21
- displayName: "TablePaginationstyle__Select",
46
+ })(["line-height:", ";"], () => redisUiStyles.useTheme().components.table.pagination.select.height);
47
+ const useSelectStyles = () => {
48
+ const styles = redisUiStyles.useTheme().components.table.pagination.select;
49
+ return _styled.css`
50
+ gap: ${styles.gap};
51
+ height: ${styles.height};
52
+ padding: ${styles.padding};
53
+ color: ${styles.textColor};
54
+ font-size: ${styles.fontSize};
55
+ line-height: initial;
56
+ `;
57
+ };
58
+ const PageSizeSelect = _styled__default.default(redisUiComponents.Pagination.PageSizeSelect).withConfig({
59
+ displayName: "TablePaginationstyle__PageSizeSelect",
22
60
  componentId: "RedisUI__sc-ccqfi0-3"
23
- })(["height:2rem;padding:0 0.4rem;gap:0.4rem;span{font-size:1.2rem;line-height:initial;}"]);
24
- const PaginationActions = _styled__default.default.div.withConfig({
25
- displayName: "TablePaginationstyle__PaginationActions",
61
+ })(["", ""], useSelectStyles);
62
+ const PageSelect = _styled__default.default(redisUiComponents.Pagination.PageSelect).withConfig({
63
+ displayName: "TablePaginationstyle__PageSelect",
26
64
  componentId: "RedisUI__sc-ccqfi0-4"
27
- })(["display:flex;align-items:center;gap:0.4rem;"]);
28
- const ItemPerPageText = _styled__default.default(redisUiComponents.Typography.Body).attrs({
29
- size: "S"
30
- }).withConfig({
31
- displayName: "TablePaginationstyle__ItemPerPageText",
65
+ })(["", ""], useSelectStyles);
66
+ const PageSizeGroup = _styled__default.default(redisUiComponents.Pagination.Group).withConfig({
67
+ displayName: "TablePaginationstyle__PageSizeGroup",
32
68
  componentId: "RedisUI__sc-ccqfi0-5"
33
- })(["color:", ";flex-shrink:0;"], () => redisUiStyles.useTheme().components.table.components.tablePagination.itemPerPageText.color);
34
- const PaginationIndexText = _styled__default.default(redisUiComponents.Typography.Body).attrs({
35
- size: "S"
36
- }).withConfig({
37
- displayName: "TablePaginationstyle__PaginationIndexText",
69
+ })(["gap:1rem;"]);
70
+ const PageNavGroup = _styled__default.default(redisUiComponents.Pagination.Group).withConfig({
71
+ displayName: "TablePaginationstyle__PageNavGroup",
38
72
  componentId: "RedisUI__sc-ccqfi0-6"
39
- })(["color:", ";"], () => redisUiStyles.useTheme().components.table.components.tablePagination.paginationIndexText.color);
40
- const PageLabelText = _styled__default.default(redisUiComponents.Typography.Body).attrs({
41
- size: "S"
42
- }).withConfig({
43
- displayName: "TablePaginationstyle__PageLabelText",
73
+ })(["gap:0.4rem;"]);
74
+ const PageSelectGroup = _styled__default.default(redisUiComponents.Pagination.Group).withConfig({
75
+ displayName: "TablePaginationstyle__PageSelectGroup",
44
76
  componentId: "RedisUI__sc-ccqfi0-7"
45
- })(["color:", ";flex-shrink:0;"], () => redisUiStyles.useTheme().components.table.components.tablePagination.pageLabelText.color);
46
- const Label = _styled__default.default.label.withConfig({
47
- displayName: "TablePaginationstyle__Label",
48
- componentId: "RedisUI__sc-ccqfi0-8"
49
- })(["all:unset;"]);
50
- const TotalPagesText = _styled__default.default(redisUiComponents.Typography.Body).attrs({
51
- size: "S"
52
- }).withConfig({
53
- displayName: "TablePaginationstyle__TotalPagesText",
54
- componentId: "RedisUI__sc-ccqfi0-9"
55
- })(["color:", ";flex-shrink:0;"], () => redisUiStyles.useTheme().components.table.components.tablePagination.totalPagesText.color);
56
- exports.CountInfo = CountInfo;
57
- exports.ItemPerPageText = ItemPerPageText;
58
- exports.Label = Label;
59
- exports.PageLabelText = PageLabelText;
60
- exports.PaginationActions = PaginationActions;
61
- exports.PaginationIconButton = PaginationIconButton;
62
- exports.PaginationIndexText = PaginationIndexText;
63
- exports.PaginationRow = PaginationRow;
64
- exports.Select = Select;
65
- exports.TotalPagesText = TotalPagesText;
77
+ })(["gap:0.4rem;"]);
78
+ exports.InfoLabel = InfoLabel;
79
+ exports.NavigationButton = NavigationButton;
80
+ exports.PageNavGroup = PageNavGroup;
81
+ exports.PageSelect = PageSelect;
82
+ exports.PageSelectGroup = PageSelectGroup;
83
+ exports.PageSizeGroup = PageSizeGroup;
84
+ exports.PageSizeSelect = PageSizeSelect;
85
+ exports.PaginationBar = PaginationBar;
@@ -1,51 +1,18 @@
1
- /// <reference types="react" />
2
- export declare const PaginationIconButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@redislabsdev/redis-ui-components").IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>, any, {}, never>;
3
- export declare const CountInfo: import("styled-components").StyledComponent<({ size, variant, color, component, ellipsis, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Typography/components/Body/Body.types").BodyProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
4
- export declare const PaginationRow: import("styled-components").StyledComponent<"div", any, {}, never>;
5
- export declare const Select: import("styled-components").StyledComponent<(<TValue extends string = string, TOption extends import("@redislabsdev/redis-ui-components").SelectOption<TValue> = import("@redislabsdev/redis-ui-components").SelectOption<TValue>>({ options, disabled, defaultOpen, open, onOpenChange, defaultValue, value, onChange, customCompare, error, valid, valueRender, searchable, placement, maxVisibleItems, placeholder, virtualized, contentWidth, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Compose/Compose.types").SelectComposeProps<TValue, TOption> & Omit<import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Compose/Compose.types").SelectTriggerComposeProps, "customContainer"> & import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Value/Value.types").SelectTriggerValueProps<TOption> & {
6
- allowReset?: boolean | undefined;
7
- loading?: boolean | undefined;
8
- } & Omit<import("@redislabsdev/redis-ui-components/dist/Select/components/Content/Content.types").SelectContentProps<TOption>, "optionComponent" | "optionValueRender"> & import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Compose/Compose.types").RestSelectTriggerComposeProps) => import("react/jsx-runtime").JSX.Element) & {
9
- Compose: <TValue_1 extends string = string, TOption_1 extends import("@redislabsdev/redis-ui-components").SelectOption<TValue_1> = import("@redislabsdev/redis-ui-components").SelectOption<TValue_1>>({ options, children, onOpenChange, defaultValue, value, onChange, customCompare, error, valid, disabled, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Compose/Compose.types").SelectComposeProps<TValue_1, TOption_1> & import("@redislabsdev/redis-ui-components/dist/Helpers/common.types").ComposeChildrenProps) => import("react/jsx-runtime").JSX.Element;
10
- Trigger: (<TOption_2 extends import("@redislabsdev/redis-ui-components").SelectOption<string> = import("@redislabsdev/redis-ui-components").SelectOption<string>>({ placeholder, valueRender, allowReset, loading, ...props }: Omit<import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Compose/Compose.types").SelectTriggerComposeProps, "customContainer"> & import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Value/Value.types").SelectTriggerValueProps<TOption_2> & {
11
- allowReset?: boolean | undefined;
12
- loading?: boolean | undefined;
13
- } & import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Compose/Compose.types").RestSelectTriggerComposeProps) => import("react/jsx-runtime").JSX.Element) & {
14
- Compose: ({ customContainer, id, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Compose/Compose.types").SelectTriggerComposeProps & import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Compose/Compose.types").RestSelectTriggerComposeProps & import("@redislabsdev/redis-ui-components/dist/Helpers/common.types").ComposeChildrenProps) => import("react/jsx-runtime").JSX.Element;
15
- Value: <TOption_3 extends import("@redislabsdev/redis-ui-components").SelectOption<string> = import("@redislabsdev/redis-ui-components").SelectOption<string>>({ placeholder, valueRender, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Value/Value.types").SelectTriggerValueProps<TOption_3> & import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Value/Value.types").RestSelectTriggerValueProps) => import("react/jsx-runtime").JSX.Element;
16
- ResetButton: ({ children, title, ...restProps }: import("react").HTMLAttributes<HTMLButtonElement>) => import("react/jsx-runtime").JSX.Element | null;
17
- StatusIndicator: ({ className, style, size, ...restProps }: import("@redislabsdev/redis-ui-icons/monochrome").MonochromeIconProps & Pick<import("react").HTMLAttributes<unknown>, "style" | "className">) => import("react/jsx-runtime").JSX.Element | null;
18
- LoadingIndicator: ({ loading, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Inputs/components/LoadingIndicator/LoadingIndicator.types").LoadingIndicatorProps & import("@redislabsdev/redis-ui-components/dist/Inputs/components/LoadingIndicator/LoadingIndicator.types").RestLoadingIndicatorProps) => import("react/jsx-runtime").JSX.Element | null;
19
- Arrow: ({ icon, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Trigger/components/Arrow/Arrow.types").TriggerArrowProps) => import("react/jsx-runtime").JSX.Element;
20
- ErrorIcon: ({ className, style, size, ...restProps }: import("@redislabsdev/redis-ui-icons/monochrome").MonochromeIconProps & Pick<import("react").HTMLAttributes<unknown>, "style" | "className">) => import("react/jsx-runtime").JSX.Element | null;
21
- };
22
- Content: (<TOption_4 extends import("@redislabsdev/redis-ui-components").SelectOption<string> = import("@redislabsdev/redis-ui-components").SelectOption<string>>({ searchable, optionValueRender, optionComponent, maxVisibleItems, virtualized, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Compose/Compose.types").SelectContentComposeProps & import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/OptionList/OptionList.types").OptionListProps<TOption_4> & {
23
- searchable?: boolean | undefined;
24
- } & import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Compose/Compose.types").RestSelectContentComposeProps) => import("react/jsx-runtime").JSX.Element) & {
25
- Compose: ({ children, placement, contentWidth, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Compose/Compose.types").SelectContentComposeProps & import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Compose/Compose.types").RestSelectContentComposeProps & import("@redislabsdev/redis-ui-components/dist/Helpers/common.types").ComposeChildrenProps) => import("react/jsx-runtime").JSX.Element;
26
- OptionList: <TOption_5 extends import("@redislabsdev/redis-ui-components").SelectOption<string> = import("@redislabsdev/redis-ui-components").SelectOption<string>>({ optionValueRender, optionComponent: OptionComponent, maxVisibleItems, virtualized, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/OptionList/OptionList.types").OptionListProps<TOption_5> & import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/OptionList/OptionList.types").RestOptionListProps) => import("react/jsx-runtime").JSX.Element;
27
- Search: import("react").ForwardRefExoticComponent<Omit<import("@redislabsdev/redis-ui-components/dist/Inputs/components/Compose/TextCompose.types").TextInputComposeProps, "readOnly" | "parser" | "formatter"> & import("@redislabsdev/redis-ui-components/dist/Inputs/components/InputTag/InputTag.types").InputTagProps & import("@redislabsdev/redis-ui-components/dist/Inputs/components/LoadingIndicator/LoadingIndicator.types").LoadingIndicatorProps & import("@redislabsdev/redis-ui-components/dist/Inputs/components/ResetButton/ResetButton.types").ResetButtonProps & import("@redislabsdev/redis-ui-components").RestInputProps & import("react").RefAttributes<HTMLInputElement>>;
28
- Footer: import("styled-components").StyledComponent<"div", any, {}, never>;
29
- };
30
- Option: (<TOption_6 extends import("@redislabsdev/redis-ui-components").SelectOption<string> = import("@redislabsdev/redis-ui-components").SelectOption<string>>({ option, content, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Option/components/Compose/Compose.types").SelectOptionComposeProps<TOption_6> & {
31
- content?: import("react").ReactNode;
32
- } & import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Option/components/Compose/Compose.types").RestSelectOptionComposeProps) => import("react/jsx-runtime").JSX.Element) & {
33
- Compose: import("react").ForwardRefExoticComponent<import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Option/components/Compose/Compose.types").SelectOptionComposeProps<import("@redislabsdev/redis-ui-components").SelectOption<string>> & import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Option/components/Compose/Compose.types").RestSelectOptionComposeProps & import("@redislabsdev/redis-ui-components/dist/Helpers/common.types").ComposeChildrenProps & import("react").RefAttributes<HTMLDivElement>>;
34
- Content: (props: import("@redislabsdev/redis-ui-components/dist/Helpers/common.types").ComposeChildrenProps & import("@redislabsdev/redis-ui-components/dist/Select/components/Content/components/Option/components/Content/Content.types").RestSelectOptionContentProps) => import("react/jsx-runtime").JSX.Element;
35
- Indicator: ({ children, ...restProps }: import("@radix-ui/react-select").SelectItemIndicatorProps) => import("react/jsx-runtime").JSX.Element;
36
- };
1
+ export declare const NavigationButton: import("styled-components").StyledComponent<({ navType, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationNavigationButtonProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
2
+ export declare const PaginationBar: import("styled-components").StyledComponent<"nav", any, {
3
+ 'aria-label': string;
4
+ } & {
5
+ 'aria-label': string;
6
+ }, "aria-label">;
7
+ export declare const InfoLabel: import("styled-components").StyledComponent<({ renderer, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationInfoLabelProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
8
+ export declare const PageSizeSelect: import("styled-components").StyledComponent<{
9
+ ({ pageSizes, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationPageSizeSelectProps): import("react/jsx-runtime").JSX.Element | null;
10
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element | null;
37
11
  }, any, {}, never>;
38
- export declare const PaginationActions: import("styled-components").StyledComponent<"div", any, {}, never>;
39
- export declare const ItemPerPageText: import("styled-components").StyledComponent<({ size, variant, color, component, ellipsis, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Typography/components/Body/Body.types").BodyProps) => import("react/jsx-runtime").JSX.Element, any, {
40
- size: "S";
41
- }, "size">;
42
- export declare const PaginationIndexText: import("styled-components").StyledComponent<({ size, variant, color, component, ellipsis, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Typography/components/Body/Body.types").BodyProps) => import("react/jsx-runtime").JSX.Element, any, {
43
- size: "S";
44
- }, "size">;
45
- export declare const PageLabelText: import("styled-components").StyledComponent<({ size, variant, color, component, ellipsis, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Typography/components/Body/Body.types").BodyProps) => import("react/jsx-runtime").JSX.Element, any, {
46
- size: "S";
47
- }, "size">;
48
- export declare const Label: import("styled-components").StyledComponent<"label", any, {}, never>;
49
- export declare const TotalPagesText: import("styled-components").StyledComponent<({ size, variant, color, component, ellipsis, ...restProps }: import("@redislabsdev/redis-ui-components/dist/Typography/components/Body/Body.types").BodyProps) => import("react/jsx-runtime").JSX.Element, any, {
50
- size: "S";
51
- }, "size">;
12
+ export declare const PageSelect: import("styled-components").StyledComponent<{
13
+ ({ ...restProps }: import("@redislabsdev/redis-ui-components").PaginationPageSelectProps): import("react/jsx-runtime").JSX.Element;
14
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element;
15
+ }, any, {}, never>;
16
+ export declare const PageSizeGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
17
+ export declare const PageNavGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
18
+ export declare const PageSelectGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,63 +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 { IconButton, Typography, Select as Select$1 } from "@redislabsdev/redis-ui-components";
4
- const PaginationIconButton = _styled(IconButton).withConfig({
5
- displayName: "TablePaginationstyle__PaginationIconButton",
3
+ import { Pagination } from "@redislabsdev/redis-ui-components";
4
+ const NavigationButton = _styled(Pagination.NavigationButton).withConfig({
5
+ displayName: "TablePaginationstyle__NavigationButton",
6
6
  componentId: "RedisUI__sc-ccqfi0-0"
7
- })(["color:", ";&:disabled{color:", ";}"], () => useTheme().components.table.components.tablePagination.paginationIconButton.enabledColor, () => useTheme().components.table.components.tablePagination.paginationIconButton.disabledColor);
8
- const CountInfo = _styled(Typography.Body).withConfig({
9
- displayName: "TablePaginationstyle__CountInfo",
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",
10
26
  componentId: "RedisUI__sc-ccqfi0-1"
11
- })(["display:flex;margin-right:auto;font-size:1.2rem;color:", ";"], () => useTheme().components.table.components.tablePagination.countInfoText.color);
12
- const PaginationRow = _styled.div.withConfig({
13
- displayName: "TablePaginationstyle__PaginationRow",
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",
14
41
  componentId: "RedisUI__sc-ccqfi0-2"
15
- })(["display:flex;align-items:center;gap:3.2rem;width:100%;height:4.8rem;padding:0 1.2rem;justify-content:flex-end;border-top:1px solid ", ";"], () => useTheme().components.table.components.tablePagination.paginationRow.borderTop);
16
- const Select = _styled(Select$1).withConfig({
17
- displayName: "TablePaginationstyle__Select",
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",
18
56
  componentId: "RedisUI__sc-ccqfi0-3"
19
- })(["height:2rem;padding:0 0.4rem;gap:0.4rem;span{font-size:1.2rem;line-height:initial;}"]);
20
- const PaginationActions = _styled.div.withConfig({
21
- displayName: "TablePaginationstyle__PaginationActions",
57
+ })(["", ""], useSelectStyles);
58
+ const PageSelect = _styled(Pagination.PageSelect).withConfig({
59
+ displayName: "TablePaginationstyle__PageSelect",
22
60
  componentId: "RedisUI__sc-ccqfi0-4"
23
- })(["display:flex;align-items:center;gap:0.4rem;"]);
24
- const ItemPerPageText = _styled(Typography.Body).attrs({
25
- size: "S"
26
- }).withConfig({
27
- displayName: "TablePaginationstyle__ItemPerPageText",
61
+ })(["", ""], useSelectStyles);
62
+ const PageSizeGroup = _styled(Pagination.Group).withConfig({
63
+ displayName: "TablePaginationstyle__PageSizeGroup",
28
64
  componentId: "RedisUI__sc-ccqfi0-5"
29
- })(["color:", ";flex-shrink:0;"], () => useTheme().components.table.components.tablePagination.itemPerPageText.color);
30
- const PaginationIndexText = _styled(Typography.Body).attrs({
31
- size: "S"
32
- }).withConfig({
33
- displayName: "TablePaginationstyle__PaginationIndexText",
65
+ })(["gap:1rem;"]);
66
+ const PageNavGroup = _styled(Pagination.Group).withConfig({
67
+ displayName: "TablePaginationstyle__PageNavGroup",
34
68
  componentId: "RedisUI__sc-ccqfi0-6"
35
- })(["color:", ";"], () => useTheme().components.table.components.tablePagination.paginationIndexText.color);
36
- const PageLabelText = _styled(Typography.Body).attrs({
37
- size: "S"
38
- }).withConfig({
39
- displayName: "TablePaginationstyle__PageLabelText",
69
+ })(["gap:0.4rem;"]);
70
+ const PageSelectGroup = _styled(Pagination.Group).withConfig({
71
+ displayName: "TablePaginationstyle__PageSelectGroup",
40
72
  componentId: "RedisUI__sc-ccqfi0-7"
41
- })(["color:", ";flex-shrink:0;"], () => useTheme().components.table.components.tablePagination.pageLabelText.color);
42
- const Label = _styled.label.withConfig({
43
- displayName: "TablePaginationstyle__Label",
44
- componentId: "RedisUI__sc-ccqfi0-8"
45
- })(["all:unset;"]);
46
- const TotalPagesText = _styled(Typography.Body).attrs({
47
- size: "S"
48
- }).withConfig({
49
- displayName: "TablePaginationstyle__TotalPagesText",
50
- componentId: "RedisUI__sc-ccqfi0-9"
51
- })(["color:", ";flex-shrink:0;"], () => useTheme().components.table.components.tablePagination.totalPagesText.color);
73
+ })(["gap:0.4rem;"]);
52
74
  export {
53
- CountInfo,
54
- ItemPerPageText,
55
- Label,
56
- PageLabelText,
57
- PaginationActions,
58
- PaginationIconButton,
59
- PaginationIndexText,
60
- PaginationRow,
61
- Select,
62
- TotalPagesText
75
+ InfoLabel,
76
+ NavigationButton,
77
+ PageNavGroup,
78
+ PageSelect,
79
+ PageSelectGroup,
80
+ PageSizeGroup,
81
+ PageSizeSelect,
82
+ PaginationBar
63
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,3 @@
1
+ import { ComposeChildrenProps } from '@redislabsdev/redis-ui-components';
2
+ export type PaginationComposeProps = ComposeChildrenProps;
3
+ export declare const TablePaginationCompose: ({ children }: PaginationComposeProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -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
+ };