@carbon/ibm-products 1.16.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. package/css/index-full-carbon.css +32 -7
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +6 -3
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +9 -3
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +4 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +32 -7
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +6 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +32 -7
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +6 -3
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/DataSpreadsheet/DataSpreadsheet.js +1 -0
  18. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +6 -2
  19. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +5 -2
  20. package/es/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +57 -12
  21. package/es/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +16 -0
  22. package/es/components/DataSpreadsheet/utils/createCellSelectionArea.js +10 -5
  23. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +6 -2
  24. package/es/components/Datagrid/Datagrid/Datagrid.js +24 -12
  25. package/es/components/Datagrid/Datagrid/DatagridHead.js +8 -16
  26. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +10 -10
  27. package/es/components/Datagrid/Datagrid/index.js +6 -7
  28. package/es/components/Datagrid/index.js +1 -1
  29. package/es/components/ExportModal/ExportModal.js +10 -5
  30. package/es/components/SidePanel/SidePanel.js +5 -1
  31. package/es/components/WebTerminal/WebTerminal.js +36 -11
  32. package/es/components/WebTerminal/WebTerminalContentWrapper.js +49 -0
  33. package/es/components/WebTerminal/index.js +2 -1
  34. package/es/components/index.js +1 -1
  35. package/es/global/js/package-settings.js +1 -0
  36. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +1 -0
  37. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +7 -2
  38. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +6 -2
  39. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +61 -11
  40. package/lib/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +26 -0
  41. package/lib/components/DataSpreadsheet/utils/createCellSelectionArea.js +10 -5
  42. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +6 -2
  43. package/lib/components/Datagrid/Datagrid/Datagrid.js +25 -8
  44. package/lib/components/Datagrid/Datagrid/DatagridHead.js +8 -16
  45. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +10 -10
  46. package/lib/components/Datagrid/Datagrid/index.js +3 -5
  47. package/lib/components/Datagrid/index.js +2 -2
  48. package/lib/components/ExportModal/ExportModal.js +9 -4
  49. package/lib/components/SidePanel/SidePanel.js +5 -1
  50. package/lib/components/WebTerminal/WebTerminal.js +36 -10
  51. package/lib/components/WebTerminal/WebTerminalContentWrapper.js +58 -0
  52. package/lib/components/WebTerminal/index.js +9 -1
  53. package/lib/components/index.js +6 -0
  54. package/lib/global/js/package-settings.js +1 -0
  55. package/package.json +9 -9
  56. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +10 -0
  57. package/scss/components/SidePanel/_side-panel.scss +22 -3
  58. package/scss/components/WebTerminal/_storybook-styles.scss +5 -0
  59. package/scss/components/WebTerminal/_web-terminal.scss +14 -4
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.WebTerminalContentWrapper = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ var _settings = require("../../settings");
23
+
24
+ var _excluded = ["children", "isTerminalOpen"];
25
+ // The block part of our conventional BEM class names (blockClass__E--M).
26
+ var componentName = 'WebTerminalContentWrapper';
27
+ var blockClass = "".concat(_settings.pkg.prefix, "--web-terminal-content-wrapper");
28
+
29
+ var WebTerminalContentWrapper = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
30
+ var children = _ref.children,
31
+ isTerminalOpen = _ref.isTerminalOpen,
32
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
34
+ ref: ref,
35
+ className: (0, _classnames.default)([blockClass, (0, _defineProperty2.default)({}, "".concat(blockClass, "--open"), isTerminalOpen)])
36
+ }, rest), children);
37
+ }); // Return a placeholder if not released and not enabled by feature flag
38
+
39
+
40
+ exports.WebTerminalContentWrapper = WebTerminalContentWrapper;
41
+ exports.WebTerminalContentWrapper = WebTerminalContentWrapper = _settings.pkg.checkComponentEnabled(WebTerminalContentWrapper, componentName); // The display name of the component, used by React. Note that displayName
42
+ // is used in preference to relying on function.name.
43
+
44
+ WebTerminalContentWrapper.displayName = componentName; // The types and DocGen commentary for the component props,
45
+ // in alphabetical order (for consistency).
46
+ // See https://www.npmjs.com/package/prop-types#usage.
47
+
48
+ WebTerminalContentWrapper.propTypes = {
49
+ /**
50
+ * Pass in content as children.
51
+ */
52
+ children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired,
53
+
54
+ /**
55
+ * A boolean to determine if the terminal is open.
56
+ */
57
+ isTerminalOpen: _propTypes.default.bool.isRequired
58
+ };
@@ -9,5 +9,13 @@ Object.defineProperty(exports, "WebTerminal", {
9
9
  return _WebTerminal.WebTerminal;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "WebTerminalContentWrapper", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _WebTerminalContentWrapper.WebTerminalContentWrapper;
16
+ }
17
+ });
18
+
19
+ var _WebTerminal = require("./WebTerminal");
12
20
 
13
- var _WebTerminal = require("./WebTerminal");
21
+ var _WebTerminalContentWrapper = require("./WebTerminalContentWrapper");
@@ -297,6 +297,12 @@ Object.defineProperty(exports, "WebTerminal", {
297
297
  return _WebTerminal.WebTerminal;
298
298
  }
299
299
  });
300
+ Object.defineProperty(exports, "WebTerminalContentWrapper", {
301
+ enumerable: true,
302
+ get: function get() {
303
+ return _WebTerminal.WebTerminalContentWrapper;
304
+ }
305
+ });
300
306
 
301
307
  var _AboutModal = require("./AboutModal");
302
308
 
@@ -64,6 +64,7 @@ var defaults = {
64
64
  ToolbarButton: false,
65
65
  ToolbarGroup: false,
66
66
  WebTerminal: false,
67
+ WebTerminalContentWrapper: false,
67
68
  EditSidePanel: false,
68
69
  CancelableTextEdit: false,
69
70
  InlineEdit: false,
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.16.0",
4
+ "version": "1.17.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -52,7 +52,7 @@
52
52
  "devDependencies": {
53
53
  "@babel/cli": "^7.17.6",
54
54
  "@babel/core": "^7.17.9",
55
- "babel-preset-ibm-cloud-cognitive": "^0.14.13",
55
+ "babel-preset-ibm-cloud-cognitive": "^0.14.14",
56
56
  "chalk": "^4.1.2",
57
57
  "change-case": "^4.1.2",
58
58
  "copyfiles": "^2.4.1",
@@ -60,23 +60,23 @@
60
60
  "fs-extra": "^10.1.0",
61
61
  "glob": "^8.0.1",
62
62
  "jest": "^27.5.1",
63
- "jest-config-ibm-cloud-cognitive": "^0.23.16",
63
+ "jest-config-ibm-cloud-cognitive": "^0.23.17",
64
64
  "namor": "^1.1.2",
65
- "npm-check-updates": "^12.5.9",
65
+ "npm-check-updates": "^12.5.10",
66
66
  "npm-run-all": "^4.1.5",
67
67
  "rimraf": "^3.0.2",
68
- "sass": "^1.50.1",
68
+ "sass": "^1.51.0",
69
69
  "yargs": "^17.4.1"
70
70
  },
71
71
  "dependencies": {
72
72
  "@babel/runtime": "^7.17.9",
73
73
  "@carbon/telemetry": "^0.1.0",
74
74
  "immutability-helper": "^3.1.1",
75
- "react-dnd": "^16.0.1",
76
- "react-dnd-html5-backend": "^16.0.1",
75
+ "react-dnd": "^15.1.2",
76
+ "react-dnd-html5-backend": "^15.1.3",
77
77
  "react-resize-detector": "^7.0.0",
78
78
  "react-table": "^7.7.0",
79
- "react-window": "^1.8.6"
79
+ "react-window": "^1.8.7"
80
80
  },
81
81
  "peerDependencies": {
82
82
  "@carbon/colors": "^10.37.1",
@@ -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": "c9d83ac8cb5d738772533f2ea93b854a1f4d711f"
95
+ "gitHead": "dcf8ef9163dbb8cad6bfc6e70165bfa7288c654e"
96
96
  }
@@ -171,6 +171,7 @@
171
171
 
172
172
  &[data-active-row-index='header'],
173
173
  &[data-active-column-index='header'] {
174
+ z-index: 4;
174
175
  background-color: transparent;
175
176
  }
176
177
 
@@ -214,6 +215,15 @@
214
215
  .#{$block-class}__td-th--active-header.#{$block-class}__td {
215
216
  background-color: $hover-selected-ui;
216
217
  }
218
+ .#{$block-class}__th--selected-header,
219
+ .#{$block-class}__td-th--selected-header.#{$block-class}__td {
220
+ background-color: $inverse-02;
221
+ color: $text-04;
222
+
223
+ &:hover {
224
+ background-color: $inverse-02;
225
+ }
226
+ }
217
227
  .#{$block-class}__list--container {
218
228
  overscroll-behavior: none;
219
229
  }
@@ -278,7 +278,10 @@ $action-set-block-class: #{$pkg-prefix}--action-set;
278
278
  position: fixed;
279
279
  z-index: 2;
280
280
  // stylelint-disable-next-line carbon/layout-token-use
281
- top: calc(var(--#{$block-class}--title-text-height) + #{$spacing-09});
281
+ top: calc(
282
+ var(--#{$block-class}--title-text-height) +
283
+ var(--#{$block-class}--label-text-height) + #{$spacing-09}
284
+ );
282
285
  background-color: $ui-01;
283
286
  }
284
287
 
@@ -298,7 +301,10 @@ $action-set-block-class: #{$pkg-prefix}--action-set;
298
301
  .#{$block-class}__title-container.#{$block-class}__title-container--no-title-animation {
299
302
  position: fixed;
300
303
  top: $spacing-09;
301
- height: var(--#{$block-class}--title-text-height);
304
+ height: calc(
305
+ var(--#{$block-class}--title-text-height) +
306
+ var(--#{$block-class}--label-text-height)
307
+ );
302
308
  }
303
309
 
304
310
  .#{$block-class}__inner-content {
@@ -308,7 +314,8 @@ $action-set-block-class: #{$pkg-prefix}--action-set;
308
314
  margin-top: calc(
309
315
  var(--#{$block-class}--title-text-height) +
310
316
  var(--#{$block-class}--subtitle-container-height) +
311
- var(--#{$block-class}--action-bar-container-height)
317
+ var(--#{$block-class}--action-bar-container-height) +
318
+ var(--#{$block-class}--label-text-height)
312
319
  );
313
320
  overflow-x: hidden;
314
321
  }
@@ -331,6 +338,18 @@ $action-set-block-class: #{$pkg-prefix}--action-set;
331
338
  padding-top: $spacing-05;
332
339
  }
333
340
 
341
+ .#{$block-class}__inner-content.#{$block-class}__static-inner-content-no-actions {
342
+ height: calc(
343
+ 100vh -
344
+ calc(
345
+ var(--#{$block-class}--title-text-height) +
346
+ var(--#{$block-class}--subtitle-container-height) +
347
+ var(--#{$block-class}--action-bar-container-height) +
348
+ var(--#{$block-class}--label-text-height)
349
+ )
350
+ );
351
+ }
352
+
334
353
  .#{$block-class}__action-toolbar.#{$block-class}__action-toolbar-no-animation {
335
354
  position: fixed;
336
355
  // stylelint-disable-next-line carbon/layout-token-use
@@ -2,6 +2,11 @@
2
2
 
3
3
  @import '../../global/styles/project-settings';
4
4
 
5
+ .sb-show-main.sb-main-centered #root {
6
+ padding: 0 !important;
7
+ margin: 0 !important;
8
+ }
9
+
5
10
  .example-terminal {
6
11
  padding: $spacing-05;
7
12
  color: $gray-10;
@@ -5,25 +5,25 @@ $web-terminal-width: 36.5rem;
5
5
  $block-class: #{$pkg-prefix}--web-terminal;
6
6
 
7
7
  @keyframes web-terminal-entrance {
8
- 0% {
8
+ from {
9
9
  opacity: 0;
10
10
  // stylelint-disable-next-line carbon/layout-token-use
11
11
  transform: translateX(#{$web-terminal-width});
12
12
  }
13
13
 
14
- 100% {
14
+ to {
15
15
  opacity: 1;
16
16
  transform: translateX(0);
17
17
  }
18
18
  }
19
19
 
20
20
  @keyframes web-terminal-exit {
21
- 0% {
21
+ from {
22
22
  opacity: 1;
23
23
  transform: translateX(0);
24
24
  }
25
25
 
26
- 100% {
26
+ to {
27
27
  opacity: 0;
28
28
  // stylelint-disable-next-line carbon/layout-token-use
29
29
  transform: translateX(#{$web-terminal-width});
@@ -70,3 +70,13 @@ $block-class: #{$pkg-prefix}--web-terminal;
70
70
  .#{$block-class}__body {
71
71
  height: 100%;
72
72
  }
73
+
74
+ // Terminal wrapper styles
75
+ .#{$block-class}-content-wrapper {
76
+ width: 100vw;
77
+ height: 100%;
78
+ }
79
+
80
+ .#{$block-class}-content-wrapper--open {
81
+ width: calc(100vw - #{$web-terminal-width});
82
+ }