@acedatacloud/nexior 3.380.2 → 3.380.3

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 (301) hide show
  1. package/dist/assets/{ApiCodeButton-BAuef93l.js → ApiCodeButton-CAQzrT4K.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-CJNl51jX.js → ApiCodeDialog-LvzBskrJ.js} +1 -1
  3. package/dist/assets/{Artifacts-D-50vcyB.js → Artifacts-BC-9S6PN.js} +1 -1
  4. package/dist/assets/{AskUserQuestionCard-HOGbdVCx.js → AskUserQuestionCard-D7OS85bK.js} +1 -1
  5. package/dist/assets/{AudioPreview-DJ2gsjVr.js → AudioPreview-DQViM4FT.js} +1 -1
  6. package/dist/assets/{Auth-Dlp7xKHP.js → Auth-Df14yfuP.js} +1 -1
  7. package/dist/assets/{Bare-Ct3Fbxhk.js → Bare-DzY0TQIE.js} +1 -1
  8. package/dist/assets/{BotPlaceholder-COCaLEsI.js → BotPlaceholder-BlCUdjzq.js} +1 -1
  9. package/dist/assets/{BottomFooter-D0HWNNaR.js → BottomFooter-D3UQv_gV.js} +1 -1
  10. package/dist/assets/BrowseConnectors-DlJx58_J.js +1 -0
  11. package/dist/assets/{BrowserPairingDialog-CmO-e4vc.js → BrowserPairingDialog-CW7vfPJR.js} +1 -1
  12. package/dist/assets/{Callback-5rWl9IM3.js → Callback-CNFgYm3T.js} +1 -1
  13. package/dist/assets/{CodeSnippet-B98e32UW.js → CodeSnippet-C0eBeX2U.js} +1 -1
  14. package/dist/assets/{Console-DQXKzqBt.js → Console-CAVioWhS.js} +1 -1
  15. package/dist/assets/{Conversation-mRk37Koy.css → Conversation-BHYltyL3.css} +1 -1
  16. package/dist/assets/{Conversation-rfcy3_BE.js → Conversation-D7nm4oS-.js} +1 -1
  17. package/dist/assets/Conversation-DQ5RmRdb.js +2 -0
  18. package/dist/assets/{CopyToClipboard-HbsY8Q0t.js → CopyToClipboard-BQaEPLyt.js} +1 -1
  19. package/dist/assets/Detail-DD55uGpe.js +2 -0
  20. package/dist/assets/{Extra-BVs5m0ja.js → Extra-CV4hv9OG.js} +1 -1
  21. package/dist/assets/{FilePreview-DjFGb_i7.js → FilePreview-BjUbMA7c.js} +1 -1
  22. package/dist/assets/{Hailuo-BWbxhJnw.js → Hailuo-xFaz9TxD.js} +1 -1
  23. package/dist/assets/{History-CntzWG3z.js → History-D1zqqw7y.js} +1 -1
  24. package/dist/assets/{ImagePreview-BOJnqkhj.js → ImagePreview-Dm16d0L7.js} +1 -1
  25. package/dist/assets/{ImageWrapper-jUIsT2uG.js → ImageWrapper-KvH_Kyox.js} +1 -1
  26. package/dist/assets/{Index-DZ8jqCWj.js → Index-1ZGPMaND.js} +1 -1
  27. package/dist/assets/{Index-DpcLvY7b.js → Index-7QD2V3wg.js} +1 -1
  28. package/dist/assets/{Index-s_3gt0_E.js → Index-8by4vnko.js} +1 -1
  29. package/dist/assets/{Index-CNSavx-6.js → Index-B4GT4puq.js} +1 -1
  30. package/dist/assets/{Index-CJBOiVL8.js → Index-BPAo6_jC.js} +1 -1
  31. package/dist/assets/{Index-Bxa3vj7O.js → Index-BecIFcGo.js} +1 -1
  32. package/dist/assets/{Index-BdMHiE-f.js → Index-Bk546k4m.js} +1 -1
  33. package/dist/assets/{Index-Czvx7jUu.js → Index-BkbELH7_.js} +1 -1
  34. package/dist/assets/{Index-Dg1SegnC.js → Index-BoWt8dWh.js} +1 -1
  35. package/dist/assets/{Index-CLzVHfhh.js → Index-BwfuDrJ9.js} +1 -1
  36. package/dist/assets/{Index-Cu1z-r3p.js → Index-C18MzxuW.js} +1 -1
  37. package/dist/assets/{Index-CaTXCUQv.js → Index-C1QW_CFl.js} +1 -1
  38. package/dist/assets/Index-C5CT7Ktv.js +1 -0
  39. package/dist/assets/{Index-BY0_i-3X.js → Index-COJPpNNU.js} +1 -1
  40. package/dist/assets/{Index-DdNOpRkS.js → Index-CQE7c7Bs.js} +2 -2
  41. package/dist/assets/{Index-DQhjjD3s.js → Index-CTaXbXmT.js} +1 -1
  42. package/dist/assets/{Index-B34RJEiV.js → Index-CjVzRlMN.js} +1 -1
  43. package/dist/assets/{Index-Dywa-sOt.js → Index-CqmNg2WZ.js} +1 -1
  44. package/dist/assets/{Index-BANSPAFX.js → Index-CxqeZIDT.js} +1 -1
  45. package/dist/assets/{Index-k-E7L4Dr.js → Index-D-bh_mWQ.js} +1 -1
  46. package/dist/assets/{Index-Qe5J3wsl.js → Index-DJVr7ydY.js} +1 -1
  47. package/dist/assets/{Index-DdZsBFB5.js → Index-DOU9VNl0.js} +1 -1
  48. package/dist/assets/{Index-BsC5jVqE.js → Index-DR-1kfGp.js} +1 -1
  49. package/dist/assets/{Index-1ScP-54v.js → Index-DVXw0pwb.js} +1 -1
  50. package/dist/assets/{Index-ByJmV-Ny.js → Index-DlHoDKfg.js} +1 -1
  51. package/dist/assets/{Index-DaTVs5dH.js → Index-Dmc0ZPfE.js} +1 -1
  52. package/dist/assets/{Index-_C5fbH4k.js → Index-Dn3EoEQQ.js} +2 -2
  53. package/dist/assets/{Index-DCN-BaUH.js → Index-DvGsYLo7.js} +1 -1
  54. package/dist/assets/{Index-BRhnwcfE.js → Index-T0_cSwPH.js} +1 -1
  55. package/dist/assets/{Index-BEt2RJSO.css → Index-a1PTKue6.css} +1 -1
  56. package/dist/assets/{Index-CsxPkb3I.js → Index-eMf5-MRc.js} +1 -1
  57. package/dist/assets/{Index-C2E980QP.js → Index-ex7Y1vY4.js} +1 -1
  58. package/dist/assets/{Index-CWver0o-.js → Index-fTR2-Z-3.js} +1 -1
  59. package/dist/assets/Index-fbMiNaKB.js +1 -0
  60. package/dist/assets/{Index-CTCEfcao.js → Index-jn2z6JP9.js} +1 -1
  61. package/dist/assets/{Index-BxbOeV06.js → Index-tjXScQUo.js} +1 -1
  62. package/dist/assets/{Index-C1-Yjx5R2.js → Index-zjZ7CPr72.js} +1 -1
  63. package/dist/assets/{Invitees-kzzW-ILn.js → Invitees-tBHppasN.js} +1 -1
  64. package/dist/assets/{List-D9tUdJrL.js → List-B12lnQg5.js} +1 -1
  65. package/dist/assets/{List-8bTT20Yv.js → List-CEnfs31Y.js} +1 -1
  66. package/dist/assets/{List-s_TKWzqb.js → List-ObMnOLL-.js} +1 -1
  67. package/dist/assets/{LocalTools-DG0f_J3S.js → LocalTools-CVbTpoYn.js} +1 -1
  68. package/dist/assets/{LocalTools-CuDEaMkS.js → LocalTools-DyjoYQ4h.js} +1 -1
  69. package/dist/assets/{Logo-DdMeEhMP.js → Logo-DmgrIDIl.js} +1 -1
  70. package/dist/assets/{Main-Cm7krdKM.js → Main-D1Gr1FHA.js} +1 -1
  71. package/dist/assets/{Message-DgIfZcrI.js → Message-Db6-S5sM.js} +2 -2
  72. package/dist/assets/{Model-BLgJA2Ub.js → Model-C8RNsnbd.js} +1 -1
  73. package/dist/assets/{Navigator-DOH5ywHY.css → Navigator-D6I38CcF.css} +1 -1
  74. package/dist/assets/{Navigator-CdZ2jTLJ.js → Navigator-Nfj8gArg.js} +5 -5
  75. package/dist/assets/{NotFound-QBlUUTT8.js → NotFound-D-CoxUw9.js} +1 -1
  76. package/dist/assets/{PageHeader-BdWWZL5W.js → PageHeader-CNpwb3CV.js} +1 -1
  77. package/dist/assets/{Pay-CS3SOmO0.js → Pay-BI2Q9Jyg.js} +1 -1
  78. package/dist/assets/{Player-BLOV73nR.js → Player-DpnDR3pi.js} +1 -1
  79. package/dist/assets/{Poivelle-DoOycZZ_.js → Poivelle-BSP4AAyK.js} +1 -1
  80. package/dist/assets/{RealtimeCall-D3FkYSGD.js → RealtimeCall-B2L27PB_.js} +2 -2
  81. package/dist/assets/{ReportButton-CN9sBNWJ.js → ReportButton-BAx8pia_.js} +1 -1
  82. package/dist/assets/{ReportDialog-5PQFlLbm.js → ReportDialog-CE_HdnOJ.js} +1 -1
  83. package/dist/assets/{ScenarioPaymentMode--vT56PK3.js → ScenarioPaymentMode-C2uR8lvu.js} +1 -1
  84. package/dist/assets/ScheduledTasks-BLT-jdpt.js +2 -0
  85. package/dist/assets/{ScheduledTasks-daZK5tmJ.css → ScheduledTasks-Da6grJXC.css} +1 -1
  86. package/dist/assets/{ServicePricingSummary-BwJqvNoc.js → ServicePricingSummary-DPzfamaB.js} +1 -1
  87. package/dist/assets/{SharedMarkdown-Dgwz79AH.js → SharedMarkdown-0ELGv4ui.js} +1 -1
  88. package/dist/assets/{ShowcaseGrid-Cyggh9Te.js → ShowcaseGrid-XqUFFvtm.js} +1 -1
  89. package/dist/assets/{ShowcaseResultTabs-v1RT0-EQ.js → ShowcaseResultTabs-DEfMzemw.js} +1 -1
  90. package/dist/assets/{SolanaWalletPickerDialog-Y2cRE-1Z.js → SolanaWalletPickerDialog-YgC0eQsl.js} +1 -1
  91. package/dist/assets/{Status-dpjuYDjJ.js → Status-DKf5Jsod.js} +1 -1
  92. package/dist/assets/{Subscribe-mN3aBnom.js → Subscribe-CkkGJTnx.js} +1 -1
  93. package/dist/assets/{TabSwitcher-4IzkfBcK.js → TabSwitcher-CfjEN161.js} +1 -1
  94. package/dist/assets/{Tts-CfoJ4zvl.js → Tts-D1u48--B.js} +1 -1
  95. package/dist/assets/{VideoPlayer-DTqRjdRG.js → VideoPlayer-Cdtv4baV.js} +1 -1
  96. package/dist/assets/{VideoPreview-CGae38TQ.js → VideoPreview-D3jWNNx1.js} +1 -1
  97. package/dist/assets/{VueMarkdown-D3wRPAu9.js → VueMarkdown-CQ26Rk6o.js} +2 -2
  98. package/dist/assets/WriteSkillDialog-Dli1HaFr.js +1 -0
  99. package/dist/assets/{airwallexCheckout-BM2YTMdU.js → airwallexCheckout-BOMCtt32.js} +1 -1
  100. package/dist/assets/arrow-down-B6_R0HuI.js +1 -0
  101. package/dist/assets/arrow-left-BJOpEVmr.js +1 -0
  102. package/dist/assets/arrow-right-COdHSgP-.js +1 -0
  103. package/dist/assets/arrow-up-3YBgb0Kr.js +1 -0
  104. package/dist/assets/{authorizeFlow-DU2BZzr7.js → authorizeFlow-BMC9h_3t.js} +1 -1
  105. package/dist/assets/{avatar-Bg7PGVlq.js → avatar-BsnEjqLw.js} +1 -1
  106. package/dist/assets/{back-navigation-Ch6lhmlX.js → back-navigation-DPa7442X.js} +1 -1
  107. package/dist/assets/{basic-BNsRU4n8.js → basic-p_zsFmA2.js} +1 -1
  108. package/dist/assets/{book-open-DpyuRD7n.js → book-open-CpRGukR7.js} +1 -1
  109. package/dist/assets/{box-DHXL0jfh.js → box-CGOU4lJt.js} +1 -1
  110. package/dist/assets/{boxes-BcCWeb5p.js → boxes-32lkEX3G.js} +1 -1
  111. package/dist/assets/{brain-BFWVHgYb.js → brain-CEopvMNh.js} +1 -1
  112. package/dist/assets/{chart-no-axes-combined-CSX8QYY0.js → chart-no-axes-combined-tiBL2Ggm.js} +1 -1
  113. package/dist/assets/{chat-ZSzylqiY.js → chat-g6sUFB58.js} +1 -1
  114. package/dist/assets/check-C0uK_-Ji.js +1 -0
  115. package/dist/assets/chevron-down-BIqc6Sh0.js +1 -0
  116. package/dist/assets/chevron-right-CewUT0fp.js +1 -0
  117. package/dist/assets/{circle-alert-BjOnhxg5.js → circle-alert-CXkPdq0D.js} +1 -1
  118. package/dist/assets/circle-check-GRq8kiSg.js +1 -0
  119. package/dist/assets/{circle-question-mark-DtI_kUZA.js → circle-question-mark-CVOAxMdj.js} +1 -1
  120. package/dist/assets/{clipboard-list-2LwEZwI6.js → clipboard-list-Dze8SlYc.js} +1 -1
  121. package/dist/assets/clock-BRqsgYwQ.js +1 -0
  122. package/dist/assets/code-DoM9goq2.js +1 -0
  123. package/dist/assets/codingBridge-y6RP64MI.js +2 -0
  124. package/dist/assets/{codingBridgeNotify-Dcz00oP8.js → codingBridgeNotify-U3RuiX2r.js} +2 -2
  125. package/dist/assets/{coins-Cc8AXHrH.js → coins-dxsmnq-4.js} +1 -1
  126. package/dist/assets/{collapse-DlS6esg4.js → collapse-Dwaru9dv.js} +1 -1
  127. package/dist/assets/{constants-kiieigwv.js → constants-GmVIn7tC.js} +1 -1
  128. package/dist/assets/{copy-ChJf6J8T.js → copy-DnKHOq1a.js} +1 -1
  129. package/dist/assets/{createTaskActions-BLhdN038.js → createTaskActions-B2GAm9bk.js} +1 -1
  130. package/dist/assets/{date-picker-CmqRy172.js → date-picker-bOwyWLdL.js} +1 -1
  131. package/dist/assets/{digitalhuman-D3kr_R34.js → digitalhuman-DEbD6hPM.js} +1 -1
  132. package/dist/assets/{dollar-sign-C3RgxHLp.js → dollar-sign-BLWNTUv9.js} +1 -1
  133. package/dist/assets/{download-Z5haTZRA.js → download-BCOklSE_.js} +1 -1
  134. package/dist/assets/{drawer-COHNQWqs.js → drawer-CvX2U8ly.js} +1 -1
  135. package/dist/assets/{dropdown-DKgowttg.js → dropdown-DPKXaIsL.js} +1 -1
  136. package/dist/assets/{dropdown-vx0RS4iF.js → dropdown-XCwzKYm5.js} +1 -1
  137. package/dist/assets/{ellipsis-BRqynnFc.js → ellipsis-DPB3bXTW.js} +1 -1
  138. package/dist/assets/esm-CCt2cEvm.js +1 -0
  139. package/dist/assets/{esm-BtzjihHu.js → esm-CyHOLycc.js} +2 -2
  140. package/dist/assets/{esm-2XgVeB2E.js → esm-UoEBYxr0.js} +2 -2
  141. package/dist/assets/{external-link-Dzis-Iij.js → external-link-BZpZYYUS.js} +1 -1
  142. package/dist/assets/{eye-CPWDX0rj.js → eye-BhdeJEHm.js} +1 -1
  143. package/dist/assets/{file-CFpnaAp9.js → file-BEBKIB3d.js} +1 -1
  144. package/dist/assets/{file-output-Db3ievv3.js → file-output-Wrne3aLm.js} +1 -1
  145. package/dist/assets/{file-text-Bx7DV_Ph.js → file-text-BXNggY_W.js} +1 -1
  146. package/dist/assets/{fish-DpjLA1_J.js → fish-VuGOhXsW.js} +1 -1
  147. package/dist/assets/{flux-CZitrxBU.js → flux-BPC7XmH0.js} +1 -1
  148. package/dist/assets/{folder-3cMGdqj5.js → folder-l95IzSNw.js} +1 -1
  149. package/dist/assets/gauge-Ncwvr6wi.js +1 -0
  150. package/dist/assets/{generationInput-BGGxEArh.js → generationInput--J_4Niw5.js} +1 -1
  151. package/dist/assets/{globe-CNdSQ-d0.js → globe-CSktj64F.js} +1 -1
  152. package/dist/assets/{grokvideo-D5ixRL4d.js → grokvideo-DTBgLS47.js} +1 -1
  153. package/dist/assets/{hailuo-CN3h_OqS.js → hailuo-BVUhC8lk.js} +1 -1
  154. package/dist/assets/{hash-DpHkwauu.js → hash-CRnccwx_.js} +1 -1
  155. package/dist/assets/{headphones-BTUYs4if.js → headphones-DoG13pCL.js} +1 -1
  156. package/dist/assets/{history-C6NujvoG.js → history-BHl5ASZC.js} +1 -1
  157. package/dist/assets/{house-vcIF9UgO.js → house-DNNF-zQb.js} +1 -1
  158. package/dist/assets/{image-D0Z5ZFK_.js → image-2jgf6twa.js} +1 -1
  159. package/dist/assets/{imageRequests-6801C8WR.js → imageRequests-BaQ60xKB.js} +1 -1
  160. package/dist/assets/{index-_Awgv-in.js → index-BYbC-2BV.js} +7 -7
  161. package/dist/assets/{index.es-CCkFg17c.js → index.es-DFqTR-gs.js} +1 -1
  162. package/dist/assets/{info-7bwgfIAM.js → info-Bqj02p3r.js} +1 -1
  163. package/dist/assets/{input-number-BV0MZh77.js → input-number-BecdXhq4.js} +1 -1
  164. package/dist/assets/{kling-_GgIPZmJ.js → kling-C9azn2UB.js} +1 -1
  165. package/dist/assets/{languages-eiKrBwQ9.js → languages-Bn9-XqQr.js} +1 -1
  166. package/dist/assets/{laptop-De1YEbG7.js → laptop-C_0NyrMl.js} +1 -1
  167. package/dist/assets/{lightbulb-BkXsrGMV.js → lightbulb-C9MU_4ds.js} +1 -1
  168. package/dist/assets/{link-CmAhU9n5.js → link-CYbuO3R8.js} +1 -1
  169. package/dist/assets/loader-circle-BBOOwaos.js +1 -0
  170. package/dist/assets/{luma-dOcVv8PU.js → luma-BtitSxad.js} +1 -1
  171. package/dist/assets/{maestro-BA_US7Ku.js → maestro-Cmd5jQVR.js} +1 -1
  172. package/dist/assets/{maestroLanguages-CK5Z7kJI.js → maestroLanguages-BCseVxSx.js} +1 -1
  173. package/dist/assets/{mail-DOTxxljj.js → mail-BJofA_Qf.js} +1 -1
  174. package/dist/assets/{message-circle-DHdafP7h.js → message-circle-CKGmdIMI.js} +1 -1
  175. package/dist/assets/{mic-I-Dgdk5h.js → mic-Ci4tIrSN.js} +1 -1
  176. package/dist/assets/{midjourney-CkpPGpuc.js → midjourney-BQZo_d2M.js} +1 -1
  177. package/dist/assets/{minimax-dglTN6Wn.js → minimax-DsdxWCjq.js} +1 -1
  178. package/dist/assets/{mobileLocalExec-D36oV_Dc.js → mobileLocalExec-Dwqc6v0t.js} +2 -2
  179. package/dist/assets/modelPresentation-rhCN4hTz.js +1 -0
  180. package/dist/assets/{monitor-D1DJRzj6.js → monitor-CPFxk1wZ.js} +1 -1
  181. package/dist/assets/{mouse-pointer-2-CBvAV0d1.js → mouse-pointer-2-B08HzOwW.js} +1 -1
  182. package/dist/assets/music-2-DXzd8a9x.js +1 -0
  183. package/dist/assets/nanobanana-B3UVwC2D.js +1 -0
  184. package/dist/assets/{nanobanana-B5WVe0rT.js → nanobanana-CJ9wJoGd.js} +1 -1
  185. package/dist/assets/nanobanana-J7C_iDiO.js +1 -0
  186. package/dist/assets/{omni-8wY474n1.js → omni-C-SLGStU.js} +1 -1
  187. package/dist/assets/{openaiimage-CrUyfyHb.js → openaiimage-D5MNRqg3.js} +1 -1
  188. package/dist/assets/{pagination-2WgVwVua.js → pagination-CYVcmJmV.js} +1 -1
  189. package/dist/assets/{pagination-4wfrJiA1.js → pagination-VjpfotZ8.js} +1 -1
  190. package/dist/assets/{pagination-fLV6l3bm.js → pagination-io6RYkJR.js} +1 -1
  191. package/dist/assets/{palette-EUjaN1Jk.js → palette-SWZNaMAh.js} +1 -1
  192. package/dist/assets/{paperclip-ByA_T_NI.js → paperclip-CoovJMXo.js} +1 -1
  193. package/dist/assets/{pause-BbOxsN8j.js → pause-B7eeiCnH.js} +1 -1
  194. package/dist/assets/{pencil-DpSB1hdB.js → pencil-f21Vtqty.js} +1 -1
  195. package/dist/assets/{pika-OTZxnlC6.js → pika-CsHCQJSE.js} +1 -1
  196. package/dist/assets/{pixverse-Dutb2KHs.js → pixverse-CyDxwFeI.js} +1 -1
  197. package/dist/assets/play-D8gxtxAY.js +1 -0
  198. package/dist/assets/{plug-B8myXk-6.js → plug-Dg_9VErH.js} +1 -1
  199. package/dist/assets/plus-BMzVPasG.js +1 -0
  200. package/dist/assets/{poivelle-YbNCvoTm.js → poivelle-C0zLhGUa.js} +1 -1
  201. package/dist/assets/{popover-DDKm6Tb-.js → popover-BBskEwZL.js} +1 -1
  202. package/dist/assets/{producer-DNG_YqHQ.js → producer-9b3QkEP1.js} +1 -1
  203. package/dist/assets/{qrart-D6TdqsCu.js → qrart-CtfMNq1M.js} +1 -1
  204. package/dist/assets/{qwenimage-BdrIiMAj.js → qwenimage-BTvJJiDf.js} +1 -1
  205. package/dist/assets/{realtime-ul7PI7YM.js → realtime-Dd7fkm3x.js} +1 -1
  206. package/dist/assets/{refresh-cw-CZysfw_X.js → refresh-cw-Cr7yuII3.js} +1 -1
  207. package/dist/assets/rotate-ccw-DLsc8rAo.js +1 -0
  208. package/dist/assets/rotate-cw-1vYEmZtB.js +1 -0
  209. package/dist/assets/{row-CD9KNH4y.js → row-DNp_zRGz.js} +1 -1
  210. package/dist/assets/{scheduledTasks-CWwvLYcc.js → scheduledTasks-CrtGggKP.js} +1 -1
  211. package/dist/assets/{scroll-text-WTxnd_MO.js → scroll-text-WT63idaP.js} +1 -1
  212. package/dist/assets/search-CTbEtirV.js +1 -0
  213. package/dist/assets/{seedance-XB-VGBX2.js → seedance-tUqFe83z.js} +1 -1
  214. package/dist/assets/{seedream-Bhg45gEe.js → seedream-CuoLy1o8.js} +1 -1
  215. package/dist/assets/{select-QsHgFK-q.js → select-CxPN3D9u.js} +1 -1
  216. package/dist/assets/{serp-DNf0Fqcr.js → serp-D6lCOvz4.js} +1 -1
  217. package/dist/assets/{shield-ncLGJXKc.js → shield-CK7NS6Gf.js} +1 -1
  218. package/dist/assets/{showcase-BfGOkd8K.js → showcase-D6Og0HHm.js} +1 -1
  219. package/dist/assets/{showcaseRecreateMixin-B5tR17rt.js → showcaseRecreateMixin-BEyu8Djp.js} +1 -1
  220. package/dist/assets/{shuffle-BWMyU1fw.js → shuffle-DpfFdEcH.js} +1 -1
  221. package/dist/assets/{site-ChNq_NUt.js → site-BFSh5Tl1.js} +1 -1
  222. package/dist/assets/{site-uB9WDD6_.js → site-BgL5auJs.js} +1 -1
  223. package/dist/assets/{site-D5cXxqd0.js → site-CEyYV9T9.js} +1 -1
  224. package/dist/assets/{site-8ydw5p2V.js → site-CfeKxRll.js} +1 -1
  225. package/dist/assets/{site-CWTKv6IY.js → site-Cg9MVedN.js} +1 -1
  226. package/dist/assets/{site-DdDGLpnI.js → site-D0A9w1iR.js} +1 -1
  227. package/dist/assets/{site-B-c1LmW9.js → site-DJxqIMde.js} +1 -1
  228. package/dist/assets/{site-CiW7TR1Z.js → site-Dq6XOltW.js} +1 -1
  229. package/dist/assets/{site-C7vdB4MY.js → site-eyXU2Lu9.js} +1 -1
  230. package/dist/assets/{site-7R4iotW1.js → site-mJ0A622j.js} +1 -1
  231. package/dist/assets/{site-Cl-8AIw8.js → site-nFnV_r0X.js} +1 -1
  232. package/dist/assets/{site-Ca3t6y02.js → site-v8-PMGDX.js} +1 -1
  233. package/dist/assets/{siteHome-CqqDqRZ6.js → siteHome-3TZFCcij.js} +1 -1
  234. package/dist/assets/{slider-0Rgv6dkj.js → slider-DNzVAHfq.js} +1 -1
  235. package/dist/assets/{solana-wallets-RZzkU3nE.js → solana-wallets-DzzoQdIQ.js} +2 -2
  236. package/dist/assets/{sora-Ced3sypx.js → sora-BxwK55Oy.js} +1 -1
  237. package/dist/assets/{sparkles-DM0Gt1cF.js → sparkles-Bj8vdW1Y.js} +1 -1
  238. package/dist/assets/square-C64WmG3-.js +1 -0
  239. package/dist/assets/{suno-DSyT8ZGx.js → suno-DNbz_RKF.js} +1 -1
  240. package/dist/assets/{switch-m3y06b9C.js → switch-CpihU-Bq.js} +1 -1
  241. package/dist/assets/{table-BBiu55uZ.js → table-BQFx3k1H.js} +1 -1
  242. package/dist/assets/{tabs-BIn1pfdA.js → tabs-8Um-YKWZ.js} +1 -1
  243. package/dist/assets/{tag-DGASwR9b.js → tag-_vZb-8xx.js} +1 -1
  244. package/dist/assets/{taskPolling-BN9no0Yq.js → taskPolling-9csjvORN.js} +1 -1
  245. package/dist/assets/terminal-Clq9LUIa.js +1 -0
  246. package/dist/assets/{time-picker-DBAqF4GM.js → time-picker-RtWvk_sa.js} +1 -1
  247. package/dist/assets/{tooltip-Boxqz0SE.js → tooltip-B60Iasgv.js} +1 -1
  248. package/dist/assets/{trash-2-BUBbANzL.js → trash-2-BBCXfu0p.js} +1 -1
  249. package/dist/assets/{triangle-alert-C8sUN5Zy.js → triangle-alert-BRov4JmE.js} +1 -1
  250. package/dist/assets/{upload-DX4Z0k_g.js → upload-D3ICVrNB.js} +1 -1
  251. package/dist/assets/{upload-Bf6gfU9e.js → upload-Sju4DbiY.js} +1 -1
  252. package/dist/assets/user-D8RgR1_m.js +1 -0
  253. package/dist/assets/{veo-CJXCZhun.js → veo-DkZy7hTq.js} +1 -1
  254. package/dist/assets/{video-BZ-HCWgj.js → video-CDFVAtyn.js} +1 -1
  255. package/dist/assets/{volume-2-Bm6YbO6G.js → volume-2-B06KZpAy.js} +1 -1
  256. package/dist/assets/{vuex.esm-bundler-DdqoLR8S.js → vuex.esm-bundler-BV9tXD4i.js} +1 -1
  257. package/dist/assets/{wallet-DVR0Fxu-.js → wallet-C2_hOWbL.js} +1 -1
  258. package/dist/assets/{wan-CZ_kEyyE.js → wan-QRuyJPFu.js} +1 -1
  259. package/dist/assets/{wand-sparkles-C6iRRX45.js → wand-sparkles-D8Xtkkgr.js} +1 -1
  260. package/dist/assets/{web-Ct7s8o-q.js → web-BUdzeUVv.js} +1 -1
  261. package/dist/assets/{web-DtA0eKm1.js → web-BYJbjRYk.js} +1 -1
  262. package/dist/assets/{web-DEzcvDHh.js → web-CY-888ED.js} +1 -1
  263. package/dist/assets/{web-B1tY4yAy.js → web-DaBEVlWo.js} +1 -1
  264. package/dist/assets/{web-4WHStKBt.js → web-JP1HvmQN.js} +1 -1
  265. package/dist/assets/{webextrator-DoroX76M.js → webextrator-CW6y2mdz.js} +1 -1
  266. package/dist/assets/{zap-CsTGHOAl.js → zap-D2PJQZbU.js} +1 -1
  267. package/dist/index.html +3 -3
  268. package/package.json +1 -1
  269. package/dist/assets/BrowseConnectors-CT2o1zx2.js +0 -1
  270. package/dist/assets/Conversation-bKFTvAY4.js +0 -2
  271. package/dist/assets/Detail-CtJtxr58.js +0 -2
  272. package/dist/assets/Index-l_7B88SE.js +0 -1
  273. package/dist/assets/Index-o0FmLDjP.js +0 -1
  274. package/dist/assets/ScheduledTasks-HyNbHY_e.js +0 -2
  275. package/dist/assets/WriteSkillDialog-DjAuMYyl.js +0 -1
  276. package/dist/assets/arrow-down-Cc0TpZ6V.js +0 -1
  277. package/dist/assets/arrow-left-wkfGyPYX.js +0 -1
  278. package/dist/assets/arrow-right-CsYF1XDT.js +0 -1
  279. package/dist/assets/arrow-up-CadYwiP5.js +0 -1
  280. package/dist/assets/check-C9zXecWP.js +0 -1
  281. package/dist/assets/chevron-down-DyqiQUvH.js +0 -1
  282. package/dist/assets/chevron-right-DddsfVqa.js +0 -1
  283. package/dist/assets/circle-check-ClbBCFzO.js +0 -1
  284. package/dist/assets/clock-Bn9Jxy03.js +0 -1
  285. package/dist/assets/code-DxfEtiQq.js +0 -1
  286. package/dist/assets/codingBridge-CZiAUZ1o.js +0 -2
  287. package/dist/assets/esm-CH-tYMgA.js +0 -1
  288. package/dist/assets/gauge-BBj5iYzC.js +0 -1
  289. package/dist/assets/loader-circle-BnA6E-fw.js +0 -1
  290. package/dist/assets/modelPresentation-Dh0NlBYP.js +0 -1
  291. package/dist/assets/music-2-BxLKk04r.js +0 -1
  292. package/dist/assets/nanobanana-CUZLa6Ps.js +0 -1
  293. package/dist/assets/nanobanana-t0azjVdU.js +0 -1
  294. package/dist/assets/play-9AFoGGJC.js +0 -1
  295. package/dist/assets/plus-DtJtYLqM.js +0 -1
  296. package/dist/assets/rotate-ccw-QSY4jGQA.js +0 -1
  297. package/dist/assets/rotate-cw-qt2AqgpR.js +0 -1
  298. package/dist/assets/search-BlR7-uoc.js +0 -1
  299. package/dist/assets/square-CGgUHPnl.js +0 -1
  300. package/dist/assets/terminal-fozPBdJ-.js +0 -1
  301. package/dist/assets/user-B585ayyt.js +0 -1
@@ -1,4 +1,4 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,G as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,Mt as c,N as l,Q as u,S as d,T as f,Y as p,at as m,ft as h,ht as g,j as _,k as v,mt as y,p as b,qt as x,rt as S,st as C,tt as w,wt as T,x as E,z as D}from"./vendor-chart-Dw-P17PN.js";import{t as O}from"./vendor-vue-router-BVGjZC3n.js";import{n as k}from"./vuex.esm-bundler-DdqoLR8S.js";import{$a as A,Pa as j,ao as M}from"./constants-kiieigwv.js";import{D as N,Fn as P,M as F,Ma as I,N as L,Pn as R,Qa as z,Ra as B,cr as V,j as H}from"./index-_Awgv-in.js";import{t as U}from"./VueMarkdown-D3wRPAu9.js";import{c as W,l as ee,n as te,r as G,s as K,t as ne,u as re}from"./siteHome-CqqDqRZ6.js";import{n as ie}from"./showcase-BfGOkd8K.js";import{n as ae,t as oe}from"./ShowcaseGrid-Cyggh9Te.js";var se=B(`arrow-up-to-line`,[[`path`,{d:`M5 3h14`,key:`7usisc`}],[`path`,{d:`m18 13-6-6-6 6`,key:`1kf1n9`}],[`path`,{d:`M12 7v14`,key:`1akyts`}]]),ce={class:`section-heading`},le={id:`home-categories-title`},ue={class:`category-rows card-gap`},de=[`aria-expanded`,`aria-controls`,`onClick`],fe=[`src`,`alt`,`onError`],pe={class:`category-copy`},me=[`id`,`aria-label`],he=[`src`,`onError`],ge=N(D({__name:`CategoryTiles`,props:{items:{},heading:{},subtitle:{}},emits:[`category-image-error`,`icon-error`],setup(t,{expose:n}){let c=t,g=T(),C=T(4),E=v(()=>{let e=[];for(let t=0;t<c.items.length;t+=C.value)e.push(c.items.slice(t,t+C.value));return e});function D(){C.value=window.matchMedia?.(`(max-width: 430px)`).matches?1:window.matchMedia?.(`(max-width: 1120px)`).matches?2:4}u(()=>{D(),window.addEventListener(`resize`,D)}),p(()=>window.removeEventListener(`resize`,D));let O=new Map,k=v(()=>c.items.find(e=>e.id===g.value));function A(e,t){t instanceof HTMLButtonElement?O.set(e,t):O.delete(e)}function j(e){g.value=g.value===e?void 0:e,g.value&&a(()=>{window.matchMedia?.(`(max-width: 430px)`).matches&&O.get(e)?.scrollIntoView?.({behavior:window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})})}function M(){if(!g.value)return;let e=O.get(g.value);g.value=void 0,e?.focus()}return h(()=>c.items,e=>{g.value&&!e.some(e=>e.id===g.value)&&(g.value=void 0)}),n({openId:g,activeCategory:k,toggle:j,closePanel:M}),(n,a)=>{let c=m(`router-link`);return w(),l(`section`,{class:`dashboard-section`,"aria-labelledby":`home-categories-title`,onKeydown:d(M,[`esc`])},[e(`div`,ce,[e(`div`,null,[e(`span`,null,i(n.$t(`intro.home.quick.eyebrow`)),1),e(`h2`,le,i(t.heading),1)]),e(`p`,null,i(t.subtitle),1)]),e(`div`,ue,[(w(!0),l(f,null,S(E.value,(t,u)=>(w(),l(`div`,{key:u,class:`category-grid card-gap`},[(w(!0),l(f,null,S(t,t=>(w(),l(`button`,{key:t.id,ref_for:!0,ref:e=>A(t.id,e),type:`button`,class:`category-card`,"aria-expanded":g.value===t.id,"aria-controls":`home-category-panel-${t.id}`,onClick:e=>j(t.id)},[t.imageUrl?(w(),l(`img`,{key:0,src:t.imageUrl,alt:t.title,loading:`lazy`,decoding:`async`,style:x({objectPosition:t.focalPoint||`center`}),onError:e=>n.$emit(`category-image-error`,t.id)},null,44,fe)):s(``,!0),a[0]||=e(`span`,{class:`shade`},null,-1),e(`span`,pe,[e(`strong`,null,i(t.title),1),e(`span`,null,i(t.description),1),e(`b`,null,i(n.$t(g.value===t.id?`intro.home.quick.close`:`intro.home.quick.explore`))+` ↓`,1)])],8,de))),128)),o(b,{name:`panel`},{default:y(()=>[t.some(e=>e.id===g.value)&&k.value?(w(),l(`div`,{key:0,id:`home-category-panel-${k.value.id}`,class:`capability-panel`,role:`region`,"aria-label":n.$t(`intro.home.quick.panelLabel`,{category:k.value?.title})},[(w(!0),l(f,null,S(k.value?.items||[],t=>(w(),_(c,{key:t.capability,to:{name:t.routeName},class:`capability-card`},{default:y(()=>[e(`img`,{src:t.icon,alt:``,onError:e=>n.$emit(`icon-error`,t)},null,40,he),e(`span`,null,[e(`strong`,null,i(t.name),1),e(`small`,null,i(t.description),1)]),e(`b`,null,[r(i(n.$t(`intro.home.createNow`))+` `,1),a[1]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])]),_:2},1032,[`to`]))),128))],8,me)):s(``,!0)]),_:2},1024)]))),128))])],32)}}}),[[`__scopeId`,`data-v-d129353a`]]),_e=[`aria-label`],ve={class:`slides`},ye=[`src`,`alt`,`loading`,`fetchpriority`,`onError`],be={key:1,class:`image-fallback`},xe=[`src`],Se={class:`copy`},Ce={key:0,class:`eyebrow`},we={key:1},Te={class:`description`},Ee={key:2,class:`action`},De=[`aria-label`],Oe=[`aria-label`],ke={class:`dots`},Ae=[`aria-label`,`aria-current`,`onClick`],je=5600,Me=45,Ne=N(D({__name:`HomeCarousel`,props:{slides:{}},emits:[`image-error`],setup(a,{expose:o}){let c=a,d=T(0),m=T(!1),g=T(!1),b=T(!1),E=T(!1),D=T(),k,A,j=v(()=>m.value||g.value||b.value||E.value||c.slides.length<2);function M(e){return e.target?`href`in e.target&&/^https?:\/\//i.test(e.target.href)?`a`:O:`div`}function N(e){return e.target?`routeName`in e.target?{to:{name:e.target.routeName}}:/^https?:\/\//i.test(e.target.href)?{href:e.target.href,target:`_blank`,rel:`noopener noreferrer`}:{to:e.target.href}:{}}function P(e){let t=c.slides.length;return t?(e+t)%t:0}function F(e){d.value=P(e)}function I(){F(d.value+1)}function L(){F(d.value-1)}function R(){k!==void 0&&window.clearInterval(k),k=void 0}function z(){R(),j.value||(k=window.setInterval(I,je))}function B(){b.value=document.hidden}function V(e){E.value=e.matches}function H(e){let t=e.currentTarget,n=e.relatedTarget;g.value=!!(n&&t.contains(n))}function U(e){D.value=e.changedTouches[0]?.clientX}function W(e){if(D.value===void 0)return;let t=e.changedTouches[0]?.clientX;if(t===void 0)return;let n=t-D.value;Math.abs(n)>=Me&&(n>0?L():I()),D.value=void 0}return h(j,z),h(()=>c.slides.length,e=>{d.value>=e&&(d.value=0),z()}),u(()=>{b.value=document.hidden,document.addEventListener(`visibilitychange`,B),A=window.matchMedia(`(prefers-reduced-motion: reduce)`),E.value=A.matches,A.addEventListener(`change`,V),z()}),p(()=>{R(),document.removeEventListener(`visibilitychange`,B),A?.removeEventListener(`change`,V)}),o({activeIndex:d,next:I,previous:L,goTo:F,hovered:m,focused:g}),(o,c)=>(w(),l(`section`,{class:`home-carousel`,"aria-label":o.$t(`intro.home.carousel.label`),onMouseenter:c[0]||=e=>m.value=!0,onMouseleave:c[1]||=e=>m.value=!1,onFocusin:c[2]||=e=>g.value=!0,onFocusout:H,onTouchstartPassive:U,onTouchendPassive:W},[e(`div`,ve,[(w(!0),l(f,null,S(a.slides,(n,a)=>(w(),_(C(M(n)),t({key:n.id},{ref_for:!0},N(n),{class:[`slide`,{active:a===d.value,static:!n.target}],"aria-hidden":a!==d.value,tabindex:a===d.value&&n.target?0:-1}),{default:y(()=>[n.imageUrl?(w(),l(`img`,{key:0,src:n.imageUrl,alt:n.title,loading:a===0?`eager`:`lazy`,decoding:`async`,fetchpriority:a===0?`high`:`auto`,style:x({objectPosition:n.focalPoint||`center`}),onError:e=>o.$emit(`image-error`,n)},null,44,ye)):(w(),l(`span`,be,[n.icon?(w(),l(`img`,{key:0,src:n.icon,alt:``},null,8,xe)):s(``,!0)])),c[4]||=e(`span`,{class:`shade`},null,-1),e(`span`,Se,[n.eyebrow?(w(),l(`span`,Ce,i(n.eyebrow),1)):s(``,!0),n.title?(w(),l(`strong`,we,i(n.title),1)):s(``,!0),e(`span`,Te,i(n.description),1),n.target?(w(),l(`span`,Ee,[r(i(o.$t(`intro.home.createNow`))+` `,1),c[3]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])):s(``,!0)])]),_:2},1040,[`class`,`aria-hidden`,`tabindex`]))),128))]),a.slides.length>1?(w(),l(f,{key:0},[e(`button`,{class:`arrow previous`,type:`button`,"aria-label":o.$t(`intro.home.carousel.previous`),onClick:L},[...c[5]||=[e(`span`,{"aria-hidden":`true`},`‹`,-1)]],8,De),e(`button`,{class:`arrow next`,type:`button`,"aria-label":o.$t(`intro.home.carousel.next`),onClick:I},[...c[6]||=[e(`span`,{"aria-hidden":`true`},`›`,-1)]],8,Oe),e(`div`,ke,[(w(!0),l(f,null,S(a.slides,(e,t)=>(w(),l(`button`,{key:e.id,type:`button`,class:n({active:t===d.value}),"aria-label":o.$t(`intro.home.carousel.goto`,{number:t+1,title:e.title}),"aria-current":t===d.value?`true`:void 0,onClick:e=>F(t)},null,10,Ae))),128))])],64)):s(``,!0)],40,_e))}}),[[`__scopeId`,`data-v-d69edc68`]]),Pe=`acedatacloud:home-html-iframe-resize`,q=`acedatacloud:home-html-iframe-measure`,Fe=12e3,J=[`allow-scripts`,`allow-forms`,`allow-popups`,`allow-popups-to-escape-sandbox`,`allow-top-navigation-by-user-activation`].join(` `),Ie=new Set([`ar`]),Y=e=>{let t=e.trim().replace(`_`,`-`).slice(0,35);return/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(t)?t:`en`},X=e=>Ie.has(e.split(`-`)[0].toLowerCase())?`rtl`:`ltr`,Le=e=>JSON.stringify(e).replace(/</g,`\\u003c`).split(`\u2028`).join(`\\u2028`).split(`\u2029`).join(`\\u2029`),Re=`<script data-acedatacloud-resize>
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,G as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,Mt as c,N as l,Q as u,S as d,T as f,Y as p,at as m,ft as h,ht as g,j as _,k as v,mt as y,p as b,qt as x,rt as S,st as C,tt as w,wt as T,x as E,z as D}from"./vendor-chart-Dw-P17PN.js";import{t as O}from"./vendor-vue-router-BVGjZC3n.js";import{n as k}from"./vuex.esm-bundler-BV9tXD4i.js";import{Fa as A,eo as j,oo as M}from"./constants-GmVIn7tC.js";import{D as N,Fn as P,M as F,Ma as I,N as L,Pn as R,Qa as z,Ra as B,cr as V,j as H}from"./index-BYbC-2BV.js";import{t as U}from"./VueMarkdown-CQ26Rk6o.js";import{c as W,l as ee,n as te,r as G,s as K,t as ne,u as re}from"./siteHome-3TZFCcij.js";import{n as ie}from"./showcase-D6Og0HHm.js";import{n as ae,t as oe}from"./ShowcaseGrid-XqUFFvtm.js";var se=B(`arrow-up-to-line`,[[`path`,{d:`M5 3h14`,key:`7usisc`}],[`path`,{d:`m18 13-6-6-6 6`,key:`1kf1n9`}],[`path`,{d:`M12 7v14`,key:`1akyts`}]]),ce={class:`section-heading`},le={id:`home-categories-title`},ue={class:`category-rows card-gap`},de=[`aria-expanded`,`aria-controls`,`onClick`],fe=[`src`,`alt`,`onError`],pe={class:`category-copy`},me=[`id`,`aria-label`],he=[`src`,`onError`],ge=N(D({__name:`CategoryTiles`,props:{items:{},heading:{},subtitle:{}},emits:[`category-image-error`,`icon-error`],setup(t,{expose:n}){let c=t,g=T(),C=T(4),E=v(()=>{let e=[];for(let t=0;t<c.items.length;t+=C.value)e.push(c.items.slice(t,t+C.value));return e});function D(){C.value=window.matchMedia?.(`(max-width: 430px)`).matches?1:window.matchMedia?.(`(max-width: 1120px)`).matches?2:4}u(()=>{D(),window.addEventListener(`resize`,D)}),p(()=>window.removeEventListener(`resize`,D));let O=new Map,k=v(()=>c.items.find(e=>e.id===g.value));function A(e,t){t instanceof HTMLButtonElement?O.set(e,t):O.delete(e)}function j(e){g.value=g.value===e?void 0:e,g.value&&a(()=>{window.matchMedia?.(`(max-width: 430px)`).matches&&O.get(e)?.scrollIntoView?.({behavior:window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})})}function M(){if(!g.value)return;let e=O.get(g.value);g.value=void 0,e?.focus()}return h(()=>c.items,e=>{g.value&&!e.some(e=>e.id===g.value)&&(g.value=void 0)}),n({openId:g,activeCategory:k,toggle:j,closePanel:M}),(n,a)=>{let c=m(`router-link`);return w(),l(`section`,{class:`dashboard-section`,"aria-labelledby":`home-categories-title`,onKeydown:d(M,[`esc`])},[e(`div`,ce,[e(`div`,null,[e(`span`,null,i(n.$t(`intro.home.quick.eyebrow`)),1),e(`h2`,le,i(t.heading),1)]),e(`p`,null,i(t.subtitle),1)]),e(`div`,ue,[(w(!0),l(f,null,S(E.value,(t,u)=>(w(),l(`div`,{key:u,class:`category-grid card-gap`},[(w(!0),l(f,null,S(t,t=>(w(),l(`button`,{key:t.id,ref_for:!0,ref:e=>A(t.id,e),type:`button`,class:`category-card`,"aria-expanded":g.value===t.id,"aria-controls":`home-category-panel-${t.id}`,onClick:e=>j(t.id)},[t.imageUrl?(w(),l(`img`,{key:0,src:t.imageUrl,alt:t.title,loading:`lazy`,decoding:`async`,style:x({objectPosition:t.focalPoint||`center`}),onError:e=>n.$emit(`category-image-error`,t.id)},null,44,fe)):s(``,!0),a[0]||=e(`span`,{class:`shade`},null,-1),e(`span`,pe,[e(`strong`,null,i(t.title),1),e(`span`,null,i(t.description),1),e(`b`,null,i(n.$t(g.value===t.id?`intro.home.quick.close`:`intro.home.quick.explore`))+` ↓`,1)])],8,de))),128)),o(b,{name:`panel`},{default:y(()=>[t.some(e=>e.id===g.value)&&k.value?(w(),l(`div`,{key:0,id:`home-category-panel-${k.value.id}`,class:`capability-panel`,role:`region`,"aria-label":n.$t(`intro.home.quick.panelLabel`,{category:k.value?.title})},[(w(!0),l(f,null,S(k.value?.items||[],t=>(w(),_(c,{key:t.capability,to:{name:t.routeName},class:`capability-card`},{default:y(()=>[e(`img`,{src:t.icon,alt:``,onError:e=>n.$emit(`icon-error`,t)},null,40,he),e(`span`,null,[e(`strong`,null,i(t.name),1),e(`small`,null,i(t.description),1)]),e(`b`,null,[r(i(n.$t(`intro.home.createNow`))+` `,1),a[1]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])]),_:2},1032,[`to`]))),128))],8,me)):s(``,!0)]),_:2},1024)]))),128))])],32)}}}),[[`__scopeId`,`data-v-d129353a`]]),_e=[`aria-label`],ve={class:`slides`},ye=[`src`,`alt`,`loading`,`fetchpriority`,`onError`],be={key:1,class:`image-fallback`},xe=[`src`],Se={class:`copy`},Ce={key:0,class:`eyebrow`},we={key:1},Te={class:`description`},Ee={key:2,class:`action`},De=[`aria-label`],Oe=[`aria-label`],ke={class:`dots`},Ae=[`aria-label`,`aria-current`,`onClick`],je=5600,Me=45,Ne=N(D({__name:`HomeCarousel`,props:{slides:{}},emits:[`image-error`],setup(a,{expose:o}){let c=a,d=T(0),m=T(!1),g=T(!1),b=T(!1),E=T(!1),D=T(),k,A,j=v(()=>m.value||g.value||b.value||E.value||c.slides.length<2);function M(e){return e.target?`href`in e.target&&/^https?:\/\//i.test(e.target.href)?`a`:O:`div`}function N(e){return e.target?`routeName`in e.target?{to:{name:e.target.routeName}}:/^https?:\/\//i.test(e.target.href)?{href:e.target.href,target:`_blank`,rel:`noopener noreferrer`}:{to:e.target.href}:{}}function P(e){let t=c.slides.length;return t?(e+t)%t:0}function F(e){d.value=P(e)}function I(){F(d.value+1)}function L(){F(d.value-1)}function R(){k!==void 0&&window.clearInterval(k),k=void 0}function z(){R(),j.value||(k=window.setInterval(I,je))}function B(){b.value=document.hidden}function V(e){E.value=e.matches}function H(e){let t=e.currentTarget,n=e.relatedTarget;g.value=!!(n&&t.contains(n))}function U(e){D.value=e.changedTouches[0]?.clientX}function W(e){if(D.value===void 0)return;let t=e.changedTouches[0]?.clientX;if(t===void 0)return;let n=t-D.value;Math.abs(n)>=Me&&(n>0?L():I()),D.value=void 0}return h(j,z),h(()=>c.slides.length,e=>{d.value>=e&&(d.value=0),z()}),u(()=>{b.value=document.hidden,document.addEventListener(`visibilitychange`,B),A=window.matchMedia(`(prefers-reduced-motion: reduce)`),E.value=A.matches,A.addEventListener(`change`,V),z()}),p(()=>{R(),document.removeEventListener(`visibilitychange`,B),A?.removeEventListener(`change`,V)}),o({activeIndex:d,next:I,previous:L,goTo:F,hovered:m,focused:g}),(o,c)=>(w(),l(`section`,{class:`home-carousel`,"aria-label":o.$t(`intro.home.carousel.label`),onMouseenter:c[0]||=e=>m.value=!0,onMouseleave:c[1]||=e=>m.value=!1,onFocusin:c[2]||=e=>g.value=!0,onFocusout:H,onTouchstartPassive:U,onTouchendPassive:W},[e(`div`,ve,[(w(!0),l(f,null,S(a.slides,(n,a)=>(w(),_(C(M(n)),t({key:n.id},{ref_for:!0},N(n),{class:[`slide`,{active:a===d.value,static:!n.target}],"aria-hidden":a!==d.value,tabindex:a===d.value&&n.target?0:-1}),{default:y(()=>[n.imageUrl?(w(),l(`img`,{key:0,src:n.imageUrl,alt:n.title,loading:a===0?`eager`:`lazy`,decoding:`async`,fetchpriority:a===0?`high`:`auto`,style:x({objectPosition:n.focalPoint||`center`}),onError:e=>o.$emit(`image-error`,n)},null,44,ye)):(w(),l(`span`,be,[n.icon?(w(),l(`img`,{key:0,src:n.icon,alt:``},null,8,xe)):s(``,!0)])),c[4]||=e(`span`,{class:`shade`},null,-1),e(`span`,Se,[n.eyebrow?(w(),l(`span`,Ce,i(n.eyebrow),1)):s(``,!0),n.title?(w(),l(`strong`,we,i(n.title),1)):s(``,!0),e(`span`,Te,i(n.description),1),n.target?(w(),l(`span`,Ee,[r(i(o.$t(`intro.home.createNow`))+` `,1),c[3]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])):s(``,!0)])]),_:2},1040,[`class`,`aria-hidden`,`tabindex`]))),128))]),a.slides.length>1?(w(),l(f,{key:0},[e(`button`,{class:`arrow previous`,type:`button`,"aria-label":o.$t(`intro.home.carousel.previous`),onClick:L},[...c[5]||=[e(`span`,{"aria-hidden":`true`},`‹`,-1)]],8,De),e(`button`,{class:`arrow next`,type:`button`,"aria-label":o.$t(`intro.home.carousel.next`),onClick:I},[...c[6]||=[e(`span`,{"aria-hidden":`true`},`›`,-1)]],8,Oe),e(`div`,ke,[(w(!0),l(f,null,S(a.slides,(e,t)=>(w(),l(`button`,{key:e.id,type:`button`,class:n({active:t===d.value}),"aria-label":o.$t(`intro.home.carousel.goto`,{number:t+1,title:e.title}),"aria-current":t===d.value?`true`:void 0,onClick:e=>F(t)},null,10,Ae))),128))])],64)):s(``,!0)],40,_e))}}),[[`__scopeId`,`data-v-d69edc68`]]),Pe=`acedatacloud:home-html-iframe-resize`,q=`acedatacloud:home-html-iframe-measure`,Fe=12e3,J=[`allow-scripts`,`allow-forms`,`allow-popups`,`allow-popups-to-escape-sandbox`,`allow-top-navigation-by-user-activation`].join(` `),Ie=new Set([`ar`]),Y=e=>{let t=e.trim().replace(`_`,`-`).slice(0,35);return/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(t)?t:`en`},X=e=>Ie.has(e.split(`-`)[0].toLowerCase())?`rtl`:`ltr`,Le=e=>JSON.stringify(e).replace(/</g,`\\u003c`).split(`\u2028`).join(`\\u2028`).split(`\u2029`).join(`\\u2029`),Re=`<script data-acedatacloud-resize>
2
2
  (() => {
3
3
  let pendingFrame = 0;
4
4
  let lastHeight = -1;
@@ -85,4 +85,4 @@ html, body { width: 100%; height: auto !important; min-height: 0 !important; mar
85
85
  img, video, svg, canvas, iframe { max-width: 100%; }
86
86
  </style>
87
87
  ${ze(e,t,n)}
88
- ${r?Re:``}`,Q=(e,t,n)=>{let r=RegExp(`<${t}\\b[^>]*>`,`i`).exec(e);if(!r||r.index===void 0)return e;let i=r.index+r[0].length;return`${e.slice(0,i)}${n}${e.slice(i)}`},Be=(e,t,n,r)=>e.replace(/<html\b([^>]*)>/i,(e,i)=>`<html${i.replace(/\s(?:lang|dir|data-lang|data-theme)\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,``)} lang="${t}" dir="${n}" data-lang="${t}" data-theme="${r}">`),Ve=(e,t=`en`,n=!0,r=`light`)=>{let i=Y(t),a=X(i);if(!/<html\b[^>]*>/i.test(e))return`<!DOCTYPE html><html lang="${i}" dir="${a}" data-lang="${i}" data-theme="${r}"><head>${Z(i,a,r,n)}</head><body>${e}</body></html>`;let o=Be(e,i,a,r);return/<head\b[^>]*>/i.test(o)?Q(o,`head`,Z(i,a,r,n)):Q(o,`html`,`<head>${Z(i,a,r,n)}</head>`)},He=e=>{if(!e||typeof e!=`object`)return null;let t=e;return t.type!==`acedatacloud:home-html-iframe-resize`||typeof t.height!=`number`||!Number.isFinite(t.height)?null:Math.min(Fe,Math.max(160,Math.ceil(t.height)))},Ue={class:`tenant-home-block tenant-home-html`},We=[`title`,`sandbox`,`srcdoc`],Ge=[`lang`,`dir`,`data-lang`,`data-theme`,`innerHTML`],Ke=N(D({__name:`HomeHtmlSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,r=v(()=>Y(n.locale||`en`)),a=v(()=>X(r.value)),o=T(),s=v(()=>n.section.height??null),d=v(()=>s.value===null),f=T(s.value??160),m=v(()=>Ve(n.section.body,r.value,d.value,n.theme||`light`)),g=e=>{if(!d.value||e.source!==o.value?.contentWindow)return;let t=He(e.data);t!==null&&(f.value=t)},_=()=>{d.value&&o.value?.contentWindow?.postMessage({type:q},`*`)};return h(()=>[n.section.body,n.section.height,n.locale,n.theme],()=>{f.value=s.value??160}),u(()=>{window.addEventListener(`message`,g),_()}),p(()=>window.removeEventListener(`message`,g)),(n,s)=>(w(),l(`article`,Ue,[e(`h2`,null,i(t.section.title),1),t.section.render_in_iframe?(w(),l(`iframe`,{key:0,ref_key:`frame`,ref:o,class:`tenant-home-content tenant-home-iframe`,title:t.section.title,sandbox:c(J),srcdoc:m.value,style:x({height:`${f.value}px`}),loading:`lazy`,referrerpolicy:`strict-origin-when-cross-origin`,onLoad:_},null,44,We)):(w(),l(`div`,{key:1,class:`tenant-home-content`,lang:r.value,dir:a.value,"data-lang":r.value,"data-theme":t.theme||`light`,style:x(t.section.height==null?void 0:{height:`${t.section.height}px`,overflowY:`auto`}),innerHTML:t.section.body},null,12,Ge))]))}}),[[`__scopeId`,`data-v-ae8f8418`]]),qe={class:`tenant-home-block tenant-home-markdown`},Je=D({__name:`HomeMarkdownSection`,props:{section:{}},setup(t){return(n,r)=>(w(),l(`article`,qe,[e(`h2`,null,i(t.section.title),1),o(U,{class:`tenant-home-content`,source:t.section.body,style:x(t.section.height==null?void 0:{height:`${t.section.height}px`,overflowY:`auto`}),sanitize:``},null,8,[`source`,`style`])]))}}),Ye={class:`tenant-home-block tenant-home-website`},Xe=[`src`,`title`,`sandbox`],Ze=[`href`],Qe=N(D({__name:`HomeWebsiteSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,r=v(()=>{try{let e=new URL(n.section.body);return e.protocol!==`https:`&&e.protocol!==`http:`?``:(e.searchParams.set(`lang`,Y(n.locale||`en`)),e.searchParams.set(`theme`,n.theme||`light`),e.toString())}catch{return``}}),a=v(()=>r.value?new URL(r.value).hostname:``);return(n,o)=>(w(),l(`article`,Ye,[e(`h2`,null,i(t.section.title),1),r.value?(w(),l(`iframe`,{key:0,class:`tenant-home-content tenant-home-website-frame`,src:r.value,title:t.section.title,sandbox:c(J),style:x(t.section.height?{height:`${t.section.height}px`}:void 0),loading:`lazy`,referrerpolicy:`no-referrer`},null,12,Xe)):s(``,!0),r.value?(w(),l(`a`,{key:1,class:`tenant-home-website-link`,href:r.value,target:`_blank`,rel:`noopener noreferrer`},i(n.$t(`site.homeSections.websiteOpenExternal`,{host:a.value})),9,Ze)):s(``,!0)]))}}),[[`__scopeId`,`data-v-b3a0eb72`]]),$e=`profile:read credentials:read`,et=`allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox`,tt=(e,t)=>{try{if(e.kind!==`website`||!e.oauth?.client_id.trim())return null;let n=new URL(e.body),r=new URL(e.oauth.redirect_uri);return n.protocol!==`https:`||r.protocol!==`https:`||r.hash||n.username||n.password||r.username||r.password||n.origin===t||n.origin!==r.origin||!/^https:\/\//.test(t)?null:{...e.oauth,origin:n.origin}}catch{return null}},nt=e=>{if(!e||typeof e!=`object`)return null;let t=e;return t.type!==`acedatacloud:oauth:authorize`||typeof t.state!=`string`||!/^[A-Za-z0-9_-]{16,256}$/.test(t.state)||typeof t.code_challenge!=`string`||!/^[A-Za-z0-9_-]{43}$/.test(t.code_challenge)||t.code_challenge_method!==`S256`?null:{state:t.state,code_challenge:t.code_challenge,code_challenge_method:`S256`}},rt=(e,t,n,r)=>{let i=new URL(`/oauth2/authorize`,e);return i.search=new URLSearchParams({response_type:`code`,client_id:t.client_id,redirect_uri:t.redirect_uri,scope:$e,...n,embed:`studio`,embed_origin:r}).toString(),i.toString()},it={class:`tenant-home-block tenant-home-oauth`},at={key:0,role:`alert`},ot={key:0,class:`oauth-login`},st={class:`oauth-frame-region`},ct=[`src`,`title`,`sandbox`],lt=[`src`,`title`],ut=[`href`],dt=N(D({__name:`HomeOAuthWebsiteSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,a=k(),d=T(),m=T(),b=T(null),S=v(()=>tt(n.section,window.location.origin)),C=v(()=>a.getters.token?.access),D=v(()=>a.getters.user?.id||a.state.user?.id||`guest`),O=v(()=>JSON.stringify([D.value,!!C.value,S.value,n.section.body])),A=new URL(I()).origin,j=v(()=>S.value&&b.value?rt(A,S.value,b.value,window.location.origin):``),M=v(()=>{let e=new URL(n.section.body);return e.searchParams.set(`lang`,Y(n.locale||`en`)),e.searchParams.set(`theme`,n.theme||`light`),e.toString()}),N=v(()=>({height:`${Math.max(n.section.height||640,b.value?640:160)}px`})),P,F=!1,L=e=>{S.value&&d.value?.contentWindow?.postMessage(e,S.value.origin)},R=()=>{S.value&&L({type:`acedatacloud:oauth:init`,client_id:S.value.client_id,redirect_uri:S.value.redirect_uri,scope:$e})},B=()=>{P&&clearTimeout(P),b.value=null,F=!1},V=e=>{!b.value||!S.value||(L({type:`acedatacloud:oauth:result`,state:b.value.state,redirect_uri:S.value.redirect_uri,...e}),B())},H=()=>a.dispatch(`login`),U=e=>{let t=e.data;if(!(!S.value||!t||typeof t!=`object`)){if(e.origin===S.value.origin&&e.source===d.value?.contentWindow){if(t.type===`acedatacloud:oauth:ready`){R();return}let e=nt(t);if(!e||b.value)return;if(!C.value){L({type:`acedatacloud:oauth:result`,state:e.state,error:`login_required`});return}b.value=e,P=setTimeout(()=>V({error:`authorization_timeout`}),300*1e3);return}if(!(e.origin!==A||e.source!==m.value?.contentWindow||!b.value||t.state!==b.value.state)){if(t.type===`acedatacloud:oauth:session-ready`&&!F&&C.value)F=!0,m.value?.contentWindow?.postMessage({type:`acedatacloud:oauth:session`,state:b.value.state,access_token:C.value},A);else if(t.type===`acedatacloud:oauth:result`){if(t.redirect_uri!==S.value.redirect_uri)return;typeof t.code==`string`&&t.code?V({code:t.code}):typeof t.error==`string`&&V({error:t.error})}}}};return h(O,B),u(()=>window.addEventListener(`message`,U)),p(()=>{window.removeEventListener(`message`,U),B()}),(n,a)=>(w(),l(`article`,it,[e(`h2`,null,i(t.section.title),1),S.value?(w(),l(f,{key:1},[C.value?s(``,!0):(w(),l(`p`,ot,[o(c(z),{type:`primary`,onClick:H},{default:y(()=>[r(i(n.$t(`site.homeSections.oauth.login`)),1)]),_:1})])),e(`div`,st,[g((w(),l(`iframe`,{key:O.value,ref_key:`appFrame`,ref:d,src:M.value,title:t.section.title,sandbox:c(et),style:x(N.value),referrerpolicy:`no-referrer`,onLoad:R},null,44,ct)),[[E,!b.value]]),b.value?(w(),l(`iframe`,{key:0,ref_key:`authFrame`,ref:m,src:j.value,title:n.$t(`site.homeSections.oauth.authorization`),sandbox:`allow-scripts allow-same-origin`,style:x(N.value),referrerpolicy:`origin`},null,12,lt)):s(``,!0)]),b.value?(w(),_(c(z),{key:1,class:`oauth-cancel`,onClick:a[0]||=e=>V({error:`access_denied`})},{default:y(()=>[r(i(n.$t(`site.homeSections.oauth.cancel`)),1)]),_:1})):s(``,!0),e(`a`,{href:t.section.body,target:`_blank`,rel:`noopener noreferrer`},i(n.$t(`site.homeSections.websiteOpenExternal`,{host:S.value.origin})),9,ut)],64)):(w(),l(`p`,at,i(n.$t(`site.homeSections.oauth.invalid`)),1))]))}}),[[`__scopeId`,`data-v-8f954105`]]),ft={key:0,class:`custom-sections`},pt=D({__name:`HomeCustomSections`,props:{sections:{},site:{},locale:{}},setup(e){let t=e,n=()=>document.documentElement.classList.contains(`dark`)?`dark`:`light`,r=T(n()),i;u(()=>{r.value=n(),i=new MutationObserver(()=>{r.value=n()}),i.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]})}),p(()=>i?.disconnect());let a={markdown:Je,html:Ke,website:Qe},o=v(()=>t.sections.filter(e=>a[e.kind]));return(t,n)=>o.value.length?(w(),l(`section`,ft,[(w(!0),l(f,null,S(o.value,t=>(w(),_(C(t.kind===`website`&&t.oauth?dt:a[t.kind]),{key:t.id,section:t,locale:t.kind===`html`||t.kind===`website`?e.locale:void 0,theme:t.kind===`html`||t.kind===`website`?r.value:void 0},null,8,[`section`,`locale`,`theme`]))),128))])):s(``,!0)}}),$=12,mt=D({name:`StudioHome`,components:{ArrowUpToLine:se,CategoryTiles:ge,ShowcaseGrid:oe,ShowcaseDetailDialog:ae,HomeCarousel:Ne,HomeCustomSections:pt},data(){return{showBackToTop:!1,failedIcons:{},failedBannerImages:{},failedCategoryImages:{},rawBanners:[],bannerLoadGeneration:0,rawShowcases:[],rawHomeSections:[],homeSectionLoadGeneration:0,showcaseLoadGeneration:0,visibleShowcaseCount:$,showcaseLoadObserver:void 0,showcaseAutoLoadArmed:!0,selectedShowcase:void 0}},computed:{site(){return this.$store.state.site},siteLoaded(){return!!this.site?.id},bannerEnabled(){return G(this.site,`banner`)},categoriesEnabled(){return G(this.site,`categories`)},showcaseEnabled(){return G(this.site,`showcase`)},bannerRequestKey(){return!this.siteLoaded||!this.bannerEnabled?``:`${this.site?.id||``}|${j(this.site)}|${String(this.$i18n.locale||`en`)}`},showcaseRequestKey(){return!this.siteLoaded||!this.showcaseEnabled?``:`${this.site?.id||``}|${String(this.$i18n.locale||`en`)}`},homeSectionRequestKey(){return!this.siteLoaded||!M()?``:`${this.site?.id||``}|${j(this.site)}|${String(this.$i18n.locale||`en`)}`},enabledKeys(){if(!this.siteLoaded)return new Set;let e=this.site?.features??{};return new Set(L.filter(t=>e[t]?.enabled&&A(t)))},banners(){let e=te(this.site),t=W.filter(t=>this.enabledKeys.has(t.capability)&&!e.has(t.id)).map(e=>({...this.resolve(e),id:e.id,imageUrl:this.failedBannerImages[e.id]?``:e.imageUrl,eyebrow:this.$t(e.eyebrowKey),title:this.$t(e.titleKey),target:{routeName:e.routeName}})),n=String(this.$i18n.locale||`en`),r=this.rawBanners.map(e=>{let t=K(e.title,n);return{id:e.id||`custom-${e.sort_order||0}`,name:t,eyebrow:``,title:t,description:K(e.subtitle,n),icon:this.site?.logo||this.site?.favicon||``,defaultIcon:this.site?.logo||this.site?.favicon||``,imageUrl:this.failedBannerImages[e.id||``]?``:e.image_url||``,target:e.link_url?{href:e.link_url}:null}});return[...t,...r]},categories(){let e=[],t=ne(this.site),n=this.site?.home?.scenes;if(n!=null){for(let t of n){if(t.visible===!1)continue;let n=t.tools.flatMap(e=>{let t=ee.get(e.capability);return!t||!this.enabledKeys.has(e.capability)?[]:[this.resolve(t)]});n.length&&e.push({id:t.id,title:t.title,description:t.description,imageUrl:this.failedCategoryImages[t.id]?``:t.image_url||``,items:n})}return e}for(let n of re){if(t.has(n.id))continue;let r=n.candidates.filter(e=>this.enabledKeys.has(e.capability)).map(e=>this.resolve(e));r.length&&e.push({id:n.id,title:this.$t(n.titleKey),description:this.$t(n.descriptionKey),imageUrl:this.failedCategoryImages[n.id]?``:n.imageUrl,focalPoint:n.focalPoint,items:r})}return e},resolvedShowcases(){let e=this.site;return e?this.rawShowcases.map(t=>ie(t,e)).filter(e=>!!e).map(e=>({...e,icon:this.failedIcons[e.capability]?e.defaultIcon:e.icon})):[]},visibleShowcases(){return this.resolvedShowcases.slice(0,this.visibleShowcaseCount)},hasMoreShowcases(){return this.visibleShowcaseCount<this.resolvedShowcases.length}},watch:{bannerRequestKey:{immediate:!0,handler(e){e?this.loadBanners():(this.bannerLoadGeneration+=1,this.rawBanners=[],this.failedBannerImages={})}},homeSectionRequestKey:{immediate:!0,handler(e){e?this.loadHomeSections():(this.homeSectionLoadGeneration+=1,this.rawHomeSections=[])}},showcaseRequestKey:{immediate:!0,handler(e){e?this.loadShowcases():(this.showcaseLoadGeneration+=1,this.rawShowcases=[],this.visibleShowcaseCount=$,this.selectedShowcase=void 0)}},hasMoreShowcases(){this.$nextTick(()=>this.observeShowcaseLoadMore())}},mounted(){this.setupShowcaseLoadObserver()},beforeUnmount(){this.bannerLoadGeneration+=1,this.homeSectionLoadGeneration+=1,this.showcaseLoadGeneration+=1,this.showcaseLoadObserver?.disconnect()},methods:{onHomeScroll(e){this.showBackToTop=e.currentTarget.scrollTop>300},scrollToTop(){let e=this.$refs.homeScroll;e.focus({preventScroll:!0}),e.scrollTo({top:0,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`})},resolve(e){let t=F[e.capability],n=H(this.site,e.capability,e.defaultName,t);return{capability:e.capability,routeName:e.routeName,name:n.displayName,description:e.descriptionKey?this.$t(e.descriptionKey):``,icon:this.failedIcons[e.capability]?t:n.iconUrl,defaultIcon:t,imageUrl:e.imageUrl,focalPoint:e.focalPoint}},async loadBanners(){if(!this.bannerRequestKey)return;let e=this.bannerRequestKey,t=++this.bannerLoadGeneration;this.rawBanners=[];try{let n=await V.getPublic(j(this.site));t===this.bannerLoadGeneration&&e===this.bannerRequestKey&&(this.rawBanners=Array.isArray(n.data)?n.data:[])}catch{t===this.bannerLoadGeneration&&e===this.bannerRequestKey&&(this.rawBanners=[])}},async loadHomeSections(){if(!this.homeSectionRequestKey)return;let e=this.homeSectionRequestKey,t=++this.homeSectionLoadGeneration;this.rawHomeSections=[];try{let n=await R.getPublic(j(this.site),String(this.$i18n.locale||`en`));t===this.homeSectionLoadGeneration&&e===this.homeSectionRequestKey&&(this.rawHomeSections=Array.isArray(n.data)?n.data:[])}catch{t===this.homeSectionLoadGeneration&&e===this.homeSectionRequestKey&&(this.rawHomeSections=[])}},async loadShowcases(){if(!this.showcaseRequestKey)return;let e=this.showcaseRequestKey,t=++this.showcaseLoadGeneration,n=String(this.$i18n.locale||`en`);this.visibleShowcaseCount=$,this.showcaseAutoLoadArmed=!0,this.rawShowcases=[],this.selectedShowcase=void 0;try{let r=await P.list(void 0,n);t===this.showcaseLoadGeneration&&e===this.showcaseRequestKey&&(this.rawShowcases=Array.isArray(r.data)?r.data:[])}catch{t===this.showcaseLoadGeneration&&e===this.showcaseRequestKey&&(this.rawShowcases=[])}},loadMoreShowcases(){this.visibleShowcaseCount=Math.min(this.visibleShowcaseCount+$,this.resolvedShowcases.length)},onShowcaseLoadMoreClick(){this.showcaseAutoLoadArmed=!1,this.loadMoreShowcases()},setupShowcaseLoadObserver(){`IntersectionObserver`in window&&(this.showcaseLoadObserver=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting){this.showcaseAutoLoadArmed=!0;continue}this.showcaseAutoLoadArmed&&(this.showcaseAutoLoadArmed=!1,this.loadMoreShowcases())}},{root:this.$el,rootMargin:`400px 0px`}),this.observeShowcaseLoadMore())},observeShowcaseLoadMore(){this.showcaseLoadObserver?.disconnect();let e=this.$refs.showcaseLoadMore;e instanceof HTMLElement&&this.showcaseLoadObserver?.observe(e)},onIconError(e){e.icon!==e.defaultIcon&&(this.failedIcons[e.capability]=!0)},onShowcaseIconError(e){e.icon!==e.defaultIcon&&(this.failedIcons[e.capability]=!0)},onImageError(e){this.failedBannerImages[e.id]=!0},onCategoryImageError(e){this.failedCategoryImages[e]=!0}}}),ht={class:`dashboard`},gt=[`aria-label`,`title`],_t=[`aria-label`];function vt(t,n,r,a,c,u){let d=m(`home-carousel`),f=m(`category-tiles`),p=m(`home-custom-sections`),h=m(`showcase-grid`),g=m(`ArrowUpToLine`),v=m(`showcase-detail-dialog`);return t.siteLoaded?(w(),l(`main`,{key:0,ref:`homeScroll`,class:`studio-home`,tabindex:`-1`,onScrollPassive:n[4]||=(...e)=>t.onHomeScroll&&t.onHomeScroll(...e)},[e(`div`,ht,[t.bannerEnabled&&t.banners.length?(w(),_(d,{key:0,slides:t.banners,onImageError:t.onImageError},null,8,[`slides`,`onImageError`])):s(``,!0),t.categoriesEnabled&&t.categories.length?(w(),_(f,{key:1,items:t.categories,heading:t.$t(`intro.home.quick.title`),subtitle:t.$t(`intro.home.quick.subtitle`),onCategoryImageError:t.onCategoryImageError,onIconError:t.onIconError},null,8,[`items`,`heading`,`subtitle`,`onCategoryImageError`,`onIconError`])):s(``,!0),t.rawHomeSections.length?(w(),_(p,{key:2,sections:t.rawHomeSections,site:t.site,locale:String(t.$i18n.locale||`en`)},null,8,[`sections`,`site`,`locale`])):s(``,!0),t.showcaseEnabled&&t.visibleShowcases.length?(w(),_(h,{key:3,items:t.visibleShowcases,eyebrow:t.$t(`intro.home.showcase.eyebrow`),title:t.$t(`intro.home.showcase.title`),subtitle:t.$t(`intro.home.showcase.subtitle`),"aria-label":t.$t(`intro.home.showcase.title`),"detail-preview":``,onSelect:n[0]||=e=>t.selectedShowcase=e,onIconError:t.onShowcaseIconError},null,8,[`items`,`eyebrow`,`title`,`subtitle`,`aria-label`,`onIconError`])):s(``,!0),t.showcaseEnabled&&t.hasMoreShowcases?(w(),l(`button`,{key:4,ref:`showcaseLoadMore`,type:`button`,class:`showcase-load-more`,onClick:n[1]||=(...e)=>t.onShowcaseLoadMoreClick&&t.onShowcaseLoadMoreClick(...e)},i(t.$t(`intro.home.showcase.loadMore`)),513)):s(``,!0)]),o(b,{name:`back-to-top`},{default:y(()=>[t.showBackToTop?(w(),l(`button`,{key:0,type:`button`,class:`home-back-to-top`,"aria-label":t.$t(`intro.home.backToTop`),title:t.$t(`intro.home.backToTop`),onClick:n[2]||=(...e)=>t.scrollToTop&&t.scrollToTop(...e)},[o(g,{size:14,"stroke-width":1.8,"aria-hidden":`true`})],8,gt)):s(``,!0)]),_:1}),o(v,{item:t.selectedShowcase,onClose:n[3]||=e=>t.selectedShowcase=void 0},null,8,[`item`])],544)):(w(),l(`div`,{key:1,class:`home-loading`,role:`status`,"aria-label":t.$t(`common.status.loading`)},[...n[5]||=[e(`span`,null,null,-1)]],8,_t))}var yt=N(mt,[[`render`,vt],[`__scopeId`,`data-v-b1f4587d`]]);export{yt as default};
88
+ ${r?Re:``}`,Q=(e,t,n)=>{let r=RegExp(`<${t}\\b[^>]*>`,`i`).exec(e);if(!r||r.index===void 0)return e;let i=r.index+r[0].length;return`${e.slice(0,i)}${n}${e.slice(i)}`},Be=(e,t,n,r)=>e.replace(/<html\b([^>]*)>/i,(e,i)=>`<html${i.replace(/\s(?:lang|dir|data-lang|data-theme)\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,``)} lang="${t}" dir="${n}" data-lang="${t}" data-theme="${r}">`),Ve=(e,t=`en`,n=!0,r=`light`)=>{let i=Y(t),a=X(i);if(!/<html\b[^>]*>/i.test(e))return`<!DOCTYPE html><html lang="${i}" dir="${a}" data-lang="${i}" data-theme="${r}"><head>${Z(i,a,r,n)}</head><body>${e}</body></html>`;let o=Be(e,i,a,r);return/<head\b[^>]*>/i.test(o)?Q(o,`head`,Z(i,a,r,n)):Q(o,`html`,`<head>${Z(i,a,r,n)}</head>`)},He=e=>{if(!e||typeof e!=`object`)return null;let t=e;return t.type!==`acedatacloud:home-html-iframe-resize`||typeof t.height!=`number`||!Number.isFinite(t.height)?null:Math.min(Fe,Math.max(160,Math.ceil(t.height)))},Ue={class:`tenant-home-block tenant-home-html`},We=[`title`,`sandbox`,`srcdoc`],Ge=[`lang`,`dir`,`data-lang`,`data-theme`,`innerHTML`],Ke=N(D({__name:`HomeHtmlSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,r=v(()=>Y(n.locale||`en`)),a=v(()=>X(r.value)),o=T(),s=v(()=>n.section.height??null),d=v(()=>s.value===null),f=T(s.value??160),m=v(()=>Ve(n.section.body,r.value,d.value,n.theme||`light`)),g=e=>{if(!d.value||e.source!==o.value?.contentWindow)return;let t=He(e.data);t!==null&&(f.value=t)},_=()=>{d.value&&o.value?.contentWindow?.postMessage({type:q},`*`)};return h(()=>[n.section.body,n.section.height,n.locale,n.theme],()=>{f.value=s.value??160}),u(()=>{window.addEventListener(`message`,g),_()}),p(()=>window.removeEventListener(`message`,g)),(n,s)=>(w(),l(`article`,Ue,[e(`h2`,null,i(t.section.title),1),t.section.render_in_iframe?(w(),l(`iframe`,{key:0,ref_key:`frame`,ref:o,class:`tenant-home-content tenant-home-iframe`,title:t.section.title,sandbox:c(J),srcdoc:m.value,style:x({height:`${f.value}px`}),loading:`lazy`,referrerpolicy:`strict-origin-when-cross-origin`,onLoad:_},null,44,We)):(w(),l(`div`,{key:1,class:`tenant-home-content`,lang:r.value,dir:a.value,"data-lang":r.value,"data-theme":t.theme||`light`,style:x(t.section.height==null?void 0:{height:`${t.section.height}px`,overflowY:`auto`}),innerHTML:t.section.body},null,12,Ge))]))}}),[[`__scopeId`,`data-v-ae8f8418`]]),qe={class:`tenant-home-block tenant-home-markdown`},Je=D({__name:`HomeMarkdownSection`,props:{section:{}},setup(t){return(n,r)=>(w(),l(`article`,qe,[e(`h2`,null,i(t.section.title),1),o(U,{class:`tenant-home-content`,source:t.section.body,style:x(t.section.height==null?void 0:{height:`${t.section.height}px`,overflowY:`auto`}),sanitize:``},null,8,[`source`,`style`])]))}}),Ye={class:`tenant-home-block tenant-home-website`},Xe=[`src`,`title`,`sandbox`],Ze=[`href`],Qe=N(D({__name:`HomeWebsiteSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,r=v(()=>{try{let e=new URL(n.section.body);return e.protocol!==`https:`&&e.protocol!==`http:`?``:(e.searchParams.set(`lang`,Y(n.locale||`en`)),e.searchParams.set(`theme`,n.theme||`light`),e.toString())}catch{return``}}),a=v(()=>r.value?new URL(r.value).hostname:``);return(n,o)=>(w(),l(`article`,Ye,[e(`h2`,null,i(t.section.title),1),r.value?(w(),l(`iframe`,{key:0,class:`tenant-home-content tenant-home-website-frame`,src:r.value,title:t.section.title,sandbox:c(J),style:x(t.section.height?{height:`${t.section.height}px`}:void 0),loading:`lazy`,referrerpolicy:`no-referrer`},null,12,Xe)):s(``,!0),r.value?(w(),l(`a`,{key:1,class:`tenant-home-website-link`,href:r.value,target:`_blank`,rel:`noopener noreferrer`},i(n.$t(`site.homeSections.websiteOpenExternal`,{host:a.value})),9,Ze)):s(``,!0)]))}}),[[`__scopeId`,`data-v-b3a0eb72`]]),$e=`profile:read credentials:read`,et=`allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox`,tt=(e,t)=>{try{if(e.kind!==`website`||!e.oauth?.client_id.trim())return null;let n=new URL(e.body),r=new URL(e.oauth.redirect_uri);return n.protocol!==`https:`||r.protocol!==`https:`||r.hash||n.username||n.password||r.username||r.password||n.origin===t||n.origin!==r.origin||!/^https:\/\//.test(t)?null:{...e.oauth,origin:n.origin}}catch{return null}},nt=e=>{if(!e||typeof e!=`object`)return null;let t=e;return t.type!==`acedatacloud:oauth:authorize`||typeof t.state!=`string`||!/^[A-Za-z0-9_-]{16,256}$/.test(t.state)||typeof t.code_challenge!=`string`||!/^[A-Za-z0-9_-]{43}$/.test(t.code_challenge)||t.code_challenge_method!==`S256`?null:{state:t.state,code_challenge:t.code_challenge,code_challenge_method:`S256`}},rt=(e,t,n,r)=>{let i=new URL(`/oauth2/authorize`,e);return i.search=new URLSearchParams({response_type:`code`,client_id:t.client_id,redirect_uri:t.redirect_uri,scope:$e,...n,embed:`studio`,embed_origin:r}).toString(),i.toString()},it={class:`tenant-home-block tenant-home-oauth`},at={key:0,role:`alert`},ot={key:0,class:`oauth-login`},st={class:`oauth-frame-region`},ct=[`src`,`title`,`sandbox`],lt=[`src`,`title`],ut=[`href`],dt=N(D({__name:`HomeOAuthWebsiteSection`,props:{section:{},locale:{},theme:{}},setup(t){let n=t,a=k(),d=T(),m=T(),b=T(null),S=v(()=>tt(n.section,window.location.origin)),C=v(()=>a.getters.token?.access),D=v(()=>a.getters.user?.id||a.state.user?.id||`guest`),O=v(()=>JSON.stringify([D.value,!!C.value,S.value,n.section.body])),A=new URL(I()).origin,j=v(()=>S.value&&b.value?rt(A,S.value,b.value,window.location.origin):``),M=v(()=>{let e=new URL(n.section.body);return e.searchParams.set(`lang`,Y(n.locale||`en`)),e.searchParams.set(`theme`,n.theme||`light`),e.toString()}),N=v(()=>({height:`${Math.max(n.section.height||640,b.value?640:160)}px`})),P,F=!1,L=e=>{S.value&&d.value?.contentWindow?.postMessage(e,S.value.origin)},R=()=>{S.value&&L({type:`acedatacloud:oauth:init`,client_id:S.value.client_id,redirect_uri:S.value.redirect_uri,scope:$e})},B=()=>{P&&clearTimeout(P),b.value=null,F=!1},V=e=>{!b.value||!S.value||(L({type:`acedatacloud:oauth:result`,state:b.value.state,redirect_uri:S.value.redirect_uri,...e}),B())},H=()=>a.dispatch(`login`),U=e=>{let t=e.data;if(!(!S.value||!t||typeof t!=`object`)){if(e.origin===S.value.origin&&e.source===d.value?.contentWindow){if(t.type===`acedatacloud:oauth:ready`){R();return}let e=nt(t);if(!e||b.value)return;if(!C.value){L({type:`acedatacloud:oauth:result`,state:e.state,error:`login_required`});return}b.value=e,P=setTimeout(()=>V({error:`authorization_timeout`}),300*1e3);return}if(!(e.origin!==A||e.source!==m.value?.contentWindow||!b.value||t.state!==b.value.state)){if(t.type===`acedatacloud:oauth:session-ready`&&!F&&C.value)F=!0,m.value?.contentWindow?.postMessage({type:`acedatacloud:oauth:session`,state:b.value.state,access_token:C.value},A);else if(t.type===`acedatacloud:oauth:result`){if(t.redirect_uri!==S.value.redirect_uri)return;typeof t.code==`string`&&t.code?V({code:t.code}):typeof t.error==`string`&&V({error:t.error})}}}};return h(O,B),u(()=>window.addEventListener(`message`,U)),p(()=>{window.removeEventListener(`message`,U),B()}),(n,a)=>(w(),l(`article`,it,[e(`h2`,null,i(t.section.title),1),S.value?(w(),l(f,{key:1},[C.value?s(``,!0):(w(),l(`p`,ot,[o(c(z),{type:`primary`,onClick:H},{default:y(()=>[r(i(n.$t(`site.homeSections.oauth.login`)),1)]),_:1})])),e(`div`,st,[g((w(),l(`iframe`,{key:O.value,ref_key:`appFrame`,ref:d,src:M.value,title:t.section.title,sandbox:c(et),style:x(N.value),referrerpolicy:`no-referrer`,onLoad:R},null,44,ct)),[[E,!b.value]]),b.value?(w(),l(`iframe`,{key:0,ref_key:`authFrame`,ref:m,src:j.value,title:n.$t(`site.homeSections.oauth.authorization`),sandbox:`allow-scripts allow-same-origin`,style:x(N.value),referrerpolicy:`origin`},null,12,lt)):s(``,!0)]),b.value?(w(),_(c(z),{key:1,class:`oauth-cancel`,onClick:a[0]||=e=>V({error:`access_denied`})},{default:y(()=>[r(i(n.$t(`site.homeSections.oauth.cancel`)),1)]),_:1})):s(``,!0),e(`a`,{href:t.section.body,target:`_blank`,rel:`noopener noreferrer`},i(n.$t(`site.homeSections.websiteOpenExternal`,{host:S.value.origin})),9,ut)],64)):(w(),l(`p`,at,i(n.$t(`site.homeSections.oauth.invalid`)),1))]))}}),[[`__scopeId`,`data-v-8f954105`]]),ft={key:0,class:`custom-sections`},pt=D({__name:`HomeCustomSections`,props:{sections:{},site:{},locale:{}},setup(e){let t=e,n=()=>document.documentElement.classList.contains(`dark`)?`dark`:`light`,r=T(n()),i;u(()=>{r.value=n(),i=new MutationObserver(()=>{r.value=n()}),i.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]})}),p(()=>i?.disconnect());let a={markdown:Je,html:Ke,website:Qe},o=v(()=>t.sections.filter(e=>a[e.kind]));return(t,n)=>o.value.length?(w(),l(`section`,ft,[(w(!0),l(f,null,S(o.value,t=>(w(),_(C(t.kind===`website`&&t.oauth?dt:a[t.kind]),{key:t.id,section:t,locale:t.kind===`html`||t.kind===`website`?e.locale:void 0,theme:t.kind===`html`||t.kind===`website`?r.value:void 0},null,8,[`section`,`locale`,`theme`]))),128))])):s(``,!0)}}),$=12,mt=D({name:`StudioHome`,components:{ArrowUpToLine:se,CategoryTiles:ge,ShowcaseGrid:oe,ShowcaseDetailDialog:ae,HomeCarousel:Ne,HomeCustomSections:pt},data(){return{showBackToTop:!1,failedIcons:{},failedBannerImages:{},failedCategoryImages:{},rawBanners:[],bannerLoadGeneration:0,rawShowcases:[],rawHomeSections:[],homeSectionLoadGeneration:0,showcaseLoadGeneration:0,visibleShowcaseCount:$,showcaseLoadObserver:void 0,showcaseAutoLoadArmed:!0,selectedShowcase:void 0}},computed:{site(){return this.$store.state.site},siteLoaded(){return!!this.site?.id},bannerEnabled(){return G(this.site,`banner`)},categoriesEnabled(){return G(this.site,`categories`)},showcaseEnabled(){return G(this.site,`showcase`)},bannerRequestKey(){return!this.siteLoaded||!this.bannerEnabled?``:`${this.site?.id||``}|${A(this.site)}|${String(this.$i18n.locale||`en`)}`},showcaseRequestKey(){return!this.siteLoaded||!this.showcaseEnabled?``:`${this.site?.id||``}|${String(this.$i18n.locale||`en`)}`},homeSectionRequestKey(){return!this.siteLoaded||!M()?``:`${this.site?.id||``}|${A(this.site)}|${String(this.$i18n.locale||`en`)}`},enabledKeys(){if(!this.siteLoaded)return new Set;let e=this.site?.features??{};return new Set(L.filter(t=>e[t]?.enabled&&j(t)))},banners(){let e=te(this.site),t=W.filter(t=>this.enabledKeys.has(t.capability)&&!e.has(t.id)).map(e=>({...this.resolve(e),id:e.id,imageUrl:this.failedBannerImages[e.id]?``:e.imageUrl,eyebrow:this.$t(e.eyebrowKey),title:this.$t(e.titleKey),target:{routeName:e.routeName}})),n=String(this.$i18n.locale||`en`),r=this.rawBanners.map(e=>{let t=K(e.title,n);return{id:e.id||`custom-${e.sort_order||0}`,name:t,eyebrow:``,title:t,description:K(e.subtitle,n),icon:this.site?.logo||this.site?.favicon||``,defaultIcon:this.site?.logo||this.site?.favicon||``,imageUrl:this.failedBannerImages[e.id||``]?``:e.image_url||``,target:e.link_url?{href:e.link_url}:null}});return[...t,...r]},categories(){let e=[],t=ne(this.site),n=this.site?.home?.scenes;if(n!=null){for(let t of n){if(t.visible===!1)continue;let n=t.tools.flatMap(e=>{let t=ee.get(e.capability);return!t||!this.enabledKeys.has(e.capability)?[]:[this.resolve(t)]});n.length&&e.push({id:t.id,title:t.title,description:t.description,imageUrl:this.failedCategoryImages[t.id]?``:t.image_url||``,items:n})}return e}for(let n of re){if(t.has(n.id))continue;let r=n.candidates.filter(e=>this.enabledKeys.has(e.capability)).map(e=>this.resolve(e));r.length&&e.push({id:n.id,title:this.$t(n.titleKey),description:this.$t(n.descriptionKey),imageUrl:this.failedCategoryImages[n.id]?``:n.imageUrl,focalPoint:n.focalPoint,items:r})}return e},resolvedShowcases(){let e=this.site;return e?this.rawShowcases.map(t=>ie(t,e)).filter(e=>!!e).map(e=>({...e,icon:this.failedIcons[e.capability]?e.defaultIcon:e.icon})):[]},visibleShowcases(){return this.resolvedShowcases.slice(0,this.visibleShowcaseCount)},hasMoreShowcases(){return this.visibleShowcaseCount<this.resolvedShowcases.length}},watch:{bannerRequestKey:{immediate:!0,handler(e){e?this.loadBanners():(this.bannerLoadGeneration+=1,this.rawBanners=[],this.failedBannerImages={})}},homeSectionRequestKey:{immediate:!0,handler(e){e?this.loadHomeSections():(this.homeSectionLoadGeneration+=1,this.rawHomeSections=[])}},showcaseRequestKey:{immediate:!0,handler(e){e?this.loadShowcases():(this.showcaseLoadGeneration+=1,this.rawShowcases=[],this.visibleShowcaseCount=$,this.selectedShowcase=void 0)}},hasMoreShowcases(){this.$nextTick(()=>this.observeShowcaseLoadMore())}},mounted(){this.setupShowcaseLoadObserver()},beforeUnmount(){this.bannerLoadGeneration+=1,this.homeSectionLoadGeneration+=1,this.showcaseLoadGeneration+=1,this.showcaseLoadObserver?.disconnect()},methods:{onHomeScroll(e){this.showBackToTop=e.currentTarget.scrollTop>300},scrollToTop(){let e=this.$refs.homeScroll;e.focus({preventScroll:!0}),e.scrollTo({top:0,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`})},resolve(e){let t=F[e.capability],n=H(this.site,e.capability,e.defaultName,t);return{capability:e.capability,routeName:e.routeName,name:n.displayName,description:e.descriptionKey?this.$t(e.descriptionKey):``,icon:this.failedIcons[e.capability]?t:n.iconUrl,defaultIcon:t,imageUrl:e.imageUrl,focalPoint:e.focalPoint}},async loadBanners(){if(!this.bannerRequestKey)return;let e=this.bannerRequestKey,t=++this.bannerLoadGeneration;this.rawBanners=[];try{let n=await V.getPublic(A(this.site));t===this.bannerLoadGeneration&&e===this.bannerRequestKey&&(this.rawBanners=Array.isArray(n.data)?n.data:[])}catch{t===this.bannerLoadGeneration&&e===this.bannerRequestKey&&(this.rawBanners=[])}},async loadHomeSections(){if(!this.homeSectionRequestKey)return;let e=this.homeSectionRequestKey,t=++this.homeSectionLoadGeneration;this.rawHomeSections=[];try{let n=await R.getPublic(A(this.site),String(this.$i18n.locale||`en`));t===this.homeSectionLoadGeneration&&e===this.homeSectionRequestKey&&(this.rawHomeSections=Array.isArray(n.data)?n.data:[])}catch{t===this.homeSectionLoadGeneration&&e===this.homeSectionRequestKey&&(this.rawHomeSections=[])}},async loadShowcases(){if(!this.showcaseRequestKey)return;let e=this.showcaseRequestKey,t=++this.showcaseLoadGeneration,n=String(this.$i18n.locale||`en`);this.visibleShowcaseCount=$,this.showcaseAutoLoadArmed=!0,this.rawShowcases=[],this.selectedShowcase=void 0;try{let r=await P.list(void 0,n);t===this.showcaseLoadGeneration&&e===this.showcaseRequestKey&&(this.rawShowcases=Array.isArray(r.data)?r.data:[])}catch{t===this.showcaseLoadGeneration&&e===this.showcaseRequestKey&&(this.rawShowcases=[])}},loadMoreShowcases(){this.visibleShowcaseCount=Math.min(this.visibleShowcaseCount+$,this.resolvedShowcases.length)},onShowcaseLoadMoreClick(){this.showcaseAutoLoadArmed=!1,this.loadMoreShowcases()},setupShowcaseLoadObserver(){`IntersectionObserver`in window&&(this.showcaseLoadObserver=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting){this.showcaseAutoLoadArmed=!0;continue}this.showcaseAutoLoadArmed&&(this.showcaseAutoLoadArmed=!1,this.loadMoreShowcases())}},{root:this.$el,rootMargin:`400px 0px`}),this.observeShowcaseLoadMore())},observeShowcaseLoadMore(){this.showcaseLoadObserver?.disconnect();let e=this.$refs.showcaseLoadMore;e instanceof HTMLElement&&this.showcaseLoadObserver?.observe(e)},onIconError(e){e.icon!==e.defaultIcon&&(this.failedIcons[e.capability]=!0)},onShowcaseIconError(e){e.icon!==e.defaultIcon&&(this.failedIcons[e.capability]=!0)},onImageError(e){this.failedBannerImages[e.id]=!0},onCategoryImageError(e){this.failedCategoryImages[e]=!0}}}),ht={class:`dashboard`},gt=[`aria-label`,`title`],_t=[`aria-label`];function vt(t,n,r,a,c,u){let d=m(`home-carousel`),f=m(`category-tiles`),p=m(`home-custom-sections`),h=m(`showcase-grid`),g=m(`ArrowUpToLine`),v=m(`showcase-detail-dialog`);return t.siteLoaded?(w(),l(`main`,{key:0,ref:`homeScroll`,class:`studio-home`,tabindex:`-1`,onScrollPassive:n[4]||=(...e)=>t.onHomeScroll&&t.onHomeScroll(...e)},[e(`div`,ht,[t.bannerEnabled&&t.banners.length?(w(),_(d,{key:0,slides:t.banners,onImageError:t.onImageError},null,8,[`slides`,`onImageError`])):s(``,!0),t.categoriesEnabled&&t.categories.length?(w(),_(f,{key:1,items:t.categories,heading:t.$t(`intro.home.quick.title`),subtitle:t.$t(`intro.home.quick.subtitle`),onCategoryImageError:t.onCategoryImageError,onIconError:t.onIconError},null,8,[`items`,`heading`,`subtitle`,`onCategoryImageError`,`onIconError`])):s(``,!0),t.rawHomeSections.length?(w(),_(p,{key:2,sections:t.rawHomeSections,site:t.site,locale:String(t.$i18n.locale||`en`)},null,8,[`sections`,`site`,`locale`])):s(``,!0),t.showcaseEnabled&&t.visibleShowcases.length?(w(),_(h,{key:3,items:t.visibleShowcases,eyebrow:t.$t(`intro.home.showcase.eyebrow`),title:t.$t(`intro.home.showcase.title`),subtitle:t.$t(`intro.home.showcase.subtitle`),"aria-label":t.$t(`intro.home.showcase.title`),"detail-preview":``,onSelect:n[0]||=e=>t.selectedShowcase=e,onIconError:t.onShowcaseIconError},null,8,[`items`,`eyebrow`,`title`,`subtitle`,`aria-label`,`onIconError`])):s(``,!0),t.showcaseEnabled&&t.hasMoreShowcases?(w(),l(`button`,{key:4,ref:`showcaseLoadMore`,type:`button`,class:`showcase-load-more`,onClick:n[1]||=(...e)=>t.onShowcaseLoadMoreClick&&t.onShowcaseLoadMoreClick(...e)},i(t.$t(`intro.home.showcase.loadMore`)),513)):s(``,!0)]),o(b,{name:`back-to-top`},{default:y(()=>[t.showBackToTop?(w(),l(`button`,{key:0,type:`button`,class:`home-back-to-top`,"aria-label":t.$t(`intro.home.backToTop`),title:t.$t(`intro.home.backToTop`),onClick:n[2]||=(...e)=>t.scrollToTop&&t.scrollToTop(...e)},[o(g,{size:14,"stroke-width":1.8,"aria-hidden":`true`})],8,gt)):s(``,!0)]),_:1}),o(v,{item:t.selectedShowcase,onClose:n[3]||=e=>t.selectedShowcase=void 0},null,8,[`item`])],544)):(w(),l(`div`,{key:1,class:`home-loading`,role:`status`,"aria-label":t.$t(`common.status.loading`)},[...n[5]||=[e(`span`,null,null,-1)]],8,_t))}var yt=N(mt,[[`render`,vt],[`__scopeId`,`data-v-b1f4587d`]]);export{yt 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{t as v}from"./upload-Bf6gfU9e.js";import{t as y}from"./tooltip-Boxqz0SE.js";import{t as b}from"./alert-BprQRUmf.js";import{_ as x,v as S}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as C}from"./drawer-COHNQWqs.js";import{t as w}from"./switch-m3y06b9C.js";import{t as T}from"./clock-Bn9Jxy03.js";import{t as E}from"./hash-DpHkwauu.js";import{t as D}from"./info-7bwgfIAM.js";import{a as O,i as k,n as A,r as j,t as ee}from"./pagination-4wfrJiA1.js";import{t as te}from"./trash-2-BUBbANzL.js";import{t as ne}from"./triangle-alert-C8sUN5Zy.js";import{t as M}from"./upload-DX4Z0k_g.js";import{t as N}from"./wand-sparkles-C6iRRX45.js";import"./constants-kiieigwv.js";import{D as P,Mi as F,Na as I,Pi as L,Qa as R,Rr as z,T as re,Tn as ie,at as ae,ct as B,lt as V,oi as H,ot as U,qi as W,ri as G,st as K,ta as q,tt as J,za as Y,zr as X}from"./index-_Awgv-in.js";import{t as oe}from"./CopyToClipboard-HbsY8Q0t.js";import{t as se}from"./ReportButton-CN9sBNWJ.js";import{t as ce}from"./FilePreview-DjFGb_i7.js";import{t as Z}from"./ImagePreview-BOJnqkhj.js";import{n as le}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ue}from"./ServicePricingSummary-BwJqvNoc.js";import{t as Q}from"./VideoPlayer-DTqRjdRG.js";import{t as de}from"./ScenarioPaymentMode--vT56PK3.js";import{t as fe}from"./ApiCodeButton-BAuef93l.js";import{t as pe}from"./BotPlaceholder-COCaLEsI.js";import{t as me}from"./taskPollingMixin-CcLxtz8z.js";var he=_({name:`LayoutLuma`,components:{MagicIcon:N,ElDrawer:C,ElButton:R},mixins:[le]}),ge={class:`main flex flex-row flex-1`},_e={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)]`},ve={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ye(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ge,[e(`div`,_e,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ve,[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 be=P(he,[[`render`,ye],[`__scopeId`,`data-v-4ab11479`]]),xe=_({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`},Ee={class:`flex justify-end items-center`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Se,[e(`div`,Ce,[e(`div`,we,[e(`span`,Te,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,Ee,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Oe=P(xe,[[`render`,De]]),ke=_({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`relative`},je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`};function Fe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`span`,Ne,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,Pe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ie=P(ke,[[`render`,Fe]]),Le=_({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Re={class:`relative`},ze={class:`flex justify-between`},Be={class:`flex justify-start items-center`},Ve={class:`text-sm font-bold`},He={class:`flex justify-end items-center`};function Ue(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`span`,Ve,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,He,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var We=P(Le,[[`render`,Ue]]),Ge=_({name:`EndImage`,components:{UploadIcon:M,ElUpload:v,ElButton:R,ImagePreview:Z,InfoIcon:O},mixins:[V,B,U,J],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Ke={class:`relative`},qe={class:`flex justify-between`},Je={class:`flex justify-start items-center`},Ye={class:`text-sm font-bold`};function Xe(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Ke,[e(`div`,qe,[e(`div`,Je,[e(`span`,Ye,i(t.$t(`luma.name.endImageUrl`)),1),a(g,{content:t.$t(`luma.description.endImageUrl`)},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:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,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?(h(),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(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ze=P(Ge,[[`render`,Xe],[`__scopeId`,`data-v-04c461bb`]]),Qe=_({name:`StartImage`,components:{UploadIcon:M,ElUpload:v,ElButton:R,ImagePreview:Z,InfoIcon:O},mixins:[V,B,U,J],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),$e={class:`relative`},et={class:`flex justify-between`},tt={class:`flex justify-start items-center`},nt={class:`text-sm font-bold`};function rt(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,$e,[e(`div`,et,[e(`div`,tt,[e(`span`,nt,i(t.$t(`luma.name.startImageUrl`)),1),a(g,{content:t.$t(`luma.description.startImageUrl`)},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:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,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.percentage==null?o(``,!0):(h(),f(_,{key:0,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(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(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var it=P(Qe,[[`render`,rt],[`__scopeId`,`data-v-31c07a19`]]),at=_({name:`UploadVideo`,components:{UploadIcon:M,ElUpload:v,ElButton:R,InfoIcon:O,FilePreview:ce},mixins:[B,U],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){S.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(S.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(S.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),ot={class:`relative`},st={class:`flex justify-between`},ct={class:`flex justify-start items-center`},lt={class:`text-sm font-bold`};function ut(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,ot,[e(`div`,st,[e(`div`,ct,[e(`span`,lt,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,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(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(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var dt=P(at,[[`render`,ut],[`__scopeId`,`data-v-2189fc52`]]),ft=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function pt(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(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var mt=P(ft,[[`render`,pt]]),ht=_({name:`ExtendFromInput`,components:{VideoPlayer:Q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),gt={class:`relative`},_t={class:`flex mb-2`},vt={class:`text-sm font-bold`};function yt(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,gt,[e(`div`,_t,[e(`span`,vt,i(t.$t(`luma.name.extend`)),1)]),e(`div`,null,[t.config?.video_url?(h(),f(d,{key:0,src:t.config?.video_url},null,8,[`src`])):o(``,!0)])])}var bt=_({name:`ConfigPanel`,components:{MagicIcon:N,LoopSelector:We,StartImageInput:it,EndImageInput:Ze,EnhancementSelector:Oe,ElButton:R,PromptInput:mt,ExtendFromInput:P(ht,[[`render`,yt]]),CustomSelector:Ie,UploadVideo:dt,ServicePricingSummary:ue,ScenarioPaymentMode:de},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.luma?.config},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service},walletMode(){return F()&&L(`luma`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=L(`luma`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await X.quote(z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),xt={class:`flex flex-col h-full`},St={class:`flex-1 overflow-y-auto p-5`},Ct={class:`flex flex-col items-center justify-center px-5 pb-5`};function wt(t,n,c,u,d,m){let g=l(`extend-from-input`),_=l(`prompt-input`),v=l(`custom-selector`),y=l(`upload-video`),b=l(`start-image-input`),x=l(`end-image-input`),S=l(`enhancement-selector`),C=l(`loop-selector`),w=l(`scenario-payment-mode`),T=l(`service-pricing-summary`),E=l(`magic-icon`),D=l(`el-button`);return h(),s(`div`,xt,[e(`div`,St,[t.config?.video_id||t.config?.video_url?(h(),f(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),t.config?.video_id?o(``,!0):(h(),f(v,{key:1,class:`mb-4`})),t.config?.custom?(h(),f(y,{key:2,class:`mb-4`})):o(``,!0),!(t.config?.video_id||t.config?.video_url)&&!t.config?.custom?(h(),f(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),e(`div`,Ct,[a(w,{scenario:`luma`}),t.walletMode?o(``,!0):(h(),f(T,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(h(),f(D,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(h(),f(D,{key:2,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var Tt=P(bt,[[`render`,wt]]),Et=_({name:`TaskPreview`,components:{DeleteIcon:te,ChannelIcon:E,InfoIcon:D,MagicIcon:N,TimeIcon:T,WarningIcon:ne,CopyToClipboard:oe,ElAlert:b,VideoPlayer:Q,ElTooltip:y,ElButton:R,ApiCodeButton:fe,ReportButton:se},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.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(`luma/deleteTask`,{id:e}),S.success(this.$t(`common.message.deleteTaskSuccess`))}catch{S.error(this.$t(`common.message.deleteTaskFailed`))}}},onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),Dt={class:`preview`},Ot={class:`left`},kt={class:`main`},At={class:`bot`},jt={class:`datetime`},Mt=[`aria-label`],Nt={class:`info`},Pt={key:0,class:`prompt mt-2`},Ft={key:0},It={key:1},Lt={key:0,class:n({content:!0,failed:!0})},Rt={key:0,class:`mb-4`},zt={key:1,class:n({operations:!0,"mt-2":!0,"mb-4":!0})},Bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Vt={key:1,class:n({content:!0})},Ht={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Kt={key:2,class:n({content:!0})},qt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Jt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`magic-icon`),w=l(`copy-to-clipboard`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`channel-icon`);return h(),s(`div`,Dt,[e(`div`,Ot,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,kt,[e(`div`,At,[a(g,{capability:`luma`,part:`name`}),e(`span`,jt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Mt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Nt,[n.modelValue?.request?.prompt?(h(),s(`p`,Pt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ft,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,It,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Lt,[n.modelValue.response.video_url?(h(),s(`div`,Rt,[a(y,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,zt,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[2]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`luma`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Bt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.state===`failed`||n.modelValue?.response?.success===!1?(h(),s(`div`,Vt,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Ht,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Ut,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Wt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Gt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!n.modelValue?.response||n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`div`,Kt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`luma.status.processing`:`luma.status.pending`)),1)]),default:p(()=>[e(`p`,qt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Yt=_({name:`RecentPanel`,components:{BotPlaceholder:pe,TaskPreview:P(Et,[[`render`,Jt],[`__scopeId`,`data-v-46a32bda`]]),NoTasks:j,ScrollList:A},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Xt={key:0},Zt={key:2,class:`w-full h-full flex items-center justify-center`};function Qt(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`,Xt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,n=>(h(),f(g,{key:n.id,"model-value":n,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Zt,[a(v)])):o(``,!0)],64)}var $t=_({name:`LumaIndex`,components:{ConfigPanel:Tt,Layout:be,RecentPanel:P(Yt,[[`render`,Qt]])},mixins:[K,me(`luma`)],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===x.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===x.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks},walletMode(){return F()&&L(`luma`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`luma/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({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(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),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(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,e=>this.$t(e),e=>S.warning(e)))return;let e=z(this.config);if(!this.hasText(e.prompt)){S.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t;if(this.walletMode){let n=this.getWalletContext();if(!n){S.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=X.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!q())return;let n=this.credential?.token;if(!n)return;t=X.generate(e,{token:n})}S.info(this.$t(`luma.message.startingTask`)),W(`luma`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),S.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{e instanceof G||re(e,`luma`)||(this.walletMode?S.error(this.$t(`common.x402Scenario.paymentFailed`)):S.error(this.$t(`luma.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return H(this.$wallet)},async confirmWalletPayment(e){return Y.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function en(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,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var tn=P($t,[[`render`,en]]);export{tn 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{t as v}from"./upload-Sju4DbiY.js";import{t as y}from"./tooltip-B60Iasgv.js";import{t as b}from"./alert-BprQRUmf.js";import{_ as x,v as S}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as C}from"./drawer-CvX2U8ly.js";import{t as w}from"./switch-CpihU-Bq.js";import{t as T}from"./clock-BRqsgYwQ.js";import{t as E}from"./hash-CRnccwx_.js";import{t as D}from"./info-Bqj02p3r.js";import{a as O,i as k,n as A,r as j,t as ee}from"./pagination-VjpfotZ8.js";import{t as te}from"./trash-2-BBCXfu0p.js";import{t as ne}from"./triangle-alert-BRov4JmE.js";import{t as M}from"./upload-D3ICVrNB.js";import{t as N}from"./wand-sparkles-D8Xtkkgr.js";import"./constants-GmVIn7tC.js";import{D as P,Mi as F,Na as I,Pi as L,Qa as R,Rr as z,T as re,Tn as ie,at as ae,ct as B,lt as V,oi as H,ot as U,qi as W,ri as G,st as K,ta as q,tt as J,za as Y,zr as X}from"./index-BYbC-2BV.js";import{t as oe}from"./CopyToClipboard-BQaEPLyt.js";import{t as se}from"./ReportButton-BAx8pia_.js";import{t as ce}from"./FilePreview-BjUbMA7c.js";import{t as Z}from"./ImagePreview-Dm16d0L7.js";import{n as le}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ue}from"./ServicePricingSummary-DPzfamaB.js";import{t as Q}from"./VideoPlayer-Cdtv4baV.js";import{t as de}from"./ScenarioPaymentMode-C2uR8lvu.js";import{t as fe}from"./ApiCodeButton-CAQzrT4K.js";import{t as pe}from"./BotPlaceholder-BlCUdjzq.js";import{t as me}from"./taskPollingMixin-CcLxtz8z.js";var he=_({name:`LayoutLuma`,components:{MagicIcon:N,ElDrawer:C,ElButton:R},mixins:[le]}),ge={class:`main flex flex-row flex-1`},_e={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)]`},ve={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ye(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ge,[e(`div`,_e,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ve,[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 be=P(he,[[`render`,ye],[`__scopeId`,`data-v-4ab11479`]]),xe=_({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`},Ee={class:`flex justify-end items-center`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Se,[e(`div`,Ce,[e(`div`,we,[e(`span`,Te,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,Ee,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Oe=P(xe,[[`render`,De]]),ke=_({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`relative`},je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`};function Fe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`span`,Ne,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,Pe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ie=P(ke,[[`render`,Fe]]),Le=_({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:O},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Re={class:`relative`},ze={class:`flex justify-between`},Be={class:`flex justify-start items-center`},Ve={class:`text-sm font-bold`},He={class:`flex justify-end items-center`};function Ue(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`span`,Ve,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,He,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var We=P(Le,[[`render`,Ue]]),Ge=_({name:`EndImage`,components:{UploadIcon:M,ElUpload:v,ElButton:R,ImagePreview:Z,InfoIcon:O},mixins:[V,B,U,J],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Ke={class:`relative`},qe={class:`flex justify-between`},Je={class:`flex justify-start items-center`},Ye={class:`text-sm font-bold`};function Xe(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Ke,[e(`div`,qe,[e(`div`,Je,[e(`span`,Ye,i(t.$t(`luma.name.endImageUrl`)),1),a(g,{content:t.$t(`luma.description.endImageUrl`)},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:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,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?(h(),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(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ze=P(Ge,[[`render`,Xe],[`__scopeId`,`data-v-04c461bb`]]),Qe=_({name:`StartImage`,components:{UploadIcon:M,ElUpload:v,ElButton:R,ImagePreview:Z,InfoIcon:O},mixins:[V,B,U,J],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){S.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),$e={class:`relative`},et={class:`flex justify-between`},tt={class:`flex justify-start items-center`},nt={class:`text-sm font-bold`};function rt(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,$e,[e(`div`,et,[e(`div`,tt,[e(`span`,nt,i(t.$t(`luma.name.startImageUrl`)),1),a(g,{content:t.$t(`luma.description.startImageUrl`)},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:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,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.percentage==null?o(``,!0):(h(),f(_,{key:0,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(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(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var it=P(Qe,[[`render`,rt],[`__scopeId`,`data-v-31c07a19`]]),at=_({name:`UploadVideo`,components:{UploadIcon:M,ElUpload:v,ElButton:R,InfoIcon:O,FilePreview:ce},mixins:[B,U],data(){return{fileList:[],uploadUrl:I()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){S.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){S.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(S.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(S.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),ot={class:`relative`},st={class:`flex justify-between`},ct={class:`flex justify-start items-center`},lt={class:`text-sm font-bold`};function ut(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,ot,[e(`div`,st,[e(`div`,ct,[e(`span`,lt,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,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(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(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var dt=P(at,[[`render`,ut],[`__scopeId`,`data-v-2189fc52`]]),ft=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function pt(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(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var mt=P(ft,[[`render`,pt]]),ht=_({name:`ExtendFromInput`,components:{VideoPlayer:Q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),gt={class:`relative`},_t={class:`flex mb-2`},vt={class:`text-sm font-bold`};function yt(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,gt,[e(`div`,_t,[e(`span`,vt,i(t.$t(`luma.name.extend`)),1)]),e(`div`,null,[t.config?.video_url?(h(),f(d,{key:0,src:t.config?.video_url},null,8,[`src`])):o(``,!0)])])}var bt=_({name:`ConfigPanel`,components:{MagicIcon:N,LoopSelector:We,StartImageInput:it,EndImageInput:Ze,EnhancementSelector:Oe,ElButton:R,PromptInput:mt,ExtendFromInput:P(ht,[[`render`,yt]]),CustomSelector:Ie,UploadVideo:dt,ServicePricingSummary:ue,ScenarioPaymentMode:de},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.luma?.config},consumption(){return ie(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service},walletMode(){return F()&&L(`luma`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=L(`luma`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await X.quote(z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),xt={class:`flex flex-col h-full`},St={class:`flex-1 overflow-y-auto p-5`},Ct={class:`flex flex-col items-center justify-center px-5 pb-5`};function wt(t,n,c,u,d,m){let g=l(`extend-from-input`),_=l(`prompt-input`),v=l(`custom-selector`),y=l(`upload-video`),b=l(`start-image-input`),x=l(`end-image-input`),S=l(`enhancement-selector`),C=l(`loop-selector`),w=l(`scenario-payment-mode`),T=l(`service-pricing-summary`),E=l(`magic-icon`),D=l(`el-button`);return h(),s(`div`,xt,[e(`div`,St,[t.config?.video_id||t.config?.video_url?(h(),f(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),t.config?.video_id?o(``,!0):(h(),f(v,{key:1,class:`mb-4`})),t.config?.custom?(h(),f(y,{key:2,class:`mb-4`})):o(``,!0),!(t.config?.video_id||t.config?.video_url)&&!t.config?.custom?(h(),f(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),e(`div`,Ct,[a(w,{scenario:`luma`}),t.walletMode?o(``,!0):(h(),f(T,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(h(),f(D,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(h(),f(D,{key:2,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var Tt=P(bt,[[`render`,wt]]),Et=_({name:`TaskPreview`,components:{DeleteIcon:te,ChannelIcon:E,InfoIcon:D,MagicIcon:N,TimeIcon:T,WarningIcon:ne,CopyToClipboard:oe,ElAlert:b,VideoPlayer:Q,ElTooltip:y,ElButton:R,ApiCodeButton:fe,ReportButton:se},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.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(`luma/deleteTask`,{id:e}),S.success(this.$t(`common.message.deleteTaskSuccess`))}catch{S.error(this.$t(`common.message.deleteTaskFailed`))}}},onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),Dt={class:`preview`},Ot={class:`left`},kt={class:`main`},At={class:`bot`},jt={class:`datetime`},Mt=[`aria-label`],Nt={class:`info`},Pt={key:0,class:`prompt mt-2`},Ft={key:0},It={key:1},Lt={key:0,class:n({content:!0,failed:!0})},Rt={key:0,class:`mb-4`},zt={key:1,class:n({operations:!0,"mt-2":!0,"mb-4":!0})},Bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Vt={key:1,class:n({content:!0})},Ht={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Kt={key:2,class:n({content:!0})},qt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Jt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`report-button`),C=l(`magic-icon`),w=l(`copy-to-clipboard`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`channel-icon`);return h(),s(`div`,Dt,[e(`div`,Ot,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,kt,[e(`div`,At,[a(g,{capability:`luma`,part:`name`}),e(`span`,jt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Mt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Nt,[n.modelValue?.request?.prompt?(h(),s(`p`,Pt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ft,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,It,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Lt,[n.modelValue.response.video_url?(h(),s(`div`,Rt,[a(y,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,zt,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(v,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`btn-action`,onClick:c[2]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`]),a(S,{service:`luma`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Bt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.state===`failed`||n.modelValue?.response?.success===!1?(h(),s(`div`,Vt,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Ht,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Ut,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Wt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Gt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!n.modelValue?.response||n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`div`,Kt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`luma.status.processing`:`luma.status.pending`)),1)]),default:p(()=>[e(`p`,qt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Yt=_({name:`RecentPanel`,components:{BotPlaceholder:pe,TaskPreview:P(Et,[[`render`,Jt],[`__scopeId`,`data-v-46a32bda`]]),NoTasks:j,ScrollList:A},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Xt={key:0},Zt={key:2,class:`w-full h-full flex items-center justify-center`};function Qt(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`,Xt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,n=>(h(),f(g,{key:n.id,"model-value":n,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Zt,[a(v)])):o(``,!0)],64)}var $t=_({name:`LumaIndex`,components:{ConfigPanel:Tt,Layout:be,RecentPanel:P(Yt,[[`render`,Qt]])},mixins:[K,me(`luma`)],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===x.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===x.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks},walletMode(){return F()&&L(`luma`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`luma/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({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(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),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(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,e=>this.$t(e),e=>S.warning(e)))return;let e=z(this.config);if(!this.hasText(e.prompt)){S.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t;if(this.walletMode){let n=this.getWalletContext();if(!n){S.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=X.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!q())return;let n=this.credential?.token;if(!n)return;t=X.generate(e,{token:n})}S.info(this.$t(`luma.message.startingTask`)),W(`luma`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),S.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{e instanceof G||re(e,`luma`)||(this.walletMode?S.error(this.$t(`common.x402Scenario.paymentFailed`)):S.error(this.$t(`luma.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return H(this.$wallet)},async confirmWalletPayment(e){return Y.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function en(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,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var tn=P($t,[[`render`,en]]);export{tn 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-QsHgFK-q.js";import{t as x}from"./upload-Bf6gfU9e.js";import{t as S}from"./tooltip-Boxqz0SE.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as E}from"./drawer-COHNQWqs.js";import{t as D}from"./box-DHXL0jfh.js";import{t as O}from"./clock-Bn9Jxy03.js";import{t as k}from"./hash-DpHkwauu.js";import{t as A}from"./info-7bwgfIAM.js";import{a as j,i as M,n as ee,o as te,r as ne,t as re}from"./pagination-4wfrJiA1.js";import{t as ie}from"./trash-2-BUBbANzL.js";import{t as ae}from"./triangle-alert-C8sUN5Zy.js";import{t as N}from"./upload-DX4Z0k_g.js";import{t as P}from"./wand-sparkles-C6iRRX45.js";import{$t as F,Gt as oe,Ht as se,It as ce,Jt as le,Kt as ue,Lt as de,Qt as fe,Rt as pe,Ut as me,Vt as I,Wt as L,Yt as R,Zt as z,qt as he,zt as ge}from"./constants-kiieigwv.js";import{D as B,Fa as _e,Kn as V,Mi as H,Na as U,Pi as W,Qa as G,T as ve,Tn as ye,at as be,ct as K,lt as q,oi as xe,ot as J,qi as Se,qn as Y,ri as Ce,st as we,ta as Te,tt as X,za as Z}from"./index-_Awgv-in.js";import{t as Ee}from"./CopyToClipboard-HbsY8Q0t.js";import{t as De}from"./ReportButton-CN9sBNWJ.js";import{t as Q}from"./ImagePreview-BOJnqkhj.js";import{n as Oe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ke}from"./ServicePricingSummary-BwJqvNoc.js";import{t as Ae}from"./VideoPlayer-DTqRjdRG.js";import{t as je}from"./ScenarioPaymentMode--vT56PK3.js";import{t as Me}from"./ApiCodeButton-BAuef93l.js";import{t as Ne}from"./BotPlaceholder-COCaLEsI.js";import{t as Pe}from"./taskPollingMixin-CcLxtz8z.js";import{t as Fe}from"./ShowcaseResultTabs-v1RT0-EQ.js";import{t as Ie}from"./showcaseRecreateMixin-B5tR17rt.js";var Le=v({name:`LayoutGrokVideo`,components:{MagicIcon:P,ElDrawer:E,ElButton:G},mixins:[Oe]}),Re={class:`main flex flex-row flex-1`},ze={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)]`},Be={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ve(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Re,[e(`div`,ze,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Be,[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 He=B(Le,[[`render`,Ve],[`__scopeId`,`data-v-babf4135`]]),Ue=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function We(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(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ge=B(Ue,[[`render`,We]]),Ke=v({name:`GrokVideoModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},data(){return{options:[{value:se,label:this.$t(`grokvideo.model.fastReverse`)},{value:L,label:this.$t(`grokvideo.model.reverse`)},{value:me,label:this.$t(`grokvideo.model.official`)},{value:I,label:this.$t(`grokvideo.model.official15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=ce}}),qe={class:`field`},Je={class:`label`},Ye={class:`box`},Xe={class:`title font-bold`};function Ze(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`h2`,Xe,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.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(`grokvideo.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 Qe=B(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9e6fef88`]]),$e=v({name:`GrokVideoDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return z(this.model)},minDuration(){return fe(this.model)},options(){return ge.filter(e=>e>=this.minDuration&&e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)},minDuration(e){this.value&&this.value<e&&(this.value=e)}},mounted(){this.value||=6}}),et={class:`field`},tt={class:`label`},nt={class:`box`},rt={class:`title font-bold`};function it(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,et,[e(`div`,tt,[e(`div`,nt,[e(`h2`,rt,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.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(`grokvideo.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 at=B($e,[[`render`,it],[`__scopeId`,`data-v-673a8bbc`]]),ot=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:j},data(){return{options:[{value:le,label:`480p`},{value:R,label:`720p`},{value:he,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=pe}}),st={class:`resolution`},ct={class:`header`},lt={class:`title font-bold`},ut={class:`items`},dt=[`onClick`];function ft(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,st,[e(`div`,ct,[e(`h2`,lt,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,ut,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,dt))),128))])])}var pt=B(ot,[[`render`,ft],[`__scopeId`,`data-v-54f22a22`]]),mt=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:j},computed:{options(){return[{value:oe,label:`16:9`,w:32,h:18},{value:ue,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=de}}),ht={class:`ratio`},gt={class:`header`},_t={class:`title font-bold`},vt={class:`items`},yt=[`onClick`],bt={class:`preview`},xt={class:`name`};function St(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,ht,[e(`div`,gt,[e(`h2`,_t,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,vt,[(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`,bt,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,xt,i(r.label),1)],10,yt))),128))])])}var Ct=B(mt,[[`render`,St],[`__scopeId`,`data-v-70115284`]]),wt=v({name:`GrokVideoImageInput`,components:{MetaTag:_e,UploadIcon:N,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:Q},mixins:[q,K,J,X],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return F(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){T.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),Tt={class:`relative`},Et={class:`flex justify-between`},Dt={class:`flex justify-start items-center`},Ot={class:`text-sm font-bold`};function kt(t,n,c,u,d,m){let h=l(`meta-tag`),_=l(`info-icon`),v=l(`image-preview`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`);return g(),s(`div`,Tt,[e(`div`,Et,[e(`div`,Dt,[e(`span`,Ot,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),f(h,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:p(()=>[r(i(t.$t(`grokvideo.name.required`)),1)]),_:1})):o(``,!0),a(_,{content:t.$t(`grokvideo.description.image`)},null,8,[`content`])])]),a(x,{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,"before-upload":t.beforeUploadSizeGuard,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(v,{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(b,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(y,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var At=B(wt,[[`render`,kt],[`__scopeId`,`data-v-72c04b98`]]),jt=4,Mt=v({name:`GrokVideoReferenceImagesInput`,components:{UploadIcon:N,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:Q},mixins:[q,K,J,X],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`,limit:jt,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){T.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),Nt={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Pt={class:`flex min-w-0 items-center`},Ft={class:`title m-0 text-[14px] font-bold`},It={class:`file-list flex flex-wrap gap-[10px]`};function Lt(t,n,o,u,d,m){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return g(),s(`div`,null,[e(`div`,Nt,[e(`div`,Pt,[e(`h2`,Ft,i(t.$t(`grokvideo.name.referenceImages`)),1),a(_,{content:t.$t(`grokvideo.description.referenceImages`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,It,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Rt=v({name:`GrokVideoConfigPanel`,components:{MagicIcon:P,ElButton:G,PromptInput:Ge,ModelSelector:Qe,DurationSelector:at,ResolutionSelector:pt,RatioSelector:Ct,ImageInput:At,ReferenceImagesInput:B(Mt,[[`render`,Lt]]),ServicePricingSummary:ke,ScenarioPaymentMode:je},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!F(this.$store.state.grokvideo?.config?.model)},consumption(){return ye(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service},walletMode(){return H()&&W(`grokvideo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=W(`grokvideo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(V(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),zt={class:`flex flex-col h-full`},Bt={class:`flex-1 overflow-y-auto p-5`},Vt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ht(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`scenario-payment-mode`),w=l(`service-pricing-summary`),T=l(`magic-icon`),E=l(`el-button`);return g(),s(`div`,zt,[e(`div`,Bt,[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`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,Vt,[a(C,{scenario:`grokvideo`}),t.walletMode?o(``,!0):(g(),f(w,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(E,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ut=B(Rt,[[`render`,Ht]]),Wt=v({name:`GrokVideoTaskPreview`,components:{DeleteIcon:ie,ApplicationIcon:D,ChannelIcon:k,FullscreenIcon:te,InfoIcon:A,MagicIcon:P,TimeIcon:O,WarningIcon:ae,CopyToClipboard:Ee,ElAlert:C,VideoPlayer:Ae,ElTooltip:S,ElButton:G,ImagePreview:Q,ApiCodeButton:Me,ReportButton:De},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Z.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(`grokvideo/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),Gt={class:`preview`},Kt={class:`left`},qt={class:`main`},Jt={class:`bot`},Yt={class:`datetime`},Xt=[`aria-label`],Zt={class:`info`},Qt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},$t={key:1,class:`prompt mt-2`},en={key:0},tn={key:1},nn={key:0,class:n({content:!0})},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},on={key:1,class:n({content:!0})},sn={key:0,class:`mb-4`},cn={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:0},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:n({content:!0})},gn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yn={key:3,class:n({content:!0})},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function xn(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`image-preview`),b=l(`time-icon`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`application-icon`),k=l(`fullscreen-icon`),A=l(`channel-icon`),j=l(`warning-icon`),M=l(`info-icon`);return g(),s(`div`,Gt,[e(`div`,Kt,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,qt,[e(`div`,Jt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,Yt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Xt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Zt,[n.inputImage?(g(),s(`div`,Qt,[a(y,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,$t,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,tn,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,en,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,on,[n.video?.video_url?(g(),s(`div`,sn,[a(w,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,cn,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(E,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`]),a(D,{service:`grokvideo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,$,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,ln,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,un,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,dn,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,fn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{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`,hn,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,gn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,_n,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,bn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,nn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,rn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,an,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var Sn=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:B(Wt,[[`render`,xn],[`__scopeId`,`data-v-5c3b05ea`]]),BotPlaceholder:Ne,NoTasks:ne,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Cn={key:0},wn={key:2,class:`w-full h-full flex items-center justify-center`};function Tn(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`,Cn,[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`,wn,[a(v)])):o(``,!0)],64)}var En=v({name:`GrokVideoIndex`,components:{ConfigPanel:Ut,Layout:He,RecentPanel:B(Sn,[[`render`,Tn]]),ShowcaseResultTabs:Fe},mixins:[we,Ie(`grokvideo`),Pe(`grokvideo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks},walletMode(){return H()&&W(`grokvideo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`grokvideo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await re({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(`grokvideo/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(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!be(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e=V(this.config),t=!!e.image_url;if(F(e.model)&&!t){T.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e.prompt){T.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=Y.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Te())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}T.info(this.$t(`grokvideo.message.startingTask`)),Se(`grokvideo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof Ce||ve(e,`grokvideo`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return xe(this.$wallet)},async confirmWalletPayment(e){return Z.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Dn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`grok`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var On=B(En,[[`render`,Dn]]);export{On 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-CxPN3D9u.js";import{t as x}from"./upload-Sju4DbiY.js";import{t as S}from"./tooltip-B60Iasgv.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as E}from"./drawer-CvX2U8ly.js";import{t as D}from"./box-CGOU4lJt.js";import{t as O}from"./clock-BRqsgYwQ.js";import{t as k}from"./hash-CRnccwx_.js";import{t as A}from"./info-Bqj02p3r.js";import{a as j,i as M,n as ee,o as te,r as ne,t as re}from"./pagination-VjpfotZ8.js";import{t as ie}from"./trash-2-BBCXfu0p.js";import{t as ae}from"./triangle-alert-BRov4JmE.js";import{t as N}from"./upload-D3ICVrNB.js";import{t as P}from"./wand-sparkles-D8Xtkkgr.js";import{$t as F,Gt as oe,Ht as se,It as ce,Jt as le,Kt as ue,Lt as de,Qt as fe,Rt as pe,Ut as me,Vt as I,Wt as L,Yt as R,Zt as z,qt as he,zt as ge}from"./constants-GmVIn7tC.js";import{D as B,Fa as _e,Kn as V,Mi as H,Na as U,Pi as W,Qa as G,T as ve,Tn as ye,at as be,ct as K,lt as q,oi as xe,ot as J,qi as Se,qn as Y,ri as Ce,st as we,ta as Te,tt as X,za as Z}from"./index-BYbC-2BV.js";import{t as Ee}from"./CopyToClipboard-BQaEPLyt.js";import{t as De}from"./ReportButton-BAx8pia_.js";import{t as Q}from"./ImagePreview-Dm16d0L7.js";import{n as Oe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ke}from"./ServicePricingSummary-DPzfamaB.js";import{t as Ae}from"./VideoPlayer-Cdtv4baV.js";import{t as je}from"./ScenarioPaymentMode-C2uR8lvu.js";import{t as Me}from"./ApiCodeButton-CAQzrT4K.js";import{t as Ne}from"./BotPlaceholder-BlCUdjzq.js";import{t as Pe}from"./taskPollingMixin-CcLxtz8z.js";import{t as Fe}from"./ShowcaseResultTabs-DEfMzemw.js";import{t as Ie}from"./showcaseRecreateMixin-BEyu8Djp.js";var Le=v({name:`LayoutGrokVideo`,components:{MagicIcon:P,ElDrawer:E,ElButton:G},mixins:[Oe]}),Re={class:`main flex flex-row flex-1`},ze={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)]`},Be={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ve(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Re,[e(`div`,ze,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Be,[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 He=B(Le,[[`render`,Ve],[`__scopeId`,`data-v-babf4135`]]),Ue=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function We(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(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ge=B(Ue,[[`render`,We]]),Ke=v({name:`GrokVideoModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},data(){return{options:[{value:se,label:this.$t(`grokvideo.model.fastReverse`)},{value:L,label:this.$t(`grokvideo.model.reverse`)},{value:me,label:this.$t(`grokvideo.model.official`)},{value:I,label:this.$t(`grokvideo.model.official15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=ce}}),qe={class:`field`},Je={class:`label`},Ye={class:`box`},Xe={class:`title font-bold`};function Ze(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`h2`,Xe,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.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(`grokvideo.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 Qe=B(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9e6fef88`]]),$e=v({name:`GrokVideoDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return z(this.model)},minDuration(){return fe(this.model)},options(){return ge.filter(e=>e>=this.minDuration&&e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)},minDuration(e){this.value&&this.value<e&&(this.value=e)}},mounted(){this.value||=6}}),et={class:`field`},tt={class:`label`},nt={class:`box`},rt={class:`title font-bold`};function it(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,et,[e(`div`,tt,[e(`div`,nt,[e(`h2`,rt,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.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(`grokvideo.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 at=B($e,[[`render`,it],[`__scopeId`,`data-v-673a8bbc`]]),ot=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:j},data(){return{options:[{value:le,label:`480p`},{value:R,label:`720p`},{value:he,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=pe}}),st={class:`resolution`},ct={class:`header`},lt={class:`title font-bold`},ut={class:`items`},dt=[`onClick`];function ft(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,st,[e(`div`,ct,[e(`h2`,lt,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,ut,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,dt))),128))])])}var pt=B(ot,[[`render`,ft],[`__scopeId`,`data-v-54f22a22`]]),mt=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:j},computed:{options(){return[{value:oe,label:`16:9`,w:32,h:18},{value:ue,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=de}}),ht={class:`ratio`},gt={class:`header`},_t={class:`title font-bold`},vt={class:`items`},yt=[`onClick`],bt={class:`preview`},xt={class:`name`};function St(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,ht,[e(`div`,gt,[e(`h2`,_t,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,vt,[(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`,bt,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,xt,i(r.label),1)],10,yt))),128))])])}var Ct=B(mt,[[`render`,St],[`__scopeId`,`data-v-70115284`]]),wt=v({name:`GrokVideoImageInput`,components:{MetaTag:_e,UploadIcon:N,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:Q},mixins:[q,K,J,X],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return F(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){T.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),Tt={class:`relative`},Et={class:`flex justify-between`},Dt={class:`flex justify-start items-center`},Ot={class:`text-sm font-bold`};function kt(t,n,c,u,d,m){let h=l(`meta-tag`),_=l(`info-icon`),v=l(`image-preview`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`);return g(),s(`div`,Tt,[e(`div`,Et,[e(`div`,Dt,[e(`span`,Ot,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),f(h,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:p(()=>[r(i(t.$t(`grokvideo.name.required`)),1)]),_:1})):o(``,!0),a(_,{content:t.$t(`grokvideo.description.image`)},null,8,[`content`])])]),a(x,{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,"before-upload":t.beforeUploadSizeGuard,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(v,{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(b,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(y,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var At=B(wt,[[`render`,kt],[`__scopeId`,`data-v-72c04b98`]]),jt=4,Mt=v({name:`GrokVideoReferenceImagesInput`,components:{UploadIcon:N,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:Q},mixins:[q,K,J,X],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`,limit:jt,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){T.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),Nt={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Pt={class:`flex min-w-0 items-center`},Ft={class:`title m-0 text-[14px] font-bold`},It={class:`file-list flex flex-wrap gap-[10px]`};function Lt(t,n,o,u,d,m){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return g(),s(`div`,null,[e(`div`,Nt,[e(`div`,Pt,[e(`h2`,Ft,i(t.$t(`grokvideo.name.referenceImages`)),1),a(_,{content:t.$t(`grokvideo.description.referenceImages`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,It,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Rt=v({name:`GrokVideoConfigPanel`,components:{MagicIcon:P,ElButton:G,PromptInput:Ge,ModelSelector:Qe,DurationSelector:at,ResolutionSelector:pt,RatioSelector:Ct,ImageInput:At,ReferenceImagesInput:B(Mt,[[`render`,Lt]]),ServicePricingSummary:ke,ScenarioPaymentMode:je},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!F(this.$store.state.grokvideo?.config?.model)},consumption(){return ye(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service},walletMode(){return H()&&W(`grokvideo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=W(`grokvideo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(V(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),zt={class:`flex flex-col h-full`},Bt={class:`flex-1 overflow-y-auto p-5`},Vt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ht(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`scenario-payment-mode`),w=l(`service-pricing-summary`),T=l(`magic-icon`),E=l(`el-button`);return g(),s(`div`,zt,[e(`div`,Bt,[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`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,Vt,[a(C,{scenario:`grokvideo`}),t.walletMode?o(``,!0):(g(),f(w,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(E,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ut=B(Rt,[[`render`,Ht]]),Wt=v({name:`GrokVideoTaskPreview`,components:{DeleteIcon:ie,ApplicationIcon:D,ChannelIcon:k,FullscreenIcon:te,InfoIcon:A,MagicIcon:P,TimeIcon:O,WarningIcon:ae,CopyToClipboard:Ee,ElAlert:C,VideoPlayer:Ae,ElTooltip:S,ElButton:G,ImagePreview:Q,ApiCodeButton:Me,ReportButton:De},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Z.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(`grokvideo/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),Gt={class:`preview`},Kt={class:`left`},qt={class:`main`},Jt={class:`bot`},Yt={class:`datetime`},Xt=[`aria-label`],Zt={class:`info`},Qt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},$t={key:1,class:`prompt mt-2`},en={key:0},tn={key:1},nn={key:0,class:n({content:!0})},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},on={key:1,class:n({content:!0})},sn={key:0,class:`mb-4`},cn={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:0},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:n({content:!0})},gn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yn={key:3,class:n({content:!0})},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function xn(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`image-preview`),b=l(`time-icon`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`application-icon`),k=l(`fullscreen-icon`),A=l(`channel-icon`),j=l(`warning-icon`),M=l(`info-icon`);return g(),s(`div`,Gt,[e(`div`,Kt,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,qt,[e(`div`,Jt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,Yt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Xt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Zt,[n.inputImage?(g(),s(`div`,Qt,[a(y,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,$t,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,tn,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,en,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,on,[n.video?.video_url?(g(),s(`div`,sn,[a(w,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,cn,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(E,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`]),a(D,{service:`grokvideo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,$,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,ln,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,un,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,dn,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,fn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{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`,hn,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,gn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,_n,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,bn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,nn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,rn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,an,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var Sn=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:B(Wt,[[`render`,xn],[`__scopeId`,`data-v-5c3b05ea`]]),BotPlaceholder:Ne,NoTasks:ne,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Cn={key:0},wn={key:2,class:`w-full h-full flex items-center justify-center`};function Tn(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`,Cn,[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`,wn,[a(v)])):o(``,!0)],64)}var En=v({name:`GrokVideoIndex`,components:{ConfigPanel:Ut,Layout:He,RecentPanel:B(Sn,[[`render`,Tn]]),ShowcaseResultTabs:Fe},mixins:[we,Ie(`grokvideo`),Pe(`grokvideo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks},walletMode(){return H()&&W(`grokvideo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`grokvideo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await re({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(`grokvideo/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(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!be(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e=V(this.config),t=!!e.image_url;if(F(e.model)&&!t){T.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e.prompt){T.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=Y.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Te())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}T.info(this.$t(`grokvideo.message.startingTask`)),Se(`grokvideo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof Ce||ve(e,`grokvideo`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return xe(this.$wallet)},async confirmWalletPayment(e){return Z.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Dn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`grok`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var On=B(En,[[`render`,Dn]]);export{On as default};
@@ -1 +1 @@
1
- .menu[data-v-6f553b1e]{display:none}@media (width<=767px){.config[data-v-6f553b1e]{display:none}.result[data-v-6f553b1e]{width:100%}.menu[data-v-6f553b1e]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.ratio .header[data-v-7131eb97]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.ratio .header .title[data-v-7131eb97]{margin:0;font-size:14px}.ratio .items[data-v-7131eb97]{grid-template-columns:repeat(5,48px);justify-content:start;gap:8px;display:grid}.ratio .items .item[data-v-7131eb97]{border:1px solid var(--el-border-color);background-color:var(--el-fill-color-lighter);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:48px;height:65px;transition:background-color .2s,border-color .2s;display:flex}.ratio .items .item .preview[data-v-7131eb97]{justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:4px;display:flex}.ratio .items .item .preview .rect[data-v-7131eb97]{border:1px solid var(--el-text-color-placeholder);border-radius:2px}.ratio .items .item .name[data-v-7131eb97]{color:var(--el-text-color-primary);margin:0;font-size:12px}.ratio .items .item[data-v-7131eb97]:hover{background-color:var(--el-fill-color)}.ratio .items .item[data-v-7131eb97]:focus-visible{border-color:var(--el-color-primary);box-shadow:0 0 0 2px var(--el-color-primary-light-7);outline:none}.ratio .items .item.active[data-v-7131eb97]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.ratio .items .item.active .rect[data-v-7131eb97]{border-color:var(--el-color-primary)}.field[data-v-11cb675b]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-11cb675b]{align-items:center;width:30%;display:flex}.field .label .box[data-v-11cb675b]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-11cb675b]{margin:0;font-size:14px}.field .label .box .info[data-v-11cb675b]{margin-left:6px}.field .value[data-v-11cb675b]{width:160px}.field[data-v-7ab9d4d4]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-7ab9d4d4]{align-items:center;width:30%;display:flex}.field .label .box[data-v-7ab9d4d4]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-7ab9d4d4]{margin:0;font-size:14px}.field .label .box .info[data-v-7ab9d4d4]{margin-left:6px}.field .value[data-v-7ab9d4d4]{width:160px}.preview[data-v-aa642ec8]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:10px;display:flex}.preview .left[data-v-aa642ec8]{width:70px}.preview .left .avatar[data-v-aa642ec8]{border-radius:50%;width:50px;height:50px;margin:10px}.preview .main[data-v-aa642ec8]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-aa642ec8]{color:var(--el-color-primary);white-space:nowrap;align-items:center;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;display:flex;overflow:hidden}.preview .main .bot .datetime[data-v-aa642ec8]{color:var(--el-text-color-secondary);text-overflow:ellipsis;margin-left:10px;font-size:12px;font-weight:400;overflow:hidden}.preview .main .bot .btn-delete[data-v-aa642ec8]{cursor:pointer;color:var(--el-text-color-secondary);opacity:0;background:0 0;border:none;margin-left:auto;padding:4px 6px;line-height:1;transition:opacity .15s,color .15s}.preview .main .bot .btn-delete[data-v-aa642ec8]:hover{color:var(--el-color-danger)}@media (hover:none){.preview .main .bot .btn-delete[data-v-aa642ec8]{opacity:1}}.preview .main .info[data-v-aa642ec8]{overflow:hidden}.preview .main .info .prompt[data-v-aa642ec8]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:15px;font-size:16px;font-weight:700}.preview .main .content[data-v-aa642ec8]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-aa642ec8]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-aa642ec8]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-aa642ec8]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-aa642ec8]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-aa642ec8] p:last-child{margin-bottom:0}.preview .main .operations[data-v-aa642ec8]{text-align:center;width:100%;color:var(--el-text-color-regular);flex-flow:wrap;justify-content:left;align-items:baseline;font-size:14px;display:flex;overflow:hidden}.preview .main .operations .btn-action[data-v-aa642ec8]{margin-bottom:10px}.preview:hover .main .bot .btn-delete[data-v-aa642ec8]{opacity:1}
1
+ .menu[data-v-6f553b1e]{display:none}@media (width<=767px){.config[data-v-6f553b1e]{display:none}.result[data-v-6f553b1e]{width:100%}.menu[data-v-6f553b1e]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.ratio .header[data-v-7131eb97]{flex-direction:row;align-items:center;margin-bottom:10px;display:flex}.ratio .header .title[data-v-7131eb97]{margin:0;font-size:14px}.ratio .items[data-v-7131eb97]{grid-template-columns:repeat(5,48px);justify-content:start;gap:8px;display:grid}.ratio .items .item[data-v-7131eb97]{border:1px solid var(--el-border-color);background-color:var(--el-fill-color-lighter);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:48px;height:65px;transition:background-color .2s,border-color .2s;display:flex}.ratio .items .item .preview[data-v-7131eb97]{justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:4px;display:flex}.ratio .items .item .preview .rect[data-v-7131eb97]{border:1px solid var(--el-text-color-placeholder);border-radius:2px}.ratio .items .item .name[data-v-7131eb97]{color:var(--el-text-color-primary);margin:0;font-size:12px}.ratio .items .item[data-v-7131eb97]:hover{background-color:var(--el-fill-color)}.ratio .items .item[data-v-7131eb97]:focus-visible{border-color:var(--el-color-primary);box-shadow:0 0 0 2px var(--el-color-primary-light-7);outline:none}.ratio .items .item.active[data-v-7131eb97]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.ratio .items .item.active .rect[data-v-7131eb97]{border-color:var(--el-color-primary)}.field[data-v-a04056e6]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-a04056e6]{align-items:center;width:30%;display:flex}.field .label .box[data-v-a04056e6]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-a04056e6]{margin:0;font-size:14px}.field .label .box .info[data-v-a04056e6]{margin-left:6px}.field .value[data-v-a04056e6]{width:160px}.field[data-v-6246047b]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .label[data-v-6246047b]{align-items:center;width:30%;display:flex}.field .label .box[data-v-6246047b]{flex-direction:row;align-items:center;display:flex}.field .label .box .title[data-v-6246047b]{margin:0;font-size:14px}.field .label .box .info[data-v-6246047b]{margin-left:6px}.field .value[data-v-6246047b]{width:160px}.preview[data-v-aa642ec8]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:10px;display:flex}.preview .left[data-v-aa642ec8]{width:70px}.preview .left .avatar[data-v-aa642ec8]{border-radius:50%;width:50px;height:50px;margin:10px}.preview .main[data-v-aa642ec8]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-aa642ec8]{color:var(--el-color-primary);white-space:nowrap;align-items:center;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;display:flex;overflow:hidden}.preview .main .bot .datetime[data-v-aa642ec8]{color:var(--el-text-color-secondary);text-overflow:ellipsis;margin-left:10px;font-size:12px;font-weight:400;overflow:hidden}.preview .main .bot .btn-delete[data-v-aa642ec8]{cursor:pointer;color:var(--el-text-color-secondary);opacity:0;background:0 0;border:none;margin-left:auto;padding:4px 6px;line-height:1;transition:opacity .15s,color .15s}.preview .main .bot .btn-delete[data-v-aa642ec8]:hover{color:var(--el-color-danger)}@media (hover:none){.preview .main .bot .btn-delete[data-v-aa642ec8]{opacity:1}}.preview .main .info[data-v-aa642ec8]{overflow:hidden}.preview .main .info .prompt[data-v-aa642ec8]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:15px;font-size:16px;font-weight:700}.preview .main .content[data-v-aa642ec8]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-aa642ec8]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-aa642ec8]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-aa642ec8]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-aa642ec8]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-aa642ec8] p:last-child{margin-bottom:0}.preview .main .operations[data-v-aa642ec8]{text-align:center;width:100%;color:var(--el-text-color-regular);flex-flow:wrap;justify-content:left;align-items:baseline;font-size:14px;display:flex;overflow:hidden}.preview .main .operations .btn-action[data-v-aa642ec8]{margin-bottom:10px}.preview:hover .main .bot .btn-delete[data-v-aa642ec8]{opacity: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-QsHgFK-q.js";import{t as x}from"./upload-Bf6gfU9e.js";import{t as S}from"./tooltip-Boxqz0SE.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as E}from"./drawer-COHNQWqs.js";import{t as D}from"./input-number-BV0MZh77.js";import{t as O}from"./slider-0Rgv6dkj.js";import{t as k}from"./clock-Bn9Jxy03.js";import{t as A}from"./hash-DpHkwauu.js";import{t as ee}from"./info-7bwgfIAM.js";import{a as j,i as M,n as N,r as P,t as F}from"./pagination-4wfrJiA1.js";import{t as I}from"./trash-2-BUBbANzL.js";import{t as te}from"./triangle-alert-C8sUN5Zy.js";import{t as ne}from"./upload-DX4Z0k_g.js";import{t as L}from"./wand-sparkles-C6iRRX45.js";import{Ir as re,Lr as R,Rr as z,zr as B}from"./constants-kiieigwv.js";import{D as V,Mi as H,Na as U,Pi as W,Qa as G,T as K,Tn as q,_r as J,at as Y,ct as X,gr as Z,lt as ie,oi as ae,ot as oe,qi as se,ri as ce,st as le,ta as ue,tt as de,za as Q}from"./index-_Awgv-in.js";import{t as fe}from"./CopyToClipboard-HbsY8Q0t.js";import{t as pe}from"./ReportButton-CN9sBNWJ.js";import{t as me}from"./ImagePreview-BOJnqkhj.js";import{n as he}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ge}from"./ServicePricingSummary-BwJqvNoc.js";import{t as _e}from"./VideoPlayer-DTqRjdRG.js";import{t as ve}from"./ScenarioPaymentMode--vT56PK3.js";import{t as ye}from"./ApiCodeButton-BAuef93l.js";import{t as be}from"./BotPlaceholder-COCaLEsI.js";import{t as xe}from"./taskPollingMixin-CcLxtz8z.js";import{n as Se,t as Ce}from"./generationInput-BGGxEArh.js";var we=v({name:`LayoutPixverse`,components:{MagicIcon:L,ElDrawer:E,ElButton:G},mixins:[he]}),Te={class:`main flex flex-row flex-1`},Ee={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)]`},De={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Oe(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Te,[e(`div`,Ee,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,De,[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 ke=V(we,[[`render`,Oe],[`__scopeId`,`data-v-5a9d4c2f`]]),Ae=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=R}}),je={class:`field`},Me={class:`title font-bold`};function Ne(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,je,[e(`h2`,Me,i(t.$t(`pixverse.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var Pe=V(Ae,[[`render`,Ne],[`__scopeId`,`data-v-e8f337ca`]]),Fe=v({name:`QualitySelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=B}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ie,[e(`h2`,Le,i(t.$t(`pixverse.name.quality`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var ze=V(Fe,[[`render`,Re],[`__scopeId`,`data-v-64aeaae9`]]),Be=v({name:`MotionSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=z}}),Ve={class:`field`},He={class:`title font-bold`};function Ue(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ve,[e(`h2`,He,i(t.$t(`pixverse.name.motion`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var We=V(Be,[[`render`,Ue],[`__scopeId`,`data-v-94237408`]]),Ge=v({name:`StyleSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ke={class:`field`},qe={class:`title font-bold`};function Je(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ke,[e(`h2`,qe,i(t.$t(`pixverse.name.style`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var Ye=V(Ge,[[`render`,Je],[`__scopeId`,`data-v-64e17b3c`]]),Xe=v({name:`SeedSelector`,components:{ElSlider:O,InfoIcon:j,ElInputNumber:D},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`},et={class:`flex justify-end items-center`},tt={class:`w-full`};function nt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return g(),s(`div`,null,[e(`div`,Ze,[e(`div`,Qe,[e(`span`,$e,i(t.$t(`pixverse.name.seed`)),1),a(d,{content:t.$t(`pixverse.description.seed`)},null,8,[`content`])]),e(`div`,et,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,tt,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var rt=V(Xe,[[`render`,nt]]),it=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),at={class:`field`},ot={class:`title font-bold`};function st(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,at,[e(`h2`,ot,i(t.$t(`pixverse.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var ct=V(it,[[`render`,st],[`__scopeId`,`data-v-e7343a05`]]),lt=v({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{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.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=re}}),ut={class:`text-sm font-bold mb-2 block`},dt={class:`items`},ft=[`onClick`],pt={class:`name`};function mt(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,ut,i(t.$t(`pixverse.name.aspectRatio`)),1),e(`div`,dt,[(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`,pt,i(r.label),1)],10,ft))),128))])])}var ht=V(lt,[[`render`,mt],[`__scopeId`,`data-v-53038264`]]),gt=v({name:`StartImage`,components:{UploadIcon:ne,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:me},mixins:[ie,X,oe,de],emits:[`change`],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){T.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){T.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),_t={class:`relative`},vt={class:`flex justify-between`},yt={class:`flex justify-start items-center`},bt={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 g(),s(`div`,_t,[e(`div`,vt,[e(`div`,yt,[e(`span`,bt,i(t.$t(`pixverse.name.startImage`)),1),a(h,{content:t.$t(`pixverse.description.uploadStartImage`)},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:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,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.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(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var St=V(gt,[[`render`,xt],[`__scopeId`,`data-v-e2ab1425`]]),Ct=v({name:`PromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function wt(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(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Tt=v({name:`ConfigPanel`,components:{MagicIcon:L,ElButton:G,PromptInput:V(Ct,[[`render`,wt]]),ModelSelector:Pe,QualitySelector:ze,MotionSelector:We,StyleSelector:Ye,DurationSelector:ct,StartImage:St,SeedSelector:rt,RatioSelector:ht,ServicePricingSummary:ge,ScenarioPaymentMode:ve},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Ce(`pixverse`,Z(this.config))},config(){return this.$store.state.pixverse?.config},consumption(){return q(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service},walletMode(){return H()&&W(`pixverse`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=W(`pixverse`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=W(`pixverse`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await J.quote(Z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),Et={class:`flex flex-col h-full`},Dt={class:`flex-1 overflow-y-auto p-5`},Ot={class:`flex flex-col items-center justify-center px-5 pb-5`};function kt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`style-selector`),y=l(`ratio-selector`),b=l(`motion-selector`),x=l(`quality-selector`),S=l(`start-image`),C=l(`seed-selector`),w=l(`duration-selector`),T=l(`scenario-payment-mode`),E=l(`service-pricing-summary`),D=l(`magic-icon`),O=l(`el-button`);return g(),s(`div`,Et,[e(`div`,Dt,[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`})]),e(`div`,Ot,[a(T,{scenario:`pixverse`}),t.walletMode?o(``,!0):(g(),f(E,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(O,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(D,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var At=V(Tt,[[`render`,kt]]),jt=v({name:`TaskPreview`,components:{DeleteIcon:I,ChannelIcon:A,InfoIcon:ee,MagicIcon:L,TimeIcon:k,WarningIcon:te,CopyToClipboard:fe,ElAlert:C,VideoPlayer:_e,ElTooltip:S,ElButton:G,ApiCodeButton:ye,ReportButton:pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},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(`pixverse/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.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`)}}}),Mt={class:`preview`},Nt={class:`left`},Pt={class:`main`},Ft={class:`bot`},It={class:`datetime`},Lt=[`aria-label`],Rt={class:`info`},zt={key:0,class:`prompt mt-2`},Bt={key:0},Vt={key:1},Ht={key:0,class:n({content:!0,failed:!0})},Ut={key:0,class:`mb-4`},Wt={key:1,class:n({operations:!0,"mt-2":!0})},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:1,class:n({content:!0})},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Zt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Qt(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-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 g(),s(`div`,Mt,[e(`div`,Nt,[a(_,{capability:`pixverse`,part:`avatar`,class:`avatar`})]),e(`div`,Pt,[e(`div`,Ft,[a(_,{capability:`pixverse`,part:`name`}),e(`span`,It,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Lt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Rt,[n.modelValue?.request?.prompt?(g(),s(`p`,zt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,Bt,` - (`+i(n.$t(`pixverse.status.pending`))+`) `,1)),n.modelValue?.response?.data&&(n.modelValue?.response?.data[0]?.state===`processing`||n.modelValue?.response?.data[0]?.state===`pending`)?(g(),s(`span`,Vt,` - (`+i(n.$t(`pixverse.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,Ht,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Ut,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Wt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response?.data[0]?.video_url?(g(),f(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(n.$t(`pixverse.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/pixverse/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`pixverse`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Gt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Kt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,qt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(g(),s(`div`,$,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failure`)),1)]),default:p(()=>[e(`p`,Jt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),e(`p`,Yt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Xt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,Zt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var $t=v({name:`RecentPanel`,components:{TaskPreview:V(jt,[[`render`,Qt],[`__scopeId`,`data-v-7707e0ef`]]),NoTasks:P,BotPlaceholder:be,ScrollList:N},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),en={key:0},tn={key:2,class:`w-full h-full flex items-center justify-center`};function nn(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`,en,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,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`,tn,[a(v)])):o(``,!0)],64)}var rn=v({name:`PixverseIndex`,components:{ConfigPanel:At,Layout:ke,RecentPanel:V($t,[[`render`,nn]])},mixins:[le,xe(`pixverse`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks},walletMode(){return H()&&W(`pixverse`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`pixverse/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await F({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(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/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(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=Z(this.config),t=Se(`pixverse`,e);if(t){T.error(this.$t(`common.message.${t}`));return}if(!Y(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=J.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ue())return;let t=this.credential?.token;if(!t)return;n=J.generate(e,{token:t})}T.info(this.$t(`pixverse.message.startingTask`)),se(`pixverse`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{e instanceof ce||K(e,`pixverse`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`pixverse.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ae(this.$wallet)},async confirmWalletPayment(e){return Q.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function an(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 on=V(rn,[[`render`,an]]);export{on 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-CxPN3D9u.js";import{t as x}from"./upload-Sju4DbiY.js";import{t as S}from"./tooltip-B60Iasgv.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-BV9tXD4i.js";import{t as E}from"./drawer-CvX2U8ly.js";import{t as D}from"./input-number-BecdXhq4.js";import{t as O}from"./slider-DNzVAHfq.js";import{t as k}from"./clock-BRqsgYwQ.js";import{t as A}from"./hash-CRnccwx_.js";import{t as ee}from"./info-Bqj02p3r.js";import{a as j,i as M,n as N,r as P,t as F}from"./pagination-VjpfotZ8.js";import{t as I}from"./trash-2-BBCXfu0p.js";import{t as te}from"./triangle-alert-BRov4JmE.js";import{t as ne}from"./upload-D3ICVrNB.js";import{t as L}from"./wand-sparkles-D8Xtkkgr.js";import{Br as re,Lr as R,Rr as z,zr as B}from"./constants-GmVIn7tC.js";import{D as V,Mi as H,Na as U,Pi as W,Qa as G,T as K,Tn as q,_r as J,at as Y,ct as X,gr as Z,lt as ie,oi as ae,ot as oe,qi as se,ri as ce,st as le,ta as ue,tt as de,za as Q}from"./index-BYbC-2BV.js";import{t as fe}from"./CopyToClipboard-BQaEPLyt.js";import{t as pe}from"./ReportButton-BAx8pia_.js";import{t as me}from"./ImagePreview-Dm16d0L7.js";import{n as he}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ge}from"./ServicePricingSummary-DPzfamaB.js";import{t as _e}from"./VideoPlayer-Cdtv4baV.js";import{t as ve}from"./ScenarioPaymentMode-C2uR8lvu.js";import{t as ye}from"./ApiCodeButton-CAQzrT4K.js";import{t as be}from"./BotPlaceholder-BlCUdjzq.js";import{t as xe}from"./taskPollingMixin-CcLxtz8z.js";import{n as Se,t as Ce}from"./generationInput--J_4Niw5.js";var we=v({name:`LayoutPixverse`,components:{MagicIcon:L,ElDrawer:E,ElButton:G},mixins:[he]}),Te={class:`main flex flex-row flex-1`},Ee={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)]`},De={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Oe(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Te,[e(`div`,Ee,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,De,[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 ke=V(we,[[`render`,Oe],[`__scopeId`,`data-v-5a9d4c2f`]]),Ae=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=z}}),je={class:`field`},Me={class:`title font-bold`};function Ne(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,je,[e(`h2`,Me,i(t.$t(`pixverse.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var Pe=V(Ae,[[`render`,Ne],[`__scopeId`,`data-v-e8f337ca`]]),Fe=v({name:`QualitySelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=re}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ie,[e(`h2`,Le,i(t.$t(`pixverse.name.quality`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var ze=V(Fe,[[`render`,Re],[`__scopeId`,`data-v-64aeaae9`]]),Be=v({name:`MotionSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=B}}),Ve={class:`field`},He={class:`title font-bold`};function Ue(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ve,[e(`h2`,He,i(t.$t(`pixverse.name.motion`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var We=V(Be,[[`render`,Ue],[`__scopeId`,`data-v-94237408`]]),Ge=v({name:`StyleSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ke={class:`field`},qe={class:`title font-bold`};function Je(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ke,[e(`h2`,qe,i(t.$t(`pixverse.name.style`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var Ye=V(Ge,[[`render`,Je],[`__scopeId`,`data-v-64e17b3c`]]),Xe=v({name:`SeedSelector`,components:{ElSlider:O,InfoIcon:j,ElInputNumber:D},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`},et={class:`flex justify-end items-center`},tt={class:`w-full`};function nt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return g(),s(`div`,null,[e(`div`,Ze,[e(`div`,Qe,[e(`span`,$e,i(t.$t(`pixverse.name.seed`)),1),a(d,{content:t.$t(`pixverse.description.seed`)},null,8,[`content`])]),e(`div`,et,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,tt,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var rt=V(Xe,[[`render`,nt]]),it=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),at={class:`field`},ot={class:`title font-bold`};function st(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,at,[e(`h2`,ot,i(t.$t(`pixverse.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{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`])])}var ct=V(it,[[`render`,st],[`__scopeId`,`data-v-e7343a05`]]),lt=v({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{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.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=R}}),ut={class:`text-sm font-bold mb-2 block`},dt={class:`items`},ft=[`onClick`],pt={class:`name`};function mt(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,ut,i(t.$t(`pixverse.name.aspectRatio`)),1),e(`div`,dt,[(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`,pt,i(r.label),1)],10,ft))),128))])])}var ht=V(lt,[[`render`,mt],[`__scopeId`,`data-v-53038264`]]),gt=v({name:`StartImage`,components:{UploadIcon:ne,ElUpload:x,ElButton:G,InfoIcon:j,ImagePreview:me},mixins:[ie,X,oe,de],emits:[`change`],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){T.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){T.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),_t={class:`relative`},vt={class:`flex justify-between`},yt={class:`flex justify-start items-center`},bt={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 g(),s(`div`,_t,[e(`div`,vt,[e(`div`,yt,[e(`span`,bt,i(t.$t(`pixverse.name.startImage`)),1),a(h,{content:t.$t(`pixverse.description.uploadStartImage`)},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:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,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.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(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var St=V(gt,[[`render`,xt],[`__scopeId`,`data-v-e2ab1425`]]),Ct=v({name:`PromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function wt(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(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Tt=v({name:`ConfigPanel`,components:{MagicIcon:L,ElButton:G,PromptInput:V(Ct,[[`render`,wt]]),ModelSelector:Pe,QualitySelector:ze,MotionSelector:We,StyleSelector:Ye,DurationSelector:ct,StartImage:St,SeedSelector:rt,RatioSelector:ht,ServicePricingSummary:ge,ScenarioPaymentMode:ve},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Ce(`pixverse`,Z(this.config))},config(){return this.$store.state.pixverse?.config},consumption(){return q(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service},walletMode(){return H()&&W(`pixverse`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=W(`pixverse`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=W(`pixverse`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await J.quote(Z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),Et={class:`flex flex-col h-full`},Dt={class:`flex-1 overflow-y-auto p-5`},Ot={class:`flex flex-col items-center justify-center px-5 pb-5`};function kt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`style-selector`),y=l(`ratio-selector`),b=l(`motion-selector`),x=l(`quality-selector`),S=l(`start-image`),C=l(`seed-selector`),w=l(`duration-selector`),T=l(`scenario-payment-mode`),E=l(`service-pricing-summary`),D=l(`magic-icon`),O=l(`el-button`);return g(),s(`div`,Et,[e(`div`,Dt,[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`})]),e(`div`,Ot,[a(T,{scenario:`pixverse`}),t.walletMode?o(``,!0):(g(),f(E,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(O,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(D,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var At=V(Tt,[[`render`,kt]]),jt=v({name:`TaskPreview`,components:{DeleteIcon:I,ChannelIcon:A,InfoIcon:ee,MagicIcon:L,TimeIcon:k,WarningIcon:te,CopyToClipboard:fe,ElAlert:C,VideoPlayer:_e,ElTooltip:S,ElButton:G,ApiCodeButton:ye,ReportButton:pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},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(`pixverse/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.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`)}}}),Mt={class:`preview`},Nt={class:`left`},Pt={class:`main`},Ft={class:`bot`},It={class:`datetime`},Lt=[`aria-label`],Rt={class:`info`},zt={key:0,class:`prompt mt-2`},Bt={key:0},Vt={key:1},Ht={key:0,class:n({content:!0,failed:!0})},Ut={key:0,class:`mb-4`},Wt={key:1,class:n({operations:!0,"mt-2":!0})},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:1,class:n({content:!0})},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Zt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Qt(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-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 g(),s(`div`,Mt,[e(`div`,Nt,[a(_,{capability:`pixverse`,part:`avatar`,class:`avatar`})]),e(`div`,Pt,[e(`div`,Ft,[a(_,{capability:`pixverse`,part:`name`}),e(`span`,It,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{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:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Lt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Rt,[n.modelValue?.request?.prompt?(g(),s(`p`,zt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,Bt,` - (`+i(n.$t(`pixverse.status.pending`))+`) `,1)),n.modelValue?.response?.data&&(n.modelValue?.response?.data[0]?.state===`processing`||n.modelValue?.response?.data[0]?.state===`pending`)?(g(),s(`span`,Vt,` - (`+i(n.$t(`pixverse.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,Ht,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Ut,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Wt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response?.data[0]?.video_url?(g(),f(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(n.$t(`pixverse.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/pixverse/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`pixverse`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Gt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Kt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,qt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(g(),s(`div`,$,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failure`)),1)]),default:p(()=>[e(`p`,Jt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),e(`p`,Yt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Xt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,Zt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var $t=v({name:`RecentPanel`,components:{TaskPreview:V(jt,[[`render`,Qt],[`__scopeId`,`data-v-7707e0ef`]]),NoTasks:P,BotPlaceholder:be,ScrollList:N},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),en={key:0},tn={key:2,class:`w-full h-full flex items-center justify-center`};function nn(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`,en,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,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`,tn,[a(v)])):o(``,!0)],64)}var rn=v({name:`PixverseIndex`,components:{ConfigPanel:At,Layout:ke,RecentPanel:V($t,[[`render`,nn]])},mixins:[le,xe(`pixverse`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks},walletMode(){return H()&&W(`pixverse`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`pixverse/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await F({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(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/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(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=Z(this.config),t=Se(`pixverse`,e);if(t){T.error(this.$t(`common.message.${t}`));return}if(!Y(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=J.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ue())return;let t=this.credential?.token;if(!t)return;n=J.generate(e,{token:t})}T.info(this.$t(`pixverse.message.startingTask`)),se(`pixverse`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{e instanceof ce||K(e,`pixverse`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`pixverse.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ae(this.$wallet)},async confirmWalletPayment(e){return Q.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function an(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 on=V(rn,[[`render`,an]]);export{on as default};