@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.js CHANGED
@@ -188,19 +188,19 @@ function __rest$2(s, e) {
188
188
  return t;
189
189
  }
190
190
 
191
- var _g$1o$1;
191
+ var _g$2B$1;
192
192
 
193
- 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); }
193
+ 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); }
194
194
 
195
195
  function SvgCheckCircle$1(props) {
196
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2t$1({
196
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4J$1({
197
197
  viewBox: "0 0 16 16",
198
198
  fill: "none",
199
199
  strokeLinecap: "round",
200
200
  strokeLinejoin: "round",
201
201
  width: "1em",
202
202
  height: "1em"
203
- }, props), _g$1o$1 || (_g$1o$1 = /*#__PURE__*/React__namespace.createElement("g", {
203
+ }, props), _g$2B$1 || (_g$2B$1 = /*#__PURE__*/React__namespace.createElement("g", {
204
204
  stroke: "currentColor"
205
205
  }, /*#__PURE__*/React__namespace.createElement("path", {
206
206
  d: "M14.667 7.387V8a6.667 6.667 0 11-3.954-6.093"
@@ -209,24 +209,24 @@ function SvgCheckCircle$1(props) {
209
209
  }))));
210
210
  }
211
211
 
212
- var _g$1m, _defs$J;
212
+ var _g$2y, _defs$1C;
213
213
 
214
- 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); }
214
+ 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); }
215
215
 
216
216
  function SvgXCircle(props) {
217
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2q({
217
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4F({
218
218
  viewBox: "0 0 16 16",
219
219
  fill: "none",
220
220
  strokeLinecap: "round",
221
221
  strokeLinejoin: "round",
222
222
  width: "1em",
223
223
  height: "1em"
224
- }, props), _g$1m || (_g$1m = /*#__PURE__*/React__namespace.createElement("g", {
224
+ }, props), _g$2y || (_g$2y = /*#__PURE__*/React__namespace.createElement("g", {
225
225
  clipPath: "url(#x-circle_svg__clip0_8_6136)",
226
226
  stroke: "currentColor"
227
227
  }, /*#__PURE__*/React__namespace.createElement("path", {
228
228
  d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM10 6l-4 4m0-4l4 4"
229
- }))), _defs$J || (_defs$J = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
229
+ }))), _defs$1C || (_defs$1C = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
230
230
  id: "x-circle_svg__clip0_8_6136"
231
231
  }, /*#__PURE__*/React__namespace.createElement("path", {
232
232
  fill: "currentColor",
@@ -234,24 +234,24 @@ function SvgXCircle(props) {
234
234
  })))));
235
235
  }
236
236
 
237
- var _g$1d$1, _defs$D$1;
237
+ var _g$2l$1, _defs$1s$1;
238
238
 
239
- 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); }
239
+ 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); }
240
240
 
241
241
  function SvgInfo$1(props) {
242
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2e$1({
242
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4l$1({
243
243
  viewBox: "0 0 16 16",
244
244
  fill: "none",
245
245
  strokeLinecap: "round",
246
246
  strokeLinejoin: "round",
247
247
  width: "1em",
248
248
  height: "1em"
249
- }, props), _g$1d$1 || (_g$1d$1 = /*#__PURE__*/React__namespace.createElement("g", {
249
+ }, props), _g$2l$1 || (_g$2l$1 = /*#__PURE__*/React__namespace.createElement("g", {
250
250
  clipPath: "url(#info_svg__clip0_8_5377)",
251
251
  stroke: "currentColor"
252
252
  }, /*#__PURE__*/React__namespace.createElement("path", {
253
253
  d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-4V8m0-2.667h.007"
254
- }))), _defs$D$1 || (_defs$D$1 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
254
+ }))), _defs$1s$1 || (_defs$1s$1 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
255
255
  id: "info_svg__clip0_8_5377"
256
256
  }, /*#__PURE__*/React__namespace.createElement("path", {
257
257
  fill: "currentColor",
@@ -259,42 +259,42 @@ function SvgInfo$1(props) {
259
259
  })))));
260
260
  }
261
261
 
262
- var _path$N$1;
262
+ var _path$1D$1;
263
263
 
264
- 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); }
264
+ 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); }
265
265
 
266
266
  function SvgUser$1(props) {
267
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1N$1({
267
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3G$1({
268
268
  viewBox: "0 0 16 16",
269
269
  fill: "none",
270
270
  strokeLinecap: "round",
271
271
  strokeLinejoin: "round",
272
272
  width: "1em",
273
273
  height: "1em"
274
- }, props), _path$N$1 || (_path$N$1 = /*#__PURE__*/React__namespace.createElement("path", {
274
+ }, props), _path$1D$1 || (_path$1D$1 = /*#__PURE__*/React__namespace.createElement("path", {
275
275
  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",
276
276
  stroke: "currentColor"
277
277
  })));
278
278
  }
279
279
 
280
- var _g$Z$1, _defs$u$1;
280
+ var _g$1$$1, _defs$1e$1;
281
281
 
282
- 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); }
282
+ 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); }
283
283
 
284
284
  function SvgError$1(props) {
285
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1J$1({
285
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3v$1({
286
286
  viewBox: "0 0 16 16",
287
287
  fill: "none",
288
288
  strokeLinecap: "round",
289
289
  strokeLinejoin: "round",
290
290
  width: "1em",
291
291
  height: "1em"
292
- }, props), _g$Z$1 || (_g$Z$1 = /*#__PURE__*/React__namespace.createElement("g", {
292
+ }, props), _g$1$$1 || (_g$1$$1 = /*#__PURE__*/React__namespace.createElement("g", {
293
293
  clipPath: "url(#error_svg__clip0_8_5411)",
294
294
  stroke: "currentColor"
295
295
  }, /*#__PURE__*/React__namespace.createElement("path", {
296
296
  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"
297
- }))), _defs$u$1 || (_defs$u$1 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
297
+ }))), _defs$1e$1 || (_defs$1e$1 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
298
298
  id: "error_svg__clip0_8_5411"
299
299
  }, /*#__PURE__*/React__namespace.createElement("path", {
300
300
  fill: "currentColor",
@@ -302,19 +302,19 @@ function SvgError$1(props) {
302
302
  })))));
303
303
  }
304
304
 
305
- var _path$K$1;
305
+ var _path$1u$1;
306
306
 
307
- 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); }
307
+ 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); }
308
308
 
309
309
  function SvgWarning$1(props) {
310
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1I$1({
310
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3u$1({
311
311
  viewBox: "0 0 16 16",
312
312
  fill: "none",
313
313
  strokeLinecap: "round",
314
314
  strokeLinejoin: "round",
315
315
  width: "1em",
316
316
  height: "1em"
317
- }, props), _path$K$1 || (_path$K$1 = /*#__PURE__*/React__namespace.createElement("path", {
317
+ }, props), _path$1u$1 || (_path$1u$1 = /*#__PURE__*/React__namespace.createElement("path", {
318
318
  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",
319
319
  stroke: "currentColor"
320
320
  })));
@@ -1081,6 +1081,14 @@ var TableFooter = function (props) {
1081
1081
  };
1082
1082
 
1083
1083
  var useStyles$6 = core.makeStyles(function (theme) { return ({
1084
+ buttonBox: {
1085
+ '& > :last-child': {
1086
+ marginLeft: theme.spacing(2),
1087
+ },
1088
+ display: 'flex',
1089
+ justifyContent: 'flex-end',
1090
+ padding: "0px " + theme.spacing(3) + "px " + theme.spacing(3) + "px " + theme.spacing(3) + "px",
1091
+ },
1084
1092
  buttonLabel: {
1085
1093
  fontWeight: 400,
1086
1094
  },
@@ -1126,109 +1134,109 @@ var useStyles$6 = core.makeStyles(function (theme) { return ({
1126
1134
  },
1127
1135
  }); });
1128
1136
 
1129
- var _path$1g;
1137
+ var _path$2p;
1130
1138
 
1131
- 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); }
1139
+ 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); }
1132
1140
 
1133
1141
  function SvgChevronDown(props) {
1134
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2O({
1142
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$5p({
1135
1143
  viewBox: "0 0 16 16",
1136
1144
  fill: "none",
1137
1145
  strokeLinecap: "round",
1138
1146
  strokeLinejoin: "round",
1139
1147
  width: "1em",
1140
1148
  height: "1em"
1141
- }, props), _path$1g || (_path$1g = /*#__PURE__*/React__namespace.createElement("path", {
1149
+ }, props), _path$2p || (_path$2p = /*#__PURE__*/React__namespace.createElement("path", {
1142
1150
  d: "M4 6l4 4 4-4",
1143
1151
  stroke: "currentColor"
1144
1152
  })));
1145
1153
  }
1146
1154
 
1147
- var _path$1f;
1155
+ var _path$2o;
1148
1156
 
1149
- 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); }
1157
+ 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); }
1150
1158
 
1151
1159
  function SvgChevronUp(props) {
1152
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2N({
1160
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$5o({
1153
1161
  viewBox: "0 0 16 16",
1154
1162
  fill: "none",
1155
1163
  strokeLinecap: "round",
1156
1164
  strokeLinejoin: "round",
1157
1165
  width: "1em",
1158
1166
  height: "1em"
1159
- }, props), _path$1f || (_path$1f = /*#__PURE__*/React__namespace.createElement("path", {
1167
+ }, props), _path$2o || (_path$2o = /*#__PURE__*/React__namespace.createElement("path", {
1160
1168
  d: "M12 10L8 6l-4 4",
1161
1169
  stroke: "currentColor"
1162
1170
  })));
1163
1171
  }
1164
1172
 
1165
- var _path$19;
1173
+ var _path$2f;
1166
1174
 
1167
- 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); }
1175
+ 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); }
1168
1176
 
1169
1177
  function SvgSort(props) {
1170
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2C({
1178
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$58({
1171
1179
  viewBox: "0 0 16 16",
1172
1180
  fill: "none",
1173
1181
  strokeLinecap: "round",
1174
1182
  strokeLinejoin: "round",
1175
1183
  width: "1em",
1176
1184
  height: "1em"
1177
- }, props), _path$19 || (_path$19 = /*#__PURE__*/React__namespace.createElement("path", {
1185
+ }, props), _path$2f || (_path$2f = /*#__PURE__*/React__namespace.createElement("path", {
1178
1186
  d: "M11.333 6L8 2.667 4.667 6m6.666 4L8 13.334 4.667 10",
1179
1187
  stroke: "currentColor"
1180
1188
  })));
1181
1189
  }
1182
1190
 
1183
- var _path$11;
1191
+ var _path$22;
1184
1192
 
1185
- 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); }
1193
+ 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); }
1186
1194
 
1187
1195
  function SvgFilter(props) {
1188
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2k({
1196
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4t({
1189
1197
  viewBox: "0 0 16 16",
1190
1198
  fill: "none",
1191
1199
  strokeLinecap: "round",
1192
1200
  strokeLinejoin: "round",
1193
1201
  width: "1em",
1194
1202
  height: "1em"
1195
- }, props), _path$11 || (_path$11 = /*#__PURE__*/React__namespace.createElement("path", {
1203
+ }, props), _path$22 || (_path$22 = /*#__PURE__*/React__namespace.createElement("path", {
1196
1204
  d: "M14.667 2H1.333l5.334 6.307v4.36L9.333 14V8.307L14.667 2z",
1197
1205
  stroke: "currentColor"
1198
1206
  })));
1199
1207
  }
1200
1208
 
1201
- var _path$V;
1209
+ var _path$1P;
1202
1210
 
1203
- 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); }
1211
+ 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); }
1204
1212
 
1205
1213
  function SvgMore(props) {
1206
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$23({
1214
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$44({
1207
1215
  viewBox: "0 0 16 16",
1208
1216
  fill: "none",
1209
1217
  strokeLinecap: "round",
1210
1218
  strokeLinejoin: "round",
1211
1219
  width: "1em",
1212
1220
  height: "1em"
1213
- }, props), _path$V || (_path$V = /*#__PURE__*/React__namespace.createElement("path", {
1221
+ }, props), _path$1P || (_path$1P = /*#__PURE__*/React__namespace.createElement("path", {
1214
1222
  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",
1215
1223
  stroke: "currentColor"
1216
1224
  })));
1217
1225
  }
1218
1226
 
1219
- var _path$R;
1227
+ var _path$1J;
1220
1228
 
1221
- 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); }
1229
+ 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); }
1222
1230
 
1223
1231
  function SvgSearch(props) {
1224
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1Z({
1232
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3W({
1225
1233
  viewBox: "0 0 16 16",
1226
1234
  fill: "none",
1227
1235
  strokeLinecap: "round",
1228
1236
  strokeLinejoin: "round",
1229
1237
  width: "1em",
1230
1238
  height: "1em"
1231
- }, props), _path$R || (_path$R = /*#__PURE__*/React__namespace.createElement("path", {
1239
+ }, props), _path$1J || (_path$1J = /*#__PURE__*/React__namespace.createElement("path", {
1232
1240
  d: "M7.333 12.667A5.333 5.333 0 107.333 2a5.333 5.333 0 000 10.667zM14 14l-2.9-2.9",
1233
1241
  stroke: "currentColor"
1234
1242
  })));
@@ -1268,30 +1276,36 @@ var SelectFilter = function (props) {
1268
1276
  var _a, _b, _c;
1269
1277
  var options = props.options, columnId = props.columnId, multiple = props.multiple;
1270
1278
  var classes = useStyles$4();
1271
- var table = React.useContext(TableContext);
1272
- var _d = useFilterPanelContext().anchorState, setAnchorEl = _d[1];
1279
+ var _d = React.useContext(TableContext), table = _d.table, stagedColumnFilters = _d.stagedColumnFilters, stageFilterSelections = _d.stageFilterSelections;
1273
1280
  var _e = React.useState(false), open = _e[0], setOpen = _e[1];
1281
+ var _f = useFilterPanelContext().anchorState, setAnchorEl = _f[1];
1274
1282
  var column = table.getColumn(columnId);
1275
1283
  var meta = column.columnDef.meta;
1276
1284
  var filterName = (_a = meta === null || meta === void 0 ? void 0 : meta.filter) === null || _a === void 0 ? void 0 : _a.name;
1277
- var value = column.getFilterValue();
1285
+ var value = '';
1286
+ if (stageFilterSelections) {
1287
+ value = stagedColumnFilters.get(columnId);
1288
+ }
1289
+ else {
1290
+ value = column.getFilterValue();
1291
+ }
1278
1292
  var fallbackValue = multiple ? [] : '';
1279
1293
  var filteredOptions = options.map(function (option) {
1280
1294
  if (Array.isArray(value)) {
1281
1295
  if (value.includes(option.value)) {
1282
- return __assign$3(__assign$3({}, option), { hide: true });
1296
+ return __assign$3(__assign$3({}, option), { hide: !stageFilterSelections });
1283
1297
  }
1284
1298
  }
1285
1299
  if (typeof value === 'string' || typeof value === 'number') {
1286
1300
  if (value === option.value) {
1287
- return __assign$3(__assign$3({}, option), { hide: true });
1301
+ return __assign$3(__assign$3({}, option), { hide: !stageFilterSelections });
1288
1302
  }
1289
1303
  }
1290
1304
  return __assign$3(__assign$3({}, option), { hide: false });
1291
1305
  });
1292
1306
  var filteredOptionsCount = filteredOptions.filter(function (option) { return !(option === null || option === void 0 ? void 0 : option.hide); }).length;
1293
1307
  var renderedValue = '';
1294
- if (value && filteredOptions && filteredOptionsCount > 0) {
1308
+ if (!stageFilterSelections && value && filteredOptions && filteredOptionsCount > 0) {
1295
1309
  if (typeof value === 'string' || typeof value === 'number') {
1296
1310
  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;
1297
1311
  }
@@ -1304,12 +1318,20 @@ var SelectFilter = function (props) {
1304
1318
  }
1305
1319
  var handleChange = function (event) {
1306
1320
  event.stopPropagation();
1307
- column.setFilterValue(event.target.value);
1308
- setAnchorEl(null);
1321
+ if (stageFilterSelections) {
1322
+ stagedColumnFilters.update(columnId, event.target.value);
1323
+ }
1324
+ else {
1325
+ column.setFilterValue(event.target.value);
1326
+ setAnchorEl(null);
1327
+ }
1309
1328
  };
1310
1329
  var handleItemClick = function () {
1311
1330
  if (multiple) {
1312
- if (filteredOptionsCount === 1) {
1331
+ if (!stageFilterSelections && filteredOptionsCount === 1) {
1332
+ setOpen(false);
1333
+ }
1334
+ else {
1313
1335
  setOpen(false);
1314
1336
  }
1315
1337
  }
@@ -1317,7 +1339,7 @@ var SelectFilter = function (props) {
1317
1339
  return (React__default['default'].createElement(core.Box, { className: classes.selectContainer },
1318
1340
  React__default['default'].createElement(core.FormControl, { variant: "outlined", fullWidth: true },
1319
1341
  React__default['default'].createElement(core.InputLabel, { id: "select-filter-label-" + filterName }, filterName || 'filter'),
1320
- React__default['default'].createElement(core.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['default'].createElement(Typography$1, null, renderedValue); }, label: filterName || 'filter', labelId: "select-filter-label-" + filterName, disabled: !filteredOptionsCount, IconComponent: SvgChevronDown, onChange: handleChange, fullWidth: true, classes: {
1342
+ React__default['default'].createElement(core.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['default'].createElement(Typography$1, null, renderedValue); }, label: filterName || 'filter', labelId: "select-filter-label-" + filterName, disabled: !filteredOptionsCount, IconComponent: SvgChevronDown, onChange: handleChange, fullWidth: true, classes: {
1321
1343
  root: classes.selectRoot,
1322
1344
  icon: classes.icon,
1323
1345
  }, MenuProps: {
@@ -1337,7 +1359,7 @@ var SelectFilter = function (props) {
1337
1359
  };
1338
1360
 
1339
1361
  var ToggleFilter = function (props) {
1340
- var table = React.useContext(TableContext);
1362
+ var table = React.useContext(TableContext).table;
1341
1363
  var columnId = props.columnId;
1342
1364
  var column = table.getColumn(columnId);
1343
1365
  var meta = column.columnDef.meta;
@@ -1435,44 +1457,37 @@ function makeFormatSelectedFilterText(table) {
1435
1457
  };
1436
1458
  }
1437
1459
 
1438
- var Panel = function (props) {
1439
- var anchorEl = props.anchorEl, onClose = props.onClose;
1440
- var classes = useStyles$6();
1441
- var table = React.useContext(TableContext);
1442
- var paperRef = React.useRef(null);
1443
- var columnFilters = useColumnFilters(table).columnFilters;
1444
- var handleClick = function (e) {
1445
- var _a;
1446
- var rect = (_a = paperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
1447
- if (rect) {
1448
- var buffer = 10;
1449
- var mouseX = e.nativeEvent.x;
1450
- var mouseY = e.nativeEvent.y;
1451
- var xHit = rect.x - buffer < mouseX && mouseX < rect.x + rect.width + buffer;
1452
- var yHit = rect.y - buffer < mouseY && mouseY < rect.y + rect.height + buffer;
1453
- if (!xHit || !yHit) {
1454
- onClose();
1460
+ var useStagedColumnFilters = function () {
1461
+ var _a = React.useState(new Map()), columnInputValues = _a[0], setColumnInputValues = _a[1];
1462
+ var filterState = {
1463
+ update: function (columnId, value) {
1464
+ return setColumnInputValues(columnInputValues.set(columnId, value));
1465
+ },
1466
+ get: function (columnId) { return columnInputValues.get(columnId); },
1467
+ clear: function () {
1468
+ columnInputValues.clear();
1469
+ setColumnInputValues(columnInputValues);
1470
+ },
1471
+ delete: function (columnFilter) {
1472
+ var values = columnInputValues.get(columnFilter.id);
1473
+ if (values && Array.isArray(values)) {
1474
+ var valueIndex = values.indexOf(columnFilter.value);
1475
+ values.splice(valueIndex, 1);
1476
+ if (values.length > 0) {
1477
+ columnInputValues.set(columnFilter.id, values);
1478
+ }
1479
+ else {
1480
+ columnInputValues.clear();
1481
+ }
1455
1482
  }
1456
- }
1483
+ else {
1484
+ columnInputValues.delete(columnFilter.id);
1485
+ }
1486
+ setColumnInputValues(columnInputValues);
1487
+ },
1488
+ exist: function () { return columnInputValues.size > 0; },
1457
1489
  };
1458
- var open = Boolean(anchorEl);
1459
- return (React__default['default'].createElement(core.Popover, { onClick: handleClick, anchorEl: anchorEl, anchorOrigin: {
1460
- vertical: 'bottom',
1461
- horizontal: 'right',
1462
- }, className: classes.filterPopover, onClose: onClose, open: open, PaperProps: {
1463
- style: {
1464
- backgroundColor: 'transparent',
1465
- boxShadow: 'none',
1466
- borderRadius: 0,
1467
- },
1468
- }, transformOrigin: {
1469
- vertical: 'top',
1470
- horizontal: 'right',
1471
- } },
1472
- React__default['default'].createElement(Paper$1, { className: classes.filterPopoverContents, elevation: 2 },
1473
- React__default['default'].createElement(core.Box, __assign$3({}, { ref: paperRef }, { padding: 3 }),
1474
- React__default['default'].createElement(Typography$1, { className: classes.menuTitle }, "Filter By"),
1475
- columnFilters.map(function (columnFilter, i) { return (React__default['default'].createElement(FilterControl, __assign$3({}, columnFilter, { key: i }))); })))));
1490
+ return filterState;
1476
1491
  };
1477
1492
 
1478
1493
  /*! *****************************************************************************
@@ -1551,19 +1566,19 @@ function __rest(s, e) {
1551
1566
  return t;
1552
1567
  }
1553
1568
 
1554
- var _path$N;
1569
+ var _path$1D;
1555
1570
 
1556
- 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); }
1571
+ 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); }
1557
1572
 
1558
1573
  function SvgUser(props) {
1559
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1N({
1574
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3G({
1560
1575
  viewBox: "0 0 16 16",
1561
1576
  fill: "none",
1562
1577
  strokeLinecap: "round",
1563
1578
  strokeLinejoin: "round",
1564
1579
  width: "1em",
1565
1580
  height: "1em"
1566
- }, props), _path$N || (_path$N = /*#__PURE__*/React__namespace.createElement("path", {
1581
+ }, props), _path$1D || (_path$1D = /*#__PURE__*/React__namespace.createElement("path", {
1567
1582
  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",
1568
1583
  stroke: "currentColor"
1569
1584
  })));
@@ -2234,19 +2249,19 @@ core.makeStyles(function (theme) { return ({
2234
2249
  },
2235
2250
  }); });
2236
2251
 
2237
- var _g$1o;
2252
+ var _g$2B;
2238
2253
 
2239
- 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); }
2254
+ 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); }
2240
2255
 
2241
2256
  function SvgCheckCircle(props) {
2242
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2t({
2257
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4J({
2243
2258
  viewBox: "0 0 16 16",
2244
2259
  fill: "none",
2245
2260
  strokeLinecap: "round",
2246
2261
  strokeLinejoin: "round",
2247
2262
  width: "1em",
2248
2263
  height: "1em"
2249
- }, props), _g$1o || (_g$1o = /*#__PURE__*/React__namespace.createElement("g", {
2264
+ }, props), _g$2B || (_g$2B = /*#__PURE__*/React__namespace.createElement("g", {
2250
2265
  stroke: "currentColor"
2251
2266
  }, /*#__PURE__*/React__namespace.createElement("path", {
2252
2267
  d: "M14.667 7.387V8a6.667 6.667 0 11-3.954-6.093"
@@ -2255,44 +2270,44 @@ function SvgCheckCircle(props) {
2255
2270
  }))));
2256
2271
  }
2257
2272
 
2258
- var _path$13;
2273
+ var _path$26;
2259
2274
 
2260
- 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); }
2275
+ 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); }
2261
2276
 
2262
2277
  function SvgX(props) {
2263
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2r({
2278
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4G({
2264
2279
  viewBox: "0 0 16 16",
2265
2280
  fill: "none",
2266
2281
  strokeLinecap: "round",
2267
2282
  strokeLinejoin: "round",
2268
2283
  width: "1em",
2269
2284
  height: "1em"
2270
- }, props), _path$13 || (_path$13 = /*#__PURE__*/React__namespace.createElement("path", {
2285
+ }, props), _path$26 || (_path$26 = /*#__PURE__*/React__namespace.createElement("path", {
2271
2286
  d: "M12 4l-8 8m0-8l8 8",
2272
2287
  stroke: "currentColor"
2273
2288
  })));
2274
2289
  }
2275
2290
 
2276
- var _g$1g, _defs$E;
2291
+ var _g$2o, _defs$1t;
2277
2292
 
2278
- 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); }
2293
+ 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); }
2279
2294
 
2280
2295
  function SvgHelp(props) {
2281
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2h({
2296
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4o({
2282
2297
  viewBox: "0 0 16 16",
2283
2298
  fill: "none",
2284
2299
  strokeLinecap: "round",
2285
2300
  strokeLinejoin: "round",
2286
2301
  width: "1em",
2287
2302
  height: "1em"
2288
- }, props), _g$1g || (_g$1g = /*#__PURE__*/React__namespace.createElement("g", {
2303
+ }, props), _g$2o || (_g$2o = /*#__PURE__*/React__namespace.createElement("g", {
2289
2304
  clipPath: "url(#help_svg__clip0_8_5446)",
2290
2305
  stroke: "currentColor"
2291
2306
  }, /*#__PURE__*/React__namespace.createElement("path", {
2292
2307
  d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333z"
2293
2308
  }), /*#__PURE__*/React__namespace.createElement("path", {
2294
2309
  d: "M6.06 6a2 2 0 013.887.667c0 1.333-2 2-2 2M8 11.334h.007"
2295
- }))), _defs$E || (_defs$E = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
2310
+ }))), _defs$1t || (_defs$1t = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
2296
2311
  id: "help_svg__clip0_8_5446"
2297
2312
  }, /*#__PURE__*/React__namespace.createElement("path", {
2298
2313
  fill: "currentColor",
@@ -2300,24 +2315,24 @@ function SvgHelp(props) {
2300
2315
  })))));
2301
2316
  }
2302
2317
 
2303
- var _g$1d, _defs$D;
2318
+ var _g$2l, _defs$1s;
2304
2319
 
2305
- 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); }
2320
+ 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); }
2306
2321
 
2307
2322
  function SvgInfo(props) {
2308
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2e({
2323
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4l({
2309
2324
  viewBox: "0 0 16 16",
2310
2325
  fill: "none",
2311
2326
  strokeLinecap: "round",
2312
2327
  strokeLinejoin: "round",
2313
2328
  width: "1em",
2314
2329
  height: "1em"
2315
- }, props), _g$1d || (_g$1d = /*#__PURE__*/React__namespace.createElement("g", {
2330
+ }, props), _g$2l || (_g$2l = /*#__PURE__*/React__namespace.createElement("g", {
2316
2331
  clipPath: "url(#info_svg__clip0_8_5377)",
2317
2332
  stroke: "currentColor"
2318
2333
  }, /*#__PURE__*/React__namespace.createElement("path", {
2319
2334
  d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-4V8m0-2.667h.007"
2320
- }))), _defs$D || (_defs$D = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
2335
+ }))), _defs$1s || (_defs$1s = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
2321
2336
  id: "info_svg__clip0_8_5377"
2322
2337
  }, /*#__PURE__*/React__namespace.createElement("path", {
2323
2338
  fill: "currentColor",
@@ -2325,24 +2340,24 @@ function SvgInfo(props) {
2325
2340
  })))));
2326
2341
  }
2327
2342
 
2328
- var _g$Z, _defs$u;
2343
+ var _g$1$, _defs$1e;
2329
2344
 
2330
- 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); }
2345
+ 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); }
2331
2346
 
2332
2347
  function SvgError(props) {
2333
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1J({
2348
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3v({
2334
2349
  viewBox: "0 0 16 16",
2335
2350
  fill: "none",
2336
2351
  strokeLinecap: "round",
2337
2352
  strokeLinejoin: "round",
2338
2353
  width: "1em",
2339
2354
  height: "1em"
2340
- }, props), _g$Z || (_g$Z = /*#__PURE__*/React__namespace.createElement("g", {
2355
+ }, props), _g$1$ || (_g$1$ = /*#__PURE__*/React__namespace.createElement("g", {
2341
2356
  clipPath: "url(#error_svg__clip0_8_5411)",
2342
2357
  stroke: "currentColor"
2343
2358
  }, /*#__PURE__*/React__namespace.createElement("path", {
2344
2359
  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"
2345
- }))), _defs$u || (_defs$u = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
2360
+ }))), _defs$1e || (_defs$1e = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
2346
2361
  id: "error_svg__clip0_8_5411"
2347
2362
  }, /*#__PURE__*/React__namespace.createElement("path", {
2348
2363
  fill: "currentColor",
@@ -2350,19 +2365,19 @@ function SvgError(props) {
2350
2365
  })))));
2351
2366
  }
2352
2367
 
2353
- var _path$K;
2368
+ var _path$1u;
2354
2369
 
2355
- 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); }
2370
+ 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); }
2356
2371
 
2357
2372
  function SvgWarning(props) {
2358
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1I({
2373
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3u({
2359
2374
  viewBox: "0 0 16 16",
2360
2375
  fill: "none",
2361
2376
  strokeLinecap: "round",
2362
2377
  strokeLinejoin: "round",
2363
2378
  width: "1em",
2364
2379
  height: "1em"
2365
- }, props), _path$K || (_path$K = /*#__PURE__*/React__namespace.createElement("path", {
2380
+ }, props), _path$1u || (_path$1u = /*#__PURE__*/React__namespace.createElement("path", {
2366
2381
  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",
2367
2382
  stroke: "currentColor"
2368
2383
  })));
@@ -3248,6 +3263,68 @@ createTheme__default['default'](adminLightOptions);
3248
3263
  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);
3249
3264
  createTheme__default['default'](adminDarkOptions);
3250
3265
 
3266
+ var Panel = function (props) {
3267
+ var anchorEl = props.anchorEl, onClose = props.onClose;
3268
+ var classes = useStyles$6();
3269
+ var _a = React.useContext(TableContext), table = _a.table, stagedColumnFilters = _a.stagedColumnFilters, stageFilterSelections = _a.stageFilterSelections;
3270
+ var paperRef = React.useRef(null);
3271
+ var _b = useColumnFilters(table), columnFilters = _b.columnFilters, resetColumnFilters = _b.resetColumnFilters;
3272
+ var handleClick = function (e) {
3273
+ var _a;
3274
+ var rect = (_a = paperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
3275
+ if (rect) {
3276
+ var buffer = 10;
3277
+ var mouseX = e.nativeEvent.x;
3278
+ var mouseY = e.nativeEvent.y;
3279
+ var xHit = rect.x - buffer < mouseX && mouseX < rect.x + rect.width + buffer;
3280
+ var yHit = rect.y - buffer < mouseY && mouseY < rect.y + rect.height + buffer;
3281
+ if (!xHit || !yHit) {
3282
+ onClose();
3283
+ }
3284
+ }
3285
+ };
3286
+ var handleApplyClick = function () {
3287
+ if (stagedColumnFilters.exist()) {
3288
+ columnFilters.forEach(function (columnFilter) {
3289
+ var columnInputValue = stagedColumnFilters.get(columnFilter.columnId);
3290
+ if (columnInputValue) {
3291
+ var column = table.getColumn(columnFilter.columnId);
3292
+ column.setFilterValue(columnInputValue);
3293
+ }
3294
+ });
3295
+ }
3296
+ else {
3297
+ resetColumnFilters();
3298
+ }
3299
+ onClose();
3300
+ };
3301
+ var handleCancelClick = function () {
3302
+ stagedColumnFilters.clear();
3303
+ onClose();
3304
+ };
3305
+ var open = Boolean(anchorEl);
3306
+ return (React__default['default'].createElement(core.Popover, { onClick: handleClick, anchorEl: anchorEl, anchorOrigin: {
3307
+ vertical: 'bottom',
3308
+ horizontal: 'right',
3309
+ }, className: classes.filterPopover, onClose: onClose, open: open, PaperProps: {
3310
+ style: {
3311
+ backgroundColor: 'transparent',
3312
+ boxShadow: 'none',
3313
+ borderRadius: 0,
3314
+ },
3315
+ }, transformOrigin: {
3316
+ vertical: 'top',
3317
+ horizontal: 'right',
3318
+ } },
3319
+ React__default['default'].createElement(Paper$1, { className: classes.filterPopoverContents, elevation: 2 },
3320
+ React__default['default'].createElement(core.Box, __assign$3({}, { ref: paperRef }, { padding: 3 }),
3321
+ React__default['default'].createElement(Typography$1, { className: classes.menuTitle }, "Filter By"),
3322
+ columnFilters.map(function (columnFilter, i) { return (React__default['default'].createElement(FilterControl, __assign$3({}, columnFilter, { key: i }))); })),
3323
+ stageFilterSelections && (React__default['default'].createElement(core.Box, { className: classes.buttonBox },
3324
+ React__default['default'].createElement(Button, { variant: "secondary", onClick: handleCancelClick }, "Cancel"),
3325
+ React__default['default'].createElement(Button, { onClick: handleApplyClick }, "Apply"))))));
3326
+ };
3327
+
3251
3328
  var useStyles$3 = core.makeStyles({
3252
3329
  root: {
3253
3330
  justifySelf: 'end',
@@ -4082,7 +4159,7 @@ var defaultTableProps = {
4082
4159
  searchable: false,
4083
4160
  };
4084
4161
  var Table = function (props) {
4085
- 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;
4162
+ 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;
4086
4163
  var classes = useStyles$7(props);
4087
4164
  var rootRef = React.useRef(null);
4088
4165
  // Prepare Empty State
@@ -4110,6 +4187,8 @@ var Table = function (props) {
4110
4187
  // Init table instance
4111
4188
  var table = reactTable.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: reactTable.getCoreRowModel(), getSortedRowModel: reactTable.getSortedRowModel(), getFilteredRowModel: reactTable.getFilteredRowModel() }, (paginated && { getPaginationRowModel: reactTable.getPaginationRowModel() })), (isControlledPagination && controlledPaginationOptions)), (isControlledGlobalFilter && controlledGlobalFilterOptions)), (isControlledColumnFilters && controlledColumnFiltersOptions)), (isControlledColumnSort && controlledColumnSortOptions)), { meta: { idBase: idBase } }));
4112
4189
  var _f = useColumnFilters(table), selectedColumnFilters = _f.selectedColumnFilters, hasColumnFilters = _f.hasColumnFilters, deselectColumnFilter = _f.deselectColumnFilter, formatSelectedFilterText = _f.formatSelectedFilterText, resetColumnFilters = _f.resetColumnFilters;
4190
+ // stagedColumnFilters is only used when stageFilterSelections is enabled
4191
+ var stagedColumnFilters = useStagedColumnFilters();
4113
4192
  var handlePagination = function (_e, pageNumber) {
4114
4193
  var pageIndex = pageNumber - 1;
4115
4194
  table.setPageIndex(pageIndex);
@@ -4118,7 +4197,7 @@ var Table = function (props) {
4118
4197
  var showGlobalSearch = Boolean(searchable || isControlledGlobalFilter);
4119
4198
  var showColumnFilter = Boolean(hasColumnFilters);
4120
4199
  var showControls = Boolean(showTitle || showGlobalSearch || showColumnFilter);
4121
- return (React__default['default'].createElement(TableContext.Provider, { value: table },
4200
+ return (React__default['default'].createElement(TableContext.Provider, { value: { table: table, stagedColumnFilters: stagedColumnFilters, stageFilterSelections: stageFilterSelections } },
4122
4201
  React__default['default'].createElement(core.Box, __assign$3({ className: classes.root }, { ref: rootRef }, { "data-table-element": "root" }, (table.getPageCount() > 1 && {
4123
4202
  minHeight: getTableMinHeight(rootRef, table.getState().pagination.pageSize),
4124
4203
  })),
@@ -4128,8 +4207,18 @@ var Table = function (props) {
4128
4207
  showGlobalSearch && (React__default['default'].createElement(GlobalFilter, __assign$3({}, GlobalFilterProps, { value: table.getState().globalFilter, setValue: table.setGlobalFilter }))),
4129
4208
  showColumnFilter && React__default['default'].createElement(FilterPanel, null)),
4130
4209
  React__default['default'].createElement(core.Box, { display: "flex", flexWrap: "wrap", gridGap: 8 },
4131
- selectedColumnFilters.map(function (selectedColumnFilter, i) { return (React__default['default'].createElement(ColumnFilterChip, { key: "selected-column-filter-chip-" + i, columnFilter: selectedColumnFilter, label: formatSelectedFilterText(selectedColumnFilter), onClick: deselectColumnFilter })); }),
4132
- selectedColumnFilters.length >= 1 && React__default['default'].createElement(ColumnFilterResetButton, { onClick: function () { return resetColumnFilters(); } })))),
4210
+ selectedColumnFilters.map(function (selectedColumnFilter, i) { return (React__default['default'].createElement(ColumnFilterChip, { key: "selected-column-filter-chip-" + i, columnFilter: selectedColumnFilter, label: formatSelectedFilterText(selectedColumnFilter), onClick: function (columnFilter) {
4211
+ if (stageFilterSelections) {
4212
+ stagedColumnFilters.delete(columnFilter);
4213
+ }
4214
+ deselectColumnFilter(columnFilter);
4215
+ } })); }),
4216
+ selectedColumnFilters.length >= 1 && (React__default['default'].createElement(ColumnFilterResetButton, { onClick: function () {
4217
+ if (stageFilterSelections) {
4218
+ stagedColumnFilters.clear();
4219
+ }
4220
+ resetColumnFilters();
4221
+ } }))))),
4133
4222
  React__default['default'].createElement(core.Box, { className: classes.tableContainer, flexGrow: loading || isEmpty ? 0 : 1 },
4134
4223
  React__default['default'].createElement("table", { className: classes.table },
4135
4224
  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()))); }))); })),