{"version":3,"sources":["webpack:///./node_modules/@aws-amplify/ui-components/dist/esm-es5/constants-c8ecaa24.js","webpack:///./node_modules/@aws-amplify/ui-components/dist/esm-es5/Translations-108d469f.js","webpack:///./node_modules/@aws-amplify/ui-components/dist/esm-es5/amplify-chatbot.entry.js"],"names":["USERNAME_SUFFIX","EMAIL_SUFFIX","CODE_SUFFIX","PHONE_SUFFIX","PASSWORD_SUFFIX","COUNTRY_DIAL_CODE_SUFFIX","COUNTRY_DIAL_CODE_DEFAULT","AUTH_SOURCE_KEY","PHONE_EMPTY_ERROR_MESSAGE","NO_AUTH_MODULE_FOUND","NO_STORAGE_MODULE_FOUND","NO_INTERACTIONS_MODULE_FOUND","USER_NOT_SETUP_SOFTWARE_TOKEN_MFA","USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA","AUTH_CHANNEL","UI_AUTH_CHANNEL","TOAST_AUTH_ERROR_EVENT","AUTH_STATE_CHANGE_EVENT","AuthStrings","InteractionsStrings","Translations","Object","assign","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","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","defineProperty","enumerable","configurable","style"],"mappings":"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","file":"js/chunk-005d15c2.3de6512c.js","sourcesContent":["// Dictionaries\n// fieldId constants\nvar USERNAME_SUFFIX = 'username';\nvar EMAIL_SUFFIX = 'email';\nvar CODE_SUFFIX = 'code';\nvar PHONE_SUFFIX = 'phone';\nvar PASSWORD_SUFFIX = 'password';\n// Country Dial Code common constants\nvar COUNTRY_DIAL_CODE_SUFFIX = 'country-dial-code-select';\nvar COUNTRY_DIAL_CODE_DEFAULT = '+1';\n// Auth Keys\nvar AUTH_SOURCE_KEY = 'amplify-auth-source';\n// Error message Common Constants\nvar PHONE_EMPTY_ERROR_MESSAGE = 'Phone number can not be empty';\nvar NO_AUTH_MODULE_FOUND = 'No Auth module found, please ensure @aws-amplify/auth is imported';\nvar NO_STORAGE_MODULE_FOUND = 'No Storage module found, please ensure @aws-amplify/storage is imported';\nvar NO_INTERACTIONS_MODULE_FOUND = 'No Interactions module found, please ensure @aws-amplify/interactions is imported';\n// Select MFA Types Messages\nvar USER_NOT_SETUP_SOFTWARE_TOKEN_MFA = 'User has not set up software token mfa';\nvar USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA = 'User has not verified software token mfa';\n// Hub Events and Channels\nvar AUTH_CHANNEL = 'auth';\nvar UI_AUTH_CHANNEL = 'UI Auth';\nvar TOAST_AUTH_ERROR_EVENT = 'ToastAuthError';\nvar AUTH_STATE_CHANGE_EVENT = 'AuthStateChange';\nexport { AUTH_CHANNEL as A, COUNTRY_DIAL_CODE_SUFFIX as C, EMAIL_SUFFIX as E, NO_AUTH_MODULE_FOUND as N, PHONE_EMPTY_ERROR_MESSAGE as P, TOAST_AUTH_ERROR_EVENT as T, UI_AUTH_CHANNEL as U, AUTH_STATE_CHANGE_EVENT as a, PHONE_SUFFIX as b, NO_INTERACTIONS_MODULE_FOUND as c, NO_STORAGE_MODULE_FOUND as d, USER_NOT_SETUP_SOFTWARE_TOKEN_MFA as e, USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA as f, COUNTRY_DIAL_CODE_DEFAULT as g, AUTH_SOURCE_KEY as h, CODE_SUFFIX as i, PASSWORD_SUFFIX as j, USERNAME_SUFFIX as k };\n","import { AuthErrorStrings } from '@aws-amplify/auth';\nvar AuthStrings;\n(function (AuthStrings) {\n AuthStrings[\"BACK_TO_SIGN_IN\"] = \"Back to Sign In\";\n AuthStrings[\"CHANGE_PASSWORD_ACTION\"] = \"Change\";\n AuthStrings[\"CHANGE_PASSWORD\"] = \"Change Password\";\n AuthStrings[\"CODE_LABEL\"] = \"Verification code\";\n AuthStrings[\"CODE_PLACEHOLDER\"] = \"Enter code\";\n AuthStrings[\"CONFIRM_SIGN_UP_CODE_LABEL\"] = \"Confirmation Code\";\n AuthStrings[\"CONFIRM_SIGN_UP_CODE_PLACEHOLDER\"] = \"Enter your code\";\n AuthStrings[\"CONFIRM_SIGN_UP_HEADER_TEXT\"] = \"Confirm Sign up\";\n AuthStrings[\"CONFIRM_SIGN_UP_LOST_CODE\"] = \"Lost your code?\";\n AuthStrings[\"CONFIRM_SIGN_UP_RESEND_CODE\"] = \"Resend Code\";\n AuthStrings[\"CONFIRM_SIGN_UP_SUBMIT_BUTTON_TEXT\"] = \"Confirm\";\n AuthStrings[\"CONFIRM_SMS_CODE\"] = \"Confirm SMS Code\";\n AuthStrings[\"CONFIRM_TOTP_CODE\"] = \"Confirm TOTP Code\";\n AuthStrings[\"CONFIRM\"] = \"Confirm\";\n AuthStrings[\"CREATE_ACCOUNT_TEXT\"] = \"Create account\";\n AuthStrings[\"EMAIL_LABEL\"] = \"Email Address *\";\n AuthStrings[\"EMAIL_PLACEHOLDER\"] = \"Enter your email address\";\n AuthStrings[\"FORGOT_PASSWORD_TEXT\"] = \"Forgot your password?\";\n AuthStrings[\"LESS_THAN_TWO_MFA_VALUES_MESSAGE\"] = \"Less than two MFA types available\";\n AuthStrings[\"NEW_PASSWORD_LABEL\"] = \"New password\";\n AuthStrings[\"NEW_PASSWORD_PLACEHOLDER\"] = \"Enter your new password\";\n AuthStrings[\"NO_ACCOUNT_TEXT\"] = \"No account?\";\n AuthStrings[\"USERNAME_REMOVE_WHITESPACE\"] = \"Username cannot contain whitespace\";\n AuthStrings[\"PASSWORD_REMOVE_WHITESPACE\"] = \"Password cannot start or end with whitespace\";\n AuthStrings[\"PASSWORD_LABEL\"] = \"Password *\";\n AuthStrings[\"PASSWORD_PLACEHOLDER\"] = \"Enter your password\";\n AuthStrings[\"PHONE_LABEL\"] = \"Phone Number *\";\n AuthStrings[\"PHONE_PLACEHOLDER\"] = \"(555) 555-1212\";\n AuthStrings[\"QR_CODE_ALT\"] = \"qrcode\";\n AuthStrings[\"RESET_PASSWORD_TEXT\"] = \"Reset password\";\n AuthStrings[\"RESET_YOUR_PASSWORD\"] = \"Reset your password\";\n AuthStrings[\"SELECT_MFA_TYPE_HEADER_TEXT\"] = \"Select MFA Type\";\n AuthStrings[\"SELECT_MFA_TYPE_SUBMIT_BUTTON_TEXT\"] = \"Verify\";\n AuthStrings[\"SEND_CODE\"] = \"Send Code\";\n AuthStrings[\"SUBMIT\"] = \"Submit\";\n AuthStrings[\"SETUP_TOTP_REQUIRED\"] = \"TOTP needs to be configured\";\n AuthStrings[\"SIGN_IN_ACTION\"] = \"Sign In\";\n AuthStrings[\"SIGN_IN_HEADER_TEXT\"] = \"Sign in to your account\";\n AuthStrings[\"SIGN_IN_TEXT\"] = \"Sign in\";\n AuthStrings[\"SIGN_IN_WITH_AMAZON\"] = \"Sign in with Amazon\";\n AuthStrings[\"SIGN_IN_WITH_AUTH0\"] = \"Sign in with Auth0\";\n AuthStrings[\"SIGN_IN_WITH_AWS\"] = \"Sign in with AWS\";\n AuthStrings[\"SIGN_IN_WITH_FACEBOOK\"] = \"Sign in with Facebook\";\n AuthStrings[\"SIGN_IN_WITH_GOOGLE\"] = \"Sign in with Google\";\n AuthStrings[\"SIGN_OUT\"] = \"Sign Out\";\n AuthStrings[\"SIGN_UP_EMAIL_PLACEHOLDER\"] = \"Email\";\n AuthStrings[\"SIGN_UP_HAVE_ACCOUNT_TEXT\"] = \"Have an account?\";\n AuthStrings[\"SIGN_UP_HEADER_TEXT\"] = \"Create a new account\";\n AuthStrings[\"SIGN_UP_PASSWORD_PLACEHOLDER\"] = \"Password\";\n AuthStrings[\"SIGN_UP_SUBMIT_BUTTON_TEXT\"] = \"Create Account\";\n AuthStrings[\"SIGN_UP_USERNAME_PLACEHOLDER\"] = \"Username\";\n AuthStrings[\"SKIP\"] = \"Skip\";\n AuthStrings[\"SUCCESS_MFA_TYPE\"] = \"Success! Your MFA Type is now:\";\n AuthStrings[\"TOTP_HEADER_TEXT\"] = \"Scan then enter verification code\";\n AuthStrings[\"TOTP_LABEL\"] = \"Enter Security Code:\";\n AuthStrings[\"TOTP_ISSUER\"] = \"AWSCognito\";\n AuthStrings[\"TOTP_SETUP_FAILURE\"] = \"TOTP Setup has failed\";\n AuthStrings[\"TOTP_SUBMIT_BUTTON_TEXT\"] = \"Verify Security Token\";\n AuthStrings[\"TOTP_SUCCESS_MESSAGE\"] = \"Setup TOTP successfully!\";\n AuthStrings[\"UNABLE_TO_SETUP_MFA_AT_THIS_TIME\"] = \"Failed! Unable to configure MFA at this time\";\n AuthStrings[\"USERNAME_LABEL\"] = \"Username *\";\n AuthStrings[\"USERNAME_PLACEHOLDER\"] = \"Enter your username\";\n AuthStrings[\"VERIFY_CONTACT_EMAIL_LABEL\"] = \"Email\";\n AuthStrings[\"VERIFY_CONTACT_HEADER_TEXT\"] = \"Account recovery requires verified contact information\";\n AuthStrings[\"VERIFY_CONTACT_PHONE_LABEL\"] = \"Phone Number\";\n AuthStrings[\"VERIFY_CONTACT_SUBMIT_LABEL\"] = \"Submit\";\n AuthStrings[\"VERIFY_CONTACT_VERIFY_LABEL\"] = \"Verify\";\n AuthStrings[\"ADDRESS_LABEL\"] = \"Address\";\n AuthStrings[\"ADDRESS_PLACEHOLDER\"] = \"Enter your address\";\n AuthStrings[\"NICKNAME_LABEL\"] = \"Nickname\";\n AuthStrings[\"NICKNAME_PLACEHOLDER\"] = \"Enter your nickname\";\n AuthStrings[\"BIRTHDATE_LABEL\"] = \"Birthday\";\n AuthStrings[\"BIRTHDATE_PLACEHOLDER\"] = \"Enter your birthday\";\n AuthStrings[\"PICTURE_LABEL\"] = \"Picture URL\";\n AuthStrings[\"PICTURE_PLACEHOLDER\"] = \"Enter your picture URL\";\n AuthStrings[\"FAMILY_NAME_LABEL\"] = \"Family Name\";\n AuthStrings[\"FAMILY_NAME_PLACEHOLDER\"] = \"Enter your family name\";\n AuthStrings[\"PREFERRED_USERNAME_LABEL\"] = \"Preferred Username\";\n AuthStrings[\"PREFERRED_USERNAME_PLACEHOLDER\"] = \"Enter your preferred username\";\n AuthStrings[\"GENDER_LABEL\"] = \"Gender\";\n AuthStrings[\"GENDER_PLACEHOLDER\"] = \"Enter your gender\";\n AuthStrings[\"PROFILE_LABEL\"] = \"Profile URL\";\n AuthStrings[\"PROFILE_PLACEHOLDER\"] = \"Enter your profile URL\";\n AuthStrings[\"GIVEN_NAME_LABEL\"] = \"First Name\";\n AuthStrings[\"GIVEN_NAME_PLACEHOLDER\"] = \"Enter your first name\";\n AuthStrings[\"ZONEINFO_LABEL\"] = \"Time zone\";\n AuthStrings[\"ZONEINFO_PLACEHOLDER\"] = \"Enter your time zone\";\n AuthStrings[\"LOCALE_LABEL\"] = \"Locale\";\n AuthStrings[\"LOCALE_PLACEHOLDER\"] = \"Enter your locale\";\n AuthStrings[\"UPDATED_AT_LABEL\"] = \"Updated At\";\n AuthStrings[\"UPDATED_AT_PLACEHOLDER\"] = \"Enter the time the information was last updated\";\n AuthStrings[\"MIDDLE_NAME_LABEL\"] = \"Middle Name\";\n AuthStrings[\"MIDDLE_NAME_PLACEHOLDER\"] = \"Enter your middle name\";\n AuthStrings[\"WEBSITE_LABEL\"] = \"Website\";\n AuthStrings[\"WEBSITE_PLACEHOLDER\"] = \"Enter your website\";\n AuthStrings[\"NAME_LABEL\"] = \"Full Name\";\n AuthStrings[\"NAME_PLACEHOLDER\"] = \"Enter your full name\";\n AuthStrings[\"PHOTO_PICKER_TITLE\"] = \"Picker Title\";\n AuthStrings[\"PHOTO_PICKER_HINT\"] = \"Ancillary text or content may occupy this space here\";\n AuthStrings[\"PHOTO_PICKER_PLACEHOLDER_HINT\"] = \"Placeholder hint\";\n AuthStrings[\"PHOTO_PICKER_BUTTON_TEXT\"] = \"Button\";\n AuthStrings[\"IMAGE_PICKER_TITLE\"] = \"Add Profile Photo\";\n AuthStrings[\"IMAGE_PICKER_HINT\"] = \"Preview the image before upload\";\n AuthStrings[\"IMAGE_PICKER_PLACEHOLDER_HINT\"] = \"Tap to image select\";\n AuthStrings[\"IMAGE_PICKER_BUTTON_TEXT\"] = \"Upload\";\n AuthStrings[\"PICKER_TEXT\"] = \"Pick a file\";\n AuthStrings[\"TEXT_FALLBACK_CONTENT\"] = \"Fallback Content\";\n AuthStrings[\"CONFIRM_SIGN_UP_FAILED\"] = \"Confirm Sign Up Failed\";\n AuthStrings[\"SIGN_UP_FAILED\"] = \"Sign Up Failed\";\n})(AuthStrings || (AuthStrings = {}));\nvar InteractionsStrings;\n(function (InteractionsStrings) {\n InteractionsStrings[\"CHATBOT_TITLE\"] = \"ChatBot Lex\";\n InteractionsStrings[\"TEXT_INPUT_PLACEHOLDER\"] = \"Write a message\";\n InteractionsStrings[\"VOICE_INPUT_PLACEHOLDER\"] = \"Click mic to speak\";\n InteractionsStrings[\"CHAT_DISABLED_ERROR\"] = \"Error: Either voice or text must be enabled for the chatbot\";\n InteractionsStrings[\"NO_BOT_NAME_ERROR\"] = \"Error: Bot name must be provided to ChatBot\";\n})(InteractionsStrings || (InteractionsStrings = {}));\nvar Translations = Object.assign(Object.assign(Object.assign({}, AuthStrings), AuthErrorStrings), InteractionsStrings);\nexport { Translations as T };\n","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 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":""}