@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.cjs.js CHANGED
@@ -15789,6 +15789,8 @@ var Tooltip = function Tooltip(_ref) {
15789
15789
  };
15790
15790
 
15791
15791
  var _excluded$G = ["icon", "iconPosition", "iconSize", "label", "loading", "onClick", "to", "type", "style", "fullWidth", "className", "disabled", "size", "href", "tooltipProps", "children"];
15792
+ 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; }
15793
+ 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; }
15792
15794
  var BUTTON_STYLES = {
15793
15795
  primary: "primary",
15794
15796
  secondary: "secondary",
@@ -15863,9 +15865,8 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
15863
15865
  }
15864
15866
  }
15865
15867
  var handleClick = function handleClick(e) {
15866
- if (!loading && !disabled) {
15867
- onClick(e);
15868
- }
15868
+ if (loading || disabled) return;
15869
+ onClick(e);
15869
15870
  };
15870
15871
  var Icon = typeof icon === "string" ? function () {
15871
15872
  return /*#__PURE__*/React__default["default"].createElement("i", {
@@ -15876,8 +15877,6 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
15876
15877
  return /*#__PURE__*/React__default["default"].createElement(Tooltip, _extends$4({
15877
15878
  disabled: !tooltipProps
15878
15879
  }, tooltipProps), /*#__PURE__*/React__default["default"].createElement(Parent, _extends$4({
15879
- disabled: disabled,
15880
- ref: ref,
15881
15880
  className: classnames$1("neeto-ui-btn", [className], {
15882
15881
  "neeto-ui-btn--style-primary": style === BUTTON_STYLES.primary,
15883
15882
  "neeto-ui-btn--style-secondary": style === BUTTON_STYLES.secondary,
@@ -15893,21 +15892,18 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
15893
15892
  disabled: disabled
15894
15893
  }),
15895
15894
  onClick: handleClick
15896
- }, elementSpecificProps, otherProps), renderLabel && /*#__PURE__*/React__default["default"].createElement("span", null, renderLabel), /*#__PURE__*/React__default["default"].createElement(AnimatePresence, {
15897
- mode: "wait"
15898
- }, icon ? /* When Icon is present, animate between the icon and the spinner*/
15899
- loading ? /*#__PURE__*/React__default["default"].createElement(Spinner$1, {
15895
+ }, _objectSpread$m(_objectSpread$m({
15896
+ disabled: disabled,
15897
+ ref: ref
15898
+ }, elementSpecificProps), otherProps)), renderLabel && /*#__PURE__*/React__default["default"].createElement("span", null, renderLabel), icon ? loading ? /*#__PURE__*/React__default["default"].createElement(Spinner$1, {
15900
15899
  "aria-hidden": "true",
15901
15900
  className: "neeto-ui-btn__spinner",
15902
- key: "1",
15903
15901
  size: 16
15904
15902
  }) : /*#__PURE__*/React__default["default"].createElement(Icon, {
15905
15903
  "aria-hidden": "true",
15906
15904
  className: "neeto-ui-btn__icon",
15907
- key: "2",
15908
15905
  size: iconSize
15909
- }) : /* When Icon is not present, animate the margin from 0 to the needed value*/
15910
- loading && /*#__PURE__*/React__default["default"].createElement(motion.div, {
15906
+ }) : /*#__PURE__*/React__default["default"].createElement(AnimatePresence, null, loading && /*#__PURE__*/React__default["default"].createElement(motion.div, {
15911
15907
  animate: {
15912
15908
  width: "auto",
15913
15909
  scale: 1
@@ -33843,19 +33839,22 @@ var Table = function Table(_ref) {
33843
33839
  _useState6 = _slicedToArray$2(_useState5, 2),
33844
33840
  columns = _useState6[0],
33845
33841
  setColumns = _useState6[1];
33846
- var isPageChangeHandlerDefault = handlePageChange === noop$3;
33842
+ var isDefaultPageChangeHandler = handlePageChange === noop$3;
33843
+ var history = reactRouterDom.useHistory();
33847
33844
  var headerRef = React$3.useRef();
33848
33845
  var resizeObserver = React$3.useRef(new ResizeObserver(function (_ref2) {
33849
33846
  var _ref3 = _slicedToArray$2(_ref2, 1),
33850
- height = _ref3[0].contentRect.height;
33851
- return setContainerHeight(height);
33847
+ entry = _ref3[0];
33848
+ return setContainerHeight(entry.contentRect.height);
33852
33849
  }));
33853
33850
  var tableRef = React$3.useCallback(function (table) {
33854
33851
  if (!fixedHeight) return;
33855
33852
  var observer = resizeObserver.current;
33856
33853
  if (table !== null) {
33857
33854
  observer.observe(table === null || table === void 0 ? void 0 : table.parentNode);
33858
- } else if (observer) observer.disconnect();
33855
+ } else if (observer) {
33856
+ observer.disconnect();
33857
+ }
33859
33858
  }, [resizeObserver.current, fixedHeight]);
33860
33859
  useTimeout(function () {
33861
33860
  var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT;
@@ -33886,7 +33885,7 @@ var Table = function Table(_ref) {
33886
33885
  dataIndex: neetoCist.snakeToCamelCase((_queryParams$sort_by = queryParams.sort_by) !== null && _queryParams$sort_by !== void 0 ? _queryParams$sort_by : "")
33887
33886
  }, ramda.assoc("sortOrder", TABLE_SORT_ORDERS[queryParams.order_by]), columnData);
33888
33887
  };
33889
- var sortedColumns = isPageChangeHandlerDefault ? setSortFromURL(curatedColumnsData) : curatedColumnsData;
33888
+ var sortedColumns = isDefaultPageChangeHandler ? setSortFromURL(curatedColumnsData) : curatedColumnsData;
33890
33889
  var locale = {
33891
33890
  emptyText: /*#__PURE__*/React__default["default"].createElement(Typography, {
33892
33891
  style: "body2"
@@ -33896,87 +33895,78 @@ var Table = function Table(_ref) {
33896
33895
  return _objectSpread$6(_objectSpread$6({}, sortedColumn), {}, {
33897
33896
  onHeaderCell: function onHeaderCell(column) {
33898
33897
  var _sortedColumn$onHeade;
33899
- var col = (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column);
33900
- return _objectSpread$6(_objectSpread$6({}, col), {}, {
33898
+ return _objectSpread$6(_objectSpread$6({}, (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column)), {}, {
33901
33899
  "data-text-align": column.align
33902
33900
  });
33903
33901
  }
33904
33902
  });
33905
33903
  });
33906
- var isPaginationVisible = otherProps.pagination !== false && rowData.length > defaultPageSize;
33907
- var rowSelectionProps = false;
33908
- if (rowSelection) {
33909
- rowSelectionProps = _objectSpread$6(_objectSpread$6({
33910
- type: "checkbox"
33911
- }, rowSelection), {}, {
33912
- onChange: function onChange(selectedRowKeys, selectedRows) {
33913
- return onRowSelect && onRowSelect(selectedRowKeys, selectedRows);
33914
- },
33915
- selectedRowKeys: selectedRowKeys
33916
- });
33917
- }
33904
+ var rowSelectionProps = rowSelection ? _objectSpread$6(_objectSpread$6({
33905
+ type: "checkbox"
33906
+ }, rowSelection), {}, {
33907
+ onChange: function onChange(selectedRowKeys, selectedRows) {
33908
+ return onRowSelect && onRowSelect(selectedRowKeys, selectedRows);
33909
+ },
33910
+ selectedRowKeys: selectedRowKeys
33911
+ }) : false;
33918
33912
  var reordableHeader = {
33919
33913
  header: {
33920
33914
  cell: enableColumnResize ? enableColumnReorder ? HeaderCell : ResizableHeaderCell : enableColumnReorder ? ReorderableHeaderCell : null
33921
33915
  }
33922
33916
  };
33923
- var componentOverrides = _objectSpread$6(_objectSpread$6({}, components), reordableHeader);
33924
- var calculateTableContainerHeight = function calculateTableContainerHeight() {
33925
- return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0);
33926
- };
33927
- var itemRender = function itemRender(_, type, originalElement) {
33928
- if (type === "prev") {
33929
- return /*#__PURE__*/React__default["default"].createElement(Button, {
33930
- className: "",
33931
- icon: neetoIcons.Left,
33932
- size: "small",
33933
- style: "text"
33934
- });
33935
- }
33936
- if (type === "next") {
33937
- return /*#__PURE__*/React__default["default"].createElement(Button, {
33938
- className: "",
33939
- icon: neetoIcons.Right,
33940
- size: "small",
33941
- style: "text"
33942
- });
33943
- }
33944
- if (type === "jump-prev") {
33945
- return /*#__PURE__*/React__default["default"].createElement(Button, {
33946
- className: "",
33947
- icon: neetoIcons.MenuHorizontal,
33948
- size: "small",
33949
- style: "text"
33950
- });
33951
- }
33952
- if (type === "jump-next") {
33953
- return /*#__PURE__*/React__default["default"].createElement(Button, {
33954
- className: "",
33955
- icon: neetoIcons.MenuHorizontal,
33956
- size: "small",
33957
- style: "text"
33958
- });
33959
- }
33960
- return originalElement;
33961
- };
33962
33917
  var calculateRowsPerPage = function calculateRowsPerPage() {
33963
33918
  var viewportHeight = window.innerHeight;
33964
33919
  var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
33965
33920
  return Math.ceil(rowsPerPage / 10) * 10;
33966
33921
  };
33922
+ var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
33923
+ var calculateTableContainerHeight = function calculateTableContainerHeight() {
33924
+ var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
33925
+ return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0);
33926
+ };
33967
33927
  var calculatePageSizeOptions = function calculatePageSizeOptions() {
33968
- var rowsPerPage = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : defaultPageSize;
33969
33928
  return neetoCist.dynamicArray(5, function (index) {
33970
- return (index + 1) * rowsPerPage;
33929
+ return (index + 1) * pageSize;
33971
33930
  });
33972
33931
  };
33932
+ var itemRender = function itemRender(_, type, originalElement) {
33933
+ var commonProps = {
33934
+ size: "small",
33935
+ style: "text"
33936
+ };
33937
+ if (type === "prev") return /*#__PURE__*/React__default["default"].createElement(Button, _extends$4({
33938
+ icon: neetoIcons.Left
33939
+ }, commonProps));
33940
+ if (type === "next") return /*#__PURE__*/React__default["default"].createElement(Button, _extends$4({
33941
+ icon: neetoIcons.Right
33942
+ }, commonProps));
33943
+ if (type === "jump-prev" || type === "jump-next") {
33944
+ return /*#__PURE__*/React__default["default"].createElement(Button, _extends$4({
33945
+ icon: neetoIcons.MenuHorizontal
33946
+ }, commonProps));
33947
+ }
33948
+ return originalElement;
33949
+ };
33950
+ React$3.useEffect(function () {
33951
+ var shouldNavigateToLastPage = ramda.isEmpty(rowData) && !loading && currentPageNumber !== 1;
33952
+ if (!shouldNavigateToLastPage) return;
33953
+ var lastPage = Math.ceil(totalCount / pageSize);
33954
+ var page = Math.max(1, lastPage);
33955
+ var pathname = window.location.pathname;
33956
+ isDefaultPageChangeHandler ? history.push(buildUrl(pathname, ramda.mergeLeft({
33957
+ page: page
33958
+ }, queryParams))) : handlePageChange(page, pageSize);
33959
+ }, [rowData]);
33960
+ React$3.useEffect(function () {
33961
+ return setColumns(columnData);
33962
+ }, [columnData]);
33973
33963
  var renderTable = function renderTable() {
33974
33964
  return /*#__PURE__*/React__default["default"].createElement(_Table__default["default"], _extends$4({
33975
33965
  bordered: bordered,
33976
33966
  loading: loading,
33977
33967
  locale: locale,
33978
33968
  columns: sortedColumnsWithAlignment,
33979
- components: componentOverrides,
33969
+ components: _objectSpread$6(_objectSpread$6({}, components), reordableHeader),
33980
33970
  dataSource: rowData,
33981
33971
  ref: tableRef,
33982
33972
  rowKey: "id",
@@ -33988,7 +33978,7 @@ var Table = function Table(_ref) {
33988
33978
  showSizeChanger: false,
33989
33979
  total: totalCount !== null && totalCount !== void 0 ? totalCount : 0,
33990
33980
  current: currentPageNumber,
33991
- defaultPageSize: shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : defaultPageSize,
33981
+ defaultPageSize: pageSize,
33992
33982
  pageSizeOptions: calculatePageSizeOptions(),
33993
33983
  onChange: handlePageChange,
33994
33984
  itemRender: itemRender
@@ -34001,7 +33991,7 @@ var Table = function Table(_ref) {
34001
33991
  y: calculateTableContainerHeight()
34002
33992
  }, scroll),
34003
33993
  onChange: function onChange(pagination, _, sorter) {
34004
- isPageChangeHandlerDefault && handleTableChange(pagination, sorter);
33994
+ isDefaultPageChangeHandler && handleTableChange(pagination, sorter);
34005
33995
  },
34006
33996
  onHeaderRow: function onHeaderRow() {
34007
33997
  return {
@@ -34021,13 +34011,7 @@ var Table = function Table(_ref) {
34021
34011
  }
34022
34012
  }, otherProps));
34023
34013
  };
34024
- React$3.useEffect(function () {
34025
- setColumns(columnData);
34026
- }, [columnData]);
34027
- if (enableColumnReorder) {
34028
- return /*#__PURE__*/React__default["default"].createElement(ReactDragListView.DragColumn, dragProps, renderTable());
34029
- }
34030
- return renderTable();
34014
+ return enableColumnReorder ? /*#__PURE__*/React__default["default"].createElement(ReactDragListView.DragColumn, dragProps, renderTable()) : renderTable();
34031
34015
  };
34032
34016
 
34033
34017
  var _excluded$4 = ["size", "rows", "disabled", "required", "nakedTextarea", "helpText", "error", "label", "className", "maxLength", "unlimitedChars", "labelProps"];