@neatui/css 2.0.9 → 3.0.0-beta.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.
Files changed (49) hide show
  1. package/components/btns/base.scss +1 -3
  2. package/components/btns/btns@a.scss +1 -1
  3. package/components/btns/mcui@btns.scss +0 -2
  4. package/components/chat/chat@a.scss +22 -24
  5. package/components/cite/cite@a.scss +5 -3
  6. package/components/demo/demo@a.scss +2 -2
  7. package/components/form/README.md +2 -2
  8. package/components/form/base.scss +2 -2
  9. package/components/form/form@b/input.scss +4 -4
  10. package/components/form/form@c/checkbox.scss +1 -1
  11. package/components/form/form@c/input.scss +2 -2
  12. package/components/form/form@d/base.scss +6 -6
  13. package/components/form/form@d/checkbox.scss +1 -1
  14. package/components/form/form@d/date.scss +3 -3
  15. package/components/form/form@d/input.scss +12 -12
  16. package/components/form/form@d/radio.scss +1 -1
  17. package/components/form/form@d/select.scss +4 -4
  18. package/components/form/form@d/switch.scss +4 -4
  19. package/components/form/form@d/textarea.scss +5 -5
  20. package/components/form/form@d/upload.scss +4 -4
  21. package/components/grid/grid@a.scss +1 -1
  22. package/components/imgs/imgs@b.scss +8 -8
  23. package/components/list/list@c.scss +5 -4
  24. package/components/load/load@i.scss +3 -3
  25. package/components/opts/opts@a.scss +1 -1
  26. package/components/path/README.md +2 -2
  27. package/components/table/base.scss +2 -2
  28. package/components/table/table@a.scss +1 -1
  29. package/components/table/table@b.scss +1 -1
  30. package/components/tips/base.scss +12 -12
  31. package/components/tips/tips@a.scss +1 -1
  32. package/core/README.md +2 -2
  33. package/core/color.scss +111 -121
  34. package/core/cols.scss +6 -3
  35. package/core/media.scss +30 -28
  36. package/core/neatui@core.scss +4 -4
  37. package/core/scale.scss +5 -0
  38. package/core/scroll.scss +5 -5
  39. package/core/shadow.scss +17 -9
  40. package/core/size.scss +3 -1
  41. package/core/theme.scss +119 -119
  42. package/core/trim.scss +20 -20
  43. package/core/ux.scss +2 -2
  44. package/core/var.scss +2 -0
  45. package/package.json +1 -1
  46. package/components/btns/btns@b.scss +0 -190
  47. package/components/btns/btns@c.scss +0 -172
  48. package/core/neatui@core.lite.scss +0 -30
  49. package/core/neatui@mobile.scss +0 -37
package/core/shadow.scss CHANGED
@@ -14,11 +14,15 @@ div {
14
14
  }
15
15
 
16
16
  .bs-x {
17
- box-shadow: inset 1px 0 0 0 currentColor, inset -1px 0 0 0 currentColor;
17
+ box-shadow:
18
+ inset 1px 0 0 0 currentColor,
19
+ inset -1px 0 0 0 currentColor;
18
20
  }
19
21
 
20
22
  .bs-y {
21
- box-shadow: inset 0 1px 0 0 currentColor, inset 0 -1px 0 0 currentColor;
23
+ box-shadow:
24
+ inset 0 1px 0 0 currentColor,
25
+ inset 0 -1px 0 0 currentColor;
22
26
  }
23
27
 
24
28
  .bs-l {
@@ -40,42 +44,46 @@ div {
40
44
  /* 主题色 */
41
45
  .bs-xs-main {
42
46
  @include theme {
43
- box-shadow: inset 0 0 0 1px co(main);
47
+ box-shadow: inset 0 0 0 1px var(--co-main);
44
48
  }
45
49
  }
46
50
 
47
51
  .bs-x-xs-main {
48
52
  @include theme {
49
- box-shadow: inset 1px 0 0 0 co(main), inset -1px 0 0 0 co(main);
53
+ box-shadow:
54
+ inset 1px 0 0 0 var(--co-main),
55
+ inset -1px 0 0 0 var(--co-main);
50
56
  }
51
57
  }
52
58
 
53
59
  .bs-y-xs-main {
54
60
  @include theme {
55
- box-shadow: inset 0 1px 0 0 co(main), inset 0 -1px 0 0 co(main);
61
+ box-shadow:
62
+ inset 0 1px 0 0 var(--co-main),
63
+ inset 0 -1px 0 0 var(--co-main);
56
64
  }
57
65
  }
58
66
 
59
67
  .bs-l-xs-main {
60
68
  @include theme {
61
- box-shadow: inset 1px 0 0 0 co(main);
69
+ box-shadow: inset 1px 0 0 0 var(--co-main);
62
70
  }
63
71
  }
64
72
 
65
73
  .bs-r-xs-main {
66
74
  @include theme {
67
- box-shadow: inset -1px 0 0 0 co(main);
75
+ box-shadow: inset -1px 0 0 0 var(--co-main);
68
76
  }
69
77
  }
70
78
 
71
79
  .bs-t-xs-main {
72
80
  @include theme {
73
- box-shadow: inset 0 1px 0 0 co(main);
81
+ box-shadow: inset 0 1px 0 0 var(--co-main);
74
82
  }
75
83
  }
76
84
 
77
85
  .bs-b-xs-main {
78
86
  @include theme {
79
- box-shadow: inset 0 -1px 0 0 co(main);
87
+ box-shadow: inset 0 -1px 0 0 var(--co-main);
80
88
  }
81
89
  }
package/core/size.scss CHANGED
@@ -9,6 +9,8 @@
9
9
  * 备注:s->Small 小,m->Middle 中,l->Large 大;x->Extra 特大
10
10
  */
11
11
 
12
+ @use 'sass:list';
13
+
12
14
  // 全局字号
13
15
  @mixin baseSize($sz: 13) {
14
16
  $size: 'xs', 's', 'm', 'l', 'xl';
@@ -16,7 +18,7 @@
16
18
  @each $i in $size {
17
19
  [size='#{$i}'],
18
20
  [ui-size='#{$i}'] {
19
- $s: index($size, $i) + $sz;
21
+ $s: list.index($size, $i) + $sz;
20
22
  font-size: #{$s}px;
21
23
  }
22
24
  }
package/core/theme.scss CHANGED
@@ -1,6 +1,12 @@
1
+ @use 'sass:list';
2
+ @use 'sass:meta';
3
+ @use 'sass:map';
4
+ @use 'sass:color';
5
+ @use 'sass:string';
6
+
1
7
  // 兜底
2
8
  $theme: if(
3
- global-variable-exists(theme),
9
+ meta.global-variable-exists(theme),
4
10
  $theme,
5
11
  (
6
12
  _sys: (
@@ -16,13 +22,13 @@ $theme: if(
16
22
  info: #0889e4
17
23
  )
18
24
  )
19
- );
25
+ ) !default;
20
26
 
21
27
  // 检测
22
- @if (global-variable-exists(theme)) {
23
- $fa: map-keys($theme);
24
- $fk: nth($fa, 1);
25
- @if (length($fa) == 1 and $fk == _sys) {
28
+ @if (meta.global-variable-exists(theme)) {
29
+ $fa: map.keys($theme);
30
+ $fk: list.nth($fa, 1);
31
+ @if (list.length($fa) == 1 and $fk == _sys) {
26
32
  @warn '检测到您未定义主题色卡,请遵循 neatui 设计规范建立主题色卡;https://neatui.fekit.cn/#/docs/config';
27
33
  @debug '尝试修复错误...';
28
34
  @debug '创建系统默认色卡[theme=_sys]';
@@ -31,12 +37,12 @@ $theme: if(
31
37
  }
32
38
 
33
39
  @each $var in $theme {
34
- $n: nth($var, 1);
35
- $s: nth($var, 2);
36
- @if ($s and type-of($s) == 'map') {
40
+ $n: list.nth($var, 1);
41
+ $s: list.nth($var, 2);
42
+ @if ($s and meta.type-of($s) == 'map') {
37
43
  $baseColor: 'main', 'text', 'fore', 'back', 'link', 'code', 'well', 'warn', 'risk';
38
44
  @each $baseColorItem in $baseColor {
39
- @if (map-has-key($s, $baseColorItem)) {
45
+ @if (map.has-key($s, $baseColorItem)) {
40
46
  } @else {
41
47
  @warn '[theme=#{$n}]主题缺少一个关键的基础颜色#{$baseColorItem}';
42
48
  }
@@ -49,134 +55,128 @@ $theme: if(
49
55
 
50
56
  // 扩展颜色
51
57
  @each $i in $theme {
52
- $n: nth($i, 1);
53
- $s: nth($i, 2);
54
- @if ($s and type-of($s) == 'map') {
58
+ $n: list.nth($i, 1);
59
+ $s: list.nth($i, 2);
60
+ @if ($s and meta.type-of($s) == 'map') {
55
61
  $m: (
56
62
  none: transparent,
57
63
  w: #ffffff,
58
64
  b: #000000,
59
- read: mix(map-get($s, 'text'), map-get($s, 'fore'), 85%),
60
- desc: mix(map-get($s, 'text'), map-get($s, 'fore'), 55%),
61
- note: mix(map-get($s, 'text'), map-get($s, 'fore'), 35%),
62
- case: mix(map-get($s, 'text'), map-get($s, 'fore'), 20%),
63
- line: mix(map-get($s, 'text'), map-get($s, 'fore'), 10%),
64
- weak: mix(map-get($s, 'text'), map-get($s, 'fore'), 4%),
65
- deep:
66
- rgb(
67
- red(map-get($s, 'back')) - (red(map-get($s, 'back')) * 0.05 + 5),
68
- green(map-get($s, 'back')) - (green(map-get($s, 'back')) * 0.05 + 5),
69
- blue(map-get($s, 'back')) - (blue(map-get($s, 'back')) * 0.05 + 5)
70
- ),
65
+ read: color.mix(map.get($s, 'text'), map.get($s, 'fore'), 85%),
66
+ desc: color.mix(map.get($s, 'text'), map.get($s, 'fore'), 55%),
67
+ note: color.mix(map.get($s, 'text'), map.get($s, 'fore'), 35%),
68
+ case: color.mix(map.get($s, 'text'), map.get($s, 'fore'), 20%),
69
+ line: color.mix(map.get($s, 'text'), map.get($s, 'fore'), 10%),
70
+ weak: color.mix(map.get($s, 'text'), map.get($s, 'fore'), 4%)
71
71
  );
72
72
  // 将扩展颜色加入放题色卡中
73
- $theme: map-merge(
73
+ $theme: map.merge(
74
74
  $theme,
75
75
  (
76
- $n: map-merge($m, $s)
76
+ $n: map.merge($m, $s)
77
77
  )
78
78
  );
79
79
  }
80
80
  }
81
81
 
82
82
  // 主题
83
- @mixin theme($n: null) {
84
- $hasTheme: map-get($theme, $n);
85
- @if ($n != null) {
86
- @if ($hasTheme != null) {
87
- $t: $hasTheme;
88
- $first: nth(nth($theme, 1), 1);
89
- $n: $n;
90
- $s: #{nth(&, 1)};
91
- @if ($s == 'html' or $s == '' or $s == null) {
92
- @if ($n == $first) {
93
- @at-root html {
94
- @content;
95
- }
96
- } @else {
97
- @at-root [theme='#{$n}'] {
98
- @content;
99
- }
100
- }
101
- } @else {
102
- @if ($n == $first) {
103
- @content;
104
- } @else {
105
- [theme='#{$n}'] & {
106
- @content;
107
- }
108
- }
109
- }
110
- } @else {
111
- @warn '没有指定主题#{$hasTheme}';
112
- }
113
- } @else {
114
- $first: nth(nth($theme, 1), 1);
115
- @each $t in $theme {
116
- $n: nth($t, 1);
117
- $s: #{nth(&, 1)};
118
-
119
- @if ($s == 'html' or $s == ':root' or $s == '' or $s == null) {
120
- @if ($n == $first) {
121
- @at-root html {
122
- @content;
123
- }
124
- } @else {
125
- @at-root [theme='#{$n}'] {
126
- @content;
127
- }
128
- }
129
- } @else {
130
- @if ($n == $first) {
131
- @content;
132
- } @else {
133
- [theme='#{$n}'] & {
134
- @content;
135
- }
136
- }
137
- }
138
- }
139
- }
140
- }
83
+ // @mixin theme($n: null) {
84
+ // $hasTheme: map.get($theme, $n);
85
+ // @if ($n != null) {
86
+ // @if ($hasTheme != null) {
87
+ // $t: $hasTheme;
88
+ // $first: list.nth(list.nth($theme, 1), 1);
89
+ // $n: $n;
90
+ // $s: #{list.nth(&, 1)};
91
+ // @if ($s == 'html' or $s == '' or $s == null) {
92
+ // @if ($n == $first) {
93
+ // @at-root html {
94
+ // @content;
95
+ // }
96
+ // } @else {
97
+ // @at-root [theme='#{$n}'] {
98
+ // @content;
99
+ // }
100
+ // }
101
+ // } @else {
102
+ // @if ($n == $first) {
103
+ // @content;
104
+ // } @else {
105
+ // [theme='#{$n}'] & {
106
+ // @content;
107
+ // }
108
+ // }
109
+ // }
110
+ // } @else {
111
+ // @warn '没有指定主题#{$hasTheme}';
112
+ // }
113
+ // } @else {
114
+ // $first: list.nth(list.nth($theme, 1), 1);
115
+ // @each $t in $theme {
116
+ // $n: list.nth($t, 1);
117
+ // $s: #{list.nth(&, 1)};
118
+
119
+ // @if ($s == 'html' or $s == ':root' or $s == '' or $s == null) {
120
+ // @if ($n == $first) {
121
+ // @at-root html {
122
+ // @content;
123
+ // }
124
+ // } @else {
125
+ // @at-root [theme='#{$n}'] {
126
+ // @content;
127
+ // }
128
+ // }
129
+ // } @else {
130
+ // @if ($n == $first) {
131
+ // @content;
132
+ // } @else {
133
+ // [theme='#{$n}'] & {
134
+ // @content;
135
+ // }
136
+ // }
137
+ // }
138
+ // }
139
+ // }
140
+ // }
141
141
 
142
142
  // 颜色
143
- @function co($a: '') {
144
- @if (& != null) {
145
- $r: nth(nth(&, 1), 1);
146
- $n: str-slice($r, 8, -2);
147
- $s: map-get($theme, $n);
148
- @if ($s == null) {
149
- $n: nth(nth($theme, 1), 1);
150
- $s: nth(nth($theme, 1), 2);
151
- }
152
- @if ($s != null) {
153
- @if (map-has-key($s, $a)) {
154
- $a: map-get($s, $a);
155
- } @else {
156
- @debug '当前主题[theme=#{$n}]没有定义颜色名 #{$a}';
157
- }
158
- }
159
- @return $a;
160
- } @else {
161
- @return transparent;
162
- }
163
- }
143
+ // @function co($a: '') {
144
+ // @if (& != null) {
145
+ // $r: list.nth(list.nth(&, 1), 1);
146
+ // $n: string.slice($r, 8, -2);
147
+ // $s: map.get($theme, $n);
148
+ // @if ($s == null) {
149
+ // $n: list.nth(list.nth($theme, 1), 1);
150
+ // $s: list.nth(list.nth($theme, 1), 2);
151
+ // }
152
+ // @if ($s != null) {
153
+ // @if (map.has-key($s, $a)) {
154
+ // $a: map.get($s, $a);
155
+ // } @else {
156
+ // @debug '当前主题[theme=#{$n}]没有定义颜色名 #{$a}';
157
+ // }
158
+ // }
159
+ // @return $a;
160
+ // } @else {
161
+ // @return transparent;
162
+ // }
163
+ // }
164
164
 
165
165
  // 变量
166
166
  @mixin vars() {
167
167
  $levels: xs, ss, sm, sl, ms, mm, ml, ls, lm, ll, xl;
168
168
  $colors: main, text, well, warn, risk;
169
169
 
170
- $f: nth(nth($theme, 1), 1);
170
+ $f: list.nth(list.nth($theme, 1), 1);
171
171
  @each $i in $theme {
172
- $n: nth($i, 1);
173
- $s: nth($i, 2);
172
+ $n: list.nth($i, 1);
173
+ $s: list.nth($i, 2);
174
174
  @if ($n == $f) {
175
175
  :root {
176
176
  @each $c in $s {
177
- $k: nth($c, 1);
178
- $v: nth($c, 2);
179
- --#{$k}: #{red($v), green($v), blue($v)};
177
+ $k: list.nth($c, 1);
178
+ $v: list.nth($c, 2);
179
+ // --#{$k}: #{red($v), green($v), blue($v)};
180
180
  --co-#{$k}: #{$v};
181
181
 
182
182
  $ls: 0.05;
@@ -186,11 +186,11 @@ $theme: if(
186
186
  --co-#{$k}-#{$l}: #{rgba($v, $ls)};
187
187
 
188
188
  @if ($k != 'w' and $k != 'b') {
189
- --co-#{$k}-fore-#{$l}: #{mix($v, map-get($s, 'fore'), $ls * 100%)};
189
+ --co-#{$k}-fore-#{$l}: #{color.mix($v, map.get($s, 'fore'), $ls * 100%)};
190
190
  }
191
191
 
192
192
  @if ($k == 'main' or $k == 'well' or $k == 'warn' or $k == 'risk') {
193
- --co-#{$k}-text-#{$l}: #{mix($v, map-get($s, 'text'), $ls * 100%)};
193
+ --co-#{$k}-text-#{$l}: #{color.mix($v, map.get($s, 'text'), $ls * 100%)};
194
194
  }
195
195
  }
196
196
  @if ($ls <= 0.1 or $ls >= 0.8) {
@@ -204,9 +204,9 @@ $theme: if(
204
204
  } @else {
205
205
  [theme~='#{$n}'] {
206
206
  @each $c in $s {
207
- $k: nth($c, 1);
208
- $v: nth($c, 2);
209
- --#{$k}: #{red($v), green($v), blue($v)};
207
+ $k: list.nth($c, 1);
208
+ $v: list.nth($c, 2);
209
+ // --#{$k}: #{red($v), green($v), blue($v)};
210
210
  --co-#{$k}: #{$v};
211
211
 
212
212
  $ls: 0.05;
@@ -216,11 +216,11 @@ $theme: if(
216
216
  --co-#{$k}-#{$l}: #{rgba($v, $ls)};
217
217
 
218
218
  @if ($k != 'w' and $k != 'b') {
219
- --co-#{$k}-fore-#{$l}: #{mix($v, map-get($s, 'fore'), $ls * 100%)};
219
+ --co-#{$k}-fore-#{$l}: #{color.mix($v, map.get($s, 'fore'), $ls * 100%)};
220
220
  }
221
221
 
222
222
  @if ($k == 'main' or $k == 'well' or $k == 'warn' or $k == 'risk') {
223
- --co-#{$k}-text-#{$l}: #{mix($v, map-get($s, 'text'), $ls * 100%)};
223
+ --co-#{$k}-text-#{$l}: #{color.mix($v, map.get($s, 'text'), $ls * 100%)};
224
224
  }
225
225
  }
226
226
  @if ($ls <= 0.1 or $ls >= 0.8) {
package/core/trim.scss CHANGED
@@ -397,65 +397,65 @@
397
397
 
398
398
  // 缩小
399
399
  .#{$media}s-no {
400
- transform: scale3d(0, 0, 1);
400
+ transform: scale(0);
401
401
  }
402
402
  .#{$media}s-ss {
403
- transform: scale3d(0.1, 0.1, 1);
403
+ transform: scale(0.1);
404
404
  }
405
405
  .#{$media}s-sm {
406
- transform: scale3d(0.2, 0.2, 1);
406
+ transform: scale(0.2);
407
407
  }
408
408
  .#{$media}s-sl {
409
- transform: scale3d(0.3, 0.3, 1);
409
+ transform: scale(0.3);
410
410
  }
411
411
  .#{$media}s-ms {
412
- transform: scale3d(0.4, 0.4, 1);
412
+ transform: scale(0.4);
413
413
  }
414
414
  .#{$media}s-mm {
415
- transform: scale3d(0.5, 0.5, 1);
415
+ transform: scale(0.5);
416
416
  }
417
417
  .#{$media}s-ml {
418
- transform: scale3d(0.6, 0.6, 1);
418
+ transform: scale(0.6);
419
419
  }
420
420
  .#{$media}s-ls {
421
- transform: scale3d(0.7, 0.7, 1);
421
+ transform: scale(0.7);
422
422
  }
423
423
  .#{$media}s-lm {
424
- transform: scale3d(0.8, 0.8, 1);
424
+ transform: scale(0.8);
425
425
  }
426
426
  .#{$media}s-ll {
427
- transform: scale3d(0.9, 0.9, 1);
427
+ transform: scale(0.9);
428
428
  }
429
429
  .#{$media}s-xl {
430
- transform: scale3d(0.95, 0.95, 1);
430
+ transform: scale(0.95);
431
431
  }
432
432
 
433
433
  .#{$media}s-ss\+mm {
434
- transform: scale3d(0.15, 0.15, 1);
434
+ transform: scale(0.15);
435
435
  }
436
436
  .#{$media}s-sm\+mm {
437
- transform: scale3d(0.25, 0.25, 1);
437
+ transform: scale(0.25);
438
438
  }
439
439
  .#{$media}s-sl\+mm {
440
- transform: scale3d(0.35, 0.35, 1);
440
+ transform: scale(0.35);
441
441
  }
442
442
  .#{$media}s-ms\+mm {
443
- transform: scale3d(0.45, 0.45, 1);
443
+ transform: scale(0.45);
444
444
  }
445
445
  .#{$media}s-mm\+mm {
446
- transform: scale3d(0.55, 0.55, 1);
446
+ transform: scale(0.55);
447
447
  }
448
448
  .#{$media}s-ml\+mm {
449
- transform: scale3d(0.65, 0.65, 1);
449
+ transform: scale(0.65);
450
450
  }
451
451
  .#{$media}s-ls\+mm {
452
- transform: scale3d(0.75, 0.75, 1);
452
+ transform: scale(0.75);
453
453
  }
454
454
  .#{$media}s-lm\+mm {
455
- transform: scale3d(0.85, 0.85, 1);
455
+ transform: scale(0.85);
456
456
  }
457
457
  .#{$media}s-ll\+mm {
458
- transform: scale3d(0.95, 0.95, 1);
458
+ transform: scale(0.95);
459
459
  }
460
460
 
461
461
  // 旋转
package/core/ux.scss CHANGED
@@ -35,7 +35,7 @@
35
35
  cursor: pointer;
36
36
  }
37
37
  &:hover {
38
- box-shadow: 0 0.1em 0.5em var(--co-deep);
38
+ box-shadow: 0 0.1em 0.5em var(--co-text-ss);
39
39
  }
40
40
  }
41
41
 
@@ -267,7 +267,7 @@
267
267
  top: 130%;
268
268
 
269
269
  background: var(--co-fore);
270
- box-shadow: 0 1px 0.3em 1px var(--co-deep);
270
+ box-shadow: 0 1px 0.3em 1px var(--co-text-ss);
271
271
 
272
272
  padding: 1.5rem;
273
273
  right: 0.15rem;
package/core/var.scss ADDED
@@ -0,0 +1,2 @@
1
+ $sz: 'xs', 's', 'm', 'l', 'xl';
2
+ $co: 'main', 'vice', 'text', 'fore', 'back', 'link', 'code', 'well', 'warn', 'risk';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neatui/css",
3
- "version": "2.0.9",
3
+ "version": "3.0.0-beta.0",
4
4
  "description": "neatui",
5
5
  "main": "./neatui.scss",
6
6
  "license": "MIT",