@carbon/ibm-products 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
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
  }