@astral/ui 4.45.0 → 4.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ComplianceStatus/ComplianceStatus.d.ts +1 -43
- package/components/ComplianceStatus/ComplianceStatus.js +17 -2
- package/components/ComplianceStatus/constants.d.ts +14 -0
- package/components/ComplianceStatus/constants.js +18 -0
- package/components/ComplianceStatus/index.d.ts +2 -1
- package/components/ComplianceStatus/index.js +1 -1
- package/components/ComplianceStatus/public.d.ts +2 -1
- package/components/ComplianceStatus/public.js +1 -1
- package/components/ComplianceStatus/styles.d.ts +0 -5
- package/components/ComplianceStatus/styles.js +21 -3
- package/components/ComplianceStatus/types.d.ts +42 -0
- package/components/ComplianceStatus/types.js +1 -0
- package/components/DataGrid/Body/Body.d.ts +1 -98
- package/components/DataGrid/Body/Body.js +3 -15
- package/components/DataGrid/Body/index.d.ts +1 -0
- package/components/DataGrid/Body/index.js +1 -0
- package/components/DataGrid/Body/types.d.ts +110 -0
- package/components/DataGrid/Body/types.js +1 -0
- package/components/DataGrid/DataGrid.js +30 -5
- package/components/DataGrid/Head/Head.d.ts +4 -0
- package/components/DataGrid/Head/Head.js +3 -2
- package/components/DataGrid/Loader/Loader.js +2 -2
- package/components/DataGrid/Loader/styles.js +4 -2
- package/components/DataGrid/PinnedSections/PinnedSections.d.ts +35 -0
- package/components/DataGrid/PinnedSections/PinnedSections.js +11 -0
- package/components/DataGrid/PinnedSections/Section/Section.d.ts +3 -0
- package/components/DataGrid/PinnedSections/Section/Section.js +17 -0
- package/components/DataGrid/PinnedSections/Section/index.d.ts +1 -0
- package/components/DataGrid/PinnedSections/Section/index.js +1 -0
- package/components/DataGrid/PinnedSections/Section/styles.d.ts +5 -0
- package/components/DataGrid/PinnedSections/Section/styles.js +100 -0
- package/components/DataGrid/PinnedSections/Section/types.d.ts +26 -0
- package/components/DataGrid/PinnedSections/Section/types.js +1 -0
- package/components/DataGrid/PinnedSections/Section/useLogic/useLogic.d.ts +9 -0
- package/components/DataGrid/PinnedSections/Section/useLogic/useLogic.js +16 -0
- package/components/DataGrid/PinnedSections/index.d.ts +1 -0
- package/components/DataGrid/PinnedSections/index.js +1 -0
- package/components/DataGrid/PinnedSections/styles.d.ts +7 -0
- package/components/DataGrid/PinnedSections/styles.js +18 -0
- package/components/DataGrid/PinnedSections/types.d.ts +5 -0
- package/components/DataGrid/PinnedSections/types.js +1 -0
- package/components/DataGrid/PinnedSections/useLogic/index.js +1 -0
- package/components/DataGrid/PinnedSections/useLogic/useLogic.d.ts +9 -0
- package/components/DataGrid/PinnedSections/useLogic/useLogic.js +19 -0
- package/components/DataGrid/Row/NestedChildren/NestedChildren.js +2 -2
- package/components/DataGrid/Row/Row.d.ts +1 -94
- package/components/DataGrid/Row/Row.js +23 -8
- package/components/DataGrid/Row/constants.d.ts +3 -1
- package/components/DataGrid/Row/constants.js +3 -1
- package/components/DataGrid/Row/styles.js +9 -8
- package/components/DataGrid/Row/types.d.ts +118 -0
- package/components/DataGrid/Row/types.js +1 -0
- package/components/DataGrid/Row/useLogic/useLogic.d.ts +3 -2
- package/components/DataGrid/Row/useLogic/useLogic.js +14 -2
- package/components/DataGrid/constants.d.ts +7 -0
- package/components/DataGrid/constants.js +7 -0
- package/components/DataGrid/hooks/index.d.ts +1 -0
- package/components/DataGrid/hooks/index.js +1 -0
- package/components/DataGrid/hooks/useRowHover/index.d.ts +1 -0
- package/components/DataGrid/hooks/useRowHover/index.js +1 -0
- package/components/DataGrid/hooks/useRowHover/useRowHover.d.ts +15 -0
- package/components/DataGrid/hooks/useRowHover/useRowHover.js +93 -0
- package/components/DataGrid/styles.js +17 -0
- package/components/DataGrid/types.d.ts +4 -0
- package/components/DataGrid/useLogic/hooks/index.d.ts +2 -0
- package/components/DataGrid/useLogic/hooks/index.js +2 -0
- package/components/DataGrid/useLogic/hooks/useClassnames/index.d.ts +1 -0
- package/components/DataGrid/useLogic/hooks/useClassnames/index.js +1 -0
- package/components/DataGrid/useLogic/hooks/useClassnames/useClassnames.d.ts +12 -0
- package/components/DataGrid/useLogic/hooks/useClassnames/useClassnames.js +14 -0
- package/components/DataGrid/useLogic/hooks/usePinnedColumns/index.d.ts +1 -0
- package/components/DataGrid/useLogic/hooks/usePinnedColumns/index.js +1 -0
- package/components/DataGrid/useLogic/hooks/usePinnedColumns/usePinnedColumns.d.ts +18 -0
- package/components/DataGrid/useLogic/hooks/usePinnedColumns/usePinnedColumns.js +43 -0
- package/components/DataGrid/useLogic/useLogic.d.ts +30 -4
- package/components/DataGrid/useLogic/useLogic.js +55 -16
- package/components/DataGrid/useLogic/utils/getColumnSections/getColumnSections.d.ts +17 -0
- package/components/DataGrid/useLogic/utils/getColumnSections/getColumnSections.js +45 -0
- package/components/DataGrid/useLogic/utils/getColumnSections/index.d.ts +1 -0
- package/components/DataGrid/useLogic/utils/getColumnSections/index.js +1 -0
- package/components/DataGrid/useLogic/utils/index.d.ts +2 -1
- package/components/DataGrid/useLogic/utils/index.js +2 -1
- package/components/DataGrid/useLogic/utils/syncRowsHeight/index.d.ts +1 -0
- package/components/DataGrid/useLogic/utils/syncRowsHeight/index.js +1 -0
- package/components/DataGrid/useLogic/utils/syncRowsHeight/syncRowsHeight.d.ts +5 -0
- package/components/DataGrid/useLogic/utils/syncRowsHeight/syncRowsHeight.js +21 -0
- package/components/DataGrid/utils/index.d.ts +1 -0
- package/components/DataGrid/utils/index.js +1 -0
- package/components/DataGridInfinite/useLogic/useLogic.js +1 -1
- package/node/components/ComplianceStatus/ComplianceStatus.d.ts +1 -43
- package/node/components/ComplianceStatus/ComplianceStatus.js +17 -2
- package/node/components/ComplianceStatus/constants.d.ts +14 -0
- package/node/components/ComplianceStatus/constants.js +21 -0
- package/node/components/ComplianceStatus/index.d.ts +2 -1
- package/node/components/ComplianceStatus/public.d.ts +2 -1
- package/node/components/ComplianceStatus/styles.d.ts +0 -5
- package/node/components/ComplianceStatus/styles.js +21 -3
- package/node/components/ComplianceStatus/types.d.ts +42 -0
- package/node/components/ComplianceStatus/types.js +2 -0
- package/node/components/DataGrid/Body/Body.d.ts +1 -98
- package/node/components/DataGrid/Body/Body.js +3 -15
- package/node/components/DataGrid/Body/index.d.ts +1 -0
- package/node/components/DataGrid/Body/index.js +1 -0
- package/node/components/DataGrid/Body/types.d.ts +110 -0
- package/node/components/DataGrid/Body/types.js +2 -0
- package/node/components/DataGrid/DataGrid.js +29 -4
- package/node/components/DataGrid/Head/Head.d.ts +4 -0
- package/node/components/DataGrid/Head/Head.js +3 -2
- package/node/components/DataGrid/Loader/Loader.js +1 -1
- package/node/components/DataGrid/Loader/styles.js +4 -2
- package/node/components/DataGrid/PinnedSections/PinnedSections.d.ts +35 -0
- package/node/components/DataGrid/PinnedSections/PinnedSections.js +15 -0
- package/node/components/DataGrid/PinnedSections/Section/Section.d.ts +3 -0
- package/node/components/DataGrid/PinnedSections/Section/Section.js +21 -0
- package/node/components/DataGrid/PinnedSections/Section/index.d.ts +1 -0
- package/node/components/DataGrid/PinnedSections/Section/index.js +17 -0
- package/node/components/DataGrid/PinnedSections/Section/styles.d.ts +5 -0
- package/node/components/DataGrid/PinnedSections/Section/styles.js +103 -0
- package/node/components/DataGrid/PinnedSections/Section/types.d.ts +26 -0
- package/node/components/DataGrid/PinnedSections/Section/types.js +2 -0
- package/node/components/DataGrid/PinnedSections/Section/useLogic/index.d.ts +1 -0
- package/node/components/DataGrid/PinnedSections/Section/useLogic/useLogic.d.ts +9 -0
- package/node/components/DataGrid/PinnedSections/Section/useLogic/useLogic.js +20 -0
- package/node/components/DataGrid/PinnedSections/index.d.ts +1 -0
- package/node/components/DataGrid/PinnedSections/index.js +17 -0
- package/node/components/DataGrid/PinnedSections/styles.d.ts +7 -0
- package/node/components/DataGrid/PinnedSections/styles.js +21 -0
- package/node/components/DataGrid/PinnedSections/types.d.ts +5 -0
- package/node/components/DataGrid/PinnedSections/types.js +2 -0
- package/node/components/DataGrid/PinnedSections/useLogic/index.d.ts +1 -0
- package/node/components/DataGrid/PinnedSections/useLogic/index.js +17 -0
- package/node/components/DataGrid/PinnedSections/useLogic/useLogic.d.ts +9 -0
- package/node/components/DataGrid/PinnedSections/useLogic/useLogic.js +23 -0
- package/node/components/DataGrid/Row/NestedChildren/NestedChildren.js +1 -1
- package/node/components/DataGrid/Row/Row.d.ts +1 -94
- package/node/components/DataGrid/Row/Row.js +23 -8
- package/node/components/DataGrid/Row/constants.d.ts +3 -1
- package/node/components/DataGrid/Row/constants.js +4 -2
- package/node/components/DataGrid/Row/styles.js +8 -7
- package/node/components/DataGrid/Row/types.d.ts +118 -0
- package/node/components/DataGrid/Row/types.js +2 -0
- package/node/components/DataGrid/Row/useLogic/useLogic.d.ts +3 -2
- package/node/components/DataGrid/Row/useLogic/useLogic.js +13 -1
- package/node/components/DataGrid/constants.d.ts +7 -0
- package/node/components/DataGrid/constants.js +7 -0
- package/node/components/DataGrid/hooks/index.d.ts +1 -0
- package/node/components/DataGrid/hooks/index.js +17 -0
- package/node/components/DataGrid/hooks/useRowHover/index.d.ts +1 -0
- package/node/components/DataGrid/hooks/useRowHover/index.js +17 -0
- package/node/components/DataGrid/hooks/useRowHover/useRowHover.d.ts +15 -0
- package/node/components/DataGrid/hooks/useRowHover/useRowHover.js +97 -0
- package/node/components/DataGrid/styles.js +17 -0
- package/node/components/DataGrid/types.d.ts +4 -0
- package/node/components/DataGrid/useLogic/hooks/index.d.ts +2 -0
- package/node/components/DataGrid/useLogic/hooks/index.js +18 -0
- package/node/components/DataGrid/useLogic/hooks/useClassnames/index.d.ts +1 -0
- package/node/components/DataGrid/useLogic/hooks/useClassnames/index.js +17 -0
- package/node/components/DataGrid/useLogic/hooks/useClassnames/useClassnames.d.ts +12 -0
- package/node/components/DataGrid/useLogic/hooks/useClassnames/useClassnames.js +18 -0
- package/node/components/DataGrid/useLogic/hooks/usePinnedColumns/index.d.ts +1 -0
- package/node/components/DataGrid/useLogic/hooks/usePinnedColumns/index.js +17 -0
- package/node/components/DataGrid/useLogic/hooks/usePinnedColumns/usePinnedColumns.d.ts +18 -0
- package/node/components/DataGrid/useLogic/hooks/usePinnedColumns/usePinnedColumns.js +47 -0
- package/node/components/DataGrid/useLogic/useLogic.d.ts +30 -4
- package/node/components/DataGrid/useLogic/useLogic.js +53 -14
- package/node/components/DataGrid/useLogic/utils/getColumnSections/getColumnSections.d.ts +17 -0
- package/node/components/DataGrid/useLogic/utils/getColumnSections/getColumnSections.js +50 -0
- package/node/components/DataGrid/useLogic/utils/getColumnSections/index.d.ts +1 -0
- package/node/components/DataGrid/useLogic/utils/getColumnSections/index.js +17 -0
- package/node/components/DataGrid/useLogic/utils/index.d.ts +2 -1
- package/node/components/DataGrid/useLogic/utils/index.js +5 -3
- package/node/components/DataGrid/useLogic/utils/syncRowsHeight/index.d.ts +1 -0
- package/node/components/DataGrid/useLogic/utils/syncRowsHeight/index.js +17 -0
- package/node/components/DataGrid/useLogic/utils/syncRowsHeight/syncRowsHeight.d.ts +5 -0
- package/node/components/DataGrid/useLogic/utils/syncRowsHeight/syncRowsHeight.js +25 -0
- package/node/components/DataGrid/utils/index.d.ts +1 -0
- package/node/components/DataGrid/utils/index.js +3 -1
- package/node/components/DataGridInfinite/useLogic/useLogic.js +1 -1
- package/package.json +2 -1
- package/components/DataGrid/Body/useLogic/useLogic.d.ts +0 -12
- package/components/DataGrid/Body/useLogic/useLogic.js +0 -11
- package/node/components/DataGrid/Body/useLogic/useLogic.d.ts +0 -12
- package/node/components/DataGrid/Body/useLogic/useLogic.js +0 -15
- /package/components/DataGrid/{Body → PinnedSections/Section}/useLogic/index.d.ts +0 -0
- /package/components/DataGrid/{Body → PinnedSections/Section}/useLogic/index.js +0 -0
- /package/{node/components/DataGrid/Body → components/DataGrid/PinnedSections}/useLogic/index.d.ts +0 -0
- /package/components/DataGrid/{useLogic/utils → utils}/getGridTemplateColumns/getGridTemplateColumns.d.ts +0 -0
- /package/components/DataGrid/{useLogic/utils → utils}/getGridTemplateColumns/getGridTemplateColumns.js +0 -0
- /package/components/DataGrid/{useLogic/utils → utils}/getGridTemplateColumns/index.d.ts +0 -0
- /package/components/DataGrid/{useLogic/utils → utils}/getGridTemplateColumns/index.js +0 -0
- /package/node/components/DataGrid/{Body → PinnedSections/Section}/useLogic/index.js +0 -0
- /package/node/components/DataGrid/{useLogic/utils → utils}/getGridTemplateColumns/getGridTemplateColumns.d.ts +0 -0
- /package/node/components/DataGrid/{useLogic/utils → utils}/getGridTemplateColumns/getGridTemplateColumns.js +0 -0
- /package/node/components/DataGrid/{useLogic/utils → utils}/getGridTemplateColumns/index.d.ts +0 -0
- /package/node/components/DataGrid/{useLogic/utils → utils}/getGridTemplateColumns/index.js +0 -0
|
@@ -41,11 +41,13 @@ exports.StyledDivider = (0, styled_1.styled)(Divider_1.Divider) `
|
|
|
41
41
|
border-width: 1px;
|
|
42
42
|
`;
|
|
43
43
|
exports.LoaderWrapper = styled_1.styled.div `
|
|
44
|
-
|
|
44
|
+
position: sticky;
|
|
45
|
+
z-index: ${({ theme }) => theme.zIndex.fab};
|
|
46
|
+
left: 0;
|
|
45
47
|
`;
|
|
46
48
|
exports.StyledLinearProgress = (0, styled_1.styled)(LinearProgress_1.default) `
|
|
47
49
|
height: 2px;
|
|
48
|
-
|
|
50
|
+
|
|
49
51
|
.${LinearProgress_1.linearProgressClasses.barColorPrimary} {
|
|
50
52
|
background-color: ${({ theme }) => theme.palette.primary[800]};
|
|
51
53
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type BodyProps } from '../Body';
|
|
2
|
+
import { type HeadProps } from '../Head';
|
|
3
|
+
import { type CellValue, type DataGridRow } from '../types';
|
|
4
|
+
import type { PinnedSection } from './types';
|
|
5
|
+
export type PinnedSectionsProps<TData extends Record<string, CellValue> = DataGridRow, TSortField extends keyof TData = keyof TData> = {
|
|
6
|
+
/**
|
|
7
|
+
* Конфигурация закрепленных секций
|
|
8
|
+
*/
|
|
9
|
+
sections: PinnedSection<TData>[];
|
|
10
|
+
/**
|
|
11
|
+
* Конфигурация ширины колонок
|
|
12
|
+
*/
|
|
13
|
+
gridColumns: string;
|
|
14
|
+
/**
|
|
15
|
+
* Класс применяемый для корневого элемента
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Если true, таблица будет заблокирована для взаимодействия
|
|
20
|
+
*/
|
|
21
|
+
isDisabled?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Параметры предназначены для конфигурации таблицы
|
|
24
|
+
*/
|
|
25
|
+
bodyProps: Omit<BodyProps<TData>, 'gridColumns' | 'columns'>;
|
|
26
|
+
/**
|
|
27
|
+
* Параметры предназначены для конфигурации шапки таблицы
|
|
28
|
+
*/
|
|
29
|
+
headProps: Omit<HeadProps<TData, TSortField>, 'columns' | 'gridColumns'>;
|
|
30
|
+
/**
|
|
31
|
+
* Флаг для отображения placeholder при отсутствии данных
|
|
32
|
+
*/
|
|
33
|
+
isNoData?: boolean;
|
|
34
|
+
};
|
|
35
|
+
export declare const PinnedSections: <TData extends Record<string, unknown> = DataGridRow, TSortField extends keyof TData = keyof TData>({ gridColumns, className, isDisabled, headProps, bodyProps, sections, isNoData, }: PinnedSectionsProps<TData, TSortField>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PinnedSections = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const getInertProps_1 = require("../../utils/getInertProps");
|
|
6
|
+
const Section_1 = require("./Section");
|
|
7
|
+
const styles_1 = require("./styles");
|
|
8
|
+
const useLogic_1 = require("./useLogic");
|
|
9
|
+
const PinnedSections = ({ gridColumns, className, isDisabled, headProps, bodyProps, sections, isNoData, }) => {
|
|
10
|
+
const { pinnedContainerStyles, sectionOffsets } = (0, useLogic_1.useLogic)({ sections });
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)(styles_1.PinnedColumnsContainer, { "$gridColumns": gridColumns, className: className, ...(0, getInertProps_1.getInertProps)(isDisabled), style: pinnedContainerStyles, children: sections.map(({ columns, position }) => {
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(Section_1.Section, { columns: columns, position: position, sectionOffset: sectionOffsets[position], bodyProps: bodyProps, headProps: headProps, isNoData: isNoData }, position));
|
|
13
|
+
}) }));
|
|
14
|
+
};
|
|
15
|
+
exports.PinnedSections = PinnedSections;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DataGridRow } from '../../types';
|
|
2
|
+
import type { SectionProps } from './types';
|
|
3
|
+
export declare const Section: <TData extends Record<string, unknown> = DataGridRow, TSortField extends keyof TData = keyof TData>({ columns, position, isNoData, headProps, bodyProps, sectionOffset, }: SectionProps<TData, TSortField>) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Section = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const Body_1 = require("../../Body");
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
7
|
+
const Head_1 = require("../../Head");
|
|
8
|
+
const styles_1 = require("./styles");
|
|
9
|
+
const useLogic_1 = require("./useLogic");
|
|
10
|
+
const Section = ({ columns, position, isNoData, headProps, bodyProps, sectionOffset, }) => {
|
|
11
|
+
const { classnames, gridColumns, shouldNotRenderSection } = (0, useLogic_1.useLogic)({
|
|
12
|
+
position,
|
|
13
|
+
isNoData,
|
|
14
|
+
columns,
|
|
15
|
+
});
|
|
16
|
+
if (shouldNotRenderSection) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return ((0, jsx_runtime_1.jsxs)(styles_1.DataGridSection, { className: classnames, children: [!isNoData && ((0, jsx_runtime_1.jsx)(Head_1.Head, { ...headProps, columns: columns, gridColumns: gridColumns, sectionOffset: sectionOffset })), (0, jsx_runtime_1.jsx)(Body_1.Body, { ...bodyProps, columns: columns, gridColumns: gridColumns, sectionOffset: sectionOffset, className: constants_1.dataGridClassnames.body })] }));
|
|
20
|
+
};
|
|
21
|
+
exports.Section = Section;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Section';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Section"), exports);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const DataGridSection: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataGridSection = void 0;
|
|
4
|
+
const styled_1 = require("../../../styled");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
exports.DataGridSection = styled_1.styled.div `
|
|
7
|
+
display: flex;
|
|
8
|
+
grid-column: calc(var(--left-columns-count) + 1) / calc(var(--right-columns-count) * -1 - 1);
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
|
|
11
|
+
min-width: 0;
|
|
12
|
+
|
|
13
|
+
background-color: ${({ theme }) => theme.palette.background.default};
|
|
14
|
+
|
|
15
|
+
& .${constants_1.dataGridClassnames.header} {
|
|
16
|
+
position: sticky;
|
|
17
|
+
z-index: ${({ theme }) => theme.zIndex.fab - 1};
|
|
18
|
+
top: 0;
|
|
19
|
+
|
|
20
|
+
background-color: ${({ theme }) => theme.palette.background.default};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&.${constants_1.dataGridClassnames.pinnedSectionNoData} {
|
|
24
|
+
grid-column: 1 / -1;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.${constants_1.dataGridClassnames.leftPinnedSection} {
|
|
28
|
+
position: sticky;
|
|
29
|
+
z-index: ${({ theme }) => theme.zIndex.fab};
|
|
30
|
+
left: 0;
|
|
31
|
+
|
|
32
|
+
container-name: data-grid-left-pinned-section;
|
|
33
|
+
container-type: scroll-state;
|
|
34
|
+
grid-column: 1 / calc(var(--left-columns-count) + 1);
|
|
35
|
+
|
|
36
|
+
&::after {
|
|
37
|
+
content: '';
|
|
38
|
+
|
|
39
|
+
position: absolute;
|
|
40
|
+
z-index: ${({ theme }) => theme.zIndex.fab};
|
|
41
|
+
top: 0;
|
|
42
|
+
right: 0;
|
|
43
|
+
|
|
44
|
+
height: 100%;
|
|
45
|
+
|
|
46
|
+
border-right: 1px solid ${({ theme }) => theme.palette.grey[300]};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
& .${constants_1.dataGridClassnames.header} {
|
|
50
|
+
left: 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
/* Причина игнора: прогрессивное улучшение */
|
|
55
|
+
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
56
|
+
@container data-grid-left-pinned-section scroll-state(stuck: left) {
|
|
57
|
+
&::after {
|
|
58
|
+
/* Ширина видимой части тени */
|
|
59
|
+
width: 4px;
|
|
60
|
+
|
|
61
|
+
box-shadow: 3px 0 4px 0 #63636326;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&.${constants_1.dataGridClassnames.rightPinnedSection} {
|
|
67
|
+
position: sticky;
|
|
68
|
+
z-index: ${({ theme }) => theme.zIndex.fab};
|
|
69
|
+
right: 0;
|
|
70
|
+
|
|
71
|
+
container-name: data-grid-right-pinned-section;
|
|
72
|
+
container-type: scroll-state;
|
|
73
|
+
grid-column: calc(var(--right-columns-count) * -1 - 1) / -1;
|
|
74
|
+
|
|
75
|
+
&::after {
|
|
76
|
+
content: '';
|
|
77
|
+
|
|
78
|
+
position: absolute;
|
|
79
|
+
z-index: ${({ theme }) => theme.zIndex.fab};
|
|
80
|
+
top: 0;
|
|
81
|
+
left: 0;
|
|
82
|
+
|
|
83
|
+
height: 100%;
|
|
84
|
+
|
|
85
|
+
border-left: 1px solid ${({ theme }) => theme.palette.grey[300]};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
& .${constants_1.dataGridClassnames.header} {
|
|
89
|
+
right: 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Причина игнора: прогрессивное улучшение */
|
|
93
|
+
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
94
|
+
@container data-grid-right-pinned-section scroll-state(stuck: right) {
|
|
95
|
+
&::after {
|
|
96
|
+
/* Ширина видимой части тени */
|
|
97
|
+
width: 4px;
|
|
98
|
+
|
|
99
|
+
box-shadow: -3px 0 4px 0 #63636326;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
`;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type BodyProps } from '../../Body';
|
|
2
|
+
import { type HeadProps } from '../../Head';
|
|
3
|
+
import { type CellValue, type DataGridColumns, type DataGridRow } from '../../types';
|
|
4
|
+
export type SectionProps<TData extends Record<string, CellValue> = DataGridRow, TSortField extends keyof TData = keyof TData> = {
|
|
5
|
+
/**
|
|
6
|
+
* Параметры предназначены для конфигурации таблицы
|
|
7
|
+
*/
|
|
8
|
+
bodyProps: Omit<BodyProps<TData>, 'gridColumns' | 'columns'>;
|
|
9
|
+
/**
|
|
10
|
+
* Параметры предназначены для конфигурации шапки таблицы
|
|
11
|
+
*/
|
|
12
|
+
headProps: Omit<HeadProps<TData, TSortField>, 'columns' | 'gridColumns'>;
|
|
13
|
+
/**
|
|
14
|
+
* Флаг для отображения placeholder при отсутствии данных
|
|
15
|
+
*/
|
|
16
|
+
isNoData?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Конфигурация колонок для секции
|
|
19
|
+
*/
|
|
20
|
+
columns: DataGridColumns<TData>[];
|
|
21
|
+
/**
|
|
22
|
+
* Позиция секции
|
|
23
|
+
*/
|
|
24
|
+
position: 'left' | 'center' | 'right';
|
|
25
|
+
sectionOffset: number;
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLogic';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CellValue, DataGridRow } from '../../..//types';
|
|
2
|
+
import { type SectionProps } from '../types';
|
|
3
|
+
type UseLogicParams<TData extends Record<string, CellValue> = DataGridRow> = Pick<SectionProps<TData>, 'isNoData' | 'position' | 'columns'>;
|
|
4
|
+
export declare const useLogic: <TData extends Record<string, unknown> = DataGridRow>({ position, isNoData, columns, }: UseLogicParams<TData>) => {
|
|
5
|
+
classnames: string;
|
|
6
|
+
gridColumns: string;
|
|
7
|
+
shouldNotRenderSection: boolean;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useLogic = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const classNames_1 = require("../../../../utils/classNames");
|
|
6
|
+
const constants_1 = require("../../../constants");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
const useLogic = ({ position, isNoData, columns, }) => {
|
|
9
|
+
const classnames = (0, react_1.useMemo)(() => (0, classNames_1.classNames)({
|
|
10
|
+
[constants_1.dataGridClassnames.leftPinnedSection]: position === 'left',
|
|
11
|
+
[constants_1.dataGridClassnames.rightPinnedSection]: position === 'right',
|
|
12
|
+
[constants_1.dataGridClassnames.pinnedSectionNoData]: isNoData && position === 'center',
|
|
13
|
+
}), []);
|
|
14
|
+
const shouldNotRenderSection = (isNoData && position !== 'center') || !columns || columns.length === 0;
|
|
15
|
+
const gridColumns = shouldNotRenderSection
|
|
16
|
+
? ''
|
|
17
|
+
: (0, utils_1.getGridTemplateColumns)(columns);
|
|
18
|
+
return { classnames, gridColumns, shouldNotRenderSection };
|
|
19
|
+
};
|
|
20
|
+
exports.useLogic = useLogic;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './PinnedSections';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./PinnedSections"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const PinnedColumnsContainer: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
|
+
} & {
|
|
6
|
+
$gridColumns: string;
|
|
7
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PinnedColumnsContainer = void 0;
|
|
4
|
+
const styled_1 = require("../../styled");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
exports.PinnedColumnsContainer = styled_1.styled.div `
|
|
7
|
+
overflow: auto;
|
|
8
|
+
display: grid;
|
|
9
|
+
grid-template-columns: ${({ $gridColumns }) => $gridColumns};
|
|
10
|
+
|
|
11
|
+
width: 100%;
|
|
12
|
+
height: 100%;
|
|
13
|
+
|
|
14
|
+
&.${constants_1.dataGridClassnames.disabled} {
|
|
15
|
+
pointer-events: none;
|
|
16
|
+
|
|
17
|
+
background: ${({ theme }) => theme.palette.background.element};
|
|
18
|
+
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
19
|
+
mix-blend-mode: luminosity;
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLogic';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./useLogic"), exports);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type CSSProperties } from 'react';
|
|
2
|
+
import { type CellValue, type DataGridRow } from '../../types';
|
|
3
|
+
import { type PinnedSectionsProps } from '../PinnedSections';
|
|
4
|
+
type UseLogicParams<TData extends Record<string, CellValue> = DataGridRow> = Pick<PinnedSectionsProps<TData>, 'sections'>;
|
|
5
|
+
export declare const useLogic: <TData extends Record<string, unknown> = DataGridRow>({ sections, }: UseLogicParams<TData>) => {
|
|
6
|
+
pinnedContainerStyles: CSSProperties;
|
|
7
|
+
sectionOffsets: Record<string, number>;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useLogic = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const useLogic = ({ sections, }) => {
|
|
6
|
+
const pinnedContainerStyles = {
|
|
7
|
+
'--left-columns-count': sections.find((section) => section.position === 'left')?.columns
|
|
8
|
+
?.length ?? 0,
|
|
9
|
+
'--right-columns-count': sections.find((section) => section.position === 'right')?.columns
|
|
10
|
+
?.length ?? 0,
|
|
11
|
+
};
|
|
12
|
+
const sectionOffsets = (0, react_1.useMemo)(() => {
|
|
13
|
+
const offsets = {};
|
|
14
|
+
let currentOffset = 0;
|
|
15
|
+
sections.forEach((section) => {
|
|
16
|
+
offsets[section.position] = currentOffset;
|
|
17
|
+
currentOffset += section.columns?.length ?? 0;
|
|
18
|
+
});
|
|
19
|
+
return offsets;
|
|
20
|
+
}, [sections]);
|
|
21
|
+
return { pinnedContainerStyles, sectionOffsets };
|
|
22
|
+
};
|
|
23
|
+
exports.useLogic = useLogic;
|
|
@@ -30,7 +30,7 @@ exports.NestedChildren = (0, react_1.memo)((props) => {
|
|
|
30
30
|
options,
|
|
31
31
|
nestedChildren: children,
|
|
32
32
|
level: nextLevel,
|
|
33
|
-
className: constants_1.
|
|
33
|
+
className: constants_1.dataGridRowClassnames.hidden,
|
|
34
34
|
});
|
|
35
35
|
}) }) }), isShowMoreButton && ((0, jsx_runtime_1.jsx)(styles_1.MoreButtonRow, { "$level": nextLevel, "$isShowConnector": isShowConnector, "$gridColumns": gridColumns, children: (0, jsx_runtime_1.jsx)(styles_1.MoreButton, { "$moreButtonColumnPosition": moreButtonColumnPosition, variant: "link", onClick: handleToggleShowAllChildren, children: isShowAllChildren ? 'Скрыть' : 'Показать все' }) }))] }))] }) }));
|
|
36
36
|
});
|
|
@@ -1,95 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { type Variant } from '../enums';
|
|
3
|
-
import type { CellValue, DataGridColumns, DataGridRowOptions } from '../types';
|
|
4
|
-
export type RowProps<TData extends Record<string, CellValue>> = {
|
|
5
|
-
/**
|
|
6
|
-
* Название класса, применяется к корневому компоненту
|
|
7
|
-
*/
|
|
8
|
-
className?: string;
|
|
9
|
-
/**
|
|
10
|
-
* Поле, которое будет использоваться в качестве ключа
|
|
11
|
-
*/
|
|
12
|
-
keyId: keyof TData;
|
|
13
|
-
/**
|
|
14
|
-
* Данные строки для отображения
|
|
15
|
-
*/
|
|
16
|
-
row: TData;
|
|
17
|
-
/**
|
|
18
|
-
* Конфигурация колонок для таблицы
|
|
19
|
-
*/
|
|
20
|
-
columns: DataGridColumns<TData>[];
|
|
21
|
-
/**
|
|
22
|
-
* Вариант отображения вложенных элементов
|
|
23
|
-
*/
|
|
24
|
-
variant: `${Variant}`;
|
|
25
|
-
/**
|
|
26
|
-
* Конфигурация ширины колонок
|
|
27
|
-
*/
|
|
28
|
-
gridColumns: string;
|
|
29
|
-
/**
|
|
30
|
-
* Уровень вложенности в дереве
|
|
31
|
-
*/
|
|
32
|
-
level: number;
|
|
33
|
-
/**
|
|
34
|
-
* Вложенные элементы
|
|
35
|
-
*/
|
|
36
|
-
nestedChildren: Array<TData & {
|
|
37
|
-
options?: DataGridRowOptions<TData>;
|
|
38
|
-
}>;
|
|
39
|
-
/**
|
|
40
|
-
* Идентификатор активного элемента массива rows. Выделяет активную строку в таблице
|
|
41
|
-
*/
|
|
42
|
-
activeRowId?: string;
|
|
43
|
-
/**
|
|
44
|
-
* Если true, то дерево будет раскрыто по умолчанию
|
|
45
|
-
*/
|
|
46
|
-
isInitialExpanded: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Уровень раскрытия дерева по умолчанию, при isInitialExpanded=true
|
|
49
|
-
*/
|
|
50
|
-
expandedLevel: number;
|
|
51
|
-
/**
|
|
52
|
-
* Количество отображаемых по умолчанию дочерних элементов
|
|
53
|
-
*/
|
|
54
|
-
initialVisibleChildrenCount: number;
|
|
55
|
-
/**
|
|
56
|
-
* Номер колонки, в которой будет расположена кнопка "Показать все"
|
|
57
|
-
* Работает только для `variant="subrows"`
|
|
58
|
-
*/
|
|
59
|
-
moreButtonColumnPosition: number;
|
|
60
|
-
/**
|
|
61
|
-
* Если false, кнопка разворачивания элементов не показывается
|
|
62
|
-
* Работает только для `variant="subrows"`
|
|
63
|
-
*/
|
|
64
|
-
isVisibleCollapseButton: boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Если true, то будет отображаться чекбокс для выбора элемента
|
|
67
|
-
*/
|
|
68
|
-
isSelectable?: boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Флаг выбора текущей строки
|
|
71
|
-
*/
|
|
72
|
-
isSelected?: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Массив выбранных строк
|
|
75
|
-
*/
|
|
76
|
-
selectedRows?: TData[];
|
|
77
|
-
/**
|
|
78
|
-
* Заглушка для пустых ячеек (если отсутствует field и filter и renderCell)
|
|
79
|
-
* @default '-'
|
|
80
|
-
*/
|
|
81
|
-
emptyCellValue?: ReactNode;
|
|
82
|
-
/**
|
|
83
|
-
* Дополнительные настройки строки
|
|
84
|
-
*/
|
|
85
|
-
options?: DataGridRowOptions<TData>;
|
|
86
|
-
/**
|
|
87
|
-
* Обработчик выбора строки
|
|
88
|
-
*/
|
|
89
|
-
onSelectRow: (row: TData) => (event: ChangeEvent<HTMLInputElement>) => void;
|
|
90
|
-
/**
|
|
91
|
-
* Обработчик клика строки таблицы
|
|
92
|
-
*/
|
|
93
|
-
onRowClick?: (row: TData) => void;
|
|
94
|
-
};
|
|
1
|
+
import type { RowProps } from './types';
|
|
95
2
|
export declare const Row: <TData extends Record<string, unknown>>(props: RowProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -13,8 +13,8 @@ const styles_1 = require("./styles");
|
|
|
13
13
|
const useLogic_1 = require("./useLogic");
|
|
14
14
|
const utils_1 = require("./utils");
|
|
15
15
|
const RowComponent = (props) => {
|
|
16
|
-
const { isOpen, isShowConnector, childrenColumns, rowId, handleToggle, checkboxProps, rowProps, tooltipProps, nestedChildrenProps, disabled, isRenderCollapseButton, } = (0, useLogic_1.useLogic)(props);
|
|
17
|
-
const { className, row, options, variant, isSelectable, gridColumns, isInitialExpanded, expandedLevel, level, nestedChildren, initialVisibleChildrenCount, moreButtonColumnPosition, isVisibleCollapseButton, columns, emptyCellValue, selectedRows, activeRowId, keyId, onSelectRow, onRowClick,
|
|
16
|
+
const { isOpen, isShowConnector, childrenColumns, rowId, handleToggle, checkboxProps, rowProps, tooltipProps, nestedChildrenProps, disabled, isRenderCollapseButton, rowRef, } = (0, useLogic_1.useLogic)(props);
|
|
17
|
+
const { className, row, options, variant, isSelectable, gridColumns, isInitialExpanded, expandedLevel, level, nestedChildren, initialVisibleChildrenCount, moreButtonColumnPosition, isVisibleCollapseButton, columns, emptyCellValue, selectedRows, activeRowId, keyId, onSelectRow, onRowClick, sectionOffset, totalColumnsCount, registerRowElement, unregisterRowElement, onRowEnter, onRowLeave,
|
|
18
18
|
// В этот rest-оператор попадают специфичные пропсы (атрибуты) virtuoso
|
|
19
19
|
// Необходимы для DataGridInfinite
|
|
20
20
|
...selfProps } = props;
|
|
@@ -26,17 +26,26 @@ const RowComponent = (props) => {
|
|
|
26
26
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isRenderCollapseButton && ((0, jsx_runtime_1.jsx)(styles_1.CollapseCell, { children: (0, jsx_runtime_1.jsx)(styles_1.CollapseButton, { variant: "text", onClick: handleToggle, children: (0, jsx_runtime_1.jsx)(styles_1.ChevronIcon, { "$isActive": isOpen }) }) })), isSelectable && !isNotSelectable && ((0, jsx_runtime_1.jsx)(styles_1.CheckboxCell, { ...(0, getInertProps_1.getInertProps)(disabled), onClick: (event) => event.stopPropagation(), children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { ...checkboxProps }) }))] }));
|
|
27
27
|
};
|
|
28
28
|
const renderCells = (0, react_1.useCallback)(() => {
|
|
29
|
+
const lastCellGlobalIndex = (totalColumnsCount ?? columns.length) - 1;
|
|
29
30
|
const availableCellsByIndex = !isDisabledLastCell
|
|
30
|
-
? [
|
|
31
|
+
? [lastCellGlobalIndex]
|
|
31
32
|
: undefined;
|
|
32
33
|
return columns?.map((cell, index) => {
|
|
33
34
|
const cellId = `${rowId}-${index}`;
|
|
34
|
-
const
|
|
35
|
-
const
|
|
35
|
+
const globalIndex = (sectionOffset ?? 0) + index;
|
|
36
|
+
const isDisabledCell = (0, utils_1.checkIsDisabled)(disabled, availableCellsByIndex, globalIndex);
|
|
37
|
+
const isFirstCell = globalIndex === 0;
|
|
36
38
|
return ((0, jsx_runtime_1.jsx)(styles_1.CellStyled, { "$level": isFirstCell ? level : 0, row: row, cell: cell, emptyCellValue: emptyCellValue, startAdornment: isFirstCell && renderStartAdornment(), isDisabled: isDisabledCell, isHidePersonalData: cell.isHidePersonalData }, cellId));
|
|
37
39
|
});
|
|
38
|
-
}, [
|
|
39
|
-
|
|
40
|
+
}, [
|
|
41
|
+
isOpen,
|
|
42
|
+
columns,
|
|
43
|
+
disabled,
|
|
44
|
+
checkboxProps.checked,
|
|
45
|
+
totalColumnsCount,
|
|
46
|
+
sectionOffset,
|
|
47
|
+
]);
|
|
48
|
+
const renderRow = (0, react_1.useCallback)(({ key, ...nestedRowProps }) => ((0, jsx_runtime_1.jsx)(exports.Row, { keyId: keyId, ...nestedRowProps, variant: variant, isSelectable: isSelectable, selectedRows: selectedRows, gridColumns: gridColumns, isInitialExpanded: isInitialExpanded, expandedLevel: expandedLevel, initialVisibleChildrenCount: initialVisibleChildrenCount, moreButtonColumnPosition: moreButtonColumnPosition, isVisibleCollapseButton: isVisibleCollapseButton, activeRowId: activeRowId, columns: childrenColumns, onSelectRow: onSelectRow, onRowClick: onRowClick, totalColumnsCount: totalColumnsCount, registerRowElement: registerRowElement, unregisterRowElement: unregisterRowElement, onRowEnter: onRowEnter, onRowLeave: onRowLeave, sectionOffset: sectionOffset }, key)), [
|
|
40
49
|
keyId,
|
|
41
50
|
variant,
|
|
42
51
|
isSelectable,
|
|
@@ -46,12 +55,18 @@ const RowComponent = (props) => {
|
|
|
46
55
|
expandedLevel,
|
|
47
56
|
initialVisibleChildrenCount,
|
|
48
57
|
moreButtonColumnPosition,
|
|
58
|
+
sectionOffset,
|
|
59
|
+
totalColumnsCount,
|
|
49
60
|
activeRowId,
|
|
50
61
|
childrenColumns,
|
|
51
62
|
onSelectRow,
|
|
52
63
|
onRowClick,
|
|
64
|
+
registerRowElement,
|
|
65
|
+
unregisterRowElement,
|
|
66
|
+
onRowEnter,
|
|
67
|
+
onRowLeave,
|
|
53
68
|
]);
|
|
54
|
-
return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { "$level": level, "$isShowConnector": isShowConnector, className: className, ...selfProps, children: [(0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { followCursor: true, arrow: false, ...tooltipProps, children: (0, jsx_runtime_1.jsx)(styles_1.ContentWrapper, { "$level": level, "$isShowConnector": isShowConnector, "$gridColumns": gridColumns, [constants_1.DISABLE_ROW_ATTR]: disabled, ...rowProps, children: renderCells() }) }), (0, jsx_runtime_1.jsx)(NestedChildren_1.NestedChildren, { ...nestedChildrenProps, data: nestedChildren, keyId: keyId, level: level, variant: variant, gridColumns: gridColumns, initialVisibleChildrenCount: initialVisibleChildrenCount, moreButtonColumnPosition: moreButtonColumnPosition,
|
|
69
|
+
return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { "$level": level, "$isShowConnector": isShowConnector, className: className, ...selfProps, children: [(0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { followCursor: true, arrow: false, ...tooltipProps, children: (0, jsx_runtime_1.jsx)(styles_1.ContentWrapper, { "$level": level, "data-row-id": rowId, ref: rowRef, onPointerEnter: () => onRowEnter?.(rowId), onPointerLeave: (event) => onRowLeave?.(rowId, event.nativeEvent), "$isShowConnector": isShowConnector, "$gridColumns": gridColumns, [constants_1.DISABLE_ROW_ATTR]: disabled, ...rowProps, children: renderCells() }) }), (0, jsx_runtime_1.jsx)(NestedChildren_1.NestedChildren, { ...nestedChildrenProps, data: nestedChildren, keyId: keyId, level: level, variant: variant, gridColumns: gridColumns, initialVisibleChildrenCount: initialVisibleChildrenCount, moreButtonColumnPosition: moreButtonColumnPosition,
|
|
55
70
|
// biome-ignore lint/suspicious/noTsIgnore: <>
|
|
56
71
|
// @ts-ignore
|
|
57
72
|
renderRow: renderRow })] }));
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.dataGridRowClassnames = exports.DISABLE_ROW_ATTR = void 0;
|
|
4
4
|
const createUIKitClassname_1 = require("../../utils/createUIKitClassname");
|
|
5
5
|
exports.DISABLE_ROW_ATTR = 'data-row-disable';
|
|
6
|
-
exports.
|
|
6
|
+
exports.dataGridRowClassnames = {
|
|
7
7
|
hidden: (0, createUIKitClassname_1.createUIKitClassname)('data-grid__row_hidden'),
|
|
8
|
+
hover: (0, createUIKitClassname_1.createUIKitClassname)('data-grid__row_hover'),
|
|
9
|
+
hasPinnedColumns: (0, createUIKitClassname_1.createUIKitClassname)('data-grid__row_has-pinned-columns'),
|
|
8
10
|
};
|