@carbon/ibm-products 2.10.2 → 2.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. package/README.md +7 -0
  2. package/css/index-full-carbon.css +67 -26
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +3 -3
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +1 -0
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +67 -26
  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 +64 -25
  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/APIKeyModal/APIKeyModal.js +10 -3
  18. package/es/components/AboutModal/AboutModal.js +10 -3
  19. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +17 -5
  20. package/es/components/CreateModal/CreateModal.js +10 -3
  21. package/es/components/Datagrid/Datagrid/DatagridContent.js +9 -7
  22. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +3 -2
  23. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +26 -13
  24. package/es/components/Datagrid/Datagrid/DatagridRow.js +47 -40
  25. package/es/components/Datagrid/Datagrid/DraggableElement.js +36 -132
  26. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +17 -49
  27. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +125 -40
  28. package/es/components/Datagrid/useExpandedRow.js +1 -1
  29. package/es/components/Datagrid/utils/DatagridPagination.js +1 -1
  30. package/es/components/EmptyStates/EmptyState.js +1 -1
  31. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  32. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  33. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  34. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  35. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  36. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  37. package/es/components/EmptyStates/assets/ErrorIllustration.js +6 -11
  38. package/es/components/EmptyStates/assets/NoDataIllustration.js +6 -11
  39. package/es/components/EmptyStates/assets/NoTagsIllustration.js +6 -12
  40. package/es/components/EmptyStates/assets/NotFoundIllustration.js +6 -12
  41. package/es/components/EmptyStates/assets/NotificationsIllustration.js +6 -12
  42. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +6 -12
  43. package/es/components/ExportModal/ExportModal.js +10 -3
  44. package/es/components/ImportModal/ImportModal.js +10 -3
  45. package/es/components/RemoveModal/RemoveModal.js +10 -3
  46. package/es/components/TagSet/TagSet.js +5 -21
  47. package/es/components/TagSet/TagSetModal.js +7 -3
  48. package/es/components/Tearsheet/TearsheetShell.js +12 -26
  49. package/es/global/decorators/sidePanelDecorator.js +7 -0
  50. package/es/global/js/hooks/usePortalTarget.js +30 -0
  51. package/es/global/js/hooks/useWindowScroll.js +5 -0
  52. package/es/global/js/package-settings.js +0 -1
  53. package/es/global/js/utils/getNodeTextContent.js +47 -0
  54. package/flags.js +6 -0
  55. package/lib/components/APIKeyModal/APIKeyModal.js +10 -3
  56. package/lib/components/AboutModal/AboutModal.js +10 -3
  57. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +17 -5
  58. package/lib/components/CreateModal/CreateModal.js +10 -3
  59. package/lib/components/Datagrid/Datagrid/DatagridContent.js +9 -7
  60. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +2 -1
  61. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +26 -13
  62. package/lib/components/Datagrid/Datagrid/DatagridRow.js +46 -41
  63. package/lib/components/Datagrid/Datagrid/DraggableElement.js +37 -137
  64. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +20 -49
  65. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +130 -47
  66. package/lib/components/Datagrid/useExpandedRow.js +1 -1
  67. package/lib/components/Datagrid/utils/DatagridPagination.js +1 -1
  68. package/lib/components/EmptyStates/EmptyState.js +1 -1
  69. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  70. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  71. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  72. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  73. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  74. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  75. package/lib/components/EmptyStates/assets/ErrorIllustration.js +6 -11
  76. package/lib/components/EmptyStates/assets/NoDataIllustration.js +6 -11
  77. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +6 -12
  78. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +6 -12
  79. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +6 -12
  80. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +6 -12
  81. package/lib/components/ExportModal/ExportModal.js +10 -3
  82. package/lib/components/ImportModal/ImportModal.js +10 -3
  83. package/lib/components/RemoveModal/RemoveModal.js +10 -3
  84. package/lib/components/TagSet/TagSet.js +5 -21
  85. package/lib/components/TagSet/TagSetModal.js +7 -3
  86. package/lib/components/Tearsheet/TearsheetShell.js +12 -26
  87. package/lib/global/decorators/sidePanelDecorator.js +7 -0
  88. package/lib/global/js/hooks/usePortalTarget.js +38 -0
  89. package/lib/global/js/hooks/useWindowScroll.js +6 -0
  90. package/lib/global/js/package-settings.js +0 -1
  91. package/lib/global/js/utils/getNodeTextContent.js +55 -0
  92. package/package.json +7 -3
  93. package/scss/components/ActionSet/_action-set.scss +2 -1
  94. package/scss/components/Datagrid/styles/_datagrid.scss +6 -6
  95. package/scss/components/Datagrid/styles/_draggableElement.scss +34 -16
  96. package/scss/components/Datagrid/styles/_useExpandedRow.scss +13 -0
  97. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +1 -1
  98. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +22 -11
  99. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +6 -3
  100. package/scss/components/FilterSummary/_filter-summary.scss +2 -1
  101. package/scss/global/decorators/_side-panel-decorator.scss +7 -0
  102. package/scss/global/js/utils/_story-as-full-page.scss +0 -6
@@ -92,10 +92,10 @@
92
92
  &.#{c4p-settings.$carbon-prefix}--data-table--sm,
93
93
  &.#{c4p-settings.$carbon-prefix}--data-table--md {
94
94
  .#{$block-class}__cell {
95
- /* stylelint-disable-next-line carbon/layout-token-use */
96
- padding-top: rem(7px);
97
- /* stylelint-disable-next-line carbon/layout-token-use */
98
- padding-bottom: rem(6px);
95
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
96
+ padding-top: to-rem(7px);
97
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
98
+ padding-bottom: to-rem(6px);
99
99
  }
100
100
  }
101
101
 
@@ -123,8 +123,8 @@
123
123
  }
124
124
 
125
125
  .#{c4p-settings.$carbon-prefix}--table-column-checkbox {
126
- /* stylelint-disable-next-line carbon/layout-token-use */
127
- padding-top: rem(13px);
126
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
127
+ padding-top: to-rem(13px);
128
128
  }
129
129
  }
130
130
 
@@ -15,7 +15,6 @@
15
15
  display: flex;
16
16
  align-items: center;
17
17
  margin-right: $spacing-03;
18
- cursor: grab;
19
18
  }
20
19
 
21
20
  .#{variables.$block-class}__draggable-handleStyle.disabled {
@@ -26,32 +25,56 @@
26
25
  fill: $icon-on-color-disabled;
27
26
  }
28
27
 
28
+ .#{variables.$block-class}__draggable-underlay {
29
+ position: absolute;
30
+ width: 100%;
31
+ }
32
+
33
+ .#{variables.$block-class}__draggable-underlay-item {
34
+ // must match draggable item size
35
+ width: 100%;
36
+ height: $spacing-09;
37
+ border: 2px dashed $focus;
38
+ /* stylelint-disable-next-line carbon/theme-token-use */
39
+ background-color: colors.$blue-10; // not good in dark mode
40
+ }
41
+
29
42
  .#{variables.$block-class}__draggable-handleHolder {
43
+ position: relative; // above underlay
30
44
  display: flex;
31
45
  height: $spacing-09;
32
46
  border-bottom: 1px solid $layer-active;
33
47
  background-color: $layer;
48
+ cursor: grab;
34
49
  }
35
50
 
36
51
  .#{variables.$block-class}__draggable-handleHolder:hover {
37
52
  background-color: $layer-hover;
38
53
  }
39
54
 
40
- .#{variables.$block-class}__draggable-handleHolder-selected {
41
- display: flex;
42
- height: $spacing-09;
43
- border-bottom: 1px solid $layer-active;
55
+ .#{variables.$block-class}__draggable-handleHolder:focus {
56
+ box-shadow: inset 0 0 0 1px $focus;
57
+ outline: none;
58
+ }
59
+
60
+ .#{variables.$block-class}__draggable-handleHolder--selected {
44
61
  background-color: $layer-selected;
45
62
  }
46
63
 
47
- .#{variables.$block-class}__draggable-handleHolder-selected:hover {
48
- background-color: $layer-selected-hover-01;
64
+ .#{variables.$block-class}__draggable-handleHolder--dragging {
65
+ z-index: 2; // raise above other items in draggable list
66
+ background-color: $highlight;
67
+ color: $text-primary;
68
+ outline: none;
49
69
  }
50
70
 
51
- .#{variables.$block-class}__draggable-handleHolder-isOver {
52
- border: 2px dashed $focus;
53
- /* stylelint-disable-next-line carbon/theme-token-use */
54
- background-color: colors.$blue-10;
71
+ .#{variables.$block-class}__draggable-handleHolder:active,
72
+ .#{variables.$block-class}__draggable-handleHolder--dragging {
73
+ cursor: grabbing;
74
+ }
75
+
76
+ .#{variables.$block-class}__draggable-handleHolder-selected:hover {
77
+ background-color: $layer-selected-hover-01;
55
78
  }
56
79
 
57
80
  .#{variables.$block-class}__draggable-handleHolder-droppable {
@@ -69,11 +92,6 @@
69
92
  transition: opacity $duration-moderate-01 motion(entrance, productive);
70
93
  }
71
94
 
72
- .#{variables.$block-class}__draggable-handleHolder-grabbed {
73
- background-color: $highlight;
74
- color: $text-primary;
75
- }
76
-
77
95
  .#{variables.$block-class}__draggable-handleHolder--sticky {
78
96
  color: $text-on-color-disabled;
79
97
  }
@@ -52,9 +52,22 @@
52
52
  width: $spacing-07;
53
53
  height: $spacing-07;
54
54
  min-height: $spacing-07;
55
+ align-items: center;
55
56
  justify-content: center;
56
57
  padding: 0;
57
58
  .#{variables.$block-class}__row-expander--icon {
58
59
  fill: $layer-selected-inverse;
59
60
  }
60
61
  }
62
+
63
+ .#{variables.$block-class}
64
+ .#{c4p-settings.$carbon-prefix}--data-table
65
+ tbody
66
+ tr:hover
67
+ + .#{variables.$block-class}__expanded-row,
68
+ .#{variables.$block-class} .#{variables.$block-class}__expanded-row:hover,
69
+ .#{variables.$block-class}
70
+ .#{variables.$block-class}__expandable-row--hover
71
+ td {
72
+ background: $layer-hover;
73
+ }
@@ -40,7 +40,7 @@
40
40
  .#{variables.$block-class}__customize-columns-checkbox-visible-label {
41
41
  // Disabling linter only to match the spacing that Carbon uses for the Checkbox label
42
42
  /* stylelint-disable-next-line */
43
- padding-left: convert.rem(6px);
43
+ padding-left: convert.to-rem(6px);
44
44
  }
45
45
 
46
46
  .#{variables.$block-class}__customize-columns-column-list
@@ -16,7 +16,8 @@
16
16
  @use '../../../../global/styles/project-settings' as c4p-settings;
17
17
  @use '../variables';
18
18
 
19
- $action-set-height: rem(64px);
19
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
20
+ $action-set-height: to-rem(64px);
20
21
 
21
22
  .#{variables.$block-class}-filter-flyout__container {
22
23
  position: relative;
@@ -27,9 +28,11 @@ $action-set-height: rem(64px);
27
28
  top: $spacing-09;
28
29
  right: 0;
29
30
  display: none;
30
- width: rem(642px);
31
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
32
+ width: to-rem(642px);
31
33
  background-color: $layer-02;
32
- box-shadow: 0 1px rem(8px) 0 rgba(0, 0, 0, 0.25);
34
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
35
+ box-shadow: 0 1px to-rem(8px) 0 rgba(0, 0, 0, 0.25);
33
36
  }
34
37
 
35
38
  .#{variables.$block-class}-filter-flyout--open {
@@ -37,12 +40,15 @@ $action-set-height: rem(64px);
37
40
  }
38
41
 
39
42
  .#{variables.$block-class}-filter-flyout--batch {
40
- min-height: rem(346px);
41
- grid-template-rows: 1fr rem(48px);
43
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
44
+ min-height: to-rem(346px);
45
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
46
+ grid-template-rows: 1fr to-rem(48px);
42
47
  }
43
48
 
44
49
  .#{variables.$block-class}-filter-flyout--instant {
45
- min-height: rem(282px);
50
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
51
+ min-height: to-rem(282px);
46
52
  grid-template-rows: 1fr;
47
53
  }
48
54
 
@@ -52,11 +58,14 @@ $action-set-height: rem(64px);
52
58
 
53
59
  .#{variables.$block-class}-filter-flyout__inner-container::before {
54
60
  position: absolute;
55
- top: rem(-7px);
61
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
62
+ top: to-rem(-7px);
56
63
  right: 1px;
57
64
  display: block;
58
- width: rem(46px);
59
- height: rem(15px);
65
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
66
+ width: to-rem(46px);
67
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
68
+ height: to-rem(15px);
60
69
  background-color: $layer-02;
61
70
  content: '';
62
71
  }
@@ -70,7 +79,8 @@ $action-set-height: rem(64px);
70
79
 
71
80
  .#{variables.$block-class}-filter-flyout__filters {
72
81
  display: grid;
73
- gap: rem(16px) rem(32px);
82
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
83
+ gap: to-rem(16px) rem(32px);
74
84
  grid-template-columns: 1fr 1fr;
75
85
  }
76
86
 
@@ -85,7 +95,8 @@ $action-set-height: rem(64px);
85
95
  .#{variables.$block-class}-filter-flyout__trigger--open.#{c4p-settings.$carbon-prefix}--btn.#{c4p-settings.$carbon-prefix}--btn--icon-only {
86
96
  position: relative;
87
97
  background-color: $layer-02;
88
- box-shadow: 0 1px rem(8px) 0 rgba(0, 0, 0, 0.25);
98
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
99
+ box-shadow: 0 1px to-rem(8px) 0 rgba(0, 0, 0, 0.25);
89
100
  }
90
101
 
91
102
  .#{variables.$block-class}-filter-flyout
@@ -14,7 +14,8 @@
14
14
 
15
15
  .#{$block-class}-filter-panel__container {
16
16
  position: relative;
17
- width: rem(320px);
17
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
18
+ width: to-rem(320px);
18
19
  height: clamp(var(--filter-panel-min-height), 100%, 100vh);
19
20
  border-top: 1px $layer-accent-01 solid;
20
21
  background-color: $layer-01;
@@ -29,7 +30,8 @@
29
30
  top: -1px; // stylelint-disable-line
30
31
  left: 0;
31
32
  display: block;
32
- width: rem(47px); // size of filter panel button
33
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
34
+ width: to-rem(47px); // size of filter panel button
33
35
  height: 1px;
34
36
  background-color: $layer-01;
35
37
  content: '';
@@ -95,7 +97,8 @@
95
97
  position: sticky;
96
98
  z-index: 1; // To layer action set on top of content behind when sticky
97
99
  bottom: 0;
98
- height: rem(64px);
100
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
101
+ height: to-rem(64px);
99
102
  margin-top: auto;
100
103
  }
101
104
 
@@ -13,7 +13,8 @@ $block-class: #{$pkg-prefix}--filter-summary;
13
13
  .#{$block-class} {
14
14
  display: flex;
15
15
  width: 100%;
16
- height: rem(48px);
16
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
17
+ height: to-rem(48px);
17
18
  align-items: center;
18
19
  padding: $spacing-03;
19
20
  border-top: 1px solid $border-subtle-01;
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Copyright IBM Corp. 2023, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
1
8
  @mixin side-panel-decorator($prefix) {
2
9
  .#{$prefix}container {
3
10
  display: flex;
@@ -1,6 +0,0 @@
1
- .story-helper__full-page {
2
- display: flex;
3
- width: 100vw;
4
- height: 100vh;
5
- flex-direction: column;
6
- }