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,63 @@
1
+ import type { ImageProps } from './image';
2
+ declare function clickHandler(): void;
3
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_13: {}, __VLS_15: {
4
+ activeIndex: number;
5
+ total: number;
6
+ }, __VLS_17: {
7
+ actions: (action: import("../image-viewer/image-viewer.js").ImageViewerAction, options?: {}) => void;
8
+ prev: () => void;
9
+ next: () => void;
10
+ reset: () => void;
11
+ activeIndex: number;
12
+ setActiveItem: (index: number) => void;
13
+ }, __VLS_19: {
14
+ activeIndex: number;
15
+ src: string;
16
+ };
17
+ type __VLS_Slots = {} & {
18
+ error?: (props: typeof __VLS_1) => any;
19
+ } & {
20
+ placeholder?: (props: typeof __VLS_3) => any;
21
+ } & {
22
+ viewer?: (props: typeof __VLS_13) => any;
23
+ } & {
24
+ progress?: (props: typeof __VLS_15) => any;
25
+ } & {
26
+ toolbar?: (props: typeof __VLS_17) => any;
27
+ } & {
28
+ 'viewer-error'?: (props: typeof __VLS_19) => any;
29
+ };
30
+ declare const __VLS_component: import("vue").DefineComponent<ImageProps, {
31
+ /** @description manually open preview */
32
+ showPreview: typeof clickHandler;
33
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
34
+ show: () => void;
35
+ switch: (val: number) => void;
36
+ close: () => void;
37
+ error: (evt: Event) => void;
38
+ load: (evt: Event) => void;
39
+ }, string, import("vue").PublicProps, Readonly<ImageProps> & Readonly<{
40
+ onShow?: (() => any) | undefined;
41
+ onSwitch?: ((val: number) => any) | undefined;
42
+ onClose?: (() => any) | undefined;
43
+ onError?: ((evt: Event) => any) | undefined;
44
+ onLoad?: ((evt: Event) => any) | undefined;
45
+ }>, {
46
+ infinite: boolean;
47
+ scale: number;
48
+ src: string;
49
+ fit: import("./image").ImageFitType;
50
+ initialIndex: number;
51
+ closeOnPressEscape: boolean;
52
+ zoomRate: number;
53
+ minScale: number;
54
+ maxScale: number;
55
+ previewSrcList: string[];
56
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
57
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
58
+ export default _default;
59
+ type __VLS_WithSlots<T, S> = T & {
60
+ new (): {
61
+ $slots: S;
62
+ };
63
+ };
@@ -0,0 +1,207 @@
1
+ import { defineComponent as X, useAttrs as Y, computed as s, ref as l, watch as _, onMounted as ee, openBlock as n, createElementBlock as c, mergeProps as M, unref as u, renderSlot as d, createElementVNode as T, normalizeClass as E, toDisplayString as oe, Fragment as V, createCommentVNode as w, createBlock as re, createSlots as te, withCtx as L, normalizeProps as I, guardReactiveProps as $, nextTick as ie } from "vue";
2
+ import { isClient as y, useThrottleFn as se, useIntersectionObserver as ne } from "@vueuse/core";
3
+ import { fromPairs as ae } from "lodash-unified";
4
+ import { useNamespace as le } from "../../hooks/use-namespace/index.js";
5
+ import { isElement as ce, isWindow as ue } from "../../utils/types.js";
6
+ import { isArray as de, isString as me } from "@vue/shared";
7
+ import { getScrollContainer as fe } from "../../utils/dom/scroll.js";
8
+ import "@element-plus/icons-vue";
9
+ import { useLocale as ve } from "../../hooks/use-locale/index.js";
10
+ import "../../hooks/use-size/index.js";
11
+ import "@popperjs/core";
12
+ import "../../hooks/use-z-index/index.js";
13
+ import "../../hooks/use-delayed-toggle/index.js";
14
+ import "../../hooks/use-aria/index.js";
15
+ import "../../hooks/use-model-toggle/index.js";
16
+ import "../../hooks/use-empty-values/index.js";
17
+ import { useAttrs as ge } from "../../hooks/use-attrs/index.js";
18
+ import pe from "../image-viewer/EpImageViewer.vue.js";
19
+ import { imageEmits as we } from "./image.js";
20
+ const ye = ["src", "loading", "crossorigin"], he = { key: 0 }, He = /* @__PURE__ */ X({
21
+ name: "EpImage",
22
+ inheritAttrs: !1,
23
+ __name: "EpImage",
24
+ props: {
25
+ hideOnClickModal: { type: Boolean },
26
+ src: { default: "" },
27
+ fit: { default: "" },
28
+ loading: {},
29
+ lazy: { type: Boolean },
30
+ scrollContainer: {},
31
+ previewSrcList: { default: () => [] },
32
+ previewTeleported: { type: Boolean },
33
+ zIndex: {},
34
+ initialIndex: { default: 0 },
35
+ infinite: { type: Boolean, default: !0 },
36
+ closeOnPressEscape: { type: Boolean, default: !0 },
37
+ zoomRate: { default: 1.2 },
38
+ scale: { default: 1 },
39
+ minScale: { default: 0.2 },
40
+ maxScale: { default: 7 },
41
+ showProgress: { type: Boolean },
42
+ crossorigin: {}
43
+ },
44
+ emits: we,
45
+ setup(o, { expose: j, emit: F }) {
46
+ const t = o, m = F, { t: H } = ve(), i = le("image"), N = Y(), x = s(() => ae(
47
+ Object.entries(N).filter(
48
+ ([e]) => /^(data-|on[A-Z])/i.test(e) || ["id", "style"].includes(e)
49
+ )
50
+ )), R = ge({
51
+ excludeListeners: !0,
52
+ excludeKeys: s(() => Object.keys(x.value))
53
+ }), k = l(), f = l(!1), a = l(!0), z = l(!1), h = l(), v = l(), K = y && "loading" in HTMLImageElement.prototype;
54
+ let g;
55
+ const q = s(() => [
56
+ i.e("inner"),
57
+ S.value && i.e("preview"),
58
+ a.value && i.is("loading")
59
+ ]), D = s(() => {
60
+ const { fit: e } = t;
61
+ return y && e ? { objectFit: e } : {};
62
+ }), S = s(() => {
63
+ const { previewSrcList: e } = t;
64
+ return de(e) && e.length > 0;
65
+ }), W = s(() => {
66
+ const { previewSrcList: e, initialIndex: p } = t;
67
+ let r = p;
68
+ return p > e.length - 1 && (r = 0), r;
69
+ }), A = s(() => t.loading === "eager" ? !1 : !K && t.loading === "lazy" || t.lazy), C = () => {
70
+ y && (a.value = !0, f.value = !1, k.value = t.src);
71
+ };
72
+ function Z(e) {
73
+ a.value = !1, f.value = !1, m("load", e);
74
+ }
75
+ function G(e) {
76
+ a.value = !1, f.value = !0, m("error", e);
77
+ }
78
+ function J(e) {
79
+ e && (C(), b());
80
+ }
81
+ const B = se(J, 200, !0);
82
+ async function P() {
83
+ if (!y) return;
84
+ await ie();
85
+ const { scrollContainer: e } = t;
86
+ if (ce(e))
87
+ v.value = e;
88
+ else if (me(e) && e !== "")
89
+ v.value = document.querySelector(e) ?? void 0;
90
+ else if (h.value) {
91
+ const r = fe(h.value);
92
+ v.value = ue(r) ? void 0 : r;
93
+ }
94
+ const { stop: p } = ne(
95
+ h,
96
+ ([r]) => {
97
+ B(r.isIntersecting);
98
+ },
99
+ { root: v }
100
+ );
101
+ g = p;
102
+ }
103
+ function b() {
104
+ !y || !B || (g == null || g(), v.value = void 0, g = void 0);
105
+ }
106
+ function O() {
107
+ S.value && (z.value = !0, m("show"));
108
+ }
109
+ function Q() {
110
+ z.value = !1, m("close");
111
+ }
112
+ function U(e) {
113
+ m("switch", e);
114
+ }
115
+ return _(
116
+ () => t.src,
117
+ () => {
118
+ A.value ? (a.value = !0, f.value = !1, b(), P()) : C();
119
+ }
120
+ ), ee(() => {
121
+ A.value ? P() : C();
122
+ }), j({
123
+ /** @description manually open preview */
124
+ showPreview: O
125
+ }), (e, p) => (n(), c("div", M({
126
+ ref_key: "container",
127
+ ref: h
128
+ }, x.value, {
129
+ class: [u(i).b(), e.$attrs.class]
130
+ }), [
131
+ f.value ? d(e.$slots, "error", {}, () => [
132
+ T("div", {
133
+ class: E(u(i).e("error"))
134
+ }, oe(u(H)("el.image.error")), 3)
135
+ ], void 0, 0) : (n(), c(V, { key: 1 }, [
136
+ k.value !== void 0 ? (n(), c("img", M({ key: 0 }, u(R), {
137
+ src: k.value,
138
+ loading: o.loading,
139
+ style: D.value,
140
+ class: q.value,
141
+ crossorigin: o.crossorigin,
142
+ onClick: O,
143
+ onLoad: Z,
144
+ onError: G
145
+ }), null, 16, ye)) : w("", !0),
146
+ a.value ? (n(), c("div", {
147
+ key: 1,
148
+ class: E(u(i).e("wrapper"))
149
+ }, [
150
+ d(e.$slots, "placeholder", {}, () => [
151
+ T("div", {
152
+ class: E(u(i).e("placeholder"))
153
+ }, null, 2)
154
+ ])
155
+ ], 2)) : w("", !0)
156
+ ], 64)),
157
+ S.value ? (n(), c(V, { key: 2 }, [
158
+ z.value ? (n(), re(pe, {
159
+ key: 0,
160
+ "z-index": o.zIndex,
161
+ "initial-index": W.value,
162
+ infinite: o.infinite,
163
+ "zoom-rate": o.zoomRate,
164
+ "min-scale": o.minScale,
165
+ "max-scale": o.maxScale,
166
+ "show-progress": o.showProgress,
167
+ "url-list": o.previewSrcList,
168
+ scale: o.scale,
169
+ crossorigin: o.crossorigin,
170
+ "hide-on-click-modal": o.hideOnClickModal,
171
+ teleported: o.previewTeleported,
172
+ "close-on-press-escape": o.closeOnPressEscape,
173
+ onClose: Q,
174
+ onSwitch: U
175
+ }, te({
176
+ toolbar: L((r) => [
177
+ d(e.$slots, "toolbar", I($(r)))
178
+ ]),
179
+ default: L(() => [
180
+ e.$slots.viewer ? (n(), c("div", he, [
181
+ d(e.$slots, "viewer")
182
+ ])) : w("", !0)
183
+ ]),
184
+ _: 2
185
+ }, [
186
+ e.$slots.progress ? {
187
+ name: "progress",
188
+ fn: L((r) => [
189
+ d(e.$slots, "progress", I($(r)))
190
+ ]),
191
+ key: "0"
192
+ } : void 0,
193
+ e.$slots["viewer-error"] ? {
194
+ name: "viewer-error",
195
+ fn: L((r) => [
196
+ d(e.$slots, "viewer-error", I($(r)))
197
+ ]),
198
+ key: "1"
199
+ } : void 0
200
+ ]), 1032, ["z-index", "initial-index", "infinite", "zoom-rate", "min-scale", "max-scale", "show-progress", "url-list", "scale", "crossorigin", "hide-on-click-modal", "teleported", "close-on-press-escape"])) : w("", !0)
201
+ ], 64)) : w("", !0)
202
+ ], 16));
203
+ }
204
+ });
205
+ export {
206
+ He as default
207
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./EpImage.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,132 @@
1
+ import type { ExtractPublicPropTypes } from 'vue';
2
+ export type ImageFitType = '' | 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
3
+ export type ImageCrossorigin = 'anonymous' | 'use-credentials' | '';
4
+ export interface ImageProps {
5
+ /**
6
+ * @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode.
7
+ */
8
+ hideOnClickModal?: boolean;
9
+ /**
10
+ * @description image source, same as native.
11
+ */
12
+ src?: string;
13
+ /**
14
+ * @description indicate how the image should be resized to fit its container, same as [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit).
15
+ */
16
+ fit?: ImageFitType;
17
+ /**
18
+ * @description Indicates how the browser should load the image, same as [native](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img#loading)
19
+ */
20
+ loading?: 'eager' | 'lazy';
21
+ /**
22
+ * @description whether to use lazy load.
23
+ */
24
+ lazy?: boolean;
25
+ /**
26
+ * @description the container to add scroll listener when using lazy load.
27
+ */
28
+ scrollContainer?: string | HTMLElement;
29
+ /**
30
+ * @description allow big image preview.
31
+ */
32
+ previewSrcList?: string[];
33
+ /**
34
+ * @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`.
35
+ */
36
+ previewTeleported?: boolean;
37
+ /**
38
+ * @description set image preview z-index.
39
+ */
40
+ zIndex?: number;
41
+ /**
42
+ * @description initial preview image index, less than the length of `url-list`.
43
+ */
44
+ initialIndex?: number;
45
+ /**
46
+ * @description whether the viewer preview is infinite.
47
+ */
48
+ infinite?: boolean;
49
+ /**
50
+ * @description whether the image-viewer can be closed by pressing ESC.
51
+ */
52
+ closeOnPressEscape?: boolean;
53
+ /**
54
+ * @description the zoom rate of the image viewer zoom event
55
+ */
56
+ zoomRate?: number;
57
+ /**
58
+ * @description preview image scale.
59
+ */
60
+ scale?: number;
61
+ /**
62
+ * @description the min scale of the image viewer zoom event.
63
+ */
64
+ minScale?: number;
65
+ /**
66
+ * @description the max scale of the image viewer zoom event.
67
+ */
68
+ maxScale?: number;
69
+ /**
70
+ * @description show preview image progress content.
71
+ */
72
+ showProgress?: boolean;
73
+ /**
74
+ * @description set HTML attribute: crossorigin.
75
+ */
76
+ crossorigin?: ImageCrossorigin;
77
+ }
78
+ /**
79
+ * @deprecated Removed after 3.0.0, Use `ImageProps` instead.
80
+ */
81
+ export declare const imageProps: {
82
+ readonly hideOnClickModal: BooleanConstructor;
83
+ readonly src: import("@element-plus/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
84
+ readonly fit: import("@element-plus/utils").EpPropFinalized<StringConstructor, "" | "fill" | "none" | "contain" | "cover" | "scale-down", unknown, "", boolean>;
85
+ readonly loading: {
86
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<StringConstructor, "lazy" | "eager", unknown>>;
87
+ readonly required: false;
88
+ readonly validator: ((val: unknown) => boolean) | undefined;
89
+ __epPropKey: true;
90
+ };
91
+ readonly lazy: BooleanConstructor;
92
+ readonly scrollContainer: {
93
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement | undefined) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement | undefined)) | null)[], unknown, unknown>>;
94
+ readonly required: false;
95
+ readonly validator: ((val: unknown) => boolean) | undefined;
96
+ __epPropKey: true;
97
+ };
98
+ readonly previewSrcList: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | (((new (...args: any[]) => string[]) | (() => string[])) | null)[], unknown, unknown, () => [], boolean>;
99
+ readonly previewTeleported: BooleanConstructor;
100
+ readonly zIndex: {
101
+ readonly type: import("vue").PropType<number>;
102
+ readonly required: false;
103
+ readonly validator: ((val: unknown) => boolean) | undefined;
104
+ __epPropKey: true;
105
+ };
106
+ readonly initialIndex: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
107
+ readonly infinite: import("@element-plus/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
108
+ readonly closeOnPressEscape: import("@element-plus/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
109
+ readonly zoomRate: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
110
+ readonly scale: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
111
+ readonly minScale: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
112
+ readonly maxScale: import("@element-plus/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
113
+ readonly showProgress: BooleanConstructor;
114
+ readonly crossorigin: {
115
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => "" | "anonymous" | "use-credentials") | (() => ImageCrossorigin) | (((new (...args: any[]) => "" | "anonymous" | "use-credentials") | (() => ImageCrossorigin)) | null)[], unknown, unknown>>;
116
+ readonly required: false;
117
+ readonly validator: ((val: unknown) => boolean) | undefined;
118
+ __epPropKey: true;
119
+ };
120
+ };
121
+ /**
122
+ * @deprecated Removed after 3.0.0, Use `ImageProps` instead.
123
+ */
124
+ export type ImagePropsPublic = ExtractPublicPropTypes<typeof imageProps>;
125
+ export declare const imageEmits: {
126
+ load: (evt: Event) => boolean;
127
+ error: (evt: Event) => boolean;
128
+ switch: (val: number) => boolean;
129
+ close: () => boolean;
130
+ show: () => boolean;
131
+ };
132
+ export type ImageEmits = typeof imageEmits;
@@ -0,0 +1,132 @@
1
+ import { isNumber as o } from "../../utils/types.js";
2
+ import "lodash-unified";
3
+ import "@vueuse/core";
4
+ import "@vue/shared";
5
+ import { mutable as r } from "../../utils/typescript.js";
6
+ import "@element-plus/icons-vue";
7
+ import { buildProps as i, definePropType as t } from "../../utils/vue/props/runtime.js";
8
+ import "vue";
9
+ i({
10
+ /**
11
+ * @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode.
12
+ */
13
+ hideOnClickModal: Boolean,
14
+ /**
15
+ * @description image source, same as native.
16
+ */
17
+ src: {
18
+ type: String,
19
+ default: ""
20
+ },
21
+ /**
22
+ * @description indicate how the image should be resized to fit its container, same as [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit).
23
+ */
24
+ fit: {
25
+ type: String,
26
+ values: ["", "contain", "cover", "fill", "none", "scale-down"],
27
+ default: ""
28
+ },
29
+ /**
30
+ * @description Indicates how the browser should load the image, same as [native](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img#loading)
31
+ */
32
+ loading: {
33
+ type: String,
34
+ values: ["eager", "lazy"]
35
+ },
36
+ /**
37
+ * @description whether to use lazy load.
38
+ */
39
+ lazy: Boolean,
40
+ /**
41
+ * @description the container to add scroll listener when using lazy load.
42
+ */
43
+ scrollContainer: {
44
+ type: t([String, Object])
45
+ },
46
+ /**
47
+ * @description allow big image preview.
48
+ */
49
+ previewSrcList: {
50
+ type: t(Array),
51
+ default: () => r([])
52
+ },
53
+ /**
54
+ * @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`.
55
+ */
56
+ previewTeleported: Boolean,
57
+ /**
58
+ * @description set image preview z-index.
59
+ */
60
+ zIndex: {
61
+ type: Number
62
+ },
63
+ /**
64
+ * @description initial preview image index, less than the length of `url-list`.
65
+ */
66
+ initialIndex: {
67
+ type: Number,
68
+ default: 0
69
+ },
70
+ /**
71
+ * @description whether the viewer preview is infinite.
72
+ */
73
+ infinite: {
74
+ type: Boolean,
75
+ default: !0
76
+ },
77
+ /**
78
+ * @description whether the image-viewer can be closed by pressing ESC.
79
+ */
80
+ closeOnPressEscape: {
81
+ type: Boolean,
82
+ default: !0
83
+ },
84
+ /**
85
+ * @description the zoom rate of the image viewer zoom event
86
+ */
87
+ zoomRate: {
88
+ type: Number,
89
+ default: 1.2
90
+ },
91
+ /**
92
+ * @description preview image scale.
93
+ */
94
+ scale: {
95
+ type: Number,
96
+ default: 1
97
+ },
98
+ /**
99
+ * @description the min scale of the image viewer zoom event.
100
+ */
101
+ minScale: {
102
+ type: Number,
103
+ default: 0.2
104
+ },
105
+ /**
106
+ * @description the max scale of the image viewer zoom event.
107
+ */
108
+ maxScale: {
109
+ type: Number,
110
+ default: 7
111
+ },
112
+ /**
113
+ * @description show preview image progress content.
114
+ */
115
+ showProgress: Boolean,
116
+ /**
117
+ * @description set HTML attribute: crossorigin.
118
+ */
119
+ crossorigin: {
120
+ type: t(String)
121
+ }
122
+ });
123
+ const c = {
124
+ load: (e) => e instanceof Event,
125
+ error: (e) => e instanceof Event,
126
+ switch: (e) => o(e),
127
+ close: () => !0,
128
+ show: () => !0
129
+ };
130
+ export {
131
+ c as imageEmits
132
+ };
@@ -1,4 +1,13 @@
1
1
  import type { Plugin } from 'vue';
2
- import { ElImage } from 'element-plus';
3
- export declare const EpImage: typeof ElImage & Plugin;
2
+ import _EpImage from './EpImage.vue';
3
+ /**
4
+ * image 自持 barrel(vendor-batch-4 产出)。
5
+ *
6
+ * 预览消费本地 `EpImageViewer`,不再引入上游对应组件。
7
+ * 保留 `showPreview` 暴露契约,不导出 `ElImage` 别名。
8
+ */
9
+ export declare const EpImage: typeof _EpImage & Plugin;
4
10
  export default EpImage;
11
+ export { imageEmits, imageProps } from './image';
12
+ export type { ImageCrossorigin, ImageEmits, ImageFitType, ImageProps, ImagePropsPublic, } from './image';
13
+ export type { ImageInstance } from './instance';
@@ -1,6 +1,11 @@
1
- import { ElImage as m } from "element-plus";
2
- import { withInstall as e } from "../../utils/with-install.js";
3
- const a = Object.assign({}, m, { name: "EpImage" }), p = e(a, "ep-image");
1
+ import { withInstall as m } from "../../utils/with-install.js";
2
+ import o from "./EpImage.vue.js";
3
+ import { imageEmits as a } from "./image.js";
4
+ const r = m(
5
+ o,
6
+ "ep-image"
7
+ );
4
8
  export {
5
- p as EpImage
9
+ r as EpImage,
10
+ a as imageEmits
6
11
  };
@@ -0,0 +1,2 @@
1
+ import type EpImage from './EpImage.vue';
2
+ export type ImageInstance = InstanceType<typeof EpImage> & unknown;
@@ -0,0 +1,61 @@
1
+ import type { ImageViewerAction, ImageViewerProps } from './image-viewer';
2
+ declare function toggleMode(): void;
3
+ declare function setActiveItem(index: number): void;
4
+ declare function prev(): void;
5
+ declare function next(): void;
6
+ declare function handleActions(action: ImageViewerAction, options?: {}): void;
7
+ declare var __VLS_42: {
8
+ activeIndex: number;
9
+ total: number;
10
+ }, __VLS_44: {
11
+ actions: typeof handleActions;
12
+ prev: typeof prev;
13
+ next: typeof next;
14
+ reset: typeof toggleMode;
15
+ activeIndex: number;
16
+ setActiveItem: typeof setActiveItem;
17
+ }, __VLS_106: {
18
+ activeIndex: number;
19
+ src: string;
20
+ }, __VLS_108: {};
21
+ type __VLS_Slots = {} & {
22
+ progress?: (props: typeof __VLS_42) => any;
23
+ } & {
24
+ toolbar?: (props: typeof __VLS_44) => any;
25
+ } & {
26
+ 'viewer-error'?: (props: typeof __VLS_106) => any;
27
+ } & {
28
+ default?: (props: typeof __VLS_108) => any;
29
+ };
30
+ declare const __VLS_component: import("vue").DefineComponent<ImageViewerProps, {
31
+ /**
32
+ * @description manually switch image
33
+ */
34
+ setActiveItem: typeof setActiveItem;
35
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
36
+ rotate: (deg: number) => void;
37
+ switch: (index: number) => void;
38
+ close: () => void;
39
+ error: (evt: Event) => void;
40
+ }, string, import("vue").PublicProps, Readonly<ImageViewerProps> & Readonly<{
41
+ onRotate?: ((deg: number) => any) | undefined;
42
+ onSwitch?: ((index: number) => any) | undefined;
43
+ onClose?: (() => any) | undefined;
44
+ onError?: ((evt: Event) => any) | undefined;
45
+ }>, {
46
+ infinite: boolean;
47
+ scale: number;
48
+ initialIndex: number;
49
+ closeOnPressEscape: boolean;
50
+ urlList: string[];
51
+ zoomRate: number;
52
+ minScale: number;
53
+ maxScale: number;
54
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
55
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
56
+ export default _default;
57
+ type __VLS_WithSlots<T, S> = T & {
58
+ new (): {
59
+ $slots: S;
60
+ };
61
+ };