@duxweb/dvha-pro 1.1.30 → 1.2.0

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 (529) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/cjs/app.cjs +1 -1
  3. package/dist/cjs/component.cjs +1 -1
  4. package/dist/cjs/components/card/card.cjs +1 -1
  5. package/dist/cjs/components/card/index.cjs +1 -0
  6. package/dist/cjs/components/card/store.cjs +1 -1
  7. package/dist/cjs/components/carousel/carousel.cjs +1 -1
  8. package/dist/cjs/components/carousel/index.cjs +1 -0
  9. package/dist/cjs/components/cascaderPanel/cascaderPanel.cjs +1 -1
  10. package/dist/cjs/components/cascaderPanel/index.cjs +1 -0
  11. package/dist/cjs/components/chart/echart.cjs +1 -1
  12. package/dist/cjs/components/chart/index.cjs +1 -0
  13. package/dist/cjs/components/code/code.cjs +1 -1
  14. package/dist/cjs/components/code/index.cjs +1 -0
  15. package/dist/cjs/components/crop/imageCrop.cjs +1 -1
  16. package/dist/cjs/components/crop/imageCropModal.cjs +1 -1
  17. package/dist/cjs/components/crop/index.cjs +1 -0
  18. package/dist/cjs/components/dashboard/hello.cjs +1 -1
  19. package/dist/cjs/components/dashboard/helloBig.cjs +1 -1
  20. package/dist/cjs/components/dashboard/index.cjs +1 -0
  21. package/dist/cjs/components/dashboard/quick.cjs +1 -1
  22. package/dist/cjs/components/data/dynamicData.cjs +1 -1
  23. package/dist/cjs/components/data/dynamicSelect.cjs +1 -1
  24. package/dist/cjs/components/data/index.cjs +1 -0
  25. package/dist/cjs/components/data/selectModal.cjs +1 -1
  26. package/dist/cjs/components/designEditor/components/grid.cjs +1 -1
  27. package/dist/cjs/components/designEditor/components/index.cjs +1 -0
  28. package/dist/cjs/components/designEditor/editor/hook.cjs +1 -1
  29. package/dist/cjs/components/designEditor/editor/index.cjs +1 -0
  30. package/dist/cjs/components/designEditor/editor/preview.cjs +1 -1
  31. package/dist/cjs/components/designEditor/editor/setting.cjs +1 -1
  32. package/dist/cjs/components/designEditor/editor.cjs +1 -1
  33. package/dist/cjs/components/designEditor/index.cjs +1 -0
  34. package/dist/cjs/components/dialog/dialog.cjs +1 -1
  35. package/dist/cjs/components/dialog/index.cjs +1 -0
  36. package/dist/cjs/components/draw/drawApps.cjs +1 -1
  37. package/dist/cjs/components/draw/drawAuth.cjs +1 -1
  38. package/dist/cjs/components/draw/drawEmpty.cjs +1 -1
  39. package/dist/cjs/components/draw/drawEmptyForm.cjs +1 -1
  40. package/dist/cjs/components/draw/drawError.cjs +1 -1
  41. package/dist/cjs/components/draw/index.cjs +1 -0
  42. package/dist/cjs/components/drawer/drawer.cjs +1 -1
  43. package/dist/cjs/components/drawer/drawerPage.cjs +1 -1
  44. package/dist/cjs/components/drawer/index.cjs +1 -0
  45. package/dist/cjs/components/editor/aiEditor.cjs +2 -2
  46. package/dist/cjs/components/editor/index.cjs +1 -0
  47. package/dist/cjs/components/flowEditor/components/fieldConfig.cjs +1 -1
  48. package/dist/cjs/components/flowEditor/components/index.cjs +1 -0
  49. package/dist/cjs/components/flowEditor/components/jsonEditor.cjs +1 -1
  50. package/dist/cjs/components/flowEditor/components/kvInput.cjs +1 -1
  51. package/dist/cjs/components/flowEditor/components/nodeCard.cjs +1 -1
  52. package/dist/cjs/components/flowEditor/components/note.cjs +1 -1
  53. package/dist/cjs/components/flowEditor/components/setting.cjs +1 -1
  54. package/dist/cjs/components/flowEditor/components/toolbar.cjs +1 -1
  55. package/dist/cjs/components/flowEditor/flowEditor.cjs +1 -1
  56. package/dist/cjs/components/flowEditor/index.cjs +1 -0
  57. package/dist/cjs/components/flowEditor/nodes/dynamicNodeFactory.cjs +1 -1
  58. package/dist/cjs/components/flowEditor/nodes/endNode.cjs +1 -1
  59. package/dist/cjs/components/flowEditor/nodes/index.cjs +1 -1
  60. package/dist/cjs/components/flowEditor/nodes/processNode.cjs +1 -1
  61. package/dist/cjs/components/flowEditor/nodes/startNode.cjs +1 -1
  62. package/dist/cjs/components/flowEditor/utils/nodeDataUtils.cjs +1 -1
  63. package/dist/cjs/components/form/drawerForm.cjs +1 -1
  64. package/dist/cjs/components/form/formItem.cjs +1 -1
  65. package/dist/cjs/components/form/formLayout.cjs +1 -1
  66. package/dist/cjs/components/form/index.cjs +1 -0
  67. package/dist/cjs/components/form/modalForm.cjs +1 -1
  68. package/dist/cjs/components/form/pageForm.cjs +1 -1
  69. package/dist/cjs/components/form/pageTabForm.cjs +1 -1
  70. package/dist/cjs/components/form/settingForm.cjs +1 -1
  71. package/dist/cjs/components/formEditor/base/base.cjs +1 -1
  72. package/dist/cjs/components/formEditor/base/index.cjs +1 -0
  73. package/dist/cjs/components/formEditor/base/json.cjs +1 -1
  74. package/dist/cjs/components/formEditor/base/options.cjs +1 -1
  75. package/dist/cjs/components/formEditor/base/setting.cjs +1 -1
  76. package/dist/cjs/components/formEditor/components/cascader.cjs +1 -1
  77. package/dist/cjs/components/formEditor/components/cascaderAsync.cjs +1 -1
  78. package/dist/cjs/components/formEditor/components/checkbox.cjs +1 -1
  79. package/dist/cjs/components/formEditor/components/color.cjs +1 -1
  80. package/dist/cjs/components/formEditor/components/date.cjs +1 -1
  81. package/dist/cjs/components/formEditor/components/dynamicInput.cjs +1 -1
  82. package/dist/cjs/components/formEditor/components/dynamicTags.cjs +1 -1
  83. package/dist/cjs/components/formEditor/components/editor.cjs +1 -1
  84. package/dist/cjs/components/formEditor/components/fileUpload.cjs +1 -1
  85. package/dist/cjs/components/formEditor/components/imageUpload.cjs +1 -1
  86. package/dist/cjs/components/formEditor/components/index.cjs +1 -0
  87. package/dist/cjs/components/formEditor/components/input.cjs +1 -1
  88. package/dist/cjs/components/formEditor/components/inputNumber.cjs +1 -1
  89. package/dist/cjs/components/formEditor/components/mentionAsync.cjs +1 -1
  90. package/dist/cjs/components/formEditor/components/radio.cjs +1 -1
  91. package/dist/cjs/components/formEditor/components/region.cjs +1 -1
  92. package/dist/cjs/components/formEditor/components/select.cjs +1 -1
  93. package/dist/cjs/components/formEditor/components/selectAsync.cjs +1 -1
  94. package/dist/cjs/components/formEditor/components/sider.cjs +1 -1
  95. package/dist/cjs/components/formEditor/components/switch.cjs +1 -1
  96. package/dist/cjs/components/formEditor/components/time.cjs +1 -1
  97. package/dist/cjs/components/formEditor/components/transferAsync.cjs +1 -1
  98. package/dist/cjs/components/formEditor/components/treeSelect.cjs +1 -1
  99. package/dist/cjs/components/formEditor/components/treeSelectAsync.cjs +1 -1
  100. package/dist/cjs/components/formEditor/editor.cjs +1 -1
  101. package/dist/cjs/components/formEditor/index.cjs +1 -0
  102. package/dist/cjs/components/formEditor/json.cjs +1 -1
  103. package/dist/cjs/components/formEditor/preview.cjs +1 -1
  104. package/dist/cjs/components/formEditor/renderer.cjs +1 -1
  105. package/dist/cjs/components/icon/icon.cjs +1 -1
  106. package/dist/cjs/components/icon/iconPicker.cjs +1 -1
  107. package/dist/cjs/components/icon/index.cjs +1 -0
  108. package/dist/cjs/components/index.cjs +1 -0
  109. package/dist/cjs/components/layout/filter.cjs +1 -1
  110. package/dist/cjs/components/layout/filterLayout.cjs +1 -1
  111. package/dist/cjs/components/layout/grid.cjs +1 -1
  112. package/dist/cjs/components/layout/index.cjs +1 -0
  113. package/dist/cjs/components/layout/list.cjs +1 -1
  114. package/dist/cjs/components/layout/table.cjs +1 -1
  115. package/dist/cjs/components/layout/tools.cjs +1 -1
  116. package/dist/cjs/components/level/index.cjs +1 -0
  117. package/dist/cjs/components/level/level.cjs +1 -1
  118. package/dist/cjs/components/list/card.cjs +1 -1
  119. package/dist/cjs/components/list/index.cjs +1 -0
  120. package/dist/cjs/components/list/list.cjs +1 -1
  121. package/dist/cjs/components/mapCoord/index.cjs +1 -0
  122. package/dist/cjs/components/mapCoord/mapCoord.cjs +1 -1
  123. package/dist/cjs/components/media/index.cjs +1 -0
  124. package/dist/cjs/components/media/media.cjs +1 -1
  125. package/dist/cjs/components/modal/index.cjs +1 -0
  126. package/dist/cjs/components/modal/modal.cjs +1 -1
  127. package/dist/cjs/components/modal/modalPage.cjs +1 -1
  128. package/dist/cjs/components/modal/modalTab.cjs +1 -1
  129. package/dist/cjs/components/panel/alert.cjs +1 -1
  130. package/dist/cjs/components/panel/collapse.cjs +1 -1
  131. package/dist/cjs/components/panel/index.cjs +1 -0
  132. package/dist/cjs/components/panel/setting.cjs +1 -1
  133. package/dist/cjs/components/posterEditor/components/CanvasRuler.cjs +1 -1
  134. package/dist/cjs/components/posterEditor/elements/circle.cjs +1 -1
  135. package/dist/cjs/components/posterEditor/elements/image.cjs +1 -1
  136. package/dist/cjs/components/posterEditor/elements/index.cjs +1 -1
  137. package/dist/cjs/components/posterEditor/elements/rect.cjs +1 -1
  138. package/dist/cjs/components/posterEditor/elements/text.cjs +1 -1
  139. package/dist/cjs/components/posterEditor/hooks/index.cjs +1 -0
  140. package/dist/cjs/components/posterEditor/hooks/usePosterEditor.cjs +1 -1
  141. package/dist/cjs/components/posterEditor/index.cjs +1 -0
  142. package/dist/cjs/components/posterEditor/pages/LeftToolbar.cjs +1 -1
  143. package/dist/cjs/components/posterEditor/pages/Panel.cjs +1 -1
  144. package/dist/cjs/components/posterEditor/pages/PanelItem.cjs +1 -1
  145. package/dist/cjs/components/posterEditor/pages/RightPanel.cjs +1 -1
  146. package/dist/cjs/components/posterEditor/pages/index.cjs +1 -0
  147. package/dist/cjs/components/posterEditor/posterEditor.cjs +1 -1
  148. package/dist/cjs/components/schemaEditor/index.cjs +1 -0
  149. package/dist/cjs/components/schemaEditor/schemaEditor.cjs +1 -1
  150. package/dist/cjs/components/select/checkboxTag.cjs +1 -1
  151. package/dist/cjs/components/select/dateTag.cjs +1 -1
  152. package/dist/cjs/components/select/index.cjs +1 -0
  153. package/dist/cjs/components/select/radioTag.cjs +1 -1
  154. package/dist/cjs/components/select/selectCard.cjs +1 -1
  155. package/dist/cjs/components/spec/index.cjs +1 -0
  156. package/dist/cjs/components/spec/spec.cjs +1 -1
  157. package/dist/cjs/components/spec/specEditor.cjs +1 -1
  158. package/dist/cjs/components/stats/index.cjs +1 -0
  159. package/dist/cjs/components/stats/number.cjs +1 -1
  160. package/dist/cjs/components/stats/realTime.cjs +1 -1
  161. package/dist/cjs/components/status/blockEmpty.cjs +1 -1
  162. package/dist/cjs/components/status/index.cjs +1 -0
  163. package/dist/cjs/components/status/listEmpty.cjs +1 -1
  164. package/dist/cjs/components/table/index.cjs +1 -0
  165. package/dist/cjs/components/table/table.cjs +1 -1
  166. package/dist/cjs/components/table/tablePage.cjs +1 -1
  167. package/dist/cjs/components/textImageEditor/index.cjs +1 -0
  168. package/dist/cjs/components/textImageEditor/textImageEditor.cjs +1 -1
  169. package/dist/cjs/components/textImageEditor/textModal.cjs +1 -1
  170. package/dist/cjs/components/tree/index.cjs +1 -0
  171. package/dist/cjs/components/tree/treeFilter.cjs +1 -1
  172. package/dist/cjs/components/upload/config.cjs +1 -1
  173. package/dist/cjs/components/upload/file.cjs +1 -1
  174. package/dist/cjs/components/upload/image.cjs +1 -1
  175. package/dist/cjs/components/upload/index.cjs +1 -0
  176. package/dist/cjs/components/upload/manage/item.cjs +1 -1
  177. package/dist/cjs/components/upload/manager.cjs +1 -1
  178. package/dist/cjs/components/upload/selectFile.cjs +1 -1
  179. package/dist/cjs/components/upload/video.cjs +1 -1
  180. package/dist/cjs/components/widget/avatar.cjs +1 -1
  181. package/dist/cjs/components/widget/connect.cjs +1 -1
  182. package/dist/cjs/components/widget/image.cjs +1 -1
  183. package/dist/cjs/components/widget/index.cjs +1 -0
  184. package/dist/cjs/components/widget/placeholder.cjs +1 -1
  185. package/dist/cjs/config/echart.cjs +1 -1
  186. package/dist/cjs/config/index.cjs +1 -0
  187. package/dist/cjs/config/uno.cjs +1 -1
  188. package/dist/cjs/config/validate.cjs +1 -1
  189. package/dist/cjs/dvha-pro.css +2 -1
  190. package/dist/cjs/hooks/action.cjs +1 -1
  191. package/dist/cjs/hooks/dialog.cjs +1 -1
  192. package/dist/cjs/hooks/download.cjs +1 -1
  193. package/dist/cjs/hooks/drawer.cjs +1 -1
  194. package/dist/cjs/hooks/echart.cjs +1 -1
  195. package/dist/cjs/hooks/image.cjs +1 -1
  196. package/dist/cjs/hooks/index.cjs +1 -0
  197. package/dist/cjs/hooks/level.cjs +1 -1
  198. package/dist/cjs/hooks/modal.cjs +1 -1
  199. package/dist/cjs/hooks/table/color.cjs +1 -1
  200. package/dist/cjs/hooks/table/column.cjs +1 -1
  201. package/dist/cjs/hooks/table/copy.cjs +1 -1
  202. package/dist/cjs/hooks/table/hidden.cjs +1 -1
  203. package/dist/cjs/hooks/table/image.cjs +1 -1
  204. package/dist/cjs/hooks/table/index.cjs +1 -0
  205. package/dist/cjs/hooks/table/input.cjs +1 -1
  206. package/dist/cjs/hooks/table/map.cjs +1 -1
  207. package/dist/cjs/hooks/table/media.cjs +1 -1
  208. package/dist/cjs/hooks/table/status.cjs +1 -1
  209. package/dist/cjs/hooks/table/switch.cjs +1 -1
  210. package/dist/cjs/hooks/table.cjs +1 -1
  211. package/dist/cjs/hooks/ui.cjs +1 -1
  212. package/dist/cjs/index.cjs +1 -1
  213. package/dist/cjs/langs/en-US.cjs +1 -0
  214. package/dist/cjs/langs/zh-CN.cjs +1 -0
  215. package/dist/cjs/main.cjs +1 -1
  216. package/dist/cjs/pages/authLayout.cjs +1 -1
  217. package/dist/cjs/pages/index.cjs +1 -0
  218. package/dist/cjs/pages/layout/global.cjs +1 -1
  219. package/dist/cjs/pages/layout/page.cjs +1 -1
  220. package/dist/cjs/pages/layout/tab.cjs +1 -1
  221. package/dist/cjs/pages/layout.cjs +1 -1
  222. package/dist/cjs/pages/loading.cjs +1 -1
  223. package/dist/cjs/pages/login.cjs +1 -1
  224. package/dist/cjs/pages/menu/avatar.cjs +1 -1
  225. package/dist/cjs/pages/menu/button.cjs +1 -1
  226. package/dist/cjs/pages/menu/cmd.cjs +1 -1
  227. package/dist/cjs/pages/menu/dark.cjs +1 -1
  228. package/dist/cjs/pages/menu/index.cjs +1 -0
  229. package/dist/cjs/pages/menu/menuApp.cjs +1 -1
  230. package/dist/cjs/pages/menu/menuMain.cjs +1 -1
  231. package/dist/cjs/pages/menu/mobile.cjs +1 -1
  232. package/dist/cjs/pages/menu/notice.cjs +1 -1
  233. package/dist/cjs/pages/page.cjs +1 -1
  234. package/dist/cjs/pages/page403.cjs +1 -1
  235. package/dist/cjs/pages/page404.cjs +1 -1
  236. package/dist/cjs/pages/page500.cjs +1 -1
  237. package/dist/cjs/pages/pageEmpty.cjs +1 -1
  238. package/dist/cjs/pages/pageException.cjs +1 -1
  239. package/dist/cjs/pages/pageLoading.cjs +1 -1
  240. package/dist/cjs/pages/pageStatus.cjs +1 -1
  241. package/dist/cjs/static/images/icon/audio.cjs +1 -0
  242. package/dist/cjs/static/images/icon/excel.cjs +1 -0
  243. package/dist/cjs/static/images/icon/file.cjs +1 -0
  244. package/dist/cjs/static/images/icon/folder.cjs +1 -0
  245. package/dist/cjs/static/images/icon/pdf.cjs +1 -0
  246. package/dist/cjs/static/images/icon/ppt.cjs +1 -0
  247. package/dist/cjs/static/images/icon/video.cjs +1 -0
  248. package/dist/cjs/static/images/icon/word.cjs +1 -0
  249. package/dist/cjs/stores/index.cjs +1 -0
  250. package/dist/cjs/stores/ui.cjs +1 -1
  251. package/dist/cjs/theme/index.cjs +1 -0
  252. package/dist/cjs/theme/naiveTheme.cjs +1 -1
  253. package/dist/cjs/theme/presetTheme.cjs +1 -1
  254. package/dist/{esm/theme/uno.css.js → cjs/theme/uno.cjs} +3 -6
  255. package/dist/esm/app.js +13 -19
  256. package/dist/esm/component.js +66 -89
  257. package/dist/esm/components/card/card.js +117 -114
  258. package/dist/esm/components/card/index.js +2 -0
  259. package/dist/esm/components/card/store.js +39 -57
  260. package/dist/esm/components/carousel/carousel.js +25 -33
  261. package/dist/esm/components/carousel/index.js +1 -0
  262. package/dist/esm/components/cascaderPanel/cascaderPanel.js +321 -376
  263. package/dist/esm/components/cascaderPanel/index.js +1 -0
  264. package/dist/esm/components/chart/echart.js +38 -109
  265. package/dist/esm/components/chart/index.js +1 -0
  266. package/dist/esm/components/code/code.js +36 -42
  267. package/dist/esm/components/code/index.js +1 -0
  268. package/dist/esm/components/crop/imageCrop.js +65 -138
  269. package/dist/esm/components/crop/imageCropModal.js +82 -115
  270. package/dist/esm/components/crop/index.js +2 -0
  271. package/dist/esm/components/dashboard/hello.js +24 -36
  272. package/dist/esm/components/dashboard/helloBig.js +395 -342
  273. package/dist/esm/components/dashboard/index.js +3 -0
  274. package/dist/esm/components/dashboard/quick.js +50 -55
  275. package/dist/esm/components/data/dynamicData.js +152 -177
  276. package/dist/esm/components/data/dynamicSelect.js +69 -140
  277. package/dist/esm/components/data/index.js +3 -0
  278. package/dist/esm/components/data/selectModal.js +78 -163
  279. package/dist/esm/components/designEditor/components/grid.js +109 -191
  280. package/dist/esm/components/designEditor/components/index.js +1 -0
  281. package/dist/esm/components/designEditor/editor/hook.js +74 -86
  282. package/dist/esm/components/designEditor/editor/index.js +3 -0
  283. package/dist/esm/components/designEditor/editor/preview.js +46 -64
  284. package/dist/esm/components/designEditor/editor/setting.js +52 -153
  285. package/dist/esm/components/designEditor/editor.js +125 -155
  286. package/dist/esm/components/designEditor/index.js +7 -0
  287. package/dist/esm/components/dialog/dialog.js +70 -121
  288. package/dist/esm/components/dialog/index.js +1 -0
  289. package/dist/esm/components/draw/drawApps.js +182 -144
  290. package/dist/esm/components/draw/drawAuth.js +54 -49
  291. package/dist/esm/components/draw/drawEmpty.js +100 -91
  292. package/dist/esm/components/draw/drawEmptyForm.js +131 -127
  293. package/dist/esm/components/draw/drawError.js +275 -241
  294. package/dist/esm/components/draw/index.js +5 -0
  295. package/dist/esm/components/drawer/drawer.js +52 -69
  296. package/dist/esm/components/drawer/drawerPage.js +36 -54
  297. package/dist/esm/components/drawer/index.js +2 -0
  298. package/dist/esm/components/editor/aiEditor.js +246 -289
  299. package/dist/esm/components/editor/index.js +1 -0
  300. package/dist/esm/components/flowEditor/components/fieldConfig.js +235 -243
  301. package/dist/esm/components/flowEditor/components/index.js +6 -0
  302. package/dist/esm/components/flowEditor/components/jsonEditor.js +39 -52
  303. package/dist/esm/components/flowEditor/components/kvInput.js +56 -66
  304. package/dist/esm/components/flowEditor/components/nodeCard.js +167 -201
  305. package/dist/esm/components/flowEditor/components/note.js +31 -36
  306. package/dist/esm/components/flowEditor/components/setting.js +181 -318
  307. package/dist/esm/components/flowEditor/components/toolbar.js +100 -119
  308. package/dist/esm/components/flowEditor/flowEditor.js +234 -325
  309. package/dist/esm/components/flowEditor/index.js +14 -0
  310. package/dist/esm/components/flowEditor/nodes/dynamicNodeFactory.js +287 -428
  311. package/dist/esm/components/flowEditor/nodes/endNode.js +56 -143
  312. package/dist/esm/components/flowEditor/nodes/index.js +6 -68
  313. package/dist/esm/components/flowEditor/nodes/processNode.js +55 -142
  314. package/dist/esm/components/flowEditor/nodes/startNode.js +55 -142
  315. package/dist/esm/components/flowEditor/utils/nodeDataUtils.js +120 -91
  316. package/dist/esm/components/form/drawerForm.js +62 -177
  317. package/dist/esm/components/form/formItem.js +69 -95
  318. package/dist/esm/components/form/formLayout.js +36 -39
  319. package/dist/esm/components/form/index.js +7 -0
  320. package/dist/esm/components/form/modalForm.js +58 -170
  321. package/dist/esm/components/form/pageForm.js +75 -177
  322. package/dist/esm/components/form/pageTabForm.js +69 -171
  323. package/dist/esm/components/form/settingForm.js +61 -156
  324. package/dist/esm/components/formEditor/base/base.js +48 -135
  325. package/dist/esm/components/formEditor/base/index.js +4 -0
  326. package/dist/esm/components/formEditor/base/json.js +28 -38
  327. package/dist/esm/components/formEditor/base/options.js +35 -47
  328. package/dist/esm/components/formEditor/base/setting.js +35 -125
  329. package/dist/esm/components/formEditor/components/cascader.js +136 -232
  330. package/dist/esm/components/formEditor/components/cascaderAsync.js +130 -228
  331. package/dist/esm/components/formEditor/components/checkbox.js +129 -226
  332. package/dist/esm/components/formEditor/components/color.js +85 -171
  333. package/dist/esm/components/formEditor/components/date.js +153 -240
  334. package/dist/esm/components/formEditor/components/dynamicInput.js +146 -241
  335. package/dist/esm/components/formEditor/components/dynamicTags.js +78 -164
  336. package/dist/esm/components/formEditor/components/editor.js +79 -154
  337. package/dist/esm/components/formEditor/components/fileUpload.js +104 -190
  338. package/dist/esm/components/formEditor/components/imageUpload.js +99 -183
  339. package/dist/esm/components/formEditor/components/index.js +23 -0
  340. package/dist/esm/components/formEditor/components/input.js +132 -226
  341. package/dist/esm/components/formEditor/components/inputNumber.js +113 -203
  342. package/dist/esm/components/formEditor/components/mentionAsync.js +102 -195
  343. package/dist/esm/components/formEditor/components/radio.js +127 -225
  344. package/dist/esm/components/formEditor/components/region.js +94 -181
  345. package/dist/esm/components/formEditor/components/select.js +126 -216
  346. package/dist/esm/components/formEditor/components/selectAsync.js +127 -229
  347. package/dist/esm/components/formEditor/components/sider.js +93 -183
  348. package/dist/esm/components/formEditor/components/switch.js +83 -168
  349. package/dist/esm/components/formEditor/components/time.js +97 -185
  350. package/dist/esm/components/formEditor/components/transferAsync.js +109 -208
  351. package/dist/esm/components/formEditor/components/treeSelect.js +126 -220
  352. package/dist/esm/components/formEditor/components/treeSelectAsync.js +101 -194
  353. package/dist/esm/components/formEditor/editor.js +165 -213
  354. package/dist/esm/components/formEditor/index.js +2 -0
  355. package/dist/esm/components/formEditor/json.js +17 -23
  356. package/dist/esm/components/formEditor/preview.js +27 -37
  357. package/dist/esm/components/formEditor/renderer.js +121 -171
  358. package/dist/esm/components/icon/icon.js +38 -109
  359. package/dist/esm/components/icon/iconPicker.js +59 -78
  360. package/dist/esm/components/icon/index.js +2 -0
  361. package/dist/esm/components/index.js +130 -0
  362. package/dist/esm/components/layout/filter.js +15 -27
  363. package/dist/esm/components/layout/filterLayout.js +24 -30
  364. package/dist/esm/components/layout/grid.js +17 -23
  365. package/dist/esm/components/layout/index.js +6 -0
  366. package/dist/esm/components/layout/list.js +402 -621
  367. package/dist/esm/components/layout/table.js +410 -632
  368. package/dist/esm/components/layout/tools.js +56 -153
  369. package/dist/esm/components/level/index.js +1 -0
  370. package/dist/esm/components/level/level.js +62 -136
  371. package/dist/esm/components/list/card.js +73 -94
  372. package/dist/esm/components/list/index.js +2 -0
  373. package/dist/esm/components/list/list.js +39 -54
  374. package/dist/esm/components/mapCoord/index.js +1 -0
  375. package/dist/esm/components/mapCoord/mapCoord.js +173 -214
  376. package/dist/esm/components/media/index.js +1 -0
  377. package/dist/esm/components/media/media.js +92 -101
  378. package/dist/esm/components/modal/index.js +3 -0
  379. package/dist/esm/components/modal/modal.js +51 -81
  380. package/dist/esm/components/modal/modalPage.js +41 -56
  381. package/dist/esm/components/modal/modalTab.js +50 -69
  382. package/dist/esm/components/panel/alert.js +30 -53
  383. package/dist/esm/components/panel/collapse.js +25 -45
  384. package/dist/esm/components/panel/index.js +3 -0
  385. package/dist/esm/components/panel/setting.js +28 -50
  386. package/dist/esm/components/posterEditor/components/CanvasRuler.js +101 -112
  387. package/dist/esm/components/posterEditor/elements/circle.js +135 -126
  388. package/dist/esm/components/posterEditor/elements/image.js +144 -130
  389. package/dist/esm/components/posterEditor/elements/index.js +32 -44
  390. package/dist/esm/components/posterEditor/elements/rect.js +176 -170
  391. package/dist/esm/components/posterEditor/elements/text.js +218 -205
  392. package/dist/esm/components/posterEditor/hooks/index.js +1 -0
  393. package/dist/esm/components/posterEditor/hooks/usePosterEditor.js +429 -433
  394. package/dist/esm/components/posterEditor/index.js +4 -0
  395. package/dist/esm/components/posterEditor/pages/LeftToolbar.js +31 -39
  396. package/dist/esm/components/posterEditor/pages/Panel.js +16 -30
  397. package/dist/esm/components/posterEditor/pages/PanelItem.js +11 -21
  398. package/dist/esm/components/posterEditor/pages/RightPanel.js +301 -439
  399. package/dist/esm/components/posterEditor/pages/index.js +2 -0
  400. package/dist/esm/components/posterEditor/posterEditor.js +149 -246
  401. package/dist/esm/components/schemaEditor/index.js +1 -0
  402. package/dist/esm/components/schemaEditor/schemaEditor.js +417 -555
  403. package/dist/esm/components/select/checkboxTag.js +48 -52
  404. package/dist/esm/components/select/dateTag.js +114 -127
  405. package/dist/esm/components/select/index.js +4 -0
  406. package/dist/esm/components/select/radioTag.js +48 -52
  407. package/dist/esm/components/select/selectCard.js +96 -101
  408. package/dist/esm/components/spec/index.js +2 -0
  409. package/dist/esm/components/spec/spec.js +195 -293
  410. package/dist/esm/components/spec/specEditor.js +220 -350
  411. package/dist/esm/components/stats/index.js +2 -0
  412. package/dist/esm/components/stats/number.js +34 -48
  413. package/dist/esm/components/stats/realTime.js +74 -98
  414. package/dist/esm/components/status/blockEmpty.js +153 -156
  415. package/dist/esm/components/status/index.js +2 -0
  416. package/dist/esm/components/status/listEmpty.js +20 -27
  417. package/dist/esm/components/table/index.js +2 -0
  418. package/dist/esm/components/table/table.js +46 -136
  419. package/dist/esm/components/table/tablePage.js +36 -57
  420. package/dist/esm/components/textImageEditor/index.js +1 -0
  421. package/dist/esm/components/textImageEditor/textImageEditor.js +270 -401
  422. package/dist/esm/components/textImageEditor/textModal.js +69 -76
  423. package/dist/esm/components/tree/index.js +1 -0
  424. package/dist/esm/components/tree/treeFilter.js +161 -224
  425. package/dist/esm/components/upload/config.js +18 -20
  426. package/dist/esm/components/upload/file.js +232 -316
  427. package/dist/esm/components/upload/image.js +169 -261
  428. package/dist/esm/components/upload/index.js +5 -0
  429. package/dist/esm/components/upload/manage/item.js +130 -209
  430. package/dist/esm/components/upload/manager.js +337 -453
  431. package/dist/esm/components/upload/selectFile.js +57 -71
  432. package/dist/esm/components/upload/video.js +224 -339
  433. package/dist/esm/components/widget/avatar.js +58 -58
  434. package/dist/esm/components/widget/connect.js +126 -118
  435. package/dist/esm/components/widget/image.js +17 -23
  436. package/dist/esm/components/widget/index.js +4 -0
  437. package/dist/esm/components/widget/placeholder.js +67 -66
  438. package/dist/esm/config/echart.js +323 -454
  439. package/dist/esm/config/index.js +3 -0
  440. package/dist/esm/config/uno.js +17 -34
  441. package/dist/esm/config/validate.js +9 -13
  442. package/dist/esm/dvha-pro.css +2 -1
  443. package/dist/esm/hooks/action.js +173 -200
  444. package/dist/esm/hooks/dialog.js +28 -92
  445. package/dist/esm/hooks/download.js +138 -146
  446. package/dist/esm/hooks/drawer.js +6 -72
  447. package/dist/esm/hooks/echart.js +484 -479
  448. package/dist/esm/hooks/image.js +20 -21
  449. package/dist/esm/hooks/index.js +18 -0
  450. package/dist/esm/hooks/level.js +59 -74
  451. package/dist/esm/hooks/modal.js +6 -72
  452. package/dist/esm/hooks/table/color.js +8 -18
  453. package/dist/esm/hooks/table/column.js +30 -32
  454. package/dist/esm/hooks/table/copy.js +17 -29
  455. package/dist/esm/hooks/table/hidden.js +33 -45
  456. package/dist/esm/hooks/table/image.js +27 -95
  457. package/dist/esm/hooks/table/index.js +7 -0
  458. package/dist/esm/hooks/table/input.js +85 -115
  459. package/dist/esm/hooks/table/map.js +5 -20
  460. package/dist/esm/hooks/table/media.js +17 -82
  461. package/dist/esm/hooks/table/status.js +21 -30
  462. package/dist/esm/hooks/table/switch.js +54 -64
  463. package/dist/esm/hooks/table.js +67 -91
  464. package/dist/esm/hooks/ui.js +12 -14
  465. package/dist/esm/index.js +149 -319
  466. package/dist/esm/langs/en-US.js +89 -0
  467. package/dist/esm/langs/zh-CN.js +89 -0
  468. package/dist/esm/main.js +14 -18
  469. package/dist/esm/pages/authLayout.js +30 -66
  470. package/dist/esm/pages/index.js +20 -0
  471. package/dist/esm/pages/layout/global.js +48 -80
  472. package/dist/esm/pages/layout/page.js +29 -113
  473. package/dist/esm/pages/layout/tab.js +84 -97
  474. package/dist/esm/pages/layout.js +9 -13
  475. package/dist/esm/pages/loading.js +7 -13
  476. package/dist/esm/pages/login.js +88 -185
  477. package/dist/esm/pages/menu/avatar.js +155 -266
  478. package/dist/esm/pages/menu/button.js +33 -103
  479. package/dist/esm/pages/menu/cmd.js +97 -198
  480. package/dist/esm/pages/menu/dark.js +40 -53
  481. package/dist/esm/pages/menu/index.js +7 -0
  482. package/dist/esm/pages/menu/menuApp.js +105 -226
  483. package/dist/esm/pages/menu/menuMain.js +68 -159
  484. package/dist/esm/pages/menu/mobile.js +20 -88
  485. package/dist/esm/pages/menu/notice.js +99 -211
  486. package/dist/esm/pages/page.js +41 -49
  487. package/dist/esm/pages/page403.js +37 -44
  488. package/dist/esm/pages/page404.js +38 -104
  489. package/dist/esm/pages/page500.js +35 -43
  490. package/dist/esm/pages/pageEmpty.js +19 -24
  491. package/dist/esm/pages/pageException.js +35 -43
  492. package/dist/esm/pages/pageLoading.js +16 -21
  493. package/dist/esm/pages/pageStatus.js +24 -100
  494. package/dist/esm/static/images/icon/audio.js +2 -0
  495. package/dist/esm/static/images/icon/excel.js +2 -0
  496. package/dist/esm/static/images/icon/file.js +2 -0
  497. package/dist/esm/static/images/icon/folder.js +2 -0
  498. package/dist/esm/static/images/icon/pdf.js +2 -0
  499. package/dist/esm/static/images/icon/ppt.js +2 -0
  500. package/dist/esm/static/images/icon/video.js +2 -0
  501. package/dist/esm/static/images/icon/word.js +2 -0
  502. package/dist/esm/stores/index.js +1 -0
  503. package/dist/esm/stores/ui.js +35 -32
  504. package/dist/esm/theme/index.js +2 -0
  505. package/dist/esm/theme/naiveTheme.js +74 -82
  506. package/dist/esm/theme/presetTheme.js +9 -11
  507. package/dist/esm/theme/uno.js +2 -0
  508. package/package.json +4 -4
  509. package/dist/cjs/langs/en-US.json.cjs +0 -1
  510. package/dist/cjs/langs/zh-CN.json.cjs +0 -1
  511. package/dist/cjs/static/images/icon/audio.svg.cjs +0 -1
  512. package/dist/cjs/static/images/icon/excel.svg.cjs +0 -1
  513. package/dist/cjs/static/images/icon/file.svg.cjs +0 -1
  514. package/dist/cjs/static/images/icon/folder.svg.cjs +0 -1
  515. package/dist/cjs/static/images/icon/pdf.svg.cjs +0 -1
  516. package/dist/cjs/static/images/icon/ppt.svg.cjs +0 -1
  517. package/dist/cjs/static/images/icon/video.svg.cjs +0 -1
  518. package/dist/cjs/static/images/icon/word.svg.cjs +0 -1
  519. package/dist/cjs/theme/uno.css.cjs +0 -1667
  520. package/dist/esm/langs/en-US.json.js +0 -15
  521. package/dist/esm/langs/zh-CN.json.js +0 -15
  522. package/dist/esm/static/images/icon/audio.svg.js +0 -4
  523. package/dist/esm/static/images/icon/excel.svg.js +0 -4
  524. package/dist/esm/static/images/icon/file.svg.js +0 -4
  525. package/dist/esm/static/images/icon/folder.svg.js +0 -4
  526. package/dist/esm/static/images/icon/pdf.svg.js +0 -4
  527. package/dist/esm/static/images/icon/ppt.svg.js +0 -4
  528. package/dist/esm/static/images/icon/video.svg.js +0 -4
  529. package/dist/esm/static/images/icon/word.svg.js +0 -4
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const fe=require("@vueuse/core"),X=require("fabric"),g=require("vue"),p=require("../elements/index.cjs");function me(C={}){const n=g.ref(null),Y=g.ref(null),l=g.ref({width:C.width||750,height:C.height||1e3,backgroundColor:C.backgroundColor||"#ffffff",backgroundImage:C.backgroundImage||"",elements:[]}),h=g.ref([]),w=g.ref(!1),O=g.ref(1),R=g.ref(0),y=g.ref(0);let B=null,S=()=>{},P=0;const F=()=>`element_${++P}`,m=()=>{w.value||(w.value=!0,g.nextTick(()=>{S(JSON.stringify(l.value)),w.value=!1}))},k=()=>{if(!n.value)return;const t=n.value.getObjects(),e=[];t.forEach(o=>{const a=o.elementId;if(!a)return;const c=l.value.elements.find(i=>i.id===a);if(!c)return;const u=p.getElementConfig(c.type);if(!u)return;const r=u.getPropsFromFabricObject(o);e.push({...c,...r,id:c.id,type:c.type})}),l.value.elements=e},f=fe.useThrottleFn(()=>{k(),m()},100),I=()=>{if(!n.value)return;const t=n.value.getActiveObjects(),e=n.value.getActiveObject();t.length>0?h.value=[...t]:e?h.value=[e]:h.value=[]},T=()=>{h.value=[]},z=t=>{if(!t.target)return;const e=t.target,o=e.elementId,c=l.value.elements.find(i=>i.id===o)?.type,u=e.scaleX||1,r=e.scaleY||1;if(u!==1||r!==1){if(c==="circle"){const i=Math.max(u,r),d=Math.round((e.radius||50)*i);e.set({radius:d,scaleX:1,scaleY:1})}else if(c!=="image"){const i=Math.round(e.width*u),d=Math.round(e.height*r);e.set({width:i,height:d,scaleX:1,scaleY:1})}e.setCoords()}f()},L=t=>{const e=t.target;if(!e)return;const o=e.elementId;if(!o)return;const a=l.value.elements.find(c=>c.id===o);if(a){if(a.type==="circle"){const c=Math.max(e.scaleX||1,e.scaleY||1);e.set({scaleX:c,scaleY:c}),e.setCoords()}if(a.type==="rect"){const c=e.__corner;if(c&&["tl","tr","bl","br"].includes(c)){const r=Math.max(Math.abs(e.scaleX||1),Math.abs(e.scaleY||1));e.set({scaleX:e.scaleX>=0?r:-r,scaleY:e.scaleY>=0?r:-r}),e.setCoords()}}if(a.type==="image"){const c=e.__corner;if(c&&["tl","tr","bl","br"].includes(c)){const r=Math.max(Math.abs(e.scaleX||1),Math.abs(e.scaleY||1));e.set({scaleX:e.scaleX>=0?r:-r,scaleY:e.scaleY>=0?r:-r}),e.setCoords()}}}},H=()=>{n.value&&(n.value.on("selection:created",I),n.value.on("selection:updated",I),n.value.on("selection:cleared",T),n.value.on("mouse:down",()=>setTimeout(I,10)),n.value.on("mouse:up",()=>setTimeout(I,10)),n.value.on("object:modified",z),n.value.on("object:scaling",L),n.value.on("path:created",f),n.value.on("object:moving",f),n.value.on("object:rotating",f),n.value.on("object:skewing",f),n.value.on("object:added",f),n.value.on("object:removed",f),n.value.on("custom:text:changed",t=>{t.target&&t.newText!==void 0&&t.target.elementId&&f()}))},M=()=>{if(!n.value)return;const t=O.value||1;n.value.setZoom(t),n.value.setDimensions({width:l.value.width*t,height:l.value.height*t}),n.value.backgroundColor=l.value.backgroundColor,n.value.renderAll(),n.value.getObjects().forEach(e=>e.setCoords())},E=()=>{if(!B)return;const t=B.getBoundingClientRect();R.value=t.width-40,y.value=t.height-40;const e=R.value/l.value.width,o=y.value/l.value.height,a=Math.min(e,o,1);O.value=a,n.value&&(n.value.setZoom(a),n.value.setDimensions({width:l.value.width*a,height:l.value.height*a}),n.value.renderAll(),n.value.getObjects().forEach(c=>c.setCoords()))},A=t=>{B=t,g.nextTick(E);const e=new ResizeObserver(E);return e.observe(t),()=>e.disconnect()},_=(t,e)=>{const o=l.value.width,a=l.value.height,c=t.getBoundingRect();switch(e){case"center-horizontal":t.set("left",Math.round(t.left+(o/2-c.left-c.width/2)));break;case"center-vertical":t.set("top",Math.round(t.top+(a/2-c.top-c.height/2)));break;case"center-both":t.set({left:Math.round(t.left+(o/2-c.left-c.width/2)),top:Math.round(t.top+(a/2-c.top-c.height/2))});break;case"move-up":n.value?.bringObjectForward(t);break;case"move-down":n.value?.sendObjectBackwards(t);break;case"move-to-front":n.value?.bringObjectToFront(t);break;case"move-to-back":n.value?.sendObjectToBack(t);break}t.setCoords(),n.value?.renderAll()},q=t=>{if(t.length<3)return;const e=[...t].sort((d,s)=>d.getBoundingRect().left-s.getBoundingRect().left),o=e[0].getBoundingRect(),a=e[e.length-1].getBoundingRect(),c=a.left+a.width-o.left,u=e.reduce((d,s)=>d+s.getBoundingRect().width,0),r=(c-u)/(e.length-1);let i=o.left+o.width+r;for(let d=1;d<e.length-1;d++){const s=e[d],v=s.getBoundingRect();s.set("left",Math.round(s.left+(i-v.left))),i+=v.width+r}},J=t=>{if(t.length<3)return;const e=[...t].sort((d,s)=>d.getBoundingRect().top-s.getBoundingRect().top),o=e[0].getBoundingRect(),a=e[e.length-1].getBoundingRect(),c=a.top+a.height-o.top,u=e.reduce((d,s)=>d+s.getBoundingRect().height,0),r=(c-u)/(e.length-1);let i=o.top+o.height+r;for(let d=1;d<e.length-1;d++){const s=e[d],v=s.getBoundingRect();s.set("top",Math.round(s.top+(i-v.top))),i+=v.height+r}},K=(t,e)=>{if(t.length<2)return;const o=t.map(s=>s.getBoundingRect()),a=Math.min(...o.map(s=>s.left)),c=Math.max(...o.map(s=>s.left+s.width)),u=Math.min(...o.map(s=>s.top)),r=Math.max(...o.map(s=>s.top+s.height)),i=(a+c)/2,d=(u+r)/2;switch(e){case"left":t.forEach(s=>{const v=s.getBoundingRect();s.set("left",Math.round(s.left+(a-v.left)))});break;case"right":t.forEach(s=>{const v=s.getBoundingRect();s.set("left",Math.round(s.left+(c-v.left-v.width)))});break;case"top":t.forEach(s=>{const v=s.getBoundingRect();s.set("top",Math.round(s.top+(u-v.top)))});break;case"bottom":t.forEach(s=>{const v=s.getBoundingRect();s.set("top",Math.round(s.top+(r-v.top-v.height)))});break;case"center-horizontal":t.forEach(s=>{const v=s.getBoundingRect(),j=v.left+v.width/2;s.set("left",Math.round(s.left+(i-j)))});break;case"center-vertical":t.forEach(s=>{const v=s.getBoundingRect(),j=v.top+v.height/2;s.set("top",Math.round(s.top+(d-j)))});break;case"distribute-horizontal":q(t);break;case"distribute-vertical":J(t);break}t.forEach(s=>s.setCoords()),n.value?.renderAll()},U=(t,e)=>(Y.value=t,n.value=g.markRaw(new X.Canvas(t,{selection:!0,preserveObjectStacking:!0,uniformScaling:!1,uniScaleKey:"shiftKey",altActionKey:"altKey"})),H(),M(),e&&A(e),n.value),W=async(t,e={})=>{const o=p.getElementConfig(t);if(!o||!n.value)return;const a=F(),c=l.value.width/2,u=l.value.height/2,r={...o.defaultProps,left:Math.round(c-(o.defaultProps.width||100)/2),top:Math.round(u-(o.defaultProps.height||50)/2),...e,id:a},i=await o.createFabricObject(r);if(!i)return;i.elementId=a,n.value.add(i),i.setCoords(),n.value.setActiveObject(i),n.value.renderAll();const d=r;return l.value.elements.push(d),a},N=()=>{if(!n.value||h.value.length===0)return;n.value.getActiveObjects().forEach(e=>{const o=e.elementId;if(o){const a=l.value.elements.findIndex(c=>c.id===o);a!==-1&&l.value.elements.splice(a,1)}n.value?.remove(e)}),n.value.discardActiveObject(),h.value=[],n.value.renderAll()},Z=()=>{n.value?.discardActiveObject(),n.value?.renderAll()},$=(t,e,o)=>{const a=l.value.elements.findIndex(i=>i.id===t);if(a===-1)return;const c=l.value.elements[a],u=p.getElementConfig(c.type);if(!u)return;l.value.elements[a]={...c,[e]:o};const r=n.value?.getObjects().find(i=>i.elementId===t);r&&u.onPropsChange&&(u.onPropsChange(l.value.elements[a],r),r.setCoords(),n.value?.renderAll())},V=g.computed(()=>{if(h.value.length!==1||l.value.elements.length<=1)return!1;const e=h.value[0].elementId;if(!e)return!1;const o=l.value.elements.findIndex(a=>a.id===e);return o!==-1&&o<l.value.elements.length-1}),G=g.computed(()=>{if(h.value.length!==1||l.value.elements.length<=1)return!1;const e=h.value[0].elementId;return e?l.value.elements.findIndex(a=>a.id===e)>0:!1}),Q=g.computed(()=>{if(h.value.length!==1||l.value.elements.length<=1)return!1;const e=h.value[0].elementId;if(!e)return!1;const o=l.value.elements.findIndex(a=>a.id===e);return o!==-1&&o<l.value.elements.length-1}),ee=g.computed(()=>{if(h.value.length!==1||l.value.elements.length<=1)return!1;const e=h.value[0].elementId;return e?l.value.elements.findIndex(a=>a.id===e)>0:!1}),te=t=>{const e=n.value?.getActiveObjects()||[];if(e.length===1){if(_(e[0],t),["move-up","move-down","move-to-front","move-to-back"].includes(t)){const o=e[0].elementId;if(o){const a=l.value.elements.findIndex(c=>c.id===o);if(a!==-1){const c=l.value.elements[a];switch(l.value.elements.splice(a,1),t){case"move-up":l.value.elements.splice(Math.min(a+1,l.value.elements.length),0,c);break;case"move-down":l.value.elements.splice(Math.max(a-1,0),0,c);break;case"move-to-front":l.value.elements.push(c);break;case"move-to-back":l.value.elements.unshift(c);break}}}}}else e.length>1&&K(e,t)},ne=()=>{n.value&&(n.value.clear(),l.value.elements=[],h.value=[])},ae=async t=>{if(t)try{const e=JSON.parse(t);if(l.value={width:e.width||750,height:e.height||1e3,backgroundColor:e.backgroundColor||"#ffffff",backgroundImage:e.backgroundImage||"",elements:e.elements||[]},n.value){n.value.clear(),n.value.setDimensions({width:l.value.width,height:l.value.height}),n.value.backgroundColor=l.value.backgroundColor,l.value.backgroundImage&&D(l.value.backgroundImage);const o=l.value.elements.map(async a=>{const c=p.getElementConfig(a.type);if(!c)return;const u=await c.createFabricObject(a);u&&(u.elementId=a.id,n.value?.add(u))});Promise.all(o).then(()=>{M(),n.value?.renderAll(),m()})}}catch(e){console.error("Failed to load data:",e)}},le=t=>{S=t?.onDataChange||(()=>{})},oe=()=>{n.value&&(n.value.dispose(),n.value=null)},x=g.computed(()=>h.value.length===1?h.value[0]:null),b=g.computed(()=>{if(!x.value)return null;const t=x.value.elementId;return l.value.elements.find(e=>e.id===t)||null}),ce=g.computed(()=>b.value?p.getElementConfig(b.value.type):null),se=g.computed(()=>h.value.length>1),re=t=>{if(b.value)return b.value[t]},ue=g.computed(()=>h.value.map(t=>{const e=t.elementId;return l.value.elements.find(o=>o.id===e)}).filter(t=>!!t)),ie=(t,e)=>{l.value.width=t,l.value.height=e,n.value&&(n.value.setDimensions({width:t,height:e}),E(),n.value.renderAll()),m()},de=t=>{l.value.backgroundColor=t,n.value&&(n.value.backgroundColor=t,n.value.renderAll()),m()},D=t=>{!n.value||!t||X.FabricImage.fromURL(t,{crossOrigin:"anonymous"}).then(e=>{n.value&&(n.value.backgroundImage=e,n.value.renderAll())}).catch(e=>{console.error("Failed to load background image:",e)})},ve=t=>{l.value.backgroundImage=t,t?D(t):n.value&&(n.value.backgroundImage=void 0,n.value.renderAll()),m()},ge=()=>{k(),m()},he=()=>{k();const t=JSON.stringify(l.value,null,2),e=new Blob([t],{type:"application/json"}),o=URL.createObjectURL(e),a=document.createElement("a");a.href=o,a.download=`poster-${Date.now()}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(o)};return g.watch(l,()=>{f()},{deep:!0}),{initCanvas:U,destroy:oe,setCallbacks:le,addElement:W,deleteSelectedElements:N,updateElementProperty:$,alignElements:te,canMoveUp:V,canMoveDown:G,canMoveToFront:Q,canMoveToBack:ee,clearCanvas:ne,loadData:ae,updateData:m,canvas:n,canvasData:l,selectedElements:h,canvasScale:O,currentElement:x,currentElementData:b,currentElementConfig:ce,hasMultipleSelection:se,clearSelection:Z,updateCanvasSize:M,setupAutoResize:A,getSelectedElementProperty:re,selectedElementsData:ue,syncAllFabricObjectsToData:k,updateCanvasSettings:ie,updateCanvasBackground:de,updateCanvasBackgroundImage:ve,saveData:ge,exportJson:he}}exports.usePosterEditor=me;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../elements/index.cjs`);let t=require(`vue`),n=require(`@vueuse/core`),r=require(`fabric`);function i(i={}){let a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)({width:i.width||750,height:i.height||1e3,backgroundColor:i.backgroundColor||`#ffffff`,backgroundImage:i.backgroundImage||``,elements:[]}),c=(0,t.ref)([]),l=(0,t.ref)(!1),u=(0,t.ref)(1),d=(0,t.ref)(0),f=(0,t.ref)(0),p=null,m=()=>{},ee=0,h=()=>`element_${++ee}`,g=()=>{l.value||(l.value=!0,(0,t.nextTick)(()=>{m(JSON.stringify(s.value)),l.value=!1}))},_=()=>{if(!a.value)return;let t=a.value.getObjects(),n=[];t.forEach(t=>{let r=t.elementId;if(!r)return;let i=s.value.elements.find(e=>e.id===r);if(!i)return;let a=e.getElementConfig(i.type);if(!a)return;let o=a.getPropsFromFabricObject(t);n.push({...i,...o,id:i.id,type:i.type})}),s.value.elements=n},v=(0,n.useThrottleFn)(()=>{_(),g()},100),y=()=>{if(!a.value)return;let e=a.value.getActiveObjects(),t=a.value.getActiveObject();e.length>0?c.value=[...e]:t?c.value=[t]:c.value=[]},b=()=>{c.value=[]},x=e=>{if(!e.target)return;let t=e.target,n=t.elementId,r=s.value.elements.find(e=>e.id===n)?.type,i=t.scaleX||1,a=t.scaleY||1;if(i!==1||a!==1){if(r===`circle`){let e=Math.max(i,a),n=Math.round((t.radius||50)*e);t.set({radius:n,scaleX:1,scaleY:1})}else if(r!==`image`){let e=Math.round(t.width*i),n=Math.round(t.height*a);t.set({width:e,height:n,scaleX:1,scaleY:1})}t.setCoords()}v()},S=e=>{let t=e.target;if(!t)return;let n=t.elementId;if(!n)return;let r=s.value.elements.find(e=>e.id===n);if(r){if(r.type===`circle`){let e=Math.max(t.scaleX||1,t.scaleY||1);t.set({scaleX:e,scaleY:e}),t.setCoords()}if(r.type===`rect`){let e=t.__corner;if(e&&[`tl`,`tr`,`bl`,`br`].includes(e)){let e=Math.max(Math.abs(t.scaleX||1),Math.abs(t.scaleY||1));t.set({scaleX:t.scaleX>=0?e:-e,scaleY:t.scaleY>=0?e:-e}),t.setCoords()}}if(r.type===`image`){let e=t.__corner;if(e&&[`tl`,`tr`,`bl`,`br`].includes(e)){let e=Math.max(Math.abs(t.scaleX||1),Math.abs(t.scaleY||1));t.set({scaleX:t.scaleX>=0?e:-e,scaleY:t.scaleY>=0?e:-e}),t.setCoords()}}}},C=()=>{if(!a.value)return;let e=e=>{let t=e?.e;return!t||typeof t.button!=`number`?!0:t.button===0};a.value.on(`selection:created`,y),a.value.on(`selection:updated`,y),a.value.on(`selection:cleared`,b),a.value.on(`mouse:down`,t=>{e(t)&&setTimeout(y,10)}),a.value.on(`mouse:up`,t=>{e(t)&&setTimeout(y,10)}),a.value.on(`object:modified`,x),a.value.on(`object:scaling`,S),a.value.on(`path:created`,v),a.value.on(`object:moving`,v),a.value.on(`object:rotating`,v),a.value.on(`object:skewing`,v),a.value.on(`object:added`,v),a.value.on(`object:removed`,v),a.value.on(`custom:text:changed`,e=>{e.target&&e.newText!==void 0&&e.target.elementId&&v()})},w=()=>{if(!a.value)return;let e=u.value||1;a.value.setZoom(e),a.value.setDimensions({width:s.value.width*e,height:s.value.height*e}),a.value.backgroundColor=s.value.backgroundColor,a.value.renderAll(),a.value.getObjects().forEach(e=>e.setCoords())},T=()=>{if(!p)return;let e=p.getBoundingClientRect();d.value=e.width-40,f.value=e.height-40;let t=d.value/s.value.width,n=f.value/s.value.height,r=Math.min(t,n,1);u.value=r,a.value&&(a.value.setZoom(r),a.value.setDimensions({width:s.value.width*r,height:s.value.height*r}),a.value.renderAll(),a.value.getObjects().forEach(e=>e.setCoords()))},E=e=>{p=e,(0,t.nextTick)(T);let n=new ResizeObserver(T);return n.observe(e),()=>n.disconnect()},D=(e,t)=>{let n=s.value.width,r=s.value.height,i=e.getBoundingRect();switch(t){case`center-horizontal`:e.set(`left`,Math.round(e.left+(n/2-i.left-i.width/2)));break;case`center-vertical`:e.set(`top`,Math.round(e.top+(r/2-i.top-i.height/2)));break;case`center-both`:e.set({left:Math.round(e.left+(n/2-i.left-i.width/2)),top:Math.round(e.top+(r/2-i.top-i.height/2))});break;case`move-up`:a.value?.bringObjectForward(e);break;case`move-down`:a.value?.sendObjectBackwards(e);break;case`move-to-front`:a.value?.bringObjectToFront(e);break;case`move-to-back`:a.value?.sendObjectToBack(e);break}e.setCoords(),a.value?.renderAll()},O=e=>{if(e.length<3)return;let t=[...e].sort((e,t)=>e.getBoundingRect().left-t.getBoundingRect().left),n=t[0].getBoundingRect(),r=t[t.length-1].getBoundingRect(),i=(r.left+r.width-n.left-t.reduce((e,t)=>e+t.getBoundingRect().width,0))/(t.length-1),a=n.left+n.width+i;for(let e=1;e<t.length-1;e++){let n=t[e],r=n.getBoundingRect();n.set(`left`,Math.round(n.left+(a-r.left))),a+=r.width+i}},k=e=>{if(e.length<3)return;let t=[...e].sort((e,t)=>e.getBoundingRect().top-t.getBoundingRect().top),n=t[0].getBoundingRect(),r=t[t.length-1].getBoundingRect(),i=(r.top+r.height-n.top-t.reduce((e,t)=>e+t.getBoundingRect().height,0))/(t.length-1),a=n.top+n.height+i;for(let e=1;e<t.length-1;e++){let n=t[e],r=n.getBoundingRect();n.set(`top`,Math.round(n.top+(a-r.top))),a+=r.height+i}},A=(e,t)=>{if(e.length<2)return;let n=e.map(e=>e.getBoundingRect()),r=Math.min(...n.map(e=>e.left)),i=Math.max(...n.map(e=>e.left+e.width)),o=Math.min(...n.map(e=>e.top)),s=Math.max(...n.map(e=>e.top+e.height)),c=(r+i)/2,l=(o+s)/2;switch(t){case`left`:e.forEach(e=>{let t=e.getBoundingRect();e.set(`left`,Math.round(e.left+(r-t.left)))});break;case`right`:e.forEach(e=>{let t=e.getBoundingRect();e.set(`left`,Math.round(e.left+(i-t.left-t.width)))});break;case`top`:e.forEach(e=>{let t=e.getBoundingRect();e.set(`top`,Math.round(e.top+(o-t.top)))});break;case`bottom`:e.forEach(e=>{let t=e.getBoundingRect();e.set(`top`,Math.round(e.top+(s-t.top-t.height)))});break;case`center-horizontal`:e.forEach(e=>{let t=e.getBoundingRect(),n=t.left+t.width/2;e.set(`left`,Math.round(e.left+(c-n)))});break;case`center-vertical`:e.forEach(e=>{let t=e.getBoundingRect(),n=t.top+t.height/2;e.set(`top`,Math.round(e.top+(l-n)))});break;case`distribute-horizontal`:O(e);break;case`distribute-vertical`:k(e);break}e.forEach(e=>e.setCoords()),a.value?.renderAll()},j=(e,n)=>(o.value=e,a.value=(0,t.markRaw)(new r.Canvas(e,{selection:!0,preserveObjectStacking:!0,uniformScaling:!1,uniScaleKey:`shiftKey`,altActionKey:`altKey`})),C(),w(),n&&E(n),a.value),M=async(t,n={})=>{let r=e.getElementConfig(t);if(!r||!a.value)return;let i=h(),o=s.value.width/2,c=s.value.height/2,l={...r.defaultProps,left:Math.round(o-(r.defaultProps.width||100)/2),top:Math.round(c-(r.defaultProps.height||50)/2),...n,id:i},u=await r.createFabricObject(l);if(!u)return;u.elementId=i,a.value.add(u),u.setCoords(),a.value.setActiveObject(u),a.value.renderAll();let d=l;return s.value.elements.push(d),i},N=()=>{!a.value||c.value.length===0||(a.value.getActiveObjects().forEach(e=>{let t=e.elementId;if(t){let e=s.value.elements.findIndex(e=>e.id===t);e!==-1&&s.value.elements.splice(e,1)}a.value?.remove(e)}),a.value.discardActiveObject(),c.value=[],a.value.renderAll())},P=()=>{a.value?.discardActiveObject(),a.value?.renderAll()},F=(t,n,r)=>{let i=s.value.elements.findIndex(e=>e.id===t);if(i===-1)return;let o=s.value.elements[i],c=e.getElementConfig(o.type);if(!c)return;s.value.elements[i]={...o,[n]:r};let l=a.value?.getObjects().find(e=>e.elementId===t);l&&c.onPropsChange&&(c.onPropsChange(s.value.elements[i],l),l.setCoords(),a.value?.renderAll())},I=(0,t.computed)(()=>{if(c.value.length!==1||s.value.elements.length<=1)return!1;let e=c.value[0].elementId;if(!e)return!1;let t=s.value.elements.findIndex(t=>t.id===e);return t!==-1&&t<s.value.elements.length-1}),L=(0,t.computed)(()=>{if(c.value.length!==1||s.value.elements.length<=1)return!1;let e=c.value[0].elementId;return e?s.value.elements.findIndex(t=>t.id===e)>0:!1}),R=(0,t.computed)(()=>{if(c.value.length!==1||s.value.elements.length<=1)return!1;let e=c.value[0].elementId;if(!e)return!1;let t=s.value.elements.findIndex(t=>t.id===e);return t!==-1&&t<s.value.elements.length-1}),z=(0,t.computed)(()=>{if(c.value.length!==1||s.value.elements.length<=1)return!1;let e=c.value[0].elementId;return e?s.value.elements.findIndex(t=>t.id===e)>0:!1}),B=e=>{let t=a.value?.getActiveObjects()||[];if(t.length===1){if(D(t[0],e),[`move-up`,`move-down`,`move-to-front`,`move-to-back`].includes(e)){let n=t[0].elementId;if(n){let t=s.value.elements.findIndex(e=>e.id===n);if(t!==-1){let n=s.value.elements[t];switch(s.value.elements.splice(t,1),e){case`move-up`:s.value.elements.splice(Math.min(t+1,s.value.elements.length),0,n);break;case`move-down`:s.value.elements.splice(Math.max(t-1,0),0,n);break;case`move-to-front`:s.value.elements.push(n);break;case`move-to-back`:s.value.elements.unshift(n);break}}}}}else t.length>1&&A(t,e)},V=()=>{a.value&&(a.value.clear(),s.value.elements=[],c.value=[])},H=async t=>{if(t)try{let n=JSON.parse(t);if(s.value={width:n.width||750,height:n.height||1e3,backgroundColor:n.backgroundColor||`#ffffff`,backgroundImage:n.backgroundImage||``,elements:n.elements||[]},a.value){a.value.clear(),a.value.setDimensions({width:s.value.width,height:s.value.height}),a.value.backgroundColor=s.value.backgroundColor,s.value.backgroundImage&&$(s.value.backgroundImage);let t=s.value.elements.map(async t=>{let n=e.getElementConfig(t.type);if(!n)return;let r=await n.createFabricObject(t);r&&(r.elementId=t.id,a.value?.add(r))});Promise.all(t).then(()=>{w(),a.value?.renderAll(),g()})}}catch(e){console.error(`Failed to load data:`,e)}},U=e=>{m=e?.onDataChange||(()=>{})},W=()=>{a.value&&=(a.value.dispose(),null)},G=(0,t.computed)(()=>c.value.length===1?c.value[0]:null),K=(0,t.computed)(()=>{if(!G.value)return null;let e=G.value.elementId;return s.value.elements.find(t=>t.id===e)||null}),q=(0,t.computed)(()=>K.value?e.getElementConfig(K.value.type):null),J=(0,t.computed)(()=>c.value.length>1),Y=e=>{if(K.value)return K.value[e]},X=(0,t.computed)(()=>c.value.map(e=>{let t=e.elementId;return s.value.elements.find(e=>e.id===t)}).filter(e=>!!e)),Z=(e,t)=>{s.value.width=e,s.value.height=t,a.value&&(a.value.setDimensions({width:e,height:t}),T(),a.value.renderAll()),g()},Q=e=>{s.value.backgroundColor=e,a.value&&(a.value.backgroundColor=e,a.value.renderAll()),g()},$=e=>{!a.value||!e||r.FabricImage.fromURL(e,{crossOrigin:`anonymous`}).then(e=>{a.value&&(a.value.backgroundImage=e,a.value.renderAll())}).catch(e=>{console.error(`Failed to load background image:`,e)})};return(0,t.watch)(s,()=>{v()},{deep:!0}),{initCanvas:j,destroy:W,setCallbacks:U,addElement:M,deleteSelectedElements:N,updateElementProperty:F,alignElements:B,canMoveUp:I,canMoveDown:L,canMoveToFront:R,canMoveToBack:z,clearCanvas:V,loadData:H,updateData:g,canvas:a,canvasData:s,selectedElements:c,canvasScale:u,currentElement:G,currentElementData:K,currentElementConfig:q,hasMultipleSelection:J,clearSelection:P,updateCanvasSize:w,setupAutoResize:E,getSelectedElementProperty:Y,selectedElementsData:X,syncAllFabricObjectsToData:_,updateCanvasSettings:Z,updateCanvasBackground:Q,updateCanvasBackgroundImage:e=>{s.value.backgroundImage=e,e?$(e):a.value&&(a.value.backgroundImage=void 0,a.value.renderAll()),g()},saveData:()=>{_(),g()},exportJson:()=>{_();let e=JSON.stringify(s.value,null,2),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`poster-${Date.now()}.json`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}}}exports.usePosterEditor=i;
@@ -0,0 +1 @@
1
+ require(`./elements/index.cjs`),require(`./hooks/usePosterEditor.cjs`),require(`./hooks/index.cjs`),require(`./posterEditor.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("naive-ui"),n=require("../elements/index.cjs"),u=e.defineComponent({name:"LeftToolbar",props:{onAddElement:{type:Function,required:!0},canvasWidth:{type:Number,required:!0},canvasHeight:{type:Number,required:!0}},setup(o){return()=>e.createVNode("div",{class:"p-4 bg-default border-r border-default flex flex-col gap-6"},[n.elementConfigs.map(t=>e.createVNode(r.NTooltip,null,{default:()=>t.name,trigger:()=>e.createVNode(r.NButton,{key:t.type,text:!0,size:"large",onClick:()=>o.onAddElement(t.type)},{icon:()=>e.createVNode("div",{class:t.icon},null)})}))])}});exports.LeftToolbar=u;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../elements/index.cjs`);let t=require(`vue`),n=require(`naive-ui`);const r=(0,t.defineComponent)({name:`LeftToolbar`,props:{onAddElement:{type:Function,required:!0},canvasWidth:{type:Number,required:!0},canvasHeight:{type:Number,required:!0}},setup(r){return()=>(0,t.createVNode)(`div`,{class:`p-4 bg-default border-r border-default flex flex-col gap-6`},[e.elementConfigs.map(e=>(0,t.createVNode)(n.NTooltip,null,{default:()=>e.name,trigger:()=>(0,t.createVNode)(n.NButton,{key:e.type,text:!0,size:`large`,onClick:()=>r.onAddElement(e.type)},{icon:()=>(0,t.createVNode)(`div`,{class:e.icon},null)})}))])}});exports.LeftToolbar=r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("naive-ui"),o=e.defineComponent({name:"Panel",props:{title:{type:String,required:!0}},setup(r,{slots:l}){return()=>e.createVNode("div",{class:"flex flex-col h-full"},[e.createVNode("div",{class:"font-medium p-3 border-b border-default"},[r.title]),e.createVNode("div",{class:" flex-1 min-h-0"},[e.createVNode(t.NScrollbar,null,{default:()=>[e.createVNode("div",{class:"p-3 flex flex-col gap-2"},[l.default?.()])]})]),e.createVNode("div",{class:"border-t border-default p-3 flex flex-col gap-2"},[l.footer?.()])])}});exports.Panel=o;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`naive-ui`);const n=(0,e.defineComponent)({name:`Panel`,props:{title:{type:String,required:!0}},setup(n,{slots:r}){return()=>(0,e.createVNode)(`div`,{class:`flex flex-col h-full`},[(0,e.createVNode)(`div`,{class:`font-medium p-3 border-b border-default`},[n.title]),(0,e.createVNode)(`div`,{class:` flex-1 min-h-0`},[(0,e.createVNode)(t.NScrollbar,null,{default:()=>[(0,e.createVNode)(`div`,{class:`p-3 flex flex-col gap-2`},[r.default?.()])]})]),(0,e.createVNode)(`div`,{class:`border-t border-default p-3 flex flex-col gap-2`},[r.footer?.()])])}});exports.Panel=n;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=e.defineComponent({name:"PanelItem",props:{title:{type:String,required:!0}},setup(t,{slots:l}){return()=>e.createVNode("div",{class:"flex flex-col gap-1"},[e.createVNode("div",{class:"text-muted text-sm"},[t.title]),e.createVNode("div",null,[l.default?.()])])}});exports.PanelItem=r;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`);const t=(0,e.defineComponent)({name:`PanelItem`,props:{title:{type:String,required:!0}},setup(t,{slots:n}){return()=>(0,e.createVNode)(`div`,{class:`flex flex-col gap-1`},[(0,e.createVNode)(`div`,{class:`text-muted text-sm`},[t.title]),(0,e.createVNode)(`div`,null,[n.default?.()])])}});exports.PanelItem=t;
@@ -1 +1 @@
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("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");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("vee-validate");require("@duxweb/dvha-naiveui");require("vue-command-palette");require("../../../pages/page404.cjs");require("vue-draggable-plus");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("lodash-es/cloneDeep");require("@vue-flow/background");;/* empty css */require("@iconify-json/tabler/icons.json");require("../elements/index.cjs");require("fabric");const o=require("./Panel.cjs"),n=require("./PanelItem.cjs");require("../../schemaEditor/schemaEditor.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;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../upload/image.cjs`);require(`../../upload/index.cjs`);const t=require(`./Panel.cjs`),n=require(`./PanelItem.cjs`);let r=require(`vue`),i=require(`naive-ui`);function a(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!(0,r.isVNode)(e)}const o=(0,r.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(o){let s=()=>{if(o.hasMultipleSelection)return(0,r.createVNode)(t.Panel,{title:`多选操作`},{default:()=>(0,r.createVNode)(r.Fragment,null,[(0,r.createVNode)(n.PanelItem,{title:`对齐`},{default:()=>[(0,r.createVNode)(`div`,{class:`grid grid-cols-4 gap-2`},[(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`left`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-align-left`},null)},null),default:()=>`左对齐`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`right`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-align-right`},null)},null),default:()=>`右对齐`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`top`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-align-top`},null)},null),default:()=>`顶部对齐`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`bottom`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-align-bottom`},null)},null),default:()=>`底部对齐`})])]}),(0,r.createVNode)(n.PanelItem,{title:`居中`},{default:()=>[(0,r.createVNode)(`div`,{class:`grid grid-cols-4 gap-2`},[(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`center-horizontal`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-align-center`},null)},null),default:()=>`水平居中`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`center-vertical`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-align-middle`},null)},null),default:()=>`垂直居中`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`distribute-horizontal`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-distribute-horizontal`},null)},null),default:()=>`水平分布`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`distribute-vertical`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-distribute-vertical`},null)},null),default:()=>`垂直分布`})])]})]),footer:()=>(0,r.createVNode)(r.Fragment,null,[(0,r.createVNode)(i.NButton,{block:!0,onClick:o.onDeleteSelectedElements,type:`error`},{icon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:trash`},null),default:()=>`删除`})])});if(o.currentElementData&&o.currentElementConfig){let e=o.currentElementConfig.getToolbarControls(o.currentElementData);return(0,r.createVNode)(t.Panel,{title:`元素设置`},{default:()=>(0,r.createVNode)(r.Fragment,null,[e.map(e=>{let t;return(0,r.createVNode)(n.PanelItem,{key:e.key,title:e.label},a(t=o.onRenderToolbarControl(e))?t:{default:()=>[t]})}),(0,r.createVNode)(n.PanelItem,{title:`X`},{default:()=>[(0,r.createVNode)(i.NInputNumber,{value:o.currentElementData?.left,"onUpdate:value":e=>o.onUpdateElementProperty(o.currentElementData.id,`left`,e||0)},null)]}),(0,r.createVNode)(n.PanelItem,{title:`Y`},{default:()=>[(0,r.createVNode)(i.NInputNumber,{value:o.currentElementData?.top,"onUpdate:value":e=>o.onUpdateElementProperty(o.currentElementData.id,`top`,e||0)},null)]}),(0,r.createVNode)(n.PanelItem,{title:`角度`},{default:()=>[(0,r.createVNode)(i.NInputNumber,{value:o.currentElementData?.angle,min:-180,max:180,"onUpdate:value":e=>o.onUpdateElementProperty(o.currentElementData.id,`angle`,e||0)},null)]}),(0,r.createVNode)(n.PanelItem,{title:`对齐`},{default:()=>[(0,r.createVNode)(`div`,{class:`grid grid-cols-3 gap-2`},[(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`center-horizontal`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-align-center`},null)},null),default:()=>`水平居中`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`center-vertical`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-align-middle`},null)},null),default:()=>`垂直居中`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{onClick:()=>o.onAlignElements(`center-both`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:layout-distribute-horizontal`},null)},null),default:()=>`居中`})])]}),(0,r.createVNode)(n.PanelItem,{title:`层级`},{default:()=>[(0,r.createVNode)(`div`,{class:`grid grid-cols-4 gap-2`},[(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{disabled:!o.canMoveUp,onClick:()=>o.onAlignElements(`move-up`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:arrow-narrow-up`},null)},null),default:()=>`上移一层`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{disabled:!o.canMoveDown,onClick:()=>o.onAlignElements(`move-down`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:arrow-narrow-down`},null)},null),default:()=>`下移一层`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{disabled:!o.canMoveToFront,onClick:()=>o.onAlignElements(`move-to-front`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:arrow-bar-to-up`},null)},null),default:()=>`移到最前`}),(0,r.createVNode)(i.NTooltip,null,{trigger:()=>(0,r.createVNode)(i.NButton,{disabled:!o.canMoveToBack,onClick:()=>o.onAlignElements(`move-to-back`),renderIcon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:arrow-bar-to-down`},null)},null),default:()=>`移到最后`})])]})]),footer:()=>(0,r.createVNode)(r.Fragment,null,[(0,r.createVNode)(i.NButton,{block:!0,onClick:o.onDeleteSelectedElements,type:`error`},{icon:()=>(0,r.createVNode)(`div`,{class:`i-tabler:trash`},null),default:()=>`删除`})])})}else return(0,r.createVNode)(t.Panel,{title:`画布设置`},{default:()=>(0,r.createVNode)(r.Fragment,null,[(0,r.createVNode)(n.PanelItem,{title:`宽度`},{default:()=>[(0,r.createVNode)(i.NInputNumber,{value:o.canvasWidth,min:100,max:2e3,"onUpdate:value":e=>o.onUpdateCanvasSize(e||800,o.canvasHeight)},null)]}),(0,r.createVNode)(n.PanelItem,{title:`高度`},{default:()=>[(0,r.createVNode)(i.NInputNumber,{value:o.canvasHeight,min:100,max:2e3,"onUpdate:value":e=>o.onUpdateCanvasSize(o.canvasWidth,e||600)},null)]}),(0,r.createVNode)(n.PanelItem,{title:`背景颜色`},{default:()=>[(0,r.createVNode)(i.NColorPicker,{value:o.canvasBackgroundColor,"onUpdate:value":e=>o.onUpdateCanvasBackground(e)},null)]}),(0,r.createVNode)(n.PanelItem,{title:`背景图片`},{default:()=>[(0,r.createVNode)(e.DuxImageUpload,{value:o.canvasBackgroundImage||``,onUpdateValue:e=>o.onUpdateCanvasBackgroundImage(typeof e==`string`?e:Array.isArray(e)&&e[0]||``)},null)]})]),footer:()=>(0,r.createVNode)(r.Fragment,null,[(0,r.createVNode)(i.NButton,{type:`primary`,block:!0,onClick:o.onSaveData},{default:()=>[(0,r.createTextVNode)(`保存`)]}),(0,r.createVNode)(i.NButton,{block:!0,onClick:o.onExportJson},{default:()=>[(0,r.createTextVNode)(`导出 JSON`)]}),(0,r.createVNode)(i.NButton,{block:!0,onClick:o.onClearCanvas},{default:()=>[(0,r.createTextVNode)(`清空画布`)]})])})};return()=>(0,r.createVNode)(`div`,{class:`w-60 bg-default border-l border-default`},[s()])}});exports.RightPanel=o;
@@ -0,0 +1 @@
1
+ require(`./LeftToolbar.cjs`),require(`./RightPanel.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),n=require("naive-ui"),I=require("../card/card.cjs");require("@vueuse/core");require("clsx");require("@duxweb/dvha-core");require("mime");require("vue-router");require("@overlastic/vue");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("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");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("vee-validate");require("@duxweb/dvha-naiveui");require("vue-command-palette");require("../../pages/page404.cjs");require("vue-draggable-plus");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("lodash-es/cloneDeep");require("@vue-flow/background");;/* empty css */require("@iconify-json/tabler/icons.json");require("./elements/index.cjs");const T=require("./hooks/usePosterEditor.cjs"),B=require("./components/CanvasRuler.cjs"),R=require("./pages/LeftToolbar.cjs"),F=require("./pages/RightPanel.cjs");require("../schemaEditor/schemaEditor.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");const H=require("../upload/image.cjs"),W=a.defineComponent({name:"DuxPosterEditor",props:{data:{type:String,default:""},width:{type:Number,default:750},height:{type:Number,default:1e3},backgroundColor:{type:String,default:"#ffffff"},backgroundImage:{type:String,default:""},onDataUpdate:Function,onSave:Function},setup(t){const i=a.ref(),l=a.ref(),{initCanvas:v,destroy:q,setCallbacks:g,addElement:p,deleteSelectedElements:m,updateElementProperty:d,alignElements:h,canMoveUp:f,canMoveDown:b,canMoveToFront:C,canMoveToBack:N,clearCanvas:k,loadData:s,canvasData:u,selectedElements:x,canvasScale:c,currentElementData:o,currentElementConfig:E,hasMultipleSelection:S,updateCanvasSettings:y,updateCanvasBackground:U,updateCanvasBackgroundImage:V,saveData:w,exportJson:D}=T.usePosterEditor({width:t.width,height:t.height,backgroundColor:t.backgroundColor,backgroundImage:t.backgroundImage});g({onDataChange:t?.onDataUpdate});const M=e=>{const r=P=>{o.value&&d(o.value.id,e.key,P)};switch(e.type){case"text":return a.createVNode(n.NInput,{value:e.value,placeholder:e.options?.placeholder,"onUpdate:value":r},null);case"number":return a.createVNode(n.NInputNumber,{value:e.value,min:e.options?.min,max:e.options?.max,step:e.options?.step,"onUpdate:value":r},null);case"color":return a.createVNode(n.NColorPicker,{value:e.value,"onUpdate:value":r},null);case"select":return a.createVNode(n.NSelect,{value:e.value,options:e.options?.choices||[],"onUpdate:value":r},null);case"switch":return a.createVNode(n.NSwitch,{value:e.value,"onUpdate:value":r},null);case"slider":return a.createVNode(n.NSlider,{value:e.value,min:e.options?.min,max:e.options?.max,step:e.options?.step,"onUpdate:value":r},null);case"image":return a.createVNode(H.DuxImageUpload,{value:e.value,onUpdateValue:r},null);default:return null}};return a.watch(()=>t.data,e=>{e&&s(e)},{immediate:!1}),a.onMounted(()=>{i.value&&l.value&&(v(i.value,l.value),s(t.data))}),a.onUnmounted(()=>{q()}),()=>a.createVNode(I.DuxCard,{class:"h-full",shadow:!0},{default:()=>[a.createVNode("div",{class:"h-full flex"},[a.createVNode(R.LeftToolbar,{onAddElement:p,canvasWidth:u.value.width,canvasHeight:u.value.height},null),a.createVNode("div",{ref:l,class:"flex-1 p-6 pl-12 pt-12 flex items-center justify-center overflow-hidden relative",style:"background: linear-gradient(45deg, rgba(0,0,0, 0.1) 25%, transparent 25%), linear-gradient(-45deg, rgba(0,0,0, 0.1) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0,0,0, 0.1) 75%), linear-gradient(-45deg, transparent 75%, rgba(0,0,0, 0.1) 75%); background-size: 20px 20px; background-position: 0 0, 0 10px, 10px -10px, -10px 0px;"},[a.createVNode(B.CanvasRuler,{canvasScale:c.value,canvasWidth:u.value.width,canvasHeight:u.value.height},null),a.createVNode("div",{class:"bg-default shadow-lg",style:"position: relative;"},[a.createVNode("canvas",{ref:i,style:"display: block;"},null)])]),a.createVNode(F.RightPanel,{onClearCanvas:k,hasMultipleSelection:S.value,selectedElementsCount:x.value.length,currentElementData:o.value||void 0,currentElementConfig:E.value||void 0,canMoveUp:f.value,canMoveDown:b.value,canMoveToFront:C.value,canMoveToBack:N.value,canvasWidth:u.value.width,canvasHeight:u.value.height,canvasBackgroundColor:u.value.backgroundColor,canvasBackgroundImage:u.value.backgroundImage,onDeleteSelectedElements:m,onAlignElements:e=>h(e),onUpdateElementProperty:d,onUpdateCanvasSize:(e,r)=>y(e,r),onUpdateCanvasBackground:U,onUpdateCanvasBackgroundImage:V,onSaveData:async()=>{await w(),await t?.onSave?.()},onExportJson:D,onRenderToolbarControl:M,canvasScale:c.value},null)])]})}});exports.DuxPosterEditor=W;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../card/card.cjs`);require(`../card/index.cjs`);const t=require(`../upload/image.cjs`);require(`../upload/index.cjs`);const n=require(`./hooks/usePosterEditor.cjs`),r=require(`./components/CanvasRuler.cjs`),i=require(`./pages/LeftToolbar.cjs`),a=require(`./pages/RightPanel.cjs`);require(`./pages/index.cjs`);let o=require(`vue`),s=require(`naive-ui`);const c=(0,o.defineComponent)({name:`DuxPosterEditor`,props:{data:{type:String,default:``},width:{type:Number,default:750},height:{type:Number,default:1e3},backgroundColor:{type:String,default:`#ffffff`},backgroundImage:{type:String,default:``},onDataUpdate:Function,onSave:Function},setup(c){let l=(0,o.ref)(),u=(0,o.ref)(),{initCanvas:d,destroy:f,setCallbacks:p,addElement:m,deleteSelectedElements:h,updateElementProperty:g,alignElements:_,canMoveUp:v,canMoveDown:y,canMoveToFront:b,canMoveToBack:x,clearCanvas:S,loadData:C,canvasData:w,selectedElements:T,canvasScale:E,currentElementData:D,currentElementConfig:O,hasMultipleSelection:k,updateCanvasSettings:A,updateCanvasBackground:j,updateCanvasBackgroundImage:M,saveData:N,exportJson:P}=n.usePosterEditor({width:c.width,height:c.height,backgroundColor:c.backgroundColor,backgroundImage:c.backgroundImage});p({onDataChange:c?.onDataUpdate});let F=e=>{let n=t=>{D.value&&g(D.value.id,e.key,t)};switch(e.type){case`text`:return(0,o.createVNode)(s.NInput,{value:e.value,placeholder:e.options?.placeholder,"onUpdate:value":n},null);case`number`:return(0,o.createVNode)(s.NInputNumber,{value:e.value,min:e.options?.min,max:e.options?.max,step:e.options?.step,"onUpdate:value":n},null);case`color`:return(0,o.createVNode)(s.NColorPicker,{value:e.value,"onUpdate:value":n},null);case`select`:return(0,o.createVNode)(s.NSelect,{value:e.value,options:e.options?.choices||[],"onUpdate:value":n},null);case`switch`:return(0,o.createVNode)(s.NSwitch,{value:e.value,"onUpdate:value":n},null);case`slider`:return(0,o.createVNode)(s.NSlider,{value:e.value,min:e.options?.min,max:e.options?.max,step:e.options?.step,"onUpdate:value":n},null);case`image`:return(0,o.createVNode)(t.DuxImageUpload,{value:e.value,onUpdateValue:n},null);default:return null}};return(0,o.watch)(()=>c.data,e=>{e&&C(e)},{immediate:!1}),(0,o.onMounted)(()=>{l.value&&u.value&&(d(l.value,u.value),C(c.data))}),(0,o.onUnmounted)(()=>{f()}),()=>(0,o.createVNode)(e.DuxCard,{class:`h-full`,shadow:!0},{default:()=>[(0,o.createVNode)(`div`,{class:`h-full flex`},[(0,o.createVNode)(i.LeftToolbar,{onAddElement:m,canvasWidth:w.value.width,canvasHeight:w.value.height},null),(0,o.createVNode)(`div`,{ref:u,class:`flex-1 p-6 pl-12 pt-12 flex items-center justify-center overflow-hidden relative`,style:`background: linear-gradient(45deg, rgba(0,0,0, 0.1) 25%, transparent 25%), linear-gradient(-45deg, rgba(0,0,0, 0.1) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0,0,0, 0.1) 75%), linear-gradient(-45deg, transparent 75%, rgba(0,0,0, 0.1) 75%); background-size: 20px 20px; background-position: 0 0, 0 10px, 10px -10px, -10px 0px;`},[(0,o.createVNode)(r.CanvasRuler,{canvasScale:E.value,canvasWidth:w.value.width,canvasHeight:w.value.height},null),(0,o.createVNode)(`div`,{class:`bg-default shadow-lg`,style:`position: relative;`},[(0,o.createVNode)(`canvas`,{ref:l,style:`display: block;`},null)])]),(0,o.createVNode)(a.RightPanel,{onClearCanvas:S,hasMultipleSelection:k.value,selectedElementsCount:T.value.length,currentElementData:D.value||void 0,currentElementConfig:O.value||void 0,canMoveUp:v.value,canMoveDown:y.value,canMoveToFront:b.value,canMoveToBack:x.value,canvasWidth:w.value.width,canvasHeight:w.value.height,canvasBackgroundColor:w.value.backgroundColor,canvasBackgroundImage:w.value.backgroundImage,onDeleteSelectedElements:h,onAlignElements:e=>_(e),onUpdateElementProperty:g,onUpdateCanvasSize:(e,t)=>A(e,t),onUpdateCanvasBackground:j,onUpdateCanvasBackgroundImage:M,onSaveData:async()=>{await N(),await c?.onSave?.()},onExportJson:P,onRenderToolbarControl:F,canvasScale:E.value},null)])]})}});exports.DuxPosterEditor=c;
@@ -0,0 +1 @@
1
+ require(`./schemaEditor.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),P=require("@duxweb/dvha-core"),z=require("@vueuse/core"),b=require("lodash-es/cloneDeep"),u=require("naive-ui");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");const M=require("../modal/modalPage.cjs");require("jinrishici");require("lodash-es");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");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("vee-validate");require("@duxweb/dvha-naiveui");require("vue-command-palette");require("../../pages/page404.cjs");require("vue-draggable-plus");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("@vue-flow/background");;/* empty css */const D=require("../../hooks/modal.cjs");require("mime");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("dayjs");require("@tanstack/vue-query");require("pinia");function g(a){return typeof a=="function"||Object.prototype.toString.call(a)==="[object Object]"&&!e.isVNode(a)}const T=[{label:"Object",value:"object",tagType:"info"},{label:"Array",value:"array",tagType:"success"},{label:"String",value:"string",tagType:"default"},{label:"Number",value:"number",tagType:"warning"},{label:"Boolean",value:"boolean",tagType:"error"}],C=()=>`schema_${Math.random().toString(36).slice(2,8)}`;function S(a,p,o){return{id:a.id||C(),name:a.name?.trim()||p||"",type:a.type||o||"",description:a.description,params:a.params?b(a.params):{},children:Array.isArray(a.children)?b(a.children):[]}}const R=e.defineComponent({name:"SchemaNodeModal",props:{node:{type:Object,required:!0},typeOptions:{type:Array,default:()=>T},paramFields:{type:Array,default:()=>[]},onSubmit:{type:Function},onClose:{type:Function},onConfirm:{type:Function},readonly:{type:Boolean,default:!1}},setup(a){const{t:p}=P.useI18n(),o=e.ref(b(a.node));e.watch(()=>a.node,r=>{o.value=b(r||{id:C(),name:"",type:a.typeOptions?.[0]?.value||T[0].value,params:{},children:[]})},{immediate:!0,deep:!0});const k=e.computed(()=>a.typeOptions?.length?a.typeOptions:T),f=e.computed(()=>k.value.map(r=>({label:r.label,value:r.value}))),s=(r,d)=>{o.value={...o.value,[r]:d}},h=(r,d)=>{o.value={...o.value,params:{...o.value.params||{},[r.key]:d}}},w=r=>{const d=o.value.params?.[r.key],x=r.component||"input",q=r.componentProps||{};return x==="select"?e.createVNode(u.NSelect,e.mergeProps({value:d,options:r.options||[],placeholder:r.placeholder,onUpdateValue:y=>h(r,y),disabled:a.readonly},q),null):x==="number"?e.createVNode(u.NInputNumber,e.mergeProps({value:typeof d=="number"?d:Number(d),placeholder:r.placeholder,onUpdateValue:y=>h(r,y),disabled:a.readonly},q),null):x==="switch"?e.createVNode(u.NSwitch,e.mergeProps({value:!!d,onUpdateValue:y=>h(r,y),disabled:a.readonly},q),null):x==="textarea"?e.createVNode(u.NInput,e.mergeProps({value:d,type:"textarea",rows:r.rows||3,placeholder:r.placeholder,onUpdateValue:y=>h(r,y),disabled:a.readonly},q),null):e.createVNode(u.NInput,e.mergeProps({value:d,placeholder:r.placeholder,onUpdateValue:y=>h(r,y),disabled:a.readonly},q),null)},v=()=>{const r=k.value[0]?.value||"object",d=S(o.value,p("components.schemaEditor.newNode"),r);a.onSubmit?.(d),a.onConfirm?.(d)};return()=>e.createVNode(M.default,{title:p("components.schemaEditor.editModalTitle"),onClose:a.onClose},{default:()=>e.createVNode(u.NForm,{labelPlacement:"top",class:"flex flex-col gap-4"},{default:()=>[e.createVNode("div",{class:"grid gap-4 md:grid-cols-2"},[e.createVNode(u.NFormItem,{showFeedback:!1,label:p("components.schemaEditor.nodeName")},{default:()=>[e.createVNode(u.NInput,{value:o.value.name,placeholder:p("components.schemaEditor.nodeNamePlaceholder"),onUpdateValue:r=>s("name",r),disabled:a.readonly},null)]}),e.createVNode(u.NFormItem,{label:p("components.schemaEditor.nodeType"),showFeedback:!1},{default:()=>[e.createVNode(u.NSelect,{value:o.value.type,options:f.value,placeholder:p("components.schemaEditor.nodeTypePlaceholder"),onUpdateValue:r=>s("type",r),disabled:a.readonly},null)]})]),e.createVNode(u.NFormItem,{label:p("components.schemaEditor.description"),showFeedback:!1},{default:()=>[e.createVNode(u.NInput,{value:o.value.description,type:"textarea",rows:3,placeholder:p("components.schemaEditor.descriptionPlaceholder"),onUpdateValue:r=>s("description",r),disabled:a.readonly},null)]}),a.paramFields.length>0&&a.paramFields.map(r=>{let d;return e.createVNode(u.NFormItem,{key:r.key,label:r.label,showFeedback:!1},g(d=w(r))?d:{default:()=>[d]})})]}),footer:()=>{let r,d;return e.createVNode("div",{class:"flex justify-end gap-2"},[e.createVNode(u.NButton,{onClick:a.onClose},g(r=p("components.button.cancel"))?r:{default:()=>[r]}),e.createVNode(u.NButton,{type:"primary",onClick:v},g(d=p("components.button.confirm"))?d:{default:()=>[d]})])}})}}),$=e.markRaw(R),K=e.defineComponent({name:"DuxSchemaTreeEditor",props:{modelValue:{type:Array,default:()=>[]},typeOptions:{type:Array,default:()=>T},paramFields:{type:Array,default:()=>[]},readonly:{type:Boolean,default:!1}},emits:["update:modelValue","select"],setup(a,{emit:p}){const{t:o}=P.useI18n(),k=D.useModal(),f=z.useVModel(a,"modelValue",p,{passive:!1,deep:!0,defaultValue:[]}),s=e.ref(null),h=e.computed(()=>(a.typeOptions?.length?a.typeOptions:T).map(t=>({tagType:"default",...t}))),w=e.computed(()=>h.value.reduce((t,n)=>(t[n.value]=n,t),{})),v=()=>Array.isArray(f.value)?f.value:[],r=(t,n)=>{if(!n)return null;for(const l of t){if(l.id===n)return l;if(l.children?.length){const m=r(l.children,n);if(m)return m}}return null},d=(t,n)=>{const l=b(v()),m=c=>{for(const i of c){if(i.id===t){const V=n(i);return Object.assign(i,V),!0}if(i.children?.length&&m(i.children))return!0}return!1};m(l)&&(f.value=l)},x=t=>{if(a.readonly)return;const n=b(v());let l=!1;const m=c=>c.map(i=>(i.children?.length&&(i.children=m(i.children)),i)).filter(i=>i.id===t?(l=!0,!1):!0);f.value=m(n),l&&s.value===t&&(s.value=f.value?.[0]?.id||null,p("select",s.value?r(f.value,s.value):null))},q=t=>({id:t?.id||C(),name:t?.name||o("components.schemaEditor.newNode")||"",type:t?.type||h.value[0]?.value||"object",description:t?.description,params:t?.params||{},children:t?.children?b(t.children):[]}),y=(t,n,l)=>{a.readonly||k.show({title:t,width:640,component:$,componentProps:{node:b(n),typeOptions:h.value,paramFields:a.paramFields,onSubmit:l,readonly:a.readonly}})},F=()=>{const t=q();y(o("components.schemaEditor.addRootTitle")||"",t,n=>{const l=S(n,o("components.schemaEditor.newNode"),n.type||h.value[0]?.value||"object");f.value=[...v(),l],E(l.id)})},j=()=>{const t=s.value;if(!t){F();return}const n=q({name:o("components.schemaEditor.childNode")});y(o("components.schemaEditor.addChildTitle")||"",n,l=>{const m=S(l,o("components.schemaEditor.childNode"),l.type||h.value[0]?.value||"object");d(t,c=>({...c,children:[...c.children||[],m]})),E(m.id)})},A=t=>{const n=(l,m)=>{for(const c of l){if(c.id===t)return m;if(c.children?.length){const i=n(c.children,c.id);if(i)return i}}return null};return n(v(),null)},I=t=>{if(!t)return;const n=r(v(),t);if(!n)return;const l=q({...b(n),id:void 0,name:`${n.name||o("components.schemaEditor.newNode")} ${o("components.schemaEditor.copySuffix")}`});y(o("components.schemaEditor.duplicateTitle")||"",l,m=>{const c=S(m,l.name||o("components.schemaEditor.newNode"),m.type||l.type),i=A(t);i?d(i,V=>({...V,children:[...V.children||[],c]})):f.value=[...v(),c],E(c.id)})},O=e.computed(()=>{const t=n=>n.map(l=>({key:l.id,label:l.name||o("components.schemaEditor.untitled"),schema:l,children:l.children?.length?t(l.children):void 0}));return t(v())}),N=e.computed(()=>r(v(),s.value));function E(t){s.value=t,p("select",t?r(v(),t):null)}const B=t=>{E(t?.[0]||null)};e.watch(f,t=>{if(!Array.isArray(t)||!t.length){E(null);return}(!s.value||!r(t,s.value))&&E(t[0].id)},{deep:!0,immediate:!0});const U=()=>{!N.value||a.readonly||y(o("components.schemaEditor.editNodeTitle")||"",b(N.value),t=>{d(N.value.id,()=>({...t,id:N.value.id}))})},_=(t,n)=>{const l=n.params?.[t.key];return l==null||l===""?o("components.schemaEditor.paramsEmpty"):typeof l=="object"?JSON.stringify(l):String(l)};return()=>{let t,n,l,m;return e.createVNode("div",{class:"flex flex-col gap-4 lg:flex-row min-h-[300px]"},[e.createVNode("div",{class:"rounded-lg border border-default bg-default p-3 flex flex-col gap-4"},[e.createVNode("div",{class:"flex flex-wrap items-center gap-2"},[e.createVNode(u.NButton,{size:"small",type:"primary",disabled:a.readonly,onClick:F},g(t=o("components.schemaEditor.addRoot"))?t:{default:()=>[t]}),e.createVNode(u.NButton,{size:"small",tertiary:!0,disabled:a.readonly||!s.value,onClick:j},g(n=o("components.schemaEditor.addChild"))?n:{default:()=>[n]}),e.createVNode(u.NButton,{size:"small",tertiary:!0,disabled:a.readonly||!s.value,onClick:()=>I(s.value)},g(l=o("components.schemaEditor.duplicate"))?l:{default:()=>[l]}),e.createVNode(u.NButton,{size:"small",tertiary:!0,type:"error",disabled:a.readonly||!s.value,onClick:()=>s.value&&x(s.value)},g(m=o("components.schemaEditor.remove"))?m:{default:()=>[m]})]),O.value.length?e.createVNode(u.NTree,{data:O.value,blockLine:!0,selectable:!0,defaultExpandAll:!0,selectedKeys:s.value?[s.value]:[],renderLabel:({option:c})=>{const i=c?.schema||{},V=w.value[i.type];return e.createVNode("div",{class:"flex items-center justify-between gap-3 pr-1 py-1"},[e.createVNode("div",{class:"min-w-0"},[e.createVNode("div",{class:"text-sm font-medium truncate"},[i.name||o("components.schemaEditor.untitled")]),e.createVNode("div",{class:"text-xs text-muted truncate"},[V?.label||i.type])]),e.createVNode(u.NTag,{size:"small",type:V?.tagType||"default"},{default:()=>[V?.label||i.type]})])},onUpdateSelectedKeys:B},null):e.createVNode(u.NEmpty,{description:o("components.schemaEditor.empty")},{extra:()=>{let c;return e.createVNode(u.NButton,{type:"primary",size:"small",onClick:F,disabled:a.readonly},g(c=o("components.schemaEditor.addFirst"))?c:{default:()=>[c]})}})]),e.createVNode("div",{class:"flex-1 rounded-lg border border-default bg-default p-4"},[N.value?e.createVNode("div",{class:"space-y-4"},[e.createVNode("div",{class:"flex flex-col gap-2"},[e.createVNode("div",{class:"flex items-start justify-between gap-3"},[e.createVNode("div",{class:"min-w-0 space-y-1"},[e.createVNode("div",{class:"text-lg font-semibold truncate flex items-center gap-2"},[e.createVNode("span",{class:"truncate"},[N.value.name||o("components.schemaEditor.untitled")]),!a.readonly&&e.createVNode("button",{type:"button",class:"text-primary hover:text-primary-700 transition-colors cursor-pointer",onClick:U},[e.createVNode("div",{class:"i-tabler:edit size-4"},null)])]),e.createVNode("div",{class:"text-sm text-muted"},[N.value.description||o("components.schemaEditor.noDescription")])]),e.createVNode(u.NTag,{size:"small",type:w.value[N.value.type]?.tagType||"default"},{default:()=>[w.value[N.value.type]?.label||N.value.type]})])]),e.createVNode("div",{class:"space-y-2"},[a.paramFields.length>0?a.paramFields.map(c=>e.createVNode("div",{key:c.key,class:"flex items-start justify-between gap-3 text-sm"},[e.createVNode("span",{class:"text-muted"},[c.label]),e.createVNode("span",{class:"text-default text-right break-all"},[_(c,N.value)])])):e.createVNode("div",{class:"text-sm text-muted"},[o("components.schemaEditor.paramsEmpty")])]),!a.readonly&&e.createVNode("div",{class:"flex gap-2"},null)]):e.createVNode("div",{class:"flex h-full flex-col items-center justify-center text-center text-sm text-muted"},[o("components.schemaEditor.selectHint")])])])}}});exports.DuxSchemaTreeEditor=K;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../hooks/modal.cjs`);require(`../../hooks/index.cjs`);const n=require(`../modal/modalPage.cjs`);require(`../modal/index.cjs`);let r=require(`vue`),i=require(`@duxweb/dvha-core`),a=require(`naive-ui`),o=require(`@vueuse/core`),s=require(`lodash-es/cloneDeep`);s=e.__toESM(s);function c(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!(0,r.isVNode)(e)}var l=[{label:`Object`,value:`object`,tagType:`info`},{label:`Array`,value:`array`,tagType:`success`},{label:`String`,value:`string`,tagType:`default`},{label:`Number`,value:`number`,tagType:`warning`},{label:`Boolean`,value:`boolean`,tagType:`error`}],u=()=>`schema_${Math.random().toString(36).slice(2,8)}`;function d(e,t,n){return{id:e.id||u(),name:e.name?.trim()||t||``,type:e.type||n||``,description:e.description,params:e.params?(0,s.default)(e.params):{},children:Array.isArray(e.children)?(0,s.default)(e.children):[]}}var f=(0,r.markRaw)((0,r.defineComponent)({name:`SchemaNodeModal`,props:{node:{type:Object,required:!0},typeOptions:{type:Array,default:()=>l},paramFields:{type:Array,default:()=>[]},onSubmit:{type:Function},onClose:{type:Function},onConfirm:{type:Function},readonly:{type:Boolean,default:!1}},setup(e){let{t}=(0,i.useI18n)(),o=(0,r.ref)((0,s.default)(e.node));(0,r.watch)(()=>e.node,t=>{o.value=(0,s.default)(t||{id:u(),name:``,type:e.typeOptions?.[0]?.value||l[0].value,params:{},children:[]})},{immediate:!0,deep:!0});let f=(0,r.computed)(()=>e.typeOptions?.length?e.typeOptions:l),p=(0,r.computed)(()=>f.value.map(e=>({label:e.label,value:e.value}))),m=(e,t)=>{o.value={...o.value,[e]:t}},h=(e,t)=>{o.value={...o.value,params:{...o.value.params||{},[e.key]:t}}},g=t=>{let n=o.value.params?.[t.key],i=t.component||`input`,s=t.componentProps||{};return i===`select`?(0,r.createVNode)(a.NSelect,(0,r.mergeProps)({value:n,options:t.options||[],placeholder:t.placeholder,onUpdateValue:e=>h(t,e),disabled:e.readonly},s),null):i===`number`?(0,r.createVNode)(a.NInputNumber,(0,r.mergeProps)({value:typeof n==`number`?n:Number(n),placeholder:t.placeholder,onUpdateValue:e=>h(t,e),disabled:e.readonly},s),null):i===`switch`?(0,r.createVNode)(a.NSwitch,(0,r.mergeProps)({value:!!n,onUpdateValue:e=>h(t,e),disabled:e.readonly},s),null):i===`textarea`?(0,r.createVNode)(a.NInput,(0,r.mergeProps)({value:n,type:`textarea`,rows:t.rows||3,placeholder:t.placeholder,onUpdateValue:e=>h(t,e),disabled:e.readonly},s),null):(0,r.createVNode)(a.NInput,(0,r.mergeProps)({value:n,placeholder:t.placeholder,onUpdateValue:e=>h(t,e),disabled:e.readonly},s),null)},_=()=>{let n=f.value[0]?.value||`object`,r=d(o.value,t(`components.schemaEditor.newNode`),n);e.onSubmit?.(r),e.onConfirm?.(r)};return()=>(0,r.createVNode)(n.default,{title:t(`components.schemaEditor.editModalTitle`),onClose:e.onClose},{default:()=>(0,r.createVNode)(a.NForm,{labelPlacement:`top`,class:`flex flex-col gap-4`},{default:()=>[(0,r.createVNode)(`div`,{class:`grid gap-4 md:grid-cols-2`},[(0,r.createVNode)(a.NFormItem,{showFeedback:!1,label:t(`components.schemaEditor.nodeName`)},{default:()=>[(0,r.createVNode)(a.NInput,{value:o.value.name,placeholder:t(`components.schemaEditor.nodeNamePlaceholder`),onUpdateValue:e=>m(`name`,e),disabled:e.readonly},null)]}),(0,r.createVNode)(a.NFormItem,{label:t(`components.schemaEditor.nodeType`),showFeedback:!1},{default:()=>[(0,r.createVNode)(a.NSelect,{value:o.value.type,options:p.value,placeholder:t(`components.schemaEditor.nodeTypePlaceholder`),onUpdateValue:e=>m(`type`,e),disabled:e.readonly},null)]})]),(0,r.createVNode)(a.NFormItem,{label:t(`components.schemaEditor.description`),showFeedback:!1},{default:()=>[(0,r.createVNode)(a.NInput,{value:o.value.description,type:`textarea`,rows:3,placeholder:t(`components.schemaEditor.descriptionPlaceholder`),onUpdateValue:e=>m(`description`,e),disabled:e.readonly},null)]}),e.paramFields.length>0&&e.paramFields.map(e=>{let t;return(0,r.createVNode)(a.NFormItem,{key:e.key,label:e.label,showFeedback:!1},c(t=g(e))?t:{default:()=>[t]})})]}),footer:()=>{let n,i;return(0,r.createVNode)(`div`,{class:`flex justify-end gap-2`},[(0,r.createVNode)(a.NButton,{onClick:e.onClose},c(n=t(`components.button.cancel`))?n:{default:()=>[n]}),(0,r.createVNode)(a.NButton,{type:`primary`,onClick:_},c(i=t(`components.button.confirm`))?i:{default:()=>[i]})])}})}}));const p=(0,r.defineComponent)({name:`DuxSchemaTreeEditor`,props:{modelValue:{type:Array,default:()=>[]},typeOptions:{type:Array,default:()=>l},paramFields:{type:Array,default:()=>[]},readonly:{type:Boolean,default:!1}},emits:[`update:modelValue`,`select`],setup(e,{emit:n}){let{t:p}=(0,i.useI18n)(),m=t.useModal(),h=(0,o.useVModel)(e,`modelValue`,n,{passive:!1,deep:!0,defaultValue:[]}),g=(0,r.ref)(null),_=(0,r.computed)(()=>(e.typeOptions?.length?e.typeOptions:l).map(e=>({tagType:`default`,...e}))),v=(0,r.computed)(()=>_.value.reduce((e,t)=>(e[t.value]=t,e),{})),y=()=>Array.isArray(h.value)?h.value:[],b=(e,t)=>{if(!t)return null;for(let n of e){if(n.id===t)return n;if(n.children?.length){let e=b(n.children,t);if(e)return e}}return null},x=(e,t)=>{let n=(0,s.default)(y()),r=n=>{for(let i of n){if(i.id===e){let e=t(i);return Object.assign(i,e),!0}if(i.children?.length&&r(i.children))return!0}return!1};r(n)&&(h.value=n)},S=t=>{if(e.readonly)return;let r=(0,s.default)(y()),i=!1,a=e=>e.map(e=>(e.children?.length&&(e.children=a(e.children)),e)).filter(e=>e.id===t?(i=!0,!1):!0);h.value=a(r),i&&g.value===t&&(g.value=h.value?.[0]?.id||null,n(`select`,g.value?b(h.value,g.value):null))},C=e=>({id:e?.id||u(),name:e?.name||p(`components.schemaEditor.newNode`)||``,type:e?.type||_.value[0]?.value||`object`,description:e?.description,params:e?.params||{},children:e?.children?(0,s.default)(e.children):[]}),w=(t,n,r)=>{e.readonly||m.show({title:t,width:640,component:f,componentProps:{node:(0,s.default)(n),typeOptions:_.value,paramFields:e.paramFields,onSubmit:r,readonly:e.readonly}})},T=()=>{let e=C();w(p(`components.schemaEditor.addRootTitle`)||``,e,e=>{let t=d(e,p(`components.schemaEditor.newNode`),e.type||_.value[0]?.value||`object`);h.value=[...y(),t],j(t.id)})},E=()=>{let e=g.value;if(!e){T();return}let t=C({name:p(`components.schemaEditor.childNode`)});w(p(`components.schemaEditor.addChildTitle`)||``,t,t=>{let n=d(t,p(`components.schemaEditor.childNode`),t.type||_.value[0]?.value||`object`);x(e,e=>({...e,children:[...e.children||[],n]})),j(n.id)})},D=e=>{let t=(n,r)=>{for(let i of n){if(i.id===e)return r;if(i.children?.length){let e=t(i.children,i.id);if(e)return e}}return null};return t(y(),null)},O=e=>{if(!e)return;let t=b(y(),e);if(!t)return;let n=C({...(0,s.default)(t),id:void 0,name:`${t.name||p(`components.schemaEditor.newNode`)} ${p(`components.schemaEditor.copySuffix`)}`});w(p(`components.schemaEditor.duplicateTitle`)||``,n,t=>{let r=d(t,n.name||p(`components.schemaEditor.newNode`),t.type||n.type),i=D(e);i?x(i,e=>({...e,children:[...e.children||[],r]})):h.value=[...y(),r],j(r.id)})},k=(0,r.computed)(()=>{let e=t=>t.map(t=>({key:t.id,label:t.name||p(`components.schemaEditor.untitled`),schema:t,children:t.children?.length?e(t.children):void 0}));return e(y())}),A=(0,r.computed)(()=>b(y(),g.value));function j(e){g.value=e,n(`select`,e?b(y(),e):null)}let M=e=>{j(e?.[0]||null)};(0,r.watch)(h,e=>{if(!Array.isArray(e)||!e.length){j(null);return}(!g.value||!b(e,g.value))&&j(e[0].id)},{deep:!0,immediate:!0});let N=()=>{!A.value||e.readonly||w(p(`components.schemaEditor.editNodeTitle`)||``,(0,s.default)(A.value),e=>{x(A.value.id,()=>({...e,id:A.value.id}))})},P=(e,t)=>{let n=t.params?.[e.key];return n==null||n===``?p(`components.schemaEditor.paramsEmpty`):typeof n==`object`?JSON.stringify(n):String(n)};return()=>{let t,n,i,o;return(0,r.createVNode)(`div`,{class:`flex flex-col gap-4 lg:flex-row min-h-[300px]`},[(0,r.createVNode)(`div`,{class:`rounded-lg border border-default bg-default p-3 flex flex-col gap-4`},[(0,r.createVNode)(`div`,{class:`flex flex-wrap items-center gap-2`},[(0,r.createVNode)(a.NButton,{size:`small`,type:`primary`,disabled:e.readonly,onClick:T},c(t=p(`components.schemaEditor.addRoot`))?t:{default:()=>[t]}),(0,r.createVNode)(a.NButton,{size:`small`,tertiary:!0,disabled:e.readonly||!g.value,onClick:E},c(n=p(`components.schemaEditor.addChild`))?n:{default:()=>[n]}),(0,r.createVNode)(a.NButton,{size:`small`,tertiary:!0,disabled:e.readonly||!g.value,onClick:()=>O(g.value)},c(i=p(`components.schemaEditor.duplicate`))?i:{default:()=>[i]}),(0,r.createVNode)(a.NButton,{size:`small`,tertiary:!0,type:`error`,disabled:e.readonly||!g.value,onClick:()=>g.value&&S(g.value)},c(o=p(`components.schemaEditor.remove`))?o:{default:()=>[o]})]),k.value.length?(0,r.createVNode)(a.NTree,{data:k.value,blockLine:!0,selectable:!0,defaultExpandAll:!0,selectedKeys:g.value?[g.value]:[],renderLabel:({option:e})=>{let t=e?.schema||{},n=v.value[t.type];return(0,r.createVNode)(`div`,{class:`flex items-center justify-between gap-3 pr-1 py-1`},[(0,r.createVNode)(`div`,{class:`min-w-0`},[(0,r.createVNode)(`div`,{class:`text-sm font-medium truncate`},[t.name||p(`components.schemaEditor.untitled`)]),(0,r.createVNode)(`div`,{class:`text-xs text-muted truncate`},[n?.label||t.type])]),(0,r.createVNode)(a.NTag,{size:`small`,type:n?.tagType||`default`},{default:()=>[n?.label||t.type]})])},onUpdateSelectedKeys:M},null):(0,r.createVNode)(a.NEmpty,{description:p(`components.schemaEditor.empty`)},{extra:()=>{let t;return(0,r.createVNode)(a.NButton,{type:`primary`,size:`small`,onClick:T,disabled:e.readonly},c(t=p(`components.schemaEditor.addFirst`))?t:{default:()=>[t]})}})]),(0,r.createVNode)(`div`,{class:`flex-1 rounded-lg border border-default bg-default p-4`},[A.value?(0,r.createVNode)(`div`,{class:`space-y-4`},[(0,r.createVNode)(`div`,{class:`flex flex-col gap-2`},[(0,r.createVNode)(`div`,{class:`flex items-start justify-between gap-3`},[(0,r.createVNode)(`div`,{class:`min-w-0 space-y-1`},[(0,r.createVNode)(`div`,{class:`text-lg font-semibold truncate flex items-center gap-2`},[(0,r.createVNode)(`span`,{class:`truncate`},[A.value.name||p(`components.schemaEditor.untitled`)]),!e.readonly&&(0,r.createVNode)(`button`,{type:`button`,class:`text-primary hover:text-primary-700 transition-colors cursor-pointer`,onClick:N},[(0,r.createVNode)(`div`,{class:`i-tabler:edit size-4`},null)])]),(0,r.createVNode)(`div`,{class:`text-sm text-muted`},[A.value.description||p(`components.schemaEditor.noDescription`)])]),(0,r.createVNode)(a.NTag,{size:`small`,type:v.value[A.value.type]?.tagType||`default`},{default:()=>[v.value[A.value.type]?.label||A.value.type]})])]),(0,r.createVNode)(`div`,{class:`space-y-2`},[e.paramFields.length>0?e.paramFields.map(e=>(0,r.createVNode)(`div`,{key:e.key,class:`flex items-start justify-between gap-3 text-sm`},[(0,r.createVNode)(`span`,{class:`text-muted`},[e.label]),(0,r.createVNode)(`span`,{class:`text-default text-right break-all`},[P(e,A.value)])])):(0,r.createVNode)(`div`,{class:`text-sm text-muted`},[p(`components.schemaEditor.paramsEmpty`)])]),!e.readonly&&(0,r.createVNode)(`div`,{class:`flex gap-2`},null)]):(0,r.createVNode)(`div`,{class:`flex h-full flex-col items-center justify-center text-center text-sm text-muted`},[p(`components.schemaEditor.selectHint`)])])])}}});exports.DuxSchemaTreeEditor=p;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),f=require("@vueuse/core");function y(a,u){return["inline-flex items-center justify-center px-3 py-1.5 rounded-sm text-sm transition-colors duration-150 cursor-pointer select-none",a?"text-primary bg-primary/15":"text-default bg-transparent hover:text-primary",u&&"opacity-50 cursor-not-allowed"]}const v=n.defineComponent({name:"DuxCheckboxTag",props:{options:{type:Array,default:()=>[]},value:{type:Array,default:void 0},defaultValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},onUpdateValue:{type:Function,default:void 0}},emits:["update:value","change"],setup(a,{emit:u}){const l=f.useVModel(a,"value",u,{defaultValue:a.defaultValue}),d=()=>Array.isArray(l.value)?[...l.value]:[],c=e=>{const t=d(),r=t.includes(e.value)?t.filter(i=>i!==e.value):[...t,e.value];l.value=r,a.onUpdateValue?.(r),u("change",r)},o=e=>Array.isArray(l.value)&&l.value.includes(e.value);return()=>n.createVNode("div",{class:"flex flex-wrap gap-2"},[a.options.map(e=>{const t=a.disabled||e.disabled||!1,s=o(e);return n.createVNode("div",{key:e.value,class:y(s,t),onClick:()=>!t&&c(e)},[e.label])})])}});exports.DuxCheckboxTag=v;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`@vueuse/core`);function n(e,t){return[`inline-flex items-center justify-center px-3 py-1.5 rounded-sm text-sm transition-colors duration-150 cursor-pointer select-none`,e?`text-primary bg-primary/15`:`text-default bg-transparent hover:text-primary`,t&&`opacity-50 cursor-not-allowed`]}const r=(0,e.defineComponent)({name:`DuxCheckboxTag`,props:{options:{type:Array,default:()=>[]},value:{type:Array,default:void 0},defaultValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},onUpdateValue:{type:Function,default:void 0}},emits:[`update:value`,`change`],setup(r,{emit:i}){let a=(0,t.useVModel)(r,`value`,i,{defaultValue:r.defaultValue}),o=()=>Array.isArray(a.value)?[...a.value]:[],s=e=>{let t=o(),n=t.includes(e.value)?t.filter(t=>t!==e.value):[...t,e.value];a.value=n,r.onUpdateValue?.(n),i(`change`,n)},c=e=>Array.isArray(a.value)&&a.value.includes(e.value);return()=>(0,e.createVNode)(`div`,{class:`flex flex-wrap gap-2`},[r.options.map(t=>{let i=r.disabled||t.disabled||!1,a=c(t);return(0,e.createVNode)(`div`,{key:t.value,class:n(a,i),onClick:()=>!i&&s(t)},[t.label])})])}});exports.DuxCheckboxTag=r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),b=require("@duxweb/dvha-core"),k=require("@vueuse/core"),i=require("dayjs"),h=require("naive-ui");function x(e){if(typeof e.range=="function")return e.range();if(e.value)return e.value;if(e.num&&e.unit){const a=e.unit==="days"?i().endOf("day"):i(),u=O(e.unit);return[(e.unit==="days"?a.subtract(e.num-1,u).startOf("day"):a.subtract(e.num,u)).valueOf(),a.valueOf()]}return null}function O(e){switch(e){case"minutes":return"minute";case"hours":return"hour";default:return"day"}}const T=["inline-flex items-center justify-center px-3 py-1.5 rounded-md text-sm transition-colors duration-150 cursor-pointer select-none"];function V(e,a){return[...T,e?"text-primary bg-primary/10":"text-default bg-transparent hover:text-primary",a&&"opacity-50 cursor-not-allowed"]}const f=[{key:"3d",num:3,unit:"days"},{key:"7d",num:7,unit:"days"},{key:"30d",num:30,unit:"days"}];function y(e){return e.key!==void 0?e.key:e.label?e.label:e.unit&&e.num!==void 0?`${e.unit}-${e.num}`:e.value?`value-${e.value.join("-")}`:JSON.stringify(e)}function D(e,a){if(e.label)return e.label;if(e.unit&&e.num!==void 0&&e.key){const u={"3d":"components.dateTag.recentThreeDays","7d":"components.dateTag.recentSevenDays","30d":"components.dateTag.recentThirtyDays"};if(u[e.key])return a(u[e.key])}return e.unit&&e.num!==void 0?a({minutes:"components.dateTag.recentMinutes",hours:"components.dateTag.recentHours",days:"components.dateTag.recentDays"}[e.unit],{num:e.num}):""}const P=n.defineComponent({name:"DuxDateTag",props:{options:{type:Array,default:()=>f},value:{type:[Array,null],default:null},defaultValue:{type:[Array,null],default:null},disabled:{type:Boolean,default:!1},datePickerProps:{type:Object,default:void 0},onUpdateValue:{type:Function,default:void 0}},emits:["update:value","change"],setup(e,{emit:a}){const{t:u}=b.useI18n(),l=k.useVModel(e,"value",a,{defaultValue:e.defaultValue}),d=n.ref(null),m=n.computed(()=>e.options||f),c=(t,r,s=!0)=>{l.value=t,d.value=r,s&&(e.onUpdateValue?.(t),a("change",t))},v=t=>{if(e.disabled||t.disabled)return;const r=x(t);c(r,y(t))},o=t=>{c(t,null)};return()=>n.createVNode("div",{class:"flex gap-3"},[n.createVNode("div",{class:"min-w-50"},[n.createVNode(h.NDatePicker,n.mergeProps({class:"w-full",type:"daterange",value:l.value??null,clearable:!0,disabled:e.disabled,onUpdateValue:o},e.datePickerProps),null)]),n.createVNode("div",{class:"flex flex-wrap gap-2"},[m.value.map(t=>{const r=y(t),s=d.value===r,g=e.disabled||t.disabled||!1;return n.createVNode("div",{key:String(r),class:V(s,g),onClick:()=>v(t)},[D(t,u)])})])])}});exports.DuxDateTag=P;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`);let t=require(`vue`),n=require(`@duxweb/dvha-core`),r=require(`naive-ui`),i=require(`@vueuse/core`),a=require(`dayjs`);a=e.__toESM(a);function o(e){if(typeof e.range==`function`)return e.range();if(e.value)return e.value;if(e.num&&e.unit){let t=e.unit===`days`?(0,a.default)().endOf(`day`):(0,a.default)(),n=s(e.unit);return[(e.unit===`days`?t.subtract(e.num-1,n).startOf(`day`):t.subtract(e.num,n)).valueOf(),t.valueOf()]}return null}function s(e){switch(e){case`minutes`:return`minute`;case`hours`:return`hour`;default:return`day`}}var c=[`inline-flex items-center justify-center px-3 py-1.5 rounded-md text-sm transition-colors duration-150 cursor-pointer select-none`];function l(e,t){return[...c,e?`text-primary bg-primary/10`:`text-default bg-transparent hover:text-primary`,t&&`opacity-50 cursor-not-allowed`]}var u=[{key:`3d`,num:3,unit:`days`},{key:`7d`,num:7,unit:`days`},{key:`30d`,num:30,unit:`days`}];function d(e){return e.key===void 0?e.label?e.label:e.unit&&e.num!==void 0?`${e.unit}-${e.num}`:e.value?`value-${e.value.join(`-`)}`:JSON.stringify(e):e.key}function f(e,t){if(e.label)return e.label;if(e.unit&&e.num!==void 0&&e.key){let n={"3d":`components.dateTag.recentThreeDays`,"7d":`components.dateTag.recentSevenDays`,"30d":`components.dateTag.recentThirtyDays`};if(n[e.key])return t(n[e.key])}return e.unit&&e.num!==void 0?t({minutes:`components.dateTag.recentMinutes`,hours:`components.dateTag.recentHours`,days:`components.dateTag.recentDays`}[e.unit],{num:e.num}):``}const p=(0,t.defineComponent)({name:`DuxDateTag`,props:{options:{type:Array,default:()=>u},value:{type:[Array,null],default:null},defaultValue:{type:[Array,null],default:null},disabled:{type:Boolean,default:!1},datePickerProps:{type:Object,default:void 0},onUpdateValue:{type:Function,default:void 0}},emits:[`update:value`,`change`],setup(e,{emit:a}){let{t:s}=(0,n.useI18n)(),c=(0,i.useVModel)(e,`value`,a,{defaultValue:e.defaultValue}),p=(0,t.ref)(null),m=(0,t.computed)(()=>e.options||u),h=(t,n,r=!0)=>{c.value=t,p.value=n,r&&(e.onUpdateValue?.(t),a(`change`,t))},g=t=>{e.disabled||t.disabled||h(o(t),d(t))},_=e=>{h(e,null)};return()=>(0,t.createVNode)(`div`,{class:`flex gap-3`},[(0,t.createVNode)(`div`,{class:`min-w-50`},[(0,t.createVNode)(r.NDatePicker,(0,t.mergeProps)({class:`w-full`,type:`daterange`,value:c.value??null,clearable:!0,disabled:e.disabled,onUpdateValue:_},e.datePickerProps),null)]),(0,t.createVNode)(`div`,{class:`flex flex-wrap gap-2`},[m.value.map(n=>{let r=d(n),i=p.value===r,a=e.disabled||n.disabled||!1;return(0,t.createVNode)(`div`,{key:String(r),class:l(i,a),onClick:()=>g(n)},[f(n,s)])})])])}});exports.DuxDateTag=p;
@@ -0,0 +1 @@
1
+ require(`./checkboxTag.cjs`),require(`./dateTag.cjs`),require(`./radioTag.cjs`),require(`./selectCard.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),o=require("@vueuse/core");function i(a,u){return["inline-flex items-center justify-center px-3 py-1.5 rounded-sm text-sm transition-colors duration-150 cursor-pointer select-none",a?"text-primary bg-primary/15":"text-default bg-transparent hover:text-primary",u&&"opacity-50 cursor-not-allowed"]}const c=n.defineComponent({name:"DuxRadioTag",props:{options:{type:Array,default:()=>[]},value:{type:[String,Number],default:void 0},defaultValue:{type:[String,Number],default:void 0},disabled:{type:Boolean,default:!1},onUpdateValue:{type:Function,default:void 0}},emits:["update:value","change"],setup(a,{emit:u}){const l=o.useVModel(a,"value",u,{defaultValue:a.defaultValue}),d=e=>{const t=l.value===e.value?void 0:e.value;l.value=t,a.onUpdateValue?.(t),u("change",t)},r=e=>l.value===e.value;return()=>n.createVNode("div",{class:"flex flex-wrap gap-2"},[a.options.map(e=>{const t=a.disabled||e.disabled||!1,s=r(e);return n.createVNode("div",{key:e.value,class:i(s,t),onClick:()=>!t&&d(e)},[e.label])})])}});exports.DuxRadioTag=c;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`@vueuse/core`);function n(e,t){return[`inline-flex items-center justify-center px-3 py-1.5 rounded-sm text-sm transition-colors duration-150 cursor-pointer select-none`,e?`text-primary bg-primary/15`:`text-default bg-transparent hover:text-primary`,t&&`opacity-50 cursor-not-allowed`]}const r=(0,e.defineComponent)({name:`DuxRadioTag`,props:{options:{type:Array,default:()=>[]},value:{type:[String,Number],default:void 0},defaultValue:{type:[String,Number],default:void 0},disabled:{type:Boolean,default:!1},onUpdateValue:{type:Function,default:void 0}},emits:[`update:value`,`change`],setup(r,{emit:i}){let a=(0,t.useVModel)(r,`value`,i,{defaultValue:r.defaultValue}),o=e=>{let t=a.value===e.value?void 0:e.value;a.value=t,r.onUpdateValue?.(t),i(`change`,t)},s=e=>a.value===e.value;return()=>(0,e.createVNode)(`div`,{class:`flex flex-wrap gap-2`},[r.options.map(t=>{let i=r.disabled||t.disabled||!1,a=s(t);return(0,e.createVNode)(`div`,{key:t.value,class:n(a,i),onClick:()=>!i&&o(t)},[t.label])})])}});exports.DuxRadioTag=r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),n=require("@vueuse/core"),f=l.defineComponent({name:"DuxSelectCard",props:{options:{type:Array,default:()=>[]},value:{type:[String,Number,Array],default:void 0},defaultValue:{type:[String,Number,Array],default:void 0},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minWidth:{type:String,default:"150px"},maxWidth:{type:String,default:"200px"},onUpdateValue:{type:Function,default:void 0}},emits:["update:value","change"],setup(a,{emit:u}){const t=n.useVModel(a,"value",u,{passive:!0,defaultValue:a.defaultValue}),i=e=>{if(!a.disabled){if(a.multiple){const d=Array.isArray(t.value)?t.value:[];t.value=d.includes(e)?d.filter(s=>s!==e):[...d,e]}else t.value=e;a.onUpdateValue?.(t.value),u("update:value",t.value)}},r=e=>a.multiple?Array.isArray(t.value)&&t.value.includes(e):t.value===e,c=["grid gap-4","grid-cols-2",`lg:grid-cols-[repeat(auto-fill,minmax(${a.minWidth},${a.maxWidth}))]`];return()=>l.createVNode("div",{class:c},[a.options.map(e=>l.createVNode("div",{key:e.value,class:["relative cursor-pointer border rounded p-2.5 transition-all duration-200 hover:border-primary",{"border-primary bg-primary/5":r(e.value),"border-muted":!r(e.value),"opacity-50 cursor-not-allowed":e.disabled||a.disabled}],onClick:()=>!e.disabled&&i(e.value)},[r(e.value)&&l.createVNode("div",{class:"absolute top-2 right-2 size-4 bg-primary rounded-full flex items-center justify-center"},[l.createVNode("svg",{class:"size-3 text-white",fill:"currentColor",viewBox:"0 0 20 20"},[l.createVNode("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"},null)])]),l.createVNode("div",{class:["flex gap-3 px-2 items-center",{"flex-col items-center text-center":!e.icon,"flex-row items-start text-left":e.icon}]},[e.icon&&l.createVNode("div",{class:["flex items-center justify-center p-3 rounded-lg",`bg-${e.iconColor||"primary"}/10`,`text-${e.iconColor||"primary"}`]},[l.createVNode("div",{class:`${e.icon} size-4`},null)]),l.createVNode("div",{class:"flex flex-col flex-1 gap-1"},[l.createVNode("div",{class:["text-sm font-medium",{"text-primary":r(e.value),"text-default":!r(e.value)}]},[e.label]),e.description&&l.createVNode("div",{class:["text-xs",{"text-primary/80":r(e.value),"text-muted":!r(e.value)}]},[e.description])])])]))])}});exports.DuxSelectCard=f;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`@vueuse/core`);const n=(0,e.defineComponent)({name:`DuxSelectCard`,props:{options:{type:Array,default:()=>[]},value:{type:[String,Number,Array],default:void 0},defaultValue:{type:[String,Number,Array],default:void 0},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minWidth:{type:String,default:`150px`},maxWidth:{type:String,default:`200px`},onUpdateValue:{type:Function,default:void 0}},emits:[`update:value`,`change`],setup(n,{emit:r}){let i=(0,t.useVModel)(n,`value`,r,{passive:!0,defaultValue:n.defaultValue}),a=e=>{if(!n.disabled){if(n.multiple){let t=Array.isArray(i.value)?i.value:[];i.value=t.includes(e)?t.filter(t=>t!==e):[...t,e]}else i.value=e;n.onUpdateValue?.(i.value),r(`update:value`,i.value)}},o=e=>n.multiple?Array.isArray(i.value)&&i.value.includes(e):i.value===e,s=[`grid gap-4`,`grid-cols-2`,`lg:grid-cols-[repeat(auto-fill,minmax(${n.minWidth},${n.maxWidth}))]`];return()=>(0,e.createVNode)(`div`,{class:s},[n.options.map(t=>(0,e.createVNode)(`div`,{key:t.value,class:[`relative cursor-pointer border rounded p-2.5 transition-all duration-200 hover:border-primary`,{"border-primary bg-primary/5":o(t.value),"border-muted":!o(t.value),"opacity-50 cursor-not-allowed":t.disabled||n.disabled}],onClick:()=>!t.disabled&&a(t.value)},[o(t.value)&&(0,e.createVNode)(`div`,{class:`absolute top-2 right-2 size-4 bg-primary rounded-full flex items-center justify-center`},[(0,e.createVNode)(`svg`,{class:`size-3 text-white`,fill:`currentColor`,viewBox:`0 0 20 20`},[(0,e.createVNode)(`path`,{"fill-rule":`evenodd`,d:`M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z`,"clip-rule":`evenodd`},null)])]),(0,e.createVNode)(`div`,{class:[`flex gap-3 px-2 items-center`,{"flex-col items-center text-center":!t.icon,"flex-row items-start text-left":t.icon}]},[t.icon&&(0,e.createVNode)(`div`,{class:[`flex items-center justify-center p-3 rounded-lg`,`bg-${t.iconColor||`primary`}/10`,`text-${t.iconColor||`primary`}`]},[(0,e.createVNode)(`div`,{class:`${t.icon} size-4`},null)]),(0,e.createVNode)(`div`,{class:`flex flex-col flex-1 gap-1`},[(0,e.createVNode)(`div`,{class:[`text-sm font-medium`,{"text-primary":o(t.value),"text-default":!o(t.value)}]},[t.label]),t.description&&(0,e.createVNode)(`div`,{class:[`text-xs`,{"text-primary/80":o(t.value),"text-muted":!o(t.value)}]},[t.description])])])]))])}});exports.DuxSelectCard=n;
@@ -0,0 +1 @@
1
+ require(`./specEditor.cjs`),require(`./spec.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),U=require("@duxweb/dvha-core"),j=require("@vueuse/core"),K=require("naive-ui"),N=require("../data/dynamicData.cjs");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("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");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("vee-validate");require("@duxweb/dvha-naiveui");require("vue-command-palette");require("../../pages/page404.cjs");require("vue-draggable-plus");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("lodash-es/cloneDeep");require("@vue-flow/background");;/* empty css */require("mime");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("../schemaEditor/schemaEditor.cjs");require("dayjs");const g=require("./specEditor.cjs");require("@tanstack/vue-query");require("pinia");const k="__dux_spec__",y=u=>`${k}${u}`;function M(u=[]){return(u||[]).map(n=>{const o=(n.values?.length?n.values:[g.createSpecValue()]).map(d=>({...d,id:d.id||g.createSpecValue().id}));return{...n,id:n.id||g.createSpec().id,values:o}})}function O(u){if(!u.length)return[];let n=[{}];return u.forEach(o=>{const d=[];n.forEach(S=>{o.values.forEach(r=>{d.push({...S,[o.id]:r})})}),n=d}),n.map(o=>({key:u.map(d=>o[d.id]?.id||"").join("__"),map:o}))}function z(u,n){return n.map(o=>u?.__specs?.[o.id]?.id||u?.[y(o.id)]||"").join("__")}const F=s.defineComponent({name:"DuxSpec",props:{columns:{type:Array,default:()=>[]},value:Object,defaultValue:Object,onUpdateValue:Function,imageUploadProps:{type:Object,default:()=>({})},syncRowSpecs:{type:Boolean,default:!1}},emits:["update:value","change"],setup(u,{emit:n,expose:o,slots:d}){const{t:S}=U.useI18n(),r=j.useVModel(u,"value",n,{defaultValue:u.defaultValue||{specs:[],rows:[]},passive:!0,deep:!0}),_=s.ref(null),v=()=>{if(!r.value){r.value={specs:[],rows:[]};return}Array.isArray(r.value.specs)||(r.value.specs=[]),Array.isArray(r.value.rows)||(r.value.rows=[]),r.value.rows.length===0&&r.value.rows.push({status:1})};v();const p=()=>{u.onUpdateValue?.(r.value),n("change",r.value)},b=s.computed(()=>(v(),(r.value?.specs||[]).map(e=>{const i=(e.name||"").trim(),a=(e.values||[]).map(l=>({id:l.id,label:(l.label||"").trim(),specId:e.id,specName:i})).filter(l=>!!l.label);return{id:e.id,name:i,values:a}}).filter(e=>e.name&&e.values.length))),x=(e,i)=>{if(!u.syncRowSpecs)return;const a={};i.forEach(l=>{const m=e?.__specs?.[l.id];m?.label&&(a[l.name]=m.label)}),e.specs=a},R=(e,i)=>{if(!e||typeof e!="object")return;if(e.__specKey&&e.__specs){x(e,i);return}const a=e.specs;if(!a||typeof a!="object"||Array.isArray(a))return;const l={},m=[];i.forEach(q=>{const h=a[q.name];if(!h)return;const t=q.values.find(c=>c.label===h);t&&(l[q.id]=t,m.push(t.id),e[y(q.id)]=t.label)}),m.length===i.length&&(e.__specKey=m.join("__"),e.__specs=l,x(e,i))},E=e=>{if(v(),!e.length){let t=!1;const c=r.value.rows||[];c.length?(c.forEach(f=>{typeof f.status>"u"&&(f.status=1,t=!0)}),t&&p()):(r.value.rows=[{status:1}],p());return}const i=r.value.rows||[];i.forEach(t=>R(t,e));const a=O(e),l=i,m=new Map;l.forEach(t=>{const c=t.__specKey||z(t,e);m.set(c,t)});let q=a.length!==l.length;const h=a.map(t=>{const c=m.get(t.key),f=c?{...c}:{status:1};return f.__specKey=t.key,f.__specs=t.map,typeof f.status>"u"&&(f.status=1),e.forEach(P=>{const V=y(P.id);f[V]=t.map[P.id]?.label||""}),x(f,e),!q&&c&&e.some(V=>{const w=y(V.id);return c[w]!==f[w]})&&(q=!0),c||(q=!0),f});q&&(r.value.rows=h,p())};s.watch(b,e=>{E(e)},{immediate:!0});const A=s.computed(()=>b.value.map(e=>{const i=y(e.id);return{key:i,title:e.name,width:160,render:a=>a?.[i]||a?.__specs?.[e.id]?.label||""}})),C=s.computed(()=>({key:"__dux_spec_status",title:S("components.spec.status"),width:120,fixed:"right",align:"center",render:e=>s.createVNode(K.NSwitch,s.mergeProps({value:e.status!==0&&e.status!==!1},{"onUpdate:value":i=>{e.status=i?1:0,p()}}),null)})),D=s.computed(()=>[...A.value,...u.columns||[],C.value]);return o({setPresetSpecs:(e=[])=>{if(_.value&&_.value.setPresetSpecs){_.value.setPresetSpecs(e);return}v(),r.value.specs=M(e),p(),E(b.value)}}),()=>s.createVNode("div",{class:"flex flex-col gap-4"},[s.createVNode(g.DuxSpecEditor,s.mergeProps({ref:_,value:r.value?.specs,defaultValue:u.defaultValue?.specs,imageUploadProps:u.imageUploadProps},{"onUpdate:value":e=>{v(),r.value.specs=e,p()}}),{actions:()=>d?.actions?.(),namePrefix:e=>d?.namePrefix?.(e),valuePrefix:e=>d?.valuePrefix?.(e)}),s.createVNode(N.DuxDynamicData,s.mergeProps({value:r.value?.rows||[],columns:D.value,createAction:!1,deleteAction:!1,moveAction:!1,size:"medium"},{"onUpdate:value":e=>{v(),r.value.rows=e,p()}}),null)])}});exports.DuxSpec=F;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../data/dynamicData.cjs`);require(`../data/index.cjs`);const t=require(`./specEditor.cjs`);let n=require(`vue`),r=require(`@duxweb/dvha-core`),i=require(`naive-ui`),a=require(`@vueuse/core`);var o=`__dux_spec__`,s=e=>`${o}${e}`;function c(e=[]){return(e||[]).map(e=>{let n=(e.values?.length?e.values:[t.createSpecValue()]).map(e=>({...e,id:e.id||t.createSpecValue().id}));return{...e,id:e.id||t.createSpec().id,values:n}})}function l(e){if(!e.length)return[];let t=[{}];return e.forEach(e=>{let n=[];t.forEach(t=>{e.values.forEach(r=>{n.push({...t,[e.id]:r})})}),t=n}),t.map(t=>({key:e.map(e=>t[e.id]?.id||``).join(`__`),map:t}))}function u(e,t){return t.map(t=>e?.__specs?.[t.id]?.id||e?.[s(t.id)]||``).join(`__`)}const d=(0,n.defineComponent)({name:`DuxSpec`,props:{columns:{type:Array,default:()=>[]},value:Object,defaultValue:Object,onUpdateValue:Function,imageUploadProps:{type:Object,default:()=>({})},syncRowSpecs:{type:Boolean,default:!1}},emits:[`update:value`,`change`],setup(o,{emit:d,expose:f,slots:p}){let{t:m}=(0,r.useI18n)(),h=(0,a.useVModel)(o,`value`,d,{defaultValue:o.defaultValue||{specs:[],rows:[]},passive:!0,deep:!0}),g=(0,n.ref)(null),_=()=>{if(!h.value){h.value={specs:[],rows:[]};return}Array.isArray(h.value.specs)||(h.value.specs=[]),Array.isArray(h.value.rows)||(h.value.rows=[]),h.value.rows.length===0&&h.value.rows.push({status:1})};_();let v=()=>{o.onUpdateValue?.(h.value),d(`change`,h.value)},y=(0,n.computed)(()=>(_(),(h.value?.specs||[]).map(e=>{let t=(e.name||``).trim(),n=(e.values||[]).map(n=>({id:n.id,label:(n.label||``).trim(),specId:e.id,specName:t})).filter(e=>!!e.label);return{id:e.id,name:t,values:n}}).filter(e=>e.name&&e.values.length))),b=(e,t)=>{if(!o.syncRowSpecs)return;let n={};t.forEach(t=>{let r=e?.__specs?.[t.id];r?.label&&(n[t.name]=r.label)}),e.specs=n},x=(e,t)=>{if(!e||typeof e!=`object`)return;if(e.__specKey&&e.__specs){b(e,t);return}let n=e.specs;if(!n||typeof n!=`object`||Array.isArray(n))return;let r={},i=[];t.forEach(t=>{let a=n[t.name];if(!a)return;let o=t.values.find(e=>e.label===a);o&&(r[t.id]=o,i.push(o.id),e[s(t.id)]=o.label)}),i.length===t.length&&(e.__specKey=i.join(`__`),e.__specs=r,b(e,t))},S=e=>{if(_(),!e.length){let e=!1,t=h.value.rows||[];t.length?(t.forEach(t=>{t.status===void 0&&(t.status=1,e=!0)}),e&&v()):(h.value.rows=[{status:1}],v());return}let t=h.value.rows||[];t.forEach(t=>x(t,e));let n=l(e),r=t,i=new Map;r.forEach(t=>{let n=t.__specKey||u(t,e);i.set(n,t)});let a=n.length!==r.length,o=n.map(t=>{let n=i.get(t.key),r=n?{...n}:{status:1};return r.__specKey=t.key,r.__specs=t.map,r.status===void 0&&(r.status=1),e.forEach(e=>{let n=s(e.id);r[n]=t.map[e.id]?.label||``}),b(r,e),!a&&n&&e.some(e=>{let t=s(e.id);return n[t]!==r[t]})&&(a=!0),n||(a=!0),r});a&&(h.value.rows=o,v())};(0,n.watch)(y,e=>{S(e)},{immediate:!0});let C=(0,n.computed)(()=>y.value.map(e=>{let t=s(e.id);return{key:t,title:e.name,width:160,render:n=>n?.[t]||n?.__specs?.[e.id]?.label||``}})),w=(0,n.computed)(()=>({key:`__dux_spec_status`,title:m(`components.spec.status`),width:120,fixed:`right`,align:`center`,render:e=>(0,n.createVNode)(i.NSwitch,(0,n.mergeProps)({value:e.status!==0&&e.status!==!1},{"onUpdate:value":t=>{e.status=t?1:0,v()}}),null)})),T=(0,n.computed)(()=>[...C.value,...o.columns||[],w.value]);return f({setPresetSpecs:(e=[])=>{if(g.value&&g.value.setPresetSpecs){g.value.setPresetSpecs(e);return}_(),h.value.specs=c(e),v(),S(y.value)}}),()=>(0,n.createVNode)(`div`,{class:`flex flex-col gap-4`},[(0,n.createVNode)(t.DuxSpecEditor,(0,n.mergeProps)({ref:g,value:h.value?.specs,defaultValue:o.defaultValue?.specs,imageUploadProps:o.imageUploadProps},{"onUpdate:value":e=>{_(),h.value.specs=e,v()}}),{actions:()=>p?.actions?.(),namePrefix:e=>p?.namePrefix?.(e),valuePrefix:e=>p?.valuePrefix?.(e)}),(0,n.createVNode)(e.DuxDynamicData,(0,n.mergeProps)({value:h.value?.rows||[],columns:T.value,createAction:!1,deleteAction:!1,moveAction:!1,size:`medium`},{"onUpdate:value":e=>{_(),h.value.rows=e,v()}}),null)])}});exports.DuxSpec=d;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),K=require("@duxweb/dvha-core"),L=require("@vueuse/core"),q=require("naive-ui"),T=require("vue-draggable-plus");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("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");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("vee-validate");require("@duxweb/dvha-naiveui");require("vue-command-palette");require("../../pages/page404.cjs");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("lodash-es/cloneDeep");require("@vue-flow/background");;/* empty css */require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("../schemaEditor/schemaEditor.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");const G=require("../upload/image.cjs");function w(s){return typeof s=="function"||Object.prototype.toString.call(s)==="[object Object]"&&!t.isVNode(s)}const N=(()=>{let s=0;return x=>(s+=1,`${x}_${Date.now().toString(36)}_${s}`)})();function h(){return{id:N("spec_value"),label:"",image:""}}function U(){return{id:N("spec"),name:"",values:[h()],is_image:!1}}const H=t.defineComponent({name:"DuxSpecEditor",props:{value:Array,defaultValue:{type:Array,default:()=>[]},imageUploadProps:{type:Object,default:()=>({})}},emits:["update:value","change"],setup(s,{emit:x,expose:C,slots:y}){const{t:f}=K.useI18n(),o=L.useVModel(s,"value",x,{passive:!0,deep:!0,defaultValue:s.defaultValue||[]}),S=()=>{o.value||(o.value=[])};S();const d=new Map,c=new Map,g=new Set,m=new Set,D=t.computed(()=>({manager:!0,multiple:!1,...s.imageUploadProps||{}})),P=e=>{const a=e.name||"";let r=d.get(e.id);return r?!g.has(e.id)&&r.value!==a&&(r.value=a):(r=t.ref(a),d.set(e.id,r)),r},b=e=>{const a=e.label||"";let r=c.get(e.id);return r?!m.has(e.id)&&r.value!==a&&(r.value=a):(r=t.ref(a),c.set(e.id,r)),r},A=e=>{e&&(d.delete(e.id),g.delete(e.id),e.values?.forEach(a=>{c.delete(a.id),m.delete(a.id)}))},I=e=>{e&&(c.delete(e.id),m.delete(e.id))},j=(e=[])=>{g.clear(),m.clear();const a=new Set,r=new Set;e.forEach(i=>{a.add(i.id);const v=d.get(i.id);v?v.value=i.name||"":d.set(i.id,t.ref(i.name||"")),i.values?.forEach(n=>{r.add(n.id);const V=c.get(n.id);V?V.value=n.label||"":c.set(n.id,t.ref(n.label||""))})}),Array.from(d.keys()).forEach(i=>{a.has(i)||(d.delete(i),g.delete(i))}),Array.from(c.keys()).forEach(i=>{r.has(i)||(c.delete(i),m.delete(i))})};t.watch(o,e=>{j(e||[])},{immediate:!0});const l=()=>{x("change",o.value||[])},M=()=>{S();const e=U();o.value.push(e),P(e),e.values?.forEach(a=>b(a)),l()},O=e=>{S();const a=o.value.splice(e,1)?.[0];A(a),l()},z=e=>{e.values=e.values||[];const a=h();e.values.push(a),b(a),l()},F=(e,a)=>{const r=e.values?.splice(a,1)?.[0];I(r),l()},$=(e=[])=>{o.value=e.map(a=>({...a,id:a.id||N("spec"),values:a.values?.map(r=>({...r,id:r.id||N("spec_value")}))||[h()]})),l()},B=e=>{const a=d.get(e.id);if(!a)return;const r=a.value?.trim()||"";e.name!==r&&(e.name=r,l()),a.value=r},k=e=>{const a=c.get(e.id);if(!a)return;const r=a.value?.trim()||"";e.label!==r&&(e.label=r,l()),a.value=r};return C({setPresetSpecs:$}),()=>{let e;const a=(o.value?.length||0)>0;return t.createVNode("div",{class:"flex flex-col gap-4"},[a&&t.createVNode(T.VueDraggable,t.mergeProps({modelValue:o.value||[],handle:".spec-drag-handle",target:".spec-drag-container",animation:200},{"onUpdate:modelValue":r=>{o.value=r,l()}}),{default:()=>[t.createVNode("div",{class:"flex flex-col gap-3 spec-drag-container"},[o.value?.map((r,i)=>{let v,n;const V=P(r);return t.createVNode("div",{key:r.id,class:"rounded-md border border-muted flex gap-4 items-center"},[t.createVNode("div",{class:"flex-1 flex flex-col"},[t.createVNode("div",{class:"flex items-center gap-2 bg-muted p-4 rounded-t"},[t.createVNode("div",{class:"spec-drag-handle i-tabler:dots-vertical text-gray-400 cursor-move flex-none w-4"},null),t.createVNode("div",{class:"w-14 text-right text-sm text-gray-500 flex-shrink-0"},[f("components.spec.nameLabel")]),t.createVNode("div",{class:"flex items-center gap-3"},[y?.namePrefix?.({spec:r,specIndex:i,commit:()=>B(r),triggerChange:l}),t.createVNode(q.NInput,{style:{width:"150px"},placeholder:f("components.spec.namePlaceholder"),value:V.value,onUpdateValue:u=>{V.value=u},onFocus:()=>g.add(r.id),onBlur:()=>{g.delete(r.id),B(r)},onKeyup:u=>{u.key==="Enter"&&B(r)}},{suffix:()=>t.createVNode(q.NButton,{text:!0,type:"error",size:"tiny",onClick:()=>O(i)},{default:()=>[t.createVNode("div",{class:"i-tabler:trash text-xs"},null)]})}),t.createVNode("div",null,[t.createVNode(q.NCheckbox,t.mergeProps({checked:r.is_image},{"onUpdate:checked":u=>{r.is_image=u,l()}}),w(v=f("components.spec.addImage"))?v:{default:()=>[v]})])])]),t.createVNode("div",{class:"flex items-start gap-2 p-4 bg-default rounded-b"},[t.createVNode("div",{class:"w-14 text-right text-sm text-gray-500 flex-shrink-0 pt-1 ml-6 mt-0.7"},[f("components.spec.valueLabel")]),t.createVNode("div",{class:"flex flex-col gap-2 flex-1"},[t.createVNode("div",{class:"flex flex-wrap gap-4 items-start"},[r.values?.map((u,_)=>{const E=b(u);return t.createVNode("div",{key:u.id,class:"flex flex-col gap-1"},[t.createVNode("div",{class:"flex items-center gap-2"},[y?.valuePrefix?.({spec:r,value:u,specIndex:i,valueIndex:_,commit:()=>k(u),triggerChange:l}),t.createVNode(q.NInput,{style:{width:"150px"},placeholder:f("components.spec.valuePlaceholder"),value:E.value,onUpdateValue:p=>{E.value=p},onFocus:()=>m.add(u.id),onBlur:()=>{m.delete(u.id),k(u)},onKeyup:p=>{p.key==="Enter"&&k(u)}},{suffix:()=>t.createVNode(q.NButton,{text:!0,type:"error",size:"tiny",onClick:()=>F(r,_)},{default:()=>[t.createVNode("div",{class:"i-tabler:trash text-xs"},null)]})})]),r.is_image&&t.createVNode("div",{class:"w-[140px]"},[t.createVNode(G.DuxImageUpload,t.mergeProps(D.value,{value:typeof u.image=="string"?u.image:"",onUpdateValue:p=>{u.image=Array.isArray(p)?p?.[0]:p,l()}}),null)])])}),t.createVNode("div",{class:"mt-1.5"},[t.createVNode(q.NButton,{text:!0,type:"primary",size:"small",onClick:()=>z(r)},w(n=f("components.spec.addValue"))?n:{default:()=>[n]})])])])])])])})])]}),t.createVNode("div",{class:"flex items-center gap-2"},[t.createVNode(q.NButton,{secondary:!0,type:"primary",onClick:M},w(e=f("components.spec.addSpec"))?e:{default:()=>[e]}),y?.actions?.()])])}}});exports.DuxSpecEditor=H;exports.createSpec=U;exports.createSpecValue=h;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../upload/image.cjs`);require(`../upload/index.cjs`);let t=require(`vue`),n=require(`@duxweb/dvha-core`),r=require(`naive-ui`),i=require(`@vueuse/core`),a=require(`vue-draggable-plus`);function o(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!(0,t.isVNode)(e)}var s=(()=>{let e=0;return t=>(e+=1,`${t}_${Date.now().toString(36)}_${e}`)})();function c(){return{id:s(`spec_value`),label:``,image:``}}function l(){return{id:s(`spec`),name:``,values:[c()],is_image:!1}}const u=(0,t.defineComponent)({name:`DuxSpecEditor`,props:{value:Array,defaultValue:{type:Array,default:()=>[]},imageUploadProps:{type:Object,default:()=>({})}},emits:[`update:value`,`change`],setup(u,{emit:d,expose:f,slots:p}){let{t:m}=(0,n.useI18n)(),h=(0,i.useVModel)(u,`value`,d,{passive:!0,deep:!0,defaultValue:u.defaultValue||[]}),g=()=>{h.value||=[]};g();let _=new Map,v=new Map,y=new Set,b=new Set,x=(0,t.computed)(()=>({manager:!0,multiple:!1,...u.imageUploadProps||{}})),S=e=>{let n=e.name||``,r=_.get(e.id);return r?!y.has(e.id)&&r.value!==n&&(r.value=n):(r=(0,t.ref)(n),_.set(e.id,r)),r},C=e=>{let n=e.label||``,r=v.get(e.id);return r?!b.has(e.id)&&r.value!==n&&(r.value=n):(r=(0,t.ref)(n),v.set(e.id,r)),r},w=e=>{e&&(_.delete(e.id),y.delete(e.id),e.values?.forEach(e=>{v.delete(e.id),b.delete(e.id)}))},T=e=>{e&&(v.delete(e.id),b.delete(e.id))},E=(e=[])=>{y.clear(),b.clear();let n=new Set,r=new Set;e.forEach(e=>{n.add(e.id);let i=_.get(e.id);i?i.value=e.name||``:_.set(e.id,(0,t.ref)(e.name||``)),e.values?.forEach(e=>{r.add(e.id);let n=v.get(e.id);n?n.value=e.label||``:v.set(e.id,(0,t.ref)(e.label||``))})}),Array.from(_.keys()).forEach(e=>{n.has(e)||(_.delete(e),y.delete(e))}),Array.from(v.keys()).forEach(e=>{r.has(e)||(v.delete(e),b.delete(e))})};(0,t.watch)(h,e=>{E(e||[])},{immediate:!0});let D=()=>{d(`change`,h.value||[])},O=()=>{g();let e=l();h.value.push(e),S(e),e.values?.forEach(e=>C(e)),D()},k=e=>{g();let t=h.value.splice(e,1)?.[0];w(t),D()},A=e=>{e.values=e.values||[];let t=c();e.values.push(t),C(t),D()},j=(e,t)=>{let n=e.values?.splice(t,1)?.[0];T(n),D()},M=(e=[])=>{h.value=e.map(e=>({...e,id:e.id||s(`spec`),values:e.values?.map(e=>({...e,id:e.id||s(`spec_value`)}))||[c()]})),D()},N=e=>{let t=_.get(e.id);if(!t)return;let n=t.value?.trim()||``;e.name!==n&&(e.name=n,D()),t.value=n},P=e=>{let t=v.get(e.id);if(!t)return;let n=t.value?.trim()||``;e.label!==n&&(e.label=n,D()),t.value=n};return f({setPresetSpecs:M}),()=>{let n,i=(h.value?.length||0)>0;return(0,t.createVNode)(`div`,{class:`flex flex-col gap-4`},[i&&(0,t.createVNode)(a.VueDraggable,(0,t.mergeProps)({modelValue:h.value||[],handle:`.spec-drag-handle`,target:`.spec-drag-container`,animation:200},{"onUpdate:modelValue":e=>{h.value=e,D()}}),{default:()=>[(0,t.createVNode)(`div`,{class:`flex flex-col gap-3 spec-drag-container`},[h.value?.map((n,i)=>{let a,s,c=S(n);return(0,t.createVNode)(`div`,{key:n.id,class:`rounded-md border border-muted flex gap-4 items-center`},[(0,t.createVNode)(`div`,{class:`flex-1 flex flex-col`},[(0,t.createVNode)(`div`,{class:`flex items-center gap-2 bg-muted p-4 rounded-t`},[(0,t.createVNode)(`div`,{class:`spec-drag-handle i-tabler:dots-vertical text-gray-400 cursor-move flex-none w-4`},null),(0,t.createVNode)(`div`,{class:`w-14 text-right text-sm text-gray-500 flex-shrink-0`},[m(`components.spec.nameLabel`)]),(0,t.createVNode)(`div`,{class:`flex items-center gap-3`},[p?.namePrefix?.({spec:n,specIndex:i,commit:()=>N(n),triggerChange:D}),(0,t.createVNode)(r.NInput,{style:{width:`150px`},placeholder:m(`components.spec.namePlaceholder`),value:c.value,onUpdateValue:e=>{c.value=e},onFocus:()=>y.add(n.id),onBlur:()=>{y.delete(n.id),N(n)},onKeyup:e=>{e.key===`Enter`&&N(n)}},{suffix:()=>(0,t.createVNode)(r.NButton,{text:!0,type:`error`,size:`tiny`,onClick:()=>k(i)},{default:()=>[(0,t.createVNode)(`div`,{class:`i-tabler:trash text-xs`},null)]})}),(0,t.createVNode)(`div`,null,[(0,t.createVNode)(r.NCheckbox,(0,t.mergeProps)({checked:n.is_image},{"onUpdate:checked":e=>{n.is_image=e,D()}}),o(a=m(`components.spec.addImage`))?a:{default:()=>[a]})])])]),(0,t.createVNode)(`div`,{class:`flex items-start gap-2 p-4 bg-default rounded-b`},[(0,t.createVNode)(`div`,{class:`w-14 text-right text-sm text-gray-500 flex-shrink-0 pt-1 ml-6 mt-0.7`},[m(`components.spec.valueLabel`)]),(0,t.createVNode)(`div`,{class:`flex flex-col gap-2 flex-1`},[(0,t.createVNode)(`div`,{class:`flex flex-wrap gap-4 items-start`},[n.values?.map((a,o)=>{let s=C(a);return(0,t.createVNode)(`div`,{key:a.id,class:`flex flex-col gap-1`},[(0,t.createVNode)(`div`,{class:`flex items-center gap-2`},[p?.valuePrefix?.({spec:n,value:a,specIndex:i,valueIndex:o,commit:()=>P(a),triggerChange:D}),(0,t.createVNode)(r.NInput,{style:{width:`150px`},placeholder:m(`components.spec.valuePlaceholder`),value:s.value,onUpdateValue:e=>{s.value=e},onFocus:()=>b.add(a.id),onBlur:()=>{b.delete(a.id),P(a)},onKeyup:e=>{e.key===`Enter`&&P(a)}},{suffix:()=>(0,t.createVNode)(r.NButton,{text:!0,type:`error`,size:`tiny`,onClick:()=>j(n,o)},{default:()=>[(0,t.createVNode)(`div`,{class:`i-tabler:trash text-xs`},null)]})})]),n.is_image&&(0,t.createVNode)(`div`,{class:`w-[140px]`},[(0,t.createVNode)(e.DuxImageUpload,(0,t.mergeProps)(x.value,{value:typeof a.image==`string`?a.image:``,onUpdateValue:e=>{a.image=Array.isArray(e)?e?.[0]:e,D()}}),null)])])}),(0,t.createVNode)(`div`,{class:`mt-1.5`},[(0,t.createVNode)(r.NButton,{text:!0,type:`primary`,size:`small`,onClick:()=>A(n)},o(s=m(`components.spec.addValue`))?s:{default:()=>[s]})])])])])])])})])]}),(0,t.createVNode)(`div`,{class:`flex items-center gap-2`},[(0,t.createVNode)(r.NButton,{secondary:!0,type:`primary`,onClick:O},o(n=m(`components.spec.addSpec`))?n:{default:()=>[n]}),p?.actions?.()])])}}});exports.DuxSpecEditor=u,exports.createSpec=l,exports.createSpecValue=c;
@@ -0,0 +1 @@
1
+ require(`./number.cjs`),require(`./realTime.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=e.defineComponent({name:"DuxStatsNumber",props:{title:{type:String,default:""},subtitle:{type:String,default:""},value:{type:[Number,String],default:0},change:{type:Number,default:0},changeType:{type:String,default:"up"}},setup(a){const n=t=>typeof t=="number"?t.toLocaleString():t,r=t=>t==="up"?"▲":t==="down"?"▼":"",u=t=>t==="up"?"text-success":t==="down"?"text-error":"text-muted";return()=>e.createVNode("div",{class:"flex flex-col gap-1"},[e.createVNode("div",{class:"flex items-baseline justify-between"},[e.createVNode("h3",{class:"text-sm text-muted"},[a.title])]),e.createVNode("div",{class:"text-2xl font-bold text-default"},[n(a.value)]),e.createVNode("div",{class:"flex flex-row gap-2 items-center text-sm"},[a.subtitle&&e.createVNode("span",{class:" text-muted"},[a.subtitle]),a.change!==void 0&&e.createVNode("div",{class:["flex items-center gap-1",u(a.changeType)]},[e.createVNode("span",{class:"text-xs"},[r(a.changeType)]),e.createVNode("span",null,[Math.abs(a.change),e.createTextVNode("%")])])])])}});exports.DuxStatsNumber=s;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`);const t=(0,e.defineComponent)({name:`DuxStatsNumber`,props:{title:{type:String,default:``},subtitle:{type:String,default:``},value:{type:[Number,String],default:0},change:{type:Number,default:0},changeType:{type:String,default:`up`}},setup(t){let n=e=>typeof e==`number`?e.toLocaleString():e,r=e=>e===`up`?`▲`:e===`down`?`▼`:``,i=e=>e===`up`?`text-success`:e===`down`?`text-error`:`text-muted`;return()=>(0,e.createVNode)(`div`,{class:`flex flex-col gap-1`},[(0,e.createVNode)(`div`,{class:`flex items-baseline justify-between`},[(0,e.createVNode)(`h3`,{class:`text-sm text-muted`},[t.title])]),(0,e.createVNode)(`div`,{class:`text-2xl font-bold text-default`},[n(t.value)]),(0,e.createVNode)(`div`,{class:`flex flex-row gap-2 items-center text-sm`},[t.subtitle&&(0,e.createVNode)(`span`,{class:` text-muted`},[t.subtitle]),t.change!==void 0&&(0,e.createVNode)(`div`,{class:[`flex items-center gap-1`,i(t.changeType)]},[(0,e.createVNode)(`span`,{class:`text-xs`},[r(t.changeType)]),(0,e.createVNode)(`span`,null,[Math.abs(t.change),(0,e.createTextVNode)(`%`)])])])])}});exports.DuxStatsNumber=t;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),u=require("@duxweb/dvha-core"),n=require("naive-ui"),o=require("../card/card.cjs");require("@vueuse/core");require("clsx");const d=require("../chart/echart.cjs"),m=require("./number.cjs"),x=t.defineComponent({name:"DuxStatsRealTime",props:{title:{type:String,default:""},subtitle:{type:String,default:""},cards:{type:Array,default:()=>[]},charts:{type:Array,default:()=>[]}},setup(a){const{t:r}=u.useI18n(),s=t.computed(()=>a.title||r("components.stats.realTimeData")),i=t.computed(()=>a.charts.length===1?a.charts.map(e=>({...e,class:"col-span-2",chartOption:{showXAxisLabel:!0,labels:e.labels,data:[{name:e.title,data:e.data}]}})):a.charts.map(e=>({...e,class:"col-span-1",chartOption:{showXAxisLabel:!0,labels:e.labels,data:[{name:e.title,data:e.data}]}}))),c=e=>typeof e=="number"?e.toLocaleString():e;return()=>t.createVNode(o.DuxCard,{title:s.value},{headerExtra:()=>t.createVNode("div",{class:"text-sm text-muted"},[a.subtitle]),default:()=>t.createVNode(t.Fragment,null,[a.cards.length>0&&t.createVNode("div",{class:"lg:h-26 bg-muted"},[t.createVNode(n.NScrollbar,{xScrollable:!0},{default:()=>[t.createVNode("div",{class:["grid grid-cols-2 whitespace-nowrap auto-cols-max","lg:grid-cols-[repeat(auto-fill,minmax(100px,1fr))]"]},[a.cards.map((e,l)=>t.createVNode("div",{key:l,class:"text-center flex flex-col gap-1 py-6"},[t.createVNode("div",{class:["text-2xl font-bold"]},[c(e.value)]),t.createVNode("div",{class:"text-sm text-muted"},[e.label])]))])]})]),a.charts.length>0&&t.createVNode("div",{class:["grid grid-cols-1","lg:grid-cols-[repeat(auto-fit,minmax(100px,1fr))]"]},[i.value.map((e,l)=>t.createVNode("div",{key:l,class:["p-4 pb-0 flex gap-4"]},[t.createVNode(m.DuxStatsNumber,{title:e.title,subtitle:e.subtitle,value:e.value||0,change:e.change,changeType:e.changeType},null),t.createVNode("div",{class:"flex-1 min-w-0"},[t.createVNode(d.DuxChart,{type:"line",height:"100px",min:!0,option:e.chartOption},null)])]))])])})}});exports.DuxStatsRealTime=x;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../card/card.cjs`);require(`../card/index.cjs`);const t=require(`../chart/echart.cjs`);require(`../chart/index.cjs`);const n=require(`./number.cjs`);let r=require(`vue`),i=require(`@duxweb/dvha-core`),a=require(`naive-ui`);const o=(0,r.defineComponent)({name:`DuxStatsRealTime`,props:{title:{type:String,default:``},subtitle:{type:String,default:``},cards:{type:Array,default:()=>[]},charts:{type:Array,default:()=>[]}},setup(o){let{t:s}=(0,i.useI18n)(),c=(0,r.computed)(()=>o.title||s(`components.stats.realTimeData`)),l=(0,r.computed)(()=>o.charts.length===1?o.charts.map(e=>({...e,class:`col-span-2`,chartOption:{showXAxisLabel:!0,labels:e.labels,data:[{name:e.title,data:e.data}]}})):o.charts.map(e=>({...e,class:`col-span-1`,chartOption:{showXAxisLabel:!0,labels:e.labels,data:[{name:e.title,data:e.data}]}}))),u=e=>typeof e==`number`?e.toLocaleString():e;return()=>(0,r.createVNode)(e.DuxCard,{title:c.value},{headerExtra:()=>(0,r.createVNode)(`div`,{class:`text-sm text-muted`},[o.subtitle]),default:()=>(0,r.createVNode)(r.Fragment,null,[o.cards.length>0&&(0,r.createVNode)(`div`,{class:`lg:h-26 bg-muted`},[(0,r.createVNode)(a.NScrollbar,{xScrollable:!0},{default:()=>[(0,r.createVNode)(`div`,{class:[`grid grid-cols-2 whitespace-nowrap auto-cols-max`,`lg:grid-cols-[repeat(auto-fill,minmax(100px,1fr))]`]},[o.cards.map((e,t)=>(0,r.createVNode)(`div`,{key:t,class:`text-center flex flex-col gap-1 py-6`},[(0,r.createVNode)(`div`,{class:[`text-2xl font-bold`]},[u(e.value)]),(0,r.createVNode)(`div`,{class:`text-sm text-muted`},[e.label])]))])]})]),o.charts.length>0&&(0,r.createVNode)(`div`,{class:[`grid grid-cols-1`,`lg:grid-cols-[repeat(auto-fit,minmax(100px,1fr))]`]},[l.value.map((e,i)=>(0,r.createVNode)(`div`,{key:i,class:[`p-4 pb-0 flex gap-4`]},[(0,r.createVNode)(n.DuxStatsNumber,{title:e.title,subtitle:e.subtitle,value:e.value||0,change:e.change,changeType:e.changeType},null),(0,r.createVNode)(`div`,{class:`flex-1 min-w-0`},[(0,r.createVNode)(t.DuxChart,{type:`line`,height:`100px`,min:!0,option:e.chartOption},null)])]))])])})}});exports.DuxStatsRealTime=o;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("@duxweb/dvha-core"),a=require("clsx"),l=e.defineComponent({name:"Message",props:{text:{type:String},desc:{type:String},simple:{type:Boolean,default:!1}},setup(t){const{t:r}=o.useI18n();return()=>e.createVNode("div",{class:"flex justify-center p-2"},[e.createVNode("div",{class:a(["flex flex-row items-center",t.simple?"flex-col gap-2":"gap-2"])},[e.createVNode("div",null,[e.createVNode("svg",{class:"size-60px",viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg"},[e.createVNode("defs",null,[e.createVNode("linearGradient",{id:"bgGradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},[e.createVNode("stop",{offset:"0%",style:"stop-color:rgb(var(--ui-color-primary));stop-opacity:0.1"},null),e.createVNode("stop",{offset:"100%",style:"stop-color:rgb(var(--ui-color-primary));stop-opacity:0.05"},null)]),e.createVNode("linearGradient",{id:"boxGradient",x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createVNode("stop",{offset:"0%",style:"stop-color:rgb(var(--ui-bg-elevated));stop-opacity:1"},null),e.createVNode("stop",{offset:"100%",style:"stop-color:rgb(var(--ui-bg-muted));stop-opacity:1"},null)])]),e.createVNode("circle",{cx:"100",cy:"100",r:"85",fill:"url(#bgGradient)"},null),e.createVNode("g",{transform:"translate(100, 100)"},[e.createVNode("ellipse",{cx:"0",cy:"35",rx:"45",ry:"8",fill:"rgb(var(--ui-color-gray-300))",opacity:"0.3"},null),e.createVNode("path",{d:"M -35 -10 L -35 25 Q -35 30 -30 30 L 30 30 Q 35 30 35 25 L 35 -5 Q 35 -10 30 -10 L 5 -10 L -5 -20 L -30 -20 Q -35 -20 -35 -15 Z",fill:"url(#boxGradient)",stroke:"rgb(var(--ui-color-gray-300))","stroke-width":"1"},null),e.createVNode("path",{d:"M -5 -20 L 5 -10 L 15 -10 Q 20 -10 20 -15 Q 20 -20 15 -20 Z",fill:"rgb(var(--ui-color-primary))",opacity:"0.8"},null),e.createVNode("g",{transform:"translate(0, -5)",opacity:"0.6"},[e.createVNode("rect",{x:"-8",y:"-5",width:"16",height:"20",rx:"2",fill:"rgb(var(--ui-bg-elevated))",stroke:"rgb(var(--ui-color-gray-400))","stroke-width":"0.5"},null),e.createVNode("line",{x1:"-5",y1:"0",x2:"5",y2:"0",stroke:"rgb(var(--ui-color-gray-400))","stroke-width":"1",opacity:"0.5"},null),e.createVNode("line",{x1:"-5",y1:"4",x2:"3",y2:"4",stroke:"rgb(var(--ui-color-gray-400))","stroke-width":"1",opacity:"0.5"},null),e.createVNode("line",{x1:"-5",y1:"8",x2:"5",y2:"8",stroke:"rgb(var(--ui-color-gray-400))","stroke-width":"1",opacity:"0.5"},null)]),e.createVNode("circle",{cx:"-25",cy:"-25",r:"2",fill:"rgb(var(--ui-color-primary))",opacity:"0.4"},[e.createVNode("animate",{attributeName:"opacity",values:"0.4;0.8;0.4",dur:"2s",repeatCount:"indefinite"},null)]),e.createVNode("circle",{cx:"25",cy:"-15",r:"1.5",fill:"rgb(var(--ui-color-primary))",opacity:"0.3"},[e.createVNode("animate",{attributeName:"opacity",values:"0.3;0.6;0.3",dur:"3s",repeatCount:"indefinite"},null)]),e.createVNode("circle",{cx:"20",cy:"25",r:"1",fill:"rgb(var(--ui-color-primary))",opacity:"0.2"},[e.createVNode("animate",{attributeName:"opacity",values:"0.2;0.5;0.2",dur:"4s",repeatCount:"indefinite"},null)])])])]),e.createVNode("div",{class:"flex flex-col gap-0"},[e.createVNode("div",{class:a([t.simple?"text-center text-muted":"text-default"])},[t.text||r("pages.empty.title")]),!t.simple&&e.createVNode("div",{class:"text-muted"},[t.desc||r("pages.empty.desc")])])])])}});exports.DuxBlockEmpty=l;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`);let t=require(`vue`),n=require(`@duxweb/dvha-core`),r=require(`clsx`);r=e.__toESM(r);const i=(0,t.defineComponent)({name:`Message`,props:{text:{type:String},desc:{type:String},simple:{type:Boolean,default:!1}},setup(e){let{t:i}=(0,n.useI18n)();return()=>(0,t.createVNode)(`div`,{class:`flex justify-center p-2`},[(0,t.createVNode)(`div`,{class:(0,r.default)([`flex flex-row items-center`,e.simple?`flex-col gap-2`:`gap-2`])},[(0,t.createVNode)(`div`,null,[(0,t.createVNode)(`svg`,{class:`size-60px`,viewBox:`0 0 200 200`,xmlns:`http://www.w3.org/2000/svg`},[(0,t.createVNode)(`defs`,null,[(0,t.createVNode)(`linearGradient`,{id:`bgGradient`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`100%`},[(0,t.createVNode)(`stop`,{offset:`0%`,style:`stop-color:rgb(var(--ui-color-primary));stop-opacity:0.1`},null),(0,t.createVNode)(`stop`,{offset:`100%`,style:`stop-color:rgb(var(--ui-color-primary));stop-opacity:0.05`},null)]),(0,t.createVNode)(`linearGradient`,{id:`boxGradient`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`},[(0,t.createVNode)(`stop`,{offset:`0%`,style:`stop-color:rgb(var(--ui-bg-elevated));stop-opacity:1`},null),(0,t.createVNode)(`stop`,{offset:`100%`,style:`stop-color:rgb(var(--ui-bg-muted));stop-opacity:1`},null)])]),(0,t.createVNode)(`circle`,{cx:`100`,cy:`100`,r:`85`,fill:`url(#bgGradient)`},null),(0,t.createVNode)(`g`,{transform:`translate(100, 100)`},[(0,t.createVNode)(`ellipse`,{cx:`0`,cy:`35`,rx:`45`,ry:`8`,fill:`rgb(var(--ui-color-gray-300))`,opacity:`0.3`},null),(0,t.createVNode)(`path`,{d:`M -35 -10 L -35 25 Q -35 30 -30 30 L 30 30 Q 35 30 35 25 L 35 -5 Q 35 -10 30 -10 L 5 -10 L -5 -20 L -30 -20 Q -35 -20 -35 -15 Z`,fill:`url(#boxGradient)`,stroke:`rgb(var(--ui-color-gray-300))`,"stroke-width":`1`},null),(0,t.createVNode)(`path`,{d:`M -5 -20 L 5 -10 L 15 -10 Q 20 -10 20 -15 Q 20 -20 15 -20 Z`,fill:`rgb(var(--ui-color-primary))`,opacity:`0.8`},null),(0,t.createVNode)(`g`,{transform:`translate(0, -5)`,opacity:`0.6`},[(0,t.createVNode)(`rect`,{x:`-8`,y:`-5`,width:`16`,height:`20`,rx:`2`,fill:`rgb(var(--ui-bg-elevated))`,stroke:`rgb(var(--ui-color-gray-400))`,"stroke-width":`0.5`},null),(0,t.createVNode)(`line`,{x1:`-5`,y1:`0`,x2:`5`,y2:`0`,stroke:`rgb(var(--ui-color-gray-400))`,"stroke-width":`1`,opacity:`0.5`},null),(0,t.createVNode)(`line`,{x1:`-5`,y1:`4`,x2:`3`,y2:`4`,stroke:`rgb(var(--ui-color-gray-400))`,"stroke-width":`1`,opacity:`0.5`},null),(0,t.createVNode)(`line`,{x1:`-5`,y1:`8`,x2:`5`,y2:`8`,stroke:`rgb(var(--ui-color-gray-400))`,"stroke-width":`1`,opacity:`0.5`},null)]),(0,t.createVNode)(`circle`,{cx:`-25`,cy:`-25`,r:`2`,fill:`rgb(var(--ui-color-primary))`,opacity:`0.4`},[(0,t.createVNode)(`animate`,{attributeName:`opacity`,values:`0.4;0.8;0.4`,dur:`2s`,repeatCount:`indefinite`},null)]),(0,t.createVNode)(`circle`,{cx:`25`,cy:`-15`,r:`1.5`,fill:`rgb(var(--ui-color-primary))`,opacity:`0.3`},[(0,t.createVNode)(`animate`,{attributeName:`opacity`,values:`0.3;0.6;0.3`,dur:`3s`,repeatCount:`indefinite`},null)]),(0,t.createVNode)(`circle`,{cx:`20`,cy:`25`,r:`1`,fill:`rgb(var(--ui-color-primary))`,opacity:`0.2`},[(0,t.createVNode)(`animate`,{attributeName:`opacity`,values:`0.2;0.5;0.2`,dur:`4s`,repeatCount:`indefinite`},null)])])])]),(0,t.createVNode)(`div`,{class:`flex flex-col gap-0`},[(0,t.createVNode)(`div`,{class:(0,r.default)([e.simple?`text-center text-muted`:`text-default`])},[e.text||i(`pages.empty.title`)]),!e.simple&&(0,t.createVNode)(`div`,{class:`text-muted`},[e.desc||i(`pages.empty.desc`)])])])])}});exports.DuxBlockEmpty=i;
@@ -0,0 +1 @@
1
+ require(`./blockEmpty.cjs`),require(`./listEmpty.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("@duxweb/dvha-core"),o=require("../draw/drawEmptyForm.cjs"),c=e.defineComponent({name:"DuxListEmpty",props:{title:String,desc:String,bordered:Boolean},setup(t){const{t:r}=s.useI18n();return()=>e.createVNode("div",{class:"flex flex-col items-center justify-center gap-2 h-full"},[e.createVNode(o.DuxDrawEmptyForm,{class:"max-h-120px"},null),e.createVNode("div",{class:"text-lg text-default font-bold"},[t?.title||r("pages.empty.title")]),e.createVNode("div",{class:"text-muted"},[t?.desc||r("pages.empty.desc")])])}});exports.DuxListEmpty=c;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../draw/drawEmptyForm.cjs`);require(`../draw/index.cjs`);let t=require(`vue`),n=require(`@duxweb/dvha-core`);const r=(0,t.defineComponent)({name:`DuxListEmpty`,props:{title:String,desc:String,bordered:Boolean},setup(r){let{t:i}=(0,n.useI18n)();return()=>(0,t.createVNode)(`div`,{class:`flex flex-col items-center justify-center gap-2 h-full`},[(0,t.createVNode)(e.DuxDrawEmptyForm,{class:`max-h-120px`},null),(0,t.createVNode)(`div`,{class:`text-lg text-default font-bold`},[r?.title||i(`pages.empty.title`)]),(0,t.createVNode)(`div`,{class:`text-muted`},[r?.desc||i(`pages.empty.desc`)])])}});exports.DuxListEmpty=r;
@@ -0,0 +1 @@
1
+ require(`./table.cjs`),require(`./tablePage.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("@duxweb/dvha-core"),d=require("@vueuse/core"),t=require("naive-ui");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");const p=require("../status/listEmpty.cjs");require("@vee-validate/i18n");require("colorizr");require("echarts");require("highlight.js/lib/core");require("highlight.js/lib/languages/bash");require("highlight.js/lib/languages/css");require("highlight.js/lib/languages/go");require("highlight.js/lib/languages/java");require("highlight.js/lib/languages/javascript");require("highlight.js/lib/languages/json");require("highlight.js/lib/languages/markdown");require("highlight.js/lib/languages/php");require("highlight.js/lib/languages/python");require("highlight.js/lib/languages/shell");require("highlight.js/lib/languages/sql");require("highlight.js/lib/languages/typescript");require("highlight.js/lib/languages/xml");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("vee-validate");require("@duxweb/dvha-naiveui");require("vue-command-palette");require("../../pages/page404.cjs");require("vue-draggable-plus");require("short-unique-id");require("aieditor");require("@vue-flow/core");require("lodash-es/cloneDeep");require("@vue-flow/background");;/* empty css */require("mime");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("../schemaEditor/schemaEditor.cjs");require("dayjs");require("@tanstack/vue-query");const b=require("../../hooks/table.cjs");require("pinia");const f=e.defineComponent({name:"DuxTable",props:{path:{type:String,required:!0},filter:{type:Object},columns:{type:Array},pagination:{type:[Boolean,Object],default:!0}},extends:t.NDataTable,setup(i,{expose:q}){const a=e.computed(()=>{const{path:r,filter:m,columns:g,pagination:y,...s}=i;return s}),n=e.computed(()=>e.unref(i.filter)||{}),u=b.useTable({path:i.path,filters:n,columns:i.columns||[],pagination:i.pagination});q(u);const{width:o}=d.useWindowSize(),{t:l}=c.useI18n();return()=>e.createVNode("div",{class:"flex flex-col gap-2"},[e.createVNode(t.NDataTable,e.mergeProps(a.value,u.table.value,{class:"flex-1 min-h-0",minHeight:200,tableLayout:"fixed",flexHeight:!0,rowKey:r=>r.id,bordered:!1,renderCell:r=>r==null||r===""?"-":r}),{empty:()=>e.createVNode(p.DuxListEmpty,{bordered:!1},null)}),i.pagination&&e.createVNode("div",{class:"flex justify-end p-4 border-t border-muted"},[e.createVNode(t.NPagination,e.mergeProps(u.tablePagination.value,{simple:o.value<768}),{prefix:()=>e.createVNode("div",null,[l("components.list.total",{total:u.total.value||0})])})])])}});exports.DuxTable=f;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../hooks/table.cjs`);require(`../../hooks/index.cjs`);const t=require(`../status/listEmpty.cjs`);require(`../status/index.cjs`);let n=require(`vue`),r=require(`@duxweb/dvha-core`),i=require(`naive-ui`),a=require(`@vueuse/core`);const o=(0,n.defineComponent)({name:`DuxTable`,props:{path:{type:String,required:!0},filter:{type:Object},columns:{type:Array},pagination:{type:[Boolean,Object],default:!0}},extends:i.NDataTable,setup(o,{expose:s}){let c=(0,n.computed)(()=>{let{path:e,filter:t,columns:n,pagination:r,...i}=o;return i}),l=(0,n.computed)(()=>(0,n.unref)(o.filter)||{}),u=e.useTable({path:o.path,filters:l,columns:o.columns||[],pagination:o.pagination});s(u);let{width:d}=(0,a.useWindowSize)(),{t:f}=(0,r.useI18n)();return()=>(0,n.createVNode)(`div`,{class:`flex flex-col gap-2`},[(0,n.createVNode)(i.NDataTable,(0,n.mergeProps)(c.value,u.table.value,{class:`flex-1 min-h-0`,minHeight:200,tableLayout:`fixed`,flexHeight:!0,rowKey:e=>e.id,bordered:!1,renderCell:e=>e==null||e===``?`-`:e}),{empty:()=>(0,n.createVNode)(t.DuxListEmpty,{bordered:!1},null)}),o.pagination&&(0,n.createVNode)(`div`,{class:`flex justify-end p-4 border-t border-muted`},[(0,n.createVNode)(i.NPagination,(0,n.mergeProps)(u.tablePagination.value,{simple:d.value<768}),{prefix:()=>(0,n.createVNode)(`div`,null,[f(`components.list.total`,{total:u.total.value||0})])})])])}});exports.DuxTable=o;