@eaera-com/eaera-widgets-v2 0.1.63 → 0.1.64

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 (97) hide show
  1. package/dist/design-system/components/_alert.scss +150 -0
  2. package/dist/design-system/components/_auto-complete.scss +165 -0
  3. package/dist/design-system/components/_avatar-group.scss +25 -0
  4. package/dist/design-system/components/_avatar.scss +40 -0
  5. package/dist/design-system/components/_badge.scss +80 -0
  6. package/dist/design-system/components/_breadcrumb.scss +91 -0
  7. package/dist/design-system/components/_button.scss +378 -0
  8. package/dist/design-system/components/_card.scss +27 -0
  9. package/dist/design-system/components/_carousel.scss +104 -0
  10. package/dist/design-system/components/_cascader.scss +705 -0
  11. package/dist/design-system/components/_checkbox-list.scss +18 -0
  12. package/dist/design-system/components/_checkbox.scss +117 -0
  13. package/dist/design-system/components/_collapse.scss +84 -0
  14. package/dist/design-system/components/_color-picker.scss +195 -0
  15. package/dist/design-system/components/_country-flag.scss +56 -0
  16. package/dist/design-system/components/_currency-icon.scss +19 -0
  17. package/dist/design-system/components/_date-picker.scss +748 -0
  18. package/dist/design-system/components/_dialog.scss +101 -0
  19. package/dist/design-system/components/_divider.scss +7 -0
  20. package/dist/design-system/components/_drawer.scss +41 -0
  21. package/dist/design-system/components/_dropdown.scss +69 -0
  22. package/dist/design-system/components/_empty.scss +101 -0
  23. package/dist/design-system/components/_form.scss +151 -0
  24. package/dist/design-system/components/_growth-balance-profit-widget.scss +95 -0
  25. package/dist/design-system/components/_input-code.scss +116 -0
  26. package/dist/design-system/components/_input-number.scss +233 -0
  27. package/dist/design-system/components/_input-tag.scss +212 -0
  28. package/dist/design-system/components/_input.scss +239 -0
  29. package/dist/design-system/components/_link.scss +64 -0
  30. package/dist/design-system/components/_loading.scss +89 -0
  31. package/dist/design-system/components/_menu.scss +578 -0
  32. package/dist/design-system/components/_message-box.scss +78 -0
  33. package/dist/design-system/components/_message.scss +187 -0
  34. package/dist/design-system/components/_monthly-gain-widget.scss +114 -0
  35. package/dist/design-system/components/_pagination.scss +356 -0
  36. package/dist/design-system/components/_pl-calendar-widget.scss +171 -0
  37. package/dist/design-system/components/_popconfirm.scss +57 -0
  38. package/dist/design-system/components/_popper.scss +267 -0
  39. package/dist/design-system/components/_progress.scss +153 -0
  40. package/dist/design-system/components/_radio.scss +68 -0
  41. package/dist/design-system/components/_segmented.scss +215 -0
  42. package/dist/design-system/components/_select-country.scss +182 -0
  43. package/dist/design-system/components/_select.scss +235 -0
  44. package/dist/design-system/components/_skeleton.scss +146 -0
  45. package/dist/design-system/components/_slider.scss +142 -0
  46. package/dist/design-system/components/_spinner.scss +73 -0
  47. package/dist/design-system/components/_steps.scss +292 -0
  48. package/dist/design-system/components/_switch.scss +89 -0
  49. package/dist/design-system/components/_switcher.scss +110 -0
  50. package/dist/design-system/components/_table.scss +580 -0
  51. package/dist/design-system/components/_tabs.scss +260 -0
  52. package/dist/design-system/components/_tag.scss +208 -0
  53. package/dist/design-system/components/_time-picker.scss +255 -0
  54. package/dist/design-system/components/_time-select.scss +167 -0
  55. package/dist/design-system/components/_timeline.scss +99 -0
  56. package/dist/design-system/components/_tooltip.scss +19 -0
  57. package/dist/design-system/components/_topbar-menu.scss +67 -0
  58. package/dist/design-system/components/_trade-volume-widget.scss +114 -0
  59. package/dist/design-system/components/_transfer.scss +241 -0
  60. package/dist/design-system/components/_tree-select.scss +198 -0
  61. package/dist/design-system/components/_tree.scss +108 -0
  62. package/dist/design-system/components/_upload.scss +226 -0
  63. package/dist/design-system/themes/aurora/bridges/_element-plus-bridge.scss +58 -0
  64. package/dist/design-system/themes/aurora/elevation/_elevation-tokens.scss +67 -0
  65. package/dist/design-system/themes/aurora/elevation/_elevation-utils.scss +94 -0
  66. package/dist/design-system/themes/aurora/index.scss +133 -0
  67. package/dist/design-system/themes/aurora/layers/_layer1-palettes.scss +289 -0
  68. package/dist/design-system/themes/aurora/layers/_layer2-alias.scss +250 -0
  69. package/dist/design-system/themes/aurora/layers/_layer3-tokens.scss +242 -0
  70. package/dist/design-system/themes/aurora/themes/_dark-mode.scss +177 -0
  71. package/dist/design-system/themes/aurora/themes/projects/base.scss +11 -0
  72. package/dist/design-system/themes/aurora/tokens/_border-radius.scss +28 -0
  73. package/dist/design-system/themes/aurora/tokens/_control-height.scss +18 -0
  74. package/dist/design-system/themes/aurora/tokens/_screen-size.scss +10 -0
  75. package/dist/design-system/themes/aurora/tokens/_spacing.scss +29 -0
  76. package/dist/design-system/themes/aurora/typography/_typography-primitives.scss +11 -0
  77. package/dist/design-system/themes/aurora/typography/_typography-semantic.scss +5 -0
  78. package/dist/design-system/themes/aurora/typography/_typography-tokens.scss +185 -0
  79. package/dist/design-system/themes/aurora/typography/_typography-utils.scss +375 -0
  80. package/dist/design-system/themes/core/bridges/_element-plus-bridge.scss +82 -0
  81. package/dist/design-system/themes/core/elevation/_elevation-tokens.scss +67 -0
  82. package/dist/design-system/themes/core/elevation/_elevation-utils.scss +94 -0
  83. package/dist/design-system/themes/core/index.scss +130 -0
  84. package/dist/design-system/themes/core/layers/_layer1-palettes.scss +289 -0
  85. package/dist/design-system/themes/core/layers/_layer2-alias.scss +242 -0
  86. package/dist/design-system/themes/core/layers/_layer3-tokens.scss +220 -0
  87. package/dist/design-system/themes/core/themes/_dark-mode.scss +165 -0
  88. package/dist/design-system/themes/core/themes/projects/base.scss +11 -0
  89. package/dist/design-system/themes/core/tokens/_border-radius.scss +28 -0
  90. package/dist/design-system/themes/core/tokens/_control-height.scss +18 -0
  91. package/dist/design-system/themes/core/tokens/_screen-size.scss +10 -0
  92. package/dist/design-system/themes/core/tokens/_spacing.scss +29 -0
  93. package/dist/design-system/themes/core/typography/_typography-primitives.scss +11 -0
  94. package/dist/design-system/themes/core/typography/_typography-semantic.scss +5 -0
  95. package/dist/design-system/themes/core/typography/_typography-tokens.scss +185 -0
  96. package/dist/design-system/themes/core/typography/_typography-utils.scss +375 -0
  97. package/package.json +4 -3
@@ -0,0 +1,215 @@
1
+ @use '../themes/aurora/elevation/elevation-utils' as elevation;
2
+ @use '../themes/aurora/typography/typography-utils' as typo;
3
+
4
+ // ─────────────────────────────────────────────────────────────────────────
5
+ // MIXINS
6
+ // ─────────────────────────────────────────────────────────────────────────
7
+
8
+ // Box style: kích thước container + item
9
+ @mixin box-size($h, $pad, $r-container, $r-item) {
10
+ height: $h;
11
+ padding: $pad;
12
+ border-radius: $r-container;
13
+
14
+ .el-segmented__item-selected {
15
+ border-radius: $r-item;
16
+ }
17
+
18
+ .el-segmented__item {
19
+ border-radius: $r-item;
20
+ }
21
+ }
22
+
23
+ // Pill style: kích thước item
24
+ @mixin pill-item-size($h, $px, $min-w) {
25
+ .el-segmented__item {
26
+ height: $h;
27
+ padding: 0 $px;
28
+ min-width: $min-w;
29
+ }
30
+ }
31
+
32
+ // ─────────────────────────────────────────────────────────────────────────
33
+ // SEGMENTED
34
+ // ─────────────────────────────────────────────────────────────────────────
35
+
36
+ .custom-segmented.el-segmented {
37
+ background: var(--er-surface-track);
38
+ overflow: hidden;
39
+
40
+ .el-segmented__group {
41
+ gap: var(--er-shape-spacing-100);
42
+ }
43
+
44
+ // Equal-width items only apply to the box variant — pill items must hug
45
+ // their content so short labels ("All") and long ones ("Credit/Debit Card")
46
+ // keep their natural width instead of stretching to the widest sibling.
47
+ &:not(.pill) .el-segmented__group > * {
48
+ flex: 1 1 0 !important;
49
+ }
50
+
51
+ .el-segmented__item-selected {
52
+ background: var(--er-action-neutral-subtle-default);
53
+ @include elevation.elevation-level-1;
54
+ }
55
+
56
+ .el-segmented__item-label {
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ gap: var(--er-shape-spacing-50); // 4px — space between prefix, text, badge, suffix
61
+ overflow: visible; // allow badge to render outside hidden bounds
62
+ white-space: normal; // reset EP default; text truncation is on .segmented-item__text
63
+ }
64
+
65
+ .segmented-item__prefix,
66
+ .segmented-item__suffix {
67
+ flex-shrink: 0;
68
+ display: inline-flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ }
72
+
73
+ .segmented-item__text {
74
+ overflow: hidden;
75
+ text-overflow: ellipsis;
76
+ white-space: nowrap;
77
+ min-width: 0;
78
+ @include typo.label-lg;
79
+ }
80
+
81
+ .segmented-item__badge {
82
+ flex-shrink: 0;
83
+ display: inline-flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ min-width: var(--er-control-height-xxs); // 16px
87
+ height: var(--er-control-height-xxs); // 16px
88
+ padding: 0 var(--er-shape-spacing-50); // 0 4px
89
+ }
90
+
91
+ .el-segmented__item {
92
+ position: relative;
93
+ flex: none; // items size to content — no equal-width stretching
94
+
95
+ &.is-selected {
96
+ color: var(--er-text-primary);
97
+ }
98
+ &:not(.is-selected) {
99
+ color: var(--er-text-secondary);
100
+ }
101
+
102
+ &:not(.is-disabled):not(.is-selected) {
103
+ &:hover,
104
+ &:active {
105
+ background: transparent;
106
+ }
107
+ &:hover {
108
+ background: var(--er-action-neutral-subtle-hover);
109
+ color: var(--er-text-primary);
110
+ }
111
+ }
112
+ }
113
+
114
+ // Box sizes
115
+ &.xl {
116
+ @include box-size(
117
+ var(--er-control-height-xl),
118
+ var(--er-shape-spacing-50),
119
+ var(--er-shape-corner-200),
120
+ var(--er-shape-corner-150)
121
+ );
122
+ }
123
+
124
+ &.lg {
125
+ @include box-size(
126
+ var(--er-control-height-lg),
127
+ var(--er-shape-spacing-50),
128
+ var(--er-shape-corner-150),
129
+ var(--er-shape-corner-100)
130
+ );
131
+ }
132
+
133
+ &.md {
134
+ $r-item: calc(var(--er-shape-corner-100) - 2px);
135
+ @include box-size(var(--er-control-height-md), 2px, var(--er-shape-corner-100), #{$r-item});
136
+ }
137
+
138
+ &.xl .el-segmented__item {
139
+ padding: 0 var(--er-shape-spacing-150);
140
+ }
141
+ &.lg .el-segmented__item {
142
+ padding: 0 var(--er-shape-spacing-100);
143
+ }
144
+ &.md .el-segmented__item {
145
+ padding: 0 var(--er-shape-spacing-100);
146
+ }
147
+
148
+ .el-badge.segment-badge {
149
+ position: static;
150
+
151
+ .el-badge__content {
152
+ display: block;
153
+ position: static;
154
+ transform: none;
155
+ }
156
+ }
157
+
158
+ // ─────────────────────────────────────────────────────────────────────
159
+ // PILL STYLE
160
+ // ─────────────────────────────────────────────────────────────────────
161
+
162
+ &.pill {
163
+ background: transparent;
164
+ padding: 0;
165
+
166
+ .el-segmented__group {
167
+ gap: var(--er-shape-spacing-50);
168
+ }
169
+
170
+ .el-segmented__item-selected {
171
+ background: var(--er-action-primary-default);
172
+ border-radius: var(--er-shape-corner-full);
173
+ box-shadow: none;
174
+ }
175
+
176
+ .el-segmented__item-selected {
177
+ transition: none !important;
178
+ display: none !important
179
+ }
180
+
181
+ .el-segmented__item {
182
+ border-radius: var(--er-shape-corner-full);
183
+ overflow: hidden;
184
+
185
+ &:not(.is-selected) {
186
+ background: var(--er-action-neutral-subtle-default);
187
+ border: 1px solid var(--er-border-default);
188
+
189
+ &:hover {
190
+ background: var(--er-action-neutral-subtle-hover);
191
+ }
192
+
193
+ & + .el-segmented__item::before {
194
+ display: none;
195
+ }
196
+ }
197
+
198
+ &.is-selected {
199
+ color: var(--er-text-on-action);
200
+ background: var(--er-action-primary-default);
201
+ }
202
+ }
203
+
204
+ // Pill sizes
205
+ &.xl {
206
+ @include pill-item-size(var(--er-control-height-xl), var(--er-shape-spacing-200), 64px);
207
+ }
208
+ &.lg {
209
+ @include pill-item-size(var(--er-control-height-lg), var(--er-shape-spacing-150), 56px);
210
+ }
211
+ &.md {
212
+ @include pill-item-size(var(--er-control-height-md), var(--er-shape-spacing-100), 48px);
213
+ }
214
+ }
215
+ }
@@ -0,0 +1,182 @@
1
+ @use "sass:map";
2
+ @use "../themes/aurora/typography/typography-utils" as typo;
3
+
4
+ @mixin select-sizes($sizes) {
5
+ @each $size, $value in $sizes {
6
+ &.#{$size} {
7
+ --select-height: #{map.get($value, height)};
8
+ --flag-scale: #{map.get($value, flag)};
9
+ }
10
+ }
11
+ }
12
+
13
+ $base-sizes: (
14
+ xs: (
15
+ height: var(--er-control-height-xs),
16
+ flag: 0.55
17
+ ),
18
+ sm: (
19
+ height: var(--er-control-height-sm),
20
+ flag: 0.6
21
+ ),
22
+ md: (
23
+ height: var(--er-control-height-md),
24
+ flag: 0.65
25
+ ),
26
+ lg: (
27
+ height: var(--er-control-height-lg),
28
+ flag: 0.7
29
+ )
30
+ ) !default;
31
+
32
+ .custom-select-country.el-select-v2, // deprecated
33
+ .custom-select-country.el-select {
34
+ @include select-sizes($base-sizes);
35
+ --border-width: 1px;
36
+
37
+ border: none !important;
38
+ box-shadow: none !important;
39
+ width: 100%;
40
+ padding: 0 !important;
41
+
42
+ .el-select__placeholder {
43
+ position: absolute !important;
44
+ transform: translateY(-50%) !important;
45
+ }
46
+
47
+ .el-select-v2__wrapper, // deprecated
48
+ .el-select__wrapper,
49
+ .el-input__wrapper {
50
+ box-shadow: none !important;
51
+ @include typo.body-md;
52
+ padding: 0;
53
+ padding-right: var(--er-shape-spacing-50);
54
+ height: var(--select-height) !important;
55
+ border: var(--border-width) solid var(--er-border-default);
56
+ border-radius: var(--er-shape-corner-100);
57
+ display: flex;
58
+ flex-wrap: nowrap;
59
+ align-items: center;
60
+ line-height: calc(var(--select-height) - var(--border-width) * 2);
61
+ gap: 0px;
62
+
63
+ &.is-hovering {
64
+ border-color: var(--er-action-primary-hover) !important;
65
+ }
66
+
67
+ &.is-focused {
68
+ border-color: var(--er-action-primary-default) !important;
69
+ }
70
+
71
+ &.is-disabled {
72
+ border-color: var(--er-border-default) !important;
73
+ opacity: 0.5;
74
+ }
75
+
76
+ .custom-select-country__prefix {
77
+ min-width: var(--er-shape-spacing-150);
78
+ width: initial;
79
+ height: calc(var(--select-height) - var(--border-width) * 2);
80
+ overflow: hidden;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+
85
+ // EaeraCountryFlag (SVG-based, replaced vue-country-flag-next emoji flags)
86
+ .eaera-country-flag {
87
+ margin: 0;
88
+ transform: scale(var(--flag-scale));
89
+ transform-origin: center center;
90
+ }
91
+ }
92
+
93
+ .el-select-v2__placeholder,
94
+ .el-input__placeholder {
95
+ @include typo.body-md;
96
+ height: calc(var(--select-height) - var(--border-width) * 2);
97
+ color: var(--er-text-muted);
98
+ top: 0;
99
+ transform: none;
100
+ line-height: calc(var(--select-height) - var(--border-width) * 2);
101
+ }
102
+ }
103
+
104
+ .prefix-country-placeholder {
105
+ height: 1rem;
106
+ width: 1rem;
107
+ border-radius: 100%;
108
+ display: none;
109
+ }
110
+ }
111
+
112
+ .custom-select-country__popper {
113
+ &.el-popper {
114
+ min-width: unset !important;
115
+ border-radius: var(--er-shape-spacing-150);
116
+ }
117
+
118
+ .el-select-dropdown {
119
+ width: 100% !important;
120
+ min-width: unset !important;
121
+ }
122
+
123
+ .el-select-dropdown__list {
124
+ min-width: unset !important;
125
+ min-width: 300px !important;
126
+ padding: var(--er-shape-spacing-50) 0;
127
+ }
128
+
129
+ .custom-select-country__default {
130
+ display: flex;
131
+ align-items: center;
132
+ gap: var(--er-shape-spacing-100);
133
+ height: 100%;
134
+ padding: 0 var(--er-shape-spacing-150);
135
+
136
+ .eaera-country-flag {
137
+ margin: 0;
138
+ flex-shrink: 0;
139
+ }
140
+
141
+ span:not(.eaera-country-flag) {
142
+ text-overflow: ellipsis;
143
+ white-space: nowrap;
144
+ overflow: hidden;
145
+ }
146
+ }
147
+
148
+ .el-select-dropdown__item {
149
+ padding: 0 !important;
150
+ &.is-selected::after {
151
+ display: none;
152
+ }
153
+ }
154
+ }
155
+
156
+ .el-form-item {
157
+ &.is-error {
158
+ .custom-select-country.el-select .el-select__wrapper {
159
+ border-color: var(--er-border-danger) !important;
160
+ }
161
+ }
162
+ }
163
+
164
+ .custom-input-phone {
165
+ display: flex;
166
+ flex-direction: row;
167
+ align-items: stretch;
168
+ width: 100%;
169
+ gap: var(--er-shape-spacing-100);
170
+
171
+ .custom-select-country {
172
+ flex: 1;
173
+ }
174
+
175
+ .custom-input.el-input {
176
+ flex: 2.5;
177
+ }
178
+
179
+ @media (max-width: 479px) {
180
+ flex-direction: column;
181
+ }
182
+ }
@@ -0,0 +1,235 @@
1
+ @use "../themes/aurora/typography/typography-utils" as typo;
2
+ @use "../themes/aurora/elevation/elevation-utils" as elevation;
3
+
4
+ .custom-select.el-select {
5
+ .el-select__wrapper {
6
+ min-height: var(--er-control-height-md);
7
+ border-radius: var(--er-shape-corner-100);
8
+ gap: var(--er-shape-spacing-50);
9
+ background-color: var(--er-surface-container);
10
+ box-shadow: none !important;
11
+ border: 1px solid var(--er-border-default);
12
+ padding: 0 var(--er-shape-spacing-100);
13
+
14
+ &.is-hovering:not(.is-focused):not(.is-disabled) {
15
+ border-color: var(--er-action-primary-hover);
16
+ }
17
+
18
+ &.is-focused {
19
+ border-color: var(--er-action-primary-default);
20
+ }
21
+
22
+ &.is-disabled {
23
+ opacity: 0.5;
24
+ }
25
+
26
+ .el-select__selection.is-near {
27
+ margin-left: 0px;
28
+ }
29
+
30
+ &:not(.is-filterable.is-focused) {
31
+ .el-select__placeholder {
32
+ position: static;
33
+ transform: unset;
34
+ }
35
+ }
36
+ }
37
+
38
+ .el-select__placeholder {
39
+ @include typo.body-md;
40
+ color: var(--er-text-muted);
41
+ }
42
+
43
+ .el-select__selected-item {
44
+ @include typo.body-md;
45
+ color: var(--er-text-primary);
46
+
47
+ &.el-select__placeholder {
48
+ &.is-transparent {
49
+ color: var(--er-text-muted);
50
+ }
51
+ }
52
+ }
53
+
54
+ .el-select__caret {
55
+ color: var(--er-icon-secondary);
56
+ font-size: var(--typo-body-md-sz);
57
+ }
58
+
59
+ .el-select__suffix i {
60
+ width: var(--er-control-height-xxs);
61
+ height: var(--er-control-height-xxs);
62
+ }
63
+
64
+ .el-icon {
65
+ width: var(--er-control-height-xxs);
66
+ height: var(--er-control-height-xxs);
67
+
68
+ &.el-select__clear {
69
+ width: 12px;
70
+ height: 12px;
71
+ }
72
+
73
+ svg {
74
+ width: 100%;
75
+ height: 100%;
76
+ }
77
+ }
78
+
79
+ &.sm {
80
+ .el-select__selection,
81
+ .el-select__selected-item {
82
+ .el-tag {
83
+ @include typo.body-sm;
84
+ height: var(--er-shape-spacing-250);
85
+ line-height: var(--er-shape-spacing-250);
86
+ }
87
+ }
88
+
89
+ .el-select__placeholder,
90
+ .el-select__selected-item {
91
+ @include typo.body-sm; // Figma: typo/body-sm (12px)
92
+ }
93
+
94
+ .el-select__wrapper {
95
+ min-height: var(--er-control-height-sm);
96
+ border-radius: var(--er-shape-corner-75);
97
+ gap: var(--er-shape-spacing-50);
98
+ padding: 0 var(--er-shape-spacing-75);
99
+ }
100
+
101
+ .el-icon {
102
+ width: 12px;
103
+ height: 12px;
104
+
105
+ &.el-select__clear {
106
+ width: 12px !important;
107
+ height: 12px !important;
108
+ }
109
+ }
110
+
111
+ .el-select__prefix {
112
+ width: 12px;
113
+ height: 12px;
114
+
115
+ svg {
116
+ width: 100%;
117
+ height: 100%;
118
+ }
119
+ }
120
+ }
121
+
122
+ &.md {
123
+ .el-select__prefix{
124
+ width: var(--er-control-height-xxs);
125
+ height: var(--er-control-height-xxs);
126
+
127
+ svg {
128
+ width: 100%;
129
+ height: 100%;
130
+ }
131
+ }
132
+ }
133
+
134
+ &.lg {
135
+ .el-select__wrapper {
136
+ min-height: var(--er-control-height-lg);
137
+ border-radius: var(--er-shape-corner-150);
138
+ gap: var(--er-shape-spacing-75);
139
+ padding: 0 var(--er-shape-spacing-150);
140
+ }
141
+
142
+ .el-select__prefix {
143
+ width: var(--er-control-height-xxs);
144
+ height: var(--er-control-height-xxs);
145
+
146
+ svg {
147
+ width: 100%;
148
+ height: 100%;
149
+ }
150
+ }
151
+ }
152
+
153
+ &.xl {
154
+ .el-select__wrapper {
155
+ min-height: var(--er-control-height-xl);
156
+ border-radius: var(--er-shape-corner-150);
157
+ gap: var(--er-shape-spacing-100);
158
+ padding: 0 var(--er-shape-spacing-200);
159
+
160
+ .el-select__selected-item {
161
+ @include typo.body-lg;
162
+ }
163
+ }
164
+
165
+ .el-select__suffix i {
166
+ width: var(--er-control-height-xs);
167
+ height: var(--er-control-height-xs);
168
+ }
169
+
170
+ .el-select__prefix {
171
+ width: var(--er-control-height-xs);
172
+ height: var(--er-control-height-xs);
173
+
174
+ svg {
175
+ width: 100%;
176
+ height: 100%;
177
+ }
178
+ }
179
+ }
180
+
181
+ &.is-danger .el-select__wrapper,
182
+ &.danger .el-select__wrapper {
183
+ border-color: var(--er-border-danger); // #EF4444
184
+
185
+ &:hover:not(.is-focused) {
186
+ border-color: var(--er-border-danger) !important;
187
+ }
188
+
189
+ &.is-focused {
190
+ border-color: var(--er-action-primary-default) !important;
191
+ }
192
+
193
+ .el-tag__close:hover {
194
+ background-color: var(--er-surface-hover);
195
+ color: var(--er-icon-secondary);
196
+ }
197
+ }
198
+
199
+ &.option-type-tag {
200
+ .el-select__selected-item {
201
+ display: flex;
202
+ align-items: center;
203
+
204
+ .custom-tag {
205
+ pointer-events: none;
206
+ }
207
+ }
208
+ }
209
+
210
+ .el-tag:not(.custom-tag) {
211
+ gap: var(--er-shape-spacing-50);
212
+ border-radius: var(--er-shape-corner-50);
213
+ background-color: var(--er-surface-muted);
214
+ border: none;
215
+ display: flex;
216
+ align-items: center;
217
+ flex-shrink: 0;
218
+
219
+ .el-tag__content {
220
+ @include typo.label-md;
221
+ color: var(--er-text-secondary);
222
+ }
223
+
224
+ .el-tag__close {
225
+ color: var(--er-icon-secondary);
226
+ margin-left: var(--er-shape-spacing-50);
227
+ flex-shrink: 0;
228
+
229
+ &:hover {
230
+ background-color: var(--er-surface-hover);
231
+ color: var(--er-icon-primary);
232
+ }
233
+ }
234
+ }
235
+ }