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,47 @@
1
+ @use './variables' as *;
2
+ @use './mixins/bem' as *;
3
+
4
+ @include b('badge') {
5
+ position: relative;
6
+ display: inline-block;
7
+
8
+ @include e('content') {
9
+ position: absolute;
10
+ top: -6px;
11
+ right: -6px;
12
+ display: inline-flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ min-width: 18px;
16
+ height: 18px;
17
+ padding: 0 6px;
18
+ border-radius: 999px;
19
+ color: #fff;
20
+ font-size: $font-size-extra-small;
21
+ line-height: 18px;
22
+ white-space: nowrap;
23
+ border: 1px solid #fff;
24
+
25
+ &.is-dot {
26
+ width: 8px;
27
+ height: 8px;
28
+ min-width: 8px;
29
+ padding: 0;
30
+ border-radius: 50%;
31
+ }
32
+
33
+ @include m('primary') { background-color: $color-primary; }
34
+ @include m('success') { background-color: $color-success; }
35
+ @include m('warning') { background-color: $color-warning; }
36
+ @include m('danger') { background-color: $color-danger; }
37
+ @include m('info') { background-color: $color-info; }
38
+ }
39
+ }
40
+
41
+ .dark {
42
+ .#{$namespace}-badge {
43
+ .#{$namespace}-badge__content {
44
+ border-color: $bg-color-dark-light;
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,50 @@
1
+ @use './variables' as *;
2
+ @use './mixins/bem' as *;
3
+
4
+ .#{$namespace}-breadcrumb {
5
+ display: flex;
6
+ align-items: center;
7
+ list-style: none;
8
+ margin: 0;
9
+ padding: 0;
10
+ font-size: 14px;
11
+
12
+ &__item {
13
+ display: flex;
14
+ align-items: center;
15
+ }
16
+
17
+ &__link {
18
+ color: var(--lm-color-primary);
19
+ text-decoration: none;
20
+
21
+ &:hover {
22
+ text-decoration: underline;
23
+ }
24
+ }
25
+
26
+ &__text {
27
+ color: var(--lm-color-text-secondary);
28
+ }
29
+
30
+ &__icon {
31
+ margin-right: 4px;
32
+ }
33
+
34
+ &__separator {
35
+ margin: 0 8px;
36
+ color: var(--lm-color-text-placeholder);
37
+ }
38
+ }
39
+
40
+ .dark {
41
+ .#{$namespace}-breadcrumb {
42
+ &__text {
43
+ color: $color-text-dark-secondary;
44
+ }
45
+
46
+ &__separator {
47
+ color: rgba($color-text-dark, 0.35);
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,472 @@
1
+ @use 'sass:color';
2
+ @use './variables' as *;
3
+ @use './mixins/bem' as *;
4
+ @use './mixins/function' as *;
5
+
6
+ @include b('button') {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ gap: 6px;
11
+ padding: 0 $spacing-small;
12
+ height: 32px;
13
+ font-size: $font-size-base;
14
+ font-weight: 500;
15
+ line-height: 1;
16
+ white-space: nowrap;
17
+ cursor: pointer;
18
+ border: 1px solid transparent;
19
+ border-radius: $border-radius-medium;
20
+ outline: none;
21
+ transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),
22
+ background-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),
23
+ border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),
24
+ box-shadow 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),
25
+ transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
26
+ user-select: none;
27
+ box-sizing: border-box;
28
+
29
+ // 尺寸变体
30
+ @include m('small') {
31
+ height: 24px;
32
+ padding: 0 $spacing-mini;
33
+ font-size: $font-size-small;
34
+ gap: 4px;
35
+ }
36
+
37
+ @include m('medium') {
38
+ height: 32px;
39
+ padding: 0 $spacing-small;
40
+ font-size: $font-size-base;
41
+ gap: 6px;
42
+ }
43
+
44
+ @include m('large') {
45
+ height: 40px;
46
+ padding: 0 $spacing-base;
47
+ font-size: $font-size-medium;
48
+ gap: 8px;
49
+ }
50
+
51
+ // 类型变体 - Default
52
+ @include m('default') {
53
+ color: $color-text-primary;
54
+ background-color: $bg-color;
55
+ border-color: $border-color-base;
56
+
57
+ &:hover:not(.is-disabled):not(.is-loading) {
58
+ color: $color-primary;
59
+ background-color: color.mix(#fff, $color-primary, 95%);
60
+ border-color: color.mix(#fff, $color-primary, 80%);
61
+ }
62
+
63
+ &:active:not(.is-disabled):not(.is-loading) {
64
+ color: $color-primary;
65
+ background-color: color.mix(#fff, $color-primary, 90%);
66
+ border-color: color.mix(#fff, $color-primary, 60%);
67
+ }
68
+
69
+ &.is-plain {
70
+ background-color: $bg-color;
71
+ border-color: $border-color-base;
72
+
73
+ &:hover:not(.is-disabled):not(.is-loading) {
74
+ color: $color-primary;
75
+ background-color: color.mix(#fff, $color-primary, 95%);
76
+ border-color: $color-primary;
77
+ }
78
+
79
+ &:active:not(.is-disabled):not(.is-loading) {
80
+ color: $color-primary;
81
+ background-color: $bg-color;
82
+ border-color: $color-primary;
83
+ }
84
+ }
85
+ }
86
+
87
+ // 类型变体 - Primary/Success/Warning/Danger/Info
88
+ @include m('primary') {
89
+ color: #fff;
90
+ background-color: $color-primary;
91
+
92
+ &:hover:not(.is-disabled):not(.is-loading) {
93
+ background-color: color.mix(#fff, $color-primary, 40%);
94
+ }
95
+
96
+ &:active:not(.is-disabled):not(.is-loading) {
97
+ background-color: color.adjust($color-primary, $lightness: -10%);
98
+ }
99
+
100
+ &.is-plain {
101
+ color: $color-primary;
102
+ background-color: color.mix(#fff, $color-primary, 95%);
103
+ border-color: color.mix(#fff, $color-primary, 80%);
104
+
105
+ &:hover:not(.is-disabled):not(.is-loading) {
106
+ color: #fff;
107
+ background-color: $color-primary;
108
+ border-color: $color-primary;
109
+ }
110
+
111
+ &:active:not(.is-disabled):not(.is-loading) {
112
+ color: #fff;
113
+ background-color: color.adjust($color-primary, $lightness: -10%);
114
+ border-color: color.adjust($color-primary, $lightness: -10%);
115
+ }
116
+ }
117
+ }
118
+
119
+ @include m('success') {
120
+ color: #fff;
121
+ background-color: $color-success;
122
+
123
+ &:hover:not(.is-disabled):not(.is-loading) {
124
+ background-color: color.mix(#fff, $color-success, 40%);
125
+ }
126
+
127
+ &:active:not(.is-disabled):not(.is-loading) {
128
+ background-color: color.adjust($color-success, $lightness: -10%);
129
+ }
130
+
131
+ &.is-plain {
132
+ color: $color-success;
133
+ background-color: color.mix(#fff, $color-success, 95%);
134
+ border-color: color.mix(#fff, $color-success, 80%);
135
+
136
+ &:hover:not(.is-disabled):not(.is-loading) {
137
+ color: #fff;
138
+ background-color: $color-success;
139
+ border-color: $color-success;
140
+ }
141
+
142
+ &:active:not(.is-disabled):not(.is-loading) {
143
+ color: #fff;
144
+ background-color: color.adjust($color-success, $lightness: -10%);
145
+ border-color: color.adjust($color-success, $lightness: -10%);
146
+ }
147
+ }
148
+ }
149
+
150
+ @include m('warning') {
151
+ color: #fff;
152
+ background-color: $color-warning;
153
+
154
+ &:hover:not(.is-disabled):not(.is-loading) {
155
+ background-color: color.mix(#fff, $color-warning, 40%);
156
+
157
+ }
158
+
159
+ &:active:not(.is-disabled):not(.is-loading) {
160
+ background-color: color.adjust($color-warning, $lightness: -10%);
161
+ }
162
+
163
+ &.is-plain {
164
+ color: $color-warning;
165
+ background-color: color.mix(#fff, $color-warning, 95%);
166
+ border-color: color.mix(#fff, $color-warning, 80%);
167
+
168
+ &:hover:not(.is-disabled):not(.is-loading) {
169
+ color: #fff;
170
+ background-color: $color-warning;
171
+ border-color: $color-warning;
172
+ }
173
+
174
+ &:active:not(.is-disabled):not(.is-loading) {
175
+ color: #fff;
176
+ background-color: color.adjust($color-warning, $lightness: -10%);
177
+ border-color: color.adjust($color-warning, $lightness: -10%);
178
+ }
179
+ }
180
+ }
181
+
182
+ @include m('danger') {
183
+ color: #fff;
184
+ background-color: $color-danger;
185
+
186
+ &:hover:not(.is-disabled):not(.is-loading) {
187
+ background-color: color.mix(#fff, $color-danger, 40%);
188
+ }
189
+
190
+ &:active:not(.is-disabled):not(.is-loading) {
191
+ background-color: color.adjust($color-danger, $lightness: -10%);
192
+ }
193
+
194
+ &.is-plain {
195
+ color: $color-danger;
196
+ background-color: color.mix(#fff, $color-danger, 95%);
197
+ border-color: color.mix(#fff, $color-danger, 80%);
198
+
199
+ &:hover:not(.is-disabled):not(.is-loading) {
200
+ color: #fff;
201
+ background-color: $color-danger;
202
+ border-color: $color-danger;
203
+ }
204
+
205
+ &:active:not(.is-disabled):not(.is-loading) {
206
+ color: #fff;
207
+ background-color: color.adjust($color-danger, $lightness: -10%);
208
+ border-color: color.adjust($color-danger, $lightness: -10%);
209
+ }
210
+ }
211
+ }
212
+
213
+ @include m('info') {
214
+ color: #fff;
215
+ background-color: $color-info;
216
+
217
+ &:hover:not(.is-disabled):not(.is-loading) {
218
+ background-color: color.mix(#fff, $color-info, 40%);
219
+ }
220
+
221
+ &:active:not(.is-disabled):not(.is-loading) {
222
+ background-color: color.adjust($color-info, $lightness: -10%);
223
+ }
224
+
225
+ &.is-plain {
226
+ color: $color-info;
227
+ background-color: color.mix(#fff, $color-info, 95%);
228
+ border-color: color.mix(#fff, $color-info, 80%);
229
+
230
+ &:hover:not(.is-disabled):not(.is-loading) {
231
+ color: #fff;
232
+ background-color: $color-info;
233
+ border-color: $color-info;
234
+ }
235
+
236
+ &:active:not(.is-disabled):not(.is-loading) {
237
+ color: #fff;
238
+ background-color: color.adjust($color-info, $lightness: -10%);
239
+ border-color: color.adjust($color-info, $lightness: -10%);
240
+ }
241
+ }
242
+ }
243
+
244
+ // 形状变体
245
+ @include when('round') {
246
+ border-radius: $border-radius-round;
247
+ }
248
+
249
+ @include when('circle') {
250
+ border-radius: $border-radius-circle;
251
+ padding: 0;
252
+ aspect-ratio: 1;
253
+
254
+ &.#{$namespace}-button--small {
255
+ width: 24px;
256
+ min-width: 24px;
257
+ height: 24px;
258
+ }
259
+
260
+ &.#{$namespace}-button--medium {
261
+ width: 32px;
262
+ min-width: 32px;
263
+ height: 32px;
264
+ }
265
+
266
+ &.#{$namespace}-button--large {
267
+ width: 40px;
268
+ min-width: 40px;
269
+ height: 40px;
270
+ }
271
+ }
272
+
273
+ // 状态
274
+ @include when('disabled') {
275
+ cursor: not-allowed;
276
+ opacity: 0.5;
277
+ }
278
+
279
+ &:disabled {
280
+ cursor: not-allowed;
281
+ opacity: 0.5;
282
+ }
283
+
284
+ @include when('loading') {
285
+ pointer-events: none;
286
+ }
287
+
288
+ // Loading 图标
289
+ @include e('loading') {
290
+ display: inline-flex;
291
+ align-items: center;
292
+ justify-content: center;
293
+ width: 1em;
294
+ height: 1em;
295
+
296
+ svg {
297
+ width: 100%;
298
+ height: 100%;
299
+ animation: #{$namespace}-button-loading-spin 1s linear infinite;
300
+ }
301
+ }
302
+ }
303
+ @keyframes #{$namespace}-button-loading-spin {
304
+ 0% {
305
+ transform: rotate(0deg);
306
+ }
307
+ 100% {
308
+ transform: rotate(360deg);
309
+ }
310
+ }
311
+
312
+ .dark {
313
+ .#{$namespace}-button {
314
+ @include m('default') {
315
+ color: $color-text-dark;
316
+ background-color: $bg-color-dark-light;
317
+ border-color: color-mix(in oklab, $bg-color-dark-lighter 70%, $color-text-dark-secondary);
318
+
319
+ &:hover:not(.is-disabled):not(.is-loading):not(.is-plain) {
320
+ background-color: color.mix($bg-color-dark-light, $color-primary, 88%);
321
+ border-color: color.mix($bg-color-dark-light, $color-primary, 55%);
322
+ }
323
+
324
+ &:active:not(.is-disabled):not(.is-loading):not(.is-plain) {
325
+ background-color: color.mix($bg-color-dark-light, $color-primary, 82%);
326
+ border-color: color.mix($bg-color-dark-light, $color-primary, 45%);
327
+ }
328
+
329
+ &.is-plain {
330
+ background-color: $bg-color-dark-light;
331
+ border-color: color-mix(in oklab, $bg-color-dark-lighter 70%, $color-text-dark-secondary);
332
+
333
+ &:hover:not(.is-disabled):not(.is-loading) {
334
+ color: $color-primary;
335
+ background-color: $bg-color-dark-light;
336
+ border-color: $color-primary;
337
+ }
338
+
339
+ &:active:not(.is-disabled):not(.is-loading) {
340
+ color: $color-primary;
341
+ background-color: $bg-color-dark-light;
342
+ border-color: $color-primary;
343
+ }
344
+ }
345
+ }
346
+
347
+ @include m('primary') {
348
+ &:hover:not(.is-disabled):not(.is-loading) {
349
+ background-color: color.adjust($color-primary, $lightness: -8%);
350
+ }
351
+
352
+ &:active:not(.is-disabled):not(.is-loading) {
353
+ background-color: color.mix(#fff, $color-primary, 20%);
354
+ }
355
+
356
+ &.is-plain {
357
+ background-color: color.mix($bg-color-dark-light, $color-primary, 86%);
358
+ border-color: color.mix($bg-color-dark-light, $color-primary, 55%);
359
+
360
+ &:hover:not(.is-disabled):not(.is-loading) {
361
+ background-color: color.adjust($color-primary, $lightness: -8%);
362
+ border-color: color.adjust($color-primary, $lightness: -8%);
363
+ }
364
+
365
+ &:active:not(.is-disabled):not(.is-loading) {
366
+ background-color: color.mix(#fff, $color-primary, 20%);
367
+ border-color: color.mix(#fff, $color-primary, 20%);
368
+ }
369
+ }
370
+ }
371
+
372
+ @include m('success') {
373
+ &:hover:not(.is-disabled):not(.is-loading) {
374
+ background-color: color.adjust($color-success, $lightness: -8%);
375
+ }
376
+
377
+ &:active:not(.is-disabled):not(.is-loading) {
378
+ background-color: color.mix(#fff, $color-success, 20%);
379
+ }
380
+
381
+ &.is-plain {
382
+ background-color: color.mix($bg-color-dark-light, $color-success, 86%);
383
+ border-color: color.mix($bg-color-dark-light, $color-success, 65%);
384
+
385
+ &:hover:not(.is-disabled):not(.is-loading) {
386
+ background-color: color.adjust($color-success, $lightness: -8%);
387
+ border-color: color.adjust($color-success, $lightness: -8%);
388
+ }
389
+
390
+ &:active:not(.is-disabled):not(.is-loading) {
391
+ background-color: color.mix(#fff, $color-success, 20%);
392
+ border-color: color.mix(#fff, $color-success, 20%);
393
+ }
394
+ }
395
+ }
396
+
397
+ @include m('warning') {
398
+ &:hover:not(.is-disabled):not(.is-loading) {
399
+ background-color: color.adjust($color-warning, $lightness: -8%);
400
+ }
401
+
402
+ &:active:not(.is-disabled):not(.is-loading) {
403
+ background-color: color.mix(#fff, $color-warning, 20%);
404
+ }
405
+
406
+ &.is-plain {
407
+ background-color: color.mix($bg-color-dark-light, $color-warning, 86%);
408
+ border-color: color.mix($bg-color-dark-light, $color-warning, 65%);
409
+
410
+ &:hover:not(.is-disabled):not(.is-loading) {
411
+ background-color: color.adjust($color-warning, $lightness: -8%);
412
+ border-color: color.adjust($color-warning, $lightness: -8%);
413
+ }
414
+
415
+ &:active:not(.is-disabled):not(.is-loading) {
416
+ background-color: color.mix(#fff, $color-warning, 20%);
417
+ border-color: color.mix(#fff, $color-warning, 20%);
418
+ }
419
+ }
420
+ }
421
+
422
+ @include m('danger') {
423
+ &:hover:not(.is-disabled):not(.is-loading) {
424
+ background-color: color.adjust($color-danger, $lightness: -8%);
425
+ }
426
+
427
+ &:active:not(.is-disabled):not(.is-loading) {
428
+ background-color: color.mix(#fff, $color-danger, 20%);
429
+ }
430
+
431
+ &.is-plain {
432
+ background-color: color.mix($bg-color-dark-light, $color-danger, 86%);
433
+ border-color: color.mix($bg-color-dark-light, $color-danger, 65%);
434
+
435
+ &:hover:not(.is-disabled):not(.is-loading) {
436
+ background-color: color.adjust($color-danger, $lightness: -8%);
437
+ border-color: color.adjust($color-danger, $lightness: -8%);
438
+ }
439
+
440
+ &:active:not(.is-disabled):not(.is-loading) {
441
+ background-color: color.mix(#fff, $color-danger, 20%);
442
+ border-color: color.mix(#fff, $color-danger, 20%);
443
+ }
444
+ }
445
+ }
446
+
447
+ @include m('info') {
448
+ &:hover:not(.is-disabled):not(.is-loading) {
449
+ background-color: color.adjust($color-info, $lightness: -8%);
450
+ }
451
+
452
+ &:active:not(.is-disabled):not(.is-loading) {
453
+ background-color: color.mix(#fff, $color-info, 20%);
454
+ }
455
+
456
+ &.is-plain {
457
+ background-color: color.mix($bg-color-dark-light, $color-info, 86%);
458
+ border-color: color.mix($bg-color-dark-light, $color-info, 65%);
459
+
460
+ &:hover:not(.is-disabled):not(.is-loading) {
461
+ background-color: color.adjust($color-info, $lightness: -8%);
462
+ border-color: color.adjust($color-info, $lightness: -8%);
463
+ }
464
+
465
+ &:active:not(.is-disabled):not(.is-loading) {
466
+ background-color: color.mix(#fff, $color-info, 20%);
467
+ border-color: color.mix(#fff, $color-info, 20%);
468
+ }
469
+ }
470
+ }
471
+ }
472
+ }