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

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.
Files changed (61) 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 +12 -22
  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 +2 -5
  26. package/es/components/Datagrid/useColumnRightAlign.d.ts +1 -8
  27. package/es/components/Datagrid/useColumnRightAlign.js +3 -4
  28. package/es/components/Datagrid/useInlineEdit.d.ts +1 -8
  29. package/es/components/Datagrid/useInlineEdit.js +1 -1
  30. package/es/components/Datagrid/useNestedRows.js +9 -27
  31. package/es/components/Decorator/Decorator.js +1 -2
  32. package/es/components/DecoratorBase/DecoratorBase.js +5 -3
  33. package/es/components/DecoratorDualButton/DecoratorDualButton.js +1 -2
  34. package/es/components/DecoratorLink/DecoratorLink.js +1 -2
  35. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +1 -2
  36. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +12 -22
  37. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +1 -9
  38. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -18
  39. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +0 -8
  40. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +6 -17
  41. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +1 -4
  42. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +1 -3
  43. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +3 -15
  44. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
  45. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +2 -34
  46. package/lib/components/Datagrid/types/index.d.ts +2 -5
  47. package/lib/components/Datagrid/useColumnRightAlign.d.ts +1 -8
  48. package/lib/components/Datagrid/useColumnRightAlign.js +3 -4
  49. package/lib/components/Datagrid/useInlineEdit.d.ts +1 -8
  50. package/lib/components/Datagrid/useInlineEdit.js +1 -1
  51. package/lib/components/Datagrid/useNestedRows.js +9 -27
  52. package/lib/components/Decorator/Decorator.js +1 -2
  53. package/lib/components/DecoratorBase/DecoratorBase.js +5 -3
  54. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +1 -2
  55. package/lib/components/DecoratorLink/DecoratorLink.js +1 -2
  56. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +1 -2
  57. package/package.json +3 -3
  58. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +0 -1
  59. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  60. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  61. package/scss/components/UserProfileImage/_user-profile-image.scss +2 -6
@@ -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;
@@ -6,7 +6,7 @@ import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonG
6
6
  import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
7
7
  import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
8
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, UseSortByOptions, UseTableHooks } from 'react-table';
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
11
  import { type ButtonProps } from '@carbon/react';
12
12
  import { TableBatchActionsProps } from '@carbon/react/lib/components/DataTable/TableBatchActions';
@@ -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: {
@@ -219,5 +217,4 @@ export interface ResizeHeaderProps {
219
217
  isFetching?: boolean;
220
218
  }
221
219
  export type VisibleColumns<T extends object = {}> = (allColumns: Array<ColumnInstance<T>>, meta: Meta<T>) => Array<Column<T>>;
222
- export type NodeFuncType = (props: any) => ReactNode;
223
220
  export {};
@@ -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) {
@@ -1,9 +1,2 @@
1
- /**
2
- * Copyright IBM Corp. 2022, 2024
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 useInlineEdit: (hooks: Hooks) => void;
9
1
  export default useInlineEdit;
2
+ declare function useInlineEdit(hooks: any): void;
@@ -34,7 +34,7 @@ var useInlineEdit = function useInlineEdit(hooks) {
34
34
  tabIndex: -1,
35
35
  value: cell.value,
36
36
  cell: cell,
37
- disabledCell: isDisabled,
37
+ isDisabled: isDisabled,
38
38
  instance: instance,
39
39
  type: type
40
40
  });
@@ -23,30 +23,12 @@ var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
23
  var useNestedRows = function useNestedRows(hooks) {
24
24
  useNestedRowExpander["default"](hooks);
25
25
  var useInstance = function useInstance(instance) {
26
- React.useEffect(function () {
27
- var _ref = instance,
28
- rows = _ref.rows;
29
- var defaultExpandedRows = rows.filter(function (row) {
30
- var _row$original;
31
- return row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.defaultExpanded;
32
- });
33
- if (defaultExpandedRows !== null && defaultExpandedRows !== void 0 && defaultExpandedRows.length) {
34
- defaultExpandedRows.map(function (defaultExpandedRow) {
35
- if (!(defaultExpandedRow !== null && defaultExpandedRow !== void 0 && defaultExpandedRow.isExpanded) && !(defaultExpandedRow !== null && defaultExpandedRow !== void 0 && defaultExpandedRow.hasExpanded)) {
36
- var _defaultExpandedRow$t;
37
- defaultExpandedRow === null || defaultExpandedRow === void 0 || (_defaultExpandedRow$t = defaultExpandedRow.toggleRowExpanded) === null || _defaultExpandedRow$t === void 0 || _defaultExpandedRow$t.call(defaultExpandedRow);
38
- defaultExpandedRow.hasExpanded = true;
39
- return;
40
- }
41
- });
42
- }
43
- }, [instance, instance.rows]);
44
26
  // This useEffect will expand rows if they exist in the initialState obj
45
27
  React.useEffect(function () {
46
28
  var rows = instance.rows,
47
29
  initialState = instance.initialState;
48
- var _ref2 = initialState,
49
- expandedRowIds = _ref2.expandedRowIds;
30
+ var _ref = initialState,
31
+ expandedRowIds = _ref.expandedRowIds;
50
32
  if (expandedRowIds) {
51
33
  Object.keys(expandedRowIds).forEach(function (key) {
52
34
  var row = rows.filter(function (r) {
@@ -60,14 +42,14 @@ var useNestedRows = function useNestedRows(hooks) {
60
42
  }
61
43
  }, [instance]);
62
44
  var marginLeft = 24;
63
- var getRowProps = function getRowProps(props, _ref3) {
64
- var row = _ref3.row;
45
+ var getRowProps = function getRowProps(props, _ref2) {
46
+ var row = _ref2.row;
65
47
  return [props, {
66
48
  className: cx__default["default"](_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__carbon-nested-row"), row.depth > 0), "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded))
67
49
  }];
68
50
  };
69
- var getRowStyles = function getRowStyles(props, _ref4) {
70
- var row = _ref4.row;
51
+ var getRowStyles = function getRowStyles(props, _ref3) {
52
+ var row = _ref3.row;
71
53
  return [props, {
72
54
  style: {
73
55
  paddingLeft: "".concat(row.depth > 1 ? marginLeft * 2 + (row.depth - 1) * (marginLeft + marginLeft / 3) : row.depth === 1 ? marginLeft * 2 : 0, "px")
@@ -77,9 +59,9 @@ var useNestedRows = function useNestedRows(hooks) {
77
59
  var getIndentation = function getIndentation(depth) {
78
60
  return 32 * depth + 16;
79
61
  }; // row indentation padding
80
- var getCellProps = function getCellProps(props, _ref5) {
81
- var cell = _ref5.cell,
82
- instance = _ref5.instance;
62
+ var getCellProps = function getCellProps(props, _ref4) {
63
+ var cell = _ref4.cell,
64
+ instance = _ref4.instance;
83
65
  // we add a dynamic -ve margin right only if the cell is resized below minimum width i.e 50px, else we set the width based on indentation at different levels
84
66
  var isFirstCell = instance.columns.findIndex(function (c) {
85
67
  return c.id === cell.column.id;
@@ -95,8 +95,7 @@ exports.Decorator.propTypes = {
95
95
  */
96
96
  small: index["default"].bool,
97
97
  /**
98
- * Override the default theme of the component.
99
- * Useful if you want "invert" the component's theme.
98
+ * Determines the theme of the component.
100
99
  */
101
100
  theme: index["default"].oneOf(['light', 'dark']),
102
101
  /**
@@ -32,7 +32,8 @@ var defaults = {
32
32
  onContextMenu: function onContextMenu() {},
33
33
  onContextMenuLabel: function onContextMenuLabel() {},
34
34
  onContextMenuValue: function onContextMenuValue() {},
35
- scoreThresholds: [0, 4, 7, 10]
35
+ scoreThresholds: [0, 4, 7, 10],
36
+ theme: 'light'
36
37
  };
37
38
 
38
39
  /**
@@ -64,7 +65,8 @@ var DecoratorBase = /*#__PURE__*/React__default["default"].forwardRef(function (
64
65
  _ref$scoreThresholds = _ref.scoreThresholds,
65
66
  scoreThresholds = _ref$scoreThresholds === void 0 ? defaults.scoreThresholds : _ref$scoreThresholds,
66
67
  small = _ref.small,
67
- theme = _ref.theme,
68
+ _ref$theme = _ref.theme,
69
+ theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
68
70
  truncateValue = _ref.truncateValue,
69
71
  value = _ref.value,
70
72
  valueTitle = _ref.valueTitle,
@@ -74,7 +76,7 @@ var DecoratorBase = /*#__PURE__*/React__default["default"].forwardRef(function (
74
76
  var _value = utils.truncate(value, truncateValue);
75
77
 
76
78
  // These class names apply to all types of DecoratorBase.
77
- var classNames = cx__default["default"](blockClass, className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.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));
79
+ var classNames = cx__default["default"](blockClass, className, "".concat(blockClass, "--").concat(theme), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.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));
78
80
 
79
81
  // These properties apply to all <DecoratorIcons>.
80
82
  var decoratorIconsProps = {
@@ -119,8 +119,7 @@ exports.DecoratorDualButton.propTypes = {
119
119
  */
120
120
  small: index["default"].bool,
121
121
  /**
122
- * Override the default theme of the component.
123
- * Useful if you want "invert" the component's theme.
122
+ * Determines the theme of the component.
124
123
  */
125
124
  theme: index["default"].oneOf(['light', 'dark']),
126
125
  /**
@@ -109,8 +109,7 @@ exports.DecoratorLink.propTypes = {
109
109
  */
110
110
  small: index["default"].bool,
111
111
  /**
112
- * Override the default theme of the component.
113
- * Useful if you want "invert" the component's theme.
112
+ * Determines the theme of the component.
114
113
  */
115
114
  theme: index["default"].oneOf(['light', 'dark']),
116
115
  /**
@@ -109,8 +109,7 @@ exports.DecoratorSingleButton.propTypes = {
109
109
  */
110
110
  small: index["default"].bool,
111
111
  /**
112
- * Override the default theme of the component.
113
- * Useful if you want "invert" the component's theme.
112
+ * Determines the theme of the component.
114
113
  */
115
114
  theme: index["default"].oneOf(['light', 'dark']),
116
115
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "2.43.2-canary.12+b9055f1a5",
4
+ "version": "2.43.2-canary.2+1fb233e7a",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -88,7 +88,7 @@
88
88
  "rimraf": "^5.0.5",
89
89
  "rollup": "^2.79.1",
90
90
  "rollup-plugin-strip-banner": "^3.0.0",
91
- "sass": "^1.77.2",
91
+ "sass": "^1.70.0",
92
92
  "typescript-config-carbon": "^0.2.1",
93
93
  "yargs": "^17.7.2"
94
94
  },
@@ -119,5 +119,5 @@
119
119
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
120
120
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
121
121
  },
122
- "gitHead": "b9055f1a58d6b8c093b418db05a7768000e6944f"
122
+ "gitHead": "1fb233e7adbb94a82893e6f55578ae27548108dc"
123
123
  }
@@ -98,7 +98,6 @@ $header-cell-background: $layer-accent-01;
98
98
  position: sticky;
99
99
  z-index: 4;
100
100
  left: 0;
101
- background-color: $background;
102
101
  }
103
102
  .#{$block-class}__td-th.#{$block-class}__td {
104
103
  @include font-family.font-weight('semibold');
@@ -73,7 +73,7 @@ $themes: ('light', 'dark');
73
73
 
74
74
  $block-class: #{$pkg-prefix}--status-icon;
75
75
 
76
- @function carbon-clr($name, $theme: light) {
76
+ @function --clr($name, $theme: light) {
77
77
  // stylelint-disable-next-line carbon/theme-token-use
78
78
  $color: map-get(map-get($colors, $name), $theme);
79
79
  @return $color;
@@ -125,13 +125,13 @@ $block-class: #{$pkg-prefix}--status-icon;
125
125
  // stylelint-disable-next-line carbon/motion-duration-use, carbon/motion-easing-use
126
126
  animation: rotating 8000ms infinite linear;
127
127
  // stylelint-disable-next-line carbon/theme-token-use
128
- fill: carbon-clr($icon, $theme);
128
+ fill: --clr($icon, $theme);
129
129
  } @else if $icon == running {
130
130
  // stylelint-disable-next-line carbon/theme-token-use
131
- fill: carbon-clr($icon, $theme);
131
+ fill: --clr($icon, $theme);
132
132
  } @else {
133
133
  // stylelint-disable-next-line carbon/theme-token-use
134
- fill: carbon-clr($icon, $theme);
134
+ fill: --clr($icon, $theme);
135
135
  @media (prefers-reduced-motion) {
136
136
  .#{$block-class}--#{$theme}.#{$block-class}--#{$theme-key}-in-progress {
137
137
  animation: none;
@@ -79,7 +79,7 @@ $popover-block-class: #{c4p-settings.$carbon-prefix}--popover;
79
79
  .#{$block-class}
80
80
  .#{$popover-block-class}--top-right
81
81
  .#{$popover-block-class}-caret {
82
- /* stylelint-disable-next-line */
82
+ /* stylelint-disable-next-line declaration-no-important */
83
83
  inset-block-start: -1px !important;
84
84
  }
85
85
 
@@ -92,6 +92,6 @@ $popover-block-class: #{c4p-settings.$carbon-prefix}--popover;
92
92
  .#{$block-class}
93
93
  .#{$popover-block-class}--bottom-right
94
94
  .#{$popover-block-class}-caret {
95
- /* stylelint-disable-next-line */
95
+ /* stylelint-disable-next-line declaration-no-important */
96
96
  inset-block-end: -1px !important;
97
97
  }
@@ -44,7 +44,7 @@ $themes: (
44
44
 
45
45
  $theme-keys: map-keys($themes);
46
46
 
47
- @function carbon-get-background-color($color, $key, $contrast-key) {
47
+ @function --get-background-color($color, $key, $contrast-key) {
48
48
  @return map-get(
49
49
  $carbon-colors,
50
50
  #{$color}#{map-get(map-get($themes, $key), #{$contrast-key}-contrast)}
@@ -59,11 +59,7 @@ $theme-keys: map-keys($themes);
59
59
  @each $contrast-key in $theme-keys {
60
60
  .#{$block-class}--#{$key}.#{$block-class}--#{$contrast-key}-#{$color} {
61
61
  // stylelint-disable-next-line carbon/theme-token-use
62
- background-color: carbon-get-background-color(
63
- $color,
64
- $key,
65
- $contrast-key
66
- );
62
+ background-color: --get-background-color($color, $key, $contrast-key);
67
63
  }
68
64
  }
69
65
  }