1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7634,6205],{90605:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/video-editor",function(){return a(49436)}])},92670:function(e,t,a){"use strict";a.d(t,{H:function(){return h}});var i,n=a(52322);a(2784);var r=a(83112),s=a(55351),o=a(70314),l=a.n(o),d=JSON.parse('[{"questionName":"How can I play my audio?","acceptedAnswerText":"After an audio is uploaded, you will see a play button on the top left corner of your screen. Clicking this button will start the audio and the sound wave playing animation."},{"questionName":"What is the export resolution?","acceptedAnswerText":"Images are exported in 300 DPI (dots per inch) to provide the maximum quality for printing. The exact resolution will depend on the canvas size you chose but in general they a width of 12000 pixels or 40 inches."},{"questionName":"Can I resell or use my designs commercially?","acceptedAnswerText":"Once you purchase your design by paying or using a credit, you acquire the right to use that image any way you see fit. This includes any commercial usage including reselling or placing them in other commercial products."}
1,{"questionName":"How can I download?","acceptedAnswerText":"Once completing you design. You can purchase it by going to the Download tab. After the payment, you will presented with download options. You will also receive an email with a link to your design so that you can come back and download it later."},{"questionName":"How does WaveVisual generate audio waveforms?","acceptedAnswerText":"WaveVisual analyses the audio file you upload and create a waveform of bars with various heights that represents the loudness of the audio at any given moment. For example if your audio starts relatively silent and gets louder as it progresses, the sound wave WaveVisual will generate will be a series of bars that transition from shorter to longer."},{"questionName":"Which audio file formats are supported?","acceptedAnswerText":"The following audio file formats are supported by our editor:\\nWAV, MP3, M4A, AIF, AIFF, FLAC, ALAC, OGG"},{"questionName":"How can I save?","acceptedAnswerText":"Designs are automatically saved and current browser location is accordingly updated. You can see the save status of your design at the top of your screen."},{"questionName":"I have a problem or a question","acceptedAnswerText":"The quickest way to contact us would be by using the live chat on our website. We\'ll respond as soon as possible; probably within an hour. We\'ll do our best to help you."},{"questionName":"What does the unlimited subscription include?","acceptedA
1nswerText":"Unlimited designs and digital exports while your subscription is active, within our fair-use limits (see the pricing page for details)."},{"questionName":"Can I continue editing my design after purchasing it?","acceptedAnswerText":"Yes, you can continue editing your design for 3 days after purchasing it. You can also download the design as many times as you want."},{"questionName":"What is the maximum video length I can export?","acceptedAnswerText":"Video exports are limited to a maximum of 60 minutes. This limit applies to the trimmed duration if you\'ve trimmed your audio, or the full audio duration if no trimming is applied. If your audio exceeds 60 minutes, video export is disabled and you can request a limit extension from the download menu. For longer content, you can also trim your audio to the most important segment."}]'),c=a(26140),u=a(9223),m=a(15453);let{siteURL:p}=(null===(i=l()())||void 0===i?void 0:i.publicRuntimeConfig)||{},x=[(0,u._)({src:"/landing/homepage-cover-3-photo-vynil-1-2",width:1200})],h=e=>{var t,a;let{title:i,path:o,type:l,data:h,faq:v,noIndex:f}=e,{description:g,images:b}=e,y=(0,r.Z)();g=g||y.formatMessage({id:"Home.Subtitle"}),(b=b?b.map(e=>e.includes("/img/d")?(0,c.Ww)({src:e,width:1200}):(0,u._)({src:e,width:1200})):[]).length||(b=b.concat(x));let w="article"===l&&h?(0,m.h)(h.publishedAt,null!==(t=h.lastUpdatedAt)&&void 0!==t?t:h.publishedAt):null,j={title:i,description:g,type:w?"article":"website",url:"".concat(p).concat(o),site_name:"WaveVisual",locale:"en_US",images:b.map(e=>({url:e})),...w&&h&&"article"===l?{article:{publishedTime:"".concat(w.datePublished,"T00:00:00.000Z"),modifiedTime:"".concat(w.dateModified,"T00:00:00.000Z"),...h.author?{authors:[String(h.author)]}:{}}}:{}},k=e.canonical||"".concat(p).concat(o);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.PB,{title:i,description:g,additionalMetaTags:[{name:"format-detection",content:"telephone=no"}],languageAlternates:[{href:"".concat(p).concat(o),hrefLang:"en"},{href:"".concat(p).concat(o),hrefLang:"x-default"}],canonical:k,openGraph:j,noindex:f,nofollow:f,twitter:{handle:"wavevisualcom",cardType:"summary_large_image"}}),"article"===l&&h&&!f&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.dX,{url:"".concat(p).concat(o),title:i,...(0,m.h)(h.publishedAt,null!==(a=h.lastUpdatedAt)&&void 0!==a?a:h.publishedAt),authorName:h.author.toString(),images:b,description:g,publisherName:"WaveVisual",publisherLogo:"https://wavevisual.com/wavevisual-logo.png"}),(0,n.jsx)(s.gR,{itemListElements:[{position:1,name:"Home",item:"".concat(p,"/")},{position:2,name:"Blog",item:"".concat(p,"/blog")},{position:3,name:i,item:"".concat(p).concat(o)}]})]}),(0,n.jsx)(s.Sv,{type:"Organization",name:"WaveVisual",image:"https://wavevisual.com/wavevisual-logo.png",url:"https://wavevisual.com",sameAs:["https://www.instagram.com/wavevisualcom/","https://www.pinterest.de/wavevisualcom","https://x.com/wavevisualcom","https://twitter.com/wavevisualcom"]}),"home"===l&&(0,n.jsx)(s.Mg,{mainEntity:v||d}),"article"===l&&v&&v.length>0&&!f&&(0,n.jsx)(s.Mg,{mainEntity:v}),"product"===l&&v&&v.length>0&&(0,n.jsx)(s.Mg,{mainEntity:v}),"home"===l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Gz,{name:i,type:"WebApplication",operatingSystem:"Web",applicationCategory:"DesignApplication",price:"0",priceCurrency:"USD",image:b[0],description:g||"WaveVisual lets you turn any audio file or Spotify song into personalized sound wave art, posters, or video. Customize colors, shapes, and text, then export high-resolution files.",url:k,featureList:["Upload audio files (MP3, WAV, FLAC, M4A, AIFF, OGG)","Search and import from Spotify","Customizable waveform colors and shapes","Add custom text and QR codes","Export high-resolution PNG, SVG, PDF, or JPEG","Video export (1080p MP4 at 60fps / transparent MOV)","Poster print ordering"],aggregateRating:{ratingValue:"4.8",ratingCount:"400",bestRating:"5"}}),p?(0,n.jsx)(s.uJ,{url:p,logo:"https://wavevisual.com/wavevisual-logo.png"}):null]}),(0,n.jsx)(s.VL,{name:i,id:k,image:b[0]}),"product"===e.type&&(0,n.jsx)(s.Qb,{productName:i,images:b,description:g,brand:"WaveVisual",reviews:e.reviews,aggregateRating:e.aggregateRating,offers:[{price:e.price.amount,priceCurrency:e.price.currencyCode,priceValidUntil:"".concat(new Date().getFullYear()+1,"-12-31"),itemCondition:"https://schema.org/NewCondition",availability:"https://schema.org/InStock",seller:{name:"WaveVisual"},hasMerchantReturnPolicy:{type:"MerchantReturnPolicy",refundType:"FullRefund",returnPolicyCategory:"https://schema.org/FullRefund",restockingFee:"0",returnShippingFeesAmount:"0",returnShippingFeesCurrency:"USD",returnInDays:e.returnInDays}}]})]})}},49436:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return t2}});var i=a(52322),n=a(2784),r=a(97729),s=a.n(r),o=a(7355),l=a(61189),d=a(83096),c=a(96014);let u=e=>{let{children:t}=e,{audioElement:a,setPlayableURL:r}
1=(0,d.FI)(),s=(0,n.useRef)(null),[o,l]=(0,n.useState)(null),[u,m]=(0,n.useState)(null),[p,x]=(0,n.useState)(0),[h,v]=(0,n.useState)(0),[f,g]=(0,n.useState)(!1),[b,y]=(0,n.useState)(!1),w=(0,n.useRef)(!1),j=(0,n.useRef)(a);j.current=a,w.current=b;let k=(0,n.useCallback)(e=>{w.current=e,y(e)},[]),E=(0,n.useCallback)((e,t,i)=>{let n=s.current,o=null==i?void 0:i.durationSeconds;if(m(e?t:null),x(o&&Number.isFinite(o)&&o>0?o:0),v(0),g(!1),!e){r(void 0),n&&(n.removeAttribute("src"),n.load()),a&&a.pause();return}"video"===t&&n?(n.src=e,n.load(),a&&a.pause()):(r(e),n&&(n.removeAttribute("src"),n.load()))},[a,r]),N=(0,n.useCallback)(e=>{let t=!Number.isFinite(e)||e<0?0:p>0&&e>p?p:e;"video"===u&&s.current?(s.current.currentTime=t,(null==a?void 0:a.src)&&(a.currentTime=t),v(t)):"audio"===u&&a?(a.currentTime=t,v(t)):a&&!u&&(a.currentTime=t,v(t))},[a,p,u]),S=(0,n.useCallback)(async()=>{if("video"===u&&s.current){if(null==a?void 0:a.src){a.currentTime=s.current.currentTime;try{await a.play()}catch(e){}}await s.current.play();return}("audio"===u||!u&&(null==a?void 0:a.src))&&(s.current&&s.current.pause(),await (null==a?void 0:a.play()))},[a,u]),C=(0,n.useCallback)(()=>{var e;null===(e=s.current)||void 0===e||e.pause(),null==a||a.pause()},[a]);(0,n.useEffect)(()=>{let e=s.current;if(!e)return;let t=()=>{let t=e.duration;Number.isFinite(t)&&t>0&&x(e=>t>e?t:e)},a=()=>{"video"===u&&v(e.currentTime)},i=()=>g(!0),n=()=>g(!1),r=()=>{if(w.current){e.currentTime=0;let t=j.current;(null==t?void 0:t.src)&&(t.currentTime=0,t.play().catch(()=>void 0)),v(0),e.play().catch(()=>void 0);return}g(!1)};return e.addEventListener("loadedmetadata",t),e.addEventListener("durationchange",t),e.addEventListener("timeupdate",a),e.addEventListener("play",i),e.addEventListener("pause",n),e.addEventListener("ended",r),()=>{e.removeEventListener("loadedmetadata",t),e.removeEventListener("durationchange",t),e.removeEventListener("timeupdate",a),e.removeEventListener("play",i),e.removeEventListener("pause",n),e.removeEventListener("ended",r)}},[u]),(0,n.useEffect)(()=>{if(!a)return;let e=()=>{if("audio"!==u)return;let e=a.duration;Number.isFinite(e)&&x(e)},t=()=>{"audio"===u&&v(a.currentTime)},i=()=>{"audio"===u&&g(!0)},n=()=>{"audio"===u&&g(!1)},r=()=>{if("audio"===u){if(w.current){a.currentTime=0,v(0),a.play().catch(()=>void 0);return}g(!1)}};return a.addEventListener("loadedmetadata",e),a.addEventListener("durationchange",e),a.addEventListener("timeupdate",t),a.addEventListener("play",i),a.addEventListener("pause",n),a.addEventListener("ended",r),()=>{a.removeEventListener("loadedmetadata",e),a.removeEventListener("durationchange",e),a.removeEventListener("timeupdate",t),a.removeEventListener("play",i),a.removeEventListener("pause",n),a.removeEventListener("ended",r)}},[a,u]);let T=(0,n.useMemo)(()=>({videoElement:o,mediaType:u,duration:p,currentTime:h,isPlaying:f,loop:b,setLoop:k,setMedia:E,seek:N,play:S,pause:C}),[h,p,f,b,u,C,S,N,k,E,o]),M=(0,n.useCallback)(e=>{s.current=e,l(e)},[]);return(0,i.jsxs)(c.h.Provider,{value:T,children:[(0,i.jsx)("video",{ref:M,className:"pointer-events-none fixed left-0 top-0 h-px w-px opacity-0",playsInline:!0,"aria-hidden":!0,preload:"metadata"}),t]})};var m=a(30118),p=a(16867),x=a(83553),h=a(45137),v=a(69525),f=a(17088);let g=e=>{let{children:t}=e,[a,r]=(0,n.useState)(null),[s,o]=(0,n.useState)(x.uz.Editable),l=(0,f.G)(e=>{var t;return null===(t=e.document)||void 0===t?void 0:t.paidAt}),d=(0,n.useMemo)(()=>({canvas:a,setCanvas:r,editMode:s,setEditMode:o,designId:void 0,isPaid:!!l,setIsPaid:e=>{e&&f.G.getState().patchDocument(e=>e.paidAt?e:{...e,paidAt:new Date().toISOString()})},saveEverything:()=>(0,v.J)(),setShouldReplaceDesign:()=>void 0}),[a,s,l]);return(0,i.jsx)(h.c.Provider,{value:d,children:t})};var b=a(62487),y=a(57855),w=a(43034),j=a(4842),k=a(65089),E=a(92670),N=a(25237),S=a.n(N),C=a(52522),T=a(3752),M=a(359),I=a(94133),_=a(52015),A=a(68635),B=a(12524),L=a.n(B),R=a(49695),D=a.n(R),P=a(37690),G=a(42670),F=a(71406),O=a(99127),z=a(40457),W=a(42658),V=a(8188),q=a(37365),U=a(32656),J=a(88319),Z=a(69886),H=a(95978),Y=a(69095),Q=a(70312),X=a(71680),K=a(38719),$=a(62214),ee=a(19487),et=a(67491),ea=a(80920),ei=a(46620),en=a(34747);let er=()=>{let e=(0,f.G)(e=>e.document),{uploadPrimaryMedia:t,clearPrimaryMediaUpload:a}=(0,et.L)(),r=(0,ea.Q5)(),s=(0,en._)(e=>e.uploads)[null!=r?r:"__pending_audio_upload__"],o=(0,n.useRef)(null),l=e?(0,K.sT)(e):void 0,d=null==l?void 0:l.name,c=!!s,u=(0,n.useCallback)(async e=>{await t(e)},[t]),m=(0,n.useCallback)(e=>{var t;let a=null===(t=e.target.files)||void 0===t?void 0:t[0];a&&(u(a),e.target.value="")},[u]),p=(0,n.useCallback)(e=>{var t;e.file&&(u(e.file),null===(t=e.onSuccess)||void 0===t||t.call(e,{status:"done"},e.file))},[u]);return(0,i.jsxs)("div",{className:"space-y-4",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("p",{className:"text-base font-semibold text-gray-900 mb-1",children:"Add media"}),(0,i.jsx)("p",{className:"text-sm text-gray-600 mb-4",children:"Upload audio or video â files are saved to your design for export"})]}),(0,i.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,i.jsxs)("label",{className:"cursor-pointer",children:[(0,i.jsx)(ee.Z,{icon:X.Qvc,label:"Upload",description:"Audio or video file",layout:"list",iconBg:"bg-blue-100 text-blue-600",isSelected:!!l,asDiv:!0}),(0,i.jsx)("input",{ref:o,type:"file",accept:"audio/*,video/*",className:"sr-only",onChange:m,disabled:c})]}),(0,i.jsx)($.q,{onSave:p,layout:"list"})]}),s&&(0,i.jsxs)("div",{className:"space-y-1",children:[(0,i.jsx)("p",{className:"text-xs font-medium text-gray-700",children:s.label}),s.description&&(0,i.jsx)("p",{className:"text-xs text-gray-500",children:s.description}),(0,i.jsx)(ei.E,{percent:s.progress})]}),d&&(0,i.jsxs)("div",{className:"rounded-lg border border-gray-200 bg-gray-50 px-3 py-2 flex items-center gap-2",children:[(0,i.jsx)("span",{className:"text-xs text-gray-700 truncate flex-1",title:d,children:d}),(null==l?void 0:l.pathInBucket)&&(0,i.jsx)("span",{className:"shrink-0 text-[10px] uppercase tracking-wide text-green-700",children:"Saved"}),(0,i.jsx)("button",{type:"button",onClick:a,className:"shrink-0 text-xs text-gray-500 hover:text-red-600 transition-colors","aria-label":"Clear media",disabled:c,
1children:"Remove"})]})]})};var es=a(18818),eo=a(83112),el=a(15906),ed=a(18997),ec=a(4085),eu=a(74932),em=a(44041),ep=a(51004),ex=a(67516);let eh=es.mD.join(","),ev=()=>{let{uploadImage:e}=function(){let e=(0,eo.Z)(),{designId:t,saveEverything:a}=(0,C.hl)(),i=(0,m._i)(),{addImageLayer:r,updateImageLayer:s,removeImageLayer:o,requestObjectSelection:l}=(0,p._2)(),{upsertResource:d}=(0,k.o0)(),{setProgress:c,removePlaceholder:u}=(0,eu.Y)(),x=(0,em.G)();return{uploadImage:(0,n.useCallback)(async n=>{let m=null!=t?t:await a();if(!m){(0,ed.H)(Error("Cannot get designId for image upload"));return}let p=(0,ec.J)(0,0,i,0);try{await (0,ep.n)({designId:m,file:n,rect:p,addImageLayer:r,updateImageLayer:s,upsertResource:d,onProgress:(e,t,a)=>c(e,t,a),onComplete:e=>{u(e),l(e)},onError:(t,a,i)=>{(0,ed.H)(i),URL.revokeObjectURL(a),o(t),u(t),x.error(e.formatMessage({id:(0,ex.p)(i)},{maxSize:el.Iv}))}})}catch(e){(0,ed.H)(e instanceof Error?e:Error(String(e)))}},[e,t,a,i,r,s,o,d,l,x,c,u])}}(),t=(0,eu.Y)(e=>e.placeholders),a=(0,n.useRef)(null),r=Object.keys(t).length>0,s=(0,n.useCallback)(async t=>{var a;let i=null===(a=t.target.files)||void 0===a?void 0:a[0];i&&(await e(i),t.target.value="")},[e]);return(0,i.jsxs)("div",{className:"space-y-4",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("p",{className:"text-base font-semibold text-gray-900 mb-1",children:"Elements"}),(0,i.jsx)("p",{className:"text-sm text-gray-600 mb-4",children:"Add images to the canvas. Sound wave, text, and background live in their own tabs."})]}),(0,i.jsxs)("label",{className:"cursor-pointer block",children:[(0,i.jsx)(ee.Z,{icon:X.H3h,label:"Upload image",description:"PNG, JPG, SVG, WebP",layout:"list",iconBg:"bg-violet-100 text-violet-600",asDiv:!0}),(0,i.jsx)("input",{ref:a,type:"file",accept:eh,className:"sr-only",onChange:s,disabled:r})]}),Object.entries(t).map(e=>{let[t,a]=e;return(0,i.jsxs)("div",{className:"space-y-1",children:[(0,i.jsx)("p",{className:"text-xs font-medium text-gray-700",children:"Uploading imageâ¦"}),(0,i.jsx)(ei.E,{percent:a.progress})]},t)}),(0,i.jsxs)("div",{className:"rounded-lg border border-dashed border-gray-200 bg-gray-50 px-3 py-2 text-xs text-gray-500 flex items-center gap-2",children:[(0,i.jsx)(X.Qvc,{className:"shrink-0 text-gray-400"}),(0,i.jsx)("span",{children:"You can also drag images onto the canvas."})]})]})};var ef=a(40381),eg=a(25139),eb=a(2431),ey=a(70082),ew=a(3438),ej=a(33065),ek=a(11242),eE=a(72384),eN=a(11080);let eS="caption-track-1";function eC(e){return{...e,defaultText:e.cues.map(e=>e.text).filter(Boolean).join(" ")}}function eT(e){let t=e.captionTracks[eS];if(!t){var a;return{...e,captionTracks:{...e.captionTracks,[eS]:(a=e.durationMs,{id:eS,groupId:"default",defaultText:"",textNodeName:ek.QL,cues:[{id:"".concat(eS,"-cue-0"),startMs:0,endMs:a||3e3,text:""}]})}}}let i=t.cues.reduce((e,t)=>Math.max(e,t.endMs),0),n={id:"".concat(eS,"-cue-").concat(t.cues.length),startMs:i,endMs:Math.max(i+1e3,e.durationMs||i+1e3),text:""};return{...e,captionTracks:{...e.captionTracks,[eS]:eC({...t,cues:[...t.cues,n]})}}}function eM(e,t,a,i){let n=e.captionTracks[t];if(!n)return e;let r=n.cues.map((e,t)=>{if(e.id!==a)return e;let{startMs:r,endMs:s}=(0,eE.clampCueWindow)(e,i,n.cues[t-1],n.cues[t+1]);return{...e,...i,startMs:r,endMs:s}});return{...e,captionTracks:{...e.captionTracks,[t]:eC({...n,cues:r})}}}var eI=a(95468),e_=a(23083);async function eA(e){if(e){ew.gJ({surface:"video_editor",videoProjectId:e});try{let{jobName:t}=await (0,e_.kb)({},e);await eb.YZ.getState().waitForDesignJobCompletion(t,e,eI.KK,"video_projects");let a=await (0,e_.ao)(e);if(!(null==a?void 0:a.captionTracks))return ew.nR({surface:"video_editor",videoProjectId:e,caption_cue_count:0}),{hasCaptions:!1};f.G.getState().patchDocument(e=>({...e,captionTracks:a.captionTracks}));let i=(0,ey.ng)(a.captionTracks);return ew.nR({surface:"video_editor",videoProjectId:e,...i}),{hasCaptions:i.has_captions}}catch(t){throw ew.N({surface:"video_editor",videoProjectId:e,failure_code:(0,ey.B8)(t),...(0,ey.HS)(t)}),t}}}var eB=a(63241),eL=a(19382);let eR=e=>{let{label:t,ms:a,onCommit:n}=e,r=(0,eL.l)(Math.round(a/100)/10,e=>n(Math.round(1e3*e)));return(0,i.jsx)("input",{"aria-label":t,type:"number",min:0,step:.1,className:"min-h-[44px] w-full rounded border border-gray-200 px-1 py-0.5 md:min-
1h-0",...r})},eD=()=>{let e=(0,em.G)(),t=(0,f.G)(e=>e.document),a=null==t?void 0:t.captionTracks,r=(0,f.G)(e=>e.patchDocument),[s,o]=(0,n.useState)(!1),l=(0,ek.Qo)(a),d=Object.values(null!=a?a:{}).flatMap(e=>e.cues.map(t=>({...t,trackId:e.id}))),c=(0,K.VW)(t),u=(0,eb.YZ)(e=>(null==t?void 0:t.id)?e.designJobs["".concat(eg.A9).concat(t.id)]:void 0),m=(null==u?void 0:u.status)===ef.E.queued||(null==u?void 0:u.status)===ef.E.inprogress,p=(0,n.useCallback)(async()=>{if((0,K.VW)(f.G.getState().document)){o(!0);try{let t=await (0,v.J)();if(!t){e.error("Save the project before transcribing."),ew.N({surface:"video_editor",failure_code:"save_required"});return}let a=await eA(t);a&&!a.hasCaptions&&e.info("No speech found","Transcription finished but found no words in this audio. Check that the file has speech.")}catch(a){let t=(0,ej.P8)(a);(0,ed.H)(Error(t)),ew.N({surface:"video_editor",failure_code:(0,ey.B8)(a),...(0,ey.HS)(a)}),e.error(t)}finally{o(!1)}}},[e]),x=(0,n.useCallback)(()=>{r(eT)},[r]);return(0,i.jsxs)("div",{className:"space-y-3 p-3",children:[(0,i.jsx)("p",{className:"text-sm text-gray-600",children:"Generate captions from the uploaded audio, then edit text and timing."}),(0,i.jsx)("button",{type:"button",onClick:p,disabled:s||!c,title:c?void 0:"Upload audio or video before transcribing",className:"w-full rounded bg-violet-600 py-2 text-sm font-medium text-white hover:bg-violet-700 disabled:cursor-not-allowed disabled:bg-gray-300 disabled:text-gray-600 disabled:hover:bg-gray-300",children:s?"Transcribingâ¦":"Transcribe"}),!s&&!c&&(0,i.jsx)("p",{className:"text-xs text-gray-600","data-testid":"transcribe-disabled-reason",children:"Upload audio or video before transcribing."}),s&&(0,i.jsx)(eB.L,{job:m?u:void 0}),(0,i.jsx)("button",{type:"button",onClick:x,className:"w-full rounded border border-gray-300 bg-white py-2 text-sm font-medium text-gray-700 hover:bg-gray-50",children:"Add cue"}),l>0?(0,i.jsx)("ul",{className:"max-h-64 space-y-2 overflow-auto",children:d.map(e=>(0,i.jsxs)("li",{className:"space-y-1 rounded bg-gray-50 p-2",children:[(0,i.jsx)("input",{"aria-label":"Caption text",className:"min-h-[44px] w-full rounded border border-gray-200 px-2 py-1 text-sm md:min-h-0",value:e.text,onChange:t=>r(a=>eM(a,e.trackId,e.id,{text:t.target.value}))}),(0,i.jsxs)("div",{className:"flex gap-2",children:[(0,i.jsxs)("label",{className:"flex flex-1 items-center gap-1 text-xs text-gray-500",children:["In",(0,i.jsx)(eR,{label:"Cue start seconds",ms:e.startMs,onCommit:t=>r(a=>eM(a,e.trackId,e.id,{startMs:t}))})]}),(0,i.jsxs)("label",{className:"flex flex-1 items-center gap-1 text-xs text-gray-500",children:["Out",(0,i.jsx)(eR,{label:"Cue end seconds",ms:e.endMs,onCommit:t=>r(a=>eM(a,e.trackId,e.id,{endMs:t}))})]})]})]},e.id))}):(0,i.jsx)("p",{className:"text-xs text-gray-500",children:"No captions yet."})]})};var eP=a(19458),eG=a(38372),eF=a(69448),eO=a(68951),ez=a(16572),eW=a(75803),eV=a(56197),eq=a(20177),eU=a(82066),eJ=a(5632),eZ=a(2877);let eH=()=>{var e,t;let a=(0,o.aC)(),{mutateWithCredit:r,onCheckout:s,paymentStatus:l,priceReady:d,canPayWithCredit:c}=function(){var e,t,a,r;
1let[s,l]=(0,n.useState)(eW.b.initial),d=(0,o.aC)(),{setIsPaid:c,setEditMode:u}=(0,C.hl)(),m=(0,em.G)(e=>e.error),p=(0,eJ.useRouter)(),h=(0,f.G)(e=>{var t;return null===(t=e.document)||void 0===t?void 0:t.id}),g=(0,f.G)(e=>{var t;return null===(t=e.document)||void 0===t?void 0:t.captionTracks}),b=null!==(a=null===(e=d.userDetails)||void 0===e?void 0:e.credit)&&void 0!==a?a:0,y=null!==(r=null===(t=d.userDetails)||void 0===t?void 0:t.subscriptions)&&void 0!==r?r:[],w=(0,ez.mv)(y),j=d.isLoggedIn&&!!d.userDetails,{product:k,ready:E}=(0,eZ.U)();return{mutateWithCredit:(0,eU.useMutation)(["pay_video_project_with_credit"],async()=>{l(eW.b.loading);let e=await (0,v.J)();return e?(await (0,e_.km)({},e),{aborted:!1,videoProjectId:e}):((0,ed.H)(Error("cannot fetch videoProjectId")),m((0,i.jsx)(G.Z,{id:"Editor.DigitalCheckout.SaveFailed",defaultMessage:"Couldn't save your design. Check your connection and try again."})),l(eW.b.initial),{aborted:!0})},{onSuccess(e){if(!e||e.aborted)return;let t=new Date().toISOString();f.G.getState().patchDocument(e=>e.paidAt?e:{...e,paidAt:t}),c(!0),u(x.uz.Without_Audio),l(eW.b.successful),ew.ES({designId:e.videoProjectId,...(0,ey.ng)(g),eventParams:{event_category:"Checkout",screen_name:"VideoEditorExportUpsell"}})},onError(){l(eW.b.errored)}}),onCheckout:(0,n.useCallback)(async()=>{var e;if(!E)return;l(eW.b.loading);let t=await (0,v.J)()||h;if(!t){(0,ed.H)(Error("cannot fetch videoProjectId")),m((0,i.jsx)(G.Z,{id:"Editor.DigitalCheckout.SaveFailed",defaultMessage:"Couldn't save your design. Check your connection and try again."})),l(eW.b.initial);return}await (0,e_.Kx)({},t),l(eW.b.initial);let a=new URLSearchParams({vpid:t,pid:k.productId,screenName:"VideoEditorExportUpsell"});(0,ey.wP)(a,(0,ey.ng)(null===(e=f.G.getState().document)||void 0===e?void 0:e.captionTracks)),p.push("/checkout?".concat(a.toString()))},[m,p,k.productId,h,E]),paymentStatus:s,priceReady:E,canPayWithCredit:j,hasUnlimited:w,credit:b,subscriptions:y}}();return(0,n.useEffect)(()=>{ew.uo()},[]),(0,i.jsxs)("div",{className:"mb-4 min-w-0 overflow-hidden rounded-lg w-full",children:[(0,i.jsx)("p",{className:"mb-3 min-w-0 break-words rounded-lg border border-green-200/90 bg-green-50 px-3 py-2.5 text-sm font-medium leading-snug text-green-950 shadow-sm",children:(0,i.jsx)(G.Z,{id:"Editor.Export.UnlockHDIncludes.motion"})}),c&&(0,i.jsx)("div",{className:"mb-3 min-w-0",children:(0,i.jsx)(eV.s,{credit:(null===(e=a.userDetails)||void 0===e?void 0:e.credit)||0,onPay:()=>{ew.yu({cta:"credit"}),r.mutate()},loading:l===eW.b.loading,subscriptions:(null===(t=a.userDetails)||void 0===t?void 0:t.subscriptions)||[],compact:!0,screenName:"VideoEditorExportUpsell"})}),(0,i.jsx)("div",{className:"min-w-0",children:(0,i.jsx)(eq.I,{loading:l!==eW.b.initial||!d,onCheckout:()=>{ew.yu({cta:"checkout"}),s()},screenName:"VideoEditorExportUpsell"})})]})},eY=()=>{var e;let t=(0,eO.p)(e=>e.setExportFileType),a=(0,f.G)(e=>{var t;return null===(t=e.document)||void 0===t?void 0:t.paidAt}),r=(null===(e=(0,o.aC)().userDetails)||void 0===e?void 0:e.subscriptions)||[],s=(0,ez.mv)(r);return(0,n.useEffect)(()=>{t(eP.ExportFileType.MP4)},[t]),(0,i.jsxs)("div",{className:"p-2",children:[!a&&!s&&(0,i.jsx)(eH,{}),(0,i.jsx)(eG.e,{allowedFileTypes:eF.s})]})},eQ=(0,i.jsx)("svg",{style:{width:26,height:26},xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",children:(0,i.jsx)("path",{d:"M4.03 21.03a.75.75 0 0 1-1.06-1.06l17-17a.75.75 0 0 1 1.06 1.06l-17 17zm4.5.5a.75.75 0 0 1-1.06-1.06l13-13a.75.75 0 0 1 1.06 1.06l-13 13zm5 0a.75.75 0 0 1-1.06-1.06l8-8a.75.75 0 0 1 1.06 1.06l-8 8zm5.5-.5a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 1.06l-2 2zm-15.5-4.5a.75.75 0 0 1-1.06-1.06l13-13a.75.75 0 0 1 1.06 1.06l-13 13zm0-5a.75.75 0 0 1-1.06-1.06l8-8a.75.75 0 0 1 1.06 1.06l-8 8zm.5-5.5a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 1.06l-2 2z",fill:"currentColor"})}),eX={[P.B.media]:{key:P.B.media,header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(W.SnS,{fontSize:26}),(0,i.jsx)("span",{className:"mt-1 text-xs whitespace-nowrap",children:"Media"})]}),content:(0,i.jsx)(er,{})},[P.B.soundwave]:{key:P.B.soundwave,header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(F._5g,{fontSize:30,className:"-mt-0.5"}),(0,i.jsx)("span",{className:"text-xs whitespace-nowrap",children:(0,i.jsx)(G.Z,{id:"Editor.Menu.SoundWave"})})]}),content:(0,i.jsx)(V.N,{})},[P.B.background]:{key:P.B.background,header:(0,i.jsxs)(i.Fragment,{children:[eQ,(0,i.jsx)("span",{className:"text-xs whitespace-nowrap",children:(0,i.jsx)(G.Z,{id:"Editor.Menu.Backgroun
1d"})})]}),content:(0,i.jsx)(q.T,{})},[P.B.text]:{key:P.B.text,header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(O.JCu,{fontSize:26}),(0,i.jsx)("span",{className:"text-xs whitespace-nowrap",children:(0,i.jsx)(G.Z,{id:"Editor.Menu.Text"})})]}),content:(0,i.jsx)(U.x,{})},[P.B.elements]:{key:P.B.elements,header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(O.As9,{fontSize:26}),(0,i.jsx)("span",{className:"mt-1 text-xs whitespace-nowrap",children:"Elements"})]}),content:(0,i.jsx)(ev,{})},[P.B.layers]:{key:P.B.layers,header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(O.t5C,{fontSize:26}),(0,i.jsx)("span",{className:"text-xs whitespace-nowrap",children:(0,i.jsx)(G.Z,{id:"Editor.Menu.Layers",defaultMessage:"Layers"})})]}),content:(0,i.jsx)(J.f,{})},[P.B.animation]:{key:P.B.animation,header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(W.Jj,{fontSize:26}),(0,i.jsx)("span",{className:"text-xs whitespace-nowrap",children:(0,i.jsx)(G.Z,{id:"Editor.Menu.Animation",defaultMessage:"Animation"})})]}),content:(0,i.jsx)(Z.T,{})},[P.B.captions]:{key:P.B.captions,header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(W.W3p,{fontSize:26}),(0,i.jsx)("span",{className:"mt-1 text-xs whitespace-nowrap",children:"Captions"})]}),content:(0,i.jsx)(eD,{})},[P.B.export]:{key:P.B.export,header:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(z.eEq,{fontSize:26}),(0,i.jsx)("span",{className:"mt-1 text-xs whitespace-nowrap",children:"Export"})]}),content:(0,i.jsx)(eY,{})},[P.B.colorPicker]:{header:null,key:P.B.colorPicker,content:(0,i.jsx)(H.a,{})},[P.B.fontPicker]:{header:null,key:P.B.fontPicker,content:(0,i.jsx)(Y.S,{})},[P.B.effectsPicker]:{header:null,key:P.B.effectsPicker,content:(0,i.jsx)(Q.D,{})}},eK=()=>{let{shownTab:e,setShownTab:t,collapsed:a,setCollapsed:r}=(0,n.useContext)(w.q5);(0,n.useEffect)(()=>{e&&(0,P.C)(e)||t(P.B.media)},[e,t]);let s=(0,P.C)(e)?e:P.B.media;return(0,i.jsx)("aside",{className:"flex min-h-0 shrink-0 border-r border-soft-border bg-white",children:(0,i.jsx)(w.mQ,{shownTab:s,setShownTab:t,tabPosition:"left",collapse:a,setCollapsed:r,className:L()(D().tabMenu,"h-full min-h-0 w-full min-w-0 bg-white border-t border-soft-border text-gray-600",{[D().tabMenuCollapsed]:a}),data:eX})})};var e$=a(96205),e0=a(44324);function e1(e,t,a,i,n,r){if("captions"===e.kind){let e=(0,ek.Qo)(r);if(e>0)return"Captions (".concat(e,")")}if("text"===e.kind){let e=t.layers.find(e=>"text"===e.type);if(null==e?void 0:e.text)return e.text;if(i>1)return"Text ".concat(a+1)}return"image"===e.kind&&i>1?"Image ".concat(a+1):n||e.label}var e5=a(35954);let e2=e=>{let{progress:t,rulerHeight:a=32}=e;return(0,i.jsxs)("div",{className:"pointer-events-none absolute inset-y-0 z-20 -translate-x-px",style:{left:"".concat(100*Math.min(1,Math.max(0,t)),"%")},"aria-hidden":!0,children:[(0,i.jsx)("div",{className:"absolute left-1/2 -translate-x-1/2",style:{top:a-10},children:(0,i.jsx)("svg",{width:"12",height:"10",viewBox:"0 0 12 10",className:"overflow-visible",children:(0,i.jsx)("polygon",{points:"6,10 0,0 12,0",fill:"#6d28d9"})})}),(0,i.jsx)("div",{className:"absolute w-0.5 bg-violet-600",style:{to
1p:a,bottom:0}})]})},e6={video:"bg-gradient-to-r from-teal-600 to-teal-500 text-white",audio:"bg-gradient-to-r from-violet-600 to-violet-500 text-white",waveform:"bg-gradient-to-r from-indigo-600 to-indigo-500 text-white",captions:"bg-gradient-to-r from-amber-600 to-amber-500 text-white",text:"bg-gradient-to-r from-sky-600 to-sky-500 text-white",image:"bg-gradient-to-r from-emerald-600 to-emerald-500 text-white",cameraShake:"bg-gradient-to-r from-rose-600 to-rose-500 text-white"};function e3(e){let{kind:t}=e;return"video"===t?(0,i.jsx)(W.M3g,{className:"text-base shrink-0 opacity-80"}):"audio"===t?(0,i.jsx)(W.FW,{className:"text-base shrink-0 opacity-80"}):"waveform"===t?(0,i.jsx)(W.RE,{className:"text-base shrink-0 opacity-80"}):"captions"===t?(0,i.jsx)(W.W3p,{className:"text-base shrink-0 opacity-80"}):"text"===t?(0,i.jsx)(W.SQS,{className:"text-base shrink-0 opacity-80"}):"cameraShake"===t?(0,i.jsx)(W.RE,{className:"text-base shrink-0 opacity-80"}):(0,i.jsx)(W.e0s,{className:"text-base shrink-0 opacity-80"})}let e7=e=>{let{row:t,compositionMs:a,onTrim:r}=e,s=(0,n.useRef)(null),o=(0,n.useCallback)((e,i)=>{let n=s.current;if(!n)return;let o=function(e,t,a){let i=t.getBoundingClientRect();return Math.max(0,(i.width<=0?0:(e-i.left)/i.width)*(a>0?a:2e4))}(i,n,a);if("in"===e){let e=Math.min(o,t.startMs+t.durationMs);r({startMs:e,durationMs:t.startMs+t.durationMs-e})}else r({startMs:t.startMs,durationMs:Math.max(0,o-t.startMs)})},[a,r,t.durationMs,t.startMs]),l=e=>t=>{t.stopPropagation(),t.preventDefault();let a=t.currentTarget;a.setPointerCapture(t.pointerId),o(e,t.clientX);let i=t=>o(e,t.clientX),n=()=>{a.removeEventListener("pointermove",i),a.removeEventListener("pointerup",n)};a.addEventListener("pointermove",i),a.addEventListener("pointerup",n,{once:!0})};if(!t.hasContent)return(0,i.jsxs)("div",{className:"flex h-full items-center gap-1.5 px-2 text-xs text-gray-400",children:[(0,i.jsx)(e3,{kind:t.kind}),(0,i.jsx)("span",{children:t.label})]});let d=a>0?a:2e4,c=d>0?t.startMs/d*100:0,u=d>0?Math.max(t.durationMs,a>0?0:d)/d*100:100,m=a>0?Math.max(u,2):100;return(0,i.jsx)("div",{ref:s,className:"relative h-full w-full",children:(0,i.jsxs)("div",{className:"absolute inset-y-1 flex items-center overflow-hidden rounded-md ".concat(e6[t.kind]),style:{left:"".concat(c,"%"),width:"".concat(m,"%")},children:[(0,i.jsx)("button",{type:"button","aria-label":"Trim start",className:"absolute inset-y-0 left-0 z-10 w-2 cursor-ew-resize bg-white/40 hover:bg-white/70",onPointerDown:l("in")}),(0,i.jsxs)("div",{className:"relative flex min-w-0 items-center gap-1.5 px-3",children:[(0,i.jsx)(e3,{kind:t.kind}),(0,i.jsx)("span",{className:"truncate text-xs font-medium opacity-90",children:t.label})]}),(0,i.jsx)("button",{type:"button","aria-label":"Trim end",className:"absolute inset-y-0 right-0 z-10 w-2 cursor-ew-resize bg-white/40 hover:bg-white/70",onPointerDown:l("out")})]})})},e4=()=>{var e,t,a,r,s;let{seek:o}=(0,c.r)(),l=(0,e$.S)(e=>e.duration),d=(0,e$.S)(e=>e.currentTime),u=(0,e$.S)(e=>e.zoom),m=(0,e$.S)(e=>e.setZoom),p=(0,f.G)(e=>e.document),x=(0,f.G)(e=>e.trimClip),h=[...(function(e){if(!e)return[];let t=[];return e.tracks.forEach(a=>{if("video"!==a.kind&&"audio"!==a.kind)return;let i=a.kind;a.clips.forEach(n=>{let r=n.assetId?e.assets.assets[n.assetId]:void 0,s=null==r?void 0:r.name;t.push({trackId:a.id,clipId:n.id,kind:i,label:s&&s.length>0?s:"video"===i?"Video":"Audio",startMs:n.startMs,durationMs:n.durationMs,assetName:s})})}),t})(p).map(e=>({trackId:e.trackId,clipId:e.clipId,kind:e.kind,label:e.label,startMs:e.startMs,durationMs:e.durationMs,hasContent:!0})),...(a=null!==(t=null==p?void 0:p.tracks)&&void 0!==t?t:[],r=null==p?void 0:p.captionTracks,e0.qw.flatMap(e=>{var t,i,n;let s=a.find(t=>t.id===e.trackId),o=null!==(t=null==s?void 0:s.clips)&&void 0!==t?t:[];if("text"===e.kind||"image"===e.kind){let t=o.filter(e=>e.layers.length>0);return 0===t.length?[]:t.map((a,i)=>({trackId:e.trackId,clipId:a.id,kind:e.kind,label:e1(e,a,i,t.length,null==s?void 0:s.label,r),startMs:a.startMs,durationMs:a.durationMs,hasContent:!0}))}let l=null!==(i=o.find(t=>
1t.id===e.clipId))&&void 0!==i?i:o[0],d={id:e.clipId,startMs:0,durationMs:0,layers:[]},c=null!=l?l:d;return[{trackId:e.trackId,clipId:c.id,kind:e.kind,label:e1(e,c,0,1,null==s?void 0:s.label,r),startMs:c.startMs,durationMs:c.durationMs,hasContent:"waveform"===(n=e.kind)?c.layers.some(e=>"waveform"===e.type):"captions"===n?(0,ek.Qo)(r)>0:c.layers.length>0}]})),...(null!==(s=null==p?void 0:p.effectTracks)&&void 0!==s?s:[]).filter(e=>!e.muted).flatMap(e=>e.clips.filter(e=>!e.muted&&"cameraShake"===e.effect.type).map(t=>({trackId:e.id,clipId:t.id,kind:"cameraShake",label:e.label||"Camera shake",startMs:t.startMs,durationMs:t.durationMs,hasContent:!0})))],v=null!==(e=null==p?void 0:p.durationMs)&&void 0!==e?e:0,g=(0,n.useRef)(null),b=l>0?d/l:0,y=(0,n.useCallback)((e,t)=>{let a=l>0&&t.width>0?Math.min(1,Math.max(0,(e-(Number.isFinite(t.left)?t.left:0))/t.width))*l:null;null!=a&&o(a)},[o,l]),w=(0,n.useCallback)(e=>{var t;if(e.target.closest("button"))return;let a=null===(t=g.current)||void 0===t?void 0:t.querySelector("[data-timeline-inner]"),i=null==a?void 0:a.getBoundingClientRect();i&&y(e.clientX,i)},[y]),j=l>0?l<=10?1:l<=30?2:l<=60?5:l<=180?15:l<=600?30:60:5,k=[];if(l>0){for(let e=0;e<=l+.01*j;e+=j){let t=Math.min(e,l);if(k.push(t),t===l)break}k[k.length-1]!==l&&k.push(l)}else k.push(0,5,10,15,20);return(0,i.jsxs)("section",{className:"flex shrink-0 flex-col border-t border-gray-200 bg-white","aria-label":"Timeline",style:{height:260},children:[(0,i.jsx)("div",{ref:g,className:"relative min-h-0 flex-1 overflow-auto",children:(0,i.jsxs)("div",{"data-timeline-inner":!0,className:"relative min-h-full",style:{width:"".concat(Math.max(100,100*u),"%"),minWidth:"100%"},onPointerDown:w,children:[(0,i.jsx)("div",{className:"relative cursor-pointer select-none border-b border-gray-200 bg-gray-50",style:{height:28},children:k.map(e=>{let t=l>0?e/l*100:e/20*100;return(0,i.jsxs)("div",{className:"absolute top-0 flex h-full flex-col items-center",style:{left:"".concat(t,"%")},children:[(0,i.jsx)("div",{className:"h-2 w-px bg-gray-300"}),(0,i.jsx)("span",{className:"mt-0.5 text-[10px] leading-none text-gray-400 tabular-nums",children:(0,e5.c)(e)})]},e)})}),(0,i.jsx)("div",{className:"relative",children:h.map(e=>(0,i.jsx)("div",{className:"border-b border-gray-100 px-1",style:{height:40},children:(0,i.jsx)(e7,{row:e,compositionMs:v,onTrim:t=>x(e.trackId,e.clipId,t)})},"".concat(e.trackId,"-").concat(e.clipId)))}),(0,i.jsx)(e2,{progress:b,rulerHeight:28})]})}),(0,i.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-t border-gray-100 bg-gray-50 px-3 py-1.5",children:[(0,i.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded border border-gray-300 bg-white text-xs text-gray-600 hover:bg-gray-100",onClick:()=>m(u/1.25),"aria-label":"Zoom out",children:"â"}),(0,i.jsxs)("span",{className:"w-10 text-center text-xs text-gray-500",children:[Math.round(100*u),"%"]}),(0,i.jsx)("button",{type:"button",className:"flex h-6 w-6 items-center justify-center rounded border border-gray-300 bg-white text-xs text-gray-600 hover:bg-gray-100",onClick:()=>m(1.25*u),"aria-label":"Zoom in",children:"+"})]})]})};var e8=a(70333);let e9=()=>{let{play:e,pause:t,seek:a,isPlaying:n,mediaType:r,loop:s,setLoop:o}=(0,c.r)(),l=(0,e$.S)(e=>e.duration),d=(0,e$.S)(e=>e.currentTime);return(0,i.jsxs)("div",{className:"flex shrink-0 items-center justify-center gap-5 border-t border-gray-200 bg-white py-2.5 px-4",children:[(0,i.jsx)("span",{className:"w-10 text-right font-mono text-sm font-medium text-gray-700 tabular-nums",children:(0,e5.c)(d)}),(0,i.jsx)(e8.K,{isPlaying:n,canPlay:!!r,loop:s,onTogglePlay:()=>n?t():e(),onGoToStart:()=>a(0),onToggleLoop:()=>o(!s)}),(0,i.jsx)("span",{className:"w-10 font-mono text-sm text-gray-400 tabular-nums","aria-label":"Composition duration",children:(0,e5.c)(l)})]})};var te=a(32945);let tt=()=>{let{isPlaying:e,duration:t,currentTime:a}=(0,c.r)();return(0,n.useEffect)(()=>{t>0&&te.EM.setDuration(t)},[t]),(0,n.useEffect)(()=>{if(!(t<=0)){if(!e){te.EM.stop(),te.EM.setTime(a);return}te.EM.getState().isPlaying||te.EM.play(),te.EM.setTime(a)}},[a,t,e]),null};var ta=a(3741),ti=a(65846),tn=a(21749),tr=a(84884);let ts=["pointerdown","pointerup","mousedown","mouseup","touchstart","touchend"];function to(e){(0,n.useEffect)(()=>{let t=e.current;if(!t)return;let a=e=>{e.stopPropagation()};
1return ts.forEach(e=>{t.addEventListener(e,a)}),()=>{ts.forEach(e=>{t.removeEventListener(e,a)})}},[e])}var tl=a(38986);function td(e){return"string"==typeof(null==e?void 0:e.name)&&e.name.startsWith(tl.TEXT_NODE_OBJECT_NAME_PREFIX)}let tc=(0,i.jsx)("svg",{width:24,height:24,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,i.jsx)("path",{d:"M4.03 21.03a.75.75 0 0 1-1.06-1.06l17-17a.75.75 0 0 1 1.06 1.06l-17 17zm4.5.5a.75.75 0 0 1-1.06-1.06l13-13a.75.75 0 0 1 1.06 1.06l-13 13zm5 0a.75.75 0 0 1-1.06-1.06l8-8a.75.75 0 0 1 1.06 1.06l-8 8zm5.5-.5a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 1.06l-2 2zm-15.5-4.5a.75.75 0 0 1-1.06-1.06l13-13a.75.75 0 0 1 1.06 1.06l-13 13zm0-5a.75.75 0 0 1-1.06-1.06l8-8a.75.75 0 0 1 1.06 1.06l-8 8zm.5-5.5a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 1.06l-2 2z",fill:"currentColor"})}),tu={[P.B.media]:{id:P.B.media,label:"Media",icon:(0,i.jsx)(W.SnS,{size:22,"aria-hidden":!0}),body:(0,i.jsx)(er,{})},[P.B.soundwave]:{id:P.B.soundwave,label:"Sound wave",icon:(0,i.jsx)(F._5g,{size:24,"aria-hidden":!0}),body:(0,i.jsx)(V.N,{})},[P.B.text]:{id:P.B.text,label:"Text",icon:(0,i.jsx)(O.JCu,{size:22,"aria-hidden":!0}),body:(0,i.jsx)(U.x,{})},[P.B.captions]:{id:P.B.captions,label:"Captions",icon:(0,i.jsx)(W.W3p,{size:22,"aria-hidden":!0}),body:(0,i.jsx)(eD,{})},[P.B.background]:{id:P.B.background,label:"Background",icon:tc,body:(0,i.jsx)(q.T,{})},[P.B.elements]:{id:P.B.elements,label:"Elements",icon:(0,i.jsx)(O.As9,{size:22,"aria-hidden":!0}),body:(0,i.jsx)(ev,{})},[P.B.layers]:{id:P.B.layers,label:"Layers",icon:(0,i.jsx)(O.t5C,{size:22,"aria-hidden":!0}),body:(0,i.jsx)(J.f,{})},[P.B.animation]:{id:P.B.animation,label:"Animation",icon:(0,i.jsx)(W.Jj,{size:22,"aria-hidden":!0}),body:(0,i.jsx)(Z.T,{})},[P.B.export]:{id:P.B.export,label:"Export",icon:(0,i.jsx)(z.eEq,{size:22,"aria-hidden":!0}),body:(0,i.jsx)(eY,{})},[P.B.colorPicker]:{id:P.B.colorPicker,label:"Color",icon:null,body:null},[P.B.fontPicker]:{id:P.B.fontPicker,label:"Font",icon:null,body:null},[P.B.effectsPicker]:{id:P.B.effectsPicker,label:"Effects",icon:null,body:null}},tm=[P.B.media,P.B.soundwave,P.B.text,P.B.captions,P.B.background,P.B.elements,P.B.layers,P.B.animation,P.B.export];P.B.media,P.B.soundwave,P.B.text,P.B.captions,P.B.background,P.B.elements,P.B.layers,P.B.animation,P.B.export;let tp=e=>{let{openToolId:t,onOpenTool:a}=e;return(0,i.jsx)("nav",{"data-testid":"video-editor-mobile-add-bar","aria-label":"Editor tools",className:"hide-scrollbar flex max-w-full min-w-0 flex-nowrap items-stretch overflow-x-auto border-t border-gray-200 bg-white",children:tm.map(e=>{let n=tu[e],r=t===e;return(0,i.jsxs)("button",{type:"button",className:L()("flex min-h-[4.25rem] min-w-[4.75rem] shrink-0 flex-col items-center justify-center gap-1 border-t-2 px-2 py-2",r?"-mt-[2px] border-blue-600 text-blue-600":"border-transparent text-gray-600 hover:text-gray-900"),"aria-pressed":r,onClick:()=>a(r?null:e),children:[n.icon,(0,i.jsx)("span",{className:"text-[11px] font-medium leading-tight whitespace-nowrap",children:n.label})]},e)})})},tx=e=>{let{title:t,children:a}=e;return(0,i.jsxs)("div",{"data-testid":"video-editor-mobile-drawer",role:"dialog","aria-label":t,className:"flex max-h-[min(50vh,360px)] min-h-0 flex-col border-t border-gray-200 bg-white",children:[(0,i.jsx)("div",{"data-testid":"video-editor-mobile-drawer-handle",className:"mx-auto mt-2 h-1 w-10 shrink-0 rounded-full bg-gray-300","aria-hidden":!0}),(0,i.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-5 pb-4 pt-3","data-vaul-no-drag":!0,style:{touchAction:"pan-y"},children:a})]})};var th=a(93580);let tv=e=>{let{objectName:t,currentFontFamily:a,currentFontSize:r=24}=e,{updateTextNode:s,loadFonts:o}=(0,m._i)();return(0,n.useEffect)(()=>{o(th.Qg)},[o]),(0,i.jsx)("div",{"data-testid":"video-editor-mobile-nested-tray",className:"hide-scrollbar flex gap-2 overflow-x-auto border-b border-gray-100 bg-white px-3 py-2","data-vaul-no-drag":!0,style:{touchAction:"pan-x"},children:th.B8.map(e=>{let{value:n,fontName:o}=e;return(0,i.jsx)("button",{type:"button",className:L()("shrink-0 rounded-lg border px-3 py-2 text-sm transition-colors",n===a?"border-violet-500 bg-violet-50 text-gray-900":"border-gray-200 bg-white text-gray-800 hover:bg-gray-50"),style:{fontFamily:o},onClick:()=>{let e={fontFamily:n};"Cookie"===n&&(e.fontSize=1.5*r),s(t,e)},children:o},n)})})};var tf=a(32434),tg=a(65254),tb=a(21066),ty=a(70299);let tw="flex min-h-[4.25rem] min-w-[4.75rem] shrink-0 flex-col items-center justify-center gap-1 border-t-2 px-3 py-2",tj="flex h-10 w-10 items-center justify-center rounded-full border border-gray-200 text-gray-700",tk=e=>{let{selectedElement:t}
1=e,a=(0,n.useRef)(null),{replaceAssetImage:r,replaceBackgroundImage:s,isReplacing:o}=(0,tb.b)(),l=t.name,d=l===tl.BG_IMAGE_OBJECT_NAME,c="string"==typeof l&&l.startsWith(tl.IMAGE_LAYER_OBJECT_NAME_PREFIX),u=(0,n.useCallback)(()=>{var e;null===(e=a.current)||void 0===e||e.click()},[]),m=(0,n.useCallback)(e=>{var t;let a=null===(t=e.target.files)||void 0===t?void 0:t[0];a&&(d?s(a):c&&r(l,a),e.target.value="")},[d,c,l,r,s]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("button",{type:"button",className:L()(tw,"border-transparent text-gray-600 hover:text-gray-900"),disabled:o,onClick:u,children:(0,i.jsx)("span",{className:"text-[11px] font-medium leading-tight",children:"Replace"})}),(0,i.jsx)("input",{ref:a,type:"file",accept:es.mD.join(","),className:"hidden",onChange:m})]})},tE=e=>{let{mode:t,selectedElement:a,activeFontTray:n,onFontTrayToggle:r,onDone:s,activeWaveformTab:o,onWaveformTabChange:l}=e;return"waveform"===t?(0,i.jsxs)("div",{"data-testid":"video-editor-mobile-selection-bar",className:"bg-white",children:[(0,i.jsx)(ty.w,{activeTab:o,onTabChange:l}),(0,i.jsx)("div",{className:"flex justify-end border-t border-gray-100 px-3 py-2",children:(0,i.jsx)("button",{type:"button",className:tj,"aria-label":"Done",onClick:s,children:(0,i.jsx)(tf.Z,{className:"h-5 w-5","aria-hidden":!0})})})]}):(0,i.jsxs)("nav",{"data-testid":"video-editor-mobile-selection-bar","aria-label":"Selection tools",className:"flex items-stretch border-t border-gray-200 bg-white",children:["text"===t&&(0,i.jsxs)("button",{type:"button",className:L()(tw,n?"-mt-[2px] border-blue-600 text-blue-600":"border-transparent text-gray-600 hover:text-gray-900"),"aria-pressed":n,onClick:r,children:[(0,i.jsx)(tg.Z,{className:"h-6 w-6","aria-hidden":!0}),(0,i.jsx)("span",{className:"text-[11px] font-medium leading-tight",children:"Font"})]}),"clip"===t&&(0,i.jsx)(tk,{selectedElement:a}),(0,i.jsx)("div",{className:"ml-auto flex items-center px-3",children:(0,i.jsx)("button",{type:"button",className:tj,"aria-label":"Done",onClick:s,children:(0,i.jsx)(tf.Z,{className:"h-5 w-5","aria-hidden":!0})})})]})},tN=()=>{var e,t;let a=(0,n.useRef)(null);to(a);let r=(0,tr.l)(e=>e.selectedElement),s=(0,tr.l)(e=>e.setSelectedElement),{editMode:o,canvas:l}=(0,C.hl)(),{textNodes:d}=(0,m._i)(),c=function(e,t){if(t===x.uz.Locked)return"main";if(e&&"string"==typeof e.name&&e.name.startsWith(tl.WAVEFORM_NODE_PREFIX))return"waveform";if(td(e))return"text";let a="string"==typeof(null==e?void 0:e.name)&&e.name.startsWith(tl.IMAGE_LAYER_OBJECT_NAME_PREFIX),i=(null==e?void 0:e.name)===tl.BG_IMAGE_OBJECT_NAME;return e&&(a||i)?"clip":"main"}(r,null!=o?o:x.uz.Editable),[u,p]=(0,n.useState)(null),[h,v]=(0,n.use
1State)(!1),[f,g]=(0,n.useState)(null),b=u?tu[u]:null,y=function(e){if(td(e))return null==e?void 0:e.name}(r),w="text"===c&&y?d.find(e=>e.name===y):void 0;(0,n.useEffect)(()=>{v(!1),g(null),"main"!==c&&p(null)},[c]),(0,n.useEffect)(()=>{"text"!==c&&v(!1)},[c,r]);let j=(0,n.useCallback)(()=>{l instanceof tn.fabric.Canvas&&(l.discardActiveObject(),l.requestRenderAll()),s(void 0,[]),v(!1),g(null)},[l,s]);return(0,i.jsxs)("div",{ref:a,"data-testid":"video-editor-mobile-dock",className:"shrink-0 bg-white pb-[env(safe-area-inset-bottom,0px)]",children:["text"===c&&h&&w&&r&&(0,i.jsx)(tv,{objectName:r.name,currentFontFamily:null!==(e=w.fontFamily)&&void 0!==e?e:"Open Sans",currentFontSize:null!==(t=w.fontSize)&&void 0!==t?t:24}),"main"!==c&&r&&(0,i.jsx)(tE,{mode:c,selectedElement:r,activeFontTray:h,onFontTrayToggle:()=>v(e=>!e),onDone:j,activeWaveformTab:f,onWaveformTabChange:g}),"main"===c&&(null==b?void 0:b.body)!=null&&(0,i.jsx)(tx,{title:b.label,children:b.body}),"main"===c&&(0,i.jsx)(tp,{openToolId:u,onOpenTool:p})]})},tS=()=>{let e=(0,n.useRef)(null);to(e);let[t,a]=(0,n.useState)(!1),{play:r,pause:s,seek:o,isPlaying:l,mediaType:d,loop:u,setLoop:m}=(0,c.r)(),p=(0,e$.S)(e=>e.duration),x=(0,e$.S)(e=>e.currentTime);return(0,i.jsxs)("div",{ref:e,"data-testid":"video-editor-mobile-timeline","data-expanded":t?"true":"false",className:"flex shrink-0 flex-col border-t border-gray-200 bg-white",children:[(0,i.jsxs)("div",{className:"flex h-12 shrink-0 items-center gap-3 px-3",children:[(0,i.jsx)("span",{className:"w-10 text-right font-mono text-xs font-medium text-gray-700 tabular-nums",children:(0,e5.c)(x)}),(0,i.jsx)(e8.K,{size:"phone",isPlaying:l,canPlay:!!d,loop:u,onTogglePlay:()=>l?s():r(),onGoToStart:()=>o(0),onToggleLoop:()=>m(!u)}),(0,i.jsx)("span",{className:"w-10 font-mono text-xs text-gray-400 tabular-nums",children:(0,e5.c)(p)}),(0,i.jsx)("button",{type:"button",className:"ml-auto flex h-8 items-center rounded px-2 text-xs font-medium text-gray-700 hover:bg-gray-100","aria-label":t?"Collapse timeline":"Expand timeline","aria-expanded":t,onClick:()=>a(e=>!e),children:t?"Collapse":"Expand"})]}),t&&(0,i.jsx)(e4,{})]})},tC=S()(()=>Promise.all([a.e(7550),a.e(3761),a.e(6434)]).then(a.bind(a,53761)).then(e=>e.EditorCanvas),{loadableGenerated:{webpack:()=>[53761]},loading:()=>(0,i.jsx)(I.p,{}),ssr:!1}),tT=()=>{let e=(0,T.d)(),t=(0,n.useRef)(null),{setCanvas:a,editMode:r}=(0,C.hl)();return(0,M.U)(t,30,900,0,0),(0,i.jsxs)("div",{className:"flex h-[calc(100dvh-0px)] min-h-0 flex-col bg-gray-50","data-testid":"video-editor",children:[(0,i.jsx)(tt,{}),(0,i.jsx)(A.c,{variant:"video"}),(0,i.jsxs)("div",{className:"flex min-h-0 flex-1 flex-row",children:[!0!==e&&(0,i.jsx)("div",{className:"hidden min-h-0 lg:flex",children:(0,i.jsx)(eK,{})}),(0,i.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,i.jsxs)("main",{ref:t,"data-canvas-host":"video-document",className:"relative flex min-h-0 flex-1 flex-col items-center justify-center overflow-hidden bg-gray-100 px-2 pt-2",children:[r!==x.uz.Locked&&!1===e&&(0,i.jsx)(_.p,{}),(0,i.jsx)(tC,{setCanvas:a,isMobile:e,static:r===x.uz.Locked})]}),!0!==e&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"hidden shrink-0 lg:block",children:(0,i.jsx)(e9,{})}),(0,i.jsx)("div",{className:"hidden shrink-0 lg:block",children:(0,i.jsx)(e4,{})})]}),!1!==e&&(0,i.jsx)("div",{className:"lg:hidden",children:(0,i.jsx)(tS,{})})]})]}),!1!==e&&(0,i.jsx)("div",{className:"lg:hidden",children:(0,i.jsx)(tN,{})}),ta.featureFlags.videoSourceUpload&&(0,i.jsx)(ti.W,{})]})},tM=()=>{let{currentTime:e,duration:t,isPlaying:a}=(0,c.r)(),i=(0,e$.S)(e=>e.setTransport);return(0,n.useEffect)(()=>{i({currentTime:e,duration:t,isPlaying:a})},[e,t,a,i]),null},tI=()=>{let e=(0,eJ.useRouter)(),{userDetails:t,status:a}=(0,o.aC)(),{updateEditorState:i,status:r}=(0,m._i)(),s=(0,f.G)(e=>e.loadProject),l=(0,f.G)(e=>e.isLoading),d=(0,f.G)(e=>e.reset),c="string"==typeof e.query.id?e.query.id:void 0,u=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{var i;"loading"!==a&&e.isReady&&s(null!==(i=null==t?void 0:t.uid)&&void 0!==i?i:"anonymous",c).catch(()=>void 0)},[s,a,null==t?void 0:t.uid,c,e.isReady]),(0,n.useEffect)(()=>
1{if(!c){u.current=!1;return}if(l){r!==eP.EditorStatus.LOADING&&(u.current=!0,i({status:eP.EditorStatus.LOADING},!1));return}u.current&&r===eP.EditorStatus.LOADING&&(u.current=!1,i({status:eP.EditorStatus.LOADED},!1))},[r,l,c,i]),(0,n.useEffect)(()=>()=>{d()},[d]),null},t_=()=>{let{duration:e}=(0,c.r)(),t=(0,f.G)(e=>e.document),a=(0,f.G)(e=>e.setPrimaryMediaDurationMs);return(0,n.useEffect)(()=>{if(!t||e<=0||!(0,K.H$)(t))return;let i=Math.round(1e3*e);t.durationMs===i||t.durationMs>0&&i<t.durationMs||a(i)},[t,e,a]),null};var tA=a(54073),tB=a.n(tA),tL=a(18149),tR=a.n(tL),tD=a(118),tP=a(62995);let tG=()=>{let e=(0,f.G)(e=>e.document),t=(0,f.G)(e=>e.isLoading),a=(0,tD.r)(e=>e.saveState===tD.S.NOTSAVED),{setSaveState:i}=(0,tD.r)(),r=(0,n.useRef)(null),s=(0,n.useRef)(!1),o=(0,n.useCallback)(async()=>{let e=f.G.getState().document;if(!e||f.G.getState().isLoading||s.current)return;let t=(0,v.G)(e);if(tR()(r.current,t)){i(tD.S.SAVED);return}s.current=!0,i(tD.S.SAVING);try{await (0,v.J)();let e=f.G.getState().document;r.current=e?(0,v.G)(e):t,i(tD.S.SAVED)}catch(e){(0,tP.logError)(e instanceof Error?e:Error(String(e))),i(tD.S.ERRORED)}finally{s.current=!1}},[i]),l=(0,n.useMemo)(()=>tB()(o,800),[o]);return(0,n.useEffect)(()=>()=>l.cancel(),[l]),(0,n.useEffect)(()=>{e&&!t&&l()},[e,t,a,l]),null},tF=()=>{let e=(0,eJ.useRouter)(),t=(0,f.G)(e=>{var t;return null===(t=e.document)||void 0===t?void 0:t.id}),a="string"==typeof e.query.id?e.query.id:void 0;return(0,n.useEffect)(()=>{e.isReady&&t&&a!==t&&e.replace({pathname:e.pathname,query:{...e.query,id:t}},void 0,{shallow:!0})},[t,a,e]),null};var tO=a(64820),tz=a(90204),tW=a(71861);let tV=()=>{let e=(0,f.G)(e=>e.document),{addImageLayer:t,updateImageLayer:a,images:i,canvasAspectRatio:r}=(0,m._i)(),{mediaType:s,videoElement:o}=(0,c.r)(),l=(0,n.useRef)(!1),d=null==e?void 0:e.assets.assets[K.dx];return(0,n.useEffect)(()=>{var e;let n=null==i?void 0:i.find(e=>e.id===tl.SOURCE_VIDEO_LAYER_OBJECT_NAME),o=null!==(e=null==d?void 0:d.url)&&void 0!==e?e:null==n?void 0:n.url;if("video"!==s||!o||(0,tW.x5)(o)){l.current=!1;return}let c=null==i?void 0:i.find(e=>e.id===tl.SOURCE_VIDEO_LAYER_OBJECT_NAME);if(c){l.current=!1,(c.url!==o||"video"!==c.mediaKind)&&a(tl.SOURCE_VIDEO_LAYER_OBJECT_NAME,{url:o,mediaKind:"video"});return}if(l.current)return;l.current=!0;let u=(0,tz.Dg)(r,tO.DEFAULT_NEW_ASSET_IMAGE_ZINDEX);t({id:tl.SOURCE_VIDEO_LAYER_OBJECT_NAME,kind:"asset",mediaKind:"video",url:o,visible:!0,rect:u})},[t,r,i,s,null==d?void 0:d.url,a]),(0,n.useEffect)(()=>{"video"===s&&o&&(o.style.opacity="0",o.style.pointerEvents="none")},[s,o]),null};var tq=a(74591),tU=a(14084),tJ=a(67638);let tZ=()=>{let e=(0,f.G)(e=>e.document),t=(0,f.G)(e=>e.patchDocument),a=(0,tU.s)(e=>{var t,a;return null===(a=e.designDocument)||void 0===a?void 0:null===(t=a.config)||void 0===t?void 0:t.captions}),i=(0,e$.S)(e=>e.currentTime),{captions:r,textNodes:s,updateEditorState:o}=(0,m._i)(),l=(0,n.useRef)(null);return(0,n.useEffect)(()=>{(0,tJ.n)(a)&&JSON.stringify(r)!==JSON.stringify(a)&&o({captions:a},!1)},[r,a,o]),(0,n.useEffect)(()=>{var a;if(!e||!(null==r?void 0:null===(a=r.tracks)||void 0===a?void 0:a.length)||(0,ek.Qo)(e.captionTracks)>0)return;let i=(0,ek.FG)(r);0!==Object.keys(i).length&&t(e=>({...e,captionTracks:i}))},[r,e,t]),(0,n.useEffect)(()=>{var t,a;if(!e||s.some(e=>e.name===ek.QL))return;let i=(0,tq.LQ)(e,s);if(!i)return;let n=null!==(a=null===(t=Object.values(e.captionTracks)[0])||void 0===t?void 0:t.defaultText)&&void 0!==a?a:"";o({textNodes:[...s,{...i,text:n}]})},[e,s,o]),(0,n.useEffect)(()=>{var t,a,n;if(!e||!s.some(e=>e.name===ek.QL))return;let r=(a=e.captionTracks,n=1e3*i,(0,eN.activeCaptionCueFromTracks)(a,n)),d=null!==(t=null==r?void 0:r.text)&&void 0!==t?t:"";if(l.current===d)return;l.current=d;let c=(0,tq.bj)(e,d);o({textNodes:s.map(e=>e.name===ek.QL?{...e,text:c.text,...void 0!==c.fontSize?{fontSize:c.fontSize}:{}}:e)},!1)},[i,e,s,o]),null};var tH=a(17425);let tY=()=>{let{canvas:e}=(0,C.hl)(),t=(0,f.G)(e=>e.document),a=(0,e$.S)(e=>e.currentTime);return(0,n.useEffect)(()=>{if(!e||!t)return;let i=()=>{(0,tH.rc)(e,t,1e3*a),e.requestRenderAll()};return i(),e.on("object:added",i),()=>{e.off("object:added",i)}},[e,a,t]),null};var tQ=a(98521),tX=a(5981);let tK=()=>{let e=(0,f.G)(e=>e.document),t=(0,f.G)(e=>e.isLoading),{resources:a}=(0,k.o0)(),{updateEditorState:i,textNodes:r,images:s,status:o}=(0,m._i)(),l=(0,n.useRef)(null);return(0,n.useEffect)(()=>{var e,t,n,d,c,u,m,p,x,h,v,g,b;let y=f.G.getState().document;if(!y||f.G.getState().isLoading)return;let w=(0,tq.PB)({document:y,resources:a}),j=(0,K.sT)(y),k=(0,tX.Tp)(y),E=JSON.stringify({id:y.id,updatedAt:y.updatedAt,textIds:w.textNodes.map(e=>e.name),imageIds:(null!==(x=w.images)&&void 0!==x?x:[]).map(e=>e.id),imageZ:(null!==(h=w.images)&&void 0!==h?h:[]).map(e=>{var t,a,i;return null!==(i=null!==(a=e.zIndex)&&void 0!==a?a:null===(t=e.rect)||void 0===t?void 0:t.zIndex)&&void 0!==i?i:0}),captionCues:(0,ek.Qo)(y.captionTracks),background:w.background,waveformStyle:w.waveformConfig.style,waveformThickness:w.waveformConfig.thickness,waveformSpace:w.waveformConfig.space,waveformZIndex:null===(t=w.waveforms[0])||void 0===t?void 0:null===(e=t.rect)||void 0===e?void 0:e.zIndex,waveformTrim:null===(n=w.waveforms[0])||void 0===n?void 0:n.trim,waveformCenterImage:null===(c=w.waveforms[0])||void 0===c?void 0:null===(d=c.centerImage)||void 0===d?void 0:d.resourceId,animation:w.animation,waveformLen:null!==(v=null==j?void 0:null===(u=j.waveformData)||void 0===u?void 0:u.length)&&void 0!==v?v:0,waveformHead:null!==(g=null==j?void 0:null===(m=j.waveformData)||void 0===m?void 0:m[0])&&void 0!==g?g:null,layerZIndex:null==k?void 0:k.zIndex});if(l.current===E)return;l.current=E;let N=function(e,t,a){var i,n,r;let s=t.find(e=>e.name===eN.CAPTION_TEXT_NODE_NAME);if(s)return s;let o=a.find(e=>e.name===eN.CAPTION_TEXT_NODE_NAME);if(!o)return;let l=Object.values(e.captionTracks)[0],d=null!==(r=null!==(n=null==l?void 0:l.defaultText)&&void 0!==n?n:null==l?void 0:null===(i=l.cues[0])||void 0===i?void 0:i.text)&&void 0!==r?r:"";return{...o,text:d}}(y,r,w.textNodes),S=N?[...w.textNodes.filter(e=>e.name!==eN.CAPTION_TEXT_NODE_NAME),N]:w.textNodes,C=new Map((null!=s?s:[]).map(e=>[e.id,e])),T=(null!==(b=w.images)&&void 0!==b?b:[]).map(e=>{let t=C.get(e.id);if((null==t?void 0:t.url)&&!e.url){var a;return{...e,url:t.url,resourceId:null!==(a=e.resourceId)&&void 0!==a?a:t.resourceId}}return e});for(let e of null!=s?s:[])!T.some(t=>t.id===e.id)&&(0,tQ.TI)(e)&&T.push(e);let M=function(e){if(e!==eP.EditorStatus.LOADING)return eP.EditorStatus.LOADED}(o);i({textNodes:S,images:T,background:w.background,waveforms:w.waveforms,waveformConfig:w.waveformConfig,animation:w.animation,canvasAspectRatio:w.canvasAspectRatio,soundwaveRect:w.soundwaveRect,...M?{status:M}:{}},!1),ea.$X.setState({waveforms:w.waveforms,selectedWaveformId:null===(p=w.waveforms[0])||void 0===p?void 0:p.id})},[s,r,e,t,a,o,i]),null},t$=()=>{var e,t;let a=(0,f.G)(e=>e.document),i=(0,f.G)(e=>e.isLoading),r=(0,f.G)(e=>e.applyPrimaryMedia),s=(0,tU.s)(e=>e.designDocument),o=null==s?void 0:s.resources,{images:l,updateImageLayer:u}=(0,m._i)(),{setMedia:p,mediaType:x}=(0,c.r)(),{setPlayableURL:h}=(0,d.FI)(),v=(0,n.useRef)(),g=(0,n.useRef)();return(0,n.useEffect)(()=>{var e,t,n,d;if(i||!a)return;let c=null!==(d=(0,K.sT)(a))&&void 0!==d?d:(0,tW.NG)(null!==(n=null==s?void 0:null===(e=s.config)||void 0===e?void 0:e.images)&&void 0!==n?n:l,o,null==s?void 0:null===(t=s.config)||void 0===t?void 0:t.audioFileName);if(!c){v.current=void 0;return}let m=!1;return(async()=>{var e,t,a,i,n,s;let d=await (0,tW.Xi)(c,o);if(m||!d)return;let b=f.G.getState().document,y=(0,K.sT)(b),w=null!==(i=null!==(a=null!==(t=c.durationMs)&&void 0!==t?t:null==y?void 0:y.durationMs)&&void 0!==a?a:null===(e=(0,K.H$)(b))||void 0===e?void 0:e.durationMs)&&void 0!==i?i:b.durationMs;(!y||y.url!==d||(0,tW.x5)(y.url)||y.kind!==c.kind)&&r({assetId:K.dx,
1kind:"video"===c.kind?"video":"audio",url:d,name:null!==(n=c.name)&&void 0!==n?n:"Media",mimeType:c.mimeType,durationMs:w,pathInBucket:null!==(s=c.pathInBucket)&&void 0!==s?s:null==y?void 0:y.pathInBucket});let j=(0,tz.h)(l);(null==j?void 0:j.url)&&(0,tW.x5)(j.url)&&u(tl.SOURCE_VIDEO_LAYER_OBJECT_NAME,{url:d,mediaKind:"video"},!1);let k="video"===c.kind?"video":"audio",E=w&&w>0?w/1e3:void 0;if((v.current!==d||x!==k)&&(p(d,k,E?{durationSeconds:E}:void 0),v.current=d),"video"===c.kind&&o){let e=await (0,tW.th)(o);e&&g.current!==e&&(h(e),g.current=e)}})().catch(()=>void 0),()=>{m=!0}},[r,null==s?void 0:null===(e=s.config)||void 0===e?void 0:e.audioFileName,null==s?void 0:null===(t=s.config)||void 0===t?void 0:t.images,a,l,i,x,o,p,h,u]),null};var t0=a(21571);let t1=e=>{let{children:t}=e,a=(0,t0.g)(),r=(0,eJ.useRouter)(),s=(0,n.useRef)(!1);return((0,n.useEffect)(()=>{if(a.videoEditor){s.current=!1;return}s.current||(s.current=!0,r.replace("/editor").catch(()=>void 0))},[a.videoEditor,r]),a.videoEditor)?(0,i.jsx)(i.Fragment,{children:t}):(0,i.jsx)(I.p,{})},t5=()=>((0,o.aC)(),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s(),{children:(0,i.jsx)("meta",{name:"viewport",content:"initial-scale=1"})}),(0,i.jsx)(E.H,{title:"Video Editor",path:"/video-editor",description:"Create videos with timeline, captions, and sound wave visuals.",type:"other"}),(0,i.jsx)(l.g,{children:(0,i.jsx)(k.bQ,{children:(0,i.jsx)(d.I0,{children:(0,i.jsx)(u,{children:(0,i.jsx)(m.BD,{children:(0,i.jsx)(p.GS,{children:(0,i.jsx)(g,{children:(0,i.jsx)(b.P,{children:(0,i.jsx)(y.G,{children:(0,i.jsxs)(w.EO,{children:[(0,i.jsx)(tI,{}),(0,i.jsx)(tF,{}),(0,i.jsx)(tM,{}),(0,i.jsx)(t_,{}),(0,i.jsx)(tG,{}),(0,i.jsx)(tV,{}),(0,i.jsx)(tZ,{}),(0,i.jsx)(tY,{}),(0,i.jsx)(tK,{}),(0,i.jsx)(t$,{}),(0,i.jsx)(tT,{}),(0,i.jsx)(j.T,{})]})})})})})})})})})})]}));var t2=()=>(0,i.jsx)(t1,{children:(0,i.jsx)(t5,{})})},96205:function(e,t,a){"use strict";a.d(t,{S:function(){return r}});var i=a(43841);let n={duration:0,currentTime:0,zoom:1,isPlaying:!1,tracks:[{id:"media",label:"Media",kind:"media"},{id:"captions",label:"Captions",kind:"captions"},{id:"elements",label:"Elements",kind:"elements"}]},r=(0,i.U)(e=>({...n,setTransport:t=>e(e=>({...e,...t})),setZoom:t=>e({zoom:Math.max(.25,Math.min(8,t))}),setTracks:t=>e({tracks:t}),reset:()=>e(n)}))},15453:function(e,t,a){"use strict";function i(e){if(null==e||""===e)return n(new Date);let t=new Date(String(e));return Number.isNaN(t.getTime())?n(new Date):n(t)}function n(e){let t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(a,"-").concat(i)}function r(e,t){let a=i(e),n=i(null!=t?t:e);return n<a&&(n=a),{datePublished:a,dateModified:n}}a.d(t,{V:function(){return i},h:function(){return r}})},26140:function(e,t,a){"use strict";a.d(t,{Sv:function(){return n},Ww:function(){return r}});var i=a(74304);let n=["beach2","storm","space","night-sky-XGIIg97kC6w","dream","nursery","mountain-sunrise","hydrangea","cotton-candy","stars-in-dark-Q_RBVFFXR","galaxy-4dpAqfTbvKA","looking-up-oMpAz-DN-9I","wave-on-rocks-Z12KkN","london-fog","summer-festival","dusk","cherry-blossom","tiffany-blue","ocean","pastel","vortex","on-cloud-9","angelas-euphoria-spotify","blush","aakashs-red-hots","moving-stars-1m8E6OTLzRk","snowy-mountain-3LXPDYb83MY","aqua","dunes-48bRZya67Po","bahamas","cathleens-dreamland","fantasy","summer-camp","sunrise","sunset","sweet-pea","highlighter","tulip","7up","firecracker","beach","rosebush","forest","grass","hawaiin-punch","periwinkle","lilac","meadow","metallic","natalias-pink-lemonade","rheas-sunny-lake-day","netherlands","citrus","autumn","peaches","pink-sands","retro","chocolate-strawberries","sky","sunshine","tie-dye"],r=e=>{let{src:t,width:a,quality:n}=e,{frontendVersion:r,isDEV:s}=i.feconfig,[o,l]=t.split("?"),d=new URLSearchParams(l||"");d.append("auto","format"),d.append("fit","max"),a&&d.append("w",a.toString()),n&&d.append("q",n.toString()),r&&d.append("v",r),s&&d.append("sandbox","1");let c=s&&!d.get("sandbox")?"http://127.0.0.1:8081":"https://functions.wavevisual.com";return"".concat(c).concat(o,"?").concat(d.toString())}},9223:function(e,t,a){"use strict";a.d(t,{_:function(){return n}});let i=e=>e.startsWith("/")?e:"/".concat(e),n=e=>{let{src:t,width:a,quality:n}=e,r=new URLSearchParams,s=i(t);
1return a&&r.set("width",a.toString()),n&&r.set("quality",n.toString()),"".concat("https://image-server-proxy.wavevisual.workers.dev","/v3").concat(s,"?").concat(r.toString())}},17425:function(e,t,a){"use strict";t.rc=function(e,t,a){!function e(t,a){t.forEach(t=>{t.name&&a(t),e("function"==typeof t.getObjects?t.getObjects():[],a)})}(e.getObjects(),e=>{if(!e.name)return;let n=(0,i.isObjectVisibleAtTime)(t,e.name,a);void 0!==n&&e.visible!==n&&e.set("visible",n)})};let i=a(11080)}},function(e){e.O(0,[3365,8127,2602,648,4738,6660,4232,4838,4280,2510,123,8638,4358,324,6577,9037,2066,6438,3955,258,7639,5114,7319,5665,2817,6930,6867,2523,7303,2888,9774,179],function(){return e(e.s=90605)}),_N_E=e.O()}]);
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.