@veltra/desktop 1.2.21 → 1.2.23

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 (94) hide show
  1. package/dist/components/action/action-group.vue.d.ts +2 -2
  2. package/dist/components/action/action.vue.d.ts +1 -1
  3. package/dist/components/action/style2.css +0 -12
  4. package/dist/components/auto-complete/auto-complete.js +5 -6
  5. package/dist/components/auto-complete/auto-complete.js.map +1 -1
  6. package/dist/components/auto-complete/auto-complete.vue.d.ts +2 -2
  7. package/dist/components/batch-edit/batch-edit.vue.d.ts +2 -2
  8. package/dist/components/batch-edit/style2.css +2 -2
  9. package/dist/components/cascade/cascade.js +7 -7
  10. package/dist/components/cascade/cascade.js.map +1 -1
  11. package/dist/components/cascade/cascade.vue.d.ts +7 -7
  12. package/dist/components/checkbox/checkbox-button.js +5 -5
  13. package/dist/components/checkbox/checkbox-button.js.map +1 -1
  14. package/dist/components/checkbox/checkbox-button.vue.d.ts +2 -2
  15. package/dist/components/checkbox/checkbox.vue.d.ts +1 -1
  16. package/dist/components/checkbox-group/checkbox-group.js +8 -10
  17. package/dist/components/checkbox-group/checkbox-group.js.map +1 -1
  18. package/dist/components/checkbox-group/checkbox-group.vue.d.ts +2 -2
  19. package/dist/components/code-editor/code-editor.vue.d.ts +1 -1
  20. package/dist/components/collapse/style2.css +5 -5
  21. package/dist/components/date-panel/date-panel.vue.d.ts +1 -1
  22. package/dist/components/date-picker/date-picker.js +6 -6
  23. package/dist/components/date-picker/date-picker.js.map +1 -1
  24. package/dist/components/date-picker/date-picker.vue.d.ts +3 -3
  25. package/dist/components/date-range-picker/date-range-picker.js +6 -6
  26. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  27. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +3 -3
  28. package/dist/components/file-viewer/style2.css +24 -9
  29. package/dist/components/form-item/style2.css +0 -15
  30. package/dist/components/group-input/group-input.js +3 -5
  31. package/dist/components/group-input/group-input.js.map +1 -1
  32. package/dist/components/input/input.js.map +1 -1
  33. package/dist/components/input/input.vue.d.ts +4 -4
  34. package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js +6 -6
  35. package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  36. package/dist/components/kbd/style2.css +1 -1
  37. package/dist/components/loading/style2.css +3 -3
  38. package/dist/components/multi-select/multi-select.js +6 -6
  39. package/dist/components/multi-select/multi-select.js.map +1 -1
  40. package/dist/components/multi-select/multi-select.vue.d.ts +4 -4
  41. package/dist/components/multi-tree-select/multi-tree-select.js +6 -6
  42. package/dist/components/multi-tree-select/multi-tree-select.js.map +1 -1
  43. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +6 -6
  44. package/dist/components/nav/nav-sub.js +1 -1
  45. package/dist/components/nav/nav-sub.js.map +1 -1
  46. package/dist/components/nav/style2.css +3 -5
  47. package/dist/components/number/number.vue.d.ts +1 -1
  48. package/dist/components/number-input/number-input.js +8 -5
  49. package/dist/components/number-input/number-input.js.map +1 -1
  50. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  51. package/dist/components/number-range-input/number-range-input.js +3 -5
  52. package/dist/components/number-range-input/number-range-input.js.map +1 -1
  53. package/dist/components/number-range-input/number-range-input.vue.d.ts +2 -2
  54. package/dist/components/palette/palette.vue.d.ts +1 -1
  55. package/dist/components/password-input/password-input.vue.d.ts +2 -2
  56. package/dist/components/radio-group/radio-group.js +8 -10
  57. package/dist/components/radio-group/radio-group.js.map +1 -1
  58. package/dist/components/radio-group/radio-group.vue.d.ts +2 -2
  59. package/dist/components/rich-text-editor/rich-text-editor.vue.d.ts +2 -2
  60. package/dist/components/select/select.js +5 -5
  61. package/dist/components/select/select.js.map +1 -1
  62. package/dist/components/select/select.vue.d.ts +4 -4
  63. package/dist/components/steps/steps.vue.d.ts +2 -2
  64. package/dist/components/switch/switch.vue.d.ts +1 -1
  65. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  66. package/dist/components/tree-select/tree-select.js +5 -5
  67. package/dist/components/tree-select/tree-select.js.map +1 -1
  68. package/dist/components/tree-select/tree-select.vue.d.ts +6 -6
  69. package/dist/components/watermark/watermark.vue.d.ts +1 -1
  70. package/package.json +6 -6
  71. package/src/components/action/style.scss +0 -11
  72. package/src/components/auto-complete/auto-complete.vue +1 -0
  73. package/src/components/batch-edit/style.scss +3 -7
  74. package/src/components/cascade/cascade.vue +2 -1
  75. package/src/components/checkbox/checkbox-button.vue +2 -2
  76. package/src/components/checkbox-group/checkbox-group.vue +2 -2
  77. package/src/components/collapse/style.scss +5 -25
  78. package/src/components/date-picker/date-picker.vue +3 -2
  79. package/src/components/date-range-picker/date-range-picker.vue +3 -2
  80. package/src/components/file-viewer/style.scss +24 -9
  81. package/src/components/form-item/style.scss +0 -11
  82. package/src/components/group-input/group-input.vue +2 -2
  83. package/src/components/input/input.vue +3 -2
  84. package/src/components/kbd/style.scss +3 -4
  85. package/src/components/loading/style.scss +3 -3
  86. package/src/components/multi-select/multi-select.vue +2 -1
  87. package/src/components/multi-tree-select/multi-tree-select.vue +2 -1
  88. package/src/components/nav/nav-sub.vue +1 -1
  89. package/src/components/nav/style.scss +3 -5
  90. package/src/components/number-input/number-input.vue +8 -5
  91. package/src/components/number-range-input/number-range-input.vue +2 -2
  92. package/src/components/radio-group/radio-group.vue +2 -2
  93. package/src/components/select/select.vue +2 -1
  94. package/src/components/tree-select/tree-select.vue +2 -1
@@ -1,5 +1,7 @@
1
1
  <template>
2
2
  <u-dropdown
3
+ v-if="!readonly"
4
+ v-bind="$attrs"
3
5
  :class="className"
4
6
  trigger="click"
5
7
  :content-class="[cls.e('panel'), cls.em('panel', size)]"
@@ -8,7 +10,6 @@
8
10
  :disabled="disabled"
9
11
  @mouseenter.native="hovered = true"
10
12
  @mouseleave.native="hovered = false"
11
- v-if="!readonly"
12
13
  >
13
14
  <template #trigger>
14
15
  <input
@@ -72,7 +73,7 @@ import { UDatePanel } from '../date-panel'
72
73
  import { UDropdown } from '../dropdown'
73
74
  import { UIcon } from '../icon'
74
75
 
75
- defineOptions({ name: 'UDateRangePicker' })
76
+ defineOptions({ name: 'UDateRangePicker', inheritAttrs: false })
76
77
 
77
78
  const props = withDefaults(defineProps<DateRangePickerProps>(), {
78
79
  placeholder: () => ['起始日期', '结束日期'],
@@ -4,6 +4,7 @@
4
4
  @include m.b(file-viewer) {
5
5
  --u-file-viewer-canvas: #101114;
6
6
  --u-file-viewer-canvas-soft: #17191f;
7
+ --u-file-viewer-canvas-overlay: rgba(16, 17, 20, 0.74);
7
8
  --u-file-viewer-page-shadow: 0 24px 72px rgba(0, 0, 0, 0.34);
8
9
 
9
10
  position: relative;
@@ -174,7 +175,7 @@
174
175
  }
175
176
 
176
177
  @include m.is(active) {
177
- background: color-mix(in srgb, #{fn.use-var(color, primary)} 8%, transparent);
178
+ background: fn.color-a(color, 8, primary);
178
179
 
179
180
  &::before {
180
181
  opacity: 1;
@@ -247,6 +248,8 @@
247
248
 
248
249
  @include m.e(badge) {
249
250
  --u-file-viewer-kind: #{fn.use-var(text-color, second)};
251
+ --u-file-viewer-kind-border: fn.color-a(text-color, 28, second);
252
+ --u-file-viewer-kind-bg: fn.color-a(text-color, 10, second);
250
253
 
251
254
  display: inline-flex;
252
255
  align-items: center;
@@ -254,10 +257,10 @@
254
257
  flex-shrink: 0;
255
258
  width: 40px;
256
259
  height: 26px;
257
- border: 1px solid color-mix(in srgb, var(--u-file-viewer-kind) 28%, transparent);
260
+ border: 1px solid var(--u-file-viewer-kind-border);
258
261
  border-radius: 7px;
259
262
  color: var(--u-file-viewer-kind);
260
- background: color-mix(in srgb, var(--u-file-viewer-kind) 10%, transparent);
263
+ background: var(--u-file-viewer-kind-bg);
261
264
  font-size: 10px;
262
265
  font-weight: 760;
263
266
  line-height: 1;
@@ -265,26 +268,38 @@
265
268
 
266
269
  @include m.em(badge, image) {
267
270
  --u-file-viewer-kind: #0891b2;
271
+ --u-file-viewer-kind-border: rgba(8, 145, 178, 0.28);
272
+ --u-file-viewer-kind-bg: rgba(8, 145, 178, 0.1);
268
273
  }
269
274
 
270
275
  @include m.em(badge, video) {
271
276
  --u-file-viewer-kind: #db2777;
277
+ --u-file-viewer-kind-border: rgba(219, 39, 119, 0.28);
278
+ --u-file-viewer-kind-bg: rgba(219, 39, 119, 0.1);
272
279
  }
273
280
 
274
281
  @include m.em(badge, pdf) {
275
282
  --u-file-viewer-kind: #dc2626;
283
+ --u-file-viewer-kind-border: rgba(220, 38, 38, 0.28);
284
+ --u-file-viewer-kind-bg: rgba(220, 38, 38, 0.1);
276
285
  }
277
286
 
278
287
  @include m.em(badge, sheet) {
279
288
  --u-file-viewer-kind: #15803d;
289
+ --u-file-viewer-kind-border: rgba(21, 128, 61, 0.28);
290
+ --u-file-viewer-kind-bg: rgba(21, 128, 61, 0.1);
280
291
  }
281
292
 
282
293
  @include m.em(badge, docx) {
283
294
  --u-file-viewer-kind: #2563eb;
295
+ --u-file-viewer-kind-border: rgba(37, 99, 235, 0.28);
296
+ --u-file-viewer-kind-bg: rgba(37, 99, 235, 0.1);
284
297
  }
285
298
 
286
299
  @include m.em(badge, text) {
287
300
  --u-file-viewer-kind: #64748b;
301
+ --u-file-viewer-kind-border: rgba(100, 116, 139, 0.28);
302
+ --u-file-viewer-kind-bg: rgba(100, 116, 139, 0.1);
288
303
  }
289
304
 
290
305
  @include m.e(stage) {
@@ -404,7 +419,7 @@
404
419
  gap: 2px;
405
420
  height: 34px;
406
421
  padding: 2px;
407
- border: 1px solid color-mix(in srgb, #{fn.use-var(border, color)} 86%, transparent);
422
+ border: 1px solid fn.color-a(border, 86, color);
408
423
  border-radius: 8px;
409
424
  background: fn.use-var(bg-color, middle);
410
425
  }
@@ -436,7 +451,7 @@
436
451
 
437
452
  &:not(:disabled):hover {
438
453
  color: fn.use-var(color, primary);
439
- background: color-mix(in srgb, #{fn.use-var(color, primary)} 10%, transparent);
454
+ background: fn.color-a(color, 10, primary);
440
455
  }
441
456
 
442
457
  &:not(:disabled):active {
@@ -470,7 +485,7 @@
470
485
 
471
486
  &:not(:disabled):hover {
472
487
  color: #fff;
473
- background: color-mix(in srgb, #{fn.use-var(color, primary)} 88%, #fff);
488
+ background: fn.use-var(color, primary, light, 1);
474
489
  }
475
490
  }
476
491
 
@@ -760,8 +775,8 @@
760
775
 
761
776
  @include m.is(active) {
762
777
  color: fn.use-var(color, primary);
763
- background: color-mix(in srgb, #{fn.use-var(color, primary)} 11%, transparent);
764
- border-color: color-mix(in srgb, #{fn.use-var(color, primary)} 22%, transparent);
778
+ background: fn.color-a(color, 11, primary);
779
+ border-color: fn.color-a(color, 22, primary);
765
780
  }
766
781
  }
767
782
 
@@ -793,7 +808,7 @@
793
808
  align-items: center;
794
809
  justify-content: center;
795
810
  color: rgba(255, 255, 255, 0.72);
796
- background: color-mix(in srgb, var(--u-file-viewer-canvas) 74%, transparent);
811
+ background: var(--u-file-viewer-canvas-overlay);
797
812
  font-size: 13px;
798
813
  pointer-events: none;
799
814
  }
@@ -15,10 +15,6 @@ $root-name: form-item;
15
15
 
16
16
  @include m.bem($root-name, content) {
17
17
  min-height: fn.use-var(form-component-height, $size);
18
-
19
- @include m.bem($root-name, viewer) {
20
- min-height: fn.use-var(form-component-height, $size);
21
- }
22
18
  }
23
19
 
24
20
  @include m.bem($root-name, tips) {
@@ -64,13 +60,6 @@ $root-name: form-item;
64
60
  flex-grow: 1;
65
61
  word-break: break-all;
66
62
  @include m.flex($wrap: wrap);
67
-
68
- @include m.bem($root-name, viewer) {
69
- line-height: 1.3;
70
- color: fn.use-var(text-color, title);
71
- display: inline-flex;
72
- align-items: center;
73
- }
74
63
  }
75
64
 
76
65
  @include m.e(error) {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <ul :class="[cls.b, cls.m(size)]" v-if="!readonly">
2
+ <ul v-if="!readonly" v-bind="$attrs" :class="[cls.b, cls.m(size)]">
3
3
  <li v-if="isEmpty && creatable">
4
4
  <u-button style="width: 100%" :icon="Plus" @click="handleAdd(0)" :size="size">
5
5
  新增
@@ -51,7 +51,7 @@ import type { GroupInputEmits, GroupInputProps } from '../../types'
51
51
  import { UButton } from '../button'
52
52
  import { useGroupItems } from './use-group-items'
53
53
 
54
- defineOptions({ name: 'UGroupInput' })
54
+ defineOptions({ name: 'UGroupInput', inheritAttrs: false })
55
55
 
56
56
  const props = withDefaults(defineProps<GroupInputProps<GroupItem>>(), {
57
57
  modelValue: () => [],
@@ -1,9 +1,10 @@
1
1
  <template>
2
2
  <div
3
+ v-if="!readonly"
4
+ v-bind="$attrs"
3
5
  :class="inputClass"
4
6
  @mouseenter="handleMouseEnter"
5
7
  @mouseleave="handleMouseLeave"
6
- v-if="!readonly"
7
8
  >
8
9
  <span v-if="$slots.prefix || prefix" :class="prefixClass" @click="handlePrefixClick">
9
10
  {{ prefix }}
@@ -62,7 +63,7 @@ import { computed, getCurrentInstance, ref, shallowRef, nextTick } from 'vue'
62
63
  import type { InputEmits, InputProps, _InputExposed } from '../../types'
63
64
  import { UIcon } from '../icon'
64
65
 
65
- defineOptions({ name: 'UInput' })
66
+ defineOptions({ name: 'UInput', inheritAttrs: false })
66
67
 
67
68
  const props = withDefaults(defineProps<InputProps>(), {
68
69
  placeholder: '请输入',
@@ -30,8 +30,7 @@
30
30
  * Multi-layer box-shadow simulates a 3D keycap appearance.
31
31
  */
32
32
  box-shadow:
33
- inset 0 0.05em
34
- color-mix(in srgb, #{fn.use-var(bg-color, top)} 75%, #{fn.use-var(bg-color, black)}),
35
- 0 0 0 0.05em color-mix(in srgb, #{fn.use-var(border, color)} 50%, transparent),
36
- 0 0.08em 0.17em color-mix(in srgb, #{fn.use-var(shadow, color)} 60%, transparent);
33
+ inset 0 0.05em fn.component-var(kbd, inset-shadow),
34
+ 0 0 0 0.05em fn.component-var(kbd, border-shadow),
35
+ 0 0.08em 0.17em fn.component-var(kbd, drop-shadow);
37
36
  }
@@ -25,7 +25,7 @@ $root-name: loading;
25
25
  width: 36px;
26
26
  aspect-ratio: 1;
27
27
  border-radius: 50%;
28
- border: 3px solid color-mix(in srgb, currentColor 22%, transparent);
28
+ border: 3px solid fn.color-a(color, 22, primary);
29
29
  border-top-color: currentColor;
30
30
  position: relative;
31
31
  animation: loading-spin 0.8s linear infinite;
@@ -35,7 +35,7 @@ $root-name: loading;
35
35
  position: absolute;
36
36
  inset: 5px;
37
37
  border-radius: 50%;
38
- border: 2px solid color-mix(in srgb, currentColor 22%, transparent);
38
+ border: 2px solid fn.color-a(color, 22, primary);
39
39
  border-bottom-color: currentColor;
40
40
  animation: loading-spin 1.2s linear infinite reverse;
41
41
  }
@@ -88,7 +88,7 @@ $root-name: loading;
88
88
  width: 36px;
89
89
  aspect-ratio: 1;
90
90
  border-radius: 50%;
91
- border: 3px solid color-mix(in srgb, currentColor 22%, transparent);
91
+ border: 3px solid fn.color-a(color, 22, primary);
92
92
  border-top-color: currentColor;
93
93
  animation: loading-spin 0.9s linear infinite;
94
94
  }
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <u-dropdown
3
3
  v-if="!readonly"
4
+ v-bind="$attrs"
4
5
  trigger="click"
5
6
  ref="dropdownRef"
6
7
  :class="[cls.b, cls.m(size), bem.is('disabled', disabled)]"
@@ -164,7 +165,7 @@ import { UTag } from '../tag'
164
165
  import { MultiSelectDIKey } from './di'
165
166
  import UMultiSelectOption from './multi-select-option.vue'
166
167
 
167
- defineOptions({ name: 'UMultiSelect' })
168
+ defineOptions({ name: 'UMultiSelect', inheritAttrs: false })
168
169
 
169
170
  const props = withDefaults(defineProps<MultiSelectProps>(), {
170
171
  labelKey: 'label',
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <u-dropdown
3
3
  v-if="!readonly"
4
+ v-bind="$attrs"
4
5
  :class="[cls.b, cls.m(size), bem.is('disabled', disabled)]"
5
6
  trigger="click"
6
7
  :content-class="[cls.e('panel'), cls.em('panel', size), contentClass]"
@@ -113,7 +114,7 @@ import { UTag } from '../tag'
113
114
  import { UTree } from '../tree'
114
115
  import type { TreeSlotsScope } from '../tree/di'
115
116
 
116
- defineOptions({ name: 'UMultiTreeSelect' })
117
+ defineOptions({ name: 'UMultiTreeSelect', inheritAttrs: false })
117
118
 
118
119
  const cls = bem('multi-tree-select')
119
120
 
@@ -30,7 +30,7 @@
30
30
  @leave="(el: Element) => expandTransition.leave(el as HTMLElement)"
31
31
  @after-leave="(el: Element) => expandTransition.afterLeave(el as HTMLElement)"
32
32
  >
33
- <ul :class="cls.e('sub-list')" v-show="expanded">
33
+ <ul :class="[cls.e('sub-list'), bem.is('has-active', branchActive)]" v-show="expanded">
34
34
  <template v-for="(child, index) of item.children!" :key="getKey(index, parentKey)">
35
35
  <UNavItem v-if="!child.children?.length" :item="child" :depth="depth + 1" />
36
36
  <NavSub v-else :item="child" :parent-key="getKey(index, parentKey)" :depth="depth + 1" />
@@ -148,12 +148,10 @@ $collapsed-nav: collapsed-nav;
148
148
  overflow: hidden;
149
149
  margin: 2px 0 0 12px;
150
150
  padding: 2px 0 2px 8px;
151
- border-left: 1px solid color-mix(in srgb, #{fn.use-var(border, color)} 52%, transparent);
151
+ border-left: 1px solid fn.color-a(border, 52, color);
152
152
 
153
- @supports selector(:has(*)) {
154
- &:has(#{fn.bem($root-name, item)}.is-active) {
155
- border-left-color: fn.use-var(color, primary);
156
- }
153
+ @include m.is(has-active) {
154
+ border-left-color: fn.use-var(color, primary);
157
155
  }
158
156
  }
159
157
 
@@ -68,13 +68,13 @@ import { vRipple } from '@veltra/directives'
68
68
  import { ArrowDown, ArrowUp, Close } from '@veltra/icons/normal'
69
69
  import { bem, FORM_EMPTY_CONTENT, Tween } from '@veltra/utils'
70
70
  import { injectFormContext } from '@veltra/utils'
71
- import { computed, shallowRef, watch } from 'vue'
71
+ import { computed, shallowRef, useAttrs, watch } from 'vue'
72
72
 
73
73
  import type { NumberInputEmits, NumberInputProps, InputExposed } from '../../types'
74
74
  import { UIcon } from '../icon'
75
75
  import { UInput } from '../input'
76
76
 
77
- defineOptions({ name: 'UNumberInput' })
77
+ defineOptions({ name: 'UNumberInput', inheritAttrs: false })
78
78
 
79
79
  const props = withDefaults(defineProps<NumberInputProps>(), {
80
80
  placeholder: '请输入',
@@ -94,9 +94,12 @@ const { size, disabled, readonly } = useFormFallbackProps([formProps ?? {}, prop
94
94
  readonly: false
95
95
  })
96
96
 
97
- const inputProps = computed(() => {
98
- return o(props).pick(['disabled', 'placeholder', 'size', 'prefix'])
99
- })
97
+ const attrs = useAttrs()
98
+
99
+ const inputProps = computed(() => ({
100
+ ...attrs,
101
+ ...o(props).pick(['disabled', 'placeholder', 'size', 'prefix'])
102
+ }))
100
103
 
101
104
  const inputRef = shallowRef<InputExposed>()
102
105
 
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div v-if="!readonly" :class="className">
2
+ <div v-if="!readonly" v-bind="$attrs" :class="className">
3
3
  <u-number-input
4
4
  v-model="startModel"
5
5
  :placeholder="startPlaceholder"
@@ -36,7 +36,7 @@ import { computed, getCurrentInstance, nextTick, onMounted, watch } from 'vue'
36
36
  import type { NumberRangeInputEmits, NumberRangeInputProps, NumberRangeTuple } from '../../types'
37
37
  import { UNumberInput } from '../number-input'
38
38
 
39
- defineOptions({ name: 'UNumberRangeInput' })
39
+ defineOptions({ name: 'UNumberRangeInput', inheritAttrs: false })
40
40
 
41
41
  const props = withDefaults(defineProps<NumberRangeInputProps>(), {
42
42
  startPlaceholder: '请输入',
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div :class="[cls.b, bem.is('block', block), cls.m(size)]" v-if="!readonly">
2
+ <div v-if="!readonly" v-bind="$attrs" :class="[cls.b, bem.is('block', block), cls.m(size)]">
3
3
  <u-radio
4
4
  v-for="item of items"
5
5
  :key="item[valueKey]"
@@ -26,7 +26,7 @@ import { injectFormContext } from '@veltra/utils'
26
26
  import type { RadioGroupProps, RadioGroupEmits } from '../../types'
27
27
  import URadio from '../radio/radio.vue'
28
28
 
29
- defineOptions({ name: 'URadioGroup' })
29
+ defineOptions({ name: 'URadioGroup', inheritAttrs: false })
30
30
 
31
31
  const props = withDefaults(defineProps<RadioGroupProps>(), {
32
32
  labelKey: 'label',
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <u-dropdown
3
3
  v-if="!readonly"
4
+ v-bind="$attrs"
4
5
  trigger="click"
5
6
  :class="[cls.b, bem.is('disabled', disabled)]"
6
7
  ref="dropdownRef"
@@ -137,7 +138,7 @@ import { UScroll } from '../scroll'
137
138
  import { useKeyboard } from './use-keyboard'
138
139
  import { useOptions } from './use-options'
139
140
 
140
- defineOptions({ name: 'USelect' })
141
+ defineOptions({ name: 'USelect', inheritAttrs: false })
141
142
 
142
143
  const props = withDefaults(defineProps<SelectProps>(), {
143
144
  labelKey: 'label',
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <u-dropdown
3
3
  v-if="!readonly"
4
+ v-bind="$attrs"
4
5
  :class="[cls.b, bem.is('disabled', disabled)]"
5
6
  trigger="click"
6
7
  :content-class="[cls.e('panel'), cls.em('panel', size), contentClass]"
@@ -73,7 +74,7 @@ import { UInput } from '../input'
73
74
  import { UTree } from '../tree'
74
75
  import type { TreeSlotsScope } from '../tree/di'
75
76
 
76
- defineOptions({ name: 'UTreeSelect' })
77
+ defineOptions({ name: 'UTreeSelect', inheritAttrs: false })
77
78
 
78
79
  const props = withDefaults(defineProps<TreeSelectProps>(), {
79
80
  labelKey: 'label',