@infomaximum/ui-kit 0.17.2 → 0.17.4

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 (70) hide show
  1. package/dist/components/Button/Button.js +3 -3
  2. package/dist/components/Button/Button.types.d.ts +1 -1
  3. package/dist/components/ConfigProvider/ConfigProvider.js +11 -4
  4. package/dist/components/Switch/Switch.js +4 -4
  5. package/dist/components/Switch/Switch.styles.js +7 -3
  6. package/dist/components/Switch/Switch.types.d.ts +1 -1
  7. package/dist/components/Table/Table.js +15 -23
  8. package/dist/components/Table/Table.styles.d.ts +1 -1
  9. package/dist/components/Table/Table.styles.js +2 -2
  10. package/dist/components/Table/Table.types.d.ts +28 -8
  11. package/dist/components/Table/components/Body/Body.js +1 -1
  12. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.js +8 -4
  13. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.styles.d.ts +2 -2
  14. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.styles.js +3 -3
  15. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.types.d.ts +3 -1
  16. package/dist/components/Table/components/Body/components/BodyRow/BodyRow.js +7 -4
  17. package/dist/components/Table/components/Body/components/MeasureCell/MeasureCell.js +11 -3
  18. package/dist/components/Table/components/Body/components/MeasureCell/MeasureCell.types.d.ts +1 -0
  19. package/dist/components/Table/components/Body/components/MeasureRow/MeasureRow.js +2 -2
  20. package/dist/components/Table/components/Cell/Cell.styles.d.ts +2 -2
  21. package/dist/components/Table/components/Cell/Cell.styles.js +3 -3
  22. package/dist/components/Table/components/Cell/Cell.types.d.ts +2 -2
  23. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.js +5 -5
  24. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.styles.d.ts +2 -2
  25. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.styles.js +4 -9
  26. package/dist/components/Table/components/FixedHeader/FixedHeader.js +1 -1
  27. package/dist/components/Table/components/FixedHeader/components/FixedHeaderColGroup/FixedHeaderColGroup.js +18 -12
  28. package/dist/components/Table/components/Header/Header.js +1 -1
  29. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.js +2 -2
  30. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.styles.d.ts +2 -2
  31. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.styles.js +3 -3
  32. package/dist/components/Table/contexts/tableContext/TableContext.js +9 -1
  33. package/dist/components/Table/contexts/tableContext/TableContext.types.d.ts +3 -2
  34. package/dist/components/Table/features/tableRowSelection/components/CheckboxCellContentWrapper/CheckboxCellContentWrapper.js +1 -1
  35. package/dist/components/Table/features/tableRowSelection/components/HeaderCheckboxCellContentWrapper/HeaderCheckboxCellContentWrapper.js +1 -1
  36. package/dist/components/Table/features/tableRowSelection/components/RadioCellContentWrapper/RadioCellContentWrapper.js +1 -1
  37. package/dist/components/Table/features/tableRowSelection/hooks/useTransformColumns/useTransformColumns.js +4 -1
  38. package/dist/components/Table/features/tableRowSelection/types.d.ts +3 -1
  39. package/dist/components/Table/features/tableSort/components/HeaderCellWithSort/HeaderCellWithSort.js +2 -2
  40. package/dist/components/Table/features/tableStaticContext/contexts/tableStaticContext/TableStaticContext.d.ts +1 -0
  41. package/dist/components/Table/features/tableStaticContext/contexts/tableStaticContext/TableStaticContext.js +2 -1
  42. package/dist/components/Table/features/tableStaticContext/contexts/tableStaticContext/TableStaticContext.types.d.ts +1 -0
  43. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.styles.d.ts +1 -1
  44. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.styles.js +1 -1
  45. package/dist/components/Table/hooks/useTableBordered/getBorderedInfo.d.ts +3 -0
  46. package/dist/components/Table/hooks/useTableBordered/getBorderedInfo.js +41 -0
  47. package/dist/components/Table/hooks/useTableBordered/index.d.ts +1 -0
  48. package/dist/components/Table/hooks/useTableBordered/useTableBordered.d.ts +4 -0
  49. package/dist/components/Table/hooks/useTableBordered/useTableBordered.js +14 -0
  50. package/dist/components/Table/hooks/useTableBordered/useTableBordered.types.d.ts +3 -0
  51. package/dist/components/Table/hooks/useTableVisualParamsChange/index.d.ts +1 -0
  52. package/dist/components/Table/hooks/useTableVisualParamsChange/types.d.ts +6 -0
  53. package/dist/components/Table/hooks/useTableVisualParamsChange/useTableVisualParamsChange.js +17 -4
  54. package/dist/components/Table/hooks/useTableVisualParamsChange/utils.d.ts +1 -0
  55. package/dist/components/Table/hooks/useTableVisualParamsChange/utils.js +3 -1
  56. package/dist/components/Table/interfaces/tableComponents.types.d.ts +2 -2
  57. package/dist/components/Tabs/Tabs.js +2 -2
  58. package/dist/components/Tabs/Tabs.types.d.ts +3 -1
  59. package/dist/components/Tabs/Tabs.utils.d.ts +3 -0
  60. package/dist/components/Tabs/Tabs.utils.js +29 -1
  61. package/dist/components/Tabs/components/TabBar/TabBar.js +12 -10
  62. package/dist/components/Tabs/components/TabBar/TabBar.styles.d.ts +1 -1
  63. package/dist/components/Tabs/components/TabBar/TabBar.styles.js +3 -9
  64. package/dist/components/Tabs/components/TabItem/TabItem.js +24 -8
  65. package/dist/components/Tabs/components/TabItem/TabItem.types.d.ts +2 -0
  66. package/dist/components/Tabs/hooks/useMoreTabsController.d.ts +4 -1
  67. package/dist/components/Tabs/hooks/useMoreTabsController.js +37 -6
  68. package/dist/components/Tabs/hooks/useTabsDndController.d.ts +1 -2
  69. package/dist/components/Tabs/hooks/useTabsDndController.js +7 -4
  70. package/package.json +1 -1
@@ -1,19 +1,32 @@
1
- import { ComponentProps, CSSProperties, ReactNode, UIEventHandler } from 'react';
1
+ import { ComponentProps, CSSProperties, ReactNode } from 'react';
2
2
  import { GetComponentProps, TableComponents } from './interfaces/tableComponents.types';
3
3
  import { Column, Columns } from './interfaces/tableColumns.types';
4
4
  import { SortOrder, SorterResult } from './features/tableSort';
5
5
  import { TableRowSelection } from './features/tableRowSelection';
6
6
  import { ExpandableConfig } from './features/tableExpand';
7
- import { Theme } from 'themes';
7
+ import { Theme } from '../../themes';
8
8
  import { Interpolation } from '@emotion/react';
9
9
  import { TableTokens } from './Table.tokens';
10
10
  import { SpinProps } from 'components/Spin';
11
+ import { ScrollParams } from './hooks/useTableVisualParamsChange';
11
12
  export type Key = string | number;
13
+ export interface Bordered {
14
+ baseBorder: boolean;
15
+ firstColumnCellInlineStart: boolean;
16
+ lastColumnCellInlineEnd: boolean;
17
+ emptyInline: boolean;
18
+ emptyBlockEnd: boolean;
19
+ }
12
20
  export interface BorderedConfig {
13
- emptyInline?: boolean;
14
- emptyBlockEnd?: boolean;
15
- firstColumnCellInlineStart?: boolean;
16
- lastColumnCellInlineEnd?: boolean;
21
+ table?: boolean | {
22
+ baseBorder?: boolean;
23
+ firstColumnCellInlineStart?: boolean;
24
+ lastColumnCellInlineEnd?: boolean;
25
+ };
26
+ empty?: boolean | {
27
+ inline?: boolean;
28
+ blockEnd?: boolean;
29
+ };
17
30
  }
18
31
  type GetStyle = (tableTokens: TableTokens, theme: Theme) => Interpolation;
19
32
  export interface DefaultRecord<R extends DefaultRecord<R> = any> extends Record<string | number | symbol, any> {
@@ -28,26 +41,33 @@ export interface TableProps<Record extends DefaultRecord | null = DefaultRecord>
28
41
  rowSelection?: TableRowSelection<Record>;
29
42
  sortDirections?: SortOrder[];
30
43
  onChange?: (sorter: SorterResult<Record>) => void;
31
- onRow?: GetComponentProps<Record, ComponentProps<"tr">>;
44
+ onRow?: GetComponentProps<Record, ComponentProps<"tr"> & {
45
+ rowHoverable?: boolean;
46
+ }>;
32
47
  onHeaderRow?: GetComponentProps<readonly Column<Record>[], ComponentProps<"tr">>;
33
48
  tableLayout?: TableLayout;
34
49
  scroll?: {
35
50
  x?: CSSProperties["width"] | true;
36
51
  y?: CSSProperties["maxHeight"];
37
52
  };
53
+ /** @default true */
38
54
  showHeader?: boolean;
39
- onScroll?: UIEventHandler<HTMLDivElement>;
55
+ onScroll?: (params: ScrollParams) => void;
40
56
  bordered?: boolean | BorderedConfig;
41
57
  styles?: {
42
58
  table?: GetStyle;
43
59
  tableContainer?: GetStyle;
44
60
  tableBodyComponentWrapper?: GetStyle;
61
+ tableContentComponent?: GetStyle;
45
62
  };
46
63
  footer?: (data: readonly Record[], info: {
47
64
  verticalScrollBarWidth: number;
48
65
  hasHorizontalScroll: boolean;
49
66
  }) => ReactNode;
67
+ /** @default false */
50
68
  loading?: boolean | Omit<SpinProps, "children" | "fullscreen">;
69
+ /** @default true */
70
+ rowHoverable?: boolean;
51
71
  }
52
72
  export type TableLayout = "auto" | "fixed";
53
73
  export {};
@@ -58,7 +58,7 @@ const BodyComponent = (props) => {
58
58
  }
59
59
  return /* @__PURE__ */ jsx(EmptyDataRow, {});
60
60
  })();
61
- return /* @__PURE__ */ jsx(TableExpandedContext.Provider, { value: tableExpandedContextValue, children: /* @__PURE__ */ jsxs(BodyWrapperComponent, { css: tBodyStyle(theme), className: "rc-table-tbody", children: [
61
+ return /* @__PURE__ */ jsx(TableExpandedContext.Provider, { value: tableExpandedContextValue, children: /* @__PURE__ */ jsxs(BodyWrapperComponent, { css: tBodyStyle(theme), className: "ui-kit-table-tbody", children: [
62
62
  needMeasureColumnWidth && /* @__PURE__ */ jsx(MeasureRow, {}),
63
63
  rows
64
64
  ] }) });
@@ -22,7 +22,9 @@ const BodyCellComponent = (props) => {
22
22
  rowKey,
23
23
  intent,
24
24
  renderIndex,
25
- isRowSelected
25
+ isRowSelected,
26
+ rowHoverable: rowHoverableProp,
27
+ children: childrenProp
26
28
  } = props;
27
29
  const {
28
30
  rowScope,
@@ -37,9 +39,11 @@ const BodyCellComponent = (props) => {
37
39
  expandIconColumnIndex,
38
40
  bordered,
39
41
  tableTokens,
40
- showHeader
42
+ showHeader,
43
+ rowHoverable: contextRowHoverable
41
44
  } = useTableContext();
42
45
  const staticContextRef = useTableStaticContext();
46
+ const rowHoverable = rowHoverableProp ?? contextRowHoverable;
43
47
  const {
44
48
  isFixStart,
45
49
  isFixEnd,
@@ -104,7 +108,7 @@ const BodyCellComponent = (props) => {
104
108
  prefixNode,
105
109
  children
106
110
  ] }), [CellInnerWrapper, children, indentSize, intent, prefixNode, theme]);
107
- return /* @__PURE__ */ jsx(Cell, { component: rowScope ? getComponent(["body", "cell"], "th") : getComponent(["body", "cell"], "td"), align: column.align, ellipsis: column.ellipsis, bordered, tableTokens, css: [bodyCellStyle(tableTokens), bordered ? getBorderedBodyCellStyle(bordered) : void 0, bordered && !showHeader ? nonHeaderBorderedBodyCellStyle(tableTokens) : void 0, ...getFixedCellStyle({
111
+ return /* @__PURE__ */ jsx(Cell, { component: rowScope ? getComponent(["body", "cell"], "th") : getComponent(["body", "cell"], "td"), align: column.align, ellipsis: column.ellipsis, bordered, tableTokens, css: [bodyCellStyle(tableTokens), bordered.baseBorder ? getBorderedBodyCellStyle(bordered) : void 0, bordered.baseBorder && !showHeader ? nonHeaderBorderedBodyCellStyle(tableTokens) : void 0, ...getFixedCellStyle({
108
112
  columnKey: column.key,
109
113
  isFixStart,
110
114
  isFixEnd,
@@ -115,7 +119,7 @@ const BodyCellComponent = (props) => {
115
119
  fixedEndShadow,
116
120
  showFixStartShadow,
117
121
  showFixEndShadow
118
- }), cellCss, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvY29tcG9uZW50cy9Cb2R5L2NvbXBvbmVudHMvQm9keUNlbGwvQm9keUNlbGwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBJTSIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1RhYmxlL2NvbXBvbmVudHMvQm9keS9jb21wb25lbnRzL0JvZHlDZWxsL0JvZHlDZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZyYWdtZW50LCB1c2VNZW1vLCB0eXBlIE1vdXNlRXZlbnRIYW5kbGVyIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IEJvZHlDZWxsUHJvcHMgfSBmcm9tIFwiLi9Cb2R5Q2VsbC50eXBlc1wiO1xuaW1wb3J0IHsgQ2VsbCB9IGZyb20gXCIuLi8uLi8uLi9DZWxsL0NlbGxcIjtcbmltcG9ydCB7IHVzZUNlbGxIb3ZlciB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2hvb2tzL3VzZUNlbGxIb3ZlclwiO1xuaW1wb3J0IHsgdXNlQm9keUNlbGxSZW5kZXIgfSBmcm9tIFwiY29tcG9uZW50cy9UYWJsZS9ob29rcy91c2VCb2R5Q2VsbFJlbmRlclwiO1xuaW1wb3J0IHR5cGUgeyBEZWZhdWx0UmVjb3JkIH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvVGFibGUudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRhYmxlQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2NvbnRleHRzXCI7XG5pbXBvcnQgeyB1c2VDZWxsRml4ZWRJbmZvLCBnZXRGaXhlZENlbGxTdHlsZSB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2hvb2tzL3VzZUNlbGxGaXhlZEluZm9cIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcImhvb2tzL3VzZVRoZW1lXCI7XG5pbXBvcnQge1xuICBib2R5Q2VsbFN0eWxlLFxuICBnZXRCb3JkZXJlZEJvZHlDZWxsU3R5bGUsXG4gIGdldENlbGxJbm5lcldyYXBwZXJTdHlsZSxcbiAgbm9uSGVhZGVyQm9yZGVyZWRCb2R5Q2VsbFN0eWxlLFxufSBmcm9tIFwiLi9Cb2R5Q2VsbC5zdHlsZXNcIjtcbmltcG9ydCB7IEV4cGFuZEljb25XcmFwcGVyIH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVFeHBhbmRcIjtcbmltcG9ydCB7IHVzZVRhYmxlU3RhdGljQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2ZlYXR1cmVzL3RhYmxlU3RhdGljQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2V0UmVmVmFsdWUgfSBmcm9tIFwiY29tcG9uZW50cy9UYWJsZS91dGlsc1wiO1xuaW1wb3J0IHsgdXNlRXZlbnQgfSBmcm9tIFwiaG9va3MvdXNlRXZlbnRcIjtcblxuY29uc3QgQm9keUNlbGxDb21wb25lbnQgPSA8UmVjb3JkIGV4dGVuZHMgRGVmYXVsdFJlY29yZD4ocHJvcHM6IEJvZHlDZWxsUHJvcHM8UmVjb3JkPikgPT4ge1xuICBjb25zdCB7IGNvbHVtbiwgcmVjb3JkLCBpbmRleCwgY29sSW5kZXgsIHJvd0tleSwgaW50ZW50LCByZW5kZXJJbmRleCwgaXNSb3dTZWxlY3RlZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgcm93U2NvcGUsIGRhdGFJbmRleCwgcmVuZGVyIH0gPSBjb2x1bW47XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcbiAgY29uc3Qge1xuICAgIGdldENvbXBvbmVudCxcbiAgICBpc1NvbWVSZWNvcmRIYXNDaGlsZHJlbixcbiAgICBpbmRlbnRTaXplLFxuICAgIGV4cGFuZEljb25Db2x1bW5JbmRleCxcbiAgICBib3JkZXJlZCxcbiAgICB0YWJsZVRva2VucyxcbiAgICBzaG93SGVhZGVyLFxuICB9ID0gdXNlVGFibGVDb250ZXh0KCk7XG4gIGNvbnN0IHN0YXRpY0NvbnRleHRSZWYgPSB1c2VUYWJsZVN0YXRpY0NvbnRleHQoKTtcblxuICBjb25zdCB7XG4gICAgaXNGaXhTdGFydCxcbiAgICBpc0ZpeEVuZCxcbiAgICBmaXhTdGFydCxcbiAgICBmaXhFbmQsXG4gICAgekluZGV4UmV2ZXJzZSxcbiAgICBmaXhlZFN0YXJ0U2hhZG93LFxuICAgIGZpeGVkRW5kU2hhZG93LFxuICAgIHNob3dGaXhTdGFydFNoYWRvdyxcbiAgICBzaG93Rml4RW5kU2hhZG93LFxuICB9ID0gdXNlQ2VsbEZpeGVkSW5mbyh7XG4gICAgY29sU3RhcnQ6IGNvbEluZGV4LFxuICAgIGNvbEVuZDogY29sSW5kZXgsXG4gIH0pO1xuXG4gIGNvbnN0IHtcbiAgICByb3dTcGFuOiBjZWxsUm93U3BhbixcbiAgICBjb2xTcGFuOiBjZWxsQ29sU3BhbixcbiAgICBvbk1vdXNlRW50ZXI6IGNlbGxPbk1vdXNlRW50ZXIsXG4gICAgb25Nb3VzZUxlYXZlOiBjZWxsT25Nb3VzZUxlYXZlLFxuICAgIGNzczogY2VsbENzcyxcbiAgICAuLi5yZXN0QWRkaXRpb25hbENlbGxQcm9wc1xuICB9ID0gY29sdW1uLm9uQ2VsbD8uKHJlY29yZCwgaW5kZXgpIHx8IHt9O1xuXG4gIGNvbnN0IG5vdFJlbmRlcmVkQ2VsbCA9IGNlbGxDb2xTcGFuID09PSAwIHx8IGNlbGxSb3dTcGFuID09PSAwO1xuICBjb25zdCByb3dTcGFuID0gY2VsbFJvd1NwYW4gPz8gMTtcblxuICBjb25zdCBwcmVmaXhOb2RlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgY29sSW5kZXggPT09IGV4cGFuZEljb25Db2x1bW5JbmRleCAmJlxuICAgICAgaXNTb21lUmVjb3JkSGFzQ2hpbGRyZW4gJiYgKFxuICAgICAgICA8RXhwYW5kSWNvbldyYXBwZXJcbiAgICAgICAgICByb3dLZXk9e3Jvd0tleX1cbiAgICAgICAgICByZWNvcmQ9e3JlY29yZH1cbiAgICAgICAgICBleHBhbmRhYmxlPXtyZWNvcmQgJiYgQm9vbGVhbihyZWNvcmQuY2hpbGRyZW4pfVxuICAgICAgICAvPlxuICAgICAgKSxcbiAgICBbY29sSW5kZXgsIGV4cGFuZEljb25Db2x1bW5JbmRleCwgaXNTb21lUmVjb3JkSGFzQ2hpbGRyZW4sIHJlY29yZCwgcm93S2V5XVxuICApO1xuXG4gIGNvbnN0IHsgaXNIb3ZlcmVkIH0gPSB1c2VDZWxsSG92ZXIoe1xuICAgIGluZGV4LFxuICAgIHJvd1NwYW4sXG4gICAgc2tpcFN1YnNjcmliZTogbm90UmVuZGVyZWRDZWxsLFxuICB9KTtcblxuICBjb25zdCB7IGNoaWxkcmVuIH0gPSB1c2VCb2R5Q2VsbFJlbmRlcih7XG4gICAgcmVjb3JkLFxuICAgIGRhdGFJbmRleCxcbiAgICByZW5kZXJJbmRleCxcbiAgICByZW5kZXIsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZU1vdXNlRW50ZXIgPSB1c2VFdmVudCgoZSkgPT4ge1xuICAgIGNvbnN0IGVtaXRDZWxsSG92ZXIgPSBnZXRSZWZWYWx1ZShzdGF0aWNDb250ZXh0UmVmLCBcImVtaXRDZWxsSG92ZXJcIik7XG5cbiAgICBlbWl0Q2VsbEhvdmVyKHtcbiAgICAgIHN0YXJ0OiBpbmRleCxcbiAgICAgIGVuZDogaW5kZXggKyByb3dTcGFuIC0gMSxcbiAgICB9KTtcblxuICAgIGNlbGxPbk1vdXNlRW50ZXI/LihlKTtcbiAgfSkgc2F0aXNmaWVzIE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxUYWJsZUNlbGxFbGVtZW50PjtcblxuICBjb25zdCBoYW5kbGVNb3VzZUxlYXZlID0gdXNlRXZlbnQoKGUpID0+IHtcbiAgICBjb25zdCBlbWl0Q2VsbEhvdmVyID0gZ2V0UmVmVmFsdWUoc3RhdGljQ29udGV4dFJlZiwgXCJlbWl0Q2VsbEhvdmVyXCIpO1xuXG4gICAgZW1pdENlbGxIb3Zlcih7XG4gICAgICBzdGFydDogLTEsXG4gICAgICBlbmQ6IC0xLFxuICAgIH0pO1xuXG4gICAgY2VsbE9uTW91c2VMZWF2ZT8uKGUpO1xuICB9KSBzYXRpc2ZpZXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTFRhYmxlQ2VsbEVsZW1lbnQ+O1xuXG4gIGNvbnN0IENlbGxJbm5lcldyYXBwZXIgPSBwcmVmaXhOb2RlID8gXCJkaXZcIiA6IEZyYWdtZW50O1xuXG4gIGNvbnN0IGNvbnRlbnQgPSB1c2VNZW1vKFxuICAgICgpID0+IChcbiAgICAgIDxDZWxsSW5uZXJXcmFwcGVyXG4gICAgICAgIHsuLi4ocHJlZml4Tm9kZVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBcImRhdGEtaW5kZW50LWxldmVsXCI6IGludGVudCxcbiAgICAgICAgICAgICAgY3NzOiBnZXRDZWxsSW5uZXJXcmFwcGVyU3R5bGUoaW5kZW50U2l6ZSwgaW50ZW50KSh0aGVtZSksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSl9XG4gICAgICA+XG4gICAgICAgIHtwcmVmaXhOb2RlfVxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0NlbGxJbm5lcldyYXBwZXI+XG4gICAgKSxcbiAgICBbQ2VsbElubmVyV3JhcHBlciwgY2hpbGRyZW4sIGluZGVudFNpemUsIGludGVudCwgcHJlZml4Tm9kZSwgdGhlbWVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q2VsbFxuICAgICAgY29tcG9uZW50PXtcbiAgICAgICAgcm93U2NvcGUgPyBnZXRDb21wb25lbnQoW1wiYm9keVwiLCBcImNlbGxcIl0sIFwidGhcIikgOiBnZXRDb21wb25lbnQoW1wiYm9keVwiLCBcImNlbGxcIl0sIFwidGRcIilcbiAgICAgIH1cbiAgICAgIGFsaWduPXtjb2x1bW4uYWxpZ259XG4gICAgICBlbGxpcHNpcz17Y29sdW1uLmVsbGlwc2lzfVxuICAgICAgYm9yZGVyZWQ9e2JvcmRlcmVkfVxuICAgICAgdGFibGVUb2tlbnM9e3RhYmxlVG9rZW5zfVxuICAgICAgY3NzPXtbXG4gICAgICAgIGJvZHlDZWxsU3R5bGUodGFibGVUb2tlbnMpLFxuICAgICAgICBib3JkZXJlZCA/IGdldEJvcmRlcmVkQm9keUNlbGxTdHlsZShib3JkZXJlZCkgOiB1bmRlZmluZWQsXG4gICAgICAgIGJvcmRlcmVkICYmICFzaG93SGVhZGVyID8gbm9uSGVhZGVyQm9yZGVyZWRCb2R5Q2VsbFN0eWxlKHRhYmxlVG9rZW5zKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgLi4uZ2V0Rml4ZWRDZWxsU3R5bGUoe1xuICAgICAgICAgIGNvbHVtbktleTogY29sdW1uLmtleSxcbiAgICAgICAgICBpc0ZpeFN0YXJ0LFxuICAgICAgICAgIGlzRml4RW5kLFxuICAgICAgICAgIGZpeFN0YXJ0LFxuICAgICAgICAgIGZpeEVuZCxcbiAgICAgICAgICB6SW5kZXhSZXZlcnNlLFxuICAgICAgICAgIGZpeGVkU3RhcnRTaGFkb3csXG4gICAgICAgICAgZml4ZWRFbmRTaGFkb3csXG4gICAgICAgICAgc2hvd0ZpeFN0YXJ0U2hhZG93LFxuICAgICAgICAgIHNob3dGaXhFbmRTaGFkb3csXG4gICAgICAgIH0pLFxuICAgICAgICBjZWxsQ3NzLFxuICAgICAgXX1cbiAgICAgIHJvd1NwYW49e2NlbGxSb3dTcGFufVxuICAgICAgY29sU3Bhbj17Y2VsbENvbFNwYW59XG4gICAgICBvbk1vdXNlRW50ZXI9e2hhbmRsZU1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e2hhbmRsZU1vdXNlTGVhdmV9XG4gICAgICB7Li4ucmVzdEFkZGl0aW9uYWxDZWxsUHJvcHN9XG4gICAgICBzY29wZT17cm93U2NvcGV9XG4gICAgICBpc0hvdmVyZWQ9e2lzSG92ZXJlZH1cbiAgICAgIGlzUm93U2VsZWN0ZWQ9e2lzUm93U2VsZWN0ZWR9XG4gICAgPlxuICAgICAge2NvbnRlbnR9XG4gICAgPC9DZWxsPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEJvZHlDZWxsID0gQm9keUNlbGxDb21wb25lbnQ7XG4iXX0= */"], rowSpan: cellRowSpan, colSpan: cellColSpan, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ...restAdditionalCellProps, scope: rowScope, isHovered, isRowSelected, children: content });
122
+ }), cellCss, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvY29tcG9uZW50cy9Cb2R5L2NvbXBvbmVudHMvQm9keUNlbGwvQm9keUNlbGwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVKTSIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1RhYmxlL2NvbXBvbmVudHMvQm9keS9jb21wb25lbnRzL0JvZHlDZWxsL0JvZHlDZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZyYWdtZW50LCB1c2VNZW1vLCB0eXBlIE1vdXNlRXZlbnRIYW5kbGVyIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IEJvZHlDZWxsUHJvcHMgfSBmcm9tIFwiLi9Cb2R5Q2VsbC50eXBlc1wiO1xuaW1wb3J0IHsgQ2VsbCB9IGZyb20gXCIuLi8uLi8uLi9DZWxsL0NlbGxcIjtcbmltcG9ydCB7IHVzZUNlbGxIb3ZlciB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2hvb2tzL3VzZUNlbGxIb3ZlclwiO1xuaW1wb3J0IHsgdXNlQm9keUNlbGxSZW5kZXIgfSBmcm9tIFwiY29tcG9uZW50cy9UYWJsZS9ob29rcy91c2VCb2R5Q2VsbFJlbmRlclwiO1xuaW1wb3J0IHR5cGUgeyBEZWZhdWx0UmVjb3JkIH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvVGFibGUudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRhYmxlQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2NvbnRleHRzXCI7XG5pbXBvcnQgeyB1c2VDZWxsRml4ZWRJbmZvLCBnZXRGaXhlZENlbGxTdHlsZSB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2hvb2tzL3VzZUNlbGxGaXhlZEluZm9cIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcImhvb2tzL3VzZVRoZW1lXCI7XG5pbXBvcnQge1xuICBib2R5Q2VsbFN0eWxlLFxuICBnZXRCb3JkZXJlZEJvZHlDZWxsU3R5bGUsXG4gIGdldENlbGxJbm5lcldyYXBwZXJTdHlsZSxcbiAgbm9uSGVhZGVyQm9yZGVyZWRCb2R5Q2VsbFN0eWxlLFxufSBmcm9tIFwiLi9Cb2R5Q2VsbC5zdHlsZXNcIjtcbmltcG9ydCB7IEV4cGFuZEljb25XcmFwcGVyIH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVFeHBhbmRcIjtcbmltcG9ydCB7IHVzZVRhYmxlU3RhdGljQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2ZlYXR1cmVzL3RhYmxlU3RhdGljQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2V0UmVmVmFsdWUgfSBmcm9tIFwiY29tcG9uZW50cy9UYWJsZS91dGlsc1wiO1xuaW1wb3J0IHsgdXNlRXZlbnQgfSBmcm9tIFwiaG9va3MvdXNlRXZlbnRcIjtcblxuY29uc3QgQm9keUNlbGxDb21wb25lbnQgPSA8UmVjb3JkIGV4dGVuZHMgRGVmYXVsdFJlY29yZD4ocHJvcHM6IEJvZHlDZWxsUHJvcHM8UmVjb3JkPikgPT4ge1xuICBjb25zdCB7XG4gICAgY29sdW1uLFxuICAgIHJlY29yZCxcbiAgICBpbmRleCxcbiAgICBjb2xJbmRleCxcbiAgICByb3dLZXksXG4gICAgaW50ZW50LFxuICAgIHJlbmRlckluZGV4LFxuICAgIGlzUm93U2VsZWN0ZWQsXG4gICAgcm93SG92ZXJhYmxlOiByb3dIb3ZlcmFibGVQcm9wLFxuICAgIGNoaWxkcmVuOiBjaGlsZHJlblByb3AsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgeyByb3dTY29wZSwgZGF0YUluZGV4LCByZW5kZXIgfSA9IGNvbHVtbjtcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCB7XG4gICAgZ2V0Q29tcG9uZW50LFxuICAgIGlzU29tZVJlY29yZEhhc0NoaWxkcmVuLFxuICAgIGluZGVudFNpemUsXG4gICAgZXhwYW5kSWNvbkNvbHVtbkluZGV4LFxuICAgIGJvcmRlcmVkLFxuICAgIHRhYmxlVG9rZW5zLFxuICAgIHNob3dIZWFkZXIsXG4gICAgcm93SG92ZXJhYmxlOiBjb250ZXh0Um93SG92ZXJhYmxlLFxuICB9ID0gdXNlVGFibGVDb250ZXh0KCk7XG4gIGNvbnN0IHN0YXRpY0NvbnRleHRSZWYgPSB1c2VUYWJsZVN0YXRpY0NvbnRleHQoKTtcbiAgY29uc3Qgcm93SG92ZXJhYmxlID0gcm93SG92ZXJhYmxlUHJvcCA/PyBjb250ZXh0Um93SG92ZXJhYmxlO1xuXG4gIGNvbnN0IHtcbiAgICBpc0ZpeFN0YXJ0LFxuICAgIGlzRml4RW5kLFxuICAgIGZpeFN0YXJ0LFxuICAgIGZpeEVuZCxcbiAgICB6SW5kZXhSZXZlcnNlLFxuICAgIGZpeGVkU3RhcnRTaGFkb3csXG4gICAgZml4ZWRFbmRTaGFkb3csXG4gICAgc2hvd0ZpeFN0YXJ0U2hhZG93LFxuICAgIHNob3dGaXhFbmRTaGFkb3csXG4gIH0gPSB1c2VDZWxsRml4ZWRJbmZvKHtcbiAgICBjb2xTdGFydDogY29sSW5kZXgsXG4gICAgY29sRW5kOiBjb2xJbmRleCxcbiAgfSk7XG5cbiAgY29uc3Qge1xuICAgIHJvd1NwYW46IGNlbGxSb3dTcGFuLFxuICAgIGNvbFNwYW46IGNlbGxDb2xTcGFuLFxuICAgIG9uTW91c2VFbnRlcjogY2VsbE9uTW91c2VFbnRlcixcbiAgICBvbk1vdXNlTGVhdmU6IGNlbGxPbk1vdXNlTGVhdmUsXG4gICAgY3NzOiBjZWxsQ3NzLFxuICAgIC4uLnJlc3RBZGRpdGlvbmFsQ2VsbFByb3BzXG4gIH0gPSBjb2x1bW4ub25DZWxsPy4ocmVjb3JkLCBpbmRleCkgfHwge307XG5cbiAgY29uc3Qgbm90UmVuZGVyZWRDZWxsID0gY2VsbENvbFNwYW4gPT09IDAgfHwgY2VsbFJvd1NwYW4gPT09IDA7XG4gIGNvbnN0IHJvd1NwYW4gPSBjZWxsUm93U3BhbiA/PyAxO1xuXG4gIGNvbnN0IHByZWZpeE5vZGUgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBjb2xJbmRleCA9PT0gZXhwYW5kSWNvbkNvbHVtbkluZGV4ICYmXG4gICAgICBpc1NvbWVSZWNvcmRIYXNDaGlsZHJlbiAmJiAoXG4gICAgICAgIDxFeHBhbmRJY29uV3JhcHBlclxuICAgICAgICAgIHJvd0tleT17cm93S2V5fVxuICAgICAgICAgIHJlY29yZD17cmVjb3JkfVxuICAgICAgICAgIGV4cGFuZGFibGU9e3JlY29yZCAmJiBCb29sZWFuKHJlY29yZC5jaGlsZHJlbil9XG4gICAgICAgIC8+XG4gICAgICApLFxuICAgIFtjb2xJbmRleCwgZXhwYW5kSWNvbkNvbHVtbkluZGV4LCBpc1NvbWVSZWNvcmRIYXNDaGlsZHJlbiwgcmVjb3JkLCByb3dLZXldXG4gICk7XG5cbiAgY29uc3QgeyBpc0hvdmVyZWQgfSA9IHVzZUNlbGxIb3Zlcih7XG4gICAgaW5kZXgsXG4gICAgcm93U3BhbixcbiAgICBza2lwU3Vic2NyaWJlOiBub3RSZW5kZXJlZENlbGwsXG4gIH0pO1xuXG4gIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHVzZUJvZHlDZWxsUmVuZGVyKHtcbiAgICByZWNvcmQsXG4gICAgZGF0YUluZGV4LFxuICAgIHJlbmRlckluZGV4LFxuICAgIHJlbmRlcixcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlTW91c2VFbnRlciA9IHVzZUV2ZW50KChlKSA9PiB7XG4gICAgY29uc3QgZW1pdENlbGxIb3ZlciA9IGdldFJlZlZhbHVlKHN0YXRpY0NvbnRleHRSZWYsIFwiZW1pdENlbGxIb3ZlclwiKTtcblxuICAgIGVtaXRDZWxsSG92ZXIoe1xuICAgICAgc3RhcnQ6IGluZGV4LFxuICAgICAgZW5kOiBpbmRleCArIHJvd1NwYW4gLSAxLFxuICAgIH0pO1xuXG4gICAgY2VsbE9uTW91c2VFbnRlcj8uKGUpO1xuICB9KSBzYXRpc2ZpZXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTFRhYmxlQ2VsbEVsZW1lbnQ+O1xuXG4gIGNvbnN0IGhhbmRsZU1vdXNlTGVhdmUgPSB1c2VFdmVudCgoZSkgPT4ge1xuICAgIGNvbnN0IGVtaXRDZWxsSG92ZXIgPSBnZXRSZWZWYWx1ZShzdGF0aWNDb250ZXh0UmVmLCBcImVtaXRDZWxsSG92ZXJcIik7XG5cbiAgICBlbWl0Q2VsbEhvdmVyKHtcbiAgICAgIHN0YXJ0OiAtMSxcbiAgICAgIGVuZDogLTEsXG4gICAgfSk7XG5cbiAgICBjZWxsT25Nb3VzZUxlYXZlPy4oZSk7XG4gIH0pIHNhdGlzZmllcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MVGFibGVDZWxsRWxlbWVudD47XG5cbiAgY29uc3QgQ2VsbElubmVyV3JhcHBlciA9IHByZWZpeE5vZGUgPyBcImRpdlwiIDogRnJhZ21lbnQ7XG5cbiAgY29uc3QgY29udGVudCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKFxuICAgICAgPENlbGxJbm5lcldyYXBwZXJcbiAgICAgICAgey4uLihwcmVmaXhOb2RlXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIFwiZGF0YS1pbmRlbnQtbGV2ZWxcIjogaW50ZW50LFxuICAgICAgICAgICAgICBjc3M6IGdldENlbGxJbm5lcldyYXBwZXJTdHlsZShpbmRlbnRTaXplLCBpbnRlbnQpKHRoZW1lKSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KX1cbiAgICAgID5cbiAgICAgICAge3ByZWZpeE5vZGV9XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQ2VsbElubmVyV3JhcHBlcj5cbiAgICApLFxuICAgIFtDZWxsSW5uZXJXcmFwcGVyLCBjaGlsZHJlbiwgaW5kZW50U2l6ZSwgaW50ZW50LCBwcmVmaXhOb2RlLCB0aGVtZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDZWxsXG4gICAgICBjb21wb25lbnQ9e1xuICAgICAgICByb3dTY29wZSA/IGdldENvbXBvbmVudChbXCJib2R5XCIsIFwiY2VsbFwiXSwgXCJ0aFwiKSA6IGdldENvbXBvbmVudChbXCJib2R5XCIsIFwiY2VsbFwiXSwgXCJ0ZFwiKVxuICAgICAgfVxuICAgICAgYWxpZ249e2NvbHVtbi5hbGlnbn1cbiAgICAgIGVsbGlwc2lzPXtjb2x1bW4uZWxsaXBzaXN9XG4gICAgICBib3JkZXJlZD17Ym9yZGVyZWR9XG4gICAgICB0YWJsZVRva2Vucz17dGFibGVUb2tlbnN9XG4gICAgICBjc3M9e1tcbiAgICAgICAgYm9keUNlbGxTdHlsZSh0YWJsZVRva2VucyksXG4gICAgICAgIGJvcmRlcmVkLmJhc2VCb3JkZXIgPyBnZXRCb3JkZXJlZEJvZHlDZWxsU3R5bGUoYm9yZGVyZWQpIDogdW5kZWZpbmVkLFxuICAgICAgICBib3JkZXJlZC5iYXNlQm9yZGVyICYmICFzaG93SGVhZGVyXG4gICAgICAgICAgPyBub25IZWFkZXJCb3JkZXJlZEJvZHlDZWxsU3R5bGUodGFibGVUb2tlbnMpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIC4uLmdldEZpeGVkQ2VsbFN0eWxlKHtcbiAgICAgICAgICBjb2x1bW5LZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgaXNGaXhTdGFydCxcbiAgICAgICAgICBpc0ZpeEVuZCxcbiAgICAgICAgICBmaXhTdGFydCxcbiAgICAgICAgICBmaXhFbmQsXG4gICAgICAgICAgekluZGV4UmV2ZXJzZSxcbiAgICAgICAgICBmaXhlZFN0YXJ0U2hhZG93LFxuICAgICAgICAgIGZpeGVkRW5kU2hhZG93LFxuICAgICAgICAgIHNob3dGaXhTdGFydFNoYWRvdyxcbiAgICAgICAgICBzaG93Rml4RW5kU2hhZG93LFxuICAgICAgICB9KSxcbiAgICAgICAgY2VsbENzcyxcbiAgICAgIF19XG4gICAgICByb3dTcGFuPXtjZWxsUm93U3Bhbn1cbiAgICAgIGNvbFNwYW49e2NlbGxDb2xTcGFufVxuICAgICAgb25Nb3VzZUVudGVyPXtyb3dIb3ZlcmFibGUgPyBoYW5kbGVNb3VzZUVudGVyIDogdW5kZWZpbmVkfVxuICAgICAgb25Nb3VzZUxlYXZlPXtyb3dIb3ZlcmFibGUgPyBoYW5kbGVNb3VzZUxlYXZlIDogdW5kZWZpbmVkfVxuICAgICAgey4uLnJlc3RBZGRpdGlvbmFsQ2VsbFByb3BzfVxuICAgICAgc2NvcGU9e3Jvd1Njb3BlfVxuICAgICAgaXNIb3ZlcmVkPXtpc0hvdmVyZWR9XG4gICAgICBpc1Jvd1NlbGVjdGVkPXtpc1Jvd1NlbGVjdGVkfVxuICAgID5cbiAgICAgIHtjaGlsZHJlblByb3AgfHwgY29udGVudH1cbiAgICA8L0NlbGw+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQm9keUNlbGwgPSBCb2R5Q2VsbENvbXBvbmVudDtcbiJdfQ== */"], rowSpan: cellRowSpan, colSpan: cellColSpan, onMouseEnter: rowHoverable ? handleMouseEnter : void 0, onMouseLeave: rowHoverable ? handleMouseLeave : void 0, ...restAdditionalCellProps, scope: rowScope, isHovered, isRowSelected, children: childrenProp || content });
119
123
  };
120
124
  const BodyCell = BodyCellComponent;
121
125
  export {
@@ -1,5 +1,5 @@
1
1
  import { TableTokens } from 'components/Table/Table.tokens';
2
- import { BorderedConfig } from 'components/Table/Table.types';
2
+ import { Bordered } from 'components/Table/Table.types';
3
3
  import { Theme } from 'themes';
4
4
  export declare const getCellInnerWrapperStyle: (indentSize: number, intent: number) => (theme: Theme) => {
5
5
  display: string;
@@ -10,7 +10,7 @@ export declare const bodyCellStyle: (tableTokens: TableTokens) => {
10
10
  borderColor: "#E5E5E5";
11
11
  backgroundColor: "#FFFFFF";
12
12
  };
13
- export declare const getBorderedBodyCellStyle: (borderedConfig: Required<BorderedConfig>) => {
13
+ export declare const getBorderedBodyCellStyle: (bordered: Bordered) => {
14
14
  ":last-of-type": {
15
15
  borderInlineEndWidth: number;
16
16
  };
@@ -7,15 +7,15 @@ const bodyCellStyle = (tableTokens) => ({
7
7
  borderColor: tableTokens.tableRowBorder,
8
8
  backgroundColor: tableTokens.tableRowBg
9
9
  });
10
- const getBorderedBodyCellStyle = (borderedConfig) => ({
10
+ const getBorderedBodyCellStyle = (bordered) => ({
11
11
  borderInlineEndWidth: 1,
12
- ...borderedConfig.firstColumnCellInlineStart ? {
12
+ ...bordered.firstColumnCellInlineStart ? {
13
13
  ":first-of-type": {
14
14
  borderInlineStartWidth: 1
15
15
  }
16
16
  } : {},
17
17
  ":last-of-type": {
18
- borderInlineEndWidth: borderedConfig.lastColumnCellInlineEnd ? 1 : 0
18
+ borderInlineEndWidth: bordered.lastColumnCellInlineEnd ? 1 : 0
19
19
  }
20
20
  });
21
21
  const nonHeaderBorderedBodyCellStyle = (tableTokens) => ({
@@ -1,6 +1,7 @@
1
1
  import { Column } from 'components/Table/interfaces/tableColumns.types';
2
2
  import { Key } from 'components/Table/Table.types';
3
- export interface BodyCellProps<Record> {
3
+ import { PropsWithChildren } from 'react';
4
+ export interface BodyCellProps<Record> extends PropsWithChildren {
4
5
  column: Column<Record>;
5
6
  record: Record;
6
7
  index: number;
@@ -9,4 +10,5 @@ export interface BodyCellProps<Record> {
9
10
  intent: number;
10
11
  renderIndex: number;
11
12
  isRowSelected: boolean;
13
+ rowHoverable?: boolean;
12
14
  }
@@ -30,10 +30,13 @@ const BodyRowComponent = (props) => {
30
30
  } = value;
31
31
  setRowSelected(selectedKeySet.has(rowKey));
32
32
  }, false, [rowKey]);
33
- const rowProps = onRow == null ? void 0 : onRow(record, index);
34
- return /* @__PURE__ */ jsx(BodyRowComponent2, { ...rowProps, "data-row-key": rowKey, children: flattedColumns.map((column, colIndex) => {
35
- return /* @__PURE__ */ jsx(BodyCell, { colIndex, column, record, index, rowKey, intent, renderIndex, isRowSelected }, colIndex);
36
- }) });
33
+ const {
34
+ key,
35
+ ...restRowProps
36
+ } = (onRow == null ? void 0 : onRow(record, index)) || {};
37
+ return /* @__PURE__ */ jsx(BodyRowComponent2, { ...restRowProps, "data-row-key": rowKey, children: flattedColumns.map((column, colIndex) => {
38
+ return /* @__PURE__ */ jsx(BodyCell, { colIndex, column, record, index, rowKey, intent, renderIndex, isRowSelected, rowHoverable: restRowProps == null ? void 0 : restRowProps.rowHoverable }, column.key || colIndex);
39
+ }) }, key);
37
40
  };
38
41
  const BodyRow = memo(BodyRowComponent);
39
42
  export {
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "@emotion/react/jsx-runtime";
2
- import { useRef, useLayoutEffect } from "react";
2
+ import { useRef, useLayoutEffect, useCallback } from "react";
3
3
  import ResizeObserver from "rc-resize-observer";
4
4
  import { measureCellStyle, titleWrapperStyle } from "./MeasureCell.styles.js";
5
5
  import { roundToHundredths } from "../MeasureRow/MeasureRow.utils.js";
@@ -8,7 +8,8 @@ import { getRefValue } from "../../../../utils/ref/ref.js";
8
8
  const MeasureCellComponent = (props) => {
9
9
  const {
10
10
  columnKey,
11
- title
11
+ title,
12
+ index
12
13
  } = props;
13
14
  const staticContextRef = useTableStaticContext();
14
15
  const tdRef = useRef(null);
@@ -26,7 +27,14 @@ const MeasureCellComponent = (props) => {
26
27
  colsWidthsMap.delete(columnKey);
27
28
  };
28
29
  }, [columnKey, staticContextRef]);
29
- return /* @__PURE__ */ jsx(ResizeObserver, { data: columnKey, children: /* @__PURE__ */ jsx("td", { ref: tdRef, css: measureCellStyle, children: /* @__PURE__ */ jsx("div", { css: titleWrapperStyle, children: title }) }) });
30
+ const handleResize = useCallback((size) => {
31
+ const headerColgroupRef = getRefValue(staticContextRef, "headerColgroupRef");
32
+ if (!headerColgroupRef) {
33
+ return;
34
+ }
35
+ headerColgroupRef.style.setProperty(`--col${index}-width`, `${roundToHundredths(size.offsetWidth)}px`);
36
+ }, [index, staticContextRef]);
37
+ return /* @__PURE__ */ jsx(ResizeObserver, { data: columnKey, onResize: handleResize, children: /* @__PURE__ */ jsx("td", { ref: tdRef, css: measureCellStyle, children: /* @__PURE__ */ jsx("div", { css: titleWrapperStyle, children: title }) }) });
30
38
  };
31
39
  const MeasureCell = MeasureCellComponent;
32
40
  export {
@@ -2,5 +2,6 @@ import { Key } from 'components/Table/Table.types';
2
2
  import { ReactNode } from 'react';
3
3
  export interface MeasureCellProps {
4
4
  columnKey: Key;
5
+ index: number;
5
6
  title?: ReactNode;
6
7
  }
@@ -83,8 +83,8 @@ const MeasureRowComponent = () => {
83
83
  key,
84
84
  title,
85
85
  colSpan
86
- }) => {
87
- return /* @__PURE__ */ jsx(MeasureCell, { columnKey: key, title: key === selectionColumnKey || isNumber(colSpan) && colSpan !== 1 ? void 0 : title }, key);
86
+ }, index) => {
87
+ return /* @__PURE__ */ jsx(MeasureCell, { index, columnKey: key, title: key === selectionColumnKey || isNumber(colSpan) && colSpan !== 1 ? void 0 : title }, key);
88
88
  }) }) });
89
89
  };
90
90
  const MeasureRow = MeasureRowComponent;
@@ -1,7 +1,7 @@
1
1
  import { TableTokens } from 'components/Table/Table.tokens';
2
- import { BorderedConfig } from 'components/Table/Table.types';
2
+ import { Bordered } from 'components/Table/Table.types';
3
3
  import { CellProps } from './Cell.types';
4
- export declare const getCellStyle: (tableTokens: TableTokens, bordered?: false | Required<BorderedConfig>) => {
4
+ export declare const getCellStyle: (tableTokens: TableTokens, bordered: Bordered) => {
5
5
  readonly boxSizing: "border-box";
6
6
  readonly padding: 0;
7
7
  readonly borderWidth: 0;
@@ -6,12 +6,12 @@ const getCellStyle = (tableTokens, bordered) => ({
6
6
  borderBottomWidth: 1,
7
7
  paddingTop: tableTokens.tableCellPaddingVertical,
8
8
  paddingBottom: tableTokens.tableCellPaddingVertical - 1,
9
- paddingInline: bordered ? tableTokens.tableCellPaddingHorizontal - 1 : tableTokens.tableCellPaddingHorizontal,
9
+ paddingInline: bordered.baseBorder ? tableTokens.tableCellPaddingHorizontal - 1 : tableTokens.tableCellPaddingHorizontal,
10
10
  ":first-of-type": {
11
- paddingInlineStart: bordered && bordered.firstColumnCellInlineStart ? tableTokens.tableCellPaddingHorizontal - 1 : tableTokens.tableCellPaddingHorizontal
11
+ paddingInlineStart: bordered.baseBorder && bordered.firstColumnCellInlineStart ? tableTokens.tableCellPaddingHorizontal - 1 : tableTokens.tableCellPaddingHorizontal
12
12
  },
13
13
  ":last-of-type": {
14
- paddingInlineEnd: bordered && bordered.lastColumnCellInlineEnd ? tableTokens.tableCellPaddingHorizontal - 1 : tableTokens.tableCellPaddingHorizontal
14
+ paddingInlineEnd: bordered.baseBorder && bordered.lastColumnCellInlineEnd ? tableTokens.tableCellPaddingHorizontal - 1 : tableTokens.tableCellPaddingHorizontal
15
15
  }
16
16
  });
17
17
  const getCellBackgroundStyle = (tableTokens, isRowSelected, isHovered) => ({
@@ -1,7 +1,7 @@
1
1
  import { ComponentType, CSSProperties, PropsWithChildren, TdHTMLAttributes, ThHTMLAttributes } from 'react';
2
2
  import { CellEllipsisType, ScopeType } from '../../interfaces/tableColumns.types';
3
3
  import { TableTokens } from 'components/Table/Table.tokens';
4
- import { BorderedConfig } from 'components/Table/Table.types';
4
+ import { Bordered } from 'components/Table/Table.types';
5
5
  export interface CellProps extends Omit<ThHTMLAttributes<HTMLTableCellElement>, "align">, Omit<TdHTMLAttributes<HTMLTableCellElement>, "align">, PropsWithChildren {
6
6
  component: "th" | "td" | ComponentType<JSX.IntrinsicElements["td"] | JSX.IntrinsicElements["th"]>;
7
7
  colSpan?: number;
@@ -11,6 +11,6 @@ export interface CellProps extends Omit<ThHTMLAttributes<HTMLTableCellElement>,
11
11
  isRowSelected?: boolean;
12
12
  align?: CSSProperties["textAlign"];
13
13
  ellipsis?: CellEllipsisType;
14
- bordered?: false | Required<BorderedConfig>;
14
+ bordered: Bordered;
15
15
  tableTokens: TableTokens;
16
16
  }
@@ -1,8 +1,8 @@
1
1
  import { jsx } from "@emotion/react/jsx-runtime";
2
2
  import { memo, useContext, useState, useMemo } from "react";
3
3
  import { useSubscribe } from "../../features/typedEventBus/hooks.js";
4
- import { isUndefined, isObject, isNumber } from "lodash-es";
5
- import { getCellStyle, getBorderedCellStyle, emptyWrapperStyle } from "./EmptyDataRow.styles.js";
4
+ import { isUndefined, isNumber } from "lodash-es";
5
+ import { getCellStyle, borderedCellStyle, emptyWrapperStyle } from "./EmptyDataRow.styles.js";
6
6
  import { getEndRangeInfo } from "./EmptyDataRow.utils.js";
7
7
  import { ConfigContext } from "../../../ConfigProvider/contexts/ConfigContext.js";
8
8
  import { useTableContext } from "../../contexts/tableContext/useTableContext/useTableContext.js";
@@ -54,11 +54,11 @@ const EmptyDataRowComponent = () => {
54
54
  }
55
55
  return /* @__PURE__ */ jsx(Empty, {});
56
56
  }, [renderEmpty]);
57
- const hasInlineBorder = Boolean(bordered && bordered.emptyInline);
58
- const hasBlockEndBorder = !isObject(bordered) || Boolean(bordered && bordered.emptyBlockEnd);
57
+ const hasInlineBorder = bordered.emptyInline;
58
+ const hasBlockEndBorder = bordered.emptyBlockEnd;
59
59
  return /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { css: [cellOverflowX ? {
60
60
  overflowX: cellOverflowX
61
- } : void 0, getCellStyle(tableTokens, hasBlockEndBorder), bordered ? getBorderedCellStyle(hasInlineBorder) : void 0, process.env.NODE_ENV === "production" ? "" : ";label:EmptyDataRowComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvY29tcG9uZW50cy9FbXB0eURhdGFSb3cvRW1wdHlEYXRhUm93LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRVEiLCJmaWxlIjoiL2J1aWxkcy9mcm9udGVuZC9saWJzL3VpLWtpdC9zcmMvY29tcG9uZW50cy9UYWJsZS9jb21wb25lbnRzL0VtcHR5RGF0YVJvdy9FbXB0eURhdGFSb3cudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVtbywgdXNlQ29udGV4dCwgdXNlTWVtbywgdXNlU3RhdGUsIHR5cGUgQ1NTUHJvcGVydGllcywgdHlwZSBGQyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBFbXB0eURhdGFSb3dQcm9wcyB9IGZyb20gXCIuL0VtcHR5RGF0YVJvdy50eXBlc1wiO1xuaW1wb3J0IHsgdXNlU3Vic2NyaWJlIH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdHlwZWRFdmVudEJ1c1wiO1xuaW1wb3J0IHsgaXNOdW1iZXIsIGlzT2JqZWN0LCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IEVtcHR5IH0gZnJvbSBcImNvbXBvbmVudHMvRW1wdHlcIjtcbmltcG9ydCB7IHVzZVRhYmxlU3RhdGljQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2ZlYXR1cmVzL3RhYmxlU3RhdGljQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2V0UmVmVmFsdWUgfSBmcm9tIFwiY29tcG9uZW50cy9UYWJsZS91dGlsc1wiO1xuaW1wb3J0IHsgdXNlVGFibGVDb250ZXh0IH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvY29udGV4dHNcIjtcbmltcG9ydCB7IGdldEJvcmRlcmVkQ2VsbFN0eWxlLCBnZXRDZWxsU3R5bGUsIGVtcHR5V3JhcHBlclN0eWxlIH0gZnJvbSBcIi4vRW1wdHlEYXRhUm93LnN0eWxlc1wiO1xuaW1wb3J0IHsgQ29uZmlnQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL0NvbmZpZ1Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBnZXRFbmRSYW5nZUluZm8gfSBmcm9tIFwiLi9FbXB0eURhdGFSb3cudXRpbHNcIjtcblxuY29uc3QgRW1wdHlEYXRhUm93Q29tcG9uZW50OiBGQzxFbXB0eURhdGFSb3dQcm9wcz4gPSAoKSA9PiB7XG4gIGNvbnN0IHsgcmVuZGVyRW1wdHkgfSA9IHVzZUNvbnRleHQoQ29uZmlnQ29udGV4dCk7XG4gIGNvbnN0IHsgZmxhdHRlZENvbHVtbnMsIGJvcmRlcmVkLCB0YWJsZVRva2VucywgaG9yaXpvblNjcm9sbCB9ID0gdXNlVGFibGVDb250ZXh0KCk7XG4gIGNvbnN0IHN0YXRpY0NvbnRleHRSZWYgPSB1c2VUYWJsZVN0YXRpY0NvbnRleHQoKTtcblxuICBjb25zdCBbY2xpZW50V2lkdGgsIHNldENsaWVudFdpZHRoXSA9IHVzZVN0YXRlKCgpID0+IHtcbiAgICBjb25zdCBjbGllbnRXaWR0aCA9IGdldFJlZlZhbHVlKHN0YXRpY0NvbnRleHRSZWYsIFwic2Nyb2xsYWJsZVRhYmxlU2VjdGlvbkluZm8uY2xpZW50V2lkdGhcIik7XG4gICAgY29uc3QgdmVydGljYWxTY3JvbGxCYXJXaWR0aCA9IGdldFJlZlZhbHVlKFxuICAgICAgc3RhdGljQ29udGV4dFJlZixcbiAgICAgIFwic2Nyb2xsYWJsZVRhYmxlU2VjdGlvbkluZm8udmVydGljYWxTY3JvbGxCYXJXaWR0aFwiXG4gICAgKTtcbiAgICBjb25zdCB7IGhhc0VuZFJhbmdlIH0gPSBnZXRFbmRSYW5nZUluZm8oc3RhdGljQ29udGV4dFJlZik7XG5cbiAgICByZXR1cm4gaGFzRW5kUmFuZ2UgPyBjbGllbnRXaWR0aCArIHZlcnRpY2FsU2Nyb2xsQmFyV2lkdGggOiB1bmRlZmluZWQ7XG4gIH0pO1xuICBjb25zdCBbY2VsbE92ZXJmbG93WCwgc2V0Q2VsbE92ZXJmbG93WF0gPSB1c2VTdGF0ZTxDU1NQcm9wZXJ0aWVzW1wib3ZlcmZsb3dYXCJdPigoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNFbmRSYW5nZSB9ID0gZ2V0RW5kUmFuZ2VJbmZvKHN0YXRpY0NvbnRleHRSZWYpO1xuXG4gICAgcmV0dXJuIGhhc0VuZFJhbmdlID8gdW5kZWZpbmVkIDogXCJoaWRkZW5cIjtcbiAgfSk7XG5cbiAgdXNlU3Vic2NyaWJlKFxuICAgIFwidGFibGUtdmlzdWFsLXBhcmFtczpjaGFuZ2VcIixcbiAgICAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHsgY2xpZW50V2lkdGgsIGhvcml6b250YWxTY3JvbGxQb3NpdGlvblJhbmdlIH0gPSB2YWx1ZTtcblxuICAgICAgaWYgKGlzVW5kZWZpbmVkKGNsaWVudFdpZHRoKSB8fCAhaG9yaXpvbnRhbFNjcm9sbFBvc2l0aW9uUmFuZ2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGhhc0VuZFJhbmdlIH0gPSBnZXRFbmRSYW5nZUluZm8oaG9yaXpvbnRhbFNjcm9sbFBvc2l0aW9uUmFuZ2UpO1xuXG4gICAgICBzZXRDbGllbnRXaWR0aChoYXNFbmRSYW5nZSA/IGNsaWVudFdpZHRoIDogdW5kZWZpbmVkKTtcbiAgICAgIHNldENlbGxPdmVyZmxvd1goaGFzRW5kUmFuZ2UgPyB1bmRlZmluZWQgOiBcImhpZGRlblwiKTtcbiAgICB9LFxuICAgIGZhbHNlLFxuICAgIFtdLFxuICAgIHRydWVcbiAgKTtcblxuICBjb25zdCBlbXB0eSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChyZW5kZXJFbXB0eSkge1xuICAgICAgcmV0dXJuIHJlbmRlckVtcHR5KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDxFbXB0eSAvPjtcbiAgfSwgW3JlbmRlckVtcHR5XSk7XG5cbiAgY29uc3QgaGFzSW5saW5lQm9yZGVyID0gQm9vbGVhbihib3JkZXJlZCAmJiBib3JkZXJlZC5lbXB0eUlubGluZSk7XG4gIGNvbnN0IGhhc0Jsb2NrRW5kQm9yZGVyID0gIWlzT2JqZWN0KGJvcmRlcmVkKSB8fCBCb29sZWFuKGJvcmRlcmVkICYmIGJvcmRlcmVkLmVtcHR5QmxvY2tFbmQpO1xuXG4gIHJldHVybiAoXG4gICAgPHRyPlxuICAgICAgPHRkXG4gICAgICAgIGNzcz17W1xuICAgICAgICAgIGNlbGxPdmVyZmxvd1ggPyB7IG92ZXJmbG93WDogY2VsbE92ZXJmbG93WCB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgIGdldENlbGxTdHlsZSh0YWJsZVRva2VucywgaGFzQmxvY2tFbmRCb3JkZXIpLFxuICAgICAgICAgIGJvcmRlcmVkID8gZ2V0Qm9yZGVyZWRDZWxsU3R5bGUoaGFzSW5saW5lQm9yZGVyKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgXX1cbiAgICAgICAgY29sU3Bhbj17ZmxhdHRlZENvbHVtbnMubGVuZ3RofVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e1xuICAgICAgICAgICAgaG9yaXpvblNjcm9sbFxuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOlxuICAgICAgICAgICAgICAgICAgICBpc051bWJlcihjbGllbnRXaWR0aCkgJiYgY2xpZW50V2lkdGggPiAwICYmIGhhc0lubGluZUJvcmRlclxuICAgICAgICAgICAgICAgICAgICAgID8gY2xpZW50V2lkdGggLSAyXG4gICAgICAgICAgICAgICAgICAgICAgOiBjbGllbnRXaWR0aCxcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IGhhc0lubGluZUJvcmRlciA/IDEgOiAwLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgY3NzPXtob3Jpem9uU2Nyb2xsID8gZW1wdHlXcmFwcGVyU3R5bGUgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICB7ZW1wdHl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEVtcHR5RGF0YVJvdyA9IG1lbW8oRW1wdHlEYXRhUm93Q29tcG9uZW50KTtcbiJdfQ== */"], colSpan: flattedColumns.length, children: /* @__PURE__ */ jsx("div", { style: horizonScroll ? {
61
+ } : void 0, getCellStyle(tableTokens, hasBlockEndBorder), hasInlineBorder ? borderedCellStyle : void 0, process.env.NODE_ENV === "production" ? "" : ";label:EmptyDataRowComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvY29tcG9uZW50cy9FbXB0eURhdGFSb3cvRW1wdHlEYXRhUm93LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRVEiLCJmaWxlIjoiL2J1aWxkcy9mcm9udGVuZC9saWJzL3VpLWtpdC9zcmMvY29tcG9uZW50cy9UYWJsZS9jb21wb25lbnRzL0VtcHR5RGF0YVJvdy9FbXB0eURhdGFSb3cudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVtbywgdXNlQ29udGV4dCwgdXNlTWVtbywgdXNlU3RhdGUsIHR5cGUgQ1NTUHJvcGVydGllcywgdHlwZSBGQyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBFbXB0eURhdGFSb3dQcm9wcyB9IGZyb20gXCIuL0VtcHR5RGF0YVJvdy50eXBlc1wiO1xuaW1wb3J0IHsgdXNlU3Vic2NyaWJlIH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdHlwZWRFdmVudEJ1c1wiO1xuaW1wb3J0IHsgaXNOdW1iZXIsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgRW1wdHkgfSBmcm9tIFwiY29tcG9uZW50cy9FbXB0eVwiO1xuaW1wb3J0IHsgdXNlVGFibGVTdGF0aWNDb250ZXh0IH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVTdGF0aWNDb250ZXh0XCI7XG5pbXBvcnQgeyBnZXRSZWZWYWx1ZSB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL3V0aWxzXCI7XG5pbXBvcnQgeyB1c2VUYWJsZUNvbnRleHQgfSBmcm9tIFwiY29tcG9uZW50cy9UYWJsZS9jb250ZXh0c1wiO1xuaW1wb3J0IHsgZ2V0Q2VsbFN0eWxlLCBlbXB0eVdyYXBwZXJTdHlsZSwgYm9yZGVyZWRDZWxsU3R5bGUgfSBmcm9tIFwiLi9FbXB0eURhdGFSb3cuc3R5bGVzXCI7XG5pbXBvcnQgeyBDb25maWdDb250ZXh0IH0gZnJvbSBcImNvbXBvbmVudHMvQ29uZmlnUHJvdmlkZXJcIjtcbmltcG9ydCB7IGdldEVuZFJhbmdlSW5mbyB9IGZyb20gXCIuL0VtcHR5RGF0YVJvdy51dGlsc1wiO1xuXG5jb25zdCBFbXB0eURhdGFSb3dDb21wb25lbnQ6IEZDPEVtcHR5RGF0YVJvd1Byb3BzPiA9ICgpID0+IHtcbiAgY29uc3QgeyByZW5kZXJFbXB0eSB9ID0gdXNlQ29udGV4dChDb25maWdDb250ZXh0KTtcbiAgY29uc3QgeyBmbGF0dGVkQ29sdW1ucywgYm9yZGVyZWQsIHRhYmxlVG9rZW5zLCBob3Jpem9uU2Nyb2xsIH0gPSB1c2VUYWJsZUNvbnRleHQoKTtcbiAgY29uc3Qgc3RhdGljQ29udGV4dFJlZiA9IHVzZVRhYmxlU3RhdGljQ29udGV4dCgpO1xuXG4gIGNvbnN0IFtjbGllbnRXaWR0aCwgc2V0Q2xpZW50V2lkdGhdID0gdXNlU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudFdpZHRoID0gZ2V0UmVmVmFsdWUoc3RhdGljQ29udGV4dFJlZiwgXCJzY3JvbGxhYmxlVGFibGVTZWN0aW9uSW5mby5jbGllbnRXaWR0aFwiKTtcbiAgICBjb25zdCB2ZXJ0aWNhbFNjcm9sbEJhcldpZHRoID0gZ2V0UmVmVmFsdWUoXG4gICAgICBzdGF0aWNDb250ZXh0UmVmLFxuICAgICAgXCJzY3JvbGxhYmxlVGFibGVTZWN0aW9uSW5mby52ZXJ0aWNhbFNjcm9sbEJhcldpZHRoXCJcbiAgICApO1xuICAgIGNvbnN0IHsgaGFzRW5kUmFuZ2UgfSA9IGdldEVuZFJhbmdlSW5mbyhzdGF0aWNDb250ZXh0UmVmKTtcblxuICAgIHJldHVybiBoYXNFbmRSYW5nZSA/IGNsaWVudFdpZHRoICsgdmVydGljYWxTY3JvbGxCYXJXaWR0aCA6IHVuZGVmaW5lZDtcbiAgfSk7XG4gIGNvbnN0IFtjZWxsT3ZlcmZsb3dYLCBzZXRDZWxsT3ZlcmZsb3dYXSA9IHVzZVN0YXRlPENTU1Byb3BlcnRpZXNbXCJvdmVyZmxvd1hcIl0+KCgpID0+IHtcbiAgICBjb25zdCB7IGhhc0VuZFJhbmdlIH0gPSBnZXRFbmRSYW5nZUluZm8oc3RhdGljQ29udGV4dFJlZik7XG5cbiAgICByZXR1cm4gaGFzRW5kUmFuZ2UgPyB1bmRlZmluZWQgOiBcImhpZGRlblwiO1xuICB9KTtcblxuICB1c2VTdWJzY3JpYmUoXG4gICAgXCJ0YWJsZS12aXN1YWwtcGFyYW1zOmNoYW5nZVwiLFxuICAgICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgeyBjbGllbnRXaWR0aCwgaG9yaXpvbnRhbFNjcm9sbFBvc2l0aW9uUmFuZ2UgfSA9IHZhbHVlO1xuXG4gICAgICBpZiAoaXNVbmRlZmluZWQoY2xpZW50V2lkdGgpIHx8ICFob3Jpem9udGFsU2Nyb2xsUG9zaXRpb25SYW5nZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgaGFzRW5kUmFuZ2UgfSA9IGdldEVuZFJhbmdlSW5mbyhob3Jpem9udGFsU2Nyb2xsUG9zaXRpb25SYW5nZSk7XG5cbiAgICAgIHNldENsaWVudFdpZHRoKGhhc0VuZFJhbmdlID8gY2xpZW50V2lkdGggOiB1bmRlZmluZWQpO1xuICAgICAgc2V0Q2VsbE92ZXJmbG93WChoYXNFbmRSYW5nZSA/IHVuZGVmaW5lZCA6IFwiaGlkZGVuXCIpO1xuICAgIH0sXG4gICAgZmFsc2UsXG4gICAgW10sXG4gICAgdHJ1ZVxuICApO1xuXG4gIGNvbnN0IGVtcHR5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHJlbmRlckVtcHR5KSB7XG4gICAgICByZXR1cm4gcmVuZGVyRW1wdHkoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gPEVtcHR5IC8+O1xuICB9LCBbcmVuZGVyRW1wdHldKTtcblxuICBjb25zdCBoYXNJbmxpbmVCb3JkZXIgPSBib3JkZXJlZC5lbXB0eUlubGluZTtcbiAgY29uc3QgaGFzQmxvY2tFbmRCb3JkZXIgPSBib3JkZXJlZC5lbXB0eUJsb2NrRW5kO1xuXG4gIHJldHVybiAoXG4gICAgPHRyPlxuICAgICAgPHRkXG4gICAgICAgIGNzcz17W1xuICAgICAgICAgIGNlbGxPdmVyZmxvd1ggPyB7IG92ZXJmbG93WDogY2VsbE92ZXJmbG93WCB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgIGdldENlbGxTdHlsZSh0YWJsZVRva2VucywgaGFzQmxvY2tFbmRCb3JkZXIpLFxuICAgICAgICAgIGhhc0lubGluZUJvcmRlciA/IGJvcmRlcmVkQ2VsbFN0eWxlIDogdW5kZWZpbmVkLFxuICAgICAgICBdfVxuICAgICAgICBjb2xTcGFuPXtmbGF0dGVkQ29sdW1ucy5sZW5ndGh9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICBob3Jpem9uU2Nyb2xsXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6XG4gICAgICAgICAgICAgICAgICAgIGlzTnVtYmVyKGNsaWVudFdpZHRoKSAmJiBjbGllbnRXaWR0aCA+IDAgJiYgaGFzSW5saW5lQm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICAgPyBjbGllbnRXaWR0aCAtIDJcbiAgICAgICAgICAgICAgICAgICAgICA6IGNsaWVudFdpZHRoLFxuICAgICAgICAgICAgICAgICAgbGVmdDogaGFzSW5saW5lQm9yZGVyID8gMSA6IDAsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBjc3M9e2hvcml6b25TY3JvbGwgPyBlbXB0eVdyYXBwZXJTdHlsZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtlbXB0eX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgRW1wdHlEYXRhUm93ID0gbWVtbyhFbXB0eURhdGFSb3dDb21wb25lbnQpO1xuIl19 */"], colSpan: flattedColumns.length, children: /* @__PURE__ */ jsx("div", { style: horizonScroll ? {
62
62
  width: isNumber(clientWidth) && clientWidth > 0 && hasInlineBorder ? clientWidth - 2 : clientWidth,
63
63
  left: hasInlineBorder ? 1 : 0
64
64
  } : void 0, css: horizonScroll ? emptyWrapperStyle : void 0, children: empty }) }) });
@@ -7,10 +7,10 @@ export declare const getCellStyle: (tableTokens: TableTokens, hasBlockEndBorder:
7
7
  borderWidth: number;
8
8
  backgroundColor: "#FFFFFF";
9
9
  };
10
- export declare const getBorderedCellStyle: (hasInlineBorder: boolean) => {
10
+ export declare const borderedCellStyle: {
11
11
  borderInlineStartWidth: number;
12
12
  borderInlineEndWidth: number;
13
- } | undefined;
13
+ };
14
14
  export declare const emptyWrapperStyle: {
15
15
  readonly position: "sticky";
16
16
  };
@@ -8,20 +8,15 @@ const getCellStyle = (tableTokens, hasBlockEndBorder) => ({
8
8
  borderBlockEndWidth: 1
9
9
  } : {}
10
10
  });
11
- const getBorderedCellStyle = (hasInlineBorder) => {
12
- if (!hasInlineBorder) {
13
- return;
14
- }
15
- return {
16
- borderInlineStartWidth: 1,
17
- borderInlineEndWidth: 1
18
- };
11
+ const borderedCellStyle = {
12
+ borderInlineStartWidth: 1,
13
+ borderInlineEndWidth: 1
19
14
  };
20
15
  const emptyWrapperStyle = {
21
16
  position: "sticky"
22
17
  };
23
18
  export {
19
+ borderedCellStyle,
24
20
  emptyWrapperStyle,
25
- getBorderedCellStyle,
26
21
  getCellStyle
27
22
  };
@@ -14,7 +14,7 @@ const FixedHeaderComponent = (props, ref) => {
14
14
  tableLayout
15
15
  } = useTableContext();
16
16
  const HeaderTableComponent = getComponent(["header", "table"], "table");
17
- return /* @__PURE__ */ jsx("div", { className: "rc-table-header", ref, onScroll, css: getTableComponentWrapperStyle("header"), children: /* @__PURE__ */ jsxs(HeaderTableComponent, { css: getTableComponentStyle("header", tableLayout, scrollX, void 0), children: [
17
+ return /* @__PURE__ */ jsx("div", { className: "ui-kit-table-header", ref, onScroll, css: getTableComponentWrapperStyle("header"), children: /* @__PURE__ */ jsxs(HeaderTableComponent, { css: getTableComponentStyle("header", tableLayout, scrollX, void 0), children: [
18
18
  /* @__PURE__ */ jsx(FixedHeaderColGroup, {}),
19
19
  /* @__PURE__ */ jsx(Header, { fixedHeader: true })
20
20
  ] }) });
@@ -2,30 +2,36 @@ import { jsx } from "@emotion/react/jsx-runtime";
2
2
  import { useState } from "react";
3
3
  import { useSubscribe } from "../../../../features/typedEventBus/hooks.js";
4
4
  import { isNumber } from "lodash-es";
5
+ import { useTableContext } from "../../../../contexts/tableContext/useTableContext/useTableContext.js";
5
6
  import { useTableStaticContext } from "../../../../features/tableStaticContext/contexts/tableStaticContext/useTableStaticContext/useTableStaticContext.js";
6
- import { getRefValue } from "../../../../utils/ref/ref.js";
7
+ import { getRefValue, updateRefValue } from "../../../../utils/ref/ref.js";
7
8
  const FixedHeaderColGroupComponent = () => {
9
+ const {
10
+ flattedColumns
11
+ } = useTableContext();
8
12
  const staticContextRef = useTableStaticContext();
9
- const [widths, setWidths] = useState(() => getRefValue(staticContextRef, "measureCellsInfo.widths"));
10
13
  const [verticalScrollBarWidth, setVerticalScrollBarWidth] = useState(() => getRefValue(staticContextRef, "scrollableTableSectionInfo.verticalScrollBarWidth"));
11
14
  useSubscribe("table-visual-params:change", (value) => {
12
15
  const {
13
- measureCellsInfo,
14
16
  verticalScrollBarWidth: verticalScrollBarWidth2
15
17
  } = value;
16
18
  if (isNumber(verticalScrollBarWidth2)) {
17
19
  setVerticalScrollBarWidth(verticalScrollBarWidth2);
18
20
  }
19
- if (measureCellsInfo) {
20
- const {
21
- widths: widths2
22
- } = measureCellsInfo;
23
- setWidths(widths2);
24
- }
25
21
  }, false, [], true);
26
- return /* @__PURE__ */ jsx("colgroup", { children: widths.map((width, i, arr) => /* @__PURE__ */ jsx("col", { style: {
27
- width: arr.length - 1 === i ? width + verticalScrollBarWidth : width
28
- } }, i)) });
22
+ const setColgroupRef = (el) => {
23
+ updateRefValue(staticContextRef, {
24
+ headerColgroupRef: el
25
+ });
26
+ };
27
+ return /* @__PURE__ */ jsx("colgroup", { ref: setColgroupRef, children: Array.from({
28
+ length: flattedColumns.length
29
+ }).map((_, i, arr) => {
30
+ const baseTemplate = `var(--col${i}-width)`;
31
+ return /* @__PURE__ */ jsx("col", { style: {
32
+ width: arr.length - 1 === i ? `calc(${baseTemplate} + ${verticalScrollBarWidth}px)` : baseTemplate
33
+ } }, i);
34
+ }) });
29
35
  };
30
36
  const FixedHeaderColGroup = FixedHeaderColGroupComponent;
31
37
  export {
@@ -15,7 +15,7 @@ const HeaderComponent = (props) => {
15
15
  } = useTableContext();
16
16
  const HeaderWrapperComponent = getComponent(["header", "wrapper"], "thead");
17
17
  const rows = useMemo(() => parseHeaderRows(columns), [columns]);
18
- return /* @__PURE__ */ jsx(HeaderWrapperComponent, { css: tHeadStyle(tableTokens), className: "rc-table-thead", children: rows.map((row, rowIndex) => /* @__PURE__ */ jsx(HeaderRow, { index: rowIndex, cells: row, fixedHeader }, rowIndex)) });
18
+ return /* @__PURE__ */ jsx(HeaderWrapperComponent, { css: tHeadStyle(tableTokens), className: "ui-kit-table-thead", children: rows.map((row, rowIndex) => /* @__PURE__ */ jsx(HeaderRow, { index: rowIndex, cells: row, fixedHeader }, rowIndex)) });
19
19
  };
20
20
  const Header = memo(HeaderComponent);
21
21
  export {
@@ -44,7 +44,7 @@ const HeaderCellComponent = (props) => {
44
44
  colStart,
45
45
  colEnd
46
46
  });
47
- return /* @__PURE__ */ jsx(Cell, { component: HeaderCellComponent2, align: column.align, ellipsis: column.ellipsis, bordered, tableTokens, css: [headerCellStyle(tableTokens), bordered ? borderedHeaderCellStyle(tableTokens, bordered) : void 0, ...getFixedCellStyle({
47
+ return /* @__PURE__ */ jsx(Cell, { component: HeaderCellComponent2, align: column.align, ellipsis: column.ellipsis, bordered, tableTokens, css: [headerCellStyle(tableTokens), bordered.baseBorder ? borderedHeaderCellStyle(tableTokens, bordered) : void 0, ...getFixedCellStyle({
48
48
  columnKey: column.key,
49
49
  isFixStart,
50
50
  isFixEnd,
@@ -55,7 +55,7 @@ const HeaderCellComponent = (props) => {
55
55
  fixedEndShadow,
56
56
  showFixStartShadow,
57
57
  showFixEndShadow
58
- }), headerCellCss, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvY29tcG9uZW50cy9IZWFkZXIvY29tcG9uZW50cy9IZWFkZXJDZWxsL0hlYWRlckNlbGwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDTSIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1RhYmxlL2NvbXBvbmVudHMvSGVhZGVyL2NvbXBvbmVudHMvSGVhZGVyQ2VsbC9IZWFkZXJDZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSGVhZGVyQ2VsbFByb3BzIH0gZnJvbSBcIi4vSGVhZGVyQ2VsbC50eXBlc1wiO1xuaW1wb3J0IHsgQ2VsbCB9IGZyb20gXCIuLi8uLi8uLi9DZWxsL0NlbGxcIjtcbmltcG9ydCB7IHVzZVRhYmxlQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2NvbnRleHRzXCI7XG5pbXBvcnQgeyB1c2VDZWxsRml4ZWRJbmZvLCBnZXRGaXhlZENlbGxTdHlsZSB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2hvb2tzL3VzZUNlbGxGaXhlZEluZm9cIjtcbmltcG9ydCB0eXBlIHsgRGVmYXVsdFJlY29yZCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL1RhYmxlLnR5cGVzXCI7XG5pbXBvcnQgeyBib3JkZXJlZEhlYWRlckNlbGxTdHlsZSwgaGVhZGVyQ2VsbFN0eWxlIH0gZnJvbSBcIi4vSGVhZGVyQ2VsbC5zdHlsZXNcIjtcbmltcG9ydCB7IGdldEhlYWRlckNlbGxTY29wZSB9IGZyb20gXCIuL0hlYWRlckNlbGwudXRpbHNcIjtcblxuY29uc3QgSGVhZGVyQ2VsbENvbXBvbmVudCA9IDxSZWNvcmQgZXh0ZW5kcyBEZWZhdWx0UmVjb3JkPihwcm9wczogSGVhZGVyQ2VsbFByb3BzPFJlY29yZD4pID0+IHtcbiAgY29uc3QgeyBjZWxsIH0gPSBwcm9wcztcbiAgY29uc3QgeyBjaGlsZHJlbiwgY29sU3BhbjogY2VsbENvbFNwYW4sIHJvd1NwYW46IGNlbGxSb3dTcGFuLCBjb2xTdGFydCwgY29sRW5kLCBjb2x1bW4gfSA9IGNlbGw7XG4gIGNvbnN0IHsgZ2V0Q29tcG9uZW50LCBib3JkZXJlZCwgdGFibGVUb2tlbnMgfSA9IHVzZVRhYmxlQ29udGV4dCgpO1xuICBjb25zdCBIZWFkZXJDZWxsQ29tcG9uZW50ID0gZ2V0Q29tcG9uZW50KFtcImhlYWRlclwiLCBcImNlbGxcIl0sIFwidGhcIik7XG5cbiAgY29uc3Qge1xuICAgIGNvbFNwYW4sXG4gICAgcm93U3BhbixcbiAgICBjc3M6IGhlYWRlckNlbGxDc3MsXG4gICAgLi4ucmVzdEFkZGl0aW9uYWxIZWFkZXJDZWxsUHJvcHNcbiAgfSA9IGNvbHVtbi5vbkhlYWRlckNlbGw/Lihjb2x1bW4pIHx8IHt9O1xuXG4gIGNvbnN0IHtcbiAgICBpc0ZpeFN0YXJ0LFxuICAgIGlzRml4RW5kLFxuICAgIGZpeFN0YXJ0LFxuICAgIGZpeEVuZCxcbiAgICB6SW5kZXhSZXZlcnNlLFxuICAgIGZpeGVkU3RhcnRTaGFkb3csXG4gICAgZml4ZWRFbmRTaGFkb3csXG4gICAgc2hvd0ZpeFN0YXJ0U2hhZG93LFxuICAgIHNob3dGaXhFbmRTaGFkb3csXG4gIH0gPSB1c2VDZWxsRml4ZWRJbmZvKHtcbiAgICBjb2xTdGFydCxcbiAgICBjb2xFbmQsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPENlbGxcbiAgICAgIGNvbXBvbmVudD17SGVhZGVyQ2VsbENvbXBvbmVudH1cbiAgICAgIGFsaWduPXtjb2x1bW4uYWxpZ259XG4gICAgICBlbGxpcHNpcz17Y29sdW1uLmVsbGlwc2lzfVxuICAgICAgYm9yZGVyZWQ9e2JvcmRlcmVkfVxuICAgICAgdGFibGVUb2tlbnM9e3RhYmxlVG9rZW5zfVxuICAgICAgY3NzPXtbXG4gICAgICAgIGhlYWRlckNlbGxTdHlsZSh0YWJsZVRva2VucyksXG4gICAgICAgIGJvcmRlcmVkID8gYm9yZGVyZWRIZWFkZXJDZWxsU3R5bGUodGFibGVUb2tlbnMsIGJvcmRlcmVkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgLi4uZ2V0Rml4ZWRDZWxsU3R5bGUoe1xuICAgICAgICAgIGNvbHVtbktleTogY29sdW1uLmtleSxcbiAgICAgICAgICBpc0ZpeFN0YXJ0LFxuICAgICAgICAgIGlzRml4RW5kLFxuICAgICAgICAgIGZpeFN0YXJ0LFxuICAgICAgICAgIGZpeEVuZCxcbiAgICAgICAgICB6SW5kZXhSZXZlcnNlLFxuICAgICAgICAgIGZpeGVkU3RhcnRTaGFkb3csXG4gICAgICAgICAgZml4ZWRFbmRTaGFkb3csXG4gICAgICAgICAgc2hvd0ZpeFN0YXJ0U2hhZG93LFxuICAgICAgICAgIHNob3dGaXhFbmRTaGFkb3csXG4gICAgICAgIH0pLFxuICAgICAgICBoZWFkZXJDZWxsQ3NzLFxuICAgICAgXX1cbiAgICAgIHsuLi5yZXN0QWRkaXRpb25hbEhlYWRlckNlbGxQcm9wc31cbiAgICAgIGNvbFNwYW49e2NvbFNwYW4gPz8gY2VsbENvbFNwYW59XG4gICAgICByb3dTcGFuPXtyb3dTcGFuID8/IGNlbGxSb3dTcGFufVxuICAgICAgc2NvcGU9e2dldEhlYWRlckNlbGxTY29wZShjb2x1bW4udGl0bGUsIGNlbGxDb2xTcGFuKX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9DZWxsPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhlYWRlckNlbGwgPSBIZWFkZXJDZWxsQ29tcG9uZW50O1xuIl19 */"], ...restAdditionalHeaderCellProps, colSpan: colSpan ?? cellColSpan, rowSpan: rowSpan ?? cellRowSpan, scope: getHeaderCellScope(column.title, cellColSpan), children });
58
+ }), headerCellCss, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvY29tcG9uZW50cy9IZWFkZXIvY29tcG9uZW50cy9IZWFkZXJDZWxsL0hlYWRlckNlbGwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDTSIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1RhYmxlL2NvbXBvbmVudHMvSGVhZGVyL2NvbXBvbmVudHMvSGVhZGVyQ2VsbC9IZWFkZXJDZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSGVhZGVyQ2VsbFByb3BzIH0gZnJvbSBcIi4vSGVhZGVyQ2VsbC50eXBlc1wiO1xuaW1wb3J0IHsgQ2VsbCB9IGZyb20gXCIuLi8uLi8uLi9DZWxsL0NlbGxcIjtcbmltcG9ydCB7IHVzZVRhYmxlQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2NvbnRleHRzXCI7XG5pbXBvcnQgeyB1c2VDZWxsRml4ZWRJbmZvLCBnZXRGaXhlZENlbGxTdHlsZSB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2hvb2tzL3VzZUNlbGxGaXhlZEluZm9cIjtcbmltcG9ydCB0eXBlIHsgRGVmYXVsdFJlY29yZCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL1RhYmxlLnR5cGVzXCI7XG5pbXBvcnQgeyBib3JkZXJlZEhlYWRlckNlbGxTdHlsZSwgaGVhZGVyQ2VsbFN0eWxlIH0gZnJvbSBcIi4vSGVhZGVyQ2VsbC5zdHlsZXNcIjtcbmltcG9ydCB7IGdldEhlYWRlckNlbGxTY29wZSB9IGZyb20gXCIuL0hlYWRlckNlbGwudXRpbHNcIjtcblxuY29uc3QgSGVhZGVyQ2VsbENvbXBvbmVudCA9IDxSZWNvcmQgZXh0ZW5kcyBEZWZhdWx0UmVjb3JkPihwcm9wczogSGVhZGVyQ2VsbFByb3BzPFJlY29yZD4pID0+IHtcbiAgY29uc3QgeyBjZWxsIH0gPSBwcm9wcztcbiAgY29uc3QgeyBjaGlsZHJlbiwgY29sU3BhbjogY2VsbENvbFNwYW4sIHJvd1NwYW46IGNlbGxSb3dTcGFuLCBjb2xTdGFydCwgY29sRW5kLCBjb2x1bW4gfSA9IGNlbGw7XG4gIGNvbnN0IHsgZ2V0Q29tcG9uZW50LCBib3JkZXJlZCwgdGFibGVUb2tlbnMgfSA9IHVzZVRhYmxlQ29udGV4dCgpO1xuICBjb25zdCBIZWFkZXJDZWxsQ29tcG9uZW50ID0gZ2V0Q29tcG9uZW50KFtcImhlYWRlclwiLCBcImNlbGxcIl0sIFwidGhcIik7XG5cbiAgY29uc3Qge1xuICAgIGNvbFNwYW4sXG4gICAgcm93U3BhbixcbiAgICBjc3M6IGhlYWRlckNlbGxDc3MsXG4gICAgLi4ucmVzdEFkZGl0aW9uYWxIZWFkZXJDZWxsUHJvcHNcbiAgfSA9IGNvbHVtbi5vbkhlYWRlckNlbGw/Lihjb2x1bW4pIHx8IHt9O1xuXG4gIGNvbnN0IHtcbiAgICBpc0ZpeFN0YXJ0LFxuICAgIGlzRml4RW5kLFxuICAgIGZpeFN0YXJ0LFxuICAgIGZpeEVuZCxcbiAgICB6SW5kZXhSZXZlcnNlLFxuICAgIGZpeGVkU3RhcnRTaGFkb3csXG4gICAgZml4ZWRFbmRTaGFkb3csXG4gICAgc2hvd0ZpeFN0YXJ0U2hhZG93LFxuICAgIHNob3dGaXhFbmRTaGFkb3csXG4gIH0gPSB1c2VDZWxsRml4ZWRJbmZvKHtcbiAgICBjb2xTdGFydCxcbiAgICBjb2xFbmQsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPENlbGxcbiAgICAgIGNvbXBvbmVudD17SGVhZGVyQ2VsbENvbXBvbmVudH1cbiAgICAgIGFsaWduPXtjb2x1bW4uYWxpZ259XG4gICAgICBlbGxpcHNpcz17Y29sdW1uLmVsbGlwc2lzfVxuICAgICAgYm9yZGVyZWQ9e2JvcmRlcmVkfVxuICAgICAgdGFibGVUb2tlbnM9e3RhYmxlVG9rZW5zfVxuICAgICAgY3NzPXtbXG4gICAgICAgIGhlYWRlckNlbGxTdHlsZSh0YWJsZVRva2VucyksXG4gICAgICAgIGJvcmRlcmVkLmJhc2VCb3JkZXIgPyBib3JkZXJlZEhlYWRlckNlbGxTdHlsZSh0YWJsZVRva2VucywgYm9yZGVyZWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAuLi5nZXRGaXhlZENlbGxTdHlsZSh7XG4gICAgICAgICAgY29sdW1uS2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgIGlzRml4U3RhcnQsXG4gICAgICAgICAgaXNGaXhFbmQsXG4gICAgICAgICAgZml4U3RhcnQsXG4gICAgICAgICAgZml4RW5kLFxuICAgICAgICAgIHpJbmRleFJldmVyc2UsXG4gICAgICAgICAgZml4ZWRTdGFydFNoYWRvdyxcbiAgICAgICAgICBmaXhlZEVuZFNoYWRvdyxcbiAgICAgICAgICBzaG93Rml4U3RhcnRTaGFkb3csXG4gICAgICAgICAgc2hvd0ZpeEVuZFNoYWRvdyxcbiAgICAgICAgfSksXG4gICAgICAgIGhlYWRlckNlbGxDc3MsXG4gICAgICBdfVxuICAgICAgey4uLnJlc3RBZGRpdGlvbmFsSGVhZGVyQ2VsbFByb3BzfVxuICAgICAgY29sU3Bhbj17Y29sU3BhbiA/PyBjZWxsQ29sU3Bhbn1cbiAgICAgIHJvd1NwYW49e3Jvd1NwYW4gPz8gY2VsbFJvd1NwYW59XG4gICAgICBzY29wZT17Z2V0SGVhZGVyQ2VsbFNjb3BlKGNvbHVtbi50aXRsZSwgY2VsbENvbFNwYW4pfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0NlbGw+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgSGVhZGVyQ2VsbCA9IEhlYWRlckNlbGxDb21wb25lbnQ7XG4iXX0= */"], ...restAdditionalHeaderCellProps, colSpan: colSpan ?? cellColSpan, rowSpan: rowSpan ?? cellRowSpan, scope: getHeaderCellScope(column.title, cellColSpan), children });
59
59
  };
60
60
  const HeaderCell = HeaderCellComponent;
61
61
  export {
@@ -1,12 +1,12 @@
1
1
  import { TableTokens } from 'components/Table/Table.tokens';
2
- import { BorderedConfig } from 'components/Table/Table.types';
2
+ import { Bordered } from 'components/Table/Table.types';
3
3
  export declare const headerCellStyle: (tableTokens: TableTokens) => {
4
4
  readonly fontWeight: 400;
5
5
  readonly textAlign: "left";
6
6
  readonly borderColor: "#D9D9D9";
7
7
  readonly backgroundColor: "#FAFAFA";
8
8
  };
9
- export declare const borderedHeaderCellStyle: (tableTokens: TableTokens, borderedConfig: Required<BorderedConfig>) => {
9
+ export declare const borderedHeaderCellStyle: (tableTokens: TableTokens, bordered: Bordered) => {
10
10
  "tr:first-of-type > &:last-of-type": {
11
11
  borderInlineEndWidth: number;
12
12
  };
@@ -4,19 +4,19 @@ const headerCellStyle = (tableTokens) => ({
4
4
  borderColor: tableTokens.tableHeaderBorder,
5
5
  backgroundColor: tableTokens.tableHeaderBg
6
6
  });
7
- const borderedHeaderCellStyle = (tableTokens, borderedConfig) => ({
7
+ const borderedHeaderCellStyle = (tableTokens, bordered) => ({
8
8
  borderInlineEndWidth: 1,
9
9
  "tr:first-of-type > &": {
10
10
  paddingTop: tableTokens.tableCellPaddingVertical - 1,
11
11
  borderTopWidth: 1
12
12
  },
13
- ...borderedConfig.firstColumnCellInlineStart ? {
13
+ ...bordered.firstColumnCellInlineStart ? {
14
14
  "tr:first-of-type > &:first-of-type": {
15
15
  borderInlineStartWidth: 1
16
16
  }
17
17
  } : {},
18
18
  "tr:first-of-type > &:last-of-type": {
19
- borderInlineEndWidth: borderedConfig.lastColumnCellInlineEnd ? 1 : 0
19
+ borderInlineEndWidth: bordered.lastColumnCellInlineEnd ? 1 : 0
20
20
  }
21
21
  });
22
22
  export {
@@ -13,7 +13,15 @@ const createTableContext = once(() => {
13
13
  sortDirections: [],
14
14
  tableLayout: "auto",
15
15
  tableTokens: {},
16
- showHeader: true
16
+ showHeader: true,
17
+ rowHoverable: true,
18
+ bordered: {
19
+ baseBorder: false,
20
+ firstColumnCellInlineStart: false,
21
+ lastColumnCellInlineEnd: false,
22
+ emptyInline: false,
23
+ emptyBlockEnd: false
24
+ }
17
25
  });
18
26
  });
19
27
  export {
@@ -2,7 +2,7 @@ import { TableTokens } from 'components/Table/Table.tokens';
2
2
  import { useTableExpand } from '../../features/tableExpand';
3
3
  import { useTableColumns } from '../../hooks/useTableColumns';
4
4
  import { useTableComponents } from '../../hooks/useTableComponents';
5
- import { BorderedConfig, DefaultRecord, TableProps } from 'components/Table/Table.types';
5
+ import { Bordered, DefaultRecord, TableProps } from 'components/Table/Table.types';
6
6
  type UseTableComponentsReturnType = ReturnType<typeof useTableComponents>;
7
7
  type UseTableColumnsReturnType<Record extends DefaultRecord> = ReturnType<typeof useTableColumns<Record>>;
8
8
  type UseTableExpandReturnType<Record extends DefaultRecord> = ReturnType<typeof useTableExpand<Record>>;
@@ -21,7 +21,8 @@ export interface TableContextValue<Record extends DefaultRecord> {
21
21
  tableLayout: Exclude<TableProps["tableLayout"], undefined>;
22
22
  onHeaderRow?: TableProps<Record>["onHeaderRow"];
23
23
  onRow?: TableProps<Record>["onRow"];
24
- bordered?: false | Required<BorderedConfig>;
24
+ bordered: Bordered;
25
+ rowHoverable: TableProps<Record>["rowHoverable"];
25
26
  horizonScroll?: boolean;
26
27
  }
27
28
  export {};