1import{j as e,B as y}from"./index-BkDEMXJ9.js";import{r as n,X as P,m as E,T as D,aG as _,O as $,aD as q,aE as F,o as G}from"./icons-QoC9G335.js";import{H as L,a as Q}from"./HeygenVideoControls-CvAqIwlx.js";import{a1 as c,a3 as H,a0 as T}from"./App-wwMuRRnR.js";import{u as O}from"./modalA11y-XxMHrNYO.js";import{u as A}from"./i18n-Ba15m7kK.js";import"./react-vendor-DGJ7Ba03.js";import"./ExplanationCard-KiKGD0rp.js";import"./MobilePhotoActions-B-_gdBYQ.js";import"./OptionPill-B_-vCXsu.js";import"./SavedPromptPicker-BxywDWmn.js";const se=({busy:N=!1,isOpen:o,capabilities:r,onClose:d,sourceItem:s,availableCredits:u,onAnimate:w})=>{const{t:a}=A("dashboard"),{t:V}=A("common"),[f,S]=n.useState(c.P720),[l,p]=n.useState("16:9"),[m,x]=n.useState(""),[z,C]=n.useState({durationSeconds:5,keepSound:!0,promptEnhancement:"disabled",seed:null}),b=T[f],g=u>=b,h=n.useRef(!1);n.useEffect(()=>{if(!o||(h.current=!1,!(s!=null&&s.resultUrl)))return;if(r!=null&&r.keepOriginal){p("original");return}let t=!1;return H(s.resultUrl).then(i=>{!t&&!h.current&&p(i)}),()=>{t=!0}},[o,s==null?void 0:s.resultUrl,r==null?void 0:r.provider,r==null?void 0:r.keepOriginal]);const j=n.useCallback(t=>{h.current=!0,p(t)},[]),v=n.useMemo(()=>a("animate.defaultMotion",{defaultValue:"Gentle natural movement and a slow, slight camera move."}),[a]);n.useEffect(()=>{o&&(x(v),S(c.P720),C({durationSeconds:5,keepSound:!0,promptEnhancement:"disabled",seed:null}))},[o,v]);const k=n.useRef(null);if(O(o&&!!s,k,d),!o||!s)return null;const M=()=>{g&&w({prompt:m.trim()||v,videoQuality:f,aspectRatio:l})},U=[{value:c.P720,resolution:"720p"},{value:c.P1080,resolution:"1080p"},{value:c.P4K,resolution:"4K"}];return r?r.provider==="heygen"?e.jsx("div",{className:"fixed inset-0 bg-ink/40 backdrop-blur-sm flex items-center justify-center z-50 p-4",role:"dialog","aria-modal":"true","aria-labelledby":"animate-modal-title",onClick:t=>{t.target===t.currentTarget&&d()},children:e.jsxs("div",{ref:k,className:"w-full max-w-lg rounded-lg shadow-pop border border-rule bg-surface p-4 sm:p-5 max-h-[92vh] overflow-y-auto",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h2",{id:"animate-modal-title",className:"font-display text-xl",children:a("animate.title")}),e.jsx(y,{variant:"ghost",size:"sm",type:"button",onClick:d,"aria-label":V("close"),className:"!px-2",children:e.jsx(P,{size:18})})]}),e.jsx(L,{value:{...z,prompt:m,aspectRatio:l},onChange:t=>{t.prompt!==void 0&&x(t.prompt),t.aspectRatio&&j(t.aspectRatio),C(i=>({...i,...t}))},sourceUrl:s.resultUrl,capabilities:r,busy:N,credits:u,onGenerate:()=>w({...z,provider:"heygen",prompt:m.trim(),aspectRatio:l,videoQuality:c.P768})}),N&&e.jsx("p",{role:"status",className:"text-xs text-ink-muted mt-2",children:a("heygen.alreadyRunning")})]})}):e.jsx("div",{className:"fixed inset-0 bg-ink/40 backdrop-blur-sm flex items-center justify-center z-50 p-4 animate-in fade-in duration-fast ease-atelier",onClick:t=>{t.target===t.currentTarget&&d()},role:"dialog","aria-modal":"true","aria-labelledby":"animate-modal-title",children:e.jsxs("div",{ref:k,className:"w-full max-w-lg rounded-lg shadow-pop border border-rule bg-paper max-h-[92vh] flex flex-col animate-in zoom-in-95 duration-fast ease-atelier",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4 px-5 py-4 border-b border-rule",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx("div",{className:"shrink-0 w-9 h-9 rounded-md bg-accent-soft flex items-center justify-center",children:e.jsx(E,{size:18,className:"text-accent"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("h2",{id:"animate-modal-title",className:"font-display text-xl text-ink leading-tight",children:a("animate.title",{defaultValue:"Animate this image"})}),e.jsx("p",{className:"text-xs text-ink-muted mt-0.5",children:a("animate.subtitle",{defaultValue:"8-second silent clip"})})]})]}),e.jsx("button",{type:"button",onClick:d,"aria-label":V("close",{defaultValue:"Close"}),className:"shrink-0 p-1.5 rounded-sm text-ink-muted hover:text-ink hover:bg-surface-muted transition-colors duration-fast ease-atelier focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",children:e.jsx(P,{size:18})})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-5",children:[e.jsxs("div",{role:"note",className:"flex items-start gap-2.5 px-3 py-2.5 rounded-md border border-amber-300 bg-amber-50 text-amber-900 text-xs leading-relaxed",children:[e.jsx(D,{size:14,className:"shrink-0 mt-0.5"}),e.jsx("span",{children:a("animate.noChildrenWarning",{defaultValue:"Videos cannot be generated from images containing children. For kidsâ fashion, animate the garment on its own or use an adult model."})})]}),e.jsxs("div",{className:"flex gap-3 items-start",children:[s.resultUrl&&e.jsx("img",{src:s.resultUrl,alt:"",className:"w-24 h-24 rounded-md object-cover border border-rule shrink-0 bg-surface-muted"}),e.jsxs("div",{className:"flex-1 min-w-0 text-xs text-ink-muted leading-relaxed",children:[e.jsx("p",{className:"text-ink text-sm font-medium mb-1",children:a("animate.sourceLabel",{defaultValue:"Source image"})}),e.jsx("p",{className:"truncate",title:s.originalFilename,children:s.originalFilename||`#${s.id}`}),e.jsxs("p",{className:"mt-2 flex items-center gap-1.5",children:[e.jsx(_,{size:11,className:"shrink-0"}),a("animate.silentNote",{defaultValue:"Clips are delivered silent."})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-[10px] font-semibold uppercase tracking-wider text-ink-subtle block mb-2",children:a("animate.qualityLabel",{defaultValue:"Quality"})}),e.jsx("div",{className:"grid grid-cols-3 gap-2",children:U.map(t=>{const i=T[t.value],R=f===t.value;return e.jsxs("button",{type:"button",onClick:()=>S(t.value),"aria-pressed":R,className:`flex flex-col items-center justify-center rounded-md border px-2 py-3 transition-colors duration-fast ease-atelier focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${R?"border-accent bg-accent-soft text-accent":"border-rule bg-surface text-ink hover:bg-surface-muted hover:border-rule-strong"}`,children:[e.jsx("span",{className:"font-display text-base leading-none",children:t.resolution}),e.jsxs("span",{className:"flex items-center gap-1 text-[11px] tabular mt
1-2",children:[e.jsx($,{size:10}),i]})]},t.value)})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-[10px] font-semibold uppercase tracking-wider text-ink-subtle block mb-2",children:a("animate.aspectLabel",{defaultValue:"Aspect ratio"})}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("button",{type:"button",onClick:()=>j("16:9"),"aria-pressed":l==="16:9",className:`flex items-center gap-2 justify-center rounded-md border px-3 py-2.5 transition-colors duration-fast ease-atelier focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${l==="16:9"?"border-accent bg-accent-soft text-accent":"border-rule bg-surface text-ink hover:bg-surface-muted"}`,children:[e.jsx(q,{size:14}),e.jsx("span",{className:"text-sm font-medium",children:"16:9"}),e.jsxs("span",{className:"text-[10px] text-ink-muted hidden sm:inline",children:["· ",a("heygen.shapes.16_9")]})]}),e.jsxs("button",{type:"button",onClick:()=>j("9:16"),"aria-pressed":l==="9:16",className:`flex items-center gap-2 justify-center rounded-md border px-3 py-2.5 transition-colors duration-fast ease-atelier focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${l==="9:16"?"border-accent bg-accent-soft text-accent":"border-rule bg-surface text-ink hover:bg-surface-muted"}`,children:[e.jsx(F,{size:14}),e.jsx("span",{className:"text-sm font-medium",children:"9:16"}),e.jsxs("span",{className:"text-[10px] text-ink-muted hidden sm:inline",children:["· ",a("heygen.shapes.9_16")]})]})]}),e.jsx("p",{className:"text-[11px] text-ink-subtle mt-1.5",children:a("animate.aspectHint",{defaultValue:"Videos render in 16:9 or 9:16. Default picked from the image shape."})})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-[10px] font-semibold uppercase tracking-wider text-ink-subtle flex items-center gap-1.5 mb-1.5",children:[e.jsx(G,{size:11}),a("animate.motionLabel",{defaultValue:"Motion prompt"})]}),e.jsx("textarea",{value:m,onChange:t=>x(t.target.value.slice(0,2e3)),placeholder:a("animate.motionPlaceholder",{defaultValue:"Describe the motion you want â e.g. model walks slowly toward camera, fabric sways in a soft breeze"}),className:"w-full min-h-[96px] rounded-md border border-rule p-3 text-sm resize-y bg-surface-muted text-ink placeholder:text-ink-subtle focus-visible:ring-2 focus-visible:ring-accent focus:outline-none transition-shadow duration-fast ease-atelier"}),e.jsxs("div",{className:"flex items-center gap-1.5 mt-2 flex-wrap",children:[e.jsx("span",{className:"text-[10px] text-ink-subtle uppercase tracking-wider mr-1",children:a("creator.videoSuggestionsLabel",{defaultValue:"Try"})}),Q.map(t=>{const i=a(`creator.videoSuggestion.${t.key}Prompt`,{defaultValue:t.prompt});return e.jsx("button",{type:"button",onClick:()=>x(i.slice(0,2e3)),className:"px-2.5 py-1 rounded-pill border border-rule bg-surface text-[11px] text-ink-muted hover:text-accent hover:border-accent hover:bg-accent-soft transition-colors duration-fast ease-atelier focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",title:i,children:a(`creator.videoSuggestion.${t.key}`,{defaultValue:t.label})},t.key)})]})]}),!g&&e.jsx("div",{role:"alert",className:"px-3 py-2 rounded-md border border-danger/30 bg-danger/10 text-xs text-danger",children:a("animate.insufficient",{defaultValue:"You have {{available}} credits but this video needs {{required}}.",available:u,required:b})})]}),e.jsxs("div",{className:"flex items-center justify-between gap-2 px-5 py-3 border-t border-rule bg-surface-muted/40 rounded-b-lg",children:[e.jsx("span",{className:"text-xs text-ink-muted tabular",children:a("animate.balance",{defaultValue:"Balance: {{credits}}",credits:u})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(y,{variant:"outline",size:"md",onClick:d,children:a("animate.cancel",{defaultValue:"Cancel"})}),e.jsx(y,{variant:"primary",size:"md",onClick:M,disabled:!g,icon:e.jsx(E,{size:16}),children:a("animate.submit",{defaultValue:"Animate · {{cost}} credits",cost:b})})]})]})]})}):null};export{se 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.