@semcore/data-table 16.5.2 → 16.5.3-prerelease.1

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 (56) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +4 -4
  3. package/lib/cjs/components/AccordionRows/AccordionRows.js +51 -51
  4. package/lib/cjs/components/Body/Body.js +82 -58
  5. package/lib/cjs/components/Body/Body.js.map +1 -1
  6. package/lib/cjs/components/Body/Cell.js +51 -51
  7. package/lib/cjs/components/Body/LimitOverlay.js +51 -51
  8. package/lib/cjs/components/Body/Row.js +63 -56
  9. package/lib/cjs/components/Body/Row.js.map +1 -1
  10. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  11. package/lib/cjs/components/DataTable/DataTable.js +64 -52
  12. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  13. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  14. package/lib/cjs/components/Head/Column.js +36 -36
  15. package/lib/cjs/components/Head/Column.js.map +1 -1
  16. package/lib/cjs/components/Head/Column.types.js.map +1 -1
  17. package/lib/cjs/components/Head/Group.js +36 -36
  18. package/lib/cjs/components/Head/Head.js +107 -87
  19. package/lib/cjs/components/Head/Head.js.map +1 -1
  20. package/lib/cjs/components/Head/Head.types.js.map +1 -1
  21. package/lib/cjs/index.js.map +1 -1
  22. package/lib/es6/components/AccordionRows/AccordionRows.js +51 -51
  23. package/lib/es6/components/Body/Body.js +84 -60
  24. package/lib/es6/components/Body/Body.js.map +1 -1
  25. package/lib/es6/components/Body/Cell.js +51 -51
  26. package/lib/es6/components/Body/LimitOverlay.js +51 -51
  27. package/lib/es6/components/Body/Row.js +63 -56
  28. package/lib/es6/components/Body/Row.js.map +1 -1
  29. package/lib/es6/components/Body/Row.types.js.map +1 -1
  30. package/lib/es6/components/DataTable/DataTable.js +64 -52
  31. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  32. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  33. package/lib/es6/components/Head/Column.js +36 -36
  34. package/lib/es6/components/Head/Column.js.map +1 -1
  35. package/lib/es6/components/Head/Column.types.js.map +1 -1
  36. package/lib/es6/components/Head/Group.js +36 -36
  37. package/lib/es6/components/Head/Head.js +107 -87
  38. package/lib/es6/components/Head/Head.js.map +1 -1
  39. package/lib/es6/components/Head/Head.types.js.map +1 -1
  40. package/lib/es6/index.js.map +1 -1
  41. package/lib/esm/components/AccordionRows/AccordionRows.mjs +52 -52
  42. package/lib/esm/components/Body/Body.mjs +83 -61
  43. package/lib/esm/components/Body/Cell.mjs +52 -52
  44. package/lib/esm/components/Body/LimitOverlay.mjs +52 -52
  45. package/lib/esm/components/Body/Row.mjs +62 -57
  46. package/lib/esm/components/DataTable/DataTable.mjs +65 -54
  47. package/lib/esm/components/Head/Column.mjs +37 -37
  48. package/lib/esm/components/Head/Group.mjs +37 -37
  49. package/lib/esm/components/Head/Head.mjs +72 -51
  50. package/lib/types/components/Body/Row.types.d.ts +2 -1
  51. package/lib/types/components/DataTable/DataTable.types.d.ts +10 -2
  52. package/lib/types/components/Head/Column.d.ts +6 -1
  53. package/lib/types/components/Head/Column.types.d.ts +6 -1
  54. package/lib/types/components/Head/Head.types.d.ts +7 -2
  55. package/lib/types/index.d.ts +2 -1
  56. package/package.json +9 -9
@@ -1,6 +1,7 @@
1
1
  import type { Property } from 'csstype';
2
2
  import type { BodyPropsInner } from '../Body/Body.types';
3
3
  import type { DataTableCellProps } from '../Body/Cell.types';
4
+ import type { ROW_GROUP } from '../DataTable/DataTable';
4
5
  import type { ColumnGroupConfig, ColumnItemConfig, DataTableData, DataTableProps, DTUse, SortDirection } from '../DataTable/DataTable.types';
5
6
  export type CommonColumnType = {
6
7
  /**
@@ -61,7 +62,11 @@ export type DataTableColumnProps = CommonColumnType & {
61
62
  */
62
63
  changeSortSize?: boolean;
63
64
  };
64
- export type ColumnPropsInner<Data extends DataTableData, UniqKey extends keyof Data[number], UniqKeyType extends Data[number][UniqKey]> = {
65
+ export type ColumnPropsInner<Data extends DataTableData, UniqKey extends (Data[number] extends {
66
+ [ROW_GROUP]: DataTableData;
67
+ } ? keyof Data[number][typeof ROW_GROUP][number] : keyof Data[number]), UniqKeyType extends (Data[number] extends {
68
+ [ROW_GROUP]: DataTableData;
69
+ } ? Data[number][typeof ROW_GROUP][number][UniqKey] : Data[number][UniqKey])> = {
65
70
  use: DTUse;
66
71
  borders?: 'both' | 'left' | 'right';
67
72
  sort?: DataTableProps<Data, UniqKey, UniqKeyType>['sort'];
@@ -2,6 +2,7 @@ import type { ColumnPropsInner, DTColumn } from './Column.types';
2
2
  import type { BodyPropsInner } from '../Body/Body.types';
3
3
  import type { DataTableCellProps } from '../Body/Cell.types';
4
4
  import type { DTRow } from '../Body/Row.types';
5
+ import type { ROW_GROUP } from '../DataTable/DataTable';
5
6
  import type { DataTableData, DataTableProps, DTUse } from '../DataTable/DataTable.types';
6
7
  export type DataTableHeadProps = {
7
8
  /**
@@ -24,7 +25,11 @@ export type DataTableHeadProps = {
24
25
  /** Outer ref for the header */
25
26
  ref?: React.Ref<HTMLDivElement>;
26
27
  };
27
- export type HeadPropsInner<Data extends DataTableData, UniqKey extends keyof Data[number], UniqKeyType extends Data[number][UniqKey]> = {
28
+ export type HeadPropsInner<Data extends DataTableData, UniqKey extends (Data[number] extends {
29
+ [ROW_GROUP]: DataTableData;
30
+ } ? keyof Data[number][typeof ROW_GROUP][number] : keyof Data[number]), UniqKeyType extends (Data[number] extends {
31
+ [ROW_GROUP]: DataTableData;
32
+ } ? Data[number][typeof ROW_GROUP][number][UniqKey] : Data[number][UniqKey])> = {
28
33
  use: DTUse;
29
34
  tableRef: React.RefObject<HTMLElement>;
30
35
  columns: DTColumn[];
@@ -41,7 +46,7 @@ export type HeadPropsInner<Data extends DataTableData, UniqKey extends keyof Dat
41
46
  sideIndents?: 'wide';
42
47
  totalRows: number;
43
48
  selectedRows?: UniqKeyType[];
44
- onChangeSelectAll?: (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => void;
49
+ onChangeSelectAll?: (selectedRows: UniqKeyType[], event?: React.SyntheticEvent<HTMLElement>) => void;
45
50
  flatRows: DTRow<UniqKeyType>[];
46
51
  getFixedStyle: (cell: Pick<DTColumn, 'name' | 'fixed'>) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];
47
52
  onCellClick: DataTableCellProps<Data, UniqKeyType>['onClick'];
@@ -1,5 +1,6 @@
1
1
  import type { Intergalactic } from '@semcore/core';
2
2
  import type React from 'react';
3
+ import type { CellRenderProps } from './components/Body/Body.types';
3
4
  import { MergedRowsCell, MergedColumnsCell } from './components/Body/MergedCells';
4
5
  import { DataTable, ACCORDION, ROW_GROUP, UNIQ_ROW_KEY } from './components/DataTable/DataTable';
5
6
  import type { DataTableSort, DataTableType, DataTableData, DataTableProps, DataTableChangeSort, ColumnGroupConfig, ColumnItemConfig } from './components/DataTable/DataTable.types';
@@ -9,4 +10,4 @@ export { MergedRowsCell, MergedColumnsCell, DataTable, ACCORDION, ROW_GROUP,
9
10
  * @deprecated use property `uniqueRowKey` in DataTableProps to set key of unique value in your data.
10
11
  */
11
12
  UNIQ_ROW_KEY, wrapDataTable, };
12
- export type { DataTableSort, DataTableData, DataTableProps, DataTableChangeSort, ColumnGroupConfig, ColumnItemConfig, };
13
+ export type { DataTableSort, DataTableData, DataTableProps, DataTableChangeSort, ColumnGroupConfig, ColumnItemConfig, CellRenderProps, };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/data-table",
3
3
  "description": "Semrush DataTable Component",
4
- "version": "16.5.2",
4
+ "version": "16.5.3-prerelease.1",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "types": "./lib/types/index.d.ts"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/icon": "16.7.3",
17
+ "@semcore/icon": "16.7.4-prerelease.1",
18
18
  "@semcore/button": "16.0.12",
19
19
  "@semcore/checkbox": "16.2.1",
20
20
  "@semcore/flex-box": "16.0.11",
@@ -27,18 +27,18 @@
27
27
  "@types/node": "18.16.15",
28
28
  "csstype": "3.1.3",
29
29
  "@semcore/testing-utils": "1.0.0",
30
- "@semcore/base-trigger": "16.4.5",
31
- "@semcore/dropdown-menu": "16.2.1",
32
30
  "@semcore/typography": "16.3.2",
33
31
  "@semcore/accordion": "16.7.2",
34
- "@semcore/divider": "16.0.11",
32
+ "@semcore/dropdown-menu": "16.2.2-prerelease.1",
33
+ "@semcore/base-trigger": "16.4.5",
35
34
  "@semcore/portal": "16.0.11",
36
- "@semcore/progress-bar": "16.0.11",
35
+ "@semcore/divider": "16.0.11",
37
36
  "@semcore/skeleton": "16.0.11",
38
- "@semcore/spin": "16.0.11",
39
37
  "@semcore/spin-container": "16.0.11",
40
- "@semcore/tooltip": "16.0.11",
41
- "@semcore/base-components": "16.4.2"
38
+ "@semcore/progress-bar": "16.0.11",
39
+ "@semcore/spin": "16.0.11",
40
+ "@semcore/base-components": "16.4.2",
41
+ "@semcore/tooltip": "16.0.11"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "@semcore/base-components": "^16.0.0"