@vunk/form 0.0.1-alpha.9 → 1.0.1

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 (161) hide show
  1. package/component.d.ts +1 -1
  2. package/components/button/index.d.ts +4 -0
  3. package/components/button/index.js +126 -0
  4. package/components/button/src/ctx.d.ts +92 -0
  5. package/components/button/src/ctx.js +39 -0
  6. package/components/button/src/index.vue.d.ts +245 -0
  7. package/components/button/src/types.d.ts +13 -0
  8. package/components/cascader/index.d.ts +4 -0
  9. package/components/cascader/index.js +114 -0
  10. package/components/cascader/src/ctx.d.ts +129 -0
  11. package/components/cascader/src/ctx.js +38 -0
  12. package/components/cascader/src/index.vue.d.ts +311 -0
  13. package/components/cascader/src/types.d.ts +7 -0
  14. package/components/checkbox/index.css +38 -0
  15. package/components/checkbox/index.d.ts +4 -0
  16. package/components/checkbox/index.js +127 -0
  17. package/components/checkbox/src/ctx.d.ts +82 -0
  18. package/components/checkbox/src/ctx.js +43 -0
  19. package/components/checkbox/src/index.vue.d.ts +213 -0
  20. package/components/checkbox/src/types.d.ts +8 -0
  21. package/components/color-picker/index.d.ts +4 -0
  22. package/components/color-picker/index.js +77 -0
  23. package/components/color-picker/src/ctx.d.ts +72 -0
  24. package/components/color-picker/src/ctx.js +23 -0
  25. package/components/color-picker/src/index.vue.d.ts +193 -0
  26. package/components/color-picker/src/types.d.ts +7 -0
  27. package/components/date-picker/index.js +26 -15
  28. package/components/date-picker/src/ctx.d.ts +64 -57
  29. package/components/date-picker/src/ctx.js +1 -1
  30. package/components/date-picker/src/index.vue.d.ts +176 -146
  31. package/components/date-picker/src/types.d.ts +14 -8
  32. package/components/form/index.d.ts +1 -0
  33. package/components/form/index.js +44 -19
  34. package/components/form/src/ctx.d.ts +147 -97
  35. package/components/form/src/ctx.js +5 -2
  36. package/components/form/src/index.vue.d.ts +424 -287
  37. package/components/form/src/types.d.ts +2 -0
  38. package/components/form/src/types.js +1 -0
  39. package/components/form-item/index.css +4 -0
  40. package/components/form-item/index.js +34 -13
  41. package/components/form-item/src/ctx.d.ts +15 -7
  42. package/components/form-item/src/ctx.js +8 -0
  43. package/components/form-item/src/index.vue.d.ts +44 -14
  44. package/components/form-item-renderer/index.js +34 -30
  45. package/components/form-item-renderer/src/ctx.d.ts +3 -3
  46. package/components/form-item-renderer/src/index.vue.d.ts +9 -9
  47. package/components/form-item-renderer/src/types.d.ts +2 -0
  48. package/components/form-item-renderer-template/index.js +13 -6
  49. package/components/form-item-renderer-template/src/index.vue.d.ts +1 -1
  50. package/components/input/index.js +29 -15
  51. package/components/input/src/ctx.d.ts +88 -49
  52. package/components/input/src/ctx.js +5 -1
  53. package/components/input/src/index.vue.d.ts +219 -129
  54. package/components/input/src/types.d.ts +7 -1
  55. package/components/input-link/index.css +5 -0
  56. package/components/input-link/index.d.ts +4 -0
  57. package/components/input-link/index.js +181 -0
  58. package/components/input-link/src/ctx.d.ts +143 -0
  59. package/components/input-link/src/ctx.js +46 -0
  60. package/components/input-link/src/index.vue.d.ts +373 -0
  61. package/components/input-link/src/types.d.ts +7 -0
  62. package/components/input-link/src/types.js +1 -0
  63. package/components/input-number/index.css +17 -0
  64. package/components/input-number/index.js +46 -14
  65. package/components/input-number/src/ctx.d.ts +22 -10
  66. package/components/input-number/src/ctx.js +13 -1
  67. package/components/input-number/src/index.vue.d.ts +92 -32
  68. package/components/input-number/src/types.d.ts +7 -0
  69. package/components/radio/index.css +29 -0
  70. package/components/radio/index.d.ts +4 -0
  71. package/components/radio/index.js +123 -0
  72. package/components/radio/src/ctx.d.ts +77 -0
  73. package/components/radio/src/ctx.js +39 -0
  74. package/components/radio/src/index.vue.d.ts +204 -0
  75. package/components/radio/src/types.d.ts +8 -0
  76. package/components/radio/src/types.js +1 -0
  77. package/components/select/index.css +11 -0
  78. package/components/select/index.js +75 -49
  79. package/components/select/src/ctx.d.ts +37 -25
  80. package/components/select/src/ctx.js +4 -0
  81. package/components/select/src/index.vue.d.ts +181 -104
  82. package/components/select/src/types.d.ts +7 -1
  83. package/components/switch/index.css +11 -0
  84. package/components/switch/index.js +40 -29
  85. package/components/switch/src/ctx.d.ts +41 -13
  86. package/components/switch/src/ctx.js +3 -4
  87. package/components/switch/src/index.vue.d.ts +123 -49
  88. package/components/switch/src/types.d.ts +7 -0
  89. package/components/templates-default/index.d.ts +4 -0
  90. package/components/templates-default/index.js +244 -0
  91. package/components/{form-item-renderer-template-default → templates-default}/src/index.vue.d.ts +7 -7
  92. package/components/templates-default/src/types.d.ts +31 -0
  93. package/components/templates-default/src/types.js +1 -0
  94. package/components/templates-element-plus/index.d.ts +4 -0
  95. package/components/templates-element-plus/index.js +80 -0
  96. package/components/{form-item-renderer-template-layout → templates-element-plus}/src/ctx.d.ts +3 -2
  97. package/components/{form-item-renderer-template-layout → templates-element-plus}/src/ctx.js +1 -1
  98. package/components/templates-element-plus/src/index.vue.d.ts +19 -0
  99. package/components/templates-element-plus/src/types.d.ts +13 -0
  100. package/components/templates-element-plus/src/types.js +1 -0
  101. package/components/templates-layout/index.css +5 -0
  102. package/components/templates-layout/index.d.ts +4 -0
  103. package/components/templates-layout/index.js +108 -0
  104. package/components/templates-layout/src/ctx.d.ts +9 -0
  105. package/components/templates-layout/src/ctx.js +9 -0
  106. package/components/templates-layout/src/index.vue.d.ts +19 -0
  107. package/{shared/types/layout-source/index.d.ts → components/templates-layout/src/types.d.ts} +5 -4
  108. package/components/templates-layout/src/types.js +1 -0
  109. package/components/upload/index.css +33 -0
  110. package/components/upload/index.d.ts +5 -0
  111. package/components/upload/index.js +606 -0
  112. package/components/upload/src/ctx.d.ts +168 -0
  113. package/components/upload/src/ctx.js +45 -0
  114. package/components/upload/src/file.vue.d.ts +96 -0
  115. package/components/upload/src/index.vue.d.ts +416 -0
  116. package/components/upload/src/types.d.ts +7 -0
  117. package/components/upload/src/types.js +1 -0
  118. package/composables/index.d.ts +1 -0
  119. package/composables/index.js +28 -6
  120. package/composables/useForm.d.ts +9 -0
  121. package/composables/useSourceManager.d.ts +2 -0
  122. package/index.css +156 -2
  123. package/index.d.ts +14 -1
  124. package/index.esm.js +16 -5
  125. package/package.json +4 -1
  126. package/shared/element-plus/ctx.d.ts +86 -13
  127. package/shared/element-plus/index.js +18156 -35
  128. package/shared/element-plus/instances.d.ts +97 -26
  129. package/shared/helper/index.d.ts +1 -0
  130. package/shared/infer-prop/index.d.ts +17 -0
  131. package/shared/infer-prop/index.js +34 -0
  132. package/shared/progress-it/index.d.ts +16 -0
  133. package/shared/progress-it/index.js +57 -0
  134. package/shared/types/form/checkbox.d.ts +13 -0
  135. package/shared/types/form/index.d.ts +2 -0
  136. package/shared/types/form/index.js +1 -0
  137. package/shared/types/form/radio.d.ts +8 -0
  138. package/shared/types/index.d.ts +1 -2
  139. package/shared/types/source/index.d.ts +12 -0
  140. package/shared/types/source/index.js +1 -0
  141. package/components/form-item-renderer-template-default/index.d.ts +0 -4
  142. package/components/form-item-renderer-template-default/index.js +0 -129
  143. package/components/form-item-renderer-template-default/src/types.d.ts +0 -1
  144. package/components/form-item-renderer-template-layout/index.css +0 -7
  145. package/components/form-item-renderer-template-layout/index.d.ts +0 -4
  146. package/components/form-item-renderer-template-layout/index.js +0 -91
  147. package/components/form-item-renderer-template-layout/src/index.vue.d.ts +0 -7
  148. package/components/form-item-renderer-template-layout/src/types.d.ts +0 -1
  149. package/shared/types/renderer-source/compoent.d.ts +0 -5
  150. package/shared/types/renderer-source/date-picker.d.ts +0 -7
  151. package/shared/types/renderer-source/index.d.ts +0 -13
  152. package/shared/types/renderer-source/input-number.d.ts +0 -7
  153. package/shared/types/renderer-source/input.d.ts +0 -7
  154. package/shared/types/renderer-source/select.d.ts +0 -7
  155. package/shared/types/renderer-source/switch.d.ts +0 -7
  156. /package/components/{form-item-renderer-template-default → button}/src/types.js +0 -0
  157. /package/components/{form-item-renderer-template-layout → cascader}/src/types.js +0 -0
  158. /package/{shared/types/layout-source/index.js → components/checkbox/src/types.js} +0 -0
  159. /package/{shared/types/renderer-source/index.js → components/color-picker/src/types.js} +0 -0
  160. /package/components/{form-item-renderer-template-default → templates-default}/src/ctx.d.ts +0 -0
  161. /package/components/{form-item-renderer-template-default → templates-default}/src/ctx.js +0 -0
@@ -0,0 +1,2 @@
1
+ import { FormItemRendererSource } from '@vunk/form/shared';
2
+ export declare type FormItem<P extends string = string> = FormItemRendererSource<P>;
@@ -0,0 +1 @@
1
+
@@ -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");
@@ -46,7 +55,15 @@ var ctx = /*#__PURE__*/Object.freeze({
46
55
  createBindProps: createBindProps
47
56
  });
48
57
 
49
- var script = defineComponent({
58
+ var _export_sfc = (sfc, props) => {
59
+ const target = sfc.__vccOpts || sfc;
60
+ for (const [key, val] of props) {
61
+ target[key] = val;
62
+ }
63
+ return target;
64
+ };
65
+
66
+ const _sfc_main = defineComponent({
50
67
  name: "VkfFormItem",
51
68
  components: {
52
69
  ElFormItem
@@ -54,15 +71,21 @@ var script = defineComponent({
54
71
  props,
55
72
  setup(props2) {
56
73
  const formItemBindProps = createFormItemBindProps(props2);
74
+ const readonly = useComputedReadonly(props2);
57
75
  return {
58
- formItemBindProps
76
+ formItemBindProps,
77
+ readonly
59
78
  };
60
79
  }
61
80
  });
62
-
63
- function render(_ctx, _cache, $props, $setup, $data, $options) {
81
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
64
82
  const _component_ElFormItem = resolveComponent("ElFormItem");
65
- return openBlock(), createBlock(_component_ElFormItem, mergeProps(_ctx.formItemBindProps, {
83
+ return openBlock(), createBlock(_component_ElFormItem, mergeProps({
84
+ class: {
85
+ "is-readonly": _ctx.readonly,
86
+ "vkf-form-item--inline": _ctx.inline
87
+ }
88
+ }, _ctx.formItemBindProps, {
66
89
  size: _ctx.formItemSize,
67
90
  ref: _ctx.elRef
68
91
  }), createSlots({
@@ -75,22 +98,20 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
75
98
  return {
76
99
  name: key,
77
100
  fn: withCtx((e) => [
78
- (openBlock(), createBlock(resolveDynamicComponent(item == null ? void 0 : item(e))))
101
+ (openBlock(), createBlock(resolveDynamicComponent(item?.(e))))
79
102
  ])
80
103
  };
81
104
  })
82
- ]), 1040, ["size"]);
105
+ ]), 1040, ["class", "size"]);
83
106
  }
84
-
85
- script.render = render;
86
- script.__file = "form-item/src/index.vue";
107
+ var VkfFormItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "index.vue"]]);
87
108
 
88
109
  var types = /*#__PURE__*/Object.freeze({
89
110
  __proto__: null
90
111
  });
91
112
 
92
- script.install = (app) => {
93
- app.component(script.name, script);
113
+ VkfFormItem.install = (app) => {
114
+ app.component(VkfFormItem.name, VkfFormItem);
94
115
  };
95
116
 
96
- export { script as VkfFormItem, ctx as _VkfFormItemCtx, types as __VkfFormItem, script as default };
117
+ export { VkfFormItem, ctx as _VkfFormItemCtx, types as __VkfFormItem, VkfFormItem as default };
@@ -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,44 +47,64 @@ 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<{}>;
47
- }, 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<{
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>;
67
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, 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">;
50
70
  default: string;
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;
@@ -17,28 +17,19 @@ const props = {
17
17
 
18
18
  const S_TEMPLATE_INSTANCES = Symbol("templateInstances");
19
19
 
20
- var __defProp = Object.defineProperty;
21
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
22
- var __hasOwnProp = Object.prototype.hasOwnProperty;
23
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
24
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
25
- var __spreadValues = (a, b) => {
26
- for (var prop in b || (b = {}))
27
- if (__hasOwnProp.call(b, prop))
28
- __defNormalProp(a, prop, b[prop]);
29
- if (__getOwnPropSymbols)
30
- for (var prop of __getOwnPropSymbols(b)) {
31
- if (__propIsEnum.call(b, prop))
32
- __defNormalProp(a, prop, b[prop]);
33
- }
34
- return a;
20
+ var _export_sfc = (sfc, props) => {
21
+ const target = sfc.__vccOpts || sfc;
22
+ for (const [key, val] of props) {
23
+ target[key] = val;
24
+ }
25
+ return target;
35
26
  };
27
+
36
28
  const VkfFormItemRenderer = defineComponent({
37
29
  name: "VkfFormItemRenderer",
38
30
  props: props,
39
31
  setup(props$1, ctx) {
40
- var _a;
41
- const templateInstances = (_a = props$1.templateInstances) != null ? _a : shallowReactive({});
32
+ const templateInstances = props$1.templateInstances ?? shallowReactive({});
42
33
  provide(S_TEMPLATE_INSTANCES, templateInstances);
43
34
  const Renderer = defineComponent({
44
35
  props: props,
@@ -52,7 +43,6 @@ const VkfFormItemRenderer = defineComponent({
52
43
  });
53
44
  const renderFormItems = (data, pK = []) => {
54
45
  return data.reduce((a, c, index) => {
55
- var _a2, _b, _c, _d;
56
46
  const currentK = [...props$1.k, ...pK, index];
57
47
  const validateTemplateType = () => {
58
48
  nextTick(() => {
@@ -62,20 +52,35 @@ const VkfFormItemRenderer = defineComponent({
62
52
  });
63
53
  };
64
54
  if (c.templateType && templateInstances[c.templateType]) {
65
- const slotData = __spreadValues({}, c);
55
+ const slotData = { ...c };
66
56
  Reflect.deleteProperty(slotData, "templateType");
67
57
  Reflect.deleteProperty(slotData, "templateSlots");
68
- const nodes = (_b = (_a2 = templateInstances[c.templateType].slots).default) == null ? void 0 : _b.call(_a2, {
58
+ Reflect.deleteProperty(slotData, "templateIf");
59
+ const createTemplateIf = () => {
60
+ if (typeof c.templateIf === "boolean") {
61
+ const flag = c.templateIf;
62
+ return () => flag;
63
+ } else if (typeof c.templateIf === "string") {
64
+ const templateIf = new Function("data", c.templateIf);
65
+ return templateIf;
66
+ } else if (typeof c.templateIf === "function") {
67
+ return c.templateIf;
68
+ }
69
+ return () => true;
70
+ };
71
+ const nodes = templateInstances[c.templateType].slots.default?.({
69
72
  data: slotData,
70
73
  raw: c,
71
74
  Renderer,
72
- k: currentK
75
+ k: currentK,
76
+ key: currentK.join(",") + "-" + c.templateType + "-" + c?.prop || "no-prop",
77
+ templateIf: createTemplateIf()
73
78
  });
74
79
  nodes && a.push(nodes);
75
- } else if ((_c = c.templateSlots) == null ? void 0 : _c.default) {
80
+ } else if (c.templateSlots?.default) {
76
81
  validateTemplateType();
77
82
  currentK.push("templateSlots", "default");
78
- if (Array.isArray((_d = c.templateSlots) == null ? void 0 : _d.default)) {
83
+ if (Array.isArray(c.templateSlots?.default)) {
79
84
  const subNode = renderFormItems(c.templateSlots.default, currentK);
80
85
  a = a.concat(subNode);
81
86
  }
@@ -86,8 +91,7 @@ const VkfFormItemRenderer = defineComponent({
86
91
  }, []);
87
92
  };
88
93
  return () => {
89
- var _a2, _b;
90
- const tempSlots = (_b = (_a2 = ctx.slots).default) == null ? void 0 : _b.call(_a2);
94
+ const tempSlots = ctx.slots.default?.();
91
95
  return [
92
96
  tempSlots,
93
97
  renderFormItems(props$1.source)
@@ -95,15 +99,15 @@ const VkfFormItemRenderer = defineComponent({
95
99
  };
96
100
  }
97
101
  });
98
-
99
- VkfFormItemRenderer.__file = "form-item-renderer/src/index.vue";
102
+ const _sfc_main = VkfFormItemRenderer;
103
+ var VkfFormItemRenderer$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "index.vue"]]);
100
104
 
101
105
  var types = /*#__PURE__*/Object.freeze({
102
106
  __proto__: null
103
107
  });
104
108
 
105
- VkfFormItemRenderer.install = (app) => {
106
- app.component(VkfFormItemRenderer.name, VkfFormItemRenderer);
109
+ VkfFormItemRenderer$1.install = (app) => {
110
+ app.component(VkfFormItemRenderer$1.name, VkfFormItemRenderer$1);
107
111
  };
108
112
 
109
- export { S_TEMPLATE_INSTANCES, VkfFormItemRenderer, types as __VkfFormItemRenderer, VkfFormItemRenderer as default };
113
+ export { S_TEMPLATE_INSTANCES, VkfFormItemRenderer$1 as VkfFormItemRenderer, types as __VkfFormItemRenderer, VkfFormItemRenderer$1 as 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, {}, 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
  }
@@ -9,7 +9,15 @@ const props = {
9
9
  }
10
10
  };
11
11
 
12
- var script = defineComponent({
12
+ var _export_sfc = (sfc, props) => {
13
+ const target = sfc.__vccOpts || sfc;
14
+ for (const [key, val] of props) {
15
+ target[key] = val;
16
+ }
17
+ return target;
18
+ };
19
+
20
+ const _sfc_main = defineComponent({
13
21
  name: "VkfFormItemRendererTemplate",
14
22
  props,
15
23
  setup(props2) {
@@ -27,15 +35,14 @@ var script = defineComponent({
27
35
  return () => null;
28
36
  }
29
37
  });
30
-
31
- script.__file = "form-item-renderer-template/src/index.vue";
38
+ var VkfFormItemRendererTemplate = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "index.vue"]]);
32
39
 
33
40
  var types = /*#__PURE__*/Object.freeze({
34
41
  __proto__: null
35
42
  });
36
43
 
37
- script.install = (app) => {
38
- app.component(script.name, script);
44
+ VkfFormItemRendererTemplate.install = (app) => {
45
+ app.component(VkfFormItemRendererTemplate.name, VkfFormItemRendererTemplate);
39
46
  };
40
47
 
41
- export { script as VkfFormItemRendererTemplate, types as __VkfFormItemRendererTemplate, script as default };
48
+ export { VkfFormItemRendererTemplate, types as __VkfFormItemRendererTemplate, VkfFormItemRendererTemplate as default };
@@ -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, {}, 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;