@snf/access-qa-bot 0.3.0 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"access-qa-bot.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/react-chatbotify/dist/index.js","../src/components/QABot.js","../src/App.js","../src/web-component.js","../src/lib.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import \"./style.css\";\nimport { jsxs as j, jsx as l, Fragment as nA } from \"react/jsx-runtime\";\nimport * as G from \"react\";\nimport { forwardRef as uA, createContext as bA, useContext as QA, Fragment as WA, useRef as $, useState as T, useCallback as M, useEffect as X, isValidElement as fe, createElement as se, useMemo as PA } from \"react\";\nimport Ue from \"react-dom/server\";\nconst J = {\n AUDIO_BUTTON: \"audio-button\",\n NOTIFICATION_BUTTON: \"notification-button\",\n CLOSE_CHAT_BUTTON: \"close-chat-button\",\n SEND_MESSAGE_BUTTON: \"send-button\",\n VOICE_MESSAGE_BUTTON: \"voice-button\",\n FILE_ATTACHMENT_BUTTON: \"file-attachment-button\",\n EMOJI_PICKER_BUTTON: \"emoji-button\"\n}, Fe = \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2042%2042'%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:4'%20d='M17%209a8%208%200%200%201-8%208%208%208%200%200%201-8-8%208%208%200%200%201%208-8%208%208%200%200%201%208%208Zm0%200'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:10'%20d='M14.66%2014.66%203.34%203.34'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3c/svg%3e\", re = \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%201000%201000'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-99%20362)%20scale(3.4003)'/%3e%3cpath%20d='M0%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(180%20106%20386)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-46%20282)%20scale(3.4003)'/%3e%3cpath%20d='M19%2065h4l5%204v1H14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-3%20240)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(236%20175)%20scale(3.4003)'/%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20139%20600)%20scale(3.4003)'/%3e%3cpath%20d='M184%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20219%20548)%20scale(3.4003)'/%3e%3cpath%20d='M175%2065h4l5%204v1h-14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20262%20505)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(767%20175)%20scale(3.4003)'/%3e%3crect%20width='116.7'%20height='70'%20x='-58.4'%20y='-35'%20rx='31.5'%20ry='31.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20877)%20scale(3.4003)'/%3e%3crect%20width='60'%20height='20'%20x='-30'%20y='-10'%20rx='3'%20ry='3'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='translate(502%20728)%20scale(3.4003)'/%3e%3ccircle%20r='75'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20473)%20scale(3.4003)'/%3e%3crect%20width='129.4'%20height='82.3'%20x='-64.7'%20y='-41.1'%20rx='37'%20ry='37'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23fff;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3crect%20width='108'%20height='68.6'%20x='-54'%20y='-34.3'%20rx='30.9'%20ry='30.9'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(415%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(591%20464)%20scale(3.4003)'/%3e%3crect%20width='96'%20height='53.2'%20x='-48'%20y='-26.6'%20rx='23.9'%20ry='23.9'%20style='stroke:%23162334;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(503%20875)%20scale(3.4003)'/%3e%3cpath%20stroke-linecap='round'%20d='m68%20215%207-15M81%20222l-7-22M81%20222l7-14M101%20208H87M114%20219l-7-24M113%20219l13-22M131%20214l-5-17M148%20214h-18M69%20214H51M100%20209l7-15'%20style='stroke:%23a478fc;stroke-width:3;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:10;is-custom-font:none;font-file-url:none;fill:none;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3c/g%3e%3c/svg%3e\", Re = \"data:image/svg+xml,%3csvg%20width='140'%20height='140'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cy='60.044'%20cx='70'%20fill='%235c5c5c'%20r='29'/%3e%3cpath%20d='m16.36%20156.186-.01-30.5c-.005-16.844%2024.168-30.507%2053.991-30.516%2029.823-.009%2054.004%2013.64%2054.01%2030.484l.008%2030.5-108%20.032z'%20fill='%235c5c5c'/%3e%3c/svg%3e\", je = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 0 637 637\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"m478 113-13 2-4 1h4l14-2c10-2 35-2 42-1l6 3 3 1c3 0-4-3-8-5-7-1-34-1-44 1m56 6 8 6c7 5 20 17 20 19s7 12 8 12l-3-6-4-6c0-3-15-17-25-24-5-3-8-4-4-1m-198 16-9 1a512 512 0 0 1 9-1m-180 30a412 412 0 0 0-23 4 167 167 0 0 0-32 8 439 439 0 0 1 46-9 304 304 0 0 1 11-2l6-1h-8m369 8 4 3-7-6c-1 0 0 2 3 3m-439 9c-7 3-18 13-18 15l6-5c5-5 9-8 14-10l6-4-8 4m442 12-10 11-7 6 7-6c7-5 14-14 13-16l-3 5M65 205l-1 11c0 9 0 10 4 17 5 10 7 12 22 11 10 0 15 0 38-5l5-1-6 1-16 2-21 2c-13 1-16-1-21-10-3-5-4-6-4-15l1-12c1-4 1-5-1-1m335 1c3 0 3 1 3 3l-2 6c-2 5-35 39-76 80-53 51-120 117-138 137-21 24-22 25-22 27 0 3 6 9 9 9 4 0 14-8 38-27a5073 5073 0 0 1 15-16 1421 1421 0 0 0-17 15l-31 25-6 2-4-3c-3-3-3-4-2-6 3-8 79-85 160-163 57-57 79-80 79-86 0-2-3-4-7-4-2 0-2 0 1 1m165 18c-9 17-25 32-57 53l-10 8 16-11 12-8c15-10 27-22 39-39 5-7 6-8 4-8l-4 5m-221 2a199 199 0 0 0-19 10 183 183 0 0 1 27-12c0-1-1-1-8 2m-34 16c-3 3-2 3 2 0l1-2-3 2m151 3-1 2 2-2c3-3 2-3-1 0m-16 12-11 10a281 281 0 0 0 11-10m-24 18-7 5-7 5-42 31c-10 7-24 19-22 19l7-6 16-12a343 343 0 0 0 35-25 573 573 0 0 0 20-17m-187 0-2 2 4-2 3-2-5 2m-14 6-3 2 4-1 4-3-5 2m-7 3-8 4-18 8 18-7 7-3 3-1c1-2 0-2-2-1m254 24a2672 2672 0 0 1-71 54 601 601 0 0 0 39-29 1352 1352 0 0 1 32-25m-291-8-2 2 4-2 3-2-5 2m-13 5-2 2h3c5-3 4-4-1-2m-19 9-7 3-13 6c-10 5-13 7-14 10-3 4-2 5 1 0 2-3 5-5 14-9l13-6 12-6-6 2m178 36c-17 12-21 16-21 17a390 390 0 0 1 20-17m-206 34 1 4 1 3 1 5 2 8 1 5v-6l-1-8-2-5-1-4-1-2c-1-2-1-2-1 0m222 23-9 7a683 683 0 0 0-56 44 261 261 0 0 0-26 20 1345 1345 0 0 0-46 34c-6 3-7 3-19 3-11 0-12 0-18-3-8-4-10-8-17-20l-5-10 4 10c5 10 12 18 19 22 4 2 6 2 17 2 13 0 14 0 21-3l26-19 42-33a2183 2183 0 0 0 43-34 643 643 0 0 1 24-20\", fill: \"#fff\", fillRule: \"evenodd\" }), /* @__PURE__ */ G.createElement(\"path\", { d: \"M478 114a620 620 0 0 1-39 6l-21 3a5481 5481 0 0 0-19 3 870 870 0 0 1-54 8l-1 1-6 1-12 2-13 2a992 992 0 0 0-76 12 400 400 0 0 1-45 8l-6 1-5 1h-3l-3 1-2 1-26 4-13 2-17 3c-23 5-33 9-43 19-7 8-9 13-9 27 0 8 1 9 4 14 5 9 8 11 21 10l21-2a1133 1133 0 0 1 23-4 659 659 0 0 0 74-14l3-1h3l3-1h3l2-1 2-1h3l2-1h2l24-5 38-7a2100 2100 0 0 1 93-18l3-1 10-1a2082 2082 0 0 1 120-17l2 1c2 0 8 5 8 7l1 2 1 6c0 4 0 6-3 10-2 4-16 16-18 16l-7 5-10 8a1070 1070 0 0 0-11 7 113 113 0 0 1-20 14l-2 2-3 2-2 2h-1a154 154 0 0 1-28 21l-5 4-5 4a573 573 0 0 1-50 37 175 175 0 0 0-24 18l-1 2-2 1-2 1-2 1-1 1-12 10a396 396 0 0 0-32 25l-8 6-6 5-9 7a326 326 0 0 1-25 20l-13 12a5073 5073 0 0 0-17 15c-24 20-34 27-39 27-2 0-8-6-8-9 0-2 1-3 22-27 18-20 85-86 138-137 41-41 74-75 76-80l2-6c0-2 0-3-2-3l-7 1a233 233 0 0 1-26 9l-1 1-1 1h-1l-1 1h-2l-3 2-1 1h-2l-3 2h-1l-5 2-22 10-9 4-4 2-5 2-10 4-2 1-2 1-2 1-13 6a334 334 0 0 1-38 17 75 75 0 0 0-14 6l-5 2-4 1-2 1-3 2-7 3-16 6a247 247 0 0 0-32 14l-1 1h-2l-1 1h-2l-1 1-12 6a103 103 0 0 0-27 15l-2 5-1 1v11l1 5 1 5 1 4c0 3 0 4 2 4v3l1 3 1 2 2 10 1 4 1 5 2 10 2 8 1 4 1 4c3 3 9 25 11 38l1 7v2l1 4v1l1 1v2l1 2 1 3v1l5 10c7 13 9 16 17 20 6 3 7 3 18 3 12 0 13 0 19-3 8-4 11-6 26-18a1345 1345 0 0 1 85-67 683 683 0 0 1 50-39l12-9a513 513 0 0 1 44-33 201 201 0 0 0 22-17 2270 2270 0 0 0 73-54 158 158 0 0 0 58-59c2 0 3-9 4-27l-1-19-1-4-1-6-1-3-4-6-4-6c0-2-6-8-13-14a77 77 0 0 0-28-18c-6-1-34-1-43 1\" })), ae = uA(je), ze = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"M765-321q0 117-84 196-83 80-200 80-118 0-200-80t-83-196v-392q0-85 61-144 61-58 146-58 86 0 147 58 61 59 61 144v374q0 54-39 92-39 37-93 37-55 0-93-37-38-38-38-92v-372h110v372q0 9 6 14t15 5q8 0 15-5t7-14v-374q0-39-29-66t-68-27q-40 0-69 27t-29 66v392q0 71 51 119t122 48q71 0 122-48t51-119v-426h111v426Z\" })), ie = uA(ze), Ge = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"M125-165v-113h77v-273q0-93 55-167 56-75 146-100v-19q0-32 22-55 23-23 55-23t55 23q22 23 22 55v19q90 25 146 99 56 73 56 168v273h77v113H125ZM480-32q-38 0-66-27-27-27-27-66h186q0 39-27 66t-66 27Z\" })), Ye = uA(Ge), Xe = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"M137-190v-113h78v-253q0-41 11-79 11-39 35-71l-9 150h10L17-802l74-74L873-92l-74 74-175-172H137Zm609-149L319-769q20-15 41-25t44-16v-28q0-32 22-54t54-22q32 0 55 22t22 54v28q85 23 137 94t52 160v217ZM481-47q-38 0-65-27t-27-65h184q0 38-27 65t-65 27Z\" })), We = uA(Xe), Ke = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 100 100\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"g\", { strokeLinecap: \"round\", strokeWidth: 10 }, /* @__PURE__ */ G.createElement(\"path\", { d: \"m19 19 61 61M80 19 19 80\" }))), qe = uA(Ke), Je = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"M94-136v-255l351-93-351-92v-253l816 346L94-136Z\" })), Ve = uA(Je), Ze = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"M480-372q-61 0-105-43-43-43-43-105v-240q0-61 43-105 43-43 105-43 61 0 105 43 43 44 43 105v240q0 62-43 105t-105 43ZM425-76v-122q-121-16-197-108t-76-214h109q0 91 64 154t155 63q91 0 155-63t64-154h109q0 122-77 214T534-198v122H425Z\" })), _e = uA(Ze), $e = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"m763-343-80-79q8-20 13-44 5-23 5-54h109q0 49-11 95t-36 82ZM625-482 336-770v-2q3-56 45-96t101-40q62 0 105 43t43 105v249l-1 17q-1 7-4 12ZM427-76v-122q-120-16-196-108-77-92-77-214h109q0 91 64 154t155 63q43 0 80-14 37-15 67-41l78 79q-35 32-78 53t-93 28v122H427Zm362 27L41-796l75-75 748 748-75 74Z\" })), At = uA($e), et = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"M625-511q29 0 50-21t20-50q0-29-20-50-21-20-50-20t-50 20-20 50q0 29 20 50 21 21 50 21Zm-290 0q29 0 50-21t20-49q0-30-20-50t-50-21q-29 0-50 20-20 21-20 50 0 30 20 50 21 21 50 21Zm145 268q75 0 137-43t85-115H258q24 72 85 115 62 43 137 43Zm0 198q-90 0-170-34-79-34-138-93T79-310q-34-80-34-170t34-170q34-79 93-138t138-93q80-34 170-34t170 34q79 34 138 93t93 138q34 80 34 170t-34 170q-34 79-93 138T650-79q-80 34-170 34Zm0-435Zm0 322q134 0 228-94t94-228q0-134-94-228t-228-94q-134 0-228 94t-94 228q0 134 94 228t228 94Z\" })), ce = uA(et), tt = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"M553-64v-108q107-27 173-113 67-87 67-197 0-109-67-195T553-789v-108q152 26 249 144 97 117 97 271 0 155-97 273T553-64ZM61-335v-290h176l236-237v764L237-335H61Zm492 28v-346q51 23 82 70t31 103-31 103q-31 47-82 70Z\" })), ot = uA(tt), nt = (A, e) => /* @__PURE__ */ G.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ G.createElement(\"path\", { d: \"M807-15 700-123q-33 21-71 37-38 15-80 22v-108q20-4 38-12l35-17-153-154v257L234-335H57v-290h144L10-818l74-75L882-90l-75 75Zm37-264-80-79q13-30 19-60 7-31 7-64 0-109-68-195-67-86-173-112v-108q152 26 249 144 98 117 98 271 0 55-14 107-13 51-38 96ZM661-462 549-575v-78q51 23 83 70 31 47 31 103l-1 9-1 9ZM469-655 366-759l103-103v207Z\" })), st = uA(nt), rt = \"data:audio/wav;base64,UklGRmaIAABXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNjAuMTYuMTAwAGRhdGEgiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAA//////7/////////AAABAAAAAgABAAEAAQAAAAIAAQABAP//AAD+////AAD+//7////+////AAD//wAA/v8AAAAA/v8AAP//AAAAAAAAAgD////////+////AAABAAEAAgD/////AQABAAAA//8CAP//AAAAAAAA/v8AAAAA//8AAAEA//8EAAAAAAAAAAAA//8BAP//AQABAAEA/////wEA/v///wAAAAACAAAAAAABAAAA//8AAP//AAACAP//////////AAAAAAEAAAAAAAEA//8AAAEAAQADAAIAAgAAAAAA/v///wEAAAAAAAEAAAAAAAEA//8AAAEAAQD//wAA//8AAAEAAAABAAEAAAABAP//AAD//wAAAgAAAP//AQD/////AAAAAP7/AgAAAAIAAAAAAAAAAAABAAAAAQABAP//AAABAP///v8AAP////8AAP//AAD//wAA//8BAP//AAD///7///8BAP7///8AAAIAAgABAAEA/v8AAP//AQADAAEAAAACAAEA/////////v///wEA/v////7/AAD+////AAAAAAAAAgAAAAAAAAD//wEAAAAAAAAAAQABAAIA/v8AAAAA//8AAAEAAAAAAP//AgD//wEA/////wAAAQACAAAAAAAAAP//AQD/////AQAAAAEA/v8AAAEAAQABAAEA///+////AQD//wEAAgD+//7/AAAAAAAAAQAAAAAAAQAAAAAAAAAAAP//AAD//wEAAQD//wAAAQABAP7///8AAP7/AAABAP7/AQABAAEAAAABAAEAAAD+/wIAAAABAAAAAQD/////AQACAP////8AAP//AQD//wEA/v8CAAEAAAAAAAAAAQAAAAIAAQAAAAEAAgD//wEAAAAAAP7///8BAP//AgAAAP///v8CAAAAAgD///////////7/AAACAAEAAgD//wAAAAABAP//AwAAAAMA//8AAAAAAQD+/wAAAAD//wAAAQD//wEA//8BAP7/AAABAAAA//8BAAAA//8AAP//AQADAP3////+////AgD+/////v8BAAEAAQACAAAAAAAAAAAA//8AAP//AAD+/wEA/v8AAP7/AAD//wAAAQACAAAAAQAAAP//AQAAAAAAAAABAAAAAAD+//////8AAAAAAAD//wAAAAABAAEA//8AAAEA//8AAP//AgD+/wAA///+/wAA/v///wAAAQABAAAAAQD//wAA//8AAAEA//8BAAAAAgABAP//AAACAAIAAQABAP//AAAAAAAA//8BAAIAAAABAAAA//8CAAEA/v//////AAAAAAEA////////AQAAAP//AAD//wAAAAAAAP3/AAAAAAEAAAACAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAP///v///wAAAAABAAAAAAD//wEAAAABAAEAAQD//wAAAAACAAAAAQD+/wAA//8BAAEAAAD+/wAA/////wAAAAABAAAAAAD//////v8AAAAA//8AAAAAAAAAAAIAAAABAAEAAAABAP7/AAD9//////////7///8BAP//AAD///3/AQABAP//AAD//wAAAAABAAAA//8AAP//AAD/////AQABAAEA//8AAAAA//8BAAMA//8AAAAA//8AAP7/AAD//wAAAAAAAP7/AQAAAAAA/v8CAP//AAABAAIAAQABAAAA//8BAAEAAQD///7/AQD//wAAAQABAP//AAD//wEAAAAAAAAAAQAAAAIA//8AAP////8AAP//AQD//////v///wEA/v8AAAIAAgACAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQD//wAA/////wAAAQACAP////8AAAAAAAD//wAAAQD+/wEA//8AAAEAAwD//wEAAQAAAAAAAAABAP////8AAAAAAQAAAAAAAAAAAAEAAQAAAP////////7/AQABAAEAAQD///////8BAAAA//8AAAAAAgABAAEA/v8BAP7///8BAP3/AQABAAIAAAD//wEAAAAAAP//AAABAAIA//8CAAAAAQAAAAEA//8BAAAA/////wAAAAD//wEAAQD//wAAAAAAAP//AAAAAAAAAQABAAAAAQAAAP//AQD//////v8AAAEAAAAAAAAA//8AAAAAAAACAAEAAQAAAP//AAABAAEA/////wAAAgABAAAAAAAAAAEAAAABAP//AQABAP7////+/wEAAAAAAP//AAABAAAAAAABAAEAAAAAAAAA//8BAP///f/+/wEAAQD///7///8AAAAAAQAAAP////8AAAAAAAABAAAAAQD/////AAD//wEA//8AAAIA//8CAAAA//8AAAAAAAD+/wEAAAD+/wAA/////wAA////////AAAAAAAA//8BAAAAAAD//wAAAAD//wEA//8AAP//AQD+/wAAAAAAAP7/AAD+/wEAAQABAP//AAABAAEAAQD//wAA/////wEA//8AAAAAAgAAAAAA//8BAAAAAgAAAAAAAAAAAP7/AQD//wAAAAD+/wAAAAADAAIA/////wAAAQD//wIA//8BAAEA/v8AAAIAAAAAAP3///8AAAAAAAAAAAAAAAABAP///////wAA//8AAAEAAQABAAEAAQABAAAAAQAAAAAAAQABAP7/AQD//wAAAQABAAEA//8BAAAAAgAAAAEAAAABAP//AAD/////AAD//wIA/////wIAAAD///7/AAAAAAAAAAACAP//AAABAP////8AAAAAAAABAAAAAgAAAAAAAQD+/wEA/////wAA/////wAAAAAAAAAA/v//////AAAAAP//AAABAAAAAQAAAAIAAAACAAAA//8AAAAA//8AAP7/AAAAAP//AAACAP//AQABAP//AQABAAAA/////////v8AAP//AQAAAAAA///+/wAAAQD+/wEAAQAAAAEA/////wAAAQD//wAA//8AAAAA/v8BAAEA//8AAP7//v8BAAAAAAAAAAEA//8AAAEA/////wAAAAD//////////wEAAAABAAEA//8CAAEA/f8AAAAA//8BAAAABAABAAEAAQAAAAAAAAAAAP7///8AAAAA/v8BAAAA//8AAAIA//8AAP////8BAP//AAAAAAAAAAD/////AQD///7/////////AQD8////AgABAAIA////////AAD//wAAAAABAAAAAAAAAAEAAgAAAP//AQD//wAAAAAAAP/////+/wAAAAABAAAAAwABAP///////wEAAAADAP//AQACAAAA//8CAAEAAAAAAP///////wIAAAAAAAAAAQAAAAAAAgD//wEAAAABAAAA/v8AAAAAAAAAAAAAAAAAAAEA/v8AAP//AQD//wAA//////7///8AAAAAAAAAAP7/AQD//wAA//8AAAEAAAABAAEAAQD/////AAD//wEAAAD/////AQAAAAEAAAD//wEAAAD/////AgD//wAAAQD//////////wAAAAD//wAAAAABAAAAAAD//wAAAQD///7/AQD//wEAAAD/////AAD//wEA//8AAAEA//8CAAAAAQD//wEAAgAAAAEAAwAAAAAA/v8BAAEAAgD//wEAAAAAAAAAAAD//wEA//8AAAAAAQACAP///////wAAAQABAAEAAAAAAAEAAQD+/wEA/f////////8AAAAA//8AAAEA//8BAAAA/v///wEAAAAAAAEA/////wAAAAAAAP//AAAAAAIAAAABAAAA/////wAAAAD//wAA/v8AAAMAAQD+/wEAAAABAAEA//8BAP//AgAAAAAAAAD//wAA/////wEA/v8CAP3/AAACAP3/AQABAAAAAQACAAEA/v8AAAAA//8BAAAAAgAAAAAAAgACAAEA/v/9/wAAAQABAP7///8AAP//AgD+/////v8CAP////8BAP//AQACAAEAAQABAP//AAD///7/AAABAAEAAgD//wEA//8CAAEAAQABAAEAAAABAAAA/v8AAAEA/v8AAP//AAABAP//AQAAAAEAAgAAAAAA/v///wEAAQAAAAIAAAD/////AgAAAAEA/v8AAP7/AQAAAAAAAQAAAAEAAAACAAEA//8BAP////8AAAIAAAAAAP//AAAAAAIAAAAAAAAAAwABAP///v8BAAAAAAAAAP3/AAABAAEA/v////////////3//v8AAAAAAQABAAIAAAD+/////v8AAAAAAQABAAEAAQAAAP//AAAAAP//AQAAAP//AAABAAAAAAAAAAAA////////AAAAAP//AQD/////AAABAAEA//8CAP7///8AAP7//v8BAAEAAAD+/////////wEAAAAAAAAAAgD//wAAAQAAAP7/AQABAP//AQAAAAAAAAD/////AAACAP////8BAAAAAAD//wAA//8AAAEAAQABAAAAAAABAAAAAQD+/wEA/v8AAAEAAQD/////AAD//wAAAQABAP7//v//////AAACAAAAAAAAAAAAAAACAAAAAQAAAAAA//8BAP//AQD//wAA///+/wIAAQD//wAAAAD//wAA/v8AAP3///8AAAAAAAAAAAAA/f8AAAAA//8CAP7/AAD///7/AAAAAAAAAAD//wEAAAAAAAEAAAAAAAAA//8BAP////8BAP7///8CAAEA//8BAP3///////////8BAAAAAAAAAAEAAgD+//////8BAAMAAQADAAEAAAACAAAAAQD/////AAABAAMAAQAAAP//AQD//wAA//8AAAAA//8CAP7//////wAAAAAAAAIA/v8AAP//AAACAP//AwD//wAA//8AAP//AwD//wEAAQABAAEAAQACAAEAAAD//wAA//8AAAIAAAAAAP///////wAAAQD//wIA//8BAP7/AAD///////8AAAAAAAAAAAEAAAD//wAAAQD//wEA//8BAAAAAAD/////AgABAAIAAAABAAAAAAAAAP//AAAAAAAA//8AAAAAAAD/////AQAAAAAAAQD//wAA///+////AAAAAAEAAgABAAEAAAAAAP//AQAAAAAAAQD+/wAAAAABAAEAAAD/////AQABAP7///8AAAIAAAACAAAA//8AAP//AgACAAAA///+/wAAAAABAAAAAQAAAAEA/v8BAAEA//8CAP//AQD+/////v8AAAAAAAACAP//AAD+/wIA/v8BAAAAAAD/////AAAAAP7///8AAP7//////wEAAAABAAAAAAD//wAAAAAAAAAAAgACAAAAAAABAAAA/f8AAP7/AgAAAAEA//8BAAAAAAD///7/AQD//wAAAAAAAAEAAAAAAAEAAAAAAAAAAQAAAAAA//8AAAAAAAABAP///////wAAAgABAAEA//8AAP//AAACAP//AQABAAEA//8BAAAAAAABAAAA//8AAAEAAAAAAAIA/v8BAP//AQD//wEAAAABAAEAAQACAAEAAAAAAAEAAAABAAAAAAD/////AAABAAEA//8AAAAAAQABAP//AAAAAP//AAD/////AQD//wAAAAABAAEA//8BAAAA//8AAP///f/+/wAA/////wAAAQAAAAIAAAAAAAAAAAD+/wEA/f8CAAAA//8AAAEAAgAAAAMAAAABAAAAAAAAAP//AQAAAAAAAQABAAAAAQAAAP//AAAAAAAA//8AAAAAAAABAAAAAQAAAAAAAAABAAIAAAAAAP7/AQD//wAAAAD+////AAAAAAAAAAABAAAA/////wAA//8AAAAAAAD/////AgD//wAA//8CAP//AQACAAEA/f////////8BAAIAAQABAP//AAD//wAA///+////AAD+/wAAAQD/////AAAAAAAA/////wAAAAABAAAAAQAAAAAA//8AAAIAAAABAP//AQABAAEA//8AAAAAAAADAAEAAAABAP//AgD//wMA//8AAAAAAAD//wAAAAD9/wEA///+/wAA//8BAAEA//8BAAAA//8AAP///v8BAP///////////v8BAAAAAQABAAAAAAAAAAAA//8AAP7/AQAAAAAAAAAAAP7/AQAAAAAAAgABAAEAAAABAAEAAAAAAAAAAAD+/wAAAAD//wEAAAAAAAAAAAAAAP//AgABAAAAAAABAAEAAAD/////AAAAAP//AAABAP////8BAAAAAQABAP7//v/+////AQAAAAAAAQAAAAEAAgAAAAAAAQAAAAEAAAD+/////v8BAP//AAABAP//AQABAAAAAAD//wAA//8CAP//AAAAAAEAAAABAAAAAAAAAP//AAD+////AwAAAAAAAQD//wEAAAACAAEAAAADAAAAAAD/////AAAAAAEAAAABAAAA//8AAAEA//8BAP///v8AAP//AAD//wAAAQABAP//AQAAAAAA/////wEAAQAAAP////8AAAEA//8BAAAAAQAAAP////8AAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAD//wEAAAAAAP////8AAAAA//8BAAEAAAAAAAIA///+/wIA/v8BAAAAAQACAAAAAQAAAP7///8AAP//AAAAAAEAAAAAAP7/AAD+////AAAAAAAAAAD//wAA/v8BAAMAAAABAAIAAgD//wAA//8BAAEA//8BAP7/AAAAAP7///8BAAAAAQAAAP7/AQD/////AAAAAAEAAAABAP//AQABAAAAAgABAAAAAAAAAP///////wEA//8AAAEA//8AAAAAAQAAAAIAAAABAP7//////wAAAQABAAAAAAABAAEA///+/wAA//8BAP///v8AAP///v8BAAAA//8CAAAAAQAAAAEAAQABAAAAAAD+/wAAAAD+/wAAAAAAAAAA/f////////8AAAAAAQABAP///////wEA//8BAAEAAAAAAAAA/////wEA/v//////AAAAAP//AAABAAAAAAD+/wAAAAD9////AQAAAAEAAwD//wEAAQAAAP//AgAAAAAAAAD+/wIAAAAAAAAAAAAAAAIA//8AAAEAAQACAAAAAQD//wAAAAD//wIAAQABAAAAAAD//wEA//8BAAEAAQAAAAAAAQABAP7/AAD//wEAAAACAP7/AQAAAAAAAAD//wIAAQACAAIAAQAAAAAAAAAAAP3///8BAAAAAQACAP//AgD9/wAAAAD//wEA/v////////8AAAAAAAD//wEAAQD//wMAAQAAAAEA//8AAAEA//8AAAAAAAACAAAAAAD//wAAAQD///////8AAAAA//8BAAIA/v8BAAEA/f8AAAAAAAAAAAAAAgD/////AAD+/wAAAAD//wAAAAAAAP//////////AgABAP///v8AAAIAAQAAAP//AAABAAAA/////wAAAAAAAAEAAAABAP///v///wIA//8BAAEAAQAAAAAA///+/wEAAAAAAAAA/////////v8BAP3/AAAAAAAAAAAAAAAA//8AAP//AAAAAP//AAABAAIAAAACAP////8DAAAAAAABAAAAAwABAP//AAABAP//AAAAAP////8BAAAAAgD//wAA///+/wAAAQD//wAA//8AAP7///8AAAAA/v8AAAAAAQD//wEA/v////////8AAAAAAQAAAP//AQACAAAAAAAAAP//AAD//wAAAAD//wAAAAD+/wAAAAAAAP//AQD//wAAAgAAAAAAAQABAAAAAwD+/wAAAAD///7/AQD//wIAAQAAAP//AAD//wAA//8CAAEAAAAAAAAA/////wAAAAD//wEAAQD///////8BAAAA//8BAAEAAAAAAAAA/v///wEAAAAAAAAAAAADAAAAAAAAAAAAAQABAAEAAAD+//7//v8AAP//AQAAAAAAAAABAAEAAgAAAAAAAQD//wAA/f8AAAAAAAABAAAAAQAAAAAAAAAAAAIA//8BAP///////wIA/////wAAAAABAAEA//8BAAAAAAD//wAAAQD//wEAAAAAAAIA/v8BAP//AAAAAAEAAAABAP//AAAAAAAAAQABAP7/AAABAAAAAQD//wIAAAAAAAEA///+/wAA//8AAP//AAAAAAAAAAABAP///////wIAAQAAAAEAAQAAAP7/AQAAAAAAAQAAAAAAAQD/////AQAAAAAA///+//7/AAD+/wEA//8AAAAA///+/wEAAAABAAIAAQABAAAA//8AAP//AAD//wAAAAD//wAAAAAAAP//AQAAAAAA////////AQAAAAAAAQD+////AQABAP7/AAD///7/AgD//wAAAAAAAP//AAAAAAEA//8BAAEAAgAAAAIAAAD//wEA/////wAAAQD///7/AQD//wEAAQD/////AAAAAAEAAgAAAAAAAQD//wEA//8AAP7//////wAA//8BAAEA//8BAAAAAQD/////AAABAP//AAACAP//AQAAAP//AAABAP////8AAAAAAAABAAEAAwABAAAAAgD//wAAAAD//wEAAAABAAAAAAABAAEA/////wAA//8AAAIAAAAAAAEAAQABAAEAAQABAP//AgAAAAAA//8BAP3//v///wAA//8AAAAAAQAAAP//AQD//wEAAAACAAIAAAABAAAA//8BAAEA//8BAP//AAAAAP//AQAAAAIAAAD//wAAAAAAAAEA////////AQAAAP//AQD//wAAAQD+/wEAAAABAP///v///wAAAAAAAP//AAAAAAIAAQD//wAAAgD+/wAAAAD//wAAAAABAP///P//////AAACAP////8AAAIAAAABAAAAAAAAAAAA//8AAAAAAQADAP//AQAAAAAAAAABAAEAAQAAAAAA/v8AAAAAAAD//wAAAQD//wAAAAD//wAA/v////////8CAAEA/v8BAP7/AAAAAAAA//8AAAEAAAD//wIAAQAAAAIAAQAAAAAAAAD///7/AQABAP//AAAAAP//AAACAAEA//8BAAAAAwAAAAAAAAD//wEAAAD//wAA///////////+/wAAAQABAAIAAAABAAEAAAD//wEAAAD/////AAD+/wIAAwABAAEA/v8BAAEAAAD//wAA//8AAP//AAAAAAEAAAAAAP//AAAAAAEAAQABAAEA/v///wAAAAD//wEAAAACAAAA/f/+/wAA/v///wAA//8AAAEAAQD///7/AAAAAAAAAAABAAAAAAACAAAAAAABAAAAAAABAP//AQD//wAA//8BAP7/AgABAAEAAQAAAAAAAQD//wEA/v8AAP////8AAP///////wIAAQD//wAAAAD//wAA/v///wAAAQD//wIA/////wEAAAAAAAIAAAABAAAAAAD//wEA//8AAAAA/////wAAAQAAAAAAAAD//wEAAQAAAAAAAAACAP///////wAAAgD//wAA/v8AAAIAAAAAAAEAAAABAP//AQABAAEAAQAAAP///v8BAAEAAAAAAP////8AAAAAAQD//wIAAQAAAAEAAAAAAAAA//8BAP//AAAAAP7//v///wEAAAAAAAIAAAAAAP//AAD//wEA//8BAAAAAAABAAEAAAABAP7///8AAAIAAAABAP//AAD//wEAAAAAAP//AAAAAAEAAAAAAAAAAAAAAP7/AQD//wAAAQD+/wEA/v8BAP7/AAABAAEAAAACAAIAAAADAAAA//8AAAEAAAABAP//AQD//wIA/////wEA//8AAAEA//8AAAEAAAAAAAAAAQABAAAAAAAAAAAAAAD//////////wAA//8AAP7/AAD+/wAAAQAAAAAA/////wAABAAAAAAA//8AAAEAAAAAAAAA/v8AAP//AAAAAAAAAAD//wAAAAD///////8BAAEAAAD/////AgABAAEA/v/+/wAAAQACAAEAAAD//wAAAwABAP//AgD+/wAA/v8AAAAAAAAAAAEA//8AAAEAAAD+/wEAAAAAAAEAAgAAAAEAAAABAP//AQD+/wIA/////wAAAQD//wAAAQD+/wAAAQABAAAA////////AAACAAAAAQAAAAIA//8BAP///v///wEA//8BAAEAAQD+/wAAAQD9/wAAAQAAAAEAAAABAAAAAgAAAP//AAD+/wAA/f8AAAAA////////AgAAAAcAAQD7/wEA/f8AAAIA//8GAP7//v/+//b/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+P/F//z/rv/i/7r/6v/Z/wYABwAoADAAKQBOABkATAD0/zQA1P8PANv/0//v/6//FwCi/ywAxP8oAPn//v82APT/WwD4/00A+/8yAPv//f/8/83/+v+w/+T/sf/j/9b/AQACACoAIgAtAEIAHwBPAAEAQADe/xcA0v/k/+X/t/8IAKv/IgC//yEA6/8EACMA9/9PAPf/VAD+/zcA+/8JAPn/1P8AALf/6f+w/+P/zf////j/HAAdAC0APgAfAEsABwBCAOP/IADV/+//2v/B//3/rP8PALv/GADd/xEAFgABAEMABABaAP//QgACABcA+//n/wAAwP/w/67/4v+///3/6f8WABcAKQA0ACIARgAQAEcA8f8pANn/9f/U/87/7f+v/wgAtP8RANP/FgANAAIAOQACAFQA/f9HAAAAIAABAO3//P/E/wEAs//q/7n/9P/i/wYAEQAZADEAJABBABMASAAAADEA3/8CANL/1v/g/7H/AACy/w8Axf8ZAPv/CQAzAAIAVQD//1AAAAAsAAIA9v/7/8r/AwC2//P/tf/m/+H/AwADABEAKQApADoAHgBHAAgAPADr/wkA1//f/93/vP/6/7L/CgDA/x4A7/8hACkAAgBPAPz/UgD1/zIABAAEAPz/0v/5/7f/AACy//H/2f/+/wEAAAAkABUAMwAdADoAEQA9APD/EADU//L/1P/H/+z/tf8LALv/HADk/ygAGgADAEMA//9TAPn/QAAAABAAAQDc//z/wf8DALD/7P/Q//z/9/8HABoAFgA3ACMAMAAOADwA+P8ZANv/+P/Y/9H/5v+8/wUAu/8WANf/HgAMAAoAPQABAFMA/f9HAP7/HwAEAN//+v/H/wMAs//2/8r/8//y/wMADgAQAC4AIwAyABMAJwD8/xcA3v8LANP/5v/f/8j/AgC4/w4A1P8eAAQACgAxAAEAUgD+/0gA/v8nAAIA8f/5/8r/BAC6/+3/wP/l/+b/AQAIABkAIwArAC4AIAAoAAkAGADj/w0A0f/r/9//0P8DAL3/CgDN/xkA//8IACUAAgBJAAAATwD+/ysAAQD7//3/z/8DAMT/+f/K/+L/5P/1////EgAcACYALgApAC4ACwAcAPL/EADZ//L/1f/U//f/uv8KAMX/DwDu/wcAHwADAEUABgBNAAEANQAAAAYAAQDf////xf/+/9P/4f/b//X/9v8LAA4AGAAlACoAMAAQABkA9v8TAOL/+f/W/9r/8f/I/wcAxP8MAOr/BwATAAQAOAAGAEcAAABCAAEADwAEAOP//v/F/wIAzf/o/93/8P/s/w4ACwAZACEAKgAyABMAIQD5/xgA6v8DANb/4P/y/9H/AQDJ/wkA4/8DAAoA/f8wAAQAQwABAEAA//8VAAIA7P/+/8r/BADP/+v/2v/s/+n/CwAIAA0AHAAjADQAHAAkAP//GQDy/wQA5v/i//b/0P/7/8f/AADh/wMAAAD+/yUAAAA7AAEAOAAAABwAAAD6/wAA1/8CAMr/AADb/+3/5f8BAAIACAAVABcALwAfACgA+/8XAPn/DgDe/+//7v/Q/wMAz/8JAOP/CwDx////EAAHADEAAQArAAIAHQAEAAcAAADr/wEAzv8CANj//f/k/wEA+f/+/xQABwAqAB4ALAD+/x4A8P8SAOb/8//f/9j//f/N/wEA3v8LAO7/AgAMAAQALAAEAC0AAQAdAAQADwABAPP/BADV/wMA0/8AAOH/AQD1/wAAEAADACQAGwAwAAQAHwD0/xUA8f/4/+L/2//7/8z/AwDc/woA6f8AAAQAAwAoAAcANAAAACcAAgAUAAEA+P8CANv/AgDR/wEA4v8BAOz/AgAIAPv/JAAVADMAFAAhAPP/GQDz//7/3P/l/+3/z/8BANf/CgDn/wkA/P///xoABwAwAAIAJwACABcAAwABAAIA4f8BAND/AgDd//3/6P8CAAYA/f8YAAwALwAZACUA9v8bAPj/AwDq/+r/7P/S//7/1/8EAOX/CQD6//7/GQAFAC8AAQApAAEAGQACAAMAAgDm/wEAzv8BANv//v/p/wIA//8BABMABQArACAALAABAB4A8f8NAOv/7v/m/9n/+P/R/wMA4f8OAPT/AQATAAMAKwAHACoAAwAbAAMABQADAO7/AQDU/wEA2f8AAOL////3////EgAAACUAGgAvAAUAHQD2/xIA9f/0//T/3P/4/8///f/h/wIA7f8AAAoAAQApAAQALQADACAAAgAPAP//9P///9r//f/T/wAA3f/9//D/AQAQAP//HAAHAC8ACQAfAPv/GAD+//f/+P/j/wEA0v/+/9n/AADq/wIABgD//x0AAQAuAAEAIwAAABQAAwD8/wEA3/8AAM//AADe////7f8BAAwA//8ZAAMALwAAACEA//8dAP3//v/9/+n////U//z/1v8BAOT/AAD+/wAAGwD+/ywA/v8kAAIAGAD///3////q/wEA0P///97/AADk/wAABAAAABUAAQAqAAEAKQAAABwAAAAFAP//6f8AANr////X/wAA4/8AAPj/AgAUAAAAKgD//ywAAAAcAP7/AQAAAOv/AADU/wAA2v8CAOP/AAABAAAAFgABABsAAAAqAAEAHwAAABQAAgDv/wEA3v///9H////f////7/8BAAoAAQApAAAALgD//yEAAQAIAAAA8P8BANr//v/V////4f8AAPf//v8UAAAAFAAAACYAAQAhAP7/GwD+//T/AADo/wIA1v8CANr/AgDp/wEABgAAAB8AAQAsAAEAJAAAAAwA///z/wEA3/8AANT/AADh/wEA9P///xQAAgASAAAAJQAAACEAAAAaAP//+v8BAOj////W////2P8BAOf///8DAAAAHwAAAC4AAAAlAAAAEgAAAPL/AQDm////0f8CAN3/AADr//7/EQD//xAAAQAhAAIAJQAAAB8AAAABAP//6v8CAN//AQDX/wAA4/8AAPr/AAAXAAAAKgABACgAAAAbAP///f8AAOj/AADU/wAA2v///+f/AQANAAMAEQD+/xwA/v8kAP7/IQABAAgA/v/p////5/8AANf/AQDd/wEA8v8BABMAAQAjAAAALgAAACAAAQADAAEA7f8BANn/AgDY//7/4P/+/wEAAAAXAAIAFAAFACUA/P8jAP//EgAAAO//AQDo////1/8AAN3/AADx//7/DgAAAB0AAQAoAAAAIwAAAAoAAQDv/wMA4f8AANn/AQDi/wEA+v///xgAAAAQAP3/IwD//yUA/v8XAAAA7/8AAOv/AADc/wAA3P/+/+v/AQALAAEAGgACACkAAAAkAP7/EAABAO/////q//7/1/8AANz/AgDw/wEAEgD//w8AAAAcAAIAJQAAAB0AAAD2////7P8AAOP/AgDa/wAA5P8BAAQAAQAWAAAAIgAAACMAAAAaAP//+P///+v/AQDZ/wAA2////+7/AAARAAAADgAAABYAAAAhAAAAIAABAPz/AQDt/wAA5P8AANr/AQDg/wEA/P8BABcAAAAhAP//KQD//xwAAAD8/wEA7v8AAN3////Z/wAA6f8BAA0AAAARAAEAEQAAACMAAAAgAAEA/f8CAO3/AADv/wAA3v8BANv////1////EgAAABkA//8nAAAAIgAAAAMAAADu/wAA6P8CANn/AQDg////BQD//xMAAQAOAP//IAABACYAAAAGAAAA6f////H/AADg/wEA2f8AAO3///8PAAAAFQACACQAAAAkAAEADQABAO//AADp/wAA2////9z/AQD7/wEAFgAAAAwAAQAXAP7/JQD9/xMAAADx/wAA8f8AAOr/AADc/wEA4/8BAAkAAAAVAAAAIQD//yYA//8UAAEA9P8BAOz/AADf/wAA3P8AAPP/AAAQAAAADQABAA0AAAAlAAEAGAD///H//v/0/wEA7v8CAN//AADg//3/BAACABUAAQAfAAAAJwABABgAAQD0//7/7f///+L/AADa/wIA8P///w4A//8SAAMACQAAACAAAQAgAP//+v////P////y/wEA4/8BANr/AQD9/wAAEwD//xkAAQAjAAAAIgABAPz////s/wAA6v8BANX/AQDr//7/BwABABMAAAAHAP//FwAAACYAAAD//wEA9P8BAPb/AQDu////2v8BAPn/AAATAP//FwD//yEAAAAjAAAAAgAAAOn/AQDr//7/2P8CAOT/AAABAP//FgABAAUAAQATAP//IwAAAAEAAgDy/wEA9/8AAPb/AADb/wAA6/8BABAAAAATAP7/IQAAACYA//8UAP//7/8AAPD/AADd/wEA3P/+//7///8OAAAACgAAAAgAAAAhAP//CQACAPT/AQD2/wAA9v///97////m/wIADgABABMAAQAfAP//JwAAABMAAADw/wAA8P///+r/AQDb/wAA9f8AAA8AAAARAAIABAD//wYA/v8HAAAAAQD//wMAAgAGAAAA7f8AAOz/AAALAP//DwACABQA//8bAAAAHgD///f/AADq/wEA6/8BANj//v/t/wAACAD+/xAAAgAEAAAABAABAAcAAQADAAAA//8AAAUA///1/wAA5f///wIAAAAOAAAAEAAAABsAAAAhAAAA/v8BAOj////y////3f8AAOf/AQAGAAEADAAAAAcA//8BAP//CQABAAMA//8BAP//BQAAAAAAAADo/wAA+/8AAAoAAAALAAAAFAAAACAAAQAGAAIA7f8BAPH/AADm/wMA3P8CAP7/AgASAP//CgD//wAAAAAIAP//BQD//wEAAAACAP7/BAAAAPz/AwD8////BAAAAAEA//8HAAAAHQAAAAgA/v/x//7/8f///+f/AQDg/////P///woAAAAMAP//AAABAAYA//8EAAAAAgAAAAUAAAACAAAAAwAAAAIAAAABAAAAAQABAAAAAgAcAP//DgD///T/AQDx/wAA9P8CAOH/AAD3/wAACQAAAAoAAQABAP//AwAAAAcAAAD+/wAAAgACAAEAAAD+////AwD+/wAAAAABAP//+v8BABEAAQATAAAA9f/+//L//f/z/wIA6f8AAPb/AQAFAP//DAAAAAAAAAAFAP//BQD//wEA//8DAAEAAQAAAP7///8AAAAA//8BAAIAAAD+/wAAEAABABYAAgD6/wEA8v8BAPX/AwDp/wAA8////wMA//8JAAEABAABAAEA//8FAAEA//8AAAMAAQACAP//AQAAAAEAAgAFAP//AQABAAAAAQAAAP//EQABAAAAAAD5/wEA+P8AAPr////6/wAA+/8BAAIA//8BAAAA//8CAAUA//8BAP7/AAABAAEAAgAAAAAAAwAAAAEA/v8DAAIAAAACAAQA//8TAAAA/P8BAPr////3//////8AAPz/AQD7/wEAAgD/////AAABAAEABAAAAP//////////AAAAAAAAAAADAAAAAwAAAAAA//8EAP///v/+/xAA//8HAAAA+/////j/AQD8////AAD///n///8AAAAA//8AAP////8DAP//AgAAAAAAAAACAAIAAAD+/wAAAQD//wAA/////wIAAgD9////CQACAAYA///9////+f8BAPr/AQAAAAIA/v///wAA//8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAAAAAEAAQABAAAAAgABAP//AAD//wEAAAD///////8BAAIAAQAAAAAA/v/+//////8BAAAAAQABAP//AAD///////8BAAAAAQABAP////8CAAEAAQD//wEA/v//////AQAAAAAAAAAAAAAAAAD9/wMA/////wAAAQD+/wEA/v/+//7/AQD//wMAAAAAAAAAAAABAAEA//////7/AAACAP3/AAD//wAAAQAAAP//AQD//wAAAAAAAAEA//8CAP//AAAAAAAA/v8AAAAA//8BAP//AAABAP//AAAAAP//AQD//wAAAQABAAAAAAABAAEA/v///wAAAAD//////////wAAAAAAAP//AAD////////8/wIAAAADAAEA/////wEA/v8BAP7/AgAAAAEAAgAAAP//AgD/////AQD//wEA//////7/AQD//wMAAAAAAAAA//8CAP//AQAAAP//AAACAAAAAAABAP//AQD+/wAA/////wAA/f///wAAAAAAAP7/AAAAAAAAAgD//wEAAQACAP//AAAAAAEAAQD//wAAAAAAAAAA//8BAAMA/v8AAP7/AQAAAAAAAQAAAAAA///+//7/AAAAAAAA//8BAP7/AQAAAP//AQABAAAAAQAAAP//AAD//wIA/v///wAAAQABAP//AAD//wEA//8BAP//AgAAAP///////wAAAQABAP//AwABAAAAAAAAAAAA/////wIAAwACAAAA/v8BAAAAAAAAAAAA//8AAP////8AAAAA/////wAA/////wEA/v8CAAEAAQD//wAAAAABAAAAAAD//wEAAQABAAAA//8CAAAAAAAAAP7/AAABAAAAAQABAAAAAgABAAAAAQD//wEAAwD+/wAA/v8AAAEAAAAAAAAAAAAAAAEAAAD//wMA/v///wAAAAACAAEAAAAAAP7///8DAAEAAQD//wEA/f8BAAEAAQD//wEAAQABAAMAAgAAAAEA//8AAP//BAAAAAIA/v//////AQABAAAAAAD//wEAAAACAAIAAQAAAAAAAgAAAAAAAAABAAIAAAABAAIAAQAAAP////8AAAAAAAD//wAAAQACAP//AAAAAAAAAQAAAAEA//8AAAAAAAD/////AQD//wAAAQD9////AQAAAAAA//8BAAAA///+/////v8BAAAAAQAAAAAAAAAAAAIA//8BAAAAAAACAP//AQD//wAAAAD/////AAD9/wAAAAACAAAAAgAAAAEAAQABAAEAAAAAAAEA//8AAAEAAQACAAAAAQAAAAEA//8BAAIAAAACAP//AAABAAAAAAAAAAAAAAD//wAAAQD/////AAAAAP////8AAAEAAAAAAP7///8BAAIAAQD//wEAAQAAAP//AgAAAAAAAAD//wAA//8CAP7/AQAAAP7/AAD+////AAAAAAAAAQABAAAA//8AAAEAAAABAP7/AAAAAP7/AAD+/wAAAQABAAEA/////////v8BAP///v///wIAAAAAAAAAAQAAAAIAAQAAAAAAAAABAAEAAAAAAAAAAAD//wEAAQD//wAAAQABAAAA/v/+/////////wAAAAD//wAAAAD/////AAAAAP7/AAD//wIA//8CAP//AQAAAP////8AAAAAAQABAP////8AAP//AQACAAAAAQAAAAAAAAAAAAAA//8BAAAAAAD+/wAA/v///wEAAAD+//7///8CAP7/AAABAP3/AwAAAAAAAAABAAIAAAABAAAAAQABAAIAAAAAAP//AAAAAAEAAAACAAEAAAACAAAAAAABAAAAAwAAAAAAAAD+/wAAAQD9//////8BAAAA/v8AAAAAAAAAAAAAAAD//wMA/v8BAAEAAQACAAAA/v8BAP//AwABAAIAAQABAP//AQAAAAEAAAAAAAEA//8AAAAAAAD/////AAABAAEAAAAAAP////8AAAAAAAAAAAAA/v8AAP//AQAAAP//AAABAAIAAQAAAAAAAgABAAAA/////wAAAQABAP//AQABAAEA/////wAAAAAAAAAAAAABAAEAAQAAAAAAAAAAAAAA//8AAP7/AQD9/wAAAgD//wEAAQABAAEA/v8AAAEA/////wAAAAAAAP//AAABAAAAAAAAAAAA//8CAP//AAABAAEAAQABAAAA//8BAAIAAgD//wAA/v8AAAEAAAD///7/AAAAAAEAAAABAAAAAQABAAAAAQACAAAA///+/wAAAQABAP7////+/wAA//8AAAAAAgAAAP//AQD9/wAAAAD//wAA//8AAAAAAQAAAAAAAQD//wAAAAAAAP//AQABAAAA/v8CAP//AAD///////8AAAAAAAACAAEA//8BAP7/AAAAAAEA//8BAAAAAQD//wAAAQD+/wAA/////wAAAAD//wAAAQABAAAA//8AAAEA/////wAA//8AAAAA/v/+/wEAAgABAP//AgD//wIA/////wAA//8AAAEAAQAAAAAAAQAAAAMAAAACAP//\", de = {\n general: {\n primaryColor: \"#42b0c5\",\n secondaryColor: \"#491d8d\",\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\n showHeader: !0,\n showFooter: !0,\n showInputRow: !0,\n actionDisabledIcon: Fe,\n embedded: !1,\n flowStartTrigger: \"ON_LOAD\"\n },\n tooltip: {\n mode: \"CLOSE\",\n text: \"Talk to me! 😊\"\n },\n chatButton: {\n icon: ae\n },\n header: {\n title: /* @__PURE__ */ l(\"div\", { style: { cursor: \"pointer\", margin: 0, fontSize: 20, fontWeight: \"bold\" }, onClick: () => window.open(\"https://github.com/tjtanjin/\"), children: \"Tan Jin\" }),\n showAvatar: !0,\n avatar: re,\n buttons: [J.NOTIFICATION_BUTTON, J.AUDIO_BUTTON, J.CLOSE_CHAT_BUTTON],\n closeChatIcon: qe\n },\n notification: {\n disabled: !1,\n defaultToggledOn: !0,\n volume: 0.2,\n icon: Ye,\n iconDisabled: We,\n sound: rt,\n showCount: !0\n },\n audio: {\n disabled: !0,\n defaultToggledOn: !1,\n language: \"en-US\",\n voiceNames: [\"Microsoft David - English (United States)\", \"Alex (English - United States)\"],\n rate: 1,\n volume: 1,\n icon: ot,\n iconDisabled: st\n },\n chatHistory: {\n disabled: !1,\n maxEntries: 30,\n storageKey: \"rcb-history\",\n storageType: \"LOCAL_STORAGE\",\n viewChatHistoryButtonText: \"Load Chat History ⟳\",\n chatHistoryLineBreakText: \"----- Previous Chat History -----\",\n autoLoad: !1\n },\n chatInput: {\n disabled: !1,\n allowNewline: !1,\n enabledPlaceholderText: \"Type your message...\",\n disabledPlaceholderText: \"\",\n showCharacterCount: !1,\n characterLimit: -1,\n botDelay: 1e3,\n sendButtonIcon: Ve,\n blockSpam: !0,\n sendOptionOutput: !0,\n sendCheckboxOutput: !0,\n buttons: [J.VOICE_MESSAGE_BUTTON, J.SEND_MESSAGE_BUTTON]\n },\n chatWindow: {\n showScrollbar: !1,\n showTypingIndicator: !0,\n autoJumpToBottom: !1,\n showMessagePrompt: !0,\n messagePromptText: \"New Messages ↓\",\n messagePromptOffset: 30,\n defaultOpen: !1\n },\n sensitiveInput: {\n maskInTextArea: !0,\n maskInUserBubble: !0,\n asterisksCount: 10,\n hideInUserBubble: !1\n },\n userBubble: {\n animate: !0,\n showAvatar: !1,\n avatar: Re,\n simulateStream: !1,\n streamSpeed: 30\n },\n botBubble: {\n animate: !0,\n showAvatar: !1,\n avatar: re,\n simulateStream: !1,\n streamSpeed: 30\n },\n voice: {\n disabled: !0,\n defaultToggledOn: !1,\n language: \"en-US\",\n timeoutPeriod: 1e4,\n autoSendDisabled: !1,\n autoSendPeriod: 1e3,\n sendAsAudio: !1,\n icon: _e,\n iconDisabled: At\n },\n footer: {\n text: /* @__PURE__ */ j(\n \"div\",\n {\n style: { cursor: \"pointer\", display: \"flex\", flexDirection: \"row\", alignItems: \"center\", columnGap: 3 },\n onClick: () => window.open(\"https://react-chatbotify.com\"),\n children: [\n /* @__PURE__ */ l(\"span\", { children: \"Powered By \" }, 0),\n /* @__PURE__ */ l(\n \"div\",\n {\n style: {\n borderRadius: \"50%\",\n width: 14,\n height: 14,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n background: \"linear-gradient(to right, #42b0c5, #491d8d)\"\n },\n children: /* @__PURE__ */ l(ae, { style: { width: \"80%\", height: \"80%\", fill: \"#fff\" } })\n },\n 1\n ),\n /* @__PURE__ */ l(\"span\", { style: { fontWeight: \"bold\" }, children: \" React ChatBotify\" }, 2)\n ]\n }\n ),\n buttons: [J.FILE_ATTACHMENT_BUTTON, J.EMOJI_PICKER_BUTTON]\n },\n fileAttachment: {\n disabled: !1,\n multiple: !0,\n accept: \".png\",\n icon: ie,\n iconDisabled: ie,\n sendFileName: !0,\n showMediaDisplay: !1\n },\n emoji: {\n disabled: !1,\n icon: ce,\n iconDisabled: ce,\n list: [\"😀\", \"😃\", \"😄\", \"😅\", \"😊\", \"😌\", \"😇\", \"🙃\", \"🤣\", \"😍\", \"🥰\", \"🥳\", \"🎉\", \"🎈\", \"🚀\", \"⭐️\"]\n },\n toast: {\n maxCount: 3,\n forbidOnMax: !1,\n dismissOnClick: !0\n },\n event: {\n rcbPreInjectMessage: !1,\n rcbPostInjectMessage: !1,\n rcbStartSimulateStreamMessage: !1,\n rcbStopSimulateStreamMessage: !1,\n rcbStartStreamMessage: !1,\n rcbChunkStreamMessage: !1,\n rcbStopStreamMessage: !1,\n rcbRemoveMessage: !1,\n rcbLoadChatHistory: !1,\n rcbToggleChatWindow: !1,\n rcbStartSpeakAudio: !1,\n rcbToggleAudio: !1,\n rcbToggleNotifications: !1,\n rcbToggleVoice: !1,\n rcbChangePath: !1,\n rcbShowToast: !1,\n rcbDismissToast: !1,\n rcbUserSubmitText: !1,\n rcbUserUploadFile: !1,\n rcbTextAreaChangeValue: !1,\n rcbPreLoadChatBot: !1,\n rcbPostLoadChatBot: !1\n },\n ariaLabel: {\n chatButton: \"open chat\",\n audioButton: \"toggle audio\",\n closeChatButton: \"close chat\",\n emojiButton: \"emoji picker\",\n fileAttachmentButton: \"upload file\",\n notificationButton: \"toggle notifications\",\n sendButton: \"send message\",\n voiceButton: \"toggle voice\",\n inputTextArea: \"input text area\"\n },\n device: {\n desktopEnabled: !0,\n mobileEnabled: !0,\n applyMobileOptimizations: !0\n }\n}, we = bA({ settings: {}, setSettings: () => null }), H = () => QA(we), at = ({\n children: A,\n settings: e = de,\n setSettings: t\n}) => /* @__PURE__ */ l(we.Provider, { value: { settings: e, setSettings: t }, children: A }), ge = {\n tooltipStyle: {},\n notificationBadgeStyle: {},\n chatWindowStyle: {},\n headerStyle: {},\n bodyStyle: {},\n chatInputContainerStyle: {},\n chatInputAreaStyle: {},\n chatInputAreaFocusedStyle: {},\n chatInputAreaDisabledStyle: {},\n userBubbleStyle: {},\n botBubbleStyle: {},\n botOptionStyle: {},\n botOptionHoveredStyle: {},\n botCheckboxRowStyle: {},\n botCheckboxNextStyle: {},\n botCheckMarkStyle: {},\n botCheckMarkSelectedStyle: {},\n characterLimitStyle: {},\n characterLimitReachedStyle: {},\n chatHistoryLineBreakStyle: {},\n chatMessagePromptStyle: {},\n chatMessagePromptHoveredStyle: {},\n footerStyle: {},\n loadingSpinnerStyle: {},\n mediaDisplayContainerStyle: {},\n chatButtonStyle: {},\n chatHistoryButtonStyle: {},\n chatHistoryButtonHoveredStyle: {},\n sendButtonStyle: {},\n sendButtonHoveredStyle: {},\n sendButtonDisabledStyle: {},\n audioButtonStyle: {},\n audioButtonDisabledStyle: {},\n closeChatButtonStyle: {},\n emojiButtonStyle: {},\n emojiButtonDisabledStyle: {},\n fileAttachmentButtonStyle: {},\n fileAttachmentButtonDisabledStyle: {},\n notificationButtonStyle: {},\n notificationButtonDisabledStyle: {},\n voiceButtonStyle: {},\n voiceButtonDisabledStyle: {},\n chatIconStyle: {},\n audioIconStyle: {},\n audioIconDisabledStyle: {},\n closeChatIconStyle: {},\n emojiIconStyle: {},\n emojiIconDisabledStyle: {},\n fileAttachmentIconStyle: {},\n fileAttachmentIconDisabledStyle: {},\n notificationIconStyle: {},\n notificationIconDisabledStyle: {},\n voiceIconStyle: {},\n voiceIconDisabledStyle: {},\n sendIconStyle: {},\n sendIconDisabledStyle: {},\n sendIconHoveredStyle: {},\n rcbTypingIndicatorContainerStyle: {},\n rcbTypingIndicatorDotStyle: {},\n toastPromptContainerStyle: {},\n toastPromptStyle: {},\n toastPromptHoveredStyle: {}\n}, Be = bA({ styles: {}, setStyles: () => null }), F = () => QA(Be), it = ({\n children: A,\n styles: e = ge,\n setStyles: t\n}) => /* @__PURE__ */ l(Be.Provider, { value: { styles: e, setStyles: t }, children: A }), ct = ({ buttons: A }) => {\n var n, s, r, a, i;\n const { settings: e } = H(), { styles: t } = F(), o = {\n backgroundImage: `linear-gradient(to right, ${(n = e.general) == null ? void 0 : n.secondaryColor},\n\t\t\t${(s = e.general) == null ? void 0 : s.primaryColor})`,\n ...t.headerStyle\n };\n return /* @__PURE__ */ j(\"div\", { style: o, className: \"rcb-chat-header-container\", children: [\n /* @__PURE__ */ j(\"div\", { className: \"rcb-chat-header\", children: [\n ((r = e.header) == null ? void 0 : r.showAvatar) && /* @__PURE__ */ l(\n \"div\",\n {\n style: { backgroundImage: `url(\"${(a = e.header) == null ? void 0 : a.avatar}\")` },\n className: \"rcb-bot-avatar\"\n }\n ),\n (i = e.header) == null ? void 0 : i.title\n ] }),\n /* @__PURE__ */ l(\"div\", { className: \"rcb-chat-header\", children: A == null ? void 0 : A.map(\n (u, c) => /* @__PURE__ */ l(WA, { children: u }, c)\n ) })\n ] });\n}, ve = bA({}), AA = () => QA(ve), lt = ({\n children: A,\n botIdRef: e,\n flowRef: t\n}) => {\n const o = $(null), n = $(\"\"), s = $(/* @__PURE__ */ new Map()), r = $(null), a = $(\"\"), i = $(!1), u = $(null), c = $(null), f = $(null);\n return /* @__PURE__ */ l(ve.Provider, { value: {\n botIdRef: e,\n flowRef: t,\n inputRef: o,\n streamMessageMap: s,\n chatBodyRef: r,\n paramsInputRef: a,\n keepVoiceOnRef: i,\n audioContextRef: u,\n audioBufferRef: c,\n gainNodeRef: f,\n prevInputRef: n\n }, children: A });\n}, Pe = bA({}), eA = () => QA(Pe), ut = ({\n children: A,\n settings: e\n}) => {\n var W, K, L, R, _, tA;\n const [t, o] = T(!1), [n, s] = T(((W = e == null ? void 0 : e.chatWindow) == null ? void 0 : W.defaultOpen) ?? !1), [r, a] = T(((K = e == null ? void 0 : e.audio) == null ? void 0 : K.defaultToggledOn) ?? !1), [i, u] = T(((L = e == null ? void 0 : e.voice) == null ? void 0 : L.defaultToggledOn) ?? !1), [c, f] = T(\n ((R = e == null ? void 0 : e.notification) == null ? void 0 : R.defaultToggledOn) ?? !0\n ), [h, d] = T(!1), [g, D] = T(!1), [P, B] = T(!1), [w, C] = T(!0), [b, v] = T(!1), [E, Q] = T(!1), [O, y] = T(!1), [p, m] = T(0), [I, x] = T(0), [U, k] = T(!1), [N, V] = T(null), [oA, Z] = T(((_ = window.visualViewport) == null ? void 0 : _.height) ?? window.innerHeight), [z, Y] = T(((tA = window.visualViewport) == null ? void 0 : tA.width) ?? window.innerWidth);\n return /* @__PURE__ */ l(Pe.Provider, { value: {\n isBotTyping: t,\n setIsBotTyping: o,\n isChatWindowOpen: n,\n setIsChatWindowOpen: s,\n audioToggledOn: r,\n setAudioToggledOn: a,\n voiceToggledOn: i,\n setVoiceToggledOn: u,\n notificationsToggledOn: c,\n setNotificationsToggledOn: f,\n isLoadingChatHistory: h,\n setIsLoadingChatHistory: d,\n hasChatHistoryLoaded: g,\n setHasChatHistoryLoaded: D,\n isScrolling: P,\n setIsScrolling: B,\n textAreaDisabled: w,\n setTextAreaDisabled: C,\n textAreaSensitiveMode: b,\n setTextAreaSensitiveMode: v,\n hasInteractedPage: E,\n setHasInteractedPage: Q,\n hasFlowStarted: O,\n setHasFlowStarted: y,\n unreadCount: p,\n setUnreadCount: m,\n inputLength: I,\n setInputLength: x,\n blockAllowsAttachment: U,\n setBlockAllowsAttachment: k,\n timeoutId: N,\n setTimeoutId: V,\n viewportHeight: oA,\n setViewportHeight: Z,\n viewportWidth: z,\n setViewportWidth: Y\n }, children: A });\n}, ft = () => {\n var g, D, P;\n const { settings: A } = H(), { styles: e } = F(), { unreadCount: t, isScrolling: o, setIsScrolling: n } = eA(), { chatBodyRef: s } = AA(), [r, a] = T(!1), i = {\n color: (g = A.general) == null ? void 0 : g.primaryColor,\n borderColor: (D = A.general) == null ? void 0 : D.primaryColor,\n ...e.chatMessagePromptHoveredStyle\n }, u = () => {\n a(!0);\n }, c = () => {\n a(!1);\n };\n function f(B) {\n if (!s.current)\n return;\n const w = s.current.scrollTop, b = s.current.scrollHeight - s.current.clientHeight - w, v = 20;\n let E = 0;\n function Q() {\n if (!s.current)\n return;\n E += v;\n const O = h(E, w, b, B);\n s.current.scrollTop = O, E < B ? requestAnimationFrame(Q) : n(!1);\n }\n Q();\n }\n const h = (B, w, C, b) => (B /= b / 2, B < 1 ? C / 2 * B * B + w : (B--, -C / 2 * (B * (B - 2) - 1) + w));\n return /* @__PURE__ */ l(\"div\", { className: `rcb-message-prompt-container ${(() => {\n var w;\n return s.current && ((w = A.chatWindow) == null ? void 0 : w.showMessagePrompt) && o && t > 0 ? \"visible\" : \"hidden\";\n })()}`, children: /* @__PURE__ */ l(\n \"div\",\n {\n onMouseEnter: u,\n onMouseLeave: c,\n style: r ? i : { ...e.chatMessagePromptStyle },\n onMouseDown: (B) => {\n B.preventDefault(), f(600);\n },\n className: \"rcb-message-prompt-text\",\n children: (P = A.chatWindow) == null ? void 0 : P.messagePromptText\n }\n ) });\n}, S = {\n // audio\n START_SPEAK_AUDIO: \"rcb-start-speak-audio\",\n TOGGLE_AUDIO: \"rcb-toggle-audio\",\n // notifications:\n TOGGLE_NOTIFICATIONS: \"rcb-toggle-notifications\",\n // voice\n TOGGLE_VOICE: \"rcb-toggle-voice\",\n // chat window\n TOGGLE_CHAT_WINDOW: \"rcb-toggle-chat-window\",\n // messages:\n PRE_INJECT_MESSAGE: \"rcb-pre-inject-message\",\n POST_INJECT_MESSAGE: \"rcb-post-inject-message\",\n START_SIMULATE_STREAM_MESSAGE: \"rcb-start-simulate-stream-message\",\n STOP_SIMULATE_STREAM_MESSAGE: \"rcb-stop-simulate-stream-message\",\n START_STREAM_MESSAGE: \"rcb-start-stream-message\",\n CHUNK_STREAM_MESSAGE: \"rcb-chunk-stream-message\",\n STOP_STREAM_MESSAGE: \"rcb-stop-stream-message\",\n REMOVE_MESSAGE: \"rcb-remove-message\",\n // chat history\n LOAD_CHAT_HISTORY: \"rcb-load-chat-history\",\n // path\n CHANGE_PATH: \"rcb-change-path\",\n // toast\n SHOW_TOAST: \"rcb-show-toast\",\n DISMISS_TOAST: \"rcb-dismiss-toast\",\n // user input submission\n USER_SUBMIT_TEXT: \"rcb-user-submit-text\",\n USER_UPLOAD_FILE: \"rcb-user-upload-file\",\n // text area value change\n TEXT_AREA_CHANGE_VALUE: \"rcb-text-area-change-value\",\n // chatbot loading\n PRE_LOAD_CHATBOT: \"rcb-pre-load-chatbot\",\n POST_LOAD_CHATBOT: \"rcb-post-load-chatbot\"\n}, dt = {\n [S.START_SPEAK_AUDIO]: !0,\n [S.TOGGLE_AUDIO]: !0,\n [S.TOGGLE_VOICE]: !0,\n [S.TOGGLE_NOTIFICATIONS]: !0,\n [S.TOGGLE_CHAT_WINDOW]: !0,\n [S.PRE_INJECT_MESSAGE]: !0,\n [S.POST_INJECT_MESSAGE]: !1,\n [S.PRE_LOAD_CHATBOT]: !0,\n [S.POST_LOAD_CHATBOT]: !1,\n [S.START_SIMULATE_STREAM_MESSAGE]: !0,\n [S.STOP_SIMULATE_STREAM_MESSAGE]: !1,\n [S.START_STREAM_MESSAGE]: !0,\n [S.CHUNK_STREAM_MESSAGE]: !0,\n [S.STOP_STREAM_MESSAGE]: !0,\n [S.LOAD_CHAT_HISTORY]: !0,\n [S.CHANGE_PATH]: !0,\n [S.SHOW_TOAST]: !0,\n [S.DISMISS_TOAST]: !0,\n [S.USER_SUBMIT_TEXT]: !0,\n [S.USER_UPLOAD_FILE]: !0,\n [S.TEXT_AREA_CHANGE_VALUE]: !0\n}, OA = async (A, e, t) => {\n const o = new CustomEvent(A, {\n detail: e,\n cancelable: dt[A]\n });\n return o.data = t, o.promises = [], window.dispatchEvent(o), await Promise.all(o.promises), o;\n}, he = bA({ paths: [], setPaths: () => null }), KA = () => QA(he), wt = ({ children: A }) => {\n const [e, t] = T([]);\n return /* @__PURE__ */ l(he.Provider, { value: { paths: e, setPaths: t }, children: A });\n}, kA = () => {\n const { settings: A } = H(), { paths: e, setPaths: t } = KA(), {\n setIsBotTyping: o,\n setTextAreaDisabled: n,\n setTextAreaSensitiveMode: s,\n blockAllowsAttachment: r,\n setBlockAllowsAttachment: a\n } = eA(), { botIdRef: i } = AA(), u = M(() => e.length > 0 ? e[e.length - 1] : null, [e]), c = M(() => e.length > 1 ? e[e.length - 2] : null, [e]), f = M(async (d) => {\n var g, D;\n if ((g = A.event) != null && g.rcbChangePath) {\n const P = u(), B = c(), w = { botId: i.current, currPath: P, prevPath: B };\n if (event = await OA(S.CHANGE_PATH, w, { currPath: P, prevPath: B, nextPath: d }), event.defaultPrevented)\n return !1;\n }\n return o(!0), (D = A.chatInput) != null && D.blockSpam && n(!0), s(!1), t((P) => [...P, d]), !0;\n }, [e, t, A]), h = M((d) => {\n t(d);\n }, []);\n return {\n getCurrPath: u,\n getPrevPath: c,\n goToPath: f,\n blockAllowsAttachment: r,\n setBlockAllowsAttachment: a,\n paths: e,\n replacePaths: h\n };\n}, gt = () => {\n const {\n getCurrPath: A,\n getPrevPath: e,\n goToPath: t,\n paths: o,\n replacePaths: n\n } = kA();\n return {\n getCurrPath: A,\n getPrevPath: e,\n goToPath: t,\n paths: o,\n replacePaths: n\n };\n}, wA = () => {\n const { getCurrPath: A, getPrevPath: e, paths: t } = gt(), { botIdRef: o } = AA();\n return { callRcbEvent: M(async (s, r) => {\n const a = { botId: o.current, currPath: A(), prevPath: e() };\n return await OA(s, a, r);\n }, [t]) };\n}, gA = () => {\n const { settings: A } = H(), {\n isChatWindowOpen: e,\n setIsChatWindowOpen: t,\n viewportHeight: o,\n setViewportHeight: n,\n viewportWidth: s,\n setViewportWidth: r,\n setUnreadCount: a\n } = eA(), { callRcbEvent: i } = wA(), [u, c] = T(0), f = M(async () => {\n var d;\n (d = A.event) != null && d.rcbToggleChatWindow && (await i(\n S.TOGGLE_CHAT_WINDOW,\n { currState: e, newState: !e }\n )).defaultPrevented || t((g) => (g || a(0), !g));\n }, [e]), h = M(async (d) => {\n e !== d && await f();\n }, [e]);\n return {\n isChatWindowOpen: e,\n setIsChatWindowOpen: t,\n toggleChatWindow: f,\n openChat: h,\n chatScrollHeight: u,\n setChatScrollHeight: c,\n viewportHeight: o,\n setViewportHeight: n,\n viewportWidth: s,\n setViewportWidth: r\n };\n}, De = bA({ messages: [], setMessages: () => null }), qA = () => QA(De), Bt = ({ children: A }) => {\n const [e, t] = T([]);\n return /* @__PURE__ */ l(De.Provider, { value: { messages: e, setMessages: t }, children: A });\n}, vt = ({\n message: A,\n isNewSender: e\n}) => {\n var f, h, d, g, D, P;\n const { settings: t } = H(), { styles: o } = F(), n = typeof A.content == \"string\", s = A.content, r = A.contentWrapper ? /* @__PURE__ */ l(A.contentWrapper, { children: s }) : s, a = {\n backgroundColor: (f = t.general) == null ? void 0 : f.primaryColor,\n color: \"#fff\",\n maxWidth: (h = t.userBubble) != null && h.showAvatar ? \"65%\" : \"70%\",\n ...o.userBubbleStyle\n }, i = (d = t.userBubble) != null && d.animate ? \"rcb-user-message-entry\" : \"\", u = ((g = t.userBubble) == null ? void 0 : g.showAvatar) && e, c = `rcb-user-message${!e && ((D = t.userBubble) != null && D.showAvatar) ? \" rcb-user-message-offset\" : \"\"}`;\n return /* @__PURE__ */ j(\"div\", { className: \"rcb-user-message-container\", children: [\n n ? /* @__PURE__ */ l(\"div\", { style: a, className: `${c} ${i}`, children: r }) : /* @__PURE__ */ l(nA, { children: r }),\n u && /* @__PURE__ */ l(\n \"div\",\n {\n style: { backgroundImage: `url(\"${(P = t.userBubble) == null ? void 0 : P.avatar}\")` },\n className: \"rcb-message-user-avatar\"\n }\n )\n ] });\n}, Pt = ({\n message: A,\n isNewSender: e\n}) => {\n var f, h, d, g, D, P;\n const { settings: t } = H(), { styles: o } = F(), n = typeof A.content == \"string\", s = A.content, r = A.contentWrapper ? /* @__PURE__ */ l(A.contentWrapper, { children: s }) : s, a = {\n backgroundColor: (f = t.general) == null ? void 0 : f.secondaryColor,\n color: \"#fff\",\n maxWidth: (h = t.botBubble) != null && h.showAvatar ? \"65%\" : \"70%\",\n ...o.botBubbleStyle\n }, i = (d = t.botBubble) != null && d.animate ? \"rcb-bot-message-entry\" : \"\", u = ((g = t.botBubble) == null ? void 0 : g.showAvatar) && e, c = `rcb-bot-message${!e && ((D = t.botBubble) != null && D.showAvatar) ? \" rcb-bot-message-offset\" : \"\"}`;\n return /* @__PURE__ */ j(\"div\", { className: \"rcb-bot-message-container\", children: [\n u && /* @__PURE__ */ l(\n \"div\",\n {\n style: { backgroundImage: `url(\"${(P = t.botBubble) == null ? void 0 : P.avatar}\")` },\n className: \"rcb-message-bot-avatar\"\n }\n ),\n n ? /* @__PURE__ */ l(\"div\", { style: a, className: `${c} ${i}`, children: r }) : /* @__PURE__ */ l(nA, { children: r })\n ] });\n}, ht = () => {\n var o, n, s;\n const { settings: A } = H(), { styles: e } = F(), t = (o = A.botBubble) != null && o.animate ? \"rcb-bot-message-entry\" : \"\";\n return /* @__PURE__ */ j(\"div\", { className: \"rcb-bot-message-container\", children: [\n ((n = A.botBubble) == null ? void 0 : n.showAvatar) && /* @__PURE__ */ l(\n \"div\",\n {\n style: { backgroundImage: `url(\"${(s = A.botBubble) == null ? void 0 : s.avatar}\")` },\n className: \"rcb-message-bot-avatar\"\n }\n ),\n /* @__PURE__ */ l(\n \"div\",\n {\n onMouseDown: (r) => {\n r.preventDefault();\n },\n className: `rcb-bot-message ${t}`,\n children: /* @__PURE__ */ j(\"div\", { className: \"rcb-typing-indicator\", style: { ...e == null ? void 0 : e.rcbTypingIndicatorContainerStyle }, children: [\n /* @__PURE__ */ l(\"span\", { className: \"rcb-dot\", style: { ...e == null ? void 0 : e.rcbTypingIndicatorDotStyle } }),\n /* @__PURE__ */ l(\"span\", { className: \"rcb-dot\", style: { ...e == null ? void 0 : e.rcbTypingIndicatorDotStyle } }),\n /* @__PURE__ */ l(\"span\", { className: \"rcb-dot\", style: { ...e == null ? void 0 : e.rcbTypingIndicatorDotStyle } })\n ] })\n }\n )\n ] });\n}, Dt = ({\n setChatScrollHeight: A\n}) => {\n var d, g, D;\n const { settings: e } = H(), { styles: t } = F(), { messages: o } = qA(), { isChatWindowOpen: n } = gA(), {\n isBotTyping: s,\n isScrolling: r,\n setIsScrolling: a,\n setUnreadCount: i\n } = eA(), { chatBodyRef: u } = AA(), c = {\n ...t == null ? void 0 : t.bodyStyle,\n scrollbarWidth: (d = e.chatWindow) != null && d.showScrollbar ? \"auto\" : \"none\"\n };\n X(() => {\n u.current && (A(u.current.scrollHeight), r || (u.current.scrollTop = u.current.scrollHeight));\n }, [(g = u.current) == null ? void 0 : g.scrollHeight]);\n const f = () => {\n var b, v;\n if (!u.current)\n return;\n A(u.current.scrollHeight);\n const { scrollTop: P, clientHeight: B, scrollHeight: w } = u.current, C = P + B < w - (((b = e.chatWindow) == null ? void 0 : b.messagePromptOffset) ?? 30);\n a(C), C || (P + B >= w - 1 && (u.current.scrollTop = w - B - 1), (n || (v = e.general) != null && v.embedded) && i(0));\n }, h = (P) => P === 0 ? !0 : o[P].sender !== o[P - 1].sender;\n return /* @__PURE__ */ j(\n \"div\",\n {\n style: c,\n className: \"rcb-chat-body-container\",\n ref: u,\n onScroll: f,\n children: [\n o.map((P, B) => {\n const w = h(B);\n return P.sender.toUpperCase() === \"USER\" ? /* @__PURE__ */ l(vt, { message: P, isNewSender: w }, B) : P.sender.toUpperCase() === \"BOT\" ? /* @__PURE__ */ l(Pt, { message: P, isNewSender: w }, B) : /* @__PURE__ */ l(\"div\", { children: P.content }, B);\n }),\n s && ((D = e.chatWindow) == null ? void 0 : D.showTypingIndicator) && /* @__PURE__ */ l(ht, {}),\n /* @__PURE__ */ l(ft, {})\n ]\n }\n );\n}, Et = ({\n checkboxes: A,\n checkedItems: e,\n path: t\n}) => {\n var P, B, w, C, b, v, E, Q, O, y, p;\n const { settings: o } = H(), { styles: n } = F(), { paths: s } = KA(), { handleSubmitText: r } = IA(), [a, i] = T(/* @__PURE__ */ new Set()), [u, c] = T(!1), f = {\n cursor: u ? `url(\"${(P = o.general) == null ? void 0 : P.actionDisabledIcon}\"), auto` : \"pointer\",\n color: (B = o.general) == null ? void 0 : B.primaryColor,\n borderColor: (w = o.general) == null ? void 0 : w.primaryColor,\n ...n.botCheckboxRowStyle\n }, h = {\n cursor: u || a.size < A.min ? `url(\"${(C = o.general) == null ? void 0 : C.actionDisabledIcon}\"), auto` : \"pointer\",\n color: (b = o.general) == null ? void 0 : b.primaryColor,\n borderColor: (v = o.general) == null ? void 0 : v.primaryColor,\n ...n.botCheckboxNextStyle\n }, d = {\n cursor: u ? `url(\"${(E = o.general) == null ? void 0 : E.actionDisabledIcon}\"), auto` : \"pointer\",\n color: \"transparent\",\n ...n.botCheckMarkStyle\n }, g = {\n cursor: u ? `url(\"${(Q = o.general) == null ? void 0 : Q.actionDisabledIcon}\"), auto` : \"pointer\",\n color: \"#fff\",\n borderColor: (O = o.general) == null ? void 0 : O.primaryColor,\n backgroundColor: (y = o.general) == null ? void 0 : y.primaryColor,\n ...n.botCheckMarkSelectedStyle\n };\n X(() => {\n s.length > 0 && s[s.length - 1] !== t && c(!A.reusable);\n }, [s]);\n const D = (m) => {\n u || i((I) => {\n const x = new Set(I);\n if (x.has(m))\n e.delete(m), x.delete(m);\n else {\n if (a.size == A.max)\n return I;\n e.add(m), x.add(m);\n }\n return x;\n });\n };\n return /* @__PURE__ */ j(\"div\", { className: `rcb-checkbox-container ${(p = o.botBubble) != null && p.showAvatar ? \"rcb-checkbox-offset\" : \"\"}`, children: [\n A.items.map((m) => /* @__PURE__ */ l(\n \"div\",\n {\n onMouseDown: (I) => {\n I.preventDefault(), D(m);\n },\n style: f,\n className: \"rcb-checkbox-row-container\",\n children: /* @__PURE__ */ j(\"div\", { className: \"rcb-checkbox-row\", children: [\n /* @__PURE__ */ l(\n \"div\",\n {\n style: a.has(m) ? g : d,\n className: \"rcb-checkbox-mark\"\n }\n ),\n /* @__PURE__ */ l(\"div\", { className: \"rcb-checkbox-label\", children: m })\n ] })\n },\n m\n )),\n /* @__PURE__ */ l(\n \"div\",\n {\n style: h,\n className: \"rcb-checkbox-next-button\",\n onMouseDown: (m) => {\n var U;\n if (m.preventDefault(), u || a.size < A.min)\n return;\n const I = Array.from(e).join(\", \");\n c(!A.reusable);\n let x;\n A.sendOutput != null ? x = A.sendOutput : x = ((U = o.chatInput) == null ? void 0 : U.sendCheckboxOutput) ?? !0, r(I, x);\n }\n }\n )\n ] });\n}, Ct = async (A, e) => {\n const t = A.checkboxes;\n if (!t)\n return;\n let o;\n if (typeof t == \"function\" ? (o = t(e), o instanceof Promise && (o = await o)) : o = t, Array.isArray(o) && (o = { items: o }), !(\"items\" in o) || o.items.length == 0)\n return;\n o.min == null && (o.min = 1), o.max == null && (o.max = o.items.length), o.min > o.max && (o.min = o.max), o.reusable == null && (o.reusable = !1);\n const n = /* @__PURE__ */ new Set(), s = e.currPath, r = /* @__PURE__ */ l(Et, { checkboxes: o, checkedItems: n, path: s });\n await e.injectMessage(r);\n}, bt = async (A, e) => {\n const t = A.function;\n if (!t)\n return;\n const o = t(e);\n return o instanceof Promise ? await o : o;\n}, Qt = async (A, e, t) => {\n const o = A.message;\n if (!o)\n return;\n if (typeof o == \"string\") {\n o.trim() !== \"\" && (t ? await e.simulateStreamMessage(o) : await e.injectMessage(o));\n return;\n }\n let n = o(e);\n n instanceof Promise && (n = await n), n && n.trim() !== \"\" && (t ? await e.simulateStreamMessage(n) : await e.injectMessage(n));\n}, mt = ({\n options: A,\n path: e\n}) => {\n var g, D, P, B, w, C;\n const { settings: t } = H(), { styles: o } = F(), { paths: n } = KA(), { handleSubmitText: s } = IA(), [r, a] = T([]), [i, u] = T(!1), c = {\n cursor: i ? `url(\"${(g = t.general) == null ? void 0 : g.actionDisabledIcon}\"), auto` : \"pointer\",\n color: (D = t.general) == null ? void 0 : D.primaryColor,\n borderColor: (P = t.general) == null ? void 0 : P.primaryColor,\n backgroundColor: \"#fff\",\n ...o.botOptionStyle\n }, f = {\n color: \"#fff\",\n borderColor: (B = t.general) == null ? void 0 : B.primaryColor,\n backgroundColor: (w = t.general) == null ? void 0 : w.primaryColor,\n ...o.botOptionHoveredStyle\n };\n X(() => {\n n.length > 0 && n[n.length - 1] !== e && u(!A.reusable);\n }, [n]);\n const h = (b) => {\n a((v) => {\n const E = [...v];\n return E[b] = !0, E;\n });\n }, d = (b) => {\n a((v) => {\n const E = [...v];\n return E[b] = !1, E;\n });\n };\n return /* @__PURE__ */ l(\"div\", { className: `rcb-options-container ${(C = t.botBubble) != null && C.showAvatar ? \"rcb-options-offset\" : \"\"}`, children: A.items.map((b, v) => {\n const E = r[v] && !i;\n return /* @__PURE__ */ l(\n \"div\",\n {\n className: \"rcb-options\",\n style: E ? f : c,\n onMouseEnter: () => h(v),\n onMouseLeave: () => d(v),\n onMouseDown: (Q) => {\n var y;\n if (Q.preventDefault(), i)\n return;\n u(!A.reusable);\n let O;\n A.sendOutput != null ? O = A.sendOutput : O = ((y = t.chatInput) == null ? void 0 : y.sendOptionOutput) ?? !0, s(b, O);\n },\n children: b\n },\n b\n );\n }) });\n}, yt = async (A, e) => {\n const t = A.options;\n if (!t)\n return;\n let o;\n if (typeof t == \"function\" ? (o = t(e), o instanceof Promise && (o = await o)) : o = t, Array.isArray(o) && (o = { items: o }), !(\"items\" in o) || o.items.length == 0)\n return;\n o.reusable == null && (o.reusable = !1);\n const n = e.currPath, s = /* @__PURE__ */ l(mt, { options: o, path: n });\n await e.injectMessage(s);\n}, pt = async (A, e) => {\n const t = A.path;\n if (!t)\n return !1;\n if (typeof t == \"string\")\n return await e.goToPath(t), !0;\n let o = t(e);\n if (o instanceof Promise && (o = await o), !o)\n return !1;\n const n = o;\n return await e.goToPath(n), !0;\n}, It = async (A, e) => {\n const t = A.component;\n if (t) {\n if (typeof t == \"function\") {\n let o = t(e);\n if (o instanceof Promise && (o = await o), !o)\n return;\n await e.injectMessage(o);\n return;\n }\n await e.injectMessage(t);\n }\n}, St = async (A, e, t) => {\n const o = e.currPath, n = A[o];\n if (!n)\n throw new Error(\"block is not valid.\");\n const s = n.transition;\n let r;\n if (typeof s == \"function\" ? (r = s(e), r instanceof Promise && (r = await r)) : r = s, typeof r == \"number\" && (r = { duration: r }), !r || r instanceof Promise || r.duration == null || typeof r.duration != \"number\")\n return;\n r.interruptable == null && (r.interruptable = !1);\n const a = setTimeout(async () => {\n await Ce(A, e);\n }, r.duration);\n r.interruptable && t(a);\n}, Tt = async (A, e, t) => {\n const o = A.chatDisabled;\n if (o == null)\n return;\n let n;\n typeof o == \"function\" ? (n = o(e), n instanceof Promise && (n = await n)) : n = o, t(n);\n}, Ee = async (A, e, t) => {\n const o = A.isSensitive;\n if (!o) {\n t(!1);\n return;\n }\n let n;\n typeof o == \"function\" ? (n = o(e), n instanceof Promise && (n = await n)) : n = o, t(n);\n}, Mt = async (A, e, t, o, n, s) => {\n const r = e.currPath, a = A[r];\n if (!a)\n throw new Error(\"Block is not valid.\");\n for (const i of Object.keys(a))\n switch (i) {\n case \"message\":\n await Qt(a, e, t);\n break;\n case \"options\":\n await yt(a, e);\n break;\n case \"checkboxes\":\n await Ct(a, e);\n break;\n case \"component\":\n await It(a, e);\n break;\n case \"chatDisabled\":\n await Tt(a, e, o);\n break;\n case \"isSensitive\":\n await Ee(a, e, n);\n break;\n case \"transition\":\n await St(A, e, s);\n }\n}, Ce = async (A, e) => {\n const t = e.currPath, o = A[t];\n if (!o)\n throw new Error(\"Block is not valid.\");\n const n = Object.keys(o);\n for (const s of n)\n s === \"function\" && await bt(o, e);\n return n.includes(\"path\") ? await pt(o, e) : !1;\n}, kt = () => {\n var t;\n const { settings: A } = H(), { styles: e } = F();\n return /* @__PURE__ */ l(\"div\", { className: \"rcb-line-break-container\", children: /* @__PURE__ */ l(\n \"div\",\n {\n style: { ...e.chatHistoryLineBreakStyle },\n className: \"rcb-line-break-text\",\n \"data-testid\": \"chat-history-line-break-text\",\n children: (t = A.chatHistory) == null ? void 0 : t.chatHistoryLineBreakText\n }\n ) });\n}, Ht = () => {\n var o;\n const { settings: A } = H(), { styles: e } = F(), t = {\n borderTop: `4px solid ${(o = A.general) == null ? void 0 : o.primaryColor}`,\n ...e.loadingSpinnerStyle\n };\n return /* @__PURE__ */ l(\"div\", { className: \"rcb-spinner-container\", children: /* @__PURE__ */ l(\"div\", { style: t, className: \"rcb-spinner\" }) });\n}, LA = () => {\n try {\n if (typeof crypto < \"u\" && typeof crypto.randomUUID == \"function\")\n return crypto.randomUUID();\n throw new Error(\"crypto.randomUUID not available\");\n } catch (A) {\n if (typeof crypto < \"u\" && typeof crypto.getRandomValues == \"function\")\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(e) {\n const t = crypto.getRandomValues(new Uint8Array(1))[0] % 16;\n return (e === \"x\" ? t : t & 3 | 8).toString(16);\n });\n throw console.error(A), new Error(\"crypto.getRandomValues is also not available\");\n }\n}, EA = (A, e) => ({\n id: LA(),\n content: A,\n sender: e,\n type: typeof A == \"string\" ? \"string\" : \"object\",\n timestamp: (/* @__PURE__ */ new Date()).toUTCString(),\n tags: []\n});\nlet hA, be = !1, NA = \"rcb-history\", HA = 30, Qe = !1, MA = [];\nconst jA = async (A) => {\n if (Qe || !hA)\n return;\n const e = [], t = be ? MA.length : 0;\n for (let n = A.length - 1; n >= t; n--) {\n const s = A[n];\n if (s.sender.toUpperCase() === \"SYSTEM\" || (s.content !== \"\" && e.unshift(s), e.length === HA))\n break;\n }\n let o = e.map(Nt);\n if (o.length < HA) {\n const n = HA - o.length;\n o = [...MA.slice(-n), ...o];\n }\n me(o);\n}, xt = (A) => {\n if (A != null)\n try {\n return JSON.parse(A);\n } catch {\n return [];\n }\n return [];\n}, JA = () => MA, Ot = (A) => {\n me(A), MA = A;\n}, me = (A) => {\n hA && hA.setItem(NA, JSON.stringify(A));\n}, Lt = () => {\n hA && hA.removeItem(NA);\n}, XA = (A) => {\n var e, t, o, n, s;\n ((t = (e = A.chatHistory) == null ? void 0 : e.storageType) == null ? void 0 : t.toUpperCase()) === \"SESSION_STORAGE\" ? hA = sessionStorage : hA = localStorage, NA = (o = A.chatHistory) == null ? void 0 : o.storageKey, HA = (n = A.chatHistory) == null ? void 0 : n.maxEntries, Qe = (s = A.chatHistory) == null ? void 0 : s.disabled, MA = xt(hA.getItem(NA));\n}, Nt = (A) => fe(A.content) ? structuredClone({\n id: A.id,\n content: Ue.renderToString(A.content),\n type: A.type,\n sender: A.sender.toUpperCase(),\n timestamp: A.timestamp,\n tags: A.tags\n}) : A, Ut = (A, e, t, o, n, s, r, a) => {\n var i;\n if (be = !0, t != null)\n try {\n o((c) => {\n const f = EA(/* @__PURE__ */ l(Ht, {}), \"SYSTEM\");\n return c.shift(), [f, ...c];\n });\n const u = t.map((c) => {\n if (c.type === \"object\") {\n const f = ye(c.content, A, e);\n return { ...c, content: f };\n }\n return c;\n });\n setTimeout(() => {\n o((c) => {\n var h;\n c.shift();\n let f;\n return (h = A.chatHistory) != null && h.autoLoad ? f = EA(/* @__PURE__ */ l(nA, {}), \"SYSTEM\") : f = EA(/* @__PURE__ */ l(kt, {}), \"SYSTEM\"), [...u, f, ...c];\n }), a(!0);\n }, 500), setTimeout(() => {\n if (!n.current)\n return;\n const { scrollHeight: c } = n.current, f = c - s;\n n.current.scrollTop = n.current.scrollTop + f, r(!1);\n }, 510);\n } catch {\n hA.removeItem((i = A.chatHistory) == null ? void 0 : i.storageKey);\n }\n}, ye = (A, e, t) => {\n const n = new DOMParser().parseFromString(A, \"text/html\");\n return Array.from(n.body.childNodes).map((a, i) => {\n var u;\n if (a.nodeType === Node.TEXT_NODE)\n return a.textContent;\n {\n const c = a.tagName.toLowerCase();\n let f = Array.from(a.attributes).reduce((d, g) => {\n const D = g.name.toLowerCase();\n if (D === \"style\") {\n const P = g.value.split(\";\").filter((w) => w.trim() !== \"\"), B = {};\n P.forEach((w) => {\n const [C, b] = w.split(\":\").map((E) => E.trim()), v = C.replace(/-([a-z])/g, (E, Q) => Q.toUpperCase());\n B[v] = b;\n }), d[D] = B;\n } else (c === \"audio\" || c === \"video\") && D === \"controls\" && g.value === \"\" ? d[D] = \"true\" : d[D] = g.value;\n return d;\n }, {});\n if (Object.prototype.hasOwnProperty.call(f, \"class\")) {\n const d = a.classList;\n f.className = d.toString(), delete f.class, (u = e.botBubble) != null && u.showAvatar && (f = Ft(d, f)), f = Rt(d, f, e, t), f = jt(d, f, e, t), f = zt(d, f, e, t), f = Gt(d, f, e, t);\n }\n if ([\n \"area\",\n \"base\",\n \"br\",\n \"col\",\n \"embed\",\n \"hr\",\n \"img\",\n \"input\",\n \"link\",\n \"meta\",\n \"source\",\n \"track\",\n \"wbr\"\n ].includes(c))\n return se(c, { key: i, ...f });\n {\n const d = ye(a.innerHTML, e, t);\n return se(c, { key: i, ...f }, ...d);\n }\n }\n });\n}, Ft = (A, e) => ((A.contains(\"rcb-options-container\") || A.contains(\"rcb-checkbox-container\")) && (e.className = `${A.toString()} rcb-options-offset`), e), Rt = (A, e, t, o) => {\n var n, s, r, a, i;\n return A.contains(\"rcb-options\") && (e.style = {\n ...e.style,\n color: ((n = o.botOptionStyle) == null ? void 0 : n.color) ?? ((s = t.general) == null ? void 0 : s.primaryColor),\n borderColor: ((r = o.botOptionStyle) == null ? void 0 : r.color) ?? ((a = t.general) == null ? void 0 : a.primaryColor),\n cursor: `url(\"${(i = t.general) == null ? void 0 : i.actionDisabledIcon}\"), auto`,\n ...o.botOptionStyle\n }), e;\n}, jt = (A, e, t, o) => {\n var n, s, r, a, i;\n return A.contains(\"rcb-checkbox-row-container\") && (e.style = {\n ...e.style,\n color: ((n = o.botCheckboxRowStyle) == null ? void 0 : n.color) ?? ((s = t.general) == null ? void 0 : s.primaryColor),\n borderColor: ((r = o.botCheckboxRowStyle) == null ? void 0 : r.color) ?? ((a = t.general) == null ? void 0 : a.primaryColor),\n cursor: `url(\"${(i = t.general) == null ? void 0 : i.actionDisabledIcon}\"), auto`,\n ...o.botCheckboxRowStyle\n }), e;\n}, zt = (A, e, t, o) => {\n var n, s, r, a, i;\n return A.contains(\"rcb-checkbox-next-button\") && (e.style = {\n ...e.style,\n color: ((n = o.botCheckboxNextStyle) == null ? void 0 : n.color) ?? ((s = t.general) == null ? void 0 : s.primaryColor),\n borderColor: ((r = o.botCheckboxNextStyle) == null ? void 0 : r.color) ?? ((a = t.general) == null ? void 0 : a.primaryColor),\n cursor: `url(\"${(i = t.general) == null ? void 0 : i.actionDisabledIcon}\"), auto`,\n ...o.botCheckboxNextStyle\n }), e;\n}, Gt = (A, e, t, o) => {\n var n, s;\n return (A.contains(\"rcb-media-display-image-container\") || A.contains(\"rcb-media-display-video-container\")) && (e.style = {\n ...e.style,\n backgroundColor: (n = t.general) == null ? void 0 : n.primaryColor,\n maxWidth: (s = t.userBubble) != null && s.showAvatar ? \"65%\" : \"70%\",\n ...o.mediaDisplayContainerStyle\n }), e;\n}, pe = (A) => {\n if (!A)\n return !1;\n const e = A.getBoundingClientRect(), t = window.innerHeight ?? document.documentElement.clientHeight, o = window.innerWidth ?? document.documentElement.clientWidth;\n return e.top >= 0 && e.left >= 0 && e.bottom <= t && e.right <= o;\n}, VA = () => {\n const { settings: A } = H(), {\n notificationsToggledOn: e,\n setNotificationsToggledOn: t,\n hasInteractedPage: o,\n unreadCount: n,\n setUnreadCount: s\n } = eA(), { audioBufferRef: r, audioContextRef: a, gainNodeRef: i } = AA(), { callRcbEvent: u } = wA(), c = M(async () => {\n var P, B;\n const d = (P = A.notification) == null ? void 0 : P.sound;\n a.current = new AudioContext();\n const g = a.current.createGain();\n g.gain.value = ((B = A.notification) == null ? void 0 : B.volume) ?? 0.2, i.current = g;\n let D;\n if (d != null && d.startsWith(\"data:audio\")) {\n const w = atob(d.split(\",\")[1]), C = new ArrayBuffer(w.length), b = new Uint8Array(C);\n for (let v = 0; v < w.length; v++)\n b[v] = w.charCodeAt(v);\n D = C;\n } else\n D = await (await fetch(d)).arrayBuffer();\n r.current = await a.current.decodeAudioData(D);\n }, [A.notification]), f = M(() => {\n var g;\n if ((g = A.notification) != null && g.disabled || !e || !o || !a.current || !r.current)\n return;\n const d = a.current.createBufferSource();\n d.buffer = r.current, d.connect(i.current).connect(a.current.destination), d.start();\n }, [\n A.notification,\n e,\n o,\n a,\n r,\n i\n ]), h = M(async () => {\n var d;\n (d = A.event) != null && d.rcbToggleNotifications && (await u(\n S.TOGGLE_NOTIFICATIONS,\n { currState: e, newState: !e }\n )).defaultPrevented || t((g) => !g);\n }, [e]);\n return {\n unreadCount: n,\n setUnreadCount: s,\n notificationsToggledOn: e,\n toggleNotifications: h,\n playNotificationSound: f,\n setUpNotifications: c\n };\n}, Yt = (A, e, t, o, n) => {\n if (!window.SpeechSynthesisUtterance) {\n console.info(\"Speech Synthesis API is not supported in this environment.\");\n return;\n }\n const s = new window.SpeechSynthesisUtterance();\n s.text = A, s.lang = e, s.rate = o, s.volume = n;\n let r = !1;\n for (const a of t)\n if (window.speechSynthesis.getVoices().find((i) => {\n if (i.name === a) {\n s.voice = i, window.speechSynthesis.speak(s), r = !0;\n return;\n }\n }), r)\n break;\n r || window.speechSynthesis.speak(s);\n}, Xt = (A, e) => {\n var t, o, n, s;\n Yt(\n e,\n (t = A.audio) == null ? void 0 : t.language,\n (o = A.audio) == null ? void 0 : o.voiceNames,\n (n = A.audio) == null ? void 0 : n.rate,\n (s = A.audio) == null ? void 0 : s.volume\n );\n}, ZA = () => {\n const { settings: A } = H(), { audioToggledOn: e, setAudioToggledOn: t } = eA(), { callRcbEvent: o } = wA(), n = M(async () => {\n var r;\n (r = A.event) != null && r.rcbToggleAudio && (await o(\n S.TOGGLE_AUDIO,\n { currState: e, newState: !e }\n )).defaultPrevented || t((a) => !a);\n }, [e]), s = M(async (r) => {\n var i, u;\n if ((i = A.audio) != null && i.disabled || !e)\n return;\n let a = r;\n if ((u = A.event) != null && u.rcbStartSpeakAudio) {\n const c = await o(S.START_SPEAK_AUDIO, { textToRead: a });\n if (c.defaultPrevented)\n return;\n a = c.data.textToRead;\n }\n Xt(A, a);\n }, [A, e]);\n return {\n audioToggledOn: e,\n speakAudio: s,\n toggleAudio: n\n };\n}, yA = () => {\n var v, E, Q, O;\n const { settings: A } = H(), { messages: e, setMessages: t } = qA(), o = $(e);\n X(() => {\n o.current = e;\n }, [e]);\n const {\n audioToggledOn: n,\n isChatWindowOpen: s,\n isScrolling: r,\n setIsBotTyping: a,\n setUnreadCount: i\n } = eA(), { streamMessageMap: u, chatBodyRef: c } = AA(), { callRcbEvent: f } = wA(), { speakAudio: h } = ZA(), { playNotificationSound: d } = VA(), g = M(async (y, p = \"BOT\", m = null) => {\n var Z, z, Y, W, K;\n if (typeof y != \"string\")\n throw new Error(\"Content must be of type string to simulate stream.\");\n p = p.toUpperCase();\n let I = EA(y, p);\n if ((Z = A.event) != null && Z.rcbStartSimulateStreamMessage) {\n const L = await f(S.START_SIMULATE_STREAM_MESSAGE, { message: I });\n if (L.defaultPrevented)\n return null;\n m = L.data.simulateStreamChunker ? L.data.simulateStreamChunker : m, I = L.data.message;\n }\n a(!1);\n let x = 30;\n (z = A.botBubble) != null && z.streamSpeed ? x = (Y = A.botBubble) == null ? void 0 : Y.streamSpeed : x = (W = A.userBubble) == null ? void 0 : W.streamSpeed;\n const U = { ...I, content: \"\" };\n t((L) => {\n const R = [...L, U];\n return C(R), R;\n });\n let k = I.content;\n m && (k = m(k));\n let N = 0;\n const V = k.length, oA = new Promise((L) => {\n const R = setInterval(() => {\n if (N >= V) {\n clearInterval(R), L();\n return;\n }\n t((_) => {\n const tA = [..._];\n for (let aA = tA.length - 1; aA >= 0; aA--)\n if (tA[aA].id === U.id) {\n const SA = k[N];\n SA && (U.content += SA, tA[aA] = U), N++;\n break;\n }\n return tA;\n });\n }, x);\n });\n return i((L) => L + 1), await oA, jA(e), (K = A.event) != null && K.rcbStopSimulateStreamMessage && (await f(S.STOP_SIMULATE_STREAM_MESSAGE, { message: I })).defaultPrevented, I.id;\n }, [A, e, f]), D = M(async (y, p = \"BOT\") => {\n var I, x, U;\n p = p.toUpperCase();\n let m = EA(y, p);\n if ((I = A.event) != null && I.rcbPreInjectMessage) {\n const k = await f(S.PRE_INJECT_MESSAGE, { message: m });\n if (k.defaultPrevented)\n return null;\n m = k.data.message;\n }\n return m.sender.toUpperCase() === \"BOT\" && (s || (x = A.general) != null && x.embedded) && typeof m.content == \"string\" && m.content.trim() !== \"\" && h(m.content), i((k) => k + 1), (U = A.event) != null && U.rcbPostInjectMessage && await f(S.POST_INJECT_MESSAGE, { message: m }), t((k) => {\n const N = [...k, m];\n return C(N), N;\n }), m.id;\n }, [A, n, s, f]), P = M(async (y) => {\n var m;\n const p = o.current.find((I) => I.id === y);\n return !p || (m = A.event) != null && m.rcbRemoveMessage && (await f(S.REMOVE_MESSAGE, { message: p })).defaultPrevented ? null : (t((I) => {\n const x = I.filter((U) => U.id !== y);\n return C(x), x;\n }), i((I) => Math.max(I - 1, 0)), y);\n }, [f, (v = A.event) == null ? void 0 : v.rcbRemoveMessage]), B = M(async (y, p = \"BOT\") => {\n var I, x;\n if (p = p.toUpperCase(), !u.current.has(p)) {\n const U = EA(y, p);\n return (I = A.event) != null && I.rcbStartStreamMessage && (await f(S.START_STREAM_MESSAGE, { message: U })).defaultPrevented ? null : (a(!1), t((k) => {\n const N = [...k, U];\n return C(N), [...k, U];\n }), u.current.set(p, U.id), i((k) => k + 1), U.id);\n }\n const m = { ...EA(y, p), id: u.current.get(p) };\n return (x = A.event) != null && x.rcbChunkStreamMessage && (await f(S.CHUNK_STREAM_MESSAGE, { message: m })).defaultPrevented ? null : (t((U) => {\n const k = [...U];\n for (let N = k.length - 1; N >= 0; N--)\n if (k[N].id === m.id) {\n k[N] = m;\n break;\n }\n return C(k), k;\n }), u.current.get(p) ?? null);\n }, [f, (E = A.event) == null ? void 0 : E.rcbChunkStreamMessage, (Q = A.event) == null ? void 0 : Q.rcbStartStreamMessage, u]), w = M(async (y = \"BOT\") => {\n var I;\n if (y = y.toUpperCase(), !u.current.has(y))\n return !0;\n const p = u.current.get(y), m = o.current.find((x) => x.id === p);\n return (I = A.event) != null && I.rcbStopStreamMessage && (await f(S.STOP_STREAM_MESSAGE, { messageToEndStreamFor: m })).defaultPrevented ? !1 : (u.current.delete(y), jA(o.current), !0);\n }, [f, (O = A.event) == null ? void 0 : O.rcbStopStreamMessage, u]), C = (y) => {\n var I, x;\n jA(y);\n let p = !0;\n (y.length === 0 || s && !r) && (p = !1), (I = A.general) != null && I.embedded && pe(c.current) && (p = !1);\n const m = y[y.length - 1];\n (!m || m.sender.toUpperCase() === \"USER\") && (p = !1), p && d(), ((x = A.chatWindow) != null && x.autoJumpToBottom || !r) && setTimeout(() => {\n c != null && c.current && (c.current.scrollTop = c.current.scrollHeight);\n }, 1);\n }, b = M((y) => {\n C(y), t(y);\n }, [C]);\n return {\n endStreamMessage: w,\n injectMessage: D,\n removeMessage: P,\n simulateStreamMessage: g,\n streamMessage: B,\n messages: e,\n replaceMessages: b\n };\n};\nlet zA, fA, xA, CA = !1, lA = null;\nconst _A = () => {\n if (!zA) {\n const A = window.SpeechRecognition || window.webkitSpeechRecognition;\n zA = A != null ? new A() : null;\n }\n return zA;\n}, Wt = (A, e, t, o, n, s, r) => {\n var a;\n (a = A.voice) != null && a.sendAsAudio ? qt(t, s) : Kt(\n A,\n e,\n t,\n o,\n n,\n r\n );\n}, Kt = (A, e, t, o, n, s) => {\n var u, c, f;\n const r = _A();\n if (!r)\n return;\n if (!CA)\n try {\n CA = !0, r.lang = (u = A.voice) == null ? void 0 : u.language, r.start();\n } catch {\n }\n const a = (c = A.voice) == null ? void 0 : c.timeoutPeriod, i = (f = A.voice) == null ? void 0 : f.autoSendPeriod;\n r.onresult = (h) => {\n var g, D;\n clearTimeout(fA), fA = null, clearTimeout(xA);\n const d = h.results[h.results.length - 1][0].transcript;\n if (s.current) {\n const P = (g = A.chatInput) == null ? void 0 : g.characterLimit, B = s.current.value + d;\n P != null && P >= 0 && B.length > P ? o(B.slice(0, P)) : o(B), n(s.current.value.length);\n }\n a && (fA = setTimeout(async () => await GA(e, s), a)), (D = A.voice) != null && D.autoSendDisabled || (xA = setTimeout(t, i));\n }, r.onend = () => {\n CA ? (r.start(), !fA && a && (fA = setTimeout(async () => await GA(e, s), a))) : (clearTimeout(fA), fA = null, clearTimeout(xA));\n }, a && (fA = setTimeout(async () => await GA(e, s), a));\n}, qt = (A, e) => {\n navigator.mediaDevices.getUserMedia({ audio: !0 }).then((t) => {\n if (lA = new MediaRecorder(t), !CA)\n try {\n CA = !0, lA.start();\n } catch {\n }\n lA.ondataavailable = (o) => {\n e.current && e.current.push(o.data);\n }, lA.onstop = () => {\n A(), t.getTracks().forEach((o) => o.stop());\n };\n }).catch((t) => {\n console.error(\"Unable to use microphone:\", t);\n });\n}, $A = () => {\n const A = _A();\n A && (CA = !1, A && A.stop(), lA && lA.state !== \"inactive\" && (lA.stop(), lA = null), clearTimeout(fA), fA = null, clearTimeout(xA));\n}, Jt = (A, e) => {\n var o, n, s;\n const t = _A();\n (o = e.voice) != null && o.disabled || !((n = e.chatInput) != null && n.blockSpam) || !t || (A && !CA ? (CA = !0, (s = e.voice) != null && s.sendAsAudio ? lA == null || lA.start() : t.start()) : A || $A());\n}, GA = async (A, e) => {\n var t;\n (t = e.current) != null && t.disabled || await A(), $A();\n}, UA = () => {\n const { settings: A } = H(), { voiceToggledOn: e, setVoiceToggledOn: t } = eA(), { callRcbEvent: o } = wA(), n = M(async () => {\n var r;\n (r = A.event) != null && r.rcbToggleVoice && (await o(\n S.TOGGLE_VOICE,\n { currState: e, newState: !e }\n )).defaultPrevented || t((a) => !a);\n }, [e]), s = M((r) => {\n Jt(r, A);\n }, [A]);\n return {\n voiceToggledOn: e,\n toggleVoice: n,\n syncVoice: s\n };\n}, mA = () => {\n const { settings: A } = H(), {\n inputLength: e,\n setInputLength: t,\n textAreaDisabled: o,\n setTextAreaDisabled: n,\n textAreaSensitiveMode: s,\n setTextAreaSensitiveMode: r\n } = eA(), { inputRef: a, chatBodyRef: i, prevInputRef: u } = AA(), { callRcbEvent: c } = wA(), f = M(async (w) => {\n var C, b, v;\n if (o && a.current) {\n a.current.value = \"\";\n return;\n }\n if (a.current && u.current !== null) {\n const E = (C = A.chatInput) == null ? void 0 : C.characterLimit, O = ((b = A.chatInput) == null ? void 0 : b.allowNewline) ? w : w.replace(/\\n/g, \" \");\n if (E != null && E >= 0 && O.length > E ? a.current.value = O.slice(0, E) : a.current.value = O, (v = A.event) != null && v.rcbTextAreaChangeValue && (await c(\n S.TEXT_AREA_CHANGE_VALUE,\n { currValue: a.current.value, prevValue: u.current }\n )).defaultPrevented) {\n a.current.value = u.current;\n return;\n }\n u.current = a.current.value;\n }\n }, [o, a, u, A, c]), h = M((w) => {\n var C;\n (C = a.current) != null && C.disabled || setTimeout(() => {\n var b, v, E;\n (b = A.general) != null && b.embedded ? pe(i == null ? void 0 : i.current) && ((v = a.current) == null || v.focus()) : w !== \"start\" && ((E = a.current) == null || E.focus());\n }, 100);\n }, []), d = M(() => {\n !o && a.current && a.current.focus();\n }, [o]), g = M(() => {\n a.current && a.current.blur();\n }, []), D = M(() => a && a.current ? a.current.value : \"\", []), P = M(() => {\n n((w) => !w);\n }, []), B = M(() => {\n r((w) => !w);\n }, []);\n return {\n textAreaDisabled: o,\n setTextAreaDisabled: n,\n textAreaSensitiveMode: s,\n setTextAreaSensitiveMode: r,\n inputLength: e,\n setInputLength: t,\n getTextAreaValue: D,\n setTextAreaValue: f,\n updateTextAreaFocus: h,\n focusTextArea: d,\n blurTextArea: g,\n toggleTextAreaDisabled: P,\n toggleTextAreaSensitiveMode: B\n };\n}, Ie = bA({ toasts: [], setToasts: () => null }), Se = () => QA(Ie), Vt = ({ children: A }) => {\n const [e, t] = T([]);\n return /* @__PURE__ */ l(Ie.Provider, { value: { toasts: e, setToasts: t }, children: A });\n}, pA = () => {\n const { settings: A } = H(), { toasts: e, setToasts: t } = Se(), { callRcbEvent: o } = wA(), n = $(e);\n X(() => {\n n.current = e;\n }, [e]);\n const s = M(async (i, u) => {\n var g, D, P, B;\n let c = null;\n if (n.current.length >= (((g = A.toast) == null ? void 0 : g.maxCount) ?? 3)) {\n if ((D = A.toast) != null && D.forbidOnMax)\n return null;\n c = LA();\n let w = { id: c, content: i, timeout: u };\n if ((P = A.event) != null && P.rcbShowToast) {\n const C = await o(S.SHOW_TOAST, { toast: w });\n if (C.defaultPrevented)\n return null;\n w = C.data.toast;\n }\n return t((C) => [...C.slice(1), w]), c;\n }\n c = LA();\n let d = { id: c, content: i, timeout: u };\n if ((B = A.event) != null && B.rcbShowToast) {\n const w = await o(S.SHOW_TOAST, { toast: d });\n if (w.defaultPrevented)\n return null;\n d = w.data.toast;\n }\n return t((w) => [...w, d]), c;\n }, [A, o, t]), r = M(async (i) => {\n var c;\n const u = e.find((f) => f.id === i);\n return !u || (c = A.event) != null && c.rcbDismissToast && (await o(S.DISMISS_TOAST, { toast: u })).defaultPrevented ? null : (t((f) => f.filter((h) => h.id !== i)), i);\n }, [o, t]), a = M((i) => {\n t(i);\n }, []);\n return {\n showToast: s,\n dismissToast: r,\n toasts: e,\n replaceToasts: a\n };\n}, IA = () => {\n var k, N, V, oA;\n const { settings: A } = H(), {\n endStreamMessage: e,\n injectMessage: t,\n removeMessage: o,\n simulateStreamMessage: n,\n streamMessage: s\n } = yA(), { getCurrPath: r, getPrevPath: a, goToPath: i } = kA(), {\n timeoutId: u,\n voiceToggledOn: c,\n setTextAreaSensitiveMode: f,\n textAreaSensitiveMode: h,\n setTextAreaDisabled: d,\n setIsBotTyping: g,\n setBlockAllowsAttachment: D,\n setInputLength: P\n } = eA(), { flowRef: B, chatBodyRef: w, inputRef: C, keepVoiceOnRef: b, paramsInputRef: v } = AA(), { showToast: E, dismissToast: Q } = pA(), { callRcbEvent: O } = wA(), { syncVoice: y } = UA(), { setTextAreaValue: p } = mA(), { openChat: m } = gA(), I = M(async (Z) => {\n var W, K, L, R, _, tA;\n const z = r();\n if (!(!z || !B.current[z])) {\n if (h) {\n if ((W = A == null ? void 0 : A.sensitiveInput) != null && W.hideInUserBubble)\n return;\n if ((K = A == null ? void 0 : A.sensitiveInput) != null && K.maskInUserBubble) {\n (L = A.userBubble) != null && L.simulateStream ? await n(\n \"*\".repeat(((R = A.sensitiveInput) == null ? void 0 : R.asterisksCount) ?? 10),\n \"USER\"\n ) : await t(\"*\".repeat(((_ = A.sensitiveInput) == null ? void 0 : _.asterisksCount) ?? 10), \"USER\");\n return;\n }\n }\n (tA = A.userBubble) != null && tA.simulateStream ? await n(Z, \"USER\") : await t(Z, \"USER\");\n }\n }, [B, r, A, t, h]), x = M(async (Z, z, Y = !0) => {\n var W, K;\n z = z.trim(), z !== \"\" && (Y && await I(z), u && clearTimeout(u), v.current = z, w.current && (w.current.scrollTop = w.current.scrollHeight), C.current && (p(\"\"), P(0)), (W = A.chatInput) != null && W.blockSpam && d(!0), b.current = c, y(!1), setTimeout(() => {\n g(!0);\n }, 400), f(!1), setTimeout(async () => {\n var _;\n const L = {\n prevPath: a(),\n currPath: r(),\n goToPath: i,\n setTextAreaValue: p,\n userInput: z,\n injectMessage: t,\n simulateStreamMessage: n,\n streamMessage: s,\n removeMessage: o,\n endStreamMessage: e,\n openChat: m,\n showToast: E,\n dismissToast: Q\n };\n if (!await Ce(B.current, L)) {\n const tA = r();\n if (!tA)\n return;\n const aA = B.current[tA];\n if (!aA)\n return;\n aA.chatDisabled || d((_ = A.chatInput) == null ? void 0 : _.disabled), Ee(aA, L, f), D(typeof aA.file == \"function\"), y(b.current), g(!1);\n }\n }, (K = A.chatInput) == null ? void 0 : K.botDelay));\n }, [\n u,\n (k = A.chatInput) == null ? void 0 : k.blockSpam,\n (N = A.chatInput) == null ? void 0 : N.botDelay,\n (V = A.chatInput) == null ? void 0 : V.disabled,\n b,\n c,\n y,\n I,\n a,\n r,\n i,\n t,\n s,\n o,\n e,\n m,\n E,\n Q,\n B\n ]);\n return { handleSubmitText: M(async (Z, z = !0) => {\n var W, K;\n if (Z = Z ?? ((W = C.current) == null ? void 0 : W.value), (K = A.event) != null && K.rcbUserSubmitText && (await O(S.USER_SUBMIT_TEXT, { inputText: Z, sendInChat: z })).defaultPrevented)\n return;\n const Y = r();\n Y && x(Y, Z, z);\n }, [O, r, x, C, (oA = A.event) == null ? void 0 : oA.rcbUserSubmitText]) };\n}, FA = () => {\n var t;\n const { settings: A } = H();\n return PA(() => {\n var r;\n if (typeof window > \"u\" || !window.navigator)\n return !1;\n if (!((r = A.device) != null && r.applyMobileOptimizations))\n return !0;\n const o = navigator.userAgent, n = !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(o), s = window.innerWidth >= 768;\n return n && s;\n }, [(t = A.device) == null ? void 0 : t.applyMobileOptimizations]);\n}, Zt = ({ buttons: A }) => {\n var x, U, k, N, V, oA, Z, z, Y, W, K;\n const e = FA(), { settings: t } = H(), { styles: o } = F(), {\n textAreaDisabled: n,\n textAreaSensitiveMode: s,\n inputLength: r,\n hasFlowStarted: a,\n setHasFlowStarted: i,\n setInputLength: u\n } = eA(), { inputRef: c } = AA(), [f, h] = T(!1), [d, g] = T(!1), { handleSubmitText: D } = IA(), { setTextAreaValue: P } = mA(), B = {\n boxSizing: e ? \"content-box\" : \"border-box\",\n ...o.chatInputAreaStyle\n }, w = {\n outline: n ? \"\" : \"none\",\n boxShadow: n ? \"\" : `0 0 5px ${(x = t.general) == null ? void 0 : x.primaryColor}`,\n boxSizing: e ? \"content-box\" : \"border-box\",\n ...o.chatInputAreaStyle,\n // by default inherit the base style for input area\n ...o.chatInputAreaFocusedStyle\n }, C = {\n cursor: `url(\"${(U = t.general) == null ? void 0 : U.actionDisabledIcon}\"), auto`,\n caretColor: \"transparent\",\n boxSizing: e ? \"content-box\" : \"border-box\",\n ...o.chatInputAreaStyle,\n // by default inherit the base style for input area\n ...o.chatInputAreaDisabledStyle\n }, b = {\n color: \"#989898\",\n ...o.characterLimitStyle\n }, v = {\n color: \"#ff0000\",\n ...o.characterLimitReachedStyle\n }, E = n ? (k = t.chatInput) == null ? void 0 : k.disabledPlaceholderText : (N = t.chatInput) == null ? void 0 : N.enabledPlaceholderText, Q = () => {\n n || h(!0);\n }, O = () => {\n h(!1);\n }, y = () => {\n g(!0);\n }, p = () => {\n g(!1);\n }, m = async (L) => {\n var R;\n if (!d && L.key === \"Enter\") {\n if (L.shiftKey) {\n (R = t.chatInput) != null && R.allowNewline || L.preventDefault();\n return;\n }\n L.preventDefault(), await D();\n }\n }, I = (L) => {\n c.current && (P(L.target.value), u(c.current.value.length));\n };\n return /* @__PURE__ */ j(\n \"div\",\n {\n \"aria-label\": ((V = t.ariaLabel) == null ? void 0 : V.inputTextArea) ?? \"input text area\",\n role: \"textbox\",\n onMouseDown: (L) => {\n var R;\n L.stopPropagation(), !a && ((R = t.general) == null ? void 0 : R.flowStartTrigger) === \"ON_CHATBOT_INTERACT\" && i(!0);\n },\n style: { ...o.chatInputContainerStyle },\n className: \"rcb-chat-input\",\n children: [\n s && ((oA = t.sensitiveInput) != null && oA.maskInTextArea) ? /* @__PURE__ */ l(\n \"input\",\n {\n ref: c,\n type: \"password\",\n className: \"rcb-chat-input-textarea\",\n style: n ? C : f ? w : B,\n placeholder: E,\n onChange: I,\n onKeyDown: m,\n onFocus: Q,\n onBlur: O,\n onCompositionStart: y,\n onCompositionEnd: p\n }\n ) : /* @__PURE__ */ l(\n \"textarea\",\n {\n ref: c,\n style: n ? C : f ? w : B,\n rows: 1,\n className: \"rcb-chat-input-textarea\",\n placeholder: E,\n onChange: I,\n onKeyDown: m,\n onFocus: Q,\n onBlur: O,\n onCompositionStart: y,\n onCompositionEnd: p\n }\n ),\n /* @__PURE__ */ j(nA, { children: [\n A == null ? void 0 : A.map(\n (L, R) => /* @__PURE__ */ l(WA, { children: L }, R)\n ),\n ((Z = t.chatInput) == null ? void 0 : Z.showCharacterCount) && ((z = t.chatInput) == null ? void 0 : z.characterLimit) != null && ((Y = t.chatInput) == null ? void 0 : Y.characterLimit) > 0 && /* @__PURE__ */ j(\n \"div\",\n {\n className: \"rcb-chat-input-char-counter\",\n style: r >= ((W = t.chatInput) == null ? void 0 : W.characterLimit) ? v : b,\n children: [\n r,\n \"/\",\n (K = t.chatInput) == null ? void 0 : K.characterLimit\n ]\n }\n )\n ] })\n ]\n }\n );\n}, _t = ({ buttons: A }) => {\n var o;\n const { settings: e } = H(), { styles: t } = F();\n return /* @__PURE__ */ j(\n \"div\",\n {\n \"data-testid\": \"chatbot-footer-container\",\n style: { ...t.footerStyle },\n className: \"rcb-chat-footer-container\",\n children: [\n /* @__PURE__ */ l(\"div\", { className: \"rcb-chat-footer\", children: A == null ? void 0 : A.map(\n (n, s) => /* @__PURE__ */ l(WA, { children: n }, s)\n ) }),\n /* @__PURE__ */ l(\"span\", { children: (o = e.footer) == null ? void 0 : o.text })\n ]\n }\n );\n}, $t = () => {\n var i, u, c, f, h, d, g;\n const { settings: A } = H(), { styles: e } = F(), { unreadCount: t } = eA(), { isChatWindowOpen: o, toggleChatWindow: n } = gA(), s = {\n backgroundImage: `linear-gradient(to right, ${(i = A.general) == null ? void 0 : i.secondaryColor},\n\t\t\t${(u = A.general) == null ? void 0 : u.primaryColor})`,\n ...e.chatButtonStyle\n }, r = {\n backgroundImage: `url(${(c = A.chatButton) == null ? void 0 : c.icon})`,\n fill: \"#fff\",\n width: 75,\n height: 75,\n ...e.chatIconStyle\n }, a = () => {\n var P;\n const D = (P = A.chatButton) == null ? void 0 : P.icon;\n return !D || typeof D == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-toggle-icon\",\n style: r\n }\n ) : D && /* @__PURE__ */ l(\"span\", { className: \"rcb-toggle-icon\", children: /* @__PURE__ */ l(D, { style: r }) });\n };\n return /* @__PURE__ */ l(nA, { children: !((f = A.general) != null && f.embedded) && /* @__PURE__ */ j(\n \"div\",\n {\n \"aria-label\": ((h = A.ariaLabel) == null ? void 0 : h.chatButton) ?? \"open chat\",\n role: \"button\",\n style: s,\n className: `rcb-toggle-button ${o ? \"rcb-button-hide\" : \"rcb-button-show\"}`,\n onClick: n,\n children: [\n a(),\n !((d = A.notification) != null && d.disabled) && ((g = A.notification) == null ? void 0 : g.showCount) && /* @__PURE__ */ l(\"span\", { style: { ...e.notificationBadgeStyle }, className: \"rcb-badge\", children: t })\n ]\n }\n ) });\n}, Ao = () => {\n var d, g, D, P;\n const A = FA(), { settings: e } = H(), { styles: t } = F(), { isChatWindowOpen: o, openChat: n } = gA(), [s, r] = T(!1), [a, i] = T(!1), [u, c] = T(0);\n X(() => {\n var w, C, b;\n const B = (w = e.tooltip) == null ? void 0 : w.mode;\n if (B === \"ALWAYS\")\n if (A) {\n let v;\n o ? v = (((C = t.chatWindowStyle) == null ? void 0 : C.width) ?? 375) - (((b = t.chatButtonStyle) == null ? void 0 : b.width) ?? 75) : v = 0, c(v), r(!0);\n } else\n r(!o);\n else B === \"NEVER\" ? r(!1) : B === \"START\" ? a ? r(!1) : (i(!0), r(!0)) : B === \"CLOSE\" && r(!o);\n }, [o]);\n const f = {\n transform: `translateX(-${u}px)`,\n right: (((d = t.chatButtonStyle) == null ? void 0 : d.width) ?? 75) + 40,\n bottom: 30,\n backgroundColor: (g = e.general) == null ? void 0 : g.secondaryColor,\n color: \"#fff\",\n ...t.tooltipStyle\n }, h = {\n borderColor: `transparent transparent transparent ${f.backgroundColor}`\n };\n return /* @__PURE__ */ l(nA, { children: !((D = e.general) != null && D.embedded) && /* @__PURE__ */ j(\n \"div\",\n {\n \"data-testid\": \"chat-tooltip\",\n style: f,\n className: `rcb-chat-tooltip ${s ? \"rcb-tooltip-show\" : \"rcb-tooltip-hide\"}`,\n onClick: () => n(!0),\n children: [\n /* @__PURE__ */ l(\"span\", { children: (P = e.tooltip) == null ? void 0 : P.text }),\n /* @__PURE__ */ l(\"span\", { className: \"rcb-chat-tooltip-tail\", style: h })\n ]\n }\n ) });\n}, eo = ({\n id: A,\n content: e,\n timeout: t\n}) => {\n var h, d;\n const { settings: o } = H(), { styles: n } = F(), [s] = T({\n toastPromptStyle: { ...n.toastPromptStyle },\n toastPromptHoveredStyle: { ...n.toastPromptHoveredStyle }\n }), { dismissToast: r } = pA(), [a, i] = T(!1), u = {\n color: (h = o.general) == null ? void 0 : h.primaryColor,\n borderColor: (d = o.general) == null ? void 0 : d.primaryColor,\n ...s.toastPromptHoveredStyle\n };\n return X(() => {\n if (t) {\n const g = setTimeout(() => {\n r(A);\n }, t);\n return () => clearTimeout(g);\n }\n }, [A, r, t]), typeof e == \"string\" ? /* @__PURE__ */ l(\n \"div\",\n {\n onMouseEnter: () => {\n i(!0);\n },\n onMouseLeave: () => {\n i(!1);\n },\n style: a ? u : s.toastPromptStyle,\n onMouseDown: async (g) => {\n var D;\n (D = o.toast) != null && D.dismissOnClick && (g.preventDefault(), await r(A));\n },\n className: \"rcb-toast-prompt\",\n children: e\n }\n ) : /* @__PURE__ */ l(nA, { children: e });\n}, to = () => {\n var o, n, s, r;\n const { styles: A } = F(), { toasts: e } = Se(), t = {\n bottom: (((o = A.footerStyle) == null ? void 0 : o.height) ?? 50) + (((n = A.chatInputContainerStyle) == null ? void 0 : n.height) ?? 70) + 20,\n width: 300,\n minWidth: (((s = A.chatWindowStyle) == null ? void 0 : s.width) ?? 375) / 2,\n maxWidth: (((r = A.chatWindowStyle) == null ? void 0 : r.width) ?? 375) - 50,\n ...A.toastPromptContainerStyle\n };\n return /* @__PURE__ */ l(\"div\", { className: \"rcb-toast-prompt-container\", style: t, children: e.map((a) => /* @__PURE__ */ l(\n eo,\n {\n id: a.id,\n content: a.content,\n timeout: a.timeout\n },\n a.id\n )) });\n}, Te = ({\n file: A,\n fileType: e,\n fileUrl: t\n}) => {\n var r, a, i;\n const { settings: o } = H(), { styles: n } = F(), s = {\n backgroundColor: (r = o.general) == null ? void 0 : r.primaryColor,\n maxWidth: (a = o.userBubble) != null && a.showAvatar ? \"65%\" : \"70%\",\n ...n.mediaDisplayContainerStyle\n };\n return /* @__PURE__ */ l(nA, { children: t ? /* @__PURE__ */ j(nA, { children: [\n e === \"image\" && t && /* @__PURE__ */ l(\n \"div\",\n {\n style: s,\n className: \"rcb-media-display-image-container rcb-media-entry\",\n \"data-testid\": \"media-display-image-container\",\n children: /* @__PURE__ */ l(\"img\", { src: t, alt: \"Image Display\", className: \"rcb-media-display-image\" })\n }\n ),\n e === \"video\" && t && /* @__PURE__ */ l(\n \"div\",\n {\n style: s,\n className: \"rcb-media-display-video-container rcb-media-entry\",\n \"data-testid\": \"media-display-video-container\",\n children: /* @__PURE__ */ j(\"video\", { controls: !0, className: \"rcb-media-display-video\", children: [\n /* @__PURE__ */ l(\"source\", { src: t, type: A.type }),\n \"Your browser does not support the video tag.\"\n ] })\n }\n ),\n e === \"audio\" && t && /* @__PURE__ */ j(\n \"audio\",\n {\n \"data-testid\": \"media-display-audio-container\",\n style: {\n maxWidth: (i = o.userBubble) != null && i.showAvatar ? \"65%\" : \"70%\"\n },\n controls: !0,\n className: \"rcb-media-display-audio rcb-media-entry\",\n children: [\n /* @__PURE__ */ l(\"source\", { src: t, type: A.type }),\n \"Your browser does not support the audio tag.\"\n ]\n }\n )\n ] }) : /* @__PURE__ */ l(nA, {}) });\n}, Me = async (A) => {\n if (!A)\n return { fileType: null, fileUrl: null };\n const e = A.type.split(\"/\")[0];\n if (![\"image\", \"video\", \"audio\"].includes(e))\n return { fileType: null, fileUrl: null };\n try {\n const t = await new Promise((o, n) => {\n const s = new FileReader();\n s.onload = () => o(s.result), s.onerror = () => n(new Error(\"File reading failed\")), s.readAsDataURL(A);\n });\n return { fileType: e, fileUrl: t };\n } catch (t) {\n return console.error(t), { fileType: null, fileUrl: null };\n }\n}, oo = () => {\n var y, p, m, I, x, U;\n const { settings: A } = H(), { styles: e } = F(), {\n injectMessage: t,\n simulateStreamMessage: o,\n streamMessage: n,\n removeMessage: s,\n endStreamMessage: r\n } = yA(), { getCurrPath: a, getPrevPath: i, goToPath: u, blockAllowsAttachment: c } = kA(), { flowRef: f, inputRef: h } = AA(), d = f.current, { showToast: g, dismissToast: D } = pA(), { callRcbEvent: P } = wA(), { openChat: B } = gA(), { setTextAreaValue: w } = mA(), { handleSubmitText: C } = IA(), b = {\n cursor: `url(\"${(y = A.general) == null ? void 0 : y.actionDisabledIcon}\"), auto`,\n ...e.fileAttachmentButtonStyle,\n // by default inherit the base style\n ...e.fileAttachmentButtonDisabledStyle\n }, v = {\n backgroundImage: `url(${(p = A.fileAttachment) == null ? void 0 : p.icon})`,\n fill: \"#a6a6a6\",\n ...e.fileAttachmentIconStyle\n }, E = {\n backgroundImage: `url(${(m = A.fileAttachment) == null ? void 0 : m.icon})`,\n fill: \"#a6a6a6\",\n ...e.fileAttachmentIconStyle,\n // by default inherit the base style\n ...e.fileAttachmentIconDisabledStyle\n }, Q = async (k) => {\n var z, Y, W, K;\n const N = k.target.files;\n if (!N || (z = A.event) != null && z.rcbUserUploadFile && (await P(S.USER_UPLOAD_FILE, { files: N })).defaultPrevented)\n return;\n const V = a();\n if (!V)\n return;\n const oA = d[V];\n if (!oA)\n return;\n const Z = oA.file;\n if (Z != null) {\n const L = [];\n for (let R = 0; R < N.length; R++) {\n if (L.push(N[R].name), !((Y = A.fileAttachment) != null && Y.showMediaDisplay))\n continue;\n const _ = await Me(N[R]);\n !_.fileType || !_.fileUrl || await t(/* @__PURE__ */ l(\n Te,\n {\n file: N[R],\n fileType: _.fileType,\n fileUrl: _.fileUrl\n }\n ), \"USER\");\n }\n await C(\"📄 \" + L.join(\", \"), (W = A.fileAttachment) == null ? void 0 : W.sendFileName), await Z({\n userInput: (K = h.current) == null ? void 0 : K.value,\n prevPath: i(),\n currPath: a(),\n goToPath: u,\n setTextAreaValue: w,\n injectMessage: t,\n simulateStreamMessage: o,\n streamMessage: n,\n removeMessage: s,\n endStreamMessage: r,\n openChat: B,\n showToast: g,\n dismissToast: D,\n files: N\n });\n }\n }, O = () => {\n var N, V;\n const k = c ? (N = A.fileAttachment) == null ? void 0 : N.icon : (V = A.fileAttachment) == null ? void 0 : V.iconDisabled;\n return !k || typeof k == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: c ? \"rcb-attach-icon-enabled\" : \"rcb-attach-icon-disabled\",\n style: c ? v : E\n }\n ) : k && /* @__PURE__ */ l(\"span\", { className: c ? \"rcb-attach-icon-enabled\" : \"rcb-attach-icon-disabled\", children: /* @__PURE__ */ l(\n k,\n {\n style: c ? v : E\n }\n ) });\n };\n return /* @__PURE__ */ j(\n \"label\",\n {\n \"aria-label\": ((I = A.ariaLabel) == null ? void 0 : I.fileAttachmentButton) ?? \"upload file\",\n role: \"button\",\n className: c ? \"rcb-attach-button-enabled\" : \"rcb-attach-button-disabled\",\n style: c ? { ...e.fileAttachmentButtonStyle } : b,\n children: [\n /* @__PURE__ */ l(\n \"input\",\n {\n className: \"rcb-attach-input\",\n role: \"file\",\n type: \"file\",\n onChange: Q,\n multiple: (x = A.fileAttachment) == null ? void 0 : x.multiple,\n accept: (U = A.fileAttachment) == null ? void 0 : U.accept,\n disabled: !c\n }\n ),\n O()\n ]\n }\n );\n}, no = () => {\n var D, P, B, w, C, b;\n const { settings: A } = H(), { styles: e } = F(), { inputRef: t } = AA(), { textAreaDisabled: o, setTextAreaValue: n } = mA(), s = $(null), r = $(null), [a, i] = T(!1), u = {\n cursor: `url(\"${(D = A.general) == null ? void 0 : D.actionDisabledIcon}\"), auto`,\n ...e.emojiButtonStyle,\n // by default inherit the base style\n ...e.emojiButtonDisabledStyle\n }, c = {\n backgroundImage: `url(${(P = A.emoji) == null ? void 0 : P.icon})`,\n fill: \"#a6a6a6\",\n ...e.emojiIconStyle\n }, f = {\n backgroundImage: `url(${(B = A.emoji) == null ? void 0 : B.icon})`,\n fill: \"#a6a6a6\",\n ...e.emojiIconStyle,\n // by default inherit the base style\n ...e.emojiIconDisabledStyle\n };\n X(() => {\n const v = (O) => {\n const y = O.composedPath();\n s.current && !y.includes(s.current) && r.current && !y.includes(r.current) && i(!1);\n }, E = () => {\n if (s.current && r.current) {\n const O = r.current.getBoundingClientRect(), y = s.current.offsetHeight, p = O.top - y - 8;\n s.current.style.left = `${O.left}px`, s.current.style.top = `${p}px`;\n }\n }, Q = () => {\n E();\n };\n return document.addEventListener(\"mousedown\", v), window.addEventListener(\"resize\", Q), () => {\n document.removeEventListener(\"mousedown\", v), window.removeEventListener(\"resize\", Q);\n };\n }, []);\n const h = (v, E) => {\n v.preventDefault(), t.current && (n(t.current.value + E), setTimeout(() => {\n const Q = t.current;\n if (Q) {\n Q.focus();\n const O = Q.value.length;\n Q.setSelectionRange(O, O);\n }\n }, 50)), i(!1);\n }, d = (v) => {\n v.preventDefault(), i(o ? !1 : !a);\n }, g = () => {\n var E, Q;\n const v = o ? (E = A.emoji) == null ? void 0 : E.iconDisabled : (Q = A.emoji) == null ? void 0 : Q.icon;\n return !v || typeof v == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: `${o ? \"rcb-emoji-icon-disabled\" : \"rcb-emoji-icon-enabled\"}`,\n style: o ? f : c\n }\n ) : v && /* @__PURE__ */ l(\"span\", { className: `${o ? \"rcb-emoji-icon-disabled\" : \"rcb-emoji-icon-enabled\"}`, children: /* @__PURE__ */ l(v, { style: o ? f : c }) });\n };\n return /* @__PURE__ */ j(nA, { children: [\n /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((w = A.ariaLabel) == null ? void 0 : w.emojiButton) ?? \"emoji picker\",\n role: \"button\",\n ref: r,\n className: `${o ? \"rcb-emoji-button-disabled\" : \"rcb-emoji-button-enabled\"}`,\n style: o ? u : { ...e.emojiButtonStyle },\n onMouseDown: d,\n children: g()\n }\n ),\n a && /* @__PURE__ */ l(\"div\", { className: \"rcb-emoji-button-popup\", ref: s, children: (b = (C = A.emoji) == null ? void 0 : C.list) == null ? void 0 : b.map((v, E) => /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-emoji\",\n onMouseDown: (Q) => h(Q, v),\n children: v\n },\n E\n )) })\n ] });\n}, so = () => {\n var a, i, u;\n const { settings: A } = H(), { styles: e } = F(), { audioToggledOn: t, toggleAudio: o } = ZA(), n = {\n backgroundImage: `url(${(a = A.audio) == null ? void 0 : a.icon})`,\n fill: \"#fcec3d\",\n ...e.audioIconStyle\n }, s = {\n backgroundImage: `url(${(i = A.audio) == null ? void 0 : i.iconDisabled})`,\n fill: \"#e8eaed\",\n ...e.audioIconStyle,\n // by default inherit the base style\n ...e.audioIconDisabledStyle\n }, r = () => {\n var f, h;\n const c = t ? (f = A.audio) == null ? void 0 : f.icon : (h = A.audio) == null ? void 0 : h.iconDisabled;\n return !c || typeof c == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-audio-icon\",\n \"data-testid\": \"rcb-audio-icon\",\n style: t ? n : s\n }\n ) : c && /* @__PURE__ */ l(\"span\", { className: \"rcb-audio-icon\", \"data-testid\": \"rcb-audio-icon\", children: /* @__PURE__ */ l(\n c,\n {\n style: t ? n : s,\n \"data-testid\": \"rcb-audio-icon-svg\"\n }\n ) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((u = A.ariaLabel) == null ? void 0 : u.audioButton) ?? \"toggle audio\",\n role: \"button\",\n onMouseDown: async (c) => {\n c.preventDefault(), await o();\n },\n style: t ? { ...e.audioButtonStyle } : { ...e.audioButtonStyle, ...e.audioButtonDisabledStyle },\n children: r()\n }\n );\n}, ro = () => {\n var s, r;\n const { settings: A } = H(), { styles: e } = F(), { openChat: t } = gA(), o = {\n backgroundImage: `url(${(s = A.header) == null ? void 0 : s.closeChatIcon})`,\n fill: \"#e8eaed\",\n stroke: \"#e8eaed\",\n ...e.closeChatIconStyle\n }, n = () => {\n var i;\n const a = (i = A.header) == null ? void 0 : i.closeChatIcon;\n return !a || typeof a == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-close-chat-icon\",\n \"data-testid\": \"rcb-close-chat-icon\",\n style: o\n }\n ) : a && /* @__PURE__ */ l(\"span\", { className: \"rcb-close-chat-icon\", \"data-testid\": \"rcb-close-chat-icon\", children: /* @__PURE__ */ l(a, { style: o }) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((r = A.ariaLabel) == null ? void 0 : r.closeChatButton) ?? \"close chat\",\n role: \"button\",\n onMouseDown: (a) => {\n a.stopPropagation(), t(!1);\n },\n style: { ...e.closeChatButtonStyle },\n children: n()\n }\n );\n}, ao = () => {\n const { notificationsToggledOn: A, toggleNotifications: e, playNotificationSound: t } = VA();\n return {\n notificationsToggledOn: A,\n toggleNotifications: e,\n playNotificationSound: t\n };\n}, io = () => {\n var a, i, u;\n const { settings: A } = H(), { styles: e } = F(), { notificationsToggledOn: t, toggleNotifications: o } = ao(), n = {\n backgroundImage: `url(${(a = A.notification) == null ? void 0 : a.icon})`,\n fill: \"#fcec3d\",\n ...e.notificationIconStyle\n }, s = {\n backgroundImage: `url(${(i = A.notification) == null ? void 0 : i.iconDisabled})`,\n fill: \"#e8eaed\",\n ...e.notificationIconStyle,\n // by default inherit the base style\n ...e.notificationIconDisabledStyle\n }, r = () => {\n var f, h;\n const c = t ? (f = A.notification) == null ? void 0 : f.icon : (h = A.notification) == null ? void 0 : h.iconDisabled;\n return !c || typeof c == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-notification-icon\",\n \"data-testid\": \"rcb-notification-icon\",\n style: t ? n : s\n }\n ) : c && /* @__PURE__ */ l(\"span\", { className: \"rcb-notification-icon\", \"data-testid\": \"rcb-notification-icon\", children: /* @__PURE__ */ l(\n c,\n {\n style: t ? n : s,\n \"data-testid\": \"rcb-notification-icon-svg\"\n }\n ) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((u = A.ariaLabel) == null ? void 0 : u.notificationButton) ?? \"toggle notifications\",\n role: \"button\",\n onMouseDown: async (c) => {\n c.preventDefault(), await o();\n },\n style: t ? { ...e.notificationButtonStyle } : { ...e.notificationButtonStyle, ...e.notificationButtonDisabledStyle },\n children: r()\n }\n );\n}, co = () => {\n var w, C, b;\n const { settings: A } = H(), { styles: e } = F(), { injectMessage: t } = yA(), { inputRef: o } = AA(), { voiceToggledOn: n, toggleVoice: s } = UA(), { setInputLength: r, setTextAreaValue: a, textAreaDisabled: i } = mA(), { handleSubmitText: u } = IA(), c = $([]), [f, h] = T(!1);\n X(() => {\n var v;\n (v = A.voice) != null && v.sendAsAudio ? (P(), c.current = []) : u();\n }, [f]), X(() => {\n n ? Wt(\n A,\n s,\n D,\n a,\n r,\n c,\n o\n ) : $A();\n }, [n]);\n const d = {\n backgroundImage: `url(${(w = A.voice) == null ? void 0 : w.icon})`,\n fill: \"#9aa0a6\",\n ...e.voiceIconStyle\n }, g = {\n backgroundImage: `url(${(C = A.voice) == null ? void 0 : C.iconDisabled})`,\n fill: \"#9aa0a6\",\n ...e.voiceIconStyle,\n // by default inherit the base style\n ...e.voiceIconDisabledStyle\n }, D = () => {\n h((v) => !v);\n }, P = async () => {\n const v = new Blob(c.current, { type: \"audio/wav\" }), E = new File([v], \"voice-input.wav\", { type: \"audio/wav\" }), Q = await Me(E);\n !Q.fileType || !Q.fileUrl || await t(/* @__PURE__ */ l(\n Te,\n {\n file: E,\n fileType: Q.fileType,\n fileUrl: Q.fileUrl\n }\n ), \"USER\");\n }, B = () => {\n var E, Q;\n const v = n ? (E = A.voice) == null ? void 0 : E.icon : (Q = A.voice) == null ? void 0 : Q.iconDisabled;\n return !v || typeof v == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: `rcb-voice-icon${n && !i ? \"-on\" : \"\"}`,\n \"data-testid\": \"rcb-voice-icon\",\n style: n && !i ? d : g\n }\n ) : v && /* @__PURE__ */ l(\"span\", { className: `rcb-voice-icon ${n && !i ? \"on\" : \"\"}`, children: /* @__PURE__ */ l(v, { style: n && !i ? d : g }) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((b = A.ariaLabel) == null ? void 0 : b.voiceButton) ?? \"toggle voice\",\n role: \"button\",\n onMouseDown: async (v) => {\n v.preventDefault(), !i && await s();\n },\n style: n && !i ? { ...e.voiceButtonStyle } : { ...e.voiceButtonStyle, ...e.voiceButtonDisabledStyle },\n className: n && !i ? \"rcb-voice-button-enabled\" : \"rcb-voice-button-disabled\",\n children: B()\n }\n );\n}, lo = () => {\n var D, P, B, w, C, b, v, E;\n const { settings: A } = H(), { styles: e } = F(), { textAreaDisabled: t } = eA(), [o, n] = T(!1), { handleSubmitText: s } = IA(), r = {\n backgroundColor: (D = A.general) == null ? void 0 : D.primaryColor,\n ...e.sendButtonStyle\n }, a = {\n cursor: `url(\"${(P = A.general) == null ? void 0 : P.actionDisabledIcon}\"), auto`,\n backgroundColor: (B = A.general) == null ? void 0 : B.primaryColor,\n ...e.sendButtonStyle,\n // by default inherit the base style\n ...e.sendButtonDisabledStyle\n }, i = {\n backgroundColor: (w = A.general) == null ? void 0 : w.secondaryColor,\n ...e.sendButtonStyle,\n // by default inherit the base style\n ...e.sendButtonHoveredStyle\n }, u = {\n backgroundImage: `url(${(C = A.chatInput) == null ? void 0 : C.sendButtonIcon})`,\n fill: \"#fff\",\n ...e.sendIconStyle\n }, c = {\n backgroundImage: `url(${(b = A.chatInput) == null ? void 0 : b.sendButtonIcon})`,\n fill: \"#fff\",\n ...e.sendIconStyle,\n // by default inherit the base style\n ...e.sendIconDisabledStyle\n }, f = {\n backgroundImage: `url(${(v = A.chatInput) == null ? void 0 : v.sendButtonIcon})`,\n fill: \"#fff\",\n ...e.sendIconStyle,\n // by default inherit the base style\n ...e.sendIconHoveredStyle\n }, h = () => {\n n(!0);\n }, d = () => {\n n(!1);\n }, g = () => {\n var O;\n const Q = (O = A.chatInput) == null ? void 0 : O.sendButtonIcon;\n return !Q || typeof Q == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-send-icon\",\n \"data-testid\": \"rcb-send-icon\",\n style: t ? c : o ? f : u\n }\n ) : Q && /* @__PURE__ */ l(\"span\", { className: \"rcb-send-icon\", \"data-testid\": \"rcb-send-icon\", children: /* @__PURE__ */ l(\n Q,\n {\n style: t ? c : o ? f : u\n }\n ) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((E = A.ariaLabel) == null ? void 0 : E.sendButton) ?? \"send message\",\n role: \"button\",\n onMouseEnter: h,\n onMouseLeave: d,\n onMouseDown: async (Q) => {\n Q == null || Q.preventDefault(), !t && await s();\n },\n style: t ? a : o ? i : r,\n className: \"rcb-send-button\",\n children: g()\n }\n );\n}, uo = (A) => Object.values(J).includes(A), fo = (A, e) => {\n var i, u, c, f, h, d, g, D, P;\n const t = {\n [J.AUDIO_BUTTON]: (i = A.audio) == null ? void 0 : i.disabled,\n [J.CLOSE_CHAT_BUTTON]: (u = A.general) == null ? void 0 : u.embedded,\n [J.EMOJI_PICKER_BUTTON]: (c = A.emoji) == null ? void 0 : c.disabled,\n [J.FILE_ATTACHMENT_BUTTON]: (f = A.fileAttachment) == null ? void 0 : f.disabled,\n [J.NOTIFICATION_BUTTON]: (h = A.notification) == null ? void 0 : h.disabled,\n [J.SEND_MESSAGE_BUTTON]: !1,\n [J.VOICE_MESSAGE_BUTTON]: (d = A.voice) == null ? void 0 : d.disabled\n }, o = {}, n = (B) => B ? B.map((w) => {\n if (typeof w == \"string\") {\n if (uo(w) && !t[w]) {\n if (o[w])\n return o[w];\n const C = e[w];\n if (typeof C == \"function\") {\n const b = C();\n return o[w] = b, b;\n }\n return null;\n }\n return null;\n }\n return w;\n }).filter((w) => w !== null) : [], s = n((g = A.header) == null ? void 0 : g.buttons), r = n((D = A.chatInput) == null ? void 0 : D.buttons), a = n((P = A.footer) == null ? void 0 : P.buttons);\n return { header: s, chatInput: r, footer: a };\n}, wo = () => /* @__PURE__ */ l(so, {}), go = () => /* @__PURE__ */ l(io, {}), Bo = () => /* @__PURE__ */ l(ro, {}), vo = () => /* @__PURE__ */ l(co, {}), Po = () => /* @__PURE__ */ l(lo, {}), ho = () => /* @__PURE__ */ l(oo, {}), Do = () => /* @__PURE__ */ l(no, {}), Eo = () => {\n const { settings: A } = H(), e = PA(() => ({\n [J.CLOSE_CHAT_BUTTON]: () => Bo(),\n [J.AUDIO_BUTTON]: () => wo(),\n [J.NOTIFICATION_BUTTON]: () => go(),\n [J.EMOJI_PICKER_BUTTON]: () => Do(),\n [J.FILE_ATTACHMENT_BUTTON]: () => ho(),\n [J.SEND_MESSAGE_BUTTON]: () => Po(),\n [J.VOICE_MESSAGE_BUTTON]: () => vo()\n }), []), { header: t, chatInput: o, footer: n } = PA(() => fo(A, e), [A, e]), s = PA(() => t, [t]), r = PA(() => o, [o]), a = PA(() => n, [n]);\n return { headerButtons: s, chatInputButtons: r, footerButtons: a };\n}, Ae = () => {\n const { settings: A } = H(), { styles: e } = F(), { setMessages: t } = qA(), {\n isLoadingChatHistory: o,\n setIsLoadingChatHistory: n,\n hasChatHistoryLoaded: s,\n setHasChatHistoryLoaded: r\n } = eA(), { chatBodyRef: a } = AA(), { callRcbEvent: i } = wA(), { chatScrollHeight: u } = gA(), c = M(async () => {\n var h;\n const f = JA();\n f && ((h = A.event) != null && h.rcbLoadChatHistory && (await i(S.LOAD_CHAT_HISTORY, {})).defaultPrevented || (n(!0), Ut(\n A,\n e,\n f,\n t,\n a,\n u,\n n,\n r\n )));\n }, [A, e, t]);\n return { isLoadingChatHistory: o, setIsLoadingChatHistory: n, hasChatHistoryLoaded: s, showChatHistory: c };\n}, Co = () => {\n var i, u, c;\n const { settings: A } = H(), { styles: e } = F(), { showChatHistory: t } = Ae(), [o, n] = T(!1), s = {\n color: (i = A.general) == null ? void 0 : i.primaryColor,\n borderColor: (u = A.general) == null ? void 0 : u.primaryColor,\n ...e.chatHistoryButtonStyle,\n // by default inherit the base style\n ...e.chatHistoryButtonHoveredStyle\n };\n return /* @__PURE__ */ l(\"div\", { className: \"rcb-view-history-container\", children: /* @__PURE__ */ l(\n \"div\",\n {\n onMouseEnter: () => {\n n(!0);\n },\n onMouseLeave: () => {\n n(!1);\n },\n style: o ? s : { ...e.chatHistoryButtonStyle },\n onMouseDown: (f) => {\n f.preventDefault(), t();\n },\n className: \"rcb-view-history-button\",\n role: \"button\",\n tabIndex: 0,\n children: /* @__PURE__ */ l(\"p\", { children: (c = A.chatHistory) == null ? void 0 : c.viewChatHistoryButtonText })\n }\n ) });\n}, ke = () => {\n var r;\n const { settings: A } = H(), { hasInteractedPage: e, setHasInteractedPage: t, hasFlowStarted: o, setHasFlowStarted: n } = eA(), s = M(() => {\n var i;\n if (t(!0), !o && ((i = A.general) == null ? void 0 : i.flowStartTrigger) === \"ON_PAGE_INTERACT\" && n(!0), !window.SpeechSynthesisUtterance) {\n console.info(\"Speech Synthesis API is not supported in this environment.\");\n return;\n }\n const a = new window.SpeechSynthesisUtterance();\n a.text = \"\", a.onend = () => {\n window.removeEventListener(\"click\", s), window.removeEventListener(\"keydown\", s), window.removeEventListener(\"touchstart\", s);\n }, window.speechSynthesis.speak(a);\n }, [o, (r = A.general) == null ? void 0 : r.flowStartTrigger]);\n return {\n hasInteractedPage: e,\n handleFirstInteraction: s\n };\n}, bo = () => {\n var tA, aA, SA, te, oe;\n const A = FA(), { settings: e } = H(), {\n endStreamMessage: t,\n injectMessage: o,\n removeMessage: n,\n simulateStreamMessage: s,\n streamMessage: r,\n replaceMessages: a\n } = yA(), { getCurrPath: i, getPrevPath: u, goToPath: c, paths: f } = kA(), { showToast: h, dismissToast: d } = pA(), {\n isBotTyping: g,\n isChatWindowOpen: D,\n isScrolling: P,\n hasFlowStarted: B,\n setIsChatWindowOpen: w,\n setTextAreaDisabled: C,\n setAudioToggledOn: b,\n setVoiceToggledOn: v,\n setIsBotTyping: E,\n setTextAreaSensitiveMode: Q,\n setBlockAllowsAttachment: O,\n setTimeoutId: y\n } = eA(), { chatBodyRef: p, flowRef: m, streamMessageMap: I, paramsInputRef: x, keepVoiceOnRef: U } = AA(), k = m.current, { viewportHeight: N, setViewportHeight: V, setViewportWidth: oA, openChat: Z } = gA(), { setUpNotifications: z } = VA(), { handleFirstInteraction: Y } = ke(), { showChatHistory: W } = Ae(), { updateTextAreaFocus: K, setTextAreaValue: L } = mA(), { syncVoice: R } = UA(), _ = $(0);\n X(() => (window.addEventListener(\"click\", Y), window.addEventListener(\"keydown\", Y), window.addEventListener(\"touchstart\", Y), () => {\n window.removeEventListener(\"click\", Y), window.removeEventListener(\"keydown\", Y), window.removeEventListener(\"touchstart\", Y);\n }), []), X(() => {\n var q, sA, iA;\n C((q = e.chatInput) == null ? void 0 : q.disabled), w((sA = e.chatWindow) == null ? void 0 : sA.defaultOpen), b((iA = e.audio) == null ? void 0 : iA.defaultToggledOn), setTimeout(() => {\n var cA;\n v((cA = e.voice) == null ? void 0 : cA.defaultToggledOn);\n }, 1);\n }, []), X(() => {\n var q;\n (q = e.notification) != null && q.disabled || z();\n }, [(tA = e.notification) == null ? void 0 : tA.disabled]), X(() => {\n !P && (p != null && p.current) && (p.current.scrollTop = p.current.scrollHeight);\n }, [g]), X(() => {\n var q, sA;\n if ((q = e.chatHistory) != null && q.disabled)\n Lt();\n else if (XA(e), JA().length > 0) {\n const cA = EA(/* @__PURE__ */ l(Co, {}), \"SYSTEM\");\n a([cA]), (sA = e.chatHistory) != null && sA.autoLoad && W();\n }\n }, [(aA = e.chatHistory) == null ? void 0 : aA.storageKey, (SA = e.chatHistory) == null ? void 0 : SA.maxEntries, (te = e.chatHistory) == null ? void 0 : te.disabled]), X(() => {\n var q;\n A || (q = e.general) != null && q.embedded || !navigator.virtualKeyboard || (navigator.virtualKeyboard.overlaysContent = !0, navigator.virtualKeyboard.addEventListener(\"geometrychange\", (sA) => {\n if (!sA.target)\n return;\n const { x: iA, y: cA, width: BA, height: vA } = sA.target.boundingRect;\n iA == 0 && cA == 0 && BA == 0 && vA == 0 ? (setTimeout(() => {\n var rA;\n V((rA = window.visualViewport) == null ? void 0 : rA.height);\n }, 101), setTimeout(() => {\n var rA, DA;\n N != ((rA = window.visualViewport) == null ? void 0 : rA.height) && V((DA = window.visualViewport) == null ? void 0 : DA.height);\n }, 1001)) : setTimeout(() => {\n var rA;\n V(((rA = window.visualViewport) == null ? void 0 : rA.height) - vA);\n }, 101);\n }));\n }, [A]), X(() => {\n var BA, vA, rA, DA;\n if (A)\n return;\n D && (V((BA = window.visualViewport) == null ? void 0 : BA.height), oA((vA = window.visualViewport) == null ? void 0 : vA.width));\n const q = () => window.scrollTo({ top: 0, left: 0, behavior: \"auto\" }), sA = () => _.current = window.scrollY, iA = () => {\n var TA, ne;\n V((TA = window.visualViewport) == null ? void 0 : TA.height), oA((ne = window.visualViewport) == null ? void 0 : ne.width);\n }, cA = () => {\n var TA;\n window.removeEventListener(\"scroll\", q), window.removeEventListener(\"scroll\", sA), (TA = window.visualViewport) == null || TA.removeEventListener(\"resize\", iA);\n };\n return D ? (cA(), document.body.style.position = \"fixed\", window.addEventListener(\"scroll\", q), (rA = window.visualViewport) == null || rA.addEventListener(\"resize\", iA)) : (document.body.style.position = \"static\", cA(), window.scrollTo({ top: _.current, left: 0, behavior: \"auto\" }), window.addEventListener(\"scroll\", sA), (DA = window.visualViewport) == null || DA.removeEventListener(\"resize\", iA)), cA;\n }, [D, A]), X(() => {\n const q = i();\n if (!q)\n return;\n const sA = k[q];\n if (!sA) {\n E(!1);\n return;\n }\n const iA = {\n prevPath: u(),\n currPath: q,\n goToPath: c,\n setTextAreaValue: L,\n userInput: x.current,\n endStreamMessage: t,\n injectMessage: o,\n removeMessage: n,\n simulateStreamMessage: s,\n streamMessage: r,\n openChat: Z,\n showToast: h,\n dismissToast: d\n };\n (async (BA, vA) => {\n var rA, DA;\n await Mt(\n k,\n vA,\n ((rA = e.botBubble) == null ? void 0 : rA.simulateStream) ?? !1,\n C,\n Q,\n y\n ), E(!1), \"chatDisabled\" in BA || C((DA = e.chatInput) == null ? void 0 : DA.disabled), \"isSensitive\" in BA || Q(!1), O(typeof BA.file == \"function\"), K(q), R(U.current && !BA.chatDisabled), vA.currPath !== vA.prevPath && I.current.clear();\n })(sA, iA);\n }, [f]), X(() => {\n var q;\n (B || ((q = e.general) == null ? void 0 : q.flowStartTrigger) === \"ON_LOAD\") && c(\"start\");\n }, [B, (oe = e.general) == null ? void 0 : oe.flowStartTrigger]);\n}, ee = {\n DEFAULT_URL: \"https://cdn.jsdelivr.net/gh/tjtanjin/react-chatbotify-themes/themes\",\n DEFAULT_EXPIRATION: \"2592000\",\n CACHE_KEY_PREFIX: \"RCB_THEME_CACHE_DATA\"\n}, Qo = ee.DEFAULT_URL, mo = ee.DEFAULT_EXPIRATION, He = ee.CACHE_KEY_PREFIX, yo = (A, e, t) => {\n const o = localStorage.getItem(`${He}_${A}_${e}`);\n if (!o)\n return null;\n try {\n const n = JSON.parse(o), s = (/* @__PURE__ */ new Date()).getTime(), r = Math.floor(s / 1e3);\n return n.cacheDate + t >= r ? n : null;\n } catch (n) {\n return console.error(`Unable to fetch cache for ${A}`, n), null;\n }\n}, po = (A, e, t, o, n) => {\n const s = (/* @__PURE__ */ new Date()).getTime(), r = Math.floor(s / 1e3), a = {\n settings: t,\n inlineStyles: o,\n cssStylesText: n,\n cacheDate: r\n };\n localStorage.setItem(`${He}_${A}_${e}`, JSON.stringify(a));\n}, Io = async (A, e) => {\n const t = `${e}/${A}/meta.json`;\n try {\n const o = await fetch(t);\n return o.ok ? (await o.json()).version : (console.error(`Failed to fetch meta.json from ${t}`), null);\n } catch (o) {\n return console.error(`Failed to fetch meta.json from ${t}`, o), null;\n }\n}, le = async (A, e) => {\n const { id: t, version: o, baseUrl: n = Qo, cacheDuration: s = mo } = e, r = o || await Io(t, n);\n if (!r)\n return console.error(`Unable to find version for theme: ${t}`), { settings: {}, inlineStyles: {}, cssStylesText: \"\" };\n const a = yo(t, r, s);\n if (a) {\n const w = ue(A, a.cssStylesText);\n return { settings: a.settings, inlineStyles: a.inlineStyles, cssStylesText: w };\n }\n const i = `${n}/${t}/${r}/styles.css`, u = `${n}/${t}/${r}/settings.json`, c = `${n}/${t}/${r}/styles.json`;\n let f = \"\";\n const h = await fetch(i);\n h.ok ? f = await h.text() : console.info(`Could not fetch styles.css from ${i}`);\n const d = await fetch(u);\n let g = {};\n d.ok ? g = await d.json() : console.info(`Could not fetch settings.json from ${u}`);\n const D = await fetch(c);\n let P = {};\n D.ok ? P = await D.json() : console.info(`Could not fetch styles.json from ${c}`), po(t, r, g, P, f);\n const B = ue(A, f);\n return { settings: g, inlineStyles: P, cssStylesText: B };\n}, ue = (A, e) => e.split(new RegExp(\"(?<=})\")).map((o) => {\n const n = o.trim();\n return n.startsWith(\"@import\") || n.startsWith(\"@keyframes\") || n.startsWith(\"@media\") ? n : n ? `#${A} ${n}` : \"\";\n}).join(`\n`), So = () => RA(de), To = () => RA(ge), Mo = async (A, e, t, o) => {\n var a, i;\n let n = So(), s = To(), r = \"\";\n if (o != null)\n if (Array.isArray(o))\n for (const u of o) {\n const c = await le(A, u);\n n = dA(c.settings, n), s = dA(c.inlineStyles, s), r += c.cssStylesText;\n }\n else {\n const u = await le(A, o);\n n = dA(u.settings, n), s = dA(u.inlineStyles, s), r += u.cssStylesText;\n }\n return e != null && (n = dA(e, n)), t != null && (s = dA(t, s)), ((a = n.chatInput) == null ? void 0 : a.botDelay) != null && ((i = n.chatInput) == null ? void 0 : i.botDelay) < 500 && (n.chatInput.botDelay = 500), { settings: n, inlineStyles: s, cssStylesText: r };\n}, dA = (A, e) => {\n const t = [{ source: A, target: e }];\n for (; t.length; ) {\n const o = t.pop();\n if (o == null)\n continue;\n const { source: n, target: s } = o;\n for (const r of Object.keys(n)) {\n const a = r;\n if (fe(n[a]))\n s[a] = n[a];\n else if (typeof n[a] == \"object\" && n[a] !== null && !Array.isArray(n[a]))\n (typeof s[a] != \"object\" || s[a] === null) && (s[a] = {}), t.push({ source: n[a], target: s[a] });\n else\n try {\n s[a] = n[a];\n } catch {\n }\n }\n }\n return e;\n}, RA = (A) => {\n if (A === null || typeof A != \"object\")\n return A;\n const e = Array.isArray(A) ? [] : {}, t = [{ source: A, target: e }], o = /* @__PURE__ */ new WeakMap();\n for (o.set(A, e); t.length; ) {\n const n = t.pop();\n if (n == null)\n continue;\n const { source: s, target: r } = n;\n for (const a in s)\n if (Object.prototype.hasOwnProperty.call(s, a)) {\n const i = s[a];\n if (i && typeof i == \"object\")\n if (o.has(i))\n r[a] = o.get(i);\n else {\n const u = Array.isArray(i) ? [] : {};\n o.set(i, u), r[a] = u, t.push({ source: i, target: u });\n }\n else\n r[a] = i;\n }\n }\n return e;\n}, xe = () => {\n const { settings: A, setSettings: e } = H(), t = M((n) => {\n !n || Object.keys(n).length === 0 || e(RA(dA(n, A)));\n }, [A]), o = M((n) => {\n e(n);\n }, []);\n return {\n settings: A,\n replaceSettings: o,\n updateSettings: t\n };\n}, Oe = () => {\n const { styles: A, setStyles: e } = F(), t = M((n) => {\n !n || Object.keys(n).length === 0 || e(RA(dA(n, A)));\n }, [A]), o = M((n) => {\n e(n);\n }, []);\n return {\n styles: A,\n replaceStyles: o,\n updateStyles: t\n };\n}, ko = (A) => {\n const { updateSettings: e } = xe(), { updateStyles: t } = Oe(), o = A == null ? void 0 : A.map((n) => n());\n X(() => {\n let n = {}, s = {};\n o == null || o.forEach((r) => {\n r != null && r.settings && Object.keys(r == null ? void 0 : r.settings).length !== 0 && (n = dA(r.settings, n)), r != null && r.styles && Object.keys(r == null ? void 0 : r.styles).length !== 0 && (s = dA(r.styles, s));\n }), e(n), t(s);\n }, []);\n}, Ho = ({\n plugins: A\n}) => {\n var B, w, C, b;\n const e = FA(), { settings: t } = H(), { styles: o } = F(), { hasFlowStarted: n, setHasFlowStarted: s } = eA(), { inputRef: r } = AA(), {\n setChatScrollHeight: a,\n viewportHeight: i,\n viewportWidth: u,\n isChatWindowOpen: c\n } = gA(), { headerButtons: f, chatInputButtons: h, footerButtons: d } = Eo();\n bo(), ko(A);\n const g = PA(() => {\n var E;\n const v = \"rcb-chatbot-global \";\n return (E = t.general) != null && E.embedded ? v + \"rcb-window-embedded\" : c ? v + \"rcb-window-open\" : v + \"rcb-window-close\";\n }, [t, c]), D = () => {\n var v, E;\n return !e && !((v = t.general) != null && v.embedded) ? {\n ...o.chatWindowStyle,\n borderRadius: \"0px\",\n left: \"0px\",\n right: \"auto\",\n top: \"0px\",\n bottom: \"auto\",\n width: `${u}px`,\n height: `${i}px`,\n zIndex: 1e4\n } : (E = t.general) != null && E.embedded ? { ...o.chatWindowStyle } : {\n ...o.chatWindowStyle,\n zIndex: 1e4\n };\n };\n return /* @__PURE__ */ l(nA, { children: (() => {\n var v, E;\n return e && ((v = t.device) == null ? void 0 : v.desktopEnabled) || !e && ((E = t.device) == null ? void 0 : E.mobileEnabled);\n })() && /* @__PURE__ */ j(\n \"div\",\n {\n onMouseDown: (v) => {\n var E, Q;\n !n && ((E = t.general) == null ? void 0 : E.flowStartTrigger) === \"ON_CHATBOT_INTERACT\" && s(!0), e ? (Q = r.current) == null || Q.blur() : v == null || v.preventDefault();\n },\n className: g,\n children: [\n /* @__PURE__ */ l(Ao, {}),\n /* @__PURE__ */ l($t, {}),\n c && !e && !((B = t.general) != null && B.embedded) && /* @__PURE__ */ j(nA, { children: [\n /* @__PURE__ */ l(\"style\", { children: `\n\t\t\t\t\t\t\t\t\thtml {\n\t\t\t\t\t\t\t\t\t\toverflow: hidden !important;\n\t\t\t\t\t\t\t\t\t\ttouch-action: none !important;\n\t\t\t\t\t\t\t\t\t\tscroll-behavior: auto !important;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t` }),\n /* @__PURE__ */ l(\n \"div\",\n {\n style: {\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"#fff\",\n zIndex: 9999\n }\n }\n )\n ] }),\n /* @__PURE__ */ j(\"div\", { style: D(), className: \"rcb-chat-window\", children: [\n ((w = t.general) == null ? void 0 : w.showHeader) && /* @__PURE__ */ l(ct, { buttons: f }),\n /* @__PURE__ */ l(Dt, { setChatScrollHeight: a }),\n /* @__PURE__ */ l(to, {}),\n ((C = t.general) == null ? void 0 : C.showInputRow) && /* @__PURE__ */ l(Zt, { buttons: h }),\n ((b = t.general) == null ? void 0 : b.showFooter) && /* @__PURE__ */ l(_t, { buttons: d })\n ] })\n ]\n }\n ) });\n}, Le = bA(void 0), Ne = () => QA(Le), xo = ({\n children: A\n}) => {\n var c;\n const e = $(\"\"), t = $({}), [o, n] = T({}), [s, r] = T({}), [a, i] = T(!1);\n X(() => {\n i(!0);\n }, []);\n const u = async (f, h, d, g, D, P) => {\n e.current = f, t.current = h;\n const B = await Mo(f, d, g, D);\n P.current && (P.current.textContent = B.cssStylesText), n(B.settings), r(B.inlineStyles);\n };\n return a ? /* @__PURE__ */ l(\"div\", { style: { fontFamily: (c = o.general) == null ? void 0 : c.fontFamily }, children: /* @__PURE__ */ l(Le.Provider, { value: { loadConfig: u }, children: /* @__PURE__ */ l(at, { settings: o, setSettings: n, children: /* @__PURE__ */ l(it, { styles: s, setStyles: r, children: /* @__PURE__ */ l(Vt, { children: /* @__PURE__ */ l(lt, { botIdRef: e, flowRef: t, children: /* @__PURE__ */ l(wt, { children: /* @__PURE__ */ l(ut, { settings: o, children: /* @__PURE__ */ l(Bt, { children: A }) }) }) }) }) }) }) }) }) : null;\n}, Oo = ({\n id: A,\n flow: e,\n settings: t,\n styles: o,\n themes: n,\n plugins: s,\n setConfigLoaded: r,\n styleRootRef: a\n}) => {\n const i = PA(() => A, []), u = Ne(), { flowRef: c } = AA();\n c && c.current !== e && (c.current = e);\n const f = async () => {\n var h, d;\n (h = t.event) != null && h.rcbPreLoadChatBot && (await OA(\n S.PRE_LOAD_CHATBOT,\n { botId: i, currPath: null, prevPath: null },\n {\n flow: e,\n settings: t,\n styles: o,\n themes: n,\n plugins: s\n }\n )).defaultPrevented || (u != null && u.loadConfig && (await u.loadConfig(i, e, t, o, n, a), r(!0)), (d = t.event) != null && d.rcbPostLoadChatBot && OA(\n S.POST_LOAD_CHATBOT,\n { botId: i, currPath: null, prevPath: null },\n {\n flow: e,\n settings: t,\n styles: o,\n themes: n,\n plugins: s\n }\n ));\n };\n return X(() => {\n f();\n }, [n]), null;\n}, YA = [\"Quickstart\", \"API Docs\", \"Examples\", \"Github\", \"Discord\"], Lo = {\n start: {\n message: \"Hello, I am Tan Jin 👋! Welcome to React ChatBotify, I'm excited that you are using our chatbot 😊!\",\n transition: { duration: 1e3 },\n chatDisabled: !0,\n path: \"show_options\"\n },\n show_options: {\n message: \"It looks like you have not set up a conversation flow yet. No worries! Here are a few helpful things you can check out to get started:\",\n options: YA,\n path: \"process_options\"\n },\n prompt_again: {\n message: \"Do you need any other help?\",\n options: YA,\n path: \"process_options\"\n },\n unknown_input: {\n message: \"Sorry, I do not understand your message 😢! If you require further assistance, you may click on the Github option and open an issue there or visit our discord.\",\n options: YA,\n path: \"process_options\"\n },\n process_options: {\n transition: { duration: 0 },\n path: (A) => {\n let e = \"\";\n switch (A.userInput) {\n case \"Quickstart\":\n e = \"https://react-chatbotify.com/docs/introduction/quickstart/\";\n break;\n case \"API Docs\":\n e = \"https://react-chatbotify.com/docs/api/bot_options\";\n break;\n case \"Examples\":\n e = \"https://react-chatbotify.com/docs/examples/basic_form\";\n break;\n case \"Github\":\n e = \"https://github.com/tjtanjin/react-chatbotify/\";\n break;\n case \"Discord\":\n e = \"https://discord.gg/6R4DK4G5Zh\";\n break;\n default:\n return \"unknown_input\";\n }\n return A.injectMessage(\"Sit tight! I'll send you right there!\"), setTimeout(() => {\n window.open(e);\n }, 1e3), \"repeat\";\n }\n },\n repeat: {\n transition: { duration: 3e3 },\n path: \"prompt_again\"\n }\n}, Go = ({\n id: A,\n flow: e,\n settings: t,\n styles: o,\n themes: n,\n plugins: s\n}) => {\n const r = PA(() => A || \"rcb-\" + LA(), []), a = !e || Object.keys(e).length === 0 ? Lo : e, i = t || {}, u = o || {}, c = s || [], [f, h] = T(!1), d = Ne(), g = $(null), [D, P] = T(n || []);\n X(() => {\n n && P(n);\n }, [n]);\n const B = () => /* @__PURE__ */ j(nA, { children: [\n /* @__PURE__ */ l(\n Oo,\n {\n styleRootRef: g,\n id: r,\n flow: a,\n settings: i,\n styles: u,\n themes: D,\n plugins: c,\n setConfigLoaded: h\n }\n ),\n f && /* @__PURE__ */ l(Ho, { plugins: s })\n ] });\n return d == null ? /* @__PURE__ */ j(xo, { children: [\n /* @__PURE__ */ l(\"style\", { ref: g }),\n /* @__PURE__ */ l(\"div\", { id: r, children: B() })\n ] }) : /* @__PURE__ */ j(nA, { children: [\n /* @__PURE__ */ l(\"style\", { ref: g }),\n /* @__PURE__ */ l(\"div\", { id: r, children: B() })\n ] });\n}, Yo = () => {\n const { audioToggledOn: A, speakAudio: e, toggleAudio: t } = ZA();\n return {\n audioToggledOn: A,\n speakAudio: e,\n toggleAudio: t\n };\n}, No = () => {\n const { botIdRef: A } = AA();\n return {\n getBotId: M(() => A.current, [A])\n };\n}, Xo = () => {\n const { getBotId: A } = No();\n return {\n getBotId: A\n };\n}, Wo = () => {\n const { isChatWindowOpen: A, toggleChatWindow: e } = gA();\n return {\n isChatWindowOpen: A,\n toggleChatWindow: e\n };\n}, Ko = () => {\n const { hasInteractedPage: A } = ke();\n return {\n hasInteractedPage: A\n };\n}, Uo = () => {\n const { replaceMessages: A } = yA(), { replacePaths: e } = kA(), { replaceToasts: t } = pA(), { hasFlowStarted: o } = eA(), { flowRef: n } = AA(), { settings: s } = H(), r = M(() => {\n XA(s), A([]), t([]), e([\"start\"]);\n }, [A, t, e, XA]), a = M(() => (n == null ? void 0 : n.current) ?? {}, [n]);\n return {\n hasFlowStarted: o,\n restartFlow: r,\n getFlow: a\n };\n}, qo = () => {\n const { hasFlowStarted: A, restartFlow: e, getFlow: t } = Uo();\n return {\n hasFlowStarted: A,\n restartFlow: e,\n getFlow: t\n };\n}, Jo = () => {\n const {\n endStreamMessage: A,\n injectMessage: e,\n removeMessage: t,\n simulateStreamMessage: o,\n streamMessage: n,\n messages: s,\n replaceMessages: r\n } = yA();\n return {\n endStreamMessage: A,\n injectMessage: e,\n removeMessage: t,\n simulateStreamMessage: o,\n streamMessage: n,\n messages: s,\n replaceMessages: r\n };\n}, Vo = () => {\n const { settings: A, replaceSettings: e, updateSettings: t } = xe();\n return {\n settings: A,\n replaceSettings: e,\n updateSettings: t\n };\n}, Zo = () => {\n const { styles: A, replaceStyles: e, updateStyles: t } = Oe();\n return {\n styles: A,\n replaceStyles: e,\n updateStyles: t\n };\n}, _o = () => {\n const {\n textAreaDisabled: A,\n toggleTextAreaDisabled: e,\n textAreaSensitiveMode: t,\n toggleTextAreaSensitiveMode: o,\n getTextAreaValue: n,\n setTextAreaValue: s,\n focusTextArea: r,\n blurTextArea: a\n } = mA();\n return {\n textAreaDisabled: A,\n toggleTextAreaDisabled: e,\n textAreaSensitiveMode: t,\n toggleTextAreaSensitiveMode: o,\n getTextAreaValue: n,\n setTextAreaValue: s,\n focusTextArea: r,\n blurTextArea: a\n };\n}, $o = () => {\n const { showToast: A, dismissToast: e, toasts: t, replaceToasts: o } = pA();\n return {\n showToast: A,\n dismissToast: e,\n toasts: t,\n replaceToasts: o\n };\n}, An = () => {\n const { voiceToggledOn: A, toggleVoice: e } = UA();\n return {\n voiceToggledOn: A,\n toggleVoice: e\n };\n}, en = () => {\n const { showChatHistory: A, hasChatHistoryLoaded: e } = Ae();\n return {\n showChatHistory: A,\n getHistoryMessages: JA,\n setHistoryMessages: Ot,\n hasChatHistoryLoaded: e\n };\n};\nexport {\n J as Button,\n xo as ChatBotProvider,\n Go as default,\n So as getDefaultSettings,\n To as getDefaultStyles,\n Yo as useAudio,\n Xo as useBotId,\n en as useChatHistory,\n Wo as useChatWindow,\n Ko as useFirstInteraction,\n qo as useFlow,\n Jo as useMessages,\n ao as useNotifications,\n gt as usePaths,\n Vo as useSettings,\n Zo as useStyles,\n _o as useTextArea,\n $o as useToasts,\n An as useVoice\n};\n","import React, { useEffect, useRef } from 'react';\nimport ChatBot from \"react-chatbotify\";\nimport '../App.css';\n\nconst QABot = (props) => {\n const welcome = props.welcome || 'Hello! What can I help you with?';\n const prompt = props.prompt || 'Questions should stand alone and not refer to previous ones.';\n const embedded = props.embedded || false;\n\n // Ref for the container element\n const containerRef = useRef(null);\n\n const isLoggedIn = props.isLoggedIn !== undefined ? props.isLoggedIn : false;\n const isAnonymous = props.isAnonymous !== undefined ? props.isAnonymous : !isLoggedIn;\n\n // Derive disabled state, respecting explicit disabled prop if provided\n const disabled = props.disabled !== undefined ? props.disabled : isAnonymous;\n\n // Use isOpen prop with default to false if not provided\n const isOpen = props.isOpen !== undefined ? props.isOpen : false;\n const onClose = props.onClose;\n\n const apiKey = props.apiKey || process.env.REACT_APP_API_KEY;\n const queryEndpoint = 'https://access-ai.ccs.uky.edu/api/query';\n let hasError = false;\n\n // Get theme colors from CSS variables if available\n useEffect(() => {\n if (containerRef.current && containerRef.current.parentElement) {\n // If container's parent has CSS variables, they'll be picked up in getThemeColors\n }\n }, []);\n\n const handleQuery = async (params) => {\n // POST question to the QA API\n try {\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-API-KEY': apiKey\n },\n body: JSON.stringify({ query: params.userInput })\n };\n\n const response = await fetch(queryEndpoint, requestOptions);\n const body = await response.json();\n const text = body.response;\n\n for (let i = 0; i < text.length; i++) {\n await params.streamMessage(text.slice(0, i + 1));\n await new Promise(resolve => setTimeout(resolve, 2));\n }\n } catch (error) {\n await params.injectMessage(\"Unable to contact the Q&A Bot. Please try again later.\");\n hasError = true;\n }\n }\n\n const flow = {\n start: {\n message: welcome,\n path: 'loop'\n },\n loop: {\n message: async (params) => {\n await handleQuery(params);\n },\n path: () => {\n if (hasError) {\n return 'start'\n }\n return 'loop'\n }\n }\n }\n\n // Get theme colors, with fallbacks and CSS variable support\n const getThemeColors = () => {\n // Get colors from CSS variables if available, fall back to defaults\n const getCSSVariable = (name, fallback) => {\n if (containerRef.current) {\n // First check the container itself\n const containerStyle = getComputedStyle(containerRef.current);\n const containerValue = containerStyle.getPropertyValue(name);\n if (containerValue && containerValue.trim() !== '') {\n return containerValue.trim();\n }\n\n // Then check parent (useful for web component shadow DOM)\n if (containerRef.current.parentElement) {\n const parentStyle = getComputedStyle(containerRef.current.parentElement);\n const parentValue = parentStyle.getPropertyValue(name);\n if (parentValue && parentValue.trim() !== '') {\n return parentValue.trim();\n }\n }\n }\n return fallback;\n };\n\n return {\n primaryColor: getCSSVariable('--primary-color', '#1a5b6e'),\n secondaryColor: getCSSVariable('--secondary-color', '#107180'),\n fontFamily: getCSSVariable('--font-family', 'Arial, sans-serif'),\n embedded: embedded\n };\n };\n\n return (\n <div className=\"access-qa-bot\" ref={containerRef}>\n <ChatBot\n settings={{\n general: getThemeColors(),\n header: {\n title: 'ACCESS Q&A Bot',\n avatar: 'https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg',\n },\n chatInput: {\n enabledPlaceholderText: prompt,\n disabledPlaceholderText: 'Please log in to ask questions.',\n disabled: disabled\n },\n chatHistory: { disabled: true },\n botBubble: {\n simStream: true,\n dangerouslySetInnerHtml: true\n },\n chatButton: {\n icon: 'https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg',\n },\n tooltip: {\n text: 'Ask me about ACCESS! 😊',\n },\n audio: {\n disabled: true,\n },\n emoji: {\n disabled: true,\n },\n fileAttachment: {\n disabled: true,\n },\n notification: {\n disabled: true,\n },\n footer: {\n text: (<div>Find out more <a href=\"https://support.access-ci.org/tools/access-qa-tool\">about this tool</a> or <a href=\"https://docs.google.com/forms/d/e/1FAIpQLSeWnE1r738GU1u_ri3TRpw9dItn6JNPi7-FH7QFB9bAHSVN0w/viewform\">give us feedback</a>.</div>),\n },\n }}\n isOpen={isOpen}\n onClose={onClose}\n flow={flow}\n />\n </div>\n );\n}\n\nexport default QABot;","import React from 'react';\nimport './App.css';\nimport QABot from './components/QABot';\n\n/**\n * Main App component\n * Handles login state and passes props to QABot component\n * props:\n * - embedded: boolean\n * - welcome: string\n * - prompt: string\n * - isLoggedIn: boolean\n * - isAnonymous: boolean\n * - disabled: boolean\n * - isOpen: boolean\n * - onClose: function\n */\nfunction App(props) {\n return (\n <QABot\n embedded={props.embedded}\n welcome={props.welcome}\n prompt={props.prompt}\n isLoggedIn={props.isLoggedIn}\n isAnonymous={props.isAnonymous}\n disabled={props.disabled}\n isOpen={props.isOpen}\n onClose={props.onClose}\n apiKey={props.apiKey}\n />\n );\n}\n\nexport default App;\n","// src/web-component.js\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom/client';\nimport QABot from './components/QABot';\n\n// Create a Web Component wrapper for the React component\nclass AccessQABot extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n\n // Create a container for the React component\n this.container = document.createElement('div');\n this.container.className = 'qa-bot-container';\n this.shadowRoot.appendChild(this.container);\n\n // Copy over CSS from main document to ensure all styles are available\n this.injectStyles();\n }\n\n // Inject CSS from document to shadow DOM to maintain consistent styling\n injectStyles() {\n // Add base styles for proper element display\n const baseStyle = document.createElement('style');\n baseStyle.textContent = `\n :host {\n display: block;\n --primary-color: #1a5b6e;\n --secondary-color: #107180;\n --font-family: Arial, sans-serif;\n }\n\n .qa-bot-container {\n width: 100%;\n height: 100%;\n font-family: var(--font-family);\n }\n `;\n this.shadowRoot.appendChild(baseStyle);\n\n // Import essential styles needed for react-chatbotify\n // This ensures the web component looks identical to the React version\n const chatbotStyles = document.createElement('style');\n chatbotStyles.textContent = `\n /* Essential styles from react-chatbotify */\n .rcb-header-avatar {\n width: 24px !important;\n height: 24px !important;\n margin-right: 8px !important;\n }\n\n .rcb-chat-header {\n background-color: var(--primary-color) !important;\n }\n\n .rcb-chat-button {\n background-color: var(--primary-color) !important;\n }\n\n /* Ensure proper z-index for floating button */\n .rcb-floating-button {\n z-index: 1000 !important;\n }\n\n /* Make links in footer readable */\n .rcb-chat-footer a {\n color: var(--primary-color) !important;\n }\n\n /* Fix button styling */\n .rcb-send-button {\n background-color: var(--primary-color) !important;\n }\n `;\n this.shadowRoot.appendChild(chatbotStyles);\n\n // Import all styles from the document in case they're needed\n if (document.styleSheets) {\n try {\n const styleSheet = document.createElement('style');\n let cssText = '';\n\n // Collect CSS rules from document stylesheets\n for (let i = 0; i < document.styleSheets.length; i++) {\n try {\n const sheet = document.styleSheets[i];\n\n // Skip external stylesheets which can't be accessed due to CORS\n if (sheet.href && !sheet.href.startsWith(window.location.origin)) continue;\n\n const rules = sheet.cssRules || sheet.rules;\n if (!rules) continue;\n\n for (let j = 0; j < rules.length; j++) {\n // Only include rules targeting rcb- prefixed classes (react-chatbotify)\n if (rules[j].selectorText &&\n (rules[j].selectorText.includes('.rcb-') ||\n rules[j].selectorText.includes('.access-qa-bot'))) {\n cssText += rules[j].cssText + '\\n';\n }\n }\n } catch (e) {\n // Skip inaccessible stylesheets\n continue;\n }\n }\n\n if (cssText) {\n styleSheet.textContent = cssText;\n this.shadowRoot.appendChild(styleSheet);\n }\n } catch (e) {\n console.warn('Failed to copy document styles to shadow DOM', e);\n }\n }\n }\n\n // Observe these attributes for changes\n static get observedAttributes() {\n return [\n 'welcome',\n 'prompt',\n 'embedded',\n 'is-logged-in',\n 'is-anonymous',\n 'disabled',\n 'is-open',\n 'api-key'\n ];\n }\n\n // React to attribute changes\n attributeChangedCallback(name, oldValue, newValue) {\n if (oldValue !== newValue) {\n this._render();\n }\n }\n\n // Convert attributes to props\n _getProps() {\n return {\n welcome: this.getAttribute('welcome'),\n prompt: this.getAttribute('prompt'),\n embedded: this.hasAttribute('embedded'),\n isLoggedIn: this.hasAttribute('is-logged-in'),\n isAnonymous: this.hasAttribute('is-anonymous'),\n disabled: this.hasAttribute('disabled'),\n isOpen: this.hasAttribute('is-open'),\n // Always provide an apiKey to prevent process.env reference errors\n apiKey: this.getAttribute('api-key') || 'demo-key',\n onClose: () => {\n // Dispatch custom event when closed\n this.dispatchEvent(new CustomEvent('qabot-close'));\n }\n };\n }\n\n // Lifecycle methods\n connectedCallback() {\n // Add support for CSS custom properties from parent\n this.syncStyles();\n this._render();\n\n // Set up a MutationObserver to watch for style attribute changes\n this.styleObserver = new MutationObserver(() => this.syncStyles());\n this.styleObserver.observe(this, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n\n disconnectedCallback() {\n if (this.styleObserver) {\n this.styleObserver.disconnect();\n }\n\n if (this.root) {\n this.root.unmount();\n }\n }\n\n // Sync styles from host element to shadow DOM\n syncStyles() {\n if (this.style.cssText) {\n const styleProps = this.style.cssText.split(';')\n .filter(prop => prop.trim().startsWith('--'))\n .map(prop => prop.trim());\n\n if (styleProps.length > 0) {\n const containerStyle = this.container.style;\n styleProps.forEach(prop => {\n const [name, value] = prop.split(':').map(p => p.trim());\n containerStyle.setProperty(name, value);\n });\n }\n }\n }\n\n // Render the React component\n _render() {\n if (!this.root) {\n this.root = ReactDOM.createRoot(this.container);\n }\n\n const props = this._getProps();\n this.root.render(\n <React.StrictMode>\n <QABot {...props} />\n </React.StrictMode>\n );\n }\n}\n\n// Define the custom element\ncustomElements.define('access-qa-bot', AccessQABot);\n\n// Export the web component reference\nexport const WebComponentQABot = AccessQABot;\n\n// Create a function-based API for programmatic initialization\nexport function webComponentQAndATool(config) {\n const { target, ...props } = config;\n\n if (!target || !(target instanceof HTMLElement)) {\n console.error('QA Bot: A valid target DOM element is required');\n return;\n }\n\n // Create and configure the element\n const qaBot = document.createElement('access-qa-bot');\n\n // Set attributes based on props\n if (props.welcome) qaBot.setAttribute('welcome', props.welcome);\n if (props.prompt) qaBot.setAttribute('prompt', props.prompt);\n if (props.embedded) qaBot.setAttribute('embedded', '');\n if (props.isLoggedIn) qaBot.setAttribute('is-logged-in', '');\n if (props.isAnonymous) qaBot.setAttribute('is-anonymous', '');\n if (props.disabled) qaBot.setAttribute('disabled', '');\n if (props.isOpen) qaBot.setAttribute('is-open', '');\n if (props.apiKey) qaBot.setAttribute('api-key', props.apiKey);\n\n // Set CSS custom properties if provided\n if (props.styles) {\n Object.entries(props.styles).forEach(([prop, value]) => {\n if (prop.startsWith('--')) {\n qaBot.style.setProperty(prop, value);\n }\n });\n }\n\n // Add event listener for close if provided\n if (props.onClose) {\n qaBot.addEventListener('qabot-close', props.onClose);\n }\n\n // Append to target\n target.appendChild(qaBot);\n\n // Return cleanup function\n return () => {\n target.removeChild(qaBot);\n };\n}\n\n// For standalone UMD build, expose the API globally\nif (typeof window !== 'undefined') {\n // Provide a global process.env for the standalone build\n window.process = { env: { REACT_APP_API_KEY: 'demo-key' } };\n\n window.accessQABot = {\n WebComponentQABot,\n qAndATool: webComponentQAndATool\n };\n}","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport QABot from './components/QABot';\nimport App from './App';\nimport './App.css';\nimport './index.css';\nimport { WebComponentQABot, webComponentQAndATool } from './web-component';\n\n// Export QABot component directly for users who want to use it as a React component\nexport { QABot };\n\n// Re-export the web component functionality for those accessing via the main entry point\nexport { WebComponentQABot };\n\n// Function-based API that prioritizes web component usage\n// and then attempts a react render (since some people may use the function within a react context)\nexport function qAndATool(config) {\n const { target, version, isLoggedIn, isOpen, isAnonymous, ...otherProps } = config;\n\n if (!target || !(target instanceof HTMLElement)) {\n console.error('QA Bot: A valid target DOM element is required');\n return;\n }\n\n // If the web component is available, use it\n if (typeof window !== 'undefined' && typeof customElements !== 'undefined' &&\n customElements.get('access-qa-bot')) {\n return webComponentQAndATool({\n target,\n isLoggedIn,\n isAnonymous,\n isOpen,\n ...otherProps\n });\n } else {\n // Use direct react rendering\n const root = ReactDOM.createRoot(target);\n root.render(\n <React.StrictMode>\n <App\n isLoggedIn={isLoggedIn}\n isAnonymous={isAnonymous}\n isOpen={isOpen}\n {...otherProps}\n />\n </React.StrictMode>\n );\n\n // Return a cleanup function\n return () => {\n root.unmount();\n };\n }\n}\n\n// Default export for simplicity\nexport default QABot;"],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","J","AUDIO_BUTTON","NOTIFICATION_BUTTON","CLOSE_CHAT_BUTTON","SEND_MESSAGE_BUTTON","VOICE_MESSAGE_BUTTON","FILE_ATTACHMENT_BUTTON","EMOJI_PICKER_BUTTON","re","ae","uA","A","e","G","viewBox","d","fill","fillRule","ie","Ye","We","qe","xmlns","strokeLinecap","strokeWidth","Ve","_e","At","ce","ot","st","de","general","primaryColor","secondaryColor","fontFamily","showHeader","showFooter","showInputRow","actionDisabledIcon","embedded","flowStartTrigger","tooltip","mode","text","chatButton","icon","header","title","l","cursor","margin","fontSize","fontWeight","onClick","window","open","children","showAvatar","avatar","buttons","closeChatIcon","notification","disabled","defaultToggledOn","volume","iconDisabled","sound","showCount","audio","language","voiceNames","rate","chatHistory","maxEntries","storageKey","storageType","viewChatHistoryButtonText","chatHistoryLineBreakText","autoLoad","chatInput","allowNewline","enabledPlaceholderText","disabledPlaceholderText","showCharacterCount","characterLimit","botDelay","sendButtonIcon","blockSpam","sendOptionOutput","sendCheckboxOutput","chatWindow","showScrollbar","showTypingIndicator","autoJumpToBottom","showMessagePrompt","messagePromptText","messagePromptOffset","defaultOpen","sensitiveInput","maskInTextArea","maskInUserBubble","asterisksCount","hideInUserBubble","userBubble","animate","simulateStream","streamSpeed","botBubble","voice","timeoutPeriod","autoSendDisabled","autoSendPeriod","sendAsAudio","footer","j","display","flexDirection","alignItems","columnGap","borderRadius","width","height","justifyContent","background","fileAttachment","multiple","accept","sendFileName","showMediaDisplay","emoji","list","toast","maxCount","forbidOnMax","dismissOnClick","event","rcbPreInjectMessage","rcbPostInjectMessage","rcbStartSimulateStreamMessage","rcbStopSimulateStreamMessage","rcbStartStreamMessage","rcbChunkStreamMessage","rcbStopStreamMessage","rcbRemoveMessage","rcbLoadChatHistory","rcbToggleChatWindow","rcbStartSpeakAudio","rcbToggleAudio","rcbToggleNotifications","rcbToggleVoice","rcbChangePath","rcbShowToast","rcbDismissToast","rcbUserSubmitText","rcbUserUploadFile","rcbTextAreaChangeValue","rcbPreLoadChatBot","rcbPostLoadChatBot","ariaLabel","audioButton","closeChatButton","emojiButton","fileAttachmentButton","notificationButton","sendButton","voiceButton","inputTextArea","device","desktopEnabled","mobileEnabled","applyMobileOptimizations","we","bA","settings","setSettings","H","QA","at","t","Provider","value","ge","tooltipStyle","notificationBadgeStyle","chatWindowStyle","headerStyle","bodyStyle","chatInputContainerStyle","chatInputAreaStyle","chatInputAreaFocusedStyle","chatInputAreaDisabledStyle","userBubbleStyle","botBubbleStyle","botOptionStyle","botOptionHoveredStyle","botCheckboxRowStyle","botCheckboxNextStyle","botCheckMarkStyle","botCheckMarkSelectedStyle","characterLimitStyle","characterLimitReachedStyle","chatHistoryLineBreakStyle","chatMessagePromptStyle","chatMessagePromptHoveredStyle","footerStyle","loadingSpinnerStyle","mediaDisplayContainerStyle","chatButtonStyle","chatHistoryButtonStyle","chatHistoryButtonHoveredStyle","sendButtonStyle","sendButtonHoveredStyle","sendButtonDisabledStyle","audioButtonStyle","audioButtonDisabledStyle","closeChatButtonStyle","emojiButtonStyle","emojiButtonDisabledStyle","fileAttachmentButtonStyle","fileAttachmentButtonDisabledStyle","notificationButtonStyle","notificationButtonDisabledStyle","voiceButtonStyle","voiceButtonDisabledStyle","chatIconStyle","audioIconStyle","audioIconDisabledStyle","closeChatIconStyle","emojiIconStyle","emojiIconDisabledStyle","fileAttachmentIconStyle","fileAttachmentIconDisabledStyle","notificationIconStyle","notificationIconDisabledStyle","voiceIconStyle","voiceIconDisabledStyle","sendIconStyle","sendIconDisabledStyle","sendIconHoveredStyle","rcbTypingIndicatorContainerStyle","rcbTypingIndicatorDotStyle","toastPromptContainerStyle","toastPromptStyle","toastPromptHoveredStyle","Be","styles","setStyles","F","it","ct","n","s","r","a","i","o","backgroundImage","className","map","u","c","WA","ve","AA","lt","botIdRef","flowRef","$","Map","f","inputRef","streamMessageMap","chatBodyRef","paramsInputRef","keepVoiceOnRef","audioContextRef","audioBufferRef","gainNodeRef","prevInputRef","Pe","eA","ut","W","K","L","R","_","tA","T","h","g","D","P","B","w","C","b","v","E","Q","O","y","p","m","I","x","U","k","N","V","oA","Z","visualViewport","innerHeight","z","Y","innerWidth","isBotTyping","setIsBotTyping","isChatWindowOpen","setIsChatWindowOpen","audioToggledOn","setAudioToggledOn","voiceToggledOn","setVoiceToggledOn","notificationsToggledOn","setNotificationsToggledOn","isLoadingChatHistory","setIsLoadingChatHistory","hasChatHistoryLoaded","setHasChatHistoryLoaded","isScrolling","setIsScrolling","textAreaDisabled","setTextAreaDisabled","textAreaSensitiveMode","setTextAreaSensitiveMode","hasInteractedPage","setHasInteractedPage","hasFlowStarted","setHasFlowStarted","unreadCount","setUnreadCount","inputLength","setInputLength","blockAllowsAttachment","setBlockAllowsAttachment","timeoutId","setTimeoutId","viewportHeight","setViewportHeight","viewportWidth","setViewportWidth","ft","color","borderColor","current","onMouseEnter","onMouseLeave","onMouseDown","preventDefault","scrollTop","scrollHeight","clientHeight","requestAnimationFrame","S","dt","S_START_SPEAK_AUDIO","S_TOGGLE_AUDIO","S_TOGGLE_VOICE","S_TOGGLE_NOTIFICATIONS","S_TOGGLE_CHAT_WINDOW","S_PRE_INJECT_MESSAGE","S_POST_INJECT_MESSAGE","S_PRE_LOAD_CHATBOT","S_POST_LOAD_CHATBOT","S_START_SIMULATE_STREAM_MESSAGE","S_STOP_SIMULATE_STREAM_MESSAGE","S_START_STREAM_MESSAGE","S_CHUNK_STREAM_MESSAGE","S_STOP_STREAM_MESSAGE","S_LOAD_CHAT_HISTORY","S_CHANGE_PATH","S_SHOW_TOAST","S_DISMISS_TOAST","S_USER_SUBMIT_TEXT","S_USER_UPLOAD_FILE","S_TEXT_AREA_CHANGE_VALUE","OA","async","CustomEvent","detail","cancelable","data","promises","dispatchEvent","Promise","all","he","paths","setPaths","KA","wt","kA","M","length","botId","currPath","prevPath","nextPath","defaultPrevented","getCurrPath","getPrevPath","goToPath","replacePaths","wA","gt","callRcbEvent","gA","currState","newState","toggleChatWindow","openChat","chatScrollHeight","setChatScrollHeight","De","messages","setMessages","qA","Bt","vt","message","isNewSender","content","contentWrapper","backgroundColor","maxWidth","nA","Pt","ht","Dt","scrollbarWidth","X","onScroll","sender","toUpperCase","Et","checkboxes","checkedItems","path","handleSubmitText","IA","Set","size","min","reusable","items","has","delete","max","add","Array","from","join","sendOutput","Ct","isArray","injectMessage","bt","function","Qt","trim","simulateStreamMessage","mt","options","yt","It","component","St","Error","transition","duration","interruptable","setTimeout","Ce","Tt","chatDisabled","Ee","isSensitive","Object","keys","includes","pt","kt","Ht","borderTop","LA","crypto","randomUUID","getRandomValues","replace","Uint8Array","toString","console","error","EA","id","timestamp","Date","toUTCString","tags","hA","be","NA","HA","Qe","MA","jA","unshift","Nt","slice","me","JA","setItem","JSON","stringify","XA","sessionStorage","localStorage","parse","xt","getItem","fe","structuredClone","Ue","renderToString","ye","DOMParser","parseFromString","body","childNodes","nodeType","Node","TEXT_NODE","textContent","tagName","toLowerCase","attributes","reduce","name","split","filter","forEach","prototype","hasOwnProperty","call","classList","class","Ft","Rt","jt","zt","Gt","se","key","innerHTML","contains","pe","getBoundingClientRect","documentElement","clientWidth","top","left","bottom","right","VA","AudioContext","createGain","gain","startsWith","atob","ArrayBuffer","charCodeAt","fetch","arrayBuffer","decodeAudioData","createBufferSource","buffer","connect","destination","start","toggleNotifications","playNotificationSound","setUpNotifications","Xt","SpeechSynthesisUtterance","info","lang","speechSynthesis","getVoices","find","speak","Yt","ZA","textToRead","speakAudio","toggleAudio","yA","simulateStreamChunker","setInterval","clearInterval","aA","SA","Math","set","get","messageToEndStreamFor","endStreamMessage","removeMessage","streamMessage","replaceMessages","zA","fA","xA","CA","lA","_A","SpeechRecognition","webkitSpeechRecognition","Kt","onresult","clearTimeout","results","transcript","GA","onend","qt","navigator","mediaDevices","getUserMedia","then","MediaRecorder","ondataavailable","push","onstop","getTracks","stop","catch","$A","state","UA","Jt","toggleVoice","syncVoice","mA","currValue","prevValue","focus","blur","getTextAreaValue","setTextAreaValue","updateTextAreaFocus","focusTextArea","blurTextArea","toggleTextAreaDisabled","toggleTextAreaSensitiveMode","Ie","toasts","setToasts","Se","Vt","pA","timeout","showToast","dismissToast","replaceToasts","repeat","userInput","file","inputText","sendInChat","FA","PA","userAgent","test","Zt","boxSizing","outline","boxShadow","caretColor","shiftKey","target","role","stopPropagation","placeholder","onChange","onKeyDown","onFocus","onBlur","onCompositionStart","onCompositionEnd","rows","_t","$t","Ao","transform","eo","to","minWidth","Te","fileType","fileUrl","src","alt","controls","Me","FileReader","onload","result","onerror","readAsDataURL","oo","files","no","composedPath","offsetHeight","addEventListener","removeEventListener","setSelectionRange","so","ro","stroke","io","ao","co","Wt","Blob","File","lo","fo","values","uo","Eo","headerButtons","chatInputButtons","footerButtons","Ae","shift","removeItem","Ut","showChatHistory","Co","tabIndex","bo","te","oe","handleFirstInteraction","ke","q","sA","iA","cA","virtualKeyboard","overlaysContent","BA","vA","boundingRect","rA","DA","scrollTo","behavior","scrollY","TA","ne","position","Mt","clear","Qo","mo","He","le","version","baseUrl","cacheDuration","ok","json","Io","inlineStyles","cssStylesText","getTime","floor","cacheDate","yo","ue","po","RegExp","Mo","RA","dA","source","pop","WeakMap","ko","updateSettings","replaceSettings","xe","updateStyles","replaceStyles","Oe","Ho","plugins","zIndex","Le","Ne","xo","loadConfig","Oo","flow","themes","setConfigLoaded","styleRootRef","YA","Lo","show_options","prompt_again","unknown_input","process_options","Go","QABot","props","welcome","prompt","containerRef","useRef","isLoggedIn","undefined","isAnonymous","isOpen","onClose","apiKey","process","env","REACT_APP_API_KEY","hasError","useEffect","parentElement","loop","requestOptions","method","headers","query","params","response","resolve","handleQuery","React","ChatBot","getThemeColors","getCSSVariable","fallback","containerValue","getComputedStyle","getPropertyValue","parentValue","simStream","dangerouslySetInnerHtml","href","App","AccessQABot","HTMLElement","constructor","super","this","attachShadow","container","shadowRoot","injectStyles","baseStyle","chatbotStyles","styleSheets","sheet","location","origin","rules","cssRules","selectorText","warn","observedAttributes","attributeChangedCallback","oldValue","newValue","_render","_getProps","getAttribute","hasAttribute","connectedCallback","syncStyles","styleObserver","MutationObserver","observe","attributeFilter","disconnectedCallback","disconnect","root","unmount","styleProps","prop","containerStyle","setProperty","ReactDOM","createRoot","render","StrictMode","customElements","define","WebComponentQABot","webComponentQAndATool","config","qaBot","setAttribute","entries","removeChild","qAndATool","otherProps","_extends","accessQABot"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"access-qa-bot.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/react-chatbotify/dist/index.js","../src/components/EmbeddedChatContainer.js","../src/utils/ThemeUtils.js","../src/components/QABot.js","../src/web-component.js","../src/lib.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import \"./style.css\";\nimport { jsxs as W, jsx as l, Fragment as oA } from \"react/jsx-runtime\";\nimport * as J from \"react\";\nimport { forwardRef as cA, createContext as BA, useContext as vA, Fragment as UA, useRef as eA, useState as z, useCallback as T, useEffect as Z, isValidElement as ae, createElement as Ae, useMemo as fA } from \"react\";\nimport He from \"react-dom/server\";\nconst V = {\n AUDIO_BUTTON: \"audio-button\",\n NOTIFICATION_BUTTON: \"notification-button\",\n CLOSE_CHAT_BUTTON: \"close-chat-button\",\n SEND_MESSAGE_BUTTON: \"send-button\",\n VOICE_MESSAGE_BUTTON: \"voice-button\",\n FILE_ATTACHMENT_BUTTON: \"file-attachment-button\",\n EMOJI_PICKER_BUTTON: \"emoji-button\"\n}, Oe = \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2042%2042'%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:4'%20d='M17%209a8%208%200%200%201-8%208%208%208%200%200%201-8-8%208%208%200%200%201%208-8%208%208%200%200%201%208%208Zm0%200'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:10'%20d='M14.66%2014.66%203.34%203.34'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3c/svg%3e\", ee = \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%201000%201000'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-99%20362)%20scale(3.4003)'/%3e%3cpath%20d='M0%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(180%20106%20386)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-46%20282)%20scale(3.4003)'/%3e%3cpath%20d='M19%2065h4l5%204v1H14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-3%20240)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(236%20175)%20scale(3.4003)'/%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20139%20600)%20scale(3.4003)'/%3e%3cpath%20d='M184%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20219%20548)%20scale(3.4003)'/%3e%3cpath%20d='M175%2065h4l5%204v1h-14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20262%20505)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(767%20175)%20scale(3.4003)'/%3e%3crect%20width='116.7'%20height='70'%20x='-58.4'%20y='-35'%20rx='31.5'%20ry='31.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20877)%20scale(3.4003)'/%3e%3crect%20width='60'%20height='20'%20x='-30'%20y='-10'%20rx='3'%20ry='3'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='translate(502%20728)%20scale(3.4003)'/%3e%3ccircle%20r='75'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20473)%20scale(3.4003)'/%3e%3crect%20width='129.4'%20height='82.3'%20x='-64.7'%20y='-41.1'%20rx='37'%20ry='37'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23fff;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3crect%20width='108'%20height='68.6'%20x='-54'%20y='-34.3'%20rx='30.9'%20ry='30.9'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(415%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(591%20464)%20scale(3.4003)'/%3e%3crect%20width='96'%20height='53.2'%20x='-48'%20y='-26.6'%20rx='23.9'%20ry='23.9'%20style='stroke:%23162334;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(503%20875)%20scale(3.4003)'/%3e%3cpath%20stroke-linecap='round'%20d='m68%20215%207-15M81%20222l-7-22M81%20222l7-14M101%20208H87M114%20219l-7-24M113%20219l13-22M131%20214l-5-17M148%20214h-18M69%20214H51M100%20209l7-15'%20style='stroke:%23a478fc;stroke-width:3;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:10;is-custom-font:none;font-file-url:none;fill:none;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3c/g%3e%3c/svg%3e\", xe = \"data:image/svg+xml,%3csvg%20width='140'%20height='140'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cy='60.044'%20cx='70'%20fill='%235c5c5c'%20r='29'/%3e%3cpath%20d='m16.36%20156.186-.01-30.5c-.005-16.844%2024.168-30.507%2053.991-30.516%2029.823-.009%2054.004%2013.64%2054.01%2030.484l.008%2030.5-108%20.032z'%20fill='%235c5c5c'/%3e%3c/svg%3e\", Le = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 0 637 637\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"m478 113-13 2-4 1h4l14-2c10-2 35-2 42-1l6 3 3 1c3 0-4-3-8-5-7-1-34-1-44 1m56 6 8 6c7 5 20 17 20 19s7 12 8 12l-3-6-4-6c0-3-15-17-25-24-5-3-8-4-4-1m-198 16-9 1a512 512 0 0 1 9-1m-180 30a412 412 0 0 0-23 4 167 167 0 0 0-32 8 439 439 0 0 1 46-9 304 304 0 0 1 11-2l6-1h-8m369 8 4 3-7-6c-1 0 0 2 3 3m-439 9c-7 3-18 13-18 15l6-5c5-5 9-8 14-10l6-4-8 4m442 12-10 11-7 6 7-6c7-5 14-14 13-16l-3 5M65 205l-1 11c0 9 0 10 4 17 5 10 7 12 22 11 10 0 15 0 38-5l5-1-6 1-16 2-21 2c-13 1-16-1-21-10-3-5-4-6-4-15l1-12c1-4 1-5-1-1m335 1c3 0 3 1 3 3l-2 6c-2 5-35 39-76 80-53 51-120 117-138 137-21 24-22 25-22 27 0 3 6 9 9 9 4 0 14-8 38-27a5073 5073 0 0 1 15-16 1421 1421 0 0 0-17 15l-31 25-6 2-4-3c-3-3-3-4-2-6 3-8 79-85 160-163 57-57 79-80 79-86 0-2-3-4-7-4-2 0-2 0 1 1m165 18c-9 17-25 32-57 53l-10 8 16-11 12-8c15-10 27-22 39-39 5-7 6-8 4-8l-4 5m-221 2a199 199 0 0 0-19 10 183 183 0 0 1 27-12c0-1-1-1-8 2m-34 16c-3 3-2 3 2 0l1-2-3 2m151 3-1 2 2-2c3-3 2-3-1 0m-16 12-11 10a281 281 0 0 0 11-10m-24 18-7 5-7 5-42 31c-10 7-24 19-22 19l7-6 16-12a343 343 0 0 0 35-25 573 573 0 0 0 20-17m-187 0-2 2 4-2 3-2-5 2m-14 6-3 2 4-1 4-3-5 2m-7 3-8 4-18 8 18-7 7-3 3-1c1-2 0-2-2-1m254 24a2672 2672 0 0 1-71 54 601 601 0 0 0 39-29 1352 1352 0 0 1 32-25m-291-8-2 2 4-2 3-2-5 2m-13 5-2 2h3c5-3 4-4-1-2m-19 9-7 3-13 6c-10 5-13 7-14 10-3 4-2 5 1 0 2-3 5-5 14-9l13-6 12-6-6 2m178 36c-17 12-21 16-21 17a390 390 0 0 1 20-17m-206 34 1 4 1 3 1 5 2 8 1 5v-6l-1-8-2-5-1-4-1-2c-1-2-1-2-1 0m222 23-9 7a683 683 0 0 0-56 44 261 261 0 0 0-26 20 1345 1345 0 0 0-46 34c-6 3-7 3-19 3-11 0-12 0-18-3-8-4-10-8-17-20l-5-10 4 10c5 10 12 18 19 22 4 2 6 2 17 2 13 0 14 0 21-3l26-19 42-33a2183 2183 0 0 0 43-34 643 643 0 0 1 24-20\", fill: \"#fff\", fillRule: \"evenodd\" }), /* @__PURE__ */ J.createElement(\"path\", { d: \"M478 114a620 620 0 0 1-39 6l-21 3a5481 5481 0 0 0-19 3 870 870 0 0 1-54 8l-1 1-6 1-12 2-13 2a992 992 0 0 0-76 12 400 400 0 0 1-45 8l-6 1-5 1h-3l-3 1-2 1-26 4-13 2-17 3c-23 5-33 9-43 19-7 8-9 13-9 27 0 8 1 9 4 14 5 9 8 11 21 10l21-2a1133 1133 0 0 1 23-4 659 659 0 0 0 74-14l3-1h3l3-1h3l2-1 2-1h3l2-1h2l24-5 38-7a2100 2100 0 0 1 93-18l3-1 10-1a2082 2082 0 0 1 120-17l2 1c2 0 8 5 8 7l1 2 1 6c0 4 0 6-3 10-2 4-16 16-18 16l-7 5-10 8a1070 1070 0 0 0-11 7 113 113 0 0 1-20 14l-2 2-3 2-2 2h-1a154 154 0 0 1-28 21l-5 4-5 4a573 573 0 0 1-50 37 175 175 0 0 0-24 18l-1 2-2 1-2 1-2 1-1 1-12 10a396 396 0 0 0-32 25l-8 6-6 5-9 7a326 326 0 0 1-25 20l-13 12a5073 5073 0 0 0-17 15c-24 20-34 27-39 27-2 0-8-6-8-9 0-2 1-3 22-27 18-20 85-86 138-137 41-41 74-75 76-80l2-6c0-2 0-3-2-3l-7 1a233 233 0 0 1-26 9l-1 1-1 1h-1l-1 1h-2l-3 2-1 1h-2l-3 2h-1l-5 2-22 10-9 4-4 2-5 2-10 4-2 1-2 1-2 1-13 6a334 334 0 0 1-38 17 75 75 0 0 0-14 6l-5 2-4 1-2 1-3 2-7 3-16 6a247 247 0 0 0-32 14l-1 1h-2l-1 1h-2l-1 1-12 6a103 103 0 0 0-27 15l-2 5-1 1v11l1 5 1 5 1 4c0 3 0 4 2 4v3l1 3 1 2 2 10 1 4 1 5 2 10 2 8 1 4 1 4c3 3 9 25 11 38l1 7v2l1 4v1l1 1v2l1 2 1 3v1l5 10c7 13 9 16 17 20 6 3 7 3 18 3 12 0 13 0 19-3 8-4 11-6 26-18a1345 1345 0 0 1 85-67 683 683 0 0 1 50-39l12-9a513 513 0 0 1 44-33 201 201 0 0 0 22-17 2270 2270 0 0 0 73-54 158 158 0 0 0 58-59c2 0 3-9 4-27l-1-19-1-4-1-6-1-3-4-6-4-6c0-2-6-8-13-14a77 77 0 0 0-28-18c-6-1-34-1-43 1\" })), te = cA(Le), Ne = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"M765-321q0 117-84 196-83 80-200 80-118 0-200-80t-83-196v-392q0-85 61-144 61-58 146-58 86 0 147 58 61 59 61 144v374q0 54-39 92-39 37-93 37-55 0-93-37-38-38-38-92v-372h110v372q0 9 6 14t15 5q8 0 15-5t7-14v-374q0-39-29-66t-68-27q-40 0-69 27t-29 66v392q0 71 51 119t122 48q71 0 122-48t51-119v-426h111v426Z\" })), oe = cA(Ne), Re = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"M125-165v-113h77v-273q0-93 55-167 56-75 146-100v-19q0-32 22-55 23-23 55-23t55 23q22 23 22 55v19q90 25 146 99 56 73 56 168v273h77v113H125ZM480-32q-38 0-66-27-27-27-27-66h186q0 39-27 66t-66 27Z\" })), Ue = cA(Re), Fe = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"M137-190v-113h78v-253q0-41 11-79 11-39 35-71l-9 150h10L17-802l74-74L873-92l-74 74-175-172H137Zm609-149L319-769q20-15 41-25t44-16v-28q0-32 22-54t54-22q32 0 55 22t22 54v28q85 23 137 94t52 160v217ZM481-47q-38 0-65-27t-27-65h184q0 38-27 65t-65 27Z\" })), je = cA(Fe), ze = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 100 100\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"g\", { strokeLinecap: \"round\", strokeWidth: 10 }, /* @__PURE__ */ J.createElement(\"path\", { d: \"m19 19 61 61M80 19 19 80\" }))), Ge = cA(ze), Ye = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"M94-136v-255l351-93-351-92v-253l816 346L94-136Z\" })), Xe = cA(Ye), We = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"M480-372q-61 0-105-43-43-43-43-105v-240q0-61 43-105 43-43 105-43 61 0 105 43 43 44 43 105v240q0 62-43 105t-105 43ZM425-76v-122q-121-16-197-108t-76-214h109q0 91 64 154t155 63q91 0 155-63t64-154h109q0 122-77 214T534-198v122H425Z\" })), Ke = cA(We), qe = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"m763-343-80-79q8-20 13-44 5-23 5-54h109q0 49-11 95t-36 82ZM625-482 336-770v-2q3-56 45-96t101-40q62 0 105 43t43 105v249l-1 17q-1 7-4 12ZM427-76v-122q-120-16-196-108-77-92-77-214h109q0 91 64 154t155 63q43 0 80-14 37-15 67-41l78 79q-35 32-78 53t-93 28v122H427Zm362 27L41-796l75-75 748 748-75 74Z\" })), Je = cA(qe), Ve = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"M625-511q29 0 50-21t20-50q0-29-20-50-21-20-50-20t-50 20-20 50q0 29 20 50 21 21 50 21Zm-290 0q29 0 50-21t20-49q0-30-20-50t-50-21q-29 0-50 20-20 21-20 50 0 30 20 50 21 21 50 21Zm145 268q75 0 137-43t85-115H258q24 72 85 115 62 43 137 43Zm0 198q-90 0-170-34-79-34-138-93T79-310q-34-80-34-170t34-170q34-79 93-138t138-93q80-34 170-34t170 34q79 34 138 93t93 138q34 80 34 170t-34 170q-34 79-93 138T650-79q-80 34-170 34Zm0-435Zm0 322q134 0 228-94t94-228q0-134-94-228t-228-94q-134 0-228 94t-94 228q0 134 94 228t228 94Z\" })), ne = cA(Ve), Ze = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"M553-64v-108q107-27 173-113 67-87 67-197 0-109-67-195T553-789v-108q152 26 249 144 97 117 97 271 0 155-97 273T553-64ZM61-335v-290h176l236-237v764L237-335H61Zm492 28v-346q51 23 82 70t31 103-31 103q-31 47-82 70Z\" })), _e = cA(Ze), $e = (A, e) => /* @__PURE__ */ J.createElement(\"svg\", { viewBox: \"0 -960 960 960\", ref: e, ...A }, /* @__PURE__ */ J.createElement(\"path\", { d: \"M807-15 700-123q-33 21-71 37-38 15-80 22v-108q20-4 38-12l35-17-153-154v257L234-335H57v-290h144L10-818l74-75L882-90l-75 75Zm37-264-80-79q13-30 19-60 7-31 7-64 0-109-68-195-67-86-173-112v-108q152 26 249 144 98 117 98 271 0 55-14 107-13 51-38 96ZM661-462 549-575v-78q51 23 83 70 31 47 31 103l-1 9-1 9ZM469-655 366-759l103-103v207Z\" })), At = cA($e), et = \"data:audio/wav;base64,UklGRmaIAABXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNjAuMTYuMTAwAGRhdGEgiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAA//////7/////////AAABAAAAAgABAAEAAQAAAAIAAQABAP//AAD+////AAD+//7////+////AAD//wAA/v8AAAAA/v8AAP//AAAAAAAAAgD////////+////AAABAAEAAgD/////AQABAAAA//8CAP//AAAAAAAA/v8AAAAA//8AAAEA//8EAAAAAAAAAAAA//8BAP//AQABAAEA/////wEA/v///wAAAAACAAAAAAABAAAA//8AAP//AAACAP//////////AAAAAAEAAAAAAAEA//8AAAEAAQADAAIAAgAAAAAA/v///wEAAAAAAAEAAAAAAAEA//8AAAEAAQD//wAA//8AAAEAAAABAAEAAAABAP//AAD//wAAAgAAAP//AQD/////AAAAAP7/AgAAAAIAAAAAAAAAAAABAAAAAQABAP//AAABAP///v8AAP////8AAP//AAD//wAA//8BAP//AAD///7///8BAP7///8AAAIAAgABAAEA/v8AAP//AQADAAEAAAACAAEA/////////v///wEA/v////7/AAD+////AAAAAAAAAgAAAAAAAAD//wEAAAAAAAAAAQABAAIA/v8AAAAA//8AAAEAAAAAAP//AgD//wEA/////wAAAQACAAAAAAAAAP//AQD/////AQAAAAEA/v8AAAEAAQABAAEA///+////AQD//wEAAgD+//7/AAAAAAAAAQAAAAAAAQAAAAAAAAAAAP//AAD//wEAAQD//wAAAQABAP7///8AAP7/AAABAP7/AQABAAEAAAABAAEAAAD+/wIAAAABAAAAAQD/////AQACAP////8AAP//AQD//wEA/v8CAAEAAAAAAAAAAQAAAAIAAQAAAAEAAgD//wEAAAAAAP7///8BAP//AgAAAP///v8CAAAAAgD///////////7/AAACAAEAAgD//wAAAAABAP//AwAAAAMA//8AAAAAAQD+/wAAAAD//wAAAQD//wEA//8BAP7/AAABAAAA//8BAAAA//8AAP//AQADAP3////+////AgD+/////v8BAAEAAQACAAAAAAAAAAAA//8AAP//AAD+/wEA/v8AAP7/AAD//wAAAQACAAAAAQAAAP//AQAAAAAAAAABAAAAAAD+//////8AAAAAAAD//wAAAAABAAEA//8AAAEA//8AAP//AgD+/wAA///+/wAA/v///wAAAQABAAAAAQD//wAA//8AAAEA//8BAAAAAgABAP//AAACAAIAAQABAP//AAAAAAAA//8BAAIAAAABAAAA//8CAAEA/v//////AAAAAAEA////////AQAAAP//AAD//wAAAAAAAP3/AAAAAAEAAAACAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAP///v///wAAAAABAAAAAAD//wEAAAABAAEAAQD//wAAAAACAAAAAQD+/wAA//8BAAEAAAD+/wAA/////wAAAAABAAAAAAD//////v8AAAAA//8AAAAAAAAAAAIAAAABAAEAAAABAP7/AAD9//////////7///8BAP//AAD///3/AQABAP//AAD//wAAAAABAAAA//8AAP//AAD/////AQABAAEA//8AAAAA//8BAAMA//8AAAAA//8AAP7/AAD//wAAAAAAAP7/AQAAAAAA/v8CAP//AAABAAIAAQABAAAA//8BAAEAAQD///7/AQD//wAAAQABAP//AAD//wEAAAAAAAAAAQAAAAIA//8AAP////8AAP//AQD//////v///wEA/v8AAAIAAgACAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQD//wAA/////wAAAQACAP////8AAAAAAAD//wAAAQD+/wEA//8AAAEAAwD//wEAAQAAAAAAAAABAP////8AAAAAAQAAAAAAAAAAAAEAAQAAAP////////7/AQABAAEAAQD///////8BAAAA//8AAAAAAgABAAEA/v8BAP7///8BAP3/AQABAAIAAAD//wEAAAAAAP//AAABAAIA//8CAAAAAQAAAAEA//8BAAAA/////wAAAAD//wEAAQD//wAAAAAAAP//AAAAAAAAAQABAAAAAQAAAP//AQD//////v8AAAEAAAAAAAAA//8AAAAAAAACAAEAAQAAAP//AAABAAEA/////wAAAgABAAAAAAAAAAEAAAABAP//AQABAP7////+/wEAAAAAAP//AAABAAAAAAABAAEAAAAAAAAA//8BAP///f/+/wEAAQD///7///8AAAAAAQAAAP////8AAAAAAAABAAAAAQD/////AAD//wEA//8AAAIA//8CAAAA//8AAAAAAAD+/wEAAAD+/wAA/////wAA////////AAAAAAAA//8BAAAAAAD//wAAAAD//wEA//8AAP//AQD+/wAAAAAAAP7/AAD+/wEAAQABAP//AAABAAEAAQD//wAA/////wEA//8AAAAAAgAAAAAA//8BAAAAAgAAAAAAAAAAAP7/AQD//wAAAAD+/wAAAAADAAIA/////wAAAQD//wIA//8BAAEA/v8AAAIAAAAAAP3///8AAAAAAAAAAAAAAAABAP///////wAA//8AAAEAAQABAAEAAQABAAAAAQAAAAAAAQABAP7/AQD//wAAAQABAAEA//8BAAAAAgAAAAEAAAABAP//AAD/////AAD//wIA/////wIAAAD///7/AAAAAAAAAAACAP//AAABAP////8AAAAAAAABAAAAAgAAAAAAAQD+/wEA/////wAA/////wAAAAAAAAAA/v//////AAAAAP//AAABAAAAAQAAAAIAAAACAAAA//8AAAAA//8AAP7/AAAAAP//AAACAP//AQABAP//AQABAAAA/////////v8AAP//AQAAAAAA///+/wAAAQD+/wEAAQAAAAEA/////wAAAQD//wAA//8AAAAA/v8BAAEA//8AAP7//v8BAAAAAAAAAAEA//8AAAEA/////wAAAAD//////////wEAAAABAAEA//8CAAEA/f8AAAAA//8BAAAABAABAAEAAQAAAAAAAAAAAP7///8AAAAA/v8BAAAA//8AAAIA//8AAP////8BAP//AAAAAAAAAAD/////AQD///7/////////AQD8////AgABAAIA////////AAD//wAAAAABAAAAAAAAAAEAAgAAAP//AQD//wAAAAAAAP/////+/wAAAAABAAAAAwABAP///////wEAAAADAP//AQACAAAA//8CAAEAAAAAAP///////wIAAAAAAAAAAQAAAAAAAgD//wEAAAABAAAA/v8AAAAAAAAAAAAAAAAAAAEA/v8AAP//AQD//wAA//////7///8AAAAAAAAAAP7/AQD//wAA//8AAAEAAAABAAEAAQD/////AAD//wEAAAD/////AQAAAAEAAAD//wEAAAD/////AgD//wAAAQD//////////wAAAAD//wAAAAABAAAAAAD//wAAAQD///7/AQD//wEAAAD/////AAD//wEA//8AAAEA//8CAAAAAQD//wEAAgAAAAEAAwAAAAAA/v8BAAEAAgD//wEAAAAAAAAAAAD//wEA//8AAAAAAQACAP///////wAAAQABAAEAAAAAAAEAAQD+/wEA/f////////8AAAAA//8AAAEA//8BAAAA/v///wEAAAAAAAEA/////wAAAAAAAP//AAAAAAIAAAABAAAA/////wAAAAD//wAA/v8AAAMAAQD+/wEAAAABAAEA//8BAP//AgAAAAAAAAD//wAA/////wEA/v8CAP3/AAACAP3/AQABAAAAAQACAAEA/v8AAAAA//8BAAAAAgAAAAAAAgACAAEA/v/9/wAAAQABAP7///8AAP//AgD+/////v8CAP////8BAP//AQACAAEAAQABAP//AAD///7/AAABAAEAAgD//wEA//8CAAEAAQABAAEAAAABAAAA/v8AAAEA/v8AAP//AAABAP//AQAAAAEAAgAAAAAA/v///wEAAQAAAAIAAAD/////AgAAAAEA/v8AAP7/AQAAAAAAAQAAAAEAAAACAAEA//8BAP////8AAAIAAAAAAP//AAAAAAIAAAAAAAAAAwABAP///v8BAAAAAAAAAP3/AAABAAEA/v////////////3//v8AAAAAAQABAAIAAAD+/////v8AAAAAAQABAAEAAQAAAP//AAAAAP//AQAAAP//AAABAAAAAAAAAAAA////////AAAAAP//AQD/////AAABAAEA//8CAP7///8AAP7//v8BAAEAAAD+/////////wEAAAAAAAAAAgD//wAAAQAAAP7/AQABAP//AQAAAAAAAAD/////AAACAP////8BAAAAAAD//wAA//8AAAEAAQABAAAAAAABAAAAAQD+/wEA/v8AAAEAAQD/////AAD//wAAAQABAP7//v//////AAACAAAAAAAAAAAAAAACAAAAAQAAAAAA//8BAP//AQD//wAA///+/wIAAQD//wAAAAD//wAA/v8AAP3///8AAAAAAAAAAAAA/f8AAAAA//8CAP7/AAD///7/AAAAAAAAAAD//wEAAAAAAAEAAAAAAAAA//8BAP////8BAP7///8CAAEA//8BAP3///////////8BAAAAAAAAAAEAAgD+//////8BAAMAAQADAAEAAAACAAAAAQD/////AAABAAMAAQAAAP//AQD//wAA//8AAAAA//8CAP7//////wAAAAAAAAIA/v8AAP//AAACAP//AwD//wAA//8AAP//AwD//wEAAQABAAEAAQACAAEAAAD//wAA//8AAAIAAAAAAP///////wAAAQD//wIA//8BAP7/AAD///////8AAAAAAAAAAAEAAAD//wAAAQD//wEA//8BAAAAAAD/////AgABAAIAAAABAAAAAAAAAP//AAAAAAAA//8AAAAAAAD/////AQAAAAAAAQD//wAA///+////AAAAAAEAAgABAAEAAAAAAP//AQAAAAAAAQD+/wAAAAABAAEAAAD/////AQABAP7///8AAAIAAAACAAAA//8AAP//AgACAAAA///+/wAAAAABAAAAAQAAAAEA/v8BAAEA//8CAP//AQD+/////v8AAAAAAAACAP//AAD+/wIA/v8BAAAAAAD/////AAAAAP7///8AAP7//////wEAAAABAAAAAAD//wAAAAAAAAAAAgACAAAAAAABAAAA/f8AAP7/AgAAAAEA//8BAAAAAAD///7/AQD//wAAAAAAAAEAAAAAAAEAAAAAAAAAAQAAAAAA//8AAAAAAAABAP///////wAAAgABAAEA//8AAP//AAACAP//AQABAAEA//8BAAAAAAABAAAA//8AAAEAAAAAAAIA/v8BAP//AQD//wEAAAABAAEAAQACAAEAAAAAAAEAAAABAAAAAAD/////AAABAAEA//8AAAAAAQABAP//AAAAAP//AAD/////AQD//wAAAAABAAEA//8BAAAA//8AAP///f/+/wAA/////wAAAQAAAAIAAAAAAAAAAAD+/wEA/f8CAAAA//8AAAEAAgAAAAMAAAABAAAAAAAAAP//AQAAAAAAAQABAAAAAQAAAP//AAAAAAAA//8AAAAAAAABAAAAAQAAAAAAAAABAAIAAAAAAP7/AQD//wAAAAD+////AAAAAAAAAAABAAAA/////wAA//8AAAAAAAD/////AgD//wAA//8CAP//AQACAAEA/f////////8BAAIAAQABAP//AAD//wAA///+////AAD+/wAAAQD/////AAAAAAAA/////wAAAAABAAAAAQAAAAAA//8AAAIAAAABAP//AQABAAEA//8AAAAAAAADAAEAAAABAP//AgD//wMA//8AAAAAAAD//wAAAAD9/wEA///+/wAA//8BAAEA//8BAAAA//8AAP///v8BAP///////////v8BAAAAAQABAAAAAAAAAAAA//8AAP7/AQAAAAAAAAAAAP7/AQAAAAAAAgABAAEAAAABAAEAAAAAAAAAAAD+/wAAAAD//wEAAAAAAAAAAAAAAP//AgABAAAAAAABAAEAAAD/////AAAAAP//AAABAP////8BAAAAAQABAP7//v/+////AQAAAAAAAQAAAAEAAgAAAAAAAQAAAAEAAAD+/////v8BAP//AAABAP//AQABAAAAAAD//wAA//8CAP//AAAAAAEAAAABAAAAAAAAAP//AAD+////AwAAAAAAAQD//wEAAAACAAEAAAADAAAAAAD/////AAAAAAEAAAABAAAA//8AAAEA//8BAP///v8AAP//AAD//wAAAQABAP//AQAAAAAA/////wEAAQAAAP////8AAAEA//8BAAAAAQAAAP////8AAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAD//wEAAAAAAP////8AAAAA//8BAAEAAAAAAAIA///+/wIA/v8BAAAAAQACAAAAAQAAAP7///8AAP//AAAAAAEAAAAAAP7/AAD+////AAAAAAAAAAD//wAA/v8BAAMAAAABAAIAAgD//wAA//8BAAEA//8BAP7/AAAAAP7///8BAAAAAQAAAP7/AQD/////AAAAAAEAAAABAP//AQABAAAAAgABAAAAAAAAAP///////wEA//8AAAEA//8AAAAAAQAAAAIAAAABAP7//////wAAAQABAAAAAAABAAEA///+/wAA//8BAP///v8AAP///v8BAAAA//8CAAAAAQAAAAEAAQABAAAAAAD+/wAAAAD+/wAAAAAAAAAA/f////////8AAAAAAQABAP///////wEA//8BAAEAAAAAAAAA/////wEA/v//////AAAAAP//AAABAAAAAAD+/wAAAAD9////AQAAAAEAAwD//wEAAQAAAP//AgAAAAAAAAD+/wIAAAAAAAAAAAAAAAIA//8AAAEAAQACAAAAAQD//wAAAAD//wIAAQABAAAAAAD//wEA//8BAAEAAQAAAAAAAQABAP7/AAD//wEAAAACAP7/AQAAAAAAAAD//wIAAQACAAIAAQAAAAAAAAAAAP3///8BAAAAAQACAP//AgD9/wAAAAD//wEA/v////////8AAAAAAAD//wEAAQD//wMAAQAAAAEA//8AAAEA//8AAAAAAAACAAAAAAD//wAAAQD///////8AAAAA//8BAAIA/v8BAAEA/f8AAAAAAAAAAAAAAgD/////AAD+/wAAAAD//wAAAAAAAP//////////AgABAP///v8AAAIAAQAAAP//AAABAAAA/////wAAAAAAAAEAAAABAP///v///wIA//8BAAEAAQAAAAAA///+/wEAAAAAAAAA/////////v8BAP3/AAAAAAAAAAAAAAAA//8AAP//AAAAAP//AAABAAIAAAACAP////8DAAAAAAABAAAAAwABAP//AAABAP//AAAAAP////8BAAAAAgD//wAA///+/wAAAQD//wAA//8AAP7///8AAAAA/v8AAAAAAQD//wEA/v////////8AAAAAAQAAAP//AQACAAAAAAAAAP//AAD//wAAAAD//wAAAAD+/wAAAAAAAP//AQD//wAAAgAAAAAAAQABAAAAAwD+/wAAAAD///7/AQD//wIAAQAAAP//AAD//wAA//8CAAEAAAAAAAAA/////wAAAAD//wEAAQD///////8BAAAA//8BAAEAAAAAAAAA/v///wEAAAAAAAAAAAADAAAAAAAAAAAAAQABAAEAAAD+//7//v8AAP//AQAAAAAAAAABAAEAAgAAAAAAAQD//wAA/f8AAAAAAAABAAAAAQAAAAAAAAAAAAIA//8BAP///////wIA/////wAAAAABAAEA//8BAAAAAAD//wAAAQD//wEAAAAAAAIA/v8BAP//AAAAAAEAAAABAP//AAAAAAAAAQABAP7/AAABAAAAAQD//wIAAAAAAAEA///+/wAA//8AAP//AAAAAAAAAAABAP///////wIAAQAAAAEAAQAAAP7/AQAAAAAAAQAAAAAAAQD/////AQAAAAAA///+//7/AAD+/wEA//8AAAAA///+/wEAAAABAAIAAQABAAAA//8AAP//AAD//wAAAAD//wAAAAAAAP//AQAAAAAA////////AQAAAAAAAQD+////AQABAP7/AAD///7/AgD//wAAAAAAAP//AAAAAAEA//8BAAEAAgAAAAIAAAD//wEA/////wAAAQD///7/AQD//wEAAQD/////AAAAAAEAAgAAAAAAAQD//wEA//8AAP7//////wAA//8BAAEA//8BAAAAAQD/////AAABAP//AAACAP//AQAAAP//AAABAP////8AAAAAAAABAAEAAwABAAAAAgD//wAAAAD//wEAAAABAAAAAAABAAEA/////wAA//8AAAIAAAAAAAEAAQABAAEAAQABAP//AgAAAAAA//8BAP3//v///wAA//8AAAAAAQAAAP//AQD//wEAAAACAAIAAAABAAAA//8BAAEA//8BAP//AAAAAP//AQAAAAIAAAD//wAAAAAAAAEA////////AQAAAP//AQD//wAAAQD+/wEAAAABAP///v///wAAAAAAAP//AAAAAAIAAQD//wAAAgD+/wAAAAD//wAAAAABAP///P//////AAACAP////8AAAIAAAABAAAAAAAAAAAA//8AAAAAAQADAP//AQAAAAAAAAABAAEAAQAAAAAA/v8AAAAAAAD//wAAAQD//wAAAAD//wAA/v////////8CAAEA/v8BAP7/AAAAAAAA//8AAAEAAAD//wIAAQAAAAIAAQAAAAAAAAD///7/AQABAP//AAAAAP//AAACAAEA//8BAAAAAwAAAAAAAAD//wEAAAD//wAA///////////+/wAAAQABAAIAAAABAAEAAAD//wEAAAD/////AAD+/wIAAwABAAEA/v8BAAEAAAD//wAA//8AAP//AAAAAAEAAAAAAP//AAAAAAEAAQABAAEA/v///wAAAAD//wEAAAACAAAA/f/+/wAA/v///wAA//8AAAEAAQD///7/AAAAAAAAAAABAAAAAAACAAAAAAABAAAAAAABAP//AQD//wAA//8BAP7/AgABAAEAAQAAAAAAAQD//wEA/v8AAP////8AAP///////wIAAQD//wAAAAD//wAA/v///wAAAQD//wIA/////wEAAAAAAAIAAAABAAAAAAD//wEA//8AAAAA/////wAAAQAAAAAAAAD//wEAAQAAAAAAAAACAP///////wAAAgD//wAA/v8AAAIAAAAAAAEAAAABAP//AQABAAEAAQAAAP///v8BAAEAAAAAAP////8AAAAAAQD//wIAAQAAAAEAAAAAAAAA//8BAP//AAAAAP7//v///wEAAAAAAAIAAAAAAP//AAD//wEA//8BAAAAAAABAAEAAAABAP7///8AAAIAAAABAP//AAD//wEAAAAAAP//AAAAAAEAAAAAAAAAAAAAAP7/AQD//wAAAQD+/wEA/v8BAP7/AAABAAEAAAACAAIAAAADAAAA//8AAAEAAAABAP//AQD//wIA/////wEA//8AAAEA//8AAAEAAAAAAAAAAQABAAAAAAAAAAAAAAD//////////wAA//8AAP7/AAD+/wAAAQAAAAAA/////wAABAAAAAAA//8AAAEAAAAAAAAA/v8AAP//AAAAAAAAAAD//wAAAAD///////8BAAEAAAD/////AgABAAEA/v/+/wAAAQACAAEAAAD//wAAAwABAP//AgD+/wAA/v8AAAAAAAAAAAEA//8AAAEAAAD+/wEAAAAAAAEAAgAAAAEAAAABAP//AQD+/wIA/////wAAAQD//wAAAQD+/wAAAQABAAAA////////AAACAAAAAQAAAAIA//8BAP///v///wEA//8BAAEAAQD+/wAAAQD9/wAAAQAAAAEAAAABAAAAAgAAAP//AAD+/wAA/f8AAAAA////////AgAAAAcAAQD7/wEA/f8AAAIA//8GAP7//v/+//b/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+P/F//z/rv/i/7r/6v/Z/wYABwAoADAAKQBOABkATAD0/zQA1P8PANv/0//v/6//FwCi/ywAxP8oAPn//v82APT/WwD4/00A+/8yAPv//f/8/83/+v+w/+T/sf/j/9b/AQACACoAIgAtAEIAHwBPAAEAQADe/xcA0v/k/+X/t/8IAKv/IgC//yEA6/8EACMA9/9PAPf/VAD+/zcA+/8JAPn/1P8AALf/6f+w/+P/zf////j/HAAdAC0APgAfAEsABwBCAOP/IADV/+//2v/B//3/rP8PALv/GADd/xEAFgABAEMABABaAP//QgACABcA+//n/wAAwP/w/67/4v+///3/6f8WABcAKQA0ACIARgAQAEcA8f8pANn/9f/U/87/7f+v/wgAtP8RANP/FgANAAIAOQACAFQA/f9HAAAAIAABAO3//P/E/wEAs//q/7n/9P/i/wYAEQAZADEAJABBABMASAAAADEA3/8CANL/1v/g/7H/AACy/w8Axf8ZAPv/CQAzAAIAVQD//1AAAAAsAAIA9v/7/8r/AwC2//P/tf/m/+H/AwADABEAKQApADoAHgBHAAgAPADr/wkA1//f/93/vP/6/7L/CgDA/x4A7/8hACkAAgBPAPz/UgD1/zIABAAEAPz/0v/5/7f/AACy//H/2f/+/wEAAAAkABUAMwAdADoAEQA9APD/EADU//L/1P/H/+z/tf8LALv/HADk/ygAGgADAEMA//9TAPn/QAAAABAAAQDc//z/wf8DALD/7P/Q//z/9/8HABoAFgA3ACMAMAAOADwA+P8ZANv/+P/Y/9H/5v+8/wUAu/8WANf/HgAMAAoAPQABAFMA/f9HAP7/HwAEAN//+v/H/wMAs//2/8r/8//y/wMADgAQAC4AIwAyABMAJwD8/xcA3v8LANP/5v/f/8j/AgC4/w4A1P8eAAQACgAxAAEAUgD+/0gA/v8nAAIA8f/5/8r/BAC6/+3/wP/l/+b/AQAIABkAIwArAC4AIAAoAAkAGADj/w0A0f/r/9//0P8DAL3/CgDN/xkA//8IACUAAgBJAAAATwD+/ysAAQD7//3/z/8DAMT/+f/K/+L/5P/1////EgAcACYALgApAC4ACwAcAPL/EADZ//L/1f/U//f/uv8KAMX/DwDu/wcAHwADAEUABgBNAAEANQAAAAYAAQDf////xf/+/9P/4f/b//X/9v8LAA4AGAAlACoAMAAQABkA9v8TAOL/+f/W/9r/8f/I/wcAxP8MAOr/BwATAAQAOAAGAEcAAABCAAEADwAEAOP//v/F/wIAzf/o/93/8P/s/w4ACwAZACEAKgAyABMAIQD5/xgA6v8DANb/4P/y/9H/AQDJ/wkA4/8DAAoA/f8wAAQAQwABAEAA//8VAAIA7P/+/8r/BADP/+v/2v/s/+n/CwAIAA0AHAAjADQAHAAkAP//GQDy/wQA5v/i//b/0P/7/8f/AADh/wMAAAD+/yUAAAA7AAEAOAAAABwAAAD6/wAA1/8CAMr/AADb/+3/5f8BAAIACAAVABcALwAfACgA+/8XAPn/DgDe/+//7v/Q/wMAz/8JAOP/CwDx////EAAHADEAAQArAAIAHQAEAAcAAADr/wEAzv8CANj//f/k/wEA+f/+/xQABwAqAB4ALAD+/x4A8P8SAOb/8//f/9j//f/N/wEA3v8LAO7/AgAMAAQALAAEAC0AAQAdAAQADwABAPP/BADV/wMA0/8AAOH/AQD1/wAAEAADACQAGwAwAAQAHwD0/xUA8f/4/+L/2//7/8z/AwDc/woA6f8AAAQAAwAoAAcANAAAACcAAgAUAAEA+P8CANv/AgDR/wEA4v8BAOz/AgAIAPv/JAAVADMAFAAhAPP/GQDz//7/3P/l/+3/z/8BANf/CgDn/wkA/P///xoABwAwAAIAJwACABcAAwABAAIA4f8BAND/AgDd//3/6P8CAAYA/f8YAAwALwAZACUA9v8bAPj/AwDq/+r/7P/S//7/1/8EAOX/CQD6//7/GQAFAC8AAQApAAEAGQACAAMAAgDm/wEAzv8BANv//v/p/wIA//8BABMABQArACAALAABAB4A8f8NAOv/7v/m/9n/+P/R/wMA4f8OAPT/AQATAAMAKwAHACoAAwAbAAMABQADAO7/AQDU/wEA2f8AAOL////3////EgAAACUAGgAvAAUAHQD2/xIA9f/0//T/3P/4/8///f/h/wIA7f8AAAoAAQApAAQALQADACAAAgAPAP//9P///9r//f/T/wAA3f/9//D/AQAQAP//HAAHAC8ACQAfAPv/GAD+//f/+P/j/wEA0v/+/9n/AADq/wIABgD//x0AAQAuAAEAIwAAABQAAwD8/wEA3/8AAM//AADe////7f8BAAwA//8ZAAMALwAAACEA//8dAP3//v/9/+n////U//z/1v8BAOT/AAD+/wAAGwD+/ywA/v8kAAIAGAD///3////q/wEA0P///97/AADk/wAABAAAABUAAQAqAAEAKQAAABwAAAAFAP//6f8AANr////X/wAA4/8AAPj/AgAUAAAAKgD//ywAAAAcAP7/AQAAAOv/AADU/wAA2v8CAOP/AAABAAAAFgABABsAAAAqAAEAHwAAABQAAgDv/wEA3v///9H////f////7/8BAAoAAQApAAAALgD//yEAAQAIAAAA8P8BANr//v/V////4f8AAPf//v8UAAAAFAAAACYAAQAhAP7/GwD+//T/AADo/wIA1v8CANr/AgDp/wEABgAAAB8AAQAsAAEAJAAAAAwA///z/wEA3/8AANT/AADh/wEA9P///xQAAgASAAAAJQAAACEAAAAaAP//+v8BAOj////W////2P8BAOf///8DAAAAHwAAAC4AAAAlAAAAEgAAAPL/AQDm////0f8CAN3/AADr//7/EQD//xAAAQAhAAIAJQAAAB8AAAABAP//6v8CAN//AQDX/wAA4/8AAPr/AAAXAAAAKgABACgAAAAbAP///f8AAOj/AADU/wAA2v///+f/AQANAAMAEQD+/xwA/v8kAP7/IQABAAgA/v/p////5/8AANf/AQDd/wEA8v8BABMAAQAjAAAALgAAACAAAQADAAEA7f8BANn/AgDY//7/4P/+/wEAAAAXAAIAFAAFACUA/P8jAP//EgAAAO//AQDo////1/8AAN3/AADx//7/DgAAAB0AAQAoAAAAIwAAAAoAAQDv/wMA4f8AANn/AQDi/wEA+v///xgAAAAQAP3/IwD//yUA/v8XAAAA7/8AAOv/AADc/wAA3P/+/+v/AQALAAEAGgACACkAAAAkAP7/EAABAO/////q//7/1/8AANz/AgDw/wEAEgD//w8AAAAcAAIAJQAAAB0AAAD2////7P8AAOP/AgDa/wAA5P8BAAQAAQAWAAAAIgAAACMAAAAaAP//+P///+v/AQDZ/wAA2////+7/AAARAAAADgAAABYAAAAhAAAAIAABAPz/AQDt/wAA5P8AANr/AQDg/wEA/P8BABcAAAAhAP//KQD//xwAAAD8/wEA7v8AAN3////Z/wAA6f8BAA0AAAARAAEAEQAAACMAAAAgAAEA/f8CAO3/AADv/wAA3v8BANv////1////EgAAABkA//8nAAAAIgAAAAMAAADu/wAA6P8CANn/AQDg////BQD//xMAAQAOAP//IAABACYAAAAGAAAA6f////H/AADg/wEA2f8AAO3///8PAAAAFQACACQAAAAkAAEADQABAO//AADp/wAA2////9z/AQD7/wEAFgAAAAwAAQAXAP7/JQD9/xMAAADx/wAA8f8AAOr/AADc/wEA4/8BAAkAAAAVAAAAIQD//yYA//8UAAEA9P8BAOz/AADf/wAA3P8AAPP/AAAQAAAADQABAA0AAAAlAAEAGAD///H//v/0/wEA7v8CAN//AADg//3/BAACABUAAQAfAAAAJwABABgAAQD0//7/7f///+L/AADa/wIA8P///w4A//8SAAMACQAAACAAAQAgAP//+v////P////y/wEA4/8BANr/AQD9/wAAEwD//xkAAQAjAAAAIgABAPz////s/wAA6v8BANX/AQDr//7/BwABABMAAAAHAP//FwAAACYAAAD//wEA9P8BAPb/AQDu////2v8BAPn/AAATAP//FwD//yEAAAAjAAAAAgAAAOn/AQDr//7/2P8CAOT/AAABAP//FgABAAUAAQATAP//IwAAAAEAAgDy/wEA9/8AAPb/AADb/wAA6/8BABAAAAATAP7/IQAAACYA//8UAP//7/8AAPD/AADd/wEA3P/+//7///8OAAAACgAAAAgAAAAhAP//CQACAPT/AQD2/wAA9v///97////m/wIADgABABMAAQAfAP//JwAAABMAAADw/wAA8P///+r/AQDb/wAA9f8AAA8AAAARAAIABAD//wYA/v8HAAAAAQD//wMAAgAGAAAA7f8AAOz/AAALAP//DwACABQA//8bAAAAHgD///f/AADq/wEA6/8BANj//v/t/wAACAD+/xAAAgAEAAAABAABAAcAAQADAAAA//8AAAUA///1/wAA5f///wIAAAAOAAAAEAAAABsAAAAhAAAA/v8BAOj////y////3f8AAOf/AQAGAAEADAAAAAcA//8BAP//CQABAAMA//8BAP//BQAAAAAAAADo/wAA+/8AAAoAAAALAAAAFAAAACAAAQAGAAIA7f8BAPH/AADm/wMA3P8CAP7/AgASAP//CgD//wAAAAAIAP//BQD//wEAAAACAP7/BAAAAPz/AwD8////BAAAAAEA//8HAAAAHQAAAAgA/v/x//7/8f///+f/AQDg/////P///woAAAAMAP//AAABAAYA//8EAAAAAgAAAAUAAAACAAAAAwAAAAIAAAABAAAAAQABAAAAAgAcAP//DgD///T/AQDx/wAA9P8CAOH/AAD3/wAACQAAAAoAAQABAP//AwAAAAcAAAD+/wAAAgACAAEAAAD+////AwD+/wAAAAABAP//+v8BABEAAQATAAAA9f/+//L//f/z/wIA6f8AAPb/AQAFAP//DAAAAAAAAAAFAP//BQD//wEA//8DAAEAAQAAAP7///8AAAAA//8BAAIAAAD+/wAAEAABABYAAgD6/wEA8v8BAPX/AwDp/wAA8////wMA//8JAAEABAABAAEA//8FAAEA//8AAAMAAQACAP//AQAAAAEAAgAFAP//AQABAAAAAQAAAP//EQABAAAAAAD5/wEA+P8AAPr////6/wAA+/8BAAIA//8BAAAA//8CAAUA//8BAP7/AAABAAEAAgAAAAAAAwAAAAEA/v8DAAIAAAACAAQA//8TAAAA/P8BAPr////3//////8AAPz/AQD7/wEAAgD/////AAABAAEABAAAAP//////////AAAAAAAAAAADAAAAAwAAAAAA//8EAP///v/+/xAA//8HAAAA+/////j/AQD8////AAD///n///8AAAAA//8AAP////8DAP//AgAAAAAAAAACAAIAAAD+/wAAAQD//wAA/////wIAAgD9////CQACAAYA///9////+f8BAPr/AQAAAAIA/v///wAA//8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAAAAAEAAQABAAAAAgABAP//AAD//wEAAAD///////8BAAIAAQAAAAAA/v/+//////8BAAAAAQABAP//AAD///////8BAAAAAQABAP////8CAAEAAQD//wEA/v//////AQAAAAAAAAAAAAAAAAD9/wMA/////wAAAQD+/wEA/v/+//7/AQD//wMAAAAAAAAAAAABAAEA//////7/AAACAP3/AAD//wAAAQAAAP//AQD//wAAAAAAAAEA//8CAP//AAAAAAAA/v8AAAAA//8BAP//AAABAP//AAAAAP//AQD//wAAAQABAAAAAAABAAEA/v///wAAAAD//////////wAAAAAAAP//AAD////////8/wIAAAADAAEA/////wEA/v8BAP7/AgAAAAEAAgAAAP//AgD/////AQD//wEA//////7/AQD//wMAAAAAAAAA//8CAP//AQAAAP//AAACAAAAAAABAP//AQD+/wAA/////wAA/f///wAAAAAAAP7/AAAAAAAAAgD//wEAAQACAP//AAAAAAEAAQD//wAAAAAAAAAA//8BAAMA/v8AAP7/AQAAAAAAAQAAAAAA///+//7/AAAAAAAA//8BAP7/AQAAAP//AQABAAAAAQAAAP//AAD//wIA/v///wAAAQABAP//AAD//wEA//8BAP//AgAAAP///////wAAAQABAP//AwABAAAAAAAAAAAA/////wIAAwACAAAA/v8BAAAAAAAAAAAA//8AAP////8AAAAA/////wAA/////wEA/v8CAAEAAQD//wAAAAABAAAAAAD//wEAAQABAAAA//8CAAAAAAAAAP7/AAABAAAAAQABAAAAAgABAAAAAQD//wEAAwD+/wAA/v8AAAEAAAAAAAAAAAAAAAEAAAD//wMA/v///wAAAAACAAEAAAAAAP7///8DAAEAAQD//wEA/f8BAAEAAQD//wEAAQABAAMAAgAAAAEA//8AAP//BAAAAAIA/v//////AQABAAAAAAD//wEAAAACAAIAAQAAAAAAAgAAAAAAAAABAAIAAAABAAIAAQAAAP////8AAAAAAAD//wAAAQACAP//AAAAAAAAAQAAAAEA//8AAAAAAAD/////AQD//wAAAQD9////AQAAAAAA//8BAAAA///+/////v8BAAAAAQAAAAAAAAAAAAIA//8BAAAAAAACAP//AQD//wAAAAD/////AAD9/wAAAAACAAAAAgAAAAEAAQABAAEAAAAAAAEA//8AAAEAAQACAAAAAQAAAAEA//8BAAIAAAACAP//AAABAAAAAAAAAAAAAAD//wAAAQD/////AAAAAP////8AAAEAAAAAAP7///8BAAIAAQD//wEAAQAAAP//AgAAAAAAAAD//wAA//8CAP7/AQAAAP7/AAD+////AAAAAAAAAQABAAAA//8AAAEAAAABAP7/AAAAAP7/AAD+/wAAAQABAAEA/////////v8BAP///v///wIAAAAAAAAAAQAAAAIAAQAAAAAAAAABAAEAAAAAAAAAAAD//wEAAQD//wAAAQABAAAA/v/+/////////wAAAAD//wAAAAD/////AAAAAP7/AAD//wIA//8CAP//AQAAAP////8AAAAAAQABAP////8AAP//AQACAAAAAQAAAAAAAAAAAAAA//8BAAAAAAD+/wAA/v///wEAAAD+//7///8CAP7/AAABAP3/AwAAAAAAAAABAAIAAAABAAAAAQABAAIAAAAAAP//AAAAAAEAAAACAAEAAAACAAAAAAABAAAAAwAAAAAAAAD+/wAAAQD9//////8BAAAA/v8AAAAAAAAAAAAAAAD//wMA/v8BAAEAAQACAAAA/v8BAP//AwABAAIAAQABAP//AQAAAAEAAAAAAAEA//8AAAAAAAD/////AAABAAEAAAAAAP////8AAAAAAAAAAAAA/v8AAP//AQAAAP//AAABAAIAAQAAAAAAAgABAAAA/////wAAAQABAP//AQABAAEA/////wAAAAAAAAAAAAABAAEAAQAAAAAAAAAAAAAA//8AAP7/AQD9/wAAAgD//wEAAQABAAEA/v8AAAEA/////wAAAAAAAP//AAABAAAAAAAAAAAA//8CAP//AAABAAEAAQABAAAA//8BAAIAAgD//wAA/v8AAAEAAAD///7/AAAAAAEAAAABAAAAAQABAAAAAQACAAAA///+/wAAAQABAP7////+/wAA//8AAAAAAgAAAP//AQD9/wAAAAD//wAA//8AAAAAAQAAAAAAAQD//wAAAAAAAP//AQABAAAA/v8CAP//AAD///////8AAAAAAAACAAEA//8BAP7/AAAAAAEA//8BAAAAAQD//wAAAQD+/wAA/////wAAAAD//wAAAQABAAAA//8AAAEA/////wAA//8AAAAA/v/+/wEAAgABAP//AgD//wIA/////wAA//8AAAEAAQAAAAAAAQAAAAMAAAACAP//\", ce = {\n general: {\n primaryColor: \"#42b0c5\",\n secondaryColor: \"#491d8d\",\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\n showHeader: !0,\n showFooter: !0,\n showInputRow: !0,\n actionDisabledIcon: Oe,\n embedded: !1,\n flowStartTrigger: \"ON_LOAD\"\n },\n tooltip: {\n mode: \"CLOSE\",\n text: \"Talk to me! 😊\"\n },\n chatButton: {\n icon: te\n },\n header: {\n title: /* @__PURE__ */ l(\"div\", { style: { cursor: \"pointer\", margin: 0, fontSize: 20, fontWeight: \"bold\" }, onClick: () => window.open(\"https://github.com/tjtanjin/\"), children: \"Tan Jin\" }),\n showAvatar: !0,\n avatar: ee,\n buttons: [V.NOTIFICATION_BUTTON, V.AUDIO_BUTTON, V.CLOSE_CHAT_BUTTON],\n closeChatIcon: Ge\n },\n notification: {\n disabled: !1,\n defaultToggledOn: !0,\n volume: 0.2,\n icon: Ue,\n iconDisabled: je,\n sound: et,\n showCount: !0\n },\n audio: {\n disabled: !0,\n defaultToggledOn: !1,\n language: \"en-US\",\n voiceNames: [\"Microsoft David - English (United States)\", \"Alex (English - United States)\"],\n rate: 1,\n volume: 1,\n icon: _e,\n iconDisabled: At\n },\n chatHistory: {\n disabled: !1,\n maxEntries: 30,\n storageKey: \"rcb-history\",\n storageType: \"LOCAL_STORAGE\",\n viewChatHistoryButtonText: \"Load Chat History ⟳\",\n chatHistoryLineBreakText: \"----- Previous Chat History -----\",\n autoLoad: !1\n },\n chatInput: {\n disabled: !1,\n allowNewline: !1,\n enabledPlaceholderText: \"Type your message...\",\n disabledPlaceholderText: \"\",\n showCharacterCount: !1,\n characterLimit: -1,\n botDelay: 1e3,\n sendButtonIcon: Xe,\n blockSpam: !0,\n sendOptionOutput: !0,\n sendCheckboxOutput: !0,\n buttons: [V.VOICE_MESSAGE_BUTTON, V.SEND_MESSAGE_BUTTON]\n },\n chatWindow: {\n showScrollbar: !1,\n showTypingIndicator: !0,\n autoJumpToBottom: !1,\n showMessagePrompt: !0,\n messagePromptText: \"New Messages ↓\",\n messagePromptOffset: 30,\n defaultOpen: !1\n },\n sensitiveInput: {\n maskInTextArea: !0,\n maskInUserBubble: !0,\n asterisksCount: 10,\n hideInUserBubble: !1\n },\n userBubble: {\n animate: !0,\n showAvatar: !1,\n avatar: xe,\n simulateStream: !1,\n streamSpeed: 30\n },\n botBubble: {\n animate: !0,\n showAvatar: !1,\n avatar: ee,\n simulateStream: !1,\n streamSpeed: 30\n },\n voice: {\n disabled: !0,\n defaultToggledOn: !1,\n language: \"en-US\",\n timeoutPeriod: 1e4,\n autoSendDisabled: !1,\n autoSendPeriod: 1e3,\n sendAsAudio: !1,\n icon: Ke,\n iconDisabled: Je\n },\n footer: {\n text: /* @__PURE__ */ W(\n \"div\",\n {\n style: { cursor: \"pointer\", display: \"flex\", flexDirection: \"row\", alignItems: \"center\", columnGap: 3 },\n onClick: () => window.open(\"https://react-chatbotify.com\"),\n children: [\n /* @__PURE__ */ l(\"span\", { children: \"Powered By \" }, 0),\n /* @__PURE__ */ l(\n \"div\",\n {\n style: {\n borderRadius: \"50%\",\n width: 14,\n height: 14,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n background: \"linear-gradient(to right, #42b0c5, #491d8d)\"\n },\n children: /* @__PURE__ */ l(te, { style: { width: \"80%\", height: \"80%\", fill: \"#fff\" } })\n },\n 1\n ),\n /* @__PURE__ */ l(\"span\", { style: { fontWeight: \"bold\" }, children: \" React ChatBotify\" }, 2)\n ]\n }\n ),\n buttons: [V.FILE_ATTACHMENT_BUTTON, V.EMOJI_PICKER_BUTTON]\n },\n fileAttachment: {\n disabled: !1,\n multiple: !0,\n accept: \".png\",\n icon: oe,\n iconDisabled: oe,\n sendFileName: !0,\n showMediaDisplay: !1\n },\n emoji: {\n disabled: !1,\n icon: ne,\n iconDisabled: ne,\n list: [\"😀\", \"😃\", \"😄\", \"😅\", \"😊\", \"😌\", \"😇\", \"🙃\", \"🤣\", \"😍\", \"🥰\", \"🥳\", \"🎉\", \"🎈\", \"🚀\", \"⭐️\"]\n },\n toast: {\n maxCount: 3,\n forbidOnMax: !1,\n dismissOnClick: !0\n },\n event: {\n rcbPreInjectMessage: !1,\n rcbPostInjectMessage: !1,\n rcbStartSimulateStreamMessage: !1,\n rcbStopSimulateStreamMessage: !1,\n rcbStartStreamMessage: !1,\n rcbChunkStreamMessage: !1,\n rcbStopStreamMessage: !1,\n rcbRemoveMessage: !1,\n rcbLoadChatHistory: !1,\n rcbToggleChatWindow: !1,\n rcbStartSpeakAudio: !1,\n rcbToggleAudio: !1,\n rcbToggleNotifications: !1,\n rcbToggleVoice: !1,\n rcbChangePath: !1,\n rcbShowToast: !1,\n rcbDismissToast: !1,\n rcbUserSubmitText: !1,\n rcbUserUploadFile: !1,\n rcbTextAreaChangeValue: !1,\n rcbPreLoadChatBot: !1,\n rcbPostLoadChatBot: !1,\n rcbPreProcessBlock: !1,\n rcbPostProcessBlock: !1\n },\n ariaLabel: {\n chatButton: \"open chat\",\n audioButton: \"toggle audio\",\n closeChatButton: \"close chat\",\n emojiButton: \"emoji picker\",\n fileAttachmentButton: \"upload file\",\n notificationButton: \"toggle notifications\",\n sendButton: \"send message\",\n voiceButton: \"toggle voice\",\n inputTextArea: \"input text area\"\n },\n device: {\n desktopEnabled: !0,\n mobileEnabled: !0,\n applyMobileOptimizations: !0\n }\n}, ie = BA({ settings: {}, setSettings: () => null }), N = () => vA(ie), tt = ({\n children: A,\n settings: e = ce,\n setSettings: o\n}) => /* @__PURE__ */ l(ie.Provider, { value: { settings: e, setSettings: o }, children: A }), le = {\n tooltipStyle: {},\n notificationBadgeStyle: {},\n chatWindowStyle: {},\n headerStyle: {},\n bodyStyle: {},\n chatInputContainerStyle: {},\n chatInputAreaStyle: {},\n chatInputAreaFocusedStyle: {},\n chatInputAreaDisabledStyle: {},\n userBubbleStyle: {},\n botBubbleStyle: {},\n botOptionStyle: {},\n botOptionHoveredStyle: {},\n botCheckboxRowStyle: {},\n botCheckboxNextStyle: {},\n botCheckMarkStyle: {},\n botCheckMarkSelectedStyle: {},\n characterLimitStyle: {},\n characterLimitReachedStyle: {},\n chatHistoryLineBreakStyle: {},\n chatMessagePromptStyle: {},\n chatMessagePromptHoveredStyle: {},\n footerStyle: {},\n loadingSpinnerStyle: {},\n mediaDisplayContainerStyle: {},\n chatButtonStyle: {},\n chatHistoryButtonStyle: {},\n chatHistoryButtonHoveredStyle: {},\n sendButtonStyle: {},\n sendButtonHoveredStyle: {},\n sendButtonDisabledStyle: {},\n audioButtonStyle: {},\n audioButtonDisabledStyle: {},\n closeChatButtonStyle: {},\n emojiButtonStyle: {},\n emojiButtonDisabledStyle: {},\n fileAttachmentButtonStyle: {},\n fileAttachmentButtonDisabledStyle: {},\n notificationButtonStyle: {},\n notificationButtonDisabledStyle: {},\n voiceButtonStyle: {},\n voiceButtonDisabledStyle: {},\n chatIconStyle: {},\n audioIconStyle: {},\n audioIconDisabledStyle: {},\n closeChatIconStyle: {},\n emojiIconStyle: {},\n emojiIconDisabledStyle: {},\n fileAttachmentIconStyle: {},\n fileAttachmentIconDisabledStyle: {},\n notificationIconStyle: {},\n notificationIconDisabledStyle: {},\n voiceIconStyle: {},\n voiceIconDisabledStyle: {},\n sendIconStyle: {},\n sendIconDisabledStyle: {},\n sendIconHoveredStyle: {},\n rcbTypingIndicatorContainerStyle: {},\n rcbTypingIndicatorDotStyle: {},\n toastPromptContainerStyle: {},\n toastPromptStyle: {},\n toastPromptHoveredStyle: {}\n}, ue = BA({ styles: {}, setStyles: () => null }), X = () => vA(ue), ot = ({\n children: A,\n styles: e = le,\n setStyles: o\n}) => /* @__PURE__ */ l(ue.Provider, { value: { styles: e, setStyles: o }, children: A }), nt = ({ buttons: A }) => {\n var n, s, r, a, c;\n const { settings: e } = N(), { styles: o } = X(), t = {\n backgroundImage: `linear-gradient(to right, ${(n = e.general) == null ? void 0 : n.secondaryColor},\n\t\t\t${(s = e.general) == null ? void 0 : s.primaryColor})`,\n ...o.headerStyle\n };\n return /* @__PURE__ */ W(\"div\", { style: t, className: \"rcb-chat-header-container\", children: [\n /* @__PURE__ */ W(\"div\", { className: \"rcb-chat-header\", children: [\n ((r = e.header) == null ? void 0 : r.showAvatar) && /* @__PURE__ */ l(\n \"div\",\n {\n style: { backgroundImage: `url(\"${(a = e.header) == null ? void 0 : a.avatar}\")` },\n className: \"rcb-bot-avatar\"\n }\n ),\n (c = e.header) == null ? void 0 : c.title\n ] }),\n /* @__PURE__ */ l(\"div\", { className: \"rcb-chat-header\", children: A == null ? void 0 : A.map(\n (i, u) => /* @__PURE__ */ l(UA, { children: i }, u)\n ) })\n ] });\n}, fe = BA({}), $ = () => vA(fe), st = ({\n children: A,\n botIdRef: e,\n flowRef: o\n}) => {\n const t = eA(null), n = eA(\"\"), s = eA(/* @__PURE__ */ new Map()), r = eA(null), a = eA(\"\"), c = eA(!1), i = eA(null), u = eA(null), f = eA(null);\n return /* @__PURE__ */ l(fe.Provider, { value: {\n botIdRef: e,\n flowRef: o,\n inputRef: t,\n streamMessageMap: s,\n chatBodyRef: r,\n paramsInputRef: a,\n keepVoiceOnRef: c,\n audioContextRef: i,\n audioBufferRef: u,\n gainNodeRef: f,\n prevInputRef: n\n }, children: A });\n}, rA = (A) => {\n const [e, o] = z(A), t = eA(A);\n return [e, (s) => {\n const r = typeof s == \"function\" ? s(t.current) : s;\n t.current = r, o(r);\n }, t];\n}, de = BA({}), AA = () => vA(de), rt = ({\n children: A,\n settings: e\n}) => {\n var qA, JA, VA, ZA, _A, $A;\n const [o, t, n] = rA(!1), [s, r, a] = rA(\n ((qA = e == null ? void 0 : e.chatWindow) == null ? void 0 : qA.defaultOpen) ?? !1\n ), [c, i, u] = rA(\n ((JA = e == null ? void 0 : e.audio) == null ? void 0 : JA.defaultToggledOn) ?? !1\n ), [f, d, w] = rA(\n ((VA = e == null ? void 0 : e.voice) == null ? void 0 : VA.defaultToggledOn) ?? !1\n ), [\n g,\n B,\n D\n ] = rA(\n ((ZA = e == null ? void 0 : e.notification) == null ? void 0 : ZA.defaultToggledOn) ?? !0\n ), [y, P] = z(!1), [Q, h] = z(!1), [v, C, p] = rA(!1), [E, I, m] = rA(!0), [\n S,\n O,\n k\n ] = rA(!1), [b, U] = z(!1), [R, F] = z(!1), [q, K] = z(0), [L, x] = z(0), [G, H] = z(!1), [j, Y] = z(null), [_, tA] = z(((_A = window.visualViewport) == null ? void 0 : _A.height) ?? window.innerHeight), [nA, PA] = z((($A = window.visualViewport) == null ? void 0 : $A.width) ?? window.innerWidth);\n return /* @__PURE__ */ l(de.Provider, { value: {\n isBotTyping: o,\n setSyncedIsBotTyping: t,\n syncedIsBotTypingRef: n,\n isChatWindowOpen: s,\n setSyncedIsChatWindowOpen: r,\n syncedIsChatWindowOpenRef: a,\n audioToggledOn: c,\n setSyncedAudioToggledOn: i,\n syncedAudioToggledOnRef: u,\n voiceToggledOn: f,\n setSyncedVoiceToggledOn: d,\n syncedVoiceToggledOnRef: w,\n notificationsToggledOn: g,\n setSyncedNotificationsToggledOn: B,\n syncedNotificationsToggledOnRef: D,\n isLoadingChatHistory: y,\n setIsLoadingChatHistory: P,\n hasChatHistoryLoaded: Q,\n setHasChatHistoryLoaded: h,\n isScrolling: v,\n setSyncedIsScrolling: C,\n syncedIsScrollingRef: p,\n textAreaDisabled: E,\n setSyncedTextAreaDisabled: I,\n syncedTextAreaDisabledRef: m,\n textAreaSensitiveMode: S,\n setSyncedTextAreaSensitiveMode: O,\n syncedTextAreaSensitiveModeRef: k,\n hasInteractedPage: b,\n setHasInteractedPage: U,\n hasFlowStarted: R,\n setHasFlowStarted: F,\n unreadCount: q,\n setUnreadCount: K,\n inputLength: L,\n setInputLength: x,\n blockAllowsAttachment: G,\n setBlockAllowsAttachment: H,\n timeoutId: j,\n setTimeoutId: Y,\n viewportHeight: _,\n setViewportHeight: tA,\n viewportWidth: nA,\n setViewportWidth: PA\n }, children: A });\n}, M = {\n // audio\n START_SPEAK_AUDIO: \"rcb-start-speak-audio\",\n TOGGLE_AUDIO: \"rcb-toggle-audio\",\n // notifications:\n TOGGLE_NOTIFICATIONS: \"rcb-toggle-notifications\",\n // voice\n TOGGLE_VOICE: \"rcb-toggle-voice\",\n // chat window\n TOGGLE_CHAT_WINDOW: \"rcb-toggle-chat-window\",\n // messages:\n PRE_INJECT_MESSAGE: \"rcb-pre-inject-message\",\n POST_INJECT_MESSAGE: \"rcb-post-inject-message\",\n START_SIMULATE_STREAM_MESSAGE: \"rcb-start-simulate-stream-message\",\n STOP_SIMULATE_STREAM_MESSAGE: \"rcb-stop-simulate-stream-message\",\n START_STREAM_MESSAGE: \"rcb-start-stream-message\",\n CHUNK_STREAM_MESSAGE: \"rcb-chunk-stream-message\",\n STOP_STREAM_MESSAGE: \"rcb-stop-stream-message\",\n REMOVE_MESSAGE: \"rcb-remove-message\",\n // chat history\n LOAD_CHAT_HISTORY: \"rcb-load-chat-history\",\n // path\n CHANGE_PATH: \"rcb-change-path\",\n // toast\n SHOW_TOAST: \"rcb-show-toast\",\n DISMISS_TOAST: \"rcb-dismiss-toast\",\n // user input submission\n USER_SUBMIT_TEXT: \"rcb-user-submit-text\",\n USER_UPLOAD_FILE: \"rcb-user-upload-file\",\n // text area value change\n TEXT_AREA_CHANGE_VALUE: \"rcb-text-area-change-value\",\n // chatbot loading\n PRE_LOAD_CHATBOT: \"rcb-pre-load-chatbot\",\n POST_LOAD_CHATBOT: \"rcb-post-load-chatbot\",\n // block processing\n PRE_PROCESS_BLOCK: \"rcb-pre-process-block\",\n POST_PROCESS_BLOCK: \"rcb-post-process-block\"\n}, at = {\n [M.START_SPEAK_AUDIO]: !0,\n [M.TOGGLE_AUDIO]: !0,\n [M.TOGGLE_VOICE]: !0,\n [M.TOGGLE_NOTIFICATIONS]: !0,\n [M.TOGGLE_CHAT_WINDOW]: !0,\n [M.PRE_INJECT_MESSAGE]: !0,\n [M.POST_INJECT_MESSAGE]: !1,\n [M.PRE_LOAD_CHATBOT]: !0,\n [M.POST_LOAD_CHATBOT]: !1,\n [M.START_SIMULATE_STREAM_MESSAGE]: !0,\n [M.STOP_SIMULATE_STREAM_MESSAGE]: !1,\n [M.START_STREAM_MESSAGE]: !0,\n [M.CHUNK_STREAM_MESSAGE]: !0,\n [M.STOP_STREAM_MESSAGE]: !0,\n [M.LOAD_CHAT_HISTORY]: !0,\n [M.CHANGE_PATH]: !0,\n [M.SHOW_TOAST]: !0,\n [M.DISMISS_TOAST]: !0,\n [M.USER_SUBMIT_TEXT]: !0,\n [M.USER_UPLOAD_FILE]: !0,\n [M.TEXT_AREA_CHANGE_VALUE]: !0,\n [M.PRE_PROCESS_BLOCK]: !0,\n [M.POST_PROCESS_BLOCK]: !0\n}, NA = async (A, e, o) => {\n const t = new CustomEvent(A, {\n detail: e,\n cancelable: at[A]\n });\n return t.data = o, t.promises = [], window.dispatchEvent(t), await Promise.all(t.promises), t;\n}, we = BA({\n paths: [],\n setSyncedPaths: () => {\n },\n syncedPathsRef: { current: [] }\n}), bA = () => vA(we), ct = ({ children: A }) => {\n const [e, o, t] = rA([]);\n return /* @__PURE__ */ l(we.Provider, { value: { paths: e, setSyncedPaths: o, syncedPathsRef: t }, children: A });\n}, iA = () => {\n const { botIdRef: A } = $(), { syncedPathsRef: e } = bA(), o = T(() => e.current.length > 0 ? e.current.at(-1) ?? null : null, []), t = T(() => e.current.length > 1 ? e.current.at(-2) ?? null : null, []);\n return { callRcbEvent: T(async (s, r) => {\n const a = { botId: A.current, currPath: o(), prevPath: t() };\n return await NA(s, a, r);\n }, [A]) };\n}, sA = () => {\n const { settings: A } = N(), {\n isChatWindowOpen: e,\n setSyncedIsChatWindowOpen: o,\n viewportHeight: t,\n setViewportHeight: n,\n viewportWidth: s,\n setViewportWidth: r,\n setUnreadCount: a,\n setSyncedIsBotTyping: c,\n setSyncedIsScrolling: i,\n syncedIsBotTypingRef: u,\n syncedIsChatWindowOpenRef: f\n } = AA(), { chatBodyRef: d } = $(), { callRcbEvent: w } = iA(), g = T(async (P) => {\n var Q;\n P !== f.current && ((Q = A.event) != null && Q.rcbToggleChatWindow && (await w(\n M.TOGGLE_CHAT_WINDOW,\n {\n currState: f.current,\n newState: !f.current\n }\n )).defaultPrevented || o((h) => (h || a(0), !h)));\n }, [f]), B = T(async (P) => {\n P !== u.current && c((Q) => !Q);\n }, [u]), D = T((P, Q, h, v) => (P /= v / 2, P < 1 ? h / 2 * P * P + Q : (P--, -h / 2 * (P * (P - 2) - 1) + Q)), []), y = T((P = 0) => {\n if (!d.current)\n return;\n const Q = d.current.scrollHeight - d.current.clientHeight;\n if (P <= 0) {\n d.current.scrollTop = Q, i(!1);\n return;\n }\n const h = d.current.scrollTop, v = Q - h, C = 20;\n let p = 0;\n const E = () => {\n if (!d.current)\n return;\n p += C;\n const I = D(p, h, v, P);\n d.current.scrollTop = I, p < P ? requestAnimationFrame(E) : i(!1);\n };\n E();\n }, [d]);\n return {\n isChatWindowOpen: e,\n setSyncedIsChatWindowOpen: o,\n toggleChatWindow: g,\n viewportHeight: t,\n setViewportHeight: n,\n viewportWidth: s,\n setViewportWidth: r,\n toggleIsBotTyping: B,\n scrollToBottom: y\n };\n}, it = () => {\n var d, w, g;\n const { settings: A } = N(), { styles: e } = X(), { unreadCount: o, isScrolling: t } = AA(), { chatBodyRef: n } = $(), { scrollToBottom: s } = sA(), [r, a] = z(!1), c = {\n color: (d = A.general) == null ? void 0 : d.primaryColor,\n borderColor: (w = A.general) == null ? void 0 : w.primaryColor,\n ...e.chatMessagePromptHoveredStyle\n }, i = () => {\n a(!0);\n }, u = () => {\n a(!1);\n };\n return /* @__PURE__ */ l(\"div\", { className: `rcb-message-prompt-container ${(() => {\n var D;\n return n.current && ((D = A.chatWindow) == null ? void 0 : D.showMessagePrompt) && t && o > 0 ? \"visible\" : \"hidden\";\n })()}`, children: /* @__PURE__ */ l(\n \"div\",\n {\n onMouseEnter: i,\n onMouseLeave: u,\n style: r ? c : { ...e.chatMessagePromptStyle },\n onMouseDown: (B) => {\n B.preventDefault(), s(600);\n },\n className: \"rcb-message-prompt-text\",\n children: (g = A.chatWindow) == null ? void 0 : g.messagePromptText\n }\n ) });\n}, ge = BA({\n messages: [],\n setSyncedMessages: () => {\n },\n syncedMessagesRef: { current: [] }\n}), FA = () => vA(ge), lt = ({ children: A }) => {\n const [e, o, t] = rA([]);\n return /* @__PURE__ */ l(ge.Provider, { value: { messages: e, setSyncedMessages: o, syncedMessagesRef: t }, children: A });\n}, ut = ({\n message: A,\n isNewSender: e\n}) => {\n var f, d, w, g, B, D;\n const { settings: o } = N(), { styles: t } = X(), n = typeof A.content == \"string\", s = A.content, r = A.contentWrapper ? /* @__PURE__ */ l(A.contentWrapper, { children: s }) : s, a = {\n backgroundColor: (f = o.general) == null ? void 0 : f.primaryColor,\n color: \"#fff\",\n maxWidth: (d = o.userBubble) != null && d.showAvatar ? \"65%\" : \"70%\",\n ...t.userBubbleStyle\n }, c = (w = o.userBubble) != null && w.animate ? \"rcb-user-message-entry\" : \"\", i = ((g = o.userBubble) == null ? void 0 : g.showAvatar) && e, u = `rcb-user-message${!e && ((B = o.userBubble) != null && B.showAvatar) ? \" rcb-user-message-offset\" : \"\"}`;\n return /* @__PURE__ */ W(\"div\", { className: \"rcb-user-message-container\", children: [\n n ? /* @__PURE__ */ l(\"div\", { style: a, className: `${u} ${c}`, children: r }) : /* @__PURE__ */ l(oA, { children: r }),\n i && /* @__PURE__ */ l(\n \"div\",\n {\n style: { backgroundImage: `url(\"${(D = o.userBubble) == null ? void 0 : D.avatar}\")` },\n className: \"rcb-message-user-avatar\"\n }\n )\n ] });\n}, ft = ({\n message: A,\n isNewSender: e\n}) => {\n var f, d, w, g, B, D;\n const { settings: o } = N(), { styles: t } = X(), n = typeof A.content == \"string\", s = A.content, r = A.contentWrapper ? /* @__PURE__ */ l(A.contentWrapper, { children: s }) : s, a = {\n backgroundColor: (f = o.general) == null ? void 0 : f.secondaryColor,\n color: \"#fff\",\n maxWidth: (d = o.botBubble) != null && d.showAvatar ? \"65%\" : \"70%\",\n ...t.botBubbleStyle\n }, c = (w = o.botBubble) != null && w.animate ? \"rcb-bot-message-entry\" : \"\", i = ((g = o.botBubble) == null ? void 0 : g.showAvatar) && e, u = `rcb-bot-message${!e && ((B = o.botBubble) != null && B.showAvatar) ? \" rcb-bot-message-offset\" : \"\"}`;\n return /* @__PURE__ */ W(\"div\", { className: \"rcb-bot-message-container\", children: [\n i && /* @__PURE__ */ l(\n \"div\",\n {\n style: { backgroundImage: `url(\"${(D = o.botBubble) == null ? void 0 : D.avatar}\")` },\n className: \"rcb-message-bot-avatar\"\n }\n ),\n n ? /* @__PURE__ */ l(\"div\", { style: a, className: `${u} ${c}`, children: r }) : /* @__PURE__ */ l(oA, { children: r })\n ] });\n}, dt = () => {\n var t, n, s;\n const { settings: A } = N(), { styles: e } = X(), o = (t = A.botBubble) != null && t.animate ? \"rcb-bot-message-entry\" : \"\";\n return /* @__PURE__ */ W(\"div\", { className: \"rcb-bot-message-container\", children: [\n ((n = A.botBubble) == null ? void 0 : n.showAvatar) && /* @__PURE__ */ l(\n \"div\",\n {\n style: { backgroundImage: `url(\"${(s = A.botBubble) == null ? void 0 : s.avatar}\")` },\n className: \"rcb-message-bot-avatar\"\n }\n ),\n /* @__PURE__ */ l(\n \"div\",\n {\n onMouseDown: (r) => {\n r.preventDefault();\n },\n className: `rcb-bot-message ${o}`,\n children: /* @__PURE__ */ W(\"div\", { className: \"rcb-typing-indicator\", style: { ...e == null ? void 0 : e.rcbTypingIndicatorContainerStyle }, children: [\n /* @__PURE__ */ l(\"span\", { className: \"rcb-dot\", style: { ...e == null ? void 0 : e.rcbTypingIndicatorDotStyle } }),\n /* @__PURE__ */ l(\"span\", { className: \"rcb-dot\", style: { ...e == null ? void 0 : e.rcbTypingIndicatorDotStyle } }),\n /* @__PURE__ */ l(\"span\", { className: \"rcb-dot\", style: { ...e == null ? void 0 : e.rcbTypingIndicatorDotStyle } })\n ] })\n }\n )\n ] });\n}, wt = () => {\n var i, u, f;\n const { settings: A } = N(), { styles: e } = X(), { messages: o } = FA(), { scrollToBottom: t } = sA(), {\n isBotTyping: n,\n syncedIsScrollingRef: s\n } = AA(), { chatBodyRef: r } = $(), a = {\n ...e == null ? void 0 : e.bodyStyle,\n scrollbarWidth: (i = A.chatWindow) != null && i.showScrollbar ? \"auto\" : \"none\"\n };\n Z(() => {\n s.current || t();\n }, [(u = r.current) == null ? void 0 : u.scrollHeight]);\n const c = (d) => d === 0 ? !0 : o[d].sender !== o[d - 1].sender;\n return /* @__PURE__ */ W(\n \"div\",\n {\n style: a,\n className: \"rcb-chat-body-container\",\n ref: r,\n children: [\n o.map((d, w) => {\n const g = c(w);\n return d.sender.toUpperCase() === \"USER\" ? /* @__PURE__ */ l(ut, { message: d, isNewSender: g }, w) : d.sender.toUpperCase() === \"BOT\" ? /* @__PURE__ */ l(ft, { message: d, isNewSender: g }, w) : /* @__PURE__ */ l(\"div\", { children: d.content }, w);\n }),\n n && ((f = A.chatWindow) == null ? void 0 : f.showTypingIndicator) && /* @__PURE__ */ l(dt, {}),\n /* @__PURE__ */ l(it, {})\n ]\n }\n );\n}, gt = ({\n checkboxes: A,\n checkedItems: e,\n path: o\n}) => {\n var D, y, P, Q, h, v, C, p, E, I, m;\n const { settings: t } = N(), { styles: n } = X(), { paths: s } = bA(), { handleSubmitText: r } = yA(), [a, c] = z(/* @__PURE__ */ new Set()), [i, u] = z(!1), f = {\n cursor: i ? `url(\"${(D = t.general) == null ? void 0 : D.actionDisabledIcon}\"), auto` : \"pointer\",\n color: (y = t.general) == null ? void 0 : y.primaryColor,\n borderColor: (P = t.general) == null ? void 0 : P.primaryColor,\n ...n.botCheckboxRowStyle\n }, d = {\n cursor: i || a.size < A.min ? `url(\"${(Q = t.general) == null ? void 0 : Q.actionDisabledIcon}\"), auto` : \"pointer\",\n color: (h = t.general) == null ? void 0 : h.primaryColor,\n borderColor: (v = t.general) == null ? void 0 : v.primaryColor,\n ...n.botCheckboxNextStyle\n }, w = {\n cursor: i ? `url(\"${(C = t.general) == null ? void 0 : C.actionDisabledIcon}\"), auto` : \"pointer\",\n color: \"transparent\",\n ...n.botCheckMarkStyle\n }, g = {\n cursor: i ? `url(\"${(p = t.general) == null ? void 0 : p.actionDisabledIcon}\"), auto` : \"pointer\",\n color: \"#fff\",\n borderColor: (E = t.general) == null ? void 0 : E.primaryColor,\n backgroundColor: (I = t.general) == null ? void 0 : I.primaryColor,\n ...n.botCheckMarkSelectedStyle\n };\n Z(() => {\n s.length > 0 && s[s.length - 1] !== o && u(!A.reusable);\n }, [s]);\n const B = (S) => {\n i || c((O) => {\n const k = new Set(O);\n if (k.has(S))\n e.delete(S), k.delete(S);\n else {\n if (a.size == A.max)\n return O;\n e.add(S), k.add(S);\n }\n return k;\n });\n };\n return /* @__PURE__ */ W(\"div\", { className: `rcb-checkbox-container ${(m = t.botBubble) != null && m.showAvatar ? \"rcb-checkbox-offset\" : \"\"}`, children: [\n A.items.map((S) => /* @__PURE__ */ l(\n \"div\",\n {\n onMouseDown: (O) => {\n O.preventDefault(), B(S);\n },\n style: f,\n className: \"rcb-checkbox-row-container\",\n children: /* @__PURE__ */ W(\"div\", { className: \"rcb-checkbox-row\", children: [\n /* @__PURE__ */ l(\n \"div\",\n {\n style: a.has(S) ? g : w,\n className: \"rcb-checkbox-mark\"\n }\n ),\n /* @__PURE__ */ l(\"div\", { className: \"rcb-checkbox-label\", children: S })\n ] })\n },\n S\n )),\n /* @__PURE__ */ l(\n \"div\",\n {\n style: d,\n className: \"rcb-checkbox-next-button\",\n onMouseDown: (S) => {\n var b;\n if (S.preventDefault(), i || a.size < A.min)\n return;\n const O = Array.from(e).join(\", \");\n u(!A.reusable);\n let k;\n A.sendOutput != null ? k = A.sendOutput : k = ((b = t.chatInput) == null ? void 0 : b.sendCheckboxOutput) ?? !0, r(O, k);\n }\n }\n )\n ] });\n}, Bt = async (A, e) => {\n const o = A.checkboxes;\n if (!o)\n return;\n let t;\n if (typeof o == \"function\" ? (t = o(e), t instanceof Promise && (t = await t)) : t = o, Array.isArray(t) && (t = { items: t }), !(\"items\" in t) || t.items.length == 0)\n return;\n t.min == null && (t.min = 1), t.max == null && (t.max = t.items.length), t.min > t.max && (t.min = t.max), t.reusable == null && (t.reusable = !1);\n const n = /* @__PURE__ */ new Set(), s = e.currPath, r = /* @__PURE__ */ l(gt, { checkboxes: t, checkedItems: n, path: s });\n await e.injectMessage(r);\n}, vt = async (A, e) => {\n const o = A.function;\n if (!o)\n return;\n const t = o(e);\n return t instanceof Promise ? await t : t;\n}, Pt = async (A, e, o) => {\n const t = A.message;\n if (!t)\n return;\n if (typeof t == \"string\") {\n t.trim() !== \"\" && (o ? await e.simulateStreamMessage(t) : await e.injectMessage(t));\n return;\n }\n let n = t(e);\n n instanceof Promise && (n = await n), typeof n == \"string\" && n.trim() !== \"\" && (o ? await e.simulateStreamMessage(n) : await e.injectMessage(n));\n}, ht = ({\n options: A,\n path: e\n}) => {\n var g, B, D, y, P, Q;\n const { settings: o } = N(), { styles: t } = X(), { paths: n } = bA(), { handleSubmitText: s } = yA(), [r, a] = z([]), [c, i] = z(!1), u = {\n cursor: c ? `url(\"${(g = o.general) == null ? void 0 : g.actionDisabledIcon}\"), auto` : \"pointer\",\n color: (B = o.general) == null ? void 0 : B.primaryColor,\n borderColor: (D = o.general) == null ? void 0 : D.primaryColor,\n backgroundColor: \"#fff\",\n ...t.botOptionStyle\n }, f = {\n color: \"#fff\",\n borderColor: (y = o.general) == null ? void 0 : y.primaryColor,\n backgroundColor: (P = o.general) == null ? void 0 : P.primaryColor,\n ...t.botOptionHoveredStyle\n };\n Z(() => {\n n.length > 0 && n[n.length - 1] !== e && i(!A.reusable);\n }, [n]);\n const d = (h) => {\n a((v) => {\n const C = [...v];\n return C[h] = !0, C;\n });\n }, w = (h) => {\n a((v) => {\n const C = [...v];\n return C[h] = !1, C;\n });\n };\n return /* @__PURE__ */ l(\"div\", { className: `rcb-options-container ${(Q = o.botBubble) != null && Q.showAvatar ? \"rcb-options-offset\" : \"\"}`, children: A.items.map((h, v) => {\n const C = r[v] && !c;\n return /* @__PURE__ */ l(\n \"div\",\n {\n className: \"rcb-options\",\n style: C ? f : u,\n onMouseEnter: () => d(v),\n onMouseLeave: () => w(v),\n onMouseDown: (p) => {\n var I;\n if (p.preventDefault(), c)\n return;\n i(!A.reusable);\n let E;\n A.sendOutput != null ? E = A.sendOutput : E = ((I = o.chatInput) == null ? void 0 : I.sendOptionOutput) ?? !0, s(h, E);\n },\n children: h\n },\n h\n );\n }) });\n}, Dt = async (A, e) => {\n const o = A.options;\n if (!o)\n return;\n let t;\n if (typeof o == \"function\" ? (t = o(e), t instanceof Promise && (t = await t)) : t = o, Array.isArray(t) && (t = { items: t }), !(\"items\" in t) || t.items.length == 0)\n return;\n t.reusable == null && (t.reusable = !1);\n const n = e.currPath, s = /* @__PURE__ */ l(ht, { options: t, path: n });\n await e.injectMessage(s);\n}, Et = async (A, e) => {\n const o = A.path;\n if (!o)\n return !1;\n if (typeof o == \"string\")\n return await e.goToPath(o), !0;\n let t = o(e);\n if (t instanceof Promise && (t = await t), !t)\n return !1;\n const n = t;\n return await e.goToPath(n), !0;\n}, yt = async (A, e) => {\n const o = A.component;\n if (o) {\n if (typeof o == \"function\") {\n let t = o(e);\n if (t instanceof Promise && (t = await t), !t)\n return;\n await e.injectMessage(t);\n return;\n }\n await e.injectMessage(o);\n }\n}, Ct = async (A, e, o, t) => {\n const n = A.transition;\n let s;\n if (typeof n == \"function\" ? (s = n(e), s instanceof Promise && (s = await s)) : s = n, typeof s == \"number\" && (s = { duration: s }), !s || s instanceof Promise || s.duration == null || typeof s.duration != \"number\")\n return;\n s.interruptable == null && (s.interruptable = !1);\n const r = setTimeout(async () => {\n const a = await t(A);\n a && await ve(a, e);\n }, s.duration);\n s.interruptable && o(r);\n}, bt = async (A, e, o) => {\n const t = A.chatDisabled;\n if (t == null)\n return;\n let n;\n typeof t == \"function\" ? (n = t(e), n instanceof Promise && (n = await n)) : n = t, o(n);\n}, Be = async (A, e, o) => {\n const t = A.isSensitive;\n if (!t) {\n o(!1);\n return;\n }\n let n;\n typeof t == \"function\" ? (n = t(e), n instanceof Promise && (n = await n)) : n = t, o(n);\n}, Qt = async (A, e, o, t, n, s, r) => {\n if (!A)\n throw new Error(\"Block is not valid.\");\n for (const a of Object.keys(A))\n switch (a) {\n case \"message\":\n await Pt(A, e, o);\n break;\n case \"options\":\n await Dt(A, e);\n break;\n case \"checkboxes\":\n await Bt(A, e);\n break;\n case \"component\":\n await yt(A, e);\n break;\n case \"chatDisabled\":\n await bt(A, e, t);\n break;\n case \"isSensitive\":\n await Be(A, e, n);\n break;\n case \"transition\":\n await Ct(A, e, s, r);\n }\n}, ve = async (A, e) => {\n if (!A)\n throw new Error(\"Block is not valid.\");\n const o = Object.keys(A);\n for (const t of o)\n t === \"function\" && await vt(A, e);\n o.includes(\"path\") && await Et(A, e);\n}, mt = () => {\n var o;\n const { settings: A } = N(), { styles: e } = X();\n return /* @__PURE__ */ l(\"div\", { className: \"rcb-line-break-container\", children: /* @__PURE__ */ l(\n \"div\",\n {\n style: { ...e.chatHistoryLineBreakStyle },\n className: \"rcb-line-break-text\",\n \"data-testid\": \"chat-history-line-break-text\",\n children: (o = A.chatHistory) == null ? void 0 : o.chatHistoryLineBreakText\n }\n ) });\n}, pt = () => {\n var t;\n const { settings: A } = N(), { styles: e } = X(), o = {\n borderTop: `4px solid ${(t = A.general) == null ? void 0 : t.primaryColor}`,\n ...e.loadingSpinnerStyle\n };\n return /* @__PURE__ */ l(\"div\", { className: \"rcb-spinner-container\", children: /* @__PURE__ */ l(\"div\", { style: o, className: \"rcb-spinner\" }) });\n}, SA = () => {\n try {\n if (typeof crypto < \"u\" && typeof crypto.randomUUID == \"function\")\n return crypto.randomUUID();\n throw new Error(\"crypto.randomUUID not available\");\n } catch (A) {\n if (typeof crypto < \"u\" && typeof crypto.getRandomValues == \"function\")\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(e) {\n const o = crypto.getRandomValues(new Uint8Array(1))[0] % 16;\n return (e === \"x\" ? o : o & 3 | 8).toString(16);\n });\n throw console.error(A), new Error(\"crypto.getRandomValues is also not available\");\n }\n}, wA = (A, e) => ({\n id: SA(),\n content: A,\n sender: e,\n type: typeof A == \"string\" ? \"string\" : \"object\",\n timestamp: (/* @__PURE__ */ new Date()).toUTCString(),\n tags: []\n});\nlet dA, Pe = !1, IA = \"rcb-history\", mA = 30, he = !1, CA = [];\nconst HA = async (A) => {\n if (he || !dA)\n return;\n const e = [], o = Pe ? CA.length : 0;\n for (let n = A.length - 1; n >= o; n--) {\n const s = A[n];\n if (s.sender.toUpperCase() !== \"SYSTEM\" && (s.content !== \"\" && e.unshift(s), e.length === mA))\n break;\n }\n let t = e.map(Mt);\n if (t.length < mA) {\n const n = mA - t.length;\n t = [...CA.slice(-n), ...t];\n }\n De(t);\n}, St = (A) => {\n if (A != null)\n try {\n return JSON.parse(A);\n } catch {\n return [];\n }\n return [];\n}, jA = () => CA, It = (A) => {\n De(A), CA = A;\n}, De = (A) => {\n dA && dA.setItem(IA, JSON.stringify(A));\n}, Tt = () => {\n dA && dA.removeItem(IA);\n}, RA = (A) => {\n var e, o, t, n, s;\n ((o = (e = A.chatHistory) == null ? void 0 : e.storageType) == null ? void 0 : o.toUpperCase()) === \"SESSION_STORAGE\" ? dA = sessionStorage : dA = localStorage, IA = (t = A.chatHistory) == null ? void 0 : t.storageKey, mA = (n = A.chatHistory) == null ? void 0 : n.maxEntries, he = (s = A.chatHistory) == null ? void 0 : s.disabled, CA = St(dA.getItem(IA));\n}, Mt = (A) => ae(A.content) ? structuredClone({\n id: A.id,\n content: He.renderToString(A.content),\n type: A.type,\n sender: A.sender.toUpperCase(),\n timestamp: A.timestamp,\n tags: A.tags\n}) : A, kt = (A, e, o, t, n, s, r, a, c) => {\n var i;\n if (Pe = !0, o != null)\n try {\n const u = wA(/* @__PURE__ */ l(pt, {}), \"SYSTEM\"), f = n.current.slice(1);\n t([u, ...f]);\n const d = o.map((w) => {\n if (w.type === \"object\") {\n const g = Ee(w.content, A, e);\n return { ...w, content: g };\n }\n return w;\n });\n setTimeout(() => {\n var B;\n const w = n.current.slice(1);\n let g = (B = A.chatHistory) != null && B.autoLoad ? wA(/* @__PURE__ */ l(oA, {}), \"SYSTEM\") : wA(/* @__PURE__ */ l(mt, {}), \"SYSTEM\");\n t([...d, g, ...w]), c(!0);\n }, 500), setTimeout(() => {\n if (!s.current)\n return;\n const { scrollHeight: w } = s.current, g = w - r;\n s.current.scrollTop += g, a(!1);\n }, 510);\n } catch {\n dA.removeItem((i = A.chatHistory) == null ? void 0 : i.storageKey);\n }\n}, Ee = (A, e, o) => {\n const n = new DOMParser().parseFromString(A, \"text/html\");\n return Array.from(n.body.childNodes).map((a, c) => {\n var i;\n if (a.nodeType === Node.TEXT_NODE)\n return a.textContent;\n {\n const u = a.tagName.toLowerCase();\n let f = Array.from(a.attributes).reduce((w, g) => {\n const B = g.name.toLowerCase();\n if (B === \"style\") {\n const D = g.value.split(\";\").filter((P) => P.trim() !== \"\"), y = {};\n D.forEach((P) => {\n const [Q, h] = P.split(\":\").map((C) => C.trim()), v = Q.replace(/-([a-z])/g, (C, p) => p.toUpperCase());\n y[v] = h;\n }), w[B] = y;\n } else (u === \"audio\" || u === \"video\") && B === \"controls\" && g.value === \"\" ? w[B] = \"true\" : w[B] = g.value;\n return w;\n }, {});\n if (Object.prototype.hasOwnProperty.call(f, \"class\")) {\n const w = a.classList;\n f.className = w.toString(), delete f.class, (i = e.botBubble) != null && i.showAvatar && (f = Ht(w, f)), f = Ot(w, f, e, o), f = xt(w, f, e, o), f = Lt(w, f, e, o), f = Nt(w, f, e, o);\n }\n if ([\n \"area\",\n \"base\",\n \"br\",\n \"col\",\n \"embed\",\n \"hr\",\n \"img\",\n \"input\",\n \"link\",\n \"meta\",\n \"source\",\n \"track\",\n \"wbr\"\n ].includes(u))\n return Ae(u, { key: c, ...f });\n {\n const w = Ee(a.innerHTML, e, o);\n return Ae(u, { key: c, ...f }, ...w);\n }\n }\n });\n}, Ht = (A, e) => ((A.contains(\"rcb-options-container\") || A.contains(\"rcb-checkbox-container\")) && (e.className = `${A.toString()} rcb-options-offset`), e), Ot = (A, e, o, t) => {\n var n, s, r, a, c;\n return A.contains(\"rcb-options\") && (e.style = {\n ...e.style,\n color: ((n = t.botOptionStyle) == null ? void 0 : n.color) ?? ((s = o.general) == null ? void 0 : s.primaryColor),\n borderColor: ((r = t.botOptionStyle) == null ? void 0 : r.color) ?? ((a = o.general) == null ? void 0 : a.primaryColor),\n cursor: `url(\"${(c = o.general) == null ? void 0 : c.actionDisabledIcon}\"), auto`,\n ...t.botOptionStyle\n }), e;\n}, xt = (A, e, o, t) => {\n var n, s, r, a, c;\n return A.contains(\"rcb-checkbox-row-container\") && (e.style = {\n ...e.style,\n color: ((n = t.botCheckboxRowStyle) == null ? void 0 : n.color) ?? ((s = o.general) == null ? void 0 : s.primaryColor),\n borderColor: ((r = t.botCheckboxRowStyle) == null ? void 0 : r.color) ?? ((a = o.general) == null ? void 0 : a.primaryColor),\n cursor: `url(\"${(c = o.general) == null ? void 0 : c.actionDisabledIcon}\"), auto`,\n ...t.botCheckboxRowStyle\n }), e;\n}, Lt = (A, e, o, t) => {\n var n, s, r, a, c;\n return A.contains(\"rcb-checkbox-next-button\") && (e.style = {\n ...e.style,\n color: ((n = t.botCheckboxNextStyle) == null ? void 0 : n.color) ?? ((s = o.general) == null ? void 0 : s.primaryColor),\n borderColor: ((r = t.botCheckboxNextStyle) == null ? void 0 : r.color) ?? ((a = o.general) == null ? void 0 : a.primaryColor),\n cursor: `url(\"${(c = o.general) == null ? void 0 : c.actionDisabledIcon}\"), auto`,\n ...t.botCheckboxNextStyle\n }), e;\n}, Nt = (A, e, o, t) => {\n var n, s;\n return (A.contains(\"rcb-media-display-image-container\") || A.contains(\"rcb-media-display-video-container\")) && (e.style = {\n ...e.style,\n backgroundColor: (n = o.general) == null ? void 0 : n.primaryColor,\n maxWidth: (s = o.userBubble) != null && s.showAvatar ? \"65%\" : \"70%\",\n ...t.mediaDisplayContainerStyle\n }), e;\n}, ye = (A) => {\n if (!A)\n return !1;\n const e = A.getBoundingClientRect(), o = window.innerHeight ?? document.documentElement.clientHeight, t = window.innerWidth ?? document.documentElement.clientWidth;\n return e.top >= 0 && e.left >= 0 && e.bottom <= o && e.right <= t;\n}, zA = () => {\n const { settings: A } = N(), {\n notificationsToggledOn: e,\n setSyncedNotificationsToggledOn: o,\n hasInteractedPage: t,\n unreadCount: n,\n setUnreadCount: s,\n syncedNotificationsToggledOnRef: r\n } = AA(), { audioBufferRef: a, audioContextRef: c, gainNodeRef: i } = $(), { callRcbEvent: u } = iA(), f = T(async () => {\n var y, P;\n const g = (y = A.notification) == null ? void 0 : y.sound;\n c.current = new AudioContext();\n const B = c.current.createGain();\n B.gain.value = ((P = A.notification) == null ? void 0 : P.volume) ?? 0.2, i.current = B;\n let D;\n if (g != null && g.startsWith(\"data:audio\")) {\n const Q = atob(g.split(\",\")[1]), h = new ArrayBuffer(Q.length), v = new Uint8Array(h);\n for (let C = 0; C < Q.length; C++)\n v[C] = Q.charCodeAt(C);\n D = h;\n } else\n D = await (await fetch(g)).arrayBuffer();\n a.current = await c.current.decodeAudioData(D);\n }, [A.notification]), d = T(() => {\n var B;\n if ((B = A.notification) != null && B.disabled || !r.current || !t || !c.current || !a.current)\n return;\n const g = c.current.createBufferSource();\n g.buffer = a.current, g.connect(i.current).connect(c.current.destination), g.start();\n }, [\n A.notification,\n r,\n t,\n c,\n a,\n i\n ]), w = T(async (g) => {\n var B;\n g !== r.current && ((B = A.event) != null && B.rcbToggleNotifications && (await u(\n M.TOGGLE_NOTIFICATIONS,\n {\n currState: r.current,\n newState: !r.current\n }\n )).defaultPrevented || o((D) => !D));\n }, [r]);\n return {\n unreadCount: n,\n setUnreadCount: s,\n notificationsToggledOn: e,\n toggleNotifications: w,\n playNotificationSound: d,\n setUpNotifications: f\n };\n}, Rt = (A, e, o, t, n) => {\n if (!window.SpeechSynthesisUtterance) {\n console.info(\"Speech Synthesis API is not supported in this environment.\");\n return;\n }\n const s = new window.SpeechSynthesisUtterance();\n s.text = A, s.lang = e, s.rate = t, s.volume = n;\n let r = !1;\n for (const a of o)\n if (window.speechSynthesis.getVoices().find((c) => {\n if (c.name === a) {\n s.voice = c, window.speechSynthesis.speak(s), r = !0;\n return;\n }\n }), r)\n break;\n r || window.speechSynthesis.speak(s);\n}, Ut = (A, e) => {\n var o, t, n, s;\n Rt(\n e,\n (o = A.audio) == null ? void 0 : o.language,\n (t = A.audio) == null ? void 0 : t.voiceNames,\n (n = A.audio) == null ? void 0 : n.rate,\n (s = A.audio) == null ? void 0 : s.volume\n );\n}, GA = () => {\n const { settings: A } = N(), { audioToggledOn: e, setSyncedAudioToggledOn: o, syncedAudioToggledOnRef: t } = AA(), { callRcbEvent: n } = iA(), s = T(async (a) => {\n var c;\n a !== t.current && ((c = A.event) != null && c.rcbToggleAudio && (await n(\n M.TOGGLE_AUDIO,\n {\n currState: t.current,\n newState: !t.current\n }\n )).defaultPrevented || o((i) => !i));\n }, [t]), r = T(async (a) => {\n var i, u;\n if ((i = A.audio) != null && i.disabled || !t.current)\n return;\n let c = a;\n if ((u = A.event) != null && u.rcbStartSpeakAudio) {\n const f = await n(M.START_SPEAK_AUDIO, { textToRead: c });\n if (f.defaultPrevented)\n return;\n c = f.data.textToRead;\n }\n Ut(A, c);\n }, [A, t]);\n return {\n audioToggledOn: e,\n speakAudio: r,\n toggleAudio: s\n };\n}, hA = () => {\n var C, p;\n const { settings: A } = N(), { messages: e, setSyncedMessages: o, syncedMessagesRef: t } = FA(), {\n setSyncedIsBotTyping: n,\n setUnreadCount: s,\n syncedIsScrollingRef: r,\n syncedIsChatWindowOpenRef: a\n } = AA(), { streamMessageMap: c, chatBodyRef: i, paramsInputRef: u } = $(), { scrollToBottom: f } = sA(), { callRcbEvent: d } = iA(), { speakAudio: w } = GA(), { playNotificationSound: g } = zA(), B = T((E, I = !1) => {\n var k, b;\n HA(E);\n let m = !0;\n const S = E[E.length - 1];\n if (!S)\n return;\n const O = S.sender.toUpperCase();\n O === \"USER\" && (m = !1), (k = A.general) != null && k.embedded && ye(i.current) && (m = !1), (a.current && !r.current || I) && (m = !1), m && g(), !I && (O !== \"USER\" && ((b = A.chatWindow) != null && b.autoJumpToBottom) || O === \"USER\" || !r.current) && setTimeout(() => f(), 1);\n }, [A, i, a, r, g, f]), D = T(async (E, I = \"BOT\", m = null) => {\n var q, K, L, x, G;\n if (typeof E != \"string\")\n throw new Error(\"Content must be of type string to simulate stream.\");\n I = I.toUpperCase();\n let S = wA(E, I);\n if ((q = A.event) != null && q.rcbStartSimulateStreamMessage) {\n const H = await d(\n M.START_SIMULATE_STREAM_MESSAGE,\n { message: S }\n );\n if (H.defaultPrevented)\n return null;\n m = H.data.simulateStreamChunker || m, S = H.data.message;\n }\n n(!1);\n let O = 30;\n I === \"BOT\" ? O = (K = A.botBubble) == null ? void 0 : K.streamSpeed : O = (L = A.userBubble) == null ? void 0 : L.streamSpeed;\n const k = { ...S, content: \"\" };\n o((H) => [...H, k]), B(t.current);\n let b = S.content;\n m && (b = m(b));\n let U = 0;\n const R = b.length;\n S.sender.toUpperCase() === \"BOT\" && (a.current || (x = A.general) != null && x.embedded) && typeof S.content == \"string\" && S.content.trim() !== \"\" && w(S.content);\n const F = new Promise((H) => {\n const j = setInterval(() => {\n if (U >= R) {\n clearInterval(j), H();\n return;\n }\n o((Y) => {\n const _ = [...Y];\n for (let tA = _.length - 1; tA >= 0; tA--)\n if (_[tA].id === k.id) {\n const nA = b[U];\n nA && (k.content += nA, _[tA] = k), U++;\n break;\n }\n return _;\n });\n }, O);\n });\n return (r.current || !a.current) && s((H) => H + 1), await F, HA(t.current), (G = A.event) != null && G.rcbStopSimulateStreamMessage && await d(M.STOP_SIMULATE_STREAM_MESSAGE, { message: S }), I === \"USER\" && (u.current = E), S;\n }, [\n A,\n d,\n B,\n t,\n u,\n n,\n s,\n a,\n w\n ]), y = T(async (E, I = \"BOT\") => {\n var S, O, k;\n I = I.toUpperCase();\n let m = wA(E, I);\n if ((S = A.event) != null && S.rcbPreInjectMessage) {\n const b = await d(M.PRE_INJECT_MESSAGE, { message: m });\n if (b.defaultPrevented)\n return null;\n m = b.data.message;\n }\n return m.sender.toUpperCase() === \"BOT\" && (a.current || (O = A.general) != null && O.embedded) && typeof m.content == \"string\" && m.content.trim() !== \"\" && w(m.content), (r.current || !a.current) && s((b) => b + 1), (k = A.event) != null && k.rcbPostInjectMessage && await d(M.POST_INJECT_MESSAGE, { message: m }), o((b) => [...b, m]), B(t.current), I === \"USER\" && typeof E == \"string\" && (u.current = E), m;\n }, [\n A,\n d,\n B,\n u,\n t,\n a,\n w,\n s\n ]), P = T(async (E) => {\n var m;\n const I = t.current.find((S) => S.id === E);\n return !I || (m = A.event) != null && m.rcbRemoveMessage && (await d(M.REMOVE_MESSAGE, { message: I })).defaultPrevented ? null : (o(\n (S) => S.filter((O) => O.id !== E)\n ), B(t.current), s((S) => Math.max(S - 1, 0)), I);\n }, [\n d,\n (C = A.event) == null ? void 0 : C.rcbRemoveMessage,\n B,\n t,\n s\n ]), Q = T(async (E, I = \"BOT\") => {\n var S, O;\n if (I = I.toUpperCase(), !c.current.has(I)) {\n const k = wA(E, I);\n return (S = A.event) != null && S.rcbStartStreamMessage && (await d(M.START_STREAM_MESSAGE, { message: k })).defaultPrevented ? null : (n(!1), o((b) => [...b, k]), B(t.current), c.current.set(I, k.id), (r.current || !a.current) && s((b) => b + 1), k);\n }\n const m = { ...wA(E, I), id: c.current.get(I) };\n return (O = A.event) != null && O.rcbChunkStreamMessage && (await d(M.CHUNK_STREAM_MESSAGE, { message: m })).defaultPrevented ? null : (o(\n (k) => k.map((b) => b.id === m.id ? m : b)\n ), B(t.current, !0), m);\n }, [\n d,\n A.event,\n B,\n t,\n n,\n s,\n c\n ]), h = T(async (E = \"BOT\") => {\n var S;\n if (E = E.toUpperCase(), !c.current.has(E))\n return !0;\n const I = c.current.get(E);\n let m;\n for (let O = 0; O < 3; O++) {\n const k = t.current.find((b) => b.id === I);\n k && (m = k), await new Promise((b) => setTimeout(b, 20));\n }\n return (S = A.event) != null && S.rcbStopStreamMessage && (await d(M.STOP_STREAM_MESSAGE, { message: m })).defaultPrevented ? !1 : (c.current.delete(E), HA(t.current), E === \"USER\" && typeof (m == null ? void 0 : m.content) == \"string\" && (u.current = m.content), !0);\n }, [d, (p = A.event) == null ? void 0 : p.rcbStopStreamMessage, c, u]), v = T((E) => {\n o(E), B(E);\n }, [B]);\n return {\n simulateStreamMessage: D,\n injectMessage: y,\n removeMessage: P,\n streamMessage: Q,\n endStreamMessage: h,\n replaceMessages: v,\n messages: e\n };\n};\nlet OA, lA, pA, gA = !1, aA = null;\nconst YA = () => {\n if (!OA) {\n const A = window.SpeechRecognition || window.webkitSpeechRecognition;\n OA = A != null ? new A() : null;\n }\n return OA;\n}, Ft = (A, e, o, t, n, s, r) => {\n var a;\n (a = A.voice) != null && a.sendAsAudio ? zt(o, s) : jt(\n A,\n e,\n o,\n t,\n n,\n r\n );\n}, jt = (A, e, o, t, n, s) => {\n var i, u, f;\n const r = YA();\n if (!r)\n return;\n if (!gA)\n try {\n gA = !0, r.lang = (i = A.voice) == null ? void 0 : i.language, r.start();\n } catch {\n }\n const a = (u = A.voice) == null ? void 0 : u.timeoutPeriod, c = (f = A.voice) == null ? void 0 : f.autoSendPeriod;\n r.onresult = (d) => {\n var g, B;\n clearTimeout(lA), lA = null, clearTimeout(pA);\n const w = d.results[d.results.length - 1][0].transcript;\n if (s.current) {\n const D = (g = A.chatInput) == null ? void 0 : g.characterLimit, y = s.current.value + w;\n D != null && D >= 0 && y.length > D ? t(y.slice(0, D)) : t(y), n(s.current.value.length);\n }\n a && (lA = setTimeout(async () => await xA(e, s), a)), (B = A.voice) != null && B.autoSendDisabled || (pA = setTimeout(o, c));\n }, r.onend = () => {\n gA ? (r.start(), !lA && a && (lA = setTimeout(async () => await xA(e, s), a))) : (clearTimeout(lA), lA = null, clearTimeout(pA));\n }, a && (lA = setTimeout(async () => await xA(e, s), a));\n}, zt = (A, e) => {\n navigator.mediaDevices.getUserMedia({ audio: !0 }).then((o) => {\n if (aA = new MediaRecorder(o), !gA)\n try {\n gA = !0, aA.start();\n } catch {\n }\n aA.ondataavailable = (t) => {\n e.current && e.current.push(t.data);\n }, aA.onstop = () => {\n A(), o.getTracks().forEach((t) => t.stop());\n };\n }).catch((o) => {\n console.error(\"Unable to use microphone:\", o);\n });\n}, XA = () => {\n const A = YA();\n A && (gA = !1, A && A.stop(), aA && aA.state !== \"inactive\" && (aA.stop(), aA = null), clearTimeout(lA), lA = null, clearTimeout(pA));\n}, Gt = (A, e) => {\n var t, n, s;\n const o = YA();\n (t = e.voice) != null && t.disabled || !((n = e.chatInput) != null && n.blockSpam) || !o || (A && !gA ? (gA = !0, (s = e.voice) != null && s.sendAsAudio ? aA == null || aA.start() : o.start()) : A || XA());\n}, xA = async (A, e) => {\n var o;\n (o = e.current) != null && o.disabled || await A(), XA();\n}, TA = () => {\n const { settings: A } = N(), { voiceToggledOn: e, setSyncedVoiceToggledOn: o, syncedVoiceToggledOnRef: t } = AA(), { callRcbEvent: n } = iA(), s = T(async (a) => {\n var c;\n a !== t.current && ((c = A.event) != null && c.rcbToggleVoice && (await n(\n M.TOGGLE_VOICE,\n {\n currState: t.current,\n newState: !t.current\n }\n )).defaultPrevented || o((i) => !i));\n }, [t]), r = T((a) => {\n Gt(a, A);\n }, [A]);\n return {\n voiceToggledOn: e,\n toggleVoice: s,\n syncVoice: r\n };\n}, DA = () => {\n const { settings: A } = N(), {\n inputLength: e,\n setInputLength: o,\n textAreaDisabled: t,\n setSyncedTextAreaDisabled: n,\n textAreaSensitiveMode: s,\n setSyncedTextAreaSensitiveMode: r,\n syncedTextAreaDisabledRef: a,\n syncedTextAreaSensitiveModeRef: c\n } = AA(), { inputRef: i, chatBodyRef: u, prevInputRef: f } = $(), { callRcbEvent: d } = iA(), w = T(async (h) => {\n var v, C, p;\n if (a.current && i.current) {\n i.current.value = \"\";\n return;\n }\n if (i.current && f.current !== null) {\n const E = (v = A.chatInput) == null ? void 0 : v.characterLimit, m = ((C = A.chatInput) == null ? void 0 : C.allowNewline) ? h : h.replace(/\\n/g, \" \");\n if (E != null && E >= 0 && m.length > E ? i.current.value = m.slice(0, E) : i.current.value = m, (p = A.event) != null && p.rcbTextAreaChangeValue && (await d(\n M.TEXT_AREA_CHANGE_VALUE,\n { currValue: i.current.value, prevValue: f.current }\n )).defaultPrevented) {\n i.current.value = f.current;\n return;\n }\n f.current = i.current.value;\n }\n }, [a, i, f, A, d]), g = T((h) => {\n var v;\n (v = i.current) != null && v.disabled || setTimeout(() => {\n var C, p, E;\n (C = A.general) != null && C.embedded ? ye(u == null ? void 0 : u.current) && ((p = i.current) == null || p.focus()) : h !== \"start\" && ((E = i.current) == null || E.focus());\n }, 100);\n }, []), B = T(() => {\n i.current && i.current.focus();\n }, []), D = T(() => {\n i.current && i.current.blur();\n }, []), y = T(() => i && i.current ? i.current.value : \"\", []), P = T((h) => {\n h !== a.current && n((v) => !v);\n }, [a]), Q = T((h) => {\n h !== c.current && r((v) => !v);\n }, [c]);\n return {\n textAreaDisabled: t,\n setSyncedTextAreaDisabled: n,\n textAreaSensitiveMode: s,\n setSyncedTextAreaSensitiveMode: r,\n inputLength: e,\n setInputLength: o,\n getTextAreaValue: y,\n setTextAreaValue: w,\n updateTextAreaFocus: g,\n focusTextArea: B,\n blurTextArea: D,\n toggleTextAreaDisabled: P,\n toggleTextAreaSensitiveMode: Q\n };\n}, Ce = BA({\n toasts: [],\n setSyncedToasts: () => {\n },\n syncedToastsRef: { current: [] }\n}), be = () => vA(Ce), Yt = ({ children: A }) => {\n const [e, o, t] = rA([]);\n return /* @__PURE__ */ l(Ce.Provider, { value: { toasts: e, setSyncedToasts: o, syncedToastsRef: t }, children: A });\n}, EA = () => {\n const { settings: A } = N(), { toasts: e, setSyncedToasts: o, syncedToastsRef: t } = be(), { callRcbEvent: n } = iA(), s = T(async (c, i) => {\n var g, B, D, y;\n let u = null;\n if (t.current.length >= (((g = A.toast) == null ? void 0 : g.maxCount) ?? 3)) {\n if ((B = A.toast) != null && B.forbidOnMax)\n return null;\n u = SA();\n let P = { id: u, content: c, timeout: i };\n if ((D = A.event) != null && D.rcbShowToast) {\n const Q = await n(M.SHOW_TOAST, { toast: P });\n if (Q.defaultPrevented)\n return null;\n P = Q.data.toast;\n }\n return o((Q) => [...Q.slice(1), P]), u;\n }\n u = SA();\n let w = { id: u, content: c, timeout: i };\n if ((y = A.event) != null && y.rcbShowToast) {\n const P = await n(M.SHOW_TOAST, { toast: w });\n if (P.defaultPrevented)\n return null;\n w = P.data.toast;\n }\n return o((P) => [...P, w]), u;\n }, [A, n]), r = T(async (c) => {\n var u;\n const i = t.current.find((f) => f.id === c);\n return !i || (u = A.event) != null && u.rcbDismissToast && (await n(M.DISMISS_TOAST, { toast: i })).defaultPrevented ? null : (o((f) => f.filter((d) => d.id !== c)), c);\n }, [n]), a = T((c) => {\n o(c);\n }, []);\n return {\n showToast: s,\n dismissToast: r,\n toasts: e,\n replaceToasts: a\n };\n}, QA = () => {\n var R, F, q, K, L;\n const { settings: A } = N(), { paths: e, setSyncedPaths: o, syncedPathsRef: t } = bA(), { flowRef: n, streamMessageMap: s, paramsInputRef: r, keepVoiceOnRef: a } = $(), {\n setSyncedIsBotTyping: c,\n setSyncedTextAreaDisabled: i,\n setSyncedTextAreaSensitiveMode: u,\n blockAllowsAttachment: f,\n setBlockAllowsAttachment: d,\n setTimeoutId: w\n } = AA(), { callRcbEvent: g } = iA(), {\n endStreamMessage: B,\n injectMessage: D,\n removeMessage: y,\n simulateStreamMessage: P,\n streamMessage: Q\n } = hA(), { showToast: h, dismissToast: v } = EA(), { toggleChatWindow: C } = sA(), { updateTextAreaFocus: p, setTextAreaValue: E } = DA(), { syncVoice: I } = TA(), m = T(async (x) => {\n var G;\n if ((G = A.event) != null && G.rcbPostProcessBlock) {\n const H = await g(M.POST_PROCESS_BLOCK, {\n block: x\n });\n if (H.defaultPrevented)\n return null;\n x = H.data.block;\n }\n return x;\n }, [(R = A.event) == null ? void 0 : R.rcbPostProcessBlock, g]), S = T(async (x, G) => {\n var Y, _, tA, nA;\n if (!x)\n return;\n let H = n.current[x];\n if (!H) {\n c(!1);\n return;\n }\n if ((Y = A.event) != null && Y.rcbPreProcessBlock) {\n const PA = await g(M.PRE_PROCESS_BLOCK, {\n block: H\n });\n if (PA.defaultPrevented)\n return;\n H = PA.data.block;\n }\n c(!0), (_ = A.chatInput) != null && _.blockSpam && i(!0), u(!1);\n const j = {\n prevPath: G,\n currPath: x,\n goToPath: b,\n setTextAreaValue: E,\n userInput: r.current,\n endStreamMessage: B,\n injectMessage: D,\n removeMessage: y,\n simulateStreamMessage: P,\n streamMessage: Q,\n toggleChatWindow: C,\n showToast: h,\n dismissToast: v\n };\n await Qt(\n H,\n j,\n ((tA = A.botBubble) == null ? void 0 : tA.simulateStream) ?? !1,\n i,\n u,\n w,\n m\n ), c(!1), \"chatDisabled\" in H || i((nA = A.chatInput) == null ? void 0 : nA.disabled), \"isSensitive\" in H || u(!1), d(typeof H.file == \"function\"), p(x), I(a.current && !H.chatDisabled), x !== G && s.current.clear();\n }, [\n n,\n p,\n I,\n (F = A.botBubble) == null ? void 0 : F.simulateStream,\n (q = A.chatInput) == null ? void 0 : q.disabled,\n r,\n B,\n D,\n y,\n P,\n Q,\n C,\n h,\n v,\n a,\n s\n ]), O = T(() => t.current.length > 0 ? t.current.at(-1) ?? null : null, []), k = T(() => t.current.length > 1 ? t.current.at(-2) ?? null : null, []), b = T(async (x) => {\n var j;\n const G = O(), H = k();\n return (j = A.event) != null && j.rcbChangePath && (await g(M.CHANGE_PATH, {\n currPath: G,\n prevPath: H,\n nextPath: x\n })).defaultPrevented ? !1 : (o((Y) => [...Y, x]), await S(x, G), !0);\n }, [(K = A.chatInput) == null ? void 0 : K.blockSpam, (L = A.event) == null ? void 0 : L.rcbChangePath, S, g]), U = T((x) => {\n o(x);\n }, []);\n return {\n getCurrPath: O,\n getPrevPath: k,\n goToPath: b,\n blockAllowsAttachment: f,\n setBlockAllowsAttachment: d,\n paths: e,\n replacePaths: U,\n firePostProcessBlockEvent: m\n };\n}, yA = () => {\n var R, F, q, K;\n const { settings: A } = N(), {\n endStreamMessage: e,\n injectMessage: o,\n removeMessage: t,\n simulateStreamMessage: n,\n streamMessage: s\n } = hA(), { syncedPathsRef: r } = bA(), { getCurrPath: a, getPrevPath: c, goToPath: i, firePostProcessBlockEvent: u } = QA(), {\n timeoutId: f,\n setSyncedTextAreaSensitiveMode: d,\n setSyncedTextAreaDisabled: w,\n setSyncedIsBotTyping: g,\n setBlockAllowsAttachment: B,\n setInputLength: D,\n syncedVoiceToggledOnRef: y,\n syncedTextAreaSensitiveModeRef: P\n } = AA(), { flowRef: Q, inputRef: h, keepVoiceOnRef: v, paramsInputRef: C } = $(), { showToast: p, dismissToast: E } = EA(), { callRcbEvent: I } = iA(), { syncVoice: m } = TA(), { setTextAreaValue: S } = DA(), { toggleChatWindow: O } = sA(), k = T(async (L) => {\n var H, j, Y, _, tA, nA;\n const x = a();\n if (!(!x || !Q.current[x])) {\n if (P.current) {\n if ((H = A == null ? void 0 : A.sensitiveInput) != null && H.hideInUserBubble)\n return;\n if ((j = A == null ? void 0 : A.sensitiveInput) != null && j.maskInUserBubble) {\n (Y = A.userBubble) != null && Y.simulateStream ? await n(\n \"*\".repeat(((_ = A.sensitiveInput) == null ? void 0 : _.asterisksCount) ?? 10),\n \"USER\"\n ) : await o(\"*\".repeat(((tA = A.sensitiveInput) == null ? void 0 : tA.asterisksCount) ?? 10), \"USER\");\n return;\n }\n }\n (nA = A.userBubble) != null && nA.simulateStream ? await n(L, \"USER\") : await o(L, \"USER\");\n }\n }, [Q, a, A, o, n, P]), b = T(async (L, x = !0) => {\n var Y, _;\n if (L = L.trim(), L === \"\")\n return;\n x && await k(L), f && clearTimeout(f), h.current && (S(\"\"), D(0));\n const G = a();\n if (!G)\n return;\n let H = Q.current[G];\n const j = await u(H);\n j && ((Y = A.chatInput) != null && Y.blockSpam && w(!0), v.current = y.current, m(!1), setTimeout(() => {\n g(!0);\n }, 400), d(!1), setTimeout(async () => {\n var PA;\n const tA = {\n prevPath: c(),\n currPath: a(),\n goToPath: i,\n setTextAreaValue: S,\n userInput: C.current,\n injectMessage: o,\n simulateStreamMessage: n,\n streamMessage: s,\n removeMessage: t,\n endStreamMessage: e,\n toggleChatWindow: O,\n showToast: p,\n dismissToast: E\n }, nA = r.current.length;\n await ve(j, tA), r.current.length === nA && (\"chatDisabled\" in H ? w(!!H.chatDisabled) : w(!!((PA = A.chatInput) != null && PA.disabled)), Be(H, tA, d), B(typeof H.file == \"function\"), m(v.current), g(!1));\n }, (_ = A.chatInput) == null ? void 0 : _.botDelay));\n }, [\n f,\n (R = A.chatInput) == null ? void 0 : R.blockSpam,\n (F = A.chatInput) == null ? void 0 : F.botDelay,\n (q = A.chatInput) == null ? void 0 : q.disabled,\n v,\n y,\n m,\n k,\n c,\n a,\n i,\n o,\n n,\n s,\n t,\n e,\n O,\n p,\n E,\n Q\n ]);\n return { handleSubmitText: T(async (L, x = !0) => {\n var H, j;\n L = L ?? ((H = h.current) == null ? void 0 : H.value), !((j = A.event) != null && j.rcbUserSubmitText && (await I(M.USER_SUBMIT_TEXT, { inputText: L, sendInChat: x })).defaultPrevented || !a()) && b(L, x);\n }, [I, a, b, h, (K = A.event) == null ? void 0 : K.rcbUserSubmitText]) };\n}, MA = () => {\n var o;\n const { settings: A } = N();\n return fA(() => {\n var r;\n if (typeof window > \"u\" || !window.navigator)\n return !1;\n if (!((r = A.device) != null && r.applyMobileOptimizations))\n return !0;\n const t = navigator.userAgent, n = !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t), s = window.innerWidth >= 768;\n return n && s;\n }, [(o = A.device) == null ? void 0 : o.applyMobileOptimizations]);\n}, Xt = ({ buttons: A }) => {\n var k, b, U, R, F, q, K, L, x, G, H;\n const e = MA(), { settings: o } = N(), { styles: t } = X(), {\n textAreaDisabled: n,\n textAreaSensitiveMode: s,\n inputLength: r,\n hasFlowStarted: a,\n setHasFlowStarted: c,\n setInputLength: i\n } = AA(), { inputRef: u } = $(), [f, d] = z(!1), [w, g] = z(!1), { handleSubmitText: B } = yA(), { setTextAreaValue: D } = DA(), y = {\n boxSizing: e ? \"content-box\" : \"border-box\",\n ...t.chatInputAreaStyle\n }, P = {\n outline: n ? \"\" : \"none\",\n boxShadow: n ? \"\" : `0 0 5px ${(k = o.general) == null ? void 0 : k.primaryColor}`,\n boxSizing: e ? \"content-box\" : \"border-box\",\n ...t.chatInputAreaStyle,\n // by default inherit the base style for input area\n ...t.chatInputAreaFocusedStyle\n }, Q = {\n cursor: `url(\"${(b = o.general) == null ? void 0 : b.actionDisabledIcon}\"), auto`,\n caretColor: \"transparent\",\n boxSizing: e ? \"content-box\" : \"border-box\",\n ...t.chatInputAreaStyle,\n // by default inherit the base style for input area\n ...t.chatInputAreaDisabledStyle\n }, h = {\n color: \"#989898\",\n ...t.characterLimitStyle\n }, v = {\n color: \"#ff0000\",\n ...t.characterLimitReachedStyle\n }, C = n ? (U = o.chatInput) == null ? void 0 : U.disabledPlaceholderText : (R = o.chatInput) == null ? void 0 : R.enabledPlaceholderText, p = () => {\n n || d(!0);\n }, E = () => {\n d(!1);\n }, I = () => {\n g(!0);\n }, m = () => {\n g(!1);\n }, S = async (j) => {\n var Y;\n if (!w && j.key === \"Enter\") {\n if (j.shiftKey) {\n (Y = o.chatInput) != null && Y.allowNewline || j.preventDefault();\n return;\n }\n j.preventDefault(), await B();\n }\n }, O = (j) => {\n u.current && (D(j.target.value), i(u.current.value.length));\n };\n return /* @__PURE__ */ W(\n \"div\",\n {\n \"aria-label\": ((F = o.ariaLabel) == null ? void 0 : F.inputTextArea) ?? \"input text area\",\n role: \"textbox\",\n onMouseDown: (j) => {\n var Y;\n j.stopPropagation(), !a && ((Y = o.general) == null ? void 0 : Y.flowStartTrigger) === \"ON_CHATBOT_INTERACT\" && c(!0);\n },\n style: { ...t.chatInputContainerStyle },\n className: \"rcb-chat-input\",\n children: [\n s && ((q = o.sensitiveInput) != null && q.maskInTextArea) ? /* @__PURE__ */ l(\n \"input\",\n {\n ref: u,\n type: \"password\",\n className: \"rcb-chat-input-textarea\",\n style: n ? Q : f ? P : y,\n placeholder: C,\n onChange: O,\n onKeyDown: S,\n onFocus: p,\n onBlur: E,\n onCompositionStart: I,\n onCompositionEnd: m\n }\n ) : /* @__PURE__ */ l(\n \"textarea\",\n {\n ref: u,\n style: n ? Q : f ? P : y,\n rows: 1,\n className: \"rcb-chat-input-textarea\",\n placeholder: C,\n onChange: O,\n onKeyDown: S,\n onFocus: p,\n onBlur: E,\n onCompositionStart: I,\n onCompositionEnd: m\n }\n ),\n /* @__PURE__ */ W(oA, { children: [\n A == null ? void 0 : A.map(\n (j, Y) => /* @__PURE__ */ l(UA, { children: j }, Y)\n ),\n ((K = o.chatInput) == null ? void 0 : K.showCharacterCount) && ((L = o.chatInput) == null ? void 0 : L.characterLimit) != null && ((x = o.chatInput) == null ? void 0 : x.characterLimit) > 0 && /* @__PURE__ */ W(\n \"div\",\n {\n className: \"rcb-chat-input-char-counter\",\n style: r >= ((G = o.chatInput) == null ? void 0 : G.characterLimit) ? v : h,\n children: [\n r,\n \"/\",\n (H = o.chatInput) == null ? void 0 : H.characterLimit\n ]\n }\n )\n ] })\n ]\n }\n );\n}, Wt = ({ buttons: A }) => {\n var t;\n const { settings: e } = N(), { styles: o } = X();\n return /* @__PURE__ */ W(\n \"div\",\n {\n \"data-testid\": \"chatbot-footer-container\",\n style: { ...o.footerStyle },\n className: \"rcb-chat-footer-container\",\n children: [\n /* @__PURE__ */ l(\"div\", { className: \"rcb-chat-footer\", children: A == null ? void 0 : A.map(\n (n, s) => /* @__PURE__ */ l(UA, { children: n }, s)\n ) }),\n /* @__PURE__ */ l(\"span\", { children: (t = e.footer) == null ? void 0 : t.text })\n ]\n }\n );\n}, Kt = () => {\n var c, i, u, f, d, w, g;\n const { settings: A } = N(), { styles: e } = X(), { unreadCount: o } = AA(), { isChatWindowOpen: t, toggleChatWindow: n } = sA(), s = {\n backgroundImage: `linear-gradient(to right, ${(c = A.general) == null ? void 0 : c.secondaryColor},\n\t\t\t${(i = A.general) == null ? void 0 : i.primaryColor})`,\n ...e.chatButtonStyle\n }, r = {\n backgroundImage: `url(${(u = A.chatButton) == null ? void 0 : u.icon})`,\n fill: \"#fff\",\n width: 75,\n height: 75,\n ...e.chatIconStyle\n }, a = () => {\n var D;\n const B = (D = A.chatButton) == null ? void 0 : D.icon;\n return !B || typeof B == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-toggle-icon\",\n style: r\n }\n ) : B && /* @__PURE__ */ l(\"span\", { className: \"rcb-toggle-icon\", children: /* @__PURE__ */ l(B, { style: r }) });\n };\n return /* @__PURE__ */ l(oA, { children: !((f = A.general) != null && f.embedded) && /* @__PURE__ */ W(\n \"div\",\n {\n \"aria-label\": ((d = A.ariaLabel) == null ? void 0 : d.chatButton) ?? \"open chat\",\n role: \"button\",\n style: s,\n className: `rcb-toggle-button ${t ? \"rcb-button-hide\" : \"rcb-button-show\"}`,\n onClick: () => n(!0),\n children: [\n a(),\n !((w = A.notification) != null && w.disabled) && ((g = A.notification) == null ? void 0 : g.showCount) && /* @__PURE__ */ l(\"span\", { style: { ...e.notificationBadgeStyle }, className: \"rcb-badge\", children: o })\n ]\n }\n ) });\n}, qt = () => {\n var w, g, B, D;\n const A = MA(), { settings: e } = N(), { styles: o } = X(), { isChatWindowOpen: t, toggleChatWindow: n } = sA(), [s, r] = z(!1), [a, c] = z(!1), [i, u] = z(0);\n Z(() => {\n var P, Q, h;\n const y = (P = e.tooltip) == null ? void 0 : P.mode;\n if (y === \"ALWAYS\")\n if (A) {\n let v;\n t ? v = (((Q = o.chatWindowStyle) == null ? void 0 : Q.width) ?? 375) - (((h = o.chatButtonStyle) == null ? void 0 : h.width) ?? 75) : v = 0, u(v), r(!0);\n } else\n r(!t);\n else y === \"NEVER\" ? r(!1) : y === \"START\" ? a ? r(!1) : (c(!0), r(!0)) : y === \"CLOSE\" && r(!t);\n }, [t]);\n const f = {\n transform: `translateX(-${i}px)`,\n right: (((w = o.chatButtonStyle) == null ? void 0 : w.width) ?? 75) + 40,\n bottom: 30,\n backgroundColor: (g = e.general) == null ? void 0 : g.secondaryColor,\n color: \"#fff\",\n ...o.tooltipStyle\n }, d = {\n borderColor: `transparent transparent transparent ${f.backgroundColor}`\n };\n return /* @__PURE__ */ l(oA, { children: !((B = e.general) != null && B.embedded) && /* @__PURE__ */ W(\n \"div\",\n {\n \"data-testid\": \"chat-tooltip\",\n style: f,\n className: `rcb-chat-tooltip ${s ? \"rcb-tooltip-show\" : \"rcb-tooltip-hide\"}`,\n onClick: () => n(!0),\n children: [\n /* @__PURE__ */ l(\"span\", { children: (D = e.tooltip) == null ? void 0 : D.text }),\n /* @__PURE__ */ l(\"span\", { className: \"rcb-chat-tooltip-tail\", style: d })\n ]\n }\n ) });\n}, Jt = ({\n id: A,\n content: e,\n timeout: o\n}) => {\n var d, w;\n const { settings: t } = N(), { styles: n } = X(), [s] = z({\n toastPromptStyle: { ...n.toastPromptStyle },\n toastPromptHoveredStyle: { ...n.toastPromptHoveredStyle }\n }), { dismissToast: r } = EA(), [a, c] = z(!1), i = {\n color: (d = t.general) == null ? void 0 : d.primaryColor,\n borderColor: (w = t.general) == null ? void 0 : w.primaryColor,\n ...s.toastPromptHoveredStyle\n };\n return Z(() => {\n if (o) {\n const g = setTimeout(() => {\n r(A);\n }, o);\n return () => clearTimeout(g);\n }\n }, [A, r, o]), typeof e == \"string\" ? /* @__PURE__ */ l(\n \"div\",\n {\n onMouseEnter: () => {\n c(!0);\n },\n onMouseLeave: () => {\n c(!1);\n },\n style: a ? i : s.toastPromptStyle,\n onMouseDown: async (g) => {\n var B;\n (B = t.toast) != null && B.dismissOnClick && (g.preventDefault(), await r(A));\n },\n className: \"rcb-toast-prompt\",\n children: e\n }\n ) : /* @__PURE__ */ l(oA, { children: e });\n}, Vt = () => {\n var t, n, s, r;\n const { styles: A } = X(), { toasts: e } = be(), o = {\n bottom: (((t = A.footerStyle) == null ? void 0 : t.height) ?? 50) + (((n = A.chatInputContainerStyle) == null ? void 0 : n.height) ?? 70) + 20,\n width: 300,\n minWidth: (((s = A.chatWindowStyle) == null ? void 0 : s.width) ?? 375) / 2,\n maxWidth: (((r = A.chatWindowStyle) == null ? void 0 : r.width) ?? 375) - 50,\n ...A.toastPromptContainerStyle\n };\n return /* @__PURE__ */ l(\"div\", { className: \"rcb-toast-prompt-container\", style: o, children: e.map((a) => /* @__PURE__ */ l(\n Jt,\n {\n id: a.id,\n content: a.content,\n timeout: a.timeout\n },\n a.id\n )) });\n}, Qe = ({\n file: A,\n fileType: e,\n fileUrl: o\n}) => {\n var r, a, c;\n const { settings: t } = N(), { styles: n } = X(), s = {\n backgroundColor: (r = t.general) == null ? void 0 : r.primaryColor,\n maxWidth: (a = t.userBubble) != null && a.showAvatar ? \"65%\" : \"70%\",\n ...n.mediaDisplayContainerStyle\n };\n return /* @__PURE__ */ l(oA, { children: o ? /* @__PURE__ */ W(oA, { children: [\n e === \"image\" && o && /* @__PURE__ */ l(\n \"div\",\n {\n style: s,\n className: \"rcb-media-display-image-container rcb-media-entry\",\n \"data-testid\": \"media-display-image-container\",\n children: /* @__PURE__ */ l(\"img\", { src: o, alt: \"Image Display\", className: \"rcb-media-display-image\" })\n }\n ),\n e === \"video\" && o && /* @__PURE__ */ l(\n \"div\",\n {\n style: s,\n className: \"rcb-media-display-video-container rcb-media-entry\",\n \"data-testid\": \"media-display-video-container\",\n children: /* @__PURE__ */ W(\"video\", { controls: !0, className: \"rcb-media-display-video\", children: [\n /* @__PURE__ */ l(\"source\", { src: o, type: A.type }),\n \"Your browser does not support the video tag.\"\n ] })\n }\n ),\n e === \"audio\" && o && /* @__PURE__ */ W(\n \"audio\",\n {\n \"data-testid\": \"media-display-audio-container\",\n style: {\n maxWidth: (c = t.userBubble) != null && c.showAvatar ? \"65%\" : \"70%\"\n },\n controls: !0,\n className: \"rcb-media-display-audio rcb-media-entry\",\n children: [\n /* @__PURE__ */ l(\"source\", { src: o, type: A.type }),\n \"Your browser does not support the audio tag.\"\n ]\n }\n )\n ] }) : /* @__PURE__ */ l(oA, {}) });\n}, me = async (A) => {\n if (!A)\n return { fileType: null, fileUrl: null };\n const e = A.type.split(\"/\")[0];\n if (![\"image\", \"video\", \"audio\"].includes(e))\n return { fileType: null, fileUrl: null };\n try {\n const o = await new Promise((t, n) => {\n const s = new FileReader();\n s.onload = () => t(s.result), s.onerror = () => n(new Error(\"File reading failed\")), s.readAsDataURL(A);\n });\n return { fileType: e, fileUrl: o };\n } catch (o) {\n return console.error(o), { fileType: null, fileUrl: null };\n }\n}, Zt = () => {\n var I, m, S, O, k, b;\n const { settings: A } = N(), { styles: e } = X(), {\n injectMessage: o,\n simulateStreamMessage: t,\n streamMessage: n,\n removeMessage: s,\n endStreamMessage: r\n } = hA(), { getCurrPath: a, getPrevPath: c, goToPath: i, blockAllowsAttachment: u } = QA(), { flowRef: f, inputRef: d } = $(), w = f.current, { showToast: g, dismissToast: B } = EA(), { callRcbEvent: D } = iA(), { toggleChatWindow: y } = sA(), { setTextAreaValue: P } = DA(), { handleSubmitText: Q } = yA(), h = {\n cursor: `url(\"${(I = A.general) == null ? void 0 : I.actionDisabledIcon}\"), auto`,\n ...e.fileAttachmentButtonStyle,\n // by default inherit the base style\n ...e.fileAttachmentButtonDisabledStyle\n }, v = {\n backgroundImage: `url(${(m = A.fileAttachment) == null ? void 0 : m.icon})`,\n fill: \"#a6a6a6\",\n ...e.fileAttachmentIconStyle\n }, C = {\n backgroundImage: `url(${(S = A.fileAttachment) == null ? void 0 : S.icon})`,\n fill: \"#a6a6a6\",\n ...e.fileAttachmentIconStyle,\n // by default inherit the base style\n ...e.fileAttachmentIconDisabledStyle\n }, p = async (U) => {\n var L, x, G, H;\n const R = U.target.files;\n if (!R || (L = A.event) != null && L.rcbUserUploadFile && (await D(M.USER_UPLOAD_FILE, { files: R })).defaultPrevented)\n return;\n const F = a();\n if (!F)\n return;\n const q = w[F];\n if (!q)\n return;\n const K = q.file;\n if (K != null) {\n const j = [];\n for (let Y = 0; Y < R.length; Y++) {\n if (j.push(R[Y].name), !((x = A.fileAttachment) != null && x.showMediaDisplay))\n continue;\n const _ = await me(R[Y]);\n !_.fileType || !_.fileUrl || await o(/* @__PURE__ */ l(\n Qe,\n {\n file: R[Y],\n fileType: _.fileType,\n fileUrl: _.fileUrl\n }\n ), \"USER\");\n }\n await Q(\"📄 \" + j.join(\", \"), (G = A.fileAttachment) == null ? void 0 : G.sendFileName), await K({\n userInput: (H = d.current) == null ? void 0 : H.value,\n prevPath: c(),\n currPath: a(),\n goToPath: i,\n setTextAreaValue: P,\n injectMessage: o,\n simulateStreamMessage: t,\n streamMessage: n,\n removeMessage: s,\n endStreamMessage: r,\n toggleChatWindow: y,\n showToast: g,\n dismissToast: B,\n files: R\n });\n }\n }, E = () => {\n var R, F;\n const U = u ? (R = A.fileAttachment) == null ? void 0 : R.icon : (F = A.fileAttachment) == null ? void 0 : F.iconDisabled;\n return !U || typeof U == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: u ? \"rcb-attach-icon-enabled\" : \"rcb-attach-icon-disabled\",\n style: u ? v : C\n }\n ) : U && /* @__PURE__ */ l(\"span\", { className: u ? \"rcb-attach-icon-enabled\" : \"rcb-attach-icon-disabled\", children: /* @__PURE__ */ l(\n U,\n {\n style: u ? v : C\n }\n ) });\n };\n return /* @__PURE__ */ W(\n \"label\",\n {\n \"aria-label\": ((O = A.ariaLabel) == null ? void 0 : O.fileAttachmentButton) ?? \"upload file\",\n role: \"button\",\n className: u ? \"rcb-attach-button-enabled\" : \"rcb-attach-button-disabled\",\n style: u ? { ...e.fileAttachmentButtonStyle } : h,\n children: [\n /* @__PURE__ */ l(\n \"input\",\n {\n className: \"rcb-attach-input\",\n role: \"file\",\n type: \"file\",\n onChange: p,\n multiple: (k = A.fileAttachment) == null ? void 0 : k.multiple,\n accept: (b = A.fileAttachment) == null ? void 0 : b.accept,\n disabled: !u\n }\n ),\n E()\n ]\n }\n );\n}, _t = () => {\n var D, y, P, Q, h, v;\n const { settings: A } = N(), { styles: e } = X(), { syncedTextAreaDisabledRef: o } = AA(), { inputRef: t } = $(), { textAreaDisabled: n, setTextAreaValue: s } = DA(), r = eA(null), a = eA(null), [c, i] = z(!1), u = {\n cursor: `url(\"${(D = A.general) == null ? void 0 : D.actionDisabledIcon}\"), auto`,\n ...e.emojiButtonStyle,\n // by default inherit the base style\n ...e.emojiButtonDisabledStyle\n }, f = {\n backgroundImage: `url(${(y = A.emoji) == null ? void 0 : y.icon})`,\n fill: \"#a6a6a6\",\n ...e.emojiIconStyle\n }, d = {\n backgroundImage: `url(${(P = A.emoji) == null ? void 0 : P.icon})`,\n fill: \"#a6a6a6\",\n ...e.emojiIconStyle,\n // by default inherit the base style\n ...e.emojiIconDisabledStyle\n };\n Z(() => {\n const C = (I) => {\n const m = I.composedPath();\n r.current && !m.includes(r.current) && a.current && !m.includes(a.current) && i(!1);\n }, p = () => {\n if (r.current && a.current) {\n const I = a.current.getBoundingClientRect(), m = r.current.offsetHeight, S = I.top - m - 8;\n r.current.style.left = `${I.left}px`, r.current.style.top = `${S}px`;\n }\n }, E = () => {\n p();\n };\n return document.addEventListener(\"mousedown\", C), window.addEventListener(\"resize\", E), () => {\n document.removeEventListener(\"mousedown\", C), window.removeEventListener(\"resize\", E);\n };\n }, []);\n const w = (C, p) => {\n C.preventDefault(), t.current && (s(t.current.value + p), setTimeout(() => {\n const E = t.current;\n if (E) {\n E.focus();\n const I = E.value.length;\n E.setSelectionRange(I, I);\n }\n }, 50)), i(!1);\n }, g = (C) => {\n C.preventDefault(), o.current ? i(!1) : i((p) => !p);\n }, B = () => {\n var p, E;\n const C = n ? (p = A.emoji) == null ? void 0 : p.iconDisabled : (E = A.emoji) == null ? void 0 : E.icon;\n return !C || typeof C == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: `${n ? \"rcb-emoji-icon-disabled\" : \"rcb-emoji-icon-enabled\"}`,\n style: n ? d : f\n }\n ) : C && /* @__PURE__ */ l(\"span\", { className: `${n ? \"rcb-emoji-icon-disabled\" : \"rcb-emoji-icon-enabled\"}`, children: /* @__PURE__ */ l(C, { style: n ? d : f }) });\n };\n return /* @__PURE__ */ W(oA, { children: [\n /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((Q = A.ariaLabel) == null ? void 0 : Q.emojiButton) ?? \"emoji picker\",\n role: \"button\",\n ref: a,\n className: `${n ? \"rcb-emoji-button-disabled\" : \"rcb-emoji-button-enabled\"}`,\n style: n ? u : { ...e.emojiButtonStyle },\n onMouseDown: g,\n children: B()\n }\n ),\n c && /* @__PURE__ */ l(\"div\", { className: \"rcb-emoji-button-popup\", ref: r, children: (v = (h = A.emoji) == null ? void 0 : h.list) == null ? void 0 : v.map((C, p) => /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-emoji\",\n onMouseDown: (E) => w(E, C),\n children: C\n },\n p\n )) })\n ] });\n}, $t = () => {\n var a, c, i;\n const { settings: A } = N(), { styles: e } = X(), { audioToggledOn: o, toggleAudio: t } = GA(), n = {\n backgroundImage: `url(${(a = A.audio) == null ? void 0 : a.icon})`,\n fill: \"#fcec3d\",\n ...e.audioIconStyle\n }, s = {\n backgroundImage: `url(${(c = A.audio) == null ? void 0 : c.iconDisabled})`,\n fill: \"#e8eaed\",\n ...e.audioIconStyle,\n // by default inherit the base style\n ...e.audioIconDisabledStyle\n }, r = () => {\n var f, d;\n const u = o ? (f = A.audio) == null ? void 0 : f.icon : (d = A.audio) == null ? void 0 : d.iconDisabled;\n return !u || typeof u == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-audio-icon\",\n \"data-testid\": \"rcb-audio-icon\",\n style: o ? n : s\n }\n ) : u && /* @__PURE__ */ l(\"span\", { className: \"rcb-audio-icon\", \"data-testid\": \"rcb-audio-icon\", children: /* @__PURE__ */ l(\n u,\n {\n style: o ? n : s,\n \"data-testid\": \"rcb-audio-icon-svg\"\n }\n ) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((i = A.ariaLabel) == null ? void 0 : i.audioButton) ?? \"toggle audio\",\n role: \"button\",\n onMouseDown: async (u) => {\n u.preventDefault(), await t();\n },\n style: o ? { ...e.audioButtonStyle } : { ...e.audioButtonStyle, ...e.audioButtonDisabledStyle },\n children: r()\n }\n );\n}, Ao = () => {\n var s, r;\n const { settings: A } = N(), { styles: e } = X(), { toggleChatWindow: o } = sA(), t = {\n backgroundImage: `url(${(s = A.header) == null ? void 0 : s.closeChatIcon})`,\n fill: \"#e8eaed\",\n stroke: \"#e8eaed\",\n ...e.closeChatIconStyle\n }, n = () => {\n var c;\n const a = (c = A.header) == null ? void 0 : c.closeChatIcon;\n return !a || typeof a == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-close-chat-icon\",\n \"data-testid\": \"rcb-close-chat-icon\",\n style: t\n }\n ) : a && /* @__PURE__ */ l(\"span\", { className: \"rcb-close-chat-icon\", \"data-testid\": \"rcb-close-chat-icon\", children: /* @__PURE__ */ l(a, { style: t }) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((r = A.ariaLabel) == null ? void 0 : r.closeChatButton) ?? \"close chat\",\n role: \"button\",\n onMouseDown: (a) => {\n a.stopPropagation(), o(!1);\n },\n style: { ...e.closeChatButtonStyle },\n children: n()\n }\n );\n}, eo = () => {\n const { notificationsToggledOn: A, toggleNotifications: e, playNotificationSound: o } = zA();\n return {\n notificationsToggledOn: A,\n toggleNotifications: e,\n playNotificationSound: o\n };\n}, to = () => {\n var a, c, i;\n const { settings: A } = N(), { styles: e } = X(), { notificationsToggledOn: o, toggleNotifications: t } = eo(), n = {\n backgroundImage: `url(${(a = A.notification) == null ? void 0 : a.icon})`,\n fill: \"#fcec3d\",\n ...e.notificationIconStyle\n }, s = {\n backgroundImage: `url(${(c = A.notification) == null ? void 0 : c.iconDisabled})`,\n fill: \"#e8eaed\",\n ...e.notificationIconStyle,\n // by default inherit the base style\n ...e.notificationIconDisabledStyle\n }, r = () => {\n var f, d;\n const u = o ? (f = A.notification) == null ? void 0 : f.icon : (d = A.notification) == null ? void 0 : d.iconDisabled;\n return !u || typeof u == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-notification-icon\",\n \"data-testid\": \"rcb-notification-icon\",\n style: o ? n : s\n }\n ) : u && /* @__PURE__ */ l(\"span\", { className: \"rcb-notification-icon\", \"data-testid\": \"rcb-notification-icon\", children: /* @__PURE__ */ l(\n u,\n {\n style: o ? n : s,\n \"data-testid\": \"rcb-notification-icon-svg\"\n }\n ) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((i = A.ariaLabel) == null ? void 0 : i.notificationButton) ?? \"toggle notifications\",\n role: \"button\",\n onMouseDown: async (u) => {\n u.preventDefault(), await t();\n },\n style: o ? { ...e.notificationButtonStyle } : { ...e.notificationButtonStyle, ...e.notificationButtonDisabledStyle },\n children: r()\n }\n );\n}, oo = () => {\n var P, Q, h;\n const { settings: A } = N(), { styles: e } = X(), { injectMessage: o } = hA(), { inputRef: t } = $(), { voiceToggledOn: n, toggleVoice: s } = TA(), { setInputLength: r, setTextAreaValue: a, textAreaDisabled: c } = DA(), { handleSubmitText: i } = yA(), u = eA([]), [f, d] = z(!1);\n Z(() => {\n var v;\n (v = A.voice) != null && v.sendAsAudio ? (D(), u.current = []) : i();\n }, [f]), Z(() => {\n n ? Ft(\n A,\n s,\n B,\n a,\n r,\n u,\n t\n ) : XA();\n }, [n]);\n const w = {\n backgroundImage: `url(${(P = A.voice) == null ? void 0 : P.icon})`,\n fill: \"#9aa0a6\",\n ...e.voiceIconStyle\n }, g = {\n backgroundImage: `url(${(Q = A.voice) == null ? void 0 : Q.iconDisabled})`,\n fill: \"#9aa0a6\",\n ...e.voiceIconStyle,\n // by default inherit the base style\n ...e.voiceIconDisabledStyle\n }, B = () => {\n d((v) => !v);\n }, D = async () => {\n const v = new Blob(u.current, { type: \"audio/wav\" }), C = new File([v], \"voice-input.wav\", { type: \"audio/wav\" }), p = await me(C);\n !p.fileType || !p.fileUrl || await o(/* @__PURE__ */ l(\n Qe,\n {\n file: C,\n fileType: p.fileType,\n fileUrl: p.fileUrl\n }\n ), \"USER\");\n }, y = () => {\n var C, p;\n const v = n ? (C = A.voice) == null ? void 0 : C.icon : (p = A.voice) == null ? void 0 : p.iconDisabled;\n return !v || typeof v == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: `rcb-voice-icon${n && !c ? \"-on\" : \"\"}`,\n \"data-testid\": \"rcb-voice-icon\",\n style: n && !c ? w : g\n }\n ) : v && /* @__PURE__ */ l(\"span\", { className: `rcb-voice-icon ${n && !c ? \"on\" : \"\"}`, children: /* @__PURE__ */ l(v, { style: n && !c ? w : g }) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((h = A.ariaLabel) == null ? void 0 : h.voiceButton) ?? \"toggle voice\",\n role: \"button\",\n onMouseDown: async (v) => {\n v.preventDefault(), !c && await s();\n },\n style: n && !c ? { ...e.voiceButtonStyle } : { ...e.voiceButtonStyle, ...e.voiceButtonDisabledStyle },\n className: n && !c ? \"rcb-voice-button-enabled\" : \"rcb-voice-button-disabled\",\n children: y()\n }\n );\n}, no = () => {\n var B, D, y, P, Q, h, v, C;\n const { settings: A } = N(), { styles: e } = X(), { textAreaDisabled: o } = AA(), [t, n] = z(!1), { handleSubmitText: s } = yA(), r = {\n backgroundColor: (B = A.general) == null ? void 0 : B.primaryColor,\n ...e.sendButtonStyle\n }, a = {\n cursor: `url(\"${(D = A.general) == null ? void 0 : D.actionDisabledIcon}\"), auto`,\n backgroundColor: (y = A.general) == null ? void 0 : y.primaryColor,\n ...e.sendButtonStyle,\n // by default inherit the base style\n ...e.sendButtonDisabledStyle\n }, c = {\n backgroundColor: (P = A.general) == null ? void 0 : P.secondaryColor,\n ...e.sendButtonStyle,\n // by default inherit the base style\n ...e.sendButtonHoveredStyle\n }, i = {\n backgroundImage: `url(${(Q = A.chatInput) == null ? void 0 : Q.sendButtonIcon})`,\n fill: \"#fff\",\n ...e.sendIconStyle\n }, u = {\n backgroundImage: `url(${(h = A.chatInput) == null ? void 0 : h.sendButtonIcon})`,\n fill: \"#fff\",\n ...e.sendIconStyle,\n // by default inherit the base style\n ...e.sendIconDisabledStyle\n }, f = {\n backgroundImage: `url(${(v = A.chatInput) == null ? void 0 : v.sendButtonIcon})`,\n fill: \"#fff\",\n ...e.sendIconStyle,\n // by default inherit the base style\n ...e.sendIconHoveredStyle\n }, d = () => {\n n(!0);\n }, w = () => {\n n(!1);\n }, g = () => {\n var E;\n const p = (E = A.chatInput) == null ? void 0 : E.sendButtonIcon;\n return !p || typeof p == \"string\" ? /* @__PURE__ */ l(\n \"span\",\n {\n className: \"rcb-send-icon\",\n \"data-testid\": \"rcb-send-icon\",\n style: o ? u : t ? f : i\n }\n ) : p && /* @__PURE__ */ l(\"span\", { className: \"rcb-send-icon\", \"data-testid\": \"rcb-send-icon\", children: /* @__PURE__ */ l(\n p,\n {\n style: o ? u : t ? f : i\n }\n ) });\n };\n return /* @__PURE__ */ l(\n \"div\",\n {\n \"aria-label\": ((C = A.ariaLabel) == null ? void 0 : C.sendButton) ?? \"send message\",\n role: \"button\",\n onMouseEnter: d,\n onMouseLeave: w,\n onMouseDown: async (p) => {\n p == null || p.preventDefault(), !o && await s();\n },\n style: o ? a : t ? c : r,\n className: \"rcb-send-button\",\n children: g()\n }\n );\n}, so = (A) => Object.values(V).includes(A), ro = (A, e) => {\n var c, i, u, f, d, w, g, B, D;\n const o = {\n [V.AUDIO_BUTTON]: (c = A.audio) == null ? void 0 : c.disabled,\n [V.CLOSE_CHAT_BUTTON]: (i = A.general) == null ? void 0 : i.embedded,\n [V.EMOJI_PICKER_BUTTON]: (u = A.emoji) == null ? void 0 : u.disabled,\n [V.FILE_ATTACHMENT_BUTTON]: (f = A.fileAttachment) == null ? void 0 : f.disabled,\n [V.NOTIFICATION_BUTTON]: (d = A.notification) == null ? void 0 : d.disabled,\n [V.SEND_MESSAGE_BUTTON]: !1,\n [V.VOICE_MESSAGE_BUTTON]: (w = A.voice) == null ? void 0 : w.disabled\n }, t = {}, n = (y) => y ? y.map((P) => {\n if (typeof P == \"string\") {\n if (so(P) && !o[P]) {\n if (t[P])\n return t[P];\n const Q = e[P];\n if (typeof Q == \"function\") {\n const h = Q();\n return t[P] = h, h;\n }\n return null;\n }\n return null;\n }\n return P;\n }).filter((P) => P !== null) : [], s = n((g = A.header) == null ? void 0 : g.buttons), r = n((B = A.chatInput) == null ? void 0 : B.buttons), a = n((D = A.footer) == null ? void 0 : D.buttons);\n return { header: s, chatInput: r, footer: a };\n}, ao = () => /* @__PURE__ */ l($t, {}), co = () => /* @__PURE__ */ l(to, {}), io = () => /* @__PURE__ */ l(Ao, {}), lo = () => /* @__PURE__ */ l(oo, {}), uo = () => /* @__PURE__ */ l(no, {}), fo = () => /* @__PURE__ */ l(Zt, {}), wo = () => /* @__PURE__ */ l(_t, {}), go = () => {\n const { settings: A } = N(), e = fA(() => ({\n [V.CLOSE_CHAT_BUTTON]: () => io(),\n [V.AUDIO_BUTTON]: () => ao(),\n [V.NOTIFICATION_BUTTON]: () => co(),\n [V.EMOJI_PICKER_BUTTON]: () => wo(),\n [V.FILE_ATTACHMENT_BUTTON]: () => fo(),\n [V.SEND_MESSAGE_BUTTON]: () => uo(),\n [V.VOICE_MESSAGE_BUTTON]: () => lo()\n }), []), { header: o, chatInput: t, footer: n } = fA(() => ro(A, e), [A, e]), s = fA(() => o, [o]), r = fA(() => t, [t]), a = fA(() => n, [n]);\n return { headerButtons: s, chatInputButtons: r, footerButtons: a };\n}, WA = () => {\n const { settings: A } = N(), { styles: e } = X(), { setSyncedMessages: o, syncedMessagesRef: t } = FA(), {\n isLoadingChatHistory: n,\n setIsLoadingChatHistory: s,\n hasChatHistoryLoaded: r,\n setHasChatHistoryLoaded: a\n } = AA(), { chatBodyRef: c } = $(), { callRcbEvent: i } = iA(), u = T(async () => {\n var w, g;\n const f = jA();\n if (!f || (w = A.event) != null && w.rcbLoadChatHistory && (await i(M.LOAD_CHAT_HISTORY, {})).defaultPrevented)\n return;\n s(!0);\n const d = ((g = c.current) == null ? void 0 : g.scrollHeight) ?? 0;\n kt(\n A,\n e,\n f,\n o,\n t,\n c,\n d,\n s,\n a\n );\n }, [\n A,\n e,\n i,\n t,\n c,\n s,\n a\n ]);\n return { isLoadingChatHistory: n, setIsLoadingChatHistory: s, hasChatHistoryLoaded: r, showChatHistory: u };\n}, Bo = () => {\n var c, i, u;\n const { settings: A } = N(), { styles: e } = X(), { showChatHistory: o } = WA(), [t, n] = z(!1), s = {\n color: (c = A.general) == null ? void 0 : c.primaryColor,\n borderColor: (i = A.general) == null ? void 0 : i.primaryColor,\n ...e.chatHistoryButtonStyle,\n // by default inherit the base style\n ...e.chatHistoryButtonHoveredStyle\n };\n return /* @__PURE__ */ l(\"div\", { className: \"rcb-view-history-container\", children: /* @__PURE__ */ l(\n \"div\",\n {\n onMouseEnter: () => {\n n(!0);\n },\n onMouseLeave: () => {\n n(!1);\n },\n style: t ? s : { ...e.chatHistoryButtonStyle },\n onMouseDown: (f) => {\n f.preventDefault(), o();\n },\n className: \"rcb-view-history-button\",\n role: \"button\",\n tabIndex: 0,\n children: /* @__PURE__ */ l(\"p\", { children: (u = A.chatHistory) == null ? void 0 : u.viewChatHistoryButtonText })\n }\n ) });\n}, pe = () => {\n var r;\n const { settings: A } = N(), { hasInteractedPage: e, setHasInteractedPage: o, hasFlowStarted: t, setHasFlowStarted: n } = AA(), s = T(() => {\n var c;\n if (o(!0), !t && ((c = A.general) == null ? void 0 : c.flowStartTrigger) === \"ON_PAGE_INTERACT\" && n(!0), !window.SpeechSynthesisUtterance) {\n console.info(\"Speech Synthesis API is not supported in this environment.\");\n return;\n }\n const a = new window.SpeechSynthesisUtterance();\n a.text = \"\", a.onend = () => {\n window.removeEventListener(\"click\", s), window.removeEventListener(\"keydown\", s), window.removeEventListener(\"touchstart\", s);\n }, window.speechSynthesis.speak(a);\n }, [t, (r = A.general) == null ? void 0 : r.flowStartTrigger]);\n return {\n hasInteractedPage: e,\n handleFirstInteraction: s\n };\n}, vo = () => {\n var I, m, S, O, k;\n const A = MA(), { settings: e } = N(), {\n replaceMessages: o\n } = hA(), { goToPath: t } = QA(), {\n isBotTyping: n,\n isChatWindowOpen: s,\n hasFlowStarted: r,\n setUnreadCount: a,\n setSyncedIsChatWindowOpen: c,\n setSyncedTextAreaDisabled: i,\n setSyncedAudioToggledOn: u,\n setSyncedVoiceToggledOn: f,\n setSyncedIsScrolling: d,\n syncedIsScrollingRef: w,\n syncedIsChatWindowOpenRef: g\n } = AA(), { chatBodyRef: B } = $(), { viewportHeight: D, setViewportHeight: y, setViewportWidth: P, scrollToBottom: Q } = sA(), { setUpNotifications: h } = zA(), { handleFirstInteraction: v } = pe(), { showChatHistory: C } = WA(), p = eA(0), E = eA(!1);\n Z(() => (window.addEventListener(\"click\", v), window.addEventListener(\"keydown\", v), window.addEventListener(\"touchstart\", v), () => {\n window.removeEventListener(\"click\", v), window.removeEventListener(\"keydown\", v), window.removeEventListener(\"touchstart\", v);\n }), []), Z(() => {\n const b = B.current;\n if (!b)\n return;\n const U = () => {\n E.current || (E.current = !0, requestAnimationFrame(() => {\n var L, x;\n if (!b)\n return;\n const { scrollTop: R, clientHeight: F, scrollHeight: q } = b, K = R + F < q - (((L = e.chatWindow) == null ? void 0 : L.messagePromptOffset) ?? 30);\n d(K), w.current = K, K || (R + F >= q - 1 && (b.scrollTop = q - F - 1), (g.current || (x = e.general) != null && x.embedded) && a(0)), E.current = !1;\n }));\n };\n return b.addEventListener(\"wheel\", U, { passive: !0 }), b.addEventListener(\"touchmove\", U, { passive: !0 }), () => {\n b.removeEventListener(\"wheel\", U), b.removeEventListener(\"touchmove\", U);\n };\n }, []), Z(() => {\n var b, U, R;\n i((b = e.chatInput) == null ? void 0 : b.disabled), c((U = e.chatWindow) == null ? void 0 : U.defaultOpen), u((R = e.audio) == null ? void 0 : R.defaultToggledOn), setTimeout(() => {\n var F;\n f((F = e.voice) == null ? void 0 : F.defaultToggledOn);\n }, 1);\n }, []), Z(() => {\n var b;\n (b = e.notification) != null && b.disabled || h();\n }, [(I = e.notification) == null ? void 0 : I.disabled]), Z(() => {\n !w.current && (B != null && B.current) && Q();\n }, [n]), Z(() => {\n var b, U;\n if ((b = e.chatHistory) != null && b.disabled)\n Tt();\n else if (RA(e), jA().length > 0) {\n const F = wA(/* @__PURE__ */ l(Bo, {}), \"SYSTEM\");\n o([F]), (U = e.chatHistory) != null && U.autoLoad && C();\n }\n }, [(m = e.chatHistory) == null ? void 0 : m.storageKey, (S = e.chatHistory) == null ? void 0 : S.maxEntries, (O = e.chatHistory) == null ? void 0 : O.disabled]), Z(() => {\n var b;\n A || (b = e.general) != null && b.embedded || !navigator.virtualKeyboard || (navigator.virtualKeyboard.overlaysContent = !0, navigator.virtualKeyboard.addEventListener(\"geometrychange\", (U) => {\n if (!U.target)\n return;\n const { x: R, y: F, width: q, height: K } = U.target.boundingRect;\n R == 0 && F == 0 && q == 0 && K == 0 ? (setTimeout(() => {\n var L;\n y((L = window.visualViewport) == null ? void 0 : L.height);\n }, 101), setTimeout(() => {\n var L, x;\n D != ((L = window.visualViewport) == null ? void 0 : L.height) && y((x = window.visualViewport) == null ? void 0 : x.height);\n }, 1001)) : setTimeout(() => {\n var L;\n y(((L = window.visualViewport) == null ? void 0 : L.height) - K);\n }, 101);\n }));\n }, [A]), Z(() => {\n var q, K, L, x;\n if (A)\n return;\n s && (y((q = window.visualViewport) == null ? void 0 : q.height), P((K = window.visualViewport) == null ? void 0 : K.width));\n const b = () => window.scrollTo({ top: 0, left: 0, behavior: \"auto\" }), U = () => p.current = window.scrollY, R = () => {\n var G, H;\n y((G = window.visualViewport) == null ? void 0 : G.height), P((H = window.visualViewport) == null ? void 0 : H.width);\n }, F = () => {\n var G;\n window.removeEventListener(\"scroll\", b), window.removeEventListener(\"scroll\", U), (G = window.visualViewport) == null || G.removeEventListener(\"resize\", R);\n };\n return s ? (F(), document.body.style.position = \"fixed\", window.addEventListener(\"scroll\", b), (L = window.visualViewport) == null || L.addEventListener(\"resize\", R)) : (document.body.style.position = \"static\", F(), window.scrollTo({ top: p.current, left: 0, behavior: \"auto\" }), window.addEventListener(\"scroll\", U), (x = window.visualViewport) == null || x.removeEventListener(\"resize\", R)), F;\n }, [s, A]), Z(() => {\n var b;\n (r || ((b = e.general) == null ? void 0 : b.flowStartTrigger) === \"ON_LOAD\") && t(\"start\");\n }, [r, (k = e.general) == null ? void 0 : k.flowStartTrigger]);\n}, KA = {\n DEFAULT_URL: \"https://cdn.jsdelivr.net/gh/tjtanjin/react-chatbotify-themes/themes\",\n DEFAULT_EXPIRATION: \"2592000\",\n CACHE_KEY_PREFIX: \"RCB_THEME_CACHE_DATA\"\n}, Po = KA.DEFAULT_URL, ho = KA.DEFAULT_EXPIRATION, Se = KA.CACHE_KEY_PREFIX, Do = (A, e, o) => {\n const t = localStorage.getItem(`${Se}_${A}_${e}`);\n if (!t)\n return null;\n try {\n const n = JSON.parse(t), s = (/* @__PURE__ */ new Date()).getTime(), r = Math.floor(s / 1e3);\n return n.cacheDate + o >= r ? n : null;\n } catch (n) {\n return console.error(`Unable to fetch cache for ${A}`, n), null;\n }\n}, Eo = (A, e, o, t, n) => {\n const s = (/* @__PURE__ */ new Date()).getTime(), r = Math.floor(s / 1e3), a = {\n settings: o,\n inlineStyles: t,\n cssStylesText: n,\n cacheDate: r\n };\n localStorage.setItem(`${Se}_${A}_${e}`, JSON.stringify(a));\n}, yo = async (A, e) => {\n const o = `${e}/${A}/meta.json`;\n try {\n const t = await fetch(o);\n return t.ok ? (await t.json()).version : (console.error(`Failed to fetch meta.json from ${o}`), null);\n } catch (t) {\n return console.error(`Failed to fetch meta.json from ${o}`, t), null;\n }\n}, se = async (A, e) => {\n const { id: o, version: t, baseUrl: n = Po, cacheDuration: s = ho } = e, r = t || await yo(o, n);\n if (!r)\n return console.error(`Unable to find version for theme: ${o}`), { settings: {}, inlineStyles: {}, cssStylesText: \"\" };\n const a = Do(o, r, s);\n if (a) {\n const P = re(A, a.cssStylesText);\n return { settings: a.settings, inlineStyles: a.inlineStyles, cssStylesText: P };\n }\n const c = `${n}/${o}/${r}/styles.css`, i = `${n}/${o}/${r}/settings.json`, u = `${n}/${o}/${r}/styles.json`;\n let f = \"\";\n const d = await fetch(c);\n d.ok ? f = await d.text() : console.info(`Could not fetch styles.css from ${c}`);\n const w = await fetch(i);\n let g = {};\n w.ok ? g = await w.json() : console.info(`Could not fetch settings.json from ${i}`);\n const B = await fetch(u);\n let D = {};\n B.ok ? D = await B.json() : console.info(`Could not fetch styles.json from ${u}`), Eo(o, r, g, D, f);\n const y = re(A, f);\n return { settings: g, inlineStyles: D, cssStylesText: y };\n}, re = (A, e) => e.split(new RegExp(\"(?<=})\")).map((t) => {\n const n = t.trim();\n return n.startsWith(\"@import\") || n.startsWith(\"@keyframes\") || n.startsWith(\"@media\") ? n : n ? `#${A} ${n}` : \"\";\n}).join(`\n`), Co = () => kA(ce), bo = () => kA(le), Qo = async (A, e, o, t) => {\n var a, c;\n let n = Co(), s = bo(), r = \"\";\n if (t != null)\n if (Array.isArray(t))\n for (const i of t) {\n const u = await se(A, i);\n n = uA(u.settings, n), s = uA(u.inlineStyles, s), r += u.cssStylesText;\n }\n else {\n const i = await se(A, t);\n n = uA(i.settings, n), s = uA(i.inlineStyles, s), r += i.cssStylesText;\n }\n return e != null && (n = uA(e, n)), o != null && (s = uA(o, s)), ((a = n.chatInput) == null ? void 0 : a.botDelay) != null && ((c = n.chatInput) == null ? void 0 : c.botDelay) < 500 && (n.chatInput.botDelay = 500), { settings: n, inlineStyles: s, cssStylesText: r };\n}, uA = (A, e) => {\n const o = [{ source: A, target: e }];\n for (; o.length; ) {\n const t = o.pop();\n if (t == null)\n continue;\n const { source: n, target: s } = t;\n for (const r of Object.keys(n)) {\n const a = r;\n if (ae(n[a]))\n s[a] = n[a];\n else if (typeof n[a] == \"object\" && n[a] !== null && !Array.isArray(n[a]))\n (typeof s[a] != \"object\" || s[a] === null) && (s[a] = {}), o.push({ source: n[a], target: s[a] });\n else\n try {\n s[a] = n[a];\n } catch {\n }\n }\n }\n return e;\n}, kA = (A) => {\n if (A === null || typeof A != \"object\")\n return A;\n const e = Array.isArray(A) ? [] : {}, o = [{ source: A, target: e }], t = /* @__PURE__ */ new WeakMap();\n for (t.set(A, e); o.length; ) {\n const n = o.pop();\n if (n == null)\n continue;\n const { source: s, target: r } = n;\n for (const a in s)\n if (Object.prototype.hasOwnProperty.call(s, a)) {\n const c = s[a];\n if (c && typeof c == \"object\")\n if (t.has(c))\n r[a] = t.get(c);\n else {\n const i = Array.isArray(c) ? [] : {};\n t.set(c, i), r[a] = i, o.push({ source: c, target: i });\n }\n else\n r[a] = c;\n }\n }\n return e;\n}, Ie = () => {\n const { settings: A, setSettings: e } = N(), o = T((n) => {\n !n || Object.keys(n).length === 0 || e(kA(uA(n, A)));\n }, [A]), t = T((n) => {\n e(n);\n }, []);\n return {\n settings: A,\n replaceSettings: t,\n updateSettings: o\n };\n}, Te = () => {\n const { styles: A, setStyles: e } = X(), o = T((n) => {\n !n || Object.keys(n).length === 0 || e(kA(uA(n, A)));\n }, [A]), t = T((n) => {\n e(n);\n }, []);\n return {\n styles: A,\n replaceStyles: t,\n updateStyles: o\n };\n}, mo = (A) => {\n const { updateSettings: e } = Ie(), { updateStyles: o } = Te(), t = A == null ? void 0 : A.map((n) => n());\n Z(() => {\n let n = {}, s = {};\n t == null || t.forEach((r) => {\n r != null && r.settings && Object.keys(r == null ? void 0 : r.settings).length !== 0 && (n = uA(r.settings, n)), r != null && r.styles && Object.keys(r == null ? void 0 : r.styles).length !== 0 && (s = uA(r.styles, s));\n }), e(n), o(s);\n }, []);\n}, po = ({\n plugins: A\n}) => {\n var D, y, P, Q;\n const e = MA(), { settings: o } = N(), { styles: t } = X(), { hasFlowStarted: n, setHasFlowStarted: s } = AA(), { inputRef: r } = $(), {\n viewportHeight: a,\n viewportWidth: c,\n isChatWindowOpen: i\n } = sA(), { headerButtons: u, chatInputButtons: f, footerButtons: d } = go();\n vo(), mo(A);\n const w = fA(() => {\n var v;\n const h = \"rcb-chatbot-global \";\n return (v = o.general) != null && v.embedded ? h + \"rcb-window-embedded\" : i ? h + \"rcb-window-open\" : h + \"rcb-window-close\";\n }, [o, i]), g = () => {\n var h, v;\n return !e && !((h = o.general) != null && h.embedded) ? {\n ...t.chatWindowStyle,\n borderRadius: \"0px\",\n left: \"0px\",\n right: \"auto\",\n top: \"0px\",\n bottom: \"auto\",\n width: `${c}px`,\n height: `${a}px`,\n zIndex: 1e4\n } : (v = o.general) != null && v.embedded ? { ...t.chatWindowStyle } : {\n ...t.chatWindowStyle,\n zIndex: 1e4\n };\n };\n return /* @__PURE__ */ l(oA, { children: (() => {\n var h, v;\n return e && ((h = o.device) == null ? void 0 : h.desktopEnabled) || !e && ((v = o.device) == null ? void 0 : v.mobileEnabled);\n })() && /* @__PURE__ */ W(\n \"div\",\n {\n onMouseDown: (h) => {\n var v, C;\n !n && ((v = o.general) == null ? void 0 : v.flowStartTrigger) === \"ON_CHATBOT_INTERACT\" && s(!0), e ? (C = r.current) == null || C.blur() : h == null || h.preventDefault();\n },\n className: w,\n children: [\n /* @__PURE__ */ l(qt, {}),\n /* @__PURE__ */ l(Kt, {}),\n i && !e && !((D = o.general) != null && D.embedded) && /* @__PURE__ */ W(oA, { children: [\n /* @__PURE__ */ l(\"style\", { children: `\n\t\t\t\t\t\t\t\t\thtml {\n\t\t\t\t\t\t\t\t\t\toverflow: hidden !important;\n\t\t\t\t\t\t\t\t\t\ttouch-action: none !important;\n\t\t\t\t\t\t\t\t\t\tscroll-behavior: auto !important;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t` }),\n /* @__PURE__ */ l(\n \"div\",\n {\n style: {\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"#fff\",\n zIndex: 9999\n }\n }\n )\n ] }),\n /* @__PURE__ */ W(\"div\", { style: g(), className: \"rcb-chat-window\", children: [\n ((y = o.general) == null ? void 0 : y.showHeader) && /* @__PURE__ */ l(nt, { buttons: u }),\n /* @__PURE__ */ l(wt, {}),\n /* @__PURE__ */ l(Vt, {}),\n ((P = o.general) == null ? void 0 : P.showInputRow) && /* @__PURE__ */ l(Xt, { buttons: f }),\n ((Q = o.general) == null ? void 0 : Q.showFooter) && /* @__PURE__ */ l(Wt, { buttons: d })\n ] })\n ]\n }\n ) });\n}, Me = BA(void 0), ke = () => vA(Me), So = ({\n children: A\n}) => {\n var u;\n const e = eA(\"\"), o = eA({}), [t, n] = z({}), [s, r] = z({}), [a, c] = z(!1);\n Z(() => {\n c(!0);\n }, []);\n const i = async (f, d, w, g, B, D) => {\n e.current = f, o.current = d;\n const y = await Qo(f, w, g, B);\n D.current && (D.current.textContent = y.cssStylesText), n(y.settings), r(y.inlineStyles);\n };\n return a ? /* @__PURE__ */ l(\"div\", { style: { fontFamily: (u = t.general) == null ? void 0 : u.fontFamily }, children: /* @__PURE__ */ l(Me.Provider, { value: { loadConfig: i }, children: /* @__PURE__ */ l(tt, { settings: t, setSettings: n, children: /* @__PURE__ */ l(ot, { styles: s, setStyles: r, children: /* @__PURE__ */ l(Yt, { children: /* @__PURE__ */ l(st, { botIdRef: e, flowRef: o, children: /* @__PURE__ */ l(ct, { children: /* @__PURE__ */ l(rt, { settings: t, children: /* @__PURE__ */ l(lt, { children: A }) }) }) }) }) }) }) }) }) : null;\n}, Io = ({\n id: A,\n flow: e,\n settings: o,\n styles: t,\n themes: n,\n plugins: s,\n setConfigLoaded: r,\n styleRootRef: a\n}) => {\n const c = fA(() => A, []), i = ke(), { flowRef: u } = $();\n u && u.current !== e && (u.current = e);\n const f = async () => {\n var d, w;\n (d = o.event) != null && d.rcbPreLoadChatBot && (await NA(\n M.PRE_LOAD_CHATBOT,\n { botId: c, currPath: null, prevPath: null },\n {\n flow: e,\n settings: o,\n styles: t,\n themes: n,\n plugins: s\n }\n )).defaultPrevented || (i != null && i.loadConfig && (await i.loadConfig(c, e, o, t, n, a), r(!0)), (w = o.event) != null && w.rcbPostLoadChatBot && NA(\n M.POST_LOAD_CHATBOT,\n { botId: c, currPath: null, prevPath: null },\n {\n flow: e,\n settings: o,\n styles: t,\n themes: n,\n plugins: s\n }\n ));\n };\n return Z(() => {\n f();\n }, [n]), null;\n}, LA = [\"Quickstart\", \"API Docs\", \"Examples\", \"Github\", \"Discord\"], To = {\n start: {\n message: \"Hello, I am Tan Jin 👋! Welcome to React ChatBotify, I'm excited that you are using our chatbot 😊!\",\n transition: { duration: 1e3 },\n chatDisabled: !0,\n path: \"show_options\"\n },\n show_options: {\n message: \"It looks like you have not set up a conversation flow yet. No worries! Here are a few helpful things you can check out to get started:\",\n options: LA,\n path: \"process_options\"\n },\n prompt_again: {\n message: \"Do you need any other help?\",\n options: LA,\n path: \"process_options\"\n },\n unknown_input: {\n message: \"Sorry, I do not understand your message 😢! If you require further assistance, you may click on the Github option and open an issue there or visit our discord.\",\n options: LA,\n path: \"process_options\"\n },\n process_options: {\n transition: { duration: 0 },\n path: (A) => {\n let e = \"\";\n switch (A.userInput) {\n case \"Quickstart\":\n e = \"https://react-chatbotify.com/docs/introduction/quickstart/\";\n break;\n case \"API Docs\":\n e = \"https://react-chatbotify.com/docs/api/bot_options\";\n break;\n case \"Examples\":\n e = \"https://react-chatbotify.com/docs/examples/basic_form\";\n break;\n case \"Github\":\n e = \"https://github.com/tjtanjin/react-chatbotify/\";\n break;\n case \"Discord\":\n e = \"https://discord.gg/6R4DK4G5Zh\";\n break;\n default:\n return \"unknown_input\";\n }\n return A.injectMessage(\"Sit tight! I'll send you right there!\"), setTimeout(() => {\n window.open(e);\n }, 1e3), \"repeat\";\n }\n },\n repeat: {\n transition: { duration: 3e3 },\n path: \"prompt_again\"\n }\n}, No = ({\n id: A,\n flow: e,\n settings: o,\n styles: t,\n themes: n,\n plugins: s\n}) => {\n const r = fA(() => A || \"rcb-\" + SA(), []), a = !e || Object.keys(e).length === 0 ? To : e, c = o || {}, i = t || {}, u = s || [], [f, d] = z(!1), w = ke(), g = eA(null), [B, D] = z(n || []);\n Z(() => {\n n && D(n);\n }, [n]);\n const y = () => /* @__PURE__ */ W(oA, { children: [\n /* @__PURE__ */ l(\n Io,\n {\n styleRootRef: g,\n id: r,\n flow: a,\n settings: c,\n styles: i,\n themes: B,\n plugins: u,\n setConfigLoaded: d\n }\n ),\n f && /* @__PURE__ */ l(po, { plugins: s })\n ] });\n return w == null ? /* @__PURE__ */ W(So, { children: [\n /* @__PURE__ */ l(\"style\", { ref: g }),\n /* @__PURE__ */ l(\"div\", { id: r, children: y() })\n ] }) : /* @__PURE__ */ W(oA, { children: [\n /* @__PURE__ */ l(\"style\", { ref: g }),\n /* @__PURE__ */ l(\"div\", { id: r, children: y() })\n ] });\n}, Ro = () => {\n const { audioToggledOn: A, speakAudio: e, toggleAudio: o } = GA();\n return {\n audioToggledOn: A,\n speakAudio: e,\n toggleAudio: o\n };\n}, Mo = () => {\n const { botIdRef: A } = $();\n return {\n getBotId: T(() => A.current, [A])\n };\n}, Uo = () => {\n const { getBotId: A } = Mo();\n return {\n getBotId: A\n };\n}, Fo = () => {\n const { isChatWindowOpen: A, toggleChatWindow: e, toggleIsBotTyping: o, scrollToBottom: t } = sA();\n return {\n isChatWindowOpen: A,\n toggleChatWindow: e,\n toggleIsBotTyping: o,\n scrollToBottom: t\n };\n}, jo = () => {\n const { hasInteractedPage: A } = pe();\n return {\n hasInteractedPage: A\n };\n}, ko = () => {\n const { replaceMessages: A } = hA(), { replacePaths: e } = QA(), { replaceToasts: o } = EA(), { hasFlowStarted: t } = AA(), { flowRef: n } = $(), { settings: s } = N(), r = T(() => {\n RA(s), A([]), o([]), e([\"start\"]);\n }, [A, o, e, RA]), a = T(() => (n == null ? void 0 : n.current) ?? {}, [n]);\n return {\n hasFlowStarted: t,\n restartFlow: r,\n getFlow: a\n };\n}, zo = () => {\n const { hasFlowStarted: A, restartFlow: e, getFlow: o } = ko();\n return {\n hasFlowStarted: A,\n restartFlow: e,\n getFlow: o\n };\n}, Go = () => {\n const {\n endStreamMessage: A,\n injectMessage: e,\n removeMessage: o,\n simulateStreamMessage: t,\n streamMessage: n,\n messages: s,\n replaceMessages: r\n } = hA();\n return {\n endStreamMessage: A,\n injectMessage: e,\n removeMessage: o,\n simulateStreamMessage: t,\n streamMessage: n,\n messages: s,\n replaceMessages: r\n };\n}, Yo = () => {\n const {\n getCurrPath: A,\n getPrevPath: e,\n goToPath: o,\n paths: t,\n replacePaths: n\n } = QA();\n return {\n getCurrPath: A,\n getPrevPath: e,\n goToPath: o,\n paths: t,\n replacePaths: n\n };\n}, Xo = () => {\n const { settings: A, replaceSettings: e, updateSettings: o } = Ie();\n return {\n settings: A,\n replaceSettings: e,\n updateSettings: o\n };\n}, Wo = () => {\n const { styles: A, replaceStyles: e, updateStyles: o } = Te();\n return {\n styles: A,\n replaceStyles: e,\n updateStyles: o\n };\n}, Ko = () => {\n const {\n textAreaDisabled: A,\n toggleTextAreaDisabled: e,\n textAreaSensitiveMode: o,\n toggleTextAreaSensitiveMode: t,\n getTextAreaValue: n,\n setTextAreaValue: s,\n focusTextArea: r,\n blurTextArea: a\n } = DA();\n return {\n textAreaDisabled: A,\n toggleTextAreaDisabled: e,\n textAreaSensitiveMode: o,\n toggleTextAreaSensitiveMode: t,\n getTextAreaValue: n,\n setTextAreaValue: s,\n focusTextArea: r,\n blurTextArea: a\n };\n}, qo = () => {\n const { showToast: A, dismissToast: e, toasts: o, replaceToasts: t } = EA();\n return {\n showToast: A,\n dismissToast: e,\n toasts: o,\n replaceToasts: t\n };\n}, Jo = () => {\n const { voiceToggledOn: A, toggleVoice: e } = TA();\n return {\n voiceToggledOn: A,\n toggleVoice: e\n };\n}, Vo = () => {\n const { showChatHistory: A, hasChatHistoryLoaded: e } = WA();\n return {\n showChatHistory: A,\n getHistoryMessages: jA,\n setHistoryMessages: It,\n hasChatHistoryLoaded: e\n };\n};\nexport {\n V as Button,\n So as ChatBotProvider,\n No as default,\n Co as getDefaultSettings,\n bo as getDefaultStyles,\n Ro as useAudio,\n Uo as useBotId,\n Vo as useChatHistory,\n Fo as useChatWindow,\n jo as useFirstInteraction,\n zo as useFlow,\n Go as useMessages,\n eo as useNotifications,\n Yo as usePaths,\n Xo as useSettings,\n Wo as useStyles,\n Ko as useTextArea,\n qo as useToasts,\n Jo as useVoice\n};\n","import React, { useEffect, useState, useImperativeHandle, forwardRef } from 'react';\nimport { useChatWindow } from \"react-chatbotify\";\nimport '../styles/embedded-container.css';\nimport '../styles/embedded-states.css';\nimport '../styles/responsive.css';\n\n/**\n * Container component for embedded chat that handles open/close functionality\n */\nconst EmbeddedChatContainer = forwardRef(({ children, embeddedDefaultOpen = false }, ref) => {\n const { toggleChatWindow } = useChatWindow();\n const [embeddedIsOpen, setEmbeddedIsOpen] = useState(embeddedDefaultOpen);\n\n useEffect(() => {\n toggleChatWindow(embeddedDefaultOpen);\n setEmbeddedIsOpen(embeddedDefaultOpen);\n }, [embeddedDefaultOpen, toggleChatWindow]);\n\n useImperativeHandle(ref, () => ({\n toggle: () => {\n const newState = !embeddedIsOpen;\n setEmbeddedIsOpen(newState);\n toggleChatWindow(newState);\n return newState;\n },\n open: () => {\n setEmbeddedIsOpen(true);\n toggleChatWindow(true);\n },\n close: () => {\n setEmbeddedIsOpen(false);\n toggleChatWindow(false);\n },\n isOpen: () => embeddedIsOpen\n }));\n\n const handleToggle = () => {\n const newState = !embeddedIsOpen;\n setEmbeddedIsOpen(newState);\n toggleChatWindow(newState);\n };\n\n // Keyboard accessibility for bar\n const handleBarKeyDown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n handleToggle();\n }\n };\n\n return (\n <div className={`embedded-chat-container ${embeddedIsOpen ? 'open' : 'closed'}`}>\n {/* Chat content, visible when open */}\n <div className=\"embedded-chat-open\" style={{ display: embeddedIsOpen ? 'block' : 'none' }}>\n <div\n className=\"embedded-chat-closed\" // reuse bar style for open state header\n role=\"button\"\n tabIndex={0}\n onClick={handleToggle}\n onKeyDown={handleBarKeyDown}\n style={{ display: 'flex', cursor: 'pointer' }}\n >\n <div className=\"title-with-icon\">\n <div className=\"bot-icon\"></div>\n <span>ACCESS Q&A Bot</span>\n </div>\n <span className=\"embedded-chat-chevron\" aria-hidden=\"true\" style={{ transform: 'rotate(180deg)' }}>▼</span>\n </div>\n <div className=\"embedded-chat-content\">\n {children}\n </div>\n </div>\n\n {/* Closed header bar, visible when closed */}\n <div\n className=\"embedded-chat-closed\"\n style={{ display: embeddedIsOpen ? 'none' : 'flex', cursor: 'pointer' }}\n role=\"button\"\n tabIndex={0}\n onClick={handleToggle}\n onKeyDown={handleBarKeyDown}\n >\n <div className=\"title-with-icon\">\n <div className=\"bot-icon\"></div>\n <span>ACCESS Q&A Bot</span>\n </div>\n <span className=\"embedded-chat-chevron\" aria-hidden=\"true\">▼</span>\n </div>\n </div>\n );\n});\n\nexport default EmbeddedChatContainer;","/**\n * Get theme colors, with fallbacks and CSS variable support\n *\n * @param {React.RefObject} containerRef - Reference to the container element to extract CSS variables from\n * @returns {Object} Theme color configuration\n */\nexport const getThemeColors = (containerRef) => {\n // Get colors from CSS variables if available, fall back to defaults\n const getCSSVariable = (name, fallback) => {\n if (containerRef.current) {\n // First check the container itself\n const containerStyle = getComputedStyle(containerRef.current);\n const containerValue = containerStyle.getPropertyValue(name);\n if (containerValue && containerValue.trim() !== '') {\n return containerValue.trim();\n }\n\n // Then check parent (useful for web component shadow DOM)\n if (containerRef.current.parentElement) {\n const parentStyle = getComputedStyle(containerRef.current.parentElement);\n const parentValue = parentStyle.getPropertyValue(name);\n if (parentValue && parentValue.trim() !== '') {\n return parentValue.trim();\n }\n }\n }\n return fallback;\n };\n\n return {\n primaryColor: getCSSVariable('--primary-color', '#1a5b6e'),\n secondaryColor: getCSSVariable('--secondary-color', '#107180'),\n fontFamily: getCSSVariable('--font-family', 'Arial, sans-serif')\n };\n};","import React, { useEffect, useRef, useImperativeHandle, forwardRef } from 'react';\nimport ChatBot, { ChatBotProvider } from \"react-chatbotify\";\nimport EmbeddedChatContainer from './EmbeddedChatContainer';\nimport { getThemeColors } from '../utils/ThemeUtils';\nimport '../styles/rcb-base.css';\n\n/**\n * ACCESS Q&A Bot Component\n *\n * @param {Object} props\n * @param {string} [props.apiKey] - API key for the Q&A endpoint\n * @param {string} [props.welcome='Hello! What can I help you with?'] - Welcome message\n * @param {string} [props.prompt='Questions should stand alone and not refer to previous ones.'] - Input prompt text\n * @param {boolean} [props.embedded=false] - Whether the bot is embedded in the page\n * @param {boolean} [props.isLoggedIn=false] - Whether the user is logged in\n * @param {boolean} [props.isAnonymous] - Whether the user is anonymous (defaults to !isLoggedIn)\n * @param {boolean} [props.disabled] - Whether the chat input is disabled (defaults to isAnonymous)\n * @param {boolean} [props.defaultOpen=false] - Whether the chat window is open by default\n * @param {boolean} [props.visible=true] - Whether the bot is visible\n * @param {Function} [props.onClose] - Callback when the chat window is closed\n * @returns {JSX.Element}\n */\nconst QABot = forwardRef((props, ref) => {\n const containerRef = useRef(null);\n const embeddedContainerRef = useRef(null);\n const apiKey = props.apiKey || process.env.REACT_APP_API_KEY;\n const queryEndpoint = 'https://access-ai.ccs.uky.edu/api/query';\n\n const welcome = props.welcome || 'Hello! What can I help you with?';\n const prompt = props.prompt || 'Questions should stand alone and not refer to previous ones.';\n const embedded = props.embedded || false;\n const isLoggedIn = props.isLoggedIn !== undefined ? props.isLoggedIn : false;\n const isAnonymous = props.isAnonymous !== undefined ? props.isAnonymous : !isLoggedIn;\n const disabled = props.disabled !== undefined ? props.disabled : isAnonymous;\n const defaultOpen = props.defaultOpen !== undefined ? props.defaultOpen : false;\n const visible = props.visible !== undefined ? props.visible : true;\n const onClose = props.onClose;\n\n console.log(\"| QABot instantiated with props:\", { ...props, defaultOpen });\n\n // Expose methods for controlling the bot\n useImperativeHandle(ref, () => ({\n toggle: () => {\n if (embedded && embeddedContainerRef.current) {\n return embeddedContainerRef.current.toggle();\n }\n return false;\n },\n open: () => {\n if (embedded && embeddedContainerRef.current) {\n embeddedContainerRef.current.open();\n }\n },\n close: () => {\n if (embedded && embeddedContainerRef.current) {\n embeddedContainerRef.current.close();\n }\n },\n isOpen: () => {\n if (embedded && embeddedContainerRef.current) {\n return embeddedContainerRef.current.isOpen();\n }\n return false;\n }\n }));\n\n let hasError = false;\n\n // Get theme colors from CSS variables if available\n useEffect(() => {\n if (containerRef.current && containerRef.current.parentElement) {\n // If container's parent has CSS variables, they'll be picked up in getThemeColors\n }\n }, []);\n\n const handleQuery = async (params) => {\n // POST question to the QA API\n try {\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-API-KEY': apiKey\n },\n body: JSON.stringify({ query: params.userInput })\n };\n\n const response = await fetch(queryEndpoint, requestOptions);\n const body = await response.json();\n const text = body.response;\n\n for (let i = 0; i < text.length; i++) {\n await params.streamMessage(text.slice(0, i + 1));\n await new Promise(resolve => setTimeout(resolve, 2));\n }\n } catch (error) {\n await params.injectMessage(\"Unable to contact the Q&A Bot. Please try again later.\");\n hasError = true;\n }\n }\n\n const flow = {\n start: {\n message: welcome,\n path: 'loop'\n },\n loop: {\n message: async (params) => {\n await handleQuery(params);\n },\n path: () => {\n if (hasError) {\n return 'start'\n }\n return 'loop'\n }\n }\n }\n\n const containerClassName = `access-qa-bot ${embedded ? \"embedded-qa-bot\" : \"\"} ${visible ? \"\" : \"hidden\"}`;\n\n // Create a close button for embedded mode\n const createCloseButton = (embeddedRef) => {\n return (\n <button\n className=\"embedded-close-button\"\n onClick={() => embeddedRef.current && embeddedRef.current.close()}\n >\n ×\n </button>\n );\n };\n\n const chatBot = (\n <ChatBot\n settings={{\n general: {\n ...getThemeColors(containerRef),\n embedded: embedded\n },\n header: {\n title: 'ACCESS Q&A Bot',\n avatar: 'https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg',\n // Only override buttons in embedded mode, otherwise keep default\n ...(embedded ? { buttons: [createCloseButton(embeddedContainerRef)] } : {})\n },\n chatWindow: {\n defaultOpen: defaultOpen, // Will be ignored if embedded=true\n },\n chatInput: {\n enabledPlaceholderText: prompt,\n disabledPlaceholderText: 'Please log in to ask questions.',\n disabled: disabled\n },\n chatHistory: { disabled: true },\n botBubble: {\n simulateStream: true,\n dangerouslySetInnerHtml: true\n },\n chatButton: {\n icon: 'https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg',\n },\n tooltip: {\n text: 'Ask me about ACCESS! 😊',\n },\n audio: {\n disabled: true,\n },\n emoji: {\n disabled: true,\n },\n fileAttachment: {\n disabled: true,\n },\n notification: {\n disabled: true,\n },\n footer: {\n text: (<div>Find out more <a href=\"https://support.access-ci.org/tools/access-qa-tool\">about this tool</a> or <a href=\"https://docs.google.com/forms/d/e/1FAIpQLSeWnE1r738GU1u_ri3TRpw9dItn6JNPi7-FH7QFB9bAHSVN0w/viewform\">give us feedback</a>.</div>),\n },\n }}\n onClose={onClose}\n flow={flow}\n />\n );\n\n if (!visible) {\n return null;\n }\n\n return (\n <div className={containerClassName} ref={containerRef}>\n <ChatBotProvider>\n {embedded ? (\n <EmbeddedChatContainer\n ref={embeddedContainerRef}\n embeddedDefaultOpen={defaultOpen}\n >\n {chatBot}\n </EmbeddedChatContainer>\n ) : (\n chatBot\n )}\n </ChatBotProvider>\n </div>\n );\n});\n\nexport default QABot;","// src/web-component.js\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom/client';\nimport QABot from './components/QABot';\nimport './styles/index.css'; // Import all styles\n\n// Create a Web Component wrapper for the React component\nclass AccessQABot extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n\n // Create a container for the React component\n this.container = document.createElement('div');\n this.container.className = 'qa-bot-container';\n this.shadowRoot.appendChild(this.container);\n\n // Copy over CSS from main document to ensure all styles are available\n this.injectStyles();\n\n // Store reference to QABot component\n this.qaRef = React.createRef();\n }\n\n // Methods for programmatic control\n toggle() {\n if (this.qaRef && this.qaRef.current) {\n return this.qaRef.current.toggle();\n }\n return false;\n }\n\n open() {\n if (this.qaRef && this.qaRef.current) {\n this.qaRef.current.open();\n }\n }\n\n close() {\n if (this.qaRef && this.qaRef.current) {\n this.qaRef.current.close();\n }\n }\n\n isOpen() {\n if (this.qaRef && this.qaRef.current) {\n return this.qaRef.current.isOpen();\n }\n return false;\n }\n\n // Inject CSS from document to shadow DOM to maintain consistent styling\n injectStyles() {\n // Add base styles for proper element display\n const baseStyle = document.createElement('style');\n baseStyle.textContent = `\n :host {\n display: block;\n --primary-color: #1a5b6e;\n --secondary-color: #107180;\n --font-family: Arial, sans-serif;\n }\n\n .qa-bot-container {\n width: 100%;\n height: 100%;\n font-family: var(--font-family);\n }\n `;\n this.shadowRoot.appendChild(baseStyle);\n\n // Import essential styles needed for react-chatbotify\n // This ensures the web component looks identical to the React version\n const chatbotStyles = document.createElement('style');\n chatbotStyles.textContent = `\n /* Essential styles from react-chatbotify */\n .rcb-header-avatar {\n width: 24px !important;\n height: 24px !important;\n margin-right: 8px !important;\n }\n\n .rcb-chat-button {\n background-color: var(--primary-color) !important;\n }\n\n /* Ensure proper z-index for floating button */\n .rcb-floating-button {\n z-index: 1000 !important;\n }\n\n /* Make links in footer readable */\n .rcb-chat-footer a {\n color: var(--primary-color) !important;\n }\n\n /* Fix button styling */\n .rcb-send-button {\n background-color: var(--primary-color) !important;\n }\n `;\n this.shadowRoot.appendChild(chatbotStyles);\n\n // Import all styles from the document in case they're needed\n if (document.styleSheets) {\n try {\n const styleSheet = document.createElement('style');\n let cssText = '';\n\n // Collect CSS rules from document stylesheets\n for (let i = 0; i < document.styleSheets.length; i++) {\n try {\n const sheet = document.styleSheets[i];\n\n // Skip external stylesheets which can't be accessed due to CORS\n if (sheet.href && !sheet.href.startsWith(window.location.origin)) continue;\n\n const rules = sheet.cssRules || sheet.rules;\n if (!rules) continue;\n\n for (let j = 0; j < rules.length; j++) {\n // Include rules for chatbot, embedded chat, and related classes\n if (rules[j].selectorText &&\n (rules[j].selectorText.includes('.rcb-') ||\n rules[j].selectorText.includes('.access-qa-bot') ||\n rules[j].selectorText.includes('.embedded-chat') ||\n rules[j].selectorText.includes('.qa-bot-container'))) {\n cssText += rules[j].cssText + '\\n';\n }\n }\n } catch (e) {\n // Skip inaccessible stylesheets\n continue;\n }\n }\n\n if (cssText) {\n styleSheet.textContent = cssText;\n this.shadowRoot.appendChild(styleSheet);\n }\n } catch (e) {\n console.warn('Failed to copy document styles to shadow DOM', e);\n }\n }\n }\n\n // Observe these attributes for changes\n static get observedAttributes() {\n return [\n 'welcome',\n 'prompt',\n 'embedded',\n 'is-logged-in',\n 'is-anonymous',\n 'disabled',\n 'default-open',\n 'api-key'\n ];\n }\n\n // React to attribute changes\n attributeChangedCallback(name, oldValue, newValue) {\n if (oldValue !== newValue) {\n this._render();\n }\n }\n\n // Convert attributes to props\n _getProps() {\n return {\n welcome: this.getAttribute('welcome'),\n prompt: this.getAttribute('prompt'),\n embedded: this.hasAttribute('embedded'),\n isLoggedIn: this.hasAttribute('is-logged-in'),\n isAnonymous: this.hasAttribute('is-anonymous'),\n disabled: this.hasAttribute('disabled'),\n defaultOpen: this.hasAttribute('default-open'),\n apiKey: this.getAttribute('api-key') || 'demo-key',\n onClose: () => {\n this.dispatchEvent(new CustomEvent('qabot-close'));\n }\n };\n }\n\n // Lifecycle methods\n connectedCallback() {\n // Add support for CSS custom properties from parent\n this.syncStyles();\n this._render();\n\n // Set up a MutationObserver to watch for style attribute changes\n this.styleObserver = new MutationObserver(() => this.syncStyles());\n this.styleObserver.observe(this, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n\n disconnectedCallback() {\n if (this.styleObserver) {\n this.styleObserver.disconnect();\n }\n\n if (this.root) {\n this.root.unmount();\n }\n }\n\n // Sync styles from host element to shadow DOM\n syncStyles() {\n if (this.style.cssText) {\n const styleProps = this.style.cssText.split(';')\n .filter(prop => prop.trim().startsWith('--'))\n .map(prop => prop.trim());\n\n if (styleProps.length > 0) {\n const containerStyle = this.container.style;\n styleProps.forEach(prop => {\n const [name, value] = prop.split(':').map(p => p.trim());\n containerStyle.setProperty(name, value);\n });\n }\n }\n }\n\n // Render the React component\n _render() {\n if (!this.root) {\n this.root = ReactDOM.createRoot(this.container);\n }\n\n const props = this._getProps();\n this.root.render(\n <React.StrictMode>\n <QABot {...props} ref={this.qaRef} />\n </React.StrictMode>\n );\n }\n}\n\n// Define the custom element\ncustomElements.define('access-qa-bot', AccessQABot);\n\n// Export the web component reference\nexport const WebComponentQABot = AccessQABot;\n\n// Create a function-based API for programmatic initialization\nexport function webComponentQAndATool(config) {\n const { target, returnRef, ...props } = config;\n\n if (!target || !(target instanceof HTMLElement)) {\n console.error('QA Bot: A valid target DOM element is required');\n return;\n }\n\n // Create and configure the element\n const qaBot = document.createElement('access-qa-bot');\n\n // Set attributes based on props\n if (props.welcome) qaBot.setAttribute('welcome', props.welcome);\n if (props.prompt) qaBot.setAttribute('prompt', props.prompt);\n if (props.embedded) qaBot.setAttribute('embedded', '');\n if (props.isLoggedIn) qaBot.setAttribute('is-logged-in', '');\n if (props.isAnonymous) qaBot.setAttribute('is-anonymous', '');\n if (props.defaultOpen) qaBot.setAttribute('default-open', '');\n if (props.disabled) qaBot.setAttribute('disabled', '');\n if (props.apiKey) qaBot.setAttribute('api-key', props.apiKey);\n\n // Set CSS custom properties if provided\n if (props.styles) {\n Object.entries(props.styles).forEach(([prop, value]) => {\n if (prop.startsWith('--')) {\n qaBot.style.setProperty(prop, value);\n }\n });\n }\n\n // Add event listener for close if provided\n if (props.onClose) {\n qaBot.addEventListener('qabot-close', props.onClose);\n }\n\n // Append to target\n target.appendChild(qaBot);\n\n // If returnRef is true, return control methods for the web component\n if (returnRef) {\n // Return the control methods from the web component instance\n return {\n toggle: () => qaBot.toggle(),\n open: () => qaBot.open(),\n close: () => qaBot.close(),\n isOpen: () => qaBot.isOpen()\n };\n }\n\n // Return cleanup function\n return () => {\n target.removeChild(qaBot);\n };\n}\n\n// For standalone UMD build, expose the API globally\nif (typeof window !== 'undefined') {\n // Provide a global process.env for the standalone build\n window.process = { env: { REACT_APP_API_KEY: 'demo-key' } };\n\n window.accessQABot = {\n WebComponentQABot,\n qAndATool: webComponentQAndATool\n };\n}","import React, { useRef } from 'react';\nimport ReactDOM from 'react-dom/client';\nimport QABot from './components/QABot';\nimport App from './App';\nimport './App.css';\nimport './index.css';\nimport { WebComponentQABot, webComponentQAndATool } from './web-component';\n\n// Export QABot component directly for users who want to use it as a React component\nexport { QABot };\n\n// Re-export the web component functionality for those accessing via the main entry point\nexport { WebComponentQABot };\n\n// Function-based API that prioritizes web component usage\n// and then attempts a react render (since some people may use the function within a react context)\nexport function qAndATool(config) {\n const { target, version, isLoggedIn, isAnonymous, defaultOpen, returnRef, ...otherProps } = config;\n\n if (!target || !(target instanceof HTMLElement)) {\n console.error('QA Bot: A valid target DOM element is required');\n return;\n }\n\n // If the web component is available, use it\n if (typeof window !== 'undefined' && typeof customElements !== 'undefined' &&\n customElements.get('access-qa-bot')) {\n return webComponentQAndATool({\n target,\n isLoggedIn,\n isAnonymous,\n defaultOpen,\n returnRef,\n ...otherProps\n });\n } else {\n // Use direct react rendering with ref support\n const root = ReactDOM.createRoot(target);\n const qaRef = React.createRef();\n\n root.render(\n <React.StrictMode>\n <QABot\n ref={qaRef}\n embedded={otherProps.embedded}\n defaultOpen={defaultOpen}\n welcome={otherProps.welcome}\n prompt={otherProps.prompt}\n isLoggedIn={isLoggedIn}\n isAnonymous={isAnonymous}\n disabled={otherProps.disabled}\n onClose={otherProps.onClose}\n apiKey={otherProps.apiKey}\n />\n </React.StrictMode>\n );\n\n // If returnRef is true, return ref methods for programmatic control\n if (returnRef) {\n // Return an object with the control methods that match the QABot component's API\n return {\n toggle: () => qaRef.current && qaRef.current.toggle(),\n open: () => qaRef.current && qaRef.current.open(),\n close: () => qaRef.current && qaRef.current.close(),\n isOpen: () => qaRef.current && qaRef.current.isOpen()\n };\n }\n\n // Otherwise return a cleanup function\n return () => {\n root.unmount();\n };\n }\n}\n\n// Default export for simplicity\nexport default QABot;"],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","V","AUDIO_BUTTON","NOTIFICATION_BUTTON","CLOSE_CHAT_BUTTON","SEND_MESSAGE_BUTTON","VOICE_MESSAGE_BUTTON","FILE_ATTACHMENT_BUTTON","EMOJI_PICKER_BUTTON","ee","te","cA","A","e","J","viewBox","d","fill","fillRule","oe","Ue","je","Ge","xmlns","strokeLinecap","strokeWidth","Xe","Ke","Je","ne","_e","At","ce","general","primaryColor","secondaryColor","fontFamily","showHeader","showFooter","showInputRow","actionDisabledIcon","embedded","flowStartTrigger","tooltip","mode","text","chatButton","icon","header","title","l","cursor","margin","fontSize","fontWeight","onClick","window","open","children","showAvatar","avatar","buttons","closeChatIcon","notification","disabled","defaultToggledOn","volume","iconDisabled","sound","showCount","audio","language","voiceNames","rate","chatHistory","maxEntries","storageKey","storageType","viewChatHistoryButtonText","chatHistoryLineBreakText","autoLoad","chatInput","allowNewline","enabledPlaceholderText","disabledPlaceholderText","showCharacterCount","characterLimit","botDelay","sendButtonIcon","blockSpam","sendOptionOutput","sendCheckboxOutput","chatWindow","showScrollbar","showTypingIndicator","autoJumpToBottom","showMessagePrompt","messagePromptText","messagePromptOffset","defaultOpen","sensitiveInput","maskInTextArea","maskInUserBubble","asterisksCount","hideInUserBubble","userBubble","animate","simulateStream","streamSpeed","botBubble","voice","timeoutPeriod","autoSendDisabled","autoSendPeriod","sendAsAudio","footer","W","display","flexDirection","alignItems","columnGap","borderRadius","width","height","justifyContent","background","fileAttachment","multiple","accept","sendFileName","showMediaDisplay","emoji","list","toast","maxCount","forbidOnMax","dismissOnClick","event","rcbPreInjectMessage","rcbPostInjectMessage","rcbStartSimulateStreamMessage","rcbStopSimulateStreamMessage","rcbStartStreamMessage","rcbChunkStreamMessage","rcbStopStreamMessage","rcbRemoveMessage","rcbLoadChatHistory","rcbToggleChatWindow","rcbStartSpeakAudio","rcbToggleAudio","rcbToggleNotifications","rcbToggleVoice","rcbChangePath","rcbShowToast","rcbDismissToast","rcbUserSubmitText","rcbUserUploadFile","rcbTextAreaChangeValue","rcbPreLoadChatBot","rcbPostLoadChatBot","rcbPreProcessBlock","rcbPostProcessBlock","ariaLabel","audioButton","closeChatButton","emojiButton","fileAttachmentButton","notificationButton","sendButton","voiceButton","inputTextArea","device","desktopEnabled","mobileEnabled","applyMobileOptimizations","ie","BA","settings","setSettings","N","vA","tt","o","Provider","value","le","tooltipStyle","notificationBadgeStyle","chatWindowStyle","headerStyle","bodyStyle","chatInputContainerStyle","chatInputAreaStyle","chatInputAreaFocusedStyle","chatInputAreaDisabledStyle","userBubbleStyle","botBubbleStyle","botOptionStyle","botOptionHoveredStyle","botCheckboxRowStyle","botCheckboxNextStyle","botCheckMarkStyle","botCheckMarkSelectedStyle","characterLimitStyle","characterLimitReachedStyle","chatHistoryLineBreakStyle","chatMessagePromptStyle","chatMessagePromptHoveredStyle","footerStyle","loadingSpinnerStyle","mediaDisplayContainerStyle","chatButtonStyle","chatHistoryButtonStyle","chatHistoryButtonHoveredStyle","sendButtonStyle","sendButtonHoveredStyle","sendButtonDisabledStyle","audioButtonStyle","audioButtonDisabledStyle","closeChatButtonStyle","emojiButtonStyle","emojiButtonDisabledStyle","fileAttachmentButtonStyle","fileAttachmentButtonDisabledStyle","notificationButtonStyle","notificationButtonDisabledStyle","voiceButtonStyle","voiceButtonDisabledStyle","chatIconStyle","audioIconStyle","audioIconDisabledStyle","closeChatIconStyle","emojiIconStyle","emojiIconDisabledStyle","fileAttachmentIconStyle","fileAttachmentIconDisabledStyle","notificationIconStyle","notificationIconDisabledStyle","voiceIconStyle","voiceIconDisabledStyle","sendIconStyle","sendIconDisabledStyle","sendIconHoveredStyle","rcbTypingIndicatorContainerStyle","rcbTypingIndicatorDotStyle","toastPromptContainerStyle","toastPromptStyle","toastPromptHoveredStyle","ue","styles","setStyles","X","ot","nt","n","s","r","a","c","t","backgroundImage","className","map","i","u","UA","fe","$","st","botIdRef","flowRef","eA","Map","f","inputRef","streamMessageMap","chatBodyRef","paramsInputRef","keepVoiceOnRef","audioContextRef","audioBufferRef","gainNodeRef","prevInputRef","rA","z","current","de","AA","rt","qA","JA","VA","ZA","_A","$A","w","g","B","D","y","P","Q","h","v","C","p","E","I","m","S","O","k","b","U","R","F","q","K","L","x","G","H","j","Y","_","tA","visualViewport","innerHeight","nA","PA","innerWidth","isBotTyping","setSyncedIsBotTyping","syncedIsBotTypingRef","isChatWindowOpen","setSyncedIsChatWindowOpen","syncedIsChatWindowOpenRef","audioToggledOn","setSyncedAudioToggledOn","syncedAudioToggledOnRef","voiceToggledOn","setSyncedVoiceToggledOn","syncedVoiceToggledOnRef","notificationsToggledOn","setSyncedNotificationsToggledOn","syncedNotificationsToggledOnRef","isLoadingChatHistory","setIsLoadingChatHistory","hasChatHistoryLoaded","setHasChatHistoryLoaded","isScrolling","setSyncedIsScrolling","syncedIsScrollingRef","textAreaDisabled","setSyncedTextAreaDisabled","syncedTextAreaDisabledRef","textAreaSensitiveMode","setSyncedTextAreaSensitiveMode","syncedTextAreaSensitiveModeRef","hasInteractedPage","setHasInteractedPage","hasFlowStarted","setHasFlowStarted","unreadCount","setUnreadCount","inputLength","setInputLength","blockAllowsAttachment","setBlockAllowsAttachment","timeoutId","setTimeoutId","viewportHeight","setViewportHeight","viewportWidth","setViewportWidth","M","at","M_START_SPEAK_AUDIO","M_TOGGLE_AUDIO","M_TOGGLE_VOICE","M_TOGGLE_NOTIFICATIONS","M_TOGGLE_CHAT_WINDOW","M_PRE_INJECT_MESSAGE","M_POST_INJECT_MESSAGE","M_PRE_LOAD_CHATBOT","M_POST_LOAD_CHATBOT","M_START_SIMULATE_STREAM_MESSAGE","M_STOP_SIMULATE_STREAM_MESSAGE","M_START_STREAM_MESSAGE","M_CHUNK_STREAM_MESSAGE","M_STOP_STREAM_MESSAGE","M_LOAD_CHAT_HISTORY","M_CHANGE_PATH","M_SHOW_TOAST","M_DISMISS_TOAST","M_USER_SUBMIT_TEXT","M_USER_UPLOAD_FILE","M_TEXT_AREA_CHANGE_VALUE","M_PRE_PROCESS_BLOCK","M_POST_PROCESS_BLOCK","NA","async","CustomEvent","detail","cancelable","data","promises","dispatchEvent","Promise","all","we","paths","setSyncedPaths","syncedPathsRef","bA","ct","iA","T","length","callRcbEvent","botId","currPath","prevPath","sA","currState","newState","defaultPrevented","scrollHeight","clientHeight","scrollTop","requestAnimationFrame","toggleChatWindow","toggleIsBotTyping","scrollToBottom","it","color","borderColor","onMouseEnter","onMouseLeave","onMouseDown","preventDefault","ge","messages","setSyncedMessages","syncedMessagesRef","FA","lt","ut","message","isNewSender","content","contentWrapper","backgroundColor","maxWidth","oA","ft","dt","wt","scrollbarWidth","Z","sender","toUpperCase","gt","checkboxes","checkedItems","path","handleSubmitText","yA","Set","size","min","reusable","items","has","delete","max","add","Array","from","join","sendOutput","Bt","isArray","injectMessage","vt","function","Pt","trim","simulateStreamMessage","ht","options","Dt","yt","component","Ct","transition","duration","interruptable","setTimeout","ve","bt","chatDisabled","Be","isSensitive","Error","Object","keys","includes","goToPath","Et","mt","pt","borderTop","SA","crypto","randomUUID","getRandomValues","replace","Uint8Array","toString","console","error","wA","id","timestamp","Date","toUTCString","tags","dA","Pe","IA","mA","he","CA","HA","unshift","Mt","slice","De","jA","setItem","JSON","stringify","RA","sessionStorage","localStorage","parse","St","getItem","ae","structuredClone","He","renderToString","Ee","DOMParser","parseFromString","body","childNodes","nodeType","Node","TEXT_NODE","textContent","tagName","toLowerCase","attributes","reduce","name","split","filter","forEach","prototype","hasOwnProperty","call","classList","class","Ht","Ot","xt","Lt","Nt","Ae","key","innerHTML","contains","ye","getBoundingClientRect","documentElement","clientWidth","top","left","bottom","right","zA","AudioContext","createGain","gain","startsWith","atob","ArrayBuffer","charCodeAt","fetch","arrayBuffer","decodeAudioData","createBufferSource","buffer","connect","destination","start","toggleNotifications","playNotificationSound","setUpNotifications","Ut","SpeechSynthesisUtterance","info","lang","speechSynthesis","getVoices","find","speak","Rt","GA","speakAudio","textToRead","toggleAudio","hA","simulateStreamChunker","setInterval","clearInterval","removeMessage","Math","streamMessage","set","get","endStreamMessage","replaceMessages","OA","lA","pA","gA","aA","YA","SpeechRecognition","webkitSpeechRecognition","jt","onresult","clearTimeout","results","transcript","xA","onend","zt","navigator","mediaDevices","getUserMedia","then","MediaRecorder","ondataavailable","push","onstop","getTracks","stop","catch","XA","state","TA","Gt","toggleVoice","syncVoice","DA","currValue","prevValue","focus","blur","getTextAreaValue","setTextAreaValue","updateTextAreaFocus","focusTextArea","blurTextArea","toggleTextAreaDisabled","toggleTextAreaSensitiveMode","Ce","toasts","setSyncedToasts","syncedToastsRef","be","Yt","EA","showToast","timeout","dismissToast","replaceToasts","QA","block","userInput","Qt","file","clear","nextPath","getCurrPath","getPrevPath","replacePaths","firePostProcessBlockEvent","repeat","inputText","sendInChat","MA","fA","userAgent","test","Xt","boxSizing","outline","boxShadow","caretColor","shiftKey","target","role","stopPropagation","placeholder","onChange","onKeyDown","onFocus","onBlur","onCompositionStart","onCompositionEnd","rows","Wt","Kt","qt","transform","Jt","Vt","minWidth","Qe","fileType","fileUrl","src","alt","controls","me","FileReader","onload","result","onerror","readAsDataURL","Zt","files","_t","composedPath","offsetHeight","addEventListener","removeEventListener","setSelectionRange","$t","Ao","stroke","to","eo","oo","Ft","Blob","File","no","ro","values","so","go","headerButtons","chatInputButtons","footerButtons","WA","removeItem","kt","showChatHistory","Bo","tabIndex","vo","handleFirstInteraction","pe","passive","virtualKeyboard","overlaysContent","boundingRect","scrollTo","behavior","scrollY","position","Po","ho","Se","se","version","baseUrl","cacheDuration","ok","json","yo","inlineStyles","cssStylesText","getTime","floor","cacheDate","Do","re","Eo","RegExp","Qo","kA","uA","source","pop","WeakMap","mo","updateSettings","replaceSettings","Ie","updateStyles","replaceStyles","Te","po","plugins","zIndex","Me","ke","So","loadConfig","Io","flow","themes","setConfigLoaded","styleRootRef","LA","To","show_options","prompt_again","unknown_input","process_options","No","EmbeddedChatContainer","forwardRef","embeddedDefaultOpen","useChatWindow","embeddedIsOpen","setEmbeddedIsOpen","useState","useEffect","useImperativeHandle","toggle","close","isOpen","handleToggle","handleBarKeyDown","React","getThemeColors","containerRef","getCSSVariable","fallback","containerValue","getComputedStyle","getPropertyValue","parentElement","parentValue","QABot","props","useRef","embeddedContainerRef","apiKey","process","env","REACT_APP_API_KEY","welcome","prompt","isLoggedIn","undefined","isAnonymous","visible","onClose","log","hasError","loop","requestOptions","method","headers","query","params","response","resolve","handleQuery","containerClassName","chatBot","ChatBot","embeddedRef","dangerouslySetInnerHtml","href","ChatBotProvider","AccessQABot","HTMLElement","constructor","super","this","attachShadow","container","shadowRoot","injectStyles","qaRef","createRef","baseStyle","chatbotStyles","styleSheets","sheet","location","origin","rules","cssRules","selectorText","warn","observedAttributes","attributeChangedCallback","oldValue","newValue","_render","_getProps","getAttribute","hasAttribute","connectedCallback","syncStyles","styleObserver","MutationObserver","observe","attributeFilter","disconnectedCallback","disconnect","root","unmount","styleProps","prop","containerStyle","setProperty","ReactDOM","createRoot","render","StrictMode","_extends","customElements","define","WebComponentQABot","webComponentQAndATool","config","returnRef","qaBot","setAttribute","entries","removeChild","qAndATool","otherProps","accessQABot"],"mappings":"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","x_google_ignoreList":[0,1]}