@carbon/ibm-products 1.14.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
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;