@duxweb/dvha-pro 1.0.24 → 1.0.26

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 (244) 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 -0
  7. package/dist/cjs/components/designEditor/editor/hook.cjs +1 -0
  8. package/dist/cjs/components/designEditor/editor/preview.cjs +1 -0
  9. package/dist/cjs/components/designEditor/editor/setting.cjs +1 -0
  10. package/dist/cjs/components/designEditor/editor.cjs +1 -0
  11. package/dist/cjs/components/form/drawerForm.cjs +1 -1
  12. package/dist/cjs/components/form/formItem.cjs +1 -1
  13. package/dist/cjs/components/form/formLayout.cjs +1 -1
  14. package/dist/cjs/components/form/modalForm.cjs +1 -1
  15. package/dist/cjs/components/form/pageForm.cjs +1 -1
  16. package/dist/cjs/components/form/settingForm.cjs +1 -1
  17. package/dist/cjs/components/formEditor/base/base.cjs +1 -0
  18. package/dist/cjs/components/formEditor/base/json.cjs +1 -0
  19. package/dist/cjs/components/formEditor/base/options.cjs +1 -0
  20. package/dist/cjs/components/formEditor/base/setting.cjs +1 -0
  21. package/dist/cjs/components/formEditor/components/cascader.cjs +1 -0
  22. package/dist/cjs/components/formEditor/components/cascaderAsync.cjs +1 -0
  23. package/dist/cjs/components/formEditor/components/checkbox.cjs +1 -0
  24. package/dist/cjs/components/formEditor/components/color.cjs +1 -0
  25. package/dist/cjs/components/formEditor/components/date.cjs +1 -0
  26. package/dist/cjs/components/formEditor/components/dynamicInput.cjs +1 -0
  27. package/dist/cjs/components/formEditor/components/dynamicTags.cjs +1 -0
  28. package/dist/cjs/components/formEditor/components/editor.cjs +1 -0
  29. package/dist/cjs/components/formEditor/components/input.cjs +1 -0
  30. package/dist/cjs/components/formEditor/components/inputNumber.cjs +1 -0
  31. package/dist/cjs/components/formEditor/components/mentionAsync.cjs +1 -0
  32. package/dist/cjs/components/formEditor/components/radio.cjs +1 -0
  33. package/dist/cjs/components/formEditor/components/region.cjs +1 -0
  34. package/dist/cjs/components/formEditor/components/select.cjs +1 -0
  35. package/dist/cjs/components/formEditor/components/selectAsync.cjs +1 -0
  36. package/dist/cjs/components/formEditor/components/sider.cjs +1 -0
  37. package/dist/cjs/components/formEditor/components/switch.cjs +1 -0
  38. package/dist/cjs/components/formEditor/components/time.cjs +1 -0
  39. package/dist/cjs/components/formEditor/components/transferAsync.cjs +1 -0
  40. package/dist/cjs/components/formEditor/components/treeSelect.cjs +1 -0
  41. package/dist/cjs/components/formEditor/components/treeSelectAsync.cjs +1 -0
  42. package/dist/cjs/components/formEditor/editor.cjs +1 -0
  43. package/dist/cjs/components/formEditor/json.cjs +1 -0
  44. package/dist/cjs/components/formEditor/preview.cjs +1 -0
  45. package/dist/cjs/components/formEditor/renderer.cjs +1 -0
  46. package/dist/cjs/components/icon/icon.cjs +1 -1
  47. package/dist/cjs/components/layout/grid.cjs +1 -0
  48. package/dist/cjs/components/layout/list.cjs +1 -1
  49. package/dist/cjs/components/layout/table.cjs +1 -1
  50. package/dist/cjs/components/level/level.cjs +1 -1
  51. package/dist/cjs/components/posterEditor/components/CanvasRuler.cjs +1 -0
  52. package/dist/cjs/components/posterEditor/elements/circle.cjs +1 -0
  53. package/dist/cjs/components/posterEditor/elements/image.cjs +1 -0
  54. package/dist/cjs/components/posterEditor/elements/index.cjs +1 -0
  55. package/dist/cjs/components/posterEditor/elements/rect.cjs +1 -0
  56. package/dist/cjs/components/posterEditor/elements/text.cjs +1 -0
  57. package/dist/cjs/components/posterEditor/hooks/usePosterEditor.cjs +1 -0
  58. package/dist/cjs/components/posterEditor/pages/LeftToolbar.cjs +1 -0
  59. package/dist/cjs/components/posterEditor/pages/Panel.cjs +1 -0
  60. package/dist/cjs/components/posterEditor/pages/PanelItem.cjs +1 -0
  61. package/dist/cjs/components/posterEditor/pages/RightPanel.cjs +1 -0
  62. package/dist/cjs/components/posterEditor/posterEditor.cjs +1 -0
  63. package/dist/cjs/components/table/table.cjs +1 -1
  64. package/dist/cjs/components/upload/file.cjs +1 -1
  65. package/dist/cjs/components/upload/image.cjs +1 -1
  66. package/dist/cjs/components/upload/manage/item.cjs +1 -1
  67. package/dist/cjs/components/upload/manager.cjs +1 -1
  68. package/dist/cjs/hooks/dialog.cjs +1 -1
  69. package/dist/cjs/hooks/drawer.cjs +1 -1
  70. package/dist/cjs/hooks/modal.cjs +1 -1
  71. package/dist/cjs/hooks/table/image.cjs +1 -1
  72. package/dist/cjs/hooks/table/media.cjs +1 -1
  73. package/dist/cjs/index.cjs +1 -1
  74. package/dist/cjs/langs/en-US.json.cjs +1 -1
  75. package/dist/cjs/langs/zh-CN.json.cjs +1 -1
  76. package/dist/cjs/pages/authLayout.cjs +1 -1
  77. package/dist/cjs/pages/layout/page.cjs +1 -1
  78. package/dist/cjs/pages/layout.cjs +1 -1
  79. package/dist/cjs/pages/login.cjs +1 -1
  80. package/dist/cjs/pages/menu/avatar.cjs +1 -1
  81. package/dist/cjs/pages/menu/button.cjs +1 -1
  82. package/dist/cjs/pages/menu/cmd.cjs +1 -1
  83. package/dist/cjs/pages/menu/main.cjs +1 -1
  84. package/dist/cjs/pages/menu/mobile.cjs +1 -1
  85. package/dist/cjs/pages/page404.cjs +1 -1
  86. package/dist/cjs/pages/pageStatus.cjs +1 -1
  87. package/dist/cjs/theme/uno.css.cjs +58 -2
  88. package/dist/esm/component.js +52 -48
  89. package/dist/esm/components/chart/echart.js +18 -15
  90. package/dist/esm/components/crop/imageCrop.js +19 -16
  91. package/dist/esm/components/data/dynamicSelect.js +20 -17
  92. package/dist/esm/components/data/selectModal.js +23 -20
  93. package/dist/esm/components/designEditor/components/grid.js +175 -0
  94. package/dist/esm/components/designEditor/editor/hook.js +87 -0
  95. package/dist/esm/components/designEditor/editor/preview.js +65 -0
  96. package/dist/esm/components/designEditor/editor/setting.js +98 -0
  97. package/dist/esm/components/designEditor/editor.js +161 -0
  98. package/dist/esm/components/form/drawerForm.js +25 -22
  99. package/dist/esm/components/form/formItem.js +33 -33
  100. package/dist/esm/components/form/formLayout.js +11 -11
  101. package/dist/esm/components/form/modalForm.js +30 -27
  102. package/dist/esm/components/form/pageForm.js +21 -18
  103. package/dist/esm/components/form/settingForm.js +14 -11
  104. package/dist/esm/components/formEditor/base/base.js +117 -0
  105. package/dist/esm/components/formEditor/base/json.js +39 -0
  106. package/dist/esm/components/formEditor/base/options.js +48 -0
  107. package/dist/esm/components/formEditor/base/setting.js +108 -0
  108. package/dist/esm/components/formEditor/components/cascader.js +219 -0
  109. package/dist/esm/components/formEditor/components/cascaderAsync.js +213 -0
  110. package/dist/esm/components/formEditor/components/checkbox.js +212 -0
  111. package/dist/esm/components/formEditor/components/color.js +156 -0
  112. package/dist/esm/components/formEditor/components/date.js +197 -0
  113. package/dist/esm/components/formEditor/components/dynamicInput.js +227 -0
  114. package/dist/esm/components/formEditor/components/dynamicTags.js +150 -0
  115. package/dist/esm/components/formEditor/components/editor.js +139 -0
  116. package/dist/esm/components/formEditor/components/input.js +211 -0
  117. package/dist/esm/components/formEditor/components/inputNumber.js +188 -0
  118. package/dist/esm/components/formEditor/components/mentionAsync.js +180 -0
  119. package/dist/esm/components/formEditor/components/radio.js +212 -0
  120. package/dist/esm/components/formEditor/components/region.js +167 -0
  121. package/dist/esm/components/formEditor/components/select.js +203 -0
  122. package/dist/esm/components/formEditor/components/selectAsync.js +214 -0
  123. package/dist/esm/components/formEditor/components/sider.js +168 -0
  124. package/dist/esm/components/formEditor/components/switch.js +153 -0
  125. package/dist/esm/components/formEditor/components/time.js +171 -0
  126. package/dist/esm/components/formEditor/components/transferAsync.js +193 -0
  127. package/dist/esm/components/formEditor/components/treeSelect.js +207 -0
  128. package/dist/esm/components/formEditor/components/treeSelectAsync.js +179 -0
  129. package/dist/esm/components/formEditor/editor.js +162 -0
  130. package/dist/esm/components/formEditor/json.js +24 -0
  131. package/dist/esm/components/formEditor/preview.js +38 -0
  132. package/dist/esm/components/formEditor/renderer.js +151 -0
  133. package/dist/esm/components/icon/icon.js +19 -16
  134. package/dist/esm/components/layout/grid.js +24 -0
  135. package/dist/esm/components/layout/list.js +29 -26
  136. package/dist/esm/components/layout/table.js +27 -24
  137. package/dist/esm/components/level/level.js +18 -15
  138. package/dist/esm/components/posterEditor/components/CanvasRuler.js +113 -0
  139. package/dist/esm/components/posterEditor/elements/circle.js +127 -0
  140. package/dist/esm/components/posterEditor/elements/image.js +131 -0
  141. package/dist/esm/components/posterEditor/elements/index.js +46 -0
  142. package/dist/esm/components/posterEditor/elements/rect.js +171 -0
  143. package/dist/esm/components/posterEditor/elements/text.js +206 -0
  144. package/dist/esm/components/posterEditor/hooks/usePosterEditor.js +434 -0
  145. package/dist/esm/components/posterEditor/pages/LeftToolbar.js +40 -0
  146. package/dist/esm/components/posterEditor/pages/Panel.js +31 -0
  147. package/dist/esm/components/posterEditor/pages/PanelItem.js +22 -0
  148. package/dist/esm/components/posterEditor/pages/RightPanel.js +422 -0
  149. package/dist/esm/components/posterEditor/posterEditor.js +228 -0
  150. package/dist/esm/components/table/table.js +18 -15
  151. package/dist/esm/components/upload/file.js +101 -90
  152. package/dist/esm/components/upload/image.js +109 -96
  153. package/dist/esm/components/upload/manage/item.js +18 -15
  154. package/dist/esm/components/upload/manager.js +68 -65
  155. package/dist/esm/hooks/dialog.js +19 -16
  156. package/dist/esm/hooks/drawer.js +19 -16
  157. package/dist/esm/hooks/modal.js +18 -15
  158. package/dist/esm/hooks/table/image.js +18 -15
  159. package/dist/esm/hooks/table/media.js +18 -15
  160. package/dist/esm/index.js +230 -202
  161. package/dist/esm/langs/en-US.json.js +10 -10
  162. package/dist/esm/langs/zh-CN.json.js +8 -8
  163. package/dist/esm/pages/authLayout.js +19 -16
  164. package/dist/esm/pages/layout/page.js +18 -15
  165. package/dist/esm/pages/layout.js +7 -6
  166. package/dist/esm/pages/login.js +19 -17
  167. package/dist/esm/pages/menu/avatar.js +23 -20
  168. package/dist/esm/pages/menu/button.js +18 -15
  169. package/dist/esm/pages/menu/cmd.js +29 -26
  170. package/dist/esm/pages/menu/main.js +28 -25
  171. package/dist/esm/pages/menu/mobile.js +18 -15
  172. package/dist/esm/pages/page404.js +16 -13
  173. package/dist/esm/pages/pageStatus.js +21 -18
  174. package/dist/esm/theme/uno.css.js +58 -2
  175. package/dist/types/components/designEditor/components/grid.d.ts +2 -0
  176. package/dist/types/components/designEditor/components/index.d.ts +1 -0
  177. package/dist/types/components/designEditor/editor/hook.d.ts +57 -0
  178. package/dist/types/components/designEditor/editor/index.d.ts +3 -0
  179. package/dist/types/components/designEditor/editor/preview.d.ts +15 -0
  180. package/dist/types/components/designEditor/editor/setting.d.ts +14 -0
  181. package/dist/types/components/designEditor/editor.d.ts +19 -0
  182. package/dist/types/components/designEditor/index.d.ts +3 -0
  183. package/dist/types/components/form/drawerForm.d.ts +2 -2
  184. package/dist/types/components/form/formLayout.d.ts +2 -2
  185. package/dist/types/components/form/modalForm.d.ts +2 -2
  186. package/dist/types/components/formEditor/base/base.d.ts +26 -0
  187. package/dist/types/components/formEditor/base/index.d.ts +4 -0
  188. package/dist/types/components/formEditor/base/json.d.ts +18 -0
  189. package/dist/types/components/formEditor/base/options.d.ts +23 -0
  190. package/dist/types/components/formEditor/base/setting.d.ts +13 -0
  191. package/dist/types/components/formEditor/components/cascader.d.ts +2 -0
  192. package/dist/types/components/formEditor/components/cascaderAsync.d.ts +2 -0
  193. package/dist/types/components/formEditor/components/checkbox.d.ts +2 -0
  194. package/dist/types/components/formEditor/components/color.d.ts +2 -0
  195. package/dist/types/components/formEditor/components/date.d.ts +2 -0
  196. package/dist/types/components/formEditor/components/dynamicInput.d.ts +2 -0
  197. package/dist/types/components/formEditor/components/dynamicTags.d.ts +2 -0
  198. package/dist/types/components/formEditor/components/editor.d.ts +2 -0
  199. package/dist/types/components/formEditor/components/index.d.ts +21 -0
  200. package/dist/types/components/formEditor/components/input.d.ts +2 -0
  201. package/dist/types/components/formEditor/components/inputNumber.d.ts +2 -0
  202. package/dist/types/components/formEditor/components/mentionAsync.d.ts +2 -0
  203. package/dist/types/components/formEditor/components/radio.d.ts +2 -0
  204. package/dist/types/components/formEditor/components/region.d.ts +2 -0
  205. package/dist/types/components/formEditor/components/select.d.ts +2 -0
  206. package/dist/types/components/formEditor/components/selectAsync.d.ts +2 -0
  207. package/dist/types/components/formEditor/components/sider.d.ts +2 -0
  208. package/dist/types/components/formEditor/components/switch.d.ts +2 -0
  209. package/dist/types/components/formEditor/components/time.d.ts +2 -0
  210. package/dist/types/components/formEditor/components/transferAsync.d.ts +2 -0
  211. package/dist/types/components/formEditor/components/treeSelect.d.ts +2 -0
  212. package/dist/types/components/formEditor/components/treeSelectAsync.d.ts +2 -0
  213. package/dist/types/components/formEditor/editor.d.ts +22 -0
  214. package/dist/types/components/formEditor/index.d.ts +2 -0
  215. package/dist/types/components/formEditor/json.d.ts +14 -0
  216. package/dist/types/components/formEditor/preview.d.ts +25 -0
  217. package/dist/types/components/formEditor/renderer.d.ts +58 -0
  218. package/dist/types/components/index.d.ts +4 -2
  219. package/dist/types/components/layout/filterLayout.d.ts +1 -1
  220. package/dist/types/components/layout/grid.d.ts +22 -0
  221. package/dist/types/components/layout/index.d.ts +1 -0
  222. package/dist/types/components/posterEditor/components/CanvasRuler.d.ts +43 -0
  223. package/dist/types/components/posterEditor/components/index.d.ts +1 -0
  224. package/dist/types/components/posterEditor/elements/circle.d.ts +3 -0
  225. package/dist/types/components/posterEditor/elements/image.d.ts +3 -0
  226. package/dist/types/components/posterEditor/elements/index.d.ts +15 -0
  227. package/dist/types/components/posterEditor/elements/rect.d.ts +3 -0
  228. package/dist/types/components/posterEditor/elements/text.d.ts +3 -0
  229. package/dist/types/components/posterEditor/elements/types.d.ts +51 -0
  230. package/dist/types/components/posterEditor/hooks/index.d.ts +1 -0
  231. package/dist/types/components/posterEditor/hooks/usePosterEditor.d.ts +48 -0
  232. package/dist/types/components/posterEditor/index.d.ts +4 -0
  233. package/dist/types/components/posterEditor/pages/LeftToolbar.d.ts +33 -0
  234. package/dist/types/components/posterEditor/pages/Panel.d.ts +11 -0
  235. package/dist/types/components/posterEditor/pages/PanelItem.d.ts +11 -0
  236. package/dist/types/components/posterEditor/pages/RightPanel.d.ts +208 -0
  237. package/dist/types/components/posterEditor/pages/index.d.ts +4 -0
  238. package/dist/types/components/posterEditor/posterEditor.d.ts +61 -0
  239. package/dist/types/components/posterEditor/types/editor.d.ts +47 -0
  240. package/dist/types/components/stats/number.d.ts +1 -1
  241. package/dist/types/components/upload/file.d.ts +5 -3
  242. package/dist/types/index.d.ts +1 -0
  243. package/dist/types/pages/layout/global.d.ts +0 -1
  244. package/package.json +7 -3
@@ -6,15 +6,24 @@ import { useAction as oe } from "../../hooks/action.js";
6
6
  import "@overlastic/vue";
7
7
  import "clsx";
8
8
  import "vue-echarts";
9
+ import "vue3-ace-editor";
10
+ import "ace-builds/src-noconflict/mode-vue";
11
+ import "ace-builds/src-noconflict/mode-javascript";
12
+ import "ace-builds/src-noconflict/mode-html";
13
+ import "ace-builds/src-noconflict/mode-json";
14
+ import "ace-builds/src-noconflict/mode-json5";
15
+ import "ace-builds/src-noconflict/theme-tomorrow_night";
16
+ import "ace-builds/src-noconflict/theme-tomorrow";
17
+ import "ace-builds/src-noconflict/ext-searchbox";
18
+ import "ace-builds/src-noconflict/ext-language_tools";
19
+ import "ace-builds/src-noconflict/mode-snippets";
9
20
  import "vue-cropper";
10
21
  import le from "../modal/modalPage.js";
11
22
  import "jinrishici";
12
23
  import "lodash-es";
13
24
  import "vue-draggable-plus";
14
- import { DuxDrawerPage as R } from "../drawer/drawerPage.js";
15
- import "aieditor";
16
- import "vee-validate";
17
- import "vue-router";
25
+ import { DuxTableFilter as ie } from "./filter.js";
26
+ import { DuxFilterLayout as ae } from "./filterLayout.js";
18
27
  import "@vee-validate/i18n";
19
28
  import "colorizr";
20
29
  import "echarts";
@@ -24,26 +33,20 @@ import "@unocss/preset-typography";
24
33
  import "unocss/preset-wind4";
25
34
  import "@vee-validate/i18n/dist/locale/en.json";
26
35
  import "@vee-validate/i18n/dist/locale/zh_CN.json";
36
+ import "vee-validate";
37
+ import "vue-router";
27
38
  import "vue-command-palette";
28
39
  import "@duxweb/dvha-naiveui";
29
- import { DuxPage as ie } from "../../pages/page.js";
40
+ import { DuxPage as re } from "../../pages/page.js";
30
41
  import "../../pages/page404.js";
31
- import "@iconify-json/tabler/icons.json";
32
- import { DuxTableFilter as ae } from "./filter.js";
33
- import { DuxFilterLayout as re } from "./filterLayout.js";
42
+ import { DuxDrawerPage as R } from "../drawer/drawerPage.js";
34
43
  import { DuxTableTools as ne } from "./tools.js";
44
+ import "short-unique-id";
45
+ import "aieditor";
46
+ import "@iconify-json/tabler/icons.json";
47
+ import "../posterEditor/elements/index.js";
48
+ import "fabric";
35
49
  import "mime";
36
- import "vue3-ace-editor";
37
- import "ace-builds/src-noconflict/mode-vue";
38
- import "ace-builds/src-noconflict/mode-javascript";
39
- import "ace-builds/src-noconflict/mode-html";
40
- import "ace-builds/src-noconflict/mode-json";
41
- import "ace-builds/src-noconflict/mode-json5";
42
- import "ace-builds/src-noconflict/theme-tomorrow_night";
43
- import "ace-builds/src-noconflict/theme-tomorrow";
44
- import "ace-builds/src-noconflict/ext-searchbox";
45
- import "ace-builds/src-noconflict/ext-language_tools";
46
- import "ace-builds/src-noconflict/mode-snippets";
47
50
  import "dayjs";
48
51
  import "@tanstack/vue-query";
49
52
  import { useTable as se } from "../../hooks/table.js";
@@ -51,7 +54,7 @@ import "pinia";
51
54
  function ue(t) {
52
55
  return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !G(t);
53
56
  }
54
- const rt = /* @__PURE__ */ J({
57
+ const ut = /* @__PURE__ */ J({
55
58
  name: "DuxTableLayout",
56
59
  props: {
57
60
  path: {
@@ -143,7 +146,7 @@ const rt = /* @__PURE__ */ J({
143
146
  ...d
144
147
  } = o;
145
148
  return {
146
- tag: ae,
149
+ tag: ie,
147
150
  attrs: {
148
151
  label: a
149
152
  },
@@ -163,7 +166,7 @@ const rt = /* @__PURE__ */ J({
163
166
  refresh: !0,
164
167
  ...t.tools
165
168
  }));
166
- return () => e(ie, {
169
+ return () => e(re, {
167
170
  actions: t.actions,
168
171
  scrollbar: !1
169
172
  }, {
@@ -342,7 +345,7 @@ const rt = /* @__PURE__ */ J({
342
345
  handle: o,
343
346
  onClose: () => s.show = !1
344
347
  }, {
345
- default: () => [e(re, {
348
+ default: () => [e(ae, {
346
349
  showLabel: !0,
347
350
  labelPlacement: "top"
348
351
  }, ue(a = k(_)) ? a : {
@@ -381,5 +384,5 @@ const rt = /* @__PURE__ */ J({
381
384
  }
382
385
  });
383
386
  export {
384
- rt as DuxTableLayout
387
+ ut as DuxTableLayout
385
388
  };
@@ -6,12 +6,21 @@ import "vue-router";
6
6
  import "@overlastic/vue";
7
7
  import "clsx";
8
8
  import "vue-echarts";
9
+ import "vue3-ace-editor";
10
+ import "ace-builds/src-noconflict/mode-vue";
11
+ import "ace-builds/src-noconflict/mode-javascript";
12
+ import "ace-builds/src-noconflict/mode-html";
13
+ import "ace-builds/src-noconflict/mode-json";
14
+ import "ace-builds/src-noconflict/mode-json5";
15
+ import "ace-builds/src-noconflict/theme-tomorrow_night";
16
+ import "ace-builds/src-noconflict/theme-tomorrow";
17
+ import "ace-builds/src-noconflict/ext-searchbox";
18
+ import "ace-builds/src-noconflict/ext-language_tools";
19
+ import "ace-builds/src-noconflict/mode-snippets";
9
20
  import "vue-cropper";
10
21
  import "jinrishici";
11
22
  import "lodash-es";
12
23
  import "vue-draggable-plus";
13
- import "aieditor";
14
- import "vee-validate";
15
24
  import "@vee-validate/i18n";
16
25
  import "colorizr";
17
26
  import "echarts";
@@ -21,26 +30,20 @@ import "@unocss/preset-typography";
21
30
  import "unocss/preset-wind4";
22
31
  import "@vee-validate/i18n/dist/locale/en.json";
23
32
  import "@vee-validate/i18n/dist/locale/zh_CN.json";
33
+ import "vee-validate";
24
34
  import "vue-command-palette";
25
35
  import "@duxweb/dvha-naiveui";
26
36
  import "../../pages/page404.js";
37
+ import "short-unique-id";
38
+ import "aieditor";
27
39
  import "@iconify-json/tabler/icons.json";
40
+ import "../posterEditor/elements/index.js";
41
+ import "fabric";
28
42
  import "mime";
29
- import "vue3-ace-editor";
30
- import "ace-builds/src-noconflict/mode-vue";
31
- import "ace-builds/src-noconflict/mode-javascript";
32
- import "ace-builds/src-noconflict/mode-html";
33
- import "ace-builds/src-noconflict/mode-json";
34
- import "ace-builds/src-noconflict/mode-json5";
35
- import "ace-builds/src-noconflict/theme-tomorrow_night";
36
- import "ace-builds/src-noconflict/theme-tomorrow";
37
- import "ace-builds/src-noconflict/ext-searchbox";
38
- import "ace-builds/src-noconflict/ext-language_tools";
39
- import "ace-builds/src-noconflict/mode-snippets";
40
43
  import "dayjs";
41
44
  import { useLevel as c } from "../../hooks/level.js";
42
45
  import "pinia";
43
- const me = /* @__PURE__ */ v({
46
+ const pe = /* @__PURE__ */ v({
44
47
  name: "DuxLevel",
45
48
  props: {
46
49
  value: {
@@ -111,5 +114,5 @@ const me = /* @__PURE__ */ v({
111
114
  }
112
115
  });
113
116
  export {
114
- me as DuxLevel
117
+ pe as DuxLevel
115
118
  };
@@ -0,0 +1,113 @@
1
+ import { defineComponent as b, computed as s, createVNode as a } from "vue";
2
+ const m = /* @__PURE__ */ b({
3
+ name: "CanvasRuler",
4
+ props: {
5
+ canvasWidth: {
6
+ type: Number,
7
+ required: !0
8
+ },
9
+ canvasHeight: {
10
+ type: Number,
11
+ required: !0
12
+ },
13
+ canvasScale: {
14
+ type: Number,
15
+ required: !0
16
+ },
17
+ rulerSize: {
18
+ type: Number,
19
+ default: 20
20
+ }
21
+ },
22
+ setup(e) {
23
+ const n = (t, l) => {
24
+ const v = [];
25
+ let r = 10;
26
+ l < 0.5 ? r = 50 : l < 1 && (r = 25);
27
+ for (let i = 0; i <= t; i += r) {
28
+ const f = i * l, h = i % (r * 5) === 0;
29
+ v.push({
30
+ position: f,
31
+ value: i,
32
+ isMajor: h
33
+ });
34
+ }
35
+ return v;
36
+ }, c = s(() => n(e.canvasWidth, e.canvasScale)), d = s(() => n(e.canvasHeight, e.canvasScale)), u = s(() => e.canvasWidth * e.canvasScale), o = s(() => e.canvasHeight * e.canvasScale);
37
+ return () => a("div", {
38
+ class: "absolute inset-0 pointer-events-none"
39
+ }, [a("div", {
40
+ class: "absolute flex justify-center left-6 top-0 right-0 bg-default",
41
+ style: {
42
+ height: `${e.rulerSize}px`
43
+ }
44
+ }, [a("div", {
45
+ class: "absolute top-0 bg-default",
46
+ style: {
47
+ left: "50%",
48
+ transform: "translateX(-50%)",
49
+ width: `${u.value}px`,
50
+ height: `${e.rulerSize}px`
51
+ }
52
+ }, [a("svg", {
53
+ width: u.value,
54
+ height: e.rulerSize,
55
+ class: "absolute top-0 left-0"
56
+ }, [c.value.map((t, l) => a("g", {
57
+ key: l
58
+ }, [a("line", {
59
+ x1: t.position,
60
+ y1: t.isMajor ? 0 : e.rulerSize / 2,
61
+ x2: t.position,
62
+ y2: e.rulerSize,
63
+ stroke: "rgba(0,0,0, 0.1)",
64
+ "stroke-width": "1"
65
+ }, null), t.isMajor && a("text", {
66
+ x: t.position + 2,
67
+ y: e.rulerSize - 6,
68
+ "font-size": "10",
69
+ stroke: "rgba(0,0,0, 0.1)",
70
+ "font-family": "monospace",
71
+ fill: "rgb(var(--ui-text-muted))"
72
+ }, [t.value])]))])])]), a("div", {
73
+ class: "absolute flex justify-center items-center flex-col top-6 left-0 bottom-0 bg-default border-r border-muted",
74
+ style: {
75
+ width: `${e.rulerSize}px`
76
+ }
77
+ }, [a("div", {
78
+ class: "absolute left-0 bg-default",
79
+ style: {
80
+ top: "50%",
81
+ transform: "translateY(-50%)",
82
+ width: `${e.rulerSize}px`,
83
+ height: `${o.value}px`
84
+ }
85
+ }, [a("svg", {
86
+ width: e.rulerSize,
87
+ height: o.value,
88
+ class: "absolute top-0 left-0"
89
+ }, [d.value.map((t, l) => a("g", {
90
+ key: l
91
+ }, [a("line", {
92
+ x1: t.isMajor ? 0 : e.rulerSize / 2,
93
+ y1: t.position,
94
+ x2: e.rulerSize,
95
+ y2: t.position,
96
+ stroke: "rgba(0,0,0, 0.1)",
97
+ "stroke-width": "1"
98
+ }, null), t.isMajor && a("text", {
99
+ x: e.rulerSize - 6,
100
+ y: t.position - 6,
101
+ "font-size": "10",
102
+ fill: "rgb(var(--ui-text-muted))",
103
+ "font-family": "monospace",
104
+ "text-anchor": "end",
105
+ transform: `rotate(-90, ${e.rulerSize - 2}, ${t.position - 2})`
106
+ }, [t.value])]))])])]), a("div", {
107
+ class: "absolute size-6 bg-default top-0 left-0"
108
+ }, null)]);
109
+ }
110
+ });
111
+ export {
112
+ m as CanvasRuler
113
+ };
@@ -0,0 +1,127 @@
1
+ import { Circle as c } from "fabric";
2
+ const r = {
3
+ type: "circle",
4
+ name: "圆形",
5
+ icon: "i-tabler:circle",
6
+ category: "basic",
7
+ defaultProps: {
8
+ type: "circle",
9
+ left: 100,
10
+ top: 100,
11
+ width: 100,
12
+ height: 100,
13
+ angle: 0,
14
+ scaleX: 1,
15
+ scaleY: 1,
16
+ visible: !0,
17
+ locked: !1,
18
+ radius: 50,
19
+ fill: "#00ff00",
20
+ stroke: "",
21
+ strokeWidth: 0,
22
+ strokeDashArray: null,
23
+ opacity: 1,
24
+ label: ""
25
+ },
26
+ createFabricObject: (e) => {
27
+ const l = new c({
28
+ left: e.left,
29
+ top: e.top,
30
+ radius: e.radius,
31
+ fill: e.fill,
32
+ stroke: e.stroke || void 0,
33
+ strokeWidth: e.strokeWidth,
34
+ strokeDashArray: e.strokeDashArray,
35
+ angle: e.angle,
36
+ scaleX: e.scaleX,
37
+ scaleY: e.scaleY,
38
+ opacity: e.opacity,
39
+ visible: e.visible,
40
+ selectable: !e.locked,
41
+ evented: !e.locked,
42
+ strokeUniform: !0,
43
+ lockUniScaling: !0
44
+ // 强制等比例缩放,确保圆形始终占满容器
45
+ });
46
+ return l.label = e.label, l;
47
+ },
48
+ getPropsFromFabricObject: (e) => {
49
+ const l = e, t = l.scaleX || 1, i = l.scaleY || 1, a = Math.round((l.radius || 50) * Math.max(t, i));
50
+ return {
51
+ type: "circle",
52
+ left: Math.round(l.left || 0),
53
+ top: Math.round(l.top || 0),
54
+ width: a * 2,
55
+ height: a * 2,
56
+ angle: Math.round(l.angle || 0),
57
+ scaleX: 1,
58
+ // 始终重置为1,将缩放应用到实际尺寸
59
+ scaleY: 1,
60
+ // 始终重置为1,将缩放应用到实际尺寸
61
+ visible: l.visible !== !1,
62
+ locked: !l.selectable,
63
+ radius: a,
64
+ fill: l.fill || "#00ff00",
65
+ stroke: l.stroke || "",
66
+ strokeWidth: Math.round(l.strokeWidth || 0),
67
+ strokeDashArray: l.strokeDashArray || null,
68
+ opacity: l.opacity || 1,
69
+ label: l.label || ""
70
+ };
71
+ },
72
+ getToolbarControls: (e) => [
73
+ {
74
+ key: "label",
75
+ label: "标签",
76
+ type: "text",
77
+ value: e.label,
78
+ options: { placeholder: "请输入标签" }
79
+ },
80
+ {
81
+ key: "radius",
82
+ label: "半径",
83
+ type: "number",
84
+ value: e.radius,
85
+ options: { min: 1, max: 1e3, step: 1 }
86
+ },
87
+ {
88
+ key: "fill",
89
+ label: "填充颜色",
90
+ type: "color",
91
+ value: e.fill
92
+ },
93
+ {
94
+ key: "stroke",
95
+ label: "边框颜色",
96
+ type: "color",
97
+ value: e.stroke
98
+ },
99
+ {
100
+ key: "strokeWidth",
101
+ label: "边框宽度",
102
+ type: "number",
103
+ value: e.strokeWidth,
104
+ options: { min: 0, max: 50, step: 1 }
105
+ },
106
+ {
107
+ key: "opacity",
108
+ label: "透明度",
109
+ type: "slider",
110
+ value: e.opacity,
111
+ options: { min: 0, max: 1, step: 0.01 }
112
+ }
113
+ ],
114
+ onPropsChange: (e, l) => {
115
+ const t = l;
116
+ t.set({
117
+ radius: e.radius,
118
+ fill: e.fill,
119
+ stroke: e.stroke || void 0,
120
+ strokeWidth: e.strokeWidth,
121
+ opacity: e.opacity
122
+ }), t.label = e.label;
123
+ }
124
+ };
125
+ export {
126
+ r as default
127
+ };
@@ -0,0 +1,131 @@
1
+ import { FabricImage as u } from "fabric";
2
+ const y = {
3
+ type: "image",
4
+ name: "图片",
5
+ icon: "i-tabler:photo",
6
+ category: "basic",
7
+ defaultProps: {
8
+ id: "",
9
+ type: "image",
10
+ left: 100,
11
+ top: 100,
12
+ width: 200,
13
+ height: 200,
14
+ angle: 0,
15
+ scaleX: 1,
16
+ scaleY: 1,
17
+ visible: !0,
18
+ locked: !1,
19
+ src: "",
20
+ opacity: 1
21
+ },
22
+ createFabricObject: (e) => u.fromURL(e.src || "", {
23
+ crossOrigin: "anonymous"
24
+ }).then((a) => (a.set({
25
+ left: e.left,
26
+ top: e.top,
27
+ width: e.width,
28
+ height: e.height,
29
+ angle: e.angle,
30
+ opacity: e.opacity,
31
+ visible: e.visible,
32
+ selectable: !e.locked,
33
+ evented: !e.locked
34
+ }), a)),
35
+ getPropsFromFabricObject: (e) => {
36
+ const a = e, t = (a.width || 200) * (a.scaleX || 1), i = (a.height || 200) * (a.scaleY || 1);
37
+ return {
38
+ type: "image",
39
+ left: Math.round(a.left || 0),
40
+ top: Math.round(a.top || 0),
41
+ width: Math.round(t),
42
+ height: Math.round(i),
43
+ angle: Math.round(a.angle || 0),
44
+ scaleX: a.scaleX || 1,
45
+ scaleY: a.scaleY || 1,
46
+ visible: a.visible !== !1,
47
+ locked: !a.selectable,
48
+ src: a.getSrc() || "",
49
+ opacity: a.opacity || 1,
50
+ cropX: 0,
51
+ cropY: 0,
52
+ borderRadius: 0
53
+ };
54
+ },
55
+ getToolbarControls: (e) => [
56
+ {
57
+ key: "src",
58
+ label: "选择图片",
59
+ type: "image",
60
+ value: e.src,
61
+ options: { placeholder: "点击选择图片文件" }
62
+ },
63
+ {
64
+ key: "width",
65
+ label: "宽度",
66
+ type: "number",
67
+ value: e.width,
68
+ options: { min: 10, max: 2e3, step: 1 }
69
+ },
70
+ {
71
+ key: "height",
72
+ label: "高度",
73
+ type: "number",
74
+ value: e.height,
75
+ options: { min: 10, max: 2e3, step: 1 }
76
+ },
77
+ {
78
+ key: "opacity",
79
+ label: "透明度",
80
+ type: "slider",
81
+ value: e.opacity,
82
+ options: { min: 0, max: 1, step: 0.01 }
83
+ }
84
+ ],
85
+ onPropsChange: (e, a) => {
86
+ const t = a;
87
+ if (e.src && e.src !== (t.getSrc() || "")) {
88
+ t.setSrc(e.src, { crossOrigin: "anonymous" }).then(() => {
89
+ const c = t.getElement().width, l = t.getElement().height, n = t.canvas, g = n?.width || 800, r = n?.height || 600, b = g / c, m = r / l, s = Math.min(b, m, 1);
90
+ t.set({
91
+ left: e.left,
92
+ top: e.top,
93
+ width: c,
94
+ height: l,
95
+ scaleX: s,
96
+ scaleY: s,
97
+ angle: e.angle,
98
+ opacity: e.opacity,
99
+ visible: e.visible,
100
+ selectable: !e.locked,
101
+ evented: !e.locked
102
+ }), t.setCoords(), t.canvas?.renderAll(), t.canvas?.fire("object:modified", { target: t });
103
+ });
104
+ return;
105
+ }
106
+ if (!e.src) {
107
+ t.setSrc("").then(() => {
108
+ t.set({
109
+ width: 200,
110
+ height: 200
111
+ }), t.setCoords(), t.canvas?.renderAll(), t.canvas?.fire("object:modified", { target: t });
112
+ });
113
+ return;
114
+ }
115
+ const i = t.width || 200, o = t.height || 200, h = e.width / i, d = e.height / o;
116
+ t.set({
117
+ left: e.left,
118
+ top: e.top,
119
+ scaleX: h,
120
+ scaleY: d,
121
+ angle: e.angle,
122
+ opacity: e.opacity,
123
+ visible: e.visible,
124
+ selectable: !e.locked,
125
+ evented: !e.locked
126
+ }), t.setCoords(), t.canvas?.renderAll(), t.canvas?.fire("object:modified", { target: t });
127
+ }
128
+ };
129
+ export {
130
+ y as default
131
+ };
@@ -0,0 +1,46 @@
1
+ import s from "./circle.js";
2
+ import g from "./image.js";
3
+ import n from "./rect.js";
4
+ import m from "./text.js";
5
+ class o {
6
+ elements = /* @__PURE__ */ new Map();
7
+ // 注册元素
8
+ register(e) {
9
+ this.elements.set(e.type, e);
10
+ }
11
+ // 批量注册元素
12
+ registerAll(e) {
13
+ e.forEach((t) => this.register(t));
14
+ }
15
+ // 获取元素配置
16
+ get(e) {
17
+ return this.elements.get(e) || null;
18
+ }
19
+ // 获取所有元素配置
20
+ getAll() {
21
+ return Array.from(this.elements.values());
22
+ }
23
+ // 根据分类获取元素配置
24
+ getByCategory(e) {
25
+ return this.getAll().filter((t) => t.category === e);
26
+ }
27
+ // 获取所有分类
28
+ getCategories() {
29
+ const e = new Set(this.getAll().map((t) => t.category));
30
+ return Array.from(e);
31
+ }
32
+ }
33
+ const l = new o();
34
+ l.registerAll([
35
+ m,
36
+ n,
37
+ s,
38
+ g
39
+ ]);
40
+ const f = l.getAll(), p = (r) => l.get(r), A = (r) => l.getByCategory(r);
41
+ export {
42
+ f as elementConfigs,
43
+ l as elementRegistry,
44
+ p as getElementConfig,
45
+ A as getElementsByCategory
46
+ };