@neatui/css 3.0.0-beta.0 → 3.0.0-beta.10

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/core/base.scss CHANGED
@@ -288,42 +288,58 @@
288
288
  }
289
289
 
290
290
  // 不透明度
291
- .#{$d}o-no {
291
+ .#{$d}o-no,
292
+ .#{$d}o-no\:hover:hover {
292
293
  opacity: 0;
293
294
  }
294
- .#{$d}o-xs {
295
+ .#{$d}o-xs,
296
+ .#{$d}o-xs\:hover:hover {
295
297
  opacity: 0.05;
296
298
  }
297
- .#{$d}o-ss {
299
+ .#{$d}o-ss,
300
+ .#{$d}o-ss\:hover:hover {
298
301
  opacity: 0.1;
299
302
  }
300
- .#{$d}o-sm {
303
+ .#{$d}o-sm,
304
+ .#{$d}o-sm\:hover:hover {
301
305
  opacity: 0.2;
302
306
  }
303
- .#{$d}o-sl {
307
+ .#{$d}o-sl,
308
+ .#{$d}o-sl\:hover:hover {
304
309
  opacity: 0.3;
305
310
  }
306
- .#{$d}o-ms {
311
+ .#{$d}o-ms,
312
+ .#{$d}o-ms\:hover:hover {
307
313
  opacity: 0.4;
308
314
  }
309
- .#{$d}o-mm {
315
+ .#{$d}o-mm,
316
+ .#{$d}o-mm\:hover:hover {
310
317
  opacity: 0.5;
311
318
  }
312
- .#{$d}o-ml {
319
+ .#{$d}o-ml,
320
+ .#{$d}o-ml\:hover:hover {
313
321
  opacity: 0.6;
314
322
  }
315
- .#{$d}o-ls {
323
+ .#{$d}o-ls,
324
+ .#{$d}o-ls\:hover:hover {
316
325
  opacity: 0.7;
317
326
  }
318
- .#{$d}o-lm {
327
+ .#{$d}o-lm,
328
+ .#{$d}o-lm\:hover:hover {
319
329
  opacity: 0.8;
320
330
  }
321
- .#{$d}o-ll {
331
+ .#{$d}o-ll,
332
+ .#{$d}o-ll\:hover:hover {
322
333
  opacity: 0.9;
323
334
  }
324
- .#{$d}o-xl {
335
+ .#{$d}o-xl,
336
+ .#{$d}o-xl\:hover:hover {
325
337
  opacity: 0.95;
326
338
  }
339
+ .#{$d}o-xx,
340
+ .#{$d}o-xx\:hover:hover {
341
+ opacity: 1;
342
+ }
327
343
 
328
344
  .#{$d}o-ss\+mm {
329
345
  opacity: 0.15;
package/core/color.scss CHANGED
@@ -1,7 +1,8 @@
1
1
  @use 'sass:list';
2
2
 
3
3
  @mixin color() {
4
- html {
4
+ html,
5
+ [theme] {
5
6
  color: var(--co-read);
6
7
  fill: var(--co-read);
7
8
  background-color: var(--co-back);
@@ -0,0 +1,128 @@
1
+ @use 'sass:list';
2
+ @use 'sass:math';
3
+
4
+ @mixin cols($cols: 24, $base: 160, $space: 1) {
5
+ $level: (
6
+ mob-s: 320px,
7
+ mob-m: 480px,
8
+ mob-l: 640px,
9
+ pad-s: 800px,
10
+ pad-m: 960px,
11
+ pad-l: 1120px,
12
+ dpc-s: 1280px,
13
+ dpc-m: 1440px,
14
+ dpc-l: 1600px
15
+ );
16
+
17
+ [ui-row] {
18
+ & {
19
+ display: flex;
20
+ flex-direction: row;
21
+ flex-wrap: wrap;
22
+ & > * {
23
+ position: relative;
24
+ }
25
+ }
26
+
27
+ // 间距
28
+ &[ui-row~='space'] {
29
+ margin: -1rem;
30
+ & > * {
31
+ padding: 1rem;
32
+ }
33
+ }
34
+
35
+ @include mob {
36
+ // 间距
37
+ &[ui-row~='space'] {
38
+ margin: -0.5rem;
39
+ & > * {
40
+ padding: 0.5rem;
41
+ }
42
+ }
43
+ }
44
+
45
+ // 撑满
46
+ &[ui-row~=':full'] {
47
+ & > * > * {
48
+ height: 100%;
49
+ }
50
+ }
51
+
52
+ // 用于容器需要居中对齐
53
+ &[ui-row~='inline'] {
54
+ display: inline-flex;
55
+ }
56
+ // 反向
57
+ &[ui-row~='reverse'] {
58
+ flex-direction: row-reverse;
59
+ }
60
+ }
61
+
62
+ // 表格使用栅格
63
+ tr[ui-row] {
64
+ display: table-row;
65
+ }
66
+ td,
67
+ th {
68
+ &[ui-col] {
69
+ display: table-cell;
70
+ }
71
+ }
72
+
73
+ // 响应断点
74
+ $level: 'mob-s', 'mob-m', 'mob-l', 'pad-s', 'pad-m', 'pad-l', 'dpc-s', 'dpc-m', 'dpc-l';
75
+ $level2: 'mob', '', '', 'pad', '', '', 'dpc', '', '';
76
+
77
+ @each $i in $level {
78
+ $d: list.nth($level2, list.index($level, $i));
79
+ // 遍历断点
80
+ $base: $base + 160;
81
+ // 基础
82
+ @if ($i == 'mob-s') {
83
+ @for $n from 0 through $cols {
84
+ // 宽度
85
+ $w: calc(math.floor(calc(100% / $cols * $n) * 100000) / 100000);
86
+ [ui-row~='mob-#{$n}'] > *,
87
+ [ui-row~='#{$i}-#{$n}'] > *,
88
+ [ui-row] [ui-col~='mob-#{$n}'],
89
+ [ui-row] [ui-col~='#{$i}-#{$n}'] {
90
+ width: #{$w};
91
+ }
92
+ }
93
+ } @else {
94
+ @media (min-width: #{$base}px) {
95
+ @for $n from 0 through $cols {
96
+ // 宽度
97
+ $w: calc((math.floor((calc(100% / $cols) * $n) * 100000) / 100000));
98
+ @if ($d != '') {
99
+ // 三端
100
+ [ui-row~='#{$d}-#{$n}'] > *,
101
+ [ui-row] [ui-col~='#{$d}-#{$n}'],
102
+ // 细分三端
103
+ [ui-row~='#{$i}-#{$n}'] > *,
104
+ [ui-row] [ui-col~='#{$i}-#{$n}'] {
105
+ width: #{$w};
106
+ }
107
+ } @else {
108
+ [ui-row~='#{$i}-#{$n}'] > *,
109
+ [ui-row] [ui-col~='#{$i}-#{$n}'] {
110
+ width: #{$w};
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ }
117
+
118
+ // 自动
119
+ [ui-row~='mob-auto'],
120
+ [ui-row~='pad-auto'],
121
+ [ui-row~='dpc-auto'] {
122
+ justify-content: space-between;
123
+ & > * {
124
+ flex-grow: 1;
125
+ }
126
+ }
127
+ }
128
+ @include cols();
package/core/flex.scss CHANGED
@@ -1,613 +1,331 @@
1
- %flex {
2
- display: flex;
3
- }
4
-
5
- %row {
6
- @extend %flex;
7
- flex-direction: row;
8
- }
9
- %col {
10
- @extend %flex;
11
- flex-direction: column;
12
- }
13
-
14
- // .flex {
15
- // // 行列
16
- // &-row {
17
- // &-lt {
18
- // @extend %row;
19
- // justify-content: flex-start;
20
- // align-items: flex-start;
21
- // align-content: flex-start;
22
- // }
23
-
24
- // &-ct {
25
- // @extend %row;
26
- // justify-content: center;
27
- // align-items: flex-start;
28
- // align-content: flex-start;
29
- // }
30
-
31
- // &-rt {
32
- // @extend %row;
33
- // justify-content: flex-end;
34
- // align-items: flex-start;
35
- // align-content: flex-start;
36
- // }
37
-
38
- // &-xt {
39
- // @extend %row;
40
- // justify-content: space-between;
41
- // align-items: flex-start;
42
- // align-content: flex-start;
43
- // }
44
- // &-at {
45
- // @extend %row;
46
- // justify-content: space-around;
47
- // align-items: flex-start;
48
- // align-content: flex-start;
49
- // }
50
-
51
- // &-lm {
52
- // @extend %row;
53
- // justify-content: flex-start;
54
- // align-items: center;
55
- // align-content: center;
56
- // }
57
-
58
- // &-cm {
59
- // @extend %row;
60
- // justify-content: center;
61
- // align-items: center;
62
- // align-content: center;
63
- // }
64
-
65
- // &-rm {
66
- // @extend %row;
67
- // justify-content: flex-end;
68
- // align-items: center;
69
- // align-content: center;
70
- // }
71
-
72
- // &-xm {
73
- // @extend %row;
74
- // justify-content: space-between;
75
- // align-items: center;
76
- // align-content: center;
77
- // }
78
-
79
- // &-am {
80
- // @extend %row;
81
- // justify-content: space-around;
82
- // align-items: center;
83
- // align-content: center;
84
- // }
85
-
86
- // &-lb {
87
- // @extend %row;
88
- // justify-content: flex-start;
89
- // align-items: flex-end;
90
- // align-content: flex-end;
91
- // }
92
-
93
- // &-cb {
94
- // @extend %row;
95
- // justify-content: center;
96
- // align-items: flex-end;
97
- // align-content: flex-end;
98
- // }
99
-
100
- // &-rb {
101
- // @extend %row;
102
- // justify-content: flex-end;
103
- // align-items: flex-end;
104
- // align-content: flex-end;
105
- // }
106
-
107
- // &-ry {
108
- // @extend %row;
109
- // justify-content: flex-end;
110
- // align-items: stretch;
111
- // align-content: space-between;
112
- // }
113
-
114
- // &-xb {
115
- // @extend %row;
116
- // justify-content: space-between;
117
- // align-items: flex-end;
118
- // align-content: flex-end;
119
- // }
120
-
121
- // &-ab {
122
- // @extend %row;
123
- // justify-content: space-around;
124
- // align-items: flex-end;
125
- // align-content: flex-end;
126
- // }
127
- // }
128
- // &-col {
129
- // &-lt {
130
- // @extend %col;
131
- // justify-content: flex-start;
132
- // align-items: flex-start;
133
- // align-content: flex-start;
134
- // }
135
-
136
- // &-ct {
137
- // @extend %col;
138
- // justify-content: flex-start;
139
- // align-items: center;
140
- // align-content: center;
141
- // }
142
-
143
- // &-rt {
144
- // @extend %col;
145
- // justify-content: flex-start;
146
- // align-items: flex-end;
147
- // align-content: flex-end;
148
- // }
149
-
150
- // &-xt {
151
- // @extend %col;
152
- // justify-content: flex-start;
153
- // align-items: stretch;
154
- // align-content: stretch;
155
- // }
156
- // &-at {
157
- // @extend %col;
158
- // justify-content: flex-start;
159
- // align-items: space-around;
160
- // align-content: space-around;
161
- // }
162
-
163
- // &-lm {
164
- // @extend %col;
165
- // justify-content: center;
166
- // align-items: flex-start;
167
- // align-content: flex-start;
168
- // }
169
-
170
- // &-cm {
171
- // @extend %col;
172
- // justify-content: center;
173
- // align-items: center;
174
- // align-content: center;
175
- // }
176
-
177
- // &-rm {
178
- // @extend %col;
179
- // justify-content: center;
180
- // align-items: flex-end;
181
- // align-content: flex-end;
182
- // }
183
-
184
- // &-xm {
185
- // @extend %col;
186
- // justify-content: center;
187
- // align-items: stretch;
188
- // align-content: stretch;
189
- // }
190
- // &-am {
191
- // @extend %col;
192
- // justify-content: center;
193
- // align-items: space-around;
194
- // align-content: space-around;
195
- // }
196
-
197
- // &-lb {
198
- // @extend %col;
199
- // justify-content: flex-end;
200
- // align-items: flex-start;
201
- // align-content: flex-start;
202
- // }
203
-
204
- // &-cb {
205
- // @extend %col;
206
- // justify-content: flex-end;
207
- // align-items: center;
208
- // align-content: center;
209
- // }
210
-
211
- // &-rb {
212
- // @extend %col;
213
- // justify-content: flex-end;
214
- // align-items: flex-end;
215
- // align-content: flex-end;
216
- // }
217
-
218
- // &-xb {
219
- // @extend %col;
220
- // justify-content: flex-end;
221
- // align-items: stretch;
222
- // align-content: stretch;
223
- // }
224
- // &-ab {
225
- // @extend %col;
226
- // justify-content: flex-end;
227
- // align-items: space-around;
228
- // align-content: space-around;
229
- // }
230
-
231
- // &-ly {
232
- // @extend %col;
233
- // justify-content: space-between;
234
- // align-items: flex-start;
235
- // align-content: flex-start;
236
- // }
237
- // &-la {
238
- // @extend %col;
239
- // justify-content: space-around;
240
- // align-items: flex-start;
241
- // align-content: flex-start;
242
- // }
243
-
244
- // &-cy {
245
- // @extend %col;
246
- // justify-content: space-between;
247
- // align-items: center;
248
- // align-content: center;
249
- // }
250
- // &-ca {
251
- // @extend %col;
252
- // justify-content: space-around;
253
- // align-items: center;
254
- // align-content: center;
255
- // }
256
- // &-ry {
257
- // @extend %col;
258
- // justify-content: space-between;
259
- // align-items: flex-end;
260
- // align-content: flex-end;
261
- // }
262
- // &-ra {
263
- // @extend %col;
264
- // justify-content: space-around;
265
- // align-items: flex-end;
266
- // align-content: flex-end;
267
- // }
268
- // &-xy {
269
- // @extend %col;
270
- // justify-content: space-between;
271
- // align-items: stretch;
272
- // align-content: space-between;
273
- // }
274
- // &-aa {
275
- // @extend %col;
276
- // justify-content: space-around;
277
- // align-items: space-around;
278
- // align-content: space-around;
279
- // }
280
- // }
281
-
282
- // // 撑满
283
- // &-full {
284
- // & > * {
285
- // flex-grow: 1;
286
- // }
287
- // }
288
-
289
- // // 行内
290
- // &-inline {
291
- // display: inline-flex !important;
292
- // }
293
-
294
- // & > * {
295
- // position: relative !important;
296
- // }
297
- // }
298
-
299
- .flex-nowrap {
300
- flex-wrap: nowrap;
301
- }
302
- .flex-wrap {
303
- flex-wrap: wrap;
304
- }
305
-
306
- .flex-fixed {
307
- flex-grow: 0;
308
- flex-shrink: 0;
309
- }
310
- .flex-block {
311
- flex: 1;
312
- overflow: hidden;
313
- }
314
-
315
- // 行内
316
- .flex-inline {
317
- display: inline-flex !important;
318
- }
1
+ // @use './media.scss' as *;
319
2
 
320
3
  [ui-flex] {
321
4
  display: flex;
5
+ }
322
6
 
323
- &[ui-flex~=':inline'] {
324
- display: inline-flex !important;
7
+ @mixin flex($med: '') {
8
+ .#{$med}flex-nowrap {
9
+ flex-wrap: nowrap;
325
10
  }
326
-
327
- &[ui-flex~=':wrap'] {
11
+ .#{$med}flex-wrap {
328
12
  flex-wrap: wrap;
329
13
  }
330
14
 
331
- &[ui-flex~=':block'] > * {
332
- flex: 1;
333
- overflow: hidden;
334
- }
335
-
336
- &[ui-flex~=':fixed'] > * {
15
+ .#{$med}flex-fixed {
337
16
  flex-grow: 0;
338
17
  flex-shrink: 0;
339
18
  }
340
- }
341
-
342
- [ui-flex~='row'] {
343
- flex-direction: row;
344
-
345
- // 对齐
346
- &[ui-flex~='lt'] {
347
- justify-content: flex-start;
348
- align-items: flex-start;
349
- align-content: flex-start;
350
- }
351
- &[ui-flex~='lm'] {
352
- justify-content: flex-start;
353
- align-items: center;
354
- align-content: center;
355
- }
356
- &[ui-flex~='lb'] {
357
- justify-content: flex-start;
358
- align-items: flex-end;
359
- align-content: flex-end;
360
- }
361
- &[ui-flex~='ld'] {
362
- justify-content: flex-start;
363
- align-content: flex-start;
364
- }
365
- &[ui-flex~='ly'] {
366
- justify-content: flex-start;
367
- align-content: flex-start;
19
+ .#{$med}flex-block {
20
+ flex: 1;
21
+ overflow: hidden;
368
22
  }
369
23
 
370
- &[ui-flex~='ct'] {
371
- justify-content: center;
372
- align-items: flex-start;
373
- align-content: flex-start;
374
- }
375
- &[ui-flex~='cm'] {
376
- justify-content: center;
377
- align-items: center;
378
- align-content: center;
379
- }
380
- &[ui-flex~='cb'] {
381
- justify-content: center;
382
- align-items: flex-end;
383
- align-content: flex-end;
384
- }
385
- &[ui-flex~='cd'] {
386
- justify-content: center;
387
- align-items: normal;
388
- align-content: flex-start;
389
- }
390
- &[ui-flex~='cy'] {
391
- justify-content: center;
392
- align-items: normal;
393
- align-content: flex-start;
24
+ // 行内
25
+ .#{$med}flex-inline {
26
+ display: inline-flex !important;
394
27
  }
395
28
 
396
- &[ui-flex~='rt'] {
397
- justify-content: flex-end;
398
- align-items: flex-start;
399
- align-content: flex-start;
400
- }
401
- &[ui-flex~='rm'] {
402
- justify-content: flex-end;
403
- align-items: center;
404
- align-content: center;
405
- }
406
- &[ui-flex~='rb'] {
407
- justify-content: flex-end;
408
- align-items: flex-end;
409
- align-content: flex-end;
410
- }
411
- &[ui-flex~='rd'] {
412
- justify-content: flex-end;
413
- align-items: normal;
414
- align-content: flex-start;
415
- }
416
- &[ui-flex~='ry'] {
417
- justify-content: flex-end;
418
- align-items: normal;
419
- align-content: space-between;
29
+ [ui-flex~='#{$med}inline'] {
30
+ display: inline-flex !important;
420
31
  }
421
32
 
422
- &[ui-flex~='xt'] {
423
- justify-content: space-between;
424
- align-items: flex-start;
425
- align-content: flex-start;
426
- }
427
- &[ui-flex~='xm'] {
428
- justify-content: space-between;
429
- align-items: center;
430
- align-content: center;
431
- }
432
- &[ui-flex~='xb'] {
433
- justify-content: space-between;
434
- align-items: flex-end;
435
- align-content: flex-end;
436
- }
437
- &[ui-flex~='xd'] {
438
- justify-content: space-between;
439
- align-items: normal;
440
- align-content: flex-start;
441
- }
442
- &[ui-flex~='xy'] {
443
- justify-content: space-between;
444
- align-items: normal;
445
- align-content: flex-start;
33
+ [ui-flex~='#{$med}wrap'] {
34
+ flex-wrap: wrap;
446
35
  }
447
36
 
448
- &[ui-flex~='at'] {
449
- justify-content: space-around;
450
- align-items: flex-start;
451
- align-content: flex-start;
452
- }
453
- &[ui-flex~='am'] {
454
- justify-content: space-around;
455
- align-items: center;
456
- align-content: center;
457
- }
458
- &[ui-flex~='ab'] {
459
- justify-content: space-around;
460
- align-items: flex-end;
461
- align-content: flex-end;
462
- }
463
- &[ui-flex~='ad'] {
464
- justify-content: space-around;
465
- align-items: normal;
466
- align-content: flex-start;
467
- }
468
- &[ui-flex~='ay'] {
469
- justify-content: space-around;
470
- align-items: normal;
471
- align-content: flex-start;
37
+ [ui-flex~='#{$med}block'] > * {
38
+ flex: 1;
39
+ overflow: hidden;
472
40
  }
473
- }
474
-
475
- [ui-flex~='col'] {
476
- flex-direction: column;
477
41
 
478
- // 位置
479
- &[ui-flex~='lt'] {
480
- justify-content: flex-start;
481
- align-items: flex-start;
482
- align-content: flex-start;
483
- }
484
- &[ui-flex~='lm'] {
485
- justify-content: center;
486
- align-items: flex-start;
487
- align-content: flex-start;
488
- }
489
- &[ui-flex~='lb'] {
490
- justify-content: flex-end;
491
- align-items: flex-start;
492
- align-content: flex-start;
493
- }
494
- &[ui-flex~='ld'] {
495
- justify-content: space-around;
496
- align-items: flex-start;
497
- align-content: flex-start;
498
- }
499
- &[ui-flex~='ly'] {
500
- justify-content: space-between;
501
- align-items: flex-start;
502
- align-content: flex-start;
42
+ [ui-flex~='#{$med}fixed'] > * {
43
+ flex-grow: 0;
44
+ flex-shrink: 0;
503
45
  }
504
46
 
505
- &[ui-flex~='ct'] {
506
- justify-content: flex-start;
507
- align-items: center;
508
- align-content: center;
509
- }
510
- &[ui-flex~='cm'] {
511
- justify-content: center;
512
- align-items: center;
513
- align-content: center;
514
- }
515
- &[ui-flex~='cb'] {
516
- justify-content: flex-end;
517
- align-items: center;
518
- align-content: center;
519
- }
520
- &[ui-flex~='cd'] {
521
- justify-content: space-around;
522
- align-items: center;
523
- align-content: center;
524
- }
525
- &[ui-flex~='cy'] {
526
- justify-content: space-between;
527
- align-items: center;
528
- align-content: center;
47
+ [ui-flex~='#{$med}row'] {
48
+ flex-direction: row;
49
+ }
50
+ [ui-flex~='row'] {
51
+ // 对齐
52
+ &[ui-flex~='#{$med}lt'] {
53
+ justify-content: flex-start;
54
+ align-items: flex-start;
55
+ align-content: flex-start;
56
+ }
57
+ &[ui-flex~='#{$med}lm'] {
58
+ justify-content: flex-start;
59
+ align-items: center;
60
+ align-content: center;
61
+ }
62
+ &[ui-flex~='#{$med}lb'] {
63
+ justify-content: flex-start;
64
+ align-items: flex-end;
65
+ align-content: flex-end;
66
+ }
67
+ &[ui-flex~='#{$med}ld'] {
68
+ justify-content: flex-start;
69
+ align-content: flex-start;
70
+ }
71
+ &[ui-flex~='#{$med}ly'] {
72
+ justify-content: flex-start;
73
+ align-content: flex-start;
74
+ }
75
+
76
+ &[ui-flex~='#{$med}ct'] {
77
+ justify-content: center;
78
+ align-items: flex-start;
79
+ align-content: flex-start;
80
+ }
81
+ &[ui-flex~='#{$med}cm'] {
82
+ justify-content: center;
83
+ align-items: center;
84
+ align-content: center;
85
+ }
86
+ &[ui-flex~='#{$med}cb'] {
87
+ justify-content: center;
88
+ align-items: flex-end;
89
+ align-content: flex-end;
90
+ }
91
+ &[ui-flex~='#{$med}cd'] {
92
+ justify-content: center;
93
+ align-items: normal;
94
+ align-content: flex-start;
95
+ }
96
+ &[ui-flex~='#{$med}cy'] {
97
+ justify-content: center;
98
+ align-items: normal;
99
+ align-content: flex-start;
100
+ }
101
+
102
+ &[ui-flex~='#{$med}rt'] {
103
+ justify-content: flex-end;
104
+ align-items: flex-start;
105
+ align-content: flex-start;
106
+ }
107
+ &[ui-flex~='#{$med}rm'] {
108
+ justify-content: flex-end;
109
+ align-items: center;
110
+ align-content: center;
111
+ }
112
+ &[ui-flex~='#{$med}rb'] {
113
+ justify-content: flex-end;
114
+ align-items: flex-end;
115
+ align-content: flex-end;
116
+ }
117
+ &[ui-flex~='#{$med}rd'] {
118
+ justify-content: flex-end;
119
+ align-items: normal;
120
+ align-content: flex-start;
121
+ }
122
+ &[ui-flex~='#{$med}ry'] {
123
+ justify-content: flex-end;
124
+ align-items: normal;
125
+ align-content: space-between;
126
+ }
127
+
128
+ &[ui-flex~='#{$med}xt'] {
129
+ justify-content: space-between;
130
+ align-items: flex-start;
131
+ align-content: flex-start;
132
+ }
133
+ &[ui-flex~='#{$med}xm'] {
134
+ justify-content: space-between;
135
+ align-items: center;
136
+ align-content: center;
137
+ }
138
+ &[ui-flex~='#{$med}xb'] {
139
+ justify-content: space-between;
140
+ align-items: flex-end;
141
+ align-content: flex-end;
142
+ }
143
+ &[ui-flex~='#{$med}xd'] {
144
+ justify-content: space-between;
145
+ align-items: normal;
146
+ align-content: flex-start;
147
+ }
148
+ &[ui-flex~='#{$med}xy'] {
149
+ justify-content: space-between;
150
+ align-items: normal;
151
+ align-content: flex-start;
152
+ }
153
+
154
+ &[ui-flex~='#{$med}at'] {
155
+ justify-content: space-around;
156
+ align-items: flex-start;
157
+ align-content: flex-start;
158
+ }
159
+ &[ui-flex~='#{$med}am'] {
160
+ justify-content: space-around;
161
+ align-items: center;
162
+ align-content: center;
163
+ }
164
+ &[ui-flex~='#{$med}ab'] {
165
+ justify-content: space-around;
166
+ align-items: flex-end;
167
+ align-content: flex-end;
168
+ }
169
+ &[ui-flex~='#{$med}ad'] {
170
+ justify-content: space-around;
171
+ align-items: normal;
172
+ align-content: flex-start;
173
+ }
174
+ &[ui-flex~='#{$med}ay'] {
175
+ justify-content: space-around;
176
+ align-items: normal;
177
+ align-content: flex-start;
178
+ }
179
+ }
180
+
181
+ [ui-flex~='#{$med}col'] {
182
+ flex-direction: column;
183
+ }
184
+ [ui-flex~='col'] {
185
+ // 位置
186
+ &[ui-flex~='#{$med}lt'] {
187
+ justify-content: flex-start;
188
+ align-items: flex-start;
189
+ align-content: flex-start;
190
+ }
191
+ &[ui-flex~='#{$med}lm'] {
192
+ justify-content: center;
193
+ align-items: flex-start;
194
+ align-content: flex-start;
195
+ }
196
+ &[ui-flex~='#{$med}lb'] {
197
+ justify-content: flex-end;
198
+ align-items: flex-start;
199
+ align-content: flex-start;
200
+ }
201
+ &[ui-flex~='#{$med}ld'] {
202
+ justify-content: space-around;
203
+ align-items: flex-start;
204
+ align-content: flex-start;
205
+ }
206
+ &[ui-flex~='#{$med}ly'] {
207
+ justify-content: space-between;
208
+ align-items: flex-start;
209
+ align-content: flex-start;
210
+ }
211
+
212
+ &[ui-flex~='#{$med}ct'] {
213
+ justify-content: flex-start;
214
+ align-items: center;
215
+ align-content: center;
216
+ }
217
+ &[ui-flex~='#{$med}cm'] {
218
+ justify-content: center;
219
+ align-items: center;
220
+ align-content: center;
221
+ }
222
+ &[ui-flex~='#{$med}cb'] {
223
+ justify-content: flex-end;
224
+ align-items: center;
225
+ align-content: center;
226
+ }
227
+ &[ui-flex~='#{$med}cd'] {
228
+ justify-content: space-around;
229
+ align-items: center;
230
+ align-content: center;
231
+ }
232
+ &[ui-flex~='#{$med}cy'] {
233
+ justify-content: space-between;
234
+ align-items: center;
235
+ align-content: center;
236
+ }
237
+
238
+ &[ui-flex~='#{$med}rt'] {
239
+ justify-content: flex-start;
240
+ align-items: flex-end;
241
+ align-content: flex-end;
242
+ }
243
+ &[ui-flex~='#{$med}rm'] {
244
+ justify-content: center;
245
+ align-items: flex-end;
246
+ align-content: flex-end;
247
+ }
248
+ &[ui-flex~='#{$med}rb'] {
249
+ justify-content: flex-end;
250
+ align-items: flex-end;
251
+ align-content: flex-end;
252
+ }
253
+ &[ui-flex~='#{$med}rd'] {
254
+ justify-content: space-around;
255
+ align-items: flex-end;
256
+ align-content: flex-end;
257
+ }
258
+ &[ui-flex~='#{$med}ry'] {
259
+ justify-content: space-between;
260
+ align-items: flex-end;
261
+ align-content: flex-end;
262
+ }
263
+
264
+ &[ui-flex~='#{$med}at'] {
265
+ justify-content: flex-start;
266
+ align-items: space-around;
267
+ align-content: space-around;
268
+ }
269
+ &[ui-flex~='#{$med}am'] {
270
+ justify-content: center;
271
+ align-items: space-around;
272
+ align-content: space-around;
273
+ }
274
+ &[ui-flex~='#{$med}ab'] {
275
+ justify-content: flex-end;
276
+ align-items: space-around;
277
+ align-content: space-around;
278
+ }
279
+ &[ui-flex~='#{$med}ad'] {
280
+ justify-content: flex-end;
281
+ align-items: space-around;
282
+ align-content: space-around;
283
+ }
284
+ &[ui-flex~='#{$med}ay'] {
285
+ justify-content: space-between;
286
+ align-content: space-around;
287
+ align-items: stretch;
288
+ }
289
+
290
+ &[ui-flex~='#{$med}xt'] {
291
+ justify-content: flex-start;
292
+ align-items: stretch;
293
+ align-content: stretch;
294
+ }
295
+ &[ui-flex~='#{$med}xm'] {
296
+ justify-content: center;
297
+ align-items: stretch;
298
+ align-content: stretch;
299
+ }
300
+ &[ui-flex~='#{$med}xb'] {
301
+ justify-content: flex-end;
302
+ align-items: stretch;
303
+ align-content: stretch;
304
+ }
305
+ &[ui-flex~='#{$med}ad'] {
306
+ justify-content: space-around;
307
+ align-items: space-around;
308
+ align-content: space-around;
309
+ }
310
+ &[ui-flex~='#{$med}xd'] {
311
+ justify-content: space-around;
312
+ align-items: stretch;
313
+ align-content: space-between;
314
+ }
315
+ &[ui-flex~='#{$med}xy'] {
316
+ justify-content: space-between;
317
+ align-items: stretch;
318
+ align-content: space-between;
319
+ }
529
320
  }
321
+ }
530
322
 
531
- &[ui-flex~='rt'] {
532
- justify-content: flex-start;
533
- align-items: flex-end;
534
- align-content: flex-end;
535
- }
536
- &[ui-flex~='rm'] {
537
- justify-content: center;
538
- align-items: flex-end;
539
- align-content: flex-end;
540
- }
541
- &[ui-flex~='rb'] {
542
- justify-content: flex-end;
543
- align-items: flex-end;
544
- align-content: flex-end;
545
- }
546
- &[ui-flex~='rd'] {
547
- justify-content: space-around;
548
- align-items: flex-end;
549
- align-content: flex-end;
550
- }
551
- &[ui-flex~='ry'] {
552
- justify-content: space-between;
553
- align-items: flex-end;
554
- align-content: flex-end;
555
- }
323
+ @include flex();
556
324
 
557
- &[ui-flex~='at'] {
558
- justify-content: flex-start;
559
- align-items: space-around;
560
- align-content: space-around;
561
- }
562
- &[ui-flex~='am'] {
563
- justify-content: center;
564
- align-items: space-around;
565
- align-content: space-around;
566
- }
567
- &[ui-flex~='ab'] {
568
- justify-content: flex-end;
569
- align-items: space-around;
570
- align-content: space-around;
571
- }
572
- &[ui-flex~='ad'] {
573
- justify-content: flex-end;
574
- align-items: space-around;
575
- align-content: space-around;
576
- }
577
- &[ui-flex~='ay'] {
578
- justify-content: space-between;
579
- align-content: space-around;
580
- align-items: stretch;
581
- }
325
+ @include med('<dpc') {
326
+ @include flex('pad\\:');
327
+ }
582
328
 
583
- &[ui-flex~='xt'] {
584
- justify-content: flex-start;
585
- align-items: stretch;
586
- align-content: stretch;
587
- }
588
- &[ui-flex~='xm'] {
589
- justify-content: center;
590
- align-items: stretch;
591
- align-content: stretch;
592
- }
593
- &[ui-flex~='xb'] {
594
- justify-content: flex-end;
595
- align-items: stretch;
596
- align-content: stretch;
597
- }
598
- &[ui-flex~='ad'] {
599
- justify-content: space-around;
600
- align-items: space-around;
601
- align-content: space-around;
602
- }
603
- &[ui-flex~='xd'] {
604
- justify-content: space-around;
605
- align-items: stretch;
606
- align-content: space-between;
607
- }
608
- &[ui-flex~='xy'] {
609
- justify-content: space-between;
610
- align-items: stretch;
611
- align-content: space-between;
612
- }
329
+ @include med('<pad') {
330
+ @include flex('mob\\:');
613
331
  }
package/core/scale.scss CHANGED
@@ -4,6 +4,7 @@
4
4
  $sz: 0;
5
5
  @each $k in $rank {
6
6
  .s-#{$k},
7
+ .s-#{$k}\:hover:hover,
7
8
  [ui-scale~='#{$k}'] {
8
9
  transform: scale($sz);
9
10
 
package/core/size.scss CHANGED
@@ -9,7 +9,7 @@
9
9
  * 备注:s->Small 小,m->Middle 中,l->Large 大;x->Extra 特大
10
10
  */
11
11
 
12
- @use 'sass:list';
12
+ @use 'sass:list';
13
13
 
14
14
  // 全局字号
15
15
  @mixin baseSize($sz: 13) {
@@ -150,11 +150,5 @@
150
150
 
151
151
  // 移动
152
152
  @media screen and (max-width: 767px) {
153
- // @include baseSize(15);
154
153
  @include randSize('mob\\:');
155
154
  }
156
-
157
- // 超小屏
158
- @media screen and (max-width: 374px) {
159
- // @include baseSize(9);
160
- }
package/core/theme.scss CHANGED
@@ -172,7 +172,8 @@ $theme: if(
172
172
  $n: list.nth($i, 1);
173
173
  $s: list.nth($i, 2);
174
174
  @if ($n == $f) {
175
- :root {
175
+ :root,
176
+ [theme~='#{$n}'] {
176
177
  @each $c in $s {
177
178
  $k: list.nth($c, 1);
178
179
  $v: list.nth($c, 2);
package/core/ux.scss CHANGED
@@ -348,3 +348,14 @@
348
348
  }
349
349
  }
350
350
  }
351
+
352
+ .ev-none,
353
+ .ev-none-sub > *,
354
+ .ev-none-sun > * > * {
355
+ pointer-events: none;
356
+ }
357
+ .ev-auto,
358
+ .ev-auto-sub > *,
359
+ .ev-auto-sun > * > * {
360
+ pointer-events: auto;
361
+ }
package/package.json CHANGED
@@ -1,13 +1,11 @@
1
1
  {
2
2
  "name": "@neatui/css",
3
- "version": "3.0.0-beta.0",
3
+ "version": "3.0.0-beta.10",
4
4
  "description": "neatui",
5
5
  "main": "./neatui.scss",
6
6
  "license": "MIT",
7
7
  "author": "xiaojunbo",
8
8
  "peerDependencies": {},
9
- "devDependencies": {
10
- "typescript": "^5.1.6"
11
- },
9
+ "devDependencies": {},
12
10
  "dependencies": {}
13
11
  }