@carbon/styles 0.12.0-rc.0 → 0.14.0-rc.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 (37) hide show
  1. package/package.json +10 -10
  2. package/scss/_config.scss +6 -0
  3. package/scss/_type.scss +1 -0
  4. package/scss/components/_index.scss +1 -0
  5. package/scss/components/accordion/_accordion.scss +7 -3
  6. package/scss/components/button/_button.scss +4 -3
  7. package/scss/components/button/_mixins.scss +7 -3
  8. package/scss/components/button/_tokens.scss +16 -16
  9. package/scss/components/checkbox/_checkbox.scss +7 -0
  10. package/scss/components/code-snippet/_code-snippet.scss +2 -2
  11. package/scss/components/content-switcher/_content-switcher.scss +28 -1
  12. package/scss/components/data-table/action/_data-table-action.scss +99 -25
  13. package/scss/components/date-picker/_date-picker.scss +1 -1
  14. package/scss/components/date-picker/_flatpickr.scss +1 -0
  15. package/scss/components/dropdown/_dropdown.scss +0 -16
  16. package/scss/components/link/_link.scss +15 -2
  17. package/scss/components/list-box/_list-box.scss +1 -15
  18. package/scss/components/modal/_modal.scss +91 -102
  19. package/scss/components/notification/_inline-notification.scss +3 -0
  20. package/scss/components/notification/_toast-notification.scss +3 -0
  21. package/scss/components/number-input/_number-input.scss +1 -1
  22. package/scss/components/pagination/_pagination.scss +56 -7
  23. package/scss/components/radio-button/_radio-button.scss +3 -2
  24. package/scss/components/select/_select.scss +7 -2
  25. package/scss/components/slider/_slider.scss +1 -1
  26. package/scss/components/tabs/_tabs.scss +21 -0
  27. package/scss/components/tag/_tag.scss +1 -1
  28. package/scss/components/text-area/_text-area.scss +7 -1
  29. package/scss/components/text-input/_text-input.scss +1 -1
  30. package/scss/components/tile/_tile.scss +1 -1
  31. package/scss/components/toggle/_toggle.scss +2 -2
  32. package/scss/components/toggletip/_index.scss +11 -0
  33. package/scss/components/toggletip/_toggletip.scss +81 -0
  34. package/scss/components/tooltip/_index.scss +1 -0
  35. package/scss/components/tooltip/_tooltip.scss +30 -0
  36. package/scss/components/ui-shell/header/_header.scss +2 -0
  37. package/scss/fonts/_src.scss +100 -28
@@ -57,7 +57,8 @@
57
57
  .#{$prefix}--dropdown,
58
58
  .#{$prefix}--dropdown-list,
59
59
  .#{$prefix}--number input[type='number'],
60
- .#{$prefix}--date-picker__input {
60
+ .#{$prefix}--date-picker__input,
61
+ .#{$prefix}--multi-select {
61
62
  background-color: $field-02;
62
63
  }
63
64
  }
@@ -67,6 +68,9 @@
67
68
  transition: transform $duration-moderate-02 motion(entrance, expressive);
68
69
  }
69
70
 
71
+ // -----------------------------
72
+ // Modal container
73
+ // -----------------------------
70
74
  .#{$prefix}--modal-container {
71
75
  position: fixed;
72
76
  top: 0;
@@ -90,17 +94,6 @@
90
94
  width: 84%;
91
95
  height: auto;
92
96
  max-height: 90%;
93
-
94
- .#{$prefix}--modal-header,
95
- .#{$prefix}--modal-content,
96
- .#{$prefix}--modal-content__regular-content {
97
- padding-right: 20%;
98
- }
99
-
100
- .#{$prefix}--modal-content--with-form {
101
- // Override for `.#{$prefix}--modal-content`
102
- padding-right: $spacing-05;
103
- }
104
97
  }
105
98
 
106
99
  @include breakpoint(lg) {
@@ -113,30 +106,81 @@
113
106
  }
114
107
  }
115
108
 
116
- .#{$prefix}--modal-header,
109
+ // -----------------------------
110
+ // Modal content
111
+ // -----------------------------
117
112
  .#{$prefix}--modal-content {
113
+ @include type-style('body-long-01');
114
+
115
+ position: relative;
116
+ // Required to accommodate focus outline's negative offset:
117
+ padding-top: $spacing-03;
118
+ // anything besides text/p spans full width, with just 16px padding
119
+ padding-right: $spacing-05;
118
120
  padding-left: $spacing-05;
121
+ margin-bottom: $spacing-09;
122
+ color: $text-primary;
123
+ font-weight: 400;
124
+ grid-column: 1/-1;
125
+ grid-row: 2/-2;
126
+ overflow-y: auto;
127
+
128
+ &:focus {
129
+ @include focus-outline('outline');
130
+ }
119
131
  }
120
132
 
121
- .#{$prefix}--modal-header,
122
- .#{$prefix}--modal-content,
133
+ //TO-DO: remove .#{$prefix}--modal-content__regular-content in v11 since hasForm has been deprecated
134
+ // text/p gets 20% right padding
135
+ .#{$prefix}--modal-content p,
123
136
  .#{$prefix}--modal-content__regular-content {
124
- padding-right: $spacing-05;
137
+ padding-right: 20%;
138
+ @include type-style('body-long-01');
125
139
  }
126
140
 
141
+ //TO-DO: remove .#{$prefix}--modal-content--with-form in v11 since hasForm has been deprecated\
142
+ // anything besides text/p spans full width, with just 16px padding
127
143
  .#{$prefix}--modal-content--with-form {
128
144
  padding-right: $spacing-05;
129
145
  }
130
146
 
147
+ // -----------------------------
148
+ // Modal header
149
+ // -----------------------------
150
+ .#{$prefix}--modal-header {
151
+ padding-top: $spacing-05;
152
+ padding-right: $spacing-09;
153
+ padding-left: $spacing-05;
154
+ margin-bottom: $spacing-03;
155
+ grid-column: 1/-1;
156
+ grid-row: 1/1;
157
+ }
158
+
159
+ .#{$prefix}--modal-header__label {
160
+ @include type-style('label-01');
161
+
162
+ margin-bottom: $spacing-02;
163
+ color: $text-secondary;
164
+ }
165
+
166
+ .#{$prefix}--modal-header__heading {
167
+ @include type-style('productive-heading-03');
168
+
169
+ color: $text-primary;
170
+ }
171
+
172
+ // -----------------------------
173
+ // XS Modal
174
+ // -----------------------------
131
175
  .#{$prefix}--modal-container--xs {
132
- .#{$prefix}--modal-header {
133
- padding-right: $spacing-09;
176
+ //text always spans full width in xs modals
177
+ .#{$prefix}--modal-content__regular-content {
178
+ padding-right: $spacing-05;
134
179
  }
135
180
 
136
- .#{$prefix}--modal-content,
137
- .#{$prefix}--modal-content__regular-content,
138
- .#{$prefix}--modal-content--with-form {
139
- padding-right: $spacing-05;
181
+ .#{$prefix}--modal-content p {
182
+ //.#{$prefix}--modal-content already has 16px padding so this doesn't need any
183
+ padding-right: 0;
140
184
  }
141
185
 
142
186
  @include breakpoint(md) {
@@ -153,15 +197,18 @@
153
197
  }
154
198
  }
155
199
 
200
+ // -----------------------------
201
+ // SM Modal
202
+ // -----------------------------
156
203
  .#{$prefix}--modal-container--sm {
157
- .#{$prefix}--modal-header {
158
- padding-right: $spacing-09;
204
+ //text spans full width in sm modals below 1056
205
+ .#{$prefix}--modal-content__regular-content {
206
+ padding-right: $spacing-05;
159
207
  }
160
208
 
161
- .#{$prefix}--modal-content,
162
- .#{$prefix}--modal-content__regular-content,
163
- .#{$prefix}--modal-content--with-form {
164
- padding-right: $spacing-05;
209
+ .#{$prefix}--modal-content p {
210
+ //.#{$prefix}--modal-content already has 16px padding so this doesn't need any
211
+ padding-right: 0;
165
212
  }
166
213
 
167
214
  @include breakpoint(md) {
@@ -171,48 +218,24 @@
171
218
  @include breakpoint(lg) {
172
219
  width: 42%;
173
220
  max-height: 72%;
174
- }
175
221
 
176
- @include breakpoint(xlg) {
177
- width: 36%;
178
-
179
- .#{$prefix}--modal-header,
180
- .#{$prefix}--modal-content,
222
+ .#{$prefix}--modal-content p,
181
223
  .#{$prefix}--modal-content__regular-content {
182
224
  padding-right: 20%;
183
225
  }
226
+ }
184
227
 
185
- .#{$prefix}--modal-content--with-form {
186
- // Override for `.#{$prefix}--modal-content`
187
- padding-right: $spacing-05;
188
- }
228
+ @include breakpoint(xlg) {
229
+ width: 36%;
189
230
  }
190
231
  }
191
232
 
233
+ // -----------------------------
234
+ // LG Modal
235
+ // -----------------------------
192
236
  .#{$prefix}--modal-container--lg {
193
- .#{$prefix}--modal-header {
194
- padding-right: $spacing-09;
195
- }
196
-
197
- .#{$prefix}--modal-content,
198
- .#{$prefix}--modal-content__regular-content,
199
- .#{$prefix}--modal-content--with-form {
200
- padding-right: $spacing-05;
201
- }
202
-
203
237
  @include breakpoint(md) {
204
238
  width: 96%;
205
-
206
- .#{$prefix}--modal-header,
207
- .#{$prefix}--modal-content,
208
- .#{$prefix}--modal-content__regular-content {
209
- padding-right: 20%;
210
- }
211
-
212
- .#{$prefix}--modal-content--with-form {
213
- // Override for `.#{$prefix}--modal-content`
214
- padding-right: $spacing-05;
215
- }
216
239
  }
217
240
 
218
241
  @include breakpoint(lg) {
@@ -225,49 +248,9 @@
225
248
  }
226
249
  }
227
250
 
228
- .#{$prefix}--modal-header {
229
- padding-top: $spacing-05;
230
- padding-right: $spacing-09;
231
- margin-bottom: $spacing-03;
232
- grid-column: 1/-1;
233
- grid-row: 1/1;
234
- }
235
-
236
- .#{$prefix}--modal-header__label {
237
- @include type-style('label-01');
238
-
239
- margin-bottom: $spacing-02;
240
- color: $text-secondary;
241
- }
242
-
243
- .#{$prefix}--modal-header__heading {
244
- @include type-style('productive-heading-03');
245
-
246
- color: $text-primary;
247
- }
248
-
249
- .#{$prefix}--modal-content {
250
- @include type-style('body-long-01');
251
-
252
- position: relative;
253
- // Required to accommodate focus outline's negative offset:
254
- padding-top: $spacing-03;
255
- margin-bottom: $spacing-09;
256
- color: $text-primary;
257
- font-weight: 400;
258
- grid-column: 1/-1;
259
- grid-row: 2/-2;
260
- overflow-y: auto;
261
-
262
- &:focus {
263
- @include focus-outline('outline');
264
- }
265
- }
266
-
267
- .#{$prefix}--modal-content > p {
268
- @include type-style('body-long-01');
269
- }
270
-
251
+ // -----------------------------
252
+ // Modal overflow
253
+ // -----------------------------
271
254
  // Required so overflow-indicator disappears at end of content
272
255
  .#{$prefix}--modal-scroll-content > *:last-child {
273
256
  padding-bottom: $spacing-07;
@@ -313,6 +296,9 @@
313
296
  }
314
297
  }
315
298
 
299
+ // -----------------------------
300
+ // Modal footer
301
+ // -----------------------------
316
302
  .#{$prefix}--modal-footer {
317
303
  display: flex;
318
304
  height: rem(64px);
@@ -336,6 +322,9 @@
336
322
  align-items: flex-start;
337
323
  }
338
324
 
325
+ // -----------------------------
326
+ // Modal close btn
327
+ // -----------------------------
339
328
  .#{$prefix}--modal-close {
340
329
  position: absolute;
341
330
  z-index: 2;
@@ -324,5 +324,8 @@
324
324
  .#{$prefix}--inline-notification__icon {
325
325
  @include high-contrast-mode('icon-fill');
326
326
  }
327
+ .#{$prefix}--inline-notification__close-icon {
328
+ @include high-contrast-mode('icon-fill');
329
+ }
327
330
  /* stylelint-enable */
328
331
  }
@@ -255,6 +255,9 @@
255
255
  .#{$prefix}--toast-notification__close-button:focus {
256
256
  @include high-contrast-mode('focus');
257
257
  }
258
+ .#{$prefix}--toast-notification__close-icon {
259
+ @include high-contrast-mode('icon-fill');
260
+ }
258
261
  .#{$prefix}--toast-notification__icon {
259
262
  @include high-contrast-mode('icon-fill');
260
263
  }
@@ -91,7 +91,7 @@
91
91
  .#{$prefix}--number input[type='number']:disabled,
92
92
  .#{$prefix}--number--readonly input[type='number'] {
93
93
  border-bottom-color: transparent;
94
- background-color: $field-disabled;
94
+ background-color: $field;
95
95
  color: $text-disabled;
96
96
  cursor: not-allowed;
97
97
  }
@@ -26,11 +26,11 @@
26
26
 
27
27
  .#{$prefix}--pagination {
28
28
  @include component-reset.reset;
29
- @include type-style('body-short-01');
29
+ @include type-style('body-compact-01');
30
30
 
31
31
  display: flex;
32
32
  width: calc(100% - 1px);
33
- min-height: 3rem;
33
+ min-height: rem(40px);
34
34
  align-items: center;
35
35
  justify-content: space-between;
36
36
  border-top: 1px solid $border-subtle;
@@ -62,6 +62,14 @@
62
62
  }
63
63
  }
64
64
 
65
+ .#{$prefix}--pagination--sm {
66
+ min-height: rem(32px);
67
+ }
68
+
69
+ .#{$prefix}--pagination--lg {
70
+ min-height: rem(48px);
71
+ }
72
+
65
73
  .#{$prefix}--pagination .#{$prefix}--select {
66
74
  height: 100%;
67
75
  align-items: center;
@@ -73,19 +81,45 @@
73
81
  }
74
82
 
75
83
  .#{$prefix}--pagination .#{$prefix}--select-input {
84
+ @include type-style('body-compact-01');
85
+
76
86
  width: auto;
77
87
  min-width: auto;
78
- height: 3rem;
88
+ height: 100%;
89
+ line-height: rem(40px);
79
90
  }
80
91
 
92
+ // Extra specificity is needed to preserve padding
81
93
  .#{$prefix}--pagination
82
94
  .#{$prefix}--select--inline
83
95
  .#{$prefix}--select-input {
84
96
  padding: 0 2.25rem 0 $spacing-05;
85
97
  }
86
98
 
99
+ .#{$prefix}--pagination--sm .#{$prefix}--select-input {
100
+ line-height: rem(32px);
101
+ }
102
+
103
+ .#{$prefix}--pagination--lg .#{$prefix}--select-input {
104
+ line-height: rem(48px);
105
+ }
106
+
87
107
  .#{$prefix}--pagination .#{$prefix}--select-input:hover {
88
- background: $background-hover;
108
+ background: $layer-hover;
109
+ }
110
+
111
+ .#{$prefix}--pagination
112
+ .#{$prefix}--select--inline
113
+ .#{$prefix}--select-input:focus,
114
+ .#{$prefix}--pagination
115
+ .#{$prefix}--select--inline
116
+ .#{$prefix}--select-input:focus
117
+ option,
118
+ .#{$prefix}--pagination
119
+ .#{$prefix}--select--inline
120
+ .#{$prefix}--select-input:focus
121
+ optgroup {
122
+ background-color: $layer;
89
123
  }
90
124
 
91
125
  .#{$prefix}--pagination .#{$prefix}--select__arrow {
@@ -108,7 +142,7 @@
108
142
  .#{$prefix}--pagination__left,
109
143
  .#{$prefix}--pagination__right {
110
144
  display: flex;
111
- height: 3rem;
145
+ height: 100%;
112
146
  align-items: center;
113
147
  }
114
148
 
@@ -155,8 +189,9 @@
155
189
  @include component-reset.reset;
156
190
 
157
191
  display: flex;
158
- width: $spacing-09;
159
- height: 100%;
192
+ width: rem(40px);
193
+ height: rem(40px);
194
+ min-height: rem(32px);
160
195
  align-items: center;
161
196
  justify-content: center;
162
197
  border: none;
@@ -169,6 +204,20 @@
169
204
  background-color $duration-fast-02 motion(standard, productive);
170
205
  }
171
206
 
207
+ .#{$prefix}--pagination--sm .#{$prefix}--pagination__button,
208
+ .#{$prefix}--pagination--sm
209
+ .#{$prefix}--btn--ghost.#{$prefix}--pagination__button {
210
+ width: rem(32px);
211
+ height: rem(32px);
212
+ }
213
+
214
+ .#{$prefix}--pagination--lg .#{$prefix}--pagination__button,
215
+ .#{$prefix}--pagination--lg
216
+ .#{$prefix}--btn--ghost.#{$prefix}--pagination__button {
217
+ width: rem(48px);
218
+ height: rem(48px);
219
+ }
220
+
172
221
  .#{$prefix}--pagination__button:focus,
173
222
  .#{$prefix}--btn--ghost:focus.#{$prefix}--pagination__button {
174
223
  @include focus-outline('outline');
@@ -34,6 +34,7 @@ $radio-border-width: 1px !default;
34
34
  .#{$prefix}--radio-button-group {
35
35
  @include reset;
36
36
 
37
+ position: relative;
37
38
  display: flex;
38
39
  align-items: center;
39
40
  }
@@ -54,7 +55,7 @@ $radio-border-width: 1px !default;
54
55
 
55
56
  .#{$prefix}--radio-button__label {
56
57
  margin-right: 0;
57
- line-height: carbon-mini-units(2.5);
58
+ line-height: 1.25;
58
59
  }
59
60
 
60
61
  .#{$prefix}--radio-button__label:not(:last-of-type) {
@@ -69,7 +70,7 @@ $radio-border-width: 1px !default;
69
70
  }
70
71
 
71
72
  .#{$prefix}--radio-button__label {
72
- @include type.type-style('body-short-01');
73
+ @include type.type-style('body-compact-01');
73
74
 
74
75
  display: flex;
75
76
  align-items: center;
@@ -90,7 +90,7 @@
90
90
  &:disabled,
91
91
  &:hover:disabled {
92
92
  border-bottom-color: $border-disabled;
93
- background-color: $field-disabled;
93
+ background-color: $field;
94
94
  color: $text-disabled;
95
95
  cursor: not-allowed;
96
96
  }
@@ -214,9 +214,14 @@
214
214
  color: $text-primary;
215
215
  }
216
216
 
217
+ .#{$prefix}--select--inline .#{$prefix}--select-input:focus option,
218
+ .#{$prefix}--select--inline .#{$prefix}--select-input:focus optgroup {
219
+ background-color: $background;
220
+ }
221
+
217
222
  .#{$prefix}--select--inline .#{$prefix}--select-input[disabled],
218
223
  .#{$prefix}--select--inline .#{$prefix}--select-input[disabled]:hover {
219
- background-color: $field-disabled;
224
+ background-color: $field;
220
225
  }
221
226
 
222
227
  .#{$prefix}--select--inline .#{$prefix}--select__arrow {
@@ -185,7 +185,7 @@
185
185
  .#{$prefix}--slider-text-input,
186
186
  .#{$prefix}--slider--disabled ~ .#{$prefix}--slider-text-input {
187
187
  border: none;
188
- background-color: $field-disabled;
188
+ background-color: $field;
189
189
  color: $text-disabled;
190
190
  cursor: not-allowed;
191
191
  transition: none;
@@ -23,12 +23,15 @@
23
23
  @use '../../utilities/rotate' as *;
24
24
  @use '../../utilities/box-shadow' as *;
25
25
  @use '../../utilities/component-tokens' as *;
26
+ @use '../../utilities/custom-property';
26
27
  @use '../../utilities/skeleton' as *;
27
28
  @use '../../utilities/visually-hidden' as *;
28
29
  @use '../../utilities/button-reset';
29
30
  @use '../../utilities/high-contrast-mode' as *;
30
31
  @use '../../utilities/convert' as *;
31
32
 
33
+ $icon-tab-size: custom-property.get-var('icon-tab-size', rem(40px));
34
+
32
35
  /// Tabs styles
33
36
  /// @access public
34
37
  /// @group tabs
@@ -244,6 +247,24 @@
244
247
  text-align: left;
245
248
  }
246
249
 
250
+ //-----------------------------
251
+ // Icon Item
252
+ //-----------------------------
253
+
254
+ .#{$prefix}--tabs__nav-item--icon,
255
+ &.#{$prefix}--tabs--contained .#{$prefix}--tabs__nav-item--icon {
256
+ display: flex;
257
+ width: $icon-tab-size;
258
+ height: $icon-tab-size;
259
+ align-items: center;
260
+ justify-content: center;
261
+ padding: 0;
262
+ }
263
+
264
+ &.#{$prefix}--tabs__icon--lg {
265
+ @include custom-property.declaration('icon-tab-size', rem(48px));
266
+ }
267
+
247
268
  //-----------------------------
248
269
  // Item Hover
249
270
  //-----------------------------
@@ -123,7 +123,7 @@
123
123
  .#{$prefix}--tag--disabled,
124
124
  .#{$prefix}--tag--filter.#{$prefix}--tag--disabled,
125
125
  .#{$prefix}--tag--interactive.#{$prefix}--tag--disabled {
126
- @include tag-theme($layer-disabled, $text-disabled);
126
+ @include tag-theme($layer, $text-disabled);
127
127
 
128
128
  &:hover {
129
129
  cursor: not-allowed;
@@ -77,7 +77,7 @@
77
77
  //-----------------------------
78
78
  .#{$prefix}--text-area:disabled {
79
79
  border-bottom: 1px solid transparent;
80
- background-color: $field-disabled;
80
+ background-color: $field;
81
81
  color: $text-disabled;
82
82
  cursor: not-allowed;
83
83
  outline: none;
@@ -102,4 +102,10 @@
102
102
  color: transparent;
103
103
  }
104
104
  }
105
+
106
+ .#{$prefix}--text-area__label-wrapper {
107
+ display: flex;
108
+ width: 100%;
109
+ justify-content: space-between;
110
+ }
105
111
  }
@@ -216,7 +216,7 @@
216
216
  @include focus-outline('reset');
217
217
 
218
218
  border-bottom: 1px solid transparent;
219
- background-color: $field-disabled;
219
+ background-color: $field;
220
220
  color: $text-disabled;
221
221
  cursor: not-allowed;
222
222
  // Needed to fix disabled text in Safari #6673
@@ -93,7 +93,7 @@
93
93
  .#{$prefix}--tile--clickable.#{$prefix}--link--disabled,
94
94
  .#{$prefix}--tile--clickable:hover.#{$prefix}--link--disabled {
95
95
  display: block;
96
- background-color: $layer-disabled;
96
+ background-color: $layer;
97
97
  color: $text-disabled;
98
98
  }
99
99
 
@@ -302,7 +302,7 @@
302
302
  + .#{$prefix}--toggle__label
303
303
  .#{$prefix}--toggle__appearance {
304
304
  &::before {
305
- background-color: $layer-disabled;
305
+ background-color: $layer;
306
306
  }
307
307
 
308
308
  &::after {
@@ -581,7 +581,7 @@
581
581
  .#{$prefix}--toggle-input--small:disabled:checked
582
582
  + .#{$prefix}--toggle-input__label
583
583
  .#{$prefix}--toggle__check {
584
- fill: $layer-disabled;
584
+ fill: $layer;
585
585
  }
586
586
 
587
587
  //----------------------------------------------
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright IBM Corp. 2018, 2018
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 'toggletip';
9
+ @use 'toggletip';
10
+
11
+ @include toggletip.toggletip;
@@ -0,0 +1,81 @@
1
+ //
2
+ // Copyright IBM Corp. 2018, 2018
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 '../../config' as *;
9
+ @use '../../spacing';
10
+ @use '../../theme';
11
+ @use '../../type';
12
+ @use '../../utilities/button-reset';
13
+ @use '../../utilities/convert';
14
+ @use '../../utilities/custom-property';
15
+ @use '../../utilities/focus-outline';
16
+
17
+ @mixin toggletip() {
18
+ .#{$prefix}--toggletip-label {
19
+ @include type.type-style('label-01');
20
+
21
+ margin-right: spacing.$spacing-03;
22
+
23
+ color: theme.$text-secondary;
24
+ }
25
+
26
+ .#{$prefix}--toggletip-button {
27
+ @include button-reset.reset();
28
+
29
+ display: flex;
30
+ align-items: center;
31
+ }
32
+
33
+ .#{$prefix}--toggletip-button svg {
34
+ fill: theme.$icon-secondary;
35
+ }
36
+
37
+ .#{$prefix}--toggletip-button:hover svg,
38
+ .#{$prefix}--toggletip--open .#{$prefix}--toggletip-button svg {
39
+ fill: theme.$icon-primary;
40
+ }
41
+
42
+ .#{$prefix}--toggletip-button:focus {
43
+ @include focus-outline.focus-outline;
44
+ }
45
+
46
+ .#{$prefix}--toggletip {
47
+ @include custom-property.declaration('popover-offset', convert.rem(13px));
48
+ }
49
+
50
+ .#{$prefix}--toggletip-content {
51
+ @include custom-property.declaration(
52
+ 'button-focus-color',
53
+ theme.$focus-inverse
54
+ );
55
+ @include custom-property.declaration(
56
+ 'link-text-color',
57
+ theme.$link-inverse
58
+ );
59
+ @include custom-property.declaration(
60
+ 'link-hover-text-color',
61
+ theme.$link-inverse
62
+ );
63
+ @include custom-property.declaration(
64
+ 'link-focus-text-color',
65
+ theme.$focus-inverse
66
+ );
67
+ @include type.type-style('body-short-01');
68
+
69
+ display: grid;
70
+ max-width: 18rem;
71
+ padding: spacing.$spacing-05;
72
+ row-gap: spacing.$spacing-05;
73
+ }
74
+
75
+ .#{$prefix}--toggletip-actions {
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: space-between;
79
+ column-gap: spacing.$spacing-05;
80
+ }
81
+ }