@carbon/ibm-products 1.18.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. package/css/components/Datagrid/styles/datagrid.css +24 -4
  2. package/css/components/Datagrid/styles/datagrid.css.map +1 -1
  3. package/css/components/Datagrid/styles/index.css +24 -4
  4. package/css/components/Datagrid/styles/index.css.map +1 -1
  5. package/css/index-full-carbon.css +78 -13
  6. package/css/index-full-carbon.css.map +1 -1
  7. package/css/index-full-carbon.min.css +2 -2
  8. package/css/index-full-carbon.min.css.map +1 -1
  9. package/css/index-without-carbon.css +78 -13
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +2 -2
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +78 -13
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +2 -2
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/ActionSet/ActionSet.js +1 -0
  18. package/es/components/AddSelect/AddSelect.js +28 -3
  19. package/es/components/AddSelect/AddSelectFilter.js +9 -3
  20. package/es/components/AddSelect/AddSelectList.js +32 -6
  21. package/es/components/AddSelect/AddSelectMetaPanel.js +54 -0
  22. package/es/components/AddSelect/AddSelectSidebar.js +22 -3
  23. package/es/components/DataSpreadsheet/DataSpreadsheet.js +7 -4
  24. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +43 -10
  25. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +36 -13
  26. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +8 -6
  27. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +65 -34
  28. package/es/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +17 -3
  29. package/es/components/DataSpreadsheet/utils/getCellSize.js +10 -10
  30. package/es/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +8 -2
  31. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +113 -19
  32. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +4 -3
  33. package/es/components/Datagrid/Datagrid/Datagrid.js +1 -1
  34. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +22 -3
  35. package/es/components/Datagrid/Datagrid/DraggableElement.js +0 -7
  36. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +3 -3
  37. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +1 -1
  38. package/es/components/ExportModal/ExportModal.js +1 -1
  39. package/es/global/js/hooks/useWindowResize.js +2 -1
  40. package/es/global/js/hooks/useWindowScroll.js +2 -1
  41. package/es/global/js/utils/scrollableAncestor.js +2 -1
  42. package/lib/components/ActionSet/ActionSet.js +1 -0
  43. package/lib/components/AddSelect/AddSelect.js +28 -3
  44. package/lib/components/AddSelect/AddSelectFilter.js +10 -3
  45. package/lib/components/AddSelect/AddSelectList.js +30 -4
  46. package/lib/components/AddSelect/AddSelectMetaPanel.js +77 -0
  47. package/lib/components/AddSelect/AddSelectSidebar.js +23 -3
  48. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +7 -4
  49. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +43 -10
  50. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +36 -13
  51. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +8 -7
  52. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +66 -34
  53. package/lib/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +17 -3
  54. package/lib/components/DataSpreadsheet/utils/getCellSize.js +4 -4
  55. package/lib/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +8 -2
  56. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +112 -19
  57. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +4 -3
  58. package/lib/components/Datagrid/Datagrid/Datagrid.js +1 -1
  59. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +24 -3
  60. package/lib/components/Datagrid/Datagrid/DraggableElement.js +0 -7
  61. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +3 -3
  62. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +1 -1
  63. package/lib/components/ExportModal/ExportModal.js +1 -1
  64. package/lib/global/js/hooks/useWindowResize.js +3 -1
  65. package/lib/global/js/hooks/useWindowScroll.js +5 -1
  66. package/lib/global/js/utils/scrollableAncestor.js +6 -1
  67. package/package.json +7 -7
  68. package/scss/components/AddSelect/_add-select.scss +46 -6
  69. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +8 -1
  70. package/scss/components/Datagrid/_storybook-styles.scss +5 -0
  71. package/scss/components/Datagrid/styles/datagrid.scss +43 -5
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.18.0",
4
+ "version": "1.19.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "scripts": {
36
36
  "build": "run-s clean build-first build-all",
37
- "build-all": "run-p build:*",
37
+ "build-all": "run-p 'build:*'",
38
38
  "build-first": "copyfiles 'src/**/*.scss' scss -u 1",
39
39
  "build:css-dev": "sass --style=expanded --load-path node_modules --load-path ../../node_modules scss:css",
40
40
  "build:css-min": "sass --style=compressed --load-path node_modules --load-path ../../node_modules scss/index.scss:css/index.min.css scss/index-full-carbon.scss:css/index-full-carbon.min.css scss/index-without-carbon.scss:css/index-without-carbon.min.css scss/index-without-carbon-released-only.scss:css/index-without-carbon-released-only.min.css",
@@ -58,16 +58,16 @@
58
58
  "copyfiles": "^2.4.1",
59
59
  "cross-env": "^7.0.3",
60
60
  "fs-extra": "^10.1.0",
61
- "glob": "^8.0.1",
62
- "jest": "^28.0.3",
63
- "jest-config-ibm-cloud-cognitive": "^0.23.18",
61
+ "glob": "^8.0.3",
62
+ "jest": "^28.1.0",
63
+ "jest-config-ibm-cloud-cognitive": "^0.24.0",
64
64
  "jest-environment-jsdom": "^28.1.0",
65
65
  "namor": "^1.1.2",
66
66
  "npm-check-updates": "^12.5.11",
67
67
  "npm-run-all": "^4.1.5",
68
68
  "rimraf": "^3.0.2",
69
69
  "sass": "^1.51.0",
70
- "yargs": "^17.4.1"
70
+ "yargs": "^17.5.0"
71
71
  },
72
72
  "dependencies": {
73
73
  "@babel/runtime": "^7.17.9",
@@ -93,5 +93,5 @@
93
93
  "react": "^16.8.6 || ^17.0.1",
94
94
  "react-dom": "^16.8.6 || ^17.0.1"
95
95
  },
96
- "gitHead": "6bf1f85853417a8b5142207318b12290254201bf"
96
+ "gitHead": "0b3c895c53963a176ff7e274639c5cce460c0ef1"
97
97
  }
@@ -52,11 +52,11 @@
52
52
  color: $text-02;
53
53
  }
54
54
 
55
- &-cell:hover .#{$block-class}__selections-dropdown {
55
+ &-cell:hover .#{$block-class}__selections-hidden-hover {
56
56
  visibility: visible;
57
57
  }
58
58
 
59
- &-dropdown {
59
+ &-hidden-hover {
60
60
  visibility: hidden;
61
61
  }
62
62
 
@@ -64,7 +64,7 @@
64
64
  background: #e5e5e5;
65
65
  }
66
66
 
67
- &-row-selected .#{$block-class}__selections-dropdown {
67
+ &-row-selected .#{$block-class}__selections-hidden-hover {
68
68
  visibility: visible;
69
69
  }
70
70
 
@@ -102,7 +102,7 @@
102
102
 
103
103
  .#{$block-class}__sub-header {
104
104
  display: flex;
105
- align-items: end;
105
+ align-items: flex-end;
106
106
  justify-content: space-between;
107
107
  }
108
108
 
@@ -169,7 +169,11 @@
169
169
  overflow-x: auto;
170
170
  }
171
171
 
172
- .#{$block-class}__columns .#{$block-class}__selections-cell {
172
+ // table override
173
+ .#{$block-class}
174
+ .#{$block-class}__columns
175
+ .#{$carbon-prefix}--structured-list-td {
176
+ height: 0;
173
177
  // stylelint-disable-next-line
174
178
  padding: 0 !important;
175
179
  }
@@ -217,6 +221,7 @@
217
221
  width: 100%;
218
222
  max-width: 40rem;
219
223
  background: $ui-01;
224
+ box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.2);
220
225
  transform: translate(0, 100%);
221
226
 
222
227
  &-search {
@@ -252,6 +257,39 @@
252
257
  button.#{$block-class}__global-filter-toggle {
253
258
  border-bottom-color: $ui-04;
254
259
  background: $field-01;
260
+
261
+ &--open {
262
+ border-bottom: $ui-01;
263
+ box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
264
+ }
265
+ }
266
+
267
+ // meta panel
268
+ .#{$block-class}__meta-panel {
269
+ padding: $spacing-05;
270
+
271
+ &-header {
272
+ display: flex;
273
+ align-items: center;
274
+ justify-content: space-between;
275
+ margin-bottom: $spacing-05;
276
+ }
277
+
278
+ &-entry {
279
+ margin-bottom: $spacing-05;
280
+ }
281
+ }
282
+
283
+ .#{$block-class}__meta-panel p.#{$block-class}__meta-panel-title {
284
+ @include carbon--type-style('productive-heading-03');
285
+ }
286
+
287
+ .#{$block-class}__meta-panel p.#{$block-class}__meta-panel-entry-title {
288
+ @include carbon--type-style('productive-heading-01');
289
+ }
290
+
291
+ .#{$block-class}__meta-panel p.#{$block-class}__meta-panel-entry-body {
292
+ @include carbon--type-style('body-short-01');
255
293
  }
256
294
 
257
295
  // overrides
@@ -287,7 +325,9 @@
287
325
  }
288
326
 
289
327
  .#{$block-class} .#{$carbon-prefix}--structured-list-td {
290
- padding-bottom: $spacing-05;
328
+ height: 4rem;
329
+ padding: $spacing-05;
330
+ vertical-align: middle;
291
331
  }
292
332
 
293
333
  .#{$block-class} .#{$carbon-prefix}--radio-button__appearance {
@@ -12,6 +12,10 @@
12
12
  // Define all component styles in a mixin which is then exported using
13
13
  // the Carbon import-once mechanism.
14
14
  @mixin set-header-borders {
15
+ border-right: 1px solid $active-ui;
16
+ border-bottom: 1px solid $active-ui;
17
+ }
18
+ @mixin set-active-header-borders {
15
19
  border-right: 1px solid $text-03;
16
20
  border-bottom: 1px solid $text-03;
17
21
  }
@@ -211,15 +215,18 @@
211
215
  z-index: 4;
212
216
  width: $spacing-01;
213
217
  background-color: $interactive-01;
218
+ pointer-events: none;
214
219
  }
215
220
  .#{$block-class}__th--active-header,
216
221
  .#{$block-class}__td-th--active-header.#{$block-class}__td {
222
+ @include set-active-header-borders();
223
+
217
224
  background-color: $hover-selected-ui;
218
225
  }
219
226
  .#{$block-class}__th--selected-header,
220
227
  .#{$block-class}__td-th--selected-header.#{$block-class}__td {
221
228
  background-color: $inverse-02;
222
- color: $text-04;
229
+ color: $inverse-01;
223
230
 
224
231
  &:focus,
225
232
  &:hover {
@@ -14,9 +14,14 @@ $block-class: #{$pkg-prefix}--datagrid;
14
14
 
15
15
  .sb-show-main.sb-main-centered #root {
16
16
  width: 100%;
17
+ height: 100vh;
17
18
  padding: 0;
18
19
  }
19
20
 
21
+ .preview-position-fix {
22
+ height: 100%;
23
+ }
24
+
20
25
  .carbon-nested-table {
21
26
  border-bottom: 1px solid $ui-03;
22
27
 
@@ -26,6 +26,7 @@
26
26
  .#{$block-class}__grid-container table {
27
27
  /* Removes additional scroll introduced by Carbon table */
28
28
  overflow: hidden;
29
+
29
30
  &.#{$block-class}__vertical-align-center {
30
31
  .#{$block-class}__head {
31
32
  .#{$carbon-prefix}--table-header-label {
@@ -46,12 +47,14 @@
46
47
  th.#{$carbon-prefix}--table-column-checkbox {
47
48
  /* stylelint-disable-next-line carbon/layout-token-use */
48
49
  padding-top: 0.6875rem;
50
+
49
51
  &.#{$block-class}__checkbox-cell {
50
52
  display: flex;
51
53
  align-items: center;
52
54
  padding-top: 0;
53
55
  }
54
56
  }
57
+
55
58
  .#{$block-class}__checkbox-cell {
56
59
  th.#{$carbon-prefix}--table-column-checkbox {
57
60
  display: flex;
@@ -60,6 +63,7 @@
60
63
  padding-top: 0;
61
64
  }
62
65
  }
66
+
63
67
  &.#{$block-class}__variable-row-height {
64
68
  &.#{$carbon-prefix}--data-table--compact,
65
69
  &.#{$carbon-prefix}--data-table--xs {
@@ -68,6 +72,7 @@
68
72
  padding-bottom: $spacing-01;
69
73
  }
70
74
  }
75
+
71
76
  &.#{$carbon-prefix}--data-table--short,
72
77
  &.#{$carbon-prefix}--data-table--sm,
73
78
  &.#{$carbon-prefix}--data-table--md {
@@ -78,6 +83,7 @@
78
83
  padding-bottom: rem(6px);
79
84
  }
80
85
  }
86
+
81
87
  &.#{$carbon-prefix}--data-table--tall,
82
88
  &.#{$carbon-prefix}--data-table--lg,
83
89
  &.#{$carbon-prefix}--data-table--xl {
@@ -88,6 +94,7 @@
88
94
  }
89
95
  }
90
96
  }
97
+
91
98
  &.#{$block-class}__vertical-align-top {
92
99
  &.#{$carbon-prefix}--data-table--tall,
93
100
  &.#{$carbon-prefix}--data-table--lg,
@@ -95,14 +102,17 @@
95
102
  .#{$block-class}__cell {
96
103
  padding-top: $spacing-05;
97
104
  }
105
+
98
106
  .#{$carbon-prefix}--table-header-label {
99
107
  padding-top: $spacing-05;
100
108
  }
109
+
101
110
  .#{$carbon-prefix}--table-column-checkbox {
102
111
  /* stylelint-disable-next-line carbon/layout-token-use */
103
112
  padding-top: rem(13px);
104
113
  }
105
114
  }
115
+
106
116
  &.#{$block-class}__variable-row-height {
107
117
  &.#{$carbon-prefix}--data-table--tall,
108
118
  &.#{$carbon-prefix}--data-table--lg,
@@ -110,12 +120,14 @@
110
120
  .#{$block-class}__cell {
111
121
  padding-bottom: $spacing-05;
112
122
  }
123
+
113
124
  .#{$carbon-prefix}--table-header-label {
114
125
  padding-bottom: $spacing-05;
115
126
  }
116
127
  }
117
128
  }
118
129
  }
130
+
119
131
  &.#{$block-class}__variable-row-height {
120
132
  tr.#{$block-class}__carbon-row {
121
133
  height: auto;
@@ -150,17 +162,13 @@
150
162
  .#{$block-class}__head {
151
163
  display: flex;
152
164
  }
165
+
153
166
  .#{$block-class}__head .header {
154
167
  /* Each cell should grow equally */
155
168
  width: 1%;
156
169
  align-items: center;
157
170
  }
158
171
 
159
- .#{$block-class}__empty-state-body {
160
- display: flex;
161
- width: 100%;
162
- }
163
-
164
172
  .#{$block-class}__virtual-scrollbar {
165
173
  //makes thin scrollbar in chrome and firefox
166
174
  scrollbar-width: thin;
@@ -195,9 +203,11 @@
195
203
  height: 100%;
196
204
  flex-direction: column;
197
205
  }
206
+
198
207
  .#{$block-class}__carbon-row {
199
208
  /* stylelint-disable-next-line declaration-no-important */
200
209
  flex: none !important;
210
+
201
211
  .#{$block-class}__carbon-row:hover a {
202
212
  /* stylelint-disable-next-line declaration-no-important */
203
213
  color: $hover-primary-text !important;
@@ -219,6 +229,31 @@
219
229
  }
220
230
  }
221
231
 
232
+ .#{$block-class}__empty-state .#{$block-class}__table-simple {
233
+ display: table;
234
+ height: 100%;
235
+
236
+ .#{$pkg-prefix}--empty-state {
237
+ max-width: 280px;
238
+ }
239
+ }
240
+
241
+ .#{$block-class}__empty-state .#{$block-class}__table-simple tr:hover {
242
+ background: transparent;
243
+ }
244
+
245
+ .#{$block-class}__empty-state .#{$block-class}__table-simple tr:hover td {
246
+ background: transparent;
247
+ }
248
+
249
+ .#{$block-class}__empty-state .#{$block-class}__table-simple td {
250
+ padding: $spacing-11;
251
+ }
252
+
253
+ .#{$block-class}__empty-state .#{$block-class}__grid-container {
254
+ flex: 1 1 auto;
255
+ }
256
+
222
257
  .#{$block-class}__resizer {
223
258
  position: absolute;
224
259
  z-index: 1;
@@ -239,12 +274,14 @@
239
274
  .#{$block-class}__sortableColumn:hover {
240
275
  background-color: $hover-selected-ui;
241
276
  }
277
+
242
278
  .#{$block-class}__resizableColumn {
243
279
  &.#{$block-class}__isResizing {
244
280
  .#{$block-class}__resizer {
245
281
  border-right: $spacing-01 solid $hover-secondary;
246
282
  }
247
283
  }
284
+
248
285
  &.#{$block-class}__isSorted {
249
286
  background-color: $hover-selected-ui;
250
287
  }
@@ -252,6 +289,7 @@
252
289
 
253
290
  .#{$block-class}__resizableColumn:hover {
254
291
  background-color: $hover-selected-ui;
292
+
255
293
  .#{$block-class}__resizer {
256
294
  border-right: $spacing-01 solid $ui-04;
257
295
  background-color: $hover-selected-ui;