@aivenio/aquarium 1.53.0 → 1.54.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/dist/_variables.scss +1 -1
- package/dist/src/atoms/DataList/DataList.d.ts +2 -0
- package/dist/src/atoms/DataList/DataList.js +8 -9
- package/dist/src/molecules/DataList/DataList.d.ts +12 -7
- package/dist/src/molecules/DataList/DataList.js +28 -96
- package/dist/src/molecules/DataList/DataListComponents.d.ts +27 -0
- package/dist/src/molecules/DataList/DataListComponents.js +73 -0
- package/dist/src/molecules/DataList/DataListGroup.d.ts +9 -0
- package/dist/src/molecules/DataList/DataListGroup.js +74 -0
- package/dist/src/molecules/DataTable/DataTable.d.ts +1 -1
- package/dist/src/molecules/Template/Template.d.ts +1 -1
- package/dist/src/molecules/Template/Template.js +13 -2
- package/dist/src/utils/table/types.d.ts +10 -6
- package/dist/src/utils/table/types.js +7 -2
- package/dist/styles.css +5 -10
- package/dist/system.cjs +1332 -1158
- package/dist/system.mjs +1298 -1125
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +1 -1
package/dist/_variables.scss
CHANGED
@@ -19,7 +19,9 @@ declare const Cell: React.FC<DivProps & {
|
|
19
19
|
stickyColumn?: StickyColumn;
|
20
20
|
}>;
|
21
21
|
declare const Row: React.FC<DivProps & {
|
22
|
+
header?: boolean;
|
22
23
|
subgroup?: boolean;
|
24
|
+
active?: boolean;
|
23
25
|
}>;
|
24
26
|
declare const SubGroupSpacing: React.FC<DivProps & {
|
25
27
|
divider?: boolean;
|
@@ -26,20 +26,19 @@ export const DataList = (_a) => {
|
|
26
26
|
};
|
27
27
|
const HeadCell = (_a) => {
|
28
28
|
var { className, sticky, align, stickyColumn } = _a, rest = __rest(_a, ["className", "sticky", "align", "stickyColumn"]);
|
29
|
-
return (React.createElement("div", Object.assign({ role: "
|
29
|
+
return (React.createElement("div", Object.assign({ role: "columnheader" }, rest, { className: classNames(cellClassNames, getHeadCellClassNames(sticky, stickyColumn), getAlignClassNames(align), className) })));
|
30
30
|
};
|
31
31
|
const Cell = (_a) => {
|
32
32
|
var { className, align, stickyColumn } = _a, rest = __rest(_a, ["className", "align", "stickyColumn"]);
|
33
|
-
return (React.createElement("div", Object.assign({}, rest, { role: "cell", className: classNames(cellClassNames, getBodyCellClassNames(false, stickyColumn), getAlignClassNames(align), tw('border-grey-10 group-
|
33
|
+
return (React.createElement("div", Object.assign({}, rest, { role: "cell", className: classNames(cellClassNames, getBodyCellClassNames(false, stickyColumn), getAlignClassNames(align), tw('border-grey-10 group-last-of-type:border-b-0'), className) })));
|
34
34
|
};
|
35
35
|
const Row = (_a) => {
|
36
|
-
var { className, disabled, subgroup } = _a, rest = __rest(_a, ["className", "disabled", "subgroup"]);
|
37
|
-
|
38
|
-
return (React.createElement(Component, Object.assign({}, rest, { inert: disabled ? '' : undefined }, { className: classNames(tw('contents'), className, {
|
36
|
+
var { className, disabled, header, subgroup, active } = _a, rest = __rest(_a, ["className", "disabled", "header", "subgroup", "active"]);
|
37
|
+
return (React.createElement("div", Object.assign({}, rest, { role: subgroup ? 'rowgroup' : 'row' }, { inert: disabled ? '' : undefined }, { className: classNames(tw('contents'), className, {
|
39
38
|
'children:opacity-70': disabled,
|
40
|
-
'[
|
41
|
-
'
|
42
|
-
})
|
39
|
+
'[&>*]:bg-primary-5': active,
|
40
|
+
'[&>*]:hover:bg-grey-0': !disabled && !header,
|
41
|
+
}) })));
|
43
42
|
};
|
44
43
|
const SubGroupSpacing = (_a) => {
|
45
44
|
var { className, divider } = _a, rest = __rest(_a, ["className", "divider"]);
|
@@ -66,4 +65,4 @@ DataList.SubGroupSpacing = SubGroupSpacing;
|
|
66
65
|
DataList.SubGroupSpacing.displayName = 'DataList.SubGroupSpacing';
|
67
66
|
DataList.Row = Row;
|
68
67
|
DataList.Row.displayName = 'DataList.Row';
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXRvbXMvRGF0YUxpc3QvRGF0YUxpc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLHlCQUF5QixHQUMxQixNQUFNLHVCQUF1QixDQUFDO0FBRy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFZNUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUMvQyxFQUFFLENBQUMsbUJBQW1CLEVBQUU7SUFDdEIsYUFBYSxFQUFFLEtBQUssS0FBSyxPQUFPO0lBQ2hDLGdCQUFnQixFQUFFLEtBQUssS0FBSyxRQUFRO0lBQ3BDLGVBQWUsRUFBRSxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxTQUFTO0NBQ3pELENBQUMsQ0FBQztBQUVMLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBMEIsQ0FBQyxFQUFzQixFQUFFLEVBQUU7UUFBMUIsRUFBRSxTQUFTLE9BQVcsRUFBTixJQUFJLGNBQXBCLGFBQXNCLENBQUY7SUFBTyxPQUFBLDZDQUFTLElBQUksRUFBSSxDQUFBO0NBQUEsQ0FBQztBQUU3RixNQUFNLFFBQVEsR0FBOEYsQ0FBQyxFQU01RyxFQUFFLEVBQUU7UUFOd0csRUFDM0csU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxPQUViLEVBREksSUFBSSxjQUxvRyxnREFNNUcsQ0FEUTtJQUNI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
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { type PanelID } from '../../../src/molecules/Accordion/Accordion';
|
3
3
|
import { type InfiniteListProps, type ListPaginationProps } from '../../../src/molecules/List/List';
|
4
|
-
import { type DataListColumn, type DataTableMenuProps, type DataTableRow, type OnSortChangedDirection, type SortDirection } from '../../../src/utils/table/types';
|
4
|
+
import { type DataListColumn, type DataListGroupedRows, type DataTableMenuProps, type DataTableRow, type OnSortChangedDirection, type SortDirection } from '../../../src/utils/table/types';
|
5
5
|
import { type Either } from '../../../types/utils';
|
6
6
|
export declare type DataListProps<C extends DataListColumn<R>, R extends DataTableRow> = DataTableMenuProps<R> & Either<Either<InfiniteListProps, ListPaginationProps> & {
|
7
7
|
/**
|
@@ -17,13 +17,13 @@ export declare type DataListProps<C extends DataListColumn<R>, R extends DataTab
|
|
17
17
|
* Groups are selected by providing a row property. Each row that has equal value on said property belongs to that group.
|
18
18
|
* Rows with `undefined` value will be grouped as uncategorized and sorted to top.
|
19
19
|
*/
|
20
|
-
group?: keyof R | ((rows: R[]) =>
|
20
|
+
group?: keyof R | ((rows: R[]) => DataListGroupedRows<R>);
|
21
21
|
/**
|
22
22
|
* Controls the group row rendering. Return an object that matches the row definition.
|
23
23
|
* First argument is the group name you can use to connect the data to a separate data source if needed.
|
24
24
|
* Second argument provides the rows beloning to that group allowing you to reduce row values out of those.
|
25
25
|
*/
|
26
|
-
getGroupRow?: (key: string, rows: R[]) => R;
|
26
|
+
getGroupRow?: (key: string, rows: DataListGroupedRows<R> | R[]) => R;
|
27
27
|
}> & {
|
28
28
|
/**
|
29
29
|
* Array of column definitions that correspond to the data rows.
|
@@ -32,18 +32,23 @@ export declare type DataListProps<C extends DataListColumn<R>, R extends DataTab
|
|
32
32
|
/**
|
33
33
|
* Array of data rows to be displayed.
|
34
34
|
*/
|
35
|
-
rows: R[];
|
35
|
+
rows: DataListGroupedRows<R> | R[];
|
36
36
|
/**
|
37
37
|
* Determines if table header should stick to top when scrolling.
|
38
38
|
* Sortable headers can not be sticky.
|
39
39
|
* @default true
|
40
40
|
*/
|
41
41
|
sticky?: boolean;
|
42
|
+
/**
|
43
|
+
* If true, table header will be hidden.
|
44
|
+
* @default false
|
45
|
+
*/
|
46
|
+
hideHeader?: boolean;
|
42
47
|
/**
|
43
48
|
* Determines if row should be disabled.
|
44
49
|
* Disabled rows appear lighter in color and do not allow clicking row contents.
|
45
50
|
*/
|
46
|
-
disabled?: (row: R, index: number, rows: R[]) => boolean;
|
51
|
+
disabled?: (row: R, index: number, rows: DataListGroupedRows<R> | R[]) => boolean;
|
47
52
|
/**
|
48
53
|
* Control panel collapsibility.
|
49
54
|
*/
|
@@ -68,9 +73,9 @@ export declare type DataListProps<C extends DataListColumn<R>, R extends DataTab
|
|
68
73
|
} | null) => void;
|
69
74
|
};
|
70
75
|
export declare const DataList: {
|
71
|
-
<C extends DataListColumn<R>, R extends DataTableRow>({ columns, rows, sticky, menu, menuLabel, menuAriaLabel, menuHeaderName, onAction, onMenuOpenChange, rowDetails, group, disabled, getGroupRow, onGroupToggled, expandedGroupIds, defaultSort, onSortChanged, ...rest }: DataListProps<C, R>): React.JSX.Element;
|
76
|
+
<C extends DataListColumn<R>, R extends DataTableRow>({ columns, rows, hideHeader, sticky, menu, menuLabel, menuAriaLabel, menuHeaderName, onAction, onMenuOpenChange, rowDetails, group, disabled, getGroupRow, onGroupToggled, expandedGroupIds, defaultSort, onSortChanged, ...rest }: DataListProps<C, R>): React.JSX.Element;
|
72
77
|
Skeleton: React.FC<{
|
73
|
-
columns?: number | (number | `${number}`)[] | undefined;
|
78
|
+
columns?: number | (number | `${number}` | `fit-content(${string})`)[] | undefined;
|
74
79
|
rows?: number | undefined;
|
75
80
|
}>;
|
76
81
|
};
|
@@ -12,134 +12,66 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
12
12
|
import React from 'react';
|
13
13
|
import compact from 'lodash/compact';
|
14
14
|
import groupBy from 'lodash/groupBy';
|
15
|
+
import isArray from 'lodash/isArray';
|
15
16
|
import isFunction from 'lodash/isFunction';
|
16
17
|
import { Accordion } from '../../../src/molecules/Accordion/Accordion';
|
17
|
-
import { Button } from '../../../src/molecules/Button/Button';
|
18
|
-
import { StatusChip } from '../../../src/molecules/Chip/Chip';
|
19
|
-
import { DropdownMenu } from '../../../src/molecules/DropdownMenu/DropdownMenu';
|
20
18
|
import { List } from '../../../src/molecules/List/List';
|
21
19
|
import { Template } from '../../../src/molecules/Template/Template';
|
22
20
|
import { Tooltip } from '../../../src/molecules/Tooltip/Tooltip';
|
23
21
|
import { DataList as DataListBase } from '../../../src/atoms/DataList/DataList';
|
24
|
-
import {
|
25
|
-
import { renameProperty } from '../../../src/utils/object';
|
26
|
-
import { cellProps, columnIsFieldColumn, } from '../../../src/utils/table/types';
|
22
|
+
import { areRowsGrouped, cellProps, columnIsFieldColumn, } from '../../../src/utils/table/types';
|
27
23
|
import { useTableSort } from '../../../src/utils/table/useTableSort';
|
28
24
|
import { sortRowsBy } from '../../../src/utils/table/utils';
|
29
25
|
import { tw } from '../../../src/utils/tailwind';
|
30
|
-
import
|
26
|
+
import { DataListRow, DataListRowMenu } from './DataListComponents';
|
27
|
+
import { DataListGroup } from './DataListGroup';
|
31
28
|
import { DataListSkeleton } from './DataListSkeleton';
|
32
|
-
const sortGroupKeys = (groupKeys) => [...groupKeys].sort((a) => (a === 'undefined' ? -1 : 1));
|
33
29
|
export const DataList = (_a) => {
|
34
30
|
var _b;
|
35
|
-
var { columns, rows, sticky, menu, menuLabel, menuAriaLabel = menuLabel !== null && menuLabel !== void 0 ? menuLabel : 'Context menu', menuHeaderName = 'Actions', onAction, onMenuOpenChange, rowDetails, group, disabled, getGroupRow, onGroupToggled, expandedGroupIds, defaultSort, onSortChanged } = _a, rest = __rest(_a, ["columns", "rows", "sticky", "menu", "menuLabel", "menuAriaLabel", "menuHeaderName", "onAction", "onMenuOpenChange", "rowDetails", "group", "disabled", "getGroupRow", "onGroupToggled", "expandedGroupIds", "defaultSort", "onSortChanged"]);
|
31
|
+
var { columns, rows, hideHeader = false, sticky, menu, menuLabel, menuAriaLabel = menuLabel !== null && menuLabel !== void 0 ? menuLabel : 'Context menu', menuHeaderName = 'Actions', onAction, onMenuOpenChange, rowDetails, group, disabled, getGroupRow, onGroupToggled, expandedGroupIds, defaultSort, onSortChanged } = _a, rest = __rest(_a, ["columns", "rows", "hideHeader", "sticky", "menu", "menuLabel", "menuAriaLabel", "menuHeaderName", "onAction", "onMenuOpenChange", "rowDetails", "group", "disabled", "getGroupRow", "onGroupToggled", "expandedGroupIds", "defaultSort", "onSortChanged"]);
|
36
32
|
const defaultSortedColumn = columns.find((c) => c.headerName === (defaultSort === null || defaultSort === void 0 ? void 0 : defaultSort.headerName));
|
37
33
|
const initialSortState = defaultSortedColumn
|
38
34
|
? { column: defaultSortedColumn, direction: (_b = defaultSort === null || defaultSort === void 0 ? void 0 : defaultSort.direction) !== null && _b !== void 0 ? _b : 'ascending' }
|
39
35
|
: undefined;
|
40
36
|
const [sort, updateSort] = useTableSort(onSortChanged ? Object.assign(Object.assign({}, initialSortState), { onSortChanged }) : initialSortState);
|
41
|
-
const sortedRows = sortRowsBy(rows, sort);
|
42
|
-
const groups =
|
43
|
-
|
44
|
-
|
37
|
+
const sortedRows = isArray(rows) ? sortRowsBy(rows, sort) : [];
|
38
|
+
const groups = areRowsGrouped(rows)
|
39
|
+
? rows
|
40
|
+
: group
|
41
|
+
? isFunction(group)
|
42
|
+
? group(sortedRows)
|
43
|
+
: groupBy(sortedRows, group)
|
44
|
+
: undefined;
|
45
45
|
// if rowDetails is defined we can reserve space for the toggle column
|
46
|
-
const isCollapsible = isFunction(rowDetails)
|
46
|
+
const isCollapsible = isFunction(rowDetails);
|
47
47
|
const templateColumns = compact([
|
48
|
-
isCollapsible ?
|
48
|
+
isCollapsible ? 'fit-content(50px)' : undefined,
|
49
49
|
...columns.map((column) => { var _a; return (_a = column.width) !== null && _a !== void 0 ? _a : 'auto'; }),
|
50
|
-
menu ? '
|
50
|
+
menu ? 'fit-content(28px)' : undefined,
|
51
51
|
]);
|
52
52
|
const PaginationFooter = React.useCallback(({ children }) => (React.createElement("div", { style: { gridColumn: '1 / -1' }, role: "row" },
|
53
53
|
React.createElement("div", { role: "cell" }, children))), []);
|
54
54
|
return (React.createElement(Template, { className: "Aquarium-DataList", columns: templateColumns, role: "table" },
|
55
|
-
React.createElement(DataListBase.Row,
|
55
|
+
!hideHeader && (React.createElement(DataListBase.Row, { header: true },
|
56
56
|
isCollapsible && React.createElement(DataListBase.HeadCell, { align: "left", sticky: sticky }),
|
57
57
|
columns.map((column) => {
|
58
58
|
const content = column.headerTooltip ? (React.createElement(Tooltip, { placement: column.headerTooltip.placement, content: column.headerTooltip.content }, column.headerName)) : (column.headerName);
|
59
59
|
return (columnIsFieldColumn(column) && column.sortable) || column.sort ? (React.createElement(DataListBase.SortCell, Object.assign({ direction: sort && sort.column.headerName === column.headerName ? sort.direction : 'none', onClick: () => updateSort(column), sticky: sticky }, cellProps(column)), content)) : (React.createElement(DataListBase.HeadCell, Object.assign({}, cellProps(column), { sticky: sticky }), content));
|
60
60
|
}),
|
61
|
-
menu && (React.createElement(DataListBase.HeadCell, { align: "right", "aria-label": menuAriaLabel, sticky: sticky }, menuHeaderName))),
|
62
|
-
groups &&
|
63
|
-
|
64
|
-
return key === 'undefined' ? (groupContent) : (React.createElement(Accordion, { key: key, openPanelId: expandedGroupIds ? expandedGroupIds.find((id) => id === key) || null : undefined },
|
65
|
-
hasCustomRenderForGroupRow ? (React.createElement(DataListBase.Row, null,
|
66
|
-
React.createElement(DataListBase.Cell, null,
|
67
|
-
React.createElement(Accordion.Toggle, { panelId: key, onChange: onGroupToggled })),
|
68
|
-
React.createElement(List, { items: columns, renderItem: (column) => (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column)), renderCell(column, getGroupRow(key, groups[key]), -1, []))) }),
|
69
|
-
renderRowMenu(getGroupRow(key, groups[key]), -1, {
|
70
|
-
menu,
|
71
|
-
onAction,
|
72
|
-
onMenuOpenChange,
|
73
|
-
menuAriaLabel,
|
74
|
-
}))) : (React.createElement(DataListBase.Row, null,
|
75
|
-
React.createElement(DataListBase.Cell, null,
|
76
|
-
React.createElement(Accordion.Toggle, { panelId: key, onChange: onGroupToggled })),
|
77
|
-
React.createElement(DataListBase.Cell, { style: { gridColumn: '2 / -1', gap: 4 } },
|
78
|
-
"Group: ",
|
79
|
-
React.createElement("b", null, key)))),
|
80
|
-
React.createElement(DataListBase.Row, { subgroup: true },
|
81
|
-
React.createElement(Accordion.UnanimatedPanel, { panelId: key },
|
82
|
-
React.createElement(DataListBase.SubGroupSpacing, null),
|
83
|
-
groupContent,
|
84
|
-
React.createElement(DataListBase.SubGroupSpacing, { divider: true })))));
|
85
|
-
} })) : (React.createElement(List, Object.assign({}, rest, { paginationContainer: PaginationFooter, items: sortedRows, renderItem: (row, index) => {
|
61
|
+
menu && (React.createElement(DataListBase.HeadCell, { align: "right", "aria-label": menuAriaLabel, sticky: sticky }, menuHeaderName)))),
|
62
|
+
groups && (React.createElement(DataListGroup, { columns: columns, disabled: disabled, getGroupRow: getGroupRow, expandedGroupIds: expandedGroupIds, menu: menu, menuAriaLabel: menuAriaLabel, onAction: onAction, onGroupToggled: onGroupToggled, onMenuOpenChange: onMenuOpenChange, rows: rows, groups: groups, level: 0 })),
|
63
|
+
!groups && (React.createElement(List, Object.assign({}, rest, { paginationContainer: PaginationFooter, items: sortedRows, renderItem: (row, index) => {
|
86
64
|
const details = rowDetails === null || rowDetails === void 0 ? void 0 : rowDetails(row, index, sortedRows);
|
87
|
-
const content =
|
88
|
-
|
65
|
+
const content = (React.createElement(DataListRow, { key: row.id, columns: columns, row: row, index: index, rows: sortedRows, menu: React.createElement(DataListRowMenu, { row: row, index: index, menu: menu, onAction: onAction, onMenuOpenChange: onMenuOpenChange, menuAriaLabel: menuAriaLabel }), disabled: disabled, renderFirstColumn: () => rowDetails !== undefined && (React.createElement(DataListBase.Cell, null, details && React.createElement(Accordion.Toggle, { panelId: row.id.toString(), onChange: onGroupToggled }))) }));
|
66
|
+
// Row has no additional details, so we can render it without the accordion.
|
67
|
+
if (!details) {
|
68
|
+
return content;
|
69
|
+
}
|
70
|
+
return (React.createElement(Accordion, { key: row.id, openPanelId: expandedGroupIds ? expandedGroupIds.find((id) => id === row.id) || null : undefined },
|
89
71
|
content,
|
90
72
|
React.createElement(Accordion.Panel, { role: "row", panelId: row.id.toString(), className: tw('col-span-full bg-grey-0 border-b border-grey-10'), "aria-label": `row ${row.id.toString()} details` },
|
91
|
-
React.createElement("div", { role: "cell" }, details))))
|
73
|
+
React.createElement("div", { role: "cell" }, details))));
|
92
74
|
} })))));
|
93
75
|
};
|
94
|
-
const renderRowMenu = (row, index, { menu, onAction, onMenuOpenChange, menuAriaLabel, }) => {
|
95
|
-
if (menu) {
|
96
|
-
const menuContent = isFunction(menu) ? menu(row, index) : menu;
|
97
|
-
return (React.createElement(DataListBase.Cell, { align: "right" }, menuContent && (React.createElement(DropdownMenu, { onAction: (action) => onAction === null || onAction === void 0 ? void 0 : onAction(action, row, index), onOpenChange: onMenuOpenChange },
|
98
|
-
React.createElement(DropdownMenu.Trigger, null,
|
99
|
-
React.createElement(Button.Icon, { "aria-label": menuAriaLabel, icon: more })),
|
100
|
-
menuContent))));
|
101
|
-
}
|
102
|
-
return undefined;
|
103
|
-
};
|
104
|
-
const renderRow = (columns, row, index, rows, menu, disabled, renderFirstColumn) => {
|
105
|
-
var _a;
|
106
|
-
const isRowDisabled = (_a = disabled === null || disabled === void 0 ? void 0 : disabled(row, index, rows)) !== null && _a !== void 0 ? _a : false;
|
107
|
-
return (React.createElement(DataListBase.Row, { key: row.id, disabled: isRowDisabled }, renderFirstColumn === null || renderFirstColumn === void 0 ? void 0 :
|
108
|
-
renderFirstColumn(row, index, rows),
|
109
|
-
React.createElement(List, { items: columns, renderItem: (column) => (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column)), renderCell(column, row, index, rows))) }),
|
110
|
-
menu));
|
111
|
-
};
|
112
|
-
const DEFAULT_CONTENT = '';
|
113
|
-
const renderCell = (column, row, index, rows) => {
|
114
|
-
let cellContent = DEFAULT_CONTENT;
|
115
|
-
if (column.type === 'status') {
|
116
|
-
const status = column.status(row, index, rows);
|
117
|
-
if (status) {
|
118
|
-
cellContent = React.createElement(StatusChip, Object.assign({ dense: true }, status));
|
119
|
-
}
|
120
|
-
}
|
121
|
-
else if (column.type === 'action') {
|
122
|
-
const action = renameProperty('text', 'children', column.action(row, index, rows));
|
123
|
-
if (action) {
|
124
|
-
cellContent = React.createElement(Button.Secondary, Object.assign({ dense: true }, action));
|
125
|
-
}
|
126
|
-
}
|
127
|
-
else if (column.type === 'custom') {
|
128
|
-
cellContent = column.UNSAFE_render(row, index, rows);
|
129
|
-
}
|
130
|
-
else if (column.type === 'item') {
|
131
|
-
const item = column.item(row, index, rows);
|
132
|
-
if (item) {
|
133
|
-
cellContent = React.createElement(Item, Object.assign({}, item));
|
134
|
-
}
|
135
|
-
}
|
136
|
-
else if (column.formatter) {
|
137
|
-
cellContent = column.formatter(row[column.field], row, index, rows);
|
138
|
-
}
|
139
|
-
else {
|
140
|
-
cellContent = row[column.field];
|
141
|
-
}
|
142
|
-
return column.tooltip ? React.createElement(Tooltip, Object.assign({}, column.tooltip(row, index, rows)), cellContent) : cellContent;
|
143
|
-
};
|
144
76
|
DataList.Skeleton = DataListSkeleton;
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0RhdGFMaXN0L0RhdGFMaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLFVBQVUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBMEIsSUFBSSxFQUE0QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQWUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxTQUFTLEVBQ1QsbUJBQW1CLEdBTXBCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHeEMsT0FBTyxJQUFJLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFtRXRELE1BQU0sYUFBYSxHQUFHLENBQUMsU0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV4RyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBc0QsRUFtQnhELEVBQUUsRUFBRTs7UUFuQm9ELEVBQzVFLE9BQU8sRUFDUCxJQUFJLEVBQ0osTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsYUFBYSxHQUFHLFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxHQUFJLGNBQWMsRUFDM0MsY0FBYyxHQUFHLFNBQVMsRUFDMUIsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsS0FBSyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsYUFBYSxPQUVPLEVBRGpCLElBQUksY0FsQnFFLDZPQW1CN0UsQ0FEUTtJQUVQLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsTUFBSyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsVUFBVSxDQUFBLENBQUMsQ0FBQztJQUMxRixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQjtRQUMxQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFNBQVMsbUNBQUksV0FBVyxFQUFFO1FBQ25GLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFZCxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLFlBQVksQ0FDckMsYUFBYSxDQUFDLENBQUMsaUNBQU0sZ0JBQWdCLEtBQUUsYUFBYSxJQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FDMUUsQ0FBQztJQUNGLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMzRCxNQUFNLDBCQUEwQixHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUUzRCxzRUFBc0U7SUFDdEUsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUV0RCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7UUFDOUIsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDOUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBQyxPQUFBLE1BQUEsTUFBTSxDQUFDLEtBQUssbUNBQUksTUFBTSxDQUFBLEVBQUEsQ0FBQztRQUNsRCxJQUFJLENBQUMsQ0FBQyxDQUFFLE1BQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDdEMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxnQkFBZ0IsR0FBc0MsS0FBSyxDQUFDLFdBQVcsQ0FDM0UsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUNoQiw2QkFBSyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFDLEtBQUs7UUFDOUMsNkJBQUssSUFBSSxFQUFDLE1BQU0sSUFBRSxRQUFRLENBQU8sQ0FDN0IsQ0FDUCxFQUNELEVBQUUsQ0FDSCxDQUFDO0lBRUYsT0FBTyxDQUNMLG9CQUFDLFFBQVEsSUFBQyxTQUFTLEVBQUMsbUJBQW1CLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUMsT0FBTztRQUM1RSxvQkFBQyxZQUFZLENBQUMsR0FBRztZQUNkLGFBQWEsSUFBSSxvQkFBQyxZQUFZLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFFLE1BQU0sR0FBSTtZQUN2RSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQ3JDLG9CQUFDLE9BQU8sSUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUN0RixNQUFNLENBQUMsVUFBVSxDQUNWLENBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FDRixNQUFNLENBQUMsVUFBVSxDQUNsQixDQUFDO2dCQUNGLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDdkUsb0JBQUMsWUFBWSxDQUFDLFFBQVEsa0JBQ3BCLFNBQVMsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUN6RixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUNqQyxNQUFNLEVBQUUsTUFBTSxJQUNWLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FFcEIsT0FBTyxDQUNjLENBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQ0Ysb0JBQUMsWUFBWSxDQUFDLFFBQVEsb0JBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFFLE1BQU0sRUFBRSxNQUFNLEtBQ3pELE9BQU8sQ0FDYyxDQUN6QixDQUFDO1lBQ0osQ0FBQyxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQ1Asb0JBQUMsWUFBWSxDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUMsT0FBTyxnQkFBYSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFDM0UsY0FBYyxDQUNPLENBQ3pCLENBQ2dCO1FBRWxCLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ3JCLG9CQUFDLElBQUksSUFDSCxLQUFLLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUMvQixVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbEIsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsb0JBQUMsSUFBSSxJQUNILEdBQUcsRUFBRSxHQUFHLEVBQ1IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDbEIsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ3pCLFNBQVMsQ0FDUCxPQUFPLEVBQ1AsR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsYUFBYSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQzlFLFFBQVEsRUFDUixHQUFHLEVBQUUsQ0FBQyxvQkFBQyxZQUFZLENBQUMsSUFBSSxPQUFHLENBQzVCLEdBRUgsQ0FDSCxDQUFDO2dCQUVGLE9BQU8sR0FBRyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDM0IsWUFBWSxDQUNiLENBQUMsQ0FBQyxDQUFDLENBQ0Ysb0JBQUMsU0FBUyxJQUNSLEdBQUcsRUFBRSxHQUFHLEVBQ1IsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7b0JBRTVGLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUM1QixvQkFBQyxZQUFZLENBQUMsR0FBRzt3QkFDZixvQkFBQyxZQUFZLENBQUMsSUFBSTs0QkFDaEIsb0JBQUMsU0FBUyxDQUFDLE1BQU0sSUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxjQUFjLEdBQUksQ0FDMUM7d0JBQ3BCLG9CQUFDLElBQUksSUFDSCxLQUFLLEVBQUUsT0FBTyxFQUNkLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FDdEIsb0JBQUMsWUFBWSxDQUFDLElBQUksb0JBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUNyQyxVQUFVLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ3hDLENBQ3JCLEdBQ0Q7d0JBQ0QsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7NEJBQ2hELElBQUk7NEJBQ0osUUFBUTs0QkFDUixnQkFBZ0I7NEJBQ2hCLGFBQWE7eUJBQ2QsQ0FBQyxDQUNlLENBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQ0Ysb0JBQUMsWUFBWSxDQUFDLEdBQUc7d0JBQ2Ysb0JBQUMsWUFBWSxDQUFDLElBQUk7NEJBQ2hCLG9CQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsY0FBYyxHQUFJLENBQzFDO3dCQUNwQixvQkFBQyxZQUFZLENBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTs7NEJBQ2pELCtCQUFJLEdBQUcsQ0FBSyxDQUNELENBQ0gsQ0FDcEI7b0JBQ0Qsb0JBQUMsWUFBWSxDQUFDLEdBQUcsSUFBQyxRQUFRO3dCQUN4QixvQkFBQyxTQUFTLENBQUMsZUFBZSxJQUFDLE9BQU8sRUFBRSxHQUFHOzRCQUNyQyxvQkFBQyxZQUFZLENBQUMsZUFBZSxPQUFHOzRCQUMvQixZQUFZOzRCQUNiLG9CQUFDLFlBQVksQ0FBQyxlQUFlLElBQUMsT0FBTyxTQUFHLENBQ2QsQ0FDWCxDQUNULENBQ2IsQ0FBQztZQUNKLENBQUMsR0FDRCxDQUNILENBQUMsQ0FBQyxDQUFDLENBQ0Ysb0JBQUMsSUFBSSxvQkFDQyxJQUFJLElBQ1IsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQ3JDLEtBQUssRUFBRSxVQUFVLEVBQ2pCLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDekIsTUFBTSxPQUFPLEdBQUcsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3JELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FDdkIsT0FBTyxFQUNQLEdBQUcsRUFDSCxLQUFLLEVBQ0wsVUFBVSxFQUNWLGFBQWEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUM5RSxRQUFRLEVBQ1IsR0FBRyxFQUFFLENBQ0gsVUFBVSxLQUFLLFNBQVMsSUFBSSxDQUMxQixvQkFBQyxZQUFZLENBQUMsSUFBSSxRQUNmLE9BQU8sSUFBSSxvQkFBQyxTQUFTLENBQUMsTUFBTSxJQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxjQUFjLEdBQUksQ0FDcEUsQ0FDckIsQ0FDSixDQUFDO2dCQUNGLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNmLG9CQUFDLFNBQVMsSUFDUixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFDWCxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7b0JBRS9GLE9BQU87b0JBQ1Isb0JBQUMsU0FBUyxDQUFDLEtBQUssSUFDZCxJQUFJLEVBQUMsS0FBSyxFQUNWLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUMxQixTQUFTLEVBQUUsRUFBRSxDQUFDLGlEQUFpRCxDQUFDLGdCQUNwRCxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVU7d0JBRTlDLDZCQUFLLElBQUksRUFBQyxNQUFNLElBQUUsT0FBTyxDQUFPLENBQ2hCLENBQ1IsQ0FDYixDQUFDLENBQUMsQ0FBQyxDQUNGLE9BQU8sQ0FDUixDQUFDO1lBQ0osQ0FBQyxJQUNELENBQ0gsQ0FDUSxDQUNaLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUNwQixHQUFNLEVBQ04sS0FBYSxFQUNiLEVBQ0UsSUFBSSxFQUNKLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsYUFBYSxHQUMyRSxFQUMxRixFQUFFO0lBQ0YsSUFBSSxJQUFJLEVBQUU7UUFDUixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRCxPQUFPLENBQ0wsb0JBQUMsWUFBWSxDQUFDLElBQUksSUFBQyxLQUFLLEVBQUMsT0FBTyxJQUM3QixXQUFXLElBQUksQ0FDZCxvQkFBQyxZQUFZLElBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCO1lBQ2hHLG9CQUFDLFlBQVksQ0FBQyxPQUFPO2dCQUNuQixvQkFBQyxNQUFNLENBQUMsSUFBSSxrQkFBYSxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksR0FBSSxDQUNqQztZQUN0QixXQUFXLENBQ0MsQ0FDaEIsQ0FDaUIsQ0FDckIsQ0FBQztLQUNIO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUcsQ0FDaEIsT0FBWSxFQUNaLEdBQU0sRUFDTixLQUFhLEVBQ2IsSUFBUyxFQUNULElBQTZCLEVBQzdCLFFBQXdELEVBQ3hELGlCQUFxRixFQUNyRixFQUFFOztJQUNGLE1BQU0sYUFBYSxHQUFHLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG1DQUFJLEtBQUssQ0FBQztJQUM1RCxPQUFPLENBQ0wsb0JBQUMsWUFBWSxDQUFDLEdBQUcsSUFBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsYUFBYSxJQUNuRCxpQkFBaUIsYUFBakIsaUJBQWlCO1FBQWpCLGlCQUFpQixDQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO1FBQ3RDLG9CQUFDLElBQUksSUFDSCxLQUFLLEVBQUUsT0FBTyxFQUNkLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FDdEIsb0JBQUMsWUFBWSxDQUFDLElBQUksb0JBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBcUIsQ0FDckcsR0FDRDtRQUNELElBQUksQ0FDWSxDQUNwQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBRTNCLE1BQU0sVUFBVSxHQUFHLENBQ2pCLE1BQVMsRUFDVCxHQUFNLEVBQ04sS0FBYSxFQUNiLElBQVMsRUFDVCxFQUFFO0lBQ0YsSUFBSSxXQUFXLEdBQW9CLGVBQWUsQ0FBQztJQUVuRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLE1BQU0sRUFBRTtZQUNWLFdBQVcsR0FBRyxvQkFBQyxVQUFVLGtCQUFDLEtBQUssVUFBSyxNQUFNLEVBQUksQ0FBQztTQUNoRDtLQUNGO1NBQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUNuQyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRixJQUFJLE1BQU0sRUFBRTtZQUNWLFdBQVcsR0FBRyxvQkFBQyxNQUFNLENBQUMsU0FBUyxrQkFBQyxLQUFLLFVBQUssTUFBTSxFQUFJLENBQUM7U0FDdEQ7S0FDRjtTQUFNLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDbkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN0RDtTQUFNLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7UUFDakMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksSUFBSSxFQUFFO1lBQ1IsV0FBVyxHQUFHLG9CQUFDLElBQUksb0JBQUssSUFBSSxFQUFJLENBQUM7U0FDbEM7S0FDRjtTQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUMzQixXQUFXLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckU7U0FBTTtRQUNMLFdBQVcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxvQkFBQyxPQUFPLG9CQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxXQUFXLENBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0FBQy9HLENBQUMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMifQ==
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0RhdGFMaXN0L0RhdGFMaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLFVBQVUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBMEIsSUFBSSxFQUE0QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQWUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsRUFDVCxtQkFBbUIsR0FPcEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQStFdEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxH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
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { type DataListColumn, type DataListGroupedRows, type DataTableMenuProps, type DataTableRow } from '../../../src/utils/table/types';
|
3
|
+
declare type DataListRowMenuProps<R extends DataTableRow> = Pick<DataTableMenuProps<R>, 'menu' | 'menuAriaLabel' | 'onAction' | 'onMenuOpenChange'> & {
|
4
|
+
row: R;
|
5
|
+
index: number;
|
6
|
+
};
|
7
|
+
export declare const DataListRowMenu: <R extends DataTableRow>({ row, index, menu, onAction, onMenuOpenChange, menuAriaLabel, }: DataListRowMenuProps<R>) => JSX.Element | null;
|
8
|
+
declare type DataListRowProps<C extends DataListColumn<R>, R extends DataTableRow> = {
|
9
|
+
columns: C[];
|
10
|
+
row: R;
|
11
|
+
index: number;
|
12
|
+
rows: DataListGroupedRows<R> | R[];
|
13
|
+
menu: JSX.Element | undefined;
|
14
|
+
active?: boolean;
|
15
|
+
disabled?: (row: R, index: number, rows: DataListGroupedRows<R> | R[]) => boolean;
|
16
|
+
renderFirstColumn?: (row: R, index: number, rows: DataListGroupedRows<R> | R[]) => React.ReactNode | undefined;
|
17
|
+
additionalColumnProps?: (column: C, index: number, columns: C[], row: R) => React.HTMLProps<HTMLDivElement>;
|
18
|
+
};
|
19
|
+
export declare const DataListRow: <C extends DataListColumn<R>, R extends DataTableRow>({ columns, row, index, rows, menu, active, disabled, renderFirstColumn, additionalColumnProps, }: DataListRowProps<C, R>) => JSX.Element;
|
20
|
+
declare type DataListCellProps<C extends DataListColumn<R>, R extends DataTableRow> = {
|
21
|
+
column: C;
|
22
|
+
row: R;
|
23
|
+
index: number;
|
24
|
+
rows: DataListGroupedRows<R> | R[];
|
25
|
+
};
|
26
|
+
export declare const DataListCell: <C extends DataListColumn<R>, R extends DataTableRow>({ column, row, index, rows: _rows, }: DataListCellProps<C, R>) => JSX.Element;
|
27
|
+
export {};
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import isFunction from 'lodash/isFunction';
|
3
|
+
import { Button } from '../../../src/molecules/Button/Button';
|
4
|
+
import { StatusChip } from '../../../src/molecules/Chip/Chip';
|
5
|
+
import { DropdownMenu } from '../../../src/molecules/DropdownMenu/DropdownMenu';
|
6
|
+
import { List } from '../../../src/molecules/List/List';
|
7
|
+
import { Tooltip } from '../../../src/molecules/Tooltip/Tooltip';
|
8
|
+
import { DataList as DataListBase } from '../../../src/atoms/DataList/DataList';
|
9
|
+
import { Item } from '../../../src/atoms/Table/Table';
|
10
|
+
import { renameProperty } from '../../../src/utils/object';
|
11
|
+
import { areRowsGrouped, cellProps, } from '../../../src/utils/table/types';
|
12
|
+
import more from '../../../src/icons/more';
|
13
|
+
export const DataListRowMenu = ({ row, index, menu, onAction, onMenuOpenChange, menuAriaLabel, }) => {
|
14
|
+
if (!menu) {
|
15
|
+
return null;
|
16
|
+
}
|
17
|
+
const menuContent = isFunction(menu) ? menu(row, index) : menu;
|
18
|
+
return (React.createElement(DataListBase.Cell, { align: "right" }, menuContent && (React.createElement(DropdownMenu, { onAction: (action) => onAction === null || onAction === void 0 ? void 0 : onAction(action, row, index), onOpenChange: onMenuOpenChange },
|
19
|
+
React.createElement(DropdownMenu.Trigger, null,
|
20
|
+
React.createElement(Button.Icon, { "aria-label": menuAriaLabel, icon: more })),
|
21
|
+
menuContent))));
|
22
|
+
};
|
23
|
+
export const DataListRow = ({ columns, row, index, rows, menu, active, disabled, renderFirstColumn, additionalColumnProps = () => ({}), }) => {
|
24
|
+
var _a;
|
25
|
+
const isRowDisabled = (_a = disabled === null || disabled === void 0 ? void 0 : disabled(row, index, rows)) !== null && _a !== void 0 ? _a : false;
|
26
|
+
return (React.createElement(DataListBase.Row, { key: row.id, disabled: isRowDisabled, active: active }, renderFirstColumn === null || renderFirstColumn === void 0 ? void 0 :
|
27
|
+
renderFirstColumn(row, index, rows),
|
28
|
+
React.createElement(List, { items: columns, renderItem: (column, columnIndex) => (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column), additionalColumnProps(column, columnIndex, columns, row)),
|
29
|
+
React.createElement(DataListCell, { column: column, row: row, index: index, rows: rows }))) }),
|
30
|
+
menu));
|
31
|
+
};
|
32
|
+
const DEFAULT_CONTENT = '';
|
33
|
+
export const DataListCell = ({ column, row, index, rows: _rows, }) => {
|
34
|
+
let cellContent = DEFAULT_CONTENT;
|
35
|
+
const rows = areRowsGrouped(_rows) ? undefined : _rows;
|
36
|
+
switch (column.type) {
|
37
|
+
case 'status': {
|
38
|
+
const status = column.status(row, index, rows);
|
39
|
+
if (status) {
|
40
|
+
cellContent = React.createElement(StatusChip, Object.assign({ dense: true }, status));
|
41
|
+
}
|
42
|
+
break;
|
43
|
+
}
|
44
|
+
case 'action': {
|
45
|
+
const action = renameProperty('text', 'children', column.action(row, index, rows));
|
46
|
+
if (action) {
|
47
|
+
cellContent = React.createElement(Button.Secondary, Object.assign({ dense: true }, action));
|
48
|
+
}
|
49
|
+
break;
|
50
|
+
}
|
51
|
+
case 'custom': {
|
52
|
+
cellContent = column.UNSAFE_render(row, index, rows);
|
53
|
+
break;
|
54
|
+
}
|
55
|
+
case 'item': {
|
56
|
+
const item = column.item(row, index, rows);
|
57
|
+
if (item) {
|
58
|
+
cellContent = React.createElement(Item, Object.assign({}, item));
|
59
|
+
}
|
60
|
+
break;
|
61
|
+
}
|
62
|
+
default:
|
63
|
+
if (column.formatter) {
|
64
|
+
cellContent = column.formatter(row[column.field], row, index, rows);
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
cellContent = row[column.field];
|
68
|
+
}
|
69
|
+
break;
|
70
|
+
}
|
71
|
+
return column.tooltip ? React.createElement(Tooltip, Object.assign({}, column.tooltip(row, index, rows)), cellContent) : React.createElement(React.Fragment, null, cellContent);
|
72
|
+
};
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3RDb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRhTGlzdC9EYXRhTGlzdENvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFVBQVUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLElBQUksWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsR0FLVixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFDO0FBVWxDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUF5QixFQUN0RCxHQUFHLEVBQ0gsS0FBSyxFQUNMLElBQUksRUFDSixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGFBQWEsR0FDVyxFQUFzQixFQUFFO0lBQ2hELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFF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
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { type DataListColumn, type DataListGroupedRows, type DataTableRow } from '../../../src/utils/table/types';
|
3
|
+
import { type DataListProps } from './DataList';
|
4
|
+
declare type DataListGroupProps<C extends DataListColumn<R>, R extends DataTableRow> = Pick<DataListProps<C, R>, 'columns' | 'disabled' | 'expandedGroupIds' | 'getGroupRow' | 'menu' | 'menuAriaLabel' | 'onAction' | 'onGroupToggled' | 'onMenuOpenChange' | 'rows'> & {
|
5
|
+
level: number;
|
6
|
+
groups: DataListGroupedRows<R> | R[];
|
7
|
+
};
|
8
|
+
export declare const DataListGroup: <C extends DataListColumn<R>, R extends DataTableRow>({ groups, level, ...props }: DataListGroupProps<C, R>) => JSX.Element | null;
|
9
|
+
export {};
|
@@ -0,0 +1,74 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
import React from 'react';
|
13
|
+
import isFunction from 'lodash/isFunction';
|
14
|
+
import { Accordion } from '../../../src/molecules/Accordion/Accordion';
|
15
|
+
import { List } from '../../../src/molecules/List/List';
|
16
|
+
import { DataList as DataListBase } from '../../../src/atoms/DataList/DataList';
|
17
|
+
import { areRowsGrouped, cellProps, } from '../../../src/utils/table/types';
|
18
|
+
import { tw } from '../../../src/utils/tailwind';
|
19
|
+
import { DataListCell, DataListRow, DataListRowMenu } from './DataListComponents';
|
20
|
+
const GAP = 8;
|
21
|
+
const INDENTATION = 28;
|
22
|
+
const sortGroupKeys = (groupKeys) => [...groupKeys].sort((a) => (a === 'undefined' ? -1 : 1));
|
23
|
+
export const DataListGroup = (_a) => {
|
24
|
+
var { groups, level = 0 } = _a, props = __rest(_a, ["groups", "level"]);
|
25
|
+
const { columns, disabled, expandedGroupIds, getGroupRow, menu, menuAriaLabel, onAction, onGroupToggled, onMenuOpenChange, rows, } = props;
|
26
|
+
const groupKeys = groups ? Object.keys(groups) : undefined;
|
27
|
+
const hasCustomRowForGroup = isFunction(getGroupRow);
|
28
|
+
// Let's first check if the group content contains nested groups or not.
|
29
|
+
// If we've reached the deepest level (meaning the grouping is a plain array at this level),
|
30
|
+
// we can just render the rows.
|
31
|
+
if (!areRowsGrouped(groups)) {
|
32
|
+
return (React.createElement(List, { items: groups, renderItem: (row, index) => {
|
33
|
+
return (React.createElement(DataListRow, { key: row.id, columns: columns, row: row, index: index, rows: rows, menu: React.createElement(DataListRowMenu, { row: row, index: index, menu: menu, onAction: onAction, onMenuOpenChange: onMenuOpenChange, menuAriaLabel: menuAriaLabel }), disabled: disabled, additionalColumnProps: (_, columnIndex) => columnIndex === 0
|
34
|
+
? {
|
35
|
+
style: {
|
36
|
+
paddingLeft: `${GAP + level * INDENTATION}px`,
|
37
|
+
},
|
38
|
+
}
|
39
|
+
: {} }));
|
40
|
+
} }));
|
41
|
+
}
|
42
|
+
if (!groupKeys) {
|
43
|
+
return null;
|
44
|
+
}
|
45
|
+
// If there is nested grouping available, render each subgrouping as an <DataListGroup> recursively.
|
46
|
+
return (React.createElement(List, { items: sortGroupKeys(groupKeys), renderItem: (key) => {
|
47
|
+
var _a;
|
48
|
+
const group = groups[key];
|
49
|
+
// When the group key is undefined (or 'undefined'), we have found the direct children rows
|
50
|
+
// of the group and we don't need to wrap them in an <Accordion>. We still want to use
|
51
|
+
// the <DataListRow> component to render the rows so we can end the recursion nicely
|
52
|
+
// and get the indentation right. Note that we don't increase the nesting level here because
|
53
|
+
// the design doesn't include any indentation for the direct children rows of a group.
|
54
|
+
if (key === 'undefined' || key === undefined) {
|
55
|
+
return React.createElement(DataListGroup, Object.assign({ key: "undefined", level: level }, props, { groups: group }));
|
56
|
+
}
|
57
|
+
const openPanelId = expandedGroupIds ? (_a = expandedGroupIds.find((id) => id === key)) !== null && _a !== void 0 ? _a : null : undefined;
|
58
|
+
return (React.createElement(Accordion, { key: key, openPanelId: openPanelId },
|
59
|
+
hasCustomRowForGroup && (React.createElement(DataListBase.Row, { active: !!openPanelId },
|
60
|
+
React.createElement(List, { items: columns, renderItem: (column, idx) => (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column), { className: tw('gap-3'), style: idx === 0 ? { paddingLeft: `${GAP + level * INDENTATION}px` } : undefined }),
|
61
|
+
idx === 0 && React.createElement(Accordion.Toggle, { panelId: key, onChange: onGroupToggled }),
|
62
|
+
React.createElement(DataListCell, { column: column, row: getGroupRow(key, group), index: -1, rows: [] }))) }),
|
63
|
+
React.createElement(DataListRowMenu, { row: getGroupRow(key, group), index: -1, menu: menu, onAction: onAction, onMenuOpenChange: onMenuOpenChange, menuAriaLabel: menuAriaLabel }))),
|
64
|
+
!hasCustomRowForGroup && (React.createElement(DataListBase.Row, { active: !!openPanelId },
|
65
|
+
React.createElement(DataListBase.Cell, { className: tw('gap-3'), style: { paddingLeft: `${GAP + level * INDENTATION}px`, gridColumn: '1 / -1' } },
|
66
|
+
React.createElement(Accordion.Toggle, { panelId: key, onChange: onGroupToggled }),
|
67
|
+
"Group: ",
|
68
|
+
React.createElement("b", null, key)))),
|
69
|
+
React.createElement(DataListBase.Row, { subgroup: true },
|
70
|
+
React.createElement(Accordion.UnanimatedPanel, { panelId: key },
|
71
|
+
React.createElement(DataListGroup, Object.assign({ level: level + 1 }, props, { groups: group }))))));
|
72
|
+
} }));
|
73
|
+
};
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3RHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvRGF0YUxpc3QvRGF0YUxpc3RHcm91cC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxVQUFVLE1BQU0sbUJBQW1CLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXZFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsU0FBUyxHQUlWLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxGLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNkLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUV2QixNQUFNLGFBQWEsR0FBRyxDQUFDLFNBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFtQnhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFzRCxFQUl4RCxFQUFzQixFQUFFO1FBSmdDLEVBQ2pGLE1BQU0sRUFDTixLQUFLLEdBQUcsQ0FBQyxPQUVnQixFQUR0QixLQUFLLGNBSHlFLG1CQUlsRixDQURTO0lBRVIsTUFB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
|
@@ -50,7 +50,7 @@ export declare type DataTableProps<C extends DataTableColumn<R>, R extends DataT
|
|
50
50
|
export declare const DataTable: {
|
51
51
|
<C extends DataTableColumn<R>, R extends DataTableRow>({ columns, rows, noWrap, layout, sticky, menu, menuLabel, menuAriaLabel, menuHeaderName, onAction, onMenuOpenChange, disabled, defaultSort, onSortChanged, ariaLabel, onNext, onPrev, ...rest }: DataTableProps<C, R>): React.JSX.Element;
|
52
52
|
Skeleton: React.FC<{
|
53
|
-
columns?: number | (number | `${number}`)[] | undefined;
|
53
|
+
columns?: number | (number | `${number}` | `fit-content(${string})`)[] | undefined;
|
54
54
|
rows?: number | undefined;
|
55
55
|
}>;
|
56
56
|
};
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { type BoxProps } from '../../../src/molecules/Box/Box';
|
3
3
|
import type twTheme from '../../../tailwind.theme.json';
|
4
|
-
export declare type Weight = 'auto' | `${number}`;
|
4
|
+
export declare type Weight = 'auto' | `${number}` | `fit-content(${string})`;
|
5
5
|
export declare type TemplateProps = Pick<BoxProps, 'alignContent' | 'alignItems' | 'alignSelf' | 'gap' | 'grow' | 'justifyContent' | 'justifySelf' | 'role' | 'style'> & {
|
6
6
|
/**
|
7
7
|
* Provide a number for amount of columns. Columns created this way have equal weight.
|
@@ -17,7 +17,18 @@ export const Template = (_a) => {
|
|
17
17
|
const gridTemplateColumns = typeof columns === 'number'
|
18
18
|
? '1fr '.repeat(columns)
|
19
19
|
: columns
|
20
|
-
.map((column) =>
|
20
|
+
.map((column) => {
|
21
|
+
if (typeof column === 'number') {
|
22
|
+
return `${column}px`;
|
23
|
+
}
|
24
|
+
if (column === 'auto') {
|
25
|
+
return column;
|
26
|
+
}
|
27
|
+
if (column.startsWith('fit-content')) {
|
28
|
+
return column;
|
29
|
+
}
|
30
|
+
return `${column}fr`;
|
31
|
+
})
|
21
32
|
.join(' ');
|
22
33
|
const styles = useStyle({
|
23
34
|
height: fullHeight ? '100%' : undefined,
|
@@ -27,4 +38,4 @@ export const Template = (_a) => {
|
|
27
38
|
});
|
28
39
|
return React.createElement(Box, Object.assign({}, props, { display: "grid", style: Object.assign(Object.assign({}, styles), style) }));
|
29
40
|
};
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL1RlbXBsYXRlL1RlbXBsYXRlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsR0FBRyxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBRTNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQTRCOUMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFxRCxDQUFDLEVBTzFFLEVBQUUsRUFBRTtRQVBzRSxFQUN6RSxPQUFPLEVBQ1AsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxPQUVOLEVBREksS0FBSyxjQU5pRSx5REFPMUUsQ0FEUztJQUVSLE1BQU0sbUJBQW1CLEdBQ3ZCLE9BQU8sT0FBTyxLQUFLLFFBQVE7UUFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxPQUFPO2FBQ0osR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDZCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtnQkFDOUIsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDO2FBQ3RCO1lBQ0QsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO2dCQUNyQixPQUFPLE1BQU0sQ0FBQzthQUNmO1lBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUNwQyxPQUFPLE1BQU0sQ0FBQzthQUNmO1lBQ0QsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVuQixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDdEIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3ZDLG1CQUFtQjtRQUNuQixNQUFNO1FBQ04sU0FBUztLQUNWLENBQUMsQ0FBQztJQUVILE9BQU8sb0JBQUMsR0FBRyxvQkFBSyxLQUFLLElBQUUsT0FBTyxFQUFDLE1BQU0sRUFBQyxLQUFLLGtDQUFPLE1BQU0sR0FBSyxLQUFLLEtBQU0sQ0FBQztBQUMzRSxDQUFDLENBQUMifQ==
|