{"version":3,"sources":["webpack:///./node_modules/@aws-amplify/ui-components/dist/esm-es5/amplify-chatbot.entry.js"],"names":["ChatState","MessageFrom","ChatErrorType","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","__spreadArrays","s","i","il","arguments","r","Array","k","a","j","jl","RECORDER_EXPORT_MIME_TYPE","DEFAULT_EXPORT_SAMPLE_RATE","FFT_SIZE","FFT_MAX_DECIBELS","FFT_MIN_DECIBELS","FFT_SMOOTHING_TIME_CONSTANT","mergeBuffers","bufferArray","recLength","Float32Array","offset","set","downsampleBuffer","buffer","recordSampleRate","exportSampleRate","sampleRateRatio","newLength","Math","round","offsetResult","offsetBuffer","nextOffsetBuffer","accum","count","floatTo16BitPCM","output","input","byteOffset","max","min","setInt16","writeString","view","string","setUint8","charCodeAt","encodeWAV","samples","audioSize","fmtSize","dataSize","totalByteSize","ArrayBuffer","DataView","setUint32","setUint16","exportBuffer","recBuffer","mergedBuffers","downsampledBuffer","encodedWav","audioBlob","Blob","type","logger","AudioRecorder","options","streamBuffer","streamBufferLength","recording","prototype","init","_this","_a","isBrowser","window","AudioContext","webkitAudioContext","audioContext","navigator","mediaDevices","getUserMedia","audio","stream","audioSupported","setupAudioNodes","catch","err_1","sourceNode","processorNode","analyserNode","resume","error","createMediaStreamSource","createScriptProcessor","onaudioprocess","audioProcessingEvent","inputBuffer","getChannelData","analyse","createAnalyser","minDecibels","maxDecibels","smoothingTimeConstant","connect","context","destination","startRecording","onSilence","visualizer","err_2","start","Date","now","stopRecording","clear","play","myBlob","res","rej","fileReader","FileReader","onload","playbackSource","disconnect","createBufferSource","successCallback","buf","onended","errorCallback","err","decodeAudioData","onerror","readAsArrayBuffer","stop","analyser","fftSize","bufferLength","dataArray","Uint8Array","amplitude","time","getByteTimeDomainData","curr_value_time","newtime","elapsedTime","exportWAV","blob","sampleRate","visualize","canvas","Error","getBoundingClientRect","width","height","canvasCtx","getContext","fillStyle","clearRect","draw","fillRect","lineWidth","color","getComputedStyle","document","documentElement","getPropertyValue","strokeStyle","beginPath","sliceWidth","x","moveTo","lineTo","stroke","requestAnimationFrame","amplifyChatbotCss","AmplifyChatbot","class_1","hostRef","clearOnComplete","conversationModeOn","botTitle","CHATBOT_TITLE","voiceEnabled","textEnabled","silenceTime","silenceThreshold","messages","text","chatState","Initial","messageJSX","messageList","map","message","class","from","content","SendingText","SendingVoice","client","Bot","User","chatCompleted","submitHandler","_event","sendTextMessage","componentWillLoad","console","warn","onComplete","validateProps","componentDidRender","element","shadowRoot","querySelector","scrollTop","scrollHeight","botName","welcomeMessage","appendToChat","audioRecorder","setError","Recoverable","data","emit","reset","Unrecoverable","NO_BOT_NAME_ERROR","CHAT_DISABLED_ERROR","handleSubmit","event","preventDefault","handleMicButton","Listening","handleSilence","sendVoiceMessage","handleTextChange","target","handleCancelButton","handleToastClose","errorType","undefined","response","err_3","send","audioInput","interactionsMessage","err_4","dialogState","messageType","inputTranscript","audioStream","listeningFooterJSX","visualization","cancelButton","handleButtonClick","variant","icon","footerJSX","inputPlaceholder","TEXT_INPUT_PLACEHOLDER","VOICE_INPUT_PLACEHOLDER","textInput","placeholder","get","description","handleInputChange","evt","disabled","micButton","sendButton","errorToast","handleClose","render","name","onSubmit","Object","defineProperty","enumerable","configurable","style"],"mappings":"kHAAA,2DA+aIA,EASAC,EAMAC,EA9bJ,oFAAIC,EAAwC,SAAUC,EAASC,EAAYC,EAAGC,GAC1E,SAASC,EAAMC,GAAS,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,GAAE,SAAUI,GAAWA,EAAQD,MAC/F,OAAO,IAAKH,IAAMA,EAAIK,WAAU,SAAUD,EAASE,GAC/C,SAASC,EAAUJ,GAAS,IAAMK,EAAKP,EAAUQ,KAAKN,IAAW,MAAOO,GAAKJ,EAAOI,IACpF,SAASC,EAASR,GAAS,IAAMK,EAAKP,EAAU,SAASE,IAAW,MAAOO,GAAKJ,EAAOI,IACvF,SAASF,EAAKI,GAAUA,EAAOC,KAAOT,EAAQQ,EAAOT,OAASD,EAAMU,EAAOT,OAAOW,KAAKP,EAAWI,GAClGH,GAAMP,EAAYA,EAAUc,MAAMjB,EAASC,GAAc,KAAKU,YAGlEO,EAA4C,SAAUlB,EAASmB,GAC/D,IAAsGC,EAAGC,EAAGC,EAAGC,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPJ,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOK,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEZ,KAAMkB,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOC,OAAUT,EACvJ,SAASM,EAAKI,GAAK,OAAO,SAAUC,GAAK,OAAOxB,EAAK,CAACuB,EAAGC,KACzD,SAASxB,EAAKyB,GACV,GAAIf,EAAG,MAAM,IAAIgB,UAAU,mCAC3B,MAAOZ,EAAG,IACN,GAAIJ,EAAI,EAAGC,IAAMC,EAAY,EAARa,EAAG,GAASd,EAAE,UAAYc,EAAG,GAAKd,EAAE,YAAcC,EAAID,EAAE,YAAcC,EAAEe,KAAKhB,GAAI,GAAKA,EAAEV,SAAWW,EAAIA,EAAEe,KAAKhB,EAAGc,EAAG,KAAKpB,KAAM,OAAOO,EAE3J,OADID,EAAI,EAAGC,IAAGa,EAAK,CAAS,EAARA,EAAG,GAAQb,EAAEjB,QACzB8B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGb,EAAIa,EAAI,MACxB,KAAK,EAAc,OAAXX,EAAEC,QAAgB,CAAEpB,MAAO8B,EAAG,GAAIpB,MAAM,GAChD,KAAK,EAAGS,EAAEC,QAASJ,EAAIc,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKX,EAAEI,IAAIU,MAAOd,EAAEG,KAAKW,MAAO,SACxC,QACI,GAAMhB,EAAIE,EAAEG,OAAML,EAAIA,EAAEiB,OAAS,GAAKjB,EAAEA,EAAEiB,OAAS,MAAkB,IAAVJ,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEX,EAAI,EAAG,SACjG,GAAc,IAAVW,EAAG,MAAcb,GAAMa,EAAG,GAAKb,EAAE,IAAMa,EAAG,GAAKb,EAAE,IAAM,CAAEE,EAAEC,MAAQU,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYX,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIA,EAAIa,EAAI,MAC7D,GAAIb,GAAKE,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIE,EAAEI,IAAIY,KAAKL,GAAK,MACvDb,EAAE,IAAIE,EAAEI,IAAIU,MAChBd,EAAEG,KAAKW,MAAO,SAEtBH,EAAKhB,EAAKkB,KAAKrC,EAASwB,GAC1B,MAAOZ,GAAKuB,EAAK,CAAC,EAAGvB,GAAIS,EAAI,EAAK,QAAUD,EAAIE,EAAI,EACtD,GAAY,EAARa,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE9B,MAAO8B,EAAG,GAAKA,EAAG,QAAK,EAAQpB,MAAM,KAG9E0B,EAAkD,WAClD,IAAK,IAAIC,EAAI,EAAGC,EAAI,EAAGC,EAAKC,UAAUN,OAAQI,EAAIC,EAAID,IAAKD,GAAKG,UAAUF,GAAGJ,OACxE,IAAIO,EAAIC,MAAML,GAAIM,EAAI,EAA3B,IAA8BL,EAAI,EAAGA,EAAIC,EAAID,IACzC,IAAK,IAAIM,EAAIJ,UAAUF,GAAIO,EAAI,EAAGC,EAAKF,EAAEV,OAAQW,EAAIC,EAAID,IAAKF,IAC1DF,EAAEE,GAAKC,EAAEC,GACjB,OAAOJ,GASPM,EAA4B,2BAC5BC,EAA6B,KAC7BC,EAAW,KACXC,GAAoB,GACpBC,GAAoB,GACpBC,EAA8B,IAI9BC,EAAe,SAAUC,EAAaC,GAGtC,IAFA,IAAI9C,EAAS,IAAI+C,aAAaD,GAC1BE,EAAS,EACJnB,EAAI,EAAGA,EAAIgB,EAAYpB,OAAQI,IACpC7B,EAAOiD,IAAIJ,EAAYhB,GAAImB,GAC3BA,GAAUH,EAAYhB,GAAGJ,OAE7B,OAAOzB,GAKPkD,EAAmB,SAAUC,EAAQC,EAAkBC,GACvD,GAAIA,IAAqBD,EACrB,OAAOD,EAEX,IAAIG,EAAkBF,EAAmBC,EACrCE,EAAYC,KAAKC,MAAMN,EAAO1B,OAAS6B,GACvCtD,EAAS,IAAI+C,aAAaQ,GAC1BG,EAAe,EACfC,EAAe,EACnB,MAAOD,EAAe1D,EAAOyB,OAAQ,CAGjC,IAFA,IAAImC,EAAmBJ,KAAKC,OAAOC,EAAe,GAAKJ,GACnDO,EAAQ,EAAGC,EAAQ,EACdjC,EAAI8B,EAAc9B,EAAI+B,GAAoB/B,EAAIsB,EAAO1B,OAAQI,IAClEgC,GAASV,EAAOtB,GAChBiC,IAEJ9D,EAAO0D,GAAgBG,EAAQC,EAC/BJ,IACAC,EAAeC,EAEnB,OAAO5D,GAKP+D,EAAkB,SAAUC,EAAQhB,EAAQiB,GAE5C,IADA,IAAIC,EAAalB,EACRnB,EAAI,EAAGA,EAAIoC,EAAMxC,OAAQI,IAAKqC,GAAc,EAAG,CACpD,IAAItC,EAAI4B,KAAKW,KAAK,EAAGX,KAAKY,IAAI,EAAGH,EAAMpC,KACvCmC,EAAOK,SAASH,EAAYtC,EAAI,EAAQ,MAAJA,EAAiB,MAAJA,GAAY,KAMjE0C,EAAc,SAAUC,EAAMvB,EAAQwB,GACtC,IAAK,IAAI3C,EAAI,EAAGA,EAAI2C,EAAO/C,OAAQI,IAC/B0C,EAAKE,SAASzB,EAASnB,EAAG2C,EAAOE,WAAW7C,KAMhD8C,EAAY,SAAUC,EAASvB,GAI/B,IAAIwB,EAA6B,EAAjBD,EAAQnD,OACpBqD,EAAU,GACVC,EAAW,EAAIF,EACfG,EAAgB,GAAKF,EAAUC,EAE/B5B,EAAS,IAAI8B,YAAYD,GACzBT,EAAO,IAAIW,SAAS/B,GAqBxB,OAhBAmB,EAAYC,EAAM,EAAG,QACrBA,EAAKY,UAAU,EAAGL,EAAUC,GAAU,GACtCT,EAAYC,EAAM,EAAG,QAErBD,EAAYC,EAAM,GAAI,QACtBA,EAAKY,UAAU,GAAIL,EAAU,GAAG,GAChCP,EAAKa,UAAU,GAAI,GAAG,GACtBb,EAAKa,UAAU,GAAI,GAAG,GACtBb,EAAKY,UAAU,GAAI9B,GAAkB,GACrCkB,EAAKY,UAAU,GAAuB,EAAnB9B,GAAsB,GACzCkB,EAAKa,UAAU,GAAI,GAAG,GACtBb,EAAKa,UAAU,GAAI,IAAI,GAEvBd,EAAYC,EAAM,GAAI,QACtBA,EAAKY,UAAU,GAAIN,GAAW,GAC9Bd,EAAgBQ,EAAM,GAAIK,GACnBL,GAUPc,EAAe,SAAUC,EAAWxC,EAAWM,EAAkBC,GACjE,IAAIkC,EAAgB3C,EAAa0C,EAAWxC,GACxC0C,EAAoBtC,EAAiBqC,EAAenC,EAAkBC,GACtEoC,EAAad,EAAUa,EAAmBnC,GAC1CqC,EAAY,IAAIC,KAAK,CAACF,GAAa,CACnCG,KAAMtD,IAEV,OAAOoD,GAEPG,EAAS,IAAI,OAAO,iBACpBC,EAA+B,WAC/B,SAASA,EAAcC,GAEnB7E,KAAK8E,aAAe,GACpB9E,KAAK+E,mBAAqB,EAC1B/E,KAAKgF,WAAY,EACjBhF,KAAK6E,QAAUA,EA2NnB,OArNAD,EAAcK,UAAUC,KAAO,WAC3B,OAAOnH,EAAUiC,UAAM,OAAQ,GAAQ,WACnC,IAAImF,EAAQnF,KACZ,OAAOd,EAAYc,MAAM,SAAUoF,GAC/B,OAAQA,EAAG3F,OACP,KAAK,EACD,OAAK,iBAAgB4F,WACrBC,OAAOC,aACHD,OAAOC,cAAgBD,OAAOE,mBAClCxF,KAAKyF,aAAe,IAAIF,aACjB,CAAC,EAAaG,UAAUC,aACtBC,aAAa,CAAEC,OAAO,IACtB7G,MAAK,SAAU8G,GAChBX,EAAMY,gBAAiB,EACvBZ,EAAMa,gBAAgBF,MAErBG,OAAM,WAEP,OADAd,EAAMY,gBAAiB,EAChBxH,QAAQC,OAAO,+BAZS,CAAC,EAAa,GAczD,KAAK,EAED,OADA4G,EAAG1F,OACI,CAAC,EAAa,GACzB,KAAK,EAED,OADAM,KAAK+F,gBAAiB,EACf,CAAC,EAAcxH,QAAQC,OAAO,2BACzC,KAAK,EAAG,MAAO,CAAC,WAQhCoG,EAAcK,UAAUe,gBAAkB,SAAUF,GAChD,OAAO/H,EAAUiC,UAAM,OAAQ,GAAQ,WACnC,IAAIkG,EAAOC,EAAYC,EAAeC,EAClClB,EAAQnF,KACZ,OAAOd,EAAYc,MAAM,SAAUoF,GAC/B,OAAQA,EAAG3F,OACP,KAAK,EAED,OADA2F,EAAGzF,KAAKa,KAAK,CAAC,EAAG,EAAG,CAAE,IACf,CAAC,EAAaR,KAAKyF,aAAaa,UAC3C,KAAK,EAED,OADAlB,EAAG1F,OACI,CAAC,EAAa,GACzB,KAAK,EAGD,OAFAwG,EAAQd,EAAG1F,OACXiF,EAAO4B,MAAML,GACN,CAAC,EAAa,GACzB,KAAK,EAmBD,OAlBAC,EAAanG,KAAKyF,aAAae,wBAAwBV,GACvDM,EAAgBpG,KAAKyF,aAAagB,sBAAsB,KAAM,EAAG,GACjEL,EAAcM,eAAiB,SAAUC,GACrC,GAAKxB,EAAMH,UAAX,CAEA,IAAIc,EAASa,EAAqBC,YAAYC,eAAe,GAC7D1B,EAAML,aAAatE,KAAK,IAAIqB,aAAaiE,IACzCX,EAAMJ,oBAAsBe,EAAOvF,OACnC4E,EAAM2B,YAEVT,EAAerG,KAAKyF,aAAasB,iBACjCV,EAAaW,YAAcxF,EAC3B6E,EAAaY,YAAc1F,EAC3B8E,EAAaa,sBAAwBzF,EACrC0E,EAAWgB,QAAQd,GACnBA,EAAac,QAAQf,GACrBA,EAAce,QAAQhB,EAAWiB,QAAQC,aACzCrH,KAAKqG,aAAeA,EACb,CAAC,WAW5BzB,EAAcK,UAAUqC,eAAiB,SAAUC,EAAWC,GAC1D,OAAOzJ,EAAUiC,UAAM,OAAQ,GAAQ,WACnC,IAAIoH,EAASK,EACb,OAAOvI,EAAYc,MAAM,SAAUoF,GAC/B,OAAQA,EAAG3F,OACP,KAAK,EACD,GAAIO,KAAKgF,YAAchF,KAAK+F,eACxB,MAAO,CAAC,GACZ/F,KAAKuH,UAAYA,GAAa,aAC9BvH,KAAKwH,WAAaA,GAAc,aAChCJ,EAAUpH,KAAKyF,aACfL,EAAG3F,MAAQ,EACf,KAAK,EAED,OADA2F,EAAGzF,KAAKa,KAAK,CAAC,EAAG,EAAG,CAAE,IACf,CAAC,EAAa4G,EAAQd,UACjC,KAAK,EAED,OADAlB,EAAG1F,OACI,CAAC,EAAa,GACzB,KAAK,EAGD,OAFA+H,EAAQrC,EAAG1F,OACXiF,EAAO4B,MAAMkB,GACN,CAAC,EAAa,GACzB,KAAK,EAGD,OAFAzH,KAAK0H,MAAQC,KAAKC,MAClB5H,KAAKgF,WAAY,EACV,CAAC,WAQ5BJ,EAAcK,UAAU4C,cAAgB,WAC/B7H,KAAK+F,iBAEV/F,KAAKgF,WAAY,IAKrBJ,EAAcK,UAAU6C,MAAQ,WAC5B9H,KAAK6H,gBACL7H,KAAK+E,mBAAqB,EAC1B/E,KAAK8E,aAAe,IAOxBF,EAAcK,UAAU8C,KAAO,SAAU9F,GACrC,IAAIkD,EAAQnF,KACZ,GAAKiC,GAAWjC,KAAK+F,eAArB,CAEA,IAAIiC,EAAS,IAAIvD,KAAK,CAACxC,IACvB,OAAO,IAAI1D,SAAQ,SAAU0J,EAAKC,GAC9B,IAAIC,EAAa,IAAIC,WACrBD,EAAWE,OAAS,WACZlD,EAAMmD,gBACNnD,EAAMmD,eAAeC,aACzBpD,EAAMmD,eAAiBnD,EAAMM,aAAa+C,qBAC1C,IAAIC,EAAkB,SAAUC,GAC5BvD,EAAMmD,eAAerG,OAASyG,EAC9BvD,EAAMmD,eAAenB,QAAQhC,EAAMM,aAAa4B,aAChDlC,EAAMmD,eAAeK,QAAU,WAC3B,OAAOV,KAEX9C,EAAMmD,eAAeZ,MAAM,IAE3BkB,EAAgB,SAAUC,GAC1B,OAAOX,EAAIW,IAEf1D,EAAMM,aAAaqD,gBAAgBX,EAAWrJ,OAAQ2J,EAAiBG,IAE3ET,EAAWY,QAAU,WAAc,OAAOb,KAC1CC,EAAWa,kBAAkBhB,QAMrCpD,EAAcK,UAAUgE,KAAO,WACvBjJ,KAAKsI,gBACLtI,KAAKsI,eAAeW,QAM5BrE,EAAcK,UAAU6B,QAAU,WAC9B,GAAK9G,KAAK+F,eAAV,CAEA,IAAImD,EAAWlJ,KAAKqG,aACpB6C,EAASC,QAAU7H,EACnB,IAAI8H,EAAeF,EAASC,QACxBE,EAAY,IAAIC,WAAWF,GAC3BG,EAAYvJ,KAAK6E,QAAQ0E,UACzBC,EAAOxJ,KAAK6E,QAAQ2E,KACxBN,EAASO,sBAAsBJ,GAC/BrJ,KAAKwH,WAAW6B,EAAWD,GAC3B,IAAK,IAAIzI,EAAI,EAAGA,EAAIyI,EAAczI,IAAK,CAEnC,IAAI+I,EAAkBL,EAAU1I,GAAK,IAAM,GACvC+I,EAAkBH,GAAaG,GAAmB,EAAIH,KACtDvJ,KAAK0H,MAAQC,KAAKC,OAG1B,IAAI+B,EAAUhC,KAAKC,MACfgC,EAAcD,EAAU3J,KAAK0H,MAC7BkC,EAAcJ,GACdxJ,KAAKuH,cAQb3C,EAAcK,UAAU4E,UAAY,SAAU1H,GAE1C,YADyB,IAArBA,IAA+BA,EAAmBd,GAC/CtD,EAAUiC,UAAM,OAAQ,GAAQ,WACnC,IAAIkC,EAAkB4H,EACtB,OAAO5K,EAAYc,MAAM,SAAUoF,GAC/B,OAAKpF,KAAK+F,gBAEV7D,EAAmBlC,KAAKyF,aAAasE,WACrCD,EAAO3F,EAAanE,KAAK8E,aAAc9E,KAAK+E,mBAAoB7C,EAAkBC,GAClFnC,KAAK8H,QACE,CAAC,EAAcgC,IAJX,CAAC,UAQjBlF,EAjOuB,GAmO9BoF,EAAY,SAAUX,EAAWD,EAAca,GAC/C,GAAKA,EAAL,CAEA,IAAK,iBAAgB5E,UACjB,MAAM,IAAI6E,MAAM,mDACpB,IAAI9E,EAAK6E,EAAOE,wBAAyBC,EAAQhF,EAAGgF,MAAOC,EAASjF,EAAGiF,OAEvEJ,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAChB,IAAIC,EAAYL,EAAOM,WAAW,MAClCD,EAAUE,UAAY,QACtBF,EAAUG,UAAU,EAAG,EAAGL,EAAOC,GACjC,IAAIK,EAAO,WACPJ,EAAUK,SAAS,EAAG,EAAGP,EAAOC,GAChCC,EAAUM,UAAY,EACtB,IAAIC,EAAQC,iBAAiBC,SAASC,iBAAiBC,iBAAiB,2BACxEX,EAAUY,YAAeL,GAAmB,KAAVA,EAA2BA,EAAZ,UACjDP,EAAUa,YAGV,IAFA,IAAIC,EAAsB,EAARhB,EAAehB,EAC7BiC,EAAI,EACC1K,EAAI,EAAGA,EAAIyI,GAAgBzI,EAAI,IAAM,EAAGA,IAAK,CAClD,IAAItC,EAAQgL,EAAU1I,GAAK,IACvBtB,EAAKhB,EAAQgM,EAAU,EACjB,IAAN1J,EACA2J,EAAUgB,OAAOD,EAAGhM,GAGpBiL,EAAUiB,OAAOF,EAAGhM,GAExBgM,GAAKD,EAETd,EAAUiB,OAAOtB,EAAOG,MAAOH,EAAOI,OAAS,GAC/CC,EAAUkB,UAGdC,sBAAsBf,KAEtBgB,EAAoB,+6FAGxB,SAAW9N,GACPA,EAAUA,EAAU,WAAa,GAAK,UACtCA,EAAUA,EAAU,aAAe,GAAK,YACxCA,EAAUA,EAAU,eAAiB,GAAK,cAC1CA,EAAUA,EAAU,gBAAkB,GAAK,eAC3CA,EAAUA,EAAU,SAAW,GAAK,SALxC,CAMGA,IAAcA,EAAY,KAG7B,SAAWC,GACPA,EAAY,OAAS,MACrBA,EAAY,QAAU,OAF1B,CAGGA,IAAgBA,EAAc,KAGjC,SAAWC,GACPA,EAAcA,EAAc,eAAiB,GAAK,cAClDA,EAAcA,EAAc,iBAAmB,GAAK,gBAFxD,CAGGA,IAAkBA,EAAgB,KACrC,IAAI6N,EAAgC,WAChC,SAASC,EAAQC,GACb,IAAI1G,EAAQnF,KACZ,eAAiBA,KAAM6L,GAEvB7L,KAAK8L,iBAAkB,EAEvB9L,KAAK+L,oBAAqB,EAE1B/L,KAAKgM,SAAW,OAAaC,cAE7BjM,KAAKkM,cAAe,EAEpBlM,KAAKmM,aAAc,EAEnBnM,KAAKoM,YAAc,KAEnBpM,KAAKqM,iBAAmB,GAExBrM,KAAKsM,SAAW,GAEhBtM,KAAKuM,KAAO,GAEZvM,KAAKwM,UAAY5O,EAAU6O,QAI3BzM,KAAK0M,WAAa,SAAUJ,GACxB,IAAIK,EAAcL,EAASM,KAAI,SAAUC,GAAW,OAAQ,cAAD,CAAG,MAAO,CAAEC,MAAO,UAAYD,EAAQE,MAAQF,EAAQG,YAClH,GAAI7H,EAAMqH,YAAc5O,EAAUqP,aAC9B9H,EAAMqH,YAAc5O,EAAUsP,aAAc,CAE5C,IAAIC,EAAShI,EAAMqH,YAAc5O,EAAUqP,YACrCpP,EAAYuP,IACZvP,EAAYwP,KAClBV,EAAYnM,KAAK,eAAE,MAAO,CAAEsM,MAAO,UAAYK,GAAU,eAAE,MAAO,CAAEL,MAAO,gBAAkBK,GAAU,eAAE,OAAQ,CAAEL,MAAO,aAAe,eAAE,OAAQ,CAAEA,MAAO,eAAiB,eAAE,OAAQ,CAAEA,MAAO,iBAEpM,OAAOH,GAEX3M,KAAKsN,cAAgB,eAAYtN,KAAM,gBAAiB,GA8P5D,OA3PA4L,EAAQ3G,UAAUsI,cAAgB,SAAUC,GACxCxN,KAAKyN,mBAKT7B,EAAQ3G,UAAUyI,kBAAoB,WAElC,GADAC,QAAQC,KAAK,qMACR,QAAmD,oBAA5B,OAAaC,WACrC,MAAM,IAAI3D,MAAM,QAEpBlK,KAAK8N,iBAETlC,EAAQ3G,UAAU8I,mBAAqB,WAEnC,IAAI5O,EAAOa,KAAKgO,QAAQC,WAAWC,cAAc,SACjD/O,EAAKgP,UAAYhP,EAAKiP,cAE1BxC,EAAQ3G,UAAU6I,cAAgB,WAC9B,IAAI3I,EAAQnF,KACZ,GAAKA,KAAKkM,cAAiBlM,KAAKmM,YAI3B,GAAKnM,KAAKqO,QAAV,CAIDrO,KAAKsO,gBACLtO,KAAKuO,aAAavO,KAAKsO,eAAgBzQ,EAAYuP,KAEnDpN,KAAKkM,eACLlM,KAAKwO,cAAgB,IAAI5J,EAAc,CACnC4E,KAAMxJ,KAAKoM,YACX7C,UAAWvJ,KAAKqM,mBAEpBrM,KAAKwO,cAActJ,OAAOe,OAAM,SAAU4C,GACtC1D,EAAMsJ,SAAS5F,EAAK/K,EAAc4Q,iBAI1C,IAAIb,EAAa,SAAUhF,EAAK8F,GAC5BxJ,EAAMmI,cAAcsB,KAAK,CACrBD,KAAMA,EACN9F,IAAKA,IAEL1D,EAAM2G,gBACN3G,EAAM0J,QAGN1J,EAAMqH,UAAY5O,EAAU6O,SAGpC,IACI,OAAaoB,WAAW7N,KAAKqO,QAASR,GAE1C,MAAOhF,GACH7I,KAAKyO,SAAS5F,EAAK/K,EAAcgR,qBAhCjC9O,KAAKyO,SAAS,OAAaM,kBAAmBjR,EAAcgR,oBAJ5D9O,KAAKyO,SAAS,OAAaO,oBAAqBlR,EAAcgR,gBA0CtElD,EAAQ3G,UAAUgK,aAAe,SAAUC,GACvCA,EAAMC,iBACNnP,KAAKyN,mBAET7B,EAAQ3G,UAAUmK,gBAAkB,WAChC,IAAIjK,EAAQnF,KACRA,KAAKwM,YAAc5O,EAAU6O,UAEjCzM,KAAKwO,cAAcvF,OACnBjJ,KAAKwM,UAAY5O,EAAUyR,UAC3BrP,KAAKwO,cAAclH,gBAAe,WAAc,OAAOnC,EAAMmK,mBAAoB,SAAUX,EAAMpO,GAAU,OAAO4E,EAAMqC,WAAWmH,EAAMpO,QAE7IqL,EAAQ3G,UAAUqK,cAAgB,WAC9B,IAAInK,EAAQnF,KACZA,KAAKwM,UAAY5O,EAAUsP,aAC3BlN,KAAKwO,cAAc3G,gBACnB7H,KAAKwO,cAAc3E,YAAY7K,MAAK,SAAU8K,GAC1C3E,EAAMoK,iBAAiBzF,OAG/B8B,EAAQ3G,UAAUuK,iBAAmB,SAAUN,GAC3C,IAAIO,EAASP,EAAMO,OACnBzP,KAAKuM,KAAOkD,EAAOpR,OAEvBuN,EAAQ3G,UAAUyK,mBAAqB,WACnC1P,KAAKwO,cAAc1G,QACnB9H,KAAKwM,UAAY5O,EAAU6O,SAE/Bb,EAAQ3G,UAAU0K,iBAAmB,SAAUC,GAC3C5P,KAAKuG,WAAQsJ,EAETD,IAAc9R,EAAc4Q,cAC5B1O,KAAKwM,UAAY5O,EAAU6O,UAMnCb,EAAQ3G,UAAUuC,WAAa,SAAU6B,EAAWD,GAChD,IAAIa,EAASjK,KAAKgO,QAAQC,WAAWC,cAAc,UACnDlE,EAAUX,EAAWD,EAAca,IAKvC2B,EAAQ3G,UAAUwI,gBAAkB,WAChC,OAAO1P,EAAUiC,UAAM,OAAQ,GAAQ,WACnC,IAAIuM,EAAMuD,EAAUC,EACpB,OAAO7Q,EAAYc,MAAM,SAAUoF,GAC/B,OAAQA,EAAG3F,OACP,KAAK,EACD,GAAyB,IAArBO,KAAKuM,KAAKhM,QAAgBP,KAAKwM,YAAc5O,EAAU6O,QACvD,MAAO,CAAC,GACZF,EAAOvM,KAAKuM,KACZvM,KAAKuM,KAAO,GACZvM,KAAKuO,aAAahC,EAAM1O,EAAYwP,MACpCrN,KAAKwM,UAAY5O,EAAUqP,YAC3B7H,EAAG3F,MAAQ,EACf,KAAK,EAED,OADA2F,EAAGzF,KAAKa,KAAK,CAAC,EAAG,EAAG,CAAE,IACf,CAAC,EAAa,OAAawP,KAAKhQ,KAAKqO,QAAS9B,IACzD,KAAK,EAED,OADAuD,EAAW1K,EAAG1F,OACP,CAAC,EAAa,GACzB,KAAK,EAGD,OAFAqQ,EAAQ3K,EAAG1F,OACXM,KAAKyO,SAASsB,EAAOjS,EAAc4Q,aAC5B,CAAC,GACZ,KAAK,EAKD,OAJIoB,EAASjD,SACT7M,KAAKuO,aAAauB,EAASjD,QAAShP,EAAYuP,KAEpDpN,KAAKwM,UAAY5O,EAAU6O,QACpB,CAAC,WAK5Bb,EAAQ3G,UAAUsK,iBAAmB,SAAUU,GAC3C,OAAOlS,EAAUiC,UAAM,OAAQ,GAAQ,WACnC,IAAIkQ,EAAqBJ,EAAUK,EAAOC,EACtCjL,EAAQnF,KACZ,OAAOd,EAAYc,MAAM,SAAUoF,GAC/B,OAAQA,EAAG3F,OACP,KAAK,EACDyQ,EAAsB,CAClBlD,QAASiD,EACTpL,QAAS,CACLwL,YAAa,UAGrBjL,EAAG3F,MAAQ,EACf,KAAK,EAED,OADA2F,EAAGzF,KAAKa,KAAK,CAAC,EAAG,EAAG,CAAE,IACf,CAAC,EAAa,OAAawP,KAAKhQ,KAAKqO,QAAS6B,IACzD,KAAK,EAED,OADAJ,EAAW1K,EAAG1F,OACP,CAAC,EAAa,GACzB,KAAK,EAGD,OAFAyQ,EAAQ/K,EAAG1F,OACXM,KAAKyO,SAAS0B,EAAOrS,EAAc4Q,aAC5B,CAAC,GACZ,KAAK,EAMD,OALA1O,KAAKwM,UAAY5O,EAAU6O,QAC3B2D,EAAcN,EAASM,YACnBN,EAASQ,iBACTtQ,KAAKuO,aAAauB,EAASQ,gBAAiBzS,EAAYwP,MAC5DrN,KAAKuO,aAAauB,EAASjD,QAAShP,EAAYuP,KACzC,CAAC,EAAapN,KAAKwO,cACjBzG,KAAK+H,EAASS,aACdvR,MAAK,WAEFmG,EAAM4G,oBACU,cAAhBqE,GACgB,WAAhBA,GACAjL,EAAMqH,YAAc5O,EAAU6O,SAC9BtH,EAAMiK,qBAGTnJ,OAAM,SAAU4C,GAAO,OAAO1D,EAAMsJ,SAAS5F,EAAK/K,EAAc4Q,iBAC7E,KAAK,EAED,OADAtJ,EAAG1F,OACI,CAAC,WAK5BkM,EAAQ3G,UAAUsJ,aAAe,SAAUvB,EAASD,GAChD/M,KAAKsM,SAAW7L,EAAeT,KAAKsM,SAAU,CAC1C,CACIU,QAASA,EACTD,KAAMA,MAOlBnB,EAAQ3G,UAAUwJ,SAAW,SAAUlI,EAAOqJ,GAC1C,IAAI/C,EAA2B,kBAAVtG,EAAqBA,EAAQA,EAAMsG,QACxD7M,KAAKwM,UAAY5O,EAAUsM,MAC3BlK,KAAKuG,MAAQ,CAAEsG,QAASA,EAAS+C,UAAWA,IAEhDhE,EAAQ3G,UAAU4J,MAAQ,WACtB7O,KAAKwM,UAAY5O,EAAU6O,QAC3BzM,KAAKuM,KAAO,GACZvM,KAAKuG,WAAQsJ,EACb7P,KAAKsM,SAAW,GACZtM,KAAKsO,gBACLtO,KAAKuO,aAAavO,KAAKsO,eAAgBzQ,EAAYuP,KACvDpN,KAAKwO,eAAiBxO,KAAKwO,cAAc1G,SAE7C8D,EAAQ3G,UAAUuL,mBAAqB,WACnC,IAAIrL,EAAQnF,KACRyQ,EAAgB,eAAE,SAAU,CAAEpG,OAAQ,OACtCqG,EAAgB,cAAD,CAAG,iBAAkB,CAAE,YAAa,wBAAyBC,kBAAmB,WAAc,OAAOxL,EAAMuK,sBAAyB5C,MAAO,cAAe8D,QAAS,OAAQC,KAAM,QACpM,MAAO,CAACJ,EAAeC,IAE3B9E,EAAQ3G,UAAU6L,UAAY,WAC1B,IAAI3L,EAAQnF,KACZ,GAAIA,KAAKwM,YAAc5O,EAAUyR,UAC7B,OAAOrP,KAAKwQ,qBAChB,IAAIO,EAAmB/Q,KAAKmM,YACtB,OAAa6E,uBACb,OAAaC,wBACfC,EAAa,cAAD,CAAG,gBAAiB,CAAEC,YAAa,OAAKC,IAAIL,GAAmBM,YAAa,OAAQC,kBAAmB,SAAUC,GAAO,OAAOpM,EAAMqK,iBAAiB+B,IAASlT,MAAO2B,KAAKuM,KAAMiF,SAAUxR,KAAKwM,YAAc5O,EAAUsM,QAAUlK,KAAKmM,cACnPsF,EAAYzR,KAAKkM,cAAiB,cAAD,CAAG,iBAAkB,CAAE,YAAa,qBAAsByE,kBAAmB,WAAc,OAAOxL,EAAMiK,mBAAsBtC,MAAO,cAAe8D,QAAS,OAAQC,KAAM,aAAcW,SAAUxR,KAAKwM,YAAc5O,EAAUsM,OAC7PlK,KAAKwM,YAAc5O,EAAU6O,UACjCiF,EAAa1R,KAAKmM,aAAgB,cAAD,CAAG,iBAAkB,CAAE,YAAa,sBAAuBW,MAAO,cAAe8D,QAAS,OAAQC,KAAM,OAAQF,kBAAmB,WAAc,OAAOxL,EAAMsI,mBAAsB+D,SAAUxR,KAAKwM,YAAc5O,EAAUsM,OACxPlK,KAAKwM,YAAc5O,EAAU6O,UACrC,MAAO,CAACyE,EAAWO,EAAWC,IAElC9F,EAAQ3G,UAAU0M,WAAa,WAC3B,IAAIxM,EAAQnF,KACZ,GAAKA,KAAKuG,MAAV,CAEA,IAAInB,EAAKpF,KAAKuG,MAAOsG,EAAUzH,EAAGyH,QAAS+C,EAAYxK,EAAGwK,UAC1D,OAAQ,cAAD,CAAG,gBAAiB,CAAE/C,QAAS,OAAKuE,IAAIvE,GAAU+E,YAAa,WAAc,OAAOzM,EAAMwK,iBAAiBC,QAEtHhE,EAAQ3G,UAAU4M,OAAS,WACvB,IAAI1M,EAAQnF,KACZ,OAAQ,cAAD,CAAG,OAAM,KAAM,eAAE,MAAO,CAAE8M,MAAO,mBAAqB,eAAE,OAAQ,CAAEgF,KAAM,UAAY,eAAE,MAAO,CAAEhF,MAAO,SAAU,YAAa,kBAAoB,OAAKsE,IAAIpR,KAAKgM,YAAa,eAAE,MAAO,CAAEc,MAAO,OAAQ,YAAa,gBAAkB9M,KAAK0M,WAAW1M,KAAKsM,WAAY,eAAE,OAAQ,CAAEyF,SAAU,SAAUnT,GAAK,OAAOuG,EAAM8J,aAAarQ,KAAS,eAAE,MAAO,CAAEkO,MAAO,SAAU,YAAa,kBAAoB9M,KAAK8Q,cAAe9Q,KAAK2R,gBAE/aK,OAAOC,eAAerG,EAAQ3G,UAAW,UAAW,CAChDmM,IAAK,WAAc,OAAO,eAAWpR,OACrCkS,YAAY,EACZC,cAAc,IAEXvG,EArSwB,GAuSnCD,EAAeyG,MAAQ1G","file":"js/chunk-2d0f0070.de00aa32.js","sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { r as registerInstance, h, c as createEvent, H as Host, g as getElement } from './index-83f2275b.js';\nimport { Logger, browserOrNode, I18n } from '@aws-amplify/core';\nimport '@aws-amplify/auth';\nimport { T as Translations } from './Translations-108d469f.js';\nimport { c as NO_INTERACTIONS_MODULE_FOUND } from './constants-c8ecaa24.js';\nimport { Interactions } from '@aws-amplify/interactions';\n// AudioRecorder settings\nvar RECORDER_EXPORT_MIME_TYPE = 'application/octet-stream';\nvar DEFAULT_EXPORT_SAMPLE_RATE = 16000;\nvar FFT_SIZE = 2048; // window size in samples for Fast Fourier Transform (FFT)\nvar FFT_MAX_DECIBELS = -10; // maximum power value in the scaling range for the FFT analysis data\nvar FFT_MIN_DECIBELS = -90; // minimum power value in the scaling range for the FFT analysis data\nvar FFT_SMOOTHING_TIME_CONSTANT = 0.85; // averaging constant with the last analysis frame\n/**\n * Merges multiple buffers into one.\n */\nvar mergeBuffers = function (bufferArray, recLength) {\n var result = new Float32Array(recLength);\n var offset = 0;\n for (var i = 0; i < bufferArray.length; i++) {\n result.set(bufferArray[i], offset);\n offset += bufferArray[i].length;\n }\n return result;\n};\n/**\n * Downsamples audio to desired export sample rate.\n */\nvar downsampleBuffer = function (buffer, recordSampleRate, exportSampleRate) {\n if (exportSampleRate === recordSampleRate) {\n return buffer;\n }\n var sampleRateRatio = recordSampleRate / exportSampleRate;\n var newLength = Math.round(buffer.length / sampleRateRatio);\n var result = new Float32Array(newLength);\n var offsetResult = 0;\n var offsetBuffer = 0;\n while (offsetResult < result.length) {\n var nextOffsetBuffer = Math.round((offsetResult + 1) * sampleRateRatio);\n var accum = 0, count = 0;\n for (var i = offsetBuffer; i < nextOffsetBuffer && i < buffer.length; i++) {\n accum += buffer[i];\n count++;\n }\n result[offsetResult] = accum / count;\n offsetResult++;\n offsetBuffer = nextOffsetBuffer;\n }\n return result;\n};\n/**\n * converts raw audio values to 16 bit pcm.\n */\nvar floatTo16BitPCM = function (output, offset, input) {\n var byteOffset = offset;\n for (var i = 0; i < input.length; i++, byteOffset += 2) {\n var s = Math.max(-1, Math.min(1, input[i]));\n output.setInt16(byteOffset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n }\n};\n/**\n * Write given strings in big-endian order.\n */\nvar writeString = function (view, offset, string) {\n for (var i = 0; i < string.length; i++) {\n view.setUint8(offset + i, string.charCodeAt(i));\n }\n};\n/**\n * Encodes raw pcm audio into a wav file.\n */\nvar encodeWAV = function (samples, exportSampleRate) {\n /**\n * WAV file consists of three parts: RIFF header, WAVE subchunk, and data subchunk. We precompute the size of them.\n */\n var audioSize = samples.length * 2; // We use 16-bit samples, so we have (2 * sampleLength) bytes.\n var fmtSize = 24; // Byte size of the fmt subchunk: 24 bytes that the audio information that we'll set below.\n var dataSize = 8 + audioSize; // Byte size of the data subchunk: raw sound data plus 8 bytes for the subchunk descriptions.\n var totalByteSize = 12 + fmtSize + dataSize; // Byte size of the whole file, including the chunk header / descriptor.\n // create DataView object to write byte values into\n var buffer = new ArrayBuffer(totalByteSize); // buffer to write the chunk values in.\n var view = new DataView(buffer);\n /**\n * Start writing the .wav file. We write top to bottom, so byte offset (first numeric argument) increases strictly.\n */\n // RIFF header\n writeString(view, 0, 'RIFF'); // At offset 0, write the letters \"RIFF\"\n view.setUint32(4, fmtSize + dataSize, true); // At offset 4, write the size of fmt and data chunk size combined.\n writeString(view, 8, 'WAVE'); // At offset 8, write the format type \"WAVE\"\n // fmt subchunk\n writeString(view, 12, 'fmt '); //chunkdId 'fmt '\n view.setUint32(16, fmtSize - 8, true); // fmt subchunk size below this value. We set 8 bytes already, so subtract 8 bytes from fmtSize.\n view.setUint16(20, 1, true); // Audio format code, which is 1 for PCM.\n view.setUint16(22, 1, true); // Number of audio channels. We use mono, ie 1.\n view.setUint32(24, exportSampleRate, true); // Sample rate of the audio file.\n view.setUint32(28, exportSampleRate * 2, true); // Data rate, or # of data bytes per second. Since each sample is 2 bytes, this is 2 * sampleRate.\n view.setUint16(32, 2, true); // block align, # of bytes per sample including all channels, ie. 2 bytes.\n view.setUint16(34, 16, true); // bits per sample, ie. 16 bits\n // data subchunk\n writeString(view, 36, 'data'); // write the chunkId 'data'\n view.setUint32(40, audioSize, true); // Audio byte size\n floatTo16BitPCM(view, 44, samples); // raw pcm values then go here.\n return view;\n};\n/**\n * Given arrays of raw pcm audio, downsamples the audio to desired sample rate and encodes it to a wav audio file.\n *\n * @param recBuffer {Float32Array[]} - 2d float array containing the recorded raw audio\n * @param recLength {number} - total length of recorded audio\n * @param recordSampleRate {number} - sample rate of the recorded audio\n * @param exportSampleRate {number} - desired sample rate of the exported file\n */\nvar exportBuffer = function (recBuffer, recLength, recordSampleRate, exportSampleRate) {\n var mergedBuffers = mergeBuffers(recBuffer, recLength);\n var downsampledBuffer = downsampleBuffer(mergedBuffers, recordSampleRate, exportSampleRate);\n var encodedWav = encodeWAV(downsampledBuffer, exportSampleRate);\n var audioBlob = new Blob([encodedWav], {\n type: RECORDER_EXPORT_MIME_TYPE,\n });\n return audioBlob;\n};\nvar logger = new Logger('AudioRecorder');\nvar AudioRecorder = /** @class */ (function () {\n function AudioRecorder(options) {\n // input mic stream is stored in a buffer\n this.streamBuffer = [];\n this.streamBufferLength = 0;\n this.recording = false;\n this.options = options;\n }\n /**\n * This must be called first to enable audio context and request microphone access.\n * Once access granted, it connects all the necessary audio nodes to the context so that it can begin recording or playing.\n */\n AudioRecorder.prototype.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!browserOrNode().isBrowser) return [3 /*break*/, 2];\n window.AudioContext =\n window.AudioContext || window.webkitAudioContext;\n this.audioContext = new AudioContext();\n return [4 /*yield*/, navigator.mediaDevices\n .getUserMedia({ audio: true })\n .then(function (stream) {\n _this.audioSupported = true;\n _this.setupAudioNodes(stream);\n })\n .catch(function () {\n _this.audioSupported = false;\n return Promise.reject('Audio is not supported');\n })];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n this.audioSupported = false;\n return [2 /*return*/, Promise.reject('Audio is not supported')];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Setup audio nodes after successful `init`.\n */\n AudioRecorder.prototype.setupAudioNodes = function (stream) {\n return __awaiter(this, void 0, void 0, function () {\n var err_1, sourceNode, processorNode, analyserNode;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.audioContext.resume()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n err_1 = _a.sent();\n logger.error(err_1);\n return [3 /*break*/, 3];\n case 3:\n sourceNode = this.audioContext.createMediaStreamSource(stream);\n processorNode = this.audioContext.createScriptProcessor(4096, 1, 1);\n processorNode.onaudioprocess = function (audioProcessingEvent) {\n if (!_this.recording)\n return;\n var stream = audioProcessingEvent.inputBuffer.getChannelData(0);\n _this.streamBuffer.push(new Float32Array(stream)); // set to a copy of the stream\n _this.streamBufferLength += stream.length;\n _this.analyse();\n };\n analyserNode = this.audioContext.createAnalyser();\n analyserNode.minDecibels = FFT_MIN_DECIBELS;\n analyserNode.maxDecibels = FFT_MAX_DECIBELS;\n analyserNode.smoothingTimeConstant = FFT_SMOOTHING_TIME_CONSTANT;\n sourceNode.connect(analyserNode);\n analyserNode.connect(processorNode);\n processorNode.connect(sourceNode.context.destination);\n this.analyserNode = analyserNode;\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Start recording audio and listen for silence.\n *\n * @param onSilence {SilenceHandler} - called whenever silence is detected\n * @param visualizer {Visualizer} - called with audio data on each audio process to be used for visualization.\n */\n AudioRecorder.prototype.startRecording = function (onSilence, visualizer) {\n return __awaiter(this, void 0, void 0, function () {\n var context, err_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.recording || !this.audioSupported)\n return [2 /*return*/];\n this.onSilence = onSilence || function () { };\n this.visualizer = visualizer || function () { };\n context = this.audioContext;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, context.resume()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_2 = _a.sent();\n logger.error(err_2);\n return [3 /*break*/, 4];\n case 4:\n this.start = Date.now();\n this.recording = true;\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Pause recording\n */\n AudioRecorder.prototype.stopRecording = function () {\n if (!this.audioSupported)\n return;\n this.recording = false;\n };\n /**\n * Pause recording and clear audio buffer\n */\n AudioRecorder.prototype.clear = function () {\n this.stopRecording();\n this.streamBufferLength = 0;\n this.streamBuffer = [];\n };\n /**\n * Plays given audioStream with audioContext\n *\n * @param buffer {Uint8Array} - audioStream to be played\n */\n AudioRecorder.prototype.play = function (buffer) {\n var _this = this;\n if (!buffer || !this.audioSupported)\n return;\n var myBlob = new Blob([buffer]);\n return new Promise(function (res, rej) {\n var fileReader = new FileReader();\n fileReader.onload = function () {\n if (_this.playbackSource)\n _this.playbackSource.disconnect(); // disconnect previous playback source\n _this.playbackSource = _this.audioContext.createBufferSource();\n var successCallback = function (buf) {\n _this.playbackSource.buffer = buf;\n _this.playbackSource.connect(_this.audioContext.destination);\n _this.playbackSource.onended = function () {\n return res();\n };\n _this.playbackSource.start(0);\n };\n var errorCallback = function (err) {\n return rej(err);\n };\n _this.audioContext.decodeAudioData(fileReader.result, successCallback, errorCallback);\n };\n fileReader.onerror = function () { return rej(); };\n fileReader.readAsArrayBuffer(myBlob);\n });\n };\n /**\n * Stops playing audio if there's a playback source connected.\n */\n AudioRecorder.prototype.stop = function () {\n if (this.playbackSource) {\n this.playbackSource.stop();\n }\n };\n /**\n * Called after each audioProcess. Check for silence and give fft time domain data to visualizer.\n */\n AudioRecorder.prototype.analyse = function () {\n if (!this.audioSupported)\n return;\n var analyser = this.analyserNode;\n analyser.fftSize = FFT_SIZE;\n var bufferLength = analyser.fftSize;\n var dataArray = new Uint8Array(bufferLength);\n var amplitude = this.options.amplitude;\n var time = this.options.time;\n analyser.getByteTimeDomainData(dataArray);\n this.visualizer(dataArray, bufferLength);\n for (var i = 0; i < bufferLength; i++) {\n // Normalize between -1 and 1.\n var curr_value_time = dataArray[i] / 128 - 1.0;\n if (curr_value_time > amplitude || curr_value_time < -1 * amplitude) {\n this.start = Date.now();\n }\n }\n var newtime = Date.now();\n var elapsedTime = newtime - this.start;\n if (elapsedTime > time) {\n this.onSilence();\n }\n };\n /**\n * Encodes recorded buffer to a wav file and exports it to a blob.\n *\n * @param exportSampleRate {number} - desired sample rate of the exported buffer\n */\n AudioRecorder.prototype.exportWAV = function (exportSampleRate) {\n if (exportSampleRate === void 0) { exportSampleRate = DEFAULT_EXPORT_SAMPLE_RATE; }\n return __awaiter(this, void 0, void 0, function () {\n var recordSampleRate, blob;\n return __generator(this, function (_a) {\n if (!this.audioSupported)\n return [2 /*return*/];\n recordSampleRate = this.audioContext.sampleRate;\n blob = exportBuffer(this.streamBuffer, this.streamBufferLength, recordSampleRate, exportSampleRate);\n this.clear();\n return [2 /*return*/, blob];\n });\n });\n };\n return AudioRecorder;\n}());\nvar visualize = function (dataArray, bufferLength, canvas) {\n if (!canvas)\n return;\n if (!browserOrNode().isBrowser)\n throw new Error('Visualization is not supported on non-browsers.');\n var _a = canvas.getBoundingClientRect(), width = _a.width, height = _a.height;\n // need to update the default canvas width and height\n canvas.width = width;\n canvas.height = height;\n var canvasCtx = canvas.getContext('2d');\n canvasCtx.fillStyle = 'white';\n canvasCtx.clearRect(0, 0, width, height);\n var draw = function () {\n canvasCtx.fillRect(0, 0, width, height);\n canvasCtx.lineWidth = 1;\n var color = getComputedStyle(document.documentElement).getPropertyValue('--amplify-primary-color');\n canvasCtx.strokeStyle = !color || color === '' ? '#ff9900' : color; // TODO: try separate css variable\n canvasCtx.beginPath();\n var sliceWidth = (width * 1.0) / bufferLength;\n var x = 0;\n for (var i = 0; i < bufferLength || i % 3 === 0; i++) {\n var value = dataArray[i] / 128.0;\n var y = (value * height) / 2;\n if (i === 0) {\n canvasCtx.moveTo(x, y);\n }\n else {\n canvasCtx.lineTo(x, y);\n }\n x += sliceWidth;\n }\n canvasCtx.lineTo(canvas.width, canvas.height / 2);\n canvasCtx.stroke();\n };\n // Register our draw function with requestAnimationFrame.\n requestAnimationFrame(draw);\n};\nvar amplifyChatbotCss = \".bot .dot{background-color:var(--bot-dot-color)}.user .dot{background-color:var(--user-dot-color)}.dot-flashing{width:2.625rem}.dot-flashing .dot{display:inline-block;width:0.625rem;height:0.625rem;border-radius:10rem;opacity:0.65}.dot-flashing .left{-webkit-animation:dot-flashing 1s infinite alternate;animation:dot-flashing 1s infinite alternate;-webkit-animation-delay:0s;animation-delay:0s}.dot-flashing .middle{margin-left:0.375rem;margin-right:0.375rem;-webkit-animation:dot-flashing 1s infinite linear alternate;animation:dot-flashing 1s infinite linear alternate;-webkit-animation-delay:0.5s;animation-delay:0.5s}.dot-flashing .right{-webkit-animation:dot-flashing 1s infinite alternate;animation:dot-flashing 1s infinite alternate;-webkit-animation-delay:1s;animation-delay:1s}@-webkit-keyframes dot-flashing{0%{opacity:0.65}50%,100%{opacity:0.1}}@keyframes dot-flashing{0%{opacity:0.65}50%,100%{opacity:0.1}}:host{--width:28.75rem;--height:37.5rem;--header-color:var(--amplify-secondary-color);--header-size:var(--amplify-text-lg);--bot-background-color:rgb(230, 230, 230);--bot-text-color:black;--bot-dot-color:var(--bot-text-color);--user-background-color:var(--amplify-blue);--user-text-color:var(--amplify-white);--user-dot-color:var(--user-text-color)}.amplify-chatbot{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;background-color:var(--background-color);border-radius:0.375rem;-webkit-box-shadow:0.0625rem 0rem 0.25rem 0 rgba(0, 0, 0, 0.15);box-shadow:0.0625rem 0rem 0.25rem 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;box-sizing:border-box;font-family:var(--amplify-font-family);margin-bottom:1rem;width:100%;height:var(--height);max-width:var(--width)}@media (min-width: 672px){.amplify-chatbot{width:var(--width)}}.header{padding:1.25rem 0.375rem 1.25rem 0.375rem;color:var(--header-color);font-size:var(--header-size);font-weight:bold;text-align:center;word-wrap:break-word}.body{border-top:0.0625rem solid rgba(0, 0, 0, 0.05);padding:1.5rem 1rem 0 1rem;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-direction:column;flex-direction:column;overflow:auto}.bubble{max-width:100%;padding:0.8em 1.4em;text-align:left;word-wrap:break-word;margin-bottom:0.625rem}.bot{margin-right:auto;background-color:var(--bot-background-color);color:var(--bot-text-color);border-radius:1.5rem 1.5rem 1.5rem 0}.user{margin-left:auto;background-color:var(--user-background-color);color:var(--user-text-color);border-radius:1.5rem 1.5rem 0 1.5rem}.footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-top:0.062rem solid rgba(0, 0, 0, 0.05);padding-right:0.625rem;min-height:3.125rem}.footer amplify-input{--border:none;--margin:0;-ms-flex-positive:1;flex-grow:1}canvas{margin-left:0.625rem;margin-right:0.625rem;-ms-flex-positive:1;flex-grow:1;height:3.125rem}.icon-button{--icon-height:1.25rem;--icon-fill:var(--amplify-primary-color);--padding:0.625rem;--width:auto}\";\n// enum for possible bot states\nvar ChatState;\n(function (ChatState) {\n ChatState[ChatState[\"Initial\"] = 0] = \"Initial\";\n ChatState[ChatState[\"Listening\"] = 1] = \"Listening\";\n ChatState[ChatState[\"SendingText\"] = 2] = \"SendingText\";\n ChatState[ChatState[\"SendingVoice\"] = 3] = \"SendingVoice\";\n ChatState[ChatState[\"Error\"] = 4] = \"Error\";\n})(ChatState || (ChatState = {}));\n// Message types\nvar MessageFrom;\n(function (MessageFrom) {\n MessageFrom[\"Bot\"] = \"bot\";\n MessageFrom[\"User\"] = \"user\";\n})(MessageFrom || (MessageFrom = {}));\n// Error types\nvar ChatErrorType;\n(function (ChatErrorType) {\n ChatErrorType[ChatErrorType[\"Recoverable\"] = 0] = \"Recoverable\";\n ChatErrorType[ChatErrorType[\"Unrecoverable\"] = 1] = \"Unrecoverable\";\n})(ChatErrorType || (ChatErrorType = {}));\nvar AmplifyChatbot = /** @class */ (function () {\n function class_1(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n /** Clear messages when conversation finishes */\n this.clearOnComplete = false;\n /** Continue listening to users after they send the message */\n this.conversationModeOn = false;\n /** Text placed in the top header */\n this.botTitle = Translations.CHATBOT_TITLE;\n /** Whether voice chat is enabled */\n this.voiceEnabled = false;\n /** Whether text chat is enabled */\n this.textEnabled = true;\n /** Amount of silence (in ms) to wait for */\n this.silenceTime = 1500;\n /** Noise threshold between -1 and 1. Anything below is considered a silence. */\n this.silenceThreshold = 0.2;\n /** Messages in current session */\n this.messages = [];\n /** Text input box value */\n this.text = '';\n /** Current app state */\n this.chatState = ChatState.Initial;\n /**\n * Rendering methods\n */\n this.messageJSX = function (messages) {\n var messageList = messages.map(function (message) { return (h(\"div\", { class: \"bubble \" + message.from }, message.content)); });\n if (_this.chatState === ChatState.SendingText ||\n _this.chatState === ChatState.SendingVoice) {\n // if waiting for voice message, show animation on user side because app is waiting for transcript. Else put it on bot side.\n var client = _this.chatState === ChatState.SendingText\n ? MessageFrom.Bot\n : MessageFrom.User;\n messageList.push(h(\"div\", { class: \"bubble \" + client }, h(\"div\", { class: \"dot-flashing \" + client }, h(\"span\", { class: \"dot left\" }), h(\"span\", { class: \"dot middle\" }), h(\"span\", { class: \"dot right\" }))));\n }\n return messageList;\n };\n this.chatCompleted = createEvent(this, \"chatCompleted\", 7);\n }\n // Occurs when user presses enter in input box\n class_1.prototype.submitHandler = function (_event) {\n this.sendTextMessage();\n };\n /**\n * Lifecycle functions\n */\n class_1.prototype.componentWillLoad = function () {\n console.warn('Version `1.x` of Amplify UI has been deprecated and will be removed in a future major version of `aws-amplify`. Please visit https://ui.docs.amplify.aws/ for the current version of Amplify UI.');\n if (!Interactions || typeof Interactions.onComplete !== 'function') {\n throw new Error(NO_INTERACTIONS_MODULE_FOUND);\n }\n this.validateProps();\n };\n class_1.prototype.componentDidRender = function () {\n // scroll to the bottom if necessary\n var body = this.element.shadowRoot.querySelector('.body');\n body.scrollTop = body.scrollHeight;\n };\n class_1.prototype.validateProps = function () {\n var _this = this;\n if (!this.voiceEnabled && !this.textEnabled) {\n this.setError(Translations.CHAT_DISABLED_ERROR, ChatErrorType.Unrecoverable);\n return;\n }\n else if (!this.botName) {\n this.setError(Translations.NO_BOT_NAME_ERROR, ChatErrorType.Unrecoverable);\n return;\n }\n if (this.welcomeMessage)\n this.appendToChat(this.welcomeMessage, MessageFrom.Bot);\n // Initialize AudioRecorder if voice is enabled\n if (this.voiceEnabled) {\n this.audioRecorder = new AudioRecorder({\n time: this.silenceTime,\n amplitude: this.silenceThreshold,\n });\n this.audioRecorder.init().catch(function (err) {\n _this.setError(err, ChatErrorType.Recoverable);\n });\n }\n // Callback function to be called after chat is completed\n var onComplete = function (err, data) {\n _this.chatCompleted.emit({\n data: data,\n err: err,\n });\n if (_this.clearOnComplete) {\n _this.reset();\n }\n else {\n _this.chatState = ChatState.Initial;\n }\n };\n try {\n Interactions.onComplete(this.botName, onComplete);\n }\n catch (err) {\n this.setError(err, ChatErrorType.Unrecoverable);\n }\n };\n /**\n * Handlers\n */\n class_1.prototype.handleSubmit = function (event) {\n event.preventDefault();\n this.sendTextMessage();\n };\n class_1.prototype.handleMicButton = function () {\n var _this = this;\n if (this.chatState !== ChatState.Initial)\n return;\n this.audioRecorder.stop();\n this.chatState = ChatState.Listening;\n this.audioRecorder.startRecording(function () { return _this.handleSilence(); }, function (data, length) { return _this.visualizer(data, length); });\n };\n class_1.prototype.handleSilence = function () {\n var _this = this;\n this.chatState = ChatState.SendingVoice;\n this.audioRecorder.stopRecording();\n this.audioRecorder.exportWAV().then(function (blob) {\n _this.sendVoiceMessage(blob);\n });\n };\n class_1.prototype.handleTextChange = function (event) {\n var target = event.target;\n this.text = target.value;\n };\n class_1.prototype.handleCancelButton = function () {\n this.audioRecorder.clear();\n this.chatState = ChatState.Initial;\n };\n class_1.prototype.handleToastClose = function (errorType) {\n this.error = undefined; // clear error\n // if error is recoverable, reset the app state to initial\n if (errorType === ChatErrorType.Recoverable) {\n this.chatState = ChatState.Initial;\n }\n };\n /**\n * Visualization\n */\n class_1.prototype.visualizer = function (dataArray, bufferLength) {\n var canvas = this.element.shadowRoot.querySelector('canvas');\n visualize(dataArray, bufferLength, canvas);\n };\n /**\n * Interactions helpers\n */\n class_1.prototype.sendTextMessage = function () {\n return __awaiter(this, void 0, void 0, function () {\n var text, response, err_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.text.length === 0 || this.chatState !== ChatState.Initial)\n return [2 /*return*/];\n text = this.text;\n this.text = '';\n this.appendToChat(text, MessageFrom.User);\n this.chatState = ChatState.SendingText;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Interactions.send(this.botName, text)];\n case 2:\n response = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_3 = _a.sent();\n this.setError(err_3, ChatErrorType.Recoverable);\n return [2 /*return*/];\n case 4:\n if (response.message) {\n this.appendToChat(response.message, MessageFrom.Bot);\n }\n this.chatState = ChatState.Initial;\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.sendVoiceMessage = function (audioInput) {\n return __awaiter(this, void 0, void 0, function () {\n var interactionsMessage, response, err_4, dialogState;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n interactionsMessage = {\n content: audioInput,\n options: {\n messageType: 'voice',\n },\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Interactions.send(this.botName, interactionsMessage)];\n case 2:\n response = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_4 = _a.sent();\n this.setError(err_4, ChatErrorType.Recoverable);\n return [2 /*return*/];\n case 4:\n this.chatState = ChatState.Initial;\n dialogState = response.dialogState;\n if (response.inputTranscript)\n this.appendToChat(response.inputTranscript, MessageFrom.User);\n this.appendToChat(response.message, MessageFrom.Bot);\n return [4 /*yield*/, this.audioRecorder\n .play(response.audioStream)\n .then(function () {\n // if conversationMode is on, chat is incomplete, and mic button isn't pressed yet, resume listening.\n if (_this.conversationModeOn &&\n dialogState !== 'Fulfilled' &&\n dialogState !== 'Failed' &&\n _this.chatState === ChatState.Initial) {\n _this.handleMicButton();\n }\n })\n .catch(function (err) { return _this.setError(err, ChatErrorType.Recoverable); })];\n case 5:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.appendToChat = function (content, from) {\n this.messages = __spreadArrays(this.messages, [\n {\n content: content,\n from: from,\n },\n ]);\n };\n /**\n * State control methods\n */\n class_1.prototype.setError = function (error, errorType) {\n var message = typeof error === 'string' ? error : error.message;\n this.chatState = ChatState.Error;\n this.error = { message: message, errorType: errorType };\n };\n class_1.prototype.reset = function () {\n this.chatState = ChatState.Initial;\n this.text = '';\n this.error = undefined;\n this.messages = [];\n if (this.welcomeMessage)\n this.appendToChat(this.welcomeMessage, MessageFrom.Bot);\n this.audioRecorder && this.audioRecorder.clear();\n };\n class_1.prototype.listeningFooterJSX = function () {\n var _this = this;\n var visualization = h(\"canvas\", { height: \"50\" });\n var cancelButton = (h(\"amplify-button\", { \"data-test\": \"chatbot-cancel-button\", handleButtonClick: function () { return _this.handleCancelButton(); }, class: \"icon-button\", variant: \"icon\", icon: \"ban\" }));\n return [visualization, cancelButton];\n };\n class_1.prototype.footerJSX = function () {\n var _this = this;\n if (this.chatState === ChatState.Listening)\n return this.listeningFooterJSX();\n var inputPlaceholder = this.textEnabled\n ? Translations.TEXT_INPUT_PLACEHOLDER\n : Translations.VOICE_INPUT_PLACEHOLDER;\n var textInput = (h(\"amplify-input\", { placeholder: I18n.get(inputPlaceholder), description: \"text\", handleInputChange: function (evt) { return _this.handleTextChange(evt); }, value: this.text, disabled: this.chatState === ChatState.Error || !this.textEnabled }));\n var micButton = this.voiceEnabled && (h(\"amplify-button\", { \"data-test\": \"chatbot-mic-button\", handleButtonClick: function () { return _this.handleMicButton(); }, class: \"icon-button\", variant: \"icon\", icon: \"microphone\", disabled: this.chatState === ChatState.Error ||\n this.chatState !== ChatState.Initial }));\n var sendButton = this.textEnabled && (h(\"amplify-button\", { \"data-test\": \"chatbot-send-button\", class: \"icon-button\", variant: \"icon\", icon: \"send\", handleButtonClick: function () { return _this.sendTextMessage(); }, disabled: this.chatState === ChatState.Error ||\n this.chatState !== ChatState.Initial }));\n return [textInput, micButton, sendButton];\n };\n class_1.prototype.errorToast = function () {\n var _this = this;\n if (!this.error)\n return;\n var _a = this.error, message = _a.message, errorType = _a.errorType;\n return (h(\"amplify-toast\", { message: I18n.get(message), handleClose: function () { return _this.handleToastClose(errorType); } }));\n };\n class_1.prototype.render = function () {\n var _this = this;\n return (h(Host, null, h(\"div\", { class: \"amplify-chatbot\" }, h(\"slot\", { name: \"header\" }, h(\"div\", { class: \"header\", \"data-test\": \"chatbot-header\" }, I18n.get(this.botTitle))), h(\"div\", { class: \"body\", \"data-test\": \"chatbot-body\" }, this.messageJSX(this.messages)), h(\"form\", { onSubmit: function (e) { return _this.handleSubmit(e); } }, h(\"div\", { class: \"footer\", \"data-test\": \"chatbot-footer\" }, this.footerJSX())), this.errorToast())));\n };\n Object.defineProperty(class_1.prototype, \"element\", {\n get: function () { return getElement(this); },\n enumerable: false,\n configurable: true\n });\n return class_1;\n}());\nAmplifyChatbot.style = amplifyChatbotCss;\nexport { AmplifyChatbot as amplify_chatbot };\n"],"sourceRoot":""}