@keyblade/pro-components 1.12.1-alpha.13 → 1.12.1-alpha.15

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.
@@ -1,10 +1,195 @@
1
- import { defineComponent as e, openBlock as o, createElementBlock as t } from "vue";
2
- const p = /* @__PURE__ */ e({
1
+ import { defineComponent as N, mergeModels as F, useModel as X, ref as d, computed as U, watch as T, resolveComponent as Y, openBlock as Z, createElementBlock as A, createVNode as R } from "vue";
2
+ import { Message as I } from "@arco-design/web-vue";
3
+ import { conclude as B } from "vue-global-config";
4
+ import { EImageUploadInnerBeforeUploadStep as u } from "./types.js";
5
+ import { defaultImageUploadOptions as f } from "./constant.js";
6
+ import { defaultImageUploadCheckOptions as ee, defaultImageUploadCompressorOptions as ae, defaultImageUploadCropOptions as oe, oneTravelImageCheckAndTransform as le, oneTravelImageCompressor as te } from "@keyblade/one-travel";
7
+ var q, P, D;
8
+ const fe = /* @__PURE__ */ N({
3
9
  __name: "image-upload",
4
- setup(n) {
5
- return (r, a) => (o(), t("div"));
10
+ props: /* @__PURE__ */ F({
11
+ action: {},
12
+ handlerResponse: {},
13
+ headers: {},
14
+ data: {},
15
+ name: { default: (q = f) == null ? void 0 : q.name },
16
+ tip: {},
17
+ accept: { default: () => {
18
+ var v;
19
+ return ((v = f) == null ? void 0 : v.accept) || [];
20
+ } },
21
+ multiple: { type: Boolean, default: f.multiple },
22
+ singleLimit: { default: f.singleLimit },
23
+ limit: {},
24
+ disabled: { type: Boolean, default: (P = f) == null ? void 0 : P.disabled },
25
+ hideInnerBeforeUploadLoading: { type: Boolean, default: (D = f) == null ? void 0 : D.hideInnerBeforeUploadLoading },
26
+ checkOptions: {},
27
+ compressorOptions: {},
28
+ cropOptions: {},
29
+ onSuccess: {},
30
+ onError: {},
31
+ onExceed: {},
32
+ onBeforeUpload: {},
33
+ onInnerBeforeUploadStart: {},
34
+ onInnerBeforeUploadEnd: {}
35
+ }, {
36
+ modelValue: { required: !0 },
37
+ modelModifiers: {}
38
+ }),
39
+ emits: /* @__PURE__ */ F(["cropperImgLoad"], ["update:modelValue"]),
40
+ setup(v, { expose: G, emit: re }) {
41
+ X(v, "modelValue");
42
+ const e = v, J = d(), K = d(), M = d(), w = d(
43
+ []
44
+ ), o = d(), r = d();
45
+ d(), U(() => e.accept.map((i) => `.${i}`).join(","));
46
+ const n = U(() => B([e.checkOptions, ee]) || {}), g = U(() => B([e.compressorOptions, ae]) || {}), p = U(() => B([e.cropOptions, oe]) || {});
47
+ T(o, async () => {
48
+ var y, E, O, C, S, b, _, z, j, L, $, H, V, W, k, Q;
49
+ if (o.value === void 0 || w.value.length === 0)
50
+ return;
51
+ const i = w.value[o.value], { file: l, resolve: h, reject: x } = i;
52
+ let s = l.name, t = l;
53
+ if ((y = n.value) != null && y.enable) {
54
+ r.value = {
55
+ loading: !0,
56
+ text: `第${o.value + 1}张图片检测中,请稍等`
57
+ }, (E = e == null ? void 0 : e.onInnerBeforeUploadStart) == null || E.call(
58
+ e,
59
+ l,
60
+ o.value,
61
+ u.check
62
+ );
63
+ const a = await le(l, l.name, {
64
+ imageMaxSize: n.value.maxSize,
65
+ imageAllowedType: n.value.allowedType,
66
+ imageMinWidth: n.value.minWidth,
67
+ imageMinHeight: n.value.minHeight,
68
+ imageMaxWidth: n.value.maxWidth,
69
+ imageMaxHeight: n.value.maxHeight
70
+ });
71
+ if (r.value = void 0, (O = e == null ? void 0 : e.onInnerBeforeUploadEnd) == null || O.call(
72
+ e,
73
+ l,
74
+ o.value,
75
+ u.check,
76
+ {
77
+ success: a.success,
78
+ error: a == null ? void 0 : a.error,
79
+ errorMessage: a == null ? void 0 : a.errorMessage
80
+ }
81
+ ), !a.success)
82
+ return (C = n.value) != null && C.showErrorMessage && I.error((a == null ? void 0 : a.errorMessage) || "图片校验及转换失败"), x();
83
+ if (a != null && a.hasTransform) {
84
+ const m = s == null ? void 0 : s.split(".");
85
+ m.pop(), s = `${m.join(",")}.jpg`, t = new File([a.file], s, {
86
+ type: a.file.type
87
+ });
88
+ } else
89
+ t = a.file;
90
+ }
91
+ if ((S = p.value) != null && S.enable) {
92
+ (b = e == null ? void 0 : e.onInnerBeforeUploadStart) == null || b.call(
93
+ e,
94
+ l,
95
+ o.value,
96
+ u.crop
97
+ );
98
+ try {
99
+ (_ = p.value) != null && _.customCrop ? t = await p.value.customCrop(t) : t = await new Promise((a, m) => {
100
+ M.value = { file: t, resolve: a, reject: m };
101
+ }), (z = e == null ? void 0 : e.onInnerBeforeUploadEnd) == null || z.call(
102
+ e,
103
+ l,
104
+ o.value,
105
+ u.crop,
106
+ {
107
+ success: !1
108
+ }
109
+ );
110
+ } catch {
111
+ return (j = e == null ? void 0 : e.onInnerBeforeUploadEnd) == null || j.call(
112
+ e,
113
+ l,
114
+ o.value,
115
+ u.crop,
116
+ {
117
+ success: !1,
118
+ error: {
119
+ crop: !0
120
+ },
121
+ errorMessage: "图片剪裁失败"
122
+ }
123
+ ), (L = p.value) != null && L.showErrorMessage && I.error("图片剪裁失败"), x();
124
+ } finally {
125
+ M.value = void 0;
126
+ }
127
+ }
128
+ if (($ = g.value) != null && $.enable) {
129
+ r.value = {
130
+ loading: !0,
131
+ text: `第${o.value + 1}张图片处理中,请稍等`
132
+ }, (H = e == null ? void 0 : e.onInnerBeforeUploadStart) == null || H.call(
133
+ e,
134
+ l,
135
+ o.value,
136
+ u.compress
137
+ );
138
+ const a = await te(t, {
139
+ maxSize: g.value.maxSize,
140
+ size: g.value.size,
141
+ excludeAllowedTypes: (V = g.value.excludeAllowedTypes) == null ? void 0 : V.map((m) => `image/${m}`)
142
+ });
143
+ if (r.value = void 0, (W = e == null ? void 0 : e.onInnerBeforeUploadEnd) == null || W.call(
144
+ e,
145
+ l,
146
+ o.value,
147
+ u.compress,
148
+ {
149
+ success: a.success,
150
+ error: {
151
+ compress: !0
152
+ },
153
+ errorMessage: a == null ? void 0 : a.errorMessage
154
+ }
155
+ ), !a.success)
156
+ return (k = g.value) != null && k.showErrorMessage && I.error((a == null ? void 0 : a.errorMessage) || "图片压缩失败"), x();
157
+ t = new File([a.file], s, {
158
+ type: a.file.type
159
+ });
160
+ }
161
+ r.value = void 0, (Q = e == null ? void 0 : e.onInnerBeforeUploadEnd) == null || Q.call(
162
+ e,
163
+ l,
164
+ o.value,
165
+ u.all,
166
+ {
167
+ success: !0
168
+ }
169
+ ), h(t);
170
+ });
171
+ let c;
172
+ return T(
173
+ () => r.value,
174
+ () => {
175
+ var i;
176
+ r.value ? c = I.loading({
177
+ content: r.value.text,
178
+ id: "image-upload-id",
179
+ duration: 0
180
+ }) : (i = c == null ? void 0 : c.close) == null || i.call(c);
181
+ }
182
+ ), G({
183
+ uploadInsRef: J,
184
+ cropperInsRef: K
185
+ }), (i, l) => {
186
+ const h = Y("a-upload");
187
+ return Z(), A("div", null, [
188
+ R(h, { action: i.action }, null, 8, ["action"])
189
+ ]);
190
+ };
6
191
  }
7
192
  });
8
193
  export {
9
- p as default
194
+ fe as default
10
195
  };