@vunk/form 2.16.1 → 2.16.3

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.
@@ -44,7 +44,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
44
44
  const hasFooterSlot = vue.computed(() => !!slots.footer);
45
45
  vue.watch(() => props.modelValue, () => {
46
46
  props.modelValue && vue.nextTick(() => {
47
- formsRef.value?.forms.forEach(({ form }) => form.resetFields?.());
47
+ console.log("reset forms", formsRef.value?.forms);
48
+ formsRef.value?.forms.forEach(({ form }) => form.clearValidate?.());
48
49
  });
49
50
  });
50
51
  async function validate() {
@@ -40,7 +40,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  const hasFooterSlot = computed(() => !!slots.footer);
41
41
  watch(() => props.modelValue, () => {
42
42
  props.modelValue && nextTick(() => {
43
- formsRef.value?.forms.forEach(({ form }) => form.resetFields?.());
43
+ console.log("reset forms", formsRef.value?.forms);
44
+ formsRef.value?.forms.forEach(({ form }) => form.clearValidate?.());
44
45
  });
45
46
  });
46
47
  async function validate() {
@@ -2,12 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
5
6
  var formItem = require('@vunk/form/components/form-item');
7
+ var utilsVue = require('@vunk/core/shared/utils-vue');
6
8
  var elementPlus = require('element-plus');
7
- var vue = require('vue');
8
9
  var elementPlus$1 = require('@vunk/form/shared/element-plus');
9
10
  var utilsObject = require('@vunk/core/shared/utils-object');
10
11
  var composables = require('@vunk/form/composables');
12
+ var object = require('@vunk/shared/object');
11
13
  var _pluginVue_exportHelper = require('../_plugin-vue_export-helper.cjs');
12
14
 
13
15
  const props = {
@@ -17,25 +19,138 @@ const props = {
17
19
  type: Array,
18
20
  default: () => []
19
21
  },
22
+ /**
23
+ * @description Radio 组件的风格类型
24
+ */
20
25
  type: {
21
26
  type: String,
22
- default: "default"
27
+ default: "radio"
23
28
  },
24
29
  modelValue: {
25
30
  type: [String, Number]
26
- }
31
+ },
32
+ slots: null
27
33
  };
28
34
  const emits = {
29
35
  ...elementPlus.radioGroupEmits
30
36
  };
37
+ const createOnEmits = utilsVue.onEmitsFactory(emits);
31
38
 
32
- var _sfc_main = vue.defineComponent({
33
- name: "VkfRadio",
39
+ var _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
40
+ __name: "option",
41
+ props: {
42
+ type: {
43
+ type: String,
44
+ default: "radio"
45
+ },
46
+ item: {
47
+ type: Object,
48
+ required: true
49
+ },
50
+ modelValue: null
51
+ },
52
+ emits: [
53
+ "update:modelValue"
54
+ ],
55
+ setup(__props, { expose: __expose }) {
56
+ __expose();
57
+ const props = __props;
58
+ const coreProps = vue.computed(() => {
59
+ const obj = object.pickObject(props.item, {
60
+ excludes: ["label", "value"]
61
+ });
62
+ if (elementPlus$1.isGte2_6_0) {
63
+ obj.value = props.item.value;
64
+ } else {
65
+ obj.label = props.item.value;
66
+ }
67
+ return obj;
68
+ });
69
+ const __returned__ = { props, coreProps, get ElCard() {
70
+ return elementPlus.ElCard;
71
+ }, get ElRadioButton() {
72
+ return elementPlus.ElRadioButton;
73
+ }, get ElRadio() {
74
+ return elementPlus.ElRadio;
75
+ } };
76
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
77
+ return __returned__;
78
+ }
79
+ });
80
+
81
+ const _hoisted_1 = { class: "vkf-radio-option-card__content" };
82
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
83
+ return $props.type === "button" ? (vue.openBlock(), vue.createBlock(
84
+ $setup["ElRadioButton"],
85
+ vue.normalizeProps(vue.mergeProps({ key: 0 }, $setup.coreProps)),
86
+ {
87
+ default: vue.withCtx(() => [
88
+ vue.renderSlot(_ctx.$slots, "option", vue.normalizeProps(vue.guardReactiveProps($props.item)), () => [
89
+ vue.createTextVNode(
90
+ vue.toDisplayString($props.item.label ?? $props.item.value),
91
+ 1
92
+ /* TEXT */
93
+ )
94
+ ])
95
+ ]),
96
+ _: 3
97
+ /* FORWARDED */
98
+ },
99
+ 16
100
+ /* FULL_PROPS */
101
+ )) : $props.type === "card" ? (vue.openBlock(), vue.createBlock($setup["ElCard"], {
102
+ key: 1,
103
+ shadow: "hover",
104
+ class: vue.normalizeClass(["vkf-radio-option-card", { "is-checked": $props.modelValue === $props.item.value }]),
105
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $props.item.value))
106
+ }, {
107
+ default: vue.withCtx(() => [
108
+ vue.createElementVNode("div", _hoisted_1, [
109
+ vue.renderSlot(_ctx.$slots, "option", vue.normalizeProps(vue.guardReactiveProps($props.item)), () => [
110
+ vue.createTextVNode(
111
+ vue.toDisplayString($props.item.label ?? $props.item.value),
112
+ 1
113
+ /* TEXT */
114
+ )
115
+ ])
116
+ ]),
117
+ vue.createVNode(
118
+ $setup["ElRadio"],
119
+ vue.mergeProps($setup.coreProps, { border: false }),
120
+ null,
121
+ 16
122
+ /* FULL_PROPS */
123
+ )
124
+ ]),
125
+ _: 3
126
+ /* FORWARDED */
127
+ }, 8, ["class"])) : (vue.openBlock(), vue.createBlock(
128
+ $setup["ElRadio"],
129
+ vue.normalizeProps(vue.mergeProps({ key: 2 }, $setup.coreProps)),
130
+ {
131
+ default: vue.withCtx(() => [
132
+ vue.renderSlot(_ctx.$slots, "option", vue.normalizeProps(vue.guardReactiveProps($props.item)), () => [
133
+ vue.createTextVNode(
134
+ vue.toDisplayString($props.item.label ?? $props.item.value),
135
+ 1
136
+ /* TEXT */
137
+ )
138
+ ])
139
+ ]),
140
+ _: 3
141
+ /* FORWARDED */
142
+ },
143
+ 16
144
+ /* FULL_PROPS */
145
+ ));
146
+ }
147
+ var OptionView = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$2, [["render", _sfc_render$1], ["__file", "/home/runner/work/private-vunk-form/private-vunk-form/packages/components/radio/src/option.vue"]]);
148
+
149
+ var _sfc_main$1 = vue.defineComponent({
34
150
  components: {
35
151
  VkfFormItem: formItem.VkfFormItem,
36
- ElRadio: elementPlus.ElRadio,
37
152
  ElRadioGroup: elementPlus.ElRadioGroup,
38
- ElRadioButton: elementPlus.ElRadioButton
153
+ OptionView
39
154
  },
40
155
  props,
41
156
  emits,
@@ -70,6 +185,7 @@ var _sfc_main = vue.defineComponent({
70
185
  });
71
186
 
72
187
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
188
+ const _component_OptionView = vue.resolveComponent("OptionView");
73
189
  const _component_ElRadioGroup = vue.resolveComponent("ElRadioGroup");
74
190
  const _component_VkfFormItem = vue.resolveComponent("VkfFormItem");
75
191
  return vue.openBlock(), vue.createBlock(
@@ -88,50 +204,62 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
88
204
  (vue.openBlock(true), vue.createElementBlock(
89
205
  vue.Fragment,
90
206
  null,
91
- vue.renderList(_ctx.options, (item) => {
92
- return vue.openBlock(), vue.createBlock(
93
- vue.resolveDynamicComponent(_ctx.type === "button" ? "ElRadioButton" : "ElRadio"),
94
- vue.mergeProps({
95
- key: item.value
96
- }, { ref_for: true }, _ctx.pickRadioProps(item)),
97
- {
98
- default: vue.withCtx(() => [
99
- vue.createTextVNode(
100
- vue.toDisplayString(item.label ?? item.value),
101
- 1
102
- /* TEXT */
103
- )
104
- ]),
105
- _: 2
106
- /* DYNAMIC */
107
- },
108
- 1040
109
- /* FULL_PROPS, DYNAMIC_SLOTS */
110
- );
207
+ vue.renderList(_ctx.options, (item, index) => {
208
+ return vue.openBlock(), vue.createBlock(_component_OptionView, {
209
+ key: `${item.value || item.label || index}`,
210
+ type: _ctx.type,
211
+ item,
212
+ "model-value": _ctx.modelValue,
213
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $event))
214
+ }, {
215
+ option: vue.withCtx((optionProps) => [
216
+ vue.renderSlot(_ctx.$slots, "option", vue.mergeProps({ ref_for: true }, optionProps))
217
+ ]),
218
+ _: 2
219
+ /* DYNAMIC */
220
+ }, 1032, ["type", "item", "model-value"]);
111
221
  }),
112
222
  128
113
223
  /* KEYED_FRAGMENT */
114
224
  ))
115
225
  ]),
116
- _: 1
117
- /* STABLE */
226
+ _: 3
227
+ /* FORWARDED */
118
228
  }, 16, ["class", "disabled"])
119
229
  ]),
120
- _: 1
121
- /* STABLE */
230
+ _: 3
231
+ /* FORWARDED */
122
232
  },
123
233
  16
124
234
  /* FULL_PROPS */
125
235
  );
126
236
  }
127
- var VkfRadio = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/private-vunk-form/private-vunk-form/packages/components/radio/src/index.vue"]]);
237
+ var Core = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["render", _sfc_render], ["__file", "/home/runner/work/private-vunk-form/private-vunk-form/packages/components/radio/src/index.vue"]]);
238
+
239
+ var _sfc_main = vue.defineComponent({
240
+ name: "VkfRadio",
241
+ props,
242
+ emits,
243
+ setup(props2, { emit, slots }) {
244
+ const coreEmits = createOnEmits(emit);
245
+ return () => vue.h(Core, {
246
+ ...props2,
247
+ ...utilsVue.vOn(coreEmits)
248
+ }, {
249
+ ...props2.slots,
250
+ ...slots
251
+ });
252
+ }
253
+ });
254
+
255
+ var VkfRadio = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__file", "/home/runner/work/private-vunk-form/private-vunk-form/packages/components/radio/src/wraper.vue"]]);
128
256
 
129
257
  var types = /*#__PURE__*/Object.freeze({
130
258
  __proto__: null
131
259
  });
132
260
 
133
261
  VkfRadio.install = (app) => {
134
- app.component(VkfRadio.name, VkfRadio);
262
+ app.component(VkfRadio.name || "VkfRadio", VkfRadio);
135
263
  };
136
264
 
137
265
  exports.VkfRadio = VkfRadio;
@@ -1,3 +1,19 @@
1
+ .vkf-radio-option-card.is-checked {
2
+ border-color: var(--el-color-primary);
3
+ }
4
+ .vkf-radio-option-card{
5
+ font-size: var(--el-font-size-base);
6
+ cursor: pointer;
7
+ }
8
+ .vkf-radio-option-card:not(:last-child) {
9
+ margin-right: 30px;
10
+ }
11
+ .vkf-radio-option-card > .el-card__body{
12
+ display: flex;
13
+ justify-content: space-between;
14
+ align-items: center;
15
+ width: max-content;
16
+ }
1
17
  .el-radio-group.is-readonly,
2
18
  .el-radio-group.is-readonly .el-radio-button{
3
19
  --el-readonly-cursor: auto;
@@ -1,4 +1,4 @@
1
- import VkfRadio from './src/index.vue';
1
+ import VkfRadio from './src/wraper.vue';
2
2
  export * as __VkfRadio from './src/types';
3
3
  export { VkfRadio, };
4
4
  export default VkfRadio;
@@ -1,9 +1,11 @@
1
+ import { defineComponent, computed, openBlock, createBlock, normalizeProps, mergeProps, withCtx, renderSlot, guardReactiveProps, createTextVNode, toDisplayString, normalizeClass, createElementVNode, createVNode, resolveComponent, toHandlers, createElementBlock, Fragment, renderList, h } from 'vue';
1
2
  import { _VkfFormItemCtx, VkfFormItem } from '@vunk/form/components/form-item';
2
- import { radioGroupProps, radioGroupEmits, ElRadio, ElRadioGroup, ElRadioButton } from 'element-plus';
3
- import { defineComponent, computed, resolveComponent, openBlock, createBlock, normalizeProps, guardReactiveProps, withCtx, createVNode, mergeProps, toHandlers, createElementBlock, Fragment, renderList, resolveDynamicComponent, createTextVNode, toDisplayString } from 'vue';
4
- import { createRadioGroupBindProps, createRadioGroupOnEmits, isGte2_6_0 } from '@vunk/form/shared/element-plus';
5
- import { pickObject } from '@vunk/core/shared/utils-object';
3
+ import { onEmitsFactory, vOn } from '@vunk/core/shared/utils-vue';
4
+ import { radioGroupProps, radioGroupEmits, ElCard, ElRadioButton, ElRadio, ElRadioGroup } from 'element-plus';
5
+ import { isGte2_6_0, createRadioGroupBindProps, createRadioGroupOnEmits } from '@vunk/form/shared/element-plus';
6
+ import { pickObject as pickObject$1 } from '@vunk/core/shared/utils-object';
6
7
  import { useComputedReadonly } from '@vunk/form/composables';
8
+ import { pickObject } from '@vunk/shared/object';
7
9
  import { _ as _export_sfc } from '../_plugin-vue_export-helper.mjs';
8
10
 
9
11
  const props = {
@@ -13,25 +15,138 @@ const props = {
13
15
  type: Array,
14
16
  default: () => []
15
17
  },
18
+ /**
19
+ * @description Radio 组件的风格类型
20
+ */
16
21
  type: {
17
22
  type: String,
18
- default: "default"
23
+ default: "radio"
19
24
  },
20
25
  modelValue: {
21
26
  type: [String, Number]
22
- }
27
+ },
28
+ slots: null
23
29
  };
24
30
  const emits = {
25
31
  ...radioGroupEmits
26
32
  };
33
+ const createOnEmits = onEmitsFactory(emits);
27
34
 
28
- var _sfc_main = defineComponent({
29
- name: "VkfRadio",
35
+ var _sfc_main$2 = /* @__PURE__ */ defineComponent({
36
+ __name: "option",
37
+ props: {
38
+ type: {
39
+ type: String,
40
+ default: "radio"
41
+ },
42
+ item: {
43
+ type: Object,
44
+ required: true
45
+ },
46
+ modelValue: null
47
+ },
48
+ emits: [
49
+ "update:modelValue"
50
+ ],
51
+ setup(__props, { expose: __expose }) {
52
+ __expose();
53
+ const props = __props;
54
+ const coreProps = computed(() => {
55
+ const obj = pickObject(props.item, {
56
+ excludes: ["label", "value"]
57
+ });
58
+ if (isGte2_6_0) {
59
+ obj.value = props.item.value;
60
+ } else {
61
+ obj.label = props.item.value;
62
+ }
63
+ return obj;
64
+ });
65
+ const __returned__ = { props, coreProps, get ElCard() {
66
+ return ElCard;
67
+ }, get ElRadioButton() {
68
+ return ElRadioButton;
69
+ }, get ElRadio() {
70
+ return ElRadio;
71
+ } };
72
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
73
+ return __returned__;
74
+ }
75
+ });
76
+
77
+ const _hoisted_1 = { class: "vkf-radio-option-card__content" };
78
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
79
+ return $props.type === "button" ? (openBlock(), createBlock(
80
+ $setup["ElRadioButton"],
81
+ normalizeProps(mergeProps({ key: 0 }, $setup.coreProps)),
82
+ {
83
+ default: withCtx(() => [
84
+ renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps($props.item)), () => [
85
+ createTextVNode(
86
+ toDisplayString($props.item.label ?? $props.item.value),
87
+ 1
88
+ /* TEXT */
89
+ )
90
+ ])
91
+ ]),
92
+ _: 3
93
+ /* FORWARDED */
94
+ },
95
+ 16
96
+ /* FULL_PROPS */
97
+ )) : $props.type === "card" ? (openBlock(), createBlock($setup["ElCard"], {
98
+ key: 1,
99
+ shadow: "hover",
100
+ class: normalizeClass(["vkf-radio-option-card", { "is-checked": $props.modelValue === $props.item.value }]),
101
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $props.item.value))
102
+ }, {
103
+ default: withCtx(() => [
104
+ createElementVNode("div", _hoisted_1, [
105
+ renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps($props.item)), () => [
106
+ createTextVNode(
107
+ toDisplayString($props.item.label ?? $props.item.value),
108
+ 1
109
+ /* TEXT */
110
+ )
111
+ ])
112
+ ]),
113
+ createVNode(
114
+ $setup["ElRadio"],
115
+ mergeProps($setup.coreProps, { border: false }),
116
+ null,
117
+ 16
118
+ /* FULL_PROPS */
119
+ )
120
+ ]),
121
+ _: 3
122
+ /* FORWARDED */
123
+ }, 8, ["class"])) : (openBlock(), createBlock(
124
+ $setup["ElRadio"],
125
+ normalizeProps(mergeProps({ key: 2 }, $setup.coreProps)),
126
+ {
127
+ default: withCtx(() => [
128
+ renderSlot(_ctx.$slots, "option", normalizeProps(guardReactiveProps($props.item)), () => [
129
+ createTextVNode(
130
+ toDisplayString($props.item.label ?? $props.item.value),
131
+ 1
132
+ /* TEXT */
133
+ )
134
+ ])
135
+ ]),
136
+ _: 3
137
+ /* FORWARDED */
138
+ },
139
+ 16
140
+ /* FULL_PROPS */
141
+ ));
142
+ }
143
+ var OptionView = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$1], ["__file", "/home/runner/work/private-vunk-form/private-vunk-form/packages/components/radio/src/option.vue"]]);
144
+
145
+ var _sfc_main$1 = defineComponent({
30
146
  components: {
31
147
  VkfFormItem,
32
- ElRadio,
33
148
  ElRadioGroup,
34
- ElRadioButton
149
+ OptionView
35
150
  },
36
151
  props,
37
152
  emits,
@@ -44,7 +159,7 @@ var _sfc_main = defineComponent({
44
159
  });
45
160
  const readonly = useComputedReadonly(props2);
46
161
  const pickRadioProps = (item) => {
47
- const obj = pickObject(item, {
162
+ const obj = pickObject$1(item, {
48
163
  excludes: ["label", "value"]
49
164
  });
50
165
  if (isGte2_6_0) {
@@ -66,6 +181,7 @@ var _sfc_main = defineComponent({
66
181
  });
67
182
 
68
183
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
184
+ const _component_OptionView = resolveComponent("OptionView");
69
185
  const _component_ElRadioGroup = resolveComponent("ElRadioGroup");
70
186
  const _component_VkfFormItem = resolveComponent("VkfFormItem");
71
187
  return openBlock(), createBlock(
@@ -84,50 +200,62 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
84
200
  (openBlock(true), createElementBlock(
85
201
  Fragment,
86
202
  null,
87
- renderList(_ctx.options, (item) => {
88
- return openBlock(), createBlock(
89
- resolveDynamicComponent(_ctx.type === "button" ? "ElRadioButton" : "ElRadio"),
90
- mergeProps({
91
- key: item.value
92
- }, { ref_for: true }, _ctx.pickRadioProps(item)),
93
- {
94
- default: withCtx(() => [
95
- createTextVNode(
96
- toDisplayString(item.label ?? item.value),
97
- 1
98
- /* TEXT */
99
- )
100
- ]),
101
- _: 2
102
- /* DYNAMIC */
103
- },
104
- 1040
105
- /* FULL_PROPS, DYNAMIC_SLOTS */
106
- );
203
+ renderList(_ctx.options, (item, index) => {
204
+ return openBlock(), createBlock(_component_OptionView, {
205
+ key: `${item.value || item.label || index}`,
206
+ type: _ctx.type,
207
+ item,
208
+ "model-value": _ctx.modelValue,
209
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $event))
210
+ }, {
211
+ option: withCtx((optionProps) => [
212
+ renderSlot(_ctx.$slots, "option", mergeProps({ ref_for: true }, optionProps))
213
+ ]),
214
+ _: 2
215
+ /* DYNAMIC */
216
+ }, 1032, ["type", "item", "model-value"]);
107
217
  }),
108
218
  128
109
219
  /* KEYED_FRAGMENT */
110
220
  ))
111
221
  ]),
112
- _: 1
113
- /* STABLE */
222
+ _: 3
223
+ /* FORWARDED */
114
224
  }, 16, ["class", "disabled"])
115
225
  ]),
116
- _: 1
117
- /* STABLE */
226
+ _: 3
227
+ /* FORWARDED */
118
228
  },
119
229
  16
120
230
  /* FULL_PROPS */
121
231
  );
122
232
  }
123
- var VkfRadio = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/private-vunk-form/private-vunk-form/packages/components/radio/src/index.vue"]]);
233
+ var Core = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__file", "/home/runner/work/private-vunk-form/private-vunk-form/packages/components/radio/src/index.vue"]]);
234
+
235
+ var _sfc_main = defineComponent({
236
+ name: "VkfRadio",
237
+ props,
238
+ emits,
239
+ setup(props2, { emit, slots }) {
240
+ const coreEmits = createOnEmits(emit);
241
+ return () => h(Core, {
242
+ ...props2,
243
+ ...vOn(coreEmits)
244
+ }, {
245
+ ...props2.slots,
246
+ ...slots
247
+ });
248
+ }
249
+ });
250
+
251
+ var VkfRadio = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/private-vunk-form/private-vunk-form/packages/components/radio/src/wraper.vue"]]);
124
252
 
125
253
  var types = /*#__PURE__*/Object.freeze({
126
254
  __proto__: null
127
255
  });
128
256
 
129
257
  VkfRadio.install = (app) => {
130
- app.component(VkfRadio.name, VkfRadio);
258
+ app.component(VkfRadio.name || "VkfRadio", VkfRadio);
131
259
  };
132
260
 
133
261
  export { VkfRadio, types as __VkfRadio, VkfRadio as default };
@@ -5,13 +5,17 @@ export declare const props: {
5
5
  type: PropType<RadioProps[]>;
6
6
  default: () => any[];
7
7
  };
8
+ /**
9
+ * @description Radio 组件的风格类型
10
+ */
8
11
  type: {
9
- type: PropType<"button" | "default">;
12
+ type: PropType<"button" | "radio" | "card">;
10
13
  default: string;
11
14
  };
12
15
  modelValue: {
13
16
  type: PropType<string | number>;
14
17
  };
18
+ slots: any;
15
19
  ariaLabel: StringConstructor;
16
20
  id: {
17
21
  readonly type: PropType<string>;
@@ -155,3 +159,7 @@ export declare const emits: {
155
159
  "update:modelValue": (val: string | number | boolean | undefined) => val is string | number | boolean;
156
160
  change: (val: string | number | boolean | undefined) => val is string | number | boolean;
157
161
  };
162
+ export declare const createOnEmits: <T2 extends import("@vunk/core").AnyFunc, EX extends ("update:modelValue" | "change")[]>(emit: T2, excludes?: EX) => { [P in EX extends (infer KE)[] ? Exclude<"update:modelValue", KE> | Exclude<"change", KE> : "update:modelValue" | "change"]: {
163
+ "update:modelValue": (...e: import("@vunk/core").RestParameters<T2>) => void;
164
+ change: (...e: import("@vunk/core").RestParameters<T2>) => void;
165
+ }[P]; };