vanilla-jui 1.4.1 → 1.4.2

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 (44) hide show
  1. package/dist/index.d.ts +7 -14
  2. package/dist/index.js +1 -1
  3. package/dist/index.umd.js +1 -1
  4. package/dist/style.css +1 -1
  5. package/package.json +1 -1
  6. package/src/components/accordion.ts +7 -10
  7. package/src/components/drop.ts +5 -15
  8. package/src/components/parabola.ts +2 -2
  9. package/src/components/tabs.ts +5 -25
  10. package/src/components/theme.ts +25 -22
  11. package/src/components/toast.ts +34 -19
  12. package/src/components/tooltip.ts +3 -9
  13. package/src/core/Component.ts +1 -1
  14. package/src/css/accordion.css +1 -1
  15. package/src/css/components.css +1 -0
  16. package/src/css/content.css +147 -151
  17. package/src/css/drop.css +1 -1
  18. package/src/css/editor.css +16 -0
  19. package/src/css/form.css +27 -14
  20. package/src/css/icon.css +3 -3
  21. package/src/css/index.css +2 -2
  22. package/src/css/layout.css +2 -2
  23. package/src/css/loading.css +77 -29
  24. package/src/css/menu.css +29 -32
  25. package/src/css/pagination.css +4 -4
  26. package/src/css/status.css +2 -1
  27. package/src/css/table.css +20 -20
  28. package/src/css/tabs.css +2 -2
  29. package/src/css/theme-palette.css +10 -17
  30. package/src/css/themes/default/accordion.css +4 -4
  31. package/src/css/themes/default/avatar.css +17 -1
  32. package/src/css/themes/default/content.css +59 -0
  33. package/src/css/themes/default/editor.css +10 -0
  34. package/src/css/themes/default/index.css +8 -1
  35. package/src/css/themes/default/loading.css +16 -16
  36. package/src/css/themes/default/menu.css +15 -0
  37. package/src/css/themes/default/pagination.css +8 -0
  38. package/src/css/themes/default/table.css +18 -0
  39. package/src/css/themes/default/tabs.css +2 -2
  40. package/src/css/themes/default/theme-palette.css +12 -0
  41. package/src/css/themes/default/toolbar.css +34 -0
  42. package/src/css/toast.css +11 -9
  43. package/src/css/toolbar.css +29 -48
  44. package/src/locales/index.ts +3 -3
package/src/css/form.css CHANGED
@@ -84,6 +84,7 @@
84
84
  box-shadow: var(--input-box-shadow, var(--shadow-sm));
85
85
  background-color: inherit;
86
86
  color: inherit;
87
+ letter-spacing: 0.5px;
87
88
  }
88
89
 
89
90
  .j-input:not([type='file']) {
@@ -102,6 +103,23 @@
102
103
  line-height: var(--input-line-height-lg, var(--line-height));
103
104
  }
104
105
 
106
+ .j-input[type='password'].is-sm {
107
+ letter-spacing: 1px;
108
+ }
109
+
110
+ .j-input[type='password'] {
111
+ letter-spacing: 2px;
112
+ }
113
+
114
+ .j-input[type='password'].is-lg {
115
+ letter-spacing: 3px;
116
+ }
117
+
118
+ .j-input[type='password']:placeholder-shown {
119
+ letter-spacing: 0.5px;
120
+ }
121
+
122
+
105
123
  /* type file */
106
124
  .j-input[type='file'] {
107
125
  appearance: none;
@@ -259,7 +277,7 @@
259
277
 
260
278
  .j-radio label:has(input[type='radio']:disabled) {
261
279
  cursor: not-allowed;
262
- opacity: var(--opacity-disabled);
280
+ /* opacity: var(--opacity-disabled); */
263
281
  color: var(--ui-disabled-fg);
264
282
  }
265
283
 
@@ -404,11 +422,7 @@
404
422
  print-color-adjust: exact;
405
423
  }
406
424
 
407
- .j-theme-yellow .j-checkbox input[type='checkbox']:checked,
408
- .j-theme-mint .j-checkbox input[type='checkbox']:checked,
409
- .j-theme-lime .j-checkbox input[type='checkbox']:checked,
410
- .dark.j-theme-gray .j-checkbox input[type='checkbox']:checked,
411
- .dark.j-theme-olive .j-checkbox input[type='checkbox']:checked {
425
+ .dark .j-checkbox input[type='checkbox']:checked {
412
426
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");
413
427
  }
414
428
 
@@ -677,6 +691,8 @@
677
691
  .input-group>.el-addon>.j-button {
678
692
  position: relative;
679
693
  border-color: var(--input-border-color, var(--ui-input-border));
694
+ color: var(--ui-fg-muted);
695
+ background: var(--ui-surface-muted);
680
696
  }
681
697
 
682
698
  .input-group>.el-addon>.is-text {
@@ -687,7 +703,7 @@
687
703
  line-height: var(--line-height, 1.25rem);
688
704
  color: var(--ui-fg-muted);
689
705
  background-color: var(--input-group-text-addon-background, var(--ui-bg-muted));
690
- padding: var(--input-group-text-addon-padding, 0.5rem 0.75rem);
706
+ padding: var(--input-group-text-addon-padding, var(--s2));
691
707
  height: var(--button-height, var(--el-height-md));
692
708
  border-width: var(--border-width, 1px);
693
709
  border-style: var(--border-style, solid);
@@ -855,7 +871,6 @@
855
871
 
856
872
  .j-input:disabled:not(.is-line):not(.is-ghost):not(.is-blank) {
857
873
  background-color: var(--ui-disabled-bg);
858
- border-color: var(--ui-border);
859
874
  }
860
875
 
861
876
  .j-textarea[disabled] {
@@ -877,14 +892,14 @@
877
892
  .j-radio.is-group label input[type='radio']:disabled+.radio-text {
878
893
  cursor: not-allowed;
879
894
  background-color: var(--ui-disabled-bg);
880
- opacity: var(--opacity-disabled);
895
+ /* opacity: var(--opacity-disabled); */
881
896
  color: var(--ui-disabled-fg);
882
897
  }
883
898
 
884
899
  /* checkbox disabled */
885
900
  .j-checkbox label:has(input[type='checkbox']:disabled) {
886
901
  cursor: not-allowed;
887
- opacity: var(--opacity-disabled);
902
+ /* opacity: var(--opacity-disabled); */
888
903
  color: var(--ui-disabled-fg);
889
904
  }
890
905
 
@@ -911,9 +926,7 @@
911
926
  }
912
927
 
913
928
  /* status placeholder shown */
914
- /* input.j-input[type='file']:valid, */
915
- /* select.j-select:valid, */
916
- input.j-input:not([type='file']):not(:placeholder-shown) {
929
+ /* input.j-input:not([type='file']):not(:placeholder-shown) {
917
930
  background-color: var(--tone-subtle);
918
- }
931
+ } */
919
932
  }
package/src/css/icon.css CHANGED
@@ -11,8 +11,8 @@
11
11
  transform: scale(1);
12
12
  width: var(--font-size-xl);
13
13
  height: var(--font-size-xl);
14
- border: 1px solid;
15
- border-radius: 50%;
14
+ /* border: 1px solid; */
15
+ /* border-radius: 50%; */
16
16
  color: inherit;
17
17
  cursor: pointer;
18
18
  }
@@ -25,7 +25,7 @@
25
25
  top: 50%;
26
26
  left: 50%;
27
27
  width: 12px;
28
- height: 2px;
28
+ height: 1.5px;
29
29
  background: currentColor;
30
30
  border-radius: 1px;
31
31
  transform-origin: center center;
package/src/css/index.css CHANGED
@@ -6,10 +6,10 @@
6
6
  @import url('./icon.css');
7
7
  @import url('./font.css');
8
8
 
9
+ @import url('./content.css');
10
+
9
11
  @import url('./components.css');
10
12
  @import url('./themes/index.css');
11
13
 
12
- @import url('./content.css');
13
14
  @import url('./animation.css');
14
-
15
15
  @import url('./status.css');
@@ -24,7 +24,7 @@
24
24
  body {
25
25
  -webkit-text-size-adjust: 100%;
26
26
  tab-size: 4;
27
- text-rendering: optimizeLegibility;
27
+ text-rendering: auto;
28
28
  -webkit-font-smoothing: antialiased;
29
29
  scroll-behavior: smooth;
30
30
  font-family:
@@ -42,9 +42,9 @@
42
42
 
43
43
  min-width: var(--screen-xs, 320px);
44
44
  min-height: 100vh;
45
+ min-height: 100dvh;
45
46
  font-size: var(--font-size-md);
46
47
  margin: 0;
47
- /* text-rendering: optimizeSpeed; */
48
48
  }
49
49
 
50
50
  img,
@@ -3,52 +3,100 @@
3
3
  display: flex;
4
4
  justify-content: center;
5
5
  align-items: center;
6
- position: absolute;
6
+ position: var(--loader-position);
7
7
  width: 100%;
8
8
  height: 100%;
9
- background: var(--loader-bg);
10
9
  }
11
10
 
12
11
  .j-loader .loader {
13
12
  display: inline-block;
14
- width: var(--loader-icon-size);
15
- height: var(--loader-icon-size);
16
- border-width: var(--loader-icon-width);
17
- border-style: var(--loader-icon-style);
18
- border-color: var(--loader-icon-fg);
13
+ width: var(--loader-size);
14
+ height: var(--loader-size);
15
+ border-width: var(--loader-width);
16
+ border-style: var(--loader-style);
17
+ border-color: var(--loader-fg);
19
18
  border-right-color: transparent;
20
19
  border-radius: 50%;
21
- animation: var(--loader-icon-speed) linear infinite animate-spin;
20
+ animation: var(--loader-speed) linear infinite animate-spin;
22
21
  }
23
22
 
24
- .j-loading {
25
- position: absolute;
26
- top: 0;
27
- left: 0;
28
- width: 100%;
29
- height: 100%;
30
- display: flex;
31
- justify-content: center;
32
- align-items: center;
33
- background: var(--loading-bg);
34
- backdrop-filter: var(--loading-backdrop-filter);
23
+ .j-loader .polygon-loader {
24
+ width: var(--loader-size);
25
+ aspect-ratio: 1;
26
+ border-radius: 50%;
27
+ border: 1.5px solid var(--loader-fg);
28
+ animation:
29
+ polygon-loader-1 0.8s infinite linear alternate,
30
+ polygon-loader-2 1.6s infinite linear;
31
+ }
32
+
33
+ @keyframes polygon-loader-1 {
34
+ 0% {
35
+ clip-path: polygon(50% 50%, 0 0, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%)
36
+ }
37
+
38
+ 12.5% {
39
+ clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%)
40
+ }
41
+
42
+ 25% {
43
+ clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 100%, 100% 100%, 100% 100%)
44
+ }
45
+
46
+ 50% {
47
+ clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 100%, 50% 100%, 0% 100%)
48
+ }
49
+
50
+ 62.5% {
51
+ clip-path: polygon(50% 50%, 100% 0, 100% 0%, 100% 0%, 100% 100%, 50% 100%, 0% 100%)
52
+ }
53
+
54
+ 75% {
55
+ clip-path: polygon(50% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 50% 100%, 0% 100%)
56
+ }
57
+
58
+ 100% {
59
+ clip-path: polygon(50% 50%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 0% 100%)
60
+ }
61
+ }
62
+
63
+ @keyframes polygon-loader-2 {
64
+ 0% {
65
+ transform: scaleY(1) rotate(0deg)
66
+ }
67
+
68
+ 49.99% {
69
+ transform: scaleY(1) rotate(135deg)
70
+ }
71
+
72
+ 50% {
73
+ transform: scaleY(-1) rotate(0deg)
74
+ }
75
+
76
+ 100% {
77
+ transform: scaleY(-1) rotate(-135deg)
78
+ }
35
79
  }
36
80
 
37
- .j-loading .loader {
38
- width: var(--loading-loader-size);
39
- height: var(--loading-loader-size);
40
- border-width: var(--loading-loader-border-width);
41
- border-style: var(--loading-loader-border-style);
42
- border-color: var(--loading-loader-border-color);
43
- border-top-color: var(--loading-loader-border-top-color);
81
+ .j-loader .tone-loader {
82
+ width: var(--loader-size);
83
+ height: var(--loader-size);
84
+ border-width: var(--loader-width);
85
+ border-style: var(--loader-style);
86
+ border-color: var(--loader-fg);
87
+ border-top-color: var(--loader-top-fg);
44
88
  border-radius: 50%;
45
89
  animation: 1s linear infinite animate-spin;
46
90
  }
47
91
 
48
- .j-loading.is-bold .loader {
92
+ .j-loader .flow-loader {
93
+ width: var(--loader-size);
94
+ height: var(--loader-size);
49
95
  border: none;
96
+ border-radius: 50%;
50
97
  aspect-ratio: 1;
51
- background: var(--loading-loader-bg);
52
- mask: var(--loading-loader-mask);
98
+ background: var(--loader-bg);
99
+ mask: var(--loader-mask);
100
+ animation: 1s linear infinite animate-spin;
53
101
  }
54
102
  }
package/src/css/menu.css CHANGED
@@ -31,43 +31,50 @@
31
31
 
32
32
  .j-menu .menu .menu-item {
33
33
  flex-shrink: 0;
34
+ font-size: var(--menu-font-size);
34
35
  }
35
36
 
36
37
  .j-menu .menu .menu-item:not(:has(a)) {
37
- font-size: var(--font-size-md);
38
- font-weight: var(--font-normal);
39
- padding: var(--button-padding, 0.5rem 1rem);
40
- height: var(--button-height, var(--el-height-md));
41
- line-height: var(--line-height);
38
+ height: var(--menu-item-height);
39
+ line-height: var(--menu-item-line-height);
40
+ font-weight: var(--menu-font-weight);
42
41
  text-decoration: underline;
43
42
  text-decoration-style: wavy;
44
43
  text-decoration-color: var(--state-danger);
45
44
  text-underline-offset: 4px;
45
+ padding: 4px 1rem;
46
46
  position: relative;
47
47
  cursor: help;
48
48
  }
49
49
 
50
- .j-menu .menu .menu-item:has(a) a {
50
+ .j-menu .menu .menu-item a {
51
51
  display: flex;
52
52
  justify-content: center;
53
53
  align-items: center;
54
54
  flex-wrap: nowrap;
55
- gap: var(--space);
55
+ gap: var(--menu-link-gap);
56
56
  white-space: nowrap;
57
57
  cursor: pointer;
58
58
  appearance: button;
59
59
  touch-action: manipulation;
60
60
  color: currentColor;
61
61
  background-color: inherit;
62
- font-weight: var(--font-medium);
63
- font-size: var(--font-size-md);
62
+ font-weight: var(--menu-link-font-weight);
64
63
  text-decoration: none;
64
+
65
+ padding: var(--menu-item-padding);
66
+ height: var(--menu-item-height);
67
+ line-height: var(--menu-item-line-height);
68
+ border-width: var(--border-width, 1px);
69
+ border-style: var(--border-style, solid);
70
+ border-color: var(--button-border-color, transparent);
71
+ border-radius: var(--button-border-radius, var(--radius-md));
65
72
  }
66
73
 
67
- .j-menu .menu .menu-item:has(a) a .el-icon,
68
- .j-menu .menu .menu-item:has(a) a svg {
69
- width: var(--font-size-lg);
70
- height: var(--font-size-lg);
74
+ .j-menu .menu .menu-item a .el-icon,
75
+ .j-menu .menu .menu-item a svg {
76
+ width: var(--menu-item-icon-size);
77
+ height: var(--menu-item-icon-size);
71
78
  }
72
79
 
73
80
  .j-menu .menu .menu-item.menu-item-has-children>a {
@@ -90,17 +97,6 @@
90
97
  transform: rotate(180deg);
91
98
  }
92
99
 
93
- /* menu type */
94
- .j-menu .menu .menu-item:has(a) a {
95
- padding: var(--button-padding, 0.5rem 1rem);
96
- height: var(--button-height, var(--el-height-md));
97
- line-height: var(--line-height);
98
- border-width: var(--border-width, 1px);
99
- border-style: var(--border-style, solid);
100
- border-color: var(--button-border-color, transparent);
101
- border-radius: var(--button-border-radius, var(--radius-md));
102
- }
103
-
104
100
  /* submenu */
105
101
  .j-menu .menu .menu-item .sub-menu {
106
102
  display: none;
@@ -206,10 +202,11 @@
206
202
  display: grid;
207
203
  grid-template-columns: repeat(6, 1fr);
208
204
  grid-template-rows: repeat(6, 1fr);
209
- grid-column-gap: 0px;
210
- grid-row-gap: 0px;
205
+ grid-column-gap: var(--space);
206
+ grid-row-gap: var(--space);
211
207
  min-width: 400px;
212
208
  max-width: 600px;
209
+ padding-right: var(--s2);
213
210
  transform: translateX(-33.33%) translateY(1px);
214
211
  }
215
212
 
@@ -324,7 +321,7 @@
324
321
  cursor: help;
325
322
  }
326
323
 
327
- .j-mobile-menu .menu .menu-item:has(a) a {
324
+ .j-mobile-menu .menu .menu-item a {
328
325
  display: flex;
329
326
  justify-content: flex-start;
330
327
  align-items: center;
@@ -341,12 +338,12 @@
341
338
  text-decoration: none;
342
339
  }
343
340
 
344
- .j-mobile-menu .menu .menu-item:has(a) a .menu-text {
341
+ .j-mobile-menu .menu .menu-item a .menu-text {
345
342
  line-height: var(--line-height-paragraph);
346
343
  }
347
344
 
348
- .j-mobile-menu .menu .menu-item:has(a) a .el-icon,
349
- .j-mobile-menu .menu .menu-item:has(a) a svg {
345
+ .j-mobile-menu .menu .menu-item a .el-icon,
346
+ .j-mobile-menu .menu .menu-item a svg {
350
347
  width: var(--font-size-lg);
351
348
  height: var(--font-size-lg);
352
349
  }
@@ -453,8 +450,8 @@
453
450
  padding: calc(var(--space) * 1.5);
454
451
  }
455
452
 
456
- .j-bottom-menu .menu .menu-item:has(a) a .el-icon,
457
- .j-bottom-menu .menu .menu-item:has(a) a svg {
453
+ .j-bottom-menu .menu .menu-item a .el-icon,
454
+ .j-bottom-menu .menu .menu-item a svg {
458
455
  width: var(--font-size-lg);
459
456
  height: var(--font-size-lg);
460
457
  }
@@ -1,11 +1,11 @@
1
1
  @layer components {
2
2
  .j-pagination {
3
- font-size: var(--pagination-font-size, var(--font-size-md));
3
+ font-size: var(--pagination-font-size);
4
4
  }
5
5
 
6
6
  .j-pagination a {
7
- text-decoration: none;
8
- color: var(--pagination-link-color, var(--ui-fg));
7
+ text-decoration: var(--pagination-link-decoration);
8
+ color: var(--pagination-link-fg);
9
9
  }
10
10
 
11
11
  .j-pagination .pagination {
@@ -13,7 +13,7 @@
13
13
  display: flex;
14
14
  justify-content: center;
15
15
  align-items: center;
16
- gap: var(--pagination-gap, var(--space));
16
+ gap: var(--pagination-gap);
17
17
  margin: 0;
18
18
  padding: 0;
19
19
  }
@@ -47,7 +47,8 @@
47
47
  /* disabled */
48
48
  [disabled],
49
49
  :disabled,
50
- .is-disabled {
50
+ .is-disabled,
51
+ [aria-disabled="true"] {
51
52
  cursor: not-allowed;
52
53
  user-select: none;
53
54
  }
package/src/css/table.css CHANGED
@@ -1,8 +1,10 @@
1
1
  @layer components {
2
2
  .j-table-container {
3
- max-width: 100%;
4
- overflow: auto;
3
+ max-width: var(--table-container-max-width);
5
4
  overflow-y: hidden;
5
+ overflow-x: auto;
6
+ scrollbar-width: thin;
7
+ scrollbar-color: var(--ui-border) transparent;
6
8
  }
7
9
 
8
10
  table.j-table {
@@ -11,42 +13,40 @@
11
13
  border-collapse: collapse;
12
14
  border-spacing: 0;
13
15
  }
16
+
14
17
  table.j-table tr.is-selected {
15
- background-color: var(--table-selected-background, var(--tone-soft));
18
+ background: var(--table-selected-bg);
16
19
  }
17
20
 
18
21
  table.j-table td,
19
22
  table.j-table th {
20
- border-width: var(--table-border-width, 0 0 1px);
21
- border-style: var(--table-border-style, solid);
22
- border-color: var(--table-border-color, var(--ui-border));
23
- padding: var(--table-padding, 0.5em 0.75em);
24
- }
25
-
26
- table.j-table th:not([align]) {
27
- text-align: var(--table-cell-text-align, left);
23
+ border-width: var(--table-border-width);
24
+ border-style: var(--table-border-style);
25
+ border-color: var(--table-border-color);
26
+ padding: var(--table-cell-padding);
28
27
  }
29
28
 
30
- table.j-table td:not([align]),
31
- table.j-table th:not([align]) {
32
- text-align: inherit;
29
+ table.j-table th:not([align]),
30
+ table.j-table td:not([align]) {
31
+ text-align: var(--table-cell-text-align);
33
32
  }
34
33
 
35
34
  table.j-table a {
36
- text-decoration: var(--table-link-decoration, inherit);
37
- color: var(--table-link-color, var(--tone-solid));
35
+ text-decoration: inherit;
36
+ color: var(--table-link-fg);
38
37
  }
39
38
 
40
39
  table.j-table.is-striped thead tr,
41
40
  table.j-table.is-striped tbody tr:not(.is-selected):nth-child(2n) {
42
- background-color: var(--table-striped-background, var(--tone-soft));
41
+ background: var(--table-striped-bg);
43
42
  }
43
+
44
44
  table.j-table.is-hoverable tbody tr:hover {
45
- background-color: var(--table-hover-background, var(--tone-soft));
45
+ background: var(--table-hover-bg);
46
46
  }
47
47
 
48
48
  table.j-table.is-bordered td,
49
49
  table.j-table.is-bordered th {
50
- border-width: var(--table-border-width, var(--border-width, 1px));
50
+ border-width: var(--table-bordered-width);
51
51
  }
52
- }
52
+ }
package/src/css/tabs.css CHANGED
@@ -47,7 +47,7 @@
47
47
  cursor: pointer;
48
48
  }
49
49
 
50
- .j-tabs .tab-list .tab-item.is-disabled {
50
+ .j-tabs .tab-list .tab-item[aria-disabled="true"] {
51
51
  cursor: not-allowed;
52
52
  }
53
53
 
@@ -63,7 +63,7 @@
63
63
  min-height: var(--tab-panel-item-min-height);
64
64
  }
65
65
 
66
- .j-tabs .tab-panel .panel-item.is-active {
66
+ .j-tabs .tab-panel .panel-item[aria-hidden="false"] {
67
67
  display: block;
68
68
  }
69
69
 
@@ -1,40 +1,33 @@
1
1
  @layer components {
2
2
  .j-theme-palette {
3
- padding: var(--palette-padding, var(--s4));
4
- }
5
-
6
- .j-theme-palette>h3 {
7
- margin: var(--palette-title-margin, var(--s2) 0);
3
+ padding: var(--palette-padding);
8
4
  }
9
5
 
10
6
  .j-theme-palette .palette-container {
11
7
  display: flex;
12
8
  flex-direction: column;
13
- gap: var(--palette-container-gap, var(--s4));
9
+ gap: var(--palette-container-gap);
14
10
  }
15
11
 
16
12
  .j-theme-palette .palette-container .palette-item {
17
13
  display: flex;
18
14
  flex-direction: column;
19
- gap: var(--palette-item-gap, var(--s2));
15
+ gap: var(--palette-item-gap);
20
16
  }
21
17
 
22
18
  .j-theme-palette .palette-container .palette-item .item-title {
23
- font-size: var(--palette-item-title-font-size, var(--font-size-md));
24
- line-height: var(--line-height);
25
- margin: 0;
26
- font-weight: var(--font-bold);
19
+ font-size: var(--palette-item-title-font-size);
20
+ font-weight: var(--palette-item-title-font-weight);
27
21
  }
28
22
 
29
23
  .j-theme-palette .palette-container .palette-item .items {
30
24
  display: grid;
31
- grid-template-columns: repeat(3, 1fr);
32
- gap: var(--space);
25
+ grid-template-columns: var(--palette-items-columns);
26
+ gap: var(--palette-items-gap);
33
27
  }
34
28
 
35
29
  .j-theme-palette .palette-container .palette-item .items>button {
36
- padding-left: var(--s2);
37
- padding-right: var(--s2);
30
+ padding-inline: var(--s2);
38
31
  min-width: 0;
39
32
  overflow: hidden;
40
33
  }
@@ -45,8 +38,8 @@
45
38
 
46
39
  .j-theme-palette .palette-container .palette-item .items>button span.item-hex {
47
40
  display: inline-block;
48
- width: var(--font-size-sm);
49
- height: var(--font-size-sm);
41
+ width: var(--palette-items-icon-size);
42
+ height: var(--palette-items-icon-size);
50
43
  border-radius: 50%;
51
44
  flex-shrink: 0;
52
45
  margin-right: var(--space);
@@ -22,15 +22,15 @@
22
22
  border-bottom: var(--accordion-border);
23
23
  }
24
24
 
25
- .j-accordion .accordion-header.is-active {
25
+ .j-accordion .accordion-header[aria-expanded="true"] {
26
26
  border-color: transparent;
27
27
  }
28
28
 
29
- .j-accordion .accordion-header.is-active .header-title {
29
+ .j-accordion .accordion-header[aria-expanded="true"] .header-title {
30
30
  --accordion-font-weight: var(--font-bold);
31
31
  }
32
32
 
33
- .j-accordion .accordion-header:hover:not(.is-active) {
33
+ .j-accordion .accordion-header[aria-expanded="false"]:hover {
34
34
  --accordion-bg: var(--ui-surface-hover)
35
35
  }
36
36
 
@@ -41,7 +41,7 @@
41
41
  transform: var(--accordion-icon-transform);
42
42
  }
43
43
 
44
- .j-accordion .accordion-header.is-active .header-arrow {
44
+ .j-accordion .accordion-header[aria-expanded="true"] .header-arrow {
45
45
  --accordion-icon-transform: rotate(180deg);
46
46
  }
47
47
 
@@ -5,14 +5,30 @@
5
5
  --avatar-box-shadow: var(--shadow-sm);
6
6
  }
7
7
 
8
- .j-avatar.is-sm {
8
+ .j-avatar.is-2xs {
9
9
  --avatar-size: var(--el-height-2xs);
10
10
  }
11
11
 
12
+ .j-avatar.is-xs {
13
+ --avatar-size: var(--el-height-xs);
14
+ }
15
+
16
+ .j-avatar.is-sm {
17
+ --avatar-size: var(--el-height-sm);
18
+ }
19
+
12
20
  .j-avatar.is-lg {
13
21
  --avatar-size: var(--el-height-lg);
14
22
  }
15
23
 
24
+ .j-avatar.is-xl {
25
+ --avatar-size: var(--el-height-xl);
26
+ }
27
+
28
+ .j-avatar.is-2xl {
29
+ --avatar-size: var(--el-height-2xl);
30
+ }
31
+
16
32
  .j-avatar.is-round {
17
33
  --avatar-border-radius: 0.5rem;
18
34
  }