@robot-admin/naive-ui-components 0.22.1 → 0.23.1

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 (306) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +7 -5
  3. package/README_EN.md +7 -5
  4. package/dist/C_ActionBar.d.cts +2 -1
  5. package/dist/C_ActionBar.d.ts +2 -1
  6. package/dist/C_AntV2.cjs +3 -3
  7. package/dist/C_AntV2.js +3 -3
  8. package/dist/C_BatchResult.cjs +1 -0
  9. package/dist/C_BatchResult.css +32 -0
  10. package/dist/C_BatchResult.d.cts +2 -0
  11. package/dist/C_BatchResult.d.ts +2 -0
  12. package/dist/C_BatchResult.js +1 -0
  13. package/dist/C_BatchResult2.cjs +1 -0
  14. package/dist/C_BatchResult2.js +1 -0
  15. package/dist/C_Breadcrumb.d.cts +2 -2
  16. package/dist/C_Breadcrumb.d.ts +1 -1
  17. package/dist/C_Cascade.d.cts +1 -1
  18. package/dist/C_Cascade.d.ts +1 -1
  19. package/dist/C_Chat.d.cts +1 -1
  20. package/dist/C_Chat.d.ts +1 -1
  21. package/dist/C_City.d.cts +1 -1
  22. package/dist/C_City.d.ts +1 -1
  23. package/dist/C_Code.d.cts +1 -1
  24. package/dist/C_Code.d.ts +1 -1
  25. package/dist/C_ContextMenu.d.cts +1 -1
  26. package/dist/C_ContextMenu.d.ts +1 -1
  27. package/dist/C_DataPicker.cjs +1 -0
  28. package/dist/C_DataPicker.css +55 -0
  29. package/dist/C_DataPicker.d.cts +2 -0
  30. package/dist/C_DataPicker.d.ts +5 -0
  31. package/dist/C_DataPicker.js +1 -0
  32. package/dist/C_DataPicker2.cjs +1 -0
  33. package/dist/C_DataPicker2.js +1 -0
  34. package/dist/C_Date.d.cts +1 -1
  35. package/dist/C_Date.d.ts +1 -1
  36. package/dist/C_Density.cjs +1 -0
  37. package/dist/C_Density.css +1 -0
  38. package/dist/C_Density.d.cts +3 -0
  39. package/dist/C_Density.d.ts +3 -0
  40. package/dist/C_Density.js +1 -0
  41. package/dist/C_Density2.cjs +1 -0
  42. package/dist/C_Density2.js +1 -0
  43. package/dist/C_Editor.d.cts +1 -1
  44. package/dist/C_Editor.d.ts +1 -1
  45. package/dist/C_ErrorSummary.cjs +1 -0
  46. package/dist/C_ErrorSummary.css +29 -0
  47. package/dist/C_ErrorSummary.d.cts +3 -0
  48. package/dist/C_ErrorSummary.d.ts +3 -0
  49. package/dist/C_ErrorSummary.js +1 -0
  50. package/dist/C_ErrorSummary2.cjs +1 -0
  51. package/dist/C_ErrorSummary2.js +1 -0
  52. package/dist/C_Form.base.css +150 -148
  53. package/dist/C_Form.css +151 -253
  54. package/dist/C_Form.d.cts +1 -1
  55. package/dist/C_Form.d.ts +19 -2
  56. package/dist/C_FormModal.css +1 -2
  57. package/dist/C_FormModal.d.cts +1 -1
  58. package/dist/C_FormModal.d.ts +17 -2
  59. package/dist/C_FormSearch.cjs +1 -1
  60. package/dist/C_FormSearch.css +124 -52
  61. package/dist/C_FormSearch.d.cts +3 -3
  62. package/dist/C_FormSearch.d.ts +5 -4
  63. package/dist/C_FormSearch.js +1 -1
  64. package/dist/C_FormulaEditor.d.cts +1 -1
  65. package/dist/C_FormulaEditor.d.ts +1 -1
  66. package/dist/C_Guide.d.cts +1 -1
  67. package/dist/C_Guide.d.ts +1 -1
  68. package/dist/C_Icon.d.cts +1 -1
  69. package/dist/C_Icon.d.ts +1 -1
  70. package/dist/C_Language.d.cts +1 -1
  71. package/dist/C_Language.d.ts +1 -1
  72. package/dist/C_Loading.d.cts +1 -1
  73. package/dist/C_Loading.d.ts +1 -1
  74. package/dist/C_Login.d.cts +1 -1
  75. package/dist/C_Login.d.ts +1 -1
  76. package/dist/C_Markdown.d.cts +1 -1
  77. package/dist/C_Markdown.d.ts +1 -1
  78. package/dist/C_Menu.d.cts +2 -2
  79. package/dist/C_Menu.d.ts +1 -1
  80. package/dist/C_OrgChart.d.cts +1 -1
  81. package/dist/C_OrgChart.d.ts +1 -1
  82. package/dist/C_Progress.d.cts +1 -1
  83. package/dist/C_Progress.d.ts +1 -1
  84. package/dist/C_SectionNav.cjs +1 -0
  85. package/dist/C_SectionNav.css +46 -0
  86. package/dist/C_SectionNav.d.cts +2 -0
  87. package/dist/C_SectionNav.d.ts +2 -0
  88. package/dist/C_SectionNav.js +1 -0
  89. package/dist/C_SectionNav2.cjs +1 -0
  90. package/dist/C_SectionNav2.js +1 -0
  91. package/dist/C_Skeleton.d.cts +1 -1
  92. package/dist/C_Skeleton.d.ts +1 -1
  93. package/dist/C_SplitPane2.cjs +1 -1
  94. package/dist/C_SplitPane2.js +1 -1
  95. package/dist/C_Steps.d.cts +1 -1
  96. package/dist/C_Steps.d.ts +1 -1
  97. package/dist/C_Table.base.css +258 -256
  98. package/dist/C_Table.cjs +1 -1
  99. package/dist/C_Table.css +109 -1283
  100. package/dist/C_Table.d.cts +2 -1
  101. package/dist/C_Table.d.ts +9 -8
  102. package/dist/C_Table.js +1 -1
  103. package/dist/C_Table2.cjs +3 -0
  104. package/dist/C_Table2.js +3 -0
  105. package/dist/C_Tabs.cjs +1 -1
  106. package/dist/C_Tabs.d.cts +1 -1
  107. package/dist/C_Tabs.d.ts +1 -1
  108. package/dist/C_Tabs.js +1 -1
  109. package/dist/C_TagsView.d.cts +1 -1
  110. package/dist/C_Theme.d.cts +1 -1
  111. package/dist/C_Theme.d.ts +1 -1
  112. package/dist/C_Timeline.d.cts +1 -1
  113. package/dist/C_Timeline.d.ts +1 -1
  114. package/dist/C_Transfer.d.cts +1 -1
  115. package/dist/C_Transfer.d.ts +1 -1
  116. package/dist/C_Tree.d.cts +1 -1
  117. package/dist/C_Tree.d.ts +9 -8
  118. package/dist/C_Upload.d.cts +1 -1
  119. package/dist/C_Upload.d.ts +1 -1
  120. package/dist/C_WorkFlow2.cjs +1 -1
  121. package/dist/C_WorkFlow2.js +1 -1
  122. package/dist/Card.cjs +1 -1
  123. package/dist/Card.js +1 -1
  124. package/dist/Steps.cjs +1 -1
  125. package/dist/Steps.js +1 -1
  126. package/dist/Tabs.cjs +1 -1
  127. package/dist/Tabs.js +1 -1
  128. package/dist/batchPatch.cjs +1 -0
  129. package/dist/batchPatch.d.cts +26 -0
  130. package/dist/batchPatch.d.ts +26 -0
  131. package/dist/batchPatch.js +1 -0
  132. package/dist/config.cjs +1 -1
  133. package/dist/config.d.cts +4 -1
  134. package/dist/config.d.ts +6 -2
  135. package/dist/config.js +1 -1
  136. package/dist/config2.d.ts +1 -1
  137. package/dist/constants.d.cts +1 -1
  138. package/dist/constants.d.ts +1 -1
  139. package/dist/constants2.d.cts +402 -173
  140. package/dist/constants2.d.ts +402 -173
  141. package/dist/constants3.d.cts +3 -3
  142. package/dist/constants3.d.ts +3 -3
  143. package/dist/constants4.d.cts +173 -402
  144. package/dist/constants4.d.ts +173 -402
  145. package/dist/contracts.d.ts +24 -0
  146. package/dist/data.cjs +1 -1
  147. package/dist/data.d.cts +5 -108
  148. package/dist/data.d.ts +5 -108
  149. package/dist/data.js +1 -1
  150. package/dist/data2.cjs +1 -1
  151. package/dist/data2.d.cts +108 -0
  152. package/dist/data2.d.ts +108 -0
  153. package/dist/data2.js +1 -1
  154. package/dist/data3.cjs +1 -0
  155. package/dist/data3.js +1 -0
  156. package/dist/dateRange.d.cts +108 -13
  157. package/dist/dateRange.d.ts +110 -14
  158. package/dist/density.d.ts +15 -0
  159. package/dist/dictionary.cjs +1 -0
  160. package/dist/dictionary.d.cts +38 -0
  161. package/dist/dictionary.d.ts +38 -0
  162. package/dist/dictionary.js +1 -0
  163. package/dist/helpers.cjs +1 -1
  164. package/dist/helpers.js +1 -1
  165. package/dist/index.cjs +1 -1
  166. package/dist/index.d.cts +63 -52
  167. package/dist/index.d.ts +71 -57
  168. package/dist/index.js +1 -1
  169. package/dist/index.vue.d.cts +4 -4
  170. package/dist/index.vue.d.ts +4 -4
  171. package/dist/index10.vue.d.cts +37 -80
  172. package/dist/index10.vue.d.ts +77 -53
  173. package/dist/index11.vue.d.cts +77 -53
  174. package/dist/index11.vue.d.ts +1117 -45
  175. package/dist/index12.vue.d.cts +1117 -45
  176. package/dist/index12.vue.d.ts +17 -128
  177. package/dist/index13.vue.d.cts +17 -128
  178. package/dist/index13.vue.d.ts +57 -53
  179. package/dist/index14.vue.d.cts +57 -53
  180. package/dist/index14.vue.d.ts +16 -25
  181. package/dist/index15.vue.d.cts +16 -25
  182. package/dist/index15.vue.d.ts +52 -12
  183. package/dist/index16.vue.d.cts +52 -12
  184. package/dist/index16.vue.d.ts +13 -129
  185. package/dist/index17.vue.d.cts +13 -129
  186. package/dist/index17.vue.d.ts +123 -74
  187. package/dist/index18.vue.d.cts +123 -74
  188. package/dist/index18.vue.d.ts +48 -71
  189. package/dist/index19.vue.d.cts +40 -91
  190. package/dist/index19.vue.d.ts +36 -96
  191. package/dist/index2.vue.d.cts +2 -2
  192. package/dist/index2.vue.d.ts +2 -2
  193. package/dist/index20.vue.d.cts +38 -47
  194. package/dist/index20.vue.d.ts +13 -48
  195. package/dist/index21.vue.d.cts +12 -96
  196. package/dist/index21.vue.d.ts +25 -95
  197. package/dist/index22.vue.d.cts +20 -32
  198. package/dist/index22.vue.d.ts +75 -37
  199. package/dist/index23.vue.d.cts +77 -13
  200. package/dist/index23.vue.d.ts +71 -13
  201. package/dist/index24.vue.d.cts +1 -1
  202. package/dist/index25.vue.d.cts +116 -90
  203. package/dist/index25.vue.d.ts +116 -90
  204. package/dist/index26.vue.d.cts +94 -59
  205. package/dist/index26.vue.d.ts +94 -59
  206. package/dist/index27.vue.d.cts +75 -0
  207. package/dist/index27.vue.d.ts +75 -0
  208. package/dist/index28.vue.d.cts +103 -0
  209. package/dist/index28.vue.d.ts +103 -0
  210. package/dist/index29.vue.d.cts +105 -0
  211. package/dist/index29.vue.d.ts +105 -0
  212. package/dist/index3.vue.d.cts +4 -4
  213. package/dist/index3.vue.d.ts +4 -4
  214. package/dist/index30.vue.d.cts +28 -0
  215. package/dist/index30.vue.d.ts +28 -0
  216. package/dist/index4.vue.d.cts +19 -128
  217. package/dist/index4.vue.d.ts +17 -34
  218. package/dist/index5.vue.d.cts +127 -35
  219. package/dist/index5.vue.d.ts +30 -19
  220. package/dist/index6.vue.d.cts +30 -19
  221. package/dist/index6.vue.d.ts +22 -118
  222. package/dist/index7.vue.d.cts +22 -118
  223. package/dist/index7.vue.d.ts +112 -18
  224. package/dist/index8.vue.d.cts +112 -18
  225. package/dist/index8.vue.d.ts +24 -35
  226. package/dist/index9.vue.d.cts +24 -35
  227. package/dist/index9.vue.d.ts +37 -80
  228. package/dist/numberCodec.cjs +1 -0
  229. package/dist/numberCodec.d.cts +25 -0
  230. package/dist/numberCodec.d.ts +25 -0
  231. package/dist/numberCodec.js +1 -0
  232. package/dist/observer.cjs +1 -0
  233. package/dist/observer.js +1 -0
  234. package/dist/presets.d.cts +2 -65
  235. package/dist/presets.d.ts +2 -65
  236. package/dist/resolver.cjs +1 -1
  237. package/dist/resolver.d.cts +1 -1
  238. package/dist/resolver.d.ts +1 -1
  239. package/dist/resolver.js +1 -1
  240. package/dist/serializeSearch.cjs +1 -0
  241. package/dist/serializeSearch.js +1 -0
  242. package/dist/style.css +548 -308
  243. package/dist/types.d.cts +60 -103
  244. package/dist/types.d.ts +62 -52
  245. package/dist/types2.d.cts +104 -51
  246. package/dist/types2.d.ts +56 -0
  247. package/dist/types3.d.cts +56 -0
  248. package/dist/useCollapsePanel.d.cts +3 -3
  249. package/dist/useCollapsePanel.d.ts +3 -3
  250. package/dist/useComponentLocale.cjs +1 -1
  251. package/dist/useComponentLocale.js +1 -1
  252. package/dist/useCropperCore.d.cts +7 -7
  253. package/dist/useCropperCore.d.ts +7 -7
  254. package/dist/useDataResource.cjs +1 -0
  255. package/dist/useDataResource.js +1 -0
  256. package/dist/useDictionary.cjs +1 -0
  257. package/dist/useDictionary.js +1 -0
  258. package/dist/useDynamicFormState.d.cts +960 -10
  259. package/dist/useDynamicFormState.d.ts +951 -11
  260. package/dist/useEdgeInteraction.d.cts +2 -2
  261. package/dist/useEdgeInteraction.d.ts +2 -2
  262. package/dist/useFormArray.cjs +1 -0
  263. package/dist/useFormArray.d.cts +69 -0
  264. package/dist/useFormArray.d.ts +69 -0
  265. package/dist/useFormArray.js +1 -0
  266. package/dist/useFormConfig.d.cts +14 -0
  267. package/dist/useFormConfig.d.ts +17 -38
  268. package/dist/useGridWidth.cjs +1 -0
  269. package/dist/useGridWidth.js +1 -0
  270. package/dist/useInfiniteScroll.d.cts +1 -1
  271. package/dist/useInfiniteScroll.d.ts +1 -1
  272. package/dist/useQRCode.d.cts +4 -4
  273. package/dist/useQRCode.d.ts +4 -4
  274. package/dist/useSignatureHistory.d.cts +4 -4
  275. package/dist/useSignatureHistory.d.ts +4 -4
  276. package/dist/useSplitResize.d.cts +4 -4
  277. package/dist/useSplitResize.d.ts +4 -4
  278. package/dist/useTableGlobalConfig.cjs +1 -0
  279. package/dist/useTableGlobalConfig.js +1 -0
  280. package/dist/useTableQuery.cjs +1 -3
  281. package/dist/useTableQuery.js +1 -3
  282. package/dist/useWorkflowValidation.d.cts +2 -2
  283. package/dist/useWorkflowValidation.d.ts +2 -2
  284. package/dist/validation.cjs +1 -0
  285. package/dist/validation.d.cts +18 -0
  286. package/dist/validation.d.ts +18 -0
  287. package/dist/validation.js +1 -0
  288. package/dist/verification.d.cts +2 -2
  289. package/dist/verification.d.ts +3 -3
  290. package/dist/workflows.cjs +1 -0
  291. package/dist/workflows.d.cts +2 -0
  292. package/dist/workflows.d.ts +2 -0
  293. package/dist/workflows.js +1 -0
  294. package/docs/components.en.md +13 -1
  295. package/docs/components.md +13 -1
  296. package/docs/guides/batch-results.md +47 -0
  297. package/docs/guides/data-picker.md +65 -0
  298. package/docs/guides/data-workflows.md +123 -0
  299. package/docs/guides/form-density.en.md +39 -0
  300. package/docs/guides/form-density.md +39 -0
  301. package/docs/guides/search-workflows.md +164 -0
  302. package/package.json +21 -1
  303. package/dist/C_FormSearch2.cjs +0 -1
  304. package/dist/C_FormSearch2.js +0 -1
  305. package/dist/useTableQuery.d.cts +0 -1957
  306. package/dist/useTableQuery.d.ts +0 -1946
package/dist/C_AntV2.js CHANGED
@@ -1,4 +1,4 @@
1
- import{t as e}from"./feedback.js";import{t}from"./C_Icon2.js";import{t as n}from"./export-helper.js";import{t as r}from"./data.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createTextVNode as u,createVNode as d,defineComponent as f,mergeModels as p,mergeProps as m,nextTick as h,normalizeClass as g,normalizeStyle as _,onMounted as ee,onUnmounted as v,openBlock as y,ref as b,renderList as x,resolveDynamicComponent as S,shallowRef as C,toDisplayString as w,unref as T,useModel as E,watch as D,withCtx as O}from"vue";import{NAlert as k,NButton as A,NCard as j,NCheckbox as M,NDivider as N,NDrawer as P,NDrawerContent as F,NDropdown as te,NForm as I,NFormItem as L,NGi as R,NGrid as z,NInput as B,NRadio as V,NRadioGroup as H,NSelect as U,NSpace as W}from"naive-ui";import{Graph as G,ObjectExt as K}from"@antv/x6";import ne from"html2canvas";function re(e){return{background:e?`#18181c`:`#f5f5f5`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`}}function ie(e=!1){let t=re(e);return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:2},selecting:{enabled:!0,rubberband:!0,movable:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!0,snapline:!0,keyboard:!0,clipboard:!0}}function q(e){return e?{width:e.clientWidth||e.offsetWidth||800,height:e.clientHeight||e.offsetHeight||600}:{width:0,height:0}}function J(e,t){let n=0,r,i,a=!1,o=C(null),s=b(!1),c=i=>{if(!a){s.value=!0;try{if(!e.value)return;o.value&&=(o.value.dispose(),null);let{width:s,height:c}=q(e.value);if(s===0||c===0){n++,n<10&&(clearTimeout(r),r=setTimeout(()=>{a||l(i)},100));return}n=0;let u=ie(t?.value??!1);o.value=new G({container:e.value,width:s,height:c,...u,...i})}catch{}finally{s.value=!1}}},l=async(e={})=>{clearTimeout(r),r=void 0,await h(),c(e)};function u(e){if(!o.value)return;let t=re(e);o.value.drawBackground({color:t.background}),o.value.drawGrid({type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]})}t&&D(t,e=>{u(e)});function d(){if(clearTimeout(r),clearTimeout(i),r=void 0,i=void 0,o.value){let e=o.value;o.value=null,e.dispose()}}function f(){o.value?.centerContent()}function p(){o.value?.zoomToFit({padding:20,maxScale:1})}function m(e=200,t=20){clearTimeout(i);let n=o.value;n&&(i=setTimeout(()=>{!a&&o.value===n&&n.zoomToFit({padding:t,maxScale:1})},e))}function g(e){o.value?.zoom(e)}function _(){if(o.value&&e.value){let{width:t,height:n}=q(e.value);o.value.resize(t,n)}}return v(()=>{a=!0,d()}),{graph:o,loading:s,initGraph:l,destroyGraph:d,centerContent:f,zoomToFit:p,scheduleZoomToFit:m,zoom:g,resizeGraph:_,updateTheme:u}}function Y(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function X(e,t=`diagram.json`){let n=JSON.stringify(e,null,2);Y(new Blob([n],{type:`application/json`}),t)}async function Z(e,t=`diagram.png`,n={}){let{backgroundColor:r=`#ffffff`,scale:i=2}=n,{container:a}=e;Y(await Q(await ne(a,{backgroundColor:r,scale:i,useCORS:!0,logging:!1}),`image/png`),t)}function ae(e,t=`diagram.svg`){let n=e.container.querySelector(`svg`);if(!n)throw Error(`SVG导出失败: 未找到图表 SVG 元素`);let r=n.cloneNode(!0);r.getAttribute(`xmlns`)||r.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),r.getAttribute(`xmlns:xlink`)||r.setAttribute(`xmlns:xlink`,`http://www.w3.org/1999/xlink`);let i=new XMLSerializer().serializeToString(r);Y(new Blob([i],{type:`image/svg+xml;charset=utf-8`}),t)}function Q(e,t,n=1){return new Promise((r,i)=>{e.toBlob(e=>{e?r(e):i(Error(`Canvas 转 Blob 失败`))},t,n)})}const oe=[{label:`导出PNG`,key:`png`},{label:`导出SVG`,key:`svg`},{label:`导出JSON`,key:`json`}];function $(t,n=`diagram`){let r=e();return{exportOptions:oe,handleExport:async(e,i)=>{if(t.value)try{switch(e){case`png`:await Z(t.value,`${n}.png`);break;case`svg`:ae(t.value,`${n}.svg`);break;case`json`:i&&X(i(),`${n}.json`);break}}catch(t){r.error(`导出${e.toUpperCase()}失败,请重试`,t)}}}}function se(e,t){e.on(`cell:change:*`,({cell:e,key:n,previous:r,options:i})=>{t()&&i.ui&&e.prop(n,r,{ui:!1})})}const ce=[{label:`BIGINT`,value:`BIGINT`},{label:`INT`,value:`INT`},{label:`SMALLINT`,value:`SMALLINT`},{label:`TINYINT`,value:`TINYINT`},{label:`VARCHAR(50)`,value:`VARCHAR(50)`},{label:`VARCHAR(100)`,value:`VARCHAR(100)`},{label:`VARCHAR(255)`,value:`VARCHAR(255)`},{label:`CHAR(10)`,value:`CHAR(10)`},{label:`TEXT`,value:`TEXT`},{label:`LONGTEXT`,value:`LONGTEXT`},{label:`DATETIME`,value:`DATETIME`},{label:`TIMESTAMP`,value:`TIMESTAMP`},{label:`DATE`,value:`DATE`},{label:`TIME`,value:`TIME`},{label:`DECIMAL(10,2)`,value:`DECIMAL(10,2)`},{label:`FLOAT`,value:`FLOAT`},{label:`DOUBLE`,value:`DOUBLE`},{label:`BOOLEAN`,value:`BOOLEAN`},{label:`JSON`,value:`JSON`}],le={key:0,class:`table-editor`},ue={class:`fields-container`},de={class:`field-header`};var fe=n(f({__name:`ERTableEditor`,props:p({show:{type:Boolean}},{editingTable:{},editingTableModifiers:{}}),emits:p([`update:show`,`save`,`add-field`,`remove-field`,`handle-primary-key`],[`update:editingTable`]),setup(e,{emit:n}){let r=E(e,`editingTable`),a=n,f=(e,t)=>a(`handle-primary-key`,e,t),p=()=>a(`add-field`),m=e=>a(`remove-field`,e);return(n,a)=>(y(),o(T(P),{show:e.show,width:`600`,placement:`right`,"onUpdate:show":a[4]||=e=>n.$emit(`update:show`,e)},{default:O(()=>[d(T(F),{title:`编辑表: ${r.value?.name||`新表`}`,closable:``},{footer:O(()=>[d(T(W),{justify:`end`},{default:O(()=>[d(T(A),{onClick:a[2]||=e=>n.$emit(`update:show`,!1)},{default:O(()=>[...a[11]||=[u(`取消`,-1)]]),_:1}),d(T(A),{onClick:a[3]||=e=>n.$emit(`save`),type:`primary`},{default:O(()=>[...a[12]||=[u(`保存`,-1)]]),_:1})]),_:1})]),default:O(()=>[r.value?(y(),c(`div`,le,[d(T(I),{model:r.value,"label-placement":`top`},{default:O(()=>[d(T(L),{label:`表名`},{default:O(()=>[d(T(B),{value:r.value.name,"onUpdate:value":a[0]||=e=>r.value.name=e,placeholder:`请输入表名`},null,8,[`value`])]),_:1}),d(T(L),{label:`表注释`},{default:O(()=>[d(T(B),{value:r.value.comment,"onUpdate:value":a[1]||=e=>r.value.comment=e,placeholder:`表注释`},null,8,[`value`])]),_:1}),d(T(N),null,{default:O(()=>[...a[5]||=[u(`字段列表`,-1)]]),_:1}),l(`div`,ue,[(y(!0),c(i,null,x(r.value.fields,(e,t)=>(y(),o(T(j),{key:t,size:`small`,class:`field-card`},{header:O(()=>[l(`div`,de,[l(`span`,null,`#`+w(t+1)+` `+w(e.name||`新字段`),1),d(T(A),{onClick:e=>m(t),size:`tiny`,type:`error`,quaternary:``,disabled:r.value.fields.length<=1},{default:O(()=>[...a[6]||=[u(` 删除 `,-1)]]),_:1},8,[`onClick`,`disabled`])])]),default:O(()=>[d(T(z),{cols:2,"x-gap":12},{default:O(()=>[d(T(R),null,{default:O(()=>[d(T(L),{label:`字段名`,size:`small`},{default:O(()=>[d(T(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`字段名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),d(T(R),null,{default:O(()=>[d(T(L),{label:`类型`,size:`small`},{default:O(()=>[d(T(U),{value:e.type,"onUpdate:value":t=>e.type=t,options:T(ce),size:`small`,filterable:``,placeholder:`选择类型`},null,8,[`value`,`onUpdate:value`,`options`])]),_:2},1024)]),_:2},1024)]),_:2},1024),d(T(W),{style:{"margin-top":`12px`}},{default:O(()=>[d(T(M),{checked:e.isPrimaryKey,"onUpdate:checked":[t=>e.isPrimaryKey=t,t=>f(e,t)]},{default:O(()=>[...a[7]||=[u(` 主键 `,-1)]]),_:1},8,[`checked`,`onUpdate:checked`]),d(T(M),{checked:e.isRequired,"onUpdate:checked":t=>e.isRequired=t},{default:O(()=>[...a[8]||=[u(`必填`,-1)]]),_:1},8,[`checked`,`onUpdate:checked`]),d(T(M),{checked:e.isForeignKey,"onUpdate:checked":t=>e.isForeignKey=t},{default:O(()=>[...a[9]||=[u(`外键`,-1)]]),_:1},8,[`checked`,`onUpdate:checked`])]),_:2},1024),d(T(L),{label:`注释`,size:`small`,style:{"margin-top":`12px`}},{default:O(()=>[d(T(B),{value:e.comment,"onUpdate:value":t=>e.comment=t,placeholder:`字段注释`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024))),128)),d(T(A),{onClick:p,dashed:``,block:``,type:`primary`,ghost:``,style:{"margin-top":`16px`}},{icon:O(()=>[d(t,{name:`mdi:plus`,size:16})]),default:O(()=>[a[10]||=u(` 添加字段 `,-1)]),_:1})])]),_:1},8,[`model`])])):s(`v-if`,!0)]),_:1},8,[`title`])]),_:1},8,[`show`]))}}),[[`__scopeId`,`data-v-4e8f219f`]]);const pe={class:`er-layout`},me={key:0,class:`toolbar`},he={key:0,style:{"margin-top":`8px`}};var ge=n(f({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:n,emit:i}){let o=e,f=i,p=b(),{graph:m,initGraph:g,centerContent:_,zoomToFit:v,scheduleZoomToFit:x}=J(p,a(()=>o.theme===`dark`)),{exportOptions:S,handleExport:C}=$(m,`er-diagram`),E=b(!1),j=b(),M=b(!1),N=(e,t)=>e.length>t?e.substring(0,t-1)+`..`:e,P=e=>e.fields?.map(t=>{let n=t.isPrimaryKey?`🔑 ${t.name}`:t.isRequired?`* ${t.name}`:t.name;return{id:`${e.id}_${t.name}`,data:{tableId:e.id,fieldName:t.name},group:`list`,attrs:{portNameLabel:{text:N(n,12),title:n},portTypeLabel:{text:N(t.type,10),title:t.type},portBody:{fill:t.isPrimaryKey?`#FFF7E6`:`#EFF4FF`}}}})||[],F=e=>({id:e.id,shape:`er-rect`,x:e.position.x,y:e.position.y,width:200,height:24+(e.fields?.length||0)*24,data:r(e),attrs:{label:{text:N(e.name,20),refX:.5,refY:10,textAnchor:`middle`,title:e.name}},ports:P(e)}),I=()=>{m.value&&(G.registerPortLayout(`erPortPosition`,e=>e.map((e,t)=>({position:{x:0,y:(t+1)*24},angle:0})),!0),G.registerNode(`er-rect`,{inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`text`,selector:`label`}],attrs:{rect:{strokeWidth:1,stroke:`#5F95FF`,fill:`#5F95FF`},label:{fontWeight:`bold`,fill:`#ffffff`,fontSize:12}},ports:{groups:{list:{markup:[{tagName:`rect`,selector:`portBody`},{tagName:`text`,selector:`portNameLabel`},{tagName:`text`,selector:`portTypeLabel`}],attrs:{portBody:{width:200,height:24,strokeWidth:1,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!0},portNameLabel:{ref:`portBody`,refX:6,refY:6,fontSize:9,textAnchor:`start`,textOverflow:`ellipsis`},portTypeLabel:{ref:`portBody`,refX:120,refY:6,fontSize:9,textAnchor:`start`,fill:`#666`}},position:`erPortPosition`}}}},!0))},L=()=>{o.readonly||(M.value=!M.value,M.value||R())},R=()=>{m.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,`#A2B1C3`),e.attr(`line/strokeWidth`,2)})},z=e=>{if(!m.value)return;let t=m.value.createNode(F(e));return m.value.resetCells([t,...m.value.getCells()]),t},B=()=>{let e=m.value?.getNodes()||[];for(let t=0;t<10;t++)for(let n=0;n<3;n++){let r={x:n*250+50,y:t*250+50};if(!e.some(e=>{let t=e.getPosition();return Math.abs(t.x-r.x)<250*.8&&Math.abs(t.y-r.y)<250*.8}))return r}return{x:50,y:50}},V=()=>{if(o.readonly)return;let e={id:`table_${Date.now()}`,name:`新表`,comment:``,fields:[{name:`id`,type:`BIGINT`,isPrimaryKey:!0,isRequired:!0,isForeignKey:!1,comment:`主键`},{name:`name`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!0,isForeignKey:!1,comment:`名称`}],position:B()};z(e),H(e),Z()},H=e=>{o.readonly||(j.value=r(e),E.value=!0)},U=()=>{if(o.readonly||!m.value||!j.value)return;let e=m.value.getCellById(j.value.id);e&&(e.setData(r(j.value)),e.prop({size:{width:200,height:24+j.value.fields.length*24},attrs:{label:{text:N(j.value.name,20),title:j.value.name}},ports:P(j.value)})),E.value=!1,Z()},K=(e,t)=>{o.readonly||!t||(e.isRequired=!0,j.value?.fields.forEach(t=>{t!==e&&(t.isPrimaryKey=!1)}))},ne=()=>{o.readonly||j.value?.fields.push({name:`field_${(j.value?.fields.length||0)+1}`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!1,isForeignKey:!1,comment:``})},re=e=>{o.readonly||j.value&&j.value.fields.length>1&&j.value.fields.splice(e,1)},ie=(e,t)=>{let n=e.getPort(t)?.data;if(n?.tableId===e.id)return n.fieldName;let r=`${e.id}_`;return t.startsWith(r)?t.slice(r.length):void 0},q=e=>e.getData()?.name||e.id,Y=e=>{let t=e.getSourceNode(),n=e.getTargetNode();if(!t||!n)return;let i=ie(t,e.getSourcePortId()??``),a=ie(n,e.getTargetPortId()??``);if(i===void 0||a===void 0)return;let o=e.getData();return{...r(o),id:e.id,type:o?.type??`foreign-key`,sourceTable:t.id,sourceField:i,targetTable:n.id,targetField:a,...!o&&{name:`${q(t)} -> ${q(n)}`}}},X=()=>{if(!m.value)return{tables:[],relations:[]};let e=m.value.getNodes().map(e=>({...r(e.getData()),position:e.getPosition()})),t=[];return m.value.getEdges().forEach(e=>{let n=Y(e);n&&t.push(n)}),{tables:e,relations:t}},Z=()=>{o.readonly||f(`data-change`,X())},ae=e=>{let t=m.value;if(!t)return;Q=null;let n=e.tables.map(e=>t.createNode(F(e)));e.relations?.forEach(e=>{n.push(t.createEdge({id:e.id,source:{cell:e.sourceTable,port:`${e.sourceTable}_${e.sourceField}`},target:{cell:e.targetTable,port:`${e.targetTable}_${e.targetField}`},data:r(e),attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2}}}))}),t.resetCells(n)},Q=null;D(m,e=>{e instanceof G&&(I(),se(e,()=>o.readonly),e.on(`node:dblclick`,({node:e})=>{o.readonly||H(e.getData())}),e.on(`node:moved`,Z),e.on(`edge:connected`,Z),e.on(`edge:removed`,({edge:e})=>{Q===e&&(Q=null),Z()}),e.on(`edge:click`,({edge:e})=>{o.readonly||(M.value?e.remove():(R(),e.attr(`line/stroke`,`#ff4d4f`),e.attr(`line/strokeWidth`,3),Q=e))}),e.on(`edge:dblclick`,({edge:e})=>{o.readonly||e.remove()}),e.on(`blank:click`,()=>{Q=null,M.value||R()}),f(`ready`,e),h(()=>{m.value===e&&o.data?.tables&&(ae(o.data),x(300,20))}))},{immediate:!0}),D(()=>o.data,e=>{m.value&&e?.tables&&ae(e)},{deep:!0}),D(()=>o.readonly,e=>{e&&(E.value=!1,j.value=void 0,M.value=!1,Q=null,R())},{flush:`sync`});let oe=e=>{e.target?.closest(`input, textarea, [contenteditable]:not([contenteditable="false"])`)||p.value?.focus({preventScroll:!0})},ce=e=>{o.readonly||document.activeElement!==p.value||e.target?.closest(`input, textarea, [contenteditable]:not([contenteditable="false"])`)||(e.key===`Delete`||e.key===`Backspace`)&&Q&&(e.preventDefault(),Q.remove(),Q=null)};return ee(()=>{g({interacting:()=>!o.readonly,connecting:{allowBlank:!1,allowNode:!1,allowEdge:!1,validateMagnet:()=>!o.readonly,validateConnection:()=>!o.readonly,validateEdge:()=>!o.readonly}})}),n({getGraph:()=>m.value??void 0,getData:X}),(n,r)=>(y(),c(`div`,pe,[s(` 工具栏 `),e.showToolbar?(y(),c(`div`,me,[d(T(W),null,{default:O(()=>[d(T(A),{onClick:V,disabled:e.readonly,type:`primary`,size:`small`},{icon:O(()=>[d(t,{name:`mdi:table-plus`,size:16})]),default:O(()=>[r[3]||=u(` 添加表 `,-1)]),_:1},8,[`disabled`]),d(T(A),{onClick:T(_),size:`small`},{icon:O(()=>[d(t,{name:`mdi:image-filter-center-focus`,size:16})]),default:O(()=>[r[4]||=u(` 居中 `,-1)]),_:1},8,[`onClick`]),d(T(A),{onClick:T(v),size:`small`},{icon:O(()=>[d(t,{name:`mdi:fit-to-screen`,size:16})]),default:O(()=>[r[5]||=u(` 适应 `,-1)]),_:1},8,[`onClick`]),d(T(A),{onClick:L,disabled:e.readonly,type:M.value?`error`:`default`,size:`small`},{icon:O(()=>[d(t,{name:`mdi:delete`,size:16})]),default:O(()=>[u(` `+w(M.value?`退出删除`:`删除连线`),1)]),_:1},8,[`disabled`,`type`]),d(T(te),{options:T(S),onSelect:r[0]||=e=>T(C)(e,X)},{default:O(()=>[d(T(A),{size:`small`},{icon:O(()=>[d(t,{name:`mdi:export`,size:16})]),default:O(()=>[r[6]||=u(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])]),_:1}),M.value?(y(),c(`div`,he,[d(T(k),{type:`info`,size:`small`,"show-icon":!1},{default:O(()=>[...r[7]||=[u(` 删除模式:点击连接线即可删除 `,-1)]]),_:1})])):s(`v-if`,!0)])):s(`v-if`,!0),s(` 图表容器 `),l(`div`,{ref_key:`containerRef`,ref:p,class:`graph-container`,tabindex:`0`,role:`region`,"aria-label":`ER 图画布`,onPointerdown:oe,onKeydown:ce},null,544),s(` 表编辑器 `),d(fe,{show:E.value,"editing-table":j.value,"onUpdate:editingTable":r[1]||=e=>j.value=e,"onUpdate:show":r[2]||=e=>E.value=e,onSave:U,onAddField:ne,onRemoveField:re,onHandlePrimaryKey:K},null,8,[`show`,`editing-table`])]))}}),[[`__scopeId`,`data-v-7676efd4`]]);const _e={defaultColor:`#A2B1C3`,highlightColor:`#ff4d4f`,strokeWidth:2,highlightStrokeWidth:3,portPositions:[],onDataChange:()=>{},isReadonly:()=>!1};function ve(e,t={}){let n={..._e,...t},r=()=>{e.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,n.defaultColor),e.attr(`line/strokeWidth`,n.strokeWidth)})},i=e=>{r(),e.attr(`line/stroke`,n.highlightColor),e.attr(`line/strokeWidth`,n.highlightStrokeWidth)},a=(e,t)=>{n.portPositions.forEach(n=>e.attr(`port-${n}/style/opacity`,t))};return{resetEdgeStyles:r,highlightEdge:i,togglePorts:a,bindInteractions:()=>{let t=e.value;t&&(t.on(`edge:click`,({edge:e})=>i(e)),t.on(`edge:dblclick`,({edge:e})=>{n.isReadonly()||(e.remove(),n.onDataChange())}),t.on(`blank:click`,r),t.on(`node:click`,r),t.on(`edge:connected`,()=>{n.isReadonly()||n.onDataChange()}),n.portPositions.length>0&&(t.on(`node:mouseenter`,({node:e})=>a(e,1)),t.on(`node:mouseleave`,({node:e})=>a(e,0))))}}}const ye={"start-event":{name:`开始`,title:`开始事件`,iconClass:`circle start-event`},activity:{name:`任务`,title:`任务活动`,iconClass:`rect activity`},gateway:{name:`网关`,title:`排他网关`,iconClass:`diamond gateway`},"end-event":{name:`结束`,title:`结束事件`,iconClass:`circle end-event`}},be={event:`事件`,activity:`活动`,gateway:`网关`,"bpmn-edge":`连接线`},xe=[`top`,`right`,`bottom`,`left`],Se=(e,t=`rect`)=>e.reduce((e,n)=>{let r=t===`circle`,i=n===`top`?r?{refCx:.5,refCy:0}:{refX:.5,refY:0}:n===`right`?r?{refCx:1,refCy:.5}:{refX:1,refY:.5}:n===`bottom`?r?{refCx:.5,refCy:1}:{refX:.5,refY:1}:r?{refCx:0,refCy:.5}:{refX:0,refY:.5};return e[`port-${n}`]={ref:`body`,...i,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),Ce={event:{inherit:`circle`,attrs:{body:{strokeWidth:2,stroke:`#5F95FF`,fill:`#FFF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},activity:{inherit:`rect`,attrs:{body:{rx:6,ry:6,stroke:`#5F95FF`,fill:`#EFF4FF`,strokeWidth:1,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},gateway:{inherit:`polygon`,attrs:{body:{refPoints:`0,10 10,0 20,10 10,20`,strokeWidth:2,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:20,fill:`#5F95FF`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}}},we={inherit:`edge`,attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#A2B1C3`},cursor:`pointer`}}};function Te(e=!1){let t={background:e?`#18181c`:`#ffffff`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`};return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:3},connecting:{router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},highlighting:{magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},selecting:{enabled:!0,rubberband:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!1,snapline:!0,keyboard:!0,clipboard:!0}}Te();const Ee={"start-event":{shape:`event`,width:50,height:50,label:`开始事件`,data:{type:`start`}},"end-event":{shape:`event`,width:50,height:50,label:`结束事件`,data:{type:`end`}},activity:{shape:`activity`,width:120,height:60,label:`新活动`,data:{description:``,assignee:``}},gateway:{shape:`gateway`,width:40,height:40,label:`+`,data:{type:`exclusive`}}},De=[{id:`start-1`,shape:`event`,x:100,y:200,width:50,height:50,label:`流程开始`,data:{type:`start`}},{id:`activity-1`,shape:`activity`,x:200,y:180,width:120,height:60,label:`用户申请`,data:{description:`用户提交申请表单`,assignee:`申请人`}},{id:`activity-2`,shape:`activity`,x:380,y:180,width:120,height:60,label:`初审`,data:{description:`部门进行初步审核`,assignee:`部门主管`}},{id:`gateway-1`,shape:`gateway`,x:550,y:200,width:40,height:40,label:`+`,data:{type:`exclusive`}},{id:`activity-3`,shape:`activity`,x:650,y:120,width:120,height:60,label:`终审`,data:{description:`高级主管最终审核`,assignee:`总监`}},{id:`activity-4`,shape:`activity`,x:650,y:260,width:120,height:60,label:`驳回处理`,data:{description:`处理驳回流程`,assignee:`专员`}},{id:`end-1`,shape:`event`,x:820,y:140,width:50,height:50,label:`审批通过`,data:{type:`end`}},{id:`end-2`,shape:`event`,x:820,y:280,width:50,height:50,label:`审批驳回`,data:{type:`end`}},{id:`edge-1`,shape:`bpmn-edge`,source:`start-1`,target:`activity-1`,x:0,y:0},{id:`edge-2`,shape:`bpmn-edge`,source:`activity-1`,target:`activity-2`,x:0,y:0},{id:`edge-3`,shape:`bpmn-edge`,source:`activity-2`,target:`gateway-1`,x:0,y:0},{id:`edge-4`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-3`,label:`通过`,x:0,y:0},{id:`edge-5`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-4`,label:`驳回`,x:0,y:0},{id:`edge-6`,shape:`bpmn-edge`,source:`activity-3`,target:`end-1`,x:0,y:0},{id:`edge-7`,shape:`bpmn-edge`,source:`activity-4`,target:`end-2`,x:0,y:0}],Oe={key:0,class:`property-panel`},ke={class:`property-item`},Ae={class:`property-item`},je={key:0,class:`property-item`},Me={key:1,class:`property-item`},Ne={class:`form-actions`};var Pe=n(f({__name:`BPMNPropertyEditor`,props:p({show:{type:Boolean}},{editingElement:{},editingElementModifiers:{}}),emits:p([`update:show`,`save`,`delete`],[`update:editingElement`]),setup(e,{emit:t}){let n=E(e,`editingElement`),r=t,i=a(()=>be[n.value?.shape]||n.value?.shape||``);return(t,a)=>(y(),o(T(P),{show:e.show,width:`300`,title:`属性设置`,"onUpdate:show":a[6]||=e=>r(`update:show`,e)},{default:O(()=>[n.value?(y(),c(`div`,Oe,[l(`div`,ke,[a[7]||=l(`div`,{class:`property-label`},`名称`,-1),d(T(B),{value:n.value.label,"onUpdate:value":a[0]||=e=>n.value.label=e,placeholder:`请输入名称`,size:`small`},null,8,[`value`])]),l(`div`,Ae,[a[8]||=l(`div`,{class:`property-label`},`类型`,-1),d(T(B),{value:i.value,readonly:``,size:`small`},null,8,[`value`])]),n.value.shape===`activity`?(y(),c(`div`,je,[a[9]||=l(`div`,{class:`property-label`},`描述`,-1),d(T(B),{value:n.value.description,"onUpdate:value":a[1]||=e=>n.value.description=e,type:`textarea`,rows:3,placeholder:`请输入活动描述`,size:`small`},null,8,[`value`])])):s(`v-if`,!0),n.value.shape===`activity`?(y(),c(`div`,Me,[a[10]||=l(`div`,{class:`property-label`},`执行人`,-1),d(T(B),{value:n.value.assignee,"onUpdate:value":a[2]||=e=>n.value.assignee=e,placeholder:`请输入执行人`,size:`small`},null,8,[`value`])])):s(`v-if`,!0),l(`div`,Ne,[d(T(W),null,{default:O(()=>[d(T(A),{onClick:a[3]||=e=>r(`save`),type:`primary`,size:`small`},{default:O(()=>[...a[11]||=[u(` 保存 `,-1)]]),_:1}),d(T(A),{onClick:a[4]||=e=>r(`update:show`,!1),size:`small`},{default:O(()=>[...a[12]||=[u(` 取消 `,-1)]]),_:1}),d(T(A),{onClick:a[5]||=e=>r(`delete`),type:`error`,size:`small`},{default:O(()=>[...a[13]||=[u(` 删除 `,-1)]]),_:1})]),_:1})])])):s(`v-if`,!0)]),_:1},8,[`show`]))}}),[[`__scopeId`,`data-v-fc8f213e`]]);const Fe={class:`bpmn-layout`},Ie={key:0,class:`top-toolbar`},Le={class:`toolbar-section`},Re={class:`toolbar-group`},ze={class:`toolbar-group`},Be={class:`toolbar-group`},Ve={class:`main-content`},He={key:0,class:`left-panel`},Ue={class:`element-grid`},We=[`onClick`,`title`],Ge={class:`graph-wrapper`};var Ke=n(f({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:n,emit:o}){let f=e,p=o,m=b(),{graph:h,initGraph:_,centerContent:v,zoomToFit:S,scheduleZoomToFit:C}=J(m,a(()=>f.theme===`dark`)),{exportOptions:E,handleExport:k}=$(h,`bpmn-diagram`),{bindInteractions:j}=ve(h,{portPositions:xe,onDataChange:()=>W(),isReadonly:()=>f.readonly}),M=b(!1),N=b(),P=e=>String(e.attr(`text/text`)||e.attr(`label/text`)||``),F=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=[];return Object.values(e).forEach(e=>{Array.isArray(e)&&t.push(...e)}),t},I=()=>{let e=xe.map(e=>({tagName:`circle`,selector:`port-${e}`})),t=[`event`,`activity`,`gateway`],n={event:`circle`,activity:`rect`,gateway:`polygon`};t.forEach(t=>{G.registerNode(t,{...Ce[t],markup:[{tagName:n[t],selector:`body`},{tagName:`text`,selector:`text`},...e],attrs:{...Ce[t].attrs,...Se(xe,n[t])}},!0)}),G.registerEdge(`bpmn-edge`,we,!0)},L=e=>{if(!h.value)return;let t=e.map(e=>{let{data:t,...n}=e,i=e.shape===`bpmn-edge`?h.value.createEdge(n):h.value.createNode(n);return t&&i.setData(r(t)),i});h.value.resetCells(t),t.length&&C(200,50)},R=e=>{if(f.readonly||!h.value)return;let t=Ee[e];if(!t)return;let n=h.value.options.width/2,i=h.value.options.height/2,{data:a,...o}={id:`${e}-${Date.now()}`,x:n+Math.random()*100-50,y:i+Math.random()*100-50,...t},s=h.value.createNode(o);a&&s.setData(r(a)),h.value.addCell(s),W()},z=()=>{f.readonly||(h.value?.clearCells(),W())},B=e=>{if(f.readonly)return;let t=e.getData()||{};N.value={id:e.id,shape:e.shape,label:P(e),description:t.description||``,assignee:t.assignee||``,x:0,y:0},M.value=!0},V=()=>{if(f.readonly||!h.value||!N.value)return;let e=h.value.getCellById(N.value.id);e&&(e.setData({description:N.value.description,assignee:N.value.assignee}),e.attr(`text/text`,N.value.label||``),e.attr(`label/text`,N.value.label||``)),M.value=!1,W()},H=()=>{f.readonly||!h.value||!N.value||(h.value.getCellById(N.value.id)?.remove(),M.value=!1,W())},U=()=>h.value?[...h.value.getNodes().map(e=>({id:e.id,shape:e.shape,x:e.getPosition().x,y:e.getPosition().y,width:e.getSize().width,height:e.getSize().height,label:P(e),data:r(e.getData()||{})})),...h.value.getEdges().map(e=>({id:e.id,shape:`bpmn-edge`,source:e.getSourceCellId()||``,target:e.getTargetCellId()||``,label:P(e),data:r(e.getData()||{}),x:0,y:0}))]:[],W=()=>{f.readonly||p(`data-change`,U())};return D(h,e=>{e instanceof G&&(se(e,()=>f.readonly),j(),e.on(`node:dblclick`,({node:e})=>B(e)),e.on(`node:moved`,W),p(`ready`,e),L(f.data===void 0?De:F(f.data)))},{immediate:!0}),D(()=>f.data,e=>{h.value&&L(e===void 0?De:F(e))},{deep:!0}),D(()=>f.readonly,e=>{e&&(M.value=!1,N.value=void 0)},{flush:`sync`}),ee(async()=>{I();let e=Te();await _({...e,interacting:()=>!f.readonly,connecting:{...e.connecting,validateMagnet:()=>!f.readonly,validateEdge:()=>!f.readonly,createEdge:()=>h.value.createEdge({shape:`bpmn-edge`}),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>!f.readonly&&e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`}})}),n({getGraph:()=>h.value,getData:U,loadData:L}),(n,r)=>(y(),c(`div`,Fe,[e.showToolbar?(y(),c(`div`,Ie,[l(`div`,Le,[l(`div`,Re,[d(T(A),{onClick:z,disabled:e.readonly,size:`small`},{icon:O(()=>[d(t,{name:`mdi:delete-outline`,size:16})]),default:O(()=>[r[3]||=u(` 清空 `,-1)]),_:1},8,[`disabled`])]),l(`div`,ze,[d(T(A),{onClick:T(v),size:`small`},{icon:O(()=>[d(t,{name:`mdi:image-filter-center-focus`,size:16})]),default:O(()=>[r[4]||=u(` 居中 `,-1)]),_:1},8,[`onClick`]),d(T(A),{onClick:T(S),size:`small`},{icon:O(()=>[d(t,{name:`mdi:fit-to-screen`,size:16})]),default:O(()=>[r[5]||=u(` 适应 `,-1)]),_:1},8,[`onClick`])]),l(`div`,Be,[d(T(te),{options:T(E),onSelect:r[0]||=e=>T(k)(e,U)},{default:O(()=>[d(T(A),{size:`small`},{icon:O(()=>[d(t,{name:`mdi:export`,size:16})]),default:O(()=>[r[6]||=u(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])])])])):s(`v-if`,!0),l(`div`,Ve,[e.showToolbar&&!e.readonly?(y(),c(`div`,He,[r[7]||=l(`div`,{class:`panel-title`},`组件`,-1),l(`div`,Ue,[(y(!0),c(i,null,x(T(ye),(e,t)=>(y(),c(`div`,{key:t,class:`element-item`,onClick:e=>R(t),title:e.title},[l(`div`,{class:g([`element-icon`,e.iconClass])},null,2),l(`span`,null,w(e.name),1)],8,We))),128))])])):s(`v-if`,!0),l(`div`,Ge,[l(`div`,{ref_key:`containerRef`,ref:m,class:`graph-container`},null,512)])]),d(Pe,{show:M.value,"editing-element":N.value,"onUpdate:editingElement":r[1]||=e=>N.value=e,"onUpdate:show":r[2]||=e=>M.value=e,onSave:V,onDelete:H},null,8,[`show`,`editing-element`])]))}}),[[`__scopeId`,`data-v-a7aebb58`]]);const qe={key:0,class:`class-editor`},Je={class:`section`},Ye={class:`section-header`},Xe={style:{"font-size":`13px`}},Ze={class:`section`},Qe={class:`section-header`},$e={style:{"font-size":`13px`}};var et=n(f({__name:`UMLClassEditor`,props:p({show:{type:Boolean}},{editingClass:{},editingClassModifiers:{}}),emits:p([`update:show`,`save`,`delete`],[`update:editingClass`]),setup(e,{emit:n}){let r=E(e,`editingClass`),a=n;return(n,f)=>(y(),o(T(P),{show:e.show,width:`450`,title:`编辑类`,"onUpdate:show":f[6]||=e=>a(`update:show`,e)},{default:O(()=>[r.value?(y(),c(`div`,qe,[d(T(I),{"label-placement":`top`},{default:O(()=>[d(T(L),{label:`类名`},{default:O(()=>[d(T(B),{value:r.value.name,"onUpdate:value":f[0]||=e=>r.value.name=e,placeholder:`请输入类名`},null,8,[`value`])]),_:1}),d(T(N),{style:{margin:`20px 0`}},{default:O(()=>[...f[7]||=[u(`属性`,-1)]]),_:1}),l(`div`,Je,[(y(!0),c(i,null,x(r.value.attributes,(e,t)=>(y(),c(`div`,{key:t,class:`item`},[d(T(j),{size:`small`,style:{"margin-bottom":`12px`}},{header:O(()=>[l(`div`,Ye,[l(`span`,Xe,`#`+w(t+1)+` `+w(e.name||`新属性`),1),d(T(A),{onClick:e=>r.value.attributes.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:O(()=>[...f[8]||=[u(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),default:O(()=>[d(T(W),{vertical:``,size:`small`},{default:O(()=>[d(T(W),null,{default:O(()=>[d(T(L),{label:`属性名`,style:{margin:`0`,flex:`1`}},{default:O(()=>[d(T(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`属性名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),d(T(L),{label:`类型`,style:{margin:`0`,flex:`1`}},{default:O(()=>[d(T(B),{value:e.type,"onUpdate:value":t=>e.type=t,placeholder:`类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),d(T(L),{label:`可见性`,style:{margin:`0`}},{default:O(()=>[d(T(H),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:O(()=>[d(T(V),{value:`public`},{default:O(()=>[...f[9]||=[u(`+ public`,-1)]]),_:1}),d(T(V),{value:`private`},{default:O(()=>[...f[10]||=[u(`- private`,-1)]]),_:1}),d(T(V),{value:`protected`},{default:O(()=>[...f[11]||=[u(`# protected`,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),d(T(A),{onClick:f[1]||=e=>r.value.attributes.push({name:`newAttribute`,type:`string`,visibility:`private`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:O(()=>[d(t,{name:`mdi:plus`,size:16})]),default:O(()=>[f[12]||=u(` 添加属性 `,-1)]),_:1})]),d(T(N),{style:{margin:`20px 0`}},{default:O(()=>[...f[13]||=[u(`方法`,-1)]]),_:1}),l(`div`,Ze,[(y(!0),c(i,null,x(r.value.methods,(e,t)=>(y(),c(`div`,{key:t,class:`item`},[d(T(j),{size:`small`,style:{"margin-bottom":`12px`}},{header:O(()=>[l(`div`,Qe,[l(`span`,$e,`#`+w(t+1)+` `+w(e.name||`新方法`),1),d(T(A),{onClick:e=>r.value.methods.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:O(()=>[...f[14]||=[u(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),default:O(()=>[d(T(W),{vertical:``,size:`small`},{default:O(()=>[d(T(W),null,{default:O(()=>[d(T(L),{label:`方法名`,style:{margin:`0`,flex:`1`}},{default:O(()=>[d(T(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`方法名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),d(T(L),{label:`返回类型`,style:{margin:`0`,flex:`1`}},{default:O(()=>[d(T(B),{value:e.returnType,"onUpdate:value":t=>e.returnType=t,placeholder:`返回类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),d(T(L),{label:`可见性`,style:{margin:`0`}},{default:O(()=>[d(T(H),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:O(()=>[d(T(V),{value:`public`},{default:O(()=>[...f[15]||=[u(`+ public`,-1)]]),_:1}),d(T(V),{value:`private`},{default:O(()=>[...f[16]||=[u(`- private`,-1)]]),_:1}),d(T(V),{value:`protected`},{default:O(()=>[...f[17]||=[u(`# protected`,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),d(T(A),{onClick:f[2]||=e=>r.value.methods.push({name:`newMethod`,returnType:`void`,visibility:`public`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:O(()=>[d(t,{name:`mdi:plus`,size:16})]),default:O(()=>[f[18]||=u(` 添加方法 `,-1)]),_:1})]),d(T(N),{style:{margin:`20px 0`}}),d(T(W),{justify:`space-between`},{default:O(()=>[d(T(A),{onClick:f[3]||=e=>a(`delete`),type:`error`,ghost:``},{icon:O(()=>[d(t,{name:`mdi:delete`,size:16})]),default:O(()=>[f[19]||=u(` 删除类 `,-1)]),_:1}),d(T(W),null,{default:O(()=>[d(T(A),{onClick:f[4]||=e=>a(`update:show`,!1)},{default:O(()=>[...f[20]||=[u(`取消`,-1)]]),_:1}),d(T(A),{onClick:f[5]||=e=>a(`save`),type:`primary`},{default:O(()=>[...f[21]||=[u(` 保存 `,-1)]]),_:1})]),_:1})]),_:1})]),_:1})])):s(`v-if`,!0)]),_:1},8,[`show`]))}}),[[`__scopeId`,`data-v-c37f7424`]]);const tt={public:`+`,private:`-`,protected:`#`},nt={extends:{strokeDasharray:0,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},implement:{strokeDasharray:`8,4`,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},dependency:{strokeDasharray:`6,4`,targetMarker:{name:`classic`,size:8,fill:`#722ed1`}},composition:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`#722ed1`,stroke:`#722ed1`}},aggregation:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},association:{strokeDasharray:0,targetMarker:{name:`classic`,size:8,fill:`#722ed1`}}},rt=[`top`,`right`,`bottom`,`left`].reduce((e,t)=>{let n=t===`top`?{refX:.5,refY:0}:t===`right`?{refX:1,refY:.5}:t===`bottom`?{refX:.5,refY:1}:{refX:0,refY:.5};return e[`port-${t}`]={ref:`body`,...n,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),it={inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`rect`,selector:`name-rect`},{tagName:`rect`,selector:`attrs-rect`},{tagName:`rect`,selector:`methods-rect`},{tagName:`text`,selector:`name-text`},{tagName:`text`,selector:`attrs-text`},{tagName:`text`,selector:`methods-text`},{tagName:`circle`,selector:`port-top`},{tagName:`circle`,selector:`port-right`},{tagName:`circle`,selector:`port-bottom`},{tagName:`circle`,selector:`port-left`}],attrs:{rect:{width:160},body:{stroke:`#5f95ff`,strokeWidth:1,fill:`#fff`,magnet:!1,style:{cursor:`move`}},"name-rect":{fill:`#5f95ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"attrs-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"methods-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"name-text":{ref:`name-rect`,refY:.5,refX:.5,textAnchor:`middle`,fontWeight:`bold`,fill:`#fff`,fontSize:12,pointerEvents:`none`},"attrs-text":{ref:`attrs-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},"methods-text":{ref:`methods-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},...rt}},at={router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},ot={magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},st={shape:`extends`,attrs:{line:{stroke:`#722ed1`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#722ed1`}}}},ct=[{id:`animal`,name:`<<Abstract>>
1
+ import{t as e}from"./data2.js";import{t}from"./feedback.js";import{t as n}from"./C_Icon2.js";import{t as r}from"./export-helper.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createTextVNode as u,createVNode as d,defineComponent as f,mergeModels as p,mergeProps as m,nextTick as h,normalizeClass as g,normalizeStyle as _,onMounted as ee,onUnmounted as v,openBlock as y,ref as b,renderList as x,resolveDynamicComponent as S,shallowRef as C,toDisplayString as w,unref as T,useModel as E,watch as D,withCtx as O}from"vue";import{NAlert as k,NButton as A,NCard as j,NCheckbox as M,NDivider as N,NDrawer as P,NDrawerContent as F,NDropdown as te,NForm as I,NFormItem as L,NGi as R,NGrid as z,NInput as B,NRadio as V,NRadioGroup as H,NSelect as U,NSpace as W}from"naive-ui";import{Graph as G,ObjectExt as K}from"@antv/x6";import ne from"html2canvas";function re(e){return{background:e?`#18181c`:`#f5f5f5`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`}}function ie(e=!1){let t=re(e);return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:2},selecting:{enabled:!0,rubberband:!0,movable:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!0,snapline:!0,keyboard:!0,clipboard:!0}}function q(e){return e?{width:e.clientWidth||e.offsetWidth||800,height:e.clientHeight||e.offsetHeight||600}:{width:0,height:0}}function J(e,t){let n=0,r,i,a=!1,o=C(null),s=b(!1),c=i=>{if(!a){s.value=!0;try{if(!e.value)return;o.value&&=(o.value.dispose(),null);let{width:s,height:c}=q(e.value);if(s===0||c===0){n++,n<10&&(clearTimeout(r),r=setTimeout(()=>{a||l(i)},100));return}n=0;let u=ie(t?.value??!1);o.value=new G({container:e.value,width:s,height:c,...u,...i})}catch{}finally{s.value=!1}}},l=async(e={})=>{clearTimeout(r),r=void 0,await h(),c(e)};function u(e){if(!o.value)return;let t=re(e);o.value.drawBackground({color:t.background}),o.value.drawGrid({type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]})}t&&D(t,e=>{u(e)});function d(){if(clearTimeout(r),clearTimeout(i),r=void 0,i=void 0,o.value){let e=o.value;o.value=null,e.dispose()}}function f(){o.value?.centerContent()}function p(){o.value?.zoomToFit({padding:20,maxScale:1})}function m(e=200,t=20){clearTimeout(i);let n=o.value;n&&(i=setTimeout(()=>{!a&&o.value===n&&n.zoomToFit({padding:t,maxScale:1})},e))}function g(e){o.value?.zoom(e)}function _(){if(o.value&&e.value){let{width:t,height:n}=q(e.value);o.value.resize(t,n)}}return v(()=>{a=!0,d()}),{graph:o,loading:s,initGraph:l,destroyGraph:d,centerContent:f,zoomToFit:p,scheduleZoomToFit:m,zoom:g,resizeGraph:_,updateTheme:u}}function Y(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function X(e,t=`diagram.json`){let n=JSON.stringify(e,null,2);Y(new Blob([n],{type:`application/json`}),t)}async function Z(e,t=`diagram.png`,n={}){let{backgroundColor:r=`#ffffff`,scale:i=2}=n,{container:a}=e;Y(await Q(await ne(a,{backgroundColor:r,scale:i,useCORS:!0,logging:!1}),`image/png`),t)}function ae(e,t=`diagram.svg`){let n=e.container.querySelector(`svg`);if(!n)throw Error(`SVG导出失败: 未找到图表 SVG 元素`);let r=n.cloneNode(!0);r.getAttribute(`xmlns`)||r.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),r.getAttribute(`xmlns:xlink`)||r.setAttribute(`xmlns:xlink`,`http://www.w3.org/1999/xlink`);let i=new XMLSerializer().serializeToString(r);Y(new Blob([i],{type:`image/svg+xml;charset=utf-8`}),t)}function Q(e,t,n=1){return new Promise((r,i)=>{e.toBlob(e=>{e?r(e):i(Error(`Canvas 转 Blob 失败`))},t,n)})}const oe=[{label:`导出PNG`,key:`png`},{label:`导出SVG`,key:`svg`},{label:`导出JSON`,key:`json`}];function $(e,n=`diagram`){let r=t();return{exportOptions:oe,handleExport:async(t,i)=>{if(e.value)try{switch(t){case`png`:await Z(e.value,`${n}.png`);break;case`svg`:ae(e.value,`${n}.svg`);break;case`json`:i&&X(i(),`${n}.json`);break}}catch(e){r.error(`导出${t.toUpperCase()}失败,请重试`,e)}}}}function se(e,t){e.on(`cell:change:*`,({cell:e,key:n,previous:r,options:i})=>{t()&&i.ui&&e.prop(n,r,{ui:!1})})}const ce=[{label:`BIGINT`,value:`BIGINT`},{label:`INT`,value:`INT`},{label:`SMALLINT`,value:`SMALLINT`},{label:`TINYINT`,value:`TINYINT`},{label:`VARCHAR(50)`,value:`VARCHAR(50)`},{label:`VARCHAR(100)`,value:`VARCHAR(100)`},{label:`VARCHAR(255)`,value:`VARCHAR(255)`},{label:`CHAR(10)`,value:`CHAR(10)`},{label:`TEXT`,value:`TEXT`},{label:`LONGTEXT`,value:`LONGTEXT`},{label:`DATETIME`,value:`DATETIME`},{label:`TIMESTAMP`,value:`TIMESTAMP`},{label:`DATE`,value:`DATE`},{label:`TIME`,value:`TIME`},{label:`DECIMAL(10,2)`,value:`DECIMAL(10,2)`},{label:`FLOAT`,value:`FLOAT`},{label:`DOUBLE`,value:`DOUBLE`},{label:`BOOLEAN`,value:`BOOLEAN`},{label:`JSON`,value:`JSON`}],le={key:0,class:`table-editor`},ue={class:`fields-container`},de={class:`field-header`};var fe=r(f({__name:`ERTableEditor`,props:p({show:{type:Boolean}},{editingTable:{},editingTableModifiers:{}}),emits:p([`update:show`,`save`,`add-field`,`remove-field`,`handle-primary-key`],[`update:editingTable`]),setup(e,{emit:t}){let r=E(e,`editingTable`),a=t,f=(e,t)=>a(`handle-primary-key`,e,t),p=()=>a(`add-field`),m=e=>a(`remove-field`,e);return(t,a)=>(y(),o(T(P),{show:e.show,width:`600`,placement:`right`,"onUpdate:show":a[4]||=e=>t.$emit(`update:show`,e)},{default:O(()=>[d(T(F),{title:`编辑表: ${r.value?.name||`新表`}`,closable:``},{footer:O(()=>[d(T(W),{justify:`end`},{default:O(()=>[d(T(A),{onClick:a[2]||=e=>t.$emit(`update:show`,!1)},{default:O(()=>[...a[11]||=[u(`取消`,-1)]]),_:1}),d(T(A),{onClick:a[3]||=e=>t.$emit(`save`),type:`primary`},{default:O(()=>[...a[12]||=[u(`保存`,-1)]]),_:1})]),_:1})]),default:O(()=>[r.value?(y(),c(`div`,le,[d(T(I),{model:r.value,"label-placement":`top`},{default:O(()=>[d(T(L),{label:`表名`},{default:O(()=>[d(T(B),{value:r.value.name,"onUpdate:value":a[0]||=e=>r.value.name=e,placeholder:`请输入表名`},null,8,[`value`])]),_:1}),d(T(L),{label:`表注释`},{default:O(()=>[d(T(B),{value:r.value.comment,"onUpdate:value":a[1]||=e=>r.value.comment=e,placeholder:`表注释`},null,8,[`value`])]),_:1}),d(T(N),null,{default:O(()=>[...a[5]||=[u(`字段列表`,-1)]]),_:1}),l(`div`,ue,[(y(!0),c(i,null,x(r.value.fields,(e,t)=>(y(),o(T(j),{key:t,size:`small`,class:`field-card`},{header:O(()=>[l(`div`,de,[l(`span`,null,`#`+w(t+1)+` `+w(e.name||`新字段`),1),d(T(A),{onClick:e=>m(t),size:`tiny`,type:`error`,quaternary:``,disabled:r.value.fields.length<=1},{default:O(()=>[...a[6]||=[u(` 删除 `,-1)]]),_:1},8,[`onClick`,`disabled`])])]),default:O(()=>[d(T(z),{cols:2,"x-gap":12},{default:O(()=>[d(T(R),null,{default:O(()=>[d(T(L),{label:`字段名`,size:`small`},{default:O(()=>[d(T(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`字段名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),d(T(R),null,{default:O(()=>[d(T(L),{label:`类型`,size:`small`},{default:O(()=>[d(T(U),{value:e.type,"onUpdate:value":t=>e.type=t,options:T(ce),size:`small`,filterable:``,placeholder:`选择类型`},null,8,[`value`,`onUpdate:value`,`options`])]),_:2},1024)]),_:2},1024)]),_:2},1024),d(T(W),{style:{"margin-top":`12px`}},{default:O(()=>[d(T(M),{checked:e.isPrimaryKey,"onUpdate:checked":[t=>e.isPrimaryKey=t,t=>f(e,t)]},{default:O(()=>[...a[7]||=[u(` 主键 `,-1)]]),_:1},8,[`checked`,`onUpdate:checked`]),d(T(M),{checked:e.isRequired,"onUpdate:checked":t=>e.isRequired=t},{default:O(()=>[...a[8]||=[u(`必填`,-1)]]),_:1},8,[`checked`,`onUpdate:checked`]),d(T(M),{checked:e.isForeignKey,"onUpdate:checked":t=>e.isForeignKey=t},{default:O(()=>[...a[9]||=[u(`外键`,-1)]]),_:1},8,[`checked`,`onUpdate:checked`])]),_:2},1024),d(T(L),{label:`注释`,size:`small`,style:{"margin-top":`12px`}},{default:O(()=>[d(T(B),{value:e.comment,"onUpdate:value":t=>e.comment=t,placeholder:`字段注释`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024))),128)),d(T(A),{onClick:p,dashed:``,block:``,type:`primary`,ghost:``,style:{"margin-top":`16px`}},{icon:O(()=>[d(n,{name:`mdi:plus`,size:16})]),default:O(()=>[a[10]||=u(` 添加字段 `,-1)]),_:1})])]),_:1},8,[`model`])])):s(`v-if`,!0)]),_:1},8,[`title`])]),_:1},8,[`show`]))}}),[[`__scopeId`,`data-v-4e8f219f`]]);const pe={class:`er-layout`},me={key:0,class:`toolbar`},he={key:0,style:{"margin-top":`8px`}};var ge=r(f({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},theme:{}},emits:[`ready`,`data-change`],setup(t,{expose:r,emit:i}){let o=t,f=i,p=b(),{graph:m,initGraph:g,centerContent:_,zoomToFit:v,scheduleZoomToFit:x}=J(p,a(()=>o.theme===`dark`)),{exportOptions:S,handleExport:C}=$(m,`er-diagram`),E=b(!1),j=b(),M=b(!1),N=(e,t)=>e.length>t?e.substring(0,t-1)+`..`:e,P=e=>e.fields?.map(t=>{let n=t.isPrimaryKey?`🔑 ${t.name}`:t.isRequired?`* ${t.name}`:t.name;return{id:`${e.id}_${t.name}`,data:{tableId:e.id,fieldName:t.name},group:`list`,attrs:{portNameLabel:{text:N(n,12),title:n},portTypeLabel:{text:N(t.type,10),title:t.type},portBody:{fill:t.isPrimaryKey?`#FFF7E6`:`#EFF4FF`}}}})||[],F=t=>({id:t.id,shape:`er-rect`,x:t.position.x,y:t.position.y,width:200,height:24+(t.fields?.length||0)*24,data:e(t),attrs:{label:{text:N(t.name,20),refX:.5,refY:10,textAnchor:`middle`,title:t.name}},ports:P(t)}),I=()=>{m.value&&(G.registerPortLayout(`erPortPosition`,e=>e.map((e,t)=>({position:{x:0,y:(t+1)*24},angle:0})),!0),G.registerNode(`er-rect`,{inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`text`,selector:`label`}],attrs:{rect:{strokeWidth:1,stroke:`#5F95FF`,fill:`#5F95FF`},label:{fontWeight:`bold`,fill:`#ffffff`,fontSize:12}},ports:{groups:{list:{markup:[{tagName:`rect`,selector:`portBody`},{tagName:`text`,selector:`portNameLabel`},{tagName:`text`,selector:`portTypeLabel`}],attrs:{portBody:{width:200,height:24,strokeWidth:1,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!0},portNameLabel:{ref:`portBody`,refX:6,refY:6,fontSize:9,textAnchor:`start`,textOverflow:`ellipsis`},portTypeLabel:{ref:`portBody`,refX:120,refY:6,fontSize:9,textAnchor:`start`,fill:`#666`}},position:`erPortPosition`}}}},!0))},L=()=>{o.readonly||(M.value=!M.value,M.value||R())},R=()=>{m.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,`#A2B1C3`),e.attr(`line/strokeWidth`,2)})},z=e=>{if(!m.value)return;let t=m.value.createNode(F(e));return m.value.resetCells([t,...m.value.getCells()]),t},B=()=>{let e=m.value?.getNodes()||[];for(let t=0;t<10;t++)for(let n=0;n<3;n++){let r={x:n*250+50,y:t*250+50};if(!e.some(e=>{let t=e.getPosition();return Math.abs(t.x-r.x)<250*.8&&Math.abs(t.y-r.y)<250*.8}))return r}return{x:50,y:50}},V=()=>{if(o.readonly)return;let e={id:`table_${Date.now()}`,name:`新表`,comment:``,fields:[{name:`id`,type:`BIGINT`,isPrimaryKey:!0,isRequired:!0,isForeignKey:!1,comment:`主键`},{name:`name`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!0,isForeignKey:!1,comment:`名称`}],position:B()};z(e),H(e),Z()},H=t=>{o.readonly||(j.value=e(t),E.value=!0)},U=()=>{if(o.readonly||!m.value||!j.value)return;let t=m.value.getCellById(j.value.id);t&&(t.setData(e(j.value)),t.prop({size:{width:200,height:24+j.value.fields.length*24},attrs:{label:{text:N(j.value.name,20),title:j.value.name}},ports:P(j.value)})),E.value=!1,Z()},K=(e,t)=>{o.readonly||!t||(e.isRequired=!0,j.value?.fields.forEach(t=>{t!==e&&(t.isPrimaryKey=!1)}))},ne=()=>{o.readonly||j.value?.fields.push({name:`field_${(j.value?.fields.length||0)+1}`,type:`VARCHAR(100)`,isPrimaryKey:!1,isRequired:!1,isForeignKey:!1,comment:``})},re=e=>{o.readonly||j.value&&j.value.fields.length>1&&j.value.fields.splice(e,1)},ie=(e,t)=>{let n=e.getPort(t)?.data;if(n?.tableId===e.id)return n.fieldName;let r=`${e.id}_`;return t.startsWith(r)?t.slice(r.length):void 0},q=e=>e.getData()?.name||e.id,Y=t=>{let n=t.getSourceNode(),r=t.getTargetNode();if(!n||!r)return;let i=ie(n,t.getSourcePortId()??``),a=ie(r,t.getTargetPortId()??``);if(i===void 0||a===void 0)return;let o=t.getData();return{...e(o),id:t.id,type:o?.type??`foreign-key`,sourceTable:n.id,sourceField:i,targetTable:r.id,targetField:a,...!o&&{name:`${q(n)} -> ${q(r)}`}}},X=()=>{if(!m.value)return{tables:[],relations:[]};let t=m.value.getNodes().map(t=>({...e(t.getData()),position:t.getPosition()})),n=[];return m.value.getEdges().forEach(e=>{let t=Y(e);t&&n.push(t)}),{tables:t,relations:n}},Z=()=>{o.readonly||f(`data-change`,X())},ae=t=>{let n=m.value;if(!n)return;Q=null;let r=t.tables.map(e=>n.createNode(F(e)));t.relations?.forEach(t=>{r.push(n.createEdge({id:t.id,source:{cell:t.sourceTable,port:`${t.sourceTable}_${t.sourceField}`},target:{cell:t.targetTable,port:`${t.targetTable}_${t.targetField}`},data:e(t),attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2}}}))}),n.resetCells(r)},Q=null;D(m,e=>{e instanceof G&&(I(),se(e,()=>o.readonly),e.on(`node:dblclick`,({node:e})=>{o.readonly||H(e.getData())}),e.on(`node:moved`,Z),e.on(`edge:connected`,Z),e.on(`edge:removed`,({edge:e})=>{Q===e&&(Q=null),Z()}),e.on(`edge:click`,({edge:e})=>{o.readonly||(M.value?e.remove():(R(),e.attr(`line/stroke`,`#ff4d4f`),e.attr(`line/strokeWidth`,3),Q=e))}),e.on(`edge:dblclick`,({edge:e})=>{o.readonly||e.remove()}),e.on(`blank:click`,()=>{Q=null,M.value||R()}),f(`ready`,e),h(()=>{m.value===e&&o.data?.tables&&(ae(o.data),x(300,20))}))},{immediate:!0}),D(()=>o.data,e=>{m.value&&e?.tables&&ae(e)},{deep:!0}),D(()=>o.readonly,e=>{e&&(E.value=!1,j.value=void 0,M.value=!1,Q=null,R())},{flush:`sync`});let oe=e=>{e.target?.closest(`input, textarea, [contenteditable]:not([contenteditable="false"])`)||p.value?.focus({preventScroll:!0})},ce=e=>{o.readonly||document.activeElement!==p.value||e.target?.closest(`input, textarea, [contenteditable]:not([contenteditable="false"])`)||(e.key===`Delete`||e.key===`Backspace`)&&Q&&(e.preventDefault(),Q.remove(),Q=null)};return ee(()=>{g({interacting:()=>!o.readonly,connecting:{allowBlank:!1,allowNode:!1,allowEdge:!1,validateMagnet:()=>!o.readonly,validateConnection:()=>!o.readonly,validateEdge:()=>!o.readonly}})}),r({getGraph:()=>m.value??void 0,getData:X}),(e,r)=>(y(),c(`div`,pe,[s(` 工具栏 `),t.showToolbar?(y(),c(`div`,me,[d(T(W),null,{default:O(()=>[d(T(A),{onClick:V,disabled:t.readonly,type:`primary`,size:`small`},{icon:O(()=>[d(n,{name:`mdi:table-plus`,size:16})]),default:O(()=>[r[3]||=u(` 添加表 `,-1)]),_:1},8,[`disabled`]),d(T(A),{onClick:T(_),size:`small`},{icon:O(()=>[d(n,{name:`mdi:image-filter-center-focus`,size:16})]),default:O(()=>[r[4]||=u(` 居中 `,-1)]),_:1},8,[`onClick`]),d(T(A),{onClick:T(v),size:`small`},{icon:O(()=>[d(n,{name:`mdi:fit-to-screen`,size:16})]),default:O(()=>[r[5]||=u(` 适应 `,-1)]),_:1},8,[`onClick`]),d(T(A),{onClick:L,disabled:t.readonly,type:M.value?`error`:`default`,size:`small`},{icon:O(()=>[d(n,{name:`mdi:delete`,size:16})]),default:O(()=>[u(` `+w(M.value?`退出删除`:`删除连线`),1)]),_:1},8,[`disabled`,`type`]),d(T(te),{options:T(S),onSelect:r[0]||=e=>T(C)(e,X)},{default:O(()=>[d(T(A),{size:`small`},{icon:O(()=>[d(n,{name:`mdi:export`,size:16})]),default:O(()=>[r[6]||=u(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])]),_:1}),M.value?(y(),c(`div`,he,[d(T(k),{type:`info`,size:`small`,"show-icon":!1},{default:O(()=>[...r[7]||=[u(` 删除模式:点击连接线即可删除 `,-1)]]),_:1})])):s(`v-if`,!0)])):s(`v-if`,!0),s(` 图表容器 `),l(`div`,{ref_key:`containerRef`,ref:p,class:`graph-container`,tabindex:`0`,role:`region`,"aria-label":`ER 图画布`,onPointerdown:oe,onKeydown:ce},null,544),s(` 表编辑器 `),d(fe,{show:E.value,"editing-table":j.value,"onUpdate:editingTable":r[1]||=e=>j.value=e,"onUpdate:show":r[2]||=e=>E.value=e,onSave:U,onAddField:ne,onRemoveField:re,onHandlePrimaryKey:K},null,8,[`show`,`editing-table`])]))}}),[[`__scopeId`,`data-v-7676efd4`]]);const _e={defaultColor:`#A2B1C3`,highlightColor:`#ff4d4f`,strokeWidth:2,highlightStrokeWidth:3,portPositions:[],onDataChange:()=>{},isReadonly:()=>!1};function ve(e,t={}){let n={..._e,...t},r=()=>{e.value?.getEdges().forEach(e=>{e.attr(`line/stroke`,n.defaultColor),e.attr(`line/strokeWidth`,n.strokeWidth)})},i=e=>{r(),e.attr(`line/stroke`,n.highlightColor),e.attr(`line/strokeWidth`,n.highlightStrokeWidth)},a=(e,t)=>{n.portPositions.forEach(n=>e.attr(`port-${n}/style/opacity`,t))};return{resetEdgeStyles:r,highlightEdge:i,togglePorts:a,bindInteractions:()=>{let t=e.value;t&&(t.on(`edge:click`,({edge:e})=>i(e)),t.on(`edge:dblclick`,({edge:e})=>{n.isReadonly()||(e.remove(),n.onDataChange())}),t.on(`blank:click`,r),t.on(`node:click`,r),t.on(`edge:connected`,()=>{n.isReadonly()||n.onDataChange()}),n.portPositions.length>0&&(t.on(`node:mouseenter`,({node:e})=>a(e,1)),t.on(`node:mouseleave`,({node:e})=>a(e,0))))}}}const ye={"start-event":{name:`开始`,title:`开始事件`,iconClass:`circle start-event`},activity:{name:`任务`,title:`任务活动`,iconClass:`rect activity`},gateway:{name:`网关`,title:`排他网关`,iconClass:`diamond gateway`},"end-event":{name:`结束`,title:`结束事件`,iconClass:`circle end-event`}},be={event:`事件`,activity:`活动`,gateway:`网关`,"bpmn-edge":`连接线`},xe=[`top`,`right`,`bottom`,`left`],Se=(e,t=`rect`)=>e.reduce((e,n)=>{let r=t===`circle`,i=n===`top`?r?{refCx:.5,refCy:0}:{refX:.5,refY:0}:n===`right`?r?{refCx:1,refCy:.5}:{refX:1,refY:.5}:n===`bottom`?r?{refCx:.5,refCy:1}:{refX:.5,refY:1}:r?{refCx:0,refCy:.5}:{refX:0,refY:.5};return e[`port-${n}`]={ref:`body`,...i,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),Ce={event:{inherit:`circle`,attrs:{body:{strokeWidth:2,stroke:`#5F95FF`,fill:`#FFF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},activity:{inherit:`rect`,attrs:{body:{rx:6,ry:6,stroke:`#5F95FF`,fill:`#EFF4FF`,strokeWidth:1,magnet:!1,style:{cursor:`move`}},text:{fontSize:12,fill:`#262626`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}},gateway:{inherit:`polygon`,attrs:{body:{refPoints:`0,10 10,0 20,10 10,20`,strokeWidth:2,stroke:`#5F95FF`,fill:`#EFF4FF`,magnet:!1,style:{cursor:`move`}},text:{fontSize:20,fill:`#5F95FF`,textAnchor:`middle`,textVerticalAnchor:`middle`,pointerEvents:`none`}}}},we={inherit:`edge`,attrs:{line:{stroke:`#A2B1C3`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#A2B1C3`},cursor:`pointer`}}};function Te(e=!1){let t={background:e?`#18181c`:`#ffffff`,gridPrimary:e?`rgba(255, 255, 255, 0.08)`:`#eee`,gridSecondary:e?`rgba(255, 255, 255, 0.04)`:`#ddd`};return{background:{color:t.background},grid:{visible:!0,type:`doubleMesh`,args:[{color:t.gridPrimary,thickness:1},{color:t.gridSecondary,thickness:1,factor:4}]},mousewheel:{enabled:!0,zoomAtMousePosition:!0,modifiers:`ctrl`,minScale:.5,maxScale:3},connecting:{router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},highlighting:{magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},selecting:{enabled:!0,rubberband:!0,showNodeSelectionBox:!0},resizing:!0,rotating:!1,snapline:!0,keyboard:!0,clipboard:!0}}Te();const Ee={"start-event":{shape:`event`,width:50,height:50,label:`开始事件`,data:{type:`start`}},"end-event":{shape:`event`,width:50,height:50,label:`结束事件`,data:{type:`end`}},activity:{shape:`activity`,width:120,height:60,label:`新活动`,data:{description:``,assignee:``}},gateway:{shape:`gateway`,width:40,height:40,label:`+`,data:{type:`exclusive`}}},De=[{id:`start-1`,shape:`event`,x:100,y:200,width:50,height:50,label:`流程开始`,data:{type:`start`}},{id:`activity-1`,shape:`activity`,x:200,y:180,width:120,height:60,label:`用户申请`,data:{description:`用户提交申请表单`,assignee:`申请人`}},{id:`activity-2`,shape:`activity`,x:380,y:180,width:120,height:60,label:`初审`,data:{description:`部门进行初步审核`,assignee:`部门主管`}},{id:`gateway-1`,shape:`gateway`,x:550,y:200,width:40,height:40,label:`+`,data:{type:`exclusive`}},{id:`activity-3`,shape:`activity`,x:650,y:120,width:120,height:60,label:`终审`,data:{description:`高级主管最终审核`,assignee:`总监`}},{id:`activity-4`,shape:`activity`,x:650,y:260,width:120,height:60,label:`驳回处理`,data:{description:`处理驳回流程`,assignee:`专员`}},{id:`end-1`,shape:`event`,x:820,y:140,width:50,height:50,label:`审批通过`,data:{type:`end`}},{id:`end-2`,shape:`event`,x:820,y:280,width:50,height:50,label:`审批驳回`,data:{type:`end`}},{id:`edge-1`,shape:`bpmn-edge`,source:`start-1`,target:`activity-1`,x:0,y:0},{id:`edge-2`,shape:`bpmn-edge`,source:`activity-1`,target:`activity-2`,x:0,y:0},{id:`edge-3`,shape:`bpmn-edge`,source:`activity-2`,target:`gateway-1`,x:0,y:0},{id:`edge-4`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-3`,label:`通过`,x:0,y:0},{id:`edge-5`,shape:`bpmn-edge`,source:`gateway-1`,target:`activity-4`,label:`驳回`,x:0,y:0},{id:`edge-6`,shape:`bpmn-edge`,source:`activity-3`,target:`end-1`,x:0,y:0},{id:`edge-7`,shape:`bpmn-edge`,source:`activity-4`,target:`end-2`,x:0,y:0}],Oe={key:0,class:`property-panel`},ke={class:`property-item`},Ae={class:`property-item`},je={key:0,class:`property-item`},Me={key:1,class:`property-item`},Ne={class:`form-actions`};var Pe=r(f({__name:`BPMNPropertyEditor`,props:p({show:{type:Boolean}},{editingElement:{},editingElementModifiers:{}}),emits:p([`update:show`,`save`,`delete`],[`update:editingElement`]),setup(e,{emit:t}){let n=E(e,`editingElement`),r=t,i=a(()=>be[n.value?.shape]||n.value?.shape||``);return(t,a)=>(y(),o(T(P),{show:e.show,width:`300`,title:`属性设置`,"onUpdate:show":a[6]||=e=>r(`update:show`,e)},{default:O(()=>[n.value?(y(),c(`div`,Oe,[l(`div`,ke,[a[7]||=l(`div`,{class:`property-label`},`名称`,-1),d(T(B),{value:n.value.label,"onUpdate:value":a[0]||=e=>n.value.label=e,placeholder:`请输入名称`,size:`small`},null,8,[`value`])]),l(`div`,Ae,[a[8]||=l(`div`,{class:`property-label`},`类型`,-1),d(T(B),{value:i.value,readonly:``,size:`small`},null,8,[`value`])]),n.value.shape===`activity`?(y(),c(`div`,je,[a[9]||=l(`div`,{class:`property-label`},`描述`,-1),d(T(B),{value:n.value.description,"onUpdate:value":a[1]||=e=>n.value.description=e,type:`textarea`,rows:3,placeholder:`请输入活动描述`,size:`small`},null,8,[`value`])])):s(`v-if`,!0),n.value.shape===`activity`?(y(),c(`div`,Me,[a[10]||=l(`div`,{class:`property-label`},`执行人`,-1),d(T(B),{value:n.value.assignee,"onUpdate:value":a[2]||=e=>n.value.assignee=e,placeholder:`请输入执行人`,size:`small`},null,8,[`value`])])):s(`v-if`,!0),l(`div`,Ne,[d(T(W),null,{default:O(()=>[d(T(A),{onClick:a[3]||=e=>r(`save`),type:`primary`,size:`small`},{default:O(()=>[...a[11]||=[u(` 保存 `,-1)]]),_:1}),d(T(A),{onClick:a[4]||=e=>r(`update:show`,!1),size:`small`},{default:O(()=>[...a[12]||=[u(` 取消 `,-1)]]),_:1}),d(T(A),{onClick:a[5]||=e=>r(`delete`),type:`error`,size:`small`},{default:O(()=>[...a[13]||=[u(` 删除 `,-1)]]),_:1})]),_:1})])])):s(`v-if`,!0)]),_:1},8,[`show`]))}}),[[`__scopeId`,`data-v-fc8f213e`]]);const Fe={class:`bpmn-layout`},Ie={key:0,class:`top-toolbar`},Le={class:`toolbar-section`},Re={class:`toolbar-group`},ze={class:`toolbar-group`},Be={class:`toolbar-group`},Ve={class:`main-content`},He={key:0,class:`left-panel`},Ue={class:`element-grid`},We=[`onClick`,`title`],Ge={class:`graph-wrapper`};var Ke=r(f({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(t,{expose:r,emit:o}){let f=t,p=o,m=b(),{graph:h,initGraph:_,centerContent:v,zoomToFit:S,scheduleZoomToFit:C}=J(m,a(()=>f.theme===`dark`)),{exportOptions:E,handleExport:k}=$(h,`bpmn-diagram`),{bindInteractions:j}=ve(h,{portPositions:xe,onDataChange:()=>W(),isReadonly:()=>f.readonly}),M=b(!1),N=b(),P=e=>String(e.attr(`text/text`)||e.attr(`label/text`)||``),F=e=>{if(!e)return[];if(Array.isArray(e))return e;let t=[];return Object.values(e).forEach(e=>{Array.isArray(e)&&t.push(...e)}),t},I=()=>{let e=xe.map(e=>({tagName:`circle`,selector:`port-${e}`})),t=[`event`,`activity`,`gateway`],n={event:`circle`,activity:`rect`,gateway:`polygon`};t.forEach(t=>{G.registerNode(t,{...Ce[t],markup:[{tagName:n[t],selector:`body`},{tagName:`text`,selector:`text`},...e],attrs:{...Ce[t].attrs,...Se(xe,n[t])}},!0)}),G.registerEdge(`bpmn-edge`,we,!0)},L=t=>{if(!h.value)return;let n=t.map(t=>{let{data:n,...r}=t,i=t.shape===`bpmn-edge`?h.value.createEdge(r):h.value.createNode(r);return n&&i.setData(e(n)),i});h.value.resetCells(n),n.length&&C(200,50)},R=t=>{if(f.readonly||!h.value)return;let n=Ee[t];if(!n)return;let r=h.value.options.width/2,i=h.value.options.height/2,{data:a,...o}={id:`${t}-${Date.now()}`,x:r+Math.random()*100-50,y:i+Math.random()*100-50,...n},s=h.value.createNode(o);a&&s.setData(e(a)),h.value.addCell(s),W()},z=()=>{f.readonly||(h.value?.clearCells(),W())},B=e=>{if(f.readonly)return;let t=e.getData()||{};N.value={id:e.id,shape:e.shape,label:P(e),description:t.description||``,assignee:t.assignee||``,x:0,y:0},M.value=!0},V=()=>{if(f.readonly||!h.value||!N.value)return;let e=h.value.getCellById(N.value.id);e&&(e.setData({description:N.value.description,assignee:N.value.assignee}),e.attr(`text/text`,N.value.label||``),e.attr(`label/text`,N.value.label||``)),M.value=!1,W()},H=()=>{f.readonly||!h.value||!N.value||(h.value.getCellById(N.value.id)?.remove(),M.value=!1,W())},U=()=>h.value?[...h.value.getNodes().map(t=>({id:t.id,shape:t.shape,x:t.getPosition().x,y:t.getPosition().y,width:t.getSize().width,height:t.getSize().height,label:P(t),data:e(t.getData()||{})})),...h.value.getEdges().map(t=>({id:t.id,shape:`bpmn-edge`,source:t.getSourceCellId()||``,target:t.getTargetCellId()||``,label:P(t),data:e(t.getData()||{}),x:0,y:0}))]:[],W=()=>{f.readonly||p(`data-change`,U())};return D(h,e=>{e instanceof G&&(se(e,()=>f.readonly),j(),e.on(`node:dblclick`,({node:e})=>B(e)),e.on(`node:moved`,W),p(`ready`,e),L(f.data===void 0?De:F(f.data)))},{immediate:!0}),D(()=>f.data,e=>{h.value&&L(e===void 0?De:F(e))},{deep:!0}),D(()=>f.readonly,e=>{e&&(M.value=!1,N.value=void 0)},{flush:`sync`}),ee(async()=>{I();let e=Te();await _({...e,interacting:()=>!f.readonly,connecting:{...e.connecting,validateMagnet:()=>!f.readonly,validateEdge:()=>!f.readonly,createEdge:()=>h.value.createEdge({shape:`bpmn-edge`}),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>!f.readonly&&e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`}})}),r({getGraph:()=>h.value,getData:U,loadData:L}),(e,r)=>(y(),c(`div`,Fe,[t.showToolbar?(y(),c(`div`,Ie,[l(`div`,Le,[l(`div`,Re,[d(T(A),{onClick:z,disabled:t.readonly,size:`small`},{icon:O(()=>[d(n,{name:`mdi:delete-outline`,size:16})]),default:O(()=>[r[3]||=u(` 清空 `,-1)]),_:1},8,[`disabled`])]),l(`div`,ze,[d(T(A),{onClick:T(v),size:`small`},{icon:O(()=>[d(n,{name:`mdi:image-filter-center-focus`,size:16})]),default:O(()=>[r[4]||=u(` 居中 `,-1)]),_:1},8,[`onClick`]),d(T(A),{onClick:T(S),size:`small`},{icon:O(()=>[d(n,{name:`mdi:fit-to-screen`,size:16})]),default:O(()=>[r[5]||=u(` 适应 `,-1)]),_:1},8,[`onClick`])]),l(`div`,Be,[d(T(te),{options:T(E),onSelect:r[0]||=e=>T(k)(e,U)},{default:O(()=>[d(T(A),{size:`small`},{icon:O(()=>[d(n,{name:`mdi:export`,size:16})]),default:O(()=>[r[6]||=u(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])])])])):s(`v-if`,!0),l(`div`,Ve,[t.showToolbar&&!t.readonly?(y(),c(`div`,He,[r[7]||=l(`div`,{class:`panel-title`},`组件`,-1),l(`div`,Ue,[(y(!0),c(i,null,x(T(ye),(e,t)=>(y(),c(`div`,{key:t,class:`element-item`,onClick:e=>R(t),title:e.title},[l(`div`,{class:g([`element-icon`,e.iconClass])},null,2),l(`span`,null,w(e.name),1)],8,We))),128))])])):s(`v-if`,!0),l(`div`,Ge,[l(`div`,{ref_key:`containerRef`,ref:m,class:`graph-container`},null,512)])]),d(Pe,{show:M.value,"editing-element":N.value,"onUpdate:editingElement":r[1]||=e=>N.value=e,"onUpdate:show":r[2]||=e=>M.value=e,onSave:V,onDelete:H},null,8,[`show`,`editing-element`])]))}}),[[`__scopeId`,`data-v-a7aebb58`]]);const qe={key:0,class:`class-editor`},Je={class:`section`},Ye={class:`section-header`},Xe={style:{"font-size":`13px`}},Ze={class:`section`},Qe={class:`section-header`},$e={style:{"font-size":`13px`}};var et=r(f({__name:`UMLClassEditor`,props:p({show:{type:Boolean}},{editingClass:{},editingClassModifiers:{}}),emits:p([`update:show`,`save`,`delete`],[`update:editingClass`]),setup(e,{emit:t}){let r=E(e,`editingClass`),a=t;return(t,f)=>(y(),o(T(P),{show:e.show,width:`450`,title:`编辑类`,"onUpdate:show":f[6]||=e=>a(`update:show`,e)},{default:O(()=>[r.value?(y(),c(`div`,qe,[d(T(I),{"label-placement":`top`},{default:O(()=>[d(T(L),{label:`类名`},{default:O(()=>[d(T(B),{value:r.value.name,"onUpdate:value":f[0]||=e=>r.value.name=e,placeholder:`请输入类名`},null,8,[`value`])]),_:1}),d(T(N),{style:{margin:`20px 0`}},{default:O(()=>[...f[7]||=[u(`属性`,-1)]]),_:1}),l(`div`,Je,[(y(!0),c(i,null,x(r.value.attributes,(e,t)=>(y(),c(`div`,{key:t,class:`item`},[d(T(j),{size:`small`,style:{"margin-bottom":`12px`}},{header:O(()=>[l(`div`,Ye,[l(`span`,Xe,`#`+w(t+1)+` `+w(e.name||`新属性`),1),d(T(A),{onClick:e=>r.value.attributes.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:O(()=>[...f[8]||=[u(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),default:O(()=>[d(T(W),{vertical:``,size:`small`},{default:O(()=>[d(T(W),null,{default:O(()=>[d(T(L),{label:`属性名`,style:{margin:`0`,flex:`1`}},{default:O(()=>[d(T(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`属性名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),d(T(L),{label:`类型`,style:{margin:`0`,flex:`1`}},{default:O(()=>[d(T(B),{value:e.type,"onUpdate:value":t=>e.type=t,placeholder:`类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),d(T(L),{label:`可见性`,style:{margin:`0`}},{default:O(()=>[d(T(H),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:O(()=>[d(T(V),{value:`public`},{default:O(()=>[...f[9]||=[u(`+ public`,-1)]]),_:1}),d(T(V),{value:`private`},{default:O(()=>[...f[10]||=[u(`- private`,-1)]]),_:1}),d(T(V),{value:`protected`},{default:O(()=>[...f[11]||=[u(`# protected`,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),d(T(A),{onClick:f[1]||=e=>r.value.attributes.push({name:`newAttribute`,type:`string`,visibility:`private`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:O(()=>[d(n,{name:`mdi:plus`,size:16})]),default:O(()=>[f[12]||=u(` 添加属性 `,-1)]),_:1})]),d(T(N),{style:{margin:`20px 0`}},{default:O(()=>[...f[13]||=[u(`方法`,-1)]]),_:1}),l(`div`,Ze,[(y(!0),c(i,null,x(r.value.methods,(e,t)=>(y(),c(`div`,{key:t,class:`item`},[d(T(j),{size:`small`,style:{"margin-bottom":`12px`}},{header:O(()=>[l(`div`,Qe,[l(`span`,$e,`#`+w(t+1)+` `+w(e.name||`新方法`),1),d(T(A),{onClick:e=>r.value.methods.splice(t,1),size:`tiny`,type:`error`,quaternary:``,style:{"margin-left":`auto`}},{default:O(()=>[...f[14]||=[u(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),default:O(()=>[d(T(W),{vertical:``,size:`small`},{default:O(()=>[d(T(W),null,{default:O(()=>[d(T(L),{label:`方法名`,style:{margin:`0`,flex:`1`}},{default:O(()=>[d(T(B),{value:e.name,"onUpdate:value":t=>e.name=t,placeholder:`方法名`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),d(T(L),{label:`返回类型`,style:{margin:`0`,flex:`1`}},{default:O(()=>[d(T(B),{value:e.returnType,"onUpdate:value":t=>e.returnType=t,placeholder:`返回类型`,size:`small`},null,8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024),d(T(L),{label:`可见性`,style:{margin:`0`}},{default:O(()=>[d(T(H),{value:e.visibility,"onUpdate:value":t=>e.visibility=t,size:`small`},{default:O(()=>[d(T(V),{value:`public`},{default:O(()=>[...f[15]||=[u(`+ public`,-1)]]),_:1}),d(T(V),{value:`private`},{default:O(()=>[...f[16]||=[u(`- private`,-1)]]),_:1}),d(T(V),{value:`protected`},{default:O(()=>[...f[17]||=[u(`# protected`,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128)),d(T(A),{onClick:f[2]||=e=>r.value.methods.push({name:`newMethod`,returnType:`void`,visibility:`public`}),dashed:``,block:``,type:`primary`,ghost:``,size:`small`},{icon:O(()=>[d(n,{name:`mdi:plus`,size:16})]),default:O(()=>[f[18]||=u(` 添加方法 `,-1)]),_:1})]),d(T(N),{style:{margin:`20px 0`}}),d(T(W),{justify:`space-between`},{default:O(()=>[d(T(A),{onClick:f[3]||=e=>a(`delete`),type:`error`,ghost:``},{icon:O(()=>[d(n,{name:`mdi:delete`,size:16})]),default:O(()=>[f[19]||=u(` 删除类 `,-1)]),_:1}),d(T(W),null,{default:O(()=>[d(T(A),{onClick:f[4]||=e=>a(`update:show`,!1)},{default:O(()=>[...f[20]||=[u(`取消`,-1)]]),_:1}),d(T(A),{onClick:f[5]||=e=>a(`save`),type:`primary`},{default:O(()=>[...f[21]||=[u(` 保存 `,-1)]]),_:1})]),_:1})]),_:1})]),_:1})])):s(`v-if`,!0)]),_:1},8,[`show`]))}}),[[`__scopeId`,`data-v-c37f7424`]]);const tt={public:`+`,private:`-`,protected:`#`},nt={extends:{strokeDasharray:0,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},implement:{strokeDasharray:`8,4`,targetMarker:{name:`block`,width:10,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},dependency:{strokeDasharray:`6,4`,targetMarker:{name:`classic`,size:8,fill:`#722ed1`}},composition:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`#722ed1`,stroke:`#722ed1`}},aggregation:{strokeDasharray:0,sourceMarker:{name:`diamond`,width:12,height:8,fill:`white`,stroke:`#722ed1`,strokeWidth:2}},association:{strokeDasharray:0,targetMarker:{name:`classic`,size:8,fill:`#722ed1`}}},rt=[`top`,`right`,`bottom`,`left`].reduce((e,t)=>{let n=t===`top`?{refX:.5,refY:0}:t===`right`?{refX:1,refY:.5}:t===`bottom`?{refX:.5,refY:1}:{refX:0,refY:.5};return e[`port-${t}`]={ref:`body`,...n,r:4,fill:`#31d0c6`,stroke:`#ffffff`,strokeWidth:2,magnet:!0,style:{cursor:`crosshair`,opacity:0,transition:`opacity 0.2s`}},e},{}),it={inherit:`rect`,markup:[{tagName:`rect`,selector:`body`},{tagName:`rect`,selector:`name-rect`},{tagName:`rect`,selector:`attrs-rect`},{tagName:`rect`,selector:`methods-rect`},{tagName:`text`,selector:`name-text`},{tagName:`text`,selector:`attrs-text`},{tagName:`text`,selector:`methods-text`},{tagName:`circle`,selector:`port-top`},{tagName:`circle`,selector:`port-right`},{tagName:`circle`,selector:`port-bottom`},{tagName:`circle`,selector:`port-left`}],attrs:{rect:{width:160},body:{stroke:`#5f95ff`,strokeWidth:1,fill:`#fff`,magnet:!1,style:{cursor:`move`}},"name-rect":{fill:`#5f95ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"attrs-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"methods-rect":{fill:`#eff4ff`,stroke:`#fff`,strokeWidth:.5,magnet:!1,style:{cursor:`move`}},"name-text":{ref:`name-rect`,refY:.5,refX:.5,textAnchor:`middle`,fontWeight:`bold`,fill:`#fff`,fontSize:12,pointerEvents:`none`},"attrs-text":{ref:`attrs-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},"methods-text":{ref:`methods-rect`,refY:.5,refX:5,textAnchor:`left`,fill:`black`,fontSize:10,pointerEvents:`none`},...rt}},at={router:`manhattan`,connector:{name:`rounded`,args:{radius:8}},allowBlank:!1,allowLoop:!1,allowNode:!1,snap:!0,allowEdge:!1},ot={magnetAvailable:{name:`stroke`,args:{attrs:{fill:`#31d0c6`,stroke:`#31d0c6`,opacity:1}}},magnetAdsorbed:{name:`stroke`,args:{attrs:{fill:`#5F95FF`,stroke:`#5F95FF`,opacity:1}}}},st={shape:`extends`,attrs:{line:{stroke:`#722ed1`,strokeWidth:2,targetMarker:{name:`block`,width:8,height:6,fill:`#722ed1`}}}},ct=[{id:`animal`,name:`<<Abstract>>
2
2
  动物`,x:342,y:98,attributes:[{name:`名字`,type:`string`,visibility:`public`}],methods:[{name:`新陈代谢`,returnType:`void`,visibility:`public`},{name:`繁殖`,returnType:`void`,visibility:`public`}]},{id:`bird`,name:`鸟`,x:575,y:280,attributes:[{name:`羽毛`,type:`string`,visibility:`public`},{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`mammal`,name:`哺乳动物`,x:844,y:319,attributes:[{name:`翅膀`,type:`boolean`,visibility:`public`}],methods:[]},{id:`dog`,name:`狗`,x:656,y:456,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`enterprise`,name:`企鹅`,x:984,y:456,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`sparrow`,name:`麻雀`,x:531,y:608,attributes:[{name:`学飞`,type:`boolean`,visibility:`public`}],methods:[]},{id:`interface-flying`,name:`<<interface>>
3
- 飞翔`,x:762,y:608,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`qemu`,name:`气球`,x:981,y:608,attributes:[],methods:[]}],lt=[{id:`edge-1`,shape:`extends`,source:`bird`,target:`animal`},{id:`edge-2`,shape:`extends`,source:`mammal`,target:`animal`},{id:`edge-3`,shape:`extends`,source:`dog`,target:`mammal`},{id:`edge-4`,shape:`extends`,source:`enterprise`,target:`mammal`},{id:`edge-5`,shape:`extends`,source:`sparrow`,target:`bird`},{id:`edge-6`,shape:`implement`,source:`sparrow`,target:`interface-flying`},{id:`edge-7`,shape:`implement`,source:`enterprise`,target:`interface-flying`},{id:`edge-8`,shape:`association`,source:`bird`,target:`mammal`,label:`1:2`}],ut=e=>tt[e]||`+`,dt={name:`新类`,attributes:[{name:`attribute`,type:`string`,visibility:`private`}],methods:[{name:`method`,returnType:`void`,visibility:`public`}],position:{x:100,y:100}},ft={class:`uml-layout`},pt={key:0,class:`toolbar`};var mt=n(f({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(e,{expose:n,emit:i}){let o=e,f=i,p=b(),{graph:m,initGraph:h,centerContent:g,zoomToFit:v,scheduleZoomToFit:x}=J(p,a(()=>o.theme===`dark`)),{exportOptions:S,handleExport:C}=$(m,`uml-diagram`),{bindInteractions:w}=ve(m,{defaultColor:`#722ed1`,portPositions:[`top`,`right`,`bottom`,`left`],onDataChange:()=>z(),isReadonly:()=>o.readonly}),E=b(!1),k=b(),j=()=>{G.registerNode(`class`,{...it,propHooks(e){let{name:t,attributes:n,methods:r,...i}=e;if(!(t&&n&&r))return e;let a=0;return[{type:`name`,text:t},{type:`attrs`,text:n},{type:`methods`,text:r}].forEach(e=>{let t=Array.isArray(e.text)?e.text.length*12+16:32;K.setByPath(i,`attrs/${e.type}-text/text`,Array.isArray(e.text)?e.text.join(`
4
- `):e.text),K.setByPath(i,`attrs/${e.type}-rect/height`,t),K.setByPath(i,`attrs/${e.type}-rect/transform`,`translate(0,${a})`),a+=t}),i.size={width:160,height:a},i}},!0),Object.entries(nt).forEach(([e,t])=>{G.registerEdge(e,{inherit:`edge`,attrs:{line:{strokeWidth:2,stroke:`#722ed1`,...t}}},!0)})},M=e=>{if(!m.value)return;let t=[`extends`,`composition`,`implement`,`dependency`,`aggregation`,`association`],n=[];e.forEach(e=>{if(t.includes(e.shape)){let t=m.value.createEdge(e);e.data&&t.setData(r(e.data)),n.push(t)}else{let{data:t,...i}=e,a=m.value.createNode(i);t&&a.setData(r(t)),n.push(a)}}),m.value.resetCells(n),n.length&&x(200,10)},N=e=>({name:e.name,attributes:e.attributes.map(e=>`${ut(e.visibility)} ${e.name}: ${e.type}`),methods:e.methods.map(e=>`${ut(e.visibility)} ${e.name}(): ${e.returnType}`)}),P=()=>{if(o.readonly||!m.value)return;let e={id:`class_${Date.now()}`,...r(dt)},t={id:e.id,shape:`class`,x:e.position.x,y:e.position.y,...N(e),data:e};m.value.addCell(m.value.createNode(t)),z()},F=e=>{o.readonly||(k.value=r(e),E.value=!0)},I=()=>{if(o.readonly||!m.value||!k.value)return;let e=m.value.getCellById(k.value.id);e&&(e.setData(r(k.value)),e.prop(N(k.value))),E.value=!1,z()},L=()=>{o.readonly||!m.value||!k.value||(m.value.getCellById(k.value.id)?.remove(),E.value=!1,z())},R=()=>({classes:m.value?.getNodes().map(e=>({...r(e.getData()),position:e.getPosition()}))||[],relations:m.value?.getEdges().map(e=>{let t=e.getData();return{id:e.id,type:e.shape===`extends`?`inheritance`:e.shape===`implement`?`implementation`:e.shape,source:e.getSourceCellId()||``,target:e.getTargetCellId()||``,name:t?.name,multiplicity:t?.multiplicity}})||[]}),z=()=>{o.readonly||f(`data-change`,R())},B=e=>{M([...e.classes.map(e=>({id:e.id,shape:`class`,x:e.position?.x??50,y:e.position?.y??50,...N(e),data:e})),...e.relations.map(e=>({id:e.id,shape:e.type===`inheritance`?`extends`:e.type===`implementation`?`implement`:e.type,source:e.source,target:e.target,data:{name:e.name,multiplicity:e.multiplicity}}))])};return D(m,e=>{if(!(e instanceof G))return;j(),se(e,()=>o.readonly),w(),e.on(`node:dblclick`,({node:e})=>{!o.readonly&&e.getData()&&F(e.getData())}),e.on(`node:moved`,z),f(`ready`,e);let t=[...ct.map(e=>({id:e.id,shape:`class`,x:e.x,y:e.y,...N(e),data:{id:e.id,name:e.name,attributes:e.attributes,methods:e.methods,position:{x:e.x,y:e.y}}})),...lt];o.data?B(o.data):M(t)},{immediate:!0}),D(()=>o.data,e=>{m.value&&e&&B(e)},{deep:!0}),D(()=>o.readonly,e=>{e&&(E.value=!1,k.value=void 0)},{flush:`sync`}),ee(()=>{h({interacting:()=>!o.readonly,connecting:{...at,validateMagnet:()=>!o.readonly,validateEdge:()=>!o.readonly,createEdge:()=>m.value.createEdge(st),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>!o.readonly&&e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`},highlighting:ot})}),n({getGraph:()=>m.value,getData:R,addClass:P,centerContent:g,zoomToFit:v}),(n,r)=>(y(),c(`div`,ft,[e.showToolbar?(y(),c(`div`,pt,[d(T(W),null,{default:O(()=>[d(T(A),{onClick:P,disabled:e.readonly,type:`primary`,size:`small`},{icon:O(()=>[d(t,{name:`mdi:plus-box`,size:16})]),default:O(()=>[r[3]||=u(` 添加类 `,-1)]),_:1},8,[`disabled`]),d(T(A),{onClick:T(g),size:`small`},{icon:O(()=>[d(t,{name:`mdi:image-filter-center-focus`,size:16})]),default:O(()=>[r[4]||=u(` 居中 `,-1)]),_:1},8,[`onClick`]),d(T(A),{onClick:T(v),size:`small`},{icon:O(()=>[d(t,{name:`mdi:fit-to-screen`,size:16})]),default:O(()=>[r[5]||=u(` 适应 `,-1)]),_:1},8,[`onClick`]),d(T(te),{options:T(S),onSelect:r[0]||=e=>T(C)(e,R)},{default:O(()=>[d(T(A),{size:`small`},{icon:O(()=>[d(t,{name:`mdi:export`,size:16})]),default:O(()=>[r[6]||=u(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])]),_:1})])):s(`v-if`,!0),l(`div`,{ref_key:`containerRef`,ref:p,class:`graph-container`,style:_({width:o.width,height:o.height})},null,4),d(et,{show:E.value,"editing-class":k.value,"onUpdate:editingClass":r[1]||=e=>k.value=e,"onUpdate:show":r[2]||=e=>E.value=e,onSave:I,onDelete:L},null,8,[`show`,`editing-class`])]))}}),[[`__scopeId`,`data-v-90e76429`]]);const ht=e=>e===`task`?`activity`:e===`gateway`?`gateway`:`event`,gt=e=>{let t=e.data?.type;return t===`start`||t===`end`||t===`task`||t===`gateway`||t===`event`?t:e.shape===`activity`?`task`:e.shape===`gateway`?`gateway`:`event`},_t=e=>[...e.nodes.map(e=>{let t=ht(e.type);return{id:e.id,shape:t,x:e.position.x,y:e.position.y,width:t===`activity`?120:t===`gateway`?40:50,height:t===`activity`?60:t===`gateway`?40:50,label:e.name,data:{...e.properties,type:e.type}}}),...e.flows.map(e=>({id:e.id,shape:`bpmn-edge`,source:e.source,target:e.target,label:e.name,x:0,y:0,data:e.condition?{condition:e.condition}:void 0}))],vt=e=>({nodes:e.filter(e=>e.shape!==`bpmn-edge`).map(e=>{let t={...e.data};return delete t.type,{id:e.id,type:gt(e),name:e.label??``,position:{x:e.x,y:e.y},properties:t}}),flows:e.filter(e=>e.shape===`bpmn-edge`).map(e=>({id:e.id,source:e.source??``,target:e.target??``,name:e.label,condition:typeof e.data?.condition==`string`?e.data.condition:void 0}))}),yt={class:`c-antv-container`};var bt=n(f({name:`C_AntV`,__name:`index`,props:{type:{},data:{},width:{default:`100%`},height:{default:`600px`},readonly:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0},theme:{default:`light`}},emits:[`ready`,`data-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,s=b(),l={er:ge,bpmn:Ke,uml:mt},u=a(()=>l[r.type]),d=a(()=>{let e={width:r.width,height:r.height,readonly:r.readonly,showToolbar:r.showToolbar,theme:r.theme},t=r.type===`bpmn`&&r.data&&`nodes`in r.data?_t(r.data):r.data;return{...e,data:t}}),f=e=>{i(`ready`,e)},p=e=>{i(`data-change`,r.type===`bpmn`&&Array.isArray(e)?vt(e):e)};return t({getGraph:()=>s.value?.getGraph()??void 0,getData:()=>{let e=s.value?.getData();return r.type===`bpmn`&&Array.isArray(e)?vt(e):Array.isArray(e)?void 0:e}}),(e,t)=>(y(),c(`div`,yt,[(y(),o(S(u.value),m(d.value,{onReady:f,onDataChange:p,ref_key:`layoutRef`,ref:s}),null,16))]))}}),[[`__scopeId`,`data-v-f70bf9bd`]]);export{J as i,ve as n,$ as r,bt as t};
3
+ 飞翔`,x:762,y:608,attributes:[{name:`下蛋`,type:`boolean`,visibility:`public`}],methods:[]},{id:`qemu`,name:`气球`,x:981,y:608,attributes:[],methods:[]}],lt=[{id:`edge-1`,shape:`extends`,source:`bird`,target:`animal`},{id:`edge-2`,shape:`extends`,source:`mammal`,target:`animal`},{id:`edge-3`,shape:`extends`,source:`dog`,target:`mammal`},{id:`edge-4`,shape:`extends`,source:`enterprise`,target:`mammal`},{id:`edge-5`,shape:`extends`,source:`sparrow`,target:`bird`},{id:`edge-6`,shape:`implement`,source:`sparrow`,target:`interface-flying`},{id:`edge-7`,shape:`implement`,source:`enterprise`,target:`interface-flying`},{id:`edge-8`,shape:`association`,source:`bird`,target:`mammal`,label:`1:2`}],ut=e=>tt[e]||`+`,dt={name:`新类`,attributes:[{name:`attribute`,type:`string`,visibility:`private`}],methods:[{name:`method`,returnType:`void`,visibility:`public`}],position:{x:100,y:100}},ft={class:`uml-layout`},pt={key:0,class:`toolbar`};var mt=r(f({__name:`index`,props:{data:{},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},width:{default:`100%`},height:{default:`600px`},theme:{}},emits:[`ready`,`data-change`],setup(t,{expose:r,emit:i}){let o=t,f=i,p=b(),{graph:m,initGraph:h,centerContent:g,zoomToFit:v,scheduleZoomToFit:x}=J(p,a(()=>o.theme===`dark`)),{exportOptions:S,handleExport:C}=$(m,`uml-diagram`),{bindInteractions:w}=ve(m,{defaultColor:`#722ed1`,portPositions:[`top`,`right`,`bottom`,`left`],onDataChange:()=>z(),isReadonly:()=>o.readonly}),E=b(!1),k=b(),j=()=>{G.registerNode(`class`,{...it,propHooks(e){let{name:t,attributes:n,methods:r,...i}=e;if(!(t&&n&&r))return e;let a=0;return[{type:`name`,text:t},{type:`attrs`,text:n},{type:`methods`,text:r}].forEach(e=>{let t=Array.isArray(e.text)?e.text.length*12+16:32;K.setByPath(i,`attrs/${e.type}-text/text`,Array.isArray(e.text)?e.text.join(`
4
+ `):e.text),K.setByPath(i,`attrs/${e.type}-rect/height`,t),K.setByPath(i,`attrs/${e.type}-rect/transform`,`translate(0,${a})`),a+=t}),i.size={width:160,height:a},i}},!0),Object.entries(nt).forEach(([e,t])=>{G.registerEdge(e,{inherit:`edge`,attrs:{line:{strokeWidth:2,stroke:`#722ed1`,...t}}},!0)})},M=t=>{if(!m.value)return;let n=[`extends`,`composition`,`implement`,`dependency`,`aggregation`,`association`],r=[];t.forEach(t=>{if(n.includes(t.shape)){let n=m.value.createEdge(t);t.data&&n.setData(e(t.data)),r.push(n)}else{let{data:n,...i}=t,a=m.value.createNode(i);n&&a.setData(e(n)),r.push(a)}}),m.value.resetCells(r),r.length&&x(200,10)},N=e=>({name:e.name,attributes:e.attributes.map(e=>`${ut(e.visibility)} ${e.name}: ${e.type}`),methods:e.methods.map(e=>`${ut(e.visibility)} ${e.name}(): ${e.returnType}`)}),P=()=>{if(o.readonly||!m.value)return;let t={id:`class_${Date.now()}`,...e(dt)},n={id:t.id,shape:`class`,x:t.position.x,y:t.position.y,...N(t),data:t};m.value.addCell(m.value.createNode(n)),z()},F=t=>{o.readonly||(k.value=e(t),E.value=!0)},I=()=>{if(o.readonly||!m.value||!k.value)return;let t=m.value.getCellById(k.value.id);t&&(t.setData(e(k.value)),t.prop(N(k.value))),E.value=!1,z()},L=()=>{o.readonly||!m.value||!k.value||(m.value.getCellById(k.value.id)?.remove(),E.value=!1,z())},R=()=>({classes:m.value?.getNodes().map(t=>({...e(t.getData()),position:t.getPosition()}))||[],relations:m.value?.getEdges().map(e=>{let t=e.getData();return{id:e.id,type:e.shape===`extends`?`inheritance`:e.shape===`implement`?`implementation`:e.shape,source:e.getSourceCellId()||``,target:e.getTargetCellId()||``,name:t?.name,multiplicity:t?.multiplicity}})||[]}),z=()=>{o.readonly||f(`data-change`,R())},B=e=>{M([...e.classes.map(e=>({id:e.id,shape:`class`,x:e.position?.x??50,y:e.position?.y??50,...N(e),data:e})),...e.relations.map(e=>({id:e.id,shape:e.type===`inheritance`?`extends`:e.type===`implementation`?`implement`:e.type,source:e.source,target:e.target,data:{name:e.name,multiplicity:e.multiplicity}}))])};return D(m,e=>{if(!(e instanceof G))return;j(),se(e,()=>o.readonly),w(),e.on(`node:dblclick`,({node:e})=>{!o.readonly&&e.getData()&&F(e.getData())}),e.on(`node:moved`,z),f(`ready`,e);let t=[...ct.map(e=>({id:e.id,shape:`class`,x:e.x,y:e.y,...N(e),data:{id:e.id,name:e.name,attributes:e.attributes,methods:e.methods,position:{x:e.x,y:e.y}}})),...lt];o.data?B(o.data):M(t)},{immediate:!0}),D(()=>o.data,e=>{m.value&&e&&B(e)},{deep:!0}),D(()=>o.readonly,e=>{e&&(E.value=!1,k.value=void 0)},{flush:`sync`}),ee(()=>{h({interacting:()=>!o.readonly,connecting:{...at,validateMagnet:()=>!o.readonly,validateEdge:()=>!o.readonly,createEdge:()=>m.value.createEdge(st),validateConnection:({sourceView:e,targetView:t,sourceMagnet:n,targetMagnet:r})=>!o.readonly&&e!==t&&!!n&&!!r&&n.getAttribute(`magnet`)===`true`&&r.getAttribute(`magnet`)===`true`},highlighting:ot})}),r({getGraph:()=>m.value,getData:R,addClass:P,centerContent:g,zoomToFit:v}),(e,r)=>(y(),c(`div`,ft,[t.showToolbar?(y(),c(`div`,pt,[d(T(W),null,{default:O(()=>[d(T(A),{onClick:P,disabled:t.readonly,type:`primary`,size:`small`},{icon:O(()=>[d(n,{name:`mdi:plus-box`,size:16})]),default:O(()=>[r[3]||=u(` 添加类 `,-1)]),_:1},8,[`disabled`]),d(T(A),{onClick:T(g),size:`small`},{icon:O(()=>[d(n,{name:`mdi:image-filter-center-focus`,size:16})]),default:O(()=>[r[4]||=u(` 居中 `,-1)]),_:1},8,[`onClick`]),d(T(A),{onClick:T(v),size:`small`},{icon:O(()=>[d(n,{name:`mdi:fit-to-screen`,size:16})]),default:O(()=>[r[5]||=u(` 适应 `,-1)]),_:1},8,[`onClick`]),d(T(te),{options:T(S),onSelect:r[0]||=e=>T(C)(e,R)},{default:O(()=>[d(T(A),{size:`small`},{icon:O(()=>[d(n,{name:`mdi:export`,size:16})]),default:O(()=>[r[6]||=u(` 导出 `,-1)]),_:1})]),_:1},8,[`options`])]),_:1})])):s(`v-if`,!0),l(`div`,{ref_key:`containerRef`,ref:p,class:`graph-container`,style:_({width:o.width,height:o.height})},null,4),d(et,{show:E.value,"editing-class":k.value,"onUpdate:editingClass":r[1]||=e=>k.value=e,"onUpdate:show":r[2]||=e=>E.value=e,onSave:I,onDelete:L},null,8,[`show`,`editing-class`])]))}}),[[`__scopeId`,`data-v-90e76429`]]);const ht=e=>e===`task`?`activity`:e===`gateway`?`gateway`:`event`,gt=e=>{let t=e.data?.type;return t===`start`||t===`end`||t===`task`||t===`gateway`||t===`event`?t:e.shape===`activity`?`task`:e.shape===`gateway`?`gateway`:`event`},_t=e=>[...e.nodes.map(e=>{let t=ht(e.type);return{id:e.id,shape:t,x:e.position.x,y:e.position.y,width:t===`activity`?120:t===`gateway`?40:50,height:t===`activity`?60:t===`gateway`?40:50,label:e.name,data:{...e.properties,type:e.type}}}),...e.flows.map(e=>({id:e.id,shape:`bpmn-edge`,source:e.source,target:e.target,label:e.name,x:0,y:0,data:e.condition?{condition:e.condition}:void 0}))],vt=e=>({nodes:e.filter(e=>e.shape!==`bpmn-edge`).map(e=>{let t={...e.data};return delete t.type,{id:e.id,type:gt(e),name:e.label??``,position:{x:e.x,y:e.y},properties:t}}),flows:e.filter(e=>e.shape===`bpmn-edge`).map(e=>({id:e.id,source:e.source??``,target:e.target??``,name:e.label,condition:typeof e.data?.condition==`string`?e.data.condition:void 0}))}),yt={class:`c-antv-container`};var bt=r(f({name:`C_AntV`,__name:`index`,props:{type:{},data:{},width:{default:`100%`},height:{default:`600px`},readonly:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0},theme:{default:`light`}},emits:[`ready`,`data-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,s=b(),l={er:ge,bpmn:Ke,uml:mt},u=a(()=>l[r.type]),d=a(()=>{let e={width:r.width,height:r.height,readonly:r.readonly,showToolbar:r.showToolbar,theme:r.theme},t=r.type===`bpmn`&&r.data&&`nodes`in r.data?_t(r.data):r.data;return{...e,data:t}}),f=e=>{i(`ready`,e)},p=e=>{i(`data-change`,r.type===`bpmn`&&Array.isArray(e)?vt(e):e)};return t({getGraph:()=>s.value?.getGraph()??void 0,getData:()=>{let e=s.value?.getData();return r.type===`bpmn`&&Array.isArray(e)?vt(e):Array.isArray(e)?void 0:e}}),(e,t)=>(y(),c(`div`,yt,[(y(),o(S(u.value),m(d.value,{onReady:f,onDataChange:p,ref_key:`layoutRef`,ref:s}),null,16))]))}}),[[`__scopeId`,`data-v-f70bf9bd`]]);export{J as i,ve as n,$ as r,bt as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./C_Icon2.cjs`),require(`./C_Loading2.cjs`),require(`./C_ActionBar2.cjs`),require(`./C_Table2.cjs`);const e=require(`./C_BatchResult2.cjs`);exports.C_BatchResult=e.t;
@@ -0,0 +1,32 @@
1
+ @import "./C_Table.base.css";
2
+ .c-batch-result[data-v-0a4af1f2] {
3
+ min-width: 0;
4
+ }
5
+ .c-batch-result__header[data-v-0a4af1f2] {
6
+ display: flex;
7
+ gap: 8px 16px;
8
+ align-items: baseline;
9
+ flex-wrap: wrap;
10
+ margin-bottom: 12px;
11
+ }
12
+ .c-batch-result__header span[data-v-0a4af1f2] {
13
+ font-size: 12px;
14
+ opacity: 0.72;
15
+ }
16
+ .c-batch-result__toolbar[data-v-0a4af1f2] {
17
+ display: flex;
18
+ gap: 12px;
19
+ align-items: center;
20
+ justify-content: space-between;
21
+ margin-bottom: 12px;
22
+ }
23
+ .c-batch-result__toolbar[data-v-0a4af1f2] .n-select {
24
+ width: min(180px, 50%);
25
+ }
26
+ .c-batch-result[data-v-0a4af1f2] .n-pagination {
27
+ justify-content: flex-end;
28
+ margin-top: 12px;
29
+ }
30
+
31
+ /* layer: default */
32
+ .filter[data-v-0a4af1f2]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
@@ -0,0 +1,2 @@
1
+ import { n as BatchResultEmits, r as BatchResultProps, t as _default } from "./index4.vue.cjs";
2
+ export { type BatchResultEmits, type BatchResultProps, _default as C_BatchResult };
@@ -0,0 +1,2 @@
1
+ import { n as BatchResultEmits, r as BatchResultProps, t as _default } from "./index4.vue.js";
2
+ export { type BatchResultEmits, type BatchResultProps, _default as C_BatchResult };
@@ -0,0 +1 @@
1
+ import"./C_Icon2.js";import"./C_Loading2.js";import"./C_ActionBar2.js";import"./C_Table2.js";import{t as e}from"./C_BatchResult2.js";export{e as C_BatchResult};
@@ -0,0 +1 @@
1
+ require(`./chunk.cjs`);const e=require(`./batchPatch.cjs`),t=require(`./useComponentLocale.cjs`),n=require(`./export-helper.cjs`),r=require(`./C_Table2.cjs`);let i=require(`vue`),a=require(`naive-ui`);const o=[`success`,`failure`,`conflict`,`skipped`];function s(n){let{t:r}=t.t(()=>n.locale),a=(0,i.shallowRef)(`all`),s=(0,i.shallowRef)(1),c=(0,i.computed)(()=>Number.isFinite(n.pageSize)&&n.pageSize>0?Math.max(1,Math.trunc(n.pageSize)):20),l=(0,i.computed)(()=>[...new Map(n.results.map(e=>[e.key,e])).values()]),u=(0,i.computed)(()=>{let e={all:l.value.length,success:0,failure:0,conflict:0,skipped:0};for(let t of l.value)e[t.status]++;return e}),d=(0,i.computed)(()=>[{value:`all`,label:`${r(`batch.all`)} ${u.value.all}`},...o.map(e=>({value:e,label:`${r(`batch.${e}`)} ${u.value[e]}`}))]),f=(0,i.computed)(()=>a.value===`all`?l.value:l.value.filter(e=>e.status===a.value)),p=(0,i.computed)(()=>f.value.slice((s.value-1)*c.value,s.value*c.value)),m=(0,i.computed)(()=>e.n(l.value));return(0,i.watch)([a,c],()=>{s.value=1}),(0,i.watch)(()=>f.value.length,e=>{s.value=Math.min(s.value,Math.max(1,Math.ceil(e/c.value)))}),{filter:a,page:s,pageSize:c,counts:u,options:d,filtered:f,rows:p,retryKeys:m,t:r}}const c=[`aria-label`],l={class:`c-batch-result__header`},u={role:`status`},d={class:`c-batch-result__toolbar`},f=(0,i.defineComponent)({name:`C_BatchResult`,__name:`index`,props:{results:{},title:{},pageSize:{default:20},locale:{}},emits:[`retry`],setup(e,{emit:t}){let n=e,o=t,{filter:f,page:p,pageSize:m,counts:h,options:g,filtered:_,rows:v,retryKeys:y,t:b}=s(n),x=(0,i.computed)(()=>n.title??b(`batch.title`)),S={success:`success`,failure:`error`,conflict:`warning`,skipped:`default`},C=(0,i.computed)(()=>[{key:`key`,title:b(`batch.id`),minWidth:130},{key:`status`,title:b(`batch.status`),width:90,render:e=>(0,i.h)(a.NTag,{size:`small`,type:S[e.status]},{default:()=>b(`batch.${e.status}`)})},{key:`message`,title:b(`batch.message`),minWidth:220},{key:`retryable`,title:b(`batch.retryColumn`),width:90,render:e=>e.retryable&&(e.status===`failure`||e.status===`conflict`)?b(`batch.retryable`):`—`}]),w=(0,i.computed)(()=>({locale:n.locale,density:`compact`,pagination:!1,toolbar:{show:!1},display:{singleLine:!1},virtualScroll:{enabled:!0,maxHeight:420}}));return(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`section`,{class:`c-batch-result`,"aria-label":x.value},[(0,i.createElementVNode)(`header`,l,[(0,i.createElementVNode)(`strong`,null,(0,i.toDisplayString)(x.value),1),(0,i.createElementVNode)(`span`,u,(0,i.toDisplayString)((0,i.unref)(b)(`batch.summary`,{total:(0,i.unref)(h).all,success:(0,i.unref)(h).success,failure:(0,i.unref)(h).failure,conflict:(0,i.unref)(h).conflict,skipped:(0,i.unref)(h).skipped})),1)]),(0,i.createElementVNode)(`div`,d,[(0,i.createVNode)((0,i.unref)(a.NSelect),{value:(0,i.unref)(f),"onUpdate:value":t[0]||=e=>(0,i.isRef)(f)?f.value=e:null,options:(0,i.unref)(g),size:`small`,"aria-label":(0,i.unref)(b)(`batch.filterLabel`)},null,8,[`value`,`options`,`aria-label`]),(0,i.createVNode)((0,i.unref)(a.NButton),{size:`small`,disabled:!(0,i.unref)(y).length,onClick:t[1]||=e=>o(`retry`,[...(0,i.unref)(y)])},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)((0,i.unref)(b)(`batch.retry`,{count:(0,i.unref)(y).length})),1)]),_:1},8,[`disabled`])]),(0,i.createVNode)(r.t,{data:(0,i.unref)(v),columns:C.value,"row-key":`key`,config:w.value},null,8,[`data`,`columns`,`config`]),(0,i.unref)(_).length>(0,i.unref)(m)?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.NPagination),{key:0,page:(0,i.unref)(p),"onUpdate:page":t[2]||=e=>(0,i.isRef)(p)?p.value=e:null,"page-size":(0,i.unref)(m),"item-count":(0,i.unref)(_).length,size:`small`},null,8,[`page`,`page-size`,`item-count`])):(0,i.createCommentVNode)(`v-if`,!0)],8,c))}});var p=n.t(f,[[`__scopeId`,`data-v-0a4af1f2`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
@@ -0,0 +1 @@
1
+ import{n as e}from"./batchPatch.js";import{t}from"./useComponentLocale.js";import{t as n}from"./export-helper.js";import{t as r}from"./C_Table2.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,h as f,isRef as p,openBlock as m,shallowRef as h,toDisplayString as g,unref as _,watch as v,withCtx as y}from"vue";import{NButton as b,NPagination as x,NSelect as S,NTag as C}from"naive-ui";const w=[`success`,`failure`,`conflict`,`skipped`];function T(n){let{t:r}=t(()=>n.locale),a=h(`all`),o=h(1),s=i(()=>Number.isFinite(n.pageSize)&&n.pageSize>0?Math.max(1,Math.trunc(n.pageSize)):20),c=i(()=>[...new Map(n.results.map(e=>[e.key,e])).values()]),l=i(()=>{let e={all:c.value.length,success:0,failure:0,conflict:0,skipped:0};for(let t of c.value)e[t.status]++;return e}),u=i(()=>[{value:`all`,label:`${r(`batch.all`)} ${l.value.all}`},...w.map(e=>({value:e,label:`${r(`batch.${e}`)} ${l.value[e]}`}))]),d=i(()=>a.value===`all`?c.value:c.value.filter(e=>e.status===a.value)),f=i(()=>d.value.slice((o.value-1)*s.value,o.value*s.value)),p=i(()=>e(c.value));return v([a,s],()=>{o.value=1}),v(()=>d.value.length,e=>{o.value=Math.min(o.value,Math.max(1,Math.ceil(e/s.value)))}),{filter:a,page:o,pageSize:s,counts:l,options:u,filtered:d,rows:f,retryKeys:p,t:r}}const E=[`aria-label`],D={class:`c-batch-result__header`},O={role:`status`},k={class:`c-batch-result__toolbar`};var A=n(d({name:`C_BatchResult`,__name:`index`,props:{results:{},title:{},pageSize:{default:20},locale:{}},emits:[`retry`],setup(e,{emit:t}){let n=e,d=t,{filter:h,page:v,pageSize:w,counts:A,options:j,filtered:M,rows:N,retryKeys:P,t:F}=T(n),I=i(()=>n.title??F(`batch.title`)),L={success:`success`,failure:`error`,conflict:`warning`,skipped:`default`},R=i(()=>[{key:`key`,title:F(`batch.id`),minWidth:130},{key:`status`,title:F(`batch.status`),width:90,render:e=>f(C,{size:`small`,type:L[e.status]},{default:()=>F(`batch.${e.status}`)})},{key:`message`,title:F(`batch.message`),minWidth:220},{key:`retryable`,title:F(`batch.retryColumn`),width:90,render:e=>e.retryable&&(e.status===`failure`||e.status===`conflict`)?F(`batch.retryable`):`—`}]),z=i(()=>({locale:n.locale,density:`compact`,pagination:!1,toolbar:{show:!1},display:{singleLine:!1},virtualScroll:{enabled:!0,maxHeight:420}}));return(e,t)=>(m(),s(`section`,{class:`c-batch-result`,"aria-label":I.value},[c(`header`,D,[c(`strong`,null,g(I.value),1),c(`span`,O,g(_(F)(`batch.summary`,{total:_(A).all,success:_(A).success,failure:_(A).failure,conflict:_(A).conflict,skipped:_(A).skipped})),1)]),c(`div`,k,[u(_(S),{value:_(h),"onUpdate:value":t[0]||=e=>p(h)?h.value=e:null,options:_(j),size:`small`,"aria-label":_(F)(`batch.filterLabel`)},null,8,[`value`,`options`,`aria-label`]),u(_(b),{size:`small`,disabled:!_(P).length,onClick:t[1]||=e=>d(`retry`,[..._(P)])},{default:y(()=>[l(g(_(F)(`batch.retry`,{count:_(P).length})),1)]),_:1},8,[`disabled`])]),u(r,{data:_(N),columns:R.value,"row-key":`key`,config:z.value},null,8,[`data`,`columns`,`config`]),_(M).length>_(w)?(m(),a(_(x),{key:0,page:_(v),"onUpdate:page":t[2]||=e=>p(v)?v.value=e:null,"page-size":_(w),"item-count":_(M).length,size:`small`},null,8,[`page`,`page-size`,`item-count`])):o(`v-if`,!0)],8,E))}}),[[`__scopeId`,`data-v-0a4af1f2`]]);export{A as t};
@@ -1,3 +1,3 @@
1
- import { t as BreadcrumbItem } from "./types.cjs";
2
- import { n as BreadcrumbMenuItem, t as _default } from "./index5.vue.cjs";
1
+ import { t as BreadcrumbItem } from "./types2.cjs";
2
+ import { n as BreadcrumbMenuItem, t as _default } from "./index6.vue.cjs";
3
3
  export { type BreadcrumbItem, type BreadcrumbMenuItem, _default as C_Breadcrumb };
@@ -1,3 +1,3 @@
1
1
  import { i as BreadcrumbItem } from "./public.js";
2
- import { n as BreadcrumbMenuItem, t as _default } from "./index4.vue.js";
2
+ import { n as BreadcrumbMenuItem, t as _default } from "./index5.vue.js";
3
3
  export { type BreadcrumbItem, type BreadcrumbMenuItem, _default as C_Breadcrumb };
@@ -1,2 +1,2 @@
1
- import { n as CascadeItem, r as CascadeValue, t as _default } from "./index6.vue.cjs";
1
+ import { n as CascadeItem, r as CascadeValue, t as _default } from "./index7.vue.cjs";
2
2
  export { _default as C_Cascade, type CascadeItem, type CascadeValue };
@@ -1,2 +1,2 @@
1
- import { n as CascadeItem, r as CascadeValue, t as _default } from "./index5.vue.js";
1
+ import { n as CascadeItem, r as CascadeValue, t as _default } from "./index6.vue.js";
2
2
  export { _default as C_Cascade, type CascadeItem, type CascadeValue };
package/dist/C_Chat.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as DEFAULT_CHAT_PROPS, c as MessageType, i as ChatProps, n as ChatContact, o as MessageSender, r as ChatMessage, s as MessageStatus, t as _default } from "./index7.vue.cjs";
1
+ import { a as DEFAULT_CHAT_PROPS, c as MessageType, i as ChatProps, n as ChatContact, o as MessageSender, r as ChatMessage, s as MessageStatus, t as _default } from "./index8.vue.cjs";
2
2
  export { _default as C_Chat, type ChatContact, type ChatMessage, type ChatProps, DEFAULT_CHAT_PROPS, type MessageSender, type MessageStatus, type MessageType };
package/dist/C_Chat.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as DEFAULT_CHAT_PROPS, c as MessageType, i as ChatProps, n as ChatContact, o as MessageSender, r as ChatMessage, s as MessageStatus, t as _default } from "./index6.vue.js";
1
+ import { a as DEFAULT_CHAT_PROPS, c as MessageType, i as ChatProps, n as ChatContact, o as MessageSender, r as ChatMessage, s as MessageStatus, t as _default } from "./index7.vue.js";
2
2
  export { _default as C_Chat, type ChatContact, type ChatMessage, type ChatProps, DEFAULT_CHAT_PROPS, type MessageSender, type MessageStatus, type MessageType };
package/dist/C_City.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./index8.vue.cjs";
1
+ import { t as _default } from "./index9.vue.cjs";
2
2
  export { _default as C_City };
package/dist/C_City.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./index7.vue.js";
1
+ import { t as _default } from "./index8.vue.js";
2
2
  export { _default as C_City };
package/dist/C_Code.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./index9.vue.cjs";
1
+ import { t as _default } from "./index10.vue.cjs";
2
2
  export { _default as C_Code };
package/dist/C_Code.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./index8.vue.js";
1
+ import { t as _default } from "./index9.vue.js";
2
2
  export { _default as C_Code };
@@ -1,2 +1,2 @@
1
- import { i as DEFAULT_CONTEXT_MENU_PROPS, n as ContextMenuItem, r as ContextMenuProps, t as _default } from "./index10.vue.cjs";
1
+ import { i as DEFAULT_CONTEXT_MENU_PROPS, n as ContextMenuItem, r as ContextMenuProps, t as _default } from "./index11.vue.cjs";
2
2
  export { _default as C_ContextMenu, type ContextMenuItem, type ContextMenuProps, DEFAULT_CONTEXT_MENU_PROPS };
@@ -1,2 +1,2 @@
1
- import { i as DEFAULT_CONTEXT_MENU_PROPS, n as ContextMenuItem, r as ContextMenuProps, t as _default } from "./index9.vue.js";
1
+ import { i as DEFAULT_CONTEXT_MENU_PROPS, n as ContextMenuItem, r as ContextMenuProps, t as _default } from "./index10.vue.js";
2
2
  export { _default as C_ContextMenu, type ContextMenuItem, type ContextMenuProps, DEFAULT_CONTEXT_MENU_PROPS };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./C_Icon2.cjs`),require(`./C_Loading2.cjs`),require(`./C_ActionBar2.cjs`),require(`./C_Table2.cjs`);const e=require(`./C_DataPicker2.cjs`);exports.C_DataPicker=e.t;
@@ -0,0 +1,55 @@
1
+ @import "./C_Table.base.css";
2
+ .c-data-picker[data-v-30310910] {
3
+ width: 100%;
4
+ min-width: 0;
5
+ }
6
+ .c-data-picker__trigger[data-v-30310910], .c-data-picker__search[data-v-30310910], .c-data-picker__actions[data-v-30310910], .c-data-picker__selection[data-v-30310910] {
7
+ display: flex;
8
+ align-items: center;
9
+ gap: 8px;
10
+ }
11
+ .c-data-picker__open[data-v-30310910] {
12
+ flex: 1;
13
+ min-width: 0;
14
+ }
15
+ .c-data-picker__open[data-v-30310910] .n-button__content {
16
+ display: flex;
17
+ gap: 12px;
18
+ width: 100%;
19
+ justify-content: space-between;
20
+ overflow: hidden;
21
+ }
22
+ .c-data-picker__open span[data-v-30310910]:first-child {
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ white-space: nowrap;
26
+ }
27
+ .c-data-picker__placeholder[data-v-30310910] {
28
+ opacity: 0.55;
29
+ }
30
+ .c-data-picker__search[data-v-30310910] {
31
+ margin-bottom: 12px;
32
+ }
33
+ .c-data-picker__selection[data-v-30310910] {
34
+ flex-wrap: wrap;
35
+ margin-top: 12px;
36
+ font-size: 12px;
37
+ }
38
+ .c-data-picker__selection[data-v-30310910] .n-tag {
39
+ max-width: 100%;
40
+ }
41
+ .c-data-picker__selection[data-v-30310910] .n-tag__content {
42
+ overflow: hidden;
43
+ text-overflow: ellipsis;
44
+ white-space: nowrap;
45
+ }
46
+ .c-data-picker__actions[data-v-30310910] {
47
+ justify-content: flex-end;
48
+ }
49
+ .c-data-picker__error[data-v-30310910], .c-data-picker__label-error[data-v-30310910] {
50
+ font-size: 12px;
51
+ color: var(--n-text-color);
52
+ }
53
+
54
+ /* layer: default */
55
+ .table[data-v-30310910]{display:table;}
@@ -0,0 +1,2 @@
1
+ import { a as DataPickerValue, i as DataPickerSource, n as DataPickerEmits, r as DataPickerProps, t as _default } from "./index12.vue.cjs";
2
+ export { _default as C_DataPicker, type DataPickerEmits, type DataPickerProps, type DataPickerSource, type DataPickerValue };
@@ -0,0 +1,5 @@
1
+ import "./types.js";
2
+ import "./useFormConfig.js";
3
+ import "./config2.js";
4
+ import { a as DataPickerValue, i as DataPickerSource, n as DataPickerEmits, r as DataPickerProps, t as _default } from "./index11.vue.js";
5
+ export { _default as C_DataPicker, type DataPickerEmits, type DataPickerProps, type DataPickerSource, type DataPickerValue };
@@ -0,0 +1 @@
1
+ import"./C_Icon2.js";import"./C_Loading2.js";import"./C_ActionBar2.js";import"./C_Table2.js";import{t as e}from"./C_DataPicker2.js";export{e as C_DataPicker};
@@ -0,0 +1 @@
1
+ require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./useDataResource.cjs`),n=require(`./useComponentLocale.cjs`),r=require(`./C_Icon2.cjs`),i=require(`./export-helper.cjs`),a=require(`./useFormConfig.cjs`),o=require(`./C_Table2.cjs`);let s=require(`vue`),c=require(`naive-ui`);function l(e){return e==null?[]:[...new Set(Array.isArray(e)?e:[e])]}function u(e){return typeof e==`string`||typeof e==`number`&&Number.isFinite(e)}function d(e,t){let n=typeof e.rowKey==`function`?e.rowKey(t):t[e.rowKey];if(!u(n))throw TypeError(`[C_DataPicker] rowKey 必须为字符串或有限数值`);return n}function f(e,t,n){if(!Array.isArray(t.rows)||!Number.isSafeInteger(t.total)||t.total<0)throw TypeError(`[C_DataPicker] request 必须返回 rows 数组和非负安全整数 total`);if(t.rows.length>n||t.rows.length>t.total)throw TypeError(`[C_DataPicker] rows 超过请求的分页或 total 范围`);if(o.h(t.rows,t=>d(e,t)).length)throw TypeError(`[C_DataPicker] rowKey 不得缺失或重复`);let r=new Set;for(let n of t.rows){let t=e.value(n);if(!u(t)||r.has(t))throw TypeError(`[C_DataPicker] 业务值必须为唯一的字符串或有限数值`);r.add(t)}}function p(e,n,r,i){let a=(0,s.shallowRef)(!1),o=(0,s.shallowRef)({page:1,search:``}),c=(0,s.computed)({get:()=>o.value.page,set:e=>{o.value={...o.value,page:e}}}),u=(0,s.shallowRef)(``),p=(0,s.computed)(()=>o.value.search),m=(0,s.shallowRef)(0),h=(0,s.shallowRef)(0),g=(0,s.shallowRef)([]),_=(0,s.shallowRef)(new Map),v=(0,s.shallowRef)(new Map),y=(0,s.computed)(()=>{let t=l(e.modelValue);return e.multiple?t:t.slice(0,1)}),b=(0,s.computed)(()=>Number.isFinite(e.pageSize)&&e.pageSize>0?Math.max(1,Math.trunc(e.pageSize)):20),x=(0,s.computed)(()=>e.disabled||e.readonly),S=!1,C=[];(0,s.watch)(()=>[e.source,e.source.request,e.source.resolve,e.source.rowKey,e.source.value],()=>{P(),v.value=new Map,m.value++},{flush:`sync`});let w=t.t({key:()=>a.value?JSON.stringify([m.value,h.value,c.value,b.value,p.value]):null,load:async({signal:t})=>{let{source:n}=e,r={page:c.value,pageSize:b.value,search:p.value,signal:t},i=await n.request(r);return f(n,i,r.pageSize),{rows:[...i.rows],total:i.total}},isEmpty:e=>e.rows.length===0}),T=t.t({key:()=>e.source.resolve&&y.value.length?JSON.stringify([m.value,y.value]):null,load:async({signal:t})=>{let{source:n}=e,r=[...y.value],i=await n.resolve(r,t);if(!Array.isArray(i))throw TypeError(`[C_DataPicker] resolve 必须返回行数组`);let a=new Set(r);return i.filter(e=>a.has(n.value(e)))}}),E=(0,s.computed)(()=>w.data.value?.rows??[]),D=(0,s.computed)(()=>w.data.value?.total??0),O=(0,s.computed)(()=>{let t=new Map(v.value);for(let n of T.data.value??[])t.set(e.source.value(n),n);return t}),k=(0,s.computed)(()=>y.value.map(t=>{let n=O.value.get(t);return n?e.source.label(n):String(t)}).join(`、`)),A=(0,s.computed)(()=>g.value.length),j=(0,s.computed)(()=>g.value.slice(0,30).map(t=>({value:t,label:_.value.has(t)?e.source.label(_.value.get(t)):String(t)}))),M=(0,s.computed)(()=>[{type:`selection`,multiple:e.multiple},...e.columns.filter(e=>e.type!==`selection`)]),N=(0,s.computed)(()=>({density:i(),locale:e.locale,toolbar:{show:!1},pagination:!1,selection:{enabled:!0,maxSelection:e.multiple?void 0:1},virtualScroll:{enabled:!0,maxHeight:360}}));function P(){a.value=!1,g.value=[],_.value=new Map}(0,s.onDeactivated)(P);function F(){x.value||a.value||(g.value=[...y.value],_.value=new Map(O.value),o.value={page:1,search:``},u.value=``,h.value++,a.value=!0)}function I(){if(x.value||!a.value)return;let t=[...g.value],r=t.flatMap(e=>_.value.has(e)?[_.value.get(e)]:[]);v.value=new Map(r.map(t=>[e.source.value(t),t])),P(),n(`update:modelValue`,e.multiple?t:t[0]??null),n(`select`,r)}function L(){x.value||!e.clearable||(n(`update:modelValue`,e.multiple?[]:null),n(`select`,[]))}function R(t,n){if(S||!a.value||C!==E.value)return;let r=new Set(E.value.map(t=>e.source.value(t))),i=e.multiple?g.value.filter(e=>!r.has(e)):[],o=e.multiple?n:n.slice(-1),s=new Map(_.value);for(let t of o)s.set(e.source.value(t),t);_.value=s,g.value=[...i,...o.map(t=>e.source.value(t))]}function z(e){g.value=g.value.filter(t=>t!==e)}function B(t){return d(e.source,t)}function V(){if(!(!a.value||!r.value)){S=!0;try{C=E.value;let t=new Map(_.value);r.value.clearSelection();for(let n of E.value)g.value.includes(e.source.value(n))&&(t.set(e.source.value(n),n),r.value.selectRow(B(n)));_.value=t}finally{S=!1}}}function H(){let e=p.value!==u.value||c.value!==1;o.value={page:1,search:u.value},e||w.reload()}return(0,s.watch)([E,g],()=>{(0,s.nextTick)(V)},{flush:`post`}),(0,s.watch)(()=>[e.modelValue,e.multiple,e.disabled,e.readonly],P,{deep:!0,flush:`sync`}),{opened:a,open:F,close:P,confirm:I,clear:L,page:c,pageSize:b,searchDraft:u,query:H,list:w,labels:T,rows:E,total:D,display:k,selected:j,selectedCount:A,columns:M,tableConfig:N,selectPage:R,remove:z}}const m={class:`c-data-picker`},h={class:`c-data-picker__trigger`},g={key:0,class:`c-data-picker__label-error`,role:`status`},_={key:0,class:`c-data-picker__error`,role:`alert`},v={class:`c-data-picker__selection`,"aria-live":`polite`},y={key:0},b={class:`c-data-picker__actions`},x=(0,s.defineComponent)({name:`C_DataPicker`,__name:`index`,props:{source:{},columns:{},modelValue:{},multiple:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean},clearable:{type:Boolean},title:{},placeholder:{},density:{},locale:{},pageSize:{default:20}},emits:[`update:modelValue`,`select`],setup(t,{expose:i,emit:l}){let u=t,d=l,f=(0,s.shallowRef)(null),x=a.o(),S=(0,s.computed)(()=>u.density??x.density??`compact`),C=(0,s.computed)(()=>e.t(S.value)),{t:w}=n.t(()=>u.locale),T=(0,s.computed)(()=>u.title??w(`picker.title`)),E=(0,s.computed)(()=>u.placeholder??w(`picker.placeholder`)),{opened:D,open:O,close:k,confirm:A,clear:j,page:M,pageSize:N,searchDraft:P,query:F,list:I,labels:L,rows:R,total:z,display:B,selected:V,selectedCount:H,columns:U,tableConfig:W,selectPage:G,remove:K}=p(u,d,f,()=>S.value);return i({open:O,close:k}),(e,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,m,[(0,s.createElementVNode)(`div`,h,[(0,s.createVNode)((0,s.unref)(c.NButton),{class:`c-data-picker__open`,size:C.value.size,disabled:t.disabled,"aria-readonly":t.readonly,title:(0,s.unref)(B),onClick:(0,s.unref)(O)},{default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`span`,{class:(0,s.normalizeClass)({"c-data-picker__placeholder":!(0,s.unref)(B)})},(0,s.toDisplayString)((0,s.unref)(B)||E.value),3),(0,s.createVNode)(r.t,{name:`mdi:magnify`,size:15,"aria-hidden":`true`})]),_:1},8,[`size`,`disabled`,`aria-readonly`,`title`,`onClick`]),t.clearable&&t.modelValue!=null&&(!Array.isArray(t.modelValue)||t.modelValue.length)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NButton),{key:0,class:`c-data-picker__clear`,size:C.value.size,disabled:t.disabled||t.readonly,"aria-label":(0,s.unref)(w)(`picker.clear`),onClick:(0,s.unref)(j)},{default:(0,s.withCtx)(()=>[...n[4]||=[(0,s.createTextVNode)(`×`,-1)]]),_:1},8,[`size`,`disabled`,`aria-label`,`onClick`])):(0,s.createCommentVNode)(`v-if`,!0)]),(0,s.unref)(L).status.value===`error`?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,g,[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(w)(`picker.labelFailed`))+` `,1),(0,s.createVNode)((0,s.unref)(c.NButton),{text:``,size:`tiny`,onClick:(0,s.unref)(L).reload},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(w)(`common.retry`)),1)]),_:1},8,[`onClick`])])):(0,s.createCommentVNode)(`v-if`,!0),(0,s.createVNode)((0,s.unref)(c.NModal),{show:(0,s.unref)(D),preset:`card`,class:`c-data-picker__modal`,title:T.value,style:{width:`min(960px, calc(100vw - 24px))`},"onUpdate:show":n[3]||=e=>!e&&(0,s.unref)(k)()},{action:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,b,[(0,s.createVNode)((0,s.unref)(c.NButton),{size:C.value.size,onClick:(0,s.unref)(k)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(w)(`common.cancel`)),1)]),_:1},8,[`size`,`onClick`]),(0,s.createVNode)((0,s.unref)(c.NButton),{type:`primary`,size:C.value.size,disabled:t.disabled||t.readonly,onClick:(0,s.unref)(A)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(w)(`common.confirm`)),1)]),_:1},8,[`size`,`disabled`,`onClick`])])]),default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`form`,{class:`c-data-picker__search`,onSubmit:n[1]||=(0,s.withModifiers)((...e)=>(0,s.unref)(F)&&(0,s.unref)(F)(...e),[`prevent`])},[(0,s.createVNode)((0,s.unref)(c.NInput),{value:(0,s.unref)(P),"onUpdate:value":n[0]||=e=>(0,s.isRef)(P)?P.value=e:null,size:C.value.size,placeholder:(0,s.unref)(w)(`picker.searchPlaceholder`),"input-props":{"aria-label":(0,s.unref)(w)(`picker.searchLabel`)},clearable:``},null,8,[`value`,`size`,`placeholder`,`input-props`]),(0,s.createVNode)((0,s.unref)(c.NButton),{"attr-type":`submit`,size:C.value.size,loading:(0,s.unref)(I).loading.value,type:`primary`},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(w)(`picker.search`)),1)]),_:1},8,[`size`,`loading`])],32),(0,s.unref)(I).status.value===`error`?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,_,[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(w)(`picker.loadFailed`))+` `,1),(0,s.createVNode)((0,s.unref)(c.NButton),{size:C.value.size,onClick:(0,s.unref)(I).reload},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(w)(`common.retry`)),1)]),_:1},8,[`size`,`onClick`])])):(0,s.unref)(D)?((0,s.openBlock)(),(0,s.createBlock)(o.t,{key:1,ref_key:`tableRef`,ref:f,data:(0,s.unref)(R),columns:(0,s.unref)(U),"row-key":t.source.rowKey,loading:(0,s.unref)(I).loading.value,config:(0,s.unref)(W),onSelectionChange:(0,s.unref)(G)},null,8,[`data`,`columns`,`row-key`,`loading`,`config`,`onSelectionChange`])):(0,s.createCommentVNode)(`v-if`,!0),(0,s.unref)(z)>(0,s.unref)(N)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NPagination),{key:2,page:(0,s.unref)(M),"onUpdate:page":n[2]||=e=>(0,s.isRef)(M)?M.value=e:null,"page-size":(0,s.unref)(N),"item-count":(0,s.unref)(z),size:C.value.size},null,8,[`page`,`page-size`,`item-count`,`size`])):(0,s.createCommentVNode)(`v-if`,!0),(0,s.createElementVNode)(`div`,v,[(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)((0,s.unref)(w)(`picker.selected`,{count:(0,s.unref)(H)})),1),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)((0,s.unref)(V),e=>((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NTag),{key:`${typeof e.value}:${e.value}`,size:`small`,closable:``,title:e.label,onClose:t=>(0,s.unref)(K)(e.value)},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(e.label),1)]),_:2},1032,[`title`,`onClose`]))),128)),(0,s.unref)(H)>30?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,y,(0,s.toDisplayString)((0,s.unref)(w)(`picker.moreSelected`,{count:(0,s.unref)(H)-30})),1)):(0,s.createCommentVNode)(`v-if`,!0)])]),_:1},8,[`show`,`title`])]))}});var S=i.t(x,[[`__scopeId`,`data-v-30310910`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return S}});
@@ -0,0 +1 @@
1
+ import{t as e}from"./density.js";import{t}from"./useDataResource.js";import{t as n}from"./useComponentLocale.js";import{t as r}from"./C_Icon2.js";import{t as i}from"./export-helper.js";import{o as a}from"./useFormConfig.js";import{h as o,t as s}from"./C_Table2.js";import{Fragment as c,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createTextVNode as m,createVNode as h,defineComponent as g,isRef as _,nextTick as v,normalizeClass as y,onDeactivated as b,openBlock as x,renderList as S,shallowRef as C,toDisplayString as w,unref as T,watch as E,withCtx as D,withModifiers as O}from"vue";import{NButton as k,NInput as ee,NModal as A,NPagination as j,NTag as M}from"naive-ui";function N(e){return e==null?[]:[...new Set(Array.isArray(e)?e:[e])]}function P(e){return typeof e==`string`||typeof e==`number`&&Number.isFinite(e)}function F(e,t){let n=typeof e.rowKey==`function`?e.rowKey(t):t[e.rowKey];if(!P(n))throw TypeError(`[C_DataPicker] rowKey 必须为字符串或有限数值`);return n}function I(e,t,n){if(!Array.isArray(t.rows)||!Number.isSafeInteger(t.total)||t.total<0)throw TypeError(`[C_DataPicker] request 必须返回 rows 数组和非负安全整数 total`);if(t.rows.length>n||t.rows.length>t.total)throw TypeError(`[C_DataPicker] rows 超过请求的分页或 total 范围`);if(o(t.rows,t=>F(e,t)).length)throw TypeError(`[C_DataPicker] rowKey 不得缺失或重复`);let r=new Set;for(let n of t.rows){let t=e.value(n);if(!P(t)||r.has(t))throw TypeError(`[C_DataPicker] 业务值必须为唯一的字符串或有限数值`);r.add(t)}}function L(e,n,r,i){let a=C(!1),o=C({page:1,search:``}),s=l({get:()=>o.value.page,set:e=>{o.value={...o.value,page:e}}}),c=C(``),u=l(()=>o.value.search),d=C(0),f=C(0),p=C([]),m=C(new Map),h=C(new Map),g=l(()=>{let t=N(e.modelValue);return e.multiple?t:t.slice(0,1)}),_=l(()=>Number.isFinite(e.pageSize)&&e.pageSize>0?Math.max(1,Math.trunc(e.pageSize)):20),y=l(()=>e.disabled||e.readonly),x=!1,S=[];E(()=>[e.source,e.source.request,e.source.resolve,e.source.rowKey,e.source.value],()=>{L(),h.value=new Map,d.value++},{flush:`sync`});let w=t({key:()=>a.value?JSON.stringify([d.value,f.value,s.value,_.value,u.value]):null,load:async({signal:t})=>{let{source:n}=e,r={page:s.value,pageSize:_.value,search:u.value,signal:t},i=await n.request(r);return I(n,i,r.pageSize),{rows:[...i.rows],total:i.total}},isEmpty:e=>e.rows.length===0}),T=t({key:()=>e.source.resolve&&g.value.length?JSON.stringify([d.value,g.value]):null,load:async({signal:t})=>{let{source:n}=e,r=[...g.value],i=await n.resolve(r,t);if(!Array.isArray(i))throw TypeError(`[C_DataPicker] resolve 必须返回行数组`);let a=new Set(r);return i.filter(e=>a.has(n.value(e)))}}),D=l(()=>w.data.value?.rows??[]),O=l(()=>w.data.value?.total??0),k=l(()=>{let t=new Map(h.value);for(let n of T.data.value??[])t.set(e.source.value(n),n);return t}),ee=l(()=>g.value.map(t=>{let n=k.value.get(t);return n?e.source.label(n):String(t)}).join(`、`)),A=l(()=>p.value.length),j=l(()=>p.value.slice(0,30).map(t=>({value:t,label:m.value.has(t)?e.source.label(m.value.get(t)):String(t)}))),M=l(()=>[{type:`selection`,multiple:e.multiple},...e.columns.filter(e=>e.type!==`selection`)]),P=l(()=>({density:i(),locale:e.locale,toolbar:{show:!1},pagination:!1,selection:{enabled:!0,maxSelection:e.multiple?void 0:1},virtualScroll:{enabled:!0,maxHeight:360}}));function L(){a.value=!1,p.value=[],m.value=new Map}b(L);function te(){y.value||a.value||(p.value=[...g.value],m.value=new Map(k.value),o.value={page:1,search:``},c.value=``,f.value++,a.value=!0)}function ne(){if(y.value||!a.value)return;let t=[...p.value],r=t.flatMap(e=>m.value.has(e)?[m.value.get(e)]:[]);h.value=new Map(r.map(t=>[e.source.value(t),t])),L(),n(`update:modelValue`,e.multiple?t:t[0]??null),n(`select`,r)}function R(){y.value||!e.clearable||(n(`update:modelValue`,e.multiple?[]:null),n(`select`,[]))}function z(t,n){if(x||!a.value||S!==D.value)return;let r=new Set(D.value.map(t=>e.source.value(t))),i=e.multiple?p.value.filter(e=>!r.has(e)):[],o=e.multiple?n:n.slice(-1),s=new Map(m.value);for(let t of o)s.set(e.source.value(t),t);m.value=s,p.value=[...i,...o.map(t=>e.source.value(t))]}function B(e){p.value=p.value.filter(t=>t!==e)}function V(t){return F(e.source,t)}function H(){if(!(!a.value||!r.value)){x=!0;try{S=D.value;let t=new Map(m.value);r.value.clearSelection();for(let n of D.value)p.value.includes(e.source.value(n))&&(t.set(e.source.value(n),n),r.value.selectRow(V(n)));m.value=t}finally{x=!1}}}function U(){let e=u.value!==c.value||s.value!==1;o.value={page:1,search:c.value},e||w.reload()}return E([D,p],()=>{v(H)},{flush:`post`}),E(()=>[e.modelValue,e.multiple,e.disabled,e.readonly],L,{deep:!0,flush:`sync`}),{opened:a,open:te,close:L,confirm:ne,clear:R,page:s,pageSize:_,searchDraft:c,query:U,list:w,labels:T,rows:D,total:O,display:ee,selected:j,selectedCount:A,columns:M,tableConfig:P,selectPage:z,remove:B}}const te={class:`c-data-picker`},ne={class:`c-data-picker__trigger`},R={key:0,class:`c-data-picker__label-error`,role:`status`},z={key:0,class:`c-data-picker__error`,role:`alert`},B={class:`c-data-picker__selection`,"aria-live":`polite`},V={key:0},H={class:`c-data-picker__actions`};var U=i(g({name:`C_DataPicker`,__name:`index`,props:{source:{},columns:{},modelValue:{},multiple:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean},clearable:{type:Boolean},title:{},placeholder:{},density:{},locale:{},pageSize:{default:20}},emits:[`update:modelValue`,`select`],setup(t,{expose:i,emit:o}){let g=t,v=o,b=C(null),E=a(),N=l(()=>g.density??E.density??`compact`),P=l(()=>e(N.value)),{t:F}=n(()=>g.locale),I=l(()=>g.title??F(`picker.title`)),U=l(()=>g.placeholder??F(`picker.placeholder`)),{opened:W,open:G,close:K,confirm:re,clear:ie,page:q,pageSize:J,searchDraft:Y,query:X,list:Z,labels:ae,rows:oe,total:se,display:Q,selected:ce,selectedCount:$,columns:le,tableConfig:ue,selectPage:de,remove:fe}=L(g,v,b,()=>N.value);return i({open:G,close:K}),(e,n)=>(x(),f(`div`,te,[p(`div`,ne,[h(T(k),{class:`c-data-picker__open`,size:P.value.size,disabled:t.disabled,"aria-readonly":t.readonly,title:T(Q),onClick:T(G)},{default:D(()=>[p(`span`,{class:y({"c-data-picker__placeholder":!T(Q)})},w(T(Q)||U.value),3),h(r,{name:`mdi:magnify`,size:15,"aria-hidden":`true`})]),_:1},8,[`size`,`disabled`,`aria-readonly`,`title`,`onClick`]),t.clearable&&t.modelValue!=null&&(!Array.isArray(t.modelValue)||t.modelValue.length)?(x(),u(T(k),{key:0,class:`c-data-picker__clear`,size:P.value.size,disabled:t.disabled||t.readonly,"aria-label":T(F)(`picker.clear`),onClick:T(ie)},{default:D(()=>[...n[4]||=[m(`×`,-1)]]),_:1},8,[`size`,`disabled`,`aria-label`,`onClick`])):d(`v-if`,!0)]),T(ae).status.value===`error`?(x(),f(`span`,R,[m(w(T(F)(`picker.labelFailed`))+` `,1),h(T(k),{text:``,size:`tiny`,onClick:T(ae).reload},{default:D(()=>[m(w(T(F)(`common.retry`)),1)]),_:1},8,[`onClick`])])):d(`v-if`,!0),h(T(A),{show:T(W),preset:`card`,class:`c-data-picker__modal`,title:I.value,style:{width:`min(960px, calc(100vw - 24px))`},"onUpdate:show":n[3]||=e=>!e&&T(K)()},{action:D(()=>[p(`div`,H,[h(T(k),{size:P.value.size,onClick:T(K)},{default:D(()=>[m(w(T(F)(`common.cancel`)),1)]),_:1},8,[`size`,`onClick`]),h(T(k),{type:`primary`,size:P.value.size,disabled:t.disabled||t.readonly,onClick:T(re)},{default:D(()=>[m(w(T(F)(`common.confirm`)),1)]),_:1},8,[`size`,`disabled`,`onClick`])])]),default:D(()=>[p(`form`,{class:`c-data-picker__search`,onSubmit:n[1]||=O((...e)=>T(X)&&T(X)(...e),[`prevent`])},[h(T(ee),{value:T(Y),"onUpdate:value":n[0]||=e=>_(Y)?Y.value=e:null,size:P.value.size,placeholder:T(F)(`picker.searchPlaceholder`),"input-props":{"aria-label":T(F)(`picker.searchLabel`)},clearable:``},null,8,[`value`,`size`,`placeholder`,`input-props`]),h(T(k),{"attr-type":`submit`,size:P.value.size,loading:T(Z).loading.value,type:`primary`},{default:D(()=>[m(w(T(F)(`picker.search`)),1)]),_:1},8,[`size`,`loading`])],32),T(Z).status.value===`error`?(x(),f(`div`,z,[m(w(T(F)(`picker.loadFailed`))+` `,1),h(T(k),{size:P.value.size,onClick:T(Z).reload},{default:D(()=>[m(w(T(F)(`common.retry`)),1)]),_:1},8,[`size`,`onClick`])])):T(W)?(x(),u(s,{key:1,ref_key:`tableRef`,ref:b,data:T(oe),columns:T(le),"row-key":t.source.rowKey,loading:T(Z).loading.value,config:T(ue),onSelectionChange:T(de)},null,8,[`data`,`columns`,`row-key`,`loading`,`config`,`onSelectionChange`])):d(`v-if`,!0),T(se)>T(J)?(x(),u(T(j),{key:2,page:T(q),"onUpdate:page":n[2]||=e=>_(q)?q.value=e:null,"page-size":T(J),"item-count":T(se),size:P.value.size},null,8,[`page`,`page-size`,`item-count`,`size`])):d(`v-if`,!0),p(`div`,B,[p(`span`,null,w(T(F)(`picker.selected`,{count:T($)})),1),(x(!0),f(c,null,S(T(ce),e=>(x(),u(T(M),{key:`${typeof e.value}:${e.value}`,size:`small`,closable:``,title:e.label,onClose:t=>T(fe)(e.value)},{default:D(()=>[m(w(e.label),1)]),_:2},1032,[`title`,`onClose`]))),128)),T($)>30?(x(),f(`span`,V,w(T(F)(`picker.moreSelected`,{count:T($)-30})),1)):d(`v-if`,!0)])]),_:1},8,[`show`,`title`])]))}}),[[`__scopeId`,`data-v-30310910`]]);export{U as t};
package/dist/C_Date.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as DateProps, i as DatePickerMode, n as DateExpose, o as DateRangeValue, r as DateModelValue, s as DateValue, t as DateEmits } from "./types2.cjs";
1
+ import { a as DateProps, i as DatePickerMode, n as DateExpose, o as DateRangeValue, r as DateModelValue, s as DateValue, t as DateEmits } from "./types3.cjs";
2
2
  import { AllowedComponentProps, ComponentCustomProps, EmitFn, VNode, VNodeProps } from "vue";
3
3
 
4
4
  //#region src/components/C_Date/index.d.ts
package/dist/C_Date.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as DateProps, i as DatePickerMode, n as DateExpose, o as DateRangeValue, r as DateModelValue, s as DateValue, t as DateEmits } from "./types.js";
1
+ import { a as DateProps, i as DatePickerMode, n as DateExpose, o as DateRangeValue, r as DateModelValue, s as DateValue, t as DateEmits } from "./types2.js";
2
2
  import { AllowedComponentProps, ComponentCustomProps, EmitFn, VNode, VNodeProps } from "vue";
3
3
 
4
4
  //#region src/components/C_Date/index.d.ts
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./C_Density2.cjs`);exports.C_Density=e.t;
@@ -0,0 +1 @@
1
+ :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
@@ -0,0 +1,3 @@
1
+ import { t as ComponentDensity } from "./density.cjs";
2
+ import { t as _default } from "./index13.vue.cjs";
3
+ export { _default as C_Density, type ComponentDensity };
@@ -0,0 +1,3 @@
1
+ import { t as ComponentDensity } from "./density.js";
2
+ import { t as _default } from "./index12.vue.js";
3
+ export { _default as C_Density, type ComponentDensity };
@@ -0,0 +1 @@
1
+ import{t as e}from"./C_Density2.js";export{e as C_Density};
@@ -0,0 +1 @@
1
+ require(`./chunk.cjs`);const e=require(`./config.cjs`),t=require(`./useTableGlobalConfig.cjs`);let n=require(`vue`);const r=(0,n.defineComponent)({name:`C_Density`,__name:`index`,props:{density:{}},setup(r){let i=r,a=(0,n.inject)(e.FORM_GLOBAL_CONFIG_KEY,{}),o=(0,n.inject)(t.t,{}),s=(0,n.computed)(()=>i.density);return(0,n.provide)(e.FORM_GLOBAL_CONFIG_KEY,(0,n.reactive)({...a,density:s})),(0,n.provide)(t.t,(0,n.reactive)({...o,defaults:{...o.defaults,density:s}})),(e,t)=>(0,n.renderSlot)(e.$slots,`default`)}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -0,0 +1 @@
1
+ import{FORM_GLOBAL_CONFIG_KEY as e}from"./config.js";import{t}from"./useTableGlobalConfig.js";import{computed as n,defineComponent as r,inject as i,provide as a,reactive as o,renderSlot as s}from"vue";const c=r({name:`C_Density`,__name:`index`,props:{density:{}},setup(r){let c=r,l=i(e,{}),u=i(t,{}),d=n(()=>c.density);return a(e,o({...l,density:d})),a(t,o({...u,defaults:{...u.defaults,density:d}})),(e,t)=>s(e.$slots,`default`)}});export{c as t};
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./index11.vue.cjs";
1
+ import { t as _default } from "./index14.vue.cjs";
2
2
  export { _default as C_Editor };
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./index10.vue.js";
1
+ import { t as _default } from "./index13.vue.js";
2
2
  export { _default as C_Editor };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./C_ErrorSummary2.cjs`);exports.C_ErrorSummary=e.t;
@@ -0,0 +1,29 @@
1
+ :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
+
3
+ .c-error-summary__pages[data-v-ab35f9bc] {
4
+ display: flex;
5
+ align-items: center;
6
+ gap: 12px;
7
+ font-size: 12px;
8
+ }
9
+ .c-error-summary__list[data-v-ab35f9bc] {
10
+ margin: 4px 0 8px;
11
+ padding-inline-start: 20px;
12
+ }
13
+ .c-error-summary__target[data-v-ab35f9bc] {
14
+ border: 0;
15
+ background: transparent;
16
+ color: inherit;
17
+ font: inherit;
18
+ text-align: start;
19
+ cursor: pointer;
20
+ padding: 2px 0;
21
+ overflow-wrap: anywhere;
22
+ }
23
+ .c-error-summary__target[data-v-ab35f9bc]:hover {
24
+ text-decoration: underline;
25
+ }
26
+ .c-error-summary__target[data-v-ab35f9bc]:focus-visible {
27
+ outline: 2px solid currentcolor;
28
+ outline-offset: 2px;
29
+ }
@@ -0,0 +1,3 @@
1
+ import { n as ValidationTarget, t as ValidationIssue } from "./validation.cjs";
2
+ import { n as ErrorSummaryProps, t as _default } from "./index15.vue.cjs";
3
+ export { _default as C_ErrorSummary, type ErrorSummaryProps, type ValidationIssue, type ValidationTarget };
@@ -0,0 +1,3 @@
1
+ import { n as ValidationTarget, t as ValidationIssue } from "./validation.js";
2
+ import { n as ErrorSummaryProps, t as _default } from "./index14.vue.js";
3
+ export { _default as C_ErrorSummary, type ErrorSummaryProps, type ValidationIssue, type ValidationTarget };
@@ -0,0 +1 @@
1
+ import{t as e}from"./C_ErrorSummary2.js";export{e as C_ErrorSummary};