@acedatacloud/nexior 3.340.7 → 3.340.9

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 (260) hide show
  1. package/dist/assets/{ApiCodeButton-TLMxcHxR.js → ApiCodeButton-DYPVIseg.js} +1 -1
  2. package/dist/assets/{Artifacts--DvONQaI.js → Artifacts-CPCoqCf6.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-BpWsCB80.js → AskUserQuestionCard-DDEI-9Oo.js} +1 -1
  4. package/dist/assets/{AudioPreview-CEZEUpzg.js → AudioPreview-BUCSAFZh.js} +1 -1
  5. package/dist/assets/{Auth-Cjla49UU.js → Auth-CjNjgWoy.js} +1 -1
  6. package/dist/assets/{Bare-_wLL-5rZ.js → Bare-DRC3-C10.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-dfZWPGdh.js → BotPlaceholder-Dcx2KOSZ.js} +1 -1
  8. package/dist/assets/{BottomFooter-CJsJZFfF.js → BottomFooter-DtIczmT1.js} +1 -1
  9. package/dist/assets/{Callback-DlEEfeot.js → Callback-CJkDbX-J.js} +1 -1
  10. package/dist/assets/{CodeSnippet-CsI6UmGz.js → CodeSnippet-BlrfAq6f.js} +1 -1
  11. package/dist/assets/{Console-CUzzH3O2.js → Console-BVPLAjRx.js} +1 -1
  12. package/dist/assets/{Consumption-Bii9nr5g.js → Consumption-NemZQhoJ.js} +1 -1
  13. package/dist/assets/Conversation-99NTJ6je.js +1 -0
  14. package/dist/assets/{Conversation-jWKCDVXR.css → Conversation-D_FAuufP.css} +1 -1
  15. package/dist/assets/{Conversation-hm_r5gkf.js → Conversation-cr-RVu95.js} +1 -1
  16. package/dist/assets/{CopyToClipboard-BsDiAnIS.js → CopyToClipboard-Bv78R_gE.js} +1 -1
  17. package/dist/assets/{Detail-BgVBggrE.js → Detail-C_sF_eIK.js} +2 -2
  18. package/dist/assets/{Extra-DVWoebQT.js → Extra-BxtF6Mk1.js} +1 -1
  19. package/dist/assets/{FilePreview-CEDBWuep.js → FilePreview-D2GsYHAe.js} +1 -1
  20. package/dist/assets/{Hailuo-Amqx1jN9.js → Hailuo-DKE4Ke0a.js} +1 -1
  21. package/dist/assets/{History-B1qs8oaN.js → History-46dlQl7J.js} +1 -1
  22. package/dist/assets/{ImagePreview-eevIcNeE.js → ImagePreview-DJcJBDkh.js} +1 -1
  23. package/dist/assets/{ImageWrapper-C6owdU8d.js → ImageWrapper-meyUJgYO.js} +1 -1
  24. package/dist/assets/{Index-K_sQVEVj.js → Index-BhpbbqXm.js} +1 -1
  25. package/dist/assets/{Index-CmvYq3q4.js → Index-C3bGdo5w.js} +1 -1
  26. package/dist/assets/{Index-lECbztQm.js → Index-CIQMjC7z.js} +1 -1
  27. package/dist/assets/{Index-403m-Q8L.js → Index-CSEtweBg.js} +1 -1
  28. package/dist/assets/{Index-DmM_Gfrx.js → Index-CYIyN1I7.js} +1 -1
  29. package/dist/assets/{Index-10Rmwt6q2.js → Index-C_z7_Jr-2.js} +1 -1
  30. package/dist/assets/{Index-CQzjUZi92.js → Index-CjUFX50h2.js} +1 -1
  31. package/dist/assets/{Index-tTT4sxrn.js → Index-Cmvo2rBM.js} +1 -1
  32. package/dist/assets/{Index-bxUoe2ox.js → Index-CnCKTzoO.js} +1 -1
  33. package/dist/assets/{Index-BJOT5krP.js → Index-Cxprm8TL.js} +1 -1
  34. package/dist/assets/{Index-CxUc65w5.js → Index-D4PvJ8cM.js} +1 -1
  35. package/dist/assets/{Index-B1phgmF1.js → Index-D99i_fGU.js} +1 -1
  36. package/dist/assets/{Index-BQAop9rP2.js → Index-D9pVzCOo2.js} +1 -1
  37. package/dist/assets/{Index-CMNBwCRt.js → Index-DEdirhXC.js} +1 -1
  38. package/dist/assets/{Index-CPXB8vqY.js → Index-DGYTPPxY.js} +1 -1
  39. package/dist/assets/{Index-BPn5E4c_.js → Index-DHAjEUG_.js} +1 -1
  40. package/dist/assets/{Index-DZ6QvvmZ.js → Index-Db3befER.js} +1 -1
  41. package/dist/assets/{Index-ydk-cGvE.js → Index-Dl0i7IyN.js} +1 -1
  42. package/dist/assets/{Index-focse3G0.js → Index-DvipdnUj.js} +1 -1
  43. package/dist/assets/{Index-waEFwWmb2.js → Index-DwnJ-lMX2.js} +1 -1
  44. package/dist/assets/{Index-D3eD3ZTH2.js → Index-FRD_Ohvh2.js} +1 -1
  45. package/dist/assets/{Index-CP0piDrf.js → Index-KBbaK5Ry.js} +1 -1
  46. package/dist/assets/{Index-BM87uzSc2.js → Index-KUC1V0BN2.js} +1 -1
  47. package/dist/assets/{Index-ZZMCczOh.js → Index-OZgHJdvh.js} +1 -1
  48. package/dist/assets/{Index-CMKPIoct2.js → Index-T_gItqz12.js} +1 -1
  49. package/dist/assets/{Index-Bl1EXC8S.js → Index-YJMvNeSC.js} +1 -1
  50. package/dist/assets/{Index-BFE7KrDh.js → Index-lR5taLKZ.js} +1 -1
  51. package/dist/assets/{Index-DQ_ptbnE.js → Index-sUHT-5V5.js} +1 -1
  52. package/dist/assets/{Index-bTdH6Qhs.js → Index-zXzRglH3.js} +1 -1
  53. package/dist/assets/{Index-BggPfV8R.js → Index-zeI0QFMx.js} +1 -1
  54. package/dist/assets/{Invitees-CWROTysP.js → Invitees-BVK55IjH.js} +1 -1
  55. package/dist/assets/{List-D6CSMMu6.js → List-BX_COQA6.js} +1 -1
  56. package/dist/assets/{List-7V3D5Sud.js → List-BtUobsp5.js} +1 -1
  57. package/dist/assets/{List-INm5n4nY.js → List-D9A5Qjrk.js} +1 -1
  58. package/dist/assets/{LocalTools-DRSHykcf.js → LocalTools-B7YQ8YQP.js} +1 -1
  59. package/dist/assets/{LocalTools-B14rRK63.js → LocalTools-C-X32LNd.js} +1 -1
  60. package/dist/assets/{Main-DOaD-itx.js → Main-BsbVLOgF.js} +1 -1
  61. package/dist/assets/{Message-D9C5xQJ_.js → Message-BX7R7oEP.js} +1 -1
  62. package/dist/assets/{Model-BC-DVZPc.js → Model-Ddi67TCO.js} +1 -1
  63. package/dist/assets/{Navigator-De7DJMX-.js → Navigator-DfedZE4i.js} +3 -3
  64. package/dist/assets/{NotFound-rOX68g0l.js → NotFound-n3PboQ8a.js} +1 -1
  65. package/dist/assets/{Pay-D3pdbeK4.js → Pay-Deu7dhwW.js} +1 -1
  66. package/dist/assets/{Player-Bdy__M1S.js → Player-CcaOqi9n.js} +1 -1
  67. package/dist/assets/{Poivelle-DiEBcJmt.js → Poivelle-iODFbdo6.js} +1 -1
  68. package/dist/assets/{PromptTextarea-BcD7-ko1.js → PromptTextarea-B5aekFQe.js} +1 -1
  69. package/dist/assets/{RealtimeCall-CrMHzEhw.js → RealtimeCall-q4LLV-k0.js} +1 -1
  70. package/dist/assets/ScheduledTasks-Bu-z2hBM.js +2 -0
  71. package/dist/assets/ScheduledTasks-g_iN0WQg.css +1 -0
  72. package/dist/assets/{Status-lEvvfPQH.js → Status-HFaCU_c_.js} +1 -1
  73. package/dist/assets/{Subscribe-m1-3_duf.js → Subscribe-Bg-rCuGx.js} +1 -1
  74. package/dist/assets/{TabSwitcher-DY3P76H7.js → TabSwitcher-ZXcidaxO.js} +1 -1
  75. package/dist/assets/{Tts-uj_nw-OH.js → Tts-DbXUiDFm.js} +1 -1
  76. package/dist/assets/{VideoPlayer-DwubErYJ.js → VideoPlayer-BN8Z-YtR.js} +1 -1
  77. package/dist/assets/{alert-CqUFS3Eo.js → alert-CS8lHiIx.js} +1 -1
  78. package/dist/assets/arrow-down-B32pk3-Y.js +1 -0
  79. package/dist/assets/{arrow-down-wide-narrow-C_AOy7wq.js → arrow-down-wide-narrow-Tvtv9FMg.js} +1 -1
  80. package/dist/assets/arrow-left-ClF8TXlh.js +1 -0
  81. package/dist/assets/arrow-right-RDy7HNyW.js +1 -0
  82. package/dist/assets/arrow-up-DDxmICYF.js +1 -0
  83. package/dist/assets/{avatar-CaxOKkAl.js → avatar-BsFHVL9l.js} +1 -1
  84. package/dist/assets/{basic-BXvbm3qo.js → basic-Byw_sIrO.js} +1 -1
  85. package/dist/assets/{box-8b-CzppI.js → box-4A5nMAp0.js} +1 -1
  86. package/dist/assets/{boxes-BgbqWX7d.js → boxes-OGD-WcTu.js} +1 -1
  87. package/dist/assets/{brain-Cv381NxA.js → brain-EhEol7Fb.js} +1 -1
  88. package/dist/assets/{chart-no-axes-combined-2-OPAXQO.js → chart-no-axes-combined-BWKi00qd.js} +1 -1
  89. package/dist/assets/{chat-BCbJlht6.js → chat-3hRz-CSt.js} +1 -1
  90. package/dist/assets/{chat-Ck7cwGWd.js → chat-AK3-TNq8.js} +1 -1
  91. package/dist/assets/{chat-DwzkCpYF.js → chat-B22mWEe8.js} +1 -1
  92. package/dist/assets/{chat-DA2KnI6d.js → chat-B8oSstqw.js} +1 -1
  93. package/dist/assets/{chat-_ztwiNQ2.js → chat-BO0D-ptI.js} +1 -1
  94. package/dist/assets/{chat-qhHGLzFj.js → chat-B_crP_xw.js} +1 -1
  95. package/dist/assets/{chat-CeymcNU-.js → chat-C6Dfbz_y.js} +1 -1
  96. package/dist/assets/{chat-3bVYfYx3.js → chat-CRD-MMjM.js} +1 -1
  97. package/dist/assets/{chat-DQvNn2BW.js → chat-CdoKwR7A.js} +1 -1
  98. package/dist/assets/{chat-gZdQ0j0D.js → chat-D7o8WtsM.js} +1 -1
  99. package/dist/assets/{chat-m7g39n1K.js → chat-D8a9Y6yP.js} +1 -1
  100. package/dist/assets/{chat-BMkfGXh6.js → chat-DD-myQx6.js} +1 -1
  101. package/dist/assets/{chat-Djv-9amT.js → chat-DbH0qOEx.js} +1 -1
  102. package/dist/assets/{chat-3mxQTIrM.js → chat-UUdUPhSv.js} +1 -1
  103. package/dist/assets/{chat-C3iBdFcd.js → chat-Xoe5Le_8.js} +1 -1
  104. package/dist/assets/{chat-Dfk1PpvT.js → chat-bDSN0daH.js} +1 -1
  105. package/dist/assets/{chat-uzyKfjlp.js → chat-bE66nXbD.js} +1 -1
  106. package/dist/assets/{chat-CIhHFsT-.js → chat-qUByth09.js} +1 -1
  107. package/dist/assets/{chat-Clcd90G_.js → chat-zNWnc3WW.js} +1 -1
  108. package/dist/assets/check-BLnI5fcF.js +1 -0
  109. package/dist/assets/chevron-down-bkLXyEId.js +1 -0
  110. package/dist/assets/chevron-right-hgLWIJ_Y.js +1 -0
  111. package/dist/assets/circle-check-B_TP53dE.js +1 -0
  112. package/dist/assets/clock-OlDMuoMz.js +1 -0
  113. package/dist/assets/{codingBridge-kSMJdXMm.js → codingBridge-2D4yWemz.js} +1 -1
  114. package/dist/assets/{codingBridgeNotify-Cg3A13rx.js → codingBridgeNotify-ENzE3Kxm.js} +2 -2
  115. package/dist/assets/{coins-CEWmATDx.js → coins-BB1YOywK.js} +1 -1
  116. package/dist/assets/{collapse-DSi9PYej.js → collapse-BYLGD9GS.js} +1 -1
  117. package/dist/assets/{constants-CBo5RPDe.js → constants-DH0HYPoD.js} +1 -1
  118. package/dist/assets/{copy-BaBsMGXL.js → copy-DCZEymSL.js} +1 -1
  119. package/dist/assets/{createTaskActions-BteWhk2c.js → createTaskActions-RcBa2kee.js} +1 -1
  120. package/dist/assets/{digitalhuman-CJcb5V8n.js → digitalhuman-Bb3MiHv7.js} +1 -1
  121. package/dist/assets/{dollar-sign-DhUMbTfd.js → dollar-sign-BuS6NA-M.js} +1 -1
  122. package/dist/assets/{download-BzcZcLNn.js → download-CdUPsDeL.js} +1 -1
  123. package/dist/assets/{drawer-DcCmpV8B.js → drawer-C4ZEZcjE.js} +1 -1
  124. package/dist/assets/{dropdown-C-Z5AopA.js → dropdown-BQ-TSpcY.js} +1 -1
  125. package/dist/assets/{dropdown-C_7Z6b0i.js → dropdown-CeryadqZ.js} +1 -1
  126. package/dist/assets/{ellipsis-JRJXi3pX.js → ellipsis-Dt9dje4U.js} +1 -1
  127. package/dist/assets/{esm-B0qIX6p8.js → esm-B-vquTXF.js} +2 -2
  128. package/dist/assets/esm-B6f5j4Uh.js +1 -0
  129. package/dist/assets/{esm-BFY9wGot.js → esm-BlCm36Mo.js} +2 -2
  130. package/dist/assets/{esm-DV5oFO38.js → esm-Cqp6xlg_.js} +1 -1
  131. package/dist/assets/{esm-BoC0CQGa.js → esm-DIsvR1H8.js} +1 -1
  132. package/dist/assets/{esm-Pyvv3zo3.js → esm-DdKsZrec.js} +1 -1
  133. package/dist/assets/{esm-D4mCrexP.js → esm-VdSRKi9R.js} +3 -3
  134. package/dist/assets/{external-link-FgTvKrCE.js → external-link-D_Zjxot-.js} +1 -1
  135. package/dist/assets/{eye-Dzai5sug.js → eye-D4RKXuVg.js} +1 -1
  136. package/dist/assets/{file-output-DYcgrW3I.js → file-output-BdoEYMV_.js} +1 -1
  137. package/dist/assets/{file-text-upAAiALJ.js → file-text-Blw_kC99.js} +1 -1
  138. package/dist/assets/{fish-DQSw2nAw.js → fish-CBqunTGl.js} +1 -1
  139. package/dist/assets/{flux-CMGq1dzJ.js → flux-Bi5_Ujju.js} +1 -1
  140. package/dist/assets/{folder-BHPfRCr3.js → folder-LHGFHzNJ.js} +1 -1
  141. package/dist/assets/gauge-DpdQlTVA.js +1 -0
  142. package/dist/assets/{globe-CUgki-Cw.js → globe-C1GyMuc2.js} +1 -1
  143. package/dist/assets/{grokvideo-DYPK_xfF.js → grokvideo-Bl4G6iR6.js} +1 -1
  144. package/dist/assets/{hailuo-2ndnqrEd.js → hailuo-CbgrtzDk.js} +1 -1
  145. package/dist/assets/{headphones-Bsoj2mh3.js → headphones-K1Mo_6wj.js} +1 -1
  146. package/dist/assets/{history-uxPsrebu.js → history-Dihn8Y4U.js} +1 -1
  147. package/dist/assets/{house-De3ePrHl.js → house-DdWBCWMp.js} +1 -1
  148. package/dist/assets/{i18n-C2Htzg8C.js → i18n-Cap6JilC.js} +1 -1
  149. package/dist/assets/{image-CF0le3gN.js → image-C2PM95Lm.js} +1 -1
  150. package/dist/assets/{index-BCOh_cbg.js → index-CkNsjFDs.js} +4 -4
  151. package/dist/assets/{index.browser.esm-CRFYyug2.js → index.browser.esm-BRF9nJjl.js} +1 -1
  152. package/dist/assets/{index.es-DioBoUrj.js → index.es-B3tmFO4h.js} +1 -1
  153. package/dist/assets/{info-NG2esrjE.js → info-DwsLYLPC.js} +1 -1
  154. package/dist/assets/{input-number-DLks8rZq.js → input-number-Bf1UhOwE.js} +1 -1
  155. package/dist/assets/{key-round-zg4ha4Vr.js → key-round-DrErPMKt.js} +1 -1
  156. package/dist/assets/{kling-BTvKdWU9.js → kling-Ced-V_7n.js} +1 -1
  157. package/dist/assets/{languages-bOhh5E6M.js → languages-dct_5neU.js} +1 -1
  158. package/dist/assets/{laptop-t9lf33LX.js → laptop-qjS1dmnf.js} +1 -1
  159. package/dist/assets/{lightbulb-BCSecWnn.js → lightbulb-DULTZI94.js} +1 -1
  160. package/dist/assets/{link-BAp3PnHo.js → link-BCAo52mH.js} +1 -1
  161. package/dist/assets/loader-circle-DLoeqbPt.js +1 -0
  162. package/dist/assets/{luma-Bjqcep3Z.js → luma-D-6HBSGS.js} +1 -1
  163. package/dist/assets/{maestro-ChQ_QYcz.js → maestro-C628OlBY.js} +1 -1
  164. package/dist/assets/{maestro-o9f-DXqM.js → maestro-DBNy076X.js} +1 -1
  165. package/dist/assets/{mail-LXvX3Eeq.js → mail-Vkvx-DC1.js} +1 -1
  166. package/dist/assets/{message-circle-D78znzPh.js → message-circle-CPQ6GFgN.js} +1 -1
  167. package/dist/assets/{mic-D6bRomsg.js → mic-DAYT_Mbb.js} +1 -1
  168. package/dist/assets/{midjourney-Bt8TzD1c.js → midjourney-Df-dbwIn.js} +1 -1
  169. package/dist/assets/{mobileLocalExec-Bxzw4-a0.js → mobileLocalExec-DD1Q1-i-.js} +2 -2
  170. package/dist/assets/{mouse-pointer-2-CXR6yLPM.js → mouse-pointer-2-D-JNYi5j.js} +1 -1
  171. package/dist/assets/music-2-CpyMC0hK.js +1 -0
  172. package/dist/assets/{nanobanana-BRx-B0Al.js → nanobanana-D6_M2ixI.js} +1 -1
  173. package/dist/assets/{omni-CaZ6MHmJ.js → omni-Dx47jeBi.js} +1 -1
  174. package/dist/assets/{openaiimage-BYwgovZt.js → openaiimage-DtM0opi7.js} +1 -1
  175. package/dist/assets/{pagination-Bdes3GSq.js → pagination-BJyfzT_-.js} +1 -1
  176. package/dist/assets/{pagination-CCcF3g6v.js → pagination-Cc9GtMN-.js} +1 -1
  177. package/dist/assets/{palette-C5P95pvS.js → palette-DAHMEGtz.js} +1 -1
  178. package/dist/assets/{paperclip-D9i5YMfY.js → paperclip-CavO2JQg.js} +1 -1
  179. package/dist/assets/{pause-B0TMVXcz.js → pause-O_y8aE-B.js} +1 -1
  180. package/dist/assets/{pencil-B7QFpz0j.js → pencil-DB7TGOjP.js} +1 -1
  181. package/dist/assets/{pika-CSRizcC3.js → pika-Cu2hhdD1.js} +1 -1
  182. package/dist/assets/{pixverse-DYn5hwRF.js → pixverse-DXwgixTt.js} +1 -1
  183. package/dist/assets/play-CR6ncRut.js +1 -0
  184. package/dist/assets/plus-Dy37NyJl.js +1 -0
  185. package/dist/assets/{poivelle-d_GkAp7i.js → poivelle-B7u8QKpH.js} +1 -1
  186. package/dist/assets/{popover-Z1JsMQU7.js → popover-DIEB5K7O.js} +1 -1
  187. package/dist/assets/{producer-DFN3TwMy.js → producer-DHxTmhhD.js} +1 -1
  188. package/dist/assets/{qrart-Cg9qyGMf.js → qrart-CqQP35yK.js} +1 -1
  189. package/dist/assets/{realtime-B2_zyP7p.js → realtime-BWAovP0S.js} +1 -1
  190. package/dist/assets/{refresh-cw-C3vZrdF6.js → refresh-cw-B0YUsKjS.js} +1 -1
  191. package/dist/assets/rotate-ccw-CnlZUSEH.js +1 -0
  192. package/dist/assets/rotate-cw-DpWKcRtk.js +1 -0
  193. package/dist/assets/{row-Cot1Uhjp.js → row-BCajEvW2.js} +1 -1
  194. package/dist/assets/search-DPxaKvI0.js +1 -0
  195. package/dist/assets/{seedance-0KWszwHE.js → seedance-BK7cpXTl.js} +1 -1
  196. package/dist/assets/{seedream-Bj9tKorD.js → seedream-vA7R9RLN.js} +1 -1
  197. package/dist/assets/{select-Bkog-eh1.js → select-B4-3E_IX.js} +1 -1
  198. package/dist/assets/{serp-CBn_s90p.js → serp-Q-ycPGN0.js} +1 -1
  199. package/dist/assets/{shield-D0LAv1ZD.js → shield-Be0MVVUP.js} +1 -1
  200. package/dist/assets/{shuffle-hA1XyoF6.js → shuffle-CtoUvaU8.js} +1 -1
  201. package/dist/assets/{slider-CTW3AL--.js → slider-CKTZhWpi.js} +1 -1
  202. package/dist/assets/{sliders-horizontal-BmXeM53t.js → sliders-horizontal-CR5Nifcl.js} +1 -1
  203. package/dist/assets/{solana-wallets-Dnzyk-jF.js → solana-wallets-C2HDa6hD.js} +2 -2
  204. package/dist/assets/{solana-wallets-vue-D1QavEo6.js → solana-wallets-vue-ShxC4EsQ.js} +1 -1
  205. package/dist/assets/{sora-_HKrj5Xk.js → sora-ByBEb2Zv.js} +1 -1
  206. package/dist/assets/{sparkles-T6Tlrc_E.js → sparkles-UU3cusa_.js} +1 -1
  207. package/dist/assets/square-D9VdOq_l.js +1 -0
  208. package/dist/assets/{suno-DEWxp0cs.js → suno-CyNXiQJa.js} +1 -1
  209. package/dist/assets/{switch-CGCjK4t-.js → switch-iuxEqYWQ.js} +1 -1
  210. package/dist/assets/{table-CVIMeTHL.js → table-C56tWg11.js} +1 -1
  211. package/dist/assets/{tabs-kn3WpXv7.js → tabs-C-Oy8TvM.js} +1 -1
  212. package/dist/assets/{tag-DskQzBwa.js → tag-BMAjjBIa.js} +1 -1
  213. package/dist/assets/{taskDrawerMixin-DXciyVtY.js → taskDrawerMixin-ClhAKwJ0.js} +1 -1
  214. package/dist/assets/terminal-4QOTJSNK.js +1 -0
  215. package/dist/assets/{time-picker-Dpprdxek.js → time-picker-vaOfKuTF.js} +1 -1
  216. package/dist/assets/{tooltip-Ba1d4880.js → tooltip-CNlaAXif.js} +1 -1
  217. package/dist/assets/{trash-2-D31QTW1j.js → trash-2-Dj6YE27r.js} +1 -1
  218. package/dist/assets/{triangle-alert-C4zlUmwQ.js → triangle-alert-BeWKW_t_.js} +1 -1
  219. package/dist/assets/{upload-BHNXybdC.js → upload-CCAqN6qO.js} +1 -1
  220. package/dist/assets/{upload-DEUFzeB7.js → upload-C_mju0bY.js} +1 -1
  221. package/dist/assets/user-C_rge5GK.js +1 -0
  222. package/dist/assets/{veo-RZUG_UKx.js → veo-w7vzw6EB.js} +1 -1
  223. package/dist/assets/{video-BydhRD7r.js → video-wpeW-rXb.js} +1 -1
  224. package/dist/assets/{volume-2-DuacjKR2.js → volume-2-DjuULDOI.js} +1 -1
  225. package/dist/assets/{wallet-cr2ttLrH.js → wallet-CKDQwVGM.js} +1 -1
  226. package/dist/assets/{wan-1_p8Hb2B.js → wan-FC0KQgXk.js} +1 -1
  227. package/dist/assets/{wand-sparkles-Dd8cq2eI.js → wand-sparkles-Ccir2Bid.js} +1 -1
  228. package/dist/assets/{web-CydHuHA2.js → web-BY6ThkgT.js} +1 -1
  229. package/dist/assets/{web-B1bVeN_C.js → web-BnmDxDjh.js} +1 -1
  230. package/dist/assets/{web-DHAura4F.js → web-DhwqOZuz.js} +1 -1
  231. package/dist/assets/{web-C4B1FOWe.js → web-ErOfYRzr.js} +1 -1
  232. package/dist/assets/{web-DIMvfZOw.js → web-Mluz30mt.js} +1 -1
  233. package/dist/assets/{webextrator-COOSLanT.js → webextrator-1ixdgtro.js} +1 -1
  234. package/dist/assets/{zap-BygQULjf.js → zap-D5zNZ2dQ.js} +1 -1
  235. package/dist/index.html +3 -3
  236. package/package.json +1 -1
  237. package/dist/assets/Conversation-DVRK0pd7.js +0 -1
  238. package/dist/assets/ScheduledTasks-BBsJ1y_V.js +0 -2
  239. package/dist/assets/ScheduledTasks-tXV5krzi.css +0 -1
  240. package/dist/assets/arrow-down-DIMYu4OL.js +0 -1
  241. package/dist/assets/arrow-left-CMRAlXPh.js +0 -1
  242. package/dist/assets/arrow-right-D-WHp9nV.js +0 -1
  243. package/dist/assets/arrow-up-DN-NzkNc.js +0 -1
  244. package/dist/assets/check-PCdpK5YP.js +0 -1
  245. package/dist/assets/chevron-down-5dfumZNH.js +0 -1
  246. package/dist/assets/chevron-right-DpSQHms0.js +0 -1
  247. package/dist/assets/circle-check-Bd4ZFob2.js +0 -1
  248. package/dist/assets/clock-zpz00M1W.js +0 -1
  249. package/dist/assets/esm-DLttKFMc.js +0 -1
  250. package/dist/assets/gauge-yA8J8Vhe.js +0 -1
  251. package/dist/assets/loader-circle-BseUdoWB.js +0 -1
  252. package/dist/assets/music-2-C_TqBrOP.js +0 -1
  253. package/dist/assets/play-Bu8tBmpN.js +0 -1
  254. package/dist/assets/plus-BJ32YUeI.js +0 -1
  255. package/dist/assets/rotate-ccw-he-oHar1.js +0 -1
  256. package/dist/assets/rotate-cw-D_nbuleR.js +0 -1
  257. package/dist/assets/search-F3I8Qt-W.js +0 -1
  258. package/dist/assets/square-D4f-HSAX.js +0 -1
  259. package/dist/assets/terminal-BPS9pNah.js +0 -1
  260. package/dist/assets/user-NuwDzBEL.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-Bkog-eh1.js";import{n as x,t as S}from"./tabs-kn3WpXv7.js";import{t as C}from"./upload-DEUFzeB7.js";import{t as w}from"./tooltip-Ba1d4880.js";import{t as T}from"./alert-CqUFS3Eo.js";import{t as E}from"./drawer-DcCmpV8B.js";import{t as D}from"./switch-CGCjK4t-.js";import{n as O}from"./taskDrawerMixin-DXciyVtY.js";import{t as k}from"./box-8b-CzppI.js";import{t as A}from"./clock-zpz00M1W.js";import{n as j,r as M,t as N}from"./PromptTextarea-BcD7-ko1.js";import{t as P}from"./info-NG2esrjE.js";import{t as F}from"./languages-bOhh5E6M.js";import{t as I}from"./trash-2-D31QTW1j.js";import{t as L}from"./triangle-alert-C4zlUmwQ.js";import{t as ee}from"./upload-BHNXybdC.js";import{t as R}from"./wand-sparkles-Dd8cq2eI.js";import{t as te}from"./zap-BygQULjf.js";import{ai as ne,oi as z,si as B}from"./constants-CBo5RPDe.js";import{Bt as re,E as V,Fi as H,Ht as ie,Kt as ae,Ut as oe,Vt as U,Wn as W,Wt as G,ai as K,bi as q,ci as se,tn as ce,xi as J,yr as le}from"./index-BCOh_cbg.js";import{t as ue}from"./CopyToClipboard-BsDiAnIS.js";import{t as Y}from"./ImagePreview-eevIcNeE.js";import{t as de}from"./Consumption-Bii9nr5g.js";import{a as X,n as fe,r as pe,t as me}from"./pagination-CCcF3g6v.js";import{t as he}from"./VideoPlayer-DwubErYJ.js";import{t as ge}from"./ApiCodeButton-TLMxcHxR.js";import{t as _e}from"./BotPlaceholder-dfZWPGdh.js";var ve=v({name:`LayoutVeo`,components:{MagicIcon:R,ElDrawer:E,ElButton:H},mixins:[O]}),ye={class:`main flex flex-row flex-1`},be={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},xe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Se(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,ye,[e(`div`,be,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,xe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ce=V(ve,[[`render`,Se],[`__scopeId`,`data-v-293c9493`]]),Z=`veo31-fast-ingredients`,we=[{value:`veo31-fast`,label:`Veo 3.1 Fast`},{value:`veo3-fast`,label:`Veo 3 Fast`},{value:`veo31`,label:`Veo 3.1`},{value:`veo3`,label:`Veo 3`}],Q=(e,t)=>{let n=!!(e?.action&&e.action!==t),r={...e,action:t};return t===`text2video`?(r.model=r.model===`veo31-fast-ingredients`?B:r.model||`veo31-fast`,delete r.image_urls,r):t===`ingredients2video`?(r.model=Z,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,3),r):(r.model=r.model===`veo31-fast-ingredients`?B:r.model||`veo31-fast`,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,2),r)},Te=e=>{let t={...Q(e,e?.action||`text2video`),async:!0};return t.image_urls?.length||delete t.image_urls,t},Ee=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:Z,label:`Veo 3.1 Fast`}]:we},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=B}}),De={class:`field`},Oe={class:`title font-bold`};function ke(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,De,[e(`h2`,Oe,i(t.$t(`veo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Ae=V(Ee,[[`render`,ke],[`__scopeId`,`data-v-90ed8cff`]]),je=v({name:`ActionSelector`,components:{ElTabs:x,ElTabPane:S},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(ne)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,Q(this.$store.state.veo?.config,e))}}}),Me={class:`tab-label`},Ne={class:`text`};function Pe(t,n,r,a,o,u){let d=l(`el-tab-pane`),m=l(`el-tabs`);return g(),f(m,{"model-value":t.value,class:`action-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(d,{key:t.value,name:t.value},{label:p(()=>[e(`span`,Me,[e(`span`,Ne,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Fe=V(je,[[`render`,Pe],[`__scopeId`,`data-v-c72fb85c`]]),Ie=v({name:`TranslationSelector`,components:{ElSwitch:D,InfoIcon:X},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`},Ve={class:`flex justify-end items-center`};function He(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Le,[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,Ve,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ue=V(Ie,[[`render`,He]]),We=v({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=z}}),Ge={class:`text-sm font-bold mb-2 block`},Ke={class:`items`},qe=[`onClick`],Je={class:`name`};function Ye(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Ge,i(t.$t(`veo.name.ratio`)),1),e(`div`,Ke,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,Je,i(r.label),1)],10,qe))),128))])])}var Xe=V(We,[[`render`,Ye],[`__scopeId`,`data-v-28c472c4`]]),Ze=v({name:`StartEndImage`,components:{UploadIcon:ee,ElUpload:C,ElButton:H,InfoIcon:X,ImagePreview:Y},mixins:[G,oe,U],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:se()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){J.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){J.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),Qe={class:`relative`},$e={class:`flex justify-between`},et={class:`flex justify-start items-center`},tt={class:`text-sm font-bold`};function nt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,Qe,[e(`div`,$e,[e(`div`,et,[e(`span`,tt,i(t.title),1),a(h,{content:t.description},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:t.limit,class:`upload-wrapper`,multiple:!0,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var rt=V(Ze,[[`render`,nt],[`__scopeId`,`data-v-7312fe97`]]),it=v({name:`PromptInput`,components:{PromptTextarea:N},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=v({name:`ConfigPanel`,components:{MagicIcon:R,ElButton:H,Consumption:de,PromptInput:V(it,[[`render`,at]]),ModelSelector:Ae,StartEndImage:rt,ActionSelector:Fe,TranslationSelector:Ue,AspectRatioSelector:Xe},emits:[`generate`],computed:{config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return ae(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),st={class:`flex flex-col h-full`},ct={class:`flex-1 overflow-y-auto p-5`},lt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ut(t,n,c,u,d,m){let h=l(`action-selector`),_=l(`model-selector`),v=l(`start-end-image`),y=l(`prompt-input`),b=l(`aspect-ratio-selector`),x=l(`translation-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return g(),s(`div`,st,[e(`div`,ct,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),t.showsImages?(g(),f(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,lt,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var dt=V(ot,[[`render`,ut]]),ft=v({name:`TaskPreview`,components:{DeleteIcon:I,ApplicationIcon:k,ChannelIcon:M,ExpandIcon:j,InfoIcon:P,LanguageIcon:F,LightningIcon:te,MagicIcon:R,TimeIcon:A,WarningIcon:L,CopyToClipboard:ue,ElAlert:T,VideoPlayer:he,ImagePreview:Y,ElTooltip:w,ElButton:H,ApiCodeButton:ge},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await q.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`veo/deleteTask`,{id:e}),J.success(this.$t(`common.message.deleteTaskSuccess`))}catch{J.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),pt={class:`preview`},mt={class:`left`},ht={class:`main`},gt={class:`bot`},_t={class:`datetime`},vt=[`aria-label`],yt={class:`info`},bt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},xt={key:1,class:`prompt mt-2`},St={key:0},Ct={key:1},wt={key:0,class:n({content:!0,failed:!0})},Tt={key:0,class:`mb-4`},Et={key:1,class:n({operations:!0,"mt-2":!0})},Dt={key:1,class:n({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:n({content:!0})},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(u,d,m,_,v,y){let b=l(`capability-presentation`),x=l(`delete-icon`),S=l(`el-tooltip`),C=l(`image-preview`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`copy-to-clipboard`),A=l(`el-alert`),j=l(`application-icon`),M=l(`lightning-icon`),N=l(`expand-icon`),P=l(`language-icon`),F=l(`magic-icon`),I=l(`time-icon`),L=l(`channel-icon`);return g(),s(`div`,pt,[e(`div`,mt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,ht,[e(`div`,gt,[a(b,{capability:`veo`,part:`name`}),e(`span`,_t,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1),a(S,{effect:`dark`,content:u.$t(`common.button.delete`),placement:`top`},{default:p(()=>[u.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":u.$t(`common.button.delete`),onClick:d[0]||=t((...e)=>u.onDelete&&u.onDelete(...e),[`stop`])},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,vt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,yt,[u.referenceImages.length>0?(g(),s(`div`,bt,[(g(!0),s(c,null,h(u.referenceImages,(e,t)=>(g(),f(C,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(g(),s(`p`,xt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,St,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,Ct,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,wt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Tt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,Et,[a(S,{class:`box-item`,effect:`dark`,content:u.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[u.modelValue?.response?.data[0]?.video_url?(g(),f(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:d[1]||=e=>u.onDownload(e,u.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(u.$t(`veo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(E,{path:`/veo/videos`,body:u.modelValue?.request},null,8,[`body`])])):o(``,!0)])):o(``,!0),u.modelValue?.response?.success===!1?(g(),s(`div`,Dt,[a(A,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failure`)),1)]),default:p(()=>[e(`p`,Ot,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(k,{content:u.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),e(`div`,kt,[a(A,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,At,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.model`))+`: `+i(u.modelValue?.request?.model),1)])):o(``,!0),e(`p`,jt,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.action`))+`: `+i(u.actionLabel),1)]),u.modelValue?.request?.aspect_ratio?(g(),s(`p`,Mt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.ratio`))+`: `+i(u.modelValue?.request?.aspect_ratio),1)])):o(``,!0),u.modelValue?.request?.translation===void 0?o(``,!0):(g(),s(`p`,Nt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.translation`))+`: `+i(u.$t(u.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,$,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(k,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(g(),s(`p`,Pt,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.traceId?(g(),s(`p`,Ft,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.traceId`))+`: `+i(u.traceId)+` `,1),a(k,{content:u.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1},8,[`class`])])])])}var Lt=v({name:`RecentPanel`,components:{TaskPreview:V(ft,[[`render`,It],[`__scopeId`,`data-v-d1a27ce4`]]),NoTasks:pe,BotPlaceholder:_e,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Rt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,zt,[a(v)])):o(``,!0)],64)}var Vt=v({name:`VeoIndex`,components:{ConfigPanel:dt,Layout:Ce,RecentPanel:V(Lt,[[`render`,Bt]])},mixins:[ie],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===K.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await me({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!re(this.uploadTracker,e=>this.$t(e),e=>J.warning(e)))return;let e=Te(this.config);if(!ce())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){J.warning(this.$t(`veo.message.imageRequired`));return}J.info(this.$t(`veo.message.startingTask`)),le(`veo`,W.generate(e,{token:t})).then(()=>{J.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?J.error(this.$t(`veo.message.usedUp`)):J.error(this.$t(`veo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=V(Vt,[[`render`,Ht]]);export{Ut as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-B4-3E_IX.js";import{n as x,t as S}from"./tabs-C-Oy8TvM.js";import{t as C}from"./upload-C_mju0bY.js";import{t as w}from"./tooltip-CNlaAXif.js";import{t as T}from"./alert-CS8lHiIx.js";import{t as E}from"./drawer-C4ZEZcjE.js";import{t as D}from"./switch-iuxEqYWQ.js";import{n as O}from"./taskDrawerMixin-ClhAKwJ0.js";import{t as k}from"./box-4A5nMAp0.js";import{t as A}from"./clock-OlDMuoMz.js";import{n as j,r as M,t as N}from"./PromptTextarea-B5aekFQe.js";import{t as P}from"./info-DwsLYLPC.js";import{t as F}from"./languages-dct_5neU.js";import{t as I}from"./trash-2-Dj6YE27r.js";import{t as L}from"./triangle-alert-BeWKW_t_.js";import{t as ee}from"./upload-CCAqN6qO.js";import{t as R}from"./wand-sparkles-Ccir2Bid.js";import{t as te}from"./zap-D5zNZ2dQ.js";import{ai as ne,oi as z,si as B}from"./constants-DH0HYPoD.js";import{Bt as re,E as V,Fi as H,Ht as ie,Kt as ae,Ut as oe,Vt as U,Wn as W,Wt as G,ai as K,bi as q,ci as se,tn as ce,xi as J,yr as le}from"./index-CkNsjFDs.js";import{t as ue}from"./CopyToClipboard-Bv78R_gE.js";import{t as Y}from"./ImagePreview-DJcJBDkh.js";import{t as de}from"./Consumption-NemZQhoJ.js";import{a as X,n as fe,r as pe,t as me}from"./pagination-Cc9GtMN-.js";import{t as he}from"./VideoPlayer-BN8Z-YtR.js";import{t as ge}from"./ApiCodeButton-DYPVIseg.js";import{t as _e}from"./BotPlaceholder-Dcx2KOSZ.js";var ve=v({name:`LayoutVeo`,components:{MagicIcon:R,ElDrawer:E,ElButton:H},mixins:[O]}),ye={class:`main flex flex-row flex-1`},be={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},xe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Se(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,ye,[e(`div`,be,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,xe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ce=V(ve,[[`render`,Se],[`__scopeId`,`data-v-293c9493`]]),Z=`veo31-fast-ingredients`,we=[{value:`veo31-fast`,label:`Veo 3.1 Fast`},{value:`veo3-fast`,label:`Veo 3 Fast`},{value:`veo31`,label:`Veo 3.1`},{value:`veo3`,label:`Veo 3`}],Q=(e,t)=>{let n=!!(e?.action&&e.action!==t),r={...e,action:t};return t===`text2video`?(r.model=r.model===`veo31-fast-ingredients`?B:r.model||`veo31-fast`,delete r.image_urls,r):t===`ingredients2video`?(r.model=Z,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,3),r):(r.model=r.model===`veo31-fast-ingredients`?B:r.model||`veo31-fast`,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,2),r)},Te=e=>{let t={...Q(e,e?.action||`text2video`),async:!0};return t.image_urls?.length||delete t.image_urls,t},Ee=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:Z,label:`Veo 3.1 Fast`}]:we},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=B}}),De={class:`field`},Oe={class:`title font-bold`};function ke(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,De,[e(`h2`,Oe,i(t.$t(`veo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Ae=V(Ee,[[`render`,ke],[`__scopeId`,`data-v-90ed8cff`]]),je=v({name:`ActionSelector`,components:{ElTabs:x,ElTabPane:S},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(ne)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,Q(this.$store.state.veo?.config,e))}}}),Me={class:`tab-label`},Ne={class:`text`};function Pe(t,n,r,a,o,u){let d=l(`el-tab-pane`),m=l(`el-tabs`);return g(),f(m,{"model-value":t.value,class:`action-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(d,{key:t.value,name:t.value},{label:p(()=>[e(`span`,Me,[e(`span`,Ne,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Fe=V(je,[[`render`,Pe],[`__scopeId`,`data-v-c72fb85c`]]),Ie=v({name:`TranslationSelector`,components:{ElSwitch:D,InfoIcon:X},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`},Ve={class:`flex justify-end items-center`};function He(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Le,[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,Ve,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ue=V(Ie,[[`render`,He]]),We=v({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=z}}),Ge={class:`text-sm font-bold mb-2 block`},Ke={class:`items`},qe=[`onClick`],Je={class:`name`};function Ye(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Ge,i(t.$t(`veo.name.ratio`)),1),e(`div`,Ke,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,Je,i(r.label),1)],10,qe))),128))])])}var Xe=V(We,[[`render`,Ye],[`__scopeId`,`data-v-28c472c4`]]),Ze=v({name:`StartEndImage`,components:{UploadIcon:ee,ElUpload:C,ElButton:H,InfoIcon:X,ImagePreview:Y},mixins:[G,oe,U],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:se()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){J.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){J.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),Qe={class:`relative`},$e={class:`flex justify-between`},et={class:`flex justify-start items-center`},tt={class:`text-sm font-bold`};function nt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,Qe,[e(`div`,$e,[e(`div`,et,[e(`span`,tt,i(t.title),1),a(h,{content:t.description},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:t.limit,class:`upload-wrapper`,multiple:!0,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var rt=V(Ze,[[`render`,nt],[`__scopeId`,`data-v-7312fe97`]]),it=v({name:`PromptInput`,components:{PromptTextarea:N},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=v({name:`ConfigPanel`,components:{MagicIcon:R,ElButton:H,Consumption:de,PromptInput:V(it,[[`render`,at]]),ModelSelector:Ae,StartEndImage:rt,ActionSelector:Fe,TranslationSelector:Ue,AspectRatioSelector:Xe},emits:[`generate`],computed:{config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return ae(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),st={class:`flex flex-col h-full`},ct={class:`flex-1 overflow-y-auto p-5`},lt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ut(t,n,c,u,d,m){let h=l(`action-selector`),_=l(`model-selector`),v=l(`start-end-image`),y=l(`prompt-input`),b=l(`aspect-ratio-selector`),x=l(`translation-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return g(),s(`div`,st,[e(`div`,ct,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),t.showsImages?(g(),f(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,lt,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var dt=V(ot,[[`render`,ut]]),ft=v({name:`TaskPreview`,components:{DeleteIcon:I,ApplicationIcon:k,ChannelIcon:M,ExpandIcon:j,InfoIcon:P,LanguageIcon:F,LightningIcon:te,MagicIcon:R,TimeIcon:A,WarningIcon:L,CopyToClipboard:ue,ElAlert:T,VideoPlayer:he,ImagePreview:Y,ElTooltip:w,ElButton:H,ApiCodeButton:ge},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await q.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`veo/deleteTask`,{id:e}),J.success(this.$t(`common.message.deleteTaskSuccess`))}catch{J.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),pt={class:`preview`},mt={class:`left`},ht={class:`main`},gt={class:`bot`},_t={class:`datetime`},vt=[`aria-label`],yt={class:`info`},bt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},xt={key:1,class:`prompt mt-2`},St={key:0},Ct={key:1},wt={key:0,class:n({content:!0,failed:!0})},Tt={key:0,class:`mb-4`},Et={key:1,class:n({operations:!0,"mt-2":!0})},Dt={key:1,class:n({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:n({content:!0})},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(u,d,m,_,v,y){let b=l(`capability-presentation`),x=l(`delete-icon`),S=l(`el-tooltip`),C=l(`image-preview`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`copy-to-clipboard`),A=l(`el-alert`),j=l(`application-icon`),M=l(`lightning-icon`),N=l(`expand-icon`),P=l(`language-icon`),F=l(`magic-icon`),I=l(`time-icon`),L=l(`channel-icon`);return g(),s(`div`,pt,[e(`div`,mt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,ht,[e(`div`,gt,[a(b,{capability:`veo`,part:`name`}),e(`span`,_t,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1),a(S,{effect:`dark`,content:u.$t(`common.button.delete`),placement:`top`},{default:p(()=>[u.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":u.$t(`common.button.delete`),onClick:d[0]||=t((...e)=>u.onDelete&&u.onDelete(...e),[`stop`])},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,vt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,yt,[u.referenceImages.length>0?(g(),s(`div`,bt,[(g(!0),s(c,null,h(u.referenceImages,(e,t)=>(g(),f(C,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(g(),s(`p`,xt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,St,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,Ct,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,wt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Tt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,Et,[a(S,{class:`box-item`,effect:`dark`,content:u.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[u.modelValue?.response?.data[0]?.video_url?(g(),f(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:d[1]||=e=>u.onDownload(e,u.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(u.$t(`veo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(E,{path:`/veo/videos`,body:u.modelValue?.request},null,8,[`body`])])):o(``,!0)])):o(``,!0),u.modelValue?.response?.success===!1?(g(),s(`div`,Dt,[a(A,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failure`)),1)]),default:p(()=>[e(`p`,Ot,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(k,{content:u.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),e(`div`,kt,[a(A,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,At,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.model`))+`: `+i(u.modelValue?.request?.model),1)])):o(``,!0),e(`p`,jt,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.action`))+`: `+i(u.actionLabel),1)]),u.modelValue?.request?.aspect_ratio?(g(),s(`p`,Mt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.ratio`))+`: `+i(u.modelValue?.request?.aspect_ratio),1)])):o(``,!0),u.modelValue?.request?.translation===void 0?o(``,!0):(g(),s(`p`,Nt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.translation`))+`: `+i(u.$t(u.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,$,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(k,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(g(),s(`p`,Pt,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.traceId?(g(),s(`p`,Ft,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.traceId`))+`: `+i(u.traceId)+` `,1),a(k,{content:u.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1},8,[`class`])])])])}var Lt=v({name:`RecentPanel`,components:{TaskPreview:V(ft,[[`render`,It],[`__scopeId`,`data-v-d1a27ce4`]]),NoTasks:pe,BotPlaceholder:_e,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Rt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,zt,[a(v)])):o(``,!0)],64)}var Vt=v({name:`VeoIndex`,components:{ConfigPanel:dt,Layout:Ce,RecentPanel:V(Lt,[[`render`,Bt]])},mixins:[ie],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===K.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await me({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!re(this.uploadTracker,e=>this.$t(e),e=>J.warning(e)))return;let e=Te(this.config);if(!ce())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){J.warning(this.$t(`veo.message.imageRequired`));return}J.info(this.$t(`veo.message.startingTask`)),le(`veo`,W.generate(e,{token:t})).then(()=>{J.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?J.error(this.$t(`veo.message.usedUp`)):J.error(this.$t(`veo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=V(Vt,[[`render`,Ht]]);export{Ut as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-Bkog-eh1.js";import{t as b}from"./upload-DEUFzeB7.js";import{t as x}from"./tooltip-Ba1d4880.js";import{t as S}from"./alert-CqUFS3Eo.js";import{t as C}from"./drawer-DcCmpV8B.js";import{t as w}from"./input-number-DLks8rZq.js";import{t as T}from"./slider-CTW3AL--.js";import{n as E}from"./taskDrawerMixin-DXciyVtY.js";import{t as D}from"./clock-zpz00M1W.js";import{r as O,t as k}from"./PromptTextarea-BcD7-ko1.js";import{t as A}from"./info-NG2esrjE.js";import{t as j}from"./trash-2-D31QTW1j.js";import{t as M}from"./triangle-alert-C4zlUmwQ.js";import{t as N}from"./upload-BHNXybdC.js";import{t as P}from"./wand-sparkles-Dd8cq2eI.js";import{cr as F,lr as ee,ur as te}from"./constants-CBo5RPDe.js";import{Bt as ne,E as I,Fi as L,Ht as R,Kt as z,Rn as B,Ut as V,Vt as H,Wt as U,ai as W,bi as G,ci as K,tn as q,xi as J,yr as Y}from"./index-BCOh_cbg.js";import{t as X}from"./CopyToClipboard-BsDiAnIS.js";import{t as Z}from"./ImagePreview-eevIcNeE.js";import{t as re}from"./Consumption-Bii9nr5g.js";import{a as Q,n as ie,r as ae,t as oe}from"./pagination-CCcF3g6v.js";import{t as se}from"./ApiCodeButton-TLMxcHxR.js";import{t as ce}from"./BotPlaceholder-dfZWPGdh.js";import{t as le}from"./ImageWrapper-C6owdU8d.js";var ue=_({name:`LayoutFlux`,components:{MagicIcon:P,ElDrawer:C,ElButton:L},mixins:[E]}),de={class:`main flex flex-row flex-1`},fe={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},pe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function me(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,de,[e(`div`,fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,pe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var he=I(ue,[[`render`,me],[`__scopeId`,`data-v-72e82d52`]]),ge=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=te}}),_e={class:`field`},ve={class:`title font-bold`};function ye(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,_e,[e(`h2`,ve,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=I(ge,[[`render`,ye],[`__scopeId`,`data-v-e9b17945`]]),xe=_({name:`CountSelector`,components:{ElSlider:T,InfoIcon:Q,ElInputNumber:w},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`},Ee={class:`w-full`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Se,[e(`div`,Ce,[e(`span`,we,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Te,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Ee,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Oe=I(xe,[[`render`,De]]),ke=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=ee}}),Ae={class:`field`},je={class:`title font-bold`};function Me(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ae,[e(`h2`,je,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ne=I(ke,[[`render`,Me],[`__scopeId`,`data-v-81fd05e5`]]),Pe=_({name:`ImageUrlInput`,components:{UploadIcon:N,ElUpload:b,ElButton:L,InfoIcon:Q,ImagePreview:Z},mixins:[U,V,H],emits:[`change`],data(){return{fileList:[],uploadUrl:K()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){J.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){J.error(this.$t(`flux.message.uploadStartImageError`))}}}),Fe={class:`relative`},Ie={class:`flex justify-between`},Le={class:`flex justify-start items-center`},Re={class:`text-sm font-bold`};function ze(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,Fe,[e(`div`,Ie,[e(`div`,Le,[e(`span`,Re,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var Be=I(Pe,[[`render`,ze],[`__scopeId`,`data-v-2e7e6966`]]),Ve=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function He(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ue=I(Ve,[[`render`,He]]),We=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:F}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),Ge={class:`field`},Ke={class:`title font-bold`};function qe(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ge,[e(`h2`,Ke,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=_({name:`PresetPanel`,components:{MagicIcon:P,ElButton:L,PromptInput:Ue,ModelSelector:be,CountSelector:Oe,Consumption:re,ActionSelector:Ne,ImageUrlInput:Be,SizeSelector:I(We,[[`render`,qe],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return z(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ye={class:`flex flex-col h-full`},Xe={class:`flex-1 overflow-y-auto p-5`},Ze={class:`flex flex-col items-center justify-center px-5 pb-5`};function Qe(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Ye,[e(`div`,Xe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,Ze,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var $e=I(Je,[[`render`,Qe]]),et=_({name:`TaskPreview`,components:{DeleteIcon:j,ElTooltip:x,ChannelIcon:O,InfoIcon:A,MagicIcon:P,TimeIcon:D,WarningIcon:M,CopyToClipboard:X,ElAlert:S,ImageWrapper:le,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await G.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),J.success(this.$t(`common.message.deleteTaskSuccess`))}catch{J.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),tt={class:`preview`},nt={class:`left`},rt={class:`main`},it={class:`bot`},at={class:`datetime`},ot=[`aria-label`],st={class:`info`},ct={key:0,class:`prompt mt-2`},lt={key:0},ut={key:0,class:n({content:!0,failed:!0})},dt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ft={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gt={key:1,class:n({content:!0})},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},bt={key:2,class:n({content:!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function St(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return h(),s(`div`,tt,[e(`div`,nt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,rt,[e(`div`,it,[a(y,{capability:`flux`,part:`name`}),e(`span`,at,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ot)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,st,[n.modelValue?.request?.prompt?(h(),s(`p`,ct,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,lt,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,ut,[e(`div`,dt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,ft,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`])]),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,pt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,mt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ht,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,gt,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,_t,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,vt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,yt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,bt,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,xt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Ct=_({name:`RecentPanel`,components:{TaskPreview:I(et,[[`render`,St],[`__scopeId`,`data-v-6df6d58d`]]),BotPlaceholder:ce,NoTasks:ae,ScrollList:ie},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),wt={key:0},Tt={key:2,class:`w-full h-full flex items-center justify-center`};function Et(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,wt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Tt,[a(v)])):o(``,!0)],64)}var Dt=_({name:`FluxIndex`,components:{ConfigPanel:$e,Layout:he,RecentPanel:I(Ct,[[`render`,Et]])},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===W.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>J.warning(e)))return;let e={...this.config,async:!0};if(!q())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}J.info(this.$t(`flux.message.startingTask`)),Y(`flux`,B.generate(e,{token:t})).then(()=>{J.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?J.error(this.$t(`flux.message.usedUp`)):J.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kt=I(Dt,[[`render`,Ot]]);export{kt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-B4-3E_IX.js";import{t as b}from"./upload-C_mju0bY.js";import{t as x}from"./tooltip-CNlaAXif.js";import{t as S}from"./alert-CS8lHiIx.js";import{t as C}from"./drawer-C4ZEZcjE.js";import{t as w}from"./input-number-Bf1UhOwE.js";import{t as T}from"./slider-CKTZhWpi.js";import{n as E}from"./taskDrawerMixin-ClhAKwJ0.js";import{t as D}from"./clock-OlDMuoMz.js";import{r as O,t as k}from"./PromptTextarea-B5aekFQe.js";import{t as A}from"./info-DwsLYLPC.js";import{t as j}from"./trash-2-Dj6YE27r.js";import{t as M}from"./triangle-alert-BeWKW_t_.js";import{t as N}from"./upload-CCAqN6qO.js";import{t as P}from"./wand-sparkles-Ccir2Bid.js";import{cr as F,lr as ee,ur as te}from"./constants-DH0HYPoD.js";import{Bt as ne,E as I,Fi as L,Ht as R,Kt as z,Rn as B,Ut as V,Vt as H,Wt as U,ai as W,bi as G,ci as K,tn as q,xi as J,yr as Y}from"./index-CkNsjFDs.js";import{t as X}from"./CopyToClipboard-Bv78R_gE.js";import{t as Z}from"./ImagePreview-DJcJBDkh.js";import{t as re}from"./Consumption-NemZQhoJ.js";import{a as Q,n as ie,r as ae,t as oe}from"./pagination-Cc9GtMN-.js";import{t as se}from"./ApiCodeButton-DYPVIseg.js";import{t as ce}from"./BotPlaceholder-Dcx2KOSZ.js";import{t as le}from"./ImageWrapper-meyUJgYO.js";var ue=_({name:`LayoutFlux`,components:{MagicIcon:P,ElDrawer:C,ElButton:L},mixins:[E]}),de={class:`main flex flex-row flex-1`},fe={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},pe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function me(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,de,[e(`div`,fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,pe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var he=I(ue,[[`render`,me],[`__scopeId`,`data-v-72e82d52`]]),ge=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=te}}),_e={class:`field`},ve={class:`title font-bold`};function ye(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,_e,[e(`h2`,ve,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=I(ge,[[`render`,ye],[`__scopeId`,`data-v-e9b17945`]]),xe=_({name:`CountSelector`,components:{ElSlider:T,InfoIcon:Q,ElInputNumber:w},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`},Ee={class:`w-full`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Se,[e(`div`,Ce,[e(`span`,we,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Te,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Ee,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Oe=I(xe,[[`render`,De]]),ke=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=ee}}),Ae={class:`field`},je={class:`title font-bold`};function Me(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ae,[e(`h2`,je,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ne=I(ke,[[`render`,Me],[`__scopeId`,`data-v-81fd05e5`]]),Pe=_({name:`ImageUrlInput`,components:{UploadIcon:N,ElUpload:b,ElButton:L,InfoIcon:Q,ImagePreview:Z},mixins:[U,V,H],emits:[`change`],data(){return{fileList:[],uploadUrl:K()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){J.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){J.error(this.$t(`flux.message.uploadStartImageError`))}}}),Fe={class:`relative`},Ie={class:`flex justify-between`},Le={class:`flex justify-start items-center`},Re={class:`text-sm font-bold`};function ze(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,Fe,[e(`div`,Ie,[e(`div`,Le,[e(`span`,Re,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var Be=I(Pe,[[`render`,ze],[`__scopeId`,`data-v-2e7e6966`]]),Ve=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function He(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ue=I(Ve,[[`render`,He]]),We=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:F}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),Ge={class:`field`},Ke={class:`title font-bold`};function qe(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ge,[e(`h2`,Ke,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=_({name:`PresetPanel`,components:{MagicIcon:P,ElButton:L,PromptInput:Ue,ModelSelector:be,CountSelector:Oe,Consumption:re,ActionSelector:Ne,ImageUrlInput:Be,SizeSelector:I(We,[[`render`,qe],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return z(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ye={class:`flex flex-col h-full`},Xe={class:`flex-1 overflow-y-auto p-5`},Ze={class:`flex flex-col items-center justify-center px-5 pb-5`};function Qe(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Ye,[e(`div`,Xe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,Ze,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var $e=I(Je,[[`render`,Qe]]),et=_({name:`TaskPreview`,components:{DeleteIcon:j,ElTooltip:x,ChannelIcon:O,InfoIcon:A,MagicIcon:P,TimeIcon:D,WarningIcon:M,CopyToClipboard:X,ElAlert:S,ImageWrapper:le,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await G.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),J.success(this.$t(`common.message.deleteTaskSuccess`))}catch{J.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),tt={class:`preview`},nt={class:`left`},rt={class:`main`},it={class:`bot`},at={class:`datetime`},ot=[`aria-label`],st={class:`info`},ct={key:0,class:`prompt mt-2`},lt={key:0},ut={key:0,class:n({content:!0,failed:!0})},dt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ft={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gt={key:1,class:n({content:!0})},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},bt={key:2,class:n({content:!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function St(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return h(),s(`div`,tt,[e(`div`,nt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,rt,[e(`div`,it,[a(y,{capability:`flux`,part:`name`}),e(`span`,at,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ot)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,st,[n.modelValue?.request?.prompt?(h(),s(`p`,ct,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,lt,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,ut,[e(`div`,dt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,ft,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`])]),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,pt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,mt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ht,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,gt,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,_t,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,vt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,yt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,bt,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,xt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Ct=_({name:`RecentPanel`,components:{TaskPreview:I(et,[[`render`,St],[`__scopeId`,`data-v-6df6d58d`]]),BotPlaceholder:ce,NoTasks:ae,ScrollList:ie},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),wt={key:0},Tt={key:2,class:`w-full h-full flex items-center justify-center`};function Et(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,wt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Tt,[a(v)])):o(``,!0)],64)}var Dt=_({name:`FluxIndex`,components:{ConfigPanel:$e,Layout:he,RecentPanel:I(Ct,[[`render`,Et]])},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===W.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>J.warning(e)))return;let e={...this.config,async:!0};if(!q())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}J.info(this.$t(`flux.message.startingTask`)),Y(`flux`,B.generate(e,{token:t})).then(()=>{J.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?J.error(this.$t(`flux.message.usedUp`)):J.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kt=I(Dt,[[`render`,Ot]]);export{kt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-Bkog-eh1.js";import{t as x}from"./upload-DEUFzeB7.js";import{t as S}from"./tooltip-Ba1d4880.js";import{t as C}from"./alert-CqUFS3Eo.js";import{t as w}from"./drawer-DcCmpV8B.js";import{t as T}from"./input-number-DLks8rZq.js";import{t as E}from"./switch-CGCjK4t-.js";import{n as D}from"./taskDrawerMixin-DXciyVtY.js";import{t as O}from"./box-8b-CzppI.js";import{t as k}from"./clock-zpz00M1W.js";import{n as A,r as j,t as M}from"./PromptTextarea-BcD7-ko1.js";import{t as N}from"./info-NG2esrjE.js";import{t as P}from"./trash-2-D31QTW1j.js";import{t as F}from"./triangle-alert-C4zlUmwQ.js";import{t as I}from"./upload-BHNXybdC.js";import{t as L}from"./volume-2-DuacjKR2.js";import{t as R}from"./wand-sparkles-Dd8cq2eI.js";import{Xt as ee,Zt as te,_n as z,an as ne,cn as re,dn as ie,en as ae,fn as oe,hn as B,in as se,ln as ce,mn as V,nn as le,on as ue,pn as H,rn as de,sn as fe,tn as pe,un as me}from"./constants-CBo5RPDe.js";import{Bt as he,E as U,Fi as W,Ht as ge,Kt as _e,Tn as ve,Ut as G,Vt as K,Wt as q,ai as J,bi as ye,ci as Y,tn as be,xi as X,yr as xe}from"./index-BCOh_cbg.js";import{t as Se}from"./CopyToClipboard-BsDiAnIS.js";import{t as Z}from"./ImagePreview-eevIcNeE.js";import{t as Ce}from"./Consumption-Bii9nr5g.js";import{a as Q,n as we,r as Te,t as Ee}from"./pagination-CCcF3g6v.js";import{t as De}from"./VideoPlayer-DwubErYJ.js";import{t as Oe}from"./ApiCodeButton-TLMxcHxR.js";import{t as ke}from"./BotPlaceholder-dfZWPGdh.js";import{t as Ae}from"./ImageWrapper-C6owdU8d.js";import{n as je,t as Me}from"./AudioPreview-CEZEUpzg.js";var Ne=v({name:`LayoutSeedance`,components:{MagicIcon:R,ElDrawer:w,ElButton:W},mixins:[D]}),Pe={class:`main flex flex-row flex-1`},Fe={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Pe,[e(`div`,Fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ie,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Re=U(Ne,[[`render`,Le],[`__scopeId`,`data-v-ff53dce1`]]),ze=v({name:`SeedancePromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Be(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedance.name.prompt`),info:e.$t(`seedance.description.prompt`),placeholder:e.$t(`seedance.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ve=U(ze,[[`render`,Be]]),He=v({name:`SeedanceModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Q},data(){return{options:[{value:ne,label:this.$t(`seedance.model.seedance20`)},{value:ue,label:this.$t(`seedance.model.seedance20Fast`)},{value:fe,label:this.$t(`seedance.model.seedance20Mini`)},{value:se,label:this.$t(`seedance.model.seedance15pro`)},{value:le,label:this.$t(`seedance.model.seedance10pro`)},{value:de,label:this.$t(`seedance.model.seedance10proFast`)},{value:pe,label:this.$t(`seedance.model.seedance10liteT2v`)},{value:ae,label:this.$t(`seedance.model.seedance10liteI2v`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||=ee}}),Ue={class:`field`},We={class:`label`},Ge={class:`box`},Ke={class:`title font-bold`};function qe(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ue,[e(`div`,We,[e(`div`,Ge,[e(`h2`,Ke,i(t.$t(`seedance.name.model`)),1),a(m,{content:t.$t(`seedance.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=U(He,[[`render`,qe],[`__scopeId`,`data-v-deb4c429`]]),Ye=v({name:`SeedanceDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Q},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},options(){let e=[];this.capability.supportsAutoDuration&&e.push({value:-1,label:`${this.$t(`seedance.placeholder.seed`)} (-1)`});for(let t=this.capability.minDuration;t<=this.capability.maxDuration;t++)e.push({value:t,label:`${t}s`});return e},value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,duration:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=5},methods:{clampValue(){let e=this.value;e!==void 0&&!(e===-1&&this.capability.supportsAutoDuration)&&(e<this.capability.minDuration||e>this.capability.maxDuration)&&(this.value=5)}}}),Xe={class:`field`},Ze={class:`label`},Qe={class:`box`},$e={class:`title font-bold`};function et(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`div`,Qe,[e(`h2`,$e,i(t.$t(`seedance.name.duration`)),1),a(m,{content:t.$t(`seedance.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var tt=U(Ye,[[`render`,et],[`__scopeId`,`data-v-d61cc21b`]]),$={[V]:0,[B]:1,[H]:2,"4k":3},nt=v({name:`SeedanceResolutionSelector`,components:{InfoIcon:Q,ElTooltip:S},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},options(){let e=[{value:V,label:`480p`},{value:B,label:`720p`},{value:H,label:`1080p`},{value:`4k`,label:`4k`}],t=$[this.capability.maxResolution]??$[`1080p`];return e.map(e=>({...e,disabled:$[e.value]>t}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||`720p`},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){let e=this.value,t=this.options.find(t=>t.value===e);(!e||t&&t.disabled)&&(this.value=this.capability.defaultResolution||`720p`)}}}),rt={class:`resolution`},it={class:`header`},at={class:`title font-bold`},ot={class:`items`},st=[`onClick`];function ct(t,r,o,u,d,m){let _=l(`info-icon`),v=l(`el-tooltip`);return g(),s(`div`,rt,[e(`div`,it,[e(`h2`,at,i(t.$t(`seedance.name.resolution`)),1),a(_,{content:t.$t(`seedance.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,ot,[(g(!0),s(c,null,h(t.options,r=>(g(),f(v,{key:r.value,content:t.$t(`seedance.message.resolutionNotSupported`),disabled:!r.disabled,placement:`top`},{default:p(()=>[e(`div`,{class:n([`item`,{active:t.value===r.value,disabled:r.disabled}]),onClick:e=>t.onSelect(r)},i(r.label),11,st)]),_:2},1032,[`content`,`disabled`]))),128))])])}var lt=U(nt,[[`render`,ct],[`__scopeId`,`data-v-db7e8aff`]]),ut=v({name:`SeedanceRatioSelector`,components:{InfoIcon:Q},computed:{options(){return[{value:ce,label:`16:9`,w:32,h:18},{value:ie,label:`9:16`,w:18,h:32},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`1:1`,label:`1:1`,w:24,h:24},{value:me,label:`21:9`,w:34,h:14},{value:oe,label:this.$t(`seedance.ratio.adaptive`),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||=te}}),dt={class:`ratio`},ft={class:`header`},pt={class:`title font-bold`},mt={class:`items`},ht=[`onClick`],gt={class:`preview`},_t={key:1,class:`rect rect-auto`},vt={class:`name`};function yt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(t.$t(`seedance.name.ratio`)),1),a(p,{content:t.$t(`seedance.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,mt,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,gt,[r.w&&r.h?(g(),s(`div`,{key:0,class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)):(g(),s(`div`,_t,`A`))]),e(`div`,vt,i(r.label),1)],10,ht))),128))])])}var bt=U(ut,[[`render`,yt],[`__scopeId`,`data-v-8ddec2dd`]]),xt=v({name:`SeedanceGenerateAudioSwitch`,components:{ElSwitch:E,InfoIcon:Q},computed:{isSupported(){let e=this.$store.state.seedance?.config?.model;return z(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),St={key:0,class:`field`},Ct={class:`label`},wt={class:`box`},Tt={class:`title font-bold`},Et={class:`value`};function Dt(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,St,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(t.$t(`seedance.name.generateAudio`)),1),a(f,{content:t.$t(`seedance.description.generateAudio`),class:`info`},null,8,[`content`])])]),e(`div`,Et,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var Ot=U(xt,[[`render`,Dt],[`__scopeId`,`data-v-df51dfbd`]]),kt=v({name:`SeedanceCameraFixedSwitch`,components:{ElSwitch:E,InfoIcon:Q},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=!1)}}),At={class:`field`},jt={class:`label`},Mt={class:`box`},Nt={class:`title font-bold`},Pt={class:`value`};function Ft(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,At,[e(`div`,jt,[e(`div`,Mt,[e(`h2`,Nt,i(t.$t(`seedance.name.cameraFixed`)),1),a(d,{content:t.$t(`seedance.description.cameraFixed`),class:`info`},null,8,[`content`])])]),e(`div`,Pt,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])}var It=U(kt,[[`render`,Ft],[`__scopeId`,`data-v-ae777d61`]]),Lt=v({name:`SeedanceFirstFrameImage`,components:{UploadIcon:I,ElUpload:x,ElButton:W,InfoIcon:Q,ImagePreview:Z},mixins:[q,G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetFirstFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`first_frame`);e&&t.push({url:e,role:`first_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),Rt={key:0,class:`relative`},zt={class:`flex min-h-8 items-center pr-20`},Bt={class:`flex justify-start items-center`},Vt={class:`text-sm font-bold`},Ht={key:0,class:`required-badge`};function Ut(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsImage?(g(),s(`div`,Rt,[e(`div`,zt,[e(`div`,Bt,[e(`span`,Vt,i(t.$t(`seedance.name.firstFrame`)),1),t.capability.requiresImage?(g(),s(`span`,Ht,i(t.$t(`seedance.name.required`)),1)):o(``,!0),a(h,{content:t.$t(`seedance.description.firstFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var Wt=U(Lt,[[`render`,Ut],[`__scopeId`,`data-v-1170578c`]]),Gt=v({name:`SeedanceLastFrameImage`,components:{UploadIcon:I,ElUpload:x,ElButton:W,ImagePreview:Z,InfoIcon:Q},mixins:[q,G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetLastFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`last_frame`);e&&t.push({url:e,role:`last_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),Kt={key:0,class:`relative`},qt={class:`flex min-h-8 items-center pr-20`},Jt={class:`flex justify-start items-center`},Yt={class:`text-sm font-bold`};function Xt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsLastFrame?(g(),s(`div`,Kt,[e(`div`,qt,[e(`div`,Jt,[e(`span`,Yt,i(t.$t(`seedance.name.lastFrame`)),1),a(h,{content:t.$t(`seedance.description.lastFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var Zt=U(Gt,[[`render`,Xt],[`__scopeId`,`data-v-584f6ece`]]),Qt=v({name:`SeedanceReferenceImage`,components:{UploadIcon:I,ElUpload:x,ElButton:W,InfoIcon:Q,ImagePreview:Z},mixins:[q,G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceImage"(e){e||(this.fileList=[],this.onSetReferenceImageUrls())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetReferenceImageUrls(){let e=(this.urls||[]).filter(Boolean),t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`reference_image`);e.forEach(e=>t.push({url:e,role:`reference_image`})),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetReferenceImageUrls()},async onRemove(){this.onSetReferenceImageUrls()}}}),$t={key:0,class:`relative`},en={class:`flex min-h-8 items-center pr-20`},tn={class:`flex justify-start items-center`},nn={class:`text-sm font-bold`};function rn(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsReferenceImage?(g(),s(`div`,$t,[e(`div`,en,[e(`div`,tn,[e(`span`,nn,i(t.$t(`seedance.name.referenceImage`)),1),a(h,{content:t.$t(`seedance.description.referenceImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var an=U(Qt,[[`render`,rn],[`__scopeId`,`data-v-152c413d`]]),on=v({name:`SeedanceReferenceAudio`,components:{UploadIcon:I,ElUpload:x,ElButton:W,InfoIcon:Q},mixins:[G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceAudio"(e){e||(this.fileList=[],this.onSetReferenceAudios())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetReferenceAudios(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,audios:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceAudios()},async onRemove(){this.onSetReferenceAudios()}}}),sn={key:0,class:`relative`},cn={class:`flex min-h-8 items-center pr-20`},ln={class:`flex justify-start items-center`},un={class:`text-sm font-bold`};function dn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceAudio?(g(),s(`div`,sn,[e(`div`,cn,[e(`div`,ln,[e(`span`,un,i(t.$t(`seedance.name.referenceAudio`)),1),a(m,{content:t.$t(`seedance.description.referenceAudio`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp3,.wav,.m4a,.aac,.ogg,.flac`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var fn=U(on,[[`render`,dn],[`__scopeId`,`data-v-0814e508`]]),pn=v({name:`SeedanceReferenceVideo`,components:{UploadIcon:I,ElUpload:x,ElButton:W,InfoIcon:Q},mixins:[G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceVideo"(e){e||(this.fileList=[],this.onSetReferenceVideos())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetReferenceVideos(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,videos:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceVideos()},async onRemove(){this.onSetReferenceVideos()}}}),mn={key:0,class:`relative`},hn={class:`flex min-h-8 items-center pr-20`},gn={class:`flex justify-start items-center`},_n={class:`text-sm font-bold`};function vn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceVideo?(g(),s(`div`,mn,[e(`div`,hn,[e(`div`,gn,[e(`span`,_n,i(t.$t(`seedance.name.referenceVideo`)),1),a(m,{content:t.$t(`seedance.description.referenceVideo`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp4,.mov,.webm,.mkv,.avi`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var yn=U(pn,[[`render`,vn],[`__scopeId`,`data-v-fec4fcd6`]]),bn=v({name:`SeedanceReturnLastFrameSwitch`,components:{ElSwitch:E,InfoIcon:Q},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return z(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),xn={key:0,class:`field`},Sn={class:`label`},Cn={class:`box`},wn={class:`title font-bold`},Tn={class:`value`};function En(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,xn,[e(`div`,Sn,[e(`div`,Cn,[e(`h2`,wn,i(t.$t(`seedance.name.returnLastFrame`)),1),a(f,{content:t.$t(`seedance.description.returnLastFrame`),class:`info`},null,8,[`content`])])]),e(`div`,Tn,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var Dn=U(bn,[[`render`,En],[`__scopeId`,`data-v-edea5451`]]),On=v({name:`SeedanceSeedInput`,components:{ElInputNumber:T,InfoIcon:Q},computed:{value:{get(){let e=this.$store.state.seedance?.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.$store.state.seedance?.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedance/setConfig`,t)}}}}),kn={class:`field`},An={class:`label`},jn={class:`box`},Mn={class:`title font-bold`},Nn={class:`value`};function Pn(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`);return g(),s(`div`,kn,[e(`div`,An,[e(`div`,jn,[e(`h2`,Mn,i(t.$t(`seedance.name.seed`)),1),a(d,{content:t.$t(`seedance.description.seed`),class:`info`},null,8,[`content`])])]),e(`div`,Nn,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])}var Fn=v({name:`SeedanceConfigPanel`,components:{MagicIcon:R,ElButton:W,PromptInput:Ve,ModelSelector:Je,DurationSelector:tt,ResolutionSelector:lt,RatioSelector:bt,GenerateAudioSwitch:Ot,CameraFixedSwitch:It,ReturnLastFrameSwitch:Dn,SeedInput:U(On,[[`render`,Pn],[`__scopeId`,`data-v-685a9869`]]),FirstFrameImage:Wt,LastFrameImage:Zt,ReferenceImage:an,ReferenceAudio:fn,ReferenceVideo:yn,Consumption:Ce},emits:[`generate`],computed:{config(){return this.$store.state.seedance?.config},consumption(){return _e(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),In={class:`flex flex-col h-full`},Ln={class:`flex-1 overflow-y-auto p-5`},Rn={class:`flex flex-col items-center justify-center px-5 pb-5`};function zn(t,n,o,c,u,d){let f=l(`prompt-input`),m=l(`model-selector`),h=l(`ratio-selector`),_=l(`resolution-selector`),v=l(`duration-selector`),y=l(`generate-audio-switch`),b=l(`camera-fixed-switch`),x=l(`return-last-frame-switch`),S=l(`seed-input`),C=l(`first-frame-image`),w=l(`last-frame-image`),T=l(`reference-image`),E=l(`reference-audio`),D=l(`reference-video`),O=l(`consumption`),k=l(`magic-icon`),A=l(`el-button`);return g(),s(`div`,In,[e(`div`,Ln,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),a(w,{class:`mb-4`}),a(T,{class:`mb-4`}),a(E,{class:`mb-4`}),a(D,{class:`mb-4`})]),e(`div`,Rn,[a(O,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(A,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(k,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Bn=U(Fn,[[`render`,zn]]),Vn=v({name:`SeedanceTaskPreview`,components:{DeleteIcon:P,ApplicationIcon:O,ChannelIcon:j,FullscreenIcon:A,InfoIcon:N,MagicIcon:R,TimeIcon:k,VolumeIcon:L,WarningIcon:F,CopyToClipboard:Se,ElAlert:C,VideoPlayer:De,ElTooltip:S,ElButton:W,ImageWrapper:Ae,ImagePreview:Z,AudioPreview:Me,VideoPreview:je,ApiCodeButton:Oe},props:{modelValue:{type:Object,required:!0}},computed:{video(){return this.modelValue?.response?.data},apiCodeBody(){let e=this.modelValue?.request;if(!e)return e;let{service_tier:t,...n}=e;return n},promptText(){let e=this.modelValue?.request;if(e?.prompt)return e.prompt;let t=e?.content?.find(e=>e?.type===`text`&&e?.text);return t?.text?t.text:this.video?.prompt},referenceImages(){let e=this.collectImages();if(e.length===0)return[];let t=[],n=e.find(e=>e?.role===`first_frame`);n?.url&&t.push({url:n.url,name:`first-frame`});let r=e.find(e=>e?.role===`last_frame`);return r?.url&&t.push({url:r.url,name:`last-frame`}),e.forEach((e,n)=>{e?.url&&e.role!==`first_frame`&&e.role!==`last_frame`&&t.push({url:e.url,name:e.role||`image-${n}`})}),t},referenceAudios(){let e=this.modelValue?.request,t=(e?.audios??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`audio_url`&&e?.audio_url?.url&&t.push(e.audio_url.url)}),t},referenceVideos(){let e=this.modelValue?.request,t=(e?.videos??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`video_url`&&e?.video_url?.url&&t.push(e.video_url.url)}),t}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await ye.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`seedance/deleteTask`,{id:e}),X.success(this.$t(`common.message.deleteTaskSuccess`))}catch{X.error(this.$t(`common.message.deleteTaskFailed`))}}},collectImages(){let e=this.modelValue?.request,t=Array.isArray(e?.images)?[...e.images]:[];return(e?.content??[]).forEach(e=>{e?.type===`image_url`&&e?.image_url?.url&&t.push({url:e.image_url.url,role:e.role})}),t},onDownload(e){window.open(e,`_blank`)}}}),Hn={class:`preview`},Un={class:`left`},Wn={class:`main`},Gn={class:`bot`},Kn={class:`datetime`},qn=[`aria-label`],Jn={class:`info`},Yn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Xn={key:1,class:`prompt mt-2`},Zn={key:0},Qn={key:1},$n={key:0,class:n({content:!0})},er={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tr={key:1,class:n({content:!0})},nr={key:0,class:`mb-4`},rr={key:1,class:`mb-4`},ir={key:2,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},ar={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},or={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sr={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cr={key:0},lr={key:1},ur={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fr={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pr={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},mr={key:2,class:n({content:!0})},hr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_r={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vr={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yr={key:3,class:n({content:!0})},br={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Sr(n,u,d,m,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`audio-preview`),w=l(`video-preview`),T=l(`time-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`el-alert`),k=l(`video-player`),A=l(`image-wrapper`),j=l(`el-button`),M=l(`api-code-button`),N=l(`application-icon`),P=l(`fullscreen-icon`),F=l(`volume-icon`),I=l(`channel-icon`),L=l(`warning-icon`),R=l(`info-icon`);return g(),s(`div`,Hn,[e(`div`,Un,[a(y,{capability:`seedance`,part:`avatar`,class:`avatar`})]),e(`div`,Wn,[e(`div`,Gn,[a(y,{capability:`seedance`,part:`name`}),e(`span`,Kn,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,qn)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Jn,[n.referenceImages.length>0||n.referenceAudios.length>0||n.referenceVideos.length>0?(g(),s(`div`,Yn,[(g(!0),s(c,null,h(n.referenceImages,(e,t)=>(g(),f(S,{key:`image-${t}`,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceAudios,(e,t)=>(g(),f(C,{key:`audio-${t}`,url:e,name:`audio-${t+1}`},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceVideos,(e,t)=>(g(),f(w,{key:`video-${t}`,url:e,name:`video-${t+1}`},null,8,[`url`,`name`]))),128))])):o(``,!0),n.promptText?(g(),s(`p`,Xn,[r(i(n.promptText)+` `,1),n.modelValue?.response?n.video?.status===`processing`||n.video?.status===`pending`?(g(),s(`span`,Qn,` - (`+i(n.$t(`seedance.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,Zn,` - (`+i(n.$t(`seedance.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,tr,[n.video?.video_url?(g(),s(`div`,nr,[a(k,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.last_frame_url?(g(),s(`div`,rr,[a(A,{src:n.video?.last_frame_url,"raw-src":n.video?.last_frame_url},null,8,[`src`,`raw-src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,ir,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`seedance.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(j,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`seedance.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(M,{path:`/seedance/videos`,body:n.apiCodeBody},null,8,[`body`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,ar,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,or,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.video?.resolution?(g(),s(`p`,sr,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.resolution`))+`: `+i(n.video?.resolution)+` `,1),n.video?.ratio?(g(),s(`span`,cr,` · `+i(n.video?.ratio),1)):o(``,!0),n.video?.framespersecond?(g(),s(`span`,lr,` · `+i(n.video?.framespersecond)+`fps`,1)):o(``,!0)])):o(``,!0),n.modelValue?.request?.generate_audio?(g(),s(`p`,ur,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.generateAudio`))+`: `+i(n.$t(`seedance.button.on`)),1)])):o(``,!0),e(`p`,dr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,fr,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,pr,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,mr,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.failure`)),1)]),default:p(()=>[e(`p`,hr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,gr,[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(g(),s(`p`,_r,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vr,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yr,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.status`)),1)]),default:p(()=>[e(`p`,br,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,xr,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,$n,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.status.pending`)),1)]),default:p(()=>[e(`p`,er,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Cr=v({name:`SeedanceRecentPanel`,components:{TaskPreview:U(Vn,[[`render`,Sr],[`__scopeId`,`data-v-87665265`]]),BotPlaceholder:ke,NoTasks:Te,ScrollList:we},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),wr={key:0},Tr={key:2,class:`w-full h-full flex items-center justify-center`};function Er(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,wr,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Tr,[a(v)])):o(``,!0)],64)}var Dr=U(Cr,[[`render`,Er]]),Or=new Set(Object.keys(re)),kr=e=>Array.isArray(e)?e.filter(e=>!!e?.url):[];function Ar(e){let t={...e||{}};if(typeof t.prompt==`string`&&(t.prompt=t.prompt.trim(),t.prompt||delete t.prompt),t.model&&!Or.has(t.model))return{reject:`modelUnsupported`};let n=z(t.model);t.images=kr(t.images);let r=t.images.some(e=>e.role===`first_frame`),i=t.images.some(e=>e.role===`last_frame`);!r&&i&&(t.images=t.images.map(e=>e.role===`last_frame`?{...e,role:`first_frame`}:e));let a=t.images.length>0;if(a||delete t.images,delete t.service_tier,!n.acceptsImage&&a)return{reject:`modelRejectsImage`};if(!n.acceptsAudio&&t.generate_audio&&(t.generate_audio=!1),!n.acceptsReturnLastFrame&&t.return_last_frame&&(t.return_last_frame=!1),!n.acceptsLastFrame&&a&&(t.images=t.images.filter(e=>e.role!==`last_frame`),a=t.images.length>0,a||delete t.images),n.acceptsReferenceAudio&&Array.isArray(t.audios)&&(t.audios=t.audios.filter(e=>e?.url)),(!n.acceptsReferenceAudio||!Array.isArray(t.audios)||t.audios.length===0)&&delete t.audios,n.acceptsReferenceVideo&&Array.isArray(t.videos)&&(t.videos=t.videos.filter(e=>e?.url)),(!n.acceptsReferenceVideo||!Array.isArray(t.videos)||t.videos.length===0)&&delete t.videos,!n.acceptsReferenceImage&&Array.isArray(t.images)&&(t.images=t.images.filter(e=>e.role!==`reference_image`),t.images.length===0&&delete t.images),a=Array.isArray(t.images)&&t.images.length>0,n.requiresImage&&!a||!n.acceptsText&&!a)return{reject:`modelRequiresImage`};let o=Array.isArray(t.videos)&&t.videos.length>0;return Array.isArray(t.audios)&&t.audios.length>0&&!a&&!o?{reject:`audioRequiresReference`}:{request:{...t,async:!0}}}var jr=v({name:`SeedanceIndex`,components:{ConfigPanel:Bn,Layout:Re,RecentPanel:Dr},mixins:[ge],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===J.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===J.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Ee({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`seedance/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`seedance/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!he(this.uploadTracker,e=>this.$t(e),e=>X.warning(e)))return;let{request:e,reject:t}=Ar(this.config);if(t){X.warning(this.$t(`seedance.message.${t}`));return}if(!e||!be())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}X.info(this.$t(`seedance.message.startingTask`)),xe(`seedance`,ve.generate(e,{token:n})).then(()=>{X.success(this.$t(`seedance.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?X.error(this.$t(`seedance.message.usedUp`)):X.error(this.$t(`seedance.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mr(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nr=U(jr,[[`render`,Mr]]);export{Nr as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-B4-3E_IX.js";import{t as x}from"./upload-C_mju0bY.js";import{t as S}from"./tooltip-CNlaAXif.js";import{t as C}from"./alert-CS8lHiIx.js";import{t as w}from"./drawer-C4ZEZcjE.js";import{t as T}from"./input-number-Bf1UhOwE.js";import{t as E}from"./switch-iuxEqYWQ.js";import{n as D}from"./taskDrawerMixin-ClhAKwJ0.js";import{t as O}from"./box-4A5nMAp0.js";import{t as k}from"./clock-OlDMuoMz.js";import{n as A,r as j,t as M}from"./PromptTextarea-B5aekFQe.js";import{t as N}from"./info-DwsLYLPC.js";import{t as P}from"./trash-2-Dj6YE27r.js";import{t as F}from"./triangle-alert-BeWKW_t_.js";import{t as I}from"./upload-CCAqN6qO.js";import{t as L}from"./volume-2-DjuULDOI.js";import{t as R}from"./wand-sparkles-Ccir2Bid.js";import{Xt as ee,Zt as te,_n as z,an as ne,cn as re,dn as ie,en as ae,fn as oe,hn as B,in as se,ln as ce,mn as V,nn as le,on as ue,pn as H,rn as de,sn as fe,tn as pe,un as me}from"./constants-DH0HYPoD.js";import{Bt as he,E as U,Fi as W,Ht as ge,Kt as _e,Tn as ve,Ut as G,Vt as K,Wt as q,ai as J,bi as ye,ci as Y,tn as be,xi as X,yr as xe}from"./index-CkNsjFDs.js";import{t as Se}from"./CopyToClipboard-Bv78R_gE.js";import{t as Z}from"./ImagePreview-DJcJBDkh.js";import{t as Ce}from"./Consumption-NemZQhoJ.js";import{a as Q,n as we,r as Te,t as Ee}from"./pagination-Cc9GtMN-.js";import{t as De}from"./VideoPlayer-BN8Z-YtR.js";import{t as Oe}from"./ApiCodeButton-DYPVIseg.js";import{t as ke}from"./BotPlaceholder-Dcx2KOSZ.js";import{t as Ae}from"./ImageWrapper-meyUJgYO.js";import{n as je,t as Me}from"./AudioPreview-BUCSAFZh.js";var Ne=v({name:`LayoutSeedance`,components:{MagicIcon:R,ElDrawer:w,ElButton:W},mixins:[D]}),Pe={class:`main flex flex-row flex-1`},Fe={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Pe,[e(`div`,Fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ie,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Re=U(Ne,[[`render`,Le],[`__scopeId`,`data-v-ff53dce1`]]),ze=v({name:`SeedancePromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Be(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedance.name.prompt`),info:e.$t(`seedance.description.prompt`),placeholder:e.$t(`seedance.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ve=U(ze,[[`render`,Be]]),He=v({name:`SeedanceModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Q},data(){return{options:[{value:ne,label:this.$t(`seedance.model.seedance20`)},{value:ue,label:this.$t(`seedance.model.seedance20Fast`)},{value:fe,label:this.$t(`seedance.model.seedance20Mini`)},{value:se,label:this.$t(`seedance.model.seedance15pro`)},{value:le,label:this.$t(`seedance.model.seedance10pro`)},{value:de,label:this.$t(`seedance.model.seedance10proFast`)},{value:pe,label:this.$t(`seedance.model.seedance10liteT2v`)},{value:ae,label:this.$t(`seedance.model.seedance10liteI2v`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||=ee}}),Ue={class:`field`},We={class:`label`},Ge={class:`box`},Ke={class:`title font-bold`};function qe(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ue,[e(`div`,We,[e(`div`,Ge,[e(`h2`,Ke,i(t.$t(`seedance.name.model`)),1),a(m,{content:t.$t(`seedance.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=U(He,[[`render`,qe],[`__scopeId`,`data-v-deb4c429`]]),Ye=v({name:`SeedanceDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Q},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},options(){let e=[];this.capability.supportsAutoDuration&&e.push({value:-1,label:`${this.$t(`seedance.placeholder.seed`)} (-1)`});for(let t=this.capability.minDuration;t<=this.capability.maxDuration;t++)e.push({value:t,label:`${t}s`});return e},value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,duration:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=5},methods:{clampValue(){let e=this.value;e!==void 0&&!(e===-1&&this.capability.supportsAutoDuration)&&(e<this.capability.minDuration||e>this.capability.maxDuration)&&(this.value=5)}}}),Xe={class:`field`},Ze={class:`label`},Qe={class:`box`},$e={class:`title font-bold`};function et(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`div`,Qe,[e(`h2`,$e,i(t.$t(`seedance.name.duration`)),1),a(m,{content:t.$t(`seedance.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var tt=U(Ye,[[`render`,et],[`__scopeId`,`data-v-d61cc21b`]]),$={[V]:0,[B]:1,[H]:2,"4k":3},nt=v({name:`SeedanceResolutionSelector`,components:{InfoIcon:Q,ElTooltip:S},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},options(){let e=[{value:V,label:`480p`},{value:B,label:`720p`},{value:H,label:`1080p`},{value:`4k`,label:`4k`}],t=$[this.capability.maxResolution]??$[`1080p`];return e.map(e=>({...e,disabled:$[e.value]>t}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||`720p`},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){let e=this.value,t=this.options.find(t=>t.value===e);(!e||t&&t.disabled)&&(this.value=this.capability.defaultResolution||`720p`)}}}),rt={class:`resolution`},it={class:`header`},at={class:`title font-bold`},ot={class:`items`},st=[`onClick`];function ct(t,r,o,u,d,m){let _=l(`info-icon`),v=l(`el-tooltip`);return g(),s(`div`,rt,[e(`div`,it,[e(`h2`,at,i(t.$t(`seedance.name.resolution`)),1),a(_,{content:t.$t(`seedance.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,ot,[(g(!0),s(c,null,h(t.options,r=>(g(),f(v,{key:r.value,content:t.$t(`seedance.message.resolutionNotSupported`),disabled:!r.disabled,placement:`top`},{default:p(()=>[e(`div`,{class:n([`item`,{active:t.value===r.value,disabled:r.disabled}]),onClick:e=>t.onSelect(r)},i(r.label),11,st)]),_:2},1032,[`content`,`disabled`]))),128))])])}var lt=U(nt,[[`render`,ct],[`__scopeId`,`data-v-db7e8aff`]]),ut=v({name:`SeedanceRatioSelector`,components:{InfoIcon:Q},computed:{options(){return[{value:ce,label:`16:9`,w:32,h:18},{value:ie,label:`9:16`,w:18,h:32},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`1:1`,label:`1:1`,w:24,h:24},{value:me,label:`21:9`,w:34,h:14},{value:oe,label:this.$t(`seedance.ratio.adaptive`),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||=te}}),dt={class:`ratio`},ft={class:`header`},pt={class:`title font-bold`},mt={class:`items`},ht=[`onClick`],gt={class:`preview`},_t={key:1,class:`rect rect-auto`},vt={class:`name`};function yt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(t.$t(`seedance.name.ratio`)),1),a(p,{content:t.$t(`seedance.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,mt,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,gt,[r.w&&r.h?(g(),s(`div`,{key:0,class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)):(g(),s(`div`,_t,`A`))]),e(`div`,vt,i(r.label),1)],10,ht))),128))])])}var bt=U(ut,[[`render`,yt],[`__scopeId`,`data-v-8ddec2dd`]]),xt=v({name:`SeedanceGenerateAudioSwitch`,components:{ElSwitch:E,InfoIcon:Q},computed:{isSupported(){let e=this.$store.state.seedance?.config?.model;return z(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),St={key:0,class:`field`},Ct={class:`label`},wt={class:`box`},Tt={class:`title font-bold`},Et={class:`value`};function Dt(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,St,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(t.$t(`seedance.name.generateAudio`)),1),a(f,{content:t.$t(`seedance.description.generateAudio`),class:`info`},null,8,[`content`])])]),e(`div`,Et,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var Ot=U(xt,[[`render`,Dt],[`__scopeId`,`data-v-df51dfbd`]]),kt=v({name:`SeedanceCameraFixedSwitch`,components:{ElSwitch:E,InfoIcon:Q},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=!1)}}),At={class:`field`},jt={class:`label`},Mt={class:`box`},Nt={class:`title font-bold`},Pt={class:`value`};function Ft(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,At,[e(`div`,jt,[e(`div`,Mt,[e(`h2`,Nt,i(t.$t(`seedance.name.cameraFixed`)),1),a(d,{content:t.$t(`seedance.description.cameraFixed`),class:`info`},null,8,[`content`])])]),e(`div`,Pt,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])}var It=U(kt,[[`render`,Ft],[`__scopeId`,`data-v-ae777d61`]]),Lt=v({name:`SeedanceFirstFrameImage`,components:{UploadIcon:I,ElUpload:x,ElButton:W,InfoIcon:Q,ImagePreview:Z},mixins:[q,G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetFirstFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`first_frame`);e&&t.push({url:e,role:`first_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),Rt={key:0,class:`relative`},zt={class:`flex min-h-8 items-center pr-20`},Bt={class:`flex justify-start items-center`},Vt={class:`text-sm font-bold`},Ht={key:0,class:`required-badge`};function Ut(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsImage?(g(),s(`div`,Rt,[e(`div`,zt,[e(`div`,Bt,[e(`span`,Vt,i(t.$t(`seedance.name.firstFrame`)),1),t.capability.requiresImage?(g(),s(`span`,Ht,i(t.$t(`seedance.name.required`)),1)):o(``,!0),a(h,{content:t.$t(`seedance.description.firstFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var Wt=U(Lt,[[`render`,Ut],[`__scopeId`,`data-v-1170578c`]]),Gt=v({name:`SeedanceLastFrameImage`,components:{UploadIcon:I,ElUpload:x,ElButton:W,ImagePreview:Z,InfoIcon:Q},mixins:[q,G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetLastFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`last_frame`);e&&t.push({url:e,role:`last_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),Kt={key:0,class:`relative`},qt={class:`flex min-h-8 items-center pr-20`},Jt={class:`flex justify-start items-center`},Yt={class:`text-sm font-bold`};function Xt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsLastFrame?(g(),s(`div`,Kt,[e(`div`,qt,[e(`div`,Jt,[e(`span`,Yt,i(t.$t(`seedance.name.lastFrame`)),1),a(h,{content:t.$t(`seedance.description.lastFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var Zt=U(Gt,[[`render`,Xt],[`__scopeId`,`data-v-584f6ece`]]),Qt=v({name:`SeedanceReferenceImage`,components:{UploadIcon:I,ElUpload:x,ElButton:W,InfoIcon:Q,ImagePreview:Z},mixins:[q,G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceImage"(e){e||(this.fileList=[],this.onSetReferenceImageUrls())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetReferenceImageUrls(){let e=(this.urls||[]).filter(Boolean),t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`reference_image`);e.forEach(e=>t.push({url:e,role:`reference_image`})),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetReferenceImageUrls()},async onRemove(){this.onSetReferenceImageUrls()}}}),$t={key:0,class:`relative`},en={class:`flex min-h-8 items-center pr-20`},tn={class:`flex justify-start items-center`},nn={class:`text-sm font-bold`};function rn(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsReferenceImage?(g(),s(`div`,$t,[e(`div`,en,[e(`div`,tn,[e(`span`,nn,i(t.$t(`seedance.name.referenceImage`)),1),a(h,{content:t.$t(`seedance.description.referenceImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var an=U(Qt,[[`render`,rn],[`__scopeId`,`data-v-152c413d`]]),on=v({name:`SeedanceReferenceAudio`,components:{UploadIcon:I,ElUpload:x,ElButton:W,InfoIcon:Q},mixins:[G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceAudio"(e){e||(this.fileList=[],this.onSetReferenceAudios())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetReferenceAudios(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,audios:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceAudios()},async onRemove(){this.onSetReferenceAudios()}}}),sn={key:0,class:`relative`},cn={class:`flex min-h-8 items-center pr-20`},ln={class:`flex justify-start items-center`},un={class:`text-sm font-bold`};function dn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceAudio?(g(),s(`div`,sn,[e(`div`,cn,[e(`div`,ln,[e(`span`,un,i(t.$t(`seedance.name.referenceAudio`)),1),a(m,{content:t.$t(`seedance.description.referenceAudio`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp3,.wav,.m4a,.aac,.ogg,.flac`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var fn=U(on,[[`render`,dn],[`__scopeId`,`data-v-0814e508`]]),pn=v({name:`SeedanceReferenceVideo`,components:{UploadIcon:I,ElUpload:x,ElButton:W,InfoIcon:Q},mixins:[G,K],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return z(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceVideo"(e){e||(this.fileList=[],this.onSetReferenceVideos())}},methods:{onExceed(){X.warning(this.$t(`seedance.message.uploadExceed`))},onError(){X.error(this.$t(`seedance.message.uploadError`))},onSetReferenceVideos(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,videos:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceVideos()},async onRemove(){this.onSetReferenceVideos()}}}),mn={key:0,class:`relative`},hn={class:`flex min-h-8 items-center pr-20`},gn={class:`flex justify-start items-center`},_n={class:`text-sm font-bold`};function vn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceVideo?(g(),s(`div`,mn,[e(`div`,hn,[e(`div`,gn,[e(`span`,_n,i(t.$t(`seedance.name.referenceVideo`)),1),a(m,{content:t.$t(`seedance.description.referenceVideo`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp4,.mov,.webm,.mkv,.avi`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var yn=U(pn,[[`render`,vn],[`__scopeId`,`data-v-fec4fcd6`]]),bn=v({name:`SeedanceReturnLastFrameSwitch`,components:{ElSwitch:E,InfoIcon:Q},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return z(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),xn={key:0,class:`field`},Sn={class:`label`},Cn={class:`box`},wn={class:`title font-bold`},Tn={class:`value`};function En(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,xn,[e(`div`,Sn,[e(`div`,Cn,[e(`h2`,wn,i(t.$t(`seedance.name.returnLastFrame`)),1),a(f,{content:t.$t(`seedance.description.returnLastFrame`),class:`info`},null,8,[`content`])])]),e(`div`,Tn,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var Dn=U(bn,[[`render`,En],[`__scopeId`,`data-v-edea5451`]]),On=v({name:`SeedanceSeedInput`,components:{ElInputNumber:T,InfoIcon:Q},computed:{value:{get(){let e=this.$store.state.seedance?.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.$store.state.seedance?.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedance/setConfig`,t)}}}}),kn={class:`field`},An={class:`label`},jn={class:`box`},Mn={class:`title font-bold`},Nn={class:`value`};function Pn(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`);return g(),s(`div`,kn,[e(`div`,An,[e(`div`,jn,[e(`h2`,Mn,i(t.$t(`seedance.name.seed`)),1),a(d,{content:t.$t(`seedance.description.seed`),class:`info`},null,8,[`content`])])]),e(`div`,Nn,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])}var Fn=v({name:`SeedanceConfigPanel`,components:{MagicIcon:R,ElButton:W,PromptInput:Ve,ModelSelector:Je,DurationSelector:tt,ResolutionSelector:lt,RatioSelector:bt,GenerateAudioSwitch:Ot,CameraFixedSwitch:It,ReturnLastFrameSwitch:Dn,SeedInput:U(On,[[`render`,Pn],[`__scopeId`,`data-v-685a9869`]]),FirstFrameImage:Wt,LastFrameImage:Zt,ReferenceImage:an,ReferenceAudio:fn,ReferenceVideo:yn,Consumption:Ce},emits:[`generate`],computed:{config(){return this.$store.state.seedance?.config},consumption(){return _e(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),In={class:`flex flex-col h-full`},Ln={class:`flex-1 overflow-y-auto p-5`},Rn={class:`flex flex-col items-center justify-center px-5 pb-5`};function zn(t,n,o,c,u,d){let f=l(`prompt-input`),m=l(`model-selector`),h=l(`ratio-selector`),_=l(`resolution-selector`),v=l(`duration-selector`),y=l(`generate-audio-switch`),b=l(`camera-fixed-switch`),x=l(`return-last-frame-switch`),S=l(`seed-input`),C=l(`first-frame-image`),w=l(`last-frame-image`),T=l(`reference-image`),E=l(`reference-audio`),D=l(`reference-video`),O=l(`consumption`),k=l(`magic-icon`),A=l(`el-button`);return g(),s(`div`,In,[e(`div`,Ln,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),a(w,{class:`mb-4`}),a(T,{class:`mb-4`}),a(E,{class:`mb-4`}),a(D,{class:`mb-4`})]),e(`div`,Rn,[a(O,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(A,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(k,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedance.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Bn=U(Fn,[[`render`,zn]]),Vn=v({name:`SeedanceTaskPreview`,components:{DeleteIcon:P,ApplicationIcon:O,ChannelIcon:j,FullscreenIcon:A,InfoIcon:N,MagicIcon:R,TimeIcon:k,VolumeIcon:L,WarningIcon:F,CopyToClipboard:Se,ElAlert:C,VideoPlayer:De,ElTooltip:S,ElButton:W,ImageWrapper:Ae,ImagePreview:Z,AudioPreview:Me,VideoPreview:je,ApiCodeButton:Oe},props:{modelValue:{type:Object,required:!0}},computed:{video(){return this.modelValue?.response?.data},apiCodeBody(){let e=this.modelValue?.request;if(!e)return e;let{service_tier:t,...n}=e;return n},promptText(){let e=this.modelValue?.request;if(e?.prompt)return e.prompt;let t=e?.content?.find(e=>e?.type===`text`&&e?.text);return t?.text?t.text:this.video?.prompt},referenceImages(){let e=this.collectImages();if(e.length===0)return[];let t=[],n=e.find(e=>e?.role===`first_frame`);n?.url&&t.push({url:n.url,name:`first-frame`});let r=e.find(e=>e?.role===`last_frame`);return r?.url&&t.push({url:r.url,name:`last-frame`}),e.forEach((e,n)=>{e?.url&&e.role!==`first_frame`&&e.role!==`last_frame`&&t.push({url:e.url,name:e.role||`image-${n}`})}),t},referenceAudios(){let e=this.modelValue?.request,t=(e?.audios??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`audio_url`&&e?.audio_url?.url&&t.push(e.audio_url.url)}),t},referenceVideos(){let e=this.modelValue?.request,t=(e?.videos??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`video_url`&&e?.video_url?.url&&t.push(e.video_url.url)}),t}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await ye.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`seedance/deleteTask`,{id:e}),X.success(this.$t(`common.message.deleteTaskSuccess`))}catch{X.error(this.$t(`common.message.deleteTaskFailed`))}}},collectImages(){let e=this.modelValue?.request,t=Array.isArray(e?.images)?[...e.images]:[];return(e?.content??[]).forEach(e=>{e?.type===`image_url`&&e?.image_url?.url&&t.push({url:e.image_url.url,role:e.role})}),t},onDownload(e){window.open(e,`_blank`)}}}),Hn={class:`preview`},Un={class:`left`},Wn={class:`main`},Gn={class:`bot`},Kn={class:`datetime`},qn=[`aria-label`],Jn={class:`info`},Yn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Xn={key:1,class:`prompt mt-2`},Zn={key:0},Qn={key:1},$n={key:0,class:n({content:!0})},er={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tr={key:1,class:n({content:!0})},nr={key:0,class:`mb-4`},rr={key:1,class:`mb-4`},ir={key:2,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},ar={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},or={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sr={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cr={key:0},lr={key:1},ur={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fr={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pr={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},mr={key:2,class:n({content:!0})},hr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_r={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vr={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yr={key:3,class:n({content:!0})},br={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Sr(n,u,d,m,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`audio-preview`),w=l(`video-preview`),T=l(`time-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`el-alert`),k=l(`video-player`),A=l(`image-wrapper`),j=l(`el-button`),M=l(`api-code-button`),N=l(`application-icon`),P=l(`fullscreen-icon`),F=l(`volume-icon`),I=l(`channel-icon`),L=l(`warning-icon`),R=l(`info-icon`);return g(),s(`div`,Hn,[e(`div`,Un,[a(y,{capability:`seedance`,part:`avatar`,class:`avatar`})]),e(`div`,Wn,[e(`div`,Gn,[a(y,{capability:`seedance`,part:`name`}),e(`span`,Kn,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,qn)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Jn,[n.referenceImages.length>0||n.referenceAudios.length>0||n.referenceVideos.length>0?(g(),s(`div`,Yn,[(g(!0),s(c,null,h(n.referenceImages,(e,t)=>(g(),f(S,{key:`image-${t}`,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceAudios,(e,t)=>(g(),f(C,{key:`audio-${t}`,url:e,name:`audio-${t+1}`},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceVideos,(e,t)=>(g(),f(w,{key:`video-${t}`,url:e,name:`video-${t+1}`},null,8,[`url`,`name`]))),128))])):o(``,!0),n.promptText?(g(),s(`p`,Xn,[r(i(n.promptText)+` `,1),n.modelValue?.response?n.video?.status===`processing`||n.video?.status===`pending`?(g(),s(`span`,Qn,` - (`+i(n.$t(`seedance.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,Zn,` - (`+i(n.$t(`seedance.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,tr,[n.video?.video_url?(g(),s(`div`,nr,[a(k,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.last_frame_url?(g(),s(`div`,rr,[a(A,{src:n.video?.last_frame_url,"raw-src":n.video?.last_frame_url},null,8,[`src`,`raw-src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,ir,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`seedance.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(j,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`seedance.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(M,{path:`/seedance/videos`,body:n.apiCodeBody},null,8,[`body`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,ar,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,or,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.video?.resolution?(g(),s(`p`,sr,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.resolution`))+`: `+i(n.video?.resolution)+` `,1),n.video?.ratio?(g(),s(`span`,cr,` · `+i(n.video?.ratio),1)):o(``,!0),n.video?.framespersecond?(g(),s(`span`,lr,` · `+i(n.video?.framespersecond)+`fps`,1)):o(``,!0)])):o(``,!0),n.modelValue?.request?.generate_audio?(g(),s(`p`,ur,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.generateAudio`))+`: `+i(n.$t(`seedance.button.on`)),1)])):o(``,!0),e(`p`,dr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,fr,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,pr,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,mr,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.failure`)),1)]),default:p(()=>[e(`p`,hr,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,gr,[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(g(),s(`p`,_r,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vr,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yr,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.status`)),1)]),default:p(()=>[e(`p`,br,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,xr,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,$n,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.status.pending`)),1)]),default:p(()=>[e(`p`,er,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Cr=v({name:`SeedanceRecentPanel`,components:{TaskPreview:U(Vn,[[`render`,Sr],[`__scopeId`,`data-v-87665265`]]),BotPlaceholder:ke,NoTasks:Te,ScrollList:we},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),wr={key:0},Tr={key:2,class:`w-full h-full flex items-center justify-center`};function Er(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,wr,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Tr,[a(v)])):o(``,!0)],64)}var Dr=U(Cr,[[`render`,Er]]),Or=new Set(Object.keys(re)),kr=e=>Array.isArray(e)?e.filter(e=>!!e?.url):[];function Ar(e){let t={...e||{}};if(typeof t.prompt==`string`&&(t.prompt=t.prompt.trim(),t.prompt||delete t.prompt),t.model&&!Or.has(t.model))return{reject:`modelUnsupported`};let n=z(t.model);t.images=kr(t.images);let r=t.images.some(e=>e.role===`first_frame`),i=t.images.some(e=>e.role===`last_frame`);!r&&i&&(t.images=t.images.map(e=>e.role===`last_frame`?{...e,role:`first_frame`}:e));let a=t.images.length>0;if(a||delete t.images,delete t.service_tier,!n.acceptsImage&&a)return{reject:`modelRejectsImage`};if(!n.acceptsAudio&&t.generate_audio&&(t.generate_audio=!1),!n.acceptsReturnLastFrame&&t.return_last_frame&&(t.return_last_frame=!1),!n.acceptsLastFrame&&a&&(t.images=t.images.filter(e=>e.role!==`last_frame`),a=t.images.length>0,a||delete t.images),n.acceptsReferenceAudio&&Array.isArray(t.audios)&&(t.audios=t.audios.filter(e=>e?.url)),(!n.acceptsReferenceAudio||!Array.isArray(t.audios)||t.audios.length===0)&&delete t.audios,n.acceptsReferenceVideo&&Array.isArray(t.videos)&&(t.videos=t.videos.filter(e=>e?.url)),(!n.acceptsReferenceVideo||!Array.isArray(t.videos)||t.videos.length===0)&&delete t.videos,!n.acceptsReferenceImage&&Array.isArray(t.images)&&(t.images=t.images.filter(e=>e.role!==`reference_image`),t.images.length===0&&delete t.images),a=Array.isArray(t.images)&&t.images.length>0,n.requiresImage&&!a||!n.acceptsText&&!a)return{reject:`modelRequiresImage`};let o=Array.isArray(t.videos)&&t.videos.length>0;return Array.isArray(t.audios)&&t.audios.length>0&&!a&&!o?{reject:`audioRequiresReference`}:{request:{...t,async:!0}}}var jr=v({name:`SeedanceIndex`,components:{ConfigPanel:Bn,Layout:Re,RecentPanel:Dr},mixins:[ge],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===J.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===J.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Ee({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`seedance/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`seedance/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!he(this.uploadTracker,e=>this.$t(e),e=>X.warning(e)))return;let{request:e,reject:t}=Ar(this.config);if(t){X.warning(this.$t(`seedance.message.${t}`));return}if(!e||!be())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}X.info(this.$t(`seedance.message.startingTask`)),xe(`seedance`,ve.generate(e,{token:n})).then(()=>{X.success(this.$t(`seedance.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?X.error(this.$t(`seedance.message.usedUp`)):X.error(this.$t(`seedance.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mr(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nr=U(jr,[[`render`,Mr]]);export{Nr as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,F as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,it as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-Bkog-eh1.js";import{n as _,t as v}from"./collapse-DSi9PYej.js";import{t as y}from"./drawer-DcCmpV8B.js";import{t as b}from"./globe-CUgki-Cw.js";import{t as x}from"./search-F3I8Qt-W.js";import"./constants-CBo5RPDe.js";import{E as S,Fi as C,Kt as w,Wi as T,ai as E,tn as ee,xi as D,yi as te}from"./index-BCOh_cbg.js";import{t as O}from"./Consumption-Bii9nr5g.js";var k=te(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),A=m({name:`LayoutSerp`,components:{SearchIcon:x,ElDrawer:y,ElButton:C},data(){return{drawer:!1}}}),j={class:`main flex flex-row flex-1`},M={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},N={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function P(t,n,r,a,s,u){let f=c(`search-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,j,[e(`div`,M,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,N,[l(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var F=S(A,[[`render`,P],[`__scopeId`,`data-v-fc67ba0b`]]),I=m({name:`QueryInput`,components:{ElInput:T},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),L={class:`field`},R={class:`box`},z={class:`title font-bold`};function B(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,L,[e(`div`,R,[e(`h2`,z,r(t.$t(`serp.name.query`)),1)]),i(d,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var V=S(I,[[`render`,B],[`__scopeId`,`data-v-3582b195`]]),H=m({name:`TypeSelector`,components:{ElSelect:h,ElOption:g},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),U={class:`field`},W={class:`title font-bold`};function G(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,U,[e(`h2`,W,r(t.$t(`serp.name.type`)),1),i(m,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:d(()=>[i(f,{value:`search`,label:t.$t(`serp.type.search`)},null,8,[`label`]),i(f,{value:`images`,label:t.$t(`serp.type.images`)},null,8,[`label`]),i(f,{value:`news`,label:t.$t(`serp.type.news`)},null,8,[`label`]),i(f,{value:`videos`,label:t.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var K=S(H,[[`render`,G],[`__scopeId`,`data-v-2913fb62`]]),q=m({name:`CountryInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),J={class:`field`},Y={class:`title font-bold`};function X(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,J,[e(`h2`,Y,r(t.$t(`serp.name.country`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var Z=S(q,[[`render`,X],[`__scopeId`,`data-v-f0672cc6`]]),Q=m({name:`LanguageInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),ne={class:`field`},re={class:`title font-bold`};function ie(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ne,[e(`h2`,re,r(t.$t(`serp.name.language`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var ae=m({name:`SearchPanel`,components:{SearchIcon:x,ElButton:C,QueryInput:V,TypeSelector:K,CountryInput:Z,LanguageInput:S(Q,[[`render`,ie],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:O},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return w(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===E.Request}},methods:{onSearch(){this.$emit(`search`)}}}),oe={class:`flex flex-col h-full`},se={class:`flex-1 overflow-y-auto p-5`},ce={class:`flex flex-col items-center justify-center px-5 pb-5`};function le(t,a,s,l,u,f){let m=c(`query-input`),h=c(`type-selector`),g=c(`country-input`),_=c(`language-input`),v=c(`consumption`),y=c(`search-icon`),b=c(`el-button`);return p(),o(`div`,oe,[e(`div`,se,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),e(`div`,ce,[i(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(y,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var ue=S(ae,[[`render`,le]]),de=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),fe={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},pe={class:`flex flex-row gap-4`},me=[`src`,`alt`],he={class:`flex-1 min-w-0`},ge={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},_e={class:`text-xl font-bold mb-1.5`},ve={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},ye=[`href`],be={key:2,class:`text-sm`},xe={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},Se={class:`text-[var(--el-text-color-regular)]`};function Ce(t,i,c,l,u,d){return p(),o(`div`,fe,[e(`div`,pe,[t.data.image_url?(p(),o(`img`,{key:0,src:t.data.image_url,alt:t.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,me)):a(``,!0),e(`div`,he,[t.data.type?(p(),o(`div`,ge,r(t.data.type),1)):a(``,!0),e(`h3`,_e,r(t.data.title),1),t.data.description?(p(),o(`p`,ve,[n(r(t.data.description)+` `,1),t.data.description_link?(p(),o(`a`,{key:0,href:t.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},r(t.data.description_source||`Source`),9,ye)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,be,[(p(!0),o(s,null,f(t.data.attributes,(t,n)=>(p(),o(`div`,{key:n,class:`flex gap-2 mb-1 py-0.5`},[e(`span`,xe,r(n)+`:`,1),e(`span`,Se,r(t),1)]))),128))])):a(``,!0)])])])}var we=S(de,[[`render`,Ce]]),Te=m({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ee={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},De={key:0,class:`flex items-center gap-2 mb-1.5`},Oe=[`src`,`alt`],ke={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ae={class:`text-xs text-[var(--el-text-color-disabled)]`},je=[`href`],Me={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ne={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Pe={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Fe=[`href`];function Ie(t,n,i,c,l,u){return p(),o(`div`,Ee,[t.displayUrl?(p(),o(`div`,De,[e(`img`,{src:t.faviconUrl,alt:t.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:n[0]||=(...e)=>t.onFaviconError&&t.onFaviconError(...e)},null,40,Oe),e(`span`,ke,r(t.hostname),1),e(`span`,Ae,r(t.pathname),1)])):a(``,!0),e(`a`,{href:t.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},r(t.data.title),9,je),t.data.date?(p(),o(`div`,Me,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Ne,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,Pe,[(p(!0),o(s,null,f(t.data.sitelinks,(e,t)=>(p(),o(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},r(e.title),9,Fe))),128))])):a(``,!0)])}var Le=S(Te,[[`render`,Ie]]),Re=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),ze={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Be={class:`text-base font-bold mb-3`},Ve={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},He=[`href`],Ue=[`src`,`alt`],We={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ge={class:`text-xs text-white line-clamp-2`};function Ke(t,n,i,c,l,u){return p(),o(`div`,ze,[e(`h3`,Be,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Ve,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Ue)):a(``,!0),e(`div`,We,[e(`span`,Ge,r(t.title),1)])],8,He))),128))])])}var qe=S(Re,[[`render`,Ke]]),Je=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ye={class:`text-base font-bold mb-3`},Xe={class:`space-y-4`},Ze=[`href`],Qe={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},$e=[`src`,`alt`],et={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},tt={class:`flex-1 min-w-0`},nt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},rt={class:`text-xs text-gray-400 mt-1`},it={key:0},at={key:1},ot={key:2},st={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function ct(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,Ye,r(t.$t(`serp.name.videoResults`)),1),e(`div`,Xe,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,Qe,[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,$e)):a(``,!0),t.duration?(p(),o(`div`,et,r(t.duration),1)):a(``,!0)]),e(`div`,tt,[e(`div`,nt,r(t.title),1),e(`div`,rt,[t.source?(p(),o(`span`,it,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,at,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,ot,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,st,r(t.snippet),1)):a(``,!0)])],8,Ze))),128))])])}var lt=S(Je,[[`render`,ct]]),ut=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),dt={class:`text-base font-bold mb-3`},ft={class:`space-y-4`},pt=[`href`],mt={class:`flex-1 min-w-0`},ht={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},gt={class:`text-xs text-gray-400 mt-1`},_t={key:0},vt={key:1},yt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},bt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},xt=[`src`,`alt`];function St(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,dt,r(t.$t(`serp.name.newsResults`)),1),e(`div`,ft,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,mt,[e(`div`,ht,r(t.title),1),e(`div`,gt,[t.source?(p(),o(`span`,_t,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,vt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,yt,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,bt,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,xt)])):a(``,!0)],8,pt))),128))])])}var Ct=S(ut,[[`render`,St]]),wt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:v,ElCollapseItem:_},props:{data:{type:Array,required:!0}}}),Tt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Et={class:`text-base font-bold mb-3`},Dt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Ot=[`href`];function kt(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,Tt,[e(`h3`,Et,r(t.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:d(()=>[(p(!0),o(s,null,f(t.data,(e,t)=>(p(),u(_,{key:t,title:e.question||e.title||``},{default:d(()=>[e.snippet?(p(),o(`p`,Dt,r(e.snippet),1)):a(``,!0),e.link?(p(),o(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},r(e.title||e.link),9,Ot)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var At=S(wt,[[`render`,kt]]),jt=m({name:`RelatedSearches`,components:{SearchIcon:x},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Mt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Nt={class:`text-base font-bold mb-3`},$={class:`flex flex-wrap gap-2`},Pt=[`onClick`];function Ft(t,a,l,u,d,m){let h=c(`search-icon`);return p(),o(`div`,Mt,[e(`h3`,Nt,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,$,[(p(!0),o(s,null,f(t.data,(e,a)=>(p(),o(`button`,{key:a,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>t.onSearch(e.query)},[i(h,{class:`text-xs opacity-50`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.query),1)],8,Pt))),128))])])}var It=m({name:`ResultPanel`,components:{GlobeIcon:b,HelpIcon:k,KnowledgeGraph:we,OrganicResult:Le,ImageResults:qe,VideoResults:lt,NewsResults:Ct,PeopleAlsoAsk:At,RelatedSearches:S(jt,[[`render`,Ft]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===E.Request},noResults(){return this.$store.state.serp?.status?.search===E.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Lt={class:`h-full overflow-y-auto p-6`},Rt={key:0,class:`max-w-3xl mx-auto py-8`},zt={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`},Vt={key:2,class:`max-w-3xl mx-auto`},Ht={key:1,class:`mb-6`},Ut={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Wt={class:`text-base`};function Gt(n,l,d,m,h,g){let _=c(`help-icon`),v=c(`knowledge-graph`),y=c(`organic-result`),b=c(`image-results`),x=c(`video-results`),S=c(`news-results`),C=c(`people-also-ask`),w=c(`related-searches`),T=c(`globe-icon`);return p(),o(`div`,Lt,[n.searching?(p(),o(`div`,Rt,[(p(),o(s,null,f(4,n=>e(`div`,{key:n,class:`mb-6 animate-pulse`},[...l[0]||=[t(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):n.noResults?(p(),o(`div`,zt,[i(_,{class:`text-5xl mb-4 opacity-40`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Bt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Vt,[n.results.knowledge_graph?.title?(p(),u(v,{key:0,data:n.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.organic?.length?(p(),o(`div`,Ht,[(p(!0),o(s,null,f(n.results.organic,(e,t)=>(p(),u(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),n.results.images?.length?(p(),u(b,{key:2,data:n.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.videos?.length?(p(),u(x,{key:3,data:n.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.news?.length?(p(),u(S,{key:4,data:n.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.people_also_ask?.length?(p(),u(C,{key:5,data:n.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.related_searches?.length?(p(),u(w,{key:6,data:n.results.related_searches,class:`mb-6`,onSearch:n.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(p(),o(`div`,Ut,[i(T,{class:`text-5xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Wt,r(n.$t(`serp.description.query`)),1)]))])}var Kt=m({name:`SerpIndex`,components:{Layout:F,SearchPanel:ue,ResultPanel:S(It,[[`render`,Gt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(ee()&&this.$store.state.serp?.config?.query){D.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),D.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`serp.message.usedUp`)):D.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function qt(e,t,n,r,a,o){let s=c(`search-panel`),l=c(`result-panel`),f=c(`layout`);return p(),u(f,null,{config:d(()=>[i(s,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:d(()=>[i(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Jt=S(Kt,[[`render`,qt]]);export{Jt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,F as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,it as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-B4-3E_IX.js";import{n as _,t as v}from"./collapse-BYLGD9GS.js";import{t as y}from"./drawer-C4ZEZcjE.js";import{t as b}from"./globe-C1GyMuc2.js";import{t as x}from"./search-DPxaKvI0.js";import"./constants-DH0HYPoD.js";import{E as S,Fi as C,Kt as w,Wi as T,ai as E,tn as ee,xi as D,yi as te}from"./index-CkNsjFDs.js";import{t as O}from"./Consumption-NemZQhoJ.js";var k=te(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),A=m({name:`LayoutSerp`,components:{SearchIcon:x,ElDrawer:y,ElButton:C},data(){return{drawer:!1}}}),j={class:`main flex flex-row flex-1`},M={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},N={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function P(t,n,r,a,s,u){let f=c(`search-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,j,[e(`div`,M,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,N,[l(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var F=S(A,[[`render`,P],[`__scopeId`,`data-v-fc67ba0b`]]),I=m({name:`QueryInput`,components:{ElInput:T},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),L={class:`field`},R={class:`box`},z={class:`title font-bold`};function B(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,L,[e(`div`,R,[e(`h2`,z,r(t.$t(`serp.name.query`)),1)]),i(d,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var V=S(I,[[`render`,B],[`__scopeId`,`data-v-3582b195`]]),H=m({name:`TypeSelector`,components:{ElSelect:h,ElOption:g},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),U={class:`field`},W={class:`title font-bold`};function G(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,U,[e(`h2`,W,r(t.$t(`serp.name.type`)),1),i(m,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:d(()=>[i(f,{value:`search`,label:t.$t(`serp.type.search`)},null,8,[`label`]),i(f,{value:`images`,label:t.$t(`serp.type.images`)},null,8,[`label`]),i(f,{value:`news`,label:t.$t(`serp.type.news`)},null,8,[`label`]),i(f,{value:`videos`,label:t.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var K=S(H,[[`render`,G],[`__scopeId`,`data-v-2913fb62`]]),q=m({name:`CountryInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),J={class:`field`},Y={class:`title font-bold`};function X(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,J,[e(`h2`,Y,r(t.$t(`serp.name.country`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var Z=S(q,[[`render`,X],[`__scopeId`,`data-v-f0672cc6`]]),Q=m({name:`LanguageInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),ne={class:`field`},re={class:`title font-bold`};function ie(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ne,[e(`h2`,re,r(t.$t(`serp.name.language`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var ae=m({name:`SearchPanel`,components:{SearchIcon:x,ElButton:C,QueryInput:V,TypeSelector:K,CountryInput:Z,LanguageInput:S(Q,[[`render`,ie],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:O},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return w(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===E.Request}},methods:{onSearch(){this.$emit(`search`)}}}),oe={class:`flex flex-col h-full`},se={class:`flex-1 overflow-y-auto p-5`},ce={class:`flex flex-col items-center justify-center px-5 pb-5`};function le(t,a,s,l,u,f){let m=c(`query-input`),h=c(`type-selector`),g=c(`country-input`),_=c(`language-input`),v=c(`consumption`),y=c(`search-icon`),b=c(`el-button`);return p(),o(`div`,oe,[e(`div`,se,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),e(`div`,ce,[i(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(y,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var ue=S(ae,[[`render`,le]]),de=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),fe={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},pe={class:`flex flex-row gap-4`},me=[`src`,`alt`],he={class:`flex-1 min-w-0`},ge={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},_e={class:`text-xl font-bold mb-1.5`},ve={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},ye=[`href`],be={key:2,class:`text-sm`},xe={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},Se={class:`text-[var(--el-text-color-regular)]`};function Ce(t,i,c,l,u,d){return p(),o(`div`,fe,[e(`div`,pe,[t.data.image_url?(p(),o(`img`,{key:0,src:t.data.image_url,alt:t.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,me)):a(``,!0),e(`div`,he,[t.data.type?(p(),o(`div`,ge,r(t.data.type),1)):a(``,!0),e(`h3`,_e,r(t.data.title),1),t.data.description?(p(),o(`p`,ve,[n(r(t.data.description)+` `,1),t.data.description_link?(p(),o(`a`,{key:0,href:t.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},r(t.data.description_source||`Source`),9,ye)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,be,[(p(!0),o(s,null,f(t.data.attributes,(t,n)=>(p(),o(`div`,{key:n,class:`flex gap-2 mb-1 py-0.5`},[e(`span`,xe,r(n)+`:`,1),e(`span`,Se,r(t),1)]))),128))])):a(``,!0)])])])}var we=S(de,[[`render`,Ce]]),Te=m({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ee={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},De={key:0,class:`flex items-center gap-2 mb-1.5`},Oe=[`src`,`alt`],ke={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ae={class:`text-xs text-[var(--el-text-color-disabled)]`},je=[`href`],Me={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ne={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Pe={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Fe=[`href`];function Ie(t,n,i,c,l,u){return p(),o(`div`,Ee,[t.displayUrl?(p(),o(`div`,De,[e(`img`,{src:t.faviconUrl,alt:t.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:n[0]||=(...e)=>t.onFaviconError&&t.onFaviconError(...e)},null,40,Oe),e(`span`,ke,r(t.hostname),1),e(`span`,Ae,r(t.pathname),1)])):a(``,!0),e(`a`,{href:t.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},r(t.data.title),9,je),t.data.date?(p(),o(`div`,Me,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Ne,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,Pe,[(p(!0),o(s,null,f(t.data.sitelinks,(e,t)=>(p(),o(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},r(e.title),9,Fe))),128))])):a(``,!0)])}var Le=S(Te,[[`render`,Ie]]),Re=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),ze={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Be={class:`text-base font-bold mb-3`},Ve={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},He=[`href`],Ue=[`src`,`alt`],We={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ge={class:`text-xs text-white line-clamp-2`};function Ke(t,n,i,c,l,u){return p(),o(`div`,ze,[e(`h3`,Be,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Ve,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Ue)):a(``,!0),e(`div`,We,[e(`span`,Ge,r(t.title),1)])],8,He))),128))])])}var qe=S(Re,[[`render`,Ke]]),Je=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ye={class:`text-base font-bold mb-3`},Xe={class:`space-y-4`},Ze=[`href`],Qe={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},$e=[`src`,`alt`],et={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},tt={class:`flex-1 min-w-0`},nt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},rt={class:`text-xs text-gray-400 mt-1`},it={key:0},at={key:1},ot={key:2},st={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function ct(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,Ye,r(t.$t(`serp.name.videoResults`)),1),e(`div`,Xe,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,Qe,[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,$e)):a(``,!0),t.duration?(p(),o(`div`,et,r(t.duration),1)):a(``,!0)]),e(`div`,tt,[e(`div`,nt,r(t.title),1),e(`div`,rt,[t.source?(p(),o(`span`,it,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,at,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,ot,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,st,r(t.snippet),1)):a(``,!0)])],8,Ze))),128))])])}var lt=S(Je,[[`render`,ct]]),ut=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),dt={class:`text-base font-bold mb-3`},ft={class:`space-y-4`},pt=[`href`],mt={class:`flex-1 min-w-0`},ht={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},gt={class:`text-xs text-gray-400 mt-1`},_t={key:0},vt={key:1},yt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},bt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},xt=[`src`,`alt`];function St(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,dt,r(t.$t(`serp.name.newsResults`)),1),e(`div`,ft,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,mt,[e(`div`,ht,r(t.title),1),e(`div`,gt,[t.source?(p(),o(`span`,_t,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,vt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,yt,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,bt,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,xt)])):a(``,!0)],8,pt))),128))])])}var Ct=S(ut,[[`render`,St]]),wt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:v,ElCollapseItem:_},props:{data:{type:Array,required:!0}}}),Tt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Et={class:`text-base font-bold mb-3`},Dt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Ot=[`href`];function kt(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,Tt,[e(`h3`,Et,r(t.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:d(()=>[(p(!0),o(s,null,f(t.data,(e,t)=>(p(),u(_,{key:t,title:e.question||e.title||``},{default:d(()=>[e.snippet?(p(),o(`p`,Dt,r(e.snippet),1)):a(``,!0),e.link?(p(),o(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},r(e.title||e.link),9,Ot)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var At=S(wt,[[`render`,kt]]),jt=m({name:`RelatedSearches`,components:{SearchIcon:x},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Mt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Nt={class:`text-base font-bold mb-3`},$={class:`flex flex-wrap gap-2`},Pt=[`onClick`];function Ft(t,a,l,u,d,m){let h=c(`search-icon`);return p(),o(`div`,Mt,[e(`h3`,Nt,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,$,[(p(!0),o(s,null,f(t.data,(e,a)=>(p(),o(`button`,{key:a,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>t.onSearch(e.query)},[i(h,{class:`text-xs opacity-50`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.query),1)],8,Pt))),128))])])}var It=m({name:`ResultPanel`,components:{GlobeIcon:b,HelpIcon:k,KnowledgeGraph:we,OrganicResult:Le,ImageResults:qe,VideoResults:lt,NewsResults:Ct,PeopleAlsoAsk:At,RelatedSearches:S(jt,[[`render`,Ft]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===E.Request},noResults(){return this.$store.state.serp?.status?.search===E.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Lt={class:`h-full overflow-y-auto p-6`},Rt={key:0,class:`max-w-3xl mx-auto py-8`},zt={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`},Vt={key:2,class:`max-w-3xl mx-auto`},Ht={key:1,class:`mb-6`},Ut={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Wt={class:`text-base`};function Gt(n,l,d,m,h,g){let _=c(`help-icon`),v=c(`knowledge-graph`),y=c(`organic-result`),b=c(`image-results`),x=c(`video-results`),S=c(`news-results`),C=c(`people-also-ask`),w=c(`related-searches`),T=c(`globe-icon`);return p(),o(`div`,Lt,[n.searching?(p(),o(`div`,Rt,[(p(),o(s,null,f(4,n=>e(`div`,{key:n,class:`mb-6 animate-pulse`},[...l[0]||=[t(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):n.noResults?(p(),o(`div`,zt,[i(_,{class:`text-5xl mb-4 opacity-40`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Bt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Vt,[n.results.knowledge_graph?.title?(p(),u(v,{key:0,data:n.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.organic?.length?(p(),o(`div`,Ht,[(p(!0),o(s,null,f(n.results.organic,(e,t)=>(p(),u(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),n.results.images?.length?(p(),u(b,{key:2,data:n.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.videos?.length?(p(),u(x,{key:3,data:n.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.news?.length?(p(),u(S,{key:4,data:n.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.people_also_ask?.length?(p(),u(C,{key:5,data:n.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.related_searches?.length?(p(),u(w,{key:6,data:n.results.related_searches,class:`mb-6`,onSearch:n.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(p(),o(`div`,Ut,[i(T,{class:`text-5xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Wt,r(n.$t(`serp.description.query`)),1)]))])}var Kt=m({name:`SerpIndex`,components:{Layout:F,SearchPanel:ue,ResultPanel:S(It,[[`render`,Gt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(ee()&&this.$store.state.serp?.config?.query){D.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),D.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`serp.message.usedUp`)):D.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function qt(e,t,n,r,a,o){let s=c(`search-panel`),l=c(`result-panel`),f=c(`layout`);return p(),u(f,null,{config:d(()=>[i(s,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:d(()=>[i(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Jt=S(Kt,[[`render`,qt]]);export{Jt as default};