aitu-app 0.6.48 → 0.6.49

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 (318) hide show
  1. package/README.md +3 -3
  2. package/assets/CanvasAudioPlayer-DITqjh6L.js +2 -0
  3. package/assets/CanvasAudioPlayer-mm7y75Ol.css +1 -0
  4. package/assets/ChatMessagesArea-D9jmGx5a.js +250 -0
  5. package/assets/ChatMessagesArea-DyR_wHFQ.css +1 -0
  6. package/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  7. package/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  8. package/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  9. package/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  10. package/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  11. package/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  12. package/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  13. package/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  14. package/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  15. package/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  16. package/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  17. package/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  18. package/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  19. package/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  20. package/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  21. package/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  22. package/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  23. package/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  24. package/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  25. package/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  26. package/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  27. package/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  28. package/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  29. package/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  30. package/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  31. package/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  32. package/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  33. package/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  34. package/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  35. package/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  36. package/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  37. package/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  38. package/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  39. package/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  40. package/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  41. package/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  42. package/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  43. package/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  44. package/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  45. package/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  46. package/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  47. package/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  48. package/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  49. package/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  50. package/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  51. package/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  52. package/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  53. package/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  54. package/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  55. package/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  56. package/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  57. package/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  58. package/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  59. package/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  60. package/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  61. package/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  62. package/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  63. package/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  64. package/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  65. package/assets/KnowledgeBaseContent-C_BAVG2b.css +1 -0
  66. package/assets/KnowledgeBaseContent-za__rOJH.js +53 -0
  67. package/assets/MVCreator-CTG316DL.js +152 -0
  68. package/assets/MVCreator-D2l2Gm4W.css +1 -0
  69. package/assets/MediaLibrarySidebar-CNCXXhfY.css +1 -0
  70. package/assets/ModelBenchmarkWorkbench-CAF7qCOz.css +1 -0
  71. package/assets/ModelBenchmarkWorkbench-JCQglDx0.js +2 -0
  72. package/assets/MusicAnalyzer-DE_rzhdo.js +1 -0
  73. package/assets/MusicAnalyzer-DhtRGpAp.css +1 -0
  74. package/assets/MusicAnalyzer-QQf3iMVf.js +6 -0
  75. package/assets/ResizableDivider-CNJfwuMZ.js +1 -0
  76. package/assets/ResizableDivider-ClzYJk-6.css +1 -0
  77. package/assets/Tableau10-B-NsZVaP.js +1 -0
  78. package/assets/Tableau10-Dnlau_Wv.js +1 -0
  79. package/assets/TaskQueuePanel-CcKV6Mtu.js +1 -0
  80. package/assets/VideoAnalyzer-4jAswALN.js +2 -0
  81. package/assets/VideoAnalyzer-BNHBu5xL.css +1 -0
  82. package/assets/__vite-browser-external-UePf-KSV.js +1 -0
  83. package/assets/apl-B4CMkyY2.js +1 -0
  84. package/assets/arc-CUJYo2bm.js +1 -0
  85. package/assets/arc-Do7iheP0.js +1 -0
  86. package/assets/array-B5oSNiGi.js +1 -0
  87. package/assets/array-BKyUJesY.js +1 -0
  88. package/assets/asciiarmor-Df11BRmG.js +1 -0
  89. package/assets/asn1-EdZsLKOL.js +1 -0
  90. package/assets/asterisk-B-8jnY81.js +1 -0
  91. package/assets/batch-image-generation-BcGzhZc6.js +6 -0
  92. package/assets/batch-image-generation-BePygpHd.css +1 -0
  93. package/assets/blockDiagram-38ab4fdb-7dWD8NFK.js +118 -0
  94. package/assets/blockDiagram-38ab4fdb-CQhYv8hA.js +118 -0
  95. package/assets/brainfuck-C4LP7Hcl.js +1 -0
  96. package/assets/browser-Dlc7rtso.js +1 -0
  97. package/assets/c4Diagram-3d4e48cf-DcDSmMC1.js +10 -0
  98. package/assets/c4Diagram-3d4e48cf-YiNiIQMx.js +10 -0
  99. package/assets/channel-CbiJkWzq.js +1 -0
  100. package/assets/channel-CmPwOS9o.js +1 -0
  101. package/assets/character-Bo9jcTNu.css +1 -0
  102. package/assets/classDiagram-70f12bd4--vcKyE3X.js +2 -0
  103. package/assets/classDiagram-70f12bd4-uRbi4Ob8.js +2 -0
  104. package/assets/classDiagram-v2-f2320105-CJVRZ6AN.js +2 -0
  105. package/assets/classDiagram-v2-f2320105-vzjVMHkr.js +2 -0
  106. package/assets/clike-B9uivgTg.js +1 -0
  107. package/assets/clipper-DOGfacWv.js +1 -0
  108. package/assets/clojure-BMjYHr_A.js +1 -0
  109. package/assets/clone-D79TnM4U.js +1 -0
  110. package/assets/cmake-BQqOBYOt.js +1 -0
  111. package/assets/cobol-CWcv1MsR.js +1 -0
  112. package/assets/coffeescript-S37ZYGWr.js +1 -0
  113. package/assets/commonlisp-DBKNyK5s.js +1 -0
  114. package/assets/createText-2e5e7dd3-BwZkEiuo.js +8 -0
  115. package/assets/createText-2e5e7dd3-Caeqt6QH.js +5 -0
  116. package/assets/crystal-SjHAIU92.js +1 -0
  117. package/assets/css-BnMrqG3P.js +1 -0
  118. package/assets/cypher-C_CwsFkJ.js +1 -0
  119. package/assets/d-pRatUO7H.js +1 -0
  120. package/assets/diff-DbItnlRl.js +1 -0
  121. package/assets/dockerfile-BKs6k2Af.js +1 -0
  122. package/assets/dtd-DF_7sFjM.js +1 -0
  123. package/assets/dylan-DwRh75JA.js +1 -0
  124. package/assets/ebnf-CDyGwa7X.js +1 -0
  125. package/assets/ecl-Cabwm37j.js +1 -0
  126. package/assets/edges-e0da2a9e-C0phcDTf.js +4 -0
  127. package/assets/edges-e0da2a9e-izyAbn2P.js +4 -0
  128. package/assets/eiffel-CnydiIhH.js +1 -0
  129. package/assets/elm-vLlmbW-K.js +1 -0
  130. package/assets/erDiagram-9861fffd-2xZLFO3_.js +51 -0
  131. package/assets/erDiagram-9861fffd-CbdcBVpG.js +51 -0
  132. package/assets/erlang-BNw1qcRV.js +1 -0
  133. package/assets/external-skills-BcV6ATYi.js +1 -0
  134. package/assets/factor-kuTfRLto.js +1 -0
  135. package/assets/fcl-Kvtd6kyn.js +1 -0
  136. package/assets/flowDb-956e92f1-CKDRVial.js +10 -0
  137. package/assets/flowDb-956e92f1-X_4p-qaU.js +10 -0
  138. package/assets/flowDiagram-66a62f08-CujQt6CJ.js +4 -0
  139. package/assets/flowDiagram-66a62f08-DBi4rRPf.js +4 -0
  140. package/assets/flowDiagram-v2-96b9c2cf-BLkw2ciq.js +1 -0
  141. package/assets/flowDiagram-v2-96b9c2cf-DVKQK2hY.js +1 -0
  142. package/assets/flowchart-elk-definition-4a651766-Uf06y1Ck.js +139 -0
  143. package/assets/flowchart-elk-definition-4a651766-wpAztAJn.js +139 -0
  144. package/assets/forth-Ffai-XNe.js +1 -0
  145. package/assets/fortran-DYz_wnZ1.js +1 -0
  146. package/assets/ganttDiagram-c361ad54-B3JxRUoo.js +257 -0
  147. package/assets/ganttDiagram-c361ad54-CIb_MFVi.js +257 -0
  148. package/assets/gas-Bneqetm1.js +1 -0
  149. package/assets/gherkin-heZmZLOM.js +1 -0
  150. package/assets/gitGraphDiagram-72cf32ee-PuJBoZww.js +70 -0
  151. package/assets/gitGraphDiagram-72cf32ee-i6oLazGK.js +70 -0
  152. package/assets/graph-CbDG5PTO.js +1 -0
  153. package/assets/graph-DUQ4GGpV.js +1 -0
  154. package/assets/groovy-D9Dt4D0W.js +1 -0
  155. package/assets/haskell-Cw1EW3IL.js +1 -0
  156. package/assets/haxe-H-WmDvRZ.js +1 -0
  157. package/assets/http-DBlCnlav.js +1 -0
  158. package/assets/idl-BEugSyMb.js +1 -0
  159. package/assets/index-04BPVAKr.js +1 -0
  160. package/assets/index-3862675e-CLvnWYyN.js +1 -0
  161. package/assets/index-3862675e-CxQdmW6r.js +1 -0
  162. package/assets/index-3K3oLjal.js +1 -0
  163. package/assets/index-Ayt_kr_j.js +1 -0
  164. package/assets/index-B0aeak-l.js +1 -0
  165. package/assets/index-BAeTUD9a.js +1 -0
  166. package/assets/index-BECtRsXJ.js +6 -0
  167. package/assets/index-BScFd-2h.js +4 -0
  168. package/assets/index-BUB5I7zd.js +1 -0
  169. package/assets/index-BWokxWXg.js +1 -0
  170. package/assets/index-BYAyLEaG.js +1 -0
  171. package/assets/index-BZS4gNhO.js +7 -0
  172. package/assets/index-Bc75bQXQ.js +2 -0
  173. package/assets/index-BjxNPKa3.js +1 -0
  174. package/assets/index-BkvYpt-1.js +1 -0
  175. package/assets/index-Bnb0fjWR.js +1 -0
  176. package/assets/index-CGq-gcht.js +12 -0
  177. package/assets/index-CJ7peDFP.css +1 -0
  178. package/assets/index-CJCAjGj3.js +2 -0
  179. package/assets/index-CdYUDSvm.js +1 -0
  180. package/assets/index-CxEkGLrr.js +686 -0
  181. package/assets/index-DHQdBbnC.js +3 -0
  182. package/assets/index-DYdelMnT.js +1 -0
  183. package/assets/index-Dk5t_-56.js +99 -0
  184. package/assets/index-DlZybecc.js +1 -0
  185. package/assets/index-DmWG413C.js +1 -0
  186. package/assets/index-DzlsyVkU.js +1 -0
  187. package/assets/index-EYhL1Kgt.js +1 -0
  188. package/assets/index-c441JIOr.js +13 -0
  189. package/assets/index-fqJaUvT1.js +1 -0
  190. package/assets/index-hGrN05cs.js +1 -0
  191. package/assets/index-zV_AIntM.js +2 -0
  192. package/assets/infoDiagram-f8f76790-BYO9kBqO.js +7 -0
  193. package/assets/infoDiagram-f8f76790-D_TYtc3S.js +7 -0
  194. package/assets/init-A0kIFD9x.js +1 -0
  195. package/assets/init-Gi6I4Gst.js +1 -0
  196. package/assets/javascript-iXu5QeM3.js +1 -0
  197. package/assets/journeyDiagram-49397b02-DWfiJTLK.js +139 -0
  198. package/assets/journeyDiagram-49397b02-Dv5EEshV.js +139 -0
  199. package/assets/julia-DuME0IfC.js +1 -0
  200. package/assets/katex-Cu_Erd72.js +261 -0
  201. package/assets/layout-Bc2296BZ.js +1 -0
  202. package/assets/layout-Dm28IvOg.js +1 -0
  203. package/assets/line-C3mpslQb.js +1 -0
  204. package/assets/line-DTTPRZLU.js +1 -0
  205. package/assets/linear-YwuGF1HZ.js +1 -0
  206. package/assets/linear-g8AgbOem.js +1 -0
  207. package/assets/livescript-BwQOo05w.js +1 -0
  208. package/assets/lua-BgMRiT3U.js +1 -0
  209. package/assets/main-DlDiDA_U.css +9 -0
  210. package/assets/main-sSl0uAQQ.js +564 -0
  211. package/assets/mathematica-DTrFuWx2.js +1 -0
  212. package/assets/mbox-CNhZ1qSd.js +1 -0
  213. package/assets/mermaid.core-GIkiJOrg.js +91 -0
  214. package/assets/mindmap-definition-fc14e90a-Chuh4Ixc.js +425 -0
  215. package/assets/mindmap-definition-fc14e90a-D_ZKvIES.js +425 -0
  216. package/assets/mirc-CjQqDB4T.js +1 -0
  217. package/assets/mllike-CXdrOF99.js +1 -0
  218. package/assets/modelica-Dc1JOy9r.js +1 -0
  219. package/assets/mscgen-BA5vi2Kp.js +1 -0
  220. package/assets/mumps-BT43cFF4.js +1 -0
  221. package/assets/nginx-DdIZxoE0.js +1 -0
  222. package/assets/nsis-LdVXkNf5.js +1 -0
  223. package/assets/ntriples-BfvgReVJ.js +1 -0
  224. package/assets/octave-Ck1zUtKM.js +1 -0
  225. package/assets/ordinal-BRr1uYdk.js +1 -0
  226. package/assets/ordinal-Cboi1Yqb.js +1 -0
  227. package/assets/oz-BzwKVEFT.js +1 -0
  228. package/assets/pascal--L3eBynH.js +1 -0
  229. package/assets/path-CY0bYimO.js +1 -0
  230. package/assets/path-CbwjOpE9.js +1 -0
  231. package/assets/perl-CdXCOZ3F.js +1 -0
  232. package/assets/photo-wall-splitter-CY0T_wNE.js +1 -0
  233. package/assets/pieDiagram-8a3498a8-DRsICc_f.js +35 -0
  234. package/assets/pieDiagram-8a3498a8-Dah8ahbr.js +35 -0
  235. package/assets/pig-CevX1Tat.js +1 -0
  236. package/assets/powershell-CFHJl5sT.js +1 -0
  237. package/assets/properties-C78fOPTZ.js +1 -0
  238. package/assets/protobuf-ChK-085T.js +1 -0
  239. package/assets/pug-DeIclll2.js +1 -0
  240. package/assets/puppet-DMA9R1ak.js +1 -0
  241. package/assets/python-BuPzkPfP.js +1 -0
  242. package/assets/q-pXgVlZs6.js +1 -0
  243. package/assets/quadrantDiagram-120e2f19-Fh6InPVY.js +7 -0
  244. package/assets/quadrantDiagram-120e2f19-gL-_zV58.js +7 -0
  245. package/assets/r-B6wPVr8A.js +1 -0
  246. package/assets/requirementDiagram-deff3bca-CNSkJJCh.js +52 -0
  247. package/assets/requirementDiagram-deff3bca-CfDffyTL.js +52 -0
  248. package/assets/rpm-CTu-6PCP.js +1 -0
  249. package/assets/ruby-B2Rjki9n.js +1 -0
  250. package/assets/sankeyDiagram-04a897e0-Bk-KjkRU.js +8 -0
  251. package/assets/sankeyDiagram-04a897e0-JvhHugQc.js +8 -0
  252. package/assets/sas-B4kiWyti.js +1 -0
  253. package/assets/scheme-C41bIUwD.js +1 -0
  254. package/assets/sequenceDiagram-704730f1-DtYYZkJD.js +122 -0
  255. package/assets/sequenceDiagram-704730f1-Hcr6n9p8.js +122 -0
  256. package/assets/shell-CjFT_Tl9.js +1 -0
  257. package/assets/sieve-C3Gn_uJK.js +1 -0
  258. package/assets/simple-mode-GW_nhZxv.js +1 -0
  259. package/assets/smalltalk-CnHTOXQT.js +1 -0
  260. package/assets/solr-DehyRSwq.js +1 -0
  261. package/assets/sparql-DkYu6x3z.js +1 -0
  262. package/assets/spreadsheet-BCZA_wO0.js +1 -0
  263. package/assets/sql-D0XecflT.js +1 -0
  264. package/assets/stateDiagram-587899a1-BBe_EhAD.js +1 -0
  265. package/assets/stateDiagram-587899a1-DqdI8yJY.js +1 -0
  266. package/assets/stateDiagram-v2-d93cdb3a-BFy9jG1p.js +1 -0
  267. package/assets/stateDiagram-v2-d93cdb3a-CR8nQq3k.js +1 -0
  268. package/assets/stex-C3f8Ysf7.js +1 -0
  269. package/assets/styles-6aaf32cf-B3jetBAL.js +207 -0
  270. package/assets/styles-6aaf32cf-CtTk65AO.js +207 -0
  271. package/assets/styles-9a916d00-BzAmphe7.js +160 -0
  272. package/assets/styles-9a916d00-CC9GaYxg.js +160 -0
  273. package/assets/styles-c10674c1-CNAwL7Ic.js +116 -0
  274. package/assets/styles-c10674c1-Db2Kd6RJ.js +116 -0
  275. package/assets/stylus-B533Al4x.js +1 -0
  276. package/assets/svgDrawCommon-08f97a94-C5qlB1eZ.js +1 -0
  277. package/assets/svgDrawCommon-08f97a94-JdKl-BWQ.js +1 -0
  278. package/assets/swift-BzpIVaGY.js +1 -0
  279. package/assets/tcl-DVfN8rqt.js +1 -0
  280. package/assets/textile-CnDTJFAw.js +1 -0
  281. package/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  282. package/assets/tiki-DGYXhP31.js +1 -0
  283. package/assets/timeline-definition-85554ec2-DOdYNzv7.js +61 -0
  284. package/assets/timeline-definition-85554ec2-o-R8VXA5.js +61 -0
  285. package/assets/toml-Bm5Em-hy.js +1 -0
  286. package/assets/tool-windows-Cuh0TRgJ.css +1 -0
  287. package/assets/tool-windows-DWUG3k_L.js +2846 -0
  288. package/assets/troff-wAsdV37c.js +1 -0
  289. package/assets/ttcn-CfJYG6tj.js +1 -0
  290. package/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  291. package/assets/ttd-dialog-BQiy0hwR.js +99 -0
  292. package/assets/ttd-dialog-BlUvpMr5.css +1 -0
  293. package/assets/turtle-B1tBg_DP.js +1 -0
  294. package/assets/useCharacters-BJLEgDAP.css +1 -0
  295. package/assets/useCharacters-BxKzeyv4.js +6 -0
  296. package/assets/vb-CmGdzxic.js +1 -0
  297. package/assets/vbscript-BuJXcnF6.js +1 -0
  298. package/assets/velocity-D8B20fx6.js +1 -0
  299. package/assets/verilog-C6RDOZhf.js +1 -0
  300. package/assets/version-update-prompt-HA-CqLZW.js +1 -0
  301. package/assets/version-update-prompt-P9Rd5ve2.css +1 -0
  302. package/assets/vhdl-lSbBsy5d.js +1 -0
  303. package/assets/video-recovery-service-C0PZsfFC.js +1 -0
  304. package/assets/web-vitals-DcvjKPr-.js +1 -0
  305. package/assets/webidl-ZXfAyPTL.js +1 -0
  306. package/assets/winbox.bundle.min-CoRPjCs5.js +1 -0
  307. package/assets/workflow-generation-utils-DspPdLxa.js +3 -0
  308. package/assets/xlsx-CkFp8p6R.js +105 -0
  309. package/assets/xquery-DzFWVndE.js +1 -0
  310. package/assets/xychartDiagram-e933f94c-D13oeSTj.js +7 -0
  311. package/assets/xychartDiagram-e933f94c-DwikDAhJ.js +7 -0
  312. package/assets/yacas-BJ4BC0dw.js +1 -0
  313. package/assets/z80-Hz9HOZM7.js +1 -0
  314. package/idle-prefetch-manifest.json +18 -4
  315. package/package.json +1 -1
  316. package/precache-manifest.json +1015 -3
  317. package/sw.js +1 -1
  318. package/version.json +2 -2
@@ -0,0 +1,6 @@
1
+ import{r as o,b8 as kt,bm as vt,hL as yt,ig as jt,eW as Et,as as ue,bn as za,bo as Dt,hM as _a,hK as ma,hN as Ra,i4 as Ut,al as N,ar as Pe,d4 as Vt,_ as ga,eO as G,d2 as Ct,hY as qt,io as St,gK as zt,y as t,bV as M,fM as j,l1 as Ta,m7 as _t,kz as Rt,m8 as Tt,m9 as Mt,iw as $t,hS as At,bt as Ma,jN as $a,ma as Oe,g5 as It,iT as Lt,g3 as Pt,bu as Aa,kt as Ot,cr as Ia,ir as Ft,bx as Kt,dp as Gt,mb as Bt}from"./tool-windows-DWUG3k_L.js";import{a as Jt,h as Fe,i as Ke,j as ha}from"./main-sSl0uAQQ.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 ti=({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}=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(`
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
+ `);Gt(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 Bt().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(At,{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(It,{},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(Lt,{},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(Pt,{},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(Ot,{...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(Ft,{isOpen:Ea,onClose:()=>{sa(!1),ra(null)},mode:Kt.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{ti as default};
@@ -0,0 +1 @@
1
+ .batch-image-generation{display:flex;height:100%;gap:16px;padding:16px;background:#f5f5f5;overflow:visible}.batch-image-generation .batch-main-content{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 12px #0000000d;border:1px solid #eee;overflow:visible}.batch-image-generation .batch-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;gap:12px;position:relative;z-index:100;overflow:visible}.batch-image-generation .batch-toolbar .toolbar-left,.batch-image-generation .batch-toolbar .toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.batch-image-generation .batch-toolbar .toolbar-divider{width:1px;height:20px;background:#eee;margin:0 4px;flex-shrink:0}.batch-image-generation .batch-generate-btn{background:linear-gradient(135deg,#f39c12,#e67e22)!important;border:none!important;font-weight:600!important;padding:0 20px!important;height:32px!important;white-space:nowrap;color:#fff!important}.batch-image-generation .batch-generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f39c124d}.batch-image-generation .batch-delete-btn{color:#888!important;font-weight:400!important}.batch-image-generation .batch-delete-btn:hover{color:#ff4d4f!important;background:#f5f5f5!important}.batch-image-generation .excel-table-container{flex:1;overflow:auto;border:1px solid #eee;border-radius:8px;background:#fff}.batch-image-generation .excel-table-container.is-filling{cursor:crosshair}.batch-image-generation .excel-table-container.is-selecting{cursor:cell}.batch-image-generation .excel-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.batch-image-generation .excel-table th,.batch-image-generation .excel-table td{border:1px solid #f0f0f0;padding:0;vertical-align:top;height:1px}.batch-image-generation .excel-table th{background:#fafafa;font-weight:600;font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px;text-align:center;position:sticky;top:0;z-index:10;height:40px}.batch-image-generation .excel-table .row-number{width:40px;min-width:40px;text-align:center;background:#fafafa;font-weight:500;color:#999;padding:8px;position:sticky;left:0;z-index:5;font-size:11px}.batch-image-generation .excel-table th.row-number{z-index:15}.batch-image-generation .excel-table .col-checkbox{width:40px;min-width:40px;text-align:center;vertical-align:middle}.batch-image-generation .excel-table .col-checkbox .checkbox-wrapper{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.batch-image-generation .excel-table .col-checkbox .checkbox-wrapper :global(.t-checkbox){margin-right:0}.batch-image-generation .excel-table .col-checkbox .checkbox-wrapper :global(.t-checkbox) .t-checkbox__input{border-radius:4px;transition:all .2s}.batch-image-generation .excel-table .col-checkbox .checkbox-wrapper :global(.t-checkbox).t-is-checked .t-checkbox__input{background-color:#f39c12;border-color:#f39c12}.batch-image-generation .excel-table .col-checkbox .checkbox-wrapper :global(.t-checkbox):hover .t-checkbox__input{border-color:#f39c12}.batch-image-generation .excel-table td.row-number{vertical-align:middle}.batch-image-generation .excel-table .col-prompt{width:40%;min-width:250px}.batch-image-generation .excel-table .col-size{width:90px;min-width:90px}.batch-image-generation .excel-table .col-images{width:160px;min-width:160px}.batch-image-generation .excel-table .col-count{width:70px;min-width:70px}.batch-image-generation .excel-table .col-preview{width:180px;min-width:180px}.batch-image-generation .excel-table tr.row-selected td{background:#fff9f0!important}.batch-image-generation .excel-table tr{transition:background .2s cubic-bezier(.4,0,.2,1)}.batch-image-generation .excel-table tr:hover td{background:#fafafa}.batch-image-generation .excel-table tr.row-drag-over td{background:#f39c121a!important;border-top:2px solid #F39C12!important;border-bottom:2px solid #F39C12!important}.batch-image-generation .excel-table tr.fill-preview td{background:#f39c120d!important}.batch-image-generation .excel-table .th-content{display:flex;align-items:center;justify-content:center;padding:0 8px;height:100%;position:relative;white-space:nowrap}.batch-image-generation .excel-table .th-content .t-tooltip{display:inline-flex;align-items:center}.batch-image-generation .excel-table .column-fill-btn{margin-left:6px;opacity:.6;transition:all .2s;color:#999!important;background:#f5f5f5!important;border:1px solid #e0e0e0!important;width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;border-radius:4px!important;flex-shrink:0;cursor:pointer}.batch-image-generation .excel-table .column-fill-btn:hover{opacity:1;color:#f39c12!important;border-color:#f39c12!important;background:#fff!important;transform:scale(1.1)}.batch-image-generation .excel-table .column-fill-btn .t-icon{font-size:10px}.batch-image-generation .excel-table th:hover .column-fill-btn{opacity:1}.batch-image-generation .excel-cell{min-height:44px;height:100%;padding:8px 12px;cursor:cell;position:relative;display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;font-size:13px;color:#444}.batch-image-generation .excel-cell.cell-prompt{align-items:flex-start;padding:0}.batch-image-generation .excel-cell.cell-prompt .cell-text,.batch-image-generation .excel-cell.cell-prompt .cell-textarea{padding:12px!important}.batch-image-generation .excel-cell.active{background:#fff!important;box-shadow:inset 0 0 0 2px #f39c12;z-index:2}.batch-image-generation .excel-cell.selected:not(.active){background:#fff9f0!important;box-shadow:inset 0 0 0 1px #f39c12;z-index:1}.is-selecting .batch-image-generation .excel-cell.selected:not(.active){background:#f39c1226!important;box-shadow:inset 0 0 0 1px #f39c12,0 0 4px #f39c1233}.batch-image-generation .excel-cell.filling{background:#f39c121a!important;z-index:5}.batch-image-generation .excel-cell.filling:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:1px dashed #F39C12;pointer-events:none}.batch-image-generation .excel-cell .cell-text,.batch-image-generation .excel-cell .cell-textarea{width:100%;display:block;font-family:inherit;font-size:13px;line-height:20px;margin:0!important;border:none!important;background:transparent!important;box-sizing:border-box;word-break:break-word;white-space:pre-wrap;outline:none!important;resize:none;color:inherit;vertical-align:top;min-height:unset!important;-webkit-user-select:text;-moz-user-select:text;user-select:text}.batch-image-generation .excel-cell .cell-textarea{overflow:hidden;cursor:text}.batch-image-generation .excel-cell .cell-textarea:focus{box-shadow:none!important}.batch-image-generation .excel-cell .cell-textarea::-moz-placeholder{color:#ccc;font-weight:400}.batch-image-generation .excel-cell .cell-textarea::placeholder{color:#ccc;font-weight:400}.batch-image-generation .excel-cell input[type=number]{width:100%;height:32px;border:none!important;background:#f5f5f5!important;border-radius:6px;text-align:center;font-weight:600;color:#f39c12;font-family:inherit;font-size:13px;outline:none!important;transition:all .2s}.batch-image-generation .excel-cell input[type=number]:hover{background:#fff!important;box-shadow:0 2px 8px #0000000d}.batch-image-generation .excel-cell input[type=number]:focus{background:#fff!important;box-shadow:0 0 0 2px #f39c1233}.batch-image-generation .excel-cell input[type=number]::-webkit-inner-spin-button,.batch-image-generation .excel-cell input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.batch-image-generation .excel-cell input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.batch-image-generation .excel-cell .custom-size-dropdown{position:relative;width:100%}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-trigger{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;background:#f5f5f5;border-radius:6px;padding:0 8px;font-weight:600;color:#f39c12;font-size:13px;cursor:pointer;transition:all .2s}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-trigger:hover{background:#fff;box-shadow:0 2px 8px #00000014}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-trigger svg{color:#f39c12;flex-shrink:0}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-menu{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);min-width:100px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001f,0 0 0 1px #0000000d;z-index:1000;padding:4px;max-height:280px;overflow-y:auto}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-menu .dropdown-item{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;color:#333;border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-menu .dropdown-item:hover{background:#fff8f0;color:#f39c12}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-menu .dropdown-item.selected{background:linear-gradient(135deg,#fff8f0,#fff3e0);color:#e67e22;font-weight:600}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-menu .dropdown-item .check-icon{color:#f39c12;font-size:12px;font-weight:700}.batch-image-generation .excel-cell .fill-handle{position:absolute;bottom:-3px;right:-3px;width:7px;height:7px;background:#f39c12;border:1.5px solid white;cursor:crosshair;z-index:100;display:none;box-shadow:0 1px 2px #0003}.batch-image-generation .excel-cell .fill-handle:hover{transform:scale(1.4)}.batch-image-generation .excel-cell.active .fill-handle{display:block}.batch-image-generation .image-cell-content{display:flex;gap:6px;flex-wrap:wrap;align-items:center;width:100%}.batch-image-generation .add-image-buttons{display:flex;gap:8px;align-items:center}.batch-image-generation .cell-image-thumb{width:36px;height:36px;border-radius:6px;overflow:hidden;position:relative;border:1px solid #eee;flex-shrink:0;box-shadow:0 1px 2px #0000000d}.batch-image-generation .cell-image-thumb img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.batch-image-generation .cell-image-thumb .remove-btn{position:absolute;top:-2px;right:-2px;background:#0009;color:#fff;border:none;width:14px;height:14px;font-size:10px;border-radius:50%;cursor:pointer;display:none;padding:0;z-index:5}.batch-image-generation .cell-image-thumb .remove-btn:hover{background:#ff4d4f}.batch-image-generation .cell-image-thumb:hover .remove-btn{display:flex;align-items:center;justify-content:center}.batch-image-generation .add-image-btn{width:36px!important;height:36px!important;background:#f5f5f5!important;color:#999!important;border-radius:6px!important;padding:0!important}.batch-image-generation .add-image-btn:hover{background:#fff!important;color:#f39c12!important;box-shadow:0 2px 6px #0000000d}.batch-image-generation .hint-text{font-size:11px;color:#bbb;margin-top:12px;text-align:center}.batch-image-generation .image-library-sidebar{width:280px;background:#fff;border-radius:12px;border:1px solid #eee;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 12px #0000000d;flex-shrink:0}.batch-image-generation .image-library-sidebar.hidden{display:none}.batch-image-generation .image-library-sidebar .library-header{padding:12px 16px;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.batch-image-generation .image-library-sidebar .library-header h3{font-size:14px;font-weight:600;margin:0;color:#333}.batch-image-generation .image-library-sidebar .library-header .close-btn{color:#999!important}.batch-image-generation .image-library-sidebar .library-header .close-btn:hover{color:#f39c12!important;background:#f5f5f5!important}.batch-image-generation .image-library-sidebar .library-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.batch-image-generation .image-library-sidebar .library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.batch-image-generation .image-library-sidebar .empty-library{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:#999;font-size:13px;line-height:1.5;background:#fafafa;border-radius:8px;border:1px dashed #e0e0e0;white-space:nowrap}.batch-image-generation .image-library-sidebar .library-image{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:grab;border:1px solid #eee;transition:all .2s;background:#f9f9f9}.batch-image-generation .image-library-sidebar .library-image:hover{border-color:#f39c12;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.batch-image-generation .image-library-sidebar .library-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.batch-image-generation .preview-cell{min-height:50px;padding:4px 8px!important}.batch-image-generation .preview-cell.preview-idle .preview-idle{color:#ccc;font-size:14px}.batch-image-generation .preview-cell.preview-generating{background:#fff9f0}.batch-image-generation .preview-cell.preview-generating .preview-generating{display:flex;align-items:center;gap:6px;color:#f39c12;font-size:12px;font-weight:500}.batch-image-generation .preview-cell.preview-completed{background:#f6ffed}.batch-image-generation .preview-cell.preview-failed{background:#fff1f0}.batch-image-generation .preview-cell.preview-partial{background:#fffbe6}.batch-image-generation .preview-images{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.batch-image-generation .preview-thumb{width:36px;height:36px;border-radius:6px;overflow:hidden;border:1px solid #eee;flex-shrink:0;background:#fff;box-shadow:0 1px 2px #0000000d}.batch-image-generation .preview-thumb img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.batch-image-generation .preview-thumb.clickable{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.batch-image-generation .preview-thumb.clickable:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026;z-index:10;border-color:#f39c12}.batch-image-generation .preview-more{font-size:11px;color:#888;padding:2px 6px;background:#f0f0f0;border-radius:4px;font-weight:600}.batch-image-generation .preview-more.clickable:hover{background:#f39c12;color:#fff}.batch-image-generation .preview-generating-inline{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#f39c12;padding:2px 6px;background:#fff9f0;border-radius:4px;white-space:nowrap;font-weight:600}.batch-image-generation .preview-generating-inline .loading-spinner{width:10px;height:10px;border:1.5px solid #F39C12;border-top-color:transparent}.batch-image-generation .preview-error{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.2}.batch-image-generation .preview-error .preview-error-message{color:#ff4d4f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.batch-image-generation .preview-error .preview-error-details-link{color:#1890ff;cursor:pointer;font-weight:500}.batch-image-generation .preview-error .preview-error-details-link:hover{text-decoration:underline}.batch-image-generation .preview-partial-info{font-size:10px;color:#faad14;font-weight:600;margin-top:2px}.batch-image-generation .loading-spinner{width:14px;height:14px;border:2px solid #eee;border-top:2px solid #F39C12;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-preview-dialog.t-dialog{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.image-preview-dialog .t-dialog__body{padding:16px;max-height:80vh;overflow:auto}.add-rows-section{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 0;border-top:1px dashed #e0e0e0;margin-top:4px}.model-selector-wrapper{min-width:180px}.model-selector-wrapper .t-select{width:100%}.library-toggle-active{color:#f39c12!important;background:#f39c121a!important;border-color:#f39c124d!important}@media(max-width:768px){.batch-image-generation{flex-direction:column;padding:8px;gap:8px}.batch-image-generation .batch-main-content{padding:12px;border-radius:8px}.batch-image-generation .batch-toolbar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px;padding-bottom:8px}.batch-image-generation .batch-toolbar .toolbar-left,.batch-image-generation .batch-toolbar .toolbar-right{justify-content:flex-start;flex-wrap:wrap;gap:6px}.batch-image-generation .batch-toolbar .toolbar-divider{display:none}.batch-image-generation .batch-generate-btn{padding:0 12px!important;font-size:13px!important}.batch-image-generation .excel-table-container{border-radius:6px}.batch-image-generation .excel-table th,.batch-image-generation .excel-table td{font-size:11px}.batch-image-generation .excel-table th{height:36px}.batch-image-generation .excel-table .row-number{width:32px;min-width:32px;padding:4px;font-size:10px}.batch-image-generation .excel-table .col-checkbox{width:32px;min-width:32px}.batch-image-generation .excel-table .col-prompt{width:150px;min-width:150px}.batch-image-generation .excel-table .col-size{width:70px;min-width:70px}.batch-image-generation .excel-table .col-images{width:100px;min-width:100px}.batch-image-generation .excel-table .col-count{width:50px;min-width:50px}.batch-image-generation .excel-table .col-preview{width:100px;min-width:100px}.batch-image-generation .excel-table .th-content{padding:0 4px;font-size:10px}.batch-image-generation .excel-table .column-fill-btn{width:16px!important;height:16px!important;min-height:16px!important;margin-left:4px}.batch-image-generation .excel-cell{min-height:36px;padding:6px 8px;font-size:12px}.batch-image-generation .excel-cell.cell-prompt .cell-text,.batch-image-generation .excel-cell.cell-prompt .cell-textarea{padding:8px!important;font-size:12px}.batch-image-generation .excel-cell input[type=number]{height:28px;font-size:12px}.batch-image-generation .excel-cell .custom-size-dropdown .dropdown-trigger{height:28px;font-size:11px;padding:0 6px}.batch-image-generation .cell-image-thumb,.batch-image-generation .preview-thumb{width:28px;height:28px;border-radius:4px}.batch-image-generation .add-image-btn{width:28px!important;height:28px!important}.batch-image-generation .image-library-sidebar{width:100%;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;border-radius:0;border:none}.batch-image-generation .image-library-sidebar.hidden{display:none}.batch-image-generation .image-library-sidebar .library-header,.batch-image-generation .image-library-sidebar .library-content{padding:12px}.batch-image-generation .image-library-sidebar .library-grid{grid-template-columns:repeat(4,1fr);gap:8px}.batch-image-generation .add-rows-section{padding:8px 0;gap:8px;flex-wrap:wrap}.batch-image-generation .model-selector-wrapper{min-width:140px}.batch-image-generation .hint-text{margin-top:8px;font-size:10px}}@media(max-width:480px){.batch-image-generation{padding:4px}.batch-image-generation .batch-main-content{padding:8px}.batch-image-generation .batch-toolbar .toolbar-left,.batch-image-generation .batch-toolbar .toolbar-right{gap:4px}.batch-image-generation .excel-table .row-number,.batch-image-generation .excel-table .col-checkbox{width:28px;min-width:28px}.batch-image-generation .excel-table .col-prompt{width:120px;min-width:120px}.batch-image-generation .excel-table .col-size{width:60px;min-width:60px}.batch-image-generation .excel-table .col-images{width:80px;min-width:80px}.batch-image-generation .excel-table .col-count{width:40px;min-width:40px}.batch-image-generation .excel-table .col-preview{width:80px;min-width:80px}.batch-image-generation .cell-image-thumb,.batch-image-generation .preview-thumb{width:24px;height:24px}.batch-image-generation .add-image-btn{width:24px!important;height:24px!important}}
@@ -0,0 +1,118 @@
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-Dk5t_-56.js";import{ok as Ne}from"./tool-windows-DWUG3k_L.js";import{i as ke,c as Ie,b as Oe,d as Te,a as ge,p as ze}from"./edges-e0da2a9e-C0phcDTf.js";import{G as Ce}from"./graph-DUQ4GGpV.js";import{c as Ae}from"./channel-CbiJkWzq.js";import{o as Re}from"./ordinal-Cboi1Yqb.js";import{s as Be}from"./Tableau10-B-NsZVaP.js";import"./createText-2e5e7dd3-Caeqt6QH.js";import"./index-BScFd-2h.js";import"./browser-Dlc7rtso.js";import"./line-C3mpslQb.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
+ `+w.showPosition()+`
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
+ `+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()+`
5
+ `+s+"^"},test_match:function(l,s){var i,u,h;if(this.options.backtrack_lexer&&(h={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(h.yylloc.range=this.yylloc.range.slice(0))),u=l[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],i=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var t in h)this[t]=h[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,s,i,u;this._more||(this.yytext="",this.match="");for(var h=this._currentRules(),t=0;t<h.length;t++)if(i=this._input.match(this.rules[h[t]]),i&&(!s||i[0].length>s[0].length)){if(s=i,u=t,this.options.backtrack_lexer){if(l=this.test_match(i,h[t]),l!==!1)return l;if(this._backtrack){s=!1;continue}else return!1}else if(!this.options.flex)break}return s?(l=this.test_match(s,h[u]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var s=this.next();return s||this.lex()},begin:function(s){this.conditionStack.push(s)},popState:function(){var s=this.conditionStack.length-1;return s>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(s){return s=this.conditionStack.length-1-Math.abs(s||0),s>=0?this.conditionStack[s]:"INITIAL"},pushState:function(s){this.begin(s)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(s,i,u,h){switch(u){case 0:return 10;case 1:return s.getLogger().debug("Found space-block"),31;case 2:return s.getLogger().debug("Found nl-block"),31;case 3:return s.getLogger().debug("Found space-block"),29;case 4:s.getLogger().debug(".",i.yytext);break;case 5:s.getLogger().debug("_",i.yytext);break;case 6:return 5;case 7:return i.yytext=-1,28;case 8:return i.yytext=i.yytext.replace(/columns\s+/,""),s.getLogger().debug("COLUMNS (LEX)",i.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:s.getLogger().debug("LEX: POPPING STR:",i.yytext),this.popState();break;case 14:return s.getLogger().debug("LEX: STR end:",i.yytext),"STR";case 15:return i.yytext=i.yytext.replace(/space\:/,""),s.getLogger().debug("SPACE NUM (LEX)",i.yytext),21;case 16:return i.yytext="1",s.getLogger().debug("COLUMNS (LEX)",i.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),s.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),s.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),s.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),s.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),s.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),s.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),s.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),s.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),s.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),s.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),s.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),s.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return s.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return s.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return s.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return s.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return s.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return s.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return s.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),s.getLogger().debug("LEX ARR START"),38;case 75:return s.getLogger().debug("Lex: NODE_ID",i.yytext),32;case 76:return s.getLogger().debug("Lex: EOF",i.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:s.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:s.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return s.getLogger().debug("LEX: NODE_DESCR:",i.yytext),"NODE_DESCR";case 84:s.getLogger().debug("LEX POPPING"),this.popState();break;case 85:s.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (right): dir:",i.yytext),"DIR";case 87:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (left):",i.yytext),"DIR";case 88:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (x):",i.yytext),"DIR";case 89:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (y):",i.yytext),"DIR";case 90:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (up):",i.yytext),"DIR";case 91:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (down):",i.yytext),"DIR";case 92:return i.yytext="]>",s.getLogger().debug("Lex (ARROW_DIR end):",i.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return s.getLogger().debug("Lex: LINK","#"+i.yytext+"#"),15;case 94:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 95:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 96:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 97:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 98:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 99:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return s.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),s.getLogger().debug("Lex: LINK","#"+i.yytext+"#"),15;case 103:return this.popState(),s.getLogger().debug("Lex: LINK",i.yytext),15;case 104:return this.popState(),s.getLogger().debug("Lex: LINK",i.yytext),15;case 105:return s.getLogger().debug("Lex: COLON",i.yytext),i.yytext=i.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return D})();L.lexer=A;function k(){this.yy={}}return k.prototype=L,L.Parser=k,new k})();ee.parser=ee;const Pe=ee;let O={},ie=[],V={};const ce="color",ue="fill",Fe="bgFill",pe=",",Ke=he();let j={};const Me=e=>De.sanitizeText(e,Ke),Ye=function(e,a=""){j[e]===void 0&&(j[e]={id:e,styles:[],textStyles:[]});const d=j[e];a!=null&&a.split(pe).forEach(c=>{const n=c.replace(/([^;]*);/,"$1").trim();if(c.match(ce)){const o=n.replace(ue,Fe).replace(ce,ue);d.textStyles.push(o)}d.styles.push(n)})},We=function(e,a=""){const d=O[e];a!=null&&(d.styles=a.split(pe))},Ve=function(e,a){e.split(",").forEach(function(d){let c=O[d];if(c===void 0){const n=d.trim();O[n]={id:n,type:"na",children:[]},c=O[n]}c.classes||(c.classes=[]),c.classes.push(a)})},fe=(e,a)=>{const d=e.flat(),c=[];for(const n of d){if(n.label&&(n.label=Me(n.label)),n.type==="classDef"){Ye(n.id,n.css);continue}if(n.type==="applyClass"){Ve(n.id,(n==null?void 0:n.styleClass)||"");continue}if(n.type==="applyStyles"){n!=null&&n.stylesStr&&We(n.id,n==null?void 0:n.stylesStr);continue}if(n.type==="column-setting")a.columns=n.columns||-1;else if(n.type==="edge")V[n.id]?V[n.id]++:V[n.id]=1,n.id=V[n.id]+"-"+n.id,ie.push(n);else{n.label||(n.type==="composite"?n.label="":n.label=n.id);const g=!O[n.id];if(g?O[n.id]=n:(n.type!=="na"&&(O[n.id].type=n.type),n.label!==n.id&&(O[n.id].label=n.label)),n.children&&fe(n.children,n),n.type==="space"){const o=n.width||1;for(let f=0;f<o;f++){const b=Ne(n);b.id=b.id+"-"+f,O[b.id]=b,c.push(b)}}else g&&c.push(n)}}a.children=c};let re=[],U={id:"root",type:"composite",children:[],columns:-1};const je=()=>{S.debug("Clear called"),we(),U={id:"root",type:"composite",children:[],columns:-1},O={root:U},re=[],j={},ie=[],V={}};function Ue(e){switch(S.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return S.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function Xe(e){switch(S.debug("typeStr2Type",e),e){case"==":return"thick";default:return"normal"}}function Ge(e){switch(e.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let de=0;const He=()=>(de++,"id-"+Math.random().toString(36).substr(2,12)+"-"+de),qe=e=>{U.children=e,fe(e,U),re=U.children},Ze=e=>{const a=O[e];return a?a.columns?a.columns:a.children?a.children.length:-1:-1},Je=()=>[...Object.values(O)],Qe=()=>re||[],$e=()=>ie,et=e=>O[e],tt=e=>{O[e.id]=e},st=()=>console,it=function(){return j},rt={getConfig:()=>se().block,typeStr2Type:Ue,edgeTypeStr2Type:Xe,edgeStrToEdgeData:Ge,getLogger:st,getBlocksFlat:Je,getBlocks:Qe,getEdges:$e,setHierarchy:qe,getBlock:et,setBlock:tt,getColumns:Ze,getClasses:it,clear:je,generateId:He},nt=rt,q=(e,a)=>{const d=Ae,c=d(e,"r"),n=d(e,"g"),g=d(e,"b");return ye(c,n,g,a)},at=e=>`.label {
7
+ font-family: ${e.fontFamily};
8
+ color: ${e.nodeTextColor||e.textColor};
9
+ }
10
+ .cluster-label text {
11
+ fill: ${e.titleColor};
12
+ }
13
+ .cluster-label span,p {
14
+ color: ${e.titleColor};
15
+ }
16
+
17
+
18
+
19
+ .label text,span,p {
20
+ fill: ${e.nodeTextColor||e.textColor};
21
+ color: ${e.nodeTextColor||e.textColor};
22
+ }
23
+
24
+ .node rect,
25
+ .node circle,
26
+ .node ellipse,
27
+ .node polygon,
28
+ .node path {
29
+ fill: ${e.mainBkg};
30
+ stroke: ${e.nodeBorder};
31
+ stroke-width: 1px;
32
+ }
33
+ .flowchart-label text {
34
+ text-anchor: middle;
35
+ }
36
+ // .flowchart-label .text-outer-tspan {
37
+ // text-anchor: middle;
38
+ // }
39
+ // .flowchart-label .text-inner-tspan {
40
+ // text-anchor: start;
41
+ // }
42
+
43
+ .node .label {
44
+ text-align: center;
45
+ }
46
+ .node.clickable {
47
+ cursor: pointer;
48
+ }
49
+
50
+ .arrowheadPath {
51
+ fill: ${e.arrowheadColor};
52
+ }
53
+
54
+ .edgePath .path {
55
+ stroke: ${e.lineColor};
56
+ stroke-width: 2.0px;
57
+ }
58
+
59
+ .flowchart-link {
60
+ stroke: ${e.lineColor};
61
+ fill: none;
62
+ }
63
+
64
+ .edgeLabel {
65
+ background-color: ${e.edgeLabelBackground};
66
+ rect {
67
+ opacity: 0.5;
68
+ background-color: ${e.edgeLabelBackground};
69
+ fill: ${e.edgeLabelBackground};
70
+ }
71
+ text-align: center;
72
+ }
73
+
74
+ /* For html labels only */
75
+ .labelBkg {
76
+ background-color: ${q(e.edgeLabelBackground,.5)};
77
+ // background-color:
78
+ }
79
+
80
+ .node .cluster {
81
+ // fill: ${q(e.mainBkg,.5)};
82
+ fill: ${q(e.clusterBkg,.5)};
83
+ stroke: ${q(e.clusterBorder,.2)};
84
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
85
+ stroke-width: 1px;
86
+ }
87
+
88
+ .cluster text {
89
+ fill: ${e.titleColor};
90
+ }
91
+
92
+ .cluster span,p {
93
+ color: ${e.titleColor};
94
+ }
95
+ /* .cluster div {
96
+ color: ${e.titleColor};
97
+ } */
98
+
99
+ div.mermaidTooltip {
100
+ position: absolute;
101
+ text-align: center;
102
+ max-width: 200px;
103
+ padding: 2px;
104
+ font-family: ${e.fontFamily};
105
+ font-size: 12px;
106
+ background: ${e.tertiaryColor};
107
+ border: 1px solid ${e.border2};
108
+ border-radius: 2px;
109
+ pointer-events: none;
110
+ z-index: 100;
111
+ }
112
+
113
+ .flowchartTitleText {
114
+ text-anchor: middle;
115
+ font-size: 18px;
116
+ fill: ${e.textColor};
117
+ }
118
+ `,ot=at;function be(e,a,d=!1){var c,n,g;const o=e;let f="default";(((c=o==null?void 0:o.classes)==null?void 0:c.length)||0)>0&&(f=((o==null?void 0:o.classes)||[]).join(" ")),f=f+" flowchart-label";let b=0,p="",x;switch(o.type){case"round":b=5,p="rect";break;case"composite":b=0,p="composite",x=0;break;case"square":p="rect";break;case"diamond":p="question";break;case"hexagon":p="hexagon";break;case"block_arrow":p="block_arrow";break;case"odd":p="rect_left_inv_arrow";break;case"lean_right":p="lean_right";break;case"lean_left":p="lean_left";break;case"trapezoid":p="trapezoid";break;case"inv_trapezoid":p="inv_trapezoid";break;case"rect_left_inv_arrow":p="rect_left_inv_arrow";break;case"circle":p="circle";break;case"ellipse":p="ellipse";break;case"stadium":p="stadium";break;case"subroutine":p="subroutine";break;case"cylinder":p="cylinder";break;case"group":p="rect";break;case"doublecircle":p="doublecircle";break;default:p="rect"}const y=ve((o==null?void 0:o.styles)||[]),T=o.label,v=o.size||{width:0,height:0,x:0,y:0};return{labelStyle:y.labelStyle,shape:p,labelText:T,rx:b,ry:b,class:f,style:y.style,id:o.id,directions:o.directions,width:v.width,height:v.height,x:v.x,y:v.y,positioned:d,intersect:void 0,type:o.type,padding:x??(((g=(n=se())==null?void 0:n.block)==null?void 0:g.padding)||0)}}async function lt(e,a,d){const c=be(a,d,!1);if(c.type==="group")return;const n=await ge(e,c),g=n.node().getBBox(),o=d.getBlock(c.id);o.size={width:g.width,height:g.height,x:0,y:0,node:n},d.setBlock(o),n.remove()}async function ct(e,a,d){const c=be(a,d,!0);d.getBlock(c.id).type!=="space"&&(await ge(e,c),a.intersect=c==null?void 0:c.intersect,ze(c))}async function ne(e,a,d,c){for(const n of a)await c(e,n,d),n.children&&await ne(e,n.children,d,c)}async function ut(e,a,d){await ne(e,a,d,lt)}async function dt(e,a,d){await ne(e,a,d,ct)}async function ht(e,a,d,c,n){const g=new Ce({multigraph:!0,compound:!0});g.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const o of d)o.size&&g.setNode(o.id,{width:o.size.width,height:o.size.height,intersect:o.intersect});for(const o of a)if(o.start&&o.end){const f=c.getBlock(o.start),b=c.getBlock(o.end);if(f!=null&&f.size&&(b!=null&&b.size)){const p=f.size,x=b.size,y=[{x:p.x,y:p.y},{x:p.x+(x.x-p.x)/2,y:p.y+(x.y-p.y)/2},{x:x.x,y:x.y}];await Ie(e,{v:o.start,w:o.end,name:o.id},{...o,arrowTypeEnd:o.arrowTypeEnd,arrowTypeStart:o.arrowTypeStart,points:y,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",g,n),o.label&&(await Oe(e,{...o,label:o.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:o.arrowTypeEnd,arrowTypeStart:o.arrowTypeStart}),await Te({...o,x:y[1].x,y:y[1].y},{originalPath:y}))}}}const _=((le=(oe=he())==null?void 0:oe.block)==null?void 0:le.padding)||8;function gt(e,a){if(e===0||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(a<0||!Number.isInteger(a))throw new Error("Position must be a non-negative integer."+a);if(e<0)return{px:a,py:0};if(e===1)return{px:0,py:a};const d=a%e,c=Math.floor(a/e);return{px:d,py:c}}const pt=e=>{let a=0,d=0;for(const c of e.children){const{width:n,height:g,x:o,y:f}=c.size||{width:0,height:0,x:0,y:0};S.debug("getMaxChildSize abc95 child:",c.id,"width:",n,"height:",g,"x:",o,"y:",f,c.type),c.type!=="space"&&(n>a&&(a=n/(e.widthInColumns||1)),g>d&&(d=g))}return{width:a,height:d}};function te(e,a,d=0,c=0){var n,g,o,f,b,p,x,y,T,v,N;S.debug("setBlockSizes abc95 (start)",e.id,(n=e==null?void 0:e.size)==null?void 0:n.x,"block width =",e==null?void 0:e.size,"sieblingWidth",d),(g=e==null?void 0:e.size)!=null&&g.width||(e.size={width:d,height:c,x:0,y:0});let E=0,L=0;if(((o=e.children)==null?void 0:o.length)>0){for(const h of e.children)te(h,a);const A=pt(e);E=A.width,L=A.height,S.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",E,L);for(const h of e.children)h.size&&(S.debug(`abc95 Setting size of children of ${e.id} id=${h.id} ${E} ${L} ${h.size}`),h.size.width=E*(h.widthInColumns||1)+_*((h.widthInColumns||1)-1),h.size.height=L,h.size.x=0,h.size.y=0,S.debug(`abc95 updating size of ${e.id} children child:${h.id} maxWidth:${E} maxHeight:${L}`));for(const h of e.children)te(h,a,E,L);const k=e.columns||-1;let D=0;for(const h of e.children)D+=h.widthInColumns||1;let l=e.children.length;k>0&&k<D&&(l=k),e.widthInColumns;const s=Math.ceil(D/l);let i=l*(E+_)+_,u=s*(L+_)+_;if(i<d){S.debug(`Detected to small siebling: abc95 ${e.id} sieblingWidth ${d} sieblingHeight ${c} width ${i}`),i=d,u=c;const h=(d-l*_-_)/l,t=(c-s*_-_)/s;S.debug("Size indata abc88",e.id,"childWidth",h,"maxWidth",E),S.debug("Size indata abc88",e.id,"childHeight",t,"maxHeight",L),S.debug("Size indata abc88 xSize",l,"padding",_);for(const m of e.children)m.size&&(m.size.width=h,m.size.height=t,m.size.x=0,m.size.y=0)}if(S.debug(`abc95 (finale calc) ${e.id} xSize ${l} ySize ${s} columns ${k}${e.children.length} width=${Math.max(i,((f=e.size)==null?void 0:f.width)||0)}`),i<(((b=e==null?void 0:e.size)==null?void 0:b.width)||0)){i=((p=e==null?void 0:e.size)==null?void 0:p.width)||0;const h=k>0?Math.min(e.children.length,k):e.children.length;if(h>0){const t=(i-h*_-_)/h;S.debug("abc95 (growing to fit) width",e.id,i,(x=e.size)==null?void 0:x.width,t);for(const m of e.children)m.size&&(m.size.width=t)}}e.size={width:i,height:u,x:0,y:0}}S.debug("setBlockSizes abc94 (done)",e.id,(y=e==null?void 0:e.size)==null?void 0:y.x,(T=e==null?void 0:e.size)==null?void 0:T.width,(v=e==null?void 0:e.size)==null?void 0:v.y,(N=e==null?void 0:e.size)==null?void 0:N.height)}function xe(e,a){var d,c,n,g,o,f,b,p,x,y,T,v,N,E,L,A,k;S.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${(d=e==null?void 0:e.size)==null?void 0:d.x} y: ${(c=e==null?void 0:e.size)==null?void 0:c.y} width: ${(n=e==null?void 0:e.size)==null?void 0:n.width}`);const D=e.columns||-1;if(S.debug("layoutBlocks columns abc95",e.id,"=>",D,e),e.children&&e.children.length>0){const l=((o=(g=e==null?void 0:e.children[0])==null?void 0:g.size)==null?void 0:o.width)||0,s=e.children.length*l+(e.children.length-1)*_;S.debug("widthOfChildren 88",s,"posX");let i=0;S.debug("abc91 block?.size?.x",e.id,(f=e==null?void 0:e.size)==null?void 0:f.x);let u=(b=e==null?void 0:e.size)!=null&&b.x?((p=e==null?void 0:e.size)==null?void 0:p.x)+(-((x=e==null?void 0:e.size)==null?void 0:x.width)/2||0):-_,h=0;for(const t of e.children){const m=e;if(!t.size)continue;const{width:r,height:R}=t.size,{px:Y,py:F}=gt(D,i);if(F!=h&&(h=F,u=(y=e==null?void 0:e.size)!=null&&y.x?((T=e==null?void 0:e.size)==null?void 0:T.x)+(-((v=e==null?void 0:e.size)==null?void 0:v.width)/2||0):-_,S.debug("New row in layout for block",e.id," and child ",t.id,h)),S.debug(`abc89 layout blocks (child) id: ${t.id} Pos: ${i} (px, py) ${Y},${F} (${(N=m==null?void 0:m.size)==null?void 0:N.x},${(E=m==null?void 0:m.size)==null?void 0:E.y}) parent: ${m.id} width: ${r}${_}`),m.size){const C=r/2;t.size.x=u+_+C,S.debug(`abc91 layout blocks (calc) px, pyid:${t.id} startingPos=X${u} new startingPosX${t.size.x} ${C} padding=${_} width=${r} halfWidth=${C} => x:${t.size.x} y:${t.size.y} ${t.widthInColumns} (width * (child?.w || 1)) / 2 ${r*((t==null?void 0:t.widthInColumns)||1)/2}`),u=t.size.x+C,t.size.y=m.size.y-m.size.height/2+F*(R+_)+R/2+_,S.debug(`abc88 layout blocks (calc) px, pyid:${t.id}startingPosX${u}${_}${C}=>x:${t.size.x}y:${t.size.y}${t.widthInColumns}(width * (child?.w || 1)) / 2${r*((t==null?void 0:t.widthInColumns)||1)/2}`)}t.children&&xe(t),i+=(t==null?void 0:t.widthInColumns)||1,S.debug("abc88 columnsPos",t,i)}}S.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${(L=e==null?void 0:e.size)==null?void 0:L.x} y: ${(A=e==null?void 0:e.size)==null?void 0:A.y} width: ${(k=e==null?void 0:e.size)==null?void 0:k.width}`)}function Se(e,{minX:a,minY:d,maxX:c,maxY:n}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!=="root"){const{x:g,y:o,width:f,height:b}=e.size;g-f/2<a&&(a=g-f/2),o-b/2<d&&(d=o-b/2),g+f/2>c&&(c=g+f/2),o+b/2>n&&(n=o+b/2)}if(e.children)for(const g of e.children)({minX:a,minY:d,maxX:c,maxY:n}=Se(g,{minX:a,minY:d,maxX:c,maxY:n}));return{minX:a,minY:d,maxX:c,maxY:n}}function ft(e){const a=e.getBlock("root");if(!a)return;te(a,e,0,0),xe(a),S.debug("getBlocks",JSON.stringify(a,null,2));const{minX:d,minY:c,maxX:n,maxY:g}=Se(a),o=g-c,f=n-d;return{x:d,y:c,width:f,height:o}}const bt=function(e,a){return a.db.getClasses()},xt=async function(e,a,d,c){const{securityLevel:n,block:g}=se(),o=c.db;let f;n==="sandbox"&&(f=H("#i"+a));const b=n==="sandbox"?H(f.nodes()[0].contentDocument.body):H("body"),p=n==="sandbox"?b.select(`[id="${a}"]`):H(`[id="${a}"]`);ke(p,["point","circle","cross"],c.type,a);const y=o.getBlocks(),T=o.getBlocksFlat(),v=o.getEdges(),N=p.insert("g").attr("class","block");await ut(N,y,o);const E=ft(o);if(await dt(N,y,o),await ht(N,v,T,o,a),E){const L=E,A=Math.max(1,Math.round(.125*(L.width/L.height))),k=L.height+A+10,D=L.width+10,{useMaxWidth:l}=g;Ee(p,k,D,!!l),S.debug("Here Bounds",E,L),p.attr("viewBox",`${L.x-5} ${L.y-5} ${L.width+10} ${L.height+10}`)}Re(Be)},St={draw:xt,getClasses:bt},Ct={parser:Pe,db:nt,renderer:St,styles:ot};export{Ct as diagram};