ep-craft 0.1.35 → 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/components/breadcrumb/EpBreadcrumb.vue.d.ts +15 -0
  2. package/dist/components/breadcrumb/EpBreadcrumb.vue.js +41 -0
  3. package/dist/components/breadcrumb/EpBreadcrumb2.vue.js +4 -0
  4. package/dist/components/breadcrumb/breadcrumb.d.ts +28 -0
  5. package/dist/components/breadcrumb/breadcrumb.js +21 -0
  6. package/dist/components/breadcrumb/constants.d.ts +3 -0
  7. package/dist/components/breadcrumb/constants.js +4 -0
  8. package/dist/components/breadcrumb/index.d.ts +20 -2
  9. package/dist/components/breadcrumb/index.js +10 -4
  10. package/dist/components/breadcrumb/instance.d.ts +2 -0
  11. package/dist/components/breadcrumb-item/EpBreadcrumbItem.vue.d.ts +15 -0
  12. package/dist/components/breadcrumb-item/EpBreadcrumbItem.vue.js +58 -0
  13. package/dist/components/breadcrumb-item/EpBreadcrumbItem2.vue.js +4 -0
  14. package/dist/components/breadcrumb-item/breadcrumb-item.d.ts +23 -0
  15. package/dist/components/breadcrumb-item/breadcrumb-item.js +19 -0
  16. package/dist/components/breadcrumb-item/index.d.ts +11 -2
  17. package/dist/components/breadcrumb-item/index.js +8 -4
  18. package/dist/components/breadcrumb-item/instance.d.ts +2 -0
  19. package/dist/components/col/EpCol.vue.d.ts +24 -0
  20. package/dist/components/col/EpCol.vue.js +61 -0
  21. package/dist/components/col/EpCol2.vue.js +4 -0
  22. package/dist/components/col/col.d.ts +71 -0
  23. package/dist/components/col/col.js +79 -0
  24. package/dist/components/col/index.d.ts +10 -2
  25. package/dist/components/col/index.js +5 -4
  26. package/dist/components/collapse/EpCollapse.vue.d.ts +27 -0
  27. package/dist/components/collapse/EpCollapse.vue.js +30 -0
  28. package/dist/components/collapse/EpCollapse2.vue.js +4 -0
  29. package/dist/components/collapse/collapse.d.ts +47 -0
  30. package/dist/components/collapse/collapse.js +46 -0
  31. package/dist/components/collapse/constants.d.ts +7 -0
  32. package/dist/components/collapse/constants.js +4 -0
  33. package/dist/components/collapse/index.d.ts +21 -2
  34. package/dist/components/collapse/index.js +11 -3
  35. package/dist/components/collapse/instance.d.ts +2 -0
  36. package/dist/components/collapse/use-collapse-item.d.ts +21 -0
  37. package/dist/components/collapse/use-collapse-item.js +66 -0
  38. package/dist/components/collapse/use-collapse.d.ts +9 -0
  39. package/dist/components/collapse/use-collapse.js +72 -0
  40. package/dist/components/collapse-item/EpCollapseItem.vue.d.ts +27 -0
  41. package/dist/components/collapse-item/EpCollapseItem.vue.js +102 -0
  42. package/dist/components/collapse-item/EpCollapseItem2.vue.js +4 -0
  43. package/dist/components/collapse-item/collapse-item.d.ts +34 -0
  44. package/dist/components/collapse-item/collapse-item.js +34 -0
  45. package/dist/components/collapse-item/index.d.ts +11 -2
  46. package/dist/components/collapse-item/index.js +8 -4
  47. package/dist/components/collapse-item/instance.d.ts +2 -0
  48. package/dist/components/dropdown/src/dropdown-item-impl2.vue.js +1 -1
  49. package/dist/components/dropdown/src/dropdown-item2.vue.js +1 -1
  50. package/dist/components/dropdown/src/dropdown-menu2.vue.js +1 -1
  51. package/dist/components/dropdown/src/dropdown2.vue.js +1 -1
  52. package/dist/components/image/EpImage.vue.d.ts +63 -0
  53. package/dist/components/image/EpImage.vue.js +207 -0
  54. package/dist/components/image/EpImage2.vue.js +4 -0
  55. package/dist/components/image/image.d.ts +132 -0
  56. package/dist/components/image/image.js +132 -0
  57. package/dist/components/image/index.d.ts +11 -2
  58. package/dist/components/image/index.js +9 -4
  59. package/dist/components/image/instance.d.ts +2 -0
  60. package/dist/components/image-viewer/EpImageViewer.vue.d.ts +61 -0
  61. package/dist/components/image-viewer/EpImageViewer.vue.js +421 -0
  62. package/dist/components/image-viewer/EpImageViewer2.vue.js +4 -0
  63. package/dist/components/image-viewer/image-viewer.d.ts +100 -0
  64. package/dist/components/image-viewer/image-viewer.js +99 -0
  65. package/dist/components/image-viewer/index.d.ts +11 -2
  66. package/dist/components/image-viewer/index.js +9 -4
  67. package/dist/components/image-viewer/instance.d.ts +2 -0
  68. package/dist/components/roving-focus-group/index.js +1 -1
  69. package/dist/components/roving-focus-group/src/roving-focus-group.vue.js +19 -11
  70. package/dist/components/roving-focus-group/src/roving-focus-group2.vue.js +11 -19
  71. package/dist/components/row/EpRow.vue.d.ts +17 -0
  72. package/dist/components/row/EpRow.vue.js +50 -0
  73. package/dist/components/row/EpRow2.vue.js +4 -0
  74. package/dist/components/row/constants.d.ts +5 -0
  75. package/dist/components/row/constants.js +4 -0
  76. package/dist/components/row/index.d.ts +12 -2
  77. package/dist/components/row/index.js +7 -4
  78. package/dist/components/row/row.d.ts +41 -0
  79. package/dist/components/row/row.js +49 -0
  80. package/dist/components/skeleton/EpSkeleton.vue.d.ts +24 -0
  81. package/dist/components/skeleton/EpSkeleton.vue.js +56 -0
  82. package/dist/components/skeleton/EpSkeleton2.vue.js +4 -0
  83. package/dist/components/skeleton/index.d.ts +16 -2
  84. package/dist/components/skeleton/index.js +9 -3
  85. package/dist/components/skeleton/skeleton.d.ts +53 -0
  86. package/dist/components/skeleton/skeleton.js +39 -0
  87. package/dist/components/skeleton-item/EpSkeletonItem.vue.d.ts +5 -0
  88. package/dist/components/skeleton-item/EpSkeletonItem.vue.js +31 -0
  89. package/dist/components/skeleton-item/EpSkeletonItem2.vue.js +4 -0
  90. package/dist/components/skeleton-item/index.d.ts +8 -2
  91. package/dist/components/skeleton-item/index.js +7 -3
  92. package/dist/components/skeleton-item/skeleton-item.d.ts +19 -0
  93. package/dist/components/skeleton-item/skeleton-item.js +26 -0
  94. package/dist/components/timeline/index.d.ts +21 -2
  95. package/dist/components/timeline/index.js +10 -3
  96. package/dist/components/timeline/instance.d.ts +2 -0
  97. package/dist/components/timeline/timeline.d.ts +20 -0
  98. package/dist/components/timeline/timeline.js +53 -0
  99. package/dist/components/timeline/tokens.d.ts +7 -0
  100. package/dist/components/timeline/tokens.js +4 -0
  101. package/dist/components/timeline-item/EpTimelineItem.vue.d.ts +21 -0
  102. package/dist/components/timeline-item/EpTimelineItem.vue.js +94 -0
  103. package/dist/components/timeline-item/EpTimelineItem2.vue.js +4 -0
  104. package/dist/components/timeline-item/index.d.ts +12 -2
  105. package/dist/components/timeline-item/index.js +7 -3
  106. package/dist/components/timeline-item/instance.d.ts +2 -0
  107. package/dist/components/timeline-item/timeline-item.d.ts +63 -0
  108. package/dist/components/timeline-item/timeline-item.js +64 -0
  109. package/dist/hooks/index.d.ts +1 -0
  110. package/dist/hooks/use-throttle-render/index.d.ts +7 -0
  111. package/dist/hooks/use-throttle-render/index.js +31 -0
  112. package/dist/vendored-components.d.ts +1 -1
  113. package/dist/vendored-components.js +18 -1
  114. package/package.json +1 -1
@@ -0,0 +1,421 @@
1
+ import { defineComponent as Ie, markRaw as U, ref as k, effectScope as xe, computed as g, shallowRef as Ce, watch as K, nextTick as Te, onMounted as ye, openBlock as N, createBlock as W, Teleport as Ee, createVNode as r, Transition as Re, withCtx as v, createElementVNode as p, normalizeStyle as ee, normalizeClass as u, unref as o, withModifiers as ze, createElementBlock as q, Fragment as Le, createCommentVNode as te, renderSlot as D, createTextVNode as Oe, toDisplayString as Ne, resolveDynamicComponent as Ye } from "vue";
2
+ import { clamp as $e, useEventListener as x } from "@vueuse/core";
3
+ import { throttle as F } from "lodash-unified";
4
+ import { useNamespace as Se } from "../../hooks/use-namespace/index.js";
5
+ import "@vue/shared";
6
+ import { keysOf as Xe } from "../../utils/objects.js";
7
+ import { getEventCode as Me } from "../../utils/dom/event.js";
8
+ import { ScaleToOriginal as De, FullScreen as Fe, Close as Ve, ArrowLeft as Ae, ArrowRight as Be, ZoomOut as Pe, ZoomIn as He, RefreshLeft as Ze, RefreshRight as Ke } from "@element-plus/icons-vue";
9
+ import { EVENT_CODE as y } from "../../constants/aria.js";
10
+ import { useLocale as qe } from "../../hooks/use-locale/index.js";
11
+ import "../../hooks/use-size/index.js";
12
+ import "@popperjs/core";
13
+ import { useZIndex as je } from "../../hooks/use-z-index/index.js";
14
+ import "../../hooks/use-delayed-toggle/index.js";
15
+ import "../../hooks/use-aria/index.js";
16
+ import "../../hooks/use-model-toggle/index.js";
17
+ import "../../hooks/use-empty-values/index.js";
18
+ import { useLockscreen as Ge } from "../../hooks/use-lockscreen/index.js";
19
+ import "../focus-trap/index.js";
20
+ import { ElIcon as w } from "../icon/index.js";
21
+ import { imageViewerEmits as _e } from "./image-viewer.js";
22
+ import Je from "../focus-trap/src/focus-trap.vue.js";
23
+ const Qe = ["src", "crossorigin"], bt = /* @__PURE__ */ Ie({
24
+ name: "EpImageViewer",
25
+ __name: "EpImageViewer",
26
+ props: {
27
+ urlList: { default: () => [] },
28
+ zIndex: {},
29
+ initialIndex: { default: 0 },
30
+ infinite: { type: Boolean, default: !0 },
31
+ hideOnClickModal: { type: Boolean },
32
+ teleported: { type: Boolean },
33
+ closeOnPressEscape: { type: Boolean, default: !0 },
34
+ zoomRate: { default: 1.2 },
35
+ scale: { default: 1 },
36
+ minScale: { default: 0.2 },
37
+ maxScale: { default: 7 },
38
+ showProgress: { type: Boolean },
39
+ crossorigin: {}
40
+ },
41
+ emits: _e,
42
+ setup(C, { expose: oe, emit: ae }) {
43
+ const E = {
44
+ CONTAIN: {
45
+ name: "contain",
46
+ icon: U(Fe)
47
+ },
48
+ ORIGINAL: {
49
+ name: "original",
50
+ icon: U(De)
51
+ }
52
+ }, l = C, R = ae;
53
+ let Y;
54
+ const { t: ne } = qe(), s = Se("image-viewer"), { nextZIndex: se } = je(), z = k(), j = k(), G = xe(), V = g(() => {
55
+ const { scale: e, minScale: t, maxScale: n } = l;
56
+ return $e(e, t, n);
57
+ }), b = k(!0), L = k(!1), A = k(!1), c = k(l.initialIndex), $ = Ce(E.CONTAIN), a = k({
58
+ scale: V.value,
59
+ deg: 0,
60
+ offsetX: 0,
61
+ offsetY: 0,
62
+ enableTransition: !1
63
+ }), le = k(l.zIndex ?? se());
64
+ Ge(A, { ns: s });
65
+ const re = g(() => {
66
+ const { urlList: e } = l;
67
+ return e.length <= 1;
68
+ }), _ = g(() => c.value === 0), J = g(() => c.value === l.urlList.length - 1), S = g(() => l.urlList[c.value]), ie = g(() => [
69
+ s.e("btn"),
70
+ s.e("prev"),
71
+ s.is("disabled", !l.infinite && _.value)
72
+ ]), ue = g(() => [
73
+ s.e("btn"),
74
+ s.e("next"),
75
+ s.is("disabled", !l.infinite && J.value)
76
+ ]), ce = g(() => {
77
+ const { scale: e, deg: t, offsetX: n, offsetY: f, enableTransition: d } = a.value;
78
+ let i = n / e, m = f / e;
79
+ const T = t * Math.PI / 180, I = Math.cos(T), O = Math.sin(T);
80
+ i = i * I + m * O, m = m * I - n / e * O;
81
+ const Z = {
82
+ transform: `scale(${e}) rotate(${t}deg) translate(${i}px, ${m}px)`,
83
+ transition: d ? "transform .3s" : ""
84
+ };
85
+ return $.value.name === E.CONTAIN.name && (Z.maxWidth = Z.maxHeight = "100%"), Z;
86
+ }), fe = g(
87
+ () => `${c.value + 1} / ${l.urlList.length}`
88
+ );
89
+ function X() {
90
+ me(), Y == null || Y(), A.value = !1, R("close");
91
+ }
92
+ function de() {
93
+ const e = F((n) => {
94
+ switch (Me(n)) {
95
+ case y.esc:
96
+ l.closeOnPressEscape && X();
97
+ break;
98
+ case y.space:
99
+ B();
100
+ break;
101
+ case y.left:
102
+ P();
103
+ break;
104
+ case y.up:
105
+ h("zoomIn");
106
+ break;
107
+ case y.right:
108
+ H();
109
+ break;
110
+ case y.down:
111
+ h("zoomOut");
112
+ break;
113
+ }
114
+ }), t = F((n) => {
115
+ const f = n.deltaY || n.deltaX;
116
+ h(f < 0 ? "zoomIn" : "zoomOut", {
117
+ zoomRate: l.zoomRate,
118
+ enableTransition: !1
119
+ });
120
+ });
121
+ G.run(() => {
122
+ x(document, "keydown", e), x(z, "wheel", t);
123
+ });
124
+ }
125
+ function me() {
126
+ G.stop();
127
+ }
128
+ function ve() {
129
+ b.value = !1;
130
+ }
131
+ function pe(e) {
132
+ L.value = !0, b.value = !1, R("error", e), e.target.alt = ne("el.image.error");
133
+ }
134
+ function ge(e) {
135
+ if (b.value || e.button !== 0 || !z.value) return;
136
+ a.value.enableTransition = !1;
137
+ const { offsetX: t, offsetY: n } = a.value, f = e.pageX, d = e.pageY, i = F((I) => {
138
+ a.value = {
139
+ ...a.value,
140
+ offsetX: t + I.pageX - f,
141
+ offsetY: n + I.pageY - d
142
+ };
143
+ }), m = x(document, "mousemove", i), T = x(document, "mouseup", () => {
144
+ m(), T();
145
+ });
146
+ e.preventDefault();
147
+ }
148
+ function he(e) {
149
+ if (b.value || !z.value || e.touches.length !== 1) return;
150
+ a.value.enableTransition = !1;
151
+ const { offsetX: t, offsetY: n } = a.value, { pageX: f, pageY: d } = e.touches[0], i = F((I) => {
152
+ const O = I.touches[0];
153
+ a.value = {
154
+ ...a.value,
155
+ offsetX: t + O.pageX - f,
156
+ offsetY: n + O.pageY - d
157
+ };
158
+ }), m = x(document, "touchmove", i), T = x(document, "touchend", () => {
159
+ m(), T();
160
+ });
161
+ e.preventDefault();
162
+ }
163
+ function Q() {
164
+ a.value = {
165
+ scale: V.value,
166
+ deg: 0,
167
+ offsetX: 0,
168
+ offsetY: 0,
169
+ enableTransition: !1
170
+ };
171
+ }
172
+ function B() {
173
+ if (b.value || L.value) return;
174
+ const e = Xe(E), t = Object.values(E), n = $.value.name, d = (t.findIndex((i) => i.name === n) + 1) % e.length;
175
+ $.value = E[e[d]], Q();
176
+ }
177
+ function M(e) {
178
+ L.value = !1;
179
+ const t = l.urlList.length;
180
+ c.value = (e + t) % t;
181
+ }
182
+ function P() {
183
+ _.value && !l.infinite || M(c.value - 1);
184
+ }
185
+ function H() {
186
+ J.value && !l.infinite || M(c.value + 1);
187
+ }
188
+ function h(e, t = {}) {
189
+ if (b.value || L.value) return;
190
+ const { minScale: n, maxScale: f } = l, { zoomRate: d, rotateDeg: i, enableTransition: m } = {
191
+ zoomRate: l.zoomRate,
192
+ rotateDeg: 90,
193
+ enableTransition: !0,
194
+ ...t
195
+ };
196
+ switch (e) {
197
+ case "zoomOut":
198
+ a.value.scale > n && (a.value.scale = Number.parseFloat(
199
+ (a.value.scale / d).toFixed(3)
200
+ ));
201
+ break;
202
+ case "zoomIn":
203
+ a.value.scale < f && (a.value.scale = Number.parseFloat(
204
+ (a.value.scale * d).toFixed(3)
205
+ ));
206
+ break;
207
+ case "clockwise":
208
+ a.value.deg += i, R("rotate", a.value.deg);
209
+ break;
210
+ case "anticlockwise":
211
+ a.value.deg -= i, R("rotate", a.value.deg);
212
+ break;
213
+ }
214
+ a.value.enableTransition = m;
215
+ }
216
+ function ke(e) {
217
+ var t;
218
+ ((t = e.detail) == null ? void 0 : t.focusReason) === "pointer" && e.preventDefault();
219
+ }
220
+ function we() {
221
+ l.closeOnPressEscape && X();
222
+ }
223
+ function be(e) {
224
+ if (e.ctrlKey) {
225
+ if (e.deltaY < 0)
226
+ return e.preventDefault(), !1;
227
+ if (e.deltaY > 0)
228
+ return e.preventDefault(), !1;
229
+ }
230
+ }
231
+ return K(
232
+ () => V.value,
233
+ (e) => {
234
+ a.value.scale = e;
235
+ }
236
+ ), K(S, () => {
237
+ Te(() => {
238
+ const e = j.value;
239
+ e != null && e.complete || (b.value = !0);
240
+ });
241
+ }), K(c, (e) => {
242
+ Q(), R("switch", e);
243
+ }), ye(() => {
244
+ A.value = !0, de(), Y = x("wheel", be, {
245
+ passive: !1
246
+ });
247
+ }), oe({
248
+ /**
249
+ * @description manually switch image
250
+ */
251
+ setActiveItem: M
252
+ }), (e, t) => (N(), W(Ee, {
253
+ to: "body",
254
+ disabled: !C.teleported
255
+ }, [
256
+ r(Re, {
257
+ name: "viewer-fade",
258
+ appear: ""
259
+ }, {
260
+ default: v(() => [
261
+ p("div", {
262
+ ref_key: "wrapper",
263
+ ref: z,
264
+ tabindex: -1,
265
+ class: u(o(s).e("wrapper")),
266
+ style: ee({ zIndex: le.value })
267
+ }, [
268
+ r(o(Je), {
269
+ loop: "",
270
+ trapped: "",
271
+ "focus-trap-el": z.value,
272
+ "focus-start-el": "container",
273
+ onFocusoutPrevented: ke,
274
+ onReleaseRequested: we
275
+ }, {
276
+ default: v(() => [
277
+ p("div", {
278
+ class: u(o(s).e("mask")),
279
+ onClick: t[0] || (t[0] = ze((n) => C.hideOnClickModal && X(), ["self"]))
280
+ }, null, 2),
281
+ p("span", {
282
+ class: u([o(s).e("btn"), o(s).e("close")]),
283
+ onClick: X
284
+ }, [
285
+ r(o(w), null, {
286
+ default: v(() => [
287
+ r(o(Ve))
288
+ ]),
289
+ _: 1
290
+ })
291
+ ], 2),
292
+ re.value ? te("", !0) : (N(), q(Le, { key: 0 }, [
293
+ p("span", {
294
+ class: u(ie.value),
295
+ onClick: P
296
+ }, [
297
+ r(o(w), null, {
298
+ default: v(() => [
299
+ r(o(Ae))
300
+ ]),
301
+ _: 1
302
+ })
303
+ ], 2),
304
+ p("span", {
305
+ class: u(ue.value),
306
+ onClick: H
307
+ }, [
308
+ r(o(w), null, {
309
+ default: v(() => [
310
+ r(o(Be))
311
+ ]),
312
+ _: 1
313
+ })
314
+ ], 2)
315
+ ], 64)),
316
+ e.$slots.progress || C.showProgress ? (N(), q("div", {
317
+ key: 1,
318
+ class: u([o(s).e("btn"), o(s).e("progress")])
319
+ }, [
320
+ D(e.$slots, "progress", {
321
+ activeIndex: c.value,
322
+ total: C.urlList.length
323
+ }, () => [
324
+ Oe(Ne(fe.value), 1)
325
+ ])
326
+ ], 2)) : te("", !0),
327
+ p("div", {
328
+ class: u([o(s).e("btn"), o(s).e("actions")])
329
+ }, [
330
+ p("div", {
331
+ class: u(o(s).e("actions__inner"))
332
+ }, [
333
+ D(e.$slots, "toolbar", {
334
+ actions: h,
335
+ prev: P,
336
+ next: H,
337
+ reset: B,
338
+ activeIndex: c.value,
339
+ setActiveItem: M
340
+ }, () => [
341
+ r(o(w), {
342
+ onClick: t[1] || (t[1] = (n) => h("zoomOut"))
343
+ }, {
344
+ default: v(() => [
345
+ r(o(Pe))
346
+ ]),
347
+ _: 1
348
+ }),
349
+ r(o(w), {
350
+ onClick: t[2] || (t[2] = (n) => h("zoomIn"))
351
+ }, {
352
+ default: v(() => [
353
+ r(o(He))
354
+ ]),
355
+ _: 1
356
+ }),
357
+ p("i", {
358
+ class: u(o(s).e("actions__divider"))
359
+ }, null, 2),
360
+ r(o(w), { onClick: B }, {
361
+ default: v(() => [
362
+ (N(), W(Ye($.value.icon)))
363
+ ]),
364
+ _: 1
365
+ }),
366
+ p("i", {
367
+ class: u(o(s).e("actions__divider"))
368
+ }, null, 2),
369
+ r(o(w), {
370
+ onClick: t[3] || (t[3] = (n) => h("anticlockwise"))
371
+ }, {
372
+ default: v(() => [
373
+ r(o(Ze))
374
+ ]),
375
+ _: 1
376
+ }),
377
+ r(o(w), {
378
+ onClick: t[4] || (t[4] = (n) => h("clockwise"))
379
+ }, {
380
+ default: v(() => [
381
+ r(o(Ke))
382
+ ]),
383
+ _: 1
384
+ })
385
+ ])
386
+ ], 2)
387
+ ], 2),
388
+ p("div", {
389
+ class: u(o(s).e("canvas"))
390
+ }, [
391
+ L.value && e.$slots["viewer-error"] ? D(e.$slots, "viewer-error", {
392
+ activeIndex: c.value,
393
+ src: S.value
394
+ }, void 0, void 0, 0) : (N(), q("img", {
395
+ ref_key: "imgRef",
396
+ ref: j,
397
+ key: S.value,
398
+ src: S.value,
399
+ style: ee(ce.value),
400
+ class: u(o(s).e("img")),
401
+ crossorigin: C.crossorigin,
402
+ onLoad: ve,
403
+ onError: pe,
404
+ onMousedown: ge,
405
+ onTouchstart: he
406
+ }, null, 46, Qe))
407
+ ], 2),
408
+ D(e.$slots, "default")
409
+ ]),
410
+ _: 3
411
+ }, 8, ["focus-trap-el"])
412
+ ], 6)
413
+ ]),
414
+ _: 3
415
+ })
416
+ ], 8, ["disabled"]));
417
+ }
418
+ });
419
+ export {
420
+ bt as default
421
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./EpImageViewer.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,100 @@
1
+ import type { Component, ExtractPublicPropTypes } from 'vue';
2
+ export type ImageViewerAction = 'zoomIn' | 'zoomOut' | 'clockwise' | 'anticlockwise';
3
+ export type ImageViewerCrossorigin = 'anonymous' | 'use-credentials' | '';
4
+ export interface ImageViewerProps {
5
+ /**
6
+ * @description preview link list.
7
+ */
8
+ urlList?: string[];
9
+ /**
10
+ * @description preview backdrop z-index.
11
+ */
12
+ zIndex?: number;
13
+ /**
14
+ * @description the initial preview image index, less than or equal to the length of `url-list`.
15
+ */
16
+ initialIndex?: number;
17
+ /**
18
+ * @description whether preview is infinite.
19
+ */
20
+ infinite?: boolean;
21
+ /**
22
+ * @description whether user can emit close event when clicking backdrop.
23
+ */
24
+ hideOnClickModal?: boolean;
25
+ /**
26
+ * @description whether to append image itself to body. A nested parent element attribute transform should have this attribute set to `true`.
27
+ */
28
+ teleported?: boolean;
29
+ /**
30
+ * @description whether the image-viewer can be closed by pressing ESC.
31
+ */
32
+ closeOnPressEscape?: boolean;
33
+ /**
34
+ * @description the zoom rate of the image viewer zoom event.
35
+ */
36
+ zoomRate?: number;
37
+ /**
38
+ * @description preview image scale.
39
+ */
40
+ scale?: number;
41
+ /**
42
+ * @description the min scale of the image viewer zoom event.
43
+ */
44
+ minScale?: number;
45
+ /**
46
+ * @description the max scale of the image viewer zoom event.
47
+ */
48
+ maxScale?: number;
49
+ /**
50
+ * @description show preview image progress content.
51
+ */
52
+ showProgress?: boolean;
53
+ /**
54
+ * @description set HTML attribute: crossorigin.
55
+ */
56
+ crossorigin?: ImageViewerCrossorigin;
57
+ }
58
+ /**
59
+ * @deprecated Removed after 3.0.0, Use `ImageViewerProps` instead.
60
+ */
61
+ export declare const imageViewerProps: {
62
+ readonly urlList: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | (((new (...args: any[]) => string[]) | (() => string[])) | null)[], unknown, unknown, () => [], boolean>;
63
+ readonly zIndex: {
64
+ readonly type: import("vue").PropType<number>;
65
+ readonly required: false;
66
+ readonly validator: ((val: unknown) => boolean) | undefined;
67
+ __epPropKey: true;
68
+ };
69
+ readonly initialIndex: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
70
+ readonly infinite: import("@element-plus/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
71
+ readonly hideOnClickModal: BooleanConstructor;
72
+ readonly teleported: BooleanConstructor;
73
+ readonly closeOnPressEscape: import("@element-plus/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
74
+ readonly zoomRate: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
75
+ readonly scale: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
76
+ readonly minScale: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
77
+ readonly maxScale: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
78
+ readonly showProgress: BooleanConstructor;
79
+ readonly crossorigin: {
80
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => "" | "anonymous" | "use-credentials") | (() => ImageViewerCrossorigin) | (((new (...args: any[]) => "" | "anonymous" | "use-credentials") | (() => ImageViewerCrossorigin)) | null)[], unknown, unknown>>;
81
+ readonly required: false;
82
+ readonly validator: ((val: unknown) => boolean) | undefined;
83
+ __epPropKey: true;
84
+ };
85
+ };
86
+ /**
87
+ * @deprecated Removed after 3.0.0, Use `ImageViewerProps` instead.
88
+ */
89
+ export type ImageViewerPropsPublic = ExtractPublicPropTypes<typeof imageViewerProps>;
90
+ export declare const imageViewerEmits: {
91
+ close: () => boolean;
92
+ error: (evt: Event) => boolean;
93
+ switch: (index: number) => boolean;
94
+ rotate: (deg: number) => boolean;
95
+ };
96
+ export type ImageViewerEmits = typeof imageViewerEmits;
97
+ export interface ImageViewerMode {
98
+ name: string;
99
+ icon: Component;
100
+ }
@@ -0,0 +1,99 @@
1
+ import { isNumber as t } from "../../utils/types.js";
2
+ import "lodash-unified";
3
+ import "@vueuse/core";
4
+ import "@vue/shared";
5
+ import { mutable as o } from "../../utils/typescript.js";
6
+ import "@element-plus/icons-vue";
7
+ import { buildProps as i, definePropType as r } from "../../utils/vue/props/runtime.js";
8
+ import "vue";
9
+ i({
10
+ /**
11
+ * @description preview link list.
12
+ */
13
+ urlList: {
14
+ type: r(Array),
15
+ default: () => o([])
16
+ },
17
+ /**
18
+ * @description preview backdrop z-index.
19
+ */
20
+ zIndex: {
21
+ type: Number
22
+ },
23
+ /**
24
+ * @description the initial preview image index, less than or equal to the length of `url-list`.
25
+ */
26
+ initialIndex: {
27
+ type: Number,
28
+ default: 0
29
+ },
30
+ /**
31
+ * @description whether preview is infinite.
32
+ */
33
+ infinite: {
34
+ type: Boolean,
35
+ default: !0
36
+ },
37
+ /**
38
+ * @description whether user can emit close event when clicking backdrop.
39
+ */
40
+ hideOnClickModal: Boolean,
41
+ /**
42
+ * @description whether to append image itself to body. A nested parent element attribute transform should have this attribute set to `true`.
43
+ */
44
+ teleported: Boolean,
45
+ /**
46
+ * @description whether the image-viewer can be closed by pressing ESC.
47
+ */
48
+ closeOnPressEscape: {
49
+ type: Boolean,
50
+ default: !0
51
+ },
52
+ /**
53
+ * @description the zoom rate of the image viewer zoom event.
54
+ */
55
+ zoomRate: {
56
+ type: Number,
57
+ default: 1.2
58
+ },
59
+ /**
60
+ * @description preview image scale.
61
+ */
62
+ scale: {
63
+ type: Number,
64
+ default: 1
65
+ },
66
+ /**
67
+ * @description the min scale of the image viewer zoom event.
68
+ */
69
+ minScale: {
70
+ type: Number,
71
+ default: 0.2
72
+ },
73
+ /**
74
+ * @description the max scale of the image viewer zoom event.
75
+ */
76
+ maxScale: {
77
+ type: Number,
78
+ default: 7
79
+ },
80
+ /**
81
+ * @description show preview image progress content.
82
+ */
83
+ showProgress: Boolean,
84
+ /**
85
+ * @description set HTML attribute: crossorigin.
86
+ */
87
+ crossorigin: {
88
+ type: r(String)
89
+ }
90
+ });
91
+ const f = {
92
+ close: () => !0,
93
+ error: (e) => e instanceof Event,
94
+ switch: (e) => t(e),
95
+ rotate: (e) => t(e)
96
+ };
97
+ export {
98
+ f as imageViewerEmits
99
+ };
@@ -1,4 +1,13 @@
1
1
  import type { Plugin } from 'vue';
2
- import { ElImageViewer } from 'element-plus';
3
- export declare const EpImageViewer: typeof ElImageViewer & Plugin;
2
+ import _EpImageViewer from './EpImageViewer.vue';
3
+ /**
4
+ * image-viewer 自持 barrel(vendor-batch-4 产出)。
5
+ *
6
+ * 本体为本地 SFC,焦点陷阱消费本地 `ElFocusTrap`。
7
+ * 保留 `setActiveItem` 暴露契约,不导出 `ElImageViewer` 别名。
8
+ */
9
+ export declare const EpImageViewer: typeof _EpImageViewer & Plugin;
4
10
  export default EpImageViewer;
11
+ export { imageViewerEmits, imageViewerProps } from './image-viewer';
12
+ export type { ImageViewerAction, ImageViewerCrossorigin, ImageViewerEmits, ImageViewerMode, ImageViewerProps, ImageViewerPropsPublic, } from './image-viewer';
13
+ export type { ImageViewerInstance } from './instance';
@@ -1,6 +1,11 @@
1
- import { ElImageViewer as e } from "element-plus";
2
- import { withInstall as i } from "../../utils/with-install.js";
3
- const m = Object.assign({}, e, { name: "EpImageViewer" }), t = i(m, "ep-image-viewer");
1
+ import { withInstall as e } from "../../utils/with-install.js";
2
+ import i from "./EpImageViewer.vue.js";
3
+ import { imageViewerEmits as a } from "./image-viewer.js";
4
+ const o = e(
5
+ i,
6
+ "ep-image-viewer"
7
+ );
4
8
  export {
5
- t as EpImageViewer
9
+ o as EpImageViewer,
10
+ a as imageViewerEmits
6
11
  };
@@ -0,0 +1,2 @@
1
+ import type EpImageViewer from './EpImageViewer.vue';
2
+ export type ImageViewerInstance = InstanceType<typeof EpImageViewer> & unknown;
@@ -1,4 +1,4 @@
1
- import r from "./src/roving-focus-group2.vue.js";
1
+ import r from "./src/roving-focus-group.vue.js";
2
2
  import "./src/roving-focus-item.vue.js";
3
3
  import "vue";
4
4
  import "@vue/shared";