@carbon/ibm-products 1.14.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. package/css/components/Datagrid/styles/datagrid.css +4 -0
  2. package/css/components/Datagrid/styles/datagrid.css.map +1 -1
  3. package/css/components/Datagrid/styles/index.css +5 -1
  4. package/css/components/Datagrid/styles/index.css.map +1 -1
  5. package/css/components/Datagrid/styles/useNestedRows.css +1 -1
  6. package/css/index-full-carbon.css +75 -16
  7. package/css/index-full-carbon.css.map +1 -1
  8. package/css/index-full-carbon.min.css +6 -3
  9. package/css/index-full-carbon.min.css.map +1 -1
  10. package/css/index-without-carbon-released-only.css +13 -7
  11. package/css/index-without-carbon-released-only.css.map +1 -1
  12. package/css/index-without-carbon-released-only.min.css +5 -2
  13. package/css/index-without-carbon-released-only.min.css.map +1 -1
  14. package/css/index-without-carbon.css +75 -16
  15. package/css/index-without-carbon.css.map +1 -1
  16. package/css/index-without-carbon.min.css +6 -3
  17. package/css/index-without-carbon.min.css.map +1 -1
  18. package/css/index.css +75 -16
  19. package/css/index.css.map +1 -1
  20. package/css/index.min.css +6 -3
  21. package/css/index.min.css.map +1 -1
  22. package/es/components/AddSelect/AddSelect.js +34 -23
  23. package/es/components/AddSelect/AddSelectFilter.js +52 -9
  24. package/es/components/DataSpreadsheet/DataSpreadsheet.js +186 -129
  25. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +67 -15
  26. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +55 -11
  27. package/es/components/DataSpreadsheet/hooks/index.js +2 -1
  28. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +36 -8
  29. package/es/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +113 -0
  30. package/es/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +16 -0
  31. package/es/components/DataSpreadsheet/utils/createCellSelectionArea.js +29 -12
  32. package/es/components/DataSpreadsheet/utils/generateData.js +17 -9
  33. package/es/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +18 -0
  34. package/es/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +30 -0
  35. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +121 -0
  36. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +108 -0
  37. package/es/components/DataSpreadsheet/utils/handleEditSubmit.js +87 -0
  38. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +46 -8
  39. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +153 -15
  40. package/es/components/DataSpreadsheet/utils/selectAllCells.js +53 -0
  41. package/es/components/Datagrid/Datagrid/Datagrid.js +24 -12
  42. package/es/components/Datagrid/Datagrid/DatagridHead.js +8 -16
  43. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +10 -10
  44. package/es/components/Datagrid/Datagrid/DatagridRow.js +12 -2
  45. package/es/components/Datagrid/Datagrid/index.js +6 -7
  46. package/es/components/Datagrid/index.js +1 -1
  47. package/es/components/Datagrid/useNestedRows.js +3 -3
  48. package/es/components/Datagrid/useRowExpander.js +1 -1
  49. package/es/components/ExportModal/ExportModal.js +10 -5
  50. package/es/components/MultiAddSelect/MultiAddSelect.js +150 -3
  51. package/es/components/PageHeader/PageHeader.js +3 -1
  52. package/es/components/SidePanel/SidePanel.js +5 -1
  53. package/es/components/SingleAddSelect/SingleAddSelect.js +90 -4
  54. package/es/components/TagSet/TagSet.js +13 -6
  55. package/es/components/Tearsheet/TearsheetShell.js +34 -10
  56. package/es/components/WebTerminal/WebTerminal.js +36 -11
  57. package/es/components/WebTerminal/WebTerminalContentWrapper.js +49 -0
  58. package/es/components/WebTerminal/index.js +2 -1
  59. package/es/components/index.js +1 -1
  60. package/es/global/js/package-settings.js +3 -1
  61. package/lib/components/AddSelect/AddSelect.js +34 -23
  62. package/lib/components/AddSelect/AddSelectFilter.js +51 -8
  63. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +190 -128
  64. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +69 -15
  65. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +58 -12
  66. package/lib/components/DataSpreadsheet/hooks/index.js +9 -1
  67. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +36 -8
  68. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +129 -0
  69. package/lib/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +26 -0
  70. package/lib/components/DataSpreadsheet/utils/createCellSelectionArea.js +31 -13
  71. package/lib/components/DataSpreadsheet/utils/generateData.js +17 -9
  72. package/lib/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +27 -0
  73. package/lib/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +40 -0
  74. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +127 -0
  75. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +118 -0
  76. package/lib/components/DataSpreadsheet/utils/handleEditSubmit.js +94 -0
  77. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +48 -8
  78. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +161 -22
  79. package/lib/components/DataSpreadsheet/utils/selectAllCells.js +60 -0
  80. package/lib/components/Datagrid/Datagrid/Datagrid.js +25 -8
  81. package/lib/components/Datagrid/Datagrid/DatagridHead.js +8 -16
  82. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +10 -10
  83. package/lib/components/Datagrid/Datagrid/DatagridRow.js +14 -2
  84. package/lib/components/Datagrid/Datagrid/index.js +3 -5
  85. package/lib/components/Datagrid/index.js +2 -2
  86. package/lib/components/Datagrid/useNestedRows.js +3 -3
  87. package/lib/components/Datagrid/useRowExpander.js +1 -1
  88. package/lib/components/ExportModal/ExportModal.js +9 -4
  89. package/lib/components/MultiAddSelect/MultiAddSelect.js +150 -2
  90. package/lib/components/PageHeader/PageHeader.js +3 -1
  91. package/lib/components/SidePanel/SidePanel.js +5 -1
  92. package/lib/components/SingleAddSelect/SingleAddSelect.js +91 -3
  93. package/lib/components/TagSet/TagSet.js +13 -6
  94. package/lib/components/Tearsheet/TearsheetShell.js +36 -10
  95. package/lib/components/WebTerminal/WebTerminal.js +36 -10
  96. package/lib/components/WebTerminal/WebTerminalContentWrapper.js +58 -0
  97. package/lib/components/WebTerminal/index.js +9 -1
  98. package/lib/components/index.js +6 -0
  99. package/lib/global/js/package-settings.js +3 -1
  100. package/package.json +13 -13
  101. package/scss/components/AboutModal/_about-modal.scss +4 -0
  102. package/scss/components/AddSelect/_add-select.scss +9 -2
  103. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +39 -2
  104. package/scss/components/Datagrid/styles/datagrid.scss +8 -0
  105. package/scss/components/Datagrid/styles/useNestedRows.scss +1 -1
  106. package/scss/components/ExportModal/_export-modal.scss +0 -4
  107. package/scss/components/SidePanel/_side-panel.scss +22 -3
  108. package/scss/components/WebTerminal/_storybook-styles.scss +5 -0
  109. package/scss/components/WebTerminal/_web-terminal.scss +14 -4
@@ -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,
@@ -74,7 +75,8 @@ var defaults = {
74
75
  },
75
76
  // feature level flags
76
77
  feature: {
77
- 'a-new-feature': false
78
+ 'a-new-feature': false,
79
+ 'default-portal-target-body': true
78
80
  }
79
81
  };
80
82
 
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.17.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -47,36 +47,36 @@
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.14",
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
- "fs-extra": "^10.0.1",
61
- "glob": "^7.2.0",
60
+ "fs-extra": "^10.1.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.17",
64
64
  "namor": "^1.1.2",
65
- "npm-check-updates": "^12.5.4",
65
+ "npm-check-updates": "^12.5.10",
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.51.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",
76
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": "2d85df61f66068c1c23e29a498eb84b94b334d90"
95
+ "gitHead": "dcf8ef9163dbb8cad6bfc6e70165bfa7288c654e"
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
  }
@@ -228,6 +228,13 @@
228
228
  grid-gap: $spacing-05 2rem;
229
229
  grid-template-columns: repeat(2, 1fr);
230
230
  }
231
+
232
+ &-applied {
233
+ display: flex;
234
+ align-items: center;
235
+ padding: $spacing-03;
236
+ background: $ui-01;
237
+ }
231
238
  }
232
239
 
233
240
  .#{$block-class}__global-filter-button-set
@@ -248,7 +255,7 @@
248
255
  }
249
256
 
250
257
  // the influencer sidebar needs to be even with the buttons
251
- .#{$block-class} .#{$tearsheet-class} .#{$tearsheet-class}__influencer {
258
+ .#{$block-class} .#{$tearsheet-class}__influencer {
252
259
  max-width: 29rem;
253
260
  flex: 0 0 50%;
254
261
  }
@@ -257,7 +264,7 @@
257
264
  color: $text-02;
258
265
  }
259
266
 
260
- .#{$block-class} .#{$tearsheet-class} .#{$tearsheet-class}__content {
267
+ .#{$block-class} .#{$tearsheet-class}__content {
261
268
  display: flex;
262
269
  flex-direction: column;
263
270
  }
@@ -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;
@@ -77,7 +81,13 @@
77
81
  }
78
82
  }
79
83
  .#{$block-class}__th--select-all {
80
- min-width: calc(#{$spacing-10} - #{$spacing-02});
84
+ width: $spacing-10;
85
+ }
86
+ .#{$block-class}__td-th--cell-container,
87
+ .#{$block-class}__select-all-cell-container {
88
+ position: sticky;
89
+ z-index: 4;
90
+ left: 0;
81
91
  }
82
92
  .#{$block-class}__td-th.#{$block-class}__td {
83
93
  @include carbon--font-weight('semibold');
@@ -113,6 +123,7 @@
113
123
  padding: 0 calc(#{$spacing-03} + 1px) 0 $spacing-03;
114
124
  margin: 0;
115
125
  background-color: $body-cell-background;
126
+ color: $text-01;
116
127
  resize: none;
117
128
  &.#{$carbon-prefix}--text-area {
118
129
  min-width: initial;
@@ -160,6 +171,7 @@
160
171
 
161
172
  &[data-active-row-index='header'],
162
173
  &[data-active-column-index='header'] {
174
+ z-index: 4;
163
175
  background-color: transparent;
164
176
  }
165
177
 
@@ -168,6 +180,19 @@
168
180
  outline: 0;
169
181
  }
170
182
  }
183
+ .#{$block-class}__active-cell--highlight.#{$block-class}__active-cell--with-selection {
184
+ &::before {
185
+ position: absolute;
186
+ top: 0;
187
+ left: 0;
188
+ display: block;
189
+ width: 100%;
190
+ height: 100%;
191
+ background-color: $interactive-01;
192
+ content: '';
193
+ opacity: 0.25;
194
+ }
195
+ }
171
196
  .#{$block-class}__selection-area--element {
172
197
  position: absolute;
173
198
  z-index: 2;
@@ -183,13 +208,25 @@
183
208
  height: 100%;
184
209
  background-color: $interactive-01;
185
210
  content: '';
186
- opacity: 0.25;
211
+ opacity: 0.2;
187
212
  }
188
213
  }
189
214
  .#{$block-class}__th--active-header,
190
215
  .#{$block-class}__td-th--active-header.#{$block-class}__td {
191
216
  background-color: $hover-selected-ui;
192
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
+ }
227
+ .#{$block-class}__list--container {
228
+ overscroll-behavior: none;
229
+ }
193
230
  }
194
231
  }
195
232
 
@@ -316,3 +316,11 @@
316
316
  width: 100%;
317
317
  flex-direction: column;
318
318
  }
319
+
320
+ .#{$block-class}__carbon-row-expanded {
321
+ // Border applied to nested rows only on open chevron hover
322
+ &.#{$block-class}__carbon-row-expanded-hover-active
323
+ ~ .#{$block-class}__carbon-nested-row {
324
+ border-left: 1px solid $interactive-01;
325
+ }
326
+ }
@@ -9,7 +9,7 @@
9
9
  @import './variables';
10
10
 
11
11
  .#{$carbon-prefix}--data-table tr.#{$block-class}__carbon-nested-row {
12
- border-left: 2px solid $interactive-01;
12
+ border-left: 1px solid transparent;
13
13
 
14
14
  .#{$block-class}__cell {
15
15
  border-bottom: 1px solid $ui-03;
@@ -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;
@@ -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
+ }