@carbon/ibm-products 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/css/index-full-carbon.css +23 -5
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +3 -3
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +4 -4
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +2 -2
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +23 -5
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +23 -5
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -3
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/AddSelect/AddSelect.js +25 -19
  18. package/es/components/AddSelect/AddSelectFilter.js +5 -5
  19. package/es/components/DataSpreadsheet/DataSpreadsheet.js +174 -127
  20. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +24 -8
  21. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +31 -6
  22. package/es/components/DataSpreadsheet/hooks/index.js +2 -1
  23. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +36 -8
  24. package/es/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +68 -0
  25. package/es/components/DataSpreadsheet/utils/createCellSelectionArea.js +20 -8
  26. package/es/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +18 -0
  27. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +121 -0
  28. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +108 -0
  29. package/es/components/DataSpreadsheet/utils/handleEditSubmit.js +87 -0
  30. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +42 -8
  31. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +153 -15
  32. package/es/components/DataSpreadsheet/utils/selectAllCells.js +53 -0
  33. package/es/components/MultiAddSelect/MultiAddSelect.js +150 -3
  34. package/es/components/PageHeader/PageHeader.js +3 -1
  35. package/es/components/SingleAddSelect/SingleAddSelect.js +90 -4
  36. package/es/components/TagSet/TagSet.js +13 -6
  37. package/es/components/Tearsheet/TearsheetShell.js +34 -10
  38. package/es/global/js/package-settings.js +2 -1
  39. package/lib/components/AddSelect/AddSelect.js +25 -19
  40. package/lib/components/AddSelect/AddSelectFilter.js +5 -5
  41. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +178 -126
  42. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +24 -8
  43. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +32 -6
  44. package/lib/components/DataSpreadsheet/hooks/index.js +9 -1
  45. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +36 -8
  46. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +79 -0
  47. package/lib/components/DataSpreadsheet/utils/createCellSelectionArea.js +21 -8
  48. package/lib/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +27 -0
  49. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +127 -0
  50. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +118 -0
  51. package/lib/components/DataSpreadsheet/utils/handleEditSubmit.js +94 -0
  52. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +44 -8
  53. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +161 -22
  54. package/lib/components/DataSpreadsheet/utils/selectAllCells.js +60 -0
  55. package/lib/components/MultiAddSelect/MultiAddSelect.js +150 -2
  56. package/lib/components/PageHeader/PageHeader.js +3 -1
  57. package/lib/components/SingleAddSelect/SingleAddSelect.js +91 -3
  58. package/lib/components/TagSet/TagSet.js +13 -6
  59. package/lib/components/Tearsheet/TearsheetShell.js +36 -10
  60. package/lib/global/js/package-settings.js +2 -1
  61. package/package.json +11 -11
  62. package/scss/components/AboutModal/_about-modal.scss +4 -0
  63. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +22 -1
  64. package/scss/components/ExportModal/_export-modal.scss +0 -4
@@ -530,7 +530,8 @@ var TYPES = {
530
530
  gray: 'Gray',
531
531
  'cool-gray': 'Cool-Gray',
532
532
  'warm-gray': 'Warm-Gray',
533
- 'high-contrast': 'High-Contrast'
533
+ 'high-contrast': 'High-Contrast',
534
+ outline: 'Outline'
534
535
  };
535
536
  var tagTypes = Object.keys(TYPES);
536
537
  var deprecatedProps = {
@@ -545,6 +546,7 @@ var deprecatedProps = {
545
546
  hasBackgroundAlways: (0, _propsHelper.deprecateProp)(_propTypes.default.bool, 'Property replaced by `withoutBackground`')
546
547
  };
547
548
  exports.deprecatedProps = deprecatedProps;
549
+ PageHeader.tagTypes = tagTypes;
548
550
  PageHeader.propTypes = _objectSpread({
549
551
  /**
550
552
  * Specifies the action bar items which are the final items in the row top of the PageHeader.
@@ -13,24 +13,112 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
16
18
  var _AddSelect = require("../AddSelect");
17
19
 
18
20
  var _devtools = require("../../global/js/utils/devtools");
19
21
 
20
22
  var _settings = require("../../settings");
21
23
 
24
+ var _propsHelper = require("../../global/js/utils/props-helper");
25
+
22
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
27
 
24
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
29
 
26
- // import PropTypes from 'prop-types';
27
30
  var componentName = 'SingleAddSelect';
28
31
  var SingleAddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
29
- return /*#__PURE__*/_react.default.createElement(_AddSelect.AddSelect, (0, _extends2.default)({}, props, {
32
+ // remove multi add select specific props
33
+ var validProps = (0, _propsHelper.prepareProps)(props, ['columnInputPlaceholder', 'globalFilters', 'globalFiltersIconDescription', 'globalFiltersPlaceholderText', 'globalFiltersPrimaryButtonText', 'globalFiltersSecondaryButtonText', 'influencerTitle', 'multi', 'noSelectionDescription', 'noSelectionTitle', 'removeIconDescription']);
34
+ return /*#__PURE__*/_react.default.createElement(_AddSelect.AddSelect, (0, _extends2.default)({}, validProps, {
30
35
  ref: ref
31
36
  }, (0, _devtools.getDevtoolsProps)(componentName)));
32
37
  });
33
38
  exports.SingleAddSelect = SingleAddSelect;
34
39
  exports.SingleAddSelect = SingleAddSelect = _settings.pkg.checkComponentEnabled(SingleAddSelect, componentName);
35
- SingleAddSelect.propTypes = {};
40
+ SingleAddSelect.propTypes = {
41
+ /**
42
+ * optional class name
43
+ */
44
+ className: _propTypes.default.string,
45
+
46
+ /**
47
+ * text description that appears under the title
48
+ */
49
+ description: _propTypes.default.string,
50
+
51
+ /**
52
+ * label for global search input
53
+ */
54
+ globalSearchLabel: _propTypes.default.string,
55
+
56
+ /**
57
+ * placeholder for global search input
58
+ */
59
+ globalSearchPlaceholder: _propTypes.default.string,
60
+
61
+ /**
62
+ * object that contains the item data. for more information reference the
63
+ * "Structuring items" section in the docs tab
64
+ */
65
+ items: _propTypes.default.shape({
66
+ entries: _propTypes.default.arrayOf(_propTypes.default.shape({
67
+ children: _propTypes.default.object,
68
+ id: _propTypes.default.string.isRequired,
69
+ title: _propTypes.default.string.isRequired,
70
+ value: _propTypes.default.string.isRequired
71
+ }))
72
+ }),
73
+
74
+ /**
75
+ * label that display above the list of items
76
+ */
77
+ itemsLabel: _propTypes.default.string,
78
+
79
+ /**
80
+ * text to display when no results are found from the global search
81
+ */
82
+ noResultsDescription: _propTypes.default.string,
83
+
84
+ /**
85
+ * title to display when no results are found from the global search
86
+ */
87
+ noResultsTitle: _propTypes.default.string,
88
+
89
+ /**
90
+ * function to call when the close button clicked
91
+ */
92
+ onClose: _propTypes.default.func,
93
+
94
+ /**
95
+ * text for close button
96
+ */
97
+ onCloseButtonText: _propTypes.default.string,
98
+
99
+ /**
100
+ * function to call when the submit button is clicked. returns a selection
101
+ */
102
+ onSubmit: _propTypes.default.func,
103
+
104
+ /**
105
+ * text for the submit button
106
+ */
107
+ onSubmitButtonText: _propTypes.default.string,
108
+
109
+ /**
110
+ * specifies if the component is open or not
111
+ */
112
+ open: _propTypes.default.bool,
113
+
114
+ /**
115
+ * text that displays when displaying filtered items
116
+ */
117
+ searchResultsLabel: _propTypes.default.string,
118
+
119
+ /**
120
+ * header text
121
+ */
122
+ title: _propTypes.default.string
123
+ };
36
124
  SingleAddSelect.displayName = componentName;
@@ -122,9 +122,13 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
122
122
  };
123
123
 
124
124
  (0, _react.useEffect)(function () {
125
- var _document;
126
-
127
- setAllTagsModalTarget(allTagsModalTargetIn !== null && allTagsModalTargetIn !== void 0 ? allTagsModalTargetIn : (_document = document) === null || _document === void 0 ? void 0 : _document.body);
125
+ if (allTagsModalTargetIn) {
126
+ setAllTagsModalTarget(allTagsModalTargetIn);
127
+ } else {
128
+ if (_settings.pkg.isFeatureEnabled('default-portal-target-body')) {
129
+ setAllTagsModalTarget(document.body);
130
+ }
131
+ }
128
132
  }, [allTagsModalTargetIn]);
129
133
  (0, _react.useEffect)(function () {
130
134
  var newSizingTags = []; // create sizing tags
@@ -260,14 +264,16 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
260
264
  }, hiddenSizingTags), /*#__PURE__*/_react.default.createElement("div", {
261
265
  className: "".concat(blockClass, "__tag-container"),
262
266
  ref: displayedArea
263
- }, displayedTags)), allTagsModalTarget && tags && displayCount < tags.length ? /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react.default.createElement(_TagSetModal.TagSetModal, {
267
+ }, displayedTags)), (allTagsModalTarget ? _reactDom.createPortal : function (children) {
268
+ return children;
269
+ })( /*#__PURE__*/_react.default.createElement(_TagSetModal.TagSetModal, {
264
270
  allTags: tags,
265
271
  open: showAllModalOpen,
266
272
  title: allTagsModalTitle,
267
273
  onClose: handleModalClose,
268
274
  searchLabel: allTagsModalSearchLabel,
269
275
  searchPlaceholder: allTagsModalSearchPlaceholderText
270
- }), allTagsModalTarget) : null);
276
+ }), allTagsModalTarget));
271
277
  }); // Return a placeholder if not released and not enabled by feature flag
272
278
 
273
279
 
@@ -295,7 +301,8 @@ var TYPES = {
295
301
  gray: 'Gray',
296
302
  'cool-gray': 'Cool-Gray',
297
303
  'warm-gray': 'Warm-Gray',
298
- 'high-contrast': 'High-Contrast'
304
+ 'high-contrast': 'High-Contrast',
305
+ outline: 'Outline'
299
306
  };
300
307
  var tagTypes = Object.keys(TYPES);
301
308
  TagSet.types = tagTypes;
@@ -19,6 +19,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
 
22
+ var _reactDom = require("react-dom");
23
+
22
24
  var _reactResizeDetector = require("react-resize-detector");
23
25
 
24
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -35,7 +37,7 @@ var _ActionSet = require("../ActionSet");
35
37
 
36
38
  var _Wrap = require("../../global/js/utils/Wrap");
37
39
 
38
- var _excluded = ["actions", "children", "className", "closeIconDescription", "description", "hasCloseIcon", "headerActions", "influencer", "influencerPosition", "influencerWidth", "label", "navigation", "onClose", "open", "selectorPrimaryFocus", "size", "title", "verticalPosition"];
40
+ var _excluded = ["actions", "children", "className", "closeIconDescription", "description", "hasCloseIcon", "headerActions", "influencer", "influencerPosition", "influencerWidth", "label", "navigation", "onClose", "open", "selectorPrimaryFocus", "size", "portalTarget", "title", "verticalPosition"];
39
41
 
40
42
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
43
 
@@ -95,9 +97,26 @@ var TearsheetShell = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
95
97
  open = _ref.open,
96
98
  selectorPrimaryFocus = _ref.selectorPrimaryFocus,
97
99
  size = _ref.size,
100
+ portalTargetIn = _ref.portalTarget,
98
101
  title = _ref.title,
99
102
  verticalPosition = _ref.verticalPosition,
100
103
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
104
+
105
+ // node the modal tearsheet is hosted in
106
+ var _useState = (0, _react.useState)(null),
107
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
108
+ portalTarget = _useState2[0],
109
+ setPortalTarget = _useState2[1];
110
+
111
+ (0, _react.useEffect)(function () {
112
+ if (portalTargetIn) {
113
+ setPortalTarget(portalTargetIn);
114
+ } else {
115
+ if (_settings.pkg.isFeatureEnabled('default-portal-target-body')) {
116
+ setPortalTarget(document.body);
117
+ }
118
+ }
119
+ }, [portalTargetIn]);
101
120
  var localRef = (0, _react.useRef)();
102
121
  var modalRef = ref || localRef;
103
122
 
@@ -108,15 +127,15 @@ var TearsheetShell = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
108
127
  resizer = _useResizeDetector.ref; // Keep track of the stack depth and our position in it (1-based, 0=closed)
109
128
 
110
129
 
111
- var _useState = (0, _react.useState)(0),
112
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
113
- depth = _useState2[0],
114
- setDepth = _useState2[1];
115
-
116
130
  var _useState3 = (0, _react.useState)(0),
117
131
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
118
- position = _useState4[0],
119
- setPosition = _useState4[1]; // Keep a record of the previous value of depth.
132
+ depth = _useState4[0],
133
+ setDepth = _useState4[1];
134
+
135
+ var _useState5 = (0, _react.useState)(0),
136
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
137
+ position = _useState6[0],
138
+ setPosition = _useState6[1]; // Keep a record of the previous value of depth.
120
139
 
121
140
 
122
141
  var prevDepth = (0, _react.useRef)();
@@ -202,7 +221,9 @@ var TearsheetShell = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
202
221
  var includeHeader = label || title || description || headerActions || navigation || effectiveHasCloseIcon; // Include an ActionSet if and only if one or more actions is given.
203
222
 
204
223
  var includeActions = actions && (actions === null || actions === void 0 ? void 0 : actions.length) > 0;
205
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ComposedModal, (0, _extends2.default)({}, rest, {
224
+ return (portalTarget ? _reactDom.createPortal : function (children) {
225
+ return children;
226
+ })( /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ComposedModal, (0, _extends2.default)({}, rest, {
206
227
  "aria-label": title,
207
228
  className: (0, _classnames.default)(bc, className, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(bc, "--stacked-").concat(position, "-of-").concat(depth), // Don't apply this on the initial open of a single tearsheet.
208
229
  depth > 1 || depth === 1 && prevDepth.current > 1), (0, _defineProperty2.default)(_cx, "".concat(bc, "--wide"), size === 'wide'), (0, _defineProperty2.default)(_cx, "".concat(bc, "--narrow"), size !== 'wide'), _cx)),
@@ -263,7 +284,7 @@ var TearsheetShell = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
263
284
  })))), /*#__PURE__*/_react.default.createElement("div", {
264
285
  className: "".concat(bc, "__resize-detector"),
265
286
  ref: resizer
266
- }));
287
+ })), portalTarget);
267
288
  } else {
268
289
  _pconsole.default.warn('Tearsheet not rendered: maximum stacking depth exceeded.');
269
290
 
@@ -407,6 +428,11 @@ TearsheetShell.propTypes = _objectSpread({
407
428
  */
408
429
  open: _propTypes.default.bool,
409
430
 
431
+ /**
432
+ * portal target for the all tags modal
433
+ */
434
+ portalTarget: _propTypes.default.node,
435
+
410
436
  /**
411
437
  * Specifies the width of the tearsheet, 'narrow' or 'wide'.
412
438
  */
@@ -74,7 +74,8 @@ var defaults = {
74
74
  },
75
75
  // feature level flags
76
76
  feature: {
77
- 'a-new-feature': false
77
+ 'a-new-feature': false,
78
+ 'default-portal-target-body': true
78
79
  }
79
80
  };
80
81
 
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": "1.14.0",
4
+ "version": "1.15.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -47,29 +47,29 @@
47
47
  "postinstall": "carbon-telemetry collect --install",
48
48
  "test": "jest --colors",
49
49
  "//upgrade-dependencies": "# don't upgrade carbon (done globally), react/react-dom (explicit range peer dependency), chalk (issue #1596)",
50
- "upgrade-dependencies": "npm-check-updates -u --dep dev,peer,prod --color --reject '/(carbon|^react$|^react-dom$|^chalk$)/'"
50
+ "upgrade-dependencies": "npm-check-updates -u --dep dev,peer,prod --color --reject '/(carbon|^react$|^react-dom$|^chalk$|^react-dnd|^namor)/'"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@babel/cli": "^7.17.6",
54
- "@babel/core": "^7.17.8",
55
- "babel-preset-ibm-cloud-cognitive": "^0.14.12",
54
+ "@babel/core": "^7.17.9",
55
+ "babel-preset-ibm-cloud-cognitive": "^0.14.13",
56
56
  "chalk": "^4.1.2",
57
57
  "change-case": "^4.1.2",
58
58
  "copyfiles": "^2.4.1",
59
59
  "cross-env": "^7.0.3",
60
60
  "fs-extra": "^10.0.1",
61
- "glob": "^7.2.0",
61
+ "glob": "^8.0.1",
62
62
  "jest": "^27.5.1",
63
- "jest-config-ibm-cloud-cognitive": "^0.23.14",
63
+ "jest-config-ibm-cloud-cognitive": "^0.23.15",
64
64
  "namor": "^1.1.2",
65
- "npm-check-updates": "^12.5.4",
65
+ "npm-check-updates": "^12.5.9",
66
66
  "npm-run-all": "^4.1.5",
67
67
  "rimraf": "^3.0.2",
68
- "sass": "^1.49.10",
69
- "yargs": "^17.4.0"
68
+ "sass": "^1.50.0",
69
+ "yargs": "^17.4.1"
70
70
  },
71
71
  "dependencies": {
72
- "@babel/runtime": "^7.17.8",
72
+ "@babel/runtime": "^7.17.9",
73
73
  "@carbon/telemetry": "^0.1.0",
74
74
  "immutability-helper": "^3.1.1",
75
75
  "react-dnd": "^15.1.2",
@@ -92,5 +92,5 @@
92
92
  "react": "^16.8.6 || ^17.0.1",
93
93
  "react-dom": "^16.8.6 || ^17.0.1"
94
94
  },
95
- "gitHead": "2d85df61f66068c1c23e29a498eb84b94b334d90"
95
+ "gitHead": "202e15e26448cefc31d5ea1796b4d4b8b126a246"
96
96
  }
@@ -61,6 +61,10 @@
61
61
  bottom: calc(#{$spacing-09} + #{$spacing-08});
62
62
  }
63
63
 
64
+ .#{$block-class} .#{$carbon-prefix}--modal-content--overflow-indicator {
65
+ background-image: linear-gradient(to bottom, #00000000, $ui-01);
66
+ }
67
+
64
68
  .#{$block-class} .#{$block-class}__links-container {
65
69
  margin-top: $spacing-05;
66
70
  }
@@ -59,6 +59,10 @@
59
59
  color: $text-01;
60
60
  }
61
61
 
62
+ .#{$block-class}__body--td {
63
+ color: $text-02;
64
+ }
65
+
62
66
  [role="'columnheader'"]:last-child,
63
67
  [role="'gridcell'"]:last-child {
64
68
  border-right: 1px solid $text-03;
@@ -113,6 +117,7 @@
113
117
  padding: 0 calc(#{$spacing-03} + 1px) 0 $spacing-03;
114
118
  margin: 0;
115
119
  background-color: $body-cell-background;
120
+ color: $text-01;
116
121
  resize: none;
117
122
  &.#{$carbon-prefix}--text-area {
118
123
  min-width: initial;
@@ -168,6 +173,19 @@
168
173
  outline: 0;
169
174
  }
170
175
  }
176
+ .#{$block-class}__active-cell--highlight.#{$block-class}__active-cell--with-selection {
177
+ &::before {
178
+ position: absolute;
179
+ top: 0;
180
+ left: 0;
181
+ display: block;
182
+ width: 100%;
183
+ height: 100%;
184
+ background-color: $interactive-01;
185
+ content: '';
186
+ opacity: 0.25;
187
+ }
188
+ }
171
189
  .#{$block-class}__selection-area--element {
172
190
  position: absolute;
173
191
  z-index: 2;
@@ -183,13 +201,16 @@
183
201
  height: 100%;
184
202
  background-color: $interactive-01;
185
203
  content: '';
186
- opacity: 0.25;
204
+ opacity: 0.2;
187
205
  }
188
206
  }
189
207
  .#{$block-class}__th--active-header,
190
208
  .#{$block-class}__td-th--active-header.#{$block-class}__td {
191
209
  background-color: $hover-selected-ui;
192
210
  }
211
+ .#{$block-class}__list--container {
212
+ overscroll-behavior: none;
213
+ }
193
214
  }
194
215
  }
195
216
 
@@ -29,10 +29,6 @@
29
29
  padding-right: $spacing-05;
30
30
  }
31
31
 
32
- .#{$block-class} .#{$carbon-prefix}--modal-close {
33
- display: none;
34
- }
35
-
36
32
  .#{$block-class}__body {
37
33
  padding-right: calc(20% - #{$spacing-05});
38
34
  margin-bottom: $spacing-05;