lumen-plus 0.0.3 → 0.0.5

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 (73) hide show
  1. package/dist/index.js +2 -0
  2. package/dist/theme-chalk/_index.scss +69 -0
  3. package/dist/theme-chalk/_reset.scss +16 -0
  4. package/dist/theme-chalk/_variables.scss +91 -0
  5. package/dist/theme-chalk/affix.scss +8 -0
  6. package/dist/theme-chalk/alert.scss +140 -0
  7. package/dist/theme-chalk/autocomplete.scss +238 -0
  8. package/dist/theme-chalk/avatar.scss +49 -0
  9. package/dist/theme-chalk/backtop.scss +55 -0
  10. package/dist/theme-chalk/badge.scss +47 -0
  11. package/dist/theme-chalk/breadcrumb.scss +50 -0
  12. package/dist/theme-chalk/button.scss +472 -0
  13. package/dist/theme-chalk/calendar.scss +166 -0
  14. package/dist/theme-chalk/card.scss +70 -0
  15. package/dist/theme-chalk/carousel.scss +167 -0
  16. package/dist/theme-chalk/cascader.scss +265 -0
  17. package/dist/theme-chalk/checkbox.scss +127 -0
  18. package/dist/theme-chalk/collapse.scss +100 -0
  19. package/dist/theme-chalk/color-picker.scss +247 -0
  20. package/dist/theme-chalk/container.scss +79 -0
  21. package/dist/theme-chalk/date-picker.scss +352 -0
  22. package/dist/theme-chalk/date-time-picker.scss +396 -0
  23. package/dist/theme-chalk/descriptions.scss +160 -0
  24. package/dist/theme-chalk/dialog.scss +154 -0
  25. package/dist/theme-chalk/divider.scss +61 -0
  26. package/dist/theme-chalk/drawer.scss +211 -0
  27. package/dist/theme-chalk/dropdown.scss +230 -0
  28. package/dist/theme-chalk/empty.scss +36 -0
  29. package/dist/theme-chalk/form.scss +187 -0
  30. package/dist/theme-chalk/icon.scss +16 -0
  31. package/dist/theme-chalk/image.scss +171 -0
  32. package/dist/theme-chalk/input-number.scss +229 -0
  33. package/dist/theme-chalk/input-tag.scss +119 -0
  34. package/dist/theme-chalk/input.scss +249 -0
  35. package/dist/theme-chalk/link.scss +28 -0
  36. package/dist/theme-chalk/loading.scss +68 -0
  37. package/dist/theme-chalk/menu.scss +239 -0
  38. package/dist/theme-chalk/message.scss +150 -0
  39. package/dist/theme-chalk/messagebox.scss +76 -0
  40. package/dist/theme-chalk/mixins/_bem.scss +103 -0
  41. package/dist/theme-chalk/mixins/_function.scss +12 -0
  42. package/dist/theme-chalk/notification.scss +164 -0
  43. package/dist/theme-chalk/pagination.scss +130 -0
  44. package/dist/theme-chalk/pin-input.scss +192 -0
  45. package/dist/theme-chalk/popconfirm.scss +194 -0
  46. package/dist/theme-chalk/popover.scss +196 -0
  47. package/dist/theme-chalk/progress.scss +51 -0
  48. package/dist/theme-chalk/radio.scss +128 -0
  49. package/dist/theme-chalk/rating.scss +227 -0
  50. package/dist/theme-chalk/result.scss +80 -0
  51. package/dist/theme-chalk/segmented.scss +108 -0
  52. package/dist/theme-chalk/select.scss +301 -0
  53. package/dist/theme-chalk/skeleton.scss +113 -0
  54. package/dist/theme-chalk/slider.scss +259 -0
  55. package/dist/theme-chalk/space.scss +44 -0
  56. package/dist/theme-chalk/statistic.scss +49 -0
  57. package/dist/theme-chalk/steps.scss +255 -0
  58. package/dist/theme-chalk/switch.scss +277 -0
  59. package/dist/theme-chalk/table.scss +343 -0
  60. package/dist/theme-chalk/tabs.scss +433 -0
  61. package/dist/theme-chalk/tag.scss +143 -0
  62. package/dist/theme-chalk/textarea.scss +125 -0
  63. package/dist/theme-chalk/time-picker.scss +321 -0
  64. package/dist/theme-chalk/timeline.scss +119 -0
  65. package/dist/theme-chalk/tooltip.scss +165 -0
  66. package/dist/theme-chalk/transfer.scss +219 -0
  67. package/dist/theme-chalk/tree-select.scss +384 -0
  68. package/dist/theme-chalk/tree.scss +101 -0
  69. package/dist/theme-chalk/upload.scss +457 -0
  70. package/dist/theme-chalk/watermark.scss +30 -0
  71. package/dist/utils/index.js +1 -0
  72. package/dist/utils/transitions.js +31 -0
  73. package/package.json +8 -2
@@ -0,0 +1,192 @@
1
+ @use './variables' as *;
2
+ @use './mixins/bem' as *;
3
+
4
+ @include b('pin-input') {
5
+ display: inline-flex;
6
+ gap: 8px;
7
+ align-items: center;
8
+
9
+ @include e('input') {
10
+ // Layout
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ width: 32px;
15
+ height: 32px;
16
+ padding: 0;
17
+ box-sizing: border-box;
18
+
19
+ // Typography
20
+ font-size: $font-size-base;
21
+ font-weight: 500;
22
+ text-align: center;
23
+ line-height: 1;
24
+ color: $color-text-primary;
25
+
26
+ // Visual
27
+ background-color: $bg-color;
28
+ border: 1px solid $border-color-base;
29
+ border-radius: $border-radius-medium;
30
+ outline: none;
31
+
32
+ // Transition
33
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
34
+
35
+ // Placeholder
36
+ &::placeholder {
37
+ color: $color-text-placeholder;
38
+ }
39
+
40
+ // States - Hover
41
+ &:hover:not(:disabled):not(:focus) {
42
+ border-color: $color-text-secondary;
43
+ }
44
+
45
+ // States - Focus
46
+ &:focus {
47
+ border-color: $color-primary;
48
+
49
+ &::placeholder {
50
+ color: transparent;
51
+ }
52
+ }
53
+
54
+ @include when('focused') {
55
+ border-color: $color-primary;
56
+ }
57
+
58
+ // States - Disabled
59
+ &:disabled {
60
+ background-color: #f5f7fa;
61
+ color: $color-text-disabled;
62
+ border-color: $border-color-lighter;
63
+ cursor: not-allowed;
64
+ }
65
+ }
66
+
67
+ // Modifier - Small
68
+ @include m('small') {
69
+ gap: 6px;
70
+
71
+ .#{$namespace}-pin-input__input {
72
+ width: 24px;
73
+ height: 24px;
74
+ font-size: $font-size-small;
75
+ }
76
+ }
77
+
78
+ // Modifier - Large
79
+ @include m('large') {
80
+ gap: 10px;
81
+
82
+ .#{$namespace}-pin-input__input {
83
+ width: 40px;
84
+ height: 40px;
85
+ font-size: $font-size-large;
86
+ }
87
+ }
88
+
89
+ // Modifier - Password
90
+ @include when('password') {
91
+ .#{$namespace}-pin-input__input {
92
+ position: relative;
93
+
94
+ &::placeholder {
95
+ color: transparent;
96
+ }
97
+
98
+ // Password dot placeholder
99
+ &:placeholder-shown:not(:focus)::after {
100
+ content: '';
101
+ position: absolute;
102
+ top: 50%;
103
+ left: 50%;
104
+ width: 6px;
105
+ height: 6px;
106
+ transform: translate(-50%, -50%);
107
+ background-color: $color-text-primary;
108
+ border-radius: 50%;
109
+ pointer-events: none;
110
+ }
111
+ }
112
+
113
+ &.#{$namespace}-pin-input--small .#{$namespace}-pin-input__input:placeholder-shown:not(:focus)::after {
114
+ width: 5px;
115
+ height: 5px;
116
+ }
117
+
118
+ &.#{$namespace}-pin-input--large .#{$namespace}-pin-input__input:placeholder-shown:not(:focus)::after {
119
+ width: 7px;
120
+ height: 7px;
121
+ }
122
+ }
123
+
124
+ // Modifier - Complete
125
+ @include when('complete') {
126
+ .#{$namespace}-pin-input__input {
127
+ border-color: $color-success;
128
+ }
129
+ }
130
+
131
+ // Modifier - Disabled
132
+ @include when('disabled') {
133
+ .#{$namespace}-pin-input__input {
134
+ background-color: #f5f7fa;
135
+ color: $color-text-disabled;
136
+ border-color: $border-color-lighter;
137
+ cursor: not-allowed;
138
+ }
139
+ }
140
+ }
141
+
142
+ .dark {
143
+ .#{$namespace}-pin-input {
144
+ .#{$namespace}-pin-input__input {
145
+ background-color: $bg-color-dark-light;
146
+ border-color: color-mix(in oklab, $bg-color-dark-lighter 70%, $color-text-dark-secondary);
147
+ color: $color-text-dark;
148
+
149
+ &::placeholder {
150
+ color: $color-text-dark-secondary;
151
+ }
152
+
153
+ &:hover:not(:disabled):not(:focus) {
154
+ border-color: color-mix(in oklab, $bg-color-dark-lighter 55%, $color-text-dark-secondary);
155
+ }
156
+
157
+ &:focus {
158
+ border-color: $color-primary;
159
+ }
160
+
161
+ &.is-focused {
162
+ border-color: $color-primary;
163
+ }
164
+
165
+ &:disabled {
166
+ background-color: $bg-color-dark-lighter;
167
+ color: $color-text-dark-secondary;
168
+ border-color: color-mix(in oklab, $bg-color-dark-lighter 75%, $color-text-dark-secondary);
169
+ }
170
+ }
171
+
172
+ &.is-complete {
173
+ .#{$namespace}-pin-input__input {
174
+ border-color: $color-success;
175
+ }
176
+ }
177
+
178
+ &.is-password {
179
+ .#{$namespace}-pin-input__input:placeholder-shown:not(:focus)::after {
180
+ background-color: $color-text-dark;
181
+ }
182
+ }
183
+
184
+ &.is-disabled {
185
+ .#{$namespace}-pin-input__input {
186
+ background-color: $bg-color-dark-lighter;
187
+ color: $color-text-dark-secondary;
188
+ border-color: color-mix(in oklab, $bg-color-dark-lighter 75%, $color-text-dark-secondary);
189
+ }
190
+ }
191
+ }
192
+ }
@@ -0,0 +1,194 @@
1
+ @use './variables' as *;
2
+ @use './mixins/bem' as *;
3
+
4
+ @include b('popconfirm') {
5
+ position: relative;
6
+ display: inline-block;
7
+ width: fit-content;
8
+
9
+ @include e('reference') {
10
+ display: inline-block;
11
+ cursor: pointer;
12
+ }
13
+
14
+ @include e('popper') {
15
+ position: absolute;
16
+ z-index: 2000;
17
+
18
+ // Variables
19
+ --l-popconfirm-bg: #ffffff;
20
+ --l-popconfirm-border: #e4e7ed;
21
+ --l-popconfirm-padding: 12px;
22
+ --l-popconfirm-radius: 8px;
23
+ --arrow-size: 10px;
24
+
25
+ background: var(--l-popconfirm-bg);
26
+ padding: var(--l-popconfirm-padding);
27
+ border-radius: var(--l-popconfirm-radius);
28
+ border: 1px solid var(--l-popconfirm-border);
29
+
30
+ // Animation state
31
+ opacity: 0;
32
+ visibility: hidden;
33
+ pointer-events: none;
34
+ transition: opacity 0.2s cubic-bezier(0.23, 1, 0.32, 1),
35
+ transform 0.2s cubic-bezier(0.23, 1, 0.32, 1),
36
+ visibility 0.2s;
37
+
38
+ // Placements
39
+ &.is-top {
40
+ bottom: calc(100% + 12px);
41
+ left: 50%;
42
+ transform: translateX(-50%) translateY(4px) scale(0.95);
43
+ transform-origin: center bottom;
44
+
45
+ .#{$namespace}-popconfirm__arrow {
46
+ bottom: calc(-1 * (var(--arrow-size) * 0.55) + 1px);
47
+ left: 50%;
48
+ margin-left: calc(-1 * (var(--arrow-size) / 2));
49
+
50
+ &::before {
51
+ box-shadow: 1px 1px 0 0 var(--l-popconfirm-border);
52
+ }
53
+ }
54
+ }
55
+
56
+ &.is-bottom {
57
+ top: calc(100% + 12px);
58
+ left: 50%;
59
+ transform: translateX(-50%) translateY(-4px) scale(0.95);
60
+ transform-origin: center top;
61
+
62
+ .#{$namespace}-popconfirm__arrow {
63
+ top: calc(-1 * (var(--arrow-size) * 0.55) + 1px);
64
+ left: 50%;
65
+ margin-left: calc(-1 * (var(--arrow-size) / 2));
66
+
67
+ &::before {
68
+ box-shadow: -1px -1px 0 0 var(--l-popconfirm-border);
69
+ }
70
+ }
71
+ }
72
+
73
+ &.is-left {
74
+ right: calc(100% + 12px);
75
+ top: 50%;
76
+ transform: translateY(-50%) translateX(4px) scale(0.95);
77
+ transform-origin: right center;
78
+
79
+ .#{$namespace}-popconfirm__arrow {
80
+ right: calc(-1 * (var(--arrow-size) * 0.55) + 1px);
81
+ top: 50%;
82
+ margin-top: calc(-1 * (var(--arrow-size) / 2));
83
+
84
+ &::before {
85
+ box-shadow: 1px -1px 0 0 var(--l-popconfirm-border);
86
+ }
87
+ }
88
+ }
89
+
90
+ &.is-right {
91
+ left: calc(100% + 12px);
92
+ top: 50%;
93
+ transform: translateY(-50%) translateX(-4px) scale(0.95);
94
+ transform-origin: left center;
95
+
96
+ .#{$namespace}-popconfirm__arrow {
97
+ left: calc(-1 * (var(--arrow-size) * 0.55) + 1px);
98
+ top: 50%;
99
+ margin-top: calc(-1 * (var(--arrow-size) / 2));
100
+
101
+ &::before {
102
+ box-shadow: -1px 1px 0 0 var(--l-popconfirm-border);
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ @include e('arrow') {
109
+ position: absolute;
110
+ width: var(--arrow-size);
111
+ height: var(--arrow-size);
112
+ z-index: -1;
113
+ pointer-events: none;
114
+
115
+ &::before {
116
+ content: '';
117
+ position: absolute;
118
+ inset: 0;
119
+ width: 100%;
120
+ height: 100%;
121
+ background: var(--l-popconfirm-bg);
122
+ transform: rotate(45deg);
123
+ border-radius: calc(var(--arrow-size) * 0.2);
124
+ }
125
+ }
126
+
127
+ @include e('content') {
128
+ display: flex;
129
+ align-items: flex-start;
130
+ gap: 8px;
131
+ margin-bottom: 12px;
132
+ }
133
+
134
+ @include e('icon') {
135
+ flex-shrink: 0;
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ margin-top: 2px;
140
+ }
141
+
142
+ @include e('title') {
143
+ flex: 1;
144
+ font-size: 14px;
145
+ line-height: 1.5;
146
+ color: #303133;
147
+ word-break: break-word;
148
+ }
149
+
150
+ @include e('actions') {
151
+ display: flex;
152
+ align-items: center;
153
+ justify-content: flex-end;
154
+ gap: 8px;
155
+ }
156
+
157
+ // Visible State
158
+ @include when('visible') {
159
+ .#{$namespace}-popconfirm__popper {
160
+ opacity: 1;
161
+ visibility: visible;
162
+ pointer-events: auto;
163
+
164
+ &.is-top {
165
+ transform: translateX(-50%) translateY(0) scale(1);
166
+ }
167
+ &.is-bottom {
168
+ transform: translateX(-50%) translateY(0) scale(1);
169
+ }
170
+ &.is-left {
171
+ transform: translateY(-50%) translateX(0) scale(1);
172
+ }
173
+ &.is-right {
174
+ transform: translateY(-50%) translateX(0) scale(1);
175
+ }
176
+ }
177
+ }
178
+ }
179
+
180
+ // Dark mode
181
+ .dark {
182
+ .#{$namespace}-popconfirm__popper {
183
+ --l-popconfirm-bg: #1f1f1f;
184
+ --l-popconfirm-border: #3a3a3a;
185
+
186
+ .#{$namespace}-popconfirm__arrow::before {
187
+ background: var(--l-popconfirm-bg);
188
+ }
189
+ }
190
+
191
+ .#{$namespace}-popconfirm__title {
192
+ color: #e5e5e5;
193
+ }
194
+ }
@@ -0,0 +1,196 @@
1
+ @use './variables' as *;
2
+ @use './mixins/bem' as *;
3
+
4
+ @include b('popover') {
5
+ position: relative;
6
+ display: inline-block;
7
+
8
+ @include e('reference') {
9
+ display: inline-flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ cursor: pointer;
13
+ }
14
+
15
+ @include e('popper') {
16
+ position: absolute;
17
+ z-index: 1000;
18
+
19
+ // Variables
20
+ --l-popover-bg: #ffffff;
21
+ --l-popover-border: rgba(0, 0, 0, 0.08);
22
+ --l-popover-padding: 8px 10px;
23
+ --l-popover-radius: 6px;
24
+ --arrow-size: 12px;
25
+
26
+ background: var(--l-popover-bg);
27
+ border: 1px solid var(--l-popover-border);
28
+ border-radius: var(--l-popover-radius);
29
+ padding: var(--l-popover-padding);
30
+ color: #222;
31
+ min-width: 200px;
32
+ max-width: 320px;
33
+
34
+ // Animation state
35
+ opacity: 0;
36
+ pointer-events: none;
37
+ transition: opacity 0.2s cubic-bezier(0.23, 1, 0.32, 1), transform 0.2s cubic-bezier(0.23, 1, 0.32, 1);
38
+
39
+ // Placements (gap 12px)
40
+ &.is-top {
41
+ bottom: calc(100% + 12px);
42
+ left: 50%;
43
+ transform: translateX(-50%) translateY(4px) scale(0.95);
44
+ transform-origin: center bottom;
45
+ }
46
+
47
+ &.is-top-start { bottom: calc(100% + 12px); left: 0; }
48
+ &.is-top-end { bottom: calc(100% + 12px); right: 0; }
49
+
50
+ &.is-bottom {
51
+ top: calc(100% + 12px);
52
+ left: 50%;
53
+ transform: translateX(-50%) translateY(-4px) scale(0.95);
54
+ transform-origin: center top;
55
+ }
56
+
57
+ &.is-bottom-start { top: calc(100% + 12px); left: 0; }
58
+ &.is-bottom-end { top: calc(100% + 12px); right: 0; }
59
+
60
+ &.is-left {
61
+ right: calc(100% + 12px);
62
+ top: 50%;
63
+ transform: translateY(-50%) translateX(4px) scale(0.95);
64
+ transform-origin: right center;
65
+ }
66
+
67
+ &.is-left-start { right: calc(100% + 12px); top: 0; }
68
+ &.is-left-end { right: calc(100% + 12px); bottom: 0; }
69
+
70
+ &.is-right {
71
+ left: calc(100% + 12px);
72
+ top: 50%;
73
+ transform: translateY(-50%) translateX(-4px) scale(0.95);
74
+ transform-origin: left center;
75
+ }
76
+
77
+ &.is-right-start { left: calc(100% + 12px); top: 0; }
78
+ &.is-right-end { left: calc(100% + 12px); bottom: 0; }
79
+ }
80
+
81
+ @include e('arrow') {
82
+ position: absolute;
83
+ width: var(--arrow-size);
84
+ height: var(--arrow-size);
85
+ pointer-events: none;
86
+ z-index: -1;
87
+
88
+ &::before {
89
+ content: '';
90
+ position: absolute;
91
+ inset: 0;
92
+ width: 100%;
93
+ height: 100%;
94
+ background: var(--l-popover-bg);
95
+ transform: rotate(45deg);
96
+ border-radius: calc(var(--arrow-size) * 0.2);
97
+ }
98
+ }
99
+
100
+ @include e('content') {
101
+ font-size: 13px;
102
+ line-height: 1.4;
103
+ }
104
+
105
+ // Visible state: group identical transforms for brevity
106
+ @include when('visible') {
107
+ .#{$namespace}-popover__popper {
108
+ opacity: 1;
109
+ pointer-events: auto;
110
+ }
111
+
112
+ .#{$namespace}-popover__popper.is-top,
113
+ .#{$namespace}-popover__popper.is-bottom {
114
+ transform: translateX(-50%) translateY(0) scale(1);
115
+ }
116
+
117
+ .#{$namespace}-popover__popper.is-left,
118
+ .#{$namespace}-popover__popper.is-right {
119
+ transform: translateY(-50%) translateX(0) scale(1);
120
+ }
121
+ }
122
+ }
123
+
124
+ // Arrow positioning blocks using namespace; arrow pulled into content to hide sharp corners
125
+ .#{$namespace}-popover__popper.is-top,
126
+ .#{$namespace}-popover__popper.is-top-start,
127
+ .#{$namespace}-popover__popper.is-top-end {
128
+ .#{$namespace}-popover__arrow {
129
+ bottom: calc(-1 * (var(--arrow-size) * 0.5) + 1px);
130
+ left: 50%;
131
+ transform: translateX(-50%);
132
+
133
+ &::before { box-shadow: 1px 1px 0 0 var(--l-popover-border); }
134
+ }
135
+ }
136
+
137
+ .#{$namespace}-popover__popper.is-top-start .#{$namespace}-popover__arrow { left: 12px; transform: none; }
138
+ .#{$namespace}-popover__popper.is-top-end .#{$namespace}-popover__arrow { left: auto; right: 12px; transform: none; }
139
+
140
+ .#{$namespace}-popover__popper.is-bottom,
141
+ .#{$namespace}-popover__popper.is-bottom-start,
142
+ .#{$namespace}-popover__popper.is-bottom-end {
143
+ .#{$namespace}-popover__arrow {
144
+ top: calc(-1 * (var(--arrow-size) * 0.5) + 1px);
145
+ left: 50%;
146
+ transform: translateX(-50%);
147
+
148
+ &::before { box-shadow: -1px -1px 0 0 var(--l-popover-border); }
149
+ }
150
+ }
151
+
152
+ .#{$namespace}-popover__popper.is-bottom-start .#{$namespace}-popover__arrow { left: 12px; transform: none; }
153
+ .#{$namespace}-popover__popper.is-bottom-end .#{$namespace}-popover__arrow { left: auto; right: 12px; transform: none; }
154
+
155
+ .#{$namespace}-popover__popper.is-left,
156
+ .#{$namespace}-popover__popper.is-left-start,
157
+ .#{$namespace}-popover__popper.is-left-end {
158
+ .#{$namespace}-popover__arrow {
159
+ right: calc(-1 * (var(--arrow-size) * 0.5) + 1px);
160
+ top: 50%;
161
+ transform: translateY(-50%);
162
+
163
+ &::before { box-shadow: 1px -1px 0 0 var(--l-popover-border); }
164
+ }
165
+ }
166
+
167
+ .#{$namespace}-popover__popper.is-left-start .#{$namespace}-popover__arrow { top: 12px; transform: none; }
168
+ .#{$namespace}-popover__popper.is-left-end .#{$namespace}-popover__arrow { top: auto; bottom: 12px; transform: none; }
169
+
170
+ .#{$namespace}-popover__popper.is-right,
171
+ .#{$namespace}-popover__popper.is-right-start,
172
+ .#{$namespace}-popover__popper.is-right-end {
173
+ .#{$namespace}-popover__arrow {
174
+ left: calc(-1 * (var(--arrow-size) * 0.5) + 1px);
175
+ top: 50%;
176
+ transform: translateY(-50%);
177
+
178
+ &::before { box-shadow: -1px 1px 0 0 var(--l-popover-border); }
179
+ }
180
+ }
181
+
182
+ .#{$namespace}-popover__popper.is-right-start .#{$namespace}-popover__arrow { top: 12px; transform: none; }
183
+ .#{$namespace}-popover__popper.is-right-end .#{$namespace}-popover__arrow { top: auto; bottom: 12px; transform: none; }
184
+
185
+ // Dark mode
186
+ .dark {
187
+ .#{$namespace}-popover__popper {
188
+ --l-popover-bg: #1f1f1f;
189
+ --l-popover-border: rgba(255, 255, 255, 0.1);
190
+
191
+ color: #e5e5e5;
192
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
193
+
194
+ .#{$namespace}-popover__arrow::before { background: var(--l-popover-bg); }
195
+ }
196
+ }
@@ -0,0 +1,51 @@
1
+ @use './variables' as *;
2
+ @use './mixins/bem' as *;
3
+
4
+ @include b('progress') {
5
+ display: inline-flex;
6
+ align-items: center;
7
+ gap: 8px;
8
+ width: 100%;
9
+
10
+ @include e('track') {
11
+ position: relative;
12
+ flex: 1;
13
+ background-color: $border-color-lighter;
14
+ border-radius: $border-radius-round;
15
+ overflow: hidden;
16
+ }
17
+
18
+ @include e('bar') {
19
+ height: 6px;
20
+ width: 0;
21
+ background-color: $color-primary;
22
+ border-radius: $border-radius-round;
23
+ transition: width 0.2s $transition-function-fast-bezier;
24
+
25
+ @include m('primary') { background-color: $color-primary; }
26
+ @include m('success') { background-color: $color-success; }
27
+ @include m('warning') { background-color: $color-warning; }
28
+ @include m('danger') { background-color: $color-danger; }
29
+ @include m('info') { background-color: $color-info; }
30
+ }
31
+
32
+ @include e('text') {
33
+ font-size: $font-size-small;
34
+ color: $color-text-secondary;
35
+ min-width: 36px;
36
+ text-align: right;
37
+ flex-shrink: 0;
38
+ }
39
+ }
40
+
41
+ .dark {
42
+ .#{$namespace}-progress {
43
+ .#{$namespace}-progress__track {
44
+ background-color: $bg-color-dark-lighter;
45
+ }
46
+
47
+ .#{$namespace}-progress__text {
48
+ color: $color-text-dark-secondary;
49
+ }
50
+ }
51
+ }