@duxweb/dvha-pro 1.0.25 → 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 (240) 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/pages/RightPanel.cjs +1 -0
  52. package/dist/cjs/components/posterEditor/posterEditor.cjs +1 -0
  53. package/dist/cjs/components/table/table.cjs +1 -1
  54. package/dist/cjs/components/upload/file.cjs +1 -1
  55. package/dist/cjs/components/upload/image.cjs +1 -1
  56. package/dist/cjs/components/upload/manage/item.cjs +1 -1
  57. package/dist/cjs/components/upload/manager.cjs +1 -1
  58. package/dist/cjs/hooks/dialog.cjs +1 -1
  59. package/dist/cjs/hooks/drawer.cjs +1 -1
  60. package/dist/cjs/hooks/modal.cjs +1 -1
  61. package/dist/cjs/hooks/table/image.cjs +1 -1
  62. package/dist/cjs/hooks/table/media.cjs +1 -1
  63. package/dist/cjs/index.cjs +1 -1
  64. package/dist/cjs/langs/en-US.json.cjs +1 -1
  65. package/dist/cjs/langs/zh-CN.json.cjs +1 -1
  66. package/dist/cjs/pages/authLayout.cjs +1 -1
  67. package/dist/cjs/pages/layout/page.cjs +1 -1
  68. package/dist/cjs/pages/login.cjs +1 -1
  69. package/dist/cjs/pages/menu/avatar.cjs +1 -1
  70. package/dist/cjs/pages/menu/button.cjs +1 -1
  71. package/dist/cjs/pages/menu/cmd.cjs +1 -1
  72. package/dist/cjs/pages/menu/main.cjs +1 -1
  73. package/dist/cjs/pages/menu/mobile.cjs +1 -1
  74. package/dist/cjs/pages/page404.cjs +1 -1
  75. package/dist/cjs/pages/pageStatus.cjs +1 -1
  76. package/dist/cjs/theme/uno.css.cjs +34 -2
  77. package/dist/esm/component.js +33 -31
  78. package/dist/esm/components/chart/echart.js +6 -5
  79. package/dist/esm/components/crop/imageCrop.js +7 -6
  80. package/dist/esm/components/data/dynamicSelect.js +8 -7
  81. package/dist/esm/components/data/selectModal.js +6 -5
  82. package/dist/esm/components/designEditor/components/grid.js +175 -0
  83. package/dist/esm/components/designEditor/editor/hook.js +87 -0
  84. package/dist/esm/components/designEditor/editor/preview.js +65 -0
  85. package/dist/esm/components/designEditor/editor/setting.js +98 -0
  86. package/dist/esm/components/designEditor/editor.js +161 -0
  87. package/dist/esm/components/form/drawerForm.js +8 -7
  88. package/dist/esm/components/form/formItem.js +33 -33
  89. package/dist/esm/components/form/formLayout.js +11 -11
  90. package/dist/esm/components/form/modalForm.js +18 -17
  91. package/dist/esm/components/form/pageForm.js +11 -10
  92. package/dist/esm/components/form/settingForm.js +5 -4
  93. package/dist/esm/components/formEditor/base/base.js +117 -0
  94. package/dist/esm/components/formEditor/base/json.js +39 -0
  95. package/dist/esm/components/formEditor/base/options.js +48 -0
  96. package/dist/esm/components/formEditor/base/setting.js +108 -0
  97. package/dist/esm/components/formEditor/components/cascader.js +219 -0
  98. package/dist/esm/components/formEditor/components/cascaderAsync.js +213 -0
  99. package/dist/esm/components/formEditor/components/checkbox.js +212 -0
  100. package/dist/esm/components/formEditor/components/color.js +156 -0
  101. package/dist/esm/components/formEditor/components/date.js +197 -0
  102. package/dist/esm/components/formEditor/components/dynamicInput.js +227 -0
  103. package/dist/esm/components/formEditor/components/dynamicTags.js +150 -0
  104. package/dist/esm/components/formEditor/components/editor.js +139 -0
  105. package/dist/esm/components/formEditor/components/input.js +211 -0
  106. package/dist/esm/components/formEditor/components/inputNumber.js +188 -0
  107. package/dist/esm/components/formEditor/components/mentionAsync.js +180 -0
  108. package/dist/esm/components/formEditor/components/radio.js +212 -0
  109. package/dist/esm/components/formEditor/components/region.js +167 -0
  110. package/dist/esm/components/formEditor/components/select.js +203 -0
  111. package/dist/esm/components/formEditor/components/selectAsync.js +214 -0
  112. package/dist/esm/components/formEditor/components/sider.js +168 -0
  113. package/dist/esm/components/formEditor/components/switch.js +153 -0
  114. package/dist/esm/components/formEditor/components/time.js +171 -0
  115. package/dist/esm/components/formEditor/components/transferAsync.js +193 -0
  116. package/dist/esm/components/formEditor/components/treeSelect.js +207 -0
  117. package/dist/esm/components/formEditor/components/treeSelectAsync.js +179 -0
  118. package/dist/esm/components/formEditor/editor.js +162 -0
  119. package/dist/esm/components/formEditor/json.js +24 -0
  120. package/dist/esm/components/formEditor/preview.js +38 -0
  121. package/dist/esm/components/formEditor/renderer.js +151 -0
  122. package/dist/esm/components/icon/icon.js +7 -6
  123. package/dist/esm/components/layout/grid.js +24 -0
  124. package/dist/esm/components/layout/list.js +17 -16
  125. package/dist/esm/components/layout/table.js +15 -14
  126. package/dist/esm/components/level/level.js +6 -5
  127. package/dist/esm/components/{image → posterEditor}/pages/RightPanel.js +5 -4
  128. package/dist/esm/components/{image → posterEditor}/posterEditor.js +5 -4
  129. package/dist/esm/components/table/table.js +6 -5
  130. package/dist/esm/components/upload/file.js +10 -9
  131. package/dist/esm/components/upload/image.js +16 -15
  132. package/dist/esm/components/upload/manage/item.js +6 -5
  133. package/dist/esm/components/upload/manager.js +6 -5
  134. package/dist/esm/hooks/dialog.js +7 -6
  135. package/dist/esm/hooks/drawer.js +7 -6
  136. package/dist/esm/hooks/modal.js +6 -5
  137. package/dist/esm/hooks/table/image.js +6 -5
  138. package/dist/esm/hooks/table/media.js +6 -5
  139. package/dist/esm/index.js +218 -201
  140. package/dist/esm/langs/en-US.json.js +10 -10
  141. package/dist/esm/langs/zh-CN.json.js +8 -8
  142. package/dist/esm/pages/authLayout.js +7 -6
  143. package/dist/esm/pages/layout/page.js +6 -5
  144. package/dist/esm/pages/login.js +6 -5
  145. package/dist/esm/pages/menu/avatar.js +11 -10
  146. package/dist/esm/pages/menu/button.js +6 -5
  147. package/dist/esm/pages/menu/cmd.js +6 -5
  148. package/dist/esm/pages/menu/main.js +6 -5
  149. package/dist/esm/pages/menu/mobile.js +6 -5
  150. package/dist/esm/pages/page404.js +4 -3
  151. package/dist/esm/pages/pageStatus.js +9 -8
  152. package/dist/esm/theme/uno.css.js +34 -2
  153. package/dist/types/components/designEditor/components/grid.d.ts +2 -0
  154. package/dist/types/components/designEditor/components/index.d.ts +1 -0
  155. package/dist/types/components/designEditor/editor/hook.d.ts +57 -0
  156. package/dist/types/components/designEditor/editor/index.d.ts +3 -0
  157. package/dist/types/components/designEditor/editor/preview.d.ts +15 -0
  158. package/dist/types/components/designEditor/editor/setting.d.ts +14 -0
  159. package/dist/types/components/designEditor/editor.d.ts +19 -0
  160. package/dist/types/components/designEditor/index.d.ts +3 -0
  161. package/dist/types/components/form/drawerForm.d.ts +2 -2
  162. package/dist/types/components/form/formLayout.d.ts +2 -2
  163. package/dist/types/components/form/modalForm.d.ts +2 -2
  164. package/dist/types/components/formEditor/base/base.d.ts +26 -0
  165. package/dist/types/components/formEditor/base/index.d.ts +4 -0
  166. package/dist/types/components/formEditor/base/json.d.ts +18 -0
  167. package/dist/types/components/formEditor/base/options.d.ts +23 -0
  168. package/dist/types/components/formEditor/base/setting.d.ts +13 -0
  169. package/dist/types/components/formEditor/components/cascader.d.ts +2 -0
  170. package/dist/types/components/formEditor/components/cascaderAsync.d.ts +2 -0
  171. package/dist/types/components/formEditor/components/checkbox.d.ts +2 -0
  172. package/dist/types/components/formEditor/components/color.d.ts +2 -0
  173. package/dist/types/components/formEditor/components/date.d.ts +2 -0
  174. package/dist/types/components/formEditor/components/dynamicInput.d.ts +2 -0
  175. package/dist/types/components/formEditor/components/dynamicTags.d.ts +2 -0
  176. package/dist/types/components/formEditor/components/editor.d.ts +2 -0
  177. package/dist/types/components/formEditor/components/index.d.ts +21 -0
  178. package/dist/types/components/formEditor/components/input.d.ts +2 -0
  179. package/dist/types/components/formEditor/components/inputNumber.d.ts +2 -0
  180. package/dist/types/components/formEditor/components/mentionAsync.d.ts +2 -0
  181. package/dist/types/components/formEditor/components/radio.d.ts +2 -0
  182. package/dist/types/components/formEditor/components/region.d.ts +2 -0
  183. package/dist/types/components/formEditor/components/select.d.ts +2 -0
  184. package/dist/types/components/formEditor/components/selectAsync.d.ts +2 -0
  185. package/dist/types/components/formEditor/components/sider.d.ts +2 -0
  186. package/dist/types/components/formEditor/components/switch.d.ts +2 -0
  187. package/dist/types/components/formEditor/components/time.d.ts +2 -0
  188. package/dist/types/components/formEditor/components/transferAsync.d.ts +2 -0
  189. package/dist/types/components/formEditor/components/treeSelect.d.ts +2 -0
  190. package/dist/types/components/formEditor/components/treeSelectAsync.d.ts +2 -0
  191. package/dist/types/components/formEditor/editor.d.ts +22 -0
  192. package/dist/types/components/formEditor/index.d.ts +2 -0
  193. package/dist/types/components/formEditor/json.d.ts +14 -0
  194. package/dist/types/components/formEditor/preview.d.ts +25 -0
  195. package/dist/types/components/formEditor/renderer.d.ts +58 -0
  196. package/dist/types/components/index.d.ts +3 -1
  197. package/dist/types/components/layout/filterLayout.d.ts +1 -1
  198. package/dist/types/components/layout/grid.d.ts +22 -0
  199. package/dist/types/components/layout/index.d.ts +1 -0
  200. package/package.json +4 -3
  201. package/dist/cjs/components/image/pages/RightPanel.cjs +0 -1
  202. package/dist/cjs/components/image/posterEditor.cjs +0 -1
  203. /package/dist/cjs/components/{image → posterEditor}/components/CanvasRuler.cjs +0 -0
  204. /package/dist/cjs/components/{image → posterEditor}/elements/circle.cjs +0 -0
  205. /package/dist/cjs/components/{image → posterEditor}/elements/image.cjs +0 -0
  206. /package/dist/cjs/components/{image → posterEditor}/elements/index.cjs +0 -0
  207. /package/dist/cjs/components/{image → posterEditor}/elements/rect.cjs +0 -0
  208. /package/dist/cjs/components/{image → posterEditor}/elements/text.cjs +0 -0
  209. /package/dist/cjs/components/{image → posterEditor}/hooks/usePosterEditor.cjs +0 -0
  210. /package/dist/cjs/components/{image → posterEditor}/pages/LeftToolbar.cjs +0 -0
  211. /package/dist/cjs/components/{image → posterEditor}/pages/Panel.cjs +0 -0
  212. /package/dist/cjs/components/{image → posterEditor}/pages/PanelItem.cjs +0 -0
  213. /package/dist/esm/components/{image → posterEditor}/components/CanvasRuler.js +0 -0
  214. /package/dist/esm/components/{image → posterEditor}/elements/circle.js +0 -0
  215. /package/dist/esm/components/{image → posterEditor}/elements/image.js +0 -0
  216. /package/dist/esm/components/{image → posterEditor}/elements/index.js +0 -0
  217. /package/dist/esm/components/{image → posterEditor}/elements/rect.js +0 -0
  218. /package/dist/esm/components/{image → posterEditor}/elements/text.js +0 -0
  219. /package/dist/esm/components/{image → posterEditor}/hooks/usePosterEditor.js +0 -0
  220. /package/dist/esm/components/{image → posterEditor}/pages/LeftToolbar.js +0 -0
  221. /package/dist/esm/components/{image → posterEditor}/pages/Panel.js +0 -0
  222. /package/dist/esm/components/{image → posterEditor}/pages/PanelItem.js +0 -0
  223. /package/dist/types/components/{image → posterEditor}/components/CanvasRuler.d.ts +0 -0
  224. /package/dist/types/components/{image → posterEditor}/components/index.d.ts +0 -0
  225. /package/dist/types/components/{image → posterEditor}/elements/circle.d.ts +0 -0
  226. /package/dist/types/components/{image → posterEditor}/elements/image.d.ts +0 -0
  227. /package/dist/types/components/{image → posterEditor}/elements/index.d.ts +0 -0
  228. /package/dist/types/components/{image → posterEditor}/elements/rect.d.ts +0 -0
  229. /package/dist/types/components/{image → posterEditor}/elements/text.d.ts +0 -0
  230. /package/dist/types/components/{image → posterEditor}/elements/types.d.ts +0 -0
  231. /package/dist/types/components/{image → posterEditor}/hooks/index.d.ts +0 -0
  232. /package/dist/types/components/{image → posterEditor}/hooks/usePosterEditor.d.ts +0 -0
  233. /package/dist/types/components/{image → posterEditor}/index.d.ts +0 -0
  234. /package/dist/types/components/{image → posterEditor}/pages/LeftToolbar.d.ts +0 -0
  235. /package/dist/types/components/{image → posterEditor}/pages/Panel.d.ts +0 -0
  236. /package/dist/types/components/{image → posterEditor}/pages/PanelItem.d.ts +0 -0
  237. /package/dist/types/components/{image → posterEditor}/pages/RightPanel.d.ts +0 -0
  238. /package/dist/types/components/{image → posterEditor}/pages/index.d.ts +0 -0
  239. /package/dist/types/components/{image → posterEditor}/posterEditor.d.ts +0 -0
  240. /package/dist/types/components/{image → posterEditor}/types/editor.d.ts +0 -0
@@ -0,0 +1,57 @@
1
+ import type { JsonSchemaNode } from '@duxweb/dvha-core';
2
+ import type { ComputedRef, Ref } from 'vue';
3
+ export interface PageEditorJsonProps {
4
+ options?: Record<string, any>;
5
+ children?: PageEditorData[] | PageEditorData[][];
6
+ model?: Record<string, any>;
7
+ convertToJsonSchema?: (children: PageEditorData[] | PageEditorData[][], childModel?: Record<string, any>) => JsonSchemaNode[];
8
+ }
9
+ export interface PageEditorComponent {
10
+ name: string;
11
+ icon: string;
12
+ group?: string;
13
+ label?: string;
14
+ component: (props?: Record<string, any>) => any;
15
+ setting?: (props?: Record<string, any>) => any;
16
+ nested?: boolean;
17
+ settingDefault?: Record<string, any>;
18
+ json?: (props?: PageEditorJsonProps) => JsonSchemaNode;
19
+ }
20
+ export interface PageEditorGroup {
21
+ name: string;
22
+ label: string;
23
+ icon: string;
24
+ children?: PageEditorComponent[];
25
+ }
26
+ export interface PageEditorData {
27
+ key: string;
28
+ name: string;
29
+ options?: Record<string, any>;
30
+ children?: PageEditorData[];
31
+ }
32
+ export interface PageEditorSettingPage {
33
+ component?: (props?: Record<string, any>) => any;
34
+ default?: Record<string, any>;
35
+ }
36
+ export interface UseEditorResult {
37
+ clearComponent: () => void;
38
+ addComponent: (data: PageEditorComponent) => void;
39
+ clearGroup: () => void;
40
+ addGroup: (data: PageEditorGroup) => void;
41
+ getData: (key?: string) => PageEditorData | undefined;
42
+ copyData: (key: string, index: number) => void;
43
+ deleteData: (key: string, index: number) => void;
44
+ tree: ComputedRef<PageEditorGroup[]>;
45
+ components: Ref<PageEditorComponent[]>;
46
+ group: Ref<PageEditorGroup[]>;
47
+ selected: Ref<string | undefined>;
48
+ value: Ref<UseEditorValue>;
49
+ settingPage: PageEditorSettingPage | undefined;
50
+ }
51
+ export interface UseEditorValue {
52
+ config: Record<string, any>;
53
+ data: PageEditorData[];
54
+ }
55
+ export declare function useEditor({ settingPage }: {
56
+ settingPage?: PageEditorSettingPage;
57
+ }): UseEditorResult;
@@ -0,0 +1,3 @@
1
+ export * from './hook';
2
+ export * from './preview';
3
+ export * from './setting';
@@ -0,0 +1,15 @@
1
+ import type { PropType } from 'vue';
2
+ import type { PageEditorData } from './hook';
3
+ export declare const DuxWidgetEditorPreview: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ class: StringConstructor;
5
+ select: StringConstructor;
6
+ modelValue: PropType<PageEditorData[]>;
7
+ onUpdate: FunctionConstructor;
8
+ onSelect: FunctionConstructor;
9
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ class: StringConstructor;
11
+ select: StringConstructor;
12
+ modelValue: PropType<PageEditorData[]>;
13
+ onUpdate: FunctionConstructor;
14
+ onSelect: FunctionConstructor;
15
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,14 @@
1
+ import type { PropType, VNode } from 'vue';
2
+ import type { UseEditorResult } from './hook';
3
+ export declare const WidgetEditorSetting: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ actionRender: PropType<(editor?: UseEditorResult) => VNode>;
5
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
6
+ actionRender: PropType<(editor?: UseEditorResult) => VNode>;
7
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
8
+ export declare const WidgetEditorSettingCard: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
9
+ title: StringConstructor;
10
+ icon: StringConstructor;
11
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
+ title: StringConstructor;
13
+ icon: StringConstructor;
14
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,19 @@
1
+ import type { PropType, VNode } from 'vue';
2
+ import type { PageEditorComponent, PageEditorGroup, PageEditorSettingPage, UseEditorResult, UseEditorValue } from './editor/hook';
3
+ export declare const DuxDesignEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ data: PropType<UseEditorValue | undefined>;
5
+ onUpdateData: PropType<(data: UseEditorValue) => void>;
6
+ groups: PropType<PageEditorGroup[]>;
7
+ components: PropType<PageEditorComponent[]>;
8
+ settingPage: PropType<PageEditorSettingPage>;
9
+ actionRender: PropType<(editor?: UseEditorResult) => VNode>;
10
+ previewWrapper: PropType<(preview: VNode, editor?: UseEditorResult) => VNode>;
11
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
+ data: PropType<UseEditorValue | undefined>;
13
+ onUpdateData: PropType<(data: UseEditorValue) => void>;
14
+ groups: PropType<PageEditorGroup[]>;
15
+ components: PropType<PageEditorComponent[]>;
16
+ settingPage: PropType<PageEditorSettingPage>;
17
+ actionRender: PropType<(editor?: UseEditorResult) => VNode>;
18
+ previewWrapper: PropType<(preview: VNode, editor?: UseEditorResult) => VNode>;
19
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './editor';
3
+ export * from './editor/index';
@@ -69,10 +69,10 @@ export declare const DuxDrawerForm: import("vue").DefineComponent<import("vue").
69
69
  default: boolean;
70
70
  };
71
71
  }>> & Readonly<{}>, {
72
- inline: boolean;
73
- labelAlign: "left" | "right";
74
72
  labelPlacement: "left" | "top" | "page" | "setting";
75
73
  divider: boolean;
74
+ inline: boolean;
75
+ labelAlign: "left" | "right";
76
76
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
77
77
  id: {
78
78
  type: PropType<string | number>;
@@ -40,8 +40,8 @@ export declare const DuxFormLayout: import("vue").DefineComponent<import("vue").
40
40
  default: boolean;
41
41
  };
42
42
  }>> & Readonly<{}>, {
43
- inline: boolean;
44
- labelAlign: "left" | "right";
45
43
  labelPlacement: "left" | "top" | "page" | "setting";
46
44
  divider: boolean;
45
+ inline: boolean;
46
+ labelAlign: "left" | "right";
47
47
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -69,10 +69,10 @@ export declare const DuxModalForm: import("vue").DefineComponent<import("vue").E
69
69
  default: boolean;
70
70
  };
71
71
  }>> & Readonly<{}>, {
72
- inline: boolean;
73
- labelAlign: "left" | "right";
74
72
  labelPlacement: "left" | "top" | "page" | "setting";
75
73
  divider: boolean;
74
+ inline: boolean;
75
+ labelAlign: "left" | "right";
76
76
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
77
77
  id: {
78
78
  type: PropType<string | number>;
@@ -0,0 +1,26 @@
1
+ export declare const DuxFormEditorItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ value: {
3
+ type: ObjectConstructor;
4
+ default: never[];
5
+ };
6
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ value: {
8
+ type: ObjectConstructor;
9
+ default: never[];
10
+ };
11
+ }>> & Readonly<{}>, {
12
+ value: Record<string, any>;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
14
+ export declare const DuxFormEditorRule: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
15
+ value: {
16
+ type: ArrayConstructor;
17
+ default: never[];
18
+ };
19
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
20
+ value: {
21
+ type: ArrayConstructor;
22
+ default: never[];
23
+ };
24
+ }>> & Readonly<{}>, {
25
+ value: unknown[];
26
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,4 @@
1
+ export * from './base';
2
+ export * from './setting';
3
+ export * from './json';
4
+ export * from './options';
@@ -0,0 +1,18 @@
1
+ declare const DuxFormEditorJson: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ value: {
3
+ type: StringConstructor;
4
+ default: never[];
5
+ };
6
+ onChange: FunctionConstructor;
7
+ desc: StringConstructor;
8
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
9
+ value: {
10
+ type: StringConstructor;
11
+ default: never[];
12
+ };
13
+ onChange: FunctionConstructor;
14
+ desc: StringConstructor;
15
+ }>> & Readonly<{}>, {
16
+ value: string;
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
+ export default DuxFormEditorJson;
@@ -0,0 +1,23 @@
1
+ import type { PropType } from 'vue';
2
+ interface OptionItem {
3
+ label: string;
4
+ value: string;
5
+ }
6
+ declare const DuxFormEditorOptions: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7
+ value: {
8
+ type: ArrayConstructor;
9
+ default: never[];
10
+ };
11
+ onChange: FunctionConstructor;
12
+ options: PropType<OptionItem[]>;
13
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
+ value: {
15
+ type: ArrayConstructor;
16
+ default: never[];
17
+ };
18
+ onChange: FunctionConstructor;
19
+ options: PropType<OptionItem[]>;
20
+ }>> & Readonly<{}>, {
21
+ value: unknown[];
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
23
+ export default DuxFormEditorOptions;
@@ -0,0 +1,13 @@
1
+ export declare const DuxFormEditorSettingPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ value: {
3
+ type: ObjectConstructor;
4
+ default: () => {};
5
+ };
6
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ value: {
8
+ type: ObjectConstructor;
9
+ default: () => {};
10
+ };
11
+ }>> & Readonly<{}>, {
12
+ value: Record<string, any>;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorCascader(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorCascaderAsync(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorCheckbox(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorColor(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorDate(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorDynamicInput(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorDynamicTags(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorAIEditor(t: any): PageEditorComponent;
@@ -0,0 +1,21 @@
1
+ export * from './cascader';
2
+ export * from './cascaderAsync';
3
+ export * from './checkbox';
4
+ export * from './color';
5
+ export * from './date';
6
+ export * from './dynamicInput';
7
+ export * from './dynamicTags';
8
+ export * from './editor';
9
+ export * from './input';
10
+ export * from './inputNumber';
11
+ export * from './mentionAsync';
12
+ export * from './radio';
13
+ export * from './region';
14
+ export * from './sider';
15
+ export * from './switch';
16
+ export * from './time';
17
+ export * from './transferAsync';
18
+ export * from './treeSelect';
19
+ export * from './treeSelectAsync';
20
+ export * from './select';
21
+ export * from './selectAsync';
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorInput(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorInputNumber(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorMentionAsync(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorRadio(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorRegion(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorSelect(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorSelectAsync(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorSider(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorSwitch(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorTime(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorTransferAsync(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorTreeSelect(t: any): PageEditorComponent;
@@ -0,0 +1,2 @@
1
+ import type { PageEditorComponent } from '../../designEditor';
2
+ export declare function duxFormEditorTreeSelectAsync(t: any): PageEditorComponent;
@@ -0,0 +1,22 @@
1
+ import type { PageEditorComponent, PageEditorGroup, UseEditorResult } from '../designEditor';
2
+ export declare const DuxFormEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ onSave: FunctionConstructor;
4
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ data: import("vue").PropType<import("..").UseEditorValue | undefined>;
6
+ onUpdateData: import("vue").PropType<(data: import("..").UseEditorValue) => void>;
7
+ groups: import("vue").PropType<PageEditorGroup[]>;
8
+ components: import("vue").PropType<PageEditorComponent[]>;
9
+ settingPage: import("vue").PropType<import("..").PageEditorSettingPage>;
10
+ actionRender: import("vue").PropType<(editor?: UseEditorResult) => import("vue").VNode>;
11
+ previewWrapper: import("vue").PropType<(preview: import("vue").VNode, editor?: UseEditorResult) => import("vue").VNode>;
12
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
+ data: import("vue").PropType<import("..").UseEditorValue | undefined>;
14
+ onUpdateData: import("vue").PropType<(data: import("..").UseEditorValue) => void>;
15
+ groups: import("vue").PropType<PageEditorGroup[]>;
16
+ components: import("vue").PropType<PageEditorComponent[]>;
17
+ settingPage: import("vue").PropType<import("..").PageEditorSettingPage>;
18
+ actionRender: import("vue").PropType<(editor?: UseEditorResult) => import("vue").VNode>;
19
+ previewWrapper: import("vue").PropType<(preview: import("vue").VNode, editor?: UseEditorResult) => import("vue").VNode>;
20
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
21
+ onSave: FunctionConstructor;
22
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,2 @@
1
+ export * from './editor';
2
+ export * from './renderer';
@@ -0,0 +1,14 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ value: {
3
+ type: ObjectConstructor;
4
+ default: () => {};
5
+ };
6
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ value: {
8
+ type: ObjectConstructor;
9
+ default: () => {};
10
+ };
11
+ }>> & Readonly<{}>, {
12
+ value: Record<string, any>;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
14
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import type { PropType } from 'vue';
2
+ import type { PageEditorData } from '../designEditor';
3
+ export declare const DuxFormPreview: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ data: {
5
+ type: PropType<PageEditorData[]>;
6
+ default: () => never[];
7
+ };
8
+ config: {
9
+ type: PropType<Record<string, any>>;
10
+ default: () => {};
11
+ };
12
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
+ data: {
14
+ type: PropType<PageEditorData[]>;
15
+ default: () => never[];
16
+ };
17
+ config: {
18
+ type: PropType<Record<string, any>>;
19
+ default: () => {};
20
+ };
21
+ }>> & Readonly<{}>, {
22
+ data: PageEditorData[];
23
+ config: Record<string, any>;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
+ export default DuxFormPreview;
@@ -0,0 +1,58 @@
1
+ import type { PropType } from 'vue';
2
+ import type { PageEditorData } from '../designEditor';
3
+ export interface FormData {
4
+ [key: string]: any;
5
+ }
6
+ export interface FormConfig {
7
+ labelPlacement?: 'left' | 'top';
8
+ [key: string]: any;
9
+ }
10
+ export declare const DuxFormRenderer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
11
+ data: {
12
+ type: PropType<PageEditorData[]>;
13
+ default: () => never[];
14
+ };
15
+ value: {
16
+ type: PropType<FormData>;
17
+ default: () => {};
18
+ };
19
+ config: {
20
+ type: PropType<FormConfig>;
21
+ default: () => {};
22
+ };
23
+ readonly: {
24
+ type: BooleanConstructor;
25
+ default: boolean;
26
+ };
27
+ disabled: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
32
+ data: {
33
+ type: PropType<PageEditorData[]>;
34
+ default: () => never[];
35
+ };
36
+ value: {
37
+ type: PropType<FormData>;
38
+ default: () => {};
39
+ };
40
+ config: {
41
+ type: PropType<FormConfig>;
42
+ default: () => {};
43
+ };
44
+ readonly: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
48
+ disabled: {
49
+ type: BooleanConstructor;
50
+ default: boolean;
51
+ };
52
+ }>> & Readonly<{}>, {
53
+ data: PageEditorData[];
54
+ value: FormData;
55
+ disabled: boolean;
56
+ readonly: boolean;
57
+ config: FormConfig;
58
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -5,19 +5,21 @@ export * from './code';
5
5
  export * from './crop';
6
6
  export * from './dashboard';
7
7
  export * from './data';
8
+ export * from './designEditor';
8
9
  export * from './dialog';
9
10
  export * from './draw';
10
11
  export * from './drawer';
11
12
  export * from './editor';
12
13
  export * from './form';
14
+ export * from './formEditor';
13
15
  export * from './icon';
14
- export * from './image';
15
16
  export * from './layout';
16
17
  export * from './level';
17
18
  export * from './list';
18
19
  export * from './media';
19
20
  export * from './modal';
20
21
  export * from './panel';
22
+ export * from './posterEditor';
21
23
  export * from './select';
22
24
  export * from './stats';
23
25
  export * from './status';
@@ -27,6 +27,6 @@ export declare const DuxFilterLayout: import("vue").DefineComponent<import("vue"
27
27
  };
28
28
  }>> & Readonly<{}>, {
29
29
  horizontal: boolean;
30
- labelPlacement: "left" | "top";
31
30
  showLabel: boolean;
31
+ labelPlacement: "left" | "top";
32
32
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,22 @@
1
+ export declare const DuxGrid: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ cols: {
3
+ type: NumberConstructor;
4
+ default: number;
5
+ };
6
+ spac: {
7
+ type: NumberConstructor;
8
+ default: number;
9
+ };
10
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
+ cols: {
12
+ type: NumberConstructor;
13
+ default: number;
14
+ };
15
+ spac: {
16
+ type: NumberConstructor;
17
+ default: number;
18
+ };
19
+ }>> & Readonly<{}>, {
20
+ cols: number;
21
+ spac: number;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1,5 +1,6 @@
1
1
  export * from './filter';
2
2
  export * from './filterLayout';
3
+ export * from './grid';
3
4
  export * from './list';
4
5
  export * from './table';
5
6
  export * from './tools';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@duxweb/dvha-pro",
3
3
  "type": "module",
4
- "version": "1.0.25",
4
+ "version": "1.0.26",
5
5
  "author": "DuxWeb",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -33,8 +33,8 @@
33
33
  ],
34
34
  "dependencies": {
35
35
  "@ant-design/colors": "^7.2.1",
36
- "@duxweb/dvha-core": "^1.0.25",
37
- "@duxweb/dvha-naiveui": "^1.0.25",
36
+ "@duxweb/dvha-core": "^1.0.26",
37
+ "@duxweb/dvha-naiveui": "^1.0.26",
38
38
  "@iconify-json/tabler": "^1.2.18",
39
39
  "@overlastic/vue": "^0.8.1",
40
40
  "@tanstack/vue-query": "^5.80.7",
@@ -61,6 +61,7 @@
61
61
  "naive-ui": "^2.42.0",
62
62
  "pinia": "^3.0.3",
63
63
  "pinia-plugin-persistedstate": "^4.3.0",
64
+ "short-unique-id": "^5.3.2",
64
65
  "unocss": "^66.2.1",
65
66
  "vee-validate": "^4.15.1",
66
67
  "vue": "^3.5.0",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("naive-ui");require("@duxweb/dvha-core");require("@vueuse/core");require("mime");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("../elements/index.cjs");require("fabric");const o=require("./Panel.cjs"),n=require("./PanelItem.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");const d=require("../../upload/image.cjs");function c(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const N=e.defineComponent({name:"RightPanel",props:{hasMultipleSelection:{type:Boolean,required:!0},selectedElementsCount:{type:Number,required:!0},currentElementData:{type:Object},currentElementConfig:{type:Object},canMoveUp:{type:Boolean,required:!0},canMoveDown:{type:Boolean,required:!0},canMoveToFront:{type:Boolean,required:!0},canMoveToBack:{type:Boolean,required:!0},canvasWidth:{type:Number,required:!0},canvasHeight:{type:Number,required:!0},canvasBackgroundColor:{type:String,required:!0},canvasBackgroundImage:{type:String},onDeleteSelectedElements:{type:Function,required:!0},onAlignElements:{type:Function,required:!0},onUpdateElementProperty:{type:Function,required:!0},onUpdateCanvasSize:{type:Function,required:!0},onUpdateCanvasBackground:{type:Function,required:!0},onUpdateCanvasBackgroundImage:{type:Function,required:!0},onSaveData:{type:Function,required:!0},onExportJson:{type:Function,required:!0},onRenderToolbarControl:{type:Function,required:!0},onClearCanvas:{type:Function,required:!0},canvasScale:{type:Number,required:!0}},setup(t){const i=()=>{if(t.hasMultipleSelection)return e.createVNode(o.Panel,{title:"多选操作"},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode(n.PanelItem,{title:"对齐"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("left"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-left"},null)},null),default:()=>"左对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("right"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-right"},null)},null),default:()=>"右对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("top"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-top"},null)},null),default:()=>"顶部对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("bottom"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-bottom"},null)},null),default:()=>"底部对齐"})])]}),e.createVNode(n.PanelItem,{title:"居中"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-center"},null)},null),default:()=>"水平居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-middle"},null)},null),default:()=>"垂直居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("distribute-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-horizontal"},null)},null),default:()=>"水平分布"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("distribute-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-vertical"},null)},null),default:()=>"垂直分布"})])]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{block:!0,onClick:t.onDeleteSelectedElements,type:"error"},{icon:()=>e.createVNode("div",{class:"i-tabler:trash"},null),default:()=>"删除"})])});if(t.currentElementData&&t.currentElementConfig){const l=t.currentElementConfig.getToolbarControls(t.currentElementData);return e.createVNode(o.Panel,{title:"元素设置"},{default:()=>e.createVNode(e.Fragment,null,[l.map(a=>{let u;return e.createVNode(n.PanelItem,{key:a.key,title:a.label},c(u=t.onRenderToolbarControl(a))?u:{default:()=>[u]})}),e.createVNode(n.PanelItem,{title:"X"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.left,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"left",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"Y"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.top,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"top",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"角度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.angle,min:-180,max:180,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"angle",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"对齐"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-3 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-center"},null)},null),default:()=>"水平居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-middle"},null)},null),default:()=>"垂直居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-both"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-horizontal"},null)},null),default:()=>"居中"})])]}),e.createVNode(n.PanelItem,{title:"层级"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveUp,onClick:()=>t.onAlignElements("move-up"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-narrow-up"},null)},null),default:()=>"上移一层"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveDown,onClick:()=>t.onAlignElements("move-down"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-narrow-down"},null)},null),default:()=>"下移一层"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveToFront,onClick:()=>t.onAlignElements("move-to-front"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-bar-to-up"},null)},null),default:()=>"移到最前"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveToBack,onClick:()=>t.onAlignElements("move-to-back"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-bar-to-down"},null)},null),default:()=>"移到最后"})])]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{block:!0,onClick:t.onDeleteSelectedElements,type:"error"},{icon:()=>e.createVNode("div",{class:"i-tabler:trash"},null),default:()=>"删除"})])})}else return e.createVNode(o.Panel,{title:"画布设置"},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode(n.PanelItem,{title:"宽度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.canvasWidth,min:100,max:2e3,"onUpdate:value":l=>t.onUpdateCanvasSize(l||800,t.canvasHeight)},null)]}),e.createVNode(n.PanelItem,{title:"高度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.canvasHeight,min:100,max:2e3,"onUpdate:value":l=>t.onUpdateCanvasSize(t.canvasWidth,l||600)},null)]}),e.createVNode(n.PanelItem,{title:"背景颜色"},{default:()=>[e.createVNode(r.NColorPicker,{value:t.canvasBackgroundColor,"onUpdate:value":l=>t.onUpdateCanvasBackground(l)},null)]}),e.createVNode(n.PanelItem,{title:"背景图片"},{default:()=>[e.createVNode(d.DuxImageUpload,{value:t.canvasBackgroundImage||"",onUpdateValue:l=>t.onUpdateCanvasBackgroundImage(typeof l=="string"?l:Array.isArray(l)&&l[0]||"")},null)]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{type:"primary",block:!0,onClick:t.onSaveData},{default:()=>[e.createTextVNode("保存")]}),e.createVNode(r.NButton,{block:!0,onClick:t.onExportJson},{default:()=>[e.createTextVNode("导出 JSON")]}),e.createVNode(r.NButton,{block:!0,onClick:t.onClearCanvas},{default:()=>[e.createTextVNode("清空画布")]})])})};return()=>e.createVNode("div",{class:"w-60 bg-default border-l border-default"},[i()])}});exports.RightPanel=N;