@carbon/styles 1.15.0 → 1.16.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.
@@ -23,8 +23,11 @@
23
23
  @use 'date-picker';
24
24
  @use 'dropdown';
25
25
  @use 'file-uploader';
26
+ @use 'fluid-combo-box';
26
27
  @use 'fluid-dropdown';
27
28
  @use 'fluid-list-box';
29
+ @use 'fluid-multiselect';
30
+ @use 'fluid-select';
28
31
  @use 'fluid-text-area';
29
32
  @use 'fluid-text-input';
30
33
  @use 'form';
@@ -9,333 +9,334 @@
9
9
  @use '../../config';
10
10
  @use '../../themes';
11
11
  @use '../../utilities/component-tokens';
12
+ @use '@carbon/themes/scss/component-tokens' as button;
12
13
 
13
14
  $button-separator: (
14
- fallback: #e0e0e0,
15
+ fallback: map.get(button.$button-separator, white-theme),
15
16
  values: (
16
17
  (
17
18
  theme: themes.$white,
18
- value: #e0e0e0,
19
+ value: map.get(button.$button-separator, white-theme),
19
20
  ),
20
21
  (
21
22
  theme: themes.$g10,
22
- value: #e0e0e0,
23
+ value: map.get(button.$button-separator, g-10),
23
24
  ),
24
25
  (
25
26
  theme: themes.$g90,
26
- value: #161616,
27
+ value: map.get(button.$button-separator, g-90),
27
28
  ),
28
29
  (
29
30
  theme: themes.$g100,
30
- value: #161616,
31
+ value: map.get(button.$button-separator, g-100),
31
32
  ),
32
33
  ),
33
34
  ) !default;
34
35
 
35
36
  $button-primary: (
36
- fallback: #0f62fe,
37
+ fallback: map.get(button.$button-primary, white-theme),
37
38
  values: (
38
39
  (
39
40
  theme: themes.$white,
40
- value: #0f62fe,
41
+ value: map.get(button.$button-primary, white-theme),
41
42
  ),
42
43
  (
43
44
  theme: themes.$g10,
44
- value: #0f62fe,
45
+ value: map.get(button.$button-primary, g-10),
45
46
  ),
46
47
  (
47
48
  theme: themes.$g90,
48
- value: #0f62fe,
49
+ value: map.get(button.$button-primary, g-90),
49
50
  ),
50
51
  (
51
52
  theme: themes.$g100,
52
- value: #0f62fe,
53
+ value: map.get(button.$button-primary, g-100),
53
54
  ),
54
55
  ),
55
56
  ) !default;
56
57
 
57
58
  $button-secondary: (
58
- fallback: #393939,
59
+ fallback: map.get(button.$button-secondary, white-theme),
59
60
  values: (
60
61
  (
61
62
  theme: themes.$white,
62
- value: #393939,
63
+ value: map.get(button.$button-secondary, white-theme),
63
64
  ),
64
65
  (
65
66
  theme: themes.$g10,
66
- value: #393939,
67
+ value: map.get(button.$button-secondary, g-10),
67
68
  ),
68
69
  (
69
70
  theme: themes.$g90,
70
- value: #6f6f6f,
71
+ value: map.get(button.$button-secondary, g-90),
71
72
  ),
72
73
  (
73
74
  theme: themes.$g100,
74
- value: #6f6f6f,
75
+ value: map.get(button.$button-secondary, g-100),
75
76
  ),
76
77
  ),
77
78
  ) !default;
78
79
 
79
80
  $button-tertiary: (
80
- fallback: #0f62fe,
81
+ fallback: map.get(button.$button-tertiary, white-theme),
81
82
  values: (
82
83
  (
83
84
  theme: themes.$white,
84
- value: #0f62fe,
85
+ value: map.get(button.$button-tertiary, white-theme),
85
86
  ),
86
87
  (
87
88
  theme: themes.$g10,
88
- value: #0f62fe,
89
+ value: map.get(button.$button-tertiary, g-10),
89
90
  ),
90
91
  (
91
92
  theme: themes.$g90,
92
- value: #ffffff,
93
+ value: map.get(button.$button-tertiary, g-90),
93
94
  ),
94
95
  (
95
96
  theme: themes.$g100,
96
- value: #ffffff,
97
+ value: map.get(button.$button-tertiary, g-100),
97
98
  ),
98
99
  ),
99
100
  ) !default;
100
101
 
101
102
  $button-danger-primary: (
102
- fallback: #da1e28,
103
+ fallback: map.get(button.$button-danger-primary, white-theme),
103
104
  values: (
104
105
  (
105
106
  theme: themes.$white,
106
- value: #da1e28,
107
+ value: map.get(button.$button-danger-primary, white-theme),
107
108
  ),
108
109
  (
109
110
  theme: themes.$g10,
110
- value: #da1e28,
111
+ value: map.get(button.$button-danger-primary, g-10),
111
112
  ),
112
113
  (
113
114
  theme: themes.$g90,
114
- value: #da1e28,
115
+ value: map.get(button.$button-danger-primary, g-90),
115
116
  ),
116
117
  (
117
118
  theme: themes.$g100,
118
- value: #da1e28,
119
+ value: map.get(button.$button-danger-primary, g-100),
119
120
  ),
120
121
  ),
121
122
  ) !default;
122
123
 
123
124
  $button-danger-secondary: (
124
- fallback: #da1e28,
125
+ fallback: map.get(button.$button-danger-secondary, white-theme),
125
126
  values: (
126
127
  (
127
128
  theme: themes.$white,
128
- value: #da1e28,
129
+ value: map.get(button.$button-danger-secondary, white-theme),
129
130
  ),
130
131
  (
131
132
  theme: themes.$g10,
132
- value: #da1e28,
133
+ value: map.get(button.$button-danger-secondary, g-10),
133
134
  ),
134
135
  (
135
136
  theme: themes.$g90,
136
- value: #ff8389,
137
+ value: map.get(button.$button-danger-secondary, g-90),
137
138
  ),
138
139
  (
139
140
  theme: themes.$g100,
140
- value: #fa4d56,
141
+ value: map.get(button.$button-danger-secondary, g-100),
141
142
  ),
142
143
  ),
143
144
  ) !default;
144
145
 
145
146
  $button-danger-active: (
146
- fallback: #750e13,
147
+ fallback: map.get(button.$button-danger-active, white-theme),
147
148
  values: (
148
149
  (
149
150
  theme: themes.$white,
150
- value: #750e13,
151
+ value: map.get(button.$button-danger-active, white-theme),
151
152
  ),
152
153
  (
153
154
  theme: themes.$g10,
154
- value: #750e13,
155
+ value: map.get(button.$button-danger-active, g-10),
155
156
  ),
156
157
  (
157
158
  theme: themes.$g90,
158
- value: #750e13,
159
+ value: map.get(button.$button-danger-active, g-90),
159
160
  ),
160
161
  (
161
162
  theme: themes.$g100,
162
- value: #750e13,
163
+ value: map.get(button.$button-danger-active, g-100),
163
164
  ),
164
165
  ),
165
166
  ) !default;
166
167
 
167
168
  $button-primary-active: (
168
- fallback: #002d9c,
169
+ fallback: map.get(button.$button-primary-active, white-theme),
169
170
  values: (
170
171
  (
171
172
  theme: themes.$white,
172
- value: #002d9c,
173
+ value: map.get(button.$button-primary-active, white-theme),
173
174
  ),
174
175
  (
175
176
  theme: themes.$g10,
176
- value: #002d9c,
177
+ value: map.get(button.$button-primary-active, g-10),
177
178
  ),
178
179
  (
179
180
  theme: themes.$g90,
180
- value: #002d9c,
181
+ value: map.get(button.$button-primary-active, g-90),
181
182
  ),
182
183
  (
183
184
  theme: themes.$g100,
184
- value: #002d9c,
185
+ value: map.get(button.$button-primary-active, g-100),
185
186
  ),
186
187
  ),
187
188
  ) !default;
188
189
 
189
190
  $button-secondary-active: (
190
- fallback: #6f6f6f,
191
+ fallback: map.get(button.$button-secondary-active, white-theme),
191
192
  values: (
192
193
  (
193
194
  theme: themes.$white,
194
- value: #6f6f6f,
195
+ value: map.get(button.$button-secondary-active, white-theme),
195
196
  ),
196
197
  (
197
198
  theme: themes.$g10,
198
- value: #6f6f6f,
199
+ value: map.get(button.$button-secondary-active, g-10),
199
200
  ),
200
201
  (
201
202
  theme: themes.$g90,
202
- value: #393939,
203
+ value: map.get(button.$button-secondary-active, g-90),
203
204
  ),
204
205
  (
205
206
  theme: themes.$g100,
206
- value: #393939,
207
+ value: map.get(button.$button-secondary-active, g-100),
207
208
  ),
208
209
  ),
209
210
  ) !default;
210
211
 
211
212
  $button-tertiary-active: (
212
- fallback: #002d9c,
213
+ fallback: map.get(button.$button-tertiary-active, white-theme),
213
214
  values: (
214
215
  (
215
216
  theme: themes.$white,
216
- value: #002d9c,
217
+ value: map.get(button.$button-tertiary-active, white-theme),
217
218
  ),
218
219
  (
219
220
  theme: themes.$g10,
220
- value: #002d9c,
221
+ value: map.get(button.$button-tertiary-active, g-10),
221
222
  ),
222
223
  (
223
224
  theme: themes.$g90,
224
- value: #c6c6c6,
225
+ value: map.get(button.$button-tertiary-active, g-90),
225
226
  ),
226
227
  (
227
228
  theme: themes.$g100,
228
- value: #c6c6c6,
229
+ value: map.get(button.$button-tertiary-active, g-100),
229
230
  ),
230
231
  ),
231
232
  ) !default;
232
233
 
233
234
  $button-danger-hover: (
234
- fallback: #b81922,
235
+ fallback: map.get(button.$button-danger-hover, white-theme),
235
236
  values: (
236
237
  (
237
238
  theme: themes.$white,
238
- value: #b81922,
239
+ value: map.get(button.$button-danger-hover, white-theme),
239
240
  ),
240
241
  (
241
242
  theme: themes.$g10,
242
- value: #b81922,
243
+ value: map.get(button.$button-danger-hover, g-10),
243
244
  ),
244
245
  (
245
246
  theme: themes.$g90,
246
- value: #b81921,
247
+ value: map.get(button.$button-danger-hover, g-90),
247
248
  ),
248
249
  (
249
250
  theme: themes.$g100,
250
- value: #b81921,
251
+ value: map.get(button.$button-danger-hover, g-100),
251
252
  ),
252
253
  ),
253
254
  ) !default;
254
255
 
255
256
  $button-primary-hover: (
256
- fallback: #0050e6,
257
+ fallback: map.get(button.$button-primary-hover, white-theme),
257
258
  values: (
258
259
  (
259
260
  theme: themes.$white,
260
- value: #0050e6,
261
+ value: map.get(button.$button-primary-hover, white-theme),
261
262
  ),
262
263
  (
263
264
  theme: themes.$g10,
264
- value: #0050e6,
265
+ value: map.get(button.$button-primary-hover, g-10),
265
266
  ),
266
267
  (
267
268
  theme: themes.$g90,
268
- value: #0050e6,
269
+ value: map.get(button.$button-primary-hover, g-90),
269
270
  ),
270
271
  (
271
272
  theme: themes.$g100,
272
- value: #0050e6,
273
+ value: map.get(button.$button-primary-hover, g-100),
273
274
  ),
274
275
  ),
275
276
  ) !default;
276
277
 
277
278
  $button-secondary-hover: (
278
- fallback: #474747,
279
+ fallback: map.get(button.$button-secondary-hover, white-theme),
279
280
  values: (
280
281
  (
281
282
  theme: themes.$white,
282
- value: #474747,
283
+ value: map.get(button.$button-secondary-hover, white-theme),
283
284
  ),
284
285
  (
285
286
  theme: themes.$g10,
286
- value: #474747,
287
+ value: map.get(button.$button-secondary-hover, g-10),
287
288
  ),
288
289
  (
289
290
  theme: themes.$g90,
290
- value: #5e5e5e,
291
+ value: map.get(button.$button-secondary-hover, g-90),
291
292
  ),
292
293
  (
293
294
  theme: themes.$g100,
294
- value: #5e5e5e,
295
+ value: map.get(button.$button-secondary-hover, g-100),
295
296
  ),
296
297
  ),
297
298
  ) !default;
298
299
 
299
300
  $button-tertiary-hover: (
300
- fallback: #0050e6,
301
+ fallback: map.get(button.$button-tertiary-hover, white-theme),
301
302
  values: (
302
303
  (
303
304
  theme: themes.$white,
304
- value: #0050e6,
305
+ value: map.get(button.$button-tertiary-hover, white-theme),
305
306
  ),
306
307
  (
307
308
  theme: themes.$g10,
308
- value: #0050e6,
309
+ value: map.get(button.$button-tertiary-hover, g-10),
309
310
  ),
310
311
  (
311
312
  theme: themes.$g90,
312
- value: #f4f4f4,
313
+ value: map.get(button.$button-tertiary-hover, g-90),
313
314
  ),
314
315
  (
315
316
  theme: themes.$g100,
316
- value: #f4f4f4,
317
+ value: map.get(button.$button-tertiary-hover, g-100),
317
318
  ),
318
319
  ),
319
320
  ) !default;
320
321
 
321
322
  $button-disabled: (
322
- fallback: #c6c6c6,
323
+ fallback: map.get(button.$button-disabled, white-theme),
323
324
  values: (
324
325
  (
325
326
  theme: themes.$white,
326
- value: #c6c6c6,
327
+ value: map.get(button.$button-disabled, white-theme),
327
328
  ),
328
329
  (
329
330
  theme: themes.$g10,
330
- value: #c6c6c6,
331
+ value: map.get(button.$button-disabled, g-10),
331
332
  ),
332
333
  (
333
334
  theme: themes.$g90,
334
- value: rgb(141 141 141 / 30%),
335
+ value: map.get(button.$button-disabled, g-90),
335
336
  ),
336
337
  (
337
338
  theme: themes.$g100,
338
- value: rgb(141 141 141 / 30%),
339
+ value: map.get(button.$button-disabled, g-100),
339
340
  ),
340
341
  ),
341
342
  ) !default;
@@ -158,7 +158,7 @@
158
158
  opacity: 1;
159
159
  }
160
160
 
161
- .#{$prefix}--table-sort--ascending .#{$prefix}--table-sort__icon {
161
+ .#{$prefix}--table-sort--descending .#{$prefix}--table-sort__icon {
162
162
  transform: rotate(180deg);
163
163
  }
164
164
 
@@ -0,0 +1,71 @@
1
+ //
2
+ // Copyright IBM Corp. 2022
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
+ //-----------------------------
9
+ // Fluid ComboBox
10
+ //-----------------------------
11
+ @use '../../config' as *;
12
+ @use '../../motion' as *;
13
+ @use '../../spacing' as *;
14
+ @use '../../theme' as *;
15
+ @use '../../utilities/convert' as *;
16
+ @use '../../utilities/focus-outline' as *;
17
+ @use '../dropdown';
18
+ @use '../fluid-list-box';
19
+
20
+ @mixin fluid-combo-box {
21
+ // Style overrides can be added here as needed
22
+ .#{$prefix}--list-box__wrapper--fluid
23
+ .#{$prefix}--combo-box
24
+ .#{$prefix}--list-box__field {
25
+ overflow: visible;
26
+ padding: 0;
27
+ }
28
+
29
+ .#{$prefix}--list-box__wrapper--fluid
30
+ .#{$prefix}--combo-box
31
+ .#{$prefix}--text-input {
32
+ overflow: hidden;
33
+ padding: rem(33px) $spacing-10 rem(13px) $spacing-05;
34
+ text-overflow: ellipsis;
35
+ transition: none;
36
+ white-space: nowrap;
37
+ }
38
+
39
+ .#{$prefix}--list-box__wrapper--fluid
40
+ .#{$prefix}--combo-box
41
+ .#{$prefix}--text-input:focus {
42
+ outline: none;
43
+ }
44
+
45
+ .#{$prefix}--list-box__wrapper--fluid
46
+ .#{$prefix}--combo-box
47
+ .#{$prefix}--list-box__selection {
48
+ top: auto;
49
+ bottom: rem(10px);
50
+ transform: none;
51
+ }
52
+
53
+ .#{$prefix}--list-box__wrapper--fluid
54
+ .#{$prefix}--combo-box
55
+ .#{$prefix}--list-box__menu-icon {
56
+ bottom: rem(14px);
57
+ }
58
+
59
+ .#{$prefix}--list-box__wrapper--fluid
60
+ .#{$prefix}--list-box[data-invalid]
61
+ .#{$prefix}--list-box__field
62
+ .#{$prefix}--text-input
63
+ + .#{$prefix}--list-box__invalid-icon,
64
+ .#{$prefix}--list-box__wrapper--fluid
65
+ .#{$prefix}--list-box--warning
66
+ .#{$prefix}--list-box__field
67
+ .#{$prefix}--text-input
68
+ + .#{$prefix}--list-box__invalid-icon {
69
+ right: 1rem;
70
+ }
71
+ }
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright IBM Corp. 2022
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
+ @forward 'fluid-combo-box';
9
+ @use 'fluid-combo-box';
10
+
11
+ @include fluid-combo-box.fluid-combo-box;
@@ -87,6 +87,7 @@
87
87
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--focus {
88
88
  @include focus-outline('outline');
89
89
 
90
+ z-index: 2;
90
91
  outline-offset: 0;
91
92
  }
92
93
 
@@ -95,22 +96,41 @@
95
96
  outline-offset: 0;
96
97
  }
97
98
 
99
+ .#{$prefix}--list-box__wrapper--fluid
100
+ :not(.#{$prefix}--list-box--up)
101
+ .#{$prefix}--list-box__menu {
102
+ top: calc(100% + rem(3px));
103
+ }
104
+
98
105
  // Invalid / Warning styles
99
106
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid:not(.#{$prefix}--list-box__wrapper--fluid--focus) {
100
107
  @include focus-outline('invalid');
101
108
 
109
+ z-index: 2;
102
110
  outline-offset: 0;
103
111
  }
104
112
 
105
113
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--focus
106
- .#{$prefix}--list-box:not(.#{$prefix}--list-box--invalid) {
114
+ .#{$prefix}--list-box:not(.#{$prefix}--list-box--invalid),
115
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--focus
116
+ .#{$prefix}--list-box
117
+ .#{$prefix}--text-input,
118
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
119
+ .#{$prefix}--list-box
120
+ .#{$prefix}--text-input,
121
+ .#{$prefix}--list-box__wrapper--fluid
122
+ .#{$prefix}--combo-box.#{$prefix}--list-box--warning
123
+ .#{$prefix}--text-input {
107
124
  border-bottom: 1px solid transparent;
108
125
  }
109
126
 
110
127
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
111
128
  .#{$prefix}--list-box,
112
129
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
113
- .#{$prefix}--list-box__field:focus {
130
+ .#{$prefix}--list-box__field:focus,
131
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
132
+ .#{$prefix}--combo-box[data-invalid]
133
+ .#{$prefix}--text-input {
114
134
  outline: none;
115
135
  outline-offset: 0;
116
136
  }
@@ -134,6 +154,12 @@
134
154
  margin-top: 0;
135
155
  }
136
156
 
157
+ .#{$prefix}--list-box__wrapper--fluid
158
+ .#{$prefix}--list-box--warning
159
+ ~ .#{$prefix}--form-requirement {
160
+ border-bottom: 1px solid $border-strong;
161
+ }
162
+
137
163
  .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
138
164
  .#{$prefix}--list-box__invalid-icon,
139
165
  .#{$prefix}--list-box__wrapper--fluid
@@ -144,6 +170,18 @@
144
170
  pointer-events: none;
145
171
  }
146
172
 
173
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
174
+ .#{$prefix}--list-box[data-invalid]:not(.#{$prefix}--combo-box)
175
+ .#{$prefix}--list-box__field {
176
+ padding-right: $spacing-09;
177
+ }
178
+
179
+ .#{$prefix}--list-box__wrapper--fluid.#{$prefix}--list-box__wrapper--fluid--invalid
180
+ .#{$prefix}--list-box[data-invalid].#{$prefix}--combo-box
181
+ .#{$prefix}--text-input {
182
+ padding-right: $spacing-10;
183
+ }
184
+
147
185
  // Error + Warning divider
148
186
  .#{$prefix}--list-box__wrapper--fluid .#{$prefix}--list-box__divider {
149
187
  display: none;
@@ -163,10 +201,10 @@
163
201
  }
164
202
 
165
203
  .#{$prefix}--list-box__wrapper--fluid
166
- .#{$prefix}--list-box--invalid:hover
204
+ .#{$prefix}--list-box--invalid:hover:not(.#{$prefix}--combo-box)
167
205
  ~ .#{$prefix}--list-box__divider,
168
206
  .#{$prefix}--list-box__wrapper--fluid
169
- .#{$prefix}--list-box--warning:hover
207
+ .#{$prefix}--list-box--warning:hover:not(.#{$prefix}--combo-box)
170
208
  ~ .#{$prefix}--list-box__divider {
171
209
  border-color: transparent;
172
210
  }
@@ -0,0 +1,41 @@
1
+ //
2
+ // Copyright IBM Corp. 2022
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
+ //-----------------------------
9
+ // Fluid ComboBox
10
+ //-----------------------------
11
+ @use '../../config' as *;
12
+ @use '../../motion' as *;
13
+ @use '../../spacing' as *;
14
+ @use '../../theme' as *;
15
+ @use '../../utilities/convert' as *;
16
+ @use '../../utilities/focus-outline' as *;
17
+ @use '../dropdown';
18
+ @use '../fluid-list-box';
19
+ @use '../fluid-combo-box';
20
+
21
+ @mixin fluid-multiselect {
22
+ // Filterable
23
+ .#{$prefix}--list-box__wrapper--fluid
24
+ .#{$prefix}--multi-select--filterable--input-focused {
25
+ outline: none;
26
+ outline-offset: 0;
27
+ }
28
+
29
+ .#{$prefix}--list-box__wrapper--fluid
30
+ .#{$prefix}--multi-select--filterable
31
+ .#{$prefix}--list-box__field
32
+ .#{$prefix}--text-input {
33
+ border-bottom: 1px solid transparent;
34
+ }
35
+
36
+ .#{$prefix}--list-box__wrapper--fluid
37
+ .#{$prefix}--multi-select--filterable.#{$prefix}--combo-box
38
+ .#{$prefix}--list-box__field {
39
+ align-items: baseline;
40
+ }
41
+ }
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright IBM Corp. 2022
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
+ @forward 'fluid-multiselect';
9
+ @use 'fluid-multiselect';
10
+
11
+ @include fluid-multiselect.fluid-multiselect;