@bifrostui/styles 1.5.0 → 2.0.0-alpha.0

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.
package/dist/index.css CHANGED
@@ -1,81 +1,47 @@
1
1
  /* stylelint-disable selector-type-no-unknown */
2
- @media (prefers-color-scheme: light) {
3
- [data-color-mode='auto'][data-theme='dm'] {
4
- /** 颜色 */
5
- --bui-color-blue: #48b1f1;
6
- --bui-color-orange: #ff8f3f;
7
- --bui-color-gray: #f5f5f5;
8
- --bui-color-pink: #ff8e92;
9
- --bui-color-neutral-2: #4d4d56;
10
- --bui-color-neutral-3: #9c9ca5;
11
- --bui-color-neutral-5: #f1f1f1;
12
- --bui-color-bg-default: #f4f5f6;
13
- --bui-color-powder-start: #ff72a2;
14
- --bui-color-powder-end: #ff7070;
15
- --bui-title-size-2: 20px;
16
- --bui-title-size-3: 18px;
17
- --bui-color-red: #ff4886;
18
- --bui-color-fg-default: #2e333e;
19
- --bui-color-fg-muted: #2e333e;
20
- --bui-shape-radius-label: 4px;
21
- }
2
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
3
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
4
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
5
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
6
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
7
+ .bui-pioneer-light .bui-btn.bui-btn-contained.bui-btn-primary.bui-btn-large,
8
+ [data-color-mode][data-theme='pioneer'] .bui-btn.bui-btn-contained.bui-btn-primary.bui-btn-large {
9
+ background-image: radial-gradient(35px 25px ellipse at 2% 110%, #fffe1e 0%, rgba(251, 134, 35, 0) 99%), radial-gradient(35px 25px ellipse at 110% 120%, #ff3018 0%, rgba(0, 48, 24, 0) 92%), linear-gradient(90deg, #fc8622 0%, #ff5000 100%);
22
10
  }
23
- @media (prefers-color-scheme: dark) {
24
- [data-color-mode='auto'][data-theme='dm'] {
25
- --bui-color-neutral-5: #e5e5e5;
26
- --bui-color-powder-start: #ff4886;
27
- --bui-color-powder-end: #ffa662;
28
- --bui-color-fg-default: #f0f6fc;
29
- --bui-color-fg-muted: #8b949e;
30
- --bui-color-fg-subtle: #484f58;
31
- --bui-color-fg-disabled: #484f58;
32
- --bui-color-bg-default: #010409;
33
- --bui-color-bg-view: #161b22;
34
- --bui-color-bg-popover: rgba(72, 79, 88, 0.7);
35
- --bui-color-bg-alpha-light-9: rgba(22, 27, 34, 0.9);
36
- --bui-color-bg-alpha-light-7: rgba(22, 27, 34, 0.7);
37
- --bui-color-bg-alpha-light-5: rgba(22, 27, 34, 0.5);
38
- --bui-color-bg-alpha-light-3: rgba(22, 27, 34, 0.3);
39
- --bui-color-bg-alpha-light-1: rgba(22, 27, 34, 0.1);
40
- --bui-color-bg-alpha-dark-9: rgba(72, 79, 88, 0.9);
41
- --bui-color-bg-alpha-dark-7: rgba(72, 79, 88, 0.7);
42
- --bui-color-bg-alpha-dark-5: rgba(72, 79, 88, 0.5);
43
- --bui-color-bg-alpha-dark-3: rgba(72, 79, 88, 0.3);
44
- --bui-color-bg-alpha-dark-1: rgba(72, 79, 88, 0.1);
45
- --bui-color-border-default: #30363d;
46
- }
11
+ .bui-pioneer-light .bui-btn.bui-btn-contained.bui-btn-primary.bui-btn-full,
12
+ [data-color-mode][data-theme='pioneer'] .bui-btn.bui-btn-contained.bui-btn-primary.bui-btn-full {
13
+ background-image: radial-gradient(93px 50px ellipse at 2% 110%, #fffe1e 0%, rgba(251, 134, 35, 0) 100%), radial-gradient(93px 50px ellipse at 98% 110%, #ff3018 0%, rgba(0, 48, 24, 0) 92%), linear-gradient(90deg, #fc8622 0%, #ff5000 100%);
47
14
  }
48
- /* default theme */
15
+ .bui-pioneer-light .bui-tabs .bui-tabs-indicator,
16
+ [data-color-mode][data-theme='pioneer'] .bui-tabs .bui-tabs-indicator {
17
+ background-image: linear-gradient(90deg, #ff9b00 0%, #ffa700 21%, #ff8300 100%);
18
+ }
19
+ /* 经典 */
49
20
  :root,
50
21
  page,
51
22
  xhs-page,
52
23
  .bui-default-light,
53
- [data-color-mode='light'][data-theme='default'] {
54
- /** 品牌红 */
24
+ [data-color-mode='light'][data-theme] {
25
+ --bui-font-family: 'PingFang SC', 'Chinese Quote', 'Segoe UI', roboto,
26
+ 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', helvetica, arial,
27
+ sans-serif;
55
28
  --bui-color-red: #ff335c;
56
29
  --bui-color-red-light: #ffebef;
57
- /** 明亮粉 */
58
30
  --bui-color-pink: #dd10f2;
59
31
  --bui-color-pink-light: #fce7fe;
60
- /** 活力橙 */
61
32
  --bui-color-orange: #ff8533;
62
33
  --bui-color-orange-light: #fff0e5;
63
- /** 亲和绿 */
64
34
  --bui-color-green: #00d68f;
65
35
  --bui-color-green-light: #dcf9f0;
66
- /** 神秘紫 */
67
36
  --bui-color-purple: #8b52ff;
68
37
  --bui-color-purple-light: #f2ebff;
69
- /** 宁静蓝 */
70
38
  --bui-color-blue: #148aff;
71
39
  --bui-color-blue-light: #e1f0ff;
72
- /** 中性灰 */
73
40
  --bui-color-gray: #8896b1;
74
41
  --bui-color-gray-light: #f3f5f8;
75
42
  --bui-color-black: #000;
76
43
  --bui-color-white: #fff;
77
44
  --bui-color-vip: #ff866e;
78
- /** 中性色 */
79
45
  --bui-color-neutral-0: var(--bui-color-black);
80
46
  --bui-color-neutral-1: #2e333e;
81
47
  --bui-color-neutral-2: #5f6672;
@@ -84,11 +50,9 @@ xhs-page,
84
50
  --bui-color-neutral-5: #e9ebef;
85
51
  --bui-color-neutral-6: #f5f6f8;
86
52
  --bui-color-neutral-7: var(--bui-color-white);
87
- /** 字重 */
88
53
  --bui-font-weight-normal: 400;
89
54
  --bui-font-weight-medium: 500;
90
55
  --bui-font-weight-bold: 600;
91
- /** 主题 */
92
56
  --bui-color-primary: var(--bui-color-red);
93
57
  --bui-color-primary-light: var(--bui-color-red-light);
94
58
  --bui-color-info: var(--bui-color-blue);
@@ -99,7 +63,6 @@ xhs-page,
99
63
  --bui-color-warning-light: var(--bui-color-orange-light);
100
64
  --bui-color-danger: var(--bui-color-red);
101
65
  --bui-color-danger-light: var(--bui-color-red-light);
102
- /** 语义化字体 */
103
66
  --bui-title-size-1: 21px;
104
67
  --bui-title-size-2: 18px;
105
68
  --bui-title-size-3: 16px;
@@ -166,35 +129,10 @@ xhs-page,
166
129
  --bui-z-index-popover: 1300;
167
130
  --bui-z-index-tooltip: 1400;
168
131
  --bui-z-index-toast: 1500;
169
- --bui-font-family: 'PingFang SC', 'Chinese Quote', 'Segoe UI', roboto,
170
- 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', helvetica, arial,
171
- sans-serif;
172
- }
173
- .bui-dark,
174
- [data-color-mode='dark'][data-theme='default'] {
175
- --bui-color-fg-default: #f0f6fc;
176
- --bui-color-fg-muted: #8b949e;
177
- --bui-color-fg-subtle: #484f58;
178
- --bui-color-fg-disabled: #484f58;
179
- --bui-color-bg-default: #010409;
180
- --bui-color-bg-view: #161b22;
181
- --bui-color-bg-popover: rgba(72, 79, 88, 0.7);
182
- --bui-color-bg-alpha-light-9: rgba(22, 27, 34, 0.9);
183
- --bui-color-bg-alpha-light-7: rgba(22, 27, 34, 0.7);
184
- --bui-color-bg-alpha-light-5: rgba(22, 27, 34, 0.5);
185
- --bui-color-bg-alpha-light-3: rgba(22, 27, 34, 0.3);
186
- --bui-color-bg-alpha-light-1: rgba(22, 27, 34, 0.1);
187
- --bui-color-bg-alpha-dark-9: rgba(72, 79, 88, 0.9);
188
- --bui-color-bg-alpha-dark-7: rgba(72, 79, 88, 0.7);
189
- --bui-color-bg-alpha-dark-5: rgba(72, 79, 88, 0.5);
190
- --bui-color-bg-alpha-dark-3: rgba(72, 79, 88, 0.3);
191
- --bui-color-bg-alpha-dark-1: rgba(72, 79, 88, 0.1);
192
- --bui-color-border-default: #30363d;
193
132
  }
194
- /** 大麦主题 */
133
+ /** 大麦主题-高亮 */
195
134
  .bui-dm-light,
196
- [data-color-mode='light'][data-theme='dm'] {
197
- /** 颜色 */
135
+ [data-color-mode][data-theme='dm'] {
198
136
  --bui-color-blue: #48b1f1;
199
137
  --bui-color-orange: #ff8f3f;
200
138
  --bui-color-gray: #f5f5f5;
@@ -212,12 +150,46 @@ xhs-page,
212
150
  --bui-color-fg-muted: #2e333e;
213
151
  --bui-shape-radius-label: 4px;
214
152
  }
215
- /** 大麦主题 */
216
- .bui-dm-dark,
217
- [data-color-mode='dark'][data-theme='dm'] {
218
- --bui-color-neutral-5: #e5e5e5;
219
- --bui-color-powder-start: #ff4886;
220
- --bui-color-powder-end: #ffa662;
153
+ /** 先锋主题 */
154
+ .bui-pioneer-light,
155
+ [data-color-mode][data-theme='pioneer'] {
156
+ --bui-font-family-accent: 'AlibabaPuHuiTi-Heavy', 'PingFang SC',
157
+ 'Chinese Quote', 'Segoe UI', roboto, 'Hiragino Sans GB', 'Microsoft YaHei',
158
+ 'Helvetica Neue', helvetica, arial, sans-serif;
159
+ --bui-color-primary: #ff7600;
160
+ --bui-color-primary-light: #ffefe5;
161
+ --bui-title-size-4: 14px;
162
+ --bui-color-fg-default: #181818;
163
+ --bui-color-fg-disabled: rgba(24, 24, 24, 0.5);
164
+ --bui-color-border-primary: rgba(20, 138, 255, 0.4);
165
+ --bui-color-primary-start: #ff9c0d;
166
+ --bui-color-primary-end: #ff6813;
167
+ --bui-color-info-start: #17b6ff;
168
+ --bui-color-info-end: #48d3ff;
169
+ --bui-color-warning-start: #ffcf02;
170
+ --bui-color-warning-end: #ffb205;
171
+ --bui-shape-radius-drawer: 15px;
172
+ --bui-shape-radius-card: 12px;
173
+ --bui-shape-radius-default: 9px;
174
+ --bui-btn-full-height: 45px;
175
+ --bui-btn-large-height: 30px;
176
+ --bui-btn-full-font-size: 18px;
177
+ --bui-btn-full-font-family: var(--bui-font-family-accent);
178
+ --bui-btn-small-border-radius: 6px;
179
+ --bui-btn-border-radius: 6px;
180
+ --bui-btn-large-border-radius: 7px;
181
+ --bui-btn-full-border-radius: 14px;
182
+ --bui-card-header-title-font-size: var(--bui-title-size-3);
183
+ --bui-tab-font-size: var(--bui-title-size-4);
184
+ --bui-tab-color: var(--bui-color-fg-muted);
185
+ /* prettier-ignore */
186
+ --bui-tabs-indicator-height: 4PX;
187
+ --bui-tabs-indicator-border-radius: 2px;
188
+ --bui-tabs-indicator-box-shadow: 0 2px 4px 0 rgba(255, 98, 0, 0.2);
189
+ }
190
+ /** 暗黑模式 */
191
+ .bui-dark,
192
+ [data-color-mode='dark'][data-theme] {
221
193
  --bui-color-fg-default: #f0f6fc;
222
194
  --bui-color-fg-muted: #8b949e;
223
195
  --bui-color-fg-subtle: #484f58;
@@ -237,170 +209,6 @@ xhs-page,
237
209
  --bui-color-bg-alpha-dark-1: rgba(72, 79, 88, 0.1);
238
210
  --bui-color-border-default: #30363d;
239
211
  }
240
- @media (prefers-color-scheme: light) {
241
- [data-color-mode='auto'] {
242
- /** 品牌红 */
243
- --bui-color-red: #ff335c;
244
- --bui-color-red-light: #ffebef;
245
- /** 明亮粉 */
246
- --bui-color-pink: #dd10f2;
247
- --bui-color-pink-light: #fce7fe;
248
- /** 活力橙 */
249
- --bui-color-orange: #ff8533;
250
- --bui-color-orange-light: #fff0e5;
251
- /** 亲和绿 */
252
- --bui-color-green: #00d68f;
253
- --bui-color-green-light: #dcf9f0;
254
- /** 神秘紫 */
255
- --bui-color-purple: #8b52ff;
256
- --bui-color-purple-light: #f2ebff;
257
- /** 宁静蓝 */
258
- --bui-color-blue: #148aff;
259
- --bui-color-blue-light: #e1f0ff;
260
- /** 中性灰 */
261
- --bui-color-gray: #8896b1;
262
- --bui-color-gray-light: #f3f5f8;
263
- --bui-color-black: #000;
264
- --bui-color-white: #fff;
265
- --bui-color-vip: #ff866e;
266
- /** 中性色 */
267
- --bui-color-neutral-0: var(--bui-color-black);
268
- --bui-color-neutral-1: #2e333e;
269
- --bui-color-neutral-2: #5f6672;
270
- --bui-color-neutral-3: #959aa5;
271
- --bui-color-neutral-4: #ced1d6;
272
- --bui-color-neutral-5: #e9ebef;
273
- --bui-color-neutral-6: #f5f6f8;
274
- --bui-color-neutral-7: var(--bui-color-white);
275
- /** 字重 */
276
- --bui-font-weight-normal: 400;
277
- --bui-font-weight-medium: 500;
278
- --bui-font-weight-bold: 600;
279
- /** 主题 */
280
- --bui-color-primary: var(--bui-color-red);
281
- --bui-color-primary-light: var(--bui-color-red-light);
282
- --bui-color-info: var(--bui-color-blue);
283
- --bui-color-info-light: var(--bui-color-blue-light);
284
- --bui-color-success: var(--bui-color-green);
285
- --bui-color-success-light: var(--bui-color-green-light);
286
- --bui-color-warning: var(--bui-color-orange);
287
- --bui-color-warning-light: var(--bui-color-orange-light);
288
- --bui-color-danger: var(--bui-color-red);
289
- --bui-color-danger-light: var(--bui-color-red-light);
290
- /** 语义化字体 */
291
- --bui-title-size-1: 21px;
292
- --bui-title-size-2: 18px;
293
- --bui-title-size-3: 16px;
294
- --bui-title-size-4: 15px;
295
- --bui-text-size-1: 14px;
296
- --bui-text-size-2: 13px;
297
- --bui-text-size-3: 12px;
298
- --bui-text-size-4: 11px;
299
- --bui-text-size-5: 10px;
300
- --bui-color-fg-default: var(--bui-color-neutral-1);
301
- --bui-color-fg-muted: var(--bui-color-neutral-2);
302
- --bui-color-fg-subtle: var(--bui-color-neutral-3);
303
- --bui-color-fg-disabled: var(--bui-color-neutral-4);
304
- --bui-color-bg-default: var(--bui-color-neutral-6);
305
- --bui-color-bg-view: var(--bui-color-neutral-7);
306
- --bui-color-bg-popover: var(--bui-color-neutral-7);
307
- --bui-color-bg-alpha-light-9: rgba(255, 255, 255, 0.9);
308
- --bui-color-bg-alpha-light-7: rgba(255, 255, 255, 0.7);
309
- --bui-color-bg-alpha-light-5: rgba(255, 255, 255, 0.5);
310
- --bui-color-bg-alpha-light-3: rgba(255, 255, 255, 0.3);
311
- --bui-color-bg-alpha-light-1: rgba(255, 255, 255, 0.1);
312
- --bui-color-bg-alpha-dark-9: rgba(0, 0, 0, 0.9);
313
- --bui-color-bg-alpha-dark-7: rgba(0, 0, 0, 0.7);
314
- --bui-color-bg-alpha-dark-5: rgba(0, 0, 0, 0.5);
315
- --bui-color-bg-alpha-dark-3: rgba(0, 0, 0, 0.3);
316
- --bui-color-bg-alpha-dark-1: rgba(0, 0, 0, 0.1);
317
- --bui-color-border-default: var(--bui-color-neutral-5);
318
- --bui-color-border-primary: rgba(255, 51, 92, 0.4);
319
- --bui-color-border-info: rgba(20, 138, 255, 0.4);
320
- --bui-color-border-success: rgba(0, 214, 143, 0.4);
321
- --bui-color-border-warning: rgba(255, 133, 51, 0.4);
322
- --bui-color-border-danger: rgba(255, 51, 92, 0.4);
323
- --bui-color-border-gray: rgba(136, 150, 177, 0.4);
324
- --bui-color-primary-start: #ef16b9;
325
- --bui-color-primary-end: var(--bui-color-red);
326
- --bui-color-secondary-start: #f32adf;
327
- --bui-color-secondary-end: var(--bui-color-pink);
328
- --bui-color-info-start: #33a7ff;
329
- --bui-color-info-end: var(--bui-color-blue);
330
- --bui-color-warning-start: #ffad33;
331
- --bui-color-warning-end: var(--bui-color-orange);
332
- --bui-color-success-start: #00ebac;
333
- --bui-color-success-end: var(--bui-color-green);
334
- --bui-color-danger-start: #ef16b9;
335
- --bui-color-danger-end: var(--bui-color-red);
336
- --bui-color-vip-start: #ffd4a6;
337
- --bui-color-vip-end: #ffbeae;
338
- --bui-shape-radius-popover: 18px;
339
- --bui-shape-radius-drawer: 12px;
340
- --bui-shape-radius-card: 9px;
341
- --bui-shape-radius-default: 6px;
342
- --bui-shape-radius-poster: 4px;
343
- --bui-shape-radius-label: 3px;
344
- --bui-spacing-xl: 15px;
345
- --bui-spacing-lg: 12px;
346
- --bui-spacing-md: 9px;
347
- --bui-spacing-sm: 6px;
348
- --bui-spacing-xs: 4px;
349
- --bui-line-height: 1.5;
350
- --bui-z-index-dropdown: 1000;
351
- --bui-z-index-affix: 1100;
352
- --bui-z-index-modal-backdrop: 1200;
353
- --bui-z-index-modal: 1200;
354
- --bui-z-index-popover: 1300;
355
- --bui-z-index-tooltip: 1400;
356
- --bui-z-index-toast: 1500;
357
- --bui-font-family: 'PingFang SC', 'Chinese Quote', 'Segoe UI', roboto,
358
- 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', helvetica, arial,
359
- sans-serif;
360
- }
361
- }
362
- @media (prefers-color-scheme: dark) {
363
- [data-color-mode='auto'] {
364
- --bui-color-fg-default: #f0f6fc;
365
- --bui-color-fg-muted: #8b949e;
366
- --bui-color-fg-subtle: #484f58;
367
- --bui-color-fg-disabled: #484f58;
368
- --bui-color-bg-default: #010409;
369
- --bui-color-bg-view: #161b22;
370
- --bui-color-bg-popover: rgba(72, 79, 88, 0.7);
371
- --bui-color-bg-alpha-light-9: rgba(22, 27, 34, 0.9);
372
- --bui-color-bg-alpha-light-7: rgba(22, 27, 34, 0.7);
373
- --bui-color-bg-alpha-light-5: rgba(22, 27, 34, 0.5);
374
- --bui-color-bg-alpha-light-3: rgba(22, 27, 34, 0.3);
375
- --bui-color-bg-alpha-light-1: rgba(22, 27, 34, 0.1);
376
- --bui-color-bg-alpha-dark-9: rgba(72, 79, 88, 0.9);
377
- --bui-color-bg-alpha-dark-7: rgba(72, 79, 88, 0.7);
378
- --bui-color-bg-alpha-dark-5: rgba(72, 79, 88, 0.5);
379
- --bui-color-bg-alpha-dark-3: rgba(72, 79, 88, 0.3);
380
- --bui-color-bg-alpha-dark-1: rgba(72, 79, 88, 0.1);
381
- --bui-color-border-default: #30363d;
382
- }
383
- }
384
- /* set color-scheme */
385
- :root,
386
- page,
387
- xhs-page,
388
- [data-color-mode='light'] {
389
- color-scheme: light;
390
- }
391
- [data-color-mode='dark'] {
392
- color-scheme: dark;
393
- }
394
- @media (prefers-color-scheme: light) {
395
- [data-color-mode='auto'] {
396
- color-scheme: light;
397
- }
398
- }
399
- @media (prefers-color-scheme: dark) {
400
- [data-color-mode='auto'] {
401
- color-scheme: dark;
402
- }
403
- }
404
212
  [data-color-mode] {
405
213
  color: var(--bui-color-fg-default);
406
214
  background-color: var(--bui-color-bg-default);
package/index.less CHANGED
@@ -1,80 +1,26 @@
1
1
  /* stylelint-disable selector-type-no-unknown */
2
2
 
3
- @import './theme/index.less';
3
+ @import './themes/index.less';
4
4
  @import './mixins/index.less';
5
5
 
6
- @media (prefers-color-scheme: light) {
7
- [data-color-mode='auto'][data-theme='dm'] {
8
- .dm-light();
9
- }
6
+ /* 经典 */
7
+ @{theme-selector-default-light} {
8
+ .default-light();
10
9
  }
11
10
 
12
- @media (prefers-color-scheme: dark) {
13
- [data-color-mode='auto'][data-theme='dm'] {
14
- .dm-dark();
15
- }
16
- }
17
-
18
- /* default theme */
19
- :root,
20
- page,
21
- xhs-page,
22
- .bui-default-light,
23
- [data-color-mode='light'][data-theme='default'] {
24
- .light();
25
- }
26
-
27
- .bui-dark,
28
- [data-color-mode='dark'][data-theme='default'] {
29
- .dark();
30
- }
31
-
32
- /** 大麦主题 */
33
- .bui-dm-light,
34
- [data-color-mode='light'][data-theme='dm'] {
11
+ /** 大麦主题-高亮 */
12
+ @{theme-selector-dm-light} {
35
13
  .dm-light();
36
14
  }
37
15
 
38
- /** 大麦主题 */
39
- .bui-dm-dark,
40
- [data-color-mode='dark'][data-theme='dm'] {
41
- .dm-dark();
42
- }
43
-
44
- @media (prefers-color-scheme: light) {
45
- [data-color-mode='auto'] {
46
- .light();
47
- }
48
- }
49
-
50
- @media (prefers-color-scheme: dark) {
51
- [data-color-mode='auto'] {
52
- .dark();
53
- }
54
- }
55
-
56
- /* set color-scheme */
57
- :root,
58
- page,
59
- xhs-page,
60
- [data-color-mode='light'] {
61
- color-scheme: light;
62
- }
63
-
64
- [data-color-mode='dark'] {
65
- color-scheme: dark;
66
- }
67
-
68
- @media (prefers-color-scheme: light) {
69
- [data-color-mode='auto'] {
70
- color-scheme: light;
71
- }
16
+ /** 先锋主题 */
17
+ @{theme-selector-pioneer-light} {
18
+ .pioneer-light();
72
19
  }
73
20
 
74
- @media (prefers-color-scheme: dark) {
75
- [data-color-mode='auto'] {
76
- color-scheme: dark;
77
- }
21
+ /** 暗黑模式 */
22
+ @{theme-selector-default-dark} {
23
+ .default-dark();
78
24
  }
79
25
 
80
26
  [data-color-mode] {
@@ -1,3 +1,3 @@
1
- .linear-gradient(@start: @pink-start, @end: @pink-end) {
1
+ .linear-gradient(@start: var(--bui-color-primary-start), @end: var(--bui-color-primary-end)) {
2
2
  background-image: linear-gradient(90deg, @start 0%, @end 100%);
3
3
  }
@@ -1,5 +1,5 @@
1
1
  @root-selector: ~':root,page,xhs-page';
2
2
  @theme-selector-default-light: ~":root,page,xhs-page,.bui-default-light,[data-color-mode='light'][data-theme]";
3
- @theme-selector-default-dark: ~":root,.bui-dark,[data-color-mode='dark'][data-theme]";
3
+ @theme-selector-default-dark: ~".bui-dark,[data-color-mode='dark'][data-theme]";
4
4
  @theme-selector-pioneer-light: ~".bui-pioneer-light,[data-color-mode][data-theme='pioneer']";
5
5
  @theme-selector-dm-light: ~".bui-dm-light,[data-color-mode][data-theme='dm']";
package/package.json CHANGED
@@ -1,13 +1,21 @@
1
1
  {
2
2
  "name": "@bifrostui/styles",
3
- "version": "1.5.0",
3
+ "version": "2.0.0-alpha.0",
4
4
  "main": "dist/index.css",
5
5
  "description": "Common style definitions for BUI React components",
6
6
  "homepage": "http://bui.taopiaopiao.com",
7
7
  "license": "MIT",
8
+ "exports": {
9
+ ".": "./dist/index.css",
10
+ "./index.less": "./index.less",
11
+ "./themes": "./themes/index.less",
12
+ "./registry": "./registry/index.mjs",
13
+ "./mixins/index.less": "./mixins/index.less"
14
+ },
8
15
  "files": [
9
16
  "index.less",
10
- "theme",
17
+ "themes",
18
+ "registry",
11
19
  "mixins",
12
20
  "dist",
13
21
  "package.json",
@@ -21,6 +29,7 @@
21
29
  "less": "^4.2.0"
22
30
  },
23
31
  "scripts": {
32
+ "theme:create": "node ./scripts/create-theme.mjs",
24
33
  "build": "rm -rf dist && mkdir dist && lessc index.less > dist/index.css"
25
34
  }
26
35
  }
@@ -0,0 +1,34 @@
1
+ export const defaultDark = {
2
+ name: 'defaultDark',
3
+ label: 'Default Dark',
4
+ mixinName: 'default-dark',
5
+ cssVars: {
6
+ // default是最通用的色彩,比如标题和一级信息
7
+ '--bui-color-fg-default': '#f0f6fc',
8
+ // 柔和色,通常用于次级及补充说明信息
9
+ '--bui-color-fg-muted': '#8b949e',
10
+ // 淡色,很细微的色彩,用于辅助和需要弱化的信息
11
+ '--bui-color-fg-subtle': '#484f58',
12
+ // 用于失效、不可用等状态
13
+ '--bui-color-fg-disabled': '#484f58',
14
+
15
+ // 默认背景色
16
+ '--bui-color-bg-default': '#010409',
17
+ // 视图背景色
18
+ '--bui-color-bg-view': '#161b22',
19
+ '--bui-color-bg-popover': 'rgba(72, 79, 88, 0.7)',
20
+ '--bui-color-bg-alpha-light-9': 'rgba(22, 27, 34, 0.9)',
21
+ '--bui-color-bg-alpha-light-7': 'rgba(22, 27, 34, 0.7)',
22
+ '--bui-color-bg-alpha-light-5': 'rgba(22, 27, 34, 0.5)',
23
+ '--bui-color-bg-alpha-light-3': 'rgba(22, 27, 34, 0.3)',
24
+ '--bui-color-bg-alpha-light-1': 'rgba(22, 27, 34, 0.1)',
25
+ '--bui-color-bg-alpha-dark-9': 'rgba(72, 79, 88, 0.9)',
26
+ '--bui-color-bg-alpha-dark-7': 'rgba(72, 79, 88, 0.7)',
27
+ '--bui-color-bg-alpha-dark-5': 'rgba(72, 79, 88, 0.5)',
28
+ '--bui-color-bg-alpha-dark-3': 'rgba(72, 79, 88, 0.3)',
29
+ '--bui-color-bg-alpha-dark-1': 'rgba(72, 79, 88, 0.1)',
30
+
31
+ // 分割线、边框
32
+ '--bui-color-border-default': '#30363d',
33
+ },
34
+ };
@@ -0,0 +1,158 @@
1
+ export const defaultLight = {
2
+ name: 'defaultLight',
3
+ label: 'Default Light',
4
+ mixinName: 'default-light',
5
+ cssVars: {
6
+ // 字体
7
+ '--bui-font-family':
8
+ "'PingFang SC', 'Chinese Quote', 'Segoe UI', roboto, 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', helvetica, arial, sans-serif",
9
+
10
+ /** 品牌红 */
11
+ '--bui-color-red': '#ff335c',
12
+ '--bui-color-red-light': '#ffebef',
13
+
14
+ /** 明亮粉 */
15
+ '--bui-color-pink': '#dd10f2',
16
+ '--bui-color-pink-light': '#fce7fe',
17
+
18
+ /** 活力橙 */
19
+ '--bui-color-orange': '#ff8533',
20
+ '--bui-color-orange-light': '#fff0e5',
21
+
22
+ /** 亲和绿 */
23
+ '--bui-color-green': '#00d68f',
24
+ '--bui-color-green-light': '#dcf9f0',
25
+
26
+ /** 神秘紫 */
27
+ '--bui-color-purple': '#8b52ff',
28
+ '--bui-color-purple-light': '#f2ebff',
29
+
30
+ /** 宁静蓝 */
31
+ '--bui-color-blue': '#148aff',
32
+ '--bui-color-blue-light': '#e1f0ff',
33
+
34
+ /** 中性灰 */
35
+ '--bui-color-gray': '#8896b1',
36
+ '--bui-color-gray-light': '#f3f5f8',
37
+ '--bui-color-black': '#000',
38
+ '--bui-color-white': '#fff',
39
+ '--bui-color-vip': '#ff866e',
40
+
41
+ /** 中性色 */
42
+ '--bui-color-neutral-0': 'var(--bui-color-black)',
43
+ '--bui-color-neutral-1': '#2e333e',
44
+ '--bui-color-neutral-2': '#5f6672',
45
+ '--bui-color-neutral-3': '#959aa5',
46
+ '--bui-color-neutral-4': '#ced1d6',
47
+ '--bui-color-neutral-5': '#e9ebef',
48
+ '--bui-color-neutral-6': '#f5f6f8',
49
+ '--bui-color-neutral-7': 'var(--bui-color-white)',
50
+
51
+ /** 字重 */
52
+ '--bui-font-weight-normal': '400',
53
+ '--bui-font-weight-medium': '500',
54
+ '--bui-font-weight-bold': '600',
55
+
56
+ /** 语义色 */
57
+ '--bui-color-primary': 'var(--bui-color-red)',
58
+ '--bui-color-primary-light': 'var(--bui-color-red-light)',
59
+ '--bui-color-info': 'var(--bui-color-blue)',
60
+ '--bui-color-info-light': 'var(--bui-color-blue-light)',
61
+ '--bui-color-success': 'var(--bui-color-green)',
62
+ '--bui-color-success-light': 'var(--bui-color-green-light)',
63
+ '--bui-color-warning': 'var(--bui-color-orange)',
64
+ '--bui-color-warning-light': 'var(--bui-color-orange-light)',
65
+ '--bui-color-danger': 'var(--bui-color-red)',
66
+ '--bui-color-danger-light': 'var(--bui-color-red-light)',
67
+
68
+ /** 语义化字号 */
69
+ '--bui-title-size-1': '21px',
70
+ '--bui-title-size-2': '18px',
71
+ '--bui-title-size-3': '16px',
72
+ '--bui-title-size-4': '15px',
73
+ '--bui-text-size-1': '14px',
74
+ '--bui-text-size-2': '13px',
75
+ '--bui-text-size-3': '12px',
76
+ '--bui-text-size-4': '11px',
77
+ '--bui-text-size-5': '10px',
78
+
79
+ // 前景色,通常用于文字
80
+ // default是最通用的色彩,比如标题和一级信息
81
+ '--bui-color-fg-default': 'var(--bui-color-neutral-1)',
82
+ // 柔和色,通常用于次级及补充说明信息
83
+ '--bui-color-fg-muted': 'var(--bui-color-neutral-2)',
84
+ // 淡色,很细微的色彩,用于辅助和需要弱化的信息
85
+ '--bui-color-fg-subtle': 'var(--bui-color-neutral-3)',
86
+ // 用于失效、不可用等状态
87
+ '--bui-color-fg-disabled': 'var(--bui-color-neutral-4)',
88
+
89
+ // 背景色
90
+ '--bui-color-bg-default': 'var(--bui-color-neutral-6)',
91
+ // 视图背景色
92
+ '--bui-color-bg-view': 'var(--bui-color-neutral-7)',
93
+ '--bui-color-bg-popover': 'var(--bui-color-neutral-7)',
94
+ '--bui-color-bg-alpha-light-9': 'rgba(255, 255, 255, 0.9)',
95
+ '--bui-color-bg-alpha-light-7': 'rgba(255, 255, 255, 0.7)',
96
+ '--bui-color-bg-alpha-light-5': 'rgba(255, 255, 255, 0.5)',
97
+ '--bui-color-bg-alpha-light-3': 'rgba(255, 255, 255, 0.3)',
98
+ '--bui-color-bg-alpha-light-1': 'rgba(255, 255, 255, 0.1)',
99
+ '--bui-color-bg-alpha-dark-9': 'rgba(0, 0, 0, 0.9)',
100
+ '--bui-color-bg-alpha-dark-7': 'rgba(0, 0, 0, 0.7)',
101
+ '--bui-color-bg-alpha-dark-5': 'rgba(0, 0, 0, 0.5)',
102
+ '--bui-color-bg-alpha-dark-3': 'rgba(0, 0, 0, 0.3)',
103
+ '--bui-color-bg-alpha-dark-1': 'rgba(0, 0, 0, 0.1)',
104
+
105
+ // 分割线、边框
106
+ '--bui-color-border-default': 'var(--bui-color-neutral-5)',
107
+ '--bui-color-border-primary': 'rgba(255, 51, 92, 0.4)',
108
+ '--bui-color-border-info': 'rgba(20, 138, 255, 0.4)',
109
+ '--bui-color-border-success': 'rgba(0, 214, 143, 0.4)',
110
+ '--bui-color-border-warning': 'rgba(255, 133, 51, 0.4)',
111
+ '--bui-color-border-danger': 'rgba(255, 51, 92, 0.4)',
112
+ '--bui-color-border-gray': 'rgba(136, 150, 177, 0.4)',
113
+
114
+ // 主题色渐变
115
+ '--bui-color-primary-start': '#ef16b9',
116
+ '--bui-color-primary-end': 'var(--bui-color-red)',
117
+ '--bui-color-secondary-start': '#f32adf',
118
+ '--bui-color-secondary-end': 'var(--bui-color-pink)',
119
+ '--bui-color-info-start': '#33a7ff',
120
+ '--bui-color-info-end': 'var(--bui-color-blue)',
121
+ '--bui-color-warning-start': '#ffad33',
122
+ '--bui-color-warning-end': 'var(--bui-color-orange)',
123
+ '--bui-color-success-start': '#00ebac',
124
+ '--bui-color-success-end': 'var(--bui-color-green)',
125
+ '--bui-color-danger-start': '#ef16b9',
126
+ '--bui-color-danger-end': 'var(--bui-color-red)',
127
+ '--bui-color-vip-start': '#ffd4a6',
128
+ '--bui-color-vip-end': '#ffbeae',
129
+
130
+ // 形状定义
131
+ // 页面级浮层
132
+ '--bui-shape-radius-popover': '18px',
133
+ '--bui-shape-radius-drawer': '12px',
134
+ // 卡片、普通视图、抽屉、action sheet,常用于信息密度较低的视图
135
+ '--bui-shape-radius-card': '9px',
136
+ // 独立海报、卡片,常用于信息密度较高的视图
137
+ '--bui-shape-radius-default': '6px',
138
+ // 容器内海报
139
+ '--bui-shape-radius-poster': '4px',
140
+ // 标签
141
+ '--bui-shape-radius-label': '3px',
142
+
143
+ // 空间定义
144
+ '--bui-spacing-xl': '15px',
145
+ '--bui-spacing-lg': '12px',
146
+ '--bui-spacing-md': '9px',
147
+ '--bui-spacing-sm': '6px',
148
+ '--bui-spacing-xs': '4px',
149
+ '--bui-line-height': '1.5',
150
+ '--bui-z-index-dropdown': '1000', // dropdown 、cascader、DatePicker、select、TimePicker、treeSelect
151
+ '--bui-z-index-affix': '1100', // 吸顶元素、固定元素fixed
152
+ '--bui-z-index-modal-backdrop': '1200',
153
+ '--bui-z-index-modal': '1200', // drawer、 model
154
+ '--bui-z-index-popover': '1300',
155
+ '--bui-z-index-tooltip': '1400',
156
+ '--bui-z-index-toast': '1500', // 反馈提示,高于所有元素
157
+ },
158
+ };
@@ -0,0 +1,23 @@
1
+ export const dmLight = {
2
+ name: 'dmLight',
3
+ label: 'Damai Light',
4
+ mixinName: 'dm-light',
5
+ cssVars: {
6
+ '--bui-color-blue': '#48b1f1',
7
+ '--bui-color-orange': '#ff8f3f',
8
+ '--bui-color-gray': '#f5f5f5',
9
+ '--bui-color-pink': '#ff8e92',
10
+ '--bui-color-neutral-2': '#4d4d56',
11
+ '--bui-color-neutral-3': '#9c9ca5',
12
+ '--bui-color-neutral-5': '#f1f1f1',
13
+ '--bui-color-bg-default': '#f4f5f6',
14
+ '--bui-color-powder-start': '#ff72a2',
15
+ '--bui-color-powder-end': '#ff7070',
16
+ '--bui-title-size-2': '20px',
17
+ '--bui-title-size-3': '18px',
18
+ '--bui-color-red': '#ff4886',
19
+ '--bui-color-fg-default': '#2e333e',
20
+ '--bui-color-fg-muted': '#2e333e',
21
+ '--bui-shape-radius-label': '4px',
22
+ },
23
+ };
@@ -0,0 +1,4 @@
1
+ export * from './default-dark.mjs';
2
+ export * from './default-light.mjs';
3
+ export * from './dm-light.mjs';
4
+ export * from './pioneer-light.mjs';
@@ -0,0 +1,61 @@
1
+ export const pioneerLight = {
2
+ name: 'pioneerLight',
3
+ label: 'Pioneer Light',
4
+ mixinName: 'pioneer-light',
5
+ cssVars: {
6
+ /** pioneer 特殊字体 */
7
+ '--bui-font-family-accent':
8
+ "'AlibabaPuHuiTi-Heavy', 'PingFang SC', 'Chinese Quote', 'Segoe UI', roboto, 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', helvetica, arial, sans-serif",
9
+
10
+ /** 语义色 */
11
+ '--bui-color-primary': '#ff7600',
12
+ '--bui-color-primary-light': '#ffefe5',
13
+
14
+ /** 语义化字号 */
15
+ '--bui-title-size-4': '14px',
16
+
17
+ // 前景色,通常用于文字
18
+ // default是最通用的色彩,比如标题和一级信息
19
+ '--bui-color-fg-default': '#181818',
20
+ // 用于失效、不可用等状态
21
+ '--bui-color-fg-disabled': 'rgba(24, 24, 24, 0.5)',
22
+
23
+ // 分割线、边框
24
+ '--bui-color-border-primary': 'rgba(20, 138, 255, 0.4)',
25
+
26
+ // 主题色渐变
27
+ '--bui-color-primary-start': '#ff9c0d',
28
+ '--bui-color-primary-end': '#ff6813',
29
+ '--bui-color-info-start': '#17b6ff',
30
+ '--bui-color-info-end': '#48d3ff',
31
+ '--bui-color-warning-start': '#ffcf02',
32
+ '--bui-color-warning-end': '#ffb205',
33
+
34
+ // 形状定义
35
+ '--bui-shape-radius-drawer': '15px',
36
+ // 卡片、普通视图、抽屉、action sheet,常用于信息密度较低的视图
37
+ '--bui-shape-radius-card': '12px',
38
+ // 独立海报、卡片,常用于信息密度较高的视图
39
+ '--bui-shape-radius-default': '9px',
40
+
41
+ // Button
42
+ '--bui-btn-full-height': '45px',
43
+ '--bui-btn-large-height': '30px',
44
+ '--bui-btn-full-font-size': '18px',
45
+ '--bui-btn-full-font-family': 'var(--bui-font-family-accent)',
46
+ '--bui-btn-small-border-radius': '6px',
47
+ '--bui-btn-border-radius': '6px',
48
+ '--bui-btn-large-border-radius': '7px',
49
+ '--bui-btn-full-border-radius': '14px',
50
+
51
+ // Card
52
+ '--bui-card-header-title-font-size': 'var(--bui-title-size-3)',
53
+
54
+ // Tabs
55
+ '--bui-tab-font-size': 'var(--bui-title-size-4)',
56
+ '--bui-tab-color': 'var(--bui-color-fg-muted)',
57
+ '--bui-tabs-indicator-height': '4PX',
58
+ '--bui-tabs-indicator-border-radius': '2px',
59
+ '--bui-tabs-indicator-box-shadow': '0 2px 4px 0 rgba(255, 98, 0, 0.2)',
60
+ },
61
+ };
@@ -0,0 +1,21 @@
1
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
2
+ .default-dark() {
3
+ --bui-color-fg-default: #f0f6fc;
4
+ --bui-color-fg-muted: #8b949e;
5
+ --bui-color-fg-subtle: #484f58;
6
+ --bui-color-fg-disabled: #484f58;
7
+ --bui-color-bg-default: #010409;
8
+ --bui-color-bg-view: #161b22;
9
+ --bui-color-bg-popover: rgba(72, 79, 88, 0.7);
10
+ --bui-color-bg-alpha-light-9: rgba(22, 27, 34, 0.9);
11
+ --bui-color-bg-alpha-light-7: rgba(22, 27, 34, 0.7);
12
+ --bui-color-bg-alpha-light-5: rgba(22, 27, 34, 0.5);
13
+ --bui-color-bg-alpha-light-3: rgba(22, 27, 34, 0.3);
14
+ --bui-color-bg-alpha-light-1: rgba(22, 27, 34, 0.1);
15
+ --bui-color-bg-alpha-dark-9: rgba(72, 79, 88, 0.9);
16
+ --bui-color-bg-alpha-dark-7: rgba(72, 79, 88, 0.7);
17
+ --bui-color-bg-alpha-dark-5: rgba(72, 79, 88, 0.5);
18
+ --bui-color-bg-alpha-dark-3: rgba(72, 79, 88, 0.3);
19
+ --bui-color-bg-alpha-dark-1: rgba(72, 79, 88, 0.1);
20
+ --bui-color-border-default: #30363d;
21
+ }
@@ -1,36 +1,25 @@
1
- .light() {
2
- /** 品牌红 */
1
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
2
+ .default-light() {
3
+ --bui-font-family: 'PingFang SC', 'Chinese Quote', 'Segoe UI', roboto,
4
+ 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', helvetica, arial,
5
+ sans-serif;
3
6
  --bui-color-red: #ff335c;
4
7
  --bui-color-red-light: #ffebef;
5
-
6
- /** 明亮粉 */
7
8
  --bui-color-pink: #dd10f2;
8
9
  --bui-color-pink-light: #fce7fe;
9
-
10
- /** 活力橙 */
11
10
  --bui-color-orange: #ff8533;
12
11
  --bui-color-orange-light: #fff0e5;
13
-
14
- /** 亲和绿 */
15
12
  --bui-color-green: #00d68f;
16
13
  --bui-color-green-light: #dcf9f0;
17
-
18
- /** 神秘紫 */
19
14
  --bui-color-purple: #8b52ff;
20
15
  --bui-color-purple-light: #f2ebff;
21
-
22
- /** 宁静蓝 */
23
16
  --bui-color-blue: #148aff;
24
17
  --bui-color-blue-light: #e1f0ff;
25
-
26
- /** 中性灰 */
27
18
  --bui-color-gray: #8896b1;
28
19
  --bui-color-gray-light: #f3f5f8;
29
20
  --bui-color-black: #000;
30
21
  --bui-color-white: #fff;
31
22
  --bui-color-vip: #ff866e;
32
-
33
- /** 中性色 */
34
23
  --bui-color-neutral-0: var(--bui-color-black);
35
24
  --bui-color-neutral-1: #2e333e;
36
25
  --bui-color-neutral-2: #5f6672;
@@ -39,13 +28,9 @@
39
28
  --bui-color-neutral-5: #e9ebef;
40
29
  --bui-color-neutral-6: #f5f6f8;
41
30
  --bui-color-neutral-7: var(--bui-color-white);
42
-
43
- /** 字重 */
44
31
  --bui-font-weight-normal: 400;
45
32
  --bui-font-weight-medium: 500;
46
33
  --bui-font-weight-bold: 600;
47
-
48
- /** 主题 */
49
34
  --bui-color-primary: var(--bui-color-red);
50
35
  --bui-color-primary-light: var(--bui-color-red-light);
51
36
  --bui-color-info: var(--bui-color-blue);
@@ -56,8 +41,6 @@
56
41
  --bui-color-warning-light: var(--bui-color-orange-light);
57
42
  --bui-color-danger: var(--bui-color-red);
58
43
  --bui-color-danger-light: var(--bui-color-red-light);
59
-
60
- /** 语义化字体 */
61
44
  --bui-title-size-1: 21px;
62
45
  --bui-title-size-2: 18px;
63
46
  --bui-title-size-3: 16px;
@@ -67,43 +50,30 @@
67
50
  --bui-text-size-3: 12px;
68
51
  --bui-text-size-4: 11px;
69
52
  --bui-text-size-5: 10px;
70
-
71
- // 前景色,通常用于文字
72
- // default是最通用的色彩,比如标题和一级信息
73
53
  --bui-color-fg-default: var(--bui-color-neutral-1);
74
- // 柔和色,通常用于次级及补充说明信息
75
54
  --bui-color-fg-muted: var(--bui-color-neutral-2);
76
- // 淡色,很细微的色彩,用于辅助和需要弱化的信息
77
55
  --bui-color-fg-subtle: var(--bui-color-neutral-3);
78
- // 用于失效、不可用等状态
79
56
  --bui-color-fg-disabled: var(--bui-color-neutral-4);
80
-
81
- // 默认背景色
82
57
  --bui-color-bg-default: var(--bui-color-neutral-6);
83
- // 视图背景色
84
58
  --bui-color-bg-view: var(--bui-color-neutral-7);
85
59
  --bui-color-bg-popover: var(--bui-color-neutral-7);
86
- --bui-color-bg-alpha-light-9: fade(#fff, 90%);
87
- --bui-color-bg-alpha-light-7: fade(#fff, 70%);
88
- --bui-color-bg-alpha-light-5: fade(#fff, 50%);
89
- --bui-color-bg-alpha-light-3: fade(#fff, 30%);
90
- --bui-color-bg-alpha-light-1: fade(#fff, 10%);
91
- --bui-color-bg-alpha-dark-9: fade(#000, 90%);
92
- --bui-color-bg-alpha-dark-7: fade(#000, 70%);
93
- --bui-color-bg-alpha-dark-5: fade(#000, 50%);
94
- --bui-color-bg-alpha-dark-3: fade(#000, 30%);
95
- --bui-color-bg-alpha-dark-1: fade(#000, 10%);
96
-
97
- // 分割线、边框
60
+ --bui-color-bg-alpha-light-9: rgba(255, 255, 255, 0.9);
61
+ --bui-color-bg-alpha-light-7: rgba(255, 255, 255, 0.7);
62
+ --bui-color-bg-alpha-light-5: rgba(255, 255, 255, 0.5);
63
+ --bui-color-bg-alpha-light-3: rgba(255, 255, 255, 0.3);
64
+ --bui-color-bg-alpha-light-1: rgba(255, 255, 255, 0.1);
65
+ --bui-color-bg-alpha-dark-9: rgba(0, 0, 0, 0.9);
66
+ --bui-color-bg-alpha-dark-7: rgba(0, 0, 0, 0.7);
67
+ --bui-color-bg-alpha-dark-5: rgba(0, 0, 0, 0.5);
68
+ --bui-color-bg-alpha-dark-3: rgba(0, 0, 0, 0.3);
69
+ --bui-color-bg-alpha-dark-1: rgba(0, 0, 0, 0.1);
98
70
  --bui-color-border-default: var(--bui-color-neutral-5);
99
- --bui-color-border-primary: fade(#ff335c, 40%);
100
- --bui-color-border-info: fade(#148aff, 40%);
101
- --bui-color-border-success: fade(#00d68f, 40%);
102
- --bui-color-border-warning: fade(#ff8533, 40%);
103
- --bui-color-border-danger: fade(#ff335c, 40%);
104
- --bui-color-border-gray: fade(#8896b1, 40%);
105
-
106
- // 主题色渐变
71
+ --bui-color-border-primary: rgba(255, 51, 92, 0.4);
72
+ --bui-color-border-info: rgba(20, 138, 255, 0.4);
73
+ --bui-color-border-success: rgba(0, 214, 143, 0.4);
74
+ --bui-color-border-warning: rgba(255, 133, 51, 0.4);
75
+ --bui-color-border-danger: rgba(255, 51, 92, 0.4);
76
+ --bui-color-border-gray: rgba(136, 150, 177, 0.4);
107
77
  --bui-color-primary-start: #ef16b9;
108
78
  --bui-color-primary-end: var(--bui-color-red);
109
79
  --bui-color-secondary-start: #f32adf;
@@ -118,37 +88,23 @@
118
88
  --bui-color-danger-end: var(--bui-color-red);
119
89
  --bui-color-vip-start: #ffd4a6;
120
90
  --bui-color-vip-end: #ffbeae;
121
-
122
- // 形状定义
123
- // 页面级浮层
124
91
  --bui-shape-radius-popover: 18px;
125
92
  --bui-shape-radius-drawer: 12px;
126
- // 卡片、普通视图、抽屉、action sheet,常用于信息密度较低的视图
127
93
  --bui-shape-radius-card: 9px;
128
- // 独立海报、卡片,常用于信息密度较高的视图
129
94
  --bui-shape-radius-default: 6px;
130
- // 容器内海报
131
95
  --bui-shape-radius-poster: 4px;
132
- // 标签
133
96
  --bui-shape-radius-label: 3px;
134
-
135
- // 空间定义
136
97
  --bui-spacing-xl: 15px;
137
98
  --bui-spacing-lg: 12px;
138
99
  --bui-spacing-md: 9px;
139
100
  --bui-spacing-sm: 6px;
140
101
  --bui-spacing-xs: 4px;
141
102
  --bui-line-height: 1.5;
142
- --bui-z-index-dropdown: 1000; // dropdown 、cascader、DatePicker、select、TimePicker、treeSelect
143
- --bui-z-index-affix: 1100; // 吸顶元素、固定元素fixed
103
+ --bui-z-index-dropdown: 1000;
104
+ --bui-z-index-affix: 1100;
144
105
  --bui-z-index-modal-backdrop: 1200;
145
- --bui-z-index-modal: 1200; // drawer、 model
106
+ --bui-z-index-modal: 1200;
146
107
  --bui-z-index-popover: 1300;
147
108
  --bui-z-index-tooltip: 1400;
148
- --bui-z-index-toast: 1500; // 反馈提示,高于所有元素
149
-
150
- // 字体
151
- --bui-font-family: 'PingFang SC', 'Chinese Quote', 'Segoe UI', roboto,
152
- 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', helvetica, arial,
153
- sans-serif;
109
+ --bui-z-index-toast: 1500;
154
110
  }
@@ -1,5 +1,5 @@
1
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
1
2
  .dm-light() {
2
- /** 颜色 */
3
3
  --bui-color-blue: #48b1f1;
4
4
  --bui-color-orange: #ff8f3f;
5
5
  --bui-color-gray: #f5f5f5;
@@ -0,0 +1,6 @@
1
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
2
+ @import './default-light.less';
3
+ @import './default-dark.less';
4
+ @import './dm-light.less';
5
+ @import './pioneer-light.less';
6
+ @import './pioneer-light-components.less';
@@ -0,0 +1,49 @@
1
+ // 无法用css variables实现的先锋版高亮主题色
2
+ @import '../mixins/variables.less';
3
+
4
+ @{theme-selector-pioneer-light} {
5
+ .bui-btn {
6
+ &.bui-btn-contained {
7
+ &.bui-btn-primary {
8
+ &.bui-btn-large {
9
+ background-image: radial-gradient(
10
+ 35px 25px ellipse at 2% 110%,
11
+ #fffe1e 0%,
12
+ rgba(251, 134, 35, 0) 99%
13
+ ),
14
+ radial-gradient(
15
+ 35px 25px ellipse at 110% 120%,
16
+ #ff3018 0%,
17
+ rgba(0, 48, 24, 0) 92%
18
+ ),
19
+ linear-gradient(90deg, #fc8622 0%, #ff5000 100%);
20
+ }
21
+
22
+ &.bui-btn-full {
23
+ background-image: radial-gradient(
24
+ 93px 50px ellipse at 2% 110%,
25
+ #fffe1e 0%,
26
+ rgba(251, 134, 35, 0) 100%
27
+ ),
28
+ radial-gradient(
29
+ 93px 50px ellipse at 98% 110%,
30
+ #ff3018 0%,
31
+ rgba(0, 48, 24, 0) 92%
32
+ ),
33
+ linear-gradient(90deg, #fc8622 0%, #ff5000 100%);
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ .bui-tabs {
40
+ .bui-tabs-indicator {
41
+ background-image: linear-gradient(
42
+ 90deg,
43
+ #ff9b00 0%,
44
+ #ffa700 21%,
45
+ #ff8300 100%
46
+ );
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,37 @@
1
+ /** 此文件由脚本自动生成,请勿直接修改,若有变更请维护bui-styles/registry/*.mjs,再执行`pnpm theme:js2less`更新主题 */
2
+ .pioneer-light() {
3
+ --bui-font-family-accent: 'AlibabaPuHuiTi-Heavy', 'PingFang SC',
4
+ 'Chinese Quote', 'Segoe UI', roboto, 'Hiragino Sans GB', 'Microsoft YaHei',
5
+ 'Helvetica Neue', helvetica, arial, sans-serif;
6
+ --bui-color-primary: #ff7600;
7
+ --bui-color-primary-light: #ffefe5;
8
+ --bui-title-size-4: 14px;
9
+ --bui-color-fg-default: #181818;
10
+ --bui-color-fg-disabled: rgba(24, 24, 24, 0.5);
11
+ --bui-color-border-primary: rgba(20, 138, 255, 0.4);
12
+ --bui-color-primary-start: #ff9c0d;
13
+ --bui-color-primary-end: #ff6813;
14
+ --bui-color-info-start: #17b6ff;
15
+ --bui-color-info-end: #48d3ff;
16
+ --bui-color-warning-start: #ffcf02;
17
+ --bui-color-warning-end: #ffb205;
18
+ --bui-shape-radius-drawer: 15px;
19
+ --bui-shape-radius-card: 12px;
20
+ --bui-shape-radius-default: 9px;
21
+ --bui-btn-full-height: 45px;
22
+ --bui-btn-large-height: 30px;
23
+ --bui-btn-full-font-size: 18px;
24
+ --bui-btn-full-font-family: var(--bui-font-family-accent);
25
+ --bui-btn-small-border-radius: 6px;
26
+ --bui-btn-border-radius: 6px;
27
+ --bui-btn-large-border-radius: 7px;
28
+ --bui-btn-full-border-radius: 14px;
29
+ --bui-card-header-title-font-size: var(--bui-title-size-3);
30
+ --bui-tab-font-size: var(--bui-title-size-4);
31
+ --bui-tab-color: var(--bui-color-fg-muted);
32
+
33
+ /* prettier-ignore */
34
+ --bui-tabs-indicator-height: 4PX;
35
+ --bui-tabs-indicator-border-radius: 2px;
36
+ --bui-tabs-indicator-box-shadow: 0 2px 4px 0 rgba(255, 98, 0, 0.2);
37
+ }
@@ -1,29 +0,0 @@
1
- .dark() {
2
- // default是最通用的色彩,比如标题和一级信息
3
- --bui-color-fg-default: #f0f6fc;
4
- // 柔和色,通常用于次级及补充说明信息
5
- --bui-color-fg-muted: #8b949e;
6
- // 淡色,很细微的色彩,用于辅助和需要弱化的信息
7
- --bui-color-fg-subtle: #484f58;
8
- // 用于失效、不可用等状态
9
- --bui-color-fg-disabled: #484f58;
10
-
11
- // 默认背景色
12
- --bui-color-bg-default: #010409;
13
- // 视图背景色
14
- --bui-color-bg-view: #161b22;
15
- --bui-color-bg-popover: fade(#484f58, 70%);
16
- --bui-color-bg-alpha-light-9: fade(#161b22, 90%);
17
- --bui-color-bg-alpha-light-7: fade(#161b22, 70%);
18
- --bui-color-bg-alpha-light-5: fade(#161b22, 50%);
19
- --bui-color-bg-alpha-light-3: fade(#161b22, 30%);
20
- --bui-color-bg-alpha-light-1: fade(#161b22, 10%);
21
- --bui-color-bg-alpha-dark-9: fade(#484f58, 90%);
22
- --bui-color-bg-alpha-dark-7: fade(#484f58, 70%);
23
- --bui-color-bg-alpha-dark-5: fade(#484f58, 50%);
24
- --bui-color-bg-alpha-dark-3: fade(#484f58, 30%);
25
- --bui-color-bg-alpha-dark-1: fade(#484f58, 10%);
26
-
27
- // 分割线、边框
28
- --bui-color-border-default: #30363d;
29
- }
@@ -1,33 +0,0 @@
1
- .dm-dark() {
2
- --bui-color-neutral-5: #e5e5e5;
3
- --bui-color-powder-start: #ff4886;
4
- --bui-color-powder-end: #ffa662;
5
-
6
- // default是最通用的色彩,比如标题和一级信息
7
- --bui-color-fg-default: #f0f6fc;
8
- // 柔和色,通常用于次级及补充说明信息
9
- --bui-color-fg-muted: #8b949e;
10
- // 淡色,很细微的色彩,用于辅助和需要弱化的信息
11
- --bui-color-fg-subtle: #484f58;
12
- // 用于失效、不可用等状态
13
- --bui-color-fg-disabled: #484f58;
14
-
15
- // 默认背景色
16
- --bui-color-bg-default: #010409;
17
- // 视图背景色
18
- --bui-color-bg-view: #161b22;
19
- --bui-color-bg-popover: fade(#484f58, 70%);
20
- --bui-color-bg-alpha-light-9: fade(#161b22, 90%);
21
- --bui-color-bg-alpha-light-7: fade(#161b22, 70%);
22
- --bui-color-bg-alpha-light-5: fade(#161b22, 50%);
23
- --bui-color-bg-alpha-light-3: fade(#161b22, 30%);
24
- --bui-color-bg-alpha-light-1: fade(#161b22, 10%);
25
- --bui-color-bg-alpha-dark-9: fade(#484f58, 90%);
26
- --bui-color-bg-alpha-dark-7: fade(#484f58, 70%);
27
- --bui-color-bg-alpha-dark-5: fade(#484f58, 50%);
28
- --bui-color-bg-alpha-dark-3: fade(#484f58, 30%);
29
- --bui-color-bg-alpha-dark-1: fade(#484f58, 10%);
30
-
31
- // 分割线、边框
32
- --bui-color-border-default: #30363d;
33
- }
package/theme/index.less DELETED
@@ -1,4 +0,0 @@
1
- @import './default-light.less';
2
- @import './default-dark.less';
3
- @import './dm-light.less';
4
- @import './dm-dark.less';