@vunk/form 2.19.20 → 2.19.21

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 (197) hide show
  1. package/components/ai-provider/index.cjs +1 -0
  2. package/components/ai-provider/index.d.ts +7 -0
  3. package/components/ai-provider/index.mjs +61 -0
  4. package/components/ai-provider/src/ctx.d.ts +8 -0
  5. package/components/ai-provider/src/index.vue.d.ts +23 -0
  6. package/components/ai-provider/src/types.d.ts +56 -0
  7. package/components/ai-provider/src/use.d.ts +3 -0
  8. package/components/api-tables-select/index.cjs +1 -1
  9. package/components/api-tables-select/index.mjs +1 -1
  10. package/components/api-tables-select/src/ctx.d.ts +57 -57
  11. package/components/api-tables-select/src/index.vue.d.ts +46 -419
  12. package/components/button/index.cjs +1 -1
  13. package/components/button/index.mjs +12 -12
  14. package/components/button/src/ctx.d.ts +7 -2
  15. package/components/button/src/index.vue.d.ts +36 -14
  16. package/components/card-input-collection/index.cjs +1 -1
  17. package/components/card-input-collection/index.mjs +136 -141
  18. package/components/card-input-collection/src/core.vue.d.ts +18 -7
  19. package/components/card-input-collection/src/ctx.d.ts +7 -2
  20. package/components/card-input-collection/src/index.vue.d.ts +18 -7
  21. package/components/cascader/index.cjs +1 -1
  22. package/components/cascader/index.mjs +38 -39
  23. package/components/cascader/src/ctx.d.ts +8 -3
  24. package/components/cascader/src/index.vue.d.ts +19 -8
  25. package/components/checkbox/src/ctx.d.ts +8 -3
  26. package/components/checkbox/src/index.vue.d.ts +43 -21
  27. package/components/{cloneDeep-DE0l40hv.mjs → cloneDeep-2YeQ7w2t.mjs} +10 -10
  28. package/components/cloneDeep-Btpy0oPF.js +1 -0
  29. package/components/collapse/index.cjs +1 -1
  30. package/components/collapse/index.mjs +19 -22
  31. package/components/collapse-item/index.cjs +1 -1
  32. package/components/collapse-item/index.mjs +21 -21
  33. package/components/collapse-item/src/index.vue.d.ts +2 -2
  34. package/components/color-picker/index.cjs +1 -1
  35. package/components/color-picker/index.mjs +26 -27
  36. package/components/color-picker/src/ctx.d.ts +7 -2
  37. package/components/color-picker/src/index.vue.d.ts +17 -6
  38. package/components/{style.css → components.css} +1 -1
  39. package/components/date-picker/index.cjs +1 -1
  40. package/components/date-picker/index.mjs +40 -41
  41. package/components/date-picker/src/ctx.d.ts +8 -3
  42. package/components/date-picker/src/index.vue.d.ts +17 -6
  43. package/components/date-picker-range/index.cjs +1 -1
  44. package/components/date-picker-range/index.mjs +17 -17
  45. package/components/date-picker-range/src/ctx.d.ts +14 -9
  46. package/components/date-picker-range/src/index.vue.d.ts +48 -26
  47. package/components/dialog/index.cjs +1 -1
  48. package/components/dialog/index.mjs +41 -52
  49. package/components/dialog/src/ctx.d.ts +1 -1
  50. package/components/dialog/src/index.vue.d.ts +1 -1
  51. package/components/dialog-input-collection/index.cjs +1 -1
  52. package/components/dialog-input-collection/index.mjs +124 -122
  53. package/components/dialog-input-collection/src/ctx.d.ts +7 -2
  54. package/components/dialog-input-collection/src/dialog-form.vue.d.ts +1 -1
  55. package/components/dialog-input-collection/src/index.vue.d.ts +17 -6
  56. package/components/download-plus/index.cjs +1 -1
  57. package/components/download-plus/index.mjs +193 -202
  58. package/components/download-plus/src/ctx.d.ts +7 -2
  59. package/components/download-plus/src/index.vue.d.ts +32 -10
  60. package/components/editable-text/index.cjs +1 -1
  61. package/components/editable-text/index.mjs +72 -75
  62. package/components/editable-text/src/ctx.d.ts +7 -2
  63. package/components/editable-text/src/index.vue.d.ts +18 -7
  64. package/components/el-slider/index.cjs +1 -1
  65. package/components/el-slider/index.mjs +230 -233
  66. package/components/el-slider/src/composables/index.cjs +1 -1
  67. package/components/el-slider/src/composables/index.mjs +1 -1
  68. package/components/el-slider/src/slider-core.vue.d.ts +3 -3
  69. package/components/esri-input-geojson/index.cjs +1 -5
  70. package/components/esri-input-geojson/index.mjs +59 -68
  71. package/components/esri-input-geojson/src/append.vue.d.ts +2 -2
  72. package/components/esri-input-geojson/src/ctx.d.ts +9 -4
  73. package/components/esri-input-geojson/src/index.vue.d.ts +65 -30
  74. package/components/fieldset/src/index.vue.d.ts +1 -1
  75. package/components/form/index.cjs +1 -1
  76. package/components/form/index.mjs +96 -101
  77. package/components/form/src/ctx.d.ts +2 -2
  78. package/components/form/src/index.vue.d.ts +4 -4
  79. package/components/form/src/use.d.ts +2 -2
  80. package/components/form-item/index.cjs +1 -1
  81. package/components/form-item/index.mjs +179 -107
  82. package/components/form-item/src/core.vue.d.ts +7 -3
  83. package/components/form-item/src/ctx.d.ts +7 -1
  84. package/components/form-item/src/index.vue.d.ts +13 -2
  85. package/components/form-item/src/use.d.ts +11 -0
  86. package/components/form-item-renderer/index.cjs +1 -1
  87. package/components/form-item-renderer/index.d.ts +1 -0
  88. package/components/form-item-renderer/index.mjs +85 -78
  89. package/components/form-item-renderer/src/use.d.ts +3 -0
  90. package/components/forms-provider/index.cjs +1 -1
  91. package/components/forms-provider/index.mjs +18 -21
  92. package/components/index-BIo_4rr_.mjs +18620 -0
  93. package/components/index-Bc7UifHG.js +1 -0
  94. package/components/index-D0D9ABpH.js +108 -0
  95. package/components/{index-CeHbpfCD.mjs → index-DCNYT7Wv.mjs} +0 -1
  96. package/components/information-collection/index.cjs +1 -1
  97. package/components/information-collection/index.mjs +32 -38
  98. package/components/information-collection/src/ctx.d.ts +7 -2
  99. package/components/information-collection/src/index.vue.d.ts +17 -6
  100. package/components/information-tag/index.cjs +1 -1
  101. package/components/information-tag/index.mjs +9 -12
  102. package/components/information-tag/src/index.vue.d.ts +1 -1
  103. package/components/input/index.cjs +1 -1
  104. package/components/input/index.mjs +27 -27
  105. package/components/input/src/ctx.d.ts +9 -4
  106. package/components/input/src/index.vue.d.ts +35 -13
  107. package/components/input-array/index.cjs +1 -1
  108. package/components/input-array/index.mjs +71 -74
  109. package/components/input-array/src/ctx.d.ts +7 -2
  110. package/components/input-array/src/index.vue.d.ts +18 -7
  111. package/components/input-collection/index.cjs +1 -1
  112. package/components/input-collection/index.mjs +121 -126
  113. package/components/input-collection/src/core.vue.d.ts +17 -6
  114. package/components/input-collection/src/ctx.d.ts +7 -2
  115. package/components/input-collection/src/index.vue.d.ts +17 -6
  116. package/components/input-file/src/index.vue.d.ts +19 -8
  117. package/components/input-link/index.cjs +1 -1
  118. package/components/input-link/index.mjs +1 -1
  119. package/components/input-link/src/ctx.d.ts +7 -2
  120. package/components/input-link/src/index.vue.d.ts +54 -21
  121. package/components/input-number/index.cjs +1 -1
  122. package/components/input-number/index.mjs +30 -33
  123. package/components/input-number/src/ctx.d.ts +8 -3
  124. package/components/input-number/src/index.vue.d.ts +33 -11
  125. package/components/input-tag/index.cjs +1 -1
  126. package/components/input-tag/index.mjs +24 -24
  127. package/components/input-tag/src/ctx.d.ts +9 -4
  128. package/components/input-tag/src/index.vue.d.ts +33 -11
  129. package/components/monaco-editor/src/ctx.d.ts +8 -3
  130. package/components/monaco-editor/src/index.vue.d.ts +38 -16
  131. package/components/radio/src/ctx.d.ts +7 -2
  132. package/components/radio/src/index.vue.d.ts +40 -18
  133. package/components/radio/src/wraper.vue.d.ts +22 -11
  134. package/components/renderer-data/index.cjs +1 -1
  135. package/components/renderer-data/index.mjs +14 -17
  136. package/components/select/index.cjs +1 -1
  137. package/components/select/index.mjs +167 -131
  138. package/components/select/src/core.vue.d.ts +96 -69
  139. package/components/select/src/ctx.d.ts +9 -4
  140. package/components/select/src/index.vue.d.ts +53 -42
  141. package/components/slider/index.cjs +1 -1
  142. package/components/slider/index.mjs +30 -31
  143. package/components/slider/src/ctx.d.ts +7 -2
  144. package/components/slider/src/index.vue.d.ts +18 -7
  145. package/components/switch/src/ctx.d.ts +7 -2
  146. package/components/switch/src/index.vue.d.ts +18 -7
  147. package/components/tables-select/index.cjs +1 -1
  148. package/components/tables-select/index.mjs +4 -4
  149. package/components/tables-select/src/ctx.d.ts +68 -68
  150. package/components/tables-select/src/index.vue.d.ts +52 -420
  151. package/components/template-instances-provider/index.cjs +1 -1
  152. package/components/template-instances-provider/index.mjs +11 -17
  153. package/components/templates-default/src/index.vue.d.ts +404 -185
  154. package/components/templates-esri/src/index.vue.d.ts +65 -30
  155. package/components/templates-variant/src/index.vue.d.ts +48 -26
  156. package/components/time-picker/index.cjs +1 -1
  157. package/components/time-picker/index.mjs +38 -39
  158. package/components/time-picker/src/ctx.d.ts +8 -3
  159. package/components/time-picker/src/index.vue.d.ts +17 -6
  160. package/components/upload/index.cjs +1 -1
  161. package/components/upload/index.mjs +244 -253
  162. package/components/upload/src/ctx.d.ts +8 -3
  163. package/components/upload/src/file.vue.d.ts +3 -3
  164. package/components/upload/src/index.vue.d.ts +37 -15
  165. package/components/upload/src/wraper.vue.d.ts +19 -8
  166. package/components/upload-plus/index.cjs +7 -15
  167. package/components/upload-plus/index.mjs +1879 -1897
  168. package/components/upload-plus/src/ctx.d.ts +7 -2
  169. package/components/upload-plus/src/index.vue.d.ts +18 -7
  170. package/components/use-watch-C3iIa2DX.js +1 -0
  171. package/components/use-watch-Dp64x0si.mjs +411 -0
  172. package/components/van-cascader/src/ctx.d.ts +7 -2
  173. package/components/van-cascader/src/index.vue.d.ts +19 -8
  174. package/components/var-datetime-picker/src/ctx.d.ts +7 -2
  175. package/components/var-datetime-picker/src/index.vue.d.ts +30 -8
  176. package/components/vditor/src/ctx.d.ts +7 -2
  177. package/components/vditor/src/index.vue.d.ts +41 -19
  178. package/composables/element-plus/index.cjs +1 -1
  179. package/composables/element-plus/index.mjs +10 -10
  180. package/composables/form-mitt/index.mjs +1 -1
  181. package/composables/index.cjs +1 -1
  182. package/composables/index.mjs +53 -53
  183. package/index.css +1 -1
  184. package/locale/index.cjs +1 -1
  185. package/locale/index.mjs +8 -5
  186. package/locale/lang/ar.d.ts +1 -0
  187. package/locale/lang/en.d.ts +1 -0
  188. package/locale/lang/zh-cn.d.ts +1 -0
  189. package/package.json +9 -1
  190. package/shared/element-plus/ctx.d.ts +16 -16
  191. package/shared/types/source/index.d.ts +5 -0
  192. package/shared/upload/index.cjs +1 -1
  193. package/shared/upload/index.mjs +166 -165
  194. package/components/cloneDeep-DaYwfXwD.js +0 -1
  195. package/components/index-BBriTmQP.js +0 -1
  196. package/components/use-watch-Bfrz9pv_.js +0 -1
  197. package/components/use-watch-t49wP7jy.mjs +0 -414
@@ -1,54 +1,53 @@
1
- import { defineComponent as V, ref as x, computed as s, normalizeClass as R, openBlock as f, createBlock as p, unref as r, mergeProps as u, withCtx as d, createVNode as j, toHandlers as F, createSlots as I, renderList as z, resolveDynamicComponent as M } from "vue";
2
- import { _VkfFormItemCtx as P, VkfFormItem as w } from "@vunk/form/components/form-item";
3
- import { timePickerProps as D, timePickerEmits as H, createTimePickerBindProps as L, createTimePickerOnEmits as N } from "@vunk/form/shared/element-plus";
4
- import { bindPropsFactory as $, onEmitsFactory as q } from "@vunk/core/shared/utils-vue";
5
- import { ElTimePicker as A } from "element-plus";
6
- import { useComputedReadonly as G, useRtl as J } from "@vunk/form/composables";
7
- const c = {
8
- ...D,
9
- ...P.props,
1
+ import { defineComponent as S, ref as V, computed as o, normalizeClass as x, openBlock as l, createBlock as m, unref as r, mergeProps as f, withCtx as p, createVNode as R, toHandlers as j, createSlots as F, renderList as I, resolveDynamicComponent as z } from "vue";
2
+ import { _VkfFormItemCtx as u, VkfFormItem as M } from "@vunk/form/components/form-item";
3
+ import { timePickerProps as w, timePickerEmits as D, createTimePickerBindProps as H, createTimePickerOnEmits as L } from "@vunk/form/shared/element-plus";
4
+ import { bindPropsFactory as N, onEmitsFactory as $ } from "@vunk/core/shared/utils-vue";
5
+ import { ElTimePicker as q } from "element-plus";
6
+ import { useComputedReadonly as A, useRtl as G } from "@vunk/form/composables";
7
+ const n = {
8
+ ...w,
9
+ ...u.props,
10
10
  timePickerSlots: {
11
11
  type: Object,
12
12
  default: void 0
13
13
  }
14
- }, K = $(c), a = {
15
- ...H
16
- }, Q = q(a), te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
14
+ }, J = N(n), s = {
15
+ ...D
16
+ }, K = $(s), te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
17
17
  __proto__: null,
18
- createBindProps: K,
19
- createOnEmits: Q,
20
- emits: a,
21
- props: c
22
- }, Symbol.toStringTag, { value: "Module" })), re = /* @__PURE__ */ V({
18
+ createBindProps: J,
19
+ createOnEmits: K,
20
+ emits: s,
21
+ props: n
22
+ }, Symbol.toStringTag, { value: "Module" })), re = /* @__PURE__ */ S({
23
23
  name: "VkfTimePicker",
24
24
  __name: "index",
25
- props: c,
26
- emits: a,
27
- setup(k, { emit: _ }) {
28
- const t = k, b = _, y = P.createBindProps(t), g = L(t, [
25
+ props: n,
26
+ emits: s,
27
+ setup(d, { emit: P }) {
28
+ const t = d, k = P, _ = u.createBindProps(t), b = H(t, [
29
29
  "readonly",
30
30
  "popperClass",
31
31
  "placement",
32
32
  "fallbackPlacements"
33
- ]), h = N(b), v = G(t), l = x(), C = (e) => {
34
- var o;
35
- (o = t.elRef) == null || o.call(t, e), l.value = e == null ? void 0 : e.$el;
36
- }, i = J(l), T = s(() => R([
33
+ ]), y = L(k), g = A(t), i = V(), h = (e) => {
34
+ t.elRef?.(e), i.value = e?.$el;
35
+ }, c = G(i), v = o(() => x([
37
36
  t.popperClass,
38
- { "is-rtl": i.value }
39
- ])), m = (e) => i.value ? e === "bottom-start" ? "bottom-end" : e === "top-start" ? "top-end" : e === "left-start" ? "right-start" : e === "left-end" ? "right-end" : e === "left" ? "right" : e === "right-start" ? "left-start" : e === "right-end" ? "left-end" : e === "right" ? "left" : e : e, O = s(() => m(t.placement ?? "bottom")), B = s(() => (t.fallbackPlacements ?? ["bottom", "top", "right", "left"]).map(m));
40
- return (e, o) => (f(), p(r(w), u(r(y), { ref: C }), {
41
- default: d(() => [
42
- j(r(A), u(r(g), {
43
- readonly: r(v),
44
- "popper-class": T.value,
45
- placement: O.value,
46
- "fallback-placements": B.value
47
- }, F(r(h))), I({ _: 2 }, [
48
- z(e.timePickerSlots, (n, E) => ({
49
- name: E,
50
- fn: d((S) => [
51
- (f(), p(M(n == null ? void 0 : n(S))))
37
+ { "is-rtl": c.value }
38
+ ])), a = (e) => c.value ? e === "bottom-start" ? "bottom-end" : e === "top-start" ? "top-end" : e === "left-start" ? "right-start" : e === "left-end" ? "right-end" : e === "left" ? "right" : e === "right-start" ? "left-start" : e === "right-end" ? "left-end" : e === "right" ? "left" : e : e, C = o(() => a(t.placement ?? "bottom")), T = o(() => (t.fallbackPlacements ?? ["bottom", "top", "right", "left"]).map(a));
39
+ return (e, Q) => (l(), m(r(M), f(r(_), { ref: h }), {
40
+ default: p(() => [
41
+ R(r(q), f(r(b), {
42
+ readonly: r(g),
43
+ "popper-class": v.value,
44
+ placement: C.value,
45
+ "fallback-placements": T.value
46
+ }, j(r(y))), F({ _: 2 }, [
47
+ I(e.timePickerSlots, (O, B) => ({
48
+ name: B,
49
+ fn: p((E) => [
50
+ (l(), m(z(O?.(E))))
52
51
  ])
53
52
  }))
54
53
  ]), 1040, ["readonly", "popper-class", "placement", "fallback-placements"])
@@ -6,6 +6,8 @@ export declare const props: {
6
6
  default: undefined;
7
7
  };
8
8
  required: import("element-plus/es/utils/index.mjs").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
9
+ error: StringConstructor;
10
+ prop: null;
9
11
  labelPosition: {
10
12
  type: PropType<"left" | "right" | "top" | "start" | "end">;
11
13
  default: undefined;
@@ -43,12 +45,16 @@ export declare const props: {
43
45
  type: BooleanConstructor;
44
46
  default: boolean;
45
47
  };
46
- prop: null;
47
48
  defaultModelValue: null;
48
49
  labelTipProps: {
49
50
  type: PropType<import("element-plus").UseTooltipProps>;
50
51
  default: () => {};
51
52
  };
53
+ ai: {
54
+ type: PropType<import("../../ai-provider").AiConfig>;
55
+ default: undefined;
56
+ };
57
+ aiOutput: null;
52
58
  label: StringConstructor;
53
59
  labelWidth: {
54
60
  readonly type: PropType<import("element-plus/es/utils/index.mjs").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
@@ -62,7 +68,6 @@ export declare const props: {
62
68
  readonly validator: ((val: unknown) => boolean) | undefined;
63
69
  __epPropKey: true;
64
70
  };
65
- error: StringConstructor;
66
71
  validateStatus: {
67
72
  readonly type: PropType<import("element-plus/es/utils/index.mjs").EpPropMergeType<StringConstructor, "" | "success" | "error" | "validating", unknown>>;
68
73
  readonly required: false;
@@ -270,7 +275,7 @@ export declare const props: {
270
275
  };
271
276
  isRange: BooleanConstructor;
272
277
  };
273
- export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"type", keyof T2> | Extract<"required", keyof T2> | Extract<"id", keyof T2> | Extract<"popperClass", keyof T2> | Extract<"popperStyle", keyof T2> | Extract<"ariaLabel", keyof T2> | Extract<"fallbackPlacements", keyof T2> | Extract<"placement", keyof T2> | Extract<"popperOptions", keyof T2> | Extract<"size", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"formItemTip", keyof T2> | Extract<"formItemTipClass", keyof T2> | Extract<"labelTip", keyof T2> | Extract<"information", keyof T2> | Extract<"prop", keyof T2> | Extract<"defaultModelValue", keyof T2> | Extract<"labelTipProps", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", 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<"disabled", keyof T2> | Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"clearable", keyof T2> | Extract<"clearIcon", keyof T2> | Extract<"prefixIcon", keyof T2> | Extract<"tabindex", keyof T2> | Extract<"validateEvent", keyof T2> | Extract<"name", keyof T2> | Extract<"emptyValues", keyof T2> | Extract<"valueOnClear", keyof T2> | Extract<"automaticDropdown", keyof T2> | Extract<"showNow", keyof T2> | Extract<"showConfirm", keyof T2> | Extract<"showFooter", keyof T2> | Extract<"showWeekNumber", keyof T2> | Extract<"disabledDate", keyof T2> | Extract<"cellClassName", keyof T2> | Extract<"shortcuts", keyof T2> | Extract<"arrowControl", keyof T2> | Extract<"unlinkPanels", keyof T2> | Extract<"singlePanel", keyof T2> | Extract<"disabledHours", keyof T2> | Extract<"disabledMinutes", keyof T2> | Extract<"disabledSeconds", keyof T2> | Extract<"format", keyof T2> | Extract<"valueFormat", keyof T2> | Extract<"dateFormat", keyof T2> | Extract<"timeFormat", keyof T2> | Extract<"editable", keyof T2> | Extract<"saveOnBlur", keyof T2> | Extract<"rangeSeparator", keyof T2> | Extract<"startPlaceholder", keyof T2> | Extract<"endPlaceholder", keyof T2> | Extract<"defaultValue", keyof T2> | Extract<"defaultTime", keyof T2> | Extract<"isRange", keyof T2> | Extract<"timePickerSlots", keyof T2>)[]>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"type", keyof T2>, KE> | Exclude<Extract<"required", keyof T2>, KE> | Exclude<Extract<"id", keyof T2>, KE> | Exclude<Extract<"popperClass", keyof T2>, KE> | Exclude<Extract<"popperStyle", keyof T2>, KE> | Exclude<Extract<"ariaLabel", keyof T2>, KE> | Exclude<Extract<"fallbackPlacements", keyof T2>, KE> | Exclude<Extract<"placement", keyof T2>, KE> | Exclude<Extract<"popperOptions", keyof T2>, KE> | Exclude<Extract<"size", keyof T2>, KE> | Exclude<Extract<"labelPosition", 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> | Exclude<Extract<"formItemTip", keyof T2>, KE> | Exclude<Extract<"formItemTipClass", keyof T2>, KE> | Exclude<Extract<"labelTip", keyof T2>, KE> | Exclude<Extract<"information", keyof T2>, KE> | Exclude<Extract<"prop", keyof T2>, KE> | Exclude<Extract<"defaultModelValue", keyof T2>, KE> | Exclude<Extract<"labelTipProps", keyof T2>, KE> | Exclude<Extract<"label", keyof T2>, KE> | Exclude<Extract<"labelWidth", 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<"disabled", keyof T2>, KE> | Exclude<Extract<"modelValue", keyof T2>, KE> | Exclude<Extract<"placeholder", keyof T2>, KE> | Exclude<Extract<"clearable", keyof T2>, KE> | Exclude<Extract<"clearIcon", keyof T2>, KE> | Exclude<Extract<"prefixIcon", keyof T2>, KE> | Exclude<Extract<"tabindex", keyof T2>, KE> | Exclude<Extract<"validateEvent", keyof T2>, KE> | Exclude<Extract<"name", keyof T2>, KE> | Exclude<Extract<"emptyValues", keyof T2>, KE> | Exclude<Extract<"valueOnClear", keyof T2>, KE> | Exclude<Extract<"automaticDropdown", keyof T2>, KE> | Exclude<Extract<"showNow", keyof T2>, KE> | Exclude<Extract<"showConfirm", keyof T2>, KE> | Exclude<Extract<"showFooter", keyof T2>, KE> | Exclude<Extract<"showWeekNumber", keyof T2>, KE> | Exclude<Extract<"disabledDate", keyof T2>, KE> | Exclude<Extract<"cellClassName", keyof T2>, KE> | Exclude<Extract<"shortcuts", keyof T2>, KE> | Exclude<Extract<"arrowControl", keyof T2>, KE> | Exclude<Extract<"unlinkPanels", keyof T2>, KE> | Exclude<Extract<"singlePanel", keyof T2>, KE> | Exclude<Extract<"disabledHours", keyof T2>, KE> | Exclude<Extract<"disabledMinutes", keyof T2>, KE> | Exclude<Extract<"disabledSeconds", keyof T2>, KE> | Exclude<Extract<"format", keyof T2>, KE> | Exclude<Extract<"valueFormat", keyof T2>, KE> | Exclude<Extract<"dateFormat", keyof T2>, KE> | Exclude<Extract<"timeFormat", keyof T2>, KE> | Exclude<Extract<"editable", keyof T2>, KE> | Exclude<Extract<"saveOnBlur", keyof T2>, KE> | Exclude<Extract<"rangeSeparator", keyof T2>, KE> | Exclude<Extract<"startPlaceholder", keyof T2>, KE> | Exclude<Extract<"endPlaceholder", keyof T2>, KE> | Exclude<Extract<"defaultValue", keyof T2>, KE> | Exclude<Extract<"defaultTime", keyof T2>, KE> | Exclude<Extract<"isRange", keyof T2>, KE> | Exclude<Extract<"timePickerSlots", keyof T2>, KE> : Extract<"type", keyof T2> | Extract<"required", keyof T2> | Extract<"id", keyof T2> | Extract<"popperClass", keyof T2> | Extract<"popperStyle", keyof T2> | Extract<"ariaLabel", keyof T2> | Extract<"fallbackPlacements", keyof T2> | Extract<"placement", keyof T2> | Extract<"popperOptions", keyof T2> | Extract<"size", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"formItemTip", keyof T2> | Extract<"formItemTipClass", keyof T2> | Extract<"labelTip", keyof T2> | Extract<"information", keyof T2> | Extract<"prop", keyof T2> | Extract<"defaultModelValue", keyof T2> | Extract<"labelTipProps", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", 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<"disabled", keyof T2> | Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"clearable", keyof T2> | Extract<"clearIcon", keyof T2> | Extract<"prefixIcon", keyof T2> | Extract<"tabindex", keyof T2> | Extract<"validateEvent", keyof T2> | Extract<"name", keyof T2> | Extract<"emptyValues", keyof T2> | Extract<"valueOnClear", keyof T2> | Extract<"automaticDropdown", keyof T2> | Extract<"showNow", keyof T2> | Extract<"showConfirm", keyof T2> | Extract<"showFooter", keyof T2> | Extract<"showWeekNumber", keyof T2> | Extract<"disabledDate", keyof T2> | Extract<"cellClassName", keyof T2> | Extract<"shortcuts", keyof T2> | Extract<"arrowControl", keyof T2> | Extract<"unlinkPanels", keyof T2> | Extract<"singlePanel", keyof T2> | Extract<"disabledHours", keyof T2> | Extract<"disabledMinutes", keyof T2> | Extract<"disabledSeconds", keyof T2> | Extract<"format", keyof T2> | Extract<"valueFormat", keyof T2> | Extract<"dateFormat", keyof T2> | Extract<"timeFormat", keyof T2> | Extract<"editable", keyof T2> | Extract<"saveOnBlur", keyof T2> | Extract<"rangeSeparator", keyof T2> | Extract<"startPlaceholder", keyof T2> | Extract<"endPlaceholder", keyof T2> | Extract<"defaultValue", keyof T2> | Extract<"defaultTime", keyof T2> | Extract<"isRange", keyof T2> | Extract<"timePickerSlots", keyof T2>]: { [k in Extract<"type", keyof T2> | Extract<"required", keyof T2> | Extract<"id", keyof T2> | Extract<"popperClass", keyof T2> | Extract<"popperStyle", keyof T2> | Extract<"ariaLabel", keyof T2> | Extract<"fallbackPlacements", keyof T2> | Extract<"placement", keyof T2> | Extract<"popperOptions", keyof T2> | Extract<"size", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"formItemTip", keyof T2> | Extract<"formItemTipClass", keyof T2> | Extract<"labelTip", keyof T2> | Extract<"information", keyof T2> | Extract<"prop", keyof T2> | Extract<"defaultModelValue", keyof T2> | Extract<"labelTipProps", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", 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<"disabled", keyof T2> | Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"clearable", keyof T2> | Extract<"clearIcon", keyof T2> | Extract<"prefixIcon", keyof T2> | Extract<"tabindex", keyof T2> | Extract<"validateEvent", keyof T2> | Extract<"name", keyof T2> | Extract<"emptyValues", keyof T2> | Extract<"valueOnClear", keyof T2> | Extract<"automaticDropdown", keyof T2> | Extract<"showNow", keyof T2> | Extract<"showConfirm", keyof T2> | Extract<"showFooter", keyof T2> | Extract<"showWeekNumber", keyof T2> | Extract<"disabledDate", keyof T2> | Extract<"cellClassName", keyof T2> | Extract<"shortcuts", keyof T2> | Extract<"arrowControl", keyof T2> | Extract<"unlinkPanels", keyof T2> | Extract<"singlePanel", keyof T2> | Extract<"disabledHours", keyof T2> | Extract<"disabledMinutes", keyof T2> | Extract<"disabledSeconds", keyof T2> | Extract<"format", keyof T2> | Extract<"valueFormat", keyof T2> | Extract<"dateFormat", keyof T2> | Extract<"timeFormat", keyof T2> | Extract<"editable", keyof T2> | Extract<"saveOnBlur", keyof T2> | Extract<"rangeSeparator", keyof T2> | Extract<"startPlaceholder", keyof T2> | Extract<"endPlaceholder", keyof T2> | Extract<"defaultValue", keyof T2> | Extract<"defaultTime", keyof T2> | Extract<"isRange", keyof T2> | Extract<"timePickerSlots", keyof T2>]: T2[k]; }[P]; }>;
278
+ export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"name", keyof T2> | Extract<"type", keyof T2> | Extract<"id", keyof T2> | Extract<"required", keyof T2> | Extract<"error", keyof T2> | Extract<"prop", keyof T2> | Extract<"popperClass", keyof T2> | Extract<"popperStyle", keyof T2> | Extract<"ariaLabel", keyof T2> | Extract<"fallbackPlacements", keyof T2> | Extract<"placement", keyof T2> | Extract<"popperOptions", keyof T2> | Extract<"size", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"formItemTip", keyof T2> | Extract<"formItemTipClass", keyof T2> | Extract<"labelTip", keyof T2> | Extract<"information", keyof T2> | Extract<"defaultModelValue", keyof T2> | Extract<"labelTipProps", keyof T2> | Extract<"ai", keyof T2> | Extract<"aiOutput", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"disabled", keyof T2> | Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"clearable", keyof T2> | Extract<"clearIcon", keyof T2> | Extract<"prefixIcon", keyof T2> | Extract<"tabindex", keyof T2> | Extract<"validateEvent", keyof T2> | Extract<"emptyValues", keyof T2> | Extract<"valueOnClear", keyof T2> | Extract<"automaticDropdown", keyof T2> | Extract<"format", keyof T2> | Extract<"showNow", keyof T2> | Extract<"showConfirm", keyof T2> | Extract<"showFooter", keyof T2> | Extract<"showWeekNumber", keyof T2> | Extract<"disabledDate", keyof T2> | Extract<"cellClassName", keyof T2> | Extract<"shortcuts", keyof T2> | Extract<"arrowControl", keyof T2> | Extract<"unlinkPanels", keyof T2> | Extract<"singlePanel", keyof T2> | Extract<"disabledHours", keyof T2> | Extract<"disabledMinutes", keyof T2> | Extract<"disabledSeconds", keyof T2> | Extract<"valueFormat", keyof T2> | Extract<"dateFormat", keyof T2> | Extract<"timeFormat", keyof T2> | Extract<"editable", keyof T2> | Extract<"saveOnBlur", keyof T2> | Extract<"rangeSeparator", keyof T2> | Extract<"startPlaceholder", keyof T2> | Extract<"endPlaceholder", keyof T2> | Extract<"defaultValue", keyof T2> | Extract<"defaultTime", keyof T2> | Extract<"isRange", keyof T2> | Extract<"timePickerSlots", keyof T2>)[]>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"name", keyof T2>, KE> | Exclude<Extract<"type", keyof T2>, KE> | Exclude<Extract<"id", keyof T2>, KE> | Exclude<Extract<"required", keyof T2>, KE> | Exclude<Extract<"error", keyof T2>, KE> | Exclude<Extract<"prop", keyof T2>, KE> | Exclude<Extract<"popperClass", keyof T2>, KE> | Exclude<Extract<"popperStyle", keyof T2>, KE> | Exclude<Extract<"ariaLabel", keyof T2>, KE> | Exclude<Extract<"fallbackPlacements", keyof T2>, KE> | Exclude<Extract<"placement", keyof T2>, KE> | Exclude<Extract<"popperOptions", keyof T2>, KE> | Exclude<Extract<"size", keyof T2>, KE> | Exclude<Extract<"labelPosition", 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> | Exclude<Extract<"formItemTip", keyof T2>, KE> | Exclude<Extract<"formItemTipClass", keyof T2>, KE> | Exclude<Extract<"labelTip", keyof T2>, KE> | Exclude<Extract<"information", keyof T2>, KE> | Exclude<Extract<"defaultModelValue", keyof T2>, KE> | Exclude<Extract<"labelTipProps", keyof T2>, KE> | Exclude<Extract<"ai", keyof T2>, KE> | Exclude<Extract<"aiOutput", keyof T2>, KE> | Exclude<Extract<"label", keyof T2>, KE> | Exclude<Extract<"labelWidth", keyof T2>, KE> | Exclude<Extract<"rules", 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<"disabled", keyof T2>, KE> | Exclude<Extract<"modelValue", keyof T2>, KE> | Exclude<Extract<"placeholder", keyof T2>, KE> | Exclude<Extract<"clearable", keyof T2>, KE> | Exclude<Extract<"clearIcon", keyof T2>, KE> | Exclude<Extract<"prefixIcon", keyof T2>, KE> | Exclude<Extract<"tabindex", keyof T2>, KE> | Exclude<Extract<"validateEvent", keyof T2>, KE> | Exclude<Extract<"emptyValues", keyof T2>, KE> | Exclude<Extract<"valueOnClear", keyof T2>, KE> | Exclude<Extract<"automaticDropdown", keyof T2>, KE> | Exclude<Extract<"format", keyof T2>, KE> | Exclude<Extract<"showNow", keyof T2>, KE> | Exclude<Extract<"showConfirm", keyof T2>, KE> | Exclude<Extract<"showFooter", keyof T2>, KE> | Exclude<Extract<"showWeekNumber", keyof T2>, KE> | Exclude<Extract<"disabledDate", keyof T2>, KE> | Exclude<Extract<"cellClassName", keyof T2>, KE> | Exclude<Extract<"shortcuts", keyof T2>, KE> | Exclude<Extract<"arrowControl", keyof T2>, KE> | Exclude<Extract<"unlinkPanels", keyof T2>, KE> | Exclude<Extract<"singlePanel", keyof T2>, KE> | Exclude<Extract<"disabledHours", keyof T2>, KE> | Exclude<Extract<"disabledMinutes", keyof T2>, KE> | Exclude<Extract<"disabledSeconds", keyof T2>, KE> | Exclude<Extract<"valueFormat", keyof T2>, KE> | Exclude<Extract<"dateFormat", keyof T2>, KE> | Exclude<Extract<"timeFormat", keyof T2>, KE> | Exclude<Extract<"editable", keyof T2>, KE> | Exclude<Extract<"saveOnBlur", keyof T2>, KE> | Exclude<Extract<"rangeSeparator", keyof T2>, KE> | Exclude<Extract<"startPlaceholder", keyof T2>, KE> | Exclude<Extract<"endPlaceholder", keyof T2>, KE> | Exclude<Extract<"defaultValue", keyof T2>, KE> | Exclude<Extract<"defaultTime", keyof T2>, KE> | Exclude<Extract<"isRange", keyof T2>, KE> | Exclude<Extract<"timePickerSlots", keyof T2>, KE> : Extract<"name", keyof T2> | Extract<"type", keyof T2> | Extract<"id", keyof T2> | Extract<"required", keyof T2> | Extract<"error", keyof T2> | Extract<"prop", keyof T2> | Extract<"popperClass", keyof T2> | Extract<"popperStyle", keyof T2> | Extract<"ariaLabel", keyof T2> | Extract<"fallbackPlacements", keyof T2> | Extract<"placement", keyof T2> | Extract<"popperOptions", keyof T2> | Extract<"size", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"formItemTip", keyof T2> | Extract<"formItemTipClass", keyof T2> | Extract<"labelTip", keyof T2> | Extract<"information", keyof T2> | Extract<"defaultModelValue", keyof T2> | Extract<"labelTipProps", keyof T2> | Extract<"ai", keyof T2> | Extract<"aiOutput", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"disabled", keyof T2> | Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"clearable", keyof T2> | Extract<"clearIcon", keyof T2> | Extract<"prefixIcon", keyof T2> | Extract<"tabindex", keyof T2> | Extract<"validateEvent", keyof T2> | Extract<"emptyValues", keyof T2> | Extract<"valueOnClear", keyof T2> | Extract<"automaticDropdown", keyof T2> | Extract<"format", keyof T2> | Extract<"showNow", keyof T2> | Extract<"showConfirm", keyof T2> | Extract<"showFooter", keyof T2> | Extract<"showWeekNumber", keyof T2> | Extract<"disabledDate", keyof T2> | Extract<"cellClassName", keyof T2> | Extract<"shortcuts", keyof T2> | Extract<"arrowControl", keyof T2> | Extract<"unlinkPanels", keyof T2> | Extract<"singlePanel", keyof T2> | Extract<"disabledHours", keyof T2> | Extract<"disabledMinutes", keyof T2> | Extract<"disabledSeconds", keyof T2> | Extract<"valueFormat", keyof T2> | Extract<"dateFormat", keyof T2> | Extract<"timeFormat", keyof T2> | Extract<"editable", keyof T2> | Extract<"saveOnBlur", keyof T2> | Extract<"rangeSeparator", keyof T2> | Extract<"startPlaceholder", keyof T2> | Extract<"endPlaceholder", keyof T2> | Extract<"defaultValue", keyof T2> | Extract<"defaultTime", keyof T2> | Extract<"isRange", keyof T2> | Extract<"timePickerSlots", keyof T2>]: { [k in Extract<"name", keyof T2> | Extract<"type", keyof T2> | Extract<"id", keyof T2> | Extract<"required", keyof T2> | Extract<"error", keyof T2> | Extract<"prop", keyof T2> | Extract<"popperClass", keyof T2> | Extract<"popperStyle", keyof T2> | Extract<"ariaLabel", keyof T2> | Extract<"fallbackPlacements", keyof T2> | Extract<"placement", keyof T2> | Extract<"popperOptions", keyof T2> | Extract<"size", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"formItemTip", keyof T2> | Extract<"formItemTipClass", keyof T2> | Extract<"labelTip", keyof T2> | Extract<"information", keyof T2> | Extract<"defaultModelValue", keyof T2> | Extract<"labelTipProps", keyof T2> | Extract<"ai", keyof T2> | Extract<"aiOutput", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"disabled", keyof T2> | Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"clearable", keyof T2> | Extract<"clearIcon", keyof T2> | Extract<"prefixIcon", keyof T2> | Extract<"tabindex", keyof T2> | Extract<"validateEvent", keyof T2> | Extract<"emptyValues", keyof T2> | Extract<"valueOnClear", keyof T2> | Extract<"automaticDropdown", keyof T2> | Extract<"format", keyof T2> | Extract<"showNow", keyof T2> | Extract<"showConfirm", keyof T2> | Extract<"showFooter", keyof T2> | Extract<"showWeekNumber", keyof T2> | Extract<"disabledDate", keyof T2> | Extract<"cellClassName", keyof T2> | Extract<"shortcuts", keyof T2> | Extract<"arrowControl", keyof T2> | Extract<"unlinkPanels", keyof T2> | Extract<"singlePanel", keyof T2> | Extract<"disabledHours", keyof T2> | Extract<"disabledMinutes", keyof T2> | Extract<"disabledSeconds", keyof T2> | Extract<"valueFormat", keyof T2> | Extract<"dateFormat", keyof T2> | Extract<"timeFormat", keyof T2> | Extract<"editable", keyof T2> | Extract<"saveOnBlur", keyof T2> | Extract<"rangeSeparator", keyof T2> | Extract<"startPlaceholder", keyof T2> | Extract<"endPlaceholder", keyof T2> | Extract<"defaultValue", keyof T2> | Extract<"defaultTime", keyof T2> | Extract<"isRange", keyof T2> | Extract<"timePickerSlots", keyof T2>]: T2[k]; }[P]; }>;
274
279
  export declare const emits: {
275
280
  'update:modelValue': null;
276
281
  change: null;
@@ -5,6 +5,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
5
5
  default: undefined;
6
6
  };
7
7
  required: import("element-plus/es/utils/index.mjs").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
8
+ error: StringConstructor;
9
+ prop: null;
8
10
  labelPosition: {
9
11
  type: import("vue").PropType<"left" | "right" | "top" | "start" | "end">;
10
12
  default: undefined;
@@ -42,12 +44,16 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
42
44
  type: BooleanConstructor;
43
45
  default: boolean;
44
46
  };
45
- prop: null;
46
47
  defaultModelValue: null;
47
48
  labelTipProps: {
48
49
  type: import("vue").PropType<import("element-plus").UseTooltipProps>;
49
50
  default: () => {};
50
51
  };
52
+ ai: {
53
+ type: import("vue").PropType<import("../../ai-provider").AiConfig>;
54
+ default: undefined;
55
+ };
56
+ aiOutput: null;
51
57
  label: StringConstructor;
52
58
  labelWidth: {
53
59
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.mjs").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
@@ -61,7 +67,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
61
67
  readonly validator: ((val: unknown) => boolean) | undefined;
62
68
  __epPropKey: true;
63
69
  };
64
- error: StringConstructor;
65
70
  validateStatus: {
66
71
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.mjs").EpPropMergeType<StringConstructor, "" | "success" | "error" | "validating", unknown>>;
67
72
  readonly required: false;
@@ -281,6 +286,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
281
286
  default: undefined;
282
287
  };
283
288
  required: import("element-plus/es/utils/index.mjs").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
289
+ error: StringConstructor;
290
+ prop: null;
284
291
  labelPosition: {
285
292
  type: import("vue").PropType<"left" | "right" | "top" | "start" | "end">;
286
293
  default: undefined;
@@ -318,12 +325,16 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
318
325
  type: BooleanConstructor;
319
326
  default: boolean;
320
327
  };
321
- prop: null;
322
328
  defaultModelValue: null;
323
329
  labelTipProps: {
324
330
  type: import("vue").PropType<import("element-plus").UseTooltipProps>;
325
331
  default: () => {};
326
332
  };
333
+ ai: {
334
+ type: import("vue").PropType<import("../../ai-provider").AiConfig>;
335
+ default: undefined;
336
+ };
337
+ aiOutput: null;
327
338
  label: StringConstructor;
328
339
  labelWidth: {
329
340
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.mjs").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
@@ -337,7 +348,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
337
348
  readonly validator: ((val: unknown) => boolean) | undefined;
338
349
  __epPropKey: true;
339
350
  };
340
- error: StringConstructor;
341
351
  validateStatus: {
342
352
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.mjs").EpPropMergeType<StringConstructor, "" | "success" | "error" | "validating", unknown>>;
343
353
  readonly required: false;
@@ -558,8 +568,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
558
568
  fallbackPlacements: Placement[];
559
569
  placement: import("element-plus/es/utils/index.mjs").EpPropMergeType<(new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | ((new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | null)[], Placement, unknown>;
560
570
  popperOptions: Partial<import("element-plus").Options>;
561
- labelPosition: "left" | "right" | "top" | "start" | "end";
562
- formItemSize: "default" | "small" | "large";
571
+ labelPosition: "start" | "left" | "right" | "top" | "end";
572
+ formItemSize: "small" | "default" | "large";
563
573
  formItemSlots: import("../../form-item/src/types").FormItemSlots;
564
574
  inline: boolean;
565
575
  readonly: boolean;
@@ -567,6 +577,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
567
577
  labelTip: string;
568
578
  information: boolean;
569
579
  labelTipProps: import("element-plus").UseTooltipProps;
580
+ ai: import("../../ai-provider").AiConfig;
570
581
  inlineMessage: import("element-plus/es/utils/index.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
571
582
  showMessage: import("element-plus/es/utils/index.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
572
583
  disabled: import("element-plus/es/utils/index.mjs").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),E=require("@vunk/form/components/form-item"),h=require("@vunk/core/shared/utils-vue"),u=require("element-plus"),I=require("@vunk/core/shared/utils-object"),z=require("@vunk/form/shared/element-plus"),y=require("../index-BBriTmQP.js"),$=require("@vunk/core/shared/utils-fetch"),D=require("@vunk/core/shared/utils-function"),L=require("@vunk/shared/function"),B=require("@vunk/form/composables/element-plus"),N=require("../_plugin-vue_export-helper-BHFhmbuH.js"),S=require("@vunk/form/composables"),T=require("@vunk/form/shared/progress-it"),g={...E._VkfFormItemCtx.props,...u.uploadProps,tip:{type:String,default:""},preview:null,previewLabel:{type:String,default:void 0},beforeUpload:{type:Function,default:void 0},onDownload:{type:Function,default:void 0},onExceed:{type:Function,default:void 0},exceedable:{type:Boolean,default:!1},confirmExceed:{type:Boolean,default:!1},slots:null},F=h.bindPropsFactory(g),V={"update:fileList":null,remove:o=>o},U=h.onEmitsFactory(V),R=Object.freeze(Object.defineProperty({__proto__:null,createBindProps:F,createOnEmits:U,emits:V,props:g},Symbol.toStringTag,{value:"Module"})),q=new $.RestFetch({baseURL:""}),O=e.defineComponent({components:{ElProgress:u.ElProgress,ElIcon:u.ElIcon,Check:y.check_default,ZoomIn:y.zoom_in_default,Delete:y.delete_default,Close:y.close_default,CircleCheck:y.circle_check_default,Document:y.document_default,Download:y.download_default,ElButton:u.ElButton},props:{listType:{type:String,default:"text"},file:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},onPreview:{type:Function,default:()=>D.NOOP},onDownload:{type:Function,default:void 0},preview:{type:[Boolean,Function],default:!1},previewLabel:{type:String,default:void 0}},emits:{remove:o=>o},setup(o,{emit:l}){const C=u.useNamespace("upload"),d=u.useNamespace("icon"),{tr:w}=B.useLocale(),m=(t=o.file)=>{l("remove",t)},f=(t=o.file)=>{if(o.onDownload){o.onDownload(t);return}let n="";t.url?n=t.url:t.raw&&(n=window.URL.createObjectURL(t.raw)),n&&q.download({url:n,fileName:t.name},{method:"GET"})},r=e.computed(()=>L.isCallable(o.preview)?o.preview(o.file):o.preview),v=e.computed(()=>o.previewLabel||w("el.upload.preview","预览"));return{handleRemove:m,nsIcon:d,nsUpload:C,handleDownload:f,handlePreview:(t=o.file)=>{r.value&&o.onPreview(t)},previewText:v,previewable:r,tr:w}}}),j=["src"];function M(o,l,C,d,w,m){const f=e.resolveComponent("Document"),r=e.resolveComponent("ElIcon"),v=e.resolveComponent("Download"),k=e.resolveComponent("ElButton"),t=e.resolveComponent("ElProgress"),n=e.resolveComponent("CircleCheck"),a=e.resolveComponent("Check"),i=e.resolveComponent("Close"),c=e.resolveComponent("ZoomIn"),p=e.resolveComponent("Delete");return e.openBlock(),e.createElementBlock(e.Fragment,null,[o.listType==="picture"||o.file.status!=="uploading"&&o.listType==="picture-card"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[/\.(svg|png|jpg|jpeg)$/.test(o.file.name)?(e.openBlock(),e.createElementBlock("img",{key:0,class:e.normalizeClass(o.nsUpload.be("list","item-thumbnail")),src:o.file.url,alt:""},null,10,j)):(e.openBlock(),e.createBlock(f,{key:1,class:e.normalizeClass([o.nsUpload.be("list","item-thumbnail"),o.nsIcon.m("document")])},null,8,["class"]))],64)):e.createCommentVNode("",!0),o.listType!=="picture-card"||o.file.status==="uploading"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(o.nsUpload.be("list","item-info"))},[e.createElementVNode("a",{class:e.normalizeClass(o.nsUpload.be("list","item-name")),onClick:l[1]||(l[1]=e.withModifiers(s=>o.handlePreview(o.file),["prevent"]))},[e.createVNode(r,{class:e.normalizeClass(o.nsIcon.m("document"))},{default:e.withCtx(()=>[e.createVNode(f)]),_:1},8,["class"]),e.createVNode(r,{class:e.normalizeClass([o.nsIcon.m("download"),o.nsIcon.m("download-primary")]),onClick:l[0]||(l[0]=e.withModifiers(s=>o.handleDownload(o.file),["stop"]))},{default:e.withCtx(()=>[e.createVNode(v)]),_:1},8,["class"]),e.createElementVNode("span",{class:e.normalizeClass(o.nsUpload.be("list","item-file-name"))},e.toDisplayString(o.file.name),3)],2),o.listType==="picture"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.nsUpload.be("list","item-file-actions"))},[e.createVNode(k,{disabled:!o.previewable,class:e.normalizeClass(o.nsUpload.be("list","item-file-action-preview")),plain:"",size:"small",round:"",onClick:l[2]||(l[2]=s=>o.handlePreview(o.file))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.previewText),1)]),_:1},8,["disabled","class"]),e.createVNode(k,{plain:"",size:"small",round:"",type:"primary",onClick:l[3]||(l[3]=s=>o.handleDownload(o.file))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.tr("vkf.common.download","下载")),1)]),_:1})],2)):e.createCommentVNode("",!0),o.file.status==="uploading"?(e.openBlock(),e.createBlock(t,{key:1,type:o.listType==="picture-card"?"circle":"line","stroke-width":o.listType==="picture-card"?6:2,percentage:Number(o.file.percentage),style:e.normalizeStyle(o.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("label",{class:e.normalizeClass(o.nsUpload.be("list","item-status-label"))},[o.listType==="text"?(e.openBlock(),e.createBlock(r,{key:0,class:e.normalizeClass([o.nsIcon.m("upload-success"),o.nsIcon.m("circle-check")])},{default:e.withCtx(()=>[e.createVNode(n)]),_:1},8,["class"])):["picture-card","picture"].includes(o.listType)?(e.openBlock(),e.createBlock(r,{key:1,class:e.normalizeClass([o.nsIcon.m("upload-success"),o.nsIcon.m("check")])},{default:e.withCtx(()=>[e.createVNode(a)]),_:1},8,["class"])):e.createCommentVNode("",!0)],2),o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(r,{key:2,class:e.normalizeClass(o.nsIcon.m("close")),onClick:l[4]||(l[4]=s=>o.handleRemove(o.file))},{default:e.withCtx(()=>[e.createVNode(i)]),_:1},8,["class"])),o.listType==="picture-card"?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(o.nsUpload.be("list","item-actions"))},[o.previewable?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(o.nsUpload.be("list","item-preview")),onClick:l[5]||(l[5]=s=>o.handlePreview(o.file))},[e.createVNode(r,{class:e.normalizeClass(o.nsIcon.m("zoom-in"))},{default:e.withCtx(()=>[e.createVNode(c)]),_:1},8,["class"])],2)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(o.nsUpload.be("list","item-download")),onClick:l[6]||(l[6]=s=>o.handleDownload(o.file))},[e.createVNode(r,{class:e.normalizeClass(o.nsIcon.m("download"))},{default:e.withCtx(()=>[e.createVNode(v)]),_:1},8,["class"])],2),o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(o.nsUpload.be("list","item-delete")),onClick:l[7]||(l[7]=s=>o.handleRemove(o.file))},[e.createVNode(r,{class:e.normalizeClass(o.nsIcon.m("delete"))},{default:e.withCtx(()=>[e.createVNode(p)]),_:1},8,["class"])],2))],2)):e.createCommentVNode("",!0)],64)}const Z=N._export_sfc(O,[["render",M]]),G=e.defineComponent({components:{VkfFormItem:E.VkfFormItem,ElUpload:u.ElUpload,FileVue:Z,ElLink:u.ElLink},props:g,emits:V,setup(o,{emit:l}){const C=E._VkfFormItemCtx.createBindProps(o),{tr:d}=B.useLocale(),w=z.createUploadBindProps(o,["disabled","fileList","beforeUpload","onSuccess"]),m=e.shallowRef(),f=n=>{var a,i;(a=m.value)==null||a.handleRemove(n),(i=m.value)==null||i.abort(n),l("update:fileList",o.fileList)},r=(n,a)=>{if(o.onExceed){o.onExceed(n,a);return}if(o.exceedable){const i=()=>{var c,p;(c=m.value)==null||c.clearFiles(),n.forEach(s=>{var b;s.uid=u.genFileId(),(b=m.value)==null||b.handleStart(s)}),(p=m.value)==null||p.submit()};o.confirmExceed?u.ElMessageBox.confirm(d("vkf.upload.exceedConfirm","已超过最大上传数量限制,是否使用新文件重新上传?"),d("el.messagebox.title","提示"),{confirmButtonText:d("el.upload.continue","继续"),cancelButtonText:d("el.messagebox.cancel","取消"),type:"warning"}).then(i):i()}},v=S.useComputedReadonly(o),k=(n,a,i)=>{var p,s;const c=a.raw;(p=c.progress)==null||p.call(c,!0),a.percentage=100,a.status="success",(s=o.onSuccess)==null||s.call(o,n,a,i)},t=async n=>{var i;const a=(c,p)=>{const s=o.fileList.find(b=>b.uid===n.uid);s&&(s.percentage=Number((c*100).toFixed(2)),p===!1&&(s.status="uploading"))};return n.progress=T(a)(!1),o.beforeUpload?await((i=o.beforeUpload)==null?void 0:i.call(o,n)):!0};return{formItemBindProps:C,pickObject:I.pickObject,coreBindProps:w,uploadRef:m,handleRemove:f,readonly:v,onSuccess:k,beforeUpload:t,handleExceed:r,tr:d}}}),H={class:"el-upload__tip"};function A(o,l,C,d,w,m){const f=e.resolveComponent("ElLink"),r=e.resolveComponent("FileVue"),v=e.resolveComponent("ElUpload"),k=e.resolveComponent("VkfFormItem");return e.openBlock(),e.createBlock(k,e.normalizeProps(e.guardReactiveProps(o.formItemBindProps)),{default:e.withCtx(()=>{var t,n,a;return[e.createVNode(v,e.mergeProps(o.coreBindProps,{ref:"uploadRef",class:["vkf-upload",{"is-readonly":o.readonly,"is-empty":((t=o.fileList)==null?void 0:t.length)===0,"is-limit":o.limit&&((n=o.fileList)==null?void 0:n.length)>=o.limit,"is-exceedable":o.exceedable}],"file-list":o.fileList??[],"on-success":o.onSuccess,"before-upload":o.beforeUpload,disabled:o.readonly||o.disabled,"on-exceed":o.handleExceed,"onUpdate:fileList":l[0]||(l[0]=i=>o.$emit("update:fileList",i))}),e.createSlots({file:e.withCtx(({file:i})=>[e.createVNode(r,{file:i,"list-type":o.listType,disabled:o.readonly||o.disabled,"on-preview":o.onPreview,preview:o.preview,"on-download":o.onDownload,"preview-label":o.previewLabel,onRemove:o.handleRemove},null,8,["file","list-type","disabled","on-preview","preview","on-download","preview-label","onRemove"])]),default:e.withCtx(()=>[e.renderSlot(o.$slots,"default",{},()=>[e.createVNode(f,{type:"primary"},{default:e.withCtx(()=>[e.createTextVNode(" + "+e.toDisplayString(o.tr("vkf.upload.selectFile","选择文件")),1)]),_:1})])]),_:2},[o.tip?{name:"tip",fn:e.withCtx(()=>[e.createElementVNode("div",H,e.toDisplayString(o.tip),1)]),key:"0"}:void 0]),1040,["class","file-list","on-success","before-upload","disabled","on-exceed"]),e.createElementVNode("span",{class:e.normalizeClass(["vkf-upload-empty-tip",{"is-readonly":o.readonly,"is-empty":((a=o.fileList)==null?void 0:a.length)===0}])},e.toDisplayString(o.tr("vkf.upload.empty","暂无")),3)]}),_:3},16)}const J=N._export_sfc(G,[["render",A]]),P=e.defineComponent({name:"VkfUpload",props:g,emits:V,setup(o,{emit:l,slots:C}){const d=U(l);return()=>e.h(J,{...o,...h.vOn(d)},{...o.slots,...C})}}),K=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));exports.VkfUpload=P;exports._VkfUploadCtx=R;exports.__VkfUpload=K;exports.default=P;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),V=require("@vunk/form/components/form-item"),E=require("@vunk/core/shared/utils-vue"),d=require("element-plus"),P=require("@vunk/core/shared/utils-object"),I=require("@vunk/form/shared/element-plus"),k=require("../index-Bc7UifHG.js"),z=require("@vunk/core/shared/utils-fetch"),$=require("@vunk/core/shared/utils-function"),D=require("@vunk/shared/function"),h=require("@vunk/form/composables/element-plus"),B=require("../_plugin-vue_export-helper-BHFhmbuH.js"),L=require("@vunk/form/composables"),S=require("@vunk/form/shared/progress-it"),b={...V._VkfFormItemCtx.props,...d.uploadProps,tip:{type:String,default:""},preview:null,previewLabel:{type:String,default:void 0},beforeUpload:{type:Function,default:void 0},onDownload:{type:Function,default:void 0},onExceed:{type:Function,default:void 0},exceedable:{type:Boolean,default:!1},confirmExceed:{type:Boolean,default:!1},slots:null},T=E.bindPropsFactory(b),g={"update:fileList":null,remove:o=>o},N=E.onEmitsFactory(g),F=Object.freeze(Object.defineProperty({__proto__:null,createBindProps:T,createOnEmits:N,emits:g,props:b},Symbol.toStringTag,{value:"Module"})),R=new z.RestFetch({baseURL:""}),q=e.defineComponent({components:{ElProgress:d.ElProgress,ElIcon:d.ElIcon,Check:k.check_default,ZoomIn:k.zoom_in_default,Delete:k.delete_default,Close:k.close_default,CircleCheck:k.circle_check_default,Document:k.document_default,Download:k.download_default,ElButton:d.ElButton},props:{listType:{type:String,default:"text"},file:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},onPreview:{type:Function,default:()=>$.NOOP},onDownload:{type:Function,default:void 0},preview:{type:[Boolean,Function],default:!1},previewLabel:{type:String,default:void 0}},emits:{remove:o=>o},setup(o,{emit:l}){const f=d.useNamespace("upload"),a=d.useNamespace("icon"),{tr:w}=h.useLocale(),i=(n=o.file)=>{l("remove",n)},p=(n=o.file)=>{if(o.onDownload){o.onDownload(n);return}let t="";n.url?t=n.url:n.raw&&(t=window.URL.createObjectURL(n.raw)),t&&R.download({url:t,fileName:n.name},{method:"GET"})},s=e.computed(()=>D.isCallable(o.preview)?o.preview(o.file):o.preview),u=e.computed(()=>o.previewLabel||w("el.upload.preview","预览"));return{handleRemove:i,nsIcon:a,nsUpload:f,handleDownload:p,handlePreview:(n=o.file)=>{s.value&&o.onPreview(n)},previewText:u,previewable:s,tr:w}}}),O=["src"];function j(o,l,f,a,w,i){const p=e.resolveComponent("Document"),s=e.resolveComponent("ElIcon"),u=e.resolveComponent("Download"),v=e.resolveComponent("ElButton"),n=e.resolveComponent("ElProgress"),t=e.resolveComponent("CircleCheck"),r=e.resolveComponent("Check"),c=e.resolveComponent("Close"),C=e.resolveComponent("ZoomIn"),y=e.resolveComponent("Delete");return e.openBlock(),e.createElementBlock(e.Fragment,null,[o.listType==="picture"||o.file.status!=="uploading"&&o.listType==="picture-card"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[/\.(svg|png|jpg|jpeg)$/.test(o.file.name)?(e.openBlock(),e.createElementBlock("img",{key:0,class:e.normalizeClass(o.nsUpload.be("list","item-thumbnail")),src:o.file.url,alt:""},null,10,O)):(e.openBlock(),e.createBlock(p,{key:1,class:e.normalizeClass([o.nsUpload.be("list","item-thumbnail"),o.nsIcon.m("document")])},null,8,["class"]))],64)):e.createCommentVNode("",!0),o.listType!=="picture-card"||o.file.status==="uploading"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(o.nsUpload.be("list","item-info"))},[e.createElementVNode("a",{class:e.normalizeClass(o.nsUpload.be("list","item-name")),onClick:l[1]||(l[1]=e.withModifiers(m=>o.handlePreview(o.file),["prevent"]))},[e.createVNode(s,{class:e.normalizeClass(o.nsIcon.m("document"))},{default:e.withCtx(()=>[e.createVNode(p)]),_:1},8,["class"]),e.createVNode(s,{class:e.normalizeClass([o.nsIcon.m("download"),o.nsIcon.m("download-primary")]),onClick:l[0]||(l[0]=e.withModifiers(m=>o.handleDownload(o.file),["stop"]))},{default:e.withCtx(()=>[e.createVNode(u)]),_:1},8,["class"]),e.createElementVNode("span",{class:e.normalizeClass(o.nsUpload.be("list","item-file-name"))},e.toDisplayString(o.file.name),3)],2),o.listType==="picture"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.nsUpload.be("list","item-file-actions"))},[e.createVNode(v,{disabled:!o.previewable,class:e.normalizeClass(o.nsUpload.be("list","item-file-action-preview")),plain:"",size:"small",round:"",onClick:l[2]||(l[2]=m=>o.handlePreview(o.file))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.previewText),1)]),_:1},8,["disabled","class"]),e.createVNode(v,{plain:"",size:"small",round:"",type:"primary",onClick:l[3]||(l[3]=m=>o.handleDownload(o.file))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.tr("vkf.common.download","下载")),1)]),_:1})],2)):e.createCommentVNode("",!0),o.file.status==="uploading"?(e.openBlock(),e.createBlock(n,{key:1,type:o.listType==="picture-card"?"circle":"line","stroke-width":o.listType==="picture-card"?6:2,percentage:Number(o.file.percentage),style:e.normalizeStyle(o.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("label",{class:e.normalizeClass(o.nsUpload.be("list","item-status-label"))},[o.listType==="text"?(e.openBlock(),e.createBlock(s,{key:0,class:e.normalizeClass([o.nsIcon.m("upload-success"),o.nsIcon.m("circle-check")])},{default:e.withCtx(()=>[e.createVNode(t)]),_:1},8,["class"])):["picture-card","picture"].includes(o.listType)?(e.openBlock(),e.createBlock(s,{key:1,class:e.normalizeClass([o.nsIcon.m("upload-success"),o.nsIcon.m("check")])},{default:e.withCtx(()=>[e.createVNode(r)]),_:1},8,["class"])):e.createCommentVNode("",!0)],2),o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(s,{key:2,class:e.normalizeClass(o.nsIcon.m("close")),onClick:l[4]||(l[4]=m=>o.handleRemove(o.file))},{default:e.withCtx(()=>[e.createVNode(c)]),_:1},8,["class"])),o.listType==="picture-card"?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(o.nsUpload.be("list","item-actions"))},[o.previewable?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(o.nsUpload.be("list","item-preview")),onClick:l[5]||(l[5]=m=>o.handlePreview(o.file))},[e.createVNode(s,{class:e.normalizeClass(o.nsIcon.m("zoom-in"))},{default:e.withCtx(()=>[e.createVNode(C)]),_:1},8,["class"])],2)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(o.nsUpload.be("list","item-download")),onClick:l[6]||(l[6]=m=>o.handleDownload(o.file))},[e.createVNode(s,{class:e.normalizeClass(o.nsIcon.m("download"))},{default:e.withCtx(()=>[e.createVNode(u)]),_:1},8,["class"])],2),o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(o.nsUpload.be("list","item-delete")),onClick:l[7]||(l[7]=m=>o.handleRemove(o.file))},[e.createVNode(s,{class:e.normalizeClass(o.nsIcon.m("delete"))},{default:e.withCtx(()=>[e.createVNode(y)]),_:1},8,["class"])],2))],2)):e.createCommentVNode("",!0)],64)}const M=B._export_sfc(q,[["render",j]]),Z=e.defineComponent({components:{VkfFormItem:V.VkfFormItem,ElUpload:d.ElUpload,FileVue:M,ElLink:d.ElLink},props:b,emits:g,setup(o,{emit:l}){const f=V._VkfFormItemCtx.createBindProps(o),{tr:a}=h.useLocale(),w=I.createUploadBindProps(o,["disabled","fileList","beforeUpload","onSuccess"]),i=e.shallowRef(),p=t=>{i.value?.handleRemove(t),i.value?.abort(t),l("update:fileList",o.fileList)},s=(t,r)=>{if(o.onExceed){o.onExceed(t,r);return}if(o.exceedable){const c=()=>{i.value?.clearFiles(),t.forEach(C=>{C.uid=d.genFileId(),i.value?.handleStart(C)}),i.value?.submit()};o.confirmExceed?d.ElMessageBox.confirm(a("vkf.upload.exceedConfirm","已超过最大上传数量限制,是否使用新文件重新上传?"),a("el.messagebox.title","提示"),{confirmButtonText:a("el.upload.continue","继续"),cancelButtonText:a("el.messagebox.cancel","取消"),type:"warning"}).then(c):c()}},u=L.useComputedReadonly(o),v=(t,r,c)=>{r.raw.progress?.(!0),r.percentage=100,r.status="success",o.onSuccess?.(t,r,c)},n=async t=>{const r=(c,C)=>{const y=o.fileList.find(m=>m.uid===t.uid);y&&(y.percentage=Number((c*100).toFixed(2)),C===!1&&(y.status="uploading"))};return t.progress=S(r)(!1),o.beforeUpload?await o.beforeUpload?.(t):!0};return{formItemBindProps:f,pickObject:P.pickObject,coreBindProps:w,uploadRef:i,handleRemove:p,readonly:u,onSuccess:v,beforeUpload:n,handleExceed:s,tr:a}}}),G={class:"el-upload__tip"};function H(o,l,f,a,w,i){const p=e.resolveComponent("ElLink"),s=e.resolveComponent("FileVue"),u=e.resolveComponent("ElUpload"),v=e.resolveComponent("VkfFormItem");return e.openBlock(),e.createBlock(v,e.normalizeProps(e.guardReactiveProps(o.formItemBindProps)),{default:e.withCtx(()=>[e.createVNode(u,e.mergeProps(o.coreBindProps,{ref:"uploadRef",class:["vkf-upload",{"is-readonly":o.readonly,"is-empty":o.fileList?.length===0,"is-limit":o.limit&&o.fileList?.length>=o.limit,"is-exceedable":o.exceedable}],"file-list":o.fileList??[],"on-success":o.onSuccess,"before-upload":o.beforeUpload,disabled:o.readonly||o.disabled,"on-exceed":o.handleExceed,"onUpdate:fileList":l[0]||(l[0]=n=>o.$emit("update:fileList",n))}),e.createSlots({file:e.withCtx(({file:n})=>[e.createVNode(s,{file:n,"list-type":o.listType,disabled:o.readonly||o.disabled,"on-preview":o.onPreview,preview:o.preview,"on-download":o.onDownload,"preview-label":o.previewLabel,onRemove:o.handleRemove},null,8,["file","list-type","disabled","on-preview","preview","on-download","preview-label","onRemove"])]),default:e.withCtx(()=>[e.renderSlot(o.$slots,"default",{},()=>[e.createVNode(p,{type:"primary"},{default:e.withCtx(()=>[e.createTextVNode(" + "+e.toDisplayString(o.tr("vkf.upload.selectFile","选择文件")),1)]),_:1})])]),_:2},[o.tip?{name:"tip",fn:e.withCtx(()=>[e.createElementVNode("div",G,e.toDisplayString(o.tip),1)]),key:"0"}:void 0]),1040,["class","file-list","on-success","before-upload","disabled","on-exceed"]),e.createElementVNode("span",{class:e.normalizeClass(["vkf-upload-empty-tip",{"is-readonly":o.readonly,"is-empty":o.fileList?.length===0}])},e.toDisplayString(o.tr("vkf.upload.empty","暂无")),3)]),_:3},16)}const A=B._export_sfc(Z,[["render",H]]),U=e.defineComponent({name:"VkfUpload",props:b,emits:g,setup(o,{emit:l,slots:f}){const a=N(l);return()=>e.h(A,{...o,...E.vOn(a)},{...o.slots,...f})}}),J=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));exports.VkfUpload=U;exports._VkfUploadCtx=F;exports.__VkfUpload=J;exports.default=U;