@redis-ui/table 2.23.2 → 3.3.2

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 (85) hide show
  1. package/dist/Table/Table.cjs +34 -5
  2. package/dist/Table/Table.context.d.ts +0 -1
  3. package/dist/Table/Table.d.ts +22 -18
  4. package/dist/Table/Table.js +34 -5
  5. package/dist/Table/Table.style.cjs +65 -39
  6. package/dist/Table/Table.style.d.ts +10 -7
  7. package/dist/Table/Table.style.js +65 -39
  8. package/dist/Table/Table.types.d.ts +8 -20
  9. package/dist/Table/components/Compose/Compose.cjs +4 -6
  10. package/dist/Table/components/Compose/Compose.d.ts +10 -9
  11. package/dist/Table/components/Compose/Compose.js +5 -7
  12. package/dist/Table/components/ExpandRowButton/useExpanderColumn.cjs +0 -1
  13. package/dist/Table/components/ExpandRowButton/useExpanderColumn.js +0 -1
  14. package/dist/Table/components/PluggableTable/PluggableTable.cjs +7 -1
  15. package/dist/Table/components/PluggableTable/PluggableTable.d.ts +3 -1
  16. package/dist/Table/components/PluggableTable/PluggableTable.js +7 -1
  17. package/dist/Table/components/PluggableTable/compositionComponents.cjs +4 -0
  18. package/dist/Table/components/PluggableTable/compositionComponents.d.ts +8 -6
  19. package/dist/Table/components/PluggableTable/compositionComponents.js +4 -0
  20. package/dist/Table/components/RowSelection/useRowSelectionColumn.cjs +0 -1
  21. package/dist/Table/components/RowSelection/useRowSelectionColumn.js +0 -1
  22. package/dist/Table/components/TableBody/TableBody.d.ts +2 -2
  23. package/dist/Table/components/TableBodyCell/TableBodyCell.d.ts +1 -1
  24. package/dist/Table/components/TableBodyCell/components/Compose/Compose.d.ts +1 -1
  25. package/dist/Table/components/TableBodyRow/TableBodyRow.d.ts +1 -1
  26. package/dist/Table/components/TableBodyRow/components/Compose/Compose.d.ts +1 -1
  27. package/dist/Table/components/TableBottomBar/TableBottomBar.cjs +12 -0
  28. package/dist/Table/components/TableBottomBar/TableBottomBar.d.ts +2 -0
  29. package/dist/Table/components/TableBottomBar/TableBottomBar.js +12 -0
  30. package/dist/Table/components/TableBottomBar/TableBottomBar.test.d.ts +1 -0
  31. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.cjs +8 -1
  32. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.d.ts +1 -1
  33. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.js +9 -2
  34. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.style.cjs +11 -1
  35. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.style.d.ts +3 -2
  36. package/dist/Table/components/TableExpandedRow/TableAnimatedExpandedRow.style.js +11 -1
  37. package/dist/Table/components/TableExpandedRow/TableExpandedRow.cjs +2 -1
  38. package/dist/Table/components/TableExpandedRow/TableExpandedRow.d.ts +1 -1
  39. package/dist/Table/components/TableExpandedRow/TableExpandedRow.js +2 -1
  40. package/dist/Table/components/TableExpandedRow/TableExpandedRow.style.cjs +2 -2
  41. package/dist/Table/components/TableExpandedRow/TableExpandedRow.style.js +2 -2
  42. package/dist/Table/components/TableExpandedRow/TableExpandedRow.types.d.ts +3 -2
  43. package/dist/Table/components/TableHeader/TableHeader.d.ts +1 -1
  44. package/dist/Table/components/TableHeaderCell/TableHeaderCell.d.ts +1 -1
  45. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.cjs +1 -1
  46. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.d.ts +1 -1
  47. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.js +2 -2
  48. package/dist/Table/components/TableHeaderCell/components/Heading/Heading.d.ts +2 -3
  49. package/dist/Table/components/TablePagination/TablePagination.d.ts +3 -2
  50. package/dist/Table/components/TablePagination/TablePagination.style.cjs +1 -1
  51. package/dist/Table/components/TablePagination/TablePagination.style.d.ts +3 -2
  52. package/dist/Table/components/TablePagination/TablePagination.style.js +1 -1
  53. package/dist/Table/components/TableRoot/TableRoot.cjs +6 -3
  54. package/dist/Table/components/TableRoot/TableRoot.js +7 -4
  55. package/dist/Table/components/TableTopBar/TableTopBar.cjs +12 -0
  56. package/dist/Table/components/TableTopBar/TableTopBar.d.ts +2 -0
  57. package/dist/Table/components/TableTopBar/TableTopBar.js +12 -0
  58. package/dist/Table/components/TableTopBar/TableTopBar.test.d.ts +1 -0
  59. package/dist/Table/index.d.ts +1 -0
  60. package/dist/Table/plugins/ColumnVisibilityPlugin.cjs +14 -0
  61. package/dist/Table/plugins/ColumnVisibilityPlugin.d.ts +10 -0
  62. package/dist/Table/plugins/ColumnVisibilityPlugin.js +14 -0
  63. package/dist/Table/plugins/ColumnVisibilityPlugin.test.d.ts +1 -0
  64. package/dist/Table/plugins/ExpandableRowPlugin.cjs +16 -3
  65. package/dist/Table/plugins/ExpandableRowPlugin.d.ts +3 -1
  66. package/dist/Table/plugins/ExpandableRowPlugin.js +14 -1
  67. package/dist/Table/plugins/FilteringPlugin.cjs +25 -0
  68. package/dist/Table/plugins/FilteringPlugin.d.ts +20 -0
  69. package/dist/Table/plugins/FilteringPlugin.js +25 -0
  70. package/dist/Table/plugins/FilteringPlugin.test.d.ts +1 -0
  71. package/dist/Table/plugins/PaginationPlugin.d.ts +1 -1
  72. package/dist/Table/plugins/RowNavigationPlugin.d.ts +1 -1
  73. package/dist/Table/plugins/RowSelectionPlugin.cjs +11 -1
  74. package/dist/Table/plugins/RowSelectionPlugin.d.ts +3 -1
  75. package/dist/Table/plugins/RowSelectionPlugin.js +11 -1
  76. package/dist/Table/tanStackExtendedTypes.d.ts +3 -3
  77. package/dist/Table/utils/plugin.utils.cjs +17 -2
  78. package/dist/Table/utils/plugin.utils.d.ts +5 -2
  79. package/dist/Table/utils/plugin.utils.js +18 -3
  80. package/dist/Table/utils/table.utils.cjs +13 -0
  81. package/dist/Table/utils/table.utils.d.ts +12 -0
  82. package/dist/Table/utils/table.utils.js +13 -0
  83. package/dist/index.cjs +2 -0
  84. package/dist/index.js +2 -0
  85. package/package.json +4 -4
@@ -1,2 +1,2 @@
1
1
  import { TableExpandedRowProps } from './TableExpandedRow.types';
2
- export declare const TableAnimatedExpandedRow: <T extends object>({ rowRef, ...restProps }: TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const TableAnimatedExpandedRow: <T extends object>({ rowRef, contentWrapper, ...restProps }: TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,10 @@
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 { AnimatedExpandedRow } from "./TableAnimatedExpandedRow.style.js";
4
+ import { AnimatedExpandedRow, AnimatedContainer, AnimatedContent } from "./TableAnimatedExpandedRow.style.js";
5
5
  const TableAnimatedExpandedRow = ({
6
6
  rowRef,
7
+ contentWrapper = (content) => content,
7
8
  ...restProps
8
9
  }) => {
9
10
  const innerRowRef = useRef(null);
@@ -22,10 +23,16 @@ const TableAnimatedExpandedRow = ({
22
23
  }
23
24
  return void 0;
24
25
  }, [isExpanded]);
26
+ const wrapContentForAnimation = (content) => jsxRuntimeExports.jsx(AnimatedContainer, {
27
+ children: jsxRuntimeExports.jsx(AnimatedContent, {
28
+ children: contentWrapper(content)
29
+ })
30
+ });
25
31
  return jsxRuntimeExports.jsx(AnimatedExpandedRow, {
26
32
  rowRef: composedRowRef,
27
33
  ...restProps,
28
- keepInDom: true
34
+ keepInDom: true,
35
+ contentWrapper: wrapContentForAnimation
29
36
  });
30
37
  };
31
38
  export {
@@ -7,5 +7,15 @@ const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
7
7
  const AnimatedExpandedRow = _styled__default.default(TableExpandedRow.TableExpandedRow).withConfig({
8
8
  displayName: "TableAnimatedExpandedRowstyle__AnimatedExpandedRow",
9
9
  componentId: "RedisUI__sc-l3awb3-0"
10
- })(["&&{display:grid;}visibility:hidden;grid-template-rows:0fr;transition:all 0.5s;&[data-expanded='true']{visibility:visible;grid-template-rows:1fr;}"]);
10
+ })(["@supports not (transition-behavior:allow-discrete){&&{display:table-row;}visibility:hidden;&[data-expanded='true']{visibility:visible;}}transition:all 0.5s;transition-behavior:allow-discrete;"]);
11
+ const AnimatedContainer = _styled__default.default.div.withConfig({
12
+ displayName: "TableAnimatedExpandedRowstyle__AnimatedContainer",
13
+ componentId: "RedisUI__sc-l3awb3-1"
14
+ })(["min-height:0;overflow:hidden;display:grid;grid-template-rows:0fr;transition:all 0.5s;[data-expanded='true']:where(", ") &{grid-template-rows:1fr;}@starting-style{&&{grid-template-rows:0fr;}}"], AnimatedExpandedRow);
15
+ const AnimatedContent = _styled__default.default.div.withConfig({
16
+ displayName: "TableAnimatedExpandedRowstyle__AnimatedContent",
17
+ componentId: "RedisUI__sc-l3awb3-2"
18
+ })(["min-height:0;overflow:hidden;"]);
19
+ exports.AnimatedContainer = AnimatedContainer;
20
+ exports.AnimatedContent = AnimatedContent;
11
21
  exports.AnimatedExpandedRow = AnimatedExpandedRow;
@@ -1,2 +1,3 @@
1
- import { TableExpandedRow } from './TableExpandedRow';
2
- export declare const AnimatedExpandedRow: typeof TableExpandedRow;
1
+ export declare const AnimatedExpandedRow: import("styled-components").StyledComponent<(<T extends object>({ row, keepInDom, rowRef, contentWrapper, ...restProps }: import("./TableExpandedRow.types").TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element | null), any, {}, never>;
2
+ export declare const AnimatedContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const AnimatedContent: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -3,7 +3,17 @@ import { TableExpandedRow } from "./TableExpandedRow.js";
3
3
  const AnimatedExpandedRow = _styled(TableExpandedRow).withConfig({
4
4
  displayName: "TableAnimatedExpandedRowstyle__AnimatedExpandedRow",
5
5
  componentId: "RedisUI__sc-l3awb3-0"
6
- })(["&&{display:grid;}visibility:hidden;grid-template-rows:0fr;transition:all 0.5s;&[data-expanded='true']{visibility:visible;grid-template-rows:1fr;}"]);
6
+ })(["@supports not (transition-behavior:allow-discrete){&&{display:table-row;}visibility:hidden;&[data-expanded='true']{visibility:visible;}}transition:all 0.5s;transition-behavior:allow-discrete;"]);
7
+ const AnimatedContainer = _styled.div.withConfig({
8
+ displayName: "TableAnimatedExpandedRowstyle__AnimatedContainer",
9
+ componentId: "RedisUI__sc-l3awb3-1"
10
+ })(["min-height:0;overflow:hidden;display:grid;grid-template-rows:0fr;transition:all 0.5s;[data-expanded='true']:where(", ") &{grid-template-rows:1fr;}@starting-style{&&{grid-template-rows:0fr;}}"], AnimatedExpandedRow);
11
+ const AnimatedContent = _styled.div.withConfig({
12
+ displayName: "TableAnimatedExpandedRowstyle__AnimatedContent",
13
+ componentId: "RedisUI__sc-l3awb3-2"
14
+ })(["min-height:0;overflow:hidden;"]);
7
15
  export {
16
+ AnimatedContainer,
17
+ AnimatedContent,
8
18
  AnimatedExpandedRow
9
19
  };
@@ -9,6 +9,7 @@ const TableExpandedRow = ({
9
9
  row,
10
10
  keepInDom,
11
11
  rowRef,
12
+ contentWrapper = (content) => content,
12
13
  ...restProps
13
14
  }) => {
14
15
  const innerRowRef = React.useRef(null);
@@ -34,7 +35,7 @@ const TableExpandedRow = ({
34
35
  ...restProps,
35
36
  children: jsxRuntime.jsxRuntimeExports.jsx(TableExpandedRow_style.ExpandedCell, {
36
37
  colSpan: row.getVisibleCells().length,
37
- children: renderExpandedRow(row)
38
+ children: contentWrapper(renderExpandedRow(row))
38
39
  })
39
40
  }) : null;
40
41
  };
@@ -1,2 +1,2 @@
1
1
  import { TableExpandedRowProps } from './TableExpandedRow.types';
2
- export declare const TableExpandedRow: <T extends object>({ row, keepInDom, rowRef, ...restProps }: TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element | null;
2
+ export declare const TableExpandedRow: <T extends object>({ row, keepInDom, rowRef, contentWrapper, ...restProps }: TableExpandedRowProps<T>) => import("react/jsx-runtime").JSX.Element | null;
@@ -7,6 +7,7 @@ const TableExpandedRow = ({
7
7
  row,
8
8
  keepInDom,
9
9
  rowRef,
10
+ contentWrapper = (content) => content,
10
11
  ...restProps
11
12
  }) => {
12
13
  const innerRowRef = useRef(null);
@@ -32,7 +33,7 @@ const TableExpandedRow = ({
32
33
  ...restProps,
33
34
  children: jsxRuntimeExports.jsx(ExpandedCell, {
34
35
  colSpan: row.getVisibleCells().length,
35
- children: renderExpandedRow(row)
36
+ children: contentWrapper(renderExpandedRow(row))
36
37
  })
37
38
  }) : null;
38
39
  };
@@ -6,10 +6,10 @@ const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
6
6
  const ExpandedRow = _styled__default.default.tr.withConfig({
7
7
  displayName: "TableExpandedRowstyle__ExpandedRow",
8
8
  componentId: "RedisUI__sc-2hwl98-0"
9
- })(["display:grid;width:100%;&[data-expanded='false']{display:none;}"]);
9
+ })(["&[data-expanded='false']{display:none;}"]);
10
10
  const ExpandedCell = _styled__default.default.td.withConfig({
11
11
  displayName: "TableExpandedRowstyle__ExpandedCell",
12
12
  componentId: "RedisUI__sc-2hwl98-1"
13
- })(["width:100%;padding:0;overflow:hidden;"]);
13
+ })(["padding:0;overflow:hidden;"]);
14
14
  exports.ExpandedCell = ExpandedCell;
15
15
  exports.ExpandedRow = ExpandedRow;
@@ -2,11 +2,11 @@ import _styled from "styled-components";
2
2
  const ExpandedRow = _styled.tr.withConfig({
3
3
  displayName: "TableExpandedRowstyle__ExpandedRow",
4
4
  componentId: "RedisUI__sc-2hwl98-0"
5
- })(["display:grid;width:100%;&[data-expanded='false']{display:none;}"]);
5
+ })(["&[data-expanded='false']{display:none;}"]);
6
6
  const ExpandedCell = _styled.td.withConfig({
7
7
  displayName: "TableExpandedRowstyle__ExpandedCell",
8
8
  componentId: "RedisUI__sc-2hwl98-1"
9
- })(["width:100%;padding:0;overflow:hidden;"]);
9
+ })(["padding:0;overflow:hidden;"]);
10
10
  export {
11
11
  ExpandedCell,
12
12
  ExpandedRow
@@ -1,7 +1,8 @@
1
- import { HTMLAttributes, Ref } from 'react';
1
+ import { HTMLAttributes, Ref, ReactNode } from 'react';
2
2
  import { Row } from '@tanstack/react-table';
3
3
  export type TableExpandedRowProps<T extends object> = {
4
4
  row: Row<T>;
5
5
  keepInDom?: boolean;
6
6
  rowRef?: Ref<HTMLTableRowElement>;
7
- } & HTMLAttributes<HTMLTableRowElement>;
7
+ contentWrapper?: (content: ReactNode) => ReactNode;
8
+ } & Omit<HTMLAttributes<HTMLTableRowElement>, 'children'>;
@@ -9,7 +9,7 @@ export declare const TableHeader: (<T extends object>(props: TableHeaderProps) =
9
9
  Compose: import("styled-components").StyledComponent<"tr", any, {}, never>;
10
10
  };
11
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;
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>, "children" | "content"> & import("react").RefAttributes<HTMLTableCellElement>) => import("react").ReactElement<any, any> | null;
13
13
  SortableHeading: (({ children, ...restProps }: import("@redislabsdev/redis-ui-components").ComposeElementProps<HTMLElement>) => import("react/jsx-runtime").JSX.Element) & {
14
14
  Compose: ((props: import("@redislabsdev/redis-ui-components").ComposeElementProps<HTMLElement>) => import("react/jsx-runtime").JSX.Element) & {
15
15
  SortIndicator: () => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
@@ -5,7 +5,7 @@ export type OwnTableHeaderCellProps<T extends object> = OwnTableHeaderCellCompos
5
5
  export type RestTableHeaderCellProps = ChildFree<RestTableHeaderCellComposeProps>;
6
6
  export type TableHeaderCellProps<T extends object> = OwnTableHeaderCellProps<T> & RestTableHeaderCellProps;
7
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;
8
+ Compose: <T_1 extends object>(props: OwnTableHeaderCellComposeProps<T_1> & import("@redislabsdev/redis-ui-components").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLTableCellElement>, "children" | "content"> & import("react").RefAttributes<HTMLTableCellElement>) => import("react").ReactElement<any, any> | null;
9
9
  SortableHeading: (({ children, ...restProps }: import("@redislabsdev/redis-ui-components").ComposeElementProps<HTMLElement>) => import("react/jsx-runtime").JSX.Element) & {
10
10
  Compose: ((props: import("@redislabsdev/redis-ui-components").ComposeElementProps<HTMLElement>) => import("react/jsx-runtime").JSX.Element) & {
11
11
  SortIndicator: () => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
@@ -24,7 +24,7 @@ const TableHeaderCellCompose = redisUiComponents.forwardRefWithGenerics(({
24
24
  value: React.useMemo(() => ({
25
25
  header
26
26
  }), [header]),
27
- children: jsxRuntime.jsxRuntimeExports.jsx(Table_style.TableTh, {
27
+ children: jsxRuntime.jsxRuntimeExports.jsx(Table_style.TableHeaderCell, {
28
28
  ...restProps,
29
29
  ...columnCellProps,
30
30
  ref,
@@ -6,4 +6,4 @@ export type OwnTableHeaderCellComposeProps<T extends object> = {
6
6
  };
7
7
  export type RestTableHeaderCellComposeProps = ComposeElementProps<HTMLTableCellElement>;
8
8
  export type TableHeaderCellComposeProps<T extends object> = OwnTableHeaderCellComposeProps<T> & RestTableHeaderCellComposeProps;
9
- export declare const TableHeaderCellCompose: <T extends object>(props: OwnTableHeaderCellComposeProps<T> & import("@redislabsdev/redis-ui-components").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLTableCellElement>, "content" | "children"> & import("react").RefAttributes<HTMLTableCellElement>) => import("react").ReactElement<any, any> | null;
9
+ export declare const TableHeaderCellCompose: <T extends object>(props: OwnTableHeaderCellComposeProps<T> & import("@redislabsdev/redis-ui-components").ComposeChildrenProps & Omit<import("react").HTMLAttributes<HTMLTableCellElement>, "children" | "content"> & import("react").RefAttributes<HTMLTableCellElement>) => import("react").ReactElement<any, any> | null;
@@ -5,7 +5,7 @@ import { useMemo } from "react";
5
5
  import { normalizeCellSpan, getCurrentAriaSort } from "../../TableHeaderCell.utils.js";
6
6
  import { TableHeaderCellContextProvider } from "../../TableHeaderCell.context.js";
7
7
  import { getWidth } from "../../../../utils/table.utils.js";
8
- import { TableTh } from "../../../../Table.style.js";
8
+ import { TableHeaderCell } from "../../../../Table.style.js";
9
9
  const TableHeaderCellCompose = forwardRefWithGenerics(({
10
10
  header,
11
11
  children,
@@ -22,7 +22,7 @@ const TableHeaderCellCompose = forwardRefWithGenerics(({
22
22
  value: useMemo(() => ({
23
23
  header
24
24
  }), [header]),
25
- children: jsxRuntimeExports.jsx(TableTh, {
25
+ children: jsxRuntimeExports.jsx(TableHeaderCell, {
26
26
  ...restProps,
27
27
  ...columnCellProps,
28
28
  ref,
@@ -1,5 +1,4 @@
1
- import { ComponentProps } from 'react';
2
- import { ChildFree, Typography } from '@redislabsdev/redis-ui-components';
3
- export type RestTableHeaderCellHeadingProps = ChildFree<ComponentProps<typeof Typography.Body>>;
1
+ import { ChildFree, TypographyBodyProps } from '@redislabsdev/redis-ui-components';
2
+ export type RestTableHeaderCellHeadingProps = ChildFree<TypographyBodyProps>;
4
3
  export type TableHeaderCellHeadingProps = RestTableHeaderCellHeadingProps;
5
4
  export declare const TableHeaderCellHeading: (props: TableHeaderCellHeadingProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { PaginationInfoLabelProps } from '@redislabsdev/redis-ui-components';
2
3
  declare const TablePagination: (() => import("react/jsx-runtime").JSX.Element | null) & {
3
4
  Compose: ({ children }: import("@redislabsdev/redis-ui-components").ComposeChildrenProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -10,11 +11,11 @@ declare const TablePagination: (() => import("react/jsx-runtime").JSX.Element |
10
11
  InfoLabel: import("styled-components").StyledComponent<({ renderer, ...restProps }: PaginationInfoLabelProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
11
12
  PageSelect: import("styled-components").StyledComponent<{
12
13
  ({ ...restProps }: import("@redislabsdev/redis-ui-components").PaginationPageSelectProps): import("react/jsx-runtime").JSX.Element;
13
- Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element;
14
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
14
15
  }, any, {}, never>;
15
16
  PageSizeSelect: import("styled-components").StyledComponent<{
16
17
  ({ pageSizes, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationPageSizeSelectProps): import("react/jsx-runtime").JSX.Element | null;
17
- Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element | null;
18
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>) => import("react/jsx-runtime").JSX.Element | null;
18
19
  }, any, {}, never>;
19
20
  NavigationButton: import("styled-components").StyledComponent<({ navType, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationNavigationButtonProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
20
21
  PageSizeGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -28,7 +28,7 @@ const PaginationBar = _styled__default.default(redisUiComponents.Pagination.Bar)
28
28
  })).withConfig({
29
29
  displayName: "TablePaginationstyle__PaginationBar",
30
30
  componentId: "RedisUI__sc-ccqfi0-1"
31
- })(["", " width:100%;overflow:auto hidden;> *{flex:none;}"], () => {
31
+ })(["", " flex:none;width:100%;overflow:auto hidden;> *{flex:none;}"], () => {
32
32
  const styles = redisUiStyles.useTheme().components.table.pagination.bar;
33
33
  return _styled.css`
34
34
  font-size: ${styles.fontSize};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  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
3
  export declare const PaginationBar: import("styled-components").StyledComponent<"nav", any, {
3
4
  'aria-label': string;
@@ -7,11 +8,11 @@ export declare const PaginationBar: import("styled-components").StyledComponent<
7
8
  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
9
  export declare const PageSizeSelect: import("styled-components").StyledComponent<{
9
10
  ({ 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;
11
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>) => import("react/jsx-runtime").JSX.Element | null;
11
12
  }, any, {}, never>;
12
13
  export declare const PageSelect: import("styled-components").StyledComponent<{
13
14
  ({ ...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
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
15
16
  }, any, {}, never>;
16
17
  export declare const PageSizeGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
17
18
  export declare const PageNavGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -24,7 +24,7 @@ const PaginationBar = _styled(Pagination.Bar).attrs(({
24
24
  })).withConfig({
25
25
  displayName: "TablePaginationstyle__PaginationBar",
26
26
  componentId: "RedisUI__sc-ccqfi0-1"
27
- })(["", " width:100%;overflow:auto hidden;> *{flex:none;}"], () => {
27
+ })(["", " flex:none;width:100%;overflow:auto hidden;> *{flex:none;}"], () => {
28
28
  const styles = useTheme().components.table.pagination.bar;
29
29
  return css`
30
30
  font-size: ${styles.fontSize};
@@ -5,9 +5,12 @@ const Table_style = require("../../Table.style.cjs");
5
5
  const RowNavigationPlugin = require("../../plugins/RowNavigationPlugin.cjs");
6
6
  const TableRoot = (props) => {
7
7
  const navigationProps = RowNavigationPlugin.useHandleRowNavigationOnTable(props);
8
- return jsxRuntime.jsxRuntimeExports.jsx(Table_style.Table, {
9
- ...props,
10
- ...navigationProps
8
+ return jsxRuntime.jsxRuntimeExports.jsx(Table_style.TableScroller, {
9
+ "data-role": "table-scroller",
10
+ children: jsxRuntime.jsxRuntimeExports.jsx(Table_style.Table, {
11
+ ...props,
12
+ ...navigationProps
13
+ })
11
14
  });
12
15
  };
13
16
  exports.TableRoot = TableRoot;
@@ -1,11 +1,14 @@
1
1
  import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
- import { Table } from "../../Table.style.js";
2
+ import { TableScroller, Table } from "../../Table.style.js";
3
3
  import { useHandleRowNavigationOnTable } from "../../plugins/RowNavigationPlugin.js";
4
4
  const TableRoot = (props) => {
5
5
  const navigationProps = useHandleRowNavigationOnTable(props);
6
- return jsxRuntimeExports.jsx(Table, {
7
- ...props,
8
- ...navigationProps
6
+ return jsxRuntimeExports.jsx(TableScroller, {
7
+ "data-role": "table-scroller",
8
+ children: jsxRuntimeExports.jsx(Table, {
9
+ ...props,
10
+ ...navigationProps
11
+ })
9
12
  });
10
13
  };
11
14
  export {
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("../../../node_modules/react/jsx-runtime.cjs");
4
+ const React = require("react");
5
+ const Table_style = require("../../Table.style.cjs");
6
+ const TableTopBar = (props) => (
7
+ // eslint-disable-next-line react/destructuring-assignment
8
+ React.Children.toArray(props.children).filter((ch) => ch !== "").length ? jsxRuntime.jsxRuntimeExports.jsx(Table_style.TableTopBar, {
9
+ ...props
10
+ }) : null
11
+ );
12
+ exports.TableTopBar = TableTopBar;
@@ -0,0 +1,2 @@
1
+ import { ComposeElementProps } from '@redislabsdev/redis-ui-components';
2
+ export declare const TableTopBar: (props: ComposeElementProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,12 @@
1
+ import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
+ import { Children } from "react";
3
+ import { TableTopBar as TableTopBar$1 } from "../../Table.style.js";
4
+ const TableTopBar = (props) => (
5
+ // eslint-disable-next-line react/destructuring-assignment
6
+ Children.toArray(props.children).filter((ch) => ch !== "").length ? jsxRuntimeExports.jsx(TableTopBar$1, {
7
+ ...props
8
+ }) : null
9
+ );
10
+ export {
11
+ TableTopBar
12
+ };
@@ -3,3 +3,4 @@ export { ShowOnRowHover } from './components/ShowOnRowHover/ShowOnRowHover.style
3
3
  export * from './Table.types';
4
4
  export * from './Table.context';
5
5
  export { type TablePluginData, buildPluginContext } from './utils/plugin.utils';
6
+ export { calcTableMinSize } from './utils/table.utils';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const useColumnVisibilityPlugin = ({
4
+ columnVisibility
5
+ }) => {
6
+ return columnVisibility ? {
7
+ tableOptions: {
8
+ state: {
9
+ columnVisibility
10
+ }
11
+ }
12
+ } : void 0;
13
+ };
14
+ exports.useColumnVisibilityPlugin = useColumnVisibilityPlugin;
@@ -0,0 +1,10 @@
1
+ import { VisibilityState } from '@tanstack/react-table';
2
+ import { TablePluginData } from '../utils/plugin.utils';
3
+ export interface TableColumnVisibilityParams {
4
+ /** Map of column id to column visibility */
5
+ columnVisibility?: VisibilityState;
6
+ }
7
+ /**
8
+ * Table plugin that enables column visibility control from external state only.
9
+ */
10
+ export declare const useColumnVisibilityPlugin: ({ columnVisibility }: TableColumnVisibilityParams) => TablePluginData<any>;
@@ -0,0 +1,14 @@
1
+ const useColumnVisibilityPlugin = ({
2
+ columnVisibility
3
+ }) => {
4
+ return columnVisibility ? {
5
+ tableOptions: {
6
+ state: {
7
+ columnVisibility
8
+ }
9
+ }
10
+ } : void 0;
11
+ };
12
+ export {
13
+ useColumnVisibilityPlugin
14
+ };
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index = require("../../node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs");
3
4
  const plugin_utils = require("../utils/plugin.utils.cjs");
4
5
  const ClickableRowPlugin = require("./ClickableRowPlugin.cjs");
5
6
  const Table_context = require("../Table.context.cjs");
6
- const index = require("../../node_modules/@tanstack/table-core/build/lib/index.cjs");
7
+ const index$1 = require("../../node_modules/@tanstack/table-core/build/lib/index.cjs");
8
+ const DEFAULT_EXPANDED = {};
7
9
  const getTrue = () => true;
8
10
  const TableExpandableRowContextKey = "expandableRow";
9
11
  const useExpandableRowPlugin = ({
10
12
  defaultExpanded,
13
+ expanded,
14
+ onExpandedChange,
11
15
  getRowCanExpand,
12
16
  renderExpandedRow,
13
17
  expandRowOnClick,
@@ -19,15 +23,24 @@ const useExpandableRowPlugin = ({
19
23
  onRowClick: (row) => row.toggleExpanded(),
20
24
  shouldClickOnEnter: true
21
25
  });
26
+ const [expandedState = DEFAULT_EXPANDED, setExpandedState] = index.useControllableState({
27
+ prop: expanded,
28
+ defaultProp: defaultExpanded,
29
+ onChange: onExpandedChange
30
+ });
22
31
  if (!renderExpandedRow && !getSubRows) return void 0;
23
32
  return {
24
33
  tableOptions: {
25
- getExpandedRowModel: index.getExpandedRowModel(),
34
+ getExpandedRowModel: index$1.getExpandedRowModel(),
26
35
  getRowCanExpand: getRowCanExpand || (getSubRows ? void 0 : getTrue),
27
36
  getSubRows,
28
37
  initialState: defaultExpanded ? {
29
38
  expanded: defaultExpanded
30
- } : void 0
39
+ } : void 0,
40
+ state: {
41
+ expanded: expandedState
42
+ },
43
+ onExpandedChange: setExpandedState
31
44
  },
32
45
  context: {
33
46
  ...plugin_utils.buildPluginContext(TableExpandableRowContextKey, {
@@ -23,6 +23,8 @@ export interface TableExpandableRowParams<T extends object> extends TableExpanda
23
23
  * When this prop is set, the `renderExpandedRow` and `expandedRowComponent` parameters are not used. */
24
24
  getSubRows?: (rowData: T, index: number) => T[] | undefined;
25
25
  defaultExpanded?: ExpandedState;
26
+ expanded?: ExpandedState;
27
+ onExpandedChange?: (state: ExpandedState) => void;
26
28
  }
27
- export declare const useExpandableRowPlugin: <T extends object>({ defaultExpanded, getRowCanExpand, renderExpandedRow, expandRowOnClick, expandedRowComponent, getSubRows }: TableExpandableRowParams<T>) => TablePluginData<T>;
29
+ export declare const useExpandableRowPlugin: <T extends object>({ defaultExpanded, expanded, onExpandedChange, getRowCanExpand, renderExpandedRow, expandRowOnClick, expandedRowComponent, getSubRows }: TableExpandableRowParams<T>) => TablePluginData<T>;
28
30
  export declare const useExpandableRowContext: <T extends object>() => TableExpandableRowContext<T> | undefined;
@@ -1,11 +1,15 @@
1
+ import { useControllableState } from "../../node_modules/@radix-ui/react-use-controllable-state/dist/index.js";
1
2
  import { buildPluginContext } from "../utils/plugin.utils.js";
2
3
  import { useClickableRowPlugin } from "./ClickableRowPlugin.js";
3
4
  import { usePluginContext } from "../Table.context.js";
4
5
  import { getExpandedRowModel } from "../../node_modules/@tanstack/table-core/build/lib/index.js";
6
+ const DEFAULT_EXPANDED = {};
5
7
  const getTrue = () => true;
6
8
  const TableExpandableRowContextKey = "expandableRow";
7
9
  const useExpandableRowPlugin = ({
8
10
  defaultExpanded,
11
+ expanded,
12
+ onExpandedChange,
9
13
  getRowCanExpand,
10
14
  renderExpandedRow,
11
15
  expandRowOnClick,
@@ -17,6 +21,11 @@ const useExpandableRowPlugin = ({
17
21
  onRowClick: (row) => row.toggleExpanded(),
18
22
  shouldClickOnEnter: true
19
23
  });
24
+ const [expandedState = DEFAULT_EXPANDED, setExpandedState] = useControllableState({
25
+ prop: expanded,
26
+ defaultProp: defaultExpanded,
27
+ onChange: onExpandedChange
28
+ });
20
29
  if (!renderExpandedRow && !getSubRows) return void 0;
21
30
  return {
22
31
  tableOptions: {
@@ -25,7 +34,11 @@ const useExpandableRowPlugin = ({
25
34
  getSubRows,
26
35
  initialState: defaultExpanded ? {
27
36
  expanded: defaultExpanded
28
- } : void 0
37
+ } : void 0,
38
+ state: {
39
+ expanded: expandedState
40
+ },
41
+ onExpandedChange: setExpandedState
29
42
  },
30
43
  context: {
31
44
  ...buildPluginContext(TableExpandableRowContextKey, {
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index = require("../../node_modules/@tanstack/table-core/build/lib/index.cjs");
4
+ const useFilteringPlugin = ({
5
+ globalFilter,
6
+ globalFilterFn = "includesString",
7
+ columnFilters,
8
+ enableFiltering = !!globalFilter || !!(columnFilters == null ? void 0 : columnFilters.length),
9
+ filterFns
10
+ } = {}) => {
11
+ return enableFiltering ? {
12
+ tableOptions: {
13
+ getFilteredRowModel: index.getFilteredRowModel(),
14
+ state: {
15
+ globalFilter,
16
+ columnFilters
17
+ },
18
+ enableGlobalFilter: !!globalFilter,
19
+ enableColumnFilters: !!(columnFilters == null ? void 0 : columnFilters.length),
20
+ globalFilterFn,
21
+ filterFns
22
+ }
23
+ } : void 0;
24
+ };
25
+ exports.useFilteringPlugin = useFilteringPlugin;
@@ -0,0 +1,20 @@
1
+ import { TableOptions, ColumnFiltersState } from '@tanstack/react-table';
2
+ import { TablePluginData } from '../utils/plugin.utils';
3
+ export interface TableFilteringParams<T extends object> extends Pick<TableOptions<T>, 'globalFilterFn' | 'filterFns'> {
4
+ /**
5
+ * String, for global search by all the columns<br/>
6
+ * To disable global search per specific column, set `enableGlobalFilter: false` on `columnDef`
7
+ */
8
+ globalFilter?: string;
9
+ /**
10
+ * Array of column filters data.<br/>
11
+ * Do not forget to define filterFn for columns on `columnDef`, depends on column data type
12
+ */
13
+ columnFilters?: ColumnFiltersState;
14
+ /** Set false to disable filtering or for manual filtering out of table */
15
+ enableFiltering?: boolean;
16
+ }
17
+ /**
18
+ * This plugin is for outer filtering control (filters data comes from outside), but with inner filtering engine
19
+ */
20
+ export declare const useFilteringPlugin: <T extends object>({ globalFilter, globalFilterFn, columnFilters, enableFiltering, filterFns }?: TableFilteringParams<T>) => TablePluginData<T>;
@@ -0,0 +1,25 @@
1
+ import { getFilteredRowModel } from "../../node_modules/@tanstack/table-core/build/lib/index.js";
2
+ const useFilteringPlugin = ({
3
+ globalFilter,
4
+ globalFilterFn = "includesString",
5
+ columnFilters,
6
+ enableFiltering = !!globalFilter || !!(columnFilters == null ? void 0 : columnFilters.length),
7
+ filterFns
8
+ } = {}) => {
9
+ return enableFiltering ? {
10
+ tableOptions: {
11
+ getFilteredRowModel: getFilteredRowModel(),
12
+ state: {
13
+ globalFilter,
14
+ columnFilters
15
+ },
16
+ enableGlobalFilter: !!globalFilter,
17
+ enableColumnFilters: !!(columnFilters == null ? void 0 : columnFilters.length),
18
+ globalFilterFn,
19
+ filterFns
20
+ }
21
+ } : void 0;
22
+ };
23
+ export {
24
+ useFilteringPlugin
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -13,5 +13,5 @@ export interface TablePaginationParams extends TablePaginationContext {
13
13
  totalRowCount?: number;
14
14
  totalPageCount?: number;
15
15
  }
16
- export declare const usePaginationPlugin: <T extends object>({ pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, totalPageCount, pageSizes, paginationEnabled }: TablePaginationParams) => TablePluginData<T>;
16
+ export declare const usePaginationPlugin: ({ pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, totalPageCount, pageSizes, paginationEnabled }: TablePaginationParams) => TablePluginData<any>;
17
17
  export declare const usePaginationContext: () => TablePaginationContext | undefined;
@@ -16,7 +16,7 @@ export type TableRowNavigationContext = {
16
16
  export type TableRowNavigationParams = {
17
17
  enableRowNavigation?: boolean;
18
18
  };
19
- export declare const useRowNavigationPlugin: <T extends object>({ enableRowNavigation }: TableRowNavigationParams) => TablePluginData<T>;
19
+ export declare const useRowNavigationPlugin: ({ enableRowNavigation }: TableRowNavigationParams) => TablePluginData<any>;
20
20
  export declare const useRowNavigationContext: () => TableRowNavigationContext | undefined;
21
21
  type UseHandleRowNavigationOnRowParams<T extends object> = {
22
22
  row: Row<T>;