@aivenio/aquarium 1.61.0 → 1.63.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/atoms.cjs +493 -277
- package/dist/atoms.mjs +492 -277
- package/dist/src/atoms/DataList/DataList.d.ts +14 -0
- package/dist/src/atoms/DataList/DataList.js +29 -1
- package/dist/src/atoms/Typography/Typography.d.ts +1 -1
- package/dist/src/atoms/Typography/Typography.js +1 -1
- package/dist/src/atoms/index.d.ts +1 -0
- package/dist/src/atoms/index.js +2 -1
- package/dist/src/icons/faceHappy.d.ts +9 -0
- package/dist/src/icons/faceHappy.js +11 -0
- package/dist/src/icons/faceSad.d.ts +9 -0
- package/dist/src/icons/faceSad.js +11 -0
- package/dist/src/icons/index.d.ts +2 -0
- package/dist/src/icons/index.js +3 -1
- package/dist/src/molecules/Button/Button.d.ts +12 -0
- package/dist/src/molecules/Button/Button.js +9 -6
- package/dist/src/molecules/Combobox/Combobox.d.ts +3 -1
- package/dist/src/molecules/Combobox/Combobox.js +10 -4
- package/dist/src/molecules/DataList/DataList.d.ts +49 -4
- package/dist/src/molecules/DataList/DataList.js +80 -28
- package/dist/src/molecules/DataList/DataListComponents.d.ts +2 -1
- package/dist/src/molecules/DataList/DataListComponents.js +5 -4
- package/dist/src/molecules/DataList/DataListContext.d.ts +8 -0
- package/dist/src/molecules/DataList/DataListContext.js +13 -0
- package/dist/src/molecules/DataList/DataListGroup.d.ts +7 -3
- package/dist/src/molecules/DataList/DataListGroup.js +31 -9
- package/dist/src/molecules/DataList/DataListToolbar.d.ts +25 -0
- package/dist/src/molecules/DataList/DataListToolbar.js +30 -0
- package/dist/src/molecules/DataList/utils.d.ts +2 -0
- package/dist/src/molecules/DataList/utils.js +3 -0
- package/dist/src/molecules/DataTable/DataTable.js +3 -2
- package/dist/src/molecules/Dialog/Dialog.d.ts +4 -0
- package/dist/src/molecules/Dialog/Dialog.js +9 -4
- package/dist/src/molecules/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/src/molecules/MultiSelect/MultiSelect.js +1 -1
- package/dist/src/molecules/PageHeader/PageHeader.js +3 -2
- package/dist/src/molecules/Section/Section.js +3 -2
- package/dist/src/utils/table/types.d.ts +2 -1
- package/dist/src/utils/table/types.js +1 -1
- package/dist/styles.css +18 -0
- package/dist/system.cjs +850 -575
- package/dist/system.mjs +767 -492
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/ContextualMenu.d.ts +2 -0
- package/dist/types/ContextualMenu.js +2 -2
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +1 -1
@@ -10,6 +10,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React from 'react';
|
13
|
+
import { useControlledState } from '@react-stately/utils';
|
14
|
+
import castArray from 'lodash/castArray';
|
13
15
|
import compact from 'lodash/compact';
|
14
16
|
import groupBy from 'lodash/groupBy';
|
15
17
|
import isArray from 'lodash/isArray';
|
@@ -20,17 +22,22 @@ import { InlineIcon } from '../../../src/molecules/Icon/Icon';
|
|
20
22
|
import { List } from '../../../src/molecules/List/List';
|
21
23
|
import { Template } from '../../../src/molecules/Template/Template';
|
22
24
|
import { Tooltip } from '../../../src/molecules/Tooltip/Tooltip';
|
25
|
+
import { Checkbox } from '../../../src/atoms/Checkbox/Checkbox';
|
23
26
|
import { DataList as DataListBase } from '../../../src/atoms/DataList/DataList';
|
24
27
|
import { areRowsGrouped, cellProps, columnIsFieldColumn, } from '../../../src/utils/table/types';
|
25
28
|
import { useTableSort } from '../../../src/utils/table/useTableSort';
|
26
29
|
import { sortRowsBy } from '../../../src/utils/table/utils';
|
27
30
|
import { tw } from '../../../src/utils/tailwind';
|
28
31
|
import { DataListRow, DataListRowMenu } from './DataListComponents';
|
29
|
-
import {
|
32
|
+
import { DataListContext } from './DataListContext';
|
33
|
+
import { DataListGroup, getDefaultGroupCheckboxLabel, getDefaultRowCheckboxLabel } from './DataListGroup';
|
30
34
|
import { DataListSkeleton } from './DataListSkeleton';
|
35
|
+
import { DataListToolbar } from './DataListToolbar';
|
36
|
+
import { flattenRows } from './utils';
|
31
37
|
export const DataList = (_a) => {
|
32
|
-
var _b;
|
33
|
-
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"]);
|
38
|
+
var _b, _c;
|
39
|
+
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, selectable, getRowCheckboxLabel = getDefaultRowCheckboxLabel, getGroupCheckboxLabel = getDefaultGroupCheckboxLabel, selectedRows, defaultSelectedRows, onSelectionChange, toolbar } = _a, rest = __rest(_a, ["columns", "rows", "hideHeader", "sticky", "menu", "menuLabel", "menuAriaLabel", "menuHeaderName", "onAction", "onMenuOpenChange", "rowDetails", "group", "disabled", "getGroupRow", "onGroupToggled", "expandedGroupIds", "defaultSort", "onSortChanged", "selectable", "getRowCheckboxLabel", "getGroupCheckboxLabel", "selectedRows", "defaultSelectedRows", "onSelectionChange", "toolbar"]);
|
40
|
+
const [selected, setSelected] = useControlledState(selectedRows, defaultSelectedRows, (value) => onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(value !== null && value !== void 0 ? value : []));
|
34
41
|
const defaultSortedColumn = columns.find((c) => c.headerName === (defaultSort === null || defaultSort === void 0 ? void 0 : defaultSort.headerName));
|
35
42
|
const initialSortState = defaultSortedColumn
|
36
43
|
? { column: defaultSortedColumn, direction: (_b = defaultSort === null || defaultSort === void 0 ? void 0 : defaultSort.direction) !== null && _b !== void 0 ? _b : 'ascending' }
|
@@ -47,36 +54,81 @@ export const DataList = (_a) => {
|
|
47
54
|
// if rowDetails is defined we can reserve space for the toggle column
|
48
55
|
const isCollapsible = isFunction(rowDetails);
|
49
56
|
const templateColumns = compact([
|
57
|
+
selectable ? 'fit-content(28px)' : undefined,
|
50
58
|
isCollapsible ? 'fit-content(50px)' : undefined,
|
51
59
|
...columns.map((column) => { var _a; return (_a = column.width) !== null && _a !== void 0 ? _a : 'auto'; }),
|
52
60
|
menu ? 'fit-content(28px)' : undefined,
|
53
61
|
]);
|
54
62
|
const PaginationFooter = React.useCallback(({ children }) => (React.createElement("div", { style: { gridColumn: '1 / -1' }, role: "row" },
|
55
63
|
React.createElement("div", { role: "cell" }, children))), []);
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
64
|
+
const handleSelectionChange = (id) => (e) => {
|
65
|
+
const ids = castArray(id);
|
66
|
+
if (e.target.checked) {
|
67
|
+
setSelected([...(selected !== null && selected !== void 0 ? selected : []), ...ids]);
|
68
|
+
}
|
69
|
+
else {
|
70
|
+
setSelected(selected === null || selected === void 0 ? void 0 : selected.filter((_id) => !ids.includes(_id)));
|
71
|
+
}
|
72
|
+
};
|
73
|
+
const allRows = flattenRows(rows);
|
74
|
+
const totalSelected = (_c = selected === null || selected === void 0 ? void 0 : selected.length) !== null && _c !== void 0 ? _c : 0;
|
75
|
+
const allEnabledRowIds = compact(allRows.map((row, index) => ((disabled === null || disabled === void 0 ? void 0 : disabled(row, index, sortedRows)) ? undefined : row.id)));
|
76
|
+
const allRowsSelected = totalSelected >= allEnabledRowIds.length;
|
77
|
+
return (React.createElement(DataListContext.Provider, { value: {
|
78
|
+
rows: isArray(rows) ? sortedRows : rows,
|
79
|
+
selectedRows: selected,
|
80
|
+
} },
|
81
|
+
React.createElement(Template, { className: "Aquarium-DataList", columns: templateColumns, role: "table" },
|
82
|
+
!hideHeader && (React.createElement(React.Fragment, null,
|
83
|
+
React.createElement(DataListBase.Row, { header: true },
|
84
|
+
selectable && (React.createElement(DataListBase.HeadCell, { align: "left", sticky: sticky },
|
85
|
+
React.createElement(Checkbox, { "aria-label": "Select all rows", indeterminate: totalSelected > 0 && totalSelected < allRows.length, checked: totalSelected > 0, onChange: () => {
|
86
|
+
if (!allRowsSelected) {
|
87
|
+
setSelected(allEnabledRowIds);
|
88
|
+
}
|
89
|
+
else {
|
90
|
+
setSelected([]);
|
91
|
+
}
|
92
|
+
} }))),
|
93
|
+
isCollapsible && React.createElement(DataListBase.HeadCell, { align: "left", sticky: sticky }),
|
94
|
+
columns.map((column) => {
|
95
|
+
const content = column.headerTooltip ? (React.createElement(Tooltip, { placement: column.headerTooltip.placement, content: column.headerTooltip.content }, column.headerName)) : (column.headerName);
|
96
|
+
const headerContentAndIcon = column.icon ? (React.createElement(Box.Flex, { flexDirection: "row", gap: "3", alignItems: "center" },
|
97
|
+
React.createElement(InlineIcon, { icon: column.icon, height: "22", color: "grey-70", "aria-hidden": true }),
|
98
|
+
content)) : (content);
|
99
|
+
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)), headerContentAndIcon)) : (React.createElement(DataListBase.HeadCell, Object.assign({}, cellProps(column), { sticky: sticky }), headerContentAndIcon));
|
100
|
+
}),
|
101
|
+
menu && (React.createElement(DataListBase.HeadCell, { align: "right", "aria-label": menuAriaLabel, sticky: sticky }, menuHeaderName))),
|
102
|
+
toolbar)),
|
103
|
+
groups && (React.createElement(DataListGroup, { columns: columns, disabled: disabled, getGroupRow: getGroupRow, expandedGroupIds: expandedGroupIds, menu: menu, menuAriaLabel: menuAriaLabel, onAction: onAction, onGroupToggled: onGroupToggled, onMenuOpenChange: onMenuOpenChange, selectable: selectable, selectedRows: selected, onSelectionChange: handleSelectionChange, getRowCheckboxLabel: getRowCheckboxLabel, getGroupCheckboxLabel: getGroupCheckboxLabel, rows: rows, groups: groups, level: 0 })),
|
104
|
+
!groups && (React.createElement(List, Object.assign({}, rest, { paginationContainer: PaginationFooter, items: sortedRows, renderItem: (row, index) => {
|
105
|
+
var _a;
|
106
|
+
const details = rowDetails === null || rowDetails === void 0 ? void 0 : rowDetails(row, index, sortedRows);
|
107
|
+
const isChecked = (_a = selected === null || selected === void 0 ? void 0 : selected.includes(row.id)) !== null && _a !== void 0 ? _a : false;
|
108
|
+
const isDisabled = disabled === null || disabled === void 0 ? void 0 : disabled(row, index, sortedRows);
|
109
|
+
const content = (React.createElement(DataListRow, { key: row.id, columns: columns, row: row, index: index, rows: sortedRows, active: selectable && isChecked, menu: React.createElement(DataListRowMenu, { row: row, index: index, menu: menu, onAction: onAction, onMenuOpenChange: onMenuOpenChange, menuAriaLabel: menuAriaLabel }), disabled: disabled, additionalRowProps: (row) => {
|
110
|
+
var _a;
|
111
|
+
return selectable
|
112
|
+
? {
|
113
|
+
'aria-selected': (_a = selected === null || selected === void 0 ? void 0 : selected.includes(row.id)) !== null && _a !== void 0 ? _a : false,
|
114
|
+
}
|
115
|
+
: {};
|
116
|
+
}, renderFirstColumn: (row, index) => {
|
117
|
+
return (React.createElement(React.Fragment, null,
|
118
|
+
selectable && (React.createElement(DataListBase.Cell, null,
|
119
|
+
React.createElement(Checkbox, { "aria-label": getRowCheckboxLabel(row, index, isChecked, sortedRows), onChange: handleSelectionChange(row.id), checked: isChecked, disabled: isDisabled }))),
|
120
|
+
rowDetails !== undefined && (React.createElement(DataListBase.Cell, null, details && React.createElement(Accordion.Toggle, { panelId: row.id.toString(), onChange: onGroupToggled })))));
|
121
|
+
} }));
|
122
|
+
// Row has no additional details, so we can render it without the accordion.
|
123
|
+
if (!details) {
|
124
|
+
return content;
|
125
|
+
}
|
126
|
+
return (React.createElement(Accordion, { key: row.id, openPanelId: expandedGroupIds ? expandedGroupIds.find((id) => id === row.id) || null : undefined },
|
127
|
+
content,
|
128
|
+
React.createElement(Accordion.Panel, { role: "row", panelId: row.id.toString(), className: tw('col-span-full bg-grey-0 border-b border-default'), "aria-label": `row ${row.id.toString()} details` },
|
129
|
+
React.createElement("div", { role: "cell" }, details))));
|
130
|
+
} }))))));
|
80
131
|
};
|
81
132
|
DataList.Skeleton = DataListSkeleton;
|
82
|
-
|
133
|
+
DataList.Toolbar = DataListToolbar;
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0RhdGFMaXN0L0RhdGFMaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLFVBQVUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUEwQixJQUFJLEVBQTRCLE1BQU0seUJBQXlCLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBZSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsRUFDVCxtQkFBbUIsR0FRcEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLDRCQUE0QixFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBOEIsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBeUl0QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBc0QsRUEyQnhELEVBQUUsRUFBRTs7UUEzQm9ELEVBQzVFLE9BQU8sRUFDUCxJQUFJLEVBQ0osVUFBVSxHQUFHLEtBQUssRUFDbEIsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsYUFBYSxHQUFHLFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxHQUFJLGNBQWMsRUFDM0MsY0FBYyxHQUFHLFNBQVMsRUFDMUIsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsS0FBSyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsYUFBYSxFQUNiLFVBQVUsRUFDVixtQkFBbUIsR0FBRywwQkFBMEIsRUFDaEQscUJBQXFCLEdBQUcsNEJBQTRCLEVBQ3BELFlBQVksRUFDWixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLE9BQU8sT0FFYSxFQURqQixJQUFJLGNBMUJxRSxnWUEyQjdFLENBRFE7SUFFUCxNQUFNLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxHQUFHLGtCQUFrQixDQUNoRCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFLENBQUMsQ0FDNUMsQ0FBQztJQUVGLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsTUFBSyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsVUFBVSxDQUFBLENBQUMsQ0FBQztJQUMxRixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQjtRQUMxQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFNBQVMsbUNBQUksV0FBVyxFQUFFO1FBQ25GLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFZCxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLFlBQVksQ0FDckMsYUFBYSxDQUFDLENBQUMsaUNBQU0sZ0JBQWdCLEtBQUUsYUFBYSxJQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FDMUUsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9ELE1BQU0sTUFBTSxHQUF1QyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxJQUFJO1FBQ04sQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztnQkFDakIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztZQUM5QixDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWQsc0VBQXNFO0lBQ3RFLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUU3QyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7UUFDOUIsVUFBVSxDQUFDLENBQUMsQ0FBRSxtQkFBOEIsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUN4RCxhQUFhLENBQUMsQ0FBQyxDQUFFLG1CQUE4QixDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQzNELEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLFdBQUMsT0FBQSxNQUFBLE1BQU0sQ0FBQyxLQUFLLG1DQUFJLE1BQU0sQ0FBQSxFQUFBLENBQUM7UUFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBRSxtQkFBOEIsQ0FBQyxDQUFDLENBQUMsU0FBUztLQUNuRCxDQUFDLENBQUM7SUFFSCxNQUFNLGdCQUFnQixHQUFzQyxLQUFLLENBQUMsV0FBVyxDQUMzRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQ2hCLDZCQUFLLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUMsS0FBSztRQUM5Qyw2QkFBSyxJQUFJLEVBQUMsTUFBTSxJQUFFLFFBQVEsQ0FBTyxDQUM3QixDQUNQLEVBQ0QsRUFBRSxDQUNILENBQUM7SUFFRixNQUFNLHFCQUFxQixHQUFHLENBQUMsRUFBcUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFzQyxFQUFFLEVBQUU7UUFDbEgsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDcEIsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsYUFBUixRQUFRLGNBQVIsUUFBUSxHQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsV0FBVyxDQUFDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsTUFBTSxhQUFhLEdBQUcsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTSxtQ0FBSSxDQUFDLENBQUM7SUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3ZGLENBQUM7SUFDRixNQUFNLGVBQWUsR0FBRyxhQUFhLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBRWpFLE9BQU8sQ0FDTCxvQkFBQyxlQUFlLENBQUMsUUFBUSxJQUN2QixLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDdkMsWUFBWSxFQUFFLFFBQVE7U0FDdkI7UUFFRCxvQkFBQyxRQUFRLElBQUMsU0FBUyxFQUFDLG1CQUFtQixFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFDLE9BQU87WUFDM0UsQ0FBQyxVQUFVLElBQUksQ0FDZDtnQkFDRSxvQkFBQyxZQUFZLENBQUMsR0FBRyxJQUFDLE1BQU07b0JBQ3JCLFVBQVUsSUFBSSxDQUNiLG9CQUFDLFlBQVksQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUUsTUFBTTt3QkFDaEQsb0JBQUMsUUFBUSxrQkFDSSxpQkFBaUIsRUFDNUIsYUFBYSxFQUFFLGFBQWEsR0FBRyxDQUFDLElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQ2xFLE9BQU8sRUFBRSxhQUFhLEdBQUcsQ0FBQyxFQUMxQixRQUFRLEVBQUUsR0FBRyxFQUFFO2dDQUNiLElBQUksQ0FBQyxlQUFlLEVBQUU7b0NBQ3BCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lDQUMvQjtxQ0FBTTtvQ0FDTCxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7aUNBQ2pCOzRCQUNILENBQUMsR0FDRCxDQUNvQixDQUN6QjtvQkFDQSxhQUFhLElBQUksb0JBQUMsWUFBWSxDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUk7b0JBQ3ZFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTt3QkFDdEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FDckMsb0JBQUMsT0FBTyxJQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLElBQ3RGLE1BQU0sQ0FBQyxVQUFVLENBQ1YsQ0FDWCxDQUFDLENBQUMsQ0FBQyxDQUNGLE1BQU0sQ0FBQyxVQUFVLENBQ2xCLENBQUM7d0JBQ0YsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN6QyxvQkFBQyxHQUFHLENBQUMsSUFBSSxJQUFDLGFBQWEsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxVQUFVLEVBQUMsUUFBUTs0QkFDdkQsb0JBQUMsVUFBVSxJQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLFNBQVMsd0JBQWU7NEJBQ3hFLE9BQU8sQ0FDQyxDQUNaLENBQUMsQ0FBQyxDQUFDLENBQ0YsT0FBTyxDQUNSLENBQUM7d0JBQ0YsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxvQkFBQyxZQUFZLENBQUMsUUFBUSxrQkFDcEIsU0FBUyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQ3pGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQ2pDLE1BQU0sRUFBRSxNQUFNLElBQ1YsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUVwQixvQkFBb0IsQ0FDQyxDQUN6QixDQUFDLENBQUMsQ0FBQyxDQUNGLG9CQUFDLFlBQVksQ0FBQyxRQUFRLG9CQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBRSxNQUFNLEVBQUUsTUFBTSxLQUN6RCxvQkFBb0IsQ0FDQyxDQUN6QixDQUFDO29CQUNKLENBQUMsQ0FBQztvQkFDRCxJQUFJLElBQUksQ0FDUCxvQkFBQyxZQUFZLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBQyxPQUFPLGdCQUFhLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUMzRSxjQUFjLENBQ08sQ0FDekIsQ0FDZ0I7Z0JBQ2xCLE9BQU8sQ0FDUCxDQUNKO1lBRUEsTUFBTSxJQUFJLENBQ1Qsb0JBQUMsYUFBYSxJQUNaLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxJQUFJLEVBQUUsSUFBSSxFQUNWLGFBQWEsRUFBRSxhQUFhLEVBQzVCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLGNBQWMsRUFBRSxjQUFjLEVBQzlCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxVQUFVLEVBQUUsVUFBVSxFQUN0QixZQUFZLEVBQUUsUUFBUSxFQUN0QixpQkFBaUIsRUFBRSxxQkFBcUIsRUFDeEMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQ3hDLHFCQUFxQixFQUFFLHFCQUFxQixFQUM1QyxJQUFJLEVBQUUsSUFBSSxFQUNWLE1BQU0sRUFBRSxNQUFNLEVBQ2QsS0FBSyxFQUFFLENBQUMsR0FDUixDQUNIO1lBRUEsQ0FBQyxNQUFNLElBQUksQ0FDVixvQkFBQyxJQUFJLG9CQUNDLElBQUksSUFDUixtQkFBbUIsRUFBRSxnQkFBZ0IsRUFDckMsS0FBSyxFQUFFLFVBQVUsRUFDakIsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFOztvQkFDekIsTUFBTSxPQUFPLEdBQUcsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQ3JELE1BQU0sU0FBUyxHQUFHLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLG1DQUFJLEtBQUssQ0FBQztvQkFDdEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBRXRELE1BQU0sT0FBTyxHQUFHLENBQ2Qsb0JBQUMsV0FBVyxJQUNWLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUNYLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLEdBQUcsRUFBRSxHQUFHLEVBQ1IsS0FBSyxFQUFFLEtBQUssRUFDWixJQUFJLEVBQUUsVUFBVSxFQUNoQixNQUFNLEVBQUUsVUFBVSxJQUFJLFNBQVMsRUFDL0IsSUFBSSxFQUNGLG9CQUFDLGVBQWUsSUFDZCxHQUFHLEVBQUUsR0FBRyxFQUNSLEtBQUssRUFBRSxLQUFLLEVBQ1osSUFBSSxFQUFFLElBQUksRUFDVixRQUFRLEVBQUUsUUFBUSxFQUNsQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsYUFBYSxFQUFFLGFBQWEsR0FDNUIsRUFFSixRQUFRLEVBQUUsUUFBUSxFQUNsQixrQkFBa0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFOzs0QkFDMUIsT0FBQSxVQUFVO2dDQUNSLENBQUMsQ0FBQztvQ0FDRSxlQUFlLEVBQUUsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsbUNBQUksS0FBSztpQ0FDckQ7Z0NBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQTt5QkFBQSxFQUVSLGlCQUFpQixFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFOzRCQUNoQyxPQUFPLENBQ0w7Z0NBQ0csVUFBVSxJQUFJLENBQ2Isb0JBQUMsWUFBWSxDQUFDLElBQUk7b0NBQ2hCLG9CQUFDLFFBQVEsa0JBQ0ssbUJBQW1CLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQ2xFLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQ2xCLFFBQVEsRUFBRSxVQUFVLEdBQ3BCLENBQ2dCLENBQ3JCO2dDQUNBLFVBQVUsS0FBSyxTQUFTLElBQUksQ0FDM0Isb0JBQUMsWUFBWSxDQUFDLElBQUksUUFDZixPQUFPLElBQUksb0JBQUMsU0FBUyxDQUFDLE1BQU0sSUFBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxHQUFJLENBQ3BFLENBQ3JCLENBQ0EsQ0FDSixDQUFDO3dCQUNKLENBQUMsR0FDRCxDQUNILENBQUM7b0JBRUYsNEVBQTRFO29CQUM1RSxJQUFJLENBQUMsT0FBTyxFQUFFO3dCQUNaLE9BQU8sT0FBTyxDQUFDO3FCQUNoQjtvQkFFRCxPQUFPLENBQ0wsb0JBQUMsU0FBUyxJQUNSLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUNYLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUzt3QkFFL0YsT0FBTzt3QkFDUixvQkFBQyxTQUFTLENBQUMsS0FBSyxJQUNkLElBQUksRUFBQyxLQUFLLEVBQ1YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQzFCLFNBQVMsRUFBRSxFQUFFLENBQUMsaURBQWlELENBQUMsZ0JBQ3BELE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBVTs0QkFFOUMsNkJBQUssSUFBSSxFQUFDLE1BQU0sSUFBRSxPQUFPLENBQU8sQ0FDaEIsQ0FDUixDQUNiLENBQUM7Z0JBQ0osQ0FBQyxJQUNELENBQ0gsQ0FDUSxDQUNjLENBQzVCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixRQUFRLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDO0FBQ3JDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDIn0=
|
@@ -14,9 +14,10 @@ declare type DataListRowProps<C extends DataListColumn<R>, R extends DataTableRo
|
|
14
14
|
active?: boolean;
|
15
15
|
disabled?: (row: R, index: number, rows: DataListGroupedRows<R> | R[]) => boolean;
|
16
16
|
renderFirstColumn?: (row: R, index: number, rows: DataListGroupedRows<R> | R[]) => React.ReactNode | undefined;
|
17
|
+
additionalRowProps?: (row: R, index: number, rows: DataListGroupedRows<R> | R[]) => React.HTMLProps<HTMLDivElement>;
|
17
18
|
additionalColumnProps?: (column: C, index: number, columns: C[], row: R) => React.HTMLProps<HTMLDivElement>;
|
18
19
|
};
|
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
|
+
export declare const DataListRow: <C extends DataListColumn<R>, R extends DataTableRow>({ columns, row, index, rows, menu, active, disabled, renderFirstColumn, additionalRowProps, additionalColumnProps, }: DataListRowProps<C, R>) => JSX.Element;
|
20
21
|
declare type DataListCellProps<C extends DataListColumn<R>, R extends DataTableRow> = {
|
21
22
|
column: C;
|
22
23
|
row: R;
|
@@ -9,21 +9,22 @@ import { DataList as DataListBase } from '../../../src/atoms/DataList/DataList';
|
|
9
9
|
import { Item } from '../../../src/atoms/Table/Table';
|
10
10
|
import { renameProperty } from '../../../src/utils/object';
|
11
11
|
import { areRowsGrouped, cellProps, } from '../../../src/utils/table/types';
|
12
|
+
import { defaultContextualMenuPlacement } from '../../../types/ContextualMenu';
|
12
13
|
import more from '../../../src/icons/more';
|
13
14
|
export const DataListRowMenu = ({ row, index, menu, onAction, onMenuOpenChange, menuAriaLabel, }) => {
|
14
15
|
if (!menu) {
|
15
16
|
return null;
|
16
17
|
}
|
17
18
|
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
|
+
return (React.createElement(DataListBase.Cell, { align: "right" }, menuContent && (React.createElement(DropdownMenu, { placement: defaultContextualMenuPlacement, onAction: (action) => onAction === null || onAction === void 0 ? void 0 : onAction(action, row, index), onOpenChange: onMenuOpenChange },
|
19
20
|
React.createElement(DropdownMenu.Trigger, null,
|
20
21
|
React.createElement(Button.Icon, { "aria-label": menuAriaLabel, icon: more })),
|
21
22
|
menuContent))));
|
22
23
|
};
|
23
|
-
export const DataListRow = ({ columns, row, index, rows, menu, active, disabled, renderFirstColumn, additionalColumnProps = () => ({}), }) => {
|
24
|
+
export const DataListRow = ({ columns, row, index, rows, menu, active, disabled, renderFirstColumn, additionalRowProps = () => ({}), additionalColumnProps = () => ({}), }) => {
|
24
25
|
var _a;
|
25
26
|
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
|
+
return (React.createElement(DataListBase.Row, Object.assign({ key: row.id, disabled: isRowDisabled, active: active }, additionalRowProps(row, index, rows)), renderFirstColumn === null || renderFirstColumn === void 0 ? void 0 :
|
27
28
|
renderFirstColumn(row, index, rows),
|
28
29
|
React.createElement(List, { items: columns, renderItem: (column, columnIndex) => (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column), additionalColumnProps(column, columnIndex, columns, row)),
|
29
30
|
React.createElement(DataListCell, { column: column, row: row, index: index, rows: rows }))) }),
|
@@ -70,4 +71,4 @@ export const DataListCell = ({ column, row, index, rows: _rows, }) => {
|
|
70
71
|
}
|
71
72
|
return column.tooltip ? React.createElement(Tooltip, Object.assign({}, column.tooltip(row, index, rows)), cellContent) : React.createElement(React.Fragment, null, cellContent);
|
72
73
|
};
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3RDb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRhTGlzdC9EYXRhTGlzdENvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFVBQVUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLElBQUksWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsR0FLVixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRFLE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFDO0FBVWxDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUF5QixFQUN0RCxHQUFHLEVBQ0gsS0FBSyxFQUNMLElBQUksRUFDSixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGFBQWEsR0FDVyxFQUFzQixFQUFFO0lBQ2hELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFD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
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { type DataListGroupedRows, type DataTableRow, type DataTableRowId } from '../../../src/utils/table/types';
|
3
|
+
export declare type DataListContext = {
|
4
|
+
rows: DataListGroupedRows<DataTableRow> | DataTableRow[];
|
5
|
+
selectedRows: DataTableRowId[] | undefined;
|
6
|
+
};
|
7
|
+
export declare const DataListContext: import("react").Context<DataListContext>;
|
8
|
+
export declare const useDataListContext: () => DataListContext;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { createContext, useContext } from 'react';
|
2
|
+
export const DataListContext = createContext({
|
3
|
+
rows: [],
|
4
|
+
selectedRows: undefined,
|
5
|
+
});
|
6
|
+
export const useDataListContext = () => {
|
7
|
+
const ctx = useContext(DataListContext);
|
8
|
+
if (!ctx) {
|
9
|
+
throw new Error('DataListContext was used outside of provider.');
|
10
|
+
}
|
11
|
+
return ctx;
|
12
|
+
};
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3RDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRhTGlzdC9EYXRhTGlzdENvbnRleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBU2xELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQWtCO0lBQzVELElBQUksRUFBRSxFQUFFO0lBQ1IsWUFBWSxFQUFFLFNBQVM7Q0FDeEIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBb0IsRUFBRTtJQUN0RCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFeEMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztLQUNsRTtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIn0=
|
@@ -1,9 +1,13 @@
|
|
1
|
-
|
2
|
-
import { type DataListColumn, type DataListGroupedRows, type DataTableRow } from '../../../src/utils/table/types';
|
1
|
+
import React from 'react';
|
2
|
+
import { type DataListColumn, type DataListGroupedRows, type DataTableRow, type DataTableRowId } from '../../../src/utils/table/types';
|
3
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'> & {
|
4
|
+
declare type DataListGroupProps<C extends DataListColumn<R>, R extends DataTableRow> = Pick<DataListProps<C, R>, 'columns' | 'disabled' | 'expandedGroupIds' | 'getGroupCheckboxLabel' | 'getGroupRow' | 'getRowCheckboxLabel' | 'menu' | 'menuAriaLabel' | 'onAction' | 'onGroupToggled' | 'onMenuOpenChange' | 'rows' | 'selectable'> & {
|
5
5
|
level: number;
|
6
6
|
groups: DataListGroupedRows<R> | R[];
|
7
|
+
selectedRows?: DataTableRowId[];
|
8
|
+
onSelectionChange: (id: DataTableRowId | DataTableRowId[]) => (e: React.ChangeEvent<HTMLInputElement>) => void;
|
7
9
|
};
|
10
|
+
export declare const getDefaultRowCheckboxLabel: () => string;
|
11
|
+
export declare const getDefaultGroupCheckboxLabel: (key: string) => string;
|
8
12
|
export declare const DataListGroup: <C extends DataListColumn<R>, R extends DataTableRow>({ groups, level, ...props }: DataListGroupProps<C, R>) => JSX.Element | null;
|
9
13
|
export {};
|
@@ -13,16 +13,20 @@ import React from 'react';
|
|
13
13
|
import isFunction from 'lodash/isFunction';
|
14
14
|
import { Accordion } from '../../../src/molecules/Accordion/Accordion';
|
15
15
|
import { List } from '../../../src/molecules/List/List';
|
16
|
+
import { Checkbox } from '../../../src/atoms/Checkbox/Checkbox';
|
16
17
|
import { DataList as DataListBase } from '../../../src/atoms/DataList/DataList';
|
17
18
|
import { areRowsGrouped, cellProps, } from '../../../src/utils/table/types';
|
18
19
|
import { tw } from '../../../src/utils/tailwind';
|
19
20
|
import { DataListCell, DataListRow, DataListRowMenu } from './DataListComponents';
|
21
|
+
import { flattenRows } from './utils';
|
20
22
|
const GAP = 8;
|
21
23
|
const INDENTATION = 28;
|
22
24
|
const sortGroupKeys = (groupKeys) => [...groupKeys].sort((a) => (a === 'undefined' ? -1 : 1));
|
25
|
+
export const getDefaultRowCheckboxLabel = () => 'Select row';
|
26
|
+
export const getDefaultGroupCheckboxLabel = (key) => `Select ${key}`;
|
23
27
|
export const DataListGroup = (_a) => {
|
24
28
|
var { groups, level = 0 } = _a, props = __rest(_a, ["groups", "level"]);
|
25
|
-
const { columns, disabled, expandedGroupIds, getGroupRow, menu, menuAriaLabel, onAction, onGroupToggled, onMenuOpenChange, rows, } = props;
|
29
|
+
const { columns, disabled, expandedGroupIds, getGroupRow, menu, menuAriaLabel, onAction, onGroupToggled, onMenuOpenChange, rows, selectable, selectedRows, onSelectionChange, getRowCheckboxLabel = getDefaultRowCheckboxLabel, getGroupCheckboxLabel = getDefaultGroupCheckboxLabel, } = props;
|
26
30
|
const groupKeys = groups ? Object.keys(groups) : undefined;
|
27
31
|
const hasCustomRowForGroup = isFunction(getGroupRow);
|
28
32
|
// Let's first check if the group content contains nested groups or not.
|
@@ -30,21 +34,31 @@ export const DataListGroup = (_a) => {
|
|
30
34
|
// we can just render the rows.
|
31
35
|
if (!areRowsGrouped(groups)) {
|
32
36
|
return (React.createElement(List, { items: groups, renderItem: (row, index) => {
|
33
|
-
|
37
|
+
var _a;
|
38
|
+
const isChecked = (_a = selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.includes(row.id)) !== null && _a !== void 0 ? _a : false;
|
39
|
+
const isDisabled = disabled === null || disabled === void 0 ? void 0 : disabled(row, index, rows);
|
40
|
+
return (React.createElement(DataListRow, { key: row.id, columns: columns, row: row, index: index, rows: rows, active: selectable && isChecked, menu: React.createElement(DataListRowMenu, { row: row, index: index, menu: menu, onAction: onAction, onMenuOpenChange: onMenuOpenChange, menuAriaLabel: menuAriaLabel }), disabled: disabled, additionalRowProps: () => selectable
|
41
|
+
? {
|
42
|
+
'aria-selected': isChecked,
|
43
|
+
}
|
44
|
+
: {}, additionalColumnProps: (_, columnIndex) => columnIndex === 0
|
34
45
|
? {
|
35
46
|
style: {
|
36
47
|
paddingLeft: `${GAP + level * INDENTATION}px`,
|
37
48
|
},
|
38
49
|
}
|
39
|
-
: {}
|
50
|
+
: {}, renderFirstColumn: (row, index) => {
|
51
|
+
return (React.createElement(React.Fragment, null, selectable && (React.createElement(DataListBase.Cell, null,
|
52
|
+
React.createElement(Checkbox, { "aria-label": getRowCheckboxLabel(row, index, isChecked, rows), onChange: onSelectionChange(row.id), checked: isChecked, disabled: isDisabled })))));
|
53
|
+
} }));
|
40
54
|
} }));
|
41
55
|
}
|
42
56
|
if (!groupKeys) {
|
43
57
|
return null;
|
44
58
|
}
|
45
59
|
// 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;
|
60
|
+
return (React.createElement(List, { items: sortGroupKeys(groupKeys), renderItem: (key, index) => {
|
61
|
+
var _a, _b;
|
48
62
|
const group = groups[key];
|
49
63
|
// When the group key is undefined (or 'undefined'), we have found the direct children rows
|
50
64
|
// of the group and we don't need to wrap them in an <Accordion>. We still want to use
|
@@ -55,14 +69,22 @@ export const DataListGroup = (_a) => {
|
|
55
69
|
return React.createElement(DataListGroup, Object.assign({ key: "undefined", level: level }, props, { groups: group }));
|
56
70
|
}
|
57
71
|
const openPanelId = expandedGroupIds ? (_a = expandedGroupIds.find((id) => id === key)) !== null && _a !== void 0 ? _a : null : undefined;
|
72
|
+
const nestedRowIds = flattenRows(group).map((row) => row.id);
|
73
|
+
const nestedSelectedIds = (_b = selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.filter((id) => nestedRowIds.includes(id))) !== null && _b !== void 0 ? _b : [];
|
74
|
+
const allSelected = nestedRowIds.length === nestedSelectedIds.length;
|
75
|
+
const isChecked = nestedSelectedIds.length > 0;
|
58
76
|
return (React.createElement(Accordion, { key: key, openPanelId: openPanelId },
|
59
|
-
hasCustomRowForGroup && (React.createElement(DataListBase.Row, { active: !!openPanelId },
|
77
|
+
hasCustomRowForGroup && (React.createElement(DataListBase.Row, { active: !!openPanelId || (selectable && isChecked) },
|
78
|
+
selectable && (React.createElement(DataListBase.Cell, null,
|
79
|
+
React.createElement(Checkbox, { "aria-label": getGroupCheckboxLabel(key, group, index, isChecked, rows), checked: isChecked, indeterminate: isChecked && !allSelected, onChange: onSelectionChange(nestedRowIds) }))),
|
60
80
|
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
81
|
idx === 0 && React.createElement(Accordion.Toggle, { panelId: key, onChange: onGroupToggled }),
|
62
82
|
React.createElement(DataListCell, { column: column, row: getGroupRow(key, group), index: -1, rows: [] }))) }),
|
63
83
|
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,
|
84
|
+
!hasCustomRowForGroup && (React.createElement(DataListBase.Row, { active: !!openPanelId || (selectable && isChecked) },
|
85
|
+
selectable && (React.createElement(DataListBase.Cell, null,
|
86
|
+
React.createElement(Checkbox, { "aria-label": getGroupCheckboxLabel(key, group, index, isChecked, rows), checked: isChecked, indeterminate: isChecked && !allSelected, onChange: onSelectionChange(nestedRowIds) }))),
|
87
|
+
React.createElement(DataListBase.Cell, { className: tw('gap-3'), style: { paddingLeft: `${GAP + level * INDENTATION}px`, gridColumn: `${selectable ? 2 : 1} / -1` } },
|
66
88
|
React.createElement(Accordion.Toggle, { panelId: key, onChange: onGroupToggled }),
|
67
89
|
"Group: ",
|
68
90
|
React.createElement("b", null, key)))),
|
@@ -71,4 +93,4 @@ export const DataListGroup = (_a) => {
|
|
71
93
|
React.createElement(DataListGroup, Object.assign({ level: level + 1 }, props, { groups: group }))))));
|
72
94
|
} }));
|
73
95
|
};
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3RHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvRGF0YUxpc3QvRGF0YUxpc3RHcm91cC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxVQUFVLE1BQU0sbUJBQW1CLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsR0FLVixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNkLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUV2QixNQUFNLGFBQWEsR0FBRyxDQUFDLFNBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUF3QnhHLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsRUFBRSxDQUFDLFlB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
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import React, { type Key } from 'react';
|
2
|
+
import { type DataTableRowId } from '../../../src/utils/table/types';
|
3
|
+
import { type AsyncActionType } from '../../../types/ActionType';
|
4
|
+
import { type CommonContextualMenuProps } from '../../../types/ContextualMenu';
|
5
|
+
import { type AllOrNone, type Simplify } from '../../../types/utils';
|
6
|
+
declare type DataListToolbarMenuProps = Simplify<Omit<CommonContextualMenuProps, 'menuAriaLabel' | 'menuLabel' | 'onAction'> & {
|
7
|
+
menuLabel: string;
|
8
|
+
onAction: (action: Key, selectedRows: DataTableRowId[]) => void;
|
9
|
+
}>;
|
10
|
+
export declare type DataListToolbarAction = Simplify<Omit<AsyncActionType, 'onClick'> & {
|
11
|
+
onClick: (selectedRows: DataTableRowId[]) => void;
|
12
|
+
}>;
|
13
|
+
export declare type DataListToolbarProps = AllOrNone<DataListToolbarMenuProps> & {
|
14
|
+
/**
|
15
|
+
* Optional actions which will be rendered as ghost buttons.
|
16
|
+
*/
|
17
|
+
actions?: DataListToolbarAction | DataListToolbarAction[];
|
18
|
+
/**
|
19
|
+
* When true, the toolbar will stick to the top of the list when scrolling.
|
20
|
+
* @default true
|
21
|
+
*/
|
22
|
+
sticky?: boolean;
|
23
|
+
};
|
24
|
+
export declare const DataListToolbar: React.FC<DataListToolbarProps>;
|
25
|
+
export {};
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import castArray from 'lodash/castArray';
|
3
|
+
import { Button } from '../../../src/molecules/Button/Button';
|
4
|
+
import { DropdownMenu } from '../../../src/molecules/DropdownMenu/DropdownMenu';
|
5
|
+
import { DataList as DataListBase } from '../../../src/atoms/DataList/DataList';
|
6
|
+
import { renderAction } from '../../../src/utils/actions';
|
7
|
+
import { defaultContextualMenuPlacement } from '../../../types/ContextualMenu';
|
8
|
+
import { useDataListContext } from './DataListContext';
|
9
|
+
export const DataListToolbar = ({ actions: _actions, menu, onAction, onMenuOpenChange, menuLabel, sticky = true, }) => {
|
10
|
+
var _a;
|
11
|
+
const { selectedRows } = useDataListContext();
|
12
|
+
const actions = castArray(_actions).filter(Boolean);
|
13
|
+
return (React.createElement(DataListBase.Toolbar.Container, { sticky: sticky },
|
14
|
+
React.createElement(DataListBase.Toolbar.Group, null,
|
15
|
+
React.createElement(DataListBase.Toolbar.SelectionCount, null, (_a = selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.length) !== null && _a !== void 0 ? _a : 0,
|
16
|
+
" selected")),
|
17
|
+
actions.length > 0 && (React.createElement(DataListBase.Toolbar.Group, null,
|
18
|
+
React.createElement(DataListBase.Toolbar.Actions, null, actions.map((action) => renderAction({
|
19
|
+
kind: 'ghost',
|
20
|
+
dense: true,
|
21
|
+
action: Object.assign(Object.assign({}, action), { onClick: () => action.onClick(selectedRows !== null && selectedRows !== void 0 ? selectedRows : []) }),
|
22
|
+
}))))),
|
23
|
+
menu && (React.createElement(DataListBase.Toolbar.Group, null,
|
24
|
+
React.createElement(DropdownMenu, { placement: defaultContextualMenuPlacement, onAction: (key) => onAction === null || onAction === void 0 ? void 0 : onAction(key, selectedRows !== null && selectedRows !== void 0 ? selectedRows : []), onOpenChange: onMenuOpenChange },
|
25
|
+
React.createElement(DropdownMenu.Trigger, null,
|
26
|
+
React.createElement(Button.GhostDropdown, { dense: true }, menuLabel)),
|
27
|
+
menu)))));
|
28
|
+
};
|
29
|
+
DataListToolbar.displayName = 'DataList.Toolbar';
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3RUb29sYmFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRhTGlzdC9EYXRhTGlzdFRvb2xiYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBbUIsTUFBTSxPQUFPLENBQUM7QUFDeEMsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFFekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRCxPQUFPLEVBQWtDLDhCQUE4QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUErQnZELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBbUMsQ0FBQyxFQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUNqQixJQUFJLEVBQ0osUUFBUSxFQUNSLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsTUFBTSxHQUFHLElBQUksR0FDZCxFQUFFLEVBQUU7O0lBQ0gsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLGtCQUFrQixFQUFFLENBQUM7SUFDOUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVwRCxPQUFPLENBQ0wsb0JBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUMsTUFBTSxFQUFFLE1BQU07UUFDNUMsb0JBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ3pCLG9CQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxRQUFFLE1BQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sbUNBQUksQ0FBQzs0QkFBZ0QsQ0FDcEY7UUFDNUIsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FDckIsb0JBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ3pCLG9CQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxRQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDdEIsWUFBWSxDQUFDO2dCQUNYLElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUssRUFBRSxJQUFJO2dCQUNYLE1BQU0sa0NBQU8sTUFBTSxLQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLEVBQUUsQ0FBQyxHQUFFO2FBQ3pFLENBQUMsQ0FDSCxDQUM0QixDQUNKLENBQzlCO1FBQ0EsSUFBSSxJQUFJLENBQ1Asb0JBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ3pCLG9CQUFDLFlBQVksSUFDWCxTQUFTLEVBQUUsOEJBQThCLEVBQ3pDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEdBQUcsRUFBRSxZQUFZLGFBQVosWUFBWSxjQUFaLFlBQVksR0FBSSxFQUFFLENBQUMsRUFDdEQsWUFBWSxFQUFFLGdCQUFnQjtnQkFFOUIsb0JBQUMsWUFBWSxDQUFDLE9BQU87b0JBQ25CLG9CQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUMsS0FBSyxVQUFFLFNBQVMsQ0FBd0IsQ0FDekM7Z0JBQ3RCLElBQUksQ0FDUSxDQUNZLENBQzlCLENBQzhCLENBQ2xDLENBQUM7QUFDSixDQUFDLENBQUM7QUFDRixlQUFlLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDIn0=
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { areRowsGrouped } from '../../../src/utils/table/types';
|
2
|
+
export const flattenRows = (rows) => areRowsGrouped(rows) ? Object.values(rows).flatMap(flattenRows) : rows;
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0RhdGFMaXN0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQStDLE1BQU0sdUJBQXVCLENBQUM7QUFFcEcsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQXlCLElBQWtDLEVBQU8sRUFBRSxDQUM3RixjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMifQ==
|
@@ -27,6 +27,7 @@ import { cellProps, columnIsFieldColumn, } from '../../../src/utils/table/types'
|
|
27
27
|
import { useTableSort } from '../../../src/utils/table/useTableSort';
|
28
28
|
import { sortRowsBy } from '../../../src/utils/table/utils';
|
29
29
|
import { classNames, tw } from '../../../src/utils/tailwind';
|
30
|
+
import { defaultContextualMenuPlacement } from '../../../types/ContextualMenu';
|
30
31
|
import more from '../../../src/icons/more';
|
31
32
|
export const DataTable = (_a) => {
|
32
33
|
var _b;
|
@@ -67,7 +68,7 @@ export const DataTable = (_a) => {
|
|
67
68
|
const renderRowMenu = (row, index, { menu, onAction, onMenuOpenChange, menuAriaLabel, }) => {
|
68
69
|
if (menu) {
|
69
70
|
const menuContent = isFunction(menu) ? menu(row, index) : menu;
|
70
|
-
return (React.createElement(Table.Cell, { align: "right" }, menuContent && (React.createElement(DropdownMenu, { onAction: (action) => onAction === null || onAction === void 0 ? void 0 : onAction(action, row, index), onOpenChange: onMenuOpenChange },
|
71
|
+
return (React.createElement(Table.Cell, { align: "right" }, menuContent && (React.createElement(DropdownMenu, { placement: defaultContextualMenuPlacement, onAction: (action) => onAction === null || onAction === void 0 ? void 0 : onAction(action, row, index), onOpenChange: onMenuOpenChange },
|
71
72
|
React.createElement(DropdownMenu.Trigger, null,
|
72
73
|
React.createElement(Button.Icon, { "aria-label": menuAriaLabel, icon: more })),
|
73
74
|
menuContent))));
|
@@ -107,4 +108,4 @@ const renderCell = (column, row, index, rows) => {
|
|
107
108
|
return column.tooltip ? React.createElement(Tooltip, Object.assign({}, column.tooltip(row, index, rows)), cellContent) : cellContent;
|
108
109
|
};
|
109
110
|
DataTable.Skeleton = DataListSkeleton;
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRhVGFibGUvRGF0YVRhYmxlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLFVBQVUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBMEIsSUFBSSxFQUE0QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxLQUFLLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXhELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxtQkFBbUIsR0FNcEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFF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
|
@@ -9,6 +9,10 @@ export declare type DialogProps = {
|
|
9
9
|
type: DialogType;
|
10
10
|
/** State of the dialog */
|
11
11
|
open: React.ComponentProps<typeof BaseModal>['open'];
|
12
|
+
/**
|
13
|
+
* Callback function that is called when user tries to close the component.
|
14
|
+
*/
|
15
|
+
onClose?: () => void;
|
12
16
|
/** Dialog body text or content. */
|
13
17
|
children: React.ComponentProps<typeof BaseModal.Body>['children'];
|
14
18
|
/** Primary action. Maximum of one is allowed. */
|