@carbon/ibm-products 2.68.0 → 2.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/css/carbon.css +382 -74
  2. package/css/carbon.css.map +1 -1
  3. package/css/index-full-carbon.css +524 -116
  4. package/css/index-full-carbon.css.map +1 -1
  5. package/css/index-full-carbon.min.css +1 -1
  6. package/css/index-full-carbon.min.css.map +1 -1
  7. package/css/index-without-carbon-released-only.css +126 -42
  8. package/css/index-without-carbon-released-only.css.map +1 -1
  9. package/css/index-without-carbon-released-only.min.css +1 -1
  10. package/css/index-without-carbon-released-only.min.css.map +1 -1
  11. package/css/index-without-carbon.css +142 -42
  12. package/css/index-without-carbon.css.map +1 -1
  13. package/css/index-without-carbon.min.css +1 -1
  14. package/css/index-without-carbon.min.css.map +1 -1
  15. package/css/index.css +185 -50
  16. package/css/index.css.map +1 -1
  17. package/css/index.min.css +1 -1
  18. package/css/index.min.css.map +1 -1
  19. package/es/_virtual/_commonjsHelpers.js +3 -1
  20. package/es/_virtual/index2.js +6 -2
  21. package/es/_virtual/index3.js +10 -0
  22. package/es/components/AddSelect/AddSelectColumn.js +41 -18
  23. package/es/components/AddSelect/AddSelectSort.js +15 -16
  24. package/es/components/AddSelect/types/index.d.ts +1 -1
  25. package/es/components/Card/Card.d.ts +2 -2
  26. package/es/components/Card/Card.js +7 -4
  27. package/es/components/Coachmark/Coachmark.d.ts +43 -0
  28. package/es/components/Coachmark/Coachmark.js +49 -33
  29. package/es/components/Coachmark/CoachmarkOverlay.js +6 -0
  30. package/es/components/Coachmark/index.d.ts +1 -0
  31. package/es/components/CoachmarkBeacon/CoachmarkBeacon.d.ts +11 -0
  32. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +19 -11
  33. package/es/components/CoachmarkButton/CoachmarkButton.js +7 -0
  34. package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +6 -0
  35. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +7 -0
  36. package/es/components/Datagrid/Datagrid/DatagridContent.js +7 -5
  37. package/es/components/Datagrid/Datagrid/DatagridRow.d.ts +1 -1
  38. package/es/components/Datagrid/Datagrid/DatagridRow.js +4 -3
  39. package/es/components/Datagrid/Datagrid/DatagridToolbar.d.ts +1 -1
  40. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +8 -7
  41. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.d.ts +2 -1
  42. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +4 -3
  43. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +4 -3
  44. package/es/components/Datagrid/useNestedRowExpander.js +4 -2
  45. package/es/components/Datagrid/useOnRowClick.d.ts +1 -1
  46. package/es/components/Datagrid/useOnRowClick.js +6 -4
  47. package/es/components/Datagrid/useRowExpander.js +4 -2
  48. package/es/components/Datagrid/useSelectRows.d.ts +1 -1
  49. package/es/components/Datagrid/useSelectRows.js +4 -3
  50. package/es/components/Datagrid/useSortableColumns.d.ts +1 -1
  51. package/es/components/Datagrid/useSortableColumns.js +6 -5
  52. package/es/components/EditInPlace/EditInPlace.d.ts +1 -1
  53. package/es/components/EditInPlace/EditInPlace.js +4 -3
  54. package/es/components/EmptyStates/EmptyStateContent.d.ts +30 -1
  55. package/es/components/EmptyStates/EmptyStateContent.js +2 -2
  56. package/es/components/ExportModal/ExportModal.js +7 -5
  57. package/es/components/FeatureFlags/index.d.ts +31 -12
  58. package/es/components/FeatureFlags/index.js +46 -15
  59. package/es/components/InterstitialScreen/InterstitialScreenBody.js +3 -2
  60. package/es/components/InterstitialScreen/InterstitialScreenFooter.js +5 -2
  61. package/es/components/InterstitialScreen/InterstitialScreenHeader.js +3 -1
  62. package/es/components/ProductiveCard/ProductiveCard.d.ts +1 -1
  63. package/es/components/ScrollGradient/ScrollGradient.js +9 -7
  64. package/es/components/SidePanel/SidePanel.js +74 -0
  65. package/es/components/SidePanel/constants.d.ts +14 -8
  66. package/es/components/SidePanel/constants.js +1 -1
  67. package/es/components/SidePanel/resizer/Resizer.d.ts +21 -0
  68. package/es/components/SidePanel/resizer/Resizer.js +271 -0
  69. package/es/components/TruncatedList/TruncatedList.d.ts +1 -1
  70. package/es/components/TruncatedList/TruncatedList.js +4 -3
  71. package/es/feature-flags.js +5 -1
  72. package/es/index.js +1 -0
  73. package/es/node_modules/@carbon/{icons-react/node_modules/@carbon/icon-helpers → icon-helpers}/es/index.js +3 -3
  74. package/es/node_modules/@carbon/icons-react/es/Icon.js +1 -1
  75. package/es/node_modules/@carbon/icons-react/es/generated/bucket-10.js +816 -808
  76. package/es/node_modules/@carbon/icons-react/es/generated/bucket-3.js +615 -637
  77. package/es/node_modules/lodash.debounce/index.js +367 -0
  78. package/es/node_modules/prop-types/index.js +1 -1
  79. package/es/settings.js +1 -4
  80. package/lib/_virtual/_commonjsHelpers.js +3 -0
  81. package/lib/_virtual/index2.js +8 -2
  82. package/lib/_virtual/index3.js +12 -0
  83. package/lib/components/AddSelect/AddSelectColumn.js +40 -17
  84. package/lib/components/AddSelect/AddSelectSort.js +13 -14
  85. package/lib/components/AddSelect/types/index.d.ts +1 -1
  86. package/lib/components/Card/Card.d.ts +2 -2
  87. package/lib/components/Card/Card.js +7 -4
  88. package/lib/components/Coachmark/Coachmark.d.ts +43 -0
  89. package/lib/components/Coachmark/Coachmark.js +50 -32
  90. package/lib/components/Coachmark/CoachmarkOverlay.js +6 -0
  91. package/lib/components/Coachmark/index.d.ts +1 -0
  92. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.d.ts +11 -0
  93. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +19 -11
  94. package/lib/components/CoachmarkButton/CoachmarkButton.js +7 -0
  95. package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +6 -0
  96. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +7 -0
  97. package/lib/components/Datagrid/Datagrid/DatagridContent.js +5 -3
  98. package/lib/components/Datagrid/Datagrid/DatagridRow.d.ts +1 -1
  99. package/lib/components/Datagrid/Datagrid/DatagridRow.js +2 -1
  100. package/lib/components/Datagrid/Datagrid/DatagridToolbar.d.ts +1 -1
  101. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +6 -5
  102. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.d.ts +2 -1
  103. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +3 -2
  104. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +2 -1
  105. package/lib/components/Datagrid/useNestedRowExpander.js +3 -1
  106. package/lib/components/Datagrid/useOnRowClick.d.ts +1 -1
  107. package/lib/components/Datagrid/useOnRowClick.js +5 -3
  108. package/lib/components/Datagrid/useRowExpander.js +3 -1
  109. package/lib/components/Datagrid/useSelectRows.d.ts +1 -1
  110. package/lib/components/Datagrid/useSelectRows.js +2 -1
  111. package/lib/components/Datagrid/useSortableColumns.d.ts +1 -1
  112. package/lib/components/Datagrid/useSortableColumns.js +4 -3
  113. package/lib/components/EditInPlace/EditInPlace.d.ts +1 -1
  114. package/lib/components/EditInPlace/EditInPlace.js +2 -1
  115. package/lib/components/EmptyStates/EmptyStateContent.d.ts +30 -1
  116. package/lib/components/EmptyStates/EmptyStateContent.js +2 -2
  117. package/lib/components/ExportModal/ExportModal.js +5 -3
  118. package/lib/components/FeatureFlags/index.d.ts +31 -12
  119. package/lib/components/FeatureFlags/index.js +46 -15
  120. package/lib/components/InterstitialScreen/InterstitialScreenBody.js +3 -2
  121. package/lib/components/InterstitialScreen/InterstitialScreenFooter.js +5 -2
  122. package/lib/components/InterstitialScreen/InterstitialScreenHeader.js +3 -1
  123. package/lib/components/ProductiveCard/ProductiveCard.d.ts +1 -1
  124. package/lib/components/ScrollGradient/ScrollGradient.js +8 -6
  125. package/lib/components/SidePanel/SidePanel.js +74 -0
  126. package/lib/components/SidePanel/constants.d.ts +14 -8
  127. package/lib/components/SidePanel/constants.js +1 -1
  128. package/lib/components/SidePanel/resizer/Resizer.d.ts +21 -0
  129. package/lib/components/SidePanel/resizer/Resizer.js +277 -0
  130. package/lib/components/TruncatedList/TruncatedList.d.ts +1 -1
  131. package/lib/components/TruncatedList/TruncatedList.js +2 -1
  132. package/lib/feature-flags.js +5 -1
  133. package/lib/index.js +1 -0
  134. package/lib/node_modules/@carbon/{icons-react/node_modules/@carbon/icon-helpers → icon-helpers}/es/index.js +3 -3
  135. package/lib/node_modules/@carbon/icons-react/es/Icon.js +1 -1
  136. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-10.js +839 -831
  137. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-3.js +621 -643
  138. package/lib/node_modules/lodash.debounce/index.js +369 -0
  139. package/lib/node_modules/prop-types/index.js +1 -1
  140. package/lib/settings.js +0 -4
  141. package/package.json +15 -15
  142. package/scss/components/AddSelect/_add-select.scss +12 -13
  143. package/scss/components/SidePanel/_side-panel-variables.scss +1 -5
  144. package/scss/components/SidePanel/_side-panel.scss +129 -12
  145. package/scss/global/decorators/_side-panel-decorator.scss +36 -8
  146. package/telemetry.yml +17 -0
@@ -1,3 +1,4 @@
1
+ //cspell: disable
1
2
  //
2
3
  // Copyright IBM Corp. 2020, 2025
3
4
  //
@@ -5,7 +6,6 @@
5
6
  // LICENSE file in the root directory of this source tree.
6
7
  //
7
8
 
8
- @use 'sass:list';
9
9
  @use 'sass:map';
10
10
 
11
11
  // Other Carbon settings.
@@ -16,6 +16,7 @@
16
16
  @use '@carbon/styles/scss/type';
17
17
  @use '@carbon/styles/scss/breakpoint' as *;
18
18
  @use '@carbon/styles/scss/utilities';
19
+ @use '@carbon/styles/scss/components/button/tokens' as *;
19
20
 
20
21
  // Standard imports.
21
22
  @use '../../global/styles/project-settings' as c4p-settings;
@@ -29,6 +30,7 @@
29
30
 
30
31
  $block-class: #{c4p-settings.$pkg-prefix}--side-panel;
31
32
  $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
33
+ $clabs-prefix: 'clabs'; // TODO: remove when resizer available in labs
32
34
 
33
35
  @property --panel-transform {
34
36
  inherits: true;
@@ -37,13 +39,7 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
37
39
  }
38
40
 
39
41
  @mixin setPanelSize($size: map.get($side-panel-sizes, md)) {
40
- /* any value is single value list */
41
- inline-size: list.nth($size, 1);
42
- @if list.length($size) > 1 {
43
- min-inline-size: list.nth($size, 2);
44
- }
45
-
46
- max-inline-size: 100%;
42
+ inline-size: clamp(16rem, var(--c4p-side-panel-modified-size, $size), 100%);
47
43
  }
48
44
 
49
45
  @mixin setDividerStyles() {
@@ -89,14 +85,26 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
89
85
  background-color: $layer-01;
90
86
  block-size: calc(100% - 3rem);
91
87
  color: $text-primary;
88
+
92
89
  /* if the title does not scroll then we have a child scrolling section. */
93
90
  grid-template-rows: auto 1fr auto; /* titles content and actions */
94
91
  inset-block-start: $spacing-09;
92
+ max-inline-size: 100%;
93
+ min-inline-size: map.get($side-panel-sizes, xs);
95
94
 
96
95
  transform: translateX(0);
97
96
  transition-behavior: allow-discrete;
98
97
  transition-duration: $duration-moderate-01;
99
98
  transition-property: display, opacity, transform;
99
+ &:not(.#{$block-class}--slide-in) {
100
+ // enableSidepanelResizer flag class
101
+ &.#{$block-class}--enable-sidepanel-resizer {
102
+ grid-template-columns: 0 1fr;
103
+ @media (prefers-reduced-motion: no-preference) {
104
+ transition: all $duration-moderate-01 linear;
105
+ }
106
+ }
107
+ }
100
108
 
101
109
  @starting-style {
102
110
  opacity: 0;
@@ -104,6 +112,10 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
104
112
  transform: translateX(var(--panel-transform));
105
113
  }
106
114
 
115
+ @include breakpoint(md) {
116
+ max-inline-size: 75vw;
117
+ }
118
+
107
119
  @each $size, $size_value in $side-panel-sizes {
108
120
  &.#{$block-class}--#{$size} {
109
121
  @include setPanelSize($size_value);
@@ -188,6 +200,25 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
188
200
  inset-inline-end: 0;
189
201
  }
190
202
  &.#{$block-class}--left-placement {
203
+ .#{$clabs-prefix}__resizer {
204
+ grid-column: 2;
205
+ inset-inline-start: 0;
206
+
207
+ &::before {
208
+ inset-inline-start: 0;
209
+ }
210
+ }
211
+ &:not(.#{$block-class}--slide-in) {
212
+ // enableSidepanelResizer FeatureFlag class
213
+ &.#{$block-class}--enable-sidepanel-resizer {
214
+ grid-template-columns: 1fr 0;
215
+
216
+ @media (prefers-reduced-motion: no-preference) {
217
+ transition: all $duration-moderate-01 linear;
218
+ }
219
+ }
220
+ }
221
+
191
222
  border-inline-end: 1px solid $border-subtle-02;
192
223
  inset-inline-start: 0;
193
224
  }
@@ -200,6 +231,45 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
200
231
  0 4px 10px 2px $ai-drop-shadow;
201
232
  }
202
233
 
234
+ .#{$clabs-prefix}__resizer--vertical::before {
235
+ position: absolute;
236
+ z-index: -1;
237
+ background-color: transparent;
238
+ block-size: 100%;
239
+ content: '';
240
+ inline-size: $spacing-01;
241
+ inset-block-end: 0;
242
+ inset-inline-end: 0;
243
+ transition: background-color $duration-moderate-01
244
+ motion(standard, productive);
245
+ }
246
+
247
+ &:hover {
248
+ .#{$clabs-prefix}__resizer--vertical::before {
249
+ background-color: $button-secondary-hover;
250
+ }
251
+ }
252
+
253
+ .#{$clabs-prefix}__resizer {
254
+ background-color: transparent;
255
+ grid-row: span 4 / span 3;
256
+ inset-inline-start: -$spacing-02;
257
+
258
+ &--vertical::after {
259
+ position: absolute;
260
+ z-index: 10;
261
+ block-size: 100%;
262
+ content: '';
263
+ inline-size: $spacing-03;
264
+ inset-inline-start: -$spacing-01;
265
+ }
266
+
267
+ &:hover,
268
+ &:focus {
269
+ background-color: $border-interactive;
270
+ }
271
+ }
272
+
203
273
  .#{$block-class}__header {
204
274
  --#{$block-class}--title-padding-bottom: #{$spacing-05};
205
275
 
@@ -497,10 +567,6 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
497
567
  block-size: var(--#{$block-class}--actions-height);
498
568
  }
499
569
  }
500
- &.#{$block-class}.#{$block-class}--xs
501
- .#{$block-class}__actions-container.#{$action-set-block-class}--sm {
502
- @include setPanelSize(map.get($side-panel-sizes, xs));
503
- }
504
570
  }
505
571
 
506
572
  // form fields should receive correct background color
@@ -572,3 +638,54 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
572
638
  .#{$block-class}--has-decorator + .#{$block-class}__overlay {
573
639
  background-color: $ai-overlay;
574
640
  }
641
+
642
+ // TODO: remove along with prefix after resizer available in labs
643
+ .#{$clabs-prefix}__resizer {
644
+ position: relative;
645
+ flex: none;
646
+ background-color: $border-subtle-01;
647
+
648
+ &:hover {
649
+ @media (prefers-reduced-motion: no-preference) {
650
+ background-color: $border-interactive;
651
+ transition: background-color $duration-moderate-01;
652
+ }
653
+ }
654
+
655
+ &:focus {
656
+ background-color: $border-interactive;
657
+ outline: none;
658
+ }
659
+
660
+ &:active {
661
+ background-color: $border-interactive;
662
+ }
663
+
664
+ &:focus:not(:focus-visible) {
665
+ box-shadow: none;
666
+ outline: none;
667
+ }
668
+
669
+ &--horizontal {
670
+ block-size: $spacing-02;
671
+ cursor: ns-resize;
672
+ }
673
+
674
+ &--vertical {
675
+ cursor: ew-resize;
676
+ inline-size: $spacing-02;
677
+ }
678
+ }
679
+
680
+ .sr-only {
681
+ position: absolute;
682
+ overflow: hidden;
683
+ padding: 0;
684
+ border: 0;
685
+ margin: -1px;
686
+ block-size: 1px;
687
+ clip: rect(0, 0, 0, 0);
688
+ inline-size: 1px;
689
+ white-space: nowrap;
690
+ }
691
+ // END TODO: remove along with prefix after resizer available in labs
@@ -6,20 +6,48 @@
6
6
  */
7
7
 
8
8
  @mixin side-panel-decorator($prefix) {
9
- .#{$prefix}container {
10
- display: flex;
11
- flex-direction: column;
12
- block-size: 100vh;
9
+ .sbdocs {
10
+ // styles to apply to docs page iframe views of stories
11
+ .#{$prefix}container {
12
+ display: flex;
13
+ background-color: var(--cds-background, #ffffff);
14
+ block-size: 60vh;
15
+ box-shadow: 0 0 4px 1px var(--cds-layer-accent-01, #e0e0e0);
16
+ color: var(--cds-text-primary, #161616);
17
+ }
18
+ .#{$prefix}content {
19
+ block-size: unset;
20
+ }
13
21
  }
14
22
 
23
+ // styles applied to story pages
15
24
  .#{$prefix}content {
25
+ display: flex;
16
26
  flex-grow: 1;
27
+ align-items: center;
28
+ justify-content: center;
29
+ block-size: calc(100vh - 48px);
30
+
31
+ // dynamic prefix not working here, and this file is out of scope in the configuration
32
+ > div:first-of-type {
33
+ > div:last-of-type[class*='--annotation__content'] {
34
+ display: flex;
35
+ justify-content: center;
36
+ }
37
+ }
17
38
  }
18
39
 
19
40
  .#{$prefix}toggle {
20
- position: absolute;
21
- inset-block-start: 50%;
22
- inset-inline-start: 50%;
23
- transform: translate(-50%, -50%);
41
+ margin: auto;
42
+ }
43
+
44
+ .sb-show-main.sb-main-fullscreen {
45
+ // sidepanel sets overflow hidden to body when open, which is right in context of irl application but in story page, as we are rendering many isolated sidepanel variants, we need to unset this for presentational purposes
46
+ /* stylelint-disable-next-line declaration-no-important */
47
+ overflow: unset !important;
48
+ }
49
+
50
+ .sbdocs .docs-story > div {
51
+ overflow: hidden;
24
52
  }
25
53
  }
package/telemetry.yml CHANGED
@@ -534,6 +534,8 @@ collect:
534
534
  - overlayRef
535
535
  - positionTune
536
536
  - target
537
+ # CoachmarkBeacon
538
+ - buttonProps
537
539
  # CoachmarkDragbar
538
540
  - a11yKeyboardHandler
539
541
  - onDrag
@@ -674,6 +676,13 @@ collect:
674
676
  - successMessage
675
677
  - validExtensions
676
678
  # FeatureFlags
679
+ - defaultPortalTargetBody
680
+ - enableDatagridUseCustomizeColumns
681
+ - enableDatagridUseEditableCell
682
+ - enableDatagridUseInlineEdit
683
+ - enableSidepanelResizer
684
+ - enableTestFlagA
685
+ - enableTestFlagB
677
686
  - flags
678
687
  # FilterFlyout
679
688
  - flyoutIconDescription
@@ -844,6 +853,11 @@ collect:
844
853
  - primaryDangerDescription
845
854
  - resourceName
846
855
  - textConfirmation
856
+ # Resizer
857
+ - onDoubleClick
858
+ - onResize
859
+ - onResizeEnd
860
+ - orientation
847
861
  # RowSizeDropdown
848
862
  - datagridName
849
863
  - light
@@ -1183,6 +1197,9 @@ collect:
1183
1197
  - short
1184
1198
  # PageHeader - fullWidthGrid
1185
1199
  - xl
1200
+ # Resizer - orientation
1201
+ - horizontal
1202
+ - vertical
1186
1203
  npm:
1187
1204
  dependencies: null
1188
1205
  js: