@laser-ui/themes 0.0.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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/_mixins.scss +5 -0
  4. package/_variables.scss +17 -0
  5. package/animations.scss +19 -0
  6. package/common.scss +9 -0
  7. package/components/accordion.scss +52 -0
  8. package/components/alert.scss +110 -0
  9. package/components/anchor.scss +69 -0
  10. package/components/avatar.scss +36 -0
  11. package/components/badge.scss +54 -0
  12. package/components/breadcrumb.scss +50 -0
  13. package/components/button.scss +245 -0
  14. package/components/card.scss +77 -0
  15. package/components/cascader.scss +313 -0
  16. package/components/checkbox.scss +194 -0
  17. package/components/circular-progress.scss +30 -0
  18. package/components/compose.scss +121 -0
  19. package/components/date-picker.scss +310 -0
  20. package/components/drawer.scss +113 -0
  21. package/components/dropdown.scss +156 -0
  22. package/components/empty.scss +27 -0
  23. package/components/fab.scss +293 -0
  24. package/components/form.scss +137 -0
  25. package/components/icon.scss +17 -0
  26. package/components/image.scss +213 -0
  27. package/components/input.scss +172 -0
  28. package/components/mask.scss +11 -0
  29. package/components/menu.scss +327 -0
  30. package/components/modal.scss +139 -0
  31. package/components/notification.scss +127 -0
  32. package/components/pagination.scss +134 -0
  33. package/components/popover.scss +197 -0
  34. package/components/progress.scss +125 -0
  35. package/components/radio.scss +203 -0
  36. package/components/rating.scss +75 -0
  37. package/components/select.scss +282 -0
  38. package/components/separator.scss +95 -0
  39. package/components/skeleton.scss +44 -0
  40. package/components/slider.scss +202 -0
  41. package/components/slides.scss +211 -0
  42. package/components/spinner.scss +43 -0
  43. package/components/stepper.scss +226 -0
  44. package/components/switch.scss +151 -0
  45. package/components/table.scss +297 -0
  46. package/components/tabs.scss +517 -0
  47. package/components/tag.scss +59 -0
  48. package/components/textarea.scss +69 -0
  49. package/components/time-picker.scss +212 -0
  50. package/components/timeline.scss +107 -0
  51. package/components/toast.scss +101 -0
  52. package/components/tooltip.scss +118 -0
  53. package/components/transfer.scss +122 -0
  54. package/components/tree-select.scss +218 -0
  55. package/components/tree.scss +169 -0
  56. package/components/upload.scss +367 -0
  57. package/components/wave.scss +36 -0
  58. package/index.scss +58 -0
  59. package/mixins/_polyfill.scss +34 -0
  60. package/mixins/_utils.scss +5 -0
  61. package/mixins/bem/_bem.scss +71 -0
  62. package/mixins/bem/_config.scss +4 -0
  63. package/mixins/bem/_function.scss +45 -0
  64. package/package.json +28 -0
  65. package/reboot.scss +5 -0
  66. package/root.scss +90 -0
  67. package/theme-dark.scss +62 -0
@@ -0,0 +1,121 @@
1
+ @use '../variables';
2
+ @use '../mixins';
3
+
4
+ @include mixins.b(compose) {
5
+ display: inline-flex;
6
+ align-items: stretch;
7
+ vertical-align: top;
8
+
9
+ & > [data-l-compose-disabled='true'] {
10
+ z-index: 0;
11
+ }
12
+
13
+ & > :not([data-l-compose-disabled='true']) {
14
+ z-index: 1;
15
+
16
+ &[data-l-compose-active='true'] {
17
+ z-index: 2;
18
+ }
19
+
20
+ &[data-l-form-invalid='warning'] {
21
+ z-index: 5;
22
+ }
23
+
24
+ &[data-l-form-invalid='error'] {
25
+ z-index: 6;
26
+ }
27
+
28
+ &:hover {
29
+ z-index: 9;
30
+ }
31
+
32
+ &:focus,
33
+ &:focus-within {
34
+ z-index: 10;
35
+ }
36
+ }
37
+
38
+ &:not(#{&}--vertical) {
39
+ & > :not(:first-child):not(:only-child) {
40
+ margin-left: -1px !important;
41
+ }
42
+
43
+ & > :first-child:not(:only-child) {
44
+ border-top-right-radius: 0 !important;
45
+ border-bottom-right-radius: 0 !important;
46
+ }
47
+
48
+ & > :last-child:not(:only-child) {
49
+ border-top-left-radius: 0 !important;
50
+ border-bottom-left-radius: 0 !important;
51
+ }
52
+
53
+ & > :not(:first-child):not(:last-child) {
54
+ border-radius: 0 !important;
55
+ }
56
+ }
57
+
58
+ @include mixins.m(vertical) {
59
+ flex-direction: column;
60
+
61
+ & > :not(:first-child):not(:only-child) {
62
+ margin-top: -1px !important;
63
+ }
64
+
65
+ & > :first-child:not(:only-child) {
66
+ border-bottom-right-radius: 0 !important;
67
+ border-bottom-left-radius: 0 !important;
68
+ }
69
+
70
+ & > :last-child:not(:only-child) {
71
+ border-top-left-radius: 0 !important;
72
+ border-top-right-radius: 0 !important;
73
+ }
74
+
75
+ & > :not(:first-child):not(:last-child) {
76
+ border-radius: 0 !important;
77
+ }
78
+ }
79
+
80
+ @include mixins.e(item) {
81
+ display: inline-flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ min-width: var(--size);
85
+ height: var(--size);
86
+ padding: 0 calc(var(--padding-size) - 1px);
87
+ font-size: var(--font-size);
88
+ white-space: nowrap;
89
+ vertical-align: top;
90
+ border: 1px solid var(--#{variables.$prefix}color-border);
91
+ border-radius: var(--#{variables.$prefix}border-radius);
92
+
93
+ @include mixins.when(disabled) {
94
+ color: var(--#{variables.$prefix}color-disabled);
95
+ pointer-events: none;
96
+ background-color: var(--#{variables.$prefix}background-color-disabled);
97
+ }
98
+
99
+ @include mixins.m(gray) {
100
+ background-color: var(--#{variables.$prefix}background-color-light-gray);
101
+ }
102
+
103
+ @include mixins.m(small) {
104
+ --size: var(--#{variables.$prefix}compose-size, var(--#{variables.$prefix}size-small));
105
+ --padding-size: var(--#{variables.$prefix}compose-padding-size, var(--#{variables.$prefix}padding-size-small));
106
+ --font-size: var(--#{variables.$prefix}compose-font-size, var(--#{variables.$prefix}font-size-small));
107
+ }
108
+
109
+ @include mixins.m(medium) {
110
+ --size: var(--#{variables.$prefix}compose-size, var(--#{variables.$prefix}size-medium));
111
+ --padding-size: var(--#{variables.$prefix}compose-padding-size, var(--#{variables.$prefix}padding-size-medium));
112
+ --font-size: var(--#{variables.$prefix}compose-font-size, var(--#{variables.$prefix}font-size-medium));
113
+ }
114
+
115
+ @include mixins.m(large) {
116
+ --size: var(--#{variables.$prefix}compose-size, var(--#{variables.$prefix}size-large));
117
+ --padding-size: var(--#{variables.$prefix}compose-padding-size, var(--#{variables.$prefix}padding-size-large));
118
+ --font-size: var(--#{variables.$prefix}compose-font-size, var(--#{variables.$prefix}font-size-large));
119
+ }
120
+ }
121
+ }
@@ -0,0 +1,310 @@
1
+ @use 'sass:map';
2
+ @use '../variables';
3
+ @use '../mixins';
4
+
5
+ $date-picker-cell-height: 28px;
6
+
7
+ @include mixins.b(date-picker) {
8
+ $selector: &;
9
+
10
+ position: relative;
11
+ display: inline-flex;
12
+ align-items: center;
13
+ height: var(--size);
14
+ padding: 0 calc(var(--horizontal-space) - 1px);
15
+ font-size: var(--font-size);
16
+ vertical-align: top;
17
+ cursor: pointer;
18
+ background-color: var(--#{variables.$prefix}background-color-input);
19
+ border: 1px solid var(--#{variables.$prefix}color-border);
20
+ border-radius: var(--#{variables.$prefix}border-radius);
21
+ transition: border-color var(--#{variables.$prefix}animation-duration-base) linear;
22
+
23
+ &:hover,
24
+ &:focus-within {
25
+ border-color: var(--#{variables.$prefix}color-light-primary);
26
+ }
27
+
28
+ @each $invalid, $color in ('warning': 'warning', 'error': 'danger') {
29
+ &[data-l-form-invalid='#{$invalid}'] {
30
+ border-color: var(--#{variables.$prefix}color-#{$color}) !important;
31
+
32
+ #{$selector}__input {
33
+ caret-color: var(--#{variables.$prefix}color-#{$color}) !important;
34
+ }
35
+
36
+ #{$selector}__indicator {
37
+ background-color: var(--#{variables.$prefix}color-#{$color}) !important;
38
+ }
39
+ }
40
+ }
41
+
42
+ @include mixins.when(disabled) {
43
+ color: var(--#{variables.$prefix}color-disabled);
44
+ pointer-events: none;
45
+ background-color: var(--#{variables.$prefix}background-color-disabled);
46
+
47
+ @include mixins.e(icon) {
48
+ color: var(--#{variables.$prefix}color-disabled);
49
+ }
50
+ }
51
+
52
+ @include mixins.m(small) {
53
+ --size: var(--#{variables.$prefix}select-size, var(--#{variables.$prefix}size-small));
54
+ --horizontal-space: var(--#{variables.$prefix}select-horizontal-space, var(--#{variables.$prefix}horizontal-space-small));
55
+ --font-size: var(--#{variables.$prefix}select-font-size, var(--#{variables.$prefix}font-size-small));
56
+ }
57
+
58
+ @include mixins.m(medium) {
59
+ --size: var(--#{variables.$prefix}select-size, var(--#{variables.$prefix}size-medium));
60
+ --horizontal-space: var(--#{variables.$prefix}select-horizontal-space, var(--#{variables.$prefix}horizontal-space-medium));
61
+ --font-size: var(--#{variables.$prefix}select-font-size, var(--#{variables.$prefix}font-size-medium));
62
+ }
63
+
64
+ @include mixins.m(large) {
65
+ --size: var(--#{variables.$prefix}select-size, var(--#{variables.$prefix}size-large));
66
+ --horizontal-space: var(--#{variables.$prefix}select-horizontal-space, var(--#{variables.$prefix}horizontal-space-large));
67
+ --font-size: var(--#{variables.$prefix}select-font-size, var(--#{variables.$prefix}font-size-large));
68
+ }
69
+
70
+ @include mixins.e(input) {
71
+ display: inline-block;
72
+ flex: 1 0 0;
73
+ min-width: 0;
74
+ padding: 0;
75
+ margin: 0;
76
+ font: inherit;
77
+ color: var(--#{variables.$prefix}color-text);
78
+ letter-spacing: inherit;
79
+ appearance: none;
80
+ caret-color: var(--#{variables.$prefix}color-primary);
81
+ background-color: transparent;
82
+ border: none;
83
+ outline: none;
84
+
85
+ &::placeholder {
86
+ color: var(--#{variables.$prefix}color-disabled);
87
+ }
88
+
89
+ &:disabled {
90
+ color: var(--#{variables.$prefix}color-disabled);
91
+
92
+ &::placeholder {
93
+ opacity: 0.5;
94
+ }
95
+ }
96
+ }
97
+
98
+ @include mixins.e(indicator) {
99
+ position: absolute;
100
+ bottom: 0;
101
+ left: 0;
102
+ z-index: 1;
103
+ width: 0;
104
+ height: 2px;
105
+ pointer-events: none;
106
+ background-color: var(--#{variables.$prefix}color-primary);
107
+ opacity: 0;
108
+ transition:
109
+ opacity var(--#{variables.$prefix}animation-duration-base) linear,
110
+ left var(--#{variables.$prefix}animation-duration-slow) linear,
111
+ width var(--#{variables.$prefix}animation-duration-base) linear;
112
+ }
113
+
114
+ @include mixins.e(separator) {
115
+ flex-shrink: 0;
116
+ margin: 0 8px;
117
+ color: var(--#{variables.$prefix}color-icon-decorator);
118
+ }
119
+
120
+ @include mixins.e(clear) {
121
+ position: absolute;
122
+ right: calc(var(--horizontal-space) - 1px);
123
+ z-index: 1;
124
+ color: var(--#{variables.$prefix}color-icon-decorator);
125
+ transition: color var(--#{variables.$prefix}animation-duration-base) linear;
126
+
127
+ &:hover,
128
+ &:focus {
129
+ color: var(--#{variables.$prefix}color-light-primary);
130
+ }
131
+
132
+ &:active {
133
+ color: var(--#{variables.$prefix}color-dark-primary);
134
+ }
135
+ }
136
+
137
+ @include mixins.e(icon) {
138
+ flex-shrink: 0;
139
+ margin-left: 4px;
140
+ color: var(--#{variables.$prefix}color-icon-decorator);
141
+ }
142
+
143
+ @include mixins.e(preset) {
144
+ min-width: 120px;
145
+ padding: 4px;
146
+ margin: 0;
147
+ overflow: hidden auto;
148
+ list-style: none;
149
+ border-right: 1px solid var(--#{variables.$prefix}color-divider);
150
+ }
151
+
152
+ @include mixins.e(preset-option) {
153
+ padding: 0 6px;
154
+ margin: 0;
155
+ line-height: 28px;
156
+ list-style: none;
157
+ cursor: pointer;
158
+ transition: background-color var(--#{variables.$prefix}animation-duration-base) linear;
159
+
160
+ &:hover {
161
+ background-color: var(--#{variables.$prefix}background-color-hover);
162
+ }
163
+ }
164
+
165
+ @include mixins.e(panel-wrapper) {
166
+ white-space: nowrap;
167
+ }
168
+
169
+ @include mixins.e(panel) {
170
+ display: inline-block;
171
+ vertical-align: top;
172
+
173
+ & + .#{variables.$prefix}time-picker__panel {
174
+ border-left: 1px solid var(--#{variables.$prefix}color-divider);
175
+ }
176
+ }
177
+
178
+ @include mixins.e(header) {
179
+ display: flex;
180
+ align-items: center;
181
+ height: 41px;
182
+ padding: 0 8px;
183
+ border-bottom: 1px solid var(--#{variables.$prefix}color-divider);
184
+ }
185
+
186
+ @include mixins.e(header-button) {
187
+ display: inline-flex;
188
+ align-items: center;
189
+ justify-content: center;
190
+ width: 24px;
191
+ height: 100%;
192
+ padding: 0;
193
+ margin: 0;
194
+ font: inherit;
195
+ color: var(--#{variables.$prefix}color-icon-decorator);
196
+ white-space: nowrap;
197
+ vertical-align: top;
198
+ appearance: none;
199
+ cursor: pointer;
200
+ background-color: transparent;
201
+ border: none;
202
+ outline: none;
203
+ transition: color var(--#{variables.$prefix}animation-duration-base) linear;
204
+
205
+ &:hover,
206
+ &:focus {
207
+ color: var(--#{variables.$prefix}color-light-primary);
208
+ }
209
+
210
+ &:active {
211
+ color: var(--#{variables.$prefix}color-dark-primary);
212
+ }
213
+ }
214
+
215
+ @include mixins.e(header-date) {
216
+ margin: 0 auto;
217
+ }
218
+
219
+ @include mixins.e(table) {
220
+ width: calc(7 * 36px);
221
+ margin: 4px;
222
+ table-layout: fixed;
223
+ border-collapse: collapse;
224
+
225
+ tr {
226
+ height: 32px;
227
+ }
228
+ }
229
+
230
+ @include mixins.e(cell) {
231
+ position: relative;
232
+ display: inline-flex;
233
+ align-items: center;
234
+ justify-content: center;
235
+ width: 36px;
236
+ height: 26px;
237
+ cursor: pointer;
238
+
239
+ &:not(.is-active):not(.is-hover):not(.is-between):not(.is-between-hover):hover {
240
+ background-color: var(--#{variables.$prefix}background-color-hover);
241
+ }
242
+
243
+ @include mixins.when(active) {
244
+ color: map.get(variables.$colors, 'white');
245
+ background-color: var(--#{variables.$prefix}color-primary);
246
+ }
247
+
248
+ @include mixins.when(hover) {
249
+ color: map.get(variables.$colors, 'white');
250
+ background-color: var(--#{variables.$prefix}color-light-primary);
251
+ }
252
+
253
+ @include mixins.when(between) {
254
+ background-color: var(--#{variables.$prefix}background-color-primary);
255
+ }
256
+
257
+ @include mixins.when(between-hover) {
258
+ &::before {
259
+ position: absolute;
260
+ top: 0;
261
+ right: 0;
262
+ bottom: 0;
263
+ left: 0;
264
+ content: '';
265
+ background-color: var(--#{variables.$prefix}background-color-primary);
266
+ }
267
+ }
268
+
269
+ @include mixins.when(disabled) {
270
+ color: var(--#{variables.$prefix}color-disabled);
271
+ pointer-events: none;
272
+ background-color: var(--#{variables.$prefix}background-color-disabled);
273
+ }
274
+
275
+ @include mixins.m(out-month) {
276
+ color: var(--#{variables.$prefix}color-disabled);
277
+ }
278
+
279
+ @include mixins.m(today) {
280
+ &::after {
281
+ position: absolute;
282
+ top: 2px;
283
+ right: 2px;
284
+ bottom: 2px;
285
+ left: 2px;
286
+ content: '';
287
+ border: 1px solid var(--#{variables.$prefix}color-primary);
288
+ }
289
+ }
290
+ }
291
+
292
+ @include mixins.e(footer) {
293
+ display: flex;
294
+ align-items: center;
295
+ justify-content: center;
296
+ min-height: 41px;
297
+ border-top: 1px solid var(--#{variables.$prefix}color-divider);
298
+ }
299
+ }
300
+
301
+ @include mixins.b(date-picker-popup) {
302
+ position: fixed;
303
+ display: flex;
304
+ flex-wrap: nowrap;
305
+ align-items: stretch;
306
+ overflow: auto;
307
+ background-color: var(--#{variables.$prefix}background-color);
308
+ border-radius: var(--#{variables.$prefix}border-radius);
309
+ box-shadow: var(--#{variables.$prefix}box-shadow-popup);
310
+ }
@@ -0,0 +1,113 @@
1
+ @use '../variables';
2
+ @use '../mixins';
3
+
4
+ @include mixins.b(drawer) {
5
+ position: fixed;
6
+ top: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ left: 0;
10
+ overflow: hidden;
11
+ outline: none;
12
+ transition: transform var(--#{variables.$prefix}animation-duration-base) linear;
13
+
14
+ @include mixins.m(top) {
15
+ @include mixins.e(content) {
16
+ top: 0;
17
+ left: 0;
18
+ width: 100%;
19
+ border-radius: 0 0 var(--#{variables.$prefix}border-radius) var(--#{variables.$prefix}border-radius);
20
+ }
21
+ }
22
+
23
+ @include mixins.m(bottom) {
24
+ @include mixins.e(content) {
25
+ bottom: 0;
26
+ left: 0;
27
+ width: 100%;
28
+ border-radius: var(--#{variables.$prefix}border-radius) var(--#{variables.$prefix}border-radius) 0 0;
29
+ }
30
+ }
31
+
32
+ @include mixins.m(left) {
33
+ @include mixins.e(content) {
34
+ top: 0;
35
+ left: 0;
36
+ height: 100%;
37
+ border-radius: 0 var(--#{variables.$prefix}border-radius) var(--#{variables.$prefix}border-radius) 0;
38
+ }
39
+ }
40
+
41
+ @include mixins.m(right) {
42
+ @include mixins.e(content) {
43
+ top: 0;
44
+ right: 0;
45
+ height: 100%;
46
+ border-radius: var(--#{variables.$prefix}border-radius) 0 0 var(--#{variables.$prefix}border-radius);
47
+ }
48
+ }
49
+
50
+ @include mixins.e(content) {
51
+ position: absolute;
52
+ z-index: 1;
53
+ display: flex;
54
+ flex-direction: column;
55
+ max-width: 100%;
56
+ max-height: 100%;
57
+ background-color: var(--#{variables.$prefix}background-color);
58
+ box-shadow: 0 8px 40px 0 var(--#{variables.$prefix}box-shadow-color);
59
+ }
60
+
61
+ @include mixins.e(body) {
62
+ position: relative;
63
+ flex: 1 0 0;
64
+ padding: 20px;
65
+ overflow: hidden auto;
66
+ }
67
+
68
+ @include mixins.e(header) {
69
+ position: relative;
70
+ display: flex;
71
+ align-items: center;
72
+ padding: 12px 20px;
73
+ border-bottom: 1px solid var(--#{variables.$prefix}color-divider);
74
+ }
75
+
76
+ @include mixins.e(header-title) {
77
+ @include mixins.utils-ellipsis;
78
+
79
+ flex: 1 0 0;
80
+ font-size: var(--#{variables.$prefix}font-size-header);
81
+ font-weight: var(--#{variables.$prefix}font-weight-bold);
82
+ }
83
+
84
+ @include mixins.e(header-actions) {
85
+ @include mixins.polyfill-column-gap(8px);
86
+
87
+ display: inline-flex;
88
+ flex-shrink: 0;
89
+ align-items: center;
90
+ }
91
+
92
+ @include mixins.e(footer) {
93
+ @include mixins.polyfill-column-gap(8px);
94
+
95
+ position: relative;
96
+ display: flex;
97
+ align-items: center;
98
+ padding: 12px 16px;
99
+ border-top: 1px solid var(--#{variables.$prefix}color-divider);
100
+
101
+ @include mixins.m(left) {
102
+ justify-content: flex-start;
103
+ }
104
+
105
+ @include mixins.m(right) {
106
+ justify-content: flex-end;
107
+ }
108
+
109
+ @include mixins.m(center) {
110
+ justify-content: center;
111
+ }
112
+ }
113
+ }
@@ -0,0 +1,156 @@
1
+ @use '../variables';
2
+ @use '../mixins';
3
+
4
+ $dropdown-item-height: 32px;
5
+
6
+ @include mixins.b(dropdown) {
7
+ @include mixins.m(top) {
8
+ @include mixins.e(arrow) {
9
+ bottom: 0;
10
+ left: 50%;
11
+ transform: translate(-50%, 50%) rotate(45deg);
12
+ }
13
+ }
14
+
15
+ @include mixins.m(top-left) {
16
+ @include mixins.e(arrow) {
17
+ bottom: 0;
18
+ left: 20px;
19
+ transform: translate(0, 50%) rotate(45deg);
20
+ }
21
+ }
22
+
23
+ @include mixins.m(top-right) {
24
+ @include mixins.e(arrow) {
25
+ right: 20px;
26
+ bottom: 0;
27
+ transform: translate(0, 50%) rotate(45deg);
28
+ }
29
+ }
30
+
31
+ @include mixins.m(bottom) {
32
+ @include mixins.e(arrow) {
33
+ top: 0;
34
+ left: 50%;
35
+ transform: translate(-50%, -50%) rotate(45deg);
36
+ }
37
+ }
38
+
39
+ @include mixins.m(bottom-left) {
40
+ @include mixins.e(arrow) {
41
+ top: 0;
42
+ left: 20px;
43
+ transform: translate(0, -50%) rotate(45deg);
44
+ }
45
+ }
46
+
47
+ @include mixins.m(bottom-right) {
48
+ @include mixins.e(arrow) {
49
+ top: 0;
50
+ right: 20px;
51
+ transform: translate(0, -50%) rotate(45deg);
52
+ }
53
+ }
54
+
55
+ @include mixins.e(item) {
56
+ position: relative;
57
+ display: flex;
58
+ align-items: center;
59
+ min-height: $dropdown-item-height;
60
+ margin: 0;
61
+ list-style: none;
62
+ cursor: pointer;
63
+ transition: background-color var(--#{variables.$prefix}animation-duration-base) linear;
64
+
65
+ &:hover {
66
+ background-color: var(--#{variables.$prefix}background-color-hover);
67
+ }
68
+
69
+ @include mixins.when(disabled) {
70
+ color: var(--#{variables.$prefix}color-disabled);
71
+ pointer-events: none;
72
+ }
73
+
74
+ @include mixins.m(item) {
75
+ padding: 0 12px;
76
+ }
77
+
78
+ @include mixins.m(sub) {
79
+ padding: 0 24px 0 12px;
80
+
81
+ @include mixins.when(expand) {
82
+ background-color: var(--#{variables.$prefix}background-color-hover);
83
+ }
84
+ }
85
+ }
86
+
87
+ @include mixins.e(item-icon) {
88
+ flex-shrink: 0;
89
+ width: calc(1em + 8px);
90
+ font-size: 1.25em;
91
+ }
92
+
93
+ @include mixins.e(item-content) {
94
+ @include mixins.utils-ellipsis;
95
+ }
96
+
97
+ @include mixins.e(group-title) {
98
+ @include mixins.utils-ellipsis;
99
+
100
+ position: relative;
101
+ display: flex;
102
+ align-items: center;
103
+ min-height: $dropdown-item-height;
104
+ padding: 0 12px;
105
+ margin: 0;
106
+ font-size: var(--#{variables.$prefix}font-size-subtitle);
107
+ color: var(--#{variables.$prefix}color-text-sub);
108
+ }
109
+
110
+ @include mixins.e(group-list) {
111
+ padding: 0;
112
+ margin: 0;
113
+ list-style: none;
114
+ }
115
+
116
+ @include mixins.e(sub-arrow) {
117
+ position: absolute;
118
+ right: 4px;
119
+ display: inline-flex;
120
+ align-items: center;
121
+ height: 100%;
122
+ }
123
+
124
+ @include mixins.e(list) {
125
+ position: relative;
126
+ min-width: 120px;
127
+ max-height: calc(8px + #{$dropdown-item-height} * 6);
128
+ padding: 4px 0;
129
+ margin: 0;
130
+ overflow: hidden auto;
131
+ list-style: none;
132
+ }
133
+
134
+ @include mixins.e(empty) {
135
+ display: flex;
136
+ align-items: center;
137
+ height: $dropdown-item-height;
138
+ padding: 0 12px;
139
+ color: var(--#{variables.$prefix}color-disabled);
140
+ }
141
+
142
+ @include mixins.e(arrow) {
143
+ position: absolute;
144
+ width: 6px;
145
+ height: 6px;
146
+ pointer-events: none;
147
+ background-color: inherit;
148
+ }
149
+ }
150
+
151
+ @include mixins.b(dropdown-popup) {
152
+ position: fixed;
153
+ background-color: var(--#{variables.$prefix}background-color);
154
+ border-radius: var(--#{variables.$prefix}border-radius);
155
+ box-shadow: var(--#{variables.$prefix}box-shadow-popup);
156
+ }