geekplus-digital-ui 0.1.26 → 0.1.27

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/README.md CHANGED
@@ -1 +1,3 @@
1
1
  # Geekplus Digital UI
2
+
3
+ 极智嘉数字化组件库,仅供内部使用。
@@ -0,0 +1,26 @@
1
+ export const DEditor: import('vue').DefineComponent<{}, {
2
+ $emit: (event: "add-image" | "update:model-value", ...args: any[]) => void;
3
+ disabled: boolean;
4
+ modelValue: string;
5
+ mode: string;
6
+ showToolbar: boolean;
7
+ minHeight: number;
8
+ border: boolean;
9
+ toolbarConfig: Record<string, any>;
10
+ editorConfig: Record<string, any>;
11
+ placeholder?: string;
12
+ $props: {
13
+ readonly disabled?: boolean;
14
+ readonly modelValue?: string;
15
+ readonly mode?: string;
16
+ readonly showToolbar?: boolean;
17
+ readonly minHeight?: number;
18
+ readonly border?: boolean;
19
+ readonly toolbarConfig?: Record<string, any>;
20
+ readonly editorConfig?: Record<string, any>;
21
+ readonly placeholder?: string;
22
+ };
23
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
24
+ rootRef: HTMLDivElement;
25
+ }, HTMLDivElement>;
26
+ export default DEditor;
@@ -0,0 +1,6 @@
1
+ import o from "./src/editor.vue.js";
2
+ const r = o;
3
+ export {
4
+ r as DEditor,
5
+ r as default
6
+ };
@@ -0,0 +1 @@
1
+ .code-collapse[data-v-04f9af29]{border:1px solid var(--el-border-color);border-radius:4px;background:var(--el-bg-color-overlay);overflow:hidden}.code-collapse summary[data-v-04f9af29]{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;color:var(--el-text-color-primary);line-height:normal;display:flex;justify-content:flex-end;align-items:center;gap:4px}.code-collapse[data-v-04f9af29] .code-collapse-content pre code{margin:0;border:none;border-radius:0}
@@ -0,0 +1,10 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {
2
+ contentRef: import('vue').Ref<any, any>;
3
+ initialOpen: boolean;
4
+ $props: {
5
+ readonly initialOpen?: boolean;
6
+ };
7
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
8
+ contentRef: HTMLDivElement;
9
+ }, HTMLDetailsElement>;
10
+ export default _default;
@@ -0,0 +1,48 @@
1
+ import { ref as r, computed as u, openBlock as o, createElementBlock as f, createElementVNode as t, toDisplayString as _, createVNode as g, unref as x, withCtx as y, createBlock as c } from "vue";
2
+ import "../../index.js";
3
+ import "../../../hooks/index.js";
4
+ import h from "../../icons/angle-down-light.vue.js";
5
+ import k from "../../icons/angle-up-light.vue.js";
6
+ import './code-collapse.css';/* empty css */
7
+ import v from "../../../_virtual/_plugin-vue_export-helper.js";
8
+ import { useLocale as B } from "../../../hooks/use-locale/index.js";
9
+ import { DIcon as O } from "../../icon/index.js";
10
+ const C = ["open"], D = {
11
+ __name: "code-collapse",
12
+ props: {
13
+ initialOpen: {
14
+ type: Boolean,
15
+ default: !1
16
+ }
17
+ },
18
+ setup(n, { expose: p }) {
19
+ const s = n, l = r(null), e = r(s.initialOpen), { t: i } = B(), m = u(() => i(e.value ? "d.editor.collapse" : "d.editor.expand")), d = (a) => {
20
+ e.value = a.target.open;
21
+ };
22
+ return p({
23
+ contentRef: l
24
+ }), (a, L) => (o(), f("details", {
25
+ class: "code-collapse",
26
+ open: n.initialOpen,
27
+ onToggle: d
28
+ }, [
29
+ t("summary", null, [
30
+ t("span", null, _(m.value), 1),
31
+ g(x(O), null, {
32
+ default: y(() => [
33
+ e.value ? (o(), c(k, { key: 0 })) : (o(), c(h, { key: 1 }))
34
+ ]),
35
+ _: 1
36
+ })
37
+ ]),
38
+ t("div", {
39
+ ref_key: "contentRef",
40
+ ref: l,
41
+ class: "code-collapse-content"
42
+ }, null, 512)
43
+ ], 40, C));
44
+ }
45
+ }, U = /* @__PURE__ */ v(D, [["__scopeId", "data-v-04f9af29"]]);
46
+ export {
47
+ U as default
48
+ };
@@ -0,0 +1 @@
1
+ :root{--w-e-textarea-bg-color: transparent;--w-e-textarea-color: var(--el-text-color-primary);--w-e-textarea-border-color: var(--el-border-color);--w-e-textarea-slight-border-color: var(--el-border-color);--w-e-textarea-slight-color: var(--el-text-color-placeholder);--w-e-textarea-slight-bg-color: var(--el-fill-color-light);--w-e-textarea-selected-border-color: var(--el-color-primary-light-5);--w-e-textarea-handler-bg-color: var(--el-color-primary);--w-e-toolbar-color: var(--el-text-color-regular);--w-e-toolbar-bg-color: var(--el-bg-color-overlay);--w-e-toolbar-active-color: var(--el-text-color-primary);--w-e-toolbar-active-bg-color: var(--el-fill-color);--w-e-toolbar-disabled-color: var(--el-text-color-placeholder);--w-e-toolbar-border-color: var(--el-border-color);--w-e-modal-button-bg-color: var(--el-bg-color);--w-e-modal-button-border-color: var(--el-border-color)}
@@ -0,0 +1,26 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {
2
+ $emit: (event: "add-image" | "update:model-value", ...args: any[]) => void;
3
+ disabled: boolean;
4
+ modelValue: string;
5
+ mode: string;
6
+ showToolbar: boolean;
7
+ minHeight: number;
8
+ border: boolean;
9
+ toolbarConfig: Record<string, any>;
10
+ editorConfig: Record<string, any>;
11
+ placeholder?: string;
12
+ $props: {
13
+ readonly disabled?: boolean;
14
+ readonly modelValue?: string;
15
+ readonly mode?: string;
16
+ readonly showToolbar?: boolean;
17
+ readonly minHeight?: number;
18
+ readonly border?: boolean;
19
+ readonly toolbarConfig?: Record<string, any>;
20
+ readonly editorConfig?: Record<string, any>;
21
+ readonly placeholder?: string;
22
+ };
23
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
24
+ rootRef: HTMLDivElement;
25
+ }, HTMLDivElement>;
26
+ export default _default;
@@ -0,0 +1,154 @@
1
+ import { ref as n, computed as s, createApp as $, watch as b, nextTick as F, onBeforeUnmount as M, openBlock as w, createElementBlock as G, normalizeClass as J, withDirectives as K, createVNode as x, unref as C, vShow as Q, normalizeStyle as W, createBlock as X, createCommentVNode as Y } from "vue";
2
+ import { i18nChangeLanguage as Z } from "@wangeditor-next/editor";
3
+ import { Toolbar as _, Editor as ee } from "@wangeditor-next/editor-for-vue";
4
+ import './editor2.css';import './editor.css';import '../../../node_modules/.pnpm/@wangeditor-next_editor@5.6.49/node_modules/@wangeditor-next/editor/dist/css/style.css';/* empty css */
5
+ /* empty css */
6
+ import "../../../hooks/index.js";
7
+ import { useFormItem as te, ElImageViewer as oe } from "element-plus";
8
+ import le from "./code-collapse.vue.js";
9
+ /* empty css */
10
+ import ae from "../../../_virtual/_plugin-vue_export-helper.js";
11
+ import { useLocale as ne } from "../../../hooks/use-locale/index.js";
12
+ const re = /* @__PURE__ */ Object.assign({
13
+ name: "DEditor"
14
+ }, {
15
+ __name: "editor",
16
+ props: {
17
+ modelValue: {
18
+ type: String,
19
+ default: ""
20
+ },
21
+ mode: {
22
+ type: String,
23
+ default: "simple"
24
+ },
25
+ disabled: {
26
+ type: Boolean,
27
+ default: !1
28
+ },
29
+ showToolbar: {
30
+ type: Boolean,
31
+ default: !0
32
+ },
33
+ minHeight: {
34
+ type: Number,
35
+ default: 200
36
+ },
37
+ border: {
38
+ type: Boolean,
39
+ default: !1
40
+ },
41
+ toolbarConfig: {
42
+ type: Object,
43
+ default: () => ({})
44
+ },
45
+ editorConfig: {
46
+ type: Object,
47
+ default: () => ({})
48
+ },
49
+ placeholder: String
50
+ },
51
+ emits: ["add-image", "update:model-value"],
52
+ setup(l, { emit: I }) {
53
+ const o = l, V = I, B = n(null), r = n(null), h = n(""), y = n(0), u = n(!1), m = n([]), f = n(0), p = /* @__PURE__ */ new Map(), { t: S, getLocale: N } = ne(), { formItem: E } = te(), A = s(() => N()), R = (e) => {
54
+ r.value = Object.seal(e);
55
+ }, L = (e) => {
56
+ let t = e;
57
+ t === "<p><br></p>" && (t = ""), t !== h.value && (h.value = t, V("update:model-value", t), E?.validate("change"), E?.validate("blur"));
58
+ }, O = (e) => {
59
+ if (!o.disabled)
60
+ return;
61
+ const t = e?.target?.closest?.("img");
62
+ if (!t)
63
+ return;
64
+ const a = r.value?.getEditableContainer?.(), i = Array.from(a?.querySelectorAll?.("img") || []);
65
+ if (i.length === 0)
66
+ return;
67
+ const g = (d) => d?.currentSrc || d?.src || d?.getAttribute?.("data-src") || "", v = i.map(g).filter(Boolean);
68
+ if (v.length === 0)
69
+ return;
70
+ const P = g(t), k = v.findIndex((d) => d === P);
71
+ m.value = v, f.value = k >= 0 ? k : 0, u.value = !0, e?.stopPropagation?.();
72
+ }, T = (e) => {
73
+ if (o.disabled) {
74
+ O(e);
75
+ return;
76
+ }
77
+ r.value?.focus?.();
78
+ }, j = () => {
79
+ u.value = !1, m.value = [], f.value = 0;
80
+ }, c = () => {
81
+ p.forEach(({ app: e, host: t, pre: a }) => {
82
+ t?.isConnected && a?.isConnected && t.parentNode && t.parentNode.insertBefore(a, t), e.unmount(), t?.remove();
83
+ }), p.clear();
84
+ }, z = (e) => {
85
+ const t = document.createElement("div");
86
+ e.parentNode?.insertBefore(t, e);
87
+ const a = $(le), i = a.mount(t);
88
+ (i.contentRef?.value || i.contentRef)?.appendChild(e), p.set(e, {
89
+ app: a,
90
+ host: t,
91
+ pre: e
92
+ });
93
+ }, U = () => {
94
+ const e = r.value?.getEditableContainer?.()?.querySelectorAll("pre");
95
+ e && e.forEach((t) => {
96
+ t.parentElement?.tagName !== "DETAILS" && z(t);
97
+ });
98
+ }, D = s(() => ({
99
+ ...o.toolbarConfig
100
+ })), H = s(() => ({
101
+ placeholder: o.disabled ? "" : o.placeholder || S("d.editor.placeholder"),
102
+ readOnly: o.disabled,
103
+ ...o.editorConfig
104
+ })), q = s(() => ({
105
+ "--minHeight": o.border ? `${o.minHeight}px` : ""
106
+ }));
107
+ return b(A, (e) => {
108
+ Z(e === "zh-cn" ? "zh-CN" : "en");
109
+ }, { immediate: !0 }), b(() => o.disabled, () => {
110
+ c(), y.value++;
111
+ }), b(() => o.modelValue, () => {
112
+ o.disabled ? F(() => {
113
+ c(), U();
114
+ }) : c();
115
+ }, { immediate: !0 }), M(() => {
116
+ c(), r.value?.destroy?.();
117
+ }), (e, t) => (w(), G("div", {
118
+ ref_key: "rootRef",
119
+ ref: B,
120
+ key: y.value,
121
+ class: J(["d-editor", { "editor-border": l.border, "editor-disabled": l.disabled }])
122
+ }, [
123
+ K(x(C(_), {
124
+ class: "toolbar-container",
125
+ editor: r.value,
126
+ "default-config": D.value,
127
+ mode: l.mode
128
+ }, null, 8, ["editor", "default-config", "mode"]), [
129
+ [Q, l.showToolbar && !l.disabled]
130
+ ]),
131
+ x(C(ee), {
132
+ class: "editor-container",
133
+ style: W(q.value),
134
+ "model-value": l.modelValue,
135
+ "default-config": H.value,
136
+ mode: l.mode,
137
+ onOnCreated: R,
138
+ "onUpdate:modelValue": L,
139
+ onClick: T
140
+ }, null, 8, ["style", "model-value", "default-config", "mode"]),
141
+ u.value ? (w(), X(C(oe), {
142
+ key: 0,
143
+ "url-list": m.value,
144
+ "initial-index": f.value,
145
+ "hide-on-click-modal": "",
146
+ teleported: "",
147
+ onClose: j
148
+ }, null, 8, ["url-list", "initial-index"])) : Y("", !0)
149
+ ], 2));
150
+ }
151
+ }), Ce = /* @__PURE__ */ ae(re, [["__scopeId", "data-v-3771fd9e"]]);
152
+ export {
153
+ Ce as default
154
+ };
@@ -0,0 +1 @@
1
+ .d-editor[data-v-3771fd9e]{width:100%}.d-editor.w-e-full-screen-container[data-v-3771fd9e]{z-index:1000}.d-editor .toolbar-container[data-v-3771fd9e]{border-bottom:1px solid var(--el-border-color)}.d-editor .toolbar-container[data-v-3771fd9e] .w-e-toolbar{border-radius:4px}.d-editor .toolbar-container[data-v-3771fd9e] .w-e-drop-panel{z-index:100}.d-editor .editor-container[data-v-3771fd9e]{min-height:var(--minHeight);background:var(--el-fill-color-blank);border-radius:4px}.d-editor .editor-container[data-v-3771fd9e] p[id^=w-e-element-paragraph-]{margin:10px 0}.d-editor .editor-container[data-v-3771fd9e] .w-e-text-placeholder{font-style:normal;font-size:14px;line-height:normal;top:11px}.d-editor .editor-container[data-v-3771fd9e] .w-e-image-container{width:500px}.d-editor .editor-container[data-v-3771fd9e] pre :deep(code){text-shadow:none}.d-editor.editor-disabled[data-v-3771fd9e]:not(.editor-border) div[id^=w-e-textarea-]{padding:0}.d-editor.editor-disabled[data-v-3771fd9e]:not(.editor-border) p[id^=w-e-element-paragraph-]:first-child{margin-top:0}.d-editor.editor-disabled[data-v-3771fd9e]:not(.editor-border) p[id^=w-e-element-paragraph-]:last-child{margin-bottom:0}.editor-border[data-v-3771fd9e]{border:1px solid var(--el-border-color);border-radius:4px;background:var(--el-bg-color);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.editor-border[data-v-3771fd9e]:hover{border-color:var(--el-text-color-disabled)}.editor-disabled .editor-container[data-v-3771fd9e] img{cursor:zoom-in}.el-form-item.is-error .editor-border[data-v-3771fd9e]{border:1px solid var(--el-color-danger)}
@@ -1,6 +1,7 @@
1
1
  export * from './copy';
2
+ export * from './editor';
2
3
  export * from './fold-text';
4
+ export * from './icon';
3
5
  export * from './icon-tip';
4
6
  export * from './inline-edit';
5
7
  export * from './upload';
6
- export * from './icon';
@@ -1,14 +1,16 @@
1
1
  import { DCopy as p } from "./copy/index.js";
2
- import { DFoldText as t } from "./fold-text/index.js";
3
- import { DIconTip as f } from "./icon-tip/index.js";
4
- import { DInlineEdit as D } from "./inline-edit/index.js";
5
- import { DUpload as d } from "./upload/index.js";
6
- import { DIcon as l } from "./icon/index.js";
2
+ import { DEditor as e } from "./editor/index.js";
3
+ import { DFoldText as f } from "./fold-text/index.js";
4
+ import { DIcon as D } from "./icon/index.js";
5
+ import { DIconTip as i } from "./icon-tip/index.js";
6
+ import { DInlineEdit as l } from "./inline-edit/index.js";
7
+ import { DUpload as c } from "./upload/index.js";
7
8
  export {
8
9
  p as DCopy,
9
- t as DFoldText,
10
- l as DIcon,
11
- f as DIconTip,
12
- D as DInlineEdit,
13
- d as DUpload
10
+ e as DEditor,
11
+ f as DFoldText,
12
+ D as DIcon,
13
+ i as DIconTip,
14
+ l as DInlineEdit,
15
+ c as DUpload
14
16
  };
package/index.js CHANGED
@@ -3,25 +3,27 @@ import "./components/index.js";
3
3
  import "./hooks/index.js";
4
4
  import { setComponentRegistry as x, setGlobalConfig as i } from "./config/index.js";
5
5
  import { DCopy as l } from "./components/copy/index.js";
6
- import { DFoldText as a } from "./components/fold-text/index.js";
7
- import { DIcon as D } from "./components/icon/index.js";
8
- import { DIconTip as u } from "./components/icon-tip/index.js";
9
- import { DInlineEdit as I } from "./components/inline-edit/index.js";
10
- import { DUpload as y } from "./components/upload/index.js";
11
- import { useActivated as b } from "./hooks/use-activated/index.js";
12
- import { useLocale as A } from "./hooks/use-locale/index.js";
6
+ import { DEditor as a } from "./components/editor/index.js";
7
+ import { DFoldText as D } from "./components/fold-text/index.js";
8
+ import { DIcon as u } from "./components/icon/index.js";
9
+ import { DIconTip as I } from "./components/icon-tip/index.js";
10
+ import { DInlineEdit as y } from "./components/inline-edit/index.js";
11
+ import { DUpload as T } from "./components/upload/index.js";
12
+ import { useActivated as v } from "./hooks/use-activated/index.js";
13
+ import { useLocale as F } from "./hooks/use-locale/index.js";
13
14
  const p = { install: o };
14
15
  export {
15
16
  l as DCopy,
16
- a as DFoldText,
17
- D as DIcon,
18
- u as DIconTip,
19
- I as DInlineEdit,
20
- y as DUpload,
17
+ a as DEditor,
18
+ D as DFoldText,
19
+ u as DIcon,
20
+ I as DIconTip,
21
+ y as DInlineEdit,
22
+ T as DUpload,
21
23
  p as default,
22
24
  o as install,
23
25
  x as setComponentRegistry,
24
26
  i as setGlobalConfig,
25
- b as useActivated,
26
- A as useLocale
27
+ v as useActivated,
28
+ F as useLocale
27
29
  };
@@ -4,9 +4,16 @@ declare namespace _default {
4
4
  namespace copy {
5
5
  let success: string;
6
6
  }
7
- namespace foldText {
7
+ namespace editor {
8
8
  let expand: string;
9
9
  let collapse: string;
10
+ let placeholder: string;
11
+ }
12
+ namespace foldText {
13
+ let expand_1: string;
14
+ export { expand_1 as expand };
15
+ let collapse_1: string;
16
+ export { collapse_1 as collapse };
10
17
  }
11
18
  namespace upload {
12
19
  export let lessThan: string;
@@ -20,10 +27,10 @@ declare namespace _default {
20
27
  export let comma: string;
21
28
  export let preview: string;
22
29
  export let close: string;
23
- let expand_1: string;
24
- export { expand_1 as expand };
25
- let collapse_1: string;
26
- export { collapse_1 as collapse };
30
+ let expand_2: string;
31
+ export { expand_2 as expand };
32
+ let collapse_2: string;
33
+ export { collapse_2 as collapse };
27
34
  let upload_1: string;
28
35
  export { upload_1 as upload };
29
36
  export let downloadAll: string;
package/locale/lang/en.js CHANGED
@@ -4,6 +4,11 @@ const e = {
4
4
  copy: {
5
5
  success: "Copy successful"
6
6
  },
7
+ editor: {
8
+ expand: "Expand",
9
+ collapse: "Collapse",
10
+ placeholder: "Please input"
11
+ },
7
12
  foldText: {
8
13
  expand: "Expand",
9
14
  collapse: "Collapse"
@@ -4,9 +4,16 @@ declare namespace _default {
4
4
  namespace copy {
5
5
  let success: string;
6
6
  }
7
- namespace foldText {
7
+ namespace editor {
8
8
  let expand: string;
9
9
  let collapse: string;
10
+ let placeholder: string;
11
+ }
12
+ namespace foldText {
13
+ let expand_1: string;
14
+ export { expand_1 as expand };
15
+ let collapse_1: string;
16
+ export { collapse_1 as collapse };
10
17
  }
11
18
  namespace upload {
12
19
  export let lessThan: string;
@@ -20,10 +27,10 @@ declare namespace _default {
20
27
  export let comma: string;
21
28
  export let preview: string;
22
29
  export let close: string;
23
- let expand_1: string;
24
- export { expand_1 as expand };
25
- let collapse_1: string;
26
- export { collapse_1 as collapse };
30
+ let expand_2: string;
31
+ export { expand_2 as expand };
32
+ let collapse_2: string;
33
+ export { collapse_2 as collapse };
27
34
  let upload_1: string;
28
35
  export { upload_1 as upload };
29
36
  export let downloadAll: string;
@@ -4,6 +4,11 @@ const e = {
4
4
  copy: {
5
5
  success: "复制成功"
6
6
  },
7
+ editor: {
8
+ expand: "展开",
9
+ collapse: "收起",
10
+ placeholder: "请输入"
11
+ },
7
12
  foldText: {
8
13
  expand: "展开",
9
14
  collapse: "收起"
package/package.json CHANGED
@@ -1,31 +1,33 @@
1
- {
2
- "name": "geekplus-digital-ui",
3
- "version": "0.1.26",
4
- "type": "module",
5
- "main": "index.js",
6
- "module": "index.js",
7
- "types": "index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./index.d.ts",
11
- "import": "./index.js"
12
- },
13
- "./*": {
14
- "types": "./*.d.ts",
15
- "import": "./*.js"
16
- }
17
- },
18
- "sideEffects": [
19
- "**/*.css"
20
- ],
21
- "dependencies": {
22
- "@vueuse/core": "^14.2.1",
23
- "file-saver": "^2.0.5",
24
- "lodash-es": "^4.17.23",
25
- "vue-i18n": "^11.2.8"
26
- },
27
- "peerDependencies": {
28
- "element-plus": "^2.13.2",
29
- "vue": "^3.5.29"
30
- }
31
- }
1
+ {
2
+ "name": "geekplus-digital-ui",
3
+ "version": "0.1.27",
4
+ "type": "module",
5
+ "main": "index.js",
6
+ "module": "index.js",
7
+ "types": "index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./index.d.ts",
11
+ "import": "./index.js"
12
+ },
13
+ "./*": {
14
+ "types": "./*.d.ts",
15
+ "import": "./*.js"
16
+ }
17
+ },
18
+ "sideEffects": [
19
+ "**/*.css"
20
+ ],
21
+ "dependencies": {
22
+ "@vueuse/core": "^14.2.1",
23
+ "@wangeditor-next/editor": "^5.6.49",
24
+ "@wangeditor-next/editor-for-vue": "^5.1.14",
25
+ "file-saver": "^2.0.5",
26
+ "lodash-es": "^4.17.23",
27
+ "vue-i18n": "^11.2.8"
28
+ },
29
+ "peerDependencies": {
30
+ "element-plus": "^2.13.2",
31
+ "vue": "^3.5.29"
32
+ }
33
+ }