@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.
- package/css/index-full-carbon.css +2 -3
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +2 -3
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +2 -3
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +12 -22
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +1 -9
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -18
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +0 -8
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +6 -17
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +1 -4
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +1 -3
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +3 -15
- package/es/components/DataSpreadsheet/types/index.d.ts +1 -1
- package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +2 -34
- package/es/components/Datagrid/types/index.d.ts +2 -5
- package/es/components/Datagrid/useColumnRightAlign.d.ts +1 -8
- package/es/components/Datagrid/useColumnRightAlign.js +3 -4
- package/es/components/Datagrid/useInlineEdit.d.ts +1 -8
- package/es/components/Datagrid/useInlineEdit.js +1 -1
- package/es/components/Datagrid/useNestedRows.js +9 -27
- package/es/components/Decorator/Decorator.js +1 -2
- package/es/components/DecoratorBase/DecoratorBase.js +5 -3
- package/es/components/DecoratorDualButton/DecoratorDualButton.js +1 -2
- package/es/components/DecoratorLink/DecoratorLink.js +1 -2
- package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +1 -2
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +12 -22
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +1 -9
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -18
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +0 -8
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +6 -17
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +1 -4
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +1 -3
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +3 -15
- package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
- package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +2 -34
- package/lib/components/Datagrid/types/index.d.ts +2 -5
- package/lib/components/Datagrid/useColumnRightAlign.d.ts +1 -8
- package/lib/components/Datagrid/useColumnRightAlign.js +3 -4
- package/lib/components/Datagrid/useInlineEdit.d.ts +1 -8
- package/lib/components/Datagrid/useInlineEdit.js +1 -1
- package/lib/components/Datagrid/useNestedRows.js +9 -27
- package/lib/components/Decorator/Decorator.js +1 -2
- package/lib/components/DecoratorBase/DecoratorBase.js +5 -3
- package/lib/components/DecoratorDualButton/DecoratorDualButton.js +1 -2
- package/lib/components/DecoratorLink/DecoratorLink.js +1 -2
- package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +1 -2
- package/package.json +3 -3
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +0 -1
- package/scss/components/StatusIcon/_status-icon.scss +4 -4
- package/scss/components/StringFormatter/_string-formatter.scss +2 -2
- 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
|
90
|
-
|
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
|
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
|
-
|
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,
|
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
|
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
|
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,
|
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?:
|
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
|
-
|
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
|
-
|
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,
|
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
|
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 ||
|
27
|
+
sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
|
29
28
|
})
|
30
|
-
}, column
|
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' ?
|
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;
|
@@ -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
|
49
|
-
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,
|
64
|
-
var 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,
|
70
|
-
var 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,
|
81
|
-
var cell =
|
82
|
-
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
|
-
*
|
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,
|
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
|
-
*
|
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
|
-
*
|
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
|
-
*
|
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.
|
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.
|
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": "
|
122
|
+
"gitHead": "1fb233e7adbb94a82893e6f55578ae27548108dc"
|
123
123
|
}
|
@@ -73,7 +73,7 @@ $themes: ('light', 'dark');
|
|
73
73
|
|
74
74
|
$block-class: #{$pkg-prefix}--status-icon;
|
75
75
|
|
76
|
-
@function
|
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:
|
128
|
+
fill: --clr($icon, $theme);
|
129
129
|
} @else if $icon == running {
|
130
130
|
// stylelint-disable-next-line carbon/theme-token-use
|
131
|
-
fill:
|
131
|
+
fill: --clr($icon, $theme);
|
132
132
|
} @else {
|
133
133
|
// stylelint-disable-next-line carbon/theme-token-use
|
134
|
-
fill:
|
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
|
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:
|
63
|
-
$color,
|
64
|
-
$key,
|
65
|
-
$contrast-key
|
66
|
-
);
|
62
|
+
background-color: --get-background-color($color, $key, $contrast-key);
|
67
63
|
}
|
68
64
|
}
|
69
65
|
}
|