@carbon/ibm-products 2.71.1 → 2.72.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 (226) hide show
  1. package/css/carbon.css +50 -0
  2. package/css/carbon.css.map +1 -1
  3. package/css/index-full-carbon.css +560 -185
  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 +132 -1
  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 +570 -245
  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 +358 -33
  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/{BigNumbers/BigNumbers.d.ts → BigNumber/BigNumber.d.ts} +5 -5
  20. package/es/components/{BigNumbers/BigNumbers.js → BigNumber/BigNumber.js} +12 -12
  21. package/es/components/BigNumber/BigNumberSkeleton.d.ts +17 -0
  22. package/es/components/{BigNumbers/BigNumbersSkeleton.js → BigNumber/BigNumberSkeleton.js} +16 -16
  23. package/es/components/{BigNumbers → BigNumber}/constants.d.ts +3 -3
  24. package/es/components/{BigNumbers → BigNumber}/constants.js +6 -6
  25. package/es/components/{BigNumbers → BigNumber}/index.d.ts +2 -2
  26. package/es/components/Coachmark/next/Coachmark/Coachmark.d.ts +72 -0
  27. package/es/components/Coachmark/next/Coachmark/Coachmark.js +185 -0
  28. package/es/components/Coachmark/next/Coachmark/CoachmarkBeacon/CoachmarkBeacon.d.ts +44 -0
  29. package/es/components/Coachmark/next/Coachmark/CoachmarkBeacon/index.d.ts +8 -0
  30. package/es/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubble.d.ts +38 -0
  31. package/es/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubble.js +125 -0
  32. package/es/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubbleHeader.d.ts +24 -0
  33. package/es/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubbleHeader.js +25 -0
  34. package/es/components/Coachmark/next/Coachmark/CoachmarkBubble/index.d.ts +10 -0
  35. package/es/components/Coachmark/next/Coachmark/CoachmarkContent.d.ts +34 -0
  36. package/es/components/Coachmark/next/Coachmark/CoachmarkContent.js +118 -0
  37. package/es/components/Coachmark/next/Coachmark/ContentBody.d.ts +23 -0
  38. package/es/components/Coachmark/next/Coachmark/ContentBody.js +37 -0
  39. package/es/components/Coachmark/next/Coachmark/ContentHeader.d.ts +21 -0
  40. package/es/components/Coachmark/next/Coachmark/ContentHeader.js +89 -0
  41. package/{lib/components/BigNumbers → es/components/Coachmark/next/Coachmark}/index.d.ts +2 -2
  42. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +0 -1
  43. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +2 -1
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +30 -5
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +1 -1
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +11 -4
  47. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +2 -2
  48. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +1 -1
  49. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +42 -3
  50. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  51. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +5 -3
  52. package/es/components/ConditionBuilder/utils/useEvent.d.ts +8 -0
  53. package/es/components/ConditionBuilder/utils/useEvent.js +32 -0
  54. package/es/components/ConditionBuilder/utils/useTranslations.js +1 -1
  55. package/es/components/EditInPlace/EditInPlace.js +0 -3
  56. package/es/components/EmptyStates/EmptyState.d.ts +2 -2
  57. package/es/components/EmptyStates/EmptyState.js +2 -8
  58. package/es/components/FilterPanel/FilterPanelGroup/index.d.ts +1 -0
  59. package/es/components/InterstitialScreen/InterstitialScreen.d.ts +1 -25
  60. package/es/components/InterstitialScreen/InterstitialScreen.js +3 -19
  61. package/es/components/InterstitialScreen/InterstitialScreenBody.d.ts +1 -1
  62. package/es/components/InterstitialScreen/InterstitialScreenBody.js +1 -1
  63. package/es/components/InterstitialScreen/InterstitialScreenFooter.d.ts +1 -1
  64. package/es/components/InterstitialScreen/InterstitialScreenFooter.js +1 -1
  65. package/es/components/InterstitialScreen/InterstitialScreenHeader.d.ts +6 -0
  66. package/es/components/InterstitialScreen/InterstitialScreenHeader.js +1 -1
  67. package/es/components/InterstitialScreen/_story-assets/InterstitialScreenViewModule/InterstitialScreenViewModule.d.ts +1 -1
  68. package/es/components/InterstitialScreen/context.d.ts +31 -0
  69. package/es/components/InterstitialScreen/context.js +18 -0
  70. package/es/components/InterstitialScreen/index.d.ts +3 -2
  71. package/es/components/NotificationsPanel/NotificationsPanel.js +36 -13
  72. package/es/components/PageHeader/PageHeader.d.ts +2 -1
  73. package/es/components/PageHeader/PageHeader.js +2 -1
  74. package/es/components/PageHeader/next/PageHeader.d.ts +18 -3
  75. package/es/components/PageHeader/next/PageHeader.js +260 -12
  76. package/es/components/PageHeader/next/context.d.ts +25 -0
  77. package/es/components/PageHeader/next/context.js +30 -0
  78. package/es/components/PageHeader/next/index.d.ts +3 -3
  79. package/es/components/PageHeader/next/overflowHandler.d.ts +95 -0
  80. package/es/components/PageHeader/next/overflowHandler.js +162 -0
  81. package/es/components/PageHeader/next/utils.d.ts +19 -0
  82. package/es/components/PageHeader/next/utils.js +68 -0
  83. package/es/components/ProductiveCard/ProductiveCard.js +2 -1
  84. package/es/components/ScrollGradient/ScrollGradient.js +1 -2
  85. package/es/components/SidePanel/SidePanel.d.ts +4 -0
  86. package/es/components/SidePanel/SidePanel.js +8 -2
  87. package/es/components/Tearsheet/TearsheetShell.js +8 -5
  88. package/es/components/TruncatedText/TruncatedText.d.ts +48 -0
  89. package/es/components/TruncatedText/TruncatedText.js +86 -0
  90. package/es/components/TruncatedText/index.d.ts +7 -0
  91. package/es/components/TruncatedText/useTruncatedText.d.ts +16 -0
  92. package/es/components/TruncatedText/useTruncatedText.js +41 -0
  93. package/es/components/index.d.ts +3 -1
  94. package/es/global/js/hooks/useOverflowString.d.ts +2 -2
  95. package/es/global/js/hooks/useResizeObserver.d.ts +1 -1
  96. package/es/global/js/package-settings.d.ts +2 -1
  97. package/es/global/js/package-settings.js +3 -2
  98. package/es/global/js/utils/checkForOverflow.js +21 -0
  99. package/es/global/js/utils/makeDraggable/index.d.ts +1 -0
  100. package/es/global/js/utils/makeDraggable/makeDraggable.d.ts +19 -0
  101. package/es/global/js/utils/makeDraggable/makeDraggable.js +91 -0
  102. package/es/global/js/utils/makeDraggable/makeDraggable.stories.d.ts +22 -0
  103. package/es/index.js +3 -1
  104. package/es/node_modules/@floating-ui/core/dist/floating-ui.core.js +592 -0
  105. package/es/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +713 -0
  106. package/es/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +95 -0
  107. package/es/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +161 -0
  108. package/es/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +142 -0
  109. package/es/settings.d.ts +2 -1
  110. package/lib/components/{BigNumbers/BigNumbers.d.ts → BigNumber/BigNumber.d.ts} +5 -5
  111. package/lib/components/{BigNumbers/BigNumbers.js → BigNumber/BigNumber.js} +11 -11
  112. package/lib/components/BigNumber/BigNumberSkeleton.d.ts +17 -0
  113. package/lib/components/{BigNumbers/BigNumbersSkeleton.js → BigNumber/BigNumberSkeleton.js} +15 -15
  114. package/lib/components/{BigNumbers → BigNumber}/constants.d.ts +3 -3
  115. package/lib/components/{BigNumbers → BigNumber}/constants.js +6 -6
  116. package/lib/components/BigNumber/index.d.ts +7 -0
  117. package/lib/components/Coachmark/Coachmark.js +2 -2
  118. package/lib/components/Coachmark/next/Coachmark/Coachmark.d.ts +72 -0
  119. package/lib/components/Coachmark/next/Coachmark/Coachmark.js +189 -0
  120. package/lib/components/Coachmark/next/Coachmark/CoachmarkBeacon/CoachmarkBeacon.d.ts +44 -0
  121. package/lib/components/Coachmark/next/Coachmark/CoachmarkBeacon/index.d.ts +8 -0
  122. package/lib/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubble.d.ts +38 -0
  123. package/lib/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubble.js +127 -0
  124. package/lib/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubbleHeader.d.ts +24 -0
  125. package/lib/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubbleHeader.js +27 -0
  126. package/lib/components/Coachmark/next/Coachmark/CoachmarkBubble/index.d.ts +10 -0
  127. package/lib/components/Coachmark/next/Coachmark/CoachmarkContent.d.ts +34 -0
  128. package/lib/components/Coachmark/next/Coachmark/CoachmarkContent.js +122 -0
  129. package/lib/components/Coachmark/next/Coachmark/ContentBody.d.ts +23 -0
  130. package/lib/components/Coachmark/next/Coachmark/ContentBody.js +41 -0
  131. package/lib/components/Coachmark/next/Coachmark/ContentHeader.d.ts +21 -0
  132. package/lib/components/Coachmark/next/Coachmark/ContentHeader.js +93 -0
  133. package/lib/components/Coachmark/next/Coachmark/index.d.ts +7 -0
  134. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +0 -1
  135. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +2 -2
  136. package/lib/components/CoachmarkStack/CoachmarkStack.js +2 -2
  137. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +2 -2
  138. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +2 -1
  139. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +30 -5
  140. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +1 -1
  141. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +11 -4
  142. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +2 -2
  143. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +1 -1
  144. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +41 -2
  145. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  146. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +5 -3
  147. package/lib/components/ConditionBuilder/utils/useEvent.d.ts +8 -0
  148. package/lib/components/ConditionBuilder/utils/useEvent.js +34 -0
  149. package/lib/components/ConditionBuilder/utils/useTranslations.js +1 -1
  150. package/lib/components/EditInPlace/EditInPlace.js +0 -3
  151. package/lib/components/EmptyStates/EmptyState.d.ts +2 -2
  152. package/lib/components/EmptyStates/EmptyState.js +2 -8
  153. package/lib/components/FilterPanel/FilterPanelGroup/index.d.ts +1 -0
  154. package/lib/components/InterstitialScreen/InterstitialScreen.d.ts +1 -25
  155. package/lib/components/InterstitialScreen/InterstitialScreen.js +6 -25
  156. package/lib/components/InterstitialScreen/InterstitialScreenBody.d.ts +1 -1
  157. package/lib/components/InterstitialScreen/InterstitialScreenBody.js +6 -6
  158. package/lib/components/InterstitialScreen/InterstitialScreenFooter.d.ts +1 -1
  159. package/lib/components/InterstitialScreen/InterstitialScreenFooter.js +9 -9
  160. package/lib/components/InterstitialScreen/InterstitialScreenHeader.d.ts +6 -0
  161. package/lib/components/InterstitialScreen/InterstitialScreenHeader.js +5 -5
  162. package/lib/components/InterstitialScreen/_story-assets/InterstitialScreenViewModule/InterstitialScreenViewModule.d.ts +1 -1
  163. package/lib/components/InterstitialScreen/context.d.ts +31 -0
  164. package/lib/components/InterstitialScreen/context.js +21 -0
  165. package/lib/components/InterstitialScreen/index.d.ts +3 -2
  166. package/lib/components/NotificationsPanel/NotificationsPanel.js +36 -13
  167. package/lib/components/PageHeader/PageHeader.d.ts +2 -1
  168. package/lib/components/PageHeader/PageHeader.js +2 -1
  169. package/lib/components/PageHeader/next/PageHeader.d.ts +18 -3
  170. package/lib/components/PageHeader/next/PageHeader.js +261 -7
  171. package/lib/components/PageHeader/next/context.d.ts +25 -0
  172. package/lib/components/PageHeader/next/context.js +33 -0
  173. package/lib/components/PageHeader/next/index.d.ts +3 -3
  174. package/lib/components/PageHeader/next/overflowHandler.d.ts +95 -0
  175. package/lib/components/PageHeader/next/overflowHandler.js +166 -0
  176. package/lib/components/PageHeader/next/utils.d.ts +19 -0
  177. package/lib/components/PageHeader/next/utils.js +71 -0
  178. package/lib/components/ProductiveCard/ProductiveCard.js +2 -1
  179. package/lib/components/ScrollGradient/ScrollGradient.js +1 -2
  180. package/lib/components/SidePanel/SidePanel.d.ts +4 -0
  181. package/lib/components/SidePanel/SidePanel.js +8 -2
  182. package/lib/components/Tearsheet/TearsheetShell.js +8 -5
  183. package/lib/components/TruncatedText/TruncatedText.d.ts +48 -0
  184. package/lib/components/TruncatedText/TruncatedText.js +86 -0
  185. package/lib/components/TruncatedText/index.d.ts +7 -0
  186. package/lib/components/TruncatedText/useTruncatedText.d.ts +16 -0
  187. package/lib/components/TruncatedText/useTruncatedText.js +45 -0
  188. package/lib/components/index.d.ts +3 -1
  189. package/lib/global/js/hooks/useOverflowString.d.ts +2 -2
  190. package/lib/global/js/hooks/usePortalTarget.js +2 -2
  191. package/lib/global/js/hooks/useResizeObserver.d.ts +1 -1
  192. package/lib/global/js/package-settings.d.ts +2 -1
  193. package/lib/global/js/package-settings.js +3 -2
  194. package/lib/global/js/utils/checkForOverflow.js +23 -0
  195. package/lib/global/js/utils/makeDraggable/index.d.ts +1 -0
  196. package/lib/global/js/utils/makeDraggable/makeDraggable.d.ts +19 -0
  197. package/lib/global/js/utils/makeDraggable/makeDraggable.js +93 -0
  198. package/lib/global/js/utils/makeDraggable/makeDraggable.stories.d.ts +22 -0
  199. package/lib/index.js +10 -3
  200. package/lib/node_modules/@floating-ui/core/dist/floating-ui.core.js +600 -0
  201. package/lib/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +722 -0
  202. package/lib/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +102 -0
  203. package/lib/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +182 -0
  204. package/lib/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +164 -0
  205. package/lib/settings.d.ts +2 -1
  206. package/package.json +9 -10
  207. package/scss/components/{BigNumbers/_big-numbers.scss → BigNumber/_big-number.scss} +5 -5
  208. package/scss/components/{BigNumbers → BigNumber}/_carbon-imports.scss +3 -3
  209. package/scss/components/{BigNumbers → BigNumber}/_index-with-carbon.scss +2 -2
  210. package/scss/components/{BigNumbers → BigNumber}/_index.scss +2 -2
  211. package/scss/components/Card/_card.scss +2 -0
  212. package/scss/components/Coachmark/_bubble.scss +62 -0
  213. package/scss/components/Coachmark/_coachmark-beacon.scss +164 -0
  214. package/scss/components/Coachmark/_coachmark.scss +15 -0
  215. package/scss/components/ConditionBuilder/_condition-builder.scss +8 -0
  216. package/scss/components/PageHeader/_page-header.scss +144 -1
  217. package/scss/components/Tearsheet/_tearsheet.scss +6 -0
  218. package/scss/components/TruncatedText/_carbon-imports.scss +6 -0
  219. package/scss/components/TruncatedText/_index-with-carbon.scss +9 -0
  220. package/scss/components/TruncatedText/_index.scss +8 -0
  221. package/scss/components/TruncatedText/_truncated-text.scss +26 -0
  222. package/scss/components/_index-with-carbon.scss +3 -2
  223. package/scss/components/_index.scss +3 -2
  224. package/telemetry.yml +24 -5
  225. package/es/components/BigNumbers/BigNumbersSkeleton.d.ts +0 -17
  226. package/lib/components/BigNumbers/BigNumbersSkeleton.d.ts +0 -17
@@ -0,0 +1,164 @@
1
+ /* stylelint-disable carbon/layout-use */
2
+ /* stylelint-disable carbon/motion-easing-use */
3
+ /* stylelint-disable max-nesting-depth */
4
+ //
5
+ // Copyright IBM Corp. 2024, 2025
6
+ //
7
+ // This source code is licensed under the Apache-2.0 license found in the
8
+ // LICENSE file in the root directory of this source tree.
9
+ //
10
+
11
+ // Standard imports.
12
+ @use '../../global/styles/project-settings' as c4p-settings;
13
+ @use '../../global/styles/mixins';
14
+ @use '@carbon/styles/scss/spacing' as *;
15
+ @use '@carbon/styles/scss/colors' as *;
16
+ @use '@carbon/styles/scss/theme' as *;
17
+ @use '@carbon/styles/scss/type';
18
+ @use '@carbon/styles/scss/components/button/tokens' as *;
19
+ @use '@carbon/styles/scss/motion' as *;
20
+ // Other Carbon settings if needed
21
+ // TODO: @use '@carbon/styles/scss/grid';
22
+ // or
23
+ // TODO: @use '@carbon/styles/scss/grid';
24
+
25
+ // CoachmarkBeacon uses the following Carbon for IBM Products components:
26
+ // TODO: @use(s) of IBM Products component styles used by CoachmarkBeacon
27
+ $beaconAnimationTime: 2s;
28
+ // The block part of our conventional BEM class names (blockClass__E--M).
29
+ $block-class: #{c4p-settings.$pkg-prefix}--coachmark-beacon;
30
+
31
+ .#{$block-class} {
32
+ position: relative;
33
+
34
+ &-default {
35
+ .#{$block-class}__target {
36
+ &::before {
37
+ display: none;
38
+ }
39
+ // the blue dot
40
+ &::after {
41
+ position: absolute;
42
+ border-radius: 50%;
43
+ /* stylelint-disable-next-line carbon/theme-use */
44
+ background-color: $blue-50;
45
+ block-size: $spacing-04;
46
+ content: '';
47
+ inline-size: $spacing-04;
48
+ inset-block-start: calc($spacing-01 + $spacing-03);
49
+ inset-inline-start: calc($spacing-01 + $spacing-03);
50
+ }
51
+
52
+ &:focus {
53
+ outline: transparent;
54
+
55
+ &::before {
56
+ position: absolute;
57
+ display: block;
58
+ border-radius: 100%;
59
+ block-size: 18px;
60
+ content: '';
61
+ inline-size: 18px;
62
+ inset-block-start: 7px;
63
+ inset-inline-start: 7px;
64
+ /* stylelint-disable-next-line carbon/theme-use */
65
+ outline: $spacing-01 $focus solid;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ .#{$block-class}__target {
71
+ // the hit area
72
+ display: flex;
73
+ padding: 0;
74
+ border: none;
75
+ border-radius: 50%;
76
+ background-color: transparent;
77
+ block-size: $spacing-07;
78
+ cursor: pointer;
79
+ inline-size: $spacing-07;
80
+
81
+ &[aria-expanded='true'] {
82
+ circle {
83
+ animation: none;
84
+ }
85
+ }
86
+ }
87
+
88
+ &__center {
89
+ position: absolute;
90
+ z-index: 6900;
91
+ block-size: $spacing-11;
92
+ inline-size: $spacing-11;
93
+ inset-block-start: calc(($spacing-06 - $spacing-01) * -1);
94
+ inset-inline-start: calc(($spacing-06 - $spacing-01) * -1);
95
+ pointer-events: none;
96
+
97
+ circle {
98
+ /* stylelint-disable-next-line carbon/motion-duration-use */
99
+ animation: ripple $beaconAnimationTime infinite;
100
+ fill: $support-info;
101
+ fill-opacity: 0;
102
+ -webkit-mask-image: none;
103
+ mask-image: none;
104
+ stroke: $support-info;
105
+ stroke-opacity: 0;
106
+ stroke-width: 1px;
107
+ transition-timing-function: motion (exit, productive);
108
+ @media (prefers-reduced-motion) {
109
+ animation: none;
110
+ }
111
+ }
112
+ }
113
+ }
114
+ @keyframes ripple {
115
+ 0% {
116
+ fill-opacity: 0;
117
+ r: 1px;
118
+ stroke-opacity: 0;
119
+ transition-timing-function: motion(entrance, productive);
120
+ }
121
+
122
+ 31% {
123
+ fill-opacity: 0.2;
124
+ stroke-opacity: 1;
125
+ }
126
+
127
+ 62% {
128
+ fill-opacity: 0;
129
+ r: 32px;
130
+ stroke-opacity: 0;
131
+ }
132
+
133
+ 100% {
134
+ fill-opacity: 0;
135
+ r: 32px;
136
+ stroke-opacity: 0;
137
+ }
138
+ }
139
+
140
+ @keyframes ring-ripple {
141
+ 0% {
142
+ fill-opacity: 0;
143
+ r: 12px;
144
+ stroke-opacity: 0;
145
+ transition-timing-function: motion(entrance, productive);
146
+ }
147
+
148
+ 31% {
149
+ fill-opacity: 0.2;
150
+ stroke-opacity: 1;
151
+ }
152
+
153
+ 62% {
154
+ fill-opacity: 0;
155
+ r: 32px;
156
+ stroke-opacity: 0;
157
+ }
158
+
159
+ 100% {
160
+ fill-opacity: 0;
161
+ r: 32px;
162
+ stroke-opacity: 0;
163
+ }
164
+ }
@@ -14,6 +14,9 @@
14
14
  @use './coachmark-header';
15
15
  @use './coachmark-overlay';
16
16
  @use './coachmark-tagline';
17
+ @use './bubble';
18
+ @use './coachmark-beacon';
19
+ @use '../../global/styles/mixins' as *;
17
20
 
18
21
  // Other Carbon settings if needed
19
22
  // TODO: @use '@carbon/styles/scss/grid';
@@ -29,3 +32,15 @@ $block-class: #{c4p-settings.$pkg-prefix}--coachmark;
29
32
  .#{$block-class} {
30
33
  position: relative;
31
34
  }
35
+
36
+ // Onboarding/Coachmark/next
37
+
38
+ $block-class-next: #{c4p-settings.$pkg-prefix}--coachmark__next;
39
+
40
+ @include block-wrap(#{$block-class}__next) {
41
+ &.#{$block-class-next}--floating {
42
+ span:has(> div > .#{$block-class-next}--content-header--drag-icon) {
43
+ margin-inline-end: auto;
44
+ }
45
+ }
46
+ }
@@ -28,6 +28,14 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
28
28
  display: flex;
29
29
  }
30
30
 
31
+ .#{$block-class}__visible {
32
+ visibility: visible;
33
+ }
34
+
35
+ .#{$block-class}__hidden {
36
+ visibility: hidden;
37
+ }
38
+
31
39
  .#{$block-class}__condition-wrapper {
32
40
  display: flex;
33
41
  flex-flow: row wrap;
@@ -711,15 +711,24 @@ $duration: 1000ms;
711
711
  /// @group page-header
712
712
  @include block-wrap(#{$block-class}__next) {
713
713
  &.#{$block-class} {
714
+ position: sticky;
714
715
  background-color: $layer-01;
715
716
  border-block-end: 1px solid $border-subtle-01;
717
+ /* stylelint-disable-next-line carbon/layout-use */
718
+ inset-block-start: var(--#{$pkg-prefix}-page-header-header-top);
716
719
  }
717
720
 
718
721
  .#{$block-class}__breadcrumb-bar {
722
+ position: sticky;
723
+ z-index: 1;
724
+ background-color: $layer;
719
725
  block-size: to-rem(40px);
726
+ /* stylelint-disable-next-line carbon/layout-use */
727
+ inset-block-start: var(--#{$pkg-prefix}-page-header-breadcrumb-top);
720
728
  }
721
729
 
722
- .#{$block-class}__breadcrumb-bar .#{$carbon-prefix}--subgrid {
730
+ .#{$block-class}__breadcrumb-bar .#{$carbon-prefix}--subgrid,
731
+ .#{$block-class}__breadcrumb-bar .#{$carbon-prefix}--css-grid {
723
732
  block-size: 100%;
724
733
  }
725
734
 
@@ -751,14 +760,36 @@ $duration: 1000ms;
751
760
 
752
761
  .#{$block-class}__breadcrumb__actions {
753
762
  display: inline-flex;
763
+ justify-content: flex-end;
764
+ inline-size: 100%;
754
765
  }
755
766
 
756
767
  .#{$block-class}__breadcrumb__content-actions {
768
+ inline-size: 100%;
757
769
  margin-inline-end: $spacing-04;
758
770
  }
759
771
 
760
772
  .#{$block-class}__breadcrumb-wrapper {
761
773
  display: inline-flex;
774
+ inline-size: 100%;
775
+ }
776
+
777
+ .#{$block-class}__breadcrumb-wrapper .#{$block-class}-breadcrumb-overflow {
778
+ inline-size: 100%;
779
+ .#{$carbon-prefix}--breadcrumb {
780
+ display: flex;
781
+ }
782
+ }
783
+
784
+ .#{$block-class}__breadcrumb-wrapper
785
+ .#{$block-class}-breadcrumb-overflow-item {
786
+ display: none;
787
+ opacity: 0;
788
+ }
789
+ .#{$block-class}__breadcrumb-wrapper
790
+ .#{$block-class}-overflow-breadcrumb-item-with-items {
791
+ display: flex;
792
+ opacity: 1;
762
793
  }
763
794
 
764
795
  .#{$block-class}__content {
@@ -874,6 +905,29 @@ $duration: 1000ms;
874
905
  grid-template-columns: auto minmax(0, 1fr);
875
906
  }
876
907
 
908
+ .#{$pkg-prefix}--page-header__tab-bar--tablist
909
+ .#{$pkg-prefix}--page-header__tags {
910
+ display: flex;
911
+ align-self: center;
912
+ justify-content: flex-end;
913
+ }
914
+
915
+ .#{$pkg-prefix}--page-header__tab-bar--tablist.#{$pkg-prefix}--page-header__tab-bar--with-scroller
916
+ .#{$pkg-prefix}--page-header__tags {
917
+ display: flex;
918
+ align-items: center;
919
+ justify-content: right;
920
+ transform: translateX(calc($spacing-06 * -1));
921
+
922
+ @include breakpoint(md) {
923
+ padding-inline-end: $spacing-03;
924
+ transform: translateX(0);
925
+ }
926
+ @include breakpoint(max) {
927
+ padding-inline-end: $spacing-05;
928
+ }
929
+ }
930
+
877
931
  .#{$carbon-prefix}--tabs .#{$carbon-prefix}--tab--overflow-nav-button {
878
932
  background-color: $layer-01;
879
933
 
@@ -886,6 +940,13 @@ $duration: 1000ms;
886
940
  }
887
941
  }
888
942
 
943
+ // **** This is a temporary work-around until the focus clipping
944
+ // **** for overflowing tabs is resolved in core.
945
+ // **** https://github.com/carbon-design-system/carbon/issues/19942
946
+ .#{$carbon-prefix}--tabs .#{$carbon-prefix}--tabs__nav-link {
947
+ margin-inline-end: $spacing-01;
948
+ }
949
+
889
950
  .#{$block-class}__tags {
890
951
  display: flex;
891
952
  align-items: center;
@@ -901,4 +962,86 @@ $duration: 1000ms;
901
962
  .#{$block-class}__tag-item {
902
963
  flex-shrink: 0;
903
964
  }
965
+
966
+ .#{$pkg-prefix}--page-header--scroller-button-icon {
967
+ /* stylelint-disable-next-line */
968
+ transition: transform $transition-base;
969
+ @media (prefers-reduced-motion: reduce) {
970
+ transition: none;
971
+ }
972
+ }
973
+
974
+ .#{$pkg-prefix}--page-header--scroller-button-icon-collapsed {
975
+ transform: rotate(-180deg);
976
+ }
977
+
978
+ .#{$pkg-prefix}--page-header--scroller-button-container {
979
+ position: absolute;
980
+ inset-block-end: 0;
981
+ inset-inline-end: $spacing-01;
982
+ }
983
+
984
+ @keyframes page-header-title-breadcrumb-animation {
985
+ 0% {
986
+ opacity: 0;
987
+ transform: translateY($spacing-05);
988
+ }
989
+
990
+ 5% {
991
+ opacity: 1;
992
+ transform: translateY(0);
993
+ }
994
+
995
+ 100% {
996
+ opacity: 1;
997
+ transform: translateY(0);
998
+ }
999
+ }
1000
+
1001
+ @keyframes page-header-title-breadcrumb-animation-reduced-motion {
1002
+ 0% {
1003
+ opacity: 0;
1004
+ }
1005
+
1006
+ 5% {
1007
+ opacity: 1;
1008
+ }
1009
+
1010
+ 100% {
1011
+ opacity: 1;
1012
+ }
1013
+ }
1014
+
1015
+ .#{$pkg-prefix}--page-header-title-breadcrumb {
1016
+ opacity: 0;
1017
+ transform: translateY($spacing-05);
1018
+ transition:
1019
+ /* stylelint-disable-next-line */
1020
+ transform motion(standard, productive) $duration-moderate-01,
1021
+ opacity motion(standard, productive) $duration-moderate-01;
1022
+ // Target browsers that do not yet support animation-timeline: scroll()
1023
+ @supports not (animation-timeline: scroll()) {
1024
+ &.#{$pkg-prefix}--page-header-title-breadcrumb-show {
1025
+ opacity: 1;
1026
+ transform: translateY(0);
1027
+ }
1028
+ @media (prefers-reduced-motion: reduce) {
1029
+ transform: translateY(0);
1030
+ /* stylelint-disable-next-line */
1031
+ transition: opacity motion(standard, productive) $duration-moderate-01;
1032
+ }
1033
+ }
1034
+ // `animation-timeline: scroll()` only currently supported in Chromium based browsers
1035
+ @supports (animation-timeline: scroll()) {
1036
+ animation-direction: alternate;
1037
+ animation-duration: 1ms; /* Firefox requires this to apply the animation */
1038
+ animation-name: page-header-title-breadcrumb-animation;
1039
+ animation-timeline: scroll(block nearest);
1040
+
1041
+ @media (prefers-reduced-motion: reduce) {
1042
+ animation-name: page-header-title-breadcrumb-animation-reduced-motion;
1043
+ transform: translateY(0);
1044
+ }
1045
+ }
1046
+ }
904
1047
  }
@@ -302,6 +302,12 @@ $motion-duration: $duration-moderate-02;
302
302
  margin: $spacing-04 0 0;
303
303
  }
304
304
 
305
+ // Unfortunately <Layer> creates an extra DOM element. Try not to let it break
306
+ // existing layouts.
307
+ .#{$block-class}__layer {
308
+ display: contents;
309
+ }
310
+
305
311
  &.#{$block-class} .#{$block-class}__body {
306
312
  display: flex;
307
313
  flex-direction: row;
@@ -0,0 +1,6 @@
1
+ //
2
+ // Copyright IBM Corp. 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
+ //
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright IBM Corp. 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 './carbon-imports';
9
+ @use './truncated-text';
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 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 './truncated-text';
@@ -0,0 +1,26 @@
1
+ //
2
+ // Copyright IBM Corp. 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 '../../global/styles/project-settings' as c4p-settings;
9
+ @use '../../global/styles/mixins';
10
+ @use '@carbon/styles/scss/theme' as *;
11
+
12
+ $block-class: #{c4p-settings.$pkg-prefix}--truncated-text;
13
+
14
+ .#{$block-class} {
15
+ &__text-content {
16
+ display: -webkit-box;
17
+ overflow: hidden;
18
+ -webkit-box-orient: vertical;
19
+ text-overflow: clip;
20
+ }
21
+
22
+ &__expand-toggle {
23
+ color: $link-primary;
24
+ cursor: pointer;
25
+ }
26
+ }
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2021, 2021
2
+ // Copyright IBM Corp. 2021, 2025
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -49,8 +49,9 @@
49
49
  @use './Datagrid/index-with-carbon' as *;
50
50
  @use './EditUpdateCards/index-with-carbon' as *;
51
51
  @use './SimpleHeader/index-with-carbon' as *;
52
- @use './BigNumbers/index-with-carbon' as *;
52
+ @use './BigNumber/index-with-carbon' as *;
53
53
  @use './TruncatedList/index-with-carbon' as *;
54
+ @use './TruncatedText/index-with-carbon' as *;
54
55
  @use './InterstitialScreen/index-with-carbon' as *;
55
56
  @use './Coachmark/index-with-carbon' as *;
56
57
  @use './CoachmarkBeacon/index-with-carbon' as *;
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2021, 2023
2
+ // Copyright IBM Corp. 2021, 2025
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -62,8 +62,9 @@
62
62
  @use './Guidebanner';
63
63
  @use './InlineTip';
64
64
  @use './NonLinearReading';
65
- @use './BigNumbers';
65
+ @use './BigNumber';
66
66
  @use './TruncatedList';
67
+ @use './TruncatedText';
67
68
  @use './InterstitialScreen';
68
69
  @use './DelimitedList';
69
70
  @use './Decorator';
package/telemetry.yml CHANGED
@@ -45,6 +45,7 @@ collect:
45
45
  - breadcrumbs
46
46
  - button
47
47
  - cancelButtonText
48
+ - caret
48
49
  - cellSize
49
50
  - children
50
51
  - className
@@ -85,6 +86,7 @@ collect:
85
86
  - displayMetalPanel
86
87
  - downloadLinkLabel
87
88
  - draggableClass
89
+ - dropShadow
88
90
  - element
89
91
  - emptyStateAction
90
92
  - emptyStateDescription
@@ -149,6 +151,7 @@ collect:
149
151
  - hideConditionSubGroupPreviewHandler
150
152
  - hideIcon
151
153
  - hideSelectAll
154
+ - highContrast
152
155
  - href
153
156
  - icon
154
157
  - iconDescription
@@ -189,6 +192,7 @@ collect:
189
192
  - labelText
190
193
  - launcherButtonRef
191
194
  - legendText
195
+ - lines
192
196
  - link
193
197
  - links
194
198
  - listRef
@@ -364,6 +368,7 @@ collect:
364
368
  - tableId
365
369
  - tagline
366
370
  - tags
371
+ - target
367
372
  - theme
368
373
  - title
369
374
  - titleSize
@@ -490,7 +495,7 @@ collect:
490
495
  - onRequestGenerate
491
496
  - previousStepButtonText
492
497
  - showAPIKeyLabel
493
- # BigNumbers
498
+ # BigNumber
494
499
  - forceShowTotal
495
500
  - fractionDigits
496
501
  - iconButton
@@ -532,12 +537,14 @@ collect:
532
537
  - toggleLabel
533
538
  - toggleLabelAlign
534
539
  # Coachmark
540
+ - defaultOpen
541
+ - floating
535
542
  - isOpenByDefault
536
543
  - overlayClassName
537
544
  - overlayKind
538
545
  - overlayRef
546
+ - position
539
547
  - positionTune
540
- - target
541
548
  # CoachmarkBeacon
542
549
  - buttonProps
543
550
  # CoachmarkDragbar
@@ -588,6 +595,8 @@ collect:
588
595
  # ConditionPreview
589
596
  - colorIndex
590
597
  - previewType
598
+ # ContentHeader
599
+ - dragIconDescription
591
600
  # CreateFullPage
592
601
  - breadcrumbsOverflowAriaLabel
593
602
  - maxVisibleBreadcrumbs
@@ -847,10 +856,17 @@ collect:
847
856
  - contentActions
848
857
  - contentActionsFlush
849
858
  - pageActionsFlush
859
+ # PageHeaderBreadcrumbOverflow
860
+ - renderOverflowBreadcrumb
850
861
  # PageHeaderContent
851
862
  - contextualActions
852
863
  # PageHeaderContentPageActions
853
864
  - menuButtonLabel
865
+ # PageHeaderScrollButton
866
+ - collapseText
867
+ - expandText
868
+ # PageHeaderTabBar
869
+ - scroller
854
870
  # PageHeaderTitle
855
871
  - blockClass
856
872
  - hasBreadcrumbRow
@@ -901,6 +917,7 @@ collect:
901
917
  # SidePanelBase
902
918
  - actionToolbarButtons
903
919
  - animateTitle
920
+ - closeIconTooltipAlignment
904
921
  - condensedActions
905
922
  - hideCloseButton
906
923
  - includeOverlay
@@ -920,21 +937,21 @@ collect:
920
937
  - retryLabel
921
938
  - showRetry
922
939
  # StringFormatter
923
- - lines
924
940
  - tooltipDirection
925
941
  - width
926
942
  # TagOverflow
927
943
  - tagComponent
928
944
  # Toolbar
929
945
  - vertical
930
- # ToolbarButton
931
- - caret
932
946
  # TruncatedList
933
947
  - as
934
948
  - buttonClassName
935
949
  - collapsedItemsLimit
936
950
  - expandedItemsLimit
937
951
  - viewMoreLabel
952
+ # TruncatedText
953
+ - collapseLabel
954
+ - expandLabel
938
955
  # Underlay
939
956
  - activeId
940
957
  # UserAvatar
@@ -1138,12 +1155,14 @@ collect:
1138
1155
  - auto
1139
1156
  - checkbox
1140
1157
  - date
1158
+ - expand
1141
1159
  - manual
1142
1160
  - number
1143
1161
  - radio
1144
1162
  - selection
1145
1163
  - text
1146
1164
  - textarea
1165
+ - tooltip
1147
1166
  # General - updateMethod
1148
1167
  - batch
1149
1168
  - instant
@@ -1,17 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 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
- import React from 'react';
8
- import { BigNumbersProps } from './BigNumbers';
9
- /**
10
- * SkeletonBigNumbers is used to display a skeleton version while
11
- * content is loading (handled by the BigNumbers prop `loading').
12
- *
13
- * Note: This component is only used within BigNumbers.
14
- */
15
- type BigNumbersSkeletonProps = Pick<BigNumbersProps, 'className' | 'size'>;
16
- export declare const BigNumbersSkeleton: React.ForwardRefExoticComponent<BigNumbersSkeletonProps & React.RefAttributes<HTMLDivElement>>;
17
- export {};
@@ -1,17 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 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
- import React from 'react';
8
- import { BigNumbersProps } from './BigNumbers';
9
- /**
10
- * SkeletonBigNumbers is used to display a skeleton version while
11
- * content is loading (handled by the BigNumbers prop `loading').
12
- *
13
- * Note: This component is only used within BigNumbers.
14
- */
15
- type BigNumbersSkeletonProps = Pick<BigNumbersProps, 'className' | 'size'>;
16
- export declare const BigNumbersSkeleton: React.ForwardRefExoticComponent<BigNumbersSkeletonProps & React.RefAttributes<HTMLDivElement>>;
17
- export {};