UNPKG

@bigbinary/neetoui

Version:

neetoUI drives the experience at all neeto products

1,036 lines (1,017 loc) 60.2 kB
import _ConfigProvider from 'antd/lib/config-provider'; import _Table from 'antd/lib/table'; import _defineProperty from '@babel/runtime/helpers/defineProperty'; import _slicedToArray from '@babel/runtime/helpers/slicedToArray'; import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties'; import React__default, { useRef, useEffect, useState, useMemo, useCallback } from 'react'; import classnames from 'classnames'; import { isPresent, noop, snakeToCamelCase, camelToSnakeCase, isNotEmpty, modifyBy, dynamicArray } from '@bigbinary/neeto-cist'; import Left from '@bigbinary/neeto-icons/Left'; import Right from '@bigbinary/neeto-icons/Right'; import MenuHorizontal from '@bigbinary/neeto-icons/MenuHorizontal'; import { isNil, isEmpty, all, includes, __, pipe, filter, pluck, equals, move, has, without, append, props, mergeLeft, assoc } from 'ramda'; import ReactDragListView from 'react-drag-listview'; import { useTranslation } from 'react-i18next'; import { useHistory } from 'react-router-dom'; import { ANTD_LOCALE } from './constants.js'; import '@bigbinary/neeto-hotkeys'; import './overlayManager.js'; import { a as getLocale, b as getFromLocalStorage, r as removeFromLocalStorage, s as setToLocalStorage, h as hyphenize, g as getContentDir, c as buildUrl, n as noop$1, A as ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES } from './index-DzZtLRHp.js'; import { u as useQueryParams } from './useQueryParams-BKsf4FPY.js'; import Button from './Button.js'; import Callout from './Callout.js'; import Typography from './Typography.js'; import { jsx, jsxs, Fragment } from 'react/jsx-runtime'; import { H as HeaderCellMenu, a as TABLE_SORT_ORDERS, b as TABLE_PAGINATION_HEIGHT, c as TABLE_ROW_HEIGHT, C as COLUMN_FIXED_VALUES, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT, d as SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT, U as URL_SORT_ORDERS, u as useRestoreScrollPosition, e as TABLE_DEFAULT_HEADER_HEIGHT, f as TableInfoPane } from './index-CJiULAZF.js'; import { Resizable as Resizable$1 } from 'react-resizable'; import '@babel/runtime/helpers/classCallCheck'; import '@babel/runtime/helpers/createClass'; import 'qs'; import './index-DyUNP5G9.js'; import 'i18next'; import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray'; import DownArrow from '@bigbinary/neeto-icons/DownArrow'; import UpArrow from '@bigbinary/neeto-icons/UpArrow'; import InfoRound from '@bigbinary/neeto-icons/InfoRound'; import Popover from './Popover.js'; import Spinner from './Spinner.js'; import 'antd/locale/de_DE'; import 'antd/locale/en_US'; import 'antd/locale/es_ES'; import 'antd/locale/fr_FR'; import 'antd/locale/nl_NL'; import 'antd/locale/pl_PL'; import 'antd/locale/pt_PT'; import './en-DVlE9xuu.js'; import './Tooltip.js'; import '@tippyjs/react'; import 'tippy.js'; import './usePrefersReducedMotion-n4ZJtExQ.js'; import 'dayjs'; import 'dayjs/plugin/localeData'; import 'dayjs/plugin/utc'; import 'dayjs/plugin/weekday'; import 'dayjs/plugin/weekOfYear'; import '@bigbinary/neeto-icons/Clock'; import './Accordion.js'; import 'framer-motion'; import './ActionDropdown.js'; import './Dropdown.js'; import '@bigbinary/neeto-icons/Down'; import './useId-Jj9hXm-g.js'; import './Textarea-D-SsRQdG.js'; import './Label.js'; import '@bigbinary/neeto-icons/Help'; import './Modal.js'; import '@bigbinary/neeto-icons/Close'; import './Portal-BtNxscfP.js'; import '@babel/runtime/helpers/esm/extends'; import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose'; import '@babel/runtime/helpers/esm/inheritsLoose'; import 'react-dom'; import 'avvvatars-react'; import './Checkbox.js'; import '@babel/runtime/helpers/asyncToGenerator'; import '@babel/runtime/regenerator'; import '@bigbinary/neeto-icons/ColorPicker'; import 'react-colorful'; import './useRecentlyUsedColors-D3yg0Xpp.js'; import 'antd/lib/date-picker'; import '@bigbinary/neeto-icons/Calendar'; import './Input.js'; import './MultiEmailInput.js'; import './react-select-creatable.esm-opiJTCqo.js'; import '@babel/runtime/helpers/esm/objectSpread2'; import '@babel/runtime/helpers/esm/classCallCheck'; import '@babel/runtime/helpers/esm/createClass'; import '@babel/runtime/helpers/esm/inherits'; import '@babel/runtime/helpers/esm/createSuper'; import '@babel/runtime/helpers/esm/toConsumableArray'; import '@babel/runtime/helpers/extends'; import '@babel/runtime/helpers/esm/taggedTemplateLiteral'; import '@babel/runtime/helpers/esm/objectWithoutProperties'; import '@babel/runtime/helpers/esm/slicedToArray'; import '@babel/runtime/helpers/esm/typeof'; import '@babel/runtime/helpers/esm/defineProperty'; import '@babel/runtime/helpers/objectSpread2'; import '@babel/runtime/helpers/inherits'; import '@babel/runtime/helpers/createSuper'; import '@babel/runtime/helpers/taggedTemplateLiteral'; import '@babel/runtime/helpers/typeof'; import '@babel/runtime/helpers/toArray'; import './Tag.js'; import './Pane.js'; import './Radio.js'; import 'antd/lib/slider'; import './Switch.js'; import '@bigbinary/neeto-icons/Check'; import './Tab.js'; import '@bigbinary/neeto-icons/Ascending'; import '@bigbinary/neeto-icons/Descending'; import '@bigbinary/neeto-icons/Pin'; import '@bigbinary/neeto-icons/ColumnToLeft'; import '@bigbinary/neeto-icons/ColumnToRight'; import '@bigbinary/neeto-icons/Hide'; import 'zustand'; import './Toastr.js'; import '@bigbinary/neeto-icons/CheckCircle'; import '@bigbinary/neeto-icons/Warning'; import '@bigbinary/neeto-icons/Info'; import 'react-toastify'; import 'linkify-react'; import 'antd/lib/tree'; import './TreeSelect.js'; import 'antd/lib/tree-select'; import './Select.js'; var useTimeout = function useTimeout(callback, delay) { var savedCallback = useRef(callback); useEffect(function () { savedCallback.current = callback; }, [callback]); useEffect(function () { var id = setTimeout(function () { return savedCallback.current(); }, delay); return function () { return clearTimeout(id); }; }, [delay]); }; function ownKeys$9(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var AllRowsSelectedCallout = function AllRowsSelectedCallout(_ref) { var calloutProps = _ref.calloutProps, onClearSelection = _ref.onClearSelection, allRowsSelectedMessage = _ref.allRowsSelectedMessage, clearSelectionButtonLabel = _ref.clearSelectionButtonLabel; var _useTranslation = useTranslation(), t = _useTranslation.t, i18n = _useTranslation.i18n; return /*#__PURE__*/jsx(Callout, _objectSpread$9(_objectSpread$9({ className: "my-2" }, calloutProps), {}, { "data-testid": "clear-selections-callout", children: /*#__PURE__*/jsxs("div", { className: "neeto-ui-flex neeto-ui-gap-3", children: [/*#__PURE__*/jsx(Typography, { style: "body2", children: allRowsSelectedMessage || getLocale(i18n, t, "neetoui.table.allRowsSelected") }), /*#__PURE__*/jsx(Button, { "data-testid": "clear-selections-button", style: "link", label: clearSelectionButtonLabel || getLocale(i18n, t, "neetoui.table.clearSelection"), onClick: onClearSelection })] }) })); }; function ownKeys$8(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var SelectAllRowsCallout = function SelectAllRowsCallout(_ref) { var calloutProps = _ref.calloutProps, onBulkSelectAllRows = _ref.onBulkSelectAllRows, selectAllRowButtonLabel = _ref.selectAllRowButtonLabel, selectAllRowMessage = _ref.selectAllRowMessage; return /*#__PURE__*/jsx(Callout, _objectSpread$8(_objectSpread$8({ className: "my-2" }, calloutProps), {}, { "data-testid": "select-all-rows-callout", children: /*#__PURE__*/jsxs("div", { className: "neeto-ui-flex neeto-ui-gap-3", children: [/*#__PURE__*/jsx(Typography, { style: "body2", children: selectAllRowMessage }), /*#__PURE__*/jsx(Button, { "data-testid": "select-all-rows-button", label: selectAllRowButtonLabel, style: "link", onClick: onBulkSelectAllRows })] }) })); }; var useLocalStorage = function useLocalStorage(key, defaultValue) { var _useState = useState(function () { return getFromLocalStorage(key, defaultValue); }), _useState2 = _slicedToArray(_useState, 2), storedValue = _useState2[0], setStoredValue = _useState2[1]; var setValue = function setValue(value) { return setStoredValue(function (prevStoredValue) { var newValue = typeof value === "function" ? value(prevStoredValue) : value; if (isNil(newValue)) { removeFromLocalStorage(key); } else { setToLocalStorage(key, newValue); } return newValue; }); }; return [storedValue, setValue]; }; var _excluded$6 = ["children", "isSortable", "isAddEnabled", "sortedInfo", "onSort", "isHidable", "isDeletable", "isFixedColumn", "isColumnFreezeEnabled", "isMoveToLeftEnabled", "isMoveToRightEnabled", "onColumnHide", "onColumnUpdate", "onAddColumn", "onColumnDelete", "onColumnFreeze", "onMoreActionClick", "column", "moreActions"]; function ownKeys$7(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var CellContent = function CellContent(_ref) { var children = _ref.children, isSortable = _ref.isSortable, isAddEnabled = _ref.isAddEnabled, sortedInfo = _ref.sortedInfo, onSort = _ref.onSort, _ref$isHidable = _ref.isHidable, isHidable = _ref$isHidable === void 0 ? true : _ref$isHidable, _ref$isDeletable = _ref.isDeletable, isDeletable = _ref$isDeletable === void 0 ? false : _ref$isDeletable, isFixedColumn = _ref.isFixedColumn, isColumnFreezeEnabled = _ref.isColumnFreezeEnabled, isMoveToLeftEnabled = _ref.isMoveToLeftEnabled, isMoveToRightEnabled = _ref.isMoveToRightEnabled, onColumnHide = _ref.onColumnHide, onColumnUpdate = _ref.onColumnUpdate, onAddColumn = _ref.onAddColumn, onColumnDelete = _ref.onColumnDelete, onColumnFreeze = _ref.onColumnFreeze, onMoreActionClick = _ref.onMoreActionClick, column = _ref.column, _ref$moreActions = _ref.moreActions, moreActions = _ref$moreActions === void 0 ? [] : _ref$moreActions, headerProps = _objectWithoutProperties(_ref, _excluded$6); var isColumnHidable = isHidable && isPresent(onColumnHide); var isColumnDeletable = isDeletable && isPresent(onColumnDelete); var hasMoreActions = !isEmpty(moreActions) && isPresent(onMoreActionClick); var hasMoreMenu = isSortable || isColumnHidable || isAddEnabled || hasMoreActions || isPresent(column) && isColumnFreezeEnabled; return /*#__PURE__*/jsx("th", _objectSpread$7(_objectSpread$7({}, headerProps), {}, { title: "", onClick: isSortable ? noop : headerProps.onClick, children: /*#__PURE__*/jsxs("div", { className: "neeto-ui-flex neeto-ui-items-center neeto-ui-justify-between", "data-testid": "".concat(hyphenize(headerProps.title), "-header-title"), children: [/*#__PURE__*/jsx("div", { className: "neeto-ui-min-w-0 neeto-ui-flex-grow neeto-ui-truncate neeto-ui-table__column-title-content", children: children }), hasMoreMenu && /*#__PURE__*/jsx(HeaderCellMenu, { column: column, hasMoreActions: hasMoreActions, isAddEnabled: isAddEnabled, isColumnDeletable: isColumnDeletable, isColumnFreezeEnabled: isColumnFreezeEnabled, isFixedColumn: isFixedColumn, isMoveToLeftEnabled: isMoveToLeftEnabled, isMoveToRightEnabled: isMoveToRightEnabled, isSortable: isSortable, moreActions: moreActions, onAddColumn: onAddColumn, onColumnDelete: onColumnDelete, onColumnFreeze: onColumnFreeze, onColumnHide: onColumnHide, onColumnUpdate: onColumnUpdate, onMoreActionClick: onMoreActionClick, onSort: onSort, sortedInfo: sortedInfo, isHidable: isColumnHidable })] }) })); }; var CellContent$1 = /*#__PURE__*/React__default.memo(CellContent); var _excluded$5 = ["resizeHandles"]; function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var rtlResizeHandles = ["w"]; var Resizable = function Resizable(_ref) { var resizeHandles = _ref.resizeHandles, rest = _objectWithoutProperties(_ref, _excluded$5); return /*#__PURE__*/jsx(Resizable$1, _objectSpread$6(_objectSpread$6({}, rest), {}, { resizeHandles: getContentDir() === "rtl" ? rtlResizeHandles : resizeHandles })); }; var _excluded$4 = ["onResize", "width", "onResizeStop", "className"]; function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var HeaderCell = function HeaderCell(props) { var onResize = props.onResize, width = props.width, onResizeStop = props.onResizeStop, className = props.className, restProps = _objectWithoutProperties(props, _excluded$4); if (!width) { return /*#__PURE__*/jsx(CellContent$1, _objectSpread$5(_objectSpread$5({}, restProps), {}, { className: classnames(className, "drag-handler") })); } return /*#__PURE__*/jsx(Resizable, { onResize: onResize, onResizeStop: onResizeStop, width: width, draggableOpts: { enableUserSelectHack: false }, height: 0, handle: /*#__PURE__*/jsx("span", { className: "react-resizable-handle", onClick: function onClick(e) { return e.stopPropagation(); } }), onResizeStart: function onResizeStart(e) { e.preventDefault(); }, children: /*#__PURE__*/jsx(CellContent$1, _objectSpread$5(_objectSpread$5({}, restProps), {}, { className: classnames(className, "drag-handler") })) }); }; var HeaderCell$1 = /*#__PURE__*/React__default.memo(HeaderCell); var _excluded$3 = ["onResize", "width", "onResizeStop", "onResizeStart"]; function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var ResizableHeaderCell = function ResizableHeaderCell(props) { var onResize = props.onResize, width = props.width, _onResizeStop = props.onResizeStop, _onResizeStart = props.onResizeStart, restProps = _objectWithoutProperties(props, _excluded$3); var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isResizing = _useState2[0], setIsResizing = _useState2[1]; if (!width) { return /*#__PURE__*/jsx(CellContent$1, _objectSpread$4({}, restProps)); } return /*#__PURE__*/jsx(Resizable, _defineProperty(_defineProperty({ onResize: onResize, onResizeStop: _onResizeStop, width: width, draggableOpts: { enableUserSelectHack: false }, height: 0, handle: /*#__PURE__*/jsx("span", { className: classnames("react-resizable-handle", { "react-resizable-handle--resizing": isResizing }), onClick: function onClick(e) { return e.stopPropagation(); }, children: /*#__PURE__*/jsx("span", { className: "neeto-ui-table-react-resizable-handle__inner" }) }), onResizeStart: function onResizeStart(e, data) { e.preventDefault(); setIsResizing(true); _onResizeStart === null || _onResizeStart === void 0 ? void 0 : _onResizeStart(e, data); } }, "onResizeStop", function onResizeStop(e, data) { setIsResizing(false); _onResizeStop === null || _onResizeStop === void 0 ? void 0 : _onResizeStop(e, data); }), "children", /*#__PURE__*/jsx(CellContent$1, _objectSpread$4({}, restProps)))); }; var ResizableHeaderCell$1 = /*#__PURE__*/React__default.memo(ResizableHeaderCell); var _excluded$2 = ["className"]; function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var ReorderableHeaderCell = function ReorderableHeaderCell(_ref) { var className = _ref.className, props = _objectWithoutProperties(_ref, _excluded$2); return /*#__PURE__*/jsx(CellContent$1, _objectSpread$3(_objectSpread$3({}, props), {}, { className: classnames(className, "drag-handler") })); }; var convertLocationPathnameToId = function convertLocationPathnameToId() { var pathname = decodeURIComponent(window.location.pathname).replace(/^\//, ""); var hash = 0; for (var i = 0; i < pathname.length; i++) { var _char = pathname.charCodeAt(i); hash = (hash << 5) - hash + _char; hash = hash & hash; // Convert to 32-bit integer } return Math.abs(hash).toString(16).toUpperCase(); }; var getHeaderCell = function getHeaderCell(_ref) { var enableColumnResize = _ref.enableColumnResize, enableColumnReorder = _ref.enableColumnReorder; if (enableColumnReorder && enableColumnResize) return { cell: HeaderCell$1 }; if (enableColumnResize) return { cell: ResizableHeaderCell$1 }; if (enableColumnReorder) return { cell: ReorderableHeaderCell }; return { cell: CellContent$1 }; }; var isIncludedIn = function isIncludedIn(array1, array2) { return all(includes(__, array1), array2); }; var getSelectAllRowsCalloutHeight = function getSelectAllRowsCalloutHeight() { return window.innerWidth < 768 ? SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT : SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT; }; var sortFrozenColumns = function sortFrozenColumns(columnData) { var originalIndices = new Map(columnData.map(function (col, index) { return [col.dataIndex, index]; })); return function (a, b) { var aFixed = isPresent(a.fixed); var bFixed = isPresent(b.fixed); var aIndex = originalIndices.get(a.dataIndex); var bIndex = originalIndices.get(b.dataIndex); if (aFixed !== bFixed) return aFixed ? -1 : 1; return aIndex - bIndex; }; }; var getFixedColumns = function getFixedColumns(columnData) { return pipe(filter(function (_ref2) { var fixed = _ref2.fixed; return isPresent(fixed); }), pluck("dataIndex"))(columnData); }; var getColumnSortOrder = function getColumnSortOrder(col, sortedInfo) { return equals(sortedInfo.field, col.dataIndex) || equals(sortedInfo.field, col.key) ? sortedInfo.order : null; }; var getColumFixedValue = function getColumFixedValue(col, frozenColumns) { return (frozenColumns === null || frozenColumns === void 0 ? void 0 : frozenColumns.indexOf(col.dataIndex)) !== -1 ? COLUMN_FIXED_VALUES.LEFT : null; }; var getFrozenColumnsLocalStorageKey = function getFrozenColumnsLocalStorageKey(localStorageKeyPrefix) { var prefix = isPresent(localStorageKeyPrefix) ? localStorageKeyPrefix : convertLocationPathnameToId(); return "NEETOUI-".concat(prefix, "-FIXED_COLUMNS"); }; var getSortInfoFromQueryParams = function getSortInfoFromQueryParams(queryParams) { var sortedInfo = {}; if (isPresent(queryParams.sort_by) && isPresent(queryParams.order_by) && isPresent(TABLE_SORT_ORDERS[queryParams.order_by])) { sortedInfo.field = queryParams.sort_by.includes("+") ? queryParams.sort_by.split("+").map(snakeToCamelCase) : snakeToCamelCase(queryParams.sort_by); sortedInfo.order = TABLE_SORT_ORDERS[queryParams.order_by]; } return sortedInfo; }; var getSortField = function getSortField(field) { if (Array.isArray(field)) { return field.map(camelToSnakeCase).join("+"); } return camelToSnakeCase(field); }; var calculateRowsPerPage = function calculateRowsPerPage() { var viewportHeight = window.innerHeight; var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3); return Math.ceil(rowsPerPage / 10) * 10; }; var filterVisibleColumns = function filterVisibleColumns(columns) { return columns.filter(function (col) { return col.hidden !== true && col.isShown !== false; }); }; var useReorderColumns = function useReorderColumns(_ref) { var isEnabled = _ref.isEnabled, columns = _ref.columns, setColumns = _ref.setColumns, onColumnUpdateWithChanges = _ref.onColumnUpdateWithChanges, rowSelection = _ref.rowSelection; if (!isEnabled) return { dragProps: {}, columns: columns }; var isColumnFixed = function isColumnFixed(column) { return !!column.fixed; }; var dragProps = { onDragEnd: function onDragEnd(fromIndex, toIndex) { if (rowSelection) { fromIndex--; toIndex--; } if (fromIndex < 0 || toIndex < 0 || fromIndex === toIndex) return; var visibleColumns = filterVisibleColumns(columns); var fromColumn = visibleColumns[fromIndex]; var toColumn = visibleColumns[toIndex]; if (!fromColumn || !toColumn) return;else if (isColumnFixed(fromColumn) || isColumnFixed(toColumn)) return; var fromColumnActualIndex = columns.indexOf(fromColumn); var toColumnActualIndex = columns.indexOf(toColumn); if (fromColumnActualIndex < 0 || toColumnActualIndex < 0) return; var newColumns = move(fromColumnActualIndex, toColumnActualIndex, columns); setColumns(newColumns); onColumnUpdateWithChanges(newColumns); }, nodeSelector: "th:not(.ant-table-cell-fix-left):not(.ant-table-cell-scrollbar)", handleSelector: ".drag-handler", ignoreSelector: ".react-resizable-handle" }; return { dragProps: dragProps, columns: columns }; }; var SortIcon = function SortIcon(_ref) { var sortOrder = _ref.sortOrder; if (sortOrder === TABLE_SORT_ORDERS.asc || sortOrder === URL_SORT_ORDERS.ascend) { return /*#__PURE__*/jsx(UpArrow, { size: 14 }); } if (sortOrder === TABLE_SORT_ORDERS.desc || sortOrder === URL_SORT_ORDERS.descend) { return /*#__PURE__*/jsx(DownArrow, { size: 14 }); } return null; }; var _excluded$1 = ["title", "description"]; var TitleWithInfoIcon = function TitleWithInfoIcon(_ref) { var title = _ref.title, description = _ref.description, rest = _objectWithoutProperties(_ref, _excluded$1); var popoverRef = useRef(); return /*#__PURE__*/jsxs("span", { className: "neeto-ui-pr-5 relative", children: [typeof title === "function" ? title(rest) : title, description && /*#__PURE__*/jsxs(Fragment, { children: [/*#__PURE__*/jsx("span", { className: "neeto-ui-table__column-title-info-icon", ref: popoverRef, children: /*#__PURE__*/jsx(InfoRound, { color: "currentColor", size: 14 }) }), /*#__PURE__*/jsx(Popover, { appendTo: function appendTo() { return document.body; }, position: "bottom", reference: popoverRef, children: /*#__PURE__*/jsx(Typography, { lineHeight: "normal", style: "body2", children: description }) })] })] }); }; var TitleWithInfoIcon$1 = /*#__PURE__*/React__default.memo(TitleWithInfoIcon); function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var useResizableColumns = function useResizableColumns(_ref) { var columns = _ref.columns, columnData = _ref.columnData, frozenColumns = _ref.frozenColumns, setColumns = _ref.setColumns, isEnabled = _ref.isEnabled, isAddEnabled = _ref.isAddEnabled, isColumnFreezeEnabled = _ref.isColumnFreezeEnabled, onColumnAdd = _ref.onColumnAdd, onColumnUpdate = _ref.onColumnUpdate, onColumnUpdateWithChanges = _ref.onColumnUpdateWithChanges, onColumnDelete = _ref.onColumnDelete, handleSort = _ref.handleSort, sortedInfo = _ref.sortedInfo, onColumnHide = _ref.onColumnHide, onColumnFreeze = _ref.onColumnFreeze, onMoreActionClick = _ref.onMoreActionClick, tableOnChangeProps = _ref.tableOnChangeProps; var handleResize = function handleResize(index) { return function (_, _ref2) { var size = _ref2.size; var nextColumns = _toConsumableArray(columns); nextColumns[index] = _objectSpread$2(_objectSpread$2({}, nextColumns[index]), {}, { width: size.width }); setColumns(nextColumns); }; }; var computedColumnsData = useMemo(function () { return columns.map(function (col, index) { var fixed = getColumFixedValue(col, frozenColumns); var lastColProps = {}; // This configuration allows more flexibility in resizing of other columns. if (index >= columns.length - 1) { lastColProps.width = undefined; lastColProps.onCell = function () { return { style: { minWidth: col.width } }; }; } var modifiedColumn = _objectSpread$2(_objectSpread$2(_objectSpread$2({}, col), lastColProps), {}, { onHeaderCell: function onHeaderCell(column) { return { width: col.width, onColumnUpdate: onColumnUpdate, onResize: isEnabled ? handleResize(index) : noop, onResizeStop: function onResizeStop() { return isEnabled ? onColumnUpdateWithChanges(columns) : noop; }, isSortable: isPresent(col.sorter), onSort: handleSort, sortedInfo: sortedInfo, onColumnHide: onColumnHide, onColumnFreeze: onColumnFreeze, onMoreActionClick: onMoreActionClick, isMoveToLeftEnabled: index > 0, isMoveToRightEnabled: index < columns.length - 1, isColumnFreezeEnabled: isColumnFreezeEnabled, isAddEnabled: isAddEnabled && !fixed, onAddColumn: function onAddColumn(positionOffset) { return onColumnAdd(index + positionOffset); }, isFixedColumn: !!fixed, onColumnDelete: onColumnDelete, isHidable: col.isHidable, isDeletable: col.isDeletable, moreActions: col.moreActions, column: col, "data-text-align": column.align }; }, sortIcon: SortIcon, sortOrder: getColumnSortOrder(col, sortedInfo), fixed: fixed, title: col.description ? function (props) { return /*#__PURE__*/jsx(TitleWithInfoIcon$1, _objectSpread$2(_objectSpread$2({}, props), {}, { description: col.description, title: col.title })); } : col.title }); if (!has("ellipsis", col)) modifiedColumn.ellipsis = true; return modifiedColumn; }).sort(sortFrozenColumns(columnData)); }, [columns, sortedInfo, tableOnChangeProps, onColumnFreeze, frozenColumns, columnData]); return { columns: computedColumnsData }; }; function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var useColumns = function useColumns(_ref) { var columns = _ref.columns, columnData = _ref.columnData, setColumns = _ref.setColumns, isResizeEnabled = _ref.isResizeEnabled, isReorderEnabled = _ref.isReorderEnabled, isAddEnabled = _ref.isAddEnabled, isColumnFreezeEnabled = _ref.isColumnFreezeEnabled, onColumnAdd = _ref.onColumnAdd, onColumnUpdate = _ref.onColumnUpdate, onColumnUpdateWithChanges = _ref.onColumnUpdateWithChanges, onColumnDelete = _ref.onColumnDelete, rowSelection = _ref.rowSelection, sortedInfo = _ref.sortedInfo, setSortedInfo = _ref.setSortedInfo, onColumnHide = _ref.onColumnHide, onMoreActionClick = _ref.onMoreActionClick, onTableChange = _ref.onTableChange, tableOnChangeProps = _ref.tableOnChangeProps, handleTableSortChange = _ref.handleTableSortChange, isDefaultPageChangeHandler = _ref.isDefaultPageChangeHandler, localStorageKeyPrefix = _ref.localStorageKeyPrefix; var _useLocalStorage = useLocalStorage(getFrozenColumnsLocalStorageKey(localStorageKeyPrefix)), _useLocalStorage2 = _slicedToArray(_useLocalStorage, 2), frozenColumns = _useLocalStorage2[0], setFrozenColumns = _useLocalStorage2[1]; var onColumnFreeze = useCallback(function (isFixedColumn, _ref2) { var dataIndex = _ref2.dataIndex; var updatedColumns = isFixedColumn ? without([dataIndex], frozenColumns) : append(dataIndex, frozenColumns); setFrozenColumns(updatedColumns); }, [frozenColumns, setFrozenColumns]); useEffect(function () { if (isEmpty(columnData) || frozenColumns) return; var fixedCols = getFixedColumns(columnData); setFrozenColumns(fixedCols); }, [columnData, setFrozenColumns]); var _useReorderColumns = useReorderColumns({ isEnabled: isReorderEnabled, columns: columns, setColumns: setColumns, onColumnUpdateWithChanges: onColumnUpdateWithChanges, rowSelection: rowSelection }), dragProps = _useReorderColumns.dragProps; var handleSort = function handleSort(sorter) { var _tableOnChangeProps$c, _tableOnChangeProps$c2, _tableOnChangeProps$c3; var newSortedInfo = _objectSpread$1({}, sorter); if (equals(props(["field", "order"], newSortedInfo), props(["field", "order"], sortedInfo))) { newSortedInfo = { field: null, order: null, column: null, columnKey: null }; } setSortedInfo(newSortedInfo); onTableChange === null || onTableChange === void 0 ? void 0 : onTableChange(((_tableOnChangeProps$c = tableOnChangeProps.current) === null || _tableOnChangeProps$c === void 0 ? void 0 : _tableOnChangeProps$c.pagination) || {}, ((_tableOnChangeProps$c2 = tableOnChangeProps.current) === null || _tableOnChangeProps$c2 === void 0 ? void 0 : _tableOnChangeProps$c2.filters) || {}, _objectSpread$1({}, newSortedInfo)); isDefaultPageChangeHandler && handleTableSortChange(((_tableOnChangeProps$c3 = tableOnChangeProps.current) === null || _tableOnChangeProps$c3 === void 0 ? void 0 : _tableOnChangeProps$c3.pagination) || {}, newSortedInfo); }; var _useResizableColumns = useResizableColumns({ columns: columns, columnData: columnData, frozenColumns: frozenColumns, setColumns: setColumns, isEnabled: isResizeEnabled, isAddEnabled: isAddEnabled, isColumnFreezeEnabled: isColumnFreezeEnabled, onColumnAdd: onColumnAdd, onColumnUpdate: onColumnUpdate, onColumnUpdateWithChanges: onColumnUpdateWithChanges, onColumnDelete: onColumnDelete, handleSort: handleSort, sortedInfo: sortedInfo, onColumnHide: onColumnHide, onMoreActionClick: onMoreActionClick, tableOnChangeProps: tableOnChangeProps, onColumnFreeze: onColumnFreeze }), computedColumnsData = _useResizableColumns.columns; return { dragProps: dragProps, columns: computedColumnsData }; }; var useScroll = function useScroll(_ref) { var fixedHeight = _ref.fixedHeight, enableColumnReorder = _ref.enableColumnReorder, loading = _ref.loading, otherProps = _ref.otherProps, rowData = _ref.rowData, pageSize = _ref.pageSize, shouldShowSelectAllRowsCallout = _ref.shouldShowSelectAllRowsCallout, shouldShowAllRowsSelectedCallout = _ref.shouldShowAllRowsSelectedCallout, headerHeight = _ref.headerHeight; var _useState = useState(0), _useState2 = _slicedToArray(_useState, 2), containerHeight = _useState2[0], setContainerHeight = _useState2[1]; var resizeObserver = useRef(new ResizeObserver(function (_ref2) { var _ref3 = _slicedToArray(_ref2, 1), entry = _ref3[0]; return setContainerHeight(entry.contentRect.height); })); var scrollRef = useRef(null); var tableRef = useCallback(function (table) { scrollRef.current = table; if (!fixedHeight) return; var observer = resizeObserver.current; if (table !== null) { var _table$parentNode; var targetNode = enableColumnReorder ? table === null || table === void 0 ? 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; observer.observe(targetNode); } else if (observer) { observer.disconnect(); } }, [resizeObserver.current, fixedHeight, enableColumnReorder]); var _useRestoreScrollPosi = useRestoreScrollPosition({ tableRef: tableRef, scrollRef: scrollRef, loading: loading }), handleScroll = _useRestoreScrollPosi.handleScroll; var calculateTableContainerHeight = function calculateTableContainerHeight() { var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize; var selectAllRowsCalloutHeight = 0; if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) { selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight(); } return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight; }; return { tableRef: tableRef, tableContainerRef: null, handleScroll: handleScroll, calculatedScroll: { x: "max-content", y: calculateTableContainerHeight() } }; }; var useTableSort = function useTableSort() { var queryParams = useQueryParams(); var _useState = useState(function () { return getSortInfoFromQueryParams(queryParams); }), _useState2 = _slicedToArray(_useState, 2), sortedInfo = _useState2[0], setSortedInfo = _useState2[1]; useEffect(function () { setSortedInfo(getSortInfoFromQueryParams(queryParams)); }, [queryParams === null || queryParams === void 0 ? void 0 : queryParams.sort_by, queryParams === null || queryParams === void 0 ? void 0 : queryParams.order_by]); var history = useHistory(); var handleTableChange = function handleTableChange(pagination, sorter) { var params = { sort_by: sorter.order ? getSortField(sorter.field) : undefined, order_by: URL_SORT_ORDERS[sorter.order], page: pagination.current }; var pathname = window.location.pathname; history.push(buildUrl(pathname, mergeLeft(params, queryParams))); }; return { handleTableChange: handleTableChange, sortedInfo: sortedInfo, setSortedInfo: setSortedInfo }; }; var useVirtualScroll = function useVirtualScroll(_ref) { var otherProps = _ref.otherProps, rowData = _ref.rowData, pageSize = _ref.pageSize, shouldShowSelectAllRowsCallout = _ref.shouldShowSelectAllRowsCallout, shouldShowAllRowsSelectedCallout = _ref.shouldShowAllRowsSelectedCallout, headerHeight = _ref.headerHeight; var _useState = useState({ top: 0, left: 0 }), _useState2 = _slicedToArray(_useState, 2), containerRect = _useState2[0], setContainerRect = _useState2[1]; var tableContainerRef = useRef(null); useEffect(function () { var updateContainerRect = function updateContainerRect() { if (!tableContainerRef.current) return; var rect = tableContainerRef.current.getBoundingClientRect(); setContainerRect(rect); }; updateContainerRect(); window.addEventListener("scroll", updateContainerRect); window.addEventListener("resize", updateContainerRect); return function () { window.removeEventListener("scroll", updateContainerRect); window.removeEventListener("resize", updateContainerRect); }; }, []); var calculateTableContainerHeight = function calculateTableContainerHeight() { var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize; var selectAllRowsCalloutHeight = 0; if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) { selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight(); } var containerHeight = window.innerHeight - containerRect.top; return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight; }; return { tableRef: null, tableContainerRef: tableContainerRef, handleScroll: noop, calculatedScroll: { x: window.innerWidth - (containerRect === null || containerRect === void 0 ? void 0 : containerRect.left), y: calculateTableContainerHeight() } }; }; 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"]; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var Table = function Table(_ref) { var _ref$allowRowClick = _ref.allowRowClick, allowRowClick = _ref$allowRowClick === void 0 ? true : _ref$allowRowClick, _ref$enableColumnResi = _ref.enableColumnResize, enableColumnResize = _ref$enableColumnResi === void 0 ? true : _ref$enableColumnResi, _ref$enableColumnReor = _ref.enableColumnReorder, enableColumnReorder = _ref$enableColumnReor === void 0 ? false : _ref$enableColumnReor, _ref$enableColumnFree = _ref.enableColumnFreeze, enableColumnFreeze = _ref$enableColumnFree === void 0 ? true : _ref$enableColumnFree, _ref$enableAddColumn = _ref.enableAddColumn, enableAddColumn = _ref$enableAddColumn === void 0 ? false : _ref$enableAddColumn, _ref$className = _ref.className, className = _ref$className === void 0 ? "" : _ref$className, _ref$columnData = _ref.columnData, columnData = _ref$columnData === void 0 ? [] : _ref$columnData, _ref$currentPageNumbe = _ref.currentPageNumber, currentPageNumber = _ref$currentPageNumbe === void 0 ? 1 : _ref$currentPageNumbe, _ref$defaultPageSize = _ref.defaultPageSize, defaultPageSize = _ref$defaultPageSize === void 0 ? 30 : _ref$defaultPageSize, _ref$handlePageChange = _ref.handlePageChange, handlePageChange = _ref$handlePageChange === void 0 ? noop$1 : _ref$handlePageChange, _ref$loading = _ref.loading, loading = _ref$loading === void 0 ? false : _ref$loading, onRowClick = _ref.onRowClick, onRowSelect = _ref.onRowSelect, _ref$rowData = _ref.rowData, rowData = _ref$rowData === void 0 ? [] : _ref$rowData, _ref$totalCount = _ref.totalCount, totalCount = _ref$totalCount === void 0 ? 0 : _ref$totalCount, _ref$selectedRowKeys = _ref.selectedRowKeys, initialSelectedRowKeys = _ref$selectedRowKeys === void 0 ? [] : _ref$selectedRowKeys, _ref$fixedHeight = _ref.fixedHeight, fixedHeight = _ref$fixedHeight === void 0 ? false : _ref$fixedHeight, _ref$paginationProps = _ref.paginationProps, paginationProps = _ref$paginationProps === void 0 ? {} : _ref$paginationProps, _ref$rowKey = _ref.rowKey, rowKey = _ref$rowKey === void 0 ? "id" : _ref$rowKey, scroll = _ref.scroll, rowSelection = _ref.rowSelection, _ref$shouldDynamicall = _ref.shouldDynamicallyRenderRowSize, shouldDynamicallyRenderRowSize = _ref$shouldDynamicall === void 0 ? false : _ref$shouldDynamicall, _ref$bordered = _ref.bordered, bordered = _ref$bordered === void 0 ? true : _ref$bordered, onColumnUpdate = _ref.onColumnUpdate, _ref$components = _ref.components, components = _ref$components === void 0 ? {} : _ref$components, onColumnHide = _ref.onColumnHide, _ref$onColumnAdd = _ref.onColumnAdd, onColumnAdd = _ref$onColumnAdd === void 0 ? noop$1 : _ref$onColumnAdd, onColumnDelete = _ref.onColumnDelete, onChange = _ref.onChange, onMoreActionClick = _ref.onMoreActionClick, bulkSelectAllRowsProps = _ref.bulkSelectAllRowsProps, localStorageKeyPrefix = _ref.localStorageKeyPrefix, _ref$virtual = _ref.virtual, virtual = _ref$virtual === void 0 ? false : _ref$virtual, otherProps = _objectWithoutProperties(_ref, _excluded); var _useTranslation = useTranslation(), i18n = _useTranslation.i18n; var _useState = useState(TABLE_DEFAULT_HEADER_HEIGHT), _useState2 = _slicedToArray(_useState, 2), headerHeight = _useState2[0], setHeaderHeight = _useState2[1]; var _useState3 = useState(columnData), _useState4 = _slicedToArray(_useState3, 2), columns = _useState4[0], setColumns = _useState4[1]; var _useState5 = useState(false), _useState6 = _slicedToArray(_useState5, 2), bulkSelectedAllRows = _useState6[0], setBulkSelectedAllRows = _useState6[1]; var _useState7 = useState({}), _useState8 = _slicedToArray(_useState7, 2), columnChanges = _useState8[0], setColumnChanges = _useState8[1]; var _useTableSort = useTableSort(), handleTableSortChange = _useTableSort.handleTableChange, sortedInfo = _useTableSort.sortedInfo, setSortedInfo = _useTableSort.setSortedInfo; var _ref2 = bulkSelectAllRowsProps !== null && bulkSelectAllRowsProps !== void 0 ? bulkSelectAllRowsProps : {}, handleSetBulkSelectedAllRows = _ref2.setBulkSelectedAllRows; var isDefaultPageChangeHandler = handlePageChange === noop$1; var history = useHistory(); var headerRef = useRef(); var tableOnChangeProps = useRef({}); useTimeout(function () { var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT; setHeaderHeight(headerHeight); }, 10); var onColumnUpdateWithChanges = function onColumnUpdateWithChanges(updatedColumns) { var newChanges = {}; updatedColumns.forEach(function (col) { var originalCol = columnData.find(function (c) { return c.dataIndex === col.dataIndex; }); var changes = {}; if (col.width && col.width !== (originalCol === null || originalCol === void 0 ? void 0 : originalCol.width)) { changes.width = col.width; } if (Object.keys(changes).length > 0) { newChanges[col.dataIndex] = changes; } }); setColumnChanges(function (prev) { return _objectSpread(_objectSpread({}, prev), newChanges); }); onColumnUpdate === null || onColumnUpdate === void 0 ? void 0 : onColumnUpdate(updatedColumns); }; var _useColumns = useColumns({ isReorderEnabled: enableColumnReorder, isResizeEnabled: enableColumnResize, isAddEnabled: enableAddColumn, isColumnFreezeEnabled: enableColumnFreeze, onTableChange: onChange, columns: columns, columnData: columnData, setColumns: setColumns, onColumnUpdate: onColumnUpdate, onColumnUpdateWithChanges: onColumnUpdateWithChanges, rowSelection: rowSelection, sortedInfo: sortedInfo, setSortedInfo: setSortedInfo, onColumnHide: onColumnHide, onMoreActionClick: onMoreActionClick, onColumnAdd: onColumnAdd, onColumnDelete: onColumnDelete, tableOnChangeProps: tableOnChangeProps, handleTableSortChange: handleTableSortChange, isDefaultPageChangeHandler: isDefaultPageChangeHandler, localStorageKeyPrefix: localStorageKeyPrefix }), dragProps = _useColumns.dragProps, curatedColumnsData = _useColumns.columns; var queryParams = useQueryParams(); var setSortFromURL = function setSortFromURL(columnData) { var _queryParams$sort_by; return modifyBy({ dataIndex: snakeToCamelCase((_queryParams$sort_by = queryParams.sort_by) !== null && _queryParams$sort_by !== void 0 ? _queryParams$sort_by : "") }, assoc("sortOrder", TABLE_SORT_ORDERS[queryParams.order_by]), columnData); }; var sortedColumns = isDefaultPageChangeHandler ? setSortFromURL(curatedColumnsData) : curatedColumnsData; var locale = { emptyText: /*#__PURE__*/jsx(Typography, { style: "body2", children: "No Data" }) }; var selectedRowKeys = bulkSelectedAllRows ? pluck(rowKey, rowData) : initialSelectedRowKeys; var showBulkSelectionCallout = useMemo(function () { return isIncludedIn(selectedRowKeys, pluck(rowKey, rowData)) && selectedRowKeys.length !== totalCount && !bulkSelectedAllRows; }, [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]); var shouldShowSelectAllRowsCallout = bulkSelectAllRowsProps && showBulkSe