@c8y/style 1023.68.6 → 1023.70.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/style",
3
- "version": "1023.68.6",
3
+ "version": "1023.70.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity GmbH",
6
6
  "description": "Styles for Cumulocity IoT applications",
@@ -1,4 +1,5 @@
1
-
1
+ @use '../../../variables/index'as *;
2
+ @import "../../mixins/_tab-focus.less";
2
3
  /**
3
4
  * C8Y AI Chat - AI chat widget component
4
5
  *
@@ -15,7 +16,7 @@
15
16
  * - Z-index values: Stacking order
16
17
  */
17
18
 
18
- c8y-widget-ai-chat-section{
19
+ c8y-widget-ai-chat-section {
19
20
  display: flex;
20
21
  max-height: calc(100vh - 400px);
21
22
  min-height: 400px;
@@ -23,18 +24,18 @@ c8y-widget-ai-chat-section{
23
24
  border: 1px solid var(--c8y-root-component-border-color);
24
25
  border-radius: @size-base;
25
26
  padding: 0;
26
- .chat-input{
27
+
28
+ .chat-input {
27
29
  border-bottom-left-radius: @size-base;
28
30
  border-bottom-right-radius: @size-base;
29
31
  }
30
-
31
32
  }
32
33
 
33
- c8y-agent-chat{
34
+ c8y-agent-chat {
34
35
  width: 100%;
35
36
  }
36
37
 
37
- .chat-input{
38
+ .chat-input {
38
39
  display: flex;
39
40
  width: 100%;
40
41
  flex-direction: column;
@@ -44,12 +45,14 @@ c8y-agent-chat{
44
45
  border-top: 1px solid var(--c8y-root-component-border-color);
45
46
  margin-top: auto;
46
47
  position: sticky;
47
- bottom:0;
48
- .chat-input-group{
48
+ bottom: 0;
49
+
50
+ .chat-input-group {
49
51
  position: relative;
50
52
  width: 100%;
51
- textarea{
52
- border-radius: 20px!important;
53
+
54
+ textarea {
55
+ border-radius: 20px !important;
53
56
  min-height: @size-40;
54
57
  padding-top: @size-10;
55
58
  padding-right: @size-40;
@@ -57,31 +60,37 @@ c8y-agent-chat{
57
60
  padding-left: @size-16;
58
61
 
59
62
  &::-webkit-scrollbar {
60
- width: unset; /* for vertical scrollbars */
61
- height: unset; /* for horizontal scrollbars */
63
+ width: unset;
64
+ /* for vertical scrollbars */
65
+ height: unset;
66
+ /* for horizontal scrollbars */
62
67
  }
63
68
 
64
69
  &::-webkit-scrollbar-track {
65
70
  background: unset;
66
71
  }
72
+
67
73
  &::-webkit-scrollbar-thumb {
68
74
  width: unset;
69
75
  border-radius: unset;
70
76
  background: unset;
71
77
  }
78
+
72
79
  &:hover {
73
80
  &::-webkit-scrollbar-thumb {
74
81
  background: unset;
75
82
  }
76
83
  }
77
84
  }
78
- .chat-input-group-btn{
85
+
86
+ .chat-input-group-btn {
79
87
  position: absolute;
80
88
  right: @size-4;
81
89
  bottom: @size-4;
82
- .btn-dot{
83
- margin: 0!important;
84
- height: @form-control-height-base!important;
90
+
91
+ .btn-dot {
92
+ margin: 0 !important;
93
+ height: @form-control-height-base !important;
85
94
  border-radius: 50%;
86
95
  }
87
96
  }
@@ -90,13 +99,16 @@ c8y-agent-chat{
90
99
 
91
100
  .chat-message {
92
101
  line-height: 1.7;
93
- .message-content{
102
+
103
+ .message-content {
94
104
  overflow-wrap: break-word;
95
105
  word-break: break-word;
96
106
  max-width: 100%;
97
107
  min-width: 0;
98
- p{
108
+
109
+ p {
99
110
  margin-bottom: @size-8;
111
+
100
112
  &:last-child {
101
113
  margin-bottom: 0;
102
114
  }
@@ -110,19 +122,22 @@ c8y-agent-chat{
110
122
  width: 100%;
111
123
  margin-top: @size-16;
112
124
  padding: @size-16 @size-24 @size-16 @size-16;
113
- h1{
125
+
126
+ h1 {
114
127
  margin-top: @size-24;
115
128
  margin-bottom: @size-16;
116
129
  font-size: 2em;
117
130
  font-weight: 600;
118
131
  }
119
- h2{
132
+
133
+ h2 {
120
134
  margin-top: @size-24;
121
135
  margin-bottom: @size-16;
122
136
  font-size: 1.5em;
123
137
  font-weight: 600;
124
138
  }
125
- h3{
139
+
140
+ h3 {
126
141
  margin-top: @size-16;
127
142
  margin-bottom: @size-16;
128
143
  font-size: 1.2em;
@@ -146,9 +161,11 @@ c8y-agent-chat{
146
161
  align-items: center;
147
162
  gap: @size-base;
148
163
  padding: @size-base 0 @size-16 0;
149
- &:empty{
164
+
165
+ &:empty {
150
166
  display: none;
151
167
  }
168
+
152
169
  &.user-action {
153
170
  display: inline-block;
154
171
  align-self: flex-end;
@@ -157,55 +174,86 @@ c8y-agent-chat{
157
174
  margin-top: 0;
158
175
  margin-right: 0;
159
176
  order: 1;
160
-
161
177
  }
178
+
162
179
  &.agent-action {
163
180
  justify-content: flex-start;
164
181
  border-top: 1px dashed var(--c8y-root-component-border-color);
165
182
  }
166
183
 
167
- .btn-dot{
168
- margin: 0!important;
169
- height: @form-control-height-base!important;
170
- border-radius: 50%!important;
184
+ .btn-dot {
185
+ margin: 0 !important;
186
+ height: @form-control-height-base !important;
187
+ border-radius: 50% !important;
171
188
  }
172
189
  }
173
190
 
174
- .message-timestamp{
191
+ .message-timestamp {
175
192
  display: block;
176
193
  font-size: @font-size-xs;
177
194
  color: var(--c8y-text-muted);
178
- .user-message &{
195
+
196
+ .user-message & {
179
197
  text-align: right;
180
198
  }
181
199
  }
182
200
 
183
201
 
184
- .agent-step-feedback {
185
- .c8y-list__group{
186
- border-radius: 20px!important;
187
- overflow: hidden;
188
- border: 1px solid var(--c8y-root-component-border-color);
189
- .c8y-list__item{
190
- box-shadow: none;
202
+ c8y-ai-chat {
203
+
204
+ // Visually hidden label included when users copy-paste from the chat, e.g. to report issues.
205
+ .hidden-copy-label {
206
+ display: block;
207
+ font-size: 0;
208
+ line-height: 0;
209
+ user-select: text;
210
+ }
211
+
212
+ .ai-tool-call {
213
+ &__fieldset {
214
+ display: inline-flex;
215
+ max-inline-size: min-content;
216
+ flex-direction: column;
217
+ max-width: 100%;
218
+ min-inline-size: 1rem;
219
+ transition: all .35s ease;
220
+
221
+ &:has([aria-expanded="true"]) {
222
+ min-inline-size: 100%;
223
+ transition: all .35s ease;
224
+ }
225
+
226
+ &:focus-within {
227
+ .c8y-focus-inset();
228
+ border-radius: var(--c8y-unit-base) !important;
229
+ }
191
230
  }
192
- .collapse-btn{
193
- &, &:hover, &:focus{
194
- border-top-right-radius: 20px!important;
195
- border-bottom-right-radius: 20px!important;
231
+
232
+ &__btn {
233
+ display: inline-flex;
234
+ align-items: center;
235
+ gap: 4px;
236
+
237
+ &:focus {
238
+ outline: 0;
239
+ box-shadow: none;
196
240
  }
197
241
  }
198
242
  }
199
- .c8y-list__item.selectable.active{
200
- color: @component-color-text-muted;
201
- }
202
- .c8y-list__item__actions, .c8y-list__item__icon{
203
- height: @size-40;
204
- padding-top: 0!important;
205
- padding-bottom: 0!important;
206
- }
207
- .c8y-list__item.selectable.active .c8y-list__item__body:after{
208
- float: none;
209
- color: @component-brand-primary;
243
+
244
+ .reasoning-content {
245
+ font-style: italic;
246
+ font-size: @font-size-small;
247
+
248
+ p {
249
+ margin-bottom: @size-4;
250
+
251
+ &:last-child {
252
+ margin-bottom: 0;
253
+ }
254
+ }
255
+
210
256
  }
257
+
258
+
211
259
  }
@@ -1,5 +1,5 @@
1
- @use "../../../variables/index" as *;
2
-
1
+ @use '../../../variables/index'as *;
2
+ @use "../../mixins/tab-focus";
3
3
  /**
4
4
  * C8Y AI Chat - AI chat widget component
5
5
  *
@@ -16,7 +16,7 @@
16
16
  * - Z-index values: Stacking order
17
17
  */
18
18
 
19
- c8y-widget-ai-chat-section{
19
+ c8y-widget-ai-chat-section {
20
20
  display: flex;
21
21
  max-height: calc(100vh - 400px);
22
22
  min-height: 400px;
@@ -24,18 +24,18 @@ c8y-widget-ai-chat-section{
24
24
  border: 1px solid var(--c8y-root-component-border-color);
25
25
  border-radius: $size-base;
26
26
  padding: 0;
27
- .chat-input{
27
+
28
+ .chat-input {
28
29
  border-bottom-left-radius: $size-base;
29
30
  border-bottom-right-radius: $size-base;
30
31
  }
31
-
32
32
  }
33
33
 
34
- c8y-agent-chat{
34
+ c8y-agent-chat {
35
35
  width: 100%;
36
36
  }
37
37
 
38
- .chat-input{
38
+ .chat-input {
39
39
  display: flex;
40
40
  width: 100%;
41
41
  flex-direction: column;
@@ -45,12 +45,14 @@ c8y-agent-chat{
45
45
  border-top: 1px solid var(--c8y-root-component-border-color);
46
46
  margin-top: auto;
47
47
  position: sticky;
48
- bottom:0;
49
- .chat-input-group{
48
+ bottom: 0;
49
+
50
+ .chat-input-group {
50
51
  position: relative;
51
52
  width: 100%;
52
- textarea{
53
- border-radius: 20px!important;
53
+
54
+ textarea {
55
+ border-radius: 20px !important;
54
56
  min-height: $size-40;
55
57
  padding-top: $size-10;
56
58
  padding-right: $size-40;
@@ -58,31 +60,37 @@ c8y-agent-chat{
58
60
  padding-left: $size-16;
59
61
 
60
62
  &::-webkit-scrollbar {
61
- width: unset; /* for vertical scrollbars */
62
- height: unset; /* for horizontal scrollbars */
63
+ width: unset;
64
+ /* for vertical scrollbars */
65
+ height: unset;
66
+ /* for horizontal scrollbars */
63
67
  }
64
68
 
65
69
  &::-webkit-scrollbar-track {
66
70
  background: unset;
67
71
  }
72
+
68
73
  &::-webkit-scrollbar-thumb {
69
74
  width: unset;
70
75
  border-radius: unset;
71
76
  background: unset;
72
77
  }
78
+
73
79
  &:hover {
74
80
  &::-webkit-scrollbar-thumb {
75
81
  background: unset;
76
82
  }
77
83
  }
78
84
  }
79
- .chat-input-group-btn{
85
+
86
+ .chat-input-group-btn {
80
87
  position: absolute;
81
88
  right: $size-4;
82
89
  bottom: $size-4;
83
- .btn-dot{
84
- margin: 0!important;
85
- height: $form-control-height-base!important;
90
+
91
+ .btn-dot {
92
+ margin: 0 !important;
93
+ height: $form-control-height-base !important;
86
94
  border-radius: 50%;
87
95
  }
88
96
  }
@@ -91,13 +99,16 @@ c8y-agent-chat{
91
99
 
92
100
  .chat-message {
93
101
  line-height: 1.7;
94
- .message-content{
102
+
103
+ .message-content {
95
104
  overflow-wrap: break-word;
96
105
  word-break: break-word;
97
106
  max-width: 100%;
98
107
  min-width: 0;
99
- p{
108
+
109
+ p {
100
110
  margin-bottom: $size-8;
111
+
101
112
  &:last-child {
102
113
  margin-bottom: 0;
103
114
  }
@@ -111,19 +122,22 @@ c8y-agent-chat{
111
122
  width: 100%;
112
123
  margin-top: $size-16;
113
124
  padding: $size-16 $size-24 $size-16 $size-16;
114
- h1{
125
+
126
+ h1 {
115
127
  margin-top: $size-24;
116
128
  margin-bottom: $size-16;
117
129
  font-size: 2em;
118
130
  font-weight: 600;
119
131
  }
120
- h2{
132
+
133
+ h2 {
121
134
  margin-top: $size-24;
122
135
  margin-bottom: $size-16;
123
136
  font-size: 1.5em;
124
137
  font-weight: 600;
125
138
  }
126
- h3{
139
+
140
+ h3 {
127
141
  margin-top: $size-16;
128
142
  margin-bottom: $size-16;
129
143
  font-size: 1.2em;
@@ -147,9 +161,11 @@ c8y-agent-chat{
147
161
  align-items: center;
148
162
  gap: $size-base;
149
163
  padding: $size-base 0 $size-16 0;
150
- &:empty{
164
+
165
+ &:empty {
151
166
  display: none;
152
167
  }
168
+
153
169
  &.user-action {
154
170
  display: inline-block;
155
171
  align-self: flex-end;
@@ -158,55 +174,86 @@ c8y-agent-chat{
158
174
  margin-top: 0;
159
175
  margin-right: 0;
160
176
  order: 1;
161
-
162
177
  }
178
+
163
179
  &.agent-action {
164
180
  justify-content: flex-start;
165
181
  border-top: 1px dashed var(--c8y-root-component-border-color);
166
182
  }
167
183
 
168
- .btn-dot{
169
- margin: 0!important;
170
- height: $form-control-height-base!important;
171
- border-radius: 50%!important;
184
+ .btn-dot {
185
+ margin: 0 !important;
186
+ height: $form-control-height-base !important;
187
+ border-radius: 50% !important;
172
188
  }
173
189
  }
174
190
 
175
- .message-timestamp{
191
+ .message-timestamp {
176
192
  display: block;
177
193
  font-size: $font-size-xs;
178
194
  color: var(--c8y-text-muted);
179
- .user-message &{
195
+
196
+ .user-message & {
180
197
  text-align: right;
181
198
  }
182
199
  }
183
200
 
184
201
 
185
- .agent-step-feedback {
186
- .c8y-list__group{
187
- border-radius: 20px!important;
188
- overflow: hidden;
189
- border: 1px solid var(--c8y-root-component-border-color);
190
- .c8y-list__item{
191
- box-shadow: none;
202
+ c8y-ai-chat {
203
+
204
+ // Visually hidden label included when users copy-paste from the chat, e.g. to report issues.
205
+ .hidden-copy-label {
206
+ display: block;
207
+ font-size: 0;
208
+ line-height: 0;
209
+ user-select: text;
210
+ }
211
+
212
+ .ai-tool-call {
213
+ &__fieldset {
214
+ display: inline-flex;
215
+ max-inline-size: min-content;
216
+ flex-direction: column;
217
+ max-width: 100%;
218
+ min-inline-size: 1rem;
219
+ transition: all .35s ease;
220
+
221
+ &:has([aria-expanded="true"]) {
222
+ min-inline-size: 100%;
223
+ transition: all .35s ease;
224
+ }
225
+
226
+ &:focus-within {
227
+ @include tab-focus.c8y-focus-inset();
228
+ border-radius: var(--c8y-unit-base) !important;
229
+ }
192
230
  }
193
- .collapse-btn{
194
- &, &:hover, &:focus{
195
- border-top-right-radius: 20px!important;
196
- border-bottom-right-radius: 20px!important;
231
+
232
+ &__btn {
233
+ display: inline-flex;
234
+ align-items: center;
235
+ gap: 4px;
236
+
237
+ &:focus {
238
+ outline: 0;
239
+ box-shadow: none;
197
240
  }
198
241
  }
199
242
  }
200
- .c8y-list__item.selectable.active{
201
- color: $component-color-text-muted;
202
- }
203
- .c8y-list__item__actions, .c8y-list__item__icon{
204
- height: $size-40;
205
- padding-top: 0!important;
206
- padding-bottom: 0!important;
207
- }
208
- .c8y-list__item.selectable.active .c8y-list__item__body:after{
209
- float: none;
210
- color: $component-brand-primary;
243
+
244
+ .reasoning-content {
245
+ font-style: italic;
246
+ font-size: $font-size-small;
247
+
248
+ p {
249
+ margin-bottom: $size-4;
250
+
251
+ &:last-child {
252
+ margin-bottom: 0;
253
+ }
254
+ }
255
+
211
256
  }
257
+
258
+
212
259
  }
@@ -27,10 +27,14 @@
27
27
  &::-webkit-scrollbar-thumb {
28
28
  background: @navigator-scrollbar-thumb-color;
29
29
  }
30
+ scrollbar-width: thin; /* for Firefox */
31
+ scrollbar-color: @navigator-scrollbar-thumb-color transparent;
32
+ transition: scrollbar-color .2s ease;
30
33
  &:hover {
31
34
  &::-webkit-scrollbar-thumb {
32
35
  background: @navigator-scrollbar-thumb-color-hover;
33
36
  }
37
+ scrollbar-color: @navigator-scrollbar-thumb-color-hover transparent;
34
38
  }
35
39
  }
36
40
 
@@ -53,6 +57,39 @@
53
57
  overflow: auto;
54
58
 
55
59
  .c8y-scrollbar();
60
+
61
+ &.scrollbar-only-on-hover {
62
+ // Force scrollbar space to always be present
63
+ overflow-y: scroll;
64
+ scrollbar-width: thin; // Firefox
65
+ scrollbar-color: transparent transparent; // Firefox - invisible by default
66
+
67
+ &::-webkit-scrollbar {
68
+ width: 8px; // Webkit browsers - always reserve space
69
+ }
70
+
71
+ // Hide scrollbar thumb when not hovering
72
+ &::-webkit-scrollbar-thumb {
73
+ background-color: transparent;
74
+ }
75
+
76
+ &::-webkit-scrollbar-track {
77
+ background-color: transparent;
78
+ }
79
+
80
+ &:hover {
81
+ scrollbar-color: @component-scrollbar-thumb-hover transparent; // Firefox
82
+
83
+ &::-webkit-scrollbar-thumb {
84
+ background-color: @component-scrollbar-thumb-hover;
85
+ border-radius: 4px;
86
+ }
87
+
88
+ &::-webkit-scrollbar-track {
89
+ background-color: @component-scrollbar-track;
90
+ }
91
+ }
92
+ }
56
93
  }
57
94
 
58
95
  .table-responsive {
@@ -28,10 +28,14 @@
28
28
  &::-webkit-scrollbar-thumb {
29
29
  background: $navigator-scrollbar-thumb-color;
30
30
  }
31
+ scrollbar-width: thin; /* for Firefox */
32
+ scrollbar-color: $navigator-scrollbar-thumb-color transparent;
33
+ transition: scrollbar-color .2s ease;
31
34
  &:hover {
32
35
  &::-webkit-scrollbar-thumb {
33
36
  background: $navigator-scrollbar-thumb-color-hover;
34
37
  }
38
+ scrollbar-color: $navigator-scrollbar-thumb-color-hover transparent;
35
39
  }
36
40
  }
37
41
 
@@ -54,6 +58,39 @@
54
58
  overflow: auto;
55
59
 
56
60
  @include c8y-scrollbar.c8y-scrollbar();
61
+
62
+ &.scrollbar-only-on-hover {
63
+ // Force scrollbar space to always be present
64
+ overflow-y: scroll;
65
+ scrollbar-width: thin; // Firefox
66
+ scrollbar-color: transparent transparent; // Firefox - invisible by default
67
+
68
+ &::-webkit-scrollbar {
69
+ width: 8px; // Webkit browsers - always reserve space
70
+ }
71
+
72
+ // Hide scrollbar thumb when not hovering
73
+ &::-webkit-scrollbar-thumb {
74
+ background-color: transparent;
75
+ }
76
+
77
+ &::-webkit-scrollbar-track {
78
+ background-color: transparent;
79
+ }
80
+
81
+ &:hover {
82
+ scrollbar-color: $component-scrollbar-thumb-hover transparent; // Firefox
83
+
84
+ &::-webkit-scrollbar-thumb {
85
+ background-color: $component-scrollbar-thumb-hover;
86
+ border-radius: 4px;
87
+ }
88
+
89
+ &::-webkit-scrollbar-track {
90
+ background-color: $component-scrollbar-track;
91
+ }
92
+ }
93
+ }
57
94
  }
58
95
 
59
96
  .table-responsive {
@@ -460,11 +460,6 @@
460
460
  border-color: transparent;
461
461
  color: @text-color;
462
462
 
463
- &::before {
464
- animation: borderRotate 1s linear infinite;
465
- opacity: .85;
466
- }
467
-
468
463
  &::after {
469
464
  left: 3px;
470
465
  top: 3px;
@@ -472,6 +467,13 @@
472
467
  height: calc(100% - 6px);
473
468
  transition: all .2s ease;
474
469
  }
470
+ }
471
+
472
+ &:hover {
473
+ &::before {
474
+ animation: borderRotate 1s linear infinite;
475
+ opacity: .85;
476
+ }
475
477
 
476
478
  >span::before {
477
479
  mask-size: 2.3ch;
@@ -463,11 +463,6 @@
463
463
  border-color: transparent;
464
464
  color: $text-color;
465
465
 
466
- &::before {
467
- animation: borderRotate 1s linear infinite;
468
- opacity: .85;
469
- }
470
-
471
466
  &::after {
472
467
  left: 3px;
473
468
  top: 3px;
@@ -486,6 +481,13 @@
486
481
  }
487
482
  }
488
483
 
484
+ &:hover {
485
+ &::before {
486
+ animation: borderRotate 1s linear infinite;
487
+ opacity: .85;
488
+ }
489
+ }
490
+
489
491
  &:active {
490
492
  &::after {
491
493
  background-color: var(--c8y-btn-default-background-active);
@@ -496,7 +498,39 @@
496
498
  outline: 2px solid var(--c8y-btn-default-border-color-focus);
497
499
  }
498
500
  }
501
+ c8y-ai-chat-suggestion &{
502
+ display: flex;
503
+ align-items: center;
504
+ text-align: left;
505
+ white-space: normal;
506
+ height: 100%!important;
507
+ min-width: min-content;
508
+ > span{
509
+ height: auto!important;
510
+ }
511
+ }
512
+ c8y-ai-chat-suggestion .flex-wrap &{
513
+ height: auto!important;
514
+ }
499
515
  }
516
+ c8y-ai-chat-suggestion{
517
+ .btn{
518
+ display: flex;
519
+ align-items: center;
520
+ text-align: left;
521
+ white-space: normal;
522
+ height: 100%!important;
523
+ min-width: min-content;
524
+ > i{
525
+ margin-right: 4px;
526
+ margin-left: -4px;
527
+ }
528
+ .flex-wrap &{
529
+ height: auto!important;
530
+ }
531
+ }
532
+ }
533
+
500
534
 
501
535
  .btn-ai-hint, .btn-ai-hint.btn-dot {
502
536
  pointer-events: none;
@@ -540,7 +540,8 @@ c8y-search-input.input-group-sm {
540
540
  line-height: $line-height-small;
541
541
  }
542
542
  }
543
- .input-group-sm > .form-group {
543
+ .input-group-sm > .form-group,
544
+ .input-group-sm > .c8y-select-wrapper {
544
545
  height: $form-control-height-sm !important;
545
546
  }
546
547
 
@@ -1,3 +1,5 @@
1
+ @import "_vendor-prefixes.less";
2
+
1
3
  .c8y-scrollbar {
2
4
  &::-webkit-scrollbar {
3
5
  width: 4px; /* for vertical scrollbars */
@@ -14,9 +16,17 @@
14
16
 
15
17
  .transition(all 0.25s ease);
16
18
  }
19
+ scrollbar-width: thin; /* for Firefox */
20
+ scrollbar-color: @component-scrollbar-thumb-default transparent;
21
+ transition: scrollbar-color .2s ease;
17
22
  &:hover {
18
23
  &::-webkit-scrollbar-thumb {
19
24
  background: @component-scrollbar-thumb-hover;
20
25
  }
26
+ scrollbar-color: @component-scrollbar-thumb-hover transparent;
21
27
  }
22
28
  }
29
+
30
+ .c8y-scrollbar {
31
+ .c8y-scrollbar();
32
+ }
@@ -17,10 +17,14 @@
17
17
 
18
18
  @include vendor-prefixes.transition(all 0.25s ease);
19
19
  }
20
+ scrollbar-width: thin; /* for Firefox */
21
+ scrollbar-color: $component-scrollbar-thumb-default transparent;
22
+ transition: scrollbar-color .2s ease;
20
23
  &:hover {
21
24
  &::-webkit-scrollbar-thumb {
22
25
  background: $component-scrollbar-thumb-hover;
23
26
  }
27
+ scrollbar-color: $component-scrollbar-thumb-hover transparent;
24
28
  }
25
29
  }
26
30