@carbon/ibm-products 2.79.0-rc.0 → 2.80.0-rc.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 (142) hide show
  1. package/css/carbon.css +39 -19
  2. package/css/carbon.css.map +1 -1
  3. package/css/index-full-carbon.css +186 -80
  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 +147 -61
  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 +147 -61
  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 +150 -66
  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/components/Coachmark/Coachmark.d.ts +2 -1
  20. package/es/components/Coachmark/Coachmark.js +6 -0
  21. package/es/components/Coachmark/CoachmarkDragbar.d.ts +2 -1
  22. package/es/components/Coachmark/CoachmarkDragbar.js +7 -0
  23. package/es/components/Coachmark/CoachmarkHeader.d.ts +2 -1
  24. package/es/components/Coachmark/CoachmarkHeader.js +7 -0
  25. package/es/components/Coachmark/CoachmarkOverlay.d.ts +2 -1
  26. package/es/components/Coachmark/CoachmarkOverlay.js +1 -0
  27. package/es/components/Coachmark/CoachmarkTagline.d.ts +2 -1
  28. package/es/components/Coachmark/CoachmarkTagline.js +7 -0
  29. package/es/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubble.js +3 -2
  30. package/es/components/Coachmark/utils/hooks.js +4 -3
  31. package/es/components/CoachmarkBeacon/CoachmarkBeacon.d.ts +2 -1
  32. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +7 -0
  33. package/es/components/CoachmarkButton/CoachmarkButton.d.ts +2 -1
  34. package/es/components/CoachmarkButton/CoachmarkButton.js +1 -0
  35. package/es/components/CoachmarkFixed/CoachmarkFixed.d.ts +1 -0
  36. package/es/components/CoachmarkFixed/CoachmarkFixed.js +7 -0
  37. package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.d.ts +2 -1
  38. package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +1 -0
  39. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.d.ts +2 -1
  40. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +1 -0
  41. package/es/components/CoachmarkStack/CoachmarkStack.d.ts +2 -1
  42. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -0
  43. package/es/components/CreateFullPage/CreateFullPage.js +1 -1
  44. package/es/components/CreateTearsheet/CreateTearsheet.js +2 -2
  45. package/es/components/CreateTearsheet/CreateTearsheetStep.js +2 -21
  46. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +3 -2
  47. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  48. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +4 -0
  49. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +2 -1
  50. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +2 -1
  51. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.d.ts +1 -1
  52. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +6 -1
  53. package/es/components/Datagrid/useResizeTable.js +2 -2
  54. package/es/components/Datagrid/useSelectRows.js +3 -2
  55. package/es/components/Datagrid/useStickyColumn.js +3 -2
  56. package/es/components/PageHeader/next/PageHeader.js +4 -3
  57. package/es/components/ScrollGradient/constants.js +3 -2
  58. package/es/components/Tearsheet/TearsheetShell.js +4 -6
  59. package/es/components/Tearsheet/next/StackContext.d.ts +21 -0
  60. package/es/components/Tearsheet/next/StackContext.js +94 -0
  61. package/es/components/Tearsheet/next/Tearsheet.d.ts +13 -2
  62. package/es/components/Tearsheet/next/Tearsheet.js +46 -10
  63. package/es/components/Tearsheet/next/TearsheetBody.d.ts +6 -0
  64. package/es/components/Tearsheet/next/TearsheetBody.js +19 -7
  65. package/es/components/Tearsheet/next/TearsheetHeaderActions.js +9 -4
  66. package/es/components/Tearsheet/next/TearsheetHeaderContent.d.ts +22 -8
  67. package/es/components/Tearsheet/next/TearsheetHeaderContent.js +14 -27
  68. package/es/components/Tearsheet/next/_story-assets/StepTearsheet.d.ts +3 -2
  69. package/es/components/Tearsheet/next/index.d.ts +2 -0
  70. package/es/components/index.d.ts +2 -1
  71. package/es/global/js/hooks/useCreateComponentFocus.js +34 -4
  72. package/es/global/js/hooks/useIsomorphicEffect.d.ts +7 -1
  73. package/es/global/js/hooks/useIsomorphicEffect.js +1 -2
  74. package/es/global/js/hooks/useResizeObserver.js +4 -3
  75. package/es/global/js/hooks/useWindowResize.js +3 -2
  76. package/es/global/js/hooks/useWindowScroll.js +3 -2
  77. package/es/index.js +2 -2
  78. package/lib/components/Coachmark/Coachmark.d.ts +2 -1
  79. package/lib/components/Coachmark/Coachmark.js +6 -0
  80. package/lib/components/Coachmark/CoachmarkDragbar.d.ts +2 -1
  81. package/lib/components/Coachmark/CoachmarkDragbar.js +7 -0
  82. package/lib/components/Coachmark/CoachmarkHeader.d.ts +2 -1
  83. package/lib/components/Coachmark/CoachmarkHeader.js +7 -0
  84. package/lib/components/Coachmark/CoachmarkOverlay.d.ts +2 -1
  85. package/lib/components/Coachmark/CoachmarkOverlay.js +1 -0
  86. package/lib/components/Coachmark/CoachmarkTagline.d.ts +2 -1
  87. package/lib/components/Coachmark/CoachmarkTagline.js +7 -0
  88. package/lib/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubble.js +2 -1
  89. package/lib/components/Coachmark/utils/hooks.js +3 -2
  90. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.d.ts +2 -1
  91. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +7 -0
  92. package/lib/components/CoachmarkButton/CoachmarkButton.d.ts +2 -1
  93. package/lib/components/CoachmarkButton/CoachmarkButton.js +1 -0
  94. package/lib/components/CoachmarkFixed/CoachmarkFixed.d.ts +1 -0
  95. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +7 -0
  96. package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.d.ts +2 -1
  97. package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +1 -0
  98. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.d.ts +2 -1
  99. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +1 -0
  100. package/lib/components/CoachmarkStack/CoachmarkStack.d.ts +2 -1
  101. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -0
  102. package/lib/components/CreateFullPage/CreateFullPage.js +1 -1
  103. package/lib/components/CreateTearsheet/CreateTearsheet.js +2 -2
  104. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +2 -21
  105. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  106. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +2 -1
  107. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +4 -0
  108. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +2 -1
  109. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +2 -1
  110. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.d.ts +1 -1
  111. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +6 -1
  112. package/lib/components/Datagrid/useResizeTable.js +2 -2
  113. package/lib/components/Datagrid/useSelectRows.js +2 -1
  114. package/lib/components/Datagrid/useStickyColumn.js +2 -1
  115. package/lib/components/PageHeader/next/PageHeader.js +3 -2
  116. package/lib/components/ScrollGradient/constants.js +2 -1
  117. package/lib/components/Tearsheet/TearsheetShell.js +3 -5
  118. package/lib/components/Tearsheet/next/StackContext.d.ts +21 -0
  119. package/lib/components/Tearsheet/next/StackContext.js +97 -0
  120. package/lib/components/Tearsheet/next/Tearsheet.d.ts +13 -2
  121. package/lib/components/Tearsheet/next/Tearsheet.js +44 -8
  122. package/lib/components/Tearsheet/next/TearsheetBody.d.ts +6 -0
  123. package/lib/components/Tearsheet/next/TearsheetBody.js +19 -7
  124. package/lib/components/Tearsheet/next/TearsheetHeaderActions.js +8 -3
  125. package/lib/components/Tearsheet/next/TearsheetHeaderContent.d.ts +22 -8
  126. package/lib/components/Tearsheet/next/TearsheetHeaderContent.js +12 -25
  127. package/lib/components/Tearsheet/next/_story-assets/StepTearsheet.d.ts +3 -2
  128. package/lib/components/Tearsheet/next/index.d.ts +2 -0
  129. package/lib/components/index.d.ts +2 -1
  130. package/lib/global/js/hooks/useCreateComponentFocus.js +34 -4
  131. package/lib/global/js/hooks/useIsomorphicEffect.d.ts +7 -1
  132. package/lib/global/js/hooks/useIsomorphicEffect.js +1 -2
  133. package/lib/global/js/hooks/useResizeObserver.js +3 -2
  134. package/lib/global/js/hooks/useWindowResize.js +2 -1
  135. package/lib/global/js/hooks/useWindowScroll.js +2 -1
  136. package/lib/index.js +15 -13
  137. package/package.json +14 -14
  138. package/scss/components/Tearsheet/_tearsheet.scss +11 -6
  139. package/scss/components/Tearsheet/_tearsheet_next.scss +218 -96
  140. package/telemetry.yml +11 -7
  141. package/es/components/Tearsheet/next/index.js +0 -8
  142. package/lib/components/Tearsheet/next/index.js +0 -14
@@ -24,31 +24,48 @@ $motion-duration: $duration-moderate-02;
24
24
  // ──────────────────────────────────────────────────────────────
25
25
  .#{$block-class__next}__container {
26
26
  align-self: flex-end;
27
+ border: 1px solid $border-subtle-01;
27
28
  block-size: 100%;
28
29
  inset-block-start: auto;
29
- max-block-size: calc(100% - #{$spacing-09});
30
- transform: translate3d(0, calc(min(95vh, 500px)), 0);
31
- @include breakpoint-down(md) {
32
- max-block-size: none;
30
+ max-block-size: calc(100% - var(--tearsheet-vertical-gap, #{$spacing-09}));
31
+ }
32
+ &:not(.#{$block-class__next}--stack-activated.is-visible) {
33
+ .#{$block-class__next}__container {
34
+ @include breakpoint-down(md) {
35
+ max-block-size: none;
36
+ }
33
37
  }
34
38
  }
35
39
 
36
- &.#{$block-class__next}.#{$block-class__next}--has-ai-label
40
+ &:not(.is-visible) {
41
+ &.#{$block-class__next}.#{$block-class__next}
42
+ .#{$block-class__next}__container {
43
+ transform: translate3d(0, calc(min(95vh, 500px)), 0);
44
+ }
45
+ }
46
+ &.#{$block-class__next}.#{$block-class__next}--has-ai-label {
37
47
  .#{$block-class__next}__container {
38
- border: 1px solid transparent;
39
-
40
- /* override carbon ai removing background gradient */
41
- background:
42
- linear-gradient(to top, var(--cds-layer), var(--cds-layer)) padding-box,
43
- linear-gradient(
44
- to bottom,
45
- var(--cds-ai-border-start, #78a9ff),
46
- var(--cds-ai-border-end, #d0e2ff)
47
- )
48
- border-box,
49
- linear-gradient(to top, var(--cds-layer), var(--cds-layer)) border-box;
50
- border-block-end: 0;
51
- box-shadow: 0 4px 10px 2px $ai-drop-shadow;
48
+ border: 1px solid transparent;
49
+
50
+ /* override carbon ai removing background gradient */
51
+ background:
52
+ linear-gradient(to top, var(--cds-layer), var(--cds-layer)) padding-box,
53
+ linear-gradient(
54
+ to bottom,
55
+ var(--cds-ai-border-start, #78a9ff),
56
+ var(--cds-ai-border-end, #d0e2ff)
57
+ )
58
+ border-box,
59
+ linear-gradient(to top, var(--cds-layer), var(--cds-layer)) border-box;
60
+ border-block-end: 0;
61
+ box-shadow: 0 4px 10px 2px $ai-drop-shadow;
62
+ }
63
+ .#{$block-class__next}__main-content {
64
+ position: relative;
65
+ @include utilities.ai-popover-gradient('default', 0, 'background');
66
+
67
+ box-shadow: inset 0 -80px 70px -65px $ai-inner-shadow;
68
+ }
52
69
  }
53
70
 
54
71
  // Extra specificity to override Carbon default transition
@@ -56,7 +73,7 @@ $motion-duration: $duration-moderate-02;
56
73
  .#{$block-class__next}__container {
57
74
  transition:
58
75
  transform $motion-duration motion(entrance, expressive),
59
- max-height $motion-duration motion(entrance, expressive);
76
+ max-block-size $motion-duration motion(entrance, expressive);
60
77
  }
61
78
 
62
79
  // Wide variant at medium breakpoint
@@ -107,9 +124,11 @@ $motion-duration: $duration-moderate-02;
107
124
  display: grid;
108
125
  flex-basis: unset;
109
126
  gap: $spacing-05;
110
- grid-template-columns:
111
- auto
112
- minmax(var(--tearsheet-header-title-grid-width, 0), 1fr);
127
+ grid-template-columns: minmax(auto, 40rem) minmax(
128
+ var(--tearsheet-header-title-grid-width, 0),
129
+ 1fr
130
+ );
131
+
113
132
  inline-size: calc(100% - var(--tearsheet-header-action-offset));
114
133
 
115
134
  @include breakpoint-down(md) {
@@ -128,6 +147,7 @@ $motion-duration: $duration-moderate-02;
128
147
  .#{$block-class__next}__header-label {
129
148
  @include type.type-style('label-01');
130
149
 
150
+ color: $text-secondary;
131
151
  margin-block-end: $spacing-02;
132
152
  }
133
153
 
@@ -145,22 +165,11 @@ $motion-duration: $duration-moderate-02;
145
165
  svg {
146
166
  flex-shrink: 0;
147
167
  }
148
-
149
- &.#{$block-class__next}__leading-icon {
150
- flex-direction: row;
151
-
152
- svg {
153
- margin-inline-end: $spacing-05;
154
- }
168
+ .#{$block-class__next}__title-start {
169
+ margin-inline-end: $spacing-05;
155
170
  }
156
-
157
- &.#{$block-class__next}__trailing-icon {
158
- flex-direction: row-reverse;
159
- justify-content: flex-end;
160
-
161
- svg {
162
- margin-inline-start: $spacing-05;
163
- }
171
+ .#{$block-class__next}__title-end {
172
+ margin-inline-start: $spacing-05;
164
173
  }
165
174
  }
166
175
 
@@ -172,10 +181,6 @@ $motion-duration: $duration-moderate-02;
172
181
  display: none;
173
182
  }
174
183
 
175
- .#{$block-class__next}__header-content {
176
- max-inline-size: 40rem;
177
- }
178
-
179
184
  // ──────────────────────────────────────────────────────────────
180
185
  // Navigation bar inside header
181
186
  // ──────────────────────────────────────────────────────────────
@@ -191,8 +196,8 @@ $motion-duration: $duration-moderate-02;
191
196
 
192
197
  .#{$block-class__next}__scroller-container {
193
198
  position: absolute;
194
- inset-inline-end: -$spacing-07;
195
- margin-inline-end: 1px;
199
+ inset-block-end: $spacing-01;
200
+ inset-inline-end: calc(-#{$spacing-07} + #{$spacing-01});
196
201
  @include breakpoint-down(md) {
197
202
  inset-inline-end: -$spacing-05;
198
203
  }
@@ -225,9 +230,15 @@ $motion-duration: $duration-moderate-02;
225
230
  inline-size: 100%;
226
231
  margin-block-start: -14px;
227
232
 
228
- // apply spacing only between two visible items
229
- > *:not([hidden]) + *:not([hidden]) {
230
- padding-inline-start: $spacing-03;
233
+ > *.#{$block-class__next}__header-action-item:not([data-hidden='true']) {
234
+ margin-inline-end: $spacing-03; /* space between visible items */
235
+ }
236
+
237
+ /* Remove margin on the last visible item */
238
+ > *.#{$block-class__next}__header-action-item:not(
239
+ [data-hidden='true']
240
+ ):nth-last-child(2) {
241
+ margin-inline-end: 0;
231
242
  }
232
243
 
233
244
  > * {
@@ -238,31 +249,78 @@ $motion-duration: $duration-moderate-02;
238
249
  margin-inline-end: 0;
239
250
  }
240
251
  }
241
-
252
+ &.#{$block-class__next}--narrow {
253
+ .#{$block-class__next}__header {
254
+ padding-inline: $spacing-05;
255
+ }
256
+ .#{$block-class__next}__header.#{$block-class__next}__header-collapsed {
257
+ .#{$block-class__next}__header-actions {
258
+ display: none;
259
+ }
260
+ }
261
+ .#{$block-class__next}__header-content-wrapper {
262
+ display: flex;
263
+ flex-direction: column;
264
+ }
265
+ .#{$block-class__next}__header-title {
266
+ @include type.type-style('heading-03');
267
+ }
268
+ .#{$block-class__next}__content__header-actions {
269
+ justify-content: flex-start;
270
+ margin-inline-end: 0;
271
+ }
272
+ .#{$block-class__next}__body {
273
+ grid-template-columns: 1fr 0;
274
+ }
275
+ .#{$block-class__next}__influencer,
276
+ .#{$block-class__next}__main-content,
277
+ .#{$block-class__next}__summary-content {
278
+ &:not(.#{$block-class__next}__flush) {
279
+ padding-inline: $spacing-05;
280
+ }
281
+ }
282
+ }
242
283
  // ──────────────────────────────────────────────────────────────
243
284
  // Header (default vs collapsed)
244
285
  // ──────────────────────────────────────────────────────────────
245
286
  .#{$block-class__next}__header {
246
- opacity: 1;
247
-
248
- // Default visible: hide everything except nav-bar, header-content-wrapper & close button
287
+ // Animate all non-core visible elements
249
288
  > *:not(
250
289
  .#{$block-class__next}__navigation-bar,
251
290
  .#{$block-class__next}__header-content-wrapper,
252
- .#{$carbon-prefix}--modal-close-button
253
- ),
291
+ .#{$carbon-prefix}--modal-close-button,
292
+ .excludeFromCollapse
293
+ ) {
294
+ overflow: hidden;
295
+ max-block-size: 50vh; // large enough for expanded content
296
+ opacity: 1;
297
+ transition:
298
+ max-block-size $motion-duration motion(entrance, expressive),
299
+ opacity $motion-duration motion(entrance, expressive),
300
+ margin $motion-duration motion(entrance, expressive),
301
+ padding $motion-duration motion(entrance, expressive);
302
+ }
303
+
304
+ .#{$block-class__next}__header-actions,
254
305
  .#{$block-class__next}__header-content-wrapper
255
306
  .#{$block-class__next}__header-content
256
- > *:not(.#{$block-class__next}__content__title-wrapper) {
257
- overflow: hidden;
258
- max-block-size: 50vh;
307
+ *:not(
308
+ .#{$block-class__next}__content__title-wrapper,
309
+ .#{$block-class__next}__header-label
310
+ ) {
259
311
  opacity: 1;
260
- transition: all $motion-duration motion(entrance, expressive);
312
+ transition:
313
+ all $motion-duration motion(entrance, expressive),
314
+ opacity $motion-duration motion(entrance, expressive);
261
315
  }
262
316
  }
263
317
 
318
+ // COLLAPSED STATE
264
319
  .#{$block-class__next}__header-collapsed {
265
- // Hide everything except navigation bar, header-content-wrapper & close button
320
+ padding-block-start: $spacing-04;
321
+ transition: padding $motion-duration motion(entrance, expressive);
322
+
323
+ // Collapse everything except core elements
266
324
  > *:not(
267
325
  .#{$block-class__next}__navigation-bar,
268
326
  .#{$block-class__next}__header-content-wrapper,
@@ -271,8 +329,7 @@ $motion-duration: $duration-moderate-02;
271
329
  ),
272
330
  .#{$block-class__next}__header-actions
273
331
  > *:not(.#{$block-class__next}__content__header-actions),
274
- .#{$block-class__next}__header-content-wrapper
275
- .#{$block-class__next}__header-content
332
+ .#{$block-class__next}__header-content
276
333
  > *:not(.#{$block-class__next}__content__title-wrapper),
277
334
  > *:not(
278
335
  .#{$block-class__next}__navigation-bar,
@@ -280,25 +337,78 @@ $motion-duration: $duration-moderate-02;
280
337
  .#{$carbon-prefix}--modal-close-button,
281
338
  .excludeFromCollapse
282
339
  )
340
+ *,
341
+ .#{$block-class__next}__header-content-wrapper
342
+ .#{$block-class__next}__header-content
343
+ > *:not(.#{$block-class__next}__content__title-wrapper)
283
344
  * {
284
345
  overflow: hidden;
285
346
  padding: 0;
286
347
  margin: 0;
287
348
  max-block-size: 0;
288
- min-block-size: 0;
289
349
  opacity: 0;
290
- transition: all $motion-duration ease;
291
- visibility: hidden;
350
+ pointer-events: none;
351
+ transition: all $motion-duration motion(entrance, expressive);
352
+ }
353
+
354
+ // Header title
355
+ .#{$block-class__next}__header-title {
356
+ @include type.type-style('label-02');
357
+
358
+ align-items: center;
359
+ margin-block-start: $spacing-02;
360
+ transition: all $motion-duration motion(entrance, expressive);
361
+
362
+ > span {
363
+ display: flex;
364
+ align-items: center;
365
+ block-size: $spacing-06;
366
+ }
367
+ }
368
+
369
+ .#{$block-class__next}__header-content {
370
+ align-self: center;
371
+ margin-block-end: 0;
372
+ }
373
+
374
+ .#{$block-class__next}__content__header-actions {
375
+ margin-block-start: -$spacing-01;
292
376
  }
293
377
 
294
- // Reset margins and transitions on always-visible items
378
+ // Hide header actions on small screens
379
+ @include breakpoint-down(md) {
380
+ .#{$block-class__next}__header-actions {
381
+ display: none;
382
+ }
383
+ }
384
+
385
+ // Normalize visible elements
295
386
  .#{$block-class__next}__header-content-wrapper,
296
387
  .#{$block-class__next}__header-content,
297
388
  .#{$block-class__next}__content__title-wrapper,
298
- .#{$block-class__next}__header-actions
299
- .#{$block-class__next}__header-title {
389
+ .#{$block-class__next}__header-actions,
390
+ .#{$block-class__next}__header-title {
300
391
  margin-block: 0;
301
- transition: all $motion-duration ease;
392
+ transition: margin-block $motion-duration ease;
393
+ }
394
+
395
+ .#{$block-class__next}__header-content-wrapper {
396
+ min-block-size: $spacing-08;
397
+ padding-block-end: $spacing-04;
398
+ }
399
+
400
+ // Divider line above navigation bar
401
+ .#{$block-class__next}__navigation-bar::before {
402
+ position: absolute;
403
+ z-index: 1;
404
+ background: rgba(0, 0, 0, 0.12);
405
+ block-size: 1px;
406
+ content: '';
407
+ inline-size: 100vw;
408
+ inset-block-start: -$spacing-02;
409
+ inset-inline-start: 50%;
410
+ pointer-events: none;
411
+ transform: translateX(-50%);
302
412
  }
303
413
  }
304
414
 
@@ -328,6 +438,7 @@ $motion-duration: $duration-moderate-02;
328
438
 
329
439
  /* Assign components to their named grid areas */
330
440
  .#{$block-class__next}__influencer {
441
+ border-inline-end: 1px solid $border-subtle-01;
331
442
  grid-area: influencer;
332
443
  }
333
444
 
@@ -358,17 +469,16 @@ $motion-duration: $duration-moderate-02;
358
469
  .#{$block-class__next}__main-content,
359
470
  .#{$block-class__next}__summary-content {
360
471
  overflow: auto;
361
- padding-inline: $spacing-07;
362
- @include breakpoint-down(md) {
363
- padding-inline: $spacing-05;
472
+ &:not(.#{$block-class__next}__flush) {
473
+ padding-inline: $spacing-07;
474
+ @include breakpoint-down(md) {
475
+ padding-inline: $spacing-05;
476
+ }
364
477
  }
365
478
  }
366
479
 
367
480
  .#{$block-class__next}__main-content {
368
481
  position: relative;
369
- @include utilities.ai-popover-gradient('default', 0, 'background');
370
-
371
- box-shadow: inset 0 -80px 70px -65px $ai-inner-shadow;
372
482
  }
373
483
  .#{$pkg-prefix}--side-panel {
374
484
  position: absolute;
@@ -381,28 +491,40 @@ $motion-duration: $duration-moderate-02;
381
491
  min-block-size: 0;
382
492
  }
383
493
  }
384
- }
385
- .#{$block-class__next}--narrow {
386
- .#{$block-class__next}__header {
387
- padding-inline: $spacing-05;
388
- }
389
- .#{$block-class__next}__header-content-wrapper {
390
- display: flex;
391
- flex-direction: column;
392
- }
393
- .#{$block-class__next}__header-title {
394
- @include type.type-style('heading-03');
395
- }
396
- .#{$block-class__next}__content__header-actions {
397
- justify-content: flex-start;
398
- margin-inline-end: 0;
399
- }
400
- .#{$block-class__next}__body {
401
- grid-template-columns: 1fr 0;
402
- }
403
- .#{$block-class__next}__influencer,
404
- .#{$block-class__next}__main-content,
405
- .#{$block-class__next}__summary-content {
406
- padding-inline: $spacing-05;
494
+
495
+ &.#{$block-class__next}--stack-activated.is-visible {
496
+ --overlay-color: #{$overlay};
497
+ --overlay-alpha: 0.5;
498
+
499
+ z-index: calc(#{utilities.z('modal')} - var(--stack-depth, 0));
500
+
501
+ background-color: initial;
502
+
503
+ &::before {
504
+ position: absolute;
505
+ display: block;
506
+ background: var(--overlay-color);
507
+ content: '';
508
+ inset: 0;
509
+ opacity: calc(var(--overlay-alpha) - var(--stack-depth) * 0.1);
510
+
511
+ transition:
512
+ background-color $motion-duration motion(exit, expressive),
513
+ opacity $motion-duration motion(exit, expressive);
514
+
515
+ @media (prefers-reduced-motion: reduce) {
516
+ transition: none;
517
+ }
518
+ }
519
+
520
+ &.is-visible {
521
+ .#{$block-class__next}__container {
522
+ max-block-size: calc(
523
+ 100% - var(--tearsheet-vertical-gap, #{$spacing-09}) +
524
+ var(--block-size-change)
525
+ );
526
+ transform: scaleX(var(--scale-factor));
527
+ }
528
+ }
407
529
  }
408
530
  }
package/telemetry.yml CHANGED
@@ -185,6 +185,7 @@ collect:
185
185
  - invalid
186
186
  - invalidText
187
187
  - isFetching
188
+ - isFlush
188
189
  - isOpen
189
190
  - isTableSortable
190
191
  - item
@@ -937,6 +938,8 @@ collect:
937
938
  - sortableProps
938
939
  - strategy
939
940
  - withGrid
941
+ # StackProvider
942
+ - stackStepSize
940
943
  # StatusIndicator
941
944
  - onRetry
942
945
  - retryLabel
@@ -949,7 +952,9 @@ collect:
949
952
  # TagOverflow
950
953
  - tagComponent
951
954
  # Tearsheet
955
+ - containerClassName
952
956
  - summaryContentWidth
957
+ - verticalGap
953
958
  # TearsheetHeader
954
959
  - disableHeaderCollapse
955
960
  # TearsheetHeaderActionItem
@@ -957,10 +962,8 @@ collect:
957
962
  # TearsheetHeaderActions
958
963
  - menuButtonProps
959
964
  # TearsheetHeaderContent
960
- - descriptionCollapseLabel
961
- - descriptionExpandLabel
962
- - titleIcon
963
- - titleIconPosition
965
+ - titleEnd
966
+ - titleStart
964
967
  # TearsheetWithSteps
965
968
  - progressIndicator
966
969
  - setOpen
@@ -1245,9 +1248,10 @@ collect:
1245
1248
  - short
1246
1249
  # PageHeader - fullWidthGrid
1247
1250
  - xl
1248
- # TearsheetHeaderContent - titleIconPosition
1249
- - leading
1250
- - trailing
1251
+ # StackProvider - stackStepSize
1252
+ - lg
1253
+ - md
1254
+ - sm
1251
1255
  # TearsheetWithSteps - progressIndicator
1252
1256
  - horizontal
1253
1257
  - vertical
@@ -1,8 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2020, 2025
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
-
8
- export { Tearsheet } from './Tearsheet.js';
@@ -1,14 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2020, 2025
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
-
8
- 'use strict';
9
-
10
- var Tearsheet = require('./Tearsheet.js');
11
-
12
-
13
-
14
- exports.Tearsheet = Tearsheet.Tearsheet;