@gx-design-vue/image 0.2.0-alpha.2 → 0.2.0-alpha.4
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.
- package/dist/Image.js +6 -8
- package/dist/ImagePreview.js +2 -2
- package/dist/g-image.esm.js +172 -161
- package/dist/g-image.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +4 -4
package/dist/Image.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import useImagePreview from "./hooks/useImagePreview.js";
|
|
2
|
-
import
|
|
2
|
+
import GImagePreview from "./ImagePreview.js";
|
|
3
3
|
import style_default from "./style/index.js";
|
|
4
4
|
import { Fragment, computed, createVNode, defineComponent, mergeDefaults, mergeProps, nextTick, onMounted, ref, watch } from "vue";
|
|
5
5
|
import { EyeOutlined } from "@antdv-next/icons";
|
|
@@ -186,7 +186,7 @@ const Image = /* @__PURE__ */ defineComponent((props, { emit, slots, expose, att
|
|
|
186
186
|
"class": classNames(`${prefixCls.value}-mask`, previewConfig.value.maskClass),
|
|
187
187
|
"style": { display: containerAttrs.style?.display === "none" ? "none" : void 0 }
|
|
188
188
|
}, [slotProps.mask || createVNode("div", { "class": classNames(`${prefixCls.value}-mask-info`) }, [createVNode(EyeOutlined, null, null)])]),
|
|
189
|
-
canPreview.value && createVNode(
|
|
189
|
+
canPreview.value && createVNode(GImagePreview, mergeProps(previewConfig.value, {
|
|
190
190
|
"urls": previewConfig.value.urls || (props.src ? [props.src] : []),
|
|
191
191
|
"current": currentPreviewIndex.value,
|
|
192
192
|
"zIndex": props.zIndex ?? previewConfig.value.zIndex,
|
|
@@ -264,12 +264,11 @@ const Image = /* @__PURE__ */ defineComponent((props, { emit, slots, expose, att
|
|
|
264
264
|
placeholder: {
|
|
265
265
|
type: [
|
|
266
266
|
Function,
|
|
267
|
-
Object,
|
|
268
267
|
String,
|
|
269
268
|
Number,
|
|
270
|
-
Boolean,
|
|
271
269
|
null,
|
|
272
|
-
|
|
270
|
+
Object,
|
|
271
|
+
Boolean
|
|
273
272
|
],
|
|
274
273
|
required: false,
|
|
275
274
|
default: void 0
|
|
@@ -277,12 +276,11 @@ const Image = /* @__PURE__ */ defineComponent((props, { emit, slots, expose, att
|
|
|
277
276
|
fallback: {
|
|
278
277
|
type: [
|
|
279
278
|
Function,
|
|
280
|
-
Object,
|
|
281
279
|
String,
|
|
282
280
|
Number,
|
|
283
|
-
Boolean,
|
|
284
281
|
null,
|
|
285
|
-
|
|
282
|
+
Object,
|
|
283
|
+
Boolean
|
|
286
284
|
],
|
|
287
285
|
required: false,
|
|
288
286
|
default: void 0
|
package/dist/ImagePreview.js
CHANGED
|
@@ -103,7 +103,7 @@ function triggerDownload(blob, fileName) {
|
|
|
103
103
|
link.remove();
|
|
104
104
|
URL.revokeObjectURL(blobUrl);
|
|
105
105
|
}
|
|
106
|
-
const
|
|
106
|
+
const GImagePreview = /* @__PURE__ */ defineComponent((props, { emit, slots, expose }) => {
|
|
107
107
|
const { width: windowWidth, height: windowHeight } = useWindowSize();
|
|
108
108
|
const { prefixCls } = useBaseConfig("pro-image-preview", props);
|
|
109
109
|
const rootCls = useCSSVarCls(prefixCls);
|
|
@@ -590,4 +590,4 @@ const ForwardImagePreview = /* @__PURE__ */ defineComponent((props, { emit, slot
|
|
|
590
590
|
inheritAttrs: false
|
|
591
591
|
});
|
|
592
592
|
//#endregion
|
|
593
|
-
export {
|
|
593
|
+
export { GImagePreview as default };
|
package/dist/g-image.esm.js
CHANGED
|
@@ -4,8 +4,6 @@ import { proGenStyleHooks as ie, unit as F } from "@gx-design-vue/pro-provider";
|
|
|
4
4
|
import { useBaseConfig as ae } from "antdv-next/config-provider/context";
|
|
5
5
|
import oe from "antdv-next/config-provider/hooks/useCSSVarCls";
|
|
6
6
|
import { message as I } from "antdv-next";
|
|
7
|
-
typeof process < "u" && process.versions != null && process.versions.node;
|
|
8
|
-
//#endregion
|
|
9
7
|
//#region ../pro-utils/dist/is/type.js
|
|
10
8
|
function L(e, t) {
|
|
11
9
|
return Object.prototype.toString.call(e) === `[object ${t}]`;
|
|
@@ -103,25 +101,38 @@ function K(...e) {
|
|
|
103
101
|
return t.filter((e) => e).join(" ");
|
|
104
102
|
}
|
|
105
103
|
//#endregion
|
|
106
|
-
//#region ../pro-utils/dist/
|
|
104
|
+
//#region ../pro-utils/dist/slots/index.js
|
|
107
105
|
function he({ vnode: e, defaultVNode: t }, ...n) {
|
|
108
106
|
return e === !1 ? null : typeof e == "function" ? e?.(...n) : e || t;
|
|
109
107
|
}
|
|
110
|
-
function ge(e,
|
|
111
|
-
|
|
112
|
-
return s = c === !1 ? !1 : c === !0 ? l ?? u : B(c) && i ? f(c) ? c : l : c || l, s === !1 ? !1 : i ? he({
|
|
113
|
-
vnode: s,
|
|
114
|
-
defaultVNode: u
|
|
115
|
-
}, ...t) : s;
|
|
108
|
+
function ge({ value: e, slotsValue: t, defaultVNode: n, render: r }) {
|
|
109
|
+
return e === !1 ? !1 : e === !0 ? t ?? n : B(e) && r ? f(e) ? e : t : e || t;
|
|
116
110
|
}
|
|
117
|
-
function
|
|
118
|
-
let { slots: n, key: r = "default",
|
|
119
|
-
|
|
120
|
-
|
|
111
|
+
function _e(e, ...t) {
|
|
112
|
+
let { slots: n, key: r = "default", render: i, props: a, defaultChildren: o } = e, s = a[r], c = n?.[r], l = typeof o == "function" ? o?.() : o, u = ge({
|
|
113
|
+
value: s,
|
|
114
|
+
slotsValue: c,
|
|
115
|
+
defaultVNode: l,
|
|
116
|
+
render: i
|
|
117
|
+
});
|
|
118
|
+
return u === !1 ? !1 : i ? he({
|
|
119
|
+
vnode: u,
|
|
121
120
|
defaultVNode: l
|
|
121
|
+
}, ...t) : u;
|
|
122
|
+
}
|
|
123
|
+
function q(e, ...t) {
|
|
124
|
+
let { slots: n, key: r = "default", props: i, defaultChildren: a } = e, o = i[r], s = n?.[r]?.(...t), c = typeof a == "function" ? a?.() : a, l = ge({
|
|
125
|
+
value: o,
|
|
126
|
+
slotsValue: s,
|
|
127
|
+
defaultVNode: c,
|
|
128
|
+
render: !0
|
|
129
|
+
});
|
|
130
|
+
return l === !1 ? !1 : he({
|
|
131
|
+
vnode: l,
|
|
132
|
+
defaultVNode: c
|
|
122
133
|
}, ...t);
|
|
123
134
|
}
|
|
124
|
-
function
|
|
135
|
+
function ve(e, ...t) {
|
|
125
136
|
let { slots: n, props: r, keys: i, render: a, defaultVNodes: o } = e, s = {};
|
|
126
137
|
return i.forEach((e, i) => {
|
|
127
138
|
let c = o ? o[i] : null, l = a ? q({
|
|
@@ -129,7 +140,7 @@ function _e(e, ...t) {
|
|
|
129
140
|
props: r,
|
|
130
141
|
key: e,
|
|
131
142
|
defaultChildren: c
|
|
132
|
-
}, ...t) :
|
|
143
|
+
}, ...t) : _e({
|
|
133
144
|
slots: n,
|
|
134
145
|
props: r,
|
|
135
146
|
key: e,
|
|
@@ -141,29 +152,29 @@ function _e(e, ...t) {
|
|
|
141
152
|
}
|
|
142
153
|
//#endregion
|
|
143
154
|
//#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.27_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
|
|
144
|
-
function
|
|
155
|
+
function ye(e, t) {
|
|
145
156
|
return c() ? (_(e, t), !0) : !1;
|
|
146
157
|
}
|
|
147
|
-
var J = /* @__PURE__ */ new WeakMap(),
|
|
158
|
+
var J = /* @__PURE__ */ new WeakMap(), be = (...e) => {
|
|
148
159
|
let t = e[0], n = s()?.proxy ?? c();
|
|
149
160
|
if (n == null && !l()) throw Error("injectLocal must be called in setup");
|
|
150
161
|
return n && J.has(n) && t in J.get(n) ? J.get(n)[t] : u(...e);
|
|
151
162
|
}, Y = typeof window < "u" && typeof document < "u";
|
|
152
163
|
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
|
|
153
|
-
var
|
|
154
|
-
function
|
|
164
|
+
var xe = Object.prototype.toString, Se = (e) => xe.call(e) === "[object Object]", Ce = () => {}, we = /* @__PURE__ */ Te();
|
|
165
|
+
function Te() {
|
|
155
166
|
var e, t;
|
|
156
167
|
return Y && !!(!((e = window) == null || (e = e.navigator) == null) && e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window) == null || (t = t.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));
|
|
157
168
|
}
|
|
158
|
-
function
|
|
169
|
+
function Ee(...e) {
|
|
159
170
|
if (e.length !== 1) return S(...e);
|
|
160
171
|
let t = e[0];
|
|
161
172
|
return typeof t == "function" ? y(a(() => ({
|
|
162
173
|
get: t,
|
|
163
|
-
set:
|
|
174
|
+
set: Ce
|
|
164
175
|
}))) : b(t);
|
|
165
176
|
}
|
|
166
|
-
function
|
|
177
|
+
function De(e, t) {
|
|
167
178
|
function n(...n) {
|
|
168
179
|
return new Promise((r, i) => {
|
|
169
180
|
Promise.resolve(e(() => t.apply(this, n), {
|
|
@@ -175,11 +186,11 @@ function Ee(e, t) {
|
|
|
175
186
|
}
|
|
176
187
|
return n;
|
|
177
188
|
}
|
|
178
|
-
function
|
|
179
|
-
let t = 0, n, r = !0, i =
|
|
189
|
+
function Oe(...e) {
|
|
190
|
+
let t = 0, n, r = !0, i = Ce, a, o, s, c, l;
|
|
180
191
|
!d(e[0]) && typeof e[0] == "object" ? {delay: o, trailing: s = !0, leading: c = !0, rejectOnCancel: l = !1} = e[0] : [o, s = !0, c = !0, l = !1] = e;
|
|
181
192
|
let u = () => {
|
|
182
|
-
n && (clearTimeout(n), n = void 0, i(), i =
|
|
193
|
+
n && (clearTimeout(n), n = void 0, i(), i = Ce);
|
|
183
194
|
};
|
|
184
195
|
return (e) => {
|
|
185
196
|
let d = C(o), f = Date.now() - t, p = () => a = e();
|
|
@@ -190,22 +201,22 @@ function De(...e) {
|
|
|
190
201
|
})), !c && !n && (n = setTimeout(() => r = !0, d)), r = !1, a);
|
|
191
202
|
};
|
|
192
203
|
}
|
|
193
|
-
function
|
|
204
|
+
function ke(e) {
|
|
194
205
|
return e.endsWith("rem") ? Number.parseFloat(e) * 16 : Number.parseFloat(e);
|
|
195
206
|
}
|
|
196
|
-
function
|
|
207
|
+
function Ae(e) {
|
|
197
208
|
return Array.isArray(e) ? e : [e];
|
|
198
209
|
}
|
|
199
|
-
function
|
|
210
|
+
function je(e) {
|
|
200
211
|
return e || s();
|
|
201
212
|
}
|
|
202
|
-
function
|
|
203
|
-
return
|
|
213
|
+
function Me(e, t = 200, n = !1, r = !0, i = !1) {
|
|
214
|
+
return De(Oe(t, n, r, i), e);
|
|
204
215
|
}
|
|
205
|
-
function
|
|
206
|
-
|
|
216
|
+
function Ne(e, t = !0, n) {
|
|
217
|
+
je(n) ? g(e, n) : t ? e() : h(e);
|
|
207
218
|
}
|
|
208
|
-
function
|
|
219
|
+
function Pe(e, t, n) {
|
|
209
220
|
return T(e, t, {
|
|
210
221
|
...n,
|
|
211
222
|
immediate: !0
|
|
@@ -213,54 +224,54 @@ function Ne(e, t, n) {
|
|
|
213
224
|
}
|
|
214
225
|
//#endregion
|
|
215
226
|
//#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.27_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
|
|
216
|
-
var
|
|
227
|
+
var Fe = Y ? window : void 0;
|
|
217
228
|
Y && window.document, Y && window.navigator, Y && window.location;
|
|
218
|
-
function
|
|
229
|
+
function Ie(e) {
|
|
219
230
|
let t = C(e);
|
|
220
231
|
return t?.$el ?? t;
|
|
221
232
|
}
|
|
222
233
|
function X(...e) {
|
|
223
234
|
let t = (e, t, n, r) => (e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r)), n = r(() => {
|
|
224
|
-
let t =
|
|
235
|
+
let t = Ae(C(e[0])).filter((e) => e != null);
|
|
225
236
|
return t.every((e) => typeof e != "string") ? t : void 0;
|
|
226
237
|
});
|
|
227
|
-
return
|
|
228
|
-
n.value?.map((e) =>
|
|
229
|
-
|
|
230
|
-
|
|
238
|
+
return Pe(() => [
|
|
239
|
+
n.value?.map((e) => Ie(e)) ?? [Fe].filter((e) => e != null),
|
|
240
|
+
Ae(C(n.value ? e[1] : e[0])),
|
|
241
|
+
Ae(w(n.value ? e[2] : e[1])),
|
|
231
242
|
C(n.value ? e[3] : e[2])
|
|
232
243
|
], ([e, n, r, i], a, o) => {
|
|
233
244
|
if (!e?.length || !n?.length || !r?.length) return;
|
|
234
|
-
let s =
|
|
245
|
+
let s = Se(i) ? { ...i } : i, c = e.flatMap((e) => n.flatMap((n) => r.map((r) => t(e, n, r, s))));
|
|
235
246
|
o(() => {
|
|
236
247
|
c.forEach((e) => e());
|
|
237
248
|
});
|
|
238
249
|
}, { flush: "post" });
|
|
239
250
|
}
|
|
240
|
-
function
|
|
251
|
+
function Le() {
|
|
241
252
|
let e = x(!1), t = s();
|
|
242
253
|
return t && g(() => {
|
|
243
254
|
e.value = !0;
|
|
244
255
|
}, t), e;
|
|
245
256
|
}
|
|
246
257
|
/* @__NO_SIDE_EFFECTS__ */
|
|
247
|
-
function
|
|
248
|
-
let t =
|
|
258
|
+
function Re(e) {
|
|
259
|
+
let t = Le();
|
|
249
260
|
return r(() => (t.value, !!e()));
|
|
250
261
|
}
|
|
251
|
-
var
|
|
262
|
+
var ze = Symbol("vueuse-ssr-width");
|
|
252
263
|
/* @__NO_SIDE_EFFECTS__ */
|
|
253
|
-
function
|
|
254
|
-
let e = l() ?
|
|
264
|
+
function Be() {
|
|
265
|
+
let e = l() ? be(ze, null) : null;
|
|
255
266
|
return typeof e == "number" ? e : void 0;
|
|
256
267
|
}
|
|
257
|
-
function
|
|
258
|
-
let { window: n =
|
|
268
|
+
function Ve(e, t = {}) {
|
|
269
|
+
let { window: n = Fe, ssrWidth: i = /* @__PURE__ */ Be() } = t, a = /* @__PURE__ */ Re(() => n && "matchMedia" in n && typeof n.matchMedia == "function"), o = x(typeof i == "number"), s = x(), c = x(!1);
|
|
259
270
|
return E(() => {
|
|
260
271
|
if (o.value) {
|
|
261
272
|
o.value = !a.value, c.value = C(e).split(",").some((e) => {
|
|
262
273
|
let t = e.includes("not all"), n = e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), r = e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), a = !!(n || r);
|
|
263
|
-
return n && a && (a = i >=
|
|
274
|
+
return n && a && (a = i >= ke(n[1])), r && a && (a = i <= ke(r[1])), t ? !a : a;
|
|
264
275
|
});
|
|
265
276
|
return;
|
|
266
277
|
}
|
|
@@ -269,42 +280,42 @@ function Be(e, t = {}) {
|
|
|
269
280
|
c.value = e.matches;
|
|
270
281
|
}, { passive: !0 }), r(() => c.value);
|
|
271
282
|
}
|
|
272
|
-
function
|
|
283
|
+
function He(e) {
|
|
273
284
|
return typeof Window < "u" && e instanceof Window ? e.document.documentElement : typeof Document < "u" && e instanceof Document ? e.documentElement : e;
|
|
274
285
|
}
|
|
275
|
-
function
|
|
286
|
+
function Ue(e) {
|
|
276
287
|
let t = window.getComputedStyle(e);
|
|
277
288
|
if (t.overflowX === "scroll" || t.overflowY === "scroll" || t.overflowX === "auto" && e.clientWidth < e.scrollWidth || t.overflowY === "auto" && e.clientHeight < e.scrollHeight) return !0;
|
|
278
289
|
{
|
|
279
290
|
let t = e.parentNode;
|
|
280
|
-
return !t || t.tagName === "BODY" ? !1 :
|
|
291
|
+
return !t || t.tagName === "BODY" ? !1 : Ue(t);
|
|
281
292
|
}
|
|
282
293
|
}
|
|
283
|
-
function
|
|
294
|
+
function We(e) {
|
|
284
295
|
let t = e || window.event, n = t.target;
|
|
285
|
-
return
|
|
296
|
+
return Ue(n) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);
|
|
286
297
|
}
|
|
287
|
-
var
|
|
288
|
-
function
|
|
298
|
+
var Ge = /* @__PURE__ */ new WeakMap();
|
|
299
|
+
function Ke(e, t = !1) {
|
|
289
300
|
let n = x(t), i = null, a = "";
|
|
290
|
-
T(
|
|
291
|
-
let t =
|
|
301
|
+
T(Ee(e), (e) => {
|
|
302
|
+
let t = He(C(e));
|
|
292
303
|
if (t) {
|
|
293
304
|
let e = t;
|
|
294
|
-
if (
|
|
305
|
+
if (Ge.get(e) || Ge.set(e, e.style.overflow), e.style.overflow !== "hidden" && (a = e.style.overflow), e.style.overflow === "hidden") return n.value = !0;
|
|
295
306
|
if (n.value) return e.style.overflow = "hidden";
|
|
296
307
|
}
|
|
297
308
|
}, { immediate: !0 });
|
|
298
309
|
let o = () => {
|
|
299
|
-
let t =
|
|
300
|
-
!t || n.value || (
|
|
301
|
-
|
|
310
|
+
let t = He(C(e));
|
|
311
|
+
!t || n.value || (we && (i = X(t, "touchmove", (e) => {
|
|
312
|
+
We(e);
|
|
302
313
|
}, { passive: !1 })), t.style.overflow = "hidden", n.value = !0);
|
|
303
314
|
}, s = () => {
|
|
304
|
-
let t =
|
|
305
|
-
!t || !n.value || (
|
|
315
|
+
let t = He(C(e));
|
|
316
|
+
!t || !n.value || (we && i?.(), t.style.overflow = a, Ge.delete(t), n.value = !1);
|
|
306
317
|
};
|
|
307
|
-
return
|
|
318
|
+
return ye(s), r({
|
|
308
319
|
get() {
|
|
309
320
|
return n.value;
|
|
310
321
|
},
|
|
@@ -313,25 +324,25 @@ function Ge(e, t = !1) {
|
|
|
313
324
|
}
|
|
314
325
|
});
|
|
315
326
|
}
|
|
316
|
-
function
|
|
317
|
-
let { window: t =
|
|
327
|
+
function qe(e = {}) {
|
|
328
|
+
let { window: t = Fe, initialWidth: n = Infinity, initialHeight: r = Infinity, listenOrientation: i = !0, includeScrollbar: a = !0, type: o = "inner" } = e, s = x(n), c = x(r), l = () => {
|
|
318
329
|
if (t) if (o === "outer") s.value = t.outerWidth, c.value = t.outerHeight;
|
|
319
330
|
else if (o === "visual" && t.visualViewport) {
|
|
320
331
|
let { width: e, height: n, scale: r } = t.visualViewport;
|
|
321
332
|
s.value = Math.round(e * r), c.value = Math.round(n * r);
|
|
322
333
|
} else a ? (s.value = t.innerWidth, c.value = t.innerHeight) : (s.value = t.document.documentElement.clientWidth, c.value = t.document.documentElement.clientHeight);
|
|
323
334
|
};
|
|
324
|
-
l(),
|
|
335
|
+
l(), Ne(l);
|
|
325
336
|
let u = { passive: !0 };
|
|
326
|
-
return X("resize", l, u), t && o === "visual" && t.visualViewport && X(t.visualViewport, "resize", l, u), i && T(
|
|
337
|
+
return X("resize", l, u), t && o === "visual" && t.visualViewport && X(t.visualViewport, "resize", l, u), i && T(Ve("(orientation: portrait)"), () => l()), {
|
|
327
338
|
width: s,
|
|
328
339
|
height: c
|
|
329
340
|
};
|
|
330
341
|
}
|
|
331
342
|
//#endregion
|
|
332
343
|
//#region src/hooks/useImagePreview.ts
|
|
333
|
-
function
|
|
334
|
-
let { canPreview: t } = e, n = b(!1), r = b(null), i =
|
|
344
|
+
function Je(e) {
|
|
345
|
+
let { canPreview: t } = e, n = b(!1), r = b(null), i = Ke(document.body, !1), a;
|
|
335
346
|
return _(() => {
|
|
336
347
|
a !== void 0 && (window.cancelAnimationFrame(a), a = void 0), i.value = !1;
|
|
337
348
|
}), X("wheel", (e) => {
|
|
@@ -354,11 +365,11 @@ function qe(e) {
|
|
|
354
365
|
}
|
|
355
366
|
//#endregion
|
|
356
367
|
//#region ../pro-hooks/dist/core/useIsIos.js
|
|
357
|
-
var
|
|
358
|
-
typeof window > "u" ||
|
|
368
|
+
var Ye = (typeof window > "u" ? !1 : /iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window.MSStream;
|
|
369
|
+
typeof window > "u" || Ye || window.safari;
|
|
359
370
|
//#endregion
|
|
360
371
|
//#region ../pro-hooks/dist/core/useState.js
|
|
361
|
-
function
|
|
372
|
+
function Xe(e) {
|
|
362
373
|
let t = b(typeof e == "function" ? e() : e);
|
|
363
374
|
function n(e) {
|
|
364
375
|
t.value = e;
|
|
@@ -367,34 +378,36 @@ function Ye(e) {
|
|
|
367
378
|
}
|
|
368
379
|
//#endregion
|
|
369
380
|
//#region ../pro-hooks/dist/core/useMergedState.js
|
|
370
|
-
function
|
|
381
|
+
function Ze(e, t) {
|
|
371
382
|
let { defaultValue: n, value: r = b() } = t || {}, i = typeof e == "function" ? e() : e;
|
|
372
383
|
r.value !== void 0 && (i = w(r)), n !== void 0 && (i = typeof n == "function" ? n() : n);
|
|
373
|
-
let a = b(i), o = b(i), [s, c] =
|
|
374
|
-
E(() => {
|
|
384
|
+
let a = b(i), o = b(i), [s, c] = Xe([o.value]), l = E(() => {
|
|
375
385
|
let e = r.value === void 0 ? a.value : r.value;
|
|
376
386
|
t?.postState && (e = t.postState(e, a.value)), o.value = e;
|
|
377
|
-
}), T(s, () => {
|
|
387
|
+
}), u = T(s, () => {
|
|
378
388
|
let e = s.value[0];
|
|
379
389
|
a.value !== e && t?.onChange?.(a.value, e);
|
|
380
390
|
}, { deep: !0 });
|
|
381
|
-
function
|
|
391
|
+
function d(e) {
|
|
382
392
|
a.value = e;
|
|
383
393
|
}
|
|
384
|
-
function
|
|
385
|
-
|
|
394
|
+
function f(e) {
|
|
395
|
+
d(e), c([o.value]);
|
|
386
396
|
}
|
|
387
|
-
|
|
397
|
+
let p = T(r, () => {
|
|
388
398
|
a.value = r.value;
|
|
399
|
+
});
|
|
400
|
+
return _(() => {
|
|
401
|
+
l(), u(), p();
|
|
389
402
|
}), [
|
|
390
403
|
o,
|
|
391
|
-
|
|
404
|
+
f,
|
|
392
405
|
a
|
|
393
406
|
];
|
|
394
407
|
}
|
|
395
408
|
//#endregion
|
|
396
409
|
//#region src/hooks/useImageTransform.ts
|
|
397
|
-
var
|
|
410
|
+
var Qe = {
|
|
398
411
|
x: 0,
|
|
399
412
|
y: 0,
|
|
400
413
|
rotate: 0,
|
|
@@ -402,11 +415,11 @@ var Ze = {
|
|
|
402
415
|
flipX: !1,
|
|
403
416
|
flipY: !1
|
|
404
417
|
};
|
|
405
|
-
function
|
|
406
|
-
let { imageRef: t, minScale: n, maxScale: r, windowWidth: i, windowHeight: a, onTransform: o } = e, s = b(null), c = b([]), [l, u] =
|
|
418
|
+
function $e(e) {
|
|
419
|
+
let { imageRef: t, minScale: n, maxScale: r, windowWidth: i, windowHeight: a, onTransform: o } = e, s = b(null), c = b([]), [l, u] = Xe({ ...Qe }), d = (e) => {
|
|
407
420
|
let t = { ...l.value };
|
|
408
|
-
u({ ...
|
|
409
|
-
transform: { ...
|
|
421
|
+
u({ ...Qe }), (t.x !== 0 || t.y !== 0 || t.scale !== 1 || t.rotate !== 0 || t.flipX || t.flipY) && o?.({
|
|
422
|
+
transform: { ...Qe },
|
|
410
423
|
action: e
|
|
411
424
|
});
|
|
412
425
|
}, f = (e, t) => {
|
|
@@ -449,7 +462,7 @@ function Qe(e) {
|
|
|
449
462
|
}
|
|
450
463
|
//#endregion
|
|
451
464
|
//#region src/hooks/useImageBoundary.ts
|
|
452
|
-
function
|
|
465
|
+
function et(e, t, n, r) {
|
|
453
466
|
let i = t + n, a = (n - r) / 2;
|
|
454
467
|
if (n > r) {
|
|
455
468
|
if (t > 0) return { [e]: a };
|
|
@@ -457,20 +470,20 @@ function $e(e, t, n, r) {
|
|
|
457
470
|
} else if (t < 0 || i > r) return { [e]: t < 0 ? a : -a };
|
|
458
471
|
return {};
|
|
459
472
|
}
|
|
460
|
-
function
|
|
473
|
+
function tt(e) {
|
|
461
474
|
let { imageWidth: t, imageHeight: n, imageLeft: r, imageTop: i, windowWidth: a, windowHeight: o } = e;
|
|
462
475
|
return t <= a && n <= o ? {
|
|
463
476
|
x: 0,
|
|
464
477
|
y: 0
|
|
465
478
|
} : t > a || n > o ? {
|
|
466
|
-
|
|
467
|
-
|
|
479
|
+
...et("x", r, t, a),
|
|
480
|
+
...et("y", i, n, o)
|
|
468
481
|
} : null;
|
|
469
482
|
}
|
|
470
483
|
//#endregion
|
|
471
484
|
//#region src/hooks/useMouseEvent.ts
|
|
472
|
-
var
|
|
473
|
-
function
|
|
485
|
+
var nt = 1, rt = 2;
|
|
486
|
+
function it(e) {
|
|
474
487
|
let { imageRef: t, movable: n, visible: r, scaleStep: i, transform: a, updateTransform: o, dispatchZoomChange: s, windowWidth: c, windowHeight: l } = e, u = b(!1), d = b({
|
|
475
488
|
diffX: 0,
|
|
476
489
|
diffY: 0,
|
|
@@ -484,7 +497,7 @@ function rt(e) {
|
|
|
484
497
|
if (!(a.value.x !== e && a.value.y !== n)) return;
|
|
485
498
|
let i = t.value;
|
|
486
499
|
if (!i) return;
|
|
487
|
-
let s = i.offsetWidth * a.value.scale, f = i.offsetHeight * a.value.scale, { left: p, top: m } = i.getBoundingClientRect(), h = a.value.rotate % 180 != 0, g =
|
|
500
|
+
let s = i.offsetWidth * a.value.scale, f = i.offsetHeight * a.value.scale, { left: p, top: m } = i.getBoundingClientRect(), h = a.value.rotate % 180 != 0, g = tt({
|
|
488
501
|
imageWidth: h ? f : s,
|
|
489
502
|
imageHeight: h ? s : f,
|
|
490
503
|
imageLeft: p,
|
|
@@ -510,23 +523,23 @@ function rt(e) {
|
|
|
510
523
|
},
|
|
511
524
|
onWheel: (e) => {
|
|
512
525
|
if (!r.value || e.deltaY === 0) return;
|
|
513
|
-
let t =
|
|
514
|
-
e.deltaY > 0 && (t =
|
|
526
|
+
let t = nt + Math.min(Math.abs(e.deltaY / 100), rt) * i.value;
|
|
527
|
+
e.deltaY > 0 && (t = nt / t), s(t, "wheel", e.clientX, e.clientY);
|
|
515
528
|
}
|
|
516
529
|
};
|
|
517
530
|
}
|
|
518
531
|
//#endregion
|
|
519
532
|
//#region src/hooks/useTouchEvent.ts
|
|
520
|
-
function
|
|
533
|
+
function at(e, t) {
|
|
521
534
|
return Math.hypot(e.x - t.x, e.y - t.y);
|
|
522
535
|
}
|
|
523
|
-
function
|
|
524
|
-
let i =
|
|
536
|
+
function ot(e, t, n, r) {
|
|
537
|
+
let i = at(e, n), a = at(t, r);
|
|
525
538
|
if (i === 0 && a === 0) return [e.x, e.y];
|
|
526
539
|
let o = i / (i + a);
|
|
527
540
|
return [e.x + o * (t.x - e.x), e.y + o * (t.y - e.y)];
|
|
528
541
|
}
|
|
529
|
-
function
|
|
542
|
+
function st(e) {
|
|
530
543
|
let { imageRef: t, movable: n, visible: r, minScale: i, transform: a, updateTransform: o, dispatchZoomChange: s, windowWidth: c, windowHeight: l } = e, u = b(!1), d = b({
|
|
531
544
|
point1: {
|
|
532
545
|
x: 0,
|
|
@@ -578,8 +591,8 @@ function ot(e) {
|
|
|
578
591
|
}, i = {
|
|
579
592
|
x: t[1].clientX,
|
|
580
593
|
y: t[1].clientY
|
|
581
|
-
}, [a, o] =
|
|
582
|
-
s(
|
|
594
|
+
}, [a, o] = ot(n, r, e, i);
|
|
595
|
+
s(at(e, i) / at(n, r), "touchZoom", a, o, !0), f({
|
|
583
596
|
point1: e,
|
|
584
597
|
point2: i,
|
|
585
598
|
eventType: "touchZoom"
|
|
@@ -598,7 +611,7 @@ function ot(e) {
|
|
|
598
611
|
}, "touchZoom");
|
|
599
612
|
let e = t.value;
|
|
600
613
|
if (!e) return;
|
|
601
|
-
let n = e.offsetWidth * a.value.scale, s = e.offsetHeight * a.value.scale, { left: d, top: p } = e.getBoundingClientRect(), m = a.value.rotate % 180 != 0, h =
|
|
614
|
+
let n = e.offsetWidth * a.value.scale, s = e.offsetHeight * a.value.scale, { left: d, top: p } = e.getBoundingClientRect(), m = a.value.rotate % 180 != 0, h = tt({
|
|
602
615
|
imageWidth: m ? s : n,
|
|
603
616
|
imageHeight: m ? n : s,
|
|
604
617
|
imageLeft: d,
|
|
@@ -612,7 +625,7 @@ function ot(e) {
|
|
|
612
625
|
}
|
|
613
626
|
//#endregion
|
|
614
627
|
//#region src/style/preview.ts
|
|
615
|
-
function
|
|
628
|
+
function ct(e) {
|
|
616
629
|
return {
|
|
617
630
|
zIndexPopup: `calc(${e.zIndexPopupBase} + 80)`,
|
|
618
631
|
previewOperationColor: e.colorTextDescription,
|
|
@@ -622,7 +635,7 @@ function st(e) {
|
|
|
622
635
|
previewOperationSize: e.fontSizeLG
|
|
623
636
|
};
|
|
624
637
|
}
|
|
625
|
-
var
|
|
638
|
+
var lt = (e) => {
|
|
626
639
|
let t = e.componentCls, { motionEaseOut: n, motionDurationSlow: r, previewOperationSize: i, zIndexPopup: a } = e, o = {
|
|
627
640
|
position: "absolute",
|
|
628
641
|
color: e.previewOperationColor,
|
|
@@ -756,7 +769,7 @@ var ct = (e) => {
|
|
|
756
769
|
}
|
|
757
770
|
}
|
|
758
771
|
} };
|
|
759
|
-
},
|
|
772
|
+
}, ut = (e) => {
|
|
760
773
|
let t = e.componentCls, { motionDurationSlow: n, motionEaseOut: r } = e;
|
|
761
774
|
return { [`${t}`]: {
|
|
762
775
|
"&-fade-enter-active, &-fade-leave-active": {
|
|
@@ -782,7 +795,7 @@ var ct = (e) => {
|
|
|
782
795
|
[`${t}-close, ${t}-switch, ${t}-footer`]: { opacity: 1 }
|
|
783
796
|
}
|
|
784
797
|
} };
|
|
785
|
-
},
|
|
798
|
+
}, dt = ie("GImagePreview", (e) => [lt(e), ut(e)], ct), ft = 1, Z = {
|
|
786
799
|
rotateLeft: i(j, null, null),
|
|
787
800
|
rotateRight: i(M, null, null),
|
|
788
801
|
zoomIn: i(P, null, null),
|
|
@@ -797,7 +810,7 @@ var ct = (e) => {
|
|
|
797
810
|
downloadSuccess: "下载成功",
|
|
798
811
|
downloadFailed: "下载失败"
|
|
799
812
|
};
|
|
800
|
-
function
|
|
813
|
+
function pt(e) {
|
|
801
814
|
try {
|
|
802
815
|
let t = new URL(e, window.location.href).pathname.match(/\/([^/]+)$/)?.[1];
|
|
803
816
|
return t ? decodeURIComponent(t) : "image";
|
|
@@ -806,7 +819,7 @@ function ft(e) {
|
|
|
806
819
|
return t ? decodeURIComponent(t) : "image";
|
|
807
820
|
}
|
|
808
821
|
}
|
|
809
|
-
function
|
|
822
|
+
function mt(e) {
|
|
810
823
|
let t = {
|
|
811
824
|
"image/gif": "gif",
|
|
812
825
|
"image/jpg": "jpg",
|
|
@@ -817,12 +830,12 @@ function pt(e) {
|
|
|
817
830
|
}, n = e?.toLowerCase();
|
|
818
831
|
return t[n] || n?.split("/")[1]?.split("+")[0] || "png";
|
|
819
832
|
}
|
|
820
|
-
async function
|
|
833
|
+
async function ht(e) {
|
|
821
834
|
let t = await fetch(e, { mode: "cors" });
|
|
822
835
|
if (!t.ok) throw Error(`Failed to fetch image: ${t.status}`);
|
|
823
836
|
return t.blob();
|
|
824
837
|
}
|
|
825
|
-
async function
|
|
838
|
+
async function gt(e) {
|
|
826
839
|
return new Promise((t, n) => {
|
|
827
840
|
let r = new Image(), i = URL.createObjectURL(e);
|
|
828
841
|
r.onload = () => {
|
|
@@ -842,32 +855,32 @@ async function ht(e) {
|
|
|
842
855
|
}, r.src = i;
|
|
843
856
|
});
|
|
844
857
|
}
|
|
845
|
-
async function
|
|
858
|
+
async function _t(e) {
|
|
846
859
|
let t = (e.type || "").toLowerCase();
|
|
847
|
-
return t === "image/png" || t === "image/svg+xml" ? { [t]: e } : { "image/png": await
|
|
848
|
-
}
|
|
849
|
-
function _t(e, t) {
|
|
850
|
-
let n = ft(e);
|
|
851
|
-
return n.includes(".") ? n.endsWith(".svg+xml") ? n.replace(/\.svg\+xml$/i, ".svg") : n : `${n}.${pt(t)}`;
|
|
860
|
+
return t === "image/png" || t === "image/svg+xml" ? { [t]: e } : { "image/png": await gt(e) };
|
|
852
861
|
}
|
|
853
862
|
function vt(e, t) {
|
|
863
|
+
let n = pt(e);
|
|
864
|
+
return n.includes(".") ? n.endsWith(".svg+xml") ? n.replace(/\.svg\+xml$/i, ".svg") : n : `${n}.${mt(t)}`;
|
|
865
|
+
}
|
|
866
|
+
function yt(e, t) {
|
|
854
867
|
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
855
868
|
r.href = n, r.download = t, r.style.display = "none", document.body.appendChild(r), r.click(), r.remove(), URL.revokeObjectURL(n);
|
|
856
869
|
}
|
|
857
|
-
var
|
|
858
|
-
let { width: l, height: u } =
|
|
870
|
+
var bt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
871
|
+
let { width: l, height: u } = qe(), { prefixCls: d } = ae("pro-image-preview", a), f = oe(d), [p, m] = dt(d, f), [_, y] = Ze(a.open, {
|
|
859
872
|
value: S(a, "open"),
|
|
860
873
|
onChange: (e) => {
|
|
861
874
|
a.onOpenChange?.(e), o("update:open", e);
|
|
862
875
|
}
|
|
863
|
-
}), x = b(!0), C = b(), w = b(), E = b(a.current ?? 0), O = b(!1), k = b(!1), { transform: A, resetTransform: j, updateTransform: M, dispatchZoomChange: N } =
|
|
876
|
+
}), x = b(!0), C = b(), w = b(), E = b(a.current ?? 0), O = b(!1), k = b(!1), { transform: A, resetTransform: j, updateTransform: M, dispatchZoomChange: N } = $e({
|
|
864
877
|
imageRef: C,
|
|
865
878
|
minScale: S(a, "minScale"),
|
|
866
879
|
maxScale: S(a, "maxScale"),
|
|
867
880
|
windowWidth: l,
|
|
868
881
|
windowHeight: u,
|
|
869
882
|
onTransform: a.onTransform
|
|
870
|
-
}), { isMoving: P, onMouseDown: re, onWheel: ie } =
|
|
883
|
+
}), { isMoving: P, onMouseDown: re, onWheel: ie } = it({
|
|
871
884
|
imageRef: C,
|
|
872
885
|
movable: S(a, "movable"),
|
|
873
886
|
visible: _,
|
|
@@ -877,7 +890,7 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
877
890
|
dispatchZoomChange: N,
|
|
878
891
|
windowWidth: l,
|
|
879
892
|
windowHeight: u
|
|
880
|
-
}), { isTouching: F, onTouchStart: L, onTouchMove: R, onTouchEnd: se } =
|
|
893
|
+
}), { isTouching: F, onTouchStart: L, onTouchMove: R, onTouchEnd: se } = st({
|
|
881
894
|
imageRef: C,
|
|
882
895
|
movable: S(a, "movable"),
|
|
883
896
|
visible: _,
|
|
@@ -924,9 +937,9 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
924
937
|
});
|
|
925
938
|
}
|
|
926
939
|
}, de = () => {
|
|
927
|
-
N(
|
|
940
|
+
N(ft + (a.scaleStep ?? .5), "zoomIn");
|
|
928
941
|
}, fe = () => {
|
|
929
|
-
N(
|
|
942
|
+
N(ft / (ft + (a.scaleStep ?? .5)), "zoomOut");
|
|
930
943
|
}, G = () => {
|
|
931
944
|
M({ rotate: A.value.rotate + 90 }, "rotateRight");
|
|
932
945
|
}, pe = () => {
|
|
@@ -943,7 +956,7 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
943
956
|
}
|
|
944
957
|
O.value = !0;
|
|
945
958
|
try {
|
|
946
|
-
let e = await
|
|
959
|
+
let e = await _t(await ht(z.value));
|
|
947
960
|
await navigator.clipboard.write([new ClipboardItem(e)]), I.success(Q.copySuccess);
|
|
948
961
|
} catch {
|
|
949
962
|
I.error(Q.copyFailed);
|
|
@@ -951,40 +964,40 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
951
964
|
O.value = !1;
|
|
952
965
|
}
|
|
953
966
|
}
|
|
954
|
-
},
|
|
967
|
+
}, _e = async () => {
|
|
955
968
|
if (!(!z.value || k.value)) {
|
|
956
969
|
k.value = !0;
|
|
957
970
|
try {
|
|
958
|
-
let e = await
|
|
959
|
-
|
|
971
|
+
let e = await ht(z.value);
|
|
972
|
+
yt(e, vt(z.value, e.type)), I.success(Q.downloadSuccess);
|
|
960
973
|
} catch {
|
|
961
974
|
I.error(Q.downloadFailed);
|
|
962
975
|
} finally {
|
|
963
976
|
k.value = !1;
|
|
964
977
|
}
|
|
965
978
|
}
|
|
966
|
-
},
|
|
967
|
-
_.value && (A.value.scale === 1 ? N(
|
|
979
|
+
}, ye = (e) => {
|
|
980
|
+
_.value && (A.value.scale === 1 ? N(ft + (a.scaleStep ?? .5), "doubleClick", e.clientX, e.clientY) : M({
|
|
968
981
|
x: 0,
|
|
969
982
|
y: 0,
|
|
970
983
|
scale: 1
|
|
971
984
|
}, "doubleClick"));
|
|
972
|
-
},
|
|
985
|
+
}, J = (e) => {
|
|
973
986
|
if (e.key === "Escape") {
|
|
974
987
|
H();
|
|
975
988
|
return;
|
|
976
989
|
}
|
|
977
990
|
!_.value || !B.value || (e.key === "ArrowLeft" ? U() : e.key === "ArrowRight" && W());
|
|
978
|
-
},
|
|
991
|
+
}, be;
|
|
979
992
|
g(() => {
|
|
980
|
-
let e = (e) =>
|
|
981
|
-
window.addEventListener("keydown", e),
|
|
993
|
+
let e = (e) => J(e);
|
|
994
|
+
window.addEventListener("keydown", e), be = () => window.removeEventListener("keydown", e);
|
|
982
995
|
}), v(() => {
|
|
983
|
-
|
|
996
|
+
be?.();
|
|
984
997
|
}), c({ setOpen: (e) => {
|
|
985
998
|
y(e), E.value = a.current ?? 0;
|
|
986
999
|
} });
|
|
987
|
-
let
|
|
1000
|
+
let Y = () => ve({
|
|
988
1001
|
slots: s,
|
|
989
1002
|
props: { ...a.icons },
|
|
990
1003
|
keys: [
|
|
@@ -1009,7 +1022,7 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
1009
1022
|
Z.download
|
|
1010
1023
|
]
|
|
1011
1024
|
}), xe = () => {
|
|
1012
|
-
let e =
|
|
1025
|
+
let e = Y();
|
|
1013
1026
|
return [
|
|
1014
1027
|
{
|
|
1015
1028
|
icon: e.flipY,
|
|
@@ -1051,7 +1064,7 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
1051
1064
|
},
|
|
1052
1065
|
{
|
|
1053
1066
|
icon: k.value ? i(te, { spin: !0 }, null) : e.download,
|
|
1054
|
-
onClick:
|
|
1067
|
+
onClick: _e,
|
|
1055
1068
|
type: "download",
|
|
1056
1069
|
disabled: r(() => k.value)
|
|
1057
1070
|
}
|
|
@@ -1107,7 +1120,7 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
1107
1120
|
style: r,
|
|
1108
1121
|
onWheel: ie,
|
|
1109
1122
|
onMousedown: re,
|
|
1110
|
-
onDblclick:
|
|
1123
|
+
onDblclick: ye,
|
|
1111
1124
|
onTouchstart: L,
|
|
1112
1125
|
onTouchmove: R,
|
|
1113
1126
|
onTouchend: se,
|
|
@@ -1272,7 +1285,7 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
1272
1285
|
],
|
|
1273
1286
|
name: "GImagePreview",
|
|
1274
1287
|
inheritAttrs: !1
|
|
1275
|
-
}),
|
|
1288
|
+
}), xt = (e) => {
|
|
1276
1289
|
let { motionDurationSlow: t, paddingXXS: n, marginXXS: r, colorTextLightSolid: i } = e;
|
|
1277
1290
|
return {
|
|
1278
1291
|
position: "absolute",
|
|
@@ -1296,7 +1309,7 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
1296
1309
|
}
|
|
1297
1310
|
}
|
|
1298
1311
|
};
|
|
1299
|
-
},
|
|
1312
|
+
}, St = (e) => {
|
|
1300
1313
|
let t = {
|
|
1301
1314
|
width: "100%",
|
|
1302
1315
|
height: "100%"
|
|
@@ -1332,21 +1345,21 @@ var yt = /* @__PURE__ */ o((a, { emit: o, slots: s, expose: c }) => {
|
|
|
1332
1345
|
position: "absolute",
|
|
1333
1346
|
inset: 0
|
|
1334
1347
|
},
|
|
1335
|
-
[`${e.componentCls}-mask`]: { ...
|
|
1348
|
+
[`${e.componentCls}-mask`]: { ...xt(e) },
|
|
1336
1349
|
[`${e.componentCls}-mask:hover`]: { opacity: 1 }
|
|
1337
1350
|
} };
|
|
1338
|
-
},
|
|
1351
|
+
}, Ct = ie("GImage", (e) => [St(e)]), wt = {
|
|
1339
1352
|
src: "",
|
|
1340
1353
|
alt: "",
|
|
1341
1354
|
fit: "contain",
|
|
1342
1355
|
preview: !0,
|
|
1343
1356
|
loading: "eager"
|
|
1344
1357
|
};
|
|
1345
|
-
function
|
|
1358
|
+
function Tt(e) {
|
|
1346
1359
|
return e && e.nodeType === 1;
|
|
1347
1360
|
}
|
|
1348
1361
|
var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
1349
|
-
let c = Y && "loading" in HTMLImageElement.prototype, { prefixCls: l } = ae("pro-image", t), u = oe(l), [d, f] =
|
|
1362
|
+
let c = Y && "loading" in HTMLImageElement.prototype, { prefixCls: l } = ae("pro-image", t), u = oe(l), [d, f] = Ct(l, u), p = b(), _ = b(!1), v = b(!0), y = b(), x = b(), S, C = r(() => t.loading === "eager" ? !1 : !c && t.loading === "lazy" || t.lazy), w = r(() => Y && t.fit ? {
|
|
1350
1363
|
...t.imageStyle,
|
|
1351
1364
|
objectFit: t.fit
|
|
1352
1365
|
} : { ...t.imageStyle }), E = r(() => typeof t.preview == "object" ? t.preview : {}), D = r(() => !!t.preview), O = r(() => {
|
|
@@ -1354,7 +1367,7 @@ var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
|
1354
1367
|
if (se(n)) return e.length >= n ? n : 0;
|
|
1355
1368
|
let r = e.indexOf(t.src ?? "");
|
|
1356
1369
|
return r >= 0 ? r : 0;
|
|
1357
|
-
}), k = r(() => F(t.width)), ee = r(() => F(t.height)), { showViewer: te, mousePosition: ne, openPreview: j, closePreview: M } =
|
|
1370
|
+
}), k = r(() => F(t.width)), ee = r(() => F(t.height)), { showViewer: te, mousePosition: ne, openPreview: j, closePreview: M } = Je({ canPreview: D }), N = () => {
|
|
1358
1371
|
Y && (v.value = !0, _.value = !1, p.value = t.src);
|
|
1359
1372
|
}, P = (e) => {
|
|
1360
1373
|
_.value || (v.value = !1, _.value = !1, t.onLoad?.(e), n("load", e));
|
|
@@ -1369,13 +1382,13 @@ var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
|
1369
1382
|
right: x.value.innerWidth ?? 0
|
|
1370
1383
|
};
|
|
1371
1384
|
return e.top < t.bottom && e.bottom > t.top && e.left < t.right && e.right > t.left;
|
|
1372
|
-
}, I =
|
|
1385
|
+
}, I = Me(() => {
|
|
1373
1386
|
ie() && (N(), S?.(), S = void 0);
|
|
1374
1387
|
}, 200, !0), L = async () => {
|
|
1375
1388
|
if (!Y) return;
|
|
1376
1389
|
await h();
|
|
1377
1390
|
let { scrollContainer: e } = t;
|
|
1378
|
-
|
|
1391
|
+
Tt(e) ? x.value = e : ce(e) && e !== "" ? x.value = document.querySelector(e) ?? void 0 : y.value && (x.value = me(y.value)), x.value && (S = X(x.value, "scroll", I), setTimeout(I, 100));
|
|
1379
1392
|
}, R = (e) => {
|
|
1380
1393
|
let r = v.value ? "loaded" : _.value ? "error" : "success";
|
|
1381
1394
|
if (t.onClick?.(r), n("click", r), !(v.value || _.value) && D.value) {
|
|
@@ -1400,7 +1413,7 @@ var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
|
1400
1413
|
"style",
|
|
1401
1414
|
"class"
|
|
1402
1415
|
].includes(e) ? n[e] = t : r[e] = t;
|
|
1403
|
-
let o =
|
|
1416
|
+
let o = ve({
|
|
1404
1417
|
slots: a,
|
|
1405
1418
|
props: t,
|
|
1406
1419
|
keys: [
|
|
@@ -1445,7 +1458,7 @@ var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
|
1445
1458
|
class: K(`${l.value}-mask`, E.value.maskClass),
|
|
1446
1459
|
style: { display: n.style?.display === "none" ? "none" : void 0 }
|
|
1447
1460
|
}, [o.mask || i("div", { class: K(`${l.value}-mask-info`) }, [i(A, null, null)])]),
|
|
1448
|
-
D.value && i(
|
|
1461
|
+
D.value && i(bt, m(E.value, {
|
|
1449
1462
|
urls: E.value.urls || (t.src ? [t.src] : []),
|
|
1450
1463
|
current: O.value,
|
|
1451
1464
|
zIndex: t.zIndex ?? E.value.zIndex,
|
|
@@ -1523,12 +1536,11 @@ var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
|
1523
1536
|
placeholder: {
|
|
1524
1537
|
type: [
|
|
1525
1538
|
Function,
|
|
1526
|
-
Object,
|
|
1527
1539
|
String,
|
|
1528
1540
|
Number,
|
|
1529
|
-
Boolean,
|
|
1530
1541
|
null,
|
|
1531
|
-
|
|
1542
|
+
Object,
|
|
1543
|
+
Boolean
|
|
1532
1544
|
],
|
|
1533
1545
|
required: !1,
|
|
1534
1546
|
default: void 0
|
|
@@ -1536,12 +1548,11 @@ var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
|
1536
1548
|
fallback: {
|
|
1537
1549
|
type: [
|
|
1538
1550
|
Function,
|
|
1539
|
-
Object,
|
|
1540
1551
|
String,
|
|
1541
1552
|
Number,
|
|
1542
|
-
Boolean,
|
|
1543
1553
|
null,
|
|
1544
|
-
|
|
1554
|
+
Object,
|
|
1555
|
+
Boolean
|
|
1545
1556
|
],
|
|
1546
1557
|
required: !1,
|
|
1547
1558
|
default: void 0
|
|
@@ -1562,7 +1573,7 @@ var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
|
1562
1573
|
type: Function,
|
|
1563
1574
|
required: !1
|
|
1564
1575
|
}
|
|
1565
|
-
},
|
|
1576
|
+
}, wt),
|
|
1566
1577
|
emits: [
|
|
1567
1578
|
"click",
|
|
1568
1579
|
"load",
|
|
@@ -1572,6 +1583,6 @@ var $ = /* @__PURE__ */ o((t, { emit: n, slots: a, expose: o, attrs: s }) => {
|
|
|
1572
1583
|
inheritAttrs: !1
|
|
1573
1584
|
});
|
|
1574
1585
|
$.isGImage = !0, $.install = (e) => (e.component($.name, $), e);
|
|
1575
|
-
var
|
|
1586
|
+
var Et = $;
|
|
1576
1587
|
//#endregion
|
|
1577
|
-
export {
|
|
1588
|
+
export { Et as GImage, bt as GImagePreview };
|
package/dist/g-image.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`),require(`@antdv-next/icons`),require(`@gx-design-vue/pro-provider`),require(`antdv-next/config-provider/context`),require(`antdv-next/config-provider/hooks/useCSSVarCls`),require(`antdv-next`)):typeof define==`function`&&define.amd?define([`exports`,`vue`,`@antdv-next/icons`,`@gx-design-vue/pro-provider`,`antdv-next/config-provider/context`,`antdv-next/config-provider/hooks/useCSSVarCls`,`antdv-next`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.GImage={},e.Vue,e._antdv_next_icons,e._gx_design_vue_pro_provider,e.antdv_next_config_provider_context,e.antdv_next_config_provider_hooks_useCSSVarCls,e.antdv_next))})(this,function(e,t,n,r,i,a,o){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var s=Object.create,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,d=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty,p=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=u(t),a=0,o=i.length,s;a<o;a++)s=i[a],!f.call(e,s)&&s!==n&&c(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=l(t,s))||r.enumerable});return e};a=((e,t,n)=>(n=e==null?{}:s(d(e)),p(t||!e||!e.__esModule?c(n,`default`,{value:e,enumerable:!0}):n,e)))(a,1),typeof process<`u`&&process.versions!=null&&process.versions.node;function m(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function h(e){return typeof e==`boolean`}function g(e){return typeof e==`number`}function _(e){return Array.isArray===void 0?Object.prototype.toString.call(e)===`[object Array]`:Array.isArray(e)}function v(e){return e!==null&&m(e,`Object`)}function y(e){return typeof e==`string`}var b=typeof window>`u`,x=e=>setTimeout(e,16),S=e=>clearTimeout(e);typeof window<`u`&&`requestAnimationFrame`in window&&(x=e=>window.requestAnimationFrame(e),S=e=>window.cancelAnimationFrame(e));var C=0,w=new Map;function T(e){w.delete(e)}function E(e,t=1){C+=1;let n=C;function r(t){if(t===0)T(n),e();else{let e=x(()=>{r(t-1)});w.set(n,e)}}return r(t),n}E.cancel=e=>{let t=w.get(e);return T(t),S(t)};function D(e){return e.replace(/[-_](.)/g,(e,t)=>t.toUpperCase())}function O(e,t){if(b||!e||!t)return``;t=D(t),t===`float`&&(t=`cssFloat`);try{let n=e.style[t];if(n)return n;let r=document?.defaultView?.getComputedStyle(e,``);return r?r[t]:``}catch{return e.style[t]}}function k(e,t){if(!b)return(t==null?O(e,`overflow`):t?O(e,`overflow-y`):O(e,`overflow-x`)).match(/(scroll|auto|overlay)/)}function ee(e,t){if(b)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(k(n,t))return n;n=n.parentNode}return n}function A(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r){if(y(r))t.push(r);else if(_(r))for(let e=0;e<r.length;e++){let n=A(r[e]);n&&t.push(n)}else if(v(r))for(let e in r)r[e]&&t.push(e)}}return t.filter(e=>e).join(` `)}function j({vnode:e,defaultVNode:t},...n){return e===!1?null:typeof e==`function`?e?.(...n):e||t}function te(e,...n){let{slots:r,key:i=`default`,render:a,props:o,defaultChildren:s}=e,c,l=o[i],u=r?.[i],d=typeof s==`function`?s?.():s;return c=l===!1?!1:l===!0?u??d:v(l)&&a?(0,t.isVNode)(l)?l:u:l||u,c===!1?!1:a?j({vnode:c,defaultVNode:d},...n):c}function M(e,...n){let{slots:r,key:i=`default`,props:a,defaultChildren:o}=e,s,c=a[i],l=r?.[i]?.(...n),u=typeof o==`function`?o?.():o;return s=c===!1?!1:c===!0?l??u:v(c)?(0,t.isVNode)(c)?c:l:c||l,s===!1?!1:j({vnode:s,defaultVNode:u},...n)}function ne(e,...t){let{slots:n,props:r,keys:i,render:a,defaultVNodes:o}=e,s={};return i.forEach((e,i)=>{let c=o?o[i]:null,l=a?M({slots:n,props:r,key:e,defaultChildren:c},...t):te({slots:n,props:r,key:e,render:!1,defaultChildren:c},...t);(h(l)||l)&&(s[e]=l)}),s}function N(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}var P=new WeakMap,F=(...e)=>{let n=e[0],r=(0,t.getCurrentInstance)()?.proxy??(0,t.getCurrentScope)();if(r==null&&!(0,t.hasInjectionContext)())throw Error(`injectLocal must be called in setup`);return r&&P.has(r)&&n in P.get(r)?P.get(r)[n]:(0,t.inject)(...e)},I=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var L=Object.prototype.toString,R=e=>L.call(e)===`[object Object]`,z=()=>{},B=V();function V(){var e,t;return I&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function H(...e){if(e.length!==1)return(0,t.toRef)(...e);let n=e[0];return typeof n==`function`?(0,t.readonly)((0,t.customRef)(()=>({get:n,set:z}))):(0,t.ref)(n)}function re(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}function ie(...e){let n=0,r,i=!0,a=z,o,s,c,l,u;!(0,t.isRef)(e[0])&&typeof e[0]==`object`?{delay:s,trailing:c=!0,leading:l=!0,rejectOnCancel:u=!1}=e[0]:[s,c=!0,l=!0,u=!1]=e;let d=()=>{r&&(clearTimeout(r),r=void 0,a(),a=z)};return e=>{let f=(0,t.toValue)(s),p=Date.now()-n,m=()=>o=e();return d(),f<=0?(n=Date.now(),m()):(p>f?(n=Date.now(),(l||!i)&&m()):c&&(o=new Promise((e,t)=>{a=u?t:e,r=setTimeout(()=>{n=Date.now(),i=!0,e(m()),d()},Math.max(0,f-p))})),!l&&!r&&(r=setTimeout(()=>i=!0,f)),i=!1,o)}}function U(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function W(e){return Array.isArray(e)?e:[e]}function ae(e){return e||(0,t.getCurrentInstance)()}function oe(e,t=200,n=!1,r=!0,i=!1){return re(ie(t,n,r,i),e)}function se(e,n=!0,r){ae(r)?(0,t.onMounted)(e,r):n?e():(0,t.nextTick)(e)}function ce(e,n,r){return(0,t.watch)(e,n,{...r,immediate:!0})}var G=I?window:void 0;I&&window.document,I&&window.navigator,I&&window.location;function le(e){let n=(0,t.toValue)(e);return n?.$el??n}function K(...e){let n=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),r=(0,t.computed)(()=>{let n=W((0,t.toValue)(e[0])).filter(e=>e!=null);return n.every(e=>typeof e!=`string`)?n:void 0});return ce(()=>[r.value?.map(e=>le(e))??[G].filter(e=>e!=null),W((0,t.toValue)(r.value?e[1]:e[0])),W((0,t.unref)(r.value?e[2]:e[1])),(0,t.toValue)(r.value?e[3]:e[2])],([e,t,r,i],a,o)=>{if(!e?.length||!t?.length||!r?.length)return;let s=R(i)?{...i}:i,c=e.flatMap(e=>t.flatMap(t=>r.map(r=>n(e,t,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function ue(){let e=(0,t.shallowRef)(!1),n=(0,t.getCurrentInstance)();return n&&(0,t.onMounted)(()=>{e.value=!0},n),e}function de(e){let n=ue();return(0,t.computed)(()=>(n.value,!!e()))}var fe=Symbol(`vueuse-ssr-width`);function pe(){let e=(0,t.hasInjectionContext)()?F(fe,null):null;return typeof e==`number`?e:void 0}function me(e,n={}){let{window:r=G,ssrWidth:i=pe()}=n,a=de(()=>r&&`matchMedia`in r&&typeof r.matchMedia==`function`),o=(0,t.shallowRef)(typeof i==`number`),s=(0,t.shallowRef)(),c=(0,t.shallowRef)(!1);return(0,t.watchEffect)(()=>{if(o.value){o.value=!a.value,c.value=(0,t.toValue)(e).split(`,`).some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),r=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||r);return n&&a&&(a=i>=U(n[1])),r&&a&&(a=i<=U(r[1])),t?!a:a});return}a.value&&(s.value=r.matchMedia((0,t.toValue)(e)),c.value=s.value.matches)}),K(s,`change`,e=>{c.value=e.matches},{passive:!0}),(0,t.computed)(()=>c.value)}function q(e){return typeof Window<`u`&&e instanceof Window?e.document.documentElement:typeof Document<`u`&&e instanceof Document?e.documentElement:e}function he(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!t||t.tagName===`BODY`?!1:he(t)}}function ge(e){let t=e||window.event,n=t.target;return he(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}var J=new WeakMap;function _e(e,n=!1){let r=(0,t.shallowRef)(n),i=null,a=``;(0,t.watch)(H(e),e=>{let n=q((0,t.toValue)(e));if(n){let e=n;if(J.get(e)||J.set(e,e.style.overflow),e.style.overflow!==`hidden`&&(a=e.style.overflow),e.style.overflow===`hidden`)return r.value=!0;if(r.value)return e.style.overflow=`hidden`}},{immediate:!0});let o=()=>{let n=q((0,t.toValue)(e));!n||r.value||(B&&(i=K(n,`touchmove`,e=>{ge(e)},{passive:!1})),n.style.overflow=`hidden`,r.value=!0)},s=()=>{let n=q((0,t.toValue)(e));!n||!r.value||(B&&i?.(),n.style.overflow=a,J.delete(n),r.value=!1)};return N(s),(0,t.computed)({get(){return r.value},set(e){e?o():s()}})}function ve(e={}){let{window:n=G,initialWidth:r=1/0,initialHeight:i=1/0,listenOrientation:a=!0,includeScrollbar:o=!0,type:s=`inner`}=e,c=(0,t.shallowRef)(r),l=(0,t.shallowRef)(i),u=()=>{if(n)if(s===`outer`)c.value=n.outerWidth,l.value=n.outerHeight;else if(s===`visual`&&n.visualViewport){let{width:e,height:t,scale:r}=n.visualViewport;c.value=Math.round(e*r),l.value=Math.round(t*r)}else o?(c.value=n.innerWidth,l.value=n.innerHeight):(c.value=n.document.documentElement.clientWidth,l.value=n.document.documentElement.clientHeight)};u(),se(u);let d={passive:!0};return K(`resize`,u,d),n&&s===`visual`&&n.visualViewport&&K(n.visualViewport,`resize`,u,d),a&&(0,t.watch)(me(`(orientation: portrait)`),()=>u()),{width:c,height:l}}function ye(e){let{canPreview:n}=e,r=(0,t.ref)(!1),i=(0,t.ref)(null),a=_e(document.body,!1),o;return(0,t.onScopeDispose)(()=>{o!==void 0&&(window.cancelAnimationFrame(o),o=void 0),a.value=!1}),K(`wheel`,e=>{r.value&&e.ctrlKey&&e.preventDefault()},{passive:!1}),{showViewer:r,mousePosition:i,openPreview:e=>{n.value&&(o!==void 0&&(window.cancelAnimationFrame(o),o=void 0),e?i.value={x:e.clientX,y:e.clientY}:i.value=null,r.value=!0,o=window.requestAnimationFrame(()=>{a.value=!0,o=void 0}))},closePreview:()=>{o!==void 0&&(window.cancelAnimationFrame(o),o=void 0),r.value=!1,i.value=null,a.value=!1}}}var be=(typeof window>`u`?!1:/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1)&&!window.MSStream;typeof window>`u`||be||window.safari;function xe(e){let n=(0,t.ref)(typeof e==`function`?e():e);function r(e){n.value=e}return[n,r]}function Se(e,n){let{defaultValue:r,value:i=(0,t.ref)()}=n||{},a=typeof e==`function`?e():e;i.value!==void 0&&(a=(0,t.unref)(i)),r!==void 0&&(a=typeof r==`function`?r():r);let o=(0,t.ref)(a),s=(0,t.ref)(a),[c,l]=xe([s.value]);(0,t.watchEffect)(()=>{let e=i.value===void 0?o.value:i.value;n?.postState&&(e=n.postState(e,o.value)),s.value=e}),(0,t.watch)(c,()=>{let e=c.value[0];o.value!==e&&n?.onChange?.(o.value,e)},{deep:!0});function u(e){o.value=e}function d(e){u(e),l([s.value])}return(0,t.watch)(i,()=>{o.value=i.value}),[s,d,o]}var Ce={x:0,y:0,rotate:0,scale:1,flipX:!1,flipY:!1};function we(e){let{imageRef:n,minScale:r,maxScale:i,windowWidth:a,windowHeight:o,onTransform:s}=e,c=(0,t.ref)(null),l=(0,t.ref)([]),[u,d]=xe({...Ce}),f=e=>{let t={...u.value};d({...Ce}),(t.x!==0||t.y!==0||t.scale!==1||t.rotate!==0||t.flipX||t.flipY)&&s?.({transform:{...Ce},action:e})},p=(e,t)=>{c.value===null&&(l.value=[],c.value=E(()=>{let e={...u.value};for(let t of l.value)e={...e,...t};c.value=null,s?.({transform:e,action:t}),d(e)})),l.value.push({...u.value,...e})};return{transform:u,resetTransform:f,updateTransform:p,dispatchZoomChange:(e,t,s,c,l)=>{let d=n.value;if(!d)return;let{width:f,height:m,offsetWidth:h,offsetHeight:g,offsetLeft:_,offsetTop:v}=d,y=e,b=u.value.scale*e;b>i.value?(b=i.value,y=i.value/u.value.scale):b<r.value&&(b=l?b:r.value,y=b/u.value.scale);let x=s??a.value/2,S=c??o.value/2,C=y-1,w=C*f*.5,T=C*m*.5,E=C*(x-u.value.x-_),D=C*(S-u.value.y-v),O=u.value.x-(E-w),k=u.value.y-(D-T);if(e<1&&b===1){let e=h*b,t=g*b;e<=a.value&&t<=o.value&&(O=0,k=0)}p({x:O,y:k,scale:b},t)}}}function Te(e,t,n,r){let i=t+n,a=(n-r)/2;if(n>r){if(t>0)return{[e]:a};if(t<0&&i<r)return{[e]:-a}}else if(t<0||i>r)return{[e]:t<0?a:-a};return{}}function Ee(e){let{imageWidth:t,imageHeight:n,imageLeft:r,imageTop:i,windowWidth:a,windowHeight:o}=e;return t<=a&&n<=o?{x:0,y:0}:t>a||n>o?{...Te(`x`,r,t,a),...Te(`y`,i,n,o)}:null}var De=1,Oe=2;function ke(e){let{imageRef:n,movable:r,visible:i,scaleStep:a,transform:o,updateTransform:s,dispatchZoomChange:c,windowWidth:l,windowHeight:u}=e,d=(0,t.ref)(!1),f=(0,t.ref)({diffX:0,diffY:0,transformX:0,transformY:0});return K(window,`mouseup`,()=>{if(!i.value||!d.value)return;d.value=!1;let{transformX:e,transformY:t}=f.value;if(!(o.value.x!==e&&o.value.y!==t))return;let r=n.value;if(!r)return;let a=r.offsetWidth*o.value.scale,c=r.offsetHeight*o.value.scale,{left:p,top:m}=r.getBoundingClientRect(),h=o.value.rotate%180!=0,g=Ee({imageWidth:h?c:a,imageHeight:h?a:c,imageLeft:p,imageTop:m,windowWidth:l.value,windowHeight:u.value});g&&s({...g},`dragRebound`)}),K(window,`mousemove`,e=>{!i.value||!d.value||s({x:e.pageX-f.value.diffX,y:e.pageY-f.value.diffY},`move`)}),{isMoving:d,onMouseDown:e=>{!r.value||e.button!==0||(e.preventDefault(),e.stopPropagation(),f.value={diffX:e.pageX-o.value.x,diffY:e.pageY-o.value.y,transformX:o.value.x,transformY:o.value.y},d.value=!0)},onWheel:e=>{if(!i.value||e.deltaY===0)return;let t=De+Math.min(Math.abs(e.deltaY/100),Oe)*a.value;e.deltaY>0&&(t=De/t),c(t,`wheel`,e.clientX,e.clientY)}}}function Y(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function Ae(e,t,n,r){let i=Y(e,n),a=Y(t,r);if(i===0&&a===0)return[e.x,e.y];let o=i/(i+a);return[e.x+o*(t.x-e.x),e.y+o*(t.y-e.y)]}function je(e){let{imageRef:n,movable:r,visible:i,minScale:a,transform:o,updateTransform:s,dispatchZoomChange:c,windowWidth:l,windowHeight:u}=e,d=(0,t.ref)(!1),f=(0,t.ref)({point1:{x:0,y:0},point2:{x:0,y:0},eventType:`none`}),p=e=>{f.value={...f.value,...e}};return K(window,`touchmove`,e=>{i.value&&r.value&&e.preventDefault()},{passive:!1}),{isTouching:d,onTouchStart:e=>{if(!r.value)return;e.stopPropagation(),d.value=!0;let{touches:t=[]}=e;t.length>1?p({point1:{x:t[0].clientX,y:t[0].clientY},point2:{x:t[1].clientX,y:t[1].clientY},eventType:`touchZoom`}):p({point1:{x:t[0].clientX-o.value.x,y:t[0].clientY-o.value.y},eventType:`move`})},onTouchMove:e=>{let{touches:t=[]}=e,{point1:n,point2:r,eventType:i}=f.value;if(t.length>1&&i===`touchZoom`){let e={x:t[0].clientX,y:t[0].clientY},i={x:t[1].clientX,y:t[1].clientY},[a,o]=Ae(n,r,e,i);c(Y(e,i)/Y(n,r),`touchZoom`,a,o,!0),p({point1:e,point2:i,eventType:`touchZoom`})}else i===`move`&&(s({x:t[0].clientX-n.x,y:t[0].clientY-n.y},`move`),p({eventType:`move`}))},onTouchEnd:()=>{if(!i.value)return;if(d.value&&=!1,p({eventType:`none`}),a.value>o.value.scale)return s({x:0,y:0,scale:a.value},`touchZoom`);let e=n.value;if(!e)return;let t=e.offsetWidth*o.value.scale,r=e.offsetHeight*o.value.scale,{left:c,top:f}=e.getBoundingClientRect(),m=o.value.rotate%180!=0,h=Ee({imageWidth:m?r:t,imageHeight:m?t:r,imageLeft:c,imageTop:f,windowWidth:l.value,windowHeight:u.value});h&&s({...h},`dragRebound`)}}}function Me(e){return{zIndexPopup:`calc(${e.zIndexPopupBase} + 80)`,previewOperationColor:e.colorTextDescription,previewOperationHoverColor:e.colorText,previewOperationColorDisabled:e.colorTextDisabled,imagePreviewSwitchSize:e.controlHeightLG,previewOperationSize:e.fontSizeLG}}var Ne=e=>{let t=e.componentCls,{motionEaseOut:n,motionDurationSlow:i,previewOperationSize:a,zIndexPopup:o}=e,s={position:`absolute`,color:e.previewOperationColor,backgroundColor:e.colorBgContainer,borderRadius:`50%`,width:e.controlHeightLG,height:e.controlHeightLG,padding:0,outline:0,border:0,boxShadow:e.boxShadowTertiary,cursor:`pointer`,transition:`all ${i}`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:a,"&:hover":{color:e.previewOperationHoverColor,backgroundColor:e.colorBgContainer},"&:active":{backgroundColor:e.colorBgContainer},svg:{stroke:`currentColor`}};return{[t]:{textAlign:`center`,inset:0,position:`fixed`,userSelect:`none`,zIndex:o,[`${t}-mask`]:{position:`absolute`,inset:0,background:`color-mix(in srgb, ${e.colorBgLayout} 90%, transparent)`,backdropFilter:`blur(0px)`,transition:`background-color ${i}, backdrop-filter ${i}`,[`&${t}-mask-blur`]:{backdropFilter:`blur(4px)`},[`&${t}-mask-hidden`]:{display:`none`}},[`${t}-body`]:{position:`absolute`,inset:0,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`,"> *":{pointerEvents:`auto`}},[`${t}-img`]:{maxWidth:`100%`,maxHeight:`70%`,verticalAlign:`middle`,transform:`scale3d(1, 1, 1)`,transition:`transform ${i} ${n} 0s`,userSelect:`none`},[`&-movable ${t}-img`]:{cursor:`grab`},[`&-moving ${t}-img`]:{cursor:`grabbing`},[`${t}-close`]:{...s,top:e.marginSM,insetInlineEnd:e.marginSM},[`${t}-switch`]:{...s,top:`50%`,transform:`translateY(-50%)`,"&-disabled":{"&, &:hover, &:active":{color:e.previewOperationColorDisabled,backgroundColor:e.colorBgContainer,cursor:`not-allowed`}},"&-prev":{insetInlineStart:e.marginSM},"&-next":{insetInlineEnd:e.marginSM}},[`${t}-footer`]:{position:`absolute`,bottom:e.marginXL,left:{_skip_check_:!0,value:`50%`},display:`flex`,flexDirection:`column`,alignItems:`center`,color:e.previewOperationColor,transform:`translateX(-50%)`,gap:e.marginXS},[`${t}-progress`]:{color:e.previewOperationColor},[`${t}-actions`]:{display:`flex`,alignItems:`center`,gap:e.marginXXS,padding:e.paddingXXS,color:e.previewOperationColor,backgroundColor:e.colorBgContainer,border:`${(0,r.unit)(e.lineWidth)} ${e.lineType} ${e.colorFillTertiary}`,borderRadius:e.borderRadiusLG,fontSize:a,"&-action":{color:`inherit`,background:`transparent`,border:0,font:`inherit`,lineHeight:1,width:e.controlHeight,height:e.controlHeight,padding:0,cursor:`pointer`,transition:`all ${i}`,display:`flex`,alignItems:`center`,justifyContent:`center`,borderRadius:e.borderRadius,userSelect:`none`,[`&:not(${t}-actions-action-disabled):hover`]:{color:e.colorTextSecondary,backgroundColor:e.colorFillTertiary},[`&:not(${t}-actions-action-disabled):active`]:{color:e.colorText,backgroundColor:e.colorFillSecondary},"&-disabled":{cursor:`not-allowed`,opacity:.5},svg:{stroke:`currentColor`}}}}}},Pe=e=>{let t=e.componentCls,{motionDurationSlow:n,motionEaseOut:r}=e;return{[`${t}`]:{"&-fade-enter-active, &-fade-leave-active":{transition:`visibility ${n}`,[`${t}-mask`]:{transition:`background-color ${n}, backdrop-filter ${n}`},[`${t}-body`]:{transition:`transform ${n} ${r}`},[`${t}-close, ${t}-switch, ${t}-footer`]:{transition:`opacity ${n}, all ${n}`}},"&-fade-enter-from, &-fade-leave-to":{visibility:`visible`,[`${t}-mask`]:{backgroundColor:`transparent`,backdropFilter:`blur(0px)`},[`${t}-body`]:{transform:`scale(0)`},[`${t}-close, ${t}-switch, ${t}-footer`]:{opacity:0}},"&-fade-enter-to, &-fade-leave-from":{[`${t}-mask`]:{backgroundColor:`color-mix(in srgb, ${e.colorBgLayout} 90%, transparent)`,[`&${t}-mask-blur`]:{backdropFilter:`blur(4px)`}},[`${t}-close, ${t}-switch, ${t}-footer`]:{opacity:1}}}}},Fe=(0,r.proGenStyleHooks)(`GImagePreview`,e=>[Ne(e),Pe(e)],Me),X=1,Z={rotateLeft:(0,t.createVNode)(n.RotateLeftOutlined,null,null),rotateRight:(0,t.createVNode)(n.RotateRightOutlined,null,null),zoomIn:(0,t.createVNode)(n.ZoomInOutlined,null,null),zoomOut:(0,t.createVNode)(n.ZoomOutOutlined,null,null),flipX:(0,t.createVNode)(n.SwapOutlined,null,null),flipY:(0,t.createVNode)(n.SwapOutlined,{rotate:90},null),copy:(0,t.createVNode)(n.CopyOutlined,null,null),download:(0,t.createVNode)(n.DownloadOutlined,null,null)},Q={copySuccess:`复制成功`,copyFailed:`复制失败`,downloadSuccess:`下载成功`,downloadFailed:`下载失败`};function Ie(e){try{let t=new URL(e,window.location.href).pathname.match(/\/([^/]+)$/)?.[1];return t?decodeURIComponent(t):`image`}catch{let t=e.split(`?`)[0]?.split(`#`)[0]?.split(`/`).pop();return t?decodeURIComponent(t):`image`}}function Le(e){let t={"image/gif":`gif`,"image/jpg":`jpg`,"image/jpeg":`jpg`,"image/png":`png`,"image/svg+xml":`svg`,"image/webp":`webp`},n=e?.toLowerCase();return t[n]||n?.split(`/`)[1]?.split(`+`)[0]||`png`}async function Re(e){let t=await fetch(e,{mode:`cors`});if(!t.ok)throw Error(`Failed to fetch image: ${t.status}`);return t.blob()}async function ze(e){return new Promise((t,n)=>{let r=new Image,i=URL.createObjectURL(e);r.onload=()=>{URL.revokeObjectURL(i);let e=document.createElement(`canvas`);e.width=r.naturalWidth,e.height=r.naturalHeight;let a=e.getContext(`2d`);if(!a){n(Error(`Canvas context not available`));return}a.drawImage(r,0,0),e.toBlob(e=>{e?t(e):n(Error(`Failed to convert to PNG`))},`image/png`,1)},r.onerror=()=>{URL.revokeObjectURL(i),n(Error(`Failed to load image for PNG conversion`))},r.src=i})}async function Be(e){let t=(e.type||``).toLowerCase();return t===`image/png`||t===`image/svg+xml`?{[t]:e}:{"image/png":await ze(e)}}function Ve(e,t){let n=Ie(e);return n.includes(`.`)?n.endsWith(`.svg+xml`)?n.replace(/\.svg\+xml$/i,`.svg`):n:`${n}.${Le(t)}`}function He(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}var Ue=(0,t.defineComponent)((e,{emit:r,slots:s,expose:c})=>{let{width:l,height:u}=ve(),{prefixCls:d}=(0,i.useBaseConfig)(`pro-image-preview`,e),f=(0,a.default)(d),[p,m]=Fe(d,f),[h,g]=Se(e.open,{value:(0,t.toRef)(e,`open`),onChange:t=>{e.onOpenChange?.(t),r(`update:open`,t)}}),_=(0,t.ref)(!0),v=(0,t.ref)(),y=(0,t.ref)(),b=(0,t.ref)(e.current??0),x=(0,t.ref)(!1),S=(0,t.ref)(!1),{transform:C,resetTransform:w,updateTransform:T,dispatchZoomChange:E}=we({imageRef:v,minScale:(0,t.toRef)(e,`minScale`),maxScale:(0,t.toRef)(e,`maxScale`),windowWidth:l,windowHeight:u,onTransform:e.onTransform}),{isMoving:D,onMouseDown:O,onWheel:k}=ke({imageRef:v,movable:(0,t.toRef)(e,`movable`),visible:h,scaleStep:(0,t.toRef)(e,`scaleStep`),transform:C,updateTransform:T,dispatchZoomChange:E,windowWidth:l,windowHeight:u}),{isTouching:ee,onTouchStart:j,onTouchMove:te,onTouchEnd:N}=je({imageRef:v,movable:(0,t.toRef)(e,`movable`),visible:h,minScale:(0,t.toRef)(e,`minScale`),transform:C,updateTransform:T,dispatchZoomChange:E,windowWidth:l,windowHeight:u}),P=(0,t.computed)(()=>e.urls[b.value]),F=(0,t.computed)(()=>e.urls.length>1),I=(0,t.computed)(()=>e.urls.length>=1),L=(0,t.computed)(()=>e.mask===!1?{visible:!1,blur:!1}:e.mask&&typeof e.mask==`object`&&!(`type`in e.mask)?{visible:!0,blur:e.mask.blur!==!1}:{visible:!0,blur:!0}),R=(0,t.computed)(()=>{let t={};return e.mousePosition&&(t.transformOrigin=`${e.mousePosition.x}px ${e.mousePosition.y}px`),t});(0,t.watch)(()=>e.current,e=>{e!==void 0&&(b.value=e)}),(0,t.watch)(()=>e.current,e=>{e!==void 0&&(b.value=e)});let z=()=>{g(!1),e.onClose?.(),r(`close`)},B=()=>{D.value||z()},V=()=>{if(b.value>0||e.infinite){let n=b.value-1<0?e.urls.length-1:b.value-1;_.value=!1,b.value=n,w(`prev`),(0,t.nextTick)(()=>{_.value=!0})}},H=()=>{if(b.value<e.urls.length-1||e.infinite){let n=b.value+1>e.urls.length-1?0:b.value+1;_.value=!1,b.value=n,w(`next`),(0,t.nextTick)(()=>{_.value=!0})}},re=()=>{E(X+(e.scaleStep??.5),`zoomIn`)},ie=()=>{E(X/(X+(e.scaleStep??.5)),`zoomOut`)},U=()=>{T({rotate:C.value.rotate+90},`rotateRight`)},W=()=>{T({rotate:C.value.rotate-90},`rotateLeft`)},ae=()=>{T({flipX:!C.value.flipX},`flipX`)},oe=()=>{T({flipY:!C.value.flipY},`flipY`)},se=async()=>{if(!(!P.value||x.value)){if(!navigator.clipboard||!window.ClipboardItem){o.message.error(Q.copyFailed);return}x.value=!0;try{let e=await Be(await Re(P.value));await navigator.clipboard.write([new ClipboardItem(e)]),o.message.success(Q.copySuccess)}catch{o.message.error(Q.copyFailed)}finally{x.value=!1}}},ce=async()=>{if(!(!P.value||S.value)){S.value=!0;try{let e=await Re(P.value);He(e,Ve(P.value,e.type)),o.message.success(Q.downloadSuccess)}catch{o.message.error(Q.downloadFailed)}finally{S.value=!1}}},G=t=>{h.value&&(C.value.scale===1?E(X+(e.scaleStep??.5),`doubleClick`,t.clientX,t.clientY):T({x:0,y:0,scale:1},`doubleClick`))},le=e=>{if(e.key===`Escape`){z();return}!h.value||!F.value||(e.key===`ArrowLeft`?V():e.key===`ArrowRight`&&H())},K;(0,t.onMounted)(()=>{let e=e=>le(e);window.addEventListener(`keydown`,e),K=()=>window.removeEventListener(`keydown`,e)}),(0,t.onUnmounted)(()=>{K?.()}),c({setOpen:t=>{g(t),b.value=e.current??0}});let ue=()=>ne({slots:s,props:{...e.icons},keys:[`flipY`,`flipX`,`rotateLeft`,`rotateRight`,`zoomOut`,`zoomIn`,`copy`,`download`],render:!0,defaultVNodes:[Z.flipY,Z.flipX,Z.rotateLeft,Z.rotateRight,Z.zoomOut,Z.zoomIn,Z.copy,Z.download]}),de=()=>{let r=ue();return[{icon:r.flipY,onClick:oe,type:`flipY`},{icon:r.flipX,onClick:ae,type:`flipX`},{icon:r.rotateLeft,onClick:W,type:`rotateLeft`},{icon:r.rotateRight,onClick:U,type:`rotateRight`},{icon:r.zoomOut,onClick:ie,type:`zoomOut`,disabled:(0,t.computed)(()=>C.value.scale<=(e.minScale??1))},{icon:r.zoomIn,onClick:re,type:`zoomIn`,disabled:(0,t.computed)(()=>C.value.scale===(e.maxScale??50))},{icon:x.value?(0,t.createVNode)(n.LoadingOutlined,{spin:!0},null):r.copy,onClick:se,type:`copy`,disabled:(0,t.computed)(()=>x.value)},{icon:S.value?(0,t.createVNode)(n.LoadingOutlined,{spin:!0},null):r.download,onClick:ce,type:`download`,disabled:(0,t.computed)(()=>S.value)}]};return()=>{let r={transform:`translate3d(${C.value.x}px, ${C.value.y}px, 0) scale3d(${C.value.flipX?`-`:``}${C.value.scale}, ${C.value.flipY?`-`:``}${C.value.scale}, 1) rotate(${C.value.rotate}deg)`,transitionDuration:!_.value||ee.value?`0s`:void 0},i=M({slots:s,props:{close:e.icons?.close},key:`close`}),a=M({slots:s,props:{left:e.icons?.left},key:`left`}),o=M({slots:s,props:{right:e.icons?.right},key:`right`}),c=`${d.value}-actions-action`,l=de();return(0,t.createVNode)(t.Teleport,{to:e.getContainer||`body`},{default:()=>[(0,t.createVNode)(t.Transition,{name:`${d.value}-fade`,appear:!0,onAfterLeave:()=>w(`close`)},{default:()=>[h.value&&(0,t.createVNode)(`div`,{ref:y,class:A(d.value,p.value,m.value,f.value,{[`${d.value}-movable`]:e.movable,[`${d.value}-moving`]:D.value}),style:{zIndex:e.zIndex},role:`dialog`,"aria-modal":`true`,"aria-label":`Image`,tabindex:-1},[L.value.visible&&(0,t.createVNode)(`div`,{class:A(`${d.value}-mask`,e.maskClass,{[`${d.value}-mask-blur`]:L.value.blur}),onClick:e.onHideOnClickModal?B:void 0},null),(0,t.createVNode)(`div`,{class:`${d.value}-body`,style:R.value},[(0,t.createVNode)(`img`,{ref:v,class:`${d.value}-img`,src:P.value,alt:`Image`,loading:`eager`,decoding:`sync`,style:r,onWheel:k,onMousedown:O,onDblclick:G,onTouchstart:j,onTouchmove:te,onTouchend:N,onTouchcancel:N},null)]),(0,t.createVNode)(`button`,{type:`button`,class:`${d.value}-close`,onClick:z},[i||(0,t.createVNode)(n.CloseOutlined,null,null)]),F.value&&(0,t.createVNode)(t.Fragment,null,[(0,t.createVNode)(`button`,{type:`button`,class:A(`${d.value}-switch`,`${d.value}-switch-prev`,{[`${d.value}-switch-disabled`]:!e.infinite&&b.value===0}),onClick:e=>{e.preventDefault(),e.stopPropagation(),V()}},[a||(0,t.createVNode)(n.LeftOutlined,null,null)]),(0,t.createVNode)(`button`,{type:`button`,class:A(`${d.value}-switch`,`${d.value}-switch-next`,{[`${d.value}-switch-disabled`]:!e.infinite&&b.value===e.urls.length-1}),onClick:e=>{e.preventDefault(),e.stopPropagation(),H()}},[o||(0,t.createVNode)(n.RightOutlined,null,null)])]),(0,t.createVNode)(`div`,{class:`${d.value}-footer`},[I.value&&(0,t.createVNode)(`div`,{class:`${d.value}-progress`},[e.countRender?e.countRender(b.value+1,e.urls.length):`${b.value+1} / ${e.urls.length}`]),(0,t.createVNode)(`div`,{class:`${d.value}-actions`},[l.map(({icon:e,onClick:n,type:r,disabled:i})=>(0,t.createVNode)(`button`,{type:`button`,class:A(c,`${c}-${r}`,{[`${c}-disabled`]:i&&i.value}),onClick:()=>{i?.value||n()},disabled:i?i.value:!1,"aria-label":r,key:r},[e]))])])])]})]})}},{props:(0,t.mergeDefaults)({class:{type:String,required:!1},style:{type:Object,required:!1},rootClass:{type:String,required:!1},prefixCls:{type:String,required:!1},urls:{type:Array,required:!0},open:{type:Boolean,required:!1,default:void 0},scaleStep:{type:Number,required:!1},minScale:{type:Number,required:!1},maxScale:{type:Number,required:!1},movable:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},zIndex:{type:Number,required:!1},current:{type:Number,required:!1},infinite:{type:Boolean,required:!1,default:void 0},getContainer:{type:String,required:!1},onHideOnClickModal:{type:Boolean,required:!1,default:void 0},mask:{type:[Object,Boolean],required:!1,default:void 0},maskClass:{type:String,required:!1},mousePosition:{type:[Object,null],required:!1},countRender:{type:[Function,Boolean],required:!1,default:void 0},icons:{type:Object,required:!1},onClose:{type:Function,required:!1},onTransform:{type:Function,required:!1},onOpenChange:{type:Function,required:!1},"onUpdate:open":{type:Function,required:!1}},{open:!1,scaleStep:.5,minScale:1,maxScale:50,movable:!0,zIndex:2e3,current:0,infinite:!0,onHideOnClickModal:!0,urls:[],icons:{}}),emits:[`close`,`transform`,`update:open`],name:`GImagePreview`,inheritAttrs:!1}),We=e=>{let{motionDurationSlow:t,paddingXXS:n,marginXXS:i,colorTextLightSolid:a}=e;return{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,color:a,background:`rgba(0, 0, 0, 0.5)`,cursor:`pointer`,opacity:0,transition:`opacity ${t}`,[`.${e.componentCls}-mask-info`]:{overflow:`hidden`,whiteSpace:`nowrap`,textOverflow:`ellipsis`,padding:`0 ${(0,r.unit)(n)}`,".anticon":{marginInlineEnd:i,svg:{verticalAlign:`baseline`}}}}},Ge=e=>{let t={width:`100%`,height:`100%`};return{[e.componentCls]:{display:`inline-block`,position:`relative`,overflow:`hidden`,[`${e.componentCls}-img`]:{...t,verticalAlign:`top`,opacity:1,[`&${e.componentCls}-img-preview`]:{userSelect:`none`,cursor:`pointer`},"&-placeholder":{...t,backgroundColor:e.colorBgContainerDisabled,backgroundImage:`url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=')`,backgroundRepeat:`no-repeat`,backgroundPosition:`center center`,backgroundSize:`30%`}},[`${e.componentCls}-error`]:{...t,display:`flex`,alignItems:`center`,justifyContent:`center`},[`${e.componentCls}-placeholder`]:{position:`absolute`,inset:0},[`${e.componentCls}-mask`]:{...We(e)},[`${e.componentCls}-mask:hover`]:{opacity:1}}}},Ke=(0,r.proGenStyleHooks)(`GImage`,e=>[Ge(e)]),qe={src:``,alt:``,fit:`contain`,preview:!0,loading:`eager`};function Je(e){return e&&e.nodeType===1}var $=(0,t.defineComponent)((e,{emit:o,slots:s,expose:c,attrs:l})=>{let u=I&&`loading`in HTMLImageElement.prototype,{prefixCls:d}=(0,i.useBaseConfig)(`pro-image`,e),f=(0,a.default)(d),[p,m]=Ke(d,f),h=(0,t.ref)(),_=(0,t.ref)(!1),v=(0,t.ref)(!0),b=(0,t.ref)(),x=(0,t.ref)(),S,C=(0,t.computed)(()=>e.loading===`eager`?!1:!u&&e.loading===`lazy`||e.lazy),w=(0,t.computed)(()=>I&&e.fit?{...e.imageStyle,objectFit:e.fit}:{...e.imageStyle}),T=(0,t.computed)(()=>typeof e.preview==`object`?e.preview:{}),E=(0,t.computed)(()=>!!e.preview),D=(0,t.computed)(()=>{let{urls:t=[],current:n=0}=T.value;if(g(n))return t.length>=n?n:0;let r=t.indexOf(e.src??``);return r>=0?r:0}),O=(0,t.computed)(()=>(0,r.unit)(e.width)),k=(0,t.computed)(()=>(0,r.unit)(e.height)),{showViewer:j,mousePosition:te,openPreview:M,closePreview:N}=ye({canPreview:E}),P=()=>{I&&(v.value=!0,_.value=!1,h.value=e.src)},F=t=>{_.value||(v.value=!1,_.value=!1,e.onLoad?.(t),o(`load`,t))},L=t=>{v.value=!1,_.value=!0,e.onError?.(t),o(`error`,t)},R=()=>{if(!b.value||!x.value)return!1;let e=b.value.getBoundingClientRect(),t=x.value.getBoundingClientRect?x.value.getBoundingClientRect():{top:0,bottom:x.value.innerHeight??0,left:0,right:x.value.innerWidth??0};return e.top<t.bottom&&e.bottom>t.top&&e.left<t.right&&e.right>t.left},z=oe(()=>{R()&&(P(),S?.(),S=void 0)},200,!0),B=async()=>{if(!I)return;await(0,t.nextTick)();let{scrollContainer:n}=e;Je(n)?x.value=n:y(n)&&n!==``?x.value=document.querySelector(n)??void 0:b.value&&(x.value=ee(b.value)),x.value&&(S=K(x.value,`scroll`,z),setTimeout(z,100))},V=t=>{let n=v.value?`loaded`:_.value?`error`:`success`;if(e.onClick?.(n),o(`click`,n),!(v.value||_.value)&&E.value){let e=t.currentTarget?.getBoundingClientRect();M(e?{...t,clientX:e.x+e.width/2,clientY:e.y+e.height/2}:t)}};return(0,t.watch)(()=>e.src,()=>{C.value?(v.value=!0,_.value=!1,S?.(),B()):P()}),(0,t.onMounted)(()=>{C.value?B():P()}),c({setOpen:e=>{e?M():N()}}),()=>{let i={},a={};for(let[e,t]of Object.entries(l))/^(?:data-|on[A-Z])/i.test(e)||[`id`,`style`,`class`].includes(e)?i[e]=t:a[e]=t;let o=ne({slots:s,props:e,keys:[`fallback`,`mask`,`placeholder`],render:!0});return(0,t.createVNode)(`div`,(0,t.mergeProps)({class:A(d.value,p.value,m.value,f.value,e.class),ref:b},i,{style:{width:(0,r.unit)(e.size)||O.value,height:(0,r.unit)(e.size)||k.value,...i.style||{}},onClick:e=>{_.value&&V(e)}}),[_.value?(0,t.createVNode)(`div`,{class:A(`${d.value}-error`)},[o.fallback]):(0,t.createVNode)(t.Fragment,null,[(0,t.createVNode)(`img`,(0,t.mergeProps)(a,{src:h.value,loading:e.loading,style:w.value,class:A(e.imageClass,`${d.value}-img`,{[`${d.value}-img-placeholder`]:e.placeholder===!0,[`${d.value}-img-preview`]:E.value}),crossorigin:e.crossOrigin,width:O.value,height:k.value,onClick:V,onLoad:F,onError:L}),null),v.value&&(0,t.createVNode)(`div`,{class:A(`${d.value}-placeholder`),onClick:V},[o.placeholder])]),T.value.mask&&E.value&&(0,t.createVNode)(`div`,{class:A(`${d.value}-mask`,T.value.maskClass),style:{display:i.style?.display===`none`?`none`:void 0}},[o.mask||(0,t.createVNode)(`div`,{class:A(`${d.value}-mask-info`)},[(0,t.createVNode)(n.EyeOutlined,null,null)])]),E.value&&(0,t.createVNode)(Ue,(0,t.mergeProps)(T.value,{urls:T.value.urls||(e.src?[e.src]:[]),current:D.value,zIndex:e.zIndex??T.value.zIndex,open:j.value,mousePosition:te.value,onClose:()=>N()}),s)])}},{props:(0,t.mergeDefaults)({rootClass:{type:String,required:!1},prefixCls:{type:String,required:!1},src:{type:String,required:!1},alt:{type:String,required:!1},width:{type:Number,required:!1},height:{type:Number,required:!1},size:{type:Number,required:!1},fit:{type:String,required:!1},loading:{type:String,required:!1},crossOrigin:{type:String,required:!1},imageStyle:{type:Object,required:!1},imageClass:{type:String,required:!1},preview:{type:[Boolean,Object],required:!1,default:void 0},zIndex:{type:Number,required:!1},lazy:{type:Boolean,required:!1,default:void 0},scrollContainer:{required:!1},placeholder:{type:[Function,Object,String,Number,Boolean,null,Array],required:!1,default:void 0},fallback:{type:[Function,Object,String,Number,Boolean,null,Array],required:!1,default:void 0},onLoad:{type:Function,required:!1},onError:{type:Function,required:!1},onClick:{type:Function,required:!1},"onUpdate:open":{type:Function,required:!1}},qe),emits:[`click`,`load`,`error`],name:`GImage`,inheritAttrs:!1});$.isGImage=!0,$.install=e=>(e.component($.name,$),e),e.GImage=$,e.ImagePreview=Ue});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`),require(`@antdv-next/icons`),require(`@gx-design-vue/pro-provider`),require(`antdv-next/config-provider/context`),require(`antdv-next/config-provider/hooks/useCSSVarCls`),require(`antdv-next`)):typeof define==`function`&&define.amd?define([`exports`,`vue`,`@antdv-next/icons`,`@gx-design-vue/pro-provider`,`antdv-next/config-provider/context`,`antdv-next/config-provider/hooks/useCSSVarCls`,`antdv-next`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.GImage={},e.Vue,e._antdv_next_icons,e._gx_design_vue_pro_provider,e.antdv_next_config_provider_context,e.antdv_next_config_provider_hooks_useCSSVarCls,e.antdv_next))})(this,function(e,t,n,r,i,a,o){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var s=Object.create,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,d=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty,p=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=u(t),a=0,o=i.length,s;a<o;a++)s=i[a],!f.call(e,s)&&s!==n&&c(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=l(t,s))||r.enumerable});return e};a=((e,t,n)=>(n=e==null?{}:s(d(e)),p(t||!e||!e.__esModule?c(n,`default`,{value:e,enumerable:!0}):n,e)))(a,1);function m(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function h(e){return typeof e==`boolean`}function g(e){return typeof e==`number`}function _(e){return Array.isArray===void 0?Object.prototype.toString.call(e)===`[object Array]`:Array.isArray(e)}function v(e){return e!==null&&m(e,`Object`)}function y(e){return typeof e==`string`}var b=typeof window>`u`,x=e=>setTimeout(e,16),S=e=>clearTimeout(e);typeof window<`u`&&`requestAnimationFrame`in window&&(x=e=>window.requestAnimationFrame(e),S=e=>window.cancelAnimationFrame(e));var C=0,w=new Map;function T(e){w.delete(e)}function E(e,t=1){C+=1;let n=C;function r(t){if(t===0)T(n),e();else{let e=x(()=>{r(t-1)});w.set(n,e)}}return r(t),n}E.cancel=e=>{let t=w.get(e);return T(t),S(t)};function D(e){return e.replace(/[-_](.)/g,(e,t)=>t.toUpperCase())}function O(e,t){if(b||!e||!t)return``;t=D(t),t===`float`&&(t=`cssFloat`);try{let n=e.style[t];if(n)return n;let r=document?.defaultView?.getComputedStyle(e,``);return r?r[t]:``}catch{return e.style[t]}}function k(e,t){if(!b)return(t==null?O(e,`overflow`):t?O(e,`overflow-y`):O(e,`overflow-x`)).match(/(scroll|auto|overlay)/)}function ee(e,t){if(b)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(k(n,t))return n;n=n.parentNode}return n}function A(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r){if(y(r))t.push(r);else if(_(r))for(let e=0;e<r.length;e++){let n=A(r[e]);n&&t.push(n)}else if(v(r))for(let e in r)r[e]&&t.push(e)}}return t.filter(e=>e).join(` `)}function j({vnode:e,defaultVNode:t},...n){return e===!1?null:typeof e==`function`?e?.(...n):e||t}function M({value:e,slotsValue:n,defaultVNode:r,render:i}){return e===!1?!1:e===!0?n??r:v(e)&&i?(0,t.isVNode)(e)?e:n:e||n}function N(e,...t){let{slots:n,key:r=`default`,render:i,props:a,defaultChildren:o}=e,s=a[r],c=n?.[r],l=typeof o==`function`?o?.():o,u=M({value:s,slotsValue:c,defaultVNode:l,render:i});return u===!1?!1:i?j({vnode:u,defaultVNode:l},...t):u}function P(e,...t){let{slots:n,key:r=`default`,props:i,defaultChildren:a}=e,o=i[r],s=n?.[r]?.(...t),c=typeof a==`function`?a?.():a,l=M({value:o,slotsValue:s,defaultVNode:c,render:!0});return l===!1?!1:j({vnode:l,defaultVNode:c},...t)}function te(e,...t){let{slots:n,props:r,keys:i,render:a,defaultVNodes:o}=e,s={};return i.forEach((e,i)=>{let c=o?o[i]:null,l=a?P({slots:n,props:r,key:e,defaultChildren:c},...t):N({slots:n,props:r,key:e,render:!1,defaultChildren:c},...t);(h(l)||l)&&(s[e]=l)}),s}function F(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}var I=new WeakMap,L=(...e)=>{let n=e[0],r=(0,t.getCurrentInstance)()?.proxy??(0,t.getCurrentScope)();if(r==null&&!(0,t.hasInjectionContext)())throw Error(`injectLocal must be called in setup`);return r&&I.has(r)&&n in I.get(r)?I.get(r)[n]:(0,t.inject)(...e)},R=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var z=Object.prototype.toString,B=e=>z.call(e)===`[object Object]`,V=()=>{},H=U();function U(){var e,t;return R&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function ne(...e){if(e.length!==1)return(0,t.toRef)(...e);let n=e[0];return typeof n==`function`?(0,t.readonly)((0,t.customRef)(()=>({get:n,set:V}))):(0,t.ref)(n)}function re(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}function ie(...e){let n=0,r,i=!0,a=V,o,s,c,l,u;!(0,t.isRef)(e[0])&&typeof e[0]==`object`?{delay:s,trailing:c=!0,leading:l=!0,rejectOnCancel:u=!1}=e[0]:[s,c=!0,l=!0,u=!1]=e;let d=()=>{r&&(clearTimeout(r),r=void 0,a(),a=V)};return e=>{let f=(0,t.toValue)(s),p=Date.now()-n,m=()=>o=e();return d(),f<=0?(n=Date.now(),m()):(p>f?(n=Date.now(),(l||!i)&&m()):c&&(o=new Promise((e,t)=>{a=u?t:e,r=setTimeout(()=>{n=Date.now(),i=!0,e(m()),d()},Math.max(0,f-p))})),!l&&!r&&(r=setTimeout(()=>i=!0,f)),i=!1,o)}}function W(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function G(e){return Array.isArray(e)?e:[e]}function ae(e){return e||(0,t.getCurrentInstance)()}function oe(e,t=200,n=!1,r=!0,i=!1){return re(ie(t,n,r,i),e)}function se(e,n=!0,r){ae(r)?(0,t.onMounted)(e,r):n?e():(0,t.nextTick)(e)}function ce(e,n,r){return(0,t.watch)(e,n,{...r,immediate:!0})}var K=R?window:void 0;R&&window.document,R&&window.navigator,R&&window.location;function q(e){let n=(0,t.toValue)(e);return n?.$el??n}function J(...e){let n=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),r=(0,t.computed)(()=>{let n=G((0,t.toValue)(e[0])).filter(e=>e!=null);return n.every(e=>typeof e!=`string`)?n:void 0});return ce(()=>[r.value?.map(e=>q(e))??[K].filter(e=>e!=null),G((0,t.toValue)(r.value?e[1]:e[0])),G((0,t.unref)(r.value?e[2]:e[1])),(0,t.toValue)(r.value?e[3]:e[2])],([e,t,r,i],a,o)=>{if(!e?.length||!t?.length||!r?.length)return;let s=B(i)?{...i}:i,c=e.flatMap(e=>t.flatMap(t=>r.map(r=>n(e,t,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function le(){let e=(0,t.shallowRef)(!1),n=(0,t.getCurrentInstance)();return n&&(0,t.onMounted)(()=>{e.value=!0},n),e}function ue(e){let n=le();return(0,t.computed)(()=>(n.value,!!e()))}var de=Symbol(`vueuse-ssr-width`);function fe(){let e=(0,t.hasInjectionContext)()?L(de,null):null;return typeof e==`number`?e:void 0}function pe(e,n={}){let{window:r=K,ssrWidth:i=fe()}=n,a=ue(()=>r&&`matchMedia`in r&&typeof r.matchMedia==`function`),o=(0,t.shallowRef)(typeof i==`number`),s=(0,t.shallowRef)(),c=(0,t.shallowRef)(!1);return(0,t.watchEffect)(()=>{if(o.value){o.value=!a.value,c.value=(0,t.toValue)(e).split(`,`).some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),r=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||r);return n&&a&&(a=i>=W(n[1])),r&&a&&(a=i<=W(r[1])),t?!a:a});return}a.value&&(s.value=r.matchMedia((0,t.toValue)(e)),c.value=s.value.matches)}),J(s,`change`,e=>{c.value=e.matches},{passive:!0}),(0,t.computed)(()=>c.value)}function me(e){return typeof Window<`u`&&e instanceof Window?e.document.documentElement:typeof Document<`u`&&e instanceof Document?e.documentElement:e}function he(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!t||t.tagName===`BODY`?!1:he(t)}}function ge(e){let t=e||window.event,n=t.target;return he(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}var _e=new WeakMap;function ve(e,n=!1){let r=(0,t.shallowRef)(n),i=null,a=``;(0,t.watch)(ne(e),e=>{let n=me((0,t.toValue)(e));if(n){let e=n;if(_e.get(e)||_e.set(e,e.style.overflow),e.style.overflow!==`hidden`&&(a=e.style.overflow),e.style.overflow===`hidden`)return r.value=!0;if(r.value)return e.style.overflow=`hidden`}},{immediate:!0});let o=()=>{let n=me((0,t.toValue)(e));!n||r.value||(H&&(i=J(n,`touchmove`,e=>{ge(e)},{passive:!1})),n.style.overflow=`hidden`,r.value=!0)},s=()=>{let n=me((0,t.toValue)(e));!n||!r.value||(H&&i?.(),n.style.overflow=a,_e.delete(n),r.value=!1)};return F(s),(0,t.computed)({get(){return r.value},set(e){e?o():s()}})}function ye(e={}){let{window:n=K,initialWidth:r=1/0,initialHeight:i=1/0,listenOrientation:a=!0,includeScrollbar:o=!0,type:s=`inner`}=e,c=(0,t.shallowRef)(r),l=(0,t.shallowRef)(i),u=()=>{if(n)if(s===`outer`)c.value=n.outerWidth,l.value=n.outerHeight;else if(s===`visual`&&n.visualViewport){let{width:e,height:t,scale:r}=n.visualViewport;c.value=Math.round(e*r),l.value=Math.round(t*r)}else o?(c.value=n.innerWidth,l.value=n.innerHeight):(c.value=n.document.documentElement.clientWidth,l.value=n.document.documentElement.clientHeight)};u(),se(u);let d={passive:!0};return J(`resize`,u,d),n&&s===`visual`&&n.visualViewport&&J(n.visualViewport,`resize`,u,d),a&&(0,t.watch)(pe(`(orientation: portrait)`),()=>u()),{width:c,height:l}}function be(e){let{canPreview:n}=e,r=(0,t.ref)(!1),i=(0,t.ref)(null),a=ve(document.body,!1),o;return(0,t.onScopeDispose)(()=>{o!==void 0&&(window.cancelAnimationFrame(o),o=void 0),a.value=!1}),J(`wheel`,e=>{r.value&&e.ctrlKey&&e.preventDefault()},{passive:!1}),{showViewer:r,mousePosition:i,openPreview:e=>{n.value&&(o!==void 0&&(window.cancelAnimationFrame(o),o=void 0),e?i.value={x:e.clientX,y:e.clientY}:i.value=null,r.value=!0,o=window.requestAnimationFrame(()=>{a.value=!0,o=void 0}))},closePreview:()=>{o!==void 0&&(window.cancelAnimationFrame(o),o=void 0),r.value=!1,i.value=null,a.value=!1}}}var xe=(typeof window>`u`?!1:/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1)&&!window.MSStream;typeof window>`u`||xe||window.safari;function Se(e){let n=(0,t.ref)(typeof e==`function`?e():e);function r(e){n.value=e}return[n,r]}function Ce(e,n){let{defaultValue:r,value:i=(0,t.ref)()}=n||{},a=typeof e==`function`?e():e;i.value!==void 0&&(a=(0,t.unref)(i)),r!==void 0&&(a=typeof r==`function`?r():r);let o=(0,t.ref)(a),s=(0,t.ref)(a),[c,l]=Se([s.value]),u=(0,t.watchEffect)(()=>{let e=i.value===void 0?o.value:i.value;n?.postState&&(e=n.postState(e,o.value)),s.value=e}),d=(0,t.watch)(c,()=>{let e=c.value[0];o.value!==e&&n?.onChange?.(o.value,e)},{deep:!0});function f(e){o.value=e}function p(e){f(e),l([s.value])}let m=(0,t.watch)(i,()=>{o.value=i.value});return(0,t.onScopeDispose)(()=>{u(),d(),m()}),[s,p,o]}var we={x:0,y:0,rotate:0,scale:1,flipX:!1,flipY:!1};function Te(e){let{imageRef:n,minScale:r,maxScale:i,windowWidth:a,windowHeight:o,onTransform:s}=e,c=(0,t.ref)(null),l=(0,t.ref)([]),[u,d]=Se({...we}),f=e=>{let t={...u.value};d({...we}),(t.x!==0||t.y!==0||t.scale!==1||t.rotate!==0||t.flipX||t.flipY)&&s?.({transform:{...we},action:e})},p=(e,t)=>{c.value===null&&(l.value=[],c.value=E(()=>{let e={...u.value};for(let t of l.value)e={...e,...t};c.value=null,s?.({transform:e,action:t}),d(e)})),l.value.push({...u.value,...e})};return{transform:u,resetTransform:f,updateTransform:p,dispatchZoomChange:(e,t,s,c,l)=>{let d=n.value;if(!d)return;let{width:f,height:m,offsetWidth:h,offsetHeight:g,offsetLeft:_,offsetTop:v}=d,y=e,b=u.value.scale*e;b>i.value?(b=i.value,y=i.value/u.value.scale):b<r.value&&(b=l?b:r.value,y=b/u.value.scale);let x=s??a.value/2,S=c??o.value/2,C=y-1,w=C*f*.5,T=C*m*.5,E=C*(x-u.value.x-_),D=C*(S-u.value.y-v),O=u.value.x-(E-w),k=u.value.y-(D-T);if(e<1&&b===1){let e=h*b,t=g*b;e<=a.value&&t<=o.value&&(O=0,k=0)}p({x:O,y:k,scale:b},t)}}}function Ee(e,t,n,r){let i=t+n,a=(n-r)/2;if(n>r){if(t>0)return{[e]:a};if(t<0&&i<r)return{[e]:-a}}else if(t<0||i>r)return{[e]:t<0?a:-a};return{}}function De(e){let{imageWidth:t,imageHeight:n,imageLeft:r,imageTop:i,windowWidth:a,windowHeight:o}=e;return t<=a&&n<=o?{x:0,y:0}:t>a||n>o?{...Ee(`x`,r,t,a),...Ee(`y`,i,n,o)}:null}var Oe=1,ke=2;function Ae(e){let{imageRef:n,movable:r,visible:i,scaleStep:a,transform:o,updateTransform:s,dispatchZoomChange:c,windowWidth:l,windowHeight:u}=e,d=(0,t.ref)(!1),f=(0,t.ref)({diffX:0,diffY:0,transformX:0,transformY:0});return J(window,`mouseup`,()=>{if(!i.value||!d.value)return;d.value=!1;let{transformX:e,transformY:t}=f.value;if(!(o.value.x!==e&&o.value.y!==t))return;let r=n.value;if(!r)return;let a=r.offsetWidth*o.value.scale,c=r.offsetHeight*o.value.scale,{left:p,top:m}=r.getBoundingClientRect(),h=o.value.rotate%180!=0,g=De({imageWidth:h?c:a,imageHeight:h?a:c,imageLeft:p,imageTop:m,windowWidth:l.value,windowHeight:u.value});g&&s({...g},`dragRebound`)}),J(window,`mousemove`,e=>{!i.value||!d.value||s({x:e.pageX-f.value.diffX,y:e.pageY-f.value.diffY},`move`)}),{isMoving:d,onMouseDown:e=>{!r.value||e.button!==0||(e.preventDefault(),e.stopPropagation(),f.value={diffX:e.pageX-o.value.x,diffY:e.pageY-o.value.y,transformX:o.value.x,transformY:o.value.y},d.value=!0)},onWheel:e=>{if(!i.value||e.deltaY===0)return;let t=Oe+Math.min(Math.abs(e.deltaY/100),ke)*a.value;e.deltaY>0&&(t=Oe/t),c(t,`wheel`,e.clientX,e.clientY)}}}function Y(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function je(e,t,n,r){let i=Y(e,n),a=Y(t,r);if(i===0&&a===0)return[e.x,e.y];let o=i/(i+a);return[e.x+o*(t.x-e.x),e.y+o*(t.y-e.y)]}function Me(e){let{imageRef:n,movable:r,visible:i,minScale:a,transform:o,updateTransform:s,dispatchZoomChange:c,windowWidth:l,windowHeight:u}=e,d=(0,t.ref)(!1),f=(0,t.ref)({point1:{x:0,y:0},point2:{x:0,y:0},eventType:`none`}),p=e=>{f.value={...f.value,...e}};return J(window,`touchmove`,e=>{i.value&&r.value&&e.preventDefault()},{passive:!1}),{isTouching:d,onTouchStart:e=>{if(!r.value)return;e.stopPropagation(),d.value=!0;let{touches:t=[]}=e;t.length>1?p({point1:{x:t[0].clientX,y:t[0].clientY},point2:{x:t[1].clientX,y:t[1].clientY},eventType:`touchZoom`}):p({point1:{x:t[0].clientX-o.value.x,y:t[0].clientY-o.value.y},eventType:`move`})},onTouchMove:e=>{let{touches:t=[]}=e,{point1:n,point2:r,eventType:i}=f.value;if(t.length>1&&i===`touchZoom`){let e={x:t[0].clientX,y:t[0].clientY},i={x:t[1].clientX,y:t[1].clientY},[a,o]=je(n,r,e,i);c(Y(e,i)/Y(n,r),`touchZoom`,a,o,!0),p({point1:e,point2:i,eventType:`touchZoom`})}else i===`move`&&(s({x:t[0].clientX-n.x,y:t[0].clientY-n.y},`move`),p({eventType:`move`}))},onTouchEnd:()=>{if(!i.value)return;if(d.value&&=!1,p({eventType:`none`}),a.value>o.value.scale)return s({x:0,y:0,scale:a.value},`touchZoom`);let e=n.value;if(!e)return;let t=e.offsetWidth*o.value.scale,r=e.offsetHeight*o.value.scale,{left:c,top:f}=e.getBoundingClientRect(),m=o.value.rotate%180!=0,h=De({imageWidth:m?r:t,imageHeight:m?t:r,imageLeft:c,imageTop:f,windowWidth:l.value,windowHeight:u.value});h&&s({...h},`dragRebound`)}}}function Ne(e){return{zIndexPopup:`calc(${e.zIndexPopupBase} + 80)`,previewOperationColor:e.colorTextDescription,previewOperationHoverColor:e.colorText,previewOperationColorDisabled:e.colorTextDisabled,imagePreviewSwitchSize:e.controlHeightLG,previewOperationSize:e.fontSizeLG}}var Pe=e=>{let t=e.componentCls,{motionEaseOut:n,motionDurationSlow:i,previewOperationSize:a,zIndexPopup:o}=e,s={position:`absolute`,color:e.previewOperationColor,backgroundColor:e.colorBgContainer,borderRadius:`50%`,width:e.controlHeightLG,height:e.controlHeightLG,padding:0,outline:0,border:0,boxShadow:e.boxShadowTertiary,cursor:`pointer`,transition:`all ${i}`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:a,"&:hover":{color:e.previewOperationHoverColor,backgroundColor:e.colorBgContainer},"&:active":{backgroundColor:e.colorBgContainer},svg:{stroke:`currentColor`}};return{[t]:{textAlign:`center`,inset:0,position:`fixed`,userSelect:`none`,zIndex:o,[`${t}-mask`]:{position:`absolute`,inset:0,background:`color-mix(in srgb, ${e.colorBgLayout} 90%, transparent)`,backdropFilter:`blur(0px)`,transition:`background-color ${i}, backdrop-filter ${i}`,[`&${t}-mask-blur`]:{backdropFilter:`blur(4px)`},[`&${t}-mask-hidden`]:{display:`none`}},[`${t}-body`]:{position:`absolute`,inset:0,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`,"> *":{pointerEvents:`auto`}},[`${t}-img`]:{maxWidth:`100%`,maxHeight:`70%`,verticalAlign:`middle`,transform:`scale3d(1, 1, 1)`,transition:`transform ${i} ${n} 0s`,userSelect:`none`},[`&-movable ${t}-img`]:{cursor:`grab`},[`&-moving ${t}-img`]:{cursor:`grabbing`},[`${t}-close`]:{...s,top:e.marginSM,insetInlineEnd:e.marginSM},[`${t}-switch`]:{...s,top:`50%`,transform:`translateY(-50%)`,"&-disabled":{"&, &:hover, &:active":{color:e.previewOperationColorDisabled,backgroundColor:e.colorBgContainer,cursor:`not-allowed`}},"&-prev":{insetInlineStart:e.marginSM},"&-next":{insetInlineEnd:e.marginSM}},[`${t}-footer`]:{position:`absolute`,bottom:e.marginXL,left:{_skip_check_:!0,value:`50%`},display:`flex`,flexDirection:`column`,alignItems:`center`,color:e.previewOperationColor,transform:`translateX(-50%)`,gap:e.marginXS},[`${t}-progress`]:{color:e.previewOperationColor},[`${t}-actions`]:{display:`flex`,alignItems:`center`,gap:e.marginXXS,padding:e.paddingXXS,color:e.previewOperationColor,backgroundColor:e.colorBgContainer,border:`${(0,r.unit)(e.lineWidth)} ${e.lineType} ${e.colorFillTertiary}`,borderRadius:e.borderRadiusLG,fontSize:a,"&-action":{color:`inherit`,background:`transparent`,border:0,font:`inherit`,lineHeight:1,width:e.controlHeight,height:e.controlHeight,padding:0,cursor:`pointer`,transition:`all ${i}`,display:`flex`,alignItems:`center`,justifyContent:`center`,borderRadius:e.borderRadius,userSelect:`none`,[`&:not(${t}-actions-action-disabled):hover`]:{color:e.colorTextSecondary,backgroundColor:e.colorFillTertiary},[`&:not(${t}-actions-action-disabled):active`]:{color:e.colorText,backgroundColor:e.colorFillSecondary},"&-disabled":{cursor:`not-allowed`,opacity:.5},svg:{stroke:`currentColor`}}}}}},Fe=e=>{let t=e.componentCls,{motionDurationSlow:n,motionEaseOut:r}=e;return{[`${t}`]:{"&-fade-enter-active, &-fade-leave-active":{transition:`visibility ${n}`,[`${t}-mask`]:{transition:`background-color ${n}, backdrop-filter ${n}`},[`${t}-body`]:{transition:`transform ${n} ${r}`},[`${t}-close, ${t}-switch, ${t}-footer`]:{transition:`opacity ${n}, all ${n}`}},"&-fade-enter-from, &-fade-leave-to":{visibility:`visible`,[`${t}-mask`]:{backgroundColor:`transparent`,backdropFilter:`blur(0px)`},[`${t}-body`]:{transform:`scale(0)`},[`${t}-close, ${t}-switch, ${t}-footer`]:{opacity:0}},"&-fade-enter-to, &-fade-leave-from":{[`${t}-mask`]:{backgroundColor:`color-mix(in srgb, ${e.colorBgLayout} 90%, transparent)`,[`&${t}-mask-blur`]:{backdropFilter:`blur(4px)`}},[`${t}-close, ${t}-switch, ${t}-footer`]:{opacity:1}}}}},Ie=(0,r.proGenStyleHooks)(`GImagePreview`,e=>[Pe(e),Fe(e)],Ne),X=1,Z={rotateLeft:(0,t.createVNode)(n.RotateLeftOutlined,null,null),rotateRight:(0,t.createVNode)(n.RotateRightOutlined,null,null),zoomIn:(0,t.createVNode)(n.ZoomInOutlined,null,null),zoomOut:(0,t.createVNode)(n.ZoomOutOutlined,null,null),flipX:(0,t.createVNode)(n.SwapOutlined,null,null),flipY:(0,t.createVNode)(n.SwapOutlined,{rotate:90},null),copy:(0,t.createVNode)(n.CopyOutlined,null,null),download:(0,t.createVNode)(n.DownloadOutlined,null,null)},Q={copySuccess:`复制成功`,copyFailed:`复制失败`,downloadSuccess:`下载成功`,downloadFailed:`下载失败`};function Le(e){try{let t=new URL(e,window.location.href).pathname.match(/\/([^/]+)$/)?.[1];return t?decodeURIComponent(t):`image`}catch{let t=e.split(`?`)[0]?.split(`#`)[0]?.split(`/`).pop();return t?decodeURIComponent(t):`image`}}function Re(e){let t={"image/gif":`gif`,"image/jpg":`jpg`,"image/jpeg":`jpg`,"image/png":`png`,"image/svg+xml":`svg`,"image/webp":`webp`},n=e?.toLowerCase();return t[n]||n?.split(`/`)[1]?.split(`+`)[0]||`png`}async function ze(e){let t=await fetch(e,{mode:`cors`});if(!t.ok)throw Error(`Failed to fetch image: ${t.status}`);return t.blob()}async function Be(e){return new Promise((t,n)=>{let r=new Image,i=URL.createObjectURL(e);r.onload=()=>{URL.revokeObjectURL(i);let e=document.createElement(`canvas`);e.width=r.naturalWidth,e.height=r.naturalHeight;let a=e.getContext(`2d`);if(!a){n(Error(`Canvas context not available`));return}a.drawImage(r,0,0),e.toBlob(e=>{e?t(e):n(Error(`Failed to convert to PNG`))},`image/png`,1)},r.onerror=()=>{URL.revokeObjectURL(i),n(Error(`Failed to load image for PNG conversion`))},r.src=i})}async function Ve(e){let t=(e.type||``).toLowerCase();return t===`image/png`||t===`image/svg+xml`?{[t]:e}:{"image/png":await Be(e)}}function He(e,t){let n=Le(e);return n.includes(`.`)?n.endsWith(`.svg+xml`)?n.replace(/\.svg\+xml$/i,`.svg`):n:`${n}.${Re(t)}`}function Ue(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}var We=(0,t.defineComponent)((e,{emit:r,slots:s,expose:c})=>{let{width:l,height:u}=ye(),{prefixCls:d}=(0,i.useBaseConfig)(`pro-image-preview`,e),f=(0,a.default)(d),[p,m]=Ie(d,f),[h,g]=Ce(e.open,{value:(0,t.toRef)(e,`open`),onChange:t=>{e.onOpenChange?.(t),r(`update:open`,t)}}),_=(0,t.ref)(!0),v=(0,t.ref)(),y=(0,t.ref)(),b=(0,t.ref)(e.current??0),x=(0,t.ref)(!1),S=(0,t.ref)(!1),{transform:C,resetTransform:w,updateTransform:T,dispatchZoomChange:E}=Te({imageRef:v,minScale:(0,t.toRef)(e,`minScale`),maxScale:(0,t.toRef)(e,`maxScale`),windowWidth:l,windowHeight:u,onTransform:e.onTransform}),{isMoving:D,onMouseDown:O,onWheel:k}=Ae({imageRef:v,movable:(0,t.toRef)(e,`movable`),visible:h,scaleStep:(0,t.toRef)(e,`scaleStep`),transform:C,updateTransform:T,dispatchZoomChange:E,windowWidth:l,windowHeight:u}),{isTouching:ee,onTouchStart:j,onTouchMove:M,onTouchEnd:N}=Me({imageRef:v,movable:(0,t.toRef)(e,`movable`),visible:h,minScale:(0,t.toRef)(e,`minScale`),transform:C,updateTransform:T,dispatchZoomChange:E,windowWidth:l,windowHeight:u}),F=(0,t.computed)(()=>e.urls[b.value]),I=(0,t.computed)(()=>e.urls.length>1),L=(0,t.computed)(()=>e.urls.length>=1),R=(0,t.computed)(()=>e.mask===!1?{visible:!1,blur:!1}:e.mask&&typeof e.mask==`object`&&!(`type`in e.mask)?{visible:!0,blur:e.mask.blur!==!1}:{visible:!0,blur:!0}),z=(0,t.computed)(()=>{let t={};return e.mousePosition&&(t.transformOrigin=`${e.mousePosition.x}px ${e.mousePosition.y}px`),t});(0,t.watch)(()=>e.current,e=>{e!==void 0&&(b.value=e)}),(0,t.watch)(()=>e.current,e=>{e!==void 0&&(b.value=e)});let B=()=>{g(!1),e.onClose?.(),r(`close`)},V=()=>{D.value||B()},H=()=>{if(b.value>0||e.infinite){let n=b.value-1<0?e.urls.length-1:b.value-1;_.value=!1,b.value=n,w(`prev`),(0,t.nextTick)(()=>{_.value=!0})}},U=()=>{if(b.value<e.urls.length-1||e.infinite){let n=b.value+1>e.urls.length-1?0:b.value+1;_.value=!1,b.value=n,w(`next`),(0,t.nextTick)(()=>{_.value=!0})}},ne=()=>{E(X+(e.scaleStep??.5),`zoomIn`)},re=()=>{E(X/(X+(e.scaleStep??.5)),`zoomOut`)},ie=()=>{T({rotate:C.value.rotate+90},`rotateRight`)},W=()=>{T({rotate:C.value.rotate-90},`rotateLeft`)},G=()=>{T({flipX:!C.value.flipX},`flipX`)},ae=()=>{T({flipY:!C.value.flipY},`flipY`)},oe=async()=>{if(!(!F.value||x.value)){if(!navigator.clipboard||!window.ClipboardItem){o.message.error(Q.copyFailed);return}x.value=!0;try{let e=await Ve(await ze(F.value));await navigator.clipboard.write([new ClipboardItem(e)]),o.message.success(Q.copySuccess)}catch{o.message.error(Q.copyFailed)}finally{x.value=!1}}},se=async()=>{if(!(!F.value||S.value)){S.value=!0;try{let e=await ze(F.value);Ue(e,He(F.value,e.type)),o.message.success(Q.downloadSuccess)}catch{o.message.error(Q.downloadFailed)}finally{S.value=!1}}},ce=t=>{h.value&&(C.value.scale===1?E(X+(e.scaleStep??.5),`doubleClick`,t.clientX,t.clientY):T({x:0,y:0,scale:1},`doubleClick`))},K=e=>{if(e.key===`Escape`){B();return}!h.value||!I.value||(e.key===`ArrowLeft`?H():e.key===`ArrowRight`&&U())},q;(0,t.onMounted)(()=>{let e=e=>K(e);window.addEventListener(`keydown`,e),q=()=>window.removeEventListener(`keydown`,e)}),(0,t.onUnmounted)(()=>{q?.()}),c({setOpen:t=>{g(t),b.value=e.current??0}});let J=()=>te({slots:s,props:{...e.icons},keys:[`flipY`,`flipX`,`rotateLeft`,`rotateRight`,`zoomOut`,`zoomIn`,`copy`,`download`],render:!0,defaultVNodes:[Z.flipY,Z.flipX,Z.rotateLeft,Z.rotateRight,Z.zoomOut,Z.zoomIn,Z.copy,Z.download]}),le=()=>{let r=J();return[{icon:r.flipY,onClick:ae,type:`flipY`},{icon:r.flipX,onClick:G,type:`flipX`},{icon:r.rotateLeft,onClick:W,type:`rotateLeft`},{icon:r.rotateRight,onClick:ie,type:`rotateRight`},{icon:r.zoomOut,onClick:re,type:`zoomOut`,disabled:(0,t.computed)(()=>C.value.scale<=(e.minScale??1))},{icon:r.zoomIn,onClick:ne,type:`zoomIn`,disabled:(0,t.computed)(()=>C.value.scale===(e.maxScale??50))},{icon:x.value?(0,t.createVNode)(n.LoadingOutlined,{spin:!0},null):r.copy,onClick:oe,type:`copy`,disabled:(0,t.computed)(()=>x.value)},{icon:S.value?(0,t.createVNode)(n.LoadingOutlined,{spin:!0},null):r.download,onClick:se,type:`download`,disabled:(0,t.computed)(()=>S.value)}]};return()=>{let r={transform:`translate3d(${C.value.x}px, ${C.value.y}px, 0) scale3d(${C.value.flipX?`-`:``}${C.value.scale}, ${C.value.flipY?`-`:``}${C.value.scale}, 1) rotate(${C.value.rotate}deg)`,transitionDuration:!_.value||ee.value?`0s`:void 0},i=P({slots:s,props:{close:e.icons?.close},key:`close`}),a=P({slots:s,props:{left:e.icons?.left},key:`left`}),o=P({slots:s,props:{right:e.icons?.right},key:`right`}),c=`${d.value}-actions-action`,l=le();return(0,t.createVNode)(t.Teleport,{to:e.getContainer||`body`},{default:()=>[(0,t.createVNode)(t.Transition,{name:`${d.value}-fade`,appear:!0,onAfterLeave:()=>w(`close`)},{default:()=>[h.value&&(0,t.createVNode)(`div`,{ref:y,class:A(d.value,p.value,m.value,f.value,{[`${d.value}-movable`]:e.movable,[`${d.value}-moving`]:D.value}),style:{zIndex:e.zIndex},role:`dialog`,"aria-modal":`true`,"aria-label":`Image`,tabindex:-1},[R.value.visible&&(0,t.createVNode)(`div`,{class:A(`${d.value}-mask`,e.maskClass,{[`${d.value}-mask-blur`]:R.value.blur}),onClick:e.onHideOnClickModal?V:void 0},null),(0,t.createVNode)(`div`,{class:`${d.value}-body`,style:z.value},[(0,t.createVNode)(`img`,{ref:v,class:`${d.value}-img`,src:F.value,alt:`Image`,loading:`eager`,decoding:`sync`,style:r,onWheel:k,onMousedown:O,onDblclick:ce,onTouchstart:j,onTouchmove:M,onTouchend:N,onTouchcancel:N},null)]),(0,t.createVNode)(`button`,{type:`button`,class:`${d.value}-close`,onClick:B},[i||(0,t.createVNode)(n.CloseOutlined,null,null)]),I.value&&(0,t.createVNode)(t.Fragment,null,[(0,t.createVNode)(`button`,{type:`button`,class:A(`${d.value}-switch`,`${d.value}-switch-prev`,{[`${d.value}-switch-disabled`]:!e.infinite&&b.value===0}),onClick:e=>{e.preventDefault(),e.stopPropagation(),H()}},[a||(0,t.createVNode)(n.LeftOutlined,null,null)]),(0,t.createVNode)(`button`,{type:`button`,class:A(`${d.value}-switch`,`${d.value}-switch-next`,{[`${d.value}-switch-disabled`]:!e.infinite&&b.value===e.urls.length-1}),onClick:e=>{e.preventDefault(),e.stopPropagation(),U()}},[o||(0,t.createVNode)(n.RightOutlined,null,null)])]),(0,t.createVNode)(`div`,{class:`${d.value}-footer`},[L.value&&(0,t.createVNode)(`div`,{class:`${d.value}-progress`},[e.countRender?e.countRender(b.value+1,e.urls.length):`${b.value+1} / ${e.urls.length}`]),(0,t.createVNode)(`div`,{class:`${d.value}-actions`},[l.map(({icon:e,onClick:n,type:r,disabled:i})=>(0,t.createVNode)(`button`,{type:`button`,class:A(c,`${c}-${r}`,{[`${c}-disabled`]:i&&i.value}),onClick:()=>{i?.value||n()},disabled:i?i.value:!1,"aria-label":r,key:r},[e]))])])])]})]})}},{props:(0,t.mergeDefaults)({class:{type:String,required:!1},style:{type:Object,required:!1},rootClass:{type:String,required:!1},prefixCls:{type:String,required:!1},urls:{type:Array,required:!0},open:{type:Boolean,required:!1,default:void 0},scaleStep:{type:Number,required:!1},minScale:{type:Number,required:!1},maxScale:{type:Number,required:!1},movable:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},zIndex:{type:Number,required:!1},current:{type:Number,required:!1},infinite:{type:Boolean,required:!1,default:void 0},getContainer:{type:String,required:!1},onHideOnClickModal:{type:Boolean,required:!1,default:void 0},mask:{type:[Object,Boolean],required:!1,default:void 0},maskClass:{type:String,required:!1},mousePosition:{type:[Object,null],required:!1},countRender:{type:[Function,Boolean],required:!1,default:void 0},icons:{type:Object,required:!1},onClose:{type:Function,required:!1},onTransform:{type:Function,required:!1},onOpenChange:{type:Function,required:!1},"onUpdate:open":{type:Function,required:!1}},{open:!1,scaleStep:.5,minScale:1,maxScale:50,movable:!0,zIndex:2e3,current:0,infinite:!0,onHideOnClickModal:!0,urls:[],icons:{}}),emits:[`close`,`transform`,`update:open`],name:`GImagePreview`,inheritAttrs:!1}),Ge=e=>{let{motionDurationSlow:t,paddingXXS:n,marginXXS:i,colorTextLightSolid:a}=e;return{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,color:a,background:`rgba(0, 0, 0, 0.5)`,cursor:`pointer`,opacity:0,transition:`opacity ${t}`,[`.${e.componentCls}-mask-info`]:{overflow:`hidden`,whiteSpace:`nowrap`,textOverflow:`ellipsis`,padding:`0 ${(0,r.unit)(n)}`,".anticon":{marginInlineEnd:i,svg:{verticalAlign:`baseline`}}}}},Ke=e=>{let t={width:`100%`,height:`100%`};return{[e.componentCls]:{display:`inline-block`,position:`relative`,overflow:`hidden`,[`${e.componentCls}-img`]:{...t,verticalAlign:`top`,opacity:1,[`&${e.componentCls}-img-preview`]:{userSelect:`none`,cursor:`pointer`},"&-placeholder":{...t,backgroundColor:e.colorBgContainerDisabled,backgroundImage:`url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=')`,backgroundRepeat:`no-repeat`,backgroundPosition:`center center`,backgroundSize:`30%`}},[`${e.componentCls}-error`]:{...t,display:`flex`,alignItems:`center`,justifyContent:`center`},[`${e.componentCls}-placeholder`]:{position:`absolute`,inset:0},[`${e.componentCls}-mask`]:{...Ge(e)},[`${e.componentCls}-mask:hover`]:{opacity:1}}}},qe=(0,r.proGenStyleHooks)(`GImage`,e=>[Ke(e)]),Je={src:``,alt:``,fit:`contain`,preview:!0,loading:`eager`};function Ye(e){return e&&e.nodeType===1}var $=(0,t.defineComponent)((e,{emit:o,slots:s,expose:c,attrs:l})=>{let u=R&&`loading`in HTMLImageElement.prototype,{prefixCls:d}=(0,i.useBaseConfig)(`pro-image`,e),f=(0,a.default)(d),[p,m]=qe(d,f),h=(0,t.ref)(),_=(0,t.ref)(!1),v=(0,t.ref)(!0),b=(0,t.ref)(),x=(0,t.ref)(),S,C=(0,t.computed)(()=>e.loading===`eager`?!1:!u&&e.loading===`lazy`||e.lazy),w=(0,t.computed)(()=>R&&e.fit?{...e.imageStyle,objectFit:e.fit}:{...e.imageStyle}),T=(0,t.computed)(()=>typeof e.preview==`object`?e.preview:{}),E=(0,t.computed)(()=>!!e.preview),D=(0,t.computed)(()=>{let{urls:t=[],current:n=0}=T.value;if(g(n))return t.length>=n?n:0;let r=t.indexOf(e.src??``);return r>=0?r:0}),O=(0,t.computed)(()=>(0,r.unit)(e.width)),k=(0,t.computed)(()=>(0,r.unit)(e.height)),{showViewer:j,mousePosition:M,openPreview:N,closePreview:P}=be({canPreview:E}),F=()=>{R&&(v.value=!0,_.value=!1,h.value=e.src)},I=t=>{_.value||(v.value=!1,_.value=!1,e.onLoad?.(t),o(`load`,t))},L=t=>{v.value=!1,_.value=!0,e.onError?.(t),o(`error`,t)},z=()=>{if(!b.value||!x.value)return!1;let e=b.value.getBoundingClientRect(),t=x.value.getBoundingClientRect?x.value.getBoundingClientRect():{top:0,bottom:x.value.innerHeight??0,left:0,right:x.value.innerWidth??0};return e.top<t.bottom&&e.bottom>t.top&&e.left<t.right&&e.right>t.left},B=oe(()=>{z()&&(F(),S?.(),S=void 0)},200,!0),V=async()=>{if(!R)return;await(0,t.nextTick)();let{scrollContainer:n}=e;Ye(n)?x.value=n:y(n)&&n!==``?x.value=document.querySelector(n)??void 0:b.value&&(x.value=ee(b.value)),x.value&&(S=J(x.value,`scroll`,B),setTimeout(B,100))},H=t=>{let n=v.value?`loaded`:_.value?`error`:`success`;if(e.onClick?.(n),o(`click`,n),!(v.value||_.value)&&E.value){let e=t.currentTarget?.getBoundingClientRect();N(e?{...t,clientX:e.x+e.width/2,clientY:e.y+e.height/2}:t)}};return(0,t.watch)(()=>e.src,()=>{C.value?(v.value=!0,_.value=!1,S?.(),V()):F()}),(0,t.onMounted)(()=>{C.value?V():F()}),c({setOpen:e=>{e?N():P()}}),()=>{let i={},a={};for(let[e,t]of Object.entries(l))/^(?:data-|on[A-Z])/i.test(e)||[`id`,`style`,`class`].includes(e)?i[e]=t:a[e]=t;let o=te({slots:s,props:e,keys:[`fallback`,`mask`,`placeholder`],render:!0});return(0,t.createVNode)(`div`,(0,t.mergeProps)({class:A(d.value,p.value,m.value,f.value,e.class),ref:b},i,{style:{width:(0,r.unit)(e.size)||O.value,height:(0,r.unit)(e.size)||k.value,...i.style||{}},onClick:e=>{_.value&&H(e)}}),[_.value?(0,t.createVNode)(`div`,{class:A(`${d.value}-error`)},[o.fallback]):(0,t.createVNode)(t.Fragment,null,[(0,t.createVNode)(`img`,(0,t.mergeProps)(a,{src:h.value,loading:e.loading,style:w.value,class:A(e.imageClass,`${d.value}-img`,{[`${d.value}-img-placeholder`]:e.placeholder===!0,[`${d.value}-img-preview`]:E.value}),crossorigin:e.crossOrigin,width:O.value,height:k.value,onClick:H,onLoad:I,onError:L}),null),v.value&&(0,t.createVNode)(`div`,{class:A(`${d.value}-placeholder`),onClick:H},[o.placeholder])]),T.value.mask&&E.value&&(0,t.createVNode)(`div`,{class:A(`${d.value}-mask`,T.value.maskClass),style:{display:i.style?.display===`none`?`none`:void 0}},[o.mask||(0,t.createVNode)(`div`,{class:A(`${d.value}-mask-info`)},[(0,t.createVNode)(n.EyeOutlined,null,null)])]),E.value&&(0,t.createVNode)(We,(0,t.mergeProps)(T.value,{urls:T.value.urls||(e.src?[e.src]:[]),current:D.value,zIndex:e.zIndex??T.value.zIndex,open:j.value,mousePosition:M.value,onClose:()=>P()}),s)])}},{props:(0,t.mergeDefaults)({rootClass:{type:String,required:!1},prefixCls:{type:String,required:!1},src:{type:String,required:!1},alt:{type:String,required:!1},width:{type:Number,required:!1},height:{type:Number,required:!1},size:{type:Number,required:!1},fit:{type:String,required:!1},loading:{type:String,required:!1},crossOrigin:{type:String,required:!1},imageStyle:{type:Object,required:!1},imageClass:{type:String,required:!1},preview:{type:[Boolean,Object],required:!1,default:void 0},zIndex:{type:Number,required:!1},lazy:{type:Boolean,required:!1,default:void 0},scrollContainer:{required:!1},placeholder:{type:[Function,String,Number,null,Object,Boolean],required:!1,default:void 0},fallback:{type:[Function,String,Number,null,Object,Boolean],required:!1,default:void 0},onLoad:{type:Function,required:!1},onError:{type:Function,required:!1},onClick:{type:Function,required:!1},"onUpdate:open":{type:Function,required:!1}},Je),emits:[`click`,`load`,`error`],name:`GImage`,inheritAttrs:!1});$.isGImage=!0,$.install=e=>(e.component($.name,$),e),e.GImage=$,e.GImagePreview=We});
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { DispatchZoomChangeFunc, ForwardGImageType, ForwardImagePreviewType, GImageEmits, GImageExpose, GImageProps, GImageSlotNames, GImageSlots, ImageFitType, ImageLoadingType, ImagePreviewConfig, ImagePreviewEmits, ImagePreviewExpose, ImagePreviewProps, ImagePreviewSlots, PreviewPropsIcons, PreviewSlotNames, TransformAction, TransformType, UpdateTransformFunc } from "./interface.js";
|
|
2
2
|
import _default from "./Image.js";
|
|
3
3
|
import _default$1 from "./ImagePreview.js";
|
|
4
|
-
export { type DispatchZoomChangeFunc, type ForwardGImageType, type ForwardImagePreviewType, _default as GImage, type GImageEmits, type GImageExpose, type GImageProps, type GImageSlotNames, type GImageSlots, type ImageFitType, type ImageLoadingType,
|
|
4
|
+
export { type DispatchZoomChangeFunc, type ForwardGImageType, type ForwardImagePreviewType, _default as GImage, type GImageEmits, type GImageExpose, _default$1 as GImagePreview, type GImageProps, type GImageSlotNames, type GImageSlots, type ImageFitType, type ImageLoadingType, type ImagePreviewConfig, type ImagePreviewEmits, type ImagePreviewExpose, type ImagePreviewProps, type ImagePreviewSlots, type PreviewPropsIcons, type PreviewSlotNames, type TransformAction, type TransformType, type UpdateTransformFunc };
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import GImagePreview from "./ImagePreview.js";
|
|
2
2
|
import GImage from "./Image.js";
|
|
3
|
-
export { GImage,
|
|
3
|
+
export { GImage, GImagePreview };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gx-design-vue/image",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.0-alpha.
|
|
4
|
+
"version": "0.2.0-alpha.4",
|
|
5
5
|
"description": "Gx Design Image",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "gx12358",
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
"@vueuse/core": "^14.3.0",
|
|
47
47
|
"antdv-next": "^1.3.3",
|
|
48
48
|
"es-toolkit": "^1.43.0",
|
|
49
|
-
"@gx-design-vue/pro-hooks": "^0.2.0-alpha.
|
|
50
|
-
"@gx-design-vue/pro-provider": "^0.1.0-alpha.
|
|
51
|
-
"@gx-design-vue/pro-utils": "^0.2.0-alpha.
|
|
49
|
+
"@gx-design-vue/pro-hooks": "^0.2.0-alpha.5",
|
|
50
|
+
"@gx-design-vue/pro-provider": "^0.1.0-alpha.7",
|
|
51
|
+
"@gx-design-vue/pro-utils": "^0.2.0-alpha.5"
|
|
52
52
|
},
|
|
53
53
|
"browserslist": [
|
|
54
54
|
"> 1%",
|