{"version":3,"file":"InteractiveDemoDynamic.8fLP0dcD.mjs","names":["React.useState","React.useRef","React.useCallback","left","_Fragment","p"],"sources":["https:/framerusercontent.com/modules/JvUEsyGHrGXVFInOpNfH/96AbIM519AIFmJWjlsfQ/InteractiveDemoDynamic.js"],"sourcesContent":["function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,AnimatePresence,useMotionValue,useTransform,animate,useAnimation,useScroll,useMotionValueEvent}from\"framer-motion\";import{PlayIcon,ChevronIcon,WandIcon,CircularTickIcon,Cross,PauseIcon}from\"https://framerusercontent.com/modules/TPbdp9CoWVoh7fFhtB2A/cUw3IBhfdcCnqm7zTdJZ/InteractiveDemoIcons.js\";const VIEWS={VOICES:\"VOICES\",PLAYER:\"PLAYER\"};function senGTMInteractionEvent({voiceId,language}){window?.dataLayer?.push({event:\"interaction_event\",event_name:\"audio_player_interaction\",voice:voiceId,language:language,link_url:undefined,selection:undefined,location:undefined});}async function getToken(){try{const response=await fetch(\"https://backend.cartesia.ai/access-token/public\");const json=await response.json();return json.token||null;}catch{return null;}}function generateContextId(){return\"ctx_\"+Math.random().toString(36).slice(2,12);}function base64ToArrayBuffer(base64){const binary_string=atob(base64);const len=binary_string.length;const bytes=new Uint8Array(len);for(let i=0;i<len;i++){bytes[i]=binary_string.charCodeAt(i);}return bytes.buffer;}class Float32AudioBufferQueue{playChunk(float32){const buffer=this.audioContext.createBuffer(1,float32.length,this.sampleRate);buffer.copyToChannel(float32,0);const source=this.audioContext.createBufferSource();source.buffer=buffer;source.connect(this.audioContext.destination);// Determine when to start to keep seamless playback\nconst startAt=Math.max(this.audioContext.currentTime,this.currentTime);source.start(startAt);this.currentTime=startAt+buffer.duration;// Ensure only the *final* scheduled source fires stopCallback\nif(this.lastSource)this.lastSource.onended=null;this.lastSource=source;source.onended=this.stopCallback;}constructor(audioContext,stopCb,sampleRate=44100){_define_property(this,\"audioContext\",void 0);_define_property(this,\"sampleRate\",void 0);_define_property(this,\"currentTime\",void 0);_define_property(this,\"stopCallback\",void 0);_define_property(this,\"lastSource\",null);this.audioContext=audioContext;this.sampleRate=sampleRate;this.currentTime=audioContext.currentTime;this.stopCallback=stopCb;}}function useAudioPlayer(){const[playing,setPlaying]=React.useState(false);const[latestVoiceId,setLatestVoiceId]=React.useState(\"\");const[generationTime,setGenerationTime]=React.useState(0);const[showTimer,setShowTimer]=React.useState(false);const socketRef=React.useRef(null);const audioCtxRef=React.useRef(null);const stopAudio=React.useCallback(()=>{socketRef.current?.close();socketRef.current=null;audioCtxRef.current?.close();audioCtxRef.current=null;setPlaying(false);},[]);const playAudio=React.useCallback(async({transcript,voiceId,language,withTimer})=>{const token=await getToken();if(!token)return;setPlaying(true);const socket=new WebSocket(`wss://api.cartesia.ai/tts/websocket?cartesia_version=2025-04-16&api_key=${token}`);socketRef.current=socket;const audioCtx=new AudioContext({sampleRate:44100});audioCtxRef.current=audioCtx;const queue=new Float32AudioBufferQueue(audioCtx,stopAudio);socket.onopen=()=>{socket.send(JSON.stringify({model_id:\"sonic-2\",transcript,voice:{mode:\"id\",id:voiceId},output_format:{container:\"raw\",encoding:\"pcm_f32le\",sample_rate:44100},context_id:\"ctx_\"+Math.random().toString(36).slice(2,12),language:language}));};let didSetTime=false;socket.onmessage=e=>{const msg=JSON.parse(e.data);if(msg.type===\"chunk\"&&msg.data){if(!didSetTime&&withTimer){setGenerationTime(Number(msg.step_time.toFixed(0)));setShowTimer(true);didSetTime=true;setTimeout(()=>setShowTimer(false),2e3);}queue.playChunk(new Float32Array(base64ToArrayBuffer(msg.data)));}};socket.onerror=stopAudio;senGTMInteractionEvent({voiceId,language});},[stopAudio]);const toggleAudio=({transcript,voiceId,language,withTimer=false})=>{if(playing){stopAudio();if(transcript&&voiceId&&voiceId!==latestVoiceId){playAudio({transcript,voiceId,language,withTimer});setLatestVoiceId(voiceId);}}else if(transcript&&voiceId){playAudio({transcript,voiceId,language,withTimer});setLatestVoiceId(voiceId);}};return{toggleAudio,stopAudio,latestVoiceId,playing,generationTime,showTimer};}function useMediaQuery(width){const[isMobile,setIsMobile]=React.useState(false);React.useEffect(()=>{const mediaQuery=window.matchMedia(`(max-width: ${width}px)`);const updateIsMobile=()=>setIsMobile(mediaQuery.matches);updateIsMobile()// Set initial state\n;mediaQuery.addEventListener(\"change\",updateIsMobile);return()=>mediaQuery.removeEventListener(\"change\",updateIsMobile);},[width]);return isMobile;}const useAudioSession=()=>{React.useEffect(()=>{if(\"audioSession\"in navigator&&navigator.audioSession){const audioSession=navigator.audioSession;try{audioSession.type=\"play-and-record\";}catch{}}},[]);};export function TTSPlayer({voices,defaultTemplates,defaultTranscript}){useAudioSession();const[view,setView]=React.useState(VIEWS.PLAYER);const[showTimePopup,setShowTimePopuo]=React.useState(false);const[transcript,setTranscript]=React.useState(defaultTranscript);const[isUserWritten,setIsUserWritten]=React.useState(false);const[voice,setVoice]=React.useState(voices[0]);const[templates,setTemplates]=React.useState(defaultTemplates.slice(0,3));const[currentTemplateName,setCurrentTemplateName]=React.useState(\"default\");const{toggleAudio,stopAudio,playing,latestVoiceId,generationTime,showTimer}=useAudioPlayer();const onChangeTextArea=value=>{setTranscript(value);setIsUserWritten(true);senGTMInteractionEvent({voiceId:voice.id,language:voice.language});};const updateTemplate=(template,language)=>{// First we set the template name\nsetCurrentTemplateName(template.name);setIsUserWritten(false);// Look if there is translation for that voice or not and set the default or the translated.\nif(template.translatedTranscript&&template.translatedTranscript.length>0){const i18=template.translatedTranscript.find(t=>t.language===language);if(i18&&i18.transcript){// Return and set the transcript and stop execution\nsetTranscript(i18.transcript);return i18.transcript;}}// Return and set the default transcript\nsetTranscript(template.transcript);return template.transcript;};const changeTemplate=selected=>{updateTemplate(selected,voice.language);let names={};templates.forEach(t=>names={...names,[t.name]:true});const restOfTemplates=defaultTemplates.filter(t=>!names[t.name]);const newTemplate=restOfTemplates[Math.floor(Math.random()*restOfTemplates.length)];if(newTemplate){const updatedTemplates=[];templates.forEach(t=>{if(selected.name===t.name){updatedTemplates.push(newTemplate);}else{updatedTemplates.push(t);}});setTemplates(updatedTemplates);}};const getRandomTranscript=()=>{const ftem=defaultTemplates.filter(t=>t.transcript!==transcript);const random=ftem[Math.floor(Math.random()*ftem.length)];updateTemplate(random,voice.language);};const toggleView=()=>{stopAudio();const newView=view===VIEWS.PLAYER?VIEWS.VOICES:VIEWS.PLAYER;setView(newView);};const changeVoice=newVoice=>{setVoice(newVoice);toggleView();// Only check if the transcript need replacement when it's not user written\nif(!isUserWritten){const currentTemplate=defaultTemplates.find(dt=>dt.name===currentTemplateName);if(currentTemplate){updateTemplate(currentTemplate,newVoice.language);}}};const isMobile=useMediaQuery(640);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",position:\"absolute\",left:0,bottom:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",height:60},children:/*#__PURE__*/_jsx(AnimatePresence,{children:showTimer&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:40,scale:.96},animate:{opacity:1,y:60,scale:1},exit:{opacity:0,y:40,scale:.96},transition:{duration:.3,ease:[.175,.885,.32,1.1]},style:{zIndex:1,transformOrigin:\"bottom center\",height:38,borderRadius:60,paddingRight:16,paddingLeft:16,display:\"flex\",alignItems:\"center\",color:\"rgba(245,243,239,0.9)\",background:\"rgba(34,34,34,0.9)\",border:\"1px solid #373737\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",gap:10,fontWeight:500,fontFamily:\"Inter\",fontSize:15,boxShadow:\"0px 564px 158px 0px rgba(0, 0, 0, 0.00), 0px 361px 144px 0px rgba(0, 0, 0, 0.01), 0px 203px 122px 0px rgba(0, 0, 0, 0.04), 0px 90px 90px 0px rgba(0, 0, 0, 0.08), 0px 23px 50px 0px rgba(0, 0, 0, 0.09)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{height:\"10px\",width:\"10px\",borderRadius:\"20px\",flexShrink:0,background:\"#88FFEB\",boxShadow:\"0px 0px 33px 10px rgba(136, 255, 235, 0.25)\"}}),`Generated in ${generationTime}ms`]},\"timer-badge\")})}),/*#__PURE__*/_jsxs(motion.div,{animate:{height:view===VIEWS.VOICES?364:242},transition:{height:{duration:.15}},style:{height:242,display:\"flex\",flexDirection:\"column\",fontFamily:\"Inter\",gap:16,paddingBottom:isMobile?16:32,background:\"rgba(34,34,34,0.9)\",border:\"1px solid #373737\",color:\"white\",width:\"100%\",maxWidth:821,backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",boxShadow:\"0px 564px 158px 0px rgba(0, 0, 0, 0.00), 0px 361px 144px 0px rgba(0, 0, 0, 0.03), 0px 203px 122px 0px rgba(0, 0, 0, 0.11), 0px 90px 90px 0px rgba(0, 0, 0, 0.19), 0px 23px 50px 0px rgba(0, 0, 0, 0.21)\"},children:[/*#__PURE__*/_jsx(AnimatePresence,{initial:false,mode:\"wait\",children:view===VIEWS.PLAYER?/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},style:{paddingTop:isMobile?14:28,paddingLeft:isMobile?16:32,paddingRight:isMobile?16:32,resize:\"none\",width:\"100%\",display:\"flex\",flexDirection:\"column\",flex:1},children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,mode:\"wait\",children:/*#__PURE__*/_jsx(motion.textarea,{value:transcript,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},onChange:e=>onChangeTextArea(e.target.value),placeholder:\"Type something here...\",maxLength:200,style:{opacity:1,resize:\"none\",width:\"100%\",height:\"100%\",background:\"transparent\",color:\"#F5F3EF\",border:\"none\",fontSize:isMobile?16:20,lineHeight:1.5,fontFamily:\"Inter\",padding:0,margin:0,outline:\"none\",boxShadow:\"none\"}},currentTemplateName)})},\"text-area-wrapper\"):/*#__PURE__*/_jsx(ListOfVoices,{setVoice:changeVoice,currentVoiceId:voice.id,toggleAudio:toggleAudio,playing:playing,latestVoiceId:latestVoiceId,isMobile:isMobile,voices:voices})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",paddingRight:isMobile?16:32,position:\"relative\"},children:[/*#__PURE__*/_jsxs(HorizontalScrollBar,{isMobile:isMobile,view:view,children:[/*#__PURE__*/_jsx(WandButton,{onClick:getRandomTranscript,style:{marginLeft:isMobile?16:32}}),isMobile===false&&templates.map(template=>/*#__PURE__*/_jsx(AnimatedTemplateButton,{template:template,onClick:()=>changeTemplate(template)}))]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",position:\"relative\"},children:[isMobile?null:/*#__PURE__*/_jsx(\"div\",{style:{height:32,background:\"#3B3B3B\",minWidth:1,marginLeft:12}}),/*#__PURE__*/_jsx(VoiceSelectorButton,{voice:voice,view:view,onClick:toggleView}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(WriteProgress,{transcript:transcript,view:view}),/*#__PURE__*/_jsx(motion.button,{animate:{background:view===VIEWS.VOICES?\"rgba(245,243,239,0.2)\":\"#F5F3EF\"},whileHover:{opacity:.8},transition:{duration:.15},onClick:()=>view===VIEWS.VOICES?toggleView():toggleAudio({transcript,voiceId:voice.id,language:voice.language,withTimer:true}),style:{justifyContent:\"center\",alignItems:\"center\",display:\"flex\",background:\"#F5F3EF\",borderRadius:\"100%\",width:40,height:40,cursor:\"pointer\",border:\"none\",color:\"#181818\"},children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",initial:false,children:view===VIEWS.VOICES?/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15,ease:\"easeInOut\"},style:{display:\"flex\"},children:/*#__PURE__*/_jsx(Cross,{style:{color:\"#F5F3EF\"}})},\"cross\"):playing?/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},style:{display:\"flex\"},transition:{duration:.15,ease:\"easeInOut\"},children:/*#__PURE__*/_jsx(PauseIcon,{})},\"pause\"):/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},style:{display:\"flex\"},transition:{duration:.15,ease:\"easeInOut\"},children:/*#__PURE__*/_jsx(PlayIcon,{})},\"play\")})})]})]})]})]})]});}function ListOfVoices({setVoice,currentVoiceId,toggleAudio,playing,latestVoiceId,isMobile,voices}){return /*#__PURE__*/_jsxs(motion.div,{className:\"custom-scrollbar\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.15},style:{display:\"flex\",flexDirection:\"column\",flex:1,overflowY:\"scroll\",padding:isMobile?16:32,paddingTop:isMobile?0:16,paddingBottom:32,...isMobile?{WebkitMaskImage:\"linear-gradient(to bottom, transparent 0, black 20px, black calc(100% - 32px), transparent 100%)\",maskImage:\"linear-gradient(to bottom, transparent 0, black 20px, black calc(100% - 32px), transparent 100%)\"}:{WebkitMaskImage:\"linear-gradient(to bottom, transparent 0, black 32px, black calc(100% - 64px), transparent 100%)\",maskImage:\"linear-gradient(to bottom, transparent 0, black 32px, black calc(100% - 64px), transparent 100%)\"},WebkitMaskSize:\"100% 100%\",maskSize:\"100% 100%\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n    .custom-scrollbar::-webkit-scrollbar {\n      width: 6px;\n    }\n\n    .custom-scrollbar::-webkit-scrollbar-thumb {\n      background: rgba(255, 255, 255, 0.1);\n      border-radius: 3px;\n    }\n\n    .custom-scrollbar::-webkit-scrollbar-track {\n      background: transparent;\n    }\n\n    .custom-scrollbar {\n      scrollbar-width: thin;\n      scrollbar-color: rgba(255, 255, 255, 0.1) transparent;\n    }\n  `}),voices.map((voice,index)=>/*#__PURE__*/_jsxs(motion.div,{whileHover:{backgroundColor:\"rgba(255,255,255,0.02)\"},transition:{duration:.15},style:{display:\"flex\",paddingTop:16,paddingBottom:16,alignItems:\"center\",borderBottom:voices.length===index+1?\"1px solid transparent\":\"1px solid #3B3B3B\",position:\"relative\",cursor:\"pointer\"},onClick:()=>setVoice(voice),children:[/*#__PURE__*/_jsx(motion.button,{whileHover:{opacity:.6},transition:{duration:.15},onClick:e=>{e.stopPropagation();toggleAudio({transcript:voice.transcript,voiceId:voice.id,language:voice.language});},style:{position:\"absolute\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",height:32,width:32,border:\"none\",color:\"white\",cursor:\"pointer\",zIndex:2,left:0},children:playing&&latestVoiceId===voice.id?/*#__PURE__*/_jsx(PauseIcon,{style:{minWidth:16}}):/*#__PURE__*/_jsx(PlayIcon,{style:{minWidth:16}})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",width:\"100%\",gap:10,paddingRight:isMobile?68:80,paddingLeft:isMobile?38:46},children:[voice.flag?/*#__PURE__*/_jsx(\"img\",{src:voice.flag,width:24,height:24,style:{borderRadius:48,flexShrink:0,objectFit:\"cover\",overflow:\"hidden\"}}):null,/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",width:\"100%\",flexDirection:isMobile?\"column\":\"row\",alignItems:isMobile?\"start\":\"center\",gap:isMobile?1.5:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"#F5F3EF\",fontSize:isMobile?12:15,width:isMobile?\"auto\":110,fontWeight:500,paddingRight:10,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:voice.name}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",color:\"#F5F3EF\",fontSize:isMobile?12:15,opacity:.5,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:voice.description})]})]}),/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:currentVoiceId===voice.id?/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},style:{position:\"absolute\",right:isMobile?10:12},children:/*#__PURE__*/_jsx(CircularTickIcon,{style:{height:isMobile?16:24,width:isMobile?16:24}})},voice.id):null})]},voice.id))]},\"list-of-voices-wrapper\");}const left=`0%`;const right=`100%`;const leftInset=`20%`;const rightInset=`80%`;const transparent=`#0000`;const opaque=`#000`;function HorizontalScrollBar({children,view,isMobile}){const scrollRef=React.useRef(null);const[canScrollLeft,setCanScrollLeft]=React.useState(false);const[canScrollRight,setCanScrollRight]=React.useState(true);const{scrollXProgress}=useScroll({container:scrollRef});const maskImage=useMotionValue(`linear-gradient(90deg, ${opaque}, ${opaque} ${left}, ${opaque} ${rightInset}, ${transparent})`);useMotionValueEvent(scrollXProgress,\"change\",value=>{if(value===0){setCanScrollLeft(false);animate(maskImage,`linear-gradient(90deg, ${opaque}, ${opaque} ${left}, ${opaque} ${rightInset}, ${transparent})`,{duration:.25});}else if(value>.98){setCanScrollRight(false);animate(maskImage,`linear-gradient(90deg, ${transparent}, ${opaque} ${leftInset}, ${opaque} ${right}, ${opaque})`,{duration:.25});}else if(scrollXProgress.getPrevious()===0||scrollXProgress.getPrevious()>.98){setCanScrollLeft(true);setCanScrollRight(true);animate(maskImage,`linear-gradient(90deg, ${transparent}, ${opaque} ${leftInset}, ${opaque} ${rightInset}, ${transparent})`,{duration:.25});}});const scrollPosition=dir=>{const el=scrollRef.current;if(el){const left=dir===\"start\"?0:el.scrollWidth-el.clientWidth;el.scrollTo({left,behavior:\"smooth\"});}};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:!isMobile&&canScrollLeft&&/*#__PURE__*/_jsx(motion.button,{initial:{opacity:0,x:-5},animate:{opacity:1,x:0},exit:{opacity:0,x:-5},whileHover:{backgroundColor:\"rgba(255,255,255,0.02)\"},transition:{backgroundColor:{duration:.15},duration:.25},onClick:()=>scrollPosition(\"start\"),style:{position:\"absolute\",left:10,zIndex:1,height:24,width:24,flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius:\"100%\",background:\"rgba(255,255,255,0.06)\",backdropFilter:\"blur(1.5px)\",border:\"none\",color:\"#F5F3EF\",cursor:\"pointer\"},children:/*#__PURE__*/_jsx(ChevronIcon,{style:{transform:\"rotate(-90deg)\"}})},\"scroll-left\")}),/*#__PURE__*/_jsxs(motion.div,{ref:scrollRef,className:\"hide-scrollbar\",animate:{opacity:view===VIEWS.VOICES?.4:1},transition:{duration:.15},style:{pointerEvents:view===VIEWS.VOICES?\"none\":\"auto\",display:\"flex\",gap:16,position:\"relative\",overflowX:\"auto\",WebkitOverflowScrolling:\"touch\",paddingRight:24,maskImage,scrollbarWidth:\"none\",msOverflowStyle:\"none\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`.hide-scrollbar::-webkit-scrollbar {display: none;}`}),children]}),!isMobile&&/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:/*#__PURE__*/_jsx(motion.button,{animate:{opacity:canScrollRight?1:0,x:canScrollRight?0:5},whileHover:{backgroundColor:\"rgba(255,255,255,0.02)\"},transition:{backgroundColor:{duration:.15},duration:.25},onClick:()=>scrollPosition(\"end\"),style:{height:24,width:24,flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius:\"100%\",background:\"rgba(255,255,255,0.06)\",backdropFilter:\"blur(1.5px)\",border:\"none\",color:\"#F5F3EF\",cursor:\"pointer\"},children:/*#__PURE__*/_jsx(ChevronIcon,{style:{transform:\"rotate(90deg)\"}})},\"scroll-right\")})]});}function VoiceSelectorButton({voice,view,onClick}){const containerRef=React.useRef(null);const buttonRef=React.useRef(null);const controls=useAnimation();const[measuredWidth,setMeasuredWidth]=React.useState(null);// Measure the width every time template.name changes\nReact.useLayoutEffect(()=>{if(!containerRef.current||!buttonRef.current)return;const container=containerRef.current;const button=buttonRef.current;button.style.width=\"auto\";const newWidth=button.offsetWidth;if(measuredWidth!==null){controls.start({width:newWidth});}setMeasuredWidth(newWidth);},[voice.name]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{display:\"inline-block\"},children:/*#__PURE__*/_jsxs(motion.button,{ref:buttonRef,animate:controls,whileHover:{backgroundColor:\"rgba(255,255,255,0.02)\"},transition:{width:{duration:.25,ease:[.33,1,.68,1]},backgroundColor:{duration:.15}},onClick:onClick,style:{display:\"flex\",alignItems:\"center\",background:\"transparent\",borderRadius:30,color:\"#F5F3EF\",fontSize:15,fontWeight:500,fontFamily:\"Inter\",border:\"1px solid #3B3B3B\",gap:8,paddingRight:8,paddingLeft:8,height:40,marginLeft:20,marginRight:12,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:24,height:24,flexShrink:0,overflow:\"hidden\",borderRadius:\"100%\"},children:voice.flag?/*#__PURE__*/_jsx(\"img\",{src:voice.flag,width:24,height:24,style:{borderRadius:48,flexShrink:0,objectFit:\"cover\",overflow:\"hidden\"}}):null}),/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",whiteSpace:\"nowrap\",textOverflow:\"ellipsis\",maxWidth:60},children:voice.name}),/*#__PURE__*/_jsx(motion.div,{animate:{rotate:view===VIEWS.VOICES?\"0deg\":\"180deg\"},transition:{duration:.15},style:{rotate:\"180deg\",transformOrigin:\"center\"},children:/*#__PURE__*/_jsx(ChevronIcon,{style:{minWidth:16,minHeight:16}})})]})});}function AnimatedTemplateButton({template,onClick}){const containerRef=React.useRef(null);const buttonRef=React.useRef(null);const controls=useAnimation();const[measuredWidth,setMeasuredWidth]=React.useState(null);// Measure the width every time template.name changes\nReact.useLayoutEffect(()=>{if(!containerRef.current||!buttonRef.current)return;const container=containerRef.current;const button=buttonRef.current;button.style.width=\"auto\";const newWidth=button.offsetWidth;if(measuredWidth!==null){controls.start({width:newWidth});}setMeasuredWidth(newWidth);},[template.name]);return /*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:/*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{display:\"inline-block\"},children:/*#__PURE__*/_jsx(motion.button,{ref:buttonRef,animate:controls,whileHover:{backgroundColor:\"rgba(255,255,255,0.02)\"},transition:{width:{duration:.25,ease:[.33,1,.68,1]},backgroundColor:{duration:.15}},style:{display:\"flex\",alignItems:\"center\",background:\"transparent\",borderRadius:30,color:\"#F5F3EF\",fontSize:15,fontWeight:500,fontFamily:\"Inter\",border:\"1px solid #3B3B3B\",paddingRight:16,paddingLeft:16,height:40,whiteSpace:\"nowrap\",cursor:\"pointer\",width:measuredWidth??\"auto\",overflow:\"hidden\"},onClick:onClick,children:/*#__PURE__*/_jsxs(motion.span,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.25,ease:\"easeOut\",delay:.05},style:{display:\"flex\",alignItems:\"center\",gap:6,opacity:1,y:0},children:[template.icon?/*#__PURE__*/_jsx(\"img\",{src:template.icon,width:16,height:16,style:{minWidth:16,minHeight:16}}):null,template.name]},template.name)})})});}function WandButton({onClick,style={}}){const size=40;const strokeWidth=1;const radius=size/2-strokeWidth;const colorSteps=[[\"#6AD6FF\",\"#01A0DC\"],[\"#FF8E8E\",\"#FF3C3C\"],[\"#B48CFF\",\"#7C3AED\"]];const[colorIndex,setColorIndex]=React.useState(0);React.useEffect(()=>{const interval=setInterval(()=>{setColorIndex(prev=>(prev+1)%colorSteps.length);},4e3);return()=>clearInterval(interval);},[]);return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",position:\"relative\",minWidth:size,minHeight:size,...style},children:[/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:`0 0 ${size} ${size}`,fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{position:\"absolute\",top:0,left:0},children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsx(\"pattern\",{id:\"noisePattern\",patternUnits:\"userSpaceOnUse\",width:\"64\",height:\"64\",children:/*#__PURE__*/_jsx(\"image\",{href:\"https://framerusercontent.com/images/yDXSxivrRaXAdUC9UxPMDqXc7cE.png\",x:\"0\",y:\"0\",width:\"64\",height:\"64\"})}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"wandGradient\",x1:\"0%\",y1:\"0%\",x2:\"50%\",y2:\"0%\",children:[/*#__PURE__*/_jsx(motion.stop,{offset:\"0%\",animate:{stopColor:colorSteps[colorIndex][0]},transition:{duration:1.5}}),/*#__PURE__*/_jsx(motion.stop,{offset:\"100%\",animate:{stopColor:colorSteps[colorIndex][1],stopOpacity:0},transition:{duration:1.5}})]})]}),/*#__PURE__*/_jsx(\"circle\",{cx:size/2,cy:size/2,r:radius,stroke:\"#3B3B3B\",strokeWidth:strokeWidth,fill:\"none\"}),/*#__PURE__*/_jsx(\"circle\",{cx:size/2,cy:size/2,r:radius,strokeWidth:strokeWidth,fill:\"none\",stroke:\"url(#noisePattern)\"}),/*#__PURE__*/_jsx(motion.circle,{cx:size/2,cy:size/2,r:radius,stroke:`url(#wandGradient)`,strokeWidth:strokeWidth,fill:\"none\",animate:{rotate:360},opacity:.8,transition:{repeat:Infinity,duration:4,ease:\"linear\"},style:{transformOrigin:\"center\"}})]}),/*#__PURE__*/_jsx(motion.button,{whileHover:{backgroundColor:\"rgba(255,255,255,0.02)\"},transition:{duration:.15},style:{position:\"absolute\",top:0,left:0,width:size,height:size,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\",border:\"none\",borderRadius:\"100%\",color:\"#F5F3EF\",cursor:\"pointer\"},onClick:onClick,children:/*#__PURE__*/_jsx(WandIcon,{})})]});}function WriteProgress({transcript,view}){const radius=23.25;const circumference=2*Math.PI*radius;const progress=useMotionValue(0);const prev=React.useRef(0);React.useEffect(()=>{const next=Math.min(transcript.length/200,1);const distance=Math.abs(next-prev.current);prev.current=next;const controls=animate(progress,next,{duration:distance*.4,ease:\"linear\"});return controls.stop;},[transcript,progress]);const dashOffset=useTransform(progress,p=>circumference*(1-p));return /*#__PURE__*/_jsxs(\"svg\",{width:48,height:48,viewBox:\"0 0 48 48\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{position:\"absolute\",top:-4,left:-4,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"circle\",{cx:24,cy:24,r:radius,stroke:\"#3B3B3B\",strokeWidth:1.5}),/*#__PURE__*/_jsx(motion.circle,{cx:24,cy:24,r:radius,stroke:\"#F5F3EF\",strokeWidth:1.5,fill:\"none\",strokeDasharray:circumference,style:{strokeDashoffset:dashOffset},transform:\"rotate(-90 24 24)\",animate:{opacity:view===VIEWS.VOICES?.1:1},transition:{opacity:{duration:.15}}})]});}addPropertyControls(TTSPlayer,{defaultTranscript:{type:ControlType.String,defaultValue:\"Welcome to Cartesia, it’s great to meet you!\"},voices:{type:ControlType.Array,control:{type:ControlType.Object,controls:{id:{type:ControlType.String},name:{type:ControlType.String},flag:{type:ControlType.Image},description:{type:ControlType.String},language:{type:ControlType.String},transcript:{type:ControlType.String}}},defaultValue:[{id:\"bf0a246a-8642-498a-9950-80c35e9276b5\",name:\"Sophie\",flag:\"\",description:\"A calm, conversational, feminine voice perfect for narration stories or on phone calls\",language:\"en\",transcript:\"It's nice to meet you. Hope you're having a great day\"},{id:\"78ab82d5-25be-4f7d-82b3-7ad64e5b85b2\",name:\"Savannah\",flag:\"\",description:\"A smooth, calm Southern female voice\",language:\"en\",transcript:\"It's nice to meet you. Hope you're having a great day\"},{id:\"6f84f4b8-58a2-430c-8c79-688dad597532\",name:\"Brooke\",flag:\"\",description:\"A friendly and natural American female voice that feels warm, engaging, and easy to listen to in any conversation\",language:\"en\",transcript:\"It's nice to meet you. Hope you're having a great day\"},{id:\"a8a1eb38-5f15-4c1d-8722-7ac0f329727d\",name:\"Amelie\",flag:\"\",description:\"This voice is soft and calm, suited for soothing conversations in French\",language:\"fr\",transcript:\"Ravi de vous rencontrer. J'esp\\xe8re que vous passez une bonne journ\\xe9e.\"},{id:\"5c29d7e3-a133-4c7e-804a-1d9c6dea83f6\",name:\"Marta\",flag:\"\",description:\"A smooth, casual South American Spanish-speaking woman, great for casual conversations.\",language:\"es\",transcript:\"Encantado de conocerte. Espero que est\\xe9s teniendo un gran d\\xeda.\"}]},defaultTemplates:{title:\"Templates\",type:ControlType.Array,control:{type:ControlType.Object,controls:{icon:{type:ControlType.Image},name:{type:ControlType.String},transcript:{type:ControlType.String},translatedTranscript:{type:ControlType.Array,control:{type:ControlType.Object,controls:{language:{type:ControlType.String},transcript:{type:ControlType.String}}}}}},defaultValue:[{icon:\"\",name:\"Make a phone call\",transcript:\"Hello, this is Alex calling regarding our meeting tomorrow. Could we reschedule it for the afternoon instead? Please call me back at 123-456-7890.\"},{icon:\"\",name:\"Tell me a joke\",transcript:\"Why did the scarecrow win an award? Because he was outstanding in his field!\"},{icon:\"\",name:\"Host a podcast\",transcript:\"Welcome to today's episode! We have an exciting guest joining us to discuss the future of artificial intelligence.\"},{icon:\"\",name:\"Schedule an apointment\",transcript:\"I’d like to schedule an appointment for next Monday at 10 AM. Could you confirm if that time is available?\"},{id:5,icon:\"\",name:\"Narrate a story\",transcript:\"Once upon a time, in a faraway kingdom, a brave knight set out on a quest to rescue the lost princess. With sword in hand and courage in his heart, he ventured into the dark forest.\"},{icon:\"\",name:\"Narrate a nature documentary\",transcript:\"In the heart of the dense Amazon rainforest, a jaguar silently stalks its prey. With unmatched agility, it moves through the undergrowth, its eyes fixed on the unsuspecting deer.\"}]}});\nexport const __FramerMetadata__ = {\"exports\":{\"TTSPlayer\":{\"type\":\"reactComponent\",\"name\":\"TTSPlayer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InteractiveDemoDynamic.map"],"mappings":"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"}