aitu-app 0.6.76 → 0.6.78

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 (223) hide show
  1. package/README.md +3 -3
  2. package/assets/CanvasAudioPlayer-DutgwdiU.js +2 -0
  3. package/assets/ChatDrawer-E6Fog16I.js +11 -0
  4. package/assets/{ChatMessagesArea-CZkiRzmW.js → ChatMessagesArea-Bgwiz_XP.js} +3 -3
  5. package/assets/DeferredAIInputBar-CPkD8Cv9.js +8 -0
  6. package/assets/DeferredAIInputBar-szBPHiNW.css +1 -0
  7. package/assets/DrawnixDeferredFeatures-Cul76-88.js +2 -0
  8. package/assets/{KnowledgeBaseContent-Dan2DUqY.js → KnowledgeBaseContent-DcX5Jofx.js} +6 -6
  9. package/assets/{MVCreator-Dzjl2fXA.js → MVCreator-DllHozYg.js} +8 -8
  10. package/assets/{ModelBenchmarkWorkbench-oy2wue1u.js → ModelBenchmarkWorkbench-Dv9SNYTi.js} +2 -2
  11. package/assets/MusicAnalyzer-CHcQ5t4P.js +1 -0
  12. package/assets/{MusicAnalyzer-BO44f-db.js → MusicAnalyzer-DDeT6g3c.js} +2 -2
  13. package/assets/ResizableDivider-CaG9JQbJ.js +1 -0
  14. package/assets/TaskQueuePanel-BNhNzGp5.js +1 -0
  15. package/assets/{VideoAnalyzer-iiJpoWb6.js → VideoAnalyzer-BSLz1FaI.js} +2 -2
  16. package/assets/ai-generation-preferences-service-BF7QkuJp.js +1 -0
  17. package/assets/arc-BU2KKCa_.js +1 -0
  18. package/assets/arc-DmGoDCEL.js +1 -0
  19. package/assets/{batch-image-generation-B2R0hJW_.js → batch-image-generation-Bg68r_Ql.js} +5 -5
  20. package/assets/{blockDiagram-38ab4fdb-BmWPnNuS.js → blockDiagram-38ab4fdb-BCGEnMME.js} +1 -1
  21. package/assets/{blockDiagram-38ab4fdb-trArAOFP.js → blockDiagram-38ab4fdb-CsZR5uC5.js} +1 -1
  22. package/assets/board-utils-CpAtoKn2.js +1 -0
  23. package/assets/{browser-Dya3c6_X.js → browser-DpICcNby.js} +1 -1
  24. package/assets/{c4Diagram-3d4e48cf-Cvj3RMOv.js → c4Diagram-3d4e48cf-9fuiuFdV.js} +1 -1
  25. package/assets/{c4Diagram-3d4e48cf-CqJrO4Za.js → c4Diagram-3d4e48cf-WM4wd_GR.js} +1 -1
  26. package/assets/{canvas-insertion-Dq3gR9Nw.js → canvas-insertion-CdUQF7IV.js} +3 -3
  27. package/assets/channel-CZjE-WNp.js +1 -0
  28. package/assets/channel-SXZD6bG3.js +1 -0
  29. package/assets/classDiagram-70f12bd4-CBVHTwQu.js +2 -0
  30. package/assets/{classDiagram-70f12bd4-DvrRZ41d.js → classDiagram-70f12bd4-DcYDedz1.js} +2 -2
  31. package/assets/classDiagram-v2-f2320105-CsxWGkSy.js +2 -0
  32. package/assets/classDiagram-v2-f2320105-jpCwaHEd.js +2 -0
  33. package/assets/{clipper-B4i11tN1.js → clipper-jvd5rF5a.js} +1 -1
  34. package/assets/clone-C4mvvMDb.js +1 -0
  35. package/assets/{createText-2e5e7dd3-D7dXlVes.js → createText-2e5e7dd3-CkXS3l7I.js} +2 -2
  36. package/assets/{createText-2e5e7dd3-B8gnT5hD.js → createText-2e5e7dd3-x5lOIwut.js} +1 -1
  37. package/assets/edges-e0da2a9e-CbrF4nbD.js +4 -0
  38. package/assets/{edges-e0da2a9e-CyRAzEMi.js → edges-e0da2a9e-Ch6PBwWs.js} +2 -2
  39. package/assets/{erDiagram-9861fffd-D8yYsjoN.js → erDiagram-9861fffd-Bq07elcI.js} +3 -3
  40. package/assets/{erDiagram-9861fffd-BHbAa_Ka.js → erDiagram-9861fffd-DSlNVuAZ.js} +4 -4
  41. package/assets/{flowDb-956e92f1-DAqb8wjP.js → flowDb-956e92f1-BqPCJlZp.js} +3 -3
  42. package/assets/{flowDb-956e92f1-f30uG4pp.js → flowDb-956e92f1-Ti5YC4Vv.js} +3 -3
  43. package/assets/{flowDiagram-66a62f08-C4Gz9mOM.js → flowDiagram-66a62f08-CPDuG3rY.js} +3 -3
  44. package/assets/{flowDiagram-66a62f08-CBXypoEi.js → flowDiagram-66a62f08-D3GSABFi.js} +1 -1
  45. package/assets/flowDiagram-v2-96b9c2cf-BCcJ-cre.js +1 -0
  46. package/assets/flowDiagram-v2-96b9c2cf-DCVaFEgV.js +1 -0
  47. package/assets/{flowchart-elk-definition-4a651766-CSm5diF6.js → flowchart-elk-definition-4a651766-BH09NeLA.js} +1 -1
  48. package/assets/{flowchart-elk-definition-4a651766-BHB7pRxm.js → flowchart-elk-definition-4a651766-BLaLPCDV.js} +1 -1
  49. package/assets/{ganttDiagram-c361ad54-CU9a9DsJ.js → ganttDiagram-c361ad54-DL9ZeaEc.js} +4 -4
  50. package/assets/ganttDiagram-c361ad54-Sp9M1KHP.js +257 -0
  51. package/assets/{gitGraphDiagram-72cf32ee-B2zj8Xnu.js → gitGraphDiagram-72cf32ee-BSf1fsDV.js} +1 -1
  52. package/assets/{gitGraphDiagram-72cf32ee-BWOgrFeh.js → gitGraphDiagram-72cf32ee-BWwmRKo-.js} +1 -1
  53. package/assets/{graph-Bnmq4jgf.js → graph--nPw8zXQ.js} +1 -1
  54. package/assets/graph-g-2U7grQ.js +1 -0
  55. package/assets/{index-3862675e-CQLKy6RO.js → index-3862675e-BXwbZ2pz.js} +1 -1
  56. package/assets/{index-3862675e-BSxxidV_.js → index-3862675e-D6Zy95zZ.js} +1 -1
  57. package/assets/index-3eqA7Bag.js +1 -0
  58. package/assets/{index-D1ORCZqJ.js → index-7Q-aiwln.js} +2 -2
  59. package/assets/index-B2dttXd7.js +1 -0
  60. package/assets/index-B7V7-Vxz.js +1 -0
  61. package/assets/index-BHPTfCZM.js +1 -0
  62. package/assets/{index-vvV37Q1S.js → index-BP77pG9S.js} +4 -4
  63. package/assets/index-BPR_DyGD.js +1 -0
  64. package/assets/index-BWrcsh8u.js +1 -0
  65. package/assets/{index-D4qm_1m5.js → index-BXzGHPXz.js} +1 -1
  66. package/assets/index-BaCHOxhI.js +1 -0
  67. package/assets/{index-BoglETHF.js → index-Bq8mPedC.js} +2 -2
  68. package/assets/index-BqHZCcen.js +2 -0
  69. package/assets/index-Bti3m-iW.js +1 -0
  70. package/assets/{index-sPNG1_UN.js → index-BwSnJN93.js} +5 -5
  71. package/assets/{index-D5qxbeGT.js → index-C3qD42ws.js} +1 -1
  72. package/assets/{index-VzDb_AHs.js → index-C5eu4uSl.js} +5 -5
  73. package/assets/index-CLJUfzvO.js +1 -0
  74. package/assets/index-CfgvFFx3.js +271 -0
  75. package/assets/index-CmyOpFTN.js +1 -0
  76. package/assets/index-D4pIkh3S.js +1 -0
  77. package/assets/index-D7b5fX1d.js +1 -0
  78. package/assets/index-DH12_HTj.js +13 -0
  79. package/assets/index-DI0OV6F8.js +7 -0
  80. package/assets/index-DIiIUyb-.js +1 -0
  81. package/assets/index-DcZrElEK.js +2 -0
  82. package/assets/index-DllL1sx1.js +1 -0
  83. package/assets/index-DqMndQiP.js +1 -0
  84. package/assets/index-Dz8sghkK.js +1 -0
  85. package/assets/index-QkP3EC02.js +1 -0
  86. package/assets/index-TkfyNewx.js +1 -0
  87. package/assets/index-ZrVeQUWo.js +1 -0
  88. package/assets/index-eZfwJ9bV.js +3 -0
  89. package/assets/{index-VarwiJlL.js → index-gQ7LgvSv.js} +1 -1
  90. package/assets/{infoDiagram-f8f76790-d-BYTW2w.js → infoDiagram-f8f76790-DpFqCCNv.js} +3 -3
  91. package/assets/{infoDiagram-f8f76790-BMsVq8O_.js → infoDiagram-f8f76790-G2JpJJP7.js} +3 -3
  92. package/assets/{journeyDiagram-49397b02-DCtCkoaC.js → journeyDiagram-49397b02-BdESGMrv.js} +1 -1
  93. package/assets/{journeyDiagram-49397b02-CBqb8-ml.js → journeyDiagram-49397b02-DLLTobRM.js} +1 -1
  94. package/assets/{layout-DKqEkE_W.js → layout-CVkuImk4.js} +1 -1
  95. package/assets/layout-WSR0vNPO.js +1 -0
  96. package/assets/line-D3bnG227.js +1 -0
  97. package/assets/line-DQuMJveY.js +1 -0
  98. package/assets/{linear-C6OQYT56.js → linear-CciP-97N.js} +1 -1
  99. package/assets/linear-Z6vFvuwc.js +1 -0
  100. package/assets/{main-i0s2IJTn.css → main-8DNjLY6L.css} +1 -1
  101. package/assets/main-BFEkxCOK.js +56 -0
  102. package/assets/{mermaid.core-CI-VJEiw.js → mermaid.core-CwZQb0ud.js} +5 -5
  103. package/assets/{mindmap-definition-fc14e90a-k_RSypuP.js → mindmap-definition-fc14e90a-BnJ8OOTI.js} +1 -1
  104. package/assets/{mindmap-definition-fc14e90a-DrtlQLES.js → mindmap-definition-fc14e90a-CxQMydCW.js} +1 -1
  105. package/assets/model-benchmark-launcher-Ct3lYXVq.js +1 -0
  106. package/assets/photo-wall-splitter-BZ88W5Zy.js +1 -0
  107. package/assets/{pieDiagram-8a3498a8-CdknGxKY.js → pieDiagram-8a3498a8-BSDdkTeu.js} +5 -5
  108. package/assets/{pieDiagram-8a3498a8-Bpr5V3o5.js → pieDiagram-8a3498a8-D6VtAoja.js} +4 -4
  109. package/assets/ppt-generation-FzjP_rp0.js +48 -0
  110. package/assets/{quadrantDiagram-120e2f19-Dx3qoKDx.js → quadrantDiagram-120e2f19-BbFV0VXY.js} +3 -3
  111. package/assets/{quadrantDiagram-120e2f19-pVIXp9i6.js → quadrantDiagram-120e2f19-C8k2xuBd.js} +3 -3
  112. package/assets/{requirementDiagram-deff3bca-hM4oekUG.js → requirementDiagram-deff3bca-C3xMdzJV.js} +1 -1
  113. package/assets/{requirementDiagram-deff3bca-DD6NY75P.js → requirementDiagram-deff3bca-CpjqKjYZ.js} +1 -1
  114. package/assets/{sankeyDiagram-04a897e0-BsvEG71N.js → sankeyDiagram-04a897e0-BBJJgsFv.js} +5 -5
  115. package/assets/{sankeyDiagram-04a897e0-C9uf1jU5.js → sankeyDiagram-04a897e0-Bjvig9bW.js} +4 -4
  116. package/assets/{sequenceDiagram-704730f1-CNEBmz1G.js → sequenceDiagram-704730f1-DX1MmBN_.js} +4 -4
  117. package/assets/{sequenceDiagram-704730f1-Bpg54z74.js → sequenceDiagram-704730f1-PFC_9IFI.js} +4 -4
  118. package/assets/settings-dialog-CQM4v791.js +1 -0
  119. package/assets/{skill-dsl-parser-DS3VOBFI.js → skill-dsl-parser-syNWYxFu.js} +10 -10
  120. package/assets/{stateDiagram-587899a1-BN2ZP-3x.js → stateDiagram-587899a1-Dc3mI_B_.js} +1 -1
  121. package/assets/stateDiagram-587899a1-SFMUVAam.js +1 -0
  122. package/assets/{stateDiagram-v2-d93cdb3a-BtV1Ziy9.js → stateDiagram-v2-d93cdb3a-DmnBjHpC.js} +1 -1
  123. package/assets/{stateDiagram-v2-d93cdb3a-BLwIM8s1.js → stateDiagram-v2-d93cdb3a-P4Yt2p_j.js} +1 -1
  124. package/assets/{styles-6aaf32cf-aFVlX_lA.js → styles-6aaf32cf-C3jnr3hV.js} +1 -1
  125. package/assets/{styles-6aaf32cf-CGp3i5qu.js → styles-6aaf32cf-b6AdP7fu.js} +1 -1
  126. package/assets/{styles-9a916d00-BK7pejCH.js → styles-9a916d00-BUiD9iBe.js} +4 -4
  127. package/assets/{styles-9a916d00-CSwFWVnr.js → styles-9a916d00-ii0XTdIm.js} +1 -1
  128. package/assets/styles-c10674c1-Bt89Yy8Q.js +116 -0
  129. package/assets/styles-c10674c1-DbTSpy3W.js +116 -0
  130. package/assets/{svgDrawCommon-08f97a94-Cr4rWU-W.js → svgDrawCommon-08f97a94-BK6lD4D6.js} +1 -1
  131. package/assets/{svgDrawCommon-08f97a94-DypvMDvH.js → svgDrawCommon-08f97a94-D4gIV05W.js} +1 -1
  132. package/assets/{timeline-definition-85554ec2-D3-lXEL5.js → timeline-definition-85554ec2-Bl2y548G.js} +1 -1
  133. package/assets/{timeline-definition-85554ec2-DIwHE15c.js → timeline-definition-85554ec2-CWKg_JxG.js} +3 -3
  134. package/assets/{tool-windows-B-a9r3G3.css → tool-windows-CUNbW1Tz.css} +1 -1
  135. package/assets/tool-windows-DOIu9TAD.js +2975 -0
  136. package/assets/ttd-dialog-DI4kQSg8.js +99 -0
  137. package/assets/{useCharacters-DsZ779l-.js → useCharacters-Chv4Ky7x.js} +3 -3
  138. package/assets/useWorkflowSubmission-BizuDmuw.js +70 -0
  139. package/assets/video-analyze-6v3Y-rUE.js +1 -0
  140. package/assets/{video-generation-C7qCz-ZF.js → video-generation-DnmTlWnm.js} +2 -2
  141. package/assets/video-recovery-service-BeRoh0s2.js +1 -0
  142. package/assets/workflow-generation-utils-me381Cax.js +3 -0
  143. package/assets/workflow-submission-service-YOpo7g37.js +4 -0
  144. package/assets/{xychartDiagram-e933f94c-B17Evxfw.js → xychartDiagram-e933f94c-CJX9_9WF.js} +4 -4
  145. package/assets/{xychartDiagram-e933f94c-Dln5PJtU.js → xychartDiagram-e933f94c-Cep8CQEH.js} +3 -3
  146. package/changelog.json +50 -0
  147. package/idle-prefetch-manifest.json +300 -316
  148. package/manifest.json +3 -3
  149. package/package.json +1 -1
  150. package/precache-manifest.json +8 -8
  151. package/sw.js +5 -5
  152. package/version.json +19 -3
  153. package/assets/CanvasAudioPlayer-DwM6PU4W.js +0 -2
  154. package/assets/ChatDrawer-BQTaa6r6.js +0 -11
  155. package/assets/DeferredAIInputBar-BmPgFhXr.css +0 -1
  156. package/assets/DeferredAIInputBar-ObyfJQ0O.js +0 -7
  157. package/assets/DrawnixDeferredFeatures-CFHVLxc5.js +0 -2
  158. package/assets/ModelDropdown-CQTTHEI7.css +0 -1
  159. package/assets/ModelDropdown-DjvIvi8O.js +0 -1
  160. package/assets/MusicAnalyzer-BU5l2wPR.js +0 -1
  161. package/assets/ResizableDivider-CBgTphcS.js +0 -1
  162. package/assets/TaskQueuePanel-CTDuSScf.js +0 -1
  163. package/assets/ai-generation-preferences-service-CqwXb9Cs.js +0 -5
  164. package/assets/arc-BBE0LXa1.js +0 -1
  165. package/assets/arc-h476db6P.js +0 -1
  166. package/assets/channel-DMTz1UNN.js +0 -1
  167. package/assets/channel-DQOY3XLe.js +0 -1
  168. package/assets/classDiagram-70f12bd4-5ACx619h.js +0 -2
  169. package/assets/classDiagram-v2-f2320105-4zQ4jrwi.js +0 -2
  170. package/assets/classDiagram-v2-f2320105-CB4rof84.js +0 -2
  171. package/assets/clone-fuaXEdc-.js +0 -1
  172. package/assets/edges-e0da2a9e-DZalSm7f.js +0 -4
  173. package/assets/flowDiagram-v2-96b9c2cf-C-DFFh54.js +0 -1
  174. package/assets/flowDiagram-v2-96b9c2cf-CWjydvHB.js +0 -1
  175. package/assets/ganttDiagram-c361ad54-DDnbMkWm.js +0 -257
  176. package/assets/graph-BsYIlc-B.js +0 -1
  177. package/assets/index-B10kMZoq.js +0 -1
  178. package/assets/index-B2_XRj3U.js +0 -1
  179. package/assets/index-B4lLv-Sz.js +0 -1
  180. package/assets/index-BFZNUUCR.js +0 -1
  181. package/assets/index-BTSYG2Vy.js +0 -1
  182. package/assets/index-BY5Kvjqg.js +0 -1
  183. package/assets/index-Blf7J5yW.js +0 -1
  184. package/assets/index-BoQA7VaE.js +0 -3
  185. package/assets/index-BzqQ69oU.js +0 -1
  186. package/assets/index-CD2D1BYc.js +0 -2
  187. package/assets/index-CLRs5cWt.js +0 -1
  188. package/assets/index-CLU4LJjR.js +0 -1
  189. package/assets/index-CPDfMZkS.js +0 -1
  190. package/assets/index-CPfhqyDz.js +0 -316
  191. package/assets/index-CU4ySaQE.js +0 -1
  192. package/assets/index-CsCwwmYY.js +0 -1
  193. package/assets/index-Cyz_w8KS.js +0 -7
  194. package/assets/index-D489cJtb.js +0 -1
  195. package/assets/index-D6DebbcI.js +0 -1
  196. package/assets/index-DDtPG6Km.js +0 -1
  197. package/assets/index-DKhTnUBU.js +0 -1
  198. package/assets/index-DMIwLDS8.js +0 -13
  199. package/assets/index-DgsUJgRJ.js +0 -1
  200. package/assets/index-oT8mbA3U.js +0 -2
  201. package/assets/layout-B1ePJO5V.js +0 -1
  202. package/assets/line-C_jmJ6v1.js +0 -1
  203. package/assets/line-DfhCgsyz.js +0 -1
  204. package/assets/linear-ChY5Iu43.js +0 -1
  205. package/assets/main-LCg1nQGB.js +0 -69
  206. package/assets/model-benchmark-launcher-B2MsZXmV.js +0 -1
  207. package/assets/model-benchmark-service-CkIRp-Sq.js +0 -1
  208. package/assets/model-selection-BvdXmVGX.js +0 -1
  209. package/assets/photo-wall-splitter-CVrfkWnh.js +0 -1
  210. package/assets/prompt-optimize-dialog-DLdL2_a1.css +0 -1
  211. package/assets/settings-dialog-CAhU3cfG.js +0 -1
  212. package/assets/stateDiagram-587899a1-CMylUAYu.js +0 -1
  213. package/assets/styles-c10674c1-KfJINP7I.js +0 -116
  214. package/assets/styles-c10674c1-cccyjRUz.js +0 -116
  215. package/assets/tool-windows-CtLXQDGF.js +0 -2847
  216. package/assets/ttd-dialog-BRg3XE5k.js +0 -99
  217. package/assets/use-runtime-models-BH9r4Yc1.js +0 -1
  218. package/assets/use-runtime-models-BgWWl4Ng.css +0 -1
  219. package/assets/useWorkflowSubmission-BeJQ3BuO.js +0 -70
  220. package/assets/video-analyze-aDVIfgUi.js +0 -1
  221. package/assets/video-recovery-service-Dy0xiPr8.js +0 -1
  222. package/assets/workflow-generation-utils-CpMilOwA.js +0 -3
  223. package/assets/workflow-submission-service-CmBBMIis.js +0 -4
@@ -1 +0,0 @@
1
- import{r,ig as ls,y as s,am as le,fG as v,dp as cs,al as o,bV as w,jG as sa,ia as ge,jH as aa,jI as ds,aI as ss,hX as ve,jJ as ia,fQ as ue,eK as ra,bL as ta,jK as na,at as as,h2 as p,h1 as Q,h9 as is,dj as rs,jL as os,jM as ua,jN as la,jO as ca,hp as da,ih as oa,ii as ma,jP as pa,ib as fa,jQ as ha,jR as Na,jS as xa,ij as ka,jT as ba,jU as ga,jV as ae,ik as va,d2 as ya,fy as ja,cX as ts,jW as ns,jX as ne,h0 as be,eI as qa,jY as us,jZ as wa,j_ as Ca,aw as Da,j$ as Ea,k0 as Ua}from"./tool-windows-CtLXQDGF.js";import{T as Va,C as _a,u as ms,V as Ta,a as Ia}from"./useCharacters-DsZ779l-.js";/* empty css */const Pa=30,Sa=({onPreviewOpen:t,onDownload:h,className:c})=>{const[d,S]=r.useState([]),[L,y]=r.useState(!0),[C,D]=r.useState(!1),[M,$]=r.useState(!1),x=r.useRef(0),z=r.useRef(null),V=r.useCallback(async m=>{try{return await ls.getArchivedTasks(m,Pa)}catch{return{tasks:[],hasMore:!1}}},[]);r.useEffect(()=>{let m=!1;return y(!0),x.current=0,V(0).then(b=>{m||(S(b.tasks),$(b.hasMore),x.current=b.tasks.length,y(!1))}),()=>{m=!0}},[V]);const R=r.useCallback(async()=>{if(C||!M)return;D(!0);const m=await V(x.current);S(b=>[...b,...m.tasks]),$(m.hasMore),x.current+=m.tasks.length,D(!1)},[C,M,V]);return r.useEffect(()=>{const m=z.current;if(!m)return;const b=()=>{m.scrollHeight-m.scrollTop-m.clientHeight<200&&R()};return m.addEventListener("scroll",b,{passive:!0}),()=>m.removeEventListener("scroll",b)},[R]),L?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.jsxDEV(le,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:89,columnNumber:9},void 0),s.jsxDEV("div",{className:"task-queue-panel__empty-text",children:"加载历史任务..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:90,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:88,columnNumber:7},void 0):d.length===0?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.jsxDEV("div",{className:"task-queue-panel__empty-icon",children:"📦"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:98,columnNumber:9},void 0),s.jsxDEV("div",{className:"task-queue-panel__empty-text",children:"暂无历史任务"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:99,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:97,columnNumber:7},void 0):s.jsxDEV("div",{ref:z,className:c,style:{overflow:"auto",height:"100%"},children:[d.map(m=>s.jsxDEV(Va,{task:m,onPreviewOpen:t?()=>t(m.id):void 0,onDownload:h},m.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:111,columnNumber:9},void 0)),M&&s.jsxDEV("div",{style:{padding:"12px",textAlign:"center"},children:C?s.jsxDEV(le,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:121,columnNumber:13},void 0):s.jsxDEV(v,{size:"small",variant:"text",theme:"default",onClick:R,children:"加载更多"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:123,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:119,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/ArchivedTaskList.tsx",lineNumber:105,columnNumber:5},void 0)},La=({character:t,onDelete:h,onSelect:c,compact:d=!1})=>{const[S,L]=r.useState(!1),y=t.status==="processing"||t.status==="pending",C=t.status==="failed",D=t.status==="completed",M=r.useCallback(async m=>{if(m.stopPropagation(),!t.username)return;const b=`@${t.username}`;try{await cs(b),o.success(`已复制: ${b}`)}catch(k){console.error("Failed to copy:",k),o.error("复制失败")}},[t.username]),$=r.useCallback(()=>{D&&c&&c(t)},[D,c,t]),x=r.useCallback(m=>{m.stopPropagation(),h==null||h(t.id)},[h,t.id]),z=r.useCallback(m=>{m.stopPropagation(),D&&t.profilePictureUrl&&L(!0)},[D,t.profilePictureUrl]),V=()=>t.profilePictureUrl||D?s.jsxDEV(w,{content:"点击查看大图",children:s.jsxDEV(_a,{characterId:t.id,profilePictureUrl:t.profilePictureUrl,alt:t.username||"Character",className:"character-card__avatar-img",onClick:z},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:94,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:93,columnNumber:9},void 0):s.jsxDEV("div",{className:"character-card__avatar-placeholder",children:s.jsxDEV(ds,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:106,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:105,columnNumber:7},void 0),R=()=>y?s.jsxDEV("div",{className:"character-card__status character-card__status--processing",children:[s.jsxDEV(le,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:116,columnNumber:11},void 0),s.jsxDEV("span",{children:"创建中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:117,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:115,columnNumber:9},void 0):C?s.jsxDEV("div",{className:"character-card__status character-card__status--failed",children:["创建失败: ",t.error||"未知错误"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:123,columnNumber:9},void 0):null;return d?s.jsxDEV("div",{className:`character-card character-card--compact ${y?"character-card--loading":""} ${C?"character-card--failed":""}`,onClick:$,children:[s.jsxDEV("div",{className:"character-card__avatar",children:V()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:140,columnNumber:9},void 0),s.jsxDEV("span",{className:"character-card__username-text",children:t.username||"创建中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:141,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:134,columnNumber:7},void 0):s.jsxDEV("div",{className:`character-card ${y?"character-card--loading":""} ${C?"character-card--failed":""}`,onClick:$,children:[s.jsxDEV("div",{className:"character-card__avatar",children:V()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:156,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-card__info",children:[D&&t.username?s.jsxDEV(w,{content:"点击复制",children:s.jsxDEV("div",{className:"character-card__username",onClick:M,children:["@",t.username,s.jsxDEV(sa,{className:"character-card__username-copy"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:168,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:163,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:162,columnNumber:11},void 0):s.jsxDEV("div",{className:"character-card__username",style:{cursor:"default"},children:y?"创建中...":"角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:172,columnNumber:11},void 0),t.id&&s.jsxDEV(w,{content:t.id,placement:"bottom",children:s.jsxDEV("div",{className:"character-card__source",children:t.id},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:183,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:182,columnNumber:11},void 0),R()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:159,columnNumber:7},void 0),s.jsxDEV("div",{className:"character-card__actions",children:s.jsxDEV(w,{content:"删除角色",children:s.jsxDEV(v,{size:"small",variant:"text",theme:"danger",icon:s.jsxDEV(ge,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:198,columnNumber:19},void 0),"data-track":"character_click_delete",onClick:x},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:194,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:193,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:192,columnNumber:7},void 0),t.profilePictureUrl&&s.jsxDEV(aa,{visible:S,onClose:()=>L(!1),items:[{url:t.profilePictureUrl,type:"image",title:`@${t.username||"Character"}`}]},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:207,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterCard.tsx",lineNumber:149,columnNumber:5},void 0)},Qa=({onSelect:t,completedOnly:h=!1,maxItems:c,showHeader:d=!0,title:S="角色列表"})=>{const{characters:L,completedCharacters:y,pendingCharacters:C,isLoading:D,deleteCharacter:M,refreshCharacters:$}=ms(),[x,z]=ss.useState(null),V=ss.useMemo(()=>{let k=h?y:L;return k=[...k].sort((ce,de)=>de.createdAt-ce.createdAt),c&&k.length>c&&(k=k.slice(0,c)),k},[h,L,y,c]),R=r.useCallback(k=>{z(k)},[]),m=r.useCallback(async()=>{if(!x)return;await M(x)?o.success("角色已删除"):o.error("删除失败"),z(null)},[x,M]),b=r.useCallback(async()=>{await $(),o.success("已刷新")},[$]);return D?s.jsxDEV("div",{className:"character-list__loading",children:[s.jsxDEV(le,{size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:89,columnNumber:9},void 0),s.jsxDEV("span",{children:"加载中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:90,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:88,columnNumber:7},void 0):V.length===0?s.jsxDEV("div",{className:"character-list",children:[d&&s.jsxDEV("div",{className:"character-list__header",children:[s.jsxDEV("h4",{children:S},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:101,columnNumber:13},void 0),s.jsxDEV(v,{size:"small",variant:"text",icon:s.jsxDEV(ve,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:105,columnNumber:21},void 0),"data-track":"character_click_refresh",onClick:b},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:102,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:100,columnNumber:11},void 0),s.jsxDEV("div",{className:"character-list__empty",children:[s.jsxDEV("div",{className:"character-list__empty-icon",children:s.jsxDEV(ia,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:113,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:112,columnNumber:11},void 0),s.jsxDEV("div",{children:"暂无角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:115,columnNumber:11},void 0),s.jsxDEV("div",{style:{fontSize:"12px",marginTop:"4px",color:"#999"},children:"从已完成的 Sora-2 视频中提取角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:116,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:111,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:98,columnNumber:7},void 0):s.jsxDEV("div",{className:"character-list",children:[d&&s.jsxDEV("div",{className:"character-list__header",children:[s.jsxDEV("h4",{children:[S,C.length>0&&s.jsxDEV("span",{style:{fontWeight:"normal",fontSize:"12px",color:"#666",marginLeft:"8px"},children:["(",C.length," 创建中)"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:131,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:128,columnNumber:11},void 0),s.jsxDEV(v,{size:"small",variant:"text",icon:s.jsxDEV(ve,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:139,columnNumber:19},void 0),"data-track":"character_click_refresh",onClick:b},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:136,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:127,columnNumber:9},void 0),s.jsxDEV("div",{className:"character-list__items",children:V.map(k=>s.jsxDEV(La,{character:k,onDelete:R,onSelect:t},k.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:148,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:146,columnNumber:7},void 0),s.jsxDEV(ue,{open:!!x,title:"确认删除",description:"确定要删除此角色吗?删除后将无法在提示词中使用该角色。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:k=>{k||z(null)},onConfirm:m},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:158,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/character/CharacterList.tsx",lineNumber:125,columnNumber:5},void 0)},{TabPanel:se}=os,Ma="task-queue-drawer-width";function $a(t){var h,c,d;return Array.isArray((h=t.result)==null?void 0:h.urls)&&t.result.urls.length>0?t.result.urls.length:(c=t.result)!=null&&c.url||(d=t.result)!=null&&d.chatResponse||ae(t)?1:0}function za(t){const h=$a(t);return{taskId:t.id,taskType:t.type,taskStatus:t.status,model:typeof t.params.model=="string"&&t.params.model.trim()?t.params.model:void 0,resultCount:h||void 0,hasMultipleResults:h>1}}const Ga=({expanded:t,onClose:h,onTaskAction:c})=>{const{tasks:d,activeTasks:S,completedTasks:L,failedTasks:y,cancelledTasks:C,isLoading:D,isLoadingMore:M,hasMore:$,totalCount:x,loadedCount:z,loadMore:V,retryTask:R,deleteTask:m,clearCompleted:b,clearFailed:k,batchDeleteTasks:ce,batchRetryTasks:de,batchCancelTasks:ps}=ra(),{board:G,openDialog:ye}=ta(),{characters:je}=ms(),[A,fs]=r.useState("all"),[hs,oe]=r.useState(!1),[qe,Ns]=r.useState("completed"),[ie,xs]=r.useState(""),[E,X]=r.useState("all"),[Aa,we]=r.useState(null),[ks,me]=r.useState(!1),[bs,gs]=r.useState(0),[vs,ys]=r.useState("single"),[Ce,pe]=r.useState(!1),[De,fe]=r.useState(""),[js,he]=r.useState(!1),[Ne,Ee]=r.useState(null),[Ue,xe]=r.useState(null),[H,ee]=r.useState(!1),[N,K]=r.useState(new Set),[qs,ke]=r.useState(!1),[Ve,_e]=r.useState(null),{isConfigured:ws}=na(),[re,Te]=r.useState(!1),[Cs,te]=r.useState(0),Ie=E==="character";r.useEffect(()=>{as.initCacheStatus()},[]),r.useEffect(()=>{if(!t)return;let a=!1;return ls.getArchivedTaskCount().then(e=>{a||_e(e)}).catch(()=>{a||_e(0)}),()=>{a=!0}},[t,A]);const B=r.useMemo(()=>{let a;switch(A){case"all":a=d;break;case"active":a=S;break;case"completed":a=L;break;case"failed":a=y;break;case"cancelled":a=C;break;case"archived":return[];default:a=d}if(E!=="all"&&E!=="character"&&(a=a.filter(e=>e.type===(E==="image"?p.IMAGE:E==="audio"?p.AUDIO:E==="text"?p.CHAT:p.VIDEO))),ie.trim()){const e=ie.toLowerCase().trim();a=a.filter(i=>{var l,g,j,q,W;return i.params.prompt.toLowerCase().includes(e)||String(((l=i.result)==null?void 0:l.title)||"").toLowerCase().includes(e)||String(((g=i.result)==null?void 0:g.lyricsTitle)||"").toLowerCase().includes(e)||String(((j=i.result)==null?void 0:j.lyricsText)||"").toLowerCase().includes(e)||String(((q=i.result)==null?void 0:q.chatResponse)||"").toLowerCase().includes(e)||(((W=i.result)==null?void 0:W.lyricsTags)||[]).some(u=>String(u).toLowerCase().includes(e))})}return[...a].sort((e,i)=>i.createdAt-e.createdAt)},[A,d,S,L,y,C,E,ie]),Ds=a=>{Ns(a),oe(!0)},Es=()=>{qe==="completed"?b():k(),oe(!1)},Us=a=>{R(a),c==null||c("retry",a)},Vs=a=>{Ee(a),he(!0)},_s=()=>{Ne&&(m(Ne),c==null||c("delete",Ne)),he(!1),Ee(null)},Ts=()=>{H?(ee(!1),K(new Set)):ee(!0)},Is=(a,e)=>{K(i=>{const l=new Set(i);return e?l.add(a):l.delete(a),l})},Ps=()=>{const a=B.map(e=>e.id);K(new Set(a))},Ss=()=>{K(new Set)},Ls=()=>{N.size!==0&&ke(!0)},Qs=()=>{ce(Array.from(N)),K(new Set),ee(!1),ke(!1),o.success(`已删除 ${N.size} 个任务`)},Ms=()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.FAILED||(i==null?void 0:i.status)===Q.CANCELLED});if(a.length===0){o.warning("没有可重试的任务");return}de(a),K(new Set),ee(!1),o.success(`已重试 ${a.length} 个任务`)},Pe=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.FAILED||(e==null?void 0:e.status)===Q.CANCELLED}).length,[N,d]),Se=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.PENDING||(e==null?void 0:e.status)===Q.PROCESSING}).length,[N,d]),Le=r.useMemo(()=>Array.from(N).filter(a=>{const e=d.find(i=>i.id===a);return(e==null?void 0:e.status)===Q.COMPLETED&&((e==null?void 0:e.type)===p.IMAGE||(e==null?void 0:e.type)===p.VIDEO)}).length,[N,d]),Y=r.useMemo(()=>({all:d.length,image:d.filter(a=>a.type===p.IMAGE).length,video:d.filter(a=>a.type===p.VIDEO).length,audio:d.filter(a=>a.type===p.AUDIO).length,text:d.filter(a=>a.type===p.CHAT).length,character:je.length}),[d,je]),$s=()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.PENDING||(i==null?void 0:i.status)===Q.PROCESSING});if(a.length===0){o.warning("没有可取消的进行中任务");return}ps(a),K(new Set),ee(!1),o.success(`已取消 ${a.length} 个任务`)},zs=async()=>{const a=Array.from(N).filter(e=>{const i=d.find(l=>l.id===e);return(i==null?void 0:i.status)===Q.COMPLETED&&((i==null?void 0:i.type)===p.IMAGE||(i==null?void 0:i.type)===p.VIDEO)});if(!(a.length===0||re)){Te(!0),te(0);try{const e=await ga.syncMultipleTasks(a,(i,l)=>{te(Math.round(i/l*100))});console.log("[TaskQueuePanel] Batch sync result:",e),te(100),e.succeeded>0&&o.success(`已同步 ${e.succeeded} 个任务`),e.failed>0&&o.warning(`${e.failed} 个任务同步失败`)}catch(e){console.error("[TaskQueuePanel] Batch sync failed:",e),o.error("同步失败,请稍后重试")}finally{Te(!1),te(0)}}},Qe=async a=>{const e=d.find(l=>l.id===a);if(e&&ae(e)){o.info("歌词任务支持复制或插入画布");return}if(!e)return;const i=va(e);if(i.length!==0)try{const l=await ya(i);l.openedCount>0&&l.downloadedCount===0?o.success(l.openedCount>1?`已打开 ${l.openedCount} 个链接,请在新标签页下载`:"资源不支持直接下载,已打开链接"):o.success(e.type===p.AUDIO?i.length>1?"多条音频已开始下载":"音频下载成功":i.length>1?"多图已开始下载":"下载成功"),ja.track("generation_result_download",{...za(e),downloadedCount:l.downloadedCount,openedCount:l.openedCount}),c==null||c("download",a)}catch(l){console.error("Download failed:",l),o.error("下载失败,请稍后重试")}},As=async a=>{const e=d.find(l=>l.id===a);if(!e||!ae(e)){o.warning("暂无可复制的歌词");return}const i=ns(e);if(!i.trim()){o.warning("暂无可复制的歌词");return}try{await cs(i),o.success("歌词已复制"),c==null||c("copy",a)}catch(l){console.error("Failed to copy lyrics:",l),o.error("复制失败,请稍后重试")}},Rs=async a=>{var i,l,g,j,q,W,u,Z,O,J,U,_;const e=d.find(n=>n.id===a);if(!e||!G){console.warn("Cannot insert: task result or board not available"),o.warning("无法插入:白板未就绪");return}if(!((i=e.result)!=null&&i.url)&&!((g=(l=e.result)==null?void 0:l.urls)!=null&&g.length)&&!ae(e)){const n=e.type===p.CHAT?(j=e.result)==null?void 0:j.chatResponse:void 0;if(n!=null&&n.trim()){const f=(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:n,label:f}]}),o.success("文本已插入到白板"),be.markAsInserted(a,"manual"),c==null||c("insert",a);return}console.warn("Cannot insert: task result is empty"),o.warning("无法插入:任务结果为空");return}try{const n=e.result;if(e.type===p.IMAGE){const f=(q=n.urls)!=null&&q.length?n.urls:[n.url];for(const T of f)await rs(G,is(T));o.success(f.length>1?"多图已插入到白板":"图片已插入到白板")}else if(e.type===p.VIDEO)await qa(G,n.url),o.success("视频已插入到白板");else if(e.type===p.AUDIO){if(ae(e)){const F=us(n,e.params.title||e.params.prompt)||(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:ns(e),label:F,metadata:{title:us(n,e.params.title||e.params.prompt),tags:wa(n)}}]}),o.success("歌词已插入到白板"),be.markAsInserted(a,"manual"),c==null||c("insert",a);return}const f=Ca(n),T=(u=(W=n.clips)==null?void 0:W[0])==null?void 0:u.duration,I={title:n.title||e.params.title||e.params.prompt,duration:typeof T=="number"?T:n.duration,previewImageUrl:n.previewImageUrl,tags:typeof e.params.tags=="string"?e.params.tags:void 0,mv:typeof e.params.mv=="string"?e.params.mv:void 0,prompt:e.params.prompt,providerTaskId:n.providerTaskId||e.remoteId,clipId:n.primaryClipId||((O=(Z=n.clips)==null?void 0:Z[0])==null?void 0:O.clipId)||((U=(J=n.clips)==null?void 0:J[0])==null?void 0:U.id)||((_=n.clipIds)==null?void 0:_[0]),clipIds:n.clipIds};f.length===1?await Da(G,f[0],I):await ne({items:f.map((F,P)=>{var Re,Oe,Fe,Ge,He,Be,We,Ke,Xe,Ye,Ze,Je,es;return{type:"audio",content:F,groupId:`task-audio-${e.id}`,dimensions:{width:Ua,height:Ea},metadata:{...I,title:((Oe=(Re=n.clips)==null?void 0:Re[P])==null?void 0:Oe.title)||`${I.title||"Audio"} ${P+1}`,previewImageUrl:((Ge=(Fe=n.clips)==null?void 0:Fe[P])==null?void 0:Ge.imageLargeUrl)||((Be=(He=n.clips)==null?void 0:He[P])==null?void 0:Be.imageUrl)||I.previewImageUrl,duration:typeof((Ke=(We=n.clips)==null?void 0:We[P])==null?void 0:Ke.duration)=="number"?n.clips[P].duration||void 0:I.duration,clipId:((Ye=(Xe=n.clips)==null?void 0:Xe[P])==null?void 0:Ye.clipId)||((Je=(Ze=n.clips)==null?void 0:Ze[P])==null?void 0:Je.id)||((es=n.clipIds)==null?void 0:es[P])||I.clipId}}})}),o.success(f.length>1?"多条音频卡片已插入到白板":"音频卡片已插入到白板")}else if(e.type===p.CHAT){const f=n.chatResponse||"",T=(e.params.prompt||"").slice(0,20)||void 0;await ne({items:[{type:"text",content:f,label:T}]}),o.success("文本已插入到白板")}be.markAsInserted(a,"manual"),c==null||c("insert",a)}catch(n){console.error("Failed to insert to board:",n),o.error(`插入失败: ${n instanceof Error?n.message:"未知错误"}`)}},Os=a=>{var i,l,g,j;const e=d.find(q=>q.id===a);if(!e){console.warn("Cannot edit: task not found");return}if(e.type===p.IMAGE){const q={initialPrompt:e.params.prompt,initialWidth:e.params.width,initialHeight:e.params.height,initialImages:e.params.uploadedImages,initialResultUrl:(i=e.result)==null?void 0:i.url,initialResultUrls:(l=e.result)==null?void 0:l.urls};ye(ts.aiImageGeneration,q)}else if(e.type===p.VIDEO){const q={initialPrompt:e.params.prompt,initialDuration:typeof e.params.seconds=="string"?parseInt(e.params.seconds,10):e.params.seconds,initialModel:e.params.model,initialSize:e.params.size,initialImages:e.params.uploadedImages,initialResultUrl:(g=e.result)==null?void 0:g.url,initialResultUrls:(j=e.result)==null?void 0:j.urls};ye(ts.aiVideoGeneration,q)}else if(e.type===p.AUDIO){o.info("音频任务暂不支持从任务面板直接编辑");return}c==null||c("edit",a)},Fs=a=>{const e=d.find(i=>i.id===a);e&&(xe(e),c==null||c("extractCharacter",a))},Me=r.useMemo(()=>{const a=new Set;return B.filter(e=>{var i,l,g,j;return e.status!==Q.COMPLETED||!((i=e.result)!=null&&i.url)&&!((g=(l=e.result)==null?void 0:l.urls)!=null&&g.length)||e.type!==p.IMAGE&&e.type!==p.VIDEO&&!(e.type===p.AUDIO&&((j=e.result)==null?void 0:j.resultKind)!=="lyrics")||a.has(e.id)?!1:(a.add(e.id),!0)})},[B]),{previewMediaItems:Gs,taskIdToPreviewConfig:$e}=r.useMemo(()=>{var i,l,g,j,q,W;const a=[],e=new Map;for(const u of Me){const Z=a.length,O=((i=u.result)==null?void 0:i.title)||u.params.title||((l=u.params.prompt)==null?void 0:l.substring(0,50))||"媒体预览";if(u.type===p.AUDIO){const U=((j=(g=u.result)==null?void 0:g.clips)==null?void 0:j.filter(f=>!!f.audioUrl).map((f,T)=>{var I,F,P;return{id:f.clipId||f.id||`${u.id}-${T}`,url:f.audioUrl,type:"audio",title:f.title||((I=u.result)!=null&&I.clips&&u.result.clips.length>1?`${O} (${T+1}/${u.result.clips.length})`:O),posterUrl:f.imageLargeUrl||f.imageUrl||((F=u.result)==null?void 0:F.previewImageUrl),duration:typeof f.duration=="number"?f.duration:(P=u.result)==null?void 0:P.duration,prompt:u.params.prompt,tags:typeof u.params.tags=="string"?u.params.tags:void 0,artist:u.params.model||u.params.mv||"Aitu",album:"Aitu Generated"}}))??[],_=(q=u.result.urls)!=null&&q.length?u.result.urls:u.result.url?[u.result.url]:[],n=U.length>0?U:_.map((f,T)=>{var I,F;return{id:_.length>1?`${u.id}-${T}`:u.id,url:f,type:"audio",title:_.length>1?`${O} (${T+1}/${_.length})`:O,posterUrl:(I=u.result)==null?void 0:I.previewImageUrl,duration:(F=u.result)==null?void 0:F.duration,prompt:u.params.prompt,tags:typeof u.params.tags=="string"?u.params.tags:void 0,artist:u.params.model||u.params.mv||"Aitu",album:"Aitu Generated"}});a.push(...n)}else{const U=(W=u.result.urls)!=null&&W.length?u.result.urls:[u.result.url],_=u.type===p.VIDEO?"video":"image";for(let n=0;n<U.length;n++){const f=_==="image"?is(U[n]):U[n];a.push({id:U.length>1?`${u.id}-${n}`:u.id,url:f,type:_,title:U.length>1?`${O} (${n+1}/${U.length})`:O})}}const J=a.length-Z;e.set(u.id,{mode:u.type===p.AUDIO&&J>1?"compare":"single",index:u.type===p.AUDIO&&J>1?Array.from({length:Math.min(J,4)},(U,_)=>Z+_):Z})}return{previewMediaItems:a,taskIdToPreviewConfig:e}},[Me]),ze=r.useCallback(a=>{we(a);const e=$e.get(a);e!==void 0&&(ys(e.mode),gs(e.index),me(!0))},[$e]),Hs=r.useCallback(()=>{we(null),me(!1)},[]),Bs=r.useCallback(a=>{a.type==="image"&&(fe(a.url),pe(!0),me(!1))},[]),Ws=r.useCallback(async a=>{if(G)try{const e=`edited-image-${Date.now()}`,i=`/__aitu_cache__/image/${e}.png`,g=await(await fetch(a)).blob();await as.cacheMediaFromBlob(i,g,"image",{taskId:e}),await rs(G,i),pe(!1),fe("")}catch(e){console.error("Failed to insert edited image:",e)}},[G]),Ks=r.useCallback(()=>{h==null||h()},[h]),Xs=x>0?x:d.length,Ae="这里只显示最近 100 个任务,更早的任务会自动移到“历史”中继续保留。",Ys=s.jsxDEV(w,{content:Ae,children:s.jsxDEV("span",{children:["全部 (",Xs,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:982,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:981,columnNumber:5},void 0),Zs=Ve===null?"历史":`历史 (${Ve})`,Js=x>=100?`已加载最近 ${x} 个任务,较早任务已移至“历史”`:`已加载全部 ${x} 个任务`,ea=s.jsxDEV("div",{className:"task-queue-panel__filters-container",children:[s.jsxDEV(os,{value:A,onChange:a=>fs(a),children:[s.jsxDEV(se,{value:"all",label:Ys},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:999,columnNumber:9},void 0),s.jsxDEV(se,{value:"active",label:`生成中 (${S.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1e3,columnNumber:9},void 0),s.jsxDEV(se,{value:"failed",label:`失败 (${y.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1001,columnNumber:9},void 0),s.jsxDEV(se,{value:"completed",label:`已完成 (${L.length})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1002,columnNumber:9},void 0),s.jsxDEV(se,{value:"archived",label:Zs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1006,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:995,columnNumber:7},void 0),A!=="archived"&&s.jsxDEV("div",{className:"task-queue-panel__filters",children:[s.jsxDEV("div",{className:"task-queue-panel__type-filters",children:[s.jsxDEV(w,{content:`全部 (${Y.all})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>X("all"),className:E==="all"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ua,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1025,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1014,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1013,columnNumber:13},void 0),s.jsxDEV(w,{content:`图片 (${Y.image})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>X("image"),className:E==="image"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(la,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1040,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1029,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1028,columnNumber:13},void 0),s.jsxDEV(w,{content:`视频 (${Y.video})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>X("video"),className:E==="video"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ca,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1055,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1044,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1043,columnNumber:13},void 0),s.jsxDEV(w,{content:`音频 (${Y.audio})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>X("audio"),className:E==="audio"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(da,{size:16,strokeWidth:1.9},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1070,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1059,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1058,columnNumber:13},void 0),s.jsxDEV(w,{content:`文本 (${Y.text})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>X("text"),className:E==="text"?"task-queue-panel__filter-btn--active":"",children:"文"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1074,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1073,columnNumber:13},void 0),s.jsxDEV(w,{content:`角色 (${Y.character})`,children:s.jsxDEV(v,{size:"small",variant:"text",shape:"square",onClick:()=>X("character"),className:E==="character"?"task-queue-panel__filter-btn--active":"",children:s.jsxDEV(ds,{size:"16px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1100,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1089,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1088,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1012,columnNumber:11},void 0),s.jsxDEV("div",{className:"task-queue-panel__search-row",children:[s.jsxDEV(oa,{value:ie,onChange:a=>xs(a),placeholder:"搜索...",clearable:!0,prefixIcon:s.jsxDEV(ma,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1112,columnNumber:27},void 0),size:"small",className:"task-queue-panel__search-input"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1107,columnNumber:13},void 0),s.jsxDEV("div",{className:"task-queue-panel__filter-actions",children:[s.jsxDEV(w,{content:H?"退出多选":"批量操作",children:s.jsxDEV(v,{size:"small",variant:H?"base":"outline",theme:H?"primary":"default",icon:s.jsxDEV(pa,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1123,columnNumber:25},void 0),"data-track":"task_click_toggle_selection",onClick:Ts,children:H?"退出":"多选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1119,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1118,columnNumber:15},void 0),y.length>0&&!H&&s.jsxDEV(w,{content:"清除失败",children:s.jsxDEV(v,{size:"small",variant:"text",theme:"default",icon:s.jsxDEV(ge,{style:{color:"var(--td-text-color-placeholder)"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1138,columnNumber:23},void 0),"data-track":"task_click_clear_failed",onClick:()=>Ds("failed"),className:"task-queue-panel__clear-btn"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1133,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1132,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1117,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1106,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1010,columnNumber:9},void 0),H&&!Ie&&s.jsxDEV("div",{className:"task-queue-panel__batch-actions",children:[s.jsxDEV("div",{className:"task-queue-panel__batch-select",children:[s.jsxDEV(fa,{checked:N.size===B.length&&B.length>0,indeterminate:N.size>0&&N.size<B.length,onChange:a=>a?Ps():Ss()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1157,columnNumber:13},void 0),s.jsxDEV("span",{className:"task-queue-panel__batch-count",children:["已选 ",N.size," / ",B.length]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1170,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1156,columnNumber:11},void 0),s.jsxDEV("div",{className:"task-queue-panel__batch-buttons",children:[Se>0&&s.jsxDEV(v,{size:"small",variant:"outline",theme:"warning",icon:s.jsxDEV(ha,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1180,columnNumber:23},void 0),"data-track":"task_click_batch_cancel",onClick:$s,children:["取消 (",Se,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1176,columnNumber:15},void 0),Pe>0&&s.jsxDEV(v,{size:"small",theme:"primary",icon:s.jsxDEV(ve,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1191,columnNumber:23},void 0),"data-track":"task_click_batch_retry",onClick:Ms,children:["重试 (",Pe,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1188,columnNumber:15},void 0),ws&&Le>0&&s.jsxDEV(w,{content:"同步选中的任务到云端",placement:"bottom",children:s.jsxDEV(v,{size:"small",variant:"outline",icon:s.jsxDEV(Na,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1203,columnNumber:25},void 0),"data-track":"task_click_batch_sync",onClick:zs,disabled:re,loading:re,children:re?`${Cs}%`:`同步 (${Le})`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1200,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1199,columnNumber:15},void 0),s.jsxDEV(v,{size:"small",variant:"text",theme:"default",icon:s.jsxDEV(ge,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1219,columnNumber:21},void 0),"data-track":"task_click_batch_delete",onClick:Ls,disabled:N.size===0,children:["删除 (",N.size,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1215,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1174,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1155,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:994,columnNumber:5},void 0);return s.jsxDEV(s.Fragment,{children:[s.jsxDEV(xa,{isOpen:t,onClose:Ks,title:"任务队列",filterSection:ea,position:"toolbar-right",width:"responsive",storageKey:Ma,showBackdrop:!1,closeOnEsc:!1,showCloseButton:!0,className:"task-queue-panel",contentClassName:"task-queue-panel__content",resizable:!0,minWidth:320,maxWidth:1024,"data-testid":"task-queue-panel",children:Ie?s.jsxDEV(Qa,{showHeader:!1,title:""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1254,columnNumber:11},void 0):A==="archived"?s.jsxDEV(Sa,{onPreviewOpen:ze,onDownload:Qe,className:"task-queue-panel__list"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1257,columnNumber:11},void 0):s.jsxDEV(Ta,{tasks:B,selectionMode:H,selectedTaskIds:N,onSelectionChange:Is,onRetry:Us,onDelete:Vs,onDownload:Qe,onInsert:Rs,onCopy:As,onEdit:Os,onPreviewOpen:ze,onExtractCharacter:Fs,hasMore:$,isLoadingMore:M,onLoadMore:V,totalCount:x,loadedCount:z,allLoadedText:Js,allLoadedHint:x>=100?Ae:void 0,className:"task-queue-panel__list",emptyContent:D?s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.jsxDEV("div",{className:"task-queue-panel__empty-icon",children:"⏳"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1288,columnNumber:19},void 0),s.jsxDEV("div",{className:"task-queue-panel__empty-text",children:"加载中..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1289,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1287,columnNumber:17},void 0):s.jsxDEV("div",{className:"task-queue-panel__empty",children:[s.jsxDEV("div",{className:"task-queue-panel__empty-icon",children:"📋"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1293,columnNumber:19},void 0),s.jsxDEV("div",{className:"task-queue-panel__empty-text",children:A==="all"?"暂无任务":`暂无${A==="active"?"生成中":A==="completed"?"已完成":A==="failed"?"失败":"已取消"}任务`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1294,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1292,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1264,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1234,columnNumber:7},void 0),s.jsxDEV(ue,{open:hs,title:"确认清除",description:`确定要清除所有${qe==="completed"?"已完成":"失败"}的任务吗?此操作无法撤销。`,confirmText:"清除",cancelText:"取消",danger:!0,onOpenChange:oe,onConfirm:Es},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1315,columnNumber:7},void 0),s.jsxDEV(ue,{open:js,title:"确认删除",description:"确定要删除此任务吗?此操作无法撤销。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:he,onConfirm:_s},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1329,columnNumber:7},void 0),s.jsxDEV(ue,{open:qs,title:"确认批量删除",description:`确定要删除选中的 ${N.size} 个任务吗?此操作无法撤销。`,confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:ke,onConfirm:Qs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1341,columnNumber:7},void 0),s.jsxDEV(ka,{visible:ks,items:Gs,initialMode:vs,initialIndex:bs,onClose:Hs,showThumbnails:!0,onEdit:Bs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1353,columnNumber:7},void 0),Ce&&De&&s.jsxDEV(ba,{visible:Ce,imageUrl:De,showOverwrite:!1,onClose:()=>{pe(!1),fe("")},onInsert:G?Ws:void 0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1365,columnNumber:9},void 0),s.jsxDEV(Ia,{visible:!!Ue,task:Ue,onClose:()=>xe(null),onCreateStart:()=>{},onCreateComplete:a=>{xe(null)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1378,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/task-queue/TaskQueuePanel.tsx",lineNumber:1233,columnNumber:5},void 0)};export{Ma as TASK_DRAWER_WIDTH_KEY,Ga as TaskQueuePanel};
@@ -1,5 +0,0 @@
1
- import{r as b,hA as W,y as n,bD as se,bw as oe,dM as ne,b7 as re,iD as ae,hk as le,hx as J,hw as A,hz as G,al as K,iE as de,iz as ue,iA as ce,iF as me,iG as pe,bW as fe,ho as he,im as Z,i4 as U,hc as ge,gQ as E,hB as be,hH as Ne,hf as xe,hg as ye,iH as we,hh as ze,i2 as Pe,iI as _e,il as H,ip as ve}from"./tool-windows-CtLXQDGF.js";import{u as De,K as Ee,M as je}from"./ModelDropdown-DjvIvi8O.js";import{u as Oe}from"./use-runtime-models-BH9r4Yc1.js";import{f as Q,g as Y,a as Se}from"./model-selection-BvdXmVGX.js";/* empty css */function ke(e,t,i){return e==="size"?i.split("(")[0].trim():e==="duration"?`${t}s`:e==="klingAction2"?t==="image2video"?"图生":"文生":e==="mode"?t:i}const He=({selectedParams:e,onParamChange:t,compatibleParams:i,modelId:o,language:s="zh",disabled:r=!1,isOpen:l,onOpenChange:u,excludeParamIds:m})=>{const{value:c,setValue:a}=De({controlledValue:l,defaultValue:!1,onChange:u}),[g,w]=b.useState(0),[D,P]=b.useState(0),N=b.useMemo(()=>{const p=i??W(o);return m&&m.length>0?p.filter(h=>!m.includes(h.id)):p},[i,o,m]);b.useEffect(()=>{var p;if(c&&N.length>0){w(0);const h=N[0],z=e[h.id],v=((p=h.options)==null?void 0:p.findIndex(f=>f.value===z))??0;P(v>=0?v:0)}},[c,N,e]);const I=b.useMemo(()=>{if(N.length===0)return s==="zh"?"参数":"Params";const p=[];return N.forEach(h=>{var v;const z=e[h.id];if(z)if(h.valueType==="enum"){const f=(v=h.options)==null?void 0:v.find(y=>y.value===z);f&&p.push(ke(h.id,z,f.label))}else{const f=z.length>10?`${z.slice(0,10)}…`:z;p.push(`${h.shortLabel||h.label}:${f}`)}}),p.length===0?s==="zh"?"配置参数":"Settings":p.join(", ")},[N,e,s]),R=b.useCallback(p=>{p.preventDefault(),!r&&a(!c)},[r,c,a]),L=b.useCallback(p=>{var v,f;if(p==="Escape")return a(!1),!0;const h=N[g],z=((v=h==null?void 0:h.options)==null?void 0:v.length)??0;if(p==="ArrowDown")return w(y=>{var x;const O=y<N.length-1?y+1:0,S=N[O],M=e[S.id],d=((x=S.options)==null?void 0:x.findIndex(_=>_.value===M))??0;return P(d>=0?d:0),O}),!0;if(p==="ArrowUp")return w(y=>{var x;const O=y>0?y-1:N.length-1,S=N[O],M=e[S.id],d=((x=S.options)==null?void 0:x.findIndex(_=>_.value===M))??0;return P(d>=0?d:0),O}),!0;if(p==="ArrowRight")return P(y=>y<z-1?y+1:0),!0;if(p==="ArrowLeft")return P(y=>y>0?y-1:z-1),!0;if(p==="Enter"||p===" "||p==="Tab"){const y=(f=h==null?void 0:h.options)==null?void 0:f[D];return y&&t(h.id,y.value),!0}return!1},[N,g,D,e,t]),j=b.useCallback((p,h)=>{t(p,h)},[t]),T=b.useCallback((p,h)=>{t(p,h,{keepOpen:!0})},[t]);return N.length===0?null:n.jsxDEV(Ee,{isOpen:c,setIsOpen:a,disabled:r,openKeys:["Enter"," ","ArrowDown","ArrowUp"],onOpenKey:L,children:({containerRef:p,menuRef:h,portalPosition:z,handleTriggerKeyDown:v})=>n.jsxDEV("div",{className:"parameters-dropdown",ref:p,children:[n.jsxDEV("button",{className:`parameters-dropdown__trigger ${c?"parameters-dropdown__trigger--open":""}`,onMouseDown:R,onKeyDown:v,type:"button",disabled:r,title:`${I} (↑↓ Tab)`,children:[n.jsxDEV("span",{className:"parameters-dropdown__label",children:I},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:237,columnNumber:13},void 0),n.jsxDEV(oe,{size:14,className:`parameters-dropdown__icon ${c?"parameters-dropdown__icon--open":""}`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:238,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:229,columnNumber:11},void 0),c&&se.createPortal(n.jsxDEV("div",{ref:h,className:`parameters-dropdown__menu parameters-dropdown__menu--flat ${re}`,style:{position:"fixed",zIndex:ne.DROPDOWN_PORTAL,left:z.left,bottom:window.innerHeight-z.top+8,maxHeight:Math.max(240,Math.min(420,z.top-12)),overflowY:"auto"},onMouseDown:f=>f.stopPropagation(),onClick:f=>f.stopPropagation(),children:[n.jsxDEV("div",{className:"parameters-dropdown__header",children:[n.jsxDEV(ae,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:259,columnNumber:17},void 0),n.jsxDEV("span",{children:s==="zh"?"设置生成参数 (↑↓←→ Tab)":"Parameters (↑↓←→ Tab)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:260,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:258,columnNumber:15},void 0),n.jsxDEV("div",{className:"parameters-dropdown__sections",children:N.map((f,y)=>{var M;const O=e[f.id],S=y===g;return n.jsxDEV("div",{className:`parameters-dropdown__section ${S?"parameters-dropdown__section--highlighted":""}`,children:[n.jsxDEV("div",{className:"parameters-dropdown__section-title",children:f.label},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:272,columnNumber:23},void 0),f.valueType==="enum"?n.jsxDEV("div",{className:"parameters-dropdown__options",children:(M=f.options)==null?void 0:M.map((d,x)=>{const _=O===d.value,k=S&&x===D;return n.jsxDEV("button",{type:"button",className:`parameters-dropdown__option ${_?"parameters-dropdown__option--selected":""} ${k?"parameters-dropdown__option--highlighted":""}`,onClick:()=>j(f.id,d.value),onMouseEnter:()=>{w(y),P(x)},children:[n.jsxDEV("span",{className:"parameters-dropdown__option-label",children:d.label.split("(")[0].trim()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:291,columnNumber:33},void 0),_&&n.jsxDEV(le,{size:12,className:"parameters-dropdown__option-check"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:294,columnNumber:48},void 0)]},d.value,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:281,columnNumber:31},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:276,columnNumber:25},void 0):n.jsxDEV("div",{className:"parameters-dropdown__field",children:n.jsxDEV("input",{type:f.valueType==="number"?"number":"text",className:"parameters-dropdown__field-input",value:O||"",placeholder:f.description||f.label,min:f.valueType==="number"?f.min:void 0,max:f.valueType==="number"?f.max:void 0,step:f.valueType==="number"?f.step:void 0,onChange:d=>T(f.id,d.target.value),onMouseDown:d=>d.stopPropagation(),onKeyDown:d=>d.stopPropagation()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:301,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:300,columnNumber:25},void 0)]},f.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:268,columnNumber:21},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:263,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:241,columnNumber:13},void 0),document.body)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:228,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:220,columnNumber:5},void 0)},Me={mj_ar:"--ar",mj_v:"--v",mj_style:"--style",mj_s:"--s",mj_q:"--q",mj_seed:"--seed"},Qe=e=>{const t=[];return Object.entries(Me).forEach(([i,o])=>{const s=e[i];!s||s==="default"||t.push(`${o} ${s}`)}),t.join(" ")},X=(e,t,i)=>{const o=i==="image"?{isGenerating:e,imageLoading:t}:{isGenerating:e,videoLoading:t};window.dispatchEvent(new CustomEvent("ai-generation-state-change",{detail:o}))},Ye=(e,t,i)=>{b.useEffect(()=>{const o=s=>{(s.metaKey||s.ctrlKey)&&s.key==="Enter"&&(s.preventDefault(),!e&&t.trim()&&i())};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}},[e,t,i])},Xe=e=>{const[t,i]=b.useState(!1),[o,s]=b.useState(!1),r=b.useCallback(u=>{i(u),X(u,o,e)},[o,e]),l=b.useCallback(u=>{s(u),X(t,u,e)},[t,e]);return{isGenerating:t,isLoading:o,updateIsGenerating:r,updateIsLoading:l}},Be=(e,t,i)=>t==="image"?e==="zh"?"一只可爱的小猫坐在窗台上,阳光透过窗户洒在它的毛发上,背景是温馨的家居环境":"A cute kitten sitting on a windowsill, with sunlight streaming through the window onto its fur, with a cozy home environment in the background":i==="sora"?e==="zh"?"描述视频内容,输入 @ 可引用已创建的角色,如 @username 在海边漫步...":"Describe video content, type @ to reference created characters, e.g. @username walking on the beach...":e==="zh"?"生成一个美丽的日出场景,阳光从山峰后缓缓升起,云朵轻柔地飘动":"Generate a beautiful sunrise scene where the sun slowly rises from behind mountains with clouds gently floating",Ve=({originalPrompt:e,optimizationRequirements:t,language:i,type:o,mode:s="polish"})=>{const r=e.trim(),l=(t==null?void 0:t.trim())||"",u=i==="zh"?o==="image"?"图片生成":"视频生成":o==="image"?"image generation":"video generation",m=i==="zh"?o==="image"?"重点补足主体、构图、风格、光线、材质与画面细节。":"重点补足主体动作、镜头语言、运镜、时序、转场与画面连续性。":o==="image"?"Improve subject detail, composition, style, lighting, materials, and visual detail.":"Improve subject motion, camera language, camera movement, timing, transitions, and continuity.";return s==="structured"?i==="zh"?[`你是一名专业的${u}结构化提示词设计师。`,"请把原始需求整理成适合复杂场景生成的 JSON 结构化提示词。","","目标:","1. 保留用户原始意图,不要擅自改题。","2. 将复杂场景拆解为稳定、可复用、可继续编辑的结构字段。","3. 如果原文中有明确的布局、数量、标题、区域、主体、材质、风格、时间线、图例、标注等信息,尽量显式结构化。",`4. ${m}`,"5. 只输出一个合法 JSON 对象,不要解释、不要标题、不要 Markdown 代码块。","","JSON 结构要求:","1. 顶层优先包含这些键:type、instruction、style、layout。","2. style 是对象,放背景、主体风格、材质、镜头或质感等。","3. layout 是对象,放标题、分区、数量、位置、图例、时间轴、主体布局等。","4. 对复杂主体区域,优先使用 centerpiece、focal_point、sections、annotations、timeline、legends 等语义化字段。","5. 数量必须用数字,枚举信息尽量使用数组。","6. 不确定的扩展项可以补充 defaults、constraints、notes,但保持简洁。","7. 如果用户已经给了某种 JSON 雏形,要在其基础上补全,而不是完全推翻重写。","","输出风格要求:","1. value 尽量写成可直接给生图/生视频模型使用的短句或短段落。","2. 字段命名保持英文 snake_case 或 lowerCamelCase 二选一,但同一份 JSON 内保持一致。","3. 内容语言尽量与原始提示词一致。","","【原始提示词】",r,"","【补充要求】",l||"将其整理成适合复杂结构场景的 JSON 提示词,便于后续继续扩写与复用。"].join(`
2
- `):[`You are a professional ${u} prompt architect for structured prompts.`,"Transform the original request into a JSON-based structured prompt for complex scenes.","","Goals:","1. Preserve the original intent without changing the subject.","2. Decompose the scene into stable, reusable, and editable fields.","3. Explicitly structure layout, counts, titles, regions, subjects, materials, style, timeline, legends, labels, and annotations whenever present.",`4. ${m}`,"5. Output exactly one valid JSON object. No explanation, no title, no Markdown code fence.","","JSON structure rules:","1. Prefer these top-level keys: type, instruction, style, layout.","2. style should be an object for background, subject style, materials, camera, rendering, or texture.","3. layout should be an object for title, sections, counts, positions, legends, timelines, and composition.","4. For the main subject area, prefer semantic fields such as centerpiece, focal_point, sections, annotations, timeline, or legends.","5. Use numbers for counts and arrays for enumerations whenever possible.","6. Add defaults, constraints, or notes only when useful, and keep them concise.","7. If the user already provided a JSON draft, extend and normalize it instead of replacing it entirely.","","Output style rules:","1. Values should be concise and directly usable for downstream generation.","2. Use either snake_case or lowerCamelCase field names, but stay consistent within the same JSON.","3. Keep the language aligned with the original prompt as much as possible.","","[Original Prompt]",r,"","[Additional Requirements]",l||"Restructure it into a reusable JSON prompt for a complex visual scene."].join(`
3
- `):i==="zh"?[`你是一名专业的${u}提示词优化助手。`,"请基于原始提示词和优化要求,输出一版可直接用于生成的最终提示词。","","要求:","1. 保持原始提示词的核心意图,不要偏题。","2. 优先满足优化要求;如果优化要求为空,仅做必要润色与结构优化。","3. 保持与原始提示词相同的语言风格;原文中英混合时,尽量沿用原表达。","4. 如果原始提示词已经较完整,只做轻量优化,避免无意义堆砌。",`5. ${m}`,"6. 只输出最终优化后的提示词,不要解释、不要加标题、不要用代码块。","","【原始提示词】",r,"","【优化要求】",l||"无,做通顺、准确、可执行的轻量优化。"].join(`
4
- `):[`You are a professional ${u} prompt optimizer.`,"Based on the original prompt and refinement requirements, output one final prompt that can be used directly.","","Requirements:","1. Preserve the core intent of the original prompt.","2. Prioritize the refinement requirements; if they are empty, only do light polishing and restructuring.","3. Keep the same language style as the original prompt. If the original is mixed-language, preserve that style when possible.","4. If the original prompt is already detailed, only refine lightly and avoid unnecessary expansion.",`5. ${m}`,"6. Output only the final optimized prompt. No explanation, no title, no code block.","","[Original Prompt]",r,"","[Refinement Requirements]",l||"None. Apply light polishing for clarity and execution quality."].join(`
5
- `)},Ie=e=>{const t=e.trim(),i=t.match(/^```[\w-]*\n?([\s\S]*?)\n?```$/);return i?i[1].trim():t},We=({open:e,onOpenChange:t,originalPrompt:i,language:o,type:s,onApply:r,allowStructuredMode:l=!1,defaultMode:u="polish"})=>{var M;const[m,c]=b.useState(""),[a,g]=b.useState(u),[w,D]=b.useState(!1),P=b.useRef(null),N=Oe("text"),I=J("text"),R=I.modelId||((M=N[0])==null?void 0:M.id)||"",L=A(I.profileId,I.modelId)||(R?A(null,R):null),[j,T]=b.useState(R),[p,h]=b.useState(L),z=b.useMemo(()=>{if(Q(N,j,p)||!j)return N;const x=G("text",j,p);return x?[x,...N]:N},[j,p,N]),v=b.useCallback(()=>{var $;const d=J("text"),x=A(d.profileId,d.modelId),_=Q(N,d.modelId,x)||G("text",d.modelId,x),k=(_==null?void 0:_.id)||d.modelId||(($=N[0])==null?void 0:$.id)||"",ie=Y(_)||x||(k?A(null,k):null);T(k),h(ie)},[N]),f=b.useCallback(()=>{var d;(d=P.current)==null||d.abort(),P.current=null,D(!1),c(""),g(u),t(!1)},[u,t]),y=b.useCallback(async()=>{var _;const d=i.trim();if(!d){K.warning(o==="zh"?"请先输入提示词":"Please enter a prompt first");return}const x=new AbortController;(_=P.current)==null||_.abort(),P.current=x,D(!0);try{const k=Ie((await de.getFallbackExecutor().generateText({prompt:Ve({originalPrompt:d,optimizationRequirements:m,language:o,type:s,mode:a}),model:j||void 0,modelRef:p},{signal:x.signal})).content);if(!k)throw new Error("Empty optimized prompt");r(k),K.success(o==="zh"?a==="structured"?"结构化提示词已生成":"提示词优化完成":a==="structured"?"Structured prompt generated":"Prompt optimized"),c(""),g(u),t(!1)}catch(k){if(x.signal.aborted)return;console.error("[PromptOptimizeDialog] Failed to optimize prompt:",k),K.error(o==="zh"?a==="structured"?"结构化提示词生成失败,请稍后重试":"提示词优化失败,请稍后重试":a==="structured"?"Failed to generate structured prompt, please try again later":"Failed to optimize prompt, please try again later")}finally{P.current===x&&(P.current=null),D(!1)}},[u,o,a,r,t,j,p,i,m,s]);b.useEffect(()=>{e&&(v(),c(""),g(u))},[u,e,v]),b.useEffect(()=>()=>{var d;(d=P.current)==null||d.abort(),P.current=null},[]);const O=o==="zh"?a==="structured"?"把复杂场景整理成可复用的 JSON 结构化提示词,结果会直接回填输入框。":"输入优化方向,选择文本模型,优化后会直接回填当前提示词。":a==="structured"?"Turn complex scenes into reusable JSON structured prompts and fill the result back into the current field.":"Describe how to refine the prompt and the optimized result will fill back into the current field.",S=o==="zh"?a==="structured"?"例如:突出时间轴结构、把区域与数量拆开、保留标题与图例、输出 JSON 不要解释...":"例如:更电影感、补充镜头语言、减少冗余、强调主体与光线...":a==="structured"?"For example: emphasize timeline structure, split regions and counts, preserve titles and legends, output JSON only...":"For example: make it more cinematic, add camera language, reduce redundancy, emphasize subject and lighting...";return n.jsxDEV(ue,{open:e,onOpenChange:d=>!d&&f(),children:n.jsxDEV(ce,{className:"Dialog prompt-optimize-dialog",children:[n.jsxDEV("div",{className:"prompt-optimize-dialog__header",children:[n.jsxDEV("div",{className:"prompt-optimize-dialog__headline",children:[n.jsxDEV(me,{className:"prompt-optimize-dialog__title",children:o==="zh"?a==="structured"?"结构化提示词":"优化提示词":a==="structured"?"Structured Prompt":"Optimize Prompt"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:237,columnNumber:13},void 0),n.jsxDEV(pe,{className:"prompt-optimize-dialog__description",children:O},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:246,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:236,columnNumber:11},void 0),n.jsxDEV("button",{type:"button",className:"prompt-optimize-dialog__close",onClick:f,"aria-label":o==="zh"?"关闭":"Close",children:n.jsxDEV(fe,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:256,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:250,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:235,columnNumber:9},void 0),n.jsxDEV("div",{className:"prompt-optimize-dialog__body",children:[l&&n.jsxDEV("div",{className:"prompt-optimize-dialog__section",children:[n.jsxDEV("span",{className:"prompt-optimize-dialog__label",children:o==="zh"?"输出模式":"Output Mode"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:263,columnNumber:15},void 0),n.jsxDEV("div",{className:"prompt-optimize-dialog__mode-switch",children:[n.jsxDEV("button",{type:"button",className:`prompt-optimize-dialog__mode-btn ${a==="polish"?"prompt-optimize-dialog__mode-btn--active":""}`,onClick:()=>g("polish"),disabled:w,children:[n.jsxDEV(he,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:277,columnNumber:19},void 0),n.jsxDEV("span",{children:o==="zh"?"普通润色":"Polish"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:278,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:267,columnNumber:17},void 0),n.jsxDEV("button",{type:"button",className:`prompt-optimize-dialog__mode-btn ${a==="structured"?"prompt-optimize-dialog__mode-btn--active":""}`,onClick:()=>g("structured"),disabled:w,children:n.jsxDEV("span",{children:o==="zh"?"结构化 JSON":"Structured JSON"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:290,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:280,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:266,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:262,columnNumber:13},void 0),n.jsxDEV("div",{className:"prompt-optimize-dialog__section",children:[n.jsxDEV("span",{className:"prompt-optimize-dialog__label",children:o==="zh"?"当前提示词":"Current Prompt"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:297,columnNumber:13},void 0),n.jsxDEV("div",{className:"prompt-optimize-dialog__source",children:i.trim()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:300,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:296,columnNumber:11},void 0),n.jsxDEV("div",{className:"prompt-optimize-dialog__section",children:[n.jsxDEV("label",{className:"prompt-optimize-dialog__label",htmlFor:`prompt-optimize-requirements-${s}`,children:o==="zh"?"补充要求":"Additional Requirements"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:306,columnNumber:13},void 0),n.jsxDEV("textarea",{id:`prompt-optimize-requirements-${s}`,className:"prompt-optimize-dialog__textarea",value:m,onChange:d=>c(d.target.value),placeholder:S,rows:4,disabled:w},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:312,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:305,columnNumber:11},void 0),n.jsxDEV("div",{className:"prompt-optimize-dialog__section",children:[n.jsxDEV("span",{className:"prompt-optimize-dialog__label",children:o==="zh"?"文本模型":"Text Model"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:324,columnNumber:13},void 0),n.jsxDEV("div",{className:"prompt-optimize-dialog__model",children:n.jsxDEV(je,{variant:"form",selectedModel:j,selectedSelectionKey:Se(j,p),onSelect:(d,x)=>{T(d),h(x||null)},onSelectModel:d=>{T(d.id),h(Y(d))},language:o,models:z,placement:"down",disabled:w,placeholder:o==="zh"?"选择文本模型":"Select text model"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:328,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:327,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:323,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:260,columnNumber:9},void 0),n.jsxDEV("div",{className:"prompt-optimize-dialog__footer",children:[n.jsxDEV("button",{type:"button",className:"prompt-optimize-dialog__footer-btn prompt-optimize-dialog__footer-btn--secondary",onClick:f,disabled:w,children:o==="zh"?"取消":"Cancel"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:358,columnNumber:11},void 0),n.jsxDEV("button",{type:"button",className:"prompt-optimize-dialog__footer-btn prompt-optimize-dialog__footer-btn--primary",onClick:()=>void y(),disabled:w||!i.trim(),children:o==="zh"?w?a==="structured"?"生成中...":"优化中...":a==="structured"?"生成结构化提示词":"开始优化":w?a==="structured"?"Generating...":"Optimizing...":a==="structured"?"Generate Structured Prompt":"Optimize"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:366,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:357,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:234,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/shared/PromptOptimizeDialog.tsx",lineNumber:233,columnNumber:5},void 0)};function ee(e,t){return Math.abs(Math.log(e)-Math.log(t))}function Ze(e,t,i){if(e<=0||t<=0)return;const o=e/t,s=Z(i);if(s.length===0)return;const r=s.filter(m=>m.value!=="auto");if(r.length===0)return;let l,u=1/0;for(const m of r){const c=m.value.split("x");if(c.length!==2)continue;const a=parseFloat(c[0]),g=parseFloat(c[1]);if(isNaN(a)||isNaN(g)||g===0)continue;const w=a/g,D=ee(o,w);D<u&&(u=D,l=m.value)}if(!(u>.25))return l}function et(e,t){if(e<=0||t<=0)return;const i=e/t,o=U.filter(l=>l.value!=="auto"&&l.width>0&&l.height>0);let s,r=1/0;for(const l of o){const u=l.width/l.height,m=ee(i,u);m<r&&(r=m,s=l.value)}if(!(r>.25))return s}const qe=new Set([1,2,3,4,5,10,20]);function V(e){try{const t=localStorage.getItem(e);if(!t)return null;const i=JSON.parse(t);return i&&typeof i=="object"&&"value"in i?i.value:i}catch{return null}}function C(e,t){try{const i={value:t,updatedAt:Date.now()};localStorage.setItem(e,JSON.stringify(i))}catch{}}function F(e){return!e||typeof e!="object"||Array.isArray(e)?{}:Object.entries(e).reduce((t,[i,o])=>(typeof o=="string"&&(t[i]=o),t),{})}function q(e,t){return typeof t=="string"&&t.trim()?t.trim():e}function B(e){var t;return new Set(((t=e==null?void 0:e.options)==null?void 0:t.map(i=>i.value))||[])}function Re(e,t){const i=e.find(g=>g.id==="resolution"),o=e.find(g=>g.id==="quality"),s=B(i),r=B(o),l=s.has("1k")&&s.has("2k")&&s.has("4k"),u=r.has("auto")&&r.has("low")&&r.has("medium")&&r.has("high");if(!l||!u)return t;const m={...t},c=m.resolution,a=m.quality;return a&&s.has(a)&&!s.has(c)&&(m.resolution=a),a&&!r.has(a)&&delete m.quality,m}function te(e,t,i){var m;const o=W(e),s=new Set((i==null?void 0:i.excludeParamIds)||[]),r=Re(o,F(t)),l={},u=o.find(c=>c.id==="size");if(u&&!e.startsWith("mj")&&!s.has("size")&&(i==null?void 0:i.keepDefaultSize)!==!1){const c=r.size,a=(m=u.options)==null?void 0:m.some(g=>g.value===c);l.size=a?c:be(e)}return o.forEach(c=>{var w;if(s.has(c.id)||c.id==="size")return;const a=r[c.id];if((c.valueType==="enum"?(w=c.options)==null?void 0:w.some(D=>D.value===a):typeof a=="string"&&a!=="")&&a){l[c.id]=a;return}c.defaultValue&&(l[c.id]=c.defaultValue)}),Ne(e,l)}function Te(e,t){return te(e,t,{excludeParamIds:e.startsWith("mj")?[]:["size"],keepDefaultSize:!1})}function Ae(e){return e==="video"?xe():e==="audio"?ye():e==="text"||e==="agent"?we:ze()}function Ue(e){return e==="image"||e==="video"||e==="audio"||e==="text"||e==="agent"}function Ce(e){const t=Z(e);if(t.length===0)return new Set(U.map(s=>s.value));const i=new Set,o=new Map(U.map(s=>[s.value.replace(":","x"),s.value]));return t.forEach(s=>{if(s.value==="auto"){i.add("auto");return}const r=o.get(s.value);r&&i.add(r)}),i.size>0?i:new Set(U.map(s=>s.value))}function Fe(e,t){if(typeof t!="string")return H;const i=Ce(e);return i.has(t)?t:i.has("auto")?"auto":H}function tt(){const e=V(E.AI_INPUT_PREFERENCES)||{},t=e.generationType,o=e.modeVersion!==2&&t==="text"?"agent":Ue(t)?t:"image",s=Ae(o),r=typeof e.selectedModel=="string"?e.selectedModel:"",l=r?ge(r):null,u=l&&(l.type===o||(o==="text"||o==="agent")&&l.type==="text")?r:s,m=o==="agent"?{}:te(u,e.selectedParams),c=o==="agent"||o==="text"?1:typeof e.selectedCount=="number"&&qe.has(e.selectedCount)?e.selectedCount:1;return{generationType:o,selectedModel:u,selectedParams:m,selectedCount:c,selectedSkillId:typeof e.selectedSkillId=="string"&&e.selectedSkillId.trim()?e.selectedSkillId.trim():"auto"}}function it(e){const t=V(E.AI_INPUT_PREFERENCES)||{};C(E.AI_INPUT_PREFERENCES,{...t,...e,modeVersion:2,selectedParams:e.generationType==="agent"?{}:e.selectedParams,selectedCount:e.generationType==="agent"||e.generationType==="text"?1:e.selectedCount})}function st(e){const t=V(E.AI_IMAGE_TOOL_PREFERENCES)||{},i=q(e.currentModel,e.currentSelectionKey);C(E.AI_IMAGE_TOOL_PREFERENCES,{...t,...e,scopedPreferences:{...t.scopedPreferences||{},[i]:{modelId:e.currentModel,selectionKey:e.currentSelectionKey||null,extraParams:e.extraParams,aspectRatio:e.aspectRatio}}})}function ot(e){const t=V(E.AI_VIDEO_TOOL_PREFERENCES)||{},i=q(e.currentModel,e.currentSelectionKey);C(E.AI_VIDEO_TOOL_PREFERENCES,{...t,...e,scopedPreferences:{...t.scopedPreferences||{},[i]:{modelId:e.currentModel,selectionKey:e.currentSelectionKey||null,extraParams:e.extraParams,duration:e.duration,size:e.size}}})}function nt(e,t,i,o){var u,m;const s=V(E.AI_INPUT_PREFERENCES)||{},r=q(t,i),l=(m=(u=s.scopedPreferences)==null?void 0:u[e])==null?void 0:m[r];return F(l??o)}function rt(e,t,i,o){var l;const s=V(E.AI_INPUT_PREFERENCES)||{},r=q(t,o);C(E.AI_INPUT_PREFERENCES,{...s,scopedPreferences:{...s.scopedPreferences||{},[e]:{...((l=s.scopedPreferences)==null?void 0:l[e])||{},[r]:F(i)}}})}function at(e,t){var r;const i=V(E.AI_IMAGE_TOOL_PREFERENCES)||{},o=q(e,t),s=(r=i.scopedPreferences)==null?void 0:r[o];return{extraParams:Te(e,(s==null?void 0:s.extraParams)??i.extraParams),aspectRatio:Fe(e,(s==null?void 0:s.aspectRatio)??i.aspectRatio)}}function lt(e,t){var a;const i=V(E.AI_VIDEO_TOOL_PREFERENCES)||{},o=q(e,t),s=(a=i.scopedPreferences)==null?void 0:a[o],r=ve(e),l=Pe(r),u=_e(r),m=typeof(s==null?void 0:s.duration)=="string"&&l.durationOptions.some(g=>g.value===s.duration)?s.duration:typeof i.duration=="string"&&l.durationOptions.some(g=>g.value===i.duration)?i.duration:u.duration,c=typeof(s==null?void 0:s.size)=="string"&&l.sizeOptions.some(g=>g.value===s.size)?s.size:typeof i.size=="string"&&l.sizeOptions.some(g=>g.value===i.size)?i.size:u.size;return{extraParams:F((s==null?void 0:s.extraParams)??i.extraParams),duration:m,size:c}}export{He as P,nt as a,Qe as b,rt as c,We as d,at as e,st as f,Be as g,Ye as h,Te as i,lt as j,ot as k,tt as l,Ze as m,et as n,it as s,Xe as u};
@@ -1 +0,0 @@
1
- import{w as ln,c as B}from"./path-CbwjOpE9.js";import{a4 as an,a5 as H,a6 as q,a7 as rn,a8 as y,a0 as on,a9 as L,aa as _,ab as un,ac as t,ad as sn,ae as tn,af as fn}from"./index-VzDb_AHs.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,m=a-A,r=m*O-n*i;if(!(r*r<y))return r=(n*(h-A)-m*(l-v))/r,[l+r*O,h+r*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,m=-i*a,r=l+n,s=h+m,f=I+n,c=D+m,F=(r+f)/2,o=(s+c)/2,p=f-r,g=c-s,R=p*p+g*g,T=v-A,P=r*c-f*s,S=(g<0?-1:1)*L(tn(0,T*T*R-P*P)),j=(P*g-p*S)/R,z=(-P*p-g*S)/R,w=(P*g+p*S)/R,d=(-P*p+g*S)/R,x=j-F,e=z-o,u=w-F,G=d-o;return x*x+e*e>u*u+G*G&&(j=w,z=d),{cx:j,cy:z,x01:-n,y01:-m,x11:j*(v/T-1),y11:z*(v/T-1)}}function vn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=mn,C=pn,a=null,O=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=A.apply(this,arguments)-rn,F=un(c-f),o=c>f;if(a||(a=n=O()),s<r&&(m=s,s=r,r=m),!(s>y))a.moveTo(0,0);else if(F>on-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*H(c),r*q(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(r*r+s*s)),w=_(un(s-r)/2,+I.apply(this,arguments)),d=w,x=w,e,u;if(z>y){var G=sn(z/r*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=o?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=o?1:-1,p+=M,g-=M):(S=0,p=g=(f+c)/2)}var J=s*H(p),K=s*q(p),N=r*H(T),Q=r*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=r*H(R),Y=r*q(R),E;if(F<an)if(E=dn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(fn((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);d=_(w,(r-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,o),u=W(U,V,N,Q,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(a.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),a.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),a.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(a.moveTo(J,K),a.arc(0,0,s,p,g,!o)):a.moveTo(J,K),!(r>y)||!(P>y)?a.lineTo(N,Q):d>y?(e=W(N,Q,U,V,r,-d,o),u=W(J,K,X,Y,r,-d,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?a.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(a.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),a.arc(0,0,r,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),a.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):a.arc(0,0,r,T,R,o)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[H(m)*n,q(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{vn as a};
@@ -1 +0,0 @@
1
- import{w as ln,c as Q}from"./path-CY0bYimO.js";import{aM as an,aN as X,aO as I,aP as rn,aQ as y,aI as on,aR as B,aS as _,aT as un,aU as t,aV as sn,aW as tn,aX as fn}from"./mermaid.core-CI-VJEiw.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,q,O,v,R,U,a){var D=q-l,i=O-h,n=U-v,m=a-R,r=m*D-n*i;if(!(r*r<y))return r=(n*(h-R)-m*(l-v))/r,[l+r*D,h+r*i]}function K(l,h,q,O,v,R,U){var a=l-q,D=h-O,i=(U?R:-R)/B(a*a+D*D),n=i*D,m=-i*a,r=l+n,s=h+m,f=q+n,c=O+m,V=(r+f)/2,o=(s+c)/2,p=f-r,g=c-s,A=p*p+g*g,T=v-R,P=r*c-f*s,E=(g<0?-1:1)*B(tn(0,T*T*A-P*P)),M=(P*g-p*E)/A,N=(-P*p-g*E)/A,w=(P*g+p*E)/A,d=(-P*p+g*E)/A,x=M-V,e=N-o,u=w-V,W=d-o;return x*x+e*e>u*u+W*W&&(M=w,N=d),{cx:M,cy:N,x01:-n,y01:-m,x11:M*(v/T-1),y11:N*(v/T-1)}}function vn(){var l=cn,h=yn,q=Q(0),O=null,v=gn,R=mn,U=pn,a=null,D=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=R.apply(this,arguments)-rn,V=un(c-f),o=c>f;if(a||(a=n=D()),s<r&&(m=s,s=r,r=m),!(s>y))a.moveTo(0,0);else if(V>on-y)a.moveTo(s*X(f),s*I(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*X(c),r*I(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,A=f,T=c,P=V,E=V,M=U.apply(this,arguments)/2,N=M>y&&(O?+O.apply(this,arguments):B(r*r+s*s)),w=_(un(s-r)/2,+q.apply(this,arguments)),d=w,x=w,e,u;if(N>y){var W=sn(N/r*I(M)),C=sn(N/s*I(M));(P-=W*2)>y?(W*=o?1:-1,A+=W,T-=W):(P=0,A=T=(f+c)/2),(E-=C*2)>y?(C*=o?1:-1,p+=C,g-=C):(E=0,p=g=(f+c)/2)}var j=s*X(p),z=s*I(p),F=r*X(T),G=r*I(T);if(w>y){var H=s*X(g),J=s*I(g),L=r*X(A),Y=r*I(A),S;if(V<an)if(S=dn(j,z,L,Y,H,J,F,G)){var Z=j-S[0],$=z-S[1],k=H-S[0],b=J-S[1],nn=1/I(fn((Z*k+$*b)/(B(Z*Z+$*$)*B(k*k+b*b)))/2),en=B(S[0]*S[0]+S[1]*S[1]);d=_(w,(r-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}E>y?x>y?(e=K(L,Y,j,z,s,x,o),u=K(H,J,F,G,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(a.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),a.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),a.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(a.moveTo(j,z),a.arc(0,0,s,p,g,!o)):a.moveTo(j,z),!(r>y)||!(P>y)?a.lineTo(F,G):d>y?(e=K(F,G,H,J,r,-d,o),u=K(j,z,L,Y,r,-d,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?a.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(a.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),a.arc(0,0,r,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),a.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):a.arc(0,0,r,T,A,o)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-an/2;return[X(m)*n,I(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(q=typeof n=="function"?n:Q(+n),i):q},i.padRadius=function(n){return arguments.length?(O=n==null?null:typeof n=="function"?n:Q(+n),i):O},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(U=typeof n=="function"?n:Q(+n),i):U},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{vn as a};
@@ -1 +0,0 @@
1
- import{U as a,E as n}from"./index-VzDb_AHs.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{al as o,am as n}from"./mermaid.core-CI-VJEiw.js";const l=(a,r)=>o.lang.round(n.parse(a)[r]);export{l as c};
@@ -1,2 +0,0 @@
1
- import{s as A,d as S,p as G}from"./styles-9a916d00-BK7pejCH.js";import{g as v,l as y,d as B,e as W,an as $,A as M,ar as I}from"./mermaid.core-CI-VJEiw.js";import{G as O}from"./graph-BsYIlc-B.js";import{l as P}from"./layout-B1ePJO5V.js";import{l as X}from"./line-DfhCgsyz.js";import"./tool-windows-CtLXQDGF.js";import"./array-B5oSNiGi.js";import"./path-CY0bYimO.js";let H=0;const Y=function(i,a,t,o,p){const g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=X().x(function(e){return e.x}).y(function(e){return e.y}).curve($),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let f,h;const x=a.points.length;let b=M.calcLabelPosition(a.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=M.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=M.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",u).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},J=function(i,a,t,o){y.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=C(a);const f=c.append("tspan").text(r).attr("class","title");n||f.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,u;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){_(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){_(d,l,n,t),n=!1})}const m=s.node().getBBox();var w=" ";a.cssClasses.length>0&&(w=w+a.cssClasses.join(" "));const e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},C=function(i){let a=i.id;return i.type&&(a+="<"+I(i.type)+">"),a},Z=function(i,a,t,o){y.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(`
2
- `);n.forEach(function(x){y.debug(`Adding line: ${x}`),c.append("tspan").text(x).attr("class","title").attr("dy",t.textHeight)});const r=s.node().getBBox(),h=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",r.width+2*t.padding).attr("height",r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return c.node().childNodes.forEach(function(x){x.setAttribute("x",(h-x.getBBox().width)/2)}),g.width=h,g.height=r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin,g},_=function(i,a,t,o){const{displayText:p,cssStyle:g}=a.getDisplayDetails(),s=i.append("tspan").attr("x",o.padding).text(p);g!==""&&s.attr("style",a.cssStyle),t||s.attr("dy",o.textHeight)},N={getClassTitleString:C,drawClass:J,drawEdge:Y,drawNote:Z};let T={};const E=20,L=function(i){const a=Object.entries(T).find(t=>t[1].label===i);if(a)return a[0]},R=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},F=function(i,a,t,o){const p=v().class;T={},y.info("Rendering diagram "+i);const g=v().securityLevel;let s;g==="sandbox"&&(s=B("#i"+a));const c=g==="sandbox"?B(s.nodes()[0].contentDocument.body):B("body"),n=c.select(`[id='${a}']`);R(n);const r=new O({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const f=o.db.getClasses(),h=Object.keys(f);for(const e of h){const d=f[e],l=N.drawClass(n,d,p,o);T[l.id]=l,r.setNode(l.id,l),y.info("Org height: "+l.height)}o.db.getRelations().forEach(function(e){y.info("tjoho"+L(e.id1)+L(e.id2)+JSON.stringify(e)),r.setEdge(L(e.id1),L(e.id2),{relation:e},e.title||"DEFAULT")}),o.db.getNotes().forEach(function(e){y.debug(`Adding note: ${JSON.stringify(e)}`);const d=N.drawNote(n,e,p,o);T[d.id]=d,r.setNode(d.id,d),e.class&&e.class in f&&r.setEdge(e.id,L(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),P(r),r.nodes().forEach(function(e){e!==void 0&&r.node(e)!==void 0&&(y.debug("Node "+e+": "+JSON.stringify(r.node(e))),c.select("#"+(o.db.lookUpDomId(e)||e)).attr("transform","translate("+(r.node(e).x-r.node(e).width/2)+","+(r.node(e).y-r.node(e).height/2)+" )"))}),r.edges().forEach(function(e){e!==void 0&&r.edge(e)!==void 0&&(y.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r.edge(e))),N.drawEdge(n,r.edge(e),r.edge(e).relation,p,o))});const u=n.node().getBBox(),m=u.width+E*2,w=u.height+E*2;W(n,w,m,p.useMaxWidth);const k=`${u.x-E} ${u.y-E} ${m} ${w}`;y.debug(`viewBox ${k}`),n.attr("viewBox",k)},U={draw:F},et={parser:G,db:S,renderer:U,styles:A,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,S.clear()}};export{et as diagram};
@@ -1,2 +0,0 @@
1
- import{s as M,d as _,p as R}from"./styles-9a916d00-BK7pejCH.js";import{l as d,g as c,d as w,A as B,p as G,k as D,q as E,r as A,o as C}from"./mermaid.core-CI-VJEiw.js";import{G as q}from"./graph-BsYIlc-B.js";import{r as z}from"./index-3862675e-BSxxidV_.js";import"./layout-B1ePJO5V.js";import"./tool-windows-CtLXQDGF.js";import"./clone-fuaXEdc-.js";import"./edges-e0da2a9e-DZalSm7f.js";import"./createText-2e5e7dd3-B8gnT5hD.js";import"./line-DfhCgsyz.js";import"./array-B5oSNiGi.js";import"./path-CY0bYimO.js";const S=s=>D.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const P=function(s,t,y,a){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),$(l.classes,t,y,a,l.id),d.info("setNode",p)})},$=function(s,t,y,a,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const n=s[o],p=n.cssClasses.join(" "),f=E(n.styles),m=n.label??n.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:S(m),classData:n,rx:u,ry:u,class:p,style:f.style,id:n.id,domId:n.domId,tooltip:a.db.getTooltip(n.id,e)||"",haveCallback:n.haveCallback,link:n.link,width:n.type==="group"?500:void 0,type:n.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(n.id,b),e&&t.setParent(n.id,e),d.info("setNode",b)})},F=function(s,t,y,a){d.info(s),s.forEach(function(e,i){var o,r;const l=e,n="",p={labelStyle:"",style:""},f=l.text,m=0,h={labelStyle:p.labelStyle,shape:"note",labelText:S(f),noteData:l,rx:m,ry:m,class:n,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,h),d.info("setNode",h),!l.class||!(l.class in a))return;const b=y+i,x={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:A(k.curve,C)};t.setEdge(l.id,l.class,x,b)})},H=function(s,t){const y=c().flowchart;let a=0;s.forEach(function(e){var i;a++;const o={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:`id_${e.id1}_${e.id2}_${a}`,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:N(e.relation.type1),arrowTypeEnd:N(e.relation.type2),style:"fill:none",labelStyle:"",curve:A(y==null?void 0:y.curve,C)};if(d.info(o,e),e.style!==void 0){const r=E(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label='<span class="edgeLabel">'+e.text+"</span>"):(o.labelType="text",o.label=e.text.replace(D.lineBreakRegex,`
2
- `),e.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,o,a)})},V=function(s){k={...k,...s}},W=async function(s,t,y,a){d.info("Drawing class - ",t);const e=c().flowchart??c().class,i=c().securityLevel;d.info("config:",e);const o=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,l=new q({multigraph:!0,compound:!0}).setGraph({rankdir:a.db.getDirection(),nodesep:o,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=a.db.getNamespaces(),p=a.db.getClasses(),f=a.db.getRelations(),m=a.db.getNotes();d.info(f),P(n,l,t,a),$(p,l,t,a),H(f,l),F(m,l,f.length+1,p);let u;i==="sandbox"&&(u=w("#i"+t));const h=i==="sandbox"?w(u.nodes()[0].contentDocument.body):w("body"),b=h.select(`[id="${t}"]`),x=h.select("#"+t+" g");if(await z(x,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),B.insertTitle(b,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,a.db.getDiagramTitle()),G(l,b,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const T=i==="sandbox"?u.nodes()[0].contentDocument:document,I=T.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const g of I){const L=g.getBBox(),v=T.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",L.width),v.setAttribute("height",L.height),g.insertBefore(v,g.firstChild)}}};function N(s){let t;switch(s){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}const J={setConf:V,draw:W},se={parser:R,db:_,renderer:J,styles:M,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,_.clear()}};export{se as diagram};
@@ -1,2 +0,0 @@
1
- import{s as M,d as _,p as R}from"./styles-9a916d00-CSwFWVnr.js";import{l as d,g as c,d as w,A as B,p as G,k as D,q as E,r as A,o as C}from"./index-VzDb_AHs.js";import{G as q}from"./graph-Bnmq4jgf.js";import{r as z}from"./index-3862675e-CQLKy6RO.js";import"./layout-DKqEkE_W.js";import"./tool-windows-CtLXQDGF.js";import"./edges-e0da2a9e-CyRAzEMi.js";import"./createText-2e5e7dd3-D7dXlVes.js";import"./index-D1ORCZqJ.js";import"./browser-Dya3c6_X.js";import"./line-C_jmJ6v1.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const S=s=>D.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const P=function(s,t,y,a){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),$(l.classes,t,y,a,l.id),d.info("setNode",p)})},$=function(s,t,y,a,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const n=s[o],p=n.cssClasses.join(" "),f=E(n.styles),m=n.label??n.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:S(m),classData:n,rx:u,ry:u,class:p,style:f.style,id:n.id,domId:n.domId,tooltip:a.db.getTooltip(n.id,e)||"",haveCallback:n.haveCallback,link:n.link,width:n.type==="group"?500:void 0,type:n.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(n.id,b),e&&t.setParent(n.id,e),d.info("setNode",b)})},F=function(s,t,y,a){d.info(s),s.forEach(function(e,i){var o,r;const l=e,n="",p={labelStyle:"",style:""},f=l.text,m=0,h={labelStyle:p.labelStyle,shape:"note",labelText:S(f),noteData:l,rx:m,ry:m,class:n,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,h),d.info("setNode",h),!l.class||!(l.class in a))return;const b=y+i,x={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:A(k.curve,C)};t.setEdge(l.id,l.class,x,b)})},H=function(s,t){const y=c().flowchart;let a=0;s.forEach(function(e){var i;a++;const o={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:`id_${e.id1}_${e.id2}_${a}`,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:N(e.relation.type1),arrowTypeEnd:N(e.relation.type2),style:"fill:none",labelStyle:"",curve:A(y==null?void 0:y.curve,C)};if(d.info(o,e),e.style!==void 0){const r=E(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label='<span class="edgeLabel">'+e.text+"</span>"):(o.labelType="text",o.label=e.text.replace(D.lineBreakRegex,`
2
- `),e.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,o,a)})},V=function(s){k={...k,...s}},W=async function(s,t,y,a){d.info("Drawing class - ",t);const e=c().flowchart??c().class,i=c().securityLevel;d.info("config:",e);const o=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,l=new q({multigraph:!0,compound:!0}).setGraph({rankdir:a.db.getDirection(),nodesep:o,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=a.db.getNamespaces(),p=a.db.getClasses(),f=a.db.getRelations(),m=a.db.getNotes();d.info(f),P(n,l,t,a),$(p,l,t,a),H(f,l),F(m,l,f.length+1,p);let u;i==="sandbox"&&(u=w("#i"+t));const h=i==="sandbox"?w(u.nodes()[0].contentDocument.body):w("body"),b=h.select(`[id="${t}"]`),x=h.select("#"+t+" g");if(await z(x,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),B.insertTitle(b,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,a.db.getDiagramTitle()),G(l,b,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const T=i==="sandbox"?u.nodes()[0].contentDocument:document,I=T.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const g of I){const L=g.getBBox(),v=T.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",L.width),v.setAttribute("height",L.height),g.insertBefore(v,g.firstChild)}}};function N(s){let t;switch(s){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}const J={setConf:V,draw:W},ne={parser:R,db:_,renderer:J,styles:M,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,_.clear()}};export{ne as diagram};
@@ -1 +0,0 @@
1
- import{a as r}from"./graph-BsYIlc-B.js";var a=4;function n(o){return r(o,a)}export{n as c};
@@ -1,4 +0,0 @@
1
- import{l as g,an as lt,g as b,t as H,d as E,A as j,i as q,ao as Q}from"./mermaid.core-CI-VJEiw.js";import{c as st}from"./createText-2e5e7dd3-B8gnT5hD.js";import{l as ct}from"./line-DfhCgsyz.js";const ht=(e,t,a,i)=>{t.forEach(l=>{wt[l](e,a,i)})},ot=(e,t,a)=>{g.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},yt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},pt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ft=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},xt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},dt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ut=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},bt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},wt={extension:ot,composition:yt,aggregation:pt,dependency:ft,lollipop:xt,point:dt,circle:gt,cross:ut,barb:bt},hr=ht;function mt(e,t){t&&e.attr("style",t)}function kt(e){const t=E(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('<span class="'+l+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+i+"</span>"),mt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const vt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),H(b().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),g.debug("vertexText"+l);const r={isNode:i,label:Q(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>`<i class='${n.replace(":"," ")}'></i>`),labelStyle:t.replace("fill:","color:")};return kt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?s=l:s=[];for(const n of s){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},R=vt,M=async(e,t,a,i)=>{let l;const r=t.useHtmlLabels||H(b().flowchart.htmlLabels);a?l=a:l="node default";const s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=st(n,q(Q(c),b()),{useHtmlLabels:r,width:t.width||b().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(R(q(Q(c),b()),t.labelStyle,!1,i));let y=h.getBBox();const f=t.padding/2;if(H(b().flowchart.htmlLabels)){const p=h.children[0],d=E(h),k=p.getElementsByTagName("img");if(k){const x=c.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...k].map(u=>new Promise(S=>{function B(){if(u.style.display="flex",u.style.flexDirection="column",x){const C=b().fontSize?b().fontSize:window.getComputedStyle(document.body).fontSize,A=parseInt(C,10)*5+"px";u.style.minWidth=A,u.style.maxWidth=A}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&B()}),u.addEventListener("error",B),u.addEventListener("load",B)})))}y=p.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:f,label:n}},m=(e,t)=>{const a=t.node().getBBox();e.width=a.width,e.height=a.height};function I(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function Lt(e,t){return e.intersect(t)}function it(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),o=Math.abs(t*a*s/c);i.x<l&&(o=-o);var h=Math.abs(t*a*n/c);return i.y<r&&(h=-h),{x:l+o,y:r+h}}function St(e,t,a){return it(e,t,t,a)}function Mt(e,t,a,i){var l,r,s,n,c,o,h,y,f,p,d,k,x,u,S;if(l=t.y-e.y,s=e.x-t.x,c=t.x*e.y-e.x*t.y,f=l*a.x+s*a.y+c,p=l*i.x+s*i.y+c,!(f!==0&&p!==0&&J(f,p))&&(r=i.y-a.y,n=a.x-i.x,o=i.x*a.y-a.x*i.y,h=r*e.x+n*e.y+o,y=r*t.x+n*t.y+o,!(h!==0&&y!==0&&J(h,y))&&(d=l*n-r*s,d!==0)))return k=Math.abs(d/2),x=s*o-n*c,u=x<0?(x-k)/d:(x+k)/d,x=r*c-l*o,S=x<0?(x-k)/d:(x+k)/d,{x:u,y:S}}function J(e,t){return e*t>0}function Tt(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,o=l-e.height/2-n,h=0;h<t.length;h++){var y=t[h],f=t[h<t.length-1?h+1:0],p=Mt(e,a,{x:c+y.x,y:o+y.y},{x:c+f.x,y:o+f.y});p&&r.push(p)}return r.length?(r.length>1&&r.sort(function(d,k){var x=d.x-a.x,u=d.y-a.y,S=Math.sqrt(x*x+u*u),B=k.x-a.x,C=k.y-a.y,X=Math.sqrt(B*B+C*C);return S<X?-1:S===X?0:1}),r[0]):e}const Bt=(e,t)=>{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,o;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,o=n):(l<0&&(s=-s),c=s,o=l===0?0:s*r/l),{x:a+c,y:i+o}},Et=Bt,w={node:Lt,circle:St,ellipse:it,polygon:Tt,rect:Et},Ct=async(e,t)=>{t.useHtmlLabels||b().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await M(e,t,"node "+t.classes,!0);g.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),m(t,s),t.intersect=function(n){return w.rect(t,n)},i},$t=Ct,_t=e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Rt=(e,t,a)=>{const i=_t(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},K=e=>e?" "+e:"",_=(e,t)=>`node default${K(e.classes)} ${K(e.class)}`,P=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];g.info("Question main (Circle)");const c=I(a,s,s,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return g.warn("Intersect called"),w.polygon(t,n,o)},a},Ht=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return w.circle(t,14,s)},a},It=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Nt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Rt(t.directions,i,t),o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Ot=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return I(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return w.polygon(t,s,c)},a},Wt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Xt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Yt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},At=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Dt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},jt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,o=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return m(t,o),t.intersect=function(h){const y=w.rect(t,h),f=y.x-t.x;if(r!=0&&(Math.abs(f)<t.width/2||Math.abs(f)==t.width/2&&Math.abs(y.y-t.y)>t.height/2-s)){let p=s*s*(1-f*f/(r*r));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),y.y+=p}return y},a},Ut=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(V(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},zt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(V(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Zt=async(e,t)=>{const{shapeSvg:a}=await M(e,t,"label",!0);g.trace("Classes = ",t.class);const i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(V(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{g.warn(`Unknown node property ${n}`)})}return m(t,i),t.intersect=function(s){return w.rect(t,s)},a};function V(e,t,a,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(g.debug("add top border"),r(a)):s(a),t.includes("r")?(g.debug("add right border"),r(i)):s(i),t.includes("b")?(g.debug("add bottom border"),r(a)):s(a),t.includes("l")?(g.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}const Gt=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,g.info("Label text abc79",c,n,typeof n=="object");const o=s.node().appendChild(R(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(H(b().flowchart.htmlLabels)){const k=o.children[0],x=E(o);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}g.info("Text 2",n);const y=n.slice(1,n.length);let f=o.getBBox();const p=s.node().appendChild(R(y.join?y.join("<br/>"):y,t.labelStyle,!0,!0));if(H(b().flowchart.htmlLabels)){const k=p.children[0],x=E(p);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}const d=t.padding/2;return E(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+d+5)+")"),E(o).attr("transform","translate( "+(h.width<f.width?0:-(f.width-h.width)/2)+", 0)"),h=s.node().getBBox(),s.attr("transform","translate("+-h.width/2+", "+(-h.height/2-d+3)+")"),l.attr("class","outer title-state").attr("x",-h.width/2-d).attr("y",-h.height/2-d).attr("width",h.width+t.padding).attr("height",h.height+t.padding),r.attr("class","divider").attr("x1",-h.width/2-d).attr("x2",h.width/2+d).attr("y1",-h.height/2-d+f.height+d).attr("y2",-h.height/2-d+f.height+d),m(t,l),t.intersect=function(k){return w.rect(t,k)},i},Ft=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return m(t,s),t.intersect=function(n){return w.rect(t,n)},a},Qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("Circle main"),m(t,r),t.intersect=function(s){return g.info("Circle intersect",t,i.width/2+l,s),w.circle(t,i.width/2+l,s)},a},Vt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return g.info("DoubleCircle intersect",t,i.width/2+l+r,o),w.circle(t,i.width/2+l+r,o)},a},qt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Jt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,i),t.intersect=function(l){return w.circle(t,7,l)},a},tt=(e,t,a)=>{const i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;a==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return m(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return w.rect(t,n)},i},Kt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,l),t.intersect=function(r){return w.circle(t,7,r)},a},Pt=(e,t)=>{const a=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line");let h=0,y=i;const f=s.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=f.node().appendChild(R(k,t.labelStyle,!0,!0));let u=x.getBBox();if(H(b().flowchart.htmlLabels)){const v=x.children[0],L=E(x);u=v.getBoundingClientRect(),L.attr("width",u.width),L.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,h+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(b().flowchart.htmlLabels?S+="&lt;"+t.classData.type+"&gt;":S+="<"+t.classData.type+">");const B=f.node().appendChild(R(S,t.labelStyle,!0,!0));E(B).attr("class","classTitle");let C=B.getBBox();if(H(b().flowchart.htmlLabels)){const v=B.children[0],L=E(B);C=v.getBoundingClientRect(),L.attr("width",C.width),L.attr("height",C.height)}y+=C.height+i,C.width>h&&(h=C.width);const X=[];t.classData.members.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],D=E(N);$=F.getBoundingClientRect(),D.attr("width",$.width),D.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,X.push(N)}),y+=l;const A=[];if(t.classData.methods.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],D=E(N);$=F.getBoundingClientRect(),D.attr("width",$.width),D.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,A.push(N)}),y+=l,d){let v=(h-u.width)/2;E(x).attr("transform","translate( "+(-1*h/2+v)+", "+-1*y/2+")"),p=u.height+i}let nt=(h-C.width)/2;return E(B).attr("transform","translate( "+(-1*h/2+nt)+", "+(-1*y/2+p)+")"),p+=C.height+i,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,X.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p+l/2)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),p+=l,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,A.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(y/2)-a).attr("width",h+t.padding).attr("height",y+t.padding),m(t,n),t.intersect=function(v){return w.rect(t,v)},s},rt={rhombus:P,composite:zt,question:P,rect:Ut,labelRect:Zt,rectWithTitle:Gt,choice:Ht,circle:Qt,doublecircle:Vt,stadium:Ft,hexagon:It,block_arrow:Nt,rect_left_inv_arrow:Ot,lean_right:Wt,lean_left:Xt,trapezoid:Yt,inv_trapezoid:At,rect_right_inv_arrow:Dt,cylinder:jt,start:Jt,end:Kt,note:$t,subroutine:qt,fork:tt,join:tt,class_box:Pt};let Y={};const or=async(e,t,a)=>{let i,l;if(t.link){let r;b().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await rt[t.shape](i,t,a)}else l=await rt[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),Y[t.id]=i,t.haveCallback&&Y[t.id].attr("class",Y[t.id].attr("class")+" clickable"),i},yr=(e,t)=>{Y[t.id]=e},pr=()=>{Y={}},fr=e=>{const t=Y[e.id];g.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},tr=({flowchart:e})=>{var t,a;const i=((t=e==null?void 0:e.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e==null?void 0:e.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function U(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=Z(e),t=Z(t);const[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const Z=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,rr=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaX:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaX:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return Z(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaY:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaY:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return Z(t).y+l}}),ar=(e,t,a,i,l)=>{t.arrowTypeStart&&at(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&at(e,"end",t.arrowTypeEnd,a,i,l)},er={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},at=(e,t,a,i,l,r)=>{const s=er[a];if(!s){g.warn(`Unknown arrow type: ${a}`);return}const n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let G={},T={};const xr=()=>{G={},T={}},dr=(e,t)=>{const a=H(b().flowchart.htmlLabels),i=t.labelType==="markdown"?st(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):R(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){const c=i.children[0],o=E(i);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),G[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=R(t.startLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startLeft=o,z(n,t.startLabelLeft)}if(t.startLabelRight){const c=R(t.startLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startRight=o,z(n,t.startLabelRight)}if(t.endLabelLeft){const c=R(t.endLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endLeft=o,z(n,t.endLabelLeft)}if(t.endLabelRight){const c=R(t.endLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endRight=o,z(n,t.endLabelRight)}return i};function z(e,t){b().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}const gr=(e,t)=>{g.debug("Moving label abc88 ",e.id,e.label,G[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const i=b(),{subGraphTitleTotalMargin:l}=tr(i);if(e.label){const r=G[e.id];let s=e.x,n=e.y;if(a){const c=j.calcLabelPosition(a);g.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){const r=T[e.id].startLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){const r=T[e.id].startRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){const r=T[e.id].endLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){const r=T[e.id].endRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},sr=(e,t)=>{const a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},ir=(e,t,a)=>{g.debug(`intersection calc abc89:
2
- outsidePoint: ${JSON.stringify(t)}
3
- insidePoint : ${JSON.stringify(a)}
4
- node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const i=e.x,l=e.y,r=Math.abs(i-a.x),s=e.width/2;let n=a.x<t.x?s-r:s+r;const c=e.height/2,o=Math.abs(t.y-a.y),h=Math.abs(t.x-a.x);if(Math.abs(l-t.y)*s>Math.abs(i-t.x)*c){let y=a.y<t.y?t.y-c-l:l-c-t.y;n=h*y/o;const f={x:a.x<t.x?a.x+n:a.x-h+n,y:a.y<t.y?a.y+o-y:a.y-o+y};return n===0&&(f.x=t.x,f.y=t.y),h===0&&(f.x=t.x),o===0&&(f.y=t.y),g.debug(`abc89 topp/bott calc, Q ${o}, q ${y}, R ${h}, r ${n}`,f),f}else{a.x<t.x?n=t.x-s-i:n=i-s-t.x;let y=o*n/h,f=a.x<t.x?a.x+h-n:a.x-h+n,p=a.y<t.y?a.y+y:a.y-y;return g.debug(`sides calc abc89, Q ${o}, q ${y}, R ${h}, r ${n}`,{_x:f,_y:p}),n===0&&(f=t.x,p=t.y),h===0&&(f=t.x),o===0&&(p=t.y),{x:f,y:p}}},et=(e,t)=>{g.debug("abc88 cutPathAtIntersect",e,t);let a=[],i=e[0],l=!1;return e.forEach(r=>{if(!sr(t,r)&&!l){const s=ir(t,i,r);let n=!1;a.forEach(c=>{n=n||c.x===s.x&&c.y===s.y}),a.some(c=>c.x===s.x&&c.y===s.y)||a.push(s),l=!0}else i=r,l||a.push(r)}),a},ur=function(e,t,a,i,l,r,s){let n=a.points;g.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1;const o=r.node(t.v);var h=r.node(t.w);h!=null&&h.intersect&&(o!=null&&o.intersect)&&(n=n.slice(1,a.points.length-1),n.unshift(o.intersect(n[0])),n.push(h.intersect(n[n.length-1]))),a.toCluster&&(g.debug("to cluster abc88",i[a.toCluster]),n=et(a.points,i[a.toCluster].node),c=!0),a.fromCluster&&(g.debug("from cluster abc88",i[a.fromCluster]),n=et(n.reverse(),i[a.fromCluster].node).reverse(),c=!0);const y=n.filter(C=>!Number.isNaN(C.y));let f=lt;a.curve&&(l==="graph"||l==="flowchart")&&(f=a.curve);const{x:p,y:d}=rr(a),k=ct().x(p).y(d).curve(f);let x;switch(a.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-thick";break;default:x=""}switch(a.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break}const u=e.append("path").attr("d",k(y)).attr("id",a.id).attr("class"," "+x+(a.classes?" "+a.classes:"")).attr("style",a.style);let S="";(b().flowchart.arrowMarkerAbsolute||b().state.arrowMarkerAbsolute)&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),ar(u,a,S,s,l);let B={};return c&&(B.updatedPath=n),B.originalPath=a.points,B};export{or as a,dr as b,ur as c,gr as d,Et as e,R as f,tr as g,pr as h,hr as i,xr as j,rr as k,M as l,ar as m,fr as p,yr as s,m as u};
@@ -1 +0,0 @@
1
- import{f as o,p as e}from"./flowDb-956e92f1-DAqb8wjP.js";import{f as a,g as t}from"./styles-c10674c1-cccyjRUz.js";import{aq as i}from"./mermaid.core-CI-VJEiw.js";import"./graph-BsYIlc-B.js";import"./layout-B1ePJO5V.js";import"./index-3862675e-BSxxidV_.js";import"./clone-fuaXEdc-.js";import"./edges-e0da2a9e-DZalSm7f.js";import"./createText-2e5e7dd3-B8gnT5hD.js";import"./tool-windows-CtLXQDGF.js";import"./line-DfhCgsyz.js";import"./array-B5oSNiGi.js";import"./path-CY0bYimO.js";import"./channel-DQOY3XLe.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram};
@@ -1 +0,0 @@
1
- import{f as o,p as e}from"./flowDb-956e92f1-f30uG4pp.js";import{f as a,g as t}from"./styles-c10674c1-KfJINP7I.js";import{I as i}from"./index-VzDb_AHs.js";import"./graph-Bnmq4jgf.js";import"./layout-DKqEkE_W.js";import"./index-3862675e-CQLKy6RO.js";import"./tool-windows-CtLXQDGF.js";import"./edges-e0da2a9e-CyRAzEMi.js";import"./createText-2e5e7dd3-D7dXlVes.js";import"./index-D1ORCZqJ.js";import"./browser-Dya3c6_X.js";import"./line-C_jmJ6v1.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./channel-DMTz1UNN.js";const c={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{c as diagram};