@redis-ui/table 2.22.0 → 2.25.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 (39) hide show
  1. package/dist/Table/Table.cjs +9 -1
  2. package/dist/Table/Table.d.ts +13 -13
  3. package/dist/Table/Table.js +9 -1
  4. package/dist/Table/Table.style.cjs +5 -2
  5. package/dist/Table/Table.style.d.ts +274 -2
  6. package/dist/Table/Table.style.js +5 -2
  7. package/dist/Table/components/Compose/Compose.cjs +2 -3
  8. package/dist/Table/components/Compose/Compose.d.ts +9 -8
  9. package/dist/Table/components/Compose/Compose.js +3 -4
  10. package/dist/Table/components/ExpandRowButton/useExpanderColumn.cjs +0 -1
  11. package/dist/Table/components/ExpandRowButton/useExpanderColumn.js +0 -1
  12. package/dist/Table/components/PluggableTable/compositionComponents.d.ts +3 -3
  13. package/dist/Table/components/RowSelection/useRowSelectionColumn.cjs +0 -1
  14. package/dist/Table/components/RowSelection/useRowSelectionColumn.js +0 -1
  15. package/dist/Table/components/TableBody/components/Compose/Compose.cjs +1 -0
  16. package/dist/Table/components/TableBody/components/Compose/Compose.js +1 -0
  17. package/dist/Table/components/TableHeader/TableHeader.d.ts +1 -1
  18. package/dist/Table/components/TableHeader/components/Compose/Compose.d.ts +2 -1
  19. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.cjs +1 -1
  20. package/dist/Table/components/TableHeaderCell/components/Compose/Compose.js +1 -1
  21. package/dist/Table/components/TableHeaderCell/components/Heading/Heading.d.ts +2 -3
  22. package/dist/Table/components/TablePagination/TablePagination.cjs +4 -2
  23. package/dist/Table/components/TablePagination/TablePagination.d.ts +3 -2
  24. package/dist/Table/components/TablePagination/TablePagination.js +4 -2
  25. package/dist/Table/components/TablePagination/TablePagination.style.d.ts +3 -2
  26. package/dist/Table/plugins/ExpandableRowPlugin.cjs +16 -3
  27. package/dist/Table/plugins/ExpandableRowPlugin.d.ts +3 -1
  28. package/dist/Table/plugins/ExpandableRowPlugin.js +14 -1
  29. package/dist/Table/plugins/PaginationPlugin.cjs +2 -0
  30. package/dist/Table/plugins/PaginationPlugin.d.ts +2 -1
  31. package/dist/Table/plugins/PaginationPlugin.js +2 -0
  32. package/dist/Table/plugins/RowNavigationPlugin.d.ts +1 -1
  33. package/dist/Table/plugins/RowSelectionPlugin.cjs +11 -1
  34. package/dist/Table/plugins/RowSelectionPlugin.d.ts +3 -1
  35. package/dist/Table/plugins/RowSelectionPlugin.js +11 -1
  36. package/dist/Table/utils/plugin.utils.cjs +17 -2
  37. package/dist/Table/utils/plugin.utils.d.ts +5 -2
  38. package/dist/Table/utils/plugin.utils.js +18 -3
  39. package/package.json +5 -5
@@ -37,6 +37,8 @@ const Table = Object.assign(({
37
37
  manualSorting,
38
38
  // row expansion
39
39
  defaultExpanded,
40
+ expanded,
41
+ onExpandedChange,
40
42
  getIsRowExpandable,
41
43
  renderExpandedRow,
42
44
  expandRowOnClick,
@@ -48,6 +50,7 @@ const Table = Object.assign(({
48
50
  onPaginationChange,
49
51
  manualPagination,
50
52
  totalRowCount,
53
+ totalPageCount,
51
54
  pageSizes,
52
55
  paginationEnabled,
53
56
  // row selection
@@ -56,6 +59,7 @@ const Table = Object.assign(({
56
59
  onRowSelectionChange,
57
60
  rowSelectionMode,
58
61
  getRowCanSelect,
62
+ selectRowOnClick,
59
63
  // row navigation
60
64
  enableRowNavigation = false
61
65
  }) => {
@@ -76,11 +80,14 @@ const Table = Object.assign(({
76
80
  onPaginationChange,
77
81
  manualPagination,
78
82
  totalRowCount,
83
+ totalPageCount,
79
84
  pageSizes,
80
85
  paginationEnabled
81
86
  });
82
87
  const expandableRowPluginData = ExpandableRowPlugin.useExpandableRowPlugin({
83
88
  defaultExpanded,
89
+ expanded,
90
+ onExpandedChange,
84
91
  expandRowOnClick,
85
92
  getRowCanExpand: getIsRowExpandable && ((row) => {
86
93
  var _a;
@@ -95,7 +102,8 @@ const Table = Object.assign(({
95
102
  defaultRowSelection,
96
103
  onRowSelectionChange,
97
104
  rowSelectionMode,
98
- getRowCanSelect
105
+ getRowCanSelect,
106
+ selectRowOnClick
99
107
  });
100
108
  const rowNavigationPluginData = RowNavigationPlugin.useRowNavigationPlugin({
101
109
  enableRowNavigation
@@ -2,14 +2,14 @@
2
2
  import './tanStackExtendedTypes';
3
3
  import type { Row } from '@tanstack/react-table';
4
4
  import { TableProps } from './Table.types';
5
- declare const Table: (<T extends object>({ columns, caption, onRowClick, data, getRowId, emptyState, maxHeight, minWidth, stripedRows, enableSorting, defaultSorting, onSortingChange, sorting, manualSorting, defaultExpanded, getIsRowExpandable, renderExpandedRow, expandRowOnClick, expandedRowComponent, getSubRows, pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, pageSizes, paginationEnabled, rowSelection, defaultRowSelection, onRowSelectionChange, rowSelectionMode, getRowCanSelect, enableRowNavigation }: TableProps<T>) => import("react/jsx-runtime").JSX.Element) & {
5
+ declare const Table: (<T extends object>({ columns, caption, onRowClick, data, getRowId, emptyState, maxHeight, minWidth, stripedRows, enableSorting, defaultSorting, onSortingChange, sorting, manualSorting, defaultExpanded, expanded, onExpandedChange, getIsRowExpandable, renderExpandedRow, expandRowOnClick, expandedRowComponent, getSubRows, pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, totalPageCount, pageSizes, paginationEnabled, rowSelection, defaultRowSelection, onRowSelectionChange, rowSelectionMode, getRowCanSelect, selectRowOnClick, enableRowNavigation }: TableProps<T>) => import("react/jsx-runtime").JSX.Element) & {
6
6
  Compose: <T_1 extends object>({ data, columns, pluginsData, tableOptions, components, maxHeight, minWidth, stripedRows, ...restProps }: import("./components/Compose/Compose").TableComposeProps<T_1>) => import("react/jsx-runtime").JSX.Element;
7
7
  Root: (props: import("react").HTMLAttributes<HTMLTableElement>) => import("react/jsx-runtime").JSX.Element;
8
8
  SRCaption: ({ caption }: {
9
9
  caption?: string | undefined;
10
10
  }) => import("react/jsx-runtime").JSX.Element | null;
11
11
  Header: (<T_2 extends object>(props: import("./components/TableHeader/TableHeader").RestTableHeaderProps) => import("react/jsx-runtime").JSX.Element) & {
12
- Compose: import("styled-components").StyledComponent<"thead", any, {}, never>;
12
+ Compose: import("react").FC<import("./components/TableHeader/components/Compose/Compose").TableHeaderComposeProps>;
13
13
  Row: (<T_3 extends object>(props: import("./components/TableHeaderRow/TableHeaderRow").OwnTableHeaderRowProps<T_3> & import("./components/TableHeaderRow/TableHeaderRow").RestTableHeaderRowProps & import("react").RefAttributes<HTMLTableRowElement>) => import("react").ReactElement<any, any> | null) & {
14
14
  Compose: import("styled-components").StyledComponent<"tr", any, {}, never>;
15
15
  };
@@ -54,11 +54,11 @@ declare const Table: (<T extends object>({ columns, caption, onRowClick, data, g
54
54
  InfoLabel: import("styled-components").StyledComponent<({ renderer, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationInfoLabelProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
55
55
  PageSelect: import("styled-components").StyledComponent<{
56
56
  ({ ...restProps }: import("@redislabsdev/redis-ui-components").PaginationPageSelectProps): import("react/jsx-runtime").JSX.Element;
57
- Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element;
57
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
58
58
  }, any, {}, never>;
59
59
  PageSizeSelect: import("styled-components").StyledComponent<{
60
60
  ({ pageSizes, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationPageSizeSelectProps): import("react/jsx-runtime").JSX.Element | null;
61
- Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element | null;
61
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>) => import("react/jsx-runtime").JSX.Element | null;
62
62
  }, any, {}, never>;
63
63
  NavigationButton: import("styled-components").StyledComponent<({ navType, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationNavigationButtonProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
64
64
  PageSizeGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -77,16 +77,16 @@ declare const Table: (<T extends object>({ columns, caption, onRowClick, data, g
77
77
  ShowOnActiveRow: import("styled-components").StyledComponent<"div", any, {}, never>;
78
78
  useClickableRowPlugin: <T_18 extends object>({ getCanRowClick, onRowClick, shouldClickOnEnter }: Partial<import("./plugins/ClickableRowPlugin").TableClickableRowContext<T_18>>) => import(".").TablePluginData<T_18>;
79
79
  useSortingPlugin: <T_19 extends object>({ defaultSorting, onSortingChange, sorting, manualSorting, enableSorting }?: import("./plugins/SortingPlugin").TableSortingParams) => import(".").TablePluginData<T_19>;
80
- usePaginationPlugin: <T_20 extends object>({ pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, pageSizes, paginationEnabled }: import("./plugins/PaginationPlugin").TablePaginationParams) => import(".").TablePluginData<T_20>;
81
- useExpandableRowPlugin: <T_21 extends object>({ defaultExpanded, getRowCanExpand, renderExpandedRow, expandRowOnClick, expandedRowComponent, getSubRows }: import("./plugins/ExpandableRowPlugin").TableExpandableRowParams<T_21>) => import(".").TablePluginData<T_21>;
82
- useRowSelectionPlugin: <T_22 extends object>({ rowSelection, defaultRowSelection, onRowSelectionChange, rowSelectionMode, getRowCanSelect }: import("./plugins/RowSelectionPlugin").TableRowSelectionParams<T_22>) => import(".").TablePluginData<T_22>;
83
- useRowNavigationPlugin: <T_23 extends object>({ enableRowNavigation }: import("./plugins/RowNavigationPlugin").TableRowNavigationParams) => import(".").TablePluginData<T_23>;
84
- useTableContext: <T_24 extends object = object>() => import("./Table.context").TableContextProps<T_24>;
85
- useComposeContext: <T_25 extends object, C extends import("./Table.context").CompositionContextProps<T_25> = import("./Table.context").CompositionContextProps<T_25>>(defaults: Partial<C>) => C;
86
- useClickableRowContext: <T_26 extends object>() => import("./plugins/ClickableRowPlugin").TableClickableRowContext<T_26> | undefined;
87
- useExpandableRowContext: <T_27 extends object>() => import("./plugins/ExpandableRowPlugin").TableExpandableRowContext<T_27> | undefined;
80
+ usePaginationPlugin: ({ pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, totalPageCount, pageSizes, paginationEnabled }: import("./plugins/PaginationPlugin").TablePaginationParams) => import(".").TablePluginData<any>;
81
+ useExpandableRowPlugin: <T_20 extends object>({ defaultExpanded, expanded, onExpandedChange, getRowCanExpand, renderExpandedRow, expandRowOnClick, expandedRowComponent, getSubRows }: import("./plugins/ExpandableRowPlugin").TableExpandableRowParams<T_20>) => import(".").TablePluginData<T_20>;
82
+ useRowSelectionPlugin: <T_21 extends object>({ rowSelection, defaultRowSelection, onRowSelectionChange, rowSelectionMode, getRowCanSelect, selectRowOnClick }: import("./plugins/RowSelectionPlugin").TableRowSelectionParams<T_21>) => import(".").TablePluginData<T_21>;
83
+ useRowNavigationPlugin: ({ enableRowNavigation }: import("./plugins/RowNavigationPlugin").TableRowNavigationParams) => import(".").TablePluginData<any>;
84
+ useTableContext: <T_22 extends object = object>() => import("./Table.context").TableContextProps<T_22>;
85
+ useComposeContext: <T_23 extends object, C extends import("./Table.context").CompositionContextProps<T_23> = import("./Table.context").CompositionContextProps<T_23>>(defaults: Partial<C>) => C;
86
+ useClickableRowContext: <T_24 extends object>() => import("./plugins/ClickableRowPlugin").TableClickableRowContext<T_24> | undefined;
87
+ useExpandableRowContext: <T_25 extends object>() => import("./plugins/ExpandableRowPlugin").TableExpandableRowContext<T_25> | undefined;
88
88
  usePaginationContext: () => import("./plugins/PaginationPlugin").TablePaginationContext | undefined;
89
89
  useSortingContext: () => import("./plugins/SortingPlugin").TableSortingContext | undefined;
90
- PluggableTable: <T_28 extends object>({ caption, emptyStateRender, ...restProps }: import("./components/PluggableTable/PluggableTable").PluggableTableProps<T_28>) => import("react/jsx-runtime").JSX.Element;
90
+ PluggableTable: <T_26 extends object>({ caption, emptyStateRender, ...restProps }: import("./components/PluggableTable/PluggableTable").PluggableTableProps<T_26>) => import("react/jsx-runtime").JSX.Element;
91
91
  };
92
92
  export default Table;
@@ -35,6 +35,8 @@ const Table = Object.assign(({
35
35
  manualSorting,
36
36
  // row expansion
37
37
  defaultExpanded,
38
+ expanded,
39
+ onExpandedChange,
38
40
  getIsRowExpandable,
39
41
  renderExpandedRow,
40
42
  expandRowOnClick,
@@ -46,6 +48,7 @@ const Table = Object.assign(({
46
48
  onPaginationChange,
47
49
  manualPagination,
48
50
  totalRowCount,
51
+ totalPageCount,
49
52
  pageSizes,
50
53
  paginationEnabled,
51
54
  // row selection
@@ -54,6 +57,7 @@ const Table = Object.assign(({
54
57
  onRowSelectionChange,
55
58
  rowSelectionMode,
56
59
  getRowCanSelect,
60
+ selectRowOnClick,
57
61
  // row navigation
58
62
  enableRowNavigation = false
59
63
  }) => {
@@ -74,11 +78,14 @@ const Table = Object.assign(({
74
78
  onPaginationChange,
75
79
  manualPagination,
76
80
  totalRowCount,
81
+ totalPageCount,
77
82
  pageSizes,
78
83
  paginationEnabled
79
84
  });
80
85
  const expandableRowPluginData = useExpandableRowPlugin({
81
86
  defaultExpanded,
87
+ expanded,
88
+ onExpandedChange,
82
89
  expandRowOnClick,
83
90
  getRowCanExpand: getIsRowExpandable && ((row) => {
84
91
  var _a;
@@ -93,7 +100,8 @@ const Table = Object.assign(({
93
100
  defaultRowSelection,
94
101
  onRowSelectionChange,
95
102
  rowSelectionMode,
96
- getRowCanSelect
103
+ getRowCanSelect,
104
+ selectRowOnClick
97
105
  });
98
106
  const rowNavigationPluginData = useRowNavigationPlugin({
99
107
  enableRowNavigation
@@ -22,7 +22,10 @@ const Table = _styled__default.default.table.withConfig({
22
22
  overflow-x: ${table.getRowModel().rows.length ? "auto" : "hidden"};
23
23
  `;
24
24
  });
25
- const TableHead = _styled__default.default.thead.withConfig({
25
+ const TableHead = _styled__default.default.thead.attrs((props) => ({
26
+ "data-role": "table-header",
27
+ ...props
28
+ })).withConfig({
26
29
  displayName: "Tablestyle__TableHead",
27
30
  componentId: "RedisUI__sc-o0xfty-2"
28
31
  })(["display:table;table-layout:fixed;", ""], () => {
@@ -56,7 +59,7 @@ const HeaderTitleWrapper = _styled__default.default(redisUiComponents.Typography
56
59
  const TableTh = _styled__default.default.th.withConfig({
57
60
  displayName: "Tablestyle__TableTh",
58
61
  componentId: "RedisUI__sc-o0xfty-6"
59
- })(["padding:1.05rem 1.2rem;color:", ";user-select:none;white-space:nowrap;word-break:break-word;line-height:normal;position:relative;overflow:hidden;&:not(:last-child)::after{content:'';position:absolute;inset:1.05rem 0 1.05rem auto;border-right:1px solid ", ";}"], () => redisUiStyles.useTheme().components.table.table.tableTh.color, () => redisUiStyles.useTheme().components.table.table.tableTh.borderRight);
62
+ })(["padding:1.05rem 1.2rem;color:", ";user-select:none;white-space:nowrap;word-break:break-word;line-height:normal;position:relative;overflow:hidden;&[aria-sort]{cursor:pointer;}&:not(:last-child)::after{content:'';position:absolute;inset:1.05rem 0 1.05rem auto;border-right:1px solid ", ";}"], () => redisUiStyles.useTheme().components.table.table.tableTh.color, () => redisUiStyles.useTheme().components.table.table.tableTh.borderRight);
60
63
  const TableBody = _styled__default.default.tbody.withConfig({
61
64
  displayName: "Tablestyle__TableBody",
62
65
  componentId: "RedisUI__sc-o0xfty-7"
@@ -1,11 +1,283 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="react" />
1
3
  export declare const TableContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
2
4
  export declare const Table: import("styled-components").StyledComponent<"table", any, {}, never>;
3
- export declare const TableHead: import("styled-components").StyledComponent<"thead", any, {}, never>;
5
+ export declare const TableHead: import("styled-components").StyledComponent<"thead", any, {
6
+ id?: string | undefined;
7
+ onChange?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
8
+ slot?: string | undefined;
9
+ style?: import("react").CSSProperties | undefined;
10
+ title?: string | undefined;
11
+ defaultChecked?: boolean | undefined;
12
+ defaultValue?: string | number | readonly string[] | undefined;
13
+ suppressContentEditableWarning?: boolean | undefined;
14
+ suppressHydrationWarning?: boolean | undefined;
15
+ accessKey?: string | undefined;
16
+ autoFocus?: boolean | undefined;
17
+ className?: string | undefined;
18
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
19
+ contextMenu?: string | undefined;
20
+ dir?: string | undefined;
21
+ draggable?: (boolean | "true" | "false") | undefined;
22
+ hidden?: boolean | undefined;
23
+ lang?: string | undefined;
24
+ nonce?: string | undefined;
25
+ spellCheck?: (boolean | "true" | "false") | undefined;
26
+ tabIndex?: number | undefined;
27
+ translate?: "yes" | "no" | undefined;
28
+ radioGroup?: string | undefined;
29
+ role?: import("react").AriaRole | undefined;
30
+ about?: string | undefined;
31
+ content?: string | undefined;
32
+ datatype?: string | undefined;
33
+ inlist?: any;
34
+ prefix?: string | undefined;
35
+ property?: string | undefined;
36
+ rel?: string | undefined;
37
+ resource?: string | undefined;
38
+ rev?: string | undefined;
39
+ typeof?: string | undefined;
40
+ vocab?: string | undefined;
41
+ autoCapitalize?: string | undefined;
42
+ autoCorrect?: string | undefined;
43
+ autoSave?: string | undefined;
44
+ color?: string | undefined;
45
+ itemProp?: string | undefined;
46
+ itemScope?: boolean | undefined;
47
+ itemType?: string | undefined;
48
+ itemID?: string | undefined;
49
+ itemRef?: string | undefined;
50
+ results?: number | undefined;
51
+ security?: string | undefined;
52
+ unselectable?: "on" | "off" | undefined;
53
+ inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
54
+ is?: string | undefined;
55
+ "aria-activedescendant"?: string | undefined;
56
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
57
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
58
+ "aria-braillelabel"?: string | undefined;
59
+ "aria-brailleroledescription"?: string | undefined;
60
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
61
+ "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
62
+ "aria-colcount"?: number | undefined;
63
+ "aria-colindex"?: number | undefined;
64
+ "aria-colindextext"?: string | undefined;
65
+ "aria-colspan"?: number | undefined;
66
+ "aria-controls"?: string | undefined;
67
+ "aria-current"?: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date" | undefined;
68
+ "aria-describedby"?: string | undefined;
69
+ "aria-description"?: string | undefined;
70
+ "aria-details"?: string | undefined;
71
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
72
+ "aria-dropeffect"?: "link" | "move" | "copy" | "none" | "execute" | "popup" | undefined;
73
+ "aria-errormessage"?: string | undefined;
74
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
75
+ "aria-flowto"?: string | undefined;
76
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
77
+ "aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
78
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
79
+ "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
80
+ "aria-keyshortcuts"?: string | undefined;
81
+ "aria-label"?: string | undefined;
82
+ "aria-labelledby"?: string | undefined;
83
+ "aria-level"?: number | undefined;
84
+ "aria-live"?: "off" | "assertive" | "polite" | undefined;
85
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
86
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
87
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
88
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
89
+ "aria-owns"?: string | undefined;
90
+ "aria-placeholder"?: string | undefined;
91
+ "aria-posinset"?: number | undefined;
92
+ "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
93
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
94
+ "aria-relevant"?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
95
+ "aria-required"?: (boolean | "true" | "false") | undefined;
96
+ "aria-roledescription"?: string | undefined;
97
+ "aria-rowcount"?: number | undefined;
98
+ "aria-rowindex"?: number | undefined;
99
+ "aria-rowindextext"?: string | undefined;
100
+ "aria-rowspan"?: number | undefined;
101
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
102
+ "aria-setsize"?: number | undefined;
103
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
104
+ "aria-valuemax"?: number | undefined;
105
+ "aria-valuemin"?: number | undefined;
106
+ "aria-valuenow"?: number | undefined;
107
+ "aria-valuetext"?: string | undefined;
108
+ children?: import("react").ReactNode;
109
+ dangerouslySetInnerHTML?: {
110
+ __html: string | TrustedHTML;
111
+ } | undefined;
112
+ onCopy?: import("react").ClipboardEventHandler<HTMLTableSectionElement> | undefined;
113
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLTableSectionElement> | undefined;
114
+ onCut?: import("react").ClipboardEventHandler<HTMLTableSectionElement> | undefined;
115
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLTableSectionElement> | undefined;
116
+ onPaste?: import("react").ClipboardEventHandler<HTMLTableSectionElement> | undefined;
117
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLTableSectionElement> | undefined;
118
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLTableSectionElement> | undefined;
119
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLTableSectionElement> | undefined;
120
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLTableSectionElement> | undefined;
121
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLTableSectionElement> | undefined;
122
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLTableSectionElement> | undefined;
123
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLTableSectionElement> | undefined;
124
+ onFocus?: import("react").FocusEventHandler<HTMLTableSectionElement> | undefined;
125
+ onFocusCapture?: import("react").FocusEventHandler<HTMLTableSectionElement> | undefined;
126
+ onBlur?: import("react").FocusEventHandler<HTMLTableSectionElement> | undefined;
127
+ onBlurCapture?: import("react").FocusEventHandler<HTMLTableSectionElement> | undefined;
128
+ onChangeCapture?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
129
+ onBeforeInput?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
130
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
131
+ onInput?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
132
+ onInputCapture?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
133
+ onReset?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
134
+ onResetCapture?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
135
+ onSubmit?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
136
+ onSubmitCapture?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
137
+ onInvalid?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
138
+ onInvalidCapture?: import("react").FormEventHandler<HTMLTableSectionElement> | undefined;
139
+ onLoad?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
140
+ onLoadCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
141
+ onError?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
142
+ onErrorCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
143
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLTableSectionElement> | undefined;
144
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLTableSectionElement> | undefined;
145
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLTableSectionElement> | undefined;
146
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLTableSectionElement> | undefined;
147
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLTableSectionElement> | undefined;
148
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLTableSectionElement> | undefined;
149
+ onAbort?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
150
+ onAbortCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
151
+ onCanPlay?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
152
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
153
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
154
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
155
+ onDurationChange?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
156
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
157
+ onEmptied?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
158
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
159
+ onEncrypted?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
160
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
161
+ onEnded?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
162
+ onEndedCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
163
+ onLoadedData?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
164
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
165
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
166
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
167
+ onLoadStart?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
168
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
169
+ onPause?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
170
+ onPauseCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
171
+ onPlay?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
172
+ onPlayCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
173
+ onPlaying?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
174
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
175
+ onProgress?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
176
+ onProgressCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
177
+ onRateChange?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
178
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
179
+ onResize?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
180
+ onResizeCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
181
+ onSeeked?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
182
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
183
+ onSeeking?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
184
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
185
+ onStalled?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
186
+ onStalledCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
187
+ onSuspend?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
188
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
189
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
190
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
191
+ onVolumeChange?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
192
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
193
+ onWaiting?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
194
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
195
+ onAuxClick?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
196
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
197
+ onClick?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
198
+ onClickCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
199
+ onContextMenu?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
200
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
201
+ onDoubleClick?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
202
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
203
+ onDrag?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
204
+ onDragCapture?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
205
+ onDragEnd?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
206
+ onDragEndCapture?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
207
+ onDragEnter?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
208
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
209
+ onDragExit?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
210
+ onDragExitCapture?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
211
+ onDragLeave?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
212
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
213
+ onDragOver?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
214
+ onDragOverCapture?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
215
+ onDragStart?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
216
+ onDragStartCapture?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
217
+ onDrop?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
218
+ onDropCapture?: import("react").DragEventHandler<HTMLTableSectionElement> | undefined;
219
+ onMouseDown?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
220
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
221
+ onMouseEnter?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
222
+ onMouseLeave?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
223
+ onMouseMove?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
224
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
225
+ onMouseOut?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
226
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
227
+ onMouseOver?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
228
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
229
+ onMouseUp?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
230
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLTableSectionElement> | undefined;
231
+ onSelect?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
232
+ onSelectCapture?: import("react").ReactEventHandler<HTMLTableSectionElement> | undefined;
233
+ onTouchCancel?: import("react").TouchEventHandler<HTMLTableSectionElement> | undefined;
234
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLTableSectionElement> | undefined;
235
+ onTouchEnd?: import("react").TouchEventHandler<HTMLTableSectionElement> | undefined;
236
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLTableSectionElement> | undefined;
237
+ onTouchMove?: import("react").TouchEventHandler<HTMLTableSectionElement> | undefined;
238
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLTableSectionElement> | undefined;
239
+ onTouchStart?: import("react").TouchEventHandler<HTMLTableSectionElement> | undefined;
240
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLTableSectionElement> | undefined;
241
+ onPointerDown?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
242
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
243
+ onPointerMove?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
244
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
245
+ onPointerUp?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
246
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
247
+ onPointerCancel?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
248
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
249
+ onPointerEnter?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
250
+ onPointerLeave?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
251
+ onPointerOver?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
252
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
253
+ onPointerOut?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
254
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
255
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
256
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
257
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
258
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLTableSectionElement> | undefined;
259
+ onScroll?: import("react").UIEventHandler<HTMLTableSectionElement> | undefined;
260
+ onScrollCapture?: import("react").UIEventHandler<HTMLTableSectionElement> | undefined;
261
+ onWheel?: import("react").WheelEventHandler<HTMLTableSectionElement> | undefined;
262
+ onWheelCapture?: import("react").WheelEventHandler<HTMLTableSectionElement> | undefined;
263
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLTableSectionElement> | undefined;
264
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLTableSectionElement> | undefined;
265
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLTableSectionElement> | undefined;
266
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLTableSectionElement> | undefined;
267
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLTableSectionElement> | undefined;
268
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLTableSectionElement> | undefined;
269
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLTableSectionElement> | undefined;
270
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLTableSectionElement> | undefined;
271
+ key?: import("react").Key | null | undefined;
272
+ ref?: ((instance: HTMLTableSectionElement | null) => void) | import("react").RefObject<HTMLTableSectionElement> | null | undefined;
273
+ theme: any;
274
+ 'data-role': string;
275
+ }, "id" | "onChange" | "slot" | "style" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "theme" | "ref" | "key" | "data-role">;
4
276
  export declare const TableHeaderRow: import("styled-components").StyledComponent<"tr", any, {}, never>;
5
277
  export declare const SortableHeadingCompose: import("styled-components").StyledComponent<"button", any, {
6
278
  $custom: boolean;
7
279
  }, never>;
8
- export declare const HeaderTitleWrapper: import("styled-components").StyledComponent<({ size, variant, color, component, ellipsis, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element, any, {
280
+ export declare const HeaderTitleWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>>, any, {
9
281
  $isTextual: boolean;
10
282
  }, never>;
11
283
  export declare const TableTh: import("styled-components").StyledComponent<"th", any, {}, never>;
@@ -18,7 +18,10 @@ const Table = _styled.table.withConfig({
18
18
  overflow-x: ${table.getRowModel().rows.length ? "auto" : "hidden"};
19
19
  `;
20
20
  });
21
- const TableHead = _styled.thead.withConfig({
21
+ const TableHead = _styled.thead.attrs((props) => ({
22
+ "data-role": "table-header",
23
+ ...props
24
+ })).withConfig({
22
25
  displayName: "Tablestyle__TableHead",
23
26
  componentId: "RedisUI__sc-o0xfty-2"
24
27
  })(["display:table;table-layout:fixed;", ""], () => {
@@ -52,7 +55,7 @@ const HeaderTitleWrapper = _styled(Typography.Body).withConfig({
52
55
  const TableTh = _styled.th.withConfig({
53
56
  displayName: "Tablestyle__TableTh",
54
57
  componentId: "RedisUI__sc-o0xfty-6"
55
- })(["padding:1.05rem 1.2rem;color:", ";user-select:none;white-space:nowrap;word-break:break-word;line-height:normal;position:relative;overflow:hidden;&:not(:last-child)::after{content:'';position:absolute;inset:1.05rem 0 1.05rem auto;border-right:1px solid ", ";}"], () => useTheme().components.table.table.tableTh.color, () => useTheme().components.table.table.tableTh.borderRight);
58
+ })(["padding:1.05rem 1.2rem;color:", ";user-select:none;white-space:nowrap;word-break:break-word;line-height:normal;position:relative;overflow:hidden;&[aria-sort]{cursor:pointer;}&:not(:last-child)::after{content:'';position:absolute;inset:1.05rem 0 1.05rem auto;border-right:1px solid ", ";}"], () => useTheme().components.table.table.tableTh.color, () => useTheme().components.table.table.tableTh.borderRight);
56
59
  const TableBody = _styled.tbody.withConfig({
57
60
  displayName: "Tablestyle__TableBody",
58
61
  componentId: "RedisUI__sc-o0xfty-7"
@@ -17,14 +17,13 @@ const TableCompose = ({
17
17
  stripedRows,
18
18
  ...restProps
19
19
  }) => {
20
- const mergedPluginsData = plugin_utils.mergePluginsData(pluginsData);
20
+ const mergedPluginsData = plugin_utils.mergePluginsData(pluginsData, tableOptions);
21
21
  const table = index.useReactTable({
22
22
  data,
23
- columns,
23
+ columns: plugin_utils.normalizeColumns(columns),
24
24
  getCoreRowModel: index$1.getCoreRowModel(),
25
25
  enableSorting: false,
26
26
  enableColumnResizing: false,
27
- ...tableOptions,
28
27
  ...mergedPluginsData == null ? void 0 : mergedPluginsData.tableOptions
29
28
  });
30
29
  const tableContext = {
@@ -1,12 +1,13 @@
1
- import { SetOptional } from 'type-fest';
2
- import { TableOptions } from '@tanstack/table-core';
3
- import { ComposeElementProps } from '@redislabsdev/redis-ui-components';
4
- import { TablePluginData } from '../../utils/plugin.utils';
1
+ import { ColumnDef } from '@tanstack/react-table';
2
+ import { ComposeElementProps, NoInfer } from '@redislabsdev/redis-ui-components';
3
+ import { TablePluginData, UserTableOptions } from '../../utils/plugin.utils';
5
4
  import { CompositionContextProps, TableMainContextProps } from '../../Table.context';
6
- export type OwnTableComposeProps<T extends object> = TableMainContextProps & Pick<TableOptions<T>, 'data' | 'columns'> & {
7
- tableOptions?: Omit<SetOptional<TableOptions<T>, 'getCoreRowModel'>, 'data' | 'columns'>;
8
- pluginsData?: TablePluginData<T>[];
9
- components?: Partial<CompositionContextProps<T>>;
5
+ export type OwnTableComposeProps<T extends object> = TableMainContextProps & {
6
+ data: T[];
7
+ columns: ColumnDef<NoInfer<T>, any>[];
8
+ tableOptions?: UserTableOptions<T>;
9
+ pluginsData?: TablePluginData<NoInfer<T>>[];
10
+ components?: Partial<CompositionContextProps<any>>;
10
11
  };
11
12
  export type RestTableComposeProps = ComposeElementProps;
12
13
  export type TableComposeProps<T extends object> = OwnTableComposeProps<T> & RestTableComposeProps;
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports } from "../../../node_modules/react/jsx-runtime.js";
2
2
  import { useReactTable } from "../../../node_modules/@tanstack/react-table/build/lib/index.js";
3
- import { mergePluginsData } from "../../utils/plugin.utils.js";
3
+ import { mergePluginsData, normalizeColumns } from "../../utils/plugin.utils.js";
4
4
  import { TableContextProvider } from "../../Table.context.js";
5
5
  import { TableContainer } from "../../Table.style.js";
6
6
  import { getCoreRowModel } from "../../../node_modules/@tanstack/table-core/build/lib/index.js";
@@ -15,14 +15,13 @@ const TableCompose = ({
15
15
  stripedRows,
16
16
  ...restProps
17
17
  }) => {
18
- const mergedPluginsData = mergePluginsData(pluginsData);
18
+ const mergedPluginsData = mergePluginsData(pluginsData, tableOptions);
19
19
  const table = useReactTable({
20
20
  data,
21
- columns,
21
+ columns: normalizeColumns(columns),
22
22
  getCoreRowModel: getCoreRowModel(),
23
23
  enableSorting: false,
24
24
  enableColumnResizing: false,
25
- ...tableOptions,
26
25
  ...mergedPluginsData == null ? void 0 : mergedPluginsData.tableOptions
27
26
  });
28
27
  const tableContext = {
@@ -8,7 +8,6 @@ const useExpanderColumn = ({
8
8
  } = {}) => ({
9
9
  id: "expander",
10
10
  size: 4,
11
- minSize: 4,
12
11
  sizeUnit: "rem",
13
12
  header: allowExpandAll ? ExpandAllRowsButton.ExpandAllRowsButton : "expander",
14
13
  isHeaderCustom: !!allowExpandAll,
@@ -6,7 +6,6 @@ const useExpanderColumn = ({
6
6
  } = {}) => ({
7
7
  id: "expander",
8
8
  size: 4,
9
- minSize: 4,
10
9
  sizeUnit: "rem",
11
10
  header: allowExpandAll ? ExpandAllRowsButton : "expander",
12
11
  isHeaderCustom: !!allowExpandAll,
@@ -7,7 +7,7 @@ export declare const compositionComponents: {
7
7
  caption?: string | undefined;
8
8
  }) => import("react/jsx-runtime").JSX.Element | null;
9
9
  Header: (<T_1 extends object>(props: import("../TableHeader/TableHeader").RestTableHeaderProps) => import("react/jsx-runtime").JSX.Element) & {
10
- Compose: import("styled-components").StyledComponent<"thead", any, {}, never>;
10
+ Compose: import("react").FC<import("../TableHeader/components/Compose/Compose").TableHeaderComposeProps>;
11
11
  Row: (<T_2 extends object>(props: import("../TableHeaderRow/TableHeaderRow").OwnTableHeaderRowProps<T_2> & import("../TableHeaderRow/TableHeaderRow").RestTableHeaderRowProps & import("react").RefAttributes<HTMLTableRowElement>) => import("react").ReactElement<any, any> | null) & {
12
12
  Compose: import("styled-components").StyledComponent<"tr", any, {}, never>;
13
13
  };
@@ -52,11 +52,11 @@ export declare const compositionComponents: {
52
52
  InfoLabel: import("styled-components").StyledComponent<({ renderer, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationInfoLabelProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
53
53
  PageSelect: import("styled-components").StyledComponent<{
54
54
  ({ ...restProps }: import("@redislabsdev/redis-ui-components").PaginationPageSelectProps): import("react/jsx-runtime").JSX.Element;
55
- Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element;
55
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
56
56
  }, any, {}, never>;
57
57
  PageSizeSelect: import("styled-components").StyledComponent<{
58
58
  ({ pageSizes, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationPageSizeSelectProps): import("react/jsx-runtime").JSX.Element | null;
59
- Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps) => import("react/jsx-runtime").JSX.Element | null;
59
+ Label: ({ children, ...restProps }: import("@redislabsdev/redis-ui-components").TypographyBodyProps & import("react").RefAttributes<HTMLElement>) => import("react/jsx-runtime").JSX.Element | null;
60
60
  }, any, {}, never>;
61
61
  NavigationButton: import("styled-components").StyledComponent<({ navType, ...restProps }: import("@redislabsdev/redis-ui-components").PaginationNavigationButtonProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
62
62
  PageSizeGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -11,7 +11,6 @@ const useRowSelectionColumn = ({
11
11
  } = {}) => ({
12
12
  id: "row-selection",
13
13
  size: 4.2,
14
- minSize: 4.2,
15
14
  sizeUnit: "rem",
16
15
  header: (props) => !disableSelectAll && props.table.options.enableMultiRowSelection ? jsxRuntime.jsxRuntimeExports.jsx(HeaderMultiRowSelectionButton.HeaderMultiRowSelectionButton, {
17
16
  ...props,
@@ -9,7 +9,6 @@ const useRowSelectionColumn = ({
9
9
  } = {}) => ({
10
10
  id: "row-selection",
11
11
  size: 4.2,
12
- minSize: 4.2,
13
12
  sizeUnit: "rem",
14
13
  header: (props) => !disableSelectAll && props.table.options.enableMultiRowSelection ? jsxRuntimeExports.jsx(HeaderMultiRowSelectionButton, {
15
14
  ...props,
@@ -3,6 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("../../../../../node_modules/react/jsx-runtime.cjs");
4
4
  const Table_style = require("../../../../Table.style.cjs");
5
5
  const TableBodyCompose = (props) => jsxRuntime.jsxRuntimeExports.jsx(Table_style.TableBody, {
6
+ "data-role": "table-body",
6
7
  ...props
7
8
  });
8
9
  exports.TableBodyCompose = TableBodyCompose;
@@ -1,6 +1,7 @@
1
1
  import { j as jsxRuntimeExports } from "../../../../../node_modules/react/jsx-runtime.js";
2
2
  import { TableBody } from "../../../../Table.style.js";
3
3
  const TableBodyCompose = (props) => jsxRuntimeExports.jsx(TableBody, {
4
+ "data-role": "table-body",
4
5
  ...props
5
6
  });
6
7
  export {
@@ -4,7 +4,7 @@ import { TableHeaderComposeProps } from './components/Compose/Compose';
4
4
  export type RestTableHeaderProps = ChildFree<TableHeaderComposeProps>;
5
5
  export type TableHeaderProps = RestTableHeaderProps;
6
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>;
7
+ Compose: import("react").FC<TableHeaderComposeProps>;
8
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
9
  Compose: import("styled-components").StyledComponent<"tr", any, {}, never>;
10
10
  };
@@ -1,3 +1,4 @@
1
+ import { FC } from 'react';
1
2
  import { ComposeElementProps } from '@redislabsdev/redis-ui-components';
2
3
  export type TableHeaderComposeProps = ComposeElementProps<HTMLTableSectionElement>;
3
- export declare const TableHeaderCompose: import("styled-components").StyledComponent<"thead", any, {}, never>;
4
+ export declare const TableHeaderCompose: FC<TableHeaderComposeProps>;
@@ -35,7 +35,7 @@ const TableHeaderCellCompose = redisUiComponents.forwardRefWithGenerics(({
35
35
  ...restProps.style,
36
36
  ...columnCellProps == null ? void 0 : columnCellProps.style
37
37
  },
38
- "aria-hidden": header.isPlaceholder,
38
+ "aria-hidden": header.isPlaceholder ? true : void 0,
39
39
  onClick: column.getCanSort() ? column.getToggleSortingHandler() : void 0,
40
40
  "aria-sort": column.getCanSort() ? TableHeaderCell_utils.getCurrentAriaSort(header) : void 0,
41
41
  scope: "col",
@@ -33,7 +33,7 @@ const TableHeaderCellCompose = forwardRefWithGenerics(({
33
33
  ...restProps.style,
34
34
  ...columnCellProps == null ? void 0 : columnCellProps.style
35
35
  },
36
- "aria-hidden": header.isPlaceholder,
36
+ "aria-hidden": header.isPlaceholder ? true : void 0,
37
37
  onClick: column.getCanSort() ? column.getToggleSortingHandler() : void 0,
38
38
  "aria-sort": column.getCanSort() ? getCurrentAriaSort(header) : void 0,
39
39
  scope: "col",
@@ -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;
@@ -7,8 +7,10 @@ const Compose = require("./components/Compose/Compose.cjs");
7
7
  const TablePagination_style = require("./TablePagination.style.cjs");
8
8
  const renderRowCount = ({
9
9
  visibleItemCount,
10
- totalItemCount
11
- }) => `Showing ${visibleItemCount} out of ${totalItemCount} rows`;
10
+ totalItemCount = 0,
11
+ pageCount,
12
+ pageSize
13
+ }) => totalItemCount > pageSize || pageCount === 1 ? `Showing ${visibleItemCount} out of ${totalItemCount} rows` : `Showing ${visibleItemCount} rows`;
12
14
  const renderPageCount = ({
13
15
  pageIndex,
14
16
  pageCount
@@ -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>;
@@ -5,8 +5,10 @@ import { TablePaginationCompose } from "./components/Compose/Compose.js";
5
5
  import { PaginationBar, InfoLabel, PageSelect, PageSizeSelect, NavigationButton, PageSizeGroup, PageNavGroup, PageSelectGroup } from "./TablePagination.style.js";
6
6
  const renderRowCount = ({
7
7
  visibleItemCount,
8
- totalItemCount
9
- }) => `Showing ${visibleItemCount} out of ${totalItemCount} rows`;
8
+ totalItemCount = 0,
9
+ pageCount,
10
+ pageSize
11
+ }) => totalItemCount > pageSize || pageCount === 1 ? `Showing ${visibleItemCount} out of ${totalItemCount} rows` : `Showing ${visibleItemCount} rows`;
10
12
  const renderPageCount = ({
11
13
  pageIndex,
12
14
  pageCount
@@ -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>;
@@ -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, {
@@ -15,6 +15,7 @@ const usePaginationPlugin = ({
15
15
  onPaginationChange,
16
16
  manualPagination,
17
17
  totalRowCount,
18
+ totalPageCount,
18
19
  pageSizes,
19
20
  paginationEnabled = (pagination || defaultPagination || onPaginationChange || pageSizes) !== void 0 || manualPagination !== void 0
20
21
  }) => {
@@ -32,6 +33,7 @@ const usePaginationPlugin = ({
32
33
  onPaginationChange: setPaginationState,
33
34
  manualPagination,
34
35
  rowCount: totalRowCount,
36
+ pageCount: totalPageCount,
35
37
  autoResetPageIndex: false
36
38
  },
37
39
  context: plugin_utils.buildPluginContext(TablePaginationContextKey, {
@@ -11,6 +11,7 @@ export interface TablePaginationParams extends TablePaginationContext {
11
11
  onPaginationChange?: (state: PaginationState) => void;
12
12
  manualPagination?: boolean;
13
13
  totalRowCount?: number;
14
+ totalPageCount?: number;
14
15
  }
15
- export declare const usePaginationPlugin: <T extends object>({ pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, pageSizes, paginationEnabled }: TablePaginationParams) => TablePluginData<T>;
16
+ export declare const usePaginationPlugin: ({ pagination, defaultPagination, onPaginationChange, manualPagination, totalRowCount, totalPageCount, pageSizes, paginationEnabled }: TablePaginationParams) => TablePluginData<any>;
16
17
  export declare const usePaginationContext: () => TablePaginationContext | undefined;
@@ -13,6 +13,7 @@ const usePaginationPlugin = ({
13
13
  onPaginationChange,
14
14
  manualPagination,
15
15
  totalRowCount,
16
+ totalPageCount,
16
17
  pageSizes,
17
18
  paginationEnabled = (pagination || defaultPagination || onPaginationChange || pageSizes) !== void 0 || manualPagination !== void 0
18
19
  }) => {
@@ -30,6 +31,7 @@ const usePaginationPlugin = ({
30
31
  onPaginationChange: setPaginationState,
31
32
  manualPagination,
32
33
  rowCount: totalRowCount,
34
+ pageCount: totalPageCount,
33
35
  autoResetPageIndex: false
34
36
  },
35
37
  context: buildPluginContext(TablePaginationContextKey, {
@@ -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>;
@@ -1,14 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const index = require("../../node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs");
4
+ const ClickableRowPlugin = require("./ClickableRowPlugin.cjs");
4
5
  const DEFAULT_ROW_SELECTION = {};
5
6
  const useRowSelectionPlugin = ({
6
7
  rowSelection,
7
8
  defaultRowSelection,
8
9
  onRowSelectionChange,
9
10
  rowSelectionMode,
10
- getRowCanSelect
11
+ getRowCanSelect,
12
+ selectRowOnClick
11
13
  }) => {
14
+ const clickablePluginData = ClickableRowPlugin.useClickableRowPlugin({
15
+ getCanRowClick: (row) => !!(selectRowOnClick && row.getCanSelect()),
16
+ onRowClick: (row) => row.toggleSelected(),
17
+ shouldClickOnEnter: true
18
+ });
12
19
  const [rowSelectionState = DEFAULT_ROW_SELECTION, setRowSelectionState] = index.useControllableState({
13
20
  prop: rowSelection,
14
21
  defaultProp: defaultRowSelection,
@@ -22,6 +29,9 @@ const useRowSelectionPlugin = ({
22
29
  enableRowSelection: getRowCanSelect ?? true,
23
30
  enableMultiRowSelection: rowSelectionMode === "multiple",
24
31
  onRowSelectionChange: setRowSelectionState
32
+ },
33
+ context: {
34
+ ...selectRowOnClick ? clickablePluginData == null ? void 0 : clickablePluginData.context : null
25
35
  }
26
36
  };
27
37
  };
@@ -8,5 +8,7 @@ export interface TableRowSelectionParams<T extends object> {
8
8
  rowSelectionMode?: 'single' | 'multiple';
9
9
  /** Allows individual rows to be selectable */
10
10
  getRowCanSelect?: (row: Row<T>) => boolean;
11
+ /** Allows selecting row by Click on whole row and by pressing Enter, when row is focused */
12
+ selectRowOnClick?: boolean;
11
13
  }
12
- export declare const useRowSelectionPlugin: <T extends object>({ rowSelection, defaultRowSelection, onRowSelectionChange, rowSelectionMode, getRowCanSelect }: TableRowSelectionParams<T>) => TablePluginData<T>;
14
+ export declare const useRowSelectionPlugin: <T extends object>({ rowSelection, defaultRowSelection, onRowSelectionChange, rowSelectionMode, getRowCanSelect, selectRowOnClick }: TableRowSelectionParams<T>) => TablePluginData<T>;
@@ -1,12 +1,19 @@
1
1
  import { useControllableState } from "../../node_modules/@radix-ui/react-use-controllable-state/dist/index.js";
2
+ import { useClickableRowPlugin } from "./ClickableRowPlugin.js";
2
3
  const DEFAULT_ROW_SELECTION = {};
3
4
  const useRowSelectionPlugin = ({
4
5
  rowSelection,
5
6
  defaultRowSelection,
6
7
  onRowSelectionChange,
7
8
  rowSelectionMode,
8
- getRowCanSelect
9
+ getRowCanSelect,
10
+ selectRowOnClick
9
11
  }) => {
12
+ const clickablePluginData = useClickableRowPlugin({
13
+ getCanRowClick: (row) => !!(selectRowOnClick && row.getCanSelect()),
14
+ onRowClick: (row) => row.toggleSelected(),
15
+ shouldClickOnEnter: true
16
+ });
10
17
  const [rowSelectionState = DEFAULT_ROW_SELECTION, setRowSelectionState] = useControllableState({
11
18
  prop: rowSelection,
12
19
  defaultProp: defaultRowSelection,
@@ -20,6 +27,9 @@ const useRowSelectionPlugin = ({
20
27
  enableRowSelection: getRowCanSelect ?? true,
21
28
  enableMultiRowSelection: rowSelectionMode === "multiple",
22
29
  onRowSelectionChange: setRowSelectionState
30
+ },
31
+ context: {
32
+ ...selectRowOnClick ? clickablePluginData == null ? void 0 : clickablePluginData.context : null
23
33
  }
24
34
  };
25
35
  };
@@ -17,9 +17,9 @@ const mergeObjects = (key, container1, container2) => {
17
17
  }
18
18
  } : null;
19
19
  };
20
- const mergePluginsData = (plugins) => {
20
+ const mergePluginsData = (plugins, tableOptions) => {
21
21
  const merged = {
22
- tableOptions: {},
22
+ tableOptions: tableOptions ?? {},
23
23
  context: {}
24
24
  };
25
25
  if (!(plugins == null ? void 0 : plugins.length)) {
@@ -45,5 +45,20 @@ const mergePluginsData = (plugins) => {
45
45
  const buildPluginContext = (key, context) => ({
46
46
  [key]: context
47
47
  });
48
+ const normalizeColumns = (columns) => columns.map((column) => {
49
+ const {
50
+ size,
51
+ minSize,
52
+ sizeUnit
53
+ } = column;
54
+ const sizeFix = !minSize && sizeUnit && sizeUnit !== "fraction" && typeof size === "number" && size < 20 ? {
55
+ minSize: size
56
+ } : {};
57
+ return {
58
+ ...column,
59
+ ...sizeFix
60
+ };
61
+ });
48
62
  exports.buildPluginContext = buildPluginContext;
49
63
  exports.mergePluginsData = mergePluginsData;
64
+ exports.normalizeColumns = normalizeColumns;
@@ -1,6 +1,8 @@
1
1
  import { TableOptions } from '@tanstack/table-core';
2
- import { RowData } from '@tanstack/react-table';
2
+ import { ColumnDef, RowData } from '@tanstack/react-table';
3
+ import { SetOptional } from 'type-fest';
3
4
  export type PartialTableOptions<T extends RowData> = Partial<Omit<TableOptions<T>, 'columns' | 'data' | 'getRowId' | 'onStateChange' | 'getCoreRowModel' | 'defaultColumn' | 'debugTable' | 'debugRows' | 'debugHeaders' | 'debugColumns' | 'debugCells' | 'debugAll' | 'autoResetAll' | 'meta'>>;
5
+ export type UserTableOptions<T extends RowData> = Omit<SetOptional<TableOptions<T>, 'getCoreRowModel'>, 'data' | 'columns'>;
4
6
  export type TablePluginData<T extends RowData> = {
5
7
  /** Partial table options that will be smartly merged with other table options */
6
8
  tableOptions: PartialTableOptions<T>;
@@ -13,5 +15,6 @@ export type TableMergedData<T extends RowData> = {
13
15
  tableOptions: PartialTableOptions<T>;
14
16
  context?: Record<string, Record<string, unknown>>;
15
17
  };
16
- export declare const mergePluginsData: <T extends unknown>(plugins?: TablePluginData<T>[] | undefined) => TableMergedData<T>;
18
+ export declare const mergePluginsData: <T extends unknown>(plugins?: TablePluginData<T>[] | undefined, tableOptions?: UserTableOptions<T> | undefined) => TableMergedData<T>;
17
19
  export declare const buildPluginContext: (key: string, context: Record<string, unknown>) => Record<string, Record<string, unknown>>;
20
+ export declare const normalizeColumns: <T extends object>(columns: ColumnDef<T, unknown>[]) => ColumnDef<T, unknown>[];
@@ -15,9 +15,9 @@ const mergeObjects = (key, container1, container2) => {
15
15
  }
16
16
  } : null;
17
17
  };
18
- const mergePluginsData = (plugins) => {
18
+ const mergePluginsData = (plugins, tableOptions) => {
19
19
  const merged = {
20
- tableOptions: {},
20
+ tableOptions: tableOptions ?? {},
21
21
  context: {}
22
22
  };
23
23
  if (!(plugins == null ? void 0 : plugins.length)) {
@@ -43,7 +43,22 @@ const mergePluginsData = (plugins) => {
43
43
  const buildPluginContext = (key, context) => ({
44
44
  [key]: context
45
45
  });
46
+ const normalizeColumns = (columns) => columns.map((column) => {
47
+ const {
48
+ size,
49
+ minSize,
50
+ sizeUnit
51
+ } = column;
52
+ const sizeFix = !minSize && sizeUnit && sizeUnit !== "fraction" && typeof size === "number" && size < 20 ? {
53
+ minSize: size
54
+ } : {};
55
+ return {
56
+ ...column,
57
+ ...sizeFix
58
+ };
59
+ });
46
60
  export {
47
61
  buildPluginContext,
48
- mergePluginsData
62
+ mergePluginsData,
63
+ normalizeColumns
49
64
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@redis-ui/table",
3
3
  "license": "UNLICENSED",
4
- "version": "2.22.0",
4
+ "version": "2.25.0",
5
5
  "type": "module",
6
6
  "publishConfig": {
7
7
  "registry": "https://npm.pkg.github.com/"
@@ -28,12 +28,12 @@
28
28
  "peerDependencies": {
29
29
  "react": "^17.0.0 || ^18.0.0",
30
30
  "react-dom": "^17.0.0 || ^18.0.0",
31
- "styled-components": "^5.0.0"
31
+ "styled-components": "^5.0.0",
32
+ "@redis-ui/styles": "^13.3.0"
32
33
  },
33
34
  "dependencies": {
34
- "@redis-ui/components": "^41.2.9",
35
- "@redis-ui/icons": "^6.3.11",
36
- "@redis-ui/styles": "^13.1.6",
35
+ "@redis-ui/components": "^41.4.0",
36
+ "@redis-ui/icons": "^6.4.0",
37
37
  "@tanstack/react-table": "^8.9.8",
38
38
  "type-fest": "^3.13.1"
39
39
  },