@bigbinary/neetoui 8.3.16 → 8.3.18

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.
@@ -26,7 +26,7 @@ import 'react-i18next';
26
26
  import './useRecentlyUsedColors-CJe4G0Xs.js';
27
27
  import './Dropdown.js';
28
28
  import './index-BCP3m_SF.js';
29
- export { D as default } from './index-ffKXwGCh.js';
29
+ export { D as default } from './index-DqcLcdQ2.js';
30
30
  import './Input.js';
31
31
  import './Label.js';
32
32
  import './MultiEmailInput.js';
@@ -62,7 +62,7 @@ import './Switch.js';
62
62
  import './Tab.js';
63
63
  import 'antd/lib/table';
64
64
  import 'react-drag-listview';
65
- import './useRestoreScrollPosition-B3J6xSHt.js';
65
+ import './useRestoreScrollPosition-9jPpcAT1.js';
66
66
  import 'react-resizable';
67
67
  import './Tag.js';
68
68
  import './Toastr.js';
package/dist/Table.js CHANGED
@@ -20,7 +20,7 @@ import { u as useQueryParams } from './useQueryParams-b60CHFUx.js';
20
20
  import Button from './Button.js';
21
21
  import Callout from './Callout.js';
22
22
  import Typography from './Typography.js';
23
- import { T as TABLE_SORT_ORDERS, U as URL_SORT_ORDERS, H as HeaderCellMenu, C as COLUMN_FIXED_VALUES, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT, a as SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT, u as useRestoreScrollPosition } from './useRestoreScrollPosition-B3J6xSHt.js';
23
+ import { T as TABLE_SORT_ORDERS, U as URL_SORT_ORDERS, H as HeaderCellMenu, a as TABLE_PAGINATION_HEIGHT, b as TABLE_ROW_HEIGHT, C as COLUMN_FIXED_VALUES, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT, c as SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT, u as useRestoreScrollPosition, d as TABLE_DEFAULT_HEADER_HEIGHT } from './useRestoreScrollPosition-9jPpcAT1.js';
24
24
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
25
25
  import Popover from './Popover.js';
26
26
  import { Resizable } from 'react-resizable';
@@ -206,6 +206,7 @@ var TitleWithInfoIcon = function TitleWithInfoIcon(_ref) {
206
206
  style: "body2"
207
207
  }, description))));
208
208
  };
209
+ var TitleWithInfoIcon$1 = /*#__PURE__*/React__default.memo(TitleWithInfoIcon);
209
210
 
210
211
  var _excluded$4 = ["children", "isSortable", "isAddEnabled", "sortedInfo", "onSort", "isHidable", "isDeletable", "isFixedColumn", "isColumnFreezeEnabled", "onColumnHide", "onAddColumn", "onColumnDelete", "onColumnFreeze", "onMoreActionClick", "column", "moreActions"];
211
212
  var CellContent = function CellContent(_ref) {
@@ -260,6 +261,7 @@ var CellContent = function CellContent(_ref) {
260
261
  isHidable: isColumnHidable
261
262
  })));
262
263
  };
264
+ var CellContent$1 = /*#__PURE__*/React__default.memo(CellContent);
263
265
 
264
266
  var _excluded$3 = ["onResize", "width", "onResizeStop", "className"];
265
267
  var HeaderCell = function HeaderCell(props) {
@@ -269,7 +271,7 @@ var HeaderCell = function HeaderCell(props) {
269
271
  className = props.className,
270
272
  restProps = _objectWithoutProperties(props, _excluded$3);
271
273
  if (!width) {
272
- return /*#__PURE__*/React__default.createElement(CellContent, _extends({}, restProps, {
274
+ return /*#__PURE__*/React__default.createElement(CellContent$1, _extends({}, restProps, {
273
275
  className: classnames(className, "drag-handler")
274
276
  }));
275
277
  }
@@ -290,10 +292,11 @@ var HeaderCell = function HeaderCell(props) {
290
292
  onResizeStart: function onResizeStart(e) {
291
293
  e.preventDefault();
292
294
  }
293
- }, /*#__PURE__*/React__default.createElement(CellContent, _extends({}, restProps, {
295
+ }, /*#__PURE__*/React__default.createElement(CellContent$1, _extends({}, restProps, {
294
296
  className: classnames(className, "drag-handler")
295
297
  })));
296
298
  };
299
+ var HeaderCell$1 = /*#__PURE__*/React__default.memo(HeaderCell);
297
300
 
298
301
  var _excluded$2 = ["onResize", "width", "onResizeStop", "onResizeStart"];
299
302
  var ResizableHeaderCell = function ResizableHeaderCell(props) {
@@ -307,7 +310,7 @@ var ResizableHeaderCell = function ResizableHeaderCell(props) {
307
310
  isResizing = _useState2[0],
308
311
  setIsResizing = _useState2[1];
309
312
  if (!width) {
310
- return /*#__PURE__*/React__default.createElement(CellContent, restProps);
313
+ return /*#__PURE__*/React__default.createElement(CellContent$1, restProps);
311
314
  }
312
315
  return /*#__PURE__*/React__default.createElement(Resizable, _defineProperty({
313
316
  onResize: onResize,
@@ -335,14 +338,15 @@ var ResizableHeaderCell = function ResizableHeaderCell(props) {
335
338
  }, "onResizeStop", function onResizeStop(e, data) {
336
339
  setIsResizing(false);
337
340
  _onResizeStop === null || _onResizeStop === void 0 || _onResizeStop(e, data);
338
- }), /*#__PURE__*/React__default.createElement(CellContent, restProps));
341
+ }), /*#__PURE__*/React__default.createElement(CellContent$1, restProps));
339
342
  };
343
+ var ResizableHeaderCell$1 = /*#__PURE__*/React__default.memo(ResizableHeaderCell);
340
344
 
341
345
  var _excluded$1 = ["className"];
342
346
  var ReorderableHeaderCell = function ReorderableHeaderCell(_ref) {
343
347
  var className = _ref.className,
344
348
  props = _objectWithoutProperties(_ref, _excluded$1);
345
- return /*#__PURE__*/React__default.createElement(CellContent, _extends({}, props, {
349
+ return /*#__PURE__*/React__default.createElement(CellContent$1, _extends({}, props, {
346
350
  className: classnames(className, "drag-handler")
347
351
  }));
348
352
  };
@@ -362,16 +366,16 @@ var getHeaderCell = function getHeaderCell(_ref) {
362
366
  var enableColumnResize = _ref.enableColumnResize,
363
367
  enableColumnReorder = _ref.enableColumnReorder;
364
368
  if (enableColumnReorder && enableColumnResize) return {
365
- cell: HeaderCell
369
+ cell: HeaderCell$1
366
370
  };
367
371
  if (enableColumnResize) return {
368
- cell: ResizableHeaderCell
372
+ cell: ResizableHeaderCell$1
369
373
  };
370
374
  if (enableColumnReorder) return {
371
375
  cell: ReorderableHeaderCell
372
376
  };
373
377
  return {
374
- cell: CellContent
378
+ cell: CellContent$1
375
379
  };
376
380
  };
377
381
  var isIncludedIn = function isIncludedIn(array1, array2) {
@@ -423,6 +427,11 @@ var getSortField = function getSortField(field) {
423
427
  }
424
428
  return camelToSnakeCase(field);
425
429
  };
430
+ var calculateRowsPerPage = function calculateRowsPerPage() {
431
+ var viewportHeight = window.innerHeight;
432
+ var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
433
+ return Math.ceil(rowsPerPage / 10) * 10;
434
+ };
426
435
 
427
436
  function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
428
437
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -488,7 +497,7 @@ var useResizableColumns = function useResizableColumns(_ref) {
488
497
  sortOrder: getColumnSortOrder(col, sortedInfo),
489
498
  fixed: fixed,
490
499
  title: col.description ? function (props) {
491
- return /*#__PURE__*/React__default.createElement(TitleWithInfoIcon, _extends({}, props, {
500
+ return /*#__PURE__*/React__default.createElement(TitleWithInfoIcon$1, _extends({}, props, {
492
501
  description: col.description,
493
502
  title: col.title
494
503
  }));
@@ -588,6 +597,63 @@ var useColumns = function useColumns(_ref) {
588
597
  };
589
598
  };
590
599
 
600
+ var useScroll = function useScroll(_ref) {
601
+ var fixedHeight = _ref.fixedHeight,
602
+ enableColumnReorder = _ref.enableColumnReorder,
603
+ loading = _ref.loading,
604
+ otherProps = _ref.otherProps,
605
+ rowData = _ref.rowData,
606
+ pageSize = _ref.pageSize,
607
+ shouldShowSelectAllRowsCallout = _ref.shouldShowSelectAllRowsCallout,
608
+ shouldShowAllRowsSelectedCallout = _ref.shouldShowAllRowsSelectedCallout,
609
+ headerHeight = _ref.headerHeight;
610
+ var _useState = useState(0),
611
+ _useState2 = _slicedToArray(_useState, 2),
612
+ containerHeight = _useState2[0],
613
+ setContainerHeight = _useState2[1];
614
+ var resizeObserver = useRef(new ResizeObserver(function (_ref2) {
615
+ var _ref3 = _slicedToArray(_ref2, 1),
616
+ entry = _ref3[0];
617
+ return setContainerHeight(entry.contentRect.height);
618
+ }));
619
+ var scrollRef = useRef(null);
620
+ var tableRef = useCallback(function (table) {
621
+ scrollRef.current = table;
622
+ if (!fixedHeight) return;
623
+ var observer = resizeObserver.current;
624
+ if (table !== null) {
625
+ var _table$parentNode;
626
+ var targetNode = enableColumnReorder ? table === null || table === void 0 || (_table$parentNode = table.parentNode) === null || _table$parentNode === void 0 ? void 0 : _table$parentNode.parentNode : table === null || table === void 0 ? void 0 : table.parentNode;
627
+ observer.observe(targetNode);
628
+ } else if (observer) {
629
+ observer.disconnect();
630
+ }
631
+ }, [resizeObserver.current, fixedHeight, enableColumnReorder]);
632
+ var _useRestoreScrollPosi = useRestoreScrollPosition({
633
+ tableRef: tableRef,
634
+ scrollRef: scrollRef,
635
+ loading: loading
636
+ }),
637
+ handleScroll = _useRestoreScrollPosi.handleScroll;
638
+ var calculateTableContainerHeight = function calculateTableContainerHeight() {
639
+ var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
640
+ var selectAllRowsCalloutHeight = 0;
641
+ if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
642
+ selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
643
+ }
644
+ return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
645
+ };
646
+ return {
647
+ tableRef: tableRef,
648
+ tableContainerRef: null,
649
+ handleScroll: handleScroll,
650
+ calculatedScroll: {
651
+ x: "max-content",
652
+ y: calculateTableContainerHeight()
653
+ }
654
+ };
655
+ };
656
+
591
657
  var useTableSort = function useTableSort() {
592
658
  var queryParams = useQueryParams();
593
659
  var _useState = useState(function () {
@@ -616,12 +682,58 @@ var useTableSort = function useTableSort() {
616
682
  };
617
683
  };
618
684
 
619
- var _excluded = ["allowRowClick", "enableColumnResize", "enableColumnReorder", "enableColumnFreeze", "enableAddColumn", "className", "columnData", "currentPageNumber", "defaultPageSize", "handlePageChange", "loading", "onRowClick", "onRowSelect", "rowData", "totalCount", "selectedRowKeys", "fixedHeight", "paginationProps", "rowKey", "scroll", "rowSelection", "shouldDynamicallyRenderRowSize", "bordered", "onColumnUpdate", "components", "onColumnHide", "onColumnAdd", "onColumnDelete", "onChange", "onMoreActionClick", "bulkSelectAllRowsProps", "localStorageKeyPrefix"];
685
+ var useVirtualScroll = function useVirtualScroll(_ref) {
686
+ var otherProps = _ref.otherProps,
687
+ rowData = _ref.rowData,
688
+ pageSize = _ref.pageSize,
689
+ shouldShowSelectAllRowsCallout = _ref.shouldShowSelectAllRowsCallout,
690
+ shouldShowAllRowsSelectedCallout = _ref.shouldShowAllRowsSelectedCallout,
691
+ headerHeight = _ref.headerHeight;
692
+ var _useState = useState({
693
+ top: 0,
694
+ left: 0
695
+ }),
696
+ _useState2 = _slicedToArray(_useState, 2),
697
+ containerRect = _useState2[0],
698
+ setContainerRect = _useState2[1];
699
+ var tableContainerRef = useRef(null);
700
+ useEffect(function () {
701
+ var updateContainerRect = function updateContainerRect() {
702
+ if (!tableContainerRef.current) return;
703
+ var rect = tableContainerRef.current.getBoundingClientRect();
704
+ setContainerRect(rect);
705
+ };
706
+ updateContainerRect();
707
+ window.addEventListener("scroll", updateContainerRect);
708
+ window.addEventListener("resize", updateContainerRect);
709
+ return function () {
710
+ window.removeEventListener("scroll", updateContainerRect);
711
+ window.removeEventListener("resize", updateContainerRect);
712
+ };
713
+ }, []);
714
+ var calculateTableContainerHeight = function calculateTableContainerHeight() {
715
+ var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
716
+ var selectAllRowsCalloutHeight = 0;
717
+ if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
718
+ selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
719
+ }
720
+ var containerHeight = window.innerHeight - containerRect.top;
721
+ return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
722
+ };
723
+ return {
724
+ tableRef: null,
725
+ tableContainerRef: tableContainerRef,
726
+ handleScroll: noop,
727
+ calculatedScroll: {
728
+ x: window.innerWidth - (containerRect === null || containerRect === void 0 ? void 0 : containerRect.left),
729
+ y: calculateTableContainerHeight()
730
+ }
731
+ };
732
+ };
733
+
734
+ var _excluded = ["allowRowClick", "enableColumnResize", "enableColumnReorder", "enableColumnFreeze", "enableAddColumn", "className", "columnData", "currentPageNumber", "defaultPageSize", "handlePageChange", "loading", "onRowClick", "onRowSelect", "rowData", "totalCount", "selectedRowKeys", "fixedHeight", "paginationProps", "rowKey", "scroll", "rowSelection", "shouldDynamicallyRenderRowSize", "bordered", "onColumnUpdate", "components", "onColumnHide", "onColumnAdd", "onColumnDelete", "onChange", "onMoreActionClick", "bulkSelectAllRowsProps", "localStorageKeyPrefix", "virtual"];
620
735
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
621
736
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
622
- var TABLE_PAGINATION_HEIGHT = 64;
623
- var TABLE_DEFAULT_HEADER_HEIGHT = 40;
624
- var TABLE_ROW_HEIGHT = 52;
625
737
  var Table = function Table(_ref) {
626
738
  var _ref$allowRowClick = _ref.allowRowClick,
627
739
  allowRowClick = _ref$allowRowClick === void 0 ? true : _ref$allowRowClick,
@@ -677,25 +789,27 @@ var Table = function Table(_ref) {
677
789
  onMoreActionClick = _ref.onMoreActionClick,
678
790
  bulkSelectAllRowsProps = _ref.bulkSelectAllRowsProps,
679
791
  localStorageKeyPrefix = _ref.localStorageKeyPrefix,
792
+ _ref$virtual = _ref.virtual,
793
+ virtual = _ref$virtual === void 0 ? false : _ref$virtual,
680
794
  otherProps = _objectWithoutProperties(_ref, _excluded);
681
795
  var _useTranslation = useTranslation(),
682
796
  i18n = _useTranslation.i18n;
683
- var _useState = useState(null),
797
+ var _useState = useState(TABLE_DEFAULT_HEADER_HEIGHT),
684
798
  _useState2 = _slicedToArray(_useState, 2),
685
- containerHeight = _useState2[0],
686
- setContainerHeight = _useState2[1];
687
- var _useState3 = useState(TABLE_DEFAULT_HEADER_HEIGHT),
799
+ headerHeight = _useState2[0],
800
+ setHeaderHeight = _useState2[1];
801
+ var _useState3 = useState(columnData),
688
802
  _useState4 = _slicedToArray(_useState3, 2),
689
- headerHeight = _useState4[0],
690
- setHeaderHeight = _useState4[1];
691
- var _useState5 = useState(columnData),
803
+ columns = _useState4[0],
804
+ setColumns = _useState4[1];
805
+ var _useState5 = useState(false),
692
806
  _useState6 = _slicedToArray(_useState5, 2),
693
- columns = _useState6[0],
694
- setColumns = _useState6[1];
695
- var _useState7 = useState(false),
807
+ bulkSelectedAllRows = _useState6[0],
808
+ setBulkSelectedAllRows = _useState6[1];
809
+ var _useState7 = useState({}),
696
810
  _useState8 = _slicedToArray(_useState7, 2),
697
- bulkSelectedAllRows = _useState8[0],
698
- setBulkSelectedAllRows = _useState8[1];
811
+ columnChanges = _useState8[0],
812
+ setColumnChanges = _useState8[1];
699
813
  var _useTableSort = useTableSort(),
700
814
  handleTableSortChange = _useTableSort.handleTableChange,
701
815
  sortedInfo = _useTableSort.sortedInfo,
@@ -706,34 +820,29 @@ var Table = function Table(_ref) {
706
820
  var history = useHistory();
707
821
  var headerRef = useRef();
708
822
  var tableOnChangeProps = useRef({});
709
- var resizeObserver = useRef(new ResizeObserver(function (_ref3) {
710
- var _ref4 = _slicedToArray(_ref3, 1),
711
- entry = _ref4[0];
712
- return setContainerHeight(entry.contentRect.height);
713
- }));
714
- var scrollRef = useRef(null);
715
- var tableRef = useCallback(function (table) {
716
- scrollRef.current = table;
717
- if (!fixedHeight) return;
718
- var observer = resizeObserver.current;
719
- if (table !== null) {
720
- var _table$parentNode;
721
- var targetNode = enableColumnReorder ? table === null || table === void 0 || (_table$parentNode = table.parentNode) === null || _table$parentNode === void 0 ? void 0 : _table$parentNode.parentNode : table === null || table === void 0 ? void 0 : table.parentNode;
722
- observer.observe(targetNode);
723
- } else if (observer) {
724
- observer.disconnect();
725
- }
726
- }, [resizeObserver.current, fixedHeight, enableColumnReorder]);
727
- var _useRestoreScrollPosi = useRestoreScrollPosition({
728
- tableRef: tableRef,
729
- scrollRef: scrollRef,
730
- loading: loading
731
- }),
732
- handleScroll = _useRestoreScrollPosi.handleScroll;
733
823
  useTimeout(function () {
734
824
  var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT;
735
825
  setHeaderHeight(headerHeight);
736
826
  }, 10);
827
+ var handleColumnUpdateWithChanges = function handleColumnUpdateWithChanges(updatedColumns) {
828
+ var newChanges = {};
829
+ updatedColumns.forEach(function (col) {
830
+ var originalCol = columnData.find(function (c) {
831
+ return c.dataIndex === col.dataIndex;
832
+ });
833
+ var changes = {};
834
+ if (col.width && col.width !== (originalCol === null || originalCol === void 0 ? void 0 : originalCol.width)) {
835
+ changes.width = col.width;
836
+ }
837
+ if (Object.keys(changes).length > 0) {
838
+ newChanges[col.dataIndex] = changes;
839
+ }
840
+ });
841
+ setColumnChanges(function (prev) {
842
+ return _objectSpread(_objectSpread({}, prev), newChanges);
843
+ });
844
+ onColumnUpdate(updatedColumns);
845
+ };
737
846
  var _useColumns = useColumns({
738
847
  isReorderEnabled: enableColumnReorder,
739
848
  isResizeEnabled: enableColumnResize,
@@ -743,7 +852,7 @@ var Table = function Table(_ref) {
743
852
  columns: columns,
744
853
  columnData: columnData,
745
854
  setColumns: setColumns,
746
- onColumnUpdate: onColumnUpdate,
855
+ onColumnUpdate: handleColumnUpdateWithChanges,
747
856
  rowSelection: rowSelection,
748
857
  sortedInfo: sortedInfo,
749
858
  setSortedInfo: setSortedInfo,
@@ -777,6 +886,22 @@ var Table = function Table(_ref) {
777
886
  }, [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]);
778
887
  var shouldShowSelectAllRowsCallout = bulkSelectAllRowsProps && showBulkSelectionCallout;
779
888
  var shouldShowAllRowsSelectedCallout = bulkSelectAllRowsProps && bulkSelectedAllRows;
889
+ var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
890
+ var _ref3 = (virtual ? useVirtualScroll : useScroll)({
891
+ fixedHeight: fixedHeight,
892
+ enableColumnReorder: enableColumnReorder,
893
+ loading: loading,
894
+ otherProps: otherProps,
895
+ rowData: rowData,
896
+ pageSize: pageSize,
897
+ shouldShowSelectAllRowsCallout: shouldShowSelectAllRowsCallout,
898
+ shouldShowAllRowsSelectedCallout: shouldShowAllRowsSelectedCallout,
899
+ headerHeight: headerHeight
900
+ }),
901
+ tableRef = _ref3.tableRef,
902
+ tableContainerRef = _ref3.tableContainerRef,
903
+ handleScroll = _ref3.handleScroll,
904
+ calculatedScroll = _ref3.calculatedScroll;
780
905
  var handleRowChange = function handleRowChange(selectedRowKeys, selectedRows) {
781
906
  var tableWrapper = document.querySelector('[data-testid="table-wrapper"]');
782
907
  if (selectedRowKeys.length !== defaultPageSize) {
@@ -790,7 +915,8 @@ var Table = function Table(_ref) {
790
915
  };
791
916
  var rowSelectionProps = rowSelection ? _objectSpread(_objectSpread({
792
917
  type: "checkbox",
793
- preserveSelectedRowKeys: true
918
+ preserveSelectedRowKeys: true,
919
+ columnWidth: 48
794
920
  }, rowSelection), {}, {
795
921
  onChange: handleRowChange,
796
922
  selectedRowKeys: selectedRowKeys
@@ -812,20 +938,6 @@ var Table = function Table(_ref) {
812
938
  enableColumnReorder: enableColumnReorder
813
939
  })
814
940
  });
815
- var calculateRowsPerPage = function calculateRowsPerPage() {
816
- var viewportHeight = window.innerHeight;
817
- var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
818
- return Math.ceil(rowsPerPage / 10) * 10;
819
- };
820
- var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
821
- var calculateTableContainerHeight = function calculateTableContainerHeight() {
822
- var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
823
- var selectAllRowsCalloutHeight = 0;
824
- if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
825
- selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
826
- }
827
- return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
828
- };
829
941
  var calculatePageSizeOptions = function calculatePageSizeOptions() {
830
942
  return dynamicArray(5, function (index) {
831
943
  return (index + 1) * pageSize;
@@ -865,8 +977,11 @@ var Table = function Table(_ref) {
865
977
  }, queryParams))) : handlePageChange(page, pageSize);
866
978
  }, [rowData]);
867
979
  useEffect(function () {
868
- return setColumns(columnData);
869
- }, [columnData]);
980
+ var mergedColumns = columnData.map(function (col) {
981
+ return _objectSpread(_objectSpread({}, col), columnChanges[col.dataIndex]);
982
+ });
983
+ setColumns(mergedColumns);
984
+ }, [columnData, columnChanges]);
870
985
  var neetoUIFontBold = parseInt(getComputedStyle(document.documentElement).getPropertyValue("--neeto-ui-font-bold"), 10);
871
986
  var renderTable = function renderTable() {
872
987
  return /*#__PURE__*/React__default.createElement(_ConfigProvider, {
@@ -933,6 +1048,7 @@ var Table = function Table(_ref) {
933
1048
  bordered: bordered,
934
1049
  locale: locale,
935
1050
  rowKey: rowKey,
1051
+ virtual: virtual,
936
1052
  columns: sortedColumns,
937
1053
  components: componentOverrides,
938
1054
  dataSource: rowData,
@@ -942,6 +1058,7 @@ var Table = function Table(_ref) {
942
1058
  },
943
1059
  ref: tableRef,
944
1060
  rowSelection: rowSelectionProps,
1061
+ scroll: _objectSpread(_objectSpread({}, calculatedScroll), scroll),
945
1062
  showSorterTooltip: false,
946
1063
  pagination: _objectSpread(_objectSpread({
947
1064
  hideOnSinglePage: true
@@ -957,10 +1074,6 @@ var Table = function Table(_ref) {
957
1074
  rowClassName: classnames("neeto-ui-table--row", {
958
1075
  "neeto-ui-table--row_hover": allowRowClick
959
1076
  }, [className]),
960
- scroll: _objectSpread({
961
- x: "max-content",
962
- y: calculateTableContainerHeight()
963
- }, scroll),
964
1077
  onChange: handleTableChange,
965
1078
  onScroll: handleScroll,
966
1079
  onHeaderRow: function onHeaderRow() {
@@ -981,7 +1094,12 @@ var Table = function Table(_ref) {
981
1094
  }
982
1095
  }, otherProps)));
983
1096
  };
984
- return enableColumnReorder ? /*#__PURE__*/React__default.createElement(ReactDragListView.DragColumn, dragProps, renderTable()) : renderTable();
1097
+ var renderTableVirtual = function renderTableVirtual() {
1098
+ return virtual ? /*#__PURE__*/React__default.createElement("div", {
1099
+ ref: tableContainerRef
1100
+ }, renderTable()) : renderTable();
1101
+ };
1102
+ return enableColumnReorder ? /*#__PURE__*/React__default.createElement(ReactDragListView.DragColumn, dragProps, renderTableVirtual()) : renderTableVirtual();
985
1103
  };
986
1104
 
987
1105
  export { Table as default };