@carbon/ibm-products 2.22.0 → 2.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. package/README.md +2 -1
  2. package/css/index-full-carbon.css +29490 -28295
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +1 -1
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +81 -104
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +1 -1
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +24399 -350
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +1 -1
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +17204 -123
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +1 -1
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/Card/Card.js +1 -2
  19. package/es/components/Card/CardHeader.js +2 -2
  20. package/es/components/Carousel/Carousel.js +5 -3
  21. package/es/components/Coachmark/Coachmark.js +255 -0
  22. package/es/components/Coachmark/CoachmarkDragbar.js +146 -0
  23. package/es/components/Coachmark/CoachmarkHeader.js +91 -0
  24. package/es/components/Coachmark/CoachmarkOverlay.js +235 -0
  25. package/es/components/Coachmark/CoachmarkTagline.js +97 -0
  26. package/es/components/Coachmark/index.js +10 -0
  27. package/es/components/Coachmark/utils/constants.js +76 -0
  28. package/es/components/Coachmark/utils/context.js +5 -0
  29. package/es/components/Coachmark/utils/enums.js +40 -0
  30. package/es/components/Coachmark/utils/helpers.js +11 -0
  31. package/es/components/Coachmark/utils/hooks.js +54 -0
  32. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +93 -0
  33. package/es/components/CoachmarkBeacon/index.js +8 -0
  34. package/es/components/CoachmarkButton/CoachmarkButton.js +90 -0
  35. package/es/components/CoachmarkButton/index.js +8 -0
  36. package/es/components/CoachmarkFixed/CoachmarkFixed.js +226 -0
  37. package/es/components/CoachmarkFixed/index.js +8 -0
  38. package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +86 -0
  39. package/es/components/CoachmarkOverlayElement/index.js +8 -0
  40. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +216 -0
  41. package/es/components/CoachmarkOverlayElements/index.js +8 -0
  42. package/es/components/CoachmarkStack/CoachmarkStack.js +283 -0
  43. package/es/components/CoachmarkStack/CoachmarkStackHome.js +192 -0
  44. package/es/components/CoachmarkStack/index.js +8 -0
  45. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +14 -4
  46. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +4 -1
  47. package/es/components/Datagrid/Datagrid/DraggableElement.js +1 -1
  48. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +1 -1
  49. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +4 -1
  50. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +1 -1
  51. package/es/components/Datagrid/Datagrid/addons/Slug/ColumnHeaderSlug.js +26 -0
  52. package/es/components/Datagrid/Datagrid.docs-page.js +2 -2
  53. package/es/components/Datagrid/useActionsColumn.js +16 -12
  54. package/es/components/Datagrid/useDefaultStringRenderer.js +3 -3
  55. package/es/components/Datagrid/useNestedRowExpander.js +2 -2
  56. package/es/components/Datagrid/useSortableColumns.js +15 -5
  57. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +7 -2
  58. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +8 -3
  59. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +7 -2
  60. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +7 -2
  61. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +7 -2
  62. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +7 -2
  63. package/es/components/EmptyStates/assets/ErrorIllustration.js +5 -5
  64. package/es/components/EmptyStates/assets/NoDataIllustration.js +5 -5
  65. package/es/components/EmptyStates/assets/NoTagsIllustration.js +5 -5
  66. package/es/components/EmptyStates/assets/NotFoundIllustration.js +5 -5
  67. package/es/components/EmptyStates/assets/NotificationsIllustration.js +5 -5
  68. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +5 -5
  69. package/es/components/FilterSummary/FilterSummary.js +100 -19
  70. package/es/components/InterstitialScreen/InterstitialScreen.js +427 -0
  71. package/es/components/InterstitialScreen/index.js +8 -0
  72. package/es/components/InterstitialScreenView/InterstitialScreenView.js +75 -0
  73. package/es/components/InterstitialScreenView/index.js +8 -0
  74. package/es/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +83 -0
  75. package/es/components/InterstitialScreenViewModule/index.js +8 -0
  76. package/es/components/PageHeader/PageHeaderUtils.js +2 -2
  77. package/es/components/SearchBar/SearchBar.js +227 -0
  78. package/es/components/SearchBar/index.js +8 -0
  79. package/es/components/TagSet/TagSet.js +11 -3
  80. package/es/components/index.js +12 -1
  81. package/es/global/js/hooks/useResizeObserver.js +2 -2
  82. package/es/global/js/package-settings.js +14 -0
  83. package/lib/components/Card/Card.js +3 -4
  84. package/lib/components/Card/CardHeader.js +2 -2
  85. package/lib/components/Carousel/Carousel.js +5 -3
  86. package/lib/components/Coachmark/Coachmark.js +264 -0
  87. package/lib/components/Coachmark/CoachmarkDragbar.js +151 -0
  88. package/lib/components/Coachmark/CoachmarkHeader.js +95 -0
  89. package/lib/components/Coachmark/CoachmarkOverlay.js +243 -0
  90. package/lib/components/Coachmark/CoachmarkTagline.js +101 -0
  91. package/lib/components/Coachmark/index.js +38 -0
  92. package/lib/components/Coachmark/utils/constants.js +81 -0
  93. package/lib/components/Coachmark/utils/context.js +11 -0
  94. package/lib/components/Coachmark/utils/enums.js +46 -0
  95. package/lib/components/Coachmark/utils/helpers.js +17 -0
  96. package/lib/components/Coachmark/utils/hooks.js +59 -0
  97. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +97 -0
  98. package/lib/components/CoachmarkBeacon/index.js +12 -0
  99. package/lib/components/CoachmarkButton/CoachmarkButton.js +93 -0
  100. package/lib/components/CoachmarkButton/index.js +12 -0
  101. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +232 -0
  102. package/lib/components/CoachmarkFixed/index.js +12 -0
  103. package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +90 -0
  104. package/lib/components/CoachmarkOverlayElement/index.js +12 -0
  105. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +222 -0
  106. package/lib/components/CoachmarkOverlayElements/index.js +12 -0
  107. package/lib/components/CoachmarkStack/CoachmarkStack.js +288 -0
  108. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +198 -0
  109. package/lib/components/CoachmarkStack/index.js +12 -0
  110. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +14 -4
  111. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +4 -1
  112. package/lib/components/Datagrid/Datagrid/DraggableElement.js +1 -1
  113. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +1 -1
  114. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +4 -1
  115. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +1 -1
  116. package/lib/components/Datagrid/Datagrid/addons/Slug/ColumnHeaderSlug.js +36 -0
  117. package/lib/components/Datagrid/Datagrid.docs-page.js +2 -2
  118. package/lib/components/Datagrid/useActionsColumn.js +15 -11
  119. package/lib/components/Datagrid/useDefaultStringRenderer.js +3 -3
  120. package/lib/components/Datagrid/useNestedRowExpander.js +2 -2
  121. package/lib/components/Datagrid/useSortableColumns.js +15 -5
  122. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +7 -2
  123. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +8 -3
  124. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +7 -2
  125. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +7 -2
  126. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +7 -2
  127. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +7 -2
  128. package/lib/components/EmptyStates/assets/ErrorIllustration.js +5 -5
  129. package/lib/components/EmptyStates/assets/NoDataIllustration.js +5 -5
  130. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +5 -5
  131. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +5 -5
  132. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +5 -5
  133. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +5 -5
  134. package/lib/components/FilterSummary/FilterSummary.js +103 -23
  135. package/lib/components/InterstitialScreen/InterstitialScreen.js +434 -0
  136. package/lib/components/InterstitialScreen/index.js +12 -0
  137. package/lib/components/InterstitialScreenView/InterstitialScreenView.js +77 -0
  138. package/lib/components/InterstitialScreenView/index.js +12 -0
  139. package/lib/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +85 -0
  140. package/lib/components/InterstitialScreenViewModule/index.js +12 -0
  141. package/lib/components/PageHeader/PageHeaderUtils.js +2 -2
  142. package/lib/components/SearchBar/SearchBar.js +233 -0
  143. package/lib/components/SearchBar/index.js +12 -0
  144. package/lib/components/TagSet/TagSet.js +11 -3
  145. package/lib/components/index.js +78 -1
  146. package/lib/global/js/hooks/useResizeObserver.js +2 -2
  147. package/lib/global/js/package-settings.js +14 -0
  148. package/package.json +5 -5
  149. package/scss/components/Card/_card.scss +6 -5
  150. package/scss/components/Coachmark/_carbon-imports.scss +10 -0
  151. package/scss/components/Coachmark/_coachmark-dragbar.scss +27 -0
  152. package/scss/components/Coachmark/_coachmark-header.scss +20 -0
  153. package/scss/components/Coachmark/_coachmark-overlay.scss +431 -0
  154. package/scss/components/Coachmark/_coachmark-tagline.scss +140 -0
  155. package/scss/components/Coachmark/_coachmark.scss +30 -0
  156. package/scss/components/Coachmark/_index-with-carbon.scss +9 -0
  157. package/scss/components/Coachmark/_index.scss +8 -0
  158. package/scss/components/CoachmarkBeacon/_carbon-imports.scss +9 -0
  159. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +166 -0
  160. package/scss/components/CoachmarkBeacon/_index-with-carbon.scss +9 -0
  161. package/scss/components/CoachmarkBeacon/_index.scss +8 -0
  162. package/scss/components/CoachmarkButton/_carbon-imports.scss +9 -0
  163. package/scss/components/CoachmarkButton/_coachmark-button.scss +25 -0
  164. package/scss/components/CoachmarkButton/_index-with-carbon.scss +9 -0
  165. package/scss/components/CoachmarkButton/_index.scss +8 -0
  166. package/scss/components/CoachmarkFixed/_carbon-imports.scss +9 -0
  167. package/scss/components/CoachmarkFixed/_coachmark-fixed.scss +25 -0
  168. package/scss/components/CoachmarkFixed/_index-with-carbon.scss +9 -0
  169. package/scss/components/CoachmarkFixed/_index.scss +8 -0
  170. package/scss/components/CoachmarkOverlayElement/_carbon-imports.scss +9 -0
  171. package/scss/components/CoachmarkOverlayElement/_coachmark-overlay-element.scss +52 -0
  172. package/scss/components/CoachmarkOverlayElement/_index-with-carbon.scss +9 -0
  173. package/scss/components/CoachmarkOverlayElement/_index.scss +8 -0
  174. package/scss/components/CoachmarkOverlayElements/_carbon-imports.scss +9 -0
  175. package/scss/components/CoachmarkOverlayElements/_coachmark-overlay-elements.scss +47 -0
  176. package/scss/components/CoachmarkOverlayElements/_index-with-carbon.scss +9 -0
  177. package/scss/components/CoachmarkOverlayElements/_index.scss +8 -0
  178. package/scss/components/CoachmarkStack/_carbon-imports.scss +9 -0
  179. package/scss/components/CoachmarkStack/_coachmark-stack.scss +95 -0
  180. package/scss/components/CoachmarkStack/_index-with-carbon.scss +9 -0
  181. package/scss/components/CoachmarkStack/_index.scss +8 -0
  182. package/scss/components/CreateSidePanel/_create-side-panel.scss +1 -38
  183. package/scss/components/Datagrid/styles/_datagrid.scss +15 -0
  184. package/scss/components/EditSidePanel/_edit-side-panel.scss +0 -18
  185. package/scss/components/FilterSummary/_filter-summary.scss +22 -1
  186. package/scss/components/InterstitialScreen/_carbon-imports.scss +9 -0
  187. package/scss/components/InterstitialScreen/_index-with-carbon.scss +9 -0
  188. package/scss/components/InterstitialScreen/_index.scss +8 -0
  189. package/scss/components/InterstitialScreen/_interstitial-screen.scss +276 -0
  190. package/scss/components/InterstitialScreenView/_carbon-imports.scss +9 -0
  191. package/scss/components/InterstitialScreenView/_index-with-carbon.scss +9 -0
  192. package/scss/components/InterstitialScreenView/_index.scss +8 -0
  193. package/scss/components/InterstitialScreenView/_interstitial-screen-view.scss +25 -0
  194. package/scss/components/InterstitialScreenViewModule/_carbon-imports.scss +9 -0
  195. package/scss/components/InterstitialScreenViewModule/_index-with-carbon.scss +9 -0
  196. package/scss/components/InterstitialScreenViewModule/_index.scss +8 -0
  197. package/scss/components/InterstitialScreenViewModule/_interstitial-screen-view-module.scss +59 -0
  198. package/scss/components/PageHeader/_page-header.scss +0 -1
  199. package/scss/components/SearchBar/_carbon-imports.scss +9 -0
  200. package/scss/components/SearchBar/_index-with-carbon.scss +9 -0
  201. package/scss/components/SearchBar/_index.scss +8 -0
  202. package/scss/components/SearchBar/_search-bar.scss +26 -0
  203. package/scss/components/SidePanel/_side-panel.scss +12 -7
  204. package/scss/components/_index-with-carbon.scss +11 -0
  205. package/scss/components/_index.scss +11 -0
@@ -0,0 +1,431 @@
1
+ /* stylelint-disable function-no-unknown */
2
+ /* stylelint-disable max-nesting-depth */
3
+ //
4
+ // Copyright IBM Corp. 2023, 2024
5
+ //
6
+ // This source code is licensed under the Apache-2.0 license found in the
7
+ // LICENSE file in the root directory of this source tree.
8
+ //
9
+
10
+ /* stylelint-disable carbon/layout-token-use */
11
+ /* stylelint-disable carbon/theme-token-use */
12
+ /* stylelint-disable declaration-no-important */
13
+
14
+ // Standard imports.
15
+ @use '@carbon/layout/scss/convert' as *;
16
+ @use '../../global/styles/project-settings' as c4p-settings;
17
+ @use '../../global/styles/mixins';
18
+ @use '@carbon/styles/scss/spacing' as *;
19
+ @use '@carbon/react/scss/theme' as *;
20
+ @use '@carbon/styles/scss/type';
21
+ @use '@carbon/react/scss/colors' as *;
22
+ @use '@carbon/styles/scss/components/button/tokens' as *;
23
+ @use '@carbon/styles/scss/motion' as *;
24
+ // Define all component styles in a mixin which is then exported using
25
+ // the Carbon import-once mechanism.
26
+
27
+ // The block part of our conventional BEM class names (blockClass__E--M).
28
+ $block-class: #{c4p-settings.$pkg-prefix}--coachmark-overlay;
29
+ $carousel-class: #{c4p-settings.$pkg-prefix}--carousel;
30
+ $close-btn-class: #{$block-class}--close-btn;
31
+ $draghandle-btn-class: #{$block-class}__handle;
32
+
33
+ .#{$block-class} {
34
+ position: absolute;
35
+ z-index: 5901;
36
+ width: 18rem;
37
+ border-radius: $spacing-01;
38
+ background-color: $background-inverse;
39
+ color: $text-inverse;
40
+ $caret-height: calc(
41
+ $spacing-03 - $spacing-01
42
+ ); // from the "peak" of the pyramid to its "base"
43
+ $caret-center: $caret-height; // use "center" for left-right calculations, and "height" for top-bottom calculations
44
+ $distance-offset: $spacing-06; // see also ./utils/constants.js > distanceOffset
45
+
46
+ visibility: hidden;
47
+
48
+ &--fixed {
49
+ position: fixed;
50
+ right: $spacing-05;
51
+ bottom: 0;
52
+ transform: translateY(100%);
53
+
54
+ transition: transform $duration-moderate-02 motion(exit, productive);
55
+ @media (prefers-reduced-motion) {
56
+ transition: none;
57
+ }
58
+ }
59
+
60
+ &--is-dragmode {
61
+ border-radius: 0;
62
+ box-shadow: 0 0 0 $spacing-02 $background-inverse;
63
+ outline: $spacing-01 solid $icon-inverse;
64
+ }
65
+
66
+ &--is-visible {
67
+ transform: translateY(0);
68
+ visibility: visible;
69
+ }
70
+
71
+ // CARET STYLING
72
+ &__caret {
73
+ // background-color: this property is set in _coachmark-overlay-theme.scss
74
+ position: absolute;
75
+ z-index: 5902;
76
+ width: 0;
77
+ height: 0;
78
+ // border-bottom-color: this property is set in _coachmark-overlay-theme.scss
79
+ border-right: $caret-center solid transparent;
80
+ border-bottom: solid $caret-center $background-inverse;
81
+ border-left: $caret-center solid transparent;
82
+ }
83
+
84
+ // OVERLAY AND CARET POSITIONING
85
+ &--top {
86
+ $horizontal-push: calc($distance-offset - $caret-center);
87
+ $translate-y: calc(-1 * (100% + $distance-offset + $caret-height));
88
+
89
+ transform: translate(-50%, $translate-y);
90
+
91
+ .#{$block-class}__caret {
92
+ left: calc(50% - $caret-center);
93
+ transform: rotate(180deg);
94
+ }
95
+
96
+ &-left {
97
+ transform: translate(calc(-1 * $distance-offset), $translate-y);
98
+ .#{$block-class}__caret {
99
+ left: $horizontal-push;
100
+ transform: rotate(180deg);
101
+ }
102
+ }
103
+
104
+ &-right {
105
+ transform: translate(calc(-1 * (100% - $distance-offset)), $translate-y);
106
+ .#{$block-class}__caret {
107
+ right: $horizontal-push;
108
+ transform: rotate(180deg);
109
+ }
110
+ }
111
+ }
112
+
113
+ &--bottom {
114
+ $horizontal-push: calc($distance-offset - $caret-center);
115
+ $top: calc(-1 * $caret-height);
116
+ $translate-y: calc($distance-offset + $caret-height);
117
+
118
+ transform: translate(-50%, $translate-y);
119
+ .#{$block-class}__caret {
120
+ top: $top;
121
+ left: calc(50% - $caret-center);
122
+ }
123
+
124
+ &-left {
125
+ transform: translate(calc(-1 * $distance-offset), $translate-y);
126
+ .#{$block-class}__caret {
127
+ top: $top;
128
+ left: $horizontal-push;
129
+ }
130
+ }
131
+
132
+ &-right {
133
+ transform: translate(calc(-1 * (100% - $distance-offset)), $translate-y);
134
+
135
+ .#{$block-class}__caret {
136
+ top: $top;
137
+ right: $horizontal-push;
138
+ }
139
+ }
140
+ }
141
+
142
+ &--left {
143
+ $right: calc(-1 * $caret-center * 1.5);
144
+ $translate-x: calc(-1 * (100% + $distance-offset + $caret-center));
145
+ $vertical-push: calc($distance-offset - ($caret-height * 0.5));
146
+
147
+ transform: translate($translate-x, -50%);
148
+ .#{$block-class}__caret {
149
+ top: calc(50% - ($caret-height * 0.5));
150
+ right: $right;
151
+ transform: rotate(90deg);
152
+ }
153
+
154
+ &-top {
155
+ transform: translate($translate-x, calc(-1 * $distance-offset));
156
+ .#{$block-class}__caret {
157
+ top: $vertical-push;
158
+ right: $right;
159
+ transform: rotate(90deg);
160
+ }
161
+ }
162
+
163
+ &-bottom {
164
+ transform: translate($translate-x, calc(-1 * (100% - $distance-offset)));
165
+ .#{$block-class}__caret {
166
+ right: $right;
167
+ bottom: $vertical-push;
168
+ transform: rotate(90deg);
169
+ }
170
+ }
171
+ }
172
+
173
+ &--right {
174
+ $left: calc(-1 * $caret-center * 1.5);
175
+ $translate-x: calc($distance-offset + $caret-center);
176
+ $vertical-push: calc($distance-offset - ($caret-height * 0.5));
177
+
178
+ transform: translate($translate-x, -50%);
179
+ .#{$block-class}__caret {
180
+ top: calc(50% - ($caret-height * 0.5));
181
+ left: $left;
182
+ transform: rotate(-90deg);
183
+ }
184
+
185
+ &-top {
186
+ transform: translate($translate-x, calc(-1 * $distance-offset));
187
+ .#{$block-class}__caret {
188
+ top: $vertical-push;
189
+ left: $left;
190
+ transform: rotate(-90deg);
191
+ }
192
+ }
193
+
194
+ &-bottom {
195
+ transform: translate($translate-x, calc(-1 * (100% - $distance-offset)));
196
+ .#{$block-class}__caret {
197
+ bottom: $vertical-push;
198
+ left: $left;
199
+ transform: rotate(-90deg);
200
+ }
201
+ }
202
+ }
203
+
204
+ // ANIMATED MEDIA
205
+ &__element-stepped-media {
206
+ height: calc($spacing-07 + $spacing-12); // 32 + 96 = 128
207
+ margin-bottom: $spacing-05;
208
+ }
209
+
210
+ // BODY
211
+ &__body {
212
+ .#{c4p-settings.$carbon-prefix}--btn--ghost {
213
+ color: $link-inverse;
214
+
215
+ &:hover {
216
+ color: $link-inverse;
217
+ }
218
+ }
219
+
220
+ // CAROUSEL ELEMENTS
221
+ #{$block-class}-element {
222
+ display: block;
223
+ max-width: 100%;
224
+ flex: 0 0 100%;
225
+
226
+ #{$block-class}-element__content {
227
+ padding-bottom: $spacing-05;
228
+ }
229
+
230
+ #{$block-class}-element__title > div {
231
+ margin: 0 0 $spacing-03;
232
+
233
+ > h2 {
234
+ @include type.type-style('productive-heading-02');
235
+
236
+ order: 1;
237
+ }
238
+ }
239
+ }
240
+ }
241
+
242
+ // HEADER BUTTONS
243
+ &__handle {
244
+ position: relative;
245
+ flex-grow: 1;
246
+ padding: $spacing-02 0 0 $spacing-03;
247
+ border: 0;
248
+ background-color: transparent;
249
+ text-align: left;
250
+
251
+ &::before {
252
+ position: absolute;
253
+ top: $spacing-01;
254
+ left: $spacing-01;
255
+ width: calc($spacing-06 + $spacing-01);
256
+ height: calc($spacing-06 + $spacing-01);
257
+ content: '';
258
+ }
259
+
260
+ &:hover {
261
+ cursor: move;
262
+ }
263
+
264
+ &:focus {
265
+ border: none;
266
+ outline: none;
267
+
268
+ &::before {
269
+ border: 1px solid $icon-inverse;
270
+ outline: 1px solid $blue-60;
271
+ }
272
+ }
273
+ }
274
+
275
+ &--close-btn-container {
276
+ width: $spacing-07;
277
+ height: $spacing-07;
278
+ margin-left: auto !important;
279
+ }
280
+
281
+ &--close-btn {
282
+ width: $spacing-07;
283
+ height: $spacing-07;
284
+ margin-left: auto !important;
285
+
286
+ svg > path {
287
+ margin: 0;
288
+ fill: $icon-inverse !important;
289
+ }
290
+
291
+ &:hover {
292
+ background-color: $background-inverse-hover !important;
293
+ }
294
+ }
295
+
296
+ // FOOTER
297
+ &__footer {
298
+ display: flex;
299
+ align-items: center;
300
+ justify-content: flex-end;
301
+ }
302
+
303
+ // THEME
304
+ &__light {
305
+ .#{$block-class}__body {
306
+ .#{c4p-settings.$carbon-prefix}--link {
307
+ color: $link-inverse;
308
+
309
+ &:hover {
310
+ color: #a6c8ff;
311
+ }
312
+
313
+ &:active {
314
+ color: $text-on-color;
315
+ }
316
+
317
+ &:focus {
318
+ outline-color: $text-on-color;
319
+ }
320
+ }
321
+
322
+ .#{c4p-settings.$carbon-prefix}--btn--ghost {
323
+ border-color: transparent !important;
324
+ border-radius: 0;
325
+ outline: 1px solid transparent;
326
+
327
+ &:hover {
328
+ background-color: $background-inverse-hover;
329
+ }
330
+
331
+ &:active {
332
+ background-color: $button-secondary-active;
333
+ }
334
+
335
+ &:focus {
336
+ box-shadow: inset 0 0 0 1px $background-inverse,
337
+ inset 0 0 0 $spacing-01 $white-0;
338
+ }
339
+ }
340
+ }
341
+ .#{$draghandle-btn-class} {
342
+ &:focus {
343
+ &::before {
344
+ border: 1px solid $white-0;
345
+ outline: 1px solid transparent;
346
+ }
347
+ }
348
+ }
349
+ .#{$close-btn-class} {
350
+ border-color: transparent !important;
351
+ border-radius: 0;
352
+ outline: 1px solid transparent;
353
+
354
+ &:active {
355
+ background-color: $button-secondary-active;
356
+ }
357
+
358
+ &:focus {
359
+ box-shadow: inset 0 0 0 1px $background-inverse,
360
+ inset 0 0 0 $spacing-01 $white-0;
361
+ }
362
+ }
363
+ }
364
+
365
+ &__dark {
366
+ .#{$block-class}__body {
367
+ .#{c4p-settings.$carbon-prefix}--link {
368
+ color: #0062fe;
369
+
370
+ &:hover {
371
+ color: #0043ce;
372
+ }
373
+
374
+ &:active {
375
+ color: $link-secondary;
376
+ }
377
+
378
+ &:focus {
379
+ color: $text-inverse;
380
+ outline-color: $text-inverse;
381
+ }
382
+ }
383
+
384
+ .#{c4p-settings.$carbon-prefix}--btn--primary {
385
+ &:focus {
386
+ background-color: $button-primary-active;
387
+ box-shadow: inset 0 0 0 $spacing-01 $button-primary,
388
+ inset 0 0 0 to-rem(3px) $button-tertiary;
389
+ }
390
+ }
391
+
392
+ .#{c4p-settings.$carbon-prefix}--btn--ghost {
393
+ border-color: transparent;
394
+
395
+ &:hover {
396
+ background-color: $background-inverse-hover;
397
+ }
398
+
399
+ &:active {
400
+ background-color: $button-tertiary-active;
401
+ }
402
+
403
+ &:focus {
404
+ box-shadow: inset 0 0 0 1px $blue-60, inset 0 0 0 $spacing-01 $white-0;
405
+ }
406
+ }
407
+ }
408
+ .#{$draghandle-btn-class} {
409
+ &:focus {
410
+ &::before {
411
+ border: 1px solid $white-0;
412
+ outline: 1px solid $blue-60;
413
+ }
414
+ }
415
+ }
416
+ .#{$close-btn-class} {
417
+ border-color: transparent;
418
+
419
+ &:focus {
420
+ box-shadow: inset 0 0 0 1px $blue-60, inset 0 0 0 $spacing-01 $white-0;
421
+ }
422
+
423
+ &:active {
424
+ background-color: $button-tertiary-active;
425
+ }
426
+ }
427
+ }
428
+ .#{$carousel-class}__item {
429
+ flex: 0 0 100% !important;
430
+ }
431
+ }
@@ -0,0 +1,140 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2024
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
+ /* stylelint-disable max-nesting-depth */
9
+ /* stylelint-disable carbon/theme-token-use */
10
+ /* stylelint-disable declaration-no-important */
11
+
12
+ // Standard imports.
13
+ @use '../../global/styles/project-settings' as c4p-settings;
14
+ @use '../../global/styles/mixins';
15
+ @use '@carbon/styles/scss/spacing' as *;
16
+ @use '@carbon/react/scss/motion' as *;
17
+ @use '@carbon/styles/scss/type';
18
+ @use '@carbon/react/scss/colors' as *;
19
+ @use '@carbon/react/scss/theme' as *;
20
+ @use '@carbon/styles/scss/components/button/tokens' as *;
21
+ // Define all component styles in a mixin which is then exported using
22
+ // the Carbon import-once mechanism.
23
+
24
+ // The block part of our conventional BEM class names (blockClass__E--M).
25
+ $block-class: #{c4p-settings.$pkg-prefix}--coachmark-tagline;
26
+
27
+ .#{$block-class} {
28
+ position: fixed;
29
+ z-index: 1000;
30
+ right: $spacing-05;
31
+ bottom: 0;
32
+ display: grid;
33
+ overflow: hidden;
34
+ width: 18rem;
35
+ border-radius: $spacing-01 $spacing-01 0 0;
36
+ background: $purple-70;
37
+ background-image: linear-gradient(90deg, $blue-90 0%, $purple-70 100%);
38
+ color: $white-0 !important;
39
+ grid-template-columns: [ctacol] auto [closebtncol] $spacing-08;
40
+ opacity: 1;
41
+ // stylelint-disable-next-line carbon/motion-duration-use
42
+ transition: opacity $duration-moderate-02 motion(exit, productive) 300ms;
43
+ transition-delay: $duration-moderate-02;
44
+
45
+ @media (prefers-reduced-motion) {
46
+ transition: none;
47
+ }
48
+
49
+ &::before {
50
+ position: absolute;
51
+ z-index: -1;
52
+ background: linear-gradient(90deg, $blue-70 0%, $purple-70 100%);
53
+ content: '';
54
+ inset: 0;
55
+ opacity: 0;
56
+ /* stylelint-disable-next-line carbon/motion-duration-use */
57
+ transition: opacity $duration-moderate-02 motion(exit, productive);
58
+ @media (prefers-reduced-motion) {
59
+ transition: none;
60
+ }
61
+ }
62
+
63
+ &:hover::before {
64
+ opacity: 1;
65
+ }
66
+
67
+ &--is-open {
68
+ background: $white-0;
69
+ opacity: 0;
70
+ #{$block-class}__cta {
71
+ opacity: 0;
72
+ }
73
+
74
+ #{$block-class}--close-btn {
75
+ display: none;
76
+ }
77
+
78
+ &::before {
79
+ background: $white-0;
80
+ }
81
+ }
82
+
83
+ &__cta {
84
+ display: grid;
85
+ padding: $spacing-03 0;
86
+ border: none;
87
+ background: transparent;
88
+ color: $white-0 !important;
89
+ grid-template-columns: [iconcol] $spacing-07 [bodycol] auto;
90
+ text-align: left;
91
+ @include type.type-style('body-short-01');
92
+
93
+ &:focus {
94
+ box-shadow: inset 0 0 0 3px $purple-70, inset 0 0 0 $spacing-02 $white-0;
95
+ outline: 1px solid transparent;
96
+ }
97
+
98
+ &:hover {
99
+ cursor: pointer !important;
100
+ }
101
+
102
+ .#{$block-class}__idea {
103
+ justify-self: center;
104
+ }
105
+ }
106
+
107
+ &--close-btn-container {
108
+ width: $spacing-07;
109
+ height: $spacing-07;
110
+ margin-left: auto;
111
+ }
112
+
113
+ &--close-btn {
114
+ width: $spacing-07;
115
+ height: $spacing-07;
116
+ border-color: transparent !important;
117
+ border-radius: 0;
118
+ margin-left: auto !important;
119
+ color: $white-0;
120
+ outline: 1px solid transparent;
121
+
122
+ &:active {
123
+ background-color: $button-secondary-active;
124
+ }
125
+
126
+ &:focus {
127
+ box-shadow: inset 0 0 0 1px $background-inverse,
128
+ inset 0 0 0 $spacing-01 $white-0 !important;
129
+ }
130
+
131
+ svg > path {
132
+ margin: 0;
133
+ fill: $white-0 !important;
134
+ }
135
+
136
+ &:hover {
137
+ background-color: $purple-70-hover !important;
138
+ }
139
+ }
140
+ }
@@ -0,0 +1,30 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2024
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
+ // Standard imports.
9
+ @use '../../global/styles/project-settings' as c4p-settings;
10
+ @use '../../global/styles/mixins';
11
+
12
+ @use './coachmark-dragbar';
13
+ @use './coachmark-header';
14
+ @use './coachmark-overlay';
15
+ @use './coachmark-tagline';
16
+
17
+ // Other Carbon settings if needed
18
+ // TODO: @use '@carbon/styles/scss/grid';
19
+ // or
20
+ // TODO: @use '@carbon/react/scss/grid';
21
+
22
+ // Coachmark uses the following Carbon for IBM Products components:
23
+ // TODO: @use(s) of IBM Products component styles used by Coachmark
24
+
25
+ // The block part of our conventional BEM class names (blockClass__E--M).
26
+ //$block-class: #{c4p-settings.$pkg-prefix}--coachmark;
27
+
28
+ // .#{$block-class} {
29
+ // // TODO: Styles.
30
+ // }
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2024
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 './coachmark';
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2024
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 './coachmark';
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2024
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
+ // Import any Carbon component styles used from CoachmarkBeacon in this file.
9
+ // CoachmarkBeacon uses the following Carbon components: