@carbon/ibm-products 2.43.2-canary.15 → 2.43.2-canary.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. package/css/index-full-carbon.css +2 -3
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css.map +1 -1
  6. package/css/index-without-carbon-released-only.min.css.map +1 -1
  7. package/css/index-without-carbon.css +2 -3
  8. package/css/index-without-carbon.css.map +1 -1
  9. package/css/index-without-carbon.min.css +1 -1
  10. package/css/index-without-carbon.min.css.map +1 -1
  11. package/css/index.css +2 -3
  12. package/css/index.css.map +1 -1
  13. package/css/index.min.css +1 -1
  14. package/css/index.min.css.map +1 -1
  15. package/es/components/DataSpreadsheet/DataSpreadsheet.js +16 -29
  16. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +1 -9
  17. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -18
  18. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +0 -8
  19. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +6 -17
  20. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +1 -4
  21. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +1 -3
  22. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +3 -15
  23. package/es/components/DataSpreadsheet/types/index.d.ts +1 -1
  24. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +2 -34
  25. package/es/components/Datagrid/types/index.d.ts +4 -18
  26. package/es/components/Datagrid/useActionsColumn.d.ts +1 -8
  27. package/es/components/Datagrid/useActionsColumn.js +6 -7
  28. package/es/components/Datagrid/useColumnRightAlign.d.ts +1 -8
  29. package/es/components/Datagrid/useColumnRightAlign.js +3 -4
  30. package/es/components/Datagrid/useInlineEdit.d.ts +1 -8
  31. package/es/components/Datagrid/useInlineEdit.js +1 -1
  32. package/es/components/Datagrid/useNestedRows.js +9 -27
  33. package/es/components/Decorator/Decorator.js +1 -2
  34. package/es/components/DecoratorBase/DecoratorBase.js +5 -3
  35. package/es/components/DecoratorDualButton/DecoratorDualButton.js +1 -2
  36. package/es/components/DecoratorLink/DecoratorLink.js +1 -2
  37. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +1 -2
  38. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +16 -29
  39. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +1 -9
  40. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -18
  41. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +0 -8
  42. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +6 -17
  43. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +1 -4
  44. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +1 -3
  45. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +3 -15
  46. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
  47. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +2 -34
  48. package/lib/components/Datagrid/types/index.d.ts +4 -18
  49. package/lib/components/Datagrid/useActionsColumn.d.ts +1 -8
  50. package/lib/components/Datagrid/useActionsColumn.js +6 -7
  51. package/lib/components/Datagrid/useColumnRightAlign.d.ts +1 -8
  52. package/lib/components/Datagrid/useColumnRightAlign.js +3 -4
  53. package/lib/components/Datagrid/useInlineEdit.d.ts +1 -8
  54. package/lib/components/Datagrid/useInlineEdit.js +1 -1
  55. package/lib/components/Datagrid/useNestedRows.js +9 -27
  56. package/lib/components/Decorator/Decorator.js +1 -2
  57. package/lib/components/DecoratorBase/DecoratorBase.js +5 -3
  58. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +1 -2
  59. package/lib/components/DecoratorLink/DecoratorLink.js +1 -2
  60. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +1 -2
  61. package/package.json +3 -3
  62. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +0 -1
  63. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  64. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  65. package/scss/components/UserProfileImage/_user-profile-image.scss +2 -6
@@ -87,8 +87,7 @@ Decorator.propTypes = {
87
87
  */
88
88
  small: PropTypes.bool,
89
89
  /**
90
- * Override the default theme of the component.
91
- * Useful if you want "invert" the component's theme.
90
+ * Determines the theme of the component.
92
91
  */
93
92
  theme: PropTypes.oneOf(['light', 'dark']),
94
93
  /**
@@ -23,7 +23,8 @@ var defaults = {
23
23
  onContextMenu: function onContextMenu() {},
24
24
  onContextMenuLabel: function onContextMenuLabel() {},
25
25
  onContextMenuValue: function onContextMenuValue() {},
26
- scoreThresholds: [0, 4, 7, 10]
26
+ scoreThresholds: [0, 4, 7, 10],
27
+ theme: 'light'
27
28
  };
28
29
 
29
30
  /**
@@ -55,7 +56,8 @@ var DecoratorBase = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
55
56
  _ref$scoreThresholds = _ref.scoreThresholds,
56
57
  scoreThresholds = _ref$scoreThresholds === void 0 ? defaults.scoreThresholds : _ref$scoreThresholds,
57
58
  small = _ref.small,
58
- theme = _ref.theme,
59
+ _ref$theme = _ref.theme,
60
+ theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
59
61
  truncateValue = _ref.truncateValue,
60
62
  value = _ref.value,
61
63
  valueTitle = _ref.valueTitle,
@@ -65,7 +67,7 @@ var DecoratorBase = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
65
67
  var _value = truncate(value, truncateValue);
66
68
 
67
69
  // These class names apply to all types of DecoratorBase.
68
- var classNames = cx(blockClass, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "--").concat(theme), theme), "".concat(blockClass, "--sm"), small), "".concat(blockClass, "--truncate-end"), truncateValue === 'end'), "".concat(blockClass, "--truncate-start"), truncateValue === 'start'), "".concat(blockClass, "--truncate-midline"), truncateValue === null || truncateValue === void 0 ? void 0 : truncateValue.maxLength));
70
+ var classNames = cx(blockClass, className, "".concat(blockClass, "--").concat(theme), _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "--sm"), small), "".concat(blockClass, "--truncate-end"), truncateValue === 'end'), "".concat(blockClass, "--truncate-start"), truncateValue === 'start'), "".concat(blockClass, "--truncate-midline"), truncateValue === null || truncateValue === void 0 ? void 0 : truncateValue.maxLength));
69
71
 
70
72
  // These properties apply to all <DecoratorIcons>.
71
73
  var decoratorIconsProps = {
@@ -111,8 +111,7 @@ DecoratorDualButton.propTypes = {
111
111
  */
112
112
  small: PropTypes.bool,
113
113
  /**
114
- * Override the default theme of the component.
115
- * Useful if you want "invert" the component's theme.
114
+ * Determines the theme of the component.
116
115
  */
117
116
  theme: PropTypes.oneOf(['light', 'dark']),
118
117
  /**
@@ -101,8 +101,7 @@ DecoratorLink.propTypes = {
101
101
  */
102
102
  small: PropTypes.bool,
103
103
  /**
104
- * Override the default theme of the component.
105
- * Useful if you want "invert" the component's theme.
104
+ * Determines the theme of the component.
106
105
  */
107
106
  theme: PropTypes.oneOf(['light', 'dark']),
108
107
  /**
@@ -101,8 +101,7 @@ DecoratorSingleButton.propTypes = {
101
101
  */
102
102
  small: PropTypes.bool,
103
103
  /**
104
- * Override the default theme of the component.
105
- * Useful if you want "invert" the component's theme.
104
+ * Determines the theme of the component.
106
105
  */
107
106
  theme: PropTypes.oneOf(['light', 'dark']),
108
107
  /**
@@ -121,19 +121,15 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
121
121
  _useState18 = _rollupPluginBabelHelpers.slicedToArray(_useState17, 2),
122
122
  headerCellHoldActive = _useState18[0],
123
123
  setHeaderCellHoldActive = _useState18[1];
124
+ var isBlurSpreadsheet = React.useRef(false);
124
125
  var _useState19 = React.useState(false),
125
126
  _useState20 = _rollupPluginBabelHelpers.slicedToArray(_useState19, 2),
126
- selectedHeaderReorderActive = _useState20[0],
127
- setSelectedHeaderReorderActive = _useState20[1];
128
- var isBlurSpreadsheet = React.useRef(false);
127
+ isActiveHeaderCellChanged = _useState20[0],
128
+ setIsActiveHeaderCellChanged = _useState20[1];
129
129
  var _useState21 = React.useState(false),
130
130
  _useState22 = _rollupPluginBabelHelpers.slicedToArray(_useState21, 2),
131
- isActiveHeaderCellChanged = _useState22[0],
132
- setIsActiveHeaderCellChanged = _useState22[1];
133
- var _useState23 = React.useState(false),
134
- _useState24 = _rollupPluginBabelHelpers.slicedToArray(_useState23, 2),
135
- activeCellInsideSelectionArea = _useState24[0],
136
- setActiveCellInsideSelectionArea = _useState24[1];
131
+ activeCellInsideSelectionArea = _useState22[0],
132
+ setActiveCellInsideSelectionArea = _useState22[1];
137
133
  var previousState = usePreviousValue.usePreviousValue({
138
134
  activeCellCoordinates: activeCellCoordinates,
139
135
  isEditing: isEditing,
@@ -141,10 +137,10 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
141
137
  }) || {};
142
138
  var cellSizeValue = getCellSize.getCellSize(cellSize);
143
139
  var cellEditorRef = React.useRef();
144
- var _useState25 = React.useState(),
145
- _useState26 = _rollupPluginBabelHelpers.slicedToArray(_useState25, 2),
146
- activeCellContent = _useState26[0],
147
- setActiveCellContent = _useState26[1];
140
+ var _useState23 = React.useState(),
141
+ _useState24 = _rollupPluginBabelHelpers.slicedToArray(_useState23, 2),
142
+ activeCellContent = _useState24[0],
143
+ setActiveCellContent = _useState24[1];
148
144
  var activeCellRef = React.useRef();
149
145
  var cellEditorRulerRef = React.useRef();
150
146
  var defaultColumn = React.useMemo(function () {
@@ -220,12 +216,9 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
220
216
  }
221
217
  if ((prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.row) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) || (prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.column) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column)) {
222
218
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header') {
219
+ var _activeCellFullData$r;
223
220
  var activeCellFullData = typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'number' && typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'number' ? rows[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row].cells[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column] : null;
224
- if (activeCellFullData) {
225
- setActiveCellContent(activeCellFullData.render('Cell'));
226
- } else {
227
- setActiveCellContent(null);
228
- }
221
+ setActiveCellContent((_activeCellFullData$r = activeCellFullData === null || activeCellFullData === void 0 ? void 0 : activeCellFullData.render('Cell')) !== null && _activeCellFullData$r !== void 0 ? _activeCellFullData$r : null);
229
222
  }
230
223
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
231
224
  setActiveCellContent(null);
@@ -440,8 +433,8 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
440
433
  var activeCellFullData = typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'number' && typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'number' ? rows[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row].cells[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column] : null;
441
434
  var activeCellValue;
442
435
  if (activeCellFullData && activeCellCoordinates !== null && activeCellCoordinates !== void 0 && activeCellCoordinates.column) {
443
- var _activeCellFullData$r;
444
- activeCellValue = activeCellFullData ? (_activeCellFullData$r = activeCellFullData.row.cells) === null || _activeCellFullData$r === void 0 || (_activeCellFullData$r = _activeCellFullData$r[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column]) === null || _activeCellFullData$r === void 0 ? void 0 : _activeCellFullData$r.value : null;
436
+ var _activeCellFullData$r2;
437
+ activeCellValue = activeCellFullData ? (_activeCellFullData$r2 = activeCellFullData.row.cells) === null || _activeCellFullData$r2 === void 0 || (_activeCellFullData$r2 = _activeCellFullData$r2[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column]) === null || _activeCellFullData$r2 === void 0 ? void 0 : _activeCellFullData$r2.value : null;
445
438
  }
446
439
  setCellEditorValue(activeCellValue || '');
447
440
  if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
@@ -631,8 +624,6 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
631
624
  columns: columns,
632
625
  currentMatcher: currentMatcher,
633
626
  defaultColumn: defaultColumn,
634
- selectedHeaderReorderActive: selectedHeaderReorderActive,
635
- setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
636
627
  headerGroups: headerGroups,
637
628
  rows: rows,
638
629
  scrollBarSize: scrollBarSize,
@@ -656,8 +647,6 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
656
647
  currentMatcher: currentMatcher,
657
648
  setCurrentMatcher: setCurrentMatcher,
658
649
  setContainerHasFocus: setContainerHasFocus,
659
- selectedHeaderReorderActive: selectedHeaderReorderActive,
660
- setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
661
650
  selectionAreas: selectionAreas,
662
651
  setSelectionAreas: setSelectionAreas,
663
652
  headerGroups: headerGroups,
@@ -708,11 +697,9 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
708
697
  updateData: updateData
709
698
  }),
710
699
  onChange: function onChange(event) {
711
- if (previousState.isEditing) {
712
- setCellEditorValue(event.target.value);
713
- if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
714
- cellEditorRulerRef.current.textContent = event.target.value;
715
- }
700
+ setCellEditorValue(event.target.value);
701
+ if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
702
+ cellEditorRulerRef.current.textContent = event.target.value;
716
703
  }
717
704
  },
718
705
  ref: cellEditorRef,
@@ -79,15 +79,7 @@ interface DataSpreadsheetBodyProps {
79
79
  /**
80
80
  * Array of selection area data
81
81
  */
82
- selectionAreaData?: any[];
83
- /**
84
- * Header reordering is active
85
- */
86
- selectedHeaderReorderActive?: boolean;
87
- /**
88
- * Set header reordering active or not
89
- */
90
- setSelectedHeaderReorderActive?: Dispatch<SetStateAction<boolean>>;
82
+ selectionAreaData?: object[];
91
83
  /**
92
84
  * Array of selection areas
93
85
  */
@@ -49,8 +49,6 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
49
49
  selectionAreaData = _ref.selectionAreaData,
50
50
  setSelectionAreaData = _ref.setSelectionAreaData,
51
51
  setActiveCellCoordinates = _ref.setActiveCellCoordinates,
52
- selectedHeaderReorderActive = _ref.selectedHeaderReorderActive,
53
- setSelectedHeaderReorderActive = _ref.setSelectedHeaderReorderActive,
54
52
  selectionAreas = _ref.selectionAreas,
55
53
  setContainerHasFocus = _ref.setContainerHasFocus,
56
54
  setSelectionAreas = _ref.setSelectionAreas,
@@ -86,12 +84,8 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
86
84
  // back to the consumer
87
85
  React.useEffect(function () {
88
86
  if (selectionAreaData !== null && selectionAreaData !== void 0 && selectionAreaData.length) {
89
- var _previousState$select, _selectionAreaData$, _previousState$select2;
90
- var selectionChanged = false;
91
- if ((previousState === null || previousState === void 0 || (_previousState$select = previousState.selectionAreaData) === null || _previousState$select === void 0 ? void 0 : _previousState$select.length) !== (selectionAreaData === null || selectionAreaData === void 0 ? void 0 : selectionAreaData.length) || (selectionAreaData === null || selectionAreaData === void 0 || (_selectionAreaData$ = selectionAreaData[0]) === null || _selectionAreaData$ === void 0 ? void 0 : _selectionAreaData$.cells.length) !== (previousState === null || previousState === void 0 || (_previousState$select2 = previousState.selectionAreaData) === null || _previousState$select2 === void 0 || (_previousState$select2 = _previousState$select2[0]) === null || _previousState$select2 === void 0 ? void 0 : _previousState$select2.cells.length)) {
92
- selectionChanged = true;
93
- }
94
- if (!clickAndHoldActive && previousState !== null && previousState !== void 0 && previousState.clickAndHoldActive || selectionChanged) {
87
+ var _previousState$select;
88
+ if (!clickAndHoldActive && previousState !== null && previousState !== void 0 && previousState.clickAndHoldActive || (previousState === null || previousState === void 0 || (_previousState$select = previousState.selectionAreaData) === null || _previousState$select === void 0 ? void 0 : _previousState$select.length) !== (selectionAreaData === null || selectionAreaData === void 0 ? void 0 : selectionAreaData.length)) {
95
89
  onSelectionAreaChange === null || onSelectionAreaChange === void 0 || onSelectionAreaChange(selectionAreaData);
96
90
  }
97
91
  }
@@ -166,8 +160,6 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
166
160
  setClickAndHoldActive: setClickAndHoldActive,
167
161
  setSelectionAreas: setSelectionAreas,
168
162
  setValidStartingPoint: setValidStartingPoint,
169
- selectedHeaderReorderActive: selectedHeaderReorderActive,
170
- setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
171
163
  validStartingPoint: validStartingPoint,
172
164
  ref: ref,
173
165
  setHeaderCellHoldActive: setHeaderCellHoldActive,
@@ -474,10 +466,6 @@ DataSpreadsheetBody.propTypes = {
474
466
  * The scrollbar width
475
467
  */
476
468
  scrollBarSize: index["default"].number,
477
- /**
478
- * Header reordering is active
479
- */
480
- selectedHeaderReorderActive: index["default"].bool,
481
469
  /**
482
470
  * Array of selection area data
483
471
  */
@@ -514,10 +502,6 @@ DataSpreadsheetBody.propTypes = {
514
502
  * Setter fn for header cell hold active value
515
503
  */
516
504
  setHeaderCellHoldActive: index["default"].func,
517
- /**
518
- * Set header reordering active or not
519
- */
520
- setSelectedHeaderReorderActive: index["default"].func,
521
505
  /**
522
506
  * Setter fn for selectionAreaData state value
523
507
  */
@@ -56,14 +56,6 @@ interface DataSpreadsheetHeaderProps {
56
56
  * Setter fn for activeCellCoordinates value
57
57
  */
58
58
  setActiveCellCoordinates?: Dispatch<SetStateAction<ActiveCellCoordinates | null>>;
59
- /**
60
- * Header reordering is active
61
- */
62
- selectedHeaderReorderActive?: boolean;
63
- /**
64
- * Set header reordering active or not
65
- */
66
- setSelectedHeaderReorderActive?: Dispatch<SetStateAction<boolean>>;
67
59
  /**
68
60
  * Setter fn for currentMatcher value
69
61
  */
@@ -40,8 +40,6 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
40
40
  headerGroups = _ref.headerGroups,
41
41
  scrollBarSize = _ref.scrollBarSize,
42
42
  selectionAreas = _ref.selectionAreas,
43
- selectedHeaderReorderActive = _ref.selectedHeaderReorderActive,
44
- setSelectedHeaderReorderActive = _ref.setSelectedHeaderReorderActive,
45
43
  setActiveCellCoordinates = _ref.setActiveCellCoordinates,
46
44
  setCurrentMatcher = _ref.setCurrentMatcher,
47
45
  setSelectionAreas = _ref.setSelectionAreas,
@@ -57,6 +55,10 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
57
55
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
58
56
  scrollBarSizeValue = _useState2[0],
59
57
  setScrollBarSizeValue = _useState2[1];
58
+ var _useState3 = React.useState(false),
59
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
60
+ selectedHeaderReorderActive = _useState4[0],
61
+ setSelectedHeaderReorderActive = _useState4[1];
60
62
  var previousState = usePreviousValue.usePreviousValue({
61
63
  cellSize: cellSize
62
64
  }) || {};
@@ -114,16 +116,11 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
114
116
  // Remove columns, need to call handleHeaderCellSelection
115
117
  return;
116
118
  }
119
+ setSelectedHeaderReorderActive(true);
117
120
  var selectionAreaToClone = selectionAreas === null || selectionAreas === void 0 ? void 0 : selectionAreas.filter(function (item) {
118
121
  return (item === null || item === void 0 ? void 0 : item.matcher) === currentMatcher;
119
122
  });
120
123
  var selectionAreaElement = ref.current.querySelector("[data-matcher-id=\"".concat(selectionAreaToClone === null || selectionAreaToClone === void 0 || (_selectionAreaToClone = selectionAreaToClone[0]) === null || _selectionAreaToClone === void 0 ? void 0 : _selectionAreaToClone.matcher, "\"]"));
121
- if (selectionAreaElement) {
122
- selectionAreaElement.classList.add("".concat(blockClass, "__selection-area--element"));
123
- }
124
- if (typeof setSelectedHeaderReorderActive === 'function') {
125
- setSelectedHeaderReorderActive(true);
126
- }
127
124
  var clickXPosition = event.clientX;
128
125
  var headerButtonCoords = event.target.getBoundingClientRect();
129
126
  var headerIndex = event.target.getAttribute('data-column-index');
@@ -201,7 +198,7 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
201
198
  "data-column-index": index,
202
199
  tabIndex: -1,
203
200
  onMouseDown: selectedHeader ? handleHeaderMouseDown(index) : undefined,
204
- onMouseUp: selectedHeader && typeof setSelectedHeaderReorderActive === 'function' ? function () {
201
+ onMouseUp: selectedHeader ? function () {
205
202
  return setSelectedHeaderReorderActive(false);
206
203
  } : undefined,
207
204
  onClick: !selectedHeader ? handleColumnHeaderClick(index) : undefined,
@@ -266,10 +263,6 @@ DataSpreadsheetHeader.propTypes = {
266
263
  * The aria label applied to the Select all button
267
264
  */
268
265
  selectAllAriaLabel: index["default"].string.isRequired,
269
- /**
270
- * Header reordering is active
271
- */
272
- selectedHeaderReorderActive: index["default"].bool,
273
266
  /**
274
267
  * All of the cell selection area items
275
268
  */
@@ -287,10 +280,6 @@ DataSpreadsheetHeader.propTypes = {
287
280
  * Setter fn for header cell hold active value
288
281
  */
289
282
  setHeaderCellHoldActive: index["default"].func,
290
- /**
291
- * Set header reordering active or not
292
- */
293
- setSelectedHeaderReorderActive: index["default"].func,
294
283
  /**
295
284
  * Setter fn for selectionAreaData state value
296
285
  */
@@ -44,12 +44,9 @@ var useSpreadsheetMouseMove = function useSpreadsheetMouseMove(_ref) {
44
44
  var totalSpreadsheetScrollingWidth = listContainer.scrollWidth;
45
45
  var clonedSelectionWidth = clonedSelectionElement.offsetWidth;
46
46
  var clonePlacement = Math.max(xPositionRelativeToSpreadsheet - offsetXValue, defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth);
47
- var leftPosition = totalSpreadsheetScrollingWidth - clonedSelectionWidth >= clonePlacement ? clonePlacement + scrollAmount : totalSpreadsheetScrollingWidth - clonedSelectionWidth;
48
47
  // Moves the position of the cloned selection area to follow mouse, and
49
48
  // add the amount horizontally scrolled
50
- if (leftPosition < spreadsheetCoords.right - 40) {
51
- clonedSelectionElement.style.left = layout.px(leftPosition);
52
- }
49
+ clonedSelectionElement.style.left = layout.px(totalSpreadsheetScrollingWidth - clonedSelectionWidth >= clonePlacement ? clonePlacement + scrollAmount : totalSpreadsheetScrollingWidth - clonedSelectionWidth);
53
50
  };
54
51
  if (headerCellHoldActive) {
55
52
  ref.current.addEventListener('mousemove', handleMouseMove);
@@ -1,8 +1,6 @@
1
- export function useSpreadsheetMouseUp({ currentMatcher, setSelectionAreas, selectedHeaderReorderActive, setSelectedHeaderReorderActive, setClickAndHoldActive, setValidStartingPoint, validStartingPoint, blockClass, ref, setHeaderCellHoldActive, setColumnOrder, visibleColumns, setActiveCellCoordinates, activeCellCoordinates, rows, defaultColumn, selectionAreas, }: {
1
+ export function useSpreadsheetMouseUp({ currentMatcher, setSelectionAreas, setClickAndHoldActive, setValidStartingPoint, validStartingPoint, blockClass, ref, setHeaderCellHoldActive, setColumnOrder, visibleColumns, setActiveCellCoordinates, activeCellCoordinates, rows, defaultColumn, selectionAreas, }: {
2
2
  currentMatcher: any;
3
3
  setSelectionAreas: any;
4
- selectedHeaderReorderActive: any;
5
- setSelectedHeaderReorderActive: any;
6
4
  setClickAndHoldActive: any;
7
5
  setValidStartingPoint: any;
8
6
  validStartingPoint: any;
@@ -18,8 +18,6 @@ var deepCloneObject = require('../../../global/js/utils/deepCloneObject.js');
18
18
  var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
19
19
  var currentMatcher = _ref.currentMatcher,
20
20
  setSelectionAreas = _ref.setSelectionAreas,
21
- selectedHeaderReorderActive = _ref.selectedHeaderReorderActive,
22
- setSelectedHeaderReorderActive = _ref.setSelectedHeaderReorderActive,
23
21
  setClickAndHoldActive = _ref.setClickAndHoldActive,
24
22
  setValidStartingPoint = _ref.setValidStartingPoint,
25
23
  validStartingPoint = _ref.validStartingPoint,
@@ -36,22 +34,15 @@ var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
36
34
  selectionAreas = _ref.selectionAreas;
37
35
  React.useEffect(function () {
38
36
  var handleMouseUp = function handleMouseUp(event) {
39
- var _selectionAreas$;
40
- var isHoldingColumn = false;
41
- if (selectionAreas !== null && selectionAreas !== void 0 && (_selectionAreas$ = selectionAreas[0]) !== null && _selectionAreas$ !== void 0 && _selectionAreas$.header && selectionAreas[0].header.type === 'column') {
42
- isHoldingColumn = true;
43
- }
44
37
  // Remove the cloned selection area on mouse up
45
- if (!validStartingPoint && isHoldingColumn) {
38
+ if (!validStartingPoint) {
46
39
  setHeaderCellHoldActive(false);
47
- var selectionAreaElement = ref.current.querySelector(".".concat(blockClass, "__selection-area--element"));
48
40
  var selectionAreaCloneElement = ref.current.querySelector(".".concat(blockClass, "__selection-area--element-cloned"));
49
41
  if (!selectionAreaCloneElement) {
50
42
  return;
51
43
  }
52
44
  // Mouse up while a cloned selection area exists/a column is being reordered
53
45
  if (selectionAreaCloneElement) {
54
- var _selectionAreaElement;
55
46
  var closestCell = event.target.closest(".".concat(blockClass, "--interactive-cell-element"));
56
47
  var newColumnIndex = parseInt === null || parseInt === void 0 ? void 0 : parseInt(closestCell === null || closestCell === void 0 ? void 0 : closestCell.getAttribute('data-column-index'));
57
48
  var originalColumnIndex = parseInt === null || parseInt === void 0 ? void 0 : parseInt(selectionAreaCloneElement === null || selectionAreaCloneElement === void 0 ? void 0 : selectionAreaCloneElement.getAttribute('data-column-index-original'));
@@ -94,7 +85,6 @@ var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
94
85
  selectionAreaClone[indexOfItemToUpdate].point1.column = Math.min.apply(Math, _rollupPluginBabelHelpers.toConsumableArray(newIndexArray));
95
86
  selectionAreaClone[indexOfItemToUpdate].point2.column = Math.max.apply(Math, _rollupPluginBabelHelpers.toConsumableArray(newIndexArray));
96
87
  }
97
- selectionAreaClone[indexOfItemToUpdate].areaCreated = false;
98
88
  return selectionAreaClone;
99
89
  });
100
90
  // Only reorder columns if the new index is _not_ part of the
@@ -139,13 +129,11 @@ var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
139
129
  var indicatorLineElement = ref.current.querySelector(".".concat(blockClass, "__reorder-indicator-line"));
140
130
  indicatorLineElement === null || indicatorLineElement === void 0 || indicatorLineElement.remove();
141
131
  selectionAreaCloneElement === null || selectionAreaCloneElement === void 0 || selectionAreaCloneElement.remove();
142
- selectionAreaElement === null || selectionAreaElement === void 0 || (_selectionAreaElement = selectionAreaElement.classList) === null || _selectionAreaElement === void 0 || _selectionAreaElement.remove("".concat(blockClass, "__selection-area--element"));
143
- setSelectedHeaderReorderActive(false);
144
132
  }
145
133
  }
146
134
  // Mouse up was on a spreadsheet body cell which is a valid
147
135
  // start/end point for creating a selection area
148
- if (validStartingPoint || event.type === 'mouseup') {
136
+ if (validStartingPoint) {
149
137
  setClickAndHoldActive(false);
150
138
  setValidStartingPoint(false);
151
139
  var cellButton = event.target.closest(".".concat(blockClass, "__body--td"));
@@ -174,7 +162,7 @@ var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
174
162
  return function () {
175
163
  document.removeEventListener('mouseup', handleMouseUp);
176
164
  };
177
- }, [blockClass, currentMatcher, setSelectionAreas, setClickAndHoldActive, setValidStartingPoint, validStartingPoint, selectedHeaderReorderActive, setSelectedHeaderReorderActive, ref, setHeaderCellHoldActive, setColumnOrder, visibleColumns, setActiveCellCoordinates, activeCellCoordinates, rows, defaultColumn, selectionAreas]);
165
+ }, [blockClass, currentMatcher, setSelectionAreas, setClickAndHoldActive, setValidStartingPoint, validStartingPoint, ref, setHeaderCellHoldActive, setColumnOrder, visibleColumns, setActiveCellCoordinates, activeCellCoordinates, rows, defaultColumn, selectionAreas]);
178
166
  };
179
167
 
180
168
  exports.useSpreadsheetMouseUp = useSpreadsheetMouseUp;
@@ -13,7 +13,7 @@ export interface PrevState {
13
13
  cellEditorValue?: string;
14
14
  activeCellCoordinates?: ActiveCellCoordinates;
15
15
  isEditing?: boolean;
16
- selectionAreaData?: any[];
16
+ selectionAreaData?: object[];
17
17
  clickAndHoldActive?: boolean;
18
18
  rowHeight?: number;
19
19
  cellSize?: Size;
@@ -26,43 +26,11 @@ var moveColumnIndicatorLine = function moveColumnIndicatorLine(_ref) {
26
26
  var indicatorLineElement = ref.current.querySelector(".".concat(blockClass, "__reorder-indicator-line"));
27
27
  var matcherId = clonedSelectionElement === null || clonedSelectionElement === void 0 ? void 0 : clonedSelectionElement.getAttribute('data-matcher-id');
28
28
  var selectionAreaOrigin = ref.current.querySelector("[data-matcher-id=\"".concat(matcherId, "\"]"));
29
- var listContainer = ref.current.querySelector(".".concat(blockClass, "__list--container"));
30
- var scrollSpeed = 10; // Scrolling speed
31
- var leftEdgeThreshold = 120; // Distance from the left edge to start scrolling
32
- var rightEdgeThreshold = 100; // Distance from the right edge to start scrolling
33
-
34
- var _event = event,
35
- clientX = _event.clientX;
36
- var _listContainer$getBou = listContainer.getBoundingClientRect(),
37
- left = _listContainer$getBou.left,
38
- right = _listContainer$getBou.right;
39
-
40
- // Is near left side of viewport
41
- if (clientX < leftEdgeThreshold) {
42
- window.scrollBy(-scrollSpeed, 0);
43
- }
44
-
45
- // Is near right side of viewport
46
- if (clientX > window.innerWidth - rightEdgeThreshold) {
47
- window.scrollBy(scrollSpeed, 0);
48
- }
49
-
50
- // Is near left edge of table
51
- if (clientX > left && clientX < left + leftEdgeThreshold) {
52
- listContainer.scrollBy(-scrollSpeed, 0);
53
- }
54
-
55
- // Is near right edge of table
56
- if (clientX < right && clientX > right - rightEdgeThreshold) {
57
- listContainer.scrollBy(scrollSpeed, 0);
58
- }
59
29
  if (Number(newColumnIndex) > Number(originalColumnIndex)) {
60
- var leftPosition = closestCellCoords.left - spreadsheetCoords.left + closestCell.offsetWidth - 2 + leftScrollAmount;
61
- indicatorLineElement.style.left = layout.px(leftPosition);
30
+ indicatorLineElement.style.left = layout.px(closestCellCoords.left - spreadsheetCoords.left + closestCell.offsetWidth - 2 + leftScrollAmount);
62
31
  }
63
32
  if (Number(newColumnIndex) < Number(originalColumnIndex)) {
64
- var _leftPosition = closestCellCoords.left - spreadsheetCoords.left + leftScrollAmount;
65
- indicatorLineElement.style.left = layout.px(_leftPosition);
33
+ indicatorLineElement.style.left = layout.px(closestCellCoords.left - spreadsheetCoords.left + leftScrollAmount);
66
34
  }
67
35
  if (Number(newColumnIndex) === Number(originalColumnIndex)) {
68
36
  indicatorLineElement.style.left = selectionAreaOrigin.style.left;
@@ -5,10 +5,10 @@ import { RadioButtonProps } from '@carbon/react/lib/components/RadioButton/Radio
5
5
  import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonGroup/RadioButtonGroup';
6
6
  import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
7
7
  import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
8
- import React, { CSSProperties, ComponentType, FunctionComponent, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
9
- import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
8
+ import { CSSProperties, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
9
+ import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseTableHooks } from 'react-table';
10
10
  import { CarbonIconType } from '@carbon/react/icons';
11
- import { IconButton, type ButtonProps } from '@carbon/react';
11
+ import { type ButtonProps } from '@carbon/react';
12
12
  import { TableBatchActionsProps } from '@carbon/react/lib/components/DataTable/TableBatchActions';
13
13
  export type Size = 'xs' | 'sm' | 'md' | 'lg';
14
14
  export interface ResizerProps {
@@ -85,10 +85,9 @@ export interface DataGridToggleAllRowsProps extends TableToggleAllRowsSelectedPr
85
85
  }
86
86
  export interface DatagridTableHooks<T extends object = any> extends UseTableHooks<T> {
87
87
  }
88
- export interface DatagridColumn<T extends object = any> extends ColumnInstance<T>, UseSortByOptions<T> {
88
+ export interface DatagridColumn<T extends object = any> extends ColumnInstance<T> {
89
89
  sticky?: 'left' | 'right';
90
90
  className?: string;
91
- rightAlignedColumn?: boolean;
92
91
  disableSortBy?: boolean;
93
92
  centerAlignedColumn?: boolean;
94
93
  }
@@ -101,7 +100,6 @@ export interface DatagridRow<T extends object = any> extends Omit<Row<T>, 'cells
101
100
  RowExpansionRenderer?: (state?: DataGridState) => void;
102
101
  cells: Array<DataGridCell>;
103
102
  isSkeleton?: boolean;
104
- hasExpanded?: boolean;
105
103
  }
106
104
  export interface DataGridHeader<T extends object = any> extends ColumnInstance, UseResizeColumnsColumnProps<T>, UseSortByColumnProps<T> {
107
105
  className(className: any, arg1: {
@@ -122,16 +120,6 @@ interface DataGridTableState extends UseResizeColumnsState<any>, UseRowSelectSta
122
120
  }
123
121
  export interface DataGridTableInstance<T extends object = any> extends TableInstance<T> {
124
122
  }
125
- export interface RowAction {
126
- id?: string;
127
- itemText?: string;
128
- icon?: ComponentType | FunctionComponent;
129
- align?: React.ComponentProps<typeof IconButton>['align'];
130
- shouldHideMenuItem?: (...args: any[]) => void;
131
- shouldDisableMenuItem?: (...args: any[]) => void;
132
- disabled?: boolean;
133
- onClick?: (...args: any[]) => void;
134
- }
135
123
  export interface DataGridState<T extends object = any> extends TableCommonProps, UsePaginationInstanceProps<T>, Omit<TableInstance<T>, 'state' | 'headers' | 'rows' | 'columns'>, Omit<UseFiltersInstanceProps<T>, 'rows'>, UseRowSelectInstanceProps<T>, Pick<UseRowSelectInstanceProps<T>, 'toggleAllRowsSelected'> {
136
124
  withVirtualScroll?: boolean;
137
125
  DatagridPagination?: JSXElementConstructor<any>;
@@ -154,7 +142,6 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
154
142
  batchActions?: boolean;
155
143
  row: DatagridRow;
156
144
  rows: Array<DatagridRow<any>>;
157
- rowActions?: RowAction[];
158
145
  columns: Array<DatagridColumn>;
159
146
  key?: any;
160
147
  rowSize?: Size;
@@ -230,5 +217,4 @@ export interface ResizeHeaderProps {
230
217
  isFetching?: boolean;
231
218
  }
232
219
  export type VisibleColumns<T extends object = {}> = (allColumns: Array<ColumnInstance<T>>, meta: Meta<T>) => Array<Column<T>>;
233
- export type NodeFuncType = (props: any) => ReactNode;
234
220
  export {};
@@ -1,9 +1,2 @@
1
- /**
2
- * Copyright IBM Corp. 2021, 2023
3
- *
4
- * This source code is licensed under the Apache-2.0 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import { Hooks } from 'react-table';
8
- declare const useActionsColumn: (hooks: Hooks) => void;
9
1
  export default useActionsColumn;
2
+ declare function useActionsColumn(hooks: any): void;
@@ -26,10 +26,9 @@ var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuIt
26
26
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
27
27
  var useActionsColumn = function useActionsColumn(hooks) {
28
28
  var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
29
- var _ref = instance,
30
- rowActions = _ref.rowActions,
31
- isFetching = _ref.isFetching,
32
- selectedRowIds = _ref.state.selectedRowIds;
29
+ var rowActions = instance.rowActions,
30
+ isFetching = instance.isFetching,
31
+ selectedRowIds = instance.state.selectedRowIds;
33
32
  var getDisabledState = function getDisabledState(rowIndex) {
34
33
  var selectedRowIndexes = Object.keys(selectedRowIds).map(function (n) {
35
34
  return Number(n);
@@ -89,10 +88,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
89
88
  return;
90
89
  }
91
90
  e.stopPropagation();
92
- _onClick === null || _onClick === void 0 || _onClick(id, row, e);
91
+ _onClick(id, row, e);
93
92
  },
94
93
  disabled: isDisabledByRow
95
- }), Icon && /*#__PURE__*/React__default["default"].createElement(Icon, null)));
94
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, null)));
96
95
  })), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(react.OverflowMenu, {
97
96
  align: "left",
98
97
  size: "sm",
@@ -118,7 +117,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
118
117
  disabled: isDisabledByRow,
119
118
  onClick: function onClick(e) {
120
119
  e.stopPropagation();
121
- _onClick2 === null || _onClick2 === void 0 || _onClick2(id, row, e);
120
+ _onClick2(id, row, e);
122
121
  },
123
122
  key: id
124
123
  }));
@@ -1,9 +1,2 @@
1
- /**
2
- * Copyright IBM Corp. 2020, 2023
3
- *
4
- * This source code is licensed under the Apache-2.0 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import { Hooks } from 'react-table';
8
- declare const useColumnRightAlign: (hooks: Hooks) => void;
9
1
  export default useColumnRightAlign;
2
+ declare function useColumnRightAlign(hooks: any): void;
@@ -22,17 +22,16 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
22
22
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
23
  var useColumnRightAlign = function useColumnRightAlign(hooks) {
24
24
  var RightAlignRenderer = function RightAlignRenderer(tableProps, column) {
25
- var _tableProps$column, _column$Cell;
26
25
  return /*#__PURE__*/React__default["default"].createElement("div", {
27
26
  className: cx__default["default"]("".concat(blockClass, "__right-align-cell-renderer"), {
28
- sortDisabled: !tableProps.isTableSortable || (tableProps === null || tableProps === void 0 || (_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.disableSortBy) === true
27
+ sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
29
28
  })
30
- }, column === null || column === void 0 || (_column$Cell = column.Cell) === null || _column$Cell === void 0 ? void 0 : _column$Cell.call(column, tableProps));
29
+ }, column.Cell(tableProps));
31
30
  };
32
31
  var RightAlignHeader = function RightAlignHeader(headerProp, column) {
33
32
  return /*#__PURE__*/React__default["default"].createElement("div", {
34
33
  className: "".concat(blockClass, "__right-align-header")
35
- }, typeof column.Header === 'function' ? (column === null || column === void 0 ? void 0 : column.Header.bind(column))(headerProp) : column.Header);
34
+ }, typeof column.Header === 'function' ? column.Header(headerProp) : column.Header);
36
35
  };
37
36
  var rightAlignedColumns = function rightAlignedColumns(columns) {
38
37
  var columnsWithDefaultCells = columns.map(function (column) {