@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.
Files changed (154) hide show
  1. package/dist/Table/Table.cjs +85 -136
  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 -3
  6. package/dist/Table/Table.js +86 -137
  7. package/dist/Table/Table.style.cjs +33 -17
  8. package/dist/Table/Table.style.d.ts +5 -2
  9. package/dist/Table/Table.style.js +34 -18
  10. package/dist/Table/Table.types.d.ts +21 -22
  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/ExpandRowButton/ExpandRowButton.cjs +1 -0
  18. package/dist/Table/components/ExpandRowButton/ExpandRowButton.js +1 -0
  19. package/dist/Table/components/HiddenCaption/HiddenCaption.cjs +13 -0
  20. package/dist/Table/components/HiddenCaption/HiddenCaption.d.ts +3 -0
  21. package/dist/Table/components/HiddenCaption/HiddenCaption.js +13 -0
  22. package/dist/Table/components/PluggableTable/PluggableTable.cjs +19 -0
  23. package/dist/Table/components/PluggableTable/PluggableTable.d.ts +10 -0
  24. package/dist/Table/components/PluggableTable/PluggableTable.js +19 -0
  25. package/dist/Table/components/PluggableTable/compositionComponents.cjs +21 -0
  26. package/dist/Table/components/PluggableTable/compositionComponents.d.ts +67 -0
  27. package/dist/Table/components/PluggableTable/compositionComponents.js +21 -0
  28. package/dist/Table/components/RowSelection/HeaderMultiRowSelectionButton.cjs +29 -0
  29. package/dist/Table/components/RowSelection/HeaderMultiRowSelectionButton.d.ts +7 -0
  30. package/dist/Table/components/RowSelection/HeaderMultiRowSelectionButton.js +29 -0
  31. package/dist/Table/components/RowSelection/HeaderMultiRowSelectionButton.test.d.ts +1 -0
  32. package/dist/Table/components/RowSelection/RowSelectionButton.cjs +15 -0
  33. package/dist/Table/components/RowSelection/RowSelectionButton.d.ts +6 -0
  34. package/dist/Table/components/RowSelection/RowSelectionButton.js +15 -0
  35. package/dist/Table/components/RowSelection/RowSelectionButton.test.d.ts +1 -0
  36. package/dist/Table/components/TableBody/TableBody.cjs +33 -0
  37. package/dist/Table/components/TableBody/TableBody.d.ts +23 -0
  38. package/dist/Table/components/TableBody/TableBody.js +33 -0
  39. package/dist/Table/components/TableBody/components/Compose/Compose.cjs +10 -0
  40. package/dist/Table/components/TableBody/components/Compose/Compose.d.ts +3 -0
  41. package/dist/Table/components/TableBody/components/Compose/Compose.js +10 -0
  42. package/dist/Table/components/TableBodyCell/TableBodyCell.cjs +22 -0
  43. package/dist/Table/components/TableBodyCell/TableBodyCell.d.ts +12 -0
  44. package/dist/Table/components/TableBodyCell/TableBodyCell.js +22 -0
  45. package/dist/Table/components/TableBodyCell/components/Compose/Compose.cjs +5 -0
  46. package/dist/Table/components/TableBodyCell/components/Compose/Compose.d.ts +3 -0
  47. package/dist/Table/components/TableBodyCell/components/Compose/Compose.js +5 -0
  48. package/dist/Table/components/TableBodyRow/TableBodyRow.cjs +38 -0
  49. package/dist/Table/components/TableBodyRow/TableBodyRow.d.ts +20 -0
  50. package/dist/Table/components/TableBodyRow/TableBodyRow.js +38 -0
  51. package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.cjs +33 -0
  52. package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.d.ts +2 -0
  53. package/dist/Table/components/TableBodyRow/TableBodyRowExpandable.js +33 -0
  54. package/dist/Table/components/TableBodyRow/components/Compose/Compose.cjs +17 -0
  55. package/dist/Table/components/TableBodyRow/components/Compose/Compose.d.ts +4 -0
  56. package/dist/Table/components/TableBodyRow/components/Compose/Compose.js +17 -0
  57. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.cjs +3 -4
  58. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.d.ts +1 -1
  59. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.js +3 -4
  60. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.style.cjs +1 -1
  61. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.style.js +1 -1
  62. package/dist/Table/components/TableExpandedRow/TableExpandedRow.cjs +9 -4
  63. package/dist/Table/components/TableExpandedRow/TableExpandedRow.d.ts +1 -1
  64. package/dist/Table/components/TableExpandedRow/TableExpandedRow.js +9 -4
  65. package/dist/Table/components/TableExpandedRow/TableExpandedRow.style.cjs +2 -2
  66. package/dist/Table/components/TableExpandedRow/TableExpandedRow.style.js +2 -2
  67. package/dist/Table/components/TableExpandedRow/TableExpandedRow.types.d.ts +3 -5
  68. package/dist/Table/components/TableHeader/TableHeader.cjs +28 -0
  69. package/dist/Table/components/TableHeader/TableHeader.d.ts +21 -0
  70. package/dist/Table/components/TableHeader/TableHeader.js +28 -0
  71. package/dist/Table/components/TableHeader/components/Compose/Compose.cjs +5 -0
  72. package/dist/Table/components/TableHeader/components/Compose/Compose.d.ts +3 -0
  73. package/dist/Table/components/TableHeader/components/Compose/Compose.js +5 -0
  74. package/dist/Table/components/TableHeaderCell/SRSortingNotification.cjs +19 -0
  75. package/dist/Table/components/TableHeaderCell/SRSortingNotification.d.ts +1 -0
  76. package/dist/Table/components/TableHeaderCell/SRSortingNotification.js +19 -0
  77. package/dist/Table/components/TableHeaderCell/TableHeaderCell.cjs +23 -0
  78. package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.cjs +15 -0
  79. package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.d.ts +8 -0
  80. package/dist/Table/components/TableHeaderCell/TableHeaderCell.context.js +15 -0
  81. package/dist/Table/components/TableHeaderCell/TableHeaderCell.d.ts +16 -0
  82. package/dist/Table/components/TableHeaderCell/TableHeaderCell.js +23 -0
  83. package/dist/Table/components/TableHeaderCell/TableHeaderCell.test.d.ts +1 -0
  84. package/dist/Table/components/TableHeaderCell/TableHeaderCell.types.d.ts +13 -0
  85. package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.cjs +79 -0
  86. package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.d.ts +10 -0
  87. package/dist/Table/components/TableHeaderCell/TableHeaderCell.utils.js +79 -0
  88. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.cjs +40 -0
  89. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.d.ts +9 -0
  90. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.js +40 -0
  91. package/dist/Table/components/TableHeaderCell/components/Heading/Heading.cjs +34 -0
  92. package/dist/Table/components/TableHeaderCell/components/Heading/Heading.d.ts +5 -0
  93. package/dist/Table/components/TableHeaderCell/components/Heading/Heading.js +34 -0
  94. package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.cjs +16 -0
  95. package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.d.ts +8 -0
  96. package/dist/Table/components/TableHeaderCell/components/SortableHeading/SortableHeading.js +16 -0
  97. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.cjs +23 -0
  98. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.d.ts +5 -0
  99. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/Compose/Compose.js +23 -0
  100. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.cjs +6 -0
  101. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.d.ts +2 -0
  102. package/dist/Table/components/TableHeaderCell/components/SortableHeading/components/SortIndicator/SortIndicator.js +6 -0
  103. package/dist/Table/components/TableHeaderRow/TableHeaderRow.cjs +27 -0
  104. package/dist/Table/components/TableHeaderRow/TableHeaderRow.d.ts +12 -0
  105. package/dist/Table/components/TableHeaderRow/TableHeaderRow.js +27 -0
  106. package/dist/Table/components/TableHeaderRow/components/Compose/Compose.cjs +5 -0
  107. package/dist/Table/components/TableHeaderRow/components/Compose/Compose.d.ts +3 -0
  108. package/dist/Table/components/TableHeaderRow/components/Compose/Compose.js +5 -0
  109. package/dist/Table/components/TablePagination/TablePagination.cjs +63 -78
  110. package/dist/Table/components/TablePagination/TablePagination.d.ts +23 -3
  111. package/dist/Table/components/TablePagination/TablePagination.js +64 -79
  112. package/dist/Table/components/TablePagination/TablePagination.style.cjs +78 -53
  113. package/dist/Table/components/TablePagination/TablePagination.style.d.ts +17 -49
  114. package/dist/Table/components/TablePagination/TablePagination.style.js +80 -55
  115. package/dist/Table/components/TablePagination/components/Compose/Compose.cjs +41 -0
  116. package/dist/Table/components/TablePagination/components/Compose/Compose.d.ts +3 -0
  117. package/dist/Table/components/TablePagination/components/Compose/Compose.js +41 -0
  118. package/dist/Table/components/TableRoot/TableRoot.cjs +5 -0
  119. package/dist/Table/components/TableRoot/TableRoot.d.ts +1 -0
  120. package/dist/Table/components/TableRoot/TableRoot.js +5 -0
  121. package/dist/Table/index.d.ts +3 -6
  122. package/dist/Table/plugins/ClickableRowPlugin.cjs +48 -0
  123. package/dist/Table/plugins/ClickableRowPlugin.d.ts +25 -0
  124. package/dist/Table/plugins/ClickableRowPlugin.js +48 -0
  125. package/dist/Table/plugins/ExpandableRowPlugin.cjs +38 -0
  126. package/dist/Table/plugins/ExpandableRowPlugin.d.ts +22 -0
  127. package/dist/Table/plugins/ExpandableRowPlugin.js +38 -0
  128. package/dist/Table/plugins/PaginationPlugin.cjs +45 -0
  129. package/dist/Table/plugins/PaginationPlugin.d.ts +16 -0
  130. package/dist/Table/plugins/PaginationPlugin.js +45 -0
  131. package/dist/Table/plugins/RowSelectionPlugin.cjs +28 -0
  132. package/dist/Table/plugins/RowSelectionPlugin.d.ts +12 -0
  133. package/dist/Table/plugins/RowSelectionPlugin.js +28 -0
  134. package/dist/Table/plugins/SortingPlugin.cjs +44 -0
  135. package/dist/Table/plugins/SortingPlugin.d.ts +18 -0
  136. package/dist/Table/plugins/SortingPlugin.js +44 -0
  137. package/dist/Table/tanStackExtendedTypes.d.ts +11 -0
  138. package/dist/Table/utils/plugin.utils.cjs +49 -0
  139. package/dist/Table/utils/plugin.utils.d.ts +17 -0
  140. package/dist/Table/utils/plugin.utils.js +49 -0
  141. package/dist/Table/utils/plugin.utils.test.d.ts +1 -0
  142. package/dist/index.cjs +60 -0
  143. package/dist/index.js +61 -1
  144. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +55 -0
  145. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +37 -0
  146. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +100 -0
  147. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +82 -0
  148. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +51 -0
  149. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +33 -0
  150. package/dist/node_modules/@tanstack/react-table/build/lib/index.cjs +7 -0
  151. package/dist/node_modules/@tanstack/react-table/build/lib/index.js +8 -1
  152. package/dist/node_modules/@tanstack/table-core/build/lib/index.cjs +361 -4
  153. package/dist/node_modules/@tanstack/table-core/build/lib/index.js +361 -4
  154. package/package.json +7 -5
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { Row } from '@tanstack/react-table';
3
+ import { ChildFree } from '@redislabsdev/redis-ui-components';
4
+ import { TableBodyRowComposeProps } from './components/Compose/Compose';
5
+ export type OwnTableBodyRowProps<T extends object> = {
6
+ row: Row<T>;
7
+ };
8
+ export type RestTableBodyRowProps = ChildFree<TableBodyRowComposeProps>;
9
+ export type TableBodyRowProps<T extends object> = OwnTableBodyRowProps<T> & RestTableBodyRowProps;
10
+ export declare const TableBodyRow: (<T extends object>(props: OwnTableBodyRowProps<T> & RestTableBodyRowProps & import("react").RefAttributes<HTMLTableRowElement>) => import("react").ReactElement<any, any> | null) & {
11
+ Compose: (props: import("@redislabsdev/redis-ui-components").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLTableRowElement>, "content" | "children"> & import("react").RefAttributes<HTMLTableRowElement>) => import("react").ReactElement<any, any> | null;
12
+ useHandleClickableRow: <T_1 extends object>({ row, onClick, onKeyDown }: {
13
+ row: Row<T_1>;
14
+ onClick?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
15
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLTableRowElement> | undefined;
16
+ }) => {
17
+ onClick: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
18
+ onKeyDown: ((event: import("react").KeyboardEvent<HTMLTableRowElement>) => void) | undefined;
19
+ };
20
+ };
@@ -0,0 +1,38 @@
1
+ import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
+ import { forwardRefWithGenerics } from "@redislabsdev/redis-ui-components";
3
+ import { useComposeContext } from "../../Table.context.js";
4
+ import { TableBodyCell } from "../TableBodyCell/TableBodyCell.js";
5
+ import { TableBodyRowCompose } from "./components/Compose/Compose.js";
6
+ import { useHandleClickableRow } from "../../plugins/ClickableRowPlugin.js";
7
+ const TableBodyRow = Object.assign(forwardRefWithGenerics(({
8
+ row,
9
+ onClick,
10
+ onKeyDown,
11
+ ...restProps
12
+ }, ref) => {
13
+ const {
14
+ TableBodyCell: Cell
15
+ } = useComposeContext({
16
+ TableBodyCell
17
+ });
18
+ const clickableProps = useHandleClickableRow({
19
+ row,
20
+ onClick,
21
+ onKeyDown
22
+ });
23
+ return jsxRuntimeExports.jsx(TableBodyRow.Compose, {
24
+ tabIndex: 0,
25
+ ...restProps,
26
+ ...clickableProps,
27
+ ref,
28
+ children: row.getVisibleCells().map((cell) => jsxRuntimeExports.jsx(Cell, {
29
+ cell
30
+ }, cell.id))
31
+ });
32
+ }), {
33
+ Compose: TableBodyRowCompose,
34
+ useHandleClickableRow
35
+ });
36
+ export {
37
+ TableBodyRow
38
+ };
@@ -0,0 +1,33 @@
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 ExpandableRowPlugin = require("../../plugins/ExpandableRowPlugin.cjs");
6
+ const TableExpandedRow = require("../TableExpandedRow/TableExpandedRow.cjs");
7
+ require("react");
8
+ require("../TableExpandedRow/TableAnimatedExpandedRow.style.cjs");
9
+ const TableBodyRow = require("./TableBodyRow.cjs");
10
+ const TableBodyRowExpandable = redisUiComponents.forwardRefWithGenerics(({
11
+ row,
12
+ ...restProps
13
+ }, ref) => {
14
+ const {
15
+ renderExpandedRow,
16
+ expandedRowComponent: ExpandedRow = TableExpandedRow.TableExpandedRow
17
+ } = ExpandableRowPlugin.useExpandableRowContext() || {};
18
+ return jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, {
19
+ children: [
20
+ jsxRuntime.jsxRuntimeExports.jsx(TableBodyRow.TableBodyRow, {
21
+ ...restProps,
22
+ row,
23
+ "data-row-type": "regular",
24
+ ref
25
+ }),
26
+ // 2nd row is a custom 1 cell row for expanded part
27
+ renderExpandedRow && row.getCanExpand() && jsxRuntime.jsxRuntimeExports.jsx(ExpandedRow, {
28
+ row
29
+ })
30
+ ]
31
+ });
32
+ });
33
+ exports.TableBodyRowExpandable = TableBodyRowExpandable;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const TableBodyRowExpandable: <T extends object>(props: import("./TableBodyRow").OwnTableBodyRowProps<T> & import("./TableBodyRow").RestTableBodyRowProps & import("react").RefAttributes<HTMLTableRowElement>) => import("react").ReactElement<any, any> | null;
@@ -0,0 +1,33 @@
1
+ import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
+ import { forwardRefWithGenerics } from "@redislabsdev/redis-ui-components";
3
+ import { useExpandableRowContext } from "../../plugins/ExpandableRowPlugin.js";
4
+ import { TableExpandedRow } from "../TableExpandedRow/TableExpandedRow.js";
5
+ import "react";
6
+ import "../TableExpandedRow/TableAnimatedExpandedRow.style.js";
7
+ import { TableBodyRow } from "./TableBodyRow.js";
8
+ const TableBodyRowExpandable = forwardRefWithGenerics(({
9
+ row,
10
+ ...restProps
11
+ }, ref) => {
12
+ const {
13
+ renderExpandedRow,
14
+ expandedRowComponent: ExpandedRow = TableExpandedRow
15
+ } = useExpandableRowContext() || {};
16
+ return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
17
+ children: [
18
+ jsxRuntimeExports.jsx(TableBodyRow, {
19
+ ...restProps,
20
+ row,
21
+ "data-row-type": "regular",
22
+ ref
23
+ }),
24
+ // 2nd row is a custom 1 cell row for expanded part
25
+ renderExpandedRow && row.getCanExpand() && jsxRuntimeExports.jsx(ExpandedRow, {
26
+ row
27
+ })
28
+ ]
29
+ });
30
+ });
31
+ export {
32
+ TableBodyRowExpandable
33
+ };
@@ -0,0 +1,17 @@
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 Table_context = require("../../../../Table.context.cjs");
6
+ const Table_style = require("../../../../Table.style.cjs");
7
+ const TableBodyRowCompose = redisUiComponents.forwardRefWithGenerics((props, ref) => {
8
+ const {
9
+ stripedRows = false
10
+ } = Table_context.useTableContext();
11
+ return jsxRuntime.jsxRuntimeExports.jsx(Table_style.TableBodyRow, {
12
+ ...props,
13
+ ref,
14
+ "$stripedRows": stripedRows
15
+ });
16
+ });
17
+ exports.TableBodyRowCompose = TableBodyRowCompose;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ComposeElementProps } from '@redislabsdev/redis-ui-components';
3
+ export type TableBodyRowComposeProps = ComposeElementProps<HTMLTableRowElement>;
4
+ export declare const TableBodyRowCompose: (props: import("@redislabsdev/redis-ui-components").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLTableRowElement>, "content" | "children"> & import("react").RefAttributes<HTMLTableRowElement>) => import("react").ReactElement<any, any> | null;
@@ -0,0 +1,17 @@
1
+ import { j as jsxRuntimeExports } from "../../../../../node_modules/react/jsx-runtime.js";
2
+ import { forwardRefWithGenerics } from "@redislabsdev/redis-ui-components";
3
+ import { useTableContext } from "../../../../Table.context.js";
4
+ import { TableBodyRow } from "../../../../Table.style.js";
5
+ const TableBodyRowCompose = forwardRefWithGenerics((props, ref) => {
6
+ const {
7
+ stripedRows = false
8
+ } = useTableContext();
9
+ return jsxRuntimeExports.jsx(TableBodyRow, {
10
+ ...props,
11
+ ref,
12
+ "$stripedRows": stripedRows
13
+ });
14
+ });
15
+ export {
16
+ TableBodyRowCompose
17
+ };
@@ -5,14 +5,14 @@ const React = require("react");
5
5
  const index = require("../../../node_modules/@radix-ui/react-compose-refs/dist/index.cjs");
6
6
  const TableAnimatedExpandedRow_style = require("./TableAnimatedExpandedRow.style.cjs");
7
7
  const TableAnimatedExpandedRow = ({
8
- expanded,
9
8
  rowRef,
10
9
  ...restProps
11
10
  }) => {
12
11
  const innerRowRef = React.useRef(null);
13
12
  const composedRowRef = index.useComposedRefs(rowRef, innerRowRef);
13
+ const isExpanded = restProps.row.getIsExpanded();
14
14
  React.useEffect(() => {
15
- if (expanded) {
15
+ if (isExpanded) {
16
16
  const timer = setTimeout(() => {
17
17
  var _a;
18
18
  return (_a = innerRowRef.current) == null ? void 0 : _a.scrollIntoView({
@@ -23,10 +23,9 @@ const TableAnimatedExpandedRow = ({
23
23
  return () => clearTimeout(timer);
24
24
  }
25
25
  return void 0;
26
- }, [expanded]);
26
+ }, [isExpanded]);
27
27
  return jsxRuntime.jsxRuntimeExports.jsx(TableAnimatedExpandedRow_style.AnimatedExpandedRow, {
28
28
  rowRef: composedRowRef,
29
- expanded,
30
29
  ...restProps,
31
30
  keepInDom: true
32
31
  });
@@ -1,2 +1,2 @@
1
1
  import { TableExpandedRowProps } from './TableExpandedRow.types';
2
- export declare const TableAnimatedExpandedRow: <T extends object>({ expanded, rowRef, ...restProps }: TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const TableAnimatedExpandedRow: <T extends object>({ rowRef, ...restProps }: TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element;
@@ -3,14 +3,14 @@ import { useRef, useEffect } from "react";
3
3
  import { useComposedRefs } from "../../../node_modules/@radix-ui/react-compose-refs/dist/index.js";
4
4
  import { AnimatedExpandedRow } from "./TableAnimatedExpandedRow.style.js";
5
5
  const TableAnimatedExpandedRow = ({
6
- expanded,
7
6
  rowRef,
8
7
  ...restProps
9
8
  }) => {
10
9
  const innerRowRef = useRef(null);
11
10
  const composedRowRef = useComposedRefs(rowRef, innerRowRef);
11
+ const isExpanded = restProps.row.getIsExpanded();
12
12
  useEffect(() => {
13
- if (expanded) {
13
+ if (isExpanded) {
14
14
  const timer = setTimeout(() => {
15
15
  var _a;
16
16
  return (_a = innerRowRef.current) == null ? void 0 : _a.scrollIntoView({
@@ -21,10 +21,9 @@ const TableAnimatedExpandedRow = ({
21
21
  return () => clearTimeout(timer);
22
22
  }
23
23
  return void 0;
24
- }, [expanded]);
24
+ }, [isExpanded]);
25
25
  return jsxRuntimeExports.jsx(AnimatedExpandedRow, {
26
26
  rowRef: composedRowRef,
27
- expanded,
28
27
  ...restProps,
29
28
  keepInDom: true
30
29
  });
@@ -6,6 +6,6 @@ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
6
6
  const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
7
7
  const AnimatedExpandedRow = _styled__default.default(TableExpandedRow.TableExpandedRow).withConfig({
8
8
  displayName: "TableAnimatedExpandedRowstyle__AnimatedExpandedRow",
9
- componentId: "sc-l3awb3-0"
9
+ componentId: "RedisUI__sc-l3awb3-0"
10
10
  })(["&&{display:grid;}visibility:hidden;grid-template-rows:0fr;transition:all 0.5s;&[data-expanded='true']{visibility:visible;grid-template-rows:1fr;}"]);
11
11
  exports.AnimatedExpandedRow = AnimatedExpandedRow;
@@ -2,7 +2,7 @@ import _styled from "styled-components";
2
2
  import { TableExpandedRow } from "./TableExpandedRow.js";
3
3
  const AnimatedExpandedRow = _styled(TableExpandedRow).withConfig({
4
4
  displayName: "TableAnimatedExpandedRowstyle__AnimatedExpandedRow",
5
- componentId: "sc-l3awb3-0"
5
+ componentId: "RedisUI__sc-l3awb3-0"
6
6
  })(["&&{display:grid;}visibility:hidden;grid-template-rows:0fr;transition:all 0.5s;&[data-expanded='true']{visibility:visible;grid-template-rows:1fr;}"]);
7
7
  export {
8
8
  AnimatedExpandedRow
@@ -3,18 +3,20 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("../../../node_modules/react/jsx-runtime.cjs");
4
4
  const React = require("react");
5
5
  const index = require("../../../node_modules/@radix-ui/react-compose-refs/dist/index.cjs");
6
+ const ExpandableRowPlugin = require("../../plugins/ExpandableRowPlugin.cjs");
6
7
  const TableExpandedRow_style = require("./TableExpandedRow.style.cjs");
7
8
  const TableExpandedRow = ({
8
9
  row,
9
- renderExpandedRow,
10
10
  keepInDom,
11
- expanded,
12
11
  rowRef,
13
12
  ...restProps
14
13
  }) => {
15
14
  const innerRowRef = React.useRef(null);
16
15
  const composedRowRef = index.useComposedRefs(rowRef, innerRowRef);
17
- const isExpanded = expanded ?? row.getIsExpanded();
16
+ const {
17
+ renderExpandedRow
18
+ } = ExpandableRowPlugin.useExpandableRowContext() || {};
19
+ const isExpanded = row.getIsExpanded();
18
20
  React.useEffect(() => {
19
21
  var _a;
20
22
  if (isExpanded) {
@@ -24,8 +26,11 @@ const TableExpandedRow = ({
24
26
  });
25
27
  }
26
28
  }, [isExpanded]);
27
- return keepInDom || isExpanded ? jsxRuntime.jsxRuntimeExports.jsx(TableExpandedRow_style.ExpandedRow, {
29
+ return renderExpandedRow && (keepInDom || isExpanded) ? jsxRuntime.jsxRuntimeExports.jsx(TableExpandedRow_style.ExpandedRow, {
28
30
  ref: composedRowRef,
31
+ "data-row-type": "expanded",
32
+ "data-expanded": isExpanded,
33
+ "aria-hidden": !isExpanded,
29
34
  ...restProps,
30
35
  children: jsxRuntime.jsxRuntimeExports.jsx(TableExpandedRow_style.ExpandedCell, {
31
36
  colSpan: row.getVisibleCells().length,
@@ -1,2 +1,2 @@
1
1
  import { TableExpandedRowProps } from './TableExpandedRow.types';
2
- export declare const TableExpandedRow: <T extends object>({ row, renderExpandedRow, keepInDom, expanded, rowRef, ...restProps }: TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element | null;
2
+ export declare const TableExpandedRow: <T extends object>({ row, keepInDom, rowRef, ...restProps }: TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,18 +1,20 @@
1
1
  import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
2
  import { useRef, useEffect } from "react";
3
3
  import { useComposedRefs } from "../../../node_modules/@radix-ui/react-compose-refs/dist/index.js";
4
+ import { useExpandableRowContext } from "../../plugins/ExpandableRowPlugin.js";
4
5
  import { ExpandedRow, ExpandedCell } from "./TableExpandedRow.style.js";
5
6
  const TableExpandedRow = ({
6
7
  row,
7
- renderExpandedRow,
8
8
  keepInDom,
9
- expanded,
10
9
  rowRef,
11
10
  ...restProps
12
11
  }) => {
13
12
  const innerRowRef = useRef(null);
14
13
  const composedRowRef = useComposedRefs(rowRef, innerRowRef);
15
- const isExpanded = expanded ?? row.getIsExpanded();
14
+ const {
15
+ renderExpandedRow
16
+ } = useExpandableRowContext() || {};
17
+ const isExpanded = row.getIsExpanded();
16
18
  useEffect(() => {
17
19
  var _a;
18
20
  if (isExpanded) {
@@ -22,8 +24,11 @@ const TableExpandedRow = ({
22
24
  });
23
25
  }
24
26
  }, [isExpanded]);
25
- return keepInDom || isExpanded ? jsxRuntimeExports.jsx(ExpandedRow, {
27
+ return renderExpandedRow && (keepInDom || isExpanded) ? jsxRuntimeExports.jsx(ExpandedRow, {
26
28
  ref: composedRowRef,
29
+ "data-row-type": "expanded",
30
+ "data-expanded": isExpanded,
31
+ "aria-hidden": !isExpanded,
27
32
  ...restProps,
28
33
  children: jsxRuntimeExports.jsx(ExpandedCell, {
29
34
  colSpan: row.getVisibleCells().length,
@@ -5,11 +5,11 @@ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
5
5
  const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
6
6
  const ExpandedRow = _styled__default.default.tr.withConfig({
7
7
  displayName: "TableExpandedRowstyle__ExpandedRow",
8
- componentId: "sc-2hwl98-0"
8
+ componentId: "RedisUI__sc-2hwl98-0"
9
9
  })(["display:grid;width:100%;&[data-expanded='false']{display:none;}"]);
10
10
  const ExpandedCell = _styled__default.default.td.withConfig({
11
11
  displayName: "TableExpandedRowstyle__ExpandedCell",
12
- componentId: "sc-2hwl98-1"
12
+ componentId: "RedisUI__sc-2hwl98-1"
13
13
  })(["width:100%;padding:0;overflow:hidden;"]);
14
14
  exports.ExpandedCell = ExpandedCell;
15
15
  exports.ExpandedRow = ExpandedRow;
@@ -1,11 +1,11 @@
1
1
  import _styled from "styled-components";
2
2
  const ExpandedRow = _styled.tr.withConfig({
3
3
  displayName: "TableExpandedRowstyle__ExpandedRow",
4
- componentId: "sc-2hwl98-0"
4
+ componentId: "RedisUI__sc-2hwl98-0"
5
5
  })(["display:grid;width:100%;&[data-expanded='false']{display:none;}"]);
6
6
  const ExpandedCell = _styled.td.withConfig({
7
7
  displayName: "TableExpandedRowstyle__ExpandedCell",
8
- componentId: "sc-2hwl98-1"
8
+ componentId: "RedisUI__sc-2hwl98-1"
9
9
  })(["width:100%;padding:0;overflow:hidden;"]);
10
10
  export {
11
11
  ExpandedCell,
@@ -1,9 +1,7 @@
1
- import { HTMLAttributes, ReactNode, Ref } from 'react';
2
- import { RowDefinition } from '../../Table.types';
1
+ import { HTMLAttributes, Ref } from 'react';
2
+ import { Row } from '@tanstack/react-table';
3
3
  export type TableExpandedRowProps<T extends object> = {
4
- row: RowDefinition<T>;
5
- renderExpandedRow: (row: RowDefinition<T>) => ReactNode;
4
+ row: Row<T>;
6
5
  keepInDom?: boolean;
7
- expanded?: boolean;
8
6
  rowRef?: Ref<HTMLTableRowElement>;
9
7
  } & HTMLAttributes<HTMLTableRowElement>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("../../../node_modules/react/jsx-runtime.cjs");
4
+ const TableHeaderCell = require("../TableHeaderCell/TableHeaderCell.cjs");
5
+ const Table_context = require("../../Table.context.cjs");
6
+ const TableHeaderRow = require("../TableHeaderRow/TableHeaderRow.cjs");
7
+ const Compose = require("./components/Compose/Compose.cjs");
8
+ const TableHeader = Object.assign((props) => {
9
+ const {
10
+ table
11
+ } = Table_context.useTableContext();
12
+ const {
13
+ TableHeaderRow: Row
14
+ } = Table_context.useComposeContext({
15
+ TableHeaderRow: TableHeaderRow.TableHeaderRow
16
+ });
17
+ return jsxRuntime.jsxRuntimeExports.jsx(TableHeader.Compose, {
18
+ ...props,
19
+ children: table.getHeaderGroups().map((headerGroup) => jsxRuntime.jsxRuntimeExports.jsx(Row, {
20
+ headerGroup
21
+ }, headerGroup.id))
22
+ });
23
+ }, {
24
+ Compose: Compose.TableHeaderCompose,
25
+ Row: TableHeaderRow.TableHeaderRow,
26
+ Cell: TableHeaderCell.TableHeaderCell
27
+ });
28
+ exports.TableHeader = TableHeader;
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { ChildFree } from '@redislabsdev/redis-ui-components';
3
+ import { TableHeaderComposeProps } from './components/Compose/Compose';
4
+ export type RestTableHeaderProps = ChildFree<TableHeaderComposeProps>;
5
+ export type TableHeaderProps = RestTableHeaderProps;
6
+ export declare const TableHeader: (<T extends object>(props: TableHeaderProps) => import("react/jsx-runtime").JSX.Element) & {
7
+ Compose: import("styled-components").StyledComponent<"thead", any, {}, never>;
8
+ Row: (<T_1 extends object>(props: import("../TableHeaderRow/TableHeaderRow").OwnTableHeaderRowProps<T_1> & import("../TableHeaderRow/TableHeaderRow").RestTableHeaderRowProps & import("react").RefAttributes<HTMLTableRowElement>) => import("react").ReactElement<any, any> | null) & {
9
+ Compose: import("styled-components").StyledComponent<"tr", any, {}, never>;
10
+ };
11
+ Cell: (<T_2 extends object>(props: import("../TableHeaderCell/TableHeaderCell").OwnTableHeaderCellProps<T_2> & import("../TableHeaderCell/TableHeaderCell").RestTableHeaderCellProps & import("react").RefAttributes<HTMLTableCellElement>) => import("react").ReactElement<any, any> | null) & {
12
+ Compose: <T_3 extends object>(props: import("../TableHeaderCell/components/Compose/Compose").OwnTableHeaderCellComposeProps<T_3> & import("@redislabsdev/redis-ui-components").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLTableCellElement>, "content" | "children"> & import("react").RefAttributes<HTMLTableCellElement>) => import("react").ReactElement<any, any> | null;
13
+ SortableHeading: (({ children, ...restProps }: import("@redislabsdev/redis-ui-components").ComposeElementProps<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element) & {
14
+ Compose: ((props: import("@redislabsdev/redis-ui-components").ComposeElementProps<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element) & {
15
+ SortIndicator: () => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
16
+ };
17
+ SortIndicator: () => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
18
+ };
19
+ Heading: (props: import("../TableHeaderCell/components/Heading/Heading").RestTableHeaderCellHeadingProps) => import("react/jsx-runtime").JSX.Element;
20
+ };
21
+ };
@@ -0,0 +1,28 @@
1
+ import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
+ import { TableHeaderCell } from "../TableHeaderCell/TableHeaderCell.js";
3
+ import { useTableContext, useComposeContext } from "../../Table.context.js";
4
+ import { TableHeaderRow } from "../TableHeaderRow/TableHeaderRow.js";
5
+ import { TableHeaderCompose } from "./components/Compose/Compose.js";
6
+ const TableHeader = Object.assign((props) => {
7
+ const {
8
+ table
9
+ } = useTableContext();
10
+ const {
11
+ TableHeaderRow: Row
12
+ } = useComposeContext({
13
+ TableHeaderRow
14
+ });
15
+ return jsxRuntimeExports.jsx(TableHeader.Compose, {
16
+ ...props,
17
+ children: table.getHeaderGroups().map((headerGroup) => jsxRuntimeExports.jsx(Row, {
18
+ headerGroup
19
+ }, headerGroup.id))
20
+ });
21
+ }, {
22
+ Compose: TableHeaderCompose,
23
+ Row: TableHeaderRow,
24
+ Cell: TableHeaderCell
25
+ });
26
+ export {
27
+ TableHeader
28
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Table_style = require("../../../../Table.style.cjs");
4
+ const TableHeaderCompose = Table_style.TableHead;
5
+ exports.TableHeaderCompose = TableHeaderCompose;
@@ -0,0 +1,3 @@
1
+ import { ComposeElementProps } from '@redislabsdev/redis-ui-components';
2
+ export type TableHeaderComposeProps = ComposeElementProps<HTMLTableSectionElement>;
3
+ export declare const TableHeaderCompose: import("styled-components").StyledComponent<"thead", any, {}, never>;
@@ -0,0 +1,5 @@
1
+ import { TableHead } from "../../../../Table.style.js";
2
+ const TableHeaderCompose = TableHead;
3
+ export {
4
+ TableHeaderCompose
5
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("../../../node_modules/react/jsx-runtime.cjs");
4
+ const index = require("../../../node_modules/@radix-ui/react-visually-hidden/dist/index.cjs");
5
+ const Table_context = require("../../Table.context.cjs");
6
+ const SortingPlugin = require("../../plugins/SortingPlugin.cjs");
7
+ const TableHeaderCell_utils = require("./TableHeaderCell.utils.cjs");
8
+ function SRSortingNotification() {
9
+ const {
10
+ table
11
+ } = Table_context.useTableContext();
12
+ const sorting = SortingPlugin.useSortingContext();
13
+ if (!(sorting == null ? void 0 : sorting.sortedByUser)) return null;
14
+ return jsxRuntime.jsxRuntimeExports.jsx(index.VisuallyHidden, {
15
+ "aria-live": "polite",
16
+ children: TableHeaderCell_utils.getTableSortLabel(table, TableHeaderCell_utils.formatTableSortNotification)
17
+ });
18
+ }
19
+ exports.SRSortingNotification = SRSortingNotification;
@@ -0,0 +1 @@
1
+ export declare function SRSortingNotification(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,19 @@
1
+ import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
+ import { VisuallyHidden } from "../../../node_modules/@radix-ui/react-visually-hidden/dist/index.js";
3
+ import { useTableContext } from "../../Table.context.js";
4
+ import { useSortingContext } from "../../plugins/SortingPlugin.js";
5
+ import { getTableSortLabel, formatTableSortNotification } from "./TableHeaderCell.utils.js";
6
+ function SRSortingNotification() {
7
+ const {
8
+ table
9
+ } = useTableContext();
10
+ const sorting = useSortingContext();
11
+ if (!(sorting == null ? void 0 : sorting.sortedByUser)) return null;
12
+ return jsxRuntimeExports.jsx(VisuallyHidden, {
13
+ "aria-live": "polite",
14
+ children: getTableSortLabel(table, formatTableSortNotification)
15
+ });
16
+ }
17
+ export {
18
+ SRSortingNotification
19
+ };
@@ -0,0 +1,23 @@
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 Compose = require("./components/Compose/Compose.cjs");
6
+ const SortableHeading = require("./components/SortableHeading/SortableHeading.cjs");
7
+ const Heading = require("./components/Heading/Heading.cjs");
8
+ const TableHeaderCell = Object.assign(redisUiComponents.forwardRefWithGenerics(({
9
+ header,
10
+ ...restProps
11
+ }, ref) => jsxRuntime.jsxRuntimeExports.jsx(TableHeaderCell.Compose, {
12
+ header,
13
+ ...restProps,
14
+ ref,
15
+ children: jsxRuntime.jsxRuntimeExports.jsx(TableHeaderCell.SortableHeading, {
16
+ children: jsxRuntime.jsxRuntimeExports.jsx(TableHeaderCell.Heading, {})
17
+ })
18
+ })), {
19
+ Compose: Compose.TableHeaderCellCompose,
20
+ SortableHeading: SortableHeading.SortableHeading,
21
+ Heading: Heading.TableHeaderCellHeading
22
+ });
23
+ exports.TableHeaderCell = TableHeaderCell;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const TableHeaderCellContext = React.createContext(null);
5
+ const useTableHeaderCellContext = () => {
6
+ const context = React.useContext(TableHeaderCellContext);
7
+ if (!context) {
8
+ throw new Error(`TableHeaderCell compound components cannot be rendered outside the TableHeaderCell component`);
9
+ }
10
+ return context;
11
+ };
12
+ const TableHeaderCellContextProvider = TableHeaderCellContext.Provider;
13
+ exports.TableHeaderCellContext = TableHeaderCellContext;
14
+ exports.TableHeaderCellContextProvider = TableHeaderCellContextProvider;
15
+ exports.useTableHeaderCellContext = useTableHeaderCellContext;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { Header } from '@tanstack/react-table';
3
+ export type TableHeaderCellContextProps<T extends object> = {
4
+ header: Header<T, unknown>;
5
+ };
6
+ export declare const TableHeaderCellContext: import("react").Context<TableHeaderCellContextProps<any> | null>;
7
+ export declare const useTableHeaderCellContext: <T extends object>() => TableHeaderCellContextProps<T>;
8
+ export declare const TableHeaderCellContextProvider: import("react").Provider<TableHeaderCellContextProps<any> | null>;
@@ -0,0 +1,15 @@
1
+ import { createContext, useContext } from "react";
2
+ const TableHeaderCellContext = createContext(null);
3
+ const useTableHeaderCellContext = () => {
4
+ const context = useContext(TableHeaderCellContext);
5
+ if (!context) {
6
+ throw new Error(`TableHeaderCell compound components cannot be rendered outside the TableHeaderCell component`);
7
+ }
8
+ return context;
9
+ };
10
+ const TableHeaderCellContextProvider = TableHeaderCellContext.Provider;
11
+ export {
12
+ TableHeaderCellContext,
13
+ TableHeaderCellContextProvider,
14
+ useTableHeaderCellContext
15
+ };
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import { ChildFree } from '@redislabsdev/redis-ui-components';
3
+ import { OwnTableHeaderCellComposeProps, RestTableHeaderCellComposeProps } from './components/Compose/Compose';
4
+ export type OwnTableHeaderCellProps<T extends object> = OwnTableHeaderCellComposeProps<T>;
5
+ export type RestTableHeaderCellProps = ChildFree<RestTableHeaderCellComposeProps>;
6
+ export type TableHeaderCellProps<T extends object> = OwnTableHeaderCellProps<T> & RestTableHeaderCellProps;
7
+ export declare const TableHeaderCell: (<T extends object>(props: OwnTableHeaderCellProps<T> & RestTableHeaderCellProps & import("react").RefAttributes<HTMLTableCellElement>) => import("react").ReactElement<any, any> | null) & {
8
+ Compose: <T_1 extends object>(props: OwnTableHeaderCellComposeProps<T_1> & import("@redislabsdev/redis-ui-components").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLTableCellElement>, "content" | "children"> & import("react").RefAttributes<HTMLTableCellElement>) => import("react").ReactElement<any, any> | null;
9
+ SortableHeading: (({ children, ...restProps }: import("@redislabsdev/redis-ui-components").ComposeElementProps<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element) & {
10
+ Compose: ((props: import("@redislabsdev/redis-ui-components").ComposeElementProps<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element) & {
11
+ SortIndicator: () => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
12
+ };
13
+ SortIndicator: () => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
14
+ };
15
+ Heading: (props: import("./components/Heading/Heading").RestTableHeaderCellHeadingProps) => import("react/jsx-runtime").JSX.Element;
16
+ };