@carbon/ibm-products 2.29.0 → 2.30.0-alpha.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/css/index-full-carbon.css +48 -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 +44 -3
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +48 -3
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +48 -3
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/AboutModal/AboutModal.js +3 -25
  18. package/es/components/DataSpreadsheet/DataSpreadsheet.js +120 -145
  19. package/es/components/Datagrid/Datagrid/DatagridRow.js +1 -1
  20. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +4 -2
  21. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +6 -3
  22. package/es/components/Datagrid/useActionsColumn.js +6 -2
  23. package/es/components/Toolbar/ToolbarButton.d.ts +24 -3
  24. package/es/components/Toolbar/ToolbarButton.js +2 -2
  25. package/lib/components/AboutModal/AboutModal.js +1 -23
  26. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +120 -145
  27. package/lib/components/Datagrid/Datagrid/DatagridRow.js +1 -1
  28. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +4 -2
  29. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +6 -3
  30. package/lib/components/Datagrid/useActionsColumn.js +6 -2
  31. package/lib/components/Toolbar/ToolbarButton.d.ts +24 -3
  32. package/lib/components/Toolbar/ToolbarButton.js +2 -2
  33. package/package.json +4 -3
  34. package/scss/components/AboutModal/_about-modal.scss +7 -2
  35. package/scss/components/Datagrid/styles/_useExpandedRow.scss +8 -0
  36. package/scss/components/Datagrid/styles/_useNestedRows.scss +54 -0
  37. package/scss/components/Datagrid/styles/_useStickyColumn.scss +5 -0
  38. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +1 -1
  39. package/scss/components/TagSet/_tag-set.scss +1 -0
@@ -301,29 +301,121 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
301
301
  updateActiveCellCoordinates({
302
302
  coords: coordinatesClone,
303
303
  updatedValue: {
304
- column: type === 'home' ? 0 : columns.length - 1
304
+ column: type === 'Home' ? 0 : columns.length - 1
305
305
  }
306
306
  });
307
307
  removeCellSelections.removeCellSelections({
308
308
  spreadsheetRef: spreadsheetRef
309
309
  });
310
310
  }, [activeCellCoordinates, updateActiveCellCoordinates, spreadsheetRef, columns.length]);
311
+ var checkforReturnConditon = React.useCallback(function (key) {
312
+ return isEditing || key === 'Meta' || key === 'Control';
313
+ }, [isEditing]);
314
+ var handleArrowkeyPress = React.useCallback(function (arrowKey) {
315
+ event.preventDefault();
316
+ handleInitialArrowPress();
317
+ var coordinatesClone = _rollupPluginBabelHelpers.objectSpread2({}, activeCellCoordinates);
318
+ var updatedValue;
319
+ switch (arrowKey) {
320
+ // Left
321
+ case 'ArrowLeft':
322
+ {
323
+ if (coordinatesClone.column === 'header') {
324
+ return;
325
+ }
326
+ if (typeof coordinatesClone.column === 'number') {
327
+ if (coordinatesClone.column === 0) {
328
+ updatedValue = {
329
+ column: 'header'
330
+ };
331
+ } else {
332
+ updatedValue = {
333
+ column: coordinatesClone.column - 1
334
+ };
335
+ }
336
+ }
337
+ break;
338
+ }
339
+ // Up
340
+ case 'ArrowUp':
341
+ {
342
+ if (coordinatesClone.row === 'header') {
343
+ return;
344
+ }
345
+ if (typeof coordinatesClone.row === 'number') {
346
+ // set row back to header if we are at index 0
347
+ if (coordinatesClone.row === 0) {
348
+ updatedValue = {
349
+ row: 'header'
350
+ };
351
+ } else {
352
+ // if we are at any other index than 0, subtract 1 from current row index
353
+ updatedValue = {
354
+ row: coordinatesClone.row - 1
355
+ };
356
+ }
357
+ }
358
+ break;
359
+ }
360
+ // Right
361
+ case 'ArrowRight':
362
+ {
363
+ if (coordinatesClone.column === 'header') {
364
+ updatedValue = {
365
+ column: 0
366
+ };
367
+ }
368
+ if (typeof coordinatesClone.column === 'number') {
369
+ // Prevent active cell coordinates from updating if the active
370
+ // cell is in the last column, ie we can't go any further to the right
371
+ if (columns.length - 1 === coordinatesClone.column) {
372
+ return;
373
+ } else {
374
+ updatedValue = {
375
+ column: coordinatesClone.column + 1
376
+ };
377
+ }
378
+ }
379
+ break;
380
+ }
381
+ // Down
382
+ case 'ArrowDown':
383
+ {
384
+ if (coordinatesClone.row === 'header') {
385
+ updatedValue = {
386
+ row: 0
387
+ };
388
+ }
389
+ if (typeof coordinatesClone.row === 'number') {
390
+ // Prevent active cell coordinates from updating if the active
391
+ // cell is in the last row, ie we can't go any further down since
392
+ // we are in the last row
393
+ if (rows.length - 1 === coordinatesClone.row) {
394
+ return;
395
+ } else {
396
+ updatedValue = {
397
+ row: coordinatesClone.row + 1
398
+ };
399
+ }
400
+ }
401
+ break;
402
+ }
403
+ }
404
+ if (updatedValue) {
405
+ updateActiveCellCoordinates({
406
+ coords: coordinatesClone,
407
+ updatedValue: updatedValue
408
+ });
409
+ }
410
+ }, [handleInitialArrowPress, updateActiveCellCoordinates, activeCellCoordinates, columns, rows]);
311
411
  var handleKeyPress = React.useCallback(function (event) {
312
412
  var key = event.key;
313
- if (isEditing) {
314
- return;
315
- }
316
413
  // Command keys need to be returned as there is default browser behavior with these keys
317
- if (key === 'Meta' || key === 'Control') {
318
- return;
319
- }
320
- // Prevent arrow keys, home key, and end key from scrolling the page when the data spreadsheet container has focus
321
- if (['End', 'Home', 'ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown'].indexOf(key) > -1 && !isEditing) {
322
- event.preventDefault();
323
- }
324
- if (['Tab'].indexOf(key) > -1 && isEditing) {
414
+ // Needs to be returned in editing mode
415
+ if (checkforReturnConditon(key)) {
325
416
  return;
326
417
  }
418
+
327
419
  // Clear out all cell selection areas if user uses any arrow key, except if the shift key is being held
328
420
  if (['ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown'].indexOf(key) > -1) {
329
421
  if (selectionAreas !== null && selectionAreas !== void 0 && selectionAreas.length && keysPressedList.length < 2 && !handleMultipleKeys.includesShift(keysPressedList)) {
@@ -334,7 +426,7 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
334
426
  });
335
427
  }
336
428
  }
337
- if (!isEditing && (keysPressedList === null || keysPressedList === void 0 ? void 0 : keysPressedList.length) > 1) {
429
+ if ((keysPressedList === null || keysPressedList === void 0 ? void 0 : keysPressedList.length) > 1) {
338
430
  handleMultipleKeys.handleMultipleKeys({
339
431
  activeCellCoordinates: activeCellCoordinates,
340
432
  event: event,
@@ -352,27 +444,24 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
352
444
  usingMac: usingMac
353
445
  });
354
446
  }
355
- var deleteParams = {
356
- selectionAreas: selectionAreas,
357
- currentMatcher: currentMatcher,
358
- rows: rows,
359
- setActiveCellContent: setActiveCellContent,
360
- updateData: updateData,
361
- activeCellCoordinates: activeCellCoordinates
362
- };
447
+
363
448
  // Allow arrow key navigation if there are less than two activeKeys OR
364
449
  // if one of the activeCellCoordinates is in a header position
450
+ // Prevent arrow keys, home key, and end key from scrolling the page when the data spreadsheet container has focus
451
+
365
452
  if (keysPressedList.length < 2 && !handleMultipleKeys.includesShift(keysPressedList) || activeCellCoordinates.row === 'header' || activeCellCoordinates.column === 'header') {
366
453
  switch (key) {
367
- // Backspace
368
454
  case 'Backspace':
369
- {
370
- handleCellDeletion.handleCellDeletion(deleteParams);
371
- break;
372
- }
373
- // Delete
374
455
  case 'Delete':
375
456
  {
457
+ var deleteParams = {
458
+ selectionAreas: selectionAreas,
459
+ currentMatcher: currentMatcher,
460
+ rows: rows,
461
+ setActiveCellContent: setActiveCellContent,
462
+ updateData: updateData,
463
+ activeCellCoordinates: activeCellCoordinates
464
+ };
376
465
  handleCellDeletion.handleCellDeletion(deleteParams);
377
466
  break;
378
467
  }
@@ -390,22 +479,14 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
390
479
  }
391
480
  // HOME
392
481
  case 'Home':
393
- {
394
- if (handleMultipleKeys.includesResourceKey(keysPressedList, usingMac)) {
395
- return;
396
- }
397
- handleHomeEndKey({
398
- type: 'home'
399
- });
400
- break;
401
- }
402
482
  case 'End':
403
483
  {
484
+ event.preventDefault();
404
485
  if (handleMultipleKeys.includesResourceKey(keysPressedList, usingMac)) {
405
486
  return;
406
487
  }
407
488
  handleHomeEndKey({
408
- type: 'end'
489
+ type: key
409
490
  });
410
491
  break;
411
492
  }
@@ -429,122 +510,16 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
429
510
  setActiveCellCoordinates(null);
430
511
  break;
431
512
  }
432
- // Left
433
513
  case 'ArrowLeft':
434
- {
435
- handleInitialArrowPress();
436
- var coordinatesClone = _rollupPluginBabelHelpers.objectSpread2({}, activeCellCoordinates);
437
- if (coordinatesClone.column === 'header') {
438
- return;
439
- }
440
- if (typeof coordinatesClone.column === 'number') {
441
- if (coordinatesClone.column === 0) {
442
- updateActiveCellCoordinates({
443
- coords: coordinatesClone,
444
- updatedValue: {
445
- column: 'header'
446
- }
447
- });
448
- return;
449
- }
450
- updateActiveCellCoordinates({
451
- coords: coordinatesClone,
452
- updatedValue: {
453
- column: coordinatesClone.column - 1
454
- }
455
- });
456
- }
457
- break;
458
- }
459
- // Up
460
514
  case 'ArrowUp':
461
- {
462
- handleInitialArrowPress();
463
- var _coordinatesClone = _rollupPluginBabelHelpers.objectSpread2({}, activeCellCoordinates);
464
- if (_coordinatesClone.row === 'header') {
465
- return;
466
- }
467
- if (typeof _coordinatesClone.row === 'number') {
468
- // set row back to header if we are at index 0
469
- if (_coordinatesClone.row === 0) {
470
- updateActiveCellCoordinates({
471
- coords: _coordinatesClone,
472
- updatedValue: {
473
- row: 'header'
474
- }
475
- });
476
- return;
477
- }
478
- // if we are at any other index than 0, subtract 1 from current row index
479
- updateActiveCellCoordinates({
480
- coords: _coordinatesClone,
481
- updatedValue: {
482
- row: _coordinatesClone.row - 1
483
- }
484
- });
485
- }
486
- break;
487
- }
488
- // Right
489
515
  case 'ArrowRight':
490
- {
491
- handleInitialArrowPress();
492
- var _coordinatesClone2 = _rollupPluginBabelHelpers.objectSpread2({}, activeCellCoordinates);
493
- if (_coordinatesClone2.column === 'header') {
494
- updateActiveCellCoordinates({
495
- coords: _coordinatesClone2,
496
- updatedValue: {
497
- column: 0
498
- }
499
- });
500
- }
501
- if (typeof _coordinatesClone2.column === 'number') {
502
- // Prevent active cell coordinates from updating if the active
503
- // cell is in the last column, ie we can't go any further to the right
504
- if (columns.length - 1 === _coordinatesClone2.column) {
505
- return;
506
- }
507
- updateActiveCellCoordinates({
508
- coords: _coordinatesClone2,
509
- updatedValue: {
510
- column: _coordinatesClone2.column + 1
511
- }
512
- });
513
- }
514
- break;
515
- }
516
- // Down
517
516
  case 'ArrowDown':
518
517
  {
519
- handleInitialArrowPress();
520
- var _coordinatesClone3 = _rollupPluginBabelHelpers.objectSpread2({}, activeCellCoordinates);
521
- if (_coordinatesClone3.row === 'header') {
522
- updateActiveCellCoordinates({
523
- coords: _coordinatesClone3,
524
- updatedValue: {
525
- row: 0
526
- }
527
- });
528
- }
529
- if (typeof _coordinatesClone3.row === 'number') {
530
- // Prevent active cell coordinates from updating if the active
531
- // cell is in the last row, ie we can't go any further down since
532
- // we are in the last row
533
- if (rows.length - 1 === _coordinatesClone3.row) {
534
- return;
535
- }
536
- updateActiveCellCoordinates({
537
- coords: _coordinatesClone3,
538
- updatedValue: {
539
- row: _coordinatesClone3.row + 1
540
- }
541
- });
542
- }
543
- break;
518
+ handleArrowkeyPress(key);
544
519
  }
545
520
  }
546
521
  }
547
- }, [activeCellInsideSelectionArea, updateActiveCellCoordinates, handleInitialArrowPress, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, isEditing, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData]);
522
+ }, [activeCellInsideSelectionArea, updateActiveCellCoordinates, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData, checkforReturnConditon, handleArrowkeyPress]);
548
523
  var startEditMode = function startEditMode() {
549
524
  setIsEditing(true);
550
525
  setClickAndHoldActive(false);
@@ -162,7 +162,7 @@ var DatagridRow = function DatagridRow(datagridState) {
162
162
  return h.id === cell.column.id;
163
163
  });
164
164
  return /*#__PURE__*/React__default["default"].createElement(react.TableCell, _rollupPluginBabelHelpers["extends"]({
165
- className: cx__default["default"]("".concat(blockClass, "__cell"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/React.isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)))
165
+ className: cx__default["default"]("".concat(blockClass, "__cell"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0), "".concat(blockClass, "__expandable-row-cell--is-expanded"), row.isExpanded && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/React.isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)))
166
166
  }, restProps, {
167
167
  key: cell.column.id,
168
168
  title: title
@@ -16,9 +16,10 @@ var react = require('@carbon/react');
16
16
  var common = require('./common.js');
17
17
  var DraggableElement = require('../../DraggableElement.js');
18
18
  var settings = require('../../../../../settings.js');
19
+ var getNodeTextContent = require('../../../../../global/js/utils/getNodeTextContent.js');
19
20
  var core = require('@dnd-kit/core');
20
21
  var sortable = require('@dnd-kit/sortable');
21
- var getNodeTextContent = require('../../../../../global/js/utils/getNodeTextContent.js');
22
+ var modifiers = require('@dnd-kit/modifiers');
22
23
 
23
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
25
 
@@ -152,7 +153,8 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
152
153
  onDragEnd: handleDragEnd,
153
154
  onDragStart: handleDragStart,
154
155
  onDragMove: handleDragUpdate,
155
- sensors: sensors
156
+ sensors: sensors,
157
+ modifiers: [modifiers.restrictToParentElement, modifiers.restrictToVerticalAxis]
156
158
  }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
157
159
  className: "".concat(blockClass, "__draggable-underlay"),
158
160
  "aria-hidden": "true",
@@ -411,9 +411,12 @@ var useFilters = function useFilters(_ref) {
411
411
  });
412
412
  return updatedFilters[0];
413
413
  };
414
- setFiltersObjectArray(savedFilters);
415
- var filterStateCopy = cleanFilters(filtersState);
416
- setFiltersState(filterStateCopy);
414
+ if (savedFilters && savedFilters.length) {
415
+ var _cleanFilters;
416
+ setFiltersObjectArray(savedFilters);
417
+ var filterStateCopy = (_cleanFilters = cleanFilters(filtersState)) !== null && _cleanFilters !== void 0 ? _cleanFilters : [];
418
+ setFiltersState(filterStateCopy);
419
+ }
417
420
  }
418
421
  if (!isFetching) {
419
422
  setFetchingReset(false);
@@ -21,7 +21,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
21
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
22
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
- var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuItem"],
24
+ var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuItem", "shouldDisableMenuItem", "disabled"],
25
25
  _excluded2 = ["id", "onClick", "shouldHideMenuItem", "shouldDisableMenuItem", "disabled"];
26
26
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
27
27
  var useActionsColumn = function useActionsColumn(hooks) {
@@ -63,8 +63,11 @@ var useActionsColumn = function useActionsColumn(hooks) {
63
63
  _onClick = preparedActionProps.onClick,
64
64
  icon = preparedActionProps.icon,
65
65
  shouldHideMenuItem = preparedActionProps.shouldHideMenuItem,
66
+ shouldDisableMenuItem = preparedActionProps.shouldDisableMenuItem,
67
+ disabled = preparedActionProps.disabled,
66
68
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(preparedActionProps, _excluded);
67
69
  var hidden = typeof shouldHideMenuItem === 'function' && shouldHideMenuItem(row);
70
+ var isDisabledByRow = typeof shouldDisableMenuItem === 'function' ? shouldDisableMenuItem(row) : disabled;
68
71
  if (hidden) {
69
72
  return null;
70
73
  }
@@ -86,7 +89,8 @@ var useActionsColumn = function useActionsColumn(hooks) {
86
89
  }
87
90
  e.stopPropagation();
88
91
  _onClick(id, row, e);
89
- }
92
+ },
93
+ disabled: isDisabledByRow
90
94
  }), /*#__PURE__*/React__default["default"].createElement(Icon, null)));
91
95
  })), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(react.OverflowMenu, {
92
96
  align: "left",
@@ -1,4 +1,25 @@
1
- export const blockClass: string;
2
- /** Toolbar buttons are common functions performed as part of a products interface or an open window. */
3
- export let ToolbarButton: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
1
+ /**
2
+ * Copyright IBM Corp. 2021, 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
+ /// <reference path="../../../src/custom-typings/index.d.ts" />
8
+ import { IconButton } from '@carbon/react';
4
9
  import React from 'react';
10
+ export declare const blockClass: string;
11
+ interface ToolbarButtonProps extends React.ComponentProps<typeof IconButton> {
12
+ /** Determines whether the caret is rendered */
13
+ caret?: boolean;
14
+ /** Provide an optional class to be applied to the containing node */
15
+ className?: string;
16
+ /** Specifies the label for the icon button */
17
+ iconDescription: string;
18
+ /** Specifies the icon to be used by the ToolbarButton component */
19
+ renderIcon: React.ElementType;
20
+ }
21
+ /** Toolbar buttons are common functions performed as part of a products interface or an open window. */
22
+ export declare let ToolbarButton: React.ForwardRefExoticComponent<ToolbarButtonProps & {
23
+ children?: React.ReactNode;
24
+ } & React.RefAttributes<unknown>>;
25
+ export {};
@@ -24,11 +24,11 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
24
 
25
25
  var _excluded = ["caret", "children", "className", "renderIcon", "iconDescription"];
26
26
  var blockClass = "".concat(Toolbar.blockClass, "__button");
27
-
28
27
  /** Toolbar buttons are common functions performed as part of a products interface or an open window. */
29
28
  exports.ToolbarButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30
29
  var _useContext;
31
- var caret = _ref.caret,
30
+ var _ref$caret = _ref.caret,
31
+ caret = _ref$caret === void 0 ? false : _ref$caret,
32
32
  children = _ref.children,
33
33
  className = _ref.className,
34
34
  renderIcon = _ref.renderIcon,
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.29.0",
4
+ "version": "2.30.0-alpha.11+d4b18eedf",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -93,6 +93,7 @@
93
93
  "@carbon/ibm-products-styles": "^2.28.0",
94
94
  "@carbon/telemetry": "^0.1.0",
95
95
  "@dnd-kit/core": "^6.0.8",
96
+ "@dnd-kit/modifiers": "^7.0.0",
96
97
  "@dnd-kit/sortable": "^8.0.0",
97
98
  "@dnd-kit/utilities": "^3.2.2",
98
99
  "@ibm/telemetry-js": "^1.2.0",
@@ -107,11 +108,11 @@
107
108
  "@carbon/grid": "^11.21.1",
108
109
  "@carbon/layout": "^11.20.1",
109
110
  "@carbon/motion": "^11.16.1",
110
- "@carbon/react": "^1.51.0",
111
+ "@carbon/react": "^1.51.1",
111
112
  "@carbon/themes": "^11.32.0",
112
113
  "@carbon/type": "^11.25.1",
113
114
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
114
115
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
115
116
  },
116
- "gitHead": "b42dcb92fc964b2cbc0f93891937da118da01f60"
117
+ "gitHead": "d4b18eedf920c19fdba0b230a2e30638a346a3f6"
117
118
  }
@@ -41,9 +41,14 @@ $block-class: #{c4p-settings.$pkg-prefix}--about-modal;
41
41
 
42
42
  overflow: hidden auto;
43
43
  min-height: $spacing-10;
44
- padding: 0 20% 0 $spacing-05;
45
- margin-bottom: $spacing-06;
46
44
  grid-row: auto;
45
+ padding-block-start: 0;
46
+ padding-inline: $spacing-05 20%;
47
+
48
+ &:not(.#{c4p-settings.$carbon-prefix}--modal-scroll-content) {
49
+ margin-bottom: $spacing-06;
50
+ padding-block-end: 0;
51
+ }
47
52
  }
48
53
 
49
54
  .#{$block-class}
@@ -69,6 +69,7 @@
69
69
  .#{variables.$block-class}
70
70
  .#{variables.$block-class}__expandable-row--hover
71
71
  td {
72
+ border-top: none;
72
73
  background: $layer-hover;
73
74
  }
74
75
 
@@ -87,6 +88,13 @@
87
88
  border: none;
88
89
  }
89
90
 
91
+ .#{variables.$block-class}
92
+ .#{c4p-settings.$carbon-prefix}--data-table
93
+ .#{variables.$block-class}__carbon-row-expanded:hover
94
+ td:not(.#{variables.$block-class}__expandable-row-cell) {
95
+ border-bottom: 1px solid $border-subtle-02;
96
+ }
97
+
90
98
  .#{variables.$block-class}
91
99
  .#{c4p-settings.$carbon-prefix}--data-table
92
100
  td.#{variables.$block-class}__expanded-row-cell-wrapper {
@@ -64,6 +64,60 @@
64
64
  padding-left: $spacing-03;
65
65
  }
66
66
 
67
+ .#{c4p-settings.$carbon-prefix}--data-table
68
+ td.#{$block-class}__expandable-row-cell
69
+ + td,
70
+ .#{c4p-settings.$carbon-prefix}--data-table
71
+ .#{$block-class}__carbon-nested-row:not(
72
+ .#{$block-class}__carbon-row-expandable
73
+ )
74
+ td.#{$block-class}__cell:nth-of-type(2) {
75
+ position: relative;
76
+ }
77
+
78
+ .#{c4p-settings.$carbon-prefix}--data-table
79
+ td.#{$block-class}__expandable-row-cell.#{$block-class}__expandable-row-cell--is-expanded
80
+ + td::before,
81
+ .#{c4p-settings.$carbon-prefix}--data-table
82
+ .#{$block-class}__carbon-nested-row:not(
83
+ .#{$block-class}__carbon-row-expandable
84
+ )
85
+ td.#{$block-class}__cell:nth-of-type(2)::before,
86
+ .#{c4p-settings.$carbon-prefix}--data-table
87
+ .#{$block-class}__carbon-nested-row
88
+ td.#{$block-class}__expandable-row-cell
89
+ + td::before {
90
+ position: absolute;
91
+ /* stylelint-disable-next-line carbon/layout-token-use */
92
+ bottom: -1px;
93
+ left: 0;
94
+ width: 1rem;
95
+ height: 1px;
96
+ background-color: $layer-01;
97
+ content: '';
98
+ transition: background-color $duration-fast-01 motion(entrance, productive);
99
+ }
100
+
101
+ .#{c4p-settings.$carbon-prefix}--data-table
102
+ tr:hover
103
+ td.#{$block-class}__expandable-row-cell.#{$block-class}__expandable-row-cell--is-expanded
104
+ + td::before,
105
+ .#{c4p-settings.$carbon-prefix}--data-table
106
+ .#{$block-class}__carbon-nested-row:hover
107
+ td.#{$block-class}__expandable-row-cell
108
+ + td::before,
109
+ .#{c4p-settings.$carbon-prefix}--data-table
110
+ .#{$block-class}__expandable-row--hover
111
+ td.#{$block-class}__expandable-row-cell
112
+ + td::before,
113
+ .#{c4p-settings.$carbon-prefix}--data-table
114
+ .#{$block-class}__carbon-nested-row:hover:not(
115
+ .#{$block-class}__carbon-row-expandable
116
+ )
117
+ td.#{$block-class}__cell:nth-of-type(2)::before {
118
+ background-color: $layer-hover;
119
+ }
120
+
67
121
  .#{$block-class}__carbon-row-expanded {
68
122
  .#{$block-class}__expandable-row-cell {
69
123
  border-bottom: none;
@@ -41,6 +41,11 @@
41
41
  position: sticky !important;
42
42
  z-index: 1;
43
43
  left: 0;
44
+ border-right: 1px solid $layer-active-02;
45
+ }
46
+
47
+ .#{variables.$block-class}__right-sticky-column-header {
48
+ border-left: 1px solid $layer-active-02;
44
49
  }
45
50
 
46
51
  .#{variables.$block-class}__left-sticky-column-cell.#{variables.$block-class}__left-sticky-column-cell--with-extra-select-column,
@@ -41,7 +41,7 @@
41
41
  position: relative;
42
42
  z-index: 0;
43
43
  overflow: auto;
44
- padding: 0 $spacing-05;
44
+ padding: 0 $spacing-05 $spacing-10 $spacing-05;
45
45
  overscroll-behavior: contain;
46
46
  }
47
47
 
@@ -146,6 +146,7 @@ $block-class-modal: #{$_block-class}-modal;
146
146
 
147
147
  .#{$block-class-overflow}__show-all-tags-link {
148
148
  margin-top: $spacing-03;
149
+ color: $link-inverse;
149
150
  }
150
151
 
151
152
  .#{$block-class-overflow}__tag-item.#{$block-class-overflow}__tag-item--tag