@bigbinary/neetoui 5.2.44 → 5.2.46

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.
package/index.js CHANGED
@@ -15755,6 +15755,8 @@ var Tooltip = function Tooltip(_ref) {
15755
15755
  };
15756
15756
 
15757
15757
  var _excluded$G = ["icon", "iconPosition", "iconSize", "label", "loading", "onClick", "to", "type", "style", "fullWidth", "className", "disabled", "size", "href", "tooltipProps", "children"];
15758
+ function ownKeys$n(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; }
15759
+ function _objectSpread$m(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$n(Object(source), !0).forEach(function (key) { _defineProperty$7(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$n(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15758
15760
  var BUTTON_STYLES = {
15759
15761
  primary: "primary",
15760
15762
  secondary: "secondary",
@@ -15829,9 +15831,8 @@ var Button = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
15829
15831
  }
15830
15832
  }
15831
15833
  var handleClick = function handleClick(e) {
15832
- if (!loading && !disabled) {
15833
- onClick(e);
15834
- }
15834
+ if (loading || disabled) return;
15835
+ onClick(e);
15835
15836
  };
15836
15837
  var Icon = typeof icon === "string" ? function () {
15837
15838
  return /*#__PURE__*/React__default.createElement("i", {
@@ -15842,8 +15843,6 @@ var Button = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
15842
15843
  return /*#__PURE__*/React__default.createElement(Tooltip, _extends$4({
15843
15844
  disabled: !tooltipProps
15844
15845
  }, tooltipProps), /*#__PURE__*/React__default.createElement(Parent, _extends$4({
15845
- disabled: disabled,
15846
- ref: ref,
15847
15846
  className: classnames$1("neeto-ui-btn", [className], {
15848
15847
  "neeto-ui-btn--style-primary": style === BUTTON_STYLES.primary,
15849
15848
  "neeto-ui-btn--style-secondary": style === BUTTON_STYLES.secondary,
@@ -15859,21 +15858,18 @@ var Button = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
15859
15858
  disabled: disabled
15860
15859
  }),
15861
15860
  onClick: handleClick
15862
- }, elementSpecificProps, otherProps), renderLabel && /*#__PURE__*/React__default.createElement("span", null, renderLabel), /*#__PURE__*/React__default.createElement(AnimatePresence, {
15863
- mode: "wait"
15864
- }, icon ? /* When Icon is present, animate between the icon and the spinner*/
15865
- loading ? /*#__PURE__*/React__default.createElement(Spinner$1, {
15861
+ }, _objectSpread$m(_objectSpread$m({
15862
+ disabled: disabled,
15863
+ ref: ref
15864
+ }, elementSpecificProps), otherProps)), renderLabel && /*#__PURE__*/React__default.createElement("span", null, renderLabel), icon ? loading ? /*#__PURE__*/React__default.createElement(Spinner$1, {
15866
15865
  "aria-hidden": "true",
15867
15866
  className: "neeto-ui-btn__spinner",
15868
- key: "1",
15869
15867
  size: 16
15870
15868
  }) : /*#__PURE__*/React__default.createElement(Icon, {
15871
15869
  "aria-hidden": "true",
15872
15870
  className: "neeto-ui-btn__icon",
15873
- key: "2",
15874
15871
  size: iconSize
15875
- }) : /* When Icon is not present, animate the margin from 0 to the needed value*/
15876
- loading && /*#__PURE__*/React__default.createElement(motion.div, {
15872
+ }) : /*#__PURE__*/React__default.createElement(AnimatePresence, null, loading && /*#__PURE__*/React__default.createElement(motion.div, {
15877
15873
  animate: {
15878
15874
  width: "auto",
15879
15875
  scale: 1
@@ -33809,19 +33805,22 @@ var Table = function Table(_ref) {
33809
33805
  _useState6 = _slicedToArray$2(_useState5, 2),
33810
33806
  columns = _useState6[0],
33811
33807
  setColumns = _useState6[1];
33812
- var isPageChangeHandlerDefault = handlePageChange === noop$3;
33808
+ var isDefaultPageChangeHandler = handlePageChange === noop$3;
33809
+ var history = useHistory();
33813
33810
  var headerRef = useRef();
33814
33811
  var resizeObserver = useRef(new ResizeObserver(function (_ref2) {
33815
33812
  var _ref3 = _slicedToArray$2(_ref2, 1),
33816
- height = _ref3[0].contentRect.height;
33817
- return setContainerHeight(height);
33813
+ entry = _ref3[0];
33814
+ return setContainerHeight(entry.contentRect.height);
33818
33815
  }));
33819
33816
  var tableRef = useCallback(function (table) {
33820
33817
  if (!fixedHeight) return;
33821
33818
  var observer = resizeObserver.current;
33822
33819
  if (table !== null) {
33823
33820
  observer.observe(table === null || table === void 0 ? void 0 : table.parentNode);
33824
- } else if (observer) observer.disconnect();
33821
+ } else if (observer) {
33822
+ observer.disconnect();
33823
+ }
33825
33824
  }, [resizeObserver.current, fixedHeight]);
33826
33825
  useTimeout(function () {
33827
33826
  var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT;
@@ -33852,7 +33851,7 @@ var Table = function Table(_ref) {
33852
33851
  dataIndex: snakeToCamelCase((_queryParams$sort_by = queryParams.sort_by) !== null && _queryParams$sort_by !== void 0 ? _queryParams$sort_by : "")
33853
33852
  }, assoc("sortOrder", TABLE_SORT_ORDERS[queryParams.order_by]), columnData);
33854
33853
  };
33855
- var sortedColumns = isPageChangeHandlerDefault ? setSortFromURL(curatedColumnsData) : curatedColumnsData;
33854
+ var sortedColumns = isDefaultPageChangeHandler ? setSortFromURL(curatedColumnsData) : curatedColumnsData;
33856
33855
  var locale = {
33857
33856
  emptyText: /*#__PURE__*/React__default.createElement(Typography, {
33858
33857
  style: "body2"
@@ -33862,87 +33861,78 @@ var Table = function Table(_ref) {
33862
33861
  return _objectSpread$6(_objectSpread$6({}, sortedColumn), {}, {
33863
33862
  onHeaderCell: function onHeaderCell(column) {
33864
33863
  var _sortedColumn$onHeade;
33865
- var col = (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column);
33866
- return _objectSpread$6(_objectSpread$6({}, col), {}, {
33864
+ return _objectSpread$6(_objectSpread$6({}, (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column)), {}, {
33867
33865
  "data-text-align": column.align
33868
33866
  });
33869
33867
  }
33870
33868
  });
33871
33869
  });
33872
- var isPaginationVisible = otherProps.pagination !== false && rowData.length > defaultPageSize;
33873
- var rowSelectionProps = false;
33874
- if (rowSelection) {
33875
- rowSelectionProps = _objectSpread$6(_objectSpread$6({
33876
- type: "checkbox"
33877
- }, rowSelection), {}, {
33878
- onChange: function onChange(selectedRowKeys, selectedRows) {
33879
- return onRowSelect && onRowSelect(selectedRowKeys, selectedRows);
33880
- },
33881
- selectedRowKeys: selectedRowKeys
33882
- });
33883
- }
33870
+ var rowSelectionProps = rowSelection ? _objectSpread$6(_objectSpread$6({
33871
+ type: "checkbox"
33872
+ }, rowSelection), {}, {
33873
+ onChange: function onChange(selectedRowKeys, selectedRows) {
33874
+ return onRowSelect && onRowSelect(selectedRowKeys, selectedRows);
33875
+ },
33876
+ selectedRowKeys: selectedRowKeys
33877
+ }) : false;
33884
33878
  var reordableHeader = {
33885
33879
  header: {
33886
33880
  cell: enableColumnResize ? enableColumnReorder ? HeaderCell : ResizableHeaderCell : enableColumnReorder ? ReorderableHeaderCell : null
33887
33881
  }
33888
33882
  };
33889
- var componentOverrides = _objectSpread$6(_objectSpread$6({}, components), reordableHeader);
33890
- var calculateTableContainerHeight = function calculateTableContainerHeight() {
33891
- return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0);
33892
- };
33893
- var itemRender = function itemRender(_, type, originalElement) {
33894
- if (type === "prev") {
33895
- return /*#__PURE__*/React__default.createElement(Button, {
33896
- className: "",
33897
- icon: Left,
33898
- size: "small",
33899
- style: "text"
33900
- });
33901
- }
33902
- if (type === "next") {
33903
- return /*#__PURE__*/React__default.createElement(Button, {
33904
- className: "",
33905
- icon: Right,
33906
- size: "small",
33907
- style: "text"
33908
- });
33909
- }
33910
- if (type === "jump-prev") {
33911
- return /*#__PURE__*/React__default.createElement(Button, {
33912
- className: "",
33913
- icon: MenuHorizontal,
33914
- size: "small",
33915
- style: "text"
33916
- });
33917
- }
33918
- if (type === "jump-next") {
33919
- return /*#__PURE__*/React__default.createElement(Button, {
33920
- className: "",
33921
- icon: MenuHorizontal,
33922
- size: "small",
33923
- style: "text"
33924
- });
33925
- }
33926
- return originalElement;
33927
- };
33928
33883
  var calculateRowsPerPage = function calculateRowsPerPage() {
33929
33884
  var viewportHeight = window.innerHeight;
33930
33885
  var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
33931
33886
  return Math.ceil(rowsPerPage / 10) * 10;
33932
33887
  };
33888
+ var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
33889
+ var calculateTableContainerHeight = function calculateTableContainerHeight() {
33890
+ var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
33891
+ return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0);
33892
+ };
33933
33893
  var calculatePageSizeOptions = function calculatePageSizeOptions() {
33934
- var rowsPerPage = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : defaultPageSize;
33935
33894
  return dynamicArray(5, function (index) {
33936
- return (index + 1) * rowsPerPage;
33895
+ return (index + 1) * pageSize;
33937
33896
  });
33938
33897
  };
33898
+ var itemRender = function itemRender(_, type, originalElement) {
33899
+ var commonProps = {
33900
+ size: "small",
33901
+ style: "text"
33902
+ };
33903
+ if (type === "prev") return /*#__PURE__*/React__default.createElement(Button, _extends$4({
33904
+ icon: Left
33905
+ }, commonProps));
33906
+ if (type === "next") return /*#__PURE__*/React__default.createElement(Button, _extends$4({
33907
+ icon: Right
33908
+ }, commonProps));
33909
+ if (type === "jump-prev" || type === "jump-next") {
33910
+ return /*#__PURE__*/React__default.createElement(Button, _extends$4({
33911
+ icon: MenuHorizontal
33912
+ }, commonProps));
33913
+ }
33914
+ return originalElement;
33915
+ };
33916
+ useEffect(function () {
33917
+ var shouldNavigateToLastPage = isEmpty(rowData) && !loading && currentPageNumber !== 1;
33918
+ if (!shouldNavigateToLastPage) return;
33919
+ var lastPage = Math.ceil(totalCount / pageSize);
33920
+ var page = Math.max(1, lastPage);
33921
+ var pathname = window.location.pathname;
33922
+ isDefaultPageChangeHandler ? history.push(buildUrl(pathname, mergeLeft({
33923
+ page: page
33924
+ }, queryParams))) : handlePageChange(page, pageSize);
33925
+ }, [rowData]);
33926
+ useEffect(function () {
33927
+ return setColumns(columnData);
33928
+ }, [columnData]);
33939
33929
  var renderTable = function renderTable() {
33940
33930
  return /*#__PURE__*/React__default.createElement(_Table, _extends$4({
33941
33931
  bordered: bordered,
33942
33932
  loading: loading,
33943
33933
  locale: locale,
33944
33934
  columns: sortedColumnsWithAlignment,
33945
- components: componentOverrides,
33935
+ components: _objectSpread$6(_objectSpread$6({}, components), reordableHeader),
33946
33936
  dataSource: rowData,
33947
33937
  ref: tableRef,
33948
33938
  rowKey: "id",
@@ -33954,7 +33944,7 @@ var Table = function Table(_ref) {
33954
33944
  showSizeChanger: false,
33955
33945
  total: totalCount !== null && totalCount !== void 0 ? totalCount : 0,
33956
33946
  current: currentPageNumber,
33957
- defaultPageSize: shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : defaultPageSize,
33947
+ defaultPageSize: pageSize,
33958
33948
  pageSizeOptions: calculatePageSizeOptions(),
33959
33949
  onChange: handlePageChange,
33960
33950
  itemRender: itemRender
@@ -33967,7 +33957,7 @@ var Table = function Table(_ref) {
33967
33957
  y: calculateTableContainerHeight()
33968
33958
  }, scroll),
33969
33959
  onChange: function onChange(pagination, _, sorter) {
33970
- isPageChangeHandlerDefault && handleTableChange(pagination, sorter);
33960
+ isDefaultPageChangeHandler && handleTableChange(pagination, sorter);
33971
33961
  },
33972
33962
  onHeaderRow: function onHeaderRow() {
33973
33963
  return {
@@ -33987,13 +33977,7 @@ var Table = function Table(_ref) {
33987
33977
  }
33988
33978
  }, otherProps));
33989
33979
  };
33990
- useEffect(function () {
33991
- setColumns(columnData);
33992
- }, [columnData]);
33993
- if (enableColumnReorder) {
33994
- return /*#__PURE__*/React__default.createElement(ReactDragListView.DragColumn, dragProps, renderTable());
33995
- }
33996
- return renderTable();
33980
+ return enableColumnReorder ? /*#__PURE__*/React__default.createElement(ReactDragListView.DragColumn, dragProps, renderTable()) : renderTable();
33997
33981
  };
33998
33982
 
33999
33983
  var _excluded$4 = ["size", "rows", "disabled", "required", "nakedTextarea", "helpText", "error", "label", "className", "maxLength", "unlimitedChars", "labelProps"];