1import{c as e,r as t,q as a,E as n,m as l,y as o,x as s,X as i,I as r,s as c,v as u,J as d,F as v,L as p,u as m,C as g,aF as h,aG as f,B as y,z as _,aK as I,G as b,P as k,aS as w,j as S,Z as C,a6 as T,n as x,o as M,T as A,H as E,aT as P,S as R,a0 as L,a2 as U,k as D,ak as N,t as O,a1 as z,a4 as $,aP as q,ap as V}from"./DoZ0lImD.js";import{F as B,ah as F,ai as G,l as W,h as H,aj as j,Z as X,u as Y,ak as J,M as Z,S as K,al as Q,am as ee,an as te,ao as ae,ap as ne,aq as le,a as oe,_ as se,r as ie,$ as re,ar as ce,as as ue,B as de,at as ve,b as pe,au as me,av as ge,aw as he,ax as fe,ay as ye,az as _e,aA as Ie,aB as be,aC as ke,aD as we,aE as Se,aF as Ce,aG as Te,aH as xe,aI as Me,ac as Ae,aJ as Ee,R as Pe,aK as Re,aL as Le,aM as Ue,aN as De,aO as Ne,k as Oe,aP as ze,aQ as $e,D as qe,aR as Ve,aS as Be,aT as Fe,aU as Ge,x as We,z as He,aV as je,y as Xe,aW as Ye,C as Je,aX as Ze,aY as Ke,H as Qe}from"./VK570_B3.js";import{u as et}from"./KqT3thXY.js";import{p as tt,a as at}from"./DeKjWz_G.js";import"./BShv1chS.js";import{T as nt,G as lt,a as ot}from"./CleJGRT_.js";import{h as st,t as it,j as rt}from"./DLbuTGvm.js";import{e as ct,a as ut,d as dt,s as vt,g as pt,n as mt,r as gt,b as ht,c as ft,f as yt,h as _t,i as It,j as bt,U as kt,E as wt,k as St,t as Ct,l as Tt,m as xt,o as Mt,p as At,q as Et,u as Pt,v as Rt,w as Lt,x as Ut,y as Dt,z as Nt,A as Ot,B as zt,C as $t,D as qt,F as Vt,G as Bt,H as Ft,I as Gt,J as Wt}from"./Dy0GTzwG.js";import{a as Ht,j as jt,k as Xt}from"./mrYVeIpu.js";import{L as Yt,l as Jt,u as Zt,a as Kt}from"./CHJXd8KQ.js";import{u as Qt,c as ea,a as ta}from"./D_IT6gB1.js";import{G as aa,c as na,q as la,u as oa,a as sa,M as ia,A as ra}from"./DDGCwKdm.js";import{u as ca}from"./Sh_ogfC1.js";import{C as ua}from"./DTrNjQAH.js";import{I as da}from"./tDFOCrOg.js";import{C as va,S as pa,_ as ma,c as ga,T as ha}from"./BJ7H6lhg.js";import{V as fa}from"./BTxcNsyR.js";import{K as ya}from"./B1AOXrJI.js";import{i as _a}from"./DL97Z4qS.js";import{A as Ia}from"./D9TlExPR.js";import{g as ba,a as ka}from"./BeoUQLXG.js";import{b as wa}from"./lnj3Fvtw.js";import"./DtMHxQB1.js";import"./yIaqToq_.js";import"./yRFv22Xv.js";import"./D9LT2HO2.js";import"./B-CkMge8.js";import"./B1Ecs5P3.js";function Sa(e){return new Promise(t=>setTimeout(t,e))}const Ca="polling-task",Ta=F.localGet(Ca)||{},xa=t(Ta?.mainTaskMapTaskList||{}),Ma=e(()=>Object.values(xa.value).reduce((e,t)=>(t?.sub_tasks?.forEach(a=>{e[a]=t.main_task_id}),e),{}));function Aa(e={}){const{interval:t=3e3,onSuccess:a,onError:n,onTimeout:l,onComplete:o}=e,s=B();function i(e){let i=xa.value[e];function c(){let a=xa.value[e]||{};if(a?.sub_tasks?.length){const n=Date.now()-(a?.start_time||0);a.request_timeout&&n>a.request_timeout?(l?.(st({...a,loading:!1})),r(e)):setTimeout(()=>{a=xa.value[e],a?.sub_tasks?.length&&u(a.sub_tasks)},t)}else a.loading=!1,a.sub_tasks=[],a.start_time=0,a.request_timeout=0,o?.(st({...a}))}function u(t){i=xa.value[e],G({main_task_id:e,sub_task_ids:Array.from(t).join(",")}).then(t=>{const{request_timeout:l,img_tasks:o}=t.data||{};if(i.request_timeout||(i.start_time=Date.now(),i.request_timeout=1e3*l),0===t.errno&&o&&o.length){const t=s.params.source||"",l=[];if(o.forEach(e=>{e.status!==nt.Generating&&(l.push(e),e.status===nt.Completed?(a?.(e,i),W(H.galleryGenerateImgTaskSuc,{imageId:e.image_id,canvasType:t})):e.status===nt.Failed&&n?.(e,i))}),l.length){const t=l.map(e=>e.id);i=xa.value[e];const a=Array.from(i.sub_tasks).filter(e=>!t.includes(e));
1i.sub_tasks=[...new Set(a)]}}}).finally(c)}i&&!i.loading&&i.sub_tasks.length&&(i.loading=!0,u(i.sub_tasks))}function r(e){xa.value[e]={main_task_id:e,sub_tasks:[],loading:!1}}return{mainTaskMapTaskList:xa,subTaskIdMapMainTaskId:Ma,addTask:function(e){xa.value[e.main_task_id]?xa.value[e.main_task_id].sub_tasks.push(e.sub_task_id):(xa.value[e.main_task_id]={main_task_id:e.main_task_id,sub_tasks:[...new Set([e.sub_task_id])],loading:!1},i(e.main_task_id))},addSubTasks:function(e,t){const a=xa.value[e];a?a.sub_tasks=[...new Set([...a?.sub_tasks||[],...t])]:(xa.value[e]={main_task_id:e,sub_tasks:[...new Set(t)],loading:!1},i(e))},clearTasks:r,startAllTasks:function(){Object.values(xa.value).map(e=>e.loading=!1),Object.values(xa.value).forEach(e=>{i(e.main_task_id)})},resetTasks:function(){xa.value={}}}}j({key:Ca,val:[{key:"mainTaskMapTaskList",data:xa}]});const Ea="CANVAS:ADD_LOADING_IMAGES",Pa="CANVAS:REPLACE_LOADING_IMAGE",Ra="CANVAS:REMOVE_LOADING_IMAGE";async function La(e){const t=function(e){const t=e.originalSize,a=e.realSize;return t.width!==a.width||t.height!==a.height}(e);if(t){const t=await async function(e){if(!e?.image)return null;const t=e.image,a=document.createElement("canvas");a.width=e.realSize?.width||e.width,a.height=e.realSize?.height||e.height;const n=a.getContext("2d");if(!n)return null;try{return n.drawImage(t,0,0,t.naturalWidth||t.width,t.naturalHeight||t.height,0,0,a.width,a.height),new Promise(e=>{a.toBlob(t=>{e(t)},"image/png")})}catch(l){return null}}(e);if(!t)throw new Error("Get image blob failed");const a=await X({file:t,source:"h5CreatorUploadImage"});if(0===a.errno&&a.data)return{url:a.data.url,width:a.data.width,height:a.data.height};throw new Error(a.errmsg)}return{url:e.imageUrl,width:e.realSize.width,height:e.realSize.height}}async function Ua(e,t){if(!e?.interactionLayerRef?.value)return null;if(!e?.interaction)return null;try{const a=document.createElement("canvas");a.width=t.realSize?.width||t.width,a.height=t.realSize?.height||t.height;const n=a.getContext("2d");if(!n)return null;n.fillStyle="transparent",n.fillRect(0,0,a.width,a.height);const l=e.interaction;if(!l?.mergedPolygon?.value)return n.fillStyle="white",n.beginPath(),n.arc(a.width/2,a.height/2,Math.min(a.width,a.height)/4,0,2*Math.PI),n.fill(),new Promise(e=>{a.toBlob(t=>{e(t)},"image/png")});n.fillStyle="white";const o=l.mergedPolygon.value;return o&&Array.isArray(o)&&function(e,t,a,n){for(const l of t)if(Array.isArray(l))for(let t=0;t<l.length;t++){const o=l[t];if(Array.isArray(o)&&!(o.length<2)){e.beginPath();for(let t=0;t<o.length;t++){const l=o[t];if(!Array.isArray(l)||l.length<2)continue;let s=l[0],i=l[1];a&&(s=(s-a.x)/a.width*n.width,i=(i-a.y)/a.height*n.height),0===t?e.moveTo(s,i):e.lineTo(s,i)}e.closePath(),e.fill()}}}(n,o,t,a),new Promise(e=>{a.toBlob(t=>{e(t)},"image/png")})}catch(a){return null}}function Da(e,t,a,n,l="second_edit"){Q.emit(Ea,[{id:e,taskId:t,placeholder:"placeholder",width:a,height:n,source:l}])}function Na(e,t,a){Q.emit(Pa,{id:e,taskId:t,url:a})}function Oa(e){Q.emit(Ra,{taskId:e})}async function za(e){const t=Y(),{selectedImage:a,canvasHooks:n,apiFunction:l,params:o,requiresMask:s=!1,onProcessingChange:i,editType:r}=e;try{i?.(!0);const{url:e}=await La(a),c=s?await async function(e,t){const a=await Ua(e,t);if(!a)return"";const n=await X({file:a,source:"h5CreatorUploadImage"});return 0===n.errno&&n.data?.url?n.data.url:""}(n,a):"",u=0===a.imageId||"0"===a.imageId||a.imageId.toString().includes("common_")||"upload"===a.source?0:a.imageId,d={...o,image_input:e,image_id:u,canvas_type:"ocagent"};if(s&&c&&(d.mask_input=c),r&&"aiFast"===r){const e=`common_${J()}`,n=a.realSize.width;Da(e,e,n,a.realSize.height,"second_edit"),W(H.genImgSecondEdit,{canvasType:d.canvas_type,editType:r});const o=await l(d);if(0===o.errno&&o.data){return Na(o.data.image_id.toString(),e,o.data.img_url),i?.(!1),t.setUserAssets({balance:o.data.balance}),{success:!0,data:o.data}}throw Z({message:4444===o.errno?K.global.t("gallery.underReviewToast"):K.global.t("imageCanvas.toast.errorGen"),type:"danger"}),Oa(e),i?.(!1),new Error(o.errmsg||"Failed")}const v=await l(d);if(0===v.errno&&v.data){const{main_task_id:e,sub_task_id:l,balance:s,image_id:c}=v.data,u=c.toString(),p=l.toString();t.setUserAssets({balance:s});let m=a.realSize.width,g=a.realSize.height;if((void 0!==o.top_expand||void 0!==o.bottom_expand||void 0!==o.left_expand||void 0!==o.right_expand)&&n?.getScaleupExpandDistances){const e=n.getScaleupExpandDistances();
1e&&(m=a.realSize.width+e.left+e.right,g=a.realSize.height+e.top+e.bottom)}if(Da(u,p,m,g,"second_edit"),W(H.genImgSecondEdit,{canvasType:d.canvas_type,editType:r}),e&&l){const t=function(e,t,a){return{onSuccess:n=>{[11,12].includes(n.nsfw_level)?(Z({message:K.global.t("gallery.underReviewToast"),type:"danger"}),Oa(t)):n.user_bd_pic&&Na(e,t,n.user_bd_pic),a?.()},onError:()=>{Oa(t),a?.(),Z({message:K.global.t("imageCanvas.toast.errorGen"),type:"danger"})},onTimeout:()=>{Oa(t),a?.(),Z({message:K.global.t("imageCanvas.toast.errorGen"),type:"danger"})}}}(u,p,()=>i?.(!1));return Aa(t).addTask({main_task_id:e,sub_task_id:l}),{success:!0,data:v.data}}return i?.(!1),{success:!0,data:v.data}}throw new Error(v.errmsg||"failed")}catch(c){return i?.(!1),{success:!1,error:c instanceof Error?c.message:"Unknown error"}}}function $a(e){return ut[e]||null}function qa(e){return"custom"===e}function Va(){const a=t(!1),n=t("2:3"),l=t(null),o=t(null);let s=null;const i=t(!1),r=()=>o.value?.realSize?{width:o.value.realSize.width,height:o.value.realSize.height}:{width:1024,height:1024},c=()=>{if(!o.value?.realSize)return;if(a.value&&"custom"===n.value)return;const e=o.value.realSize,t=$a("2:3");t&&(e.width>t.width||e.height>t.height?(n.value="custom",l.value={...e}):(n.value="2:3",l.value=null))},u=e(()=>{const e=n.value;if(qa(e)){return l.value||r()}return $a(e)}),d=e(()=>ct.find(e=>e.value===n.value)||ct[1]),v=e(()=>o.value?.realSize||null),p=()=>{a.value=!0,s?.enableScaleupMode&&s.enableScaleupMode(),(()=>{if(!o.value||!s)return;const e=u.value;e&&s.initScaleupRectWithSize&&s.initScaleupRectWithSize(e.width,e.height)})()},m=()=>{a.value=!1,s?.disableScaleupMode&&s.disableScaleupMode()};return{isVisible:e(()=>a.value),isProcessing:e(()=>i.value),show:p,hide:m,toggle:()=>{a.value?m():p()},setCanvasHooks:e=>{s=e},updateSelectedImageState:e=>{o.value=e,c()},execute:async(e={})=>{if(!o.value)return{success:!1,error:"Please select an image first"};if(i.value)return{success:!1,error:"Operation is in progress, please do not repeat the operation"};if(!s?.getScaleupExpandDistances)return{success:!1,error:"Canvas hooks not properly initialized"};const t=s.getScaleupExpandDistances();if(!t)return{success:!1,error:"Cannot get expand distances"};const a={...e,top_expand:t.top,bottom_expand:t.bottom,left_expand:t.left,right_expand:t.right};return za({selectedImage:o.value,canvasHooks:s,apiFunction:ee,params:a,requiresMask:!1,onProcessingChange:e=>{i.value=e},editType:"scaleup"})},reset:()=>{a.value=!1,n.value="2:3",l.value=null,o.value=null,i.value=!1},currentRatio:e(()=>n.value),getCurrentPixelSize:u,getCurrentRatioOption:d,getCurrentRealPixelSize:v,ratioOptions:ct,setRatio:e=>{n.value=e,qa(e)?l.value||(l.value=r()):l.value=null,(()=>{if(!s)return;const e=u.value;e&&s.updateScaleupRectSize&&s.updateScaleupRectSize(e.width,e.height)})()},handleCustomSizeUpdate:(e,t)=>{const a=Math.round(e),o=Math.round(t);n.value="custom",l.value={width:a,height:o},s&&l.value&&s.updateScaleupRectSize&&s.updateScaleupRectSize(l.value.width,l.value.height)},checkAndAutoSwitchToCustomSize:c,_internal:{customPixelSize:e(()=>l.value),selectedImageState:e(()=>o.value)}}}let Ba=null;function Fa(){return Ba||(Ba=Va()),Ba}function Ga(){const a=t(!1),n=t(null);let l=null;const o=t(!1),s=()=>{a.value=!0,l?.enablePartEditMode&&l.enablePartEditMode()},i=()=>{a.value=!1,l?.disablePartEditMode&&l.disablePartEditMode()};return{isVisible:e(()=>a.value),isProcessing:e(()=>o.value),show:s,hide:i,toggle:()=>{a.value?i():s()},setCanvasHooks:e=>{l=e},updateSelectedImageState:e=>{n.value=e},reset:()=>{a.value=!1,n.value=null,o.value=!1},execute:async(e={})=>n.value?o.value?{success:!1,error:"Operation is in progress, please do not repeat the operation"}:za({selectedImage:n.value,canvasHooks:l,apiFunction:te,params:e,requiresMask:!0,onProcessingChange:e=>{o.value=e},editType:"partedit"}):{success:!1,error:"Please select an image first"}}}let Wa=null;function Ha(){return Wa||(Wa=Ga()),Wa}function ja(){const a=t(!1),n=t(null);let l=null;const o=t(!1),s=()=>{a.value=!0,l?.enableAiRemoveMode&&l.enableAiRemoveMode()},i=()=>{a.value=!1,l?.disableAiRemoveMode&&l.disableAiRemoveMode()};return{isVisible:e(()=>a.value),isProcessing:e(()=>o.value),show:s,hide:i,toggle:()=>{a.value?i():s()},setCanvasHooks:e=>{l=e},updateSelectedImageState:e=>{n.value=e},reset:()=>{a.value=!1,n.value=null,o.value=!1},execute:async(e={})=>n.value?o.value?{success:!1,error:"Operation is in progress, please do not repeat the operation"}:za({selectedImage:n.value,canvasHooks:l,apiFunction:ae,params:e,requiresMask:!0,onProcessingChange:e=>{o.value=e},editType:"airemove"}):{success:!1,error:"Please select an image first"}}}let Xa=null;let Ya=null;function Ja(){return Ya||(Ya=function(){const a=t(!1),n=t(null);let l=null;const o=t(!1),s=()=>{a.value=!0},i=()=>{a.value=!1};return{isVisible:e(()=>a.value),isProcessing:e(()=>o.value),show:s,hide:i,toggle:()=>{a.value?i():s()},setCanvasHooks:e=>{l=e},updateSelectedImageState:e=>{n.value=e},reset:()=>{a.value=!1,n.value=null,o.value=!1},execute:async(e={})=>n.value?o.value?{success:!1,error:"Operation is in progress, please do not repeat the operation"}:za({selectedImage:n.value,canvasHooks:l,apiFunction:ne,params:e,requiresMask:!1,onProcessingChange:e=>{o.value=e},editType:"removebg"}):{success:!1,error:"Please select an image first"}}}()),Ya}let Za=null;function Ka(){return Za||(Za=function(){const a=t(!1),n=t(null);let l=null;const o=t(!1),s=()=>{a.value=!0},i=()=>{a.value=!1};return{isVisible:e(()=>a.value),isProcessing:e(()=>o.value),show:s,hide:i,toggle:()=>{a.value?i():s()},setCanvasHooks:e=>{l=e},updateSelectedImageState:e=>{n.value=e},reset:()=>{a.value=!1,n.value=null,o.value=!1},execute:async(e={})=>n.value?o.value?{success:!1,error:"Operation is in progress, please do not repeat the operation"}:za({selectedImage:n.value,canvasHooks:l,apiFunction:le,params:e,requiresMask:!1,onProcessingChange:e=>{o.value=e}
1,editType:"aiFast"}):{success:!1,error:"Please select an image first"}}}()),Za}function Qa(){const t=Fa(),a=Ha(),n=(Xa||(Xa=ja()),Xa),l=Ja(),o=Ka();return{scaleup:t,partEdit:a,aiRemove:n,removeBg:l,aiFast:o,setCanvasHooks:e=>{t.setCanvasHooks(e),a.setCanvasHooks(e),n.setCanvasHooks(e),l.setCanvasHooks(e),o.setCanvasHooks(e)},showScaleupPanel:()=>{a.hide(),n.hide(),l.hide(),o.hide(),t.show()},showPartEditPanel:()=>{t.hide(),n.hide(),l.hide(),o.hide(),a.show()},showAiRemovePanel:()=>{t.hide(),a.hide(),l.hide(),o.hide(),n.show()},showRemoveBgPanel:()=>{t.hide(),a.hide(),n.hide(),o.hide(),l.show()},showAiFastPanel:()=>{t.hide(),a.hide(),n.hide(),l.hide(),o.show()},updateSelectedImageState:e=>{t.updateSelectedImageState(e),a.updateSelectedImageState(e),n.updateSelectedImageState(e),l.updateSelectedImageState(e),o.updateSelectedImageState(e)},resetAll:()=>{t.reset(),a.reset(),n.reset(),l.reset(),o.reset()},hideAllPanels:()=>{t.hide(),a.hide(),n.hide(),l.hide(),o.hide()},isAnyVisible:e(()=>t.isVisible.value||a.isVisible.value||n.isVisible.value||l.isVisible.value||o.isVisible.value),isAnyProcessing:e(()=>t.isProcessing.value||a.isProcessing.value||n.isProcessing.value||l.isProcessing.value||o.isProcessing.value),getCurrentEditType:e(()=>t.isVisible.value?"scaleup":a.isVisible.value?"partedit":n.isVisible.value?"airemove":l.isVisible.value?"removebg":o.isVisible.value?"aifast":null)}}let en=null;function tn(){return en||(en=Qa()),en}const an={class:"gapline"};const nn=oe({},[["render",function(e,t){return a(),n("div",an)}],["__scopeId","data-v-b4ba84e0"]]),ln={class:"base-panel__title"},on={class:"left-title"},sn={class:"base-panel__content"},rn={class:"base-panel__control"},cn=oe(l({__name:"BasePanel",props:{title:{},icon:{},showFlushIcon:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["refresh"],setup(e,{emit:t}){const l=t;return(t,p)=>{const m=se,g=Ht;return a(),n("div",{class:o(["base-panel",{disabled:e.disabled}])},[s("section",ln,[s("div",on,[i(m,{name:e.icon},null,8,["name"]),s("span",null,r(e.title),1)]),e.showFlushIcon?(a(),c(g,{key:0,class:"box-item",effect:"dark",content:t.$t("reset"),placement:"top"},{default:u(()=>[i(m,{name:"rotate-cw",class:"right-flush",onClick:p[0]||(p[0]=e=>l("refresh"))})]),_:1},8,["content"])):d("",!0)]),i(nn,{class:"mg-20"}),s("section",sn,[v(t.$slots,"default",{},void 0,!0)]),s("div",rn,[v(t.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-12f3f561"]]),un={class:"text"},dn={class:"count"},vn=oe(l({__name:"FooterBtn",props:{text:{},cost:{},disable:{type:Boolean,default:!1}},setup:e=>(t,l)=>{const c=se;return a(),n("div",{class:o(["generator-control",{btn:!e.disable,disabled:e.disable}])},[s("span",un,r(e.text),1),i(c,{name:"flash-on-white",class:"icon"}),s("span",dn,r(e.cost),1)],2)}}),[["__scopeId","data-v-1e50f063"]]),pn={class:"label-item"},mn={class:"label-item__top"},gn={class:"left"},hn={class:"tip-content"},fn={class:"edit-icon"},yn={class:"label-item__content"},_n=oe(l({__name:"LabelItem",props:{title:{default:""},showEditIcon:{type:Boolean,default:!1},tip:{default:""}},emits:["edit"],setup(e,{emit:t}){const l=t;return(t,o)=>{const p=Ht,m=se;return a(),n("section",pn,[s("div",mn,[s("div",gn,[s("span",null,r(e.title),1),i(p,{"popper-class":"label-item__tooltip",effect:"dark",placement:"right"},{content:u(()=>[s("div",hn,r(t.$t(e.tip)),1)]),default:u(()=>[o[1]||(o[1]=s("div",{class:"tips-info"},null,-1))]),_:1})]),v(t.$slots,"right",{},()=>[s("span",fn,[e.showEditIcon?(a(),c(m,{key:0,name:"equals",class:"edit",onClick:o[0]||(o[0]=e=>l("edit"))})):d("",!0)])],!0)]),s("div",yn,[v(t.$slots,"default",{},void 0,!0)])])}}}),[["__scopeId","data-v-66a69eaf"]]),In={key:0,class:"img-wrap"},bn=oe(l({__name:"IncreaceImg",props:{imgUrl:{default:""},loading:{type:Boolean,default:!1},showEditIcon:{type:Boolean,default:!0},showDeleteIcon:{type:Boolean,default:!0},width:{}},emits:["increase","delete","edit"],setup(t,{emit:l}){const r=t,u=l,v=e(()=>{const e={};return r.width&&(e.width=r.width),e});return(e,l)=>{const r=se;return a(),n("div",{class:o(["increace-img",{"has-img":!!t.imgUrl}]),style:p(m(v))},[t.imgUrl?(a(),n("div",In,[s("div",{class:"picture",style:p({backgroundImage:`url(${t.imgUrl})`})},null,4),s("div",{class:"mask",onClick:l[1]||(l[1]=e=>u("edit"))},[t.showEditIcon?(a(),c(r,{key:0,name:"edit2",class:"btn"})):d("",!0),t.showDeleteIcon?(a(),c(r,{key:1,name:"robot-delete",class:"delete",onClick:l[0]||(l[0]=g(e=>u("delete"),["stop"]))})):d("",!0)])])):t.loading?(a(),c(Yt,{key:1})):(a(),n("div",{key:2,class:"increace-img__icon",onClick:l[2]||(l[2]=e=>u("increase"))},[i(r,{name:"increase",class:"btn"})]))],6)}}}),[["__scopeId","data-v-16eb1f06"]]),kn=oe(l({__name:"ProgressWrap",props:f({disable:{type:Boolean,default:!1},minThreshold:{default:0},isActive:{type:Boolean,default:!0}},{progress:{type:Number,required:!0},progressModifiers:{}}),emits:["update:progress"],setup(e){const l=e,i=t(),r=h(e,"progress");function c(e){if(l.disable)return;const t=e.target,a=i.value.offsetWidth-t.offsetWidth,n=e.pageX-t.offsetLeft;function o(e){let t=(e||window.event).pageX-n;t<0&&(t=0),t>a&&(t=a);const o=t/a*100;r.value=Math.round(Math.max(o,l.minThreshold)),e.stopPropagation()}document.addEventListener("mousemove",o),document.addEventListener("mouseup",function e(){document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",e)})}return(t,l)=>(a(),n("div",{class:o(["progress-wrap",{active:e.isActive&&!e.disable,disable:e.disable}])},[s("div",{ref_key:"progressRef",ref:i,class:"progress-line",style:p({animationDelay:`-${r.value}s`})},null,4),s("div",{class:o(["circle-point",{"is-active":!!r.value}]),style:p({left:`${r.value}%`}),onMousedown:c,onClick:l[0]||(l[0]=g(()=>{},["stop"]))},null,38)],2))}}),[["__scopeId","data-v-c6b90743"]]),wn={class:"reference-image"},Sn={class:"reference-image__parameter-item"},Cn={class:"value"},Tn=oe(l({__name:"ReferenceImage",props:f({imgUrl:{},title:{},showThreshold:{type:Boolean},text:{},tip:{},showDeleteIcon:{type:Boolean,default:!0},minThreshold:{default:0},width:{default:""}},{progress:{required:!0,type:Number},progressModifiers:{}}),emits:f(["increase","delete","edit"],["update:progress"]),setup(t,{emit:n}){const l=h(t,"progress"),o=n,d=e({get:()=>l.value,set(e){l.value=e}});return(e,n)=>
1(a(),c(_n,{title:t.title,"show-edit-icon":!!t.imgUrl,tip:t.tip,onEdit:n[4]||(n[4]=e=>o("edit"))},{default:u(()=>[s("div",wn,[i(bn,{showDeleteIcon:t.showDeleteIcon,"img-url":t.imgUrl,width:t.width,onIncrease:n[0]||(n[0]=e=>o("increase")),onDelete:n[1]||(n[1]=e=>o("delete")),onEdit:n[2]||(n[2]=e=>o("edit"))},null,8,["showDeleteIcon","img-url","width"]),s("div",{class:"reference-image__parameter",style:p({display:t.showThreshold?"block":"none"})},[s("div",Sn,[s("span",null,r(t.text),1),s("span",Cn,r(parseFloat((l.value/100).toFixed(1))),1)]),i(kn,{progress:m(d),"onUpdate:progress":n[3]||(n[3]=e=>y(d)?d.value=e:null),class:"mg-16",disable:!1,minThreshold:t.minThreshold},null,8,["progress","minThreshold"])],4)])]),_:1},8,["title","show-edit-icon","tip"]))}}),[["__scopeId","data-v-dd1d76fb"]]),xn={class:"textarea-wrap__textarea"},Mn=["placeholder"],An={class:"textarea-wrap__textarea-extr"},En={key:0,class:"textarea-wrap__extension"},Pn=["onClick"],Rn=oe(l({__name:"TextareaWrap",props:f({inputLimitCount:{},placeholder:{},showExtension:{type:Boolean,default:!0},showNegativeWords:{type:Boolean,default:!0}},{modelValue:{type:String,required:!0},modelModifiers:{}}),emits:f(["negativeWords","imageToWords","descWordsReference","aiWrite","clear","blur"],["update:modelValue"]),setup(t,{emit:l}){const c=t,u=h(t,"modelValue"),v=e(()=>c.inputLimitCount>0&&u.value.length>c.inputLimitCount),p=l,g=[{name:"gallery.descriptionReference",icon:"file-plus",operate:"descWordsReference"},{name:"VirtualCreate.aiWrite",icon:"pen",operate:"aiWrite"},{name:"gallery.img2Text",icon:"image",operate:"imageToWords"}];return(e,l)=>{const c=se;return a(),n("div",{class:o(["textarea-wrap",{over:m(v)}])},[s("section",xn,[_(s("textarea",{"onUpdate:modelValue":l[0]||(l[0]=e=>u.value=e),placeholder:e.$t(t.placeholder),onBlur:l[1]||(l[1]=e=>p("blur"))},null,40,Mn),[[I,u.value]]),s("div",An,[t.showNegativeWords?(a(),n("div",{key:0,class:"negative-words btn",onClick:l[2]||(l[2]=e=>p("negativeWords"))},[i(c,{name:"increase-circle"}),s("span",null,r(e.$t("gallery.negativePrompts")),1)])):d("",!0),i(c,{name:"clear-icon",class:"clear-icon btn",onClick:l[3]||(l[3]=e=>p("clear"))})])]),i(nn,{class:"line"}),t.showExtension?(a(),n("section",En,[(a(),n(b,null,k(g,t=>s("div",{key:t.name,class:"extension-item btn",onClick:e=>function(e){switch(e.operate){case"imageToWords":p("imageToWords");break;case"aiWrite":p("aiWrite");break;case"descWordsReference":p("descWordsReference")}}(t)},[i(c,{name:t.icon,class:"icon"},null,8,["name"]),s("span",null,r(e.$t(t.name)),1)],8,Pn)),64))])):d("",!0)],2)}}}),[["__scopeId","data-v-110c132a"]]),Ln={class:"ratio-content"},Un=["onClick"],Dn={class:"shape-wrap"},Nn={class:"desc"},On=oe(l({__name:"RatioPanel",props:{ratioList:{},value:{}},emits:["toggleRatio"],setup(e,{emit:t}){const l=t;return(t,i)=>(a(),n("div",Ln,[(a(!0),n(b,null,k(e.ratioList,(i,c)=>(a(),n("div",{key:c,class:o(["ratio-content__temp",{active:i.value===e.value}]),onClick:e=>l("toggleRatio",i)},[s("div",Dn,[s("span",{style:p({width:i.w/16+"rem",height:i.h/16+"rem"})},null,4)]),s("span",Nn,r(t.$t(i.text)||i.text),1)],10,Un))),128))]))}}),[["__scopeId","data-v-dbf3251e"]]),zn={class:"count-options"},$n=["onClick"],qn=oe(l({__name:"CustomOptions",props:{options:{},value:{}},emits:["toggleOption"],setup(e,{emit:t}){const l=t;return(t,s)=>(a(),n("div",zn,[(a(!0),n(b,null,k(e.options,(s,i)=>(a(),n("span",{key:i,class:o(["count-options__item",{active:s.value===e.value}]),onClick:e=>l("toggleOption",s.value)},r(t.$t(s.text)),11,$n))),128))]))}}),[["__scopeId","data-v-987e949e"]]),Vn={class:"label"},Bn={class:"size-info__content"},Fn={class:"it size-width"},Gn=["readonly"],Wn={class:"it size-height"},Hn=["readonly"],jn=oe(l({__name:"SizeInfo",props:f({readonly:{type:Boolean,default:!1},label:{},showMidIcon:{type:Boolean,default:!0},gap:{default:"0px"},minNum:{default:256},maxNum:{default:2048},limitRatio:{default:1},referWidth:{default:0},referHeight:{default:0},tip:{default:""},lockStatus:{type:Boolean,default:!1}},{width:{required:!0,default:0},widthModifiers:{},height:{required:!0,default:0},heightModifiers:{}}),emits:f(["change"],["update:width","update:height"]),setup(l,{emit:v}){w(e=>({v2702b084:e.gap}));const p=h(l,"width"),g=h(l,"height"),f=l,b=t(!1),k=t(!1),T=C([0,0]),x=v,M=e({get:()=>p.value,set(e){p.value=e}}),A=e({get:()=>g.value,set(e){g.value=e}}),E=e(()=>!(!f.referWidth&&!f.referHeight)&&(M.value<f.referWidth||A.value<f.referHeight));function P(e){return e<f.minNum?f.minNum:e>f.maxNum?f.maxNum:e}function R(e){if(e%f.limitRatio!==0){return Math.floor(e/f.limitRatio)*f.limitRatio}return e}function L(e){!function(e){if("width"===e){const e=P(M.value);M.value=R(e)}else{const e=P(A.value);A.value=R(e)}}(e);const[t,a]=T.value;t===M.value&&a===A.value||x("change",{width:M.value,height:A.value})}function U(){T.value=[M.value,A.value]}return S(M,()=>{b.value=!!E.value&&M.value<f.referWidth},{immediate:!0}),S(A,()=>{k.value=!!E.value&&A.value<f.referHeight},{immediate:!0}),(e,t)=>{const v=Ht,p=se;return a(),n("section",{class:o(["size-info",{readonly:l.readonly,isWarn:m(E)}])},[s("span",Vn,r(l.label),1),s("div",Bn,[i(v,{class:"box-item",effect:"dark",content:l.tip,placement:"top-start",offset:6,visible:m(b)},{default:u(()=>[s("div",Fn,[t[4]||(t[4]=s("span",{class:"words"}
1,"W",-1)),_(s("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>y(M)?M.value=e:null),readonly:l.readonly,type:"number",class:"input",onFocus:U,onBlur:t[1]||(t[1]=e=>L("width"))},null,40,Gn),[[I,m(M)]])])]),_:1},8,["content","visible"]),l.showMidIcon?(a(),c(p,{key:0,name:l.readonly?"ring-disable":l.lockStatus?"ring":"ring-unlock",class:o(["ring",{lock:l.lockStatus&&!l.readonly}])},null,8,["name","class"])):d("",!0),i(v,{class:"box-item",effect:"dark",content:l.tip,placement:"top-start",offset:6,visible:m(k)},{default:u(()=>[s("div",Wn,[t[5]||(t[5]=s("span",{class:"words"},"H",-1)),_(s("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>y(A)?A.value=e:null),readonly:l.readonly,type:"number",class:"input",onFocus:U,onBlur:t[3]||(t[3]=e=>L("height"))},null,40,Hn),[[I,m(A)]])])]),_:1},8,["content","visible"])])],2)}}}),[["__scopeId","data-v-2cd30574"]]),Xn={class:"image-setting"},Yn={class:"image-setting__options"},Jn={class:"text"},Zn={class:"text"},Kn={class:"text"},Qn=oe(l({__name:"ImageSetting",props:f({readonlySize:{type:Boolean,default:!1},ratioTempList:{default:()=>[]},sizeOptions:{default:()=>[]},resolutionOptions:{},limitRatio:{},minNum:{},maxNum:{},showPixelItem:{type:Boolean,default:!1}},{ratio:{required:!0,type:String},ratioModifiers:{},width:{required:!0,type:Number},widthModifiers:{},height:{required:!0,type:Number},heightModifiers:{},num:{required:!0,type:Number},numModifiers:{},resolution:{required:!1,type:String,default:""},resolutionModifiers:{}}),emits:["update:ratio","update:width","update:height","update:num","update:resolution"],setup(t){const l=t,v=h(t,"ratio"),g=h(t,"width"),f=h(t,"height"),y=h(t,"num"),_=h(t,"resolution"),I=T({ratioShow:!1,countShow:!1,pixelShow:!1}),b=e(()=>l.sizeOptions.find(e=>e.value===y.value)?.text||""),k=e(()=>l.resolutionOptions.find(e=>e.value===_.value)?.text||""),w=e(()=>l.ratioTempList.find(e=>e.value===v.value)),S=e(()=>!(l.showPixelItem&&w.value?.value===dt));function C(e){y.value=e,I.countShow=!1}function M(e){w.value?.value!==dt&&(g.value=w.value?.rawW*e.slice(0,-1),f.value=w.value?.rawH*e.slice(0,-1)),_.value=e,I.pixelShow=!1}function A(e){if("intelligentMatching"===e.value){const t=ie(0,l.ratioTempList.length-2),a=l.ratioTempList[t];return v.value=e.value,g.value=a.rawW||g.value,void(f.value=a.rawH||f.value)}v.value=e.value,x(()=>{const t=e.rawW*(S.value&&l.showPixelItem?_.value.slice(0,-1):1),a=e.rawH*(S.value&&l.showPixelItem?_.value.slice(0,-1):1);g.value=t||g.value,f.value=a||f.value}),I.ratioShow=!1}function E(){const e=l.ratioTempList.find(e=>"custom"===e.value);e&&(v.value=e.value)}return(e,l)=>{const h=se,T=jt;return a(),n("div",Xn,[s("span",null,r(e.$t("gallery.imageSettings")),1),s("section",Yn,[i(T,{visible:m(I).ratioShow,"onUpdate:visible":l[0]||(l[0]=e=>m(I).ratioShow=e),placement:"top-start",width:"28.75rem",trigger:"click","show-arrow":!1,offset:7,"popper-class":"custom-popover ratio-popover"},{reference:u(()=>[s("div",{class:o(["ratio","btn",{rotate:m(I).ratioShow}])},[s("i",{style:p({width:(m(w)?.w?m(w).w/32:1)+"rem",height:(m(w)?.h?m(w).h/32:1)+"rem"})},null,4),s("span",Jn,r(m(w)?.text?e.$t(m(w).text):""),1),i(h,{name:"arrowDown",class:"arrow"})],2)]),default:u(()=>[i(On,{ratioList:t.ratioTempList,value:v.value,onToggleRatio:A},null,8,["ratioList","value"])]),_:1},8,["visible"]),t.showPixelItem?(a(),c(T,{key:0,visible:m(I).pixelShow,"onUpdate:visible":l[1]||(l[1]=e=>m(I).pixelShow=e),placement:"top-start",width:"28.75rem",trigger:"click","show-arrow":!1,offset:7,"popper-class":"custom-popover count-popover"},{reference:u(()=>[s("div",{class:o(["count","btn",{rotate:m(I).pixelShow}])},[s("span",Zn,r(e.$t(m(k))),1),i(h,{name:"arrowDown",class:"arrow"})],2)]),default:u(()=>[i(qn,{value:_.value,options:t.resolutionOptions,onToggleOption:M},null,8,["value","options"])]),_:1},8,["visible"])):d("",!0),i(T,{visible:m(I).countShow,"onUpdate:visible":l[2]||(l[2]=e=>m(I).countShow=e),placement:"top-start",width:"28.75rem",trigger:"click","show-arrow":!1,offset:7,"popper-class":"custom-popover count-popover"},{reference:u(()=>[s("div",{class:o(["count","btn",{rotate:m(I).countShow}])},[s("span",Kn,r(e.$t(m(b))),1),i(h,{name:"arrowDown",class:"arrow"})],2)]),default:u(()=>[i(qn,{value:y.value,options:t.sizeOptions,onToggleOption:C}
1,null,8,["value","options"])]),_:1},8,["visible"])]),m(S)?(a(),c(jn,{key:0,width:g.value,"onUpdate:width":l[3]||(l[3]=e=>g.value=e),height:f.value,"onUpdate:height":l[4]||(l[4]=e=>f.value=e),readonly:t.readonlySize,limitRatio:t.limitRatio,minNum:t.minNum,maxNum:t.maxNum,lockStatus:"custom"!==m(w)?.value,class:"mg-20",label:e.$t("gallery.pixelSize"),onChange:E},null,8,["width","height","readonly","limitRatio","minNum","maxNum","lockStatus","label"])):d("",!0)])}}}),[["__scopeId","data-v-6c795a52"]]),el={class:"reference-image"},tl={class:"reference-image__list"},al={class:"upload-methods"},nl=oe(l({__name:"ImageToImage",props:{list:{},title:{},maxCount:{},uploadMethod:{type:Function},tip:{},canvasType:{}},emits:["increase","delete","edit","chooseImg"],setup(e,{emit:l}){const o=e,d=t(!1),v=l,{openFileDialog:p,uploading:g}=Qt({multiple:!1,accept:"image/png, image/jpeg",autoUpload:!0,uploadFn:async e=>o.uploadMethod(e[0]),success:e=>{v("chooseImg",e),W(H.uploadImageSuc,{type:o.canvasType,source:"local"})}});function h(){p(),W(H.uploadImageClick,{type:o.canvasType,source:"local"})}function f(){d.value=!0,W(H.uploadImageClick,{type:o.canvasType,source:"gallery"})}function _(e){v("chooseImg",e[0].image_url),W(H.uploadImageSuc,{type:o.canvasType,source:"gallery"})}return(t,l)=>{const o=jt;return a(),c(_n,{title:e.title,"show-edit-icon":!1,tip:e.tip,onEdit:l[2]||(l[2]=e=>v("edit"))},{default:u(()=>[s("div",el,[s("div",tl,[(a(!0),n(b,null,k(e.list,(e,n)=>(a(),c(o,{key:e.id,visible:e.visiblePopover,"onUpdate:visible":t=>e.visiblePopover=t,placement:"right",trigger:"click",width:"12.5rem","show-arrow":!1,offset:10,disabled:e.disable,"popper-class":"imgtoimg-popover"},{reference:u(()=>[i(bn,{"img-url":e.src,loading:m(g),showEditIcon:!1,class:"reference-image__list-increase",onIncrease:e=>v("increase",n),onDelete:e=>v("delete",n),onEdit:l[0]||(l[0]=e=>v("edit"))},null,8,["img-url","loading","onIncrease","onDelete"])]),default:u(()=>[s("div",al,[s("div",{class:"upload-methods__item",onClick:h},r(t.$t("gallery.localGallery")),1),s("div",{class:"upload-methods__item",onClick:f},r(t.$t("gallery.synclubGallery")),1)])]),_:2},1032,["visible","onUpdate:visible","disabled"]))),128))])]),i(aa,{modelValue:m(d),"onUpdate:modelValue":l[1]||(l[1]=e=>y(d)?d.value=e:null),onConfirm:_},null,8,["modelValue"])]),_:1},8,["title","tip"])}}}),[["__scopeId","data-v-c72bd0b6"]]),ll=oe(l({__name:"index",props:f({cost:{},balance:{},styleImg:{},rereferenceImg:{},canvasType:{},curChoosedGeneralModel:{},uploadMethod:{type:Function},loading:{type:Boolean},inputLimitCount:{},ratioTempList:{},badWords:{}},{selectedStyleId:{required:!0,type:Number},selectedStyleIdModifiers:{},styleThreshold:{required:!0,type:Number},styleThresholdModifiers:{},referenceImgThreshold:{required:!0,type:Number},referenceImgThresholdModifiers:{},ratio:{required:!0,type:String},ratioModifiers:{},width:{required:!0,type:Number},widthModifiers:{},height:{required:!0,type:Number},heightModifiers:{},num:{required:!0,type:Number},numModifiers:{},resolution:{required:!0,type:String,default:""},resolutionModifiers:{},descriptor:{required:!0,type:String},descriptorModifiers:{},imgToImgList:{required:!0,type:Array},imgToImgListModifiers:{}}),emits:f(["refresh","showStyleDialog","rereferenceImgIncrease","negativeWords","imageToWords","descWordsReference","deleteStyle","deleteRereferenceImg","aiWrite","clearPrompt","commonGenerateImage","generate2DImage","guidePayment"],["update:selectedStyleId","update:styleThreshold","update:referenceImgThreshold","update:ratio","update:width","update:height","update:num","update:resolution","update:descriptor","update:imgToImgList"]),setup(t,{emit:n}){const l=t,s=tn(),r=e(()=>s.isAnyProcessing.value),v=e(()=>{const e=s.getCurrentEditType.value;return"airemove"===e||"removebg"===e||"aifast"===e}),p=h(t,"selectedStyleId"),g=h(t,"styleThreshold"),f=h(t,"referenceImgThreshold"),y=h(t,"ratio"),_=h(t,"width"),I=h(t,"height"),b=h(t,"num"),k=h(t,"resolution"),w=h(t,"descriptor"),C=h(t,"imgToImgList"),T=n,x=e(()=>l.canvasType!==lt.Normal||!l.ratioTempList.some(e=>"custom"===e.value)),M=e(()=>l.curChoosedGeneralModel?.model_type===pt.nanoBananaPro?ht:ft),A=e(()=>{const e=l.curChoosedGeneralModel?.model_type;switch(e){case pt.gpt:return"gallery.gptImgToImgTip";case pt.flux:return"gallery.fluxImgToImgTip";case pt.imagen:return"gallery.imagenImgToImgTip";case pt.nanoBanana:return"gallery.quickPlayInputPlaceholder";default:return"VirtualCreate.imgPromptPlacehold"}}
1),E=e(()=>{const e=l.curChoosedGeneralModel?.model_type===pt.nanoBananaPro?mt:l.inputLimitCount;return l.loading||l.badWords.length>l.inputLimitCount||w.value.length>e||!l.styleImg||!l.curChoosedGeneralModel&&!l.rereferenceImg&&!w.value.length||l.curChoosedGeneralModel&&l.curChoosedGeneralModel?.model_type!==pt.nanoBanana&&!w.value.length||l.curChoosedGeneralModel?.model_type===pt.nanoBanana&&(!w.value.length||C.value.every(e=>!e.src))}),P=e(()=>{switch(l.curChoosedGeneralModel?.model_type){case pt.flux:return bt;case pt.imagen:return It;case pt.nanoBananaPro:return _t;default:return yt}});function R(){T("showStyleDialog"),W(H.asideStyleImgClick,{type:l.canvasType})}function L(){W(H.iamgeReferenceIncreaseClick,{type:l.canvasType}),T("rereferenceImgIncrease")}function U(e){const t=C.value.length;C.value[t-1]={...C.value[t-1],src:e,disable:!0},t<M.value&&C.value.push({id:et(),src:"",disable:!1,visiblePopover:!1})}function D(e){let t=C.value.filter((t,a)=>a!==e);t.every(e=>e.src)&&t.push({id:et(),src:"",disable:!1,visiblePopover:!1}),C.value=t}function N(){if(l.cost*b.value>l.balance)T("guidePayment");else if(!E.value)if(l.curChoosedGeneralModel){let e;l.curChoosedGeneralModel?.model_type===pt.nanoBanana&&(e="nano_banana"),T("commonGenerateImage",C.value.map(e=>e.src).filter(Boolean).join(","),e)}else T("generate2DImage")}return S(()=>l.curChoosedGeneralModel,e=>{e&&(C.value=C.value.slice(0,M.value))},{flush:"post"}),(e,n)=>(a(),c(cn,{title:e.$t("gallery.console"),icon:"image-check",disabled:t.loading||m(r)||m(v),onRefresh:n[16]||(n[16]=e=>T("refresh","Generator"))},{footer:u(()=>[i(vn,{text:e.$t("generate"),cost:t.cost*b.value,disable:m(E),onClick:N},null,8,["text","cost","disable"])]),default:u(()=>[i(Tn,{progress:g.value,"onUpdate:progress":n[0]||(n[0]=e=>g.value=e),title:e.$t("gallery.styleAndModel"),tip:t.canvasType===m(lt).Normal?"gallery.regularCanvasStyleTip":"gallery.styleTip",text:e.$t("VirtualCreate.CustomStyleRatio"),"img-url":t.styleImg,showDeleteIcon:!1,minThreshold:10,showThreshold:!!t.styleImg&&p.value===m(vt).custom,width:`${m(tt)(84)}rem`,onIncrease:n[1]||(n[1]=e=>T("showStyleDialog")),onDelete:n[2]||(n[2]=e=>T("deleteStyle")),onEdit:R},null,8,["progress","title","tip","text","img-url","showThreshold","width"]),i(nn,{class:"mg-20"}),t.curChoosedGeneralModel?[m(pt).gpt,m(pt).nanoBanana,m(pt).nanoBananaPro].includes(t.curChoosedGeneralModel?.model_type)?(a(),c(nl,{key:1,title:e.$t("gallery.imageToImage"),tip:t.curChoosedGeneralModel?.model_type===m(pt).nanoBananaPro?"gallery.nanoBananaProImgToImgTip":"gallery.imgToImgTip",list:C.value,"max-count":m(M),uploadMethod:t.uploadMethod,canvasType:t.canvasType,onChooseImg:U,onDelete:D},null,8,["title","tip","list","max-count","uploadMethod","canvasType"])):d("",!0):(a(),c(Tn,{key:0,progress:f.value,"onUpdate:progress":n[3]||(n[3]=e=>f.value=e),showThreshold:!!t.rereferenceImg,title:e.$t("gallery.imageReferences"),text:e.$t("weight"),tip:"gallery.imageReferencesTip","img-url":t.rereferenceImg,minThreshold:10,onIncrease:L,onEdit:L,onDelete:n[4]||(n[4]=e=>T("deleteRereferenceImg"))},null,8,["progress","showThreshold","title","text","img-url"])),i(nn,{class:o([!t.curChoosedGeneralModel&&"mg-20"])},null,8,["class"]),i(Rn,{modelValue:w.value,"onUpdate:modelValue":n[5]||(n[5]=e=>w.value=e),placeholder:m(A),inputLimitCount:t.curChoosedGeneralModel?.model_type===m(pt).nanoBananaPro?m(mt):t.inputLimitCount,onNegativeWords:n[6]||(n[6]=e=>T("negativeWords")),onImageToWords:n[7]||(n[7]=e=>T("imageToWords")),onDescWordsReference:n[8]||(n[8]=e=>T("descWordsReference")),onAiWrite:n[9]||(n[9]=e=>T("aiWrite")),onClear:n[10]||(n[10]=e=>T("clearPrompt"))},null,8,["modelValue","placeholder","inputLimitCount"]),i(nn,{class:"mg-20"}),t.curChoosedGeneralModel?.model_type!==m(pt).nanoBanana?(a(),c(Qn,{key:2,ratio:y.value,"onUpdate:ratio":n[11]||(n[11]=e=>y.value=e),width:_.value,"onUpdate:width":n[12]||(n[12]=e=>_.value=e),height:I.value,"onUpdate:height":n[13]||(n[13]=e=>I.value=e),num:b.value,"onUpdate:num":n[14]||(n[14]=e=>b.value=e),resolution:k.value,"onUpdate:resolution":n[15]||(n[15]=e=>k.value=e),class:"mg-20",limitRatio:t.curChoosedGeneralModel?.model_type===m(pt).flux?32:1,minNum:256,maxNum:t.curChoosedGeneralModel?.model_type===m(pt).flux?1440:2048,readonlySize:m(x),sizeOptions:m(P),resolutionOptions:m(gt),showPixelItem:t.curChoosedGeneralModel?.model_type===m(pt).nanoBananaPro,ratioTempList:t.ratioTempList},null,8,["ratio","width","height","num","resolution","limitRatio","maxNum","readonlySize","sizeOptions","resolutionOptions","showPixelItem","ratioTempList"])):d("",!0)]),_:1},8,["title","disabled"]))}}),[["__scopeId","data-v-d1e8781a"]]),ol={class:"expand-size"},sl={class:"expand-size__ratio"},il=oe(l({__name:"ExpandSize",props:{editableWidth:{type:Number,default:0},editableWidthModifiers:{},editableHeight:{type:Number,default:0},editableHeightModifiers:{},realWidth:{type:Number,default:0},realWidthModifiers:{},realHeight:{type:Number,default:0},realHeightModifiers:{}},emits:["update:editableWidth","update:editableHeight","update:realWidth","update:realHeight"],setup(t){const{currentRatio:l,setRatio:o,handleCustomSizeUpdate:c,getCurrentRealPixelSize:u}=Fa(),d=h(t,"editableWidth"),v=h(t,"editableHeight"),p=h(t,"realWidth"),g=h(t,"realHeight"),f=e(()=>l.value);function y(e){o(e.value)}function _(e){c(e.width,e.height)}return S(u,e=>{e?(p.value=e.width,g.value=e.height):(p.value=0,g.value=0)},{immediate:!0,deep:!0}),(e,t)=>(a(),n("section",ol,[s("div",sl,[s("span",null,r(e.$t("gallery.imageSize")),1),i(On,{"ratio-list":m(ct),
1class:"ratio-wrap",value:m(f),onToggleRatio:y},null,8,["ratio-list","value"])]),i(nn,{class:"mg-20"}),i(jn,{width:p.value,"onUpdate:width":t[0]||(t[0]=e=>p.value=e),height:g.value,"onUpdate:height":t[1]||(t[1]=e=>g.value=e),readonly:!0,label:e.$t("gallery.originalSize"),class:"mg-20"},null,8,["width","height","label"]),i(jn,{width:d.value,"onUpdate:width":t[2]||(t[2]=e=>d.value=e),height:v.value,"onUpdate:height":t[3]||(t[3]=e=>v.value=e),readonly:!1,"refer-width":p.value,"refer-height":g.value,"lock-status":"custom"!==m(f),class:"mg-15",tip:e.$t("gallery.outputsizeTip"),label:e.$t("gallery.outputSize"),onChange:_},null,8,["width","height","refer-width","refer-height","lock-status","tip","label"])]))}}),[["__scopeId","data-v-73d05966"]]),rl=["placeholder"],cl=oe(l({__name:"NormalTextarea",props:f({isOverLimit:{type:Boolean},placeholder:{}},{modelValue:{required:!0,type:String,default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=h(e,"modelValue");return(l,i)=>(a(),n("div",{class:o(["normal-area",{over:e.isOverLimit}])},[_(s("textarea",{"onUpdate:modelValue":i[0]||(i[0]=e=>t.value=e),placeholder:e.placeholder},null,8,rl),[[I,t.value]])],2))}}),[["__scopeId","data-v-d666e123"]]),ul=oe(l({__name:"index",props:{cost:{},balance:{},inputLimitCount:{},canvasType:{}},emits:["refresh","guidePayment"],setup(n,{expose:l,emit:o}){const s=n,r=t(""),d=o,v=B(),{currentRatio:p,getCurrentRealPixelSize:g,getCurrentPixelSize:h,execute:f,isProcessing:_}=Fa(),I=t(0),b=t(0),k=t(0),w=t(0);S(g,e=>{e?(I.value=e.width,b.value=e.height):(I.value=0,b.value=0)},{immediate:!0}),S(h,e=>{e&&(k.value=e.width,w.value=e.height)},{immediate:!0,deep:!0});const C=e(()=>s.inputLimitCount>0&&r.value.length>s.inputLimitCount),T=e(()=>_.value||k.value<I.value||w.value<b.value||k.value===I.value&&w.value===b.value);async function x(){if(!T.value)if(s.cost>s.balance)d("guidePayment");else{W(H.genImgClickScaleuGen,{width:k.value,height:w.value,ratio:p.value,hasPrompt:!!r.value,type:s.canvasType});try{const e=v.params?.canvasId;(await f({prompt:r.value.trim(),canvas_id:e})).success&&(r.value="")}catch(e){}}}return l({handleRefresh:function(){r.value=""}}),(e,t)=>(a(),c(cn,{title:e.$t("gallery.expandImage"),icon:"expand-icon","show-flush-icon":!0,disabled:m(_),onRefresh:t[5]||(t[5]=e=>d("refresh","ExpandImage"))},{footer:u(()=>[i(vn,{disable:m(T),text:e.$t("generate"),cost:n.cost,onClick:x},null,8,["disable","text","cost"])]),default:u(()=>[i(il,{editableWidth:m(k),"onUpdate:editableWidth":t[0]||(t[0]=e=>y(k)?k.value=e:null),editableHeight:m(w),"onUpdate:editableHeight":t[1]||(t[1]=e=>y(w)?w.value=e:null),realWidth:m(I),"onUpdate:realWidth":t[2]||(t[2]=e=>y(I)?I.value=e:null),realHeight:m(b),"onUpdate:realHeight":t[3]||(t[3]=e=>y(b)?b.value=e:null)},null,8,["editableWidth","editableHeight","realWidth","realHeight"]),i(cl,{modelValue:m(r),"onUpdate:modelValue":t[4]||(t[4]=e=>y(r)?r.value=e:null),placeholder:e.$t("gallery.expandImgPlaceholder"),isOverLimit:m(C),class:"mg-20"},null,8,["modelValue","placeholder","isOverLimit"])]),_:1},8,["title","disabled"]))}}),[["__scopeId","data-v-72b94f63"]]),dl={class:"prompt-threshold"},vl={class:"prompt-threshold__top"},pl={class:"threshold-num"},ml={class:"prompt-threshold__bottom"},gl=oe(l({__name:"PromptThreshold",props:{progress:{type:Number,required:!0},progressModifiers:{}},emits:["update:progress"],setup(e){const t=h(e,"progress");return(e,l)=>(a(),n("div",dl,[s("div",vl,[s("span",null,r(e.$t("gallery.promptWeighting")),1),s("div",pl,r(Math.round(t.value)),1)]),s("div",ml,[i(kn,{progress:t.value,"onUpdate:progress":l[0]||(l[0]=e=>t.value=e),class:"progress-wrap",disable:!1,"min-threshold":1},null,8,["progress"])])]))}}),[["__scopeId","data-v-374e1b40"]]),hl=oe(l({__name:"index",props:f({cost:{},balance:{},styleThreshold:{},canvasId:{},inputLimitCount:{},canvasType:{}},{styleThreshold:{type:Number,default:50},styleThresholdModifiers:{}}),emits:f(["refresh","guidePayment","update:styleThreshold"],["update:styleThreshold"]),setup(n,{expose:l,emit:o}){const s=n,r=o,d=t(""),v=h(n,"styleThreshold"),p=Ha(),{execute:g,isProcessing:f}=p,_=e(()=>s.inputLimitCount>0&&d.value.length>s.inputLimitCount),I=e(()=>!d.value||f.value||_.value);function b(){if(s.cost>s.balance)return void r("guidePayment");
1if(I.value)return;const e={prompt:d.value,prompt_weight:Math.round(v.value),canvas_id:s.canvasId};W(H.partEditGenerateClick,{promptWeight:v.value,type:s.canvasType}),g(e)}return l({handleRefresh:function(){d.value="",v.value=50}}),(e,t)=>(a(),c(cn,{title:e.$t("gallery.partialEdit"),icon:"local-optimization","show-flush-icon":!0,disabled:m(f),onRefresh:t[2]||(t[2]=e=>r("refresh","LocalOptimization"))},{footer:u(()=>[i(vn,{text:e.$t("generate"),cost:n.cost,disable:m(I),onClick:b},null,8,["text","cost","disable"])]),default:u(()=>[i(cl,{modelValue:m(d),"onUpdate:modelValue":t[0]||(t[0]=e=>y(d)?d.value=e:null),placeholder:e.$t("gallery.partialEditPlaceholder"),isOverLimit:m(_)},null,8,["modelValue","placeholder","isOverLimit"]),i(gl,{progress:v.value,"onUpdate:progress":t[1]||(t[1]=e=>v.value=e),class:"prompt-threshold"},null,8,["progress"])]),_:1},8,["title","disabled"]))}}),[["__scopeId","data-v-eb13852f"]]),fl={class:"upload-container"},yl={key:3,class:"error-wrap"},_l={class:"reason"},Il=oe(l({__name:"Upload",props:{defaultImg:{},uploadMethod:{type:Function}},emits:["change","toggleStatus","click","uploadSuc"],setup(e,{expose:l,emit:o}){const r=e,u=o,d=t(r.defaultImg?kt.SUCCESS:kt.PENDING),h=t(),f=t(r.defaultImg||"");function y(){h.value&&h.value.click()}async function _(e){let t=e.target;if(t.files&&t.files[0]){d.value=kt.LOADING;let e="";try{e=await ea(t.files[0],180)}catch(a){e=t.files[0]}finally{t.value=""}if(e)try{const t=await r.uploadMethod(e);f.value=t,u("change",t),d.value=kt.SUCCESS,u("uploadSuc")}catch(a){f.value="",d.value=kt.ERROR,u("change")}else f.value="",d.value=kt.ERROR,u("change")}}function I(){f.value="",d.value=kt.PENDING,u("change")}return l({handleChooseFile:y,changeImage:function(e){e&&(f.value=e,d.value=kt.SUCCESS)}}),(e,t)=>{const l=se;return a(),n("section",fl,[s("input",{ref_key:"fileHanlder",ref:h,type:"file",accept:"image/*, !image/svg+xml",onChange:_},null,544),m(d)===m(kt).PENDING?(a(),n("div",{key:0,class:"file-upload",onClick:t[0]||(t[0]=g(e=>u("click"),["stop"]))},[i(l,{name:"increase",class:"btn"})])):m(d)===m(kt).LOADING?(a(),c(Yt,{key:1,class:"loading-wrap"})):m(d)===m(kt).SUCCESS?(a(),n("div",{key:2,class:"img-wrap img-show",style:p({backgroundImage:`url(${m(f)})`}),onClick:t[1]||(t[1]=e=>u("toggleStatus"))},[(a(),n("svg",{viewBox:"0 0 30 30",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"btn",onClick:g(I,["stop"])},[...t[2]||(t[2]=[s("rect",{opacity:"0.5",width:"30",height:"30",rx:"15",fill:"black"},null,-1),s("path",{d:"M10 10L20 20",stroke:"white","stroke-width":"2","stroke-linecap":"square"},null,-1),s("path",{d:"M20 10L10 20",stroke:"white","stroke-width":"2","stroke-linecap":"square"},null,-1)])]))],4)):(a(),n("div",yl,[s("div",_l,[i(l,{name:"danger-icon"}),t[3]||(t[3]=s("span",null,"Connection Error",-1))]),s("div",{class:"re-upload",onClick:y},[...t[4]||(t[4]=[s("span",null,"Re-upload",-1)])])])),v(e.$slots,"default",{},void 0,!0)])}}}),[["__scopeId","data-v-3ddd3b30"]]),bl={class:"style-wrap"},kl={class:"style-wrap__label"},wl={class:"style-wrap__list"},Sl=["onClick"],Cl={class:"style-item__box"},Tl={class:"style-name"},xl=oe(l({__name:"StyleWrap",props:f({list:{}},{selectedStyleId:{required:!0,type:Number},selectedStyleIdModifiers:{}}),emits:f(["chooseStyle"],["update:selectedStyleId"]),setup(e,{emit:t}){const l=h(e,"selectedStyleId"),i=t;return(t,u)=>(a(),n("div",bl,[s("span",kl,r(t.$t("gallery.officialStyle")),1),s("div",wl,[(a(!0),n(b,null,k(e.list,(e,t)=>(a(),n("div",{key:t,class:o(["style-item",{active:l.value===e.id}]),onClick:t=>{return a=e.id,l.value=a,void i("chooseStyle",a);var a}},[s("div",Cl,[(a(),c(da,{key:e.id,class:"img-wrap",showPlaceholder:!1,src:e.style_img_url},null,8,["src"])),u[0]||(u[0]=s("span",{class:"selected-icon"},null,-1))]),s("span",Tl,r(e.style_name),1)],10,Sl))),128))])]))}}),[["__scopeId","data-v-35b06bc5"]]),Ml={class:"text-wrap"},Al={class:"threshold-wrapper__bottom"},El={class:"wrap"},Pl={class:"threshold-num"},Rl=oe(l({__name:"ThresholdWrap",props:f({disable:{type:Boolean},text:{default:""},minThreshold:{default:10},isActive:{type:Boolean}},{progress:{type:Number,required:!0},progressModifiers:{}}),emits:f(["toggle"],["update:progress"]),setup(e,{emit:t}){const l=t,c=h(e,"progress"),u=e;function d(){u.disable||l("toggle")}return(t,l)=>(a(),n("div",{class:o(["threshold-wrapper",{active:e.isActive&&!e.disable,disable:e.disable}])},[s("div",{class:"threshold-wrapper__top mg-20",onClick:d},[s("div",Ml,[s("div",{class:o(["text-wrap__circle",{active:e.isActive&&!e.disable}])},null,2),v(t.$slots,"text",{},()=>[s("span",null,r(e.text),1)],!0)])]),s("div",Al,[s("div",El,[i(kn,{progress:c.value,"onUpdate:progress":l[0]||(l[0]=e=>c.value=e),class:"progress-wrap",disable:!e.isActive,minThreshold:10},null,8,["progress","disable"])]),s("div",Pl,[s("span",null,r(parseFloat((c.value/100).toFixed(1))),1)])])],2))}}),[["__scopeId","data-v-8558116c"]]),Ll={class:"universal-style"},Ul={class:"title"},Dl={class:"label"},Nl={class:"universal-style__list"},Ol=["onClick"],zl={class:"item-box img-wrap"},$l=["src"],ql={class:"item-name"},Vl=oe(l({__name:"UniversalStyle",props:{list:{},generalModelId:{}},emits:["chooseModel"],setup(e,{emit:t}){const l=t;return(t,i)=>(a(),n("div",Ll,[s("div",Ul,r(t.$t("gallery.styleModelLabel")),1),s("div",Dl,r(t.$t("gallery.generalModelStyle")),1),s("div",Nl,[(a(!0),n(b,null,k(e.list,(t,i)=>(a(),n("div",{key:i,class:o(["item",{active:e.generalModelId===t.id}]),onClick:e=>l("chooseModel",t.id)},[s("div",zl,[s("img",{src:t.style_img_url,alt:""},null,8,$l)]),s("span",ql,r(t.style_name),1)],10,Ol))),128))])]))}}),[["__scopeId","data-v-189a1369"]]);function Bl(e,t){function a(a){const n=a.target,l=document.querySelector(".dialog-container");e.value?.contains(n)||"INPUT"===n.tagName||l&&l.contains(n)||n&&n.classList.contains("dialog-container")||(t.value=!1)}M(()=>{window.addEventListener("click",a)}),A(()=>{window.removeEventListener("click",a)})}const Fl={class:"style-panel__header"},Gl={class:"style-panel__body"},Wl={class:"left-category"},Hl=["onClick"],jl={class:"label"},Xl={class:"gender-list"},Yl=["onClick"],Jl=["src"],Zl={class:"gender"},Kl={class:"content-style"},Ql={class:"label"},eo={class:"sub-lb mg-20"},to={class:"choose-list"},ao={class:"right-info"},no=oe(l({__name:"index",props:f({isCollapse:{type:Boolean},uploadMethod:{type:Function},modelList:{},styleList:{},generalModelId:{},generalModelList:{},canvasType:{}},{selectedStyleId:{required:!0,type:Number},selectedStyleIdModifiers:{},curModel:{required:!0,type:Number},curModelModifiers:{},gender:{required:!0,type:Number},genderModifiers:{},customImg:{default:"",type:String},customImgModifiers:{},modelValue:{required:!0,default:!1,type:Boolean},modelModifiers:{},customStyleActive:{default:!1,type:Boolean},customStyleActiveModifiers:{},styleThreshold:{default:0,type:Number},styleThresholdModifiers:{}}),emits:f(["chooseModel","chooseStyle"],["update:selectedStyleId","update:curModel","update:gender","update:customImg","update:modelValue","update:customStyleActive","update:styleThreshold"]),setup(l,{emit:d}){const v=t(),f=t(),_=d,I=t(!1),w=t(!1),{language:C,ILang:T}=re(),x=l,M=t(),A=h(l,"selectedStyleId"),E=h(l,"curModel"),P=h(l,"gender"),R=h(l,"customImg"),L=h(l,"modelValue"),U=h(l,"customStyleActive"),D=h(l,"styleThreshold");Bl(M,L);const N=t(2);S(()=>w.value,e=>{e&&W(H.stylePanelCustomUploadBoardShow)}),S(()=>I.value,e=>{e&&W(H.galleryLibShow,{source:"stylePanel",type:x.canvasType})});const O=e({get:()=>D.value,set(e){D.value=e}}),z=e(()=>({transform:`translateX(${(x.isCollapse?0:360)/16}rem)`,width:`calc(100vw - ${(x.isCollapse?520:880)/16}
1rem)`,display:L.value?"block":"none"})),$=e(()=>x.styleList.filter(e=>e.gender===N.value));function q(e){R.value=e||"",e?(A.value=vt.custom,D.value=60,P.value=N.value):(D.value=0,G())}function V(e){W(H.uploadBoardClick,{type:e}),"local"===e?f.value?.handleChooseFile():I.value=!0,w.value=!1}function B(){R.value&&(A.value=vt.custom,D.value=D.value||60,_("chooseStyle",A.value))}function F(e,t){R.value=e[0].image_url,A.value=vt.custom,D.value=60,f.value?.changeImage(e[0].image_url),W(H.galleryConfirmClick,{source:"stylePanel",type:t,canvasType:x.canvasType})}function G(e=!1){if(e&&W(H.styleRandomBtnClick,{type:x.canvasType}),$.value.length){const e=ie(0,$.value.length-1);A.value=$.value[e].id,v.value?.scrollTo({top:v.value?.scrollHeight||0,behavior:"smooth"}),_("chooseStyle",A.value)}}function j(){W(H.localImageUploadSuc)}return(e,t)=>{const d=se,h=jt;return a(),n("section",{ref_key:"stylePanelRef",ref:M,class:"style-panel",style:p(m(z))},[s("div",Fl,[s("span",null,r(e.$t("gallery.styleAndModel")),1),i(d,{name:"close",onClick:t[0]||(t[0]=e=>L.value=!1)})]),s("div",Gl,[s("aside",Wl,[(a(!0),n(b,null,k(l.modelList,(t,l)=>(a(),n("span",{key:l,class:o([{active:E.value===t.value}]),onClick:e=>E.value=t.value},r(e.$t(t.text)),11,Hl))),128))]),s("main",{ref_key:"containerRef",ref:v,class:"content"},[E.value===m(wt).TwoDModel?(a(),n(b,{key:0},[s("span",jl,r(e.$t("Gender")),1),s("div",Xl,[(a(!0),n(b,null,k(m(ce),(t,l)=>(a(),n("div",{key:l,class:"avatar-wrap",onClick:e=>function(e){N.value=e.type+1}(t)},[s("div",{class:o(["img-wrap",{active:m(N)===t.type+1}])},[s("img",{src:m(C)===m(T).EN?t.enImgSource:t.imgSource,alt:""},null,8,Jl)],2),s("span",Zl,r(e.$t(t.i18nPro)),1)],8,Yl))),128))]),s("div",Kl,[s("span",Ql,r(e.$t("gallery.styleModelLabel")),1),s("div",{class:o(["content-style__random btn",{active:-1===A.value}]),onClick:t[1]||(t[1]=e=>G(!0))},[i(d,{name:-1===A.value?"red-dice":"dice"},null,8,["name"]),s("span",null,r(e.$t("gallery.randomlySelectCustomStyle")),1),t[11]||(t[11]=s("span",{class:"selected-icon"},null,-1))],2),s("span",eo,r(e.$t("gallery.customStyle")),1),s("div",{class:o(["content-style__custom","mg-20",{active:U.value}]),onClick:B},[i(h,{visible:m(w),"onUpdate:visible":t[5]||(t[5]=e=>y(w)?w.value=e:null),placement:"right","show-arrow":!1,offset:10,"popper-class":"upload-popover"},{reference:u(()=>[(a(),c(Il,{key:R.value,ref_key:"uploadRef",ref:f,class:o(["custom-item"]),defaultImg:R.value,uploadMethod:l.uploadMethod,onChange:q,onClick:t[2]||(t[2]=e=>w.value=!0),onUploadSuc:j},null,8,["defaultImg","uploadMethod"]))]),default:u(()=>[s("div",to,[s("span",{onClick:t[3]||(t[3]=g(e=>V("local"),["stop"]))},r(e.$t("gallery.localGallery")),1),s("span",{onClick:t[4]||(t[4]=g(e=>V("gallery"),["stop"]))},r(e.$t("gallery.synclubGallery")),1)])]),_:1},8,["visible"]),s("div",ao,[i(Rl,{progress:m(O),"onUpdate:progress":t[6]||(t[6]=e=>y(O)?O.value=e:null),isActive:U.value,disable:!U.value,class:"style-wrap__special-threshold",text:e.$t("VirtualCreate.CustomStyleRatio")},null,8,["progress","isActive","disable","text"])]),t[12]||(t[12]=s("span",{class:"selected-icon"},null,-1))],2),i(xl,{selectedStyleId:A.value,"onUpdate:selectedStyleId":t[7]||(t[7]=e=>A.value=e),list:m($),onChooseStyle:t[8]||(t[8]=e=>_("chooseStyle",e))},null,8,["selectedStyleId","list"])])],64)):(a(),c(Vl,{key:1,generalModelId:l.generalModelId,list:l.generalModelList,onChooseModel:t[9]||(t[9]=e=>_("chooseModel",e))},null,8,["generalModelId","list"]))],512)]),i(aa,{modelValue:m(I),"onUpdate:modelValue":t[10]||(t[10]=e=>y(I)?I.value=e:null),onConfirm:F},null,8,["modelValue"])],4)}}}),[["__scopeId","data-v-13b8bffc"]]),lo={class:"refer-card__header"},oo={class:"label"},so={class:"origin"},io=["onClick"],ro={class:"text"},co={class:"face"},uo={class:"label"},vo={class:"threshold-num"},po={class:"preview-card"},mo=oe(l({__name:"index",props:f({uploadMethod:{type:Function},minThreshold:{},isCollapse:{type:Boolean},canvasType:{}},{visible:{default:!1,type:Boolean},visibleModifiers:{},threshold:{default:0,type:Number},thresholdModifiers:{},rereferenceImg:{default:"",type:String},rereferenceImgModifiers:{},reference_type:{default:1,type:Number},reference_typeModifiers:{}}),emits:["update:visible","update:threshold","update:rereferenceImg","update:reference_type"],setup(l){const u=l,v=t(!1),g=h(l,"visible"),f=h(l,"threshold"),_=h(l,"rereferenceImg"),I=h(l,"reference_type"),w=t();Bl(w,g);const{openFileDialog:C,uploading:T}=Qt({multiple:!1,accept:"image/png, image/jpeg",autoUpload:!0,uploadFn:async e=>u.uploadMethod(e[0]),success:e=>{_.value=e,f.value=f.value?f.value:60,W(H.canvasUploadImageStatus,{type:u.canvasType,status:"success"})}});function x(){W(H.canvasUploadImageClick,{type:u.canvasType,source:"local"}),C()}function M(){v.value=!0,W(H.canvasUploadImageClick,{type:u.canvasType,source:"gallery"})}S(()=>v.value,e=>{e&&W(H.galleryLibShow,{source:"imageReferCard",type:u.canvasType})});const A=e(()=>({transform:`translateX(${(u.isCollapse?0:360)/16}
1rem)`,display:g.value?"block":"none"})),E=e(()=>St.find(e=>e.value===I.value)),P=e(()=>!!_.value);function R(e,t){_.value=e[0].image_url,f.value=f.value?f.value:60,W(H.galleryConfirmClick,{source:"imageReferCard",type:t,canvasType:u.canvasType})}return(e,t)=>{const u=se;return a(),n("section",{ref_key:"containerRef",ref:w,class:"refer-card",style:p(m(A))},[s("div",lo,[s("span",null,r(e.$t("gallery.imageReferences")),1),i(u,{name:"close",class:"close btn",onClick:t[0]||(t[0]=e=>g.value=!1)})]),i(nn,{class:"line"}),s("div",{class:o(["refer-card__body",{disable:!_.value}])},[s("span",oo,r(e.$t("gallery.referenceDimensions")),1),s("div",so,[(a(!0),n(b,null,k(m(St),(l,i)=>(a(),n("div",{key:i,class:o(["origin-item",{disable:!_.value,active:I.value===l.value&&!!_.value}]),onClick:e=>{return t=l.value,void(_.value&&(I.value=t));var t}},[t[3]||(t[3]=s("span",{class:"icon"},null,-1)),s("span",ro,r(e.$t(l.text)),1)],10,io))),128))]),s("div",co,[s("span",uo,r(e.$t(m(E)?.text||"")),1),i(kn,{progress:f.value,"onUpdate:progress":t[1]||(t[1]=e=>f.value=e),class:"progress-wrap",disable:!m(P),minThreshold:l.minThreshold},null,8,["progress","disable","minThreshold"]),s("div",vo,[s("span",null,r(parseFloat((f.value/100).toFixed(1))),1)])]),s("div",po,[s("div",{class:o(["preview-card__control",{hiden:!!_.value}])},[s("span",{class:"btn",onClick:x},r(e.$t("gallery.localGallery")),1),s("span",{class:"btn",onClick:M},r(e.$t("gallery.synclubGallery")),1)],2),s("div",{class:"preview-card__img",style:p(`background-image: url(${_.value})`)},null,4),m(T)?(a(),c(Yt,{key:0,class:"upload-loading"})):d("",!0)])],2),i(aa,{modelValue:m(v),"onUpdate:modelValue":t[2]||(t[2]=e=>y(v)?v.value=e:null),onConfirm:R},null,8,["modelValue"])],4)}}}),[["__scopeId","data-v-430bb897"]]),go={class:"negative-words__header"},ho=["placeholder"],fo={class:"count-wrap"},yo={class:"count"},_o=oe(l({__name:"NegativeWords",props:f({limitCount:{default:0},placeholder:{},isCollapse:{type:Boolean}},{modelValue:{required:!0,default:"",type:String},modelModifiers:{},visible:{required:!0,default:!1,type:Boolean},visibleModifiers:{}}),emits:["update:modelValue","update:visible"],setup(l){const c=h(l,"modelValue"),u=t(),d=h(l,"visible");Bl(u,d);const v=l,g=e(()=>v.limitCount>0&&c.value.length>v.limitCount),f=e(()=>({transform:`translateX(${(v.isCollapse?0:360)/16}rem)`,display:d.value?"block":"none"}));return(e,t)=>{const v=se;return a(),n("div",{ref_key:"containerRef",ref:u,class:"negative-words",style:p(m(f))},[s("div",go,[s("span",null,r(e.$t("gallery.negativePrompts")),1),i(v,{name:"close",class:"btn",onClick:t[0]||(t[0]=e=>d.value=!1)})]),i(nn,{class:"line"}),s("div",{class:o(["negative-words__input",{over:m(g)}])},[_(s("textarea",{"onUpdate:modelValue":t[1]||(t[1]=e=>c.value=e),placeholder:l.placeholder},null,8,ho),[[I,c.value]]),s("div",fo,[s("span",yo,r(c.value.length),1),E("/"+r(l.limitCount),1)])],2)],4)}}}),[["__scopeId","data-v-4cabf7b5"]]),Io={class:"image-to-words__header"},bo={class:"image-to-words__card"},ko={class:"controls"},wo={key:0,class:"loading-wrap"},So={class:"loading-wrap__content"},Co={key:1},To={class:"image-to-words__footer"},xo={class:"text"},Mo={class:"text"},Ao=oe(l({__name:"ImageToWords",props:f({loading:{type:Boolean},status:{},isCollapse:{type:Boolean},canvasType:{},uploadMethod:{type:Function}},{visible:{required:!0,default:!1,type:Boolean},visibleModifiers:{},imageToWordsUrl:{required:!0,default:"",type:String},imageToWordsUrlModifiers:{}}),emits:f(["regenerate","transform"],["update:visible","update:imageToWordsUrl"]),setup(l,{emit:u}){const v=t(),g=h(l,"visible");Bl(v,g);const f=t("local"),_=u,I=l,b=h(l,"imageToWordsUrl"),k=e(()=>I.loading||!b.value);S(g,e=>{e&&W(H.imageToWordsPanelShow,{canvasType:I.canvasType})});const w=t(!1),C=e(()=>({transform:`translateX(${(I.isCollapse?0:360)/16}rem)`,display:g.value?"block":"none"})),{openFileDialog:T,uploading:x}=Qt({multiple:!1,accept:"image/png, image/jpeg",autoUpload:!0,uploadFn:async e=>I.uploadMethod(e[0]),success:e=>{f.value="local",b.value=e,W(H.imageToWordsPanelUploadSuc,{canvasType:I.canvasType})}});function M(e,t){b.value=e[0].image_url,W(H.galleryConfirmClick,{source:"imageToWords",type:t,canvasType:I.canvasType}),f.value="gallery"}function A(){k.value||(W(H.imageToWordsTransformClick,{type:f.value,canvasType:I.canvasType}),_("transform"))}function E(){k.value||_("regenerate")}return S(()=>w.value,e=>{e&&W(H.galleryLibShow,{source:"imageToWords",type:I.canvasType})}),(e,t)=>{const u=se;return a(),n("div",{ref_key:"containerRef",ref:v,class:"image-to-words",style:p(m(C))},[s("div",Io,[s("span",null,r(e.$t("gallery.img2Text")),1),i(u,{name:"close",class:"btn",onClick:t[0]||(t[0]=e=>g.value=!1)})]),i(nn,{class:"line"}),s("div",bo,[s("div",{class:o(["image-to-words__card-content",{hasContent:!!b.value}])},[s("div",{class:"picture",style:p({backgroundImage:`url(${b.value})`})},null,4),s("div",ko,[s("span",{class:"local btn",onClick:t[1]||(t[1]=(...e)=>m(T)&&m(T)(...e))},r(e.$t("gallery.localGallery")),1),s("span",{class:"gallery btn",onClick:t[2]||(t[2]=e=>w.value=!0)},r(e.$t("gallery.synclubGallery")),1)]),l.loading||"failed"===l.status?(a(),n("div",wo,[s("div",So,[l.loading?(a(),c(Yt,{key:0,class:"upload-loading"})):d("",!0),"failed"===l.status?(a(),n("span",Co,r(e.$t("gallery.conversionFailed")),1)):d("",!0)])])):d("",!0),m(x)?(a(),c(Yt,{key:1,class:"upload-loading"})):d("",!0)],2)]),s("div",To,["success"===l.status?(a(),n("div",{key:0,class:o(["tip",{btn:!m(k)}]),onClick:A},[i(u,{name:"trans-img",class:"icon"}),s("span",xo,r(e.$t("gallery.generateTextPromptsFromImages")),1)],2)):(a(),n("div",{key:1,class:"regenate btn",onClick:E},[i(u,{name:"trans-img",class:"icon"}),s("span",Mo,r(e.$t("gallery.reconversion")),1)]))]),i(aa,{modelValue:m(w),"onUpdate:modelValue":t[3]||(t[3]=e=>y(w)?w.value=e:null),onConfirm:M},null,8,["modelValue"])],4)}}}),[["__scopeId","data-v-f875fc3e"]]),Eo={class:"style-tabs"},Po={class:"style-tabs__list"},Ro=["onClick"],Lo={class:"style-tabs__panel"},Uo=["onClick"],Do=oe(l({__name:"StyleTabs",props:f({prompt:{},tagList:{}},{checked:{required:!0,default:()=>[],type:Array},checkedModifiers:{}}
1),emits:["update:checked"],setup(l){const i=l,c=t(""),u=t(),v=t(),p=h(l,"checked"),g=e(()=>p.value.map(e=>e.show)),f=e(()=>i.tagList?.find(e=>e.category===c.value)?.list||[]),y=e(()=>{const e=v.value?.scrollWidth,{width:t}=v.value?.getBoundingClientRect()||{};return t&&e&&e>t}),_=t(!0),I=t(!1);function w(e){const t=v.value?.scrollWidth??0,{width:a=0}=v.value?.getBoundingClientRect()||{},n=t-a;let l=v.value?.scrollLeft||0;"left"===e?l-=a:l+=a,l=l<=0?0:l>=n?n:l,v.value?.scrollTo({left:l,behavior:"smooth"})}const S=it(function(){const e=v.value?.scrollWidth??0,{width:t=0}=v.value?.getBoundingClientRect()||{},a=e-t;let n=v.value?.scrollLeft||0;_.value=n<=0,I.value=Math.abs(n-a)<10},300);function C(e){const{width:t}=e.getBoundingClientRect(),a=e.offsetLeft+t/2;u.value.style.left=a+"px",e?.scrollIntoView({behavior:"smooth",inline:"center"})}return M(()=>{i.tagList?.length&&(c.value=i.tagList[0]?.category??"");const e=v.value?.children;e&&e.length&&C(e[0])}),(e,t)=>(a(),n("div",Eo,[s("div",Po,[m(y)?(a(),n("span",{key:0,class:o(["left-arrow",{disabled:m(_)}]),onClick:t[0]||(t[0]=e=>w("left"))},null,2)):d("",!0),s("section",{ref_key:"listContentEl",ref:v,class:"list-content",onScroll:t[1]||(t[1]=(...e)=>m(S)&&m(S)(...e))},[(a(!0),n(b,null,k(l.tagList,(e,t)=>(a(),n("div",{key:t,class:o(["list-content__item",{active:m(c)===e.category}]),onClick:t=>{return a=e,n=t,c.value=a.category,void C(n.target);var a,n}},r(e.category),11,Ro))),128)),s("span",{ref_key:"underlineEl",ref:u,class:"underline"},null,512)],544),m(y)?(a(),n("span",{key:1,class:o(["right-arrow",{disabled:m(I)}]),onClick:t[2]||(t[2]=e=>w("right"))},null,2)):d("",!0),t[3]||(t[3]=s("div",{class:"slide-line"},null,-1))]),s("div",Lo,[(a(!0),n(b,null,k(m(f),(e,t)=>(a(),n("span",{key:t,class:o(["style-tabs__panel-item",{active:m(g).includes(e.show)}]),onClick:t=>{return a=e,void(p.value.find(e=>e.show===a.show&&e.categoryName===c.value)?p.value=p.value.filter(e=>!(e.show===a.show&&e.categoryName===c.value)):p.value.push({...a,categoryName:c.value}));var a}},r(e.show),11,Uo))),128))])]))}}),[["__scopeId","data-v-add69afb"]]),No={class:"tag-wrapper__header"},Oo={class:"title"},zo={class:"show-panel"},$o=["value","placeholder"],qo=oe(l({__name:"index",props:f({placeholder:{},prompt:{},isCollapse:{type:Boolean},tagList:{}},{checkedTags:{type:Array,default:()=>[]},checkedTagsModifiers:{},visible:{required:!0,default:!1,type:Boolean},visibleModifiers:{}}),emits:f(["confirm"],["update:checkedTags","update:visible"]),setup(l,{emit:o}){const c=o,u=l,v=t([]),g=h(l,"checkedTags"),f=t([]);let _="";const I=t(""),b=h(l,"visible");let k=[];const w=t();Bl(w,b);const C=e(()=>({transform:`translateX(${(u.isCollapse?0:360)/16}rem)`,display:b.value?"block":"none"}));return S(b,e=>{v.value=[],e&&(v.value=st(g.value),I.value=u.prompt,f.value=st(g.value),_=u.prompt)}),S(()=>[...v.value],(e,t)=>{if(b.value){const a=e.length,n=t.length,l=_;if(a>n){k=f.value.map(e=>e.show);const t=e.filter(e=>!k.includes(e.show)).map(e=>e.show).join(",");I.value=l.endsWith(",")?l+t:t?[l,t].join(","):l}else if(a<n){f.value=[...e];const a=t.filter(t=>!e.includes(t));if(a.length){const[{show:e}]=a;let t=`,${e}`,n=new RegExp(`${t}(?!.*${t})`);I.value=I.value.replace(n,"")}_=I.value}g.value=st(v.value),c("confirm",I.value)}},{deep:!0}),(e,t)=>{const o=se;return b.value?(a(),n("div",{key:0,ref_key:"containerRef",ref:w,style:p(m(C)),class:"tag-wrapper"},[s("div",No,[s("div",Oo,r(e.$t("VirtualCreate.InformationText")),1),i(o,{name:"close",class:"btn",onClick:t[0]||(t[0]=e=>b.value=!1)})]),i(nn,{class:"line"}),s("div",zo,[s("textarea",{value:m(I),placeholder:l.placeholder,disabled:""},null,8,$o)]),i(Do,{checked:m(v),"onUpdate:checked":t[1]||(t[1]=e=>y(v)?v.value=e:null),class:"tag-wrapper__tabs",prompt:l.prompt,tagList:l.tagList},null,8,["checked","prompt","tagList"])],4)):d("",!0)}}}),[["__scopeId","data-v-9525a472"]]),Vo={curModel:wt.TwoDModel,gender:2,styleImg:"",styleThreshold:0,selectedStyleId:vt.generalModel,rereferenceImg:"",referenceImgThreshold:60,reference_type:1,face_weight:0,fullbody_weight:0,composition_weight:0,ratio:"1:1",width:1024,height:1024,num:1,generalModelId:vt.empty,descriptor:"",bad_words:"",imageToWordsUrl:"",imgToImgList:[{...Ct}],prompt_weight:50,resolution:gt[0].value},Bo=t(Tt.NanoBanana),Fo=T(st(Vo)),Go=t("");function Wo(){function e(e){Object.assign(Fo,e)}return{refreshState:function(){const{styleImg:t,selectedStyleId:a}=Fo,n=vt.generalModel,l=st(Vo);a===n&&(l.styleImg=t),e(l)},updateState:e,state:Fo,customImg:Go,curTab:Bo,tempImg:Ct,toggleTab:function(e){Bo.value=e}}}S(()=>K.global.locale.value,()=>{Vo.selectedStyleId=vt.generalModel,Fo.selectedStyleId=Vo.selectedStyleId});const Ho={referenceImages:[{...Ct,id:et()}],descriptor:"",uname:""},jo=T(st(Ho));function Xo(e){Object.assign(jo,e)}function Yo(){Xo(st(Ho))}function Jo(){return{state:jo,updateState:Xo,resetCurState:Yo}}const Zo={class:"recommend-card__img"},Ko={class:"recommend-card__text"},Qo=oe(l({__name:"RecommendCard",props:{data:{},curUname:{}},setup:e=>(t,l)=>(a(),n("div",{class:o(["recommend-card",{active:e.curUname===e.data.uname}])},[s("div",Zo,[i(da,{class:"recommend-card__img-lazy",showPlaceholder:!1,src:e.data.diagram_url},null,8,["src"])]),s("span",Ko,r(e.data.name),1)],2))}),[["__scopeId","data-v-73970c40"]]),es={class:"recomment-container"},ts=oe(l({__name:"Recommend",props:f({styleList:{}},{uname:{required:!0,type:String,default:""},unameModifiers:{},prompt:{required:!0,type:String,default:""},promptModifiers:{}}),emits:f(["handleMore","showCoverPoppup"],["update:uname","update:prompt"]),setup(e,{emit:t}){const l=e,o=h(e,"uname"),i=h(e,"prompt"),d=t;return(t,v)=>(a(),c(_n,{title:t.$t("gallery.recommendedQuickPlay"),"show-edit-icon":!1,tip:t.$t("gallery.recommendQuickPlayTip")},{right:u(()=>[s("span",{class:"recomment-more",onClick:v[0]||(v[0]=e=>d("handleMore"))},r(t.$t("gallery.more"))+">",1)]),default:u(()=>[s("div",es,[(a(!0),n(b,null,k(e.styleList.slice(0,4),e=>(a(),c(Qo,{key:e.id,data:e,curUname:o.value,onClick:t=>function(e){if(e===o.value)o.value="";else{if(i.value&&!ue())return void d("showCoverPoppup",e);o.value=e,i.value=l.styleList.find(t=>t.uname===e)?.prompt||"",W(H.quickPlayCardClick,{type:e})}}(e.uname)},null,8,["data","curUname","onClick"]))),128))])]),_:1},8,["title","tip"]))}}),[["__scopeId","data-v-78276be5"]]),as={class:"recommend-popup__header"},ns={class:"recommend-popup__content"},ls=oe(l({__name:"RecommendPopup",props:f({styleList:{}},{uname:{required:!0,type:String,default:""},unameModifiers:{},visible:{required:!0,default:!1,type:Boolean},visibleModifiers:{},prompt:{required:!0,type:String,default:""},promptModifiers:{}}),emits:f(["showCoverPoppup"],["update:uname","update:visible","update:prompt"]),setup(e,{emit:l}){const o=e,u=h(e,"uname"),d=t(),v=h(e,"visible"),m=l,g=h(e,"prompt");return Bl(d,v),(t,l)=>{const h=se;return a(),n("div",{ref_key:"containerRef",ref:d,class:"recommend-popup",style:p({display:v.value?"block":"none"})}
1,[s("div",as,r(t.$t("gallery.recommendedQuickPlay")),1),i(h,{name:"close",class:"close",onClick:l[0]||(l[0]=e=>v.value=!1)}),i(nn,{class:"mg-20 recommend-popup__line"}),s("div",ns,[(a(!0),n(b,null,k(e.styleList,e=>(a(),c(Qo,{key:e.id,data:e,class:"recommend-popup__content-item",curUname:u.value,onClick:t=>function(e){if(e===u.value)u.value="";else{if(g.value&&!ue())return void m("showCoverPoppup",e);u.value=e,g.value=o.styleList.find(t=>t.uname===e)?.prompt||"",W(H.quickPlayCardClick,{type:e})}}(e.uname)},null,8,["data","curUname","onClick"]))),128))])],4)}}}),[["__scopeId","data-v-56524e27"]]),os=oe(l({__name:"index",props:{cost:{},balance:{},inputLimitCount:{},uploadMethod:{type:Function},styleList:{},loading:{type:Boolean},canvasType:{}},emits:["refresh","guidePayment","commonGenerateImage","clearPrompt"],setup(n,{expose:l,emit:o}){const{t:s}=de(),r=n,d=t(!1),v=t(""),p=t(!1),g=t(""),h=o;B();const{state:f,updateState:_}=Jo(),I=e(()=>f.descriptor.length>r.inputLimitCount||!f.descriptor.trim().length||r.loading||f.referenceImages.every(e=>!e.src));function b(){d.value||(W(H.quickPlayMoreClick),setTimeout(()=>{d.value=!0},100))}function k(e){g.value=e,p.value=!0}function w(){W(H.iamgeReferenceIncreaseClick,{type:r.canvasType})}function C(e){const t=f.referenceImages.length;f.referenceImages[t-1]={...f.referenceImages[t-1],src:e,disable:!0},t<ft&&f.referenceImages.push({id:et(),src:"",disable:!1,visiblePopover:!1})}function T(){f.descriptor.length>r.inputLimitCount&&Z({message:s("gallery.quickPlayInputLimit")})}function x(e){if("confirm"===e){p.value=!1,ve();const e=r.styleList.find(e=>e.uname===g.value);_({descriptor:e?.prompt||""}),f.uname=g.value}else p.value=!1}function M(e){let t=f.referenceImages.filter((t,a)=>a!==e);t.every(e=>e.src)&&t.push({id:et(),src:"",disable:!1,visiblePopover:!1}),f.referenceImages=t,W(H.deleteImageClick,{type:r.canvasType})}async function A(){I.value||(W(H.quickPlayGenClick,{uname:f.uname,cost:r.cost}),r.cost>r.balance?h("guidePayment"):h("commonGenerateImage",f.referenceImages.map(e=>e.src).filter(Boolean).join(","),"quick_nano_banana"))}return S(()=>d.value,e=>{e&&W(H.quickPlayPopupShow)}),S(()=>f.uname,()=>{f.uname&&T()}),l({handleRefresh:function(){v.value=""}}),(e,t)=>(a(),c(cn,{title:e.$t("gallery.poweredByNanoBanana"),icon:"image-check","show-flush-icon":!0,disabled:n.loading,onRefresh:t[8]||(t[8]=e=>h("refresh","QuickPlay"))},{footer:u(()=>[i(vn,{disable:m(I),text:e.$t("generate"),cost:n.cost,onClick:A},null,8,["disable","text","cost"])]),default:u(()=>[i(nl,{title:e.$t("gallery.imageReferences"),tip:"gallery.quickPlayReferenceImgsTip",list:m(f).referenceImages,"max-count":m(ft),uploadMethod:n.uploadMethod,canvasType:n.canvasType,onIncrease:w,onEdit:w,onChooseImg:C,onDelete:M},null,8,["title","list","max-count","uploadMethod","canvasType"]),i(nn,{class:"mg-20"}),i(Rn,{modelValue:m(f).descriptor,"onUpdate:modelValue":t[0]||(t[0]=e=>m(f).descriptor=e),placeholder:"gallery.quickPlayInputPlaceholder",class:"mg-20",inputLimitCount:n.inputLimitCount,showExtension:!1,showNegativeWords:!1,onClear:t[1]||(t[1]=e=>h("clearPrompt")),onBlur:T},null,8,["modelValue","inputLimitCount"]),i(nn,{class:"mg-20"}),i(ts,{uname:m(f).uname,"onUpdate:uname":t[2]||(t[2]=e=>m(f).uname=e),prompt:m(f).descriptor,"onUpdate:prompt":t[3]||(t[3]=e=>m(f).descriptor=e),class:"mg-20",styleList:n.styleList,onHandleMore:b,onShowCoverPoppup:k},null,8,["uname","prompt","styleList"]),i(nn,{class:"mg-20"}),i(ls,{visible:m(d),"onUpdate:visible":t[4]||(t[4]=e=>y(d)?d.value=e:null),uname:m(f).uname,"onUpdate:uname":t[5]||(t[5]=e=>m(f).uname=e),prompt:m(f).descriptor,"onUpdate:prompt":t[6]||(t[6]=e=>m(f).descriptor=e),styleList:n.styleList,onShowCoverPoppup:k},null,8,["visible","uname","prompt","styleList"]),i(ua,{modelValue:m(p),"onUpdate:modelValue":t[7]||(t[7]=e=>y(p)?p.value=e:null),title:e.$t("VirtualCreate.attention"),desc:e.$t("VirtualCreate.attentionDesc"),list:m(Jt),onHandleOperate:x},null,8,["modelValue","title","desc","list"])]),_:1},8,["title","disabled"]))}}),[["__scopeId","data-v-35c6a1c0"]]),ss={class:"aside"},is=oe(l({__name:"index",props:{canvasType:{},canvasId:{}},setup(l){const o=Zt(Me),s=pe(),r=t(!1),u=l,{isSquareLoading:v,cancelLoading:p,squareLoading:g}=ca(),h=Y(),{t:f}=de(),_=t(!1),I=na(),{state:b,refreshState:k,updateState:w,curTab:C,toggleTab:T,customImg:x}=Wo(),E=t("Generator"),L=t("success"),U=t("aiWrite"),D=t([]),{language:N,ILang:O}=re(),z=t(!1),$=t(!1),q=t(!1),V=t(!1),B=t(!1),F=t(!1),G=t(!1),j=t([]),X=t([]),J=t([]),K=t(),ee=t(),te=t(!1),ae=t(""),ne=t([]),le=t(0),{state:oe,updateState:se,resetCurState:ie}=Jo(),ce="CANVAS:ADD_LOADING_IMAGES",ue="CANVAS:REPLACE_LOADING_IMAGE",ve="CANVAS:REMOVE_LOADING_IMAGE",{isVisible:Ae}=Fa(),{isVisible:Ee}=Ha(),{addSubTasks:Pe,startAllTasks:Re,subTaskIdMapMainTaskId:Le,resetTasks:Ue}=Aa({onSuccess:e=>{if([11,12].includes(e.nsfw_level))return Z({message:f("gallery.underReviewToast"),type:"danger"}),void Q.emit(ve,{taskId:e.id?.toString()});
1e.image_id&&e.user_bd_pic&&Q.emit(ue,{id:e.image_id?.toString(),taskId:e.id?.toString(),url:e.user_bd_pic})},onError:e=>{e.id&&Q.emit(ve,{taskId:e.id?.toString()})},onComplete:e=>{ae.value===e.main_task_id&&(te.value=!1)},onTimeout:e=>{e.id&&Q.emit(ve,{taskId:e.id?.toString()}),ae.value===Le.value[e.id]&&(te.value=!1)}});S(()=>z.value,e=>{e&&W(H.canvasAsideResetPanelShow,{type:E.value})}),S(Ae,e=>{e&&C.value!==Tt.ExpandImage?C.value=Tt.ExpandImage:e||C.value!==Tt.ExpandImage||It()}),S(Ee,e=>{e&&C.value!==Tt.LocalOptimization?C.value=Tt.LocalOptimization:e||C.value!==Tt.LocalOptimization||It()});const De=e(()=>N.value===O.EN?500:200),Ne=e(()=>N.value===O.EN?900:500),Oe=e(()=>b.selectedStyleId===vt.generalModel),ze=e(()=>{if(Oe.value)return J.value.find(e=>e.id===b.generalModelId)}),$e=e(()=>{if(C.value===Tt.NanoBanana)return h.userAssets.gen_image_quick_banana;if(ze.value?.model_type===pt.gpt)return h.userAssets.gen_image_common_gpt;if(ze.value?.model_type===pt.imagen)return h.userAssets.gen_image_common_imagen;if(ze.value?.model_type===pt.flux)return h.userAssets.gen_image_common_flux;if(ze.value?.model_type===pt.nanoBanana)return h.userAssets.second_edit_ai_quick_bana_edit;if(ze.value?.model_type===pt.nanoBananaPro){const e=`gen_image_banana_pro_${b.resolution.toLocaleLowerCase()}`;return h.userAssets[e]}const e=D.value.find(e=>e.id===b.selectedStyleId);return e&&e.is_payment?h.userAssets.gen_image_official_payment:h.userAssets.gen_image_official_free}),qe=e(()=>u.canvasType===lt.Robot?xt:ze.value?.model_type===pt.gpt?Mt:ze.value?.model_type===pt.imagen?At:ze.value?.model_type===pt.flux?Et:ze.value?.model_type===pt.nanoBananaPro?Pt:Rt);function Ve(){if([vt.random,vt.empty].includes(b.selectedStyleId))b.styleImg="";else if(b.selectedStyleId===vt.custom)b.styleImg=x.value;else{const e=D.value.find(e=>e.id===b.selectedStyleId);if(e)b.styleImg=e.style_img_url,b.gender=e.gender;else{const e=J.value.find(e=>e.id===b.generalModelId);e&&(b.styleImg=e.style_img_url,b.gender=e.gender)}}}S(()=>b.ratio,e=>{if(!e){const e=qe.value[0];w({ratio:e.value,width:e.rawW,height:e.rawH})}},{immediate:!0,flush:"post"}),S(()=>b.descriptor,e=>{if(!G.value&&j.value.length){const t=e.split(","),a=j.value.map(e=>e.show);let n=[];a.forEach((e,a)=>{let l=!1;for(let n=t.length-1;n>=0;n--){t[n].startsWith(e)&&(l=!0)}l||n.push(a)}),n.length&&j.value.splice(n[0],1)}}),P(()=>{Ve(),b.selectedStyleId,b.generalModelId}),S(()=>b.selectedStyleId,e=>{[vt.empty,vt.generalModel].includes(e)||w({generalModelId:vt.empty})});const Be=e(()=>b.selectedStyleId===vt.custom&&!!b.styleImg),Fe=e(()=>[{type:"Cancel",label:f("VirtualCreate.Cancel")},{type:"Quit",label:f("VirtualCreate.Quit")}]),Ge=e(()=>[{type:"cancel",label:f("VirtualCreate.Cancel")},{type:"confirm",label:f("gallery.confirm")}]),We=e(()=>{const e=[{value:wt.TwoDModel,text:"gallery.animeModel"}];return[lt.Normal,lt.OcAgent].includes(u.canvasType)&&e.push({value:wt.GeneralModel,text:"gallery.generalStyleModel"}),e});function He(e){W(H.canvasAsideResetPanelControlClick,{type:e,asideType:E.value}),"Quit"===e?(!function(){switch(E.value){case"Generator":k(),j.value=[];const e=J.value.find(e=>e.model_type===pt.nanoBananaPro)?.id||0;w({generalModelId:e}),Ve();break;case"LocalOptimization":K.value?.handleRefresh?.();break;case"ExpandImage":ee.value?.handleRefresh?.();break;case"QuickPlay":se({descriptor:"",uname:"",referenceImages:[{...Ct,id:et()}]})}}(),z.value=!1):z.value=!1}function je(){q.value||setTimeout(()=>{q.value=!0},100)}function Xe(){V.value||setTimeout(()=>{V.value=!0,W(H.imageRefercencePanelShow,{type:u.canvasType})},100)}function Ye(){B.value||setTimeout(()=>{B.value=!0,W(H.negativeWordsClick,{type:u.canvasType})},100)}function Je(){F.value||setTimeout(()=>{F.value=!0,W(H.imageToWordsClick,{type:u.canvasType})},100)}function Ze(){G.value||setTimeout(()=>{G.value=!0,W(H.descWordsReferenceClick,{type:u.canvasType})},100)}function Ke(e){E.value=e,z.value=!0,W(H.canvasAsideResetClick,{type:e})}function Qe(e){const t={};e?.forEach(e=>{e.status===ot.Generating&&(t[e.main_task_id]?t[e.main_task_id].sub_tasks.push(e.sub_task_id):t[e.main_task_id]={main_task_id:e.main_task_id,sub_tasks:[e.sub_task_id],loading:!1})}
1),Object.values(t).forEach(e=>{Pe(e.main_task_id,Array.from(e.sub_tasks))})}function tt(){s.setGuidedPaymentInfo({show:!0,desc:"VirtualCreate.moreGenerageTipDesc",showType:"OCAgentGenImg"})}function at(){w({styleImg:"",selectedStyleId:vt.empty}),q.value=!1}function nt(){w({rereferenceImg:"",referenceImgThreshold:0,reference_type:1}),V.value=!1}function st(e){if(b.generalModelId=e,b.selectedStyleId=vt.generalModel,b.num=1,W(H.modelChooseClick,{canvasType:u.canvasType,modelId:e}),[pt.gpt,pt.imagen,pt.flux,pt.nanoBananaPro].includes(ze.value?.model_type)){const e=qe.value[0];b.ratio=e.value,b.width=e.rawW,b.height=e.rawH,pt.nanoBananaPro===ze.value?.model_type&&(b.resolution=gt[0].value)}}function it(){const e=qe.value[0];w({num:4,ratio:e.value,width:e.rawW,height:e.rawH})}function rt(){$.value=!0,W(H.clearBtnClick,{type:u.canvasType})}function ct(e){"confirm"===e?C.value===Tt.NanoBanana?se({descriptor:""}):(j.value=[],w({descriptor:"",bad_words:""})):$.value=!1,$.value=!1}function ut(){W(H.aiWriteClick,{type:u.canvasType}),U.value="aiWrite",mt()}function mt(){"aiWrite"===U.value&&v.value||"imageToWords"===U.value&&_.value||(b.descriptor&&("aiWrite"===U.value&&!_e()||"imageToWords"===U.value&&!Ie())?r.value=!0:"imageToWords"===U.value?(L.value="success",_.value=!0,be({img_url:b.imageToWordsUrl}).then(e=>{e.data&&(b.descriptor=e.data.img_tags,j.value=[])},()=>{L.value="failed"}).finally(()=>{_.value=!1})):(g(),ke({img_url:b.rereferenceImg,content:b.descriptor}).then(e=>{b.descriptor=e.data.content,j.value=[]},e=>{}).finally(()=>{p()})))}function ht(){U.value="imageToWords",mt()}function ft(e){"confirm"===e?(r.value=!1,"aiWrite"===U.value?we():Se(),mt()):r.value=!1}function yt(e="",t){if(t.length){const a=t.reduce((e,t)=>(e[t.show]=t.prompt,e),{}),n=e.split(",");e=n.reduce((e,t)=>(a[t]?e.push(a[t]):e.push(t),e),[]).join(",")}return e}function _t(){if(te.value)return;te.value=!0;const{rereferenceImg:e,reference_type:t,descriptor:a,selectedStyleId:n,styleImg:l,styleThreshold:o,referenceImgThreshold:s,bad_words:i,ratio:r,width:c,height:d,num:v,gender:p}=b,m=Lt(r,qe.value,c,d),g={img_url:e,descriptor:yt(a,j.value),is_nsfw:1,style_cfg_id:n,vip_status:h.userSubscribeInfo.is_subscribed?1:0,reference_type:t||1,input_style_url:l,style_weight:Number((o/100).toFixed(1))||.1,is_random_style:!1,bad_words:i,ratio:m,num:v,width:c,height:d,canvas_id:u.canvasId,gender:p};"custom"===m&&Reflect.deleteProperty(g,"ratio"),[vt.custom,vt.random].includes(n)&&Reflect.deleteProperty(g,"style_cfg_id"),n===vt.custom&&o||(Reflect.deleteProperty(g,"input_style_url"),Reflect.deleteProperty(g,"style_weight")),1===g.reference_type?g.face_weight=Number((s/100).toFixed(1))||.1:2===g.reference_type?g.fullbody_weight=Number((s/100).toFixed(1))||.1:3===g.reference_type&&(g.composition_weight=Number((s/100).toFixed(1))||.1),W(H.galleryGenerateClick,{type:u.canvasType,style_id:n,cost:$e.value*v,hasReferenceImg:!!e,width:c,height:d,num:v}),Ce(g).then(e=>{if(0===e.errno&&e.data){const{main_task_id:t,sub_tasks:a,balance:n}=e.data,l=a.map(e=>({id:e.image_id?.toString(),taskId:e.id?.toString(),width:c,height:d,placeholder:"placeholder",source:"generate",batchId:t?.toString()}));Q.emit(ce,l),h.setUserAssets({balance:n}),ae.value=t,Pe(t,a.map(e=>e.id))}}).catch(()=>{te.value=!1})}function It(){T("quick"===u.canvasType?Tt.NanoBanana:Tt.Generator)}function bt(e,t){if(te.value)return;let a={},n=0;const{generalModelId:l,descriptor:o,bad_words:s,ratio:i,width:r,height:c,num:d,gender:v}=b,p=yt(o,j.value),m=ze.value?.model_type===pt.nanoBanana;if(t){const{descriptor:t,uname:o}=oe;n=1,a={style_cfg_id:m?l:le.value,num:1,img_urls:e,descriptor:m?p:t,canvas_id:u.canvasId,quick_key:m?"":o}}else{n=d;const t=Lt(i,qe.value,r,c);a={style_cfg_id:l,img_urls:e,descriptor:p,bad_words:s,ratio:t,width:r,height:c,num:d,canvas_id:u.canvasId,gender:v},"custom"===t&&Reflect.deleteProperty(a,"ratio"),ze.value?.model_type===pt.nanoBananaPro&&(a.resolution=b.resolution,i===dt&&(Reflect.deleteProperty(a,"width"),Reflect.deleteProperty(a,"height")))}const g=[],y=`batch_${et()}`;for(let u=0;u<n;u++){const e=`common_${et()}`;g.push({id:e,taskId:e,width:r,height:c,placeholder:"placeholder",source:"generate",batchId:y})}Q.emit(ce,g),te.value=!0,W(H.generateImageRequest,{canvasType:u.canvasType,modelId:a.style_cfg_id}),Te(a).then(l=>{const{data:o,errno:s}=l;if(0===s&&o&&Array.isArray(o.images)&&o.images.length){if(o.images.length>g.length){const e=new Array(o.images.length-g.length).fill(0).map(()=>{const e=`common_${et()}`,t={id:e,taskId:e,width:r,height:c,placeholder:"placeholder",source:"generate",batchId:y};return g.push({...t}),t});Q.emit(ce,e)}
1if(o.images.forEach((l,s)=>{const{image_url:i,id:d}=l,v=d.toString();Q.emit(ue,{id:v,taskId:g[s].taskId,url:i}),t?W(H.quickPlayGenSuc,{style_id:a.style_cfg_id,uname:m?"":oe.uname,cost:$e.value*n,imagesNum:e.split(",").length,num:o.images.length,canvasType:u.canvasType}):W(H.commonGenerateImageSuc,{style_id:a.style_cfg_id,hasReferenceImg:!!e,width:r,height:c,num:n,cost:$e.value*n,canvasType:u.canvasType})}),h.setUserAssets({balance:o.balance}),g.length>o.images.length){g.slice(o.images.length).forEach(e=>{Q.emit(ve,{taskId:e.taskId})})}}else g.forEach(e=>{Q.emit(ve,{taskId:e.taskId})})}).catch(e=>{let t="";4444===e.errno?(Z({message:f("gallery.underReviewToast"),type:"danger"}),t="yellow"):(Z({message:f("gallery.generateImgTryAgainTip"),type:"danger"}),t="error"),g.forEach(e=>{Q.emit(ve,{taskId:e.taskId})}),W(H.generateError,{canvasType:u.canvasType,num:n,modelName:ze.value?.style_name,status:t})}).finally(()=>{te.value=!1})}return S(()=>q.value,e=>{e&&W(H.styleChoosePanelShow,{type:u.canvasType})}),async function(){const{errno:e,data:t}=await me({resource_type:["text"],area:N.value||"all",scope:["ugc_description_image_tag_web"],resource_version:2});0===e&&t&&t?.ugc_description_image_tag_web&&function(e,t){for(let a=0;a<e.length;a++){const n=e[a];if(t(n)){X.value=n.extend_field?.ugc_description_tags;break}}}(t?.ugc_description_image_tag_web,e=>3===e?.extend_field?.gender)}(),o(u.canvasId),async function(){const{errno:e,data:t}=await xe({lang:N.value});0===e&&t&&(D.value=t,Ve())}(),ye().then(e=>{0===e.errno&&e.data&&(J.value=e.data,b.generalModelId=e.data.find(e=>e.model_type===pt.nanoBananaPro)?.id||0,Ve())}),R(()=>{It(),W(H.canvasPageAsideShow,{type:u.canvasType}),ge().then(e=>{if(0===e.errno&&e.data){const{list:t}=e.data;ne.value=t}else ne.value=[]}).catch(e=>{}),he().then(e=>{0===e.errno&&e.data?le.value=e.data[0]?.id:le.value=0}).catch(e=>{}),Re()}),M(()=>{Q.on("CANVAS:INIT_COMPLETE",Qe)}),A(()=>{Ue(),x.value="",ie(),Q.off("CANVAS:INIT_COMPLETE",Qe)}),(e,t)=>(a(),n("aside",ss,[m(C)===m(Tt).Generator?(a(),c(ll,{key:0,"style-threshold":m(b).styleThreshold,"onUpdate:styleThreshold":t[0]||(t[0]=e=>m(b).styleThreshold=e),selectedStyleId:m(b).selectedStyleId,"onUpdate:selectedStyleId":t[1]||(t[1]=e=>m(b).selectedStyleId=e),referenceImgThreshold:m(b).referenceImgThreshold,"onUpdate:referenceImgThreshold":t[2]||(t[2]=e=>m(b).referenceImgThreshold=e),ratio:m(b).ratio,"onUpdate:ratio":t[3]||(t[3]=e=>m(b).ratio=e),width:m(b).width,"onUpdate:width":t[4]||(t[4]=e=>m(b).width=e),height:m(b).height,"onUpdate:height":t[5]||(t[5]=e=>m(b).height=e),num:m(b).num,"onUpdate:num":t[6]||(t[6]=e=>m(b).num=e),resolution:m(b).resolution,"onUpdate:resolution":t[7]||(t[7]=e=>m(b).resolution=e),descriptor:m(b).descriptor,"onUpdate:descriptor":t[8]||(t[8]=e=>m(b).descriptor=e),imgToImgList:m(b).imgToImgList,"onUpdate:imgToImgList":t[9]||(t[9]=e=>m(b).imgToImgList=e),"style-img":-1===m(b).selectedStyleId?m(fe):m(b).styleImg,rereferenceImg:m(b).rereferenceImg,canvasType:l.canvasType,curChoosedGeneralModel:m(ze),uploadMethod:m(I),loading:m(te),balance:m(h).userAssets.balance,cost:m($e),inputLimitCount:m(De),ratioTempList:m(qe),badWords:m(b).bad_words,onRefresh:Ke,onRereferenceImgIncrease:Xe,onShowStyleDialog:je,onNegativeWords:Ye,onImageToWords:Je,onDescWordsReference:Ze,onDeleteStyle:at,onDeleteRereferenceImg:nt,onAiWrite:ut,onClearPrompt:rt,onCommonGenerateImage:bt,onGenerate2DImage:_t,onGuidePayment:tt},null,8,["style-threshold","selectedStyleId","referenceImgThreshold","ratio","width","height","num","resolution","descriptor","imgToImgList","style-img","rereferenceImg","canvasType","curChoosedGeneralModel","uploadMethod","loading","balance","cost","inputLimitCount","ratioTempList","badWords"])):m(C)===m(Tt).ExpandImage?(a(),c(ul,{key:1,ref_key:"expandImageRef",ref:ee,cost:m(h).userAssets.second_edit_expand_image,balance:m(h).userAssets.balance,inputLimitCount:m(De),canvasType:l.canvasType,onRefresh:Ke,onGuidePayment:tt}
1,null,8,["cost","balance","inputLimitCount","canvasType"])):m(C)===m(Tt).LocalOptimization?(a(),c(hl,{key:2,ref_key:"localOptimizationRef",ref:K,"style-threshold":m(b).prompt_weight,"onUpdate:styleThreshold":t[10]||(t[10]=e=>m(b).prompt_weight=e),cost:m(h).userAssets.second_edit_partial_editing,balance:m(h).userAssets.balance,"style-img":m(b).styleImg,"canvas-id":u.canvasId,canvasType:l.canvasType,inputLimitCount:m(De),onRefresh:Ke,onGuidePayment:tt},null,8,["style-threshold","cost","balance","style-img","canvas-id","canvasType","inputLimitCount"])):m(C)===m(Tt).NanoBanana?(a(),c(os,{key:3,cost:m(h).userAssets.gen_image_quick_banana,canvasType:l.canvasType,balance:m(h).userAssets.balance,inputLimitCount:m(Ne),uploadMethod:m(I),styleList:m(ne),loading:m(te),onRefresh:Ke,onGuidePayment:tt,onCommonGenerateImage:bt,onClearPrompt:rt},null,8,["cost","canvasType","balance","inputLimitCount","uploadMethod","styleList","loading"])):d("",!0),i(ua,{modelValue:m(z),"onUpdate:modelValue":t[11]||(t[11]=e=>y(z)?z.value=e:null),title:e.$t("gallery.remindTitle"),desc:e.$t("VirtualCreate.remindDesc"),list:m(Fe),onHandleOperate:He},null,8,["modelValue","title","desc","list"]),i(ua,{modelValue:m($),"onUpdate:modelValue":t[12]||(t[12]=e=>y($)?$.value=e:null),title:e.$t("gallery.remindTitle"),desc:e.$t("gallery.clearDesc"),list:m(Ge),onHandleOperate:ct},null,8,["modelValue","title","desc","list"]),i(no,{modelValue:m(q),"onUpdate:modelValue":t[13]||(t[13]=e=>y(q)?q.value=e:null),customImg:m(x),"onUpdate:customImg":t[14]||(t[14]=e=>y(x)?x.value=e:null),customStyleActive:m(Be),"onUpdate:customStyleActive":t[15]||(t[15]=e=>y(Be)?Be.value=e:null),curModel:m(b).curModel,"onUpdate:curModel":t[16]||(t[16]=e=>m(b).curModel=e),selectedStyleId:m(b).selectedStyleId,"onUpdate:selectedStyleId":t[17]||(t[17]=e=>m(b).selectedStyleId=e),styleThreshold:m(b).styleThreshold,"onUpdate:styleThreshold":t[18]||(t[18]=e=>m(b).styleThreshold=e),gender:m(b).gender,"onUpdate:gender":t[19]||(t[19]=e=>m(b).gender=e),canvasType:l.canvasType,isCollapse:!0,styleList:m(D),generalModelList:m(J),generalModelId:m(b).generalModelId,uploadMethod:m(I),modelList:m(We),onChooseModel:st,onChooseStyle:it},null,8,["modelValue","customImg","customStyleActive","curModel","selectedStyleId","styleThreshold","gender","canvasType","styleList","generalModelList","generalModelId","uploadMethod","modelList"]),i(mo,{visible:m(V),"onUpdate:visible":t[20]||(t[20]=e=>y(V)?V.value=e:null),rereferenceImg:m(b).rereferenceImg,"onUpdate:rereferenceImg":t[21]||(t[21]=e=>m(b).rereferenceImg=e),threshold:m(b).referenceImgThreshold,"onUpdate:threshold":t[22]||(t[22]=e=>m(b).referenceImgThreshold=e),reference_type:m(b).reference_type,"onUpdate:reference_type":t[23]||(t[23]=e=>m(b).reference_type=e),canvasType:l.canvasType,isCollapse:!0,minThreshold:10,uploadMethod:m(I)},null,8,["visible","rereferenceImg","threshold","reference_type","canvasType","uploadMethod"]),i(_o,{visible:m(B),"onUpdate:visible":t[24]||(t[24]=e=>y(B)?B.value=e:null),modelValue:m(b).bad_words,"onUpdate:modelValue":t[25]||(t[25]=e=>m(b).bad_words=e),isCollapse:!0,placeholder:e.$t("gallery.negativePromptsPlacehold"),"limit-count":m(De)},null,8,["visible","modelValue","placeholder","limit-count"]),i(Ao,{visible:m(F),"onUpdate:visible":t[26]||(t[26]=e=>y(F)?F.value=e:null),imageToWordsUrl:m(b).imageToWordsUrl,"onUpdate:imageToWordsUrl":t[27]||(t[27]=e=>m(b).imageToWordsUrl=e),canvasType:l.canvasType,isCollapse:!0,loading:m(_),status:m(L),uploadMethod:m(I),onRegenerate:ht,onTransform:ht},null,8,["visible","imageToWordsUrl","canvasType","loading","status","uploadMethod"]),i(qo,{visible:m(G),"onUpdate:visible":t[28]||(t[28]=e=>y(G)?G.value=e:null),checkedTags:m(j),"onUpdate:checkedTags":t[29]||(t[29]=e=>y(j)?j.value=e:null),isCollapse:!0,prompt:m(b).descriptor,"tag-list":m(X),placeholder:e.$t("VirtualCreate.imgPromptPlacehold"),onConfirm:t[30]||(t[30]=e=>m(b).descriptor=e)},null,8,["visible","checkedTags","prompt","tag-list","placeholder"]),i(ua,{modelValue:m(r),"onUpdate:modelValue":t[31]||(t[31]=e=>y(r)?r.value=e:null),title:e.$t("VirtualCreate.attention"),desc:e.$t("VirtualCreate.attentionDesc"),list:m(Jt),onHandleOperate:ft},null,8,["modelValue","title","desc","list"])]))}}),[["__scopeId","data-v-e0aa2662"]]),rs={key:0,class:"canvas-loading"},cs=oe(l({__name:"CanvasLoading",props:{visible:{type:Boolean},progress:{}},setup:e=>(t,l)=>{const o=se;return a(),c(L,{name:"loading-fade",mode:"out-in"},{default:u(()=>[(a(),c(U,{to:"body"},[e.visible?(a(),n("div",rs,[i(o,{name:"loading-start"}),s("p",null,r(e.progress)+"%",1)])):d("",!0)]))]),_:1})}}),[["__scopeId","data-v-0c7421dd"]]);var us=(e=>(e.DEFAULT="",e.SCALEUP="scaleup",e.PARTEDIT="partedit",e.AIREMOVE="airemove",e.REMOVEBG="removebg",e.AIFAST="aifast",e))(us||{});const ds="#FF7870",vs={rotateEnabled:!1,borderStroke:ds,borderStrokeWidth:2,anchorStroke:ds,anchorStrokeWidth:2,anchorFill:"white",anchorSize:10,anchorCornerRadius:25,enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]};K.global.t("imageCanvas.operationMode.make"),K.global.t("imageCanvas.operationMode.save"),K.global.t("imageCanvas.operationMode.feedback"),us.SCALEUP,K.global.t("imageCanvas.operationMode.scaleup"),us.PARTEDIT,K.global.t("imageCanvas.operationMode.partEdit"),us.AIREMOVE,K.global.t("imageCanvas.operationMode.aiRemove"),us.REMOVEBG,K.global.t("imageCanvas.operationMode.removeBg"),us.AIFAST,K.global.t("imageCanvas.operationMode.aiFast");const ps={FILL:"rgba(255, 120, 112, 0.5)",STROKE:"#ffffff",STROKE_WIDTH:1,STROKE_DASH:[5,5]};let ms=null;function gs(){return ms||(ms=new Image,ms.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChAGA4nEKtAAAAABJRU5ErkJggg=="),ms}function hs(e,t=3,a=0){return new Promise((n,l)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>n(o),o.onerror=()=>{a<t?setTimeout(()=>{hs(e,t,a+1).then(n).catch(l)},300):l(new Error(`Failed to load image after ${t} retries: ${e}`))},o.src=e})}const fs=new Map;function ys(e,t,a=0,n=!0){let l=a;n&&t({loadingProgress:l});const o=Ae(()=>{l=Math.min(99,l+1),t({loadingProgress:l}),l>=99&&(clearInterval(o),fs.delete(e))},500);fs.set(e,o)}function _s(){let e=null,t=!1;async function a(e,t={}){const{fileName:a=`${Date.now()}.mp4`}=t,n=e.videoUrl;if(!n)return!1;try{const e=await fetch(n);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.blob(),l=URL.createObjectURL(t),o=document.createElement("a");return o.href=l,o.download=a,o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o),setTimeout(()=>{URL.revokeObjectURL(l)},100),setTimeout(()=>{Z({message:K.global.t("imageCanvas.toast.saveSuc"),type:"primary"})},1e3),!0}catch(l){return Z({message:K.global.t("imageCanvas.toast.saveFailed"),type:"danger"}),!1}}async function n(a,n={}){const{fileName:l=`${Date.now()}.png`,backgroundColor:o=null}=n,s=a.image;if(!s)return!1;try{const n=Math.max(1,a.width),i=Math.max(1,a.height),r=document.createElement("canvas"),c=r.getContext("2d");if(!c)return!1;
1r.width=n,r.height=i,c.imageSmoothingEnabled=!0,c.imageSmoothingQuality="high",o&&(c.save(),c.fillStyle=o,c.fillRect(0,0,n,i),c.restore()),c.drawImage(s,0,0,n,i);const u=await async function(){if(e)return e;if(t)return new Promise(a=>{const n=()=>{e||!t?a(e):setTimeout(n,50)};n()});t=!0;try{const a=await hs(Ee);return e=a,t=!1,a}catch(a){return t=!1,null}}();if(u){const e=212,t=52,a=30;c.drawImage(u,n-e-a,i-t-a,e,t)}return await function(e,t){return new Promise(a=>{e.toBlob(e=>{if(!e)return Z({message:K.global.t("ocAgent.toast.saveFailed"),type:"danger"}),a(!1);try{const n=URL.createObjectURL(e),l=document.createElement("a");l.href=n,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(n),a(!0),Z({message:K.global.t("imageCanvas.toast.saveSuc"),type:"primary"})}catch(n){Z({message:K.global.t("imageCanvas.toast.saveFailed"),type:"danger"}),a(!1)}},"image/png",1)})}(r,l)}catch(i){return!1}}return{exportSingleImage:n,exportSingleVideo:a,exportMultiItems:async function(e,t={}){if(!e||0===e.length)return;const l=Date.now(),o=e.map((o,s)=>{const i="video"===o.itemType?"mp4":"png",r=1===e.length?`${l}.${i}`:`${l}-${s+1}.${i}`;return"video"===o.itemType?(W(H.genVideoClickExport),a(o,{...t,fileName:r})):n(o,{...t,fileName:r})});await Promise.all(o)}}}function Is(e,t,a){const n={spacing:20,rowSpacing:20,startX:0,startY:0};function l(t){return e.value.filter(e=>(e.row??0)===t)}function o(e){if(0===e)return n.startX;for(let t=e-1;t>=0;t--){const e=l(t);if(e.length>0)return Math.min(...e.map(e=>e.x))}return n.startX}return{calculateNextPosition:function(t,a,s="generate",i={},r,c){const u={...n,...i};if(0===e.value.length)return{x:u.startX-t/2,y:u.startY-a/2,row:0};const d=function(t,a,n){switch(t){case"upload":default:return 0;case"second_edit":return a?.row??0;case"generate":case"chat_generate":if(n){const t=e.value.find(e=>e.batchId===n);if(t)return t.row??0}return Math.max(0,...e.value.map(e=>e.row??0))+1}}(s,r,c),v=function(e,t,a){if(0===e){const e=l(0);return e.length>0?e[0].y:a.startY-t/2}for(let n=e-1;n>=0;n--){const e=l(n);if(e.length>0){const t=e.reduce((e,t)=>t.x<e.x?t:e);return t.y+t.height+a.rowSpacing}}return a.startY-t/2}(d,a,u);if("second_edit"===s&&r){return{x:r.x+r.width+u.spacing,y:r.y,row:d}}const p=function(e){const t=l(e);return 0===t.length?null:t.reduce((e,t)=>t.x+t.width>e.x+e.width?t:e)}(d);return p?{x:p.x+p.width+u.spacing,y:v,row:d}:{x:o(d),y:v,row:d}},adjustItemsForInsertion:function(t,a,l){if(!a||void 0===l)return e.value;const o=[...e.value],s=n.spacing,i=t.x+t.width,r=o.filter(e=>{if(e===a)return!1;if((e.row??0)!==l)return!1;const n=e.x<i&&e.x+e.width>t.x,o=e.x>=t.x;return n||o});if(r.sort((e,t)=>e.x-t.x),r.length>0){const e=r.find(e=>e.x<i);if(e){const t=i+s-e.x;r.forEach(a=>{a.x>=e.x&&(a.x+=t)})}}return o},hasCollision:function(t,a,n,l){return e.value.some(e=>!(t>=e.x+e.width||t+n<=e.x||a>=e.y+e.height||a+l<=e.y))},findOverlappingItem:function(t,a,n,l){return e.value.find(e=>!(t>=e.x+e.width||t+n<=e.x||a>=e.y+e.height||a+l<=e.y))||null},relayoutBatch:function(t){const a=e.value.filter(e=>e.batchId===t).sort((e,t)=>(e.timestamp||0)-(t.timestamp||0));if(0===a.length)return;const l=a[0];let o=l.x;const s=l.y,i=l.row??0;a.forEach((e,t)=>{0===t?o=e.x+e.width+n.spacing:(e.x=o,e.y=s,e.row=i,o+=e.width+n.spacing)})}}}function bs(e){const{canvas:a,content:n}=e,{serializeCanvasItems:l,deserializeCanvasItems:o}=function(){const e=e=>{const t=e.imageUrl||e.image?.src||"";return{id:e.id,taskId:e.taskId,x:e.x,y:e.y,width:e.width,height:e.height,imageUrl:t,itemType:e.itemType,videoUrl:e.videoUrl,isLoading:e.isLoading,loadingProgress:e.loadingProgress,realSize:e.realSize,originalSize:e.originalSize,imageId:e.imageId,source:e.source,row:e.row,batchId:e.batchId}},t=e=>new Promise((t,a)=>{if(!e||""===e.trim())return void a(new Error("Empty image URL"));const n=new Image;n.onload=()=>{t(n)},n.onerror=()=>{a(new Error(`Failed to load image from URL: ${e}`))},e.startsWith("http")&&!e.startsWith(window.location.origin)&&(n.crossOrigin="anonymous"),n.src=e}),a=async e=>{if(e.isLoading)return{id:e.id,taskId:e.taskId,x:e.x,y:e.y,width:e.width,height:e.height,image:gs(),itemType:e.itemType,videoUrl:e.videoUrl,isLoading:!0,loadingProgress:e.loadingProgress||0,targetUrl:e.imageUrl,realSize:e.realSize||{width:e.width,height:e.height},originalSize:e.originalSize||{width:e.width,height:e.height},imageUrl:e.imageUrl,imageId:e.id,source:e.source,row:e.row,batchId:e.batchId};try{const a=await t(e.imageUrl);return{id:e.id,taskId:e.taskId,x:e.x,y:e.y,width:e.width,height:e.height,image:a,itemType:e.itemType,videoUrl:e.videoUrl,isLoading:!1,loadingProgress:void 0,targetUrl:void 0,realSize:e.realSize||{width:e.width,height:e.height},originalSize:e.originalSize||{width:e.width,height:e.height},imageUrl:e.imageUrl,imageId:e.id,source:e.source,row:e.row,batchId:e.batchId}}catch(a){return{id:e.id,taskId:e.taskId,x:e.x,y:e.y,width:e.width,height:e.height,image:void 0,itemType:e.itemType,videoUrl:e.videoUrl,isLoading:!1,loadingProgress:0,targetUrl:e.imageUrl,hasError:!0,realSize:e.realSize||{width:e.width,height:e.height},originalSize:e.originalSize||{width:e.width,height:e.height},imageUrl:e.imageUrl,imageId:e.id,source:e.source,row:e.row,batchId:e.batchId}}};return{serializeCanvasItem:e,deserializeCanvasItem:a,serializeCanvasItems:t=>t.map(t=>e(t)),deserializeCanvasItems:async(e,t)=>{const n=[],l=e.length;for(let o=0;o<e.length;o++){const s=await a(e[o]);n.push(s),t&&t(o+1,l)}return n},loadImageFromUrl:t}}(),s=t(!1),i=t(0),r=t(null);return{isLoading:s,loadingProgress:i,lastError:r,saveCanvas:async(e={})=>{try{r.value=null;const e=a.canvasState.value,t=a.stageSize.value,o=n.list.value,s=l(o);return{version:"1.0.0",timestamp:Date.now(),canvasState:{scale:e.scale,x:e.x,y:e.y,isSpacePanning:!1,isToolPanning:!1},stageSize:{width:t.width,height:t.height},items:s}}catch(t){const e=t instanceof Error?t.message:"Unknown error occurred";throw r.value=`Failed to save canvas snapshot ${e}`,t}},loadCanvas:async(e,t={})=>{try{s.value=!0,i.value=0,r.value=null;const{clearExisting:l=!0,onImageLoadError:c,onProgress:u}=t;if(!e||"object"!=typeof e)throw new Error("Invalid snapshot data");if(!e.items||!Array.isArray(e.items))throw new Error("Invalid snapshot items data");l&&(n.list.value=[],n.selectedItem.value=null,n.selectedId.value=null,n.clearSelection()),e.canvasState&&(a.canvasState.value={...a.canvasState.value,scale:e.canvasState.scale||1,x:e.canvasState.x||0,y:e.canvasState.y||0,isSpacePanning:!1,isToolPanning:!1}),e.stageSize&&(a.stageSize.value={width:e.stageSize.width,height:e.stageSize.height});const d=await o(e.items,(e,t)=>{i.value=Math.round(e/t*100),u&&u(e,t)}),v=[],p=[];for(const t of d)if(t.hasError){if(p.push(t),c){const a=e.items.find(e=>e.id===t.id);a&&c(a,new Error("Failed to load image"))}}else v.push(t);n.list.value=v,p.length}catch(l){const e=l instanceof Error?l.message:"Unknown error occurred";throw r.value=`Failed to load canvas snapshot: ${e}`,l}finally{s.value=!1,i.value=100}},exportToFile:async(e,t)=>{try{const a=JSON.stringify(e,null,2),n=new Blob([a],{type:"application/json"}),l=`canvas_${new Date(e.timestamp).toISOString().slice(0,19).replace(/[:.]/g,"-")}.canvas`,o=t||l,s=URL.createObjectURL(n),i=document.createElement("a");i.href=s,i.download=o,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(s)}catch(a){const e=a instanceof Error?a.message:"Unknown error occurred";throw r.value=`å¯¼åºæä»¶å¤±è´¥: ${e}`,a}},importFromFile:async e=>{try{if(r.value=null,!e)throw new Error("No file provided");
1if(!e.name.endsWith(".canvas")&&!e.name.endsWith(".json"))throw new Error("Invalid file format. Expected .canvas or .json file");const t=await e.text(),a=JSON.parse(t);if(!a.version||!a.items||!Array.isArray(a.items))throw new Error("Invalid snapshot file format");return a}catch(t){const e=t instanceof Error?t.message:"Unknown error occurred";throw r.value=`Failed to import canvas snapshot: ${e}`,t}},formatSnapshotData:(e,t)=>{const a=new Map;return t?.forEach(e=>{e&&e?.sub_task_id&&a.set(e.sub_task_id,e)}),{...e,items:e.items.filter(e=>!(e.isLoading&&e.taskId.startsWith("common_"))).map(e=>{const t=a.get(e.taskId);return t&&2===t.status?{...e,imageUrl:t.img_url,isLoading:!1,loadingProgress:100}:e})}},clearError:()=>{r.value=null}}}async function ks(e){return new Promise((t,a)=>{const n=document.createElement("video");let l;function o(){clearTimeout(l),n.removeEventListener("loadedmetadata",i),n.removeEventListener("seeked",s),n.removeEventListener("error",r),n.pause(),n.src="",n.load(),n.remove()}async function s(){let e=null;try{const a=n.duration;e=document.createElement("canvas"),e.width=n.videoWidth,e.height=n.videoHeight;const l=e.getContext("2d");if(!l)throw new Error("Failed to get Canvas context");l.drawImage(n,0,0,e.width,e.height);const s=await function(e){return new Promise((t,a)=>{e.toBlob(e=>{e?t(e):a(new Error("Failed to generate Blob"))},"image/png")})}(e),i=await X({file:s,source:"h5CreatorUploadImage"});if(0!==i.errno||!i.data)throw new Error(i.errmsg||"Upload failed");const r={url:i.data.url,width:i.data.width,height:i.data.height,duration:a};if(o(),e){const t=e.getContext("2d");t&&t.clearRect(0,0,e.width,e.height),e.width=0,e.height=0,e=null}t(r)}catch(l){if(o(),e){const t=e.getContext("2d");t&&t.clearRect(0,0,e.width,e.height),e.width=0,e.height=0,e=null}a(l)}}function i(){n.currentTime=.1}function r(e){o();const t=e.message||"Unknown error";a(new Error(`Failed to load video: ${t}`))}n.crossOrigin="anonymous",n.preload="metadata",n.muted=!0,l=setTimeout(()=>{o(),a(new Error("Video load timeout after 30000ms"))},3e4),n.addEventListener("loadedmetadata",i),n.addEventListener("seeked",s),n.addEventListener("error",r),n.src=e,n.load()})}const ws=t({});function Ss(){const e=Pe(),{updateState:a}=Jo(),{updateState:n,tempImg:l,refreshState:o,toggleTab:s,state:i,customImg:r}=Wo(),{stateData:c}=Kt(),u=t(!1);async function d(e){if(!u.value){u.value=!0;try{const t=await Re(e);if(0===t.errno&&t.data){const{style_id:e,gender:a,input_tags:n,reference_type:o,origin_img_url:s,main_task_id:i,sub_task_id:r,input_style_url:u,extra:{width:d,height:v,ratio:p,face_weight:m,fullbody_weight:g,composition_weight:h,style_weight:f,bad_words:y,quick_key:_,resolution:I}}=t.data,b={input_style_url:u,main_task_id:i,sub_task_id:r,bad_words:y,selectedStyleId:e,descriptor:n,gender:a,ratio:p,width:d,height:v,num:1,quick_key:_,reference_type:o,face_weight:m,fullbody_weight:g,composition_weight:h,styleThreshold:100*f,referenceImgThreshold:100*m||100*g||100*h,resolution:I?I.toUpperCase():"1K"};ws.value=t.data,c.value.gender=Le[a]||2;const k=s?s.split(","):[],w=k.map(e=>({id:et(),src:e,disable:!1,visiblePopover:!1}));return(I.trim().length?ht:ft)>w.length&&w.push({...l,id:et()}),Reflect.set(b,"referenceImages",w),i?Reflect.set(b,"rereferenceImg",k[0]||""):(Reflect.set(b,"imgToImgList",w),Reflect.set(b,"selectedStyleId",vt.generalModel),Reflect.set(b,"generalModelId",e)),b}}catch(t){ws.value={}}finally{u.value=!1}}}return{requestLoading:u,fetchImageDetail:d,getDetailAndJumpToGenerator:async function(t,l){const c=await d(t);if("quick"===l){if(s(Tt.NanoBanana),c){const{descriptor:e,referenceImages:t=[],quick_key:n}=c;a({descriptor:e,referenceImages:t,uname:n})}}else if(c){Reflect.deleteProperty(c,"quick_key"),Reflect.deleteProperty(c,"referenceImages");const{selectedStyleId:t,styleImg:a,generalModelId:l}=i,{main_task_id:u,sub_task_id:d,input_style_url:v,descriptor:p,...m}=c;e.setGenerateImgTaskInfo({mainTaskId:u,subTaskId:d}),o(),c?.main_task_id?.startsWith("ugc_cf_edit")?(Reflect.set(m,"descriptor",p),n(m)):(v?(Reflect.set(m,"styleImg",v),Reflect.set(m,"selectedStyleId",vt.custom),r.value=v):t===c.selectedStyleId&&a&&Reflect.set(m,"styleImg",a),c.selectedStyleId===vt.generalModel&&0===c?.generalModelId&&Reflect.set(m,"generalModelId",l),Reflect.set(m,"descriptor",p),n(m)),s(Tt.Generator)}},genImgInfo:ws}}function Cs(e,t,a){const n=a.scale||1;return{x:(e-a.x)/n,y:(t-a.y)/n}}function Ts(e,t){const a=Math.min(e.x,t.x),n=Math.min(e.y,t.y);return{x:a,y:n,width:Math.max(e.x,t.x)-a,height:Math.max(e.y,t.y)-n}}function xs(e,t){const a=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),n=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return a>0&&n>0}function Ms(a){const{stageRef:n,contentLayerRef:l,canvasState:o,canvasCursor:s,canvasId:i,canvasType:r}=a,{getDetailAndJumpToGenerator:c}=Ss(),u=t(null),d=t(null),v=t([]),p=function(a){const{stageRef:n,canvasState:l,list:o}=a,s=t(!1),i=t(null),r=t(null),c=t({visible:!1,x:0,y:0,width:0,height:0}),u=t(null),d=t([]),v=e(()=>o.value.filter(e=>d.value.includes(e.id))),p=e(()=>d.value.length>1);return{isSelecting:s,selectionRect:c,selectionRectCanvas:u,selectedIds:d,selectedImgs:v,hasMultiSelection:p,handleMouseDown:function(e){const t=n.value?.getNode?.();if(!t)return!1;if(l.value.isSpacePanning||l.value.isToolPanning)return!1;const a=e.target;if("Image"===a?.className)return!1;if(a?.getParent&&"Transformer"===a.getParent()?.className)return!1;const o=t.getPointerPosition?.();if(!o)return!1;s.value=!0,i.value={x:o.x,y:o.y},r.value={x:o.x,y:o.y},c.value={visible:!0,x:o.x,y:o.y,width:0,height:0};const d=Cs(o.x,o.y,l.value);return u.value={x:d.x,y:d.y,width:0,height:0},e.cancelBubble=!0,e.evt?.stopPropagation&&e.evt.stopPropagation(),e.evt?.preventDefault&&e.evt.preventDefault(),!0},handleMouseMove:function(e){if(!s.value||!i.value)return!1;const t=n.value?.getNode?.(),a=t?.getPointerPosition?.();if(!a)return!1;r.value={x:a.x,y:a.y};const v=Ts(i.value,r.value);c.value={visible:!0,...v};const p=Ts(Cs(i.value.x,i.value.y,l.value),Cs(r.value.x,r.value.y,l.value));u.value=p;const m=[];for(const n of o.value)n.isLoading||xs({x:n.x,y:n.y,width:n.width,height:n.height},p)&&m.push(n.id);return d.value=m,e.cancelBubble=!0,e.evt?.stopPropagation&&e.evt.stopPropagation(),!0},handleMouseUp:function(e){if(!s.value)return!1;s.value=!1;const t=c.value,a=t.width<3&&t.height<3;return c.value={visible:!1,x:0,y:0,width:0,height:0},u.value=null,a&&(d.value=[]),e.cancelBubble=!0,e.evt?.stopPropagation&&e.evt.stopPropagation(),{handled:!0,tiny:a}},clearSelection:function(){d.value=[],c.value={visible:!1,x:0,y:0,width:0,height:0},u.value=null,s.value=!1}}}({stageRef:n,canvasState:o,list:v}),m=(e,t)=>
1({...e,x:t.x(),y:t.y(),width:t.width(),height:t.height()}),g=()=>{d.value&&(d.value=null,l.value&&l.value.fadeOut(()=>{l.value.clearTransformer()}))};return s&&S(()=>s.value,e=>{"drag"===e&&d.value&&g()}),{selectedId:u,selectedItem:d,list:v,...p,selectItem:(e,t=!1)=>{if("drag"!==s?.value&&!e.isLoading&&d.value?.id!==e?.id)if(n.value){"upload"===e.source||e.imageId.includes("common_")||"video"===e?.itemType||c({canvas_id:i?.value,image_id:e.imageId},r?.value);try{const a=n.value.getNode().findOne(`#${e.id}`);if(a)return d.value=m(e,a),void x(()=>{if(l.value){if(l.value.updateTransformer(a),!t)return void l.value.fadeIn();l.value.setOpacity(1)}});d.value=e}catch(a){d.value=e}}else d.value=e},switchSelection:g,updateItemPosition:m,syncItemPosition:(e,t=null)=>{let a,n,l,o,s;t?(a=e.id,n=t.x(),l=t.y(),o=t.width(),s=t.height()):(a=e.id,n=e.x,l=e.y,o=e.width,s=e.height),d.value&&d.value.id===a&&(d.value={...d.value,x:n,y:l,width:o,height:s});const i=v.value.find(e=>e.id===a);i&&(i.x=n,i.y=l,i.width=o,i.height=s)},loadImage:function(e){return new Promise((t,a)=>{const n=new Image;n.crossOrigin="anonymous",n.onload=()=>t(n),n.onerror=a,n.src=e})},addImageWithLoading:function(e,t,a,n,l,o=50,s=50,i="image"){const r={id:e,taskId:t,x:o,y:s,width:n,height:l,image:gs(),itemType:i,isLoading:!0,loadingProgress:0,targetUrl:a,realSize:{width:n,height:l},originalSize:{width:n,height:l},imageId:e,imageUrl:a};v.value.push(r);const c="placeholder"===a||a.includes("loading")||t.includes("loading")||t.startsWith("common_");return async function(e,t,a){ys(e.taskId,t=>{const n={...e,...t};a(n)})}(r,0,t=>{const a=v.value.findIndex(t=>t.id===e);if(-1!==a){if(c)return void(v.value[a]={...v.value[a],loadingProgress:t.loadingProgress});const e=t.image;e&&e.naturalWidth>1&&e.naturalHeight>1&&(t.originalSize={width:e.naturalWidth,height:e.naturalHeight},t.realSize={width:e.naturalWidth,height:e.naturalHeight}),v.value[a]=t}}),e},resumeProgressTimers:()=>function(e){e.value.forEach(t=>{if(t.isLoading&&!fs.has(t.taskId)){const a=t.loadingProgress||0;a<99&&ys(t.taskId,a=>{const n=e.value.findIndex(e=>e.taskId===t.taskId);-1!==n&&(e.value[n]={...e.value[n],...a})},a,!1)}})}(v)}}function As(e){const{stageRef:t,contentLayerRef:a,canvasState:n,canvasCursor:l,stageSize:o,canvas:s,showFeedbackDialog:i,canvasId:r,canvasType:c}=e,u=Ms({stageRef:t,contentLayerRef:a,canvasState:n,canvasCursor:l,canvasId:r,canvasType:c}),d=function(e){const{stageRef:t,contentLayerRef:a,canvasState:n,canvasCursor:l,selectedId:o,selectedItem:s,list:i,selectItem:r,syncItemPosition:c,showFeedbackDialog:u,canvasType:d}=e,{t:v}=de(),{insertImage:p}=Ut();let m=!1,g={x:0,y:0};const h=e=>{const t=e.target?.getStage?.();if(!t)return;const a=t.getPointerPosition();if(a){m=!0,g={x:a.x,y:a.y};try{t.stopDrag(),t.draggable(!1)}catch{}}},f=e=>{if(!m)return;const t=e.target?.getStage?.();if(!t)return;const a=t.getPointerPosition();if(!a)return;const l=a.x-g.x,o=a.y-g.y;0===l&&0===o||(n.value.x+=l,n.value.y+=o,g={x:a.x,y:a.y})},y=e=>{if(!m)return;m=!1;const t=e.target?.getStage?.();if(t)try{t.draggable(n.value.isSpacePanning||n.value.isToolPanning)}catch{}},_=e=>{if(n.value.isSpacePanning||n.value.isToolPanning)return void h(e);const t=e.target;if("drag"===l?.value)return void h(e);if("Transformer"===t.getParent()?.className||"Image"===t.className)return;let a=t;for(;a;){if(a.getLayer&&"UILayer"===a.getLayer()?.name())return;if(["Rect","Group","Text","Image"].includes(a.className)&&a.getParent&&"UILayer"===a.getParent()?.getLayer?.()?.name())return;a=a.getParent?.()}};return S(()=>t.value,()=>{const e=t.value?.getNode?.();
1e&&(e.off("mousemove.spacePan mouseup.spacePan mouseleave.spacePan"),e.on("mousemove.spacePan",f),e.on("mouseup.spacePan",y),e.on("mouseleave.spacePan",y))},{immediate:!0}),D(()=>{const e=t.value?.getNode?.();e&&e.off("mousemove.spacePan mouseup.spacePan mouseleave.spacePan")}),{handleDragstart:e=>{if(n.value.isSpacePanning||n.value.isToolPanning)return void e.evt.preventDefault();o.value=e.target.id();const t=i.value.find(e=>e.id===o.value);if(!t)return;const a=i.value.indexOf(t);i.value.splice(a,1),i.value.push(t),r(t,!0)},handleDragmove:e=>{const t=e.target.id();s.value&&t===s.value.id&&(s.value={...s.value,x:e.target.x(),y:e.target.y()})},handleDragend:e=>{o.value=null;const t=e.target?.id();t&&(c({id:t},e.target),s.value&&t===s.value.id&&a.value&&a.value.updateTransformer(e.target))},handleStageClick:_,handleTransform:e=>{const t=e.target,a=t.id(),n=i.value.find(e=>e.id===a);if(n){const e=Math.round(t.width()*t.scaleX()),l=Math.round(t.height()*t.scaleY());n.width=e,n.height=l,n.x=t.x(),n.y=t.y(),n.realSize={width:e,height:l},t.scaleX(1),t.scaleY(1),s.value?.id===a&&(s.value={...n,realSize:{width:e,height:l}})}},handleOptBar:async function(e,t){switch(e){case"toInput":W(H.genImgClickToInput);const{url:e,width:a,height:n}=await La(t);if(!Ue(a,n))return void Z({message:"ãã¦ã³ãã¼ãã«å¤±æãã¾ãããç»åã®å¤§ããããã§ãã¯ãã¦ãã ãã",type:"danger"});p({url:e,width:a,height:n})||Z({message:v("ocAgent.uploadOverLimt"),type:"danger"});break;case"feedback":W(H.genImgClickFeedback,{canvasType:d.value}),u&&(u(),W(H.genImgShowFeedback,{canvasType:d.value}))}},createStageClickHandler:function(e,t){return a=>{["brush","lasso","eraser"].includes(e.value)&&t?.value||_(a)}}}}({stageRef:t,contentLayerRef:a,canvasState:n,canvasCursor:l,selectedId:u.selectedId,selectedItem:u.selectedItem,list:u.list,selectItem:u.selectItem,syncItemPosition:u.syncItemPosition,showFeedbackDialog:i,canvasType:c});return{...u,handleDragstart:d.handleDragstart,handleDragmove:d.handleDragmove,handleDragend:d.handleDragend,handleStageClick:d.handleStageClick,handleTransform:d.handleTransform,handleOptBar:d.handleOptBar,createStageClickHandler:function(e,t,a){const o=d.createStageClickHandler(e,t);return s=>{if(o(s),!(n.value.isSpacePanning||n.value.isToolPanning||"drag"===l?.value||["brush","lasso","eraser"].includes(e.value)&&t?.value)){const e=s.target;"Transformer"!==e.getParent()?.className&&"Image"!==e.className&&(u.switchSelection(),a?.onDeselect?.(),a?.onResetMainTool?.())}}},addImageWithAutoLayout:function(e,t,a,l,i,r={}){const{source:c="generate",batchId:d,itemType:v="image"}=r;if(!o||!s)return u.addImageWithLoading(e,t,a,l,i,50,50,v);const p=Is(u.list),m=p.calculateNextPosition(l,i,c,{},u.selectedItem.value,d);if("second_edit"===c&&u.selectedItem.value){const e={x:m.x,y:m.y,width:l,height:i,row:m.row};p.adjustItemsForInsertion(e,u.selectedItem.value,m.row).forEach(e=>{const t=u.list.value.find(t=>t.id===e.id);t&&(t.x=e.x,t.y=e.y)})}const g=u.addImageWithLoading(e,t,a,l,i,m.x,m.y,v);if(g){const t=u.list.value.find(t=>t.id===e);t&&(t.source=c,t.row=m.row,t.batchId=d,t.timestamp=Date.now())}return x(()=>{const e=function(e,t,a){const n={padding:50,animationDuration:300,maintainScale:!0};function l(l,o={}){const s={...n,...o},i=s.padding,r=l.width+2*i,c=l.height+2*i,u=t.value.width/r,d=t.value.height/c,v=Math.min(u,d,1),p=l.x+l.width/2,m=l.y+l.height/2,g=t.value.width/2-p*v,h=t.value.height/2-m*v;a.animateToPosition?a.animateToPosition({x:g,y:h,scale:v,duration:s.animationDuration}):(e.value.x=g,e.value.y=h,e.value.scale=v)}return{focusToImage:function(l,o={}){const s={...n,...o},i=l.x+l.width/2,r=l.y+l.height/2,c=s.maintainScale?e.value.scale:1,u=t.value.width/2-i*c,d=t.value.height/2-r*c;a.animateToPosition?a.animateToPosition({x:u,y:d,scale:c,duration:s.animationDuration}):(e.value.x=u,e.value.y=d,e.value.scale=c)},focusToPosition:function(l,o,s,i,r={}){const c={...n,...r},u=l+s/2,d=o+i/2,v=c.maintainScale?e.value.scale:1,p=t.value.width/2-u*v,m=t.value.height/2-d*v;a.animateToPosition?a.animateToPosition({x:p,y:m,scale:v,duration:c.animationDuration}):(e.value.x=p,e.value.y=m,e.value.scale=v)}
1,focusToArea:l,focusToAllImages:function(e,t={}){if(0===e.length)return;let a=1/0,n=1/0,o=-1/0,s=-1/0;e.forEach(e=>{a=Math.min(a,e.x),n=Math.min(n,e.y),o=Math.max(o,e.x+e.width),s=Math.max(s,e.y+e.height)}),l({x:a,y:n,width:o-a,height:s-n},t)},isAreaVisible:function(a,n,l,o){const s=e.value.scale,i=a*s+e.value.x,r=n*s+e.value.y;return!(i+l*s<0||r+o*s<0||i>t.value.width||r>t.value.height)},defaultOptions:n}}(n,o,s);e.focusToPosition(m.x,m.y,l,i,{padding:50,animationDuration:300,maintainScale:!0})}),g},relayoutBatch:function(e){if(!o)return;Is(u.list).relayoutBatch(e)}}}const Es={MAX_SIZE:2048,MIN_SIZE:256},Ps="scaleup-rect";function Rs(a){const{selectedItem:n,contentLayerRef:l,layerConfig:o,currentPixelSize:s,handleCustomSizeUpdate:i,isContentLayer:r=!1,externalIsScaleupMode:c}=a,u=t(!1),d=r&&c?c:u,v=t(null),p=t(null),m=t(null);let g=null;const h=e(()=>d.value?r?v.value:l?.value?.scaleupRectState?l.value.scaleupRectState:null:null),f=e(()=>d.value&&null!==h.value),y=e(()=>{if(!n.value||!d.value)return;const e=n.value,t=o?.value?.scaleX||1,a=e.realSize?.width||e.width,l=e.realSize?.height||e.height,s=Math.max(Es.MIN_SIZE,a)*t,i=Math.max(Es.MIN_SIZE,l)*t,r=Es.MAX_SIZE*t,c=Es.MAX_SIZE*t;return(e,t)=>{const a=Math.max(s,Math.min(r,t.width)),n=Math.max(i,Math.min(c,t.height)),l=t.x+t.width/2,o=t.y+t.height/2;return{...t,width:a,height:n,x:l-a/2,y:o-n/2}}}),_=e(()=>d.value&&n.value&&v.value?{x:v.value.x,y:v.value.y,width:v.value.width,height:v.value.height,fill:"#ffffff",opacity:1,draggable:!0,id:Ps}:null);function I(){if(!n.value)return{cx:0,cy:0};return{cx:n.value.x+n.value.width/2,cy:n.value.y+n.value.height/2}}function b(){try{const e=s?.value,t=n.value;if(!e||!t)return;const a=t.realSize?.width||t.image?.naturalWidth||t.width,o=t.width/a,i=Math.max(1,Math.round(e.width*o)),c=Math.max(1,Math.round(e.height*o));r?A(i,c):l?.value?.setScaleupRectSize&&l.value.setScaleupRectSize(i,c)}catch{}}function k(){if(d.value&&n.value&&!v.value){const{cx:e,cy:t}=I(),a=n.value,l=a.realSize?.width,o=a.realSize?.height,s=Math.max(Es.MIN_SIZE,l),i=Math.max(Es.MIN_SIZE,o),r=Math.min(Es.MAX_SIZE,Math.max(s,l)),c=Math.min(Es.MAX_SIZE,Math.max(i,o));v.value={x:e-r/2,y:t-c/2,width:r,height:c},x(()=>w())}}function w(){if(m.value&&p.value)try{const e=m.value.getNode?.(),t=p.value.getNode?.();e&&t&&e.nodes([t])}catch{}}function C(e=!1){if(!p.value)return;const t=p.value.getNode?.();if(!t)return;const a=Math.max(1,t.width()*t.scaleX()),l=Math.max(1,t.height()*t.scaleY()),o=t.x(),s=t.y();if(t.scaleX(1),t.scaleY(1),v.value={x:o,y:s,width:a,height:l},w(),e&&g&&n.value){const e=(n.value.realSize?.width||n.value.image?.naturalWidth||n.value.width)/n.value.width;g(Math.round(a*e),Math.round(l*e))}}function T(){r||(d.value=!0),x(()=>{b(),r?E((e,t)=>{i(e,t)}):l?.value?.setScaleupCustomSizeChangeCallback&&l.value.setScaleupCustomSizeChangeCallback((e,t)=>{i(e,t)})})}function M(){r||(d.value=!1),n.value&&l?.value?.updateTransformerForItem&&x(()=>{l.value.updateTransformerForItem(n.value)})}function A(e,t){if(!n.value)return;const a=n.value,l=a.realSize?.width||a.width,o=a.realSize?.height||a.height,s=Math.max(Es.MIN_SIZE,l),i=Math.max(Es.MIN_SIZE,o),r=Math.max(s,Math.min(Es.MAX_SIZE,e)),c=Math.max(i,Math.min(Es.MAX_SIZE,t)),{cx:u,cy:d}=I();v.value={x:u-r/2,y:d-c/2,width:r,height:c},x(()=>w())}function E(e){g=e}return S(()=>s?.value,()=>{d.value&&x(()=>b())},{deep:!0}),S(()=>[d.value,n.value?.id].join("_"),()=>{d.value&&n.value?(k(),x(()=>w())):v.value=null},{immediate:!0}),{isScaleupMode:d,scaleupRectState:v,scaleupRectRef:p,scaleupTransformerRef:m,isScaleupVisible:f,currentScaleupRect:h,scaleupRectBoundBoxFunc:y,scaleupRectConfig:_,SCALEUP_RECT_ID:Ps,SCALEUP_SIZE_LIMITS:Es,enterScaleupMode:T,exitScaleupMode:M,enableScaleupMode:T,disableScaleupMode:M,setScaleupRectSize:A,updateScaleupRectSize:A,initScaleupRectWithSize:A,updateScaleupRectByPixelSize:b,initScaleupRectIfNeeded:k,updateScaleupTransformerNodes:w,handleScaleupRectDragMove:function(){C(!1)},handleScaleupRectDragEnd:function(){C()},handleScaleupRectTransform:function(){C(!1)},handleScaleupRectTransformEnd:function(){C(!0)},getScaleupRect:function(){return v.value?{...v.value}:null},getScaleupExpandDistances:function(){if(!n.value||!v.value)return null;const e=n.value,t=v.value,a=Math.max(0,e.y-t.y),l=Math.max(0,t.y+t.height-(e.y+e.height)),o=Math.max(0,e.x-t.x),s=Math.max(0,t.x+t.width-(e.x+e.width)),i=(e.realSize?.width||e.image?.naturalWi
1dth||e.width)/e.width;return{top:Math.round(a*i),bottom:Math.round(l*i),left:Math.round(o*i),right:Math.round(s*i)}},setScaleupCustomSizeChangeCallback:E}}const Ls=l({__name:"ContentLayer",props:{list:{},selectedId:{default:null},selectedItem:{},layerConfig:{default:()=>({})},currTool:{default:""},canvasCursor:{default:"select"},canvasTransform:{default:()=>({scale:1,x:0,y:0})},boundBoxFunc:{type:Function,default:void 0},hasMultiSelection:{type:Boolean,default:!1},isScaleupMode:{type:Boolean,default:!1}},emits:["select-item","transform","context-menu","video-click"],setup(l,{expose:o,emit:s}){const r=l,v=s,p=t(null),g=t([]),h=t([]),{transformerOpacity:f,fadeIn:y,fadeOut:_,setOpacity:I,resetOpacity:w}=function(){const e=t(0),a=t(0),n=t(!1);function l(t,l=300,o){if(n.value)return;n.value=!0;const s=performance.now(),i=e.value,r=a.value,c=u=>{const d=u-s,v=Math.min(d/l,1),p=1-Math.pow(1-v,3);e.value=i+(t-i)*p,a.value=r+(t-r)*p,v<1?requestAnimationFrame(c):(n.value=!1,o?.())};requestAnimationFrame(c)}return{transformerOpacity:e,labelOpacity:a,isAnimating:n,fadeIn:function(){l(1,300)},fadeOut:function(e){l(0,300,e)},setOpacity:function(t=1){e.value=t,a.value=t},resetOpacity:function(){e.value=0,a.value=0}}}(),C=e(()=>r.list.filter(e=>e.isLoading)),T=t(null),A=t(!1);S(()=>r.selectedItem,e=>{T.value=e},{immediate:!0}),S(()=>r.isScaleupMode,e=>{A.value=e},{immediate:!0});const E=e(()=>r.layerConfig||{}),P=Rs({selectedItem:T,layerConfig:E,currentPixelSize:t(null),handleCustomSizeUpdate:()=>{},isContentLayer:!0,externalIsScaleupMode:A}),{isScaleupMode:R,scaleupRectState:L,scaleupRectRef:U,scaleupTransformerRef:D,scaleupRectBoundBoxFunc:O,scaleupRectConfig:z,handleScaleupRectDragMove:$,handleScaleupRectDragEnd:q,handleScaleupRectTransform:V,handleScaleupRectTransformEnd:B,setScaleupRectSize:F,getScaleupRect:G,getScaleupExpandDistances:W,setScaleupCustomSizeChangeCallback:H}=P,j=t(),X=t(),Y=t(),J=t(null);function Z(e){return{x:e.width/2-120,y:e.height/2-120,width:240,height:240}}const K={SIZE:40,OFFSET_Y:-40},Q={OFFSET_Y:10,FONT_SIZE:16,COLOR:"black",FONT_FAMILY:"Poppins-SemiBold",ALIGN:"center"};function ee(e){e.evt&&(J.value={x:e.evt.clientX,y:e.evt.clientY})}const te=1,ae=2;function ne(){const e=1/(r.canvasTransform?.scale||1);return Math.max(te,Math.min(ae,e))}function le(e){const t=e.x+e.width/2,a=e.y+e.height/2,n=ne();return{x:t-K.SIZE*n/2,y:a+K.OFFSET_Y*n,width:K.SIZE*n,height:K.SIZE*n}}function oe(e){const t=e.x+e.width/2,a=e.y+e.height/2,n=`${e.loadingProgress||Math.min(95,Math.floor(Date.now()/50)%100)}%`,l=ne(),o=Q.FONT_SIZE*l,s=n.length<=2?16*l:n.length<=3?18*l:15*l;return{x:t,y:a+Q.OFFSET_Y*l,text:n,fontSize:o,fill:Q.COLOR,align:Q.ALIGN,fontFamily:Q.FONT_FAMILY,offsetX:s}}const se=e=>{const t=["brush","lasso","eraser"].includes(r.currTool),a="drag"===r.canvasCursor,n={id:e.id,x:e.x,y:e.y,width:e.width,height:e.height,draggable:!t&&!a};return R.value&&L.value&&e.id===r.selectedItem?.id&&(n.dragBoundFunc=t=>{const a=L.value;if(!a)return t;const n=r.layerConfig||{},l=n.scaleX||1,o=n.x||0,s=n.y||0,i=(t.x-o)/l,c=(t.y-s)/l;let u,d,v,p;if(e.width<=a.width?(u=a.x,d=a.x+a.width-e.width):(u=a.x+a.width-e.width,d=a.x),e.height<=a.height?(v=a.y,p=a.y+a.height-e.height):(v=a.y+a.height-e.height,p=a.y),u>d){const e=u;u=d,d=e}if(v>p){const e=v;v=p,p=e}return{x:Math.max(u,Math.min(d,i))*l+o,y:Math.max(v,Math.min(p,c))*l+s}}),n},ie=e=>{v("select-item",e)},re=e=>{v("transform",e)},ce=(e,t)=>{if(e.evt){e.evt.preventDefault(),e.evt.stopPropagation();const a=e.evt.clientX,n=e.evt.clientY;v("context-menu",{x:a,y:n,item:t})}};function ue(e){e&&w(),p.value?.getNode&&p.value.getNode().nodes([])}function de(e){p.value&&x(()=>{if(p.value?.getNode)try{const t=p.value.getNode().getStage(),a=t?.findOne(`#${e.id}`);if(a){p.value.getNode().nodes([a])}}catch(t){}})}S(()=>r.selectedItem,(e,t)=>{!e||r.hasMultiSelection?ue(t):function(e,t){t&&t.id===e.id||w(),de(e)}(e,t)},{immediate:!0});const ve=()=>{h.value.forEach(e=>{e?.getNode&&e.getNode().nodes([])}),g.value=[],h.value=[],p.value?.getNode&&p.value.getNode().nodes([])};return M(()=>{!function(){const e=new Image;e.onload=()=>{j.value=e},e.src=De;const t=new Image;t.onload=()=>{X.value=t},t.src="data:image/svg+xml,%3csvg%20width='41'%20height='40'%20viewBox='0%200%2041%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16.5%208C16.5001%2016.6983%2023.4414%2023.775%2032.0869%2023.9941L32.5%2024C23.6634%2024%2016.5%2031.1634%2016.5%2040C16.5%2031.3016%209.55873%2024.224%200.913086%2024.0049L0.5%2024C9.33647%2024%2016.4999%2016.8364%2016.5%208Z'%20fill='black'/%3e%3cpath%20d='M31.166%200C31.166%204.99359%2035.0881%209.07133%2040.0195%209.32129L40.5%209.33301C35.3453%209.33301%2031.166%2013.5123%2031.166%2018.667C31.166%2013.5123%2026.9877%209.33301%2021.833%209.33301C26.9877%209.33301%2031.166%205.15466%2031.166%200Z'%20fill='black'/%3e%3c/svg%3e"}(),function(){const e=new Image;e.onload=()=>{Y.value=e},e.src=Ne}()}),o({updateTransformer:e=>{if(Array.isArray(e))t=e,ve(),g.value=t.map((e,t)=>`transformer-${t}`),x(()=>{t.forEach((e,t)=>{const a=h.value[t];a?.getNode&&e&&a.getNode().nodes([e])})});else if(e){if(ve(),p.value?.getNode){p.value.getNode().nodes([e])}}else ve();var t},updateTransformerForItem:de,clearTransformer:ve,fadeIn:y,fadeOut:_,setOpacity:I,setScaleupRectSize:F,getScaleupRect:G,getScaleupExpandDistances:W,setScaleupCustomSizeChangeCallback:H,scaleupRectState:e(()=>L.value)}),(e,t)=>{const o=N("v-rect"),s=N("v-image"),r=N("v-group"),y=N("v-transformer"),_=N("v-text"),I=N("v-layer");return a(),c(I,{config:l.layerConfig},{default:u(()=>[m(R)&&l.selectedItem&&m(z)?(a(),c(o,{key:0,ref_key:"scaleupRectRef",ref:U,config:m(z),onDragmove:m($),onDragend:m(q),onTransform:m(V),onTransformend:m(B)},null,8,["config","onDragmove","onDragend","onTransform","onTransformend"])):d("",!0),(a(!0),n(b,null,k(l.list,e=>(a(),c(r,{key:e.id},{default:u(()=>["video"===e.itemType?(a(),c(r,{key:0,config:se(e),onClick:t=>ie(e),onTransform:re,onContextmenu:t=>ce(t,e),onDragend:t=>function(e,t){if(e.target){const a=e.target;t.x=a.x(),t.y=a.y()}}(t,e)},{default:u(()=>[i(s,{config:{x:0,y:0,width:e.width,height:e.height},image:e.image},null,8,["config","image"]),m(Y)?(a(),c(s,{key:0,config:Z(e),image:m(Y),onMousedown:ee,onMouseup:t=>function(e,t){if(!J.value||!e.evt)return void(J.value=null);const a=e.evt.clientX,n=e.evt.clientY;Math.sqrt(Math.pow(a-J.value.x,2)+Math.pow(n-J.value.y,2))<5&&v("video-click",t),J.value=null}(t,e)},null,8,["config","image","onMouseup"])):d("",!0)]),_:2},1032,["config","onClick","onContextmenu","onDragend"])):(a(),c(s,{key:1,config:se(e),image:e.image,onClick:t=>ie(e),onTransform:re,onContextmenu:t=>ce(t,e)},null,8,["config","image","onClick","onContextmenu"]))]),_:2},1024))),128)),!l.selectedItem||l.hasMultiSelection||m(R)?d("",!0):(a(),c(y,{key:1,ref_key:"transformer",ref:p,config:{...m(vs),...l.boun
1dBoxFunc&&{boundBoxFunc:l.boundBoxFunc},opacity:m(f)}},null,8,["config"])),m(R)?d("",!0):(a(!0),n(b,{key:2},k(m(g),(e,t)=>(a(),c(y,{key:e,ref_for:!0,ref:e=>((e,t)=>{e&&(h.value[t]=e)})(e,t),config:{...m(vs),...l.boundBoxFunc&&{boundBoxFunc:l.boundBoxFunc},opacity:m(f)}},null,8,["config"]))),128)),m(R)&&l.selectedItem&&m(L)?(a(),c(y,{key:3,ref_key:"scaleupTransformerRef",ref:D,config:{...m(vs),rotateEnabled:!1,keepRatio:!1,centeredScaling:!0,...m(O)&&{boundBoxFunc:m(O)}}},null,8,["config"])):d("",!0),(a(!0),n(b,null,k(m(C),e=>(a(),c(r,{key:`loading-${e.id}`},{default:u(()=>[i(s,{config:{x:e.x,y:e.y,width:e.width,height:e.height},image:m(j)},null,8,["config","image"]),i(s,{config:le(e),image:m(X)},null,8,["config","image"]),i(_,{config:oe(e)},null,8,["config"])]),_:2},1024))),128))]),_:1},8,["config"])}}}),Us=oe(l({__name:"InteractionLayer",props:{selectedItem:{},currTool:{default:""},cursorSize:{default:20},layerConfig:{default:()=>({})},toolsState:{},keyState:{},selectionRectCanvas:{default:null},interaction:{}},emits:["mask-updated","drawing-change"],setup(n,{expose:l,emit:o}){const s=n,r=o,v=t(null),p=e(()=>e=>{const t=s.selectedItem;t&&void 0!==t.x&&void 0!==t.y&&void 0!==t.width&&void 0!==t.height&&e.rect(t.x,t.y,t.width,t.height)}),g=s.interaction||(()=>{const{useInteraction:t}=require("../hooks/layers/interaction");return t({selectedItem:e(()=>s.selectedItem),currTool:e(()=>s.currTool),cursorSize:e(()=>s.cursorSize),toolsState:e(()=>s.toolsState),keyState:e(()=>s.keyState),selectionRectCanvas:e(()=>s.selectionRectCanvas),onMaskUpdated:e=>r("mask-updated",e),onDrawingChange:e=>r("drawing-change",e)})})(),{antOffset:h,currentLine:f,mergedPolygon:y,isDrawing:_,isToolActive:I,renderMergedShape:b,renderLassoPreview:k,handleMouseDown:w,handleMouseMove:C,handleMouseUp:T,handleToolChange:x,handleMaskUpdated:M,handleBrushSizeChange:A,clearMask:E,cursorEnter:P,cursorMove:R,cursorLeave:L}=g;function U(){const e=s.layerConfig||{},t=e.scaleX||e.scale||1;return ps.STROKE_WIDTH/t}return S(h,()=>{if(v.value){const e=v.value,t=e?.getNode?.()||e?.getLayer?.();t?.batchDraw?.()}}),l({clearMask:E,handleToolChange:x,handleMaskUpdated:M,handleBrushSizeChange:A}),(e,t)=>{const l=N("v-shape"),o=N("v-line"),r=N("v-group"),g=N("v-rect"),h=N("v-layer");return a(),c(h,{ref_key:"maskLayerRef",ref:v,config:n.layerConfig},{default:u(()=>[m(y)?(a(),c(l,{key:0,config:{sceneFunc:m(b),listening:!1}},null,8,["config"])):d("",!0),m(f)&&m(_)&&m(f).points&&m(f).points.length>=2&&"lasso"!==s.currTool&&n.selectedItem?(a(),c(r,{key:1,config:{clipFunc:m(p)}},{default:u(()=>[i(o,{config:{points:m(f).points,stroke:m(f).stroke||"#ff0000",strokeWidth:m(f).strokeWidth||2,lineCap:"round",lineJoin:"round",fill:m(f).fill,closed:m(f).closed,globalCompositeOperation:"source-over",opacity:.7}},null,8,["config"])]),_:1},8,["config"])):d("",!0),"lasso"===s.currTool&&m(f)&&m(_)&&m(f).points&&m(f).points.length>=4?(a(),c(l,{key:2,config:{sceneFunc:m(k),listening:!1,opacity:.6}},null,8,["config"])):d("",!0),n.selectionRectCanvas&&n.selectionRectCanvas.width>0&&n.selectionRectCanvas.height>0?(a(),c(g,{key:3,config:{x:n.selectionRectCanvas.x,y:n.selectionRectCanvas.y,width:n.selectionRectCanvas.width,height:n.selectionRectCanvas.height,stroke:m(ps).STROKE,strokeWidth:U(),fill:m(ps).FILL,listening:!1}},null,8,["config"])):d("",!0),m(I)&&n.selectedItem&&void 0!==n.selectedItem.x&&void 0!==n.selectedItem.y?(a(),c(g,{key:4,config:{x:n.selectedItem.x,y:n.selectedItem.y,width:n.selectedItem.width,height:n.selectedItem.height,fill:"transparent",listening:!0,zIndex:1e3},onMouseenter:m(P),onMousedown:m(w),onMousemove:t[0]||(t[0]=e=>{m(R)(e),m(C)(e)}),onMouseup:m(T),onMouseleave:t[1]||(t[1]=e=>m(L)(e)),onTouchstart:m(w),onTouchmove:m(C),onTouchend:m(T)},null,8,["config","onMouseenter","onMousedown","onMouseup","onTouchstart","onTouchmove","onTouchend"])):d("",!0)]),_:1},8,["config"])}}}),[["__scopeId","data-v-e1bd863b"]]),Ds={class:"cursor-switch__current"},Ns={class:"cursor-switch__list"},Os=oe(l({__name:"CursorSwitch",props:{canvasType:{default:lt.Normal},canvasCursor:{default:"select"},isCollape:{type:Boolean,default:!1},keyState:{default:()=>({spacePressed:!1})}},emits:["set-cursor"],setup(t,{emit:n}){const l=t,u=n,d=e(()=>l.keyState?.spacePressed?"drag":l.canvasCursor),v=e(()=>({left:l.isCollape?`${tt(313)}rem`:`${tt(670)}rem`}));function g(e){W(H.genImgCursorStyle,{canvasType:l.canvasType,cursorStyle:e}),u("set-cursor",e)}return(e,n)=>{const l=se;return a(),c(U,{to:"body"},[s("div",{class:"cursor-switch",style:p(m(v))},[s("div",Ds,["drag"===m(d)?(a(),c(l,{key:0,class:"curr-icon",name:"mouse-grab-oc"})):(a(),c(l,{key:1,class:"curr-icon",name:"mouse-pointer-oc"})),i(l,{class:"chevron-down",name:"chevron-down"}),s("div",Ns,[s("p",{class:o({active:"select"===t.canvasCursor}),onClick:n[0]||(n[0]=e=>g("select"))},[i(l,{name:"mouse-pointer-oc"}),s("span",null,r(e.$t("imageCanvas.commTools.select")),1)],2),s("p",{class:o({active:"drag"===t.canvasCursor}),onClick:n[1]||(n[1]=e=>g("drag"))},[i(l,{name:"mouse-grab-oc"}),s("span",null,r(e.$t("imageCanvas.commTools.drag")),1)],2)])])],4)])}}}),[["__scopeId","data-v-050ad6ef"]]),zs={key:0,class:"operation-bar__card"},$s=["onClick"],qs={class:"operation-bar__btn-text"},Vs={key:1,class:"operation-bar__tool-container"},Bs={key:0,class:"operation-bar__tool"},Fs=["onClick"],Gs={key:0,class:"operation-bar__cursor-size"},Ws={class:"operation-bar__cursor-size-label"},Hs={class:"operation-bar__cursor-size-value"},js={key:0,class:"operation-bar__tool-line"},Xs={key:1,class:"operation-bar__tool"},Ys={key:2,class:"operation-bar__tool aifast"},Js=["placeholder","disabled"],Zs=oe(l({__name:"OperationBar",props:{canvasType:{},selectedItem:{},canvasTransform:{default:()=>({scale:1,x:0,y:0})},stageSize:{default:()=>({width:0,height:0})},toolsState:{},isSelecting:{type:Boolean,default:!1},selectedImgs:{default:()=>[]},currMainTool:{default:""},isAiRemoveProcessing:{type:Boolean,default:!1},isAiFastProcessing:{type:Boolean,default:!1},isRemoveBgProcessing:{type:Boolean,default:!1}},emits:["handle-opt-bar","tool-change","brush-size-change","ai-remove-click","remove-bg-click","ai-fast-click"],setup(l,{emit:v}){const{t:g}=de(),h=l,f=v,w=Oe(),S=Pe(),C={airemove:1,removebg:1,aifast:6},T=e(()=>""!==h.currMainTool&&"scaleup"!==h.currMainTool&&"oc"!==h.currMainTool),x=e(()=>{if(!h.selectedItem)return!1;if(h.selectedImgs&&h.selectedImgs.length>0)return!1;return!h.selectedItem.itemType||"image"===h.selectedItem.itemType}),M=e(()=>"removebg"!==h.currMainTool&&"aifast"!==h.currMainTool),A=t(""),E=e(()=>0===A.value.trim().length||h.isAiFastProcessing),P=e(()=>h.toolsState?.currTool?.value??""),R=e({get:()=>h.toolsState?.cursorSize?.value??20,set:e=>{h.toolsState?.setCursorSize&&h.toolsState.setCursorSize(e)}}),U=e(()=>h.toolsState?.canUndo?.value??!1),D=e(()=>h.toolsState?.canRedo?.value??!1),N=e(()=>h.toolsState?.hasSelection?.value??!1);function O(e){return"undo"===e?!U.value:"redo"===e?!D.value:"delete"===e&&!N.value}const z=e=>{R.value=e,f("brush-size-change",e)},$=e=>{const t=C[e];return!((w.userAssets?.balance||0)<t)||(S.setGuidedPaymentInfo({show:!0,desc:"VirtualCreate.moreGenerageTipDesc",showType:"OCAgentEditImg"}),!1)},q=()=>{W(H.genImgClickBgRemoveBtn,{canvasType:h.canvasType}),!h.isAiRemoveProcessing&&$("airemove")&&f("ai-remove-click")},V=()=>{!h.isRemoveBgProcessing&&$("removebg")&&f("remove-bg-click")},B=()=>{W(H.genImgClickAiFastBtn,{canvasType:h.canvasType}),!E.value&&$("aifast")&&f("ai-fast-click",A.value.trim())},F=e(()=>[{id:"feedback",icon:"tool-feedback",text:g("imageCanvas.operationMode.feedback"),action:"feedback"},{id:"toInput",icon:"tool-toInput",text:g("imageCanvas.operationMode.toInput"),action:"toInput"}]),G=[{id:"brush",icon:"tool-brush",text:g("imageCanvas.operationMode.brush"),action:"brush"},{id:"lasso",icon:"tool-lasso",text:g("imageCanvas.operationMode.lasso"),action:"lasso"},{id:"eraser",icon:"tool-eraser",text:g("imageCanvas.operationMode.eraser"),action:"eraser"},{id:"undo",icon:"tool-last",text:g("imageCanvas.operationMode.undo"),action:"undo"},{id:"redo",icon:"tool-next",text:g("imageCanvas.operationMode.redo"),action:"redo"},{id:"delete",icon:"tool-del",text:g("imageCanvas.operationMode.delete"),action:"delete"}],j=at(34),X=e(()=>{const e=h.selectedItem;if(!e)return{};const t=((e,t)=>{const a=h.canvasTransform;return{x:e*a.scale+a.x,y:t*a.scale+a.y}})(e.x+e.width/2,e.y+e.height),a=t.y+j;return{position:"absolute",left:`${t.x}px`,top:`${a}px`,transform:"translateX(-50%)",zIndex:1e3,pointerEvents:h.isSelecting?"none":"auto"}});return(e,t)=>{const v=se,w=Ht,S=Xt;return a(),c(L,{name:"operation-bar-fade",mode:"out-in"},{default:u(()=>
1[m(x)?(a(),n("div",{key:l.selectedItem?.id,class:"operation-bar",style:p(m(X))},[m(T)?(a(),n("div",Vs,[m(M)?(a(),n("div",Bs,[(a(),n(b,null,k(G,e=>{return a(),n(b,{key:e.id},[s("div",{class:o(["operation-bar__tool-item-wrapper",{"has-brush-control":("brush"===e.id||"eraser"===e.id)&&m(P)===e.id}])},[s("div",{class:o(["operation-bar__tool-item",{active:m(P)===e.id,disabled:O(e.id)}]),onClick:t=>!O(e.id)&&(e=>{if(f("tool-change",e),["partedit","airemove"].includes(h.currMainTool)){const t="partedit"===h.currMainTool?H.genImgPartEditTools:H.genImgAiRemoveTools;W(t,{canvasType:h.canvasType,toolType:e})}})(e.id)},[i(w,{"popper-class":"operation-bar__tool-tooltip",effect:"dark",content:e.text,placement:"top",offset:10},{default:u(()=>[i(v,{name:e.icon},null,8,["name"])]),_:2},1032,["content"])],10,Fs),"brush"!==e.id&&"eraser"!==e.id||m(P)!==e.id?d("",!0):(a(),n("div",Gs,[s("div",Ws,r(m(g)("imageCanvas.operationMode.size")),1),i(S,{modelValue:m(R),"onUpdate:modelValue":t[0]||(t[0]=e=>y(R)?R.value=e:null),min:1,max:100,step:1,"show-tooltip":!1,class:"operation-bar__cursor-slider",onInput:z},null,8,["modelValue"]),s("div",Hs,r(m(R))+" px",1)]))],2),(l=e.id,"eraser"===l||"delete"===l&&"airemove"===h.currMainTool?(a(),n("div",js)):d("",!0))],64);var l}),64)),"airemove"===l.currMainTool?(a(),n("div",{key:0,class:o(["operation-bar__tool-item airemove",{disabled:h.isAiRemoveProcessing}]),onClick:q},[s("span",null,r(m(g)("imageCanvas.operationMode.aiRemove")),1),i(v,{name:"tool-gold"}),s("span",null,r(1))],2)):d("",!0)])):d("",!0),"removebg"===l.currMainTool?(a(),n("div",Xs,[s("div",{class:o(["operation-bar__tool-item removebg",{disabled:h.isRemoveBgProcessing}]),onClick:V},[s("span",null,r(m(g)("imageCanvas.operationMode.removeBg")),1),i(v,{name:"tool-gold"}),s("span",null,r(1))],2)])):d("",!0),"aifast"===l.currMainTool?(a(),n("div",Ys,[_(s("textarea",{"onUpdate:modelValue":t[1]||(t[1]=e=>y(A)?A.value=e:null),class:"operation-bar__tool-input",type:"text",placeholder:m(g)("imageCanvas.operationMode.aiFastPlaceholder"),maxlength:200,disabled:h.isAiFastProcessing},null,8,Js),[[I,m(A)]]),s("div",{class:o(["operation-bar__tool-send",{disabled:m(E)}]),onClick:B},[s("span",null,r(m(g)("imageCanvas.operationMode.aiFast")),1),i(v,{name:"tool-gold"}),s("span",null,r(6))],2)])):d("",!0)])):(a(),n("div",zs,[(a(!0),n(b,null,k(m(F),e=>(a(),n("div",{key:e.id,class:"operation-bar__btn",onClick:t=>{return a=e.id,void(h.selectedItem&&f("handle-opt-bar",a,h.selectedItem));var a}},[i(v,{name:e.icon,class:"operation-bar__btn-icon"},null,8,["name"]),s("span",qs,r(e.text),1)],8,$s))),128))]))],4)):d("",!0)]),_:1})}}}),[["__scopeId","data-v-990123fe"]]),Ks={class:"size-label__content"},Qs=oe(l({__name:"SizeLable",props:{selectedItem:{},canvasTransform:{default:()=>({scale:1,x:0,y:0})},hasMultiSelection:{type:Boolean,default:!1},isScaleupMode:{type:Boolean,default:!1},scaleupRect:{default:null}},setup(t){const l=t,o=e(()=>l.isScaleupMode?l.selectedItem&&l.scaleupRect&&!l.hasMultiSelection:l.selectedItem&&!l.hasMultiSelection),i=e(()=>l.isScaleupMode&&l.scaleupRect?`${Math.round(l.scaleupRect.width)} x ${Math.round(l.scaleupRect.height)}`:l.selectedItem?`${Math.round(l.selectedItem.width)} x ${Math.round(l.selectedItem.height)}`:""),v=e(()=>{if(l.hasMultiSelection)return{display:"none"};let e,t;if(l.isScaleupMode&&l.scaleupRect)e=l.scaleupRect.x+l.scaleupRect.width/2,t=l.scaleupRect.y+l.scaleupRect.height;else{const a=l.selectedItem;if(!a)return{display:"none"};e=a.x+a.width/2,t=a.y+a.height}const a=((e,t)=>{const a=l.canvasTransform;return{x:e*a.scale+a.x,y:t*a.scale+a.y}})(e,t);return{position:"absolute",left:`${a.x}px`,top:`${a.y+at(8)}px`,transform:"translateX(-50%)",zIndex:999,pointerEvents:"none"}});return(e,t)=>(a(),c(L,{name:"size-label-fade"},{default:u(()=>[m(o)?(a(),n("div",{key:0,class:"size-label",style:p(m(v))},[s("div",Ks,r(m(i)),1)],4)):d("",!0)]),_:1}))}}),[["__scopeId","data-v-4032e7c4"]]),ei={class:"tool-bar"},ti=["onClick"],ai=oe(l({__name:"ToolBar",props:{currentTool:{default:""},selectedItem:{}},emits:["tool-click"],setup(t,{emit:l}){const{t:r}=de(),d=t,v=l,p=e(()=>{if(!d.selectedItem)return!1;const{width:e,height:t}=d.selectedItem?.realSize??{width:0,height:0};return e<256||e>2048||t<256||t>2048}),g=e(()=>[{id:"scaleup",icon:"scaleup-oc",tooltip:p.value?r("imageCanvas.toast.sizeSupport"):r("imageCanvas.operationMode.scaleup")},{id:"partedit",icon:"partedit-oc",tooltip:p.value?r("imageCanvas.toast.sizeSupport"):r("imageCanvas.operationMode.partEdit")},{id:"airemove",icon:"airemove-oc",tooltip:p.value?r("imageCanvas.toast.sizeSupport"):r("imageCanvas.operationMode.aiRemove")},{id:"removebg",icon:"removebg-oc",tooltip:p.value?r("imageCanvas.toast.sizeSupport"):r("imageCanvas.operationMode.removeBg")},{id:"aifast",icon:"aifast-oc",tooltip:p.value?r("imageCanvas.toast.sizeSupport"):r("imageCanvas.operationMode.aiFast")}]),h=()=>{v("tool-click","oc")};return(e,t)=>{const l=se,r=Ht;return a(),c(L,{name:"toolbar-fade",appear:""},{default:u(()=>[s("div",ei,[(a(!0),n(b,null,k(m(g),e=>(a(),n("div",{key:e.id,class:o(["tool-bar__item",{active:d.currentTool===e.id,disabled:m(p)}]),onClick:t=>{return a=e.id,void(p.value||v("tool-click",a));var a}},[i(r,{"popper-class":"tool-bar__item-tooltip",effect:"dark",content:e.tooltip,placement:"top",offset:10},{default:u(()=>[i(l,{name:e.icon},null,8,["name"])]),_:2},1032,["content"])],10,ti))),128)),s("div",{class:o(["tool-bar__oc",{active:"oc"===d.currentTool}]),onClick:h},[i(l,{name:"tool-oc"})],2)])]),_:1})}}}),[["__scopeId","data-v-b995cb65"]]),ni={class:"export__content"},li=oe(l({__name:"Export",props:{selectedImgs:{default:()=>[]},isCollape:{type:Boolean}},setup(t){const l=t,{exportMultiItems:o}=_s(),v=e(()=>l.selectedImgs&&l.selectedImgs.length>0),g=e(()=>({left:`${tt(415)}rem`}));
1async function h(){l.selectedImgs&&0!==l.selectedImgs.length&&await o(l.selectedImgs)}return(e,t)=>{const l=se;return a(),c(L,{name:"export-fade",mode:"out-in"},{default:u(()=>[m(v)?(a(),n("div",{key:0,class:"export",style:p(m(g)),onClick:h},[s("p",ni,[i(l,{name:"editor-export-oc"}),s("span",null,r(e.$t("imageCanvas.commTools.export")),1)])],4)):d("",!0)]),_:1})}}}),[["__scopeId","data-v-4ef37503"]]),oi=oe(l({__name:"Publish",props:{canvasType:{},selectedImgs:{default:()=>[]},isCollape:{type:Boolean}},setup(t){const l=t,{t:v}=de(),{genImgInfo:g,requestLoading:h}=Ss(),f=e(()=>g.value||{}),y=e(()=>!(!l.selectedImgs||0===l.selectedImgs.length)&&"upload"!==l.selectedImgs[0]?.source);S(y,e=>{e&&W(H.ocAgentPublishShow,{canvasType:l.canvasType})},{immediate:!0,deep:!0});const _=e(()=>({left:`${tt(607)}rem`}));async function I(){if(W(H.ocAgentPublishClick,{canvasType:l.canvasType}),!l.selectedImgs||0===l.selectedImgs.length)return;if(l.selectedImgs.length>1)return void Z({message:v("imageCanvas.commTools.publishDisabled")});if(h.value){for(let e=0;e<5&&(await Sa(3e3),h.value);e++);if(h.value)return void Z({message:v("DynamicPublishDialog.publishFailed")})}const e={...f.value,...l.selectedImgs[0]};Q.emit("OC_AGENT:PUBLISH",e)}return(e,l)=>{const v=se;return a(),c(L,{name:"publish-fade",mode:"out-in"},{default:u(()=>[m(y)?(a(),n("div",{key:0,class:"publish",style:p(m(_)),onClick:I},[s("p",{class:o({publish__content:!0,"publish__content-disabled":t.selectedImgs.length>1})},[i(v,{name:"editor-publish-oc"}),s("span",null,r(e.$t("imageCanvas.commTools.publish")),1)],2)],4)):d("",!0)]),_:1})}}}),[["__scopeId","data-v-13d1fe4a"]]),si=["onClick"],ii={class:"context-menu__item-text"},ri=oe(l({__name:"ContextMenu",props:{canvasType:{},visible:{type:Boolean},x:{},y:{},targetItem:{}},emits:["close","export","delete"],setup(l,{emit:o}){const v=l,h=o,{t:f}=de(),y=t(null),_=e(()=>[{id:"download",text:f("imageCanvas.commTools.download"),icon:"tool-download",action:"export",disabled:!v.targetItem},{id:"delete",text:f("imageCanvas.commTools.delete"),icon:"tool-del",action:"delete",disabled:!v.targetItem}]),I=e(()=>{if(!v.visible)return{};let{x:e,y:t}=v;if("undefined"!=typeof window){const a=160,n=100;e+a>window.innerWidth&&(e=window.innerWidth-a-10),t+n>window.innerHeight&&(t=window.innerHeight-n-10),e=Math.max(10,e),t=Math.max(10,t)}return{position:"fixed",left:`${e}px`,top:`${t}px`,zIndex:1e4}});function w(e){if(!v.visible||!y.value)return;const t=e.target;y.value.contains(t)||h("close")}function S(e){v.visible&&"Escape"===e.key&&(e.preventDefault(),h("close"))}return M(()=>{document.addEventListener("click",w),document.addEventListener("keydown",S)}),D(()=>{document.removeEventListener("click",w),document.removeEventListener("keydown",S)}),(e,t)=>(a(),c(U,{to:"body"},[i(L,{name:"context-menu-fade",appear:""},{default:u(()=>[l.visible?(a(),n("div",{key:0,ref_key:"menuRef",ref:y,class:"context-menu",style:p(m(I)),onClick:t[0]||(t[0]=g(()=>{},["stop"]))},[(a(!0),n(b,null,k(m(_),e=>(a(),n("div",{key:e.id,class:"context-menu__item",onClick:t=>function(e){if(!e.disabled&&v.targetItem){switch(e.action){case"export":W(H.genImgClickMenuDownload,{canvasType:v.canvasType}),"video"===v.targetItem.itemType&&W(H.genVideoClickMenuDownload,{canvasType:v.canvasType}),h("export",v.targetItem);break;case"delete":W(H.genImgClickMenuDelete,{canvasType:v.canvasType}),h("delete",v.targetItem)}h("close")}}(e)},[s("span",ii,r(e.text),1)],8,si))),128))],4)):d("",!0)]),_:1})]))}}),[["__scopeId","data-v-acdfbb3f"]]),ci={class:"feedback-dialog__title"},ui={class:"feedback-dialog__textarea-wrapper"},di=["placeholder"],vi={class:"feedback-dialog__footer"},pi=["disabled"],mi={class:"feedback-dialog__submit-text"},gi=oe(l({__name:"FeedbackDialog",props:{visible:{type:Boolean,default:!1}},emits:["update:visible","submit"],setup(l,{emit:v}){const p=B(),h=e(()=>{const e=p.params?.source;return"string"==typeof e?e:""}),f=l,b=v,k=t("");function w(){C()}function C(){b("update:visible",!1)}function T(){k.value.trim()&&(W(H.genImgSubmitFeedback,{feedback:k.value.trim(),canvasType:h.value}),C())}return S(()=>f.visible,e=>{e&&(k.value="")}
1),(e,t)=>{const v=se;return a(),c(L,{name:"feedback-fade",mode:"out-in"},{default:u(()=>[(a(),c(U,{to:"body"},[l.visible?(a(),n("div",{key:0,class:"feedback-dialog",onClick:w},[s("div",{class:"feedback-dialog__container",onClick:t[1]||(t[1]=g(()=>{},["stop"]))},[s("button",{type:"button",class:"feedback-dialog__close",onClick:C},[i(v,{name:"close",class:"feedback-dialog__close-icon"})]),s("h2",ci,r(e.$t("imageCanvas.feedback.title")),1),s("div",ui,[_(s("textarea",{"onUpdate:modelValue":t[0]||(t[0]=e=>y(k)?k.value=e:null),class:"feedback-dialog__textarea",placeholder:e.$t("imageCanvas.feedback.desc"),rows:"12",maxlength:"200"},null,8,di),[[I,m(k)]])]),s("div",vi,[s("button",{type:"button",class:o(["feedback-dialog__submit",{"feedback-dialog__submit--disabled":!m(k).trim()}]),disabled:!m(k).trim(),onClick:T},[s("span",mi,r(e.$t("imageCanvas.feedback.btn")),1)],10,pi)])])])):d("",!0)]))]),_:1})}}}),[["__scopeId","data-v-eebd0541"]]);function hi(a,n){const l=t("select"),o=function(){const e=t(""),a=t(20),n=t([]),l=t(!1),o=t(!1),s=t(!1),i=(t=["brush","lasso","eraser"])=>t.includes(e.value);return{currTool:e,cursorSize:a,currMaskData:n,canUndo:l,canRedo:o,hasSelection:s,setCursorSize:e=>{a.value=e},setCurrTool:t=>{e.value=t},updateMaskData:e=>{n.value=e},setUndoRedoAvailability:(e,t)=>{l.value=e,o.value=t},setHasSelection:e=>{s.value=e},isToolActive:i,isDrawingTool:()=>i(["brush","lasso","eraser"])}}(),s=t({width:window.innerWidth,height:window.innerHeight}),i=t({scale:.3,x:0,y:0,isSpacePanning:!1,isToolPanning:!1,canvasId:0,canvasType:""}),r=t({spacePressed:!1,ctrlPressed:!1,cmdPressed:!1}),c=t({lastTouches:[],lastDistance:0,lastCenter:{x:0,y:0}});let u=null,d=null,v=t(!1);const p=e(()=>({...s.value,draggable:i.value.isSpacePanning||i.value.isToolPanning,pixelRatio:1})),m=e(()=>Math.round(100*i.value.scale)),g=e=>Math.max(.1,Math.min(2,e)),h=()=>{u&&(u.destroy(),u=null),d&&(d.destroy(),d=null),v.value=!1},f=(e,t)=>{const a=i.value.scale,n=g(e);if(n===a)return;const l=n/a,o=t.x-(t.x-i.value.x)*l,s=t.y-(t.y-i.value.y)*l;i.value.scale=n,i.value.x=o,i.value.y=s},y=(e,t,n=!0)=>{const l=i.value.scale,o=g(e);if(o===l)return;if(!n)return void f(o,t);h(),v.value=!0;const s=o/l,r=t.x-(t.x-i.value.x)*s,c=t.y-(t.y-i.value.y)*s,p=a?.value?.getStage?.()||a?.value;if(!p)return void f(o,t);const m=new ya.Layer({visible:!1,listening:!1});p.add(m),d=m;const y=new ya.Group;y.setAttrs({scaleX:l,scaleY:l,x:i.value.x,y:i.value.y}),m.add(y),u=new ya.Tween({node:y,duration:.3,easing:ya.Easings.EaseOut,scaleX:o,scaleY:o,x:r,y:c,onUpdate:()=>{i.value.scale=y.getAttr("scaleX"),i.value.x=y.getAttr("x"),i.value.y=y.getAttr("y")},onFinish:()=>{u=null,v.value=!1,d&&(d.destroy(),d=null)}}),u.play()},_=t(null);let I=null;const b=e=>{const t=e||_.value;t&&(s.value={width:t.clientWidth,height:t.clientHeight})},k=rt(b,100),w=rt(()=>{b()},200),S=e=>{const t=document.activeElement;if(!t||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&"true"!==t.getAttribute("contenteditable"))switch(e.code){case"Space":e.preventDefault(),r.value.spacePressed=!0,i.value.isSpacePanning=!0;break;case"ControlLeft":case"ControlRight":r.value.ctrlPressed=!0;break;case"MetaLeft":case"MetaRight":r.value.cmdPressed=!0;break;case"Delete":case"Backspace":n?.onDelete&&(e.preventDefault(),n.onDelete())}},C=e=>{switch(e.code){case"Space":r.value.spacePressed=!1,i.value.isSpacePanning=!1;break;case"ControlLeft":case"ControlRight":r.value.ctrlPressed=!1;break;case"MetaLeft":case"MetaRight":r.value.cmdPressed=!1}},T=e=>{const t=document.activeElement;(!t||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&"true"!==t.getAttribute("contenteditable"))&&"Space"===e.code&&e.preventDefault()},x=e=>{_.value&&(_.value.removeEventListener("keydown",S),_.value.removeEventListener("keyup",C),_.value.removeAttribute("tabindex")),I&&(I.disconnect(),I=null),_.value=e,e&&(e.setAttribute("tabindex","0"),e.style.outline="none",e.addEventListener("keydown",S),e.addEventListener("keyup",C),b(e),I=new ResizeObserver(()=>{k(e)}),I.observe(e))};return M(()=>{window.addEventListener("resize",w),window.addEventListener("keydown",T)}),D(()=>{window.removeEventListener("resize",w),window.removeEventListener("keydown",T),x(null),h(),w.cancel(),k.c
1ancel()}),{canvasCursor:l,setCanvasCursor:e=>{l.value=e},...o,stageSize:s,canvasState:i,keyState:r,touchState:c,stageConfig:p,isAnimating:v,scalePercentage:m,MIN_SCALE:.1,MAX_SCALE:2,SCALE_STEP:.1,clampScale:g,scaleAtPoint:y,zoomIn:()=>{const e={x:s.value.width/2,y:s.value.height/2},t=i.value.scale+.1;y(t,e)},zoomOut:()=>{const e={x:s.value.width/2,y:s.value.height/2},t=i.value.scale-.1;y(t,e)},resetScale:()=>{const e={x:s.value.width/2,y:s.value.height/2};y(1,e)},setToolPanningEnabled:e=>{i.value.isToolPanning=e},setCanvasContainer:x,updateStageSize:b,stopCurrentTween:h,animateToPosition:e=>{const{x:t,y:n,scale:l,duration:o=300}=e,s=g(l);if(Math.abs(i.value.x-t)<1&&Math.abs(i.value.y-n)<1&&Math.abs(i.value.scale-s)<.01)return;h(),v.value=!0;const r=a?.value?.getStage?.()||a?.value;if(!r)return i.value.x=t,i.value.y=n,i.value.scale=s,void(v.value=!1);const c=new ya.Layer({visible:!1,listening:!1});r.add(c),d=c;const p=new ya.Group;p.setAttrs({scaleX:i.value.scale,scaleY:i.value.scale,x:i.value.x,y:i.value.y}),c.add(p),u=new ya.Tween({node:p,duration:o/1e3,easing:ya.Easings.EaseOut,scaleX:s,scaleY:s,x:t,y:n,onUpdate:()=>{i.value.scale=p.getAttr("scaleX"),i.value.x=p.getAttr("x"),i.value.y=p.getAttr("y")},onFinish:()=>{u=null,v.value=!1,d&&(d.destroy(),d=null)}}),u.play()},boundBoxFunc:(e,t)=>{const a=i.value.scale,n=20*a,l=8192*a;if(t.width<=0||t.height<=0)return e;const o=Math.abs(t.width),s=Math.abs(t.height);let r=o,c=s,u=!1;if(o<n||s<n){const e=n/Math.min(o,s);r=o*e,c=s*e,u=!0}else if(o>l||s>l){const e=l/Math.max(o,s);r=o*e,c=s*e,u=!0}if(!u)return t;const d=t.x!==e.x,v=t.y!==e.y,p=e.x+e.width,m=e.y+e.height,g=d?p-r:e.x,h=v?m-c:e.y;return{...t,x:g,y:h,width:r,height:c}},handleResize:w,handleWheel:e=>{const t=e.evt;if(t.ctrlKey||r.value.ctrlPressed||r.value.cmdPressed){e.evt.preventDefault();const a=e.target.getStage().getPointerPosition();if(!a)return;let n;n=1===t.deltaMode?1+.02*Math.abs(t.deltaY):1.05;const l=t.deltaY>0?-1:1,o=i.value.scale*Math.pow(n,l);y(o,a,!1)}else{if(Math.abs(t.deltaX)>0||Math.abs(t.deltaY)<50&&0===t.deltaMode){e.evt.preventDefault();const a=1;i.value.x-=t.deltaX*a,i.value.y-=t.deltaY*a}}},handleTouchStart:e=>{const t=e.evt;t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation();const a=t.touches;if(a&&a.length>0){if(c.value.isHandlingTouch=!0,a.length>=2){const e=a[0],t=a[1],n=Math.sqrt(Math.pow(t.clientX-e.clientX,2)+Math.pow(t.clientY-e.clientY,2)),l={x:(e.clientX+t.clientX)/2,y:(e.clientY+t.clientY)/2};c.value.lastDistance=n,c.value.lastCenter=l}c.value.lastTouches=Array.from(a)}},handleTouchMove:e=>{const t=e.evt;if(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),!c.value.isHandlingTouch)return;const a=t.touches[0],n=t.touches[1];if(a&&n){const e=Math.sqrt(Math.pow(n.clientX-a.clientX,2)+Math.pow(n.clientY-a.clientY,2)),t={x:(a.clientX+n.clientX)/2,y:(a.clientY+n.clientY)/2};if(c.value.lastDistance>0&&c.value.lastCenter){const a=e/c.value.lastDistance,n=i.value.scale*a;y(n,t,!1);const l=t.x-c.value.lastCenter.x,o=t.y-c.value.lastCenter.y;i.value.x+=l,i.value.y+=o}c.value.lastDistance=e,c.value.lastCenter=t}else if(a&&1===c.value.lastTouches.length){const e=c.value.lastTouches[0],t=a.clientX-e.clientX,n=a.clientY-e.clientY;i.value.x+=t,i.value.y+=n}c.value.lastTouches=Array.from(t.touches)},handleTouchEnd:e=>{const t=e.evt;t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),c.value.isHandlingTouch=!1,c.value.lastDistance=0,c.value.lastCenter={x:0,y:0},c.value.lastTouches=[]},handleKeyDown:S,handleKeyUp:C}}function fi(a){const{selectedItem:n,currTool:l,cursorSize:o,onMaskUpdated:s,onDrawingChange:i,toolsState:r,antOffset:c}=a,u=t(1),d=t([]),v=t(null),p=t([]),m=t([]),g=t(null),h=t(!1),f=t(null),y=t(null),_={undo:[],redo:[]};function I(e){return null==e?e:JSON.parse(JSON.stringify(e))}function b(){return{drawingLines:I(d.value),shapePolys:I(p.value),mergedPolygon:I(g.value)}}function k(e){d.value=I(e.drawingLines),p.value=I(e.shapePolys),m.value=[],D(),P(),M(),T()}function w(e){for(;e.length>20;)e.shift()}function C(){_.undo=[],_.redo=[]}function T(){if(!r)return;const e="value"in r?r.value:r;if(!e)return;const t=_.undo.length>0,a=_.redo.length>0;e.setUndoRedoAvailability(t,a)}function x(){if(r){const e="value"in r?r.value:r;e&&e.setCurrTool("")}}function M(){if(r){const e="value"in r?r.value:r;if(e){const t=Array.isArray(p.value)&&p.value.length>0;e.setHasSelection(t)}}}function A(){const e=b();_.undo.push(e),w(_.undo),_.redo=[],T()}const E=e(()=>["brush","lasso","eraser"].includes(l.value||""));function P(){if(r){const e="value"in r?r.value:r;e&&e.updateMaskData(d.value)}s(d.value)}function R(e){const t=[];for(let a=0;a<e.length;a+=2)t.push([e[a],e[a+1]]);if(t.length>=3){const[e,a]=t[0],[n,l]=t[t.length-1];e===n&&a===l||t.push([e,a])}return[t]}function L(e,t,a,n){const l=function(e){const t=2*Math.PI*Math.max(1,e),a=Math.ceil(t/2);return Math.max(24,Math.min(96,a))}(a),o=[];for(let s=0;s<l;s++){const n=s/l*Math.PI*2;
1o.push([e+Math.cos(n)*a,t+Math.sin(n)*a])}return o.push(o[0]),[o]}function U(e,t,a=1){const l=$(t,a),o=Math.max(1,l/2),s=function(e,t){if(e.length<4)return e.slice();const a=[];let n=e[0],l=e[1];a.push(n,l);for(let o=2;o<e.length;o+=2){const s=e[o],i=e[o+1],r=s-n,c=i-l,u=Math.hypot(r,c),d=Math.max(1,Math.ceil(u/Math.max(1e-6,t)));for(let e=1;e<d;e++){const t=e/d;a.push(n+r*t,l+c*t)}a.push(s,i),n=s,l=i}return a}(e,.9*o),i=[];for(let n=0;n<s.length;n+=2)i.push(L(s[n],s[n+1],o));if(0===i.length)return null;try{let e=i.reduce((e,t)=>e?_a.union(e,t):t,null);if(e&&n.value){const{x:t,y:a,width:l,height:o}=n.value,s=[[[t,a],[t+l,a],[t+l,a+o],[t,a+o],[t,a]]];try{e=_a.intersection(e,s)}catch(r){}}return e}catch(c){return null}}function D(){try{const e=e=>e?Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[0][0])&&Array.isArray(e[0][0][0])?e:Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[0][0])&&"number"==typeof e[0][0][0]?[e]:Array.isArray(e)&&Array.isArray(e[0])&&"number"==typeof e[0][0]?[[e]]:null:null;let t=null;for(const a of p.value)t=t?_a.union(t,a):a;if(t&&m.value.length>0){let a=null;for(const e of m.value)a=a?_a.union(a,e):e;const n=_a.difference(t,a);g.value=e(n)}else g.value=e(t)}catch(e){g.value=null}M(),T()}const N=(e,t)=>{if(!n.value)return!1;const{x:a,y:l,width:o,height:s}=n.value;return e>=a&&e<a+o&&t>=l&&t<l+s};function O(e){if(!n.value)return null;const t=e.target?.getStage?.(),a=t?.getPointerPosition?.();if(!a)return null;const l=e.currentTarget?.getLayer?.()||e.target?.getLayer?.();if(l&&l.getAbsoluteTransform){const e=l.getAbsoluteTransform().copy().invert().point(a);return{x:e.x,y:e.y}}const o=t?.getTransform?.().copy().invert(),s=o?o.point(a):a;return{x:s.x,y:s.y}}function z(e){if(!e)return 1;const t=e.currentTarget?.getLayer?.()||e.target?.getLayer?.();if(t&&t.getAbsoluteTransform){return t.getAbsoluteTransform().m[0]||1}return 1}function $(e,t){return e/t}function q(e,t,a=1){const l=$(o.value||20,a)/2,s=f.value,i=[];if(s){const a=e-s.x,n=t-s.y,o=Math.hypot(a,n),r=Math.max(1,Math.ceil(o/Math.max(1e-6,.9*l)));for(let e=1;e<=r;e++)i.push({x:s.x+a*e/r,y:s.y+n*e/r})}else i.push({x:e,y:t});for(const o of i){let e=L(o.x,o.y,l);if(e&&n.value){const{x:t,y:a,width:s,height:i}=n.value,c=[[[t,a],[t+s,a],[t+s,a+i],[t,a+i],[t,a]]];try{e=_a.intersection(e,c),e&&e.length>0&&m.value.push(e)}catch(r){m.value.push(L(o.x,o.y,l))}}else m.value.push(e)}f.value={x:e,y:t},D(),P()}function V(e=!1){!e&&(p.value.length>0||g.value)&&A(),d.value=[],v.value=null,h.value=!1,f.value=null,p.value=[],m.value=[],g.value=null,P(),M(),T()}function B(e,t,a){return Array.isArray(e)?e.length>=2&&"number"==typeof e[0]&&"number"==typeof e[1]?[e[0]+t,e[1]+a]:e.map(e=>B(e,t,a)):e}function F(e,t,a,n,l){if(!Array.isArray(e))return e;if(e.length>=2&&"number"==typeof e[0]&&"number"==typeof e[1]){return[(e[0]-n)*t+n,(e[1]-l)*a+l]}return e.map(e=>F(e,t,a,n,l))}function G(e,t){const a=e.x??0,n=e.y??0,l=e.width??0,o=e.height??0,s=a-t.x,i=n-t.y,r=t.width>0?l/t.width:1,c=t.height>0?o/t.height:1;0===s&&0===i&&1===r&&1===c||(1===r&&1===c||function(e,t,a,n){if(1!==e||1!==t){for(const l of d.value)if(Array.isArray(l.points))for(let o=0;o<l.points.length;o+=2){const s=l.points[o],i=l.points[o+1];l.points[o]=(s-a)*e+a,l.points[o+1]=(i-n)*t+n}if(v.value&&Array.isArray(v.value.points))for(let l=0;l<v.value.points.length;l+=2){const o=v.value.points[l],s=v.value.points[l+1];v.value.points[l]=(o-a)*e+a,v.value.points[l+1]=(s-n)*t+n}p.value=p.value.map(l=>F(l,e,t,a,n)),m.value=m.value.map(l=>F(l,e,t,a,n)),D(),P()}}(r,c,t.x,t.y),0===s&&0===i||function(e,t){if(0!==e||0!==t){for(const a of d.value)if(Array.isArray(a.points))for(let n=0;n<a.points.length;n+=2)a.points[n]+=e,a.points[n+1]+=t;if(v.value&&Array.isArray(v.value.points))for(let a=0;a<v.value.points.length;a+=2)v.value.points[a]+=e,v.value.points[a+1]+=t;p.value=p.value.map(a=>B(a,e,t)),m.value=m.value.map(a=>B(a,e,t)),D(),P()}}(s,i),y.value={id:e.id,x:a,y:n,width:l,height:o})}return S(()=>n.value,function(e){if(!e)return y.value=null,V(!0),C(),T(),void x();y.value&&y.value.id===e.id?G(e,y.value):function(e){y.value={id:e.id,x:e.x??0,y:e.y??0,width:e.width??0,height:e.height??0},V(!0),C(),M(),T(),x()}(e)},{immediate:!0,deep:!1}),M(),T(),{currentLine:v,mergedPolygon:g,isDrawing:h,isToolActive:E,renderMergedShape:function(e){if(!g.value)return;e.save(),e.beginPath();const t=g.value,a=u.value,n=(t,a=1)=>
1{if(t.length<4){e.moveTo(t[0][0],t[0][1]);for(let a=1;a<t.length;a++)e.lineTo(t[a][0],t[a][1]);return void e.closePath()}const n=t.length-1,l=t.slice(0,n),o=l.length,s=e=>{return l[t=e,(t+o)%o];var t};e.moveTo(l[0][0],l[0][1]);for(let i=0;i<o;i++){const t=s(i-1),n=s(i),l=s(i+1),o=s(i+2),r=n[0]+(l[0]-t[0])/6*a,c=n[1]+(l[1]-t[1])/6*a,u=l[0]-(o[0]-n[0])/6*a,d=l[1]-(o[1]-n[1])/6*a;e.bezierCurveTo(r,c,u,d,l[0],l[1])}e.closePath()};for(const o of t)for(let e=0;e<o.length;e++){const t=o[e];0!==t.length&&n(t,.9)}e.fillStyle=ps.FILL,e.strokeStyle=ps.STROKE,e.lineWidth=ps.STROKE_WIDTH/a,e.lineJoin="round",e.lineCap="round";const l=ps.STROKE_DASH.map(e=>e/a);e.setLineDash(l),e.lineDashOffset=-c.value/a,e.fill(),e.stroke(),e.restore()},renderLassoPreview:function(e){if(!v.value||!v.value.points||v.value.points.length<4)return;const t=v.value.points;let a=null;try{if(a=R(t),a&&n.value){const{x:e,y:t,width:l,height:o}=n.value,i=[[[e,t],[e+l,t],[e+l,t+o],[e,t+o],[e,t]]];try{a=_a.intersection(a,i)}catch(s){}}}catch(i){}if(a&&0!==a.length){e.save(),e.beginPath();for(const t of a)for(let a=0;a<t.length;a++){const n=t[a];if(0!==n.length){e.moveTo(n[0][0],n[0][1]);for(let t=1;t<n.length;t++)e.lineTo(n[t][0],n[t][1]);e.closePath()}}}else{const a=[],l=(e,t)=>{if(!n.value)return!1;const{x:a,y:l,width:o,height:s}=n.value;return e>=a&&e<a+o&&t>=l&&t<l+s};for(let e=0;e<t.length;e+=2){const o=t[e],s=t[e+1];n.value&&l(o,s)&&a.push([o,s])}if(a.length>=2&&a.push(a[0]),a.length<3)return;e.save(),e.beginPath(),e.moveTo(a[0][0],a[0][1]);for(let t=1;t<a.length;t++)e.lineTo(a[t][0],a[t][1]);e.closePath()}const l=u.value;e.fillStyle=ps.FILL,e.strokeStyle=ps.STROKE,e.lineWidth=ps.STROKE_WIDTH/l,e.lineJoin="round",e.lineCap="round";const o=ps.STROKE_DASH.map(e=>e/l);e.setLineDash(o),e.fill(),e.stroke(),e.restore()},handleMouseDown:function(e){if(!E.value||!n.value)return;if(e.target!==e.currentTarget)return;e.cancelBubble=!0,e.evt&&(e.evt.stopPropagation(),e.evt.preventDefault());const t=O(e);if(!t||!N(t.x,t.y))return;const a=z(e);!function(e){const t=z(e);u.value=t}(e),"eraser"===l.value&&(f.value={x:t.x,y:t.y}),function(e,t=1){if(!n.value)return;const a=l.value;h.value=!0,i?.(!0);const s=o.value||20,r="lasso"===a?2:$(s,t);v.value={id:`line_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,points:[e.x,e.y],stroke:"brush"===a?"rgba(255, 0, 0, 0.6)":"lasso"===a?"transparent":"#ffffff",strokeWidth:r,lineCap:"round",lineJoin:"round",globalCompositeOperation:"source-over",..."lasso"===a?{fill:void 0,closed:!1}:{}},"eraser"===a&&q(e.x,e.y,t)}(t,a)},handleMouseMove:function(e){if(!E.value)return;if(e.target!==e.currentTarget)return;const t=O(e);if(!t)return;if(!h.value)return;!function(e,t=1){if(!v.value||!h.value)return;"eraser"!==l.value?N(e.x,e.y)&&(v.value.points=v.value.points.concat([e.x,e.y])):N(e.x,e.y)&&(q(e.x,e.y,t),v.value.points=v.value.points.concat([e.x,e.y]))}(t,z(e))},handleMouseUp:function(e){if("eraser"===l.value){if(!E.value)return;if(e.target!==e.currentTarget)return;e.cancelBubble=!0,e.evt&&e.evt.stopPropagation(),f.value=null;try{A();let e=null;for(const t of p.value)e=e?_a.union(e,t):t;if(e&&m.value.length>0){let t=null;for(const e of m.value)t=t?_a.union(t,e):e;const a=_a.difference(e,t);let n=null;Array.isArray(a)&&Array.isArray(a[0])&&Array.isArray(a[0][0])&&Array.isArray(a[0][0][0])?n=a:Array.isArray(a)&&Array.isArray(a[0])&&Array.isArray(a[0][0])&&"number"==typeof a[0][0][0]?n=[a]:Array.isArray(a)&&Array.isArray(a[0])&&"number"==typeof a[0][0]&&(n=[[a]]),p.value=n??[]}}catch(t){}return m.value=[],D(),h.value=!1,i?.(!1),v.value=null,void T()}if(!h.value||!E.value)return;if(e.target!==e.currentTarget)return;e.cancelBubble=!0,e.evt&&e.evt.stopPropagation(),function(e=1){if("eraser"!==l.value&&v.value&&h.value){if(h.value=!1,i?.(!1),v.value.points.length>=4){A();let a=null;if("lasso"===l.value&&v.value.points.length>=6){if(a=R(v.value.points),a&&n.value){const{x:e,y:l,width:o,height:s}=n.value,i=[[[e,l],[e+o,l],[e+o,l+s],[e,l+s],[e,l]]];try{a=_a.intersection(a,i)}catch(t){}}}else if("brush"===l.value){const t=o.value||20;a=U(v.value.points,t,e)}
1a&&(p.value.push(a),D()),d.value.push({...v.value}),P(),T()}v.value=null}}(z(e))},handleToolChange:function(e){if("delete"!==e){if("undo"===e){if(0===_.undo.length)return;return function(){if(0===_.undo.length)return;const e=b();_.redo.push(e),w(_.redo),k(_.undo.pop())}(),void T()}if("redo"===e){if(0===_.redo.length)return;return function(){if(0===_.redo.length)return;const e=b();_.undo.push(e),w(_.undo),k(_.redo.pop())}(),void T()}if(r){const t="value"in r?r.value:r;t&&t.setCurrTool(e)}return e}0!==p.value.length&&g.value&&V()},handleMaskUpdated:function(e){if(d.value=e,r){const t="value"in r?r.value:r;t&&t.updateMaskData(e)}return e},handleBrushSizeChange:function(e){if(r){const t="value"in r?r.value:r;t&&t.setCursorSize(e)}},clearMask:V,resetTool:x}}const yi=100,_i=1,Ii=1,bi=20,ki=16,wi="crosshair";function Si(e,t=0){const a=(n=Math.max(_i,e),l=_i,o=yi,Math.max(l,Math.min(o,n)));var n,l,o;const s=a/2,i=a+2*Ii,r=a+2*Ii,c=Ii+s,u=Ii+s,d=Array.isArray(ps.STROKE_DASH)?ps.STROKE_DASH.join(","):"",v=`<svg xmlns="http://www.w3.org/2000/svg" width="${i}" height="${r}" viewBox="0 0 ${i} ${r}"><circle cx="${c}" cy="${u}" r="${s}" fill="${ps.FILL}" stroke="${ps.STROKE}" stroke-width="${Math.max(1,ps.STROKE_WIDTH)}" stroke-dasharray="${d}" stroke-dashoffset="${-t}"/></svg>`;return{url:`data:image/svg+xml;base64,${btoa(v)}`,hotX:Math.round(c),hotY:Math.round(u)}}function Ci(a){const{currTool:n,cursorSize:l,selectedItem:o,antOffset:s,keyState:i,canvasCursor:r}=a,c=t(!1),u=t(null),d=t(null),v=it((e,t)=>{const{url:a,hotX:n,hotY:l}=Si(e,t);d.value={size:e,offset:t,dataUrl:a,hotX:n,hotY:l}},ki);function p(e,t){e&&(e.style.cursor=t)}function m(e){if(!e)return;if(!c.value||!o.value)return void p(e,"");const t=n.value||"";if("lasso"===t)p(e,wi);else if("brush"===t||"eraser"===t){const t=l.value||bi,{dataUrl:a,hotX:n,hotY:o}=function(e){const t=Math.floor(s.value);if(d.value&&d.value.size===e)d.value.offset!==t&&v(e,t);else{const{url:a,hotX:n,hotY:l}=Si(e,t);d.value={size:e,offset:t,dataUrl:a,hotX:n,hotY:l}}return d.value}(t);p(e,`url(${a}) ${n} ${o}, ${wi}`)}else p(e,"")}S([n,l],()=>{c.value&&u.value&&(d.value&&l.value&&d.value.size!==l.value&&(d.value=null),m(u.value))}),S(s,()=>{c.value&&u.value&&("brush"===n.value||"eraser"===n.value)&&(d.value=null,m(u.value))}),S(()=>o.value,e=>{!e&&u.value&&(p(u.value,""),u.value=null,c.value=!1)});return{cursorEnter:function(e){const t=e?.target?.getStage?.(),a=t?.container?.();u.value=a||null,c.value=!0,m(u.value)},cursorMove:function(e){},cursorLeave:function(e){c.value=!1,u.value&&p(u.value,""),u.value=null},stageCursor:e(()=>i?.value?.spacePressed||"drag"===r?.value?"grab":"default"),currentCursor:e(()=>{if(!c.value||!o.value)return"";const e=n.value||"";if("lasso"===e)return"crosshair";if("brush"===e||"eraser"===e){return`circle-${l.value||bi}`}return""}),generateToolCursor:function(e,t){if("lasso"===e)return wi;if("brush"===e||"eraser"===e){const{url:e,hotX:a,hotY:n}=Si(t);return`url(${e}) ${a} ${n}, ${wi}`}return""}}}const Ti={DEFAULT_SPEED:.8,DEFAULT_DASH_LENGTH:ps.STROKE_DASH[0],FRAME_TIME_BASE:50};function xi(e){const{selectedItem:a,currTool:n,cursorSize:l,onMaskUpdated:o,onDrawingChange:s,toolsState:i,keyState:r,canvasCursor:c,selectionRectCanvas:u}=e,d=function(e={}){const{speed:a=Ti.DEFAULT_SPEED,dashLength:n=Ti.DEFAULT_DASH_LENGTH}=e,l=t(0);let o=null,s=0;function i(e){0===s&&(s=e);const t=e-s;s=e,l.value+=t*a/Ti.FRAME_TIME_BASE,l.value>=2*n&&(l.value=0),o=requestAnimationFrame(i)}function r(){o||(s=0,o=requestAnimationFrame(i))}function c(){o&&(cancelAnimationFrame(o),o=null)}return M(()=>{r()}),D(()=>{c()}),{antOffset:l,startAntLine:r,stopAntLine:c,resetAntLine:function(){l.value=0}}}(),v=fi({selectedItem:a,currTool:n,cursorSize:l,onMaskUpdated:o,onDrawingChange:s,toolsState:i,antOffset:d.antOffset}),p=Ci({currTool:n,cursorSize:l,selectedItem:a,antOffset:d.antOffset,keyState:r,canvasCursor:c});return{antOffset:d.antOffset,startAntLine:d.startAntLine,stopAntLine:d.stopAntLine,resetAntLine:d.resetAntLine,currentLine:v.currentLine,mergedPolygon:v.mergedPolygon,isDrawing:v.isDrawing,isToolActive:v.isToolActive,renderMergedShape:v.renderMergedShape,renderLassoPreview:v.renderLassoPreview,handleMouseDown:v.handleMouseDown,handleMouseMove:v.handleMouseMove,handleMouseUp:v.handleMouseUp,handleToolChange:v.handleToolChange,handleBrushSizeChange:v.handleBrushSizeChange,handleMaskUpdated:v.handleMaskUpdated,clearMask:v.clearMask,stageCursor:p.stageCursor,currentCursor:p.currentCursor,cursorEnter:p.cursorEnter,cursorMove:p.cursorMove,cursorLeave:p.cursorLeave,generateToolCursor:p.generateToolCursor,selectionRectCanvas:u}}const Mi={class:"stage-container__footer"},Ai=oe(l({__name:"Stage",props:{canvasId:{},canvasType:{},isCollape:{type:Boolean}},emits:["tool-click"],setup(l,{emit:o}){const r=l,v=t(!1),g=e(()=>{const e=tt(360);return{width:r.isCollape?"100%":`calc(100% - ${e}px)`}}
1),h=t(null),f=t(null),_=t(null),I=t(null),b=o,k=t(null),w=hi(h,{onDelete:()=>k.value?.()}),C=Zt(Me),T=t(""),A=tn(),{scaleup:E,aiRemove:P,removeBg:R,aiFast:z}=A,$=()=>{A.hideAllPanels(),T.value=""},{currTool:q,cursorSize:V,canvasCursor:B,setCanvasCursor:F,stageSize:G,canvasState:j,stageConfig:X,boundBoxFunc:Y,handleWheel:J,handleTouchStart:Z,handleTouchMove:K,handleTouchEnd:ee,MIN_SCALE:te,MAX_SCALE:ae,zoomIn:ne,zoomOut:le,isAnimating:oe,setToolPanningEnabled:se,setCanvasContainer:ie,keyState:re}=w,ce=As({stageRef:h,contentLayerRef:_,canvasState:j,canvasCursor:B,stageSize:G,canvas:w,showFeedbackDialog:function(){Ue.value=!0},canvasId:O(r,"canvasId"),canvasType:O(r,"canvasType")}),{selectedId:ue,selectedItem:de,list:ve,isSelecting:pe,selectionRectCanvas:me,selectedImgs:ge,hasMultiSelection:he,selectItem:fe,switchSelection:ye,addImageWithAutoLayout:_e,handleDragstart:Ie,handleDragmove:be,handleDragend:ke,handleTransform:we,handleOptBar:Se,createStageClickHandler:Ce,handleMouseDown:Te,handleMouseMove:xe,handleMouseUp:Ae}=ce,Ee=Rs({selectedItem:de,contentLayerRef:_,layerConfig:e(()=>({scaleX:j.scale,scaleY:j.scale,x:j.x,y:j.y})),currentPixelSize:E.getCurrentPixelSize,handleCustomSizeUpdate:E.handleCustomSizeUpdate}),{isScaleupMode:Pe,currentScaleupRect:Re}=Ee,Le=t(!1),Ue=t(!1),De=bs({canvas:w,content:ce}),{loadCanvas:Ne,formatSnapshotData:Oe}=De,qe=xi({selectedItem:de,currTool:q,cursorSize:V,toolsState:w,keyState:re,canvasCursor:B,selectionRectCanvas:me,onMaskUpdated:e=>{w.updateMaskData(e)},onDrawingChange:e=>{Le.value=e}}),{isToolActive:Ve}=qe,Be=qe.stageCursor,Fe={interactionLayerRef:I,interaction:qe,...Ee};A.setCanvasHooks(Fe);const Ge=e(()=>ge.value&&ge.value.length>0?ge.value:de.value?[de.value]:[]),We=e(()=>de.value&&!he.value&&"video"!==de.value?.itemType),He=Ce(q,Le,{onDeselect:$,onResetMainTool:()=>{T.value="",b("tool-click","reset")}}),je=function(e){const{isToolActive:t,isDrawing:a,selectedItem:n,handleStageClick:l,handleSelectMouseDown:o,handleSelectMouseMove:s,handleSelectMouseUp:i,canvasState:r}=e;return{handleStageMouseDown:function(e){r?.value?.isSpacePanning||r?.value?.isToolPanning||t.value&&n.value?l(e):o(e)||l(e)},handleStageMouseMove:function(e){t.value&&a.value||s(e)},handleStageMouseUp:function(e){if(t.value&&a.value)return;const n=i(e);n&&n.tiny&&l(e)}}}({isToolActive:Ve,isDrawing:Le,selectedItem:de,handleStageClick:He,handleSelectMouseDown:Te,handleSelectMouseMove:xe,handleSelectMouseUp:Ae,canvasState:j}),{handleStageMouseDown:Xe,handleStageMouseMove:Ye,handleStageMouseUp:Je}=je,{contextMenu:Ze,showContextMenu:Ke,hideContextMenu:Qe,handleContextMenuExport:et,handleDelete:at}=function(e){const{list:a,selectedItem:n,switchSelection:l,selectedImgs:o,clearSelection:s}=e,{exportMultiItems:i}=_s(),r=t({visible:!1,x:0,y:0,targetItem:null});return{contextMenu:r,showContextMenu:function(e){r.value={visible:!0,x:e.x,y:e.y,targetItem:e.item}},hideContextMenu:function(){r.value.visible=!1},handleContextMenuExport:async function(e){try{await i([e])}catch(t){}},handleDelete:function(e){let t=new Set;if(e){const a=o?.value?.some(t=>t.id===e.id);a&&(o?.value?.length||0)>1?o.value.forEach(e=>t.add(e.id)):t.add(e.id)}else o?.value&&o.value.length>0?o.value.forEach(e=>t.add(e.id)):n.value&&t.add(n.value.id);0!==t.size&&(a.value=a.value.filter(e=>!t.has(e.id)),n.value&&t.has(n.value.id)&&l(),s&&s())}}}({list:ve,selectedItem:de,switchSelection:ye,selectedImgs:ge,clearSelection:ce.clearSelection}),nt=function(e,a,n={}){const{canvasState:l,list:o}=n,s=t(!1),i=t(0),r=t(null),c=t(!1);let u=null;const d=async()=>{try{s.value=!0,r.value=null;const t=o?.value?.slice(0,3).map(e=>e.imageUrl).join(",")||"",n=await a.saveCanvas(),l=JSON.stringify(n),c="object"==typeof e?e.value:e,u=await ze({canvas_id:c,canvas:l,cover_image_url:t});if(0!==u.errno)throw new Error(u.errmsg||"Save failed");i.value=Date.now()}catch(t){const e=t instanceof Error?t.message:"Unknown error";r.value=`Save failed: ${e}`}finally{s.value=!1}},v=()=>{if(!c.value)return;u&&clearTimeout(u);const e=Date.now()-i.value;u=e<1e3?setTimeout(d,1e3-e+1500):setTimeout(d,1500)};return l&&S(()=>l,()=>{v()},{deep:!0}),o&&S(()=>o.value,(e,t)=>{e.length!==t.length&&v()},{deep:!0}),{isSaving:s,saveError:r,lastSaveTime:i,isInitialized:c,autoSave:v,saveImmediately:async()=>{u&&(clearTimeout(u),u=null),await d()},clearError:()=>{r.value=null},markInitialized:()=>{c.value=!0},cleanup:()=>{u&&(clearTimeout(u),u=null)}}}(O(r,"canvasId"),De,{canvasState:j,list:ve}),{saveImmediately:lt,markInitialized:ot,cleanup:st}=nt;async function it(e){const t=de.value?.id;at(e),!t||de.value&&de.value.id===t||$(),await x(),lt()}function rt(){Ue.value=!1}k.value=()=>it();const ct=t(!1),ut=t(null);function dt(e){W(H.genVideoPlay,{canvasType:r.canvasType,playType:"canvas"}),ut.value=e,ct.value=!0,W(H.genVideoDialogShow,{canvasType:r.canvasType})}const vt="CANVAS:ADD_LOADING_IMAGES",pt="CANVAS:REPLACE_LOADING_IMAGE",mt="CANVAS:REMOVE_LOADING_IMAGE";function gt(e){w.updateMaskData(e)}function ht(e){"select"!==e&&"drag"!==e||F(e)}function ft(e){if(b("tool-click",e),T.value!==e)return ce.clearSelection&&ce.clearSelection(),qe.clearMask&&qe.clearMask(!0),w&&(w?.setCurrTool(""),w?.updateMaskData([])),T.value=e,"scaleup"===e?(A.showScaleupPanel(),W(H.genImgClickScaleup,{canvasType:r.canvasType}),void W(H.genImgShowScaleupShow,{canvasType:r.canvasType})):"partedit"===e?(A.showPartEditPanel(),W(H.genImgClickPartEdit,{canvasType:r.canvasType}),void W(H.genImgShowPartEdit,{canvasType:r.canvasType})):"airemove"===e?(A.showAiRemovePanel(),void W(H.genImgClickAiRemove,{canvasType:r.canvasType})):"removebg"===e?(A.showRemoveBgPanel(),void W(H.genImgClickBgRemove,{canvasType:r.canvasType})):"aifast"===e?(A.showAiFastPanel(),W(H.genImgClickAiFast,{canvasType:r.canvasType}),void W(H.genImgShowAiFast,{canvasType:r.canvasType})):void A.hideAllPanels()}function yt(e){Ke(e),W(H.genImgMenu,{canvasType:r.canvasType})}
1function _t(e){e.forEach(e=>{_e(e.id,e.taskId,e.placeholder,e.width||1024,e.height||1024,{source:e.source,batchId:e.batchId,itemType:e.itemType||"image"}),lt(),W(H.genImgShowloading,{canvasType:r.canvasType})})}async function It(e){await async function(e,t,a,n,l={}){try{const o=await hs(a),s=n.value.findIndex(e=>e.taskId===t);if(-1===s)return;const i=n.value[s];fs.has(t)&&(clearInterval(fs.get(t)),fs.delete(t));const{itemType:r,videoUrl:c}=l,u={...i,image:o,isLoading:!1,targetUrl:void 0,loadingProgress:100,width:o.naturalWidth,height:o.naturalHeight,originalSize:{width:o.naturalWidth,height:o.naturalHeight},realSize:{width:o.naturalWidth,height:o.naturalHeight},imageUrl:a,...r&&{itemType:r},...c&&{videoUrl:c}};i.taskId?.startsWith("common_")&&(u.id=e,u.imageId=e,u.taskId=t),n.value[s]=u}catch(o){const a=t.startsWith("common_")?t.replace(`_${e}_`,""):t;fs.has(a)&&(clearInterval(fs.get(a)),fs.delete(a));const l=n.value.findIndex(e=>e.taskId===a);-1!==l&&(n.value[l]={...n.value[l],isLoading:!1,loadingProgress:void 0})}}(e.id,e.taskId,e.url,ve,{itemType:e.itemType,videoUrl:e.videoUrl}),await x();const t=ve.value.find(t=>t.id===e.id);if(t?.batchId&&"chat_generate"===t?.source){ve.value.filter(e=>e.batchId===t.batchId).every(e=>!e.isLoading)&&ce.relayoutBatch(t.batchId)}lt();const a=ve.value.filter(e=>"video"===e.itemType).length;W(H.genVideoDone,{canvasType:r.canvasType,videoNum:a})}function bt(e){const t=ve.value.findIndex(t=>t.taskId===e.taskId);-1!==t&&(ve.value.splice(t,1),lt())}async function kt(){try{(await P.execute({canvas_id:r.canvasId})).success}catch(e){}}async function wt(){await R.execute({canvas_id:r.canvasId})}async function St(e){await z.execute({canvas_id:r.canvasId,prompt:e})}S(()=>r.isCollape,()=>{const e=Date.now(),t=()=>{const a=Date.now(),n=Math.min((a-e)/300,1);w.updateStageSize(),n<1&&requestAnimationFrame(t)};requestAnimationFrame(t)}),S(()=>ge.value.map(e=>e.id).join(","),e=>{const t=e?e.split(",").filter(Boolean):[];t.length>=1?(!function(e){if(h.value&&_.value)try{const t=h.value.getNode(),a=e.map(e=>t.findOne(`#${e}`)).filter(Boolean);if(a.length>0){_.value.fadeIn(),x(()=>{_.value?.updateTransformer&&_.value.updateTransformer(a)});const t=ve.value.find(t=>t.id===e[0]);t&&(de.value=t)}}catch(t){}}(t),T.value="",E.reset()):(ye(),$())}),S(de,(e,t)=>{e?(A.updateSelectedImageState(e),t&&t.id!==e.id&&(T.value="",A.resetAll(),A.updateSelectedImageState(e),Ee.isScaleupMode.value=!1)):(A.updateSelectedImageState(null),A.hideAllPanels(),Ee.isScaleupMode.value=!1)},{immediate:!0,deep:!0}),S([()=>B.value,()=>re.spacePressed],([e,t])=>{se("drag"===e||t)},{immediate:!0});const Ct=e=>{e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation()};async function Tt(){try{De.isLoading.value=!0,De.loadingProgress.value=0;const e=await C(Number(r.canvasId)),{errno:t,data:a}=e;if(0===t&&a.canvas){const e=JSON.parse(a.canvas);return await async function(e){try{await Ne(e,{clearExisting:!0,onImageLoadError:(e,t)=>{},onProgress:(e,t)=>{}}),x(()=>{ce.resumeProgressTimers&&ce.resumeProgressTimers()})}catch(t){}}(Oe(e,a.images)),void Q.emit("CANVAS:INIT_COMPLETE",a.images)}De.loadingProgress.value=100,De.isLoading.value=!0}catch(e){De.isLoading.value=!1}finally{ot(),setTimeout(()=>{De.isLoading.value=!1},500)}}function xt(){W(H.consumptionDetailsShow,{source:"ocAgentCoinInfo"}),v.value=!0}return M(async()=>{!function(){if(f.value){ie(f.value);const e=f.value;e.addEventListener("touchstart",Ct,{passive:!1,capture:!0}),e.addEventListener("touchmove",Ct,{passive:!1,capture:!0}),e.addEventListener("touchend",Ct,{passive:!1,capture:!0}),e.addEventListener("contextmenu",e=>{e.preventDefault(),e.stopPropagation()},{passive:!1}),e.addEventListener("selectstart",e=>{e.preventDefault(),e.stopPropagation()},{passive:!1});const t=()=>{e.focus()};e.addEventListener("mouseenter",t),e._handleMouseEnter=t}Q.on(vt,_t),Q.on(pt,It),Q.on(mt,bt)}(),await Tt()}),D(()=>{!function(){if(f.value){const e=f.value;e.removeEventListener("touchstart",Ct,!0),e.removeEventListener("touchmove",Ct,!0),e.removeEventListener("touchend",Ct,!0),e._handleMouseEnter&&(e.removeEventListener("mouseenter",e._handleMouseEnter),delete e._handleMouseEnter)}Q.off(vt,_t),Q.off(pt,It),Q.off(mt,bt)}(),st()}),(e,t)=>{const l=N("v-stage");return a(),n("div",{ref_key:"stageContainerRef",ref:f,class:"stage-container",style:p(m(g))},[i(cs,{visible:m(De).isLoading.value,progress:m(De).loadingProgress.value},null,8,["visible","progress"]),i(Os,{"canvas-type":r.canvasType,"canvas-cursor":m(B),"is-collape":r.isCollape,"key-state":m(re),onSetCurs
1or:ht},null,8,["canvas-type","canvas-cursor","is-collape","key-state"]),i(li,{"selected-imgs":m(Ge),"is-collape":r.isCollape},null,8,["selected-imgs","is-collape"]),i(oi,{"canvas-type":r.canvasType,"selected-imgs":m(Ge),"is-collape":r.isCollape},null,8,["canvas-type","selected-imgs","is-collape"]),i(l,{ref_key:"stageRef",ref:h,config:m(X),style:p({cursor:m(Be)}),onDragstart:m(Ie),onDragmove:m(be),onDragend:m(ke),onMousedown:m(Xe),onTouchstart:m(Z),onWheel:m(J),onTouchmove:m(K),onTouchend:m(ee),onMousemove:m(Ye),onMouseup:m(Je),onMouseleave:m(Je)},{default:u(()=>[i(Ls,{ref_key:"contentLayerRef",ref:_,list:m(ve),"selected-id":m(ue),"selected-item":m(de),"curr-tool":m(q),"canvas-cursor":m(B),"canvas-transform":{scale:m(j).scale,x:m(j).x,y:m(j).y},"bound-box-func":m(Y),"has-multi-selection":m(he),"is-scaleup-mode":m(Pe),"layer-config":{scaleX:m(j).scale,scaleY:m(j).scale,x:m(j).x,y:m(j).y},onSelectItem:m(fe),onTransform:m(we),onContextMenu:yt,onVideoClick:dt},null,8,["list","selected-id","selected-item","curr-tool","canvas-cursor","canvas-transform","bound-box-func","has-multi-selection","is-scaleup-mode","layer-config","onSelectItem","onTransform"]),i(Us,{ref_key:"interactionLayerRef",ref:I,"selected-item":m(de),"curr-tool":m(q),"cursor-size":m(V),"tools-state":m(w),"key-state":m(re),"selection-rect-canvas":m(me),interaction:m(qe),"layer-config":{scaleX:m(j).scale,scaleY:m(j).scale,x:m(j).x,y:m(j).y},onMaskUpdated:gt,onDrawingChange:t[0]||(t[0]=e=>{Le.value=e})},null,8,["selected-item","curr-tool","cursor-size","tools-state","key-state","selection-rect-canvas","interaction","layer-config"])]),_:1},8,["config","style","onDragstart","onDragmove","onDragend","onMousedown","onTouchstart","onWheel","onTouchmove","onTouchend","onMousemove","onMouseup","onMouseleave"]),m(We)?(a(),c(ai,{key:0,"current-tool":m(T),"selected-item":m(de),onToolClick:ft},null,8,["current-tool","selected-item"])):d("",!0),m(Pe)?d("",!0):(a(),c(Zs,{key:1,"canvas-type":r.canvasType,"selected-id":m(ue),"selected-item":m(de),"selected-imgs":m(ge),"canvas-transform":{scale:m(j).scale,x:m(j).x,y:m(j).y},"stage-size":m(G),"tools-state":m(w),"is-selecting":m(pe),"curr-main-tool":m(T),"is-ai-remove-processing":m(P).isProcessing.value,"is-ai-fast-processing":m(z).isProcessing.value,"is-remove-bg-processing":m(R).isProcessing.value,onHandleOptBar:m(Se),onToolChange:m(qe).handleToolChange,onBrushSizeChange:m(qe).handleBrushSizeChange,onAiRemoveClick:kt,onRemoveBgClick:wt,onAiFastClick:St},null,8,["canvas-type","selected-id","selected-item","selected-imgs","canvas-transform","stage-size","tools-state","is-selecting","curr-main-tool","is-ai-remove-processing","is-ai-fast-processing","is-remove-bg-processing","onHandleOptBar","onToolChange","onBrushSizeChange"])),i(Qs,{"selected-item":m(de),"canvas-transform":{scale:m(j).scale,x:m(j).x,y:m(j).y},"has-multi-selection":m(he),"is-scaleup-mode":m(Pe),"scaleup-rect":m(Re)},null,8,["selected-item","canvas-transform","has-multi-selection","is-scaleup-mode","scaleup-rect"]),s("div",Mi,[i(va,{onOpenConsumptionDetails:xt}),i(pa,{scale:m(j).scale,"min-scale":m(te),"max-scale":m(ae),"is-animating":m(oe),onZoomIn:m(ne),onZoomOut:m(le)},null,8,["scale","min-scale","max-scale","is-animating","onZoomIn","onZoomOut"])]),i(ri,{"canvas-type":r.canvasType,visible:m(Ze).visible,x:m(Ze).x,y:m(Ze).y,"target-item":m(Ze).targetItem,onClose:m(Qe),onExport:m(et),onDelete:it},null,8,["canvas-type","visible","x","y","target-item","onClose","onExport"]),i(gi,{visible:m(Ue),"onUpdate:visible":t[1]||(t[1]=e=>y(Ue)?Ue.value=e:null),onSubmit:rt},null,8,["visible"]),i(fa,{modelValue:m(ct),"onUpdate:modelValue":t[2]||(t[2]=e=>y(ct)?ct.value=e:null),"selected-item":m(de)},null,8,["modelValue","selected-item"]),(a(),c(U,{to:"body"},[i(L,{name:"show-fade",mode:"out-in"},{default:u(()=>[m(v)?(a(),c($e,{key:0,modelValue:m(v),"onUpdate:modelValue":t[3]||(t[3]=e=>y(v)?v.value=e:null)},null,8,["modelValue"])):d("",!0)]),_:1})]))],4)}}}),[["__scopeId","data-v-e5f0db3c"]]),Ei={class:"canvas-panel"},Pi=oe(l({__name:"index",props:{canvasId:{},canvasType:{},isCollape:{type:Boolean}},emits:["tool-click"],setup(e,{emit:t}){const l=e,o=t;return(e,t)=>(a(),n("div",Ei,[i(Ai,{"canvas-id":l.canvasId,"canvas-type":l.canvasType,"is-collape":l.isCollape,class:"canvas-panel-content",onToolClick:t[0]||(t[0]=e=>o("tool-click",e))},null,8,["canvas-id","canvas-type","is-collape"])]))}}),[["__scopeId","data-v-18f22d1f"]]),Ri={class:"head-control"}
1,Li={class:"aside-control__content"},Ui=oe(l({__name:"HeadControl",props:{isCollape:{type:Boolean},isAsideControlActive:{type:Boolean}},emits:["ToggleCollapseIcon","close","setAsideControlActive"],setup(e,{emit:t}){const l=t;return(t,r)=>{const c=se;return a(),n("div",Ri,[s("div",{class:"icon",onClick:r[0]||(r[0]=e=>l("close"))},[i(c,{name:"agent-comic-close"})]),r[3]||(r[3]=s("div",{class:"vertical-line"},null,-1)),s("div",{class:o(["aside-control",{active:e.isAsideControlActive}]),onClick:r[1]||(r[1]=t=>l("setAsideControlActive",!e.isAsideControlActive))},[s("div",Li,[i(c,{name:"image-check",class:"image-check"}),r[2]||(r[2]=s("span",null,"ããã¸ã§ã¯ã",-1)),i(c,{name:"arrowDown",class:"arrow"})])],2)])}}}),[["__scopeId","data-v-66b49ece"]]),Di=l({__name:"DomainPanel",props:{visible:{required:!0,type:Boolean},visibleModifiers:{}},emits:f(["start"],["update:visible"]),setup(e,{emit:t}){const n=h(e,"visible"),l=t;return(e,t)=>(a(),c(qe,{modelValue:n.value,"onUpdate:modelValue":t[1]||(t[1]=e=>n.value=e)},{default:u(()=>[i(Ia,{onStart:t[0]||(t[0]=e=>l("start",e))})]),_:1},8,["modelValue"]))}}),Ni={class:"feedback"},Oi={viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg"},zi=["fill"],$i={viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},qi=["fill"],Vi=oe(l({__name:"Feedback",props:{data:{}},emits:["handleLike","handleUnlike"],setup(e,{emit:l}){const o=e,i=t(0);S(()=>o.data,e=>{i.value=e.feedbackStatus??0},{immediate:!0});const r=l;function c(){i.value=2===i.value?0:2,r("handleUnlike",2===i.value)}function u(){i.value=1===i.value?0:1,r("handleLike",1===i.value)}return(e,t)=>(a(),n("div",Ni,[s("div",{class:"img-wrap like btn",onClick:u},[(a(),n("svg",Oi,[s("path",{d:"M11 26.0001V13.0215C11.6338 12.1178 14.7234 7.78838 15.7021\n 6.41735C15.8897 6.15445 16.1934 5.99057 16.5128 6.03856C17.8237\n 6.23548 19 7.1717 19 8.5C19 9.75899 18.2955 11.3744 18.0691 11.861C18.0379\n 11.9283 18.087 12.0061 18.1612 12.0063L23.0067 12.0169C24.661 12.0205\n 26.0002 13.3626 26.0002 15.0169V23.0001C26.0002 24.6569 24.657 26.0001 23.0002 26.0001H11Z",stroke:"white",fill:1===m(i)?"white":"none","stroke-width":"2"},null,8,zi),t[0]||(t[0]=s("path",{d:"M11 13H8C6.89543 13 6 13.8954 6 15V24C6 25.1046 6.89543 26 8 26H11",stroke:"white","stroke-width":"2"},null,-1))]))]),t[2]||(t[2]=s("span",{class:"line-split"},null,-1)),s("div",{class:"img-wrap unlike btn",onClick:c},[(a(),n("svg",$i,[s("path",{d:"M11 5.99993V18.9785C11.6338 19.8822 14.7234 24.2116 15.7021 25.5827C15.8897 25.8455\n 16.1934 26.0094\n 16.5128 25.9614C17.8237 25.7645 19 24.8283 19 23.5C19 22.241 18.2955 20.6256 18.0691 20.139C18.0379\n 20.0717 18.087 19.9939 18.1612 19.9937L23.0067 19.9831C24.661 19.9795 26.0002 18.6374 26.0002\n 16.9831V8.99993C26.0002 7.34308 24.657 5.99993 23.0002 5.99993H11Z",stroke:"white","stroke-width":"2",fill:2===m(i)?"white":"none"},null,8,qi),t[1]||(t[1]=s("path",{d:"M11 19H8C6.89543 19 6 18.1046 6 17V8C6 6.89543 6.89543 6 8 6H11",stroke:"white","stroke-width":"2"},null,-1))]))])]))}}),[["__scopeId","data-v-35d91400"]]);var Bi=(e=>(e.Common="common",e.Done="done",e.Option="option",e.User="user",e.Pose="pose",e.Outfit="outfit",e.Hairstyle="hairstyle",e.Expression="expression",e.Style="style",e.Video="video",e.Interrupt="interrupt",e))(Bi||{}),Fi=(e=>(e.DIRECT="direct",e.MENU_POSE="menu_pose",e.MENU_OUTFIT="menu_outfit",e.MENU_HAIRSTYLE="menu_hairstyle",e.MENU_EXPRESSION="menu_expression",e.MENU_STYLE="menu_style",e))(Fi||{}),Gi=(e=>(e.PENDING="pending",e.SUCCESS="success",e.ERROR="error",e.REJECT="reject",e))(Gi||{}),Wi=(e=>(e.IMAGE="image",e.VIDEO="video",e.AUDIO="audio",e.TEXT="text",e))(Wi||{}),Hi=(e=>(e.TYPE_OPTION="type_option",e.TYPE_IMAGE="type_image",e.TYPE_NORMAL="type_normal",e.TYPE_VIDEO="type_video",e))(Hi||{});const ji={class:"tool-timer"},Xi=l({__name:"ToolTimer",setup(e){const l=t("00:00");let o=null;function s(e){return e>9?e:`0${e}`}const i=(new Date).getTime();return function e(){l.value=function(e){const t=Math.floor(e/60),a=Math.floor(e%60);return`${s(t)}:${s(a)}`}(((new Date).getTime()-i)/1e3),o&&cancelAnimationFrame(o),o=requestAnimationFrame(e)}(),A(()=>{o&&cancelAnimationFrame(o)}),(e,t)=>(a(),n("span",ji,"æè¦æéï¼"+r(m(l)),1))}}),Yi={class:"tool-wrap"},Ji={class:"tool-use"},Zi={class:"tool-use__card"},Ki={class:"tool-use__card-header"},Qi={class:"tool-use__card-content"},er={class:"extra-info"},tr={key:0,class:"tool-use__control"},ar={class:"tool-use__control-btns"},nr={key:1,class:"tool-use__loading"},lr={key:2,class:"tool-use__complete"},or={key:3,class:"tool-use__complete"},sr={class:"tool-result"},ir={key:0,class:"tool-result__cors"},rr={class:"mark"}
1,cr={key:1,class:"tool-result__undo"},ur={key:2,class:"tool-result__fail"},dr=oe(l({__name:"ToolUseCard",props:{data:{},extraInfo:{}},emits:["operateTool","logSource"],setup(l,{emit:c}){const u=l,v=c,p=t(!1),g=e(()=>{const{action_requests:e}=u.data,{requestStatus:t}=u.extraInfo;return e&&t?e.map((e,a)=>({...e,status:t[a]??Gi.PENDING})):[]}),h=e(()=>"number"==typeof u.extraInfo.use_coins?u.extraInfo.use_coins:0),f=e(()=>u.data.action_requests.reduce((e,t)=>e+t.cost_coins,0)),y=e(()=>{const{auto_approve:e}=u.data;return!e&&!u.extraInfo?.interruptAction}),I=e(()=>u.extraInfo?.loading),w=e(()=>{const{auto_approve:e}=u.data;return!e&&"reject"===u.extraInfo?.interruptAction}),S=e(()=>{const{interruptAction:e}=u.extraInfo;return"interrupt"===e}),C=e(()=>g.value.every(e=>e.status===Gi.ERROR));function T(){p.value=!p.value,v("logSource","showMoreClick")}const x=e(()=>g.value.some(e=>e.status===Gi.SUCCESS)&&g.value.every(e=>e.status!==Gi.PENDING)&&!u.extraInfo.loading);return(e,t)=>{const c=se;return a(),n("div",Yi,[s("section",Ji,[s("div",Zi,[s("div",Ki,[t[2]||(t[2]=s("span",null,"ð§© ãã¼ã«å®è¡ã®ç¢ºèª",-1)),i(c,{name:"arrowDown",class:o([{"is-rotate":m(p)}]),onClick:T},null,8,["class"])]),s("div",Qi,[t[7]||(t[7]=s("span",null,"ã¾ããªã以ä¸ã®å
容ãå®è¡ãã¾ãï¼",-1)),(a(!0),n(b,null,k(m(g),(e,t)=>(a(),n("span",{key:t},"⢠"+r(e.real_model_name)+"ï¼"+r(e.gen_type===m(Wi).IMAGE?"ç»åçæ":"åç»çæ")+"ï¼ Ã 1å "+r(e.status===m(Gi).PENDING?"":e.status===m(Gi).SUCCESS?"â
":"â"),1))),128)),s("span",null,"äºæ³æ¶è²»ã³ã¤ã³ï¼"+r(m(f))+"ã³ã¤ã³",1),_(s("div",er,[t[4]||(t[4]=s("div",null,"確èªå¾ã«ã³ã¤ã³ãæ¶è²»ããã¾ãããã£ã³ã»ã«ããå ´åãæ¶è²»ã¯çºçãã¾ãã",-1)),t[5]||(t[5]=s("br",null,null,-1)),s("div",null,[t[3]||(t[3]=s("span",null,"ç¾å¨ã®ã¢ã¼ãï¼",-1)),s("span",null,r(l.data.auto_approve?"âª":"ð")+" æ¯å確èªãã "+r(l.data.auto_approve?"ð":"âª")+" èªåã§å®è¡",1)]),t[6]||(t[6]=s("span",null,"ãã®è¨å®ã¯ããã£ããç»é¢ä¸é¨ãã夿´ã§ãã¾ã",-1))],512),[[z,m(p)]])])]),m(y)?(a(),n("div",tr,[t[10]||(t[10]=s("span",null,"å
容ãå®è¡ãã¾ããï¼",-1)),s("div",ar,[s("div",{class:"cancel",onClick:t[0]||(t[0]=e=>v("operateTool","reject"))},[i(c,{name:"cancel-icon"}),t[8]||(t[8]=s("span",null,"åãæ¶ã",-1))]),s("div",{class:"run",onClick:t[1]||(t[1]=e=>v("operateTool","approve"))},[t[9]||(t[9]=s("span",null,"å®è¡",-1)),i(c,{name:"corner-up-left"})])])])):m(I)?(a(),n("div",nr,[t[11]||(t[11]=s("div",{class:"loading-icon"},[s("img",{src:Ve,alt:""})],-1)),t[12]||(t[12]=s("span",null,"ãã¼ã«ãå®è¡ãã¦ãã¾ã...",-1)),i(Xi,{class:"tool-timer"})])):d("",!0),m(C)||m(w)?(a(),n("div",lr,[i(c,{name:"warning-icon"}),s("span",null,r(m(C)?"ãã¼ã«ã®å®è¡ã«å¤±æãã¾ãã":"ãã¼ã«ã®å®è¡ããã£ã³ã»ã«ããã¾ãã"),1)])):d("",!0),m(S)?(a(),n("div",or,[i(c,{name:"warning-icon"}),t[13]||(t[13]=s("span",null,"ãã¼ã«ã®å®è¡ã䏿ããã¾ãã",-1))])):d("",!0)]),s("div",sr,[m(x)?(a(),n("div",ir,[t[14]||(t[14]=E(" å®è¡ãå®äºãã¾ãããä»åã®æ¶è²»ï¼",-1)),s("span",rr,r(m(h)),1),t[15]||(t[15]=E("ã³ã¤ã³ ",-1))])):d("",!0),m(w)?(a(),n("div",cr," å®è¡ã«å¤±æãã¾ãããã³ã¤ã³ã®æ¶è²»ã¯çºçãã¾ãã ")):d("",!0),m(C)?(a(),n("div",ur," å®è¡ã«å¤±æãã¾ãããã³ã¤ã³ã®æ¶è²»ã¯çºçãã¾ãã ")):d("",!0)])])}}}),[["__scopeId","data-v-7f4c9f58"]]),vr={key:0,class:"oc-chat-card__header"},pr={key:1,class:"oc-chat-card__result"},mr={class:"oc-chat-card__content"},gr={key:0,class:"oc-chat-card__message"},hr={key:0,class:"image-gallery"},fr=["src"],yr={key:1,class:"oc-chat-card__message"},_r={key:2,class:"oc-chat-card__message"},Ir={key:3,class:"oc-chat-card__message video-message"},br=["src"],kr={class:"mg-20"},wr={key:0,class:"option-list"},Sr=["onClick"],Cr={class:"option-list"},Tr=["onClick"],xr={key:5,class:"oc-chat-card__message"},Mr={class:"image-selector"},Ar=["onClick"],Er=["src"],Pr={class:"style-card__title"},Rr=oe(l({__name:"OcChatCard",props:{data:{}}
1,emits:["optionClick","typeFinish","typeWriting","typeStart","refresh","imageCardClick","like","unlike","videoPlay","operateInterruptInfo","logSource"],setup(t,{emit:l}){const u=t,v=l,p=e(()=>{const e=[Bi.Pose,Bi.Outfit,Bi.Hairstyle,Bi.Expression,Bi.Style,Bi.Video].includes(u.data.type);return u.data.type===Bi.Option&&void 0!==u.data.extraInfo?.checked||e&&void 0!==u.data.extraInfo?.imageChecked||u.data.type===Bi.Video&&void 0!==u.data.extraInfo?.checked}),g=e(()=>{switch(u.data.type){case Bi.Done:case Bi.Video:return"chat-result";case Bi.Option:return"oc-option-result";case Bi.Pose:case Bi.Outfit:case Bi.Hairstyle:case Bi.Expression:case Bi.Style:return"oc-image-select";default:return""}}),h=e(()=>{switch(u.data.type){case Bi.Done:return"çµæã®çæ";case Bi.Option:return"ä¿®æ£æ¬¡å
鏿";case Bi.Pose:case Bi.Outfit:case Bi.Hairstyle:case Bi.Expression:case Bi.Style:return"ç»å鏿åè";default:return"çµæã®çæ"}});function f(e,t,a){v("optionClick",e,t,a)}function y(e){v("logSource",e),v("operateInterruptInfo",e,u.data)}function _(){v("typeStart")}function I(){v("typeFinish")}function w(){v("typeWriting")}function S(e){const t=e?.el,a=t.querySelectorAll("video");a&&a.length&&a.forEach(e=>{e.addEventListener("play",()=>v("videoPlay")),e.addEventListener("durationchange",()=>v("typeWriting"))})}return(e,l)=>{const u=se,C=ma;return a(),n("div",{class:o(["oc-chat-card",[t.data.type,t.data.msgImg&&1===t.data.msgImg.length?"oc-chat-card--single-img":"",m(p)?"oc-chat-card--checked":""]])},[!["user"].includes(t.data.type)&&t.data.hasAvatar?(a(),n("div",vr,[i(u,{class:"oc-chat-card__header-avatar",name:"logo"}),l[7]||(l[7]=s("div",{class:"oc-chat-card__header-title"},"SynClub",-1))])):d("",!0),m(g)?(a(),n("div",pr,[i(u,{name:m(g),class:"oc-chat-card__result-icon"},null,8,["name"]),E(" "+r(m(h)),1)])):d("",!0),s("div",mr,[t.data.type===m(Bi).User?(a(),n("div",gr,[t.data.msgImg&&t.data.msgImg.length>0?(a(),n("div",hr,[(a(!0),n(b,null,k(t.data.msgImg,(e,l)=>(a(),n("img",{key:`${e}-${l}`,src:e,class:o(["image-gallery__item",`image-gallery__item--${t.data.extraInfo?.size}`])},null,10,fr))),128))])):(a(),n(b,{key:1},[E(r(t.data.msg),1)],64))])):t.data.type===m(Bi).Common?(a(),n("div",yr,[i(C,{typing:t.data.enableTyping,"is-markdown":!0,content:t.data.msg,onFinish:I,onWriting:w},null,8,["typing","content"])])):t.data.type===m(Bi).Done?(a(),n("div",_r,[l[8]||(l[8]=s("span",{class:"title"},"ã©ã¤ã³å稿çæçµæå®äº",-1)),i(C,{typing:t.data.enableTyping,"is-markdown":!0,content:t.data.msg,onStart:_,onFinish:I,onWriting:w},null,8,["typing","content"])])):t.data.type===m(Bi).Video?(a(),n("div",Ir,[l[9]||(l[9]=s("span",{class:"title"},"ãããªã®çæãå®äºãã¾ãã",-1)),t.data.markdonwRender?(a(),n("div",{key:1,class:"video-markdown",onVnodeMounted:S},[i(C,{typing:!1,"is-markdown":!0,content:t.data.msg},null,8,["content"]),t.data.extraInfo?.options&&t.data.extraInfo?.options?.length?(a(),n("div",wr,[(a(!0),n(b,null,k(t.data.extraInfo?.options,(e,l)=>(a(),n("div",{key:e.value,class:o(["option-list__item",[l===t.data.extraInfo?.checked?"checked":""]]),onClick:a=>f(e,t.data,l)},[i(u,{name:l===t.data.extraInfo?.checked?"oc-checked":"oc-check",class:"option-list__item-icon"},null,8,["name"]),E(" "+r(e.label),1)],10,Sr))),128))])):d("",!0)],512)):(a(),n(b,{key:0},[E(r(t.data.extraInfo?.before)+" ",1),t.data.extraInfo?.videoUrls?.length?(a(),n("video",{key:0,src:t.data.extraInfo?.videoUrls[0],controls:"",onDurationchangeOnce:l[0]||(l[0]=e=>v("typeWriting")),onPlay:l[1]||(l[1]=e=>v("videoPlay"))},null,40,br)):d("",!0),s("span",kr,r(t.data.extraInfo?.after),1)],64))])):t.data.type===m(Bi).Option?(a(),n("div",{key:4,class:"oc-chat-card__message",onVnodeMounted:l[2]||(l[2]=e=>v("typeWriting"))},[t.data?.extraInfo?.before?(a(),c(C,{key:0,typing:!1,"is-markdown":!0,content:t.data.extraInfo.before},null,8,["content"])):d("",!0),s("div",Cr,[(a(!0),n(b,null,k(t.data.extraInfo?.options,(e,l)=>(a(),n("div",{key:e.value,class:o(["option-list__item",[l===t.data.extraInfo?.checked?"checked":""]]),onClick:a=>f(e,t.data,l)},[i(u,{name:l===t.data.extraInfo?.checked?"oc-checked":"oc-check",class:"option-list__item-icon"},null,8,["name"]),E(" "+r(e.label),1)],10,Tr))),128))]),E(" "+r(t.data.extraInfo?.after),1)],512)):[m(Bi).Pose,m(Bi).Outfit,m(Bi).Hairstyle,m(Bi).Expression,m(Bi).Style].includes(t.data.type)?(a(),n("div",xr,[s("div",Mr,[l[11]||(l[11]=s("div",{class:"image-selector__title"},"æ§ç¯ã¹ã¿ã¤ã«ã®é¸æ",-1)),l[12]||(l[12]=s("div",{class:"image-selector__text"},"次ã«ã好ããªç»é¢¨ãé¸ãã§ãã ããã",-1)),s("div",{class:o(["image-selector__list",`image-selector__list--${t.data.type}`])},[(a(!0),n(b,null,k(t.data.extraInfo?.images,(e,l)=>(a(),n("div",{key:`${e.imageUrl}-${l}`,class:o(["style-card",`style-card--${t.data.type} ${t.data.extraInfo?.imageChecked===l?"checked":""}`]),onClick:e=>function(e,t){v("imageCardClick",e,t)}(t.data,l)},[s("img",{src:e.imageUrl,alt:"",class:"style-card__image"}
1,null,8,Er),s("div",Pr,r(e.name),1)],10,Ar))),128))],2),s("div",{class:"image-selector__refresh",onClick:l[3]||(l[3]=e=>{return a=t.data,void v("refresh",a);var a})},[i(u,{name:"oc-refresh",class:"icon"}),l[10]||(l[10]=E(" åãæ¿ãã ",-1))])])])):t.data.type===m(Bi).Interrupt?(a(),c(dr,{key:6,data:t.data.interruptInfo,extraInfo:t.data.extraInfo,onOperateTool:y,onLogSource:l[4]||(l[4]=t=>e.$emit("logSource",t))},null,8,["data","extraInfo"])):d("",!0)]),void 0!==t.data.feedbackStatus?(a(),c(Vi,{key:2,class:"oc-chat-card__feedback",data:t.data,onHandleLike:l[5]||(l[5]=e=>{return a=t.data,void v("like",a);var a}),onHandleUnlike:l[6]||(l[6]=e=>{return a=t.data,void v("unlike",a);var a})},null,8,["data"])):d("",!0)],2)}}}),[["__scopeId","data-v-afb5248c"]]),Lr={class:"greet"},Ur={class:"greet__title"},Dr={class:"greet__gameplay"},Nr=["onClick"],Or=["src"],zr={class:"item__title"},$r=oe(l({__name:"GreetChat",emits:["click"],setup(t,{emit:l}){const o=l,{t:i}=de(),c=Y(),u=e(()=>c.loginUserInfo);function d(){const e=(new Date).getHours();return i(e<12?"GoodMorning":e<18?"GoodAfternoon":"GoodEvening")}return(e,t)=>(a(),n("div",Lr,[s("div",Ur,r(d())+" "+r(m(u)?.name&&m(u)?.name?.length>16?m(u)?.name?.slice(0,16)+"...":m(u)?.name||"")+" "+r(e.$t("ocAgent.Greet")),1),s("div",Dr,[(a(!0),n(b,null,k(m(la),t=>(a(),n("div",{key:t.title,class:"item btn",onClick:e=>o("click",t)},[s("img",{src:t.image,class:"item__image"},null,8,Or),s("span",zr,r(e.$t(t.title)),1)],8,Nr))),128))])]))}}),[["__scopeId","data-v-3868f129"]]);const qr=t();function Vr(e){qr.value=e}function Br(){return{lastInterruptMessage:qr,setInterruptMessage:Vr}}let Fr=!1,Gr=null;function Wr(e,a,n,l,o,s,i,r){const{setInterruptMessage:c,lastInterruptMessage:u}=Br(),d=t({}),v=t([]),p=t([]),m=t([]),g=Ut();let h=0;const f=t({toolUseInProgress:!1,currToolUse:null,toolResultInProgress:!1,currToolResult:null,chatInProgress:!1,currChat:null,eventInProgress:!1});function y(e){v.value=v.value.concat([...e])}function _(e){const t=/<option_start(?:\s+type="([^"]*)")?>(.*?)(?:<\/option_start>|<option_end>|<\/option_end>)/g,a=[];let n=null,l=-1,o=-1;for(;null!==(n=t.exec(e));){-1===l&&(l=n.index);const e=n[1]||"direct",t=n[2].trim();a.push({label:t,value:e}),o=n.index+n[0].length}let s="",i="";return a.length>0?(s=e.slice(0,l).trim(),i=e.slice(o).trim()):s=e.trim(),{options:a,beforeText:s,afterText:i}}function I(e){if(!e.includes("<video"))return{intro:e.trim(),outro:"",markdonwRender:!1,videoUrls:[]};const t=/<video[^>]*src="([^"]+)"[^>]*?(?:\/>|><\/video>)/g,a=[];let n;for(;null!==(n=t.exec(e));)a.push(n[1].trim());const l=e.match(/^(.*?)<video[^>]*src="([^"]+)"[^>]*?(?:\/>|><\/video>)(.*)$/s);return{intro:l?.[1]?.trim()||"",outro:l?.[3]?.trim()||"",markdonwRender:a.length>1,videoUrls:a}}function b(e,t,a,n,l){const{intro:o,outro:s,markdonwRender:i,videoUrls:r}=I(n);if(n.includes("<option_start")){const{options:l,beforeText:o,afterText:s}=_(n);e.push({type:Bi.Video,content:o,before:o,after:s,options:l,requestId:t,msgId:a,videoUrls:r,markdonwRender:!0})}else r.length?e.push({type:Bi.Video,content:n,requestId:t,msgId:a,before:o,after:s,options:[],markdonwRender:i,videoUrls:r}):l?.()}function k(e,t,a){const n=/<type_start>(.*?)(?:<type_end>|<\/type_end>)/g,l=[];let o=null,s=!1;if(n.lastIndex=0,o=n.exec(e),!o){I(e).videoUrls.length&&(s=!0,b(l,t,a,e,()=>{s=!1}))}for(;null!==o;){s=!0;const i=o[1].trim(),r=e.indexOf("<type_start>",o.index+o[0].length),c=-1===r?e.length:r,u=e.slice(o.index+o[0].length,c).trim();if(i===Hi.TYPE_OPTION){const{options:e,beforeText:n,afterText:o}=_(u);e.length>0?l.push({type:Bi.Option,content:u,before:n,after:o,options:e,requestId:t,msgId:a}):u&&l.push({type:Bi.Common,content:u,requestId:t,msgId:a})}else if([Hi.TYPE_IMAGE,Hi.TYPE_NORMAL].includes(i))if(u.includes("<option_start")){const{options:e,beforeText:n,afterText:o}=_(u);l.push({type:Bi.Option,content:u,before:n,after:o,options:e,requestId:t,msgId:a})}else u&&l.push({type:i===Hi.TYPE_IMAGE?Bi.Done:Bi.Common,content:u,requestId:t,msgId:a});else i===Hi.TYPE_VIDEO&&b(l,t,a,u,()=>{l.push({type:Bi.Common,content:u,requestId:t,msgId:a})});o=n.exec(e)}return s||l.push({type:Bi.Common,content:e.trim(),requestId:t,msgId:a}),l}return{msgState:$(f),toolResults:$(d),processQueue:$(v),toolResultImages:$(p),toolResultVideos:$(m),resetToolResultVideo:function(){m.value=[]},popProcessQueue:function(){return v.value.shift()},processStreamMessage:(t,o,v,_)=>{try{if("server"!==t.role)return;const{card_type:I}=t.data;switch(I){case"event":((t,n,o,s)=>{switch(t.event){case"resp_start":f.value.eventInProgress=!0,n.value=!0,o.value=!1,Fr=!1,h=Date.now();break;case"interrupt":const{msg_id:d}=t,{action_requests:v,auto_approve:p}=t?.content_block?.content??{},m={type:Bi.Interrupt,content:"",requestId:s,msgId:d,interruptInfo:{action_requests:v,auto_approve:p}};i(u.value?.msgId),c(m),y([m]),a(s),Fr=!0,W(H.interruptMessageShow,{isAutoModel:p});break;case"balance":const{use_coins:g,balance:_}=t?.content_block,I=u.value?.msgId;Gr&&clearTimeout(Gr),Gr=setTimeout(()=>{l(_,g,I),clearTimeout(Gr),Gr=null},1e3);break;case"resp_end":e(t.msg_id),f.value.eventInProgress=!1,n.value=!1,o.value=!1,f.value.currToolUse=null,Fr||(r(t.request_id),i(u.value?.msgId))}})(t.data,o,v,t.request_id);break;case"tool_use":v.value=!0,_.value=!1,(e=>{const{event:t,content_block:a}=e;switch(t){case"content_block_start":if(f.value.toolUseInProgress=!0,a?.content?.[0]){const t=a.content[0];f.value.currToolUse={msgId:e.msg_id,name:t.name||"",id:t.id||"",args:t.args||{},usage:a.usage}}break;case"content_block_delta":if(f.value.currToolUse&&a?.content?.[0]){const e=a.content[0].args||"";f.value.currToolUse.args+=e}break;case"content_block_end":break;case"content_finish":try{const t=e.content_block.content;t&&Array.isArray(t)&&t.length>0&&t.forEach(t=>{t.id&&g.setCurrentToolUseIdMap(t.id,e.msg_id)})}catch(n){}f.value.toolUseInProgress=!1;const t=a.content[0];f.value.currToolUse={...f.value.currToolUse||{},args:t.args||{}}}})(t.data);break;case"tool_result":_.value=!1,((e,t)=>{const{event:a,content_block:n}=e;switch(a){case"content_block_start":f.value.toolResultInProgress=!0,n?.content&&(f.value.currToolResult={msgId:e.msg_id,id:n.content.id||"",name:n.content.name||"",content:n.content.content||"",usage:n.usage},d.value[t]={content:f.value.currToolResult.content,msgId:f.value.currToolResult.msgId,timestamp:Date.now(),modelName:""});break;case"content_block_delta":if(f.value.currToolResult&&n?.content){const e=n.content.content||"";f.value.currToolResult.content+=e,d.value[t]={content:f.value.currToolResult.content,msgId:f.value.currToolResult.msgId,timestamp:Date.now(),modelName:""}}break;case"content_block_end":break;case"content_finish":try{const a=e.content_block.content;if(a&&"object"==typeof a&&a.content&&"string"==typeof a.content){const n=JSON.parse(a.content);let o="";if(n){const i=a.id,r=u.value?.msgId;if("generation success"===n.status){if(n.generated_images&&n.generated_images.length){let t={};if(e.extra_info)try{t=JSON.parse(e.extra_info)}catch(l){}const o=n.generated_images.map((e,a)=>({url:e,id:t.image_ids?.[a]}));
1p.value=p.value.concat(o),n.generated_images.forEach(e=>{a.id&&g.setCurrentMediaMap(e,a.id)})}else n.generated_video&&(m.value.push(n.generated_video),a.id&&g.setCurrentMediaMap(n.generated_video,a.id),h&&(W(H.genVideoComplete,{duration:Date.now()-h}),h=0));s(i,Gi.SUCCESS,r)}else"generation failed"===n.status?s(i,Gi.ERROR,r):"user rejected"===n.status&&s(i,Gi.REJECT,r);o=n?.input_parameters?.model_name?`${n?.input_parameters?.model_name} ${n?.input_parameters?.mode??""}`.trim():"",d.value[t]={...d.value[t]||{},modelName:o},W(H.toolResultFinish,{modelName:o,name:a.name,status:n?.status||""})}a.name?.includes("video")&&n&&"generation failed"===n?.status&&W(H.toolCallFaild,{modelName:o})}}catch(o){}f.value.toolResultInProgress=!1,f.value.currToolResult=null}})(t.data,t.request_id);break;case"chat":((e,t,l)=>{const{event:o,content_block:s}=e;switch(o){case"content_block_start":{n(e.msg_id),f.value.chatInProgress=!0;const t=s?.content||"";f.value.currChat={msgId:e.msg_id,content:t,usage:s?.usage};break}case"content_block_delta":if(f.value.currChat&&s?.content){const e=s.content||"";f.value.currChat.content+=e}break;case"content_block_end":break;case"content_finish":const o=u.value?.msgId;f.value.currChat&&(y(k(e.content_block.content,t,e.msg_id)),a(t),i(o)),l.value=!1,f.value.chatInProgress=!1,f.value.currChat=null}})(t.data,t.request_id,_)}}catch(I){}},clearState:()=>{f.value={toolUseInProgress:!1,currToolUse:null,toolResultInProgress:!1,currToolResult:null,chatInProgress:!1,currChat:null,eventInProgress:!1},d.value={}},parseContent:k,resetToolResultImages:function(){p.value=[]}}}var Hr=(e=>(e[e.AGENT_BUSY=100]="AGENT_BUSY",e[e.POINT_NOT_ENOUGH=101]="POINT_NOT_ENOUGH",e[e.MESSAGE_RATE_LIMIT=102]="MESSAGE_RATE_LIMIT",e[e.JSON_UNMARSHAL=103]="JSON_UNMARSHAL",e[e.OTHER=1001]="OTHER",e))(Hr||{});const jr=t(F.localGet(Be.AUTO_RUN_MODE)??!1);function Xr(){return{isAutoRunMode:jr,setIsAutoRunMode:function(e){jr.value=e,F.localSet(Be.AUTO_RUN_MODE,e)}}}const Yr=[];function Jr(a=t(!0)){const{setInterruptMessage:n,lastInterruptMessage:l}=Br(),{isAutoRunMode:o}=Xr(),s=t(null),i=t([]),r=t(!1),c=t(!1),u=t(!1),d=t(!1),v=t(!0),p=t([]),m={ADD_LOADING_IMAGES:"CANVAS:ADD_LOADING_IMAGES",REPLACE_LOADING_IMAGE:"CANVAS:REPLACE_LOADING_IMAGE",REMOVE_LOADING_IMAGE:"CANVAS:REMOVE_LOADING_IMAGE"},g=t(!1),h=t([]);S(()=>r.value,e=>{!e&&h.value.length&&(h.value.forEach(e=>e()),h.value=[])},{immediate:!0});const f=Oe(),{createUserCard:y,createOptionCard:_,createCommonCard:I,createDoneCard:b,createPoseCard:k,createExpressionCard:w,createOutfitCard:C,createHairstyleCard:T,createStyleCard:M,createVideoCard:A,createInterruptCard:E}=function(){const{toolNameMapModels:e}=oa();let t=1;function a(){return t++}return{generateCardId:a,resetCardIdCounter:function(){t=1},createUserCard:function(e,t,n){return{id:a(),requestId:"user_"+Date.now()+"_"+Math.random().toString(36).substr(2,9),msgId:"user_"+Date.now()+"_"+Math.random().toString(36).substr(2,9),type:Bi.User,msg:e,msgImg:t,timestamp:Date.now(),extraInfo:{size:n}}},createCommonCard:function(e){const{msg:t,requestId:n,hasAvatar:l=!1,enableTyping:o=!0,feedbackStatus:s,msgId:i}=e;return{id:a(),requestId:n,type:Bi.Common,msg:t,msgId:i,timestamp:Date.now(),hasAvatar:l,enableTyping:o,feedbackStatus:s}},createDoneCard:function(e){const{msg:t,requestId:n,hasAvatar:l=!1,enableTyping:o=!0,feedbackStatus:s,msgId:i}=e;return{id:a(),requestId:n,type:Bi.Done,msg:t,msgId:i,timestamp:Date.now(),hasAvatar:l,enableTyping:o,feedbackStatus:s}},createOptionCard:function(e){const{extraInfo:t,hasAvatar:n=!1,feedbackStatus:l,requestId:o,msgId:s}=e;return{id:a(),requestId:o,type:Bi.Option,msg:"",msgId:s,timestamp:Date.now(),hasAvatar:n,feedbackStatus:l,extraInfo:t}},createPoseCard:function(e){const{images:t,requestId:n,feedbackStatus:l,checked:o,msgId:s,imageChecked:i}=e;return{id:a(),requestId:n,type:Bi.Pose,msg:"",msgId:s,timestamp:Date.now(),feedbackStatus:l,extraInfo:{images:t,checked:o,checkOptions:Fi.MENU_POSE,imageChecked:i}}},createExpressionCard:function(e){const{images:t,requestId:n,feedbackStatus:l,checked:o,msgId:s,imageChecked:i}=e;return{id:a(),requestId:n,type:Bi.Expression,msg:"",msgId:s,timestamp:Date.now(),feedbackStatus:l,extraInfo:{images:t,checked:o,checkOptions:Fi.MENU_EXPRESSION,imageChecked:i}}},createOutfitCard:function(e){const{images:t,requestId:n,feedbackStatus:l,checked:o,msgId:s,imageChecked:i}=e;return{id:a(),requestId:n,type:Bi.Outfit,msg:"",msgId:s,timestamp:Date.now(),feedbackStatus:l,extraInfo:{images:t,checked:o,checkOptions:Fi.MENU_OUTFIT,imageChecked:i}}},createHairstyleCard:function(e){const{images:t,requestId:n,feedbackStatus:l,checked:o,msgId:s,imageChecked:i}=e;return{id:a(),requestId:n,type:Bi.Hairstyle,msg:"",msgId:s,timestamp:Date.now(),feedbackStatus:l,extraInfo:{images:t,checked:o,checkOptions:Fi.MENU_HAIRSTYLE,imageChecked:i}}},createStyleCard:function(e){const{images:t,requestId:n,feedbackStatus:l,checked:o,msgId:s,imageChecked:i}=e;return{id:a(),requestId:n,type:Bi.Style,msg:"",msgId:s,timestamp:Date.now(),feedbackStatus:l,extraInfo:{images:t,checked:o,checkOptions:Fi.MENU_STYLE,imageChecked:i}}},updateCard:function(e,t){const a=e.findIndex(e=>e.id===t.id);-1!==a&&(e[a]={...e[a],...t})},createVideoCard:function(e){const{msg:t,extraInfo:n,requestId:l,hasAvatar:o=!1,enableTyping:s=!0,feedbackStatus:i,msgId:r,markdonwRender:c}=e;return{id:a(),requestId:l,type:Bi.Video,msg:t,extraInfo:n,msgId:r,timestamp:Date.now(),hasAvatar:o,enableTyping:s,feedbackStatus:i,markdonwRender:c}},createInterruptCard:function(t){const{extraInfo:n,hasAvatar:l=!1,feedbackStatus:o,requestId:s,msgId:i}=t,{action_requests:r=[],auto_approve:c=!1,loading:u=!1,requestStatus:d=[],use_coins:v=0,interruptAction:p=""}=n;return{id:a(),requestId:s,type:Bi.Interrupt,msg:"",msgId:i,timestamp:Date.now(),hasAvatar:l,feedbackStatus:o,interruptInfo:{action_requests:r.map(t=>{const{name:a,args:n}=t,{model_name:l,mode:o}=n;let s=`${l||""} ${o??""}`.trim();const i=e.value[a];if(i)for(let e=0;e<i.length;e++){const t=i[e];if(Object.keys(t.match).every(e=>t.match[e]===n[e])){s=t.name;break}}return{...t,real_model_name:s}}),auto_approve:c},extraInfo:{interruptAction:p,requestStatus:d,loading:u,use_coins:v}}}}}(),{hasError:P,handleErrorMsg:R}=function(){pe();const e=t(null),a=t({totalErrors:0,errorsByType:{},lastErrorTime:0});function n(){Z({message:"åèªã¿è¾¼ã¿ãã¦ããä¸åº¦ã試ããã ãã",type:"danger",duration:4e3})}return{lastError:e,errorStats:a,handleErrorMsg:function(t){const l=Date.now(),{errno:o,errmsg:s,request_id:i}=t;a.value.totalErrors++,a.value.errorsByType[o]=(a.value.errorsByType[o]||0)+1,a.value.lastErrorTime=l,e.value={errno:o,errmsg:s,timestamp:l},n()},showErrorMessage:n,hasError:function(e){return"number"==typeof e&&0!==e},clearErrorStats:function(){a.value={totalErrors:0,errorsByType:{},lastErrorTime:0},e.value=null},AgentErrorCode:Hr}}(),L=B(),{processStreamMessage:U,popProcessQueue:D,parseContent:N,resetToolResultImages:O,toolResults:z,toolResultImages:$,processQueue:q,toolResultVideos:V,resetToolResultVideo:F,msgState:G}=Wr(function(e){v.value=!0;let t=!1;if(e){-1===i.value.findIndex(t=>t.requestId===e)&&(t=!0)}c.value||(c.value=!0,ce(t))},function(e){let t=!1;if(e){-1===i.value.findIndex(t=>t.requestId===e)&&(t=!0)}c.value||(c.value=!0,ce(t))},function(){v.value&&!u.value&&(d.value=!0,v.value=!1)},function(e,t,a){const n=i.value.findIndex(e=>e.msgId===a);if(-1!==n){const e=i.value[n],a={...e.extraInfo??{},use_coins:t};i.value[n]={...e,extraInfo:{...a}},Dt({canvas_id:Number(L.params.canvasId),chat_id:L.params.chatId,extra_info:JSON.stringify(a),msg_id:e.msgId})}ue(e)},0,function(e,t,a){const n=i.value.findIndex(e=>e.msgId===a);if(-1!==n){const a=i.value[n],{interruptInfo:l,extraInfo:o}=a,s=o?.requestStatus??[];for(let n=0;n<l.action_requests?.length;n++){const a=l?.action_requests[n];if(a?.id===e&&s[n]===Gi.PENDING){s[n]=t;break}}const r={...a.extraInfo??{},requestStatus:s,interruptAction:l?.auto_approve?"approve":a.extraInfo?.interruptAction};i.value[n]={...a,extraInfo:{...r}},Dt({canvas_id:Number(L.params.canvasId),chat_id:L.params.chatId,extra_info:JSON.stringify(r),msg_id:a.msgId}),t===Gi.REJECT?W(H.interruptInfoResult,{result:Gi.REJECT}):s.every(e=>e!==Gi.PENDING)&&(s.some(e=>e===Gi.SUCCESS)?W(H.interruptInfoResult,{result:Gi.SUCCESS}):W(H.interruptInfoResult,{result:Gi.ERROR}))}},oe,re),{getModelCategoryById:j,selectedModel:X,isAutoModel:Y}=sa(),K=Ut();function ee(){try{r.value=!1,s.value&&s.value.isConnected()&&s.value.close(1e3,"Normal closure"),s.value=null}catch(e){s.value=null,r.value=!1}}function te(e){if("object"!=typeof e)return;const t=e.data,{errno:n,role:l}=t;if(P(n))return ee(),R(t),r.value=!1,g.value=!1,void(a.value=n!==Hr.POINT_NOT_ENOUGH);"server"===l&&("event"!==t.data.card_type&&(a.value=!0),U(t,r,u,g))}function ae(e,t=!1){const{type:a,toolImages:n,requestId:l,checked:o,msgId:s,insertFinish:r,imageChecked:c,feedbackStatus:u}=e;let d={};switch(a){case Fi.MENU_POSE:d=k({images:n,requestId:l,feedbackStatus:u,checked:o,imageChecked:c,msgId:s});break;case Fi.MENU_EXPRESSION:d=w({images:n,requestId:l,feedbackStatus:u,checked:o,imageChecked:c,msgId:s});break;case Fi.MENU_OUTFIT:d=C({images:n,requestId:l,feedbackStatus:u,checked:o,imageChecked:c,msgId:s});break;case Fi.MENU_HAIRSTYLE:d=T({images:n,requestId:l,feedbackStatus:u,checked:o,imageChecked:c,msgId:s});break;case Fi.MENU_STYLE:d=M({images:n,requestId:l,feedbackStatus:u,checked:o,imageChecked:c,msgId:s})}
1d.id&&(i.value.push(d),t||W(H.ocAgentChatCardShow,{type:d.type}),x(()=>{r?.()}))}function ne(e,t){if(!s.value||!s.value.isConnected())return 1;try{const a={role:"client",request_id:"req_"+Date.now()+"_"+J(),timestamp:Date.now(),data:{msg_id:"msg_"+Date.now()+"_"+J(),card_type:"event",event:"decisions",content_block:{type:"decisions",content:{decisions:e,action_requests:t??[]}}}};"reject"===e&&(g.value=!0);return s.value.sendJSON(a)?0:(r.value=!1,g.value=!1,2)}catch(a){return r.value=!1,g.value=!1,3}}function le({msg:e,toolImages:t,images:a,auto_approve:n}){if(s.value&&s.value.isConnected()){if(a&&a.length>0||t&&t.length>0){let e=[],n=a||[],l="middle";if(t&&t.length>0){const a=t[0].type;a!==Nt.menu_style&&a!==Nt.menu_expression||(l="small"),e=t.map(e=>e.imageUrl)}const o=[...e,...n],s=y("",o,l);i.value.push(s)}if(e){const t=y(e);i.value.push(t)}i.value.length>0&&i.value.forEach(e=>{e.type===Bi.Option&&e.extraInfo&&void 0===e.extraInfo.checked&&(e.extraInfo.checked=-1),[Bi.Pose,Bi.Outfit,Bi.Hairstyle,Bi.Expression,Bi.Style].includes(e.type)&&e.extraInfo&&void 0===e.extraInfo.imageChecked&&(e.extraInfo.imageChecked=-1),e.type===Bi.Video&&e.extraInfo?.options?.length&&void 0===e.extraInfo?.checked&&(e.extraInfo.checked=-1)});try{const l={auto:Y.value,...j(X.value)};l.image||(l.image=[]),l.video||(l.video=[]),l.image.length||l.video.length||(l.auto=!0);const o={role:"client",request_id:"req_"+Date.now()+"_"+J(),timestamp:Date.now(),data:{msg_id:"msg_"+Date.now()+"_"+J(),card_type:"chat",content_block:{type:"text",content:e,models:l,auto_approve:n}},errno:0,errmsg:""};a&&a.length>0&&(o.data.content_block.image_url=a.map(e=>e)),t&&t.length>0&&(o.data.content_block.image_url=[...t.map(e=>e.imageUrl),...o.data.content_block.image_url||[]]),r.value=!0,g.value=!0;s.value.sendJSON(o)||(r.value=!1,g.value=!1)}catch(l){r.value=!1,g.value=!1}}}function oe(e){const t=i.value.findIndex(t=>t.msgId===e);if(-1!==t){const e=i.value[t],{extraInfo:a}=e;i.value[t]={...e,extraInfo:{...a??{},loading:!1}}}}function se(){const{interruptInfo:{auto_approve:e}={}}=l.value??{};if(e&&l.value){const e=st(l.value);r.value?h.value.push(()=>ie("approve",e)):ie("approve",e)}}function ie(e,t){const{msgId:l,interruptInfo:o,requestId:s}=t,{action_requests:r}=o??{},c=r?.reduce((e,t)=>e+t.cost_coins,0)||0;if("approve"===e&&(f.userAssets?.balance<=0||f.userAssets?.balance<c))return void(a.value=!1);"approve"===e&&ue(f.userAssets?.balance-c);const u={interruptAction:e,loading:"approve"===e,requestStatus:"approve"===e?new Array(r?.length??0).fill(Gi.PENDING):[]};if(0===ne(e,r??[])){n({type:Bi.Interrupt,content:"",requestId:s,msgId:l,interruptInfo:{action_requests:r??[],auto_approve:"approve"===e}}),Dt({canvas_id:Number(L.params.canvasId),chat_id:L.params.chatId,extra_info:JSON.stringify(u),msg_id:l});const t=i.value.findIndex(e=>e.msgId===l);-1!==t&&(i.value[t]={...i.value[t],extraInfo:u})}}function re(e){if($.value&&$.value.length>0&&(W(H.ocAgentChatGenerateImageSuc,{imagesNum:$.value.length}),function(e){const t=`chat_batch_${J()}`;e.forEach(e=>{const a=e.id||`common_${J()}`;Q.emit(m.ADD_LOADING_IMAGES,[{id:a,taskId:a,placeholder:"placeholder",width:1024,height:1024,source:"chat_generate",batchId:t}]),Q.emit(m.REPLACE_LOADING_IMAGE,{id:a,taskId:a,url:e.url,placeholder:"placeholder"})}),p.value=e.map(e=>e.url).slice()}($.value.slice()),O()),V.value&&V.value.length){const t=`chat_batch_${J()}`,a=z.value[e]?.modelName||"";V.value.forEach(e=>{!async function(e,t,a){const n=`common_${J()}`;Q.emit(m.ADD_LOADING_IMAGES,[{id:n,taskId:n,placeholder:"placeholder",width:960,height:540,itemType:"video",source:"chat_generate",batchId:t}]);const l=await async function(e,t=5){let a=null;for(let l=0;l<t;l++)try{return await ks(e)}catch(n){a=n,l<t-1&&await new Promise(e=>setTimeout(e,1e3*(l+1)))}throw new Error(`Load video failed: ${a?.message||"Unknown error"}`)}(e);W(H.videoCardShow,{videoUrl:l.url,duration:l.duration,modelName:a}),Q.emit(m.REPLACE_LOADING_IMAGE,{id:n,taskId:n,url:l.url,itemType:"video",videoUrl:e})}(e,t,a)}),F()}}function ce(e=!1,t){const a=D();if(a){if(a.type===Bi.Option){const t=_({extraInfo:{before:a.before,after:a.after,options:a.options},requestId:a.requestId,hasAvatar:e,feedbackStatus:0,msgId:a.msgId});
1i.value.push(t),c.value=!1,d.value=!1,W(H.ocAgentChatCardShow,{type:t.type})}else if(a.type===Bi.Common){const t=I({msg:a.content,requestId:a.requestId,hasAvatar:e,enableTyping:!0,feedbackStatus:0,msgId:a.msgId});i.value.push(t)}else if(a.type===Bi.Done){const t=b({msg:a.content,requestId:a.requestId,hasAvatar:e,enableTyping:!0,feedbackStatus:0,msgId:a.msgId});i.value.push(t),W(H.ocAgentChatCardShow,{type:t.type}),$.value&&!$.value.length&&W(H.ocAgentChatGenerateImageFail)}else if(a.type===Bi.Video){const t=A({msg:a.content,requestId:a.requestId,hasAvatar:e,enableTyping:!1,feedbackStatus:0,msgId:a.msgId,markdonwRender:a.markdonwRender,extraInfo:{before:a.before,after:a.after,options:a.options,videoUrls:[...V.value.length?V.value:a.videoUrls||[]]}});i.value.push(t),c.value=!1,d.value=!1}else if(a.type===Bi.Interrupt){const{action_requests:t,auto_approve:n}=a.interruptInfo??{},o=E({requestId:a.requestId,msgId:a.msgId,hasAvatar:e,extraInfo:{requestStatus:new Array(t?.length??0).fill(Gi.PENDING),auto_approve:n??!1,action_requests:t??[]}});i.value.push(o),c.value=!1,d.value=!1,l.value?.msgId===a.msgId&&n&&se()}re(a.requestId),x(()=>{t?.()}),c.value||d.value||!q.value.length||(c.value=!0,ce(!1))}else c.value=!1}function ue(e){e<0&&(e=0),f.setUserAssets({balance:e})}return{msgState:e(()=>G.value),ws:s,chatList:i,isToolEvent:u,processQueue:q,toolResults:z,isWaitingResponse:r,isWaitingQueue:c,isTyping:d,CANVAS_EVENTS:m,lastResult:p,initWebSocket:function(e){const{greetMsg:t,toolImages:a,images:n,onSuccess:i}=e;s.value&&ee();const u=Fe();try{const e=Ge().AGENT_CHAT_WS,d=e.endsWith("/")?e:e+"/",v=new URL(d+"aichat/agent_chat/v2/ws");if(u){const e=L.params.canvasId,t=L.params.chatId;e&&v.searchParams.set("canvas_id",e),t&&v.searchParams.set("chat_id",t),v.searchParams.set("business_type","ocagent"),v.searchParams.set("token",u)}Object.entries(f.commonParams).forEach(([e,t])=>{null!=t&&""!==t&&v.searchParams.set(e,String(t))}),s.value=ga({url:v.toString(),autoReconnect:!1,heartbeatInterval:3e4,maxReconnectAttempts:3},{onOpen:()=>{r.value=!1,c.value=!1,g.value=!1,Yr.length>0&&(Yr.forEach(e=>e()),Yr.length=0),(t||a&&a.length>0||n&&n.length>0)&&(le({msg:t,toolImages:a,images:n?.map(e=>e.url),auto_approve:o.value??!1}),n&&n.length>0&&n.forEach(e=>{const t=`common_${J()}`;Q.emit(m.ADD_LOADING_IMAGES,[{id:t,taskId:t,placeholder:"placeholder",width:e.width,height:e.height,source:"upload",batchId:`upload_${t}`}]),Q.emit(m.REPLACE_LOADING_IMAGE,{id:t,taskId:t,url:e.url,placeholder:"placeholder"})})),i?.()},onMessage:e=>{try{te(e)}catch(t){r.value=!1,c.value=!1,g.value=!1,oe(l.value?.msgId)}},onClose:e=>{r.value=!1,c.value=!1,g.value=!1,oe(l.value?.msgId)},onError:e=>{r.value=!1,c.value=!1,g.value=!1,oe(l.value?.msgId)},onReconnectFailed:()=>{r.value=!1,c.value=!1,g.value=!1,oe(l.value?.msgId)}}),s.value.connect().catch(e=>{r.value=!1,c.value=!1,g.value=!1})}catch(d){r.value=!1,c.value=!1,g.value=!1}},closeWebSocket:ee,sendMessage:le,handleAgentMsg:te,loadHistoryData:function(e){if(e&&0!==e.length){e.forEach(e=>{const{data:{card_type:t,event:a},errno:n}=e;var l;"chat"===t&&0===n?"server"===(l=e).role?"string"==typeof l.data.content_block.content&&l.data.msg_id&&N(l.data.content_block.content,l.request_id,l.data.msg_id).forEach(e=>{const t=-1===i.value.findIndex(t=>t.requestId===e.requestId);if(e.type===Bi.Option){let n={};if(l.data.extra_info)try{n=JSON.parse(l.data.extra_info||"")}catch(a){}i.value.push(_({extraInfo:{before:e.before,after:e.after,options:e.options,...n},requestId:e.requestId,hasAvatar:t,msgId:e.msgId})),n&&n.images&&ae({type:n.checkOptions,toolImages:n.images,requestId:e.requestId,checked:n.checked,imageChecked:n.imageChecked,msgId:e.msgId},!0)}else if(e.type===Bi.Common)i.value.push(I({msg:e.content,requestId:e.requestId,hasAvatar:t,enableTyping:!1,msgId:e.msgId}));else if(e.type===Bi.Done)i.value.push(b({msg:e.content,requestId:e.requestId,hasAvatar:t,enableTyping:!1,msgId:e.msgId}));else if(e.type===Bi.Video){let n={};if(l.data.extra_info)try{n=JSON.parse(l.data.extra_info||"")}catch(a){}i.value.push(A({msg:e.content,requestId:e.requestId,hasAvatar:t,enableTyping:e.markdonwRender,feedbackStatus:0,msgId:e.msgId,markdonwRender:e.markdonwRender,extraInfo:{before:e.before,after:e.after,options:e.options,videoUrls:e.videoUrls,...n}})),n&&n.images&&ae({type:n.checkOptions,toolImages:n.images,requestId:e.requestId,checked:n.checked,imageChecked:n.imageChecked,msgId:e.msgId},!0)}}):"client"===l.role&&(l.data.content_block.image_url&&l.data.content_block.image_url.length>0&&i.value.push(y("",l.data.content_block.image_url)),l.data.content_block.content&&i.value.push(y(l.data.content_block.content))):"tool_result"===t&&0===n?function(e){if("server"===e.role){const a=e.data.content_block.content;if(a&&"object"==typeof a&&a.content&&"string"==typeof a.content)try{const e=JSON.parse(a.content);e.generated_images&&e.generated_images.length>
10&&e.generated_images.forEach(e=>{a.id&&K.setCurrentMediaMap(e,a.id)}),e.generated_video&&a.id&&K.setCurrentMediaMap(e.generated_video,a.id),e&&e.generated_images&&(p.value=e.generated_images)}catch(t){}}}(e):0===n&&"event"===t&&"interrupt"===a?function(e){const{role:t,request_id:a,data:{extra_info:n="",msg_id:l,content_block:o}}=e,s=o.content;if("server"===t){let e={};if(n)try{e=JSON.parse(n||"")||{}}catch(r){}const t=E({requestId:a,msgId:l,extraInfo:{requestStatus:new Array(s.action_requests.length??0).fill(Gi.PENDING),auto_approve:s.auto_approve,action_requests:s.action_requests??[],...e}});i.value.push(t)}}(e):"tool_use"===e.data.card_type&&0===e.errno&&function(e){if("server"===e.role){const t=e.data.content_block.content;t&&Array.isArray(t)&&t.length>0&&t.forEach(t=>{t.id&&K.setCurrentToolUseIdMap(t.id,e.data.msg_id)})}}(e)}),i.value.forEach((e,t)=>{e.type===Bi.Interrupt&&("approve"===e.extraInfo?.interruptAction?e.extraInfo?.requestStatus?.some(e=>e===Gi.PENDING)?(e.extraInfo={...e.extraInfo??{},interruptAction:"interrupt",loading:!1},W(H.interruptInfoResult,{result:"interrupt"}),Dt({canvas_id:Number(L.params.canvasId),chat_id:L.params.chatId,extra_info:JSON.stringify(e.extraInfo),msg_id:e.msgId})):e.extraInfo={...e.extraInfo??{},loading:!1}:!e.extraInfo?.interruptAction&&e?.interruptInfo?.auto_approve&&(e.extraInfo={...e.extraInfo??{},interruptAction:"interrupt",loading:!1})),t!==i.value.length-1&&(e.type===Bi.Option&&e.extraInfo&&void 0===e.extraInfo.checked&&(e.extraInfo.checked=-1),e.type===Bi.Video&&e.extraInfo?.options?.length&&void 0===e.extraInfo?.checked&&(e.extraInfo.checked=-1),[Bi.Pose,Bi.Outfit,Bi.Hairstyle,Bi.Expression,Bi.Style].includes(e.type)&&e.extraInfo&&void 0===e.extraInfo.imageChecked&&(e.extraInfo.imageChecked=-1))});for(let e=i.value.length-1;e>=0;e--){const t=i.value[e];if(t.type===Bi.Interrupt){const{interruptInfo:e}=t,{action_requests:a,auto_approve:l=!1}=e??{};n({type:Bi.Interrupt,content:"",requestId:t.requestId,msgId:t.msgId,interruptInfo:{action_requests:a??[],auto_approve:l}});break}}}},responseProcessQueue:ce,addToolCard:ae,getRandomImages:function(e){return e.sort(()=>Math.random()-.5).slice(0,6)},isThinking:g,replyInterruptInfo:ne,replyInterruptAndUpdateChatList:ie,stopLastInterruptMessageLoading:oe}}const Zr={class:"thinking-wrap"},Kr=oe(l({__name:"Thinking",setup:e=>(e,t)=>{const l=We;return a(),n("div",Zr,[i(l,{src:m(wa),"dir-name":"heart_full_lottie",class:"thinking-wrap__animation"},null,8,["src"]),t[0]||(t[0]=s("span",null,"ã·ã³ãã³ã°",-1))])}}),[["__scopeId","data-v-26510af2"]]),Qr={class:"ask-mode"},ec={class:"ask-mode__reference"},tc={class:"ask-mode__content"},ac=["onClick"],nc=oe(l({__name:"AskMode",props:{isAutoRunMode:{type:Boolean}},emits:["changeMode","show","hide"],setup(l,{emit:c}){const d=l,v=c,p=t(!1),g=[{label:"æ¯å確èªãã",autoMode:!1},{label:"èªåã§å®è¡",autoMode:!0}],h=e(()=>g.find(e=>e.autoMode===d.isAutoRunMode));return(e,t)=>{const c=se,d=jt;return a(),n("div",Qr,[i(d,{visible:m(p),"onUpdate:visible":t[0]||(t[0]=e=>y(p)?p.value=e:null),placement:"top-start",trigger:"click","show-arrow":!1,offset:10,"popper-class":"custom-popover model-choose-popover",onShow:t[1]||(t[1]=e=>v("show")),onHide:t[2]||(t[2]=e=>v("hide"))},{reference:u(()=>[s("div",ec,[s("span",null,r(m(h)?.label),1),i(c,{name:"arrowDown",class:o(["arrow-icon",{"is-rotate":m(p)}])},null,8,["class"])])]),default:u(()=>[s("div",tc,[(a(),n(b,null,k(g,(e,a)=>s("div",{key:a,class:o(["ask-mode__content-item",{active:l.isAutoRunMode===e.autoMode}]),onClick:t=>{return a=e.autoMode,v("changeMode",a),p.value=!1,void Z({message:a?"èªåå®è¡ã¢ã¼ãã«åãæ¿ãã¾ãã":"æ¯å確èªããã¢ã¼ãã«æ»ãã¾ãã"});var a}},[s("span",null,r(e.label),1),t[3]||(t[3]=s("i",null,null,-1))],10,ac)),64))])]),_:1},8,["visible"])])}}}),[["__scopeId","data-v-c4bf394a"]]),lc={class:"oc-agent-chat"},oc={class:"oc-agent-chat__header"},sc={class:"oc-agent-chat__header-title"},ic={class:"oc-agent-chat__header-icons"},rc={key:0,class:"oc-agent-chat__loading"},cc={class:"oc-agent-chat__loading-content"},uc={class:"oc-agent-chat__loading-text"},dc={key:0,class:"oc-agent-chat__send-images"},vc=["src"],pc=["src"],mc=["placeholder","disabled"],gc={class:"tip-content"},hc={class:"oc-agent-chat__send-model"},fc=["fill"],yc={key:1,class:"oc-agent-chat__send-waiting"},_c={key:2,class:"oc-agent-chat__send-waiting"},Ic=oe(l({__name:"index",props:{canvasType:{}},emits:["hide-chat"],setup(l,{emit:v}){const h=l,{imageModel:f,videoModel:w}=oa(),C=v,{t:T}
1=de(),{curModelType:E,selectedModel:P,isAutoModel:R,resetModelState:L}=sa(),U=t(!0),{isAutoRunMode:N,setIsAutoRunMode:O}=Xr(),{lastInterruptMessage:z,setInterruptMessage:F}=Br(),{chatList:G,isWaitingResponse:j,isWaitingQueue:K,processQueue:ee,isTyping:te,lastResult:ae,CANVAS_EVENTS:ne,loadHistoryData:le,initWebSocket:oe,sendMessage:ie,responseProcessQueue:re,addToolCard:ce,getRandomImages:ue,closeWebSocket:ve,isThinking:me,replyInterruptAndUpdateChatList:ge}=Jr(U),he=Ot(),{openFileDialog:fe,uploading:ye}=Qt({accept:"image/png, image/jpeg",autoUpload:!0,compressImage:!1,limit:10485760,uploadFn:async function(e){const t=await X({file:e[0],source:"h5CreatorUploadImage"});if(ye.value=!1,0===t.errno){const{width:e,height:a,url:n}=t.data;return Tt(n,e,a),Z({message:T("ocAgent.uploadSuc"),type:"success"}),W(H.ocAgentChatUploadImageSuc),Promise.resolve(t.data.url)}Z({message:T("ocAgent.uploadFailed"),type:"danger"}),W(H.ocAgentChatUploadImageFail)},schedulerCallback:async e=>{const{width:t,height:a}=await ba(e),n=Ue(t,a);return n||Z({message:"ãã¦ã³ãã¼ãã«å¤±æãã¾ãããç»åã®å¤§ããããã§ãã¯ãã¦ãã ãã",type:"danger",duration:3e3}),n},overLimitCallback:()=>{Z({message:T("ocAgent.uploadOverLimitSize"),type:"danger"}),W(H.ocAgentChatUploadImageOverLimitSize)}}),{inputVal:_e,textareaRef:Ie}=he,{initStore:be,deleteImage:ke,deleteToolImage:we,setEnterInputVal:Se,insertImage:Ce,fetchToolListData:Te,setToolImages:xe,setImages:Me}=Ut(),{images:Ee,initUserChat:Pe,enterInputVal:Re,toolImages:Le,toolListData:De}=q(Ut()),Ne=Y(),Oe=pe(),ze=B(),$e=He(),qe=t(!1),Ve=t(null),Be=t(null),Fe=t(160),Ge=t(!1),We=t(1),Xe=t(null),Ye=t(!1),Je=t(!1),Ze=t(!1);!function(e,a){const n=t(0);let l=null;const o=e=>{if(e.length>0){const t=e[0].contentRect.height;t!==n.value&&(n.value=t,a?.(t))}},s=()=>
1{if(e.value&&window.ResizeObserver){l=new ResizeObserver(o),l.observe(e.value);const t=e.value.getBoundingClientRect();n.value=t.height,a?.(t.height)}},i=()=>{l&&(l.disconnect(),l=null)};M(()=>{s()}),D(()=>{i()}),$(n)}(Be,e=>{Fe.value=e+82});const Ke=e(()=>{const e=G.value.filter(e=>e.type===Bi.User&&e.msg);return e[0]?.msg||T("ocAgent.newSession")}),Qe=e(()=>{if(j.value||ee.value.length>0)return!0;if(z.value?.msgId){const{msgId:e}=z.value,t=G.value.find(t=>t.msgId===e);if(t&&(t?.extraInfo?.loading||!t?.extraInfo?.interruptAction))return!0}return!1}),et=e(()=>{if(me.value)return!0;if(z.value?.msgId){const e=G.value.find(e=>e.msgId===z.value?.msgId);if(e&&"reject"===e?.extraInfo?.interruptAction&&Qe.value)return!0}return!1}),tt=e(()=>(he.hasValidInput()||Ee.value.length>0||Le.value.length>0)&&!j.value&&0===ee.value.length&&!ye.value&&!Qe.value),at=e(()=>{let e=!1;for(let t=G.value.length-1;t>=0;t--)if(G.value[t].type===Bi.Interrupt){e=G.value[t].extraInfo?.loading??!1;break}return e});function nt(){W(H.toolAskModeShow)}function lt(e){W(H.toolModeChange,{isAutoModel:e}),O(e)}function ot(){W(H.chooseModelCategoryTabClick,{source:"agentPanel"})}function st(){W(H.chooseModelPopupShow,{source:"agentPanel"})}function it(e){W(H.clickModelChoose,{modelName:e})}function rt(){Ne.setSubscriptionPageControl({show:!0,source:"OcAgentChat"})}function ct(e){Ye.value=!1,"local"===e?fe():Je.value=!0,W(H.uploadImageType,{type:e})}async function ut(e){const{width:t,height:a}=await ka(e[0].image_url);Ue(t,a)?Tt(e[0].image_url,t,a):Z({message:"ãã¦ã³ãã¼ãã«å¤±æãã¾ãããç»åã®å¤§ããããã§ãã¯ãã¦ãã ãã",type:"danger",duration:3e3})}function dt(){C("hide-chat"),W(H.ocAgentHideChat)}function vt(){Ze.value=!0}function pt(){Ze.value=!1}function mt(e){Ze.value||(e.preventDefault(),gt())}function gt(){if(!navigator.onLine)return void Z({message:T("NetworkError"),type:"danger"});if(Ne.userAssets?.balance<=0)return void Oe.setGuidedPaymentInfo({show:!0,showType:"OCAgentSendMsg"});if(!tt.value)return;const e=he.getTrimmedInput();ie({msg:e,toolImages:Le.value.slice(),images:Ee.value.map(e=>e.url),auto_approve:N.value}),W(H.ocAgentChatSend,{hasPrompt:!!he.getTrimmedInput(),imagesNum:Le.value.length+Ee.value.length,hasImage:Le.value.length+Ee.value.length>0,isAutoModel:R.value,selectedModel:P.value}),he.clearInput(),xe([]),Me([]),setTimeout(()=>{Ve.value&&(Ve.value.scrollTop=Ve.value.scrollHeight)},100)}function ht(){if(Ve.value){const{scrollTop:e,scrollHeight:t,clientHeight:a}=Ve.value,n=e+a<t-5;qe.value=n}}async function ft(e,t){ge(e,t)}async function yt(e,t,a){const{requestId:n,msgId:l,id:o}=t;let s=[];switch(W(H.ocAgentChatCardClick,{type:t.type,content:JSON.stringify(e||{})}),e.value){case Fi.MENU_POSE:case Fi.MENU_EXPRESSION:case Fi.MENU_OUTFIT:case Fi.MENU_HAIRSTYLE:case Fi.MENU_STYLE:if(De.value.get(e.value)?.length){const o=De.value.get(e.value);s=o?.map(t=>({imageUrl:t.pic_url,type:Nt[e.value],name:t.pic_title,prompt:t.prompt}))||[],s=ue(s||[]),ce({type:e.value,toolImages:s,requestId:n,checked:a,msgId:l,feedbackStatus:0,insertFinish:wt}),It(l,{checkOptions:e.value,checked:a,images:s||[],...t.extraInfo})}else Te({tool_type:Nt[e.value]}).finally(()=>{const o=De.value.get(e.value);s=o?.map(t=>({imageUrl:t.pic_url,type:Nt[e.value],name:t.pic_title,prompt:t.prompt}))||[],s=ue(s||[]),ce({type:e.value,toolImages:s,requestId:n,msgId:l,checked:a,feedbackStatus:0,insertFinish:wt}),It(l,{checkOptions:e.value,checked:a,images:s||[],...t.extraInfo})});break;case Fi.DIRECT:Se(e.label),It(l,{checkOptions:e.value,checked:a,images:[],...t.extraInfo})}const i=G.value.findIndex(e=>e.id===o);-1!==i&&(G.value[i].extraInfo={...G.value[i].extraInfo,checked:a,checkOptions:e.value})}function _t(e,t){const a=G.value.findIndex(t=>t.id===e.id);if(-1!==a){G.value[a].extraInfo={...G.value[a].extraInfo,imageChecked:t};const n=G.value[a].extraInfo,{images:l,checkOptions:o}=n;if(l&&l[t]){if(o&&![Fi.MENU_OUTFIT,Fi.MENU_HAIRSTYLE].includes(o)){xe([{imageUrl:l[t].imageUrl,type:Nt[o],name:l[t].name,prompt:l[t].prompt}])||Z({message:T("ocAgent.uploadOverLimt"),type:"danger"})}if(l[t].prompt)if(Se(l[t].prompt),ae.value.length>0)Ce({url:ae.value[ae.value.length-1],width:1024,height:1024});else if(0===Ee.value.length){const e=G.value.filter(e=>e.msgImg&&e.msgImg.length>0);e.length>
10&&e[e.length-1].msgImg?.forEach(e=>{Ce({url:e,width:1024,height:1024})})}W(H.ocAgentChatCardClick,{type:e.type,content:JSON.stringify({imageUrl:l[t].imageUrl||"",prompt:l[t].prompt||""})}),It(e.msgId,{...e.extraInfo,imageChecked:t})}}}function It(e,t){Dt({canvas_id:Number(ze.params.canvasId),chat_id:ze.params.chatId,extra_info:JSON.stringify(t),msg_id:e})}function bt(e){const t=e.extraInfo?.checkOptions,a=G.value.findIndex(t=>t.id===e.id);let n=[];if(De.value.get(t)?.length){const l=De.value.get(t);n=l?.map(e=>({imageUrl:e.pic_url,type:Nt[t],name:e.pic_title,prompt:e.prompt}))||[],n=ue(n||[]),It(e.msgId,{...e.extraInfo,images:n||[]}),-1!==a&&(G.value[a].extraInfo={...e.extraInfo,images:n||[]})}else Te({tool_type:Nt[t]}).finally(()=>{const l=De.value.get(t);n=l?.map(e=>({imageUrl:e.pic_url,type:Nt[t],name:e.pic_title,prompt:e.prompt}))||[],n=ue(n||[]),It(e.msgId,{...e.extraInfo,images:n||[]}),-1!==a&&(G.value[a].extraInfo={...e.extraInfo,images:n||[]})})}function kt(){te.value=!1,K.value=!1,re(!1,wt)}function wt(){Ve.value&&(Ve.value.scrollTop=Ve.value.scrollHeight)}async function St(e){W(H.ocAgentChatQuickGameplay,{type:e.type}),Se(e.prompt);const{width:t,height:a}=await ka(e.inputImage);Me([{url:e.inputImage,width:t,height:a}])}function Ct(){if(!navigator.onLine)return ye.value=!1,Z({message:T("ocAgent.networkError"),type:"danger"}),Promise.resolve("");if(Le.value.length+Ee.value.length>=zt)return Z({message:T("ocAgent.uploadOverLimt"),type:"danger"}),void W(H.ocAgentChatUploadImageOverLimit);Ye.value=!0,W(H.uploadImagePanelShow)}function Tt(e,t,a){Ce({url:e,width:t,height:a});const n=`common_${J()}`;Q.emit(ne.ADD_LOADING_IMAGES,[{id:n,taskId:n,placeholder:"placeholder",width:t,height:a,source:"upload",batchId:`upload_${n}`}]),Q.emit(ne.REPLACE_LOADING_IMAGE,{id:n,taskId:n,url:e,placeholder:"placeholder"})}function xt(){We.value=1,Xe.value&&clearInterval(Xe.value),Xe.value=Ae(()=>{if(We.value<99){const e=Math.max(1,Math.floor(.1*(99-We.value)));We.value=Math.min(99,We.value+e)}else Xe.value&&(clearInterval(Xe.value),Xe.value=null)},100)}function Mt(){Xe.value&&(clearInterval(Xe.value),Xe.value=null),We.value=1}function At(e){let t="";const a=G.value.findIndex(t=>t.id===e.id);if(-1!==a){const e=a-2>0?a-2:0;t=JSON.stringify(G.value.slice(e,a+1).map(e=>({msg:e.msg,msgImg:e.msgImg,extraInfo:e.extraInfo})))}W(H.ocAgentChatLike,{type:e.type,isLike:!0,message_content:t})}function Et(e){let t="";const a=G.value.findIndex(t=>t.id===e.id);if(-1!==a){const e=a-2>0?a-2:0;t=JSON.stringify(G.value.slice(e,a+1).map(e=>({msg:e.msg,msgImg:e.msgImg,extraInfo:e.extraInfo})))}W(H.ocAgentChatLike,{type:e.type,isLike:!1,message_content:t})}function Pt(){W(H.genVideoPlay,{canvasType:h.canvasType,playType:"card"})}return S(()=>Re.value,e=>{var t;e&&(t=e,he.setInput(t),Se(""),x(()=>{Ie.value?.focus()}))}),M(()=>{F({}),he.initialize(),ze.params.chatId?(Ge.value=!0,xt(),$t({canvas_id:Number(ze.params.canvasId)}).then(e=>{0===e.errno&&(oe({greetMsg:"",onSuccess:()=>{Ge.value=!1,Mt(),x(()=>{wt()})}}),be(),le(e.data.contents),e.data.contents&&0!==e.data.contents.length||W(H.ocAgentChatGreet))}).catch(e=>{})):(Ge.value=!0,xt(),qt({canvas_id:Number(ze.params.canvasId)}).then(e=>{0===e.errno&&e.data.chat_id&&$e.replace({name:"ocAgent",params:{canvasId:ze.params.canvasId,source:"ocagent",chatId:e.data.chat_id}}).then(()=>{oe({greetMsg:Pe.value,toolImages:Le.value.slice(),images:Ee.value.slice(),onSuccess:()=>{Ge.value=!1,Mt(),W(H.ocAgentChatGreet),x(()=>{wt()})}}),be()})}).catch(e=>{}))}),A(()=>{be(),Mt(),ve(),L()}),(e,t)=>{const l=se,v=Ht,h=jt;return a(),n("div",lc,[s("div",oc,[s("p",sc,r(m(Ke)),1),s("div",ic,[i(l,{class:"oc-agent-chat__header-icon",name:"lessen",onClick:dt})])]),m(Ge)?(a(),n("div",rc,[s("div",cc,[i(l,{name:"oc-agent-loading",class:"oc-agent-chat__loading-icon"}),s("p",uc,r(m(We))+"%",1)])])):d("",!0),m(Ge)?d("",!0):(a(),n("div",{key:1,ref_key:"chatListRef",ref:Ve,class:"oc-agent-chat__list",style:p({paddingBottom:m(Fe)+"px"}),onScroll:ht},[(a(!0),n(b,null,k(m(G),e=>(a(),c(Rr,{key:e.id,data:e,onOptionClick:yt,onOperateInterruptInfo:ft,onImageCardClick:_t,onRefresh:bt,onTypeFinis
1h:kt,onTypeWriting:wt,onLike:At,onUnlike:Et,onVideoPlay:Pt,onLogSource:t=>{return a=t,n=e,void W(H.toolInterruptOperate,{source:a,modelList:n.interruptInfo?.action_requests?.map(e=>e.real_model_name)||[]});var a,n}},null,8,["data","onLogSource"]))),128)),m(et)?(a(),c(Kr,{key:0})):d("",!0),0===m(G).length?(a(),c($r,{key:1,onClick:St})):d("",!0),m(U)?d("",!0):(a(),c(ha,{key:2,onUpgrade:rt,onVnodeMounted:wt},null,512))],36)),s("div",{ref_key:"sendAreaRef",ref:Be,class:o(["oc-agent-chat__send",{"oc-agent-chat__send--disabled":m(Qe),"oc-agent-chat__send--scroll":m(qe)}])},[m(Ee).length>0||m(Le).length>0?(a(),n("div",dc,[(a(!0),n(b,null,k(m(Le),(e,o)=>(a(),n("div",{key:`${e.imageUrl}-${o}`,class:"oc-agent-chat__send-images-item"},[s("img",{src:e.imageUrl,alt:""},null,8,vc),i(l,{class:"oc-agent-chat__send-images-item-delete",name:"oc-img-delete",onClick:t[0]||(t[0]=e=>(we(),void W(H.ocAgentChatDeleteImage)))})]))),128)),(a(!0),n(b,null,k(m(Ee),(e,t)=>(a(),n("div",{key:`${e}-${t}`,class:"oc-agent-chat__send-images-item"},[s("img",{src:e.url,alt:""},null,8,pc),i(l,{class:"oc-agent-chat__send-images-item-delete",name:"oc-img-delete",onClick:e=>function(e){ke(e),W(H.ocAgentChatDeleteImage)}(t)},null,8,["onClick"])]))),128))])):d("",!0),_(s("textarea",{ref_key:"textareaRef",ref:Ie,"onUpdate:modelValue":t[1]||(t[1]=e=>y(_e)?_e.value=e:null),maxlength:"2000",class:"oc-agent-chat__send-content",placeholder:e.$t("ocAgent.chatPlaceholder"),disabled:m(Qe),onKeydown:[V(mt,["enter"]),t[2]||(t[2]=g(()=>{},["stop"]))],onCompositionstart:vt,onCompositionend:pt}," ",40,mc),[[I,m(_e)]]),i(v,{"popper-class":"oc-agent-chat__send-tooltip",effect:"dark",placement:"top",width:394},{content:u(()=>[s("div",gc,r(e.$t("ocAgent.uploadTips")),1)]),default:u(()=>[i(l,{name:"oc-tips",class:"oc-agent-chat__send-tips"})]),_:1}),s("div",hc,[i(h,{placement:"top-end",trigger:"click","show-arrow":!1,offset:10,"popper-class":"custom-popover model-choose-popover"},{reference:u(()=>[i(l,{name:"model-choose",class:"oc-agent-chat__send-model-icon"})]),default:u(()=>[i(ia,{curModelType:m(E),"onUpdate:curModelType":t[3]||(t[3]=e=>y(E)?E.value=e:null),selectedModel:m(P),"onUpdate:selectedModel":t[4]||(t[4]=e=>y(P)?P.value=e:null),isAutoModel:m(R),"onUpdate:isAutoModel":t[5]||(t[5]=e=>y(R)?R.value=e:null),modelType:m(je),imageModel:m(f),videoModel:m(w),onToggleModel:ot,onChooseModelPopupShow:st,onChooseModel:it},null,8,["curModelType","selectedModel","isAutoModel","modelType","imageModel","videoModel"])]),_:1})]),i(nc,{isAutoRunMode:m(N),class:"oc-agent-chat__send-ask-mode",onChangeMode:lt,onShow:nt},null,8,["isAutoRunMode"]),i(l,{name:"upload-img",class:"oc-agent-chat__send-upload",onClick:Ct}),(a(),n("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",class:o(["oc-agent-chat__send-icon",{"oc-agent-chat__send-icon--disabled":!m(tt)}]),xmlns:"http://www.w3.org/2000/svg",onClick:gt},[s("circle",{cx:"20",cy:"20",r:"20",fill:m(tt)?"#111111":"#1111114D"},null,8,fc),t[8]||(t[8]=s("path",{d:"M11.875 18.75L20 11.25M20 11.25L28.125 18.75M20 11.25V30",stroke:"white","stroke-width":"2","stroke-linecap":"square","stroke-linejoin":"round"},null,-1))],2)),m(Qe)?m(Qe)&&m(at)&&!m(et)?(a(),n("div",_c,r(e.$t("ocAgent.waitVideoGenerating")),1)):d("",!0):(a(),n("div",yc,r(m(T)("ocAgent.waitingForReply")),1))],2),i(ra,{visible:m(Ye),"onUpdate:visible":t[6]||(t[6]=e=>y(Ye)?Ye.value=e:null),onOpenGallery:ct},null,8,["visible"]),i(aa,{modelValue:m(Je),"onUpdate:modelValue":t[7]||(t[7]=e=>y(Je)?Je.value=e:null),onConfirm:ut},null,8,["modelValue"])])}}}),[["__scopeId","data-v-74e30da9"]]),bc={class:"posture-data"},kc={class:"posture-data__title"},wc={class:"posture-data__content"},Sc=["onClick"],Cc=["title"],Tc=oe(l({__name:"PostureData",props:{title:{},data:{},selectedTool:{}},emits:["close","selectTool"],setup(e,{emit:t}){const l=t;function c(){l("close")}return(t,u)=>{const d=se,v=da;return a(),n("div",bc,[i(d,{name:"close",class:"close btn",onClick:c}),s("div",kc,[s("span",null,r(t.$t(e.title)),1)]),i(nn,{class:"mg-20"}),s("div",wc,[(a(!0),n(b,null,k(e.data,(t,c)=>(a(),n("div",{key:c,class:o(["posture-data__content-item",{active:t.pic_url===e.selectedTool?.pic_url}]),onClick:e=>function(e){l("selectTool",e)}(t)},[i(v,{class:"img",showPlaceholder:!1,src:t.pic_url},null,8,["src"]),s("span",{title:t.pic_title},r(t.pic_title),9,Cc)],10,Sc))),128))])])}}}),[["__scopeId","data-v-e2e77acf"]]),xc={class:"tool-list__title"},Mc={class:"tool-list__regular"},Ac=["onClick"],Ec={class:"tool-list__menu"},Pc=["onClick"],Rc=oe(l({__name:"ToolList",props:f({regularTool:{},data:{},selectedTool:{}},{visible:{required:!0,default:!1,type:Boolean},visibleModifiers:{},menu:{required:!0,default:[],type:Array},menuModifiers:{}}),emits:f(["loadData","selectTool","inScreenInput"],["update:visible","update:menu"]),setup(e,{emit:t}){const l=h(e,"visible"),v=h(e,"menu"),m=t;return A(()=>
1{v.value.forEach(e=>{e.visible=!1})}),(t,g)=>{const h=se,f=jt;return a(),n("div",{class:"tool-list",style:p({display:l.value?"block":"none"})},[s("div",xc,[i(h,{name:"oc-tool"}),s("span",null,r(t.$t("ocAgent.ocToolTitle")),1)]),i(nn,{class:"mg-20"}),s("div",Mc,[(a(!0),n(b,null,k(e.regularTool,(e,l)=>(a(),n("div",{key:l,class:"tool-list__regular-item",onClick:t=>m("inScreenInput",e.value)},[i(h,{name:e.icon,style:p({color:e?.iconColor||"inherit"})},null,8,["name","style"]),s("span",null,r(t.$t(e.text)),1)],8,Ac))),128))]),i(nn,{class:"mid-line"}),s("div",Ec,[(a(!0),n(b,null,k(v.value,(l,p)=>(a(),n("div",{key:l.icon},[i(f,{visible:l.visible,"onUpdate:visible":e=>l.visible=e,placement:"right",width:400,"show-arrow":!1,offset:25,"popper-class":"custom-popover posture-poppover",trigger:"manual"},{reference:u(()=>[s("div",{class:o(["tool-list__menu-item",{active:l.visible}]),onClick:e=>function(e){v.value.forEach((t,a)=>{a!==e&&(t.visible=!1)}),v.value[e].visible=!v.value[e].visible}(p)},[i(h,{name:l.icon},null,8,["name"]),s("span",null,r(t.$t(l.text)),1),i(h,{name:"arrowDown",class:"arrow"})],10,Pc)]),default:u(()=>[l.visible?(a(),c(Tc,{key:0,title:l.text,data:e.data,class:o([l.customClass]),selectedTool:e.selectedTool,onClose:e=>function(e){v.value[e].visible=!1}(p),onSelectTool:g[0]||(g[0]=e=>m("selectTool",e)),onVnodeMounted:e=>m("loadData",l.value)},null,8,["title","data","class","selectedTool","onClose","onVnodeMounted"])):d("",!0)]),_:2},1032,["visible","onUpdate:visible"])]))),128))])],4)}}}),[["__scopeId","data-v-598b7578"]]),Lc=oe(l({__name:"index",props:{canvasId:{},source:{},chatId:{}},setup(l){const r=Ut(),u=ta(),{showDomainPanel:v,createRobot:p,setShowDomainPanel:g,stateData:h}=Kt(),f=l,I=t(st(Vt)),{refreshState:b}=Wo(),{t:k}=de(),w=He(),S=t(!0),{setSelectedPanel:C}=Xe(),T=t(!1),x=t(),M=t(),E=t(!1),P=t(!0),L=t({}),U=t(!1),D=t({imageUrl:"",videoUrl:"",authorName:"",authorAvatar:"",title:"",description:"",prompt:"",modelName:"",likeCount:0}),N=t(!1),O=t(!1),$=t(!1),q=t(Ye.Video),V=e(()=>[{type:"Cancel",label:k("VirtualCreate.Cancel")},{type:"Quit",label:k("VirtualCreate.Quit")}]),B=e(()=>{const e=I.value.find(e=>e.visible);return r.toolListData.get(Nt[e?.value])||[]});function F(){P.value=!0}function G(e){W(H.ocAgentAsideToolClick,{toolType:String(e.tool_type)}),r.setSelectedTool(e),r.setEnterInputVal(e.prompt)}function j(e){W(H.ocAgentAsideToolClick,{toolType:String(e)});const t=r.toolListData.get(Nt[e])||[];t&&t.length&&r.setEnterInputVal(t[0].prompt)}function X(e){L.value[e]||r.toolListData.get(Nt[e])?.length||(L.value[e]=!0,r.fetchToolListData({tool_type:e}).finally(()=>{L.value[e]=!1}))}function Y(){S.value=!S.value,E.value=!1,W(H.ocAgentAsideShowBtnClick,{isExpand:S.value})}function J(e){T.value=!1,"Quit"===e&&w.replace({name:"product-tab",query:{tab:Qe.OC_AGENT_TAB}})}function K(e){g(!1);const{img_url:t,gender:a,nsfw_level:n,thumbnail:l}=h.value;p({isPublic:e,img_url:t,gender:a,nsfw_level:n,thumbnail:l})}function ee(e){switch(e){case"oc":E.value=!E.value,S.value=!1;break;case"scaleup":case"partedit":E.value=!1,S.value=!0;break;default:E.value=!1}}function te(e){U.value=!0,le(),D.value={...D.value,...e},q.value=e.itemType,"second_edit"!==e.source&&"generate"!==e.source?ae():D.value={...D.value,prompt:e.input_tags,modelName:e.model_name||e.extra.model_name}}function ae(){N.value=!0,O.value=!1;const{msgId:e,contentId:t}=r.getIdByUrl(q.value===Ye.Video?D.value.videoUrl||"":D.value.imageUrl||"");if(!e)return N.value=!1,void(O.value=!0);Bt({canvas_id:f.canvasId,chat_id:f.chatId??"",msg_id:e,tool_id:t}).then(e=>{if(N.value=!1,0!==e.errno)return void(O.value=!0);const{prompt:t,model_name:a,mode:n}=e.data;O.value=!1,D.value={...D.value,prompt:t,modelName:n?`${a} ${n}`:a}}).catch(()=>{N.value=!1,O.value=!0})}function ne(e){if($.value)return;if(!e?.title||!e?.description)return;const{title:t,description:a,width:n,height:l,duration:o,modelName:s}=e,{videoUrl:i,imageUrl:c,prompt:u}=D.value,d=r.currentMediaMap.get(q.value===Ye.Video?D.value.videoUrl||"":D.value.imageUrl||""),v=q.value===Ye.Video?i:c,p={canvas_id:f.canvasId,chat_id:f.chatId??"",msg_id:d||"",title:t,description:a,width:n,height:l,duration:o,model_name:s,media_url:v||"",prompt:u||"",first_frame:c||"",work_type:q.value===Ye.Video?2:1};$.value=!0,Wt(p).then(e=>{if($.value=!1,0!==e.errno)return W(H.publishDialogPublishFail,{type:"network"}),void Z({message:k("DynamicPublishDialog.publishFailed"),type:"primary"});W(H.publishDialogPublishSuccess,{type:q.value===Ye.Video?"video":"image"}),Z({message:k("DynamicPublishDialog.publishSuc"),type:"primary",duration:5e3}),U.value=!1,le()}).catch(()=>{$.value=!1,W(H.publishDialogPublishFail,{type:"network"}),Z({message:k("DynamicPublishDialog.publishFailed"),type:"primary"})})}function le(){N.value=!1,O.value=!1,$.value=!1,D.value={imageUrl:"",videoUrl:"",authorName:"",authorAvatar:"",title:"",description:"",prompt:"",modelName:"",likeCount:0}}return R(()=>{W(H.ocAgentPageShow),C(Je.ocAgentCreate),r.toolListData.size||r.fetchToolListData(),Q.on("OC_AGENT:PUBLISH",te)}),A(()=>{b(),u.resetGalleryData(),Q.off("OC_AGENT:PUBLISH",te)}),(e,t)=>(a(),n("div",{class:o(["image-creator",{collapse:!m(S)}])},[i(Ui,{"is-aside-control-active":m(S),"is-collape":!0,class:"image-creator__head-control",onSetAsideControlActive:Y,onClose:t[0]||(t[0]=e=>T.value=!0)},null,8,["is-aside-control-active"]),i(is,{ref_key:"asidePanelRef",ref:M,class:"image-creator__aside",canvasType:l.source,canvasId:l.canvasId,onClose:t[1]||(t[1]=e=>T.value=!0)},null,8,["canvasType","canvasId"]),i(Pi,{ref_key:"canvasPanelRef",ref:x,class:"image-creator__canvas","canvas-id":l.canvasId,"canvas-type":l.source,"is-collape":!0,onToolClick:ee},null,8,["canvas-id","canvas-type"]),i(ua,{modelValue:m(T),"onUpdate:modelValue":t[2]||(t[2]=e=>y(T)?T.value=e:null),title:e.$t("gallery.remindTitle"),desc:e.$t("VirtualCreate.remindDesc"),list:m(V),onHandleOperate:J},null,8,["modelValue","title","desc","list"]),i(Di,{visible:m(v),"onUpdate:visible":t[3]||(t[3]=e=>y(v)?v.value=e:null),onStart:K},null,8,["visible"]),_(i(Ic,{"canvas-type":l.source,onHideChat:t[4]||(t[4]=e=>P.value=!1)},null,8,["canvas-type"]),[[z,m(P)]]),_(s("div",{class:"chat",onClick:F},[...t[8]||(t[8]=[s("img",{src:Ze,class:"chat-icon"},null,-1)])],512),[[z,!m(P)]]),m(E)?(a(),c(Rc,{key:0,visible:m(E),"onUpdate:visible":t[5]||(t[5]=e=>y(E)?E.value=e:null),menu:m(I),"onUpdate:menu":t[6]||(t[6]=e=>y(I)?I.value=e:null),regularTool:m(Ft),data:m(B),selectedTool:m(r).selectedTool,onLoadData:X,onSelectTool:G,onInScreenInput:j},null,8,["visible","menu","regularTool","data","selectedTool"])):d("",!0),i(Gt,{modelValue:m(U),"onUpdate:modelValue":t[7]||(t[7]=e=>y(U)?U.value=e:null),type:m(Ke).Publish,"media-type":m(q),data:m(D),loading:m(N),error:m(O),onSubmit:ne,onReload:ae},null,8,["modelValue","type","media-type","data","loading","error"])],2))}}),[["__scopeId","data-v-9b95f259"]]),Uc=l({__name:"[[chatId]]",setup(t){const n=B(),l=e(()=>Number(n.params.canvasId)),o=e(()=>n.params.source),s=e(()=>n.params.chatId);return(e,t)=>(a(),c(Lc,{"canvas-id":m(l),source:m(o),"chat-id":m(s)},null,8,["canvas-id","source","chat-id"]))}});
1export{Uc as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.