@semcore/data-table 16.0.0 → 16.0.1-prerelease.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -1
- package/lib/cjs/components/Body/Body.js +73 -53
- package/lib/cjs/components/Body/Body.js.map +1 -1
- package/lib/cjs/components/Body/Body.types.js.map +1 -1
- package/lib/cjs/components/Body/Cell.js +35 -34
- package/lib/cjs/components/Body/Cell.js.map +1 -1
- package/lib/cjs/components/Body/Cell.types.js.map +1 -1
- package/lib/cjs/components/Body/MergedCells.js +6 -2
- package/lib/cjs/components/Body/MergedCells.js.map +1 -1
- package/lib/cjs/components/Body/Row.js +87 -80
- package/lib/cjs/components/Body/Row.js.map +1 -1
- package/lib/cjs/components/Body/Row.types.js.map +1 -1
- package/lib/cjs/components/Body/style.shadow.css +13 -10
- package/lib/cjs/components/DataTable/DataTable.js +215 -162
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
- package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/cjs/components/Head/Column.js +71 -61
- package/lib/cjs/components/Head/Column.js.map +1 -1
- package/lib/cjs/components/Head/Column.types.js.map +1 -1
- package/lib/cjs/components/Head/Group.js +23 -22
- package/lib/cjs/components/Head/Group.js.map +1 -1
- package/lib/cjs/components/Head/Head.js +67 -65
- package/lib/cjs/components/Head/Head.js.map +1 -1
- package/lib/cjs/components/Head/Head.types.js.map +1 -1
- package/lib/cjs/components/Head/style.shadow.css +5 -1
- package/lib/cjs/style/scroll-shadows.shadow.css +6 -0
- package/lib/es6/components/Body/Body.js +74 -54
- package/lib/es6/components/Body/Body.js.map +1 -1
- package/lib/es6/components/Body/Body.types.js.map +1 -1
- package/lib/es6/components/Body/Cell.js +35 -34
- package/lib/es6/components/Body/Cell.js.map +1 -1
- package/lib/es6/components/Body/Cell.types.js.map +1 -1
- package/lib/es6/components/Body/MergedCells.js +6 -2
- package/lib/es6/components/Body/MergedCells.js.map +1 -1
- package/lib/es6/components/Body/Row.js +87 -80
- package/lib/es6/components/Body/Row.js.map +1 -1
- package/lib/es6/components/Body/Row.types.js +1 -1
- package/lib/es6/components/Body/Row.types.js.map +1 -1
- package/lib/es6/components/Body/style.shadow.css +13 -10
- package/lib/es6/components/DataTable/DataTable.js +213 -161
- package/lib/es6/components/DataTable/DataTable.js.map +1 -1
- package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/es6/components/Head/Column.js +71 -61
- package/lib/es6/components/Head/Column.js.map +1 -1
- package/lib/es6/components/Head/Column.types.js.map +1 -1
- package/lib/es6/components/Head/Group.js +24 -23
- package/lib/es6/components/Head/Group.js.map +1 -1
- package/lib/es6/components/Head/Head.js +68 -66
- package/lib/es6/components/Head/Head.js.map +1 -1
- package/lib/es6/components/Head/Head.types.js.map +1 -1
- package/lib/es6/components/Head/style.shadow.css +5 -1
- package/lib/es6/style/scroll-shadows.shadow.css +6 -0
- package/lib/esm/components/Body/Body.mjs +74 -55
- package/lib/esm/components/Body/Cell.mjs +36 -35
- package/lib/esm/components/Body/MergedCells.mjs +6 -2
- package/lib/esm/components/Body/Row.mjs +67 -61
- package/lib/esm/components/Body/style.shadow.css +13 -10
- package/lib/esm/components/DataTable/DataTable.mjs +168 -119
- package/lib/esm/components/Head/Column.mjs +54 -49
- package/lib/esm/components/Head/Group.mjs +25 -24
- package/lib/esm/components/Head/Head.mjs +47 -46
- package/lib/esm/components/Head/style.shadow.css +5 -1
- package/lib/esm/style/scroll-shadows.shadow.css +6 -0
- package/lib/types/components/Body/Body.types.d.ts +2 -1
- package/lib/types/components/Body/Cell.types.d.ts +2 -0
- package/lib/types/components/Body/MergedCells.d.ts +6 -2
- package/lib/types/components/Body/Row.types.d.ts +11 -4
- package/lib/types/components/DataTable/DataTable.d.ts +3 -2
- package/lib/types/components/DataTable/DataTable.types.d.ts +10 -3
- package/lib/types/components/Head/Column.d.ts +1 -0
- package/lib/types/components/Head/Column.types.d.ts +4 -15
- package/lib/types/components/Head/Head.d.ts +3 -3
- package/lib/types/components/Head/Head.types.d.ts +6 -1
- package/package.json +10 -10
- package/lib/cjs/utils.js +0 -66
- package/lib/cjs/utils.js.map +0 -1
- package/lib/es6/utils.js +0 -56
- package/lib/es6/utils.js.map +0 -1
- package/lib/esm/utils.mjs +0 -43
- package/lib/types/utils.d.ts +0 -8
|
@@ -10,7 +10,7 @@ import { DTRow } from '../Body/Row.types';
|
|
|
10
10
|
* Datatable must have an accessible name (aria-table-name).
|
|
11
11
|
* It should describe table content.
|
|
12
12
|
*/
|
|
13
|
-
type DataTableAriaProps = Intergalactic.RequireAtLeastOne<{
|
|
13
|
+
export type DataTableAriaProps = Intergalactic.RequireAtLeastOne<{
|
|
14
14
|
'aria-label'?: string;
|
|
15
15
|
'aria-labelledby'?: string;
|
|
16
16
|
title?: string;
|
|
@@ -30,7 +30,7 @@ export interface DTValue {
|
|
|
30
30
|
}
|
|
31
31
|
export type DataTableData = DataRowItem[];
|
|
32
32
|
export type DTUse = 'primary' | 'secondary';
|
|
33
|
-
type Sizes = Pick<BoxProps, 'w' | 'wMax' | 'wMin' | 'h' | 'hMax' | 'hMin'>;
|
|
33
|
+
export type Sizes = Pick<BoxProps, 'w' | 'wMax' | 'wMin' | 'h' | 'hMax' | 'hMin'>;
|
|
34
34
|
export type DataTableProps<D extends DataTableData> = DataTableAriaProps & Sizes & {
|
|
35
35
|
/** Data for table */
|
|
36
36
|
data: D;
|
|
@@ -56,7 +56,7 @@ export type DataTableProps<D extends DataTableData> = DataTableAriaProps & Sizes
|
|
|
56
56
|
/**
|
|
57
57
|
* Size of paddings for the first and last columns in the table
|
|
58
58
|
*/
|
|
59
|
-
sideIndents?: '
|
|
59
|
+
sideIndents?: 'wide';
|
|
60
60
|
/**
|
|
61
61
|
* Flag for showing spinner on table body
|
|
62
62
|
*/
|
|
@@ -74,6 +74,10 @@ export type DataTableProps<D extends DataTableData> = DataTableAriaProps & Sizes
|
|
|
74
74
|
* @default false
|
|
75
75
|
*/
|
|
76
76
|
sticky?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Height of header in px. It's better to set it to improve performance with sticky header.
|
|
79
|
+
*/
|
|
80
|
+
h?: number;
|
|
77
81
|
/**
|
|
78
82
|
* offset for sticky header
|
|
79
83
|
*/
|
|
@@ -92,6 +96,9 @@ export type DataTableProps<D extends DataTableData> = DataTableAriaProps & Sizes
|
|
|
92
96
|
isSelected: boolean;
|
|
93
97
|
row: DTRow;
|
|
94
98
|
}) => void;
|
|
99
|
+
/**
|
|
100
|
+
* For custom empty data widget.
|
|
101
|
+
*/
|
|
95
102
|
renderEmptyData?: () => React.ReactNode;
|
|
96
103
|
};
|
|
97
104
|
export type ColumnItemConfig = Intergalactic.InternalTypings.EfficientOmit<Intergalactic.InternalTypings.ComponentProps<'div' | typeof Tooltip, 'div', DataTableColumnProps, {}, [
|
|
@@ -17,6 +17,7 @@ export declare class Column<D extends DataTableData> extends Component<DataTable
|
|
|
17
17
|
state: State;
|
|
18
18
|
componentDidMount(): void;
|
|
19
19
|
componentDidUpdate(prevProps: DataTableColumnProps & ColumnPropsInner<D>): void;
|
|
20
|
+
changeTemplateColumnBySort(): void;
|
|
20
21
|
calculateActiveColumnMinWidth: () => number | null;
|
|
21
22
|
get defaultDirection(): SortDirection;
|
|
22
23
|
handleMouseEnter: () => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ColumnGroupConfig, DataTableData, DataTableProps, DTUse, SortDirection } from '../DataTable/DataTable.types';
|
|
2
|
+
import { ColumnGroupConfig, ColumnItemConfig, DataTableData, DataTableProps, DTUse, SortDirection } from '../DataTable/DataTable.types';
|
|
3
3
|
import { Property } from 'csstype';
|
|
4
4
|
export type CommonColumnType = {
|
|
5
5
|
/**
|
|
@@ -35,25 +35,14 @@ export type CommonColumnType = {
|
|
|
35
35
|
*/
|
|
36
36
|
justifyContent?: Property.JustifyContent;
|
|
37
37
|
};
|
|
38
|
-
export type DTColumn = CommonColumnType & {
|
|
39
|
-
ref: React.RefCallback<HTMLElement> & {
|
|
40
|
-
current: HTMLElement | null;
|
|
41
|
-
};
|
|
38
|
+
export type DTColumn = ColumnItemConfig & CommonColumnType & {
|
|
42
39
|
/**
|
|
43
40
|
* Width for grid-template-columns
|
|
44
41
|
*/
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Width of column by getBoundaryRect() value
|
|
48
|
-
*/
|
|
49
|
-
calculatedWidth: number;
|
|
50
|
-
/**
|
|
51
|
-
* Height of column by getBoundaryRect() value
|
|
52
|
-
*/
|
|
53
|
-
calculatedHeight: number;
|
|
42
|
+
gtcWidth: string;
|
|
54
43
|
parent?: DTColumn | ColumnGroupConfig;
|
|
55
44
|
columns?: DTColumn[];
|
|
56
|
-
children
|
|
45
|
+
children?: React.ReactNode | React.FC;
|
|
57
46
|
gridArea?: string;
|
|
58
47
|
};
|
|
59
48
|
export type DataTableColumnProps = CommonColumnType & {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Intergalactic } from '@semcore/core';
|
|
3
3
|
import { DataTableHeadProps } from './Head.types';
|
|
4
|
-
import Tooltip from '@semcore/tooltip';
|
|
4
|
+
import type Tooltip from '@semcore/tooltip';
|
|
5
5
|
import { DataTableColumnProps } from './Column.types';
|
|
6
6
|
import { DataTableGroupProps } from './Group.type';
|
|
7
7
|
export declare const Head: (<Tag extends Intergalactic.InternalTypings.ComponentTag = "div", Props extends DataTableHeadProps = DataTableHeadProps>(props: Intergalactic.InternalTypings.ComponentProps<Tag, "div", Props, {}, never[]>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<"div", Intergalactic.InternalTypings.ComponentTag, DataTableHeadProps, {}, never[]> & {
|
|
@@ -46,7 +46,7 @@ export declare const Head: (<Tag extends Intergalactic.InternalTypings.Component
|
|
|
46
46
|
disableEnforceFocus?: boolean | undefined;
|
|
47
47
|
} & {
|
|
48
48
|
title?: React.ReactNode;
|
|
49
|
-
theme?: "
|
|
49
|
+
theme?: "default" | "warning" | "invert" | undefined;
|
|
50
50
|
interaction?: "none" | "hover" | "click" | "focus" | import("@semcore/base-components").eventInteraction | undefined;
|
|
51
51
|
} & import("@semcore/tooltip").ArrowCustom, import("@semcore/base-components").PopperContext, never[]>;
|
|
52
52
|
}) = "div">(props: Intergalactic.InternalTypings.ComponentProps<Tag_1, "div", DataTableColumnProps, {}, []>) => Intergalactic.InternalTypings.ComponentRenderingResults;
|
|
@@ -91,7 +91,7 @@ export declare const Head: (<Tag extends Intergalactic.InternalTypings.Component
|
|
|
91
91
|
disableEnforceFocus?: boolean | undefined;
|
|
92
92
|
} & {
|
|
93
93
|
title?: React.ReactNode;
|
|
94
|
-
theme?: "
|
|
94
|
+
theme?: "default" | "warning" | "invert" | undefined;
|
|
95
95
|
interaction?: "none" | "hover" | "click" | "focus" | import("@semcore/base-components").eventInteraction | undefined;
|
|
96
96
|
} & import("@semcore/tooltip").ArrowCustom, import("@semcore/base-components").PopperContext, never[]>;
|
|
97
97
|
}) = "div">(props: Intergalactic.InternalTypings.ComponentProps<Tag_3, "div", DataTableGroupProps, {}, []>) => Intergalactic.InternalTypings.ComponentRenderingResults;
|
|
@@ -11,6 +11,10 @@ export type DataTableHeadProps = {
|
|
|
11
11
|
* offset for sticky header
|
|
12
12
|
*/
|
|
13
13
|
top?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Height of header in px
|
|
16
|
+
*/
|
|
17
|
+
h?: number;
|
|
14
18
|
/** Enable scroll bar element in header */
|
|
15
19
|
withScrollBar?: boolean;
|
|
16
20
|
};
|
|
@@ -28,8 +32,9 @@ export type HeadPropsInner<D extends DataTableData> = {
|
|
|
28
32
|
gridAreaGroupMap: Map<number, string>;
|
|
29
33
|
gridTemplateColumns: string[];
|
|
30
34
|
gridTemplateAreas: string[];
|
|
31
|
-
sideIndents?: '
|
|
35
|
+
sideIndents?: 'wide';
|
|
32
36
|
totalRows: number;
|
|
33
37
|
selectedRows?: number[];
|
|
34
38
|
onChangeSelectAll?: (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => void;
|
|
39
|
+
getFixedStyle: (cell: Pick<DTColumn, 'name' | 'fixed'>) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];
|
|
35
40
|
};
|
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.0.
|
|
4
|
+
"version": "16.0.1-prerelease.2",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
"types": "./lib/types/index.d.ts"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/icon": "16.0.
|
|
18
|
-
"@semcore/button": "16.0.0",
|
|
19
|
-
"@semcore/checkbox": "16.0.0",
|
|
20
|
-
"@semcore/flex-box": "16.0.0",
|
|
21
|
-
"@semcore/scroll-area": "16.0.0",
|
|
22
|
-
"@semcore/spin": "16.0.0",
|
|
23
|
-
"@semcore/tooltip": "16.0.0",
|
|
24
|
-
"@semcore/widget-empty": "16.0.0"
|
|
17
|
+
"@semcore/icon": "16.1.0-prerelease.2",
|
|
18
|
+
"@semcore/button": "16.0.0-prerelease.2",
|
|
19
|
+
"@semcore/checkbox": "16.0.0-prerelease.2",
|
|
20
|
+
"@semcore/flex-box": "16.0.0-prerelease.2",
|
|
21
|
+
"@semcore/scroll-area": "16.0.0-prerelease.2",
|
|
22
|
+
"@semcore/spin": "16.0.0-prerelease.2",
|
|
23
|
+
"@semcore/tooltip": "16.0.0-prerelease.2",
|
|
24
|
+
"@semcore/widget-empty": "16.0.0-prerelease.2"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/react": "18.0.21",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"csstype": "3.0.8"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@semcore/base-components": "^16.0.0"
|
|
44
|
+
"@semcore/base-components": "^16.0.0-prerelease.2"
|
|
45
45
|
},
|
|
46
46
|
"repository": {
|
|
47
47
|
"type": "git",
|
package/lib/cjs/utils.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getScrollOffsetValue = exports.getFixedStyle = exports.flattenColumns = exports.createCssVarForWidth = void 0;
|
|
7
|
-
var getScrollOffsetValue = function getScrollOffsetValue(columns) {
|
|
8
|
-
return columns.reduce(function (acc, column) {
|
|
9
|
-
if (column.fixed === 'left') {
|
|
10
|
-
acc[0] += column.calculatedWidth;
|
|
11
|
-
}
|
|
12
|
-
if (column.fixed === 'right') {
|
|
13
|
-
acc[1] += column.calculatedWidth;
|
|
14
|
-
}
|
|
15
|
-
return acc;
|
|
16
|
-
}, [0, 0]);
|
|
17
|
-
};
|
|
18
|
-
exports.getScrollOffsetValue = getScrollOffsetValue;
|
|
19
|
-
var cssVarReg = /[:;\W]/g;
|
|
20
|
-
var createCssVarForWidth = function createCssVarForWidth(name) {
|
|
21
|
-
return "--".concat(name.replace(cssVarReg, '_'), "_width");
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* todo: Remove after v16
|
|
26
|
-
*/
|
|
27
|
-
exports.createCssVarForWidth = createCssVarForWidth;
|
|
28
|
-
var flattenColumns = function flattenColumns(columns) {
|
|
29
|
-
return columns.reduce(function (acc, column) {
|
|
30
|
-
var hasNestedColumns = 'columns' in column && column.columns.length > 0;
|
|
31
|
-
var columns = hasNestedColumns ? flattenColumns(column.columns) : [column];
|
|
32
|
-
acc = acc.concat(columns);
|
|
33
|
-
return acc;
|
|
34
|
-
}, []);
|
|
35
|
-
};
|
|
36
|
-
exports.flattenColumns = flattenColumns;
|
|
37
|
-
var getFixedStyle = function getFixedStyle(cell, columns) {
|
|
38
|
-
var side = cell.fixed;
|
|
39
|
-
if (!side) return [undefined, undefined];
|
|
40
|
-
var names = cell.name.split('/');
|
|
41
|
-
var nameSideMap = {
|
|
42
|
-
left: names[0],
|
|
43
|
-
right: names[names.length - 1]
|
|
44
|
-
};
|
|
45
|
-
var name = nameSideMap[side];
|
|
46
|
-
var index = columns.findIndex(function (column) {
|
|
47
|
-
return column.name === name;
|
|
48
|
-
});
|
|
49
|
-
if (index === -1) return [undefined, undefined];
|
|
50
|
-
var startIndexSideMap = {
|
|
51
|
-
left: 0,
|
|
52
|
-
right: index + 1
|
|
53
|
-
};
|
|
54
|
-
var endIndexSideMap = {
|
|
55
|
-
left: index,
|
|
56
|
-
right: columns.length
|
|
57
|
-
};
|
|
58
|
-
var columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
|
|
59
|
-
if (columnsFixed.length < 1) return [side, 0];
|
|
60
|
-
var sum = columnsFixed.reduce(function (acc, column) {
|
|
61
|
-
return acc + column.calculatedWidth;
|
|
62
|
-
}, 0);
|
|
63
|
-
return [side, "".concat(sum, "px")];
|
|
64
|
-
};
|
|
65
|
-
exports.getFixedStyle = getFixedStyle;
|
|
66
|
-
//# sourceMappingURL=utils.js.map
|
package/lib/cjs/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","calculatedWidth","exports","cssVarReg","createCssVarForWidth","name","concat","replace","flattenColumns","hasNestedColumns","length","getFixedStyle","cell","side","undefined","names","split","nameSideMap","left","right","index","findIndex","startIndexSideMap","endIndexSideMap","columnsFixed","slice","sum"],"sources":["../../src/utils.ts"],"sourcesContent":["import type { DTColumn } from './components/Head/Column.types';\n\nexport const getScrollOffsetValue = (columns: DTColumn[]) =>\n columns.reduce(\n (acc, column) => {\n if (column.fixed === 'left') {\n acc[0] += column.calculatedWidth;\n }\n if (column.fixed === 'right') {\n acc[1] += column.calculatedWidth;\n }\n return acc;\n },\n [0, 0] as [leftOffset: number, rightOffset: number],\n );\n\nconst cssVarReg = /[:;\\W]/g;\n\nexport const createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\n/**\n * todo: Remove after v16\n */\nexport const flattenColumns = (columns: any[]) =>\n columns.reduce((acc, column) => {\n const hasNestedColumns = 'columns' in column && column.columns.length > 0;\n const columns: any[] = hasNestedColumns ? flattenColumns(column.columns) : [column];\n acc = acc.concat(columns);\n return acc;\n }, [] as any[]);\n\nexport const getFixedStyle = (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n columns: DTColumn[],\n): [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined] => {\n const side = cell.fixed;\n if (!side) return [undefined, undefined];\n const names = cell.name.split('/');\n const nameSideMap = {\n left: names[0],\n right: names[names.length - 1],\n };\n const name = nameSideMap[side];\n const index = columns.findIndex((column) => column.name === name);\n\n if (index === -1) return [undefined, undefined];\n\n const startIndexSideMap = {\n left: 0,\n right: index + 1,\n };\n const endIndexSideMap = {\n left: index,\n right: columns.length,\n };\n const columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);\n\n if (columnsFixed.length < 1) return [side, 0];\n\n const sum = columnsFixed.reduce((acc, column) => acc + column.calculatedWidth, 0);\n return [side, `${sum}px`];\n};\n"],"mappings":"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"}
|
package/lib/es6/utils.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export var getScrollOffsetValue = function getScrollOffsetValue(columns) {
|
|
2
|
-
return columns.reduce(function (acc, column) {
|
|
3
|
-
if (column.fixed === 'left') {
|
|
4
|
-
acc[0] += column.calculatedWidth;
|
|
5
|
-
}
|
|
6
|
-
if (column.fixed === 'right') {
|
|
7
|
-
acc[1] += column.calculatedWidth;
|
|
8
|
-
}
|
|
9
|
-
return acc;
|
|
10
|
-
}, [0, 0]);
|
|
11
|
-
};
|
|
12
|
-
var cssVarReg = /[:;\W]/g;
|
|
13
|
-
export var createCssVarForWidth = function createCssVarForWidth(name) {
|
|
14
|
-
return "--".concat(name.replace(cssVarReg, '_'), "_width");
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* todo: Remove after v16
|
|
19
|
-
*/
|
|
20
|
-
export var flattenColumns = function flattenColumns(columns) {
|
|
21
|
-
return columns.reduce(function (acc, column) {
|
|
22
|
-
var hasNestedColumns = 'columns' in column && column.columns.length > 0;
|
|
23
|
-
var columns = hasNestedColumns ? flattenColumns(column.columns) : [column];
|
|
24
|
-
acc = acc.concat(columns);
|
|
25
|
-
return acc;
|
|
26
|
-
}, []);
|
|
27
|
-
};
|
|
28
|
-
export var getFixedStyle = function getFixedStyle(cell, columns) {
|
|
29
|
-
var side = cell.fixed;
|
|
30
|
-
if (!side) return [undefined, undefined];
|
|
31
|
-
var names = cell.name.split('/');
|
|
32
|
-
var nameSideMap = {
|
|
33
|
-
left: names[0],
|
|
34
|
-
right: names[names.length - 1]
|
|
35
|
-
};
|
|
36
|
-
var name = nameSideMap[side];
|
|
37
|
-
var index = columns.findIndex(function (column) {
|
|
38
|
-
return column.name === name;
|
|
39
|
-
});
|
|
40
|
-
if (index === -1) return [undefined, undefined];
|
|
41
|
-
var startIndexSideMap = {
|
|
42
|
-
left: 0,
|
|
43
|
-
right: index + 1
|
|
44
|
-
};
|
|
45
|
-
var endIndexSideMap = {
|
|
46
|
-
left: index,
|
|
47
|
-
right: columns.length
|
|
48
|
-
};
|
|
49
|
-
var columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
|
|
50
|
-
if (columnsFixed.length < 1) return [side, 0];
|
|
51
|
-
var sum = columnsFixed.reduce(function (acc, column) {
|
|
52
|
-
return acc + column.calculatedWidth;
|
|
53
|
-
}, 0);
|
|
54
|
-
return [side, "".concat(sum, "px")];
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=utils.js.map
|
package/lib/es6/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","calculatedWidth","cssVarReg","createCssVarForWidth","name","concat","replace","flattenColumns","hasNestedColumns","length","getFixedStyle","cell","side","undefined","names","split","nameSideMap","left","right","index","findIndex","startIndexSideMap","endIndexSideMap","columnsFixed","slice","sum"],"sources":["../../src/utils.ts"],"sourcesContent":["import type { DTColumn } from './components/Head/Column.types';\n\nexport const getScrollOffsetValue = (columns: DTColumn[]) =>\n columns.reduce(\n (acc, column) => {\n if (column.fixed === 'left') {\n acc[0] += column.calculatedWidth;\n }\n if (column.fixed === 'right') {\n acc[1] += column.calculatedWidth;\n }\n return acc;\n },\n [0, 0] as [leftOffset: number, rightOffset: number],\n );\n\nconst cssVarReg = /[:;\\W]/g;\n\nexport const createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\n/**\n * todo: Remove after v16\n */\nexport const flattenColumns = (columns: any[]) =>\n columns.reduce((acc, column) => {\n const hasNestedColumns = 'columns' in column && column.columns.length > 0;\n const columns: any[] = hasNestedColumns ? flattenColumns(column.columns) : [column];\n acc = acc.concat(columns);\n return acc;\n }, [] as any[]);\n\nexport const getFixedStyle = (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n columns: DTColumn[],\n): [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined] => {\n const side = cell.fixed;\n if (!side) return [undefined, undefined];\n const names = cell.name.split('/');\n const nameSideMap = {\n left: names[0],\n right: names[names.length - 1],\n };\n const name = nameSideMap[side];\n const index = columns.findIndex((column) => column.name === name);\n\n if (index === -1) return [undefined, undefined];\n\n const startIndexSideMap = {\n left: 0,\n right: index + 1,\n };\n const endIndexSideMap = {\n left: index,\n right: columns.length,\n };\n const columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);\n\n if (columnsFixed.length < 1) return [side, 0];\n\n const sum = columnsFixed.reduce((acc, column) => acc + column.calculatedWidth, 0);\n return [side, `${sum}px`];\n};\n"],"mappings":"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"}
|
package/lib/esm/utils.mjs
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
var getScrollOffsetValue = function getScrollOffsetValue2(columns) {
|
|
2
|
-
return columns.reduce(function(acc, column) {
|
|
3
|
-
if (column.fixed === "left") {
|
|
4
|
-
acc[0] += column.calculatedWidth;
|
|
5
|
-
}
|
|
6
|
-
if (column.fixed === "right") {
|
|
7
|
-
acc[1] += column.calculatedWidth;
|
|
8
|
-
}
|
|
9
|
-
return acc;
|
|
10
|
-
}, [0, 0]);
|
|
11
|
-
};
|
|
12
|
-
var getFixedStyle = function getFixedStyle2(cell, columns) {
|
|
13
|
-
var side = cell.fixed;
|
|
14
|
-
if (!side) return [void 0, void 0];
|
|
15
|
-
var names = cell.name.split("/");
|
|
16
|
-
var nameSideMap = {
|
|
17
|
-
left: names[0],
|
|
18
|
-
right: names[names.length - 1]
|
|
19
|
-
};
|
|
20
|
-
var name = nameSideMap[side];
|
|
21
|
-
var index = columns.findIndex(function(column) {
|
|
22
|
-
return column.name === name;
|
|
23
|
-
});
|
|
24
|
-
if (index === -1) return [void 0, void 0];
|
|
25
|
-
var startIndexSideMap = {
|
|
26
|
-
left: 0,
|
|
27
|
-
right: index + 1
|
|
28
|
-
};
|
|
29
|
-
var endIndexSideMap = {
|
|
30
|
-
left: index,
|
|
31
|
-
right: columns.length
|
|
32
|
-
};
|
|
33
|
-
var columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
|
|
34
|
-
if (columnsFixed.length < 1) return [side, 0];
|
|
35
|
-
var sum = columnsFixed.reduce(function(acc, column) {
|
|
36
|
-
return acc + column.calculatedWidth;
|
|
37
|
-
}, 0);
|
|
38
|
-
return [side, "".concat(sum, "px")];
|
|
39
|
-
};
|
|
40
|
-
export {
|
|
41
|
-
getFixedStyle,
|
|
42
|
-
getScrollOffsetValue
|
|
43
|
-
};
|
package/lib/types/utils.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { DTColumn } from './components/Head/Column.types';
|
|
2
|
-
export declare const getScrollOffsetValue: (columns: DTColumn[]) => [leftOffset: number, rightOffset: number];
|
|
3
|
-
export declare const createCssVarForWidth: (name: string) => string;
|
|
4
|
-
/**
|
|
5
|
-
* todo: Remove after v16
|
|
6
|
-
*/
|
|
7
|
-
export declare const flattenColumns: (columns: any[]) => any;
|
|
8
|
-
export declare const getFixedStyle: (cell: Pick<DTColumn, 'name' | 'fixed'>, columns: DTColumn[]) => [side: "left" | "right", style: string | number] | [side: undefined, style: undefined];
|