@vunk/form 0.0.1-alpha.2 → 0.0.1-alpha.20

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 (106) hide show
  1. package/components/button/index.d.ts +4 -0
  2. package/components/button/index.js +121 -0
  3. package/components/button/src/ctx.d.ts +82 -0
  4. package/components/button/src/ctx.js +39 -0
  5. package/components/button/src/index.vue.d.ts +222 -0
  6. package/components/button/src/types.d.ts +7 -0
  7. package/components/button/src/types.js +1 -0
  8. package/components/checkbox/index.d.ts +4 -0
  9. package/components/checkbox/index.js +116 -0
  10. package/components/checkbox/src/ctx.d.ts +103 -0
  11. package/components/checkbox/src/ctx.js +43 -0
  12. package/components/checkbox/src/index.vue.d.ts +260 -0
  13. package/components/checkbox/src/types.d.ts +1 -0
  14. package/components/checkbox/src/types.js +1 -0
  15. package/components/color-picker/index.d.ts +4 -0
  16. package/components/color-picker/index.js +72 -0
  17. package/components/color-picker/src/ctx.d.ts +70 -0
  18. package/components/color-picker/src/ctx.js +23 -0
  19. package/components/color-picker/src/index.vue.d.ts +186 -0
  20. package/components/color-picker/src/types.d.ts +1 -0
  21. package/components/color-picker/src/types.js +1 -0
  22. package/components/date-picker/src/ctx.d.ts +28 -24
  23. package/components/date-picker/src/index.vue.d.ts +113 -89
  24. package/components/date-picker/src/types.d.ts +7 -7
  25. package/components/form/index.js +10 -3
  26. package/components/form/src/ctx.d.ts +80 -77
  27. package/components/form/src/index.vue.d.ts +231 -229
  28. package/components/form-item/index.css +4 -0
  29. package/components/form-item/index.js +10 -2
  30. package/components/form-item/src/ctx.d.ts +11 -7
  31. package/components/form-item/src/ctx.js +4 -0
  32. package/components/form-item/src/index.vue.d.ts +33 -13
  33. package/components/form-item-renderer/index.js +15 -1
  34. package/components/form-item-renderer/src/ctx.d.ts +3 -3
  35. package/components/form-item-renderer/src/index.vue.d.ts +9 -9
  36. package/components/form-item-renderer/src/types.d.ts +2 -0
  37. package/components/form-item-renderer-template/src/index.vue.d.ts +1 -1
  38. package/components/form-item-renderer-template-default/index.js +112 -19
  39. package/components/form-item-renderer-template-default/src/index.vue.d.ts +6 -6
  40. package/components/form-item-renderer-template-layout/index.js +22 -13
  41. package/components/form-item-renderer-template-layout/src/ctx.d.ts +3 -2
  42. package/components/form-item-renderer-template-layout/src/ctx.js +1 -1
  43. package/components/form-item-renderer-template-layout/src/index.vue.d.ts +18 -6
  44. package/components/input/index.js +18 -2
  45. package/components/input/src/ctx.d.ts +44 -15
  46. package/components/input/src/ctx.js +12 -0
  47. package/components/input/src/index.vue.d.ts +133 -60
  48. package/components/input-number/index.d.ts +4 -0
  49. package/components/input-number/index.js +67 -0
  50. package/components/input-number/src/ctx.d.ts +75 -0
  51. package/components/input-number/src/ctx.js +23 -0
  52. package/components/input-number/src/index.vue.d.ts +208 -0
  53. package/components/input-number/src/types.d.ts +1 -0
  54. package/components/input-number/src/types.js +1 -0
  55. package/components/radio/index.d.ts +4 -0
  56. package/components/radio/index.js +107 -0
  57. package/components/radio/src/ctx.d.ts +70 -0
  58. package/components/radio/src/ctx.js +35 -0
  59. package/components/radio/src/index.vue.d.ts +189 -0
  60. package/components/radio/src/types.d.ts +1 -0
  61. package/components/radio/src/types.js +1 -0
  62. package/components/select/index.js +13 -4
  63. package/components/select/src/ctx.d.ts +29 -25
  64. package/components/select/src/index.vue.d.ts +176 -118
  65. package/components/switch/index.js +29 -12
  66. package/components/switch/src/ctx.d.ts +32 -9
  67. package/components/switch/src/ctx.js +15 -2
  68. package/components/switch/src/index.vue.d.ts +118 -32
  69. package/components/upload/index.css +10 -0
  70. package/components/upload/index.d.ts +4 -0
  71. package/components/upload/index.js +473 -0
  72. package/components/upload/src/ctx.d.ts +164 -0
  73. package/components/upload/src/ctx.js +38 -0
  74. package/components/upload/src/file.vue.d.ts +96 -0
  75. package/components/upload/src/index.vue.d.ts +412 -0
  76. package/components/upload/src/types.d.ts +1 -0
  77. package/components/upload/src/types.js +1 -0
  78. package/index.css +16 -0
  79. package/index.d.ts +1 -0
  80. package/index.esm.js +4 -1
  81. package/package.json +4 -1
  82. package/shared/default-renderer-source/index.d.ts +12 -0
  83. package/shared/default-renderer-source/index.js +83 -0
  84. package/shared/element-plus/ctx.d.ts +76 -11
  85. package/shared/element-plus/index.js +51 -2
  86. package/shared/element-plus/instances.d.ts +56 -26
  87. package/shared/types/basic-source/index.d.ts +6 -0
  88. package/shared/types/basic-source/index.js +1 -0
  89. package/shared/types/form/checkbox.d.ts +13 -0
  90. package/shared/types/form/index.d.ts +2 -0
  91. package/shared/types/form/index.js +1 -0
  92. package/shared/types/form/radio.d.ts +8 -0
  93. package/shared/types/index.d.ts +1 -0
  94. package/shared/types/layout-source/index.d.ts +6 -4
  95. package/shared/types/renderer-source/button.d.ts +7 -0
  96. package/shared/types/renderer-source/checkbox.d.ts +7 -0
  97. package/shared/types/renderer-source/color-picker.d.ts +7 -0
  98. package/shared/types/renderer-source/compoent.d.ts +2 -0
  99. package/shared/types/renderer-source/date-picker.d.ts +3 -2
  100. package/shared/types/renderer-source/index.d.ts +13 -1
  101. package/shared/types/renderer-source/input-number.d.ts +8 -0
  102. package/shared/types/renderer-source/input.d.ts +3 -2
  103. package/shared/types/renderer-source/radio.d.ts +7 -0
  104. package/shared/types/renderer-source/select.d.ts +3 -2
  105. package/shared/types/renderer-source/switch.d.ts +3 -2
  106. package/shared/types/renderer-source/upload.d.ts +7 -0
@@ -0,0 +1,4 @@
1
+
2
+ .vkf-form-item--inline{
3
+ display: inline-flex;
4
+ }
@@ -34,6 +34,10 @@ const _props = __spreadProps(__spreadValues({}, formItemProps), {
34
34
  elRef: {
35
35
  type: Function,
36
36
  required: false
37
+ },
38
+ inline: {
39
+ type: Boolean,
40
+ default: false
37
41
  }
38
42
  });
39
43
  Reflect.deleteProperty(_props, "size");
@@ -62,7 +66,11 @@ var script = defineComponent({
62
66
 
63
67
  function render(_ctx, _cache, $props, $setup, $data, $options) {
64
68
  const _component_ElFormItem = resolveComponent("ElFormItem");
65
- return openBlock(), createBlock(_component_ElFormItem, mergeProps(_ctx.formItemBindProps, {
69
+ return openBlock(), createBlock(_component_ElFormItem, mergeProps({
70
+ class: {
71
+ "vkf-form-item--inline": _ctx.inline
72
+ }
73
+ }, _ctx.formItemBindProps, {
66
74
  size: _ctx.formItemSize,
67
75
  ref: _ctx.elRef
68
76
  }), createSlots({
@@ -79,7 +87,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
79
87
  ])
80
88
  };
81
89
  })
82
- ]), 1040, ["size"]);
90
+ ]), 1040, ["class", "size"]);
83
91
  }
84
92
 
85
93
  script.render = render;
@@ -7,32 +7,36 @@ export declare const props: Omit<{
7
7
  };
8
8
  formItemSlots: {
9
9
  type: PropType<FormItemSlots>;
10
- default: any;
10
+ default: undefined;
11
11
  };
12
12
  elRef: {
13
13
  type: PropType<any>;
14
14
  required: boolean;
15
15
  };
16
+ inline: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
16
20
  label: StringConstructor;
17
21
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
18
22
  prop: {
19
23
  readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
20
24
  readonly required: false;
21
- readonly validator: (val: unknown) => boolean;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
22
26
  __epPropKey: true;
23
27
  };
24
28
  required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
25
29
  rules: {
26
- readonly type: PropType<unknown>;
30
+ readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
27
31
  readonly required: false;
28
- readonly validator: (val: unknown) => boolean;
32
+ readonly validator: ((val: unknown) => boolean) | undefined;
29
33
  __epPropKey: true;
30
34
  };
31
35
  error: StringConstructor;
32
36
  validateStatus: {
33
37
  readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
34
38
  readonly required: false;
35
- readonly validator: (val: unknown) => boolean;
39
+ readonly validator: ((val: unknown) => boolean) | undefined;
36
40
  __epPropKey: true;
37
41
  };
38
42
  for: StringConstructor;
@@ -41,8 +45,8 @@ export declare const props: Omit<{
41
45
  size: {
42
46
  readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
43
47
  readonly required: false;
44
- readonly validator: (val: unknown) => boolean;
48
+ readonly validator: ((val: unknown) => boolean) | undefined;
45
49
  __epPropKey: true;
46
50
  };
47
51
  }, "size">;
48
- export declare const createBindProps: <T2 extends Record<string, any>, EX extends ("required" | "label" | "labelWidth" | "prop" | "rules" | "error" | "validateStatus" | "for" | "inlineMessage" | "showMessage" | "formItemSize" | "formItemSlots" | "elRef")[], K extends Extract<EX extends (infer V)[] ? Exclude<keyof T2, V> : keyof T2, "required" | "label" | "labelWidth" | "prop" | "rules" | "error" | "validateStatus" | "for" | "inlineMessage" | "showMessage" | "formItemSize" | "formItemSlots" | "elRef">>(propsArg: T2, excludes?: EX) => import("vue").ComputedRef<{ [k in K]: T2[k]; }>;
52
+ export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2>)[] | undefined>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"required", keyof T2>, KE> | Exclude<Extract<"label", keyof T2>, KE> | Exclude<Extract<"labelWidth", keyof T2>, KE> | Exclude<Extract<"prop", keyof T2>, KE> | Exclude<Extract<"rules", keyof T2>, KE> | Exclude<Extract<"error", keyof T2>, KE> | Exclude<Extract<"validateStatus", keyof T2>, KE> | Exclude<Extract<"for", keyof T2>, KE> | Exclude<Extract<"inlineMessage", keyof T2>, KE> | Exclude<Extract<"showMessage", keyof T2>, KE> | Exclude<Extract<"formItemSize", keyof T2>, KE> | Exclude<Extract<"formItemSlots", keyof T2>, KE> | Exclude<Extract<"elRef", keyof T2>, KE> | Exclude<Extract<"inline", keyof T2>, KE> : Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2>]: { [k in Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2>]: T2[k]; }[P]; }>;
@@ -32,6 +32,10 @@ const _props = __spreadProps(__spreadValues({}, formItemProps), {
32
32
  elRef: {
33
33
  type: Function,
34
34
  required: false
35
+ },
36
+ inline: {
37
+ type: Boolean,
38
+ default: false
35
39
  }
36
40
  });
37
41
  Reflect.deleteProperty(_props, "size");
@@ -5,32 +5,36 @@ declare const _default: import("vue").DefineComponent<Omit<{
5
5
  };
6
6
  formItemSlots: {
7
7
  type: import("vue").PropType<import("./types").FormItemSlots>;
8
- default: any;
8
+ default: undefined;
9
9
  };
10
10
  elRef: {
11
11
  type: import("vue").PropType<any>;
12
12
  required: boolean;
13
13
  };
14
+ inline: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
14
18
  label: StringConstructor;
15
19
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
16
20
  prop: {
17
21
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
18
22
  readonly required: false;
19
- readonly validator: (val: unknown) => boolean;
23
+ readonly validator: ((val: unknown) => boolean) | undefined;
20
24
  __epPropKey: true;
21
25
  };
22
26
  required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
23
27
  rules: {
24
- readonly type: import("vue").PropType<unknown>;
28
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
25
29
  readonly required: false;
26
- readonly validator: (val: unknown) => boolean;
30
+ readonly validator: ((val: unknown) => boolean) | undefined;
27
31
  __epPropKey: true;
28
32
  };
29
33
  error: StringConstructor;
30
34
  validateStatus: {
31
35
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
32
36
  readonly required: false;
33
- readonly validator: (val: unknown) => boolean;
37
+ readonly validator: ((val: unknown) => boolean) | undefined;
34
38
  __epPropKey: true;
35
39
  };
36
40
  for: StringConstructor;
@@ -39,11 +43,22 @@ declare const _default: import("vue").DefineComponent<Omit<{
39
43
  size: {
40
44
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
41
45
  readonly required: false;
42
- readonly validator: (val: unknown) => boolean;
46
+ readonly validator: ((val: unknown) => boolean) | undefined;
43
47
  __epPropKey: true;
44
48
  };
45
49
  }, "size">, {
46
- formItemBindProps: import("vue").ComputedRef<{}>;
50
+ formItemBindProps: import("vue").ComputedRef<{
51
+ required: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
52
+ label: string | undefined;
53
+ labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
54
+ prop: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown> | undefined;
55
+ rules: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown> | undefined;
56
+ error: string | undefined;
57
+ validateStatus: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown> | undefined;
58
+ for: string | undefined;
59
+ inlineMessage: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
60
+ showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
61
+ }>;
47
62
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Omit<{
48
63
  formItemSize: {
49
64
  type: import("vue").PropType<"default" | "small" | "large">;
@@ -51,32 +66,36 @@ declare const _default: import("vue").DefineComponent<Omit<{
51
66
  };
52
67
  formItemSlots: {
53
68
  type: import("vue").PropType<import("./types").FormItemSlots>;
54
- default: any;
69
+ default: undefined;
55
70
  };
56
71
  elRef: {
57
72
  type: import("vue").PropType<any>;
58
73
  required: boolean;
59
74
  };
75
+ inline: {
76
+ type: BooleanConstructor;
77
+ default: boolean;
78
+ };
60
79
  label: StringConstructor;
61
80
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
62
81
  prop: {
63
82
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
64
83
  readonly required: false;
65
- readonly validator: (val: unknown) => boolean;
84
+ readonly validator: ((val: unknown) => boolean) | undefined;
66
85
  __epPropKey: true;
67
86
  };
68
87
  required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
69
88
  rules: {
70
- readonly type: import("vue").PropType<unknown>;
89
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
71
90
  readonly required: false;
72
- readonly validator: (val: unknown) => boolean;
91
+ readonly validator: ((val: unknown) => boolean) | undefined;
73
92
  __epPropKey: true;
74
93
  };
75
94
  error: StringConstructor;
76
95
  validateStatus: {
77
96
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
78
97
  readonly required: false;
79
- readonly validator: (val: unknown) => boolean;
98
+ readonly validator: ((val: unknown) => boolean) | undefined;
80
99
  __epPropKey: true;
81
100
  };
82
101
  for: StringConstructor;
@@ -85,7 +104,7 @@ declare const _default: import("vue").DefineComponent<Omit<{
85
104
  size: {
86
105
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
87
106
  readonly required: false;
88
- readonly validator: (val: unknown) => boolean;
107
+ readonly validator: ((val: unknown) => boolean) | undefined;
89
108
  __epPropKey: true;
90
109
  };
91
110
  }, "size">>>, {
@@ -95,5 +114,6 @@ declare const _default: import("vue").DefineComponent<Omit<{
95
114
  showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
96
115
  formItemSize: "default" | "small" | "large";
97
116
  formItemSlots: import("./types").FormItemSlots;
117
+ inline: boolean;
98
118
  }>;
99
119
  export default _default;
@@ -65,11 +65,25 @@ const VkfFormItemRenderer = defineComponent({
65
65
  const slotData = __spreadValues({}, c);
66
66
  Reflect.deleteProperty(slotData, "templateType");
67
67
  Reflect.deleteProperty(slotData, "templateSlots");
68
+ Reflect.deleteProperty(slotData, "templateIf");
69
+ const createTemplateIf = () => {
70
+ if (typeof c.templateIf === "boolean") {
71
+ const flag = c.templateIf;
72
+ return () => flag;
73
+ } else if (typeof c.templateIf === "string") {
74
+ const templateIf = new Function("data", c.templateIf);
75
+ return templateIf;
76
+ } else if (typeof c.templateIf === "function") {
77
+ return c.templateIf;
78
+ }
79
+ return () => true;
80
+ };
68
81
  const nodes = (_b = (_a2 = templateInstances[c.templateType].slots).default) == null ? void 0 : _b.call(_a2, {
69
82
  data: slotData,
70
83
  raw: c,
71
84
  Renderer,
72
- k: currentK
85
+ k: currentK,
86
+ templateIf: createTemplateIf()
73
87
  });
74
88
  nodes && a.push(nodes);
75
89
  } else if ((_c = c.templateSlots) == null ? void 0 : _c.default) {
@@ -3,14 +3,14 @@ import { RendererTreeData } from './types';
3
3
  export declare const props: {
4
4
  source: {
5
5
  type: PropType<RendererTreeData[]>;
6
- default: () => any[];
6
+ default: () => never[];
7
7
  };
8
8
  templateInstances: {
9
9
  type: PropType<Record<string, ComponentInternalInstance>>;
10
- default: any;
10
+ default: undefined;
11
11
  };
12
12
  k: {
13
13
  type: PropType<(string | number)[]>;
14
- default: () => any[];
14
+ default: () => never[];
15
15
  };
16
16
  };
@@ -3,36 +3,36 @@ import { RendererTreeData } from './types';
3
3
  declare const VkfFormItemRenderer: import("vue").DefineComponent<{
4
4
  source: {
5
5
  type: import("vue").PropType<RendererTreeData[]>;
6
- default: () => any[];
6
+ default: () => never[];
7
7
  };
8
8
  templateInstances: {
9
9
  type: import("vue").PropType<Record<string, ComponentInternalInstance>>;
10
- default: any;
10
+ default: undefined;
11
11
  };
12
12
  k: {
13
13
  type: import("vue").PropType<(string | number)[]>;
14
- default: () => any[];
14
+ default: () => never[];
15
15
  };
16
16
  }, () => (VNode<import("vue").RendererNode, import("vue").RendererElement, {
17
17
  [key: string]: any;
18
- }>[] | VNode<import("vue").RendererNode, import("vue").RendererElement, {
18
+ }>[] | (VNode<import("vue").RendererNode, import("vue").RendererElement, {
19
19
  [key: string]: any;
20
- }>[][])[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
+ }> | undefined)[][] | undefined)[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
21
21
  source: {
22
22
  type: import("vue").PropType<RendererTreeData[]>;
23
- default: () => any[];
23
+ default: () => never[];
24
24
  };
25
25
  templateInstances: {
26
26
  type: import("vue").PropType<Record<string, ComponentInternalInstance>>;
27
- default: any;
27
+ default: undefined;
28
28
  };
29
29
  k: {
30
30
  type: import("vue").PropType<(string | number)[]>;
31
- default: () => any[];
31
+ default: () => never[];
32
32
  };
33
33
  }>>, {
34
- templateInstances: Record<string, ComponentInternalInstance>;
35
34
  source: RendererTreeData[];
35
+ templateInstances: Record<string, ComponentInternalInstance>;
36
36
  k: (string | number)[];
37
37
  }>;
38
38
  export default VkfFormItemRenderer;
@@ -1,5 +1,7 @@
1
+ import { NormalObject } from '@vunk/core';
1
2
  export interface RendererTreeData {
2
3
  templateType?: string;
3
4
  templateSlots?: any;
5
+ templateIf?: string | ((e: NormalObject) => boolean) | boolean;
4
6
  [k: string]: any;
5
7
  }
@@ -4,7 +4,7 @@ declare const _default: import("vue").DefineComponent<{
4
4
  required: boolean;
5
5
  default: string;
6
6
  };
7
- }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
7
+ }, () => null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
8
  type: {
9
9
  type: StringConstructor;
10
10
  required: boolean;
@@ -1,11 +1,17 @@
1
- import { defineComponent, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, mergeProps, createBlock, resolveDynamicComponent, normalizeProps, guardReactiveProps } from 'vue';
1
+ import { defineComponent, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, createBlock, normalizeProps, mergeProps, createCommentVNode, resolveDynamicComponent } from 'vue';
2
2
  import { VkfFormItemRendererTemplate } from '@vunk/form/components/form-item-renderer-template';
3
3
  import { VkfInput } from '@vunk/form/components/input';
4
4
  import { VkfSwitch } from '@vunk/form/components/switch';
5
5
  import { VkfSelect } from '@vunk/form/components/select';
6
6
  import { VkfDatePicker } from '@vunk/form/components/date-picker';
7
7
  import { getValue } from '@vunk/core/shared/helper';
8
- import { pinkObject } from '@vunk/core/shared/utils-object';
8
+ import { pickObject } from '@vunk/core/shared/utils-object';
9
+ import { VkfInputNumber } from '@vunk/form/components/input-number';
10
+ import { VkfRadio } from '@vunk/form/components/radio';
11
+ import { VkfCheckbox } from '@vunk/form/components/checkbox';
12
+ import { VkfUpload } from '@vunk/form/components/upload';
13
+ import { VkfColorPicker } from '@vunk/form/components/color-picker';
14
+ import { VkfButton } from '@vunk/form/components/button';
9
15
 
10
16
  const props = {
11
17
  data: {
@@ -24,76 +30,163 @@ var script = defineComponent({
24
30
  VkfInput,
25
31
  VkfSwitch,
26
32
  VkfSelect,
27
- VkfDatePicker
33
+ VkfDatePicker,
34
+ VkfInputNumber,
35
+ VkfRadio,
36
+ VkfCheckbox,
37
+ VkfUpload,
38
+ VkfColorPicker,
39
+ VkfButton
28
40
  },
29
41
  emits,
30
42
  props,
31
43
  setup() {
32
44
  return {
33
- pinkObject,
45
+ pickObject,
34
46
  getValue
35
47
  };
36
48
  }
37
49
  });
38
50
 
39
51
  function render(_ctx, _cache, $props, $setup, $data, $options) {
40
- const _component_VkfInput = resolveComponent("VkfInput");
52
+ const _component_VkfButton = resolveComponent("VkfButton");
41
53
  const _component_VkfFormItemRendererTemplate = resolveComponent("VkfFormItemRendererTemplate");
54
+ const _component_VkfColorPicker = resolveComponent("VkfColorPicker");
55
+ const _component_VkfUpload = resolveComponent("VkfUpload");
56
+ const _component_VkfCheckbox = resolveComponent("VkfCheckbox");
57
+ const _component_VkfRadio = resolveComponent("VkfRadio");
58
+ const _component_VkfInput = resolveComponent("VkfInput");
42
59
  const _component_VkfSwitch = resolveComponent("VkfSwitch");
43
60
  const _component_VkfSelect = resolveComponent("VkfSelect");
44
61
  const _component_VkfDatePicker = resolveComponent("VkfDatePicker");
62
+ const _component_VkfInputNumber = resolveComponent("VkfInputNumber");
45
63
  return openBlock(), createElementBlock(Fragment, null, [
64
+ createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfButton" }, {
65
+ default: withCtx(({ data: sourceData, templateIf }) => [
66
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfButton, normalizeProps(mergeProps({ key: 0 }, sourceData)), null, 16)) : createCommentVNode("v-if", true)
67
+ ]),
68
+ _: 1
69
+ }),
70
+ createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfColorPicker" }, {
71
+ default: withCtx(({ data: sourceData, templateIf }) => [
72
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfColorPicker, mergeProps({
73
+ key: 0,
74
+ modelValue: _ctx.getValue(_ctx.data, sourceData.prop),
75
+ "onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
76
+ k: sourceData.prop,
77
+ v: $event
78
+ })
79
+ }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("v-if", true)
80
+ ]),
81
+ _: 1
82
+ }),
83
+ createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfUpload" }, {
84
+ default: withCtx(({ data: sourceData, templateIf }) => [
85
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfUpload, mergeProps({
86
+ key: 0,
87
+ fileList: _ctx.getValue(_ctx.data, sourceData.prop),
88
+ "onUpdate:fileList": ($event) => _ctx.$emit("setData", {
89
+ k: sourceData.prop,
90
+ v: $event
91
+ })
92
+ }, sourceData), null, 16, ["fileList", "onUpdate:fileList"])) : createCommentVNode("v-if", true)
93
+ ]),
94
+ _: 1
95
+ }),
96
+ createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfCheckbox" }, {
97
+ default: withCtx(({ data: sourceData, templateIf }) => [
98
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfCheckbox, mergeProps({
99
+ key: 0,
100
+ modelValue: _ctx.getValue(_ctx.data, sourceData.prop),
101
+ "onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
102
+ k: sourceData.prop,
103
+ v: $event
104
+ })
105
+ }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("v-if", true)
106
+ ]),
107
+ _: 1
108
+ }),
109
+ createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfRadio" }, {
110
+ default: withCtx(({ data: sourceData, templateIf }) => [
111
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfRadio, mergeProps({
112
+ key: 0,
113
+ modelValue: _ctx.getValue(_ctx.data, sourceData.prop),
114
+ "onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
115
+ k: sourceData.prop,
116
+ v: $event
117
+ })
118
+ }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("v-if", true)
119
+ ]),
120
+ _: 1
121
+ }),
46
122
  createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfInput" }, {
47
- default: withCtx(({ data: sourceData }) => [
48
- createVNode(_component_VkfInput, mergeProps({
123
+ default: withCtx(({ data: sourceData, templateIf }) => [
124
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfInput, mergeProps({
125
+ key: 0,
49
126
  modelValue: _ctx.getValue(_ctx.data, sourceData.prop),
50
127
  "onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
51
128
  k: sourceData.prop,
52
129
  v: $event
53
130
  })
54
- }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])
131
+ }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("v-if", true)
55
132
  ]),
56
133
  _: 1
57
134
  }),
58
135
  createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfSwitch" }, {
59
- default: withCtx(({ data: sourceData }) => [
60
- createVNode(_component_VkfSwitch, mergeProps({
136
+ default: withCtx(({ data: sourceData, templateIf }) => [
137
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfSwitch, mergeProps({
138
+ key: 0,
61
139
  modelValue: _ctx.getValue(_ctx.data, sourceData.prop),
62
140
  "onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
63
141
  k: sourceData.prop,
64
142
  v: $event
65
143
  })
66
- }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])
144
+ }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("v-if", true)
67
145
  ]),
68
146
  _: 1
69
147
  }),
70
148
  createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfSelect" }, {
71
- default: withCtx(({ data: sourceData }) => [
72
- createVNode(_component_VkfSelect, mergeProps({
149
+ default: withCtx(({ data: sourceData, templateIf }) => [
150
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfSelect, mergeProps({
151
+ key: 0,
73
152
  modelValue: _ctx.getValue(_ctx.data, sourceData.prop),
74
153
  "onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
75
154
  k: sourceData.prop,
76
155
  v: $event
77
156
  })
78
- }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])
157
+ }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("v-if", true)
79
158
  ]),
80
159
  _: 1
81
160
  }),
82
161
  createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfDatePicker" }, {
83
- default: withCtx(({ data: sourceData }) => [
84
- createVNode(_component_VkfDatePicker, mergeProps({
162
+ default: withCtx(({ data: sourceData, templateIf }) => [
163
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfDatePicker, mergeProps({
164
+ key: 0,
165
+ modelValue: _ctx.getValue(_ctx.data, sourceData.prop),
166
+ "onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
167
+ k: sourceData.prop,
168
+ v: $event
169
+ })
170
+ }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("v-if", true)
171
+ ]),
172
+ _: 1
173
+ }),
174
+ createVNode(_component_VkfFormItemRendererTemplate, { type: "VkfInputNumber" }, {
175
+ default: withCtx(({ data: sourceData, templateIf }) => [
176
+ templateIf(_ctx.data) ? (openBlock(), createBlock(_component_VkfInputNumber, mergeProps({
177
+ key: 0,
85
178
  modelValue: _ctx.getValue(_ctx.data, sourceData.prop),
86
179
  "onUpdate:modelValue": ($event) => _ctx.$emit("setData", {
87
180
  k: sourceData.prop,
88
181
  v: $event
89
182
  })
90
- }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])
183
+ }, sourceData), null, 16, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("v-if", true)
91
184
  ]),
92
185
  _: 1
93
186
  }),
94
187
  createVNode(_component_VkfFormItemRendererTemplate, { type: "Component" }, {
95
- default: withCtx(({ data, raw }) => [
96
- (openBlock(), createBlock(resolveDynamicComponent(typeof data.is === "function" ? data.is(raw) : data.is), normalizeProps(guardReactiveProps(_ctx.pinkObject(data, { excludes: ["is"] }))), null, 16))
188
+ default: withCtx(({ data, raw, templateIf }) => [
189
+ templateIf(data) ? (openBlock(), createBlock(resolveDynamicComponent(typeof data.is === "function" ? data.is(raw) : data.is), normalizeProps(mergeProps({ key: 0 }, _ctx.pickObject(data, { excludes: ["is"] }))), null, 16)) : createCommentVNode("v-if", true)
97
190
  ]),
98
191
  _: 1
99
192
  })
@@ -4,10 +4,10 @@ declare const _default: import("vue").DefineComponent<{
4
4
  default: () => {};
5
5
  };
6
6
  }, {
7
- pinkObject: <T extends import("@vunk/core").NormalObject, EX extends (keyof T)[], KI extends keyof T>(data: T, opts?: {
8
- excludes?: EX;
9
- includes?: KI[];
10
- }) => { [P in EX extends (infer KE)[] ? Exclude<KI, KE> : KI]: T[P]; };
7
+ pickObject: <T extends import("@vunk/core").NormalObject, EX extends (keyof T)[] | undefined, KI extends keyof T>(data: T, opts?: {
8
+ excludes?: EX | undefined;
9
+ includes?: KI[] | undefined;
10
+ } | undefined) => { [P in EX extends (infer KE)[] ? Exclude<KI, KE> : KI]: T[P]; };
11
11
  getValue: (obj: any, k: string | number | any[]) => any;
12
12
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
13
  setData: (e: import("@vunk/core").SetDataEvent<any>) => import("@vunk/core").SetDataEvent<any>;
@@ -17,8 +17,8 @@ declare const _default: import("vue").DefineComponent<{
17
17
  default: () => {};
18
18
  };
19
19
  }>> & {
20
- onSetData?: (e: import("@vunk/core").SetDataEvent<any>) => any;
20
+ onSetData?: ((e: import("@vunk/core").SetDataEvent<any>) => any) | undefined;
21
21
  }, {
22
- data: {};
22
+ data: Record<string, any>;
23
23
  }>;
24
24
  export default _default;