@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
@@ -1,4591 +0,0 @@
1
- import React__default from 'react';
2
-
3
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
-
5
- var reactTable = {exports: {}};
6
-
7
- var reactTable_production_min = {exports: {}};
8
-
9
- (function (module, exports) {
10
- !function(e,t){t(exports,React__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});}));
11
-
12
- }(reactTable_production_min, reactTable_production_min.exports));
13
-
14
- var reactTable_development = {exports: {}};
15
-
16
- (function (module, exports) {
17
- (function (global, factory) {
18
- factory(exports, React__default) ;
19
- }(commonjsGlobal, (function (exports, React) {
20
- React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;
21
-
22
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
23
- try {
24
- var info = gen[key](arg);
25
- var value = info.value;
26
- } catch (error) {
27
- reject(error);
28
- return;
29
- }
30
-
31
- if (info.done) {
32
- resolve(value);
33
- } else {
34
- Promise.resolve(value).then(_next, _throw);
35
- }
36
- }
37
-
38
- function _asyncToGenerator(fn) {
39
- return function () {
40
- var self = this,
41
- args = arguments;
42
- return new Promise(function (resolve, reject) {
43
- var gen = fn.apply(self, args);
44
-
45
- function _next(value) {
46
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
47
- }
48
-
49
- function _throw(err) {
50
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
51
- }
52
-
53
- _next(undefined);
54
- });
55
- };
56
- }
57
-
58
- function _extends() {
59
- _extends = Object.assign || function (target) {
60
- for (var i = 1; i < arguments.length; i++) {
61
- var source = arguments[i];
62
-
63
- for (var key in source) {
64
- if (Object.prototype.hasOwnProperty.call(source, key)) {
65
- target[key] = source[key];
66
- }
67
- }
68
- }
69
-
70
- return target;
71
- };
72
-
73
- return _extends.apply(this, arguments);
74
- }
75
-
76
- function _objectWithoutPropertiesLoose(source, excluded) {
77
- if (source == null) return {};
78
- var target = {};
79
- var sourceKeys = Object.keys(source);
80
- var key, i;
81
-
82
- for (i = 0; i < sourceKeys.length; i++) {
83
- key = sourceKeys[i];
84
- if (excluded.indexOf(key) >= 0) continue;
85
- target[key] = source[key];
86
- }
87
-
88
- return target;
89
- }
90
-
91
- function _toPrimitive(input, hint) {
92
- if (typeof input !== "object" || input === null) return input;
93
- var prim = input[Symbol.toPrimitive];
94
-
95
- if (prim !== undefined) {
96
- var res = prim.call(input, hint || "default");
97
- if (typeof res !== "object") return res;
98
- throw new TypeError("@@toPrimitive must return a primitive value.");
99
- }
100
-
101
- return (hint === "string" ? String : Number)(input);
102
- }
103
-
104
- function _toPropertyKey(arg) {
105
- var key = _toPrimitive(arg, "string");
106
-
107
- return typeof key === "symbol" ? key : String(key);
108
- }
109
-
110
- var renderErr = 'Renderer Error ☝️';
111
- var actions = {
112
- init: 'init'
113
- };
114
- var defaultRenderer = function defaultRenderer(_ref) {
115
- var _ref$value = _ref.value,
116
- value = _ref$value === void 0 ? '' : _ref$value;
117
- return value;
118
- };
119
- var emptyRenderer = function emptyRenderer() {
120
- return React.createElement(React.Fragment, null, "\xA0");
121
- };
122
- var defaultColumn = {
123
- Cell: defaultRenderer,
124
- width: 150,
125
- minWidth: 0,
126
- maxWidth: Number.MAX_SAFE_INTEGER
127
- };
128
-
129
- function mergeProps() {
130
- for (var _len = arguments.length, propList = new Array(_len), _key = 0; _key < _len; _key++) {
131
- propList[_key] = arguments[_key];
132
- }
133
-
134
- return propList.reduce(function (props, next) {
135
- var style = next.style,
136
- className = next.className,
137
- rest = _objectWithoutPropertiesLoose(next, ["style", "className"]);
138
-
139
- props = _extends({}, props, {}, rest);
140
-
141
- if (style) {
142
- props.style = props.style ? _extends({}, props.style || {}, {}, style || {}) : style;
143
- }
144
-
145
- if (className) {
146
- props.className = props.className ? props.className + ' ' + className : className;
147
- }
148
-
149
- if (props.className === '') {
150
- delete props.className;
151
- }
152
-
153
- return props;
154
- }, {});
155
- }
156
-
157
- function handlePropGetter(prevProps, userProps, meta) {
158
- // Handle a lambda, pass it the previous props
159
- if (typeof userProps === 'function') {
160
- return handlePropGetter({}, userProps(prevProps, meta));
161
- } // Handle an array, merge each item as separate props
162
-
163
-
164
- if (Array.isArray(userProps)) {
165
- return mergeProps.apply(void 0, [prevProps].concat(userProps));
166
- } // Handle an object by default, merge the two objects
167
-
168
-
169
- return mergeProps(prevProps, userProps);
170
- }
171
-
172
- var makePropGetter = function makePropGetter(hooks, meta) {
173
- if (meta === void 0) {
174
- meta = {};
175
- }
176
-
177
- return function (userProps) {
178
- if (userProps === void 0) {
179
- userProps = {};
180
- }
181
-
182
- return [].concat(hooks, [userProps]).reduce(function (prev, next) {
183
- return handlePropGetter(prev, next, _extends({}, meta, {
184
- userProps: userProps
185
- }));
186
- }, {});
187
- };
188
- };
189
- var reduceHooks = function reduceHooks(hooks, initial, meta, allowUndefined) {
190
- if (meta === void 0) {
191
- meta = {};
192
- }
193
-
194
- return hooks.reduce(function (prev, next) {
195
- var nextValue = next(prev, meta);
196
-
197
- {
198
- if (!allowUndefined && typeof nextValue === 'undefined') {
199
- console.info(next);
200
- throw new Error('React Table: A reducer hook ☝️ just returned undefined! This is not allowed.');
201
- }
202
- }
203
-
204
- return nextValue;
205
- }, initial);
206
- };
207
- var loopHooks = function loopHooks(hooks, context, meta) {
208
- if (meta === void 0) {
209
- meta = {};
210
- }
211
-
212
- return hooks.forEach(function (hook) {
213
- var nextValue = hook(context, meta);
214
-
215
- {
216
- if (typeof nextValue !== 'undefined') {
217
- console.info(hook, nextValue);
218
- throw new Error('React Table: A loop-type hook ☝️ just returned a value! This is not allowed.');
219
- }
220
- }
221
- });
222
- };
223
- function ensurePluginOrder(plugins, befores, pluginName, afters) {
224
- if ( afters) {
225
- throw new Error("Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin " + pluginName + ")");
226
- }
227
-
228
- var pluginIndex = plugins.findIndex(function (plugin) {
229
- return plugin.pluginName === pluginName;
230
- });
231
-
232
- if (pluginIndex === -1) {
233
- {
234
- 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");
235
- }
236
- }
237
-
238
- befores.forEach(function (before) {
239
- var beforeIndex = plugins.findIndex(function (plugin) {
240
- return plugin.pluginName === before;
241
- });
242
-
243
- if (beforeIndex > -1 && beforeIndex > pluginIndex) {
244
- {
245
- throw new Error("React Table: The " + pluginName + " plugin hook must be placed after the " + before + " plugin hook!");
246
- }
247
- }
248
- });
249
- }
250
- function functionalUpdate(updater, old) {
251
- return typeof updater === 'function' ? updater(old) : updater;
252
- }
253
- function useGetLatest(obj) {
254
- var ref = React.useRef();
255
- ref.current = obj;
256
- return React.useCallback(function () {
257
- return ref.current;
258
- }, []);
259
- } // SSR has issues with useLayoutEffect still, so use useEffect during SSR
260
-
261
- var safeUseLayoutEffect = typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect;
262
- function useMountedLayoutEffect(fn, deps) {
263
- var mountedRef = React.useRef(false);
264
- safeUseLayoutEffect(function () {
265
- if (mountedRef.current) {
266
- fn();
267
- }
268
-
269
- mountedRef.current = true; // eslint-disable-next-line
270
- }, deps);
271
- }
272
- function useAsyncDebounce(defaultFn, defaultWait) {
273
- if (defaultWait === void 0) {
274
- defaultWait = 0;
275
- }
276
-
277
- var debounceRef = React.useRef({});
278
- var getDefaultFn = useGetLatest(defaultFn);
279
- var getDefaultWait = useGetLatest(defaultWait);
280
- return React.useCallback(
281
- /*#__PURE__*/
282
- function () {
283
- var _ref2 = _asyncToGenerator(
284
- /*#__PURE__*/
285
- regeneratorRuntime.mark(function _callee2() {
286
- var _len2,
287
- args,
288
- _key2,
289
- _args2 = arguments;
290
-
291
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
292
- while (1) {
293
- switch (_context2.prev = _context2.next) {
294
- case 0:
295
- for (_len2 = _args2.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
296
- args[_key2] = _args2[_key2];
297
- }
298
-
299
- if (!debounceRef.current.promise) {
300
- debounceRef.current.promise = new Promise(function (resolve, reject) {
301
- debounceRef.current.resolve = resolve;
302
- debounceRef.current.reject = reject;
303
- });
304
- }
305
-
306
- if (debounceRef.current.timeout) {
307
- clearTimeout(debounceRef.current.timeout);
308
- }
309
-
310
- debounceRef.current.timeout = setTimeout(
311
- /*#__PURE__*/
312
- _asyncToGenerator(
313
- /*#__PURE__*/
314
- regeneratorRuntime.mark(function _callee() {
315
- return regeneratorRuntime.wrap(function _callee$(_context) {
316
- while (1) {
317
- switch (_context.prev = _context.next) {
318
- case 0:
319
- delete debounceRef.current.timeout;
320
- _context.prev = 1;
321
- _context.t0 = debounceRef.current;
322
- _context.next = 5;
323
- return getDefaultFn().apply(void 0, args);
324
-
325
- case 5:
326
- _context.t1 = _context.sent;
327
-
328
- _context.t0.resolve.call(_context.t0, _context.t1);
329
-
330
- _context.next = 12;
331
- break;
332
-
333
- case 9:
334
- _context.prev = 9;
335
- _context.t2 = _context["catch"](1);
336
- debounceRef.current.reject(_context.t2);
337
-
338
- case 12:
339
- _context.prev = 12;
340
- delete debounceRef.current.promise;
341
- return _context.finish(12);
342
-
343
- case 15:
344
- case "end":
345
- return _context.stop();
346
- }
347
- }
348
- }, _callee, null, [[1, 9, 12, 15]]);
349
- })), getDefaultWait());
350
- return _context2.abrupt("return", debounceRef.current.promise);
351
-
352
- case 5:
353
- case "end":
354
- return _context2.stop();
355
- }
356
- }
357
- }, _callee2);
358
- }));
359
-
360
- return function () {
361
- return _ref2.apply(this, arguments);
362
- };
363
- }(), [getDefaultFn, getDefaultWait]);
364
- }
365
- function makeRenderer(instance, column, meta) {
366
- if (meta === void 0) {
367
- meta = {};
368
- }
369
-
370
- return function (type, userProps) {
371
- if (userProps === void 0) {
372
- userProps = {};
373
- }
374
-
375
- var Comp = typeof type === 'string' ? column[type] : type;
376
-
377
- if (typeof Comp === 'undefined') {
378
- console.info(column);
379
- throw new Error(renderErr);
380
- }
381
-
382
- return flexRender(Comp, _extends({}, instance, {
383
- column: column
384
- }, meta, {}, userProps));
385
- };
386
- }
387
- function flexRender(Comp, props) {
388
- return isReactComponent(Comp) ? React.createElement(Comp, props) : Comp;
389
- }
390
-
391
- function isReactComponent(component) {
392
- return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
393
- }
394
-
395
- function isClassComponent(component) {
396
- return typeof component === 'function' && function () {
397
- var proto = Object.getPrototypeOf(component);
398
- return proto.prototype && proto.prototype.isReactComponent;
399
- }();
400
- }
401
-
402
- function isExoticComponent(component) {
403
- return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);
404
- }
405
-
406
- function linkColumnStructure(columns, parent, depth) {
407
- if (depth === void 0) {
408
- depth = 0;
409
- }
410
-
411
- return columns.map(function (column) {
412
- column = _extends({}, column, {
413
- parent: parent,
414
- depth: depth
415
- });
416
- assignColumnAccessor(column);
417
-
418
- if (column.columns) {
419
- column.columns = linkColumnStructure(column.columns, column, depth + 1);
420
- }
421
-
422
- return column;
423
- });
424
- }
425
- function flattenColumns(columns) {
426
- return flattenBy(columns, 'columns');
427
- }
428
- function assignColumnAccessor(column) {
429
- // First check for string accessor
430
- var id = column.id,
431
- accessor = column.accessor,
432
- Header = column.Header;
433
-
434
- if (typeof accessor === 'string') {
435
- id = id || accessor;
436
- var accessorPath = accessor.split('.');
437
-
438
- accessor = function accessor(row) {
439
- return getBy(row, accessorPath);
440
- };
441
- }
442
-
443
- if (!id && typeof Header === 'string' && Header) {
444
- id = Header;
445
- }
446
-
447
- if (!id && column.columns) {
448
- console.error(column);
449
- throw new Error('A column ID (or unique "Header" value) is required!');
450
- }
451
-
452
- if (!id) {
453
- console.error(column);
454
- throw new Error('A column ID (or string accessor) is required!');
455
- }
456
-
457
- Object.assign(column, {
458
- id: id,
459
- accessor: accessor
460
- });
461
- return column;
462
- }
463
- function decorateColumn(column, userDefaultColumn) {
464
- if (!userDefaultColumn) {
465
- throw new Error();
466
- }
467
-
468
- Object.assign(column, _extends({
469
- // Make sure there is a fallback header, just in case
470
- Header: emptyRenderer,
471
- Footer: emptyRenderer
472
- }, defaultColumn, {}, userDefaultColumn, {}, column));
473
- Object.assign(column, {
474
- originalWidth: column.width
475
- });
476
- return column;
477
- } // Build the header groups from the bottom up
478
-
479
- function makeHeaderGroups(allColumns, defaultColumn, additionalHeaderProperties) {
480
- if (additionalHeaderProperties === void 0) {
481
- additionalHeaderProperties = function additionalHeaderProperties() {
482
- return {};
483
- };
484
- }
485
-
486
- var headerGroups = [];
487
- var scanColumns = allColumns;
488
- var uid = 0;
489
-
490
- var getUID = function getUID() {
491
- return uid++;
492
- };
493
-
494
- var _loop = function _loop() {
495
- // The header group we are creating
496
- var headerGroup = {
497
- headers: []
498
- }; // The parent columns we're going to scan next
499
-
500
- var parentColumns = [];
501
- var hasParents = scanColumns.some(function (d) {
502
- return d.parent;
503
- }); // Scan each column for parents
504
-
505
- scanColumns.forEach(function (column) {
506
- // What is the latest (last) parent column?
507
- var latestParentColumn = [].concat(parentColumns).reverse()[0];
508
- var newParent;
509
-
510
- if (hasParents) {
511
- // If the column has a parent, add it if necessary
512
- if (column.parent) {
513
- newParent = _extends({}, column.parent, {
514
- originalId: column.parent.id,
515
- id: column.parent.id + "_" + getUID(),
516
- headers: [column]
517
- }, additionalHeaderProperties(column));
518
- } else {
519
- // If other columns have parents, we'll need to add a place holder if necessary
520
- var originalId = column.id + "_placeholder";
521
- newParent = decorateColumn(_extends({
522
- originalId: originalId,
523
- id: column.id + "_placeholder_" + getUID(),
524
- placeholderOf: column,
525
- headers: [column]
526
- }, additionalHeaderProperties(column)), defaultColumn);
527
- } // If the resulting parent columns are the same, just add
528
- // the column and increment the header span
529
-
530
-
531
- if (latestParentColumn && latestParentColumn.originalId === newParent.originalId) {
532
- latestParentColumn.headers.push(column);
533
- } else {
534
- parentColumns.push(newParent);
535
- }
536
- }
537
-
538
- headerGroup.headers.push(column);
539
- });
540
- headerGroups.push(headerGroup); // Start scanning the parent columns
541
-
542
- scanColumns = parentColumns;
543
- };
544
-
545
- while (scanColumns.length) {
546
- _loop();
547
- }
548
-
549
- return headerGroups.reverse();
550
- }
551
- var pathObjCache = new Map();
552
- function getBy(obj, path, def) {
553
- if (!path) {
554
- return obj;
555
- }
556
-
557
- var cacheKey = typeof path === 'function' ? path : JSON.stringify(path);
558
-
559
- var pathObj = pathObjCache.get(cacheKey) || function () {
560
- var pathObj = makePathArray(path);
561
- pathObjCache.set(cacheKey, pathObj);
562
- return pathObj;
563
- }();
564
-
565
- var val;
566
-
567
- try {
568
- val = pathObj.reduce(function (cursor, pathPart) {
569
- return cursor[pathPart];
570
- }, obj);
571
- } catch (e) {// continue regardless of error
572
- }
573
-
574
- return typeof val !== 'undefined' ? val : def;
575
- }
576
- function getFirstDefined() {
577
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
578
- args[_key] = arguments[_key];
579
- }
580
-
581
- for (var i = 0; i < args.length; i += 1) {
582
- if (typeof args[i] !== 'undefined') {
583
- return args[i];
584
- }
585
- }
586
- }
587
- function isFunction(a) {
588
- if (typeof a === 'function') {
589
- return a;
590
- }
591
- }
592
- function flattenBy(arr, key) {
593
- var flat = [];
594
-
595
- var recurse = function recurse(arr) {
596
- arr.forEach(function (d) {
597
- if (!d[key]) {
598
- flat.push(d);
599
- } else {
600
- recurse(d[key]);
601
- }
602
- });
603
- };
604
-
605
- recurse(arr);
606
- return flat;
607
- }
608
- function expandRows(rows, _ref) {
609
- var manualExpandedKey = _ref.manualExpandedKey,
610
- expanded = _ref.expanded,
611
- _ref$expandSubRows = _ref.expandSubRows,
612
- expandSubRows = _ref$expandSubRows === void 0 ? true : _ref$expandSubRows;
613
- var expandedRows = [];
614
-
615
- var handleRow = function handleRow(row, addToExpandedRows) {
616
- if (addToExpandedRows === void 0) {
617
- addToExpandedRows = true;
618
- }
619
-
620
- row.isExpanded = row.original && row.original[manualExpandedKey] || expanded[row.id];
621
- row.canExpand = row.subRows && !!row.subRows.length;
622
-
623
- if (addToExpandedRows) {
624
- expandedRows.push(row);
625
- }
626
-
627
- if (row.subRows && row.subRows.length && row.isExpanded) {
628
- row.subRows.forEach(function (row) {
629
- return handleRow(row, expandSubRows);
630
- });
631
- }
632
- };
633
-
634
- rows.forEach(function (row) {
635
- return handleRow(row);
636
- });
637
- return expandedRows;
638
- }
639
- function getFilterMethod(filter, userFilterTypes, filterTypes) {
640
- return isFunction(filter) || userFilterTypes[filter] || filterTypes[filter] || filterTypes.text;
641
- }
642
- function shouldAutoRemoveFilter(autoRemove, value, column) {
643
- return autoRemove ? autoRemove(value, column) : typeof value === 'undefined';
644
- }
645
- function unpreparedAccessWarning() {
646
- throw new Error('React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.');
647
- }
648
- var passiveSupported = null;
649
- function passiveEventSupported() {
650
- // memoize support to avoid adding multiple test events
651
- if (typeof passiveSupported === 'boolean') return passiveSupported;
652
- var supported = false;
653
-
654
- try {
655
- var options = {
656
- get passive() {
657
- supported = true;
658
- return false;
659
- }
660
-
661
- };
662
- window.addEventListener('test', null, options);
663
- window.removeEventListener('test', null, options);
664
- } catch (err) {
665
- supported = false;
666
- }
667
-
668
- passiveSupported = supported;
669
- return passiveSupported;
670
- } //
671
-
672
- var reOpenBracket = /\[/g;
673
- var reCloseBracket = /\]/g;
674
-
675
- function makePathArray(obj) {
676
- return flattenDeep(obj) // remove all periods in parts
677
- .map(function (d) {
678
- return String(d).replace('.', '_');
679
- }) // join parts using period
680
- .join('.') // replace brackets with periods
681
- .replace(reOpenBracket, '.').replace(reCloseBracket, '') // split it back out on periods
682
- .split('.');
683
- }
684
-
685
- function flattenDeep(arr, newArr) {
686
- if (newArr === void 0) {
687
- newArr = [];
688
- }
689
-
690
- if (!Array.isArray(arr)) {
691
- newArr.push(arr);
692
- } else {
693
- for (var i = 0; i < arr.length; i += 1) {
694
- flattenDeep(arr[i], newArr);
695
- }
696
- }
697
-
698
- return newArr;
699
- }
700
-
701
- var defaultGetTableProps = function defaultGetTableProps(props) {
702
- return _extends({
703
- role: 'table'
704
- }, props);
705
- };
706
-
707
- var defaultGetTableBodyProps = function defaultGetTableBodyProps(props) {
708
- return _extends({
709
- role: 'rowgroup'
710
- }, props);
711
- };
712
-
713
- var defaultGetHeaderProps = function defaultGetHeaderProps(props, _ref) {
714
- var column = _ref.column;
715
- return _extends({
716
- key: "header_" + column.id,
717
- colSpan: column.totalVisibleHeaderCount,
718
- role: 'columnheader'
719
- }, props);
720
- };
721
-
722
- var defaultGetFooterProps = function defaultGetFooterProps(props, _ref2) {
723
- var column = _ref2.column;
724
- return _extends({
725
- key: "footer_" + column.id,
726
- colSpan: column.totalVisibleHeaderCount
727
- }, props);
728
- };
729
-
730
- var defaultGetHeaderGroupProps = function defaultGetHeaderGroupProps(props, _ref3) {
731
- var index = _ref3.index;
732
- return _extends({
733
- key: "headerGroup_" + index,
734
- role: 'row'
735
- }, props);
736
- };
737
-
738
- var defaultGetFooterGroupProps = function defaultGetFooterGroupProps(props, _ref4) {
739
- var index = _ref4.index;
740
- return _extends({
741
- key: "footerGroup_" + index
742
- }, props);
743
- };
744
-
745
- var defaultGetRowProps = function defaultGetRowProps(props, _ref5) {
746
- var row = _ref5.row;
747
- return _extends({
748
- key: "row_" + row.id,
749
- role: 'row'
750
- }, props);
751
- };
752
-
753
- var defaultGetCellProps = function defaultGetCellProps(props, _ref6) {
754
- var cell = _ref6.cell;
755
- return _extends({
756
- key: "cell_" + cell.row.id + "_" + cell.column.id,
757
- role: 'cell'
758
- }, props);
759
- };
760
-
761
- function makeDefaultPluginHooks() {
762
- return {
763
- useOptions: [],
764
- stateReducers: [],
765
- useControlledState: [],
766
- columns: [],
767
- columnsDeps: [],
768
- allColumns: [],
769
- allColumnsDeps: [],
770
- accessValue: [],
771
- materializedColumns: [],
772
- materializedColumnsDeps: [],
773
- useInstanceAfterData: [],
774
- visibleColumns: [],
775
- visibleColumnsDeps: [],
776
- headerGroups: [],
777
- headerGroupsDeps: [],
778
- useInstanceBeforeDimensions: [],
779
- useInstance: [],
780
- prepareRow: [],
781
- getTableProps: [defaultGetTableProps],
782
- getTableBodyProps: [defaultGetTableBodyProps],
783
- getHeaderGroupProps: [defaultGetHeaderGroupProps],
784
- getFooterGroupProps: [defaultGetFooterGroupProps],
785
- getHeaderProps: [defaultGetHeaderProps],
786
- getFooterProps: [defaultGetFooterProps],
787
- getRowProps: [defaultGetRowProps],
788
- getCellProps: [defaultGetCellProps],
789
- useFinalInstance: []
790
- };
791
- }
792
-
793
- actions.resetHiddenColumns = 'resetHiddenColumns';
794
- actions.toggleHideColumn = 'toggleHideColumn';
795
- actions.setHiddenColumns = 'setHiddenColumns';
796
- actions.toggleHideAllColumns = 'toggleHideAllColumns';
797
- var useColumnVisibility = function useColumnVisibility(hooks) {
798
- hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps];
799
- hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps];
800
- hooks.stateReducers.push(reducer);
801
- hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions);
802
- hooks.headerGroupsDeps.push(function (deps, _ref) {
803
- var instance = _ref.instance;
804
- return [].concat(deps, [instance.state.hiddenColumns]);
805
- });
806
- hooks.useInstance.push(useInstance);
807
- };
808
- useColumnVisibility.pluginName = 'useColumnVisibility';
809
-
810
- var defaultGetToggleHiddenProps = function defaultGetToggleHiddenProps(props, _ref2) {
811
- var column = _ref2.column;
812
- return [props, {
813
- onChange: function onChange(e) {
814
- column.toggleHidden(!e.target.checked);
815
- },
816
- style: {
817
- cursor: 'pointer'
818
- },
819
- checked: column.isVisible,
820
- title: 'Toggle Column Visible'
821
- }];
822
- };
823
-
824
- var defaultGetToggleHideAllColumnsProps = function defaultGetToggleHideAllColumnsProps(props, _ref3) {
825
- var instance = _ref3.instance;
826
- return [props, {
827
- onChange: function onChange(e) {
828
- instance.toggleHideAllColumns(!e.target.checked);
829
- },
830
- style: {
831
- cursor: 'pointer'
832
- },
833
- checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,
834
- title: 'Toggle All Columns Hidden',
835
- indeterminate: !instance.allColumnsHidden && instance.state.hiddenColumns.length
836
- }];
837
- };
838
-
839
- function reducer(state, action, previousState, instance) {
840
- if (action.type === actions.init) {
841
- return _extends({
842
- hiddenColumns: []
843
- }, state);
844
- }
845
-
846
- if (action.type === actions.resetHiddenColumns) {
847
- return _extends({}, state, {
848
- hiddenColumns: instance.initialState.hiddenColumns || []
849
- });
850
- }
851
-
852
- if (action.type === actions.toggleHideColumn) {
853
- var should = typeof action.value !== 'undefined' ? action.value : !state.hiddenColumns.includes(action.columnId);
854
- var hiddenColumns = should ? [].concat(state.hiddenColumns, [action.columnId]) : state.hiddenColumns.filter(function (d) {
855
- return d !== action.columnId;
856
- });
857
- return _extends({}, state, {
858
- hiddenColumns: hiddenColumns
859
- });
860
- }
861
-
862
- if (action.type === actions.setHiddenColumns) {
863
- return _extends({}, state, {
864
- hiddenColumns: functionalUpdate(action.value, state.hiddenColumns)
865
- });
866
- }
867
-
868
- if (action.type === actions.toggleHideAllColumns) {
869
- var shouldAll = typeof action.value !== 'undefined' ? action.value : !state.hiddenColumns.length;
870
- return _extends({}, state, {
871
- hiddenColumns: shouldAll ? instance.allColumns.map(function (d) {
872
- return d.id;
873
- }) : []
874
- });
875
- }
876
- }
877
-
878
- function useInstanceBeforeDimensions(instance) {
879
- var headers = instance.headers,
880
- hiddenColumns = instance.state.hiddenColumns;
881
- var isMountedRef = React.useRef(false);
882
-
883
- if (!isMountedRef.current) ;
884
-
885
- var handleColumn = function handleColumn(column, parentVisible) {
886
- column.isVisible = parentVisible && !hiddenColumns.includes(column.id);
887
- var totalVisibleHeaderCount = 0;
888
-
889
- if (column.headers && column.headers.length) {
890
- column.headers.forEach(function (subColumn) {
891
- return totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible);
892
- });
893
- } else {
894
- totalVisibleHeaderCount = column.isVisible ? 1 : 0;
895
- }
896
-
897
- column.totalVisibleHeaderCount = totalVisibleHeaderCount;
898
- return totalVisibleHeaderCount;
899
- };
900
-
901
- var totalVisibleHeaderCount = 0;
902
- headers.forEach(function (subHeader) {
903
- return totalVisibleHeaderCount += handleColumn(subHeader, true);
904
- });
905
- }
906
-
907
- function useInstance(instance) {
908
- var columns = instance.columns,
909
- flatHeaders = instance.flatHeaders,
910
- dispatch = instance.dispatch,
911
- allColumns = instance.allColumns,
912
- getHooks = instance.getHooks,
913
- hiddenColumns = instance.state.hiddenColumns,
914
- _instance$autoResetHi = instance.autoResetHiddenColumns,
915
- autoResetHiddenColumns = _instance$autoResetHi === void 0 ? true : _instance$autoResetHi;
916
- var getInstance = useGetLatest(instance);
917
- var allColumnsHidden = allColumns.length === hiddenColumns.length;
918
- var toggleHideColumn = React.useCallback(function (columnId, value) {
919
- return dispatch({
920
- type: actions.toggleHideColumn,
921
- columnId: columnId,
922
- value: value
923
- });
924
- }, [dispatch]);
925
- var setHiddenColumns = React.useCallback(function (value) {
926
- return dispatch({
927
- type: actions.setHiddenColumns,
928
- value: value
929
- });
930
- }, [dispatch]);
931
- var toggleHideAllColumns = React.useCallback(function (value) {
932
- return dispatch({
933
- type: actions.toggleHideAllColumns,
934
- value: value
935
- });
936
- }, [dispatch]);
937
- var getToggleHideAllColumnsProps = makePropGetter(getHooks().getToggleHideAllColumnsProps, {
938
- instance: getInstance()
939
- });
940
- flatHeaders.forEach(function (column) {
941
- column.toggleHidden = function (value) {
942
- dispatch({
943
- type: actions.toggleHideColumn,
944
- columnId: column.id,
945
- value: value
946
- });
947
- };
948
-
949
- column.getToggleHiddenProps = makePropGetter(getHooks().getToggleHiddenProps, {
950
- instance: getInstance(),
951
- column: column
952
- });
953
- });
954
- var getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns);
955
- useMountedLayoutEffect(function () {
956
- if (getAutoResetHiddenColumns()) {
957
- dispatch({
958
- type: actions.resetHiddenColumns
959
- });
960
- }
961
- }, [dispatch, columns]);
962
- Object.assign(instance, {
963
- allColumnsHidden: allColumnsHidden,
964
- toggleHideColumn: toggleHideColumn,
965
- setHiddenColumns: setHiddenColumns,
966
- toggleHideAllColumns: toggleHideAllColumns,
967
- getToggleHideAllColumnsProps: getToggleHideAllColumnsProps
968
- });
969
- }
970
-
971
- var defaultInitialState = {};
972
- var defaultColumnInstance = {};
973
-
974
- var defaultReducer = function defaultReducer(state, action, prevState) {
975
- return state;
976
- };
977
-
978
- var defaultGetSubRows = function defaultGetSubRows(row, index) {
979
- return row.subRows || [];
980
- };
981
-
982
- var defaultGetRowId = function defaultGetRowId(row, index, parent) {
983
- return "" + (parent ? [parent.id, index].join('.') : index);
984
- };
985
-
986
- var defaultUseControlledState = function defaultUseControlledState(d) {
987
- return d;
988
- };
989
-
990
- function applyDefaults(props) {
991
- var _props$initialState = props.initialState,
992
- initialState = _props$initialState === void 0 ? defaultInitialState : _props$initialState,
993
- _props$defaultColumn = props.defaultColumn,
994
- defaultColumn = _props$defaultColumn === void 0 ? defaultColumnInstance : _props$defaultColumn,
995
- _props$getSubRows = props.getSubRows,
996
- getSubRows = _props$getSubRows === void 0 ? defaultGetSubRows : _props$getSubRows,
997
- _props$getRowId = props.getRowId,
998
- getRowId = _props$getRowId === void 0 ? defaultGetRowId : _props$getRowId,
999
- _props$stateReducer = props.stateReducer,
1000
- stateReducer = _props$stateReducer === void 0 ? defaultReducer : _props$stateReducer,
1001
- _props$useControlledS = props.useControlledState,
1002
- useControlledState = _props$useControlledS === void 0 ? defaultUseControlledState : _props$useControlledS,
1003
- rest = _objectWithoutPropertiesLoose(props, ["initialState", "defaultColumn", "getSubRows", "getRowId", "stateReducer", "useControlledState"]);
1004
-
1005
- return _extends({}, rest, {
1006
- initialState: initialState,
1007
- defaultColumn: defaultColumn,
1008
- getSubRows: getSubRows,
1009
- getRowId: getRowId,
1010
- stateReducer: stateReducer,
1011
- useControlledState: useControlledState
1012
- });
1013
- }
1014
-
1015
- var useTable = function useTable(props) {
1016
- for (var _len = arguments.length, plugins = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1017
- plugins[_key - 1] = arguments[_key];
1018
- }
1019
-
1020
- // Apply default props
1021
- props = applyDefaults(props); // Add core plugins
1022
-
1023
- plugins = [useColumnVisibility].concat(plugins); // Create the table instance
1024
-
1025
- var instanceRef = React.useRef({}); // Create a getter for the instance (helps avoid a lot of potential memory leaks)
1026
-
1027
- var getInstance = useGetLatest(instanceRef.current); // Assign the props, plugins and hooks to the instance
1028
-
1029
- Object.assign(getInstance(), _extends({}, props, {
1030
- plugins: plugins,
1031
- hooks: makeDefaultPluginHooks()
1032
- })); // Allow plugins to register hooks as early as possible
1033
-
1034
- plugins.filter(Boolean).forEach(function (plugin) {
1035
- plugin(getInstance().hooks);
1036
- }); // Consume all hooks and make a getter for them
1037
-
1038
- var getHooks = useGetLatest(getInstance().hooks);
1039
- getInstance().getHooks = getHooks;
1040
- delete getInstance().hooks; // Allow useOptions hooks to modify the options coming into the table
1041
-
1042
- Object.assign(getInstance(), reduceHooks(getHooks().useOptions, applyDefaults(props)));
1043
-
1044
- var _getInstance = getInstance(),
1045
- data = _getInstance.data,
1046
- userColumns = _getInstance.columns,
1047
- initialState = _getInstance.initialState,
1048
- defaultColumn = _getInstance.defaultColumn,
1049
- getSubRows = _getInstance.getSubRows,
1050
- getRowId = _getInstance.getRowId,
1051
- stateReducer = _getInstance.stateReducer,
1052
- useControlledState = _getInstance.useControlledState; // Setup user reducer ref
1053
-
1054
-
1055
- var getStateReducer = useGetLatest(stateReducer); // Build the reducer
1056
-
1057
- var reducer = React.useCallback(function (state, action) {
1058
- // Detect invalid actions
1059
- if (!action.type) {
1060
- console.info({
1061
- action: action
1062
- });
1063
- throw new Error('Unknown Action 👆');
1064
- } // Reduce the state from all plugin reducers
1065
-
1066
-
1067
- return [].concat(getHooks().stateReducers, Array.isArray(getStateReducer()) ? getStateReducer() : [getStateReducer()]).reduce(function (s, handler) {
1068
- return handler(s, action, state, getInstance()) || s;
1069
- }, state);
1070
- }, [getHooks, getStateReducer, getInstance]); // Start the reducer
1071
-
1072
- var _React$useReducer = React.useReducer(reducer, undefined, function () {
1073
- return reducer(initialState, {
1074
- type: actions.init
1075
- });
1076
- }),
1077
- reducerState = _React$useReducer[0],
1078
- dispatch = _React$useReducer[1]; // Allow the user to control the final state with hooks
1079
-
1080
-
1081
- var state = reduceHooks([].concat(getHooks().useControlledState, [useControlledState]), reducerState, {
1082
- instance: getInstance()
1083
- });
1084
- Object.assign(getInstance(), {
1085
- state: state,
1086
- dispatch: dispatch
1087
- }); // Decorate All the columns
1088
-
1089
- var columns = React.useMemo(function () {
1090
- return linkColumnStructure(reduceHooks(getHooks().columns, userColumns, {
1091
- instance: getInstance()
1092
- }));
1093
- }, [getHooks, getInstance, userColumns].concat(reduceHooks(getHooks().columnsDeps, [], {
1094
- instance: getInstance()
1095
- })));
1096
- getInstance().columns = columns; // Get the flat list of all columns and allow hooks to decorate
1097
- // those columns (and trigger this memoization via deps)
1098
-
1099
- var allColumns = React.useMemo(function () {
1100
- return reduceHooks(getHooks().allColumns, flattenColumns(columns), {
1101
- instance: getInstance()
1102
- }).map(assignColumnAccessor);
1103
- }, [columns, getHooks, getInstance].concat(reduceHooks(getHooks().allColumnsDeps, [], {
1104
- instance: getInstance()
1105
- })));
1106
- getInstance().allColumns = allColumns; // Access the row model using initial columns
1107
-
1108
- var _React$useMemo = React.useMemo(function () {
1109
- var rows = [];
1110
- var flatRows = [];
1111
- var rowsById = {};
1112
- var allColumnsQueue = [].concat(allColumns);
1113
-
1114
- while (allColumnsQueue.length) {
1115
- var column = allColumnsQueue.shift();
1116
- accessRowsForColumn({
1117
- data: data,
1118
- rows: rows,
1119
- flatRows: flatRows,
1120
- rowsById: rowsById,
1121
- column: column,
1122
- getRowId: getRowId,
1123
- getSubRows: getSubRows,
1124
- accessValueHooks: getHooks().accessValue,
1125
- getInstance: getInstance
1126
- });
1127
- }
1128
-
1129
- return [rows, flatRows, rowsById];
1130
- }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance]),
1131
- rows = _React$useMemo[0],
1132
- flatRows = _React$useMemo[1],
1133
- rowsById = _React$useMemo[2];
1134
-
1135
- Object.assign(getInstance(), {
1136
- rows: rows,
1137
- initialRows: [].concat(rows),
1138
- flatRows: flatRows,
1139
- rowsById: rowsById // materializedColumns,
1140
-
1141
- });
1142
- loopHooks(getHooks().useInstanceAfterData, getInstance()); // Get the flat list of all columns AFTER the rows
1143
- // have been access, and allow hooks to decorate
1144
- // those columns (and trigger this memoization via deps)
1145
-
1146
- var visibleColumns = React.useMemo(function () {
1147
- return reduceHooks(getHooks().visibleColumns, allColumns, {
1148
- instance: getInstance()
1149
- }).map(function (d) {
1150
- return decorateColumn(d, defaultColumn);
1151
- });
1152
- }, [getHooks, allColumns, getInstance, defaultColumn].concat(reduceHooks(getHooks().visibleColumnsDeps, [], {
1153
- instance: getInstance()
1154
- }))); // Combine new visible columns with all columns
1155
-
1156
- allColumns = React.useMemo(function () {
1157
- var columns = [].concat(visibleColumns);
1158
- allColumns.forEach(function (column) {
1159
- if (!columns.find(function (d) {
1160
- return d.id === column.id;
1161
- })) {
1162
- columns.push(column);
1163
- }
1164
- });
1165
- return columns;
1166
- }, [allColumns, visibleColumns]);
1167
- getInstance().allColumns = allColumns;
1168
-
1169
- {
1170
- var duplicateColumns = allColumns.filter(function (column, i) {
1171
- return allColumns.findIndex(function (d) {
1172
- return d.id === column.id;
1173
- }) !== i;
1174
- });
1175
-
1176
- if (duplicateColumns.length) {
1177
- console.info(allColumns);
1178
- throw new Error("Duplicate columns were found with ids: \"" + duplicateColumns.map(function (d) {
1179
- return d.id;
1180
- }).join(', ') + "\" in the columns array above");
1181
- }
1182
- } // Make the headerGroups
1183
-
1184
-
1185
- var headerGroups = React.useMemo(function () {
1186
- return reduceHooks(getHooks().headerGroups, makeHeaderGroups(visibleColumns, defaultColumn), getInstance());
1187
- }, [getHooks, visibleColumns, defaultColumn, getInstance].concat(reduceHooks(getHooks().headerGroupsDeps, [], {
1188
- instance: getInstance()
1189
- })));
1190
- getInstance().headerGroups = headerGroups; // Get the first level of headers
1191
-
1192
- var headers = React.useMemo(function () {
1193
- return headerGroups.length ? headerGroups[0].headers : [];
1194
- }, [headerGroups]);
1195
- getInstance().headers = headers; // Provide a flat header list for utilities
1196
-
1197
- getInstance().flatHeaders = headerGroups.reduce(function (all, headerGroup) {
1198
- return [].concat(all, headerGroup.headers);
1199
- }, []);
1200
- loopHooks(getHooks().useInstanceBeforeDimensions, getInstance()); // Filter columns down to visible ones
1201
-
1202
- var visibleColumnsDep = visibleColumns.filter(function (d) {
1203
- return d.isVisible;
1204
- }).map(function (d) {
1205
- return d.id;
1206
- }).sort().join('_');
1207
- visibleColumns = React.useMemo(function () {
1208
- return visibleColumns.filter(function (d) {
1209
- return d.isVisible;
1210
- });
1211
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
1212
- [visibleColumns, visibleColumnsDep]);
1213
- getInstance().visibleColumns = visibleColumns; // Header Visibility is needed by this point
1214
-
1215
- var _calculateHeaderWidth = calculateHeaderWidths(headers),
1216
- totalColumnsMinWidth = _calculateHeaderWidth[0],
1217
- totalColumnsWidth = _calculateHeaderWidth[1],
1218
- totalColumnsMaxWidth = _calculateHeaderWidth[2];
1219
-
1220
- getInstance().totalColumnsMinWidth = totalColumnsMinWidth;
1221
- getInstance().totalColumnsWidth = totalColumnsWidth;
1222
- getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth;
1223
- loopHooks(getHooks().useInstance, getInstance()) // Each materialized header needs to be assigned a render function and other
1224
- // prop getter properties here.
1225
- ;
1226
- [].concat(getInstance().flatHeaders, getInstance().allColumns).forEach(function (column) {
1227
- // Give columns/headers rendering power
1228
- column.render = makeRenderer(getInstance(), column); // Give columns/headers a default getHeaderProps
1229
-
1230
- column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {
1231
- instance: getInstance(),
1232
- column: column
1233
- }); // Give columns/headers a default getFooterProps
1234
-
1235
- column.getFooterProps = makePropGetter(getHooks().getFooterProps, {
1236
- instance: getInstance(),
1237
- column: column
1238
- });
1239
- });
1240
- getInstance().headerGroups = React.useMemo(function () {
1241
- return headerGroups.filter(function (headerGroup, i) {
1242
- // Filter out any headers and headerGroups that don't have visible columns
1243
- headerGroup.headers = headerGroup.headers.filter(function (column) {
1244
- var recurse = function recurse(headers) {
1245
- return headers.filter(function (column) {
1246
- if (column.headers) {
1247
- return recurse(column.headers);
1248
- }
1249
-
1250
- return column.isVisible;
1251
- }).length;
1252
- };
1253
-
1254
- if (column.headers) {
1255
- return recurse(column.headers);
1256
- }
1257
-
1258
- return column.isVisible;
1259
- }); // Give headerGroups getRowProps
1260
-
1261
- if (headerGroup.headers.length) {
1262
- headerGroup.getHeaderGroupProps = makePropGetter(getHooks().getHeaderGroupProps, {
1263
- instance: getInstance(),
1264
- headerGroup: headerGroup,
1265
- index: i
1266
- });
1267
- headerGroup.getFooterGroupProps = makePropGetter(getHooks().getFooterGroupProps, {
1268
- instance: getInstance(),
1269
- headerGroup: headerGroup,
1270
- index: i
1271
- });
1272
- return true;
1273
- }
1274
-
1275
- return false;
1276
- });
1277
- }, [headerGroups, getInstance, getHooks]);
1278
- getInstance().footerGroups = [].concat(getInstance().headerGroups).reverse(); // The prepareRow function is absolutely necessary and MUST be called on
1279
- // any rows the user wishes to be displayed.
1280
-
1281
- getInstance().prepareRow = React.useCallback(function (row) {
1282
- row.getRowProps = makePropGetter(getHooks().getRowProps, {
1283
- instance: getInstance(),
1284
- row: row
1285
- }); // Build the visible cells for each row
1286
-
1287
- row.allCells = allColumns.map(function (column) {
1288
- var value = row.values[column.id];
1289
- var cell = {
1290
- column: column,
1291
- row: row,
1292
- value: value
1293
- }; // Give each cell a getCellProps base
1294
-
1295
- cell.getCellProps = makePropGetter(getHooks().getCellProps, {
1296
- instance: getInstance(),
1297
- cell: cell
1298
- }); // Give each cell a renderer function (supports multiple renderers)
1299
-
1300
- cell.render = makeRenderer(getInstance(), column, {
1301
- row: row,
1302
- cell: cell,
1303
- value: value
1304
- });
1305
- return cell;
1306
- });
1307
- row.cells = visibleColumns.map(function (column) {
1308
- return row.allCells.find(function (cell) {
1309
- return cell.column.id === column.id;
1310
- });
1311
- }); // need to apply any row specific hooks (useExpanded requires this)
1312
-
1313
- loopHooks(getHooks().prepareRow, row, {
1314
- instance: getInstance()
1315
- });
1316
- }, [getHooks, getInstance, allColumns, visibleColumns]);
1317
- getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {
1318
- instance: getInstance()
1319
- });
1320
- getInstance().getTableBodyProps = makePropGetter(getHooks().getTableBodyProps, {
1321
- instance: getInstance()
1322
- });
1323
- loopHooks(getHooks().useFinalInstance, getInstance());
1324
- return getInstance();
1325
- };
1326
-
1327
- function calculateHeaderWidths(headers, left) {
1328
- if (left === void 0) {
1329
- left = 0;
1330
- }
1331
-
1332
- var sumTotalMinWidth = 0;
1333
- var sumTotalWidth = 0;
1334
- var sumTotalMaxWidth = 0;
1335
- var sumTotalFlexWidth = 0;
1336
- headers.forEach(function (header) {
1337
- var subHeaders = header.headers;
1338
- header.totalLeft = left;
1339
-
1340
- if (subHeaders && subHeaders.length) {
1341
- var _calculateHeaderWidth2 = calculateHeaderWidths(subHeaders, left),
1342
- totalMinWidth = _calculateHeaderWidth2[0],
1343
- totalWidth = _calculateHeaderWidth2[1],
1344
- totalMaxWidth = _calculateHeaderWidth2[2],
1345
- totalFlexWidth = _calculateHeaderWidth2[3];
1346
-
1347
- header.totalMinWidth = totalMinWidth;
1348
- header.totalWidth = totalWidth;
1349
- header.totalMaxWidth = totalMaxWidth;
1350
- header.totalFlexWidth = totalFlexWidth;
1351
- } else {
1352
- header.totalMinWidth = header.minWidth;
1353
- header.totalWidth = Math.min(Math.max(header.minWidth, header.width), header.maxWidth);
1354
- header.totalMaxWidth = header.maxWidth;
1355
- header.totalFlexWidth = header.canResize ? header.totalWidth : 0;
1356
- }
1357
-
1358
- if (header.isVisible) {
1359
- left += header.totalWidth;
1360
- sumTotalMinWidth += header.totalMinWidth;
1361
- sumTotalWidth += header.totalWidth;
1362
- sumTotalMaxWidth += header.totalMaxWidth;
1363
- sumTotalFlexWidth += header.totalFlexWidth;
1364
- }
1365
- });
1366
- return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth];
1367
- }
1368
-
1369
- function accessRowsForColumn(_ref) {
1370
- var data = _ref.data,
1371
- rows = _ref.rows,
1372
- flatRows = _ref.flatRows,
1373
- rowsById = _ref.rowsById,
1374
- column = _ref.column,
1375
- getRowId = _ref.getRowId,
1376
- getSubRows = _ref.getSubRows,
1377
- accessValueHooks = _ref.accessValueHooks,
1378
- getInstance = _ref.getInstance;
1379
-
1380
- // Access the row's data column-by-column
1381
- // We do it this way so we can incrementally add materialized
1382
- // columns after the first pass and avoid excessive looping
1383
- var accessRow = function accessRow(originalRow, rowIndex, depth, parent, parentRows) {
1384
- if (depth === void 0) {
1385
- depth = 0;
1386
- }
1387
-
1388
- // Keep the original reference around
1389
- var original = originalRow;
1390
- var id = getRowId(originalRow, rowIndex, parent);
1391
- var row = rowsById[id]; // If the row hasn't been created, let's make it
1392
-
1393
- if (!row) {
1394
- row = {
1395
- id: id,
1396
- original: original,
1397
- index: rowIndex,
1398
- depth: depth,
1399
- cells: [{}] // This is a dummy cell
1400
-
1401
- }; // Override common array functions (and the dummy cell's getCellProps function)
1402
- // to show an error if it is accessed without calling prepareRow
1403
-
1404
- row.cells.map = unpreparedAccessWarning;
1405
- row.cells.filter = unpreparedAccessWarning;
1406
- row.cells.forEach = unpreparedAccessWarning;
1407
- row.cells[0].getCellProps = unpreparedAccessWarning; // Create the cells and values
1408
-
1409
- row.values = {}; // Push this row into the parentRows array
1410
-
1411
- parentRows.push(row); // Keep track of every row in a flat array
1412
-
1413
- flatRows.push(row); // Also keep track of every row by its ID
1414
-
1415
- rowsById[id] = row; // Get the original subrows
1416
-
1417
- row.originalSubRows = getSubRows(originalRow, rowIndex); // Then recursively access them
1418
-
1419
- if (row.originalSubRows) {
1420
- var subRows = [];
1421
- row.originalSubRows.forEach(function (d, i) {
1422
- return accessRow(d, i, depth + 1, row, subRows);
1423
- }); // Keep the new subRows array on the row
1424
-
1425
- row.subRows = subRows;
1426
- }
1427
- } else if (row.subRows) {
1428
- // If the row exists, then it's already been accessed
1429
- // Keep recursing, but don't worry about passing the
1430
- // accumlator array (those rows already exist)
1431
- row.originalSubRows.forEach(function (d, i) {
1432
- return accessRow(d, i, depth + 1, row);
1433
- });
1434
- } // If the column has an accessor, use it to get a value
1435
-
1436
-
1437
- if (column.accessor) {
1438
- row.values[column.id] = column.accessor(originalRow, rowIndex, row, parentRows, data);
1439
- } // Allow plugins to manipulate the column value
1440
-
1441
-
1442
- row.values[column.id] = reduceHooks(accessValueHooks, row.values[column.id], {
1443
- row: row,
1444
- column: column,
1445
- instance: getInstance()
1446
- }, true);
1447
- };
1448
-
1449
- data.forEach(function (originalRow, rowIndex) {
1450
- return accessRow(originalRow, rowIndex, 0, undefined, rows);
1451
- });
1452
- }
1453
-
1454
- actions.resetExpanded = 'resetExpanded';
1455
- actions.toggleRowExpanded = 'toggleRowExpanded';
1456
- actions.toggleAllRowsExpanded = 'toggleAllRowsExpanded';
1457
- var useExpanded = function useExpanded(hooks) {
1458
- hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps];
1459
- hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps];
1460
- hooks.stateReducers.push(reducer$1);
1461
- hooks.useInstance.push(useInstance$1);
1462
- hooks.prepareRow.push(prepareRow);
1463
- };
1464
- useExpanded.pluginName = 'useExpanded';
1465
-
1466
- var defaultGetToggleAllRowsExpandedProps = function defaultGetToggleAllRowsExpandedProps(props, _ref) {
1467
- var instance = _ref.instance;
1468
- return [props, {
1469
- onClick: function onClick(e) {
1470
- instance.toggleAllRowsExpanded();
1471
- },
1472
- style: {
1473
- cursor: 'pointer'
1474
- },
1475
- title: 'Toggle All Rows Expanded'
1476
- }];
1477
- };
1478
-
1479
- var defaultGetToggleRowExpandedProps = function defaultGetToggleRowExpandedProps(props, _ref2) {
1480
- var row = _ref2.row;
1481
- return [props, {
1482
- onClick: function onClick() {
1483
- row.toggleRowExpanded();
1484
- },
1485
- style: {
1486
- cursor: 'pointer'
1487
- },
1488
- title: 'Toggle Row Expanded'
1489
- }];
1490
- }; // Reducer
1491
-
1492
-
1493
- function reducer$1(state, action, previousState, instance) {
1494
- if (action.type === actions.init) {
1495
- return _extends({
1496
- expanded: {}
1497
- }, state);
1498
- }
1499
-
1500
- if (action.type === actions.resetExpanded) {
1501
- return _extends({}, state, {
1502
- expanded: instance.initialState.expanded || {}
1503
- });
1504
- }
1505
-
1506
- if (action.type === actions.toggleAllRowsExpanded) {
1507
- var value = action.value;
1508
- var isAllRowsExpanded = instance.isAllRowsExpanded,
1509
- rowsById = instance.rowsById;
1510
- var expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded;
1511
-
1512
- if (expandAll) {
1513
- var expanded = {};
1514
- Object.keys(rowsById).forEach(function (rowId) {
1515
- expanded[rowId] = true;
1516
- });
1517
- return _extends({}, state, {
1518
- expanded: expanded
1519
- });
1520
- }
1521
-
1522
- return _extends({}, state, {
1523
- expanded: {}
1524
- });
1525
- }
1526
-
1527
- if (action.type === actions.toggleRowExpanded) {
1528
- var id = action.id,
1529
- setExpanded = action.value;
1530
- var exists = state.expanded[id];
1531
- var shouldExist = typeof setExpanded !== 'undefined' ? setExpanded : !exists;
1532
-
1533
- if (!exists && shouldExist) {
1534
- var _extends2;
1535
-
1536
- return _extends({}, state, {
1537
- expanded: _extends({}, state.expanded, (_extends2 = {}, _extends2[id] = true, _extends2))
1538
- });
1539
- } else if (exists && !shouldExist) {
1540
- var _state$expanded = state.expanded;
1541
- _state$expanded[id];
1542
- var rest = _objectWithoutPropertiesLoose(_state$expanded, [id].map(_toPropertyKey));
1543
-
1544
- return _extends({}, state, {
1545
- expanded: rest
1546
- });
1547
- } else {
1548
- return state;
1549
- }
1550
- }
1551
- }
1552
-
1553
- function useInstance$1(instance) {
1554
- var data = instance.data,
1555
- rows = instance.rows,
1556
- rowsById = instance.rowsById,
1557
- _instance$manualExpan = instance.manualExpandedKey,
1558
- manualExpandedKey = _instance$manualExpan === void 0 ? 'expanded' : _instance$manualExpan,
1559
- _instance$paginateExp = instance.paginateExpandedRows,
1560
- paginateExpandedRows = _instance$paginateExp === void 0 ? true : _instance$paginateExp,
1561
- _instance$expandSubRo = instance.expandSubRows,
1562
- expandSubRows = _instance$expandSubRo === void 0 ? true : _instance$expandSubRo,
1563
- _instance$autoResetEx = instance.autoResetExpanded,
1564
- autoResetExpanded = _instance$autoResetEx === void 0 ? true : _instance$autoResetEx,
1565
- getHooks = instance.getHooks,
1566
- plugins = instance.plugins,
1567
- expanded = instance.state.expanded,
1568
- dispatch = instance.dispatch;
1569
- ensurePluginOrder(plugins, ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'], 'useExpanded');
1570
- var getAutoResetExpanded = useGetLatest(autoResetExpanded);
1571
- var isAllRowsExpanded = Boolean(Object.keys(rowsById).length && Object.keys(expanded).length);
1572
-
1573
- if (isAllRowsExpanded) {
1574
- if (Object.keys(rowsById).some(function (id) {
1575
- return !expanded[id];
1576
- })) {
1577
- isAllRowsExpanded = false;
1578
- }
1579
- } // Bypass any effects from firing when this changes
1580
-
1581
-
1582
- useMountedLayoutEffect(function () {
1583
- if (getAutoResetExpanded()) {
1584
- dispatch({
1585
- type: actions.resetExpanded
1586
- });
1587
- }
1588
- }, [dispatch, data]);
1589
- var toggleRowExpanded = React.useCallback(function (id, value) {
1590
- dispatch({
1591
- type: actions.toggleRowExpanded,
1592
- id: id,
1593
- value: value
1594
- });
1595
- }, [dispatch]);
1596
- var toggleAllRowsExpanded = React.useCallback(function (value) {
1597
- return dispatch({
1598
- type: actions.toggleAllRowsExpanded,
1599
- value: value
1600
- });
1601
- }, [dispatch]);
1602
- var expandedRows = React.useMemo(function () {
1603
- if (paginateExpandedRows) {
1604
- return expandRows(rows, {
1605
- manualExpandedKey: manualExpandedKey,
1606
- expanded: expanded,
1607
- expandSubRows: expandSubRows
1608
- });
1609
- }
1610
-
1611
- return rows;
1612
- }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows]);
1613
- var expandedDepth = React.useMemo(function () {
1614
- return findExpandedDepth(expanded);
1615
- }, [expanded]);
1616
- var getInstance = useGetLatest(instance);
1617
- var getToggleAllRowsExpandedProps = makePropGetter(getHooks().getToggleAllRowsExpandedProps, {
1618
- instance: getInstance()
1619
- });
1620
- Object.assign(instance, {
1621
- preExpandedRows: rows,
1622
- expandedRows: expandedRows,
1623
- rows: expandedRows,
1624
- expandedDepth: expandedDepth,
1625
- isAllRowsExpanded: isAllRowsExpanded,
1626
- toggleRowExpanded: toggleRowExpanded,
1627
- toggleAllRowsExpanded: toggleAllRowsExpanded,
1628
- getToggleAllRowsExpandedProps: getToggleAllRowsExpandedProps
1629
- });
1630
- }
1631
-
1632
- function prepareRow(row, _ref3) {
1633
- var getHooks = _ref3.instance.getHooks,
1634
- instance = _ref3.instance;
1635
-
1636
- row.toggleRowExpanded = function (set) {
1637
- return instance.toggleRowExpanded(row.id, set);
1638
- };
1639
-
1640
- row.getToggleRowExpandedProps = makePropGetter(getHooks().getToggleRowExpandedProps, {
1641
- instance: instance,
1642
- row: row
1643
- });
1644
- }
1645
-
1646
- function findExpandedDepth(expanded) {
1647
- var maxDepth = 0;
1648
- Object.keys(expanded).forEach(function (id) {
1649
- var splitId = id.split('.');
1650
- maxDepth = Math.max(maxDepth, splitId.length);
1651
- });
1652
- return maxDepth;
1653
- }
1654
-
1655
- var text = function text(rows, ids, filterValue) {
1656
- rows = rows.filter(function (row) {
1657
- return ids.some(function (id) {
1658
- var rowValue = row.values[id];
1659
- return String(rowValue).toLowerCase().includes(String(filterValue).toLowerCase());
1660
- });
1661
- });
1662
- return rows;
1663
- };
1664
-
1665
- text.autoRemove = function (val) {
1666
- return !val;
1667
- };
1668
-
1669
- var exactText = function exactText(rows, ids, filterValue) {
1670
- return rows.filter(function (row) {
1671
- return ids.some(function (id) {
1672
- var rowValue = row.values[id];
1673
- return rowValue !== undefined ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase() : true;
1674
- });
1675
- });
1676
- };
1677
-
1678
- exactText.autoRemove = function (val) {
1679
- return !val;
1680
- };
1681
-
1682
- var exactTextCase = function exactTextCase(rows, ids, filterValue) {
1683
- return rows.filter(function (row) {
1684
- return ids.some(function (id) {
1685
- var rowValue = row.values[id];
1686
- return rowValue !== undefined ? String(rowValue) === String(filterValue) : true;
1687
- });
1688
- });
1689
- };
1690
-
1691
- exactTextCase.autoRemove = function (val) {
1692
- return !val;
1693
- };
1694
-
1695
- var includes = function includes(rows, ids, filterValue) {
1696
- return rows.filter(function (row) {
1697
- return ids.some(function (id) {
1698
- var rowValue = row.values[id];
1699
- return rowValue.includes(filterValue);
1700
- });
1701
- });
1702
- };
1703
-
1704
- includes.autoRemove = function (val) {
1705
- return !val || !val.length;
1706
- };
1707
-
1708
- var includesAll = function includesAll(rows, ids, filterValue) {
1709
- return rows.filter(function (row) {
1710
- return ids.some(function (id) {
1711
- var rowValue = row.values[id];
1712
- return rowValue && rowValue.length && filterValue.every(function (val) {
1713
- return rowValue.includes(val);
1714
- });
1715
- });
1716
- });
1717
- };
1718
-
1719
- includesAll.autoRemove = function (val) {
1720
- return !val || !val.length;
1721
- };
1722
-
1723
- var includesSome = function includesSome(rows, ids, filterValue) {
1724
- return rows.filter(function (row) {
1725
- return ids.some(function (id) {
1726
- var rowValue = row.values[id];
1727
- return rowValue && rowValue.length && filterValue.some(function (val) {
1728
- return rowValue.includes(val);
1729
- });
1730
- });
1731
- });
1732
- };
1733
-
1734
- includesSome.autoRemove = function (val) {
1735
- return !val || !val.length;
1736
- };
1737
-
1738
- var includesValue = function includesValue(rows, ids, filterValue) {
1739
- return rows.filter(function (row) {
1740
- return ids.some(function (id) {
1741
- var rowValue = row.values[id];
1742
- return filterValue.includes(rowValue);
1743
- });
1744
- });
1745
- };
1746
-
1747
- includesValue.autoRemove = function (val) {
1748
- return !val || !val.length;
1749
- };
1750
-
1751
- var exact = function exact(rows, ids, filterValue) {
1752
- return rows.filter(function (row) {
1753
- return ids.some(function (id) {
1754
- var rowValue = row.values[id];
1755
- return rowValue === filterValue;
1756
- });
1757
- });
1758
- };
1759
-
1760
- exact.autoRemove = function (val) {
1761
- return typeof val === 'undefined';
1762
- };
1763
-
1764
- var equals = function equals(rows, ids, filterValue) {
1765
- return rows.filter(function (row) {
1766
- return ids.some(function (id) {
1767
- var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
1768
-
1769
- return rowValue == filterValue;
1770
- });
1771
- });
1772
- };
1773
-
1774
- equals.autoRemove = function (val) {
1775
- return val == null;
1776
- };
1777
-
1778
- var between = function between(rows, ids, filterValue) {
1779
- var _ref = filterValue || [],
1780
- min = _ref[0],
1781
- max = _ref[1];
1782
-
1783
- min = typeof min === 'number' ? min : -Infinity;
1784
- max = typeof max === 'number' ? max : Infinity;
1785
-
1786
- if (min > max) {
1787
- var temp = min;
1788
- min = max;
1789
- max = temp;
1790
- }
1791
-
1792
- return rows.filter(function (row) {
1793
- return ids.some(function (id) {
1794
- var rowValue = row.values[id];
1795
- return rowValue >= min && rowValue <= max;
1796
- });
1797
- });
1798
- };
1799
-
1800
- between.autoRemove = function (val) {
1801
- return !val || typeof val[0] !== 'number' && typeof val[1] !== 'number';
1802
- };
1803
-
1804
- var filterTypes = /*#__PURE__*/Object.freeze({
1805
- __proto__: null,
1806
- text: text,
1807
- exactText: exactText,
1808
- exactTextCase: exactTextCase,
1809
- includes: includes,
1810
- includesAll: includesAll,
1811
- includesSome: includesSome,
1812
- includesValue: includesValue,
1813
- exact: exact,
1814
- equals: equals,
1815
- between: between
1816
- });
1817
-
1818
- actions.resetFilters = 'resetFilters';
1819
- actions.setFilter = 'setFilter';
1820
- actions.setAllFilters = 'setAllFilters';
1821
- var useFilters = function useFilters(hooks) {
1822
- hooks.stateReducers.push(reducer$2);
1823
- hooks.useInstance.push(useInstance$2);
1824
- };
1825
- useFilters.pluginName = 'useFilters';
1826
-
1827
- function reducer$2(state, action, previousState, instance) {
1828
- if (action.type === actions.init) {
1829
- return _extends({
1830
- filters: []
1831
- }, state);
1832
- }
1833
-
1834
- if (action.type === actions.resetFilters) {
1835
- return _extends({}, state, {
1836
- filters: instance.initialState.filters || []
1837
- });
1838
- }
1839
-
1840
- if (action.type === actions.setFilter) {
1841
- var columnId = action.columnId,
1842
- filterValue = action.filterValue;
1843
- var allColumns = instance.allColumns,
1844
- userFilterTypes = instance.filterTypes;
1845
- var column = allColumns.find(function (d) {
1846
- return d.id === columnId;
1847
- });
1848
-
1849
- if (!column) {
1850
- throw new Error("React-Table: Could not find a column with id: " + columnId);
1851
- }
1852
-
1853
- var filterMethod = getFilterMethod(column.filter, userFilterTypes || {}, filterTypes);
1854
- var previousfilter = state.filters.find(function (d) {
1855
- return d.id === columnId;
1856
- });
1857
- var newFilter = functionalUpdate(filterValue, previousfilter && previousfilter.value); //
1858
-
1859
- if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {
1860
- return _extends({}, state, {
1861
- filters: state.filters.filter(function (d) {
1862
- return d.id !== columnId;
1863
- })
1864
- });
1865
- }
1866
-
1867
- if (previousfilter) {
1868
- return _extends({}, state, {
1869
- filters: state.filters.map(function (d) {
1870
- if (d.id === columnId) {
1871
- return {
1872
- id: columnId,
1873
- value: newFilter
1874
- };
1875
- }
1876
-
1877
- return d;
1878
- })
1879
- });
1880
- }
1881
-
1882
- return _extends({}, state, {
1883
- filters: [].concat(state.filters, [{
1884
- id: columnId,
1885
- value: newFilter
1886
- }])
1887
- });
1888
- }
1889
-
1890
- if (action.type === actions.setAllFilters) {
1891
- var filters = action.filters;
1892
- var _allColumns = instance.allColumns,
1893
- _userFilterTypes = instance.filterTypes;
1894
- return _extends({}, state, {
1895
- // Filter out undefined values
1896
- filters: functionalUpdate(filters, state.filters).filter(function (filter) {
1897
- var column = _allColumns.find(function (d) {
1898
- return d.id === filter.id;
1899
- });
1900
-
1901
- var filterMethod = getFilterMethod(column.filter, _userFilterTypes || {}, filterTypes);
1902
-
1903
- if (shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)) {
1904
- return false;
1905
- }
1906
-
1907
- return true;
1908
- })
1909
- });
1910
- }
1911
- }
1912
-
1913
- function useInstance$2(instance) {
1914
- var data = instance.data,
1915
- rows = instance.rows,
1916
- flatRows = instance.flatRows,
1917
- rowsById = instance.rowsById,
1918
- allColumns = instance.allColumns,
1919
- userFilterTypes = instance.filterTypes,
1920
- manualFilters = instance.manualFilters,
1921
- _instance$defaultCanF = instance.defaultCanFilter,
1922
- defaultCanFilter = _instance$defaultCanF === void 0 ? false : _instance$defaultCanF,
1923
- disableFilters = instance.disableFilters,
1924
- filters = instance.state.filters,
1925
- dispatch = instance.dispatch,
1926
- _instance$autoResetFi = instance.autoResetFilters,
1927
- autoResetFilters = _instance$autoResetFi === void 0 ? true : _instance$autoResetFi;
1928
- var setFilter = React.useCallback(function (columnId, filterValue) {
1929
- dispatch({
1930
- type: actions.setFilter,
1931
- columnId: columnId,
1932
- filterValue: filterValue
1933
- });
1934
- }, [dispatch]);
1935
- var setAllFilters = React.useCallback(function (filters) {
1936
- dispatch({
1937
- type: actions.setAllFilters,
1938
- filters: filters
1939
- });
1940
- }, [dispatch]);
1941
- allColumns.forEach(function (column) {
1942
- var id = column.id,
1943
- accessor = column.accessor,
1944
- columnDefaultCanFilter = column.defaultCanFilter,
1945
- columnDisableFilters = column.disableFilters; // Determine if a column is filterable
1946
-
1947
- 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
1948
-
1949
- column.setFilter = function (val) {
1950
- return setFilter(column.id, val);
1951
- }; // Provide the current filter value to the column for
1952
- // convenience
1953
-
1954
-
1955
- var found = filters.find(function (d) {
1956
- return d.id === id;
1957
- });
1958
- column.filterValue = found && found.value;
1959
- });
1960
-
1961
- var _React$useMemo = React.useMemo(function () {
1962
- if (manualFilters || !filters.length) {
1963
- return [rows, flatRows, rowsById];
1964
- }
1965
-
1966
- var filteredFlatRows = [];
1967
- var filteredRowsById = {}; // Filters top level and nested rows
1968
-
1969
- var filterRows = function filterRows(rows, depth) {
1970
- if (depth === void 0) {
1971
- depth = 0;
1972
- }
1973
-
1974
- var filteredRows = rows;
1975
- filteredRows = filters.reduce(function (filteredSoFar, _ref) {
1976
- var columnId = _ref.id,
1977
- filterValue = _ref.value;
1978
- // Find the filters column
1979
- var column = allColumns.find(function (d) {
1980
- return d.id === columnId;
1981
- });
1982
-
1983
- if (!column) {
1984
- return filteredSoFar;
1985
- }
1986
-
1987
- if (depth === 0) {
1988
- column.preFilteredRows = filteredSoFar;
1989
- }
1990
-
1991
- var filterMethod = getFilterMethod(column.filter, userFilterTypes || {}, filterTypes);
1992
-
1993
- if (!filterMethod) {
1994
- console.warn("Could not find a valid 'column.filter' for column with the ID: " + column.id + ".");
1995
- return filteredSoFar;
1996
- } // Pass the rows, id, filterValue and column to the filterMethod
1997
- // to get the filtered rows back
1998
-
1999
-
2000
- column.filteredRows = filterMethod(filteredSoFar, [columnId], filterValue);
2001
- return column.filteredRows;
2002
- }, rows); // Apply the filter to any subRows
2003
- // We technically could do this recursively in the above loop,
2004
- // but that would severely hinder the API for the user, since they
2005
- // would be required to do that recursion in some scenarios
2006
-
2007
- filteredRows.forEach(function (row) {
2008
- filteredFlatRows.push(row);
2009
- filteredRowsById[row.id] = row;
2010
-
2011
- if (!row.subRows) {
2012
- return;
2013
- }
2014
-
2015
- row.subRows = row.subRows && row.subRows.length > 0 ? filterRows(row.subRows, depth + 1) : row.subRows;
2016
- });
2017
- return filteredRows;
2018
- };
2019
-
2020
- return [filterRows(rows), filteredFlatRows, filteredRowsById];
2021
- }, [manualFilters, filters, rows, flatRows, rowsById, allColumns, userFilterTypes]),
2022
- filteredRows = _React$useMemo[0],
2023
- filteredFlatRows = _React$useMemo[1],
2024
- filteredRowsById = _React$useMemo[2];
2025
-
2026
- React.useMemo(function () {
2027
- // Now that each filtered column has it's partially filtered rows,
2028
- // lets assign the final filtered rows to all of the other columns
2029
- var nonFilteredColumns = allColumns.filter(function (column) {
2030
- return !filters.find(function (d) {
2031
- return d.id === column.id;
2032
- });
2033
- }); // This essentially enables faceted filter options to be built easily
2034
- // using every column's preFilteredRows value
2035
-
2036
- nonFilteredColumns.forEach(function (column) {
2037
- column.preFilteredRows = filteredRows;
2038
- column.filteredRows = filteredRows;
2039
- });
2040
- }, [filteredRows, filters, allColumns]);
2041
- var getAutoResetFilters = useGetLatest(autoResetFilters);
2042
- useMountedLayoutEffect(function () {
2043
- if (getAutoResetFilters()) {
2044
- dispatch({
2045
- type: actions.resetFilters
2046
- });
2047
- }
2048
- }, [dispatch, manualFilters ? null : data]);
2049
- Object.assign(instance, {
2050
- preFilteredRows: rows,
2051
- preFilteredFlatRows: flatRows,
2052
- preFilteredRowsById: rowsById,
2053
- filteredRows: filteredRows,
2054
- filteredFlatRows: filteredFlatRows,
2055
- filteredRowsById: filteredRowsById,
2056
- rows: filteredRows,
2057
- flatRows: filteredFlatRows,
2058
- rowsById: filteredRowsById,
2059
- setFilter: setFilter,
2060
- setAllFilters: setAllFilters
2061
- });
2062
- }
2063
-
2064
- actions.resetGlobalFilter = 'resetGlobalFilter';
2065
- actions.setGlobalFilter = 'setGlobalFilter';
2066
- var useGlobalFilter = function useGlobalFilter(hooks) {
2067
- hooks.stateReducers.push(reducer$3);
2068
- hooks.useInstance.push(useInstance$3);
2069
- };
2070
- useGlobalFilter.pluginName = 'useGlobalFilter';
2071
-
2072
- function reducer$3(state, action, previousState, instance) {
2073
- if (action.type === actions.resetGlobalFilter) {
2074
- return _extends({}, state, {
2075
- globalFilter: instance.initialState.globalFilter || undefined
2076
- });
2077
- }
2078
-
2079
- if (action.type === actions.setGlobalFilter) {
2080
- var filterValue = action.filterValue;
2081
- var userFilterTypes = instance.userFilterTypes;
2082
- var filterMethod = getFilterMethod(instance.globalFilter, userFilterTypes || {}, filterTypes);
2083
- var newFilter = functionalUpdate(filterValue, state.globalFilter); //
2084
-
2085
- if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {
2086
- state.globalFilter;
2087
- var stateWithoutGlobalFilter = _objectWithoutPropertiesLoose(state, ["globalFilter"]);
2088
-
2089
- return stateWithoutGlobalFilter;
2090
- }
2091
-
2092
- return _extends({}, state, {
2093
- globalFilter: newFilter
2094
- });
2095
- }
2096
- }
2097
-
2098
- function useInstance$3(instance) {
2099
- var data = instance.data,
2100
- rows = instance.rows,
2101
- flatRows = instance.flatRows,
2102
- rowsById = instance.rowsById,
2103
- allColumns = instance.allColumns,
2104
- userFilterTypes = instance.filterTypes,
2105
- globalFilter = instance.globalFilter,
2106
- manualGlobalFilter = instance.manualGlobalFilter,
2107
- globalFilterValue = instance.state.globalFilter,
2108
- dispatch = instance.dispatch,
2109
- _instance$autoResetGl = instance.autoResetGlobalFilter,
2110
- autoResetGlobalFilter = _instance$autoResetGl === void 0 ? true : _instance$autoResetGl,
2111
- disableGlobalFilter = instance.disableGlobalFilter;
2112
- var setGlobalFilter = React.useCallback(function (filterValue) {
2113
- dispatch({
2114
- type: actions.setGlobalFilter,
2115
- filterValue: filterValue
2116
- });
2117
- }, [dispatch]); // TODO: Create a filter cache for incremental high speed multi-filtering
2118
- // This gets pretty complicated pretty fast, since you have to maintain a
2119
- // cache for each row group (top-level rows, and each row's recursive subrows)
2120
- // This would make multi-filtering a lot faster though. Too far?
2121
-
2122
- var _React$useMemo = React.useMemo(function () {
2123
- if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {
2124
- return [rows, flatRows, rowsById];
2125
- }
2126
-
2127
- var filteredFlatRows = [];
2128
- var filteredRowsById = {};
2129
- var filterMethod = getFilterMethod(globalFilter, userFilterTypes || {}, filterTypes);
2130
-
2131
- if (!filterMethod) {
2132
- console.warn("Could not find a valid 'globalFilter' option.");
2133
- return rows;
2134
- }
2135
-
2136
- allColumns.forEach(function (column) {
2137
- var columnDisableGlobalFilter = column.disableGlobalFilter;
2138
- column.canFilter = getFirstDefined(columnDisableGlobalFilter === true ? false : undefined, disableGlobalFilter === true ? false : undefined, true);
2139
- });
2140
- var filterableColumns = allColumns.filter(function (c) {
2141
- return c.canFilter === true;
2142
- }); // Filters top level and nested rows
2143
-
2144
- var filterRows = function filterRows(filteredRows) {
2145
- filteredRows = filterMethod(filteredRows, filterableColumns.map(function (d) {
2146
- return d.id;
2147
- }), globalFilterValue);
2148
- filteredRows.forEach(function (row) {
2149
- filteredFlatRows.push(row);
2150
- filteredRowsById[row.id] = row;
2151
- row.subRows = row.subRows && row.subRows.length ? filterRows(row.subRows) : row.subRows;
2152
- });
2153
- return filteredRows;
2154
- };
2155
-
2156
- return [filterRows(rows), filteredFlatRows, filteredRowsById];
2157
- }, [manualGlobalFilter, globalFilterValue, globalFilter, userFilterTypes, allColumns, rows, flatRows, rowsById, disableGlobalFilter]),
2158
- globalFilteredRows = _React$useMemo[0],
2159
- globalFilteredFlatRows = _React$useMemo[1],
2160
- globalFilteredRowsById = _React$useMemo[2];
2161
-
2162
- var getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter);
2163
- useMountedLayoutEffect(function () {
2164
- if (getAutoResetGlobalFilter()) {
2165
- dispatch({
2166
- type: actions.resetGlobalFilter
2167
- });
2168
- }
2169
- }, [dispatch, manualGlobalFilter ? null : data]);
2170
- Object.assign(instance, {
2171
- preGlobalFilteredRows: rows,
2172
- preGlobalFilteredFlatRows: flatRows,
2173
- preGlobalFilteredRowsById: rowsById,
2174
- globalFilteredRows: globalFilteredRows,
2175
- globalFilteredFlatRows: globalFilteredFlatRows,
2176
- globalFilteredRowsById: globalFilteredRowsById,
2177
- rows: globalFilteredRows,
2178
- flatRows: globalFilteredFlatRows,
2179
- rowsById: globalFilteredRowsById,
2180
- setGlobalFilter: setGlobalFilter,
2181
- disableGlobalFilter: disableGlobalFilter
2182
- });
2183
- }
2184
-
2185
- function sum(values, aggregatedValues) {
2186
- // It's faster to just add the aggregations together instead of
2187
- // process leaf nodes individually
2188
- return aggregatedValues.reduce(function (sum, next) {
2189
- return sum + (typeof next === 'number' ? next : 0);
2190
- }, 0);
2191
- }
2192
- function min(values) {
2193
- var min = values[0] || 0;
2194
- values.forEach(function (value) {
2195
- if (typeof value === 'number') {
2196
- min = Math.min(min, value);
2197
- }
2198
- });
2199
- return min;
2200
- }
2201
- function max(values) {
2202
- var max = values[0] || 0;
2203
- values.forEach(function (value) {
2204
- if (typeof value === 'number') {
2205
- max = Math.max(max, value);
2206
- }
2207
- });
2208
- return max;
2209
- }
2210
- function minMax(values) {
2211
- var min = values[0] || 0;
2212
- var max = values[0] || 0;
2213
- values.forEach(function (value) {
2214
- if (typeof value === 'number') {
2215
- min = Math.min(min, value);
2216
- max = Math.max(max, value);
2217
- }
2218
- });
2219
- return min + ".." + max;
2220
- }
2221
- function average(values) {
2222
- return sum(null, values) / values.length;
2223
- }
2224
- function median(values) {
2225
- if (!values.length) {
2226
- return null;
2227
- }
2228
-
2229
- var mid = Math.floor(values.length / 2);
2230
- var nums = [].concat(values).sort(function (a, b) {
2231
- return a - b;
2232
- });
2233
- return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
2234
- }
2235
- function unique(values) {
2236
- return Array.from(new Set(values).values());
2237
- }
2238
- function uniqueCount(values) {
2239
- return new Set(values).size;
2240
- }
2241
- function count(values) {
2242
- return values.length;
2243
- }
2244
-
2245
- var aggregations = /*#__PURE__*/Object.freeze({
2246
- __proto__: null,
2247
- sum: sum,
2248
- min: min,
2249
- max: max,
2250
- minMax: minMax,
2251
- average: average,
2252
- median: median,
2253
- unique: unique,
2254
- uniqueCount: uniqueCount,
2255
- count: count
2256
- });
2257
-
2258
- var emptyArray = [];
2259
- var emptyObject = {}; // Actions
2260
-
2261
- actions.resetGroupBy = 'resetGroupBy';
2262
- actions.setGroupBy = 'setGroupBy';
2263
- actions.toggleGroupBy = 'toggleGroupBy';
2264
- var useGroupBy = function useGroupBy(hooks) {
2265
- hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps];
2266
- hooks.stateReducers.push(reducer$4);
2267
- hooks.visibleColumnsDeps.push(function (deps, _ref) {
2268
- var instance = _ref.instance;
2269
- return [].concat(deps, [instance.state.groupBy]);
2270
- });
2271
- hooks.visibleColumns.push(visibleColumns);
2272
- hooks.useInstance.push(useInstance$4);
2273
- hooks.prepareRow.push(prepareRow$1);
2274
- };
2275
- useGroupBy.pluginName = 'useGroupBy';
2276
-
2277
- var defaultGetGroupByToggleProps = function defaultGetGroupByToggleProps(props, _ref2) {
2278
- var header = _ref2.header;
2279
- return [props, {
2280
- onClick: header.canGroupBy ? function (e) {
2281
- e.persist();
2282
- header.toggleGroupBy();
2283
- } : undefined,
2284
- style: {
2285
- cursor: header.canGroupBy ? 'pointer' : undefined
2286
- },
2287
- title: 'Toggle GroupBy'
2288
- }];
2289
- }; // Reducer
2290
-
2291
-
2292
- function reducer$4(state, action, previousState, instance) {
2293
- if (action.type === actions.init) {
2294
- return _extends({
2295
- groupBy: []
2296
- }, state);
2297
- }
2298
-
2299
- if (action.type === actions.resetGroupBy) {
2300
- return _extends({}, state, {
2301
- groupBy: instance.initialState.groupBy || []
2302
- });
2303
- }
2304
-
2305
- if (action.type === actions.setGroupBy) {
2306
- var value = action.value;
2307
- return _extends({}, state, {
2308
- groupBy: value
2309
- });
2310
- }
2311
-
2312
- if (action.type === actions.toggleGroupBy) {
2313
- var columnId = action.columnId,
2314
- setGroupBy = action.value;
2315
- var resolvedGroupBy = typeof setGroupBy !== 'undefined' ? setGroupBy : !state.groupBy.includes(columnId);
2316
-
2317
- if (resolvedGroupBy) {
2318
- return _extends({}, state, {
2319
- groupBy: [].concat(state.groupBy, [columnId])
2320
- });
2321
- }
2322
-
2323
- return _extends({}, state, {
2324
- groupBy: state.groupBy.filter(function (d) {
2325
- return d !== columnId;
2326
- })
2327
- });
2328
- }
2329
- }
2330
-
2331
- function visibleColumns(columns, _ref3) {
2332
- var groupBy = _ref3.instance.state.groupBy;
2333
- // Sort grouped columns to the start of the column list
2334
- // before the headers are built
2335
- var groupByColumns = groupBy.map(function (g) {
2336
- return columns.find(function (col) {
2337
- return col.id === g;
2338
- });
2339
- }).filter(Boolean);
2340
- var nonGroupByColumns = columns.filter(function (col) {
2341
- return !groupBy.includes(col.id);
2342
- });
2343
- columns = [].concat(groupByColumns, nonGroupByColumns);
2344
- columns.forEach(function (column) {
2345
- column.isGrouped = groupBy.includes(column.id);
2346
- column.groupedIndex = groupBy.indexOf(column.id);
2347
- });
2348
- return columns;
2349
- }
2350
-
2351
- var defaultUserAggregations = {};
2352
-
2353
- function useInstance$4(instance) {
2354
- var data = instance.data,
2355
- rows = instance.rows,
2356
- flatRows = instance.flatRows,
2357
- rowsById = instance.rowsById,
2358
- allColumns = instance.allColumns,
2359
- flatHeaders = instance.flatHeaders,
2360
- _instance$groupByFn = instance.groupByFn,
2361
- groupByFn = _instance$groupByFn === void 0 ? defaultGroupByFn : _instance$groupByFn,
2362
- manualGroupBy = instance.manualGroupBy,
2363
- _instance$aggregation = instance.aggregations,
2364
- userAggregations = _instance$aggregation === void 0 ? defaultUserAggregations : _instance$aggregation,
2365
- plugins = instance.plugins,
2366
- groupBy = instance.state.groupBy,
2367
- dispatch = instance.dispatch,
2368
- _instance$autoResetGr = instance.autoResetGroupBy,
2369
- autoResetGroupBy = _instance$autoResetGr === void 0 ? true : _instance$autoResetGr,
2370
- disableGroupBy = instance.disableGroupBy,
2371
- defaultCanGroupBy = instance.defaultCanGroupBy,
2372
- getHooks = instance.getHooks;
2373
- ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy');
2374
- var getInstance = useGetLatest(instance);
2375
- allColumns.forEach(function (column) {
2376
- var accessor = column.accessor,
2377
- defaultColumnGroupBy = column.defaultGroupBy,
2378
- columnDisableGroupBy = column.disableGroupBy;
2379
- column.canGroupBy = accessor ? getFirstDefined(column.canGroupBy, columnDisableGroupBy === true ? false : undefined, disableGroupBy === true ? false : undefined, true) : getFirstDefined(column.canGroupBy, defaultColumnGroupBy, defaultCanGroupBy, false);
2380
-
2381
- if (column.canGroupBy) {
2382
- column.toggleGroupBy = function () {
2383
- return instance.toggleGroupBy(column.id);
2384
- };
2385
- }
2386
-
2387
- column.Aggregated = column.Aggregated || column.Cell;
2388
- });
2389
- var toggleGroupBy = React.useCallback(function (columnId, value) {
2390
- dispatch({
2391
- type: actions.toggleGroupBy,
2392
- columnId: columnId,
2393
- value: value
2394
- });
2395
- }, [dispatch]);
2396
- var setGroupBy = React.useCallback(function (value) {
2397
- dispatch({
2398
- type: actions.setGroupBy,
2399
- value: value
2400
- });
2401
- }, [dispatch]);
2402
- flatHeaders.forEach(function (header) {
2403
- header.getGroupByToggleProps = makePropGetter(getHooks().getGroupByToggleProps, {
2404
- instance: getInstance(),
2405
- header: header
2406
- });
2407
- });
2408
-
2409
- var _React$useMemo = React.useMemo(function () {
2410
- if (manualGroupBy || !groupBy.length) {
2411
- return [rows, flatRows, rowsById, emptyArray, emptyObject, flatRows, rowsById];
2412
- } // Ensure that the list of filtered columns exist
2413
-
2414
-
2415
- var existingGroupBy = groupBy.filter(function (g) {
2416
- return allColumns.find(function (col) {
2417
- return col.id === g;
2418
- });
2419
- }); // Find the columns that can or are aggregating
2420
- // Uses each column to aggregate rows into a single value
2421
-
2422
- var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
2423
- var values = {};
2424
- allColumns.forEach(function (column) {
2425
- // Don't aggregate columns that are in the groupBy
2426
- if (existingGroupBy.includes(column.id)) {
2427
- values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
2428
- return;
2429
- } // Aggregate the values
2430
-
2431
-
2432
- var aggregateFn = typeof column.aggregate === 'function' ? column.aggregate : userAggregations[column.aggregate] || aggregations[column.aggregate];
2433
-
2434
- if (aggregateFn) {
2435
- // Get the columnValues to aggregate
2436
- var groupedValues = groupedRows.map(function (row) {
2437
- return row.values[column.id];
2438
- }); // Get the columnValues to aggregate
2439
-
2440
- var leafValues = leafRows.map(function (row) {
2441
- var columnValue = row.values[column.id];
2442
-
2443
- if (!depth && column.aggregateValue) {
2444
- var aggregateValueFn = typeof column.aggregateValue === 'function' ? column.aggregateValue : userAggregations[column.aggregateValue] || aggregations[column.aggregateValue];
2445
-
2446
- if (!aggregateValueFn) {
2447
- console.info({
2448
- column: column
2449
- });
2450
- throw new Error("React Table: Invalid column.aggregateValue option for column listed above");
2451
- }
2452
-
2453
- columnValue = aggregateValueFn(columnValue, row, column);
2454
- }
2455
-
2456
- return columnValue;
2457
- });
2458
- values[column.id] = aggregateFn(leafValues, groupedValues);
2459
- } else if (column.aggregate) {
2460
- console.info({
2461
- column: column
2462
- });
2463
- throw new Error("React Table: Invalid column.aggregate option for column listed above");
2464
- } else {
2465
- values[column.id] = null;
2466
- }
2467
- });
2468
- return values;
2469
- };
2470
-
2471
- var groupedFlatRows = [];
2472
- var groupedRowsById = {};
2473
- var onlyGroupedFlatRows = [];
2474
- var onlyGroupedRowsById = {};
2475
- var nonGroupedFlatRows = [];
2476
- var nonGroupedRowsById = {}; // Recursively group the data
2477
-
2478
- var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
2479
- if (depth === void 0) {
2480
- depth = 0;
2481
- }
2482
-
2483
- // This is the last level, just return the rows
2484
- if (depth === existingGroupBy.length) {
2485
- return rows;
2486
- }
2487
-
2488
- var columnId = existingGroupBy[depth]; // Group the rows together for this level
2489
-
2490
- var rowGroupsMap = groupByFn(rows, columnId); // Peform aggregations for each group
2491
-
2492
- var aggregatedGroupedRows = Object.entries(rowGroupsMap).map(function (_ref4, index) {
2493
- var groupByVal = _ref4[0],
2494
- groupedRows = _ref4[1];
2495
- var id = columnId + ":" + groupByVal;
2496
- id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
2497
-
2498
- var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
2499
-
2500
- var leafRows = depth ? flattenBy(groupedRows, 'leafRows') : groupedRows;
2501
- var values = aggregateRowsToValues(leafRows, groupedRows, depth);
2502
- var row = {
2503
- id: id,
2504
- isGrouped: true,
2505
- groupByID: columnId,
2506
- groupByVal: groupByVal,
2507
- values: values,
2508
- subRows: subRows,
2509
- leafRows: leafRows,
2510
- depth: depth,
2511
- index: index
2512
- };
2513
- subRows.forEach(function (subRow) {
2514
- groupedFlatRows.push(subRow);
2515
- groupedRowsById[subRow.id] = subRow;
2516
-
2517
- if (subRow.isGrouped) {
2518
- onlyGroupedFlatRows.push(subRow);
2519
- onlyGroupedRowsById[subRow.id] = subRow;
2520
- } else {
2521
- nonGroupedFlatRows.push(subRow);
2522
- nonGroupedRowsById[subRow.id] = subRow;
2523
- }
2524
- });
2525
- return row;
2526
- });
2527
- return aggregatedGroupedRows;
2528
- };
2529
-
2530
- var groupedRows = groupUpRecursively(rows);
2531
- groupedRows.forEach(function (subRow) {
2532
- groupedFlatRows.push(subRow);
2533
- groupedRowsById[subRow.id] = subRow;
2534
-
2535
- if (subRow.isGrouped) {
2536
- onlyGroupedFlatRows.push(subRow);
2537
- onlyGroupedRowsById[subRow.id] = subRow;
2538
- } else {
2539
- nonGroupedFlatRows.push(subRow);
2540
- nonGroupedRowsById[subRow.id] = subRow;
2541
- }
2542
- }); // Assign the new data
2543
-
2544
- return [groupedRows, groupedFlatRows, groupedRowsById, onlyGroupedFlatRows, onlyGroupedRowsById, nonGroupedFlatRows, nonGroupedRowsById];
2545
- }, [manualGroupBy, groupBy, rows, flatRows, rowsById, allColumns, userAggregations, groupByFn]),
2546
- groupedRows = _React$useMemo[0],
2547
- groupedFlatRows = _React$useMemo[1],
2548
- groupedRowsById = _React$useMemo[2],
2549
- onlyGroupedFlatRows = _React$useMemo[3],
2550
- onlyGroupedRowsById = _React$useMemo[4],
2551
- nonGroupedFlatRows = _React$useMemo[5],
2552
- nonGroupedRowsById = _React$useMemo[6];
2553
-
2554
- var getAutoResetGroupBy = useGetLatest(autoResetGroupBy);
2555
- useMountedLayoutEffect(function () {
2556
- if (getAutoResetGroupBy()) {
2557
- dispatch({
2558
- type: actions.resetGroupBy
2559
- });
2560
- }
2561
- }, [dispatch, manualGroupBy ? null : data]);
2562
- Object.assign(instance, {
2563
- preGroupedRows: rows,
2564
- preGroupedFlatRow: flatRows,
2565
- preGroupedRowsById: rowsById,
2566
- groupedRows: groupedRows,
2567
- groupedFlatRows: groupedFlatRows,
2568
- groupedRowsById: groupedRowsById,
2569
- onlyGroupedFlatRows: onlyGroupedFlatRows,
2570
- onlyGroupedRowsById: onlyGroupedRowsById,
2571
- nonGroupedFlatRows: nonGroupedFlatRows,
2572
- nonGroupedRowsById: nonGroupedRowsById,
2573
- rows: groupedRows,
2574
- flatRows: groupedFlatRows,
2575
- rowsById: groupedRowsById,
2576
- toggleGroupBy: toggleGroupBy,
2577
- setGroupBy: setGroupBy
2578
- });
2579
- }
2580
-
2581
- function prepareRow$1(row) {
2582
- row.allCells.forEach(function (cell) {
2583
- var _row$subRows;
2584
-
2585
- // Grouped cells are in the groupBy and the pivot cell for the row
2586
- cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID; // Placeholder cells are any columns in the groupBy that are not grouped
2587
-
2588
- cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped; // Aggregated cells are not grouped, not repeated, but still have subRows
2589
-
2590
- cell.isAggregated = !cell.isGrouped && !cell.isPlaceholder && ((_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length);
2591
- });
2592
- }
2593
-
2594
- function defaultGroupByFn(rows, columnId) {
2595
- return rows.reduce(function (prev, row, i) {
2596
- // TODO: Might want to implement a key serializer here so
2597
- // irregular column values can still be grouped if needed?
2598
- var resKey = "" + row.values[columnId];
2599
- prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : [];
2600
- prev[resKey].push(row);
2601
- return prev;
2602
- }, {});
2603
- }
2604
-
2605
- var reSplitAlphaNumeric = /([0-9]+)/gm; // Mixed sorting is slow, but very inclusive of many edge cases.
2606
- // It handles numbers, mixed alphanumeric combinations, and even
2607
- // null, undefined, and Infinity
2608
-
2609
- var alphanumeric = function alphanumeric(rowA, rowB, columnId) {
2610
- var _getRowValuesByColumn = getRowValuesByColumnID(rowA, rowB, columnId),
2611
- a = _getRowValuesByColumn[0],
2612
- b = _getRowValuesByColumn[1]; // Force to strings (or "" for unsupported types)
2613
-
2614
-
2615
- a = toString(a);
2616
- b = toString(b); // Split on number groups, but keep the delimiter
2617
- // Then remove falsey split values
2618
-
2619
- a = a.split(reSplitAlphaNumeric).filter(Boolean);
2620
- b = b.split(reSplitAlphaNumeric).filter(Boolean); // While
2621
-
2622
- while (a.length && b.length) {
2623
- var aa = a.shift();
2624
- var bb = b.shift();
2625
- var an = parseInt(aa, 10);
2626
- var bn = parseInt(bb, 10);
2627
- var combo = [an, bn].sort(); // Both are string
2628
-
2629
- if (isNaN(combo[0])) {
2630
- if (aa > bb) {
2631
- return 1;
2632
- }
2633
-
2634
- if (bb > aa) {
2635
- return -1;
2636
- }
2637
-
2638
- continue;
2639
- } // One is a string, one is a number
2640
-
2641
-
2642
- if (isNaN(combo[1])) {
2643
- return isNaN(an) ? -1 : 1;
2644
- } // Both are numbers
2645
-
2646
-
2647
- if (an > bn) {
2648
- return 1;
2649
- }
2650
-
2651
- if (bn > an) {
2652
- return -1;
2653
- }
2654
- }
2655
-
2656
- return a.length - b.length;
2657
- };
2658
- function datetime(rowA, rowB, columnId) {
2659
- var _getRowValuesByColumn2 = getRowValuesByColumnID(rowA, rowB, columnId),
2660
- a = _getRowValuesByColumn2[0],
2661
- b = _getRowValuesByColumn2[1];
2662
-
2663
- a = a.getTime();
2664
- b = b.getTime();
2665
- return compareBasic(a, b);
2666
- }
2667
- function basic(rowA, rowB, columnId) {
2668
- var _getRowValuesByColumn3 = getRowValuesByColumnID(rowA, rowB, columnId),
2669
- a = _getRowValuesByColumn3[0],
2670
- b = _getRowValuesByColumn3[1];
2671
-
2672
- return compareBasic(a, b);
2673
- }
2674
- function string(rowA, rowB, columnId) {
2675
- var _getRowValuesByColumn4 = getRowValuesByColumnID(rowA, rowB, columnId),
2676
- a = _getRowValuesByColumn4[0],
2677
- b = _getRowValuesByColumn4[1];
2678
-
2679
- a = a.split('').filter(Boolean);
2680
- b = b.split('').filter(Boolean);
2681
-
2682
- while (a.length && b.length) {
2683
- var aa = a.shift();
2684
- var bb = b.shift();
2685
- var alower = aa.toLowerCase();
2686
- var blower = bb.toLowerCase(); // Case insensitive comparison until characters match
2687
-
2688
- if (alower > blower) {
2689
- return 1;
2690
- }
2691
-
2692
- if (blower > alower) {
2693
- return -1;
2694
- } // If lowercase characters are identical
2695
-
2696
-
2697
- if (aa > bb) {
2698
- return 1;
2699
- }
2700
-
2701
- if (bb > aa) {
2702
- return -1;
2703
- }
2704
-
2705
- continue;
2706
- }
2707
-
2708
- return a.length - b.length;
2709
- }
2710
- function number(rowA, rowB, columnId) {
2711
- var _getRowValuesByColumn5 = getRowValuesByColumnID(rowA, rowB, columnId),
2712
- a = _getRowValuesByColumn5[0],
2713
- b = _getRowValuesByColumn5[1];
2714
-
2715
- var replaceNonNumeric = /[^0-9.]/gi;
2716
- a = Number(String(a).replace(replaceNonNumeric, ''));
2717
- b = Number(String(b).replace(replaceNonNumeric, ''));
2718
- return compareBasic(a, b);
2719
- } // Utils
2720
-
2721
- function compareBasic(a, b) {
2722
- return a === b ? 0 : a > b ? 1 : -1;
2723
- }
2724
-
2725
- function getRowValuesByColumnID(row1, row2, columnId) {
2726
- return [row1.values[columnId], row2.values[columnId]];
2727
- }
2728
-
2729
- function toString(a) {
2730
- if (typeof a === 'number') {
2731
- if (isNaN(a) || a === Infinity || a === -Infinity) {
2732
- return '';
2733
- }
2734
-
2735
- return String(a);
2736
- }
2737
-
2738
- if (typeof a === 'string') {
2739
- return a;
2740
- }
2741
-
2742
- return '';
2743
- }
2744
-
2745
- var sortTypes = /*#__PURE__*/Object.freeze({
2746
- __proto__: null,
2747
- alphanumeric: alphanumeric,
2748
- datetime: datetime,
2749
- basic: basic,
2750
- string: string,
2751
- number: number
2752
- });
2753
-
2754
- actions.resetSortBy = 'resetSortBy';
2755
- actions.setSortBy = 'setSortBy';
2756
- actions.toggleSortBy = 'toggleSortBy';
2757
- actions.clearSortBy = 'clearSortBy';
2758
- defaultColumn.sortType = 'alphanumeric';
2759
- defaultColumn.sortDescFirst = false;
2760
- var useSortBy = function useSortBy(hooks) {
2761
- hooks.getSortByToggleProps = [defaultGetSortByToggleProps];
2762
- hooks.stateReducers.push(reducer$5);
2763
- hooks.useInstance.push(useInstance$5);
2764
- };
2765
- useSortBy.pluginName = 'useSortBy';
2766
-
2767
- var defaultGetSortByToggleProps = function defaultGetSortByToggleProps(props, _ref) {
2768
- var instance = _ref.instance,
2769
- column = _ref.column;
2770
- var _instance$isMultiSort = instance.isMultiSortEvent,
2771
- isMultiSortEvent = _instance$isMultiSort === void 0 ? function (e) {
2772
- return e.shiftKey;
2773
- } : _instance$isMultiSort;
2774
- return [props, {
2775
- onClick: column.canSort ? function (e) {
2776
- e.persist();
2777
- column.toggleSortBy(undefined, !instance.disableMultiSort && isMultiSortEvent(e));
2778
- } : undefined,
2779
- style: {
2780
- cursor: column.canSort ? 'pointer' : undefined
2781
- },
2782
- title: column.canSort ? 'Toggle SortBy' : undefined
2783
- }];
2784
- }; // Reducer
2785
-
2786
-
2787
- function reducer$5(state, action, previousState, instance) {
2788
- if (action.type === actions.init) {
2789
- return _extends({
2790
- sortBy: []
2791
- }, state);
2792
- }
2793
-
2794
- if (action.type === actions.resetSortBy) {
2795
- return _extends({}, state, {
2796
- sortBy: instance.initialState.sortBy || []
2797
- });
2798
- }
2799
-
2800
- if (action.type === actions.clearSortBy) {
2801
- var sortBy = state.sortBy;
2802
- var newSortBy = sortBy.filter(function (d) {
2803
- return d.id !== action.columnId;
2804
- });
2805
- return _extends({}, state, {
2806
- sortBy: newSortBy
2807
- });
2808
- }
2809
-
2810
- if (action.type === actions.setSortBy) {
2811
- var _sortBy = action.sortBy;
2812
- return _extends({}, state, {
2813
- sortBy: _sortBy
2814
- });
2815
- }
2816
-
2817
- if (action.type === actions.toggleSortBy) {
2818
- var columnId = action.columnId,
2819
- desc = action.desc,
2820
- multi = action.multi;
2821
- var allColumns = instance.allColumns,
2822
- disableMultiSort = instance.disableMultiSort,
2823
- disableSortRemove = instance.disableSortRemove,
2824
- disableMultiRemove = instance.disableMultiRemove,
2825
- _instance$maxMultiSor = instance.maxMultiSortColCount,
2826
- maxMultiSortColCount = _instance$maxMultiSor === void 0 ? Number.MAX_SAFE_INTEGER : _instance$maxMultiSor;
2827
- var _sortBy2 = state.sortBy; // Find the column for this columnId
2828
-
2829
- var column = allColumns.find(function (d) {
2830
- return d.id === columnId;
2831
- });
2832
- var sortDescFirst = column.sortDescFirst; // Find any existing sortBy for this column
2833
-
2834
- var existingSortBy = _sortBy2.find(function (d) {
2835
- return d.id === columnId;
2836
- });
2837
-
2838
- var existingIndex = _sortBy2.findIndex(function (d) {
2839
- return d.id === columnId;
2840
- });
2841
-
2842
- var hasDescDefined = typeof desc !== 'undefined' && desc !== null;
2843
- var _newSortBy = []; // What should we do with this sort action?
2844
-
2845
- var sortAction;
2846
-
2847
- if (!disableMultiSort && multi) {
2848
- if (existingSortBy) {
2849
- sortAction = 'toggle';
2850
- } else {
2851
- sortAction = 'add';
2852
- }
2853
- } else {
2854
- // Normal mode
2855
- if (existingIndex !== _sortBy2.length - 1 || _sortBy2.length !== 1) {
2856
- sortAction = 'replace';
2857
- } else if (existingSortBy) {
2858
- sortAction = 'toggle';
2859
- } else {
2860
- sortAction = 'replace';
2861
- }
2862
- } // Handle toggle states that will remove the sortBy
2863
-
2864
-
2865
- if (sortAction === 'toggle' && // Must be toggling
2866
- !disableSortRemove && // If disableSortRemove, disable in general
2867
- !hasDescDefined && ( // Must not be setting desc
2868
- multi ? !disableMultiRemove : true) && ( // If multi, don't allow if disableMultiRemove
2869
- existingSortBy && // Finally, detect if it should indeed be removed
2870
- existingSortBy.desc && !sortDescFirst || !existingSortBy.desc && sortDescFirst)) {
2871
- sortAction = 'remove';
2872
- }
2873
-
2874
- if (sortAction === 'replace') {
2875
- _newSortBy = [{
2876
- id: columnId,
2877
- desc: hasDescDefined ? desc : sortDescFirst
2878
- }];
2879
- } else if (sortAction === 'add') {
2880
- _newSortBy = [].concat(_sortBy2, [{
2881
- id: columnId,
2882
- desc: hasDescDefined ? desc : sortDescFirst
2883
- }]); // Take latest n columns
2884
-
2885
- _newSortBy.splice(0, _newSortBy.length - maxMultiSortColCount);
2886
- } else if (sortAction === 'toggle') {
2887
- // This flips (or sets) the
2888
- _newSortBy = _sortBy2.map(function (d) {
2889
- if (d.id === columnId) {
2890
- return _extends({}, d, {
2891
- desc: hasDescDefined ? desc : !existingSortBy.desc
2892
- });
2893
- }
2894
-
2895
- return d;
2896
- });
2897
- } else if (sortAction === 'remove') {
2898
- _newSortBy = _sortBy2.filter(function (d) {
2899
- return d.id !== columnId;
2900
- });
2901
- }
2902
-
2903
- return _extends({}, state, {
2904
- sortBy: _newSortBy
2905
- });
2906
- }
2907
- }
2908
-
2909
- function useInstance$5(instance) {
2910
- var data = instance.data,
2911
- rows = instance.rows,
2912
- flatRows = instance.flatRows,
2913
- allColumns = instance.allColumns,
2914
- _instance$orderByFn = instance.orderByFn,
2915
- orderByFn = _instance$orderByFn === void 0 ? defaultOrderByFn : _instance$orderByFn,
2916
- userSortTypes = instance.sortTypes,
2917
- manualSortBy = instance.manualSortBy,
2918
- defaultCanSort = instance.defaultCanSort,
2919
- disableSortBy = instance.disableSortBy,
2920
- flatHeaders = instance.flatHeaders,
2921
- sortBy = instance.state.sortBy,
2922
- dispatch = instance.dispatch,
2923
- plugins = instance.plugins,
2924
- getHooks = instance.getHooks,
2925
- _instance$autoResetSo = instance.autoResetSortBy,
2926
- autoResetSortBy = _instance$autoResetSo === void 0 ? true : _instance$autoResetSo;
2927
- ensurePluginOrder(plugins, ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'], 'useSortBy');
2928
- var setSortBy = React.useCallback(function (sortBy) {
2929
- dispatch({
2930
- type: actions.setSortBy,
2931
- sortBy: sortBy
2932
- });
2933
- }, [dispatch]); // Updates sorting based on a columnId, desc flag and multi flag
2934
-
2935
- var toggleSortBy = React.useCallback(function (columnId, desc, multi) {
2936
- dispatch({
2937
- type: actions.toggleSortBy,
2938
- columnId: columnId,
2939
- desc: desc,
2940
- multi: multi
2941
- });
2942
- }, [dispatch]); // use reference to avoid memory leak in #1608
2943
-
2944
- var getInstance = useGetLatest(instance); // Add the getSortByToggleProps method to columns and headers
2945
-
2946
- flatHeaders.forEach(function (column) {
2947
- var accessor = column.accessor,
2948
- defaultColumnCanSort = column.canSort,
2949
- columnDisableSortBy = column.disableSortBy,
2950
- id = column.id;
2951
- var canSort = accessor ? getFirstDefined(columnDisableSortBy === true ? false : undefined, disableSortBy === true ? false : undefined, true) : getFirstDefined(defaultCanSort, defaultColumnCanSort, false);
2952
- column.canSort = canSort;
2953
-
2954
- if (column.canSort) {
2955
- column.toggleSortBy = function (desc, multi) {
2956
- return toggleSortBy(column.id, desc, multi);
2957
- };
2958
-
2959
- column.clearSortBy = function () {
2960
- dispatch({
2961
- type: actions.clearSortBy,
2962
- columnId: column.id
2963
- });
2964
- };
2965
- }
2966
-
2967
- column.getSortByToggleProps = makePropGetter(getHooks().getSortByToggleProps, {
2968
- instance: getInstance(),
2969
- column: column
2970
- });
2971
- var columnSort = sortBy.find(function (d) {
2972
- return d.id === id;
2973
- });
2974
- column.isSorted = !!columnSort;
2975
- column.sortedIndex = sortBy.findIndex(function (d) {
2976
- return d.id === id;
2977
- });
2978
- column.isSortedDesc = column.isSorted ? columnSort.desc : undefined;
2979
- });
2980
-
2981
- var _React$useMemo = React.useMemo(function () {
2982
- if (manualSortBy || !sortBy.length) {
2983
- return [rows, flatRows];
2984
- }
2985
-
2986
- var sortedFlatRows = []; // Filter out sortBys that correspond to non existing columns
2987
-
2988
- var availableSortBy = sortBy.filter(function (sort) {
2989
- return allColumns.find(function (col) {
2990
- return col.id === sort.id;
2991
- });
2992
- });
2993
-
2994
- var sortData = function sortData(rows) {
2995
- // Use the orderByFn to compose multiple sortBy's together.
2996
- // This will also perform a stable sorting using the row index
2997
- // if needed.
2998
- var sortedData = orderByFn(rows, availableSortBy.map(function (sort) {
2999
- // Support custom sorting methods for each column
3000
- var column = allColumns.find(function (d) {
3001
- return d.id === sort.id;
3002
- });
3003
-
3004
- if (!column) {
3005
- throw new Error("React-Table: Could not find a column with id: " + sort.id + " while sorting");
3006
- }
3007
-
3008
- var sortType = column.sortType; // Look up sortBy functions in this order:
3009
- // column function
3010
- // column string lookup on user sortType
3011
- // column string lookup on built-in sortType
3012
- // default function
3013
- // default string lookup on user sortType
3014
- // default string lookup on built-in sortType
3015
-
3016
- var sortMethod = isFunction(sortType) || (userSortTypes || {})[sortType] || sortTypes[sortType];
3017
-
3018
- if (!sortMethod) {
3019
- throw new Error("React-Table: Could not find a valid sortType of '" + sortType + "' for column '" + sort.id + "'.");
3020
- } // Return the correct sortFn.
3021
- // This function should always return in ascending order
3022
-
3023
-
3024
- return function (a, b) {
3025
- return sortMethod(a, b, sort.id, sort.desc);
3026
- };
3027
- }), // Map the directions
3028
- availableSortBy.map(function (sort) {
3029
- // Detect and use the sortInverted option
3030
- var column = allColumns.find(function (d) {
3031
- return d.id === sort.id;
3032
- });
3033
-
3034
- if (column && column.sortInverted) {
3035
- return sort.desc;
3036
- }
3037
-
3038
- return !sort.desc;
3039
- })); // If there are sub-rows, sort them
3040
-
3041
- sortedData.forEach(function (row) {
3042
- sortedFlatRows.push(row);
3043
-
3044
- if (!row.subRows || row.subRows.length === 0) {
3045
- return;
3046
- }
3047
-
3048
- row.subRows = sortData(row.subRows);
3049
- });
3050
- return sortedData;
3051
- };
3052
-
3053
- return [sortData(rows), sortedFlatRows];
3054
- }, [manualSortBy, sortBy, rows, flatRows, allColumns, orderByFn, userSortTypes]),
3055
- sortedRows = _React$useMemo[0],
3056
- sortedFlatRows = _React$useMemo[1];
3057
-
3058
- var getAutoResetSortBy = useGetLatest(autoResetSortBy);
3059
- useMountedLayoutEffect(function () {
3060
- if (getAutoResetSortBy()) {
3061
- dispatch({
3062
- type: actions.resetSortBy
3063
- });
3064
- }
3065
- }, [manualSortBy ? null : data]);
3066
- Object.assign(instance, {
3067
- preSortedRows: rows,
3068
- preSortedFlatRows: flatRows,
3069
- sortedRows: sortedRows,
3070
- sortedFlatRows: sortedFlatRows,
3071
- rows: sortedRows,
3072
- flatRows: sortedFlatRows,
3073
- setSortBy: setSortBy,
3074
- toggleSortBy: toggleSortBy
3075
- });
3076
- }
3077
-
3078
- function defaultOrderByFn(arr, funcs, dirs) {
3079
- return [].concat(arr).sort(function (rowA, rowB) {
3080
- for (var i = 0; i < funcs.length; i += 1) {
3081
- var sortFn = funcs[i];
3082
- var desc = dirs[i] === false || dirs[i] === 'desc';
3083
- var sortInt = sortFn(rowA, rowB);
3084
-
3085
- if (sortInt !== 0) {
3086
- return desc ? -sortInt : sortInt;
3087
- }
3088
- }
3089
-
3090
- return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index;
3091
- });
3092
- }
3093
-
3094
- var pluginName = 'usePagination'; // Actions
3095
-
3096
- actions.resetPage = 'resetPage';
3097
- actions.gotoPage = 'gotoPage';
3098
- actions.setPageSize = 'setPageSize';
3099
- var usePagination = function usePagination(hooks) {
3100
- hooks.stateReducers.push(reducer$6);
3101
- hooks.useInstance.push(useInstance$6);
3102
- };
3103
- usePagination.pluginName = pluginName;
3104
-
3105
- function reducer$6(state, action, previousState, instance) {
3106
- if (action.type === actions.init) {
3107
- return _extends({
3108
- pageSize: 10,
3109
- pageIndex: 0
3110
- }, state);
3111
- }
3112
-
3113
- if (action.type === actions.resetPage) {
3114
- return _extends({}, state, {
3115
- pageIndex: instance.initialState.pageIndex || 0
3116
- });
3117
- }
3118
-
3119
- if (action.type === actions.gotoPage) {
3120
- var pageCount = instance.pageCount,
3121
- page = instance.page;
3122
- var newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex);
3123
- var canNavigate = false;
3124
-
3125
- if (newPageIndex > state.pageIndex) {
3126
- // next page
3127
- canNavigate = pageCount === -1 ? page.length >= state.pageSize : newPageIndex < pageCount;
3128
- } else if (newPageIndex < state.pageIndex) {
3129
- // prev page
3130
- canNavigate = newPageIndex > -1;
3131
- }
3132
-
3133
- if (!canNavigate) {
3134
- return state;
3135
- }
3136
-
3137
- return _extends({}, state, {
3138
- pageIndex: newPageIndex
3139
- });
3140
- }
3141
-
3142
- if (action.type === actions.setPageSize) {
3143
- var pageSize = action.pageSize;
3144
- var topRowIndex = state.pageSize * state.pageIndex;
3145
- var pageIndex = Math.floor(topRowIndex / pageSize);
3146
- return _extends({}, state, {
3147
- pageIndex: pageIndex,
3148
- pageSize: pageSize
3149
- });
3150
- }
3151
- }
3152
-
3153
- function useInstance$6(instance) {
3154
- var rows = instance.rows,
3155
- _instance$autoResetPa = instance.autoResetPage,
3156
- autoResetPage = _instance$autoResetPa === void 0 ? true : _instance$autoResetPa,
3157
- _instance$manualExpan = instance.manualExpandedKey,
3158
- manualExpandedKey = _instance$manualExpan === void 0 ? 'expanded' : _instance$manualExpan,
3159
- plugins = instance.plugins,
3160
- userPageCount = instance.pageCount,
3161
- _instance$paginateExp = instance.paginateExpandedRows,
3162
- paginateExpandedRows = _instance$paginateExp === void 0 ? true : _instance$paginateExp,
3163
- _instance$expandSubRo = instance.expandSubRows,
3164
- expandSubRows = _instance$expandSubRo === void 0 ? true : _instance$expandSubRo,
3165
- _instance$state = instance.state,
3166
- pageSize = _instance$state.pageSize,
3167
- pageIndex = _instance$state.pageIndex,
3168
- expanded = _instance$state.expanded,
3169
- globalFilter = _instance$state.globalFilter,
3170
- filters = _instance$state.filters,
3171
- groupBy = _instance$state.groupBy,
3172
- sortBy = _instance$state.sortBy,
3173
- dispatch = instance.dispatch,
3174
- data = instance.data,
3175
- manualPagination = instance.manualPagination;
3176
- ensurePluginOrder(plugins, ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'], 'usePagination');
3177
- var getAutoResetPage = useGetLatest(autoResetPage);
3178
- useMountedLayoutEffect(function () {
3179
- if (getAutoResetPage()) {
3180
- dispatch({
3181
- type: actions.resetPage
3182
- });
3183
- }
3184
- }, [dispatch, manualPagination ? null : data, globalFilter, filters, groupBy, sortBy]);
3185
- var pageCount = manualPagination ? userPageCount : Math.ceil(rows.length / pageSize);
3186
- var pageOptions = React.useMemo(function () {
3187
- return pageCount > 0 ? [].concat(new Array(pageCount)).fill(null).map(function (d, i) {
3188
- return i;
3189
- }) : [];
3190
- }, [pageCount]);
3191
- var page = React.useMemo(function () {
3192
- var page;
3193
-
3194
- if (manualPagination) {
3195
- page = rows;
3196
- } else {
3197
- var pageStart = pageSize * pageIndex;
3198
- var pageEnd = pageStart + pageSize;
3199
- page = rows.slice(pageStart, pageEnd);
3200
- }
3201
-
3202
- if (paginateExpandedRows) {
3203
- return page;
3204
- }
3205
-
3206
- return expandRows(page, {
3207
- manualExpandedKey: manualExpandedKey,
3208
- expanded: expanded,
3209
- expandSubRows: expandSubRows
3210
- });
3211
- }, [expandSubRows, expanded, manualExpandedKey, manualPagination, pageIndex, pageSize, paginateExpandedRows, rows]);
3212
- var canPreviousPage = pageIndex > 0;
3213
- var canNextPage = pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1;
3214
- var gotoPage = React.useCallback(function (pageIndex) {
3215
- dispatch({
3216
- type: actions.gotoPage,
3217
- pageIndex: pageIndex
3218
- });
3219
- }, [dispatch]);
3220
- var previousPage = React.useCallback(function () {
3221
- return gotoPage(function (old) {
3222
- return old - 1;
3223
- });
3224
- }, [gotoPage]);
3225
- var nextPage = React.useCallback(function () {
3226
- return gotoPage(function (old) {
3227
- return old + 1;
3228
- });
3229
- }, [gotoPage]);
3230
- var setPageSize = React.useCallback(function (pageSize) {
3231
- dispatch({
3232
- type: actions.setPageSize,
3233
- pageSize: pageSize
3234
- });
3235
- }, [dispatch]);
3236
- Object.assign(instance, {
3237
- pageOptions: pageOptions,
3238
- pageCount: pageCount,
3239
- page: page,
3240
- canPreviousPage: canPreviousPage,
3241
- canNextPage: canNextPage,
3242
- gotoPage: gotoPage,
3243
- previousPage: previousPage,
3244
- nextPage: nextPage,
3245
- setPageSize: setPageSize
3246
- });
3247
- }
3248
-
3249
- actions.resetPivot = 'resetPivot';
3250
- actions.togglePivot = 'togglePivot';
3251
- var _UNSTABLE_usePivotColumns = function _UNSTABLE_usePivotColumns(hooks) {
3252
- hooks.getPivotToggleProps = [defaultGetPivotToggleProps];
3253
- hooks.stateReducers.push(reducer$7);
3254
- hooks.useInstanceAfterData.push(useInstanceAfterData);
3255
- hooks.allColumns.push(allColumns);
3256
- hooks.accessValue.push(accessValue);
3257
- hooks.materializedColumns.push(materializedColumns);
3258
- hooks.materializedColumnsDeps.push(materializedColumnsDeps);
3259
- hooks.visibleColumns.push(visibleColumns$1);
3260
- hooks.visibleColumnsDeps.push(visibleColumnsDeps);
3261
- hooks.useInstance.push(useInstance$7);
3262
- hooks.prepareRow.push(prepareRow$2);
3263
- };
3264
- _UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns';
3265
- var defaultPivotColumns = [];
3266
-
3267
- var defaultGetPivotToggleProps = function defaultGetPivotToggleProps(props, _ref) {
3268
- var header = _ref.header;
3269
- return [props, {
3270
- onClick: header.canPivot ? function (e) {
3271
- e.persist();
3272
- header.togglePivot();
3273
- } : undefined,
3274
- style: {
3275
- cursor: header.canPivot ? 'pointer' : undefined
3276
- },
3277
- title: 'Toggle Pivot'
3278
- }];
3279
- }; // Reducer
3280
-
3281
-
3282
- function reducer$7(state, action, previousState, instance) {
3283
- if (action.type === actions.init) {
3284
- return _extends({
3285
- pivotColumns: defaultPivotColumns
3286
- }, state);
3287
- }
3288
-
3289
- if (action.type === actions.resetPivot) {
3290
- return _extends({}, state, {
3291
- pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns
3292
- });
3293
- }
3294
-
3295
- if (action.type === actions.togglePivot) {
3296
- var columnId = action.columnId,
3297
- setPivot = action.value;
3298
- var resolvedPivot = typeof setPivot !== 'undefined' ? setPivot : !state.pivotColumns.includes(columnId);
3299
-
3300
- if (resolvedPivot) {
3301
- return _extends({}, state, {
3302
- pivotColumns: [].concat(state.pivotColumns, [columnId])
3303
- });
3304
- }
3305
-
3306
- return _extends({}, state, {
3307
- pivotColumns: state.pivotColumns.filter(function (d) {
3308
- return d !== columnId;
3309
- })
3310
- });
3311
- }
3312
- }
3313
-
3314
- function useInstanceAfterData(instance) {
3315
- instance.allColumns.forEach(function (column) {
3316
- column.isPivotSource = instance.state.pivotColumns.includes(column.id);
3317
- });
3318
- }
3319
-
3320
- function allColumns(columns, _ref2) {
3321
- var instance = _ref2.instance;
3322
- columns.forEach(function (column) {
3323
- column.isPivotSource = instance.state.pivotColumns.includes(column.id);
3324
- column.uniqueValues = new Set();
3325
- });
3326
- return columns;
3327
- }
3328
-
3329
- function accessValue(value, _ref3) {
3330
- var column = _ref3.column;
3331
-
3332
- if (column.uniqueValues && typeof value !== 'undefined') {
3333
- column.uniqueValues.add(value);
3334
- }
3335
-
3336
- return value;
3337
- }
3338
-
3339
- function materializedColumns(materialized, _ref4) {
3340
- var instance = _ref4.instance;
3341
- var allColumns = instance.allColumns,
3342
- state = instance.state;
3343
-
3344
- if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {
3345
- return materialized;
3346
- }
3347
-
3348
- var pivotColumns = state.pivotColumns.map(function (id) {
3349
- return allColumns.find(function (d) {
3350
- return d.id === id;
3351
- });
3352
- }).filter(Boolean);
3353
- var sourceColumns = allColumns.filter(function (d) {
3354
- return !d.isPivotSource && !state.groupBy.includes(d.id) && !state.pivotColumns.includes(d.id);
3355
- });
3356
-
3357
- var buildPivotColumns = function buildPivotColumns(depth, parent, pivotFilters) {
3358
- if (depth === void 0) {
3359
- depth = 0;
3360
- }
3361
-
3362
- if (pivotFilters === void 0) {
3363
- pivotFilters = [];
3364
- }
3365
-
3366
- var pivotColumn = pivotColumns[depth];
3367
-
3368
- if (!pivotColumn) {
3369
- return sourceColumns.map(function (sourceColumn) {
3370
- // TODO: We could offer support here for renesting pivoted
3371
- // columns inside copies of their header groups. For now,
3372
- // that seems like it would be (1) overkill on nesting, considering
3373
- // you already get nesting for every pivot level and (2)
3374
- // really hard. :)
3375
- return _extends({}, sourceColumn, {
3376
- canPivot: false,
3377
- isPivoted: true,
3378
- parent: parent,
3379
- depth: depth,
3380
- id: "" + (parent ? parent.id + "." + sourceColumn.id : sourceColumn.id),
3381
- accessor: function accessor(originalRow, i, row) {
3382
- if (pivotFilters.every(function (filter) {
3383
- return filter(row);
3384
- })) {
3385
- return row.values[sourceColumn.id];
3386
- }
3387
- }
3388
- });
3389
- });
3390
- }
3391
-
3392
- var uniqueValues = Array.from(pivotColumn.uniqueValues).sort();
3393
- return uniqueValues.map(function (uniqueValue) {
3394
- var columnGroup = _extends({}, pivotColumn, {
3395
- Header: pivotColumn.PivotHeader || typeof pivotColumn.header === 'string' ? pivotColumn.Header + ": " + uniqueValue : uniqueValue,
3396
- isPivotGroup: true,
3397
- parent: parent,
3398
- depth: depth,
3399
- id: parent ? parent.id + "." + pivotColumn.id + "." + uniqueValue : pivotColumn.id + "." + uniqueValue,
3400
- pivotValue: uniqueValue
3401
- });
3402
-
3403
- columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [].concat(pivotFilters, [function (row) {
3404
- return row.values[pivotColumn.id] === uniqueValue;
3405
- }]));
3406
- return columnGroup;
3407
- });
3408
- };
3409
-
3410
- var newMaterialized = flattenColumns(buildPivotColumns());
3411
- return [].concat(materialized, newMaterialized);
3412
- }
3413
-
3414
- function materializedColumnsDeps(deps, _ref5) {
3415
- var _ref5$instance$state = _ref5.instance.state,
3416
- pivotColumns = _ref5$instance$state.pivotColumns,
3417
- groupBy = _ref5$instance$state.groupBy;
3418
- return [].concat(deps, [pivotColumns, groupBy]);
3419
- }
3420
-
3421
- function visibleColumns$1(visibleColumns, _ref6) {
3422
- var state = _ref6.instance.state;
3423
- visibleColumns = visibleColumns.filter(function (d) {
3424
- return !d.isPivotSource;
3425
- });
3426
-
3427
- if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {
3428
- visibleColumns = visibleColumns.filter(function (column) {
3429
- return column.isGrouped || column.isPivoted;
3430
- });
3431
- }
3432
-
3433
- return visibleColumns;
3434
- }
3435
-
3436
- function visibleColumnsDeps(deps, _ref7) {
3437
- var instance = _ref7.instance;
3438
- return [].concat(deps, [instance.state.pivotColumns, instance.state.groupBy]);
3439
- }
3440
-
3441
- function useInstance$7(instance) {
3442
- var columns = instance.columns,
3443
- allColumns = instance.allColumns,
3444
- flatHeaders = instance.flatHeaders,
3445
- getHooks = instance.getHooks,
3446
- plugins = instance.plugins,
3447
- dispatch = instance.dispatch,
3448
- _instance$autoResetPi = instance.autoResetPivot,
3449
- autoResetPivot = _instance$autoResetPi === void 0 ? true : _instance$autoResetPi,
3450
- manaulPivot = instance.manaulPivot,
3451
- disablePivot = instance.disablePivot,
3452
- defaultCanPivot = instance.defaultCanPivot;
3453
- ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns');
3454
- var getInstance = useGetLatest(instance);
3455
- allColumns.forEach(function (column) {
3456
- var accessor = column.accessor,
3457
- defaultColumnPivot = column.defaultPivot,
3458
- columnDisablePivot = column.disablePivot;
3459
- column.canPivot = accessor ? getFirstDefined(column.canPivot, columnDisablePivot === true ? false : undefined, disablePivot === true ? false : undefined, true) : getFirstDefined(column.canPivot, defaultColumnPivot, defaultCanPivot, false);
3460
-
3461
- if (column.canPivot) {
3462
- column.togglePivot = function () {
3463
- return instance.togglePivot(column.id);
3464
- };
3465
- }
3466
-
3467
- column.Aggregated = column.Aggregated || column.Cell;
3468
- });
3469
-
3470
- var togglePivot = function togglePivot(columnId, value) {
3471
- dispatch({
3472
- type: actions.togglePivot,
3473
- columnId: columnId,
3474
- value: value
3475
- });
3476
- };
3477
-
3478
- flatHeaders.forEach(function (header) {
3479
- header.getPivotToggleProps = makePropGetter(getHooks().getPivotToggleProps, {
3480
- instance: getInstance(),
3481
- header: header
3482
- });
3483
- });
3484
- var getAutoResetPivot = useGetLatest(autoResetPivot);
3485
- useMountedLayoutEffect(function () {
3486
- if (getAutoResetPivot()) {
3487
- dispatch({
3488
- type: actions.resetPivot
3489
- });
3490
- }
3491
- }, [dispatch, manaulPivot ? null : columns]);
3492
- Object.assign(instance, {
3493
- togglePivot: togglePivot
3494
- });
3495
- }
3496
-
3497
- function prepareRow$2(row) {
3498
- row.allCells.forEach(function (cell) {
3499
- // Grouped cells are in the pivotColumns and the pivot cell for the row
3500
- cell.isPivoted = cell.column.isPivoted;
3501
- });
3502
- }
3503
-
3504
- var pluginName$1 = 'useRowSelect'; // Actions
3505
-
3506
- actions.resetSelectedRows = 'resetSelectedRows';
3507
- actions.toggleAllRowsSelected = 'toggleAllRowsSelected';
3508
- actions.toggleRowSelected = 'toggleRowSelected';
3509
- actions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected';
3510
- var useRowSelect = function useRowSelect(hooks) {
3511
- hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];
3512
- hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];
3513
- hooks.getToggleAllPageRowsSelectedProps = [defaultGetToggleAllPageRowsSelectedProps];
3514
- hooks.stateReducers.push(reducer$8);
3515
- hooks.useInstance.push(useInstance$8);
3516
- hooks.prepareRow.push(prepareRow$3);
3517
- };
3518
- useRowSelect.pluginName = pluginName$1;
3519
-
3520
- var defaultGetToggleRowSelectedProps = function defaultGetToggleRowSelectedProps(props, _ref) {
3521
- var instance = _ref.instance,
3522
- row = _ref.row;
3523
- var _instance$manualRowSe = instance.manualRowSelectedKey,
3524
- manualRowSelectedKey = _instance$manualRowSe === void 0 ? 'isSelected' : _instance$manualRowSe;
3525
- var checked = false;
3526
-
3527
- if (row.original && row.original[manualRowSelectedKey]) {
3528
- checked = true;
3529
- } else {
3530
- checked = row.isSelected;
3531
- }
3532
-
3533
- return [props, {
3534
- onChange: function onChange(e) {
3535
- row.toggleRowSelected(e.target.checked);
3536
- },
3537
- style: {
3538
- cursor: 'pointer'
3539
- },
3540
- checked: checked,
3541
- title: 'Toggle Row Selected',
3542
- indeterminate: row.isSomeSelected
3543
- }];
3544
- };
3545
-
3546
- var defaultGetToggleAllRowsSelectedProps = function defaultGetToggleAllRowsSelectedProps(props, _ref2) {
3547
- var instance = _ref2.instance;
3548
- return [props, {
3549
- onChange: function onChange(e) {
3550
- instance.toggleAllRowsSelected(e.target.checked);
3551
- },
3552
- style: {
3553
- cursor: 'pointer'
3554
- },
3555
- checked: instance.isAllRowsSelected,
3556
- title: 'Toggle All Rows Selected',
3557
- indeterminate: Boolean(!instance.isAllRowsSelected && Object.keys(instance.state.selectedRowIds).length)
3558
- }];
3559
- };
3560
-
3561
- var defaultGetToggleAllPageRowsSelectedProps = function defaultGetToggleAllPageRowsSelectedProps(props, _ref3) {
3562
- var instance = _ref3.instance;
3563
- return [props, {
3564
- onChange: function onChange(e) {
3565
- instance.toggleAllPageRowsSelected(e.target.checked);
3566
- },
3567
- style: {
3568
- cursor: 'pointer'
3569
- },
3570
- checked: instance.isAllPageRowsSelected,
3571
- title: 'Toggle All Current Page Rows Selected',
3572
- indeterminate: Boolean(!instance.isAllPageRowsSelected && instance.page.some(function (_ref4) {
3573
- var id = _ref4.id;
3574
- return instance.state.selectedRowIds[id];
3575
- }))
3576
- }];
3577
- }; // eslint-disable-next-line max-params
3578
-
3579
-
3580
- function reducer$8(state, action, previousState, instance) {
3581
- if (action.type === actions.init) {
3582
- return _extends({
3583
- selectedRowIds: {}
3584
- }, state);
3585
- }
3586
-
3587
- if (action.type === actions.resetSelectedRows) {
3588
- return _extends({}, state, {
3589
- selectedRowIds: instance.initialState.selectedRowIds || {}
3590
- });
3591
- }
3592
-
3593
- if (action.type === actions.toggleAllRowsSelected) {
3594
- var setSelected = action.value;
3595
- var isAllRowsSelected = instance.isAllRowsSelected,
3596
- rowsById = instance.rowsById,
3597
- _instance$nonGroupedR = instance.nonGroupedRowsById,
3598
- nonGroupedRowsById = _instance$nonGroupedR === void 0 ? rowsById : _instance$nonGroupedR;
3599
- var selectAll = typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected; // Only remove/add the rows that are visible on the screen
3600
- // Leave all the other rows that are selected alone.
3601
-
3602
- var selectedRowIds = Object.assign({}, state.selectedRowIds);
3603
-
3604
- if (selectAll) {
3605
- Object.keys(nonGroupedRowsById).forEach(function (rowId) {
3606
- selectedRowIds[rowId] = true;
3607
- });
3608
- } else {
3609
- Object.keys(nonGroupedRowsById).forEach(function (rowId) {
3610
- delete selectedRowIds[rowId];
3611
- });
3612
- }
3613
-
3614
- return _extends({}, state, {
3615
- selectedRowIds: selectedRowIds
3616
- });
3617
- }
3618
-
3619
- if (action.type === actions.toggleRowSelected) {
3620
- var id = action.id,
3621
- _setSelected = action.value;
3622
- var _rowsById = instance.rowsById,
3623
- _instance$selectSubRo = instance.selectSubRows,
3624
- selectSubRows = _instance$selectSubRo === void 0 ? true : _instance$selectSubRo,
3625
- getSubRows = instance.getSubRows;
3626
- var isSelected = state.selectedRowIds[id];
3627
- var shouldExist = typeof _setSelected !== 'undefined' ? _setSelected : !isSelected;
3628
-
3629
- if (isSelected === shouldExist) {
3630
- return state;
3631
- }
3632
-
3633
- var newSelectedRowIds = _extends({}, state.selectedRowIds);
3634
-
3635
- var handleRowById = function handleRowById(id) {
3636
- var row = _rowsById[id];
3637
-
3638
- if (!row.isGrouped) {
3639
- if (shouldExist) {
3640
- newSelectedRowIds[id] = true;
3641
- } else {
3642
- delete newSelectedRowIds[id];
3643
- }
3644
- }
3645
-
3646
- if (selectSubRows && getSubRows(row)) {
3647
- return getSubRows(row).forEach(function (row) {
3648
- return handleRowById(row.id);
3649
- });
3650
- }
3651
- };
3652
-
3653
- handleRowById(id);
3654
- return _extends({}, state, {
3655
- selectedRowIds: newSelectedRowIds
3656
- });
3657
- }
3658
-
3659
- if (action.type === actions.toggleAllPageRowsSelected) {
3660
- var _setSelected2 = action.value;
3661
-
3662
- var page = instance.page,
3663
- _rowsById2 = instance.rowsById,
3664
- _instance$selectSubRo2 = instance.selectSubRows,
3665
- _selectSubRows = _instance$selectSubRo2 === void 0 ? true : _instance$selectSubRo2,
3666
- isAllPageRowsSelected = instance.isAllPageRowsSelected,
3667
- _getSubRows = instance.getSubRows;
3668
-
3669
- var _selectAll = typeof _setSelected2 !== 'undefined' ? _setSelected2 : !isAllPageRowsSelected;
3670
-
3671
- var _newSelectedRowIds = _extends({}, state.selectedRowIds);
3672
-
3673
- var _handleRowById = function _handleRowById(id) {
3674
- var row = _rowsById2[id];
3675
-
3676
- if (!row.isGrouped) {
3677
- if (_selectAll) {
3678
- _newSelectedRowIds[id] = true;
3679
- } else {
3680
- delete _newSelectedRowIds[id];
3681
- }
3682
- }
3683
-
3684
- if (_selectSubRows && _getSubRows(row)) {
3685
- return _getSubRows(row).forEach(function (row) {
3686
- return _handleRowById(row.id);
3687
- });
3688
- }
3689
- };
3690
-
3691
- page.forEach(function (row) {
3692
- return _handleRowById(row.id);
3693
- });
3694
- return _extends({}, state, {
3695
- selectedRowIds: _newSelectedRowIds
3696
- });
3697
- }
3698
-
3699
- return state;
3700
- }
3701
-
3702
- function useInstance$8(instance) {
3703
- var data = instance.data,
3704
- rows = instance.rows,
3705
- getHooks = instance.getHooks,
3706
- plugins = instance.plugins,
3707
- rowsById = instance.rowsById,
3708
- _instance$nonGroupedR2 = instance.nonGroupedRowsById,
3709
- nonGroupedRowsById = _instance$nonGroupedR2 === void 0 ? rowsById : _instance$nonGroupedR2,
3710
- _instance$autoResetSe = instance.autoResetSelectedRows,
3711
- autoResetSelectedRows = _instance$autoResetSe === void 0 ? true : _instance$autoResetSe,
3712
- selectedRowIds = instance.state.selectedRowIds,
3713
- _instance$selectSubRo3 = instance.selectSubRows,
3714
- selectSubRows = _instance$selectSubRo3 === void 0 ? true : _instance$selectSubRo3,
3715
- dispatch = instance.dispatch,
3716
- page = instance.page,
3717
- getSubRows = instance.getSubRows;
3718
- ensurePluginOrder(plugins, ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'], 'useRowSelect');
3719
- var selectedFlatRows = React.useMemo(function () {
3720
- var selectedFlatRows = [];
3721
- rows.forEach(function (row) {
3722
- var isSelected = selectSubRows ? getRowIsSelected(row, selectedRowIds, getSubRows) : !!selectedRowIds[row.id];
3723
- row.isSelected = !!isSelected;
3724
- row.isSomeSelected = isSelected === null;
3725
-
3726
- if (isSelected) {
3727
- selectedFlatRows.push(row);
3728
- }
3729
- });
3730
- return selectedFlatRows;
3731
- }, [rows, selectSubRows, selectedRowIds, getSubRows]);
3732
- var isAllRowsSelected = Boolean(Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length);
3733
- var isAllPageRowsSelected = isAllRowsSelected;
3734
-
3735
- if (isAllRowsSelected) {
3736
- if (Object.keys(nonGroupedRowsById).some(function (id) {
3737
- return !selectedRowIds[id];
3738
- })) {
3739
- isAllRowsSelected = false;
3740
- }
3741
- }
3742
-
3743
- if (!isAllRowsSelected) {
3744
- if (page && page.length && page.some(function (_ref5) {
3745
- var id = _ref5.id;
3746
- return !selectedRowIds[id];
3747
- })) {
3748
- isAllPageRowsSelected = false;
3749
- }
3750
- }
3751
-
3752
- var getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);
3753
- useMountedLayoutEffect(function () {
3754
- if (getAutoResetSelectedRows()) {
3755
- dispatch({
3756
- type: actions.resetSelectedRows
3757
- });
3758
- }
3759
- }, [dispatch, data]);
3760
- var toggleAllRowsSelected = React.useCallback(function (value) {
3761
- return dispatch({
3762
- type: actions.toggleAllRowsSelected,
3763
- value: value
3764
- });
3765
- }, [dispatch]);
3766
- var toggleAllPageRowsSelected = React.useCallback(function (value) {
3767
- return dispatch({
3768
- type: actions.toggleAllPageRowsSelected,
3769
- value: value
3770
- });
3771
- }, [dispatch]);
3772
- var toggleRowSelected = React.useCallback(function (id, value) {
3773
- return dispatch({
3774
- type: actions.toggleRowSelected,
3775
- id: id,
3776
- value: value
3777
- });
3778
- }, [dispatch]);
3779
- var getInstance = useGetLatest(instance);
3780
- var getToggleAllRowsSelectedProps = makePropGetter(getHooks().getToggleAllRowsSelectedProps, {
3781
- instance: getInstance()
3782
- });
3783
- var getToggleAllPageRowsSelectedProps = makePropGetter(getHooks().getToggleAllPageRowsSelectedProps, {
3784
- instance: getInstance()
3785
- });
3786
- Object.assign(instance, {
3787
- selectedFlatRows: selectedFlatRows,
3788
- isAllRowsSelected: isAllRowsSelected,
3789
- isAllPageRowsSelected: isAllPageRowsSelected,
3790
- toggleRowSelected: toggleRowSelected,
3791
- toggleAllRowsSelected: toggleAllRowsSelected,
3792
- getToggleAllRowsSelectedProps: getToggleAllRowsSelectedProps,
3793
- getToggleAllPageRowsSelectedProps: getToggleAllPageRowsSelectedProps,
3794
- toggleAllPageRowsSelected: toggleAllPageRowsSelected
3795
- });
3796
- }
3797
-
3798
- function prepareRow$3(row, _ref6) {
3799
- var instance = _ref6.instance;
3800
-
3801
- row.toggleRowSelected = function (set) {
3802
- return instance.toggleRowSelected(row.id, set);
3803
- };
3804
-
3805
- row.getToggleRowSelectedProps = makePropGetter(instance.getHooks().getToggleRowSelectedProps, {
3806
- instance: instance,
3807
- row: row
3808
- });
3809
- }
3810
-
3811
- function getRowIsSelected(row, selectedRowIds, getSubRows) {
3812
- if (selectedRowIds[row.id]) {
3813
- return true;
3814
- }
3815
-
3816
- var subRows = getSubRows(row);
3817
-
3818
- if (subRows && subRows.length) {
3819
- var allChildrenSelected = true;
3820
- var someSelected = false;
3821
- subRows.forEach(function (subRow) {
3822
- // Bail out early if we know both of these
3823
- if (someSelected && !allChildrenSelected) {
3824
- return;
3825
- }
3826
-
3827
- if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {
3828
- someSelected = true;
3829
- } else {
3830
- allChildrenSelected = false;
3831
- }
3832
- });
3833
- return allChildrenSelected ? true : someSelected ? null : false;
3834
- }
3835
-
3836
- return false;
3837
- }
3838
-
3839
- var defaultInitialRowStateAccessor = function defaultInitialRowStateAccessor(row) {
3840
- return {};
3841
- };
3842
-
3843
- var defaultInitialCellStateAccessor = function defaultInitialCellStateAccessor(cell) {
3844
- return {};
3845
- }; // Actions
3846
-
3847
-
3848
- actions.setRowState = 'setRowState';
3849
- actions.setCellState = 'setCellState';
3850
- actions.resetRowState = 'resetRowState';
3851
- var useRowState = function useRowState(hooks) {
3852
- hooks.stateReducers.push(reducer$9);
3853
- hooks.useInstance.push(useInstance$9);
3854
- hooks.prepareRow.push(prepareRow$4);
3855
- };
3856
- useRowState.pluginName = 'useRowState';
3857
-
3858
- function reducer$9(state, action, previousState, instance) {
3859
- var _instance$initialRowS = instance.initialRowStateAccessor,
3860
- initialRowStateAccessor = _instance$initialRowS === void 0 ? defaultInitialRowStateAccessor : _instance$initialRowS,
3861
- _instance$initialCell = instance.initialCellStateAccessor,
3862
- initialCellStateAccessor = _instance$initialCell === void 0 ? defaultInitialCellStateAccessor : _instance$initialCell,
3863
- rowsById = instance.rowsById;
3864
-
3865
- if (action.type === actions.init) {
3866
- return _extends({
3867
- rowState: {}
3868
- }, state);
3869
- }
3870
-
3871
- if (action.type === actions.resetRowState) {
3872
- return _extends({}, state, {
3873
- rowState: instance.initialState.rowState || {}
3874
- });
3875
- }
3876
-
3877
- if (action.type === actions.setRowState) {
3878
- var _extends2;
3879
-
3880
- var rowId = action.rowId,
3881
- value = action.value;
3882
- var oldRowState = typeof state.rowState[rowId] !== 'undefined' ? state.rowState[rowId] : initialRowStateAccessor(rowsById[rowId]);
3883
- return _extends({}, state, {
3884
- rowState: _extends({}, state.rowState, (_extends2 = {}, _extends2[rowId] = functionalUpdate(value, oldRowState), _extends2))
3885
- });
3886
- }
3887
-
3888
- if (action.type === actions.setCellState) {
3889
- var _oldRowState$cellStat, _rowsById$_rowId, _rowsById$_rowId$cell, _extends3, _extends4;
3890
-
3891
- var _rowId = action.rowId,
3892
- columnId = action.columnId,
3893
- _value = action.value;
3894
-
3895
- var _oldRowState = typeof state.rowState[_rowId] !== 'undefined' ? state.rowState[_rowId] : initialRowStateAccessor(rowsById[_rowId]);
3896
-
3897
- 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) {
3898
- return cell.column.id === columnId;
3899
- }));
3900
- return _extends({}, state, {
3901
- rowState: _extends({}, state.rowState, (_extends4 = {}, _extends4[_rowId] = _extends({}, _oldRowState, {
3902
- cellState: _extends({}, _oldRowState.cellState || {}, (_extends3 = {}, _extends3[columnId] = functionalUpdate(_value, oldCellState), _extends3))
3903
- }), _extends4))
3904
- });
3905
- }
3906
- }
3907
-
3908
- function useInstance$9(instance) {
3909
- var _instance$autoResetRo = instance.autoResetRowState,
3910
- autoResetRowState = _instance$autoResetRo === void 0 ? true : _instance$autoResetRo,
3911
- data = instance.data,
3912
- dispatch = instance.dispatch;
3913
- var setRowState = React.useCallback(function (rowId, value) {
3914
- return dispatch({
3915
- type: actions.setRowState,
3916
- rowId: rowId,
3917
- value: value
3918
- });
3919
- }, [dispatch]);
3920
- var setCellState = React.useCallback(function (rowId, columnId, value) {
3921
- return dispatch({
3922
- type: actions.setCellState,
3923
- rowId: rowId,
3924
- columnId: columnId,
3925
- value: value
3926
- });
3927
- }, [dispatch]);
3928
- var getAutoResetRowState = useGetLatest(autoResetRowState);
3929
- useMountedLayoutEffect(function () {
3930
- if (getAutoResetRowState()) {
3931
- dispatch({
3932
- type: actions.resetRowState
3933
- });
3934
- }
3935
- }, [data]);
3936
- Object.assign(instance, {
3937
- setRowState: setRowState,
3938
- setCellState: setCellState
3939
- });
3940
- }
3941
-
3942
- function prepareRow$4(row, _ref) {
3943
- var instance = _ref.instance;
3944
- var _instance$initialRowS2 = instance.initialRowStateAccessor,
3945
- initialRowStateAccessor = _instance$initialRowS2 === void 0 ? defaultInitialRowStateAccessor : _instance$initialRowS2,
3946
- _instance$initialCell2 = instance.initialCellStateAccessor,
3947
- initialCellStateAccessor = _instance$initialCell2 === void 0 ? defaultInitialCellStateAccessor : _instance$initialCell2,
3948
- rowState = instance.state.rowState;
3949
-
3950
- if (row) {
3951
- row.state = typeof rowState[row.id] !== 'undefined' ? rowState[row.id] : initialRowStateAccessor(row);
3952
-
3953
- row.setState = function (updater) {
3954
- return instance.setRowState(row.id, updater);
3955
- };
3956
-
3957
- row.cells.forEach(function (cell) {
3958
- if (!row.state.cellState) {
3959
- row.state.cellState = {};
3960
- }
3961
-
3962
- cell.state = typeof row.state.cellState[cell.column.id] !== 'undefined' ? row.state.cellState[cell.column.id] : initialCellStateAccessor(cell);
3963
-
3964
- cell.setState = function (updater) {
3965
- return instance.setCellState(row.id, cell.column.id, updater);
3966
- };
3967
- });
3968
- }
3969
- }
3970
-
3971
- actions.resetColumnOrder = 'resetColumnOrder';
3972
- actions.setColumnOrder = 'setColumnOrder';
3973
- var useColumnOrder = function useColumnOrder(hooks) {
3974
- hooks.stateReducers.push(reducer$a);
3975
- hooks.visibleColumnsDeps.push(function (deps, _ref) {
3976
- var instance = _ref.instance;
3977
- return [].concat(deps, [instance.state.columnOrder]);
3978
- });
3979
- hooks.visibleColumns.push(visibleColumns$2);
3980
- hooks.useInstance.push(useInstance$a);
3981
- };
3982
- useColumnOrder.pluginName = 'useColumnOrder';
3983
-
3984
- function reducer$a(state, action, previousState, instance) {
3985
- if (action.type === actions.init) {
3986
- return _extends({
3987
- columnOrder: []
3988
- }, state);
3989
- }
3990
-
3991
- if (action.type === actions.resetColumnOrder) {
3992
- return _extends({}, state, {
3993
- columnOrder: instance.initialState.columnOrder || []
3994
- });
3995
- }
3996
-
3997
- if (action.type === actions.setColumnOrder) {
3998
- return _extends({}, state, {
3999
- columnOrder: functionalUpdate(action.columnOrder, state.columnOrder)
4000
- });
4001
- }
4002
- }
4003
-
4004
- function visibleColumns$2(columns, _ref2) {
4005
- var columnOrder = _ref2.instance.state.columnOrder;
4006
-
4007
- // If there is no order, return the normal columns
4008
- if (!columnOrder || !columnOrder.length) {
4009
- return columns;
4010
- }
4011
-
4012
- var columnOrderCopy = [].concat(columnOrder); // If there is an order, make a copy of the columns
4013
-
4014
- var columnsCopy = [].concat(columns); // And make a new ordered array of the columns
4015
-
4016
- var columnsInOrder = []; // Loop over the columns and place them in order into the new array
4017
-
4018
- var _loop = function _loop() {
4019
- var targetColumnId = columnOrderCopy.shift();
4020
- var foundIndex = columnsCopy.findIndex(function (d) {
4021
- return d.id === targetColumnId;
4022
- });
4023
-
4024
- if (foundIndex > -1) {
4025
- columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0]);
4026
- }
4027
- };
4028
-
4029
- while (columnsCopy.length && columnOrderCopy.length) {
4030
- _loop();
4031
- } // If there are any columns left, add them to the end
4032
-
4033
-
4034
- return [].concat(columnsInOrder, columnsCopy);
4035
- }
4036
-
4037
- function useInstance$a(instance) {
4038
- var dispatch = instance.dispatch;
4039
- instance.setColumnOrder = React.useCallback(function (columnOrder) {
4040
- return dispatch({
4041
- type: actions.setColumnOrder,
4042
- columnOrder: columnOrder
4043
- });
4044
- }, [dispatch]);
4045
- }
4046
-
4047
- defaultColumn.canResize = true; // Actions
4048
-
4049
- actions.columnStartResizing = 'columnStartResizing';
4050
- actions.columnResizing = 'columnResizing';
4051
- actions.columnDoneResizing = 'columnDoneResizing';
4052
- actions.resetResize = 'resetResize';
4053
- var useResizeColumns = function useResizeColumns(hooks) {
4054
- hooks.getResizerProps = [defaultGetResizerProps];
4055
- hooks.getHeaderProps.push({
4056
- style: {
4057
- position: 'relative'
4058
- }
4059
- });
4060
- hooks.stateReducers.push(reducer$b);
4061
- hooks.useInstance.push(useInstance$b);
4062
- hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions$1);
4063
- };
4064
-
4065
- var defaultGetResizerProps = function defaultGetResizerProps(props, _ref) {
4066
- var instance = _ref.instance,
4067
- header = _ref.header;
4068
- var dispatch = instance.dispatch;
4069
-
4070
- var onResizeStart = function onResizeStart(e, header) {
4071
- var isTouchEvent = false;
4072
-
4073
- if (e.type === 'touchstart') {
4074
- // lets not respond to multiple touches (e.g. 2 or 3 fingers)
4075
- if (e.touches && e.touches.length > 1) {
4076
- return;
4077
- }
4078
-
4079
- isTouchEvent = true;
4080
- }
4081
-
4082
- var headersToResize = getLeafHeaders(header);
4083
- var headerIdWidths = headersToResize.map(function (d) {
4084
- return [d.id, d.totalWidth];
4085
- });
4086
- var clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX;
4087
-
4088
- var dispatchMove = function dispatchMove(clientXPos) {
4089
- dispatch({
4090
- type: actions.columnResizing,
4091
- clientX: clientXPos
4092
- });
4093
- };
4094
-
4095
- var dispatchEnd = function dispatchEnd() {
4096
- return dispatch({
4097
- type: actions.columnDoneResizing
4098
- });
4099
- };
4100
-
4101
- var handlersAndEvents = {
4102
- mouse: {
4103
- moveEvent: 'mousemove',
4104
- moveHandler: function moveHandler(e) {
4105
- return dispatchMove(e.clientX);
4106
- },
4107
- upEvent: 'mouseup',
4108
- upHandler: function upHandler(e) {
4109
- document.removeEventListener('mousemove', handlersAndEvents.mouse.moveHandler);
4110
- document.removeEventListener('mouseup', handlersAndEvents.mouse.upHandler);
4111
- dispatchEnd();
4112
- }
4113
- },
4114
- touch: {
4115
- moveEvent: 'touchmove',
4116
- moveHandler: function moveHandler(e) {
4117
- if (e.cancelable) {
4118
- e.preventDefault();
4119
- e.stopPropagation();
4120
- }
4121
-
4122
- dispatchMove(e.touches[0].clientX);
4123
- return false;
4124
- },
4125
- upEvent: 'touchend',
4126
- upHandler: function upHandler(e) {
4127
- document.removeEventListener(handlersAndEvents.touch.moveEvent, handlersAndEvents.touch.moveHandler);
4128
- document.removeEventListener(handlersAndEvents.touch.upEvent, handlersAndEvents.touch.moveHandler);
4129
- dispatchEnd();
4130
- }
4131
- }
4132
- };
4133
- var events = isTouchEvent ? handlersAndEvents.touch : handlersAndEvents.mouse;
4134
- var passiveIfSupported = passiveEventSupported() ? {
4135
- passive: false
4136
- } : false;
4137
- document.addEventListener(events.moveEvent, events.moveHandler, passiveIfSupported);
4138
- document.addEventListener(events.upEvent, events.upHandler, passiveIfSupported);
4139
- dispatch({
4140
- type: actions.columnStartResizing,
4141
- columnId: header.id,
4142
- columnWidth: header.totalWidth,
4143
- headerIdWidths: headerIdWidths,
4144
- clientX: clientX
4145
- });
4146
- };
4147
-
4148
- return [props, {
4149
- onMouseDown: function onMouseDown(e) {
4150
- return e.persist() || onResizeStart(e, header);
4151
- },
4152
- onTouchStart: function onTouchStart(e) {
4153
- return e.persist() || onResizeStart(e, header);
4154
- },
4155
- style: {
4156
- cursor: 'col-resize'
4157
- },
4158
- draggable: false,
4159
- role: 'separator'
4160
- }];
4161
- };
4162
-
4163
- useResizeColumns.pluginName = 'useResizeColumns';
4164
-
4165
- function reducer$b(state, action) {
4166
- if (action.type === actions.init) {
4167
- return _extends({
4168
- columnResizing: {
4169
- columnWidths: {}
4170
- }
4171
- }, state);
4172
- }
4173
-
4174
- if (action.type === actions.resetResize) {
4175
- return _extends({}, state, {
4176
- columnResizing: {
4177
- columnWidths: {}
4178
- }
4179
- });
4180
- }
4181
-
4182
- if (action.type === actions.columnStartResizing) {
4183
- var clientX = action.clientX,
4184
- columnId = action.columnId,
4185
- columnWidth = action.columnWidth,
4186
- headerIdWidths = action.headerIdWidths;
4187
- return _extends({}, state, {
4188
- columnResizing: _extends({}, state.columnResizing, {
4189
- startX: clientX,
4190
- headerIdWidths: headerIdWidths,
4191
- columnWidth: columnWidth,
4192
- isResizingColumn: columnId
4193
- })
4194
- });
4195
- }
4196
-
4197
- if (action.type === actions.columnResizing) {
4198
- var _clientX = action.clientX;
4199
-
4200
- var _state$columnResizing = state.columnResizing,
4201
- startX = _state$columnResizing.startX,
4202
- _columnWidth = _state$columnResizing.columnWidth,
4203
- _state$columnResizing2 = _state$columnResizing.headerIdWidths,
4204
- _headerIdWidths = _state$columnResizing2 === void 0 ? [] : _state$columnResizing2;
4205
-
4206
- var deltaX = _clientX - startX;
4207
- var percentageDeltaX = deltaX / _columnWidth;
4208
- var newColumnWidths = {};
4209
-
4210
- _headerIdWidths.forEach(function (_ref2) {
4211
- var headerId = _ref2[0],
4212
- headerWidth = _ref2[1];
4213
- newColumnWidths[headerId] = Math.max(headerWidth + headerWidth * percentageDeltaX, 0);
4214
- });
4215
-
4216
- return _extends({}, state, {
4217
- columnResizing: _extends({}, state.columnResizing, {
4218
- columnWidths: _extends({}, state.columnResizing.columnWidths, {}, newColumnWidths)
4219
- })
4220
- });
4221
- }
4222
-
4223
- if (action.type === actions.columnDoneResizing) {
4224
- return _extends({}, state, {
4225
- columnResizing: _extends({}, state.columnResizing, {
4226
- startX: null,
4227
- isResizingColumn: null
4228
- })
4229
- });
4230
- }
4231
- }
4232
-
4233
- var useInstanceBeforeDimensions$1 = function useInstanceBeforeDimensions(instance) {
4234
- var flatHeaders = instance.flatHeaders,
4235
- disableResizing = instance.disableResizing,
4236
- getHooks = instance.getHooks,
4237
- columnResizing = instance.state.columnResizing;
4238
- var getInstance = useGetLatest(instance);
4239
- flatHeaders.forEach(function (header) {
4240
- var canResize = getFirstDefined(header.disableResizing === true ? false : undefined, disableResizing === true ? false : undefined, true);
4241
- header.canResize = canResize;
4242
- header.width = columnResizing.columnWidths[header.id] || header.originalWidth || header.width;
4243
- header.isResizing = columnResizing.isResizingColumn === header.id;
4244
-
4245
- if (canResize) {
4246
- header.getResizerProps = makePropGetter(getHooks().getResizerProps, {
4247
- instance: getInstance(),
4248
- header: header
4249
- });
4250
- }
4251
- });
4252
- };
4253
-
4254
- function useInstance$b(instance) {
4255
- var plugins = instance.plugins,
4256
- dispatch = instance.dispatch,
4257
- _instance$autoResetRe = instance.autoResetResize,
4258
- autoResetResize = _instance$autoResetRe === void 0 ? true : _instance$autoResetRe,
4259
- columns = instance.columns;
4260
- ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns');
4261
- var getAutoResetResize = useGetLatest(autoResetResize);
4262
- useMountedLayoutEffect(function () {
4263
- if (getAutoResetResize()) {
4264
- dispatch({
4265
- type: actions.resetResize
4266
- });
4267
- }
4268
- }, [columns]);
4269
- var resetResizing = React.useCallback(function () {
4270
- return dispatch({
4271
- type: actions.resetResize
4272
- });
4273
- }, [dispatch]);
4274
- Object.assign(instance, {
4275
- resetResizing: resetResizing
4276
- });
4277
- }
4278
-
4279
- function getLeafHeaders(header) {
4280
- var leafHeaders = [];
4281
-
4282
- var recurseHeader = function recurseHeader(header) {
4283
- if (header.columns && header.columns.length) {
4284
- header.columns.map(recurseHeader);
4285
- }
4286
-
4287
- leafHeaders.push(header);
4288
- };
4289
-
4290
- recurseHeader(header);
4291
- return leafHeaders;
4292
- }
4293
-
4294
- var cellStyles = {
4295
- position: 'absolute',
4296
- top: 0
4297
- };
4298
- var useAbsoluteLayout = function useAbsoluteLayout(hooks) {
4299
- hooks.getTableBodyProps.push(getRowStyles);
4300
- hooks.getRowProps.push(getRowStyles);
4301
- hooks.getHeaderGroupProps.push(getRowStyles);
4302
- hooks.getFooterGroupProps.push(getRowStyles);
4303
- hooks.getHeaderProps.push(function (props, _ref) {
4304
- var column = _ref.column;
4305
- return [props, {
4306
- style: _extends({}, cellStyles, {
4307
- left: column.totalLeft + "px",
4308
- width: column.totalWidth + "px"
4309
- })
4310
- }];
4311
- });
4312
- hooks.getCellProps.push(function (props, _ref2) {
4313
- var cell = _ref2.cell;
4314
- return [props, {
4315
- style: _extends({}, cellStyles, {
4316
- left: cell.column.totalLeft + "px",
4317
- width: cell.column.totalWidth + "px"
4318
- })
4319
- }];
4320
- });
4321
- hooks.getFooterProps.push(function (props, _ref3) {
4322
- var column = _ref3.column;
4323
- return [props, {
4324
- style: _extends({}, cellStyles, {
4325
- left: column.totalLeft + "px",
4326
- width: column.totalWidth + "px"
4327
- })
4328
- }];
4329
- });
4330
- };
4331
- useAbsoluteLayout.pluginName = 'useAbsoluteLayout';
4332
-
4333
- var getRowStyles = function getRowStyles(props, _ref4) {
4334
- var instance = _ref4.instance;
4335
- return [props, {
4336
- style: {
4337
- position: 'relative',
4338
- width: instance.totalColumnsWidth + "px"
4339
- }
4340
- }];
4341
- };
4342
-
4343
- var cellStyles$1 = {
4344
- display: 'inline-block',
4345
- boxSizing: 'border-box'
4346
- };
4347
-
4348
- var getRowStyles$1 = function getRowStyles(props, _ref) {
4349
- var instance = _ref.instance;
4350
- return [props, {
4351
- style: {
4352
- display: 'flex',
4353
- width: instance.totalColumnsWidth + "px"
4354
- }
4355
- }];
4356
- };
4357
-
4358
- var useBlockLayout = function useBlockLayout(hooks) {
4359
- hooks.getRowProps.push(getRowStyles$1);
4360
- hooks.getHeaderGroupProps.push(getRowStyles$1);
4361
- hooks.getFooterGroupProps.push(getRowStyles$1);
4362
- hooks.getHeaderProps.push(function (props, _ref2) {
4363
- var column = _ref2.column;
4364
- return [props, {
4365
- style: _extends({}, cellStyles$1, {
4366
- width: column.totalWidth + "px"
4367
- })
4368
- }];
4369
- });
4370
- hooks.getCellProps.push(function (props, _ref3) {
4371
- var cell = _ref3.cell;
4372
- return [props, {
4373
- style: _extends({}, cellStyles$1, {
4374
- width: cell.column.totalWidth + "px"
4375
- })
4376
- }];
4377
- });
4378
- hooks.getFooterProps.push(function (props, _ref4) {
4379
- var column = _ref4.column;
4380
- return [props, {
4381
- style: _extends({}, cellStyles$1, {
4382
- width: column.totalWidth + "px"
4383
- })
4384
- }];
4385
- });
4386
- };
4387
- useBlockLayout.pluginName = 'useBlockLayout';
4388
-
4389
- function useFlexLayout(hooks) {
4390
- hooks.getTableProps.push(getTableProps);
4391
- hooks.getRowProps.push(getRowStyles$2);
4392
- hooks.getHeaderGroupProps.push(getRowStyles$2);
4393
- hooks.getFooterGroupProps.push(getRowStyles$2);
4394
- hooks.getHeaderProps.push(getHeaderProps);
4395
- hooks.getCellProps.push(getCellProps);
4396
- hooks.getFooterProps.push(getFooterProps);
4397
- }
4398
- useFlexLayout.pluginName = 'useFlexLayout';
4399
-
4400
- var getTableProps = function getTableProps(props, _ref) {
4401
- var instance = _ref.instance;
4402
- return [props, {
4403
- style: {
4404
- minWidth: instance.totalColumnsMinWidth + "px"
4405
- }
4406
- }];
4407
- };
4408
-
4409
- var getRowStyles$2 = function getRowStyles(props, _ref2) {
4410
- var instance = _ref2.instance;
4411
- return [props, {
4412
- style: {
4413
- display: 'flex',
4414
- flex: '1 0 auto',
4415
- minWidth: instance.totalColumnsMinWidth + "px"
4416
- }
4417
- }];
4418
- };
4419
-
4420
- var getHeaderProps = function getHeaderProps(props, _ref3) {
4421
- var column = _ref3.column;
4422
- return [props, {
4423
- style: {
4424
- boxSizing: 'border-box',
4425
- flex: column.totalFlexWidth ? column.totalFlexWidth + " 0 auto" : undefined,
4426
- minWidth: column.totalMinWidth + "px",
4427
- width: column.totalWidth + "px"
4428
- }
4429
- }];
4430
- };
4431
-
4432
- var getCellProps = function getCellProps(props, _ref4) {
4433
- var cell = _ref4.cell;
4434
- return [props, {
4435
- style: {
4436
- boxSizing: 'border-box',
4437
- flex: cell.column.totalFlexWidth + " 0 auto",
4438
- minWidth: cell.column.totalMinWidth + "px",
4439
- width: cell.column.totalWidth + "px"
4440
- }
4441
- }];
4442
- };
4443
-
4444
- var getFooterProps = function getFooterProps(props, _ref5) {
4445
- var column = _ref5.column;
4446
- return [props, {
4447
- style: {
4448
- boxSizing: 'border-box',
4449
- flex: column.totalFlexWidth ? column.totalFlexWidth + " 0 auto" : undefined,
4450
- minWidth: column.totalMinWidth + "px",
4451
- width: column.totalWidth + "px"
4452
- }
4453
- }];
4454
- };
4455
-
4456
- function useGridLayout(hooks) {
4457
- hooks.stateReducers.push(reducer$c);
4458
- hooks.getTableProps.push(getTableProps$1);
4459
- hooks.getHeaderProps.push(getHeaderProps$1);
4460
- }
4461
- useGridLayout.pluginName = 'useGridLayout';
4462
-
4463
- var getTableProps$1 = function getTableProps(props, _ref) {
4464
- var instance = _ref.instance;
4465
- return [props, {
4466
- style: {
4467
- display: "grid",
4468
- gridTemplateColumns: instance.state.gridLayout.columnWidths.map(function (w) {
4469
- return w;
4470
- }).join(" ")
4471
- }
4472
- }];
4473
- };
4474
-
4475
- var getHeaderProps$1 = function getHeaderProps(props, _ref2) {
4476
- var column = _ref2.column;
4477
- return [props, {
4478
- id: "header-cell-" + column.id,
4479
- style: {
4480
- position: "sticky" //enables a scroll wrapper to be placed around the table and have sticky headers
4481
-
4482
- }
4483
- }];
4484
- };
4485
-
4486
- function reducer$c(state, action, previousState, instance) {
4487
- if (action.type === "init") {
4488
- return _extends({
4489
- gridLayout: {
4490
- columnWidths: instance.columns.map(function () {
4491
- return "auto";
4492
- })
4493
- }
4494
- }, state);
4495
- }
4496
-
4497
- if (action.type === "columnStartResizing") {
4498
- var columnId = action.columnId;
4499
- var columnIndex = instance.visibleColumns.findIndex(function (col) {
4500
- return col.id === columnId;
4501
- });
4502
- var elWidth = getElementWidth(columnId);
4503
-
4504
- if (elWidth !== undefined) {
4505
- return _extends({}, state, {
4506
- gridLayout: _extends({}, state.gridLayout, {
4507
- columnId: columnId,
4508
- columnIndex: columnIndex,
4509
- startingWidth: elWidth
4510
- })
4511
- });
4512
- } else {
4513
- return state;
4514
- }
4515
- }
4516
-
4517
- if (action.type === "columnResizing") {
4518
- var _state$gridLayout = state.gridLayout,
4519
- _columnIndex = _state$gridLayout.columnIndex,
4520
- startingWidth = _state$gridLayout.startingWidth,
4521
- columnWidths = _state$gridLayout.columnWidths;
4522
- var change = state.columnResizing.startX - action.clientX;
4523
- var newWidth = startingWidth - change;
4524
- var columnWidthsCopy = [].concat(columnWidths);
4525
- columnWidthsCopy[_columnIndex] = newWidth + "px";
4526
- return _extends({}, state, {
4527
- gridLayout: _extends({}, state.gridLayout, {
4528
- columnWidths: columnWidthsCopy
4529
- })
4530
- });
4531
- }
4532
- }
4533
-
4534
- function getElementWidth(columnId) {
4535
- var _document$getElementB;
4536
-
4537
- var width = (_document$getElementB = document.getElementById("header-cell-" + columnId)) == null ? void 0 : _document$getElementB.offsetWidth;
4538
-
4539
- if (width !== undefined) {
4540
- return width;
4541
- }
4542
- }
4543
-
4544
- exports._UNSTABLE_usePivotColumns = _UNSTABLE_usePivotColumns;
4545
- exports.actions = actions;
4546
- exports.defaultColumn = defaultColumn;
4547
- exports.defaultGroupByFn = defaultGroupByFn;
4548
- exports.defaultOrderByFn = defaultOrderByFn;
4549
- exports.defaultRenderer = defaultRenderer;
4550
- exports.emptyRenderer = emptyRenderer;
4551
- exports.ensurePluginOrder = ensurePluginOrder;
4552
- exports.flexRender = flexRender;
4553
- exports.functionalUpdate = functionalUpdate;
4554
- exports.loopHooks = loopHooks;
4555
- exports.makePropGetter = makePropGetter;
4556
- exports.makeRenderer = makeRenderer;
4557
- exports.reduceHooks = reduceHooks;
4558
- exports.safeUseLayoutEffect = safeUseLayoutEffect;
4559
- exports.useAbsoluteLayout = useAbsoluteLayout;
4560
- exports.useAsyncDebounce = useAsyncDebounce;
4561
- exports.useBlockLayout = useBlockLayout;
4562
- exports.useColumnOrder = useColumnOrder;
4563
- exports.useExpanded = useExpanded;
4564
- exports.useFilters = useFilters;
4565
- exports.useFlexLayout = useFlexLayout;
4566
- exports.useGetLatest = useGetLatest;
4567
- exports.useGlobalFilter = useGlobalFilter;
4568
- exports.useGridLayout = useGridLayout;
4569
- exports.useGroupBy = useGroupBy;
4570
- exports.useMountedLayoutEffect = useMountedLayoutEffect;
4571
- exports.usePagination = usePagination;
4572
- exports.useResizeColumns = useResizeColumns;
4573
- exports.useRowSelect = useRowSelect;
4574
- exports.useRowState = useRowState;
4575
- exports.useSortBy = useSortBy;
4576
- exports.useTable = useTable;
4577
-
4578
- Object.defineProperty(exports, '__esModule', { value: true });
4579
-
4580
- })));
4581
-
4582
- }(reactTable_development, reactTable_development.exports));
4583
-
4584
- if (process.env.NODE_ENV === 'production') {
4585
- reactTable.exports = reactTable_production_min.exports;
4586
- } else {
4587
- reactTable.exports = reactTable_development.exports;
4588
- }
4589
-
4590
- export { reactTable as r };
4591
- //# sourceMappingURL=react-table-de7bf68c.js.map