@acedatacloud/nexior 3.259.0 → 3.259.2

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 (164) hide show
  1. package/dist/assets/{ApiCodeButton-C4MCH2v_.js → ApiCodeButton-CrB8OI_k.js} +1 -1
  2. package/dist/assets/{Auth-BdObDX2v.js → Auth-D7lOngx8.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-CGAUW1iT.js → BotPlaceholder-2Tv7c707.js} +1 -1
  4. package/dist/assets/{Callback-DLKRtLBl.js → Callback-o_WtM4Lu.js} +1 -1
  5. package/dist/assets/Console-DyQrQ2ME.js +1 -0
  6. package/dist/assets/{Consumption-VJaAox2V.js → Consumption-DSbM28rV.js} +1 -1
  7. package/dist/assets/Conversation-CoXownwh.js +3 -0
  8. package/dist/assets/{CopyToClipboard-5NkEhaix.js → CopyToClipboard-DY4cWsYU.js} +1 -1
  9. package/dist/assets/Detail-B9n2i9Fa.js +2 -0
  10. package/dist/assets/{Extra-DmETetnw.js → Extra-CZn3TNIS.js} +1 -1
  11. package/dist/assets/{FilePreview-TGSg50Zc.js → FilePreview-Py4tu-0w.js} +1 -1
  12. package/dist/assets/{Hailuo-DStEsngb.js → Hailuo-LkHCQXkA.js} +1 -1
  13. package/dist/assets/{History-CoxKF_to.js → History-awA8PmMN.js} +1 -1
  14. package/dist/assets/{ImagePreview-MEfAgvBn.js → ImagePreview-C1Hid5KU.js} +1 -1
  15. package/dist/assets/{ImageWrapper-CRh-6MMY.js → ImageWrapper-DJX4X7ZH.js} +1 -1
  16. package/dist/assets/Index-0bKwaMB9.js +1 -0
  17. package/dist/assets/Index-BGeRgVlY.js +1 -0
  18. package/dist/assets/{Index-D1MlYtnO.js → Index-BkCr-IVH.js} +1 -1
  19. package/dist/assets/{Index-DNhKB8MI2.js → Index-BnWFf1WU2.js} +1 -1
  20. package/dist/assets/{Index-DcBkaxew.js → Index-BrFnUNc9.js} +1 -1
  21. package/dist/assets/Index-Bxc5LfWk.css +1 -0
  22. package/dist/assets/{Index-BAPf-RsM.js → Index-C81ah7pU.js} +1 -1
  23. package/dist/assets/{Index-BFgs8TTI.js → Index-CFFdA9Hv.js} +1 -1
  24. package/dist/assets/{Index-BClrhBEj.js → Index-CJzn5-aH.js} +1 -1
  25. package/dist/assets/{Index-DyS603xh.js → Index-CKkIR2Gm.js} +1 -1
  26. package/dist/assets/Index-CQ5JZIJH.js +1 -0
  27. package/dist/assets/{Index-DQBJmxs4.js → Index-Cl8AOaSr.js} +1 -1
  28. package/dist/assets/{Index-DYdiEXUp2.js → Index-D6vHmFCC2.js} +1 -1
  29. package/dist/assets/Index-D8MG0L42.js +1 -0
  30. package/dist/assets/{Index-DdZM4v0Z.js → Index-D8tz6VQK.js} +1 -1
  31. package/dist/assets/Index-Db2BkIZS.js +1 -0
  32. package/dist/assets/{Index-D7ZfZgi2.js → Index-DbBGy0Pt.js} +2 -2
  33. package/dist/assets/{Index-B52pMykM.js → Index-DgwYNaP9.js} +1 -1
  34. package/dist/assets/{Index-00tHtBSw.js → Index-DlaY1fFi.js} +1 -1
  35. package/dist/assets/Index-EMIpGQx7.js +1 -0
  36. package/dist/assets/{Index-BnOQUBQQ.js → Index-WAfcMl2-.js} +1 -1
  37. package/dist/assets/{Index-C5JN3sn-.js → Index-ZsqTKpGL.js} +1 -1
  38. package/dist/assets/{Index-BtbsxOuk2.js → Index-_Ze9qFdR2.js} +1 -1
  39. package/dist/assets/{Index-uaC9voce.js → Index-n5UaDQV9.js} +1 -1
  40. package/dist/assets/{Index-BTqh8BWT.js → Index-tiT3VChz.js} +1 -1
  41. package/dist/assets/Index-uvGcb3bu.js +1 -0
  42. package/dist/assets/{Invitees-CBLQwvVM.js → Invitees-DtB5kNVo.js} +1 -1
  43. package/dist/assets/List-BRJtoSef.js +1 -0
  44. package/dist/assets/{List-7Fcdu55c.js → List-CYjxjygq.js} +1 -1
  45. package/dist/assets/{List-krUYxZb6.js → List-T3QLwYka.js} +1 -1
  46. package/dist/assets/{Main-9nM4xiWt.js → Main-DttSVF8-.js} +1 -1
  47. package/dist/assets/Model-1999AqWt.js +1 -0
  48. package/dist/assets/Navigator-Zo3i7gU0.js +4 -0
  49. package/dist/assets/{NoTasks-Uzzr1qXU.js → NoTasks-BJ195-7X.js} +1 -1
  50. package/dist/assets/{NotFound-CiFY0OvQ.js → NotFound-D89S6twM.js} +1 -1
  51. package/dist/assets/{Pagination-BbB0LvQQ.js → Pagination-C-fONpnB.js} +1 -1
  52. package/dist/assets/{Pay-plu3ZBVl.js → Pay-Crrej_p1.js} +1 -1
  53. package/dist/assets/{Player-C63W3oP5.js → Player-ASHKHTg5.js} +1 -1
  54. package/dist/assets/{Status-Bhx2_jOp.js → Status-BJ-OT3no.js} +1 -1
  55. package/dist/assets/{Subscribe-BwihpAr3.js → Subscribe-CBh-MpTL.js} +1 -1
  56. package/dist/assets/{TabSwitcher-DZUpNA6G.js → TabSwitcher-D0CyI2Xc.js} +1 -1
  57. package/dist/assets/{Tts-yZ7AX6Nb.js → Tts-C4OxCs9d.js} +1 -1
  58. package/dist/assets/{VideoPlayer-DreO3MzZ.js → VideoPlayer-DtbwYrYN.js} +1 -1
  59. package/dist/assets/{avatar-DVaBu2Qw.js → avatar-DQvMUF4E.js} +1 -1
  60. package/dist/assets/{basic-CqW4nX8m.js → basic-CquVE-iP.js} +1 -1
  61. package/dist/assets/{chat-CdxJQAQx.js → chat-BGYr8UzJ.js} +1 -1
  62. package/dist/assets/{codingBridge-QJbhrPxC.js → codingBridge-DbnzL8w4.js} +1 -1
  63. package/dist/assets/common-AaJaxYtj.js +1 -0
  64. package/dist/assets/common-B9dg8x5F.js +1 -0
  65. package/dist/assets/common-BDfZ84MT.js +1 -0
  66. package/dist/assets/common-BNte7Sb7.js +1 -0
  67. package/dist/assets/common-BRmSZ0y6.js +1 -0
  68. package/dist/assets/common-BUmk8fFa.js +1 -0
  69. package/dist/assets/common-BoZkGdZv.js +1 -0
  70. package/dist/assets/common-ByelyeiI.js +1 -0
  71. package/dist/assets/common-CBXPz4Gt.js +1 -0
  72. package/dist/assets/common-CQCvsTQc.js +1 -0
  73. package/dist/assets/common-CY8Pw26h.js +1 -0
  74. package/dist/assets/common-D7M1aMtt.js +1 -0
  75. package/dist/assets/common-DKVRh9RY.js +1 -0
  76. package/dist/assets/common-DTJhQxGd.js +1 -0
  77. package/dist/assets/common-DpzaExUg.js +1 -0
  78. package/dist/assets/common-Dz9OL3SE.js +1 -0
  79. package/dist/assets/common-T4nrRH2n.js +1 -0
  80. package/dist/assets/common-qMAMlpap.js +1 -0
  81. package/dist/assets/{constants-BoMdh9QC.js → constants-D3W0tInG.js} +1 -1
  82. package/dist/assets/createTaskActions-DSio-qyh.js +1 -0
  83. package/dist/assets/{date-picker-DlzFe37R.js → date-picker-q8pIuluv.js} +1 -1
  84. package/dist/assets/{dropdown-D4P6sTin.js → dropdown-B9IRdQqv.js} +1 -1
  85. package/dist/assets/{esm-DyHAUseZ.js → esm-B9OmGyuV.js} +1 -1
  86. package/dist/assets/{esm-oK6GQW2D.js → esm-BR8vBoZW.js} +3 -3
  87. package/dist/assets/{esm-CHReRlQi.js → esm-C2vMPVw8.js} +1 -1
  88. package/dist/assets/{esm-Dc72rIUj.js → esm-CJlQJXK1.js} +1 -1
  89. package/dist/assets/{esm-DwX0auQH.js → esm-DAnx7ajT.js} +2 -2
  90. package/dist/assets/fish-B1CPHGqj.js +1 -0
  91. package/dist/assets/{flux-Cspb0_i0.js → flux-eDRFbrY-.js} +1 -1
  92. package/dist/assets/{hailuo-DxI-qT1d.js → hailuo-C_hqofiX.js} +1 -1
  93. package/dist/assets/{headshots-BYZ_ArqX.js → headshots-Cj4N1fF3.js} +1 -1
  94. package/dist/assets/{image-05OiwhCC.js → image-Bau0kGS7.js} +1 -1
  95. package/dist/assets/{index-DtcnyKXU.js → index-CEh-AtFD.js} +5 -5
  96. package/dist/assets/{index.browser.esm-U0zaLUn7.js → index.browser.esm-DHCDza1X.js} +1 -1
  97. package/dist/assets/{index.es-D2U_WHjx.js → index.es-CGcvPLbY.js} +2 -2
  98. package/dist/assets/{input-number-rcPsKO0-.js → input-number-CmkQjFiE.js} +1 -1
  99. package/dist/assets/{kling-CC2Ke0tt.js → kling-CRmr8y81.js} +1 -1
  100. package/dist/assets/logo-CDy94G52.png +0 -0
  101. package/dist/assets/{luma-DAyLUibu.js → luma-D_nz3b6M.js} +1 -1
  102. package/dist/assets/{midjourney-tnbchmD3.js → midjourney-B6hnRZ3K.js} +1 -1
  103. package/dist/assets/{seedance-DJZm3SNS.js → nanobanana-f2Hzejwd.js} +1 -1
  104. package/dist/assets/{openaiimage-B_A5QSkl.js → openaiimage-BwpYHtuL.js} +1 -1
  105. package/dist/assets/{pagination-K-GiKzXg.js → pagination-D0v316W1.js} +1 -1
  106. package/dist/assets/{pika-BBP-4JZM.js → pika-e6hR4IeY.js} +1 -1
  107. package/dist/assets/{pixverse-C0IDtvAx.js → pixverse-CPipo4LI.js} +1 -1
  108. package/dist/assets/{popover-B0B5fO0z.js → popover-CSgWdhUy.js} +1 -1
  109. package/dist/assets/{producer-DgOLiWVc.js → producer-DJ4a39Lu.js} +1 -1
  110. package/dist/assets/{qrart-xTwvAA74.js → qrart-BuxE05Qc.js} +1 -1
  111. package/dist/assets/{nanobanana-BoZgSSDH.js → seedance-DAZrVfXS.js} +1 -1
  112. package/dist/assets/{seedream-QYIfMZ3Q.js → seedream-BJqXqpOp.js} +1 -1
  113. package/dist/assets/{select-DC5zO2Tf.js → select-Dy4nmBcy.js} +1 -1
  114. package/dist/assets/{serp-DXGhiJZg.js → serp-Cz_MtJwi.js} +1 -1
  115. package/dist/assets/{slider-CGrxfmRg.js → slider-DYYyrciZ.js} +1 -1
  116. package/dist/assets/{solana-wallets-C7lQxfEG.js → solana-wallets-tNxm19zu.js} +2 -2
  117. package/dist/assets/{solana-wallets-vue-Ch6_njsf.js → solana-wallets-vue-ByNIjkt4.js} +1 -1
  118. package/dist/assets/{sora-Bih-b3Wy.js → sora-DeJUG43s.js} +1 -1
  119. package/dist/assets/{suno-BVP1oyHI.js → suno-BxgEvS5C.js} +1 -1
  120. package/dist/assets/{switch-BXulLLA8.js → switch-D-UGKh2b.js} +1 -1
  121. package/dist/assets/{veo-C2QQ-49i.js → veo-CSiyGGgP.js} +1 -1
  122. package/dist/assets/{wan-CPaPXFG5.js → wan-COaEWeYX.js} +1 -1
  123. package/dist/assets/{web-C29CPt0h.js → web-6DmQMQgq.js} +1 -1
  124. package/dist/assets/{web-DUk_NFV5.js → web-9Wjb-3Y7.js} +1 -1
  125. package/dist/assets/{web-zl9eTeWP.js → web-BACoPsIE.js} +1 -1
  126. package/dist/assets/{web-GnQt9T8o.js → web-Fw8IL3sG.js} +1 -1
  127. package/dist/assets/webextrator-DHfxHhCZ.js +1 -0
  128. package/dist/index.html +2 -2
  129. package/package.json +1 -1
  130. package/dist/assets/Console-DzBF74Up.js +0 -1
  131. package/dist/assets/Conversation-C0qMBCoR.js +0 -3
  132. package/dist/assets/Detail-Bkh-f-26.js +0 -2
  133. package/dist/assets/Index-B_G3qdbD.js +0 -1
  134. package/dist/assets/Index-CnRpD2Su.js +0 -1
  135. package/dist/assets/Index-Ct7m8cKp.js +0 -1
  136. package/dist/assets/Index-CvXKIAaC.css +0 -1
  137. package/dist/assets/Index-D8Y42RvJ.js +0 -1
  138. package/dist/assets/Index-DHHLDJRo.js +0 -1
  139. package/dist/assets/Index-KqTKc6D1.js +0 -1
  140. package/dist/assets/Index-WhYXHrmN.js +0 -1
  141. package/dist/assets/List-BFdZ2jdF.js +0 -1
  142. package/dist/assets/Model-DO66qW4-.js +0 -1
  143. package/dist/assets/Navigator-CBkmjXto.js +0 -4
  144. package/dist/assets/common-B-85hIf6.js +0 -1
  145. package/dist/assets/common-BGffpcje.js +0 -1
  146. package/dist/assets/common-BSlcCHi9.js +0 -1
  147. package/dist/assets/common-BW1ktl-0.js +0 -1
  148. package/dist/assets/common-C409tH5C.js +0 -1
  149. package/dist/assets/common-C68QsR1F.js +0 -1
  150. package/dist/assets/common-CDV9Evla.js +0 -1
  151. package/dist/assets/common-CnwYKU3V.js +0 -1
  152. package/dist/assets/common-CubZdUiv.js +0 -1
  153. package/dist/assets/common-D5vt52Th.js +0 -1
  154. package/dist/assets/common-D6zwbvbp.js +0 -1
  155. package/dist/assets/common-D9gssFIa.js +0 -1
  156. package/dist/assets/common-DAbrOt4b.js +0 -1
  157. package/dist/assets/common-DfZXjXL1.js +0 -1
  158. package/dist/assets/common-Dujshi5h.js +0 -1
  159. package/dist/assets/common-RM9mERZO.js +0 -1
  160. package/dist/assets/common-fL3aSjYa.js +0 -1
  161. package/dist/assets/common-juyL6Sek.js +0 -1
  162. package/dist/assets/createTaskActions-B0VMGvXd.js +0 -1
  163. package/dist/assets/fish-IBtvnPZP.js +0 -1
  164. package/dist/assets/webextrator-BHMQIKHI.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h,y as g}from"./vendor-chart-Df3WBvr0.js";import{t as _}from"./button-DgZFgZDr.js";import{E as v}from"./use-deprecated-Brbm5i6o.js";import{r as y,t as b}from"./select-DC5zO2Tf.js";import{n as x,t as S}from"./tabs-DT_RvYVg.js";import{t as C}from"./upload-B8zBOx3w.js";import{t as w}from"./tooltip-C-9nDsaA.js";import{t as T}from"./image-05OiwhCC.js";import{t as E}from"./alert-Bgv5POrX.js";import{n as D,r as O}from"./radio-DNLlMkjf.js";import{t as k}from"./drawer-BhAAsvLB.js";import{t as A}from"./input-number-rcPsKO0-.js";import{t as ee}from"./slider-CGrxfmRg.js";import{t as j}from"./switch-BXulLLA8.js";import{Gn as te,Jn as M,Vr as ne}from"./constants-BoMdh9QC.js";import{Ct as N,Dt as P,Er as re,On as F,Or as I,S as L,St as R,Tt as z,br as B,dr as V,mr as H,on as U,wt as ie,xr as W}from"./index-DtcnyKXU.js";import{t as G}from"./index.es-D2U_WHjx.js";import{t as ae}from"./CopyToClipboard-5NkEhaix.js";import{t as oe}from"./FilePreview-TGSg50Zc.js";import{t as K}from"./ImagePreview-MEfAgvBn.js";import{t as se}from"./BotPlaceholder-CGAUW1iT.js";import{i as q,n as ce,t as le}from"./pagination-K-GiKzXg.js";import{n as ue,t as de}from"./NoTasks-Uzzr1qXU.js";import{t as J}from"./Consumption-VJaAox2V.js";import{t as fe}from"./ApiCodeButton-C4MCH2v_.js";import{t as pe}from"./VideoPlayer-DreO3MzZ.js";var me=c({name:`LayoutKling`,components:{ElDrawer:k,ElButton:_,FontAwesomeIcon:G},data(){return{drawer:!1}}}),he={class:`main flex flex-row flex-1 min-h-0`},ge={class:`config w-[320px] flex-none h-full flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},_e={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ve(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,he,[r(`div`,ge,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,_e,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ye=L(me,[[`render`,ve],[`__scopeId`,`data-v-be4bb0df`]]),be={text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};function Y(e,t,n){let r=t||`std`,i=n??5;switch(e){case`kling-v1`:return{text2video:!0,image2video:!0,endImage:i===5,audio:!1,motionControl:i===5};case`kling-v1-6`:case`kling-v2-5-turbo`:return{text2video:!0,image2video:!0,endImage:r===`pro`,audio:!1,motionControl:!1};case`kling-v2-6`:return{text2video:!0,image2video:!0,endImage:r===`pro`,audio:r===`pro`,motionControl:!1};case`kling-v2-master`:case`kling-v2-1-master`:return{text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};case`kling-v3`:return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:r!==`4k`};case`kling-v3-omni`:return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:!1};case`kling-video-o1`:return{text2video:!0,image2video:!0,endImage:!0,audio:!1,motionControl:!1};default:return be}}function X(e,t){if(!e)return[];let n=t.model??e.model,r=t.mode??e.mode,i=t.duration??e.duration;if(!n)return[];let a=Y(n,r,i),o=[];return e.end_image_url&&!a.endImage&&o.push({field:`end_image_url`,i18nLabel:`kling.name.endImage`}),e.generate_audio&&!a.audio&&o.push({field:`generate_audio`,i18nLabel:`kling.name.generateAudio`}),e.camera_control?.type&&(!a.motionControl||e.start_image_url)&&o.push({field:`camera_control`,i18nLabel:`kling.name.cameraControl`}),o}function Z(e,t){let n={...e};for(let e of t)e.field===`end_image_url`&&(n.end_image_url=void 0),e.field===`generate_audio`&&(n.generate_audio=!1),e.field===`camera_control`&&(n.camera_control=void 0);return n}var xe=c({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{revertKey:0,options:[{value:`kling-v3`,label:`v3`},{value:`kling-v3-omni`,label:`v3-Omni`},{value:`kling-v2-6`,label:`v2.6`},{value:`kling-v2-5-turbo`,label:`v2.5-Turbo`},{value:`kling-v2-1-master`,label:`v2.1-Master`},{value:`kling-v2-master`,label:`v2-Master`},{value:`kling-v1-6`,label:`v1.6`},{value:`kling-v1`,label:`v1`},{value:`kling-video-o1`,label:`Video-o1`}]}},computed:{value(){return this.$store.state.kling?.config?.model}},mounted(){this.value||this.applyModel(te)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=X(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await B.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=Z({...t,model:e},n);this.$store.commit(`kling/setConfig`,i),W.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,model:e})}}}),Se={class:`field`},Ce={class:`title font-bold`};function we(e,t,i,a,o,s){let c=f(`el-option`),g=f(`el-select`);return d(),p(`div`,Se,[r(`h2`,Ce,u(e.$t(`pika.name.model`)),1),(d(),n(g,{key:e.revertKey,"model-value":e.value,class:`value`,placeholder:e.$t(`pika.placeholder.select`),onChange:e.onChange},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(c,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Te=L(xe,[[`render`,we],[`__scopeId`,`data-v-04059875`]]),Ee=c({name:`ModeSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:q},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},cameraControlSet(){return!!this.$store.state.kling?.config?.camera_control?.type},fourKReason(){return M.includes(this.selectedModel)?this.cameraControlSet?this.$t(`kling.description.mode4kIncompatibleCamera`):``:this.$t(`kling.description.mode4kRequiresV3`)},options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`),disabled:!1,disabledReason:``},{value:`pro`,label:this.$t(`kling.name.modePro`),disabled:!1,disabledReason:``},{value:`4k`,label:this.$t(`kling.name.mode4k`),disabled:!!this.fourKReason,disabledReason:this.fourKReason}]},value(){return this.$store.state.kling?.config?.mode}},watch:{fourKReason(e){e&&this.value===`4k`&&this.applyMode(`std`)}},mounted(){this.value||this.applyMode(`std`)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=X(t,{mode:e});if(n.length===0){this.applyMode(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await B.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=Z({...t,mode:e},n);this.$store.commit(`kling/setConfig`,i),W.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyMode(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,mode:e})}}}),De={class:`field`},Oe={class:`header`},ke={class:`title font-bold`},Ae={key:0,class:`opt-tip`};function je(e,i,a,c,g,_){let v=f(`info-icon`),y=f(`el-option`),b=f(`el-select`);return d(),p(`div`,De,[r(`div`,Oe,[r(`h2`,ke,u(e.$t(`kling.name.mode`)),1),o(v,{content:e.$t(`kling.description.mode`),class:`info-icon`},null,8,[`content`])]),(d(),n(b,{key:e.revertKey,"model-value":e.value,class:`value`,placeholder:e.$t(`kling.placeholder.select`),clearable:!0,onChange:e.onChange},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(y,{key:e.value,label:e.label,value:e.value,disabled:e.disabled},{default:m(()=>[r(`span`,{class:t({"opt-disabled":e.disabled})},u(e.label),3),e.disabled&&e.disabledReason?(d(),p(`span`,Ae,u(e.disabledReason),1)):s(``,!0)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Me=L(Ee,[[`render`,je],[`__scopeId`,`data-v-9a8fa3c5`]]),Ne=[3,5,8,10,12,15],Pe=[5,10],Fe=c({name:`DurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:q},data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},isV3Model(){return M.includes(this.selectedModel)},allowedDurations(){return this.isV3Model?Ne:Pe},value(){return this.$store.state.kling?.config?.duration??5},selectValue(){let e=this.allowedDurations;return e.includes(this.value)?this.value:e.includes(5)?5:e[0]}},watch:{isV3Model(){this.allowedDurations.includes(this.value)||this.applyDuration(5)}},mounted(){this.$store.state.kling?.config?.duration||this.applyDuration(5)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=X(t,{duration:e});if(n.length===0){this.applyDuration(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await B.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=Z({...t,duration:e},n);this.$store.commit(`kling/setConfig`,i),W.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyDuration(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,duration:e})}}}),Ie={class:`field`},Le={class:`control`},Re={class:`label`},ze={class:`title font-bold`};function Be(e,t,i,a,s,c){let g=f(`info-icon`),_=f(`el-option`),v=f(`el-select`);return d(),p(`div`,Ie,[r(`div`,Le,[r(`div`,Re,[r(`h2`,ze,u(e.$t(`kling.name.duration`)),1),o(g,{content:e.$t(`kling.description.duration`),class:`info-icon ml-1`},null,8,[`content`])]),(d(),n(v,{key:e.revertKey,"model-value":e.selectValue,class:`value`,placeholder:e.$t(`kling.placeholder.select`),onChange:e.onChange},{default:m(()=>[(d(!0),p(h,null,l(e.allowedDurations,e=>(d(),n(_,{key:e,label:`${e}s`,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])])}var Ve=L(Fe,[[`render`,Be],[`__scopeId`,`data-v-5ae55e28`]]),He=c({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,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?.kling?.config?.aspect_ratio},set(e){console.debug(`set ratio`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,aspect_ratio:e})}}},mounted(){this.value||=`1:1`}}),Ue={class:`text-sm font-bold mb-2 block`},We={class:`items`},Ge=[`onClick`],Ke={class:`name`};function qe(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,Ue,u(e.$t(`kling.name.ratio`)),1),r(`div`,We,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,Ke,u(n.label),1)],10,Ge))),128))])])}var Je=L(He,[[`render`,qe],[`__scopeId`,`data-v-cdb14b2f`]]),Ye=c({name:`StartImage`,components:{ElUpload:C,ElButton:_,ElTooltip:w,InfoIcon:q,FontAwesomeIcon:G,ImagePreview:K},mixins:[z,N],emits:[`change`],data(){return{fileList:[],uploadUrl:H()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},value:{get(){return this.$store.state?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){W.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){W.error(this.$t(`kling.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Xe={class:`relative`},Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`};function et(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-tooltip`),x=f(`el-upload`);return d(),p(`div`,Xe,[r(`div`,Ze,[r(`div`,Qe,[r(`span`,$e,u(e.$t(`kling.name.startImage`)),1),o(g,{content:e.$t(`kling.description.uploadStartImage`)},null,8,[`content`])])]),o(x,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,disabled:e.reachedLimit,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(b,{content:e.$t(`kling.message.uploadReferencesExceed`),disabled:!e.reachedLimit,placement:`top`},{default:m(()=>[r(`span`,null,[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`,disabled:e.reachedLimit},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`file-list`,`disabled`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var tt=L(Ye,[[`render`,et],[`__scopeId`,`data-v-756dc269`]]),nt=c({name:`EndImage`,components:{ElUpload:C,ElButton:_,ElTooltip:w,ImagePreview:K,InfoIcon:q,FontAwesomeIcon:G},mixins:[z,N],data(){return{fileList:[],uploadUrl:H()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},klingConfig(){return this.$store.state?.kling?.config||{}},endImageSupported(){return Y(this.klingConfig.model,this.klingConfig.mode,this.klingConfig.duration).endImage},hasStartImage(){return!!this.klingConfig.start_image_url},uploadDisabled(){return this.reachedLimit||!this.endImageSupported||!this.hasStartImage},uploadTooltip(){return this.endImageSupported?this.hasStartImage?this.reachedLimit?this.$t(`kling.message.uploadReferencesExceed`):``:this.$t(`kling.message.endImageRequiresStart`):this.$t(`kling.message.endImageNotSupported`)},storeValue(){return this.klingConfig.end_image_url},value:{get(){return this.storeValue},set(){}}},watch:{storeValue(e){!e&&this.fileList.length>0&&(this.fileList=[])},hasStartImage(e){!e&&this.storeValue&&(this.fileList=[],this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,end_image_url:void 0}))}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onBeforeUpload(){return this.endImageSupported?this.hasStartImage?!0:(W.warning(this.$t(`kling.message.endImageRequiresStart`)),!1):(W.warning(this.$t(`kling.message.endImageNotSupported`)),!1)},onExceed(){W.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){W.error(this.$t(`kling.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),rt={class:`relative`},it={class:`flex justify-between`},at={class:`flex justify-start items-center`},ot={class:`text-sm font-bold`};function st(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-tooltip`),x=f(`el-upload`);return d(),p(`div`,rt,[r(`div`,it,[r(`div`,at,[r(`span`,ot,u(e.$t(`kling.name.endImage`)),1),o(g,{content:e.$t(`kling.description.uploadEndImage`)},null,8,[`content`])])]),o(x,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,disabled:e.uploadDisabled,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"before-upload":e.onBeforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(b,{content:e.uploadTooltip,disabled:!e.uploadDisabled,placement:`top`},{default:m(()=>[r(`span`,null,[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`,disabled:e.uploadDisabled},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`file-list`,`disabled`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var ct=L(nt,[[`render`,st],[`__scopeId`,`data-v-c1b257e5`]]),lt=c({name:`CfgScaleSelector`,components:{ElSlider:ee,InfoIcon:q,ElInputNumber:A},computed:{value:{get(){return this.$store.state?.kling?.config?.cfg_scale},set(e){console.debug(`set cfg_scale`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,cfg_scale:e})}}},mounted(){this.value||=0}}),ut={class:`flex justify-between`},dt={class:`flex justify-start items-center`},ft={class:`text-sm font-bold`},pt={class:`flex justify-end items-center`},mt={class:`w-full`};function ht(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`),m=f(`el-slider`);return d(),p(`div`,null,[r(`div`,ut,[r(`div`,dt,[r(`span`,ft,u(e.$t(`kling.name.cfgScale`)),1),o(c,{content:e.$t(`kling.description.cfgScale`)},null,8,[`content`])]),r(`div`,pt,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,mt,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1,step:.1},null,8,[`modelValue`])])])}var gt=L(lt,[[`render`,ht]]),_t=c({name:`GenerateAudioSelector`,components:{ElSwitch:j,InfoIcon:q},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},selectedMode(){return this.$store.state.kling?.config?.mode||``},supported(){return!!(M.includes(this.selectedModel)||this.selectedModel===`kling-v2-6`&&this.selectedMode===`pro`)},tooltipContent(){return this.supported?this.$t(`kling.description.generateAudio`):this.$t(`kling.description.generateAudioUnsupported`)},value:{get(){return this.supported?this.$store.state.kling?.config?.generate_audio??!1:!1},set(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,generate_audio:e})}}},watch:{supported(e){!e&&this.$store.state.kling?.config?.generate_audio&&this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,generate_audio:!1})}}}),vt={class:`relative`},yt={class:`flex justify-between items-center`},bt={class:`flex justify-start items-center`},xt={class:`text-sm font-bold`};function St(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-switch`);return d(),p(`div`,vt,[r(`div`,yt,[r(`div`,bt,[r(`span`,xt,u(e.$t(`kling.name.generateAudio`)),1),o(c,{content:e.tooltipContent},null,8,[`content`])]),o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,disabled:!e.supported},null,8,[`modelValue`,`disabled`])])])}var Ct=L(_t,[[`render`,St]]),wt=[`horizontal`,`vertical`,`pan`,`tilt`,`roll`,`zoom`],Tt=c({name:`CameraControlSelector`,components:{ElSelect:y,ElOption:b,ElSlider:ee,ElInputNumber:A,InfoIcon:q},data(){return{configKeys:wt}},computed:{typeOptions(){return[{value:``,label:this.$t(`kling.name.cameraTypeNone`)},{value:`simple`,label:this.$t(`kling.name.cameraTypeSimple`)},{value:`down_back`,label:this.$t(`kling.name.cameraTypeDownBack`)},{value:`forward_up`,label:this.$t(`kling.name.cameraTypeForwardUp`)},{value:`left_turn_forward`,label:this.$t(`kling.name.cameraTypeLeftTurnForward`)},{value:`right_turn_forward`,label:this.$t(`kling.name.cameraTypeRightTurnForward`)}]},selectedMode(){return this.$store.state.kling?.config?.mode||``},selectedModel(){return this.$store.state.kling?.config?.model||``},selectedDuration(){return this.$store.state.kling?.config?.duration},motionControlSupported(){return Y(this.selectedModel,this.selectedMode,this.selectedDuration).motionControl},hasStartImage(){return!!this.$store.state.kling?.config?.start_image_url},disabled(){return!this.motionControlSupported||this.hasStartImage},tooltipContent(){return this.motionControlSupported?this.hasStartImage?this.$t(`kling.description.cameraControlDisabledImage2Video`):this.$t(`kling.description.cameraControl`):this.$t(`kling.description.cameraControlNotSupported`)},selectedType(){return this.$store.state.kling?.config?.camera_control?.type},selectedTypeRaw:{get(){return this.selectedType??``},set(e){let t=this.$store.state.kling?.config||{};if(!e){let e={...t};delete e.camera_control,this.$store.commit(`kling/setConfig`,e);return}let n=e;this.$store.commit(`kling/setConfig`,{...t,camera_control:{type:n,config:n===`simple`?t.camera_control?.config||{}:void 0}})}},configValues(){return this.$store.state.kling?.config?.camera_control?.config||{}}},watch:{disabled(e){e&&this.selectedType!==void 0&&(this.selectedTypeRaw=``)}},methods:{writeConfig(e,t){let n=this.$store.state.kling?.config||{},r=n.camera_control||{type:`simple`},i={...r.config||{}};t==null?delete i[e]:i[e]=t,this.$store.commit(`kling/setConfig`,{...n,camera_control:{...r,type:`simple`,config:i}})},onSliderChange(e,t){this.writeConfig(e,t)},onNumberChange(e,t){this.writeConfig(e,t)}}}),Et={class:`field`},Dt={class:`header`},Ot={class:`text-sm font-bold`},kt={key:0,class:`config-grid`},At={class:`cfg-row-head`},jt={class:`cfg-name`};function Mt(e,t,i,a,c,g){let _=f(`info-icon`),v=f(`el-option`),y=f(`el-select`),b=f(`el-input-number`),x=f(`el-slider`);return d(),p(`div`,Et,[r(`div`,Dt,[r(`span`,Ot,u(e.$t(`kling.name.cameraControl`)),1),o(_,{content:e.tooltipContent},null,8,[`content`])]),o(y,{modelValue:e.selectedTypeRaw,"onUpdate:modelValue":t[0]||=t=>e.selectedTypeRaw=t,class:`value`,placeholder:e.$t(`kling.placeholder.cameraType`),clearable:!0,disabled:e.disabled},{default:m(()=>[(d(!0),p(h,null,l(e.typeOptions,e=>(d(),n(v,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`]),e.selectedType===`simple`&&!e.disabled?(d(),p(`div`,kt,[(d(!0),p(h,null,l(e.configKeys,t=>(d(),p(`div`,{key:t,class:`cfg-row`},[r(`div`,At,[r(`span`,jt,u(e.$t(`kling.name.cc_${t}`)),1),o(b,{modelValue:e.configValues[t],"onUpdate:modelValue":n=>e.configValues[t]=n,min:-1,max:1,step:.1,precision:1,"controls-position":`right`,size:`small`,class:`cfg-num`,onChange:n=>e.onNumberChange(t,n)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])]),o(x,{"model-value":e.configValues[t]??0,min:-1,max:1,step:.1,onInput:n=>e.onSliderChange(t,n)},null,8,[`model-value`,`onInput`])]))),128))])):s(``,!0)])}var Nt=L(Tt,[[`render`,Mt],[`__scopeId`,`data-v-cd896060`]]),Pt=[{groupKey:`cameraMovements`,chipKeys:[`rotateAround`,`stationary`,`handheld`,`zoomOut`,`zoomIn`,`follow`,`panRight`,`tiltUp`,`tiltDown`,`orbit`]},{groupKey:`cameraSpeed`,chipKeys:[`speedSlow`,`speedMedium`,`speedFast`]},{groupKey:`shotType`,chipKeys:[`shotClose`,`shotMedium`,`shotLong`,`shotLowAngle`,`shotHighAngle`,`shotShallowDof`,`shotFront`,`shotProfile`,`shotCloseUp`,`shotDrone`]},{groupKey:`light`,chipKeys:[`lightSunlight`,`lightSoft`,`lightNeon`,`lightWarm`,`lightNature`,`lightCandle`,`lightCityNight`]},{groupKey:`frame`,chipKeys:[`frameRichDetails`,`frameSimpleBg`]},{groupKey:`atmosphere`,chipKeys:[`atmosphereMysterious`,`atmospherePeaceful`,`atmosphereHeartwarming`,`atmosphereVivid`,`atmosphereColorful`]}],Q=`, `;function Ft(e,t){let n=(e||``).trim();return n?n.includes(t)?n:`${n}${Q}${t}`:t}function $(e,t){if(!e||!t)return e||``;let n=[`${t}${Q}`,`${Q}${t}`,t],r=e;for(let e of n)if(r.includes(e)){r=r.replace(e,``);break}return r.replace(/(?:,\s*)+$/,``).replace(/^(?:,\s*)+/,``)}var It=c({name:`InspirationPills`,components:{FontAwesomeIcon:G},computed:{prompt(){return this.$store.state.kling?.config?.prompt||``},allChipTexts(){return Pt.flatMap(e=>e.chipKeys.map(e=>this.$t(`kling.inspiration.chip.${e}`)))},selected(){let e=this.prompt;if(!e)return[];let t=[];for(let n of this.allChipTexts){let r=e.indexOf(n);r!==-1&&t.push({text:n,idx:r})}return t.sort((e,t)=>e.idx-t.idx).map(e=>e.text)}},methods:{onRemove(e){let t=$(this.prompt,e);this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:t})}}}),Lt={key:0,class:`pills`,role:`list`},Rt={class:`pill-text`},zt=[`aria-label`,`onClick`];function Bt(e,t,n,i,a,c){let m=f(`font-awesome-icon`);return e.selected.length>0?(d(),p(`div`,Lt,[(d(!0),p(h,null,l(e.selected,t=>(d(),p(`div`,{key:t,class:`pill`,role:`listitem`},[r(`span`,Rt,u(t),1),r(`button`,{type:`button`,class:`pill-remove`,"aria-label":e.$t(`kling.inspiration.removeChip`),onClick:g(n=>e.onRemove(t),[`stop`])},[o(m,{icon:`fa-solid fa-xmark`})],8,zt)]))),128))])):s(``,!0)}var Vt=c({name:`PromptInput`,components:{ElButton:_,FontAwesomeIcon:G,PromptTextarea:ue,InspirationPills:L(It,[[`render`,Bt],[`__scopeId`,`data-v-5fc4fa65`]])},emits:[`open-inspiration`],computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ht(e,t,r,i,s,c){let l=f(`font-awesome-icon`),p=f(`el-button`),h=f(`inspiration-pills`),g=f(`prompt-textarea`);return d(),n(g,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||=t=>e.prompt=t,title:e.$t(`kling.name.prompt`),info:e.$t(`kling.description.prompt`),placeholder:e.$t(`kling.placeholder.prompt`)},{actions:m(()=>[o(p,{text:``,size:`small`,class:`inspiration-btn`,onClick:t[0]||=t=>e.$emit(`open-inspiration`)},{default:m(()=>[o(l,{icon:`fa-regular fa-lightbulb`,class:`mr-1`}),a(` `+u(e.$t(`kling.inspiration.openButton`)),1)]),_:1})]),before:m(()=>[o(h)]),_:1},8,[`modelValue`,`title`,`info`,`placeholder`])}var Ut=L(Vt,[[`render`,Ht],[`__scopeId`,`data-v-c01fc1a6`]]),Wt=c({name:`NegativePromptInput`,components:{ElInput:I,InfoIcon:q},computed:{prompt:{get(){return this.$store.state.kling?.config?.negative_prompt},set(e){console.debug(`set prompt`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,negative_prompt:e})}}},mounted(){this.prompt||=``}}),Gt={class:`field`},Kt={class:`box`},qt={class:`title font-bold`};function Jt(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input`);return d(),p(`div`,Gt,[r(`div`,Kt,[r(`h2`,qt,u(e.$t(`kling.name.negativePrompt`)),1),o(c,{content:e.$t(`kling.description.negativePrompt`),class:`info`},null,8,[`content`])]),o(l,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`kling.placeholder.negativePrompt`)},null,8,[`modelValue`,`placeholder`])])}var Yt=L(Wt,[[`render`,Jt],[`__scopeId`,`data-v-de98cf01`]]),Xt=c({name:`InspirationDrawer`,components:{ElDrawer:k,ElButton:_,FontAwesomeIcon:G},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`],data(){return{groups:Pt,Close:v}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},drawerSize(){return window.innerWidth<768?`100%`:`380px`},prompt(){return this.$store.state.kling?.config?.prompt||``},allChipTexts(){return this.groups.flatMap(e=>e.chipKeys.map(e=>this.$t(`kling.inspiration.chip.${e}`)))},selectedCount(){return this.allChipTexts.filter(e=>this.isSelected(e)).length}},methods:{chipText(e){return this.$t(`kling.inspiration.chip.${e}`)},isSelected(e){return e?this.prompt.includes(e):!1},setPrompt(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:e})},onToggle(e){e&&(this.isSelected(e)?this.setPrompt($(this.prompt,e)):this.setPrompt(Ft(this.prompt,e)))},onClearSelected(){let e=this.prompt;for(let t of this.allChipTexts)for(;e.includes(t);)e=$(e,t);this.setPrompt(e)}}}),Zt={class:`drawer-content`},Qt={class:`drawer-header`},$t={class:`title-row`},en={class:`title`},tn={class:`hint`},nn={key:0,class:`selected-bar`},rn={class:`selected-text`},an={class:`groups`},on={class:`group-title`},sn={class:`chip-grid`},cn=[`onClick`];function ln(e,i,c,g,_,v){let y=f(`font-awesome-icon`),b=f(`el-button`),x=f(`el-drawer`);return d(),n(x,{modelValue:e.visible,"onUpdate:modelValue":i[1]||=t=>e.visible=t,direction:`rtl`,"with-header":!1,size:e.drawerSize,"custom-class":`kling-inspiration-drawer`,"destroy-on-close":!1},{default:m(()=>[r(`div`,Zt,[r(`div`,Qt,[r(`div`,$t,[o(y,{icon:`fa-regular fa-lightbulb`,class:`mr-2`}),r(`span`,en,u(e.$t(`kling.inspiration.title`)),1)]),o(b,{text:``,icon:e.Close,class:`close-btn`,onClick:i[0]||=t=>e.visible=!1},null,8,[`icon`])]),r(`div`,tn,u(e.$t(`kling.inspiration.hint`)),1),e.selectedCount>0?(d(),p(`div`,nn,[r(`span`,rn,u(e.$t(`kling.inspiration.selectedSummary`,{count:e.selectedCount})),1),o(b,{text:``,size:`small`,class:`clear-btn`,onClick:e.onClearSelected},{default:m(()=>[a(u(e.$t(`kling.inspiration.clearSelected`)),1)]),_:1},8,[`onClick`])])):s(``,!0),r(`div`,an,[(d(!0),p(h,null,l(e.groups,n=>(d(),p(`div`,{key:n.groupKey,class:`group`},[r(`div`,on,u(e.$t(`kling.inspiration.group.${n.groupKey}`)),1),r(`div`,sn,[(d(!0),p(h,null,l(n.chipKeys,n=>(d(),p(`button`,{key:n,type:`button`,class:t({chip:!0,active:e.isSelected(e.chipText(n))}),onClick:t=>e.onToggle(e.chipText(n))},u(e.chipText(n)),11,cn))),128))])]))),128))])])]),_:1},8,[`modelValue`,`size`])}var un=L(Xt,[[`render`,ln],[`__scopeId`,`data-v-7d457a69`]]),dn={"kling-v3":`v3`,"kling-v3-omni":`v3-Omni`,"kling-v2-6":`v2.6`,"kling-v2-5-turbo":`v2.5-Turbo`,"kling-v2-1-master":`v2.1-Master`,"kling-v2-master":`v2-Master`,"kling-v1-6":`v1.6`,"kling-v1":`v1`,"kling-video-o1":`Video-o1`},fn={std:`720p`,pro:`1080p`,"4k":`4K`},pn=c({name:`SummaryChip`,components:{FontAwesomeIcon:G},computed:{config(){return this.$store.state.kling?.config||{}},modelLabel(){let e=this.config?.model||`kling-v2-5-turbo`;return dn[e]||e},durationLabel(){return`${this.config?.duration??5}s`},aspectRatio(){return this.config?.aspect_ratio||``},modeLabel(){let e=this.config?.mode||`std`;return fn[e]||e},generateAudio(){return!!this.config?.generate_audio}}}),mn={class:`summary-chip`},hn=[`title`],gn=[`title`],_n=[`title`],vn=[`title`],yn=[`title`];function bn(e,t,n,i,a,c){let l=f(`font-awesome-icon`);return d(),p(`div`,mn,[r(`span`,{class:`part`,title:e.$t(`kling.name.model`)},u(e.modelLabel),9,hn),t[0]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.duration`)},u(e.durationLabel),9,gn),t[1]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.ratio`)},u(e.aspectRatio||`16:9`),9,_n),t[2]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.mode`)},u(e.modeLabel),9,vn),e.generateAudio?(d(),p(`span`,{key:0,class:`audio`,title:e.$t(`kling.name.generateAudio`)},[o(l,{icon:`fa-solid fa-headphones`})],8,yn)):s(``,!0)])}var xn=c({name:`ConfigPanel`,components:{ElButton:_,Consumption:J,FontAwesomeIcon:G,PromptInput:Ut,NegativePromptInput:Yt,ModelSelector:Te,ModeSelector:Me,DurationSelector:Ve,RatioSelector:Je,StartImage:tt,CfgScaleSelector:gt,GenerateAudioSelector:Ct,CameraControlSelector:Nt,InspirationDrawer:un,SummaryChip:L(pn,[[`render`,bn],[`__scopeId`,`data-v-418a6733`]]),EndImage:ct},emits:[`generate`],data(){return{inspirationOpen:!1}},computed:{config(){return this.$store.state.kling?.config},consumption(){return P(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Sn={class:`flex flex-col h-full`},Cn={class:`flex-1 overflow-y-auto p-5`},wn={class:`flex flex-col items-center justify-center px-5 pb-5`};function Tn(e,t,i,s,c,l){let h=f(`prompt-input`),g=f(`model-selector`),_=f(`ratio-selector`),v=f(`start-image`),y=f(`end-image`),b=f(`duration-selector`),x=f(`mode-selector`),S=f(`generate-audio-selector`),C=f(`camera-control-selector`),w=f(`cfg-scale-selector`),T=f(`negative-prompt-input`),E=f(`summary-chip`),D=f(`consumption`),O=f(`font-awesome-icon`),k=f(`el-button`),A=f(`inspiration-drawer`);return d(),p(`div`,Sn,[r(`div`,Cn,[o(h,{class:`mb-4`,onOpenInspiration:t[0]||=t=>e.inspirationOpen=!0}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-2`}),o(y,{class:`mb-2`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),o(w,{class:`mb-4`}),o(T,{class:`mb-4`})]),r(`div`,wn,[o(E),o(D,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(d(),n(k,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(O,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.extend`)),1)]),_:1},8,[`onClick`])):(d(),n(k,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(O,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.generate`)),1)]),_:1},8,[`onClick`]))]),o(A,{modelValue:e.inspirationOpen,"onUpdate:modelValue":t[1]||=t=>e.inspirationOpen=t},null,8,[`modelValue`])])}var En=L(xn,[[`render`,Tn]]),Dn=c({name:`MotionImage`,components:{ElUpload:C,ElButton:_,InfoIcon:q,FontAwesomeIcon:G,ImagePreview:K},mixins:[z,N],data(){return{fileList:[],uploadUrl:H()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetImageUrl()},methods:{onExceed(){W.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){W.error(this.$t(`kling.message.uploadReferencesError`))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,image_url:void 0})},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),On={class:`relative`},kn={class:`flex justify-between`},An={class:`flex justify-start items-center`},jn={class:`text-sm font-bold`};function Mn(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,On,[r(`div`,kn,[r(`div`,An,[r(`span`,jn,u(e.$t(`kling.name.motionImage`)),1),o(g,{content:e.$t(`kling.description.motionImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemove(t)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Nn=L(Dn,[[`render`,Mn],[`__scopeId`,`data-v-e52eaf2f`]]),Pn=c({name:`MotionVideo`,components:{ElUpload:C,ElButton:_,InfoIcon:q,FilePreview:oe,FontAwesomeIcon:G},mixins:[N],data(){return{fileList:[],uploadUrl:H()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetVideoUrl()},methods:{onExceed(){W.warning(this.$t(`kling.message.uploadVideoExceed`))},onError(){W.error(this.$t(`kling.message.uploadVideoError`))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,video_url:void 0})},beforeUpload(e){let t=e.type===`video/mp4`||e.type===`video/quicktime`,n=e.size/1024/1024<100;return t?n?!0:(W.error(this.$t(`kling.message.uploadVideoSizeExceed`)),!1):(W.error(this.$t(`kling.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,video_url:e})},async onSuccess(){this.onSetVideoUrl()}}}),Fn={class:`relative`},In={class:`flex justify-between`},Ln={class:`flex justify-start items-center`},Rn={class:`text-sm font-bold`};function zn(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`file-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,Fn,[r(`div`,In,[r(`div`,Ln,[r(`span`,Rn,u(e.$t(`kling.name.motionVideo`)),1),o(g,{content:e.$t(`kling.description.motionVideo`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.mp4,.mov`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.percentage===void 0?s(``,!0):(d(),n(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemove(t)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Bn=L(Pn,[[`render`,zn],[`__scopeId`,`data-v-7019a8d2`]]),Vn=c({name:`MotionPromptInput`,components:{ElInput:I,InfoIcon:q},computed:{prompt:{get(){return this.$store.state.kling?.motionConfig?.prompt||``},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,prompt:e})}}}}),Hn={class:`field`},Un={class:`box`},Wn={class:`title font-bold`};function Gn(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input`);return d(),p(`div`,Hn,[r(`div`,Un,[r(`h2`,Wn,u(e.$t(`kling.name.motionPrompt`)),1),o(c,{content:e.$t(`kling.description.motionPrompt`),class:`info`},null,8,[`content`])]),o(l,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`kling.placeholder.motionPrompt`)},null,8,[`modelValue`,`placeholder`])])}var Kn=L(Vn,[[`render`,Gn],[`__scopeId`,`data-v-ca9fdbe5`]]),qn=`video`,Jn=c({name:`CharacterOrientationSelector`,components:{ElRadioGroup:O,ElRadioButton:D,InfoIcon:q},computed:{value:{get(){return this.$store.state.kling?.motionConfig?.character_orientation||qn},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,character_orientation:e})}}},mounted(){this.$store.state.kling?.motionConfig?.character_orientation||(this.value=qn)}}),Yn={class:`field`},Xn={class:`header`},Zn={class:`text-sm font-bold`};function Qn(e,t,n,i,s,c){let l=f(`info-icon`),h=f(`el-radio-button`),g=f(`el-radio-group`);return d(),p(`div`,Yn,[r(`div`,Xn,[r(`span`,Zn,u(e.$t(`kling.name.characterOrientation`)),1),o(l,{content:e.$t(`kling.description.characterOrientation`)},null,8,[`content`])]),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,size:`small`,class:`value`},{default:m(()=>[o(h,{label:`image`},{default:m(()=>[a(u(e.$t(`kling.name.orientationImage`)),1)]),_:1}),o(h,{label:`video`},{default:m(()=>[a(u(e.$t(`kling.name.orientationVideo`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var $n=L(Jn,[[`render`,Qn],[`__scopeId`,`data-v-7a91195b`]]),er=`std`,tr=c({name:`MotionModeSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:q},computed:{options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`)},{value:`pro`,label:this.$t(`kling.name.modePro`)}]},value:{get(){return this.$store.state.kling?.motionConfig?.mode||er},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,mode:e})}}},mounted(){this.$store.state.kling?.motionConfig?.mode||(this.value=er)}}),nr={class:`field`},rr={class:`header`},ir={class:`title font-bold`};function ar(e,t,i,a,s,c){let g=f(`info-icon`),_=f(`el-option`),v=f(`el-select`);return d(),p(`div`,nr,[r(`div`,rr,[r(`h2`,ir,u(e.$t(`kling.name.mode`)),1),o(g,{content:e.$t(`kling.description.motionMode`)},null,8,[`content`])]),o(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`kling.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var or=L(tr,[[`render`,ar],[`__scopeId`,`data-v-1295688c`]]),sr=c({name:`KeepOriginalSoundSelector`,components:{ElSwitch:j,InfoIcon:q},computed:{value:{get(){return(this.$store.state.kling?.motionConfig?.keep_original_sound??`yes`)===`yes`},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,keep_original_sound:e?`yes`:`no`})}}}}),cr={class:`relative`},lr={class:`flex justify-between items-center`},ur={class:`flex justify-start items-center`},dr={class:`text-sm font-bold`};function fr(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-switch`);return d(),p(`div`,cr,[r(`div`,lr,[r(`div`,ur,[r(`span`,dr,u(e.$t(`kling.name.keepOriginalSound`)),1),o(c,{content:e.$t(`kling.description.keepOriginalSound`)},null,8,[`content`])]),o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t},null,8,[`modelValue`])])])}var pr=c({name:`MotionPanel`,components:{ElButton:_,FontAwesomeIcon:G,Consumption:J,MotionImage:Nn,MotionVideo:Bn,MotionPromptInput:Kn,CharacterOrientationSelector:$n,MotionModeSelector:or,KeepOriginalSoundSelector:L(sr,[[`render`,fr]])},emits:[`generate`],computed:{motionConfig(){return this.$store.state.kling?.motionConfig},consumption(){return P(this.motionConfig,this.service?.cost)},service(){return this.$store.state.kling?.service},canGenerate(){let e=this.motionConfig;return!!(e?.image_url&&e?.video_url)}},methods:{onGenerate(){this.$emit(`generate`)}}}),mr={class:`flex flex-col h-full`},hr={class:`flex-1 overflow-y-auto p-5`},gr={class:`flex flex-col items-center justify-center px-5 pb-5`};function _r(e,t,n,i,s,c){let l=f(`motion-image`),h=f(`motion-video`),g=f(`motion-prompt-input`),_=f(`character-orientation-selector`),v=f(`motion-mode-selector`),y=f(`keep-original-sound-selector`),b=f(`consumption`),x=f(`font-awesome-icon`),S=f(`el-button`);return d(),p(`div`,mr,[r(`div`,hr,[o(l,{class:`mb-3`}),o(h,{class:`mb-3`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`})]),r(`div`,gr,[o(b,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(S,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canGenerate,onClick:e.onGenerate},{default:m(()=>[o(x,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.generateMotion`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var vr=L(pr,[[`render`,_r]]),yr=c({name:`KlingTabSwitcher`,components:{ElTabs:x,ElTabPane:S,ElTag:re},props:{modelValue:{type:String,default:`videos`}},emits:[`update:modelValue`],computed:{tabs(){return[{value:`videos`,label:this.$t(`kling.tab.videoGeneration`)},{value:`motion`,label:this.$t(`kling.tab.motionControl`)}]}},methods:{onUpdate(e){this.$emit(`update:modelValue`,e)}}}),br=[`title`],xr={class:`text`};function Sr(e,t,i,o,c,g){let _=f(`el-tag`),v=f(`el-tab-pane`),y=f(`el-tabs`);return d(),n(y,{"model-value":e.modelValue,class:`kling-tabs`,stretch:``,"onUpdate:modelValue":e.onUpdate},{default:m(()=>[(d(!0),p(h,null,l(e.tabs,e=>(d(),n(v,{key:e.value,name:e.value,disabled:e.disabled},{label:m(()=>[r(`span`,{class:`tab-label`,title:e.disabled?e.disabledReason:void 0},[r(`span`,xr,u(e.label),1),e.badge?(d(),n(_,{key:0,size:`small`,type:`warning`,class:`badge`},{default:m(()=>[a(u(e.badge),1)]),_:2},1024)):s(``,!0)],8,br)]),_:2},1032,[`name`,`disabled`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Cr=L(yr,[[`render`,Sr],[`__scopeId`,`data-v-bf00c27e`]]),wr=c({name:`TaskPreview`,components:{ElImage:T,CopyToClipboard:ae,FontAwesomeIcon:G,ElAlert:E,VideoPlayer:pe,ElTooltip:w,ElButton:_,ImagePreview:K,ApiCodeButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.kling?.application},config(){return this.$store.state.kling?.config},referenceImages(){let e=[],t=this.modelValue?.request?.start_image_url,n=this.modelValue?.request?.end_image_url;return t&&e.push({url:t,name:`start-image`}),n&&e.push({url:n,name:`end-image`}),e}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),Tr={class:`preview`},Er={class:`left`},Dr={class:`main`},Or={class:`bot`},kr={class:`datetime`},Ar={class:`info`},jr={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Mr={key:1,class:`prompt mt-2`},Nr={key:0},Pr={key:1},Fr={key:0,class:t({content:!0,failed:!0})},Ir={key:0,class:`mb-4`},Lr={key:1,class:t({operations:!0,"mt-2":!0})},Rr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Br={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Vr={key:1,class:t({content:!0})},Hr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ur={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gr={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Kr={key:2,class:t({content:!0})},qr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yr(e,t,i,c,g,_){let v=f(`el-image`),y=f(`image-preview`),b=f(`video-player`),x=f(`el-button`),S=f(`el-tooltip`),C=f(`api-code-button`),w=f(`font-awesome-icon`),T=f(`copy-to-clipboard`),E=f(`el-alert`);return d(),p(`div`,Tr,[r(`div`,Er,[o(v,{src:`https://cdn.acedata.cloud/qpbbbb.jpg`,class:`avatar`})]),r(`div`,Dr,[r(`div`,Or,[a(u(e.$t(`kling.name.klingBot`))+` `,1),r(`span`,kr,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Ar,[e.referenceImages.length>0?(d(),p(`div`,jr,[(d(!0),p(h,null,l(e.referenceImages,(e,t)=>(d(),n(y,{key:t,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128))])):s(``,!0),e.modelValue?.request?.prompt?(d(),p(`p`,Mr,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,Nr,` - (`+u(e.$t(`kling.status.pending`))+`) `,1)),e.modelValue?.response?.state===`submitted`||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`||e.modelValue?.response?.state===`completed`?(d(),p(`span`,Pr,` - (`+u(e.$t(`kling.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0?(d(),p(`div`,Fr,[e.modelValue?.response.video_url?(d(),p(`div`,Ir,[o(b,{src:e.modelValue?.response.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),p(`div`,Lr,[o(S,{class:`box-item`,effect:`dark`,content:e.$t(`kling.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.modelValue?.response.video_url?(d(),n(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response.video_url)},{default:m(()=>[a(u(e.$t(`kling.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(C,{path:`/kling/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(E,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,Rr,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,zr,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Br,[o(w,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,Vr,[o(E,{closable:!1,class:`failure`},{template:m(()=>[o(w,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failure`)),1)]),default:m(()=>[r(`p`,Hr,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,Ur,[o(w,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(T,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Wr,[o(w,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Gr,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(T,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===void 0?(d(),p(`div`,Kr,[o(E,{closable:!1,class:`info`},{template:m(()=>[o(w,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failure`)),1)]),default:m(()=>[r(`p`,qr,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),p(`p`,Jr,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(T,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var Xr=c({name:`RecentPanel`,components:{TaskPreview:L(wr,[[`render`,Yr],[`__scopeId`,`data-v-422e2570`]]),NoTasks:de,BotPlaceholder:se,ScrollList:ce},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.kling?.tasks,items:this.$store.state.kling?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zr={key:0},Qr={key:2,class:`w-full h-full flex items-center justify-center`};function $r(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,Zr,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{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:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,e=>(d(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,Qr,[o(v)])):s(``,!0)],64)}var ei=L(Xr,[[`render`,$r]]),ti=ne(`kling`),ni=c({name:`KlingIndex`,components:{ConfigPanel:En,MotionPanel:vr,TabSwitcher:Cr,Layout:ye,RecentPanel:ei},mixins:[ie],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===V.Request||this.fetchingTasks},credential(){return this.$store.state.kling.credential},config(){return this.$store.state.kling.config},motionConfig(){return this.$store.state.kling.motionConfig},taskType(){return this.$store.state.kling.taskType||`videos`},tasks(){return this.$store.state.kling.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await le({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(){console.debug(`start onGetService`),await this.$store.dispatch(`kling/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`kling/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(`kling/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!R(this.uploadTracker,e=>this.$t(e),e=>W.warning(e)))return;let{camera_control:e,...t}=this.config||{},n={...t,callback_url:ti};if(!n.video_id&&!t.video_url&&!n.start_image_url&&n.end_image_url){W.warning(this.$t(`kling.message.endImageRequiresStart`));return}n.action||(n.video_id||t.video_url?n.action=`extend`:n.start_image_url?n.action=`image2video`:n.action=`text2video`),n.action===`text2video`&&n.end_image_url&&delete n.end_image_url,e?.type&&(n.camera_control={type:e.type,...e.type===`simple`&&e.config?{config:Object.fromEntries(Object.entries(e.config).filter(([,e])=>e!=null))}:{}});let r=this.credential?.token;if(!r){console.error(`no token specified`);return}W.info(this.$t(`kling.message.startingTask`)),F(`kling`,U.generate(n,{token:r})).then(()=>{W.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?W.error(this.$t(`kling.message.usedUp`)):W.error(this.$t(`kling.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},async onTabChange(e){e!==this.taskType&&(await this.$store.dispatch(`kling/setTaskType`,e),await this.onGetTasks(),await this.onScrollDown())},async onGenerateMotion(){if(!R(this.uploadTracker,e=>this.$t(e),e=>W.warning(e)))return;let e=this.motionConfig||{};if(!e.image_url||!e.video_url){W.warning(this.$t(`kling.message.motionMissingInputs`));return}let t={image_url:e.image_url,video_url:e.video_url,character_orientation:e.character_orientation||`video`,mode:e.mode||`std`,keep_original_sound:e.keep_original_sound??`yes`,...e.prompt?{prompt:e.prompt}:{},callback_url:ti},n=this.credential?.token;if(!n){console.error(`no token specified`);return}W.info(this.$t(`kling.message.startingTask`)),F(`kling`,U.motion(t,{token:n})).then(()=>{W.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?W.error(this.$t(`kling.message.usedUp`)):W.error(this.$t(`kling.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}}),ri={class:`flex flex-col h-full`},ii={class:`flex-1 min-h-0`};function ai(e,t,i,a,c,l){let u=f(`tab-switcher`),p=f(`config-panel`),h=f(`motion-panel`),g=f(`recent-panel`),_=f(`layout`);return d(),n(_,null,{config:m(()=>[r(`div`,ri,[o(u,{"model-value":e.taskType,"onUpdate:modelValue":e.onTabChange},null,8,[`model-value`,`onUpdate:modelValue`]),r(`div`,ii,[e.taskType===`videos`?(d(),n(p,{key:0,onGenerate:e.onGenerate},null,8,[`onGenerate`])):e.taskType===`motion`?(d(),n(h,{key:1,onGenerate:e.onGenerateMotion},null,8,[`onGenerate`])):s(``,!0)])])]),result:m(()=>[o(g,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var oi=L(ni,[[`render`,ai]]);export{oi as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h,y as g}from"./vendor-chart-Df3WBvr0.js";import{t as _}from"./button-DgZFgZDr.js";import{E as v}from"./use-deprecated-Brbm5i6o.js";import{r as y,t as b}from"./select-Dy4nmBcy.js";import{n as x,t as S}from"./tabs-DT_RvYVg.js";import{t as C}from"./upload-B8zBOx3w.js";import{t as w}from"./tooltip-C-9nDsaA.js";import{t as T}from"./image-Bau0kGS7.js";import{t as E}from"./alert-Bgv5POrX.js";import{n as D,r as O}from"./radio-DNLlMkjf.js";import{t as k}from"./drawer-BhAAsvLB.js";import{t as A}from"./input-number-CmkQjFiE.js";import{t as ee}from"./slider-DYYyrciZ.js";import{t as j}from"./switch-D-UGKh2b.js";import{Hr as te,Kn as ne,Yn as M}from"./constants-D3W0tInG.js";import{Ar as re,Dt as N,E as P,Et as F,Mn as I,Mr as L,Ot as ie,Tr as R,hr as z,jt as B,kt as V,un as H,vr as U,wr as W}from"./index-CEh-AtFD.js";import{t as G}from"./index.es-CGcvPLbY.js";import{t as ae}from"./CopyToClipboard-DY4cWsYU.js";import{t as oe}from"./FilePreview-Py4tu-0w.js";import{t as K}from"./ImagePreview-C1Hid5KU.js";import{t as se}from"./BotPlaceholder-2Tv7c707.js";import{i as q,n as ce,t as le}from"./pagination-D0v316W1.js";import{n as ue,t as de}from"./NoTasks-BJ195-7X.js";import{t as J}from"./Consumption-DSbM28rV.js";import{t as fe}from"./ApiCodeButton-CrB8OI_k.js";import{t as pe}from"./VideoPlayer-DtbwYrYN.js";var me=c({name:`LayoutKling`,components:{ElDrawer:k,ElButton:_,FontAwesomeIcon:G},data(){return{drawer:!1}}}),he={class:`main flex flex-row flex-1 min-h-0`},ge={class:`config w-[320px] flex-none h-full flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},_e={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ve(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,he,[r(`div`,ge,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,_e,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ye=P(me,[[`render`,ve],[`__scopeId`,`data-v-be4bb0df`]]),be={text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};function Y(e,t,n){let r=t||`std`,i=n??5;switch(e){case`kling-v1`:return{text2video:!0,image2video:!0,endImage:i===5,audio:!1,motionControl:i===5};case`kling-v1-6`:case`kling-v2-5-turbo`:return{text2video:!0,image2video:!0,endImage:r===`pro`,audio:!1,motionControl:!1};case`kling-v2-6`:return{text2video:!0,image2video:!0,endImage:r===`pro`,audio:r===`pro`,motionControl:!1};case`kling-v2-master`:case`kling-v2-1-master`:return{text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};case`kling-v3`:return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:r!==`4k`};case`kling-v3-omni`:return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:!1};case`kling-video-o1`:return{text2video:!0,image2video:!0,endImage:!0,audio:!1,motionControl:!1};default:return be}}function X(e,t){if(!e)return[];let n=t.model??e.model,r=t.mode??e.mode,i=t.duration??e.duration;if(!n)return[];let a=Y(n,r,i),o=[];return e.end_image_url&&!a.endImage&&o.push({field:`end_image_url`,i18nLabel:`kling.name.endImage`}),e.generate_audio&&!a.audio&&o.push({field:`generate_audio`,i18nLabel:`kling.name.generateAudio`}),e.camera_control?.type&&(!a.motionControl||e.start_image_url)&&o.push({field:`camera_control`,i18nLabel:`kling.name.cameraControl`}),o}function Z(e,t){let n={...e};for(let e of t)e.field===`end_image_url`&&(n.end_image_url=void 0),e.field===`generate_audio`&&(n.generate_audio=!1),e.field===`camera_control`&&(n.camera_control=void 0);return n}var xe=c({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{revertKey:0,options:[{value:`kling-v3`,label:`v3`},{value:`kling-v3-omni`,label:`v3-Omni`},{value:`kling-v2-6`,label:`v2.6`},{value:`kling-v2-5-turbo`,label:`v2.5-Turbo`},{value:`kling-v2-1-master`,label:`v2.1-Master`},{value:`kling-v2-master`,label:`v2-Master`},{value:`kling-v1-6`,label:`v1.6`},{value:`kling-v1`,label:`v1`},{value:`kling-video-o1`,label:`Video-o1`}]}},computed:{value(){return this.$store.state.kling?.config?.model}},mounted(){this.value||this.applyModel(ne)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=X(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await W.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=Z({...t,model:e},n);this.$store.commit(`kling/setConfig`,i),R.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,model:e})}}}),Se={class:`field`},Ce={class:`title font-bold`};function we(e,t,i,a,o,s){let c=f(`el-option`),g=f(`el-select`);return d(),p(`div`,Se,[r(`h2`,Ce,u(e.$t(`pika.name.model`)),1),(d(),n(g,{key:e.revertKey,"model-value":e.value,class:`value`,placeholder:e.$t(`pika.placeholder.select`),onChange:e.onChange},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(c,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Te=P(xe,[[`render`,we],[`__scopeId`,`data-v-04059875`]]),Ee=c({name:`ModeSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:q},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},cameraControlSet(){return!!this.$store.state.kling?.config?.camera_control?.type},fourKReason(){return M.includes(this.selectedModel)?this.cameraControlSet?this.$t(`kling.description.mode4kIncompatibleCamera`):``:this.$t(`kling.description.mode4kRequiresV3`)},options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`),disabled:!1,disabledReason:``},{value:`pro`,label:this.$t(`kling.name.modePro`),disabled:!1,disabledReason:``},{value:`4k`,label:this.$t(`kling.name.mode4k`),disabled:!!this.fourKReason,disabledReason:this.fourKReason}]},value(){return this.$store.state.kling?.config?.mode}},watch:{fourKReason(e){e&&this.value===`4k`&&this.applyMode(`std`)}},mounted(){this.value||this.applyMode(`std`)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=X(t,{mode:e});if(n.length===0){this.applyMode(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await W.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=Z({...t,mode:e},n);this.$store.commit(`kling/setConfig`,i),R.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyMode(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,mode:e})}}}),De={class:`field`},Oe={class:`header`},ke={class:`title font-bold`},Ae={key:0,class:`opt-tip`};function je(e,i,a,c,g,_){let v=f(`info-icon`),y=f(`el-option`),b=f(`el-select`);return d(),p(`div`,De,[r(`div`,Oe,[r(`h2`,ke,u(e.$t(`kling.name.mode`)),1),o(v,{content:e.$t(`kling.description.mode`),class:`info-icon`},null,8,[`content`])]),(d(),n(b,{key:e.revertKey,"model-value":e.value,class:`value`,placeholder:e.$t(`kling.placeholder.select`),clearable:!0,onChange:e.onChange},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(y,{key:e.value,label:e.label,value:e.value,disabled:e.disabled},{default:m(()=>[r(`span`,{class:t({"opt-disabled":e.disabled})},u(e.label),3),e.disabled&&e.disabledReason?(d(),p(`span`,Ae,u(e.disabledReason),1)):s(``,!0)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Me=P(Ee,[[`render`,je],[`__scopeId`,`data-v-9a8fa3c5`]]),Ne=[3,5,8,10,12,15],Pe=[5,10],Fe=c({name:`DurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:q},data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},isV3Model(){return M.includes(this.selectedModel)},allowedDurations(){return this.isV3Model?Ne:Pe},value(){return this.$store.state.kling?.config?.duration??5},selectValue(){let e=this.allowedDurations;return e.includes(this.value)?this.value:e.includes(5)?5:e[0]}},watch:{isV3Model(){this.allowedDurations.includes(this.value)||this.applyDuration(5)}},mounted(){this.$store.state.kling?.config?.duration||this.applyDuration(5)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=X(t,{duration:e});if(n.length===0){this.applyDuration(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await W.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=Z({...t,duration:e},n);this.$store.commit(`kling/setConfig`,i),R.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyDuration(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,duration:e})}}}),Ie={class:`field`},Le={class:`control`},Re={class:`label`},ze={class:`title font-bold`};function Be(e,t,i,a,s,c){let g=f(`info-icon`),_=f(`el-option`),v=f(`el-select`);return d(),p(`div`,Ie,[r(`div`,Le,[r(`div`,Re,[r(`h2`,ze,u(e.$t(`kling.name.duration`)),1),o(g,{content:e.$t(`kling.description.duration`),class:`info-icon ml-1`},null,8,[`content`])]),(d(),n(v,{key:e.revertKey,"model-value":e.selectValue,class:`value`,placeholder:e.$t(`kling.placeholder.select`),onChange:e.onChange},{default:m(()=>[(d(!0),p(h,null,l(e.allowedDurations,e=>(d(),n(_,{key:e,label:`${e}s`,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])])}var Ve=P(Fe,[[`render`,Be],[`__scopeId`,`data-v-5ae55e28`]]),He=c({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,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?.kling?.config?.aspect_ratio},set(e){console.debug(`set ratio`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,aspect_ratio:e})}}},mounted(){this.value||=`1:1`}}),Ue={class:`text-sm font-bold mb-2 block`},We={class:`items`},Ge=[`onClick`],Ke={class:`name`};function qe(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,Ue,u(e.$t(`kling.name.ratio`)),1),r(`div`,We,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,Ke,u(n.label),1)],10,Ge))),128))])])}var Je=P(He,[[`render`,qe],[`__scopeId`,`data-v-cdb14b2f`]]),Ye=c({name:`StartImage`,components:{ElUpload:C,ElButton:_,ElTooltip:w,InfoIcon:q,FontAwesomeIcon:G,ImagePreview:K},mixins:[V,N],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)},reachedLimit(){return(this.fileList?.length||0)>=1},value:{get(){return this.$store.state?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){R.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){R.error(this.$t(`kling.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Xe={class:`relative`},Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`};function et(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-tooltip`),x=f(`el-upload`);return d(),p(`div`,Xe,[r(`div`,Ze,[r(`div`,Qe,[r(`span`,$e,u(e.$t(`kling.name.startImage`)),1),o(g,{content:e.$t(`kling.description.uploadStartImage`)},null,8,[`content`])])]),o(x,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,disabled:e.reachedLimit,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(b,{content:e.$t(`kling.message.uploadReferencesExceed`),disabled:!e.reachedLimit,placement:`top`},{default:m(()=>[r(`span`,null,[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`,disabled:e.reachedLimit},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`file-list`,`disabled`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var tt=P(Ye,[[`render`,et],[`__scopeId`,`data-v-756dc269`]]),nt=c({name:`EndImage`,components:{ElUpload:C,ElButton:_,ElTooltip:w,ImagePreview:K,InfoIcon:q,FontAwesomeIcon:G},mixins:[V,N],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)},reachedLimit(){return(this.fileList?.length||0)>=1},klingConfig(){return this.$store.state?.kling?.config||{}},endImageSupported(){return Y(this.klingConfig.model,this.klingConfig.mode,this.klingConfig.duration).endImage},hasStartImage(){return!!this.klingConfig.start_image_url},uploadDisabled(){return this.reachedLimit||!this.endImageSupported||!this.hasStartImage},uploadTooltip(){return this.endImageSupported?this.hasStartImage?this.reachedLimit?this.$t(`kling.message.uploadReferencesExceed`):``:this.$t(`kling.message.endImageRequiresStart`):this.$t(`kling.message.endImageNotSupported`)},storeValue(){return this.klingConfig.end_image_url},value:{get(){return this.storeValue},set(){}}},watch:{storeValue(e){!e&&this.fileList.length>0&&(this.fileList=[])},hasStartImage(e){!e&&this.storeValue&&(this.fileList=[],this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,end_image_url:void 0}))}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onBeforeUpload(){return this.endImageSupported?this.hasStartImage?!0:(R.warning(this.$t(`kling.message.endImageRequiresStart`)),!1):(R.warning(this.$t(`kling.message.endImageNotSupported`)),!1)},onExceed(){R.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){R.error(this.$t(`kling.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),rt={class:`relative`},it={class:`flex justify-between`},at={class:`flex justify-start items-center`},ot={class:`text-sm font-bold`};function st(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-tooltip`),x=f(`el-upload`);return d(),p(`div`,rt,[r(`div`,it,[r(`div`,at,[r(`span`,ot,u(e.$t(`kling.name.endImage`)),1),o(g,{content:e.$t(`kling.description.uploadEndImage`)},null,8,[`content`])])]),o(x,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,disabled:e.uploadDisabled,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"before-upload":e.onBeforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(b,{content:e.uploadTooltip,disabled:!e.uploadDisabled,placement:`top`},{default:m(()=>[r(`span`,null,[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`,disabled:e.uploadDisabled},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`file-list`,`disabled`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var ct=P(nt,[[`render`,st],[`__scopeId`,`data-v-c1b257e5`]]),lt=c({name:`CfgScaleSelector`,components:{ElSlider:ee,InfoIcon:q,ElInputNumber:A},computed:{value:{get(){return this.$store.state?.kling?.config?.cfg_scale},set(e){console.debug(`set cfg_scale`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,cfg_scale:e})}}},mounted(){this.value||=0}}),ut={class:`flex justify-between`},dt={class:`flex justify-start items-center`},ft={class:`text-sm font-bold`},pt={class:`flex justify-end items-center`},mt={class:`w-full`};function ht(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`),m=f(`el-slider`);return d(),p(`div`,null,[r(`div`,ut,[r(`div`,dt,[r(`span`,ft,u(e.$t(`kling.name.cfgScale`)),1),o(c,{content:e.$t(`kling.description.cfgScale`)},null,8,[`content`])]),r(`div`,pt,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,mt,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1,step:.1},null,8,[`modelValue`])])])}var gt=P(lt,[[`render`,ht]]),_t=c({name:`GenerateAudioSelector`,components:{ElSwitch:j,InfoIcon:q},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},selectedMode(){return this.$store.state.kling?.config?.mode||``},supported(){return!!(M.includes(this.selectedModel)||this.selectedModel===`kling-v2-6`&&this.selectedMode===`pro`)},tooltipContent(){return this.supported?this.$t(`kling.description.generateAudio`):this.$t(`kling.description.generateAudioUnsupported`)},value:{get(){return this.supported?this.$store.state.kling?.config?.generate_audio??!1:!1},set(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,generate_audio:e})}}},watch:{supported(e){!e&&this.$store.state.kling?.config?.generate_audio&&this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,generate_audio:!1})}}}),vt={class:`relative`},yt={class:`flex justify-between items-center`},bt={class:`flex justify-start items-center`},xt={class:`text-sm font-bold`};function St(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-switch`);return d(),p(`div`,vt,[r(`div`,yt,[r(`div`,bt,[r(`span`,xt,u(e.$t(`kling.name.generateAudio`)),1),o(c,{content:e.tooltipContent},null,8,[`content`])]),o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,disabled:!e.supported},null,8,[`modelValue`,`disabled`])])])}var Ct=P(_t,[[`render`,St]]),wt=[`horizontal`,`vertical`,`pan`,`tilt`,`roll`,`zoom`],Tt=c({name:`CameraControlSelector`,components:{ElSelect:y,ElOption:b,ElSlider:ee,ElInputNumber:A,InfoIcon:q},data(){return{configKeys:wt}},computed:{typeOptions(){return[{value:``,label:this.$t(`kling.name.cameraTypeNone`)},{value:`simple`,label:this.$t(`kling.name.cameraTypeSimple`)},{value:`down_back`,label:this.$t(`kling.name.cameraTypeDownBack`)},{value:`forward_up`,label:this.$t(`kling.name.cameraTypeForwardUp`)},{value:`left_turn_forward`,label:this.$t(`kling.name.cameraTypeLeftTurnForward`)},{value:`right_turn_forward`,label:this.$t(`kling.name.cameraTypeRightTurnForward`)}]},selectedMode(){return this.$store.state.kling?.config?.mode||``},selectedModel(){return this.$store.state.kling?.config?.model||``},selectedDuration(){return this.$store.state.kling?.config?.duration},motionControlSupported(){return Y(this.selectedModel,this.selectedMode,this.selectedDuration).motionControl},hasStartImage(){return!!this.$store.state.kling?.config?.start_image_url},disabled(){return!this.motionControlSupported||this.hasStartImage},tooltipContent(){return this.motionControlSupported?this.hasStartImage?this.$t(`kling.description.cameraControlDisabledImage2Video`):this.$t(`kling.description.cameraControl`):this.$t(`kling.description.cameraControlNotSupported`)},selectedType(){return this.$store.state.kling?.config?.camera_control?.type},selectedTypeRaw:{get(){return this.selectedType??``},set(e){let t=this.$store.state.kling?.config||{};if(!e){let e={...t};delete e.camera_control,this.$store.commit(`kling/setConfig`,e);return}let n=e;this.$store.commit(`kling/setConfig`,{...t,camera_control:{type:n,config:n===`simple`?t.camera_control?.config||{}:void 0}})}},configValues(){return this.$store.state.kling?.config?.camera_control?.config||{}}},watch:{disabled(e){e&&this.selectedType!==void 0&&(this.selectedTypeRaw=``)}},methods:{writeConfig(e,t){let n=this.$store.state.kling?.config||{},r=n.camera_control||{type:`simple`},i={...r.config||{}};t==null?delete i[e]:i[e]=t,this.$store.commit(`kling/setConfig`,{...n,camera_control:{...r,type:`simple`,config:i}})},onSliderChange(e,t){this.writeConfig(e,t)},onNumberChange(e,t){this.writeConfig(e,t)}}}),Et={class:`field`},Dt={class:`header`},Ot={class:`text-sm font-bold`},kt={key:0,class:`config-grid`},At={class:`cfg-row-head`},jt={class:`cfg-name`};function Mt(e,t,i,a,c,g){let _=f(`info-icon`),v=f(`el-option`),y=f(`el-select`),b=f(`el-input-number`),x=f(`el-slider`);return d(),p(`div`,Et,[r(`div`,Dt,[r(`span`,Ot,u(e.$t(`kling.name.cameraControl`)),1),o(_,{content:e.tooltipContent},null,8,[`content`])]),o(y,{modelValue:e.selectedTypeRaw,"onUpdate:modelValue":t[0]||=t=>e.selectedTypeRaw=t,class:`value`,placeholder:e.$t(`kling.placeholder.cameraType`),clearable:!0,disabled:e.disabled},{default:m(()=>[(d(!0),p(h,null,l(e.typeOptions,e=>(d(),n(v,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`]),e.selectedType===`simple`&&!e.disabled?(d(),p(`div`,kt,[(d(!0),p(h,null,l(e.configKeys,t=>(d(),p(`div`,{key:t,class:`cfg-row`},[r(`div`,At,[r(`span`,jt,u(e.$t(`kling.name.cc_${t}`)),1),o(b,{modelValue:e.configValues[t],"onUpdate:modelValue":n=>e.configValues[t]=n,min:-1,max:1,step:.1,precision:1,"controls-position":`right`,size:`small`,class:`cfg-num`,onChange:n=>e.onNumberChange(t,n)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])]),o(x,{"model-value":e.configValues[t]??0,min:-1,max:1,step:.1,onInput:n=>e.onSliderChange(t,n)},null,8,[`model-value`,`onInput`])]))),128))])):s(``,!0)])}var Nt=P(Tt,[[`render`,Mt],[`__scopeId`,`data-v-cd896060`]]),Pt=[{groupKey:`cameraMovements`,chipKeys:[`rotateAround`,`stationary`,`handheld`,`zoomOut`,`zoomIn`,`follow`,`panRight`,`tiltUp`,`tiltDown`,`orbit`]},{groupKey:`cameraSpeed`,chipKeys:[`speedSlow`,`speedMedium`,`speedFast`]},{groupKey:`shotType`,chipKeys:[`shotClose`,`shotMedium`,`shotLong`,`shotLowAngle`,`shotHighAngle`,`shotShallowDof`,`shotFront`,`shotProfile`,`shotCloseUp`,`shotDrone`]},{groupKey:`light`,chipKeys:[`lightSunlight`,`lightSoft`,`lightNeon`,`lightWarm`,`lightNature`,`lightCandle`,`lightCityNight`]},{groupKey:`frame`,chipKeys:[`frameRichDetails`,`frameSimpleBg`]},{groupKey:`atmosphere`,chipKeys:[`atmosphereMysterious`,`atmospherePeaceful`,`atmosphereHeartwarming`,`atmosphereVivid`,`atmosphereColorful`]}],Q=`, `;function Ft(e,t){let n=(e||``).trim();return n?n.includes(t)?n:`${n}${Q}${t}`:t}function $(e,t){if(!e||!t)return e||``;let n=[`${t}${Q}`,`${Q}${t}`,t],r=e;for(let e of n)if(r.includes(e)){r=r.replace(e,``);break}return r.replace(/(?:,\s*)+$/,``).replace(/^(?:,\s*)+/,``)}var It=c({name:`InspirationPills`,components:{FontAwesomeIcon:G},computed:{prompt(){return this.$store.state.kling?.config?.prompt||``},allChipTexts(){return Pt.flatMap(e=>e.chipKeys.map(e=>this.$t(`kling.inspiration.chip.${e}`)))},selected(){let e=this.prompt;if(!e)return[];let t=[];for(let n of this.allChipTexts){let r=e.indexOf(n);r!==-1&&t.push({text:n,idx:r})}return t.sort((e,t)=>e.idx-t.idx).map(e=>e.text)}},methods:{onRemove(e){let t=$(this.prompt,e);this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:t})}}}),Lt={key:0,class:`pills`,role:`list`},Rt={class:`pill-text`},zt=[`aria-label`,`onClick`];function Bt(e,t,n,i,a,c){let m=f(`font-awesome-icon`);return e.selected.length>0?(d(),p(`div`,Lt,[(d(!0),p(h,null,l(e.selected,t=>(d(),p(`div`,{key:t,class:`pill`,role:`listitem`},[r(`span`,Rt,u(t),1),r(`button`,{type:`button`,class:`pill-remove`,"aria-label":e.$t(`kling.inspiration.removeChip`),onClick:g(n=>e.onRemove(t),[`stop`])},[o(m,{icon:`fa-solid fa-xmark`})],8,zt)]))),128))])):s(``,!0)}var Vt=c({name:`PromptInput`,components:{ElButton:_,FontAwesomeIcon:G,PromptTextarea:ue,InspirationPills:P(It,[[`render`,Bt],[`__scopeId`,`data-v-5fc4fa65`]])},emits:[`open-inspiration`],computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ht(e,t,r,i,s,c){let l=f(`font-awesome-icon`),p=f(`el-button`),h=f(`inspiration-pills`),g=f(`prompt-textarea`);return d(),n(g,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||=t=>e.prompt=t,title:e.$t(`kling.name.prompt`),info:e.$t(`kling.description.prompt`),placeholder:e.$t(`kling.placeholder.prompt`)},{actions:m(()=>[o(p,{text:``,size:`small`,class:`inspiration-btn`,onClick:t[0]||=t=>e.$emit(`open-inspiration`)},{default:m(()=>[o(l,{icon:`fa-regular fa-lightbulb`,class:`mr-1`}),a(` `+u(e.$t(`kling.inspiration.openButton`)),1)]),_:1})]),before:m(()=>[o(h)]),_:1},8,[`modelValue`,`title`,`info`,`placeholder`])}var Ut=P(Vt,[[`render`,Ht],[`__scopeId`,`data-v-c01fc1a6`]]),Wt=c({name:`NegativePromptInput`,components:{ElInput:L,InfoIcon:q},computed:{prompt:{get(){return this.$store.state.kling?.config?.negative_prompt},set(e){console.debug(`set prompt`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,negative_prompt:e})}}},mounted(){this.prompt||=``}}),Gt={class:`field`},Kt={class:`box`},qt={class:`title font-bold`};function Jt(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input`);return d(),p(`div`,Gt,[r(`div`,Kt,[r(`h2`,qt,u(e.$t(`kling.name.negativePrompt`)),1),o(c,{content:e.$t(`kling.description.negativePrompt`),class:`info`},null,8,[`content`])]),o(l,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`kling.placeholder.negativePrompt`)},null,8,[`modelValue`,`placeholder`])])}var Yt=P(Wt,[[`render`,Jt],[`__scopeId`,`data-v-de98cf01`]]),Xt=c({name:`InspirationDrawer`,components:{ElDrawer:k,ElButton:_,FontAwesomeIcon:G},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`],data(){return{groups:Pt,Close:v}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},drawerSize(){return window.innerWidth<768?`100%`:`380px`},prompt(){return this.$store.state.kling?.config?.prompt||``},allChipTexts(){return this.groups.flatMap(e=>e.chipKeys.map(e=>this.$t(`kling.inspiration.chip.${e}`)))},selectedCount(){return this.allChipTexts.filter(e=>this.isSelected(e)).length}},methods:{chipText(e){return this.$t(`kling.inspiration.chip.${e}`)},isSelected(e){return e?this.prompt.includes(e):!1},setPrompt(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:e})},onToggle(e){e&&(this.isSelected(e)?this.setPrompt($(this.prompt,e)):this.setPrompt(Ft(this.prompt,e)))},onClearSelected(){let e=this.prompt;for(let t of this.allChipTexts)for(;e.includes(t);)e=$(e,t);this.setPrompt(e)}}}),Zt={class:`drawer-content`},Qt={class:`drawer-header`},$t={class:`title-row`},en={class:`title`},tn={class:`hint`},nn={key:0,class:`selected-bar`},rn={class:`selected-text`},an={class:`groups`},on={class:`group-title`},sn={class:`chip-grid`},cn=[`onClick`];function ln(e,i,c,g,_,v){let y=f(`font-awesome-icon`),b=f(`el-button`),x=f(`el-drawer`);return d(),n(x,{modelValue:e.visible,"onUpdate:modelValue":i[1]||=t=>e.visible=t,direction:`rtl`,"with-header":!1,size:e.drawerSize,"custom-class":`kling-inspiration-drawer`,"destroy-on-close":!1},{default:m(()=>[r(`div`,Zt,[r(`div`,Qt,[r(`div`,$t,[o(y,{icon:`fa-regular fa-lightbulb`,class:`mr-2`}),r(`span`,en,u(e.$t(`kling.inspiration.title`)),1)]),o(b,{text:``,icon:e.Close,class:`close-btn`,onClick:i[0]||=t=>e.visible=!1},null,8,[`icon`])]),r(`div`,tn,u(e.$t(`kling.inspiration.hint`)),1),e.selectedCount>0?(d(),p(`div`,nn,[r(`span`,rn,u(e.$t(`kling.inspiration.selectedSummary`,{count:e.selectedCount})),1),o(b,{text:``,size:`small`,class:`clear-btn`,onClick:e.onClearSelected},{default:m(()=>[a(u(e.$t(`kling.inspiration.clearSelected`)),1)]),_:1},8,[`onClick`])])):s(``,!0),r(`div`,an,[(d(!0),p(h,null,l(e.groups,n=>(d(),p(`div`,{key:n.groupKey,class:`group`},[r(`div`,on,u(e.$t(`kling.inspiration.group.${n.groupKey}`)),1),r(`div`,sn,[(d(!0),p(h,null,l(n.chipKeys,n=>(d(),p(`button`,{key:n,type:`button`,class:t({chip:!0,active:e.isSelected(e.chipText(n))}),onClick:t=>e.onToggle(e.chipText(n))},u(e.chipText(n)),11,cn))),128))])]))),128))])])]),_:1},8,[`modelValue`,`size`])}var un=P(Xt,[[`render`,ln],[`__scopeId`,`data-v-7d457a69`]]),dn={"kling-v3":`v3`,"kling-v3-omni":`v3-Omni`,"kling-v2-6":`v2.6`,"kling-v2-5-turbo":`v2.5-Turbo`,"kling-v2-1-master":`v2.1-Master`,"kling-v2-master":`v2-Master`,"kling-v1-6":`v1.6`,"kling-v1":`v1`,"kling-video-o1":`Video-o1`},fn={std:`720p`,pro:`1080p`,"4k":`4K`},pn=c({name:`SummaryChip`,components:{FontAwesomeIcon:G},computed:{config(){return this.$store.state.kling?.config||{}},modelLabel(){let e=this.config?.model||`kling-v2-5-turbo`;return dn[e]||e},durationLabel(){return`${this.config?.duration??5}s`},aspectRatio(){return this.config?.aspect_ratio||``},modeLabel(){let e=this.config?.mode||`std`;return fn[e]||e},generateAudio(){return!!this.config?.generate_audio}}}),mn={class:`summary-chip`},hn=[`title`],gn=[`title`],_n=[`title`],vn=[`title`],yn=[`title`];function bn(e,t,n,i,a,c){let l=f(`font-awesome-icon`);return d(),p(`div`,mn,[r(`span`,{class:`part`,title:e.$t(`kling.name.model`)},u(e.modelLabel),9,hn),t[0]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.duration`)},u(e.durationLabel),9,gn),t[1]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.ratio`)},u(e.aspectRatio||`16:9`),9,_n),t[2]||=r(`span`,{class:`dot`},`·`,-1),r(`span`,{class:`part`,title:e.$t(`kling.name.mode`)},u(e.modeLabel),9,vn),e.generateAudio?(d(),p(`span`,{key:0,class:`audio`,title:e.$t(`kling.name.generateAudio`)},[o(l,{icon:`fa-solid fa-headphones`})],8,yn)):s(``,!0)])}var xn=c({name:`ConfigPanel`,components:{ElButton:_,Consumption:J,FontAwesomeIcon:G,PromptInput:Ut,NegativePromptInput:Yt,ModelSelector:Te,ModeSelector:Me,DurationSelector:Ve,RatioSelector:Je,StartImage:tt,CfgScaleSelector:gt,GenerateAudioSelector:Ct,CameraControlSelector:Nt,InspirationDrawer:un,SummaryChip:P(pn,[[`render`,bn],[`__scopeId`,`data-v-418a6733`]]),EndImage:ct},emits:[`generate`],data(){return{inspirationOpen:!1}},computed:{config(){return this.$store.state.kling?.config},consumption(){return B(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Sn={class:`flex flex-col h-full`},Cn={class:`flex-1 overflow-y-auto p-5`},wn={class:`flex flex-col items-center justify-center px-5 pb-5`};function Tn(e,t,i,s,c,l){let h=f(`prompt-input`),g=f(`model-selector`),_=f(`ratio-selector`),v=f(`start-image`),y=f(`end-image`),b=f(`duration-selector`),x=f(`mode-selector`),S=f(`generate-audio-selector`),C=f(`camera-control-selector`),w=f(`cfg-scale-selector`),T=f(`negative-prompt-input`),E=f(`summary-chip`),D=f(`consumption`),O=f(`font-awesome-icon`),k=f(`el-button`),A=f(`inspiration-drawer`);return d(),p(`div`,Sn,[r(`div`,Cn,[o(h,{class:`mb-4`,onOpenInspiration:t[0]||=t=>e.inspirationOpen=!0}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-2`}),o(y,{class:`mb-2`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),o(w,{class:`mb-4`}),o(T,{class:`mb-4`})]),r(`div`,wn,[o(E),o(D,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(d(),n(k,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(O,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.extend`)),1)]),_:1},8,[`onClick`])):(d(),n(k,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(O,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.generate`)),1)]),_:1},8,[`onClick`]))]),o(A,{modelValue:e.inspirationOpen,"onUpdate:modelValue":t[1]||=t=>e.inspirationOpen=t},null,8,[`modelValue`])])}var En=P(xn,[[`render`,Tn]]),Dn=c({name:`MotionImage`,components:{ElUpload:C,ElButton:_,InfoIcon:q,FontAwesomeIcon:G,ImagePreview:K},mixins:[V,N],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)}},mounted(){this.onSetImageUrl()},methods:{onExceed(){R.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){R.error(this.$t(`kling.message.uploadReferencesError`))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,image_url:void 0})},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),On={class:`relative`},kn={class:`flex justify-between`},An={class:`flex justify-start items-center`},jn={class:`text-sm font-bold`};function Mn(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,On,[r(`div`,kn,[r(`div`,An,[r(`span`,jn,u(e.$t(`kling.name.motionImage`)),1),o(g,{content:e.$t(`kling.description.motionImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemove(t)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Nn=P(Dn,[[`render`,Mn],[`__scopeId`,`data-v-e52eaf2f`]]),Pn=c({name:`MotionVideo`,components:{ElUpload:C,ElButton:_,InfoIcon:q,FilePreview:oe,FontAwesomeIcon:G},mixins:[N],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)}},mounted(){this.onSetVideoUrl()},methods:{onExceed(){R.warning(this.$t(`kling.message.uploadVideoExceed`))},onError(){R.error(this.$t(`kling.message.uploadVideoError`))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,video_url:void 0})},beforeUpload(e){let t=e.type===`video/mp4`||e.type===`video/quicktime`,n=e.size/1024/1024<100;return t?n?!0:(R.error(this.$t(`kling.message.uploadVideoSizeExceed`)),!1):(R.error(this.$t(`kling.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,video_url:e})},async onSuccess(){this.onSetVideoUrl()}}}),Fn={class:`relative`},In={class:`flex justify-between`},Ln={class:`flex justify-start items-center`},Rn={class:`text-sm font-bold`};function zn(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`file-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,Fn,[r(`div`,In,[r(`div`,Ln,[r(`span`,Rn,u(e.$t(`kling.name.motionVideo`)),1),o(g,{content:e.$t(`kling.description.motionVideo`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.mp4,.mov`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.percentage===void 0?s(``,!0):(d(),n(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemove(t)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`kling.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Bn=P(Pn,[[`render`,zn],[`__scopeId`,`data-v-7019a8d2`]]),Vn=c({name:`MotionPromptInput`,components:{ElInput:L,InfoIcon:q},computed:{prompt:{get(){return this.$store.state.kling?.motionConfig?.prompt||``},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,prompt:e})}}}}),Hn={class:`field`},Un={class:`box`},Wn={class:`title font-bold`};function Gn(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input`);return d(),p(`div`,Hn,[r(`div`,Un,[r(`h2`,Wn,u(e.$t(`kling.name.motionPrompt`)),1),o(c,{content:e.$t(`kling.description.motionPrompt`),class:`info`},null,8,[`content`])]),o(l,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`kling.placeholder.motionPrompt`)},null,8,[`modelValue`,`placeholder`])])}var Kn=P(Vn,[[`render`,Gn],[`__scopeId`,`data-v-ca9fdbe5`]]),qn=`video`,Jn=c({name:`CharacterOrientationSelector`,components:{ElRadioGroup:O,ElRadioButton:D,InfoIcon:q},computed:{value:{get(){return this.$store.state.kling?.motionConfig?.character_orientation||qn},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,character_orientation:e})}}},mounted(){this.$store.state.kling?.motionConfig?.character_orientation||(this.value=qn)}}),Yn={class:`field`},Xn={class:`header`},Zn={class:`text-sm font-bold`};function Qn(e,t,n,i,s,c){let l=f(`info-icon`),h=f(`el-radio-button`),g=f(`el-radio-group`);return d(),p(`div`,Yn,[r(`div`,Xn,[r(`span`,Zn,u(e.$t(`kling.name.characterOrientation`)),1),o(l,{content:e.$t(`kling.description.characterOrientation`)},null,8,[`content`])]),o(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,size:`small`,class:`value`},{default:m(()=>[o(h,{label:`image`},{default:m(()=>[a(u(e.$t(`kling.name.orientationImage`)),1)]),_:1}),o(h,{label:`video`},{default:m(()=>[a(u(e.$t(`kling.name.orientationVideo`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var $n=P(Jn,[[`render`,Qn],[`__scopeId`,`data-v-7a91195b`]]),er=`std`,tr=c({name:`MotionModeSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:q},computed:{options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`)},{value:`pro`,label:this.$t(`kling.name.modePro`)}]},value:{get(){return this.$store.state.kling?.motionConfig?.mode||er},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,mode:e})}}},mounted(){this.$store.state.kling?.motionConfig?.mode||(this.value=er)}}),nr={class:`field`},rr={class:`header`},ir={class:`title font-bold`};function ar(e,t,i,a,s,c){let g=f(`info-icon`),_=f(`el-option`),v=f(`el-select`);return d(),p(`div`,nr,[r(`div`,rr,[r(`h2`,ir,u(e.$t(`kling.name.mode`)),1),o(g,{content:e.$t(`kling.description.motionMode`)},null,8,[`content`])]),o(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`kling.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var or=P(tr,[[`render`,ar],[`__scopeId`,`data-v-1295688c`]]),sr=c({name:`KeepOriginalSoundSelector`,components:{ElSwitch:j,InfoIcon:q},computed:{value:{get(){return(this.$store.state.kling?.motionConfig?.keep_original_sound??`yes`)===`yes`},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,keep_original_sound:e?`yes`:`no`})}}}}),cr={class:`relative`},lr={class:`flex justify-between items-center`},ur={class:`flex justify-start items-center`},dr={class:`text-sm font-bold`};function fr(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-switch`);return d(),p(`div`,cr,[r(`div`,lr,[r(`div`,ur,[r(`span`,dr,u(e.$t(`kling.name.keepOriginalSound`)),1),o(c,{content:e.$t(`kling.description.keepOriginalSound`)},null,8,[`content`])]),o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t},null,8,[`modelValue`])])])}var pr=c({name:`MotionPanel`,components:{ElButton:_,FontAwesomeIcon:G,Consumption:J,MotionImage:Nn,MotionVideo:Bn,MotionPromptInput:Kn,CharacterOrientationSelector:$n,MotionModeSelector:or,KeepOriginalSoundSelector:P(sr,[[`render`,fr]])},emits:[`generate`],computed:{motionConfig(){return this.$store.state.kling?.motionConfig},consumption(){return B(this.motionConfig,this.service?.cost)},service(){return this.$store.state.kling?.service},canGenerate(){let e=this.motionConfig;return!!(e?.image_url&&e?.video_url)}},methods:{onGenerate(){this.$emit(`generate`)}}}),mr={class:`flex flex-col h-full`},hr={class:`flex-1 overflow-y-auto p-5`},gr={class:`flex flex-col items-center justify-center px-5 pb-5`};function _r(e,t,n,i,s,c){let l=f(`motion-image`),h=f(`motion-video`),g=f(`motion-prompt-input`),_=f(`character-orientation-selector`),v=f(`motion-mode-selector`),y=f(`keep-original-sound-selector`),b=f(`consumption`),x=f(`font-awesome-icon`),S=f(`el-button`);return d(),p(`div`,mr,[r(`div`,hr,[o(l,{class:`mb-3`}),o(h,{class:`mb-3`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`})]),r(`div`,gr,[o(b,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(S,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canGenerate,onClick:e.onGenerate},{default:m(()=>[o(x,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`kling.button.generateMotion`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var vr=P(pr,[[`render`,_r]]),yr=c({name:`KlingTabSwitcher`,components:{ElTabs:x,ElTabPane:S,ElTag:re},props:{modelValue:{type:String,default:`videos`}},emits:[`update:modelValue`],computed:{tabs(){return[{value:`videos`,label:this.$t(`kling.tab.videoGeneration`)},{value:`motion`,label:this.$t(`kling.tab.motionControl`)}]}},methods:{onUpdate(e){this.$emit(`update:modelValue`,e)}}}),br=[`title`],xr={class:`text`};function Sr(e,t,i,o,c,g){let _=f(`el-tag`),v=f(`el-tab-pane`),y=f(`el-tabs`);return d(),n(y,{"model-value":e.modelValue,class:`kling-tabs`,stretch:``,"onUpdate:modelValue":e.onUpdate},{default:m(()=>[(d(!0),p(h,null,l(e.tabs,e=>(d(),n(v,{key:e.value,name:e.value,disabled:e.disabled},{label:m(()=>[r(`span`,{class:`tab-label`,title:e.disabled?e.disabledReason:void 0},[r(`span`,xr,u(e.label),1),e.badge?(d(),n(_,{key:0,size:`small`,type:`warning`,class:`badge`},{default:m(()=>[a(u(e.badge),1)]),_:2},1024)):s(``,!0)],8,br)]),_:2},1032,[`name`,`disabled`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Cr=P(yr,[[`render`,Sr],[`__scopeId`,`data-v-bf00c27e`]]),wr=c({name:`TaskPreview`,components:{ElImage:T,CopyToClipboard:ae,FontAwesomeIcon:G,ElAlert:E,VideoPlayer:pe,ElTooltip:w,ElButton:_,ImagePreview:K,ApiCodeButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.kling?.application},config(){return this.$store.state.kling?.config},referenceImages(){let e=[],t=this.modelValue?.request?.start_image_url,n=this.modelValue?.request?.end_image_url;return t&&e.push({url:t,name:`start-image`}),n&&e.push({url:n,name:`end-image`}),e}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),Tr={class:`preview`},Er={class:`left`},Dr={class:`main`},Or={class:`bot`},kr={class:`datetime`},Ar={class:`info`},jr={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Mr={key:1,class:`prompt mt-2`},Nr={key:0},Pr={key:1},Fr={key:0,class:t({content:!0,failed:!0})},Ir={key:0,class:`mb-4`},Lr={key:1,class:t({operations:!0,"mt-2":!0})},Rr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Br={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Vr={key:1,class:t({content:!0})},Hr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ur={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gr={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Kr={key:2,class:t({content:!0})},qr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yr(e,t,i,c,g,_){let v=f(`el-image`),y=f(`image-preview`),b=f(`video-player`),x=f(`el-button`),S=f(`el-tooltip`),C=f(`api-code-button`),w=f(`font-awesome-icon`),T=f(`copy-to-clipboard`),E=f(`el-alert`);return d(),p(`div`,Tr,[r(`div`,Er,[o(v,{src:`https://cdn.acedata.cloud/qpbbbb.jpg`,class:`avatar`})]),r(`div`,Dr,[r(`div`,Or,[a(u(e.$t(`kling.name.klingBot`))+` `,1),r(`span`,kr,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Ar,[e.referenceImages.length>0?(d(),p(`div`,jr,[(d(!0),p(h,null,l(e.referenceImages,(e,t)=>(d(),n(y,{key:t,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128))])):s(``,!0),e.modelValue?.request?.prompt?(d(),p(`p`,Mr,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,Nr,` - (`+u(e.$t(`kling.status.pending`))+`) `,1)),e.modelValue?.response?.state===`submitted`||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`||e.modelValue?.response?.state===`completed`?(d(),p(`span`,Pr,` - (`+u(e.$t(`kling.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0?(d(),p(`div`,Fr,[e.modelValue?.response.video_url?(d(),p(`div`,Ir,[o(b,{src:e.modelValue?.response.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),p(`div`,Lr,[o(S,{class:`box-item`,effect:`dark`,content:e.$t(`kling.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.modelValue?.response.video_url?(d(),n(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response.video_url)},{default:m(()=>[a(u(e.$t(`kling.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(C,{path:`/kling/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(E,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,Rr,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,zr,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Br,[o(w,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,Vr,[o(E,{closable:!1,class:`failure`},{template:m(()=>[o(w,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failure`)),1)]),default:m(()=>[r(`p`,Hr,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,Ur,[o(w,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(T,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Wr,[o(w,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Gr,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(T,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===void 0?(d(),p(`div`,Kr,[o(E,{closable:!1,class:`info`},{template:m(()=>[o(w,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.failure`)),1)]),default:m(()=>[r(`p`,qr,[o(w,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(T,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),p(`p`,Jr,[o(w,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`kling.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(T,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var Xr=c({name:`RecentPanel`,components:{TaskPreview:P(wr,[[`render`,Yr],[`__scopeId`,`data-v-422e2570`]]),NoTasks:de,BotPlaceholder:se,ScrollList:ce},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.kling?.tasks,items:this.$store.state.kling?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zr={key:0},Qr={key:2,class:`w-full h-full flex items-center justify-center`};function $r(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,Zr,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{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:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,e=>(d(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,Qr,[o(v)])):s(``,!0)],64)}var ei=P(Xr,[[`render`,$r]]),ti=te(`kling`),ni=c({name:`KlingIndex`,components:{ConfigPanel:En,MotionPanel:vr,TabSwitcher:Cr,Layout:ye,RecentPanel:ei},mixins:[ie],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.kling.credential},config(){return this.$store.state.kling.config},motionConfig(){return this.$store.state.kling.motionConfig},taskType(){return this.$store.state.kling.taskType||`videos`},tasks(){return this.$store.state.kling.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await le({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(){console.debug(`start onGetService`),await this.$store.dispatch(`kling/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`kling/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(`kling/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!F(this.uploadTracker,e=>this.$t(e),e=>R.warning(e)))return;let{camera_control:e,...t}=this.config||{},n={...t,callback_url:ti};if(!n.video_id&&!t.video_url&&!n.start_image_url&&n.end_image_url){R.warning(this.$t(`kling.message.endImageRequiresStart`));return}n.action||(n.video_id||t.video_url?n.action=`extend`:n.start_image_url?n.action=`image2video`:n.action=`text2video`),n.action===`text2video`&&n.end_image_url&&delete n.end_image_url,e?.type&&(n.camera_control={type:e.type,...e.type===`simple`&&e.config?{config:Object.fromEntries(Object.entries(e.config).filter(([,e])=>e!=null))}:{}});let r=this.credential?.token;if(!r){console.error(`no token specified`);return}R.info(this.$t(`kling.message.startingTask`)),I(`kling`,H.generate(n,{token:r})).then(()=>{R.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?R.error(this.$t(`kling.message.usedUp`)):R.error(this.$t(`kling.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},async onTabChange(e){e!==this.taskType&&(await this.$store.dispatch(`kling/setTaskType`,e),await this.onGetTasks(),await this.onScrollDown())},async onGenerateMotion(){if(!F(this.uploadTracker,e=>this.$t(e),e=>R.warning(e)))return;let e=this.motionConfig||{};if(!e.image_url||!e.video_url){R.warning(this.$t(`kling.message.motionMissingInputs`));return}let t={image_url:e.image_url,video_url:e.video_url,character_orientation:e.character_orientation||`video`,mode:e.mode||`std`,keep_original_sound:e.keep_original_sound??`yes`,...e.prompt?{prompt:e.prompt}:{},callback_url:ti},n=this.credential?.token;if(!n){console.error(`no token specified`);return}R.info(this.$t(`kling.message.startingTask`)),I(`kling`,H.motion(t,{token:n})).then(()=>{R.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?R.error(this.$t(`kling.message.usedUp`)):R.error(this.$t(`kling.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}}),ri={class:`flex flex-col h-full`},ii={class:`flex-1 min-h-0`};function ai(e,t,i,a,c,l){let u=f(`tab-switcher`),p=f(`config-panel`),h=f(`motion-panel`),g=f(`recent-panel`),_=f(`layout`);return d(),n(_,null,{config:m(()=>[r(`div`,ri,[o(u,{"model-value":e.taskType,"onUpdate:modelValue":e.onTabChange},null,8,[`model-value`,`onUpdate:modelValue`]),r(`div`,ii,[e.taskType===`videos`?(d(),n(p,{key:0,onGenerate:e.onGenerate},null,8,[`onGenerate`])):e.taskType===`motion`?(d(),n(h,{key:1,onGenerate:e.onGenerateMotion},null,8,[`onGenerate`])):s(``,!0)])])]),result:m(()=>[o(g,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var oi=P(ni,[[`render`,ai]]);export{oi as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-DC5zO2Tf.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./tooltip-C-9nDsaA.js";import{t as x}from"./image-05OiwhCC.js";import{t as S}from"./alert-Bgv5POrX.js";import{t as C}from"./drawer-BhAAsvLB.js";import{t as w}from"./input-number-rcPsKO0-.js";import{t as T}from"./slider-CGrxfmRg.js";import{Vr as E,bn as D,vn as O,xn as k,yn as ee}from"./constants-BoMdh9QC.js";import{Ct as te,Dt as A,On as j,S as M,St as N,Tt as P,dr as F,mr as I,rn as L,wt as R,xr as z}from"./index-DtcnyKXU.js";import{t as B}from"./index.es-D2U_WHjx.js";import{t as V}from"./CopyToClipboard-5NkEhaix.js";import{t as H}from"./ImagePreview-MEfAgvBn.js";import{t as U}from"./BotPlaceholder-CGAUW1iT.js";import{i as W,n as G,t as K}from"./pagination-K-GiKzXg.js";import{n as q,t as J}from"./NoTasks-Uzzr1qXU.js";import{t as Y}from"./Consumption-VJaAox2V.js";import{t as X}from"./ApiCodeButton-C4MCH2v_.js";import{t as Z}from"./VideoPlayer-DreO3MzZ.js";var Q=c({name:`LayoutPixverse`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:B},data(){return{drawer:!1}}}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,ne,[r(`div`,re,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ie,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=M(Q,[[`render`,ae],[`__scopeId`,`data-v-ea5fe174`]]),se=c({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},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||=ee}}),ce={class:`field`},le={class:`title font-bold`};function ue(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ce,[r(`h2`,le,u(e.$t(`pixverse.name.model`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=M(se,[[`render`,ue],[`__scopeId`,`data-v-e8f337ca`]]),fe=c({name:`QualitySelector`,components:{ElSelect:_,ElOption:v},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||=k}}),pe={class:`field`},me={class:`title font-bold`};function he(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,pe,[r(`h2`,me,u(e.$t(`pixverse.name.quality`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=M(fe,[[`render`,he],[`__scopeId`,`data-v-64aeaae9`]]),_e=c({name:`MotionSelector`,components:{ElSelect:_,ElOption:v},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||=D}}),ve={class:`field`},ye={class:`title font-bold`};function be(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ve,[r(`h2`,ye,u(e.$t(`pixverse.name.motion`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=M(_e,[[`render`,be],[`__scopeId`,`data-v-94237408`]]),Se=c({name:`StyleSelector`,components:{ElSelect:_,ElOption:v},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||=``}}),Ce={class:`field`},we={class:`title font-bold`};function Te(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ce,[r(`h2`,we,u(e.$t(`pixverse.name.style`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ee=M(Se,[[`render`,Te],[`__scopeId`,`data-v-64e17b3c`]]),De=c({name:`SeedSelector`,components:{ElSlider:T,InfoIcon:W,ElInputNumber:w},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}}),Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`},je={class:`flex justify-end items-center`},Me={class:`w-full`};function Ne(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`),m=f(`el-slider`);return d(),p(`div`,null,[r(`div`,Oe,[r(`div`,ke,[r(`span`,Ae,u(e.$t(`pixverse.name.seed`)),1),o(c,{content:e.$t(`pixverse.description.seed`)},null,8,[`content`])]),r(`div`,je,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,Me,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Pe=M(De,[[`render`,Ne]]),Fe=c({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},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}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ie,[r(`h2`,Le,u(e.$t(`pixverse.name.duration`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=M(Fe,[[`render`,Re],[`__scopeId`,`data-v-065c77ef`]]),Be=c({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||=O}}),Ve={class:`text-sm font-bold mb-2 block`},He={class:`items`},Ue=[`onClick`],We={class:`name`};function Ge(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,Ve,u(e.$t(`pixverse.name.aspectRatio`)),1),r(`div`,He,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,We,u(n.label),1)],10,Ue))),128))])])}var Ke=M(Be,[[`render`,Ge],[`__scopeId`,`data-v-53038264`]]),qe=c({name:`StartImage`,components:{ElUpload:y,ElButton:g,InfoIcon:W,FontAwesomeIcon:B,ImagePreview:H},mixins:[P,te],emits:[`change`],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?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){z.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){z.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()}}}),Je={class:`relative`},Ye={class:`flex justify-between`},Xe={class:`flex justify-start items-center`},Ze={class:`text-sm font-bold`};function Qe(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,Je,[r(`div`,Ye,[r(`div`,Xe,[r(`span`,Ze,u(e.$t(`pixverse.name.startImage`)),1),o(g,{content:e.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var $e=M(qe,[[`render`,Qe],[`__scopeId`,`data-v-0d570ad7`]]),et=c({name:`PromptInput`,components:{PromptTextarea:q},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 tt(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{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 nt=c({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:B,PromptInput:M(et,[[`render`,tt]]),ModelSelector:de,QualitySelector:ge,MotionSelector:xe,StyleSelector:Ee,DurationSelector:ze,StartImage:$e,SeedSelector:Pe,RatioSelector:Ke,Consumption:Y},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return A(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(e,t,n,i,s,c){let l=f(`prompt-input`),h=f(`model-selector`),g=f(`style-selector`),_=f(`ratio-selector`),v=f(`motion-selector`),y=f(`quality-selector`),b=f(`start-image`),x=f(`seed-selector`),S=f(`duration-selector`),C=f(`consumption`),w=f(`font-awesome-icon`),T=f(`el-button`);return d(),p(`div`,rt,[r(`div`,it,[o(l,{class:`mb-4`}),o(h,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-2`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`})]),r(`div`,at,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var st=M(nt,[[`render`,ot]]),ct=c({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:V,FontAwesomeIcon:B,ElAlert:S,VideoPlayer:Z,ElTooltip:b,ElButton:g,ApiCodeButton:X},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:t({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:t({operations:!0,"mt-2":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Ot(e,t,i,c,l,h){let g=f(`el-image`),_=f(`video-player`),v=f(`el-button`),y=f(`el-tooltip`),b=f(`api-code-button`),x=f(`font-awesome-icon`),S=f(`copy-to-clipboard`),C=f(`el-alert`);return d(),p(`div`,lt,[r(`div`,ut,[o(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),r(`div`,dt,[r(`div`,ft,[a(u(e.$t(`pixverse.name.pixverseBot`))+` `,1),r(`span`,pt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,mt,[e.modelValue?.request?.prompt?(d(),p(`p`,ht,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,gt,` - (`+u(e.$t(`pixverse.status.pending`))+`) `,1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state===`processing`||e.modelValue?.response?.data[0]?.state===`pending`)?(d(),p(`span`,_t,` - (`+u(e.$t(`pixverse.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),p(`div`,vt,[e.modelValue?.response?.data[0]?.video_url?(d(),p(`div`,yt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),p(`div`,bt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:m(()=>[a(u(e.$t(`pixverse.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/pixverse/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,xt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,wt,[o(C,{closable:!1,class:`info`},{template:m(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failure`)),1)]),default:m(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),r(`p`,Et,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var kt=c({name:`RecentPanel`,components:{TaskPreview:M(ct,[[`render`,Ot],[`__scopeId`,`data-v-94961727`]]),NoTasks:J,BotPlaceholder:U,ScrollList:G},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?.()}}}),At={key:0},jt={key:2,class:`w-full h-full flex items-center justify-center`};function Mt(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,At,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{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:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,(e,t)=>(d(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,jt,[o(v)])):s(``,!0)],64)}var Nt=M(kt,[[`render`,Mt]]),Pt=E(`pixverse`),Ft=c({name:`PixverseIndex`,components:{ConfigPanel:st,Layout:oe,RecentPanel:Nt},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===F.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await K({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})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!N(this.uploadTracker,e=>this.$t(e),e=>z.warning(e)))return;let e={...this.config,callback_url:Pt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}z.info(this.$t(`pixverse.message.startingTask`)),j(`pixverse`,L.generate(e,{token:t})).then(()=>{z.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?z.error(this.$t(`pixverse.message.usedUp`)):z.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`recent-panel`),u=f(`layout`);return d(),n(u,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=M(Ft,[[`render`,It]]);export{Lt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-Dy4nmBcy.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./tooltip-C-9nDsaA.js";import{t as x}from"./image-Bau0kGS7.js";import{t as S}from"./alert-Bgv5POrX.js";import{t as C}from"./drawer-BhAAsvLB.js";import{t as w}from"./input-number-CmkQjFiE.js";import{t as T}from"./slider-DYYyrciZ.js";import{Hr as E,Sn as D,bn as O,xn as k,yn as ee}from"./constants-D3W0tInG.js";import{Dt as te,E as A,Et as j,Mn as M,Ot as N,Tr as P,hr as F,jt as I,kt as L,sn as R,vr as z}from"./index-CEh-AtFD.js";import{t as B}from"./index.es-CGcvPLbY.js";import{t as V}from"./CopyToClipboard-DY4cWsYU.js";import{t as H}from"./ImagePreview-C1Hid5KU.js";import{t as U}from"./BotPlaceholder-2Tv7c707.js";import{i as W,n as G,t as K}from"./pagination-D0v316W1.js";import{n as q,t as J}from"./NoTasks-BJ195-7X.js";import{t as Y}from"./Consumption-DSbM28rV.js";import{t as X}from"./ApiCodeButton-CrB8OI_k.js";import{t as Z}from"./VideoPlayer-DtbwYrYN.js";var Q=c({name:`LayoutPixverse`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:B},data(){return{drawer:!1}}}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,ne,[r(`div`,re,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ie,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=A(Q,[[`render`,ae],[`__scopeId`,`data-v-ea5fe174`]]),se=c({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},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||=O}}),ce={class:`field`},le={class:`title font-bold`};function ue(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ce,[r(`h2`,le,u(e.$t(`pixverse.name.model`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=A(se,[[`render`,ue],[`__scopeId`,`data-v-e8f337ca`]]),fe=c({name:`QualitySelector`,components:{ElSelect:_,ElOption:v},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||=D}}),pe={class:`field`},me={class:`title font-bold`};function he(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,pe,[r(`h2`,me,u(e.$t(`pixverse.name.quality`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=A(fe,[[`render`,he],[`__scopeId`,`data-v-64aeaae9`]]),_e=c({name:`MotionSelector`,components:{ElSelect:_,ElOption:v},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||=k}}),ve={class:`field`},ye={class:`title font-bold`};function be(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ve,[r(`h2`,ye,u(e.$t(`pixverse.name.motion`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xe=A(_e,[[`render`,be],[`__scopeId`,`data-v-94237408`]]),Se=c({name:`StyleSelector`,components:{ElSelect:_,ElOption:v},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||=``}}),Ce={class:`field`},we={class:`title font-bold`};function Te(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ce,[r(`h2`,we,u(e.$t(`pixverse.name.style`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ee=A(Se,[[`render`,Te],[`__scopeId`,`data-v-64e17b3c`]]),De=c({name:`SeedSelector`,components:{ElSlider:T,InfoIcon:W,ElInputNumber:w},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}}),Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`},je={class:`flex justify-end items-center`},Me={class:`w-full`};function Ne(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`),m=f(`el-slider`);return d(),p(`div`,null,[r(`div`,Oe,[r(`div`,ke,[r(`span`,Ae,u(e.$t(`pixverse.name.seed`)),1),o(c,{content:e.$t(`pixverse.description.seed`)},null,8,[`content`])]),r(`div`,je,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,Me,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Pe=A(De,[[`render`,Ne]]),Fe=c({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},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}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ie,[r(`h2`,Le,u(e.$t(`pixverse.name.duration`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pixverse.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=A(Fe,[[`render`,Re],[`__scopeId`,`data-v-065c77ef`]]),Be=c({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||=ee}}),Ve={class:`text-sm font-bold mb-2 block`},He={class:`items`},Ue=[`onClick`],We={class:`name`};function Ge(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,Ve,u(e.$t(`pixverse.name.aspectRatio`)),1),r(`div`,He,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,We,u(n.label),1)],10,Ue))),128))])])}var Ke=A(Be,[[`render`,Ge],[`__scopeId`,`data-v-53038264`]]),qe=c({name:`StartImage`,components:{ElUpload:y,ElButton:g,InfoIcon:W,FontAwesomeIcon:B,ImagePreview:H},mixins:[L,te],emits:[`change`],data(){return{fileList:[],uploadUrl:z()+`/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(){P.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){P.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()}}}),Je={class:`relative`},Ye={class:`flex justify-between`},Xe={class:`flex justify-start items-center`},Ze={class:`text-sm font-bold`};function Qe(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return d(),p(`div`,Je,[r(`div`,Ye,[r(`div`,Xe,[r(`span`,Ze,u(e.$t(`pixverse.name.startImage`)),1),o(g,{content:e.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var $e=A(qe,[[`render`,Qe],[`__scopeId`,`data-v-0d570ad7`]]),et=c({name:`PromptInput`,components:{PromptTextarea:q},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 tt(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{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 nt=c({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:B,PromptInput:A(et,[[`render`,tt]]),ModelSelector:de,QualitySelector:ge,MotionSelector:xe,StyleSelector:Ee,DurationSelector:ze,StartImage:$e,SeedSelector:Pe,RatioSelector:Ke,Consumption:Y},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return I(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(e,t,n,i,s,c){let l=f(`prompt-input`),h=f(`model-selector`),g=f(`style-selector`),_=f(`ratio-selector`),v=f(`motion-selector`),y=f(`quality-selector`),b=f(`start-image`),x=f(`seed-selector`),S=f(`duration-selector`),C=f(`consumption`),w=f(`font-awesome-icon`),T=f(`el-button`);return d(),p(`div`,rt,[r(`div`,it,[o(l,{class:`mb-4`}),o(h,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-2`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`})]),r(`div`,at,[o(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var st=A(nt,[[`render`,ot]]),ct=c({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:V,FontAwesomeIcon:B,ElAlert:S,VideoPlayer:Z,ElTooltip:b,ElButton:g,ApiCodeButton:X},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:t({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:t({operations:!0,"mt-2":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:t({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Ot(e,t,i,c,l,h){let g=f(`el-image`),_=f(`video-player`),v=f(`el-button`),y=f(`el-tooltip`),b=f(`api-code-button`),x=f(`font-awesome-icon`),S=f(`copy-to-clipboard`),C=f(`el-alert`);return d(),p(`div`,lt,[r(`div`,ut,[o(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),r(`div`,dt,[r(`div`,ft,[a(u(e.$t(`pixverse.name.pixverseBot`))+` `,1),r(`span`,pt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,mt,[e.modelValue?.request?.prompt?(d(),p(`p`,ht,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,gt,` - (`+u(e.$t(`pixverse.status.pending`))+`) `,1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state===`processing`||e.modelValue?.response?.data[0]?.state===`pending`)?(d(),p(`span`,_t,` - (`+u(e.$t(`pixverse.status.processing`))+`) `,1)):s(``,!0)])):s(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),p(`div`,vt,[e.modelValue?.response?.data[0]?.video_url?(d(),p(`div`,yt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):s(``,!0),e.modelValue?.response.success?(d(),p(`div`,bt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),n(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:m(()=>[a(u(e.$t(`pixverse.button.download`)),1)]),_:1})):s(``,!0)]),_:1},8,[`content`]),o(b,{path:`/pixverse/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,xt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),r(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,wt,[o(C,{closable:!1,class:`info`},{template:m(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failure`)),1)]),default:m(()=>[r(`p`,Tt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),r(`p`,Et,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`pixverse.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):s(``,!0)]),_:1})])):s(``,!0)])])}var kt=c({name:`RecentPanel`,components:{TaskPreview:A(ct,[[`render`,Ot],[`__scopeId`,`data-v-94961727`]]),NoTasks:J,BotPlaceholder:U,ScrollList:G},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?.()}}}),At={key:0},jt={key:2,class:`w-full h-full flex items-center justify-center`};function Mt(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,At,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{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:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,(e,t)=>(d(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,jt,[o(v)])):s(``,!0)],64)}var Nt=A(kt,[[`render`,Mt]]),Pt=E(`pixverse`),Ft=c({name:`PixverseIndex`,components:{ConfigPanel:st,Layout:oe,RecentPanel:Nt},mixins:[N],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===F.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await K({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})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!j(this.uploadTracker,e=>this.$t(e),e=>P.warning(e)))return;let e={...this.config,callback_url:Pt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}P.info(this.$t(`pixverse.message.startingTask`)),M(`pixverse`,R.generate(e,{token:t})).then(()=>{P.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?P.error(this.$t(`pixverse.message.usedUp`)):P.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`recent-panel`),u=f(`layout`);return d(),n(u,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=A(Ft,[[`render`,It]]);export{Lt as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h,y as g}from"./vendor-chart-Df3WBvr0.js";import{t as _}from"./button-DgZFgZDr.js";import{r as v,t as y}from"./select-Dy4nmBcy.js";import{t as b}from"./upload-B8zBOx3w.js";import{t as x}from"./tooltip-C-9nDsaA.js";import{t as S}from"./image-Bau0kGS7.js";import{t as C}from"./alert-Bgv5POrX.js";import{t as w}from"./drawer-BhAAsvLB.js";import{t as T}from"./input-number-CmkQjFiE.js";import{t as E}from"./switch-D-UGKh2b.js";import{Et as D,Hr as O,St as k,Tt as A,_t as j,bt as M,ct as N,dt as ee,ft as te,gt as ne,ht as re,it as ie,lt as ae,mt as oe,ot as se,pt as ce,rt as le,st as P,ut as F,vt as I,wt as L,xt as R,yt as z}from"./constants-D3W0tInG.js";import{Dt as B,E as V,Et as H,Mn as U,Ot as W,Tr as G,Yt as ue,hr as K,jt as de,kt as q,vr as J}from"./index-CEh-AtFD.js";import{t as Y}from"./index.es-CGcvPLbY.js";import{t as fe}from"./CopyToClipboard-DY4cWsYU.js";import{t as X}from"./ImagePreview-C1Hid5KU.js";import{t as pe}from"./BotPlaceholder-2Tv7c707.js";import{i as Z,n as me,t as he}from"./pagination-D0v316W1.js";import{n as ge,t as _e}from"./NoTasks-BJ195-7X.js";import{t as ve}from"./Consumption-DSbM28rV.js";import{t as ye}from"./ApiCodeButton-CrB8OI_k.js";import{t as be}from"./ImageWrapper-DJX4X7ZH.js";import{t as xe}from"./VideoPlayer-DtbwYrYN.js";var Se=c({name:`LayoutSeedance`,components:{ElDrawer:w,ElButton:_,FontAwesomeIcon:Y},data(){return{drawer:!1}}}),Ce={class:`main flex flex-row flex-1`},we={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Te={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ee(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,Ce,[r(`div`,we,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Te,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var De=V(Se,[[`render`,Ee],[`__scopeId`,`data-v-caafd095`]]),Oe=c({name:`SeedancePromptInput`,components:{PromptTextarea:ge},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ke(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedance.name.prompt`),info:e.$t(`seedance.description.prompt`),placeholder:e.$t(`seedance.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ae=V(Oe,[[`render`,ke]]),je=c({name:`SeedanceModelSelector`,components:{ElSelect:v,ElOption:y,InfoIcon:Z},data(){return{options:[{value:ce,label:this.$t(`seedance.model.seedance20`)},{value:oe,label:this.$t(`seedance.model.seedance20Fast`)},{value:te,label:this.$t(`seedance.model.seedance15pro`)},{value:F,label:this.$t(`seedance.model.seedance10pro`)},{value:ee,label:this.$t(`seedance.model.seedance10proFast`)},{value:ae,label:this.$t(`seedance.model.seedance10liteT2v`)},{value:N,label:this.$t(`seedance.model.seedance10liteI2v`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||=le}}),Me={class:`field`},Ne={class:`label`},Pe={class:`box`},Fe={class:`title font-bold`};function Ie(e,t,i,a,s,c){let g=f(`info-icon`),_=f(`el-option`),v=f(`el-select`);return d(),p(`div`,Me,[r(`div`,Ne,[r(`div`,Pe,[r(`h2`,Fe,u(e.$t(`seedance.name.model`)),1),o(g,{content:e.$t(`seedance.description.model`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`seedance.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Le=V(je,[[`render`,Ie],[`__scopeId`,`data-v-61816a81`]]),Re=c({name:`SeedanceDurationSelector`,components:{ElSelect:v,ElOption:y,InfoIcon:Z},data(){return{options:[{value:2,label:`2s`},{value:3,label:`3s`},{value:4,label:`4s`},{value:5,label:`5s`},{value:6,label:`6s`},{value:7,label:`7s`},{value:8,label:`8s`},{value:9,label:`9s`},{value:10,label:`10s`},{value:11,label:`11s`},{value:12,label:`12s`}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,duration:e})}}},mounted(){this.value||=5}}),ze={class:`field`},Be={class:`label`},Ve={class:`box`},He={class:`title font-bold`};function Ue(e,t,i,a,s,c){let g=f(`info-icon`),_=f(`el-option`),v=f(`el-select`);return d(),p(`div`,ze,[r(`div`,Be,[r(`div`,Ve,[r(`h2`,He,u(e.$t(`seedance.name.duration`)),1),o(g,{content:e.$t(`seedance.description.duration`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`seedance.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var We=V(Re,[[`render`,Ue],[`__scopeId`,`data-v-5c809a72`]]),Ge=k,Q={[R]:0,[k]:1,[M]:2},Ke=c({name:`SeedanceResolutionSelector`,components:{InfoIcon:Z,ElTooltip:x},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return D(this.model)},isLiteModel(){return typeof this.model==`string`&&this.model.includes(`-lite-`)},options(){let e=[{value:R,label:`480p`},{value:k,label:`720p`},{value:M,label:`1080p`}],t=this.isLiteModel;return e.map(e=>({...e,disabled:t&&Q[e.value]>Q[Ge]}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||`720p`},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){let e=this.value,t=this.options.find(t=>t.value===e);(!e||t&&t.disabled)&&(this.value=this.capability.defaultResolution||`720p`)}}}),qe={class:`resolution`},Je={class:`header`},Ye={class:`title font-bold`},Xe={class:`items`},Ze=[`onClick`];function Qe(e,i,a,s,c,g){let _=f(`info-icon`),v=f(`el-tooltip`);return d(),p(`div`,qe,[r(`div`,Je,[r(`h2`,Ye,u(e.$t(`seedance.name.resolution`)),1),o(_,{content:e.$t(`seedance.description.resolution`),class:`info`},null,8,[`content`])]),r(`div`,Xe,[(d(!0),p(h,null,l(e.options,i=>(d(),n(v,{key:i.value,content:e.$t(`seedance.message.resolutionNotSupported`),disabled:!i.disabled,placement:`top`},{default:m(()=>[r(`div`,{class:t([`item`,{active:e.value===i.value,disabled:i.disabled}]),onClick:t=>e.onSelect(i)},u(i.label),11,Ze)]),_:2},1032,[`content`,`disabled`]))),128))])])}var $e=V(Ke,[[`render`,Qe],[`__scopeId`,`data-v-fd8d4e4b`]]),et=c({name:`SeedanceRatioSelector`,components:{InfoIcon:Z},computed:{options(){return[{value:ne,label:`16:9`,w:32,h:18},{value:I,label:`9:16`,w:18,h:32},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`1:1`,label:`1:1`,w:24,h:24},{value:j,label:`21:9`,w:34,h:14},{value:z,label:this.$t(`seedance.ratio.adaptive`),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||=ie}}),tt={class:`ratio`},nt={class:`header`},rt={class:`title font-bold`},it={class:`items`},at=[`onClick`],ot={class:`preview`},st={key:1,class:`rect rect-auto`},ct={class:`name`};function lt(e,n,a,s,c,m){let g=f(`info-icon`);return d(),p(`div`,tt,[r(`div`,nt,[r(`h2`,rt,u(e.$t(`seedance.name.ratio`)),1),o(g,{content:e.$t(`seedance.description.ratio`),class:`info`},null,8,[`content`])]),r(`div`,it,[(d(!0),p(h,null,l(e.options,n=>(d(),p(`div`,{key:n.value,class:t([`item`,{active:e.value===n.value}]),onClick:t=>e.value=n.value},[r(`div`,ot,[n.w&&n.h?(d(),p(`div`,{key:0,class:`rect`,style:i({width:n.w+`px`,height:n.h+`px`})},null,4)):(d(),p(`div`,st,`A`))]),r(`div`,ct,u(n.label),1)],10,at))),128))])])}var ut=V(et,[[`render`,lt],[`__scopeId`,`data-v-8ddec2dd`]]),dt=c({name:`SeedanceGenerateAudioSwitch`,components:{ElSwitch:E,InfoIcon:Z},computed:{isSupported(){let e=this.$store.state.seedance?.config?.model;return D(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),ft={key:0,class:`field`},pt={class:`label`},mt={class:`box`},ht={class:`title font-bold`},gt={class:`value`};function _t(e,t,n,i,a,c){let l=f(`info-icon`),m=f(`el-switch`);return e.isSupported?(d(),p(`div`,ft,[r(`div`,pt,[r(`div`,mt,[r(`h2`,ht,u(e.$t(`seedance.name.generateAudio`)),1),o(l,{content:e.$t(`seedance.description.generateAudio`),class:`info`},null,8,[`content`])])]),r(`div`,gt,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):s(``,!0)}var vt=V(dt,[[`render`,_t],[`__scopeId`,`data-v-df51dfbd`]]),yt=c({name:`SeedanceCameraFixedSwitch`,components:{ElSwitch:E,InfoIcon:Z},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=!1)}}),bt={class:`field`},xt={class:`label`},St={class:`box`},Ct={class:`title font-bold`},wt={class:`value`};function Tt(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-switch`);return d(),p(`div`,bt,[r(`div`,xt,[r(`div`,St,[r(`h2`,Ct,u(e.$t(`seedance.name.cameraFixed`)),1),o(c,{content:e.$t(`seedance.description.cameraFixed`),class:`info`},null,8,[`content`])])]),r(`div`,wt,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])}var Et=V(yt,[[`render`,Tt],[`__scopeId`,`data-v-ae777d61`]]),Dt=c({name:`SeedanceFirstFrameImage`,components:{ElUpload:b,ElButton:_,InfoIcon:Z,FontAwesomeIcon:Y,ImagePreview:X},mixins:[q,B],data(){return{fileList:[],uploadUrl:J()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return D(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){G.warning(this.$t(`seedance.message.uploadExceed`))},onError(){G.error(this.$t(`seedance.message.uploadError`))},onSetFirstFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`first_frame`);e&&t.push({url:e,role:`first_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),Ot={key:0,class:`relative`},kt={class:`flex justify-between`},At={class:`flex justify-start items-center`},jt={class:`text-sm font-bold`},Mt={key:0,class:`required-badge`};function Nt(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return e.capability.acceptsImage?(d(),p(`div`,Ot,[r(`div`,kt,[r(`div`,At,[r(`span`,jt,u(e.$t(`seedance.name.firstFrame`)),1),e.capability.requiresImage?(d(),p(`span`,Mt,u(e.$t(`seedance.name.required`)),1)):s(``,!0),o(g,{content:e.$t(`seedance.description.firstFrame`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):s(``,!0)}var Pt=V(Dt,[[`render`,Nt],[`__scopeId`,`data-v-e2597f23`]]),Ft=c({name:`SeedanceLastFrameImage`,components:{ElUpload:b,ElButton:_,ImagePreview:X,InfoIcon:Z,FontAwesomeIcon:Y},mixins:[q,B],data(){return{fileList:[],uploadUrl:J()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return D(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){G.warning(this.$t(`seedance.message.uploadExceed`))},onError(){G.error(this.$t(`seedance.message.uploadError`))},onSetLastFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`last_frame`);e&&t.push({url:e,role:`last_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),It={key:0,class:`relative`},Lt={class:`flex justify-between`},Rt={class:`flex justify-start items-center`},zt={class:`text-sm font-bold`};function Bt(e,t,i,c,l,h){let g=f(`info-icon`),_=f(`image-preview`),v=f(`font-awesome-icon`),y=f(`el-button`),b=f(`el-upload`);return e.capability.acceptsLastFrame?(d(),p(`div`,It,[r(`div`,Lt,[r(`div`,Rt,[r(`span`,zt,u(e.$t(`seedance.name.lastFrame`)),1),o(g,{content:e.$t(`seedance.description.lastFrame`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-remove":e.onRemove,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(d(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):s(``,!0)]),default:m(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:m(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),a(` `+u(e.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):s(``,!0)}var Vt=V(Ft,[[`render`,Bt],[`__scopeId`,`data-v-3a191e51`]]),Ht=c({name:`SeedanceServiceTierSelector`,components:{ElSelect:v,ElOption:y,InfoIcon:Z},data(){return{options:[{value:L,label:this.$t(`seedance.serviceTier.default`)},{value:A,label:this.$t(`seedance.serviceTier.flex`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||=se}}),Ut={class:`field`},Wt={class:`label`},Gt={class:`box`},Kt={class:`title font-bold`};function qt(e,t,i,a,s,c){let g=f(`info-icon`),_=f(`el-option`),v=f(`el-select`);return d(),p(`div`,Ut,[r(`div`,Wt,[r(`div`,Gt,[r(`h2`,Kt,u(e.$t(`seedance.name.serviceTier`)),1),o(g,{content:e.$t(`seedance.description.serviceTier`),class:`info`},null,8,[`content`])])]),o(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`seedance.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Jt=V(Ht,[[`render`,qt],[`__scopeId`,`data-v-cc938de2`]]),Yt=c({name:`SeedanceReturnLastFrameSwitch`,components:{ElSwitch:E,InfoIcon:Z},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return D(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),Xt={key:0,class:`field`},Zt={class:`label`},Qt={class:`box`},$t={class:`title font-bold`},en={class:`value`};function tn(e,t,n,i,a,c){let l=f(`info-icon`),m=f(`el-switch`);return e.isSupported?(d(),p(`div`,Xt,[r(`div`,Zt,[r(`div`,Qt,[r(`h2`,$t,u(e.$t(`seedance.name.returnLastFrame`)),1),o(l,{content:e.$t(`seedance.description.returnLastFrame`),class:`info`},null,8,[`content`])])]),r(`div`,en,[o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"inline-prompt":``,"active-text":e.$t(`seedance.button.on`),"inactive-text":e.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):s(``,!0)}var nn=V(Yt,[[`render`,tn],[`__scopeId`,`data-v-edea5451`]]),rn=c({name:`SeedanceSeedInput`,components:{ElInputNumber:T,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedance?.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.$store.state.seedance?.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedance/setConfig`,t)}}}}),an={class:`field`},on={class:`label`},sn={class:`box`},cn={class:`title font-bold`},ln={class:`value`};function un(e,t,n,i,a,s){let c=f(`info-icon`),l=f(`el-input-number`);return d(),p(`div`,an,[r(`div`,on,[r(`div`,sn,[r(`h2`,cn,u(e.$t(`seedance.name.seed`)),1),o(c,{content:e.$t(`seedance.description.seed`),class:`info`},null,8,[`content`])])]),r(`div`,ln,[o(l,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])}var dn=c({name:`SeedanceConfigPanel`,components:{ElButton:_,FontAwesomeIcon:Y,PromptInput:Ae,ModelSelector:Le,DurationSelector:We,ResolutionSelector:$e,RatioSelector:ut,GenerateAudioSwitch:vt,CameraFixedSwitch:Et,ServiceTierSelector:Jt,ReturnLastFrameSwitch:nn,SeedInput:V(rn,[[`render`,un],[`__scopeId`,`data-v-685a9869`]]),FirstFrameImage:Pt,LastFrameImage:Vt,Consumption:ve},emits:[`generate`],computed:{config(){return this.$store.state.seedance?.config},consumption(){return de(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),fn={class:`flex flex-col h-full`},pn={class:`flex-1 overflow-y-auto p-5`},mn={class:`flex flex-col items-center justify-center px-5 pb-5`};function hn(e,t,n,i,s,c){let l=f(`prompt-input`),h=f(`model-selector`),g=f(`ratio-selector`),_=f(`resolution-selector`),v=f(`duration-selector`),y=f(`service-tier-selector`),b=f(`generate-audio-switch`),x=f(`camera-fixed-switch`),S=f(`return-last-frame-switch`),C=f(`seed-input`),w=f(`first-frame-image`),T=f(`last-frame-image`),E=f(`consumption`),D=f(`font-awesome-icon`),O=f(`el-button`);return d(),p(`div`,fn,[r(`div`,pn,[o(l,{class:`mb-4`}),o(h,{class:`mb-4`}),o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),o(w,{class:`mb-2`}),o(T,{class:`mb-2`})]),r(`div`,mn,[o(E,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(O,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(D,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`seedance.button.generate`)),1)]),_:1},8,[`onClick`])])])}var gn=V(dn,[[`render`,hn]]),_n=c({name:`SeedanceTaskPreview`,components:{ElImage:S,CopyToClipboard:fe,FontAwesomeIcon:Y,ElAlert:C,VideoPlayer:xe,ElTooltip:x,ElButton:_,ImageWrapper:be,ImagePreview:X,ApiCodeButton:ye},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:P}},computed:{video(){return this.modelValue?.response?.data},referenceImages(){let e=this.modelValue?.request?.images;if(!Array.isArray(e))return[];let t=[],n=e.find(e=>e?.role===`first_frame`);n?.url&&t.push({url:n.url,name:`first-frame`});let r=e.find(e=>e?.role===`last_frame`);return r?.url&&t.push({url:r.url,name:`last-frame`}),e.forEach((e,n)=>{e?.url&&e.role!==`first_frame`&&e.role!==`last_frame`&&t.push({url:e.url,name:e.role||`image-${n}`})}),t}},methods:{onDownload(e){window.open(e,`_blank`)}}}),vn={class:`preview`},yn={class:`left`},bn={class:`main`},xn={class:`bot`},Sn={class:`datetime`},Cn={class:`info`},wn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Tn={key:1,class:`prompt mt-2`},En={key:0},Dn={key:1},On={key:0,class:t({content:!0})},kn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},An={key:1,class:t({content:!0})},jn={key:0,class:`mb-4`},Mn={key:1,class:`mb-4`},Nn={key:2,class:t({operations:!0,"mt-2":!0,"mb-2":!0})},Pn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Fn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},In={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ln={key:0},Rn={key:1},zn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vn={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Hn={key:2,class:t({content:!0})},Un={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},qn={key:3,class:t({content:!0})},Jn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Xn(e,t,i,c,_,v){let y=f(`el-image`),b=f(`image-preview`),x=f(`font-awesome-icon`),S=f(`copy-to-clipboard`),C=f(`el-alert`),w=f(`video-player`),T=f(`image-wrapper`),E=f(`el-button`),D=f(`el-tooltip`),O=f(`api-code-button`);return d(),p(`div`,vn,[r(`div`,yn,[o(y,{src:e.seedanceLogo,class:`avatar`},null,8,[`src`])]),r(`div`,bn,[r(`div`,xn,[a(u(e.$t(`seedance.name.seedanceBot`))+` `,1),r(`span`,Sn,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Cn,[e.referenceImages.length>0?(d(),p(`div`,wn,[(d(!0),p(h,null,l(e.referenceImages,(e,t)=>(d(),n(b,{key:t,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128))])):s(``,!0),e.modelValue?.request?.prompt?(d(),p(`p`,Tn,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?e.video?.status===`processing`||e.video?.status===`pending`?(d(),p(`span`,Dn,` - (`+u(e.$t(`seedance.status.processing`))+`) `,1)):s(``,!0):(d(),p(`span`,En,` - (`+u(e.$t(`seedance.status.pending`))+`) `,1))])):s(``,!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(d(),p(`div`,An,[e.video?.video_url?(d(),p(`div`,jn,[o(w,{src:e.video?.video_url},null,8,[`src`])])):s(``,!0),e.video?.last_frame_url?(d(),p(`div`,Mn,[o(T,{src:e.video?.last_frame_url,"raw-src":e.video?.last_frame_url},null,8,[`src`,`raw-src`])])):s(``,!0),e.video?.video_url?(d(),p(`div`,Nn,[o(D,{class:`box-item`,effect:`dark`,content:e.$t(`seedance.message.downloadVideo`),placement:`top-start`},{default:m(()=>[o(E,{type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=g(t=>e.onDownload(e.video?.video_url),[`stop`])},{default:m(()=>[a(u(e.$t(`seedance.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(O,{path:`/seedance/videos`,body:e.modelValue?.request},null,8,[`body`])])):s(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:m(()=>[e.modelValue?.request?.model?(d(),p(`p`,Pn,[o(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.model`))+`: `+u(e.modelValue?.request?.model),1)])):s(``,!0),e.video?.duration?(d(),p(`p`,Fn,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.duration`))+`: `+u(e.video?.duration)+`s `,1)])):s(``,!0),e.video?.resolution?(d(),p(`p`,In,[o(x,{icon:`fa-solid fa-expand`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.resolution`))+`: `+u(e.video?.resolution)+` `,1),e.video?.ratio?(d(),p(`span`,Ln,` · `+u(e.video?.ratio),1)):s(``,!0),e.video?.framespersecond?(d(),p(`span`,Rn,` · `+u(e.video?.framespersecond)+`fps`,1)):s(``,!0)])):s(``,!0),e.modelValue?.request?.generate_audio?(d(),p(`p`,zn,[o(x,{icon:`fa-solid fa-volume-up`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.generateAudio`))+`: `+u(e.$t(`seedance.button.on`)),1)])):s(``,!0),r(`p`,Bn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Vn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):s(``,!0)]),_:1})])):e.modelValue?.response?.success===!1?(d(),p(`div`,Hn,[o(C,{closable:!1,class:`failure`},{template:m(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.failure`)),1)]),default:m(()=>[r(`p`,Un,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.response?.error?.message?(d(),p(`p`,Wn,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):s(``,!0),e.modelValue?.elapsed?(d(),p(`p`,Gn,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),e.modelValue?.response?.trace_id?(d(),p(`p`,Kn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):s(``,!0)]),_:1})])):(d(),p(`div`,qn,[o(C,{closable:!1,class:`info`},{template:m(()=>[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.status`)),1)]),default:m(()=>[r(`p`,Jn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),p(`p`,Yn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):s(``,!0)]),_:1})])):(d(),p(`div`,On,[o(C,{closable:!1,class:`info`},{template:m(()=>[o(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`seedance.status.pending`)),1)]),default:m(()=>[r(`p`,kn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`seedance.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Zn=c({name:`SeedanceRecentPanel`,components:{TaskPreview:V(_n,[[`render`,Xn],[`__scopeId`,`data-v-8b7e10f0`]]),BotPlaceholder:pe,NoTasks:_e,ScrollList:me},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Qn={key:0},$n={key:2,class:`w-full h-full flex items-center justify-center`};function er(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,Qn,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{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:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,e=>(d(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,$n,[o(v)])):s(``,!0)],64)}var tr=V(Zn,[[`render`,er]]),nr=O(`seedance`),rr=c({name:`SeedanceIndex`,components:{ConfigPanel:gn,Layout:De,RecentPanel:tr},mixins:[W],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===K.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await he({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`seedance/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`seedance/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!H(this.uploadTracker,e=>this.$t(e),e=>G.warning(e)))return;let e={...this.config||{}};if(typeof e?.prompt==`string`&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(e=>!!e?.url);let t=e.images.some(e=>e?.role===`first_frame`),n=e.images.some(e=>e?.role===`last_frame`);!t&&n&&(e.images=e.images.map(e=>e?.role===`last_frame`?{...e,role:`first_frame`}:e))}let t=Array.isArray(e?.images)&&e.images.length>0;if(!t&&`images`in e&&delete e.images,e?.model&&!re[e.model]){G.warning(this.$t(`seedance.message.modelUnsupported`));return}let n=D(e?.model);if(n.requiresImage&&!t){G.warning(this.$t(`seedance.message.modelRequiresImage`));return}if(!n.acceptsImage&&t){G.warning(this.$t(`seedance.message.modelRejectsImage`));return}if(!n.acceptsText&&!t){G.warning(this.$t(`seedance.message.modelRequiresImage`));return}!n.acceptsAudio&&e.generate_audio&&(e.generate_audio=!1),!n.acceptsReturnLastFrame&&e.return_last_frame&&(e.return_last_frame=!1),!n.acceptsLastFrame&&t&&(e.images=e.images.filter(e=>e?.role!==`last_frame`));let r={...e,callback_url:nr},i=this.credential?.token;if(!i){console.error(`no token specified`);return}G.info(this.$t(`seedance.message.startingTask`)),U(`seedance`,ue.generate(r,{token:i})).then(()=>{G.success(this.$t(`seedance.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?G.error(this.$t(`seedance.message.usedUp`)):G.error(this.$t(`seedance.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ir(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`recent-panel`),u=f(`layout`);return d(),n(u,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ar=V(rr,[[`render`,ir]]);export{ar as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-DgZFgZDr.js";import{r as g,t as _}from"./select-DC5zO2Tf.js";import{t as v}from"./upload-B8zBOx3w.js";import{t as y}from"./tooltip-C-9nDsaA.js";import{t as b}from"./image-05OiwhCC.js";import{t as x}from"./alert-Bgv5POrX.js";import{n as S,r as C}from"./radio-DNLlMkjf.js";import{t as w}from"./drawer-BhAAsvLB.js";import{t as T}from"./switch-BXulLLA8.js";import{Vr as ee,Yn as E}from"./constants-BoMdh9QC.js";import{Cn as D,Ct as O,Dt as k,On as te,S as A,St as j,Tt as M,dr as N,mr as P,sn as F,wt as I,xr as L}from"./index-DtcnyKXU.js";import{t as R}from"./index.es-D2U_WHjx.js";import{t as z}from"./CopyToClipboard-5NkEhaix.js";import{t as B}from"./ImagePreview-MEfAgvBn.js";import{t as V}from"./BotPlaceholder-CGAUW1iT.js";import{i as H,n as U,t as W}from"./pagination-K-GiKzXg.js";import{n as G,t as K}from"./NoTasks-Uzzr1qXU.js";import{t as q}from"./Consumption-VJaAox2V.js";import{t as J}from"./ApiCodeButton-C4MCH2v_.js";import{t as Y}from"./vue-plyr-wiIKa-zl.js";var X=s({name:`LayoutPika`,components:{ElDrawer:w,ElButton:h,FontAwesomeIcon:R},data(){return{drawer:!1}}}),Z={class:`main flex flex-row flex-1`},Q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ne={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function re(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Z,[r(`div`,Q,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ne,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ie=A(X,[[`render`,re],[`__scopeId`,`data-v-10596416`]]),ae=s({name:`IngredientsSelector`,components:{ElSwitch:T,InfoIcon:H},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug(`set ingredients`,e),e||this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,model:`2.0`})}}},mounted(){this.value===void 0&&(this.value=!1)}}),oe={class:`field`},se={class:`title font-bold`};function ce(e,t,n,i,o,s){let c=d(`el-switch`),p=d(`info-icon`);return u(),f(`div`,oe,[r(`h2`,se,l(e.$t(`pika.name.ingredients`)),1),a(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`]),a(p,{content:e.$t(`pika.description.ingredients`),class:`info`},null,8,[`content`])])}var le=A(ae,[[`render`,ce],[`__scopeId`,`data-v-17c0af5c`]]),ue=s({name:`EffectSelector`,components:{ElSelect:g,ElOption:_},data(){return{}},computed:{options(){return[{value:`Levitate`,label:this.$t(`pika.style.effect1`)},{value:`Decapitate`,label:this.$t(`pika.style.effect2`)},{value:`Eye-pop`,label:this.$t(`pika.style.effect3`)},{value:`Ta-da`,label:this.$t(`pika.style.effect4`)},{value:`Deflate`,label:this.$t(`pika.style.effect5`)},{value:`Crumble`,label:this.$t(`pika.style.effect6`)},{value:`Dissolve`,label:this.$t(`pika.style.effect7`)},{value:`Squish`,label:this.$t(`pika.style.effect8`)},{value:`Inflate`,label:this.$t(`pika.style.effect9`)},{value:`Melt`,label:this.$t(`pika.style.effect10`)},{value:`Cake-ify`,label:this.$t(`pika.style.effect11`)},{value:`Crush`,label:this.$t(`pika.style.effect12`)},{value:`Explode`,label:this.$t(`pika.style.effect13`)}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,effect:e})}}}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,de,[r(`h2`,fe,l(e.$t(`pika.name.effect`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pika.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,pe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=A(ue,[[`render`,me],[`__scopeId`,`data-v-d1c54475`]]),ge=s({name:`IngredientsModelSelector`,components:{ElRadioButton:S,ElRadioGroup:C},data(){return{options:[{label:this.$t(`pika.button.precise`),value:`precise`},{label:this.$t(`pika.button.creative`),value:`creative`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||=E}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,o,s,h,g){let _=d(`el-radio-button`),v=d(`el-radio-group`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`pika.name.ingredientsModel`)),1),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`quality`},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.value},{default:p(()=>[i(l(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var be=A(ge,[[`render`,ye],[`__scopeId`,`data-v-b72865fa`]]),xe=s({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`2.0`,label:`2.0`},{value:`1.5`,label:`1.5`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||=`2.0`}}),Se={class:`field`},Ce={class:`title font-bold`};function we(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,Se,[r(`h2`,Ce,l(e.$t(`pika.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pika.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=A(xe,[[`render`,we],[`__scopeId`,`data-v-7b2e870a`]]),Ee=s({name:`ImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:H,ImagePreview:B,FontAwesomeIcon:R},mixins:[M,O],data(){return{fileList:[],uploadUrl:P()+`/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.pika?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){L.warning(this.$t(`pika.message.uploadStartImageExceed`))},onError(){L.error(this.$t(`pika.message.uploadStartImageError`))},async onRemove(){L.error(this.$t(`pika.message.uploadStartImageError`))},onSetStartImageUrl(){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),De={class:`field`},Oe={class:`title font-bold`},ke={class:`upload-wrapper`};function Ae(e,t,n,o,s,c){let m=d(`image-preview`),h=d(`font-awesome-icon`),g=d(`el-button`),_=d(`el-upload`),v=d(`info-icon`);return u(),f(`div`,De,[r(`h2`,Oe,l(e.$t(`pika.name.imageUrl`)),1),r(`div`,ke,[a(_,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:3,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[a(m,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(g,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(e.$t(`pika.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])]),a(v,{content:e.$t(`pika.description.imageUrl`),class:`info`},null,8,[`content`])])}var je=A(Ee,[[`render`,Ae],[`__scopeId`,`data-v-25cefe78`]]),Me=s({name:`PromptInput`,components:{PromptTextarea:G},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pika.name.prompt`),info:e.$t(`pika.description.prompt`),placeholder:e.$t(`pika.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=s({name:`PresetPanel`,components:{ImageUrlInput:je,ElButton:h,FontAwesomeIcon:R,Consumption:q,PromptInput:A(Me,[[`render`,Ne]]),IngredientsSelector:le,IngredientsModelSelector:be,ModelSelector:Te,EffectSelector:he},emits:[`generate`],computed:{config(){return this.$store.state.pika?.config},consumption(){return k(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Fe={class:`flex flex-col h-full`},Ie={class:`flex-1 overflow-y-auto p-5`},Le={class:`flex flex-col items-center justify-center px-5 pb-5`};function Re(e,t,s,c,m,h){let g=d(`prompt-input`),_=d(`model-selector`),v=d(`ingredients-selector`),y=d(`effect-selector`),b=d(`image-url-input`),x=d(`ingredients-model-selector`),S=d(`consumption`),C=d(`font-awesome-icon`),w=d(`el-button`);return u(),f(`div`,Fe,[r(`div`,Ie,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),e.config?.ingredients?(u(),n(b,{key:0,class:`mb-4`})):o(``,!0),e.config?.ingredients?(u(),n(x,{key:1,class:`mb-4`})):o(``,!0)]),r(`div`,Le,[a(S,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`pika.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ze=A(Pe,[[`render`,Re]]),Be=s({name:`VideoPlayer`,components:{VuePlyr:Y},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),Ve=[`data-poster`],He=[`src`];function Ue(e,t,n,i,o,s){let c=d(`vue-plyr`);return u(),f(`div`,null,[a(c,{options:e.options,class:`video`},{default:p(()=>[r(`video`,{controls:``,playsinline:``,preload:`metadata`,"data-poster":e.modelValue?.image_url},[r(`source`,{size:`1080`,src:e.modelValue?.video_url,type:`video/mp4`},null,8,He)],8,Ve)]),_:1},8,[`options`])])}var We=s({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:x,VideoPlayer:A(Be,[[`render`,Ue],[`__scopeId`,`data-v-897d9fe0`]]),ElTooltip:y,ElButton:h,ApiCodeButton:J},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e){console.log(`on download`),window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),Ge={class:`left`},Ke={class:`main`},qe={class:`bot`},Je={class:`datetime`},Ye={class:`info`},Xe={key:0,class:`prompt mt-2`},Ze={key:0},Qe={key:1},$e={key:0,class:t({content:!0,failed:!0})},et={class:`image-wrapper`},tt={key:0,class:t({operations:!0,"mt-2":!0})},nt={key:0,class:`description`},rt={class:`description`},it={key:1,class:`description`},at={key:1,class:t({content:!0})},ot={class:`description`},st={class:`description`},ct={key:0,class:`description`},lt={class:`description`},ut={key:2,class:t({content:!0})},dt={class:`description`};function ft(e,t,s,h,g,_){let v=d(`el-image`),y=d(`VideoPlayer`),b=d(`el-button`),x=d(`el-tooltip`),S=d(`api-code-button`),C=d(`font-awesome-icon`),w=d(`copy-to-clipboard`),T=d(`el-alert`);return u(!0),f(m,null,c(e.videos,(t,s)=>(u(),f(`div`,{key:s,class:`preview`},[r(`div`,Ge,[a(v,{src:`https://cdn.acedata.cloud/i80tgn.png`,class:`avatar`})]),r(`div`,Ke,[r(`div`,qe,[i(l(e.$t(`pika.name.pikaBot`))+` `,1),r(`span`,Je,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Ye,[e.modelValue?.request?.prompt?(u(),f(`p`,Xe,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ze,` - (`+l(e.$t(`pika.status.pending`))+`) `,1)),t?.state===`processing`||t?.state===`pending`?(u(),f(`span`,Qe,` - (`+l(e.$t(`pika.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,$e,[r(`div`,et,[a(y,{"model-value":t},null,8,[`model-value`])]),t?(u(),f(`div`,tt,[a(x,{class:`box-item`,effect:`dark`,content:e.$t(`pika.message.downloadVideo`),placement:`top-start`},{default:p(()=>[t?.video_url?(u(),n(b,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:n=>e.onDownload(t?.video_url)},{default:p(()=>[i(l(e.$t(`pika.button.download`)),1)]),_:1},8,[`onClick`])):o(``,!0)]),_:2},1032,[`content`]),a(S,{path:`/pika/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(T,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,nt,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),r(`p`,rt,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,it,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,at,[a(T,{closable:!1,class:`failure`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failure`)),1)]),default:p(()=>[r(`p`,ot,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,st,[a(C,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(w,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,ct,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,lt,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(w,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),!e.modelValue?.response||t?.state===`processing`||t?.state===`pending`?(u(),f(`div`,ut,[a(T,{closable:!1,class:`info`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failure`)),1)]),default:p(()=>[r(`p`,dt,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])]))),128)}var $=s({name:`RecentPanel`,components:{TaskPreview:A(We,[[`render`,ft],[`__scopeId`,`data-v-52856c99`]]),BotPlaceholder:V,NoTasks:K,ScrollList:U},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),pt={key:0},mt={key:2,class:`w-full h-full flex items-center justify-center`};function ht(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,pt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,(e,t)=>(u(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,mt,[a(v)])):o(``,!0)],64)}var gt=A($,[[`render`,ht]]),_t=ee(`pika`),vt=s({name:`PikaIndex`,components:{ConfigPanel:ze,Layout:ie,RecentPanel:gt},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===N.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===N.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===N.Request},needApply(){return this.$store.state.pika.status.getApplications===N.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await W({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(`pika/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pika/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){D.create({application:this.application}).then(({data:e})=>{this.application=e,L.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&L.error(this.$t(`application.message.alreadyApplied`))})},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(`pika/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!j(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e={...this.config,callback_url:_t},t=this.credential?.token;if(!t){console.error(`no token specified`);return}L.info(this.$t(`pika.message.startingTask`)),te(`pika`,F.generate(e,{token:t})).then(()=>{L.success(this.$t(`pika.message.startTaskSuccess`)),this.$store.commit(`pika/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?L.error(this.$t(`pika.message.usedUp`)):L.error(this.$t(`pika.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function yt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var bt=A(vt,[[`render`,yt],[`__scopeId`,`data-v-eae39ce1`]]);export{bt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-DgZFgZDr.js";import{r as g,t as _}from"./select-Dy4nmBcy.js";import{t as v}from"./upload-B8zBOx3w.js";import{t as y}from"./tooltip-C-9nDsaA.js";import{t as b}from"./image-Bau0kGS7.js";import{t as x}from"./alert-Bgv5POrX.js";import{n as S,r as C}from"./radio-DNLlMkjf.js";import{t as w}from"./drawer-BhAAsvLB.js";import{t as T}from"./switch-D-UGKh2b.js";import{Hr as E,Xn as D}from"./constants-D3W0tInG.js";import{Dn as O,Dt as k,E as A,Et as ee,Mn as te,Ot as j,Tr as M,dn as N,hr as P,jt as F,kt as I,vr as L}from"./index-CEh-AtFD.js";import{t as R}from"./index.es-CGcvPLbY.js";import{t as z}from"./CopyToClipboard-DY4cWsYU.js";import{t as B}from"./ImagePreview-C1Hid5KU.js";import{t as V}from"./BotPlaceholder-2Tv7c707.js";import{i as H,n as U,t as W}from"./pagination-D0v316W1.js";import{n as G,t as K}from"./NoTasks-BJ195-7X.js";import{t as q}from"./Consumption-DSbM28rV.js";import{t as J}from"./ApiCodeButton-CrB8OI_k.js";import{t as Y}from"./vue-plyr-wiIKa-zl.js";var X=s({name:`LayoutPika`,components:{ElDrawer:w,ElButton:h,FontAwesomeIcon:R},data(){return{drawer:!1}}}),Z={class:`main flex flex-row flex-1`},Q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ne={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function re(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Z,[r(`div`,Q,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,ne,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ie=A(X,[[`render`,re],[`__scopeId`,`data-v-10596416`]]),ae=s({name:`IngredientsSelector`,components:{ElSwitch:T,InfoIcon:H},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug(`set ingredients`,e),e||this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,model:`2.0`})}}},mounted(){this.value===void 0&&(this.value=!1)}}),oe={class:`field`},se={class:`title font-bold`};function ce(e,t,n,i,o,s){let c=d(`el-switch`),p=d(`info-icon`);return u(),f(`div`,oe,[r(`h2`,se,l(e.$t(`pika.name.ingredients`)),1),a(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`]),a(p,{content:e.$t(`pika.description.ingredients`),class:`info`},null,8,[`content`])])}var le=A(ae,[[`render`,ce],[`__scopeId`,`data-v-17c0af5c`]]),ue=s({name:`EffectSelector`,components:{ElSelect:g,ElOption:_},data(){return{}},computed:{options(){return[{value:`Levitate`,label:this.$t(`pika.style.effect1`)},{value:`Decapitate`,label:this.$t(`pika.style.effect2`)},{value:`Eye-pop`,label:this.$t(`pika.style.effect3`)},{value:`Ta-da`,label:this.$t(`pika.style.effect4`)},{value:`Deflate`,label:this.$t(`pika.style.effect5`)},{value:`Crumble`,label:this.$t(`pika.style.effect6`)},{value:`Dissolve`,label:this.$t(`pika.style.effect7`)},{value:`Squish`,label:this.$t(`pika.style.effect8`)},{value:`Inflate`,label:this.$t(`pika.style.effect9`)},{value:`Melt`,label:this.$t(`pika.style.effect10`)},{value:`Cake-ify`,label:this.$t(`pika.style.effect11`)},{value:`Crush`,label:this.$t(`pika.style.effect12`)},{value:`Explode`,label:this.$t(`pika.style.effect13`)}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,effect:e})}}}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,de,[r(`h2`,fe,l(e.$t(`pika.name.effect`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pika.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,pe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=A(ue,[[`render`,me],[`__scopeId`,`data-v-d1c54475`]]),ge=s({name:`IngredientsModelSelector`,components:{ElRadioButton:S,ElRadioGroup:C},data(){return{options:[{label:this.$t(`pika.button.precise`),value:`precise`},{label:this.$t(`pika.button.creative`),value:`creative`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||=D}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,o,s,h,g){let _=d(`el-radio-button`),v=d(`el-radio-group`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`pika.name.ingredientsModel`)),1),a(v,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`quality`},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.value},{default:p(()=>[i(l(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var be=A(ge,[[`render`,ye],[`__scopeId`,`data-v-b72865fa`]]),xe=s({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`2.0`,label:`2.0`},{value:`1.5`,label:`1.5`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||=`2.0`}}),Se={class:`field`},Ce={class:`title font-bold`};function we(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,Se,[r(`h2`,Ce,l(e.$t(`pika.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`pika.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=A(xe,[[`render`,we],[`__scopeId`,`data-v-7b2e870a`]]),Ee=s({name:`ImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:H,ImagePreview:B,FontAwesomeIcon:R},mixins:[I,k],data(){return{fileList:[],uploadUrl:L()+`/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.pika?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){M.warning(this.$t(`pika.message.uploadStartImageExceed`))},onError(){M.error(this.$t(`pika.message.uploadStartImageError`))},async onRemove(){M.error(this.$t(`pika.message.uploadStartImageError`))},onSetStartImageUrl(){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),De={class:`field`},Oe={class:`title font-bold`},ke={class:`upload-wrapper`};function Ae(e,t,n,o,s,c){let m=d(`image-preview`),h=d(`font-awesome-icon`),g=d(`el-button`),_=d(`el-upload`),v=d(`info-icon`);return u(),f(`div`,De,[r(`h2`,Oe,l(e.$t(`pika.name.imageUrl`)),1),r(`div`,ke,[a(_,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:3,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[a(m,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(g,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(e.$t(`pika.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])]),a(v,{content:e.$t(`pika.description.imageUrl`),class:`info`},null,8,[`content`])])}var je=A(Ee,[[`render`,Ae],[`__scopeId`,`data-v-25cefe78`]]),Me=s({name:`PromptInput`,components:{PromptTextarea:G},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pika.name.prompt`),info:e.$t(`pika.description.prompt`),placeholder:e.$t(`pika.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=s({name:`PresetPanel`,components:{ImageUrlInput:je,ElButton:h,FontAwesomeIcon:R,Consumption:q,PromptInput:A(Me,[[`render`,Ne]]),IngredientsSelector:le,IngredientsModelSelector:be,ModelSelector:Te,EffectSelector:he},emits:[`generate`],computed:{config(){return this.$store.state.pika?.config},consumption(){return F(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Fe={class:`flex flex-col h-full`},Ie={class:`flex-1 overflow-y-auto p-5`},Le={class:`flex flex-col items-center justify-center px-5 pb-5`};function Re(e,t,s,c,m,h){let g=d(`prompt-input`),_=d(`model-selector`),v=d(`ingredients-selector`),y=d(`effect-selector`),b=d(`image-url-input`),x=d(`ingredients-model-selector`),S=d(`consumption`),C=d(`font-awesome-icon`),w=d(`el-button`);return u(),f(`div`,Fe,[r(`div`,Ie,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),e.config?.ingredients?(u(),n(b,{key:0,class:`mb-4`})):o(``,!0),e.config?.ingredients?(u(),n(x,{key:1,class:`mb-4`})):o(``,!0)]),r(`div`,Le,[a(S,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`pika.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ze=A(Pe,[[`render`,Re]]),Be=s({name:`VideoPlayer`,components:{VuePlyr:Y},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),Ve=[`data-poster`],He=[`src`];function Ue(e,t,n,i,o,s){let c=d(`vue-plyr`);return u(),f(`div`,null,[a(c,{options:e.options,class:`video`},{default:p(()=>[r(`video`,{controls:``,playsinline:``,preload:`metadata`,"data-poster":e.modelValue?.image_url},[r(`source`,{size:`1080`,src:e.modelValue?.video_url,type:`video/mp4`},null,8,He)],8,Ve)]),_:1},8,[`options`])])}var We=s({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:x,VideoPlayer:A(Be,[[`render`,Ue],[`__scopeId`,`data-v-897d9fe0`]]),ElTooltip:y,ElButton:h,ApiCodeButton:J},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e){console.log(`on download`),window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),Ge={class:`left`},Ke={class:`main`},qe={class:`bot`},Je={class:`datetime`},Ye={class:`info`},Xe={key:0,class:`prompt mt-2`},Ze={key:0},Qe={key:1},$e={key:0,class:t({content:!0,failed:!0})},et={class:`image-wrapper`},tt={key:0,class:t({operations:!0,"mt-2":!0})},nt={key:0,class:`description`},rt={class:`description`},it={key:1,class:`description`},at={key:1,class:t({content:!0})},ot={class:`description`},st={class:`description`},ct={key:0,class:`description`},lt={class:`description`},ut={key:2,class:t({content:!0})},dt={class:`description`};function ft(e,t,s,h,g,_){let v=d(`el-image`),y=d(`VideoPlayer`),b=d(`el-button`),x=d(`el-tooltip`),S=d(`api-code-button`),C=d(`font-awesome-icon`),w=d(`copy-to-clipboard`),T=d(`el-alert`);return u(!0),f(m,null,c(e.videos,(t,s)=>(u(),f(`div`,{key:s,class:`preview`},[r(`div`,Ge,[a(v,{src:`https://cdn.acedata.cloud/i80tgn.png`,class:`avatar`})]),r(`div`,Ke,[r(`div`,qe,[i(l(e.$t(`pika.name.pikaBot`))+` `,1),r(`span`,Je,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Ye,[e.modelValue?.request?.prompt?(u(),f(`p`,Xe,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ze,` - (`+l(e.$t(`pika.status.pending`))+`) `,1)),t?.state===`processing`||t?.state===`pending`?(u(),f(`span`,Qe,` - (`+l(e.$t(`pika.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,$e,[r(`div`,et,[a(y,{"model-value":t},null,8,[`model-value`])]),t?(u(),f(`div`,tt,[a(x,{class:`box-item`,effect:`dark`,content:e.$t(`pika.message.downloadVideo`),placement:`top-start`},{default:p(()=>[t?.video_url?(u(),n(b,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:n=>e.onDownload(t?.video_url)},{default:p(()=>[i(l(e.$t(`pika.button.download`)),1)]),_:1},8,[`onClick`])):o(``,!0)]),_:2},1032,[`content`]),a(S,{path:`/pika/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(T,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,nt,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.model`))+`: `+l(e.modelValue?.request?.model),1)])):o(``,!0),r(`p`,rt,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,it,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,at,[a(T,{closable:!1,class:`failure`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failure`)),1)]),default:p(()=>[r(`p`,ot,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,st,[a(C,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(w,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,ct,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,lt,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(w,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),!e.modelValue?.response||t?.state===`processing`||t?.state===`pending`?(u(),f(`div`,ut,[a(T,{closable:!1,class:`info`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.failure`)),1)]),default:p(()=>[r(`p`,dt,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`pika.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(w,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])]))),128)}var $=s({name:`RecentPanel`,components:{TaskPreview:A(We,[[`render`,ft],[`__scopeId`,`data-v-52856c99`]]),BotPlaceholder:V,NoTasks:K,ScrollList:U},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),pt={key:0},mt={key:2,class:`w-full h-full flex items-center justify-center`};function ht(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,pt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,(e,t)=>(u(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,mt,[a(v)])):o(``,!0)],64)}var gt=A($,[[`render`,ht]]),_t=E(`pika`),vt=s({name:`PikaIndex`,components:{ConfigPanel:ze,Layout:ie,RecentPanel:gt},mixins:[j],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===P.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===P.Request},needApply(){return this.$store.state.pika.status.getApplications===P.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await W({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(`pika/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pika/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){O.create({application:this.application}).then(({data:e})=>{this.application=e,M.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&M.error(this.$t(`application.message.alreadyApplied`))})},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(`pika/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>M.warning(e)))return;let e={...this.config,callback_url:_t},t=this.credential?.token;if(!t){console.error(`no token specified`);return}M.info(this.$t(`pika.message.startingTask`)),te(`pika`,N.generate(e,{token:t})).then(()=>{M.success(this.$t(`pika.message.startTaskSuccess`)),this.$store.commit(`pika/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?M.error(this.$t(`pika.message.usedUp`)):M.error(this.$t(`pika.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function yt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var bt=A(vt,[[`render`,yt],[`__scopeId`,`data-v-eae39ce1`]]);export{bt as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-DgZFgZDr.js";import{n as m,t as h}from"./row-BgYJmo3R.js";import{i as g,n as _,r as v,t as y}from"./container-Da1G38HZ.js";import{n as b,t as x}from"./dropdown-B9IRdQqv.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-DQvMUF4E.js";import{Cr as D,D as O,E as k,G as A,O as j,R as M,Rt as N,_r as P,b as F,tt as I}from"./index-CEh-AtFD.js";import{t as L}from"./index.es-CGcvPLbY.js";var R=a({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:p,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated}},methods:{openTab(e){if(D()){O.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:I})},onLogin(){this.$router.push({name:j})},onDownload(){this.$router.push({name:A})},onProfile(){let e=P();this.openTab(N(`${e}/user/profile`))},onVerify(){let e=P();this.openTab(N(`${e}/user/verify`))},onConsole(){this.$router.push({name:M})},async onLogout(){this.$store.dispatch(`logout`)}}}),z={key:0,class:`mt-4 pr-10`},B={key:1,class:`float-right`},V=[`src`];function H(a,p,m,h,g,_){let v=c(`logo`),y=c(`el-col`),b=c(`el-menu-item`),x=c(`el-sub-menu`),S=c(`el-menu`),C=c(`el-button`),w=c(`language-selector`),T=c(`dark-selector`),E=c(`el-dropdown-item`),D=c(`el-dropdown-menu`),O=c(`el-dropdown`),k=c(`el-row`),A=d(`t`);return s(),e(k,{class:`header`},{default:u(()=>[r(y,{md:4,xs:24,class:`brand-col`},{default:u(()=>[r(v,{onClick:a.onHome},null,8,[`onClick`])]),_:1}),r(y,{md:16,xs:13},{default:u(()=>[r(S,{"default-active":a.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:a.onSelect},{default:u(()=>[r(x,{index:a.products},{title:u(()=>[n(o(a.$t(`common.nav.products`)),1)]),default:u(()=>[a.site?.features?.chatgpt?.enabled?f((s(),e(b,{key:0,index:`/chat`},null,512)),[[A,`index.title.chat`]]):i(``,!0),a.site?.features?.midjourney?.enabled?f((s(),e(b,{key:1,index:`/midjourney`},null,512)),[[A,`index.title.midjourney`]]):i(``,!0),a.site?.features?.qrart?.enabled?f((s(),e(b,{key:2,index:`/qrart`},null,512)),[[A,`index.title.qrart`]]):i(``,!0),a.site?.features?.suno?.enabled?f((s(),e(b,{key:3,index:`/suno`},null,512)),[[A,`index.title.suno`]]):i(``,!0),a.site?.features?.luma?.enabled?f((s(),e(b,{key:4,index:`/luma`},null,512)),[[A,`index.title.luma`]]):i(``,!0),a.site?.features?.headshots?.enabled?f((s(),e(b,{key:5,index:`/headshots`},null,512)),[[A,`index.title.headshots`]]):i(``,!0)]),_:1},8,[`index`]),f(r(b,{onRoute:e=>void 0,onClick:a.onDownload},null,8,[`onClick`]),[[A,`common.nav.mobileApp`]]),f(r(b,{onRoute:e=>void 0,onClick:p[0]||=e=>a.openTab(`https://platform.acedata.cloud`)},null,512),[[A,`common.nav.apiPlatform`]]),f(r(b,{onRoute:e=>void 0,onClick:p[1]||=e=>a.openTab(`https://platform.acedata.cloud/support`)},null,512),[[A,`common.nav.support`]]),f(r(b,{onRoute:e=>void 0,onClick:p[2]||=e=>a.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[A,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1}),r(y,{md:4,xs:11},{default:u(()=>[a.authenticated?(s(),l(`div`,B,[t(`div`,{class:`console`,onClick:p[3]||=(...e)=>a.onConsole&&a.onConsole(...e)},o(a.$t(`common.button.console`)),1),r(O,{trigger:`click`},{dropdown:u(()=>[r(D,null,{default:u(()=>[r(E,{onClick:a.onProfile},{default:u(()=>[n(o(a.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),r(E,{onClick:a.onLogout},{default:u(()=>[n(o(a.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[t(`img`,{src:a.user?.avatar||a.defaultAvatar,class:`avatar`},null,8,V)]),_:1})])):(s(),l(`div`,z,[r(C,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:a.onLogin},{default:u(()=>[n(o(a.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),r(w,{class:`locale float-right mr-4`}),r(T,{class:`float-right mr-4`})]))]),_:1})]),_:1})}var U=k(R,[[`render`,H]]),W=a({name:`BottomFooter`,components:{ElContainer:y,ElRow:h,ElCol:m,FontAwesomeIcon:L},data(){return{faGithub:F}},computed:{},methods:{}}),G={href:`/download`},K={href:`https://platform.acedata.cloud`},q=[`title`];function J(i,a,l,d,f,p){let m=c(`font-awesome-icon`),h=c(`el-col`),g=c(`el-row`),_=c(`el-container`);return s(),e(_,{id:`footer`,class:`footer`},{default:u(()=>[r(g,{class:`w-full`},{default:u(()=>[r(h,{class:`container`,span:18,offset:3},{default:u(()=>[r(g,null,{default:u(()=>[r(h,{span:24,class:`text-center`},{default:u(()=>[t(`p`,null,[t(`a`,G,o(i.$t(`common.nav.mobileApp`)),1),a[0]||=n(` · `,-1),t(`a`,K,o(i.$t(`common.entity.website`)),1),n(` © `+o(new Date().getFullYear())+` `+o(i.$t(`common.entity.copyright`))+` · `,1),t(`a`,{href:`https://github.com/AceDataCloud/Nexior`,target:`_blank`,rel:`noopener noreferrer`,class:`github-link`,title:i.$t(`common.nav.github`)},[r(m,{icon:i.faGithub},null,8,[`icon`])],8,q)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var Y=a({name:`LayoutIndex`,components:{TopHeader:U,BottomFooter:k(W,[[`render`,J],[`__scopeId`,`data-v-f6b91b08`]]),ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function X(t,n,i,a,o,l){let d=c(`top-header`),f=c(`el-header`),p=c(`router-view`),m=c(`el-main`),h=c(`bottom-footer`),g=c(`el-footer`),_=c(`el-container`);return s(),e(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[r(f,{class:`header p-0 h-auto`},{default:u(()=>[r(d)]),_:1}),r(m,{class:`main`},{default:u(()=>[r(p)]),_:1}),r(g,{class:`footer p-0 h-auto`},{default:u(()=>[r(h)]),_:1})]),_:1})}var Z=k(Y,[[`render`,X]]);export{Z as default};