@duxweb/dvha-pro 1.0.33 → 1.0.35

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 (121) hide show
  1. package/dist/cjs/component.cjs +1 -1
  2. package/dist/cjs/components/chart/echart.cjs +1 -1
  3. package/dist/cjs/components/crop/imageCrop.cjs +1 -1
  4. package/dist/cjs/components/data/dynamicSelect.cjs +1 -1
  5. package/dist/cjs/components/data/selectModal.cjs +1 -1
  6. package/dist/cjs/components/designEditor/components/grid.cjs +1 -1
  7. package/dist/cjs/components/designEditor/editor/hook.cjs +1 -1
  8. package/dist/cjs/components/designEditor/editor.cjs +1 -1
  9. package/dist/cjs/components/form/pageForm.cjs +1 -1
  10. package/dist/cjs/components/form/pageTabForm.cjs +1 -1
  11. package/dist/cjs/components/form/settingForm.cjs +1 -1
  12. package/dist/cjs/components/formEditor/base/base.cjs +1 -1
  13. package/dist/cjs/components/formEditor/components/cascader.cjs +1 -1
  14. package/dist/cjs/components/formEditor/components/cascaderAsync.cjs +1 -1
  15. package/dist/cjs/components/formEditor/components/checkbox.cjs +1 -1
  16. package/dist/cjs/components/formEditor/components/color.cjs +1 -1
  17. package/dist/cjs/components/formEditor/components/date.cjs +1 -1
  18. package/dist/cjs/components/formEditor/components/dynamicInput.cjs +1 -1
  19. package/dist/cjs/components/formEditor/components/dynamicTags.cjs +1 -1
  20. package/dist/cjs/components/formEditor/components/editor.cjs +1 -1
  21. package/dist/cjs/components/formEditor/components/fileUpload.cjs +1 -0
  22. package/dist/cjs/components/formEditor/components/imageUpload.cjs +1 -0
  23. package/dist/cjs/components/formEditor/components/input.cjs +1 -1
  24. package/dist/cjs/components/formEditor/components/inputNumber.cjs +1 -1
  25. package/dist/cjs/components/formEditor/components/mentionAsync.cjs +1 -1
  26. package/dist/cjs/components/formEditor/components/radio.cjs +1 -1
  27. package/dist/cjs/components/formEditor/components/region.cjs +1 -1
  28. package/dist/cjs/components/formEditor/components/select.cjs +1 -1
  29. package/dist/cjs/components/formEditor/components/selectAsync.cjs +1 -1
  30. package/dist/cjs/components/formEditor/components/sider.cjs +1 -1
  31. package/dist/cjs/components/formEditor/components/switch.cjs +1 -1
  32. package/dist/cjs/components/formEditor/components/time.cjs +1 -1
  33. package/dist/cjs/components/formEditor/components/transferAsync.cjs +1 -1
  34. package/dist/cjs/components/formEditor/components/treeSelect.cjs +1 -1
  35. package/dist/cjs/components/formEditor/components/treeSelectAsync.cjs +1 -1
  36. package/dist/cjs/components/formEditor/editor.cjs +1 -1
  37. package/dist/cjs/components/formEditor/renderer.cjs +1 -1
  38. package/dist/cjs/components/icon/icon.cjs +1 -1
  39. package/dist/cjs/components/layout/list.cjs +1 -1
  40. package/dist/cjs/components/layout/table.cjs +1 -1
  41. package/dist/cjs/components/level/level.cjs +1 -1
  42. package/dist/cjs/components/table/table.cjs +1 -1
  43. package/dist/cjs/components/upload/config.cjs +1 -1
  44. package/dist/cjs/components/upload/file.cjs +1 -1
  45. package/dist/cjs/components/upload/image.cjs +1 -1
  46. package/dist/cjs/components/upload/manage/item.cjs +1 -1
  47. package/dist/cjs/components/upload/manager.cjs +1 -1
  48. package/dist/cjs/langs/en-US.json.cjs +1 -1
  49. package/dist/cjs/langs/zh-CN.json.cjs +1 -1
  50. package/dist/cjs/pages/authLayout.cjs +1 -1
  51. package/dist/cjs/pages/layout/page.cjs +1 -1
  52. package/dist/cjs/pages/menu/button.cjs +1 -1
  53. package/dist/cjs/pages/menu/cmd.cjs +1 -1
  54. package/dist/cjs/pages/menu/main.cjs +1 -1
  55. package/dist/cjs/pages/menu/mobile.cjs +1 -1
  56. package/dist/cjs/theme/uno.css.cjs +2 -1
  57. package/dist/esm/component.js +11 -11
  58. package/dist/esm/components/chart/echart.js +1 -1
  59. package/dist/esm/components/crop/imageCrop.js +1 -1
  60. package/dist/esm/components/data/dynamicSelect.js +1 -1
  61. package/dist/esm/components/data/selectModal.js +1 -1
  62. package/dist/esm/components/designEditor/components/grid.js +1 -1
  63. package/dist/esm/components/designEditor/editor/hook.js +17 -17
  64. package/dist/esm/components/designEditor/editor.js +6 -6
  65. package/dist/esm/components/form/pageForm.js +1 -1
  66. package/dist/esm/components/form/pageTabForm.js +1 -1
  67. package/dist/esm/components/form/settingForm.js +1 -1
  68. package/dist/esm/components/formEditor/base/base.js +1 -1
  69. package/dist/esm/components/formEditor/components/cascader.js +1 -1
  70. package/dist/esm/components/formEditor/components/cascaderAsync.js +1 -1
  71. package/dist/esm/components/formEditor/components/checkbox.js +1 -1
  72. package/dist/esm/components/formEditor/components/color.js +1 -1
  73. package/dist/esm/components/formEditor/components/date.js +1 -1
  74. package/dist/esm/components/formEditor/components/dynamicInput.js +1 -1
  75. package/dist/esm/components/formEditor/components/dynamicTags.js +1 -1
  76. package/dist/esm/components/formEditor/components/editor.js +1 -1
  77. package/dist/esm/components/formEditor/components/fileUpload.js +191 -0
  78. package/dist/esm/components/formEditor/components/imageUpload.js +182 -0
  79. package/dist/esm/components/formEditor/components/input.js +1 -1
  80. package/dist/esm/components/formEditor/components/inputNumber.js +1 -1
  81. package/dist/esm/components/formEditor/components/mentionAsync.js +1 -1
  82. package/dist/esm/components/formEditor/components/radio.js +1 -1
  83. package/dist/esm/components/formEditor/components/region.js +1 -1
  84. package/dist/esm/components/formEditor/components/select.js +1 -1
  85. package/dist/esm/components/formEditor/components/selectAsync.js +1 -1
  86. package/dist/esm/components/formEditor/components/sider.js +1 -1
  87. package/dist/esm/components/formEditor/components/switch.js +1 -1
  88. package/dist/esm/components/formEditor/components/time.js +1 -1
  89. package/dist/esm/components/formEditor/components/transferAsync.js +1 -1
  90. package/dist/esm/components/formEditor/components/treeSelect.js +1 -1
  91. package/dist/esm/components/formEditor/components/treeSelectAsync.js +1 -1
  92. package/dist/esm/components/formEditor/editor.js +26 -24
  93. package/dist/esm/components/formEditor/renderer.js +32 -30
  94. package/dist/esm/components/icon/icon.js +1 -1
  95. package/dist/esm/components/layout/list.js +1 -1
  96. package/dist/esm/components/layout/table.js +1 -1
  97. package/dist/esm/components/level/level.js +1 -1
  98. package/dist/esm/components/table/table.js +1 -1
  99. package/dist/esm/components/upload/config.js +13 -12
  100. package/dist/esm/components/upload/file.js +62 -57
  101. package/dist/esm/components/upload/image.js +51 -47
  102. package/dist/esm/components/upload/manage/item.js +3 -3
  103. package/dist/esm/components/upload/manager.js +92 -89
  104. package/dist/esm/langs/en-US.json.js +5 -5
  105. package/dist/esm/langs/zh-CN.json.js +6 -6
  106. package/dist/esm/pages/authLayout.js +1 -1
  107. package/dist/esm/pages/layout/page.js +1 -1
  108. package/dist/esm/pages/menu/button.js +1 -1
  109. package/dist/esm/pages/menu/cmd.js +1 -1
  110. package/dist/esm/pages/menu/main.js +1 -1
  111. package/dist/esm/pages/menu/mobile.js +1 -1
  112. package/dist/esm/theme/uno.css.js +2 -1
  113. package/dist/types/components/formEditor/components/fileUpload.d.ts +2 -0
  114. package/dist/types/components/formEditor/components/imageUpload.d.ts +2 -0
  115. package/dist/types/components/formEditor/components/index.d.ts +4 -2
  116. package/dist/types/components/upload/config.d.ts +4 -2
  117. package/dist/types/components/upload/file.d.ts +1 -0
  118. package/dist/types/components/upload/image.d.ts +2 -3
  119. package/dist/types/components/upload/manager.d.ts +1 -0
  120. package/dist/types/main.d.ts +1 -0
  121. package/package.json +3 -3
@@ -1,9 +1,9 @@
1
- import { defineComponent as $, ref as s, computed as w, createVNode as e, nextTick as z, createTextVNode as S, isVNode as _ } from "vue";
2
- import { useI18n as q, useClient as B, useInfiniteList as A, useUpload as R } from "@duxweb/dvha-core";
3
- import { cloneDeep as X } from "lodash-es";
4
- import { useMessage as Y, NTabs as G, NTab as x, NButton as c, NInput as N, NInfiniteScroll as H, NTooltip as J, NSpin as K, NDropdown as Q } from "naive-ui";
1
+ import { defineComponent as z, ref as s, computed as w, createVNode as e, nextTick as _, createTextVNode as S, isVNode as q } from "vue";
2
+ import { useI18n as B, useClient as A, useInfiniteList as R, useUpload as X } from "@duxweb/dvha-core";
3
+ import { cloneDeep as Y } from "lodash-es";
4
+ import { useMessage as G, NTabs as H, NTab as x, NButton as c, NInput as N, NInfiniteScroll as J, NTooltip as K, NSpin as Q, NDropdown as W } from "naive-ui";
5
5
  import "vue-router";
6
- import { useDialog as W } from "../../hooks/dialog.js";
6
+ import { useDialog as Z } from "../../hooks/dialog.js";
7
7
  import "@overlastic/vue";
8
8
  import "clsx";
9
9
  import "vue-echarts";
@@ -22,7 +22,7 @@ import "ace-builds/src-noconflict/mode-snippets";
22
22
  import "vue-cropper";
23
23
  import "jinrishici";
24
24
  import "vue-draggable-plus";
25
- import { DuxDrawEmpty as Z } from "../draw/drawEmpty.js";
25
+ import { DuxDrawEmpty as ee } from "../draw/drawEmpty.js";
26
26
  import "@vee-validate/i18n";
27
27
  import "colorizr";
28
28
  import "echarts";
@@ -52,19 +52,19 @@ import "@duxweb/dvha-naiveui";
52
52
  import "../../pages/page404.js";
53
53
  import "short-unique-id";
54
54
  import "aieditor";
55
+ import "mime";
56
+ import { useUploadConfig as ae } from "./config.js";
55
57
  import "@iconify-json/tabler/icons.json";
56
58
  import "../posterEditor/elements/index.js";
57
59
  import "fabric";
58
- import "mime";
59
- import { useUploadConfig as ee } from "./config.js";
60
- import { useDownload as ae } from "../../hooks/download.js";
60
+ import { useDownload as te } from "../../hooks/download.js";
61
61
  import "@tanstack/vue-query";
62
62
  import "pinia";
63
63
  import { DuxFileManageItem as T } from "./manage/item.js";
64
- function P(l) {
65
- return typeof l == "function" || Object.prototype.toString.call(l) === "[object Object]" && !_(l);
64
+ function M(t) {
65
+ return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !q(t);
66
66
  }
67
- const pa = /* @__PURE__ */ $({
67
+ const pa = /* @__PURE__ */ z({
68
68
  name: "DuxFileManage",
69
69
  props: {
70
70
  path: String,
@@ -79,56 +79,59 @@ const pa = /* @__PURE__ */ $({
79
79
  handle: String,
80
80
  uploadParams: Object
81
81
  },
82
- setup(l) {
82
+ setup(t) {
83
83
  const f = s(!1), k = s(0), C = s(0), {
84
- t
85
- } = q(), o = s([]), g = W(), M = B(), p = Y(), E = ae(), i = s({
84
+ t: l
85
+ } = B(), o = s([]), g = Z(), P = A(), m = G(), E = te(), i = s({
86
86
  manager: !0,
87
- type: l.type || "all",
87
+ type: t.type || "all",
88
88
  folder: null
89
89
  }), h = s(), {
90
90
  uploadPath: j,
91
91
  managePath: b,
92
- driver: F
93
- } = ee({
94
- driver: l.uploadParams?.driver,
95
- signPath: l.uploadParams?.signPath,
96
- signCallback: l.uploadParams?.signCallback,
97
- uploadPath: l.uploadParams?.path,
98
- managePath: l.path
99
- }), I = s({
92
+ driver: F,
93
+ method: I
94
+ } = ae({
95
+ driver: t.uploadParams?.driver,
96
+ signPath: t.uploadParams?.signPath,
97
+ signCallback: t.uploadParams?.signCallback,
98
+ uploadPath: t.uploadParams?.path,
99
+ managePath: t.path,
100
+ method: t.uploadParams?.method
101
+ }), U = s({
100
102
  page: 1,
101
103
  pageSize: 20
102
- }), n = A({
104
+ }), n = R({
103
105
  path: b.value,
104
- pagination: I.value,
106
+ pagination: U.value,
105
107
  filters: i.value
106
- }), U = w(() => {
108
+ }), V = w(() => {
107
109
  const {
108
110
  driver: u,
109
111
  signPath: d,
110
- signCallback: m,
112
+ signCallback: p,
111
113
  ...a
112
- } = l.uploadParams || {};
114
+ } = t.uploadParams || {};
113
115
  return a;
114
- }), y = R({
115
- ...U.value,
116
+ }), y = X({
117
+ ...V.value,
116
118
  path: j.value,
117
119
  autoUpload: !0,
118
120
  driver: F.value,
119
121
  params: i.value,
122
+ method: I.value,
120
123
  onSuccess: () => {
121
124
  o.value = [], n.refetch();
122
125
  },
123
126
  onError: (u) => {
124
- p.error(u?.message || t("components.uploadManage.uploadError") || "");
127
+ m.error(u?.message || l("components.uploadManage.uploadError") || "");
125
128
  }
126
- }), V = (u) => {
129
+ }), L = (u) => {
127
130
  if (!u) {
128
- p.error(t("components.uploadManage.namePlaceholder") || "");
131
+ m.error(l("components.uploadManage.namePlaceholder") || "");
129
132
  return;
130
133
  }
131
- M.request({
134
+ P.request({
132
135
  path: b.value,
133
136
  method: "POST",
134
137
  payload: {
@@ -138,28 +141,28 @@ const pa = /* @__PURE__ */ $({
138
141
  }).then(() => {
139
142
  n.refetch(), o.value = [];
140
143
  }).catch(() => {
141
- p.error(t("components.uploadManage.createError") || "");
144
+ m.error(l("components.uploadManage.createError") || "");
142
145
  });
143
- }, L = (u, d, m) => {
146
+ }, O = (u, d, p) => {
144
147
  if (!d) {
145
- p.error(t("components.uploadManage.namePlaceholder") || "");
148
+ m.error(l("components.uploadManage.namePlaceholder") || "");
146
149
  return;
147
150
  }
148
- M.request({
151
+ P.request({
149
152
  path: b.value,
150
153
  method: "PUT",
151
154
  payload: {
152
155
  name: d,
153
- id: m,
156
+ id: p,
154
157
  type: u
155
158
  }
156
159
  }).then(() => {
157
160
  n.refetch(), o.value = [];
158
161
  }).catch(() => {
159
- p.error(t("components.uploadManage.editError") || "");
162
+ m.error(l("components.uploadManage.editError") || "");
160
163
  });
161
164
  }, D = (u, d) => {
162
- M.request({
165
+ P.request({
163
166
  path: `${b.value}/batch`,
164
167
  method: "DELETE",
165
168
  payload: {
@@ -169,18 +172,18 @@ const pa = /* @__PURE__ */ $({
169
172
  }).then(() => {
170
173
  n.refetch(), o.value = [];
171
174
  }).catch(() => {
172
- p.error(t("components.uploadManage.delError") || "");
175
+ m.error(l("components.uploadManage.delError") || "");
173
176
  });
174
- }, v = w(() => !!(l.type && l.type !== "all"));
177
+ }, v = w(() => !!(t.type && t.type !== "all"));
175
178
  return () => {
176
- let u, d, m;
179
+ let u, d, p;
177
180
  return e("div", {
178
- class: ["flex flex-col gap-2", l.page ? "h-full" : "h-500px max-h-500px"]
181
+ class: ["flex flex-col gap-2", t.page ? "h-full" : "h-500px max-h-500px"]
179
182
  }, [e("div", {
180
- class: ["flex-none flex justify-between items-center border-b border-muted p-3", l.handle]
183
+ class: ["flex-none flex justify-between items-center border-b border-muted p-3", t.handle]
181
184
  }, [e("div", {
182
185
  class: "flex-none"
183
- }, [e(G, {
186
+ }, [e(H, {
184
187
  type: "segment",
185
188
  animated: !0,
186
189
  size: "small",
@@ -192,19 +195,19 @@ const pa = /* @__PURE__ */ $({
192
195
  }
193
196
  }, {
194
197
  default: () => [e(x, {
195
- tab: t("components.uploadManage.all"),
198
+ tab: l("components.uploadManage.all"),
196
199
  name: "all",
197
200
  disabled: v.value
198
201
  }, null), e(x, {
199
- tab: t("components.uploadManage.image"),
202
+ tab: l("components.uploadManage.image"),
200
203
  name: "image",
201
204
  disabled: v.value
202
205
  }, null), e(x, {
203
- tab: t("components.uploadManage.media"),
206
+ tab: l("components.uploadManage.media"),
204
207
  name: "media",
205
208
  disabled: v.value
206
209
  }, null), e(x, {
207
- tab: t("components.uploadManage.docs"),
210
+ tab: l("components.uploadManage.docs"),
208
211
  name: "docs",
209
212
  disabled: v.value
210
213
  }, null)]
@@ -215,7 +218,7 @@ const pa = /* @__PURE__ */ $({
215
218
  ghost: !0,
216
219
  onClick: () => {
217
220
  g.prompt({
218
- title: t("components.uploadManage.namePlaceholder") || "",
221
+ title: l("components.uploadManage.namePlaceholder") || "",
219
222
  formSchema: [{
220
223
  tag: N,
221
224
  attrs: {
@@ -223,14 +226,14 @@ const pa = /* @__PURE__ */ $({
223
226
  }
224
227
  }]
225
228
  }).then((a) => {
226
- V(a?.name);
229
+ L(a?.name);
227
230
  }).catch(() => {
228
231
  });
229
232
  },
230
233
  renderIcon: () => e("div", {
231
234
  class: "i-tabler:plus"
232
235
  }, null)
233
- }, P(u = t("components.button.create")) ? u : {
236
+ }, M(u = l("components.button.create")) ? u : {
234
237
  default: () => [u]
235
238
  }), e(c, {
236
239
  type: "primary",
@@ -245,19 +248,19 @@ const pa = /* @__PURE__ */ $({
245
248
  }, {
246
249
  default: () => [e("div", {
247
250
  class: "flex gap-2"
248
- }, [t("components.uploadManage.upload"), y.progress.value.totalPercent > 0 && `(${y.progress.value.totalPercent}%)`])]
249
- }), !l.page && e(c, {
251
+ }, [l("components.uploadManage.upload"), y.progress.value.totalPercent > 0 && `(${y.progress.value.totalPercent}%)`])]
252
+ }), !t.page && e(c, {
250
253
  type: "default",
251
254
  ghost: !0,
252
255
  onClick: () => {
253
- l.onClose?.();
256
+ t.onClose?.();
254
257
  },
255
258
  renderIcon: () => e("div", {
256
259
  class: "i-tabler:x"
257
260
  }, null)
258
261
  }, null)])]), e("div", {
259
262
  class: "flex-1 min-h-1"
260
- }, [n.data?.value?.data?.length > 0 && e(H, {
263
+ }, [n.data?.value?.data?.length > 0 && e(J, {
261
264
  distance: 10,
262
265
  onLoad: () => {
263
266
  n.hasNextPage.value && n.fetchNextPage();
@@ -267,29 +270,29 @@ const pa = /* @__PURE__ */ $({
267
270
  }
268
271
  }, {
269
272
  default: () => [e("div", {
270
- class: ["grid grid-cols-3 md:grid-cols-4 text-sm items-start justify-start", n.data.value?.data?.length >= 4 && !l.page ? " lg:grid-cols-[repeat(auto-fit,minmax(150px,1fr))]" : "lg:grid-cols-[repeat(auto-fit,minmax(150px,150px))]"]
273
+ class: ["grid grid-cols-3 md:grid-cols-4 text-sm items-start justify-start", n.data.value?.data?.length >= 4 && !t.page ? " lg:grid-cols-[repeat(auto-fit,minmax(150px,1fr))]" : "lg:grid-cols-[repeat(auto-fit,minmax(150px,150px))]"]
271
274
  }, [i.value?.folder && i.value?.folder !== n.data.value?.meta?.folder && e(T, {
272
275
  key: `parent-${n.data.value?.meta?.folder}`,
273
276
  type: "folder",
274
- name: t("components.uploadManage.parentLevel"),
275
- page: l.page,
277
+ name: l("components.uploadManage.parentLevel"),
278
+ page: t.page,
276
279
  onSelect: () => {
277
280
  o.value = [], i.value.folder = n.data.value?.meta?.folder;
278
281
  }
279
- }, null), n.data.value?.data?.map((a) => e(J, {
282
+ }, null), n.data.value?.data?.map((a) => e(K, {
280
283
  placement: "bottom",
281
284
  key: `${a.url ? "file" : "folder"}-${a.id}`,
282
285
  trigger: a.url ? "hover" : "manual"
283
286
  }, {
284
287
  default: () => a.filesize,
285
288
  trigger: () => e(T, {
286
- page: l.page,
289
+ page: t.page,
287
290
  onContextmenu: (r) => {
288
- h.value = a, f.value = !1, z().then(() => {
291
+ h.value = a, f.value = !1, _().then(() => {
289
292
  f.value = !0, k.value = r.clientX, C.value = r.clientY;
290
293
  }), r.preventDefault();
291
294
  },
292
- value: l.page ? !1 : !!o.value?.find?.((r) => r.id === a.id),
295
+ value: t.page ? !1 : !!o.value?.find?.((r) => r.id === a.id),
293
296
  type: a.url ? "file" : "folder",
294
297
  mime: a.filetype,
295
298
  name: a.filename,
@@ -300,11 +303,11 @@ const pa = /* @__PURE__ */ $({
300
303
  o.value = [], n.data.value = void 0, i.value.folder = a.id;
301
304
  return;
302
305
  }
303
- l.page || (r ? l.multiple ? o.value?.push(a) : o.value = [a] : l.multiple ? o.value?.splice(o.value?.indexOf(a), 1) : o.value = []);
306
+ t.page || (r ? t.multiple ? o.value?.push(a) : o.value = [a] : t.multiple ? o.value?.splice(o.value?.indexOf(a), 1) : o.value = []);
304
307
  }
305
308
  }, null)
306
309
  }))])]
307
- }), n.isLoading.value ? e(K, {
310
+ }), n.isLoading.value ? e(Q, {
308
311
  class: "h-full absolute w-full bg-gray-1/50"
309
312
  }, null) : !n.data.value?.data?.length && e("div", {
310
313
  class: "size-full flex justify-center items-center text-sm text-gray-6"
@@ -312,11 +315,11 @@ const pa = /* @__PURE__ */ $({
312
315
  class: "flex flex-col items-center"
313
316
  }, [e("div", {
314
317
  class: "w-26 mb-2"
315
- }, [e(Z, null, null)]), e("div", {
318
+ }, [e(ee, null, null)]), e("div", {
316
319
  class: "text-base"
317
- }, [t("components.uploadManage.empty")]), e("div", {
320
+ }, [l("components.uploadManage.empty")]), e("div", {
318
321
  class: "text-sm text-muted"
319
- }, [t("components.uploadManage.emptyDesc")]), i.value?.folder && i.value?.folder !== n.data.value?.meta?.folder && e("div", {
322
+ }, [l("components.uploadManage.emptyDesc")]), i.value?.folder && i.value?.folder !== n.data.value?.meta?.folder && e("div", {
320
323
  class: "text-xs text-gray-6"
321
324
  }, [e(c, {
322
325
  type: "default",
@@ -324,9 +327,9 @@ const pa = /* @__PURE__ */ $({
324
327
  onClick: () => {
325
328
  o.value = [], i.value.folder = n.data.value?.meta?.folder;
326
329
  }
327
- }, P(d = t("components.uploadManage.back")) ? d : {
330
+ }, M(d = l("components.uploadManage.back")) ? d : {
328
331
  default: () => [d]
329
- })])])])]), e(Q, {
332
+ })])])])]), e(W, {
330
333
  x: k.value,
331
334
  y: C.value,
332
335
  placement: "bottom-start",
@@ -339,14 +342,14 @@ const pa = /* @__PURE__ */ $({
339
342
  a || (h.value = void 0);
340
343
  },
341
344
  onSelect: (a) => {
342
- const r = X(h.value);
345
+ const r = Y(h.value);
343
346
  switch (f.value = !1, a) {
344
347
  case "download":
345
348
  E.url(r?.url);
346
349
  break;
347
350
  case "rename":
348
351
  g.prompt({
349
- title: t("components.uploadManage.namePlaceholder"),
352
+ title: l("components.uploadManage.namePlaceholder"),
350
353
  formSchema: [{
351
354
  tag: N,
352
355
  attrs: {
@@ -356,14 +359,14 @@ const pa = /* @__PURE__ */ $({
356
359
  defaultValue: {
357
360
  name: r?.filename || r?.name
358
361
  }
359
- }).then((O) => {
360
- L(r?.type, O?.name, r?.id);
362
+ }).then(($) => {
363
+ O(r?.type, $?.name, r?.id);
361
364
  });
362
365
  break;
363
366
  case "delete":
364
367
  g.confirm({
365
- title: t("components.uploadManage.delTitle"),
366
- content: t("components.uploadManage.delDesc")
368
+ title: l("components.uploadManage.delTitle"),
369
+ content: l("components.uploadManage.delDesc")
367
370
  }).then(() => {
368
371
  D(r?.type, r?.id);
369
372
  });
@@ -371,47 +374,47 @@ const pa = /* @__PURE__ */ $({
371
374
  }
372
375
  },
373
376
  options: [h.value?.url && {
374
- label: t("components.button.download"),
377
+ label: l("components.button.download"),
375
378
  key: "download",
376
379
  icon: () => e("div", {
377
380
  class: "i-tabler:download"
378
381
  }, null)
379
382
  }, {
380
- label: t("components.button.rename"),
383
+ label: l("components.button.rename"),
381
384
  key: "rename",
382
385
  icon: () => e("div", {
383
386
  class: "i-tabler:cursor-text"
384
387
  }, null)
385
388
  }, {
386
- label: t("components.button.delete"),
389
+ label: l("components.button.delete"),
387
390
  key: "delete",
388
391
  icon: () => e("div", {
389
392
  class: "i-tabler:trash"
390
393
  }, null)
391
394
  }].filter((a) => a)
392
- }, null), !l.page && e("div", {
395
+ }, null), !t.page && e("div", {
393
396
  class: "flex justify-end gap-2 border-t border-muted p-3"
394
397
  }, [e("div", null, [o.value?.length > 0 && e(c, {
395
398
  type: "error",
396
399
  secondary: !0,
397
400
  onClick: () => {
398
401
  g.confirm({
399
- title: t("components.uploadManage.delTitle"),
400
- content: t("components.uploadManage.delDesc")
402
+ title: l("components.uploadManage.delTitle"),
403
+ content: l("components.uploadManage.delDesc")
401
404
  }).then(() => {
402
405
  D("file", o.value?.map((a) => a.id));
403
406
  });
404
407
  }
405
- }, P(m = t("components.button.delete")) ? m : {
406
- default: () => [m]
408
+ }, M(p = l("components.button.delete")) ? p : {
409
+ default: () => [p]
407
410
  })]), e("div", null, [e(c, {
408
411
  type: "primary",
409
412
  disabled: !o.value?.length,
410
413
  onClick: () => {
411
- l.onConfirm?.(o.value);
414
+ t.onConfirm?.(o.value);
412
415
  }
413
416
  }, {
414
- default: () => [t("components.button.select"), S("("), o.value?.length || 0, S(")")]
417
+ default: () => [l("components.button.select"), S("("), o.value?.length || 0, S(")")]
415
418
  })])])]);
416
419
  };
417
420
  }
@@ -1,15 +1,15 @@
1
- const e = { search: "Search", empty: "No data", menu: "Menu", theme: "Theme", dark: "Dark", light: "Light", back: "Back", loading: "Loading...", success: "Success", error: "Error", unknownError: "Unknown error", preview: "Preview" }, a = { tab: { lock: "Lock", closeOther: "Close Other", closeLeft: "Close Left", closeRight: "Close Right" }, dialog: { confirm: { title: "Confirm", content: "Are you sure you want to confirm?" }, cancel: { title: "Cancel", content: "Are you sure you want to cancel?" }, success: { title: "Success", content: "Your operation has been successful" }, error: { title: "Error", content: "Your operation has been failed" }, prompt: { title: "Prompt" } }, button: { confirm: "Confirm", cancel: "Cancel", submit: "Submit", reset: "Reset", delete: "Delete", search: "Search", advanced: "Advanced", export: "Export", import: "Import", autoRefresh: "Auto Refresh", filter: "Filter", refresh: "Refresh", select: "Select", create: "Create", download: "Download", rename: "Rename", preview: "Preview" }, form: { edit: "Edit", create: "Create" }, list: { selectAll: "Select All", columnSetting: "Column Setting", selectedItems: "Selected Items: {num}", total: "Total: {total}" }, editor: { placeholder: "Please enter content" }, upload: { fileManager: "File Manager", uploadFile: "Upload File", cancel: "Cancel", delete: "Delete", error: "Upload failed", empty: "No files", desc: "Click or drag files to this area", dropHere: "Drop files here", allFormats: "Support any format files", supportFormats: "Support {formats} format files", maxSize: "Max file size: {size}MB", success: "Upload success", failed: "Upload failed", fileExtension: "{ext} file", status: { pending: "Pending", uploading: "Uploading", success: "Success", cancelled: "Cancelled", error: "Error" }, file: { name: "File Name", size: "Size", type: "Type", status: "Status" }, actions: "Actions", selectUpload: { clickOrDrag: "Click to select files or drag here", selectedFiles: "Selected {count} files", multipleSupport: "Support multiple file selection", defaultDesc: "Support uploading specified file types", acceptDesc: "Only support uploading {accept} format files", maxFiles: "Max {max} files" } }, uploadManage: { title: "File Manager", all: "All", image: "Images", media: "Media", docs: "Documents", upload: "Upload", empty: "No files", emptyDesc: "No more files, please upload files", back: "Back to parent", parentLevel: "Parent Level", namePlaceholder: "Please enter name", createError: "Create failed", editError: "Edit failed", delError: "Delete failed", delTitle: "Confirm Delete", delDesc: "Are you sure you want to delete the selected files? This action cannot be undone." }, crop: { title: "Crop", select: "Select", confirm: "Confirm" }, stats: { realTimeData: "Real-time Data" }, data: { selectTitle: "Please select data" }, menu: { language: "Language", chinese: "中文", english: "English", color: "Color", primaryColor: "Primary Color", neutralColor: "Neutral Color", theme: "Theme", followSystem: "Follow System", lightMode: "Light", darkMode: "Dark", logout: "Logout" }, iconPicker: { title: "Icon Picker" }, designEditor: { layout: "Layout", all: "All", grid: { label: "Grid", title: "Grid Settings", columns: "Columns", spacing: "Spacing", columnsPlaceholder: "Enter columns", spacingPlaceholder: "Enter spacing" } }, formEditor: { config: "Component Config", options: "Option Config", data: "Data", common: { componentConfig: "Component Config", optionConfig: "Option Config", optionData: "Option Data", dataConfig: "Data Config", dataEdit: "Data Edit", label: "Label", placeholder: "Placeholder", disabled: "Disabled", clearable: "Clearable", multiple: "Multiple", defaultValue: "Default Value", readonly: "Readonly", showCount: "Show Count", prefix: "Prefix", suffix: "Suffix", status: "Status", minLength: "Min Length", maxLength: "Max Length", minValue: "Min Value", maxValue: "Max Value", minCount: "Min Count", maxCount: "Max Count", optionLabel: "Option Label", optionValue: "Option Value", labelField: "Label Field", valueField: "Value Field", dataInterface: "Data Interface", cascade: "Cascade", showPath: "Show Path", uploadUrl: "Upload URL", showAlpha: "Show Alpha", timeFormat: "Time Format", hour12: "12 Hours", dateType: "Date Type", inputType: "Input Type", formDirection: "Form Direction", leftAlign: "Left Align", topAlign: "Top Align", settingAlign: "Setting Layout", pageAlign: "Page Layout", name: "Name", desc: "Description" }, setting: { title: "Form Settings" }, validation: "Validation Rules", componentConfig: "Component Config", input: { label: "Text", types: { text: "Text", textarea: "Textarea", password: "Password" } }, inputNumber: { label: "Number" }, select: { label: "Select", configDesc: "Config options" }, radio: { label: "Radio", configDesc: "Config options" }, checkbox: { label: "Checkbox", configDesc: "Config options" }, switch: { label: "Switch" }, date: { label: "Date", placeholder: "Select date", dateType: "Date Type", date: "Date", daterange: "Date Range", datetime: "DateTime", datetimerange: "DateTime Range", month: "Month", monthrange: "Month Range", year: "Year", yearrange: "Year Range", quarter: "Quarter", quarterrange: "Quarter Range", week: "Week" }, time: { label: "Time", placeholder: "Select time", timeFormat: "Format", use12Hours: "12 Hours" }, color: { label: "Color", showAlpha: "Show Alpha" }, cascader: { label: "Cascader", desc: "Cascader options data in JSON array format", configDesc: "Config options", optionDesc: "JSON array format", optionsDescription: "Config cascader options", cascade: "Cascade", showPath: "Show Path" }, cascaderAsync: { label: "Cascader", dataApi: "Data API", apiPlaceholder: "Enter API URL", cascade: "Cascade", showPath: "Show Path" }, dynamicInput: { label: "Dynamic" }, editor: { label: "Editor", placeholder: "Enter content", uploadUrlDesc: "Editor image upload URL" }, aiEditor: { label: "Editor", uploadUrl: "Upload URL", uploadUrlFeedback: "Image upload URL" }, sider: { name: "Slider", step: "Step", min: "Min", max: "Max" }, dynamicTags: { name: "Tags", max: "Max Count" }, mentionAsync: { name: "Mention", clearable: "Clearable", path: "Data API", labelField: "Label Field", valueField: "Value Field" }, region: { name: "Region", Path: "Data API", labelField: "Label Field", valueField: "Value Field" }, selectAsync: { name: "Select", pagination: "Pagination", path: "Data API", labelField: "Label Field", valueField: "Value Field", imageField: "Image Field", descField: "Desc Field" }, transferAsync: { name: "Transfer" }, treeSelect: { name: "Tree" }, treeSelectAsync: { name: "Tree Select", path: "Data API", labelField: "Label Field", keyField: "Key Field" }, tree: { disabled: "Disabled" }, groups: { form: "Form", select: "Selector", async: "Async" }, main: { label: "Main Content", categories: { form: "Form", select: "Selector", async: "Async" }, actions: { jsonOutput: "Json Output", save: "Save" } } } }, t = { table: { exportSuccess: "Export data successfully", exportProgress: "Exporting data, please wait...", exportFailed: "Export data failed", exportSuccessContent: "Successfully exported {count} records", exportProgressContent: "Page {page} data", exportFailedContent: "Export data failed: {error}", importSuccess: "Import data successfully", importProgress: "Importing data, please wait...", importFailed: "Import data failed", importSuccessContent: "Successfully imported {count} records", importProgressContent: "{processed} / {total} records", importFailedContent: "Import data failed: {error}", saveSuccess: "Save successfully", copySuccess: "Copy successfully", copyFailed: "Copy failed" }, download: { failed: "Download failed" } }, o = { 400: { title: "400", desc: "Request error" }, 401: { title: "401", desc: "You do not have permission to access this page" }, 403: { title: "403", desc: "You do not have permission to access this page" }, 404: { title: "404", desc: "Page not found" }, 500: { title: "500", desc: "Server error" }, empty: { title: "No data", desc: "No more data, please try again later" }, loading: { title: "Loading", desc: "Data is loading, please try again later" }, login: { success: "Login success", error: "Login failed, please check your username and password", placeholder: { username: "Please enter username", password: "Please enter password" }, buttons: { login: "Login" } } }, l = { "zh-CN": "Chinese", "en-US": "English", "ja-JP": "Japanese", "ko-KR": "Korean", "ru-RU": "Russian" }, i = {
1
+ const e = { search: "Search", empty: "No data", menu: "Menu", theme: "Theme", dark: "Dark", light: "Light", back: "Back", loading: "Loading...", success: "Success", error: "Error", unknownError: "Unknown error", preview: "Preview" }, a = { tab: { lock: "Lock", closeOther: "Close Other", closeLeft: "Close Left", closeRight: "Close Right" }, dialog: { confirm: { title: "Confirm", content: "Are you sure you want to confirm?" }, cancel: { title: "Cancel", content: "Are you sure you want to cancel?" }, success: { title: "Success", content: "Your operation has been successful" }, error: { title: "Error", content: "Your operation has been failed" }, prompt: { title: "Prompt" } }, button: { confirm: "Confirm", cancel: "Cancel", submit: "Submit", reset: "Reset", delete: "Delete", search: "Search", advanced: "Advanced", export: "Export", import: "Import", autoRefresh: "Auto Refresh", filter: "Filter", refresh: "Refresh", select: "Select", create: "Create", download: "Download", rename: "Rename", preview: "Preview" }, form: { edit: "Edit", create: "Create" }, list: { selectAll: "Select All", columnSetting: "Column Setting", selectedItems: "Selected Items: {num}", total: "Total: {total}" }, editor: { placeholder: "Please enter content" }, upload: { fileManager: "File Manager", uploadFile: "Upload File", cancel: "Cancel", delete: "Delete", error: "Upload failed", empty: "No files", desc: "Click or drag files to this area", dropHere: "Drop files here", allFormats: "Support any format files", supportFormats: "Support {formats} format files", maxSize: "Max file size: {size}MB", success: "Upload success", failed: "Upload failed", fileExtension: "{ext} file", status: { pending: "Pending", uploading: "Uploading", success: "Success", cancelled: "Cancelled", error: "Error" }, file: { name: "File Name", size: "Size", type: "Type", status: "Status" }, actions: "Actions", selectUpload: { clickOrDrag: "Click to select files or drag here", selectedFiles: "Selected {count} files", multipleSupport: "Support multiple file selection", defaultDesc: "Support uploading specified file types", acceptDesc: "Only support uploading {accept} format files", maxFiles: "Max {max} files" } }, uploadManage: { title: "File Manager", all: "All", image: "Images", media: "Media", docs: "Documents", upload: "Upload", empty: "No files", emptyDesc: "No more files, please upload files", back: "Back to parent", parentLevel: "Parent Level", namePlaceholder: "Please enter name", createError: "Create failed", editError: "Edit failed", delError: "Delete failed", delTitle: "Confirm Delete", delDesc: "Are you sure you want to delete the selected files? This action cannot be undone." }, crop: { title: "Crop", select: "Select", confirm: "Confirm" }, stats: { realTimeData: "Real-time Data" }, data: { selectTitle: "Please select data" }, menu: { language: "Language", chinese: "中文", english: "English", color: "Color", primaryColor: "Primary Color", neutralColor: "Neutral Color", theme: "Theme", followSystem: "Follow System", lightMode: "Light", darkMode: "Dark", logout: "Logout" }, iconPicker: { title: "Icon Picker" }, designEditor: { layout: "Layout", all: "All", grid: { label: "Grid", title: "Grid Settings", columns: "Columns", spacing: "Spacing", columnsPlaceholder: "Enter columns", spacingPlaceholder: "Enter spacing" } }, formEditor: { config: "Component Config", options: "Option Config", data: "Data", common: { componentConfig: "Component Config", optionConfig: "Option Config", optionData: "Option Data", dataConfig: "Data Config", dataEdit: "Data Edit", label: "Label", placeholder: "Placeholder", disabled: "Disabled", clearable: "Clearable", multiple: "Multiple", defaultValue: "Default Value", readonly: "Readonly", showCount: "Show Count", prefix: "Prefix", suffix: "Suffix", status: "Status", minLength: "Min Length", maxLength: "Max Length", minValue: "Min Value", maxValue: "Max Value", minCount: "Min Count", maxCount: "Max Count", optionLabel: "Option Label", optionValue: "Option Value", labelField: "Label Field", valueField: "Value Field", dataInterface: "Data Interface", cascade: "Cascade", showPath: "Show Path", uploadUrl: "Upload URL", showAlpha: "Show Alpha", timeFormat: "Time Format", hour12: "12 Hours", dateType: "Date Type", inputType: "Input Type", formDirection: "Form Direction", leftAlign: "Left Align", topAlign: "Top Align", settingAlign: "Setting Layout", pageAlign: "Page Layout", name: "Name", desc: "Description" }, setting: { title: "Form Settings" }, validation: "Validation Rules", componentConfig: "Component Config", input: { label: "Text", types: { text: "Text", textarea: "Textarea", password: "Password" } }, inputNumber: { label: "Number" }, select: { label: "Select", configDesc: "Config options" }, radio: { label: "Radio", configDesc: "Config options" }, checkbox: { label: "Checkbox", configDesc: "Config options" }, switch: { label: "Switch" }, date: { label: "Date", placeholder: "Select date", dateType: "Date Type", date: "Date", daterange: "Date Range", datetime: "DateTime", datetimerange: "DateTime Range", month: "Month", monthrange: "Month Range", year: "Year", yearrange: "Year Range", quarter: "Quarter", quarterrange: "Quarter Range", week: "Week" }, time: { label: "Time", placeholder: "Select time", timeFormat: "Format", use12Hours: "12 Hours" }, color: { label: "Color", showAlpha: "Show Alpha" }, cascader: { label: "Cascader", desc: "Cascader options data in JSON array format", configDesc: "Config options", optionDesc: "JSON array format", optionsDescription: "Config cascader options", cascade: "Cascade", showPath: "Show Path" }, cascaderAsync: { label: "Cascader", dataApi: "Data API", apiPlaceholder: "Enter API URL", cascade: "Cascade", showPath: "Show Path" }, dynamicInput: { label: "Dynamic" }, editor: { label: "Editor", placeholder: "Enter content", uploadUrlDesc: "Editor image upload URL" }, aiEditor: { label: "Editor", uploadUrl: "Upload URL", uploadUrlFeedback: "Image upload URL" }, sider: { name: "Slider", step: "Step", min: "Min", max: "Max" }, dynamicTags: { name: "Tags", max: "Max Count" }, mentionAsync: { name: "Mention", clearable: "Clearable", path: "Data API", labelField: "Label Field", valueField: "Value Field" }, region: { name: "Region", Path: "Data API", labelField: "Label Field", valueField: "Value Field" }, selectAsync: { name: "Select", pagination: "Pagination", path: "Data API", labelField: "Label Field", valueField: "Value Field", imageField: "Image Field", descField: "Desc Field" }, transferAsync: { name: "Transfer" }, treeSelect: { name: "Tree" }, treeSelectAsync: { name: "Tree Select", path: "Data API", labelField: "Label Field", keyField: "Key Field" }, tree: { disabled: "Disabled" }, groups: { form: "Form", select: "Selector", async: "Async" }, imageUpload: { label: "Image Upload", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, fileUpload: { label: "File Upload", accept: "Accept File Types", acceptPlaceholder: "Enter accepted file types, e.g.: image/*,video/*", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, main: { label: "Main Content", categories: { form: "Form", select: "Selector", async: "Async" }, actions: { jsonOutput: "Json Output", save: "Save" } } } }, t = { table: { exportSuccess: "Export data successfully", exportProgress: "Exporting data, please wait...", exportFailed: "Export data failed", exportSuccessContent: "Successfully exported {count} records", exportProgressContent: "Page {page} data", exportFailedContent: "Export data failed: {error}", importSuccess: "Import data successfully", importProgress: "Importing data, please wait...", importFailed: "Import data failed", importSuccessContent: "Successfully imported {count} records", importProgressContent: "{processed} / {total} records", importFailedContent: "Import data failed: {error}", saveSuccess: "Save successfully", copySuccess: "Copy successfully", copyFailed: "Copy failed" }, download: { failed: "Download failed" } }, l = { 400: { title: "400", desc: "Request error" }, 401: { title: "401", desc: "You do not have permission to access this page" }, 403: { title: "403", desc: "You do not have permission to access this page" }, 404: { title: "404", desc: "Page not found" }, 500: { title: "500", desc: "Server error" }, empty: { title: "No data", desc: "No more data, please try again later" }, loading: { title: "Loading", desc: "Data is loading, please try again later" }, login: { success: "Login success", error: "Login failed, please check your username and password", placeholder: { username: "Please enter username", password: "Please enter password" }, buttons: { login: "Login" } } }, o = { "zh-CN": "Chinese", "en-US": "English", "ja-JP": "Japanese", "ko-KR": "Korean", "ru-RU": "Russian" }, i = {
2
2
  common: e,
3
3
  components: a,
4
4
  hooks: t,
5
- pages: o,
6
- locale: l
5
+ pages: l,
6
+ locale: o
7
7
  };
8
8
  export {
9
9
  e as common,
10
10
  a as components,
11
11
  i as default,
12
12
  t as hooks,
13
- l as locale,
14
- o as pages
13
+ o as locale,
14
+ l as pages
15
15
  };
@@ -1,15 +1,15 @@
1
- const e = { search: "搜索", empty: "暂无数据", menu: "菜单", theme: "主题", dark: "暗色模式", light: "亮色模式", back: "返回", loading: "加载中...", success: "操作成功", error: "操作失败", unknownError: "未知错误", keyword: "请输入关键字", preview: "预览" }, t = { tab: { lock: "锁定", closeOther: "关闭其他", closeLeft: "关闭左侧", closeRight: "关闭右侧" }, dialog: { confirm: { title: "确定", content: "确定要确认吗?" }, cancel: { title: "取消", content: "确定要取消吗?" }, success: { title: "成功", content: "您的操作已成功" }, error: { title: "错误", content: "您的操作已失败" }, prompt: { title: "提示" } }, button: { confirm: "确定", cancel: "取消", submit: "提交", reset: "重置", delete: "删除", search: "查询", advanced: "高级", export: "导出", import: "导入", autoRefresh: "自动刷新", filter: "筛选", refresh: "刷新", select: "选择", create: "新建", download: "下载", rename: "重命名", preview: "预览", sideLeft: "左侧", sideRight: "右侧" }, form: { edit: "编辑", create: "新增", success: "保存成功", error: "保存失败" }, list: { selectAll: "全选", columnSetting: "列设置", selectedItems: "选中项: {num}", total: "共 {total} 条" }, editor: { placeholder: "请输入内容" }, upload: { fileManager: "文件管理器", uploadFile: "上传文件", cancel: "取消", delete: "删除", error: "上传失败", empty: "暂无文件", desc: "点击或拖拽文件到此区域", dropHere: "拖拽文件到此处", allFormats: "支持任意格式文件", supportFormats: "支持 {formats} 格式文件", maxSize: "最大文件大小: {size}MB", success: "上传成功", failed: "上传失败", fileExtension: "{ext}文件", status: { pending: "待上传", uploading: "上传中", success: "已上传", cancelled: "已取消", error: "失败" }, file: { name: "文件名", size: "大小", type: "类型", status: "状态" }, actions: "操作", selectUpload: { clickOrDrag: "点击选择文件或拖拽到此处", selectedFiles: "已选择 {count} 个文件", multipleSupport: "支持多文件选择", defaultDesc: "支持上传指定类型文件", acceptDesc: "仅支持上传 {accept} 格式文件", maxFiles: "最多 {max} 个文件" } }, uploadManage: { title: "文件管理", all: "全部", image: "图片", media: "媒体", docs: "文档", upload: "上传", empty: "暂无文件", emptyDesc: "暂无更多文件,请先上传文件", back: "返回上一级", parentLevel: "上一级", namePlaceholder: "请输入名称", createError: "创建失败", editError: "修改失败", delError: "删除失败", delTitle: "确认删除", delDesc: "确定要删除选中的文件吗?删除后不可恢复。" }, crop: { title: "裁剪", select: "选择", confirm: "确认" }, stats: { realTimeData: "实时数据" }, data: { selectTitle: "请选择数据" }, menu: { language: "语言", chinese: "中文", english: "English", color: "颜色", primaryColor: "主题色", neutralColor: "中性色", theme: "主题", followSystem: "跟随系统", lightMode: "亮色", darkMode: "暗色", logout: "退出登录" }, iconPicker: { title: "图标选择" }, designEditor: { layout: "布局", all: "全部", grid: { label: "网格", title: "网格设置", columns: "列数", spacing: "间距", columnsPlaceholder: "请输入列数", spacingPlaceholder: "请输入间距" } }, formEditor: { config: "组件配置", options: "选项配置", data: "数据", common: { componentConfig: "组件配置", optionConfig: "选项配置", optionData: "选项数据", dataConfig: "数据配置", dataEdit: "数据编辑", label: "标签", disabled: "禁用", clearable: "可清除", readonly: "只读", showCount: "显示字数", placeholder: "占位符", prefix: "前缀", suffix: "后缀", status: "状态", defaultValue: "默认值", minLength: "最小长度", maxLength: "最大长度", minValue: "最小值", maxValue: "最大值", labelField: "标签字段", valueField: "值字段", optionLabel: "选项标签", optionValue: "选项值", dataInterface: "数据接口", multiple: "多选", cascade: "级联", showPath: "显示路径", minCount: "最小数量", maxCount: "最大数量", uploadUrl: "上传地址", showAlpha: "显示透明度", timeFormat: "时间格式", hour12: "12小时制", dateType: "日期类型", inputType: "输入类型", formDirection: "表单方向", leftAlign: "左对齐", topAlign: "上对齐", settingAlign: "设置布局", pageAlign: "页面布局", name: "名称", desc: "描述" }, setting: { title: "表单设置" }, validation: "验证规则", componentConfig: "组件配置", input: { label: "文本", types: { text: "文本", textarea: "多行文本", password: "密码" } }, inputNumber: { label: "数字" }, select: { label: "选择", configDesc: "配置选项数据" }, radio: { label: "单选", configDesc: "配置单选框选项数据" }, checkbox: { label: "复选", configDesc: "配置复选框选项数据" }, switch: { label: "开关" }, date: { label: "日期", placeholder: "选择日期", dateType: "日期类型", date: "日期", daterange: "日期范围", datetime: "日期时间", datetimerange: "日期时间范围", month: "月份", monthrange: "月份范围", year: "年份", yearrange: "年份范围", quarter: "季度", quarterrange: "季度范围", week: "周" }, time: { label: "时间", placeholder: "选择时间", timeFormat: "格式", use12Hours: "12小时制" }, color: { label: "颜色", showAlpha: "显示透明度" }, cascader: { label: "级联", desc: "级联选择器选项数据,格式为 JSON 数组", configDesc: "配置选项", optionDesc: "JSON 数组格式", optionsDescription: "配置级联选择器选项数据", cascade: "级联", showPath: "显示路径" }, cascaderAsync: { label: "级联", dataApi: "数据接口", apiPlaceholder: "输入接口地址", cascade: "级联", showPath: "显示路径" }, dynamicInput: { label: "动态" }, editor: { label: "编辑器", placeholder: "输入内容", uploadUrlDesc: "编辑器图片上传地址" }, aiEditor: { label: "编辑器", uploadUrl: "上传地址", uploadUrlFeedback: "编辑器图片上传地址" }, sider: { name: "滑块", step: "步长", min: "最小", max: "最大" }, dynamicTags: { name: "标签", max: "最大数量" }, mentionAsync: { name: "提及", clearable: "可清除", path: "数据接口", labelField: "标签字段", valueField: "值字段" }, region: { name: "地区", Path: "数据接口", labelField: "标签字段", valueField: "值字段" }, selectAsync: { name: "选择", pagination: "分页", path: "数据接口", labelField: "标签字段", valueField: "值字段", imageField: "图片字段", descField: "描述字段" }, transferAsync: { name: "穿梭框" }, treeSelect: { name: "树选择" }, treeSelectAsync: { name: "异步树选择", path: "数据接口", labelField: "标签字段", keyField: "键字段" }, tree: { disabled: "禁用" }, groups: { form: "表单", select: "选择器", async: "异步" }, main: { label: "主要内容", categories: { form: "表单", select: "选择器", async: "异步" }, actions: { jsonOutput: "Json 输出", save: "保存" } } } }, a = { table: { exportSuccess: "导出数据成功", exportProgress: "导出数据中, 请稍后...", exportFailed: "导出数据失败", exportSuccessContent: "成功导出 {count} 条数据", exportProgressContent: "第 {page} 页数据", exportFailedContent: "导出数据失败:{error}", importSuccess: "导入数据成功", importProgress: "导入数据中, 请稍后...", importFailed: "导入数据失败", importSuccessContent: "成功导入 {count} 条数据", importProgressContent: "{processed} / {total} 条数据", importFailedContent: "导入数据失败:{error}", saveSuccess: "保存成功", copySuccess: "复制成功", copyFailed: "复制失败" }, download: { failed: "下载失败" } }, l = { 400: { title: "400", desc: "请求错误" }, 401: { title: "401", desc: "您没有权限访问该页面" }, 403: { title: "403", desc: "您没有权限访问该页面" }, 404: { title: "404", desc: "页面不存在" }, 500: { title: "500", desc: "服务器错误" }, empty: { title: "暂无数据", desc: "暂无更多数据,请先创建数据" }, loading: { title: "加载中", desc: "数据正在加载中,请稍后..." }, login: { success: "登录成功", error: "登录失败,请检查用户名和密码", placeholder: { username: "请输入用户名", password: "请输入密码" }, buttons: { login: "登录" } } }, o = { "zh-CN": "中文", "en-US": "English", "ja-JP": "日本語", "ko-KR": "한국어", "ru-RU": "Русский" }, s = {
1
+ const e = { search: "搜索", empty: "暂无数据", menu: "菜单", theme: "主题", dark: "暗色模式", light: "亮色模式", back: "返回", loading: "加载中...", success: "操作成功", error: "操作失败", unknownError: "未知错误", keyword: "请输入关键字", preview: "预览" }, a = { tab: { lock: "锁定", closeOther: "关闭其他", closeLeft: "关闭左侧", closeRight: "关闭右侧" }, dialog: { confirm: { title: "确定", content: "确定要确认吗?" }, cancel: { title: "取消", content: "确定要取消吗?" }, success: { title: "成功", content: "您的操作已成功" }, error: { title: "错误", content: "您的操作已失败" }, prompt: { title: "提示" } }, button: { confirm: "确定", cancel: "取消", submit: "提交", reset: "重置", delete: "删除", search: "查询", advanced: "高级", export: "导出", import: "导入", autoRefresh: "自动刷新", filter: "筛选", refresh: "刷新", select: "选择", create: "新建", download: "下载", rename: "重命名", preview: "预览", sideLeft: "左侧", sideRight: "右侧" }, form: { edit: "编辑", create: "新增", success: "保存成功", error: "保存失败" }, list: { selectAll: "全选", columnSetting: "列设置", selectedItems: "选中项: {num}", total: "共 {total} 条" }, editor: { placeholder: "请输入内容" }, upload: { fileManager: "文件管理器", uploadFile: "上传文件", cancel: "取消", delete: "删除", error: "上传失败", empty: "暂无文件", desc: "点击或拖拽文件到此区域", dropHere: "拖拽文件到此处", allFormats: "支持任意格式文件", supportFormats: "支持 {formats} 格式文件", maxSize: "最大文件大小: {size}MB", success: "上传成功", failed: "上传失败", fileExtension: "{ext}文件", status: { pending: "待上传", uploading: "上传中", success: "已上传", cancelled: "已取消", error: "失败" }, file: { name: "文件名", size: "大小", type: "类型", status: "状态" }, actions: "操作", selectUpload: { clickOrDrag: "点击选择文件或拖拽到此处", selectedFiles: "已选择 {count} 个文件", multipleSupport: "支持多文件选择", defaultDesc: "支持上传指定类型文件", acceptDesc: "仅支持上传 {accept} 格式文件", maxFiles: "最多 {max} 个文件" } }, uploadManage: { title: "文件管理", all: "全部", image: "图片", media: "媒体", docs: "文档", upload: "上传", empty: "暂无文件", emptyDesc: "暂无更多文件,请先上传文件", back: "返回上一级", parentLevel: "上一级", namePlaceholder: "请输入名称", createError: "创建失败", editError: "修改失败", delError: "删除失败", delTitle: "确认删除", delDesc: "确定要删除选中的文件吗?删除后不可恢复。" }, crop: { title: "裁剪", select: "选择", confirm: "确认" }, stats: { realTimeData: "实时数据" }, data: { selectTitle: "请选择数据" }, menu: { language: "语言", chinese: "中文", english: "English", color: "颜色", primaryColor: "主题色", neutralColor: "中性色", theme: "主题", followSystem: "跟随系统", lightMode: "亮色", darkMode: "暗色", logout: "退出登录" }, iconPicker: { title: "图标选择" }, designEditor: { layout: "布局", all: "全部", grid: { label: "网格", title: "网格设置", columns: "列数", spacing: "间距", columnsPlaceholder: "请输入列数", spacingPlaceholder: "请输入间距" } }, formEditor: { config: "组件配置", options: "选项配置", data: "数据", common: { componentConfig: "组件配置", optionConfig: "选项配置", optionData: "选项数据", dataConfig: "数据配置", dataEdit: "数据编辑", label: "标签", disabled: "禁用", clearable: "可清除", readonly: "只读", showCount: "显示字数", placeholder: "占位符", prefix: "前缀", suffix: "后缀", status: "状态", defaultValue: "默认值", minLength: "最小长度", maxLength: "最大长度", minValue: "最小值", maxValue: "最大值", labelField: "标签字段", valueField: "值字段", optionLabel: "选项标签", optionValue: "选项值", dataInterface: "数据接口", multiple: "多选", cascade: "级联", showPath: "显示路径", minCount: "最小数量", maxCount: "最大数量", uploadUrl: "上传地址", showAlpha: "显示透明度", timeFormat: "时间格式", hour12: "12小时制", dateType: "日期类型", inputType: "输入类型", formDirection: "表单方向", leftAlign: "左对齐", topAlign: "上对齐", settingAlign: "设置布局", pageAlign: "页面布局", name: "名称", desc: "描述" }, setting: { title: "表单设置" }, validation: "验证规则", componentConfig: "组件配置", input: { label: "文本", types: { text: "文本", textarea: "多行文本", password: "密码" } }, inputNumber: { label: "数字" }, select: { label: "选择", configDesc: "配置选项数据" }, radio: { label: "单选", configDesc: "配置单选框选项数据" }, checkbox: { label: "复选", configDesc: "配置复选框选项数据" }, switch: { label: "开关" }, date: { label: "日期", placeholder: "选择日期", dateType: "日期类型", date: "日期", daterange: "日期范围", datetime: "日期时间", datetimerange: "日期时间范围", month: "月份", monthrange: "月份范围", year: "年份", yearrange: "年份范围", quarter: "季度", quarterrange: "季度范围", week: "周" }, time: { label: "时间", placeholder: "选择时间", timeFormat: "格式", use12Hours: "12小时制" }, color: { label: "颜色", showAlpha: "显示透明度" }, cascader: { label: "级联", desc: "级联选择器选项数据,格式为 JSON 数组", configDesc: "配置选项", optionDesc: "JSON 数组格式", optionsDescription: "配置级联选择器选项数据", cascade: "级联", showPath: "显示路径" }, cascaderAsync: { label: "级联", dataApi: "数据接口", apiPlaceholder: "输入接口地址", cascade: "级联", showPath: "显示路径" }, dynamicInput: { label: "动态" }, editor: { label: "编辑器", placeholder: "输入内容", uploadUrlDesc: "编辑器图片上传地址" }, aiEditor: { label: "编辑器", uploadUrl: "上传地址", uploadUrlFeedback: "编辑器图片上传地址" }, sider: { name: "滑块", step: "步长", min: "最小", max: "最大" }, dynamicTags: { name: "标签", max: "最大数量" }, mentionAsync: { name: "提及", clearable: "可清除", path: "数据接口", labelField: "标签字段", valueField: "值字段" }, region: { name: "地区", Path: "数据接口", labelField: "标签字段", valueField: "值字段" }, selectAsync: { name: "选择", pagination: "分页", path: "数据接口", labelField: "标签字段", valueField: "值字段", imageField: "图片字段", descField: "描述字段" }, transferAsync: { name: "穿梭框" }, treeSelect: { name: "树选择" }, treeSelectAsync: { name: "异步树选择", path: "数据接口", labelField: "标签字段", keyField: "键字段" }, tree: { disabled: "禁用" }, groups: { form: "表单", select: "选择器", async: "异步" }, imageUpload: { label: "图片上传", maxSize: "最大文件大小(MB)", maxSizePlaceholder: "请输入最大文件大小", maxNumPlaceholder: "请输入最大文件数量", manager: "文件管理器" }, fileUpload: { label: "文件上传", accept: "接受文件类型", acceptPlaceholder: "请输入接受的文件类型,如:image/*,video/*", maxSize: "最大文件大小(MB)", maxSizePlaceholder: "请输入最大文件大小", maxNumPlaceholder: "请输入最大文件数量", manager: "文件管理器" }, main: { label: "主要内容", categories: { form: "表单", select: "选择器", async: "异步" }, actions: { jsonOutput: "Json 输出", save: "保存" } } } }, t = { table: { exportSuccess: "导出数据成功", exportProgress: "导出数据中, 请稍后...", exportFailed: "导出数据失败", exportSuccessContent: "成功导出 {count} 条数据", exportProgressContent: "第 {page} 页数据", exportFailedContent: "导出数据失败:{error}", importSuccess: "导入数据成功", importProgress: "导入数据中, 请稍后...", importFailed: "导入数据失败", importSuccessContent: "成功导入 {count} 条数据", importProgressContent: "{processed} / {total} 条数据", importFailedContent: "导入数据失败:{error}", saveSuccess: "保存成功", copySuccess: "复制成功", copyFailed: "复制失败" }, download: { failed: "下载失败" } }, l = { 400: { title: "400", desc: "请求错误" }, 401: { title: "401", desc: "您没有权限访问该页面" }, 403: { title: "403", desc: "您没有权限访问该页面" }, 404: { title: "404", desc: "页面不存在" }, 500: { title: "500", desc: "服务器错误" }, empty: { title: "暂无数据", desc: "暂无更多数据,请先创建数据" }, loading: { title: "加载中", desc: "数据正在加载中,请稍后..." }, login: { success: "登录成功", error: "登录失败,请检查用户名和密码", placeholder: { username: "请输入用户名", password: "请输入密码" }, buttons: { login: "登录" } } }, o = { "zh-CN": "中文", "en-US": "English", "ja-JP": "日本語", "ko-KR": "한국어", "ru-RU": "Русский" }, c = {
2
2
  common: e,
3
- components: t,
4
- hooks: a,
3
+ components: a,
4
+ hooks: t,
5
5
  pages: l,
6
6
  locale: o
7
7
  };
8
8
  export {
9
9
  e as common,
10
- t as components,
11
- s as default,
12
- a as hooks,
10
+ a as components,
11
+ c as default,
12
+ t as hooks,
13
13
  o as locale,
14
14
  l as pages
15
15
  };
@@ -31,10 +31,10 @@ import "short-unique-id";
31
31
  import "aieditor";
32
32
  import "vee-validate";
33
33
  import "@duxweb/dvha-naiveui";
34
+ import "mime";
34
35
  import "@iconify-json/tabler/icons.json";
35
36
  import "../components/posterEditor/elements/index.js";
36
37
  import "fabric";
37
- import "mime";
38
38
  import "dayjs";
39
39
  import "@tanstack/vue-query";
40
40
  import { useUI as n } from "../hooks/ui.js";
@@ -52,10 +52,10 @@ import { DuxPageTab as g } from "./tab.js";
52
52
  import "../page404.js";
53
53
  import "short-unique-id";
54
54
  import "aieditor";
55
+ import "mime";
55
56
  import "@iconify-json/tabler/icons.json";
56
57
  import "../../components/posterEditor/elements/index.js";
57
58
  import "fabric";
58
- import "mime";
59
59
  import "dayjs";
60
60
  import "@tanstack/vue-query";
61
61
  import { useUI as v } from "../../hooks/ui.js";
@@ -50,10 +50,10 @@ import "@duxweb/dvha-naiveui";
50
50
  import "../page404.js";
51
51
  import "short-unique-id";
52
52
  import "aieditor";
53
+ import "mime";
53
54
  import "@iconify-json/tabler/icons.json";
54
55
  import "../../components/posterEditor/elements/index.js";
55
56
  import "fabric";
56
- import "mime";
57
57
  import "dayjs";
58
58
  import "@tanstack/vue-query";
59
59
  import { useUI as m } from "../../hooks/ui.js";
@@ -50,10 +50,10 @@ import "@duxweb/dvha-naiveui";
50
50
  import "../page404.js";
51
51
  import "short-unique-id";
52
52
  import "aieditor";
53
+ import "mime";
53
54
  import "@iconify-json/tabler/icons.json";
54
55
  import "../../components/posterEditor/elements/index.js";
55
56
  import "fabric";
56
- import "mime";
57
57
  import "dayjs";
58
58
  import "@tanstack/vue-query";
59
59
  import { useUI as q } from "../../hooks/ui.js";
@@ -52,10 +52,10 @@ import "vue-command-palette";
52
52
  import "../page404.js";
53
53
  import "short-unique-id";
54
54
  import "aieditor";
55
+ import "mime";
55
56
  import "@iconify-json/tabler/icons.json";
56
57
  import "../../components/posterEditor/elements/index.js";
57
58
  import "fabric";
58
- import "mime";
59
59
  import "dayjs";
60
60
  import "@tanstack/vue-query";
61
61
  import { useUI as y } from "../../hooks/ui.js";