@popmenu/table 0.47.0 → 0.47.3

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/index.js CHANGED
@@ -1012,7 +1012,6 @@ var getTableMinHeight = function (rootRef, pageSize) {
1012
1012
  var defaultBodyRowHeight = 56;
1013
1013
  var defaultHeaderRowHeight = 57;
1014
1014
  var defaultFooterHeight = 88;
1015
- var borderOffset = 1;
1016
1015
  var minHeight = defaultBodyRowHeight * pageSize + defaultHeaderRowHeight + defaultFooterHeight;
1017
1016
  if (rootRef === null || rootRef === void 0 ? void 0 : rootRef.current) {
1018
1017
  var rootTableNode = rootRef.current;
@@ -1020,9 +1019,8 @@ var getTableMinHeight = function (rootRef, pageSize) {
1020
1019
  var bodyRowNode = rootTableNode.querySelector("[data-table-element=\"body-row\"]");
1021
1020
  if (headerRowNode && bodyRowNode) {
1022
1021
  var headerRowHeight = headerRowNode.getBoundingClientRect().height;
1023
- var firstBodyRowHeight = bodyRowNode.getBoundingClientRect().height;
1024
- var restBodyRowHeight = firstBodyRowHeight - borderOffset;
1025
- minHeight = headerRowHeight + firstBodyRowHeight + restBodyRowHeight * (pageSize - 1) + defaultFooterHeight;
1022
+ var bodyRowHeight = bodyRowNode.getBoundingClientRect().height;
1023
+ minHeight = headerRowHeight + bodyRowHeight * pageSize + defaultFooterHeight;
1026
1024
  }
1027
1025
  }
1028
1026
  return minHeight;
@@ -3177,16 +3175,14 @@ var useStyles$1 = core.makeStyles({
3177
3175
 
3178
3176
  var GlobalFilter = function (props) {
3179
3177
  var value = props.value, setValue = props.setValue, restProps = __rest$3(props, ["value", "setValue"]);
3180
- var onChange = restProps.onChange, InputProps = restProps.InputProps, cleanRestProps = __rest$3(restProps, ["onChange", "InputProps"]);
3181
3178
  var classes = useStyles$1();
3182
3179
  var handleChange = function (e) {
3183
3180
  setValue(e.target.value);
3184
- if (onChange) {
3185
- onChange(e);
3186
- }
3187
3181
  };
3188
- return (React__default['default'].createElement(core.TextField, __assign$3({ className: classes.root, variant: "outlined", value: value, onChange: handleChange, InputProps: __assign$3({ startAdornment: (React__default['default'].createElement(core.InputAdornment, { position: "start" },
3189
- React__default['default'].createElement(Icon$1, { icon: SvgSearch }))) }, InputProps) }, cleanRestProps)));
3182
+ return (React__default['default'].createElement(core.TextField, __assign$3({ className: classes.root, variant: "outlined", value: value, onChange: handleChange, InputProps: {
3183
+ startAdornment: (React__default['default'].createElement(core.InputAdornment, { position: "start" },
3184
+ React__default['default'].createElement(Icon$1, { icon: SvgSearch }))),
3185
+ } }, restProps)));
3190
3186
  };
3191
3187
 
3192
3188
  var TableHeaderRow = function (props) {
@@ -3269,7 +3265,7 @@ var defaultTableProps = {
3269
3265
  searchable: false,
3270
3266
  };
3271
3267
  var Table = function (props) {
3272
- var data = props.data, columns = props.columns, loading = props.loading, searchable = props.searchable, sortable = props.sortable, externalFilterState = props.filterState, externalGlobalFilterState = props.globalFilterState, externalPaginationState = props.paginationState, externalVisibilityState = props.visibilityState, pageCount = props.pageCount, Empty = props.Empty;
3268
+ var data = props.data, columns = props.columns, loading = props.loading, searchable = props.searchable, sortable = props.sortable, externalFilterState = props.filterState, externalGlobalFilterState = props.globalFilterState, externalPaginationState = props.paginationState, externalVisibilityState = props.visibilityState, pageCount = props.pageCount, GlobalFilterProps = props.GlobalFilterProps, Empty = props.Empty;
3273
3269
  var classes = useStyles$6(props);
3274
3270
  var rootRef = React.useRef(null);
3275
3271
  // Prepare Empty State
@@ -3299,15 +3295,18 @@ var Table = function (props) {
3299
3295
  var pageIndex = pageNumber - 1;
3300
3296
  table.setPageIndex(pageIndex);
3301
3297
  };
3298
+ var showControls = searchable || isControlledGlobalFilter || hasColumnFilters;
3302
3299
  return (React__default['default'].createElement(TableContext.Provider, { value: table },
3303
- React__default['default'].createElement(core.Box, __assign$3({ className: classes.root }, { ref: rootRef }, { "data-table-element": "root", minHeight: getTableMinHeight(rootRef, table.getState().pagination.pageSize) }),
3304
- React__default['default'].createElement(core.Box, null,
3300
+ React__default['default'].createElement(core.Box, __assign$3({ className: classes.root }, { ref: rootRef }, { "data-table-element": "root" }, (table.getPageCount() > 1 && {
3301
+ minHeight: getTableMinHeight(rootRef, table.getState().pagination.pageSize),
3302
+ })),
3303
+ showControls && (React__default['default'].createElement(core.Box, null,
3305
3304
  React__default['default'].createElement(core.Box, { display: "grid", gridAutoFlow: "column", marginBottom: 3 },
3306
- (searchable || isControlledGlobalFilter) && (React__default['default'].createElement(GlobalFilter, { value: table.getState().globalFilter, setValue: table.setGlobalFilter })),
3305
+ (searchable || isControlledGlobalFilter) && (React__default['default'].createElement(GlobalFilter, __assign$3({}, GlobalFilterProps, { value: table.getState().globalFilter, setValue: table.setGlobalFilter }))),
3307
3306
  hasColumnFilters && React__default['default'].createElement(FilterPanel, null)),
3308
3307
  React__default['default'].createElement(core.Box, { display: "flex", flexWrap: "wrap", gridGap: 8 },
3309
3308
  selectedColumnFilters.map(function (selectedColumnFilter, i) { return (React__default['default'].createElement(ColumnFilterChip, { key: "selected-column-filter-chip-" + i, columnFilter: selectedColumnFilter, label: formatSelectedFilterText(selectedColumnFilter), onClick: deselectColumnFilter })); }),
3310
- selectedColumnFilters.length >= 1 && React__default['default'].createElement(ColumnFilterResetButton, { onClick: function () { return resetColumnFilters(); } }))),
3309
+ selectedColumnFilters.length >= 1 && React__default['default'].createElement(ColumnFilterResetButton, { onClick: function () { return resetColumnFilters(); } })))),
3311
3310
  React__default['default'].createElement(core.Box, { className: classes.tableContainer, flexGrow: loading || isEmpty ? 0 : 1 },
3312
3311
  React__default['default'].createElement("table", { className: classes.table },
3313
3312
  React__default['default'].createElement(TableHeader, null, table.getHeaderGroups().map(function (headerGroup) { return (React__default['default'].createElement(TableHeaderRow, { key: headerGroup.id }, headerGroup.headers.map(function (header) { return (React__default['default'].createElement(TableHeaderCell, { key: header.id, context: header.getContext() }, reactTable.flexRender(header.column.columnDef.header, header.getContext()))); }))); })),