@tanstack/table-core 8.0.0-alpha.63 → 8.0.0-alpha.67

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 (114) hide show
  1. package/build/cjs/core.js +7 -4
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +2 -2
  4. package/build/cjs/features/Cells.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +68 -143
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Columns.js +7 -7
  8. package/build/cjs/features/Columns.js.map +1 -1
  9. package/build/cjs/features/Expanding.js +52 -90
  10. package/build/cjs/features/Expanding.js.map +1 -1
  11. package/build/cjs/features/Filters.js +213 -191
  12. package/build/cjs/features/Filters.js.map +1 -1
  13. package/build/cjs/features/Grouping.js +54 -80
  14. package/build/cjs/features/Grouping.js.map +1 -1
  15. package/build/cjs/features/Headers.js +16 -40
  16. package/build/cjs/features/Headers.js.map +1 -1
  17. package/build/cjs/features/Ordering.js +6 -5
  18. package/build/cjs/features/Ordering.js.map +1 -1
  19. package/build/cjs/features/Pagination.js +5 -5
  20. package/build/cjs/features/Pagination.js.map +1 -1
  21. package/build/cjs/features/Pinning.js +82 -168
  22. package/build/cjs/features/Pinning.js.map +1 -1
  23. package/build/cjs/features/RowSelection.js +67 -119
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +41 -91
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +20 -43
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/filterFns.js +51 -108
  30. package/build/cjs/filterFns.js.map +1 -1
  31. package/build/cjs/index.js +5 -4
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/filterRowsUtils.js +21 -0
  34. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
  36. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  37. package/build/cjs/utils/getCoreRowModelSync.js +1 -1
  38. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  39. package/build/cjs/utils/getExpandedRowModel.js +2 -2
  40. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  41. package/build/cjs/utils/getFilteredRowModelSync.js +125 -0
  42. package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -0
  43. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  44. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  45. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  46. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  47. package/build/cjs/utils/getSortedRowModelSync.js +3 -3
  48. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  49. package/build/cjs/utils.js +2 -6
  50. package/build/cjs/utils.js.map +1 -1
  51. package/build/esm/index.js +899 -1357
  52. package/build/esm/index.js.map +1 -1
  53. package/build/stats-html.html +1 -1
  54. package/build/stats-react.json +404 -418
  55. package/build/types/features/ColumnSizing.d.ts +2 -13
  56. package/build/types/features/Expanding.d.ts +3 -13
  57. package/build/types/features/Filters.d.ts +38 -42
  58. package/build/types/features/Grouping.d.ts +3 -18
  59. package/build/types/features/Ordering.d.ts +2 -6
  60. package/build/types/features/Pinning.d.ts +2 -19
  61. package/build/types/features/RowSelection.d.ts +4 -15
  62. package/build/types/features/Sorting.d.ts +5 -22
  63. package/build/types/features/Visibility.d.ts +2 -15
  64. package/build/types/filterFns.d.ts +10 -52
  65. package/build/types/index.d.ts +1 -2
  66. package/build/types/types.d.ts +2 -4
  67. package/build/types/utils/filterRowsUtils.d.ts +1 -0
  68. package/build/types/utils/{getColumnFilteredRowModelAsync.d.ts → getFilteredRowModelAsync.d.ts} +1 -1
  69. package/build/types/utils/getFilteredRowModelSync.d.ts +2 -0
  70. package/build/types/utils.d.ts +2 -2
  71. package/build/umd/index.development.js +867 -1323
  72. package/build/umd/index.development.js.map +1 -1
  73. package/build/umd/index.production.js +1 -1
  74. package/build/umd/index.production.js.map +1 -1
  75. package/package.json +2 -1
  76. package/src/core.ts +5 -5
  77. package/src/features/Cells.ts +4 -2
  78. package/src/features/ColumnSizing.ts +69 -126
  79. package/src/features/Columns.ts +12 -7
  80. package/src/features/Expanding.ts +62 -107
  81. package/src/features/Filters.ts +293 -243
  82. package/src/features/Grouping.ts +59 -81
  83. package/src/features/Headers.ts +18 -40
  84. package/src/features/Ordering.ts +7 -9
  85. package/src/features/Pagination.ts +4 -3
  86. package/src/features/Pinning.ts +77 -164
  87. package/src/features/RowSelection.ts +76 -123
  88. package/src/features/Sorting.ts +48 -106
  89. package/src/features/Visibility.ts +25 -52
  90. package/src/filterFns.ts +74 -147
  91. package/src/index.ts +1 -2
  92. package/src/types.ts +2 -2
  93. package/src/utils/filterRowsUtils.ts +24 -0
  94. package/src/utils/getCoreRowModelAsync.ts +1 -1
  95. package/src/utils/getCoreRowModelSync.ts +1 -1
  96. package/src/utils/getExpandedRowModel.ts +2 -2
  97. package/src/utils/getFilteredRowModelAsync.ts +157 -0
  98. package/src/utils/getFilteredRowModelSync.ts +141 -0
  99. package/src/utils/getGroupedRowModel.ts +1 -1
  100. package/src/utils/getPaginationRowModel.ts +1 -1
  101. package/src/utils/getSortedRowModelAsync.ts +1 -1
  102. package/src/utils/getSortedRowModelSync.ts +4 -4
  103. package/src/utils.ts +2 -4
  104. package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
  105. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
  106. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
  107. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
  108. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
  109. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
  110. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
  111. package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
  112. package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
  113. package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
  114. package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
@@ -213,9 +213,7 @@
213
213
  var a = _ref[0],
214
214
  b = _ref[1];
215
215
  return _extends({}, accu, (_extends3 = {}, _extends3[a] = b, _extends3));
216
- }, {}), {
217
- parent: parent
218
- }));
216
+ }, {})));
219
217
  }
220
218
  }
221
219
 
@@ -299,9 +297,7 @@
299
297
  var a = _ref2[0],
300
298
  b = _ref2[1];
301
299
  return _extends({}, accu, (_extends4 = {}, _extends4[a] = b, _extends4));
302
- }, {}), {
303
- parent: parent
304
- }));
300
+ }, {})));
305
301
  }
306
302
  }
307
303
 
@@ -426,7 +422,7 @@
426
422
  return d.getFlatColumns();
427
423
  }));
428
424
  }, {
429
- key: 'column.getFlatColumns',
425
+ key: "development" === 'production' ,
430
426
  debug: function debug() {
431
427
  var _instance$options$deb2;
432
428
 
@@ -447,7 +443,7 @@
447
443
 
448
444
  return [column];
449
445
  }, {
450
- key: 'column.getLeafColumns',
446
+ key: "development" === 'production' ,
451
447
  debug: function debug() {
452
448
  var _instance$options$deb3;
453
449
 
@@ -637,7 +633,7 @@
637
633
  return acc;
638
634
  }, {});
639
635
  }, {
640
- key: 'row.getAllCellsByColumnId',
636
+ key: "development" === 'production' ,
641
637
  debug: function debug() {
642
638
  var _instance$options$deb2;
643
639
 
@@ -706,8 +702,8 @@
706
702
  getDefaultColumn: function getDefaultColumn() {
707
703
  return defaultColumnSizing;
708
704
  },
709
- getInitialState: function getInitialState() {
710
- return {
705
+ getInitialState: function getInitialState(state) {
706
+ return _extends({
711
707
  columnSizing: {},
712
708
  columnSizingInfo: {
713
709
  startOffset: null,
@@ -717,7 +713,7 @@
717
713
  isResizingColumn: false,
718
714
  columnSizingStart: []
719
715
  }
720
- };
716
+ }, state);
721
717
  },
722
718
  getDefaultOptions: function getDefaultOptions(instance) {
723
719
  return {
@@ -729,139 +725,70 @@
729
725
  createColumn: function createColumn(column, instance) {
730
726
  return {
731
727
  getSize: function getSize() {
732
- return instance.getColumnSize(column.id);
733
- },
734
- getStart: function getStart(position) {
735
- return instance.getColumnStart(column.id, position);
736
- },
737
- getIsResizing: function getIsResizing() {
738
- return instance.getColumnIsResizing(column.id);
739
- },
740
- getCanResize: function getCanResize() {
741
- return instance.getColumnCanResize(column.id);
742
- },
743
- resetSize: function resetSize() {
744
- return instance.resetColumnSize(column.id);
745
- }
746
- };
747
- },
748
- createHeader: function createHeader(header, instance) {
749
- return {
750
- getIsResizing: function getIsResizing() {
751
- return instance.getColumnIsResizing(header.column.id);
752
- },
753
- getCanResize: function getCanResize() {
754
- return instance.getColumnCanResize(header.column.id);
755
- },
756
- resetSize: function resetSize() {
757
- return instance.resetColumnSize(header.column.id);
758
- },
759
- getResizeHandler: function getResizeHandler() {
760
- return instance.getResizeHandler(header.id);
761
- }
762
- };
763
- },
764
- createInstance: function createInstance(instance) {
765
- return {
766
- getColumnSize: function getColumnSize(columnId) {
767
728
  var _column$minSize, _ref, _column$maxSize;
768
729
 
769
- var column = instance.getColumn(columnId);
770
-
771
- if (!column) {
772
- throw new Error();
773
- }
774
-
775
730
  var columnSize = instance.getState().columnSizing[column.id];
776
731
  return Math.min(Math.max((_column$minSize = column.minSize) != null ? _column$minSize : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.size) != null ? _ref : defaultColumnSizing.size), (_column$maxSize = column.maxSize) != null ? _column$maxSize : defaultColumnSizing.maxSize);
777
732
  },
778
- getColumnStart: function getColumnStart(columnId, position) {
779
- var column = instance.getColumn(columnId);
780
-
781
- if (!column) {
782
- throw new Error();
783
- }
784
-
733
+ getStart: function getStart(position) {
785
734
  var columns = !position ? instance.getVisibleLeafColumns() : position === 'left' ? instance.getLeftVisibleLeafColumns() : instance.getRightVisibleLeafColumns();
786
735
  var index = columns.findIndex(function (d) {
787
- return d.id === columnId;
736
+ return d.id === column.id;
788
737
  });
789
738
 
790
739
  if (index > 0) {
791
740
  var prevSiblingColumn = columns[index - 1];
792
- return instance.getColumnStart(prevSiblingColumn.id, position) + prevSiblingColumn.getSize();
741
+ return prevSiblingColumn.getStart(position) + prevSiblingColumn.getSize();
793
742
  }
794
743
 
795
744
  return 0;
796
745
  },
797
- setColumnSizing: function setColumnSizing(updater) {
798
- return instance.options.onColumnSizingChange == null ? void 0 : instance.options.onColumnSizingChange(updater);
799
- },
800
- setColumnSizingInfo: function setColumnSizingInfo(updater) {
801
- return instance.options.onColumnSizingInfoChange == null ? void 0 : instance.options.onColumnSizingInfoChange(updater);
802
- },
803
- resetColumnSizing: function resetColumnSizing() {
804
- var _instance$initialStat;
805
-
806
- instance.setColumnSizing((_instance$initialStat = instance.initialState.columnSizing) != null ? _instance$initialStat : {});
807
- },
808
- resetHeaderSizeInfo: function resetHeaderSizeInfo() {
809
- var _instance$initialStat2;
810
-
811
- instance.setColumnSizingInfo((_instance$initialStat2 = instance.initialState.columnSizingInfo) != null ? _instance$initialStat2 : {});
812
- },
813
- resetColumnSize: function resetColumnSize(columnId) {
746
+ resetSize: function resetSize() {
814
747
  instance.setColumnSizing(function (_ref2) {
815
- _ref2[columnId];
816
- var rest = _objectWithoutPropertiesLoose(_ref2, [columnId].map(_toPropertyKey));
748
+ var _column$id = column.id;
749
+ _ref2[_column$id];
750
+ var rest = _objectWithoutPropertiesLoose(_ref2, [_column$id].map(_toPropertyKey));
817
751
 
818
752
  return rest;
819
753
  });
820
754
  },
821
- resetHeaderSize: function resetHeaderSize(headerId) {
822
- var header = instance.getHeader(headerId);
823
- return instance.resetColumnSize(header.column.id);
824
- },
825
- getHeaderCanResize: function getHeaderCanResize(headerId) {
826
- var header = instance.getHeader(headerId);
827
-
828
- if (!header) {
829
- throw new Error();
830
- }
755
+ getCanResize: function getCanResize() {
756
+ var _column$enableResizin, _instance$options$ena;
831
757
 
832
- return instance.getColumnCanResize(header.column.id);
758
+ return ((_column$enableResizin = column.enableResizing) != null ? _column$enableResizin : true) && ((_instance$options$ena = instance.options.enableColumnResizing) != null ? _instance$options$ena : true);
833
759
  },
834
- getColumnCanResize: function getColumnCanResize(columnId) {
835
- var _ref3, _ref4, _column$enableResizin;
836
-
837
- var column = instance.getColumn(columnId);
838
-
839
- if (!column) {
840
- throw new Error();
841
- }
760
+ getIsResizing: function getIsResizing() {
761
+ return instance.getState().columnSizingInfo.isResizingColumn === column.id;
762
+ }
763
+ };
764
+ },
765
+ createHeader: function createHeader(header, instance) {
766
+ return {
767
+ getSize: function getSize() {
768
+ var sum = 0;
842
769
 
843
- return (_ref3 = (_ref4 = (_column$enableResizin = column.enableResizing) != null ? _column$enableResizin : instance.options.enableColumnResizing) != null ? _ref4 : column.defaultCanResize) != null ? _ref3 : true;
844
- },
845
- getColumnIsResizing: function getColumnIsResizing(columnId) {
846
- var column = instance.getColumn(columnId);
770
+ var recurse = function recurse(header) {
771
+ if (header.subHeaders.length) {
772
+ header.subHeaders.forEach(recurse);
773
+ } else {
774
+ var _header$column$getSiz;
847
775
 
848
- if (!column) {
849
- throw new Error();
850
- }
776
+ sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;
777
+ }
778
+ };
851
779
 
852
- return instance.getState().columnSizingInfo.isResizingColumn === columnId;
780
+ recurse(header);
781
+ return sum;
853
782
  },
854
- getHeaderIsResizing: function getHeaderIsResizing(headerId) {
855
- var header = instance.getHeader(headerId);
856
-
857
- if (!header) {
858
- throw new Error();
783
+ getStart: function getStart() {
784
+ if (header.index > 0) {
785
+ var prevSiblingHeader = header.headerGroup.headers[header.index - 1];
786
+ return prevSiblingHeader.getStart() + prevSiblingHeader.getSize();
859
787
  }
860
788
 
861
- return instance.getColumnIsResizing(header.column.id);
789
+ return 0;
862
790
  },
863
- getResizeHandler: function getResizeHandler(headerId) {
864
- var header = instance.getHeader(headerId);
791
+ getResizeHandler: function getResizeHandler() {
865
792
  var column = instance.getColumn(header.column.id);
866
793
  var canResize = column.getCanResize();
867
794
  return function (e) {
@@ -877,10 +804,9 @@
877
804
  }
878
805
  }
879
806
 
880
- var header = headerId ? instance.getHeader(headerId) : undefined;
881
- var startSize = header ? header.getSize() : column.getSize();
807
+ var startSize = column.getSize();
882
808
  var columnSizingStart = header ? header.getLeafHeaders().map(function (d) {
883
- return [d.column.id, d.getSize()];
809
+ return [d.column.id, d.column.getSize()];
884
810
  }) : [[column.id, column.getSize()]];
885
811
  var clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX;
886
812
 
@@ -895,9 +821,9 @@
895
821
 
896
822
  var deltaOffset = clientXPos - ((_old$startOffset = old == null ? void 0 : old.startOffset) != null ? _old$startOffset : 0);
897
823
  var deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999);
898
- old.columnSizingStart.forEach(function (_ref5) {
899
- var columnId = _ref5[0],
900
- headerSize = _ref5[1];
824
+ old.columnSizingStart.forEach(function (_ref3) {
825
+ var columnId = _ref3[0],
826
+ headerSize = _ref3[1];
901
827
  newColumnSizing[columnId] = Math.round(Math.max(headerSize + headerSize * deltaPercentage, 0) * 100) / 100;
902
828
  });
903
829
  return _extends({}, old, {
@@ -941,36 +867,11 @@
941
867
  onEnd(e.clientX);
942
868
  }
943
869
  };
944
- var touchEvents = {
945
- moveHandler: function moveHandler(e) {
946
- if (e.cancelable) {
947
- e.preventDefault();
948
- e.stopPropagation();
949
- }
950
-
951
- onMove(e.touches[0].clientX);
952
- return false;
953
- },
954
- upHandler: function upHandler(e) {
955
- document.removeEventListener('touchmove', touchEvents.moveHandler);
956
- document.removeEventListener('touchend', touchEvents.upHandler);
957
-
958
- if (e.cancelable) {
959
- e.preventDefault();
960
- e.stopPropagation();
961
- }
962
-
963
- onEnd(e.touches[0].clientX);
964
- }
965
- };
966
870
  var passiveIfSupported = passiveEventSupported() ? {
967
871
  passive: false
968
872
  } : false;
969
873
 
970
- if (isTouchStartEvent(e)) {
971
- document.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported);
972
- document.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported);
973
- } else {
874
+ if (isTouchStartEvent(e)) ; else {
974
875
  document.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported);
975
876
  document.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported);
976
877
  }
@@ -986,33 +887,53 @@
986
887
  });
987
888
  });
988
889
  };
890
+ }
891
+ };
892
+ },
893
+ createInstance: function createInstance(instance) {
894
+ return {
895
+ setColumnSizing: function setColumnSizing(updater) {
896
+ return instance.options.onColumnSizingChange == null ? void 0 : instance.options.onColumnSizingChange(updater);
897
+ },
898
+ setColumnSizingInfo: function setColumnSizingInfo(updater) {
899
+ return instance.options.onColumnSizingInfoChange == null ? void 0 : instance.options.onColumnSizingInfoChange(updater);
900
+ },
901
+ resetColumnSizing: function resetColumnSizing() {
902
+ var _instance$initialStat;
903
+
904
+ instance.setColumnSizing((_instance$initialStat = instance.initialState.columnSizing) != null ? _instance$initialStat : {});
905
+ },
906
+ resetHeaderSizeInfo: function resetHeaderSizeInfo() {
907
+ var _instance$initialStat2;
908
+
909
+ instance.setColumnSizingInfo((_instance$initialStat2 = instance.initialState.columnSizingInfo) != null ? _instance$initialStat2 : {});
989
910
  },
990
911
  getTotalSize: function getTotalSize() {
991
912
  var _instance$getHeaderGr, _instance$getHeaderGr2;
992
913
 
993
914
  return (_instance$getHeaderGr = (_instance$getHeaderGr2 = instance.getHeaderGroups()[0]) == null ? void 0 : _instance$getHeaderGr2.headers.reduce(function (sum, header) {
994
- return sum + header.getSize();
915
+ return sum + header.column.getSize();
995
916
  }, 0)) != null ? _instance$getHeaderGr : 0;
996
917
  },
997
918
  getLeftTotalSize: function getLeftTotalSize() {
998
919
  var _instance$getLeftHead, _instance$getLeftHead2;
999
920
 
1000
921
  return (_instance$getLeftHead = (_instance$getLeftHead2 = instance.getLeftHeaderGroups()[0]) == null ? void 0 : _instance$getLeftHead2.headers.reduce(function (sum, header) {
1001
- return sum + header.getSize();
922
+ return sum + header.column.getSize();
1002
923
  }, 0)) != null ? _instance$getLeftHead : 0;
1003
924
  },
1004
925
  getCenterTotalSize: function getCenterTotalSize() {
1005
926
  var _instance$getCenterHe, _instance$getCenterHe2;
1006
927
 
1007
928
  return (_instance$getCenterHe = (_instance$getCenterHe2 = instance.getCenterHeaderGroups()[0]) == null ? void 0 : _instance$getCenterHe2.headers.reduce(function (sum, header) {
1008
- return sum + header.getSize();
929
+ return sum + header.column.getSize();
1009
930
  }, 0)) != null ? _instance$getCenterHe : 0;
1010
931
  },
1011
932
  getRightTotalSize: function getRightTotalSize() {
1012
933
  var _instance$getRightHea, _instance$getRightHea2;
1013
934
 
1014
935
  return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
1015
- return sum + header.getSize();
936
+ return sum + header.column.getSize();
1016
937
  }, 0)) != null ? _instance$getRightHea : 0;
1017
938
  }
1018
939
  };
@@ -1050,10 +971,10 @@
1050
971
 
1051
972
  //
1052
973
  var Expanding = {
1053
- getInitialState: function getInitialState() {
1054
- return {
974
+ getInitialState: function getInitialState(state) {
975
+ return _extends({
1055
976
  expanded: {}
1056
- };
977
+ }, state);
1057
978
  },
1058
979
  getDefaultOptions: function getDefaultOptions(instance) {
1059
980
  return {
@@ -1083,41 +1004,6 @@
1083
1004
  setExpanded: function setExpanded(updater) {
1084
1005
  return instance.options.onExpandedChange == null ? void 0 : instance.options.onExpandedChange(updater);
1085
1006
  },
1086
- toggleRowExpanded: function toggleRowExpanded(rowId, expanded) {
1087
- if (!rowId) return;
1088
- instance.setExpanded(function (old) {
1089
- var _expanded;
1090
-
1091
- var exists = old === true ? true : !!(old != null && old[rowId]);
1092
- var oldExpanded = {};
1093
-
1094
- if (old === true) {
1095
- Object.keys(instance.getRowModel().rowsById).forEach(function (rowId) {
1096
- oldExpanded[rowId] = true;
1097
- });
1098
- } else {
1099
- oldExpanded = old;
1100
- }
1101
-
1102
- expanded = (_expanded = expanded) != null ? _expanded : !exists;
1103
-
1104
- if (!exists && expanded) {
1105
- var _extends2;
1106
-
1107
- return _extends({}, oldExpanded, (_extends2 = {}, _extends2[rowId] = true, _extends2));
1108
- }
1109
-
1110
- if (exists && !expanded) {
1111
- var _oldExpanded = oldExpanded;
1112
- _oldExpanded[rowId];
1113
- var rest = _objectWithoutPropertiesLoose(_oldExpanded, [rowId].map(_toPropertyKey));
1114
-
1115
- return rest;
1116
- }
1117
-
1118
- return old;
1119
- });
1120
- },
1121
1007
  toggleAllRowsExpanded: function toggleAllRowsExpanded(expanded) {
1122
1008
  if (expanded != null ? expanded : !instance.getIsAllRowsExpanded()) {
1123
1009
  instance.setExpanded(true);
@@ -1130,55 +1016,11 @@
1130
1016
 
1131
1017
  instance.setExpanded((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.expanded) != null ? _instance$initialStat : {});
1132
1018
  },
1133
- getIsRowExpanded: function getIsRowExpanded(rowId) {
1134
- var _instance$options$get;
1135
-
1136
- var row = instance.getPreExpandedRowModel().rowsById[rowId];
1137
-
1138
- if (!row) {
1139
- {
1140
- console.warn("[Table] getIsRowExpanded: no row found with id " + rowId);
1141
- }
1142
-
1143
- throw new Error();
1144
- }
1145
-
1146
- var expanded = instance.getState().expanded;
1147
- return !!((_instance$options$get = instance.options.getIsRowExpanded == null ? void 0 : instance.options.getIsRowExpanded(row)) != null ? _instance$options$get : expanded === true || (expanded == null ? void 0 : expanded[rowId]));
1148
- },
1149
- getRowCanExpand: function getRowCanExpand(rowId) {
1150
- var _ref, _ref2, _instance$options$get2, _row$subRows;
1151
-
1152
- var row = instance.getRow(rowId);
1153
-
1154
- if (!row) {
1155
- {
1156
- console.warn("[Table] getRowCanExpand: no row found with id " + rowId);
1157
- }
1158
-
1159
- throw new Error();
1160
- }
1161
-
1162
- return (_ref = (_ref2 = (_instance$options$get2 = instance.options.getRowCanExpand == null ? void 0 : instance.options.getRowCanExpand(row)) != null ? _instance$options$get2 : instance.options.enableExpanded) != null ? _ref2 : instance.options.defaultCanExpand) != null ? _ref : !!((_row$subRows = row.subRows) != null && _row$subRows.length);
1163
- },
1164
1019
  getCanSomeRowsExpand: function getCanSomeRowsExpand() {
1165
- return Object.keys(instance.getRowModel().rowsById).some(function (id) {
1166
- return instance.getRowCanExpand(id);
1020
+ return instance.getRowModel().flatRows.some(function (row) {
1021
+ return row.getCanExpand();
1167
1022
  });
1168
1023
  },
1169
- getToggleExpandedHandler: function getToggleExpandedHandler(rowId) {
1170
- var row = instance.getRow(rowId);
1171
-
1172
- if (!row) {
1173
- return;
1174
- }
1175
-
1176
- var canExpand = instance.getRowCanExpand(rowId);
1177
- return function () {
1178
- if (!canExpand) return;
1179
- instance.toggleRowExpanded(rowId);
1180
- };
1181
- },
1182
1024
  getToggleAllRowsExpandedHandler: function getToggleAllRowsExpandedHandler() {
1183
1025
  return function (e) {
1184
1026
  e.persist == null ? void 0 : e.persist();
@@ -1197,8 +1039,8 @@
1197
1039
  } // If any row is not expanded, return false
1198
1040
 
1199
1041
 
1200
- if (Object.keys(instance.getRowModel().rowsById).some(function (id) {
1201
- return !instance.getIsRowExpanded(id);
1042
+ if (instance.getRowModel().flatRows.some(function (row) {
1043
+ return row.getIsExpanded();
1202
1044
  })) {
1203
1045
  return false;
1204
1046
  } // They must all be expanded :shrug:
@@ -1234,165 +1076,141 @@
1234
1076
  createRow: function createRow(row, instance) {
1235
1077
  return {
1236
1078
  toggleExpanded: function toggleExpanded(expanded) {
1237
- return void instance.toggleRowExpanded(row.id, expanded);
1079
+ instance.setExpanded(function (old) {
1080
+ var _expanded;
1081
+
1082
+ var exists = old === true ? true : !!(old != null && old[row.id]);
1083
+ var oldExpanded = {};
1084
+
1085
+ if (old === true) {
1086
+ Object.keys(instance.getRowModel().rowsById).forEach(function (rowId) {
1087
+ oldExpanded[rowId] = true;
1088
+ });
1089
+ } else {
1090
+ oldExpanded = old;
1091
+ }
1092
+
1093
+ expanded = (_expanded = expanded) != null ? _expanded : !exists;
1094
+
1095
+ if (!exists && expanded) {
1096
+ var _extends2;
1097
+
1098
+ return _extends({}, oldExpanded, (_extends2 = {}, _extends2[row.id] = true, _extends2));
1099
+ }
1100
+
1101
+ if (exists && !expanded) {
1102
+ var _oldExpanded = oldExpanded,
1103
+ _row$id = row.id;
1104
+ _oldExpanded[_row$id];
1105
+ var rest = _objectWithoutPropertiesLoose(_oldExpanded, [_row$id].map(_toPropertyKey));
1106
+
1107
+ return rest;
1108
+ }
1109
+
1110
+ return old;
1111
+ });
1238
1112
  },
1239
1113
  getIsExpanded: function getIsExpanded() {
1240
- return instance.getIsRowExpanded(row.id);
1114
+ var _instance$options$get;
1115
+
1116
+ var expanded = instance.getState().expanded;
1117
+ return !!((_instance$options$get = instance.options.getIsRowExpanded == null ? void 0 : instance.options.getIsRowExpanded(row)) != null ? _instance$options$get : expanded === true || (expanded == null ? void 0 : expanded[row.id]));
1241
1118
  },
1242
1119
  getCanExpand: function getCanExpand() {
1243
- return row.subRows && !!row.subRows.length;
1120
+ var _instance$options$get2, _instance$options$ena, _row$subRows;
1121
+
1122
+ return ((_instance$options$get2 = instance.options.getRowCanExpand == null ? void 0 : instance.options.getRowCanExpand(row)) != null ? _instance$options$get2 : true) && ((_instance$options$ena = instance.options.enableExpanding) != null ? _instance$options$ena : true) && !!((_row$subRows = row.subRows) != null && _row$subRows.length);
1244
1123
  },
1245
1124
  getToggleExpandedHandler: function getToggleExpandedHandler() {
1246
- return instance.getToggleExpandedHandler(row.id);
1125
+ var canExpand = row.getCanExpand();
1126
+ return function () {
1127
+ if (!canExpand) return;
1128
+ row.toggleExpanded();
1129
+ };
1247
1130
  }
1248
1131
  };
1249
1132
  }
1250
1133
  };
1251
1134
 
1252
- var filterFns = {
1253
- includesString: includesString,
1254
- includesStringSensitive: includesStringSensitive,
1255
- equalsString: equalsString,
1256
- equalsStringSensitive: equalsStringSensitive,
1257
- arrIncludes: arrIncludes,
1258
- arrIncludesAll: arrIncludesAll,
1259
- arrIncludesSome: arrIncludesSome,
1260
- equals: equals,
1261
- weakEquals: weakEquals,
1262
- betweenNumberRange: betweenNumberRange
1135
+ var includesString = function includesString(row, columnId, filterValue) {
1136
+ var search = filterValue.toLowerCase();
1137
+ return row.values[columnId].toLowerCase().includes(search);
1263
1138
  };
1264
1139
 
1265
- function includesString(rows, columnIds, filterValue) {
1266
- var search = String(filterValue).toLowerCase();
1267
- rows = rows.filter(function (row) {
1268
- return columnIds.some(function (id) {
1269
- return String(row.values[id]).toLowerCase().includes(search);
1270
- });
1271
- });
1272
- return rows;
1273
- }
1274
-
1275
1140
  includesString.autoRemove = function (val) {
1276
1141
  return testFalsey(val);
1277
1142
  };
1278
1143
 
1279
- function includesStringSensitive(rows, columnIds, filterValue) {
1280
- var search = String(filterValue);
1281
- rows = rows.filter(function (row) {
1282
- return columnIds.some(function (id) {
1283
- return String(row.values[id]).includes(search);
1284
- });
1285
- });
1286
- return rows;
1287
- }
1144
+ var includesStringSensitive = function includesStringSensitive(row, columnId, filterValue) {
1145
+ return row.values[columnId].includes(filterValue);
1146
+ };
1288
1147
 
1289
1148
  includesStringSensitive.autoRemove = function (val) {
1290
1149
  return testFalsey(val);
1291
1150
  };
1292
1151
 
1293
- function equalsString(rows, columnIds, filterValue) {
1294
- var search = String(filterValue).toLowerCase();
1295
- return rows.filter(function (row) {
1296
- return columnIds.some(function (id) {
1297
- var rowValue = row.values[id];
1298
- return rowValue !== undefined ? String(rowValue).toLowerCase() === search : true;
1299
- });
1300
- });
1301
- }
1152
+ var equalsString = function equalsString(row, columnId, filterValue) {
1153
+ return row.values[columnId].toLowerCase() === filterValue.toLowerCase();
1154
+ };
1302
1155
 
1303
1156
  equalsString.autoRemove = function (val) {
1304
1157
  return testFalsey(val);
1305
1158
  };
1306
1159
 
1307
- function equalsStringSensitive(rows, columnIds, filterValue) {
1308
- var search = String(filterValue);
1309
- return rows.filter(function (row) {
1310
- return columnIds.some(function (id) {
1311
- var rowValue = row.values[id];
1312
- return rowValue !== undefined ? String(rowValue) === search : true;
1313
- });
1314
- });
1315
- }
1316
-
1317
- equalsStringSensitive.autoRemove = function (val) {
1318
- return testFalsey(val);
1160
+ var arrIncludes = function arrIncludes(row, columnId, filterValue) {
1161
+ return row.values[columnId].includes(filterValue);
1319
1162
  };
1320
1163
 
1321
- function arrIncludes(rows, columnIds, filterValue) {
1322
- return rows.filter(function (row) {
1323
- return columnIds.some(function (id) {
1324
- var rowValue = row.values[id];
1325
- return rowValue.includes(filterValue);
1326
- });
1327
- });
1328
- }
1329
-
1330
1164
  arrIncludes.autoRemove = function (val) {
1331
1165
  return testFalsey(val) || !(val != null && val.length);
1332
1166
  };
1333
1167
 
1334
- function arrIncludesAll(rows, columnIds, filterValue) {
1335
- return rows.filter(function (row) {
1336
- return columnIds.some(function (id) {
1337
- var rowValue = row.values[id];
1338
- return rowValue && rowValue.length && filterValue.every(function (val) {
1339
- return rowValue.includes(val);
1340
- });
1341
- });
1168
+ var arrIncludesAll = function arrIncludesAll(row, columnId, filterValue) {
1169
+ return !filterValue.some(function (val) {
1170
+ return !row.values[columnId].includes(val);
1342
1171
  });
1343
- }
1172
+ };
1344
1173
 
1345
1174
  arrIncludesAll.autoRemove = function (val) {
1346
1175
  return testFalsey(val) || !(val != null && val.length);
1347
1176
  };
1348
1177
 
1349
- function arrIncludesSome(rows, columnIds, filterValue) {
1350
- return rows.filter(function (row) {
1351
- return columnIds.some(function (id) {
1352
- var rowValue = row.values[id];
1353
- return rowValue && rowValue.length && filterValue.some(function (val) {
1354
- return rowValue.includes(val);
1355
- });
1356
- });
1178
+ var arrIncludesSome = function arrIncludesSome(row, columnId, filterValue) {
1179
+ return filterValue.some(function (val) {
1180
+ return row.values[columnId].includes(val);
1357
1181
  });
1358
- }
1182
+ };
1359
1183
 
1360
1184
  arrIncludesSome.autoRemove = function (val) {
1361
1185
  return testFalsey(val) || !(val != null && val.length);
1362
1186
  };
1363
1187
 
1364
- function equals(rows, columnIds, filterValue) {
1365
- return rows.filter(function (row) {
1366
- return columnIds.some(function (id) {
1367
- var rowValue = row.values[id];
1368
- return rowValue === filterValue;
1369
- });
1370
- });
1371
- }
1188
+ var equals = function equals(row, columnId, filterValue) {
1189
+ return row.values[columnId] === filterValue;
1190
+ };
1372
1191
 
1373
1192
  equals.autoRemove = function (val) {
1374
1193
  return testFalsey(val);
1375
1194
  };
1376
1195
 
1377
- function weakEquals(rows, columnIds, filterValue) {
1378
- return rows.filter(function (row) {
1379
- return columnIds.some(function (id) {
1380
- var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
1381
-
1382
- return rowValue == filterValue;
1383
- });
1384
- });
1385
- }
1196
+ var weakEquals = function weakEquals(row, columnId, filterValue) {
1197
+ return row.values[columnId] == filterValue;
1198
+ };
1386
1199
 
1387
1200
  weakEquals.autoRemove = function (val) {
1388
1201
  return testFalsey(val);
1389
1202
  };
1390
1203
 
1391
- function betweenNumberRange(rows, columnIds, filterValue) {
1392
- var _ref = filterValue || [],
1393
- unsafeMin = _ref[0],
1394
- unsafeMax = _ref[1];
1204
+ var inNumberRange = function inNumberRange(row, columnId, filterValue) {
1205
+ var min = filterValue[0],
1206
+ max = filterValue[1];
1207
+ var rowValue = row.values[columnId];
1208
+ return rowValue >= min && rowValue <= max;
1209
+ };
1395
1210
 
1211
+ inNumberRange.resolveFilterValue = function (val) {
1212
+ var unsafeMin = val[0],
1213
+ unsafeMax = val[1];
1396
1214
  var parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;
1397
1215
  var parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
1398
1216
  var min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
@@ -1404,23 +1222,134 @@
1404
1222
  max = temp;
1405
1223
  }
1406
1224
 
1407
- return rows.filter(function (row) {
1408
- return columnIds.some(function (id) {
1409
- var rowValue = row.values[id];
1410
- return rowValue >= min && rowValue <= max;
1411
- });
1412
- });
1413
- }
1225
+ return [min, max];
1226
+ };
1414
1227
 
1415
- betweenNumberRange.autoRemove = function (val) {
1228
+ inNumberRange.autoRemove = function (val) {
1416
1229
  return testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);
1417
- }; // Utils
1230
+ }; // Export
1418
1231
 
1419
1232
 
1233
+ var filterFns = {
1234
+ includesString: includesString,
1235
+ includesStringSensitive: includesStringSensitive,
1236
+ equalsString: equalsString,
1237
+ arrIncludes: arrIncludes,
1238
+ arrIncludesAll: arrIncludesAll,
1239
+ arrIncludesSome: arrIncludesSome,
1240
+ equals: equals,
1241
+ weakEquals: weakEquals,
1242
+ inNumberRange: inNumberRange
1243
+ };
1244
+
1245
+ // Utils
1420
1246
  function testFalsey(val) {
1421
1247
  return val === undefined || val === null || val === '';
1422
1248
  }
1423
1249
 
1250
+ function filterRows(rows, columnIds, instance) {
1251
+ var filterRowImpl = function filterRowImpl(rowsToFilter) {
1252
+ // Horizontally filter rows through each column
1253
+ return rowsToFilter.filter(function (row) {
1254
+ for (var i = 0; i < columnIds.length; i++) {
1255
+ if (row.columnFilterMap[columnIds[i]] === false) {
1256
+ return false;
1257
+ }
1258
+ }
1259
+
1260
+ return true;
1261
+ });
1262
+ };
1263
+
1264
+ if (instance.options.filterFromLeafRows) {
1265
+ return filterRowModelFromLeafs(rows, filterRowImpl, instance);
1266
+ }
1267
+
1268
+ return filterRowModelFromRoot(rows, filterRowImpl, instance);
1269
+ }
1270
+ function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
1271
+ var newFilteredFlatRows = [];
1272
+ var newFilteredRowsById = {};
1273
+
1274
+ var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
1275
+ if (depth === void 0) {
1276
+ depth = 0;
1277
+ }
1278
+
1279
+ rowsToFilter = rowsToFilter.slice(); // Filter from children up first
1280
+
1281
+ for (var i = 0; i < rowsToFilter.length; i++) {
1282
+ var _row$subRows;
1283
+
1284
+ var row = rowsToFilter[i];
1285
+
1286
+ if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
1287
+ continue;
1288
+ }
1289
+
1290
+ rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
1291
+ rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
1292
+
1293
+ if (!rowsToFilter[i].subRows.length) {
1294
+ rowsToFilter.splice(i, 1);
1295
+ i--;
1296
+ }
1297
+ }
1298
+
1299
+ rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
1300
+
1301
+ rowsToFilter.forEach(function (row) {
1302
+ newFilteredFlatRows.push(row);
1303
+ newFilteredRowsById[row.id] = row;
1304
+ });
1305
+ return rowsToFilter;
1306
+ };
1307
+
1308
+ return {
1309
+ rows: recurseFilterRows(rowsToFilter),
1310
+ flatRows: newFilteredFlatRows,
1311
+ rowsById: newFilteredRowsById
1312
+ };
1313
+ }
1314
+ function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
1315
+ var newFilteredFlatRows = [];
1316
+ var newFilteredRowsById = {}; // Filters top level and nested rows
1317
+
1318
+ var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
1319
+ if (depth === void 0) {
1320
+ depth = 0;
1321
+ }
1322
+
1323
+ // Filter from parents downward first
1324
+ rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
1325
+
1326
+ for (var i = 0; i < rowsToFilter.length; i++) {
1327
+ var _row$subRows2;
1328
+
1329
+ var row = rowsToFilter[i];
1330
+ newFilteredFlatRows.push(row);
1331
+ newFilteredRowsById[row.id] = row;
1332
+
1333
+ if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
1334
+ rowsToFilter.splice(i, 1);
1335
+ i--;
1336
+ continue;
1337
+ }
1338
+
1339
+ rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
1340
+ rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
1341
+ }
1342
+
1343
+ return rowsToFilter;
1344
+ };
1345
+
1346
+ return {
1347
+ rows: recurseFilterRows(rowsToFilter),
1348
+ flatRows: newFilteredFlatRows,
1349
+ rowsById: newFilteredRowsById
1350
+ };
1351
+ }
1352
+
1424
1353
  //
1425
1354
  var Filters = {
1426
1355
  getDefaultColumn: function getDefaultColumn() {
@@ -1428,13 +1357,13 @@
1428
1357
  filterFn: 'auto'
1429
1358
  };
1430
1359
  },
1431
- getInitialState: function getInitialState() {
1432
- return {
1360
+ getInitialState: function getInitialState(state) {
1361
+ return _extends({
1433
1362
  columnFilters: [],
1434
1363
  globalFilter: undefined,
1435
1364
  columnFiltersProgress: 1,
1436
1365
  globalFilterProgress: 1
1437
- };
1366
+ }, state);
1438
1367
  },
1439
1368
  getDefaultOptions: function getDefaultOptions(instance) {
1440
1369
  return {
@@ -1442,7 +1371,7 @@
1442
1371
  onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
1443
1372
  filterFromLeafRows: true,
1444
1373
  globalFilterFn: 'auto',
1445
- getColumnCanGlobalFilterFn: function getColumnCanGlobalFilterFn(column) {
1374
+ getColumnCanGlobalFilter: function getColumnCanGlobalFilter(column) {
1446
1375
  var _instance$getCoreRowM, _instance$getCoreRowM2;
1447
1376
 
1448
1377
  var value = (_instance$getCoreRowM = instance.getCoreRowModel().flatRows[0]) == null ? void 0 : (_instance$getCoreRowM2 = _instance$getCoreRowM.getAllCellsByColumnId()[column.id]) == null ? void 0 : _instance$getCoreRowM2.value;
@@ -1451,93 +1380,18 @@
1451
1380
  };
1452
1381
  },
1453
1382
  createColumn: function createColumn(column, instance) {
1454
- var getFacetInfo = memo(function () {
1455
- return [column.getPreFilteredRows()];
1456
- }, function (rows) {
1457
- var _rows$0$values$column, _rows$, _rows$0$values$column2, _rows$2;
1458
-
1459
- if (rows === void 0) {
1460
- rows = [];
1461
- }
1462
-
1463
- var preFilteredUniqueValues = new Map();
1464
- var preFilteredMinMaxValues = [(_rows$0$values$column = (_rows$ = rows[0]) == null ? void 0 : _rows$.values[column.id]) != null ? _rows$0$values$column : null, (_rows$0$values$column2 = (_rows$2 = rows[0]) == null ? void 0 : _rows$2.values[column.id]) != null ? _rows$0$values$column2 : null];
1465
-
1466
- for (var i = 0; i < rows.length; i++) {
1467
- var _rows$i;
1468
-
1469
- var _value = (_rows$i = rows[i]) == null ? void 0 : _rows$i.values[column.id];
1470
-
1471
- if (preFilteredUniqueValues.has(_value)) {
1472
- var _preFilteredUniqueVal;
1473
-
1474
- preFilteredUniqueValues.set(_value, ((_preFilteredUniqueVal = preFilteredUniqueValues.get(_value)) != null ? _preFilteredUniqueVal : 0) + 1);
1475
- } else {
1476
- preFilteredUniqueValues.set(_value, 1);
1477
- }
1478
-
1479
- if (_value < preFilteredMinMaxValues[0]) {
1480
- preFilteredMinMaxValues[0] = _value;
1481
- } else if (_value > preFilteredMinMaxValues[1]) {
1482
- preFilteredMinMaxValues[1] = _value;
1483
- }
1484
- }
1485
-
1486
- return {
1487
- preFilteredUniqueValues: preFilteredUniqueValues,
1488
- preFilteredMinMaxValues: preFilteredMinMaxValues
1489
- };
1490
- }, {
1491
- key: 'column.getFacetInfo',
1492
- debug: function debug() {
1493
- var _instance$options$deb;
1494
-
1495
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
1496
- }
1497
- });
1498
1383
  return {
1499
1384
  filterFn: column.filterFn,
1500
- getCanColumnFilter: function getCanColumnFilter() {
1501
- return instance.getColumnCanColumnFilter(column.id);
1502
- },
1503
- getCanGlobalFilter: function getCanGlobalFilter() {
1504
- return instance.getColumnCanGlobalFilter(column.id);
1505
- },
1506
- getColumnFilterIndex: function getColumnFilterIndex() {
1507
- return instance.getColumnFilterIndex(column.id);
1508
- },
1509
- getColumnIsFiltered: function getColumnIsFiltered() {
1510
- return instance.getColumnIsFiltered(column.id);
1511
- },
1512
- getColumnFilterValue: function getColumnFilterValue() {
1513
- return instance.getColumnFilterValue(column.id);
1514
- },
1515
- setColumnFilterValue: function setColumnFilterValue(val) {
1516
- return instance.setColumnFilterValue(column.id, val);
1517
- },
1518
- getPreFilteredUniqueValues: function getPreFilteredUniqueValues() {
1519
- return getFacetInfo().preFilteredUniqueValues;
1520
- },
1521
- getPreFilteredMinMaxValues: function getPreFilteredMinMaxValues() {
1522
- return getFacetInfo().preFilteredMinMaxValues;
1523
- },
1524
- getPreFilteredRows: function getPreFilteredRows() {
1525
- return undefined;
1526
- }
1527
- };
1528
- },
1529
- createInstance: function createInstance(instance) {
1530
- return {
1531
- getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
1385
+ getAutoFilterFn: function getAutoFilterFn() {
1532
1386
  var firstRow = instance.getCoreRowModel().flatRows[0];
1533
- var value = firstRow == null ? void 0 : firstRow.values[columnId];
1387
+ var value = firstRow == null ? void 0 : firstRow.values[column.id];
1534
1388
 
1535
1389
  if (typeof value === 'string') {
1536
1390
  return filterFns.includesString;
1537
1391
  }
1538
1392
 
1539
1393
  if (typeof value === 'number') {
1540
- return filterFns.betweenNumberRange;
1394
+ return filterFns.inNumberRange;
1541
1395
  }
1542
1396
 
1543
1397
  if (value !== null && typeof value === 'object') {
@@ -1550,115 +1404,44 @@
1550
1404
 
1551
1405
  return filterFns.weakEquals;
1552
1406
  },
1553
- getGlobalAutoFilterFn: function getGlobalAutoFilterFn() {
1554
- return filterFns.includesString;
1555
- },
1556
- getColumnFilterFn: function getColumnFilterFn(columnId) {
1407
+ getFilterFn: function getFilterFn() {
1557
1408
  var _ref;
1558
1409
 
1559
- var column = instance.getColumn(columnId);
1560
1410
  var userFilterFns = instance.options.filterFns;
1561
-
1562
- if (!column) {
1563
- throw new Error();
1564
- }
1565
-
1566
- return isFunction(column.filterFn) ? column.filterFn : column.filterFn === 'auto' ? instance.getColumnAutoFilterFn(columnId) : (_ref = userFilterFns == null ? void 0 : userFilterFns[column.filterFn]) != null ? _ref : filterFns[column.filterFn];
1411
+ return isFunction(column.filterFn) ? column.filterFn : column.filterFn === 'auto' ? column.getAutoFilterFn() : (_ref = userFilterFns == null ? void 0 : userFilterFns[column.filterFn]) != null ? _ref : filterFns[column.filterFn];
1567
1412
  },
1568
- getGlobalFilterFn: function getGlobalFilterFn() {
1569
- var _ref2;
1413
+ getCanFilter: function getCanFilter() {
1414
+ var _column$enableColumnF, _instance$options$ena, _instance$options$ena2;
1570
1415
 
1571
- var _instance$options = instance.options,
1572
- userFilterFns = _instance$options.filterFns,
1573
- globalFilterFn = _instance$options.globalFilterFn;
1574
- return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns[globalFilterFn];
1416
+ return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && ((_instance$options$ena2 = instance.options.enableFilters) != null ? _instance$options$ena2 : true) && !!column.accessorFn;
1575
1417
  },
1576
- setColumnFilters: function setColumnFilters(updater) {
1577
- var leafColumns = instance.getAllLeafColumns();
1578
-
1579
- var updateFn = function updateFn(old) {
1580
- var _functionalUpdate;
1581
-
1582
- return (_functionalUpdate = functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(function (filter) {
1583
- var column = leafColumns.find(function (d) {
1584
- return d.id === filter.id;
1585
- });
1586
-
1587
- if (column) {
1588
- var filterFn = instance.getColumnFilterFn(column.id);
1589
-
1590
- if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
1591
- return false;
1592
- }
1593
- }
1594
-
1595
- return true;
1596
- });
1597
- };
1598
-
1599
- instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn);
1600
- },
1601
- setGlobalFilter: function setGlobalFilter(updater) {
1602
- instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater);
1603
- },
1604
- resetGlobalFilter: function resetGlobalFilter() {
1605
- instance.setGlobalFilter(instance.initialState.globalFilter);
1606
- },
1607
- getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
1608
- var _ref3, _ref4, _ref5, _ref6, _ref7, _column$enableAllFilt;
1609
-
1610
- var column = instance.getColumn(columnId);
1611
-
1612
- if (!column) {
1613
- throw new Error();
1614
- }
1615
-
1616
- return (_ref3 = (_ref4 = (_ref5 = (_ref6 = (_ref7 = (_column$enableAllFilt = column.enableAllFilters) != null ? _column$enableAllFilt : column.enableColumnFilter) != null ? _ref7 : instance.options.enableFilters) != null ? _ref6 : instance.options.enableColumnFilters) != null ? _ref5 : column.defaultCanColumnFilter) != null ? _ref4 : column.defaultCanFilter) != null ? _ref3 : !!column.accessorFn;
1617
- },
1618
- getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
1619
- var _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _instance$options$ena;
1620
-
1621
- var column = instance.getColumn(columnId);
1622
-
1623
- if (!column) {
1624
- throw new Error();
1625
- }
1418
+ getCanGlobalFilter: function getCanGlobalFilter() {
1419
+ var _column$enableGlobalF, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
1626
1420
 
1627
- return (_ref8 = ((_ref9 = (_ref10 = (_ref11 = (_ref12 = (_ref13 = (_instance$options$ena = instance.options.enableFilters) != null ? _instance$options$ena : instance.options.enableGlobalFilter) != null ? _ref13 : column.enableAllFilters) != null ? _ref12 : column.enableGlobalFilter) != null ? _ref11 : column.defaultCanGlobalFilter) != null ? _ref10 : column.defaultCanFilter) != null ? _ref9 : !!column.accessorFn) && (instance.options.getColumnCanGlobalFilterFn == null ? void 0 : instance.options.getColumnCanGlobalFilterFn(column))) != null ? _ref8 : true;
1421
+ return ((_column$enableGlobalF = column.enableGlobalFilter) != null ? _column$enableGlobalF : true) && ((_instance$options$ena3 = instance.options.enableGlobalFilter) != null ? _instance$options$ena3 : true) && ((_instance$options$ena4 = instance.options.enableFilters) != null ? _instance$options$ena4 : true) && ((_instance$options$get = instance.options.getColumnCanGlobalFilter == null ? void 0 : instance.options.getColumnCanGlobalFilter(column)) != null ? _instance$options$get : true) && !!column.accessorFn;
1628
1422
  },
1629
- getColumnIsFiltered: function getColumnIsFiltered(columnId) {
1630
- return instance.getColumnFilterIndex(columnId) > -1;
1423
+ getIsFiltered: function getIsFiltered() {
1424
+ return column.getFilterIndex() > -1;
1631
1425
  },
1632
- getColumnFilterValue: function getColumnFilterValue(columnId) {
1426
+ getFilterValue: function getFilterValue() {
1633
1427
  var _instance$getState$co, _instance$getState$co2;
1634
1428
 
1635
1429
  return (_instance$getState$co = instance.getState().columnFilters) == null ? void 0 : (_instance$getState$co2 = _instance$getState$co.find(function (d) {
1636
- return d.id === columnId;
1430
+ return d.id === column.id;
1637
1431
  })) == null ? void 0 : _instance$getState$co2.value;
1638
1432
  },
1639
- getColumnFilterIndex: function getColumnFilterIndex(columnId) {
1433
+ getFilterIndex: function getFilterIndex() {
1640
1434
  var _instance$getState$co3, _instance$getState$co4;
1641
1435
 
1642
1436
  return (_instance$getState$co3 = (_instance$getState$co4 = instance.getState().columnFilters) == null ? void 0 : _instance$getState$co4.findIndex(function (d) {
1643
- return d.id === columnId;
1437
+ return d.id === column.id;
1644
1438
  })) != null ? _instance$getState$co3 : -1;
1645
1439
  },
1646
- setColumnFilterValue: function setColumnFilterValue(columnId, value) {
1647
- if (!columnId) return;
1440
+ setFilterValue: function setFilterValue(value) {
1648
1441
  instance.setColumnFilters(function (old) {
1649
- var column = instance.getColumn(columnId);
1650
-
1651
- if (!column) {
1652
- {
1653
- console.warn("Table: Could not find a column with id: " + columnId);
1654
- }
1655
-
1656
- throw new Error();
1657
- }
1658
-
1659
- var filterFn = instance.getColumnFilterFn(column.id);
1442
+ var filterFn = column.getFilterFn();
1660
1443
  var previousfilter = old == null ? void 0 : old.find(function (d) {
1661
- return d.id === columnId;
1444
+ return d.id === column.id;
1662
1445
  });
1663
1446
  var newFilter = functionalUpdate(value, previousfilter ? previousfilter.value : undefined); //
1664
1447
 
@@ -1666,12 +1449,12 @@
1666
1449
  var _old$filter;
1667
1450
 
1668
1451
  return (_old$filter = old == null ? void 0 : old.filter(function (d) {
1669
- return d.id !== columnId;
1452
+ return d.id !== column.id;
1670
1453
  })) != null ? _old$filter : [];
1671
1454
  }
1672
1455
 
1673
1456
  var newFilterObj = {
1674
- id: columnId,
1457
+ id: column.id,
1675
1458
  value: newFilter
1676
1459
  };
1677
1460
 
@@ -1679,7 +1462,7 @@
1679
1462
  var _old$map;
1680
1463
 
1681
1464
  return (_old$map = old == null ? void 0 : old.map(function (d) {
1682
- if (d.id === columnId) {
1465
+ if (d.id === column.id) {
1683
1466
  return newFilterObj;
1684
1467
  }
1685
1468
 
@@ -1694,45 +1477,209 @@
1694
1477
  return [newFilterObj];
1695
1478
  });
1696
1479
  },
1480
+ getFacetedRowModel: memo(function () {
1481
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
1482
+ instance.getFilteredRowModel()];
1483
+ }, function (rowModel, columnFilters, globalFilter, _) {
1484
+ if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
1485
+ return rowModel;
1486
+ }
1487
+
1488
+ return filterRows(rowModel.rows, [].concat(columnFilters.map(function (d) {
1489
+ return d.id;
1490
+ }).filter(function (d) {
1491
+ return d !== column.id;
1492
+ }), [globalFilter ? '__global__' : undefined]).filter(Boolean), instance);
1493
+ }, {
1494
+ key: "development" === 'production' ,
1495
+ debug: function debug() {
1496
+ var _instance$options$deb;
1497
+
1498
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
1499
+ }
1500
+ }),
1501
+ getFacetedUniqueValues: memo(function () {
1502
+ return [column.getFacetedRowModel()];
1503
+ }, function (facetedRowModel) {
1504
+ return getRowModelUniqueValues(facetedRowModel, column.id);
1505
+ }, {
1506
+ key: "development" === 'production' ,
1507
+ debug: function debug() {
1508
+ var _instance$options$deb2;
1509
+
1510
+ return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
1511
+ }
1512
+ }),
1513
+ getFacetedMinMaxValues: memo(function () {
1514
+ return [column.getFacetedRowModel()];
1515
+ }, function (facetedRowModel) {
1516
+ return getRowModelMinMaxValues(facetedRowModel, column.id);
1517
+ }, {
1518
+ key: "development" === 'production' ,
1519
+ debug: function debug() {
1520
+ var _instance$options$deb3;
1521
+
1522
+ return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
1523
+ }
1524
+ })
1525
+ };
1526
+ },
1527
+ createRow: function createRow(row, instance) {
1528
+ return {
1529
+ columnFilterMap: {},
1530
+ subRowsByFacetId: {}
1531
+ };
1532
+ },
1533
+ createInstance: function createInstance(instance) {
1534
+ return {
1535
+ getGlobalAutoFilterFn: function getGlobalAutoFilterFn() {
1536
+ return filterFns.includesString;
1537
+ },
1538
+ getGlobalFilterFn: function getGlobalFilterFn() {
1539
+ var _ref2;
1540
+
1541
+ var _instance$options = instance.options,
1542
+ userFilterFns = _instance$options.filterFns,
1543
+ globalFilterFn = _instance$options.globalFilterFn;
1544
+ return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns[globalFilterFn];
1545
+ },
1546
+ setColumnFilters: function setColumnFilters(updater) {
1547
+ var leafColumns = instance.getAllLeafColumns();
1548
+
1549
+ var updateFn = function updateFn(old) {
1550
+ var _functionalUpdate;
1551
+
1552
+ return (_functionalUpdate = functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(function (filter) {
1553
+ var column = leafColumns.find(function (d) {
1554
+ return d.id === filter.id;
1555
+ });
1556
+
1557
+ if (column) {
1558
+ var filterFn = column.getFilterFn();
1559
+
1560
+ if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
1561
+ return false;
1562
+ }
1563
+ }
1564
+
1565
+ return true;
1566
+ });
1567
+ };
1568
+
1569
+ instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn);
1570
+ },
1571
+ setGlobalFilter: function setGlobalFilter(updater) {
1572
+ instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater);
1573
+ },
1574
+ resetGlobalFilter: function resetGlobalFilter() {
1575
+ instance.setGlobalFilter(instance.initialState.globalFilter);
1576
+ },
1697
1577
  resetColumnFilters: function resetColumnFilters() {
1698
1578
  var _instance$initialStat, _instance$initialStat2;
1699
1579
 
1700
1580
  instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
1701
1581
  },
1702
- getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
1582
+ getPreFilteredRowModel: function getPreFilteredRowModel() {
1703
1583
  return instance.getCoreRowModel();
1704
1584
  },
1705
- getColumnFilteredRowModel: function getColumnFilteredRowModel() {
1706
- if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
1707
- instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
1585
+ getFilteredRowModel: function getFilteredRowModel() {
1586
+ if (!instance._getFilteredRowModel && instance.options.getFilteredRowModel) {
1587
+ instance._getFilteredRowModel = instance.options.getFilteredRowModel(instance);
1708
1588
  }
1709
1589
 
1710
- if (instance.options.manualColumnFiltering || !instance._getColumnFilteredRowModel) {
1711
- return instance.getPreColumnFilteredRowModel();
1590
+ if (instance.options.manualFiltering || !instance._getFilteredRowModel) {
1591
+ return instance.getPreFilteredRowModel();
1712
1592
  }
1713
1593
 
1714
- return instance._getColumnFilteredRowModel();
1715
- },
1716
- getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
1717
- return instance.getColumnFilteredRowModel();
1594
+ return instance._getFilteredRowModel();
1718
1595
  },
1719
- getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
1720
- if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
1721
- instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
1596
+ getGlobalFacetedRowModel: memo(function () {
1597
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
1598
+ instance.getFilteredRowModel()];
1599
+ }, function (rowModel, columnFilters, globalFilter, _) {
1600
+ if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
1601
+ return rowModel;
1722
1602
  }
1723
1603
 
1724
- if (instance.options.manualGlobalFiltering || !instance._getGlobalFilteredRowModel) {
1725
- return instance.getPreGlobalFilteredRowModel();
1604
+ return filterRows(rowModel.rows, columnFilters.map(function (d) {
1605
+ return d.id;
1606
+ }), instance);
1607
+ }, {
1608
+ key: "development" === 'production' ,
1609
+ debug: function debug() {
1610
+ var _instance$options$deb4;
1611
+
1612
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
1726
1613
  }
1614
+ }),
1615
+ getGlobalFacetedUniqueValues: memo(function () {
1616
+ return [instance.getGlobalFacetedRowModel()];
1617
+ }, function (facetedRowModel) {
1618
+ return getRowModelUniqueValues(facetedRowModel, '__global__');
1619
+ }, {
1620
+ key: "development" === 'production' ,
1621
+ debug: function debug() {
1622
+ var _instance$options$deb5;
1727
1623
 
1728
- return instance._getGlobalFilteredRowModel();
1729
- }
1624
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
1625
+ }
1626
+ }),
1627
+ getGlobalFacetedMinMaxValues: memo(function () {
1628
+ return [instance.getGlobalFacetedRowModel()];
1629
+ }, function (facetedRowModel) {
1630
+ return getRowModelMinMaxValues(facetedRowModel, '__global__');
1631
+ }, {
1632
+ key: "development" === 'production' ,
1633
+ debug: function debug() {
1634
+ var _instance$options$deb6;
1635
+
1636
+ return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
1637
+ }
1638
+ })
1730
1639
  };
1731
1640
  }
1732
1641
  };
1733
1642
  function shouldAutoRemoveFilter(filterFn, value, column) {
1734
1643
  return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
1735
1644
  }
1645
+ function getRowModelMinMaxValues(rowModel, columnId) {
1646
+ var _rowModel$flatRows$0$, _rowModel$flatRows$, _rowModel$flatRows$0$2, _rowModel$flatRows$2;
1647
+
1648
+ var facetedMinMaxValues = [(_rowModel$flatRows$0$ = (_rowModel$flatRows$ = rowModel.flatRows[0]) == null ? void 0 : _rowModel$flatRows$.values[columnId]) != null ? _rowModel$flatRows$0$ : null, (_rowModel$flatRows$0$2 = (_rowModel$flatRows$2 = rowModel.flatRows[0]) == null ? void 0 : _rowModel$flatRows$2.values[columnId]) != null ? _rowModel$flatRows$0$2 : null];
1649
+
1650
+ for (var i = 0; i < rowModel.flatRows.length; i++) {
1651
+ var _rowModel$flatRows$i;
1652
+
1653
+ var _value = (_rowModel$flatRows$i = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i.values[columnId];
1654
+
1655
+ if (_value < facetedMinMaxValues[0]) {
1656
+ facetedMinMaxValues[0] = _value;
1657
+ } else if (_value > facetedMinMaxValues[1]) {
1658
+ facetedMinMaxValues[1] = _value;
1659
+ }
1660
+ }
1661
+
1662
+ return facetedMinMaxValues;
1663
+ }
1664
+ function getRowModelUniqueValues(rowModel, columnId) {
1665
+ var facetedUniqueValues = new Map();
1666
+
1667
+ for (var i = 0; i < rowModel.flatRows.length; i++) {
1668
+ var _rowModel$flatRows$i2;
1669
+
1670
+ var _value2 = (_rowModel$flatRows$i2 = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i2.values[columnId];
1671
+
1672
+ if (facetedUniqueValues.has(_value2)) {
1673
+ var _facetedUniqueValues$;
1674
+
1675
+ facetedUniqueValues.set(_value2, ((_facetedUniqueValues$ = facetedUniqueValues.get(_value2)) != null ? _facetedUniqueValues$ : 0) + 1);
1676
+ } else {
1677
+ facetedUniqueValues.set(_value2, 1);
1678
+ }
1679
+ }
1680
+
1681
+ return facetedUniqueValues;
1682
+ }
1736
1683
 
1737
1684
  var aggregationFns = {
1738
1685
  sum: sum,
@@ -1855,10 +1802,10 @@
1855
1802
  aggregationFn: 'auto'
1856
1803
  };
1857
1804
  },
1858
- getInitialState: function getInitialState() {
1859
- return {
1805
+ getInitialState: function getInitialState(state) {
1806
+ return _extends({
1860
1807
  grouping: []
1861
- };
1808
+ }, state);
1862
1809
  },
1863
1810
  getDefaultOptions: function getDefaultOptions(instance) {
1864
1811
  return {
@@ -1868,21 +1815,39 @@
1868
1815
  },
1869
1816
  createColumn: function createColumn(column, instance) {
1870
1817
  return {
1871
- aggregationFn: column.aggregationFn,
1872
- getCanGroup: function getCanGroup() {
1873
- return instance.getColumnCanGroup(column.id);
1818
+ toggleGrouping: function toggleGrouping() {
1819
+ instance.setGrouping(function (old) {
1820
+ // Find any existing grouping for this column
1821
+ if (old != null && old.includes(column.id)) {
1822
+ return old.filter(function (d) {
1823
+ return d !== column.id;
1824
+ });
1825
+ }
1826
+
1827
+ return [].concat(old != null ? old : [], [column.id]);
1828
+ });
1874
1829
  },
1875
- getGroupedIndex: function getGroupedIndex() {
1876
- return instance.getColumnGroupedIndex(column.id);
1830
+ getCanGroup: function getCanGroup() {
1831
+ var _ref, _ref2, _ref3, _column$enableGroupin;
1832
+
1833
+ return (_ref = (_ref2 = (_ref3 = (_column$enableGroupin = column.enableGrouping) != null ? _column$enableGroupin : true) != null ? _ref3 : instance.options.enableGrouping) != null ? _ref2 : true) != null ? _ref : !!column.accessorFn;
1877
1834
  },
1878
1835
  getIsGrouped: function getIsGrouped() {
1879
- return instance.getColumnIsGrouped(column.id);
1836
+ var _instance$getState$gr;
1837
+
1838
+ return (_instance$getState$gr = instance.getState().grouping) == null ? void 0 : _instance$getState$gr.includes(column.id);
1880
1839
  },
1881
- toggleGrouping: function toggleGrouping() {
1882
- return instance.toggleColumnGrouping(column.id);
1840
+ getGroupedIndex: function getGroupedIndex() {
1841
+ var _instance$getState$gr2;
1842
+
1843
+ return (_instance$getState$gr2 = instance.getState().grouping) == null ? void 0 : _instance$getState$gr2.indexOf(column.id);
1883
1844
  },
1884
1845
  getToggleGroupingHandler: function getToggleGroupingHandler() {
1885
- return instance.getToggleGroupingHandler(column.id);
1846
+ var canGroup = column.getCanGroup();
1847
+ return function () {
1848
+ if (!canGroup) return;
1849
+ column.toggleGrouping();
1850
+ };
1886
1851
  }
1887
1852
  };
1888
1853
  },
@@ -1903,7 +1868,7 @@
1903
1868
  return aggregationFns.count;
1904
1869
  },
1905
1870
  getColumnAggregationFn: function getColumnAggregationFn(columnId) {
1906
- var _ref;
1871
+ var _ref4;
1907
1872
 
1908
1873
  var column = instance.getColumn(columnId);
1909
1874
  var userAggregationFns = instance.options.aggregationFns;
@@ -1912,62 +1877,16 @@
1912
1877
  throw new Error();
1913
1878
  }
1914
1879
 
1915
- return isFunction(column.aggregationFn) ? column.aggregationFn : column.aggregationFn === 'auto' ? instance.getColumnAutoAggregationFn(columnId) : (_ref = userAggregationFns == null ? void 0 : userAggregationFns[column.aggregationFn]) != null ? _ref : aggregationFns[column.aggregationFn];
1880
+ return isFunction(column.aggregationFn) ? column.aggregationFn : column.aggregationFn === 'auto' ? instance.getColumnAutoAggregationFn(columnId) : (_ref4 = userAggregationFns == null ? void 0 : userAggregationFns[column.aggregationFn]) != null ? _ref4 : aggregationFns[column.aggregationFn];
1916
1881
  },
1917
1882
  setGrouping: function setGrouping(updater) {
1918
1883
  return instance.options.onGroupingChange == null ? void 0 : instance.options.onGroupingChange(updater);
1919
1884
  },
1920
- toggleColumnGrouping: function toggleColumnGrouping(columnId) {
1921
- instance.setGrouping(function (old) {
1922
- // Find any existing grouping for this column
1923
- if (old != null && old.includes(columnId)) {
1924
- return old.filter(function (d) {
1925
- return d !== columnId;
1926
- });
1927
- }
1928
-
1929
- return [].concat(old != null ? old : [], [columnId]);
1930
- });
1931
- },
1932
- getColumnCanGroup: function getColumnCanGroup(columnId) {
1933
- var _ref2, _ref3, _column$enableGroupin;
1934
-
1935
- var column = instance.getColumn(columnId);
1936
-
1937
- if (!column) {
1938
- throw new Error();
1939
- }
1940
-
1941
- return (_ref2 = (_ref3 = (_column$enableGroupin = column.enableGrouping) != null ? _column$enableGroupin : instance.options.enableGrouping) != null ? _ref3 : column.defaultCanGroup) != null ? _ref2 : !!column.accessorFn;
1942
- },
1943
- getColumnIsGrouped: function getColumnIsGrouped(columnId) {
1944
- var _instance$getState$gr;
1945
-
1946
- return (_instance$getState$gr = instance.getState().grouping) == null ? void 0 : _instance$getState$gr.includes(columnId);
1947
- },
1948
- getColumnGroupedIndex: function getColumnGroupedIndex(columnId) {
1949
- var _instance$getState$gr2;
1950
-
1951
- return (_instance$getState$gr2 = instance.getState().grouping) == null ? void 0 : _instance$getState$gr2.indexOf(columnId);
1952
- },
1953
1885
  resetGrouping: function resetGrouping() {
1954
1886
  var _instance$initialStat, _instance$initialStat2;
1955
1887
 
1956
1888
  instance.setGrouping((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.grouping) != null ? _instance$initialStat : []);
1957
1889
  },
1958
- getToggleGroupingHandler: function getToggleGroupingHandler(columnId) {
1959
- var column = instance.getColumn(columnId);
1960
- var canGroup = column.getCanGroup();
1961
- return function () {
1962
- if (!canGroup) return;
1963
- column.toggleGrouping == null ? void 0 : column.toggleGrouping();
1964
- };
1965
- },
1966
- getRowIsGrouped: function getRowIsGrouped(rowId) {
1967
- var _instance$getRow;
1968
-
1969
- return !!((_instance$getRow = instance.getRow(rowId)) != null && _instance$getRow.groupingColumnId);
1970
- },
1971
1890
  getPreGroupedRowModel: function getPreGroupedRowModel() {
1972
1891
  return instance.getSortedRowModel();
1973
1892
  },
@@ -1987,7 +1906,7 @@
1987
1906
  createRow: function createRow(row, instance) {
1988
1907
  return {
1989
1908
  getIsGrouped: function getIsGrouped() {
1990
- return instance.getRowIsGrouped(row.id);
1909
+ return !!row.groupingColumnId;
1991
1910
  }
1992
1911
  };
1993
1912
  },
@@ -2017,35 +1936,35 @@
2017
1936
  }) : null;
2018
1937
  }
2019
1938
  };
2020
- },
2021
- orderColumns: function orderColumns(leafColumns, grouping, groupedColumnMode) {
2022
- if (!(grouping != null && grouping.length) || !groupedColumnMode) {
2023
- return leafColumns;
2024
- }
2025
-
2026
- var nonGroupingColumns = leafColumns.filter(function (col) {
2027
- return !grouping.includes(col.id);
2028
- });
1939
+ }
1940
+ };
1941
+ function orderColumns(leafColumns, grouping, groupedColumnMode) {
1942
+ if (!(grouping != null && grouping.length) || !groupedColumnMode) {
1943
+ return leafColumns;
1944
+ }
2029
1945
 
2030
- if (groupedColumnMode === 'remove') {
2031
- return nonGroupingColumns;
2032
- }
1946
+ var nonGroupingColumns = leafColumns.filter(function (col) {
1947
+ return !grouping.includes(col.id);
1948
+ });
2033
1949
 
2034
- var groupingColumns = grouping.map(function (g) {
2035
- return leafColumns.find(function (col) {
2036
- return col.id === g;
2037
- });
2038
- }).filter(Boolean);
2039
- return [].concat(groupingColumns, nonGroupingColumns);
1950
+ if (groupedColumnMode === 'remove') {
1951
+ return nonGroupingColumns;
2040
1952
  }
2041
- };
1953
+
1954
+ var groupingColumns = grouping.map(function (g) {
1955
+ return leafColumns.find(function (col) {
1956
+ return col.id === g;
1957
+ });
1958
+ }).filter(Boolean);
1959
+ return [].concat(groupingColumns, nonGroupingColumns);
1960
+ }
2042
1961
 
2043
1962
  //
2044
1963
  var Ordering = {
2045
- getInitialState: function getInitialState() {
2046
- return {
1964
+ getInitialState: function getInitialState(state) {
1965
+ return _extends({
2047
1966
  columnOrder: []
2048
- };
1967
+ }, state);
2049
1968
  },
2050
1969
  getDefaultOptions: function getDefaultOptions(instance) {
2051
1970
  return {
@@ -2097,7 +2016,7 @@
2097
2016
  orderedColumns = [].concat(orderedColumns, columnsCopy);
2098
2017
  }
2099
2018
 
2100
- return Grouping.orderColumns(orderedColumns, grouping, groupedColumnMode);
2019
+ return orderColumns(orderedColumns, grouping, groupedColumnMode);
2101
2020
  };
2102
2021
  }, {
2103
2022
  key: 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
@@ -2109,14 +2028,14 @@
2109
2028
 
2110
2029
  //
2111
2030
  var Pagination = {
2112
- getInitialState: function getInitialState(initialState) {
2113
- return {
2031
+ getInitialState: function getInitialState(state) {
2032
+ return _extends({}, state, {
2114
2033
  pagination: _extends({
2115
2034
  pageCount: -1,
2116
2035
  pageIndex: 0,
2117
2036
  pageSize: 10
2118
- }, initialState == null ? void 0 : initialState.pagination)
2119
- };
2037
+ }, state == null ? void 0 : state.pagination)
2038
+ });
2120
2039
  },
2121
2040
  getDefaultOptions: function getDefaultOptions(instance) {
2122
2041
  return {
@@ -2276,13 +2195,13 @@
2276
2195
 
2277
2196
  //
2278
2197
  var Pinning = {
2279
- getInitialState: function getInitialState() {
2280
- return {
2198
+ getInitialState: function getInitialState(state) {
2199
+ return _extends({
2281
2200
  columnPinning: {
2282
2201
  left: [],
2283
2202
  right: []
2284
2203
  }
2285
- };
2204
+ }, state);
2286
2205
  },
2287
2206
  getDefaultOptions: function getDefaultOptions(instance) {
2288
2207
  return {
@@ -2291,155 +2210,8 @@
2291
2210
  },
2292
2211
  createColumn: function createColumn(column, instance) {
2293
2212
  return {
2294
- getCanPin: function getCanPin() {
2295
- return instance.getColumnCanPin(column.id);
2296
- },
2297
- getPinnedIndex: function getPinnedIndex() {
2298
- return instance.getColumnPinnedIndex(column.id);
2299
- },
2300
- getIsPinned: function getIsPinned() {
2301
- return instance.getColumnIsPinned(column.id);
2302
- },
2303
2213
  pin: function pin(position) {
2304
- return instance.pinColumn(column.id, position);
2305
- }
2306
- };
2307
- },
2308
- createRow: function createRow(row, instance) {
2309
- return {
2310
- getCenterVisibleCells: memo(function () {
2311
- return [row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
2312
- }, function (allCells, left, right) {
2313
- var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
2314
- return allCells.filter(function (d) {
2315
- return !leftAndRight.includes(d.columnId);
2316
- });
2317
- }, {
2318
- key: 'row.getCenterVisibleCells',
2319
- debug: function debug() {
2320
- var _instance$options$deb;
2321
-
2322
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
2323
- }
2324
- }),
2325
- getLeftVisibleCells: memo(function () {
2326
- return [row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
2327
- }, function (allCells, left) {
2328
- var cells = (left != null ? left : []).map(function (columnId) {
2329
- return allCells.find(function (cell) {
2330
- return cell.columnId === columnId;
2331
- });
2332
- }).filter(Boolean).map(function (d) {
2333
- return _extends({}, d, {
2334
- position: 'left'
2335
- });
2336
- });
2337
- return cells;
2338
- }, {
2339
- key: 'row.getLeftVisibleCells',
2340
- debug: function debug() {
2341
- var _instance$options$deb2;
2342
-
2343
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
2344
- }
2345
- }),
2346
- getRightVisibleCells: memo(function () {
2347
- return [row._getAllVisibleCells(), instance.getState().columnPinning.right];
2348
- }, function (allCells, right) {
2349
- var cells = (right != null ? right : []).map(function (columnId) {
2350
- return allCells.find(function (cell) {
2351
- return cell.columnId === columnId;
2352
- });
2353
- }).filter(Boolean).map(function (d) {
2354
- return _extends({}, d, {
2355
- position: 'left'
2356
- });
2357
- });
2358
- return cells;
2359
- }, {
2360
- key: 'row.getRightVisibleCells',
2361
- debug: function debug() {
2362
- var _instance$options$deb3;
2363
-
2364
- return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugRows;
2365
- }
2366
- })
2367
- };
2368
- },
2369
- createCell: function createCell(cell, instance) {
2370
- return {
2371
- getCenterVisibleCells: memo(function () {
2372
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
2373
- }, function (allCells, left, right) {
2374
- var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
2375
- return allCells.filter(function (d) {
2376
- return !leftAndRight.includes(d.columnId);
2377
- });
2378
- }, {
2379
- key: 'row.getCenterVisibleCells',
2380
- debug: function debug() {
2381
- var _instance$options$deb4;
2382
-
2383
- return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
2384
- }
2385
- }),
2386
- getLeftVisibleCells: memo(function () {
2387
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
2388
- }, function (allCells, left) {
2389
- var cells = (left != null ? left : []).map(function (columnId) {
2390
- return allCells.find(function (cell) {
2391
- return cell.columnId === columnId;
2392
- });
2393
- }).filter(Boolean).map(function (d) {
2394
- return _extends({}, d, {
2395
- position: 'left'
2396
- });
2397
- });
2398
- return cells;
2399
- }, {
2400
- key: 'row.getLeftVisibleCells',
2401
- debug: function debug() {
2402
- var _instance$options$deb5;
2403
-
2404
- return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
2405
- }
2406
- }),
2407
- getRightVisibleCells: memo(function () {
2408
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.right];
2409
- }, function (allCells, right) {
2410
- var cells = (right != null ? right : []).map(function (columnId) {
2411
- return allCells.find(function (cell) {
2412
- return cell.columnId === columnId;
2413
- });
2414
- }).filter(Boolean).map(function (d) {
2415
- return _extends({}, d, {
2416
- position: 'left'
2417
- });
2418
- });
2419
- return cells;
2420
- }, {
2421
- key: 'row.getRightVisibleCells',
2422
- debug: function debug() {
2423
- var _instance$options$deb6;
2424
-
2425
- return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugRows;
2426
- }
2427
- })
2428
- };
2429
- },
2430
- createInstance: function createInstance(instance) {
2431
- return {
2432
- setColumnPinning: function setColumnPinning(updater) {
2433
- return instance.options.onColumnPinningChange == null ? void 0 : instance.options.onColumnPinningChange(updater);
2434
- },
2435
- resetColumnPinning: function resetColumnPinning() {
2436
- var _instance$initialStat, _instance$initialStat2;
2437
-
2438
- return instance.setColumnPinning((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnPinning) != null ? _instance$initialStat : {});
2439
- },
2440
- pinColumn: function pinColumn(columnId, position) {
2441
- var column = instance.getColumn(columnId);
2442
- var columnIds = column == null ? void 0 : column.getLeafColumns().map(function (d) {
2214
+ var columnIds = column.getLeafColumns().map(function (d) {
2443
2215
  return d.id;
2444
2216
  }).filter(Boolean);
2445
2217
  instance.setColumnPinning(function (old) {
@@ -2480,47 +2252,108 @@
2480
2252
  })
2481
2253
  };
2482
2254
  });
2483
- },
2484
- getColumnCanPin: function getColumnCanPin(columnId) {
2485
- var column = instance.getColumn(columnId);
2255
+ },
2256
+ getCanPin: function getCanPin() {
2257
+ var leafColumns = column.getLeafColumns();
2258
+ return leafColumns.some(function (d) {
2259
+ var _d$enablePinning, _instance$options$ena;
2260
+
2261
+ return ((_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : true) && ((_instance$options$ena = instance.options.enablePinning) != null ? _instance$options$ena : true);
2262
+ });
2263
+ },
2264
+ getIsPinned: function getIsPinned() {
2265
+ var leafColumnIds = column.getLeafColumns().map(function (d) {
2266
+ return d.id;
2267
+ });
2268
+ var _instance$getState$co = instance.getState().columnPinning,
2269
+ left = _instance$getState$co.left,
2270
+ right = _instance$getState$co.right;
2271
+ var isLeft = leafColumnIds.some(function (d) {
2272
+ return left == null ? void 0 : left.includes(d);
2273
+ });
2274
+ var isRight = leafColumnIds.some(function (d) {
2275
+ return right == null ? void 0 : right.includes(d);
2276
+ });
2277
+ return isLeft ? 'left' : isRight ? 'right' : false;
2278
+ },
2279
+ getPinnedIndex: function getPinnedIndex() {
2280
+ var _instance$getState$co2, _instance$getState$co3, _instance$getState$co4;
2281
+
2282
+ var position = column.getIsPinned();
2283
+ return position ? (_instance$getState$co2 = (_instance$getState$co3 = instance.getState().columnPinning) == null ? void 0 : (_instance$getState$co4 = _instance$getState$co3[position]) == null ? void 0 : _instance$getState$co4.indexOf(column.id)) != null ? _instance$getState$co2 : -1 : 0;
2284
+ }
2285
+ };
2286
+ },
2287
+ createRow: function createRow(row, instance) {
2288
+ return {
2289
+ getCenterVisibleCells: memo(function () {
2290
+ return [row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
2291
+ }, function (allCells, left, right) {
2292
+ var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
2293
+ return allCells.filter(function (d) {
2294
+ return !leftAndRight.includes(d.columnId);
2295
+ });
2296
+ }, {
2297
+ key: "development" === 'production' ,
2298
+ debug: function debug() {
2299
+ var _instance$options$deb;
2300
+
2301
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
2302
+ }
2303
+ }),
2304
+ getLeftVisibleCells: memo(function () {
2305
+ return [row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
2306
+ }, function (allCells, left) {
2307
+ var cells = (left != null ? left : []).map(function (columnId) {
2308
+ return allCells.find(function (cell) {
2309
+ return cell.columnId === columnId;
2310
+ });
2311
+ }).filter(Boolean).map(function (d) {
2312
+ return _extends({}, d, {
2313
+ position: 'left'
2314
+ });
2315
+ });
2316
+ return cells;
2317
+ }, {
2318
+ key: "development" === 'production' ,
2319
+ debug: function debug() {
2320
+ var _instance$options$deb2;
2486
2321
 
2487
- if (!column) {
2488
- throw new Error();
2322
+ return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
2489
2323
  }
2490
-
2491
- var leafColumns = column.getLeafColumns();
2492
- return leafColumns.some(function (d) {
2493
- var _ref, _ref2, _d$enablePinning;
2494
-
2495
- return (_ref = (_ref2 = (_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : instance.options.enablePinning) != null ? _ref2 : d.defaultCanPin) != null ? _ref : !!d.accessorFn;
2324
+ }),
2325
+ getRightVisibleCells: memo(function () {
2326
+ return [row._getAllVisibleCells(), instance.getState().columnPinning.right];
2327
+ }, function (allCells, right) {
2328
+ var cells = (right != null ? right : []).map(function (columnId) {
2329
+ return allCells.find(function (cell) {
2330
+ return cell.columnId === columnId;
2331
+ });
2332
+ }).filter(Boolean).map(function (d) {
2333
+ return _extends({}, d, {
2334
+ position: 'left'
2335
+ });
2496
2336
  });
2497
- },
2498
- getColumnIsPinned: function getColumnIsPinned(columnId) {
2499
- var column = instance.getColumn(columnId);
2337
+ return cells;
2338
+ }, {
2339
+ key: "development" === 'production' ,
2340
+ debug: function debug() {
2341
+ var _instance$options$deb3;
2500
2342
 
2501
- if (!column) {
2502
- throw new Error();
2343
+ return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugRows;
2503
2344
  }
2504
-
2505
- var leafColumnIds = column.getLeafColumns().map(function (d) {
2506
- return d.id;
2507
- });
2508
- var _instance$getState$co = instance.getState().columnPinning,
2509
- left = _instance$getState$co.left,
2510
- right = _instance$getState$co.right;
2511
- var isLeft = leafColumnIds.some(function (d) {
2512
- return left == null ? void 0 : left.includes(d);
2513
- });
2514
- var isRight = leafColumnIds.some(function (d) {
2515
- return right == null ? void 0 : right.includes(d);
2516
- });
2517
- return isLeft ? 'left' : isRight ? 'right' : false;
2345
+ })
2346
+ };
2347
+ },
2348
+ createInstance: function createInstance(instance) {
2349
+ return {
2350
+ setColumnPinning: function setColumnPinning(updater) {
2351
+ return instance.options.onColumnPinningChange == null ? void 0 : instance.options.onColumnPinningChange(updater);
2518
2352
  },
2519
- getColumnPinnedIndex: function getColumnPinnedIndex(columnId) {
2520
- var _instance$getState$co2, _instance$getState$co3, _instance$getState$co4;
2353
+ resetColumnPinning: function resetColumnPinning() {
2354
+ var _instance$initialStat, _instance$initialStat2;
2521
2355
 
2522
- var position = instance.getColumnIsPinned(columnId);
2523
- return position ? (_instance$getState$co2 = (_instance$getState$co3 = instance.getState().columnPinning) == null ? void 0 : (_instance$getState$co4 = _instance$getState$co3[position]) == null ? void 0 : _instance$getState$co4.indexOf(columnId)) != null ? _instance$getState$co2 : -1 : 0;
2356
+ return instance.setColumnPinning((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnPinning) != null ? _instance$initialStat : {});
2524
2357
  },
2525
2358
  getIsSomeColumnsPinned: function getIsSomeColumnsPinned() {
2526
2359
  var _instance$getState$co5 = instance.getState().columnPinning,
@@ -2539,9 +2372,9 @@
2539
2372
  }, {
2540
2373
  key: 'getLeftLeafColumns',
2541
2374
  debug: function debug() {
2542
- var _instance$options$deb7;
2375
+ var _instance$options$deb4;
2543
2376
 
2544
- return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugColumns;
2377
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
2545
2378
  }
2546
2379
  }),
2547
2380
  getRightLeafColumns: memo(function () {
@@ -2555,9 +2388,9 @@
2555
2388
  }, {
2556
2389
  key: 'getRightLeafColumns',
2557
2390
  debug: function debug() {
2558
- var _instance$options$deb8;
2391
+ var _instance$options$deb5;
2559
2392
 
2560
- return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugColumns;
2393
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
2561
2394
  }
2562
2395
  }),
2563
2396
  getCenterLeafColumns: memo(function () {
@@ -2570,9 +2403,9 @@
2570
2403
  }, {
2571
2404
  key: 'getCenterLeafColumns',
2572
2405
  debug: function debug() {
2573
- var _instance$options$deb9;
2406
+ var _instance$options$deb6;
2574
2407
 
2575
- return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugColumns;
2408
+ return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
2576
2409
  }
2577
2410
  })
2578
2411
  };
@@ -2581,10 +2414,10 @@
2581
2414
 
2582
2415
  //
2583
2416
  var RowSelection = {
2584
- getInitialState: function getInitialState() {
2585
- return {
2417
+ getInitialState: function getInitialState(state) {
2418
+ return _extends({
2586
2419
  rowSelection: {}
2587
- };
2420
+ }, state);
2588
2421
  },
2589
2422
  getDefaultOptions: function getDefaultOptions(instance) {
2590
2423
  return {
@@ -2641,22 +2474,6 @@
2641
2474
  return rowSelection;
2642
2475
  });
2643
2476
  },
2644
- toggleRowSelected: function toggleRowSelected(rowId, value) {
2645
- var row = instance.getRow(rowId);
2646
- var isSelected = row.getIsSelected();
2647
- instance.setRowSelection(function (old) {
2648
- value = typeof value !== 'undefined' ? value : !isSelected;
2649
-
2650
- if (isSelected === value) {
2651
- return old;
2652
- }
2653
-
2654
- var selectedRowIds = _extends({}, old);
2655
-
2656
- mutateRowIsSelected(selectedRowIds, rowId, value, instance);
2657
- return selectedRowIds;
2658
- });
2659
- },
2660
2477
  // addRowSelectionRange: rowId => {
2661
2478
  // const {
2662
2479
  // rows,
@@ -2731,7 +2548,7 @@
2731
2548
  }
2732
2549
  }),
2733
2550
  getFilteredSelectedRowModel: memo(function () {
2734
- return [instance.getState().rowSelection, instance.getGlobalFilteredRowModel()];
2551
+ return [instance.getState().rowSelection, instance.getFilteredRowModel()];
2735
2552
  }, function (rowSelection, rowModel) {
2736
2553
  if (!Object.keys(rowSelection).length) {
2737
2554
  return {
@@ -2743,7 +2560,7 @@
2743
2560
 
2744
2561
  return selectRowsFn(instance, rowModel);
2745
2562
  }, {
2746
- key: 'getFilteredSelectedRowModel',
2563
+ key: "development" === 'production' ,
2747
2564
  debug: function debug() {
2748
2565
  var _instance$options$deb2;
2749
2566
 
@@ -2763,7 +2580,7 @@
2763
2580
 
2764
2581
  return selectRowsFn(instance, rowModel);
2765
2582
  }, {
2766
- key: 'getGroupedSelectedRowModel',
2583
+ key: "development" === 'production' ,
2767
2584
  debug: function debug() {
2768
2585
  var _instance$options$deb3;
2769
2586
 
@@ -2771,75 +2588,6 @@
2771
2588
  }
2772
2589
  }),
2773
2590
  ///
2774
- getRowIsSelected: function getRowIsSelected(rowId) {
2775
- var _instance$getState = instance.getState(),
2776
- rowSelection = _instance$getState.rowSelection;
2777
-
2778
- var row = instance.getRow(rowId);
2779
-
2780
- if (!row) {
2781
- throw new Error();
2782
- }
2783
-
2784
- return isRowSelected(row, rowSelection) === true;
2785
- },
2786
- getRowIsSomeSelected: function getRowIsSomeSelected(rowId) {
2787
- var _instance$getState2 = instance.getState(),
2788
- rowSelection = _instance$getState2.rowSelection;
2789
-
2790
- var row = instance.getRow(rowId);
2791
-
2792
- if (!row) {
2793
- throw new Error();
2794
- }
2795
-
2796
- return isRowSelected(row, rowSelection) === 'some';
2797
- },
2798
- getRowCanSelect: function getRowCanSelect(rowId) {
2799
- var _instance$options$ena;
2800
-
2801
- var row = instance.getRow(rowId);
2802
-
2803
- if (!row) {
2804
- throw new Error();
2805
- }
2806
-
2807
- if (typeof instance.options.enableRowSelection === 'function') {
2808
- return instance.options.enableRowSelection(row);
2809
- }
2810
-
2811
- return (_instance$options$ena = instance.options.enableRowSelection) != null ? _instance$options$ena : true;
2812
- },
2813
- getRowCanSelectSubRows: function getRowCanSelectSubRows(rowId) {
2814
- var _instance$options$ena2;
2815
-
2816
- var row = instance.getRow(rowId);
2817
-
2818
- if (!row) {
2819
- throw new Error();
2820
- }
2821
-
2822
- if (typeof instance.options.enableSubRowSelection === 'function') {
2823
- return instance.options.enableSubRowSelection(row);
2824
- }
2825
-
2826
- return (_instance$options$ena2 = instance.options.enableSubRowSelection) != null ? _instance$options$ena2 : true;
2827
- },
2828
- getRowCanMultiSelect: function getRowCanMultiSelect(rowId) {
2829
- var _instance$options$ena3;
2830
-
2831
- var row = instance.getRow(rowId);
2832
-
2833
- if (!row) {
2834
- throw new Error();
2835
- }
2836
-
2837
- if (typeof instance.options.enableMultiRowSelection === 'function') {
2838
- return instance.options.enableMultiRowSelection(row);
2839
- }
2840
-
2841
- return (_instance$options$ena3 = instance.options.enableMultiRowSelection) != null ? _instance$options$ena3 : true;
2842
- },
2843
2591
  // getGroupingRowCanSelect: rowId => {
2844
2592
  // const row = instance.getRow(rowId)
2845
2593
  // if (!row) {
@@ -2851,10 +2599,10 @@
2851
2599
  // return instance.options.enableGroupingRowSelection ?? false
2852
2600
  // },
2853
2601
  getIsAllRowsSelected: function getIsAllRowsSelected() {
2854
- var preFilteredFlatRows = instance.getPreGlobalFilteredRowModel().flatRows;
2602
+ var preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows;
2855
2603
 
2856
- var _instance$getState3 = instance.getState(),
2857
- rowSelection = _instance$getState3.rowSelection;
2604
+ var _instance$getState = instance.getState(),
2605
+ rowSelection = _instance$getState.rowSelection;
2858
2606
 
2859
2607
  var isAllRowsSelected = Boolean(preFilteredFlatRows.length && Object.keys(rowSelection).length);
2860
2608
 
@@ -2871,8 +2619,8 @@
2871
2619
  getIsAllPageRowsSelected: function getIsAllPageRowsSelected() {
2872
2620
  var paginationFlatRows = instance.getPaginationRowModel().flatRows;
2873
2621
 
2874
- var _instance$getState4 = instance.getState(),
2875
- rowSelection = _instance$getState4.rowSelection;
2622
+ var _instance$getState2 = instance.getState(),
2623
+ rowSelection = _instance$getState2.rowSelection;
2876
2624
 
2877
2625
  var isAllPageRowsSelected = !!paginationFlatRows.length;
2878
2626
 
@@ -2893,18 +2641,6 @@
2893
2641
  var paginationFlatRows = instance.getPaginationRowModel().flatRows;
2894
2642
  return instance.getIsAllPageRowsSelected() ? false : !!(paginationFlatRows != null && paginationFlatRows.length);
2895
2643
  },
2896
- getToggleRowSelectedHandler: function getToggleRowSelectedHandler(rowId) {
2897
- var row = instance.getRow(rowId);
2898
- row.getIsSelected();
2899
- row.getIsSomeSelected();
2900
- var canSelect = row.getCanSelect();
2901
- return function (e) {
2902
- var _target;
2903
-
2904
- if (!canSelect) return;
2905
- row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);
2906
- };
2907
- },
2908
2644
  getToggleAllRowsSelectedHandler: function getToggleAllRowsSelectedHandler() {
2909
2645
  return function (e) {
2910
2646
  instance.toggleAllRowsSelected(e.target.checked);
@@ -2919,23 +2655,68 @@
2919
2655
  },
2920
2656
  createRow: function createRow(row, instance) {
2921
2657
  return {
2658
+ toggleSelected: function toggleSelected(value) {
2659
+ var isSelected = row.getIsSelected();
2660
+ instance.setRowSelection(function (old) {
2661
+ value = typeof value !== 'undefined' ? value : !isSelected;
2662
+
2663
+ if (isSelected === value) {
2664
+ return old;
2665
+ }
2666
+
2667
+ var selectedRowIds = _extends({}, old);
2668
+
2669
+ mutateRowIsSelected(selectedRowIds, row.id, value, instance);
2670
+ return selectedRowIds;
2671
+ });
2672
+ },
2922
2673
  getIsSelected: function getIsSelected() {
2923
- return instance.getRowIsSelected(row.id);
2674
+ var _instance$getState3 = instance.getState(),
2675
+ rowSelection = _instance$getState3.rowSelection;
2676
+
2677
+ return isRowSelected(row, rowSelection) === true;
2924
2678
  },
2925
2679
  getIsSomeSelected: function getIsSomeSelected() {
2926
- return instance.getRowIsSomeSelected(row.id);
2680
+ var _instance$getState4 = instance.getState(),
2681
+ rowSelection = _instance$getState4.rowSelection;
2682
+
2683
+ return isRowSelected(row, rowSelection) === 'some';
2927
2684
  },
2928
- toggleSelected: function toggleSelected(value) {
2929
- return instance.toggleRowSelected(row.id, value);
2685
+ getCanSelect: function getCanSelect() {
2686
+ var _instance$options$ena;
2687
+
2688
+ if (typeof instance.options.enableRowSelection === 'function') {
2689
+ return instance.options.enableRowSelection(row);
2690
+ }
2691
+
2692
+ return (_instance$options$ena = instance.options.enableRowSelection) != null ? _instance$options$ena : true;
2930
2693
  },
2931
- getToggleSelectedHandler: function getToggleSelectedHandler() {
2932
- return instance.getToggleRowSelectedHandler(row.id);
2694
+ getCanSelectSubRows: function getCanSelectSubRows() {
2695
+ var _instance$options$ena2;
2696
+
2697
+ if (typeof instance.options.enableSubRowSelection === 'function') {
2698
+ return instance.options.enableSubRowSelection(row);
2699
+ }
2700
+
2701
+ return (_instance$options$ena2 = instance.options.enableSubRowSelection) != null ? _instance$options$ena2 : true;
2933
2702
  },
2934
2703
  getCanMultiSelect: function getCanMultiSelect() {
2935
- return instance.getRowCanMultiSelect(row.id);
2704
+ var _instance$options$ena3;
2705
+
2706
+ if (typeof instance.options.enableMultiRowSelection === 'function') {
2707
+ return instance.options.enableMultiRowSelection(row);
2708
+ }
2709
+
2710
+ return (_instance$options$ena3 = instance.options.enableMultiRowSelection) != null ? _instance$options$ena3 : true;
2936
2711
  },
2937
- getCanSelect: function getCanSelect() {
2938
- return instance.getRowCanSelect(row.id);
2712
+ getToggleSelectedHandler: function getToggleSelectedHandler() {
2713
+ var canSelect = row.getCanSelect();
2714
+ return function (e) {
2715
+ var _target;
2716
+
2717
+ if (!canSelect) return;
2718
+ row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);
2719
+ };
2939
2720
  }
2940
2721
  };
2941
2722
  }
@@ -2957,7 +2738,7 @@
2957
2738
  } // }
2958
2739
 
2959
2740
 
2960
- if ((_row$subRows = row.subRows) != null && _row$subRows.length && instance.getRowCanSelectSubRows(row.id)) {
2741
+ if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getCanSelectSubRows()) {
2961
2742
  row.subRows.forEach(function (row) {
2962
2743
  return mutateRowIsSelected(selectedRowIds, row.id, value, instance);
2963
2744
  });
@@ -3132,59 +2913,33 @@
3132
2913
 
3133
2914
  //
3134
2915
  var Sorting = {
3135
- getDefaultColumn: function getDefaultColumn() {
3136
- return {
3137
- sortingFn: 'auto'
3138
- };
3139
- },
3140
- getInitialState: function getInitialState() {
3141
- return {
2916
+ getInitialState: function getInitialState(state) {
2917
+ return _extends({
3142
2918
  sorting: []
3143
- };
3144
- },
3145
- getDefaultOptions: function getDefaultOptions(instance) {
3146
- return {
3147
- onSortingChange: makeStateUpdater('sorting', instance),
3148
- isMultiSortEvent: function isMultiSortEvent(e) {
3149
- return e.shiftKey;
3150
- }
3151
- };
2919
+ }, state);
3152
2920
  },
3153
- createColumn: function createColumn(column, instance) {
3154
- return {
3155
- sortingFn: column.sortingFn,
3156
- getCanSort: function getCanSort() {
3157
- return instance.getColumnCanSort(column.id);
3158
- },
3159
- getCanMultiSort: function getCanMultiSort() {
3160
- return instance.getColumnCanMultiSort(column.id);
3161
- },
3162
- getSortIndex: function getSortIndex() {
3163
- return instance.getColumnSortIndex(column.id);
3164
- },
3165
- getIsSorted: function getIsSorted() {
3166
- return instance.getColumnIsSorted(column.id);
3167
- },
3168
- resetSorting: function resetSorting() {
3169
- return instance.resetSorting(column.id);
3170
- },
3171
- toggleSorting: function toggleSorting(desc, isMulti) {
3172
- return instance.toggleColumnSorting(column.id, desc, isMulti);
3173
- },
3174
- getToggleSortingHandler: function getToggleSortingHandler() {
3175
- return instance.getToggleSortingHandler(column.id);
2921
+ getDefaultColumn: function getDefaultColumn() {
2922
+ return {
2923
+ sortingFn: 'auto'
2924
+ };
2925
+ },
2926
+ getDefaultOptions: function getDefaultOptions(instance) {
2927
+ return {
2928
+ onSortingChange: makeStateUpdater('sorting', instance),
2929
+ isMultiSortEvent: function isMultiSortEvent(e) {
2930
+ return e.shiftKey;
3176
2931
  }
3177
2932
  };
3178
2933
  },
3179
- createInstance: function createInstance(instance) {
2934
+ createColumn: function createColumn(column, instance) {
3180
2935
  return {
3181
- getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
3182
- var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
2936
+ getAutoSortingFn: function getAutoSortingFn() {
2937
+ var firstRows = instance.getFilteredRowModel().flatRows.slice(100);
3183
2938
  var isString = false;
3184
2939
 
3185
2940
  for (var _iterator = _createForOfIteratorHelperLoose(firstRows), _step; !(_step = _iterator()).done;) {
3186
2941
  var row = _step.value;
3187
- var value = row == null ? void 0 : row.values[columnId];
2942
+ var value = row == null ? void 0 : row.values[column.id];
3188
2943
 
3189
2944
  if (Object.prototype.toString.call(value) === '[object Date]') {
3190
2945
  return sortingFns.datetime;
@@ -3205,9 +2960,9 @@
3205
2960
 
3206
2961
  return sortingFns.basic;
3207
2962
  },
3208
- getColumnAutoSortDir: function getColumnAutoSortDir(columnId) {
3209
- var firstRow = instance.getGlobalFilteredRowModel().flatRows[0];
3210
- var value = firstRow == null ? void 0 : firstRow.values[columnId];
2963
+ getAutoSortDir: function getAutoSortDir() {
2964
+ var firstRow = instance.getFilteredRowModel().flatRows[0];
2965
+ var value = firstRow == null ? void 0 : firstRow.values[column.id];
3211
2966
 
3212
2967
  if (typeof value === 'string') {
3213
2968
  return 'asc';
@@ -3215,27 +2970,19 @@
3215
2970
 
3216
2971
  return 'desc';
3217
2972
  },
3218
- getColumnSortingFn: function getColumnSortingFn(columnId) {
2973
+ getSortingFn: function getSortingFn() {
3219
2974
  var _ref;
3220
2975
 
3221
- var column = instance.getColumn(columnId);
3222
2976
  var userSortingFn = instance.options.sortingFns;
3223
2977
 
3224
2978
  if (!column) {
3225
2979
  throw new Error();
3226
2980
  }
3227
2981
 
3228
- return isFunction(column.sortingFn) ? column.sortingFn : column.sortingFn === 'auto' ? instance.getColumnAutoSortingFn(columnId) : (_ref = userSortingFn == null ? void 0 : userSortingFn[column.sortingFn]) != null ? _ref : sortingFns[column.sortingFn];
3229
- },
3230
- setSorting: function setSorting(updater) {
3231
- return instance.options.onSortingChange == null ? void 0 : instance.options.onSortingChange(updater);
2982
+ return isFunction(column.sortingFn) ? column.sortingFn : column.sortingFn === 'auto' ? column.getAutoSortingFn() : (_ref = userSortingFn == null ? void 0 : userSortingFn[column.sortingFn]) != null ? _ref : sortingFns[column.sortingFn];
3232
2983
  },
3233
- toggleColumnSorting: function toggleColumnSorting(columnId, desc, multi) {
3234
- var column = instance.getColumn(columnId);
3235
-
3236
- if (!column) {
3237
- throw new Error();
3238
- } // if (column.columns.length) {
2984
+ toggleSorting: function toggleSorting(desc, multi) {
2985
+ // if (column.columns.length) {
3239
2986
  // column.columns.forEach((c, i) => {
3240
2987
  // if (c.id) {
3241
2988
  // instance.toggleColumnSorting(c.id, undefined, multi || !!i)
@@ -3243,17 +2990,15 @@
3243
2990
  // })
3244
2991
  // return
3245
2992
  // }
3246
-
3247
-
3248
2993
  instance.setSorting(function (old) {
3249
2994
  var _ref2, _column$sortDescFirst, _instance$options$ena, _instance$options$ena2;
3250
2995
 
3251
2996
  // Find any existing sorting for this column
3252
2997
  var existingSorting = old == null ? void 0 : old.find(function (d) {
3253
- return d.id === columnId;
2998
+ return d.id === column.id;
3254
2999
  });
3255
3000
  var existingIndex = old == null ? void 0 : old.findIndex(function (d) {
3256
- return d.id === columnId;
3001
+ return d.id === column.id;
3257
3002
  });
3258
3003
  var hasDescDefined = typeof desc !== 'undefined' && desc !== null;
3259
3004
  var newSorting = []; // What should we do with this sort action?
@@ -3277,7 +3022,7 @@
3277
3022
  }
3278
3023
  }
3279
3024
 
3280
- var sortDescFirst = (_ref2 = (_column$sortDescFirst = column.sortDescFirst) != null ? _column$sortDescFirst : instance.options.sortDescFirst) != null ? _ref2 : instance.getColumnAutoSortDir(columnId) === 'desc'; // Handle toggle states that will remove the sorting
3025
+ var sortDescFirst = (_ref2 = (_column$sortDescFirst = column.sortDescFirst) != null ? _column$sortDescFirst : instance.options.sortDescFirst) != null ? _ref2 : column.getAutoSortDir() === 'desc'; // Handle toggle states that will remove the sorting
3281
3026
 
3282
3027
  if (sortAction === 'toggle' && ( // Must be toggling
3283
3028
  (_instance$options$ena = instance.options.enableSortingRemoval) != null ? _instance$options$ena : true) && // If enableSortRemove, enable in general
@@ -3290,14 +3035,14 @@
3290
3035
 
3291
3036
  if (sortAction === 'replace') {
3292
3037
  newSorting = [{
3293
- id: columnId,
3038
+ id: column.id,
3294
3039
  desc: hasDescDefined ? desc : !!sortDescFirst
3295
3040
  }];
3296
3041
  } else if (sortAction === 'add' && old != null && old.length) {
3297
3042
  var _instance$options$max;
3298
3043
 
3299
3044
  newSorting = [].concat(old, [{
3300
- id: columnId,
3045
+ id: column.id,
3301
3046
  desc: hasDescDefined ? desc : !!sortDescFirst
3302
3047
  }]); // Take latest n columns
3303
3048
 
@@ -3305,7 +3050,7 @@
3305
3050
  } else if (sortAction === 'toggle' && old != null && old.length) {
3306
3051
  // This flips (or sets) the
3307
3052
  newSorting = old.map(function (d) {
3308
- if (d.id === columnId) {
3053
+ if (d.id === column.id) {
3309
3054
  return _extends({}, d, {
3310
3055
  desc: hasDescDefined ? desc : !(existingSorting != null && existingSorting.desc)
3311
3056
  });
@@ -3315,51 +3060,36 @@
3315
3060
  });
3316
3061
  } else if (sortAction === 'remove' && old != null && old.length) {
3317
3062
  newSorting = old.filter(function (d) {
3318
- return d.id !== columnId;
3063
+ return d.id !== column.id;
3319
3064
  });
3320
3065
  }
3321
3066
 
3322
3067
  return newSorting;
3323
3068
  });
3324
3069
  },
3325
- getColumnCanSort: function getColumnCanSort(columnId) {
3326
- var _ref3, _ref4, _column$enableSorting;
3327
-
3328
- var column = instance.getColumn(columnId);
3329
-
3330
- if (!column) {
3331
- throw new Error();
3332
- }
3070
+ getCanSort: function getCanSort() {
3071
+ var _column$enableSorting, _instance$options$ena3;
3333
3072
 
3334
- return (_ref3 = (_ref4 = (_column$enableSorting = column.enableSorting) != null ? _column$enableSorting : instance.options.enableSorting) != null ? _ref4 : column.defaultCanSort) != null ? _ref3 : !!column.accessorFn // (!!column.accessorFn ||
3335
- // column.columns?.some(c => c.id && instance.getColumnCanSort(c.id))) ??
3336
- // false
3337
- ;
3073
+ return ((_column$enableSorting = column.enableSorting) != null ? _column$enableSorting : true) && ((_instance$options$ena3 = instance.options.enableSorting) != null ? _instance$options$ena3 : true) && !!column.accessorFn;
3338
3074
  },
3339
- getColumnCanMultiSort: function getColumnCanMultiSort(columnId) {
3340
- var _ref5, _column$enableMultiSo;
3341
-
3342
- var column = instance.getColumn(columnId);
3343
-
3344
- if (!column) {
3345
- throw new Error();
3346
- }
3075
+ getCanMultiSort: function getCanMultiSort() {
3076
+ var _ref3, _column$enableMultiSo;
3347
3077
 
3348
- return (_ref5 = (_column$enableMultiSo = column.enableMultiSort) != null ? _column$enableMultiSo : instance.options.enableMultiSort) != null ? _ref5 : !!column.accessorFn;
3078
+ return (_ref3 = (_column$enableMultiSo = column.enableMultiSort) != null ? _column$enableMultiSo : instance.options.enableMultiSort) != null ? _ref3 : !!column.accessorFn;
3349
3079
  },
3350
- getColumnIsSorted: function getColumnIsSorted(columnId) {
3080
+ getIsSorted: function getIsSorted() {
3351
3081
  var _instance$getState$so;
3352
3082
 
3353
3083
  var columnSort = (_instance$getState$so = instance.getState().sorting) == null ? void 0 : _instance$getState$so.find(function (d) {
3354
- return d.id === columnId;
3084
+ return d.id === column.id;
3355
3085
  });
3356
3086
  return !columnSort ? false : columnSort.desc ? 'desc' : 'asc';
3357
3087
  },
3358
- getColumnSortIndex: function getColumnSortIndex(columnId) {
3088
+ getSortIndex: function getSortIndex() {
3359
3089
  var _instance$getState$so2, _instance$getState$so3;
3360
3090
 
3361
3091
  return (_instance$getState$so2 = (_instance$getState$so3 = instance.getState().sorting) == null ? void 0 : _instance$getState$so3.findIndex(function (d) {
3362
- return d.id === columnId;
3092
+ return d.id === column.id;
3363
3093
  })) != null ? _instance$getState$so2 : -1;
3364
3094
  },
3365
3095
  resetSorting: function resetSorting(columnId) {
@@ -3375,22 +3105,23 @@
3375
3105
  instance.setSorting((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.sorting) != null ? _instance$initialStat : []);
3376
3106
  }
3377
3107
  },
3378
- getToggleSortingHandler: function getToggleSortingHandler(columnId) {
3379
- var column = instance.getColumn(columnId);
3380
-
3381
- if (!column) {
3382
- throw new Error();
3383
- }
3384
-
3108
+ getToggleSortingHandler: function getToggleSortingHandler() {
3385
3109
  var canSort = column.getCanSort();
3386
3110
  return function (e) {
3387
3111
  if (!canSort) return;
3388
3112
  e.persist == null ? void 0 : e.persist();
3389
3113
  column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
3390
3114
  };
3115
+ }
3116
+ };
3117
+ },
3118
+ createInstance: function createInstance(instance) {
3119
+ return {
3120
+ setSorting: function setSorting(updater) {
3121
+ return instance.options.onSortingChange == null ? void 0 : instance.options.onSortingChange(updater);
3391
3122
  },
3392
3123
  getPreSortedRowModel: function getPreSortedRowModel() {
3393
- return instance.getGlobalFilteredRowModel();
3124
+ return instance.getFilteredRowModel();
3394
3125
  },
3395
3126
  getSortedRowModel: function getSortedRowModel() {
3396
3127
  if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
@@ -3409,10 +3140,10 @@
3409
3140
 
3410
3141
  //
3411
3142
  var Visibility = {
3412
- getInitialState: function getInitialState() {
3413
- return {
3143
+ getInitialState: function getInitialState(state) {
3144
+ return _extends({
3414
3145
  columnVisibility: {}
3415
- };
3146
+ }, state);
3416
3147
  },
3417
3148
  getDefaultOptions: function getDefaultOptions(instance) {
3418
3149
  return {
@@ -3426,14 +3157,24 @@
3426
3157
  },
3427
3158
  createColumn: function createColumn(column, instance) {
3428
3159
  return {
3429
- getCanHide: function getCanHide() {
3430
- return instance.getColumnCanHide(column.id);
3160
+ toggleVisibility: function toggleVisibility(value) {
3161
+ if (column.getCanHide()) {
3162
+ instance.setColumnVisibility(function (old) {
3163
+ var _extends2;
3164
+
3165
+ return _extends({}, old, (_extends2 = {}, _extends2[column.id] = value != null ? value : !column.getIsVisible(), _extends2));
3166
+ });
3167
+ }
3431
3168
  },
3432
3169
  getIsVisible: function getIsVisible() {
3433
- return instance.getColumnIsVisible(column.id);
3170
+ var _instance$getState$co, _instance$getState$co2;
3171
+
3172
+ return (_instance$getState$co = (_instance$getState$co2 = instance.getState().columnVisibility) == null ? void 0 : _instance$getState$co2[column.id]) != null ? _instance$getState$co : true;
3434
3173
  },
3435
- toggleVisibility: function toggleVisibility(value) {
3436
- return instance.toggleColumnVisibility(column.id, value);
3174
+ getCanHide: function getCanHide() {
3175
+ var _column$enableHiding, _instance$options$ena;
3176
+
3177
+ return ((_column$enableHiding = column.enableHiding) != null ? _column$enableHiding : true) && ((_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : true);
3437
3178
  },
3438
3179
  getToggleVisibilityHandler: function getToggleVisibilityHandler() {
3439
3180
  return function (e) {
@@ -3455,7 +3196,7 @@
3455
3196
  return cell.column.getIsVisible();
3456
3197
  });
3457
3198
  }, {
3458
- key: 'row._getAllVisibleCells',
3199
+ key: "development" === 'production' ,
3459
3200
  debug: function debug() {
3460
3201
  var _instance$options$deb;
3461
3202
 
@@ -3517,17 +3258,6 @@
3517
3258
  setColumnVisibility: function setColumnVisibility(updater) {
3518
3259
  return instance.options.onColumnVisibilityChange == null ? void 0 : instance.options.onColumnVisibilityChange(updater);
3519
3260
  },
3520
- toggleColumnVisibility: function toggleColumnVisibility(columnId, value) {
3521
- if (!columnId) return;
3522
-
3523
- if (instance.getColumnCanHide(columnId)) {
3524
- instance.setColumnVisibility(function (old) {
3525
- var _extends2;
3526
-
3527
- return _extends({}, old, (_extends2 = {}, _extends2[columnId] = value != null ? value : !instance.getColumnIsVisible(columnId), _extends2));
3528
- });
3529
- }
3530
- },
3531
3261
  toggleAllColumnsVisible: function toggleAllColumnsVisible(value) {
3532
3262
  var _value;
3533
3263
 
@@ -3538,28 +3268,6 @@
3538
3268
  return _extends({}, obj, (_extends3 = {}, _extends3[column.id] = !value ? !(column.getCanHide != null && column.getCanHide()) : value, _extends3));
3539
3269
  }, {}));
3540
3270
  },
3541
- getColumnIsVisible: function getColumnIsVisible(columnId) {
3542
- var _ref, _instance$getState$co, _instance$getState$co2;
3543
-
3544
- var column = instance.getColumn(columnId);
3545
-
3546
- if (!column) {
3547
- throw new Error();
3548
- }
3549
-
3550
- return (_ref = (_instance$getState$co = (_instance$getState$co2 = instance.getState().columnVisibility) == null ? void 0 : _instance$getState$co2[columnId]) != null ? _instance$getState$co : column.defaultIsVisible) != null ? _ref : true;
3551
- },
3552
- getColumnCanHide: function getColumnCanHide(columnId) {
3553
- var _ref2, _ref3, _instance$options$ena;
3554
-
3555
- var column = instance.getColumn(columnId);
3556
-
3557
- if (!column) {
3558
- throw new Error();
3559
- }
3560
-
3561
- return (_ref2 = (_ref3 = (_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : column.enableHiding) != null ? _ref3 : column.defaultCanHide) != null ? _ref2 : true;
3562
- },
3563
3271
  getIsAllColumnsVisible: function getIsAllColumnsVisible() {
3564
3272
  return !instance.getAllLeafColumns().some(function (column) {
3565
3273
  return !(column.getIsVisible != null && column.getIsVisible());
@@ -3600,30 +3308,6 @@
3600
3308
  colSpan: 0,
3601
3309
  rowSpan: 0,
3602
3310
  headerGroup: null,
3603
- getSize: function getSize() {
3604
- var sum = 0;
3605
-
3606
- var recurse = function recurse(header) {
3607
- if (header.subHeaders.length) {
3608
- header.subHeaders.forEach(recurse);
3609
- } else {
3610
- var _header$column$getSiz;
3611
-
3612
- sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;
3613
- }
3614
- };
3615
-
3616
- recurse(header);
3617
- return sum;
3618
- },
3619
- getStart: function getStart() {
3620
- if (header.index > 0) {
3621
- var prevSiblingHeader = header.headerGroup.headers[header.index - 1];
3622
- return prevSiblingHeader.getStart() + prevSiblingHeader.getSize();
3623
- }
3624
-
3625
- return 0;
3626
- },
3627
3311
  getLeafHeaders: function getLeafHeaders() {
3628
3312
  var leafHeaders = [];
3629
3313
 
@@ -4078,9 +3762,13 @@
4078
3762
  coreProgress: 1
4079
3763
  };
4080
3764
 
4081
- var initialState = _extends({}, coreInitialState, (_options$initialState = options.initialState) != null ? _options$initialState : {}, instance._features.reduce(function (obj, feature) {
4082
- return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState(options.initialState));
4083
- }, {}));
3765
+ var initialState = _extends({}, coreInitialState, (_options$initialState = options.initialState) != null ? _options$initialState : {});
3766
+
3767
+ instance._features.forEach(function (feature) {
3768
+ var _feature$getInitialSt;
3769
+
3770
+ initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;
3771
+ });
4084
3772
 
4085
3773
  var queued = [];
4086
3774
  var queuedTimeout = false;
@@ -4108,7 +3796,6 @@
4108
3796
  });
4109
3797
  }
4110
3798
  },
4111
- // willUpdate: () => {},
4112
3799
  initialState: initialState,
4113
3800
  reset: function reset() {
4114
3801
  instance.setState(instance.initialState);
@@ -4410,243 +4097,98 @@
4410
4097
  };
4411
4098
  }
4412
4099
 
4413
- function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
4414
- var newFilteredFlatRows = [];
4415
- var newFilteredRowsById = {};
4416
-
4417
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4418
- if (depth === void 0) {
4419
- depth = 0;
4420
- }
4421
-
4422
- rowsToFilter = rowsToFilter.slice(); // Filter from children up first
4423
-
4424
- for (var i = 0; i < rowsToFilter.length; i++) {
4425
- var _row$subRows;
4426
-
4427
- var row = rowsToFilter[i];
4428
-
4429
- if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
4430
- continue;
4431
- }
4432
-
4433
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4434
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4435
-
4436
- if (!rowsToFilter[i].subRows.length) {
4437
- rowsToFilter.splice(i, 1);
4438
- i--;
4439
- }
4440
- }
4441
-
4442
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4443
-
4444
- rowsToFilter.forEach(function (row) {
4445
- newFilteredFlatRows.push(row);
4446
- newFilteredRowsById[row.id] = row;
4447
- });
4448
- return rowsToFilter;
4449
- };
4450
-
4451
- return {
4452
- rows: recurseFilterRows(rowsToFilter),
4453
- flatRows: newFilteredFlatRows,
4454
- rowsById: newFilteredRowsById
4455
- };
4456
- }
4457
- function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
4458
- var newFilteredFlatRows = [];
4459
- var newFilteredRowsById = {}; // Filters top level and nested rows
4460
-
4461
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4462
- if (depth === void 0) {
4463
- depth = 0;
4464
- }
4465
-
4466
- // Filter from parents downward first
4467
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4468
-
4469
- for (var i = 0; i < rowsToFilter.length; i++) {
4470
- var _row$subRows2;
4471
-
4472
- var row = rowsToFilter[i];
4473
- newFilteredFlatRows.push(row);
4474
- newFilteredRowsById[row.id] = row;
4475
-
4476
- if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
4477
- rowsToFilter.splice(i, 1);
4478
- i--;
4479
- continue;
4480
- }
4481
-
4482
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4483
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4484
- }
4485
-
4486
- return rowsToFilter;
4487
- };
4488
-
4489
- return {
4490
- rows: recurseFilterRows(rowsToFilter),
4491
- flatRows: newFilteredFlatRows,
4492
- rowsById: newFilteredRowsById
4493
- };
4494
- }
4495
-
4496
- function getColumnFilteredRowModelSync() {
4100
+ function getFilteredRowModelSync() {
4497
4101
  return function (instance) {
4498
4102
  return memo(function () {
4499
- return [instance.getState().columnFilters, instance.getPreColumnFilteredRowModel()];
4500
- }, function (columnFilters, rowModel) {
4501
- var columnFilteredRowModel = function () {
4502
- if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length)) {
4503
- return rowModel;
4504
- }
4505
-
4506
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4507
-
4508
- var filterRows = function filterRows(rowsToFilter, depth) {
4509
- for (var i = 0; i < columnFilters.length; i++) {
4510
- var _columnFilters$i = columnFilters[i],
4511
- columnId = _columnFilters$i.id,
4512
- filterValue = _columnFilters$i.value; // Find the columnFilters column
4513
-
4514
- var column = instance.getColumn(columnId);
4515
-
4516
- if (!column) {
4517
- {
4518
- console.warn("Table: Could not find a column with id: " + columnId);
4519
- }
4520
-
4521
- throw new Error();
4522
- }
4523
-
4524
- if (depth === 0) {
4525
- (function () {
4526
- var preFilteredRows = [].concat(rowsToFilter);
4527
-
4528
- column.getPreFilteredRows = function () {
4529
- return preFilteredRows;
4530
- };
4531
- })();
4532
- }
4533
-
4534
- var filterFn = instance.getColumnFilterFn(column.id);
4535
-
4536
- if (!filterFn) {
4537
- {
4538
- console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4539
- }
4103
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter];
4104
+ }, function (rowModel, columnFilters, globalFilter) {
4105
+ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
4106
+ return rowModel;
4107
+ }
4540
4108
 
4541
- continue;
4542
- } // Pass the rows, id, filterValue and column to the filterFn
4543
- // to get the filtered rows back
4109
+ var resolvedColumnFilters = [];
4110
+ var resolvedGlobalFilters = [];
4111
+ (columnFilters != null ? columnFilters : []).forEach(function (d) {
4112
+ var _filterFn$resolveFilt;
4544
4113
 
4114
+ var column = instance.getColumn(d.id);
4545
4115
 
4546
- rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
4116
+ if (!column) {
4117
+ {
4118
+ console.warn("Table: Could not find a column to filter with columnId: " + d.id);
4547
4119
  }
4548
-
4549
- return rowsToFilter;
4550
- };
4551
-
4552
- if (filterFromLeafRows) {
4553
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4554
- }
4555
-
4556
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4557
- }(); // Now that each filtered column has it's partially filtered rows,
4558
- // lets assign the final filtered rows to all of the other columns
4559
-
4560
-
4561
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4562
- var _instance$getState$co;
4563
-
4564
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4565
- return d.id === column.id;
4566
- }));
4567
- }); // This essentially enables faceted filter options to be built easily
4568
- // using every column's preFilteredRows value
4569
-
4570
- nonFilteredColumns.forEach(function (column) {
4571
- column.getPreFilteredRows = function () {
4572
- return columnFilteredRowModel.rows;
4573
- };
4574
- });
4575
- return columnFilteredRowModel;
4576
- }, {
4577
- key: 'getColumnFilteredRowModelSync',
4578
- debug: function debug() {
4579
- var _instance$options$deb;
4580
-
4581
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4582
- },
4583
- onChange: function onChange() {
4584
- instance.queue(function () {
4585
- instance._autoResetPageIndex();
4586
- });
4587
- }
4588
- });
4589
- };
4590
- }
4591
-
4592
- function getGlobalFilteredRowModelSync() {
4593
- return function (instance) {
4594
- return memo(function () {
4595
- return [instance.getState().globalFilter, instance.getPreGlobalFilteredRowModel()];
4596
- }, function (globalFilter, rowModel) {
4597
- var globalFilteredRowModel = function () {
4598
- if (!rowModel.rows.length || !globalFilter) {
4599
- return rowModel;
4600
4120
  }
4601
4121
 
4602
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4603
- var filterFn = instance.getGlobalFilterFn();
4122
+ var filterFn = column.getFilterFn();
4604
4123
 
4605
4124
  if (!filterFn) {
4606
4125
  {
4607
- console.warn("Could not find a valid 'globalFilterType'");
4126
+ console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4608
4127
  }
4609
4128
 
4610
- return rowModel;
4129
+ return;
4611
4130
  }
4612
4131
 
4613
- var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
4614
- return column.getCanGlobalFilter();
4132
+ resolvedColumnFilters.push({
4133
+ id: d.id,
4134
+ filterFn: filterFn,
4135
+ resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
4615
4136
  });
4616
- var filterableColumnIds = filterableColumns.map(function (d) {
4617
- return d.id;
4137
+ });
4138
+ var filterableIds = columnFilters.map(function (d) {
4139
+ return d.id;
4140
+ });
4141
+ var globalFilterFn = instance.getGlobalFilterFn();
4142
+ var globallyFilterableColumns = instance.getAllLeafColumns().filter(function (column) {
4143
+ return column.getCanGlobalFilter();
4144
+ });
4145
+
4146
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
4147
+ filterableIds.push('__global__');
4148
+ globallyFilterableColumns.forEach(function (column) {
4149
+ var _globalFilterFn$resol;
4150
+
4151
+ resolvedGlobalFilters.push({
4152
+ id: column.id,
4153
+ filterFn: globalFilterFn,
4154
+ resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter
4155
+ });
4618
4156
  });
4157
+ } // Flag the prefiltered row model with each filter state
4619
4158
 
4620
- var filterRows = function filterRows(rows) {
4621
- return filterFn(rows, filterableColumnIds, globalFilter);
4622
- };
4623
4159
 
4624
- if (filterFromLeafRows) {
4625
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4160
+ for (var j = 0; j < rowModel.flatRows.length; j++) {
4161
+ var row = rowModel.flatRows[j];
4162
+ row.columnFilterMap = {};
4163
+
4164
+ if (resolvedColumnFilters.length) {
4165
+ for (var i = 0; i < resolvedColumnFilters.length; i++) {
4166
+ var columnFilter = resolvedColumnFilters[i]; // Tag the row with the column filter state
4167
+
4168
+ row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(row, columnFilter.id, columnFilter.resolvedValue);
4169
+ }
4626
4170
  }
4627
4171
 
4628
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4629
- }(); // Now that each filtered column has it's partially filtered rows,
4630
- // lets assign the final filtered rows to all of the other columns
4172
+ if (resolvedGlobalFilters.length) {
4173
+ for (var _i = 0; _i < resolvedGlobalFilters.length; _i++) {
4174
+ var _globalFilter = resolvedGlobalFilters[_i]; // Tag the row with the first truthy global filter state
4631
4175
 
4176
+ if (_globalFilter.filterFn(row, _globalFilter.id, _globalFilter.resolvedValue)) {
4177
+ row.columnFilterMap.__global__ = true;
4178
+ break;
4179
+ }
4180
+ }
4632
4181
 
4633
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4634
- var _instance$getState$co;
4182
+ if (row.columnFilterMap.__global__ !== true) {
4183
+ row.columnFilterMap.__global__ = false;
4184
+ }
4185
+ }
4186
+ } // Filter final rows using all of the active filters
4635
4187
 
4636
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4637
- return d.id === column.id;
4638
- }));
4639
- }); // This essentially enables faceted filter options to be built easily
4640
- // using every column's preFilteredRows value
4641
4188
 
4642
- nonFilteredColumns.forEach(function (column) {
4643
- column.getPreFilteredRows = function () {
4644
- return globalFilteredRowModel.rows;
4645
- };
4646
- });
4647
- return globalFilteredRowModel;
4189
+ return filterRows(rowModel.rows, filterableIds, instance);
4648
4190
  }, {
4649
- key: 'getGlobalFilteredRowModelSync',
4191
+ key: 'getFilteredRowModelSync',
4650
4192
  debug: function debug() {
4651
4193
  var _instance$options$deb;
4652
4194
 
@@ -4674,7 +4216,7 @@
4674
4216
  var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
4675
4217
 
4676
4218
  var availableSorting = sortingState.filter(function (sort) {
4677
- return instance.getColumnCanSort(sort.id);
4219
+ return instance.getColumn(sort.id).getCanSort();
4678
4220
  });
4679
4221
  var columnInfoById = {};
4680
4222
  availableSorting.forEach(function (sortEntry) {
@@ -4682,7 +4224,7 @@
4682
4224
  columnInfoById[sortEntry.id] = {
4683
4225
  sortUndefined: column.sortUndefined,
4684
4226
  invertSorting: column.invertSorting,
4685
- sortingFn: instance.getColumnSortingFn(sortEntry.id)
4227
+ sortingFn: column.getSortingFn()
4686
4228
  };
4687
4229
  });
4688
4230
 
@@ -4950,7 +4492,7 @@
4950
4492
 
4951
4493
  expandedRows.push(row);
4952
4494
 
4953
- if (instance.options.expandSubRows && (_row$subRows = row.subRows) != null && _row$subRows.length && instance.getIsRowExpanded(row.id)) {
4495
+ if (instance.options.expandSubRows && (_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {
4954
4496
  row.subRows.forEach(handleRow);
4955
4497
  }
4956
4498
  };
@@ -5024,13 +4566,14 @@
5024
4566
  exports.flattenBy = flattenBy;
5025
4567
  exports.functionalUpdate = functionalUpdate;
5026
4568
  exports.getBatchGroups = getBatchGroups;
5027
- exports.getColumnFilteredRowModelSync = getColumnFilteredRowModelSync;
5028
4569
  exports.getCoreRowModelAsync = getCoreRowModelAsync;
5029
4570
  exports.getCoreRowModelSync = getCoreRowModelSync;
5030
4571
  exports.getExpandedRowModel = getExpandedRowModel;
5031
- exports.getGlobalFilteredRowModelSync = getGlobalFilteredRowModelSync;
4572
+ exports.getFilteredRowModelSync = getFilteredRowModelSync;
5032
4573
  exports.getGroupedRowModelSync = getGroupedRowModelSync;
5033
4574
  exports.getPaginationRowModel = getPaginationRowModel;
4575
+ exports.getRowModelMinMaxValues = getRowModelMinMaxValues;
4576
+ exports.getRowModelUniqueValues = getRowModelUniqueValues;
5034
4577
  exports.getSortedRowModelSync = getSortedRowModelSync;
5035
4578
  exports.incrementalMemo = incrementalMemo;
5036
4579
  exports.isFunction = isFunction;
@@ -5038,6 +4581,7 @@
5038
4581
  exports.makeStateUpdater = makeStateUpdater;
5039
4582
  exports.memo = memo;
5040
4583
  exports.noop = noop;
4584
+ exports.orderColumns = orderColumns;
5041
4585
  exports.passiveEventSupported = passiveEventSupported;
5042
4586
  exports.selectRowsFn = selectRowsFn;
5043
4587
  exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;