@vunk/form 0.0.0-alpha.2 → 0.0.0-alpha.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.
- package/components/config/src/ctx.d.ts +1 -1
- package/components/config-renderer/src/ctx.d.ts +1 -1
- package/components/confirm-input/index.js +3 -3
- package/components/confirm-input/src/ctx.d.ts +79 -37
- package/components/confirm-input/src/index.vue.d.ts +210 -131
- package/components/drop-wrapper/index.js +2 -2
- package/components/drop-wrapper/src/index.vue.d.ts +2 -2
- package/components/form/index.js +39 -4
- package/components/form/src/ctx.d.ts +21 -16
- package/components/form/src/index.vue.d.ts +51 -43
- package/components/form-item/index.d.ts +5 -0
- package/components/form-item/index.js +71 -0
- package/components/form-item/src/ctx.d.ts +44 -0
- package/components/form-item/src/index.vue.d.ts +102 -0
- package/components/form-item/src/types.d.ts +6 -0
- package/components/ground/index.css +64 -29
- package/components/ground/index.js +433 -97
- package/components/ground/src/ground-config/src/index.vue.d.ts +4 -1
- package/components/ground/src/ground-main/src/editing-wrapper.vue.d.ts +35 -5
- package/components/ground/src/ground-main/src/index.vue.d.ts +19 -5
- package/components/ground/src/ground-widget/src/form-item-widget/src/index.vue.d.ts +400 -138
- package/components/ground/src/ground-widget/src/index.vue.d.ts +21 -5
- package/components/ground/src/ground-widget/src/static.d.ts +2 -2
- package/components/ground/src/index.vue.d.ts +23 -4
- package/components/input/index.js +12 -32
- package/components/input/src/ctx.d.ts +81 -43
- package/components/input/src/index.vue.d.ts +209 -136
- package/components/input/src/types.d.ts +1 -6
- package/components/input-config/index.js +102 -23
- package/components/input-config/src/ctx.d.ts +19 -15
- package/components/input-config/src/index.vue.d.ts +70 -50
- package/components/rules-config/index.d.ts +3 -0
- package/components/rules-config/index.js +63 -0
- package/components/rules-config/src/ctx.d.ts +38 -0
- package/components/rules-config/src/index.vue.d.ts +113 -0
- package/components/select/index.d.ts +4 -0
- package/components/select/index.js +75 -0
- package/components/select/src/ctx.d.ts +188 -0
- package/components/select/src/index.vue.d.ts +580 -0
- package/components/select/src/types.d.ts +3 -0
- package/components/select-config/index.d.ts +4 -0
- package/components/select-config/index.js +43 -0
- package/components/select-config/src/ctx.d.ts +11 -0
- package/components/select-config/src/index.vue.d.ts +18 -0
- package/components/select-config/src/types.d.ts +3 -0
- package/components/switch/index.d.ts +4 -0
- package/components/switch/index.js +61 -0
- package/components/switch/src/ctx.d.ts +62 -0
- package/components/switch/src/index.vue.d.ts +184 -0
- package/components/switch/src/types.d.ts +3 -0
- package/full-entry/main.d.ts +5 -0
- package/index.css +64 -29
- package/index.d.ts +34 -24
- package/index.esm.js +5 -0
- package/package.json +1 -1
- package/shared/element-plus/ctx/index.d.ts +8 -4
- package/shared/element-plus/ctx/index.js +1267 -2
- package/shared/element-plus/instances/select.d.ts +91 -0
- package/shared/element-plus/instances/select.js +1264 -0
- package/shared/helper/index.d.ts +2 -2
- package/shared/helper/index.js +1 -1
- package/shared/types/drag/index.d.ts +7 -0
- package/shared/types/drag/index.js +1 -0
- package/shared/types/form-item/index.d.ts +2 -0
- package/shared/types/form-item/select.d.ts +8 -0
- package/shared/types/form-item/select.js +1 -0
- package/shared/types/form-item/switch.d.ts +8 -0
- package/shared/types/form-item/switch.js +1 -0
- package/shared/types/index.d.ts +2 -2
- package/shared/types/shared/index.d.ts +1 -0
- package/types/components/config/src/ctx.d.ts +1 -1
- package/types/components/config-renderer/src/ctx.d.ts +1 -1
- package/types/components/confirm-input/src/ctx.d.ts +79 -37
- package/types/components/confirm-input/src/index.vue.d.ts +210 -131
- package/types/components/drop-wrapper/src/index.vue.d.ts +2 -2
- package/types/components/form/src/ctx.d.ts +21 -16
- package/types/components/form/src/index.vue.d.ts +51 -43
- package/types/components/form-item/index.d.ts +5 -0
- package/types/components/form-item/src/ctx.d.ts +44 -0
- package/types/components/form-item/src/index.vue.d.ts +102 -0
- package/types/components/form-item/src/types.d.ts +6 -0
- package/types/components/ground/src/ground-config/src/index.vue.d.ts +4 -1
- package/types/components/ground/src/ground-main/src/editing-wrapper.vue.d.ts +35 -5
- package/types/components/ground/src/ground-main/src/index.vue.d.ts +19 -5
- package/types/components/ground/src/ground-widget/src/form-item-widget/src/index.vue.d.ts +400 -138
- package/types/components/ground/src/ground-widget/src/index.vue.d.ts +21 -5
- package/types/components/ground/src/ground-widget/src/static.d.ts +2 -2
- package/types/components/ground/src/index.vue.d.ts +23 -4
- package/types/components/input/src/ctx.d.ts +81 -43
- package/types/components/input/src/index.vue.d.ts +209 -136
- package/types/components/input/src/types.d.ts +1 -6
- package/types/components/input-config/src/ctx.d.ts +19 -15
- package/types/components/input-config/src/index.vue.d.ts +70 -50
- package/types/components/rules-config/index.d.ts +3 -0
- package/types/components/rules-config/src/ctx.d.ts +38 -0
- package/types/components/rules-config/src/index.vue.d.ts +113 -0
- package/types/components/select/index.d.ts +4 -0
- package/types/components/select/src/ctx.d.ts +188 -0
- package/types/components/select/src/index.vue.d.ts +580 -0
- package/types/components/select/src/types.d.ts +3 -0
- package/types/components/select-config/index.d.ts +4 -0
- package/types/components/select-config/src/ctx.d.ts +11 -0
- package/types/components/select-config/src/index.vue.d.ts +18 -0
- package/types/components/select-config/src/types.d.ts +3 -0
- package/types/components/switch/index.d.ts +4 -0
- package/types/components/switch/src/ctx.d.ts +62 -0
- package/types/components/switch/src/index.vue.d.ts +184 -0
- package/types/components/switch/src/types.d.ts +3 -0
- package/types/full-entry/main.d.ts +5 -0
- package/types/shared/element-plus/ctx/index.d.ts +8 -4
- package/types/shared/element-plus/instances/select.d.ts +91 -0
- package/types/shared/helper/index.d.ts +2 -2
- package/types/shared/types/drag/index.d.ts +7 -0
- package/types/shared/types/form-item/index.d.ts +2 -0
- package/types/shared/types/form-item/select.d.ts +8 -0
- package/types/shared/types/form-item/switch.d.ts +8 -0
- package/types/shared/types/index.d.ts +2 -2
- package/types/shared/types/shared/index.d.ts +1 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { _VkfFormCtx, VkfForm } from '@vunk/form/components/form';
|
|
2
|
-
import { defineComponent, computed, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, createVNode } from 'vue';
|
|
2
|
+
import { defineComponent, computed, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, createVNode, normalizeProps, guardReactiveProps, resolveDynamicComponent } from 'vue';
|
|
3
3
|
import { VkfConfirmInput } from '@vunk/form/components/confirm-input';
|
|
4
4
|
import { VkfFormItemRendererTemplate } from '@vunk/form/components/form-item-renderer-template';
|
|
5
|
+
import { ElCollapse, ElCollapseItem } from 'element-plus';
|
|
6
|
+
import { VkfRulesConfig } from '@vunk/form/components/rules-config';
|
|
5
7
|
import { setData } from 'vunk/shared/helper';
|
|
6
8
|
|
|
7
9
|
const props = {
|
|
@@ -21,7 +23,10 @@ var script = defineComponent({
|
|
|
21
23
|
components: {
|
|
22
24
|
VkfForm,
|
|
23
25
|
VkfConfirmInput,
|
|
24
|
-
VkfFormItemRendererTemplate
|
|
26
|
+
VkfFormItemRendererTemplate,
|
|
27
|
+
ElCollapse,
|
|
28
|
+
ElCollapseItem,
|
|
29
|
+
VkfRulesConfig
|
|
25
30
|
},
|
|
26
31
|
emits,
|
|
27
32
|
props,
|
|
@@ -31,30 +36,66 @@ var script = defineComponent({
|
|
|
31
36
|
const formItems = computed(() => {
|
|
32
37
|
return [
|
|
33
38
|
{
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
templateType: "ElCollapse",
|
|
40
|
+
modelValue: [0, 1],
|
|
41
|
+
templateSlots: [
|
|
42
|
+
{
|
|
43
|
+
templateType: "ElCollapseItem",
|
|
44
|
+
name: 0,
|
|
45
|
+
title: "\u57FA\u7840\u914D\u7F6E",
|
|
46
|
+
templateSlots: [
|
|
47
|
+
{
|
|
48
|
+
prop: "prop",
|
|
49
|
+
label: "prop",
|
|
50
|
+
templateType: "VkfConfirmInput",
|
|
51
|
+
required: true,
|
|
52
|
+
disabled: props2.propDisabled
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
prop: "label",
|
|
56
|
+
label: "label",
|
|
57
|
+
templateType: "VkfInput",
|
|
58
|
+
required: true
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
prop: "placeholder",
|
|
62
|
+
label: "placeholder",
|
|
63
|
+
templateType: "VkfInput"
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
templateType: "ElCollapseItem",
|
|
69
|
+
name: 1,
|
|
70
|
+
title: "\u89C4\u5219\u914D\u7F6E",
|
|
71
|
+
templateSlots: [
|
|
72
|
+
{
|
|
73
|
+
templateType: "VkfRulesConfig"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
]
|
|
50
78
|
}
|
|
51
79
|
];
|
|
52
80
|
});
|
|
81
|
+
const setRulesData = (e) => {
|
|
82
|
+
if (!formProps.value.data.rules) {
|
|
83
|
+
emit("setData", {
|
|
84
|
+
k: "rules",
|
|
85
|
+
v: {}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
emit("setData", {
|
|
89
|
+
k: ["rules", e.k],
|
|
90
|
+
v: e.v
|
|
91
|
+
});
|
|
92
|
+
};
|
|
53
93
|
return {
|
|
54
94
|
formProps,
|
|
55
95
|
formEmits,
|
|
56
96
|
formItems,
|
|
57
|
-
setData
|
|
97
|
+
setData,
|
|
98
|
+
setRulesData
|
|
58
99
|
};
|
|
59
100
|
}
|
|
60
101
|
});
|
|
@@ -62,19 +103,57 @@ var script = defineComponent({
|
|
|
62
103
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
63
104
|
const _component_VkfConfirmInput = resolveComponent("VkfConfirmInput");
|
|
64
105
|
const _component_VkfFormItemRendererTemplate = resolveComponent("VkfFormItemRendererTemplate");
|
|
106
|
+
const _component_ElCollapse = resolveComponent("ElCollapse");
|
|
107
|
+
const _component_ElCollapseItem = resolveComponent("ElCollapseItem");
|
|
108
|
+
const _component_VkfRulesConfig = resolveComponent("VkfRulesConfig");
|
|
65
109
|
const _component_VkfForm = resolveComponent("VkfForm");
|
|
66
110
|
return openBlock(), createBlock(_component_VkfForm, mergeProps(_ctx.formProps, toHandlers(_ctx.formEmits), { formItems: _ctx.formItems }), {
|
|
67
111
|
rendererTemplate: withCtx(() => [
|
|
68
112
|
createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfConfirmInput" }, {
|
|
69
|
-
default: withCtx(({ data:
|
|
113
|
+
default: withCtx(({ data: bindProps }) => [
|
|
70
114
|
createVNode(_component_VkfConfirmInput, mergeProps({
|
|
71
|
-
modelValue: _ctx.formProps.data[
|
|
115
|
+
modelValue: _ctx.formProps.data[bindProps.prop],
|
|
72
116
|
"onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
|
|
73
|
-
k:
|
|
117
|
+
k: bindProps.prop,
|
|
74
118
|
v: $event
|
|
75
119
|
}),
|
|
76
120
|
"onUpdate:disabled": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:propDisabled", $event))
|
|
77
|
-
},
|
|
121
|
+
}, bindProps), null, 16, ["modelValue", "onUpdate:modelValue"])
|
|
122
|
+
]),
|
|
123
|
+
_: 1
|
|
124
|
+
}),
|
|
125
|
+
createVNode(_component_VkfFormItemRendererTemplate, { type: "ElCollapse" }, {
|
|
126
|
+
default: withCtx(({ data, Renderer, raw }) => [
|
|
127
|
+
createVNode(_component_ElCollapse, normalizeProps(guardReactiveProps(data)), {
|
|
128
|
+
default: withCtx(() => [
|
|
129
|
+
(openBlock(), createBlock(resolveDynamicComponent(Renderer), {
|
|
130
|
+
source: raw.templateSlots
|
|
131
|
+
}, null, 8, ["source"]))
|
|
132
|
+
]),
|
|
133
|
+
_: 2
|
|
134
|
+
}, 1040)
|
|
135
|
+
]),
|
|
136
|
+
_: 1
|
|
137
|
+
}),
|
|
138
|
+
createVNode(_component_VkfFormItemRendererTemplate, { type: "ElCollapseItem" }, {
|
|
139
|
+
default: withCtx(({ data, Renderer, raw }) => [
|
|
140
|
+
createVNode(_component_ElCollapseItem, normalizeProps(guardReactiveProps(data)), {
|
|
141
|
+
default: withCtx(() => [
|
|
142
|
+
(openBlock(), createBlock(resolveDynamicComponent(Renderer), {
|
|
143
|
+
source: raw.templateSlots
|
|
144
|
+
}, null, 8, ["source"]))
|
|
145
|
+
]),
|
|
146
|
+
_: 2
|
|
147
|
+
}, 1040)
|
|
148
|
+
]),
|
|
149
|
+
_: 1
|
|
150
|
+
}),
|
|
151
|
+
createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfRulesConfig" }, {
|
|
152
|
+
default: withCtx(({ data }) => [
|
|
153
|
+
createVNode(_component_VkfRulesConfig, mergeProps(data, {
|
|
154
|
+
data: _ctx.formProps.data.rules || {},
|
|
155
|
+
onSetData: _ctx.setRulesData
|
|
156
|
+
}), null, 16, ["data", "onSetData"])
|
|
78
157
|
]),
|
|
79
158
|
_: 1
|
|
80
159
|
})
|
|
@@ -12,28 +12,32 @@ export declare const props: {
|
|
|
12
12
|
default: () => never[];
|
|
13
13
|
};
|
|
14
14
|
model: ObjectConstructor;
|
|
15
|
-
rules:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
rules: {
|
|
16
|
+
readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
|
|
17
|
+
readonly required: false;
|
|
18
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
19
|
+
__epPropKey: true;
|
|
20
|
+
};
|
|
21
|
+
labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
22
|
+
labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
23
|
+
labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
19
24
|
inline: BooleanConstructor;
|
|
20
25
|
inlineMessage: BooleanConstructor;
|
|
21
26
|
statusIcon: BooleanConstructor;
|
|
22
|
-
showMessage: import("element-plus/es/utils").
|
|
23
|
-
size:
|
|
27
|
+
showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
28
|
+
size: {
|
|
29
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
30
|
+
readonly required: false;
|
|
31
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
32
|
+
__epPropKey: true;
|
|
33
|
+
};
|
|
24
34
|
disabled: BooleanConstructor;
|
|
25
|
-
validateOnRuleChange: import("element-plus/es/utils").
|
|
26
|
-
hideRequiredAsterisk: import("element-plus/es/utils").
|
|
35
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
36
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
27
37
|
scrollToError: BooleanConstructor;
|
|
28
38
|
};
|
|
29
39
|
export declare const emits: {
|
|
30
40
|
'update:propDisabled': (e: boolean) => boolean;
|
|
31
|
-
setData: (e:
|
|
32
|
-
v: any;
|
|
33
|
-
k: any;
|
|
34
|
-
}) => {
|
|
35
|
-
v: any;
|
|
36
|
-
k: any;
|
|
37
|
-
};
|
|
41
|
+
setData: (e: import("../../../shared/types").SetDataEvent<any>) => import("../../../shared/types").SetDataEvent<any>;
|
|
38
42
|
validate: null;
|
|
39
43
|
};
|
|
@@ -1,6 +1,20 @@
|
|
|
1
|
-
import type { FormItemRendererSource } from '@vunk/form/shared/types';
|
|
1
|
+
import type { FormItemRendererSource, SetDataEvent } from '@vunk/form/shared/types';
|
|
2
2
|
import type { VkfInputProps, VkfConfirmInputSource } from '@vunk/form/shared/types/form-item';
|
|
3
|
-
|
|
3
|
+
import { ElCollapse, ElCollapseItem } from 'element-plus';
|
|
4
|
+
import type { VueComponentPropsType } from 'vunk/shared/types';
|
|
5
|
+
import { VkfRulesConfig } from '@vunk/form/components/rules-config';
|
|
6
|
+
declare type ElCollapseSource = VueComponentPropsType<typeof ElCollapse> & {
|
|
7
|
+
templateType: 'ElCollapse';
|
|
8
|
+
templateSlots: FormItemRendererSourcePlus[];
|
|
9
|
+
};
|
|
10
|
+
declare type ElCollapseItemSource = VueComponentPropsType<typeof ElCollapseItem> & {
|
|
11
|
+
templateType: 'ElCollapseItem';
|
|
12
|
+
templateSlots: FormItemRendererSourcePlus[];
|
|
13
|
+
};
|
|
14
|
+
declare type VkfRulesConfigSource = VueComponentPropsType<typeof VkfRulesConfig> & {
|
|
15
|
+
templateType: 'VkfRulesConfig';
|
|
16
|
+
};
|
|
17
|
+
declare type FormItemRendererSourcePlus<P = keyof VkfInputProps | string[]> = FormItemRendererSource<P> | VkfConfirmInputSource<P> | ElCollapseSource | ElCollapseItemSource | VkfRulesConfigSource;
|
|
4
18
|
declare const _default: import("vue").DefineComponent<{
|
|
5
19
|
propDisabled: {
|
|
6
20
|
type: BooleanConstructor;
|
|
@@ -15,61 +29,61 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
15
29
|
default: () => never[];
|
|
16
30
|
};
|
|
17
31
|
model: ObjectConstructor;
|
|
18
|
-
rules:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
32
|
+
rules: {
|
|
33
|
+
readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
|
|
34
|
+
readonly required: false;
|
|
35
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
36
|
+
__epPropKey: true;
|
|
37
|
+
};
|
|
38
|
+
labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
39
|
+
labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
40
|
+
labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
22
41
|
inline: BooleanConstructor;
|
|
23
42
|
inlineMessage: BooleanConstructor;
|
|
24
43
|
statusIcon: BooleanConstructor;
|
|
25
|
-
showMessage: import("element-plus/es/utils").
|
|
26
|
-
size:
|
|
44
|
+
showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
45
|
+
size: {
|
|
46
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
47
|
+
readonly required: false;
|
|
48
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
49
|
+
__epPropKey: true;
|
|
50
|
+
};
|
|
27
51
|
disabled: BooleanConstructor;
|
|
28
|
-
validateOnRuleChange: import("element-plus/es/utils").
|
|
29
|
-
hideRequiredAsterisk: import("element-plus/es/utils").
|
|
52
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
53
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
30
54
|
scrollToError: BooleanConstructor;
|
|
31
55
|
}, {
|
|
32
56
|
formProps: import("vue").ComputedRef<{
|
|
33
57
|
data: Record<string, any>;
|
|
34
58
|
model: Record<string, any> | undefined;
|
|
35
59
|
rules: Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>> | undefined;
|
|
36
|
-
labelPosition:
|
|
37
|
-
labelWidth: import("element-plus/es/utils").
|
|
60
|
+
labelPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
61
|
+
labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
38
62
|
labelSuffix: string;
|
|
39
63
|
inline: boolean;
|
|
40
64
|
inlineMessage: boolean;
|
|
41
65
|
statusIcon: boolean;
|
|
42
|
-
showMessage: import("element-plus/es/utils").
|
|
43
|
-
size: import("element-plus/es/utils").
|
|
66
|
+
showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
67
|
+
size: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown> | undefined;
|
|
44
68
|
disabled: boolean;
|
|
45
|
-
validateOnRuleChange: import("element-plus/es/utils").
|
|
46
|
-
hideRequiredAsterisk: import("element-plus/es/utils").
|
|
69
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
70
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
47
71
|
scrollToError: boolean;
|
|
48
72
|
}>;
|
|
49
73
|
formEmits: {
|
|
50
|
-
validate: ((event: "validate", ...args: any[]) => void) & ((event: "setData", e:
|
|
51
|
-
|
|
52
|
-
k: any;
|
|
53
|
-
}) => void) & ((event: "update:propDisabled", e: boolean) => void);
|
|
54
|
-
setData: ((event: "validate", ...args: any[]) => void) & ((event: "setData", e: {
|
|
55
|
-
v: any;
|
|
56
|
-
k: any;
|
|
57
|
-
}) => void) & ((event: "update:propDisabled", e: boolean) => void);
|
|
74
|
+
validate: ((event: "validate", ...args: any[]) => void) & ((event: "setData", e: SetDataEvent<any>) => void) & ((event: "update:propDisabled", e: boolean) => void);
|
|
75
|
+
setData: ((event: "validate", ...args: any[]) => void) & ((event: "setData", e: SetDataEvent<any>) => void) & ((event: "update:propDisabled", e: boolean) => void);
|
|
58
76
|
};
|
|
59
|
-
formItems: import("vue").ComputedRef<FormItemRendererSourcePlus<"
|
|
77
|
+
formItems: import("vue").ComputedRef<FormItemRendererSourcePlus<string[] | "rules" | "size" | "resize" | "formatter" | "parser" | "placeholder" | "prop" | "error" | "validateStatus" | "for" | "onChange" | "onUpdate:modelValue" | "onInput" | "onFocus" | "onBlur" | "onClear" | "onMouseleave" | "onMouseenter" | "onKeydown" | "onCompositionstart" | "onCompositionupdate" | "onCompositionend" | ("required" | "type" | "labelWidth" | "inlineMessage" | "showMessage" | "disabled" | "id" | "modelValue" | "autosize" | "autocomplete" | "form" | "readonly" | "clearable" | "showPassword" | "showWordLimit" | "suffixIcon" | "prefixIcon" | "containerRole" | "label" | "tabindex" | "validateEvent" | "inputStyle" | "formItemSize" | "formItemSlots" | "inputSlots")>[]>;
|
|
60
78
|
setData: (obj: any, e: {
|
|
61
79
|
k: any;
|
|
62
80
|
v: any;
|
|
81
|
+
insert?: boolean | undefined;
|
|
63
82
|
}) => void;
|
|
83
|
+
setRulesData: (e: SetDataEvent) => void;
|
|
64
84
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
65
85
|
'update:propDisabled': (e: boolean) => boolean;
|
|
66
|
-
setData: (e:
|
|
67
|
-
v: any;
|
|
68
|
-
k: any;
|
|
69
|
-
}) => {
|
|
70
|
-
v: any;
|
|
71
|
-
k: any;
|
|
72
|
-
};
|
|
86
|
+
setData: (e: SetDataEvent<any>) => SetDataEvent<any>;
|
|
73
87
|
validate: null;
|
|
74
88
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
75
89
|
propDisabled: {
|
|
@@ -85,39 +99,45 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
85
99
|
default: () => never[];
|
|
86
100
|
};
|
|
87
101
|
model: ObjectConstructor;
|
|
88
|
-
rules:
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
102
|
+
rules: {
|
|
103
|
+
readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
|
|
104
|
+
readonly required: false;
|
|
105
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
106
|
+
__epPropKey: true;
|
|
107
|
+
};
|
|
108
|
+
labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
109
|
+
labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
110
|
+
labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
92
111
|
inline: BooleanConstructor;
|
|
93
112
|
inlineMessage: BooleanConstructor;
|
|
94
113
|
statusIcon: BooleanConstructor;
|
|
95
|
-
showMessage: import("element-plus/es/utils").
|
|
96
|
-
size:
|
|
114
|
+
showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
115
|
+
size: {
|
|
116
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
117
|
+
readonly required: false;
|
|
118
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
119
|
+
__epPropKey: true;
|
|
120
|
+
};
|
|
97
121
|
disabled: BooleanConstructor;
|
|
98
|
-
validateOnRuleChange: import("element-plus/es/utils").
|
|
99
|
-
hideRequiredAsterisk: import("element-plus/es/utils").
|
|
122
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
123
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
100
124
|
scrollToError: BooleanConstructor;
|
|
101
125
|
}>> & {
|
|
102
126
|
onValidate?: ((...args: any[]) => any) | undefined;
|
|
103
|
-
onSetData?: ((e:
|
|
104
|
-
v: any;
|
|
105
|
-
k: any;
|
|
106
|
-
}) => any) | undefined;
|
|
127
|
+
onSetData?: ((e: SetDataEvent<any>) => any) | undefined;
|
|
107
128
|
"onUpdate:propDisabled"?: ((e: boolean) => any) | undefined;
|
|
108
129
|
}, {
|
|
109
130
|
data: Record<string, any>;
|
|
110
|
-
|
|
111
|
-
labelWidth: import("element-plus/es/utils").
|
|
131
|
+
labelPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
132
|
+
labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
112
133
|
labelSuffix: string;
|
|
113
134
|
inline: boolean;
|
|
114
135
|
inlineMessage: boolean;
|
|
115
136
|
statusIcon: boolean;
|
|
116
|
-
showMessage: import("element-plus/es/utils").
|
|
117
|
-
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "small" | "default" | "large", unknown>;
|
|
137
|
+
showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
118
138
|
disabled: boolean;
|
|
119
|
-
validateOnRuleChange: import("element-plus/es/utils").
|
|
120
|
-
hideRequiredAsterisk: import("element-plus/es/utils").
|
|
139
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
140
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
121
141
|
scrollToError: boolean;
|
|
122
142
|
formItems: any[];
|
|
123
143
|
propDisabled: boolean;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { _VkfFormCtx, VkfForm } from '@vunk/form/components/form';
|
|
2
|
+
import { defineComponent, computed, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, renderSlot } from 'vue';
|
|
3
|
+
|
|
4
|
+
const props = {
|
|
5
|
+
..._VkfFormCtx.props
|
|
6
|
+
};
|
|
7
|
+
const emits = {
|
|
8
|
+
..._VkfFormCtx.emits
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
var script = defineComponent({
|
|
12
|
+
name: "VkfRulesConfig",
|
|
13
|
+
components: {
|
|
14
|
+
VkfForm
|
|
15
|
+
},
|
|
16
|
+
emits,
|
|
17
|
+
props,
|
|
18
|
+
setup(props2, { emit }) {
|
|
19
|
+
const bindProps = _VkfFormCtx.createBindProps(props2, ["formItems"]);
|
|
20
|
+
const onEmits = _VkfFormCtx.createOnEmits(emit);
|
|
21
|
+
const formItems = computed(() => {
|
|
22
|
+
const data = [
|
|
23
|
+
{
|
|
24
|
+
templateType: "VkfSwitch",
|
|
25
|
+
prop: "required",
|
|
26
|
+
label: "required"
|
|
27
|
+
}
|
|
28
|
+
];
|
|
29
|
+
if (bindProps.value.data.required) {
|
|
30
|
+
data.push({
|
|
31
|
+
templateType: "VkfInput",
|
|
32
|
+
prop: "message",
|
|
33
|
+
label: "message"
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return data;
|
|
37
|
+
});
|
|
38
|
+
return {
|
|
39
|
+
formItems,
|
|
40
|
+
bindProps,
|
|
41
|
+
onEmits
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
47
|
+
const _component_VkfForm = resolveComponent("VkfForm");
|
|
48
|
+
return openBlock(), createBlock(_component_VkfForm, mergeProps({ formItems: _ctx.formItems }, _ctx.bindProps, toHandlers(_ctx.onEmits)), {
|
|
49
|
+
default: withCtx(() => [
|
|
50
|
+
renderSlot(_ctx.$slots, "default")
|
|
51
|
+
]),
|
|
52
|
+
_: 3
|
|
53
|
+
}, 16, ["formItems"]);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
script.render = render;
|
|
57
|
+
script.__file = "rules-config/src/index.vue";
|
|
58
|
+
|
|
59
|
+
script.install = (app) => {
|
|
60
|
+
app.component(script.name, script);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export { script as VkfRulesConfig, script as default };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const props: {
|
|
2
|
+
data: {
|
|
3
|
+
type: import("vue").PropType<Record<string, any>>;
|
|
4
|
+
default: () => {};
|
|
5
|
+
};
|
|
6
|
+
formItems: {
|
|
7
|
+
type: import("vue").PropType<any[]>;
|
|
8
|
+
default: () => never[];
|
|
9
|
+
};
|
|
10
|
+
model: ObjectConstructor;
|
|
11
|
+
rules: {
|
|
12
|
+
readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
|
|
13
|
+
readonly required: false;
|
|
14
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
15
|
+
__epPropKey: true;
|
|
16
|
+
};
|
|
17
|
+
labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
18
|
+
labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
19
|
+
labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
20
|
+
inline: BooleanConstructor;
|
|
21
|
+
inlineMessage: BooleanConstructor;
|
|
22
|
+
statusIcon: BooleanConstructor;
|
|
23
|
+
showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
24
|
+
size: {
|
|
25
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
26
|
+
readonly required: false;
|
|
27
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
28
|
+
__epPropKey: true;
|
|
29
|
+
};
|
|
30
|
+
disabled: BooleanConstructor;
|
|
31
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
32
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
33
|
+
scrollToError: BooleanConstructor;
|
|
34
|
+
};
|
|
35
|
+
export declare const emits: {
|
|
36
|
+
setData: (e: import("../../../shared/types").SetDataEvent<any>) => import("../../../shared/types").SetDataEvent<any>;
|
|
37
|
+
validate: null;
|
|
38
|
+
};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { FormItemRendererSource } from '@vunk/form/shared/types';
|
|
2
|
+
import { FormItemRule } from 'element-plus';
|
|
3
|
+
declare const _default: import("vue").DefineComponent<{
|
|
4
|
+
data: {
|
|
5
|
+
type: import("vue").PropType<Record<string, any>>;
|
|
6
|
+
default: () => {};
|
|
7
|
+
};
|
|
8
|
+
formItems: {
|
|
9
|
+
type: import("vue").PropType<any[]>;
|
|
10
|
+
default: () => never[];
|
|
11
|
+
};
|
|
12
|
+
model: ObjectConstructor;
|
|
13
|
+
rules: {
|
|
14
|
+
readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<FormItemRule>>>>;
|
|
15
|
+
readonly required: false;
|
|
16
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
17
|
+
__epPropKey: true;
|
|
18
|
+
};
|
|
19
|
+
labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
20
|
+
labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
21
|
+
labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
22
|
+
inline: BooleanConstructor;
|
|
23
|
+
inlineMessage: BooleanConstructor;
|
|
24
|
+
statusIcon: BooleanConstructor;
|
|
25
|
+
showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
26
|
+
size: {
|
|
27
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
28
|
+
readonly required: false;
|
|
29
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
30
|
+
__epPropKey: true;
|
|
31
|
+
};
|
|
32
|
+
disabled: BooleanConstructor;
|
|
33
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
34
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
35
|
+
scrollToError: BooleanConstructor;
|
|
36
|
+
}, {
|
|
37
|
+
formItems: import("vue").ComputedRef<FormItemRendererSource<keyof FormItemRule>[]>;
|
|
38
|
+
bindProps: import("vue").ComputedRef<{
|
|
39
|
+
data: Record<string, any>;
|
|
40
|
+
model: Record<string, any> | undefined;
|
|
41
|
+
rules: Partial<Record<string, import("element-plus/es/utils").Arrayable<FormItemRule>>> | undefined;
|
|
42
|
+
labelPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
43
|
+
labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
44
|
+
labelSuffix: string;
|
|
45
|
+
inline: boolean;
|
|
46
|
+
inlineMessage: boolean;
|
|
47
|
+
statusIcon: boolean;
|
|
48
|
+
showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
49
|
+
size: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown> | undefined;
|
|
50
|
+
disabled: boolean;
|
|
51
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
52
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
53
|
+
scrollToError: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
onEmits: {
|
|
56
|
+
validate: ((event: "validate", ...args: any[]) => void) & ((event: "setData", e: import("@vunk/form/shared/types").SetDataEvent<any>) => void);
|
|
57
|
+
setData: ((event: "validate", ...args: any[]) => void) & ((event: "setData", e: import("@vunk/form/shared/types").SetDataEvent<any>) => void);
|
|
58
|
+
};
|
|
59
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
60
|
+
setData: (e: import("@vunk/form/shared/types").SetDataEvent<any>) => import("@vunk/form/shared/types").SetDataEvent<any>;
|
|
61
|
+
validate: null;
|
|
62
|
+
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
63
|
+
data: {
|
|
64
|
+
type: import("vue").PropType<Record<string, any>>;
|
|
65
|
+
default: () => {};
|
|
66
|
+
};
|
|
67
|
+
formItems: {
|
|
68
|
+
type: import("vue").PropType<any[]>;
|
|
69
|
+
default: () => never[];
|
|
70
|
+
};
|
|
71
|
+
model: ObjectConstructor;
|
|
72
|
+
rules: {
|
|
73
|
+
readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<FormItemRule>>>>;
|
|
74
|
+
readonly required: false;
|
|
75
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
76
|
+
__epPropKey: true;
|
|
77
|
+
};
|
|
78
|
+
labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
79
|
+
labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
80
|
+
labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
81
|
+
inline: BooleanConstructor;
|
|
82
|
+
inlineMessage: BooleanConstructor;
|
|
83
|
+
statusIcon: BooleanConstructor;
|
|
84
|
+
showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
85
|
+
size: {
|
|
86
|
+
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
87
|
+
readonly required: false;
|
|
88
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
89
|
+
__epPropKey: true;
|
|
90
|
+
};
|
|
91
|
+
disabled: BooleanConstructor;
|
|
92
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
93
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
94
|
+
scrollToError: BooleanConstructor;
|
|
95
|
+
}>> & {
|
|
96
|
+
onValidate?: ((...args: any[]) => any) | undefined;
|
|
97
|
+
onSetData?: ((e: import("@vunk/form/shared/types").SetDataEvent<any>) => any) | undefined;
|
|
98
|
+
}, {
|
|
99
|
+
data: Record<string, any>;
|
|
100
|
+
labelPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
101
|
+
labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
102
|
+
labelSuffix: string;
|
|
103
|
+
inline: boolean;
|
|
104
|
+
inlineMessage: boolean;
|
|
105
|
+
statusIcon: boolean;
|
|
106
|
+
showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
107
|
+
disabled: boolean;
|
|
108
|
+
validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
109
|
+
hideRequiredAsterisk: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
110
|
+
scrollToError: boolean;
|
|
111
|
+
formItems: any[];
|
|
112
|
+
}>;
|
|
113
|
+
export default _default;
|