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
@@ -0,0 +1 @@
1
+ import{cV as ge,aj as x,cW as ee,ai as g,cX as Ee,cY as he,cF as we,cZ as J,c_ as ve,c$ as xe,d0 as ye,bm as Ne,T as W,d1 as C,d2 as te,d3 as re,d4 as _e,d5 as be,d6 as Ie,d7 as Se,d8 as Ae,d9 as Te,da as De,db as Me,cB as E,dc as Re,dd as Ve,k as Oe,de as Ue,df as je,dg as Ce,dh as k,di as j,dj as ze,dk as se,dl as Fe,dm as Le,bw as ne}from"./tool-windows-DOIu9TAD.js";function qe(e,t,s){return e==="size"?s.split("(")[0].trim():e==="duration"?`${t}s`:e==="klingAction2"?t==="image2video"?"图生":"文生":e==="mode"?t:s}const it=({selectedParams:e,onParamChange:t,compatibleParams:s,modelId:n,language:r="zh",disabled:o=!1,isOpen:i,onOpenChange:a,excludeParamIds:u,placement:d="up"})=>{const{value:c,setValue:N}=ge({controlledValue:i,defaultValue:!1,onChange:a}),[D,M]=x.useState(0),[F,R]=x.useState(0),h=x.useMemo(()=>{const l=s??ee(n);return u&&u.length>0?l.filter(m=>!u.includes(m.id)):l},[s,n,u]);x.useEffect(()=>{var l;if(c&&h.length>0){M(0);const m=h[0],P=e[m.id],_=((l=m.options)==null?void 0:l.findIndex(v=>v.value===P))??0;R(_>=0?_:0)}},[c,h,e]);const H=x.useMemo(()=>{if(h.length===0)return r==="zh"?"参数":"Params";const l=[];return h.forEach(m=>{var _;const P=e[m.id];if(P)if(m.valueType==="enum"){const v=(_=m.options)==null?void 0:_.find(f=>f.value===P);v&&l.push(qe(m.id,P,v.label))}else{const v=P.length>10?`${P.slice(0,10)}…`:P;l.push(`${m.shortLabel||m.label}:${v}`)}}),l.length===0?r==="zh"?"配置参数":"Settings":l.join(", ")},[h,e,r]),le=x.useCallback(l=>{l.preventDefault(),!o&&N(!c)},[o,c,N]),me=x.useCallback(l=>{var _,v;if(l==="Escape")return N(!1),!0;const m=h[D],P=((_=m==null?void 0:m.options)==null?void 0:_.length)??0;if(l==="ArrowDown")return M(f=>{var A;const V=f<h.length-1?f+1:0,T=h[V],p=e[T.id],S=((A=T.options)==null?void 0:A.findIndex(O=>O.value===p))??0;return R(S>=0?S:0),V}),!0;if(l==="ArrowUp")return M(f=>{var A;const V=f>0?f-1:h.length-1,T=h[V],p=e[T.id],S=((A=T.options)==null?void 0:A.findIndex(O=>O.value===p))??0;return R(S>=0?S:0),V}),!0;if(l==="ArrowRight")return R(f=>f<P-1?f+1:0),!0;if(l==="ArrowLeft")return R(f=>f>0?f-1:P-1),!0;if(l==="Enter"||l===" "||l==="Tab"){const f=(v=m==null?void 0:m.options)==null?void 0:v[F];return f&&t(m.id,f.value),!0}return!1},[h,D,F,e,t]),pe=x.useCallback((l,m)=>{t(l,m)},[t]),fe=x.useCallback((l,m)=>{t(l,m,{keepOpen:!0})},[t]);return h.length===0?null:g.jsxDEV(Ee,{isOpen:c,setIsOpen:N,disabled:o,openKeys:["Enter"," ","ArrowDown","ArrowUp"],onOpenKey:me,children:({containerRef:l,menuRef:m,portalPosition:P,handleTriggerKeyDown:_})=>{const v=P.top-12,f=window.innerHeight-P.bottom-12,T=(d==="auto"?f>=240||f>=v?"down":"up":d)==="down"?{position:"fixed",zIndex:J.DROPDOWN_PORTAL,left:P.left,top:P.bottom+8,maxHeight:Math.max(240,Math.min(420,f)),overflowY:"auto"}:{position:"fixed",zIndex:J.DROPDOWN_PORTAL,left:P.left,bottom:window.innerHeight-P.top+8,maxHeight:Math.max(240,Math.min(420,v)),overflowY:"auto"};return g.jsxDEV("div",{className:"parameters-dropdown",ref:l,children:[g.jsxDEV("button",{className:`parameters-dropdown__trigger ${c?"parameters-dropdown__trigger--open":""}`,onMouseDown:le,onKeyDown:_,type:"button",disabled:o,title:`${H} (↑↓ Tab)`,children:[g.jsxDEV("span",{className:"parameters-dropdown__label",children:H},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:309,columnNumber:15},void 0),g.jsxDEV(we,{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:310,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:299,columnNumber:13},void 0),c&&he.createPortal(g.jsxDEV("div",{ref:m,className:`parameters-dropdown__menu parameters-dropdown__menu--flat ${ve}`,style:T,onMouseDown:p=>p.stopPropagation(),onClick:p=>p.stopPropagation(),children:[g.jsxDEV("div",{className:"parameters-dropdown__header",children:[g.jsxDEV(xe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:327,columnNumber:21},void 0),g.jsxDEV("span",{children:r==="zh"?"设置生成参数 (↑↓←→ Tab)":"Parameters (↑↓←→ Tab)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:328,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:326,columnNumber:19},void 0),g.jsxDEV("div",{className:"parameters-dropdown__sections",children:h.map((p,S)=>{var G;const A=e[p.id],O=S===D;return g.jsxDEV("div",{className:`parameters-dropdown__section ${O?"parameters-dropdown__section--highlighted":""}`,children:[g.jsxDEV("div",{className:"parameters-dropdown__section-title",children:p.label},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:349,columnNumber:27},void 0),p.valueType==="enum"?g.jsxDEV("div",{className:"parameters-dropdown__options",children:(G=p.options)==null?void 0:G.map((b,Q)=>{const B=A===b.value,Pe=O&&Q===F;return g.jsxDEV("button",{type:"button",className:`parameters-dropdown__option ${B?"parameters-dropdown__option--selected":""} ${Pe?"parameters-dropdown__option--highlighted":""}`,onClick:()=>pe(p.id,b.value),onMouseEnter:()=>{M(S),R(Q)},children:[g.jsxDEV("span",{className:"parameters-dropdown__option-label",children:b.label.split("(")[0].trim()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:381,columnNumber:37},void 0),B&&g.jsxDEV(ye,{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:385,columnNumber:39},void 0)]},b.value,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:361,columnNumber:35},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:353,columnNumber:29},void 0):g.jsxDEV("div",{className:"parameters-dropdown__field",children:g.jsxDEV("input",{type:p.valueType==="number"?"number":"text",className:"parameters-dropdown__field-input",value:A||"",placeholder:p.description||p.label,min:p.valueType==="number"?p.min:void 0,max:p.valueType==="number"?p.max:void 0,step:p.valueType==="number"?p.step:void 0,onChange:b=>fe(p.id,b.target.value),onMouseDown:b=>b.stopPropagation(),onKeyDown:b=>b.stopPropagation()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:396,columnNumber:31},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:395,columnNumber:29},void 0)]},p.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:341,columnNumber:25},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:335,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:319,columnNumber:17},void 0),document.body)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:298,columnNumber:11},void 0)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ai-input-bar/ParametersDropdown.tsx",lineNumber:262,columnNumber:5},void 0)};function at(){const{completedTasks:e}=Ne(),t=x.useMemo(()=>e.filter(r=>{var o;return r.type===W.IMAGE&&((o=r.result)==null?void 0:o.url)}).map(r=>({id:r.id,type:"image",prompt:r.params.prompt,timestamp:r.completedAt||r.createdAt,imageUrl:r.result.url,width:r.result.width||1024,height:r.result.height||1024,uploadedImages:r.params.uploadedImages})).sort((r,o)=>o.timestamp-r.timestamp),[e]),s=x.useMemo(()=>e.filter(r=>{var o;return r.type===W.VIDEO&&((o=r.result)==null?void 0:o.url)}).map(r=>({id:r.id,type:"video",prompt:r.params.prompt,timestamp:r.completedAt||r.createdAt,imageUrl:r.result.thumbnailUrl||r.result.url,width:r.result.width||400,height:r.result.height||225,duration:r.result.duration,previewUrl:r.result.url,downloadUrl:r.result.url,uploadedImage:r.params.uploadedImage})).sort((r,o)=>o.timestamp-r.timestamp),[e]),n=x.useMemo(()=>[...t,...s].sort((r,o)=>o.timestamp-r.timestamp),[t,s]);return{imageHistory:t,videoHistory:s,allHistory:n}}function ke(e){return e.map(t=>t.prompt.trim()).filter(t=>t.length>0).filter((t,s,n)=>n.indexOf(t)===s)}function Ke(e){return e.filter((t,s,n)=>n.indexOf(t)===s)}function oe(e){return e.reduce((t,s)=>{var i,a;const n=s.content.trim();if(!n)return t;const r={...s,content:n,previewExamples:(i=s.previewExamples)==null?void 0:i.slice(0,3)},o=t.get(n);return o?(t.set(n,{...o,historyId:o.historyId||r.historyId,previewExamples:(a=o.previewExamples)!=null&&a.length?o.previewExamples:r.previewExamples}),t):(t.set(n,r),t)},new Map)}function L(e,t,s=[]){const n=oe(s);return C.sortPrompts(e,Ke(t)).map((o,i)=>{const a=n.get(o);return{id:(a==null?void 0:a.historyId)||`${e}-prompt-${i}-${o.slice(0,24)}`,content:o,pinned:C.isPinned(e,o),modelType:e,historyId:a==null?void 0:a.historyId,previewExamples:a==null?void 0:a.previewExamples}})}function q(e,t){return Ae(e,t).map(s=>({content:s}))}function $e(e){return e.map(t=>({content:t.content.trim(),historyId:t.id})).filter(t=>t.content.length>0)}function He(e,t,s){return e==="video"&&"previewUrl"in t&&typeof t.previewUrl=="string"?{kind:"video",src:t.previewUrl||t.downloadUrl||t.imageUrl,posterSrc:t.imageUrl,playable:!0,alt:s}:{kind:"image",src:t.imageUrl,alt:s}}function z(e,t){const s=new Map,n=[];return t.forEach(r=>{const o=r.prompt.trim();if(!o)return;s.has(o)||(s.set(o,[]),n.push(o));const i=s.get(o);if(!i)return;const a=e==="video"&&"previewUrl"in r&&typeof r.previewUrl=="string"&&(r.previewUrl||r.downloadUrl)||r.imageUrl;i.length>=3||i.some(u=>u.src===a)||i.push(He(e,r,e==="image"?`Generated image example ${i.length+1}`:`Generated video example ${i.length+1}`))}),n.map(r=>({content:r,previewExamples:s.get(r)}))}function X(e){return e.map(t=>({content:t.trim()})).filter(t=>t.content.length>0)}function Ge({generationType:e,promptContents:t,imageHistory:s,videoHistory:n}){const r=oe(e==="video"?z(e,n):z(e,s));return t.reduce((o,i)=>{var a;return o.set(i,((a=r.get(i.trim()))==null?void 0:a.previewExamples)??[]),o},new Map)}function ut({generationType:e,language:t,promptContents:s,imageHistory:n,videoHistory:r}){const o=C.sortPrompts(e,s),i=Ge({generationType:e,promptContents:o,imageHistory:n,videoHistory:r});return o.map((a,u)=>({id:`preset-${u}-${a.slice(0,20)}`,content:a,pinned:C.isPinned(e,a),modelType:e,previewExamples:[...i.get(a)??[]]}))}const Y=(e,t,s)=>{const n=e==="image"?be(t):Ie(t),r=ke(s);return[...[...e==="video"?te():re(),...r].filter((u,d,c)=>c.indexOf(u)===d).slice(0,_e),...n].filter((u,d,c)=>c.indexOf(u)===d).slice(0,Se)},dt=({generationType:e,language:t,aiInputHistory:s,imageHistory:n,videoHistory:r})=>{if(e==="image"){const a=[...X(re()),...z("image",n),...q("image",t)];return L("image",Y("image",t,n),a)}if(e==="video"){const a=[...X(te()),...q("video",t),...z("video",r)];return L("video",Y("video",t,r),a)}const o=s.filter(a=>a.modelType===e&&a.content.trim().length>0),i=[...$e(o),...q(e,t)];return L(e,i.map(a=>a.content),i)},ct=(e,t,s)=>{!t||!t.trim()||(e==="video"?Te(t.trim()):De(t.trim()))},Qe={mj_ar:"--ar",mj_v:"--v",mj_style:"--style",mj_s:"--s",mj_q:"--q",mj_seed:"--seed"},lt=e=>{const t=[];return Object.entries(Qe).forEach(([s,n])=>{const r=e[s];!r||r==="default"||t.push(`${n} ${r}`)}),t.join(" ")},Be=new Set([1,2,3,4,5,10,20]);function y(e){try{const t=localStorage.getItem(e);if(!t)return null;const s=JSON.parse(t);return s&&typeof s=="object"&&"value"in s?s.value:s}catch{return null}}function U(e,t){try{const s={value:t,updatedAt:Date.now()};localStorage.setItem(e,JSON.stringify(s))}catch{}}function w(e){return!e||typeof e!="object"||Array.isArray(e)?{}:Object.entries(e).reduce((t,[s,n])=>(typeof n=="string"&&(t[s]=n),t),{})}function I(e,t){return typeof t=="string"&&t.trim()?t.trim():e}function Z(e){var t;return new Set(((t=e==null?void 0:e.options)==null?void 0:t.map(s=>s.value))||[])}function Je(e,t){const s=e.find(N=>N.id==="resolution"),n=e.find(N=>N.id==="quality"),r=Z(s),o=Z(n),i=r.has("1k")&&r.has("2k")&&r.has("4k"),a=o.has("auto")&&o.has("low")&&o.has("medium")&&o.has("high");if(!i||!a)return t;const u={...t},d=u.resolution,c=u.quality;return c&&r.has(c)&&!r.has(d)&&(u.resolution=c),c&&!o.has(c)&&delete u.quality,u}function K(e,t,s){var u;const n=ee(e),r=new Set([]),o=Je(n,w(t)),i={},a=n.find(d=>d.id==="size");if(a&&!e.startsWith("mj")&&!r.has("size")&&(s==null?void 0:s.keepDefaultSize)!==!1){const d=o.size,c=(u=a.options)==null?void 0:u.some(N=>N.value===d);i.size=c?d:Re(e)}return n.forEach(d=>{var D;if(r.has(d.id)||d.id==="size")return;const c=o[d.id];if((d.valueType==="enum"?(D=d.options)==null?void 0:D.some(M=>M.value===c):typeof c=="string"&&c!=="")&&c){i[d.id]=c;return}d.defaultValue&&(i[d.id]=d.defaultValue)}),Ve(e,i)}function ie(e,t){return K(e,t)}function We(e,t){var o,i;const s=y(E.AI_INPUT_PREFERENCES)||{},n=I(e,t),r=(i=(o=s.scopedPreferences)==null?void 0:o.image)==null?void 0:i[n];return r?w(r):s.generationType==="image"&&s.selectedModel===e?w(s.selectedParams):null}function Xe(e,t,s){var u,d,c;const n=y(E.AI_INPUT_PREFERENCES)||{},r=I(e,t),o=n.generationType==="image"&&n.selectedModel===e?w(n.selectedParams):{},i=w((d=(u=n.scopedPreferences)==null?void 0:u.image)==null?void 0:d[r]),a=K(e,{...o,...i,...s});U(E.AI_INPUT_PREFERENCES,{...n,scopedPreferences:{...n.scopedPreferences||{},image:{...((c=n.scopedPreferences)==null?void 0:c.image)||{},[r]:a}}})}function $(e,t){const s=w(t);return ze(e,e,s).reduce((r,o)=>{var u;const i=s[o.id];return(o.valueType==="enum"?(u=o.options)==null?void 0:u.some(d=>d.value===i):typeof i=="string"&&i!=="")&&i?(r[o.id]=i,r):(o.defaultValue&&(r[o.id]=o.defaultValue),r)},{})}function ae(e,t,s){return{...w(e),...typeof t=="string"&&t.trim()?{duration:t.trim()}:{},...typeof s=="string"&&s.trim()?{size:s.trim()}:{}}}function ue(e,t){const s=Fe(se(e)),{duration:n,size:r,...o}=t;return{extraParams:o,duration:n||s.duration,size:r||s.size}}function Ye(e,t){var o,i;const s=y(E.AI_INPUT_PREFERENCES)||{},n=I(e,t),r=(i=(o=s.scopedPreferences)==null?void 0:o.video)==null?void 0:i[n];return r?w(r):s.generationType==="video"&&s.selectedModel===e?w(s.selectedParams):null}function Ze(e,t,s){var u,d,c;const n=y(E.AI_INPUT_PREFERENCES)||{},r=I(e,t),o=n.generationType==="video"&&n.selectedModel===e?w(n.selectedParams):{},i=w((d=(u=n.scopedPreferences)==null?void 0:u.video)==null?void 0:d[r]),a=$(e,{...o,...i,...s});U(E.AI_INPUT_PREFERENCES,{...n,scopedPreferences:{...n.scopedPreferences||{},video:{...((c=n.scopedPreferences)==null?void 0:c.video)||{},[r]:a}}})}function et(e){return e==="video"?Oe():e==="audio"?Ue():e==="text"||e==="agent"?je:Ce()}function tt(e){return e==="image"||e==="video"||e==="audio"||e==="text"||e==="agent"}function rt(e){const t=ne(e);if(t.length===0)return new Set(j.map(r=>r.value));const s=new Set,n=new Map(j.map(r=>[r.value.replace(":","x"),r.value]));return t.forEach(r=>{if(r.value==="auto"){s.add("auto");return}const o=n.get(r.value);o&&s.add(o)}),s.size>0?s:new Set(j.map(r=>r.value))}function de(e,t){if(typeof t!="string")return k;const s=rt(e);return s.has(t)?t:s.has("auto")?"auto":k}function st(e){if(typeof e!="string"||!e.trim())return;if(e==="auto")return k;const t=e.trim().replace(/[xX]/g,":");return j.some(s=>s.value===t)?t:void 0}function nt(e,t){const s=de(e,t),n=Le(s);if(n)return ne(e).some(r=>r.value===n)?n:void 0}function ce(e,t,s){const n=w(t);if(n.size)return n;const r=nt(e,s);return r?{...n,size:r}:n}function mt(){const e=y(E.AI_INPUT_PREFERENCES)||{},t=e.generationType,n=e.modeVersion!==2&&t==="text"?"agent":tt(t)?t:"image",r=et(n),o=typeof e.selectedModel=="string"?e.selectedModel:"",i=o?Me(o):null,a=i&&(i.type===n||(n==="text"||n==="agent")&&i.type==="text")?o:r,u=n==="agent"?{}:K(a,e.selectedParams),d=n==="agent"||n==="text"?1:typeof e.selectedCount=="number"&&Be.has(e.selectedCount)?e.selectedCount:1;return{generationType:n,selectedModel:a,selectedParams:u,selectedCount:d,selectedSkillId:typeof e.selectedSkillId=="string"&&e.selectedSkillId.trim()?e.selectedSkillId.trim():"auto"}}function pt(e){const t=y(E.AI_INPUT_PREFERENCES)||{};U(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 ft(e){const t=y(E.AI_IMAGE_TOOL_PREFERENCES)||{},s=I(e.currentModel,e.currentSelectionKey),n=ie(e.currentModel,ce(e.currentModel,e.extraParams,e.aspectRatio));U(E.AI_IMAGE_TOOL_PREFERENCES,{...t,...e,extraParams:n,scopedPreferences:{...t.scopedPreferences||{},[s]:{modelId:e.currentModel,selectionKey:e.currentSelectionKey||null,extraParams:n,aspectRatio:e.aspectRatio}}}),Xe(e.currentModel,e.currentSelectionKey,n)}function Pt(e){const t=y(E.AI_VIDEO_TOOL_PREFERENCES)||{},s=I(e.currentModel,e.currentSelectionKey),n=$(e.currentModel,ae(e.extraParams,e.duration,e.size)),r=ue(e.currentModel,n);U(E.AI_VIDEO_TOOL_PREFERENCES,{...t,...e,...r,scopedPreferences:{...t.scopedPreferences||{},[s]:{modelId:e.currentModel,selectionKey:e.currentSelectionKey||null,...r}}}),Ze(e.currentModel,e.currentSelectionKey,n)}function gt(e,t,s,n){var a,u;const r=y(E.AI_INPUT_PREFERENCES)||{},o=I(t,s),i=(u=(a=r.scopedPreferences)==null?void 0:a[e])==null?void 0:u[o];return w(i??n)}function Et(e,t,s,n){var i;const r=y(E.AI_INPUT_PREFERENCES)||{},o=I(t,n);U(E.AI_INPUT_PREFERENCES,{...r,scopedPreferences:{...r.scopedPreferences||{},[e]:{...((i=r.scopedPreferences)==null?void 0:i[e])||{},[o]:w(s)}}})}function ht(e,t){var d;const s=y(E.AI_IMAGE_TOOL_PREFERENCES)||{},n=I(e,t),r=(d=s.scopedPreferences)==null?void 0:d[n],o=We(e,t),i=(r==null?void 0:r.aspectRatio)??s.aspectRatio,a=ce(e,o??(r==null?void 0:r.extraParams)??s.extraParams,i),u=ie(e,a);return{extraParams:u,aspectRatio:de(e,st(u.size)||i)}}function wt(e,t){var u;const s=y(E.AI_VIDEO_TOOL_PREFERENCES)||{},n=I(e,t),r=(u=s.scopedPreferences)==null?void 0:u[n],o=se(e),i=Ye(o,t),a=$(o,i??ae((r==null?void 0:r.extraParams)??s.extraParams,(r==null?void 0:r.duration)??s.duration,(r==null?void 0:r.size)??s.size));return ue(o,a)}export{it as P,dt as a,lt as b,gt as c,Et as d,ht as e,ft as f,Y as g,ie as h,ct as i,wt as j,Pt as k,mt as l,ut as r,pt as s,at as u};
@@ -0,0 +1 @@
1
+ import{w as ln,c as J}from"./path-CY0bYimO.js";import{D as rn,E as N,F as D,G as an,H as y,I as on,J as z,K as _,L as un,M as t,N as sn,O as tn,P as fn}from"./mermaid.core-CwZQb0ud.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,O,E,v,A,K,r){var q=O-l,i=E-h,n=K-v,m=r-A,a=m*q-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*q,h+a*i]}function W(l,h,O,E,v,A,K){var r=l-O,q=h-E,i=(K?A:-A)/z(r*r+q*q),n=i*q,m=-i*r,a=l+n,s=h+m,f=O+n,c=E+m,L=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,F=(g<0?-1:1)*z(tn(0,T*T*R-P*P)),G=(P*g-p*F)/R,H=(-P*p-g*F)/R,w=(P*g+p*F)/R,d=(-P*p+g*F)/R,x=G-L,e=H-o,u=w-L,M=d-o;return x*x+e*e>u*u+M*M&&(G=w,H=d),{cx:G,cy:H,x01:-n,y01:-m,x11:G*(v/T-1),y11:H*(v/T-1)}}function vn(){var l=cn,h=yn,O=J(0),E=null,v=gn,A=mn,K=pn,r=null,q=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,L=un(c-f),o=c>f;if(r||(r=n=q()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(L>on-y)r.moveTo(s*N(f),s*D(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*N(c),a*D(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=L,F=L,G=K.apply(this,arguments)/2,H=G>y&&(E?+E.apply(this,arguments):z(a*a+s*s)),w=_(un(s-a)/2,+O.apply(this,arguments)),d=w,x=w,e,u;if(H>y){var M=sn(H/a*D(G)),B=sn(H/s*D(G));(P-=M*2)>y?(M*=o?1:-1,R+=M,T-=M):(P=0,R=T=(f+c)/2),(F-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(F=0,p=g=(f+c)/2)}var S=s*N(p),j=s*D(p),C=a*N(T),Q=a*D(T);if(w>y){var U=s*N(g),V=s*D(g),X=a*N(R),Y=a*D(R),I;if(L<rn)if(I=dn(S,j,X,Y,U,V,C,Q)){var Z=S-I[0],$=j-I[1],k=U-I[0],b=V-I[1],nn=1/D(fn((Z*k+$*b)/(z(Z*Z+$*$)*z(k*k+b*b)))/2),en=z(I[0]*I[0]+I[1]*I[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}F>y?x>y?(e=W(X,Y,S,j,s,x,o),u=W(U,V,C,Q,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(S,j),r.arc(0,0,s,p,g,!o)):r.moveTo(S,j),!(a>y)||!(P>y)?r.lineTo(C,Q):d>y?(e=W(C,Q,U,V,a,-d,o),u=W(S,j,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=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-rn/2;return[N(m)*n,D(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(O=typeof n=="function"?n:J(+n),i):O},i.padRadius=function(n){return arguments.length?(E=n==null?null:typeof n=="function"?n:J(+n),i):E},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:J(+n),i):A},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};
@@ -0,0 +1 @@
1
+ import{w as ln,c as J}from"./path-CbwjOpE9.js";import{E as rn,F as N,G as E,H as an,I as y,J as on,K as j,L as _,M as un,N as t,O as sn,P as tn,Q as fn}from"./index-C5eu4uSl.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,I,v,A,K,r){var D=q-l,i=I-h,n=K-v,m=r-A,a=m*D-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*D,h+a*i]}function W(l,h,q,I,v,A,K){var r=l-q,D=h-I,i=(K?A:-A)/j(r*r+D*D),n=i*D,m=-i*r,a=l+n,s=h+m,f=q+n,c=I+m,L=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,F=(g<0?-1:1)*j(tn(0,T*T*R-P*P)),G=(P*g-p*F)/R,H=(-P*p-g*F)/R,w=(P*g+p*F)/R,d=(-P*p+g*F)/R,x=G-L,e=H-o,u=w-L,M=d-o;return x*x+e*e>u*u+M*M&&(G=w,H=d),{cx:G,cy:H,x01:-n,y01:-m,x11:G*(v/T-1),y11:H*(v/T-1)}}function vn(){var l=cn,h=yn,q=J(0),I=null,v=gn,A=mn,K=pn,r=null,D=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,L=un(c-f),o=c>f;if(r||(r=n=D()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(L>on-y)r.moveTo(s*N(f),s*E(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*N(c),a*E(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=L,F=L,G=K.apply(this,arguments)/2,H=G>y&&(I?+I.apply(this,arguments):j(a*a+s*s)),w=_(un(s-a)/2,+q.apply(this,arguments)),d=w,x=w,e,u;if(H>y){var M=sn(H/a*E(G)),z=sn(H/s*E(G));(P-=M*2)>y?(M*=o?1:-1,R+=M,T-=M):(P=0,R=T=(f+c)/2),(F-=z*2)>y?(z*=o?1:-1,p+=z,g-=z):(F=0,p=g=(f+c)/2)}var Q=s*N(p),S=s*E(p),B=a*N(T),C=a*E(T);if(w>y){var U=s*N(g),V=s*E(g),X=a*N(R),Y=a*E(R),O;if(L<rn)if(O=dn(Q,S,X,Y,U,V,B,C)){var Z=Q-O[0],$=S-O[1],k=U-O[0],b=V-O[1],nn=1/E(fn((Z*k+$*b)/(j(Z*Z+$*$)*j(k*k+b*b)))/2),en=j(O[0]*O[0]+O[1]*O[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}F>y?x>y?(e=W(X,Y,Q,S,s,x,o),u=W(U,V,B,C,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(Q,S),r.arc(0,0,s,p,g,!o)):r.moveTo(Q,S),!(a>y)||!(P>y)?r.lineTo(B,C):d>y?(e=W(B,C,U,V,a,-d,o),u=W(Q,S,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=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-rn/2;return[N(m)*n,E(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(q=typeof n=="function"?n:J(+n),i):q},i.padRadius=function(n){return arguments.length?(I=n==null?null:typeof n=="function"?n:J(+n),i):I},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:J(+n),i):A},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};
@@ -1,6 +1,6 @@
1
- import{r as o,b8 as kt,bm as vt,eK as yt,ht as jt,eP as Et,as as ue,bn as za,bo as Dt,hx as _a,hw as ma,hz as Ra,im as Ut,al as N,ar as Pe,d4 as Vt,_ as ga,h1 as G,d2 as Ct,hI as qt,hJ as St,h2 as zt,y as t,bV as M,fG as j,ki as Ta,mJ as _t,jN as Rt,mK as Tt,mL as Mt,ia as $t,bt as Ma,ib as $a,mM as Oe,f_ as At,lV as It,fY as Lt,bu as Aa,jH as Pt,cr as Ia,hN as Ot,bx as Ft,dp as Kt,mN as Gt}from"./tool-windows-CtLXQDGF.js";import{M as Bt}from"./ModelDropdown-DjvIvi8O.js";import{u as Jt}from"./use-runtime-models-BH9r4Yc1.js";import{f as Fe,g as Ke,a as ha}from"./model-selection-BvdXmVGX.js";import"./model-benchmark-service-CkIRp-Sq.js";function Ht(ie={}){const{showNavbar:C=!0,showToolbar:B=!0,showTitle:$=!0,videoAutoPlay:J=!0,videoLoop:r=!0,onClose:se,onIndexChange:le}=ie,[A,me]=o.useState(!1),[Z,I]=o.useState([]),[ge,ce]=o.useState(0),Ge=o.useCallback((f,D=0)=>{const T=Array.isArray(f)?f:[f];T.length!==0&&(I(T),ce(Math.max(0,Math.min(D,T.length-1))),me(!0))},[]),he=o.useCallback(()=>{me(!1),I([]),ce(0),se==null||se()},[se]),fe=o.useCallback(f=>{ce(f),le==null||le(f)},[le]),ve=o.useMemo(()=>({visible:A,items:Z,initialIndex:ge,onClose:he,onIndexChange:fe,showNavbar:C,showToolbar:B,showTitle:$,videoAutoPlay:J,videoLoop:r}),[A,Z,ge,he,fe,C,B,$,J,r]);return{openViewer:Ge,closeViewer:he,isOpen:A,currentIndex:ge,items:Z,viewerProps:ve}}function Wt(ie,C="image"){return ie.map((B,$)=>({url:B,type:C,alt:`${C==="image"?"Image":"Video"} ${$+1}`}))}const La=Dt.BATCH_IMAGE_CACHE,Xt=["auto","1x1","1x4","4x1","1x8","8x1","2x3","3x2","3x4","4x3","4x5","5x4","9x16","16x9","21x9"],fa={auto:"自动","1x1":"1:1","1x4":"1:4","4x1":"4:1","1x8":"1:8","8x1":"8:1","2x3":"2:3","3x2":"3:2","3x4":"3:4","4x3":"4:3","4x5":"4:5","5x4":"5:4","9x16":"9:16","16x9":"16:9","21x9":"21:9"},E=["prompt","size","images","count","preview"];function Yt(){const ie=[];for(let C=0;C<5;C++)ie.push({id:C+1,prompt:"",size:"auto",images:[],count:1,taskIds:[]});return ie}const ni=({onSwitchToSingle:ie,selectedModel:C,selectedModelRef:B,onModelChange:$,onModelRefChange:J})=>{var qa;const{language:r}=kt(),{confirm:se,confirmDialog:le}=vt(),A=Jt("image"),{createTask:me,tasks:Z}=yt(),{addAsset:I,assets:ge,loadAssets:ce}=jt(),{isMobile:Ge,isTablet:he}=Et(),fe=Ge||he,ve=ge.filter(a=>a.type===ue.IMAGE);o.useEffect(()=>{ce()},[ce]);const[f,D]=o.useState(Yt),[T,ye]=o.useState(6),[pa,ba]=o.useState(!1),[Be,Je]=o.useState(!1);o.useEffect(()=>{let a=!0;return za.get(La).then(e=>{a&&(e&&e.tasks&&Array.isArray(e.tasks)&&e.tasks.length>0&&(D(e.tasks),e.taskIdCounter&&ye(e.taskIdCounter)),ba(!0))}).catch(e=>{console.warn("Failed to load batch image cache:",e),a&&ba(!0)}),()=>{a=!1}},[]);const[k,ne]=o.useState(null),[_,H]=o.useState([]),[L,U]=o.useState(null),[w,W]=o.useState(new Set),{validSelectedRows:Zt,selectedTaskCount:Qt,selectedInfoText:Pa}=o.useMemo(()=>{const a=[...w].filter(s=>{const l=f[s];return l&&l.prompt&&l.prompt.trim()!==""}).sort((s,l)=>s-l),e=a.reduce((s,l)=>{const u=f[l];return s+((u==null?void 0:u.count)||1)},0),i=a.length>0?r==="zh"?`已选 ${a.length} 行 / ${e} 任务`:`${a.length} rows / ${e} tasks`:"";return{validSelectedRows:a,selectedTaskCount:e,selectedInfoText:i}},[w,f,r]),P=o.useRef([]),O=o.useRef(-1),pe=o.useRef(!1),[Na,He]=o.useState(!0),[Oa,We]=o.useState(!1),[F,xa]=o.useState(!1),[z,wa]=o.useState(null),[ka,va]=o.useState([]),[je,Xe]=o.useState(null),[de,Ye]=o.useState(!1),[Ee,Ze]=o.useState(null),[Fa,Qe]=o.useState(null),[X,Ka]=o.useState(1),[Ga,ea]=o.useState(!1),[q,aa]=o.useState([]),[Q,ya]=o.useState(1),ta=o.useMemo(()=>q.slice(0,12).map(a=>URL.createObjectURL(a)),[q]);o.useEffect(()=>()=>{ta.forEach(a=>URL.revokeObjectURL(a))},[ta]);const ee=_a("image"),De=Fe(A,ee.modelId,ma(ee.profileId,ee.modelId))||Ra("image",ee.modelId,ma(ee.profileId,ee.modelId)),[V,Ue]=o.useState((De==null?void 0:De.id)||((qa=A[0])==null?void 0:qa.id)||"gemini-2.5-flash-image-vip"),[K,Ve]=o.useState(Ke(De)||ma(ee.profileId,ee.modelId)),ae=o.useMemo(()=>{if(Fe(A,V,K)||!V)return A;const e=Ra("image",V,K);return e?[e,...A]:A},[A,V,K]),be=o.useMemo(()=>{const a=Ut(V).map(e=>e.value);return a.length>0?a:Xt},[V]),Y=o.useMemo(()=>new Set(be),[be]),R=o.useMemo(()=>Y.has("auto")?"auto":be[0]||"auto",[Y,be]);o.useEffect(()=>{D(a=>a.map(e=>Y.has(e.size)?e:{...e,size:R}))},[R,Y]),o.useEffect(()=>{if(ae.length===0)return;Fe(ae,V,K)||(Ue(ae[0].id),Ve(Ke(ae[0])))},[V,K,ae]),o.useEffect(()=>{if(!C)return;const a=ha(V,K),e=ha(C,B);if(a!==e){Ue(C);const i=Fe(ae,C,B);Ve(Ke(i)||B||null)}},[C,B,V,K,ae]);const{openViewer:ja,viewerProps:Ba}=Ht(),[Ne,ia]=o.useState(null),[Ja,Ce]=o.useState(!1),[qe,Ha]=o.useState(5),[Ea,sa]=o.useState(!1),[na,ra]=o.useState(null),Se=o.useRef(null),ze=o.useRef(null),_e=o.useRef(null),Re=o.useRef(null),Da=o.useRef(null),Te=o.useRef(null),oa=o.useRef(null);o.useEffect(()=>{if(!pa)return;const a={tasks:f,taskIdCounter:T,timestamp:Date.now()};za.set(La,a).catch(e=>{console.warn("Failed to save batch image cache:",e)})},[f,T,pa]);const Ua=o.useCallback((a,e,i,s)=>{if(pe.current){pe.current=!1;return}P.current=P.current.slice(0,O.current+1);const l={tasks:JSON.parse(JSON.stringify(a)),selectedCells:[...e],activeCell:i?{...i}:null,selectedRows:Array.from(s)};P.current.push(l),O.current=P.current.length-1,P.current.length>50&&(P.current.shift(),O.current--)},[]);o.useEffect(()=>{f.length>0&&Ua(f,_,k,w)},[f,Ua]),o.useEffect(()=>{if(P.current.length>0&&O.current>=0&&!pe.current){const a=P.current[O.current];a&&(a.selectedCells=[..._],a.activeCell=k?{...k}:null,a.selectedRows=Array.from(w))}},[_,k,w]);const Va=o.useCallback(()=>{if(O.current>0){O.current--,pe.current=!0;const a=P.current[O.current];D(JSON.parse(JSON.stringify(a.tasks))),H([...a.selectedCells]),ne(a.activeCell?{...a.activeCell}:null),W(new Set(a.selectedRows)),N.info(r==="zh"?"已撤销":"Undone")}else N.warning(r==="zh"?"没有可撤销的操作":"Nothing to undo")},[r]),Ca=o.useCallback(()=>{if(O.current<P.current.length-1){O.current++,pe.current=!0;const a=P.current[O.current];D(JSON.parse(JSON.stringify(a.tasks))),H([...a.selectedCells]),ne(a.activeCell?{...a.activeCell}:null),W(new Set(a.selectedRows)),N.info(r==="zh"?"已重做":"Redone")}else N.warning(r==="zh"?"没有可重做的操作":"Nothing to redo")},[r]),Wa=o.useCallback(a=>{D(e=>{const i=[...e];for(let s=0;s<a;s++)i.push({id:T+s,prompt:"",size:R,images:[],count:1,taskIds:[]});return i}),ye(e=>e+a)},[R,T]),Xa=o.useCallback(()=>{if(w.size===0){N.warning(r==="zh"?"请先勾选要删除的行":"Please check rows to delete");return}D(a=>a.filter((e,i)=>!w.has(i))),W(new Set),H([]),ne(null)},[w,r]),v=o.useCallback((a,e)=>{ne({row:a,col:e}),H([{row:a,col:e}]),U(null)},[]),Me=o.useCallback((a,e)=>{v(a,e),E.includes(e)&&e!=="images"&&U({row:a,col:e})},[v]),y=o.useCallback((a,e,i)=>{D(s=>{if(!s[a])return s;const l=[...s];return l[a]={...l[a],[e]:i},l})},[]),xe=o.useCallback((a,e,i)=>{if(a.shiftKey&&k){const s=Math.min(k.row,e),l=Math.max(k.row,e);W(c=>{const d=new Set(c);for(let p=s;p<=l;p++)d.add(p);return d});const u=[];for(let c=s;c<=l;c++)u.push({row:c,col:k.col});H(u),Da.current=e}else a.ctrlKey||a.metaKey?H(s=>s.some(u=>u.row===e&&u.col===i)?s.filter(u=>!(u.row===e&&u.col===i)):[...s,{row:e,col:i}]):(v(e,i),Da.current=e)},[k,v]),$e=o.useCallback(a=>{var i;if(!k){N.warning(r==="zh"?"请先选中一个单元格作为填充源":"Please select a cell as fill source");return}const e=(i=f[k.row])==null?void 0:i[a];if(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0){N.warning(r==="zh"?"选中的单元格没有数据":"Selected cell has no data");return}D(s=>s.map(l=>({...l,[a]:a==="images"&&Array.isArray(e)?[...e]:e}))),N.success(r==="zh"?"已填充整列":"Column filled")},[k,f,r]),Ae=o.useCallback((a,e)=>{Ye(!1),Ze(null),xa(!0),wa({row:a,col:e}),Xe(a)},[]),la=o.useCallback((a,e)=>{F||(Ye(!0),Ze({row:a,col:e}),ne({row:a,col:e}),H([{row:a,col:e}]))},[F]),Ya=o.useCallback(a=>{if(!F&&!de)return;const i=a.target.closest("tr[data-row-index]");if(!i)return;const s=parseInt(i.dataset.rowIndex||"-1");if(!(s<0)){if(F&&z){Xe(s);const l=z.row,u=s,c=Math.min(l,u),d=Math.max(l,u),p=[];for(let g=c;g<=d;g++)g!==l&&p.push(g);va(p)}if(de&&Ee){const l=Ee.col,u=Ee.row,c=s,d=Math.min(u,c),p=Math.max(u,c),g=[];for(let n=d;n<=p;n++)g.push({row:n,col:l});H(g)}}},[F,z,de,Ee]),Ie=o.useCallback(()=>{var a;if(F&&z&&je!==null&&je!==z.row){const e=(a=f[z.row])==null?void 0:a[z.col],i=z.row,s=je,l=Math.min(i,s),u=Math.max(i,s);D(d=>{const p=[...d];for(let g=l;g<=u;g++)g!==i&&p[g]&&(p[g]={...p[g],[z.col]:Array.isArray(e)?[...e]:e});return p});const c=[];for(let d=l;d<=u;d++)c.push({row:d,col:z.col});H(c),N.success(r==="zh"?`已填充 ${Math.abs(s-i)} 行`:`Filled ${Math.abs(s-i)} rows`)}xa(!1),wa(null),Xe(null),va([]),Ye(!1),Ze(null)},[F,z,je,f,r]),Za=o.useCallback(a=>{const e=a.target.files;e&&(Array.from(e).forEach(i=>{i.type.startsWith("image/")&&I(i,ue.IMAGE,Pe.LOCAL,i.name).catch(s=>{console.warn("[BatchImageGeneration] Failed to add asset to library:",s)})}),Se.current&&(Se.current.value=""))},[I]),Qa=o.useCallback(a=>{let e=[];if(w.size>0?e=[...w]:_.length>0?e=[...new Set(_.map(i=>i.row))]:k&&(e=[k.row]),e.length===0){N.warning(r==="zh"?"请先选中要添加图片的行":"Please select a row first");return}D(i=>{const s=[...i];return e.forEach(l=>{s[l]&&!s[l].images.includes(a)&&(s[l]={...s[l],images:[...s[l].images,a]})}),s})},[w,_,k,r]),re=o.useCallback((a,e)=>{D(i=>{const s=[...i];return s[a]&&!s[a].images.includes(e)&&(s[a]={...s[a],images:[...s[a].images,e]}),s})},[]),et=o.useCallback((a,e)=>{D(i=>{const s=[...i];return s[a]&&(s[a]={...s[a],images:s[a].images.filter(l=>l!==e)}),s})},[]),at=o.useCallback(a=>{const e=a.target.files,i=oa.current;!e||e.length===0||i===null||(Array.from(e).forEach(s=>{if(!s.type.startsWith("image/"))return;I(s,ue.IMAGE,Pe.LOCAL,s.name).catch(u=>{console.warn("[BatchImageGeneration] Failed to add asset to library:",u)});const l=new FileReader;l.onload=u=>{var d;const c=(d=u.target)==null?void 0:d.result;re(i,c)},l.readAsDataURL(s)}),Re.current&&(Re.current.value=""),oa.current=null)},[re,I]),tt=o.useCallback(a=>{var e;oa.current=a,He(!0),(e=Re.current)==null||e.click()},[]),it=o.useCallback(a=>{ra(a),sa(!0)},[]),st=o.useCallback(a=>{na!==null&&(a.url&&re(na,a.url),sa(!1),ra(null))},[na,re]),nt=o.useCallback((a,e)=>{a.preventDefault(),a.dataTransfer.dropEffect="copy",Qe(e)},[]),rt=o.useCallback(a=>{const e=a.relatedTarget;(!e||!a.currentTarget.contains(e))&&Qe(null)},[]),ot=o.useCallback((a,e)=>{a.preventDefault(),Qe(null);const i=a.dataTransfer.getData("text/library-image");if(i){re(e,i),N.success(r==="zh"?`已添加图片到第 ${e+1} 行`:`Added image to row ${e+1}`);return}const s=a.dataTransfer.files;if(!s||s.length===0)return;let l=0;Array.from(s).forEach(u=>{if(!u.type.startsWith("image/"))return;I(u,ue.IMAGE,Pe.LOCAL,u.name).catch(d=>{console.warn("[BatchImageGeneration] Failed to add asset to library:",d)});const c=new FileReader;c.onload=d=>{var g;const p=(g=d.target)==null?void 0:g.result;re(e,p)},c.readAsDataURL(u),l++}),l>0&&N.success(r==="zh"?`已添加 ${l} 张图片到第 ${e+1} 行`:`Added ${l} images to row ${e+1}`)},[re,r,I]),lt=o.useCallback((a,e)=>{a.dataTransfer.setData("text/library-image",e),a.dataTransfer.effectAllowed="copy"},[]),ct=o.useCallback(a=>{const e=a.target.files;if(!e||e.length===0)return;const i=Array.from(e).filter(l=>l.type.startsWith("image/"));if(i.length===0){N.warning(r==="zh"?"请选择图片文件":"Please select image files");return}aa(i);const s=k?k.row+1:1;ya(Math.min(s,f.length)),ea(!0),ze.current&&(ze.current.value="")},[r,k,f.length]),dt=o.useCallback(async()=>{if(q.length===0)return;const a=Vt(`批量导入(${q.length}张)`),e=X,i=q.length,s=Math.ceil(i/e),l=Q-1,u=[];for(const g of q){I(g,ue.IMAGE,Pe.LOCAL,g.name).catch(m=>{console.warn("[BatchImageGeneration] Failed to add asset to library:",m)});const n=await new Promise((m,b)=>{const h=new FileReader;h.onload=x=>{var S;return m((S=x.target)==null?void 0:S.result)},h.onerror=b,h.readAsDataURL(g)});u.push(n)}D(g=>{const n=[...g];let m=0,b=0;for(let h=0;h<s;h++){const x=l+h,S=[];for(let oe=0;oe<e&&m<i;oe++)S.push(u[m]),m++;x<n.length?n[x]={...n[x],images:[...n[x].images,...S]}:(n.push({id:T+b,prompt:"",size:R,images:S,count:1,taskIds:[]}),b++)}return n});const c=Math.min(s,f.length-l),d=Math.max(0,s-c);d>0&&ye(g=>g+d),aa([]),ea(!1),a();const p=r==="zh"?`已导入 ${i} 张图片,从第 ${Q} 行开始`:`Imported ${i} images starting from row ${Q}`;N.success(p)},[q,X,Q,T,f.length,r,I,R]),ca=o.useCallback(()=>{aa([]),ea(!1)},[]),ut=o.useCallback(async()=>{try{const a=await ga(()=>import("./xlsx-CkFp8p6R.js"),[],import.meta.url),e=[{提示词:"一只可爱的橘猫在阳光下睡觉",尺寸:"1x1",数量:1},{提示词:"未来城市的夜景,霓虹灯闪烁",尺寸:"16x9",数量:2},{提示词:"古风美女,水墨画风格",尺寸:"3x4",数量:1},{提示词:"",尺寸:"1x1",数量:1},{提示词:"",尺寸:"1x1",数量:1}],i=a.utils.book_new(),s=a.utils.json_to_sheet(e);s["!cols"]=[{wch:60},{wch:10},{wch:8}],a.utils.book_append_sheet(i,s,"批量出图模板"),a.writeFile(i,"batch-image-template.xlsx"),N.success(r==="zh"?"模板下载成功,填写后可导入使用":"Template downloaded, fill and import to use")}catch(a){console.error("Excel template download error:",a),N.error(r==="zh"?"下载失败,请稍后重试":"Download failed, please try again")}},[r]),mt=o.useCallback(async a=>{var i;const e=(i=a.target.files)==null?void 0:i[0];if(e){try{const s=await ga(()=>import("./xlsx-CkFp8p6R.js"),[],import.meta.url),l=new FileReader;l.onload=u=>{var c;try{const d=new Uint8Array((c=u.target)==null?void 0:c.result),p=s.read(d,{type:"array"}),g=p.SheetNames[0],n=p.Sheets[g],m=s.utils.sheet_to_json(n);if(m.length===0){N.warning(r==="zh"?"Excel 文件为空":"Excel file is empty");return}const b=m.map((h,x)=>{const S=h.提示词||h.prompt||h.Prompt||"",oe=h.尺寸||h.size||h.Size||R,xt=parseInt(String(h.数量||h.count||h.Count||"1"))||1,Sa=h.参考图||h.images||h.Images||"",wt=Sa?Sa.split(`
2
- `).map(ke=>ke.trim()).filter(ke=>ke.length>0&&!ke.startsWith("[")&&!ke.endsWith("]")):[];return{id:T+x,prompt:String(S).trim(),size:Y.has(oe)?oe:R,images:wt,count:Math.max(1,xt),taskIds:[]}});D(h=>[...h,...b]),ye(h=>h+b.length),N.success(r==="zh"?`已导入 ${b.length} 行数据`:`Imported ${b.length} rows`)}catch(d){console.error("Excel import error:",d),N.error(r==="zh"?"导入失败,请检查文件格式":"Import failed, please check file format")}},l.readAsArrayBuffer(e)}catch(s){console.error("Excel library load error:",s),N.error(r==="zh"?"加载 Excel 处理库失败":"Failed to load Excel library")}_e.current&&(_e.current.value="")}},[R,T,r,Y]),te=o.useCallback(a=>{if(a.taskIds.length===0)return{status:"idle",tasks:[],completedCount:0,failedCount:0};const e=Z.filter(c=>a.taskIds.includes(c.id)),i=e.filter(c=>c.status===G.COMPLETED).length,s=e.filter(c=>c.status===G.FAILED).length,l=e.filter(c=>c.status===G.PENDING||c.status===G.PROCESSING).length;let u="idle";return l>0?u="generating":s>0&&i>0?u="partial":s>0?u="failed":i>0&&(u="completed"),{status:u,tasks:e,completedCount:i,failedCount:s}},[Z]),gt=o.useCallback(async()=>{try{const a=await ga(()=>import("./xlsx-CkFp8p6R.js"),[],import.meta.url),e=32e3,i=n=>{const b=n.map((h,x)=>h.startsWith("data:")?`[本地图片${x+1}]`:h).join(`
1
+ import{aj as o,bk as kt,aD as vt,bl as yt,bm as jt,bn as Et,bo as Dt,ar as ue,bp as za,bq as Ut,br as _a,bs as Pe,bt as ma,bu as Ra,bv as Oe,bw as Vt,bx as ga,aU as N,av as Fe,by as Ct,ak as ha,bz as G,bA as qt,bB as St,bC as zt,T as _t,ai as t,aO as M,ao as j,bD as Ta,bE as Rt,aX as Tt,bF as Mt,bG as $t,aP as At,bH as It,ap as Ma,bI as $a,bJ as Ke,bK as Lt,aW as Pt,bL as Ot,aq as Aa,bM as Ft,bh as Ia,ax as Kt,bN as Gt,bO as Bt,bP as Jt}from"./tool-windows-DOIu9TAD.js";function Ht(ie={}){const{showNavbar:C=!0,showToolbar:B=!0,showTitle:$=!0,videoAutoPlay:J=!0,videoLoop:r=!0,onClose:se,onIndexChange:le}=ie,[A,me]=o.useState(!1),[Z,I]=o.useState([]),[ge,ce]=o.useState(0),Ge=o.useCallback((f,D=0)=>{const T=Array.isArray(f)?f:[f];T.length!==0&&(I(T),ce(Math.max(0,Math.min(D,T.length-1))),me(!0))},[]),he=o.useCallback(()=>{me(!1),I([]),ce(0),se==null||se()},[se]),fe=o.useCallback(f=>{ce(f),le==null||le(f)},[le]),ve=o.useMemo(()=>({visible:A,items:Z,initialIndex:ge,onClose:he,onIndexChange:fe,showNavbar:C,showToolbar:B,showTitle:$,videoAutoPlay:J,videoLoop:r}),[A,Z,ge,he,fe,C,B,$,J,r]);return{openViewer:Ge,closeViewer:he,isOpen:A,currentIndex:ge,items:Z,viewerProps:ve}}function Wt(ie,C="image"){return ie.map((B,$)=>({url:B,type:C,alt:`${C==="image"?"Image":"Video"} ${$+1}`}))}const La=Ut.BATCH_IMAGE_CACHE,Xt=["auto","1x1","1x4","4x1","1x8","8x1","2x3","3x2","3x4","4x3","4x5","5x4","9x16","16x9","21x9"],fa={auto:"自动","1x1":"1:1","1x4":"1:4","4x1":"4:1","1x8":"1:8","8x1":"8:1","2x3":"2:3","3x2":"3:2","3x4":"3:4","4x3":"4:3","4x5":"4:5","5x4":"5:4","9x16":"9:16","16x9":"16:9","21x9":"21:9"},E=["prompt","size","images","count","preview"];function Yt(){const ie=[];for(let C=0;C<5;C++)ie.push({id:C+1,prompt:"",size:"auto",images:[],count:1,taskIds:[]});return ie}const ai=({onSwitchToSingle:ie,selectedModel:C,selectedModelRef:B,onModelChange:$,onModelRefChange:J})=>{var qa;const{language:r}=kt(),{confirm:se,confirmDialog:le}=vt(),A=yt("image"),{createTask:me,tasks:Z}=jt(),{addAsset:I,assets:ge,loadAssets:ce}=Et(),{isMobile:Ge,isTablet:he}=Dt(),fe=Ge||he,ve=ge.filter(a=>a.type===ue.IMAGE);o.useEffect(()=>{ce()},[ce]);const[f,D]=o.useState(Yt),[T,ye]=o.useState(6),[pa,ba]=o.useState(!1),[Be,Je]=o.useState(!1);o.useEffect(()=>{let a=!0;return za.get(La).then(e=>{a&&(e&&e.tasks&&Array.isArray(e.tasks)&&e.tasks.length>0&&(D(e.tasks),e.taskIdCounter&&ye(e.taskIdCounter)),ba(!0))}).catch(e=>{console.warn("Failed to load batch image cache:",e),a&&ba(!0)}),()=>{a=!1}},[]);const[k,ne]=o.useState(null),[_,H]=o.useState([]),[L,U]=o.useState(null),[w,W]=o.useState(new Set),{validSelectedRows:Zt,selectedTaskCount:Qt,selectedInfoText:Pa}=o.useMemo(()=>{const a=[...w].filter(s=>{const l=f[s];return l&&l.prompt&&l.prompt.trim()!==""}).sort((s,l)=>s-l),e=a.reduce((s,l)=>{const u=f[l];return s+((u==null?void 0:u.count)||1)},0),i=a.length>0?r==="zh"?`已选 ${a.length} 行 / ${e} 任务`:`${a.length} rows / ${e} tasks`:"";return{validSelectedRows:a,selectedTaskCount:e,selectedInfoText:i}},[w,f,r]),P=o.useRef([]),O=o.useRef(-1),pe=o.useRef(!1),[Na,He]=o.useState(!0),[Oa,We]=o.useState(!1),[F,xa]=o.useState(!1),[z,wa]=o.useState(null),[ka,va]=o.useState([]),[je,Xe]=o.useState(null),[de,Ye]=o.useState(!1),[Ee,Ze]=o.useState(null),[Fa,Qe]=o.useState(null),[X,Ka]=o.useState(1),[Ga,ea]=o.useState(!1),[q,aa]=o.useState([]),[Q,ya]=o.useState(1),ta=o.useMemo(()=>q.slice(0,12).map(a=>URL.createObjectURL(a)),[q]);o.useEffect(()=>()=>{ta.forEach(a=>URL.revokeObjectURL(a))},[ta]);const ee=_a("image"),De=Pe(A,ee.modelId,ma(ee.profileId,ee.modelId))||Ra("image",ee.modelId,ma(ee.profileId,ee.modelId)),[V,Ue]=o.useState((De==null?void 0:De.id)||((qa=A[0])==null?void 0:qa.id)||"gemini-2.5-flash-image-vip"),[K,Ve]=o.useState(Oe(De)||ma(ee.profileId,ee.modelId)),ae=o.useMemo(()=>{if(Pe(A,V,K)||!V)return A;const e=Ra("image",V,K);return e?[e,...A]:A},[A,V,K]),be=o.useMemo(()=>{const a=Vt(V).map(e=>e.value);return a.length>0?a:Xt},[V]),Y=o.useMemo(()=>new Set(be),[be]),R=o.useMemo(()=>Y.has("auto")?"auto":be[0]||"auto",[Y,be]);o.useEffect(()=>{D(a=>a.map(e=>Y.has(e.size)?e:{...e,size:R}))},[R,Y]),o.useEffect(()=>{if(ae.length===0)return;Pe(ae,V,K)||(Ue(ae[0].id),Ve(Oe(ae[0])))},[V,K,ae]),o.useEffect(()=>{if(!C)return;const a=ga(V,K),e=ga(C,B);if(a!==e){Ue(C);const i=Pe(ae,C,B);Ve(Oe(i)||B||null)}},[C,B,V,K,ae]);const{openViewer:ja,viewerProps:Ba}=Ht(),[Ne,ia]=o.useState(null),[Ja,Ce]=o.useState(!1),[qe,Ha]=o.useState(5),[Ea,sa]=o.useState(!1),[na,ra]=o.useState(null),Se=o.useRef(null),ze=o.useRef(null),_e=o.useRef(null),Re=o.useRef(null),Da=o.useRef(null),Te=o.useRef(null),oa=o.useRef(null);o.useEffect(()=>{if(!pa)return;const a={tasks:f,taskIdCounter:T,timestamp:Date.now()};za.set(La,a).catch(e=>{console.warn("Failed to save batch image cache:",e)})},[f,T,pa]);const Ua=o.useCallback((a,e,i,s)=>{if(pe.current){pe.current=!1;return}P.current=P.current.slice(0,O.current+1);const l={tasks:JSON.parse(JSON.stringify(a)),selectedCells:[...e],activeCell:i?{...i}:null,selectedRows:Array.from(s)};P.current.push(l),O.current=P.current.length-1,P.current.length>50&&(P.current.shift(),O.current--)},[]);o.useEffect(()=>{f.length>0&&Ua(f,_,k,w)},[f,Ua]),o.useEffect(()=>{if(P.current.length>0&&O.current>=0&&!pe.current){const a=P.current[O.current];a&&(a.selectedCells=[..._],a.activeCell=k?{...k}:null,a.selectedRows=Array.from(w))}},[_,k,w]);const Va=o.useCallback(()=>{if(O.current>0){O.current--,pe.current=!0;const a=P.current[O.current];D(JSON.parse(JSON.stringify(a.tasks))),H([...a.selectedCells]),ne(a.activeCell?{...a.activeCell}:null),W(new Set(a.selectedRows)),N.info(r==="zh"?"已撤销":"Undone")}else N.warning(r==="zh"?"没有可撤销的操作":"Nothing to undo")},[r]),Ca=o.useCallback(()=>{if(O.current<P.current.length-1){O.current++,pe.current=!0;const a=P.current[O.current];D(JSON.parse(JSON.stringify(a.tasks))),H([...a.selectedCells]),ne(a.activeCell?{...a.activeCell}:null),W(new Set(a.selectedRows)),N.info(r==="zh"?"已重做":"Redone")}else N.warning(r==="zh"?"没有可重做的操作":"Nothing to redo")},[r]),Wa=o.useCallback(a=>{D(e=>{const i=[...e];for(let s=0;s<a;s++)i.push({id:T+s,prompt:"",size:R,images:[],count:1,taskIds:[]});return i}),ye(e=>e+a)},[R,T]),Xa=o.useCallback(()=>{if(w.size===0){N.warning(r==="zh"?"请先勾选要删除的行":"Please check rows to delete");return}D(a=>a.filter((e,i)=>!w.has(i))),W(new Set),H([]),ne(null)},[w,r]),v=o.useCallback((a,e)=>{ne({row:a,col:e}),H([{row:a,col:e}]),U(null)},[]),Me=o.useCallback((a,e)=>{v(a,e),E.includes(e)&&e!=="images"&&U({row:a,col:e})},[v]),y=o.useCallback((a,e,i)=>{D(s=>{if(!s[a])return s;const l=[...s];return l[a]={...l[a],[e]:i},l})},[]),xe=o.useCallback((a,e,i)=>{if(a.shiftKey&&k){const s=Math.min(k.row,e),l=Math.max(k.row,e);W(c=>{const d=new Set(c);for(let p=s;p<=l;p++)d.add(p);return d});const u=[];for(let c=s;c<=l;c++)u.push({row:c,col:k.col});H(u),Da.current=e}else a.ctrlKey||a.metaKey?H(s=>s.some(u=>u.row===e&&u.col===i)?s.filter(u=>!(u.row===e&&u.col===i)):[...s,{row:e,col:i}]):(v(e,i),Da.current=e)},[k,v]),$e=o.useCallback(a=>{var i;if(!k){N.warning(r==="zh"?"请先选中一个单元格作为填充源":"Please select a cell as fill source");return}const e=(i=f[k.row])==null?void 0:i[a];if(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0){N.warning(r==="zh"?"选中的单元格没有数据":"Selected cell has no data");return}D(s=>s.map(l=>({...l,[a]:a==="images"&&Array.isArray(e)?[...e]:e}))),N.success(r==="zh"?"已填充整列":"Column filled")},[k,f,r]),Ae=o.useCallback((a,e)=>{Ye(!1),Ze(null),xa(!0),wa({row:a,col:e}),Xe(a)},[]),la=o.useCallback((a,e)=>{F||(Ye(!0),Ze({row:a,col:e}),ne({row:a,col:e}),H([{row:a,col:e}]))},[F]),Ya=o.useCallback(a=>{if(!F&&!de)return;const i=a.target.closest("tr[data-row-index]");if(!i)return;const s=parseInt(i.dataset.rowIndex||"-1");if(!(s<0)){if(F&&z){Xe(s);const l=z.row,u=s,c=Math.min(l,u),d=Math.max(l,u),p=[];for(let g=c;g<=d;g++)g!==l&&p.push(g);va(p)}if(de&&Ee){const l=Ee.col,u=Ee.row,c=s,d=Math.min(u,c),p=Math.max(u,c),g=[];for(let n=d;n<=p;n++)g.push({row:n,col:l});H(g)}}},[F,z,de,Ee]),Ie=o.useCallback(()=>{var a;if(F&&z&&je!==null&&je!==z.row){const e=(a=f[z.row])==null?void 0:a[z.col],i=z.row,s=je,l=Math.min(i,s),u=Math.max(i,s);D(d=>{const p=[...d];for(let g=l;g<=u;g++)g!==i&&p[g]&&(p[g]={...p[g],[z.col]:Array.isArray(e)?[...e]:e});return p});const c=[];for(let d=l;d<=u;d++)c.push({row:d,col:z.col});H(c),N.success(r==="zh"?`已填充 ${Math.abs(s-i)} 行`:`Filled ${Math.abs(s-i)} rows`)}xa(!1),wa(null),Xe(null),va([]),Ye(!1),Ze(null)},[F,z,je,f,r]),Za=o.useCallback(a=>{const e=a.target.files;e&&(Array.from(e).forEach(i=>{i.type.startsWith("image/")&&I(i,ue.IMAGE,Fe.LOCAL,i.name).catch(s=>{console.warn("[BatchImageGeneration] Failed to add asset to library:",s)})}),Se.current&&(Se.current.value=""))},[I]),Qa=o.useCallback(a=>{let e=[];if(w.size>0?e=[...w]:_.length>0?e=[...new Set(_.map(i=>i.row))]:k&&(e=[k.row]),e.length===0){N.warning(r==="zh"?"请先选中要添加图片的行":"Please select a row first");return}D(i=>{const s=[...i];return e.forEach(l=>{s[l]&&!s[l].images.includes(a)&&(s[l]={...s[l],images:[...s[l].images,a]})}),s})},[w,_,k,r]),re=o.useCallback((a,e)=>{D(i=>{const s=[...i];return s[a]&&!s[a].images.includes(e)&&(s[a]={...s[a],images:[...s[a].images,e]}),s})},[]),et=o.useCallback((a,e)=>{D(i=>{const s=[...i];return s[a]&&(s[a]={...s[a],images:s[a].images.filter(l=>l!==e)}),s})},[]),at=o.useCallback(a=>{const e=a.target.files,i=oa.current;!e||e.length===0||i===null||(Array.from(e).forEach(s=>{if(!s.type.startsWith("image/"))return;I(s,ue.IMAGE,Fe.LOCAL,s.name).catch(u=>{console.warn("[BatchImageGeneration] Failed to add asset to library:",u)});const l=new FileReader;l.onload=u=>{var d;const c=(d=u.target)==null?void 0:d.result;re(i,c)},l.readAsDataURL(s)}),Re.current&&(Re.current.value=""),oa.current=null)},[re,I]),tt=o.useCallback(a=>{var e;oa.current=a,He(!0),(e=Re.current)==null||e.click()},[]),it=o.useCallback(a=>{ra(a),sa(!0)},[]),st=o.useCallback(a=>{na!==null&&(a.url&&re(na,a.url),sa(!1),ra(null))},[na,re]),nt=o.useCallback((a,e)=>{a.preventDefault(),a.dataTransfer.dropEffect="copy",Qe(e)},[]),rt=o.useCallback(a=>{const e=a.relatedTarget;(!e||!a.currentTarget.contains(e))&&Qe(null)},[]),ot=o.useCallback((a,e)=>{a.preventDefault(),Qe(null);const i=a.dataTransfer.getData("text/library-image");if(i){re(e,i),N.success(r==="zh"?`已添加图片到第 ${e+1} 行`:`Added image to row ${e+1}`);return}const s=a.dataTransfer.files;if(!s||s.length===0)return;let l=0;Array.from(s).forEach(u=>{if(!u.type.startsWith("image/"))return;I(u,ue.IMAGE,Fe.LOCAL,u.name).catch(d=>{console.warn("[BatchImageGeneration] Failed to add asset to library:",d)});const c=new FileReader;c.onload=d=>{var g;const p=(g=d.target)==null?void 0:g.result;re(e,p)},c.readAsDataURL(u),l++}),l>0&&N.success(r==="zh"?`已添加 ${l} 张图片到第 ${e+1} 行`:`Added ${l} images to row ${e+1}`)},[re,r,I]),lt=o.useCallback((a,e)=>{a.dataTransfer.setData("text/library-image",e),a.dataTransfer.effectAllowed="copy"},[]),ct=o.useCallback(a=>{const e=a.target.files;if(!e||e.length===0)return;const i=Array.from(e).filter(l=>l.type.startsWith("image/"));if(i.length===0){N.warning(r==="zh"?"请选择图片文件":"Please select image files");return}aa(i);const s=k?k.row+1:1;ya(Math.min(s,f.length)),ea(!0),ze.current&&(ze.current.value="")},[r,k,f.length]),dt=o.useCallback(async()=>{if(q.length===0)return;const a=Ct(`批量导入(${q.length}张)`),e=X,i=q.length,s=Math.ceil(i/e),l=Q-1,u=[];for(const g of q){I(g,ue.IMAGE,Fe.LOCAL,g.name).catch(m=>{console.warn("[BatchImageGeneration] Failed to add asset to library:",m)});const n=await new Promise((m,b)=>{const h=new FileReader;h.onload=x=>{var S;return m((S=x.target)==null?void 0:S.result)},h.onerror=b,h.readAsDataURL(g)});u.push(n)}D(g=>{const n=[...g];let m=0,b=0;for(let h=0;h<s;h++){const x=l+h,S=[];for(let oe=0;oe<e&&m<i;oe++)S.push(u[m]),m++;x<n.length?n[x]={...n[x],images:[...n[x].images,...S]}:(n.push({id:T+b,prompt:"",size:R,images:S,count:1,taskIds:[]}),b++)}return n});const c=Math.min(s,f.length-l),d=Math.max(0,s-c);d>0&&ye(g=>g+d),aa([]),ea(!1),a();const p=r==="zh"?`已导入 ${i} 张图片,从第 ${Q} 行开始`:`Imported ${i} images starting from row ${Q}`;N.success(p)},[q,X,Q,T,f.length,r,I,R]),ca=o.useCallback(()=>{aa([]),ea(!1)},[]),ut=o.useCallback(async()=>{try{const a=await ha(()=>import("./xlsx-CkFp8p6R.js"),[],import.meta.url),e=[{提示词:"一只可爱的橘猫在阳光下睡觉",尺寸:"1x1",数量:1},{提示词:"未来城市的夜景,霓虹灯闪烁",尺寸:"16x9",数量:2},{提示词:"古风美女,水墨画风格",尺寸:"3x4",数量:1},{提示词:"",尺寸:"1x1",数量:1},{提示词:"",尺寸:"1x1",数量:1}],i=a.utils.book_new(),s=a.utils.json_to_sheet(e);s["!cols"]=[{wch:60},{wch:10},{wch:8}],a.utils.book_append_sheet(i,s,"批量出图模板"),a.writeFile(i,"batch-image-template.xlsx"),N.success(r==="zh"?"模板下载成功,填写后可导入使用":"Template downloaded, fill and import to use")}catch(a){console.error("Excel template download error:",a),N.error(r==="zh"?"下载失败,请稍后重试":"Download failed, please try again")}},[r]),mt=o.useCallback(async a=>{var i;const e=(i=a.target.files)==null?void 0:i[0];if(e){try{const s=await ha(()=>import("./xlsx-CkFp8p6R.js"),[],import.meta.url),l=new FileReader;l.onload=u=>{var c;try{const d=new Uint8Array((c=u.target)==null?void 0:c.result),p=s.read(d,{type:"array"}),g=p.SheetNames[0],n=p.Sheets[g],m=s.utils.sheet_to_json(n);if(m.length===0){N.warning(r==="zh"?"Excel 文件为空":"Excel file is empty");return}const b=m.map((h,x)=>{const S=h.提示词||h.prompt||h.Prompt||"",oe=h.尺寸||h.size||h.Size||R,xt=parseInt(String(h.数量||h.count||h.Count||"1"))||1,Sa=h.参考图||h.images||h.Images||"",wt=Sa?Sa.split(`
2
+ `).map(ke=>ke.trim()).filter(ke=>ke.length>0&&!ke.startsWith("[")&&!ke.endsWith("]")):[];return{id:T+x,prompt:String(S).trim(),size:Y.has(oe)?oe:R,images:wt,count:Math.max(1,xt),taskIds:[]}});D(h=>[...h,...b]),ye(h=>h+b.length),N.success(r==="zh"?`已导入 ${b.length} 行数据`:`Imported ${b.length} rows`)}catch(d){console.error("Excel import error:",d),N.error(r==="zh"?"导入失败,请检查文件格式":"Import failed, please check file format")}},l.readAsArrayBuffer(e)}catch(s){console.error("Excel library load error:",s),N.error(r==="zh"?"加载 Excel 处理库失败":"Failed to load Excel library")}_e.current&&(_e.current.value="")}},[R,T,r,Y]),te=o.useCallback(a=>{if(a.taskIds.length===0)return{status:"idle",tasks:[],completedCount:0,failedCount:0};const e=Z.filter(c=>a.taskIds.includes(c.id)),i=e.filter(c=>c.status===G.COMPLETED).length,s=e.filter(c=>c.status===G.FAILED).length,l=e.filter(c=>c.status===G.PENDING||c.status===G.PROCESSING).length;let u="idle";return l>0?u="generating":s>0&&i>0?u="partial":s>0?u="failed":i>0&&(u="completed"),{status:u,tasks:e,completedCount:i,failedCount:s}},[Z]),gt=o.useCallback(async()=>{try{const a=await ha(()=>import("./xlsx-CkFp8p6R.js"),[],import.meta.url),e=32e3,i=n=>{const b=n.map((h,x)=>h.startsWith("data:")?`[本地图片${x+1}]`:h).join(`
3
3
  `);return b.length>e?b.substring(0,e-20)+`
4
- ...[已截断]`:b},s=f.map(n=>{const m=te(n),b=m.tasks.filter(h=>{var x;return h.status===G.COMPLETED&&((x=h.result)==null?void 0:x.url)}).map(h=>h.result.url);return{提示词:n.prompt,尺寸:n.size,参考图:i(n.images),数量:n.count,预览图:i(b),状态:m.status==="idle"?"未生成":m.status==="generating"?"生成中":m.status==="completed"?"已完成":m.status==="failed"?"失败":m.status==="partial"?"部分完成":""}}),l=a.utils.book_new(),u=a.utils.json_to_sheet(s);u["!cols"]=[{wch:60},{wch:10},{wch:80},{wch:8},{wch:80},{wch:12}],a.utils.book_append_sheet(l,u,"批量出图数据");const c=new Date,d=`${c.getFullYear()}${String(c.getMonth()+1).padStart(2,"0")}${String(c.getDate()).padStart(2,"0")}`,p=`${String(c.getHours()).padStart(2,"0")}${String(c.getMinutes()).padStart(2,"0")}`,g=`batch-image-export_${d}_${p}.xlsx`;a.writeFile(l,g),N.success(r==="zh"?`已导出 ${f.length} 行数据`:`Exported ${f.length} rows`)}catch(a){console.error("Excel export error:",a),N.error(r==="zh"?"导出失败,请稍后重试":"Export failed, please try again")}},[f,te,r]),ht=o.useCallback(()=>{const a=[];if(f.forEach((e,i)=>{const{status:s}=te(e);(s==="failed"||s==="partial")&&a.push(i)}),a.length===0){N.info(r==="zh"?"没有失败的行":"No failed rows");return}W(new Set(a)),N.success(r==="zh"?`已选中 ${a.length} 个失败行`:`Selected ${a.length} failed rows`)},[f,te,r]),ft=o.useCallback(()=>{const a=new Set;f.forEach((e,i)=>{w.has(i)||a.add(i)}),W(a)},[f,w]),da=o.useCallback((a,e=0)=>{ja(Wt(a,"image"),e)},[ja]),Le=o.useCallback((a,e=!1)=>{W(i=>{const s=new Set(i);if(e&&Te.current!==null){const l=Math.min(Te.current,a),u=Math.max(Te.current,a);for(let c=l;c<=u;c++)s.add(c)}else s.has(a)?s.delete(a):s.add(a);return s}),Te.current=a},[]),pt=o.useCallback(()=>{w.size===f.length&&f.length>0?W(new Set):W(new Set(f.map((a,e)=>e)))},[f,w.size]),bt=o.useCallback(async()=>{const a=[...w].sort((i,s)=>i-s);if(a.length===0){N.warning(r==="zh"?"请先勾选要下载的行":"Please check rows to download");return}const e=[];if(a.forEach(i=>{const s=f[i];s&&s.taskIds.forEach((l,u)=>{var d;const c=Z.find(p=>p.id===l);(c==null?void 0:c.status)===G.COMPLETED&&((d=c.result)!=null&&d.url)&&e.push({url:c.result.url,filename:`row${i+1}_${u+1}_${s.prompt.slice(0,20).replace(/[^\w\u4e00-\u9fa5]/g,"_")}.png`})})}),e.length===0){N.warning(r==="zh"?"选中的行没有已生成的图片":"No generated images in selected rows");return}try{N.info(r==="zh"?"正在准备下载...":"Preparing download...");const i=new Date,s=`${i.getFullYear()}${String(i.getMonth()+1).padStart(2,"0")}${String(i.getDate()).padStart(2,"0")}`,l=`${String(i.getHours()).padStart(2,"0")}${String(i.getMinutes()).padStart(2,"0")}`,u=`aitu_images_${e.length}pics_${s}_${l}.zip`,c=e.map(p=>({url:p.url,type:"image",filename:p.filename})),d=await Ct(c,u);d.openedCount>0&&d.downloadedCount===0?N.success(r==="zh"?d.openedCount>1?`已打开 ${d.openedCount} 个链接,请在新标签页下载`:"资源不支持直接下载,已打开链接":d.openedCount>1?`Opened ${d.openedCount} links for download`:"Opened link for download"):N.success(r==="zh"?"下载成功":"Download complete")}catch(i){console.error("Download failed:",i),N.error(r==="zh"?"下载失败":"Download failed")}},[w,f,Z,r]),ua=o.useCallback(async a=>{if(Je(!0),!qt("image",K||V)&&(U(null),ne(null),!await St())){Je(!1),N.warning(r==="zh"?"需要 API Key 才能生成图片":"API Key is required to generate images");return}const e=Date.now();let i=0,s=0;for(const{task:l,rowIndex:u}of a){const c=l.count||1,d=`batch_${l.id}_${e}`,p=l.size||R,g=p==="auto"?void 0:p,n=l.images.map((b,h)=>({type:"url",url:b,name:`reference_${h+1}`})),m=[];for(let b=0;b<c;b++){i++;const h={prompt:l.prompt.trim(),aspectRatio:p,size:g,model:V||_a("image").modelId||"gemini-2.5-flash-image-vip",modelRef:K||null,uploadedImages:n,batchId:d,batchIndex:b+1,batchTotal:c,globalIndex:i,autoInsertToCanvas:!0},x=me(h,zt.IMAGE);x&&(s++,m.push(x.id))}m.length>0&&D(b=>{const h=[...b];return h[u]&&(h[u]={...h[u],taskIds:[...h[u].taskIds,...m]}),h})}Je(!1),s>0&&N.success(r==="zh"?`已提交 ${s} 个任务到队列`:`Submitted ${s} tasks to queue`)},[me,R,r,V,K,D,U,ne]),Nt=o.useCallback(async()=>{const a=[...w].sort((c,d)=>c-d);if(a.length===0){N.warning(r==="zh"?"请先勾选要生成的行":"Please check rows to generate");return}const e=a.map(c=>({task:f[c],rowIndex:c})).filter(({task:c})=>c&&c.prompt&&c.prompt.trim()!=="");if(e.length===0){N.warning(r==="zh"?"选中的行没有填写提示词":"Selected rows have no prompts");return}const i=e.filter(({task:c})=>te(c).status==="generating"),s=e.filter(({task:c})=>(c.count||1)>=100),l=e.reduce((c,{task:d})=>c+(d.count||1),0),u=l>=100;if(i.length>0||s.length>0||u){const c=[];if(i.length>0){const g=i.map(({rowIndex:n})=>n+1).join("、");c.push(r==="zh"?`第 ${g} 行正在生成中`:`Row ${g} is generating`)}if(s.length>0){const g=s.map(({task:n,rowIndex:m})=>r==="zh"?`第 ${m+1} 行数量为 ${n.count}`:`Row ${m+1} count is ${n.count}`).join("、");c.push(g)}u&&c.push(r==="zh"?`总任务数为 ${l}`:`Total task count is ${l}`);const d=c.join(r==="zh"?";":"; "),p=r==="zh"?`${d},是否继续?`:`${d}. Continue?`;se({title:r==="zh"?"生成提醒":"Generation Warning",description:p,confirmText:r==="zh"?"继续生成":"Continue",cancelText:r==="zh"?"取消":"Cancel",confirmTheme:"warning"}).then(g=>{g&&ua(e)});return}ua(e)},[se,f,w,r,ua,te]);o.useEffect(()=>{const a=e=>{if(!k||L)return;const{row:i,col:s}=k,l=E.indexOf(s);if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&E.includes(s)&&s!=="images"&&s!=="size"){if(e.preventDefault(),s==="count"){const c=parseInt(e.key);isNaN(c)?y(i,s,0):y(i,s,c)}else s==="prompt"&&y(i,s,e.key);U({row:i,col:s}),window.__cellEditSelectAll=!1;return}if((e.ctrlKey||e.metaKey)&&e.key==="z"&&!e.shiftKey){e.preventDefault(),Va();return}if((e.ctrlKey||e.metaKey)&&(e.key==="y"||e.key==="z"&&e.shiftKey)){e.preventDefault(),Ca();return}if((e.ctrlKey||e.metaKey)&&e.key==="c"){e.preventDefault();const d=[..._].sort((p,g)=>p.row-g.row).map(p=>{var n;const g=(n=f[p.row])==null?void 0:n[p.col];return{row:p.row,col:p.col,value:g}});if(d.length>0){const p=d.map(g=>g.col==="images"?JSON.stringify(g.value):String(g.value??"")).join(`
5
- `);Kt(p).then(()=>{window.__copiedCells=d})}return}if((e.ctrlKey||e.metaKey)&&e.key==="v"){e.preventDefault();const c=_.length>0?_:[{row:i,col:s}],d=window.__copiedCells;if(d&&d.length>0)if(d.length===1){const p=d[0];c.forEach(g=>{g.col===p.col&&y(g.row,g.col,p.value)})}else d.forEach((p,g)=>{const n=i+g;n<f.length&&y(n,s,p.value)});else Gt().then(p=>{const g=p.split(`
6
- `).filter(n=>n.trim());if(g.length===1||c.length>1){const n=g[0];c.forEach(m=>{if(m.col==="prompt")y(m.row,m.col,n);else if(m.col==="count"){const b=parseInt(n);!isNaN(b)&&b>=1&&y(m.row,m.col,b)}else m.col==="size"&&Y.has(n)&&y(m.row,m.col,n)})}else g.forEach((n,m)=>{const b=i+m;if(!(b>=f.length))if(s==="prompt")y(b,s,n);else if(s==="count"){const h=parseInt(n);!isNaN(h)&&h>=1&&y(b,s,h)}else s==="size"&&Y.has(n)&&y(b,s,n)})});return}switch(e.key){case"ArrowUp":e.preventDefault(),i>0&&v(i-1,s);break;case"ArrowDown":e.preventDefault(),i<f.length-1&&v(i+1,s);break;case"ArrowLeft":e.preventDefault(),l>0&&v(i,E[l-1]);break;case"ArrowRight":e.preventDefault(),l<E.length-1&&v(i,E[l+1]);break;case"Tab":e.preventDefault(),e.shiftKey?l>0?v(i,E[l-1]):i>0&&v(i-1,E[E.length-1]):l<E.length-1?v(i,E[l+1]):i<f.length-1&&v(i+1,E[0]);break;case"Enter":e.preventDefault(),s!=="images"&&Me(i,s);break;case"Escape":e.preventDefault(),U(null);break;case"Delete":case"Backspace":{e.preventDefault(),(_.length>0?_:[{row:i,col:s}]).forEach(d=>{d.col==="prompt"?y(d.row,d.col,""):d.col==="count"?y(d.row,d.col,0):d.col==="images"?y(d.row,d.col,[]):d.col==="size"&&y(d.row,d.col,R)});break}}};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[k,R,L,f,_,v,Me,y,Va,Ca,Y]),o.useEffect(()=>{const a=()=>{(F||de)&&Ie()};return document.addEventListener("mouseup",a),()=>document.removeEventListener("mouseup",a)},[F,de,Ie]),o.useEffect(()=>{if(!L||L.col!=="size")return;const a=e=>{e.target.closest(".custom-size-dropdown")||U(null)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[L]);const we=(a,e,i)=>{var p,g;const s=(L==null?void 0:L.row)===e&&(L==null?void 0:L.col)===i,l=(k==null?void 0:k.row)===e&&(k==null?void 0:k.col)===i,u=_.some(n=>n.row===e&&n.col===i),c=F&&(z==null?void 0:z.col)===i&&ka.includes(e),d=`excel-cell cell-${i} ${l?"active":""} ${u?"selected":""} ${c?"filling":""}`;switch(i){case"prompt":return t.jsxDEV("div",{className:d,onMouseDown:n=>{n.target.classList.contains("fill-handle")||s||n.button===0&&!n.shiftKey&&la(e,i)},onClick:n=>{s||xe(n,e,i)},onDoubleClick:()=>Me(e,i),children:[s?t.jsxDEV("textarea",{className:"cell-textarea",autoFocus:!0,value:a.prompt,placeholder:r==="zh"?"输入提示词...":"Enter prompt...",onChange:n=>{y(e,i,n.target.value)},onFocus:n=>{const m=n.target.value.length;n.target.setSelectionRange(m,m),n.target.style.height="auto",n.target.style.height=n.target.scrollHeight+"px"},onInput:n=>{const m=n.target;m.style.height="auto",m.style.height=m.scrollHeight+"px"},onBlur:()=>U(null),onKeyDown:n=>{if(n.key==="Escape")U(null);else if(n.key==="Enter"&&!n.shiftKey)n.preventDefault(),U(null),e<f.length-1&&v(e+1,i);else if(n.key==="Tab"){n.preventDefault(),U(null);const m=E.indexOf(i);n.shiftKey?m>0?v(e,E[m-1]):e>0&&v(e-1,E[E.length-1]):m<E.length-1?v(e,E[m+1]):e<f.length-1&&v(e+1,E[0])}}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2248,columnNumber:15},void 0):t.jsxDEV("span",{className:"cell-text",children:a.prompt||""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2310,columnNumber:15},void 0),l&&t.jsxDEV("div",{className:"fill-handle",onMouseDown:n=>{n.stopPropagation(),Ae(e,i)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2313,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2227,columnNumber:11},void 0);case"size":return t.jsxDEV("div",{className:d,onMouseDown:n=>{n.target.classList.contains("fill-handle")||n.button===0&&!n.shiftKey&&la(e,i)},onClick:n=>xe(n,e,i),onDoubleClick:()=>{v(e,i),U({row:e,col:i})},children:[s?t.jsxDEV("div",{className:"custom-size-dropdown",children:[t.jsxDEV("div",{className:"dropdown-trigger",children:[t.jsxDEV("span",{children:fa[a.size]||a.size},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2346,columnNumber:19},void 0),t.jsxDEV("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsxDEV("path",{d:"m6 9 6 6 6-6"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2357,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2347,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2345,columnNumber:17},void 0),t.jsxDEV("div",{className:"dropdown-menu",children:be.map(n=>t.jsxDEV("div",{className:`dropdown-item ${a.size===n?"selected":""}`,onMouseDown:m=>{m.preventDefault(),m.stopPropagation(),y(e,i,n),U(null)},children:[a.size===n&&t.jsxDEV("span",{className:"check-icon",children:"✓"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2375,columnNumber:25},void 0),fa[n]||n]},n,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2362,columnNumber:21},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2360,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2344,columnNumber:15},void 0):t.jsxDEV("span",{className:"cell-text",children:fa[a.size]||a.size},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2383,columnNumber:15},void 0),l&&t.jsxDEV("div",{className:"fill-handle",onMouseDown:n=>{n.stopPropagation(),Ae(e,i)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2388,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2326,columnNumber:11},void 0);case"images":return t.jsxDEV("div",{className:d,onClick:n=>xe(n,e,i),children:[t.jsxDEV("div",{className:"image-cell-content",children:[a.images.map((n,m)=>t.jsxDEV("div",{className:"cell-image-thumb",children:[t.jsxDEV("img",{src:n,alt:""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2408,columnNumber:19},void 0),t.jsxDEV("button",{className:"remove-btn",onClick:b=>{b.stopPropagation(),et(e,n)},children:"×"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2409,columnNumber:19},void 0)]},m,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2407,columnNumber:17},void 0)),t.jsxDEV("div",{className:"add-image-buttons",children:[t.jsxDEV(j,{variant:"text",shape:"square",size:"small",onClick:n=>{n.stopPropagation(),v(e,i),tt(e)},title:r==="zh"?"上传图片":"Upload image",icon:t.jsxDEV(Aa,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2431,columnNumber:25},void 0),className:"add-image-btn","data-track":"batch_row_upload_image_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2421,columnNumber:17},void 0),t.jsxDEV(j,{variant:"text",shape:"square",size:"small",onClick:n=>{n.stopPropagation(),v(e,i),it(e)},title:r==="zh"?"从素材库选择":"Select from library",icon:t.jsxDEV(Ma,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2447,columnNumber:25},void 0),className:"add-image-btn","data-track":"batch_row_select_from_library_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2435,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2420,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2405,columnNumber:13},void 0),l&&t.jsxDEV("div",{className:"fill-handle",onMouseDown:n=>{n.stopPropagation(),Ae(e,i)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2454,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2401,columnNumber:11},void 0);case"count":return t.jsxDEV("div",{className:d,onMouseDown:n=>{n.target.classList.contains("fill-handle")||s||n.button===0&&!n.shiftKey&&la(e,i)},onClick:n=>{s||xe(n,e,i)},onDoubleClick:()=>Me(e,i),children:[s?t.jsxDEV("input",{type:"number",autoFocus:!0,min:1,max:10,value:a.count===0?"":a.count,className:"cell-count-input",onChange:n=>{const m=n.target.value;if(m===""){y(e,i,0);return}const b=parseInt(m);isNaN(b)||y(e,i,b)},onBlur:()=>{!a.count||a.count<1?y(e,i,1):a.count>10&&y(e,i,10),U(null)},onKeyDown:n=>{n.key==="Escape"?U(null):n.key==="Enter"&&(U(null),e<f.length-1&&v(e+1,i))}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2486,columnNumber:15},void 0):t.jsxDEV("span",{className:"cell-text",children:a.count},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2524,columnNumber:15},void 0),l&&t.jsxDEV("div",{className:"fill-handle",onMouseDown:n=>{n.stopPropagation(),Ae(e,i)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2527,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2467,columnNumber:11},void 0);case"preview":{const n=te(a);return t.jsxDEV("div",{className:`${d} preview-cell preview-${n.status}`,onClick:m=>{n.status==="completed"||n.status==="partial"?ia(e):n.status==="failed"?w.has(e)||Le(e):xe(m,e,i)},children:[n.status==="idle"&&t.jsxDEV("span",{className:"preview-idle",children:"-"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2561,columnNumber:15},void 0),(n.status==="generating"||n.status==="completed")&&(()=>{const m=n.tasks.filter(x=>{var S;return x.status===G.COMPLETED&&((S=x.result)==null?void 0:S.url)}).map(x=>x.result.url),b=n.status==="generating",h=n.tasks.filter(x=>x.status===G.PENDING||x.status===G.PROCESSING).length;return m.length===0&&b?t.jsxDEV("span",{className:"preview-generating",children:[t.jsxDEV("span",{className:"loading-spinner"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2582,columnNumber:23},void 0),r==="zh"?"生成中...":"Generating..."]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2581,columnNumber:21},void 0):t.jsxDEV("div",{className:"preview-images",children:[m.slice(0,b?2:3).map((x,S)=>t.jsxDEV("div",{className:"preview-thumb clickable",onClick:oe=>{oe.stopPropagation(),da(m,S)},title:r==="zh"?"点击放大,左右切换":"Click to enlarge, swipe to navigate",children:t.jsxDEV("img",{src:x,alt:`Result ${S+1}`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2607,columnNumber:27},void 0)},S,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2594,columnNumber:25},void 0)),b&&t.jsxDEV("span",{className:"preview-generating-inline",title:r==="zh"?`还有 ${h} 张生成中`:`${h} more generating`,children:[t.jsxDEV("span",{className:"loading-spinner"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2620,columnNumber:25},void 0),"+",h]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2612,columnNumber:23},void 0),!b&&n.completedCount>3&&t.jsxDEV("span",{className:"preview-more clickable",onClick:x=>{x.stopPropagation(),ia(e)},title:r==="zh"?"查看全部图片":"View all images",children:["+",n.completedCount-3]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2625,columnNumber:23},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2590,columnNumber:19},void 0)})(),n.status==="failed"&&((p=n.tasks[0])==null?void 0:p.error)&&t.jsxDEV("div",{className:"preview-error",children:[t.jsxDEV("span",{className:"preview-error-message",children:n.tasks[0].error.message},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2643,columnNumber:17},void 0),((g=n.tasks[0].error.details)==null?void 0:g.originalError)&&t.jsxDEV(M,{content:t.jsxDEV("div",{className:"error-details-tooltip",children:[t.jsxDEV("div",{className:"error-details-title",children:"原始错误信息:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2650,columnNumber:25},void 0),t.jsxDEV("div",{className:"error-details-content",children:n.tasks[0].error.details.originalError},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2651,columnNumber:25},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2649,columnNumber:23},void 0),theme:"light",placement:"bottom",showArrow:!1,children:t.jsxDEV("span",{className:"preview-error-details-link",children:"[详情]"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2660,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2647,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2642,columnNumber:15},void 0),n.status==="partial"&&(()=>{const m=n.tasks.filter(b=>{var h;return b.status===G.COMPLETED&&((h=b.result)==null?void 0:h.url)}).map(b=>b.result.url);return t.jsxDEV("div",{className:"preview-partial",children:[t.jsxDEV("div",{className:"preview-images",children:m.slice(0,2).map((b,h)=>t.jsxDEV("div",{className:"preview-thumb clickable",onClick:x=>{x.stopPropagation(),da(m,h)},title:r==="zh"?"点击放大,左右切换":"Click to enlarge, swipe to navigate",children:t.jsxDEV("img",{src:b,alt:`Result ${h+1}`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2689,columnNumber:27},void 0)},h,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2676,columnNumber:25},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2674,columnNumber:21},void 0),t.jsxDEV("span",{className:"preview-partial-info",children:["⚠️ ",n.completedCount,"/",n.tasks.length]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2693,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2673,columnNumber:19},void 0)})()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2541,columnNumber:11},void 0)}default:return null}};return t.jsxDEV("div",{className:"batch-image-generation",children:[t.jsxDEV("div",{className:"batch-main-content",children:[t.jsxDEV("div",{className:"batch-toolbar",children:[t.jsxDEV("input",{ref:ze,type:"file",accept:"image/*",multiple:!0,onChange:ct,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2714,columnNumber:11},void 0),t.jsxDEV("input",{ref:Re,type:"file",accept:"image/*",multiple:!0,onChange:at,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2722,columnNumber:11},void 0),t.jsxDEV("input",{ref:_e,type:"file",accept:".xlsx,.xls,.csv",onChange:mt,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2730,columnNumber:11},void 0),t.jsxDEV("div",{className:"toolbar-left",children:[t.jsxDEV(M,{content:r==="zh"?"下载模板":"Download Template",theme:"light",children:t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Ta,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2747,columnNumber:23},void 0),onClick:ut,"data-track":"batch_download_template_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2744,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2740,columnNumber:13},void 0),t.jsxDEV(M,{content:r==="zh"?"导入 Excel":"Import Excel",theme:"light",children:t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(_t,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2759,columnNumber:23},void 0),onClick:()=>{var a;return(a=_e.current)==null?void 0:a.click()},"data-track":"batch_import_excel_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2756,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2752,columnNumber:13},void 0),t.jsxDEV(M,{content:r==="zh"?"批量导入图片":"Batch Import Images",theme:"light",children:t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Rt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2773,columnNumber:23},void 0),onClick:()=>{var a;return(a=ze.current)==null?void 0:a.click()},"data-track":"batch_import_images_click","data-track-params":JSON.stringify({source:"toolbar"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2770,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2764,columnNumber:13},void 0),t.jsxDEV("span",{className:"toolbar-divider"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2780,columnNumber:13},void 0),t.jsxDEV(M,{content:r==="zh"?"选择失败行":"Select Failed Rows",theme:"light",children:t.jsxDEV(j,{variant:"text",theme:"default",icon:t.jsxDEV(Tt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2790,columnNumber:23},void 0),onClick:ht,"data-track":"batch_select_failed_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2787,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2783,columnNumber:13},void 0),t.jsxDEV(M,{content:r==="zh"?"反选":"Invert Selection",theme:"light",children:t.jsxDEV(j,{variant:"text",theme:"default",icon:t.jsxDEV(Mt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2802,columnNumber:23},void 0),onClick:ft,"data-track":"batch_invert_selection_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2799,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2795,columnNumber:13},void 0),t.jsxDEV("span",{className:"toolbar-divider"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2808,columnNumber:13},void 0),t.jsxDEV(j,{variant:"text",theme:"default",icon:t.jsxDEV($t,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2814,columnNumber:21},void 0),onClick:Xa,className:"batch-delete-btn","data-track":"batch_delete_selected_click","data-track-params":JSON.stringify({count:w.size}),children:r==="zh"?"删除选中":"Delete Selected"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2811,columnNumber:13},void 0),t.jsxDEV("span",{className:"toolbar-divider"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2823,columnNumber:13},void 0),t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Ta,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2829,columnNumber:21},void 0),onClick:bt,className:"batch-download-btn","data-track":"batch_download_images_click","data-track-params":JSON.stringify({count:w.size}),children:r==="zh"?"下载选中图片":"Download"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2826,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2738,columnNumber:11},void 0),t.jsxDEV("div",{className:"toolbar-right",children:[t.jsxDEV("div",{className:"model-selector-wrapper","data-track":"batch_model_select",children:t.jsxDEV(Bt,{selectedModel:V,selectedSelectionKey:ha(V,K),onSelect:a=>{Ue(a),Ve(null),$==null||$(a),J==null||J(null)},onSelectModel:a=>{Ue(a.id);const e=Ke(a);Ve(e),$==null||$(a.id),J==null||J(e)},language:r,models:ae,placement:"down",variant:"form",disabled:Be},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2845,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2841,columnNumber:13},void 0),t.jsxDEV(j,{theme:"primary",onClick:Nt,loading:Be,className:"batch-generate-btn","data-track":"batch_generate_click","data-track-params":JSON.stringify({selectedRows:w.size,model:V}),children:Be?r==="zh"?"提交中...":"Submitting...":r==="zh"?"生成选中行":"Generate Selected"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2872,columnNumber:13},void 0),t.jsxDEV("span",{className:"toolbar-divider"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2892,columnNumber:13},void 0),!fe&&!Na&&t.jsxDEV(M,{content:r==="zh"?"显示素材库":"Show Library",theme:"light",children:t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Ma,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2902,columnNumber:25},void 0),onClick:()=>He(!0),"data-track":"batch_library_show_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2899,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2895,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2839,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2712,columnNumber:9},void 0),t.jsxDEV("div",{className:`excel-table-container ${F?"is-filling":""} ${de?"is-selecting":""}`,onMouseMove:Ya,onMouseUp:Ie,onMouseLeave:Ie,children:[t.jsxDEV("table",{className:"excel-table",children:[t.jsxDEV("thead",{children:t.jsxDEV("tr",{children:[t.jsxDEV("th",{className:"col-checkbox",children:t.jsxDEV(M,{content:Pa||(r==="zh"?"全选/取消全选":"Select All / Deselect All"),theme:"light",showArrow:!1,visible:Oa,onVisibleChange:a=>We(a),children:t.jsxDEV("div",{className:"checkbox-wrapper",children:t.jsxDEV($a,{checked:f.length>0&&w.size===f.length,indeterminate:w.size>0&&w.size<f.length,onChange:pt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2939,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2938,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2924,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2923,columnNumber:17},void 0),t.jsxDEV("th",{className:"row-number",children:"#"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2952,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-prompt",children:t.jsxDEV("div",{className:"th-content",children:[r==="zh"?"提示词":"Prompt",t.jsxDEV(M,{content:r==="zh"?"向下填充":"Fill down",theme:"light",children:t.jsxDEV(j,{variant:"text",shape:"circle",size:"small",icon:t.jsxDEV(Oe,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2964,columnNumber:31},void 0),className:"column-fill-btn",onClick:()=>$e("prompt"),"data-track":"batch_fill_column_click","data-track-params":JSON.stringify({column:"prompt"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2960,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2956,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2954,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2953,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-size",children:t.jsxDEV("div",{className:"th-content",children:[r==="zh"?"尺寸":"Size",t.jsxDEV(M,{content:r==="zh"?"向下填充":"Fill down",theme:"light",children:t.jsxDEV(j,{variant:"text",shape:"circle",size:"small",icon:t.jsxDEV(Oe,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2984,columnNumber:31},void 0),className:"column-fill-btn",onClick:()=>$e("size"),"data-track":"batch_fill_column_click","data-track-params":JSON.stringify({column:"size"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2980,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2976,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2974,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2973,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-images",children:t.jsxDEV("div",{className:"th-content",children:[r==="zh"?"参考图片":"Ref Images",t.jsxDEV(M,{content:r==="zh"?"向下填充":"Fill down",theme:"light",children:t.jsxDEV(j,{variant:"text",shape:"circle",size:"small",icon:t.jsxDEV(Oe,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3004,columnNumber:31},void 0),className:"column-fill-btn",onClick:()=>$e("images"),"data-track":"batch_fill_column_click","data-track-params":JSON.stringify({column:"images"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3e3,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2996,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2994,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2993,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-count",children:t.jsxDEV("div",{className:"th-content",children:[r==="zh"?"数量":"Count",t.jsxDEV(M,{content:r==="zh"?"向下填充":"Fill down",theme:"light",children:t.jsxDEV(j,{variant:"text",shape:"circle",size:"small",icon:t.jsxDEV(Oe,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3024,columnNumber:31},void 0),className:"column-fill-btn",onClick:()=>$e("count"),"data-track":"batch_fill_column_click","data-track-params":JSON.stringify({column:"count"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3020,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3016,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3014,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3013,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-preview",children:t.jsxDEV("div",{className:"th-content",children:r==="zh"?"预览":"Preview"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3034,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3033,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2922,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2921,columnNumber:13},void 0),t.jsxDEV("tbody",{children:f.map((a,e)=>t.jsxDEV("tr",{"data-row-index":e,className:`${w.has(e)?"row-selected":""} ${Fa===e?"row-drag-over":""} ${ka.includes(e)?"fill-preview":""}`,onDragOver:i=>nt(i,e),onDragLeave:rt,onDrop:i=>ot(i,e),children:[t.jsxDEV("td",{className:"col-checkbox",onClick:i=>{Le(e,i.shiftKey)},children:t.jsxDEV("div",{className:"checkbox-wrapper",onClick:i=>{i.stopPropagation(),Le(e,i.shiftKey)},onMouseEnter:()=>w.size>0&&We(!0),onMouseLeave:()=>We(!1),children:t.jsxDEV($a,{checked:w.has(e)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3072,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3060,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3054,columnNumber:19},void 0),t.jsxDEV("td",{className:"row-number",onClick:i=>Le(e,i.shiftKey),style:{cursor:"pointer"},children:e+1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3075,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"prompt")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3082,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"size")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3083,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"images")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3084,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"count")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3085,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"preview")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3086,columnNumber:19},void 0)]},a.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3042,columnNumber:17},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3040,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2920,columnNumber:11},void 0),t.jsxDEV("div",{className:"add-rows-section",children:[t.jsxDEV(j,{variant:"dashed",shape:"circle",onClick:()=>Ce(!0),title:r==="zh"?"添加行":"Add Rows",icon:t.jsxDEV(At,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3099,columnNumber:21},void 0),className:"add-rows-btn","data-track":"batch_add_rows_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3094,columnNumber:13},void 0),t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(It,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3106,columnNumber:21},void 0),onClick:gt,className:"export-excel-btn","data-track":"batch_export_excel_click","data-track-params":JSON.stringify({rowCount:f.length}),children:r==="zh"?"导出Excel":"Export Excel"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3103,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3093,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2912,columnNumber:9},void 0),t.jsxDEV("p",{className:"hint-text",children:r==="zh"?"提示:Enter 编辑/确认 | Tab 移动 | Ctrl+Z 撤销 | Ctrl+Y 重做 | 拖拽图片到行":"Tip: Enter to edit/confirm | Tab to move | Ctrl+Z undo | Ctrl+Y redo | Drag images to rows"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3117,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2710,columnNumber:7},void 0),!fe&&t.jsxDEV("div",{className:`image-library-sidebar ${Na?"":"hidden"}`,children:[t.jsxDEV("div",{className:"library-header",children:[t.jsxDEV("h3",{children:r==="zh"?"素材库":"Library"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3130,columnNumber:13},void 0),t.jsxDEV(j,{variant:"text",shape:"square",size:"small",className:"close-btn",onClick:()=>He(!1),icon:t.jsxDEV(Lt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3137,columnNumber:21},void 0),"data-track":"batch_library_close_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3131,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3129,columnNumber:11},void 0),t.jsxDEV("div",{className:"library-content",children:[t.jsxDEV("div",{className:"upload-section",children:[t.jsxDEV("input",{ref:Se,type:"file",accept:"image/*",multiple:!0,onChange:Za,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3143,columnNumber:15},void 0),t.jsxDEV(j,{block:!0,theme:"default",variant:"outline",icon:t.jsxDEV(Aa,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3155,columnNumber:23},void 0),onClick:()=>{var a;return(a=Se.current)==null?void 0:a.click()},"data-track":"batch_library_upload_click",children:r==="zh"?"上传图片":"Upload"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3151,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3142,columnNumber:13},void 0),t.jsxDEV("div",{className:"library-grid",children:ve.length===0?t.jsxDEV("div",{className:"empty-library",children:r==="zh"?"暂无图片,请上传":"No images, please upload"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3164,columnNumber:17},void 0):ve.map(a=>t.jsxDEV("div",{className:"library-image",onClick:()=>Qa(a.url),draggable:!0,onDragStart:e=>lt(e,a.url),title:r==="zh"?"点击添加到选中行,或拖拽到指定行":"Click to add to selected rows, or drag to a specific row","data-track":"batch_library_image_click",children:t.jsxDEV("img",{src:a.url,alt:a.name,draggable:!1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3186,columnNumber:21},void 0)},a.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3171,columnNumber:19},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3162,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3141,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3126,columnNumber:9},void 0),Ga&&t.jsxDEV("div",{className:"batch-import-modal-overlay",onClick:ca,children:t.jsxDEV("div",{className:"batch-import-modal",onClick:a=>a.stopPropagation(),children:[t.jsxDEV("div",{className:"modal-header",children:[t.jsxDEV("h3",{children:r==="zh"?"批量导入图片":"Batch Import Images"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3203,columnNumber:15},void 0),t.jsxDEV("button",{className:"close-btn",onClick:ca,children:"×"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3206,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3202,columnNumber:13},void 0),t.jsxDEV("div",{className:"modal-body",children:[t.jsxDEV("p",{className:"import-info",children:r==="zh"?`已选择 ${q.length} 张图片`:`${q.length} images selected`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3211,columnNumber:15},void 0),t.jsxDEV("div",{className:"import-settings-row",children:[t.jsxDEV("div",{className:"import-setting-item",children:[t.jsxDEV("label",{children:r==="zh"?"从第几行开始:":"Start from row:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3219,columnNumber:19},void 0),t.jsxDEV("input",{type:"number",min:1,max:f.length+Math.ceil(q.length/X),value:Q,onChange:a=>{const e=Math.max(1,parseInt(a.target.value)||1);ya(e)},className:"start-row-input"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3222,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3218,columnNumber:17},void 0),t.jsxDEV("div",{className:"import-setting-item",children:[t.jsxDEV("label",{children:r==="zh"?"每行图片数:":"Images per row:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3239,columnNumber:19},void 0),t.jsxDEV("div",{className:"per-row-options",children:[1,2,3,4,5].map(a=>t.jsxDEV("button",{className:`per-row-btn ${X===a?"active":""}`,onClick:()=>Ka(a),children:a},a,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3244,columnNumber:23},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3242,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3238,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3217,columnNumber:15},void 0),t.jsxDEV("p",{className:"import-preview",children:r==="zh"?`从第 ${Q} 行开始,填充 ${Math.ceil(q.length/X)} 行,每行 ${X} 张图片`:`Starting from row ${Q}, filling ${Math.ceil(q.length/X)} rows with ${X} image(s) each`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3258,columnNumber:15},void 0),t.jsxDEV("div",{className:"import-preview-grid",children:[ta.map((a,e)=>t.jsxDEV("div",{className:"preview-item",children:t.jsxDEV("img",{src:a,alt:""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3272,columnNumber:21},void 0)},e,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3271,columnNumber:19},void 0)),q.length>12&&t.jsxDEV("div",{className:"preview-more",children:["+",q.length-12]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3276,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3269,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3210,columnNumber:13},void 0),t.jsxDEV("div",{className:"modal-footer",children:[t.jsxDEV(j,{variant:"outline",theme:"default",onClick:ca,"data-track":"batch_import_modal_cancel_click",children:r==="zh"?"取消":"Cancel"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3283,columnNumber:15},void 0),t.jsxDEV(j,{theme:"default",variant:"outline",onClick:dt,"data-track":"batch_import_modal_confirm_click","data-track-params":JSON.stringify({imageCount:q.length,imagesPerRow:X,startRow:Q}),children:r==="zh"?"确认导入":"Import"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3291,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3282,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3198,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3197,columnNumber:9},void 0),t.jsxDEV(Pt,{...Ba},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3310,columnNumber:7},void 0),t.jsxDEV(Ia,{visible:Ja,onClose:()=>Ce(!1),header:r==="zh"?"添加行":"Add Rows",confirmBtn:{content:r==="zh"?"添加":"Add",theme:"default",variant:"outline",onClick:()=>{Wa(qe),Ce(!1),N.success(r==="zh"?`已添加 ${qe} 行`:`Added ${qe} rows`)}},cancelBtn:{content:r==="zh"?"取消":"Cancel",onClick:()=>Ce(!1)},width:360,className:"add-rows-dialog",destroyOnClose:!0,children:t.jsxDEV("div",{className:"add-rows-content",children:[t.jsxDEV("label",{children:r==="zh"?"添加行数:":"Number of rows:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3340,columnNumber:11},void 0),t.jsxDEV("input",{type:"number",min:1,max:100,value:qe,onChange:a=>Ha(Math.max(1,Math.min(100,parseInt(a.target.value)||1))),className:"add-rows-input",autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3341,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3339,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3313,columnNumber:7},void 0),t.jsxDEV(Ia,{visible:Ne!==null,onClose:()=>ia(null),header:r==="zh"?`第 ${(Ne??0)+1} 行生成结果`:`Row ${(Ne??0)+1} Results`,footer:null,width:"70vw",className:"row-gallery-dialog",destroyOnClose:!0,children:Ne!==null&&(()=>{const a=f[Ne];if(!a)return null;const i=te(a).tasks.filter(l=>{var u;return l.status===G.COMPLETED&&((u=l.result)==null?void 0:u.url)}),s=i.map(l=>l.result.url);return t.jsxDEV("div",{className:"row-gallery-content",children:[t.jsxDEV("div",{className:"gallery-grid",children:i.map((l,u)=>t.jsxDEV("div",{className:"gallery-item",onClick:()=>da(s,u),children:[t.jsxDEV("img",{src:l.result.url,alt:`Result ${u+1}`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3390,columnNumber:23},void 0),t.jsxDEV("span",{className:"gallery-item-index",children:u+1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3391,columnNumber:23},void 0)]},l.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3385,columnNumber:21},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3383,columnNumber:17},void 0),i.length===0&&t.jsxDEV("div",{className:"gallery-empty",children:r==="zh"?"暂无生成结果":"No results yet"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3396,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3382,columnNumber:15},void 0)})()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3358,columnNumber:7},void 0),Ea&&t.jsxDEV(Ot,{isOpen:Ea,onClose:()=>{sa(!1),ra(null)},mode:Ft.SELECT,filterType:ue.IMAGE,onSelect:st},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3407,columnNumber:9},void 0),le]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2709,columnNumber:5},void 0)};export{ni as default};
4
+ ...[已截断]`:b},s=f.map(n=>{const m=te(n),b=m.tasks.filter(h=>{var x;return h.status===G.COMPLETED&&((x=h.result)==null?void 0:x.url)}).map(h=>h.result.url);return{提示词:n.prompt,尺寸:n.size,参考图:i(n.images),数量:n.count,预览图:i(b),状态:m.status==="idle"?"未生成":m.status==="generating"?"生成中":m.status==="completed"?"已完成":m.status==="failed"?"失败":m.status==="partial"?"部分完成":""}}),l=a.utils.book_new(),u=a.utils.json_to_sheet(s);u["!cols"]=[{wch:60},{wch:10},{wch:80},{wch:8},{wch:80},{wch:12}],a.utils.book_append_sheet(l,u,"批量出图数据");const c=new Date,d=`${c.getFullYear()}${String(c.getMonth()+1).padStart(2,"0")}${String(c.getDate()).padStart(2,"0")}`,p=`${String(c.getHours()).padStart(2,"0")}${String(c.getMinutes()).padStart(2,"0")}`,g=`batch-image-export_${d}_${p}.xlsx`;a.writeFile(l,g),N.success(r==="zh"?`已导出 ${f.length} 行数据`:`Exported ${f.length} rows`)}catch(a){console.error("Excel export error:",a),N.error(r==="zh"?"导出失败,请稍后重试":"Export failed, please try again")}},[f,te,r]),ht=o.useCallback(()=>{const a=[];if(f.forEach((e,i)=>{const{status:s}=te(e);(s==="failed"||s==="partial")&&a.push(i)}),a.length===0){N.info(r==="zh"?"没有失败的行":"No failed rows");return}W(new Set(a)),N.success(r==="zh"?`已选中 ${a.length} 个失败行`:`Selected ${a.length} failed rows`)},[f,te,r]),ft=o.useCallback(()=>{const a=new Set;f.forEach((e,i)=>{w.has(i)||a.add(i)}),W(a)},[f,w]),da=o.useCallback((a,e=0)=>{ja(Wt(a,"image"),e)},[ja]),Le=o.useCallback((a,e=!1)=>{W(i=>{const s=new Set(i);if(e&&Te.current!==null){const l=Math.min(Te.current,a),u=Math.max(Te.current,a);for(let c=l;c<=u;c++)s.add(c)}else s.has(a)?s.delete(a):s.add(a);return s}),Te.current=a},[]),pt=o.useCallback(()=>{w.size===f.length&&f.length>0?W(new Set):W(new Set(f.map((a,e)=>e)))},[f,w.size]),bt=o.useCallback(async()=>{const a=[...w].sort((i,s)=>i-s);if(a.length===0){N.warning(r==="zh"?"请先勾选要下载的行":"Please check rows to download");return}const e=[];if(a.forEach(i=>{const s=f[i];s&&s.taskIds.forEach((l,u)=>{var d;const c=Z.find(p=>p.id===l);(c==null?void 0:c.status)===G.COMPLETED&&((d=c.result)!=null&&d.url)&&e.push({url:c.result.url,filename:`row${i+1}_${u+1}_${s.prompt.slice(0,20).replace(/[^\w\u4e00-\u9fa5]/g,"_")}.png`})})}),e.length===0){N.warning(r==="zh"?"选中的行没有已生成的图片":"No generated images in selected rows");return}try{N.info(r==="zh"?"正在准备下载...":"Preparing download...");const i=new Date,s=`${i.getFullYear()}${String(i.getMonth()+1).padStart(2,"0")}${String(i.getDate()).padStart(2,"0")}`,l=`${String(i.getHours()).padStart(2,"0")}${String(i.getMinutes()).padStart(2,"0")}`,u=`aitu_images_${e.length}pics_${s}_${l}.zip`,c=e.map(p=>({url:p.url,type:"image",filename:p.filename})),d=await qt(c,u);d.openedCount>0&&d.downloadedCount===0?N.success(r==="zh"?d.openedCount>1?`已打开 ${d.openedCount} 个链接,请在新标签页下载`:"资源不支持直接下载,已打开链接":d.openedCount>1?`Opened ${d.openedCount} links for download`:"Opened link for download"):N.success(r==="zh"?"下载成功":"Download complete")}catch(i){console.error("Download failed:",i),N.error(r==="zh"?"下载失败":"Download failed")}},[w,f,Z,r]),ua=o.useCallback(async a=>{if(Je(!0),!St("image",K||V)&&(U(null),ne(null),!await zt())){Je(!1),N.warning(r==="zh"?"需要 API Key 才能生成图片":"API Key is required to generate images");return}const e=Date.now();let i=0,s=0;for(const{task:l,rowIndex:u}of a){const c=l.count||1,d=`batch_${l.id}_${e}`,p=l.size||R,g=p==="auto"?void 0:p,n=l.images.map((b,h)=>({type:"url",url:b,name:`reference_${h+1}`})),m=[];for(let b=0;b<c;b++){i++;const h={prompt:l.prompt.trim(),aspectRatio:p,size:g,model:V||_a("image").modelId||"gemini-2.5-flash-image-vip",modelRef:K||null,uploadedImages:n,batchId:d,batchIndex:b+1,batchTotal:c,globalIndex:i,autoInsertToCanvas:!0},x=me(h,_t.IMAGE);x&&(s++,m.push(x.id))}m.length>0&&D(b=>{const h=[...b];return h[u]&&(h[u]={...h[u],taskIds:[...h[u].taskIds,...m]}),h})}Je(!1),s>0&&N.success(r==="zh"?`已提交 ${s} 个任务到队列`:`Submitted ${s} tasks to queue`)},[me,R,r,V,K,D,U,ne]),Nt=o.useCallback(async()=>{const a=[...w].sort((c,d)=>c-d);if(a.length===0){N.warning(r==="zh"?"请先勾选要生成的行":"Please check rows to generate");return}const e=a.map(c=>({task:f[c],rowIndex:c})).filter(({task:c})=>c&&c.prompt&&c.prompt.trim()!=="");if(e.length===0){N.warning(r==="zh"?"选中的行没有填写提示词":"Selected rows have no prompts");return}const i=e.filter(({task:c})=>te(c).status==="generating"),s=e.filter(({task:c})=>(c.count||1)>=100),l=e.reduce((c,{task:d})=>c+(d.count||1),0),u=l>=100;if(i.length>0||s.length>0||u){const c=[];if(i.length>0){const g=i.map(({rowIndex:n})=>n+1).join("、");c.push(r==="zh"?`第 ${g} 行正在生成中`:`Row ${g} is generating`)}if(s.length>0){const g=s.map(({task:n,rowIndex:m})=>r==="zh"?`第 ${m+1} 行数量为 ${n.count}`:`Row ${m+1} count is ${n.count}`).join("、");c.push(g)}u&&c.push(r==="zh"?`总任务数为 ${l}`:`Total task count is ${l}`);const d=c.join(r==="zh"?";":"; "),p=r==="zh"?`${d},是否继续?`:`${d}. Continue?`;se({title:r==="zh"?"生成提醒":"Generation Warning",description:p,confirmText:r==="zh"?"继续生成":"Continue",cancelText:r==="zh"?"取消":"Cancel",confirmTheme:"warning"}).then(g=>{g&&ua(e)});return}ua(e)},[se,f,w,r,ua,te]);o.useEffect(()=>{const a=e=>{if(!k||L)return;const{row:i,col:s}=k,l=E.indexOf(s);if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&E.includes(s)&&s!=="images"&&s!=="size"){if(e.preventDefault(),s==="count"){const c=parseInt(e.key);isNaN(c)?y(i,s,0):y(i,s,c)}else s==="prompt"&&y(i,s,e.key);U({row:i,col:s}),window.__cellEditSelectAll=!1;return}if((e.ctrlKey||e.metaKey)&&e.key==="z"&&!e.shiftKey){e.preventDefault(),Va();return}if((e.ctrlKey||e.metaKey)&&(e.key==="y"||e.key==="z"&&e.shiftKey)){e.preventDefault(),Ca();return}if((e.ctrlKey||e.metaKey)&&e.key==="c"){e.preventDefault();const d=[..._].sort((p,g)=>p.row-g.row).map(p=>{var n;const g=(n=f[p.row])==null?void 0:n[p.col];return{row:p.row,col:p.col,value:g}});if(d.length>0){const p=d.map(g=>g.col==="images"?JSON.stringify(g.value):String(g.value??"")).join(`
5
+ `);Bt(p).then(()=>{window.__copiedCells=d})}return}if((e.ctrlKey||e.metaKey)&&e.key==="v"){e.preventDefault();const c=_.length>0?_:[{row:i,col:s}],d=window.__copiedCells;if(d&&d.length>0)if(d.length===1){const p=d[0];c.forEach(g=>{g.col===p.col&&y(g.row,g.col,p.value)})}else d.forEach((p,g)=>{const n=i+g;n<f.length&&y(n,s,p.value)});else Jt().then(p=>{const g=p.split(`
6
+ `).filter(n=>n.trim());if(g.length===1||c.length>1){const n=g[0];c.forEach(m=>{if(m.col==="prompt")y(m.row,m.col,n);else if(m.col==="count"){const b=parseInt(n);!isNaN(b)&&b>=1&&y(m.row,m.col,b)}else m.col==="size"&&Y.has(n)&&y(m.row,m.col,n)})}else g.forEach((n,m)=>{const b=i+m;if(!(b>=f.length))if(s==="prompt")y(b,s,n);else if(s==="count"){const h=parseInt(n);!isNaN(h)&&h>=1&&y(b,s,h)}else s==="size"&&Y.has(n)&&y(b,s,n)})});return}switch(e.key){case"ArrowUp":e.preventDefault(),i>0&&v(i-1,s);break;case"ArrowDown":e.preventDefault(),i<f.length-1&&v(i+1,s);break;case"ArrowLeft":e.preventDefault(),l>0&&v(i,E[l-1]);break;case"ArrowRight":e.preventDefault(),l<E.length-1&&v(i,E[l+1]);break;case"Tab":e.preventDefault(),e.shiftKey?l>0?v(i,E[l-1]):i>0&&v(i-1,E[E.length-1]):l<E.length-1?v(i,E[l+1]):i<f.length-1&&v(i+1,E[0]);break;case"Enter":e.preventDefault(),s!=="images"&&Me(i,s);break;case"Escape":e.preventDefault(),U(null);break;case"Delete":case"Backspace":{e.preventDefault(),(_.length>0?_:[{row:i,col:s}]).forEach(d=>{d.col==="prompt"?y(d.row,d.col,""):d.col==="count"?y(d.row,d.col,0):d.col==="images"?y(d.row,d.col,[]):d.col==="size"&&y(d.row,d.col,R)});break}}};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[k,R,L,f,_,v,Me,y,Va,Ca,Y]),o.useEffect(()=>{const a=()=>{(F||de)&&Ie()};return document.addEventListener("mouseup",a),()=>document.removeEventListener("mouseup",a)},[F,de,Ie]),o.useEffect(()=>{if(!L||L.col!=="size")return;const a=e=>{e.target.closest(".custom-size-dropdown")||U(null)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[L]);const we=(a,e,i)=>{var p,g;const s=(L==null?void 0:L.row)===e&&(L==null?void 0:L.col)===i,l=(k==null?void 0:k.row)===e&&(k==null?void 0:k.col)===i,u=_.some(n=>n.row===e&&n.col===i),c=F&&(z==null?void 0:z.col)===i&&ka.includes(e),d=`excel-cell cell-${i} ${l?"active":""} ${u?"selected":""} ${c?"filling":""}`;switch(i){case"prompt":return t.jsxDEV("div",{className:d,onMouseDown:n=>{n.target.classList.contains("fill-handle")||s||n.button===0&&!n.shiftKey&&la(e,i)},onClick:n=>{s||xe(n,e,i)},onDoubleClick:()=>Me(e,i),children:[s?t.jsxDEV("textarea",{className:"cell-textarea",autoFocus:!0,value:a.prompt,placeholder:r==="zh"?"输入提示词...":"Enter prompt...",onChange:n=>{y(e,i,n.target.value)},onFocus:n=>{const m=n.target.value.length;n.target.setSelectionRange(m,m),n.target.style.height="auto",n.target.style.height=n.target.scrollHeight+"px"},onInput:n=>{const m=n.target;m.style.height="auto",m.style.height=m.scrollHeight+"px"},onBlur:()=>U(null),onKeyDown:n=>{if(n.key==="Escape")U(null);else if(n.key==="Enter"&&!n.shiftKey)n.preventDefault(),U(null),e<f.length-1&&v(e+1,i);else if(n.key==="Tab"){n.preventDefault(),U(null);const m=E.indexOf(i);n.shiftKey?m>0?v(e,E[m-1]):e>0&&v(e-1,E[E.length-1]):m<E.length-1?v(e,E[m+1]):e<f.length-1&&v(e+1,E[0])}}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2248,columnNumber:15},void 0):t.jsxDEV("span",{className:"cell-text",children:a.prompt||""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2310,columnNumber:15},void 0),l&&t.jsxDEV("div",{className:"fill-handle",onMouseDown:n=>{n.stopPropagation(),Ae(e,i)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2313,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2227,columnNumber:11},void 0);case"size":return t.jsxDEV("div",{className:d,onMouseDown:n=>{n.target.classList.contains("fill-handle")||n.button===0&&!n.shiftKey&&la(e,i)},onClick:n=>xe(n,e,i),onDoubleClick:()=>{v(e,i),U({row:e,col:i})},children:[s?t.jsxDEV("div",{className:"custom-size-dropdown",children:[t.jsxDEV("div",{className:"dropdown-trigger",children:[t.jsxDEV("span",{children:fa[a.size]||a.size},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2346,columnNumber:19},void 0),t.jsxDEV("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsxDEV("path",{d:"m6 9 6 6 6-6"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2357,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2347,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2345,columnNumber:17},void 0),t.jsxDEV("div",{className:"dropdown-menu",children:be.map(n=>t.jsxDEV("div",{className:`dropdown-item ${a.size===n?"selected":""}`,onMouseDown:m=>{m.preventDefault(),m.stopPropagation(),y(e,i,n),U(null)},children:[a.size===n&&t.jsxDEV("span",{className:"check-icon",children:"✓"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2375,columnNumber:25},void 0),fa[n]||n]},n,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2362,columnNumber:21},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2360,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2344,columnNumber:15},void 0):t.jsxDEV("span",{className:"cell-text",children:fa[a.size]||a.size},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2383,columnNumber:15},void 0),l&&t.jsxDEV("div",{className:"fill-handle",onMouseDown:n=>{n.stopPropagation(),Ae(e,i)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2388,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2326,columnNumber:11},void 0);case"images":return t.jsxDEV("div",{className:d,onClick:n=>xe(n,e,i),children:[t.jsxDEV("div",{className:"image-cell-content",children:[a.images.map((n,m)=>t.jsxDEV("div",{className:"cell-image-thumb",children:[t.jsxDEV("img",{src:n,alt:""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2408,columnNumber:19},void 0),t.jsxDEV("button",{className:"remove-btn",onClick:b=>{b.stopPropagation(),et(e,n)},children:"×"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2409,columnNumber:19},void 0)]},m,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2407,columnNumber:17},void 0)),t.jsxDEV("div",{className:"add-image-buttons",children:[t.jsxDEV(j,{variant:"text",shape:"square",size:"small",onClick:n=>{n.stopPropagation(),v(e,i),tt(e)},title:r==="zh"?"上传图片":"Upload image",icon:t.jsxDEV(Aa,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2431,columnNumber:25},void 0),className:"add-image-btn","data-track":"batch_row_upload_image_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2421,columnNumber:17},void 0),t.jsxDEV(j,{variant:"text",shape:"square",size:"small",onClick:n=>{n.stopPropagation(),v(e,i),it(e)},title:r==="zh"?"从素材库选择":"Select from library",icon:t.jsxDEV(Ma,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2447,columnNumber:25},void 0),className:"add-image-btn","data-track":"batch_row_select_from_library_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2435,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2420,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2405,columnNumber:13},void 0),l&&t.jsxDEV("div",{className:"fill-handle",onMouseDown:n=>{n.stopPropagation(),Ae(e,i)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2454,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2401,columnNumber:11},void 0);case"count":return t.jsxDEV("div",{className:d,onMouseDown:n=>{n.target.classList.contains("fill-handle")||s||n.button===0&&!n.shiftKey&&la(e,i)},onClick:n=>{s||xe(n,e,i)},onDoubleClick:()=>Me(e,i),children:[s?t.jsxDEV("input",{type:"number",autoFocus:!0,min:1,max:10,value:a.count===0?"":a.count,className:"cell-count-input",onChange:n=>{const m=n.target.value;if(m===""){y(e,i,0);return}const b=parseInt(m);isNaN(b)||y(e,i,b)},onBlur:()=>{!a.count||a.count<1?y(e,i,1):a.count>10&&y(e,i,10),U(null)},onKeyDown:n=>{n.key==="Escape"?U(null):n.key==="Enter"&&(U(null),e<f.length-1&&v(e+1,i))}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2486,columnNumber:15},void 0):t.jsxDEV("span",{className:"cell-text",children:a.count},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2524,columnNumber:15},void 0),l&&t.jsxDEV("div",{className:"fill-handle",onMouseDown:n=>{n.stopPropagation(),Ae(e,i)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2527,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2467,columnNumber:11},void 0);case"preview":{const n=te(a);return t.jsxDEV("div",{className:`${d} preview-cell preview-${n.status}`,onClick:m=>{n.status==="completed"||n.status==="partial"?ia(e):n.status==="failed"?w.has(e)||Le(e):xe(m,e,i)},children:[n.status==="idle"&&t.jsxDEV("span",{className:"preview-idle",children:"-"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2561,columnNumber:15},void 0),(n.status==="generating"||n.status==="completed")&&(()=>{const m=n.tasks.filter(x=>{var S;return x.status===G.COMPLETED&&((S=x.result)==null?void 0:S.url)}).map(x=>x.result.url),b=n.status==="generating",h=n.tasks.filter(x=>x.status===G.PENDING||x.status===G.PROCESSING).length;return m.length===0&&b?t.jsxDEV("span",{className:"preview-generating",children:[t.jsxDEV("span",{className:"loading-spinner"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2582,columnNumber:23},void 0),r==="zh"?"生成中...":"Generating..."]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2581,columnNumber:21},void 0):t.jsxDEV("div",{className:"preview-images",children:[m.slice(0,b?2:3).map((x,S)=>t.jsxDEV("div",{className:"preview-thumb clickable",onClick:oe=>{oe.stopPropagation(),da(m,S)},title:r==="zh"?"点击放大,左右切换":"Click to enlarge, swipe to navigate",children:t.jsxDEV("img",{src:x,alt:`Result ${S+1}`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2607,columnNumber:27},void 0)},S,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2594,columnNumber:25},void 0)),b&&t.jsxDEV("span",{className:"preview-generating-inline",title:r==="zh"?`还有 ${h} 张生成中`:`${h} more generating`,children:[t.jsxDEV("span",{className:"loading-spinner"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2620,columnNumber:25},void 0),"+",h]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2612,columnNumber:23},void 0),!b&&n.completedCount>3&&t.jsxDEV("span",{className:"preview-more clickable",onClick:x=>{x.stopPropagation(),ia(e)},title:r==="zh"?"查看全部图片":"View all images",children:["+",n.completedCount-3]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2625,columnNumber:23},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2590,columnNumber:19},void 0)})(),n.status==="failed"&&((p=n.tasks[0])==null?void 0:p.error)&&t.jsxDEV("div",{className:"preview-error",children:[t.jsxDEV("span",{className:"preview-error-message",children:n.tasks[0].error.message},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2643,columnNumber:17},void 0),((g=n.tasks[0].error.details)==null?void 0:g.originalError)&&t.jsxDEV(M,{content:t.jsxDEV("div",{className:"error-details-tooltip",children:[t.jsxDEV("div",{className:"error-details-title",children:"原始错误信息:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2650,columnNumber:25},void 0),t.jsxDEV("div",{className:"error-details-content",children:n.tasks[0].error.details.originalError},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2651,columnNumber:25},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2649,columnNumber:23},void 0),theme:"light",placement:"bottom",showArrow:!1,children:t.jsxDEV("span",{className:"preview-error-details-link",children:"[详情]"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2660,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2647,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2642,columnNumber:15},void 0),n.status==="partial"&&(()=>{const m=n.tasks.filter(b=>{var h;return b.status===G.COMPLETED&&((h=b.result)==null?void 0:h.url)}).map(b=>b.result.url);return t.jsxDEV("div",{className:"preview-partial",children:[t.jsxDEV("div",{className:"preview-images",children:m.slice(0,2).map((b,h)=>t.jsxDEV("div",{className:"preview-thumb clickable",onClick:x=>{x.stopPropagation(),da(m,h)},title:r==="zh"?"点击放大,左右切换":"Click to enlarge, swipe to navigate",children:t.jsxDEV("img",{src:b,alt:`Result ${h+1}`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2689,columnNumber:27},void 0)},h,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2676,columnNumber:25},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2674,columnNumber:21},void 0),t.jsxDEV("span",{className:"preview-partial-info",children:["⚠️ ",n.completedCount,"/",n.tasks.length]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2693,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2673,columnNumber:19},void 0)})()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2541,columnNumber:11},void 0)}default:return null}};return t.jsxDEV("div",{className:"batch-image-generation",children:[t.jsxDEV("div",{className:"batch-main-content",children:[t.jsxDEV("div",{className:"batch-toolbar",children:[t.jsxDEV("input",{ref:ze,type:"file",accept:"image/*",multiple:!0,onChange:ct,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2714,columnNumber:11},void 0),t.jsxDEV("input",{ref:Re,type:"file",accept:"image/*",multiple:!0,onChange:at,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2722,columnNumber:11},void 0),t.jsxDEV("input",{ref:_e,type:"file",accept:".xlsx,.xls,.csv",onChange:mt,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2730,columnNumber:11},void 0),t.jsxDEV("div",{className:"toolbar-left",children:[t.jsxDEV(M,{content:r==="zh"?"下载模板":"Download Template",theme:"light",children:t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Ta,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2747,columnNumber:23},void 0),onClick:ut,"data-track":"batch_download_template_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2744,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2740,columnNumber:13},void 0),t.jsxDEV(M,{content:r==="zh"?"导入 Excel":"Import Excel",theme:"light",children:t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Rt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2759,columnNumber:23},void 0),onClick:()=>{var a;return(a=_e.current)==null?void 0:a.click()},"data-track":"batch_import_excel_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2756,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2752,columnNumber:13},void 0),t.jsxDEV(M,{content:r==="zh"?"批量导入图片":"Batch Import Images",theme:"light",children:t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Tt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2773,columnNumber:23},void 0),onClick:()=>{var a;return(a=ze.current)==null?void 0:a.click()},"data-track":"batch_import_images_click","data-track-params":JSON.stringify({source:"toolbar"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2770,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2764,columnNumber:13},void 0),t.jsxDEV("span",{className:"toolbar-divider"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2780,columnNumber:13},void 0),t.jsxDEV(M,{content:r==="zh"?"选择失败行":"Select Failed Rows",theme:"light",children:t.jsxDEV(j,{variant:"text",theme:"default",icon:t.jsxDEV(Mt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2790,columnNumber:23},void 0),onClick:ht,"data-track":"batch_select_failed_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2787,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2783,columnNumber:13},void 0),t.jsxDEV(M,{content:r==="zh"?"反选":"Invert Selection",theme:"light",children:t.jsxDEV(j,{variant:"text",theme:"default",icon:t.jsxDEV($t,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2802,columnNumber:23},void 0),onClick:ft,"data-track":"batch_invert_selection_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2799,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2795,columnNumber:13},void 0),t.jsxDEV("span",{className:"toolbar-divider"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2808,columnNumber:13},void 0),t.jsxDEV(j,{variant:"text",theme:"default",icon:t.jsxDEV(At,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2814,columnNumber:21},void 0),onClick:Xa,className:"batch-delete-btn","data-track":"batch_delete_selected_click","data-track-params":JSON.stringify({count:w.size}),children:r==="zh"?"删除选中":"Delete Selected"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2811,columnNumber:13},void 0),t.jsxDEV("span",{className:"toolbar-divider"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2823,columnNumber:13},void 0),t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Ta,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2829,columnNumber:21},void 0),onClick:bt,className:"batch-download-btn","data-track":"batch_download_images_click","data-track-params":JSON.stringify({count:w.size}),children:r==="zh"?"下载选中图片":"Download"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2826,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2738,columnNumber:11},void 0),t.jsxDEV("div",{className:"toolbar-right",children:[t.jsxDEV("div",{className:"model-selector-wrapper","data-track":"batch_model_select",children:t.jsxDEV(It,{selectedModel:V,selectedSelectionKey:ga(V,K),onSelect:a=>{Ue(a),Ve(null),$==null||$(a),J==null||J(null)},onSelectModel:a=>{Ue(a.id);const e=Oe(a);Ve(e),$==null||$(a.id),J==null||J(e)},language:r,models:ae,placement:"down",variant:"form",disabled:Be},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2845,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2841,columnNumber:13},void 0),t.jsxDEV(j,{theme:"primary",onClick:Nt,loading:Be,className:"batch-generate-btn","data-track":"batch_generate_click","data-track-params":JSON.stringify({selectedRows:w.size,model:V}),children:Be?r==="zh"?"提交中...":"Submitting...":r==="zh"?"生成选中行":"Generate Selected"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2872,columnNumber:13},void 0),t.jsxDEV("span",{className:"toolbar-divider"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2892,columnNumber:13},void 0),!fe&&!Na&&t.jsxDEV(M,{content:r==="zh"?"显示素材库":"Show Library",theme:"light",children:t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Ma,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2902,columnNumber:25},void 0),onClick:()=>He(!0),"data-track":"batch_library_show_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2899,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2895,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2839,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2712,columnNumber:9},void 0),t.jsxDEV("div",{className:`excel-table-container ${F?"is-filling":""} ${de?"is-selecting":""}`,onMouseMove:Ya,onMouseUp:Ie,onMouseLeave:Ie,children:[t.jsxDEV("table",{className:"excel-table",children:[t.jsxDEV("thead",{children:t.jsxDEV("tr",{children:[t.jsxDEV("th",{className:"col-checkbox",children:t.jsxDEV(M,{content:Pa||(r==="zh"?"全选/取消全选":"Select All / Deselect All"),theme:"light",showArrow:!1,visible:Oa,onVisibleChange:a=>We(a),children:t.jsxDEV("div",{className:"checkbox-wrapper",children:t.jsxDEV($a,{checked:f.length>0&&w.size===f.length,indeterminate:w.size>0&&w.size<f.length,onChange:pt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2939,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2938,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2924,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2923,columnNumber:17},void 0),t.jsxDEV("th",{className:"row-number",children:"#"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2952,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-prompt",children:t.jsxDEV("div",{className:"th-content",children:[r==="zh"?"提示词":"Prompt",t.jsxDEV(M,{content:r==="zh"?"向下填充":"Fill down",theme:"light",children:t.jsxDEV(j,{variant:"text",shape:"circle",size:"small",icon:t.jsxDEV(Ke,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2964,columnNumber:31},void 0),className:"column-fill-btn",onClick:()=>$e("prompt"),"data-track":"batch_fill_column_click","data-track-params":JSON.stringify({column:"prompt"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2960,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2956,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2954,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2953,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-size",children:t.jsxDEV("div",{className:"th-content",children:[r==="zh"?"尺寸":"Size",t.jsxDEV(M,{content:r==="zh"?"向下填充":"Fill down",theme:"light",children:t.jsxDEV(j,{variant:"text",shape:"circle",size:"small",icon:t.jsxDEV(Ke,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2984,columnNumber:31},void 0),className:"column-fill-btn",onClick:()=>$e("size"),"data-track":"batch_fill_column_click","data-track-params":JSON.stringify({column:"size"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2980,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2976,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2974,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2973,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-images",children:t.jsxDEV("div",{className:"th-content",children:[r==="zh"?"参考图片":"Ref Images",t.jsxDEV(M,{content:r==="zh"?"向下填充":"Fill down",theme:"light",children:t.jsxDEV(j,{variant:"text",shape:"circle",size:"small",icon:t.jsxDEV(Ke,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3004,columnNumber:31},void 0),className:"column-fill-btn",onClick:()=>$e("images"),"data-track":"batch_fill_column_click","data-track-params":JSON.stringify({column:"images"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3e3,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2996,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2994,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2993,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-count",children:t.jsxDEV("div",{className:"th-content",children:[r==="zh"?"数量":"Count",t.jsxDEV(M,{content:r==="zh"?"向下填充":"Fill down",theme:"light",children:t.jsxDEV(j,{variant:"text",shape:"circle",size:"small",icon:t.jsxDEV(Ke,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3024,columnNumber:31},void 0),className:"column-fill-btn",onClick:()=>$e("count"),"data-track":"batch_fill_column_click","data-track-params":JSON.stringify({column:"count"})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3020,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3016,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3014,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3013,columnNumber:17},void 0),t.jsxDEV("th",{className:"col-preview",children:t.jsxDEV("div",{className:"th-content",children:r==="zh"?"预览":"Preview"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3034,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3033,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2922,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2921,columnNumber:13},void 0),t.jsxDEV("tbody",{children:f.map((a,e)=>t.jsxDEV("tr",{"data-row-index":e,className:`${w.has(e)?"row-selected":""} ${Fa===e?"row-drag-over":""} ${ka.includes(e)?"fill-preview":""}`,onDragOver:i=>nt(i,e),onDragLeave:rt,onDrop:i=>ot(i,e),children:[t.jsxDEV("td",{className:"col-checkbox",onClick:i=>{Le(e,i.shiftKey)},children:t.jsxDEV("div",{className:"checkbox-wrapper",onClick:i=>{i.stopPropagation(),Le(e,i.shiftKey)},onMouseEnter:()=>w.size>0&&We(!0),onMouseLeave:()=>We(!1),children:t.jsxDEV($a,{checked:w.has(e)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3072,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3060,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3054,columnNumber:19},void 0),t.jsxDEV("td",{className:"row-number",onClick:i=>Le(e,i.shiftKey),style:{cursor:"pointer"},children:e+1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3075,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"prompt")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3082,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"size")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3083,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"images")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3084,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"count")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3085,columnNumber:19},void 0),t.jsxDEV("td",{children:we(a,e,"preview")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3086,columnNumber:19},void 0)]},a.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3042,columnNumber:17},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3040,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2920,columnNumber:11},void 0),t.jsxDEV("div",{className:"add-rows-section",children:[t.jsxDEV(j,{variant:"dashed",shape:"circle",onClick:()=>Ce(!0),title:r==="zh"?"添加行":"Add Rows",icon:t.jsxDEV(Lt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3099,columnNumber:21},void 0),className:"add-rows-btn","data-track":"batch_add_rows_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3094,columnNumber:13},void 0),t.jsxDEV(j,{variant:"outline",theme:"default",icon:t.jsxDEV(Pt,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3106,columnNumber:21},void 0),onClick:gt,className:"export-excel-btn","data-track":"batch_export_excel_click","data-track-params":JSON.stringify({rowCount:f.length}),children:r==="zh"?"导出Excel":"Export Excel"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3103,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3093,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2912,columnNumber:9},void 0),t.jsxDEV("p",{className:"hint-text",children:r==="zh"?"提示:Enter 编辑/确认 | Tab 移动 | Ctrl+Z 撤销 | Ctrl+Y 重做 | 拖拽图片到行":"Tip: Enter to edit/confirm | Tab to move | Ctrl+Z undo | Ctrl+Y redo | Drag images to rows"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3117,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2710,columnNumber:7},void 0),!fe&&t.jsxDEV("div",{className:`image-library-sidebar ${Na?"":"hidden"}`,children:[t.jsxDEV("div",{className:"library-header",children:[t.jsxDEV("h3",{children:r==="zh"?"素材库":"Library"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3130,columnNumber:13},void 0),t.jsxDEV(j,{variant:"text",shape:"square",size:"small",className:"close-btn",onClick:()=>He(!1),icon:t.jsxDEV(Ot,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3137,columnNumber:21},void 0),"data-track":"batch_library_close_click"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3131,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3129,columnNumber:11},void 0),t.jsxDEV("div",{className:"library-content",children:[t.jsxDEV("div",{className:"upload-section",children:[t.jsxDEV("input",{ref:Se,type:"file",accept:"image/*",multiple:!0,onChange:Za,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3143,columnNumber:15},void 0),t.jsxDEV(j,{block:!0,theme:"default",variant:"outline",icon:t.jsxDEV(Aa,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3155,columnNumber:23},void 0),onClick:()=>{var a;return(a=Se.current)==null?void 0:a.click()},"data-track":"batch_library_upload_click",children:r==="zh"?"上传图片":"Upload"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3151,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3142,columnNumber:13},void 0),t.jsxDEV("div",{className:"library-grid",children:ve.length===0?t.jsxDEV("div",{className:"empty-library",children:r==="zh"?"暂无图片,请上传":"No images, please upload"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3164,columnNumber:17},void 0):ve.map(a=>t.jsxDEV("div",{className:"library-image",onClick:()=>Qa(a.url),draggable:!0,onDragStart:e=>lt(e,a.url),title:r==="zh"?"点击添加到选中行,或拖拽到指定行":"Click to add to selected rows, or drag to a specific row","data-track":"batch_library_image_click",children:t.jsxDEV("img",{src:a.url,alt:a.name,draggable:!1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3186,columnNumber:21},void 0)},a.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3171,columnNumber:19},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3162,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3141,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3126,columnNumber:9},void 0),Ga&&t.jsxDEV("div",{className:"batch-import-modal-overlay",onClick:ca,children:t.jsxDEV("div",{className:"batch-import-modal",onClick:a=>a.stopPropagation(),children:[t.jsxDEV("div",{className:"modal-header",children:[t.jsxDEV("h3",{children:r==="zh"?"批量导入图片":"Batch Import Images"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3203,columnNumber:15},void 0),t.jsxDEV("button",{className:"close-btn",onClick:ca,children:"×"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3206,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3202,columnNumber:13},void 0),t.jsxDEV("div",{className:"modal-body",children:[t.jsxDEV("p",{className:"import-info",children:r==="zh"?`已选择 ${q.length} 张图片`:`${q.length} images selected`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3211,columnNumber:15},void 0),t.jsxDEV("div",{className:"import-settings-row",children:[t.jsxDEV("div",{className:"import-setting-item",children:[t.jsxDEV("label",{children:r==="zh"?"从第几行开始:":"Start from row:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3219,columnNumber:19},void 0),t.jsxDEV("input",{type:"number",min:1,max:f.length+Math.ceil(q.length/X),value:Q,onChange:a=>{const e=Math.max(1,parseInt(a.target.value)||1);ya(e)},className:"start-row-input"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3222,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3218,columnNumber:17},void 0),t.jsxDEV("div",{className:"import-setting-item",children:[t.jsxDEV("label",{children:r==="zh"?"每行图片数:":"Images per row:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3239,columnNumber:19},void 0),t.jsxDEV("div",{className:"per-row-options",children:[1,2,3,4,5].map(a=>t.jsxDEV("button",{className:`per-row-btn ${X===a?"active":""}`,onClick:()=>Ka(a),children:a},a,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3244,columnNumber:23},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3242,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3238,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3217,columnNumber:15},void 0),t.jsxDEV("p",{className:"import-preview",children:r==="zh"?`从第 ${Q} 行开始,填充 ${Math.ceil(q.length/X)} 行,每行 ${X} 张图片`:`Starting from row ${Q}, filling ${Math.ceil(q.length/X)} rows with ${X} image(s) each`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3258,columnNumber:15},void 0),t.jsxDEV("div",{className:"import-preview-grid",children:[ta.map((a,e)=>t.jsxDEV("div",{className:"preview-item",children:t.jsxDEV("img",{src:a,alt:""},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3272,columnNumber:21},void 0)},e,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3271,columnNumber:19},void 0)),q.length>12&&t.jsxDEV("div",{className:"preview-more",children:["+",q.length-12]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3276,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3269,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3210,columnNumber:13},void 0),t.jsxDEV("div",{className:"modal-footer",children:[t.jsxDEV(j,{variant:"outline",theme:"default",onClick:ca,"data-track":"batch_import_modal_cancel_click",children:r==="zh"?"取消":"Cancel"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3283,columnNumber:15},void 0),t.jsxDEV(j,{theme:"default",variant:"outline",onClick:dt,"data-track":"batch_import_modal_confirm_click","data-track-params":JSON.stringify({imageCount:q.length,imagesPerRow:X,startRow:Q}),children:r==="zh"?"确认导入":"Import"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3291,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3282,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3198,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3197,columnNumber:9},void 0),t.jsxDEV(Ft,{...Ba},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3310,columnNumber:7},void 0),t.jsxDEV(Ia,{visible:Ja,onClose:()=>Ce(!1),header:r==="zh"?"添加行":"Add Rows",confirmBtn:{content:r==="zh"?"添加":"Add",theme:"default",variant:"outline",onClick:()=>{Wa(qe),Ce(!1),N.success(r==="zh"?`已添加 ${qe} 行`:`Added ${qe} rows`)}},cancelBtn:{content:r==="zh"?"取消":"Cancel",onClick:()=>Ce(!1)},width:360,className:"add-rows-dialog",destroyOnClose:!0,children:t.jsxDEV("div",{className:"add-rows-content",children:[t.jsxDEV("label",{children:r==="zh"?"添加行数:":"Number of rows:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3340,columnNumber:11},void 0),t.jsxDEV("input",{type:"number",min:1,max:100,value:qe,onChange:a=>Ha(Math.max(1,Math.min(100,parseInt(a.target.value)||1))),className:"add-rows-input",autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3341,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3339,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3313,columnNumber:7},void 0),t.jsxDEV(Ia,{visible:Ne!==null,onClose:()=>ia(null),header:r==="zh"?`第 ${(Ne??0)+1} 行生成结果`:`Row ${(Ne??0)+1} Results`,footer:null,width:"70vw",className:"row-gallery-dialog",destroyOnClose:!0,children:Ne!==null&&(()=>{const a=f[Ne];if(!a)return null;const i=te(a).tasks.filter(l=>{var u;return l.status===G.COMPLETED&&((u=l.result)==null?void 0:u.url)}),s=i.map(l=>l.result.url);return t.jsxDEV("div",{className:"row-gallery-content",children:[t.jsxDEV("div",{className:"gallery-grid",children:i.map((l,u)=>t.jsxDEV("div",{className:"gallery-item",onClick:()=>da(s,u),children:[t.jsxDEV("img",{src:l.result.url,alt:`Result ${u+1}`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3390,columnNumber:23},void 0),t.jsxDEV("span",{className:"gallery-item-index",children:u+1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3391,columnNumber:23},void 0)]},l.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3385,columnNumber:21},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3383,columnNumber:17},void 0),i.length===0&&t.jsxDEV("div",{className:"gallery-empty",children:r==="zh"?"暂无生成结果":"No results yet"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3396,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3382,columnNumber:15},void 0)})()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3358,columnNumber:7},void 0),Ea&&t.jsxDEV(Kt,{isOpen:Ea,onClose:()=>{sa(!1),ra(null)},mode:Gt.SELECT,filterType:ue.IMAGE,onSelect:st},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:3407,columnNumber:9},void 0),le]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/ttd-dialog/batch-image-generation.tsx",lineNumber:2709,columnNumber:5},void 0)};export{ai as default};
@@ -1,4 +1,4 @@
1
- import{ah as se,D as ye,d as H,e as Ee,l as S,z as we,k as De,g as he,q as ve}from"./index-VzDb_AHs.js";import{oG as Ne}from"./tool-windows-CtLXQDGF.js";import{i as ke,c as Ie,b as Oe,d as Te,a as ge,p as ze}from"./edges-e0da2a9e-CyRAzEMi.js";import{G as Ce}from"./graph-Bnmq4jgf.js";import{c as Ae}from"./channel-DMTz1UNN.js";import{o as Re}from"./ordinal-Cboi1Yqb.js";import{s as Be}from"./Tableau10-B-NsZVaP.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"./init-Gi6I4Gst.js";var oe,le,ee=(function(){var e=function(D,l,s,i){for(s=s||{},i=D.length;i--;s[D[i]]=l);return s},a=[1,7],d=[1,13],c=[1,14],n=[1,15],g=[1,19],o=[1,16],f=[1,17],b=[1,18],p=[8,30],x=[8,21,28,29,30,31,32,40,44,47],y=[1,23],T=[1,24],v=[8,15,16,21,28,29,30,31,32,40,44,47],N=[8,15,16,21,27,28,29,30,31,32,40,44,47],E=[1,49],L={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(l,s,i,u,h,t,m){var r=t.length-1;switch(h){case 4:u.getLogger().debug("Rule: separator (NL) ");break;case 5:u.getLogger().debug("Rule: separator (Space) ");break;case 6:u.getLogger().debug("Rule: separator (EOF) ");break;case 7:u.getLogger().debug("Rule: hierarchy: ",t[r-1]),u.setHierarchy(t[r-1]);break;case 8:u.getLogger().debug("Stop NL ");break;case 9:u.getLogger().debug("Stop EOF ");break;case 10:u.getLogger().debug("Stop NL2 ");break;case 11:u.getLogger().debug("Stop EOF2 ");break;case 12:u.getLogger().debug("Rule: statement: ",t[r]),typeof t[r].length=="number"?this.$=t[r]:this.$=[t[r]];break;case 13:u.getLogger().debug("Rule: statement #2: ",t[r-1]),this.$=[t[r-1]].concat(t[r]);break;case 14:u.getLogger().debug("Rule: link: ",t[r],l),this.$={edgeTypeStr:t[r],label:""};break;case 15:u.getLogger().debug("Rule: LABEL link: ",t[r-3],t[r-1],t[r]),this.$={edgeTypeStr:t[r],label:t[r-1]};break;case 18:const R=parseInt(t[r]),Y=u.generateId();this.$={id:Y,type:"space",label:"",width:R,children:[]};break;case 23:u.getLogger().debug("Rule: (nodeStatement link node) ",t[r-2],t[r-1],t[r]," typestr: ",t[r-1].edgeTypeStr);const F=u.edgeStrToEdgeData(t[r-1].edgeTypeStr);this.$=[{id:t[r-2].id,label:t[r-2].label,type:t[r-2].type,directions:t[r-2].directions},{id:t[r-2].id+"-"+t[r].id,start:t[r-2].id,end:t[r].id,label:t[r-1].label,type:"edge",directions:t[r].directions,arrowTypeEnd:F,arrowTypeStart:"arrow_open"},{id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions}];break;case 24:u.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[r-1],t[r]),this.$={id:t[r-1].id,label:t[r-1].label,type:u.typeStr2Type(t[r-1].typeStr),directions:t[r-1].directions,widthInColumns:parseInt(t[r],10)};break;case 25:u.getLogger().debug("Rule: nodeStatement (node) ",t[r]),this.$={id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions,widthInColumns:1};break;case 26:u.getLogger().debug("APA123",this?this:"na"),u.getLogger().debug("COLUMNS: ",t[r]),this.$={type:"column-setting",columns:t[r]==="auto"?-1:parseInt(t[r])};break;case 27:u.getLogger().debug("Rule: id-block statement : ",t[r-2],t[r-1]),u.generateId(),this.$={...t[r-2],type:"composite",children:t[r-1]};break;case 28:u.getLogger().debug("Rule: blockStatement : ",t[r-2],t[r-1],t[r]);const C=u.generateId();this.$={id:C,type:"composite",label:"",children:t[r-1]};break;case 29:u.getLogger().debug("Rule: node (NODE_ID separator): ",t[r]),this.$={id:t[r]};break;case 30:u.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[r-1],t[r]),this.$={id:t[r-1],label:t[r].label,typeStr:t[r].typeStr,directions:t[r].directions};break;case 31:u.getLogger().debug("Rule: dirList: ",t[r]),this.$=[t[r]];break;case 32:u.getLogger().debug("Rule: dirList: ",t[r-1],t[r]),this.$=[t[r-1]].concat(t[r]);break;case 33:u.getLogger().debug("Rule: nodeShapeNLabel: ",t[r-2],t[r-1],t[r]),this.$={typeStr:t[r-2]+t[r],label:t[r-1]};break;case 34:u.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[r-3],t[r-2]," #3:",t[r-1],t[r]),this.$={typeStr:t[r-3]+t[r],label:t[r-2],directions:t[r-1]};break;case 35:case 36:this.$={type:"classDef",id:t[r-1].trim(),css:t[r].trim()};break;case 37:this.$={type:"applyClass",id:t[r-1].trim(),styleClass:t[r].trim()};break;case 38:this.$={type:"applyStyles",id:t[r-1].trim(),stylesStr:t[r].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:o,44:f,47:b},{8:[1,20]},e(p,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:d,29:c,31:n,32:g,40:o,44:f,47:b}),e(x,[2,16],{14:22,15:y,16:T}),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),e(x,[2,21]),e(x,[2,22]),e(v,[2,25],{27:[1,25]}),e(x,[2,26]),{19:26,26:12,32:g},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:o,44:f,47:b},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(N,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(p,[2,13]),{26:35,32:g},{32:[2,14]},{17:[1,36]},e(v,[2,24]),{11:37,13:4,14:22,15:y,16:T,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:o,44:f,47:b},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(N,[2,30]),{18:[1,43]},{18:[1,44]},e(v,[2,23]),{18:[1,45]},{30:[1,46]},e(x,[2,28]),e(x,[2,35]),e(x,[2,36]),e(x,[2,37]),e(x,[2,38]),{37:[1,47]},{34:48,35:E},{15:[1,50]},e(x,[2,27]),e(N,[2,33]),{39:[1,51]},{34:52,35:E,39:[2,31]},{32:[2,15]},e(N,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(l,s){if(s.recoverable)this.trace(l);else{var i=new Error(l);throw i.hash=s,i}},parse:function(l){var s=this,i=[0],u=[],h=[null],t=[],m=this.table,r="",R=0,Y=0,F=2,C=1,Le=t.slice.call(arguments,1),w=Object.create(this.lexer),K={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(K.yy[Z]=this.yy[Z]);w.setInput(l,K.yy),K.yy.lexer=w,K.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var J=w.yylloc;t.push(J);var me=w.options&&w.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(){var P;return P=u.pop()||w.lex()||C,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}for(var I,M,z,Q,W={},X,B,ae,G;;){if(M=i[i.length-1],this.defaultActions[M]?z=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=_e()),z=m[M]&&m[M][I]),typeof z>"u"||!z.length||!z[0]){var $="";G=[];for(X in m[M])this.terminals_[X]&&X>F&&G.push("'"+this.terminals_[X]+"'");w.showPosition?$="Parse error on line "+(R+1)+`:
1
+ import{Y as se,a8 as ye,d as H,e as Ee,l as S,r as we,k as De,g as he,a0 as ve}from"./index-C5eu4uSl.js";import{ag as Ne}from"./tool-windows-DOIu9TAD.js";import{i as ke,a as Ie,b as Oe,p as Te,c as ge,d as ze}from"./edges-e0da2a9e-Ch6PBwWs.js";import{G as Ce}from"./graph--nPw8zXQ.js";import{c as Ae}from"./channel-CZjE-WNp.js";import{o as Re}from"./ordinal-Cboi1Yqb.js";import{s as Be}from"./Tableau10-B-NsZVaP.js";import"./createText-2e5e7dd3-CkXS3l7I.js";import"./index-7Q-aiwln.js";import"./browser-DpICcNby.js";import"./line-D3bnG227.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./init-Gi6I4Gst.js";var oe,le,ee=(function(){var e=function(D,l,s,i){for(s=s||{},i=D.length;i--;s[D[i]]=l);return s},a=[1,7],d=[1,13],c=[1,14],n=[1,15],g=[1,19],o=[1,16],f=[1,17],b=[1,18],p=[8,30],x=[8,21,28,29,30,31,32,40,44,47],y=[1,23],T=[1,24],v=[8,15,16,21,28,29,30,31,32,40,44,47],N=[8,15,16,21,27,28,29,30,31,32,40,44,47],E=[1,49],L={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(l,s,i,u,h,t,m){var r=t.length-1;switch(h){case 4:u.getLogger().debug("Rule: separator (NL) ");break;case 5:u.getLogger().debug("Rule: separator (Space) ");break;case 6:u.getLogger().debug("Rule: separator (EOF) ");break;case 7:u.getLogger().debug("Rule: hierarchy: ",t[r-1]),u.setHierarchy(t[r-1]);break;case 8:u.getLogger().debug("Stop NL ");break;case 9:u.getLogger().debug("Stop EOF ");break;case 10:u.getLogger().debug("Stop NL2 ");break;case 11:u.getLogger().debug("Stop EOF2 ");break;case 12:u.getLogger().debug("Rule: statement: ",t[r]),typeof t[r].length=="number"?this.$=t[r]:this.$=[t[r]];break;case 13:u.getLogger().debug("Rule: statement #2: ",t[r-1]),this.$=[t[r-1]].concat(t[r]);break;case 14:u.getLogger().debug("Rule: link: ",t[r],l),this.$={edgeTypeStr:t[r],label:""};break;case 15:u.getLogger().debug("Rule: LABEL link: ",t[r-3],t[r-1],t[r]),this.$={edgeTypeStr:t[r],label:t[r-1]};break;case 18:const R=parseInt(t[r]),Y=u.generateId();this.$={id:Y,type:"space",label:"",width:R,children:[]};break;case 23:u.getLogger().debug("Rule: (nodeStatement link node) ",t[r-2],t[r-1],t[r]," typestr: ",t[r-1].edgeTypeStr);const F=u.edgeStrToEdgeData(t[r-1].edgeTypeStr);this.$=[{id:t[r-2].id,label:t[r-2].label,type:t[r-2].type,directions:t[r-2].directions},{id:t[r-2].id+"-"+t[r].id,start:t[r-2].id,end:t[r].id,label:t[r-1].label,type:"edge",directions:t[r].directions,arrowTypeEnd:F,arrowTypeStart:"arrow_open"},{id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions}];break;case 24:u.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[r-1],t[r]),this.$={id:t[r-1].id,label:t[r-1].label,type:u.typeStr2Type(t[r-1].typeStr),directions:t[r-1].directions,widthInColumns:parseInt(t[r],10)};break;case 25:u.getLogger().debug("Rule: nodeStatement (node) ",t[r]),this.$={id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions,widthInColumns:1};break;case 26:u.getLogger().debug("APA123",this?this:"na"),u.getLogger().debug("COLUMNS: ",t[r]),this.$={type:"column-setting",columns:t[r]==="auto"?-1:parseInt(t[r])};break;case 27:u.getLogger().debug("Rule: id-block statement : ",t[r-2],t[r-1]),u.generateId(),this.$={...t[r-2],type:"composite",children:t[r-1]};break;case 28:u.getLogger().debug("Rule: blockStatement : ",t[r-2],t[r-1],t[r]);const C=u.generateId();this.$={id:C,type:"composite",label:"",children:t[r-1]};break;case 29:u.getLogger().debug("Rule: node (NODE_ID separator): ",t[r]),this.$={id:t[r]};break;case 30:u.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[r-1],t[r]),this.$={id:t[r-1],label:t[r].label,typeStr:t[r].typeStr,directions:t[r].directions};break;case 31:u.getLogger().debug("Rule: dirList: ",t[r]),this.$=[t[r]];break;case 32:u.getLogger().debug("Rule: dirList: ",t[r-1],t[r]),this.$=[t[r-1]].concat(t[r]);break;case 33:u.getLogger().debug("Rule: nodeShapeNLabel: ",t[r-2],t[r-1],t[r]),this.$={typeStr:t[r-2]+t[r],label:t[r-1]};break;case 34:u.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[r-3],t[r-2]," #3:",t[r-1],t[r]),this.$={typeStr:t[r-3]+t[r],label:t[r-2],directions:t[r-1]};break;case 35:case 36:this.$={type:"classDef",id:t[r-1].trim(),css:t[r].trim()};break;case 37:this.$={type:"applyClass",id:t[r-1].trim(),styleClass:t[r].trim()};break;case 38:this.$={type:"applyStyles",id:t[r-1].trim(),stylesStr:t[r].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:o,44:f,47:b},{8:[1,20]},e(p,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:d,29:c,31:n,32:g,40:o,44:f,47:b}),e(x,[2,16],{14:22,15:y,16:T}),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),e(x,[2,21]),e(x,[2,22]),e(v,[2,25],{27:[1,25]}),e(x,[2,26]),{19:26,26:12,32:g},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:o,44:f,47:b},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(N,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(p,[2,13]),{26:35,32:g},{32:[2,14]},{17:[1,36]},e(v,[2,24]),{11:37,13:4,14:22,15:y,16:T,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:o,44:f,47:b},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(N,[2,30]),{18:[1,43]},{18:[1,44]},e(v,[2,23]),{18:[1,45]},{30:[1,46]},e(x,[2,28]),e(x,[2,35]),e(x,[2,36]),e(x,[2,37]),e(x,[2,38]),{37:[1,47]},{34:48,35:E},{15:[1,50]},e(x,[2,27]),e(N,[2,33]),{39:[1,51]},{34:52,35:E,39:[2,31]},{32:[2,15]},e(N,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(l,s){if(s.recoverable)this.trace(l);else{var i=new Error(l);throw i.hash=s,i}},parse:function(l){var s=this,i=[0],u=[],h=[null],t=[],m=this.table,r="",R=0,Y=0,F=2,C=1,Le=t.slice.call(arguments,1),w=Object.create(this.lexer),K={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(K.yy[Z]=this.yy[Z]);w.setInput(l,K.yy),K.yy.lexer=w,K.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var J=w.yylloc;t.push(J);var me=w.options&&w.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(){var P;return P=u.pop()||w.lex()||C,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}for(var I,M,z,Q,W={},X,B,ae,G;;){if(M=i[i.length-1],this.defaultActions[M]?z=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=_e()),z=m[M]&&m[M][I]),typeof z>"u"||!z.length||!z[0]){var $="";G=[];for(X in m[M])this.terminals_[X]&&X>F&&G.push("'"+this.terminals_[X]+"'");w.showPosition?$="Parse error on line "+(R+1)+`:
2
2
  `+w.showPosition()+`
3
3
  Expecting `+G.join(", ")+", got '"+(this.terminals_[I]||I)+"'":$="Parse error on line "+(R+1)+": Unexpected "+(I==C?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError($,{text:w.match,token:this.terminals_[I]||I,line:w.yylineno,loc:J,expected:G})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+I);switch(z[0]){case 1:i.push(I),h.push(w.yytext),t.push(w.yylloc),i.push(z[1]),I=null,Y=w.yyleng,r=w.yytext,R=w.yylineno,J=w.yylloc;break;case 2:if(B=this.productions_[z[1]][1],W.$=h[h.length-B],W._$={first_line:t[t.length-(B||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(B||1)].first_column,last_column:t[t.length-1].last_column},me&&(W._$.range=[t[t.length-(B||1)].range[0],t[t.length-1].range[1]]),Q=this.performAction.apply(W,[r,Y,R,K.yy,z[1],h,t].concat(Le)),typeof Q<"u")return Q;B&&(i=i.slice(0,-1*B*2),h=h.slice(0,-1*B),t=t.slice(0,-1*B)),i.push(this.productions_[z[1]][0]),h.push(W.$),t.push(W._$),ae=m[i[i.length-2]][i[i.length-1]],i.push(ae);break;case 3:return!0}}return!0}},A=(function(){var D={EOF:1,parseError:function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},setInput:function(l,s){return this.yy=s||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var s=l.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},unput:function(l){var s=l.length,i=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var h=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[h[0],h[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(l){this.unput(this.match.slice(l))},pastInput:function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var l=this.pastInput(),s=new Array(l.length+1).join("-");return l+this.upcomingInput()+`