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

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 (119) 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 +86 -0
  4. package/components/button/src/ctx.js +39 -0
  5. package/components/button/src/index.vue.d.ts +232 -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.css +38 -0
  9. package/components/checkbox/index.d.ts +4 -0
  10. package/components/checkbox/index.js +125 -0
  11. package/components/checkbox/src/ctx.d.ts +107 -0
  12. package/components/checkbox/src/ctx.js +43 -0
  13. package/components/checkbox/src/index.vue.d.ts +270 -0
  14. package/components/checkbox/src/types.d.ts +1 -0
  15. package/components/checkbox/src/types.js +1 -0
  16. package/components/color-picker/index.d.ts +4 -0
  17. package/components/color-picker/index.js +72 -0
  18. package/components/color-picker/src/ctx.d.ts +74 -0
  19. package/components/color-picker/src/ctx.js +23 -0
  20. package/components/color-picker/src/index.vue.d.ts +196 -0
  21. package/components/color-picker/src/types.d.ts +1 -0
  22. package/components/color-picker/src/types.js +1 -0
  23. package/components/date-picker/index.js +11 -5
  24. package/components/date-picker/src/ctx.d.ts +64 -57
  25. package/components/date-picker/src/ctx.js +1 -1
  26. package/components/date-picker/src/index.vue.d.ts +170 -140
  27. package/components/date-picker/src/types.d.ts +7 -7
  28. package/components/form/index.js +23 -7
  29. package/components/form/src/ctx.d.ts +83 -77
  30. package/components/form/src/ctx.js +5 -2
  31. package/components/form/src/index.vue.d.ts +238 -229
  32. package/components/form-item/index.css +4 -0
  33. package/components/form-item/index.js +19 -3
  34. package/components/form-item/src/ctx.d.ts +15 -7
  35. package/components/form-item/src/ctx.js +8 -0
  36. package/components/form-item/src/index.vue.d.ts +43 -13
  37. package/components/form-item-renderer/index.js +15 -1
  38. package/components/form-item-renderer/src/ctx.d.ts +3 -3
  39. package/components/form-item-renderer/src/index.vue.d.ts +9 -9
  40. package/components/form-item-renderer/src/types.d.ts +2 -0
  41. package/components/form-item-renderer-template/src/index.vue.d.ts +1 -1
  42. package/components/form-item-renderer-template-default/index.js +112 -19
  43. package/components/form-item-renderer-template-default/src/index.vue.d.ts +6 -6
  44. package/components/form-item-renderer-template-layout/index.js +22 -13
  45. package/components/form-item-renderer-template-layout/src/ctx.d.ts +3 -2
  46. package/components/form-item-renderer-template-layout/src/ctx.js +1 -1
  47. package/components/form-item-renderer-template-layout/src/index.vue.d.ts +18 -6
  48. package/components/input/index.js +23 -4
  49. package/components/input/src/ctx.d.ts +80 -48
  50. package/components/input/src/ctx.js +13 -1
  51. package/components/input/src/index.vue.d.ts +194 -115
  52. package/components/input-number/index.css +14 -0
  53. package/components/input-number/index.d.ts +4 -0
  54. package/components/input-number/index.js +76 -0
  55. package/components/input-number/src/ctx.d.ts +79 -0
  56. package/components/input-number/src/ctx.js +23 -0
  57. package/components/input-number/src/index.vue.d.ts +218 -0
  58. package/components/input-number/src/types.d.ts +1 -0
  59. package/components/input-number/src/types.js +1 -0
  60. package/components/radio/index.css +29 -0
  61. package/components/radio/index.d.ts +4 -0
  62. package/components/radio/index.js +116 -0
  63. package/components/radio/src/ctx.d.ts +74 -0
  64. package/components/radio/src/ctx.js +35 -0
  65. package/components/radio/src/index.vue.d.ts +199 -0
  66. package/components/radio/src/types.d.ts +1 -0
  67. package/components/radio/src/types.js +1 -0
  68. package/components/select/index.css +11 -0
  69. package/components/select/index.js +22 -5
  70. package/components/select/src/ctx.d.ts +33 -25
  71. package/components/select/src/index.vue.d.ts +170 -102
  72. package/components/switch/index.css +11 -0
  73. package/components/switch/index.js +41 -13
  74. package/components/switch/src/ctx.d.ts +36 -9
  75. package/components/switch/src/ctx.js +15 -2
  76. package/components/switch/src/index.vue.d.ts +128 -32
  77. package/components/upload/index.css +20 -0
  78. package/components/upload/index.d.ts +4 -0
  79. package/components/upload/index.js +481 -0
  80. package/components/upload/src/ctx.d.ts +168 -0
  81. package/components/upload/src/ctx.js +38 -0
  82. package/components/upload/src/file.vue.d.ts +96 -0
  83. package/components/upload/src/index.vue.d.ts +422 -0
  84. package/components/upload/src/types.d.ts +1 -0
  85. package/components/upload/src/types.js +1 -0
  86. package/composables/index.d.ts +1 -0
  87. package/composables/index.js +304 -3
  88. package/composables/useForm.d.ts +9 -0
  89. package/index.css +134 -0
  90. package/index.d.ts +1 -0
  91. package/index.esm.js +4 -1
  92. package/package.json +4 -1
  93. package/shared/default-renderer-source/index.d.ts +12 -0
  94. package/shared/default-renderer-source/index.js +83 -0
  95. package/shared/element-plus/ctx.d.ts +76 -11
  96. package/shared/element-plus/index.js +51 -2
  97. package/shared/element-plus/instances.d.ts +56 -26
  98. package/shared/infer-prop/index.d.ts +16 -0
  99. package/shared/infer-prop/index.js +29 -0
  100. package/shared/types/basic-source/index.d.ts +6 -0
  101. package/shared/types/basic-source/index.js +1 -0
  102. package/shared/types/form/checkbox.d.ts +13 -0
  103. package/shared/types/form/index.d.ts +2 -0
  104. package/shared/types/form/index.js +1 -0
  105. package/shared/types/form/radio.d.ts +8 -0
  106. package/shared/types/index.d.ts +1 -0
  107. package/shared/types/layout-source/index.d.ts +6 -4
  108. package/shared/types/renderer-source/button.d.ts +7 -0
  109. package/shared/types/renderer-source/checkbox.d.ts +7 -0
  110. package/shared/types/renderer-source/color-picker.d.ts +7 -0
  111. package/shared/types/renderer-source/compoent.d.ts +2 -0
  112. package/shared/types/renderer-source/date-picker.d.ts +3 -2
  113. package/shared/types/renderer-source/index.d.ts +13 -1
  114. package/shared/types/renderer-source/input-number.d.ts +8 -0
  115. package/shared/types/renderer-source/input.d.ts +3 -2
  116. package/shared/types/renderer-source/radio.d.ts +7 -0
  117. package/shared/types/renderer-source/select.d.ts +3 -2
  118. package/shared/types/renderer-source/switch.d.ts +3 -2
  119. 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
+ }
@@ -2,6 +2,7 @@ import { formItemProps, ElFormItem } from 'element-plus';
2
2
  import { bindPropsFactory } from '@vunk/core/shared/utils-vue';
3
3
  import { defineComponent, resolveComponent, openBlock, createBlock, mergeProps, createSlots, withCtx, renderSlot, renderList, resolveDynamicComponent } from 'vue';
4
4
  import { createFormItemBindProps } from '@vunk/form/shared/element-plus';
5
+ import { useComputedReadonly } from '@vunk/form/composables';
5
6
 
6
7
  var __defProp = Object.defineProperty;
7
8
  var __defProps = Object.defineProperties;
@@ -34,6 +35,14 @@ const _props = __spreadProps(__spreadValues({}, formItemProps), {
34
35
  elRef: {
35
36
  type: Function,
36
37
  required: false
38
+ },
39
+ inline: {
40
+ type: Boolean,
41
+ default: false
42
+ },
43
+ readonly: {
44
+ type: Boolean,
45
+ default: void 0
37
46
  }
38
47
  });
39
48
  Reflect.deleteProperty(_props, "size");
@@ -54,15 +63,22 @@ var script = defineComponent({
54
63
  props,
55
64
  setup(props2) {
56
65
  const formItemBindProps = createFormItemBindProps(props2);
66
+ const readonly = useComputedReadonly(props2);
57
67
  return {
58
- formItemBindProps
68
+ formItemBindProps,
69
+ readonly
59
70
  };
60
71
  }
61
72
  });
62
73
 
63
74
  function render(_ctx, _cache, $props, $setup, $data, $options) {
64
75
  const _component_ElFormItem = resolveComponent("ElFormItem");
65
- return openBlock(), createBlock(_component_ElFormItem, mergeProps(_ctx.formItemBindProps, {
76
+ return openBlock(), createBlock(_component_ElFormItem, mergeProps({
77
+ class: {
78
+ "is-readonly": _ctx.readonly,
79
+ "vkf-form-item--inline": _ctx.inline
80
+ }
81
+ }, _ctx.formItemBindProps, {
66
82
  size: _ctx.formItemSize,
67
83
  ref: _ctx.elRef
68
84
  }), createSlots({
@@ -79,7 +95,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
79
95
  ])
80
96
  };
81
97
  })
82
- ]), 1040, ["size"]);
98
+ ]), 1040, ["class", "size"]);
83
99
  }
84
100
 
85
101
  script.render = render;
@@ -7,32 +7,40 @@ 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
+ };
20
+ readonly: {
21
+ type: BooleanConstructor;
22
+ default: undefined;
23
+ };
16
24
  label: StringConstructor;
17
25
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
18
26
  prop: {
19
27
  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
28
  readonly required: false;
21
- readonly validator: (val: unknown) => boolean;
29
+ readonly validator: ((val: unknown) => boolean) | undefined;
22
30
  __epPropKey: true;
23
31
  };
24
32
  required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
25
33
  rules: {
26
- readonly type: PropType<unknown>;
34
+ 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
35
  readonly required: false;
28
- readonly validator: (val: unknown) => boolean;
36
+ readonly validator: ((val: unknown) => boolean) | undefined;
29
37
  __epPropKey: true;
30
38
  };
31
39
  error: StringConstructor;
32
40
  validateStatus: {
33
41
  readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
34
42
  readonly required: false;
35
- readonly validator: (val: unknown) => boolean;
43
+ readonly validator: ((val: unknown) => boolean) | undefined;
36
44
  __epPropKey: true;
37
45
  };
38
46
  for: StringConstructor;
@@ -41,8 +49,8 @@ export declare const props: Omit<{
41
49
  size: {
42
50
  readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
43
51
  readonly required: false;
44
- readonly validator: (val: unknown) => boolean;
52
+ readonly validator: ((val: unknown) => boolean) | undefined;
45
53
  __epPropKey: true;
46
54
  };
47
55
  }, "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]; }>;
56
+ 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> | Extract<"readonly", 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> | Exclude<Extract<"readonly", 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> | Extract<"readonly", 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> | Extract<"readonly", keyof T2>]: T2[k]; }[P]; }>;
@@ -32,6 +32,14 @@ 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
39
+ },
40
+ readonly: {
41
+ type: Boolean,
42
+ default: void 0
35
43
  }
36
44
  });
37
45
  Reflect.deleteProperty(_props, "size");
@@ -5,32 +5,40 @@ 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
+ };
18
+ readonly: {
19
+ type: BooleanConstructor;
20
+ default: undefined;
21
+ };
14
22
  label: StringConstructor;
15
23
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
16
24
  prop: {
17
25
  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
26
  readonly required: false;
19
- readonly validator: (val: unknown) => boolean;
27
+ readonly validator: ((val: unknown) => boolean) | undefined;
20
28
  __epPropKey: true;
21
29
  };
22
30
  required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
23
31
  rules: {
24
- readonly type: import("vue").PropType<unknown>;
32
+ 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
33
  readonly required: false;
26
- readonly validator: (val: unknown) => boolean;
34
+ readonly validator: ((val: unknown) => boolean) | undefined;
27
35
  __epPropKey: true;
28
36
  };
29
37
  error: StringConstructor;
30
38
  validateStatus: {
31
39
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
32
40
  readonly required: false;
33
- readonly validator: (val: unknown) => boolean;
41
+ readonly validator: ((val: unknown) => boolean) | undefined;
34
42
  __epPropKey: true;
35
43
  };
36
44
  for: StringConstructor;
@@ -39,11 +47,23 @@ declare const _default: import("vue").DefineComponent<Omit<{
39
47
  size: {
40
48
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
41
49
  readonly required: false;
42
- readonly validator: (val: unknown) => boolean;
50
+ readonly validator: ((val: unknown) => boolean) | undefined;
43
51
  __epPropKey: true;
44
52
  };
45
53
  }, "size">, {
46
- formItemBindProps: import("vue").ComputedRef<{}>;
54
+ formItemBindProps: import("vue").ComputedRef<{
55
+ required: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
56
+ label: string | undefined;
57
+ labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
58
+ 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;
59
+ 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;
60
+ error: string | undefined;
61
+ validateStatus: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown> | undefined;
62
+ for: string | undefined;
63
+ inlineMessage: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
64
+ showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
65
+ }>;
66
+ readonly: import("vue").ComputedRef<boolean>;
47
67
  }, 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
68
  formItemSize: {
49
69
  type: import("vue").PropType<"default" | "small" | "large">;
@@ -51,32 +71,40 @@ declare const _default: import("vue").DefineComponent<Omit<{
51
71
  };
52
72
  formItemSlots: {
53
73
  type: import("vue").PropType<import("./types").FormItemSlots>;
54
- default: any;
74
+ default: undefined;
55
75
  };
56
76
  elRef: {
57
77
  type: import("vue").PropType<any>;
58
78
  required: boolean;
59
79
  };
80
+ inline: {
81
+ type: BooleanConstructor;
82
+ default: boolean;
83
+ };
84
+ readonly: {
85
+ type: BooleanConstructor;
86
+ default: undefined;
87
+ };
60
88
  label: StringConstructor;
61
89
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
62
90
  prop: {
63
91
  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
92
  readonly required: false;
65
- readonly validator: (val: unknown) => boolean;
93
+ readonly validator: ((val: unknown) => boolean) | undefined;
66
94
  __epPropKey: true;
67
95
  };
68
96
  required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
69
97
  rules: {
70
- readonly type: import("vue").PropType<unknown>;
98
+ 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
99
  readonly required: false;
72
- readonly validator: (val: unknown) => boolean;
100
+ readonly validator: ((val: unknown) => boolean) | undefined;
73
101
  __epPropKey: true;
74
102
  };
75
103
  error: StringConstructor;
76
104
  validateStatus: {
77
105
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
78
106
  readonly required: false;
79
- readonly validator: (val: unknown) => boolean;
107
+ readonly validator: ((val: unknown) => boolean) | undefined;
80
108
  __epPropKey: true;
81
109
  };
82
110
  for: StringConstructor;
@@ -85,7 +113,7 @@ declare const _default: import("vue").DefineComponent<Omit<{
85
113
  size: {
86
114
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
87
115
  readonly required: false;
88
- readonly validator: (val: unknown) => boolean;
116
+ readonly validator: ((val: unknown) => boolean) | undefined;
89
117
  __epPropKey: true;
90
118
  };
91
119
  }, "size">>>, {
@@ -95,5 +123,7 @@ declare const _default: import("vue").DefineComponent<Omit<{
95
123
  showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
96
124
  formItemSize: "default" | "small" | "large";
97
125
  formItemSlots: import("./types").FormItemSlots;
126
+ inline: boolean;
127
+ readonly: boolean;
98
128
  }>;
99
129
  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;