@databiosphere/findable-ui 4.0.0 → 6.0.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/README.md +5 -1
- package/lib/components/ComponentCreator/ComponentCreator.d.ts +4 -2
- package/lib/components/ComponentCreator/ComponentCreator.js +6 -8
- package/lib/components/Detail/components/DetailViewTable/detailViewTable.d.ts +3 -3
- package/lib/components/Detail/components/DetailViewTable/detailViewTable.js +1 -1
- package/lib/components/Detail/components/Table/common/utils.d.ts +2 -2
- package/lib/components/Detail/components/Table/components/TableBody/tableBody.d.ts +3 -3
- package/lib/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.d.ts +3 -3
- package/lib/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.js +2 -4
- package/lib/components/Detail/components/Table/components/TableRows/tableRows.d.ts +2 -2
- package/lib/components/Detail/components/Table/components/TableRows/tableRows.js +2 -1
- package/lib/components/Detail/components/Table/table.d.ts +3 -4
- package/lib/components/Detail/components/Table/table.js +2 -1
- package/lib/components/Filter/components/Filters/filters.d.ts +1 -1
- package/lib/components/Index/components/Cell/cell.d.ts +3 -0
- package/lib/components/Index/components/Cell/cell.js +3 -0
- package/lib/components/Index/components/NTag/components/Tooltip/tooltip.d.ts +3 -0
- package/lib/components/Index/components/NTag/components/Tooltip/tooltip.js +3 -0
- package/lib/components/Index/components/NTag/nTag.d.ts +3 -0
- package/lib/components/Index/components/NTag/nTag.js +3 -0
- package/lib/components/Index/components/NTagCell/nTagCell.d.ts +6 -1
- package/lib/components/Index/components/NTagCell/nTagCell.js +6 -2
- package/lib/components/Layout/components/Outline/common/constants.d.ts +1 -1
- package/lib/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.d.ts +1 -1
- package/lib/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.js +13 -1
- package/lib/components/Links/components/Link/link.d.ts +3 -1
- package/lib/components/Links/components/Link/link.js +4 -4
- package/lib/components/Table/common/gridTable.styles.js +8 -2
- package/lib/components/Table/common/utils.d.ts +19 -14
- package/lib/components/Table/common/utils.js +26 -11
- package/lib/components/Table/components/DownloadEntityResults/downloadEntityResults.d.ts +3 -3
- package/lib/components/Table/components/PaginationSummary/paginationSummary.js +9 -8
- package/lib/components/Table/components/TableBody/tableBody.d.ts +3 -3
- package/lib/components/Table/components/TableCell/common/utils.d.ts +3 -3
- package/lib/components/Table/components/TableCell/components/BasicCell/basicCell.d.ts +7 -0
- package/lib/components/Table/components/TableCell/components/BasicCell/basicCell.js +55 -0
- package/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/components/Tooltip/tooltip.d.ts +6 -0
- package/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/components/Tooltip/tooltip.js +93 -0
- package/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/components/Tooltip/tooltip.styles.d.ts +5 -0
- package/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/components/Tooltip/tooltip.styles.js +16 -0
- package/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/nTag.d.ts +7 -0
- package/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/nTag.js +24 -0
- package/lib/components/Table/components/TableCell/components/NTagCell/nTagCell.d.ts +9 -0
- package/lib/components/Table/components/TableCell/components/NTagCell/nTagCell.js +53 -0
- package/lib/components/Table/components/TableCell/components/RowSelectionCell/rowSelectionCell.d.ts +2 -2
- package/lib/components/Table/components/TableHead/components/HeadSelectionCell/headSelectionCell.d.ts +2 -2
- package/lib/components/Table/components/TableHead/tableHead.d.ts +3 -3
- package/lib/components/Table/components/TableRow/tableRow.styles.d.ts +16 -0
- package/lib/components/Table/components/TableRow/tableRow.styles.js +22 -0
- package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.d.ts +3 -3
- package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.js +3 -2
- package/lib/components/Table/components/TableRows/tableRows.d.ts +3 -3
- package/lib/components/Table/components/TableRows/tableRows.js +3 -1
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/common/constants.d.ts +2 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/common/constants.js +12 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/rowDrawer.d.ts +9 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/rowDrawer.js +32 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/rowDrawer.styles.d.ts +6 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/rowDrawer.styles.js +35 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/Section/components/RowDetail/rowDetail.d.ts +12 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/Section/components/RowDetail/rowDetail.js +32 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/Section/components/RowDetail/rowDetail.styles.d.ts +5 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/Section/components/RowDetail/rowDetail.styles.js +50 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/Section/section.d.ts +7 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/Section/section.js +16 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/Section/section.styles.d.ts +5 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/components/Section/section.styles.js +17 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/rowPreview.d.ts +8 -0
- package/lib/components/Table/components/TableToolbar/components/RowPreview/rowPreview.js +14 -0
- package/lib/components/Table/components/TableToolbar/components/RowSelection/rowSelection.d.ts +3 -3
- package/lib/components/Table/components/TableToolbar/tableToolbar.d.ts +3 -3
- package/lib/components/Table/components/TableToolbar/tableToolbar.js +9 -6
- package/lib/components/Table/features/RowPreview/constants.d.ts +2 -0
- package/lib/components/Table/features/RowPreview/constants.js +45 -0
- package/lib/components/Table/features/RowPreview/entities.d.ts +22 -0
- package/lib/components/Table/features/RowPreview/entities.js +2 -0
- package/lib/components/Table/features/RowPreview/utils.d.ts +33 -0
- package/lib/components/Table/features/RowPreview/utils.js +89 -0
- package/lib/components/Table/features/entities.d.ts +7 -0
- package/lib/components/Table/features/entities.js +2 -0
- package/lib/components/Table/table.d.ts +4 -12
- package/lib/components/Table/table.js +27 -39
- package/lib/components/TableCreator/common/entities.d.ts +1 -1
- package/lib/components/TableCreator/tableCreator.d.ts +2 -9
- package/lib/components/TableCreator/tableCreator.js +4 -4
- package/lib/components/common/Button/button.d.ts +1 -1
- package/lib/components/common/Drawer/components/DrawerTitle/drawerTitle.d.ts +7 -0
- package/lib/components/common/Drawer/components/DrawerTitle/drawerTitle.js +17 -0
- package/lib/components/common/Drawer/components/DrawerTitle/drawerTitle.styles.d.ts +5 -0
- package/lib/components/common/Drawer/components/DrawerTitle/drawerTitle.styles.js +17 -0
- package/lib/components/common/Drawer/components/drawer.styles.d.ts +5 -0
- package/lib/components/common/Drawer/components/drawer.styles.js +11 -0
- package/lib/components/common/Drawer/drawer.d.ts +7 -0
- package/lib/components/common/Drawer/drawer.js +24 -0
- package/lib/components/common/Grid/grid.d.ts +1 -1
- package/lib/components/common/Typography/common/entities.d.ts +2 -0
- package/lib/components/common/Typography/common/entities.js +2 -0
- package/lib/config/entities.d.ts +8 -26
- package/lib/providers/exploreState/entities.d.ts +3 -2
- package/lib/providers/exploreState/initializer/constants.js +1 -3
- package/lib/providers/exploreState/initializer/utils.js +2 -2
- package/lib/providers/exploreState/payloads/entities.d.ts +7 -11
- package/lib/providers/exploreState/utils.d.ts +12 -10
- package/lib/providers/exploreState/utils.js +20 -24
- package/lib/providers/exploreState.d.ts +12 -32
- package/lib/providers/exploreState.js +48 -36
- package/lib/styles/common/mixins/colors.d.ts +2 -1
- package/lib/styles/common/mixins/colors.js +3 -1
- package/lib/theme/common/components.js +11 -2
- package/lib/theme/common/palette.d.ts +3 -1
- package/lib/theme/common/palette.js +4 -1
- package/lib/views/ExploreView/exploreView.js +4 -6
- package/package.json +2 -2
- package/src/components/ComponentCreator/ComponentCreator.tsx +6 -1
- package/src/components/Detail/components/DetailViewTable/detailViewTable.tsx +4 -4
- package/src/components/Detail/components/Table/common/utils.ts +2 -2
- package/src/components/Detail/components/Table/components/TableBody/tableBody.tsx +3 -3
- package/src/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx +5 -7
- package/src/components/Detail/components/Table/components/TableRows/tableRows.tsx +10 -6
- package/src/components/Detail/components/Table/table.tsx +6 -3
- package/src/components/Filter/components/Filters/filters.tsx +1 -1
- package/src/components/Index/components/Cell/cell.tsx +4 -0
- package/src/components/Index/components/NTag/components/Tooltip/tooltip.tsx +4 -0
- package/src/components/Index/components/NTag/nTag.tsx +4 -0
- package/src/components/Index/components/NTagCell/nTagCell.tsx +22 -3
- package/src/components/Layout/components/Outline/common/constants.ts +1 -1
- package/src/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.tsx +18 -2
- package/src/components/Links/components/Link/link.tsx +15 -2
- package/src/components/Table/common/gridTable.styles.ts +8 -2
- package/src/components/Table/common/utils.ts +55 -24
- package/src/components/Table/components/DownloadEntityResults/downloadEntityResults.tsx +3 -3
- package/src/components/Table/components/PaginationSummary/paginationSummary.tsx +11 -9
- package/src/components/Table/components/TableBody/tableBody.tsx +3 -3
- package/src/components/Table/components/TableCell/common/utils.ts +3 -3
- package/src/components/Table/components/TableCell/components/BasicCell/basicCell.tsx +52 -0
- package/src/components/Table/components/TableCell/components/NTagCell/components/NTag/components/Tooltip/tooltip.styles.ts +11 -0
- package/src/components/Table/components/TableCell/components/NTagCell/components/NTag/components/Tooltip/tooltip.tsx +86 -0
- package/src/components/Table/components/TableCell/components/NTagCell/components/NTag/nTag.tsx +21 -0
- package/src/components/Table/components/TableCell/components/NTagCell/nTagCell.tsx +70 -0
- package/src/components/Table/components/TableCell/components/RowSelectionCell/rowSelectionCell.tsx +2 -3
- package/src/components/Table/components/TableHead/components/HeadSelectionCell/headSelectionCell.tsx +2 -3
- package/src/components/Table/components/TableHead/tableHead.tsx +3 -3
- package/src/components/Table/components/TableRow/tableRow.styles.ts +22 -0
- package/src/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx +8 -6
- package/src/components/Table/components/TableRows/tableRows.tsx +9 -6
- package/src/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/common/constants.ts +11 -0
- package/src/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/rowDrawer.styles.ts +31 -0
- package/src/components/Table/components/TableToolbar/components/RowPreview/components/RowDrawer/rowDrawer.tsx +52 -0
- package/src/components/Table/components/TableToolbar/components/RowPreview/components/Section/components/RowDetail/rowDetail.styles.ts +48 -0
- package/src/components/Table/components/TableToolbar/components/RowPreview/components/Section/components/RowDetail/rowDetail.tsx +53 -0
- package/src/components/Table/components/TableToolbar/components/RowPreview/components/Section/section.styles.ts +12 -0
- package/src/components/Table/components/TableToolbar/components/RowPreview/components/Section/section.tsx +25 -0
- package/src/components/Table/components/TableToolbar/components/RowPreview/rowPreview.tsx +19 -0
- package/src/components/Table/components/TableToolbar/components/RowSelection/rowSelection.tsx +3 -3
- package/src/components/Table/components/TableToolbar/tableToolbar.tsx +9 -4
- package/src/components/Table/features/RowPreview/constants.ts +65 -0
- package/src/components/Table/features/RowPreview/entities.ts +25 -0
- package/src/components/Table/features/RowPreview/utils.ts +93 -0
- package/src/components/Table/features/entities.ts +13 -0
- package/src/components/Table/table.tsx +41 -51
- package/src/components/TableCreator/common/entities.ts +1 -1
- package/src/components/TableCreator/tableCreator.tsx +15 -22
- package/src/components/common/Button/button.tsx +1 -2
- package/src/components/common/Drawer/components/DrawerTitle/drawerTitle.styles.ts +12 -0
- package/src/components/common/Drawer/components/DrawerTitle/drawerTitle.tsx +27 -0
- package/src/components/common/Drawer/components/drawer.styles.ts +6 -0
- package/src/components/common/Drawer/drawer.tsx +21 -0
- package/src/components/common/Grid/grid.tsx +1 -3
- package/src/components/common/Section/components/CollapsableSection/collapsableSection.tsx +1 -2
- package/src/components/common/Typography/common/entities.ts +5 -0
- package/src/config/entities.ts +8 -38
- package/src/providers/exploreState/entities.ts +7 -2
- package/src/providers/exploreState/initializer/constants.ts +1 -3
- package/src/providers/exploreState/initializer/utils.ts +3 -3
- package/src/providers/exploreState/payloads/entities.ts +8 -18
- package/src/providers/exploreState/utils.ts +25 -36
- package/src/providers/exploreState.tsx +95 -69
- package/src/styles/common/mixins/colors.ts +4 -1
- package/src/theme/common/components.ts +12 -0
- package/src/theme/common/palette.ts +4 -5
- package/src/theme/theme.ts +1 -2
- package/src/views/ExploreView/exploreView.tsx +3 -25
- package/types/data-explorer-ui.d.ts +21 -2
- package/src/hooks/useEntityListRelatedView.ts +0 -78
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TableBody as MTableBody } from "@mui/material";
|
|
2
|
-
import { Table } from "@tanstack/react-table";
|
|
2
|
+
import { RowData, Table } from "@tanstack/react-table";
|
|
3
3
|
import { useWindowVirtualizer } from "@tanstack/react-virtual";
|
|
4
4
|
import React, { useCallback } from "react";
|
|
5
5
|
import { ROW_DIRECTION } from "../../common/entities";
|
|
@@ -9,12 +9,12 @@ import { TableRows } from "../TableRows/tableRows";
|
|
|
9
9
|
|
|
10
10
|
const OVERSCAN = 20;
|
|
11
11
|
|
|
12
|
-
export interface TableBodyProps<T> {
|
|
12
|
+
export interface TableBodyProps<T extends RowData> {
|
|
13
13
|
rowDirection: ROW_DIRECTION;
|
|
14
14
|
tableInstance: Table<T>;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export const TableBody = <T extends
|
|
17
|
+
export const TableBody = <T extends RowData>({
|
|
18
18
|
rowDirection,
|
|
19
19
|
tableInstance,
|
|
20
20
|
}: TableBodyProps<T>): JSX.Element => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TableCellProps as MTableCellProps } from "@mui/material
|
|
2
|
-
import { CoreCell, CoreHeader } from "@tanstack/table
|
|
1
|
+
import { TableCellProps as MTableCellProps } from "@mui/material";
|
|
2
|
+
import { CoreCell, CoreHeader, RowData } from "@tanstack/react-table";
|
|
3
3
|
import { ACCESSOR_KEYS } from "../../../../TableCreator/common/constants";
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -7,7 +7,7 @@ import { ACCESSOR_KEYS } from "../../../../TableCreator/common/constants";
|
|
|
7
7
|
* @param id - Cell ID.
|
|
8
8
|
* @returns table cell padding.
|
|
9
9
|
*/
|
|
10
|
-
export function getTableCellPadding<T extends
|
|
10
|
+
export function getTableCellPadding<T extends RowData, TValue>(
|
|
11
11
|
id: CoreHeader<T, TValue>["id"] | CoreCell<T, TValue>["id"]
|
|
12
12
|
): MTableCellProps["padding"] {
|
|
13
13
|
if (id === ACCESSOR_KEYS.SELECT) {
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Typography } from "@mui/material";
|
|
2
|
+
import React, { Fragment, ReactNode } from "react";
|
|
3
|
+
import { LABEL } from "../../../../../../apis/azul/common/entities";
|
|
4
|
+
import { TypographyProps } from "../../../../../common/Typography/common/entities";
|
|
5
|
+
|
|
6
|
+
export interface BasicCellProps {
|
|
7
|
+
TypographyProps?: TypographyProps;
|
|
8
|
+
value?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const BasicCell = ({
|
|
12
|
+
TypographyProps,
|
|
13
|
+
value = LABEL.UNSPECIFIED,
|
|
14
|
+
}: BasicCellProps): JSX.Element | null => {
|
|
15
|
+
if (isValueNumberOrString(value)) {
|
|
16
|
+
return (
|
|
17
|
+
<Typography variant="inherit" {...TypographyProps}>
|
|
18
|
+
{value}
|
|
19
|
+
</Typography>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
if (isValueArray(value)) {
|
|
23
|
+
return (
|
|
24
|
+
<Fragment>
|
|
25
|
+
{value.map((v: number | string) => (
|
|
26
|
+
<Typography key={v} variant="inherit" {...TypographyProps}>
|
|
27
|
+
{v}
|
|
28
|
+
</Typography>
|
|
29
|
+
))}
|
|
30
|
+
</Fragment>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Returns true if value is an array of strings.
|
|
38
|
+
* @param value - Value.
|
|
39
|
+
* @returns value is an array of strings.
|
|
40
|
+
*/
|
|
41
|
+
function isValueArray(value: ReactNode): value is (number | string)[] {
|
|
42
|
+
return Array.isArray(value) && value.every(isValueNumberOrString);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Returns true if value is a number or a string.
|
|
47
|
+
* @param value - Value.
|
|
48
|
+
* @returns true if value is a number or a string.
|
|
49
|
+
*/
|
|
50
|
+
function isValueNumberOrString(value: ReactNode): value is number | string {
|
|
51
|
+
return typeof value === "number" || typeof value === "string";
|
|
52
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PopperProps,
|
|
3
|
+
Tooltip as MTooltip,
|
|
4
|
+
TooltipProps as MTooltipProps,
|
|
5
|
+
} from "@mui/material";
|
|
6
|
+
import { detectOverflow } from "@popperjs/core";
|
|
7
|
+
import { State } from "@popperjs/core/lib/types";
|
|
8
|
+
import React, { useMemo, useState } from "react";
|
|
9
|
+
import { TooltipContent } from "./tooltip.styles";
|
|
10
|
+
|
|
11
|
+
const DEFAULT_FLIP_MODIFIER = {
|
|
12
|
+
enabled: true,
|
|
13
|
+
name: "flip",
|
|
14
|
+
options: {
|
|
15
|
+
fallbackPlacements: ["bottom", "right", "left"],
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const DEFAULT_PREVENT_OVERFLOW_MODIFIER = {
|
|
20
|
+
enabled: true,
|
|
21
|
+
name: "preventOverflow",
|
|
22
|
+
options: {
|
|
23
|
+
padding: 16,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export interface TooltipProps extends MTooltipProps {
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const Tooltip = ({
|
|
32
|
+
children,
|
|
33
|
+
className,
|
|
34
|
+
title,
|
|
35
|
+
...props /* Spread props to allow for Mui Tooltip specific prop overrides. */
|
|
36
|
+
}: TooltipProps): JSX.Element => {
|
|
37
|
+
const [maxHeight, setMaxHeight] = useState<number>();
|
|
38
|
+
const modifiers: PopperProps["modifiers"] = useMemo(
|
|
39
|
+
() => [
|
|
40
|
+
{
|
|
41
|
+
enabled: true,
|
|
42
|
+
fn: ({ state }): void => setMaxHeight(calculateMaxHeight(state)),
|
|
43
|
+
name: "maxHeight",
|
|
44
|
+
phase: "main",
|
|
45
|
+
requiresIfExists: ["offset"],
|
|
46
|
+
},
|
|
47
|
+
DEFAULT_FLIP_MODIFIER,
|
|
48
|
+
DEFAULT_PREVENT_OVERFLOW_MODIFIER,
|
|
49
|
+
],
|
|
50
|
+
[]
|
|
51
|
+
);
|
|
52
|
+
return (
|
|
53
|
+
<MTooltip
|
|
54
|
+
arrow
|
|
55
|
+
className={className}
|
|
56
|
+
onClose={(): void => setMaxHeight(undefined)}
|
|
57
|
+
slotProps={{
|
|
58
|
+
popper: { modifiers },
|
|
59
|
+
tooltip: { style: { display: "flex", maxHeight, padding: 0 } },
|
|
60
|
+
}}
|
|
61
|
+
title={<TooltipContent>{title}</TooltipContent>}
|
|
62
|
+
{...props}
|
|
63
|
+
>
|
|
64
|
+
{children}
|
|
65
|
+
</MTooltip>
|
|
66
|
+
);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Calculate the max height of the tooltip based on the current popper modifier state.
|
|
71
|
+
* @param state - Popper modifier state.
|
|
72
|
+
* @returns tooltip maximum height.
|
|
73
|
+
*/
|
|
74
|
+
function calculateMaxHeight(state: State): number | undefined {
|
|
75
|
+
const overflow = detectOverflow(state);
|
|
76
|
+
const { placement } = state;
|
|
77
|
+
if (placement === "left" || placement === "right") {
|
|
78
|
+
return window.innerHeight - 32;
|
|
79
|
+
}
|
|
80
|
+
if (placement === "top") {
|
|
81
|
+
return state.rects.popper.height - overflow.top - 24;
|
|
82
|
+
}
|
|
83
|
+
if (placement === "bottom") {
|
|
84
|
+
return state.rects.popper.height - overflow.bottom - 24;
|
|
85
|
+
}
|
|
86
|
+
}
|
package/src/components/Table/components/TableCell/components/NTagCell/components/NTag/nTag.tsx
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React, { ReactElement } from "react";
|
|
2
|
+
import { Tooltip } from "./components/Tooltip/tooltip";
|
|
3
|
+
|
|
4
|
+
export interface NTagProps {
|
|
5
|
+
className?: string;
|
|
6
|
+
Tag: ReactElement;
|
|
7
|
+
TooltipTitle: ReactElement;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const NTag = ({
|
|
11
|
+
className,
|
|
12
|
+
Tag,
|
|
13
|
+
TooltipTitle,
|
|
14
|
+
...props /* Spread props to allow for Mui Tooltip specific prop overrides. */
|
|
15
|
+
}: NTagProps): JSX.Element => {
|
|
16
|
+
return (
|
|
17
|
+
<Tooltip className={className} title={TooltipTitle} {...props}>
|
|
18
|
+
{Tag}
|
|
19
|
+
</Tooltip>
|
|
20
|
+
);
|
|
21
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Chip as MChip,
|
|
3
|
+
ChipProps as MChipProps,
|
|
4
|
+
Typography,
|
|
5
|
+
} from "@mui/material";
|
|
6
|
+
import React, { forwardRef } from "react";
|
|
7
|
+
import { TEXT_BODY_SMALL_400 } from "../../../../../../theme/common/typography";
|
|
8
|
+
import { TypographyProps } from "../../../../../common/Typography/common/entities";
|
|
9
|
+
import { NTag } from "./components/NTag/nTag";
|
|
10
|
+
|
|
11
|
+
// Template constants
|
|
12
|
+
const MAX_DISPLAYABLE_VALUES = 1;
|
|
13
|
+
|
|
14
|
+
export type MetadataValue = string;
|
|
15
|
+
|
|
16
|
+
export interface NTagCellProps {
|
|
17
|
+
label: string;
|
|
18
|
+
TypographyProps?: TypographyProps;
|
|
19
|
+
values: MetadataValue[];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* String-concatenates the specified list of metadata values to a string value, joined by a comma ",".
|
|
24
|
+
* @param metadataValues - List of metadata values.
|
|
25
|
+
* @returns the metadata values in a string, each value joined by a comma.
|
|
26
|
+
*/
|
|
27
|
+
function stringifyMetadataValues(metadataValues: MetadataValue[]): string {
|
|
28
|
+
return metadataValues.join(", ");
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Renders tag for NTag component.
|
|
33
|
+
* Tooltip children require forward ref.
|
|
34
|
+
*/
|
|
35
|
+
const Tag = forwardRef<HTMLDivElement, MChipProps>(function Tag(props, ref) {
|
|
36
|
+
return <MChip ref={ref} {...props} />;
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
export const NTagCell = ({
|
|
40
|
+
label,
|
|
41
|
+
TypographyProps,
|
|
42
|
+
values,
|
|
43
|
+
}: NTagCellProps): JSX.Element => {
|
|
44
|
+
const metadataCount = values.length;
|
|
45
|
+
const showNTag = metadataCount > MAX_DISPLAYABLE_VALUES;
|
|
46
|
+
return (
|
|
47
|
+
<>
|
|
48
|
+
{showNTag ? (
|
|
49
|
+
<NTag
|
|
50
|
+
Tag={<Tag label={`${metadataCount} ${label}`} variant="ntag" />}
|
|
51
|
+
TooltipTitle={
|
|
52
|
+
<Typography display="block" variant={TEXT_BODY_SMALL_400}>
|
|
53
|
+
{stringifyMetadataValues(values)}
|
|
54
|
+
</Typography>
|
|
55
|
+
}
|
|
56
|
+
/>
|
|
57
|
+
) : (
|
|
58
|
+
values.map((value, v) => (
|
|
59
|
+
<Typography
|
|
60
|
+
key={`${value}${v}`}
|
|
61
|
+
variant="inherit"
|
|
62
|
+
{...TypographyProps}
|
|
63
|
+
>
|
|
64
|
+
{value}
|
|
65
|
+
</Typography>
|
|
66
|
+
))
|
|
67
|
+
)}
|
|
68
|
+
</>
|
|
69
|
+
);
|
|
70
|
+
};
|
package/src/components/Table/components/TableCell/components/RowSelectionCell/rowSelectionCell.tsx
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Checkbox as MCheckbox } from "@mui/material";
|
|
2
|
-
import { Row } from "@tanstack/react-table";
|
|
3
|
-
import { RowData } from "@tanstack/table-core";
|
|
2
|
+
import { Row, RowData } from "@tanstack/react-table";
|
|
4
3
|
import React from "react";
|
|
5
4
|
import { CheckedIcon } from "../../../../../common/CustomIcon/components/CheckedIcon/checkedIcon";
|
|
6
5
|
import { UncheckedIcon } from "../../../../../common/CustomIcon/components/UncheckedIcon/uncheckedIcon";
|
|
7
6
|
|
|
8
|
-
export interface RowSelectionCellProps<T> {
|
|
7
|
+
export interface RowSelectionCellProps<T extends RowData> {
|
|
9
8
|
row: Row<T>;
|
|
10
9
|
}
|
|
11
10
|
|
package/src/components/Table/components/TableHead/components/HeadSelectionCell/headSelectionCell.tsx
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { Checkbox } from "@mui/material";
|
|
2
|
-
import { Table } from "@tanstack/react-table";
|
|
3
|
-
import { RowData } from "@tanstack/table-core";
|
|
2
|
+
import { RowData, Table } from "@tanstack/react-table";
|
|
4
3
|
import React from "react";
|
|
5
4
|
import { CheckedIcon } from "../../../../../common/CustomIcon/components/CheckedIcon/checkedIcon";
|
|
6
5
|
import { IndeterminateIcon } from "../../../../../common/CustomIcon/components/IndeterminateIcon/indeterminateIcon";
|
|
7
6
|
import { UncheckedIcon } from "../../../../../common/CustomIcon/components/UncheckedIcon/uncheckedIcon";
|
|
8
7
|
|
|
9
|
-
export interface HeadSelectionCellProps<T> {
|
|
8
|
+
export interface HeadSelectionCellProps<T extends RowData> {
|
|
10
9
|
tableInstance: Table<T>;
|
|
11
10
|
}
|
|
12
11
|
|
|
@@ -4,18 +4,18 @@ import {
|
|
|
4
4
|
TableRow as MTableRow,
|
|
5
5
|
TableSortLabel,
|
|
6
6
|
} from "@mui/material";
|
|
7
|
-
import { flexRender, Table } from "@tanstack/react-table";
|
|
7
|
+
import { flexRender, RowData, Table } from "@tanstack/react-table";
|
|
8
8
|
import React, { Fragment } from "react";
|
|
9
9
|
import { ROW_DIRECTION } from "../../common/entities";
|
|
10
10
|
import { getTableSortLabelProps } from "../../common/utils";
|
|
11
11
|
import { getTableCellPadding } from "../TableCell/common/utils";
|
|
12
12
|
|
|
13
|
-
export interface TableHeadProps<T> {
|
|
13
|
+
export interface TableHeadProps<T extends RowData> {
|
|
14
14
|
rowDirection: ROW_DIRECTION;
|
|
15
15
|
tableInstance: Table<T>;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export const TableHead = <T extends
|
|
18
|
+
export const TableHead = <T extends RowData>({
|
|
19
19
|
rowDirection,
|
|
20
20
|
tableInstance,
|
|
21
21
|
}: TableHeadProps<T>): JSX.Element => {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { css } from "@emotion/react";
|
|
2
|
+
import styled from "@emotion/styled";
|
|
3
|
+
import { TableRow as MTableRow } from "@mui/material";
|
|
4
|
+
import { primaryLightest } from "../../../../styles/common/mixins/colors";
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
isPreview?: boolean;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const TableRow = styled(MTableRow, {
|
|
11
|
+
shouldForwardProp: (prop) => prop !== "isPreview",
|
|
12
|
+
})<Props>`
|
|
13
|
+
&& {
|
|
14
|
+
transition: background-color 300ms ease-in;
|
|
15
|
+
|
|
16
|
+
${(props) =>
|
|
17
|
+
props.isPreview &&
|
|
18
|
+
css`
|
|
19
|
+
background-color: ${primaryLightest(props)};
|
|
20
|
+
`}
|
|
21
|
+
}
|
|
22
|
+
`;
|
package/src/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Row, Table } from "@tanstack/react-table";
|
|
1
|
+
import { Row, RowData, Table } from "@tanstack/react-table";
|
|
3
2
|
import { Virtualizer } from "@tanstack/react-virtual";
|
|
4
3
|
import React, { Fragment } from "react";
|
|
5
4
|
import { isCollapsableRowDisabled } from "../../../../common/utils";
|
|
6
5
|
import { CollapsableCell } from "../../../TableCell/components/CollapsableCell/collapsableCell";
|
|
6
|
+
import { TableRow } from "../../../TableRow/tableRow.styles";
|
|
7
7
|
|
|
8
|
-
export interface CollapsableRowsProps<T> {
|
|
8
|
+
export interface CollapsableRowsProps<T extends RowData> {
|
|
9
9
|
tableInstance: Table<T>;
|
|
10
10
|
virtualizer: Virtualizer<Window, Element>;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export const CollapsableRows = <T extends
|
|
13
|
+
export const CollapsableRows = <T extends RowData>({
|
|
14
14
|
tableInstance,
|
|
15
15
|
virtualizer,
|
|
16
16
|
}: CollapsableRowsProps<T>): JSX.Element => {
|
|
@@ -21,17 +21,19 @@ export const CollapsableRows = <T extends object>({
|
|
|
21
21
|
<Fragment>
|
|
22
22
|
{virtualItems.map((virtualRow) => {
|
|
23
23
|
const row = rows[virtualRow.index] as Row<T>;
|
|
24
|
+
const { getIsPreview } = row;
|
|
24
25
|
return (
|
|
25
|
-
<
|
|
26
|
+
<TableRow
|
|
26
27
|
key={row.id}
|
|
27
28
|
data-index={virtualRow.index}
|
|
29
|
+
isPreview={getIsPreview()}
|
|
28
30
|
ref={virtualizer.measureElement}
|
|
29
31
|
>
|
|
30
32
|
<CollapsableCell
|
|
31
33
|
isDisabled={isCollapsableRowDisabled(tableInstance)}
|
|
32
34
|
row={row}
|
|
33
35
|
/>
|
|
34
|
-
</
|
|
36
|
+
</TableRow>
|
|
35
37
|
);
|
|
36
38
|
})}
|
|
37
39
|
</Fragment>
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { TableCell as MTableCell
|
|
2
|
-
import { flexRender, Row, Table } from "@tanstack/react-table";
|
|
1
|
+
import { TableCell as MTableCell } from "@mui/material";
|
|
2
|
+
import { flexRender, Row, RowData, Table } from "@tanstack/react-table";
|
|
3
3
|
import { Virtualizer } from "@tanstack/react-virtual";
|
|
4
4
|
import React, { Fragment } from "react";
|
|
5
5
|
import { getTableCellPadding } from "../TableCell/common/utils";
|
|
6
|
+
import { TableRow } from "../TableRow/tableRow.styles";
|
|
6
7
|
|
|
7
|
-
export interface TableRowsProps<T> {
|
|
8
|
+
export interface TableRowsProps<T extends RowData> {
|
|
8
9
|
tableInstance: Table<T>;
|
|
9
10
|
virtualizer: Virtualizer<Window, Element>;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
export const TableRows = <T extends
|
|
13
|
+
export const TableRows = <T extends RowData>({
|
|
13
14
|
tableInstance,
|
|
14
15
|
virtualizer,
|
|
15
16
|
}: TableRowsProps<T>): JSX.Element => {
|
|
@@ -20,10 +21,12 @@ export const TableRows = <T extends object>({
|
|
|
20
21
|
<Fragment>
|
|
21
22
|
{virtualItems.map((virtualRow) => {
|
|
22
23
|
const row = rows[virtualRow.index] as Row<T>;
|
|
24
|
+
const { getIsPreview } = row;
|
|
23
25
|
return (
|
|
24
|
-
<
|
|
26
|
+
<TableRow
|
|
25
27
|
key={row.id}
|
|
26
28
|
data-index={virtualRow.index}
|
|
29
|
+
isPreview={getIsPreview()}
|
|
27
30
|
ref={virtualizer.measureElement}
|
|
28
31
|
>
|
|
29
32
|
{row.getVisibleCells().map((cell) => (
|
|
@@ -34,7 +37,7 @@ export const TableRows = <T extends object>({
|
|
|
34
37
|
{flexRender(cell.column.columnDef.cell, cell.getContext())}
|
|
35
38
|
</MTableCell>
|
|
36
39
|
))}
|
|
37
|
-
</
|
|
40
|
+
</TableRow>
|
|
38
41
|
);
|
|
39
42
|
})}
|
|
40
43
|
</Fragment>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DrawerProps as MDrawerProps } from "@mui/material";
|
|
2
|
+
|
|
3
|
+
export const DEFAULT_DRAWER_PROPS: Partial<MDrawerProps> = {
|
|
4
|
+
PaperProps: {
|
|
5
|
+
elevation: 2,
|
|
6
|
+
},
|
|
7
|
+
anchor: "right",
|
|
8
|
+
disableEnforceFocus: true,
|
|
9
|
+
disableScrollLock: true,
|
|
10
|
+
hideBackdrop: true,
|
|
11
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { mediaTabletUp } from "../../../../../../../../styles/common/mixins/breakpoints";
|
|
3
|
+
import { smokeMain } from "../../../../../../../../styles/common/mixins/colors";
|
|
4
|
+
import { DrawerTitle as DXDrawerTitle } from "../../../../../../../common/Drawer/components/DrawerTitle/drawerTitle";
|
|
5
|
+
import { Drawer as DXDrawer } from "../../../../../../../common/Drawer/drawer";
|
|
6
|
+
|
|
7
|
+
export const Drawer = styled(DXDrawer)`
|
|
8
|
+
&.MuiDrawer-modal {
|
|
9
|
+
pointer-events: none;
|
|
10
|
+
|
|
11
|
+
.MuiDrawer-paper {
|
|
12
|
+
border-left: 1px solid ${smokeMain};
|
|
13
|
+
box-shadow: -8px 0 8px -4px #10182808, 0 20px 24px -4px #10182814;
|
|
14
|
+
pointer-events: all;
|
|
15
|
+
max-width: min(506px, 84vw);
|
|
16
|
+
width: 100%;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
${mediaTabletUp} {
|
|
20
|
+
.MuiDrawer-paper {
|
|
21
|
+
max-width: min(506px, 50vw);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
`;
|
|
26
|
+
|
|
27
|
+
export const DrawerTitle = styled(DXDrawerTitle)`
|
|
28
|
+
.MuiTypography-text-heading-small {
|
|
29
|
+
font-size: 20px;
|
|
30
|
+
}
|
|
31
|
+
`;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Divider,
|
|
3
|
+
DrawerProps as MDrawerProps,
|
|
4
|
+
Typography as MTypography,
|
|
5
|
+
} from "@mui/material";
|
|
6
|
+
import { RowData, Table } from "@tanstack/react-table";
|
|
7
|
+
import React, { ReactNode } from "react";
|
|
8
|
+
import { TEXT_HEADING_SMALL } from "../../../../../../../../theme/common/typography";
|
|
9
|
+
import { DrawerContent } from "../../../../../../../common/Drawer/components/drawer.styles";
|
|
10
|
+
import { DEFAULT_DRAWER_PROPS } from "./common/constants";
|
|
11
|
+
import { Drawer, DrawerTitle } from "./rowDrawer.styles";
|
|
12
|
+
|
|
13
|
+
export interface RowDrawerProps<T extends RowData>
|
|
14
|
+
extends Omit<MDrawerProps, "content" | "title"> {
|
|
15
|
+
className?: string;
|
|
16
|
+
tableInstance: Table<T>;
|
|
17
|
+
title: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const RowDrawer = <T extends RowData>({
|
|
21
|
+
children,
|
|
22
|
+
className,
|
|
23
|
+
tableInstance,
|
|
24
|
+
title,
|
|
25
|
+
...props /* Spread props to allow for Mui Drawer specific prop overrides. */
|
|
26
|
+
}: RowDrawerProps<T>): JSX.Element => {
|
|
27
|
+
const { getIsRowPreview, resetRowPreview, toggleRowPreview } = tableInstance;
|
|
28
|
+
return (
|
|
29
|
+
<Drawer
|
|
30
|
+
{...DEFAULT_DRAWER_PROPS}
|
|
31
|
+
className={className}
|
|
32
|
+
onTransitionExited={resetRowPreview}
|
|
33
|
+
open={getIsRowPreview()}
|
|
34
|
+
{...props}
|
|
35
|
+
>
|
|
36
|
+
<DrawerTitle
|
|
37
|
+
onClose={(): void => toggleRowPreview?.()}
|
|
38
|
+
title={
|
|
39
|
+
typeof title === "string" ? (
|
|
40
|
+
<MTypography component="div" noWrap variant={TEXT_HEADING_SMALL}>
|
|
41
|
+
{title}
|
|
42
|
+
</MTypography>
|
|
43
|
+
) : (
|
|
44
|
+
title
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
/>
|
|
48
|
+
<Divider />
|
|
49
|
+
<DrawerContent>{children}</DrawerContent>
|
|
50
|
+
</Drawer>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import {
|
|
3
|
+
mediaDesktopSmallUp,
|
|
4
|
+
mediaTabletUp,
|
|
5
|
+
} from "../../../../../../../../../../styles/common/mixins/breakpoints";
|
|
6
|
+
import { textBody400 } from "../../../../../../../../../../styles/common/mixins/fonts";
|
|
7
|
+
|
|
8
|
+
export const Section = styled.div`
|
|
9
|
+
${textBody400};
|
|
10
|
+
display: grid;
|
|
11
|
+
gap: 16px;
|
|
12
|
+
grid-auto-rows: minmax(40px, auto);
|
|
13
|
+
grid-template-columns: minmax(0, 1fr);
|
|
14
|
+
overflow-wrap: break-word;
|
|
15
|
+
padding: 16px 24px;
|
|
16
|
+
|
|
17
|
+
> .MuiGrid-root {
|
|
18
|
+
display: grid;
|
|
19
|
+
gap: 4px;
|
|
20
|
+
grid-column: 1 / -1;
|
|
21
|
+
grid-template-columns: inherit;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
> .MuiButton-textPrimary {
|
|
25
|
+
grid-column: 1 / -1;
|
|
26
|
+
justify-self: flex-start;
|
|
27
|
+
text-align: left;
|
|
28
|
+
text-transform: none;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
${mediaTabletUp} {
|
|
32
|
+
gap: 0 8px;
|
|
33
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
34
|
+
padding: 8px 24px;
|
|
35
|
+
|
|
36
|
+
> .MuiGrid-root {
|
|
37
|
+
display: contents;
|
|
38
|
+
|
|
39
|
+
> * {
|
|
40
|
+
margin: 10px 0;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
${mediaDesktopSmallUp} {
|
|
46
|
+
grid-template-columns: 194px minmax(0, 1fr);
|
|
47
|
+
}
|
|
48
|
+
`;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Grid, Typography } from "@mui/material";
|
|
2
|
+
import { RowData, Table } from "@tanstack/react-table";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { ListConfig } from "../../../../../../../../../../config/entities";
|
|
5
|
+
import { TEXT_BODY_400 } from "../../../../../../../../../../theme/common/typography";
|
|
6
|
+
import { ButtonTextPrimary } from "../../../../../../../../../common/Button/components/ButtonTextPrimary/buttonTextPrimary";
|
|
7
|
+
import { ComponentCreator } from "../../../../../../../../../ComponentCreator/ComponentCreator";
|
|
8
|
+
import { Section } from "./rowDetail.styles";
|
|
9
|
+
|
|
10
|
+
const MIN_COLUMNS = 6;
|
|
11
|
+
|
|
12
|
+
interface RowDetailProps<T extends RowData> {
|
|
13
|
+
className?: string;
|
|
14
|
+
columns: ListConfig<T>["columns"];
|
|
15
|
+
expanded?: boolean;
|
|
16
|
+
minColumns?: number;
|
|
17
|
+
tableInstance: Table<T>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const RowDetail = <T extends RowData>({
|
|
21
|
+
className,
|
|
22
|
+
columns,
|
|
23
|
+
expanded = true,
|
|
24
|
+
minColumns = MIN_COLUMNS,
|
|
25
|
+
tableInstance,
|
|
26
|
+
}: RowDetailProps<T>): JSX.Element | null => {
|
|
27
|
+
const [showMore, setShowMore] = React.useState<boolean>(expanded);
|
|
28
|
+
const { getRowPreviewRow } = tableInstance;
|
|
29
|
+
const { original: rowData } = getRowPreviewRow() || {};
|
|
30
|
+
const visibleColumns = showMore ? columns : columns.slice(0, minColumns);
|
|
31
|
+
const buttonText = showMore ? "Show less" : "Show more";
|
|
32
|
+
const onToggleShowMore = (): void => setShowMore(!showMore);
|
|
33
|
+
if (!rowData) return null;
|
|
34
|
+
return (
|
|
35
|
+
<Section className={className}>
|
|
36
|
+
{visibleColumns.map(({ componentConfig, header }, i) => (
|
|
37
|
+
<Grid key={i}>
|
|
38
|
+
<Typography
|
|
39
|
+
color="ink.light"
|
|
40
|
+
variant={TEXT_BODY_400}
|
|
41
|
+
{...componentConfig.props?.TypographyProps}
|
|
42
|
+
>
|
|
43
|
+
{header}
|
|
44
|
+
</Typography>
|
|
45
|
+
<ComponentCreator components={[componentConfig]} response={rowData} />
|
|
46
|
+
</Grid>
|
|
47
|
+
))}
|
|
48
|
+
<ButtonTextPrimary onClick={onToggleShowMore}>
|
|
49
|
+
{buttonText}
|
|
50
|
+
</ButtonTextPrimary>
|
|
51
|
+
</Section>
|
|
52
|
+
);
|
|
53
|
+
};
|