@popmenu/table 0.68.0 → 0.69.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/build/components/Table/Table.d.ts +2 -2
- package/build/components/Table/TableProps.d.ts +4 -2
- package/build/components/Table/TableStyles.d.ts +1 -1
- package/build/components/TableControlsContainer/TableControlsContainer.d.ts +3 -0
- package/build/components/TableControlsContainer/TableControlsContainerProps.d.ts +6 -0
- package/build/components/TableControlsContainer/index.d.ts +1 -0
- package/build/index.es.js +46 -11
- package/build/index.es.js.map +1 -1
- package/build/index.js +46 -11
- package/build/index.js.map +1 -1
- package/package.json +2 -2
package/build/index.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
+
var core = require('@material-ui/core');
|
|
6
7
|
var lab = require('@material-ui/lab');
|
|
7
8
|
var reactTable = require('@tanstack/react-table');
|
|
8
|
-
var core = require('@material-ui/core');
|
|
9
9
|
var CommonAlert = require('@material-ui/lab/Alert');
|
|
10
10
|
require('@material-ui/core/AppBar');
|
|
11
11
|
var MuiAvatar = require('@material-ui/core/Avatar');
|
|
@@ -2854,17 +2854,17 @@ var useSettingsIndexCardStyles = styles.makeStyles(function (theme) { return ({
|
|
|
2854
2854
|
}); });
|
|
2855
2855
|
|
|
2856
2856
|
var SettingsIndexCard = React.forwardRef(function (props, ref) {
|
|
2857
|
-
var title = props.title, description = props.description, Icon
|
|
2857
|
+
var title = props.title, description = props.description, Icon = props.Icon, onClick = props.onClick, statusLabel = props.statusLabel, restProps = __rest$1(props, ["title", "description", "Icon", "onClick", "statusLabel"]);
|
|
2858
2858
|
var classes = useSettingsIndexCardStyles(props);
|
|
2859
2859
|
var showStatusLabel = (statusLabel === null || statusLabel === void 0 ? void 0 : statusLabel.text) && (statusLabel === null || statusLabel === void 0 ? void 0 : statusLabel.color);
|
|
2860
2860
|
return (React__default['default'].createElement(core.ButtonBase, __assign$1({ onClick: onClick, ref: ref }, restProps),
|
|
2861
2861
|
React__default['default'].createElement(Card__default['default'], { classes: { root: classes.cardRoot } },
|
|
2862
2862
|
React__default['default'].createElement(CardContent__default['default'], { classes: { root: classes.cardContentRoot } },
|
|
2863
2863
|
React__default['default'].createElement(core.Box, { fontSize: "32px", display: "flex", justifyContent: 'space-between', alignItems: "center", paddingBottom: 2 },
|
|
2864
|
-
React__default['default'].createElement(Icon, { icon: Icon
|
|
2865
|
-
showStatusLabel && (React__default['default'].createElement(Typography, { weight: "semi-bold", variant: "body2", color: statusLabel === null || statusLabel === void 0 ? void 0 : statusLabel.color }, statusLabel === null || statusLabel === void 0 ? void 0 : statusLabel.text))),
|
|
2866
|
-
React__default['default'].createElement(Typography, { align: "left", variant: "h6", gutterBottom: true }, title),
|
|
2867
|
-
description && (React__default['default'].createElement(Typography, { align: "left", variant: "body2", color: "grey.700" }, description))))));
|
|
2864
|
+
React__default['default'].createElement(Icon$1, { icon: Icon || SvgHelp, size: "inherit" }),
|
|
2865
|
+
showStatusLabel && (React__default['default'].createElement(Typography$1, { weight: "semi-bold", variant: "body2", color: statusLabel === null || statusLabel === void 0 ? void 0 : statusLabel.color }, statusLabel === null || statusLabel === void 0 ? void 0 : statusLabel.text))),
|
|
2866
|
+
React__default['default'].createElement(Typography$1, { align: "left", variant: "h6", gutterBottom: true }, title),
|
|
2867
|
+
description && (React__default['default'].createElement(Typography$1, { align: "left", variant: "body2", color: "grey.700" }, description))))));
|
|
2868
2868
|
});
|
|
2869
2869
|
SettingsIndexCard.displayName = 'SettingsIndexCard';
|
|
2870
2870
|
|
|
@@ -3214,6 +3214,7 @@ createTheme__default['default'](adminDarkOptions);
|
|
|
3214
3214
|
var useStyles$3 = core.makeStyles({
|
|
3215
3215
|
root: {
|
|
3216
3216
|
justifySelf: 'end',
|
|
3217
|
+
gridArea: 'columnFilter',
|
|
3217
3218
|
},
|
|
3218
3219
|
});
|
|
3219
3220
|
|
|
@@ -3242,6 +3243,7 @@ var useStyles$2 = core.makeStyles({
|
|
|
3242
3243
|
maxWidth: 300,
|
|
3243
3244
|
minWidth: 200,
|
|
3244
3245
|
width: '100%',
|
|
3246
|
+
gridArea: 'globalFilter',
|
|
3245
3247
|
},
|
|
3246
3248
|
});
|
|
3247
3249
|
|
|
@@ -4001,6 +4003,35 @@ var ColumnFilterChip = function (props) {
|
|
|
4001
4003
|
React__default['default'].createElement(Typography$1, __assign$3({ className: classes.label, weight: "semi-bold" }, { component: 'span' }), label[1])) }));
|
|
4002
4004
|
};
|
|
4003
4005
|
|
|
4006
|
+
var TableControlsContainer = function (props) {
|
|
4007
|
+
var showTitle = props.showTitle, showGlobalSearch = props.showGlobalSearch, showColumnFilter = props.showColumnFilter;
|
|
4008
|
+
var gridTemplateAreas;
|
|
4009
|
+
switch (true) {
|
|
4010
|
+
case showTitle && showGlobalSearch && showColumnFilter:
|
|
4011
|
+
gridTemplateAreas = "\n \"title .\"\n \"globalFilter columnFilter\"\n ";
|
|
4012
|
+
break;
|
|
4013
|
+
case showTitle && !showGlobalSearch && showColumnFilter:
|
|
4014
|
+
gridTemplateAreas = "\n \"title columnFilter\"\n ";
|
|
4015
|
+
break;
|
|
4016
|
+
case !showTitle && showGlobalSearch && showColumnFilter:
|
|
4017
|
+
gridTemplateAreas = "\n \"globalFilter columnFilter\"\n ";
|
|
4018
|
+
break;
|
|
4019
|
+
case showTitle && !showGlobalSearch && !showColumnFilter:
|
|
4020
|
+
gridTemplateAreas = "\n \"title .\"\n ";
|
|
4021
|
+
break;
|
|
4022
|
+
case !showTitle && !showGlobalSearch && showColumnFilter:
|
|
4023
|
+
gridTemplateAreas = "\n \". columnFilter\"\n ";
|
|
4024
|
+
break;
|
|
4025
|
+
case !showTitle && showGlobalSearch && !showColumnFilter:
|
|
4026
|
+
gridTemplateAreas = "\n \"globalFilter .\"\n ";
|
|
4027
|
+
break;
|
|
4028
|
+
case showTitle && showGlobalSearch && !showColumnFilter:
|
|
4029
|
+
gridTemplateAreas = "\n \"title .\"\n \"globalFilter .\"\n ";
|
|
4030
|
+
break;
|
|
4031
|
+
}
|
|
4032
|
+
return (React__default['default'].createElement(core.Box, { display: "grid", gridTemplateColumns: "repeat(2, minmax(150px, 1fr))", gridTemplateAreas: gridTemplateAreas, gridGap: 16, marginBottom: 3 }, props.children));
|
|
4033
|
+
};
|
|
4034
|
+
|
|
4004
4035
|
var ColumnFilterResetButton = function (props) {
|
|
4005
4036
|
var _a = props.children, children = _a === void 0 ? 'Clear All' : _a, restProps = __rest$3(props, ["children"]);
|
|
4006
4037
|
return (React__default['default'].createElement(Button, __assign$3({ variant: "text", textTransform: "none" }, restProps), children));
|
|
@@ -4013,7 +4044,7 @@ var defaultTableProps = {
|
|
|
4013
4044
|
searchable: false,
|
|
4014
4045
|
};
|
|
4015
4046
|
var Table = function (props) {
|
|
4016
|
-
var data = props.data, columns = props.columns, enableSortingRemoval = props.enableSortingRemoval, loading = props.loading, searchable = props.searchable, sortable = props.sortable, externalFilterState = props.filterState, externalGlobalFilterState = props.globalFilterState, externalPaginationState = props.paginationState, externalSortingState = props.sortingState, externalVisibilityState = props.visibilityState, pageCount = props.pageCount, GlobalFilterProps = props.GlobalFilterProps, Empty = props.Empty, idBase = props.idBase;
|
|
4047
|
+
var title = props.title, data = props.data, columns = props.columns, enableSortingRemoval = props.enableSortingRemoval, loading = props.loading, searchable = props.searchable, sortable = props.sortable, externalFilterState = props.filterState, externalGlobalFilterState = props.globalFilterState, externalPaginationState = props.paginationState, externalSortingState = props.sortingState, externalVisibilityState = props.visibilityState, pageCount = props.pageCount, GlobalFilterProps = props.GlobalFilterProps, Empty = props.Empty, idBase = props.idBase;
|
|
4017
4048
|
var classes = useStyles$7(props);
|
|
4018
4049
|
var rootRef = React.useRef(null);
|
|
4019
4050
|
// Prepare Empty State
|
|
@@ -4045,15 +4076,19 @@ var Table = function (props) {
|
|
|
4045
4076
|
var pageIndex = pageNumber - 1;
|
|
4046
4077
|
table.setPageIndex(pageIndex);
|
|
4047
4078
|
};
|
|
4048
|
-
var
|
|
4079
|
+
var showTitle = Boolean(title);
|
|
4080
|
+
var showGlobalSearch = Boolean(searchable || isControlledGlobalFilter);
|
|
4081
|
+
var showColumnFilter = Boolean(hasColumnFilters);
|
|
4082
|
+
var showControls = Boolean(showTitle || showGlobalSearch || showColumnFilter);
|
|
4049
4083
|
return (React__default['default'].createElement(TableContext.Provider, { value: table },
|
|
4050
4084
|
React__default['default'].createElement(core.Box, __assign$3({ className: classes.root }, { ref: rootRef }, { "data-table-element": "root" }, (table.getPageCount() > 1 && {
|
|
4051
4085
|
minHeight: getTableMinHeight(rootRef, table.getState().pagination.pageSize),
|
|
4052
4086
|
})),
|
|
4053
4087
|
showControls && (React__default['default'].createElement(core.Box, null,
|
|
4054
|
-
React__default['default'].createElement(
|
|
4055
|
-
|
|
4056
|
-
|
|
4088
|
+
React__default['default'].createElement(TableControlsContainer, { showTitle: showTitle, showGlobalSearch: showGlobalSearch, showColumnFilter: showColumnFilter },
|
|
4089
|
+
showTitle && (React__default['default'].createElement(core.Typography, { variant: "h5", style: { gridArea: 'title', alignSelf: 'center' } }, title)),
|
|
4090
|
+
showGlobalSearch && (React__default['default'].createElement(GlobalFilter, __assign$3({}, GlobalFilterProps, { value: table.getState().globalFilter, setValue: table.setGlobalFilter }))),
|
|
4091
|
+
showColumnFilter && React__default['default'].createElement(FilterPanel, null)),
|
|
4057
4092
|
React__default['default'].createElement(core.Box, { display: "flex", flexWrap: "wrap", gridGap: 8 },
|
|
4058
4093
|
selectedColumnFilters.map(function (selectedColumnFilter, i) { return (React__default['default'].createElement(ColumnFilterChip, { key: "selected-column-filter-chip-" + i, columnFilter: selectedColumnFilter, label: formatSelectedFilterText(selectedColumnFilter), onClick: deselectColumnFilter })); }),
|
|
4059
4094
|
selectedColumnFilters.length >= 1 && React__default['default'].createElement(ColumnFilterResetButton, { onClick: function () { return resetColumnFilters(); } })))),
|