@popmenu/common-ui 0.18.3-alpha.0 → 0.18.4-alpha.1

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.
Files changed (182) hide show
  1. package/build/{esm/index.js → index.es.js} +4 -6
  2. package/build/index.es.js.map +1 -0
  3. package/build/index.js +3 -4591
  4. package/build/index.js.map +1 -1
  5. package/package.json +6 -9
  6. package/build/esm/components/Accordion/index.d.ts +0 -1
  7. package/build/esm/components/AccordionActions/index.d.ts +0 -1
  8. package/build/esm/components/AccordionDetails/index.d.ts +0 -1
  9. package/build/esm/components/AccordionSummary/index.d.ts +0 -1
  10. package/build/esm/components/Alert/index.d.ts +0 -1
  11. package/build/esm/components/AppBar/index.d.ts +0 -1
  12. package/build/esm/components/AudioPlayer/AudioPlayer.d.ts +0 -3
  13. package/build/esm/components/AudioPlayer/AudioPlayerProps.d.ts +0 -4
  14. package/build/esm/components/AudioPlayer/index.d.ts +0 -2
  15. package/build/esm/components/AudioPlayer/util/audioPlayerReducer.d.ts +0 -11
  16. package/build/esm/components/AudioPlayer/util/formatTime.d.ts +0 -1
  17. package/build/esm/components/AudioPlayer/util/index.d.ts +0 -5
  18. package/build/esm/components/AudioPlayer/util/setupAudioRef.d.ts +0 -8
  19. package/build/esm/components/AudioPlayer/util/types.d.ts +0 -77
  20. package/build/esm/components/AudioPlayer/util/useVolumeIcon.d.ts +0 -2
  21. package/build/esm/components/Avatar/Avatar.d.ts +0 -3
  22. package/build/esm/components/Avatar/AvatarProps.d.ts +0 -15
  23. package/build/esm/components/Avatar/avatar.styles.d.ts +0 -2
  24. package/build/esm/components/Avatar/index.d.ts +0 -2
  25. package/build/esm/components/Avatar/util/useImageProps.d.ts +0 -15
  26. package/build/esm/components/Badge/index.d.ts +0 -1
  27. package/build/esm/components/Box/Box.d.ts +0 -3
  28. package/build/esm/components/Box/BoxProps.d.ts +0 -5
  29. package/build/esm/components/Box/BoxStyles.d.ts +0 -1
  30. package/build/esm/components/Box/index.d.ts +0 -7
  31. package/build/esm/components/Breadcrumbs/index.d.ts +0 -1
  32. package/build/esm/components/Button/Button.d.ts +0 -3
  33. package/build/esm/components/Button/ButtonProps.d.ts +0 -6
  34. package/build/esm/components/Button/ButtonStyles.d.ts +0 -2
  35. package/build/esm/components/Button/index.d.ts +0 -2
  36. package/build/esm/components/ButtonBase/index.d.ts +0 -1
  37. package/build/esm/components/ButtonGroup/index.d.ts +0 -1
  38. package/build/esm/components/Card/index.d.ts +0 -1
  39. package/build/esm/components/CardActionArea/index.d.ts +0 -1
  40. package/build/esm/components/CardActions/index.d.ts +0 -1
  41. package/build/esm/components/CardContent/index.d.ts +0 -1
  42. package/build/esm/components/CardHeader/index.d.ts +0 -1
  43. package/build/esm/components/CardMedia/index.d.ts +0 -1
  44. package/build/esm/components/Checkbox/Checkbox.d.ts +0 -3
  45. package/build/esm/components/Checkbox/CheckboxProps.d.ts +0 -8
  46. package/build/esm/components/Checkbox/index.d.ts +0 -2
  47. package/build/esm/components/Chip/index.d.ts +0 -1
  48. package/build/esm/components/CircularProgress/index.d.ts +0 -1
  49. package/build/esm/components/ClickAwayListener/index.d.ts +0 -1
  50. package/build/esm/components/CollapsibleText/CollapsibleText.d.ts +0 -3
  51. package/build/esm/components/CollapsibleText/CollapsibleTextProps.d.ts +0 -12
  52. package/build/esm/components/CollapsibleText/CollapsibleTextStyles.d.ts +0 -4
  53. package/build/esm/components/CollapsibleText/index.d.ts +0 -2
  54. package/build/esm/components/Dialog/index.d.ts +0 -1
  55. package/build/esm/components/DialogActions/index.d.ts +0 -1
  56. package/build/esm/components/DialogContent/index.d.ts +0 -1
  57. package/build/esm/components/DialogContentText/index.d.ts +0 -1
  58. package/build/esm/components/DialogTitle/index.d.ts +0 -1
  59. package/build/esm/components/Divider/Divider.d.ts +0 -3
  60. package/build/esm/components/Divider/DividerProps.d.ts +0 -17
  61. package/build/esm/components/Divider/index.d.ts +0 -2
  62. package/build/esm/components/Drawer/index.d.ts +0 -1
  63. package/build/esm/components/Fab/index.d.ts +0 -1
  64. package/build/esm/components/FormControl/index.d.ts +0 -1
  65. package/build/esm/components/FormControlLabel/index.d.ts +0 -1
  66. package/build/esm/components/FormLabel/index.d.ts +0 -1
  67. package/build/esm/components/Grid/index.d.ts +0 -1
  68. package/build/esm/components/GridList/index.d.ts +0 -1
  69. package/build/esm/components/Hidden/index.d.ts +0 -1
  70. package/build/esm/components/Icon/Icon.d.ts +0 -4
  71. package/build/esm/components/Icon/IconProps.d.ts +0 -11
  72. package/build/esm/components/Icon/IconStyles.d.ts +0 -2
  73. package/build/esm/components/Icon/index.d.ts +0 -2
  74. package/build/esm/components/IconButton/IconButton.d.ts +0 -3
  75. package/build/esm/components/IconButton/IconButtonProps.d.ts +0 -2
  76. package/build/esm/components/IconButton/index.d.ts +0 -2
  77. package/build/esm/components/InputAdornment/index.d.ts +0 -1
  78. package/build/esm/components/LinearProgress/index.d.ts +0 -1
  79. package/build/esm/components/Link/Link.d.ts +0 -3
  80. package/build/esm/components/Link/LinkProps.d.ts +0 -4
  81. package/build/esm/components/Link/index.d.ts +0 -2
  82. package/build/esm/components/Link/link.styles.d.ts +0 -2
  83. package/build/esm/components/List/index.d.ts +0 -1
  84. package/build/esm/components/ListItem/index.d.ts +0 -1
  85. package/build/esm/components/ListItemIcon/index.d.ts +0 -1
  86. package/build/esm/components/ListItemSecondaryAction/index.d.ts +0 -1
  87. package/build/esm/components/ListItemText/index.d.ts +0 -1
  88. package/build/esm/components/Menu/index.d.ts +0 -1
  89. package/build/esm/components/MenuItem/index.d.ts +0 -1
  90. package/build/esm/components/MenuList/index.d.ts +0 -1
  91. package/build/esm/components/Modal/index.d.ts +0 -1
  92. package/build/esm/components/Paper/Paper.d.ts +0 -6
  93. package/build/esm/components/Paper/index.d.ts +0 -1
  94. package/build/esm/components/PaperContent/PaperContent.d.ts +0 -2
  95. package/build/esm/components/PaperContent/index.d.ts +0 -1
  96. package/build/esm/components/Popover/index.d.ts +0 -1
  97. package/build/esm/components/Popper/index.d.ts +0 -1
  98. package/build/esm/components/Radio/Radio.d.ts +0 -3
  99. package/build/esm/components/Radio/RadioProps.d.ts +0 -8
  100. package/build/esm/components/Radio/index.d.ts +0 -2
  101. package/build/esm/components/SplitInput/SplitInput.d.ts +0 -3
  102. package/build/esm/components/SplitInput/SplitInputProps.d.ts +0 -18
  103. package/build/esm/components/SplitInput/SplitInputStyles.d.ts +0 -2
  104. package/build/esm/components/SplitInput/index.d.ts +0 -2
  105. package/build/esm/components/Step/index.d.ts +0 -1
  106. package/build/esm/components/StepButton/index.d.ts +0 -1
  107. package/build/esm/components/StepConnector/index.d.ts +0 -1
  108. package/build/esm/components/StepContent/index.d.ts +0 -1
  109. package/build/esm/components/StepIcon/index.d.ts +0 -1
  110. package/build/esm/components/StepLabel/index.d.ts +0 -1
  111. package/build/esm/components/Stepper/index.d.ts +0 -1
  112. package/build/esm/components/Switch/Switch.d.ts +0 -3
  113. package/build/esm/components/Switch/SwitchProps.d.ts +0 -8
  114. package/build/esm/components/Switch/index.d.ts +0 -2
  115. package/build/esm/components/Switch/switch.styles.d.ts +0 -2
  116. package/build/esm/components/Tab/index.d.ts +0 -1
  117. package/build/esm/components/Table/Table.d.ts +0 -3
  118. package/build/esm/components/Table/TableProps.d.ts +0 -28
  119. package/build/esm/components/Table/TableStyles.d.ts +0 -2
  120. package/build/esm/components/Table/index.d.ts +0 -2
  121. package/build/esm/components/Table/util/makeColumns.d.ts +0 -7
  122. package/build/esm/components/TableActionsCell/TableActionsCell.d.ts +0 -3
  123. package/build/esm/components/TableActionsCell/TableActionsCellProps.d.ts +0 -10
  124. package/build/esm/components/TableActionsCell/index.d.ts +0 -2
  125. package/build/esm/components/TableBody/TableBody.d.ts +0 -2
  126. package/build/esm/components/TableBody/index.d.ts +0 -1
  127. package/build/esm/components/TableCell/TableCell.d.ts +0 -2
  128. package/build/esm/components/TableCell/TableCellStyles.d.ts +0 -1
  129. package/build/esm/components/TableCell/index.d.ts +0 -1
  130. package/build/esm/components/TableFooter/TableFooter.d.ts +0 -2
  131. package/build/esm/components/TableFooter/index.d.ts +0 -1
  132. package/build/esm/components/TableHeader/TableHeader.d.ts +0 -2
  133. package/build/esm/components/TableHeader/index.d.ts +0 -1
  134. package/build/esm/components/TableHeaderCell/TableHeaderCell.d.ts +0 -3
  135. package/build/esm/components/TableHeaderCell/TableHeaderCellProps.d.ts +0 -8
  136. package/build/esm/components/TableHeaderCell/TableHeaderCellStyles.d.ts +0 -2
  137. package/build/esm/components/TableHeaderCell/index.d.ts +0 -1
  138. package/build/esm/components/TableHeaderRow/TableHeaderRow.d.ts +0 -2
  139. package/build/esm/components/TableHeaderRow/index.d.ts +0 -1
  140. package/build/esm/components/TableRow/TableRow.d.ts +0 -2
  141. package/build/esm/components/TableRow/TableRowStyles.d.ts +0 -1
  142. package/build/esm/components/TableRow/index.d.ts +0 -1
  143. package/build/esm/components/Tabs/index.d.ts +0 -1
  144. package/build/esm/components/TextField/index.d.ts +0 -1
  145. package/build/esm/components/ThemeProvider/index.d.ts +0 -1
  146. package/build/esm/components/ToggleButton/ToggleButton.d.ts +0 -3
  147. package/build/esm/components/ToggleButton/ToggleButtonProps.d.ts +0 -4
  148. package/build/esm/components/ToggleButton/ToggleButtonStyles.d.ts +0 -2
  149. package/build/esm/components/ToggleButton/index.d.ts +0 -2
  150. package/build/esm/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +0 -3
  151. package/build/esm/components/ToggleButtonGroup/ToggleButtonGroupProps.d.ts +0 -6
  152. package/build/esm/components/ToggleButtonGroup/ToggleButtonGroupStyles.d.ts +0 -1
  153. package/build/esm/components/ToggleButtonGroup/index.d.ts +0 -2
  154. package/build/esm/components/Toolbar/index.d.ts +0 -1
  155. package/build/esm/components/Tooltip/Tooltip.d.ts +0 -3
  156. package/build/esm/components/Tooltip/TooltipProps.d.ts +0 -1
  157. package/build/esm/components/Tooltip/TooltipStyles.d.ts +0 -2
  158. package/build/esm/components/Tooltip/index.d.ts +0 -2
  159. package/build/esm/components/Typography/Typography.d.ts +0 -3
  160. package/build/esm/components/Typography/TypographyStyles.d.ts +0 -2
  161. package/build/esm/components/Typography/index.d.ts +0 -2
  162. package/build/esm/components/index.d.ts +0 -75
  163. package/build/esm/hooks/index.d.ts +0 -1
  164. package/build/esm/hooks/useCollapsibleText.d.ts +0 -10
  165. package/build/esm/index.d.ts +0 -3
  166. package/build/esm/index.js.map +0 -1
  167. package/build/esm/react-table-de7bf68c.js +0 -4591
  168. package/build/esm/react-table-de7bf68c.js.map +0 -1
  169. package/build/esm/types/index.d.ts +0 -2
  170. package/build/esm/util/ServerStyleSheets.d.ts +0 -1
  171. package/build/esm/util/colors/alpha.d.ts +0 -1
  172. package/build/esm/util/colors/darken.d.ts +0 -1
  173. package/build/esm/util/colors/decomposeColor.d.ts +0 -1
  174. package/build/esm/util/colors/getLuminance.d.ts +0 -1
  175. package/build/esm/util/colors/hexToRgb.d.ts +0 -1
  176. package/build/esm/util/colors/index.d.ts +0 -8
  177. package/build/esm/util/colors/lighten.d.ts +0 -1
  178. package/build/esm/util/colors/recomposeColor.d.ts +0 -1
  179. package/build/esm/util/colors/rgbToHex.d.ts +0 -1
  180. package/build/esm/util/createTheme.d.ts +0 -1
  181. package/build/esm/util/index.d.ts +0 -4
  182. package/build/esm/util/makeStyles.d.ts +0 -1
package/build/index.js CHANGED
@@ -45,6 +45,7 @@ var MenuList = require('@material-ui/core/MenuList');
45
45
  var MuiRadio = require('@material-ui/core/Radio');
46
46
  var TextField = require('@material-ui/core/TextField');
47
47
  var MuiSwitch = require('@material-ui/core/Switch');
48
+ var reactTable = require('react-table');
48
49
  var lab = require('@material-ui/lab');
49
50
  var Tab = require('@material-ui/core/Tab');
50
51
  var Tabs = require('@material-ui/core/Tabs');
@@ -368,8 +369,6 @@ var useIconStyles = core.makeStyles(function (_a) {
368
369
  };
369
370
  });
370
371
 
371
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
372
-
373
372
  var classnames = {exports: {}};
374
373
 
375
374
  /*!
@@ -1125,4591 +1124,6 @@ var Switch = React.forwardRef(function (props, ref) {
1125
1124
  });
1126
1125
  Switch.displayName = 'Switch';
1127
1126
 
1128
- var reactTable = {exports: {}};
1129
-
1130
- var reactTable_production_min = {exports: {}};
1131
-
1132
- (function (module, exports) {
1133
- !function(e,t){t(exports,React__default['default']);}(commonjsGlobal,(function(e,t){function n(e,t,n,o,r,i,u){try{var l=e[i](u),s=l.value;}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(o,r);}function o(e){return function(){var t=this,o=arguments;return new Promise((function(r,i){var u=e.apply(t,o);function l(e){n(u,r,i,l,s,"next",e);}function s(e){n(u,r,i,l,s,"throw",e);}l(void 0);}))}}function r(){return (r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);}return e}).apply(this,arguments)}function i(e,t){if(null==e)return {};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}function u(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===t?String:Number)(e)}(e,"string");return "symbol"==typeof t?t:String(t)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var l={init:"init"},s=function(e){var t=e.value;return void 0===t?"":t},a=function(){return t.createElement(t.Fragment,null," ")},c={Cell:s,width:150,minWidth:0,maxWidth:Number.MAX_SAFE_INTEGER};function d(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){var n=t.style,o=t.className;return e=r({},e,{},i(t,["style","className"])),n&&(e.style=e.style?r({},e.style||{},{},n||{}):n),o&&(e.className=e.className?e.className+" "+o:o),""===e.className&&delete e.className,e}),{})}var f=function(e,t){return void 0===t&&(t={}),function(n){return void 0===n&&(n={}),[].concat(e,[n]).reduce((function(e,o){return function e(t,n,o){return "function"==typeof n?e({},n(t,o)):Array.isArray(n)?d.apply(void 0,[t].concat(n)):d(t,n)}(e,o,r({},t,{userProps:n}))}),{})}},p=function(e,t,n,o){return void 0===n&&(n={}),e.reduce((function(e,t){return t(e,n)}),t)},g=function(e,t,n){return void 0===n&&(n={}),e.forEach((function(e){e(t,n);}))};function v(e,t,n,o){e.findIndex((function(e){return e.pluginName===n}));t.forEach((function(t){e.findIndex((function(e){return e.pluginName===t}));}));}function m(e,t){return "function"==typeof e?e(t):e}function h(e){var n=t.useRef();return n.current=e,t.useCallback((function(){return n.current}),[])}var y="undefined"!=typeof document?t.useLayoutEffect:t.useEffect;function w(e,n){var o=t.useRef(!1);y((function(){o.current&&e(),o.current=!0;}),n);}function R(e,t,n){return void 0===n&&(n={}),function(o,i){void 0===i&&(i={});var u="string"==typeof o?t[o]:o;if(void 0===u)throw console.info(t),new Error("Renderer Error ☝️");return b(u,r({},e,{column:t},n,{},i))}}function b(e,n){return function(e){return "function"==typeof e&&((t=Object.getPrototypeOf(e)).prototype&&t.prototype.isReactComponent);var t;}(o=e)||"function"==typeof o||function(e){return "object"==typeof e&&"symbol"==typeof e.$$typeof&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}(o)?t.createElement(e,n):e;var o;}function S(e,t,n){return void 0===n&&(n=0),e.map((function(e){return x(e=r({},e,{parent:t,depth:n})),e.columns&&(e.columns=S(e.columns,e,n+1)),e}))}function C(e){return G(e,"columns")}function x(e){var t=e.id,n=e.accessor,o=e.Header;if("string"==typeof n){t=t||n;var r=n.split(".");n=function(e){return function(e,t,n){if(!t)return e;var o,r="function"==typeof t?t:JSON.stringify(t),i=E.get(r)||function(){var e=function(e){return function e(t,n){void 0===n&&(n=[]);if(Array.isArray(t))for(var o=0;o<t.length;o+=1)e(t[o],n);else n.push(t);return n}(e).map((function(e){return String(e).replace(".","_")})).join(".").replace(W,".").replace(O,"").split(".")}(t);return E.set(r,e),e}();try{o=i.reduce((function(e,t){return e[t]}),e);}catch(e){}return void 0!==o?o:n}(e,r)};}if(!t&&"string"==typeof o&&o&&(t=o),!t&&e.columns)throw console.error(e),new Error('A column ID (or unique "Header" value) is required!');if(!t)throw console.error(e),new Error("A column ID (or string accessor) is required!");return Object.assign(e,{id:t,accessor:n}),e}function P(e,t){if(!t)throw new Error;return Object.assign(e,r({Header:a,Footer:a},c,{},t,{},e)),Object.assign(e,{originalWidth:e.width}),e}function B(e,t,n){void 0===n&&(n=function(){return {}});for(var o=[],i=e,u=0,l=function(){return u++},s=function(){var e={headers:[]},u=[],s=i.some((function(e){return e.parent}));i.forEach((function(o){var i,a=[].concat(u).reverse()[0];if(s){if(o.parent)i=r({},o.parent,{originalId:o.parent.id,id:o.parent.id+"_"+l(),headers:[o]},n(o));else i=P(r({originalId:o.id+"_placeholder",id:o.id+"_placeholder_"+l(),placeholderOf:o,headers:[o]},n(o)),t);a&&a.originalId===i.originalId?a.headers.push(o):u.push(i);}e.headers.push(o);})),o.push(e),i=u;};i.length;)s();return o.reverse()}var E=new Map;function I(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var o=0;o<t.length;o+=1)if(void 0!==t[o])return t[o]}function F(e){if("function"==typeof e)return e}function G(e,t){var n=[];return function e(o){o.forEach((function(o){o[t]?e(o[t]):n.push(o);}));}(e),n}function A(e,t){var n=t.manualExpandedKey,o=t.expanded,r=t.expandSubRows,i=void 0===r||r,u=[];return e.forEach((function(e){return function e(t,r){void 0===r&&(r=!0),t.isExpanded=t.original&&t.original[n]||o[t.id],t.canExpand=t.subRows&&!!t.subRows.length,r&&u.push(t),t.subRows&&t.subRows.length&&t.isExpanded&&t.subRows.forEach((function(t){return e(t,i)}));}(e)})),u}function k(e,t,n){return F(e)||t[e]||n[e]||n.text}function H(e,t,n){return e?e(t,n):void 0===t}function T(){throw new Error("React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.")}var z=null;var W=/\[/g,O=/\]/g;var M=function(e){return r({role:"table"},e)},j=function(e){return r({role:"rowgroup"},e)},N=function(e,t){var n=t.column;return r({key:"header_"+n.id,colSpan:n.totalVisibleHeaderCount,role:"columnheader"},e)},L=function(e,t){var n=t.column;return r({key:"footer_"+n.id,colSpan:n.totalVisibleHeaderCount},e)},D=function(e,t){return r({key:"headerGroup_"+t.index,role:"row"},e)},V=function(e,t){return r({key:"footerGroup_"+t.index},e)},_=function(e,t){return r({key:"row_"+t.row.id,role:"row"},e)},X=function(e,t){var n=t.cell;return r({key:"cell_"+n.row.id+"_"+n.column.id,role:"cell"},e)};function q(){return {useOptions:[],stateReducers:[],useControlledState:[],columns:[],columnsDeps:[],allColumns:[],allColumnsDeps:[],accessValue:[],materializedColumns:[],materializedColumnsDeps:[],useInstanceAfterData:[],visibleColumns:[],visibleColumnsDeps:[],headerGroups:[],headerGroupsDeps:[],useInstanceBeforeDimensions:[],useInstance:[],prepareRow:[],getTableProps:[M],getTableBodyProps:[j],getHeaderGroupProps:[D],getFooterGroupProps:[V],getHeaderProps:[N],getFooterProps:[L],getRowProps:[_],getCellProps:[X],useFinalInstance:[]}}l.resetHiddenColumns="resetHiddenColumns",l.toggleHideColumn="toggleHideColumn",l.setHiddenColumns="setHiddenColumns",l.toggleHideAllColumns="toggleHideAllColumns";var K=function(e){e.getToggleHiddenProps=[U],e.getToggleHideAllColumnsProps=[$],e.stateReducers.push(J),e.useInstanceBeforeDimensions.push(Y),e.headerGroupsDeps.push((function(e,t){var n=t.instance;return [].concat(e,[n.state.hiddenColumns])})),e.useInstance.push(Q);};K.pluginName="useColumnVisibility";var U=function(e,t){var n=t.column;return [e,{onChange:function(e){n.toggleHidden(!e.target.checked);},style:{cursor:"pointer"},checked:n.isVisible,title:"Toggle Column Visible"}]},$=function(e,t){var n=t.instance;return [e,{onChange:function(e){n.toggleHideAllColumns(!e.target.checked);},style:{cursor:"pointer"},checked:!n.allColumnsHidden&&!n.state.hiddenColumns.length,title:"Toggle All Columns Hidden",indeterminate:!n.allColumnsHidden&&n.state.hiddenColumns.length}]};function J(e,t,n,o){if(t.type===l.init)return r({hiddenColumns:[]},e);if(t.type===l.resetHiddenColumns)return r({},e,{hiddenColumns:o.initialState.hiddenColumns||[]});if(t.type===l.toggleHideColumn){var i=(void 0!==t.value?t.value:!e.hiddenColumns.includes(t.columnId))?[].concat(e.hiddenColumns,[t.columnId]):e.hiddenColumns.filter((function(e){return e!==t.columnId}));return r({},e,{hiddenColumns:i})}return t.type===l.setHiddenColumns?r({},e,{hiddenColumns:m(t.value,e.hiddenColumns)}):t.type===l.toggleHideAllColumns?r({},e,{hiddenColumns:(void 0!==t.value?t.value:!e.hiddenColumns.length)?o.allColumns.map((function(e){return e.id})):[]}):void 0}function Y(e){var n=e.headers,o=e.state.hiddenColumns;t.useRef(!1).current;var r=0;n.forEach((function(e){return r+=function e(t,n){t.isVisible=n&&!o.includes(t.id);var r=0;return t.headers&&t.headers.length?t.headers.forEach((function(n){return r+=e(n,t.isVisible)})):r=t.isVisible?1:0,t.totalVisibleHeaderCount=r,r}(e,!0)}));}function Q(e){var n=e.columns,o=e.flatHeaders,r=e.dispatch,i=e.allColumns,u=e.getHooks,s=e.state.hiddenColumns,a=e.autoResetHiddenColumns,c=void 0===a||a,d=h(e),p=i.length===s.length,g=t.useCallback((function(e,t){return r({type:l.toggleHideColumn,columnId:e,value:t})}),[r]),v=t.useCallback((function(e){return r({type:l.setHiddenColumns,value:e})}),[r]),m=t.useCallback((function(e){return r({type:l.toggleHideAllColumns,value:e})}),[r]),y=f(u().getToggleHideAllColumnsProps,{instance:d()});o.forEach((function(e){e.toggleHidden=function(t){r({type:l.toggleHideColumn,columnId:e.id,value:t});},e.getToggleHiddenProps=f(u().getToggleHiddenProps,{instance:d(),column:e});}));var R=h(c);w((function(){R()&&r({type:l.resetHiddenColumns});}),[r,n]),Object.assign(e,{allColumnsHidden:p,toggleHideColumn:g,setHiddenColumns:v,toggleHideAllColumns:m,getToggleHideAllColumnsProps:y});}var Z={},ee={},te=function(e,t,n){return e},ne=function(e,t){return e.subRows||[]},oe=function(e,t,n){return ""+(n?[n.id,t].join("."):t)},re=function(e){return e};function ie(e){var t=e.initialState,n=void 0===t?Z:t,o=e.defaultColumn,u=void 0===o?ee:o,l=e.getSubRows,s=void 0===l?ne:l,a=e.getRowId,c=void 0===a?oe:a,d=e.stateReducer,f=void 0===d?te:d,p=e.useControlledState,g=void 0===p?re:p;return r({},i(e,["initialState","defaultColumn","getSubRows","getRowId","stateReducer","useControlledState"]),{initialState:n,defaultColumn:u,getSubRows:s,getRowId:c,stateReducer:f,useControlledState:g})}function ue(e,t){void 0===t&&(t=0);var n=0,o=0,r=0,i=0;return e.forEach((function(e){var u=e.headers;if(e.totalLeft=t,u&&u.length){var l=ue(u,t),s=l[0],a=l[1],c=l[2],d=l[3];e.totalMinWidth=s,e.totalWidth=a,e.totalMaxWidth=c,e.totalFlexWidth=d;}else e.totalMinWidth=e.minWidth,e.totalWidth=Math.min(Math.max(e.minWidth,e.width),e.maxWidth),e.totalMaxWidth=e.maxWidth,e.totalFlexWidth=e.canResize?e.totalWidth:0;e.isVisible&&(t+=e.totalWidth,n+=e.totalMinWidth,o+=e.totalWidth,r+=e.totalMaxWidth,i+=e.totalFlexWidth);})),[n,o,r,i]}function le(e){var t=e.data,n=e.rows,o=e.flatRows,r=e.rowsById,i=e.column,u=e.getRowId,l=e.getSubRows,s=e.accessValueHooks,a=e.getInstance;t.forEach((function(e,c){return function e(n,c,d,f,g){void 0===d&&(d=0);var v=n,m=u(n,c,f),h=r[m];if(h)h.subRows&&h.originalSubRows.forEach((function(t,n){return e(t,n,d+1,h)}));else if((h={id:m,original:v,index:c,depth:d,cells:[{}]}).cells.map=T,h.cells.filter=T,h.cells.forEach=T,h.cells[0].getCellProps=T,h.values={},g.push(h),o.push(h),r[m]=h,h.originalSubRows=l(n,c),h.originalSubRows){var y=[];h.originalSubRows.forEach((function(t,n){return e(t,n,d+1,h,y)})),h.subRows=y;}i.accessor&&(h.values[i.id]=i.accessor(n,c,h,g,t)),h.values[i.id]=p(s,h.values[i.id],{row:h,column:i,instance:a()});}(e,c,0,void 0,n)}));}l.resetExpanded="resetExpanded",l.toggleRowExpanded="toggleRowExpanded",l.toggleAllRowsExpanded="toggleAllRowsExpanded";var se=function(e){e.getToggleAllRowsExpandedProps=[ae],e.getToggleRowExpandedProps=[ce],e.stateReducers.push(de),e.useInstance.push(fe),e.prepareRow.push(pe);};se.pluginName="useExpanded";var ae=function(e,t){var n=t.instance;return [e,{onClick:function(e){n.toggleAllRowsExpanded();},style:{cursor:"pointer"},title:"Toggle All Rows Expanded"}]},ce=function(e,t){var n=t.row;return [e,{onClick:function(){n.toggleRowExpanded();},style:{cursor:"pointer"},title:"Toggle Row Expanded"}]};function de(e,t,n,o){if(t.type===l.init)return r({expanded:{}},e);if(t.type===l.resetExpanded)return r({},e,{expanded:o.initialState.expanded||{}});if(t.type===l.toggleAllRowsExpanded){var s=t.value,a=o.isAllRowsExpanded,c=o.rowsById;if(void 0!==s?s:!a){var d={};return Object.keys(c).forEach((function(e){d[e]=!0;})),r({},e,{expanded:d})}return r({},e,{expanded:{}})}if(t.type===l.toggleRowExpanded){var f,p=t.id,g=t.value,v=e.expanded[p],m=void 0!==g?g:!v;if(!v&&m)return r({},e,{expanded:r({},e.expanded,(f={},f[p]=!0,f))});if(v&&!m){var h=e.expanded;h[p];return r({},e,{expanded:i(h,[p].map(u))})}return e}}function fe(e){var n=e.data,o=e.rows,r=e.rowsById,i=e.manualExpandedKey,u=void 0===i?"expanded":i,s=e.paginateExpandedRows,a=void 0===s||s,c=e.expandSubRows,d=void 0===c||c,p=e.autoResetExpanded,g=void 0===p||p,m=e.getHooks,y=e.plugins,R=e.state.expanded,b=e.dispatch;v(y,["useSortBy","useGroupBy","usePivotColumns","useGlobalFilter"],"useExpanded");var S=h(g),C=Boolean(Object.keys(r).length&&Object.keys(R).length);C&&Object.keys(r).some((function(e){return !R[e]}))&&(C=!1),w((function(){S()&&b({type:l.resetExpanded});}),[b,n]);var x=t.useCallback((function(e,t){b({type:l.toggleRowExpanded,id:e,value:t});}),[b]),P=t.useCallback((function(e){return b({type:l.toggleAllRowsExpanded,value:e})}),[b]),B=t.useMemo((function(){return a?A(o,{manualExpandedKey:u,expanded:R,expandSubRows:d}):o}),[a,o,u,R,d]),E=t.useMemo((function(){return function(e){var t=0;return Object.keys(e).forEach((function(e){var n=e.split(".");t=Math.max(t,n.length);})),t}(R)}),[R]),I=h(e),F=f(m().getToggleAllRowsExpandedProps,{instance:I()});Object.assign(e,{preExpandedRows:o,expandedRows:B,rows:B,expandedDepth:E,isAllRowsExpanded:C,toggleRowExpanded:x,toggleAllRowsExpanded:P,getToggleAllRowsExpandedProps:F});}function pe(e,t){var n=t.instance.getHooks,o=t.instance;e.toggleRowExpanded=function(t){return o.toggleRowExpanded(e.id,t)},e.getToggleRowExpandedProps=f(n().getToggleRowExpandedProps,{instance:o,row:e});}var ge=function(e,t,n){return e=e.filter((function(e){return t.some((function(t){var o=e.values[t];return String(o).toLowerCase().includes(String(n).toLowerCase())}))}))};ge.autoRemove=function(e){return !e};var ve=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return void 0===o||String(o).toLowerCase()===String(n).toLowerCase()}))}))};ve.autoRemove=function(e){return !e};var me=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return void 0===o||String(o)===String(n)}))}))};me.autoRemove=function(e){return !e};var he=function(e,t,n){return e.filter((function(e){return t.some((function(t){return e.values[t].includes(n)}))}))};he.autoRemove=function(e){return !e||!e.length};var ye=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return o&&o.length&&n.every((function(e){return o.includes(e)}))}))}))};ye.autoRemove=function(e){return !e||!e.length};var we=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return o&&o.length&&n.some((function(e){return o.includes(e)}))}))}))};we.autoRemove=function(e){return !e||!e.length};var Re=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return n.includes(o)}))}))};Re.autoRemove=function(e){return !e||!e.length};var be=function(e,t,n){return e.filter((function(e){return t.some((function(t){return e.values[t]===n}))}))};be.autoRemove=function(e){return void 0===e};var Se=function(e,t,n){return e.filter((function(e){return t.some((function(t){return e.values[t]==n}))}))};Se.autoRemove=function(e){return null==e};var Ce=function(e,t,n){var o=n||[],r=o[0],i=o[1];if((r="number"==typeof r?r:-1/0)>(i="number"==typeof i?i:1/0)){var u=r;r=i,i=u;}return e.filter((function(e){return t.some((function(t){var n=e.values[t];return n>=r&&n<=i}))}))};Ce.autoRemove=function(e){return !e||"number"!=typeof e[0]&&"number"!=typeof e[1]};var xe=Object.freeze({__proto__:null,text:ge,exactText:ve,exactTextCase:me,includes:he,includesAll:ye,includesSome:we,includesValue:Re,exact:be,equals:Se,between:Ce});l.resetFilters="resetFilters",l.setFilter="setFilter",l.setAllFilters="setAllFilters";var Pe=function(e){e.stateReducers.push(Be),e.useInstance.push(Ee);};function Be(e,t,n,o){if(t.type===l.init)return r({filters:[]},e);if(t.type===l.resetFilters)return r({},e,{filters:o.initialState.filters||[]});if(t.type===l.setFilter){var i=t.columnId,u=t.filterValue,s=o.allColumns,a=o.filterTypes,c=s.find((function(e){return e.id===i}));if(!c)throw new Error("React-Table: Could not find a column with id: "+i);var d=k(c.filter,a||{},xe),f=e.filters.find((function(e){return e.id===i})),p=m(u,f&&f.value);return H(d.autoRemove,p,c)?r({},e,{filters:e.filters.filter((function(e){return e.id!==i}))}):r({},e,f?{filters:e.filters.map((function(e){return e.id===i?{id:i,value:p}:e}))}:{filters:[].concat(e.filters,[{id:i,value:p}])})}if(t.type===l.setAllFilters){var g=t.filters,v=o.allColumns,h=o.filterTypes;return r({},e,{filters:m(g,e.filters).filter((function(e){var t=v.find((function(t){return t.id===e.id}));return !H(k(t.filter,h||{},xe).autoRemove,e.value,t)}))})}}function Ee(e){var n=e.data,o=e.rows,r=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.filterTypes,a=e.manualFilters,c=e.defaultCanFilter,d=void 0!==c&&c,f=e.disableFilters,p=e.state.filters,g=e.dispatch,v=e.autoResetFilters,m=void 0===v||v,y=t.useCallback((function(e,t){g({type:l.setFilter,columnId:e,filterValue:t});}),[g]),R=t.useCallback((function(e){g({type:l.setAllFilters,filters:e});}),[g]);u.forEach((function(e){var t=e.id,n=e.accessor,o=e.defaultCanFilter,r=e.disableFilters;e.canFilter=n?I(!0!==r&&void 0,!0!==f&&void 0,!0):I(o,d,!1),e.setFilter=function(t){return y(e.id,t)};var i=p.find((function(e){return e.id===t}));e.filterValue=i&&i.value;}));var b=t.useMemo((function(){if(a||!p.length)return [o,r,i];var e=[],t={};return [function n(o,r){void 0===r&&(r=0);var i=o;return (i=p.reduce((function(e,t){var n=t.id,o=t.value,i=u.find((function(e){return e.id===n}));if(!i)return e;0===r&&(i.preFilteredRows=e);var l=k(i.filter,s||{},xe);return l?(i.filteredRows=l(e,[n],o),i.filteredRows):(console.warn("Could not find a valid 'column.filter' for column with the ID: "+i.id+"."),e)}),o)).forEach((function(o){e.push(o),t[o.id]=o,o.subRows&&(o.subRows=o.subRows&&o.subRows.length>0?n(o.subRows,r+1):o.subRows);})),i}(o),e,t]}),[a,p,o,r,i,u,s]),S=b[0],C=b[1],x=b[2];t.useMemo((function(){u.filter((function(e){return !p.find((function(t){return t.id===e.id}))})).forEach((function(e){e.preFilteredRows=S,e.filteredRows=S;}));}),[S,p,u]);var P=h(m);w((function(){P()&&g({type:l.resetFilters});}),[g,a?null:n]),Object.assign(e,{preFilteredRows:o,preFilteredFlatRows:r,preFilteredRowsById:i,filteredRows:S,filteredFlatRows:C,filteredRowsById:x,rows:S,flatRows:C,rowsById:x,setFilter:y,setAllFilters:R});}Pe.pluginName="useFilters",l.resetGlobalFilter="resetGlobalFilter",l.setGlobalFilter="setGlobalFilter";var Ie=function(e){e.stateReducers.push(Fe),e.useInstance.push(Ge);};function Fe(e,t,n,o){if(t.type===l.resetGlobalFilter)return r({},e,{globalFilter:o.initialState.globalFilter||void 0});if(t.type===l.setGlobalFilter){var u=t.filterValue,s=o.userFilterTypes,a=k(o.globalFilter,s||{},xe),c=m(u,e.globalFilter);if(H(a.autoRemove,c)){e.globalFilter;return i(e,["globalFilter"])}return r({},e,{globalFilter:c})}}function Ge(e){var n=e.data,o=e.rows,r=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.filterTypes,a=e.globalFilter,c=e.manualGlobalFilter,d=e.state.globalFilter,f=e.dispatch,p=e.autoResetGlobalFilter,g=void 0===p||p,v=e.disableGlobalFilter,m=t.useCallback((function(e){f({type:l.setGlobalFilter,filterValue:e});}),[f]),y=t.useMemo((function(){if(c||void 0===d)return [o,r,i];var e=[],t={},n=k(a,s||{},xe);if(!n)return console.warn("Could not find a valid 'globalFilter' option."),o;u.forEach((function(e){var t=e.disableGlobalFilter;e.canFilter=I(!0!==t&&void 0,!0!==v&&void 0,!0);}));var l=u.filter((function(e){return !0===e.canFilter}));return [function o(r){return (r=n(r,l.map((function(e){return e.id})),d)).forEach((function(n){e.push(n),t[n.id]=n,n.subRows=n.subRows&&n.subRows.length?o(n.subRows):n.subRows;})),r}(o),e,t]}),[c,d,a,s,u,o,r,i,v]),R=y[0],b=y[1],S=y[2],C=h(g);w((function(){C()&&f({type:l.resetGlobalFilter});}),[f,c?null:n]),Object.assign(e,{preGlobalFilteredRows:o,preGlobalFilteredFlatRows:r,preGlobalFilteredRowsById:i,globalFilteredRows:R,globalFilteredFlatRows:b,globalFilteredRowsById:S,rows:R,flatRows:b,rowsById:S,setGlobalFilter:m,disableGlobalFilter:v});}function Ae(e,t){return t.reduce((function(e,t){return e+("number"==typeof t?t:0)}),0)}Ie.pluginName="useGlobalFilter";var ke=Object.freeze({__proto__:null,sum:Ae,min:function(e){var t=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e));})),t},max:function(e){var t=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.max(t,e));})),t},minMax:function(e){var t=e[0]||0,n=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e),n=Math.max(n,e));})),t+".."+n},average:function(e){return Ae(0,e)/e.length},median:function(e){if(!e.length)return null;var t=Math.floor(e.length/2),n=[].concat(e).sort((function(e,t){return e-t}));return e.length%2!=0?n[t]:(n[t-1]+n[t])/2},unique:function(e){return Array.from(new Set(e).values())},uniqueCount:function(e){return new Set(e).size},count:function(e){return e.length}}),He=[],Te={};l.resetGroupBy="resetGroupBy",l.setGroupBy="setGroupBy",l.toggleGroupBy="toggleGroupBy";var ze=function(e){e.getGroupByToggleProps=[We],e.stateReducers.push(Oe),e.visibleColumnsDeps.push((function(e,t){var n=t.instance;return [].concat(e,[n.state.groupBy])})),e.visibleColumns.push(Me),e.useInstance.push(Ne),e.prepareRow.push(Le);};ze.pluginName="useGroupBy";var We=function(e,t){var n=t.header;return [e,{onClick:n.canGroupBy?function(e){e.persist(),n.toggleGroupBy();}:void 0,style:{cursor:n.canGroupBy?"pointer":void 0},title:"Toggle GroupBy"}]};function Oe(e,t,n,o){if(t.type===l.init)return r({groupBy:[]},e);if(t.type===l.resetGroupBy)return r({},e,{groupBy:o.initialState.groupBy||[]});if(t.type===l.setGroupBy)return r({},e,{groupBy:t.value});if(t.type===l.toggleGroupBy){var i=t.columnId,u=t.value,s=void 0!==u?u:!e.groupBy.includes(i);return r({},e,s?{groupBy:[].concat(e.groupBy,[i])}:{groupBy:e.groupBy.filter((function(e){return e!==i}))})}}function Me(e,t){var n=t.instance.state.groupBy,o=n.map((function(t){return e.find((function(e){return e.id===t}))})).filter(Boolean),r=e.filter((function(e){return !n.includes(e.id)}));return (e=[].concat(o,r)).forEach((function(e){e.isGrouped=n.includes(e.id),e.groupedIndex=n.indexOf(e.id);})),e}var je={};function Ne(e){var n=e.data,o=e.rows,r=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.flatHeaders,a=e.groupByFn,c=void 0===a?De:a,d=e.manualGroupBy,p=e.aggregations,g=void 0===p?je:p,m=e.plugins,y=e.state.groupBy,R=e.dispatch,b=e.autoResetGroupBy,S=void 0===b||b,C=e.disableGroupBy,x=e.defaultCanGroupBy,P=e.getHooks;v(m,["useColumnOrder","useFilters"],"useGroupBy");var B=h(e);u.forEach((function(t){var n=t.accessor,o=t.defaultGroupBy,r=t.disableGroupBy;t.canGroupBy=n?I(t.canGroupBy,!0!==r&&void 0,!0!==C&&void 0,!0):I(t.canGroupBy,o,x,!1),t.canGroupBy&&(t.toggleGroupBy=function(){return e.toggleGroupBy(t.id)}),t.Aggregated=t.Aggregated||t.Cell;}));var E=t.useCallback((function(e,t){R({type:l.toggleGroupBy,columnId:e,value:t});}),[R]),F=t.useCallback((function(e){R({type:l.setGroupBy,value:e});}),[R]);s.forEach((function(e){e.getGroupByToggleProps=f(P().getGroupByToggleProps,{instance:B(),header:e});}));var A=t.useMemo((function(){if(d||!y.length)return [o,r,i,He,Te,r,i];var e=y.filter((function(e){return u.find((function(t){return t.id===e}))})),t=[],n={},l=[],s={},a=[],f={},p=function o(r,i,d){if(void 0===i&&(i=0),i===e.length)return r;var p=e[i],v=c(r,p);return Object.entries(v).map((function(r,c){var v=r[0],m=r[1],h=p+":"+v,y=o(m,i+1,h=d?d+">"+h:h),w=i?G(m,"leafRows"):m,R=function(t,n,o){var r={};return u.forEach((function(i){if(e.includes(i.id))r[i.id]=n[0]?n[0].values[i.id]:null;else {var u="function"==typeof i.aggregate?i.aggregate:g[i.aggregate]||ke[i.aggregate];if(u){var l=n.map((function(e){return e.values[i.id]})),s=t.map((function(e){var t=e.values[i.id];if(!o&&i.aggregateValue){var n="function"==typeof i.aggregateValue?i.aggregateValue:g[i.aggregateValue]||ke[i.aggregateValue];if(!n)throw console.info({column:i}),new Error("React Table: Invalid column.aggregateValue option for column listed above");t=n(t,e,i);}return t}));r[i.id]=u(s,l);}else {if(i.aggregate)throw console.info({column:i}),new Error("React Table: Invalid column.aggregate option for column listed above");r[i.id]=null;}}})),r}(w,m,i),b={id:h,isGrouped:!0,groupByID:p,groupByVal:v,values:R,subRows:y,leafRows:w,depth:i,index:c};return y.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(l.push(e),s[e.id]=e):(a.push(e),f[e.id]=e);})),b}))}(o);return p.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(l.push(e),s[e.id]=e):(a.push(e),f[e.id]=e);})),[p,t,n,l,s,a,f]}),[d,y,o,r,i,u,g,c]),k=A[0],H=A[1],T=A[2],z=A[3],W=A[4],O=A[5],M=A[6],j=h(S);w((function(){j()&&R({type:l.resetGroupBy});}),[R,d?null:n]),Object.assign(e,{preGroupedRows:o,preGroupedFlatRow:r,preGroupedRowsById:i,groupedRows:k,groupedFlatRows:H,groupedRowsById:T,onlyGroupedFlatRows:z,onlyGroupedRowsById:W,nonGroupedFlatRows:O,nonGroupedRowsById:M,rows:k,flatRows:H,rowsById:T,toggleGroupBy:E,setGroupBy:F});}function Le(e){e.allCells.forEach((function(t){var n;t.isGrouped=t.column.isGrouped&&t.column.id===e.groupByID,t.isPlaceholder=!t.isGrouped&&t.column.isGrouped,t.isAggregated=!t.isGrouped&&!t.isPlaceholder&&(null==(n=e.subRows)?void 0:n.length);}));}function De(e,t){return e.reduce((function(e,n,o){var r=""+n.values[t];return e[r]=Array.isArray(e[r])?e[r]:[],e[r].push(n),e}),{})}var Ve=/([0-9]+)/gm;function _e(e,t){return e===t?0:e>t?1:-1}function Xe(e,t,n){return [e.values[n],t.values[n]]}function qe(e){return "number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}var Ke=Object.freeze({__proto__:null,alphanumeric:function(e,t,n){var o=Xe(e,t,n),r=o[0],i=o[1];for(r=qe(r),i=qe(i),r=r.split(Ve).filter(Boolean),i=i.split(Ve).filter(Boolean);r.length&&i.length;){var u=r.shift(),l=i.shift(),s=parseInt(u,10),a=parseInt(l,10),c=[s,a].sort();if(isNaN(c[0])){if(u>l)return 1;if(l>u)return -1}else {if(isNaN(c[1]))return isNaN(s)?-1:1;if(s>a)return 1;if(a>s)return -1}}return r.length-i.length},datetime:function(e,t,n){var o=Xe(e,t,n),r=o[0],i=o[1];return _e(r=r.getTime(),i=i.getTime())},basic:function(e,t,n){var o=Xe(e,t,n);return _e(o[0],o[1])},string:function(e,t,n){var o=Xe(e,t,n),r=o[0],i=o[1];for(r=r.split("").filter(Boolean),i=i.split("").filter(Boolean);r.length&&i.length;){var u=r.shift(),l=i.shift(),s=u.toLowerCase(),a=l.toLowerCase();if(s>a)return 1;if(a>s)return -1;if(u>l)return 1;if(l>u)return -1}return r.length-i.length},number:function(e,t,n){var o=Xe(e,t,n),r=o[0],i=o[1],u=/[^0-9.]/gi;return _e(r=Number(String(r).replace(u,"")),i=Number(String(i).replace(u,"")))}});l.resetSortBy="resetSortBy",l.setSortBy="setSortBy",l.toggleSortBy="toggleSortBy",l.clearSortBy="clearSortBy",c.sortType="alphanumeric",c.sortDescFirst=!1;var Ue=function(e){e.getSortByToggleProps=[$e],e.stateReducers.push(Je),e.useInstance.push(Ye);};Ue.pluginName="useSortBy";var $e=function(e,t){var n=t.instance,o=t.column,r=n.isMultiSortEvent,i=void 0===r?function(e){return e.shiftKey}:r;return [e,{onClick:o.canSort?function(e){e.persist(),o.toggleSortBy(void 0,!n.disableMultiSort&&i(e));}:void 0,style:{cursor:o.canSort?"pointer":void 0},title:o.canSort?"Toggle SortBy":void 0}]};function Je(e,t,n,o){if(t.type===l.init)return r({sortBy:[]},e);if(t.type===l.resetSortBy)return r({},e,{sortBy:o.initialState.sortBy||[]});if(t.type===l.clearSortBy)return r({},e,{sortBy:e.sortBy.filter((function(e){return e.id!==t.columnId}))});if(t.type===l.setSortBy)return r({},e,{sortBy:t.sortBy});if(t.type===l.toggleSortBy){var i,u=t.columnId,s=t.desc,a=t.multi,c=o.allColumns,d=o.disableMultiSort,f=o.disableSortRemove,p=o.disableMultiRemove,g=o.maxMultiSortColCount,v=void 0===g?Number.MAX_SAFE_INTEGER:g,m=e.sortBy,h=c.find((function(e){return e.id===u})).sortDescFirst,y=m.find((function(e){return e.id===u})),w=m.findIndex((function(e){return e.id===u})),R=null!=s,b=[];return "toggle"!==(i=!d&&a?y?"toggle":"add":w!==m.length-1||1!==m.length?"replace":y?"toggle":"replace")||f||R||a&&p||!(y&&y.desc&&!h||!y.desc&&h)||(i="remove"),"replace"===i?b=[{id:u,desc:R?s:h}]:"add"===i?(b=[].concat(m,[{id:u,desc:R?s:h}])).splice(0,b.length-v):"toggle"===i?b=m.map((function(e){return e.id===u?r({},e,{desc:R?s:!y.desc}):e})):"remove"===i&&(b=m.filter((function(e){return e.id!==u}))),r({},e,{sortBy:b})}}function Ye(e){var n=e.data,o=e.rows,r=e.flatRows,i=e.allColumns,u=e.orderByFn,s=void 0===u?Qe:u,a=e.sortTypes,c=e.manualSortBy,d=e.defaultCanSort,p=e.disableSortBy,g=e.flatHeaders,m=e.state.sortBy,y=e.dispatch,R=e.plugins,b=e.getHooks,S=e.autoResetSortBy,C=void 0===S||S;v(R,["useFilters","useGlobalFilter","useGroupBy","usePivotColumns"],"useSortBy");var x=t.useCallback((function(e){y({type:l.setSortBy,sortBy:e});}),[y]),P=t.useCallback((function(e,t,n){y({type:l.toggleSortBy,columnId:e,desc:t,multi:n});}),[y]),B=h(e);g.forEach((function(e){var t=e.accessor,n=e.canSort,o=e.disableSortBy,r=e.id,i=t?I(!0!==o&&void 0,!0!==p&&void 0,!0):I(d,n,!1);e.canSort=i,e.canSort&&(e.toggleSortBy=function(t,n){return P(e.id,t,n)},e.clearSortBy=function(){y({type:l.clearSortBy,columnId:e.id});}),e.getSortByToggleProps=f(b().getSortByToggleProps,{instance:B(),column:e});var u=m.find((function(e){return e.id===r}));e.isSorted=!!u,e.sortedIndex=m.findIndex((function(e){return e.id===r})),e.isSortedDesc=e.isSorted?u.desc:void 0;}));var E=t.useMemo((function(){if(c||!m.length)return [o,r];var e=[],t=m.filter((function(e){return i.find((function(t){return t.id===e.id}))}));return [function n(o){var r=s(o,t.map((function(e){var t=i.find((function(t){return t.id===e.id}));if(!t)throw new Error("React-Table: Could not find a column with id: "+e.id+" while sorting");var n=t.sortType,o=F(n)||(a||{})[n]||Ke[n];if(!o)throw new Error("React-Table: Could not find a valid sortType of '"+n+"' for column '"+e.id+"'.");return function(t,n){return o(t,n,e.id,e.desc)}})),t.map((function(e){var t=i.find((function(t){return t.id===e.id}));return t&&t.sortInverted?e.desc:!e.desc})));return r.forEach((function(t){e.push(t),t.subRows&&0!==t.subRows.length&&(t.subRows=n(t.subRows));})),r}(o),e]}),[c,m,o,r,i,s,a]),G=E[0],A=E[1],k=h(C);w((function(){k()&&y({type:l.resetSortBy});}),[c?null:n]),Object.assign(e,{preSortedRows:o,preSortedFlatRows:r,sortedRows:G,sortedFlatRows:A,rows:G,flatRows:A,setSortBy:x,toggleSortBy:P});}function Qe(e,t,n){return [].concat(e).sort((function(e,o){for(var r=0;r<t.length;r+=1){var i=t[r],u=!1===n[r]||"desc"===n[r],l=i(e,o);if(0!==l)return u?-l:l}return n[0]?e.index-o.index:o.index-e.index}))}l.resetPage="resetPage",l.gotoPage="gotoPage",l.setPageSize="setPageSize";var Ze=function(e){e.stateReducers.push(et),e.useInstance.push(tt);};function et(e,t,n,o){if(t.type===l.init)return r({pageSize:10,pageIndex:0},e);if(t.type===l.resetPage)return r({},e,{pageIndex:o.initialState.pageIndex||0});if(t.type===l.gotoPage){var i=o.pageCount,u=o.page,s=m(t.pageIndex,e.pageIndex),a=!1;return s>e.pageIndex?a=-1===i?u.length>=e.pageSize:s<i:s<e.pageIndex&&(a=s>-1),a?r({},e,{pageIndex:s}):e}if(t.type===l.setPageSize){var c=t.pageSize,d=e.pageSize*e.pageIndex;return r({},e,{pageIndex:Math.floor(d/c),pageSize:c})}}function tt(e){var n=e.rows,o=e.autoResetPage,r=void 0===o||o,i=e.manualExpandedKey,u=void 0===i?"expanded":i,s=e.plugins,a=e.pageCount,c=e.paginateExpandedRows,d=void 0===c||c,f=e.expandSubRows,p=void 0===f||f,g=e.state,m=g.pageSize,y=g.pageIndex,R=g.expanded,b=g.globalFilter,S=g.filters,C=g.groupBy,x=g.sortBy,P=e.dispatch,B=e.data,E=e.manualPagination;v(s,["useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded"],"usePagination");var I=h(r);w((function(){I()&&P({type:l.resetPage});}),[P,E?null:B,b,S,C,x]);var F=E?a:Math.ceil(n.length/m),G=t.useMemo((function(){return F>0?[].concat(new Array(F)).fill(null).map((function(e,t){return t})):[]}),[F]),k=t.useMemo((function(){var e;if(E)e=n;else {var t=m*y,o=t+m;e=n.slice(t,o);}return d?e:A(e,{manualExpandedKey:u,expanded:R,expandSubRows:p})}),[p,R,u,E,y,m,d,n]),H=y>0,T=-1===F?k.length>=m:y<F-1,z=t.useCallback((function(e){P({type:l.gotoPage,pageIndex:e});}),[P]),W=t.useCallback((function(){return z((function(e){return e-1}))}),[z]),O=t.useCallback((function(){return z((function(e){return e+1}))}),[z]),M=t.useCallback((function(e){P({type:l.setPageSize,pageSize:e});}),[P]);Object.assign(e,{pageOptions:G,pageCount:F,page:k,canPreviousPage:H,canNextPage:T,gotoPage:z,previousPage:W,nextPage:O,setPageSize:M});}Ze.pluginName="usePagination",l.resetPivot="resetPivot",l.togglePivot="togglePivot";var nt=function(e){e.getPivotToggleProps=[rt],e.stateReducers.push(it),e.useInstanceAfterData.push(ut),e.allColumns.push(lt),e.accessValue.push(st),e.materializedColumns.push(at),e.materializedColumnsDeps.push(ct),e.visibleColumns.push(dt),e.visibleColumnsDeps.push(ft),e.useInstance.push(pt),e.prepareRow.push(gt);};nt.pluginName="usePivotColumns";var ot=[],rt=function(e,t){var n=t.header;return [e,{onClick:n.canPivot?function(e){e.persist(),n.togglePivot();}:void 0,style:{cursor:n.canPivot?"pointer":void 0},title:"Toggle Pivot"}]};function it(e,t,n,o){if(t.type===l.init)return r({pivotColumns:ot},e);if(t.type===l.resetPivot)return r({},e,{pivotColumns:o.initialState.pivotColumns||ot});if(t.type===l.togglePivot){var i=t.columnId,u=t.value,s=void 0!==u?u:!e.pivotColumns.includes(i);return r({},e,s?{pivotColumns:[].concat(e.pivotColumns,[i])}:{pivotColumns:e.pivotColumns.filter((function(e){return e!==i}))})}}function ut(e){e.allColumns.forEach((function(t){t.isPivotSource=e.state.pivotColumns.includes(t.id);}));}function lt(e,t){var n=t.instance;return e.forEach((function(e){e.isPivotSource=n.state.pivotColumns.includes(e.id),e.uniqueValues=new Set;})),e}function st(e,t){var n=t.column;return n.uniqueValues&&void 0!==e&&n.uniqueValues.add(e),e}function at(e,t){var n=t.instance,o=n.allColumns,i=n.state;if(!i.pivotColumns.length||!i.groupBy||!i.groupBy.length)return e;var u=i.pivotColumns.map((function(e){return o.find((function(t){return t.id===e}))})).filter(Boolean),l=o.filter((function(e){return !e.isPivotSource&&!i.groupBy.includes(e.id)&&!i.pivotColumns.includes(e.id)})),s=C(function e(t,n,o){void 0===t&&(t=0),void 0===o&&(o=[]);var i=u[t];return i?Array.from(i.uniqueValues).sort().map((function(u){var l=r({},i,{Header:i.PivotHeader||"string"==typeof i.header?i.Header+": "+u:u,isPivotGroup:!0,parent:n,depth:t,id:n?n.id+"."+i.id+"."+u:i.id+"."+u,pivotValue:u});return l.columns=e(t+1,l,[].concat(o,[function(e){return e.values[i.id]===u}])),l})):l.map((function(e){return r({},e,{canPivot:!1,isPivoted:!0,parent:n,depth:t,id:""+(n?n.id+"."+e.id:e.id),accessor:function(t,n,r){if(o.every((function(e){return e(r)})))return r.values[e.id]}})}))}());return [].concat(e,s)}function ct(e,t){var n=t.instance.state,o=n.pivotColumns,r=n.groupBy;return [].concat(e,[o,r])}function dt(e,t){var n=t.instance.state;return e=e.filter((function(e){return !e.isPivotSource})),n.pivotColumns.length&&n.groupBy&&n.groupBy.length&&(e=e.filter((function(e){return e.isGrouped||e.isPivoted}))),e}function ft(e,t){var n=t.instance;return [].concat(e,[n.state.pivotColumns,n.state.groupBy])}function pt(e){var t=e.columns,n=e.allColumns,o=e.flatHeaders,r=e.getHooks,i=e.plugins,u=e.dispatch,s=e.autoResetPivot,a=void 0===s||s,c=e.manaulPivot,d=e.disablePivot,p=e.defaultCanPivot;v(i,["useGroupBy"],"usePivotColumns");var g=h(e);n.forEach((function(t){var n=t.accessor,o=t.defaultPivot,r=t.disablePivot;t.canPivot=n?I(t.canPivot,!0!==r&&void 0,!0!==d&&void 0,!0):I(t.canPivot,o,p,!1),t.canPivot&&(t.togglePivot=function(){return e.togglePivot(t.id)}),t.Aggregated=t.Aggregated||t.Cell;}));o.forEach((function(e){e.getPivotToggleProps=f(r().getPivotToggleProps,{instance:g(),header:e});}));var m=h(a);w((function(){m()&&u({type:l.resetPivot});}),[u,c?null:t]),Object.assign(e,{togglePivot:function(e,t){u({type:l.togglePivot,columnId:e,value:t});}});}function gt(e){e.allCells.forEach((function(e){e.isPivoted=e.column.isPivoted;}));}l.resetSelectedRows="resetSelectedRows",l.toggleAllRowsSelected="toggleAllRowsSelected",l.toggleRowSelected="toggleRowSelected",l.toggleAllPageRowsSelected="toggleAllPageRowsSelected";var vt=function(e){e.getToggleRowSelectedProps=[mt],e.getToggleAllRowsSelectedProps=[ht],e.getToggleAllPageRowsSelectedProps=[yt],e.stateReducers.push(wt),e.useInstance.push(Rt),e.prepareRow.push(bt);};vt.pluginName="useRowSelect";var mt=function(e,t){var n=t.instance,o=t.row,r=n.manualRowSelectedKey,i=void 0===r?"isSelected":r;return [e,{onChange:function(e){o.toggleRowSelected(e.target.checked);},style:{cursor:"pointer"},checked:!(!o.original||!o.original[i])||o.isSelected,title:"Toggle Row Selected",indeterminate:o.isSomeSelected}]},ht=function(e,t){var n=t.instance;return [e,{onChange:function(e){n.toggleAllRowsSelected(e.target.checked);},style:{cursor:"pointer"},checked:n.isAllRowsSelected,title:"Toggle All Rows Selected",indeterminate:Boolean(!n.isAllRowsSelected&&Object.keys(n.state.selectedRowIds).length)}]},yt=function(e,t){var n=t.instance;return [e,{onChange:function(e){n.toggleAllPageRowsSelected(e.target.checked);},style:{cursor:"pointer"},checked:n.isAllPageRowsSelected,title:"Toggle All Current Page Rows Selected",indeterminate:Boolean(!n.isAllPageRowsSelected&&n.page.some((function(e){var t=e.id;return n.state.selectedRowIds[t]})))}]};function wt(e,t,n,o){if(t.type===l.init)return r({selectedRowIds:{}},e);if(t.type===l.resetSelectedRows)return r({},e,{selectedRowIds:o.initialState.selectedRowIds||{}});if(t.type===l.toggleAllRowsSelected){var i=t.value,u=o.isAllRowsSelected,s=o.rowsById,a=o.nonGroupedRowsById,c=void 0===a?s:a,d=void 0!==i?i:!u,f=Object.assign({},e.selectedRowIds);return d?Object.keys(c).forEach((function(e){f[e]=!0;})):Object.keys(c).forEach((function(e){delete f[e];})),r({},e,{selectedRowIds:f})}if(t.type===l.toggleRowSelected){var p=t.id,g=t.value,v=o.rowsById,m=o.selectSubRows,h=void 0===m||m,y=o.getSubRows,w=e.selectedRowIds[p],R=void 0!==g?g:!w;if(w===R)return e;var b=r({},e.selectedRowIds);return function e(t){var n=v[t];if(n.isGrouped||(R?b[t]=!0:delete b[t]),h&&y(n))return y(n).forEach((function(t){return e(t.id)}))}(p),r({},e,{selectedRowIds:b})}if(t.type===l.toggleAllPageRowsSelected){var S=t.value,C=o.page,x=o.rowsById,P=o.selectSubRows,B=void 0===P||P,E=o.isAllPageRowsSelected,I=o.getSubRows,F=void 0!==S?S:!E,G=r({},e.selectedRowIds);return C.forEach((function(e){return function e(t){var n=x[t];if(n.isGrouped||(F?G[t]=!0:delete G[t]),B&&I(n))return I(n).forEach((function(t){return e(t.id)}))}(e.id)})),r({},e,{selectedRowIds:G})}return e}function Rt(e){var n=e.data,o=e.rows,r=e.getHooks,i=e.plugins,u=e.rowsById,s=e.nonGroupedRowsById,a=void 0===s?u:s,c=e.autoResetSelectedRows,d=void 0===c||c,p=e.state.selectedRowIds,g=e.selectSubRows,m=void 0===g||g,y=e.dispatch,R=e.page,b=e.getSubRows;v(i,["useFilters","useGroupBy","useSortBy","useExpanded","usePagination"],"useRowSelect");var S=t.useMemo((function(){var e=[];return o.forEach((function(t){var n=m?function e(t,n,o){if(n[t.id])return !0;var r=o(t);if(r&&r.length){var i=!0,u=!1;return r.forEach((function(t){u&&!i||(e(t,n,o)?u=!0:i=!1);})),!!i||!!u&&null}return !1}(t,p,b):!!p[t.id];t.isSelected=!!n,t.isSomeSelected=null===n,n&&e.push(t);})),e}),[o,m,p,b]),C=Boolean(Object.keys(a).length&&Object.keys(p).length),x=C;C&&Object.keys(a).some((function(e){return !p[e]}))&&(C=!1),C||R&&R.length&&R.some((function(e){var t=e.id;return !p[t]}))&&(x=!1);var P=h(d);w((function(){P()&&y({type:l.resetSelectedRows});}),[y,n]);var B=t.useCallback((function(e){return y({type:l.toggleAllRowsSelected,value:e})}),[y]),E=t.useCallback((function(e){return y({type:l.toggleAllPageRowsSelected,value:e})}),[y]),I=t.useCallback((function(e,t){return y({type:l.toggleRowSelected,id:e,value:t})}),[y]),F=h(e),G=f(r().getToggleAllRowsSelectedProps,{instance:F()}),A=f(r().getToggleAllPageRowsSelectedProps,{instance:F()});Object.assign(e,{selectedFlatRows:S,isAllRowsSelected:C,isAllPageRowsSelected:x,toggleRowSelected:I,toggleAllRowsSelected:B,getToggleAllRowsSelectedProps:G,getToggleAllPageRowsSelectedProps:A,toggleAllPageRowsSelected:E});}function bt(e,t){var n=t.instance;e.toggleRowSelected=function(t){return n.toggleRowSelected(e.id,t)},e.getToggleRowSelectedProps=f(n.getHooks().getToggleRowSelectedProps,{instance:n,row:e});}var St=function(e){return {}},Ct=function(e){return {}};l.setRowState="setRowState",l.setCellState="setCellState",l.resetRowState="resetRowState";var xt=function(e){e.stateReducers.push(Pt),e.useInstance.push(Bt),e.prepareRow.push(Et);};function Pt(e,t,n,o){var i=o.initialRowStateAccessor,u=void 0===i?St:i,s=o.initialCellStateAccessor,a=void 0===s?Ct:s,c=o.rowsById;if(t.type===l.init)return r({rowState:{}},e);if(t.type===l.resetRowState)return r({},e,{rowState:o.initialState.rowState||{}});if(t.type===l.setRowState){var d,f=t.rowId,p=t.value,g=void 0!==e.rowState[f]?e.rowState[f]:u(c[f]);return r({},e,{rowState:r({},e.rowState,(d={},d[f]=m(p,g),d))})}if(t.type===l.setCellState){var v,h,y,w,R,b=t.rowId,S=t.columnId,C=t.value,x=void 0!==e.rowState[b]?e.rowState[b]:u(c[b]),P=void 0!==(null==x?void 0:null==(v=x.cellState)?void 0:v[S])?x.cellState[S]:a(null==(h=c[b])?void 0:null==(y=h.cells)?void 0:y.find((function(e){return e.column.id===S})));return r({},e,{rowState:r({},e.rowState,(R={},R[b]=r({},x,{cellState:r({},x.cellState||{},(w={},w[S]=m(C,P),w))}),R))})}}function Bt(e){var n=e.autoResetRowState,o=void 0===n||n,r=e.data,i=e.dispatch,u=t.useCallback((function(e,t){return i({type:l.setRowState,rowId:e,value:t})}),[i]),s=t.useCallback((function(e,t,n){return i({type:l.setCellState,rowId:e,columnId:t,value:n})}),[i]),a=h(o);w((function(){a()&&i({type:l.resetRowState});}),[r]),Object.assign(e,{setRowState:u,setCellState:s});}function Et(e,t){var n=t.instance,o=n.initialRowStateAccessor,r=void 0===o?St:o,i=n.initialCellStateAccessor,u=void 0===i?Ct:i,l=n.state.rowState;e&&(e.state=void 0!==l[e.id]?l[e.id]:r(e),e.setState=function(t){return n.setRowState(e.id,t)},e.cells.forEach((function(t){e.state.cellState||(e.state.cellState={}),t.state=void 0!==e.state.cellState[t.column.id]?e.state.cellState[t.column.id]:u(t),t.setState=function(o){return n.setCellState(e.id,t.column.id,o)};})));}xt.pluginName="useRowState",l.resetColumnOrder="resetColumnOrder",l.setColumnOrder="setColumnOrder";var It=function(e){e.stateReducers.push(Ft),e.visibleColumnsDeps.push((function(e,t){var n=t.instance;return [].concat(e,[n.state.columnOrder])})),e.visibleColumns.push(Gt),e.useInstance.push(At);};function Ft(e,t,n,o){return t.type===l.init?r({columnOrder:[]},e):t.type===l.resetColumnOrder?r({},e,{columnOrder:o.initialState.columnOrder||[]}):t.type===l.setColumnOrder?r({},e,{columnOrder:m(t.columnOrder,e.columnOrder)}):void 0}function Gt(e,t){var n=t.instance.state.columnOrder;if(!n||!n.length)return e;for(var o=[].concat(n),r=[].concat(e),i=[],u=function(){var e=o.shift(),t=r.findIndex((function(t){return t.id===e}));t>-1&&i.push(r.splice(t,1)[0]);};r.length&&o.length;)u();return [].concat(i,r)}function At(e){var n=e.dispatch;e.setColumnOrder=t.useCallback((function(e){return n({type:l.setColumnOrder,columnOrder:e})}),[n]);}It.pluginName="useColumnOrder",c.canResize=!0,l.columnStartResizing="columnStartResizing",l.columnResizing="columnResizing",l.columnDoneResizing="columnDoneResizing",l.resetResize="resetResize";var kt=function(e){e.getResizerProps=[Ht],e.getHeaderProps.push({style:{position:"relative"}}),e.stateReducers.push(Tt),e.useInstance.push(Wt),e.useInstanceBeforeDimensions.push(zt);},Ht=function(e,t){var n=t.instance,o=t.header,r=n.dispatch,i=function(e,t){var n=!1;if("touchstart"===e.type){if(e.touches&&e.touches.length>1)return;n=!0;}var o=function(e){var t=[];return function e(n){n.columns&&n.columns.length&&n.columns.map(e);t.push(n);}(e),t}(t).map((function(e){return [e.id,e.totalWidth]})),i=n?Math.round(e.touches[0].clientX):e.clientX,u=function(e){r({type:l.columnResizing,clientX:e});},s=function(){return r({type:l.columnDoneResizing})},a={mouse:{moveEvent:"mousemove",moveHandler:function(e){return u(e.clientX)},upEvent:"mouseup",upHandler:function(e){document.removeEventListener("mousemove",a.mouse.moveHandler),document.removeEventListener("mouseup",a.mouse.upHandler),s();}},touch:{moveEvent:"touchmove",moveHandler:function(e){return e.cancelable&&(e.preventDefault(),e.stopPropagation()),u(e.touches[0].clientX),!1},upEvent:"touchend",upHandler:function(e){document.removeEventListener(a.touch.moveEvent,a.touch.moveHandler),document.removeEventListener(a.touch.upEvent,a.touch.moveHandler),s();}}},c=n?a.touch:a.mouse,d=!!function(){if("boolean"==typeof z)return z;var e=!1;try{var t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t);}catch(t){e=!1;}return z=e}()&&{passive:!1};document.addEventListener(c.moveEvent,c.moveHandler,d),document.addEventListener(c.upEvent,c.upHandler,d),r({type:l.columnStartResizing,columnId:t.id,columnWidth:t.totalWidth,headerIdWidths:o,clientX:i});};return [e,{onMouseDown:function(e){return e.persist()||i(e,o)},onTouchStart:function(e){return e.persist()||i(e,o)},style:{cursor:"col-resize"},draggable:!1,role:"separator"}]};function Tt(e,t){if(t.type===l.init)return r({columnResizing:{columnWidths:{}}},e);if(t.type===l.resetResize)return r({},e,{columnResizing:{columnWidths:{}}});if(t.type===l.columnStartResizing){var n=t.clientX,o=t.columnId,i=t.columnWidth,u=t.headerIdWidths;return r({},e,{columnResizing:r({},e.columnResizing,{startX:n,headerIdWidths:u,columnWidth:i,isResizingColumn:o})})}if(t.type===l.columnResizing){var s=t.clientX,a=e.columnResizing,c=a.startX,d=a.columnWidth,f=a.headerIdWidths,p=(s-c)/d,g={};return (void 0===f?[]:f).forEach((function(e){var t=e[0],n=e[1];g[t]=Math.max(n+n*p,0);})),r({},e,{columnResizing:r({},e.columnResizing,{columnWidths:r({},e.columnResizing.columnWidths,{},g)})})}return t.type===l.columnDoneResizing?r({},e,{columnResizing:r({},e.columnResizing,{startX:null,isResizingColumn:null})}):void 0}kt.pluginName="useResizeColumns";var zt=function(e){var t=e.flatHeaders,n=e.disableResizing,o=e.getHooks,r=e.state.columnResizing,i=h(e);t.forEach((function(e){var t=I(!0!==e.disableResizing&&void 0,!0!==n&&void 0,!0);e.canResize=t,e.width=r.columnWidths[e.id]||e.originalWidth||e.width,e.isResizing=r.isResizingColumn===e.id,t&&(e.getResizerProps=f(o().getResizerProps,{instance:i(),header:e}));}));};function Wt(e){var n=e.plugins,o=e.dispatch,r=e.autoResetResize,i=void 0===r||r,u=e.columns;v(n,["useAbsoluteLayout"],"useResizeColumns");var s=h(i);w((function(){s()&&o({type:l.resetResize});}),[u]);var a=t.useCallback((function(){return o({type:l.resetResize})}),[o]);Object.assign(e,{resetResizing:a});}var Ot={position:"absolute",top:0},Mt=function(e){e.getTableBodyProps.push(jt),e.getRowProps.push(jt),e.getHeaderGroupProps.push(jt),e.getFooterGroupProps.push(jt),e.getHeaderProps.push((function(e,t){var n=t.column;return [e,{style:r({},Ot,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return [e,{style:r({},Ot,{left:n.column.totalLeft+"px",width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return [e,{style:r({},Ot,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]}));};Mt.pluginName="useAbsoluteLayout";var jt=function(e,t){return [e,{style:{position:"relative",width:t.instance.totalColumnsWidth+"px"}}]},Nt={display:"inline-block",boxSizing:"border-box"},Lt=function(e,t){return [e,{style:{display:"flex",width:t.instance.totalColumnsWidth+"px"}}]},Dt=function(e){e.getRowProps.push(Lt),e.getHeaderGroupProps.push(Lt),e.getFooterGroupProps.push(Lt),e.getHeaderProps.push((function(e,t){var n=t.column;return [e,{style:r({},Nt,{width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return [e,{style:r({},Nt,{width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return [e,{style:r({},Nt,{width:n.totalWidth+"px"})}]}));};function Vt(e){e.getTableProps.push(_t),e.getRowProps.push(Xt),e.getHeaderGroupProps.push(Xt),e.getFooterGroupProps.push(Xt),e.getHeaderProps.push(qt),e.getCellProps.push(Kt),e.getFooterProps.push(Ut);}Dt.pluginName="useBlockLayout",Vt.pluginName="useFlexLayout";var _t=function(e,t){return [e,{style:{minWidth:t.instance.totalColumnsMinWidth+"px"}}]},Xt=function(e,t){return [e,{style:{display:"flex",flex:"1 0 auto",minWidth:t.instance.totalColumnsMinWidth+"px"}}]},qt=function(e,t){var n=t.column;return [e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]},Kt=function(e,t){var n=t.cell;return [e,{style:{boxSizing:"border-box",flex:n.column.totalFlexWidth+" 0 auto",minWidth:n.column.totalMinWidth+"px",width:n.column.totalWidth+"px"}}]},Ut=function(e,t){var n=t.column;return [e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]};function $t(e){e.stateReducers.push(Qt),e.getTableProps.push(Jt),e.getHeaderProps.push(Yt);}$t.pluginName="useGridLayout";var Jt=function(e,t){return [e,{style:{display:"grid",gridTemplateColumns:t.instance.state.gridLayout.columnWidths.map((function(e){return e})).join(" ")}}]},Yt=function(e,t){return [e,{id:"header-cell-"+t.column.id,style:{position:"sticky"}}]};function Qt(e,t,n,o){if("init"===t.type)return r({gridLayout:{columnWidths:o.columns.map((function(){return "auto"}))}},e);if("columnStartResizing"===t.type){var i=t.columnId,u=o.visibleColumns.findIndex((function(e){return e.id===i})),l=function(e){var t,n=null==(t=document.getElementById("header-cell-"+e))?void 0:t.offsetWidth;if(void 0!==n)return n}(i);return void 0!==l?r({},e,{gridLayout:r({},e.gridLayout,{columnId:i,columnIndex:u,startingWidth:l})}):e}if("columnResizing"===t.type){var s=e.gridLayout,a=s.columnIndex,c=s.startingWidth,d=s.columnWidths,f=c-(e.columnResizing.startX-t.clientX),p=[].concat(d);return p[a]=f+"px",r({},e,{gridLayout:r({},e.gridLayout,{columnWidths:p})})}}e._UNSTABLE_usePivotColumns=nt,e.actions=l,e.defaultColumn=c,e.defaultGroupByFn=De,e.defaultOrderByFn=Qe,e.defaultRenderer=s,e.emptyRenderer=a,e.ensurePluginOrder=v,e.flexRender=b,e.functionalUpdate=m,e.loopHooks=g,e.makePropGetter=f,e.makeRenderer=R,e.reduceHooks=p,e.safeUseLayoutEffect=y,e.useAbsoluteLayout=Mt,e.useAsyncDebounce=function(e,n){void 0===n&&(n=0);var r=t.useRef({}),i=h(e),u=h(n);return t.useCallback(function(){var e=o(regeneratorRuntime.mark((function e(){var t,n,l,s=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=s.length,n=new Array(t),l=0;l<t;l++)n[l]=s[l];return r.current.promise||(r.current.promise=new Promise((function(e,t){r.current.resolve=e,r.current.reject=t;}))),r.current.timeout&&clearTimeout(r.current.timeout),r.current.timeout=setTimeout(o(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return delete r.current.timeout,e.prev=1,e.t0=r.current,e.next=5,i().apply(void 0,n);case 5:e.t1=e.sent,e.t0.resolve.call(e.t0,e.t1),e.next=12;break;case 9:e.prev=9,e.t2=e.catch(1),r.current.reject(e.t2);case 12:return e.prev=12,delete r.current.promise,e.finish(12);case 15:case"end":return e.stop()}}),e,null,[[1,9,12,15]])}))),u()),e.abrupt("return",r.current.promise);case 5:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),[i,u])},e.useBlockLayout=Dt,e.useColumnOrder=It,e.useExpanded=se,e.useFilters=Pe,e.useFlexLayout=Vt,e.useGetLatest=h,e.useGlobalFilter=Ie,e.useGridLayout=$t,e.useGroupBy=ze,e.useMountedLayoutEffect=w,e.usePagination=Ze,e.useResizeColumns=kt,e.useRowSelect=vt,e.useRowState=xt,e.useSortBy=Ue,e.useTable=function(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];e=ie(e),o=[K].concat(o);var u=t.useRef({}),s=h(u.current);Object.assign(s(),r({},e,{plugins:o,hooks:q()})),o.filter(Boolean).forEach((function(e){e(s().hooks);}));var a=h(s().hooks);s().getHooks=a,delete s().hooks,Object.assign(s(),p(a().useOptions,ie(e)));var c=s(),d=c.data,v=c.columns,m=c.initialState,y=c.defaultColumn,w=c.getSubRows,b=c.getRowId,E=c.stateReducer,I=c.useControlledState,F=h(E),G=t.useCallback((function(e,t){if(!t.type)throw console.info({action:t}),new Error("Unknown Action 👆");return [].concat(a().stateReducers,Array.isArray(F())?F():[F()]).reduce((function(n,o){return o(n,t,e,s())||n}),e)}),[a,F,s]),A=t.useReducer(G,void 0,(function(){return G(m,{type:l.init})})),k=A[0],H=A[1],T=p([].concat(a().useControlledState,[I]),k,{instance:s()});Object.assign(s(),{state:T,dispatch:H});var z=t.useMemo((function(){return S(p(a().columns,v,{instance:s()}))}),[a,s,v].concat(p(a().columnsDeps,[],{instance:s()})));s().columns=z;var W=t.useMemo((function(){return p(a().allColumns,C(z),{instance:s()}).map(x)}),[z,a,s].concat(p(a().allColumnsDeps,[],{instance:s()})));s().allColumns=W;var O=t.useMemo((function(){for(var e=[],t=[],n={},o=[].concat(W);o.length;){var r=o.shift();le({data:d,rows:e,flatRows:t,rowsById:n,column:r,getRowId:b,getSubRows:w,accessValueHooks:a().accessValue,getInstance:s});}return [e,t,n]}),[W,d,b,w,a,s]),M=O[0],j=O[1],N=O[2];Object.assign(s(),{rows:M,initialRows:[].concat(M),flatRows:j,rowsById:N}),g(a().useInstanceAfterData,s());var L=t.useMemo((function(){return p(a().visibleColumns,W,{instance:s()}).map((function(e){return P(e,y)}))}),[a,W,s,y].concat(p(a().visibleColumnsDeps,[],{instance:s()})));W=t.useMemo((function(){var e=[].concat(L);return W.forEach((function(t){e.find((function(e){return e.id===t.id}))||e.push(t);})),e}),[W,L]),s().allColumns=W;var D=t.useMemo((function(){return p(a().headerGroups,B(L,y),s())}),[a,L,y,s].concat(p(a().headerGroupsDeps,[],{instance:s()})));s().headerGroups=D;var V=t.useMemo((function(){return D.length?D[0].headers:[]}),[D]);s().headers=V,s().flatHeaders=D.reduce((function(e,t){return [].concat(e,t.headers)}),[]),g(a().useInstanceBeforeDimensions,s());var _=L.filter((function(e){return e.isVisible})).map((function(e){return e.id})).sort().join("_");L=t.useMemo((function(){return L.filter((function(e){return e.isVisible}))}),[L,_]),s().visibleColumns=L;var X=ue(V),U=X[0],$=X[1],J=X[2];return s().totalColumnsMinWidth=U,s().totalColumnsWidth=$,s().totalColumnsMaxWidth=J,g(a().useInstance,s()),[].concat(s().flatHeaders,s().allColumns).forEach((function(e){e.render=R(s(),e),e.getHeaderProps=f(a().getHeaderProps,{instance:s(),column:e}),e.getFooterProps=f(a().getFooterProps,{instance:s(),column:e});})),s().headerGroups=t.useMemo((function(){return D.filter((function(e,t){return e.headers=e.headers.filter((function(e){return e.headers?function e(t){return t.filter((function(t){return t.headers?e(t.headers):t.isVisible})).length}(e.headers):e.isVisible})),!!e.headers.length&&(e.getHeaderGroupProps=f(a().getHeaderGroupProps,{instance:s(),headerGroup:e,index:t}),e.getFooterGroupProps=f(a().getFooterGroupProps,{instance:s(),headerGroup:e,index:t}),!0)}))}),[D,s,a]),s().footerGroups=[].concat(s().headerGroups).reverse(),s().prepareRow=t.useCallback((function(e){e.getRowProps=f(a().getRowProps,{instance:s(),row:e}),e.allCells=W.map((function(t){var n=e.values[t.id],o={column:t,row:e,value:n};return o.getCellProps=f(a().getCellProps,{instance:s(),cell:o}),o.render=R(s(),t,{row:e,cell:o,value:n}),o})),e.cells=L.map((function(t){return e.allCells.find((function(e){return e.column.id===t.id}))})),g(a().prepareRow,e,{instance:s()});}),[a,s,W,L]),s().getTableProps=f(a().getTableProps,{instance:s()}),s().getTableBodyProps=f(a().getTableBodyProps,{instance:s()}),g(a().useFinalInstance,s()),s()},Object.defineProperty(e,"__esModule",{value:!0});}));
1134
-
1135
- }(reactTable_production_min, reactTable_production_min.exports));
1136
-
1137
- var reactTable_development = {exports: {}};
1138
-
1139
- (function (module, exports) {
1140
- (function (global, factory) {
1141
- factory(exports, React__default['default']) ;
1142
- }(commonjsGlobal, (function (exports, React) {
1143
- React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;
1144
-
1145
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
1146
- try {
1147
- var info = gen[key](arg);
1148
- var value = info.value;
1149
- } catch (error) {
1150
- reject(error);
1151
- return;
1152
- }
1153
-
1154
- if (info.done) {
1155
- resolve(value);
1156
- } else {
1157
- Promise.resolve(value).then(_next, _throw);
1158
- }
1159
- }
1160
-
1161
- function _asyncToGenerator(fn) {
1162
- return function () {
1163
- var self = this,
1164
- args = arguments;
1165
- return new Promise(function (resolve, reject) {
1166
- var gen = fn.apply(self, args);
1167
-
1168
- function _next(value) {
1169
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
1170
- }
1171
-
1172
- function _throw(err) {
1173
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
1174
- }
1175
-
1176
- _next(undefined);
1177
- });
1178
- };
1179
- }
1180
-
1181
- function _extends() {
1182
- _extends = Object.assign || function (target) {
1183
- for (var i = 1; i < arguments.length; i++) {
1184
- var source = arguments[i];
1185
-
1186
- for (var key in source) {
1187
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1188
- target[key] = source[key];
1189
- }
1190
- }
1191
- }
1192
-
1193
- return target;
1194
- };
1195
-
1196
- return _extends.apply(this, arguments);
1197
- }
1198
-
1199
- function _objectWithoutPropertiesLoose(source, excluded) {
1200
- if (source == null) return {};
1201
- var target = {};
1202
- var sourceKeys = Object.keys(source);
1203
- var key, i;
1204
-
1205
- for (i = 0; i < sourceKeys.length; i++) {
1206
- key = sourceKeys[i];
1207
- if (excluded.indexOf(key) >= 0) continue;
1208
- target[key] = source[key];
1209
- }
1210
-
1211
- return target;
1212
- }
1213
-
1214
- function _toPrimitive(input, hint) {
1215
- if (typeof input !== "object" || input === null) return input;
1216
- var prim = input[Symbol.toPrimitive];
1217
-
1218
- if (prim !== undefined) {
1219
- var res = prim.call(input, hint || "default");
1220
- if (typeof res !== "object") return res;
1221
- throw new TypeError("@@toPrimitive must return a primitive value.");
1222
- }
1223
-
1224
- return (hint === "string" ? String : Number)(input);
1225
- }
1226
-
1227
- function _toPropertyKey(arg) {
1228
- var key = _toPrimitive(arg, "string");
1229
-
1230
- return typeof key === "symbol" ? key : String(key);
1231
- }
1232
-
1233
- var renderErr = 'Renderer Error ☝️';
1234
- var actions = {
1235
- init: 'init'
1236
- };
1237
- var defaultRenderer = function defaultRenderer(_ref) {
1238
- var _ref$value = _ref.value,
1239
- value = _ref$value === void 0 ? '' : _ref$value;
1240
- return value;
1241
- };
1242
- var emptyRenderer = function emptyRenderer() {
1243
- return React.createElement(React.Fragment, null, "\xA0");
1244
- };
1245
- var defaultColumn = {
1246
- Cell: defaultRenderer,
1247
- width: 150,
1248
- minWidth: 0,
1249
- maxWidth: Number.MAX_SAFE_INTEGER
1250
- };
1251
-
1252
- function mergeProps() {
1253
- for (var _len = arguments.length, propList = new Array(_len), _key = 0; _key < _len; _key++) {
1254
- propList[_key] = arguments[_key];
1255
- }
1256
-
1257
- return propList.reduce(function (props, next) {
1258
- var style = next.style,
1259
- className = next.className,
1260
- rest = _objectWithoutPropertiesLoose(next, ["style", "className"]);
1261
-
1262
- props = _extends({}, props, {}, rest);
1263
-
1264
- if (style) {
1265
- props.style = props.style ? _extends({}, props.style || {}, {}, style || {}) : style;
1266
- }
1267
-
1268
- if (className) {
1269
- props.className = props.className ? props.className + ' ' + className : className;
1270
- }
1271
-
1272
- if (props.className === '') {
1273
- delete props.className;
1274
- }
1275
-
1276
- return props;
1277
- }, {});
1278
- }
1279
-
1280
- function handlePropGetter(prevProps, userProps, meta) {
1281
- // Handle a lambda, pass it the previous props
1282
- if (typeof userProps === 'function') {
1283
- return handlePropGetter({}, userProps(prevProps, meta));
1284
- } // Handle an array, merge each item as separate props
1285
-
1286
-
1287
- if (Array.isArray(userProps)) {
1288
- return mergeProps.apply(void 0, [prevProps].concat(userProps));
1289
- } // Handle an object by default, merge the two objects
1290
-
1291
-
1292
- return mergeProps(prevProps, userProps);
1293
- }
1294
-
1295
- var makePropGetter = function makePropGetter(hooks, meta) {
1296
- if (meta === void 0) {
1297
- meta = {};
1298
- }
1299
-
1300
- return function (userProps) {
1301
- if (userProps === void 0) {
1302
- userProps = {};
1303
- }
1304
-
1305
- return [].concat(hooks, [userProps]).reduce(function (prev, next) {
1306
- return handlePropGetter(prev, next, _extends({}, meta, {
1307
- userProps: userProps
1308
- }));
1309
- }, {});
1310
- };
1311
- };
1312
- var reduceHooks = function reduceHooks(hooks, initial, meta, allowUndefined) {
1313
- if (meta === void 0) {
1314
- meta = {};
1315
- }
1316
-
1317
- return hooks.reduce(function (prev, next) {
1318
- var nextValue = next(prev, meta);
1319
-
1320
- {
1321
- if (!allowUndefined && typeof nextValue === 'undefined') {
1322
- console.info(next);
1323
- throw new Error('React Table: A reducer hook ☝️ just returned undefined! This is not allowed.');
1324
- }
1325
- }
1326
-
1327
- return nextValue;
1328
- }, initial);
1329
- };
1330
- var loopHooks = function loopHooks(hooks, context, meta) {
1331
- if (meta === void 0) {
1332
- meta = {};
1333
- }
1334
-
1335
- return hooks.forEach(function (hook) {
1336
- var nextValue = hook(context, meta);
1337
-
1338
- {
1339
- if (typeof nextValue !== 'undefined') {
1340
- console.info(hook, nextValue);
1341
- throw new Error('React Table: A loop-type hook ☝️ just returned a value! This is not allowed.');
1342
- }
1343
- }
1344
- });
1345
- };
1346
- function ensurePluginOrder(plugins, befores, pluginName, afters) {
1347
- if ( afters) {
1348
- throw new Error("Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin " + pluginName + ")");
1349
- }
1350
-
1351
- var pluginIndex = plugins.findIndex(function (plugin) {
1352
- return plugin.pluginName === pluginName;
1353
- });
1354
-
1355
- if (pluginIndex === -1) {
1356
- {
1357
- throw new Error("The plugin \"" + pluginName + "\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n " + pluginName + ".pluginName = '" + pluginName + "'\n");
1358
- }
1359
- }
1360
-
1361
- befores.forEach(function (before) {
1362
- var beforeIndex = plugins.findIndex(function (plugin) {
1363
- return plugin.pluginName === before;
1364
- });
1365
-
1366
- if (beforeIndex > -1 && beforeIndex > pluginIndex) {
1367
- {
1368
- throw new Error("React Table: The " + pluginName + " plugin hook must be placed after the " + before + " plugin hook!");
1369
- }
1370
- }
1371
- });
1372
- }
1373
- function functionalUpdate(updater, old) {
1374
- return typeof updater === 'function' ? updater(old) : updater;
1375
- }
1376
- function useGetLatest(obj) {
1377
- var ref = React.useRef();
1378
- ref.current = obj;
1379
- return React.useCallback(function () {
1380
- return ref.current;
1381
- }, []);
1382
- } // SSR has issues with useLayoutEffect still, so use useEffect during SSR
1383
-
1384
- var safeUseLayoutEffect = typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect;
1385
- function useMountedLayoutEffect(fn, deps) {
1386
- var mountedRef = React.useRef(false);
1387
- safeUseLayoutEffect(function () {
1388
- if (mountedRef.current) {
1389
- fn();
1390
- }
1391
-
1392
- mountedRef.current = true; // eslint-disable-next-line
1393
- }, deps);
1394
- }
1395
- function useAsyncDebounce(defaultFn, defaultWait) {
1396
- if (defaultWait === void 0) {
1397
- defaultWait = 0;
1398
- }
1399
-
1400
- var debounceRef = React.useRef({});
1401
- var getDefaultFn = useGetLatest(defaultFn);
1402
- var getDefaultWait = useGetLatest(defaultWait);
1403
- return React.useCallback(
1404
- /*#__PURE__*/
1405
- function () {
1406
- var _ref2 = _asyncToGenerator(
1407
- /*#__PURE__*/
1408
- regeneratorRuntime.mark(function _callee2() {
1409
- var _len2,
1410
- args,
1411
- _key2,
1412
- _args2 = arguments;
1413
-
1414
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
1415
- while (1) {
1416
- switch (_context2.prev = _context2.next) {
1417
- case 0:
1418
- for (_len2 = _args2.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1419
- args[_key2] = _args2[_key2];
1420
- }
1421
-
1422
- if (!debounceRef.current.promise) {
1423
- debounceRef.current.promise = new Promise(function (resolve, reject) {
1424
- debounceRef.current.resolve = resolve;
1425
- debounceRef.current.reject = reject;
1426
- });
1427
- }
1428
-
1429
- if (debounceRef.current.timeout) {
1430
- clearTimeout(debounceRef.current.timeout);
1431
- }
1432
-
1433
- debounceRef.current.timeout = setTimeout(
1434
- /*#__PURE__*/
1435
- _asyncToGenerator(
1436
- /*#__PURE__*/
1437
- regeneratorRuntime.mark(function _callee() {
1438
- return regeneratorRuntime.wrap(function _callee$(_context) {
1439
- while (1) {
1440
- switch (_context.prev = _context.next) {
1441
- case 0:
1442
- delete debounceRef.current.timeout;
1443
- _context.prev = 1;
1444
- _context.t0 = debounceRef.current;
1445
- _context.next = 5;
1446
- return getDefaultFn().apply(void 0, args);
1447
-
1448
- case 5:
1449
- _context.t1 = _context.sent;
1450
-
1451
- _context.t0.resolve.call(_context.t0, _context.t1);
1452
-
1453
- _context.next = 12;
1454
- break;
1455
-
1456
- case 9:
1457
- _context.prev = 9;
1458
- _context.t2 = _context["catch"](1);
1459
- debounceRef.current.reject(_context.t2);
1460
-
1461
- case 12:
1462
- _context.prev = 12;
1463
- delete debounceRef.current.promise;
1464
- return _context.finish(12);
1465
-
1466
- case 15:
1467
- case "end":
1468
- return _context.stop();
1469
- }
1470
- }
1471
- }, _callee, null, [[1, 9, 12, 15]]);
1472
- })), getDefaultWait());
1473
- return _context2.abrupt("return", debounceRef.current.promise);
1474
-
1475
- case 5:
1476
- case "end":
1477
- return _context2.stop();
1478
- }
1479
- }
1480
- }, _callee2);
1481
- }));
1482
-
1483
- return function () {
1484
- return _ref2.apply(this, arguments);
1485
- };
1486
- }(), [getDefaultFn, getDefaultWait]);
1487
- }
1488
- function makeRenderer(instance, column, meta) {
1489
- if (meta === void 0) {
1490
- meta = {};
1491
- }
1492
-
1493
- return function (type, userProps) {
1494
- if (userProps === void 0) {
1495
- userProps = {};
1496
- }
1497
-
1498
- var Comp = typeof type === 'string' ? column[type] : type;
1499
-
1500
- if (typeof Comp === 'undefined') {
1501
- console.info(column);
1502
- throw new Error(renderErr);
1503
- }
1504
-
1505
- return flexRender(Comp, _extends({}, instance, {
1506
- column: column
1507
- }, meta, {}, userProps));
1508
- };
1509
- }
1510
- function flexRender(Comp, props) {
1511
- return isReactComponent(Comp) ? React.createElement(Comp, props) : Comp;
1512
- }
1513
-
1514
- function isReactComponent(component) {
1515
- return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
1516
- }
1517
-
1518
- function isClassComponent(component) {
1519
- return typeof component === 'function' && function () {
1520
- var proto = Object.getPrototypeOf(component);
1521
- return proto.prototype && proto.prototype.isReactComponent;
1522
- }();
1523
- }
1524
-
1525
- function isExoticComponent(component) {
1526
- return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);
1527
- }
1528
-
1529
- function linkColumnStructure(columns, parent, depth) {
1530
- if (depth === void 0) {
1531
- depth = 0;
1532
- }
1533
-
1534
- return columns.map(function (column) {
1535
- column = _extends({}, column, {
1536
- parent: parent,
1537
- depth: depth
1538
- });
1539
- assignColumnAccessor(column);
1540
-
1541
- if (column.columns) {
1542
- column.columns = linkColumnStructure(column.columns, column, depth + 1);
1543
- }
1544
-
1545
- return column;
1546
- });
1547
- }
1548
- function flattenColumns(columns) {
1549
- return flattenBy(columns, 'columns');
1550
- }
1551
- function assignColumnAccessor(column) {
1552
- // First check for string accessor
1553
- var id = column.id,
1554
- accessor = column.accessor,
1555
- Header = column.Header;
1556
-
1557
- if (typeof accessor === 'string') {
1558
- id = id || accessor;
1559
- var accessorPath = accessor.split('.');
1560
-
1561
- accessor = function accessor(row) {
1562
- return getBy(row, accessorPath);
1563
- };
1564
- }
1565
-
1566
- if (!id && typeof Header === 'string' && Header) {
1567
- id = Header;
1568
- }
1569
-
1570
- if (!id && column.columns) {
1571
- console.error(column);
1572
- throw new Error('A column ID (or unique "Header" value) is required!');
1573
- }
1574
-
1575
- if (!id) {
1576
- console.error(column);
1577
- throw new Error('A column ID (or string accessor) is required!');
1578
- }
1579
-
1580
- Object.assign(column, {
1581
- id: id,
1582
- accessor: accessor
1583
- });
1584
- return column;
1585
- }
1586
- function decorateColumn(column, userDefaultColumn) {
1587
- if (!userDefaultColumn) {
1588
- throw new Error();
1589
- }
1590
-
1591
- Object.assign(column, _extends({
1592
- // Make sure there is a fallback header, just in case
1593
- Header: emptyRenderer,
1594
- Footer: emptyRenderer
1595
- }, defaultColumn, {}, userDefaultColumn, {}, column));
1596
- Object.assign(column, {
1597
- originalWidth: column.width
1598
- });
1599
- return column;
1600
- } // Build the header groups from the bottom up
1601
-
1602
- function makeHeaderGroups(allColumns, defaultColumn, additionalHeaderProperties) {
1603
- if (additionalHeaderProperties === void 0) {
1604
- additionalHeaderProperties = function additionalHeaderProperties() {
1605
- return {};
1606
- };
1607
- }
1608
-
1609
- var headerGroups = [];
1610
- var scanColumns = allColumns;
1611
- var uid = 0;
1612
-
1613
- var getUID = function getUID() {
1614
- return uid++;
1615
- };
1616
-
1617
- var _loop = function _loop() {
1618
- // The header group we are creating
1619
- var headerGroup = {
1620
- headers: []
1621
- }; // The parent columns we're going to scan next
1622
-
1623
- var parentColumns = [];
1624
- var hasParents = scanColumns.some(function (d) {
1625
- return d.parent;
1626
- }); // Scan each column for parents
1627
-
1628
- scanColumns.forEach(function (column) {
1629
- // What is the latest (last) parent column?
1630
- var latestParentColumn = [].concat(parentColumns).reverse()[0];
1631
- var newParent;
1632
-
1633
- if (hasParents) {
1634
- // If the column has a parent, add it if necessary
1635
- if (column.parent) {
1636
- newParent = _extends({}, column.parent, {
1637
- originalId: column.parent.id,
1638
- id: column.parent.id + "_" + getUID(),
1639
- headers: [column]
1640
- }, additionalHeaderProperties(column));
1641
- } else {
1642
- // If other columns have parents, we'll need to add a place holder if necessary
1643
- var originalId = column.id + "_placeholder";
1644
- newParent = decorateColumn(_extends({
1645
- originalId: originalId,
1646
- id: column.id + "_placeholder_" + getUID(),
1647
- placeholderOf: column,
1648
- headers: [column]
1649
- }, additionalHeaderProperties(column)), defaultColumn);
1650
- } // If the resulting parent columns are the same, just add
1651
- // the column and increment the header span
1652
-
1653
-
1654
- if (latestParentColumn && latestParentColumn.originalId === newParent.originalId) {
1655
- latestParentColumn.headers.push(column);
1656
- } else {
1657
- parentColumns.push(newParent);
1658
- }
1659
- }
1660
-
1661
- headerGroup.headers.push(column);
1662
- });
1663
- headerGroups.push(headerGroup); // Start scanning the parent columns
1664
-
1665
- scanColumns = parentColumns;
1666
- };
1667
-
1668
- while (scanColumns.length) {
1669
- _loop();
1670
- }
1671
-
1672
- return headerGroups.reverse();
1673
- }
1674
- var pathObjCache = new Map();
1675
- function getBy(obj, path, def) {
1676
- if (!path) {
1677
- return obj;
1678
- }
1679
-
1680
- var cacheKey = typeof path === 'function' ? path : JSON.stringify(path);
1681
-
1682
- var pathObj = pathObjCache.get(cacheKey) || function () {
1683
- var pathObj = makePathArray(path);
1684
- pathObjCache.set(cacheKey, pathObj);
1685
- return pathObj;
1686
- }();
1687
-
1688
- var val;
1689
-
1690
- try {
1691
- val = pathObj.reduce(function (cursor, pathPart) {
1692
- return cursor[pathPart];
1693
- }, obj);
1694
- } catch (e) {// continue regardless of error
1695
- }
1696
-
1697
- return typeof val !== 'undefined' ? val : def;
1698
- }
1699
- function getFirstDefined() {
1700
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1701
- args[_key] = arguments[_key];
1702
- }
1703
-
1704
- for (var i = 0; i < args.length; i += 1) {
1705
- if (typeof args[i] !== 'undefined') {
1706
- return args[i];
1707
- }
1708
- }
1709
- }
1710
- function isFunction(a) {
1711
- if (typeof a === 'function') {
1712
- return a;
1713
- }
1714
- }
1715
- function flattenBy(arr, key) {
1716
- var flat = [];
1717
-
1718
- var recurse = function recurse(arr) {
1719
- arr.forEach(function (d) {
1720
- if (!d[key]) {
1721
- flat.push(d);
1722
- } else {
1723
- recurse(d[key]);
1724
- }
1725
- });
1726
- };
1727
-
1728
- recurse(arr);
1729
- return flat;
1730
- }
1731
- function expandRows(rows, _ref) {
1732
- var manualExpandedKey = _ref.manualExpandedKey,
1733
- expanded = _ref.expanded,
1734
- _ref$expandSubRows = _ref.expandSubRows,
1735
- expandSubRows = _ref$expandSubRows === void 0 ? true : _ref$expandSubRows;
1736
- var expandedRows = [];
1737
-
1738
- var handleRow = function handleRow(row, addToExpandedRows) {
1739
- if (addToExpandedRows === void 0) {
1740
- addToExpandedRows = true;
1741
- }
1742
-
1743
- row.isExpanded = row.original && row.original[manualExpandedKey] || expanded[row.id];
1744
- row.canExpand = row.subRows && !!row.subRows.length;
1745
-
1746
- if (addToExpandedRows) {
1747
- expandedRows.push(row);
1748
- }
1749
-
1750
- if (row.subRows && row.subRows.length && row.isExpanded) {
1751
- row.subRows.forEach(function (row) {
1752
- return handleRow(row, expandSubRows);
1753
- });
1754
- }
1755
- };
1756
-
1757
- rows.forEach(function (row) {
1758
- return handleRow(row);
1759
- });
1760
- return expandedRows;
1761
- }
1762
- function getFilterMethod(filter, userFilterTypes, filterTypes) {
1763
- return isFunction(filter) || userFilterTypes[filter] || filterTypes[filter] || filterTypes.text;
1764
- }
1765
- function shouldAutoRemoveFilter(autoRemove, value, column) {
1766
- return autoRemove ? autoRemove(value, column) : typeof value === 'undefined';
1767
- }
1768
- function unpreparedAccessWarning() {
1769
- throw new Error('React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.');
1770
- }
1771
- var passiveSupported = null;
1772
- function passiveEventSupported() {
1773
- // memoize support to avoid adding multiple test events
1774
- if (typeof passiveSupported === 'boolean') return passiveSupported;
1775
- var supported = false;
1776
-
1777
- try {
1778
- var options = {
1779
- get passive() {
1780
- supported = true;
1781
- return false;
1782
- }
1783
-
1784
- };
1785
- window.addEventListener('test', null, options);
1786
- window.removeEventListener('test', null, options);
1787
- } catch (err) {
1788
- supported = false;
1789
- }
1790
-
1791
- passiveSupported = supported;
1792
- return passiveSupported;
1793
- } //
1794
-
1795
- var reOpenBracket = /\[/g;
1796
- var reCloseBracket = /\]/g;
1797
-
1798
- function makePathArray(obj) {
1799
- return flattenDeep(obj) // remove all periods in parts
1800
- .map(function (d) {
1801
- return String(d).replace('.', '_');
1802
- }) // join parts using period
1803
- .join('.') // replace brackets with periods
1804
- .replace(reOpenBracket, '.').replace(reCloseBracket, '') // split it back out on periods
1805
- .split('.');
1806
- }
1807
-
1808
- function flattenDeep(arr, newArr) {
1809
- if (newArr === void 0) {
1810
- newArr = [];
1811
- }
1812
-
1813
- if (!Array.isArray(arr)) {
1814
- newArr.push(arr);
1815
- } else {
1816
- for (var i = 0; i < arr.length; i += 1) {
1817
- flattenDeep(arr[i], newArr);
1818
- }
1819
- }
1820
-
1821
- return newArr;
1822
- }
1823
-
1824
- var defaultGetTableProps = function defaultGetTableProps(props) {
1825
- return _extends({
1826
- role: 'table'
1827
- }, props);
1828
- };
1829
-
1830
- var defaultGetTableBodyProps = function defaultGetTableBodyProps(props) {
1831
- return _extends({
1832
- role: 'rowgroup'
1833
- }, props);
1834
- };
1835
-
1836
- var defaultGetHeaderProps = function defaultGetHeaderProps(props, _ref) {
1837
- var column = _ref.column;
1838
- return _extends({
1839
- key: "header_" + column.id,
1840
- colSpan: column.totalVisibleHeaderCount,
1841
- role: 'columnheader'
1842
- }, props);
1843
- };
1844
-
1845
- var defaultGetFooterProps = function defaultGetFooterProps(props, _ref2) {
1846
- var column = _ref2.column;
1847
- return _extends({
1848
- key: "footer_" + column.id,
1849
- colSpan: column.totalVisibleHeaderCount
1850
- }, props);
1851
- };
1852
-
1853
- var defaultGetHeaderGroupProps = function defaultGetHeaderGroupProps(props, _ref3) {
1854
- var index = _ref3.index;
1855
- return _extends({
1856
- key: "headerGroup_" + index,
1857
- role: 'row'
1858
- }, props);
1859
- };
1860
-
1861
- var defaultGetFooterGroupProps = function defaultGetFooterGroupProps(props, _ref4) {
1862
- var index = _ref4.index;
1863
- return _extends({
1864
- key: "footerGroup_" + index
1865
- }, props);
1866
- };
1867
-
1868
- var defaultGetRowProps = function defaultGetRowProps(props, _ref5) {
1869
- var row = _ref5.row;
1870
- return _extends({
1871
- key: "row_" + row.id,
1872
- role: 'row'
1873
- }, props);
1874
- };
1875
-
1876
- var defaultGetCellProps = function defaultGetCellProps(props, _ref6) {
1877
- var cell = _ref6.cell;
1878
- return _extends({
1879
- key: "cell_" + cell.row.id + "_" + cell.column.id,
1880
- role: 'cell'
1881
- }, props);
1882
- };
1883
-
1884
- function makeDefaultPluginHooks() {
1885
- return {
1886
- useOptions: [],
1887
- stateReducers: [],
1888
- useControlledState: [],
1889
- columns: [],
1890
- columnsDeps: [],
1891
- allColumns: [],
1892
- allColumnsDeps: [],
1893
- accessValue: [],
1894
- materializedColumns: [],
1895
- materializedColumnsDeps: [],
1896
- useInstanceAfterData: [],
1897
- visibleColumns: [],
1898
- visibleColumnsDeps: [],
1899
- headerGroups: [],
1900
- headerGroupsDeps: [],
1901
- useInstanceBeforeDimensions: [],
1902
- useInstance: [],
1903
- prepareRow: [],
1904
- getTableProps: [defaultGetTableProps],
1905
- getTableBodyProps: [defaultGetTableBodyProps],
1906
- getHeaderGroupProps: [defaultGetHeaderGroupProps],
1907
- getFooterGroupProps: [defaultGetFooterGroupProps],
1908
- getHeaderProps: [defaultGetHeaderProps],
1909
- getFooterProps: [defaultGetFooterProps],
1910
- getRowProps: [defaultGetRowProps],
1911
- getCellProps: [defaultGetCellProps],
1912
- useFinalInstance: []
1913
- };
1914
- }
1915
-
1916
- actions.resetHiddenColumns = 'resetHiddenColumns';
1917
- actions.toggleHideColumn = 'toggleHideColumn';
1918
- actions.setHiddenColumns = 'setHiddenColumns';
1919
- actions.toggleHideAllColumns = 'toggleHideAllColumns';
1920
- var useColumnVisibility = function useColumnVisibility(hooks) {
1921
- hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps];
1922
- hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps];
1923
- hooks.stateReducers.push(reducer);
1924
- hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions);
1925
- hooks.headerGroupsDeps.push(function (deps, _ref) {
1926
- var instance = _ref.instance;
1927
- return [].concat(deps, [instance.state.hiddenColumns]);
1928
- });
1929
- hooks.useInstance.push(useInstance);
1930
- };
1931
- useColumnVisibility.pluginName = 'useColumnVisibility';
1932
-
1933
- var defaultGetToggleHiddenProps = function defaultGetToggleHiddenProps(props, _ref2) {
1934
- var column = _ref2.column;
1935
- return [props, {
1936
- onChange: function onChange(e) {
1937
- column.toggleHidden(!e.target.checked);
1938
- },
1939
- style: {
1940
- cursor: 'pointer'
1941
- },
1942
- checked: column.isVisible,
1943
- title: 'Toggle Column Visible'
1944
- }];
1945
- };
1946
-
1947
- var defaultGetToggleHideAllColumnsProps = function defaultGetToggleHideAllColumnsProps(props, _ref3) {
1948
- var instance = _ref3.instance;
1949
- return [props, {
1950
- onChange: function onChange(e) {
1951
- instance.toggleHideAllColumns(!e.target.checked);
1952
- },
1953
- style: {
1954
- cursor: 'pointer'
1955
- },
1956
- checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,
1957
- title: 'Toggle All Columns Hidden',
1958
- indeterminate: !instance.allColumnsHidden && instance.state.hiddenColumns.length
1959
- }];
1960
- };
1961
-
1962
- function reducer(state, action, previousState, instance) {
1963
- if (action.type === actions.init) {
1964
- return _extends({
1965
- hiddenColumns: []
1966
- }, state);
1967
- }
1968
-
1969
- if (action.type === actions.resetHiddenColumns) {
1970
- return _extends({}, state, {
1971
- hiddenColumns: instance.initialState.hiddenColumns || []
1972
- });
1973
- }
1974
-
1975
- if (action.type === actions.toggleHideColumn) {
1976
- var should = typeof action.value !== 'undefined' ? action.value : !state.hiddenColumns.includes(action.columnId);
1977
- var hiddenColumns = should ? [].concat(state.hiddenColumns, [action.columnId]) : state.hiddenColumns.filter(function (d) {
1978
- return d !== action.columnId;
1979
- });
1980
- return _extends({}, state, {
1981
- hiddenColumns: hiddenColumns
1982
- });
1983
- }
1984
-
1985
- if (action.type === actions.setHiddenColumns) {
1986
- return _extends({}, state, {
1987
- hiddenColumns: functionalUpdate(action.value, state.hiddenColumns)
1988
- });
1989
- }
1990
-
1991
- if (action.type === actions.toggleHideAllColumns) {
1992
- var shouldAll = typeof action.value !== 'undefined' ? action.value : !state.hiddenColumns.length;
1993
- return _extends({}, state, {
1994
- hiddenColumns: shouldAll ? instance.allColumns.map(function (d) {
1995
- return d.id;
1996
- }) : []
1997
- });
1998
- }
1999
- }
2000
-
2001
- function useInstanceBeforeDimensions(instance) {
2002
- var headers = instance.headers,
2003
- hiddenColumns = instance.state.hiddenColumns;
2004
- var isMountedRef = React.useRef(false);
2005
-
2006
- if (!isMountedRef.current) ;
2007
-
2008
- var handleColumn = function handleColumn(column, parentVisible) {
2009
- column.isVisible = parentVisible && !hiddenColumns.includes(column.id);
2010
- var totalVisibleHeaderCount = 0;
2011
-
2012
- if (column.headers && column.headers.length) {
2013
- column.headers.forEach(function (subColumn) {
2014
- return totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible);
2015
- });
2016
- } else {
2017
- totalVisibleHeaderCount = column.isVisible ? 1 : 0;
2018
- }
2019
-
2020
- column.totalVisibleHeaderCount = totalVisibleHeaderCount;
2021
- return totalVisibleHeaderCount;
2022
- };
2023
-
2024
- var totalVisibleHeaderCount = 0;
2025
- headers.forEach(function (subHeader) {
2026
- return totalVisibleHeaderCount += handleColumn(subHeader, true);
2027
- });
2028
- }
2029
-
2030
- function useInstance(instance) {
2031
- var columns = instance.columns,
2032
- flatHeaders = instance.flatHeaders,
2033
- dispatch = instance.dispatch,
2034
- allColumns = instance.allColumns,
2035
- getHooks = instance.getHooks,
2036
- hiddenColumns = instance.state.hiddenColumns,
2037
- _instance$autoResetHi = instance.autoResetHiddenColumns,
2038
- autoResetHiddenColumns = _instance$autoResetHi === void 0 ? true : _instance$autoResetHi;
2039
- var getInstance = useGetLatest(instance);
2040
- var allColumnsHidden = allColumns.length === hiddenColumns.length;
2041
- var toggleHideColumn = React.useCallback(function (columnId, value) {
2042
- return dispatch({
2043
- type: actions.toggleHideColumn,
2044
- columnId: columnId,
2045
- value: value
2046
- });
2047
- }, [dispatch]);
2048
- var setHiddenColumns = React.useCallback(function (value) {
2049
- return dispatch({
2050
- type: actions.setHiddenColumns,
2051
- value: value
2052
- });
2053
- }, [dispatch]);
2054
- var toggleHideAllColumns = React.useCallback(function (value) {
2055
- return dispatch({
2056
- type: actions.toggleHideAllColumns,
2057
- value: value
2058
- });
2059
- }, [dispatch]);
2060
- var getToggleHideAllColumnsProps = makePropGetter(getHooks().getToggleHideAllColumnsProps, {
2061
- instance: getInstance()
2062
- });
2063
- flatHeaders.forEach(function (column) {
2064
- column.toggleHidden = function (value) {
2065
- dispatch({
2066
- type: actions.toggleHideColumn,
2067
- columnId: column.id,
2068
- value: value
2069
- });
2070
- };
2071
-
2072
- column.getToggleHiddenProps = makePropGetter(getHooks().getToggleHiddenProps, {
2073
- instance: getInstance(),
2074
- column: column
2075
- });
2076
- });
2077
- var getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns);
2078
- useMountedLayoutEffect(function () {
2079
- if (getAutoResetHiddenColumns()) {
2080
- dispatch({
2081
- type: actions.resetHiddenColumns
2082
- });
2083
- }
2084
- }, [dispatch, columns]);
2085
- Object.assign(instance, {
2086
- allColumnsHidden: allColumnsHidden,
2087
- toggleHideColumn: toggleHideColumn,
2088
- setHiddenColumns: setHiddenColumns,
2089
- toggleHideAllColumns: toggleHideAllColumns,
2090
- getToggleHideAllColumnsProps: getToggleHideAllColumnsProps
2091
- });
2092
- }
2093
-
2094
- var defaultInitialState = {};
2095
- var defaultColumnInstance = {};
2096
-
2097
- var defaultReducer = function defaultReducer(state, action, prevState) {
2098
- return state;
2099
- };
2100
-
2101
- var defaultGetSubRows = function defaultGetSubRows(row, index) {
2102
- return row.subRows || [];
2103
- };
2104
-
2105
- var defaultGetRowId = function defaultGetRowId(row, index, parent) {
2106
- return "" + (parent ? [parent.id, index].join('.') : index);
2107
- };
2108
-
2109
- var defaultUseControlledState = function defaultUseControlledState(d) {
2110
- return d;
2111
- };
2112
-
2113
- function applyDefaults(props) {
2114
- var _props$initialState = props.initialState,
2115
- initialState = _props$initialState === void 0 ? defaultInitialState : _props$initialState,
2116
- _props$defaultColumn = props.defaultColumn,
2117
- defaultColumn = _props$defaultColumn === void 0 ? defaultColumnInstance : _props$defaultColumn,
2118
- _props$getSubRows = props.getSubRows,
2119
- getSubRows = _props$getSubRows === void 0 ? defaultGetSubRows : _props$getSubRows,
2120
- _props$getRowId = props.getRowId,
2121
- getRowId = _props$getRowId === void 0 ? defaultGetRowId : _props$getRowId,
2122
- _props$stateReducer = props.stateReducer,
2123
- stateReducer = _props$stateReducer === void 0 ? defaultReducer : _props$stateReducer,
2124
- _props$useControlledS = props.useControlledState,
2125
- useControlledState = _props$useControlledS === void 0 ? defaultUseControlledState : _props$useControlledS,
2126
- rest = _objectWithoutPropertiesLoose(props, ["initialState", "defaultColumn", "getSubRows", "getRowId", "stateReducer", "useControlledState"]);
2127
-
2128
- return _extends({}, rest, {
2129
- initialState: initialState,
2130
- defaultColumn: defaultColumn,
2131
- getSubRows: getSubRows,
2132
- getRowId: getRowId,
2133
- stateReducer: stateReducer,
2134
- useControlledState: useControlledState
2135
- });
2136
- }
2137
-
2138
- var useTable = function useTable(props) {
2139
- for (var _len = arguments.length, plugins = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
2140
- plugins[_key - 1] = arguments[_key];
2141
- }
2142
-
2143
- // Apply default props
2144
- props = applyDefaults(props); // Add core plugins
2145
-
2146
- plugins = [useColumnVisibility].concat(plugins); // Create the table instance
2147
-
2148
- var instanceRef = React.useRef({}); // Create a getter for the instance (helps avoid a lot of potential memory leaks)
2149
-
2150
- var getInstance = useGetLatest(instanceRef.current); // Assign the props, plugins and hooks to the instance
2151
-
2152
- Object.assign(getInstance(), _extends({}, props, {
2153
- plugins: plugins,
2154
- hooks: makeDefaultPluginHooks()
2155
- })); // Allow plugins to register hooks as early as possible
2156
-
2157
- plugins.filter(Boolean).forEach(function (plugin) {
2158
- plugin(getInstance().hooks);
2159
- }); // Consume all hooks and make a getter for them
2160
-
2161
- var getHooks = useGetLatest(getInstance().hooks);
2162
- getInstance().getHooks = getHooks;
2163
- delete getInstance().hooks; // Allow useOptions hooks to modify the options coming into the table
2164
-
2165
- Object.assign(getInstance(), reduceHooks(getHooks().useOptions, applyDefaults(props)));
2166
-
2167
- var _getInstance = getInstance(),
2168
- data = _getInstance.data,
2169
- userColumns = _getInstance.columns,
2170
- initialState = _getInstance.initialState,
2171
- defaultColumn = _getInstance.defaultColumn,
2172
- getSubRows = _getInstance.getSubRows,
2173
- getRowId = _getInstance.getRowId,
2174
- stateReducer = _getInstance.stateReducer,
2175
- useControlledState = _getInstance.useControlledState; // Setup user reducer ref
2176
-
2177
-
2178
- var getStateReducer = useGetLatest(stateReducer); // Build the reducer
2179
-
2180
- var reducer = React.useCallback(function (state, action) {
2181
- // Detect invalid actions
2182
- if (!action.type) {
2183
- console.info({
2184
- action: action
2185
- });
2186
- throw new Error('Unknown Action 👆');
2187
- } // Reduce the state from all plugin reducers
2188
-
2189
-
2190
- return [].concat(getHooks().stateReducers, Array.isArray(getStateReducer()) ? getStateReducer() : [getStateReducer()]).reduce(function (s, handler) {
2191
- return handler(s, action, state, getInstance()) || s;
2192
- }, state);
2193
- }, [getHooks, getStateReducer, getInstance]); // Start the reducer
2194
-
2195
- var _React$useReducer = React.useReducer(reducer, undefined, function () {
2196
- return reducer(initialState, {
2197
- type: actions.init
2198
- });
2199
- }),
2200
- reducerState = _React$useReducer[0],
2201
- dispatch = _React$useReducer[1]; // Allow the user to control the final state with hooks
2202
-
2203
-
2204
- var state = reduceHooks([].concat(getHooks().useControlledState, [useControlledState]), reducerState, {
2205
- instance: getInstance()
2206
- });
2207
- Object.assign(getInstance(), {
2208
- state: state,
2209
- dispatch: dispatch
2210
- }); // Decorate All the columns
2211
-
2212
- var columns = React.useMemo(function () {
2213
- return linkColumnStructure(reduceHooks(getHooks().columns, userColumns, {
2214
- instance: getInstance()
2215
- }));
2216
- }, [getHooks, getInstance, userColumns].concat(reduceHooks(getHooks().columnsDeps, [], {
2217
- instance: getInstance()
2218
- })));
2219
- getInstance().columns = columns; // Get the flat list of all columns and allow hooks to decorate
2220
- // those columns (and trigger this memoization via deps)
2221
-
2222
- var allColumns = React.useMemo(function () {
2223
- return reduceHooks(getHooks().allColumns, flattenColumns(columns), {
2224
- instance: getInstance()
2225
- }).map(assignColumnAccessor);
2226
- }, [columns, getHooks, getInstance].concat(reduceHooks(getHooks().allColumnsDeps, [], {
2227
- instance: getInstance()
2228
- })));
2229
- getInstance().allColumns = allColumns; // Access the row model using initial columns
2230
-
2231
- var _React$useMemo = React.useMemo(function () {
2232
- var rows = [];
2233
- var flatRows = [];
2234
- var rowsById = {};
2235
- var allColumnsQueue = [].concat(allColumns);
2236
-
2237
- while (allColumnsQueue.length) {
2238
- var column = allColumnsQueue.shift();
2239
- accessRowsForColumn({
2240
- data: data,
2241
- rows: rows,
2242
- flatRows: flatRows,
2243
- rowsById: rowsById,
2244
- column: column,
2245
- getRowId: getRowId,
2246
- getSubRows: getSubRows,
2247
- accessValueHooks: getHooks().accessValue,
2248
- getInstance: getInstance
2249
- });
2250
- }
2251
-
2252
- return [rows, flatRows, rowsById];
2253
- }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance]),
2254
- rows = _React$useMemo[0],
2255
- flatRows = _React$useMemo[1],
2256
- rowsById = _React$useMemo[2];
2257
-
2258
- Object.assign(getInstance(), {
2259
- rows: rows,
2260
- initialRows: [].concat(rows),
2261
- flatRows: flatRows,
2262
- rowsById: rowsById // materializedColumns,
2263
-
2264
- });
2265
- loopHooks(getHooks().useInstanceAfterData, getInstance()); // Get the flat list of all columns AFTER the rows
2266
- // have been access, and allow hooks to decorate
2267
- // those columns (and trigger this memoization via deps)
2268
-
2269
- var visibleColumns = React.useMemo(function () {
2270
- return reduceHooks(getHooks().visibleColumns, allColumns, {
2271
- instance: getInstance()
2272
- }).map(function (d) {
2273
- return decorateColumn(d, defaultColumn);
2274
- });
2275
- }, [getHooks, allColumns, getInstance, defaultColumn].concat(reduceHooks(getHooks().visibleColumnsDeps, [], {
2276
- instance: getInstance()
2277
- }))); // Combine new visible columns with all columns
2278
-
2279
- allColumns = React.useMemo(function () {
2280
- var columns = [].concat(visibleColumns);
2281
- allColumns.forEach(function (column) {
2282
- if (!columns.find(function (d) {
2283
- return d.id === column.id;
2284
- })) {
2285
- columns.push(column);
2286
- }
2287
- });
2288
- return columns;
2289
- }, [allColumns, visibleColumns]);
2290
- getInstance().allColumns = allColumns;
2291
-
2292
- {
2293
- var duplicateColumns = allColumns.filter(function (column, i) {
2294
- return allColumns.findIndex(function (d) {
2295
- return d.id === column.id;
2296
- }) !== i;
2297
- });
2298
-
2299
- if (duplicateColumns.length) {
2300
- console.info(allColumns);
2301
- throw new Error("Duplicate columns were found with ids: \"" + duplicateColumns.map(function (d) {
2302
- return d.id;
2303
- }).join(', ') + "\" in the columns array above");
2304
- }
2305
- } // Make the headerGroups
2306
-
2307
-
2308
- var headerGroups = React.useMemo(function () {
2309
- return reduceHooks(getHooks().headerGroups, makeHeaderGroups(visibleColumns, defaultColumn), getInstance());
2310
- }, [getHooks, visibleColumns, defaultColumn, getInstance].concat(reduceHooks(getHooks().headerGroupsDeps, [], {
2311
- instance: getInstance()
2312
- })));
2313
- getInstance().headerGroups = headerGroups; // Get the first level of headers
2314
-
2315
- var headers = React.useMemo(function () {
2316
- return headerGroups.length ? headerGroups[0].headers : [];
2317
- }, [headerGroups]);
2318
- getInstance().headers = headers; // Provide a flat header list for utilities
2319
-
2320
- getInstance().flatHeaders = headerGroups.reduce(function (all, headerGroup) {
2321
- return [].concat(all, headerGroup.headers);
2322
- }, []);
2323
- loopHooks(getHooks().useInstanceBeforeDimensions, getInstance()); // Filter columns down to visible ones
2324
-
2325
- var visibleColumnsDep = visibleColumns.filter(function (d) {
2326
- return d.isVisible;
2327
- }).map(function (d) {
2328
- return d.id;
2329
- }).sort().join('_');
2330
- visibleColumns = React.useMemo(function () {
2331
- return visibleColumns.filter(function (d) {
2332
- return d.isVisible;
2333
- });
2334
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
2335
- [visibleColumns, visibleColumnsDep]);
2336
- getInstance().visibleColumns = visibleColumns; // Header Visibility is needed by this point
2337
-
2338
- var _calculateHeaderWidth = calculateHeaderWidths(headers),
2339
- totalColumnsMinWidth = _calculateHeaderWidth[0],
2340
- totalColumnsWidth = _calculateHeaderWidth[1],
2341
- totalColumnsMaxWidth = _calculateHeaderWidth[2];
2342
-
2343
- getInstance().totalColumnsMinWidth = totalColumnsMinWidth;
2344
- getInstance().totalColumnsWidth = totalColumnsWidth;
2345
- getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth;
2346
- loopHooks(getHooks().useInstance, getInstance()) // Each materialized header needs to be assigned a render function and other
2347
- // prop getter properties here.
2348
- ;
2349
- [].concat(getInstance().flatHeaders, getInstance().allColumns).forEach(function (column) {
2350
- // Give columns/headers rendering power
2351
- column.render = makeRenderer(getInstance(), column); // Give columns/headers a default getHeaderProps
2352
-
2353
- column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {
2354
- instance: getInstance(),
2355
- column: column
2356
- }); // Give columns/headers a default getFooterProps
2357
-
2358
- column.getFooterProps = makePropGetter(getHooks().getFooterProps, {
2359
- instance: getInstance(),
2360
- column: column
2361
- });
2362
- });
2363
- getInstance().headerGroups = React.useMemo(function () {
2364
- return headerGroups.filter(function (headerGroup, i) {
2365
- // Filter out any headers and headerGroups that don't have visible columns
2366
- headerGroup.headers = headerGroup.headers.filter(function (column) {
2367
- var recurse = function recurse(headers) {
2368
- return headers.filter(function (column) {
2369
- if (column.headers) {
2370
- return recurse(column.headers);
2371
- }
2372
-
2373
- return column.isVisible;
2374
- }).length;
2375
- };
2376
-
2377
- if (column.headers) {
2378
- return recurse(column.headers);
2379
- }
2380
-
2381
- return column.isVisible;
2382
- }); // Give headerGroups getRowProps
2383
-
2384
- if (headerGroup.headers.length) {
2385
- headerGroup.getHeaderGroupProps = makePropGetter(getHooks().getHeaderGroupProps, {
2386
- instance: getInstance(),
2387
- headerGroup: headerGroup,
2388
- index: i
2389
- });
2390
- headerGroup.getFooterGroupProps = makePropGetter(getHooks().getFooterGroupProps, {
2391
- instance: getInstance(),
2392
- headerGroup: headerGroup,
2393
- index: i
2394
- });
2395
- return true;
2396
- }
2397
-
2398
- return false;
2399
- });
2400
- }, [headerGroups, getInstance, getHooks]);
2401
- getInstance().footerGroups = [].concat(getInstance().headerGroups).reverse(); // The prepareRow function is absolutely necessary and MUST be called on
2402
- // any rows the user wishes to be displayed.
2403
-
2404
- getInstance().prepareRow = React.useCallback(function (row) {
2405
- row.getRowProps = makePropGetter(getHooks().getRowProps, {
2406
- instance: getInstance(),
2407
- row: row
2408
- }); // Build the visible cells for each row
2409
-
2410
- row.allCells = allColumns.map(function (column) {
2411
- var value = row.values[column.id];
2412
- var cell = {
2413
- column: column,
2414
- row: row,
2415
- value: value
2416
- }; // Give each cell a getCellProps base
2417
-
2418
- cell.getCellProps = makePropGetter(getHooks().getCellProps, {
2419
- instance: getInstance(),
2420
- cell: cell
2421
- }); // Give each cell a renderer function (supports multiple renderers)
2422
-
2423
- cell.render = makeRenderer(getInstance(), column, {
2424
- row: row,
2425
- cell: cell,
2426
- value: value
2427
- });
2428
- return cell;
2429
- });
2430
- row.cells = visibleColumns.map(function (column) {
2431
- return row.allCells.find(function (cell) {
2432
- return cell.column.id === column.id;
2433
- });
2434
- }); // need to apply any row specific hooks (useExpanded requires this)
2435
-
2436
- loopHooks(getHooks().prepareRow, row, {
2437
- instance: getInstance()
2438
- });
2439
- }, [getHooks, getInstance, allColumns, visibleColumns]);
2440
- getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {
2441
- instance: getInstance()
2442
- });
2443
- getInstance().getTableBodyProps = makePropGetter(getHooks().getTableBodyProps, {
2444
- instance: getInstance()
2445
- });
2446
- loopHooks(getHooks().useFinalInstance, getInstance());
2447
- return getInstance();
2448
- };
2449
-
2450
- function calculateHeaderWidths(headers, left) {
2451
- if (left === void 0) {
2452
- left = 0;
2453
- }
2454
-
2455
- var sumTotalMinWidth = 0;
2456
- var sumTotalWidth = 0;
2457
- var sumTotalMaxWidth = 0;
2458
- var sumTotalFlexWidth = 0;
2459
- headers.forEach(function (header) {
2460
- var subHeaders = header.headers;
2461
- header.totalLeft = left;
2462
-
2463
- if (subHeaders && subHeaders.length) {
2464
- var _calculateHeaderWidth2 = calculateHeaderWidths(subHeaders, left),
2465
- totalMinWidth = _calculateHeaderWidth2[0],
2466
- totalWidth = _calculateHeaderWidth2[1],
2467
- totalMaxWidth = _calculateHeaderWidth2[2],
2468
- totalFlexWidth = _calculateHeaderWidth2[3];
2469
-
2470
- header.totalMinWidth = totalMinWidth;
2471
- header.totalWidth = totalWidth;
2472
- header.totalMaxWidth = totalMaxWidth;
2473
- header.totalFlexWidth = totalFlexWidth;
2474
- } else {
2475
- header.totalMinWidth = header.minWidth;
2476
- header.totalWidth = Math.min(Math.max(header.minWidth, header.width), header.maxWidth);
2477
- header.totalMaxWidth = header.maxWidth;
2478
- header.totalFlexWidth = header.canResize ? header.totalWidth : 0;
2479
- }
2480
-
2481
- if (header.isVisible) {
2482
- left += header.totalWidth;
2483
- sumTotalMinWidth += header.totalMinWidth;
2484
- sumTotalWidth += header.totalWidth;
2485
- sumTotalMaxWidth += header.totalMaxWidth;
2486
- sumTotalFlexWidth += header.totalFlexWidth;
2487
- }
2488
- });
2489
- return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth];
2490
- }
2491
-
2492
- function accessRowsForColumn(_ref) {
2493
- var data = _ref.data,
2494
- rows = _ref.rows,
2495
- flatRows = _ref.flatRows,
2496
- rowsById = _ref.rowsById,
2497
- column = _ref.column,
2498
- getRowId = _ref.getRowId,
2499
- getSubRows = _ref.getSubRows,
2500
- accessValueHooks = _ref.accessValueHooks,
2501
- getInstance = _ref.getInstance;
2502
-
2503
- // Access the row's data column-by-column
2504
- // We do it this way so we can incrementally add materialized
2505
- // columns after the first pass and avoid excessive looping
2506
- var accessRow = function accessRow(originalRow, rowIndex, depth, parent, parentRows) {
2507
- if (depth === void 0) {
2508
- depth = 0;
2509
- }
2510
-
2511
- // Keep the original reference around
2512
- var original = originalRow;
2513
- var id = getRowId(originalRow, rowIndex, parent);
2514
- var row = rowsById[id]; // If the row hasn't been created, let's make it
2515
-
2516
- if (!row) {
2517
- row = {
2518
- id: id,
2519
- original: original,
2520
- index: rowIndex,
2521
- depth: depth,
2522
- cells: [{}] // This is a dummy cell
2523
-
2524
- }; // Override common array functions (and the dummy cell's getCellProps function)
2525
- // to show an error if it is accessed without calling prepareRow
2526
-
2527
- row.cells.map = unpreparedAccessWarning;
2528
- row.cells.filter = unpreparedAccessWarning;
2529
- row.cells.forEach = unpreparedAccessWarning;
2530
- row.cells[0].getCellProps = unpreparedAccessWarning; // Create the cells and values
2531
-
2532
- row.values = {}; // Push this row into the parentRows array
2533
-
2534
- parentRows.push(row); // Keep track of every row in a flat array
2535
-
2536
- flatRows.push(row); // Also keep track of every row by its ID
2537
-
2538
- rowsById[id] = row; // Get the original subrows
2539
-
2540
- row.originalSubRows = getSubRows(originalRow, rowIndex); // Then recursively access them
2541
-
2542
- if (row.originalSubRows) {
2543
- var subRows = [];
2544
- row.originalSubRows.forEach(function (d, i) {
2545
- return accessRow(d, i, depth + 1, row, subRows);
2546
- }); // Keep the new subRows array on the row
2547
-
2548
- row.subRows = subRows;
2549
- }
2550
- } else if (row.subRows) {
2551
- // If the row exists, then it's already been accessed
2552
- // Keep recursing, but don't worry about passing the
2553
- // accumlator array (those rows already exist)
2554
- row.originalSubRows.forEach(function (d, i) {
2555
- return accessRow(d, i, depth + 1, row);
2556
- });
2557
- } // If the column has an accessor, use it to get a value
2558
-
2559
-
2560
- if (column.accessor) {
2561
- row.values[column.id] = column.accessor(originalRow, rowIndex, row, parentRows, data);
2562
- } // Allow plugins to manipulate the column value
2563
-
2564
-
2565
- row.values[column.id] = reduceHooks(accessValueHooks, row.values[column.id], {
2566
- row: row,
2567
- column: column,
2568
- instance: getInstance()
2569
- }, true);
2570
- };
2571
-
2572
- data.forEach(function (originalRow, rowIndex) {
2573
- return accessRow(originalRow, rowIndex, 0, undefined, rows);
2574
- });
2575
- }
2576
-
2577
- actions.resetExpanded = 'resetExpanded';
2578
- actions.toggleRowExpanded = 'toggleRowExpanded';
2579
- actions.toggleAllRowsExpanded = 'toggleAllRowsExpanded';
2580
- var useExpanded = function useExpanded(hooks) {
2581
- hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps];
2582
- hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps];
2583
- hooks.stateReducers.push(reducer$1);
2584
- hooks.useInstance.push(useInstance$1);
2585
- hooks.prepareRow.push(prepareRow);
2586
- };
2587
- useExpanded.pluginName = 'useExpanded';
2588
-
2589
- var defaultGetToggleAllRowsExpandedProps = function defaultGetToggleAllRowsExpandedProps(props, _ref) {
2590
- var instance = _ref.instance;
2591
- return [props, {
2592
- onClick: function onClick(e) {
2593
- instance.toggleAllRowsExpanded();
2594
- },
2595
- style: {
2596
- cursor: 'pointer'
2597
- },
2598
- title: 'Toggle All Rows Expanded'
2599
- }];
2600
- };
2601
-
2602
- var defaultGetToggleRowExpandedProps = function defaultGetToggleRowExpandedProps(props, _ref2) {
2603
- var row = _ref2.row;
2604
- return [props, {
2605
- onClick: function onClick() {
2606
- row.toggleRowExpanded();
2607
- },
2608
- style: {
2609
- cursor: 'pointer'
2610
- },
2611
- title: 'Toggle Row Expanded'
2612
- }];
2613
- }; // Reducer
2614
-
2615
-
2616
- function reducer$1(state, action, previousState, instance) {
2617
- if (action.type === actions.init) {
2618
- return _extends({
2619
- expanded: {}
2620
- }, state);
2621
- }
2622
-
2623
- if (action.type === actions.resetExpanded) {
2624
- return _extends({}, state, {
2625
- expanded: instance.initialState.expanded || {}
2626
- });
2627
- }
2628
-
2629
- if (action.type === actions.toggleAllRowsExpanded) {
2630
- var value = action.value;
2631
- var isAllRowsExpanded = instance.isAllRowsExpanded,
2632
- rowsById = instance.rowsById;
2633
- var expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded;
2634
-
2635
- if (expandAll) {
2636
- var expanded = {};
2637
- Object.keys(rowsById).forEach(function (rowId) {
2638
- expanded[rowId] = true;
2639
- });
2640
- return _extends({}, state, {
2641
- expanded: expanded
2642
- });
2643
- }
2644
-
2645
- return _extends({}, state, {
2646
- expanded: {}
2647
- });
2648
- }
2649
-
2650
- if (action.type === actions.toggleRowExpanded) {
2651
- var id = action.id,
2652
- setExpanded = action.value;
2653
- var exists = state.expanded[id];
2654
- var shouldExist = typeof setExpanded !== 'undefined' ? setExpanded : !exists;
2655
-
2656
- if (!exists && shouldExist) {
2657
- var _extends2;
2658
-
2659
- return _extends({}, state, {
2660
- expanded: _extends({}, state.expanded, (_extends2 = {}, _extends2[id] = true, _extends2))
2661
- });
2662
- } else if (exists && !shouldExist) {
2663
- var _state$expanded = state.expanded;
2664
- _state$expanded[id];
2665
- var rest = _objectWithoutPropertiesLoose(_state$expanded, [id].map(_toPropertyKey));
2666
-
2667
- return _extends({}, state, {
2668
- expanded: rest
2669
- });
2670
- } else {
2671
- return state;
2672
- }
2673
- }
2674
- }
2675
-
2676
- function useInstance$1(instance) {
2677
- var data = instance.data,
2678
- rows = instance.rows,
2679
- rowsById = instance.rowsById,
2680
- _instance$manualExpan = instance.manualExpandedKey,
2681
- manualExpandedKey = _instance$manualExpan === void 0 ? 'expanded' : _instance$manualExpan,
2682
- _instance$paginateExp = instance.paginateExpandedRows,
2683
- paginateExpandedRows = _instance$paginateExp === void 0 ? true : _instance$paginateExp,
2684
- _instance$expandSubRo = instance.expandSubRows,
2685
- expandSubRows = _instance$expandSubRo === void 0 ? true : _instance$expandSubRo,
2686
- _instance$autoResetEx = instance.autoResetExpanded,
2687
- autoResetExpanded = _instance$autoResetEx === void 0 ? true : _instance$autoResetEx,
2688
- getHooks = instance.getHooks,
2689
- plugins = instance.plugins,
2690
- expanded = instance.state.expanded,
2691
- dispatch = instance.dispatch;
2692
- ensurePluginOrder(plugins, ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'], 'useExpanded');
2693
- var getAutoResetExpanded = useGetLatest(autoResetExpanded);
2694
- var isAllRowsExpanded = Boolean(Object.keys(rowsById).length && Object.keys(expanded).length);
2695
-
2696
- if (isAllRowsExpanded) {
2697
- if (Object.keys(rowsById).some(function (id) {
2698
- return !expanded[id];
2699
- })) {
2700
- isAllRowsExpanded = false;
2701
- }
2702
- } // Bypass any effects from firing when this changes
2703
-
2704
-
2705
- useMountedLayoutEffect(function () {
2706
- if (getAutoResetExpanded()) {
2707
- dispatch({
2708
- type: actions.resetExpanded
2709
- });
2710
- }
2711
- }, [dispatch, data]);
2712
- var toggleRowExpanded = React.useCallback(function (id, value) {
2713
- dispatch({
2714
- type: actions.toggleRowExpanded,
2715
- id: id,
2716
- value: value
2717
- });
2718
- }, [dispatch]);
2719
- var toggleAllRowsExpanded = React.useCallback(function (value) {
2720
- return dispatch({
2721
- type: actions.toggleAllRowsExpanded,
2722
- value: value
2723
- });
2724
- }, [dispatch]);
2725
- var expandedRows = React.useMemo(function () {
2726
- if (paginateExpandedRows) {
2727
- return expandRows(rows, {
2728
- manualExpandedKey: manualExpandedKey,
2729
- expanded: expanded,
2730
- expandSubRows: expandSubRows
2731
- });
2732
- }
2733
-
2734
- return rows;
2735
- }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows]);
2736
- var expandedDepth = React.useMemo(function () {
2737
- return findExpandedDepth(expanded);
2738
- }, [expanded]);
2739
- var getInstance = useGetLatest(instance);
2740
- var getToggleAllRowsExpandedProps = makePropGetter(getHooks().getToggleAllRowsExpandedProps, {
2741
- instance: getInstance()
2742
- });
2743
- Object.assign(instance, {
2744
- preExpandedRows: rows,
2745
- expandedRows: expandedRows,
2746
- rows: expandedRows,
2747
- expandedDepth: expandedDepth,
2748
- isAllRowsExpanded: isAllRowsExpanded,
2749
- toggleRowExpanded: toggleRowExpanded,
2750
- toggleAllRowsExpanded: toggleAllRowsExpanded,
2751
- getToggleAllRowsExpandedProps: getToggleAllRowsExpandedProps
2752
- });
2753
- }
2754
-
2755
- function prepareRow(row, _ref3) {
2756
- var getHooks = _ref3.instance.getHooks,
2757
- instance = _ref3.instance;
2758
-
2759
- row.toggleRowExpanded = function (set) {
2760
- return instance.toggleRowExpanded(row.id, set);
2761
- };
2762
-
2763
- row.getToggleRowExpandedProps = makePropGetter(getHooks().getToggleRowExpandedProps, {
2764
- instance: instance,
2765
- row: row
2766
- });
2767
- }
2768
-
2769
- function findExpandedDepth(expanded) {
2770
- var maxDepth = 0;
2771
- Object.keys(expanded).forEach(function (id) {
2772
- var splitId = id.split('.');
2773
- maxDepth = Math.max(maxDepth, splitId.length);
2774
- });
2775
- return maxDepth;
2776
- }
2777
-
2778
- var text = function text(rows, ids, filterValue) {
2779
- rows = rows.filter(function (row) {
2780
- return ids.some(function (id) {
2781
- var rowValue = row.values[id];
2782
- return String(rowValue).toLowerCase().includes(String(filterValue).toLowerCase());
2783
- });
2784
- });
2785
- return rows;
2786
- };
2787
-
2788
- text.autoRemove = function (val) {
2789
- return !val;
2790
- };
2791
-
2792
- var exactText = function exactText(rows, ids, filterValue) {
2793
- return rows.filter(function (row) {
2794
- return ids.some(function (id) {
2795
- var rowValue = row.values[id];
2796
- return rowValue !== undefined ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase() : true;
2797
- });
2798
- });
2799
- };
2800
-
2801
- exactText.autoRemove = function (val) {
2802
- return !val;
2803
- };
2804
-
2805
- var exactTextCase = function exactTextCase(rows, ids, filterValue) {
2806
- return rows.filter(function (row) {
2807
- return ids.some(function (id) {
2808
- var rowValue = row.values[id];
2809
- return rowValue !== undefined ? String(rowValue) === String(filterValue) : true;
2810
- });
2811
- });
2812
- };
2813
-
2814
- exactTextCase.autoRemove = function (val) {
2815
- return !val;
2816
- };
2817
-
2818
- var includes = function includes(rows, ids, filterValue) {
2819
- return rows.filter(function (row) {
2820
- return ids.some(function (id) {
2821
- var rowValue = row.values[id];
2822
- return rowValue.includes(filterValue);
2823
- });
2824
- });
2825
- };
2826
-
2827
- includes.autoRemove = function (val) {
2828
- return !val || !val.length;
2829
- };
2830
-
2831
- var includesAll = function includesAll(rows, ids, filterValue) {
2832
- return rows.filter(function (row) {
2833
- return ids.some(function (id) {
2834
- var rowValue = row.values[id];
2835
- return rowValue && rowValue.length && filterValue.every(function (val) {
2836
- return rowValue.includes(val);
2837
- });
2838
- });
2839
- });
2840
- };
2841
-
2842
- includesAll.autoRemove = function (val) {
2843
- return !val || !val.length;
2844
- };
2845
-
2846
- var includesSome = function includesSome(rows, ids, filterValue) {
2847
- return rows.filter(function (row) {
2848
- return ids.some(function (id) {
2849
- var rowValue = row.values[id];
2850
- return rowValue && rowValue.length && filterValue.some(function (val) {
2851
- return rowValue.includes(val);
2852
- });
2853
- });
2854
- });
2855
- };
2856
-
2857
- includesSome.autoRemove = function (val) {
2858
- return !val || !val.length;
2859
- };
2860
-
2861
- var includesValue = function includesValue(rows, ids, filterValue) {
2862
- return rows.filter(function (row) {
2863
- return ids.some(function (id) {
2864
- var rowValue = row.values[id];
2865
- return filterValue.includes(rowValue);
2866
- });
2867
- });
2868
- };
2869
-
2870
- includesValue.autoRemove = function (val) {
2871
- return !val || !val.length;
2872
- };
2873
-
2874
- var exact = function exact(rows, ids, filterValue) {
2875
- return rows.filter(function (row) {
2876
- return ids.some(function (id) {
2877
- var rowValue = row.values[id];
2878
- return rowValue === filterValue;
2879
- });
2880
- });
2881
- };
2882
-
2883
- exact.autoRemove = function (val) {
2884
- return typeof val === 'undefined';
2885
- };
2886
-
2887
- var equals = function equals(rows, ids, filterValue) {
2888
- return rows.filter(function (row) {
2889
- return ids.some(function (id) {
2890
- var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
2891
-
2892
- return rowValue == filterValue;
2893
- });
2894
- });
2895
- };
2896
-
2897
- equals.autoRemove = function (val) {
2898
- return val == null;
2899
- };
2900
-
2901
- var between = function between(rows, ids, filterValue) {
2902
- var _ref = filterValue || [],
2903
- min = _ref[0],
2904
- max = _ref[1];
2905
-
2906
- min = typeof min === 'number' ? min : -Infinity;
2907
- max = typeof max === 'number' ? max : Infinity;
2908
-
2909
- if (min > max) {
2910
- var temp = min;
2911
- min = max;
2912
- max = temp;
2913
- }
2914
-
2915
- return rows.filter(function (row) {
2916
- return ids.some(function (id) {
2917
- var rowValue = row.values[id];
2918
- return rowValue >= min && rowValue <= max;
2919
- });
2920
- });
2921
- };
2922
-
2923
- between.autoRemove = function (val) {
2924
- return !val || typeof val[0] !== 'number' && typeof val[1] !== 'number';
2925
- };
2926
-
2927
- var filterTypes = /*#__PURE__*/Object.freeze({
2928
- __proto__: null,
2929
- text: text,
2930
- exactText: exactText,
2931
- exactTextCase: exactTextCase,
2932
- includes: includes,
2933
- includesAll: includesAll,
2934
- includesSome: includesSome,
2935
- includesValue: includesValue,
2936
- exact: exact,
2937
- equals: equals,
2938
- between: between
2939
- });
2940
-
2941
- actions.resetFilters = 'resetFilters';
2942
- actions.setFilter = 'setFilter';
2943
- actions.setAllFilters = 'setAllFilters';
2944
- var useFilters = function useFilters(hooks) {
2945
- hooks.stateReducers.push(reducer$2);
2946
- hooks.useInstance.push(useInstance$2);
2947
- };
2948
- useFilters.pluginName = 'useFilters';
2949
-
2950
- function reducer$2(state, action, previousState, instance) {
2951
- if (action.type === actions.init) {
2952
- return _extends({
2953
- filters: []
2954
- }, state);
2955
- }
2956
-
2957
- if (action.type === actions.resetFilters) {
2958
- return _extends({}, state, {
2959
- filters: instance.initialState.filters || []
2960
- });
2961
- }
2962
-
2963
- if (action.type === actions.setFilter) {
2964
- var columnId = action.columnId,
2965
- filterValue = action.filterValue;
2966
- var allColumns = instance.allColumns,
2967
- userFilterTypes = instance.filterTypes;
2968
- var column = allColumns.find(function (d) {
2969
- return d.id === columnId;
2970
- });
2971
-
2972
- if (!column) {
2973
- throw new Error("React-Table: Could not find a column with id: " + columnId);
2974
- }
2975
-
2976
- var filterMethod = getFilterMethod(column.filter, userFilterTypes || {}, filterTypes);
2977
- var previousfilter = state.filters.find(function (d) {
2978
- return d.id === columnId;
2979
- });
2980
- var newFilter = functionalUpdate(filterValue, previousfilter && previousfilter.value); //
2981
-
2982
- if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {
2983
- return _extends({}, state, {
2984
- filters: state.filters.filter(function (d) {
2985
- return d.id !== columnId;
2986
- })
2987
- });
2988
- }
2989
-
2990
- if (previousfilter) {
2991
- return _extends({}, state, {
2992
- filters: state.filters.map(function (d) {
2993
- if (d.id === columnId) {
2994
- return {
2995
- id: columnId,
2996
- value: newFilter
2997
- };
2998
- }
2999
-
3000
- return d;
3001
- })
3002
- });
3003
- }
3004
-
3005
- return _extends({}, state, {
3006
- filters: [].concat(state.filters, [{
3007
- id: columnId,
3008
- value: newFilter
3009
- }])
3010
- });
3011
- }
3012
-
3013
- if (action.type === actions.setAllFilters) {
3014
- var filters = action.filters;
3015
- var _allColumns = instance.allColumns,
3016
- _userFilterTypes = instance.filterTypes;
3017
- return _extends({}, state, {
3018
- // Filter out undefined values
3019
- filters: functionalUpdate(filters, state.filters).filter(function (filter) {
3020
- var column = _allColumns.find(function (d) {
3021
- return d.id === filter.id;
3022
- });
3023
-
3024
- var filterMethod = getFilterMethod(column.filter, _userFilterTypes || {}, filterTypes);
3025
-
3026
- if (shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)) {
3027
- return false;
3028
- }
3029
-
3030
- return true;
3031
- })
3032
- });
3033
- }
3034
- }
3035
-
3036
- function useInstance$2(instance) {
3037
- var data = instance.data,
3038
- rows = instance.rows,
3039
- flatRows = instance.flatRows,
3040
- rowsById = instance.rowsById,
3041
- allColumns = instance.allColumns,
3042
- userFilterTypes = instance.filterTypes,
3043
- manualFilters = instance.manualFilters,
3044
- _instance$defaultCanF = instance.defaultCanFilter,
3045
- defaultCanFilter = _instance$defaultCanF === void 0 ? false : _instance$defaultCanF,
3046
- disableFilters = instance.disableFilters,
3047
- filters = instance.state.filters,
3048
- dispatch = instance.dispatch,
3049
- _instance$autoResetFi = instance.autoResetFilters,
3050
- autoResetFilters = _instance$autoResetFi === void 0 ? true : _instance$autoResetFi;
3051
- var setFilter = React.useCallback(function (columnId, filterValue) {
3052
- dispatch({
3053
- type: actions.setFilter,
3054
- columnId: columnId,
3055
- filterValue: filterValue
3056
- });
3057
- }, [dispatch]);
3058
- var setAllFilters = React.useCallback(function (filters) {
3059
- dispatch({
3060
- type: actions.setAllFilters,
3061
- filters: filters
3062
- });
3063
- }, [dispatch]);
3064
- allColumns.forEach(function (column) {
3065
- var id = column.id,
3066
- accessor = column.accessor,
3067
- columnDefaultCanFilter = column.defaultCanFilter,
3068
- columnDisableFilters = column.disableFilters; // Determine if a column is filterable
3069
-
3070
- column.canFilter = accessor ? getFirstDefined(columnDisableFilters === true ? false : undefined, disableFilters === true ? false : undefined, true) : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false); // Provide the column a way of updating the filter value
3071
-
3072
- column.setFilter = function (val) {
3073
- return setFilter(column.id, val);
3074
- }; // Provide the current filter value to the column for
3075
- // convenience
3076
-
3077
-
3078
- var found = filters.find(function (d) {
3079
- return d.id === id;
3080
- });
3081
- column.filterValue = found && found.value;
3082
- });
3083
-
3084
- var _React$useMemo = React.useMemo(function () {
3085
- if (manualFilters || !filters.length) {
3086
- return [rows, flatRows, rowsById];
3087
- }
3088
-
3089
- var filteredFlatRows = [];
3090
- var filteredRowsById = {}; // Filters top level and nested rows
3091
-
3092
- var filterRows = function filterRows(rows, depth) {
3093
- if (depth === void 0) {
3094
- depth = 0;
3095
- }
3096
-
3097
- var filteredRows = rows;
3098
- filteredRows = filters.reduce(function (filteredSoFar, _ref) {
3099
- var columnId = _ref.id,
3100
- filterValue = _ref.value;
3101
- // Find the filters column
3102
- var column = allColumns.find(function (d) {
3103
- return d.id === columnId;
3104
- });
3105
-
3106
- if (!column) {
3107
- return filteredSoFar;
3108
- }
3109
-
3110
- if (depth === 0) {
3111
- column.preFilteredRows = filteredSoFar;
3112
- }
3113
-
3114
- var filterMethod = getFilterMethod(column.filter, userFilterTypes || {}, filterTypes);
3115
-
3116
- if (!filterMethod) {
3117
- console.warn("Could not find a valid 'column.filter' for column with the ID: " + column.id + ".");
3118
- return filteredSoFar;
3119
- } // Pass the rows, id, filterValue and column to the filterMethod
3120
- // to get the filtered rows back
3121
-
3122
-
3123
- column.filteredRows = filterMethod(filteredSoFar, [columnId], filterValue);
3124
- return column.filteredRows;
3125
- }, rows); // Apply the filter to any subRows
3126
- // We technically could do this recursively in the above loop,
3127
- // but that would severely hinder the API for the user, since they
3128
- // would be required to do that recursion in some scenarios
3129
-
3130
- filteredRows.forEach(function (row) {
3131
- filteredFlatRows.push(row);
3132
- filteredRowsById[row.id] = row;
3133
-
3134
- if (!row.subRows) {
3135
- return;
3136
- }
3137
-
3138
- row.subRows = row.subRows && row.subRows.length > 0 ? filterRows(row.subRows, depth + 1) : row.subRows;
3139
- });
3140
- return filteredRows;
3141
- };
3142
-
3143
- return [filterRows(rows), filteredFlatRows, filteredRowsById];
3144
- }, [manualFilters, filters, rows, flatRows, rowsById, allColumns, userFilterTypes]),
3145
- filteredRows = _React$useMemo[0],
3146
- filteredFlatRows = _React$useMemo[1],
3147
- filteredRowsById = _React$useMemo[2];
3148
-
3149
- React.useMemo(function () {
3150
- // Now that each filtered column has it's partially filtered rows,
3151
- // lets assign the final filtered rows to all of the other columns
3152
- var nonFilteredColumns = allColumns.filter(function (column) {
3153
- return !filters.find(function (d) {
3154
- return d.id === column.id;
3155
- });
3156
- }); // This essentially enables faceted filter options to be built easily
3157
- // using every column's preFilteredRows value
3158
-
3159
- nonFilteredColumns.forEach(function (column) {
3160
- column.preFilteredRows = filteredRows;
3161
- column.filteredRows = filteredRows;
3162
- });
3163
- }, [filteredRows, filters, allColumns]);
3164
- var getAutoResetFilters = useGetLatest(autoResetFilters);
3165
- useMountedLayoutEffect(function () {
3166
- if (getAutoResetFilters()) {
3167
- dispatch({
3168
- type: actions.resetFilters
3169
- });
3170
- }
3171
- }, [dispatch, manualFilters ? null : data]);
3172
- Object.assign(instance, {
3173
- preFilteredRows: rows,
3174
- preFilteredFlatRows: flatRows,
3175
- preFilteredRowsById: rowsById,
3176
- filteredRows: filteredRows,
3177
- filteredFlatRows: filteredFlatRows,
3178
- filteredRowsById: filteredRowsById,
3179
- rows: filteredRows,
3180
- flatRows: filteredFlatRows,
3181
- rowsById: filteredRowsById,
3182
- setFilter: setFilter,
3183
- setAllFilters: setAllFilters
3184
- });
3185
- }
3186
-
3187
- actions.resetGlobalFilter = 'resetGlobalFilter';
3188
- actions.setGlobalFilter = 'setGlobalFilter';
3189
- var useGlobalFilter = function useGlobalFilter(hooks) {
3190
- hooks.stateReducers.push(reducer$3);
3191
- hooks.useInstance.push(useInstance$3);
3192
- };
3193
- useGlobalFilter.pluginName = 'useGlobalFilter';
3194
-
3195
- function reducer$3(state, action, previousState, instance) {
3196
- if (action.type === actions.resetGlobalFilter) {
3197
- return _extends({}, state, {
3198
- globalFilter: instance.initialState.globalFilter || undefined
3199
- });
3200
- }
3201
-
3202
- if (action.type === actions.setGlobalFilter) {
3203
- var filterValue = action.filterValue;
3204
- var userFilterTypes = instance.userFilterTypes;
3205
- var filterMethod = getFilterMethod(instance.globalFilter, userFilterTypes || {}, filterTypes);
3206
- var newFilter = functionalUpdate(filterValue, state.globalFilter); //
3207
-
3208
- if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {
3209
- state.globalFilter;
3210
- var stateWithoutGlobalFilter = _objectWithoutPropertiesLoose(state, ["globalFilter"]);
3211
-
3212
- return stateWithoutGlobalFilter;
3213
- }
3214
-
3215
- return _extends({}, state, {
3216
- globalFilter: newFilter
3217
- });
3218
- }
3219
- }
3220
-
3221
- function useInstance$3(instance) {
3222
- var data = instance.data,
3223
- rows = instance.rows,
3224
- flatRows = instance.flatRows,
3225
- rowsById = instance.rowsById,
3226
- allColumns = instance.allColumns,
3227
- userFilterTypes = instance.filterTypes,
3228
- globalFilter = instance.globalFilter,
3229
- manualGlobalFilter = instance.manualGlobalFilter,
3230
- globalFilterValue = instance.state.globalFilter,
3231
- dispatch = instance.dispatch,
3232
- _instance$autoResetGl = instance.autoResetGlobalFilter,
3233
- autoResetGlobalFilter = _instance$autoResetGl === void 0 ? true : _instance$autoResetGl,
3234
- disableGlobalFilter = instance.disableGlobalFilter;
3235
- var setGlobalFilter = React.useCallback(function (filterValue) {
3236
- dispatch({
3237
- type: actions.setGlobalFilter,
3238
- filterValue: filterValue
3239
- });
3240
- }, [dispatch]); // TODO: Create a filter cache for incremental high speed multi-filtering
3241
- // This gets pretty complicated pretty fast, since you have to maintain a
3242
- // cache for each row group (top-level rows, and each row's recursive subrows)
3243
- // This would make multi-filtering a lot faster though. Too far?
3244
-
3245
- var _React$useMemo = React.useMemo(function () {
3246
- if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {
3247
- return [rows, flatRows, rowsById];
3248
- }
3249
-
3250
- var filteredFlatRows = [];
3251
- var filteredRowsById = {};
3252
- var filterMethod = getFilterMethod(globalFilter, userFilterTypes || {}, filterTypes);
3253
-
3254
- if (!filterMethod) {
3255
- console.warn("Could not find a valid 'globalFilter' option.");
3256
- return rows;
3257
- }
3258
-
3259
- allColumns.forEach(function (column) {
3260
- var columnDisableGlobalFilter = column.disableGlobalFilter;
3261
- column.canFilter = getFirstDefined(columnDisableGlobalFilter === true ? false : undefined, disableGlobalFilter === true ? false : undefined, true);
3262
- });
3263
- var filterableColumns = allColumns.filter(function (c) {
3264
- return c.canFilter === true;
3265
- }); // Filters top level and nested rows
3266
-
3267
- var filterRows = function filterRows(filteredRows) {
3268
- filteredRows = filterMethod(filteredRows, filterableColumns.map(function (d) {
3269
- return d.id;
3270
- }), globalFilterValue);
3271
- filteredRows.forEach(function (row) {
3272
- filteredFlatRows.push(row);
3273
- filteredRowsById[row.id] = row;
3274
- row.subRows = row.subRows && row.subRows.length ? filterRows(row.subRows) : row.subRows;
3275
- });
3276
- return filteredRows;
3277
- };
3278
-
3279
- return [filterRows(rows), filteredFlatRows, filteredRowsById];
3280
- }, [manualGlobalFilter, globalFilterValue, globalFilter, userFilterTypes, allColumns, rows, flatRows, rowsById, disableGlobalFilter]),
3281
- globalFilteredRows = _React$useMemo[0],
3282
- globalFilteredFlatRows = _React$useMemo[1],
3283
- globalFilteredRowsById = _React$useMemo[2];
3284
-
3285
- var getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter);
3286
- useMountedLayoutEffect(function () {
3287
- if (getAutoResetGlobalFilter()) {
3288
- dispatch({
3289
- type: actions.resetGlobalFilter
3290
- });
3291
- }
3292
- }, [dispatch, manualGlobalFilter ? null : data]);
3293
- Object.assign(instance, {
3294
- preGlobalFilteredRows: rows,
3295
- preGlobalFilteredFlatRows: flatRows,
3296
- preGlobalFilteredRowsById: rowsById,
3297
- globalFilteredRows: globalFilteredRows,
3298
- globalFilteredFlatRows: globalFilteredFlatRows,
3299
- globalFilteredRowsById: globalFilteredRowsById,
3300
- rows: globalFilteredRows,
3301
- flatRows: globalFilteredFlatRows,
3302
- rowsById: globalFilteredRowsById,
3303
- setGlobalFilter: setGlobalFilter,
3304
- disableGlobalFilter: disableGlobalFilter
3305
- });
3306
- }
3307
-
3308
- function sum(values, aggregatedValues) {
3309
- // It's faster to just add the aggregations together instead of
3310
- // process leaf nodes individually
3311
- return aggregatedValues.reduce(function (sum, next) {
3312
- return sum + (typeof next === 'number' ? next : 0);
3313
- }, 0);
3314
- }
3315
- function min(values) {
3316
- var min = values[0] || 0;
3317
- values.forEach(function (value) {
3318
- if (typeof value === 'number') {
3319
- min = Math.min(min, value);
3320
- }
3321
- });
3322
- return min;
3323
- }
3324
- function max(values) {
3325
- var max = values[0] || 0;
3326
- values.forEach(function (value) {
3327
- if (typeof value === 'number') {
3328
- max = Math.max(max, value);
3329
- }
3330
- });
3331
- return max;
3332
- }
3333
- function minMax(values) {
3334
- var min = values[0] || 0;
3335
- var max = values[0] || 0;
3336
- values.forEach(function (value) {
3337
- if (typeof value === 'number') {
3338
- min = Math.min(min, value);
3339
- max = Math.max(max, value);
3340
- }
3341
- });
3342
- return min + ".." + max;
3343
- }
3344
- function average(values) {
3345
- return sum(null, values) / values.length;
3346
- }
3347
- function median(values) {
3348
- if (!values.length) {
3349
- return null;
3350
- }
3351
-
3352
- var mid = Math.floor(values.length / 2);
3353
- var nums = [].concat(values).sort(function (a, b) {
3354
- return a - b;
3355
- });
3356
- return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
3357
- }
3358
- function unique(values) {
3359
- return Array.from(new Set(values).values());
3360
- }
3361
- function uniqueCount(values) {
3362
- return new Set(values).size;
3363
- }
3364
- function count(values) {
3365
- return values.length;
3366
- }
3367
-
3368
- var aggregations = /*#__PURE__*/Object.freeze({
3369
- __proto__: null,
3370
- sum: sum,
3371
- min: min,
3372
- max: max,
3373
- minMax: minMax,
3374
- average: average,
3375
- median: median,
3376
- unique: unique,
3377
- uniqueCount: uniqueCount,
3378
- count: count
3379
- });
3380
-
3381
- var emptyArray = [];
3382
- var emptyObject = {}; // Actions
3383
-
3384
- actions.resetGroupBy = 'resetGroupBy';
3385
- actions.setGroupBy = 'setGroupBy';
3386
- actions.toggleGroupBy = 'toggleGroupBy';
3387
- var useGroupBy = function useGroupBy(hooks) {
3388
- hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps];
3389
- hooks.stateReducers.push(reducer$4);
3390
- hooks.visibleColumnsDeps.push(function (deps, _ref) {
3391
- var instance = _ref.instance;
3392
- return [].concat(deps, [instance.state.groupBy]);
3393
- });
3394
- hooks.visibleColumns.push(visibleColumns);
3395
- hooks.useInstance.push(useInstance$4);
3396
- hooks.prepareRow.push(prepareRow$1);
3397
- };
3398
- useGroupBy.pluginName = 'useGroupBy';
3399
-
3400
- var defaultGetGroupByToggleProps = function defaultGetGroupByToggleProps(props, _ref2) {
3401
- var header = _ref2.header;
3402
- return [props, {
3403
- onClick: header.canGroupBy ? function (e) {
3404
- e.persist();
3405
- header.toggleGroupBy();
3406
- } : undefined,
3407
- style: {
3408
- cursor: header.canGroupBy ? 'pointer' : undefined
3409
- },
3410
- title: 'Toggle GroupBy'
3411
- }];
3412
- }; // Reducer
3413
-
3414
-
3415
- function reducer$4(state, action, previousState, instance) {
3416
- if (action.type === actions.init) {
3417
- return _extends({
3418
- groupBy: []
3419
- }, state);
3420
- }
3421
-
3422
- if (action.type === actions.resetGroupBy) {
3423
- return _extends({}, state, {
3424
- groupBy: instance.initialState.groupBy || []
3425
- });
3426
- }
3427
-
3428
- if (action.type === actions.setGroupBy) {
3429
- var value = action.value;
3430
- return _extends({}, state, {
3431
- groupBy: value
3432
- });
3433
- }
3434
-
3435
- if (action.type === actions.toggleGroupBy) {
3436
- var columnId = action.columnId,
3437
- setGroupBy = action.value;
3438
- var resolvedGroupBy = typeof setGroupBy !== 'undefined' ? setGroupBy : !state.groupBy.includes(columnId);
3439
-
3440
- if (resolvedGroupBy) {
3441
- return _extends({}, state, {
3442
- groupBy: [].concat(state.groupBy, [columnId])
3443
- });
3444
- }
3445
-
3446
- return _extends({}, state, {
3447
- groupBy: state.groupBy.filter(function (d) {
3448
- return d !== columnId;
3449
- })
3450
- });
3451
- }
3452
- }
3453
-
3454
- function visibleColumns(columns, _ref3) {
3455
- var groupBy = _ref3.instance.state.groupBy;
3456
- // Sort grouped columns to the start of the column list
3457
- // before the headers are built
3458
- var groupByColumns = groupBy.map(function (g) {
3459
- return columns.find(function (col) {
3460
- return col.id === g;
3461
- });
3462
- }).filter(Boolean);
3463
- var nonGroupByColumns = columns.filter(function (col) {
3464
- return !groupBy.includes(col.id);
3465
- });
3466
- columns = [].concat(groupByColumns, nonGroupByColumns);
3467
- columns.forEach(function (column) {
3468
- column.isGrouped = groupBy.includes(column.id);
3469
- column.groupedIndex = groupBy.indexOf(column.id);
3470
- });
3471
- return columns;
3472
- }
3473
-
3474
- var defaultUserAggregations = {};
3475
-
3476
- function useInstance$4(instance) {
3477
- var data = instance.data,
3478
- rows = instance.rows,
3479
- flatRows = instance.flatRows,
3480
- rowsById = instance.rowsById,
3481
- allColumns = instance.allColumns,
3482
- flatHeaders = instance.flatHeaders,
3483
- _instance$groupByFn = instance.groupByFn,
3484
- groupByFn = _instance$groupByFn === void 0 ? defaultGroupByFn : _instance$groupByFn,
3485
- manualGroupBy = instance.manualGroupBy,
3486
- _instance$aggregation = instance.aggregations,
3487
- userAggregations = _instance$aggregation === void 0 ? defaultUserAggregations : _instance$aggregation,
3488
- plugins = instance.plugins,
3489
- groupBy = instance.state.groupBy,
3490
- dispatch = instance.dispatch,
3491
- _instance$autoResetGr = instance.autoResetGroupBy,
3492
- autoResetGroupBy = _instance$autoResetGr === void 0 ? true : _instance$autoResetGr,
3493
- disableGroupBy = instance.disableGroupBy,
3494
- defaultCanGroupBy = instance.defaultCanGroupBy,
3495
- getHooks = instance.getHooks;
3496
- ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy');
3497
- var getInstance = useGetLatest(instance);
3498
- allColumns.forEach(function (column) {
3499
- var accessor = column.accessor,
3500
- defaultColumnGroupBy = column.defaultGroupBy,
3501
- columnDisableGroupBy = column.disableGroupBy;
3502
- column.canGroupBy = accessor ? getFirstDefined(column.canGroupBy, columnDisableGroupBy === true ? false : undefined, disableGroupBy === true ? false : undefined, true) : getFirstDefined(column.canGroupBy, defaultColumnGroupBy, defaultCanGroupBy, false);
3503
-
3504
- if (column.canGroupBy) {
3505
- column.toggleGroupBy = function () {
3506
- return instance.toggleGroupBy(column.id);
3507
- };
3508
- }
3509
-
3510
- column.Aggregated = column.Aggregated || column.Cell;
3511
- });
3512
- var toggleGroupBy = React.useCallback(function (columnId, value) {
3513
- dispatch({
3514
- type: actions.toggleGroupBy,
3515
- columnId: columnId,
3516
- value: value
3517
- });
3518
- }, [dispatch]);
3519
- var setGroupBy = React.useCallback(function (value) {
3520
- dispatch({
3521
- type: actions.setGroupBy,
3522
- value: value
3523
- });
3524
- }, [dispatch]);
3525
- flatHeaders.forEach(function (header) {
3526
- header.getGroupByToggleProps = makePropGetter(getHooks().getGroupByToggleProps, {
3527
- instance: getInstance(),
3528
- header: header
3529
- });
3530
- });
3531
-
3532
- var _React$useMemo = React.useMemo(function () {
3533
- if (manualGroupBy || !groupBy.length) {
3534
- return [rows, flatRows, rowsById, emptyArray, emptyObject, flatRows, rowsById];
3535
- } // Ensure that the list of filtered columns exist
3536
-
3537
-
3538
- var existingGroupBy = groupBy.filter(function (g) {
3539
- return allColumns.find(function (col) {
3540
- return col.id === g;
3541
- });
3542
- }); // Find the columns that can or are aggregating
3543
- // Uses each column to aggregate rows into a single value
3544
-
3545
- var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
3546
- var values = {};
3547
- allColumns.forEach(function (column) {
3548
- // Don't aggregate columns that are in the groupBy
3549
- if (existingGroupBy.includes(column.id)) {
3550
- values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
3551
- return;
3552
- } // Aggregate the values
3553
-
3554
-
3555
- var aggregateFn = typeof column.aggregate === 'function' ? column.aggregate : userAggregations[column.aggregate] || aggregations[column.aggregate];
3556
-
3557
- if (aggregateFn) {
3558
- // Get the columnValues to aggregate
3559
- var groupedValues = groupedRows.map(function (row) {
3560
- return row.values[column.id];
3561
- }); // Get the columnValues to aggregate
3562
-
3563
- var leafValues = leafRows.map(function (row) {
3564
- var columnValue = row.values[column.id];
3565
-
3566
- if (!depth && column.aggregateValue) {
3567
- var aggregateValueFn = typeof column.aggregateValue === 'function' ? column.aggregateValue : userAggregations[column.aggregateValue] || aggregations[column.aggregateValue];
3568
-
3569
- if (!aggregateValueFn) {
3570
- console.info({
3571
- column: column
3572
- });
3573
- throw new Error("React Table: Invalid column.aggregateValue option for column listed above");
3574
- }
3575
-
3576
- columnValue = aggregateValueFn(columnValue, row, column);
3577
- }
3578
-
3579
- return columnValue;
3580
- });
3581
- values[column.id] = aggregateFn(leafValues, groupedValues);
3582
- } else if (column.aggregate) {
3583
- console.info({
3584
- column: column
3585
- });
3586
- throw new Error("React Table: Invalid column.aggregate option for column listed above");
3587
- } else {
3588
- values[column.id] = null;
3589
- }
3590
- });
3591
- return values;
3592
- };
3593
-
3594
- var groupedFlatRows = [];
3595
- var groupedRowsById = {};
3596
- var onlyGroupedFlatRows = [];
3597
- var onlyGroupedRowsById = {};
3598
- var nonGroupedFlatRows = [];
3599
- var nonGroupedRowsById = {}; // Recursively group the data
3600
-
3601
- var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
3602
- if (depth === void 0) {
3603
- depth = 0;
3604
- }
3605
-
3606
- // This is the last level, just return the rows
3607
- if (depth === existingGroupBy.length) {
3608
- return rows;
3609
- }
3610
-
3611
- var columnId = existingGroupBy[depth]; // Group the rows together for this level
3612
-
3613
- var rowGroupsMap = groupByFn(rows, columnId); // Peform aggregations for each group
3614
-
3615
- var aggregatedGroupedRows = Object.entries(rowGroupsMap).map(function (_ref4, index) {
3616
- var groupByVal = _ref4[0],
3617
- groupedRows = _ref4[1];
3618
- var id = columnId + ":" + groupByVal;
3619
- id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
3620
-
3621
- var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
3622
-
3623
- var leafRows = depth ? flattenBy(groupedRows, 'leafRows') : groupedRows;
3624
- var values = aggregateRowsToValues(leafRows, groupedRows, depth);
3625
- var row = {
3626
- id: id,
3627
- isGrouped: true,
3628
- groupByID: columnId,
3629
- groupByVal: groupByVal,
3630
- values: values,
3631
- subRows: subRows,
3632
- leafRows: leafRows,
3633
- depth: depth,
3634
- index: index
3635
- };
3636
- subRows.forEach(function (subRow) {
3637
- groupedFlatRows.push(subRow);
3638
- groupedRowsById[subRow.id] = subRow;
3639
-
3640
- if (subRow.isGrouped) {
3641
- onlyGroupedFlatRows.push(subRow);
3642
- onlyGroupedRowsById[subRow.id] = subRow;
3643
- } else {
3644
- nonGroupedFlatRows.push(subRow);
3645
- nonGroupedRowsById[subRow.id] = subRow;
3646
- }
3647
- });
3648
- return row;
3649
- });
3650
- return aggregatedGroupedRows;
3651
- };
3652
-
3653
- var groupedRows = groupUpRecursively(rows);
3654
- groupedRows.forEach(function (subRow) {
3655
- groupedFlatRows.push(subRow);
3656
- groupedRowsById[subRow.id] = subRow;
3657
-
3658
- if (subRow.isGrouped) {
3659
- onlyGroupedFlatRows.push(subRow);
3660
- onlyGroupedRowsById[subRow.id] = subRow;
3661
- } else {
3662
- nonGroupedFlatRows.push(subRow);
3663
- nonGroupedRowsById[subRow.id] = subRow;
3664
- }
3665
- }); // Assign the new data
3666
-
3667
- return [groupedRows, groupedFlatRows, groupedRowsById, onlyGroupedFlatRows, onlyGroupedRowsById, nonGroupedFlatRows, nonGroupedRowsById];
3668
- }, [manualGroupBy, groupBy, rows, flatRows, rowsById, allColumns, userAggregations, groupByFn]),
3669
- groupedRows = _React$useMemo[0],
3670
- groupedFlatRows = _React$useMemo[1],
3671
- groupedRowsById = _React$useMemo[2],
3672
- onlyGroupedFlatRows = _React$useMemo[3],
3673
- onlyGroupedRowsById = _React$useMemo[4],
3674
- nonGroupedFlatRows = _React$useMemo[5],
3675
- nonGroupedRowsById = _React$useMemo[6];
3676
-
3677
- var getAutoResetGroupBy = useGetLatest(autoResetGroupBy);
3678
- useMountedLayoutEffect(function () {
3679
- if (getAutoResetGroupBy()) {
3680
- dispatch({
3681
- type: actions.resetGroupBy
3682
- });
3683
- }
3684
- }, [dispatch, manualGroupBy ? null : data]);
3685
- Object.assign(instance, {
3686
- preGroupedRows: rows,
3687
- preGroupedFlatRow: flatRows,
3688
- preGroupedRowsById: rowsById,
3689
- groupedRows: groupedRows,
3690
- groupedFlatRows: groupedFlatRows,
3691
- groupedRowsById: groupedRowsById,
3692
- onlyGroupedFlatRows: onlyGroupedFlatRows,
3693
- onlyGroupedRowsById: onlyGroupedRowsById,
3694
- nonGroupedFlatRows: nonGroupedFlatRows,
3695
- nonGroupedRowsById: nonGroupedRowsById,
3696
- rows: groupedRows,
3697
- flatRows: groupedFlatRows,
3698
- rowsById: groupedRowsById,
3699
- toggleGroupBy: toggleGroupBy,
3700
- setGroupBy: setGroupBy
3701
- });
3702
- }
3703
-
3704
- function prepareRow$1(row) {
3705
- row.allCells.forEach(function (cell) {
3706
- var _row$subRows;
3707
-
3708
- // Grouped cells are in the groupBy and the pivot cell for the row
3709
- cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID; // Placeholder cells are any columns in the groupBy that are not grouped
3710
-
3711
- cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped; // Aggregated cells are not grouped, not repeated, but still have subRows
3712
-
3713
- cell.isAggregated = !cell.isGrouped && !cell.isPlaceholder && ((_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length);
3714
- });
3715
- }
3716
-
3717
- function defaultGroupByFn(rows, columnId) {
3718
- return rows.reduce(function (prev, row, i) {
3719
- // TODO: Might want to implement a key serializer here so
3720
- // irregular column values can still be grouped if needed?
3721
- var resKey = "" + row.values[columnId];
3722
- prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : [];
3723
- prev[resKey].push(row);
3724
- return prev;
3725
- }, {});
3726
- }
3727
-
3728
- var reSplitAlphaNumeric = /([0-9]+)/gm; // Mixed sorting is slow, but very inclusive of many edge cases.
3729
- // It handles numbers, mixed alphanumeric combinations, and even
3730
- // null, undefined, and Infinity
3731
-
3732
- var alphanumeric = function alphanumeric(rowA, rowB, columnId) {
3733
- var _getRowValuesByColumn = getRowValuesByColumnID(rowA, rowB, columnId),
3734
- a = _getRowValuesByColumn[0],
3735
- b = _getRowValuesByColumn[1]; // Force to strings (or "" for unsupported types)
3736
-
3737
-
3738
- a = toString(a);
3739
- b = toString(b); // Split on number groups, but keep the delimiter
3740
- // Then remove falsey split values
3741
-
3742
- a = a.split(reSplitAlphaNumeric).filter(Boolean);
3743
- b = b.split(reSplitAlphaNumeric).filter(Boolean); // While
3744
-
3745
- while (a.length && b.length) {
3746
- var aa = a.shift();
3747
- var bb = b.shift();
3748
- var an = parseInt(aa, 10);
3749
- var bn = parseInt(bb, 10);
3750
- var combo = [an, bn].sort(); // Both are string
3751
-
3752
- if (isNaN(combo[0])) {
3753
- if (aa > bb) {
3754
- return 1;
3755
- }
3756
-
3757
- if (bb > aa) {
3758
- return -1;
3759
- }
3760
-
3761
- continue;
3762
- } // One is a string, one is a number
3763
-
3764
-
3765
- if (isNaN(combo[1])) {
3766
- return isNaN(an) ? -1 : 1;
3767
- } // Both are numbers
3768
-
3769
-
3770
- if (an > bn) {
3771
- return 1;
3772
- }
3773
-
3774
- if (bn > an) {
3775
- return -1;
3776
- }
3777
- }
3778
-
3779
- return a.length - b.length;
3780
- };
3781
- function datetime(rowA, rowB, columnId) {
3782
- var _getRowValuesByColumn2 = getRowValuesByColumnID(rowA, rowB, columnId),
3783
- a = _getRowValuesByColumn2[0],
3784
- b = _getRowValuesByColumn2[1];
3785
-
3786
- a = a.getTime();
3787
- b = b.getTime();
3788
- return compareBasic(a, b);
3789
- }
3790
- function basic(rowA, rowB, columnId) {
3791
- var _getRowValuesByColumn3 = getRowValuesByColumnID(rowA, rowB, columnId),
3792
- a = _getRowValuesByColumn3[0],
3793
- b = _getRowValuesByColumn3[1];
3794
-
3795
- return compareBasic(a, b);
3796
- }
3797
- function string(rowA, rowB, columnId) {
3798
- var _getRowValuesByColumn4 = getRowValuesByColumnID(rowA, rowB, columnId),
3799
- a = _getRowValuesByColumn4[0],
3800
- b = _getRowValuesByColumn4[1];
3801
-
3802
- a = a.split('').filter(Boolean);
3803
- b = b.split('').filter(Boolean);
3804
-
3805
- while (a.length && b.length) {
3806
- var aa = a.shift();
3807
- var bb = b.shift();
3808
- var alower = aa.toLowerCase();
3809
- var blower = bb.toLowerCase(); // Case insensitive comparison until characters match
3810
-
3811
- if (alower > blower) {
3812
- return 1;
3813
- }
3814
-
3815
- if (blower > alower) {
3816
- return -1;
3817
- } // If lowercase characters are identical
3818
-
3819
-
3820
- if (aa > bb) {
3821
- return 1;
3822
- }
3823
-
3824
- if (bb > aa) {
3825
- return -1;
3826
- }
3827
-
3828
- continue;
3829
- }
3830
-
3831
- return a.length - b.length;
3832
- }
3833
- function number(rowA, rowB, columnId) {
3834
- var _getRowValuesByColumn5 = getRowValuesByColumnID(rowA, rowB, columnId),
3835
- a = _getRowValuesByColumn5[0],
3836
- b = _getRowValuesByColumn5[1];
3837
-
3838
- var replaceNonNumeric = /[^0-9.]/gi;
3839
- a = Number(String(a).replace(replaceNonNumeric, ''));
3840
- b = Number(String(b).replace(replaceNonNumeric, ''));
3841
- return compareBasic(a, b);
3842
- } // Utils
3843
-
3844
- function compareBasic(a, b) {
3845
- return a === b ? 0 : a > b ? 1 : -1;
3846
- }
3847
-
3848
- function getRowValuesByColumnID(row1, row2, columnId) {
3849
- return [row1.values[columnId], row2.values[columnId]];
3850
- }
3851
-
3852
- function toString(a) {
3853
- if (typeof a === 'number') {
3854
- if (isNaN(a) || a === Infinity || a === -Infinity) {
3855
- return '';
3856
- }
3857
-
3858
- return String(a);
3859
- }
3860
-
3861
- if (typeof a === 'string') {
3862
- return a;
3863
- }
3864
-
3865
- return '';
3866
- }
3867
-
3868
- var sortTypes = /*#__PURE__*/Object.freeze({
3869
- __proto__: null,
3870
- alphanumeric: alphanumeric,
3871
- datetime: datetime,
3872
- basic: basic,
3873
- string: string,
3874
- number: number
3875
- });
3876
-
3877
- actions.resetSortBy = 'resetSortBy';
3878
- actions.setSortBy = 'setSortBy';
3879
- actions.toggleSortBy = 'toggleSortBy';
3880
- actions.clearSortBy = 'clearSortBy';
3881
- defaultColumn.sortType = 'alphanumeric';
3882
- defaultColumn.sortDescFirst = false;
3883
- var useSortBy = function useSortBy(hooks) {
3884
- hooks.getSortByToggleProps = [defaultGetSortByToggleProps];
3885
- hooks.stateReducers.push(reducer$5);
3886
- hooks.useInstance.push(useInstance$5);
3887
- };
3888
- useSortBy.pluginName = 'useSortBy';
3889
-
3890
- var defaultGetSortByToggleProps = function defaultGetSortByToggleProps(props, _ref) {
3891
- var instance = _ref.instance,
3892
- column = _ref.column;
3893
- var _instance$isMultiSort = instance.isMultiSortEvent,
3894
- isMultiSortEvent = _instance$isMultiSort === void 0 ? function (e) {
3895
- return e.shiftKey;
3896
- } : _instance$isMultiSort;
3897
- return [props, {
3898
- onClick: column.canSort ? function (e) {
3899
- e.persist();
3900
- column.toggleSortBy(undefined, !instance.disableMultiSort && isMultiSortEvent(e));
3901
- } : undefined,
3902
- style: {
3903
- cursor: column.canSort ? 'pointer' : undefined
3904
- },
3905
- title: column.canSort ? 'Toggle SortBy' : undefined
3906
- }];
3907
- }; // Reducer
3908
-
3909
-
3910
- function reducer$5(state, action, previousState, instance) {
3911
- if (action.type === actions.init) {
3912
- return _extends({
3913
- sortBy: []
3914
- }, state);
3915
- }
3916
-
3917
- if (action.type === actions.resetSortBy) {
3918
- return _extends({}, state, {
3919
- sortBy: instance.initialState.sortBy || []
3920
- });
3921
- }
3922
-
3923
- if (action.type === actions.clearSortBy) {
3924
- var sortBy = state.sortBy;
3925
- var newSortBy = sortBy.filter(function (d) {
3926
- return d.id !== action.columnId;
3927
- });
3928
- return _extends({}, state, {
3929
- sortBy: newSortBy
3930
- });
3931
- }
3932
-
3933
- if (action.type === actions.setSortBy) {
3934
- var _sortBy = action.sortBy;
3935
- return _extends({}, state, {
3936
- sortBy: _sortBy
3937
- });
3938
- }
3939
-
3940
- if (action.type === actions.toggleSortBy) {
3941
- var columnId = action.columnId,
3942
- desc = action.desc,
3943
- multi = action.multi;
3944
- var allColumns = instance.allColumns,
3945
- disableMultiSort = instance.disableMultiSort,
3946
- disableSortRemove = instance.disableSortRemove,
3947
- disableMultiRemove = instance.disableMultiRemove,
3948
- _instance$maxMultiSor = instance.maxMultiSortColCount,
3949
- maxMultiSortColCount = _instance$maxMultiSor === void 0 ? Number.MAX_SAFE_INTEGER : _instance$maxMultiSor;
3950
- var _sortBy2 = state.sortBy; // Find the column for this columnId
3951
-
3952
- var column = allColumns.find(function (d) {
3953
- return d.id === columnId;
3954
- });
3955
- var sortDescFirst = column.sortDescFirst; // Find any existing sortBy for this column
3956
-
3957
- var existingSortBy = _sortBy2.find(function (d) {
3958
- return d.id === columnId;
3959
- });
3960
-
3961
- var existingIndex = _sortBy2.findIndex(function (d) {
3962
- return d.id === columnId;
3963
- });
3964
-
3965
- var hasDescDefined = typeof desc !== 'undefined' && desc !== null;
3966
- var _newSortBy = []; // What should we do with this sort action?
3967
-
3968
- var sortAction;
3969
-
3970
- if (!disableMultiSort && multi) {
3971
- if (existingSortBy) {
3972
- sortAction = 'toggle';
3973
- } else {
3974
- sortAction = 'add';
3975
- }
3976
- } else {
3977
- // Normal mode
3978
- if (existingIndex !== _sortBy2.length - 1 || _sortBy2.length !== 1) {
3979
- sortAction = 'replace';
3980
- } else if (existingSortBy) {
3981
- sortAction = 'toggle';
3982
- } else {
3983
- sortAction = 'replace';
3984
- }
3985
- } // Handle toggle states that will remove the sortBy
3986
-
3987
-
3988
- if (sortAction === 'toggle' && // Must be toggling
3989
- !disableSortRemove && // If disableSortRemove, disable in general
3990
- !hasDescDefined && ( // Must not be setting desc
3991
- multi ? !disableMultiRemove : true) && ( // If multi, don't allow if disableMultiRemove
3992
- existingSortBy && // Finally, detect if it should indeed be removed
3993
- existingSortBy.desc && !sortDescFirst || !existingSortBy.desc && sortDescFirst)) {
3994
- sortAction = 'remove';
3995
- }
3996
-
3997
- if (sortAction === 'replace') {
3998
- _newSortBy = [{
3999
- id: columnId,
4000
- desc: hasDescDefined ? desc : sortDescFirst
4001
- }];
4002
- } else if (sortAction === 'add') {
4003
- _newSortBy = [].concat(_sortBy2, [{
4004
- id: columnId,
4005
- desc: hasDescDefined ? desc : sortDescFirst
4006
- }]); // Take latest n columns
4007
-
4008
- _newSortBy.splice(0, _newSortBy.length - maxMultiSortColCount);
4009
- } else if (sortAction === 'toggle') {
4010
- // This flips (or sets) the
4011
- _newSortBy = _sortBy2.map(function (d) {
4012
- if (d.id === columnId) {
4013
- return _extends({}, d, {
4014
- desc: hasDescDefined ? desc : !existingSortBy.desc
4015
- });
4016
- }
4017
-
4018
- return d;
4019
- });
4020
- } else if (sortAction === 'remove') {
4021
- _newSortBy = _sortBy2.filter(function (d) {
4022
- return d.id !== columnId;
4023
- });
4024
- }
4025
-
4026
- return _extends({}, state, {
4027
- sortBy: _newSortBy
4028
- });
4029
- }
4030
- }
4031
-
4032
- function useInstance$5(instance) {
4033
- var data = instance.data,
4034
- rows = instance.rows,
4035
- flatRows = instance.flatRows,
4036
- allColumns = instance.allColumns,
4037
- _instance$orderByFn = instance.orderByFn,
4038
- orderByFn = _instance$orderByFn === void 0 ? defaultOrderByFn : _instance$orderByFn,
4039
- userSortTypes = instance.sortTypes,
4040
- manualSortBy = instance.manualSortBy,
4041
- defaultCanSort = instance.defaultCanSort,
4042
- disableSortBy = instance.disableSortBy,
4043
- flatHeaders = instance.flatHeaders,
4044
- sortBy = instance.state.sortBy,
4045
- dispatch = instance.dispatch,
4046
- plugins = instance.plugins,
4047
- getHooks = instance.getHooks,
4048
- _instance$autoResetSo = instance.autoResetSortBy,
4049
- autoResetSortBy = _instance$autoResetSo === void 0 ? true : _instance$autoResetSo;
4050
- ensurePluginOrder(plugins, ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'], 'useSortBy');
4051
- var setSortBy = React.useCallback(function (sortBy) {
4052
- dispatch({
4053
- type: actions.setSortBy,
4054
- sortBy: sortBy
4055
- });
4056
- }, [dispatch]); // Updates sorting based on a columnId, desc flag and multi flag
4057
-
4058
- var toggleSortBy = React.useCallback(function (columnId, desc, multi) {
4059
- dispatch({
4060
- type: actions.toggleSortBy,
4061
- columnId: columnId,
4062
- desc: desc,
4063
- multi: multi
4064
- });
4065
- }, [dispatch]); // use reference to avoid memory leak in #1608
4066
-
4067
- var getInstance = useGetLatest(instance); // Add the getSortByToggleProps method to columns and headers
4068
-
4069
- flatHeaders.forEach(function (column) {
4070
- var accessor = column.accessor,
4071
- defaultColumnCanSort = column.canSort,
4072
- columnDisableSortBy = column.disableSortBy,
4073
- id = column.id;
4074
- var canSort = accessor ? getFirstDefined(columnDisableSortBy === true ? false : undefined, disableSortBy === true ? false : undefined, true) : getFirstDefined(defaultCanSort, defaultColumnCanSort, false);
4075
- column.canSort = canSort;
4076
-
4077
- if (column.canSort) {
4078
- column.toggleSortBy = function (desc, multi) {
4079
- return toggleSortBy(column.id, desc, multi);
4080
- };
4081
-
4082
- column.clearSortBy = function () {
4083
- dispatch({
4084
- type: actions.clearSortBy,
4085
- columnId: column.id
4086
- });
4087
- };
4088
- }
4089
-
4090
- column.getSortByToggleProps = makePropGetter(getHooks().getSortByToggleProps, {
4091
- instance: getInstance(),
4092
- column: column
4093
- });
4094
- var columnSort = sortBy.find(function (d) {
4095
- return d.id === id;
4096
- });
4097
- column.isSorted = !!columnSort;
4098
- column.sortedIndex = sortBy.findIndex(function (d) {
4099
- return d.id === id;
4100
- });
4101
- column.isSortedDesc = column.isSorted ? columnSort.desc : undefined;
4102
- });
4103
-
4104
- var _React$useMemo = React.useMemo(function () {
4105
- if (manualSortBy || !sortBy.length) {
4106
- return [rows, flatRows];
4107
- }
4108
-
4109
- var sortedFlatRows = []; // Filter out sortBys that correspond to non existing columns
4110
-
4111
- var availableSortBy = sortBy.filter(function (sort) {
4112
- return allColumns.find(function (col) {
4113
- return col.id === sort.id;
4114
- });
4115
- });
4116
-
4117
- var sortData = function sortData(rows) {
4118
- // Use the orderByFn to compose multiple sortBy's together.
4119
- // This will also perform a stable sorting using the row index
4120
- // if needed.
4121
- var sortedData = orderByFn(rows, availableSortBy.map(function (sort) {
4122
- // Support custom sorting methods for each column
4123
- var column = allColumns.find(function (d) {
4124
- return d.id === sort.id;
4125
- });
4126
-
4127
- if (!column) {
4128
- throw new Error("React-Table: Could not find a column with id: " + sort.id + " while sorting");
4129
- }
4130
-
4131
- var sortType = column.sortType; // Look up sortBy functions in this order:
4132
- // column function
4133
- // column string lookup on user sortType
4134
- // column string lookup on built-in sortType
4135
- // default function
4136
- // default string lookup on user sortType
4137
- // default string lookup on built-in sortType
4138
-
4139
- var sortMethod = isFunction(sortType) || (userSortTypes || {})[sortType] || sortTypes[sortType];
4140
-
4141
- if (!sortMethod) {
4142
- throw new Error("React-Table: Could not find a valid sortType of '" + sortType + "' for column '" + sort.id + "'.");
4143
- } // Return the correct sortFn.
4144
- // This function should always return in ascending order
4145
-
4146
-
4147
- return function (a, b) {
4148
- return sortMethod(a, b, sort.id, sort.desc);
4149
- };
4150
- }), // Map the directions
4151
- availableSortBy.map(function (sort) {
4152
- // Detect and use the sortInverted option
4153
- var column = allColumns.find(function (d) {
4154
- return d.id === sort.id;
4155
- });
4156
-
4157
- if (column && column.sortInverted) {
4158
- return sort.desc;
4159
- }
4160
-
4161
- return !sort.desc;
4162
- })); // If there are sub-rows, sort them
4163
-
4164
- sortedData.forEach(function (row) {
4165
- sortedFlatRows.push(row);
4166
-
4167
- if (!row.subRows || row.subRows.length === 0) {
4168
- return;
4169
- }
4170
-
4171
- row.subRows = sortData(row.subRows);
4172
- });
4173
- return sortedData;
4174
- };
4175
-
4176
- return [sortData(rows), sortedFlatRows];
4177
- }, [manualSortBy, sortBy, rows, flatRows, allColumns, orderByFn, userSortTypes]),
4178
- sortedRows = _React$useMemo[0],
4179
- sortedFlatRows = _React$useMemo[1];
4180
-
4181
- var getAutoResetSortBy = useGetLatest(autoResetSortBy);
4182
- useMountedLayoutEffect(function () {
4183
- if (getAutoResetSortBy()) {
4184
- dispatch({
4185
- type: actions.resetSortBy
4186
- });
4187
- }
4188
- }, [manualSortBy ? null : data]);
4189
- Object.assign(instance, {
4190
- preSortedRows: rows,
4191
- preSortedFlatRows: flatRows,
4192
- sortedRows: sortedRows,
4193
- sortedFlatRows: sortedFlatRows,
4194
- rows: sortedRows,
4195
- flatRows: sortedFlatRows,
4196
- setSortBy: setSortBy,
4197
- toggleSortBy: toggleSortBy
4198
- });
4199
- }
4200
-
4201
- function defaultOrderByFn(arr, funcs, dirs) {
4202
- return [].concat(arr).sort(function (rowA, rowB) {
4203
- for (var i = 0; i < funcs.length; i += 1) {
4204
- var sortFn = funcs[i];
4205
- var desc = dirs[i] === false || dirs[i] === 'desc';
4206
- var sortInt = sortFn(rowA, rowB);
4207
-
4208
- if (sortInt !== 0) {
4209
- return desc ? -sortInt : sortInt;
4210
- }
4211
- }
4212
-
4213
- return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index;
4214
- });
4215
- }
4216
-
4217
- var pluginName = 'usePagination'; // Actions
4218
-
4219
- actions.resetPage = 'resetPage';
4220
- actions.gotoPage = 'gotoPage';
4221
- actions.setPageSize = 'setPageSize';
4222
- var usePagination = function usePagination(hooks) {
4223
- hooks.stateReducers.push(reducer$6);
4224
- hooks.useInstance.push(useInstance$6);
4225
- };
4226
- usePagination.pluginName = pluginName;
4227
-
4228
- function reducer$6(state, action, previousState, instance) {
4229
- if (action.type === actions.init) {
4230
- return _extends({
4231
- pageSize: 10,
4232
- pageIndex: 0
4233
- }, state);
4234
- }
4235
-
4236
- if (action.type === actions.resetPage) {
4237
- return _extends({}, state, {
4238
- pageIndex: instance.initialState.pageIndex || 0
4239
- });
4240
- }
4241
-
4242
- if (action.type === actions.gotoPage) {
4243
- var pageCount = instance.pageCount,
4244
- page = instance.page;
4245
- var newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex);
4246
- var canNavigate = false;
4247
-
4248
- if (newPageIndex > state.pageIndex) {
4249
- // next page
4250
- canNavigate = pageCount === -1 ? page.length >= state.pageSize : newPageIndex < pageCount;
4251
- } else if (newPageIndex < state.pageIndex) {
4252
- // prev page
4253
- canNavigate = newPageIndex > -1;
4254
- }
4255
-
4256
- if (!canNavigate) {
4257
- return state;
4258
- }
4259
-
4260
- return _extends({}, state, {
4261
- pageIndex: newPageIndex
4262
- });
4263
- }
4264
-
4265
- if (action.type === actions.setPageSize) {
4266
- var pageSize = action.pageSize;
4267
- var topRowIndex = state.pageSize * state.pageIndex;
4268
- var pageIndex = Math.floor(topRowIndex / pageSize);
4269
- return _extends({}, state, {
4270
- pageIndex: pageIndex,
4271
- pageSize: pageSize
4272
- });
4273
- }
4274
- }
4275
-
4276
- function useInstance$6(instance) {
4277
- var rows = instance.rows,
4278
- _instance$autoResetPa = instance.autoResetPage,
4279
- autoResetPage = _instance$autoResetPa === void 0 ? true : _instance$autoResetPa,
4280
- _instance$manualExpan = instance.manualExpandedKey,
4281
- manualExpandedKey = _instance$manualExpan === void 0 ? 'expanded' : _instance$manualExpan,
4282
- plugins = instance.plugins,
4283
- userPageCount = instance.pageCount,
4284
- _instance$paginateExp = instance.paginateExpandedRows,
4285
- paginateExpandedRows = _instance$paginateExp === void 0 ? true : _instance$paginateExp,
4286
- _instance$expandSubRo = instance.expandSubRows,
4287
- expandSubRows = _instance$expandSubRo === void 0 ? true : _instance$expandSubRo,
4288
- _instance$state = instance.state,
4289
- pageSize = _instance$state.pageSize,
4290
- pageIndex = _instance$state.pageIndex,
4291
- expanded = _instance$state.expanded,
4292
- globalFilter = _instance$state.globalFilter,
4293
- filters = _instance$state.filters,
4294
- groupBy = _instance$state.groupBy,
4295
- sortBy = _instance$state.sortBy,
4296
- dispatch = instance.dispatch,
4297
- data = instance.data,
4298
- manualPagination = instance.manualPagination;
4299
- ensurePluginOrder(plugins, ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'], 'usePagination');
4300
- var getAutoResetPage = useGetLatest(autoResetPage);
4301
- useMountedLayoutEffect(function () {
4302
- if (getAutoResetPage()) {
4303
- dispatch({
4304
- type: actions.resetPage
4305
- });
4306
- }
4307
- }, [dispatch, manualPagination ? null : data, globalFilter, filters, groupBy, sortBy]);
4308
- var pageCount = manualPagination ? userPageCount : Math.ceil(rows.length / pageSize);
4309
- var pageOptions = React.useMemo(function () {
4310
- return pageCount > 0 ? [].concat(new Array(pageCount)).fill(null).map(function (d, i) {
4311
- return i;
4312
- }) : [];
4313
- }, [pageCount]);
4314
- var page = React.useMemo(function () {
4315
- var page;
4316
-
4317
- if (manualPagination) {
4318
- page = rows;
4319
- } else {
4320
- var pageStart = pageSize * pageIndex;
4321
- var pageEnd = pageStart + pageSize;
4322
- page = rows.slice(pageStart, pageEnd);
4323
- }
4324
-
4325
- if (paginateExpandedRows) {
4326
- return page;
4327
- }
4328
-
4329
- return expandRows(page, {
4330
- manualExpandedKey: manualExpandedKey,
4331
- expanded: expanded,
4332
- expandSubRows: expandSubRows
4333
- });
4334
- }, [expandSubRows, expanded, manualExpandedKey, manualPagination, pageIndex, pageSize, paginateExpandedRows, rows]);
4335
- var canPreviousPage = pageIndex > 0;
4336
- var canNextPage = pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1;
4337
- var gotoPage = React.useCallback(function (pageIndex) {
4338
- dispatch({
4339
- type: actions.gotoPage,
4340
- pageIndex: pageIndex
4341
- });
4342
- }, [dispatch]);
4343
- var previousPage = React.useCallback(function () {
4344
- return gotoPage(function (old) {
4345
- return old - 1;
4346
- });
4347
- }, [gotoPage]);
4348
- var nextPage = React.useCallback(function () {
4349
- return gotoPage(function (old) {
4350
- return old + 1;
4351
- });
4352
- }, [gotoPage]);
4353
- var setPageSize = React.useCallback(function (pageSize) {
4354
- dispatch({
4355
- type: actions.setPageSize,
4356
- pageSize: pageSize
4357
- });
4358
- }, [dispatch]);
4359
- Object.assign(instance, {
4360
- pageOptions: pageOptions,
4361
- pageCount: pageCount,
4362
- page: page,
4363
- canPreviousPage: canPreviousPage,
4364
- canNextPage: canNextPage,
4365
- gotoPage: gotoPage,
4366
- previousPage: previousPage,
4367
- nextPage: nextPage,
4368
- setPageSize: setPageSize
4369
- });
4370
- }
4371
-
4372
- actions.resetPivot = 'resetPivot';
4373
- actions.togglePivot = 'togglePivot';
4374
- var _UNSTABLE_usePivotColumns = function _UNSTABLE_usePivotColumns(hooks) {
4375
- hooks.getPivotToggleProps = [defaultGetPivotToggleProps];
4376
- hooks.stateReducers.push(reducer$7);
4377
- hooks.useInstanceAfterData.push(useInstanceAfterData);
4378
- hooks.allColumns.push(allColumns);
4379
- hooks.accessValue.push(accessValue);
4380
- hooks.materializedColumns.push(materializedColumns);
4381
- hooks.materializedColumnsDeps.push(materializedColumnsDeps);
4382
- hooks.visibleColumns.push(visibleColumns$1);
4383
- hooks.visibleColumnsDeps.push(visibleColumnsDeps);
4384
- hooks.useInstance.push(useInstance$7);
4385
- hooks.prepareRow.push(prepareRow$2);
4386
- };
4387
- _UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns';
4388
- var defaultPivotColumns = [];
4389
-
4390
- var defaultGetPivotToggleProps = function defaultGetPivotToggleProps(props, _ref) {
4391
- var header = _ref.header;
4392
- return [props, {
4393
- onClick: header.canPivot ? function (e) {
4394
- e.persist();
4395
- header.togglePivot();
4396
- } : undefined,
4397
- style: {
4398
- cursor: header.canPivot ? 'pointer' : undefined
4399
- },
4400
- title: 'Toggle Pivot'
4401
- }];
4402
- }; // Reducer
4403
-
4404
-
4405
- function reducer$7(state, action, previousState, instance) {
4406
- if (action.type === actions.init) {
4407
- return _extends({
4408
- pivotColumns: defaultPivotColumns
4409
- }, state);
4410
- }
4411
-
4412
- if (action.type === actions.resetPivot) {
4413
- return _extends({}, state, {
4414
- pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns
4415
- });
4416
- }
4417
-
4418
- if (action.type === actions.togglePivot) {
4419
- var columnId = action.columnId,
4420
- setPivot = action.value;
4421
- var resolvedPivot = typeof setPivot !== 'undefined' ? setPivot : !state.pivotColumns.includes(columnId);
4422
-
4423
- if (resolvedPivot) {
4424
- return _extends({}, state, {
4425
- pivotColumns: [].concat(state.pivotColumns, [columnId])
4426
- });
4427
- }
4428
-
4429
- return _extends({}, state, {
4430
- pivotColumns: state.pivotColumns.filter(function (d) {
4431
- return d !== columnId;
4432
- })
4433
- });
4434
- }
4435
- }
4436
-
4437
- function useInstanceAfterData(instance) {
4438
- instance.allColumns.forEach(function (column) {
4439
- column.isPivotSource = instance.state.pivotColumns.includes(column.id);
4440
- });
4441
- }
4442
-
4443
- function allColumns(columns, _ref2) {
4444
- var instance = _ref2.instance;
4445
- columns.forEach(function (column) {
4446
- column.isPivotSource = instance.state.pivotColumns.includes(column.id);
4447
- column.uniqueValues = new Set();
4448
- });
4449
- return columns;
4450
- }
4451
-
4452
- function accessValue(value, _ref3) {
4453
- var column = _ref3.column;
4454
-
4455
- if (column.uniqueValues && typeof value !== 'undefined') {
4456
- column.uniqueValues.add(value);
4457
- }
4458
-
4459
- return value;
4460
- }
4461
-
4462
- function materializedColumns(materialized, _ref4) {
4463
- var instance = _ref4.instance;
4464
- var allColumns = instance.allColumns,
4465
- state = instance.state;
4466
-
4467
- if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {
4468
- return materialized;
4469
- }
4470
-
4471
- var pivotColumns = state.pivotColumns.map(function (id) {
4472
- return allColumns.find(function (d) {
4473
- return d.id === id;
4474
- });
4475
- }).filter(Boolean);
4476
- var sourceColumns = allColumns.filter(function (d) {
4477
- return !d.isPivotSource && !state.groupBy.includes(d.id) && !state.pivotColumns.includes(d.id);
4478
- });
4479
-
4480
- var buildPivotColumns = function buildPivotColumns(depth, parent, pivotFilters) {
4481
- if (depth === void 0) {
4482
- depth = 0;
4483
- }
4484
-
4485
- if (pivotFilters === void 0) {
4486
- pivotFilters = [];
4487
- }
4488
-
4489
- var pivotColumn = pivotColumns[depth];
4490
-
4491
- if (!pivotColumn) {
4492
- return sourceColumns.map(function (sourceColumn) {
4493
- // TODO: We could offer support here for renesting pivoted
4494
- // columns inside copies of their header groups. For now,
4495
- // that seems like it would be (1) overkill on nesting, considering
4496
- // you already get nesting for every pivot level and (2)
4497
- // really hard. :)
4498
- return _extends({}, sourceColumn, {
4499
- canPivot: false,
4500
- isPivoted: true,
4501
- parent: parent,
4502
- depth: depth,
4503
- id: "" + (parent ? parent.id + "." + sourceColumn.id : sourceColumn.id),
4504
- accessor: function accessor(originalRow, i, row) {
4505
- if (pivotFilters.every(function (filter) {
4506
- return filter(row);
4507
- })) {
4508
- return row.values[sourceColumn.id];
4509
- }
4510
- }
4511
- });
4512
- });
4513
- }
4514
-
4515
- var uniqueValues = Array.from(pivotColumn.uniqueValues).sort();
4516
- return uniqueValues.map(function (uniqueValue) {
4517
- var columnGroup = _extends({}, pivotColumn, {
4518
- Header: pivotColumn.PivotHeader || typeof pivotColumn.header === 'string' ? pivotColumn.Header + ": " + uniqueValue : uniqueValue,
4519
- isPivotGroup: true,
4520
- parent: parent,
4521
- depth: depth,
4522
- id: parent ? parent.id + "." + pivotColumn.id + "." + uniqueValue : pivotColumn.id + "." + uniqueValue,
4523
- pivotValue: uniqueValue
4524
- });
4525
-
4526
- columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [].concat(pivotFilters, [function (row) {
4527
- return row.values[pivotColumn.id] === uniqueValue;
4528
- }]));
4529
- return columnGroup;
4530
- });
4531
- };
4532
-
4533
- var newMaterialized = flattenColumns(buildPivotColumns());
4534
- return [].concat(materialized, newMaterialized);
4535
- }
4536
-
4537
- function materializedColumnsDeps(deps, _ref5) {
4538
- var _ref5$instance$state = _ref5.instance.state,
4539
- pivotColumns = _ref5$instance$state.pivotColumns,
4540
- groupBy = _ref5$instance$state.groupBy;
4541
- return [].concat(deps, [pivotColumns, groupBy]);
4542
- }
4543
-
4544
- function visibleColumns$1(visibleColumns, _ref6) {
4545
- var state = _ref6.instance.state;
4546
- visibleColumns = visibleColumns.filter(function (d) {
4547
- return !d.isPivotSource;
4548
- });
4549
-
4550
- if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {
4551
- visibleColumns = visibleColumns.filter(function (column) {
4552
- return column.isGrouped || column.isPivoted;
4553
- });
4554
- }
4555
-
4556
- return visibleColumns;
4557
- }
4558
-
4559
- function visibleColumnsDeps(deps, _ref7) {
4560
- var instance = _ref7.instance;
4561
- return [].concat(deps, [instance.state.pivotColumns, instance.state.groupBy]);
4562
- }
4563
-
4564
- function useInstance$7(instance) {
4565
- var columns = instance.columns,
4566
- allColumns = instance.allColumns,
4567
- flatHeaders = instance.flatHeaders,
4568
- getHooks = instance.getHooks,
4569
- plugins = instance.plugins,
4570
- dispatch = instance.dispatch,
4571
- _instance$autoResetPi = instance.autoResetPivot,
4572
- autoResetPivot = _instance$autoResetPi === void 0 ? true : _instance$autoResetPi,
4573
- manaulPivot = instance.manaulPivot,
4574
- disablePivot = instance.disablePivot,
4575
- defaultCanPivot = instance.defaultCanPivot;
4576
- ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns');
4577
- var getInstance = useGetLatest(instance);
4578
- allColumns.forEach(function (column) {
4579
- var accessor = column.accessor,
4580
- defaultColumnPivot = column.defaultPivot,
4581
- columnDisablePivot = column.disablePivot;
4582
- column.canPivot = accessor ? getFirstDefined(column.canPivot, columnDisablePivot === true ? false : undefined, disablePivot === true ? false : undefined, true) : getFirstDefined(column.canPivot, defaultColumnPivot, defaultCanPivot, false);
4583
-
4584
- if (column.canPivot) {
4585
- column.togglePivot = function () {
4586
- return instance.togglePivot(column.id);
4587
- };
4588
- }
4589
-
4590
- column.Aggregated = column.Aggregated || column.Cell;
4591
- });
4592
-
4593
- var togglePivot = function togglePivot(columnId, value) {
4594
- dispatch({
4595
- type: actions.togglePivot,
4596
- columnId: columnId,
4597
- value: value
4598
- });
4599
- };
4600
-
4601
- flatHeaders.forEach(function (header) {
4602
- header.getPivotToggleProps = makePropGetter(getHooks().getPivotToggleProps, {
4603
- instance: getInstance(),
4604
- header: header
4605
- });
4606
- });
4607
- var getAutoResetPivot = useGetLatest(autoResetPivot);
4608
- useMountedLayoutEffect(function () {
4609
- if (getAutoResetPivot()) {
4610
- dispatch({
4611
- type: actions.resetPivot
4612
- });
4613
- }
4614
- }, [dispatch, manaulPivot ? null : columns]);
4615
- Object.assign(instance, {
4616
- togglePivot: togglePivot
4617
- });
4618
- }
4619
-
4620
- function prepareRow$2(row) {
4621
- row.allCells.forEach(function (cell) {
4622
- // Grouped cells are in the pivotColumns and the pivot cell for the row
4623
- cell.isPivoted = cell.column.isPivoted;
4624
- });
4625
- }
4626
-
4627
- var pluginName$1 = 'useRowSelect'; // Actions
4628
-
4629
- actions.resetSelectedRows = 'resetSelectedRows';
4630
- actions.toggleAllRowsSelected = 'toggleAllRowsSelected';
4631
- actions.toggleRowSelected = 'toggleRowSelected';
4632
- actions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected';
4633
- var useRowSelect = function useRowSelect(hooks) {
4634
- hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];
4635
- hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];
4636
- hooks.getToggleAllPageRowsSelectedProps = [defaultGetToggleAllPageRowsSelectedProps];
4637
- hooks.stateReducers.push(reducer$8);
4638
- hooks.useInstance.push(useInstance$8);
4639
- hooks.prepareRow.push(prepareRow$3);
4640
- };
4641
- useRowSelect.pluginName = pluginName$1;
4642
-
4643
- var defaultGetToggleRowSelectedProps = function defaultGetToggleRowSelectedProps(props, _ref) {
4644
- var instance = _ref.instance,
4645
- row = _ref.row;
4646
- var _instance$manualRowSe = instance.manualRowSelectedKey,
4647
- manualRowSelectedKey = _instance$manualRowSe === void 0 ? 'isSelected' : _instance$manualRowSe;
4648
- var checked = false;
4649
-
4650
- if (row.original && row.original[manualRowSelectedKey]) {
4651
- checked = true;
4652
- } else {
4653
- checked = row.isSelected;
4654
- }
4655
-
4656
- return [props, {
4657
- onChange: function onChange(e) {
4658
- row.toggleRowSelected(e.target.checked);
4659
- },
4660
- style: {
4661
- cursor: 'pointer'
4662
- },
4663
- checked: checked,
4664
- title: 'Toggle Row Selected',
4665
- indeterminate: row.isSomeSelected
4666
- }];
4667
- };
4668
-
4669
- var defaultGetToggleAllRowsSelectedProps = function defaultGetToggleAllRowsSelectedProps(props, _ref2) {
4670
- var instance = _ref2.instance;
4671
- return [props, {
4672
- onChange: function onChange(e) {
4673
- instance.toggleAllRowsSelected(e.target.checked);
4674
- },
4675
- style: {
4676
- cursor: 'pointer'
4677
- },
4678
- checked: instance.isAllRowsSelected,
4679
- title: 'Toggle All Rows Selected',
4680
- indeterminate: Boolean(!instance.isAllRowsSelected && Object.keys(instance.state.selectedRowIds).length)
4681
- }];
4682
- };
4683
-
4684
- var defaultGetToggleAllPageRowsSelectedProps = function defaultGetToggleAllPageRowsSelectedProps(props, _ref3) {
4685
- var instance = _ref3.instance;
4686
- return [props, {
4687
- onChange: function onChange(e) {
4688
- instance.toggleAllPageRowsSelected(e.target.checked);
4689
- },
4690
- style: {
4691
- cursor: 'pointer'
4692
- },
4693
- checked: instance.isAllPageRowsSelected,
4694
- title: 'Toggle All Current Page Rows Selected',
4695
- indeterminate: Boolean(!instance.isAllPageRowsSelected && instance.page.some(function (_ref4) {
4696
- var id = _ref4.id;
4697
- return instance.state.selectedRowIds[id];
4698
- }))
4699
- }];
4700
- }; // eslint-disable-next-line max-params
4701
-
4702
-
4703
- function reducer$8(state, action, previousState, instance) {
4704
- if (action.type === actions.init) {
4705
- return _extends({
4706
- selectedRowIds: {}
4707
- }, state);
4708
- }
4709
-
4710
- if (action.type === actions.resetSelectedRows) {
4711
- return _extends({}, state, {
4712
- selectedRowIds: instance.initialState.selectedRowIds || {}
4713
- });
4714
- }
4715
-
4716
- if (action.type === actions.toggleAllRowsSelected) {
4717
- var setSelected = action.value;
4718
- var isAllRowsSelected = instance.isAllRowsSelected,
4719
- rowsById = instance.rowsById,
4720
- _instance$nonGroupedR = instance.nonGroupedRowsById,
4721
- nonGroupedRowsById = _instance$nonGroupedR === void 0 ? rowsById : _instance$nonGroupedR;
4722
- var selectAll = typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected; // Only remove/add the rows that are visible on the screen
4723
- // Leave all the other rows that are selected alone.
4724
-
4725
- var selectedRowIds = Object.assign({}, state.selectedRowIds);
4726
-
4727
- if (selectAll) {
4728
- Object.keys(nonGroupedRowsById).forEach(function (rowId) {
4729
- selectedRowIds[rowId] = true;
4730
- });
4731
- } else {
4732
- Object.keys(nonGroupedRowsById).forEach(function (rowId) {
4733
- delete selectedRowIds[rowId];
4734
- });
4735
- }
4736
-
4737
- return _extends({}, state, {
4738
- selectedRowIds: selectedRowIds
4739
- });
4740
- }
4741
-
4742
- if (action.type === actions.toggleRowSelected) {
4743
- var id = action.id,
4744
- _setSelected = action.value;
4745
- var _rowsById = instance.rowsById,
4746
- _instance$selectSubRo = instance.selectSubRows,
4747
- selectSubRows = _instance$selectSubRo === void 0 ? true : _instance$selectSubRo,
4748
- getSubRows = instance.getSubRows;
4749
- var isSelected = state.selectedRowIds[id];
4750
- var shouldExist = typeof _setSelected !== 'undefined' ? _setSelected : !isSelected;
4751
-
4752
- if (isSelected === shouldExist) {
4753
- return state;
4754
- }
4755
-
4756
- var newSelectedRowIds = _extends({}, state.selectedRowIds);
4757
-
4758
- var handleRowById = function handleRowById(id) {
4759
- var row = _rowsById[id];
4760
-
4761
- if (!row.isGrouped) {
4762
- if (shouldExist) {
4763
- newSelectedRowIds[id] = true;
4764
- } else {
4765
- delete newSelectedRowIds[id];
4766
- }
4767
- }
4768
-
4769
- if (selectSubRows && getSubRows(row)) {
4770
- return getSubRows(row).forEach(function (row) {
4771
- return handleRowById(row.id);
4772
- });
4773
- }
4774
- };
4775
-
4776
- handleRowById(id);
4777
- return _extends({}, state, {
4778
- selectedRowIds: newSelectedRowIds
4779
- });
4780
- }
4781
-
4782
- if (action.type === actions.toggleAllPageRowsSelected) {
4783
- var _setSelected2 = action.value;
4784
-
4785
- var page = instance.page,
4786
- _rowsById2 = instance.rowsById,
4787
- _instance$selectSubRo2 = instance.selectSubRows,
4788
- _selectSubRows = _instance$selectSubRo2 === void 0 ? true : _instance$selectSubRo2,
4789
- isAllPageRowsSelected = instance.isAllPageRowsSelected,
4790
- _getSubRows = instance.getSubRows;
4791
-
4792
- var _selectAll = typeof _setSelected2 !== 'undefined' ? _setSelected2 : !isAllPageRowsSelected;
4793
-
4794
- var _newSelectedRowIds = _extends({}, state.selectedRowIds);
4795
-
4796
- var _handleRowById = function _handleRowById(id) {
4797
- var row = _rowsById2[id];
4798
-
4799
- if (!row.isGrouped) {
4800
- if (_selectAll) {
4801
- _newSelectedRowIds[id] = true;
4802
- } else {
4803
- delete _newSelectedRowIds[id];
4804
- }
4805
- }
4806
-
4807
- if (_selectSubRows && _getSubRows(row)) {
4808
- return _getSubRows(row).forEach(function (row) {
4809
- return _handleRowById(row.id);
4810
- });
4811
- }
4812
- };
4813
-
4814
- page.forEach(function (row) {
4815
- return _handleRowById(row.id);
4816
- });
4817
- return _extends({}, state, {
4818
- selectedRowIds: _newSelectedRowIds
4819
- });
4820
- }
4821
-
4822
- return state;
4823
- }
4824
-
4825
- function useInstance$8(instance) {
4826
- var data = instance.data,
4827
- rows = instance.rows,
4828
- getHooks = instance.getHooks,
4829
- plugins = instance.plugins,
4830
- rowsById = instance.rowsById,
4831
- _instance$nonGroupedR2 = instance.nonGroupedRowsById,
4832
- nonGroupedRowsById = _instance$nonGroupedR2 === void 0 ? rowsById : _instance$nonGroupedR2,
4833
- _instance$autoResetSe = instance.autoResetSelectedRows,
4834
- autoResetSelectedRows = _instance$autoResetSe === void 0 ? true : _instance$autoResetSe,
4835
- selectedRowIds = instance.state.selectedRowIds,
4836
- _instance$selectSubRo3 = instance.selectSubRows,
4837
- selectSubRows = _instance$selectSubRo3 === void 0 ? true : _instance$selectSubRo3,
4838
- dispatch = instance.dispatch,
4839
- page = instance.page,
4840
- getSubRows = instance.getSubRows;
4841
- ensurePluginOrder(plugins, ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'], 'useRowSelect');
4842
- var selectedFlatRows = React.useMemo(function () {
4843
- var selectedFlatRows = [];
4844
- rows.forEach(function (row) {
4845
- var isSelected = selectSubRows ? getRowIsSelected(row, selectedRowIds, getSubRows) : !!selectedRowIds[row.id];
4846
- row.isSelected = !!isSelected;
4847
- row.isSomeSelected = isSelected === null;
4848
-
4849
- if (isSelected) {
4850
- selectedFlatRows.push(row);
4851
- }
4852
- });
4853
- return selectedFlatRows;
4854
- }, [rows, selectSubRows, selectedRowIds, getSubRows]);
4855
- var isAllRowsSelected = Boolean(Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length);
4856
- var isAllPageRowsSelected = isAllRowsSelected;
4857
-
4858
- if (isAllRowsSelected) {
4859
- if (Object.keys(nonGroupedRowsById).some(function (id) {
4860
- return !selectedRowIds[id];
4861
- })) {
4862
- isAllRowsSelected = false;
4863
- }
4864
- }
4865
-
4866
- if (!isAllRowsSelected) {
4867
- if (page && page.length && page.some(function (_ref5) {
4868
- var id = _ref5.id;
4869
- return !selectedRowIds[id];
4870
- })) {
4871
- isAllPageRowsSelected = false;
4872
- }
4873
- }
4874
-
4875
- var getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);
4876
- useMountedLayoutEffect(function () {
4877
- if (getAutoResetSelectedRows()) {
4878
- dispatch({
4879
- type: actions.resetSelectedRows
4880
- });
4881
- }
4882
- }, [dispatch, data]);
4883
- var toggleAllRowsSelected = React.useCallback(function (value) {
4884
- return dispatch({
4885
- type: actions.toggleAllRowsSelected,
4886
- value: value
4887
- });
4888
- }, [dispatch]);
4889
- var toggleAllPageRowsSelected = React.useCallback(function (value) {
4890
- return dispatch({
4891
- type: actions.toggleAllPageRowsSelected,
4892
- value: value
4893
- });
4894
- }, [dispatch]);
4895
- var toggleRowSelected = React.useCallback(function (id, value) {
4896
- return dispatch({
4897
- type: actions.toggleRowSelected,
4898
- id: id,
4899
- value: value
4900
- });
4901
- }, [dispatch]);
4902
- var getInstance = useGetLatest(instance);
4903
- var getToggleAllRowsSelectedProps = makePropGetter(getHooks().getToggleAllRowsSelectedProps, {
4904
- instance: getInstance()
4905
- });
4906
- var getToggleAllPageRowsSelectedProps = makePropGetter(getHooks().getToggleAllPageRowsSelectedProps, {
4907
- instance: getInstance()
4908
- });
4909
- Object.assign(instance, {
4910
- selectedFlatRows: selectedFlatRows,
4911
- isAllRowsSelected: isAllRowsSelected,
4912
- isAllPageRowsSelected: isAllPageRowsSelected,
4913
- toggleRowSelected: toggleRowSelected,
4914
- toggleAllRowsSelected: toggleAllRowsSelected,
4915
- getToggleAllRowsSelectedProps: getToggleAllRowsSelectedProps,
4916
- getToggleAllPageRowsSelectedProps: getToggleAllPageRowsSelectedProps,
4917
- toggleAllPageRowsSelected: toggleAllPageRowsSelected
4918
- });
4919
- }
4920
-
4921
- function prepareRow$3(row, _ref6) {
4922
- var instance = _ref6.instance;
4923
-
4924
- row.toggleRowSelected = function (set) {
4925
- return instance.toggleRowSelected(row.id, set);
4926
- };
4927
-
4928
- row.getToggleRowSelectedProps = makePropGetter(instance.getHooks().getToggleRowSelectedProps, {
4929
- instance: instance,
4930
- row: row
4931
- });
4932
- }
4933
-
4934
- function getRowIsSelected(row, selectedRowIds, getSubRows) {
4935
- if (selectedRowIds[row.id]) {
4936
- return true;
4937
- }
4938
-
4939
- var subRows = getSubRows(row);
4940
-
4941
- if (subRows && subRows.length) {
4942
- var allChildrenSelected = true;
4943
- var someSelected = false;
4944
- subRows.forEach(function (subRow) {
4945
- // Bail out early if we know both of these
4946
- if (someSelected && !allChildrenSelected) {
4947
- return;
4948
- }
4949
-
4950
- if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {
4951
- someSelected = true;
4952
- } else {
4953
- allChildrenSelected = false;
4954
- }
4955
- });
4956
- return allChildrenSelected ? true : someSelected ? null : false;
4957
- }
4958
-
4959
- return false;
4960
- }
4961
-
4962
- var defaultInitialRowStateAccessor = function defaultInitialRowStateAccessor(row) {
4963
- return {};
4964
- };
4965
-
4966
- var defaultInitialCellStateAccessor = function defaultInitialCellStateAccessor(cell) {
4967
- return {};
4968
- }; // Actions
4969
-
4970
-
4971
- actions.setRowState = 'setRowState';
4972
- actions.setCellState = 'setCellState';
4973
- actions.resetRowState = 'resetRowState';
4974
- var useRowState = function useRowState(hooks) {
4975
- hooks.stateReducers.push(reducer$9);
4976
- hooks.useInstance.push(useInstance$9);
4977
- hooks.prepareRow.push(prepareRow$4);
4978
- };
4979
- useRowState.pluginName = 'useRowState';
4980
-
4981
- function reducer$9(state, action, previousState, instance) {
4982
- var _instance$initialRowS = instance.initialRowStateAccessor,
4983
- initialRowStateAccessor = _instance$initialRowS === void 0 ? defaultInitialRowStateAccessor : _instance$initialRowS,
4984
- _instance$initialCell = instance.initialCellStateAccessor,
4985
- initialCellStateAccessor = _instance$initialCell === void 0 ? defaultInitialCellStateAccessor : _instance$initialCell,
4986
- rowsById = instance.rowsById;
4987
-
4988
- if (action.type === actions.init) {
4989
- return _extends({
4990
- rowState: {}
4991
- }, state);
4992
- }
4993
-
4994
- if (action.type === actions.resetRowState) {
4995
- return _extends({}, state, {
4996
- rowState: instance.initialState.rowState || {}
4997
- });
4998
- }
4999
-
5000
- if (action.type === actions.setRowState) {
5001
- var _extends2;
5002
-
5003
- var rowId = action.rowId,
5004
- value = action.value;
5005
- var oldRowState = typeof state.rowState[rowId] !== 'undefined' ? state.rowState[rowId] : initialRowStateAccessor(rowsById[rowId]);
5006
- return _extends({}, state, {
5007
- rowState: _extends({}, state.rowState, (_extends2 = {}, _extends2[rowId] = functionalUpdate(value, oldRowState), _extends2))
5008
- });
5009
- }
5010
-
5011
- if (action.type === actions.setCellState) {
5012
- var _oldRowState$cellStat, _rowsById$_rowId, _rowsById$_rowId$cell, _extends3, _extends4;
5013
-
5014
- var _rowId = action.rowId,
5015
- columnId = action.columnId,
5016
- _value = action.value;
5017
-
5018
- var _oldRowState = typeof state.rowState[_rowId] !== 'undefined' ? state.rowState[_rowId] : initialRowStateAccessor(rowsById[_rowId]);
5019
-
5020
- var oldCellState = typeof (_oldRowState == null ? void 0 : (_oldRowState$cellStat = _oldRowState.cellState) == null ? void 0 : _oldRowState$cellStat[columnId]) !== 'undefined' ? _oldRowState.cellState[columnId] : initialCellStateAccessor((_rowsById$_rowId = rowsById[_rowId]) == null ? void 0 : (_rowsById$_rowId$cell = _rowsById$_rowId.cells) == null ? void 0 : _rowsById$_rowId$cell.find(function (cell) {
5021
- return cell.column.id === columnId;
5022
- }));
5023
- return _extends({}, state, {
5024
- rowState: _extends({}, state.rowState, (_extends4 = {}, _extends4[_rowId] = _extends({}, _oldRowState, {
5025
- cellState: _extends({}, _oldRowState.cellState || {}, (_extends3 = {}, _extends3[columnId] = functionalUpdate(_value, oldCellState), _extends3))
5026
- }), _extends4))
5027
- });
5028
- }
5029
- }
5030
-
5031
- function useInstance$9(instance) {
5032
- var _instance$autoResetRo = instance.autoResetRowState,
5033
- autoResetRowState = _instance$autoResetRo === void 0 ? true : _instance$autoResetRo,
5034
- data = instance.data,
5035
- dispatch = instance.dispatch;
5036
- var setRowState = React.useCallback(function (rowId, value) {
5037
- return dispatch({
5038
- type: actions.setRowState,
5039
- rowId: rowId,
5040
- value: value
5041
- });
5042
- }, [dispatch]);
5043
- var setCellState = React.useCallback(function (rowId, columnId, value) {
5044
- return dispatch({
5045
- type: actions.setCellState,
5046
- rowId: rowId,
5047
- columnId: columnId,
5048
- value: value
5049
- });
5050
- }, [dispatch]);
5051
- var getAutoResetRowState = useGetLatest(autoResetRowState);
5052
- useMountedLayoutEffect(function () {
5053
- if (getAutoResetRowState()) {
5054
- dispatch({
5055
- type: actions.resetRowState
5056
- });
5057
- }
5058
- }, [data]);
5059
- Object.assign(instance, {
5060
- setRowState: setRowState,
5061
- setCellState: setCellState
5062
- });
5063
- }
5064
-
5065
- function prepareRow$4(row, _ref) {
5066
- var instance = _ref.instance;
5067
- var _instance$initialRowS2 = instance.initialRowStateAccessor,
5068
- initialRowStateAccessor = _instance$initialRowS2 === void 0 ? defaultInitialRowStateAccessor : _instance$initialRowS2,
5069
- _instance$initialCell2 = instance.initialCellStateAccessor,
5070
- initialCellStateAccessor = _instance$initialCell2 === void 0 ? defaultInitialCellStateAccessor : _instance$initialCell2,
5071
- rowState = instance.state.rowState;
5072
-
5073
- if (row) {
5074
- row.state = typeof rowState[row.id] !== 'undefined' ? rowState[row.id] : initialRowStateAccessor(row);
5075
-
5076
- row.setState = function (updater) {
5077
- return instance.setRowState(row.id, updater);
5078
- };
5079
-
5080
- row.cells.forEach(function (cell) {
5081
- if (!row.state.cellState) {
5082
- row.state.cellState = {};
5083
- }
5084
-
5085
- cell.state = typeof row.state.cellState[cell.column.id] !== 'undefined' ? row.state.cellState[cell.column.id] : initialCellStateAccessor(cell);
5086
-
5087
- cell.setState = function (updater) {
5088
- return instance.setCellState(row.id, cell.column.id, updater);
5089
- };
5090
- });
5091
- }
5092
- }
5093
-
5094
- actions.resetColumnOrder = 'resetColumnOrder';
5095
- actions.setColumnOrder = 'setColumnOrder';
5096
- var useColumnOrder = function useColumnOrder(hooks) {
5097
- hooks.stateReducers.push(reducer$a);
5098
- hooks.visibleColumnsDeps.push(function (deps, _ref) {
5099
- var instance = _ref.instance;
5100
- return [].concat(deps, [instance.state.columnOrder]);
5101
- });
5102
- hooks.visibleColumns.push(visibleColumns$2);
5103
- hooks.useInstance.push(useInstance$a);
5104
- };
5105
- useColumnOrder.pluginName = 'useColumnOrder';
5106
-
5107
- function reducer$a(state, action, previousState, instance) {
5108
- if (action.type === actions.init) {
5109
- return _extends({
5110
- columnOrder: []
5111
- }, state);
5112
- }
5113
-
5114
- if (action.type === actions.resetColumnOrder) {
5115
- return _extends({}, state, {
5116
- columnOrder: instance.initialState.columnOrder || []
5117
- });
5118
- }
5119
-
5120
- if (action.type === actions.setColumnOrder) {
5121
- return _extends({}, state, {
5122
- columnOrder: functionalUpdate(action.columnOrder, state.columnOrder)
5123
- });
5124
- }
5125
- }
5126
-
5127
- function visibleColumns$2(columns, _ref2) {
5128
- var columnOrder = _ref2.instance.state.columnOrder;
5129
-
5130
- // If there is no order, return the normal columns
5131
- if (!columnOrder || !columnOrder.length) {
5132
- return columns;
5133
- }
5134
-
5135
- var columnOrderCopy = [].concat(columnOrder); // If there is an order, make a copy of the columns
5136
-
5137
- var columnsCopy = [].concat(columns); // And make a new ordered array of the columns
5138
-
5139
- var columnsInOrder = []; // Loop over the columns and place them in order into the new array
5140
-
5141
- var _loop = function _loop() {
5142
- var targetColumnId = columnOrderCopy.shift();
5143
- var foundIndex = columnsCopy.findIndex(function (d) {
5144
- return d.id === targetColumnId;
5145
- });
5146
-
5147
- if (foundIndex > -1) {
5148
- columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0]);
5149
- }
5150
- };
5151
-
5152
- while (columnsCopy.length && columnOrderCopy.length) {
5153
- _loop();
5154
- } // If there are any columns left, add them to the end
5155
-
5156
-
5157
- return [].concat(columnsInOrder, columnsCopy);
5158
- }
5159
-
5160
- function useInstance$a(instance) {
5161
- var dispatch = instance.dispatch;
5162
- instance.setColumnOrder = React.useCallback(function (columnOrder) {
5163
- return dispatch({
5164
- type: actions.setColumnOrder,
5165
- columnOrder: columnOrder
5166
- });
5167
- }, [dispatch]);
5168
- }
5169
-
5170
- defaultColumn.canResize = true; // Actions
5171
-
5172
- actions.columnStartResizing = 'columnStartResizing';
5173
- actions.columnResizing = 'columnResizing';
5174
- actions.columnDoneResizing = 'columnDoneResizing';
5175
- actions.resetResize = 'resetResize';
5176
- var useResizeColumns = function useResizeColumns(hooks) {
5177
- hooks.getResizerProps = [defaultGetResizerProps];
5178
- hooks.getHeaderProps.push({
5179
- style: {
5180
- position: 'relative'
5181
- }
5182
- });
5183
- hooks.stateReducers.push(reducer$b);
5184
- hooks.useInstance.push(useInstance$b);
5185
- hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions$1);
5186
- };
5187
-
5188
- var defaultGetResizerProps = function defaultGetResizerProps(props, _ref) {
5189
- var instance = _ref.instance,
5190
- header = _ref.header;
5191
- var dispatch = instance.dispatch;
5192
-
5193
- var onResizeStart = function onResizeStart(e, header) {
5194
- var isTouchEvent = false;
5195
-
5196
- if (e.type === 'touchstart') {
5197
- // lets not respond to multiple touches (e.g. 2 or 3 fingers)
5198
- if (e.touches && e.touches.length > 1) {
5199
- return;
5200
- }
5201
-
5202
- isTouchEvent = true;
5203
- }
5204
-
5205
- var headersToResize = getLeafHeaders(header);
5206
- var headerIdWidths = headersToResize.map(function (d) {
5207
- return [d.id, d.totalWidth];
5208
- });
5209
- var clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX;
5210
-
5211
- var dispatchMove = function dispatchMove(clientXPos) {
5212
- dispatch({
5213
- type: actions.columnResizing,
5214
- clientX: clientXPos
5215
- });
5216
- };
5217
-
5218
- var dispatchEnd = function dispatchEnd() {
5219
- return dispatch({
5220
- type: actions.columnDoneResizing
5221
- });
5222
- };
5223
-
5224
- var handlersAndEvents = {
5225
- mouse: {
5226
- moveEvent: 'mousemove',
5227
- moveHandler: function moveHandler(e) {
5228
- return dispatchMove(e.clientX);
5229
- },
5230
- upEvent: 'mouseup',
5231
- upHandler: function upHandler(e) {
5232
- document.removeEventListener('mousemove', handlersAndEvents.mouse.moveHandler);
5233
- document.removeEventListener('mouseup', handlersAndEvents.mouse.upHandler);
5234
- dispatchEnd();
5235
- }
5236
- },
5237
- touch: {
5238
- moveEvent: 'touchmove',
5239
- moveHandler: function moveHandler(e) {
5240
- if (e.cancelable) {
5241
- e.preventDefault();
5242
- e.stopPropagation();
5243
- }
5244
-
5245
- dispatchMove(e.touches[0].clientX);
5246
- return false;
5247
- },
5248
- upEvent: 'touchend',
5249
- upHandler: function upHandler(e) {
5250
- document.removeEventListener(handlersAndEvents.touch.moveEvent, handlersAndEvents.touch.moveHandler);
5251
- document.removeEventListener(handlersAndEvents.touch.upEvent, handlersAndEvents.touch.moveHandler);
5252
- dispatchEnd();
5253
- }
5254
- }
5255
- };
5256
- var events = isTouchEvent ? handlersAndEvents.touch : handlersAndEvents.mouse;
5257
- var passiveIfSupported = passiveEventSupported() ? {
5258
- passive: false
5259
- } : false;
5260
- document.addEventListener(events.moveEvent, events.moveHandler, passiveIfSupported);
5261
- document.addEventListener(events.upEvent, events.upHandler, passiveIfSupported);
5262
- dispatch({
5263
- type: actions.columnStartResizing,
5264
- columnId: header.id,
5265
- columnWidth: header.totalWidth,
5266
- headerIdWidths: headerIdWidths,
5267
- clientX: clientX
5268
- });
5269
- };
5270
-
5271
- return [props, {
5272
- onMouseDown: function onMouseDown(e) {
5273
- return e.persist() || onResizeStart(e, header);
5274
- },
5275
- onTouchStart: function onTouchStart(e) {
5276
- return e.persist() || onResizeStart(e, header);
5277
- },
5278
- style: {
5279
- cursor: 'col-resize'
5280
- },
5281
- draggable: false,
5282
- role: 'separator'
5283
- }];
5284
- };
5285
-
5286
- useResizeColumns.pluginName = 'useResizeColumns';
5287
-
5288
- function reducer$b(state, action) {
5289
- if (action.type === actions.init) {
5290
- return _extends({
5291
- columnResizing: {
5292
- columnWidths: {}
5293
- }
5294
- }, state);
5295
- }
5296
-
5297
- if (action.type === actions.resetResize) {
5298
- return _extends({}, state, {
5299
- columnResizing: {
5300
- columnWidths: {}
5301
- }
5302
- });
5303
- }
5304
-
5305
- if (action.type === actions.columnStartResizing) {
5306
- var clientX = action.clientX,
5307
- columnId = action.columnId,
5308
- columnWidth = action.columnWidth,
5309
- headerIdWidths = action.headerIdWidths;
5310
- return _extends({}, state, {
5311
- columnResizing: _extends({}, state.columnResizing, {
5312
- startX: clientX,
5313
- headerIdWidths: headerIdWidths,
5314
- columnWidth: columnWidth,
5315
- isResizingColumn: columnId
5316
- })
5317
- });
5318
- }
5319
-
5320
- if (action.type === actions.columnResizing) {
5321
- var _clientX = action.clientX;
5322
-
5323
- var _state$columnResizing = state.columnResizing,
5324
- startX = _state$columnResizing.startX,
5325
- _columnWidth = _state$columnResizing.columnWidth,
5326
- _state$columnResizing2 = _state$columnResizing.headerIdWidths,
5327
- _headerIdWidths = _state$columnResizing2 === void 0 ? [] : _state$columnResizing2;
5328
-
5329
- var deltaX = _clientX - startX;
5330
- var percentageDeltaX = deltaX / _columnWidth;
5331
- var newColumnWidths = {};
5332
-
5333
- _headerIdWidths.forEach(function (_ref2) {
5334
- var headerId = _ref2[0],
5335
- headerWidth = _ref2[1];
5336
- newColumnWidths[headerId] = Math.max(headerWidth + headerWidth * percentageDeltaX, 0);
5337
- });
5338
-
5339
- return _extends({}, state, {
5340
- columnResizing: _extends({}, state.columnResizing, {
5341
- columnWidths: _extends({}, state.columnResizing.columnWidths, {}, newColumnWidths)
5342
- })
5343
- });
5344
- }
5345
-
5346
- if (action.type === actions.columnDoneResizing) {
5347
- return _extends({}, state, {
5348
- columnResizing: _extends({}, state.columnResizing, {
5349
- startX: null,
5350
- isResizingColumn: null
5351
- })
5352
- });
5353
- }
5354
- }
5355
-
5356
- var useInstanceBeforeDimensions$1 = function useInstanceBeforeDimensions(instance) {
5357
- var flatHeaders = instance.flatHeaders,
5358
- disableResizing = instance.disableResizing,
5359
- getHooks = instance.getHooks,
5360
- columnResizing = instance.state.columnResizing;
5361
- var getInstance = useGetLatest(instance);
5362
- flatHeaders.forEach(function (header) {
5363
- var canResize = getFirstDefined(header.disableResizing === true ? false : undefined, disableResizing === true ? false : undefined, true);
5364
- header.canResize = canResize;
5365
- header.width = columnResizing.columnWidths[header.id] || header.originalWidth || header.width;
5366
- header.isResizing = columnResizing.isResizingColumn === header.id;
5367
-
5368
- if (canResize) {
5369
- header.getResizerProps = makePropGetter(getHooks().getResizerProps, {
5370
- instance: getInstance(),
5371
- header: header
5372
- });
5373
- }
5374
- });
5375
- };
5376
-
5377
- function useInstance$b(instance) {
5378
- var plugins = instance.plugins,
5379
- dispatch = instance.dispatch,
5380
- _instance$autoResetRe = instance.autoResetResize,
5381
- autoResetResize = _instance$autoResetRe === void 0 ? true : _instance$autoResetRe,
5382
- columns = instance.columns;
5383
- ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns');
5384
- var getAutoResetResize = useGetLatest(autoResetResize);
5385
- useMountedLayoutEffect(function () {
5386
- if (getAutoResetResize()) {
5387
- dispatch({
5388
- type: actions.resetResize
5389
- });
5390
- }
5391
- }, [columns]);
5392
- var resetResizing = React.useCallback(function () {
5393
- return dispatch({
5394
- type: actions.resetResize
5395
- });
5396
- }, [dispatch]);
5397
- Object.assign(instance, {
5398
- resetResizing: resetResizing
5399
- });
5400
- }
5401
-
5402
- function getLeafHeaders(header) {
5403
- var leafHeaders = [];
5404
-
5405
- var recurseHeader = function recurseHeader(header) {
5406
- if (header.columns && header.columns.length) {
5407
- header.columns.map(recurseHeader);
5408
- }
5409
-
5410
- leafHeaders.push(header);
5411
- };
5412
-
5413
- recurseHeader(header);
5414
- return leafHeaders;
5415
- }
5416
-
5417
- var cellStyles = {
5418
- position: 'absolute',
5419
- top: 0
5420
- };
5421
- var useAbsoluteLayout = function useAbsoluteLayout(hooks) {
5422
- hooks.getTableBodyProps.push(getRowStyles);
5423
- hooks.getRowProps.push(getRowStyles);
5424
- hooks.getHeaderGroupProps.push(getRowStyles);
5425
- hooks.getFooterGroupProps.push(getRowStyles);
5426
- hooks.getHeaderProps.push(function (props, _ref) {
5427
- var column = _ref.column;
5428
- return [props, {
5429
- style: _extends({}, cellStyles, {
5430
- left: column.totalLeft + "px",
5431
- width: column.totalWidth + "px"
5432
- })
5433
- }];
5434
- });
5435
- hooks.getCellProps.push(function (props, _ref2) {
5436
- var cell = _ref2.cell;
5437
- return [props, {
5438
- style: _extends({}, cellStyles, {
5439
- left: cell.column.totalLeft + "px",
5440
- width: cell.column.totalWidth + "px"
5441
- })
5442
- }];
5443
- });
5444
- hooks.getFooterProps.push(function (props, _ref3) {
5445
- var column = _ref3.column;
5446
- return [props, {
5447
- style: _extends({}, cellStyles, {
5448
- left: column.totalLeft + "px",
5449
- width: column.totalWidth + "px"
5450
- })
5451
- }];
5452
- });
5453
- };
5454
- useAbsoluteLayout.pluginName = 'useAbsoluteLayout';
5455
-
5456
- var getRowStyles = function getRowStyles(props, _ref4) {
5457
- var instance = _ref4.instance;
5458
- return [props, {
5459
- style: {
5460
- position: 'relative',
5461
- width: instance.totalColumnsWidth + "px"
5462
- }
5463
- }];
5464
- };
5465
-
5466
- var cellStyles$1 = {
5467
- display: 'inline-block',
5468
- boxSizing: 'border-box'
5469
- };
5470
-
5471
- var getRowStyles$1 = function getRowStyles(props, _ref) {
5472
- var instance = _ref.instance;
5473
- return [props, {
5474
- style: {
5475
- display: 'flex',
5476
- width: instance.totalColumnsWidth + "px"
5477
- }
5478
- }];
5479
- };
5480
-
5481
- var useBlockLayout = function useBlockLayout(hooks) {
5482
- hooks.getRowProps.push(getRowStyles$1);
5483
- hooks.getHeaderGroupProps.push(getRowStyles$1);
5484
- hooks.getFooterGroupProps.push(getRowStyles$1);
5485
- hooks.getHeaderProps.push(function (props, _ref2) {
5486
- var column = _ref2.column;
5487
- return [props, {
5488
- style: _extends({}, cellStyles$1, {
5489
- width: column.totalWidth + "px"
5490
- })
5491
- }];
5492
- });
5493
- hooks.getCellProps.push(function (props, _ref3) {
5494
- var cell = _ref3.cell;
5495
- return [props, {
5496
- style: _extends({}, cellStyles$1, {
5497
- width: cell.column.totalWidth + "px"
5498
- })
5499
- }];
5500
- });
5501
- hooks.getFooterProps.push(function (props, _ref4) {
5502
- var column = _ref4.column;
5503
- return [props, {
5504
- style: _extends({}, cellStyles$1, {
5505
- width: column.totalWidth + "px"
5506
- })
5507
- }];
5508
- });
5509
- };
5510
- useBlockLayout.pluginName = 'useBlockLayout';
5511
-
5512
- function useFlexLayout(hooks) {
5513
- hooks.getTableProps.push(getTableProps);
5514
- hooks.getRowProps.push(getRowStyles$2);
5515
- hooks.getHeaderGroupProps.push(getRowStyles$2);
5516
- hooks.getFooterGroupProps.push(getRowStyles$2);
5517
- hooks.getHeaderProps.push(getHeaderProps);
5518
- hooks.getCellProps.push(getCellProps);
5519
- hooks.getFooterProps.push(getFooterProps);
5520
- }
5521
- useFlexLayout.pluginName = 'useFlexLayout';
5522
-
5523
- var getTableProps = function getTableProps(props, _ref) {
5524
- var instance = _ref.instance;
5525
- return [props, {
5526
- style: {
5527
- minWidth: instance.totalColumnsMinWidth + "px"
5528
- }
5529
- }];
5530
- };
5531
-
5532
- var getRowStyles$2 = function getRowStyles(props, _ref2) {
5533
- var instance = _ref2.instance;
5534
- return [props, {
5535
- style: {
5536
- display: 'flex',
5537
- flex: '1 0 auto',
5538
- minWidth: instance.totalColumnsMinWidth + "px"
5539
- }
5540
- }];
5541
- };
5542
-
5543
- var getHeaderProps = function getHeaderProps(props, _ref3) {
5544
- var column = _ref3.column;
5545
- return [props, {
5546
- style: {
5547
- boxSizing: 'border-box',
5548
- flex: column.totalFlexWidth ? column.totalFlexWidth + " 0 auto" : undefined,
5549
- minWidth: column.totalMinWidth + "px",
5550
- width: column.totalWidth + "px"
5551
- }
5552
- }];
5553
- };
5554
-
5555
- var getCellProps = function getCellProps(props, _ref4) {
5556
- var cell = _ref4.cell;
5557
- return [props, {
5558
- style: {
5559
- boxSizing: 'border-box',
5560
- flex: cell.column.totalFlexWidth + " 0 auto",
5561
- minWidth: cell.column.totalMinWidth + "px",
5562
- width: cell.column.totalWidth + "px"
5563
- }
5564
- }];
5565
- };
5566
-
5567
- var getFooterProps = function getFooterProps(props, _ref5) {
5568
- var column = _ref5.column;
5569
- return [props, {
5570
- style: {
5571
- boxSizing: 'border-box',
5572
- flex: column.totalFlexWidth ? column.totalFlexWidth + " 0 auto" : undefined,
5573
- minWidth: column.totalMinWidth + "px",
5574
- width: column.totalWidth + "px"
5575
- }
5576
- }];
5577
- };
5578
-
5579
- function useGridLayout(hooks) {
5580
- hooks.stateReducers.push(reducer$c);
5581
- hooks.getTableProps.push(getTableProps$1);
5582
- hooks.getHeaderProps.push(getHeaderProps$1);
5583
- }
5584
- useGridLayout.pluginName = 'useGridLayout';
5585
-
5586
- var getTableProps$1 = function getTableProps(props, _ref) {
5587
- var instance = _ref.instance;
5588
- return [props, {
5589
- style: {
5590
- display: "grid",
5591
- gridTemplateColumns: instance.state.gridLayout.columnWidths.map(function (w) {
5592
- return w;
5593
- }).join(" ")
5594
- }
5595
- }];
5596
- };
5597
-
5598
- var getHeaderProps$1 = function getHeaderProps(props, _ref2) {
5599
- var column = _ref2.column;
5600
- return [props, {
5601
- id: "header-cell-" + column.id,
5602
- style: {
5603
- position: "sticky" //enables a scroll wrapper to be placed around the table and have sticky headers
5604
-
5605
- }
5606
- }];
5607
- };
5608
-
5609
- function reducer$c(state, action, previousState, instance) {
5610
- if (action.type === "init") {
5611
- return _extends({
5612
- gridLayout: {
5613
- columnWidths: instance.columns.map(function () {
5614
- return "auto";
5615
- })
5616
- }
5617
- }, state);
5618
- }
5619
-
5620
- if (action.type === "columnStartResizing") {
5621
- var columnId = action.columnId;
5622
- var columnIndex = instance.visibleColumns.findIndex(function (col) {
5623
- return col.id === columnId;
5624
- });
5625
- var elWidth = getElementWidth(columnId);
5626
-
5627
- if (elWidth !== undefined) {
5628
- return _extends({}, state, {
5629
- gridLayout: _extends({}, state.gridLayout, {
5630
- columnId: columnId,
5631
- columnIndex: columnIndex,
5632
- startingWidth: elWidth
5633
- })
5634
- });
5635
- } else {
5636
- return state;
5637
- }
5638
- }
5639
-
5640
- if (action.type === "columnResizing") {
5641
- var _state$gridLayout = state.gridLayout,
5642
- _columnIndex = _state$gridLayout.columnIndex,
5643
- startingWidth = _state$gridLayout.startingWidth,
5644
- columnWidths = _state$gridLayout.columnWidths;
5645
- var change = state.columnResizing.startX - action.clientX;
5646
- var newWidth = startingWidth - change;
5647
- var columnWidthsCopy = [].concat(columnWidths);
5648
- columnWidthsCopy[_columnIndex] = newWidth + "px";
5649
- return _extends({}, state, {
5650
- gridLayout: _extends({}, state.gridLayout, {
5651
- columnWidths: columnWidthsCopy
5652
- })
5653
- });
5654
- }
5655
- }
5656
-
5657
- function getElementWidth(columnId) {
5658
- var _document$getElementB;
5659
-
5660
- var width = (_document$getElementB = document.getElementById("header-cell-" + columnId)) == null ? void 0 : _document$getElementB.offsetWidth;
5661
-
5662
- if (width !== undefined) {
5663
- return width;
5664
- }
5665
- }
5666
-
5667
- exports._UNSTABLE_usePivotColumns = _UNSTABLE_usePivotColumns;
5668
- exports.actions = actions;
5669
- exports.defaultColumn = defaultColumn;
5670
- exports.defaultGroupByFn = defaultGroupByFn;
5671
- exports.defaultOrderByFn = defaultOrderByFn;
5672
- exports.defaultRenderer = defaultRenderer;
5673
- exports.emptyRenderer = emptyRenderer;
5674
- exports.ensurePluginOrder = ensurePluginOrder;
5675
- exports.flexRender = flexRender;
5676
- exports.functionalUpdate = functionalUpdate;
5677
- exports.loopHooks = loopHooks;
5678
- exports.makePropGetter = makePropGetter;
5679
- exports.makeRenderer = makeRenderer;
5680
- exports.reduceHooks = reduceHooks;
5681
- exports.safeUseLayoutEffect = safeUseLayoutEffect;
5682
- exports.useAbsoluteLayout = useAbsoluteLayout;
5683
- exports.useAsyncDebounce = useAsyncDebounce;
5684
- exports.useBlockLayout = useBlockLayout;
5685
- exports.useColumnOrder = useColumnOrder;
5686
- exports.useExpanded = useExpanded;
5687
- exports.useFilters = useFilters;
5688
- exports.useFlexLayout = useFlexLayout;
5689
- exports.useGetLatest = useGetLatest;
5690
- exports.useGlobalFilter = useGlobalFilter;
5691
- exports.useGridLayout = useGridLayout;
5692
- exports.useGroupBy = useGroupBy;
5693
- exports.useMountedLayoutEffect = useMountedLayoutEffect;
5694
- exports.usePagination = usePagination;
5695
- exports.useResizeColumns = useResizeColumns;
5696
- exports.useRowSelect = useRowSelect;
5697
- exports.useRowState = useRowState;
5698
- exports.useSortBy = useSortBy;
5699
- exports.useTable = useTable;
5700
-
5701
- Object.defineProperty(exports, '__esModule', { value: true });
5702
-
5703
- })));
5704
-
5705
- }(reactTable_development, reactTable_development.exports));
5706
-
5707
- if (process.env.NODE_ENV === 'production') {
5708
- reactTable.exports = reactTable_production_min.exports;
5709
- } else {
5710
- reactTable.exports = reactTable_development.exports;
5711
- }
5712
-
5713
1127
  var TableFooter = function (props) {
5714
1128
  return (React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "center", alignItems: "end", paddingTop: 3, paddingBottom: 4, flexGrow: 1 }, props.children));
5715
1129
  };
@@ -5878,7 +1292,7 @@ var Table = function (props) {
5878
1292
  var classes = useTableStyles(props);
5879
1293
  var columns = React.useMemo(function () { return makeColumns({ columns: rawColumns, actions: actions, actionColumnId: actionColumnId }); }, [rawColumns, actions]);
5880
1294
  // @ts-expect-error @types/react-table issue
5881
- var instance = reactTable.exports.useTable({ columns: columns, data: data, disableSortBy: !sortable }, reactTable.exports.useSortBy, reactTable.exports.usePagination);
1295
+ var instance = reactTable.useTable({ columns: columns, data: data, disableSortBy: !sortable }, reactTable.useSortBy, reactTable.usePagination);
5882
1296
  // @ts-expect-error @types/react-table issue
5883
1297
  var getTableProps = instance.getTableProps, getTableBodyProps = instance.getTableBodyProps, headerGroups = instance.headerGroups, page = instance.page, prepareRow = instance.prepareRow, pageCount = instance.pageCount, gotoPage = instance.gotoPage, state = instance.state, rows = instance.rows;
5884
1298
  var isPaginated = pageCount > 1;
@@ -5889,9 +1303,7 @@ var Table = function (props) {
5889
1303
  return (React__default['default'].createElement(core.Box, { className: classes.root, minHeight: (isLoading || isEmpty) && enableMinHeight ? 618 : 'unset' },
5890
1304
  React__default['default'].createElement(core.Box, { className: classes.tableWrap, minHeight: page.length > 0 && !isLoading && enableMinHeight ? 618 : 'unset' },
5891
1305
  React__default['default'].createElement("table", __assign({ className: classes.table }, getTableProps()),
5892
- React__default['default'].createElement(TableHeader, null, headerGroups.map(function (headerGroup) { return (React__default['default'].createElement(TableHeaderRow, __assign({}, headerGroup.getHeaderGroupProps()), headerGroup.headers.map(function (column) { return (React__default['default'].createElement(TableHeaderCell
5893
- // @ts-expect-error @types/react-table issue
5894
- , __assign({}, column.getHeaderProps(column.getSortByToggleProps()), { column: __assign(__assign({}, column), { isActionColumn: column.id === actionColumnId }), tableProps: props }), column.render('Header'))); }))); })),
1306
+ React__default['default'].createElement(TableHeader, null, headerGroups.map(function (headerGroup) { return (React__default['default'].createElement(TableHeaderRow, __assign({}, headerGroup.getHeaderGroupProps()), headerGroup.headers.map(function (column) { return (React__default['default'].createElement(TableHeaderCell, __assign({}, column.getHeaderProps(column.getSortByToggleProps()), { column: __assign(__assign({}, column), { isActionColumn: column.id === actionColumnId }), tableProps: props }), column.render('Header'))); }))); })),
5895
1307
  !isEmpty && !isLoading && (React__default['default'].createElement(TableBody, __assign({}, getTableBodyProps()), page.map(function (row) {
5896
1308
  prepareRow(row);
5897
1309
  return (React__default['default'].createElement(TableRow, __assign({}, row.getRowProps()), row.cells.map(function (cell) { return (React__default['default'].createElement(TableCell, __assign({}, cell.getCellProps()), cell.render('Cell'))); })));