@veltra/desktop 1.2.33 → 1.3.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 (87) hide show
  1. package/dist/components/action/action-group.vue.d.ts +2 -2
  2. package/dist/components/action/action.vue.d.ts +2 -2
  3. package/dist/components/auto-complete/auto-complete.vue.d.ts +2 -2
  4. package/dist/components/batch-edit/style2.css +0 -3
  5. package/dist/components/button/style2.css +23 -7
  6. package/dist/components/calendar/style2.css +3 -0
  7. package/dist/components/card/style2.css +12 -10
  8. package/dist/components/cascade/cascade.vue.d.ts +6 -6
  9. package/dist/components/check-tag/style2.css +6 -1
  10. package/dist/components/checkbox/checkbox-button.vue.d.ts +1 -1
  11. package/dist/components/checkbox/checkbox.js +10 -10
  12. package/dist/components/checkbox/checkbox.js.map +1 -1
  13. package/dist/components/checkbox/style2.css +20 -3
  14. package/dist/components/checkbox-group/checkbox-group.vue.d.ts +2 -2
  15. package/dist/components/code-editor/style2.css +2 -2
  16. package/dist/components/contextmenu/style2.css +2 -2
  17. package/dist/components/date-panel/date-panel.vue.d.ts +1 -1
  18. package/dist/components/date-picker/date-picker.vue.d.ts +3 -3
  19. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +3 -3
  20. package/dist/components/dialog/style2.css +3 -3
  21. package/dist/components/drawer/style2.css +1 -1
  22. package/dist/components/dropdown/style2.css +1 -1
  23. package/dist/components/empty/empty.vue.d.ts +1 -1
  24. package/dist/components/float-button/style2.css +1 -1
  25. package/dist/components/group-nav/style2.css +1 -1
  26. package/dist/components/input/input.vue.d.ts +4 -4
  27. package/dist/components/input/style2.css +5 -4
  28. package/dist/components/message/style2.css +7 -7
  29. package/dist/components/message-confirm/style2.css +1 -1
  30. package/dist/components/multi-select/multi-select.vue.d.ts +4 -4
  31. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +6 -6
  32. package/dist/components/nav/style2.css +2 -2
  33. package/dist/components/notification/style2.css +1 -1
  34. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  35. package/dist/components/number-range-input/number-range-input.vue.d.ts +1 -1
  36. package/dist/components/password-input/password-input.vue.d.ts +1 -1
  37. package/dist/components/radio/radio.js +5 -5
  38. package/dist/components/radio/radio.js.map +1 -1
  39. package/dist/components/radio/style2.css +12 -0
  40. package/dist/components/radio-group/radio-group.vue.d.ts +2 -2
  41. package/dist/components/rich-text-editor/rich-text-editor.vue.d.ts +1 -1
  42. package/dist/components/rich-text-editor/style2.css +1 -1
  43. package/dist/components/scroll/style2.css +3 -3
  44. package/dist/components/select/select.vue.d.ts +3 -3
  45. package/dist/components/slider/slider-thumb.js +4 -2
  46. package/dist/components/slider/slider-thumb.js.map +1 -1
  47. package/dist/components/slider/style2.css +7 -0
  48. package/dist/components/steps/steps.vue.d.ts +2 -2
  49. package/dist/components/switch/style2.css +15 -1
  50. package/dist/components/switch/switch.js +0 -1
  51. package/dist/components/switch/switch.js.map +1 -1
  52. package/dist/components/tabs/style2.css +7 -4
  53. package/dist/components/text/style2.css +5 -5
  54. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  55. package/dist/components/tip/style2.css +2 -2
  56. package/dist/components/tree-select/tree-select.vue.d.ts +5 -5
  57. package/package.json +6 -6
  58. package/src/components/batch-edit/style.scss +0 -5
  59. package/src/components/button/style.scss +16 -9
  60. package/src/components/calendar/style.scss +4 -0
  61. package/src/components/card/style.scss +4 -2
  62. package/src/components/check-tag/style.scss +7 -1
  63. package/src/components/checkbox/checkbox.vue +8 -2
  64. package/src/components/checkbox/style.scss +32 -3
  65. package/src/components/code-editor/style.scss +2 -2
  66. package/src/components/contextmenu/style.scss +1 -3
  67. package/src/components/dialog/style.scss +3 -3
  68. package/src/components/drawer/style.scss +1 -1
  69. package/src/components/dropdown/style.scss +1 -1
  70. package/src/components/float-button/style.scss +1 -1
  71. package/src/components/group-nav/style.scss +1 -3
  72. package/src/components/input/style.scss +4 -3
  73. package/src/components/message/style.scss +2 -2
  74. package/src/components/message-confirm/style.scss +1 -1
  75. package/src/components/nav/style.scss +2 -6
  76. package/src/components/notification/style.scss +1 -1
  77. package/src/components/radio/radio.vue +8 -9
  78. package/src/components/radio/style.scss +21 -0
  79. package/src/components/rich-text-editor/style.scss +1 -1
  80. package/src/components/scroll/style.scss +3 -3
  81. package/src/components/slider/slider-thumb.vue +1 -1
  82. package/src/components/slider/style.scss +10 -0
  83. package/src/components/switch/style.scss +25 -1
  84. package/src/components/switch/switch.vue +0 -1
  85. package/src/components/tabs/style.scss +7 -5
  86. package/src/components/text/style.scss +5 -5
  87. package/src/components/tip/style.scss +2 -2
@@ -8,7 +8,6 @@ $root-name: button;
8
8
  @include m.b($root-name) {
9
9
  color: fn.component-var(button, default-color, fn.use-var(text-color, main));
10
10
  box-sizing: border-box;
11
- border-radius: 9999px;
12
11
  line-height: 1;
13
12
  outline: none;
14
13
  text-decoration: none;
@@ -21,9 +20,10 @@ $root-name: button;
21
20
  background-color: fn.component-var(button, default-bg, fn.use-var(color, default));
22
21
  box-shadow: fn.use-var(shadow, emboss);
23
22
  transition:
24
- background-color 0.25s,
25
- box-shadow 0.2s;
26
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
23
+ background-color fn.use-var(transition, fast) fn.use-var(transition, ease),
24
+ border-color fn.use-var(transition, fast) fn.use-var(transition, ease),
25
+ color fn.use-var(transition, fast) fn.use-var(transition, ease),
26
+ box-shadow fn.use-var(transition, fast) fn.use-var(transition, ease);
27
27
  -webkit-tap-highlight-color: transparent; /* For some Androids */
28
28
  gap: fn.use-var(gap-small);
29
29
 
@@ -42,6 +42,10 @@ $root-name: button;
42
42
  box-shadow: none;
43
43
  }
44
44
 
45
+ &:focus-visible {
46
+ box-shadow: fn.use-var(focus-ring);
47
+ }
48
+
45
49
  @include m.is(disabled, loading) {
46
50
  box-shadow: none !important;
47
51
  }
@@ -65,6 +69,7 @@ $root-name: button;
65
69
  height: fn.use-var(form-component-height, $size);
66
70
  line-height: fn.use-var(form-component-height, $size);
67
71
  font-size: fn.use-var(font-size-main, $size);
72
+ border-radius: fn.use-var(radius, $size);
68
73
 
69
74
  @include m.is(circle) {
70
75
  width: fn.use-var(form-component-height, $size);
@@ -197,11 +202,13 @@ $root-name: button;
197
202
  @include m.b($root-name) {
198
203
  border-radius: 0;
199
204
 
200
- &:first-child {
201
- border-radius: 9999px 0 0 9999px;
202
- }
203
- &:last-child {
204
- border-radius: 0 9999px 9999px 0;
205
+ @include m.size using ($size) {
206
+ &:first-child {
207
+ border-radius: fn.use-var(radius, $size) 0 0 fn.use-var(radius, $size);
208
+ }
209
+ &:last-child {
210
+ border-radius: 0 fn.use-var(radius, $size) fn.use-var(radius, $size) 0;
211
+ }
205
212
  }
206
213
  }
207
214
  }
@@ -27,6 +27,10 @@ $root-name: calendar;
27
27
  position: relative;
28
28
  @include m.flex($justify: center, $align: center);
29
29
 
30
+ &:hover {
31
+ background-color: fn.use-var(bg-color, hover);
32
+ }
33
+
30
34
  @include m.m(pre, next) {
31
35
  color: fn.use-var(text-color, disabled);
32
36
  }
@@ -7,12 +7,14 @@ $root-name: card;
7
7
  @include m.b($root-name) {
8
8
  border-radius: fn.use-var(radius, default);
9
9
  background-color: fn.use-var(bg-color, top);
10
- box-shadow: fn.use-var(shadow);
10
+ border: fn.use-var(border-muted);
11
+ box-shadow: fn.use-var(shadow, sm);
11
12
  backdrop-filter: fn.use-var(bg-filter);
12
13
  -webkit-backdrop-filter: fn.use-var(bg-filter);
13
14
  overflow: hidden;
14
15
 
15
16
  @include m.is(integrate) {
17
+ border: none;
16
18
  box-shadow: none;
17
19
  --u-card-header-bg: transparent;
18
20
  --u-card-action-bg: transparent;
@@ -27,7 +29,7 @@ $root-name: card;
27
29
  font-size: fn.use-var(font-size-main, $size);
28
30
 
29
31
  @include m.b(card__header, card__content, card__action) {
30
- padding: fn.use-var(gap, $size);
32
+ padding: fn.component-var(card, padding-#{$size}, fn.use-var(gap, $size));
31
33
  }
32
34
 
33
35
  @include m.bem($root-name, header) {
@@ -10,7 +10,7 @@
10
10
  vertical-align: middle;
11
11
  height: 24px;
12
12
  padding: 0 9px;
13
- color: #333;
13
+ color: fn.use-var(text-color, main);
14
14
  border: 1px solid fn.use-var(color-primary);
15
15
  border-radius: fn.use-var(radius-default);
16
16
  background: fn.use-var(color-primary-light-9);
@@ -24,4 +24,10 @@
24
24
  border: 1px solid fn.use-var(color-primary-dark-3);
25
25
  background-color: fn.use-var(color-primary-dark-3);
26
26
  }
27
+
28
+ @include m.is(disabled) {
29
+ cursor: not-allowed;
30
+ color: fn.use-var(text-color, disabled);
31
+ background-color: fn.use-var(color, disabled);
32
+ }
27
33
  }
@@ -1,5 +1,13 @@
1
1
  <template>
2
2
  <label :class="className">
3
+ <input
4
+ type="checkbox"
5
+ :class="cls.e('native')"
6
+ :checked="checked"
7
+ :disabled="disabled"
8
+ @click="handleInput"
9
+ />
10
+
3
11
  <span :class="cls.e('wrap')">
4
12
  <transition name="zoom-in" mode="out-in">
5
13
  <svg viewBox="0 0 64 64" v-if="checked" fill="currentColor">
@@ -11,8 +19,6 @@
11
19
  </transition>
12
20
  </span>
13
21
 
14
- <input type="checkbox" :checked="checked" :disabled="disabled" hidden @click="handleInput" />
15
-
16
22
  <span :class="cls.e('label')" v-if="$slots.default"><slot /> </span>
17
23
  </label>
18
24
  </template>
@@ -49,15 +49,40 @@ $root-name: checkbox;
49
49
  }
50
50
  }
51
51
 
52
+ @include m.e(native) {
53
+ position: absolute;
54
+ width: 0;
55
+ height: 0;
56
+ opacity: 0;
57
+ margin: 0;
58
+ pointer-events: none;
59
+ }
60
+
52
61
  @include m.e(wrap) {
53
62
  border: fn.use-var(border, width) fn.use-var(border, style)
54
- #{fn.component-var(checkbox, border, #ccc)};
55
- border-radius: 6px;
63
+ #{fn.component-var(checkbox, border, fn.use-var(text-color, assist))};
64
+ border-radius: fn.use-var(radius, small);
56
65
  color: fn.component-var(checkbox, color, #fff);
57
- transition: background-color 0.15s ease;
66
+ transition:
67
+ background-color fn.use-var(transition, fast) fn.use-var(transition, ease),
68
+ border-color fn.use-var(transition, fast) fn.use-var(transition, ease),
69
+ box-shadow fn.use-var(transition, fast) fn.use-var(transition, ease);
58
70
  @include m.flex(inline-flex, center);
59
71
  }
60
72
 
73
+ @include m.is-not(disabled, readonly) {
74
+ &:hover {
75
+ @include m.bem($root-name, wrap) {
76
+ border-color: fn.use-var(color, primary);
77
+ }
78
+ }
79
+
80
+ // label 不可聚焦,ring 由视觉隐藏的原生 input 驱动
81
+ #{fn.bem($root-name, native)}:focus-visible + #{fn.bem($root-name, wrap)} {
82
+ box-shadow: fn.use-var(focus-ring);
83
+ }
84
+ }
85
+
61
86
  @include m.e(label) {
62
87
  line-height: 1em;
63
88
  }
@@ -80,6 +105,10 @@ $button-name: checkbox-button;
80
105
  user-select: none;
81
106
  padding: 0 0.8em;
82
107
 
108
+ &:focus-visible {
109
+ box-shadow: fn.use-var(focus-ring);
110
+ }
111
+
83
112
  @include m.size using ($size) {
84
113
  height: fn.use-var(form-component-height, $size);
85
114
  border-radius: fn.use-var(radius, $size);
@@ -12,8 +12,8 @@ $root-name: code-editor;
12
12
  --u-code-editor-fg: #{fn.use-var(text-color, main)};
13
13
  --u-code-editor-border: #{fn.use-var(border, muted-color)};
14
14
  --u-code-editor-gutter-fg: #{fn.use-var(text-color, placeholder)};
15
- --u-code-editor-active-bg: rgba(30, 136, 229, 0.06);
16
- --u-code-editor-selection-bg: rgba(30, 136, 229, 0.18);
15
+ --u-code-editor-active-bg: #{fn.color-a(color, 6, primary)};
16
+ --u-code-editor-selection-bg: #{fn.color-a(color, 16, primary)};
17
17
 
18
18
  position: relative;
19
19
  width: 100%;
@@ -16,9 +16,7 @@ $arrow-size: 12px;
16
16
  background-color: fn.use-var(bg-color, top);
17
17
  border: 1px solid fn.use-var(border, color);
18
18
  border-radius: calc(fn.use-var(radius, default) + 2px);
19
- box-shadow:
20
- 0 1px 2px rgba(15, 23, 42, 0.05),
21
- 0 8px 20px rgba(15, 23, 42, 0.08);
19
+ box-shadow: fn.use-var(shadow, lg);
22
20
  backdrop-filter: fn.use-var(bg-filter);
23
21
  -webkit-backdrop-filter: fn.use-var(bg-filter);
24
22
  }
@@ -39,7 +39,7 @@ $root-name: dialog;
39
39
  display: flex;
40
40
  flex-direction: column;
41
41
  max-height: 90vh;
42
- box-shadow: fn.use-var(shadow-x) fn.use-var(shadow-y) 10px 2px fn.use-var(shadow-color);
42
+ box-shadow: fn.use-var(shadow, lg);
43
43
  flex-wrap: nowrap;
44
44
  overflow: hidden;
45
45
  @include m.size using ($size) {
@@ -60,7 +60,7 @@ $root-name: dialog;
60
60
  @include m.e(header) {
61
61
  height: 49px;
62
62
  border-bottom: fn.use-var(border);
63
- border-radius: fn.use-var(gap, default) fn.use-var(gap, default) 0 0;
63
+ border-radius: fn.use-var(radius, large) fn.use-var(radius, large) 0 0;
64
64
  @include m.flex($justify: space-between);
65
65
 
66
66
  &:active {
@@ -86,7 +86,7 @@ $root-name: dialog;
86
86
  border-top: fn.use-var(border);
87
87
  padding: 8px;
88
88
  text-align: right;
89
- border-radius: 0 0 fn.use-var(gap, default) fn.use-var(gap, default);
89
+ border-radius: 0 0 fn.use-var(radius, large) fn.use-var(radius, large);
90
90
 
91
91
  #{fn.bem(button)} + #{fn.bem(button)} {
92
92
  margin-left: fn.use-var(gap, default);
@@ -26,7 +26,7 @@ $direction-map: (
26
26
  background-color: fn.use-var(bg-color, top);
27
27
  backdrop-filter: fn.use-var(bg-filter);
28
28
  -webkit-backdrop-filter: fn.use-var(bg-filter);
29
- box-shadow: 0 0 10px 2px fn.use-var(shadow, color);
29
+ box-shadow: fn.use-var(shadow, lg);
30
30
 
31
31
  @include m.e(close) {
32
32
  position: absolute;
@@ -11,7 +11,7 @@ $root-name: dropdown;
11
11
  background-color: fn.use-var(bg-color, top);
12
12
  border: fn.use-var(border);
13
13
  border-radius: fn.use-var(radius, default);
14
- box-shadow: fn.use-var(shadow);
14
+ box-shadow: fn.use-var(shadow, lg);
15
15
  backdrop-filter: fn.use-var(bg-filter);
16
16
  -webkit-backdrop-filter: fn.use-var(bg-filter);
17
17
  top: 0;
@@ -14,7 +14,7 @@ $root-name: 'float-button';
14
14
  flex-wrap: nowrap;
15
15
 
16
16
  @include m.e(item) {
17
- box-shadow: 0 0 5px 1px #{fn.use-var(color, primary, light-3)};
17
+ box-shadow: fn.use-var(shadow, lg);
18
18
  transition-property: transform, opacity;
19
19
  transition-duration: 0.2s;
20
20
  transform: scale(0.4);
@@ -15,9 +15,7 @@
15
15
  background-repeat: no-repeat;
16
16
  border: 1px solid fn.use-var(border, color);
17
17
  border-radius: calc(fn.use-var(radius, large) + 6px);
18
- box-shadow:
19
- 0 1px 2px rgba(15, 23, 42, 0.05),
20
- 0 12px 28px rgba(15, 23, 42, 0.08);
18
+ box-shadow: fn.use-var(shadow, lg);
21
19
 
22
20
  @include m.e(container) {
23
21
  padding: 8px;
@@ -11,8 +11,8 @@ $root-name: input;
11
11
  border: fn.use-var(border-muted);
12
12
  box-shadow: fn.use-var(shadow, emboss);
13
13
  transition:
14
- border-color 0.25s ease,
15
- box-shadow 0.25s ease;
14
+ border-color fn.use-var(transition, fast) fn.use-var(transition, ease),
15
+ box-shadow fn.use-var(transition, fast) fn.use-var(transition, ease);
16
16
  overflow: hidden;
17
17
  width: 100%;
18
18
 
@@ -27,7 +27,7 @@ $root-name: input;
27
27
  @include m.size using ($size) {
28
28
  height: fn.use-var(form-component-height, $size);
29
29
  border-radius: fn.use-var(radius, $size);
30
- padding: 0 calc(fn.use-var(gap, $size) / 2);
30
+ padding: 0 fn.use-var(gap, $size);
31
31
  font-size: fn.use-var(font-size-main, $size);
32
32
 
33
33
  @include m.bem($root-name, native) {
@@ -38,6 +38,7 @@ $root-name: input;
38
38
 
39
39
  @include m.is(focus) {
40
40
  border-color: fn.use-var(color, primary);
41
+ box-shadow: fn.use-var(focus-ring);
41
42
  }
42
43
 
43
44
  @include m.e(native) {
@@ -55,13 +55,13 @@ $root-name: message;
55
55
  @include m.m(color-#{$type}) {
56
56
  background-color: fn.use-var(color, $type);
57
57
  color: fn.use-var(text-color, main);
58
- box-shadow: 0 0 4px 0px fn.use-var(color, $type);
58
+ box-shadow: fn.use-var(shadow, lg);
59
59
  }
60
60
  } @else {
61
61
  @include m.m(color-#{$type}) {
62
62
  background-color: fn.use-var(color, $type, 'light-9');
63
63
  color: fn.use-var(color, $type);
64
- box-shadow: 0 0 4px 0px fn.use-var(color, $type, 'light-5');
64
+ box-shadow: fn.use-var(shadow, lg);
65
65
  }
66
66
  }
67
67
  }
@@ -21,7 +21,7 @@ $root-name: message-confirm;
21
21
  width: 420px;
22
22
  background-color: fn.use-var(bg-color, top);
23
23
  border: fn.use-var(border);
24
- box-shadow: fn.use-var(shadow);
24
+ box-shadow: fn.use-var(shadow, lg);
25
25
  transition:
26
26
  opacity 0.3s,
27
27
  transform 0.4s;
@@ -114,9 +114,7 @@ $collapsed-nav: collapsed-nav;
114
114
  background-repeat: no-repeat;
115
115
  border: 1px solid fn.use-var(border, color);
116
116
  border-radius: calc(fn.use-var(radius, large) + 6px);
117
- box-shadow:
118
- 0 1px 2px rgba(15, 23, 42, 0.05),
119
- 0 12px 28px rgba(15, 23, 42, 0.08);
117
+ box-shadow: fn.use-var(shadow, lg);
120
118
 
121
119
  @include m.e(container) {
122
120
  padding: 8px;
@@ -217,9 +215,7 @@ $collapsed-nav: collapsed-nav;
217
215
  -webkit-backdrop-filter: fn.use-var(bg-filter);
218
216
  border: 1px solid fn.use-var(border, color);
219
217
  border-radius: calc(fn.use-var(radius, large) + 4px);
220
- box-shadow:
221
- 0 16px 40px rgba(15, 23, 42, 0.14),
222
- 0 2px 8px rgba(15, 23, 42, 0.08);
218
+ box-shadow: fn.use-var(shadow, lg);
223
219
 
224
220
  .u-tip__arrow {
225
221
  display: none;
@@ -17,7 +17,7 @@ $positions: ('top-left', 'top-right', 'bottom-left', 'bottom-right');
17
17
  top 0.4s;
18
18
  border: fn.use-var(border);
19
19
  background-color: fn.use-var(bg-color, top);
20
- box-shadow: fn.use-var(shadow);
20
+ box-shadow: fn.use-var(shadow, lg);
21
21
  margin: 4px;
22
22
  overflow: hidden;
23
23
 
@@ -1,16 +1,15 @@
1
1
  <template>
2
2
  <label :class="classList">
3
+ <input
4
+ type="radio"
5
+ :class="cls.e('native')"
6
+ :value="value"
7
+ v-model="model"
8
+ :disabled="disabled"
9
+ />
10
+
3
11
  <!-- radio框 -->
4
12
  <section :class="cls.e('button')">
5
- <input
6
- type="radio"
7
- :class="cls.e('native')"
8
- :value="value"
9
- v-model="model"
10
- :disabled="disabled"
11
- hidden
12
- />
13
-
14
13
  <transition name="zoom-in">
15
14
  <span :class="cls.e('inner')" v-if="radioChecked"></span>
16
15
  </transition>
@@ -36,6 +36,9 @@ $root-name: radio;
36
36
  border: fn.use-var(border, width) fn.use-var(border, style)
37
37
  #{fn.component-var(radio, border, #ccc)};
38
38
  overflow: hidden;
39
+ transition:
40
+ border-color fn.use-var(transition, fast) fn.use-var(transition, ease),
41
+ box-shadow fn.use-var(transition, fast) fn.use-var(transition, ease);
39
42
  }
40
43
 
41
44
  @include m.is(checked) {
@@ -45,7 +48,12 @@ $root-name: radio;
45
48
  }
46
49
 
47
50
  @include m.e(native) {
51
+ position: absolute;
52
+ width: 0;
53
+ height: 0;
48
54
  opacity: 0;
55
+ margin: 0;
56
+ pointer-events: none;
49
57
  }
50
58
 
51
59
  @include m.e(label) {
@@ -59,6 +67,19 @@ $root-name: radio;
59
67
  height: 100%;
60
68
  }
61
69
 
70
+ @include m.is-not(disabled) {
71
+ &:hover {
72
+ @include m.bem($root-name, button) {
73
+ border-color: fn.use-var(color, primary);
74
+ }
75
+ }
76
+
77
+ // label 不可聚焦,ring 由视觉隐藏的原生 input 驱动
78
+ #{fn.bem($root-name, native)}:focus-visible + #{fn.bem($root-name, button)} {
79
+ box-shadow: fn.use-var(focus-ring);
80
+ }
81
+ }
82
+
62
83
  @include m.is(disabled) {
63
84
  color: fn.use-var(text-color, disabled);
64
85
  cursor: not-allowed;
@@ -20,7 +20,7 @@ $root-name: rich-text-editor;
20
20
 
21
21
  &:focus-within {
22
22
  border-color: fn.use-var(color, primary);
23
- box-shadow: 0 0 0 2px rgba(fn.use-var(color, primary), 0.1);
23
+ box-shadow: 0 0 0 2px fn.color-a(color, 22, primary);
24
24
  }
25
25
 
26
26
  @include m.size using ($size) {
@@ -44,7 +44,7 @@ $root-name: scroll;
44
44
  }
45
45
 
46
46
  // 滚动条背景色
47
- $bar-color: #999;
47
+ $bar-color: fn.use-var(text-color, assist);
48
48
 
49
49
  // 滚动条默认尺寸(宽度)
50
50
  $bar-size: 6px;
@@ -57,7 +57,7 @@ $root-name: scroll;
57
57
  cursor: default;
58
58
  position: absolute;
59
59
  border-radius: $bar-size;
60
- background-color: rgba($color: $bar-color, $alpha: 0.4);
60
+ background-color: fn.color-a(text-color, 40, assist);
61
61
  will-change: transform;
62
62
  transition:
63
63
  opacity 0.3s ease-in,
@@ -68,7 +68,7 @@ $root-name: scroll;
68
68
  z-index: 1;
69
69
 
70
70
  &:hover {
71
- background-color: rgba($color: $bar-color, $alpha: 0.6);
71
+ background-color: fn.color-a(text-color, 60, assist);
72
72
  border-radius: $bar-active-size;
73
73
  }
74
74
 
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div ref="thumb" :class="cls.e('thumb')" :style></div>
2
+ <div ref="thumb" :class="cls.e('thumb')" :style :tabindex="disabled ? -1 : 0"></div>
3
3
  </template>
4
4
  <script lang="ts" setup>
5
5
  import { useDrag, useUserAction } from '@veltra/compositions'
@@ -136,9 +136,19 @@ $track-size: (
136
136
  cursor: grab;
137
137
  z-index: 1;
138
138
  border: 4px solid fn.use-var(color, primary);
139
+ transition: box-shadow fn.use-var(transition, fast) fn.use-var(transition, ease);
140
+
141
+ // 位置由行内 transform 控制,hover 用浅色 ring 而非缩放
142
+ &:hover {
143
+ box-shadow: 0 0 0 3px fn.color-a(color, 8, primary);
144
+ }
139
145
 
140
146
  &:active {
141
147
  cursor: grabbing;
142
148
  }
149
+
150
+ &:focus-visible {
151
+ box-shadow: fn.use-var(focus-ring);
152
+ }
143
153
  }
144
154
  }
@@ -34,6 +34,26 @@ $root-name: switch;
34
34
  cursor: default;
35
35
  }
36
36
 
37
+ @include m.is-not(disabled, readonly) {
38
+ &:hover {
39
+ @include m.bem($root-name, button) {
40
+ background-color: fn.use-var(color, primary, light-7);
41
+ border-color: fn.use-var(color, primary, light-5);
42
+ }
43
+
44
+ @include m.is(checked) {
45
+ @include m.bem($root-name, button) {
46
+ background-color: fn.use-var(color, primary, dark-1);
47
+ }
48
+ }
49
+ }
50
+
51
+ // label 不可聚焦,ring 由视觉隐藏的原生 input 驱动
52
+ #{fn.bem($root-name, native)}:focus-visible ~ #{fn.bem($root-name, button)} {
53
+ box-shadow: fn.use-var(focus-ring);
54
+ }
55
+ }
56
+
37
57
  // 尺寸样式
38
58
  @include m.size using ($size) {
39
59
  @include m.bem($root-name, button) {
@@ -48,8 +68,12 @@ $root-name: switch;
48
68
  }
49
69
 
50
70
  @include m.e(native) {
71
+ position: absolute;
72
+ width: 0;
73
+ height: 0;
51
74
  opacity: 0;
52
- visibility: hidden;
75
+ margin: 0;
76
+ pointer-events: none;
53
77
  }
54
78
 
55
79
  @include m.e(button) {
@@ -3,7 +3,6 @@
3
3
  <input
4
4
  type="checkbox"
5
5
  :class="cls.e('native')"
6
- hidden
7
6
  :checked="model"
8
7
  :disabled="disabled"
9
8
  @input="handleInput"
@@ -7,9 +7,7 @@ $list-radius: fn.use-var(radius, default);
7
7
  $item-radius: calc(fn.use-var(radius, default) - 2px);
8
8
  $list-padding: 4px;
9
9
  $active-bg: fn.component-var(tabs, active-bg, fn.use-var(bg-color, top));
10
- $active-shadow:
11
- 0 1px 2px rgba(15, 23, 42, 0.08),
12
- 0 1px 3px rgba(15, 23, 42, 0.06);
10
+ $active-shadow: fn.use-var(shadow, sm);
13
11
 
14
12
  /* ===== 复合标签页:bar + content 布局容器 ===== */
15
13
  @include m.b(tabs) {
@@ -136,6 +134,10 @@ $active-shadow:
136
134
  background-color: $active-bg;
137
135
  box-shadow: $active-shadow;
138
136
  }
137
+
138
+ &:focus-visible {
139
+ box-shadow: fn.use-var(focus-ring);
140
+ }
139
141
  }
140
142
 
141
143
  @include m.e(item-label) {
@@ -172,11 +174,11 @@ $active-shadow:
172
174
 
173
175
  &:hover {
174
176
  color: fn.use-var(text-color, title);
175
- background-color: rgba(15, 23, 42, 0.08);
177
+ background-color: fn.color-a(text-color, 8, title);
176
178
  }
177
179
 
178
180
  &:active {
179
- background-color: rgba(15, 23, 42, 0.14);
181
+ background-color: fn.color-a(text-color, 11, title);
180
182
  }
181
183
  }
182
184
 
@@ -6,27 +6,27 @@ $role-size: (
6
6
  main-title: (
7
7
  font-size: 18px,
8
8
  font-weight: 600,
9
- color: #333
9
+ color: fn.use-var(text-color, title)
10
10
  ),
11
11
  title: (
12
12
  font-size: 16px,
13
13
  font-weight: 600,
14
- color: #333
14
+ color: fn.use-var(text-color, main)
15
15
  ),
16
16
  sub-title: (
17
17
  font-size: 16px,
18
18
  font-weight: 500,
19
- color: #999
19
+ color: fn.use-var(text-color, placeholder)
20
20
  ),
21
21
  content: (
22
22
  font-size: 14px,
23
23
  font-weight: 300,
24
- color: #666
24
+ color: fn.use-var(text-color, second)
25
25
  ),
26
26
  additional: (
27
27
  font-size: 12px,
28
28
  font-weight: 300,
29
- color: #999
29
+ color: fn.use-var(text-color, assist)
30
30
  )
31
31
  );
32
32
 
@@ -11,7 +11,7 @@ $root-name: tip;
11
11
  position: absolute;
12
12
  left: 0;
13
13
  top: 0;
14
- box-shadow: fn.use-var(shadow);
14
+ box-shadow: fn.use-var(shadow, lg);
15
15
  border-radius: fn.use-var(radius, default);
16
16
  color: fn.use-var(text-color, main);
17
17
 
@@ -31,7 +31,7 @@ $root-name: tip;
31
31
  @include m.e(arrow) {
32
32
  position: absolute;
33
33
  z-index: -1;
34
- box-shadow: fn.use-var(shadow);
34
+ box-shadow: fn.use-var(shadow, lg);
35
35
  background-color: fn.use-var(bg-color, top);
36
36
  transform: rotate(45deg);
37
37
  }