@carbon/ibm-products 1.6.0 → 1.6.1

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 (54) hide show
  1. package/css/index-full-carbon.css +110 -30
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +7 -1
  4. package/css/index-full-carbon.min.css.map +1 -0
  5. package/css/index-without-carbon-released-only.css +2 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -0
  9. package/css/index-without-carbon.css +110 -30
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +7 -1
  12. package/css/index-without-carbon.min.css.map +1 -0
  13. package/css/index.css +110 -30
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +7 -1
  16. package/css/index.min.css.map +1 -0
  17. package/es/components/AddSelect/AddSelect.js +4 -3
  18. package/es/components/AddSelect/AddSelectList.js +2 -2
  19. package/es/components/AddSelect/AddSelectSidebar.js +41 -9
  20. package/es/components/EmptyStates/EmptyState.js +1 -1
  21. package/es/components/EmptyStates/EmptyStateContent.js +2 -2
  22. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  23. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  24. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  25. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  26. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  27. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  28. package/es/components/InlineEdit/InlineEdit.js +51 -27
  29. package/es/components/PageHeader/PageHeader.js +2 -2
  30. package/lib/components/AddSelect/AddSelect.js +4 -3
  31. package/lib/components/AddSelect/AddSelectList.js +2 -2
  32. package/lib/components/AddSelect/AddSelectSidebar.js +40 -14
  33. package/lib/components/EmptyStates/EmptyState.js +1 -1
  34. package/lib/components/EmptyStates/EmptyStateContent.js +2 -2
  35. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  36. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  37. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  38. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  39. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  40. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  41. package/lib/components/InlineEdit/InlineEdit.js +50 -26
  42. package/lib/components/PageHeader/PageHeader.js +2 -2
  43. package/package.json +12 -12
  44. package/scss/components/AddSelect/_add-select.scss +15 -5
  45. package/scss/components/CancelableTextEdit/_storybook-styles.scss +0 -7
  46. package/scss/components/CreateTearsheetNarrow/_storybook-styles.scss +0 -6
  47. package/scss/components/EditSidePanel/_storybook-styles.scss +0 -8
  48. package/scss/components/InlineEdit/_inline-edit.scss +104 -29
  49. package/scss/components/InlineEdit/_storybook-styles.scss +1 -8
  50. package/scss/components/LoadingBar/_storybook-styles.scss +0 -5
  51. package/scss/components/OptionsTile/_storybook-styles.scss +0 -7
  52. package/scss/components/PageHeader/_page-header.scss +3 -0
  53. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  54. package/scss/components/UserProfileImage/_user-profile-image.scss +2 -2
@@ -28,7 +28,7 @@
28
28
  }
29
29
  }
30
30
 
31
- @function tooltip-top-bottom-safe-clip() {
31
+ @function --tooltip-top-bottom-safe-clip() {
32
32
  @return polygon(
33
33
  0 0,
34
34
  -100vw 0,
@@ -46,6 +46,7 @@
46
46
  }
47
47
 
48
48
  @mixin input-button-defaults($block-class) {
49
+ display: inline-flex;
49
50
  width: var(--#{$block-class}--size);
50
51
  height: 100%;
51
52
  min-height: initial;
@@ -53,7 +54,7 @@
53
54
 
54
55
  // stylelint-disable-next-line carbon/layout-token-use
55
56
  padding: calc(
56
- 0.5 * (var(--#{$block-class}--size) - var(--#{$block-class}--icon-size))
57
+ 0.5 * (var(--#{$block-class}--size) - var(--#{$block-class}--icon-size)) - #{$spacing-01}
57
58
  );
58
59
  border: 2px solid transparent;
59
60
  }
@@ -79,8 +80,8 @@
79
80
  }
80
81
 
81
82
  position: relative;
82
- display: inline-flex;
83
- // min-width: 250px; // similar to min input box with room for edit-controls
83
+ display: inline-block;
84
+ // min-width: 250px; // similar to min input box with room for toolbar
84
85
  max-width: 100%;
85
86
  height: var(--#{$block-class}--size);
86
87
  background-color: var(--#{$block-class}--background-color);
@@ -112,44 +113,98 @@
112
113
  }
113
114
 
114
115
  .#{$block-class}__input {
115
- display: flex;
116
+ display: inline-block;
116
117
  overflow: hidden;
117
- max-width: calc(100% - 2 * var(--#{$block-class}--size) - $spacing-05);
118
- height: 100%;
119
- flex: 1 1 100%;
120
- align-items: center;
118
+ // positions text and placeholder including when showing placeholder
119
+ // NOTE: Using flex does strange things to a caret in content editable
120
+ min-width: calc(100% - 3 * var(--#{$block-class}--size) - $spacing-05);
121
+ max-width: calc(100% - 3 * var(--#{$block-class}--size) - $spacing-05);
122
+ min-height: var(--#{$block-class}--size);
121
123
  // stylelint-disable-next-line carbon/layout-token-use
122
- margin-right: calc(2 * var(--#{$block-class}--size)); // room for controls
124
+ margin-right: calc(3 * var(--#{$block-class}--size));
125
+ // room for toolbar
123
126
  margin-left: $spacing-05;
127
+ // stylelint-disable-next-line carbon/type-token-use
128
+ line-height: var(--#{$block-class}--size);
124
129
 
125
130
  &:focus {
126
131
  outline: none;
127
132
  }
128
133
  }
129
134
 
130
- .#{$block-class}__placeholder {
135
+ .#{$block-class}__input::after {
136
+ position: absolute;
137
+ top: 0;
138
+ left: 0;
139
+ display: block;
140
+ margin-left: $spacing-05;
141
+ color: $text-05;
142
+ content: attr(data-placeholder);
143
+ opacity: 0;
144
+ }
145
+
146
+ .#{$block-class}__ellipsis {
147
+ display: inline-block;
148
+ overflow: hidden;
149
+ width: 0;
150
+ height: var(--#{$block-class}--size);
151
+ // stylelint-disable-next-line carbon/type-token-use
152
+ line-height: var(--#{$block-class}--size);
153
+ opacity: 0;
154
+ pointer-events: none;
155
+
156
+ // only transition fade in
157
+ transition: opacity $duration--moderate-02 motion(standard, productive);
158
+ }
159
+
160
+ &.#{$block-class}--overflows:not(.#{$block-class}--editing)
161
+ .#{$block-class}__ellipsis {
162
+ width: initial;
163
+ opacity: 1;
164
+ }
165
+
166
+ .#{$block-class}__disabled-cover {
131
167
  position: absolute;
132
- left: $spacing-03;
168
+ top: 0;
169
+ left: 0;
170
+ width: 100%;
171
+ height: 100%;
172
+ pointer-events: none; // act as if not there
173
+ }
174
+
175
+ &.#{$block-class}--disabled .#{$block-class}__disabled-cover {
176
+ // when disabled prevent pointer events going through to the input
177
+ cursor: not-allowed;
178
+ pointer-events: all;
179
+ }
180
+
181
+ .#{$block-class}__input--empty::after {
182
+ opacity: 1;
183
+ // only transition fade in
184
+ transition: opacity $duration--moderate-02 motion(standard, productive);
133
185
  }
134
186
 
135
- .#{$block-class}__controls {
187
+ .#{$block-class}__after-input-elements {
136
188
  // not simply flexed in as this causes flexbox to mis-measure the size of the input
137
189
  position: absolute;
138
190
  top: 0;
139
191
  right: 0;
140
- width: calc(2 * var(--#{$block-class}--size));
192
+ display: flex;
193
+ // width: room for validation, and two buttons
194
+ width: calc(3 * var(--#{$block-class}--size));
141
195
  height: 100%;
196
+ justify-content: space-between;
142
197
  cursor: text;
143
198
  }
144
199
 
145
- .#{$block-class}__controls--animation {
200
+ .#{$block-class}__toolbar--animation {
146
201
  // makes room for the top clip text but hides the side overflow
147
- clip-path: tooltip-top-bottom-safe-clip();
202
+ clip-path: --tooltip-top-bottom-safe-clip();
148
203
  // NOTE: The above allows the tooltip to show through when overflowX: hidden would not when at right edge.
149
204
  // It is used with margin animation of contained buttons
150
205
  }
151
206
 
152
- &.#{$block-class}--editing .#{$block-class}__controls::after {
207
+ &.#{$block-class}--editing .#{$block-class}__toolbar::after {
153
208
  // cover top and bottom when focus within block
154
209
  // doing the same on the buttons is problematic when animating
155
210
  // and causes visual artifacts when the button is hovered without focus
@@ -197,26 +252,24 @@
197
252
  }
198
253
  }
199
254
 
200
- .#{$block-class}__controls .#{$block-class}__edit {
201
- margin-left: var(--#{$block-class}--size);
202
- }
203
-
204
- .#{$block-class}__controls--animation .#{$block-class}__cancel {
205
- margin-left: var(--#{$block-class}--size);
206
- transition: margin-left $duration--moderate-02
255
+ &.#{$block-class}--editing
256
+ .#{$block-class}__toolbar--animation
257
+ .#{$block-class}__save {
258
+ // stylelint-disable-next-line carbon/layout-token-use
259
+ margin-right: calc(-1 * var(--#{$block-class}--size));
260
+ transition: margin-right $duration--moderate-02
207
261
  motion(standard, productive);
208
262
  }
209
263
 
210
- .#{$block-class}__controls--saveable .#{$block-class}__cancel {
211
- margin-left: 0;
264
+ &.#{$block-class}--editing
265
+ .#{$block-class}__toolbar--saveable
266
+ .#{$block-class}__save {
267
+ margin-right: 0;
212
268
  }
213
269
 
214
270
  &.#{$block-class}.#{$block-class} .#{$block-class}__edit {
215
271
  @include input-button-defaults($block-class);
216
272
 
217
- position: absolute;
218
- top: 0;
219
- right: 0;
220
273
  // pointer-events: none;
221
274
 
222
275
  &:hover,
@@ -237,6 +290,28 @@
237
290
  &:hover .#{$block-class}__edit--hover-visible {
238
291
  opacity: 1;
239
292
  }
293
+
294
+ .#{$block-class}__validation-icon {
295
+ @include input-button-defaults($block-class);
296
+ }
297
+
298
+ &.#{$block-class}--warn .#{$block-class}__validation-icon {
299
+ color: $support-warning;
300
+ }
301
+
302
+ &.#{$block-class}--invalid .#{$block-class}__validation-icon {
303
+ color: $support-error;
304
+ }
305
+
306
+ .#{$block-class}__validation-text {
307
+ display: block;
308
+ overflow: visible;
309
+ margin-left: $spacing-05;
310
+ }
311
+
312
+ &.#{$block-class}--invalid .#{$block-class}__validation-text {
313
+ color: $support-error;
314
+ }
240
315
  }
241
316
  }
242
317
 
@@ -5,14 +5,7 @@
5
5
  // LICENSE file in the root directory of this source tree.
6
6
  //
7
7
 
8
- @import './index';
9
-
10
- // TODO: add any additional styles used by InlineEdit.stories.js
11
-
12
- // Uncomment next line (which must appear last) to test in storybook
13
- // that the SCSS styles for this component are sufficiently specific
14
- // to override Carbon whichever order the styles get loaded in.
15
- //@import 'carbon-components/css/carbon-components.min';
8
+ @import '../../global/styles/project-settings';
16
9
 
17
10
  .inline-edit-stories__viewport {
18
11
  // width: 300px; // larger than standard size needed by text input at standard font size (html input attribute size)
@@ -12,8 +12,3 @@
12
12
  width: 24rem;
13
13
  margin: $spacing-07 $spacing-05 $spacing-05 $spacing-05;
14
14
  }
15
-
16
- // Uncomment next line (which must appear last) to test in storybook
17
- // that the SCSS styles for this component are sufficiently specific
18
- // to override Carbon whichever order the styles get loaded in.
19
- // @import 'carbon-components/css/carbon-components.min';
@@ -5,8 +5,6 @@
5
5
  // LICENSE file in the root directory of this source tree.
6
6
  //
7
7
 
8
- @import './index';
9
-
10
8
  @import '../../global/styles/project-settings';
11
9
 
12
10
  $block-class: #{$pkg-prefix}--options-tile;
@@ -26,8 +24,3 @@ $block-class: #{$pkg-prefix}--options-tile;
26
24
  .#{$block-class}__content .#{$carbon-prefix}--dropdown__wrapper:first-of-type {
27
25
  margin-bottom: $spacing-06;
28
26
  }
29
-
30
- // Uncomment next line (which must appear last) to test in storybook
31
- // that the SCSS styles for this component are sufficiently specific
32
- // to override Carbon whichever order the styles get loaded in.
33
- //@import 'carbon-components/css/carbon-components.min';
@@ -434,6 +434,9 @@ $right-section-alt-width: 100% - $left-section-alt-width;
434
434
  .#{$block-class}__title--editable {
435
435
  display: flex;
436
436
  overflow: visible;
437
+ // move to match non-editable version position
438
+ margin-top: calc(-1 * #{$spacing-01});
439
+ margin-left: calc(-1 * #{$spacing-05});
437
440
  }
438
441
 
439
442
  .#{$block-class}__title-skeleton {
@@ -72,7 +72,7 @@ $themes: ('light', 'dark');
72
72
 
73
73
  $block-class: #{$pkg-prefix}--status-icon;
74
74
 
75
- @function clr($name, $theme: light) {
75
+ @function --clr($name, $theme: light) {
76
76
  // stylelint-disable-next-line carbon/theme-token-use
77
77
  $color: map-get(map-get($colors, $name), $theme);
78
78
  @return $color;
@@ -121,14 +121,14 @@ $block-class: #{$pkg-prefix}--status-icon;
121
121
  // stylelint-disable-next-line carbon/motion-token-use
122
122
  animation: rotating 8000ms infinite linear;
123
123
  // stylelint-disable-next-line carbon/theme-token-use
124
- fill: clr($icon, $theme);
124
+ fill: --clr($icon, $theme);
125
125
  } @else if $icon == running {
126
126
  // stylelint-disable-next-line carbon/theme-token-use
127
- fill: clr($icon, $theme);
127
+ fill: --clr($icon, $theme);
128
128
  transform: scaleY(-1);
129
129
  } @else {
130
130
  // stylelint-disable-next-line carbon/theme-token-use
131
- fill: clr($icon, $theme);
131
+ fill: --clr($icon, $theme);
132
132
  @media (prefers-reduced-motion) {
133
133
  .#{$block-class}--#{$theme}.#{$block-class}--#{$theme-key}-in-progress {
134
134
  animation: none;
@@ -44,7 +44,7 @@ $themes: (
44
44
 
45
45
  $theme-keys: map-keys($themes);
46
46
 
47
- @function get-background-color($color, $key, $contrast-key) {
47
+ @function --get-background-color($color, $key, $contrast-key) {
48
48
  @return map-get(
49
49
  $carbon-colors,
50
50
  #{$color}#{map-get(map-get($themes, $key), #{$contrast-key}-contrast)}
@@ -60,7 +60,7 @@ $theme-keys: map-keys($themes);
60
60
  @each $contrast-key in $theme-keys {
61
61
  .#{$block-class}--#{$key}.#{$block-class}--#{$contrast-key}-#{$color} {
62
62
  // stylelint-disable-next-line carbon/theme-token-use
63
- background-color: get-background-color($color, $key, $contrast-key);
63
+ background-color: --get-background-color($color, $key, $contrast-key);
64
64
  }
65
65
  }
66
66
  }