@bigbinary/neetoui 6.1.2 → 6.2.0

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.d.ts CHANGED
@@ -270,10 +270,11 @@ export interface DropdownProps {
270
270
  [key: string]: any;
271
271
  }
272
272
 
273
- export interface MenuItemProps extends React.DetailedHTMLProps<
274
- React.LiHTMLAttributes<HTMLLIElement>,
275
- HTMLLIElement
276
- > {
273
+ export interface MenuItemProps
274
+ extends React.DetailedHTMLProps<
275
+ React.LiHTMLAttributes<HTMLLIElement>,
276
+ HTMLLIElement
277
+ > {
277
278
  tooltipProps?: TooltipProps;
278
279
  }
279
280
 
@@ -425,6 +426,7 @@ export interface TableProps {
425
426
  onColumnDelete?: (key: string) => void;
426
427
  preserveTableStateInQuery?: boolean;
427
428
  onColumnHide?: (columnKey: string) => void;
429
+ onMoreActionClick?: (actionType: string, column: any) => void;
428
430
  [key: string]: any;
429
431
  }
430
432
 
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React$3 from 'react';
2
2
  import React__default, { createContext, useLayoutEffect, useEffect, useContext, useRef, useInsertionEffect as useInsertionEffect$1, useCallback, useMemo, forwardRef as forwardRef$1, createElement, useId as useId$1, useState, cloneElement as cloneElement$1, Children, isValidElement, useSyncExternalStore, Fragment, Component, memo as memo$1 } from 'react';
3
- import { isEmpty, equals, complement, toPairs, pipe as pipe$1, omit, isNil, mergeLeft, replace as replace$2, assoc, pluck, prop, flatten, move, props } from 'ramda';
3
+ import { isEmpty, equals, complement, toPairs, pipe as pipe$1, omit, isNil, mergeLeft, replace as replace$2, assoc, pluck, prop, flatten, move, has as has$b, props } from 'ramda';
4
4
  import { Right, Down, Close, Info, Focus, Left, Calendar, Check, UpArrow, DownArrow, MenuHorizontal, Clock as Clock$1, CheckCircle, Warning, CloseCircle } from '@bigbinary/neeto-icons';
5
5
  import { preprocessForSerialization, isPresent, _existsBy, noop as noop$5, camelToSnakeCase, modifyBy, snakeToCamelCase, dynamicArray } from '@bigbinary/neeto-cist';
6
6
  import require$$0 from 'util';
@@ -33091,6 +33091,7 @@ var useResizableColumns = function useResizableColumns(_ref) {
33091
33091
  handleSort = _ref.handleSort,
33092
33092
  sortedInfo = _ref.sortedInfo,
33093
33093
  onColumnHide = _ref.onColumnHide,
33094
+ onMoreActionClick = _ref.onMoreActionClick,
33094
33095
  tableOnChangeProps = _ref.tableOnChangeProps;
33095
33096
  var handleResize = function handleResize(index) {
33096
33097
  return function (_, _ref2) {
@@ -33116,6 +33117,7 @@ var useResizableColumns = function useResizableColumns(_ref) {
33116
33117
  onSort: handleSort,
33117
33118
  sortedInfo: sortedInfo,
33118
33119
  onColumnHide: onColumnHide,
33120
+ onMoreActionClick: onMoreActionClick,
33119
33121
  isAddEnabled: isAddEnabled && !col.fixed,
33120
33122
  onAddColumn: function onAddColumn(positionOffset) {
33121
33123
  return onColumnAdd(index + positionOffset);
@@ -33123,13 +33125,14 @@ var useResizableColumns = function useResizableColumns(_ref) {
33123
33125
  onColumnDelete: onColumnDelete,
33124
33126
  isHidable: col.isHidable,
33125
33127
  isDeletable: col.isDeletable,
33128
+ moreActions: col.moreActions,
33126
33129
  column: col
33127
33130
  };
33128
33131
  },
33129
33132
  sortIcon: SortIcon,
33130
33133
  sortOrder: sortedInfo.field === col.dataIndex || sortedInfo.field === col.key ? sortedInfo.order : null
33131
33134
  });
33132
- if (!col.ellipsis) {
33135
+ if (!has$b("ellipsis", col)) {
33133
33136
  modifiedColumn.ellipsis = true;
33134
33137
  }
33135
33138
  return modifiedColumn;
@@ -33155,6 +33158,7 @@ var useColumns = function useColumns(_ref) {
33155
33158
  sortedInfo = _ref.sortedInfo,
33156
33159
  setSortedInfo = _ref.setSortedInfo,
33157
33160
  onColumnHide = _ref.onColumnHide,
33161
+ onMoreActionClick = _ref.onMoreActionClick,
33158
33162
  onTableChange = _ref.onTableChange,
33159
33163
  tableOnChangeProps = _ref.tableOnChangeProps,
33160
33164
  handleTableSortChange = _ref.handleTableSortChange,
@@ -33193,6 +33197,7 @@ var useColumns = function useColumns(_ref) {
33193
33197
  handleSort: handleSort,
33194
33198
  sortedInfo: sortedInfo,
33195
33199
  onColumnHide: onColumnHide,
33200
+ onMoreActionClick: onMoreActionClick,
33196
33201
  tableOnChangeProps: tableOnChangeProps
33197
33202
  }),
33198
33203
  computedColumnsData = _useResizableColumns.columns;
@@ -33233,8 +33238,12 @@ var HeaderCellMenu = function HeaderCellMenu(_ref) {
33233
33238
  onColumnHide = _ref.onColumnHide,
33234
33239
  onAddColumn = _ref.onAddColumn,
33235
33240
  onColumnDelete = _ref.onColumnDelete,
33241
+ hasMoreActions = _ref.hasMoreActions,
33242
+ onMoreActionClick = _ref.onMoreActionClick,
33236
33243
  _ref$columnTitle = _ref.columnTitle,
33237
- columnTitle = _ref$columnTitle === void 0 ? null : _ref$columnTitle;
33244
+ columnTitle = _ref$columnTitle === void 0 ? null : _ref$columnTitle,
33245
+ _ref$moreActions = _ref.moreActions,
33246
+ moreActions = _ref$moreActions === void 0 ? [] : _ref$moreActions;
33238
33247
  var columnInfoButtonReference = useRef();
33239
33248
  return /*#__PURE__*/React__default.createElement("div", {
33240
33249
  onClick: function onClick(event) {
@@ -33299,7 +33308,7 @@ var HeaderCellMenu = function HeaderCellMenu(_ref) {
33299
33308
  className: "cursor-auto",
33300
33309
  hideOnClick: false,
33301
33310
  interactiveDebounce: 20,
33302
- offset: [0, 0],
33311
+ offset: [0, 15],
33303
33312
  position: "right",
33304
33313
  reference: columnInfoButtonReference,
33305
33314
  strategy: "fixed"
@@ -33316,10 +33325,17 @@ var HeaderCellMenu = function HeaderCellMenu(_ref) {
33316
33325
  onClick: function onClick() {
33317
33326
  return onColumnDelete(column.id);
33318
33327
  }
33319
- }, "Delete column"))));
33328
+ }, "Delete column"), hasMoreActions && moreActions.map(function (item, index) {
33329
+ return /*#__PURE__*/React__default.createElement(MenuItem.Button, {
33330
+ key: index,
33331
+ onClick: function onClick() {
33332
+ return onMoreActionClick(item.type, column);
33333
+ }
33334
+ }, item.label);
33335
+ }))));
33320
33336
  };
33321
33337
 
33322
- var _excluded$b = ["children", "isSortable", "isAddEnabled", "sortedInfo", "onSort", "isHidable", "isDeletable", "onColumnHide", "onAddColumn", "onColumnDelete", "column"];
33338
+ var _excluded$b = ["children", "isSortable", "isAddEnabled", "sortedInfo", "onSort", "isHidable", "isDeletable", "onColumnHide", "onAddColumn", "onColumnDelete", "onMoreActionClick", "column", "moreActions"];
33323
33339
  var CellContent = function CellContent(_ref) {
33324
33340
  var children = _ref.children,
33325
33341
  isSortable = _ref.isSortable,
@@ -33333,11 +33349,15 @@ var CellContent = function CellContent(_ref) {
33333
33349
  onColumnHide = _ref.onColumnHide,
33334
33350
  onAddColumn = _ref.onAddColumn,
33335
33351
  onColumnDelete = _ref.onColumnDelete,
33352
+ onMoreActionClick = _ref.onMoreActionClick,
33336
33353
  column = _ref.column,
33354
+ _ref$moreActions = _ref.moreActions,
33355
+ moreActions = _ref$moreActions === void 0 ? [] : _ref$moreActions,
33337
33356
  headerProps = _objectWithoutProperties$1(_ref, _excluded$b);
33338
33357
  var isColumnHidable = isHidable && isPresent(onColumnHide);
33339
33358
  var isColumnDeletable = isDeletable && isPresent(onColumnDelete);
33340
- var hasMoreMenu = isSortable || isPresent(column === null || column === void 0 ? void 0 : column.description) || isColumnHidable || isAddEnabled;
33359
+ var hasMoreActions = !isEmpty(moreActions) && isPresent(onMoreActionClick);
33360
+ var hasMoreMenu = isSortable || isPresent(column === null || column === void 0 ? void 0 : column.description) || isColumnHidable || isAddEnabled || hasMoreActions;
33341
33361
  return /*#__PURE__*/React__default.createElement("th", _extends$4({}, headerProps, {
33342
33362
  title: "",
33343
33363
  onClick: isSortable ? noop$5 : headerProps.onClick
@@ -33347,12 +33367,15 @@ var CellContent = function CellContent(_ref) {
33347
33367
  className: "min-w-0 flex-grow"
33348
33368
  }, children), hasMoreMenu && /*#__PURE__*/React__default.createElement(HeaderCellMenu, {
33349
33369
  column: column,
33370
+ hasMoreActions: hasMoreActions,
33350
33371
  isAddEnabled: isAddEnabled,
33351
33372
  isColumnDeletable: isColumnDeletable,
33352
33373
  isSortable: isSortable,
33374
+ moreActions: moreActions,
33353
33375
  onAddColumn: onAddColumn,
33354
33376
  onColumnDelete: onColumnDelete,
33355
33377
  onColumnHide: onColumnHide,
33378
+ onMoreActionClick: onMoreActionClick,
33356
33379
  onSort: onSort,
33357
33380
  sortedInfo: sortedInfo,
33358
33381
  columnTitle: headerProps.title,
@@ -35794,7 +35817,7 @@ var getHeaderCell = function getHeaderCell(_ref) {
35794
35817
  };
35795
35818
  };
35796
35819
 
35797
- var _excluded$5 = ["allowRowClick", "enableColumnResize", "enableColumnReorder", "enableAddColumn", "className", "columnData", "currentPageNumber", "defaultPageSize", "handlePageChange", "loading", "onRowClick", "onRowSelect", "rowData", "totalCount", "selectedRowKeys", "fixedHeight", "paginationProps", "scroll", "rowSelection", "shouldDynamicallyRenderRowSize", "bordered", "onColumnUpdate", "components", "onColumnHide", "onColumnAdd", "onColumnDelete", "onChange"];
35820
+ var _excluded$5 = ["allowRowClick", "enableColumnResize", "enableColumnReorder", "enableAddColumn", "className", "columnData", "currentPageNumber", "defaultPageSize", "handlePageChange", "loading", "onRowClick", "onRowSelect", "rowData", "totalCount", "selectedRowKeys", "fixedHeight", "paginationProps", "scroll", "rowSelection", "shouldDynamicallyRenderRowSize", "bordered", "onColumnUpdate", "components", "onColumnHide", "onColumnAdd", "onColumnDelete", "onChange", "onMoreActionClick"];
35798
35821
  function ownKeys$6(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; }
35799
35822
  function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty$7(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35800
35823
  var TABLE_PAGINATION_HEIGHT = 64;
@@ -35848,6 +35871,7 @@ var Table = function Table(_ref) {
35848
35871
  onColumnAdd = _ref$onColumnAdd === void 0 ? noop$3 : _ref$onColumnAdd,
35849
35872
  onColumnDelete = _ref.onColumnDelete,
35850
35873
  onChange = _ref.onChange,
35874
+ onMoreActionClick = _ref.onMoreActionClick,
35851
35875
  otherProps = _objectWithoutProperties$1(_ref, _excluded$5);
35852
35876
  var _useState = useState(null),
35853
35877
  _useState2 = _slicedToArray$3(_useState, 2),
@@ -35901,6 +35925,7 @@ var Table = function Table(_ref) {
35901
35925
  sortedInfo: sortedInfo,
35902
35926
  setSortedInfo: setSortedInfo,
35903
35927
  onColumnHide: onColumnHide,
35928
+ onMoreActionClick: onMoreActionClick,
35904
35929
  onColumnAdd: onColumnAdd,
35905
35930
  onColumnDelete: onColumnDelete,
35906
35931
  tableOnChangeProps: tableOnChangeProps,