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,343 @@
1
+ @use 'sass:color';
2
+ @use './variables' as *;
3
+ @use './mixins/bem' as *;
4
+
5
+ @include b('table') {
6
+ --#{$namespace}-table-border-color: #{$border-color-lighter};
7
+ --#{$namespace}-table-header-bg: #fafafa;
8
+ --#{$namespace}-table-header-text-color: #{$color-text-primary};
9
+ --#{$namespace}-table-row-hover-bg: #f5f7fa;
10
+ --#{$namespace}-table-current-row-bg: #ecf5ff;
11
+ --#{$namespace}-table-text-color: #{$color-text-regular};
12
+ --#{$namespace}-table-cell-padding: 12px;
13
+ --#{$namespace}-table-font-size: #{$font-size-base};
14
+
15
+ position: relative;
16
+ box-sizing: border-box;
17
+ width: 100%;
18
+ overflow-x: auto;
19
+ background-color: $bg-color;
20
+ font-size: var(--#{$namespace}-table-font-size);
21
+ color: var(--#{$namespace}-table-text-color);
22
+
23
+ // Sizes
24
+ @include m('large') {
25
+ --#{$namespace}-table-cell-padding: 16px;
26
+ --#{$namespace}-table-font-size: 16px;
27
+ }
28
+
29
+ @include m('small') {
30
+ --#{$namespace}-table-cell-padding: 8px;
31
+ --#{$namespace}-table-font-size: 12px;
32
+ }
33
+
34
+ // Border mode
35
+ @include m('border') {
36
+ border: 1px solid var(--#{$namespace}-table-border-color);
37
+ border-radius: $border-radius-base;
38
+
39
+ .#{$namespace}-table__header,
40
+ .#{$namespace}-table__body {
41
+ .#{$namespace}-table__cell {
42
+ border-right: 1px solid var(--#{$namespace}-table-border-color);
43
+
44
+ &:last-child {
45
+ border-right: none;
46
+ }
47
+ }
48
+ }
49
+ }
50
+
51
+ // Striped
52
+ @include m('striped') {
53
+ .#{$namespace}-table__row--striped {
54
+ background-color: #fafafa;
55
+ }
56
+ }
57
+
58
+ // Fit - 当设置 fit 时表格撑满容器(默认行为)
59
+ // 不设置 fit 时表格按内容宽度,可出现滚动条
60
+
61
+ // Highlight current row
62
+ @include m('highlight-current-row') {
63
+ .#{$namespace}-table__row {
64
+ &.is-current {
65
+ background-color: var(--#{$namespace}-table-current-row-bg);
66
+ }
67
+ }
68
+ }
69
+
70
+ // Inner wrapper - 统一滚动容器
71
+ @include e('inner-wrapper') {
72
+ position: relative;
73
+ display: block;
74
+ height: 100%;
75
+ overflow: auto;
76
+ }
77
+
78
+ // 单表格结构
79
+ @include e('table') {
80
+ width: 100%;
81
+ table-layout: fixed;
82
+ border-collapse: separate;
83
+ border-spacing: 0;
84
+ }
85
+
86
+ // Header (thead) - 使用 sticky 固定
87
+ @include e('header') {
88
+ position: sticky;
89
+ top: 0;
90
+ z-index: 2;
91
+ background-color: var(--#{$namespace}-table-header-bg);
92
+
93
+ th {
94
+ background-color: var(--#{$namespace}-table-header-bg);
95
+ }
96
+ }
97
+
98
+ // Body (tbody)
99
+ @include e('body') {
100
+ // tbody 样式
101
+ }
102
+
103
+ // Rows
104
+ @include e('row') {
105
+ transition: background-color 0.25s ease;
106
+
107
+ &:hover {
108
+ background-color: var(--#{$namespace}-table-row-hover-bg);
109
+ }
110
+ }
111
+
112
+ // Cells
113
+ @include e('cell') {
114
+ padding: var(--#{$namespace}-table-cell-padding);
115
+ text-align: left;
116
+ vertical-align: middle;
117
+ border-bottom: 1px solid var(--#{$namespace}-table-border-color);
118
+ box-sizing: border-box;
119
+ overflow: hidden;
120
+
121
+ &.is-center {
122
+ text-align: center;
123
+
124
+ @include e('cell-wrapper') {
125
+ justify-content: center;
126
+ }
127
+ }
128
+
129
+ &.is-right {
130
+ text-align: right;
131
+ }
132
+ }
133
+
134
+ @include e('body') {
135
+ tr:last-child {
136
+ .#{$namespace}-table__cell {
137
+ border-bottom: none;
138
+ }
139
+ }
140
+ }
141
+
142
+ // Header cells
143
+ @include e('header-cell') {
144
+ background-color: var(--#{$namespace}-table-header-bg);
145
+ color: var(--#{$namespace}-table-header-text-color);
146
+ font-weight: $font-weight-primary;
147
+ user-select: none;
148
+
149
+ &.is-sortable {
150
+ cursor: pointer;
151
+
152
+ &:hover {
153
+ background-color: color.adjust(#fafafa, $lightness: -3%);
154
+ }
155
+ }
156
+
157
+ &.is-sorted-ascending,
158
+ &.is-sorted-descending {
159
+ color: $color-primary;
160
+ }
161
+ }
162
+
163
+ // Cell wrapper
164
+ @include e('cell-wrapper') {
165
+ display: flex;
166
+ align-items: center;
167
+ line-height: 1.5;
168
+
169
+ &.has-overflow-tooltip {
170
+ overflow: hidden;
171
+ }
172
+ }
173
+
174
+ // Cell text
175
+ @include e('cell-text') {
176
+ flex: 1;
177
+ min-width: 0;
178
+
179
+ &.is-ellipsis {
180
+ overflow: hidden;
181
+ text-overflow: ellipsis;
182
+ white-space: nowrap;
183
+ }
184
+ }
185
+
186
+ // Header text
187
+ @include e('header-text') {
188
+ flex: 1;
189
+ overflow: hidden;
190
+ text-overflow: ellipsis;
191
+ white-space: nowrap;
192
+ }
193
+
194
+ // Sort caret
195
+ @include e('sort-caret') {
196
+ display: inline-flex;
197
+ flex-direction: column;
198
+ align-items: center;
199
+ justify-content: center;
200
+ width: 24px;
201
+ height: 24px;
202
+ margin-left: 4px;
203
+ vertical-align: middle;
204
+ gap: 2px;
205
+ }
206
+
207
+ @include e('sort-icon') {
208
+ color: #c0c4cc;
209
+ display: block;
210
+ flex: 0 0 auto;
211
+
212
+ &--asc {
213
+ margin-top: -1px;
214
+ }
215
+
216
+ &--desc {
217
+ margin-bottom: -1px;
218
+ }
219
+
220
+ &.is-active {
221
+ color: $color-primary;
222
+ }
223
+ }
224
+
225
+ // Empty state
226
+ @include e('empty') {
227
+ display: flex;
228
+ flex-direction: column;
229
+ align-items: center;
230
+ justify-content: center;
231
+ padding: 40px 0;
232
+ color: $color-text-secondary;
233
+ }
234
+
235
+ @include e('empty-text') {
236
+ font-size: $font-size-base;
237
+ }
238
+
239
+ @include e('empty-row') {
240
+ &:hover {
241
+ background-color: transparent;
242
+ }
243
+ }
244
+
245
+ @include e('empty-cell') {
246
+ text-align: center !important;
247
+ }
248
+
249
+ // Loading
250
+ @include e('loading') {
251
+ position: absolute;
252
+ inset: 0;
253
+ z-index: 10;
254
+ display: flex;
255
+ align-items: center;
256
+ justify-content: center;
257
+ background-color: rgba(255, 255, 255, 0.9);
258
+ }
259
+
260
+ @include e('loading-spinner') {
261
+ width: 32px;
262
+ height: 32px;
263
+ border: 3px solid $border-color-light;
264
+ border-top-color: $color-primary;
265
+ border-radius: 50%;
266
+ animation: #{$namespace}-table-loading-spin 0.8s linear infinite;
267
+ }
268
+
269
+ // Tooltip (internal)
270
+ @include e('tooltip') {
271
+ position: absolute;
272
+ z-index: 2000;
273
+ transform: translateX(-50%) translateY(-100%);
274
+ pointer-events: none;
275
+ max-width: 300px;
276
+ word-break: break-word;
277
+ white-space: normal;
278
+ }
279
+ }
280
+
281
+ @keyframes #{$namespace}-table-loading-spin {
282
+ from {
283
+ transform: rotate(0deg);
284
+ }
285
+ to {
286
+ transform: rotate(360deg);
287
+ }
288
+ }
289
+
290
+ // Dark mode
291
+ .dark {
292
+ .#{$namespace}-table {
293
+ --#{$namespace}-table-border-color: #363637;
294
+ --#{$namespace}-table-header-bg: #1d1d1d;
295
+ --#{$namespace}-table-header-text-color: #e5eaf3;
296
+ --#{$namespace}-table-row-hover-bg: #262727;
297
+ --#{$namespace}-table-current-row-bg: rgba(0, 98, 255, 0.2);
298
+ --#{$namespace}-table-text-color: #cfd3dc;
299
+
300
+ background-color: #141414;
301
+
302
+ .#{$namespace}-table__header-cell {
303
+ &.is-sortable {
304
+ &:hover {
305
+ background-color: #262727;
306
+ }
307
+ }
308
+ }
309
+
310
+ @include m('striped') {
311
+ .#{$namespace}-table__row--striped {
312
+ background-color: #1d1d1d;
313
+ }
314
+ }
315
+
316
+ @include e('loading') {
317
+ background-color: rgba(20, 20, 20, 0.9);
318
+ }
319
+
320
+ @include e('loading-spinner') {
321
+ border-color: #363637;
322
+ border-top-color: $color-primary;
323
+ }
324
+
325
+ @include e('sort-icon') {
326
+ &--asc {
327
+ border-bottom-color: #5a5a5c;
328
+
329
+ &.is-active {
330
+ border-bottom-color: $color-primary;
331
+ }
332
+ }
333
+
334
+ &--desc {
335
+ border-top-color: #5a5a5c;
336
+
337
+ &.is-active {
338
+ border-top-color: $color-primary;
339
+ }
340
+ }
341
+ }
342
+ }
343
+ }