@popmenu/table 0.91.0 → 0.93.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/index.es.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { createElement, forwardRef, createContext, useContext, useState, useRef, isValidElement } from 'react';
3
- import { makeStyles, Link as Link$2, Paper as Paper$2, Typography as Typography$2, Box, FormControl, InputLabel, Select, FormControlLabel as FormControlLabel$1, Switch as Switch$2, TextField, Popover, ButtonBase, InputAdornment, useTheme as useTheme$1 } from '@material-ui/core';
3
+ import { makeStyles, Link as Link$2, Paper as Paper$2, Typography as Typography$2, Box, FormControl, InputLabel, Select, FormControlLabel as FormControlLabel$1, Switch as Switch$2, TextField, ButtonBase, Popover, InputAdornment, useTheme as useTheme$1 } from '@material-ui/core';
4
4
  import { Pagination } from '@material-ui/lab';
5
5
  import { useReactTable, getCoreRowModel, getSortedRowModel, getFilteredRowModel, getPaginationRowModel, flexRender } from '@tanstack/react-table';
6
6
  import CommonAlert from '@material-ui/lab/Alert';
@@ -139,19 +139,19 @@ function __rest$2(s, e) {
139
139
  return t;
140
140
  }
141
141
 
142
- var _g$1o$1;
142
+ var _g$2B$1;
143
143
 
144
- function _extends$2t$1() { _extends$2t$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2t$1.apply(this, arguments); }
144
+ function _extends$4J$1() { _extends$4J$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4J$1.apply(this, arguments); }
145
145
 
146
146
  function SvgCheckCircle$1(props) {
147
- return /*#__PURE__*/React.createElement("svg", _extends$2t$1({
147
+ return /*#__PURE__*/React.createElement("svg", _extends$4J$1({
148
148
  viewBox: "0 0 16 16",
149
149
  fill: "none",
150
150
  strokeLinecap: "round",
151
151
  strokeLinejoin: "round",
152
152
  width: "1em",
153
153
  height: "1em"
154
- }, props), _g$1o$1 || (_g$1o$1 = /*#__PURE__*/React.createElement("g", {
154
+ }, props), _g$2B$1 || (_g$2B$1 = /*#__PURE__*/React.createElement("g", {
155
155
  stroke: "currentColor"
156
156
  }, /*#__PURE__*/React.createElement("path", {
157
157
  d: "M14.667 7.387V8a6.667 6.667 0 11-3.954-6.093"
@@ -160,24 +160,24 @@ function SvgCheckCircle$1(props) {
160
160
  }))));
161
161
  }
162
162
 
163
- var _g$1m, _defs$J;
163
+ var _g$2y, _defs$1C;
164
164
 
165
- function _extends$2q() { _extends$2q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2q.apply(this, arguments); }
165
+ function _extends$4F() { _extends$4F = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4F.apply(this, arguments); }
166
166
 
167
167
  function SvgXCircle(props) {
168
- return /*#__PURE__*/React.createElement("svg", _extends$2q({
168
+ return /*#__PURE__*/React.createElement("svg", _extends$4F({
169
169
  viewBox: "0 0 16 16",
170
170
  fill: "none",
171
171
  strokeLinecap: "round",
172
172
  strokeLinejoin: "round",
173
173
  width: "1em",
174
174
  height: "1em"
175
- }, props), _g$1m || (_g$1m = /*#__PURE__*/React.createElement("g", {
175
+ }, props), _g$2y || (_g$2y = /*#__PURE__*/React.createElement("g", {
176
176
  clipPath: "url(#x-circle_svg__clip0_8_6136)",
177
177
  stroke: "currentColor"
178
178
  }, /*#__PURE__*/React.createElement("path", {
179
179
  d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM10 6l-4 4m0-4l4 4"
180
- }))), _defs$J || (_defs$J = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
180
+ }))), _defs$1C || (_defs$1C = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
181
181
  id: "x-circle_svg__clip0_8_6136"
182
182
  }, /*#__PURE__*/React.createElement("path", {
183
183
  fill: "currentColor",
@@ -185,24 +185,24 @@ function SvgXCircle(props) {
185
185
  })))));
186
186
  }
187
187
 
188
- var _g$1d$1, _defs$D$1;
188
+ var _g$2l$1, _defs$1s$1;
189
189
 
190
- function _extends$2e$1() { _extends$2e$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2e$1.apply(this, arguments); }
190
+ function _extends$4l$1() { _extends$4l$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4l$1.apply(this, arguments); }
191
191
 
192
192
  function SvgInfo$1(props) {
193
- return /*#__PURE__*/React.createElement("svg", _extends$2e$1({
193
+ return /*#__PURE__*/React.createElement("svg", _extends$4l$1({
194
194
  viewBox: "0 0 16 16",
195
195
  fill: "none",
196
196
  strokeLinecap: "round",
197
197
  strokeLinejoin: "round",
198
198
  width: "1em",
199
199
  height: "1em"
200
- }, props), _g$1d$1 || (_g$1d$1 = /*#__PURE__*/React.createElement("g", {
200
+ }, props), _g$2l$1 || (_g$2l$1 = /*#__PURE__*/React.createElement("g", {
201
201
  clipPath: "url(#info_svg__clip0_8_5377)",
202
202
  stroke: "currentColor"
203
203
  }, /*#__PURE__*/React.createElement("path", {
204
204
  d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-4V8m0-2.667h.007"
205
- }))), _defs$D$1 || (_defs$D$1 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
205
+ }))), _defs$1s$1 || (_defs$1s$1 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
206
206
  id: "info_svg__clip0_8_5377"
207
207
  }, /*#__PURE__*/React.createElement("path", {
208
208
  fill: "currentColor",
@@ -210,42 +210,42 @@ function SvgInfo$1(props) {
210
210
  })))));
211
211
  }
212
212
 
213
- var _path$N$1;
213
+ var _path$1D$1;
214
214
 
215
- function _extends$1N$1() { _extends$1N$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1N$1.apply(this, arguments); }
215
+ function _extends$3G$1() { _extends$3G$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3G$1.apply(this, arguments); }
216
216
 
217
217
  function SvgUser$1(props) {
218
- return /*#__PURE__*/React.createElement("svg", _extends$1N$1({
218
+ return /*#__PURE__*/React.createElement("svg", _extends$3G$1({
219
219
  viewBox: "0 0 16 16",
220
220
  fill: "none",
221
221
  strokeLinecap: "round",
222
222
  strokeLinejoin: "round",
223
223
  width: "1em",
224
224
  height: "1em"
225
- }, props), _path$N$1 || (_path$N$1 = /*#__PURE__*/React.createElement("path", {
225
+ }, props), _path$1D$1 || (_path$1D$1 = /*#__PURE__*/React.createElement("path", {
226
226
  d: "M13.333 14v-1.333A2.667 2.667 0 0010.667 10H5.333a2.667 2.667 0 00-2.666 2.667V14M8 7.333A2.667 2.667 0 108 2a2.667 2.667 0 000 5.333z",
227
227
  stroke: "currentColor"
228
228
  })));
229
229
  }
230
230
 
231
- var _g$Z$1, _defs$u$1;
231
+ var _g$1$$1, _defs$1e$1;
232
232
 
233
- function _extends$1J$1() { _extends$1J$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1J$1.apply(this, arguments); }
233
+ function _extends$3v$1() { _extends$3v$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3v$1.apply(this, arguments); }
234
234
 
235
235
  function SvgError$1(props) {
236
- return /*#__PURE__*/React.createElement("svg", _extends$1J$1({
236
+ return /*#__PURE__*/React.createElement("svg", _extends$3v$1({
237
237
  viewBox: "0 0 16 16",
238
238
  fill: "none",
239
239
  strokeLinecap: "round",
240
240
  strokeLinejoin: "round",
241
241
  width: "1em",
242
242
  height: "1em"
243
- }, props), _g$Z$1 || (_g$Z$1 = /*#__PURE__*/React.createElement("g", {
243
+ }, props), _g$1$$1 || (_g$1$$1 = /*#__PURE__*/React.createElement("g", {
244
244
  clipPath: "url(#error_svg__clip0_8_5411)",
245
245
  stroke: "currentColor"
246
246
  }, /*#__PURE__*/React.createElement("path", {
247
247
  d: "M5.24 1.333h5.52l3.907 3.907v5.52l-3.907 3.907H5.24L1.333 10.76V5.24L5.24 1.333zm2.76 4V8m0 2.666h.008"
248
- }))), _defs$u$1 || (_defs$u$1 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
248
+ }))), _defs$1e$1 || (_defs$1e$1 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
249
249
  id: "error_svg__clip0_8_5411"
250
250
  }, /*#__PURE__*/React.createElement("path", {
251
251
  fill: "currentColor",
@@ -253,19 +253,19 @@ function SvgError$1(props) {
253
253
  })))));
254
254
  }
255
255
 
256
- var _path$K$1;
256
+ var _path$1u$1;
257
257
 
258
- function _extends$1I$1() { _extends$1I$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1I$1.apply(this, arguments); }
258
+ function _extends$3u$1() { _extends$3u$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3u$1.apply(this, arguments); }
259
259
 
260
260
  function SvgWarning$1(props) {
261
- return /*#__PURE__*/React.createElement("svg", _extends$1I$1({
261
+ return /*#__PURE__*/React.createElement("svg", _extends$3u$1({
262
262
  viewBox: "0 0 16 16",
263
263
  fill: "none",
264
264
  strokeLinecap: "round",
265
265
  strokeLinejoin: "round",
266
266
  width: "1em",
267
267
  height: "1em"
268
- }, props), _path$K$1 || (_path$K$1 = /*#__PURE__*/React.createElement("path", {
268
+ }, props), _path$1u$1 || (_path$1u$1 = /*#__PURE__*/React.createElement("path", {
269
269
  d: "M6.86 2.573L1.213 12a1.334 1.334 0 001.14 2h11.294a1.332 1.332 0 001.14-2L9.14 2.573a1.333 1.333 0 00-2.28 0v0zM8 6v2.667m0 2.667h.007",
270
270
  stroke: "currentColor"
271
271
  })));
@@ -1032,6 +1032,14 @@ var TableFooter = function (props) {
1032
1032
  };
1033
1033
 
1034
1034
  var useStyles$6 = makeStyles(function (theme) { return ({
1035
+ buttonBox: {
1036
+ '& > :last-child': {
1037
+ marginLeft: theme.spacing(2),
1038
+ },
1039
+ display: 'flex',
1040
+ justifyContent: 'flex-end',
1041
+ padding: "0px " + theme.spacing(3) + "px " + theme.spacing(3) + "px " + theme.spacing(3) + "px",
1042
+ },
1035
1043
  buttonLabel: {
1036
1044
  fontWeight: 400,
1037
1045
  },
@@ -1077,109 +1085,109 @@ var useStyles$6 = makeStyles(function (theme) { return ({
1077
1085
  },
1078
1086
  }); });
1079
1087
 
1080
- var _path$1g;
1088
+ var _path$2p;
1081
1089
 
1082
- function _extends$2O() { _extends$2O = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2O.apply(this, arguments); }
1090
+ function _extends$5p() { _extends$5p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5p.apply(this, arguments); }
1083
1091
 
1084
1092
  function SvgChevronDown(props) {
1085
- return /*#__PURE__*/React.createElement("svg", _extends$2O({
1093
+ return /*#__PURE__*/React.createElement("svg", _extends$5p({
1086
1094
  viewBox: "0 0 16 16",
1087
1095
  fill: "none",
1088
1096
  strokeLinecap: "round",
1089
1097
  strokeLinejoin: "round",
1090
1098
  width: "1em",
1091
1099
  height: "1em"
1092
- }, props), _path$1g || (_path$1g = /*#__PURE__*/React.createElement("path", {
1100
+ }, props), _path$2p || (_path$2p = /*#__PURE__*/React.createElement("path", {
1093
1101
  d: "M4 6l4 4 4-4",
1094
1102
  stroke: "currentColor"
1095
1103
  })));
1096
1104
  }
1097
1105
 
1098
- var _path$1f;
1106
+ var _path$2o;
1099
1107
 
1100
- function _extends$2N() { _extends$2N = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2N.apply(this, arguments); }
1108
+ function _extends$5o() { _extends$5o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5o.apply(this, arguments); }
1101
1109
 
1102
1110
  function SvgChevronUp(props) {
1103
- return /*#__PURE__*/React.createElement("svg", _extends$2N({
1111
+ return /*#__PURE__*/React.createElement("svg", _extends$5o({
1104
1112
  viewBox: "0 0 16 16",
1105
1113
  fill: "none",
1106
1114
  strokeLinecap: "round",
1107
1115
  strokeLinejoin: "round",
1108
1116
  width: "1em",
1109
1117
  height: "1em"
1110
- }, props), _path$1f || (_path$1f = /*#__PURE__*/React.createElement("path", {
1118
+ }, props), _path$2o || (_path$2o = /*#__PURE__*/React.createElement("path", {
1111
1119
  d: "M12 10L8 6l-4 4",
1112
1120
  stroke: "currentColor"
1113
1121
  })));
1114
1122
  }
1115
1123
 
1116
- var _path$19;
1124
+ var _path$2f;
1117
1125
 
1118
- function _extends$2C() { _extends$2C = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2C.apply(this, arguments); }
1126
+ function _extends$58() { _extends$58 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$58.apply(this, arguments); }
1119
1127
 
1120
1128
  function SvgSort(props) {
1121
- return /*#__PURE__*/React.createElement("svg", _extends$2C({
1129
+ return /*#__PURE__*/React.createElement("svg", _extends$58({
1122
1130
  viewBox: "0 0 16 16",
1123
1131
  fill: "none",
1124
1132
  strokeLinecap: "round",
1125
1133
  strokeLinejoin: "round",
1126
1134
  width: "1em",
1127
1135
  height: "1em"
1128
- }, props), _path$19 || (_path$19 = /*#__PURE__*/React.createElement("path", {
1136
+ }, props), _path$2f || (_path$2f = /*#__PURE__*/React.createElement("path", {
1129
1137
  d: "M11.333 6L8 2.667 4.667 6m6.666 4L8 13.334 4.667 10",
1130
1138
  stroke: "currentColor"
1131
1139
  })));
1132
1140
  }
1133
1141
 
1134
- var _path$11;
1142
+ var _path$22;
1135
1143
 
1136
- function _extends$2k() { _extends$2k = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2k.apply(this, arguments); }
1144
+ function _extends$4t() { _extends$4t = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4t.apply(this, arguments); }
1137
1145
 
1138
1146
  function SvgFilter(props) {
1139
- return /*#__PURE__*/React.createElement("svg", _extends$2k({
1147
+ return /*#__PURE__*/React.createElement("svg", _extends$4t({
1140
1148
  viewBox: "0 0 16 16",
1141
1149
  fill: "none",
1142
1150
  strokeLinecap: "round",
1143
1151
  strokeLinejoin: "round",
1144
1152
  width: "1em",
1145
1153
  height: "1em"
1146
- }, props), _path$11 || (_path$11 = /*#__PURE__*/React.createElement("path", {
1154
+ }, props), _path$22 || (_path$22 = /*#__PURE__*/React.createElement("path", {
1147
1155
  d: "M14.667 2H1.333l5.334 6.307v4.36L9.333 14V8.307L14.667 2z",
1148
1156
  stroke: "currentColor"
1149
1157
  })));
1150
1158
  }
1151
1159
 
1152
- var _path$V;
1160
+ var _path$1P;
1153
1161
 
1154
- function _extends$23() { _extends$23 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$23.apply(this, arguments); }
1162
+ function _extends$44() { _extends$44 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$44.apply(this, arguments); }
1155
1163
 
1156
1164
  function SvgMore(props) {
1157
- return /*#__PURE__*/React.createElement("svg", _extends$23({
1165
+ return /*#__PURE__*/React.createElement("svg", _extends$44({
1158
1166
  viewBox: "0 0 16 16",
1159
1167
  fill: "none",
1160
1168
  strokeLinecap: "round",
1161
1169
  strokeLinejoin: "round",
1162
1170
  width: "1em",
1163
1171
  height: "1em"
1164
- }, props), _path$V || (_path$V = /*#__PURE__*/React.createElement("path", {
1172
+ }, props), _path$1P || (_path$1P = /*#__PURE__*/React.createElement("path", {
1165
1173
  d: "M8 8.667a.667.667 0 100-1.334.667.667 0 000 1.334zM8 4a.667.667 0 100-1.334A.667.667 0 008 4zm0 9.333A.667.667 0 108 12a.667.667 0 000 1.333z",
1166
1174
  stroke: "currentColor"
1167
1175
  })));
1168
1176
  }
1169
1177
 
1170
- var _path$R;
1178
+ var _path$1J;
1171
1179
 
1172
- function _extends$1Z() { _extends$1Z = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1Z.apply(this, arguments); }
1180
+ function _extends$3W() { _extends$3W = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3W.apply(this, arguments); }
1173
1181
 
1174
1182
  function SvgSearch(props) {
1175
- return /*#__PURE__*/React.createElement("svg", _extends$1Z({
1183
+ return /*#__PURE__*/React.createElement("svg", _extends$3W({
1176
1184
  viewBox: "0 0 16 16",
1177
1185
  fill: "none",
1178
1186
  strokeLinecap: "round",
1179
1187
  strokeLinejoin: "round",
1180
1188
  width: "1em",
1181
1189
  height: "1em"
1182
- }, props), _path$R || (_path$R = /*#__PURE__*/React.createElement("path", {
1190
+ }, props), _path$1J || (_path$1J = /*#__PURE__*/React.createElement("path", {
1183
1191
  d: "M7.333 12.667A5.333 5.333 0 107.333 2a5.333 5.333 0 000 10.667zM14 14l-2.9-2.9",
1184
1192
  stroke: "currentColor"
1185
1193
  })));
@@ -1219,30 +1227,36 @@ var SelectFilter = function (props) {
1219
1227
  var _a, _b, _c;
1220
1228
  var options = props.options, columnId = props.columnId, multiple = props.multiple;
1221
1229
  var classes = useStyles$4();
1222
- var table = useContext(TableContext);
1223
- var _d = useFilterPanelContext().anchorState, setAnchorEl = _d[1];
1230
+ var _d = useContext(TableContext), table = _d.table, stagedColumnFilters = _d.stagedColumnFilters, stageFilterSelections = _d.stageFilterSelections;
1224
1231
  var _e = useState(false), open = _e[0], setOpen = _e[1];
1232
+ var _f = useFilterPanelContext().anchorState, setAnchorEl = _f[1];
1225
1233
  var column = table.getColumn(columnId);
1226
1234
  var meta = column.columnDef.meta;
1227
1235
  var filterName = (_a = meta === null || meta === void 0 ? void 0 : meta.filter) === null || _a === void 0 ? void 0 : _a.name;
1228
- var value = column.getFilterValue();
1236
+ var value = '';
1237
+ if (stageFilterSelections) {
1238
+ value = stagedColumnFilters.get(columnId);
1239
+ }
1240
+ else {
1241
+ value = column.getFilterValue();
1242
+ }
1229
1243
  var fallbackValue = multiple ? [] : '';
1230
1244
  var filteredOptions = options.map(function (option) {
1231
1245
  if (Array.isArray(value)) {
1232
1246
  if (value.includes(option.value)) {
1233
- return __assign$3(__assign$3({}, option), { hide: true });
1247
+ return __assign$3(__assign$3({}, option), { hide: !stageFilterSelections });
1234
1248
  }
1235
1249
  }
1236
1250
  if (typeof value === 'string' || typeof value === 'number') {
1237
1251
  if (value === option.value) {
1238
- return __assign$3(__assign$3({}, option), { hide: true });
1252
+ return __assign$3(__assign$3({}, option), { hide: !stageFilterSelections });
1239
1253
  }
1240
1254
  }
1241
1255
  return __assign$3(__assign$3({}, option), { hide: false });
1242
1256
  });
1243
1257
  var filteredOptionsCount = filteredOptions.filter(function (option) { return !(option === null || option === void 0 ? void 0 : option.hide); }).length;
1244
1258
  var renderedValue = '';
1245
- if (value && filteredOptions && filteredOptionsCount > 0) {
1259
+ if (!stageFilterSelections && value && filteredOptions && filteredOptionsCount > 0) {
1246
1260
  if (typeof value === 'string' || typeof value === 'number') {
1247
1261
  renderedValue = (_c = (_b = filteredOptions.find(function (option) { return option.value === value; })) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : filterName;
1248
1262
  }
@@ -1255,12 +1269,20 @@ var SelectFilter = function (props) {
1255
1269
  }
1256
1270
  var handleChange = function (event) {
1257
1271
  event.stopPropagation();
1258
- column.setFilterValue(event.target.value);
1259
- setAnchorEl(null);
1272
+ if (stageFilterSelections) {
1273
+ stagedColumnFilters.update(columnId, event.target.value);
1274
+ }
1275
+ else {
1276
+ column.setFilterValue(event.target.value);
1277
+ setAnchorEl(null);
1278
+ }
1260
1279
  };
1261
1280
  var handleItemClick = function () {
1262
1281
  if (multiple) {
1263
- if (filteredOptionsCount === 1) {
1282
+ if (!stageFilterSelections && filteredOptionsCount === 1) {
1283
+ setOpen(false);
1284
+ }
1285
+ else {
1264
1286
  setOpen(false);
1265
1287
  }
1266
1288
  }
@@ -1268,7 +1290,7 @@ var SelectFilter = function (props) {
1268
1290
  return (React__default.createElement(Box, { className: classes.selectContainer },
1269
1291
  React__default.createElement(FormControl, { variant: "outlined", fullWidth: true },
1270
1292
  React__default.createElement(InputLabel, { id: "select-filter-label-" + filterName }, filterName || 'filter'),
1271
- React__default.createElement(Select, { variant: "outlined", open: open, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, value: value || fallbackValue, displayEmpty: true, multiple: multiple, renderValue: function () { return React__default.createElement(Typography$1, null, renderedValue); }, label: filterName || 'filter', labelId: "select-filter-label-" + filterName, disabled: !filteredOptionsCount, IconComponent: SvgChevronDown, onChange: handleChange, fullWidth: true, classes: {
1293
+ React__default.createElement(Select, { variant: "outlined", open: open, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, value: value || fallbackValue, displayEmpty: true, multiple: multiple, renderValue: stageFilterSelections ? undefined : function () { return React__default.createElement(Typography$1, null, renderedValue); }, label: filterName || 'filter', labelId: "select-filter-label-" + filterName, disabled: !filteredOptionsCount, IconComponent: SvgChevronDown, onChange: handleChange, fullWidth: true, classes: {
1272
1294
  root: classes.selectRoot,
1273
1295
  icon: classes.icon,
1274
1296
  }, MenuProps: {
@@ -1288,7 +1310,7 @@ var SelectFilter = function (props) {
1288
1310
  };
1289
1311
 
1290
1312
  var ToggleFilter = function (props) {
1291
- var table = useContext(TableContext);
1313
+ var table = useContext(TableContext).table;
1292
1314
  var columnId = props.columnId;
1293
1315
  var column = table.getColumn(columnId);
1294
1316
  var meta = column.columnDef.meta;
@@ -1386,44 +1408,37 @@ function makeFormatSelectedFilterText(table) {
1386
1408
  };
1387
1409
  }
1388
1410
 
1389
- var Panel = function (props) {
1390
- var anchorEl = props.anchorEl, onClose = props.onClose;
1391
- var classes = useStyles$6();
1392
- var table = useContext(TableContext);
1393
- var paperRef = useRef(null);
1394
- var columnFilters = useColumnFilters(table).columnFilters;
1395
- var handleClick = function (e) {
1396
- var _a;
1397
- var rect = (_a = paperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
1398
- if (rect) {
1399
- var buffer = 10;
1400
- var mouseX = e.nativeEvent.x;
1401
- var mouseY = e.nativeEvent.y;
1402
- var xHit = rect.x - buffer < mouseX && mouseX < rect.x + rect.width + buffer;
1403
- var yHit = rect.y - buffer < mouseY && mouseY < rect.y + rect.height + buffer;
1404
- if (!xHit || !yHit) {
1405
- onClose();
1411
+ var useStagedColumnFilters = function () {
1412
+ var _a = useState(new Map()), columnInputValues = _a[0], setColumnInputValues = _a[1];
1413
+ var filterState = {
1414
+ update: function (columnId, value) {
1415
+ return setColumnInputValues(columnInputValues.set(columnId, value));
1416
+ },
1417
+ get: function (columnId) { return columnInputValues.get(columnId); },
1418
+ clear: function () {
1419
+ columnInputValues.clear();
1420
+ setColumnInputValues(columnInputValues);
1421
+ },
1422
+ delete: function (columnFilter) {
1423
+ var values = columnInputValues.get(columnFilter.id);
1424
+ if (values && Array.isArray(values)) {
1425
+ var valueIndex = values.indexOf(columnFilter.value);
1426
+ values.splice(valueIndex, 1);
1427
+ if (values.length > 0) {
1428
+ columnInputValues.set(columnFilter.id, values);
1429
+ }
1430
+ else {
1431
+ columnInputValues.clear();
1432
+ }
1406
1433
  }
1407
- }
1434
+ else {
1435
+ columnInputValues.delete(columnFilter.id);
1436
+ }
1437
+ setColumnInputValues(columnInputValues);
1438
+ },
1439
+ exist: function () { return columnInputValues.size > 0; },
1408
1440
  };
1409
- var open = Boolean(anchorEl);
1410
- return (React__default.createElement(Popover, { onClick: handleClick, anchorEl: anchorEl, anchorOrigin: {
1411
- vertical: 'bottom',
1412
- horizontal: 'right',
1413
- }, className: classes.filterPopover, onClose: onClose, open: open, PaperProps: {
1414
- style: {
1415
- backgroundColor: 'transparent',
1416
- boxShadow: 'none',
1417
- borderRadius: 0,
1418
- },
1419
- }, transformOrigin: {
1420
- vertical: 'top',
1421
- horizontal: 'right',
1422
- } },
1423
- React__default.createElement(Paper$1, { className: classes.filterPopoverContents, elevation: 2 },
1424
- React__default.createElement(Box, __assign$3({}, { ref: paperRef }, { padding: 3 }),
1425
- React__default.createElement(Typography$1, { className: classes.menuTitle }, "Filter By"),
1426
- columnFilters.map(function (columnFilter, i) { return (React__default.createElement(FilterControl, __assign$3({}, columnFilter, { key: i }))); })))));
1441
+ return filterState;
1427
1442
  };
1428
1443
 
1429
1444
  /*! *****************************************************************************
@@ -1502,19 +1517,19 @@ function __rest(s, e) {
1502
1517
  return t;
1503
1518
  }
1504
1519
 
1505
- var _path$N;
1520
+ var _path$1D;
1506
1521
 
1507
- function _extends$1N() { _extends$1N = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1N.apply(this, arguments); }
1522
+ function _extends$3G() { _extends$3G = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3G.apply(this, arguments); }
1508
1523
 
1509
1524
  function SvgUser(props) {
1510
- return /*#__PURE__*/React.createElement("svg", _extends$1N({
1525
+ return /*#__PURE__*/React.createElement("svg", _extends$3G({
1511
1526
  viewBox: "0 0 16 16",
1512
1527
  fill: "none",
1513
1528
  strokeLinecap: "round",
1514
1529
  strokeLinejoin: "round",
1515
1530
  width: "1em",
1516
1531
  height: "1em"
1517
- }, props), _path$N || (_path$N = /*#__PURE__*/React.createElement("path", {
1532
+ }, props), _path$1D || (_path$1D = /*#__PURE__*/React.createElement("path", {
1518
1533
  d: "M13.333 14v-1.333A2.667 2.667 0 0010.667 10H5.333a2.667 2.667 0 00-2.666 2.667V14M8 7.333A2.667 2.667 0 108 2a2.667 2.667 0 000 5.333z",
1519
1534
  stroke: "currentColor"
1520
1535
  })));
@@ -2185,19 +2200,19 @@ makeStyles(function (theme) { return ({
2185
2200
  },
2186
2201
  }); });
2187
2202
 
2188
- var _g$1o;
2203
+ var _g$2B;
2189
2204
 
2190
- function _extends$2t() { _extends$2t = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2t.apply(this, arguments); }
2205
+ function _extends$4J() { _extends$4J = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4J.apply(this, arguments); }
2191
2206
 
2192
2207
  function SvgCheckCircle(props) {
2193
- return /*#__PURE__*/React.createElement("svg", _extends$2t({
2208
+ return /*#__PURE__*/React.createElement("svg", _extends$4J({
2194
2209
  viewBox: "0 0 16 16",
2195
2210
  fill: "none",
2196
2211
  strokeLinecap: "round",
2197
2212
  strokeLinejoin: "round",
2198
2213
  width: "1em",
2199
2214
  height: "1em"
2200
- }, props), _g$1o || (_g$1o = /*#__PURE__*/React.createElement("g", {
2215
+ }, props), _g$2B || (_g$2B = /*#__PURE__*/React.createElement("g", {
2201
2216
  stroke: "currentColor"
2202
2217
  }, /*#__PURE__*/React.createElement("path", {
2203
2218
  d: "M14.667 7.387V8a6.667 6.667 0 11-3.954-6.093"
@@ -2206,44 +2221,44 @@ function SvgCheckCircle(props) {
2206
2221
  }))));
2207
2222
  }
2208
2223
 
2209
- var _path$13;
2224
+ var _path$26;
2210
2225
 
2211
- function _extends$2r() { _extends$2r = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2r.apply(this, arguments); }
2226
+ function _extends$4G() { _extends$4G = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4G.apply(this, arguments); }
2212
2227
 
2213
2228
  function SvgX(props) {
2214
- return /*#__PURE__*/React.createElement("svg", _extends$2r({
2229
+ return /*#__PURE__*/React.createElement("svg", _extends$4G({
2215
2230
  viewBox: "0 0 16 16",
2216
2231
  fill: "none",
2217
2232
  strokeLinecap: "round",
2218
2233
  strokeLinejoin: "round",
2219
2234
  width: "1em",
2220
2235
  height: "1em"
2221
- }, props), _path$13 || (_path$13 = /*#__PURE__*/React.createElement("path", {
2236
+ }, props), _path$26 || (_path$26 = /*#__PURE__*/React.createElement("path", {
2222
2237
  d: "M12 4l-8 8m0-8l8 8",
2223
2238
  stroke: "currentColor"
2224
2239
  })));
2225
2240
  }
2226
2241
 
2227
- var _g$1g, _defs$E;
2242
+ var _g$2o, _defs$1t;
2228
2243
 
2229
- function _extends$2h() { _extends$2h = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2h.apply(this, arguments); }
2244
+ function _extends$4o() { _extends$4o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4o.apply(this, arguments); }
2230
2245
 
2231
2246
  function SvgHelp(props) {
2232
- return /*#__PURE__*/React.createElement("svg", _extends$2h({
2247
+ return /*#__PURE__*/React.createElement("svg", _extends$4o({
2233
2248
  viewBox: "0 0 16 16",
2234
2249
  fill: "none",
2235
2250
  strokeLinecap: "round",
2236
2251
  strokeLinejoin: "round",
2237
2252
  width: "1em",
2238
2253
  height: "1em"
2239
- }, props), _g$1g || (_g$1g = /*#__PURE__*/React.createElement("g", {
2254
+ }, props), _g$2o || (_g$2o = /*#__PURE__*/React.createElement("g", {
2240
2255
  clipPath: "url(#help_svg__clip0_8_5446)",
2241
2256
  stroke: "currentColor"
2242
2257
  }, /*#__PURE__*/React.createElement("path", {
2243
2258
  d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333z"
2244
2259
  }), /*#__PURE__*/React.createElement("path", {
2245
2260
  d: "M6.06 6a2 2 0 013.887.667c0 1.333-2 2-2 2M8 11.334h.007"
2246
- }))), _defs$E || (_defs$E = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
2261
+ }))), _defs$1t || (_defs$1t = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
2247
2262
  id: "help_svg__clip0_8_5446"
2248
2263
  }, /*#__PURE__*/React.createElement("path", {
2249
2264
  fill: "currentColor",
@@ -2251,24 +2266,24 @@ function SvgHelp(props) {
2251
2266
  })))));
2252
2267
  }
2253
2268
 
2254
- var _g$1d, _defs$D;
2269
+ var _g$2l, _defs$1s;
2255
2270
 
2256
- function _extends$2e() { _extends$2e = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2e.apply(this, arguments); }
2271
+ function _extends$4l() { _extends$4l = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4l.apply(this, arguments); }
2257
2272
 
2258
2273
  function SvgInfo(props) {
2259
- return /*#__PURE__*/React.createElement("svg", _extends$2e({
2274
+ return /*#__PURE__*/React.createElement("svg", _extends$4l({
2260
2275
  viewBox: "0 0 16 16",
2261
2276
  fill: "none",
2262
2277
  strokeLinecap: "round",
2263
2278
  strokeLinejoin: "round",
2264
2279
  width: "1em",
2265
2280
  height: "1em"
2266
- }, props), _g$1d || (_g$1d = /*#__PURE__*/React.createElement("g", {
2281
+ }, props), _g$2l || (_g$2l = /*#__PURE__*/React.createElement("g", {
2267
2282
  clipPath: "url(#info_svg__clip0_8_5377)",
2268
2283
  stroke: "currentColor"
2269
2284
  }, /*#__PURE__*/React.createElement("path", {
2270
2285
  d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-4V8m0-2.667h.007"
2271
- }))), _defs$D || (_defs$D = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
2286
+ }))), _defs$1s || (_defs$1s = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
2272
2287
  id: "info_svg__clip0_8_5377"
2273
2288
  }, /*#__PURE__*/React.createElement("path", {
2274
2289
  fill: "currentColor",
@@ -2276,24 +2291,24 @@ function SvgInfo(props) {
2276
2291
  })))));
2277
2292
  }
2278
2293
 
2279
- var _g$Z, _defs$u;
2294
+ var _g$1$, _defs$1e;
2280
2295
 
2281
- function _extends$1J() { _extends$1J = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1J.apply(this, arguments); }
2296
+ function _extends$3v() { _extends$3v = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3v.apply(this, arguments); }
2282
2297
 
2283
2298
  function SvgError(props) {
2284
- return /*#__PURE__*/React.createElement("svg", _extends$1J({
2299
+ return /*#__PURE__*/React.createElement("svg", _extends$3v({
2285
2300
  viewBox: "0 0 16 16",
2286
2301
  fill: "none",
2287
2302
  strokeLinecap: "round",
2288
2303
  strokeLinejoin: "round",
2289
2304
  width: "1em",
2290
2305
  height: "1em"
2291
- }, props), _g$Z || (_g$Z = /*#__PURE__*/React.createElement("g", {
2306
+ }, props), _g$1$ || (_g$1$ = /*#__PURE__*/React.createElement("g", {
2292
2307
  clipPath: "url(#error_svg__clip0_8_5411)",
2293
2308
  stroke: "currentColor"
2294
2309
  }, /*#__PURE__*/React.createElement("path", {
2295
2310
  d: "M5.24 1.333h5.52l3.907 3.907v5.52l-3.907 3.907H5.24L1.333 10.76V5.24L5.24 1.333zm2.76 4V8m0 2.666h.008"
2296
- }))), _defs$u || (_defs$u = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
2311
+ }))), _defs$1e || (_defs$1e = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
2297
2312
  id: "error_svg__clip0_8_5411"
2298
2313
  }, /*#__PURE__*/React.createElement("path", {
2299
2314
  fill: "currentColor",
@@ -2301,19 +2316,19 @@ function SvgError(props) {
2301
2316
  })))));
2302
2317
  }
2303
2318
 
2304
- var _path$K;
2319
+ var _path$1u;
2305
2320
 
2306
- function _extends$1I() { _extends$1I = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1I.apply(this, arguments); }
2321
+ function _extends$3u() { _extends$3u = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3u.apply(this, arguments); }
2307
2322
 
2308
2323
  function SvgWarning(props) {
2309
- return /*#__PURE__*/React.createElement("svg", _extends$1I({
2324
+ return /*#__PURE__*/React.createElement("svg", _extends$3u({
2310
2325
  viewBox: "0 0 16 16",
2311
2326
  fill: "none",
2312
2327
  strokeLinecap: "round",
2313
2328
  strokeLinejoin: "round",
2314
2329
  width: "1em",
2315
2330
  height: "1em"
2316
- }, props), _path$K || (_path$K = /*#__PURE__*/React.createElement("path", {
2331
+ }, props), _path$1u || (_path$1u = /*#__PURE__*/React.createElement("path", {
2317
2332
  d: "M6.86 2.573L1.213 12a1.334 1.334 0 001.14 2h11.294a1.332 1.332 0 001.14-2L9.14 2.573a1.333 1.333 0 00-2.28 0v0zM8 6v2.667m0 2.667h.007",
2318
2333
  stroke: "currentColor"
2319
2334
  })));
@@ -3199,6 +3214,68 @@ createTheme(adminLightOptions);
3199
3214
  var adminDarkOptions = __assign$1(__assign$1(__assign$1(__assign$1({ themeName: 'Admin Dark', palette: __assign$1(__assign$1(__assign$1({}, basePalette), adminDarkPalette), dataVizPalette), breakpoints: adminThemeBreakpoints, typography: adminThemeTypography, overrides: overrides }, adminDarkPlaceholder), adminThemeZIndex), adminThemeStatus), adminThemeDefaultProps);
3200
3215
  createTheme(adminDarkOptions);
3201
3216
 
3217
+ var Panel = function (props) {
3218
+ var anchorEl = props.anchorEl, onClose = props.onClose;
3219
+ var classes = useStyles$6();
3220
+ var _a = useContext(TableContext), table = _a.table, stagedColumnFilters = _a.stagedColumnFilters, stageFilterSelections = _a.stageFilterSelections;
3221
+ var paperRef = useRef(null);
3222
+ var _b = useColumnFilters(table), columnFilters = _b.columnFilters, resetColumnFilters = _b.resetColumnFilters;
3223
+ var handleClick = function (e) {
3224
+ var _a;
3225
+ var rect = (_a = paperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
3226
+ if (rect) {
3227
+ var buffer = 10;
3228
+ var mouseX = e.nativeEvent.x;
3229
+ var mouseY = e.nativeEvent.y;
3230
+ var xHit = rect.x - buffer < mouseX && mouseX < rect.x + rect.width + buffer;
3231
+ var yHit = rect.y - buffer < mouseY && mouseY < rect.y + rect.height + buffer;
3232
+ if (!xHit || !yHit) {
3233
+ onClose();
3234
+ }
3235
+ }
3236
+ };
3237
+ var handleApplyClick = function () {
3238
+ if (stagedColumnFilters.exist()) {
3239
+ columnFilters.forEach(function (columnFilter) {
3240
+ var columnInputValue = stagedColumnFilters.get(columnFilter.columnId);
3241
+ if (columnInputValue) {
3242
+ var column = table.getColumn(columnFilter.columnId);
3243
+ column.setFilterValue(columnInputValue);
3244
+ }
3245
+ });
3246
+ }
3247
+ else {
3248
+ resetColumnFilters();
3249
+ }
3250
+ onClose();
3251
+ };
3252
+ var handleCancelClick = function () {
3253
+ stagedColumnFilters.clear();
3254
+ onClose();
3255
+ };
3256
+ var open = Boolean(anchorEl);
3257
+ return (React__default.createElement(Popover, { onClick: handleClick, anchorEl: anchorEl, anchorOrigin: {
3258
+ vertical: 'bottom',
3259
+ horizontal: 'right',
3260
+ }, className: classes.filterPopover, onClose: onClose, open: open, PaperProps: {
3261
+ style: {
3262
+ backgroundColor: 'transparent',
3263
+ boxShadow: 'none',
3264
+ borderRadius: 0,
3265
+ },
3266
+ }, transformOrigin: {
3267
+ vertical: 'top',
3268
+ horizontal: 'right',
3269
+ } },
3270
+ React__default.createElement(Paper$1, { className: classes.filterPopoverContents, elevation: 2 },
3271
+ React__default.createElement(Box, __assign$3({}, { ref: paperRef }, { padding: 3 }),
3272
+ React__default.createElement(Typography$1, { className: classes.menuTitle }, "Filter By"),
3273
+ columnFilters.map(function (columnFilter, i) { return (React__default.createElement(FilterControl, __assign$3({}, columnFilter, { key: i }))); })),
3274
+ stageFilterSelections && (React__default.createElement(Box, { className: classes.buttonBox },
3275
+ React__default.createElement(Button, { variant: "secondary", onClick: handleCancelClick }, "Cancel"),
3276
+ React__default.createElement(Button, { onClick: handleApplyClick }, "Apply"))))));
3277
+ };
3278
+
3202
3279
  var useStyles$3 = makeStyles({
3203
3280
  root: {
3204
3281
  justifySelf: 'end',
@@ -4033,7 +4110,7 @@ var defaultTableProps = {
4033
4110
  searchable: false,
4034
4111
  };
4035
4112
  var Table = function (props) {
4036
- 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, paginated = props.paginated, pageCount = props.pageCount, GlobalFilterProps = props.GlobalFilterProps, Empty = props.Empty, idBase = props.idBase;
4113
+ 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, paginated = props.paginated, pageCount = props.pageCount, GlobalFilterProps = props.GlobalFilterProps, Empty = props.Empty, idBase = props.idBase, stageFilterSelections = props.stageFilterSelections;
4037
4114
  var classes = useStyles$7(props);
4038
4115
  var rootRef = useRef(null);
4039
4116
  // Prepare Empty State
@@ -4061,6 +4138,8 @@ var Table = function (props) {
4061
4138
  // Init table instance
4062
4139
  var table = useReactTable(__assign$3(__assign$3(__assign$3(__assign$3(__assign$3(__assign$3({ data: data, columns: columns, state: __assign$3(__assign$3(__assign$3(__assign$3(__assign$3({}, (isControlledPagination && { pagination: pagination })), (isControlledGlobalFilter && { globalFilter: globalFilter })), (isControlledColumnFilters && { columnFilters: columnFilters })), (isControlledColumnVisibility && { columnVisibility: columnVisibility })), (isControlledColumnSort && { sorting: sorting })), enableSorting: sortable, enableSortingRemoval: enableSortingRemoval, globalFilterFn: coercedValueIncludesString, getCoreRowModel: getCoreRowModel(), getSortedRowModel: getSortedRowModel(), getFilteredRowModel: getFilteredRowModel() }, (paginated && { getPaginationRowModel: getPaginationRowModel() })), (isControlledPagination && controlledPaginationOptions)), (isControlledGlobalFilter && controlledGlobalFilterOptions)), (isControlledColumnFilters && controlledColumnFiltersOptions)), (isControlledColumnSort && controlledColumnSortOptions)), { meta: { idBase: idBase } }));
4063
4140
  var _f = useColumnFilters(table), selectedColumnFilters = _f.selectedColumnFilters, hasColumnFilters = _f.hasColumnFilters, deselectColumnFilter = _f.deselectColumnFilter, formatSelectedFilterText = _f.formatSelectedFilterText, resetColumnFilters = _f.resetColumnFilters;
4141
+ // stagedColumnFilters is only used when stageFilterSelections is enabled
4142
+ var stagedColumnFilters = useStagedColumnFilters();
4064
4143
  var handlePagination = function (_e, pageNumber) {
4065
4144
  var pageIndex = pageNumber - 1;
4066
4145
  table.setPageIndex(pageIndex);
@@ -4069,7 +4148,7 @@ var Table = function (props) {
4069
4148
  var showGlobalSearch = Boolean(searchable || isControlledGlobalFilter);
4070
4149
  var showColumnFilter = Boolean(hasColumnFilters);
4071
4150
  var showControls = Boolean(showTitle || showGlobalSearch || showColumnFilter);
4072
- return (React__default.createElement(TableContext.Provider, { value: table },
4151
+ return (React__default.createElement(TableContext.Provider, { value: { table: table, stagedColumnFilters: stagedColumnFilters, stageFilterSelections: stageFilterSelections } },
4073
4152
  React__default.createElement(Box, __assign$3({ className: classes.root }, { ref: rootRef }, { "data-table-element": "root" }, (table.getPageCount() > 1 && {
4074
4153
  minHeight: getTableMinHeight(rootRef, table.getState().pagination.pageSize),
4075
4154
  })),
@@ -4079,8 +4158,18 @@ var Table = function (props) {
4079
4158
  showGlobalSearch && (React__default.createElement(GlobalFilter, __assign$3({}, GlobalFilterProps, { value: table.getState().globalFilter, setValue: table.setGlobalFilter }))),
4080
4159
  showColumnFilter && React__default.createElement(FilterPanel, null)),
4081
4160
  React__default.createElement(Box, { display: "flex", flexWrap: "wrap", gridGap: 8 },
4082
- selectedColumnFilters.map(function (selectedColumnFilter, i) { return (React__default.createElement(ColumnFilterChip, { key: "selected-column-filter-chip-" + i, columnFilter: selectedColumnFilter, label: formatSelectedFilterText(selectedColumnFilter), onClick: deselectColumnFilter })); }),
4083
- selectedColumnFilters.length >= 1 && React__default.createElement(ColumnFilterResetButton, { onClick: function () { return resetColumnFilters(); } })))),
4161
+ selectedColumnFilters.map(function (selectedColumnFilter, i) { return (React__default.createElement(ColumnFilterChip, { key: "selected-column-filter-chip-" + i, columnFilter: selectedColumnFilter, label: formatSelectedFilterText(selectedColumnFilter), onClick: function (columnFilter) {
4162
+ if (stageFilterSelections) {
4163
+ stagedColumnFilters.delete(columnFilter);
4164
+ }
4165
+ deselectColumnFilter(columnFilter);
4166
+ } })); }),
4167
+ selectedColumnFilters.length >= 1 && (React__default.createElement(ColumnFilterResetButton, { onClick: function () {
4168
+ if (stageFilterSelections) {
4169
+ stagedColumnFilters.clear();
4170
+ }
4171
+ resetColumnFilters();
4172
+ } }))))),
4084
4173
  React__default.createElement(Box, { className: classes.tableContainer, flexGrow: loading || isEmpty ? 0 : 1 },
4085
4174
  React__default.createElement("table", { className: classes.table },
4086
4175
  React__default.createElement(TableHeader, null, table.getHeaderGroups().map(function (headerGroup) { return (React__default.createElement(TableHeaderRow, { key: headerGroup.id }, headerGroup.headers.map(function (header) { return (React__default.createElement(TableHeaderCell, { key: header.id, context: header.getContext() }, flexRender(header.column.columnDef.header, header.getContext()))); }))); })),