vanilla-jui 1.5.35 → 1.5.36

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 (62) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/index.umd.js +1 -1
  3. package/dist/style.css +1 -1
  4. package/package.json +7 -4
  5. package/src/css/accordion.css +3 -73
  6. package/src/css/animation.css +143 -0
  7. package/src/css/avatar.css +4 -13
  8. package/src/css/badge.css +4 -11
  9. package/src/css/breadcrumb.css +4 -11
  10. package/src/css/button.css +6 -64
  11. package/src/css/card.css +25 -23
  12. package/src/css/components.css +4 -3
  13. package/src/css/drop.css +0 -10
  14. package/src/css/editor.css +84 -67
  15. package/src/css/flow.css +2 -3
  16. package/src/css/form.css +45 -178
  17. package/src/css/index.css +2 -2
  18. package/src/css/layout.css +32 -0
  19. package/src/css/loading.css +230 -1
  20. package/src/css/menu.css +16 -5
  21. package/src/css/modal.css +0 -29
  22. package/src/css/offcanvas.css +0 -35
  23. package/src/css/pagination.css +0 -10
  24. package/src/css/popup.css +0 -3
  25. package/src/css/skeleton.css +14 -8
  26. package/src/css/status.css +6 -1
  27. package/src/css/swiper.css +7 -74
  28. package/src/css/table.css +4 -33
  29. package/src/css/tabs.css +0 -7
  30. package/src/css/theme-palette.css +6 -40
  31. package/src/css/themes/default/accordion.css +84 -7
  32. package/src/css/themes/default/avatar.css +15 -0
  33. package/src/css/themes/default/badge.css +24 -3
  34. package/src/css/themes/default/breadcrumb.css +18 -0
  35. package/src/css/themes/default/button.css +124 -26
  36. package/src/css/themes/default/drop.css +10 -8
  37. package/src/css/themes/default/editor.css +24 -8
  38. package/src/css/themes/default/form.css +170 -0
  39. package/src/css/themes/default/index.css +5 -2
  40. package/src/css/themes/default/loading.css +0 -1
  41. package/src/css/themes/default/menu.css +0 -3
  42. package/src/css/themes/default/modal.css +39 -17
  43. package/src/css/themes/default/offcanvas.css +40 -3
  44. package/src/css/themes/default/pagination.css +11 -4
  45. package/src/css/themes/default/popup.css +4 -3
  46. package/src/css/themes/default/swiper.css +83 -19
  47. package/src/css/themes/default/table.css +22 -14
  48. package/src/css/themes/default/tabs.css +16 -6
  49. package/src/css/themes/default/theme-palette.css +33 -8
  50. package/src/css/themes/default/tip.css +27 -17
  51. package/src/css/themes/default/toast.css +30 -18
  52. package/src/css/themes/default/toc.css +25 -0
  53. package/src/css/themes/default/toolbar.css +54 -9
  54. package/src/css/themes/default/tooltip.css +14 -7
  55. package/src/css/themes/default/tree.css +75 -0
  56. package/src/css/tip.css +2 -27
  57. package/src/css/toast.css +5 -21
  58. package/src/css/toc.css +0 -24
  59. package/src/css/tokens.css +52 -17
  60. package/src/css/toolbar.css +2 -48
  61. package/src/css/tooltip.css +2 -10
  62. package/src/css/tree.css +49 -0
package/src/css/form.css CHANGED
@@ -7,21 +7,16 @@
7
7
 
8
8
  .j-form.is-vertical {
9
9
  flex-direction: column;
10
- gap: var(--form-gap-vertical, var(--s2));
10
+ gap: var(--s2);
11
11
  }
12
12
 
13
13
  .j-form.is-horizontal {
14
14
  flex-direction: row;
15
- gap: var(--form-gap-horizontal, var(--s2));
16
- }
17
-
18
- .j-form.is-lg {
19
- --form-gap-vertical: var(--s3);
20
- --form-gap-horizontal: var(--s3);
15
+ gap: var(--s2);
21
16
  }
22
17
 
23
18
  .j-form .form-field {
24
- gap: var(--form-label-gap, var(--space));
19
+ gap: var(--space);
25
20
  margin: 0;
26
21
  }
27
22
 
@@ -40,8 +35,8 @@
40
35
  }
41
36
 
42
37
  .j-form .form-field .field-legend {
43
- color: var(--form-item-label-color, var(--ui-fg-muted));
44
- font-size: var(--form-item-label-size, var(--font-size-sm));
38
+ color: var(--ui-fg-muted);
39
+ font-size: var(--font-size-sm);
45
40
  }
46
41
 
47
42
  .j-form .form-field > legend.field-legend {
@@ -50,17 +45,17 @@
50
45
 
51
46
  .j-form .form-field .field-legend,
52
47
  .j-form .form-field .field-control {
53
- gap: var(--form-label-gap, var(--space));
48
+ gap: var(--space);
54
49
  }
55
50
 
56
51
  .j-form.is-horizontal .form-field .field-legend {
57
52
  align-items: center;
58
- height: var(--horizontal-form-label-height, var(--el-height-md));
53
+ height: var(--el-height-md);
59
54
  }
60
55
 
61
56
  .j-form .field-legend.is-required::after {
62
57
  content: '*';
63
- color: var(--required-color, var(--state-danger));
58
+ color: var(--state-danger);
64
59
  }
65
60
 
66
61
  .j-form .form-field .field-control {
@@ -70,8 +65,8 @@
70
65
  }
71
66
 
72
67
  .j-form .form-field .field-control .help-block {
73
- font-size: var(--form-help-block-font-size, var(--font-size-sm));
74
- color: var(--form-help-block-fg, var(--ui-fg-soft));
68
+ font-size: var(--font-size-sm);
69
+ color: var(--ui-fg-soft);
75
70
  margin: 0;
76
71
  }
77
72
 
@@ -81,7 +76,7 @@
81
76
 
82
77
  .j-form .form-buttons {
83
78
  display: flex;
84
- gap: var(--form-buttons-gap, var(--s2));
79
+ gap: var(--s2);
85
80
  margin-top: 1rem;
86
81
  }
87
82
 
@@ -95,97 +90,58 @@
95
90
 
96
91
  /* input */
97
92
  .j-input {
98
- font-size: var(--input-font-size, var(--font-size-md));
99
- background-color: var(--input-bg, inherit);
100
- color: var(--input-fg, inherit);
93
+ font-size: var(--input-font-size);
94
+ background-color: var(--input-bg);
95
+ color: var(--input-fg);
101
96
  }
102
97
 
103
98
  .j-input:not([type='checkbox']) {
104
99
  /* display: block; */
105
- padding: var(--input-padding, calc(var(--space) * 1.5) var(--s2));
106
100
  border-width: 1px;
107
101
  border-style: solid;
108
102
  border-color: var(--ui-border);
109
103
  border-radius: var(--radius-md);
110
- height: var(--input-height, var(--el-height-md));
111
- line-height: var(--input-line-height, var(--line-height));
104
+ padding: var(--input-padding);
105
+ height: var(--input-height);
106
+ line-height: var(--input-line-height);
112
107
  letter-spacing: 0.5px;
113
108
  }
114
109
 
115
- .j-input.is-sm {
116
- --input-height: var(--el-height-sm);
117
- --input-line-height: var(--line-height-self);
118
- --input-font-size: var(--font-size-sm);
119
- }
120
-
121
- .j-input.is-lg {
122
- --input-height: var(--el-height-lg);
123
- --input-line-height: var(--line-height);
124
- --input-font-size: var(--font-size-lg);
125
- }
126
-
127
- .j-input[type='password'].is-sm {
128
- letter-spacing: 1px;
129
- }
130
-
131
- .j-input[type='password'] {
132
- letter-spacing: 2px;
133
- }
134
-
135
- .j-input[type='password'].is-lg {
136
- letter-spacing: 3px;
137
- }
138
-
139
- .j-input[type='password']:placeholder-shown {
140
- letter-spacing: 0.5px;
141
- }
142
-
143
- .j-input[type='date'],
144
- .j-input[type='datetime'],
145
- .j-input[type='datetime-local'],
146
- .j-input[type='time'],
147
- .j-input[type='week'],
148
- .j-input[type='month'],
149
- .j-input[type='file'],
150
- .j-input[type='color'] {
151
- --input-font-size: var(--font-size-sm);
152
- --input-fg: var(--ui-fg-muted);
153
- }
154
-
155
- .j-input[type='color'] {
156
- --input-padding: var(--space);
157
- }
158
-
159
- .j-input[type='color']::-webkit-color-swatch {
160
- border: 0;
161
- }
162
-
163
110
  /* type file */
164
111
  .j-input[type='file'] {
112
+ -webkit-appearance: none;
113
+ -moz-appearance: none;
165
114
  appearance: none;
166
115
  background-clip: padding-box;
167
116
  overflow: hidden;
168
117
  cursor: pointer;
118
+ background-color: var(--ui-surface-subtle);
169
119
  }
170
120
 
171
121
  .j-input[type='file']::file-selector-button {
172
122
  color: var(--ui-fg-muted);
123
+ -webkit-appearance: none;
124
+ -moz-appearance: none;
173
125
  appearance: none;
174
126
  border-width: 0;
175
127
  border-inline-end-width: 1px;
176
128
  border-radius: 0;
177
129
  border-color: var(--ui-border);
178
- background-color: var(--ui-surface-subtle);
130
+ /* background-color: var(--ui-surface-subtle); */
131
+ background-color: transparent;
179
132
  margin: calc(var(--space) * -2);
133
+ font-size: var(--input-font-size);
180
134
  }
181
135
 
182
136
  .j-input[type='file']::file-selector-button,
183
137
  html.j-font-sm .j-input[type='file']::file-selector-button {
138
+ -webkit-margin-end: var(--s2);
184
139
  margin-inline-end: var(--s2);
185
140
  padding: var(--s2);
186
141
  }
187
142
 
188
143
  html.j-font-md .j-input[type='file']::file-selector-button {
144
+ -webkit-margin-end: calc(var(--space) * 2.75);
189
145
  margin-inline-end: calc(var(--space) * 2.75);
190
146
  padding: calc(var(--space) * 2.75);
191
147
  }
@@ -210,27 +166,6 @@
210
166
  padding-right: 0;
211
167
  }
212
168
 
213
- /* input validate */
214
- /* .j-input[data-valid='true'],
215
- .j-select[data-valid='true'],
216
- .j-textarea[data-valid='true'],
217
- .j-input[data-valid='false'],
218
- .j-select[data-valid='false'],
219
- .j-textarea[data-valid='false'] {
220
- padding-right: calc(1.4285714286em + 0.875rem);
221
- background-repeat: no-repeat;
222
- background-position: right calc(0.3571428572em + 0.21875rem) center;
223
- background-size: calc(0.7142857143em + 0.4375rem)
224
- calc(0.7142857143em + 0.4375rem);
225
- } */
226
-
227
- /* .j-input[data-valid='true'],
228
- .j-select[data-valid='true'],
229
- .j-textarea[data-valid='true'] {
230
- border-color: var(--form-valid-border-color, var(--state-success));
231
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");
232
- } */
233
-
234
169
  .j-input[data-valid='false'],
235
170
  .j-select[data-valid='false'],
236
171
  .j-textarea[data-valid='false'] {
@@ -267,6 +202,8 @@
267
202
  }
268
203
 
269
204
  .j-radio label input[type='radio'] {
205
+ -webkit-appearance: none;
206
+ -moz-appearance: none;
270
207
  appearance: none;
271
208
  width: 1rem;
272
209
  height: 1rem;
@@ -326,6 +263,7 @@
326
263
  /* radio group */
327
264
  .j-radio.is-group input[type='radio'] {
328
265
  clip: rect(0 0 0 0);
266
+ -webkit-clip-path: inset(100%);
329
267
  clip-path: inset(100%);
330
268
  height: 1px;
331
269
  overflow: hidden;
@@ -347,6 +285,9 @@
347
285
  justify-content: center;
348
286
  align-items: center;
349
287
  text-align: center;
288
+ -webkit-user-select: none;
289
+ -moz-user-select: none;
290
+ -ms-user-select: none;
350
291
  user-select: none;
351
292
  letter-spacing: 0.5px;
352
293
  }
@@ -420,6 +361,8 @@
420
361
 
421
362
  .j-radio label,
422
363
  .j-checkbox label {
364
+ width: -webkit-fit-content;
365
+ width: -moz-fit-content;
423
366
  width: fit-content;
424
367
  }
425
368
 
@@ -428,6 +371,8 @@
428
371
  }
429
372
 
430
373
  .j-checkbox input[type='checkbox'] {
374
+ -webkit-appearance: none;
375
+ -moz-appearance: none;
431
376
  appearance: none;
432
377
  width: 1rem;
433
378
  height: 1rem;
@@ -558,30 +503,18 @@
558
503
 
559
504
  /* select */
560
505
  select.j-select {
561
- padding: var(--input-padding, calc(var(--space) * 1.5));
506
+ padding: var(--input-padding);
562
507
  border-width: 1px;
563
508
  border-style: solid;
564
509
  border-color: var(--ui-border);
565
510
  border-radius: var(--radius-md);
566
- height: var(--input-height, var(--el-height-md));
511
+ height: var(--input-height);
567
512
  line-height: var(--input-line-height, var(--line-height));
568
513
  background-color: var(--input-background-color, inherit);
569
- font-size: var(--input-font-size, var(--font-size-md));
514
+ font-size: var(--input-font-size);
570
515
  letter-spacing: 0.5px;
571
516
  }
572
517
 
573
- select.j-select.is-sm {
574
- --input-padding: var(--space);
575
- --input-height: var(--el-height-sm);
576
- --input-font-size: var(--font-size-sm);
577
- }
578
-
579
- select.j-select.is-lg {
580
- --input-padding: var(--s2);
581
- --input-height: var(--el-height-lg);
582
- --input-font-size: var(--font-size-lg);
583
- }
584
-
585
518
  /* textarea */
586
519
  textarea.j-textarea {
587
520
  min-height: var(--textarea-min-height, calc(var(--space) * 18));
@@ -612,90 +545,34 @@
612
545
 
613
546
  /* input group */
614
547
  .input-group {
615
- position: relative;
616
548
  display: flex;
617
- flex-wrap: wrap;
618
549
  align-items: stretch;
619
- width: 100%;
620
- }
621
-
622
- .input-group .j-button {
623
- box-shadow: none;
624
550
  }
625
551
 
626
552
  .input-group input.j-input,
627
553
  .input-group select.j-select {
628
554
  position: relative;
629
555
  flex: 1 1 auto;
630
- /* width: 1%; */
631
556
  min-width: 0;
632
- /* letter-spacing: 0.4px; */
633
- }
634
-
635
- .input-group .el-addon .j-button {
636
- position: relative;
637
- border-color: var(--ui-border);
638
- color: var(--ui-fg-muted);
639
- background: var(--ui-bg-muted);
640
557
  }
641
558
 
642
559
  .input-group > .el-addon > .is-text {
643
560
  display: flex;
644
561
  align-items: center;
645
562
  white-space: nowrap;
646
- font-size: var(--font-size-md);
647
- line-height: var(--line-height);
648
- color: var(--ui-fg-muted);
649
- background-color: var(--ui-bg-muted);
650
- padding: var(--s2);
651
- height: var(--el-height-md);
652
563
  border-width: 1px;
653
564
  border-style: solid;
654
- border-color: var(--ui-border);
655
- border-radius: var(--radius-md);
565
+ -webkit-user-select: none;
566
+ -moz-user-select: none;
567
+ -ms-user-select: none;
656
568
  user-select: none;
657
569
  }
658
570
 
659
- .input-group > .el-addon > .is-text.icon-close {
660
- width: var(--el-height-md);
661
- }
662
-
663
- .input-group > *:not(:first-child) {
664
- margin-left: -1px;
665
- }
666
-
667
- .input-group > input.j-input:not(:first-child),
668
- .input-group > select.j-select:not(:first-child),
669
- .input-group
670
- > :not(select.j-select)
671
- + .el-addon:not(:first-child)
672
- > .is-text {
673
- border-left-color: transparent;
674
- }
675
-
676
- .input-group > input.j-input:not(:first-child),
677
- .input-group > select.j-select:not(:first-child),
678
- .input-group > *:not(:first-child) > *,
679
- .input-group > *:not(:first-child) > .is-text {
680
- border-top-left-radius: 0;
681
- border-bottom-left-radius: 0;
682
- }
683
-
684
- .input-group > input.j-input:not(:last-child),
685
- .input-group > select.j-select:not(:last-child),
686
- .input-group > *:not(:last-child) > *,
687
- .input-group > *:not(:last-child) > .is-text {
688
- border-top-right-radius: 0;
689
- border-bottom-right-radius: 0;
690
- }
691
-
692
571
  /* input inner group */
572
+ .input-group,
693
573
  .input-inner-group {
694
574
  position: relative;
695
- }
696
-
697
- .input-inner-group button.j-button {
698
- box-shadow: none;
575
+ width: 100%;
699
576
  }
700
577
 
701
578
  .input-inner-group input.j-input {
@@ -703,14 +580,6 @@
703
580
  letter-spacing: 0.4px;
704
581
  }
705
582
 
706
- .input-inner-group input.j-input:not(:last-child) {
707
- padding-right: var(--el-height-md);
708
- }
709
-
710
- .input-inner-group input.j-input:not(:first-child) {
711
- padding-left: var(--el-height-md);
712
- }
713
-
714
583
  .input-inner-group .el-addon {
715
584
  position: absolute;
716
585
  top: 0;
@@ -720,8 +589,6 @@
720
589
  align-items: center;
721
590
  justify-content: center;
722
591
  min-width: var(--el-height-md);
723
- color: var(--ui-fg-muted);
724
- /* font-size: 0.875em; */
725
592
  }
726
593
 
727
594
  .input-inner-group .el-addon:last-child {
package/src/css/index.css CHANGED
@@ -1,13 +1,13 @@
1
1
  @layer tokens, gradient, layout, icon, font, components, themes, animation, status;
2
2
 
3
3
  @import url('./tokens.css');
4
- @import url('./gradient.css');
5
4
  @import url('./layout.css');
5
+ @import url('./animation.css');
6
+ @import url('./gradient.css');
6
7
  @import url('./icon.css');
7
8
  @import url('./font.css');
8
9
 
9
10
  @import url('./components.css');
10
11
  @import url('./themes/index.css');
11
12
 
12
- @import url('./animation.css');
13
13
  @import url('./status.css');
@@ -20,6 +20,8 @@
20
20
  }
21
21
 
22
22
  body {
23
+ -moz-tab-size: 4;
24
+ -o-tab-size: 4;
23
25
  tab-size: 4;
24
26
  scroll-behavior: smooth;
25
27
  font-family:
@@ -42,6 +44,7 @@
42
44
  }
43
45
 
44
46
  img {
47
+ -o-object-fit: cover;
45
48
  object-fit: cover;
46
49
  }
47
50
 
@@ -54,6 +57,8 @@
54
57
  }
55
58
 
56
59
  .is-reset:where(button) {
60
+ -webkit-appearance: none;
61
+ -moz-appearance: none;
57
62
  appearance: none;
58
63
  cursor: default;
59
64
  background-color: transparent;
@@ -102,12 +107,20 @@
102
107
  linear-gradient(to right, var(--ui-surface-subtle) 1px, transparent 1px),
103
108
  linear-gradient(to bottom, var(--ui-surface-subtle) 1px, transparent 1px);
104
109
  background-size: 40px 56px;
110
+ -webkit-mask-image: radial-gradient(
111
+ ellipse 25% 10% at 50% 0%,
112
+ #000 60%,
113
+ transparent 300%
114
+ );
105
115
  mask-image: radial-gradient(
106
116
  ellipse 25% 10% at 50% 0%,
107
117
  #000 60%,
108
118
  transparent 300%
109
119
  );
110
120
  pointer-events: none;
121
+ -webkit-user-select: none;
122
+ -moz-user-select: none;
123
+ -ms-user-select: none;
111
124
  user-select: none;
112
125
  }
113
126
 
@@ -156,6 +169,8 @@
156
169
 
157
170
  .block-center {
158
171
  margin-inline: auto;
172
+ height: -webkit-fit-content;
173
+ height: -moz-fit-content;
159
174
  height: fit-content;
160
175
  }
161
176
 
@@ -787,70 +802,87 @@
787
802
 
788
803
  /* columns */
789
804
  .columns-auto {
805
+ -moz-columns: auto;
790
806
  columns: auto;
791
807
  }
792
808
 
793
809
  .columns-6xs {
810
+ -moz-columns: var(--columns-6xs);
794
811
  columns: var(--columns-6xs);
795
812
  }
796
813
 
797
814
  .columns-5xs {
815
+ -moz-columns: var(--columns-5xs);
798
816
  columns: var(--columns-5xs);
799
817
  }
800
818
 
801
819
  .columns-4xs {
820
+ -moz-columns: var(--columns-4xs);
802
821
  columns: var(--columns-4xs);
803
822
  }
804
823
 
805
824
  .columns-3xs {
825
+ -moz-columns: var(--columns-3xs);
806
826
  columns: var(--columns-3xs);
807
827
  }
808
828
 
809
829
  .columns-2xs {
830
+ -moz-columns: var(--columns-2xs);
810
831
  columns: var(--columns-2xs);
811
832
  }
812
833
 
813
834
  .columns-xs {
835
+ -moz-columns: var(--columns-xs);
814
836
  columns: var(--columns-xs);
815
837
  }
816
838
 
817
839
  .columns-sm {
840
+ -moz-columns: var(--columns-sm);
818
841
  columns: var(--columns-sm);
819
842
  }
820
843
 
821
844
  .columns-md {
845
+ -moz-columns: var(--columns-md);
822
846
  columns: var(--columns-md);
823
847
  }
824
848
 
825
849
  .columns-lg {
850
+ -moz-columns: var(--columns-lg);
826
851
  columns: var(--columns-lg);
827
852
  }
828
853
 
829
854
  .columns-xl {
855
+ -moz-columns: var(--columns-xl);
830
856
  columns: var(--columns-xl);
831
857
  }
832
858
 
833
859
  .columns-2xl {
860
+ -moz-columns: var(--columns-2xl);
834
861
  columns: var(--columns-2xl);
835
862
  }
836
863
 
837
864
  .columns-3xl {
865
+ -moz-columns: var(--columns-3xl);
838
866
  columns: var(--columns-3xl);
839
867
  }
840
868
 
841
869
  .columns-4xl {
870
+ -moz-columns: var(--columns-4xl);
842
871
  columns: var(--columns-4xl);
843
872
  }
844
873
 
845
874
  .columns-5xl {
875
+ -moz-columns: var(--columns-5xl);
846
876
  columns: var(--columns-5xl);
847
877
  }
848
878
 
849
879
  .columns-6xl {
880
+ -moz-columns: var(--columns-6xl);
850
881
  columns: var(--columns-6xl);
851
882
  }
852
883
 
853
884
  .columns-7xl {
885
+ -moz-columns: var(--columns-7xl);
854
886
  columns: var(--columns-7xl);
855
887
  }
856
888