@snf/access-qa-bot 3.7.4 → 3.7.5
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.
package/dist/access-qa-bot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsxs as ve, jsx as
|
|
1
|
+
import { jsxs as ve, jsx as S, Fragment as Fe } from "react/jsx-runtime";
|
|
2
2
|
import * as Ce from "react";
|
|
3
|
-
import T, { forwardRef as Ve, createContext as yt, useRef as ne, useEffect as Z, useImperativeHandle as dA, useState as te, useCallback as
|
|
3
|
+
import T, { forwardRef as Ve, createContext as yt, useRef as ne, useEffect as Z, useImperativeHandle as dA, useState as te, useCallback as G, useMemo as Ge, useContext as vt, isValidElement as Nr, createElement as no, Fragment as Lr } from "react";
|
|
4
4
|
import "react-dom/client";
|
|
5
5
|
import Ii from "react-dom/server";
|
|
6
6
|
import { createPortal as Ti } from "react-dom";
|
|
@@ -23,24 +23,24 @@ function pA(e, t) {
|
|
|
23
23
|
}
|
|
24
24
|
return r;
|
|
25
25
|
}
|
|
26
|
-
const Se = { AUDIO_BUTTON: "audio-button", NOTIFICATION_BUTTON: "notification-button", CLOSE_CHAT_BUTTON: "close-chat-button", SEND_MESSAGE_BUTTON: "send-button", VOICE_MESSAGE_BUTTON: "voice-button", FILE_ATTACHMENT_BUTTON: "file-attachment-button", EMOJI_PICKER_BUTTON: "emoji-button" }, ro = "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", oo = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 0 637 637", ref: t, ...e }, Ce.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" }), Ce.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" }))), Ao = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Mi = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), _i = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Oi = Ve((e, t) => Ce.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 100", ref: t, ...e }, Ce.createElement("g", { strokeLinecap: "round", strokeWidth: 10 }, Ce.createElement("path", { d: "m19 19 61 61M80 19 19 80" })))), Ni = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.createElement("path", { d: "M94-136v-255l351-93-351-92v-253l816 346L94-136Z" }))), Li = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Ri = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), io = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Hi = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Ui = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), fA = { general: { primaryColor: "#42b0c5", secondaryColor: "#491d8d", fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif", showHeader: !0, showFooter: !0, showInputRow: !0, actionDisabledIcon: "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", embedded: !1, flowStartTrigger: "ON_LOAD" }, tooltip: { mode: "CLOSE", text: "Talk to me! 😊" }, chatButton: { icon: oo }, header: { title: D("div", { style: { cursor: "pointer", margin: 0, fontSize: 20, fontWeight: "bold" }, onClick: () => window.open("https://github.com/tjtanjin/", "_blank", "noopener,noreferrer"), children: "Tan Jin" }), showAvatar: !0, avatar: ro, buttons: [Se.NOTIFICATION_BUTTON, Se.AUDIO_BUTTON, Se.CLOSE_CHAT_BUTTON], closeChatIcon: Oi }, notification: { disabled: !1, defaultToggledOn: !0, volume: 0.2, icon: Mi, iconDisabled: _i, sound: "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//", showCount: !0 }, audio: { disabled: !0, defaultToggledOn: !1, language: "en-US", voiceNames: ["Microsoft David - English (United States)", "Alex (English - United States)"], rate: 1, volume: 1, icon: Hi, iconDisabled: Ui }, chatHistory: { disabled: !1, maxEntries: 30, storageKey: "rcb-history", storageType: "LOCAL_STORAGE", viewChatHistoryButtonText: "Load Chat History ⟳", chatHistoryLineBreakText: "----- Previous Chat History -----", autoLoad: !1 }, chatInput: { disabled: !1, allowNewline: !1, enabledPlaceholderText: "Type your message...", disabledPlaceholderText: "", showCharacterCount: !1, characterLimit: -1, botDelay: 1e3, sendButtonIcon: Ni, blockSpam: !0, sendOptionOutput: !0, sendCheckboxOutput: !0, buttons: [Se.VOICE_MESSAGE_BUTTON, Se.SEND_MESSAGE_BUTTON] }, chatWindow: { showScrollbar: !1, showTypingIndicator: !0, autoJumpToBottom: !1, showMessagePrompt: !0, messagePromptText: "New Messages ↓", messagePromptOffset: 30, defaultOpen: !1 }, sensitiveInput: { maskInTextArea: !0, maskInUserBubble: !0, asterisksCount: 10, hideInUserBubble: !1 }, userBubble: { animate: !0, showAvatar: !1, avatar: "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", simulateStream: !1, streamSpeed: 30 }, botBubble: { animate: !0, showAvatar: !1, avatar: ro, simulateStream: !1, streamSpeed: 30 }, voice: { disabled: !0, defaultToggledOn: !1, language: "en-US", timeoutPeriod: 1e4, autoSendDisabled: !1, autoSendPeriod: 1e3, sendAsAudio: !1, icon: Li, iconDisabled: Ri }, footer: { text: ve("div", { style: { cursor: "pointer", display: "flex", flexDirection: "row", alignItems: "center", columnGap: 3 }, onClick: () => window.open("https://react-chatbotify.com", "_blank", "noopener,noreferrer"), children: [D("span", { children: "Powered By " }, 0), D("div", { style: { borderRadius: "50%", width: 14, height: 14, display: "flex", justifyContent: "center", alignItems: "center", background: "linear-gradient(to right, #42b0c5, #491d8d)" }, children: D(oo, { style: { width: "80%", height: "80%", fill: "#fff" } }) }, 1), D("span", { style: { fontWeight: "bold" }, children: " React ChatBotify" }, 2)] }), buttons: [Se.FILE_ATTACHMENT_BUTTON, Se.EMOJI_PICKER_BUTTON] }, fileAttachment: { disabled: !1, multiple: !0, accept: ".png", icon: Ao, iconDisabled: Ao, sendFileName: !0, showMediaDisplay: !1 }, emoji: { disabled: !1, icon: io, iconDisabled: io, list: ["😀", "😃", "😄", "😅", "😊", "😌", "😇", "🙃", "🤣", "😍", "🥰", "🥳", "🎉", "🎈", "🚀", "⭐️"] }, toast: { maxCount: 3, forbidOnMax: !1, dismissOnClick: !0 }, event: { rcbPreInjectMessage: !1, rcbPostInjectMessage: !1, rcbStartSimulateStreamMessage: !1, rcbStopSimulateStreamMessage: !1, rcbStartStreamMessage: !1, rcbChunkStreamMessage: !1, rcbStopStreamMessage: !1, rcbRemoveMessage: !1, rcbSaveChatHistory: !1, rcbLoadChatHistory: !1, rcbToggleChatWindow: !1, rcbStartSpeakAudio: !1, rcbToggleAudio: !1, rcbToggleNotifications: !1, rcbToggleVoice: !1, rcbChangePath: !1, rcbShowToast: !1, rcbDismissToast: !1, rcbUserSubmitText: !1, rcbUserUploadFile: !1, rcbTextAreaChangeValue: !1, rcbPreLoadChatBot: !1, rcbPostLoadChatBot: !1, rcbPreProcessBlock: !1, rcbPostProcessBlock: !1 }, ariaLabel: { chatButton: "open chat", audioButton: "toggle audio", closeChatButton: "close chat", emojiButton: "emoji picker", fileAttachmentButton: "upload file", notificationButton: "toggle notifications", sendButton: "send message", voiceButton: "toggle voice", inputTextArea: "input text area" }, device: { desktopEnabled: !0, mobileEnabled: !0, applyMobileOptimizations: !0 } }, gA = yt({ settings: {}, setSyncedSettings: () => null, syncedSettingsRef: { current: {} } }), ie = () => vt(gA), Fi = ({ children: e, settings: t = fA, setSyncedSettings: r, syncedSettingsRef: n }) => D(gA.Provider, { value: { settings: t, setSyncedSettings: r, syncedSettingsRef: n }, children: e }), hA = { 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: {}, chatButtonHoveredStyle: {}, 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: {} }, mA = yt({ styles: {}, setSyncedStyles: () => null, syncedStylesRef: { current: {} } }), he = () => vt(mA), ji = ({ children: e, styles: t = hA, setSyncedStyles: r, syncedStylesRef: n }) => D(mA.Provider, { value: { styles: t, setSyncedStyles: r, syncedStylesRef: n }, children: e }), zi = ({ buttons: e }) => {
|
|
26
|
+
const De = { AUDIO_BUTTON: "audio-button", NOTIFICATION_BUTTON: "notification-button", CLOSE_CHAT_BUTTON: "close-chat-button", SEND_MESSAGE_BUTTON: "send-button", VOICE_MESSAGE_BUTTON: "voice-button", FILE_ATTACHMENT_BUTTON: "file-attachment-button", EMOJI_PICKER_BUTTON: "emoji-button" }, ro = "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", oo = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 0 637 637", ref: t, ...e }, Ce.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" }), Ce.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" }))), Ao = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Mi = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), _i = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Oi = Ve((e, t) => Ce.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 100", ref: t, ...e }, Ce.createElement("g", { strokeLinecap: "round", strokeWidth: 10 }, Ce.createElement("path", { d: "m19 19 61 61M80 19 19 80" })))), Ni = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.createElement("path", { d: "M94-136v-255l351-93-351-92v-253l816 346L94-136Z" }))), Li = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Ri = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), io = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Hi = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), Ui = Ve((e, t) => Ce.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, Ce.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" }))), fA = { general: { primaryColor: "#42b0c5", secondaryColor: "#491d8d", fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif", showHeader: !0, showFooter: !0, showInputRow: !0, actionDisabledIcon: "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", embedded: !1, flowStartTrigger: "ON_LOAD" }, tooltip: { mode: "CLOSE", text: "Talk to me! 😊" }, chatButton: { icon: oo }, header: { title: S("div", { style: { cursor: "pointer", margin: 0, fontSize: 20, fontWeight: "bold" }, onClick: () => window.open("https://github.com/tjtanjin/", "_blank", "noopener,noreferrer"), children: "Tan Jin" }), showAvatar: !0, avatar: ro, buttons: [De.NOTIFICATION_BUTTON, De.AUDIO_BUTTON, De.CLOSE_CHAT_BUTTON], closeChatIcon: Oi }, notification: { disabled: !1, defaultToggledOn: !0, volume: 0.2, icon: Mi, iconDisabled: _i, sound: "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//", showCount: !0 }, audio: { disabled: !0, defaultToggledOn: !1, language: "en-US", voiceNames: ["Microsoft David - English (United States)", "Alex (English - United States)"], rate: 1, volume: 1, icon: Hi, iconDisabled: Ui }, chatHistory: { disabled: !1, maxEntries: 30, storageKey: "rcb-history", storageType: "LOCAL_STORAGE", viewChatHistoryButtonText: "Load Chat History ⟳", chatHistoryLineBreakText: "----- Previous Chat History -----", autoLoad: !1 }, chatInput: { disabled: !1, allowNewline: !1, enabledPlaceholderText: "Type your message...", disabledPlaceholderText: "", showCharacterCount: !1, characterLimit: -1, botDelay: 1e3, sendButtonIcon: Ni, blockSpam: !0, sendOptionOutput: !0, sendCheckboxOutput: !0, buttons: [De.VOICE_MESSAGE_BUTTON, De.SEND_MESSAGE_BUTTON] }, chatWindow: { showScrollbar: !1, showTypingIndicator: !0, autoJumpToBottom: !1, showMessagePrompt: !0, messagePromptText: "New Messages ↓", messagePromptOffset: 30, defaultOpen: !1 }, sensitiveInput: { maskInTextArea: !0, maskInUserBubble: !0, asterisksCount: 10, hideInUserBubble: !1 }, userBubble: { animate: !0, showAvatar: !1, avatar: "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", simulateStream: !1, streamSpeed: 30 }, botBubble: { animate: !0, showAvatar: !1, avatar: ro, simulateStream: !1, streamSpeed: 30 }, voice: { disabled: !0, defaultToggledOn: !1, language: "en-US", timeoutPeriod: 1e4, autoSendDisabled: !1, autoSendPeriod: 1e3, sendAsAudio: !1, icon: Li, iconDisabled: Ri }, footer: { text: ve("div", { style: { cursor: "pointer", display: "flex", flexDirection: "row", alignItems: "center", columnGap: 3 }, onClick: () => window.open("https://react-chatbotify.com", "_blank", "noopener,noreferrer"), children: [S("span", { children: "Powered By " }, 0), S("div", { style: { borderRadius: "50%", width: 14, height: 14, display: "flex", justifyContent: "center", alignItems: "center", background: "linear-gradient(to right, #42b0c5, #491d8d)" }, children: S(oo, { style: { width: "80%", height: "80%", fill: "#fff" } }) }, 1), S("span", { style: { fontWeight: "bold" }, children: " React ChatBotify" }, 2)] }), buttons: [De.FILE_ATTACHMENT_BUTTON, De.EMOJI_PICKER_BUTTON] }, fileAttachment: { disabled: !1, multiple: !0, accept: ".png", icon: Ao, iconDisabled: Ao, sendFileName: !0, showMediaDisplay: !1 }, emoji: { disabled: !1, icon: io, iconDisabled: io, list: ["😀", "😃", "😄", "😅", "😊", "😌", "😇", "🙃", "🤣", "😍", "🥰", "🥳", "🎉", "🎈", "🚀", "⭐️"] }, toast: { maxCount: 3, forbidOnMax: !1, dismissOnClick: !0 }, event: { rcbPreInjectMessage: !1, rcbPostInjectMessage: !1, rcbStartSimulateStreamMessage: !1, rcbStopSimulateStreamMessage: !1, rcbStartStreamMessage: !1, rcbChunkStreamMessage: !1, rcbStopStreamMessage: !1, rcbRemoveMessage: !1, rcbSaveChatHistory: !1, rcbLoadChatHistory: !1, rcbToggleChatWindow: !1, rcbStartSpeakAudio: !1, rcbToggleAudio: !1, rcbToggleNotifications: !1, rcbToggleVoice: !1, rcbChangePath: !1, rcbShowToast: !1, rcbDismissToast: !1, rcbUserSubmitText: !1, rcbUserUploadFile: !1, rcbTextAreaChangeValue: !1, rcbPreLoadChatBot: !1, rcbPostLoadChatBot: !1, rcbPreProcessBlock: !1, rcbPostProcessBlock: !1 }, ariaLabel: { chatButton: "open chat", audioButton: "toggle audio", closeChatButton: "close chat", emojiButton: "emoji picker", fileAttachmentButton: "upload file", notificationButton: "toggle notifications", sendButton: "send message", voiceButton: "toggle voice", inputTextArea: "input text area" }, device: { desktopEnabled: !0, mobileEnabled: !0, applyMobileOptimizations: !0 } }, gA = yt({ settings: {}, setSyncedSettings: () => null, syncedSettingsRef: { current: {} } }), ie = () => vt(gA), Fi = ({ children: e, settings: t = fA, setSyncedSettings: r, syncedSettingsRef: n }) => S(gA.Provider, { value: { settings: t, setSyncedSettings: r, syncedSettingsRef: n }, children: e }), hA = { 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: {}, chatButtonHoveredStyle: {}, 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: {} }, mA = yt({ styles: {}, setSyncedStyles: () => null, syncedStylesRef: { current: {} } }), he = () => vt(mA), ji = ({ children: e, styles: t = hA, setSyncedStyles: r, syncedStylesRef: n }) => S(mA.Provider, { value: { styles: t, setSyncedStyles: r, syncedStylesRef: n }, children: e }), zi = ({ buttons: e }) => {
|
|
27
27
|
var t, r, n, o, A, a, s;
|
|
28
28
|
const { settings: i } = ie(), { styles: l } = he(), c = { backgroundImage: `linear-gradient(to right, ${(t = i.general) == null ? void 0 : t.secondaryColor},
|
|
29
29
|
${(r = i.general) == null ? void 0 : r.primaryColor})`, ...l.headerStyle };
|
|
30
|
-
return ve("div", { style: c, className: "rcb-chat-header-container", children: [ve("div", { className: "rcb-chat-header", children: [((n = i.header) == null ? void 0 : n.showAvatar) &&
|
|
31
|
-
}, yA = yt({}), Ie = () => vt(yA),
|
|
30
|
+
return ve("div", { style: c, className: "rcb-chat-header-container", children: [ve("div", { className: "rcb-chat-header", children: [((n = i.header) == null ? void 0 : n.showAvatar) && S("div", { style: { backgroundImage: `url("${(o = i.header) == null ? void 0 : o.avatar}")` }, className: "rcb-bot-avatar" }), Nr((A = i.header) == null ? void 0 : A.title) ? (a = i.header) == null ? void 0 : a.title : S("div", { style: { margin: 0, fontSize: 20, fontWeight: "bold" }, children: (s = i.header) == null ? void 0 : s.title })] }), S("div", { className: "rcb-chat-header", children: e == null ? void 0 : e.map((d, u) => S(Lr, { children: d }, u)) })] });
|
|
31
|
+
}, yA = yt({}), Ie = () => vt(yA), Gi = ({ children: e, botIdRef: t, flowRef: r }) => {
|
|
32
32
|
const n = ne(null), o = ne(""), A = ne(null), a = ne(/* @__PURE__ */ new Map()), s = ne(null), i = ne(""), l = ne(!1), c = ne(null), d = ne(null), u = ne(null);
|
|
33
|
-
return
|
|
33
|
+
return S(yA.Provider, { value: { botIdRef: t, flowRef: r, inputRef: n, timeoutIdRef: A, streamMessageMap: a, chatBodyRef: s, paramsInputRef: i, keepVoiceOnRef: l, audioContextRef: c, audioBufferRef: d, gainNodeRef: u, prevInputRef: o }, children: e });
|
|
34
34
|
}, Ze = (e) => {
|
|
35
35
|
const [t, r] = te(e), n = ne(e);
|
|
36
36
|
return [t, (o) => {
|
|
37
37
|
const A = typeof o == "function" ? o(n.current) : o;
|
|
38
38
|
n.current = A, r(A);
|
|
39
39
|
}, n];
|
|
40
|
-
}, vA = yt({}), Qe = () => vt(vA),
|
|
40
|
+
}, vA = yt({}), Qe = () => vt(vA), qi = ({ children: e, settings: t }) => {
|
|
41
41
|
var r, n, o, A, a, s;
|
|
42
|
-
const [i, l, c] = Ze(!1), [d, u, p] = Ze(((r = t == null ? void 0 : t.chatWindow) == null ? void 0 : r.defaultOpen) ?? !1), [f, y, g] = Ze(((n = t == null ? void 0 : t.audio) == null ? void 0 : n.defaultToggledOn) ?? !1), [v, b, h] = Ze(((o = t == null ? void 0 : t.voice) == null ? void 0 : o.defaultToggledOn) ?? !1), [E, C, P] = Ze(((A = t == null ? void 0 : t.notification) == null ? void 0 : A.defaultToggledOn) ?? !0), [
|
|
43
|
-
return
|
|
42
|
+
const [i, l, c] = Ze(!1), [d, u, p] = Ze(((r = t == null ? void 0 : t.chatWindow) == null ? void 0 : r.defaultOpen) ?? !1), [f, y, g] = Ze(((n = t == null ? void 0 : t.audio) == null ? void 0 : n.defaultToggledOn) ?? !1), [v, b, h] = Ze(((o = t == null ? void 0 : t.voice) == null ? void 0 : o.defaultToggledOn) ?? !1), [E, C, P] = Ze(((A = t == null ? void 0 : t.notification) == null ? void 0 : A.defaultToggledOn) ?? !0), [D, x] = te(!1), [Q, k] = te(!1), [O, B, _] = Ze(!1), [H, N, U] = Ze(!0), [M, L, m] = Ze(!1), [K, w] = te(!1), [F, X] = te(!1), [V, re] = te(0), [ge, ae] = te(0), [qe, ke] = te(!1), [Me, tt] = te(((a = window.visualViewport) == null ? void 0 : a.height) ?? window.innerHeight), [j, q] = te(((s = window.visualViewport) == null ? void 0 : s.width) ?? window.innerWidth);
|
|
43
|
+
return S(vA.Provider, { value: { isBotTyping: i, setSyncedIsBotTyping: l, syncedIsBotTypingRef: c, isChatWindowOpen: d, setSyncedIsChatWindowOpen: u, syncedIsChatWindowOpenRef: p, audioToggledOn: f, setSyncedAudioToggledOn: y, syncedAudioToggledOnRef: g, voiceToggledOn: v, setSyncedVoiceToggledOn: b, syncedVoiceToggledOnRef: h, notificationsToggledOn: E, setSyncedNotificationsToggledOn: C, syncedNotificationsToggledOnRef: P, isLoadingChatHistory: D, setIsLoadingChatHistory: x, hasChatHistoryLoaded: Q, setHasChatHistoryLoaded: k, isScrolling: O, setSyncedIsScrolling: B, syncedIsScrollingRef: _, textAreaDisabled: H, setSyncedTextAreaDisabled: N, syncedTextAreaDisabledRef: U, textAreaSensitiveMode: M, setSyncedTextAreaSensitiveMode: L, syncedTextAreaSensitiveModeRef: m, hasInteractedPage: K, setHasInteractedPage: w, hasFlowStarted: F, setHasFlowStarted: X, unreadCount: V, setUnreadCount: re, inputLength: ge, setInputLength: ae, blockAllowsAttachment: qe, setBlockAllowsAttachment: ke, viewportHeight: Me, setViewportHeight: tt, viewportWidth: j, setViewportWidth: q }, children: e });
|
|
44
44
|
};
|
|
45
45
|
var z = ((e) => (e.START_SPEAK_AUDIO = "rcb-start-speak-audio", e.TOGGLE_AUDIO = "rcb-toggle-audio", e.TOGGLE_NOTIFICATIONS = "rcb-toggle-notifications", e.TOGGLE_VOICE = "rcb-toggle-voice", e.TOGGLE_CHAT_WINDOW = "rcb-toggle-chat-window", e.PRE_INJECT_MESSAGE = "rcb-pre-inject-message", e.POST_INJECT_MESSAGE = "rcb-post-inject-message", e.START_SIMULATE_STREAM_MESSAGE = "rcb-start-simulate-stream-message", e.STOP_SIMULATE_STREAM_MESSAGE = "rcb-stop-simulate-stream-message", e.START_STREAM_MESSAGE = "rcb-start-stream-message", e.CHUNK_STREAM_MESSAGE = "rcb-chunk-stream-message", e.STOP_STREAM_MESSAGE = "rcb-stop-stream-message", e.REMOVE_MESSAGE = "rcb-remove-message", e.SAVE_CHAT_HISTORY = "rcb-save-chat-history", e.LOAD_CHAT_HISTORY = "rcb-load-chat-history", e.CHANGE_PATH = "rcb-change-path", e.SHOW_TOAST = "rcb-show-toast", e.DISMISS_TOAST = "rcb-dismiss-toast", e.USER_SUBMIT_TEXT = "rcb-user-submit-text", e.USER_UPLOAD_FILE = "rcb-user-upload-file", e.TEXT_AREA_CHANGE_VALUE = "rcb-text-area-change-value", e.PRE_LOAD_CHATBOT = "rcb-pre-load-chatbot", e.POST_LOAD_CHATBOT = "rcb-post-load-chatbot", e.PRE_PROCESS_BLOCK = "rcb-pre-process-block", e.POST_PROCESS_BLOCK = "rcb-post-process-block", e))(z || {});
|
|
46
46
|
const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]: !0, [z.TOGGLE_NOTIFICATIONS]: !0, [z.TOGGLE_CHAT_WINDOW]: !0, [z.PRE_INJECT_MESSAGE]: !0, [z.POST_INJECT_MESSAGE]: !1, [z.PRE_LOAD_CHATBOT]: !0, [z.POST_LOAD_CHATBOT]: !1, [z.START_SIMULATE_STREAM_MESSAGE]: !0, [z.STOP_SIMULATE_STREAM_MESSAGE]: !1, [z.START_STREAM_MESSAGE]: !0, [z.CHUNK_STREAM_MESSAGE]: !0, [z.STOP_STREAM_MESSAGE]: !0, [z.REMOVE_MESSAGE]: !0, [z.SAVE_CHAT_HISTORY]: !0, [z.LOAD_CHAT_HISTORY]: !0, [z.CHANGE_PATH]: !0, [z.SHOW_TOAST]: !0, [z.DISMISS_TOAST]: !0, [z.USER_SUBMIT_TEXT]: !0, [z.USER_UPLOAD_FILE]: !0, [z.TEXT_AREA_CHANGE_VALUE]: !0, [z.PRE_PROCESS_BLOCK]: !0, [z.POST_PROCESS_BLOCK]: !0 }, yr = async (e, t, r) => {
|
|
@@ -49,34 +49,34 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
49
49
|
}, wA = yt({ paths: [], setSyncedPaths: () => {
|
|
50
50
|
}, syncedPathsRef: { current: [] } }), vn = () => vt(wA), Yi = ({ children: e }) => {
|
|
51
51
|
const [t, r, n] = Ze([]);
|
|
52
|
-
return
|
|
52
|
+
return S(wA.Provider, { value: { paths: t, setSyncedPaths: r, syncedPathsRef: n }, children: e });
|
|
53
53
|
}, it = () => {
|
|
54
|
-
const { botIdRef: e } = Ie(), { syncedPathsRef: t } = vn(), r =
|
|
55
|
-
return { dispatchRcbEvent:
|
|
54
|
+
const { botIdRef: e } = Ie(), { syncedPathsRef: t } = vn(), r = G(() => t.current.length > 0 ? t.current.at(-1) ?? null : null, []), n = G(() => t.current.length > 1 ? t.current.at(-2) ?? null : null, []);
|
|
55
|
+
return { dispatchRcbEvent: G(async (o, A) => {
|
|
56
56
|
const a = { botId: e.current, currPath: r(), prevPath: n() };
|
|
57
57
|
return await yr(o, a, A);
|
|
58
58
|
}, [e]) };
|
|
59
59
|
}, et = () => {
|
|
60
|
-
const { settings: e } = ie(), { isChatWindowOpen: t, setSyncedIsChatWindowOpen: r, viewportHeight: n, setViewportHeight: o, viewportWidth: A, setViewportWidth: a, setUnreadCount: s, setSyncedIsBotTyping: i, setSyncedIsScrolling: l, syncedIsBotTypingRef: c, syncedIsChatWindowOpenRef: d } = Qe(), { chatBodyRef: u } = Ie(), { dispatchRcbEvent: p } = it(), f =
|
|
60
|
+
const { settings: e } = ie(), { isChatWindowOpen: t, setSyncedIsChatWindowOpen: r, viewportHeight: n, setViewportHeight: o, viewportWidth: A, setViewportWidth: a, setUnreadCount: s, setSyncedIsBotTyping: i, setSyncedIsScrolling: l, syncedIsBotTypingRef: c, syncedIsChatWindowOpenRef: d } = Qe(), { chatBodyRef: u } = Ie(), { dispatchRcbEvent: p } = it(), f = G(() => {
|
|
61
61
|
if (!u.current) return !1;
|
|
62
62
|
const h = u.current.getBoundingClientRect(), E = window.innerHeight ?? document.documentElement.clientHeight, C = window.innerWidth ?? document.documentElement.clientWidth;
|
|
63
63
|
return h.top >= 0 && h.left >= 0 && h.bottom <= E && h.right <= C;
|
|
64
|
-
}, [u]), y =
|
|
64
|
+
}, [u]), y = G(async (h) => {
|
|
65
65
|
var E;
|
|
66
66
|
h !== d.current && ((E = e.event) != null && E.rcbToggleChatWindow && (await p(z.TOGGLE_CHAT_WINDOW, { currState: d.current, newState: !d.current })).defaultPrevented || r((C) => (C || s(0), !C)));
|
|
67
|
-
}, [d]), g =
|
|
67
|
+
}, [d]), g = G(async (h) => {
|
|
68
68
|
h !== c.current && i((E) => !E);
|
|
69
|
-
}, [c]), v =
|
|
69
|
+
}, [c]), v = G((h, E, C, P) => (h /= P / 2) < 1 ? C / 2 * h * h + E : -C / 2 * (--h * (h - 2) - 1) + E, []), b = G((h = 0) => {
|
|
70
70
|
if (!u.current) return;
|
|
71
71
|
const E = u.current.scrollHeight - u.current.clientHeight;
|
|
72
72
|
if (h <= 0) return u.current.scrollTop = E, void l(!1);
|
|
73
73
|
const C = u.current.scrollTop, P = E - C;
|
|
74
|
-
let
|
|
74
|
+
let D = 0;
|
|
75
75
|
const x = () => {
|
|
76
76
|
if (!u.current) return;
|
|
77
|
-
|
|
78
|
-
const Q = v(
|
|
79
|
-
u.current.scrollTop = Q,
|
|
77
|
+
D += 20;
|
|
78
|
+
const Q = v(D, C, P, h);
|
|
79
|
+
u.current.scrollTop = Q, D < h ? requestAnimationFrame(x) : l(!1);
|
|
80
80
|
};
|
|
81
81
|
x();
|
|
82
82
|
}, [u]);
|
|
@@ -84,7 +84,7 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
84
84
|
}, Vi = () => {
|
|
85
85
|
var e, t, r;
|
|
86
86
|
const { settings: n } = ie(), { styles: o } = he(), { unreadCount: A, isScrolling: a } = Qe(), { chatBodyRef: s } = Ie(), { scrollToBottom: i } = et(), [l, c] = te(!1), d = { color: (e = n.general) == null ? void 0 : e.primaryColor, borderColor: (t = n.general) == null ? void 0 : t.primaryColor, ...o.chatMessagePromptHoveredStyle };
|
|
87
|
-
return
|
|
87
|
+
return S("div", { className: "rcb-message-prompt-container " + (s.current && ((u = n.chatWindow) != null && u.showMessagePrompt) && a && A > 0 ? "visible" : "hidden"), children: S("div", { onMouseEnter: () => {
|
|
88
88
|
c(!0);
|
|
89
89
|
}, onMouseLeave: () => {
|
|
90
90
|
c(!1);
|
|
@@ -95,21 +95,21 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
95
95
|
}, bA = yt({ messages: [], setSyncedMessages: () => {
|
|
96
96
|
}, syncedMessagesRef: { current: [] } }), Rr = () => vt(bA), Ki = ({ children: e }) => {
|
|
97
97
|
const [t, r, n] = Ze([]);
|
|
98
|
-
return
|
|
98
|
+
return S(bA.Provider, { value: { messages: t, setSyncedMessages: r, syncedMessagesRef: n }, children: e });
|
|
99
99
|
}, Xi = ({ message: e, isNewSender: t }) => {
|
|
100
100
|
var r, n, o, A, a, s;
|
|
101
|
-
const { settings: i } = ie(), { styles: l } = he(), c = typeof e.content == "string", d = e.content, u = e.contentWrapper ?
|
|
102
|
-
return ve("div", { className: "rcb-user-message-container", children: [c ?
|
|
101
|
+
const { settings: i } = ie(), { styles: l } = he(), c = typeof e.content == "string", d = e.content, u = e.contentWrapper ? S(e.contentWrapper, { children: d }) : d, p = { backgroundColor: (r = i.general) == null ? void 0 : r.primaryColor, color: "#fff", maxWidth: (n = i.userBubble) != null && n.showAvatar ? "65%" : "70%", ...l.userBubbleStyle }, f = (o = i.userBubble) != null && o.animate ? "rcb-user-message-entry" : "", y = ((A = i.userBubble) == null ? void 0 : A.showAvatar) && t, g = "rcb-user-message" + (!t && (a = i.userBubble) != null && a.showAvatar ? " rcb-user-message-offset" : "");
|
|
102
|
+
return ve("div", { className: "rcb-user-message-container", children: [c ? S("div", { style: p, className: `${g} ${f}`, children: u }) : S(Fe, { children: u }), y && S("div", { style: { backgroundImage: `url("${(s = i.userBubble) == null ? void 0 : s.avatar}")` }, className: "rcb-message-user-avatar" })] });
|
|
103
103
|
}, Ji = ({ message: e, isNewSender: t }) => {
|
|
104
104
|
var r, n, o, A, a, s;
|
|
105
|
-
const { settings: i } = ie(), { styles: l } = he(), c = typeof e.content == "string", d = e.content, u = e.contentWrapper ?
|
|
106
|
-
return ve("div", { className: "rcb-bot-message-container", children: [y &&
|
|
105
|
+
const { settings: i } = ie(), { styles: l } = he(), c = typeof e.content == "string", d = e.content, u = e.contentWrapper ? S(e.contentWrapper, { children: d }) : d, p = { backgroundColor: (r = i.general) == null ? void 0 : r.secondaryColor, color: "#fff", maxWidth: (n = i.botBubble) != null && n.showAvatar ? "65%" : "70%", ...l.botBubbleStyle }, f = (o = i.botBubble) != null && o.animate ? "rcb-bot-message-entry" : "", y = ((A = i.botBubble) == null ? void 0 : A.showAvatar) && t, g = "rcb-bot-message" + (!t && (a = i.botBubble) != null && a.showAvatar ? " rcb-bot-message-offset" : "");
|
|
106
|
+
return ve("div", { className: "rcb-bot-message-container", children: [y && S("div", { style: { backgroundImage: `url("${(s = i.botBubble) == null ? void 0 : s.avatar}")` }, className: "rcb-message-bot-avatar" }), c ? S("div", { style: p, className: `${g} ${f}`, children: u }) : S(Fe, { children: u })] });
|
|
107
107
|
}, Zi = () => {
|
|
108
108
|
var e, t, r;
|
|
109
109
|
const { settings: n } = ie(), { styles: o } = he(), A = (e = n.botBubble) != null && e.animate ? "rcb-bot-message-entry" : "";
|
|
110
|
-
return ve("div", { className: "rcb-bot-message-container", children: [((t = n.botBubble) == null ? void 0 : t.showAvatar) &&
|
|
110
|
+
return ve("div", { className: "rcb-bot-message-container", children: [((t = n.botBubble) == null ? void 0 : t.showAvatar) && S("div", { style: { backgroundImage: `url("${(r = n.botBubble) == null ? void 0 : r.avatar}")` }, className: "rcb-message-bot-avatar" }), S("div", { onMouseDown: (a) => {
|
|
111
111
|
a.preventDefault();
|
|
112
|
-
}, className: `rcb-bot-message ${A}`, children: ve("div", { className: "rcb-typing-indicator", style: { ...o == null ? void 0 : o.rcbTypingIndicatorContainerStyle }, children: [
|
|
112
|
+
}, className: `rcb-bot-message ${A}`, children: ve("div", { className: "rcb-typing-indicator", style: { ...o == null ? void 0 : o.rcbTypingIndicatorContainerStyle }, children: [S("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } }), S("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } }), S("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } })] }) })] });
|
|
113
113
|
}, $i = () => {
|
|
114
114
|
var e, t, r;
|
|
115
115
|
const { settings: n } = ie(), { styles: o } = he(), { messages: A } = Rr(), { scrollToBottom: a } = et(), { isBotTyping: s, syncedIsScrollingRef: i } = Qe(), { chatBodyRef: l } = Ie(), c = { ...o == null ? void 0 : o.bodyStyle, scrollbarWidth: (e = n.chatWindow) != null && e.showScrollbar ? "auto" : "none" };
|
|
@@ -117,14 +117,14 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
117
117
|
i.current || a();
|
|
118
118
|
}, [(t = l.current) == null ? void 0 : t.scrollHeight]), ve("div", { style: c, className: "rcb-chat-body-container", ref: l, children: [A.map((d, u) => {
|
|
119
119
|
const p = ((f) => f === 0 || A[f].sender !== A[f - 1].sender)(u);
|
|
120
|
-
return d.sender.toUpperCase() === "USER" ?
|
|
121
|
-
}), s && ((r = n.chatWindow) == null ? void 0 : r.showTypingIndicator) &&
|
|
120
|
+
return d.sender.toUpperCase() === "USER" ? S(Xi, { message: d, isNewSender: p }, u) : d.sender.toUpperCase() === "BOT" ? S(Ji, { message: d, isNewSender: p }, u) : S("div", { children: d.content }, u);
|
|
121
|
+
}), s && ((r = n.chatWindow) == null ? void 0 : r.showTypingIndicator) && S(Zi, {}), S(Vi, {})] });
|
|
122
122
|
}, es = ({ checkboxes: e, checkedItems: t, path: r }) => {
|
|
123
123
|
var n, o, A, a, s, i, l, c, d, u, p;
|
|
124
|
-
const { settings: f } = ie(), { styles: y } = he(), { paths: g } = vn(), { handleSubmitText: v } = tn(), [b, h] = te(/* @__PURE__ */ new Set()), [E, C] = te(!1), P = { cursor: E ? `url("${(n = f.general) == null ? void 0 : n.actionDisabledIcon}"), auto` : "pointer", color: (o = f.general) == null ? void 0 : o.primaryColor, borderColor: (A = f.general) == null ? void 0 : A.primaryColor, ...y.botCheckboxRowStyle },
|
|
124
|
+
const { settings: f } = ie(), { styles: y } = he(), { paths: g } = vn(), { handleSubmitText: v } = tn(), [b, h] = te(/* @__PURE__ */ new Set()), [E, C] = te(!1), P = { cursor: E ? `url("${(n = f.general) == null ? void 0 : n.actionDisabledIcon}"), auto` : "pointer", color: (o = f.general) == null ? void 0 : o.primaryColor, borderColor: (A = f.general) == null ? void 0 : A.primaryColor, ...y.botCheckboxRowStyle }, D = { cursor: E || b.size < e.min ? `url("${(a = f.general) == null ? void 0 : a.actionDisabledIcon}"), auto` : "pointer", color: (s = f.general) == null ? void 0 : s.primaryColor, borderColor: (i = f.general) == null ? void 0 : i.primaryColor, ...y.botCheckboxNextStyle }, x = { cursor: E ? `url("${(l = f.general) == null ? void 0 : l.actionDisabledIcon}"), auto` : "pointer", color: "transparent", ...y.botCheckMarkStyle }, Q = { cursor: E ? `url("${(c = f.general) == null ? void 0 : c.actionDisabledIcon}"), auto` : "pointer", color: "#fff", borderColor: (d = f.general) == null ? void 0 : d.primaryColor, backgroundColor: (u = f.general) == null ? void 0 : u.primaryColor, ...y.botCheckMarkSelectedStyle };
|
|
125
125
|
return Z(() => {
|
|
126
126
|
g.length > 0 && g[g.length - 1] !== r && C(!e.reusable);
|
|
127
|
-
}, [g]), ve("div", { className: "rcb-checkbox-container " + ((p = f.botBubble) != null && p.showAvatar ? "rcb-checkbox-offset" : ""), children: [e.items.map((k) =>
|
|
127
|
+
}, [g]), ve("div", { className: "rcb-checkbox-container " + ((p = f.botBubble) != null && p.showAvatar ? "rcb-checkbox-offset" : ""), children: [e.items.map((k) => S("div", { onMouseDown: (O) => {
|
|
128
128
|
O.preventDefault(), ((B) => {
|
|
129
129
|
E || h((_) => {
|
|
130
130
|
const H = new Set(_);
|
|
@@ -136,7 +136,7 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
136
136
|
return H;
|
|
137
137
|
});
|
|
138
138
|
})(k);
|
|
139
|
-
}, style: P, className: "rcb-checkbox-row-container", children: ve("div", { className: "rcb-checkbox-row", children: [
|
|
139
|
+
}, style: P, className: "rcb-checkbox-row-container", children: ve("div", { className: "rcb-checkbox-row", children: [S("div", { style: b.has(k) ? Q : x, className: "rcb-checkbox-mark" }), S("div", { className: "rcb-checkbox-label", children: k })] }) }, k)), S("div", { style: D, className: "rcb-checkbox-next-button", onMouseDown: (k) => {
|
|
140
140
|
var O;
|
|
141
141
|
if (k.preventDefault(), E || b.size < e.min) return;
|
|
142
142
|
const B = Array.from(t).join(", ");
|
|
@@ -149,7 +149,7 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
149
149
|
let n;
|
|
150
150
|
if (typeof r == "function" ? (n = r(t), n instanceof Promise && (n = await n)) : n = r, Array.isArray(n) && (n = { items: n }), !("items" in n) || n.items.length == 0) return;
|
|
151
151
|
n.min == null && (n.min = 1), n.max == null && (n.max = n.items.length), n.min > n.max && (n.min = n.max), n.reusable == null && (n.reusable = !1);
|
|
152
|
-
const o = /* @__PURE__ */ new Set(), A = t.currPath, a =
|
|
152
|
+
const o = /* @__PURE__ */ new Set(), A = t.currPath, a = S(es, { checkboxes: n, checkedItems: o, path: A });
|
|
153
153
|
await t.injectMessage(a);
|
|
154
154
|
}, ns = async (e, t) => {
|
|
155
155
|
const r = e.function;
|
|
@@ -167,23 +167,23 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
167
167
|
const { settings: i } = ie(), { styles: l } = he(), { paths: c } = vn(), { handleSubmitText: d } = tn(), [u, p] = te([]), [f, y] = te(!1), g = { cursor: f ? `url("${(r = i.general) == null ? void 0 : r.actionDisabledIcon}"), auto` : "pointer", color: (n = i.general) == null ? void 0 : n.primaryColor, borderColor: (o = i.general) == null ? void 0 : o.primaryColor, backgroundColor: "#fff", ...l.botOptionStyle }, v = { color: "#fff", borderColor: (A = i.general) == null ? void 0 : A.primaryColor, backgroundColor: (a = i.general) == null ? void 0 : a.primaryColor, ...l.botOptionHoveredStyle };
|
|
168
168
|
return Z(() => {
|
|
169
169
|
c.length > 0 && c[c.length - 1] !== t && y(!e.reusable);
|
|
170
|
-
}, [c]),
|
|
170
|
+
}, [c]), S("div", { className: "rcb-options-container " + ((s = i.botBubble) != null && s.showAvatar ? "rcb-options-offset" : ""), children: e.items.map((b, h) => {
|
|
171
171
|
const E = u[h] && !f;
|
|
172
|
-
return
|
|
172
|
+
return S("div", { className: "rcb-options", style: E ? v : g, onMouseEnter: () => ((C) => {
|
|
173
173
|
p((P) => {
|
|
174
|
-
const
|
|
175
|
-
return
|
|
174
|
+
const D = [...P];
|
|
175
|
+
return D[C] = !0, D;
|
|
176
176
|
});
|
|
177
177
|
})(h), onMouseLeave: () => ((C) => {
|
|
178
178
|
p((P) => {
|
|
179
|
-
const
|
|
180
|
-
return
|
|
179
|
+
const D = [...P];
|
|
180
|
+
return D[C] = !1, D;
|
|
181
181
|
});
|
|
182
182
|
})(h), onMouseDown: (C) => {
|
|
183
183
|
var P;
|
|
184
184
|
if (C.preventDefault(), f) return;
|
|
185
|
-
let
|
|
186
|
-
y(!e.reusable),
|
|
185
|
+
let D;
|
|
186
|
+
y(!e.reusable), D = e.sendOutput != null ? e.sendOutput : ((P = i.chatInput) == null ? void 0 : P.sendOptionOutput) ?? !0, d(b, D);
|
|
187
187
|
}, children: b }, b);
|
|
188
188
|
}) });
|
|
189
189
|
}, As = async (e, t) => {
|
|
@@ -192,7 +192,7 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
192
192
|
let n;
|
|
193
193
|
if (typeof r == "function" ? (n = r(t), n instanceof Promise && (n = await n)) : n = r, Array.isArray(n) && (n = { items: n }), !("items" in n) || n.items.length == 0) return;
|
|
194
194
|
n.reusable == null && (n.reusable = !1);
|
|
195
|
-
const o = t.currPath, A =
|
|
195
|
+
const o = t.currPath, A = S(os, { options: n, path: o });
|
|
196
196
|
await t.injectMessage(A);
|
|
197
197
|
}, is = async (e, t) => {
|
|
198
198
|
const r = e.component;
|
|
@@ -239,11 +239,11 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
239
239
|
}, ls = () => {
|
|
240
240
|
var e;
|
|
241
241
|
const { settings: t } = ie(), { styles: r } = he();
|
|
242
|
-
return
|
|
242
|
+
return S("div", { className: "rcb-line-break-container", children: S("div", { style: { ...r.chatHistoryLineBreakStyle }, className: "rcb-line-break-text", "data-testid": "chat-history-line-break-text", children: (e = t.chatHistory) == null ? void 0 : e.chatHistoryLineBreakText }) });
|
|
243
243
|
}, cs = () => {
|
|
244
244
|
var e;
|
|
245
245
|
const { settings: t } = ie(), { styles: r } = he(), n = { borderTop: `4px solid ${(e = t.general) == null ? void 0 : e.primaryColor}`, ...r.loadingSpinnerStyle };
|
|
246
|
-
return
|
|
246
|
+
return S("div", { className: "rcb-spinner-container", children: S("div", { style: n, className: "rcb-spinner" }) });
|
|
247
247
|
}, Ln = () => {
|
|
248
248
|
try {
|
|
249
249
|
if (typeof crypto < "u" && typeof crypto.randomUUID == "function") return crypto.randomUUID();
|
|
@@ -256,14 +256,14 @@ const Wi = { [z.START_SPEAK_AUDIO]: !0, [z.TOGGLE_AUDIO]: !0, [z.TOGGLE_VOICE]:
|
|
|
256
256
|
throw console.error(e), new Error("crypto.getRandomValues is also not available");
|
|
257
257
|
}
|
|
258
258
|
}, xt = (e, t) => ({ id: Ln(), content: e, sender: t, type: typeof e == "string" ? "string" : "object", timestamp: (/* @__PURE__ */ new Date()).toUTCString(), tags: [] });
|
|
259
|
-
let Tt, CA = !1, Rn = "rcb-history", Mn = 30,
|
|
259
|
+
let Tt, CA = !1, Rn = "rcb-history", Mn = 30, SA = !1, zn = [];
|
|
260
260
|
const gn = () => zn, vr = (e) => {
|
|
261
|
-
|
|
262
|
-
},
|
|
261
|
+
DA(e), zn = e;
|
|
262
|
+
}, DA = (e) => {
|
|
263
263
|
Tt && Tt.setItem(Rn, JSON.stringify(e));
|
|
264
264
|
}, wr = (e) => {
|
|
265
265
|
var t, r, n, o, A;
|
|
266
|
-
Tt = ((r = (t = e.chatHistory) == null ? void 0 : t.storageType) == null ? void 0 : r.toUpperCase()) === "SESSION_STORAGE" ? sessionStorage : localStorage, Rn = (n = e.chatHistory) == null ? void 0 : n.storageKey, Mn = (o = e.chatHistory) == null ? void 0 : o.maxEntries,
|
|
266
|
+
Tt = ((r = (t = e.chatHistory) == null ? void 0 : t.storageType) == null ? void 0 : r.toUpperCase()) === "SESSION_STORAGE" ? sessionStorage : localStorage, Rn = (n = e.chatHistory) == null ? void 0 : n.storageKey, Mn = (o = e.chatHistory) == null ? void 0 : o.maxEntries, SA = (A = e.chatHistory) == null ? void 0 : A.disabled, zn = ((a) => {
|
|
267
267
|
if (a != null) try {
|
|
268
268
|
return JSON.parse(a);
|
|
269
269
|
} catch {
|
|
@@ -313,7 +313,7 @@ const gn = () => zn, vr = (e) => {
|
|
|
313
313
|
var o, A;
|
|
314
314
|
return (e.contains("rcb-media-display-image-container") || e.contains("rcb-media-display-video-container")) && (t.style = { ...t.style, backgroundColor: (o = r.general) == null ? void 0 : o.primaryColor, maxWidth: (A = r.userBubble) != null && A.showAvatar ? "65%" : "70%", ...n.mediaDisplayContainerStyle }), t;
|
|
315
315
|
}, Hr = () => {
|
|
316
|
-
const { settings: e } = ie(), { notificationsToggledOn: t, setSyncedNotificationsToggledOn: r, hasInteractedPage: n, unreadCount: o, setUnreadCount: A, syncedNotificationsToggledOnRef: a } = Qe(), { audioBufferRef: s, audioContextRef: i, gainNodeRef: l } = Ie(), { dispatchRcbEvent: c } = it(), d =
|
|
316
|
+
const { settings: e } = ie(), { notificationsToggledOn: t, setSyncedNotificationsToggledOn: r, hasInteractedPage: n, unreadCount: o, setUnreadCount: A, syncedNotificationsToggledOnRef: a } = Qe(), { audioBufferRef: s, audioContextRef: i, gainNodeRef: l } = Ie(), { dispatchRcbEvent: c } = it(), d = G(async () => {
|
|
317
317
|
var p, f;
|
|
318
318
|
const y = (p = e.notification) == null ? void 0 : p.sound;
|
|
319
319
|
i.current = new AudioContext();
|
|
@@ -325,13 +325,13 @@ const gn = () => zn, vr = (e) => {
|
|
|
325
325
|
v = h;
|
|
326
326
|
} else v = await (await fetch(y)).arrayBuffer();
|
|
327
327
|
s.current = await i.current.decodeAudioData(v);
|
|
328
|
-
}, [e.notification]), u =
|
|
328
|
+
}, [e.notification]), u = G(() => {
|
|
329
329
|
var p;
|
|
330
330
|
if ((p = e.notification) != null && p.disabled || !a.current || !n || !i.current || !s.current) return;
|
|
331
331
|
const f = i.current.createBufferSource();
|
|
332
332
|
f.buffer = s.current, f.connect(l.current).connect(i.current.destination), f.start();
|
|
333
333
|
}, [e.notification, a, n, i, s, l]);
|
|
334
|
-
return { unreadCount: o, setUnreadCount: A, notificationsToggledOn: t, toggleNotifications:
|
|
334
|
+
return { unreadCount: o, setUnreadCount: A, notificationsToggledOn: t, toggleNotifications: G(async (p) => {
|
|
335
335
|
var f;
|
|
336
336
|
p !== a.current && ((f = e.event) != null && f.rcbToggleNotifications && (await c(z.TOGGLE_NOTIFICATIONS, { currState: a.current, newState: !a.current })).defaultPrevented || r((y) => !y));
|
|
337
337
|
}, [a]), playNotificationSound: u, setUpNotifications: d };
|
|
@@ -352,10 +352,10 @@ const gn = () => zn, vr = (e) => {
|
|
|
352
352
|
u || window.speechSynthesis.speak(d);
|
|
353
353
|
})(t, (r = e.audio) == null ? void 0 : r.language, (n = e.audio) == null ? void 0 : n.voiceNames, (o = e.audio) == null ? void 0 : o.rate, (A = e.audio) == null ? void 0 : A.volume);
|
|
354
354
|
}, kA = () => {
|
|
355
|
-
const { settings: e } = ie(), { audioToggledOn: t, setSyncedAudioToggledOn: r, syncedAudioToggledOnRef: n } = Qe(), { dispatchRcbEvent: o } = it(), A =
|
|
355
|
+
const { settings: e } = ie(), { audioToggledOn: t, setSyncedAudioToggledOn: r, syncedAudioToggledOnRef: n } = Qe(), { dispatchRcbEvent: o } = it(), A = G(async (s) => {
|
|
356
356
|
var i;
|
|
357
357
|
s !== n.current && ((i = e.event) != null && i.rcbToggleAudio && (await o(z.TOGGLE_AUDIO, { currState: n.current, newState: !n.current })).defaultPrevented || r((l) => !l));
|
|
358
|
-
}, [n]), a =
|
|
358
|
+
}, [n]), a = G(async (s) => {
|
|
359
359
|
var i, l;
|
|
360
360
|
if ((i = e.audio) != null && i.disabled || !n.current) return;
|
|
361
361
|
let c = s;
|
|
@@ -369,7 +369,7 @@ const gn = () => zn, vr = (e) => {
|
|
|
369
369
|
return { audioToggledOn: t, speakAudio: a, toggleAudio: A };
|
|
370
370
|
}, Lt = () => {
|
|
371
371
|
var e, t, r;
|
|
372
|
-
const { settings: n } = ie(), { messages: o, setSyncedMessages: A, syncedMessagesRef: a } = Rr(), { setSyncedIsBotTyping: s, setUnreadCount: i, syncedIsScrollingRef: l, syncedIsChatWindowOpenRef: c } = Qe(), { streamMessageMap: d, chatBodyRef: u, paramsInputRef: p } = Ie(), { scrollToBottom: f, getIsChatBotVisible: y } = et(), { dispatchRcbEvent: g } = it(), { speakAudio: v } = kA(), { playNotificationSound: b } = Hr(), h =
|
|
372
|
+
const { settings: n } = ie(), { messages: o, setSyncedMessages: A, syncedMessagesRef: a } = Rr(), { setSyncedIsBotTyping: s, setUnreadCount: i, syncedIsScrollingRef: l, syncedIsChatWindowOpenRef: c } = Qe(), { streamMessageMap: d, chatBodyRef: u, paramsInputRef: p } = Ie(), { scrollToBottom: f, getIsChatBotVisible: y } = et(), { dispatchRcbEvent: g } = it(), { speakAudio: v } = kA(), { playNotificationSound: b } = Hr(), h = G(async (B) => {
|
|
373
373
|
var _, H;
|
|
374
374
|
if ((_ = n.event) != null && _.rcbSaveChatHistory) {
|
|
375
375
|
const N = await g(z.SAVE_CHAT_HISTORY, { messages: B });
|
|
@@ -377,7 +377,7 @@ const gn = () => zn, vr = (e) => {
|
|
|
377
377
|
B = ((H = N.data) == null ? void 0 : H.messages) ?? B;
|
|
378
378
|
}
|
|
379
379
|
await (async (N) => {
|
|
380
|
-
if (
|
|
380
|
+
if (SA || !Tt) return;
|
|
381
381
|
const U = [];
|
|
382
382
|
for (let L = N.length - 1; L >= 0; L--) {
|
|
383
383
|
const m = N[L];
|
|
@@ -388,9 +388,9 @@ const gn = () => zn, vr = (e) => {
|
|
|
388
388
|
const L = Mn - M.length;
|
|
389
389
|
M = [...zn.slice(-L), ...M];
|
|
390
390
|
}
|
|
391
|
-
|
|
391
|
+
DA(M);
|
|
392
392
|
})(B);
|
|
393
|
-
}, [g, (e = n.event) == null ? void 0 : e.rcbSaveChatHistory]), E =
|
|
393
|
+
}, [g, (e = n.event) == null ? void 0 : e.rcbSaveChatHistory]), E = G((B, _ = !1) => {
|
|
394
394
|
var H, N;
|
|
395
395
|
h(B);
|
|
396
396
|
let U = !0;
|
|
@@ -398,7 +398,7 @@ const gn = () => zn, vr = (e) => {
|
|
|
398
398
|
if (!M) return;
|
|
399
399
|
const L = M.sender.toUpperCase();
|
|
400
400
|
L === "USER" && (U = !1), (H = n.general) != null && H.embedded && y() && (U = !1), (c.current && !l.current || _) && (U = !1), U && b(), !_ && (L !== "USER" && (N = n.chatWindow) != null && N.autoJumpToBottom || L === "USER" || !l.current) && setTimeout(() => f(), 1);
|
|
401
|
-
}, [n, u, c, l, b, f, y]), C =
|
|
401
|
+
}, [n, u, c, l, b, f, y]), C = G(async (B, _ = "BOT", H = null) => {
|
|
402
402
|
var N, U, M, L, m;
|
|
403
403
|
if (typeof B != "string") throw new Error("Content must be of type string to simulate stream.");
|
|
404
404
|
_ = _.toUpperCase();
|
|
@@ -419,8 +419,8 @@ const gn = () => zn, vr = (e) => {
|
|
|
419
419
|
const re = X.length;
|
|
420
420
|
K.sender.toUpperCase() === "BOT" && (c.current || (L = n.general) != null && L.embedded) && typeof K.content == "string" && K.content.trim() !== "" && v(K.content);
|
|
421
421
|
const ge = new Promise((ae) => {
|
|
422
|
-
const
|
|
423
|
-
if (V >= re) return clearInterval(
|
|
422
|
+
const qe = setInterval(() => {
|
|
423
|
+
if (V >= re) return clearInterval(qe), void ae();
|
|
424
424
|
A((ke) => {
|
|
425
425
|
const Me = [...ke];
|
|
426
426
|
for (let tt = Me.length - 1; tt >= 0; tt--) if (Me[tt].id === F.id) {
|
|
@@ -433,7 +433,7 @@ const gn = () => zn, vr = (e) => {
|
|
|
433
433
|
}, w);
|
|
434
434
|
});
|
|
435
435
|
return (l.current || !c.current) && i((ae) => ae + 1), await ge, h(a.current), (m = n.event) != null && m.rcbStopSimulateStreamMessage && await g(z.STOP_SIMULATE_STREAM_MESSAGE, { message: K }), _ === "USER" && (p.current = B), K;
|
|
436
|
-
}, [n, g, E, a, p, s, i, c, v]), P =
|
|
436
|
+
}, [n, g, E, a, p, s, i, c, v]), P = G(async (B, _ = "BOT") => {
|
|
437
437
|
var H, N, U;
|
|
438
438
|
_ = _.toUpperCase();
|
|
439
439
|
let M = xt(B, _);
|
|
@@ -443,11 +443,11 @@ const gn = () => zn, vr = (e) => {
|
|
|
443
443
|
M = L.data.message;
|
|
444
444
|
}
|
|
445
445
|
return M.sender.toUpperCase() === "BOT" && (c.current || (N = n.general) != null && N.embedded) && typeof M.content == "string" && M.content.trim() !== "" && v(M.content), (l.current || !c.current) && i((L) => L + 1), (U = n.event) != null && U.rcbPostInjectMessage && await g(z.POST_INJECT_MESSAGE, { message: M }), A((L) => [...L, M]), E(a.current), _ === "USER" && typeof B == "string" && (p.current = B), M;
|
|
446
|
-
}, [n, g, E, p, a, c, v, i]),
|
|
446
|
+
}, [n, g, E, p, a, c, v, i]), D = G(async (B) => {
|
|
447
447
|
var _;
|
|
448
448
|
let H = a.current.find((M) => M.id === B), N = null, U = !1;
|
|
449
449
|
return H || (N = gn(), H = N.find((M) => M.id === B), H && (U = !0)), !H || (_ = n.event) != null && _.rcbRemoveMessage && (await g(z.REMOVE_MESSAGE, { message: H })).defaultPrevented ? null : U ? (N && vr(N.filter((M) => M.id !== B)), H) : (A((M) => M.filter((L) => L.id !== B)), E(a.current), i((M) => Math.max(M - 1, 0)), H);
|
|
450
|
-
}, [g, (t = n.event) == null ? void 0 : t.rcbRemoveMessage, E, a, i, gn, vr]), x =
|
|
450
|
+
}, [g, (t = n.event) == null ? void 0 : t.rcbRemoveMessage, E, a, i, gn, vr]), x = G(async (B, _ = "BOT") => {
|
|
451
451
|
var H, N;
|
|
452
452
|
if (_ = _.toUpperCase(), !d.current.has(_)) {
|
|
453
453
|
const M = xt(B, _);
|
|
@@ -455,7 +455,7 @@ const gn = () => zn, vr = (e) => {
|
|
|
455
455
|
}
|
|
456
456
|
const U = { ...xt(B, _), id: d.current.get(_) };
|
|
457
457
|
return (N = n.event) != null && N.rcbChunkStreamMessage && (await g(z.CHUNK_STREAM_MESSAGE, { message: U })).defaultPrevented ? null : (A((M) => M.map((L) => L.id === U.id ? U : L)), E(a.current, !0), U);
|
|
458
|
-
}, [g, n.event, E, a, s, i, d]), Q =
|
|
458
|
+
}, [g, n.event, E, a, s, i, d]), Q = G(async (B = "BOT") => {
|
|
459
459
|
var _;
|
|
460
460
|
if (B = B.toUpperCase(), !d.current.has(B)) return !0;
|
|
461
461
|
const H = d.current.get(B);
|
|
@@ -465,10 +465,10 @@ const gn = () => zn, vr = (e) => {
|
|
|
465
465
|
M && (N = M), await new Promise((L) => setTimeout(L, 20));
|
|
466
466
|
}
|
|
467
467
|
return ((_ = n.event) == null || !_.rcbStopStreamMessage || !(await g(z.STOP_STREAM_MESSAGE, { message: N })).defaultPrevented) && (d.current.delete(B), h(a.current), B === "USER" && typeof (N == null ? void 0 : N.content) == "string" && (p.current = N.content), !0);
|
|
468
|
-
}, [g, (r = n.event) == null ? void 0 : r.rcbStopStreamMessage, d, p]), k =
|
|
468
|
+
}, [g, (r = n.event) == null ? void 0 : r.rcbStopStreamMessage, d, p]), k = G((B) => {
|
|
469
469
|
const _ = typeof B == "function" ? B(a.current) : B;
|
|
470
470
|
A(_), E(_);
|
|
471
|
-
}, [E, a]), O =
|
|
471
|
+
}, [E, a]), O = G((B, _, H = 0) => {
|
|
472
472
|
var N;
|
|
473
473
|
const U = a.current, M = B ? B.toUpperCase() : null, L = [];
|
|
474
474
|
let m = H;
|
|
@@ -484,7 +484,7 @@ const gn = () => zn, vr = (e) => {
|
|
|
484
484
|
}
|
|
485
485
|
return L.length > 0 ? L : null;
|
|
486
486
|
}, [a]);
|
|
487
|
-
return { simulateStreamMessage: C, injectMessage: P, removeMessage:
|
|
487
|
+
return { simulateStreamMessage: C, injectMessage: P, removeMessage: D, streamMessage: x, endStreamMessage: Q, replaceMessages: k, getMessages: O, messages: o };
|
|
488
488
|
};
|
|
489
489
|
let Zn, ut, _n, It = !1, ht = null;
|
|
490
490
|
const Ur = () => {
|
|
@@ -535,10 +535,10 @@ const Ur = () => {
|
|
|
535
535
|
var r;
|
|
536
536
|
(r = t.current) != null && r.disabled || await e(), Fr();
|
|
537
537
|
}, jr = () => {
|
|
538
|
-
const { settings: e } = ie(), { voiceToggledOn: t, setSyncedVoiceToggledOn: r, syncedVoiceToggledOnRef: n } = Qe(), { dispatchRcbEvent: o } = it(), A =
|
|
538
|
+
const { settings: e } = ie(), { voiceToggledOn: t, setSyncedVoiceToggledOn: r, syncedVoiceToggledOnRef: n } = Qe(), { dispatchRcbEvent: o } = it(), A = G(async (s) => {
|
|
539
539
|
var i;
|
|
540
540
|
s !== n.current && ((i = e.event) != null && i.rcbToggleVoice && (await o(z.TOGGLE_VOICE, { currState: n.current, newState: !n.current })).defaultPrevented || r((l) => !l));
|
|
541
|
-
}, [n]), a =
|
|
541
|
+
}, [n]), a = G((s) => {
|
|
542
542
|
((i, l) => {
|
|
543
543
|
var c, d, u;
|
|
544
544
|
const p = Ur();
|
|
@@ -548,36 +548,36 @@ const Ur = () => {
|
|
|
548
548
|
return { voiceToggledOn: t, toggleVoice: A, syncVoice: a };
|
|
549
549
|
}, Rt = () => {
|
|
550
550
|
var e;
|
|
551
|
-
const { settings: t } = ie(), { inputLength: r, setInputLength: n, textAreaDisabled: o, setSyncedTextAreaDisabled: A, textAreaSensitiveMode: a, setSyncedTextAreaSensitiveMode: s, syncedTextAreaDisabledRef: i, syncedTextAreaSensitiveModeRef: l } = Qe(), { inputRef: c, chatBodyRef: d, prevInputRef: u } = Ie(), { dispatchRcbEvent: p } = it(), { getIsChatBotVisible: f } = et(), y =
|
|
552
|
-
var
|
|
551
|
+
const { settings: t } = ie(), { inputLength: r, setInputLength: n, textAreaDisabled: o, setSyncedTextAreaDisabled: A, textAreaSensitiveMode: a, setSyncedTextAreaSensitiveMode: s, syncedTextAreaDisabledRef: i, syncedTextAreaSensitiveModeRef: l } = Qe(), { inputRef: c, chatBodyRef: d, prevInputRef: u } = Ie(), { dispatchRcbEvent: p } = it(), { getIsChatBotVisible: f } = et(), y = G(async (P) => {
|
|
552
|
+
var D, x, Q;
|
|
553
553
|
if (i.current && c.current) c.current.value = "";
|
|
554
554
|
else if (c.current && u.current !== null) {
|
|
555
|
-
const k = (
|
|
555
|
+
const k = (D = t.chatInput) == null ? void 0 : D.characterLimit, O = (x = t.chatInput) != null && x.allowNewline ? P : P.replace(/\n/g, " ");
|
|
556
556
|
if (k != null && k >= 0 && O.length > k ? c.current.value = O.slice(0, k) : c.current.value = O, (Q = t.event) != null && Q.rcbTextAreaChangeValue && (await p(z.TEXT_AREA_CHANGE_VALUE, { currValue: c.current.value, prevValue: u.current })).defaultPrevented) return void (c.current.value = u.current);
|
|
557
557
|
u.current = c.current.value;
|
|
558
558
|
}
|
|
559
|
-
}, [i, c, u, t, p]), g =
|
|
560
|
-
var
|
|
561
|
-
(
|
|
559
|
+
}, [i, c, u, t, p]), g = G((P) => {
|
|
560
|
+
var D;
|
|
561
|
+
(D = c.current) != null && D.disabled || setTimeout(() => {
|
|
562
562
|
var x, Q, k;
|
|
563
563
|
(x = t.general) != null && x.embedded ? f() && ((Q = c.current) == null || Q.focus()) : P !== "start" && ((k = c.current) == null || k.focus());
|
|
564
564
|
}, 100);
|
|
565
|
-
}, [c, (e = t.general) == null ? void 0 : e.embedded, d, f]), v =
|
|
565
|
+
}, [c, (e = t.general) == null ? void 0 : e.embedded, d, f]), v = G(() => {
|
|
566
566
|
c.current && c.current.focus();
|
|
567
|
-
}, []), b =
|
|
567
|
+
}, []), b = G(() => {
|
|
568
568
|
c.current && c.current.blur();
|
|
569
|
-
}, []), h =
|
|
570
|
-
P !== i.current && A((
|
|
571
|
-
}, [i]), C =
|
|
572
|
-
P !== l.current && s((
|
|
569
|
+
}, []), h = G(() => c && c.current ? c.current.value : "", []), E = G((P) => {
|
|
570
|
+
P !== i.current && A((D) => !D);
|
|
571
|
+
}, [i]), C = G((P) => {
|
|
572
|
+
P !== l.current && s((D) => !D);
|
|
573
573
|
}, [l]);
|
|
574
574
|
return { textAreaDisabled: o, setSyncedTextAreaDisabled: A, textAreaSensitiveMode: a, setSyncedTextAreaSensitiveMode: s, inputLength: r, setInputLength: n, getTextAreaValue: h, setTextAreaValue: y, updateTextAreaFocus: g, focusTextArea: v, blurTextArea: b, toggleTextAreaDisabled: E, toggleTextAreaSensitiveMode: C };
|
|
575
575
|
}, xA = yt({ toasts: [], setSyncedToasts: () => {
|
|
576
576
|
}, syncedToastsRef: { current: [] } }), IA = () => vt(xA), ws = ({ children: e }) => {
|
|
577
577
|
const [t, r, n] = Ze([]);
|
|
578
|
-
return
|
|
578
|
+
return S(xA.Provider, { value: { toasts: t, setSyncedToasts: r, syncedToastsRef: n }, children: e });
|
|
579
579
|
}, en = () => {
|
|
580
|
-
const { settings: e } = ie(), { toasts: t, setSyncedToasts: r, syncedToastsRef: n } = IA(), { dispatchRcbEvent: o } = it(), A =
|
|
580
|
+
const { settings: e } = ie(), { toasts: t, setSyncedToasts: r, syncedToastsRef: n } = IA(), { dispatchRcbEvent: o } = it(), A = G(async (i, l) => {
|
|
581
581
|
var c, d, u, p;
|
|
582
582
|
let f = null;
|
|
583
583
|
if (n.current.length >= (((c = e.toast) == null ? void 0 : c.maxCount) ?? 3)) {
|
|
@@ -599,18 +599,18 @@ const Ur = () => {
|
|
|
599
599
|
y = g.data.toast;
|
|
600
600
|
}
|
|
601
601
|
return r((g) => [...g, y]), f;
|
|
602
|
-
}, [e, o]), a =
|
|
602
|
+
}, [e, o]), a = G(async (i) => {
|
|
603
603
|
var l;
|
|
604
604
|
const c = n.current.find((d) => d.id === i);
|
|
605
605
|
return !c || (l = e.event) != null && l.rcbDismissToast && (await o(z.DISMISS_TOAST, { toast: c })).defaultPrevented ? null : (r((d) => d.filter((u) => u.id !== i)), i);
|
|
606
|
-
}, [o]), s =
|
|
606
|
+
}, [o]), s = G((i) => {
|
|
607
607
|
const l = typeof i == "function" ? i(n.current) : i;
|
|
608
608
|
r(l);
|
|
609
609
|
}, [n]);
|
|
610
610
|
return { showToast: A, dismissToast: a, toasts: t, replaceToasts: s };
|
|
611
|
-
},
|
|
611
|
+
}, Gn = () => {
|
|
612
612
|
var e, t, r, n, o;
|
|
613
|
-
const { settings: A } = ie(), { paths: a, setSyncedPaths: s, syncedPathsRef: i } = vn(), { flowRef: l, streamMessageMap: c, paramsInputRef: d, keepVoiceOnRef: u, timeoutIdRef: p } = Ie(), { setSyncedIsBotTyping: f, setSyncedTextAreaDisabled: y, setSyncedTextAreaSensitiveMode: g, blockAllowsAttachment: v, setBlockAllowsAttachment: b } = Qe(), { dispatchRcbEvent: h } = it(), { endStreamMessage: E, injectMessage: C, removeMessage: P, simulateStreamMessage:
|
|
613
|
+
const { settings: A } = ie(), { paths: a, setSyncedPaths: s, syncedPathsRef: i } = vn(), { flowRef: l, streamMessageMap: c, paramsInputRef: d, keepVoiceOnRef: u, timeoutIdRef: p } = Ie(), { setSyncedIsBotTyping: f, setSyncedTextAreaDisabled: y, setSyncedTextAreaSensitiveMode: g, blockAllowsAttachment: v, setBlockAllowsAttachment: b } = Qe(), { dispatchRcbEvent: h } = it(), { endStreamMessage: E, injectMessage: C, removeMessage: P, simulateStreamMessage: D, streamMessage: x } = Lt(), { showToast: Q, dismissToast: k } = en(), { toggleChatWindow: O } = et(), { updateTextAreaFocus: B, setTextAreaValue: _ } = Rt(), { syncVoice: H } = jr(), N = G(async (w) => {
|
|
614
614
|
var F;
|
|
615
615
|
if ((F = A.event) != null && F.rcbPostProcessBlock) {
|
|
616
616
|
const X = await h(z.POST_PROCESS_BLOCK, { block: w });
|
|
@@ -618,7 +618,7 @@ const Ur = () => {
|
|
|
618
618
|
w = X.data.block;
|
|
619
619
|
}
|
|
620
620
|
return w;
|
|
621
|
-
}, [(e = A.event) == null ? void 0 : e.rcbPostProcessBlock, h]), U =
|
|
621
|
+
}, [(e = A.event) == null ? void 0 : e.rcbPostProcessBlock, h]), U = G(async (w, F) => {
|
|
622
622
|
var X, V, re, ge;
|
|
623
623
|
if (!w) return;
|
|
624
624
|
let ae = l.current[w];
|
|
@@ -629,8 +629,8 @@ const Ur = () => {
|
|
|
629
629
|
ae = ke.data.block;
|
|
630
630
|
}
|
|
631
631
|
f(!0), (V = A.chatInput) != null && V.blockSpam && y(!0), g(!1);
|
|
632
|
-
const
|
|
633
|
-
await (async (ke, Me, tt, j,
|
|
632
|
+
const qe = { prevPath: F, currPath: w, goToPath: m, setTextAreaValue: _, userInput: d.current, endStreamMessage: E, injectMessage: C, removeMessage: P, simulateStreamMessage: D, streamMessage: x, toggleChatWindow: O, showToast: Q, dismissToast: k };
|
|
633
|
+
await (async (ke, Me, tt, j, q, ue, Ae) => {
|
|
634
634
|
if (!ke) throw new Error("Block is not valid.");
|
|
635
635
|
for (const Ee of Object.keys(ke)) switch (Ee) {
|
|
636
636
|
case "message":
|
|
@@ -646,7 +646,7 @@ const Ur = () => {
|
|
|
646
646
|
await is(ke, Me);
|
|
647
647
|
break;
|
|
648
648
|
case "chatDisabled":
|
|
649
|
-
await as(ke, Me,
|
|
649
|
+
await as(ke, Me, q);
|
|
650
650
|
break;
|
|
651
651
|
case "isSensitive":
|
|
652
652
|
await EA(ke, Me, ue);
|
|
@@ -654,19 +654,19 @@ const Ur = () => {
|
|
|
654
654
|
case "transition":
|
|
655
655
|
await ss(ke, Me, j, Ae);
|
|
656
656
|
}
|
|
657
|
-
})(ae,
|
|
658
|
-
}, [l, B, H, (t = A.botBubble) == null ? void 0 : t.simulateStream, (r = A.chatInput) == null ? void 0 : r.disabled, d, E, C, P,
|
|
657
|
+
})(ae, qe, ((re = A.botBubble) == null ? void 0 : re.simulateStream) ?? !1, p, y, g, N), f(!1), "chatDisabled" in ae || y((ge = A.chatInput) == null ? void 0 : ge.disabled), "isSensitive" in ae || g(!1), b(typeof ae.file == "function"), B(w), H(u.current && !ae.chatDisabled), w !== F && c.current.clear();
|
|
658
|
+
}, [l, B, H, (t = A.botBubble) == null ? void 0 : t.simulateStream, (r = A.chatInput) == null ? void 0 : r.disabled, d, E, C, P, D, x, O, Q, k, u, c]), M = G(() => i.current.length > 0 ? i.current.at(-1) ?? null : null, []), L = G(() => i.current.length > 1 ? i.current.at(-2) ?? null : null, []), m = G(async (w) => {
|
|
659
659
|
var F;
|
|
660
660
|
const X = M(), V = L();
|
|
661
661
|
return ((F = A.event) == null || !F.rcbChangePath || !(await h(z.CHANGE_PATH, { currPath: X, prevPath: V, nextPath: w })).defaultPrevented) && (s((re) => [...re, w]), await U(w, X), !0);
|
|
662
|
-
}, [(n = A.chatInput) == null ? void 0 : n.blockSpam, (o = A.event) == null ? void 0 : o.rcbChangePath, U, h]), K =
|
|
662
|
+
}, [(n = A.chatInput) == null ? void 0 : n.blockSpam, (o = A.event) == null ? void 0 : o.rcbChangePath, U, h]), K = G((w) => {
|
|
663
663
|
const F = typeof w == "function" ? w(i.current) : w;
|
|
664
664
|
s(F);
|
|
665
665
|
}, [i]);
|
|
666
666
|
return { getCurrPath: M, getPrevPath: L, goToPath: m, blockAllowsAttachment: v, setBlockAllowsAttachment: b, paths: a, replacePaths: K, firePostProcessBlockEvent: N };
|
|
667
667
|
}, tn = () => {
|
|
668
668
|
var e, t, r, n;
|
|
669
|
-
const { settings: o } = ie(), { endStreamMessage: A, injectMessage: a, removeMessage: s, simulateStreamMessage: i, streamMessage: l } = Lt(), { syncedPathsRef: c } = vn(), { getCurrPath: d, getPrevPath: u, goToPath: p, firePostProcessBlockEvent: f } =
|
|
669
|
+
const { settings: o } = ie(), { endStreamMessage: A, injectMessage: a, removeMessage: s, simulateStreamMessage: i, streamMessage: l } = Lt(), { syncedPathsRef: c } = vn(), { getCurrPath: d, getPrevPath: u, goToPath: p, firePostProcessBlockEvent: f } = Gn(), { setSyncedTextAreaSensitiveMode: y, setSyncedTextAreaDisabled: g, setSyncedIsBotTyping: v, setBlockAllowsAttachment: b, setInputLength: h, syncedVoiceToggledOnRef: E, syncedTextAreaSensitiveModeRef: C } = Qe(), { flowRef: P, inputRef: D, keepVoiceOnRef: x, paramsInputRef: Q, timeoutIdRef: k } = Ie(), { showToast: O, dismissToast: B } = en(), { dispatchRcbEvent: _ } = it(), { syncVoice: H } = jr(), { setTextAreaValue: N } = Rt(), { toggleChatWindow: U } = et(), M = G(async (m) => {
|
|
670
670
|
var K, w, F, X, V, re;
|
|
671
671
|
const ge = d();
|
|
672
672
|
if (ge && P.current[ge]) {
|
|
@@ -676,10 +676,10 @@ const Ur = () => {
|
|
|
676
676
|
}
|
|
677
677
|
(re = o.userBubble) != null && re.simulateStream ? await i(m, "USER") : await a(m, "USER");
|
|
678
678
|
}
|
|
679
|
-
}, [P, d, o, a, i, C]), L =
|
|
679
|
+
}, [P, d, o, a, i, C]), L = G(async (m, K = !0) => {
|
|
680
680
|
var w, F;
|
|
681
681
|
if ((m = m.trim()) === "") return;
|
|
682
|
-
K && await M(m), k.current && clearTimeout(k.current),
|
|
682
|
+
K && await M(m), k.current && clearTimeout(k.current), D.current && (N(""), h(0));
|
|
683
683
|
const X = d();
|
|
684
684
|
if (!X) return;
|
|
685
685
|
let V = P.current[X];
|
|
@@ -688,18 +688,18 @@ const Ur = () => {
|
|
|
688
688
|
v(!0);
|
|
689
689
|
}, 400), y(!1), setTimeout(async () => {
|
|
690
690
|
var ge;
|
|
691
|
-
const ae = { prevPath: u(), currPath: d(), goToPath: p, setTextAreaValue: N, userInput: Q.current, injectMessage: a, simulateStreamMessage: i, streamMessage: l, removeMessage: s, endStreamMessage: A, toggleChatWindow: U, showToast: O, dismissToast: B },
|
|
692
|
-
await PA(re, ae), c.current.length ===
|
|
691
|
+
const ae = { prevPath: u(), currPath: d(), goToPath: p, setTextAreaValue: N, userInput: Q.current, injectMessage: a, simulateStreamMessage: i, streamMessage: l, removeMessage: s, endStreamMessage: A, toggleChatWindow: U, showToast: O, dismissToast: B }, qe = c.current.length;
|
|
692
|
+
await PA(re, ae), c.current.length === qe && (g("chatDisabled" in V ? !!V.chatDisabled : !((ge = o.chatInput) == null || !ge.disabled)), EA(V, ae, y), b(typeof V.file == "function"), H(x.current), v(!1));
|
|
693
693
|
}, (F = o.chatInput) == null ? void 0 : F.botDelay));
|
|
694
694
|
}, [k, (e = o.chatInput) == null ? void 0 : e.blockSpam, (t = o.chatInput) == null ? void 0 : t.botDelay, (r = o.chatInput) == null ? void 0 : r.disabled, x, E, H, M, u, d, p, a, i, l, s, A, U, O, B, P]);
|
|
695
|
-
return { handleSubmitText:
|
|
695
|
+
return { handleSubmitText: G(async (m, K = !0) => {
|
|
696
696
|
var w, F;
|
|
697
|
-
m = m ?? ((w =
|
|
698
|
-
}, [_, d, L,
|
|
699
|
-
},
|
|
697
|
+
m = m ?? ((w = D.current) == null ? void 0 : w.value), !((F = o.event) != null && F.rcbUserSubmitText && (await _(z.USER_SUBMIT_TEXT, { inputText: m, sendInChat: K })).defaultPrevented || !d()) && L(m, K);
|
|
698
|
+
}, [_, d, L, D, (n = o.event) == null ? void 0 : n.rcbUserSubmitText]) };
|
|
699
|
+
}, qn = () => {
|
|
700
700
|
var e;
|
|
701
701
|
const { settings: t } = ie();
|
|
702
|
-
return
|
|
702
|
+
return Ge(() => {
|
|
703
703
|
var r;
|
|
704
704
|
if (typeof window > "u" || !window.navigator) return !1;
|
|
705
705
|
if ((r = t.device) == null || !r.applyMobileOptimizations) return !0;
|
|
@@ -708,10 +708,10 @@ const Ur = () => {
|
|
|
708
708
|
}, [(e = t.device) == null ? void 0 : e.applyMobileOptimizations]);
|
|
709
709
|
}, bs = ({ buttons: e }) => {
|
|
710
710
|
var t, r, n, o, A, a, s, i, l, c, d;
|
|
711
|
-
const u =
|
|
712
|
-
y ||
|
|
711
|
+
const u = qn(), { settings: p } = ie(), { styles: f } = he(), { textAreaDisabled: y, textAreaSensitiveMode: g, inputLength: v, hasFlowStarted: b, setHasFlowStarted: h, setInputLength: E } = Qe(), { inputRef: C } = Ie(), [P, D] = te(!1), [x, Q] = te(!1), { handleSubmitText: k } = tn(), { setTextAreaValue: O } = Rt(), B = { boxSizing: u ? "content-box" : "border-box", ...f.chatInputAreaStyle }, _ = { outline: y ? "" : "none", boxShadow: y ? "" : `0 0 5px ${(t = p.general) == null ? void 0 : t.primaryColor}`, boxSizing: u ? "content-box" : "border-box", ...f.chatInputAreaStyle, ...f.chatInputAreaFocusedStyle }, H = { cursor: `url("${(r = p.general) == null ? void 0 : r.actionDisabledIcon}"), auto`, caretColor: "transparent", boxSizing: u ? "content-box" : "border-box", ...f.chatInputAreaStyle, ...f.chatInputAreaDisabledStyle }, N = { color: "#989898", ...f.characterLimitStyle }, U = { color: "#ff0000", ...f.characterLimitReachedStyle }, M = y ? (n = p.chatInput) == null ? void 0 : n.disabledPlaceholderText : (o = p.chatInput) == null ? void 0 : o.enabledPlaceholderText, L = () => {
|
|
712
|
+
y || D(!0);
|
|
713
713
|
}, m = () => {
|
|
714
|
-
|
|
714
|
+
D(!1);
|
|
715
715
|
}, K = () => {
|
|
716
716
|
Q(!0);
|
|
717
717
|
}, w = () => {
|
|
@@ -728,39 +728,39 @@ const Ur = () => {
|
|
|
728
728
|
return ve("div", { "aria-label": ((A = p.ariaLabel) == null ? void 0 : A.inputTextArea) ?? "input text area", role: "textbox", onMouseDown: (V) => {
|
|
729
729
|
var re;
|
|
730
730
|
V.stopPropagation(), !b && ((re = p.general) == null ? void 0 : re.flowStartTrigger) === "ON_CHATBOT_INTERACT" && h(!0);
|
|
731
|
-
}, style: { ...f.chatInputContainerStyle }, className: "rcb-chat-input", children: [g && (a = p.sensitiveInput) != null && a.maskInTextArea ?
|
|
731
|
+
}, style: { ...f.chatInputContainerStyle }, className: "rcb-chat-input", children: [g && (a = p.sensitiveInput) != null && a.maskInTextArea ? S("input", { ref: C, type: "password", className: "rcb-chat-input-textarea", style: y ? H : P ? _ : B, placeholder: M, onChange: X, onKeyDown: F, onFocus: L, onBlur: m, onCompositionStart: K, onCompositionEnd: w }) : S("textarea", { ref: C, style: y ? H : P ? _ : B, rows: 1, className: "rcb-chat-input-textarea", placeholder: M, onChange: X, onKeyDown: F, onFocus: L, onBlur: m, onCompositionStart: K, onCompositionEnd: w }), ve(Fe, { children: [e == null ? void 0 : e.map((V, re) => S(Lr, { children: V }, re)), ((s = p.chatInput) == null ? void 0 : s.showCharacterCount) && ((i = p.chatInput) == null ? void 0 : i.characterLimit) != null && ((l = p.chatInput) == null ? void 0 : l.characterLimit) > 0 && ve("div", { className: "rcb-chat-input-char-counter", style: v >= ((c = p.chatInput) == null ? void 0 : c.characterLimit) ? U : N, children: [v, "/", (d = p.chatInput) == null ? void 0 : d.characterLimit] })] })] });
|
|
732
732
|
}, Es = ({ buttons: e }) => {
|
|
733
733
|
var t;
|
|
734
734
|
const { settings: r } = ie(), { styles: n } = he();
|
|
735
|
-
return ve("div", { "data-testid": "chatbot-footer-container", style: { ...n.footerStyle }, className: "rcb-chat-footer-container", children: [
|
|
735
|
+
return ve("div", { "data-testid": "chatbot-footer-container", style: { ...n.footerStyle }, className: "rcb-chat-footer-container", children: [S("div", { className: "rcb-chat-footer", children: e == null ? void 0 : e.map((o, A) => S(Lr, { children: o }, A)) }), S("span", { children: (t = r.footer) == null ? void 0 : t.text })] });
|
|
736
736
|
}, Ps = () => {
|
|
737
737
|
var e, t, r, n, o, A, a;
|
|
738
738
|
const { settings: s } = ie(), { styles: i } = he(), { unreadCount: l } = Qe(), { isChatWindowOpen: c, toggleChatWindow: d } = et(), [u, p] = te(!1), f = { backgroundImage: `linear-gradient(to right, ${(e = s.general) == null ? void 0 : e.secondaryColor},
|
|
739
739
|
${(t = s.general) == null ? void 0 : t.primaryColor})`, ...i.chatButtonStyle }, y = { transform: "scale(1.05)", ...f, ...i.chatButtonHoveredStyle }, g = { backgroundImage: `url(${(r = s.chatButton) == null ? void 0 : r.icon})`, fill: "#fff", width: 75, height: 75, ...i.chatIconStyle };
|
|
740
|
-
return
|
|
740
|
+
return S(Fe, { children: !((n = s.general) != null && n.embedded) && ve("div", { "aria-label": ((o = s.ariaLabel) == null ? void 0 : o.chatButton) ?? "open chat", role: "button", style: u ? y : f, className: "rcb-toggle-button " + (c ? "rcb-button-hide" : "rcb-button-show"), onMouseEnter: () => {
|
|
741
741
|
p(!0);
|
|
742
742
|
}, onMouseLeave: () => {
|
|
743
743
|
p(!1);
|
|
744
744
|
}, onClick: () => d(!0), children: [(() => {
|
|
745
745
|
var v;
|
|
746
746
|
const b = (v = s.chatButton) == null ? void 0 : v.icon;
|
|
747
|
-
return b && typeof b != "string" ? b &&
|
|
748
|
-
})(), !((A = s.notification) != null && A.disabled) && ((a = s.notification) == null ? void 0 : a.showCount) &&
|
|
747
|
+
return b && typeof b != "string" ? b && S("span", { className: "rcb-toggle-icon", children: S(b, { style: g }) }) : S("span", { className: "rcb-toggle-icon", style: g });
|
|
748
|
+
})(), !((A = s.notification) != null && A.disabled) && ((a = s.notification) == null ? void 0 : a.showCount) && S("span", { style: { ...i.notificationBadgeStyle }, className: "rcb-badge", children: l })] }) });
|
|
749
749
|
}, Cs = () => {
|
|
750
750
|
var e, t, r, n, o, A;
|
|
751
|
-
const a =
|
|
751
|
+
const a = qn(), { settings: s } = ie(), { styles: i } = he(), { chatBodyRef: l } = Ie(), { isChatWindowOpen: c, toggleChatWindow: d } = et(), [u, p] = te(!1), [f, y] = te(!1), [g, v] = te(0);
|
|
752
752
|
Z(() => {
|
|
753
753
|
var E, C, P;
|
|
754
|
-
const
|
|
755
|
-
if (
|
|
754
|
+
const D = (E = s.tooltip) == null ? void 0 : E.mode;
|
|
755
|
+
if (D === "ALWAYS") if (a) {
|
|
756
756
|
let x;
|
|
757
757
|
x = c ? (((C = l.current) == null ? void 0 : C.offsetWidth) ?? 375) - (typeof ((P = i.chatButtonStyle) == null ? void 0 : P.width) == "number" ? i.chatButtonStyle.width : 75) : 0, v(x), p(!0);
|
|
758
758
|
} else p(!c);
|
|
759
|
-
else
|
|
759
|
+
else D === "NEVER" ? p(!1) : D === "START" ? f ? p(!1) : (y(!0), p(!0)) : D === "CLOSE" && p(!c);
|
|
760
760
|
}, [c, a, f, (e = i.chatButtonStyle) == null ? void 0 : e.width, (t = s.tooltip) == null ? void 0 : t.mode]);
|
|
761
761
|
const b = { transform: `translateX(-${g}px)`, right: (((r = i.chatButtonStyle) == null ? void 0 : r.width) ?? 75) + 40, bottom: 30, backgroundColor: (n = s.general) == null ? void 0 : n.secondaryColor, color: "#fff", ...i.tooltipStyle }, h = { borderColor: `transparent transparent transparent ${b.backgroundColor}` };
|
|
762
|
-
return
|
|
763
|
-
},
|
|
762
|
+
return S(Fe, { children: !((o = s.general) != null && o.embedded) && ve("div", { "data-testid": "chat-tooltip", style: b, className: "rcb-chat-tooltip " + (u ? "rcb-tooltip-show" : "rcb-tooltip-hide"), onClick: () => d(!0), children: [S("span", { children: (A = s.tooltip) == null ? void 0 : A.text }), S("span", { className: "rcb-chat-tooltip-tail", style: h })] }) });
|
|
763
|
+
}, Ss = ({ id: e, content: t, timeout: r }) => {
|
|
764
764
|
var n, o;
|
|
765
765
|
const { settings: A } = ie(), { styles: a } = he(), [s] = te({ toastPromptStyle: { ...a.toastPromptStyle }, toastPromptHoveredStyle: { ...a.toastPromptHoveredStyle } }), { dismissToast: i } = en(), [l, c] = te(!1), d = { color: (n = A.general) == null ? void 0 : n.primaryColor, borderColor: (o = A.general) == null ? void 0 : o.primaryColor, ...s.toastPromptHoveredStyle };
|
|
766
766
|
return Z(() => {
|
|
@@ -770,22 +770,22 @@ const Ur = () => {
|
|
|
770
770
|
}, r);
|
|
771
771
|
return () => clearTimeout(u);
|
|
772
772
|
}
|
|
773
|
-
}, [e, i, r]), typeof t == "string" ?
|
|
773
|
+
}, [e, i, r]), typeof t == "string" ? S("div", { onMouseEnter: () => {
|
|
774
774
|
c(!0);
|
|
775
775
|
}, onMouseLeave: () => {
|
|
776
776
|
c(!1);
|
|
777
777
|
}, style: l ? d : s.toastPromptStyle, onMouseDown: async (u) => {
|
|
778
778
|
var p;
|
|
779
779
|
(p = A.toast) != null && p.dismissOnClick && (u.preventDefault(), await i(e));
|
|
780
|
-
}, className: "rcb-toast-prompt", children: t }) :
|
|
781
|
-
},
|
|
780
|
+
}, className: "rcb-toast-prompt", children: t }) : S(Fe, { children: t });
|
|
781
|
+
}, Ds = () => {
|
|
782
782
|
var e, t, r, n, o, A, a, s, i, l, c, d;
|
|
783
783
|
const { styles: u } = he(), { toasts: p } = IA(), f = { bottom: `calc(${typeof ((e = u.footerStyle) == null ? void 0 : e.height) == "number" ? `${(t = u.footerStyle) == null ? void 0 : t.height}px` : ((r = u.footerStyle) == null ? void 0 : r.height) ?? "50px"} + ${typeof ((n = u.chatInputContainerStyle) == null ? void 0 : n.height) == "number" ? `${(o = u.chatInputContainerStyle) == null ? void 0 : o.height}px` : ((A = u.chatInputContainerStyle) == null ? void 0 : A.height) ?? "70px"} + 20px)`, width: 300, minWidth: `calc(${typeof ((a = u.chatWindowStyle) == null ? void 0 : a.width) == "number" ? `${(s = u.chatWindowStyle) == null ? void 0 : s.width}px` : ((i = u.chatWindowStyle) == null ? void 0 : i.width) ?? "375px"} / 2)`, maxWidth: `calc(${typeof ((l = u.chatWindowStyle) == null ? void 0 : l.width) == "number" ? `${(c = u.chatWindowStyle) == null ? void 0 : c.width}px` : ((d = u.chatWindowStyle) == null ? void 0 : d.width) ?? "375px"} - 50px)`, ...u.toastPromptContainerStyle };
|
|
784
|
-
return
|
|
784
|
+
return S("div", { className: "rcb-toast-prompt-container", style: f, children: p.map((y) => S(Ss, { id: y.id, content: y.content, timeout: y.timeout }, y.id)) });
|
|
785
785
|
}, TA = ({ file: e, fileType: t, fileUrl: r }) => {
|
|
786
786
|
var n, o, A;
|
|
787
787
|
const { settings: a } = ie(), { styles: s } = he(), i = { backgroundColor: (n = a.general) == null ? void 0 : n.primaryColor, maxWidth: (o = a.userBubble) != null && o.showAvatar ? "65%" : "70%", ...s.mediaDisplayContainerStyle };
|
|
788
|
-
return
|
|
788
|
+
return S(Fe, { children: r ? ve(Fe, { children: [t === "image" && r && S("div", { style: i, className: "rcb-media-display-image-container rcb-media-entry", "data-testid": "media-display-image-container", children: S("img", { src: r, alt: "Image Display", className: "rcb-media-display-image" }) }), t === "video" && r && S("div", { style: i, className: "rcb-media-display-video-container rcb-media-entry", "data-testid": "media-display-video-container", children: ve("video", { controls: !0, className: "rcb-media-display-video", children: [S("source", { src: r, type: e.type }), "Your browser does not support the video tag."] }) }), t === "audio" && r && ve("audio", { "data-testid": "media-display-audio-container", style: { maxWidth: (A = a.userBubble) != null && A.showAvatar ? "65%" : "70%" }, controls: !0, className: "rcb-media-display-audio rcb-media-entry", children: [S("source", { src: r, type: e.type }), "Your browser does not support the audio tag."] })] }) : S(Fe, {}) });
|
|
789
789
|
}, QA = async (e) => {
|
|
790
790
|
if (!e) return { fileType: null, fileUrl: null };
|
|
791
791
|
const t = e.type.split("/")[0];
|
|
@@ -800,8 +800,8 @@ const Ur = () => {
|
|
|
800
800
|
}
|
|
801
801
|
}, Bs = () => {
|
|
802
802
|
var e, t, r, n, o, A;
|
|
803
|
-
const { settings: a } = ie(), { styles: s } = he(), { injectMessage: i, simulateStreamMessage: l, streamMessage: c, removeMessage: d, endStreamMessage: u } = Lt(), { getCurrPath: p, getPrevPath: f, goToPath: y, blockAllowsAttachment: g } =
|
|
804
|
-
return ve("label", { "aria-label": ((n = a.ariaLabel) == null ? void 0 : n.fileAttachmentButton) ?? "upload file", role: "button", className: g ? "rcb-attach-button-enabled" : "rcb-attach-button-disabled", style: g ? { ...s.fileAttachmentButtonStyle } : k, children: [
|
|
803
|
+
const { settings: a } = ie(), { styles: s } = he(), { injectMessage: i, simulateStreamMessage: l, streamMessage: c, removeMessage: d, endStreamMessage: u } = Lt(), { getCurrPath: p, getPrevPath: f, goToPath: y, blockAllowsAttachment: g } = Gn(), { flowRef: v, inputRef: b } = Ie(), h = v.current, { showToast: E, dismissToast: C } = en(), { dispatchRcbEvent: P } = it(), { toggleChatWindow: D } = et(), { setTextAreaValue: x } = Rt(), { handleSubmitText: Q } = tn(), k = { cursor: `url("${(e = a.general) == null ? void 0 : e.actionDisabledIcon}"), auto`, ...s.fileAttachmentButtonStyle, ...s.fileAttachmentButtonDisabledStyle }, O = { backgroundImage: `url(${(t = a.fileAttachment) == null ? void 0 : t.icon})`, fill: "#a6a6a6", ...s.fileAttachmentIconStyle }, B = { backgroundImage: `url(${(r = a.fileAttachment) == null ? void 0 : r.icon})`, fill: "#a6a6a6", ...s.fileAttachmentIconStyle, ...s.fileAttachmentIconDisabledStyle };
|
|
804
|
+
return ve("label", { "aria-label": ((n = a.ariaLabel) == null ? void 0 : n.fileAttachmentButton) ?? "upload file", role: "button", className: g ? "rcb-attach-button-enabled" : "rcb-attach-button-disabled", style: g ? { ...s.fileAttachmentButtonStyle } : k, children: [S("input", { className: "rcb-attach-input", role: "file", type: "file", onChange: async (_) => {
|
|
805
805
|
var H, N, U, M;
|
|
806
806
|
const L = _.target.files;
|
|
807
807
|
if (!L) return;
|
|
@@ -817,14 +817,14 @@ const Ur = () => {
|
|
|
817
817
|
for (let V = 0; V < m.length; V++) {
|
|
818
818
|
if (X.push(m[V].name), (N = a.fileAttachment) == null || !N.showMediaDisplay) continue;
|
|
819
819
|
const re = await QA(m[V]);
|
|
820
|
-
!re.fileType || !re.fileUrl || await i(
|
|
820
|
+
!re.fileType || !re.fileUrl || await i(S(TA, { file: m[V], fileType: re.fileType, fileUrl: re.fileUrl }), "USER");
|
|
821
821
|
}
|
|
822
|
-
await Q("📄 " + X.join(", "), (U = a.fileAttachment) == null ? void 0 : U.sendFileName), await F({ userInput: (M = b.current) == null ? void 0 : M.value, prevPath: f(), currPath: p(), goToPath: y, setTextAreaValue: x, injectMessage: i, simulateStreamMessage: l, streamMessage: c, removeMessage: d, endStreamMessage: u, toggleChatWindow:
|
|
822
|
+
await Q("📄 " + X.join(", "), (U = a.fileAttachment) == null ? void 0 : U.sendFileName), await F({ userInput: (M = b.current) == null ? void 0 : M.value, prevPath: f(), currPath: p(), goToPath: y, setTextAreaValue: x, injectMessage: i, simulateStreamMessage: l, streamMessage: c, removeMessage: d, endStreamMessage: u, toggleChatWindow: D, showToast: E, dismissToast: C, files: m });
|
|
823
823
|
}
|
|
824
824
|
}, multiple: (o = a.fileAttachment) == null ? void 0 : o.multiple, accept: (A = a.fileAttachment) == null ? void 0 : A.accept, disabled: !g }), (() => {
|
|
825
825
|
var _, H;
|
|
826
826
|
const N = g ? (_ = a.fileAttachment) == null ? void 0 : _.icon : (H = a.fileAttachment) == null ? void 0 : H.iconDisabled;
|
|
827
|
-
return N && typeof N != "string" ? N &&
|
|
827
|
+
return N && typeof N != "string" ? N && S("span", { className: g ? "rcb-attach-icon-enabled" : "rcb-attach-icon-disabled", children: S(N, { style: g ? O : B }) }) : S("span", { className: g ? "rcb-attach-icon-enabled" : "rcb-attach-icon-disabled", style: g ? O : B });
|
|
828
828
|
})()] });
|
|
829
829
|
}, ks = () => {
|
|
830
830
|
var e, t, r, n, o, A;
|
|
@@ -836,22 +836,22 @@ const Ur = () => {
|
|
|
836
836
|
}, E = () => {
|
|
837
837
|
(() => {
|
|
838
838
|
if (u.current && p.current) {
|
|
839
|
-
const C = p.current.getBoundingClientRect(), P = u.current.offsetHeight,
|
|
840
|
-
u.current.style.left = `${C.left}px`, u.current.style.top = `${
|
|
839
|
+
const C = p.current.getBoundingClientRect(), P = u.current.offsetHeight, D = C.top - P - 8;
|
|
840
|
+
u.current.style.left = `${C.left}px`, u.current.style.top = `${D}px`;
|
|
841
841
|
}
|
|
842
842
|
})();
|
|
843
843
|
};
|
|
844
844
|
return document.addEventListener("mousedown", h), window.addEventListener("resize", E), () => {
|
|
845
845
|
document.removeEventListener("mousedown", h), window.removeEventListener("resize", E);
|
|
846
846
|
};
|
|
847
|
-
}, []), ve(Fe, { children: [
|
|
847
|
+
}, []), ve(Fe, { children: [S("div", { "aria-label": ((n = a.ariaLabel) == null ? void 0 : n.emojiButton) ?? "emoji picker", role: "button", ref: p, className: c ? "rcb-emoji-button-disabled" : "rcb-emoji-button-enabled", style: c ? g : { ...s.emojiButtonStyle }, onMouseDown: (h) => {
|
|
848
848
|
h.preventDefault(), i.current ? y(!1) : y((E) => !E);
|
|
849
849
|
}, children: (() => {
|
|
850
850
|
var h, E;
|
|
851
851
|
const C = c ? (h = a.emoji) == null ? void 0 : h.iconDisabled : (E = a.emoji) == null ? void 0 : E.icon;
|
|
852
|
-
return C && typeof C != "string" ? C &&
|
|
853
|
-
})() }), f &&
|
|
854
|
-
P.preventDefault(), l.current && (d(l.current.value +
|
|
852
|
+
return C && typeof C != "string" ? C && S("span", { className: c ? "rcb-emoji-icon-disabled" : "rcb-emoji-icon-enabled", children: S(C, { style: c ? b : v }) }) : S("span", { className: c ? "rcb-emoji-icon-disabled" : "rcb-emoji-icon-enabled", style: c ? b : v });
|
|
853
|
+
})() }), f && S("div", { className: "rcb-emoji-button-popup", ref: u, children: (A = (o = a.emoji) == null ? void 0 : o.list) == null ? void 0 : A.map((h, E) => S("span", { className: "rcb-emoji", onMouseDown: (C) => ((P, D) => {
|
|
854
|
+
P.preventDefault(), l.current && (d(l.current.value + D), setTimeout(() => {
|
|
855
855
|
const x = l.current;
|
|
856
856
|
if (x) {
|
|
857
857
|
x.focus();
|
|
@@ -863,22 +863,22 @@ const Ur = () => {
|
|
|
863
863
|
}, xs = () => {
|
|
864
864
|
var e, t, r;
|
|
865
865
|
const { settings: n } = ie(), { styles: o } = he(), { audioToggledOn: A, toggleAudio: a } = kA(), s = { backgroundImage: `url(${(e = n.audio) == null ? void 0 : e.icon})`, fill: "#fcec3d", ...o.audioIconStyle }, i = { backgroundImage: `url(${(t = n.audio) == null ? void 0 : t.iconDisabled})`, fill: "#e8eaed", ...o.audioIconStyle, ...o.audioIconDisabledStyle };
|
|
866
|
-
return
|
|
866
|
+
return S("div", { "aria-label": ((r = n.ariaLabel) == null ? void 0 : r.audioButton) ?? "toggle audio", role: "button", onMouseDown: async (l) => {
|
|
867
867
|
l.preventDefault(), await a();
|
|
868
868
|
}, style: A ? { ...o.audioButtonStyle } : { ...o.audioButtonStyle, ...o.audioButtonDisabledStyle }, children: (() => {
|
|
869
869
|
var l, c;
|
|
870
870
|
const d = A ? (l = n.audio) == null ? void 0 : l.icon : (c = n.audio) == null ? void 0 : c.iconDisabled;
|
|
871
|
-
return d && typeof d != "string" ? d &&
|
|
871
|
+
return d && typeof d != "string" ? d && S("span", { className: "rcb-audio-icon", "data-testid": "rcb-audio-icon", children: S(d, { style: A ? s : i, "data-testid": "rcb-audio-icon-svg" }) }) : S("span", { className: "rcb-audio-icon", "data-testid": "rcb-audio-icon", style: A ? s : i });
|
|
872
872
|
})() });
|
|
873
873
|
}, Is = () => {
|
|
874
874
|
var e, t;
|
|
875
875
|
const { settings: r } = ie(), { styles: n } = he(), { toggleChatWindow: o } = et(), A = { backgroundImage: `url(${(e = r.header) == null ? void 0 : e.closeChatIcon})`, fill: "#e8eaed", stroke: "#e8eaed", ...n.closeChatIconStyle };
|
|
876
|
-
return
|
|
876
|
+
return S("div", { "aria-label": ((t = r.ariaLabel) == null ? void 0 : t.closeChatButton) ?? "close chat", role: "button", onMouseDown: (a) => {
|
|
877
877
|
a.stopPropagation(), o(!1);
|
|
878
878
|
}, style: { ...n.closeChatButtonStyle }, children: (() => {
|
|
879
879
|
var a;
|
|
880
880
|
const s = (a = r.header) == null ? void 0 : a.closeChatIcon;
|
|
881
|
-
return s && typeof s != "string" ? s &&
|
|
881
|
+
return s && typeof s != "string" ? s && S("span", { className: "rcb-close-chat-icon", "data-testid": "rcb-close-chat-icon", children: S(s, { style: A }) }) : S("span", { className: "rcb-close-chat-icon", "data-testid": "rcb-close-chat-icon", style: A });
|
|
882
882
|
})() });
|
|
883
883
|
}, Ts = () => {
|
|
884
884
|
var e, t, r;
|
|
@@ -886,12 +886,12 @@ const Ur = () => {
|
|
|
886
886
|
const { notificationsToggledOn: l, toggleNotifications: c, playNotificationSound: d } = Hr();
|
|
887
887
|
return { notificationsToggledOn: l, toggleNotifications: c, playNotificationSound: d };
|
|
888
888
|
})(), s = { backgroundImage: `url(${(e = n.notification) == null ? void 0 : e.icon})`, fill: "#fcec3d", ...o.notificationIconStyle }, i = { backgroundImage: `url(${(t = n.notification) == null ? void 0 : t.iconDisabled})`, fill: "#e8eaed", ...o.notificationIconStyle, ...o.notificationIconDisabledStyle };
|
|
889
|
-
return
|
|
889
|
+
return S("div", { "aria-label": ((r = n.ariaLabel) == null ? void 0 : r.notificationButton) ?? "toggle notifications", role: "button", onMouseDown: async (l) => {
|
|
890
890
|
l.preventDefault(), await a();
|
|
891
891
|
}, style: A ? { ...o.notificationButtonStyle } : { ...o.notificationButtonStyle, ...o.notificationButtonDisabledStyle }, children: (() => {
|
|
892
892
|
var l, c;
|
|
893
893
|
const d = A ? (l = n.notification) == null ? void 0 : l.icon : (c = n.notification) == null ? void 0 : c.iconDisabled;
|
|
894
|
-
return d && typeof d != "string" ? d &&
|
|
894
|
+
return d && typeof d != "string" ? d && S("span", { className: "rcb-notification-icon", "data-testid": "rcb-notification-icon", children: S(d, { style: A ? s : i, "data-testid": "rcb-notification-icon-svg" }) }) : S("span", { className: "rcb-notification-icon", "data-testid": "rcb-notification-icon", style: A ? s : i });
|
|
895
895
|
})() });
|
|
896
896
|
}, Qs = () => {
|
|
897
897
|
var e, t, r;
|
|
@@ -900,28 +900,28 @@ const Ur = () => {
|
|
|
900
900
|
var E;
|
|
901
901
|
(E = n.voice) != null && E.sendAsAudio ? (h(), p.current = []) : u();
|
|
902
902
|
}, [f]), Z(() => {
|
|
903
|
-
s ? ((E, C, P,
|
|
903
|
+
s ? ((E, C, P, D, x, Q, k) => {
|
|
904
904
|
var O;
|
|
905
|
-
(O = E.voice) != null && O.sendAsAudio ? vs(P, Q) : ys(E, C, P,
|
|
905
|
+
(O = E.voice) != null && O.sendAsAudio ? vs(P, Q) : ys(E, C, P, D, x, k);
|
|
906
906
|
})(n, i, b, c, l, p, a) : Fr();
|
|
907
907
|
}, [s]);
|
|
908
908
|
const g = { backgroundImage: `url(${(e = n.voice) == null ? void 0 : e.icon})`, fill: "#9aa0a6", ...o.voiceIconStyle }, v = { backgroundImage: `url(${(t = n.voice) == null ? void 0 : t.iconDisabled})`, fill: "#9aa0a6", ...o.voiceIconStyle, ...o.voiceIconDisabledStyle }, b = () => {
|
|
909
909
|
y((E) => !E);
|
|
910
910
|
}, h = async () => {
|
|
911
911
|
const E = new Blob(p.current, { type: "audio/wav" }), C = new File([E], "voice-input.wav", { type: "audio/wav" }), P = await QA(C);
|
|
912
|
-
!P.fileType || !P.fileUrl || await A(
|
|
912
|
+
!P.fileType || !P.fileUrl || await A(S(TA, { file: C, fileType: P.fileType, fileUrl: P.fileUrl }), "USER");
|
|
913
913
|
};
|
|
914
|
-
return
|
|
914
|
+
return S("div", { "aria-label": ((r = n.ariaLabel) == null ? void 0 : r.voiceButton) ?? "toggle voice", role: "button", onMouseDown: async (E) => {
|
|
915
915
|
E.preventDefault(), !d && await i();
|
|
916
916
|
}, style: s && !d ? { ...o.voiceButtonStyle } : { ...o.voiceButtonStyle, ...o.voiceButtonDisabledStyle }, className: s && !d ? "rcb-voice-button-enabled" : "rcb-voice-button-disabled", children: (() => {
|
|
917
917
|
var E, C;
|
|
918
918
|
const P = s ? (E = n.voice) == null ? void 0 : E.icon : (C = n.voice) == null ? void 0 : C.iconDisabled;
|
|
919
|
-
return P && typeof P != "string" ? P &&
|
|
919
|
+
return P && typeof P != "string" ? P && S("span", { className: "rcb-voice-icon " + (s && !d ? "on" : ""), children: S(P, { style: s && !d ? g : v }) }) : S("span", { className: "rcb-voice-icon" + (s && !d ? "-on" : ""), "data-testid": "rcb-voice-icon", style: s && !d ? g : v });
|
|
920
920
|
})() });
|
|
921
921
|
}, Ms = () => {
|
|
922
922
|
var e, t, r, n, o, A, a, s;
|
|
923
923
|
const { settings: i } = ie(), { styles: l } = he(), { textAreaDisabled: c } = Qe(), [d, u] = te(!1), { handleSubmitText: p } = tn(), f = { backgroundColor: (e = i.general) == null ? void 0 : e.primaryColor, ...l.sendButtonStyle }, y = { cursor: `url("${(t = i.general) == null ? void 0 : t.actionDisabledIcon}"), auto`, backgroundColor: (r = i.general) == null ? void 0 : r.primaryColor, ...l.sendButtonStyle, ...l.sendButtonDisabledStyle }, g = { backgroundColor: (n = i.general) == null ? void 0 : n.secondaryColor, ...l.sendButtonStyle, ...l.sendButtonHoveredStyle }, v = { backgroundImage: `url(${(o = i.chatInput) == null ? void 0 : o.sendButtonIcon})`, fill: "#fff", ...l.sendIconStyle }, b = { backgroundImage: `url(${(A = i.chatInput) == null ? void 0 : A.sendButtonIcon})`, fill: "#fff", ...l.sendIconStyle, ...l.sendIconDisabledStyle }, h = { backgroundImage: `url(${(a = i.chatInput) == null ? void 0 : a.sendButtonIcon})`, fill: "#fff", ...l.sendIconStyle, ...l.sendIconHoveredStyle };
|
|
924
|
-
return
|
|
924
|
+
return S("div", { "aria-label": ((s = i.ariaLabel) == null ? void 0 : s.sendButton) ?? "send message", role: "button", onMouseEnter: () => {
|
|
925
925
|
u(!0);
|
|
926
926
|
}, onMouseLeave: () => {
|
|
927
927
|
u(!1);
|
|
@@ -930,13 +930,13 @@ const Ur = () => {
|
|
|
930
930
|
}, style: c ? y : d ? g : f, className: "rcb-send-button", children: (() => {
|
|
931
931
|
var E;
|
|
932
932
|
const C = (E = i.chatInput) == null ? void 0 : E.sendButtonIcon;
|
|
933
|
-
return C && typeof C != "string" ? C &&
|
|
933
|
+
return C && typeof C != "string" ? C && S("span", { className: "rcb-send-icon", "data-testid": "rcb-send-icon", children: S(C, { style: c ? b : d ? h : v }) }) : S("span", { className: "rcb-send-icon", "data-testid": "rcb-send-icon", style: c ? b : d ? h : v });
|
|
934
934
|
})() });
|
|
935
935
|
}, _s = (e, t) => {
|
|
936
936
|
var r, n, o, A, a, s, i, l, c;
|
|
937
|
-
const d = { [
|
|
937
|
+
const d = { [De.AUDIO_BUTTON]: (r = e.audio) == null ? void 0 : r.disabled, [De.CLOSE_CHAT_BUTTON]: (n = e.general) == null ? void 0 : n.embedded, [De.EMOJI_PICKER_BUTTON]: (o = e.emoji) == null ? void 0 : o.disabled, [De.FILE_ATTACHMENT_BUTTON]: (A = e.fileAttachment) == null ? void 0 : A.disabled, [De.NOTIFICATION_BUTTON]: (a = e.notification) == null ? void 0 : a.disabled, [De.SEND_MESSAGE_BUTTON]: !1, [De.VOICE_MESSAGE_BUTTON]: (s = e.voice) == null ? void 0 : s.disabled }, u = {}, p = (f) => f ? f.map((y) => {
|
|
938
938
|
if (typeof y == "string") {
|
|
939
|
-
if (((g) => Object.values(
|
|
939
|
+
if (((g) => Object.values(De).includes(g))(y) && !d[y]) {
|
|
940
940
|
if (u[y]) return u[y];
|
|
941
941
|
const g = t[y];
|
|
942
942
|
if (typeof g == "function") {
|
|
@@ -951,19 +951,19 @@ const Ur = () => {
|
|
|
951
951
|
}).filter((y) => y !== null) : [];
|
|
952
952
|
return { header: p((i = e.header) == null ? void 0 : i.buttons), chatInput: p((l = e.chatInput) == null ? void 0 : l.buttons), footer: p((c = e.footer) == null ? void 0 : c.buttons) };
|
|
953
953
|
}, Os = () => {
|
|
954
|
-
const { settings: e } = ie(), t =
|
|
955
|
-
return { headerButtons:
|
|
954
|
+
const { settings: e } = ie(), t = Ge(() => ({ [De.CLOSE_CHAT_BUTTON]: () => S(Is, {}), [De.AUDIO_BUTTON]: () => S(xs, {}), [De.NOTIFICATION_BUTTON]: () => S(Ts, {}), [De.EMOJI_PICKER_BUTTON]: () => S(ks, {}), [De.FILE_ATTACHMENT_BUTTON]: () => S(Bs, {}), [De.SEND_MESSAGE_BUTTON]: () => S(Ms, {}), [De.VOICE_MESSAGE_BUTTON]: () => S(Qs, {}) }), []), { header: r, chatInput: n, footer: o } = Ge(() => _s(e, t), [e, t]);
|
|
955
|
+
return { headerButtons: Ge(() => r, [r]), chatInputButtons: Ge(() => n, [n]), footerButtons: Ge(() => o, [o]) };
|
|
956
956
|
}, zr = () => {
|
|
957
|
-
const { settings: e } = ie(), { styles: t } = he(), { setSyncedMessages: r, syncedMessagesRef: n } = Rr(), { isLoadingChatHistory: o, setIsLoadingChatHistory: A, hasChatHistoryLoaded: a, setHasChatHistoryLoaded: s } = Qe(), { chatBodyRef: i } = Ie(), { dispatchRcbEvent: l } = it(), c =
|
|
957
|
+
const { settings: e } = ie(), { styles: t } = he(), { setSyncedMessages: r, syncedMessagesRef: n } = Rr(), { isLoadingChatHistory: o, setIsLoadingChatHistory: A, hasChatHistoryLoaded: a, setHasChatHistoryLoaded: s } = Qe(), { chatBodyRef: i } = Ie(), { dispatchRcbEvent: l } = it(), c = G(async () => {
|
|
958
958
|
var d, u;
|
|
959
959
|
const p = gn();
|
|
960
960
|
if (!p || (d = e.event) != null && d.rcbLoadChatHistory && (await l(z.LOAD_CHAT_HISTORY, {})).defaultPrevented) return;
|
|
961
961
|
A(!0);
|
|
962
962
|
const f = ((u = i.current) == null ? void 0 : u.scrollHeight) ?? 0;
|
|
963
|
-
((y, g, v, b, h, E, C, P,
|
|
963
|
+
((y, g, v, b, h, E, C, P, D) => {
|
|
964
964
|
var x;
|
|
965
965
|
if (CA = !0, v != null) try {
|
|
966
|
-
const Q = xt(
|
|
966
|
+
const Q = xt(S(cs, {}), "SYSTEM"), k = h.current.slice(1);
|
|
967
967
|
b([Q, ...k]);
|
|
968
968
|
const O = v.map((B) => {
|
|
969
969
|
if (B.type === "object") {
|
|
@@ -975,8 +975,8 @@ const Ur = () => {
|
|
|
975
975
|
setTimeout(() => {
|
|
976
976
|
var B;
|
|
977
977
|
const _ = h.current.slice(1);
|
|
978
|
-
let H = (B = y.chatHistory) != null && B.autoLoad ? xt(
|
|
979
|
-
b([...O, H, ..._]),
|
|
978
|
+
let H = (B = y.chatHistory) != null && B.autoLoad ? xt(S(Fe, {}), "SYSTEM") : xt(S(ls, {}), "SYSTEM");
|
|
979
|
+
b([...O, H, ..._]), D(!0);
|
|
980
980
|
}, 500), setTimeout(() => {
|
|
981
981
|
if (!E.current) return;
|
|
982
982
|
const { scrollHeight: B } = E.current, _ = B - C;
|
|
@@ -991,18 +991,18 @@ const Ur = () => {
|
|
|
991
991
|
}, Ns = () => {
|
|
992
992
|
var e, t, r;
|
|
993
993
|
const { settings: n } = ie(), { styles: o } = he(), { showChatHistory: A } = zr(), [a, s] = te(!1), i = { color: (e = n.general) == null ? void 0 : e.primaryColor, borderColor: (t = n.general) == null ? void 0 : t.primaryColor, ...o.chatHistoryButtonStyle, ...o.chatHistoryButtonHoveredStyle };
|
|
994
|
-
return
|
|
994
|
+
return S("div", { className: "rcb-view-history-container", children: S("div", { onMouseEnter: () => {
|
|
995
995
|
s(!0);
|
|
996
996
|
}, onMouseLeave: () => {
|
|
997
997
|
s(!1);
|
|
998
998
|
}, style: a ? i : { ...o.chatHistoryButtonStyle }, onMouseDown: (l) => {
|
|
999
999
|
l.preventDefault(), A();
|
|
1000
|
-
}, className: "rcb-view-history-button", role: "button", tabIndex: 0, children:
|
|
1000
|
+
}, className: "rcb-view-history-button", role: "button", tabIndex: 0, children: S("p", { children: (r = n.chatHistory) == null ? void 0 : r.viewChatHistoryButtonText }) }) });
|
|
1001
1001
|
}, Ls = () => {
|
|
1002
1002
|
var e, t, r, n;
|
|
1003
|
-
const o =
|
|
1003
|
+
const o = qn(), { settings: A } = ie(), { replaceMessages: a } = Lt(), { isBotTyping: s, isChatWindowOpen: i, setUnreadCount: l, setSyncedIsChatWindowOpen: c, setSyncedTextAreaDisabled: d, setSyncedAudioToggledOn: u, setSyncedVoiceToggledOn: p, setSyncedIsScrolling: f, syncedIsScrollingRef: y, syncedIsChatWindowOpenRef: g } = Qe(), { chatBodyRef: v } = Ie(), { viewportHeight: b, setViewportHeight: h, setViewportWidth: E, scrollToBottom: C } = et(), { setUpNotifications: P } = Hr(), { handleFirstInteraction: D } = (() => {
|
|
1004
1004
|
var O;
|
|
1005
|
-
const { settings: B } = ie(), { hasInteractedPage: _, setHasInteractedPage: H, hasFlowStarted: N, setHasFlowStarted: U } = Qe(), M =
|
|
1005
|
+
const { settings: B } = ie(), { hasInteractedPage: _, setHasInteractedPage: H, hasFlowStarted: N, setHasFlowStarted: U } = Qe(), M = G(() => {
|
|
1006
1006
|
var L;
|
|
1007
1007
|
if (H(!0), !N && ((L = B.general) == null ? void 0 : L.flowStartTrigger) === "ON_PAGE_INTERACT" && U(!0), !window.SpeechSynthesisUtterance) return void console.info("Speech Synthesis API is not supported in this environment.");
|
|
1008
1008
|
const m = new window.SpeechSynthesisUtterance();
|
|
@@ -1012,8 +1012,8 @@ const Ur = () => {
|
|
|
1012
1012
|
}, [N, (O = B.general) == null ? void 0 : O.flowStartTrigger]);
|
|
1013
1013
|
return { hasInteractedPage: _, handleFirstInteraction: M };
|
|
1014
1014
|
})(), { showChatHistory: x } = zr(), Q = ne(0), k = ne(!1);
|
|
1015
|
-
Z(() => (window.addEventListener("click",
|
|
1016
|
-
window.removeEventListener("click",
|
|
1015
|
+
Z(() => (window.addEventListener("click", D), window.addEventListener("keydown", D), window.addEventListener("touchstart", D), () => {
|
|
1016
|
+
window.removeEventListener("click", D), window.removeEventListener("keydown", D), window.removeEventListener("touchstart", D);
|
|
1017
1017
|
}), []), Z(() => {
|
|
1018
1018
|
const O = v.current;
|
|
1019
1019
|
if (!O) return;
|
|
@@ -1043,7 +1043,7 @@ const Ur = () => {
|
|
|
1043
1043
|
var O, B;
|
|
1044
1044
|
if ((O = A.chatHistory) != null && O.disabled) Tt && Tt.removeItem(Rn);
|
|
1045
1045
|
else if (wr(A), gn().length > 0) {
|
|
1046
|
-
const _ = xt(
|
|
1046
|
+
const _ = xt(S(Ns, {}), "SYSTEM");
|
|
1047
1047
|
a([_]), (B = A.chatHistory) != null && B.autoLoad && x();
|
|
1048
1048
|
}
|
|
1049
1049
|
}, [(t = A.chatHistory) == null ? void 0 : t.storageKey, (r = A.chatHistory) == null ? void 0 : r.maxEntries, (n = A.chatHistory) == null ? void 0 : n.disabled]), Z(() => {
|
|
@@ -1090,8 +1090,8 @@ const Ur = () => {
|
|
|
1090
1090
|
const E = localStorage.getItem(`${so}_${v}_${b}`);
|
|
1091
1091
|
if (!E) return null;
|
|
1092
1092
|
try {
|
|
1093
|
-
const C = JSON.parse(E), P = (/* @__PURE__ */ new Date()).getTime(),
|
|
1094
|
-
return C.cacheDate + h >=
|
|
1093
|
+
const C = JSON.parse(E), P = (/* @__PURE__ */ new Date()).getTime(), D = Math.floor(P / 1e3);
|
|
1094
|
+
return C.cacheDate + h >= D ? C : null;
|
|
1095
1095
|
} catch (C) {
|
|
1096
1096
|
return console.error(`Unable to fetch cache for ${v}`, C), null;
|
|
1097
1097
|
}
|
|
@@ -1110,8 +1110,8 @@ const Ur = () => {
|
|
|
1110
1110
|
const y = await fetch(c);
|
|
1111
1111
|
let g = {};
|
|
1112
1112
|
return y.ok ? g = await y.json() : console.info(`Could not fetch styles.json from ${c}`), ((v, b, h, E, C) => {
|
|
1113
|
-
const P = (/* @__PURE__ */ new Date()).getTime(),
|
|
1114
|
-
localStorage.setItem(`${so}_${v}_${b}`, JSON.stringify(
|
|
1113
|
+
const P = (/* @__PURE__ */ new Date()).getTime(), D = { settings: h, inlineStyles: E, cssStylesText: C, cacheDate: Math.floor(P / 1e3) };
|
|
1114
|
+
localStorage.setItem(`${so}_${v}_${b}`, JSON.stringify(D));
|
|
1115
1115
|
})(r, a, f, g, d), { settings: f, inlineStyles: g, cssStylesText: lo(e, d) };
|
|
1116
1116
|
}, lo = (e, t) => t.split(new RegExp("(?<=})")).map((r) => {
|
|
1117
1117
|
const n = r.trim();
|
|
@@ -1165,73 +1165,73 @@ const Ur = () => {
|
|
|
1165
1165
|
}
|
|
1166
1166
|
return t;
|
|
1167
1167
|
}, MA = () => {
|
|
1168
|
-
const { settings: e, setSyncedSettings: t, syncedSettingsRef: r } = ie(), n =
|
|
1168
|
+
const { settings: e, setSyncedSettings: t, syncedSettingsRef: r } = ie(), n = G((A) => {
|
|
1169
1169
|
!A || Object.keys(A).length === 0 || t(Hn(pt(A, e)));
|
|
1170
|
-
}, [e]), o =
|
|
1170
|
+
}, [e]), o = G((A) => {
|
|
1171
1171
|
const a = typeof A == "function" ? A(r.current) : A;
|
|
1172
1172
|
t(a);
|
|
1173
1173
|
}, [r]);
|
|
1174
1174
|
return { settings: e, replaceSettings: o, updateSettings: n };
|
|
1175
1175
|
}, _A = () => {
|
|
1176
|
-
const { styles: e, setSyncedStyles: t, syncedStylesRef: r } = he(), n =
|
|
1176
|
+
const { styles: e, setSyncedStyles: t, syncedStylesRef: r } = he(), n = G((A) => {
|
|
1177
1177
|
!A || Object.keys(A).length === 0 || t(Hn(pt(A, e)));
|
|
1178
|
-
}, [e]), o =
|
|
1178
|
+
}, [e]), o = G((A) => {
|
|
1179
1179
|
const a = typeof A == "function" ? A(r.current) : A;
|
|
1180
1180
|
t(a);
|
|
1181
1181
|
}, [r]);
|
|
1182
1182
|
return { styles: e, replaceStyles: o, updateStyles: n };
|
|
1183
1183
|
}, Fs = ({ plugins: e, slots: t }) => {
|
|
1184
1184
|
var r, n;
|
|
1185
|
-
const o =
|
|
1185
|
+
const o = qn(), { settings: A } = ie(), { styles: a } = he(), { hasFlowStarted: s, setHasFlowStarted: i } = Qe(), { inputRef: l } = Ie(), { viewportHeight: c, viewportWidth: d, isChatWindowOpen: u } = et(), { goToPath: p } = Gn(), { headerButtons: f, chatInputButtons: y, footerButtons: g } = Os();
|
|
1186
1186
|
Ls(), ((b) => {
|
|
1187
1187
|
const { updateSettings: h } = MA(), { updateStyles: E } = _A(), C = b == null ? void 0 : b.map((P) => P());
|
|
1188
1188
|
Z(() => {
|
|
1189
|
-
let P = {},
|
|
1189
|
+
let P = {}, D = {};
|
|
1190
1190
|
C == null || C.forEach((x) => {
|
|
1191
|
-
x != null && x.settings && Object.keys(x == null ? void 0 : x.settings).length !== 0 && (P = pt(x.settings, P)), x != null && x.styles && Object.keys(x == null ? void 0 : x.styles).length !== 0 && (
|
|
1192
|
-
}), h(P), E(
|
|
1191
|
+
x != null && x.settings && Object.keys(x == null ? void 0 : x.settings).length !== 0 && (P = pt(x.settings, P)), x != null && x.styles && Object.keys(x == null ? void 0 : x.styles).length !== 0 && (D = pt(x.styles, D));
|
|
1192
|
+
}), h(P), E(D);
|
|
1193
1193
|
}, []);
|
|
1194
1194
|
})(e), Z(() => {
|
|
1195
1195
|
var b;
|
|
1196
1196
|
(s || ((b = A.general) == null ? void 0 : b.flowStartTrigger) === "ON_LOAD") && p("start");
|
|
1197
1197
|
}, [s, (r = A.general) == null ? void 0 : r.flowStartTrigger]);
|
|
1198
|
-
const v =
|
|
1198
|
+
const v = Ge(() => {
|
|
1199
1199
|
var b;
|
|
1200
1200
|
const h = "rcb-chatbot-global ";
|
|
1201
1201
|
return (b = A.general) != null && b.embedded ? h + "rcb-window-embedded" : u ? h + "rcb-window-open" : h + "rcb-window-close";
|
|
1202
1202
|
}, [A, u]);
|
|
1203
|
-
return
|
|
1203
|
+
return S(Fe, { children: (() => {
|
|
1204
1204
|
var b, h;
|
|
1205
1205
|
return o && ((b = A.device) == null ? void 0 : b.desktopEnabled) || !o && ((h = A.device) == null ? void 0 : h.mobileEnabled);
|
|
1206
1206
|
})() && ve("div", { onMouseDown: (b) => {
|
|
1207
1207
|
var h, E;
|
|
1208
1208
|
!s && ((h = A.general) == null ? void 0 : h.flowStartTrigger) === "ON_CHATBOT_INTERACT" && i(!0), o ? (E = l.current) == null || E.blur() : b == null || b.preventDefault();
|
|
1209
|
-
}, className: v, children: [
|
|
1209
|
+
}, className: v, children: [S(Cs, {}), S(Ps, {}), u && !o && !((n = A.general) != null && n.embedded) && ve(Fe, { children: [S("style", { children: `
|
|
1210
1210
|
html {
|
|
1211
1211
|
overflow: hidden !important;
|
|
1212
1212
|
touch-action: none !important;
|
|
1213
1213
|
scroll-behavior: auto !important;
|
|
1214
1214
|
}
|
|
1215
|
-
` }),
|
|
1215
|
+
` }), S("div", { style: { position: "fixed", top: 0, left: 0, width: "100%", height: "100%", backgroundColor: "#fff", zIndex: 9999 } })] }), S("div", { style: (() => {
|
|
1216
1216
|
var b, h;
|
|
1217
1217
|
return o || (b = A.general) != null && b.embedded ? (h = A.general) != null && h.embedded ? { ...a.chatWindowStyle } : { ...a.chatWindowStyle, zIndex: 1e4 } : { ...a.chatWindowStyle, borderRadius: "0px", left: "0px", right: "auto", top: "0px", bottom: "auto", width: `${d}px`, height: `${c}px`, zIndex: 1e4 };
|
|
1218
1218
|
})(), className: "rcb-chat-window", children: (() => {
|
|
1219
1219
|
var b, h, E;
|
|
1220
|
-
const C = (t == null ? void 0 : t.chatBotHeader) || zi, P = (t == null ? void 0 : t.chatBotBody) || $i,
|
|
1221
|
-
return ve(Fe, { children: [((b = A.general) == null ? void 0 : b.showHeader) &&
|
|
1220
|
+
const C = (t == null ? void 0 : t.chatBotHeader) || zi, P = (t == null ? void 0 : t.chatBotBody) || $i, D = (t == null ? void 0 : t.chatBotInput) || bs, x = (t == null ? void 0 : t.chatBotFooter) || Es;
|
|
1221
|
+
return ve(Fe, { children: [((b = A.general) == null ? void 0 : b.showHeader) && S(C, { buttons: f }), S(P, {}), S(Ds, {}), ((h = A.general) == null ? void 0 : h.showInputRow) && S(D, { buttons: y }), ((E = A.general) == null ? void 0 : E.showFooter) && S(x, { buttons: g })] });
|
|
1222
1222
|
})() })] }) });
|
|
1223
1223
|
}, OA = yt(void 0), NA = () => vt(OA), LA = ({ children: e }) => {
|
|
1224
1224
|
var t;
|
|
1225
1225
|
const r = ne(""), n = ne({}), [o, A, a] = Ze({}), [s, i, l] = Ze({}), [c, d] = te(!1);
|
|
1226
1226
|
return Z(() => {
|
|
1227
1227
|
d(!0);
|
|
1228
|
-
}, []), c ?
|
|
1228
|
+
}, []), c ? S("div", { style: { fontFamily: (t = o.general) == null ? void 0 : t.fontFamily }, children: S(OA.Provider, { value: { loadConfig: async (u, p, f, y, g, v) => {
|
|
1229
1229
|
r.current = u, n.current = p;
|
|
1230
1230
|
const b = await Us(u, f, y, g);
|
|
1231
1231
|
v.current && (v.current.textContent = b.cssStylesText), A(b.settings), i(b.inlineStyles);
|
|
1232
|
-
} }, children:
|
|
1232
|
+
} }, children: S(Fi, { settings: o, setSyncedSettings: A, syncedSettingsRef: a, children: S(ji, { styles: s, setSyncedStyles: i, syncedStylesRef: l, children: S(ws, { children: S(Gi, { botIdRef: r, flowRef: n, children: S(Yi, { children: S(qi, { settings: o, children: S(Ki, { children: e }) }) }) }) }) }) }) }) }) : null;
|
|
1233
1233
|
}, js = ({ id: e, flow: t, settings: r, styles: n, themes: o, plugins: A, setConfigLoaded: a, styleRootRef: s }) => {
|
|
1234
|
-
const i =
|
|
1234
|
+
const i = Ge(() => e, []), l = NA(), { flowRef: c } = Ie();
|
|
1235
1235
|
return c && c.current !== t && (c.current = t), Z(() => {
|
|
1236
1236
|
(async () => {
|
|
1237
1237
|
var d, u;
|
|
@@ -1262,32 +1262,32 @@ const Ur = () => {
|
|
|
1262
1262
|
return e.injectMessage("Sit tight! I'll send you right there!"), setTimeout(() => {
|
|
1263
1263
|
window.open(t);
|
|
1264
1264
|
}, 1e3), "repeat";
|
|
1265
|
-
} }, repeat: { transition: { duration: 3e3 }, path: "prompt_again" } },
|
|
1266
|
-
const s =
|
|
1265
|
+
} }, repeat: { transition: { duration: 3e3 }, path: "prompt_again" } }, Gs = ({ id: e, flow: t, settings: r, styles: n, themes: o, plugins: A, slots: a }) => {
|
|
1266
|
+
const s = Ge(() => e || "rcb-" + Ln(), []), i = t && Object.keys(t).length !== 0 ? t : zs, l = r || {}, c = n || {}, d = A || [], [u, p] = te(!1), f = NA(), y = ne(null), [g, v] = te(o || []);
|
|
1267
1267
|
Z(() => {
|
|
1268
1268
|
o && v(o);
|
|
1269
1269
|
}, [o]);
|
|
1270
|
-
const b = () => ve(Fe, { children: [
|
|
1271
|
-
return ve(f == null ? LA : Fe, { children: [
|
|
1272
|
-
},
|
|
1270
|
+
const b = () => ve(Fe, { children: [S(js, { styleRootRef: y, id: s, flow: i, settings: l, styles: c, themes: g, plugins: d, setConfigLoaded: p }), u && S(Fs, { plugins: A, slots: a })] });
|
|
1271
|
+
return ve(f == null ? LA : Fe, { children: [S("style", { ref: y }), S("div", { id: s, children: b() })] });
|
|
1272
|
+
}, qs = () => {
|
|
1273
1273
|
const { getBotId: e } = (() => {
|
|
1274
1274
|
const { botIdRef: t } = Ie();
|
|
1275
|
-
return { getBotId:
|
|
1275
|
+
return { getBotId: G(() => t.current, [t]) };
|
|
1276
1276
|
})();
|
|
1277
1277
|
return { getBotId: e };
|
|
1278
1278
|
}, Wn = () => {
|
|
1279
1279
|
const { hasFlowStarted: e, restartFlow: t, getFlow: r } = (() => {
|
|
1280
|
-
const { replaceMessages: n } = Lt(), { replacePaths: o, goToPath: A } =
|
|
1281
|
-
return { hasFlowStarted: s, restartFlow:
|
|
1280
|
+
const { replaceMessages: n } = Lt(), { replacePaths: o, goToPath: A } = Gn(), { replaceToasts: a } = en(), { hasFlowStarted: s } = Qe(), { flowRef: i, timeoutIdRef: l } = Ie(), { settings: c } = ie();
|
|
1281
|
+
return { hasFlowStarted: s, restartFlow: G(async () => {
|
|
1282
1282
|
wr(c), l.current && clearTimeout(l.current), n([]), a([]), o([]), await A("start");
|
|
1283
|
-
}, [l, c, n, a, o, wr, A]), getFlow:
|
|
1283
|
+
}, [l, c, n, a, o, wr, A]), getFlow: G(() => (i == null ? void 0 : i.current) ?? {}, [i]) };
|
|
1284
1284
|
})();
|
|
1285
1285
|
return { hasFlowStarted: e, restartFlow: t, getFlow: r };
|
|
1286
1286
|
}, wn = () => {
|
|
1287
1287
|
const { endStreamMessage: e, injectMessage: t, removeMessage: r, simulateStreamMessage: n, streamMessage: o, messages: A, replaceMessages: a, getMessages: s } = Lt();
|
|
1288
1288
|
return { endStreamMessage: e, injectMessage: t, removeMessage: r, simulateStreamMessage: n, streamMessage: o, messages: A, replaceMessages: a, getMessages: s };
|
|
1289
1289
|
}, ot = (e, t) => {
|
|
1290
|
-
const { getBotId: r } =
|
|
1290
|
+
const { getBotId: r } = qs();
|
|
1291
1291
|
Z(() => {
|
|
1292
1292
|
const n = (o) => {
|
|
1293
1293
|
o.detail.botId === r() && t(o);
|
|
@@ -1549,17 +1549,17 @@ function Aa(e) {
|
|
|
1549
1549
|
C.onBeforeParse && g.push(C.onBeforeParse.bind(C)), C.onAfterParse && v.push(C.onAfterParse.bind(C));
|
|
1550
1550
|
});
|
|
1551
1551
|
const b = g.reduce((C, P) => {
|
|
1552
|
-
const
|
|
1553
|
-
if (process.env.NODE_ENV !== "production" && typeof
|
|
1554
|
-
return
|
|
1552
|
+
const D = P(C, e);
|
|
1553
|
+
if (process.env.NODE_ENV !== "production" && typeof D != "string") throw new TypeError("Interweave `onBeforeParse` must return a valid HTML string.");
|
|
1554
|
+
return D;
|
|
1555
1555
|
}, n ?? ""), h = new jA(b, p, f, y), E = v.reduce((C, P) => {
|
|
1556
|
-
const
|
|
1557
|
-
if (process.env.NODE_ENV !== "production" && !Array.isArray(
|
|
1558
|
-
return
|
|
1556
|
+
const D = P(C, e);
|
|
1557
|
+
if (process.env.NODE_ENV !== "production" && !Array.isArray(D)) throw new TypeError("Interweave `onAfterParse` must return an array of strings and React elements.");
|
|
1558
|
+
return D;
|
|
1559
1559
|
}, h.parse());
|
|
1560
1560
|
return T.createElement(oa, { attributes: t, className: r, containerTagName: e.containerTagName, emptyContent: a, noWrap: u, parsedContent: E.length === 0 ? void 0 : E, tagName: d });
|
|
1561
1561
|
}
|
|
1562
|
-
const ia = ({ children: e }) =>
|
|
1562
|
+
const ia = ({ children: e }) => S("div", { style: { whiteSpace: "normal" }, children: S(Aa, { content: typeof e == "string" ? e : "" }) }), sa = { autoConfig: !0 }, fo = (e, t, r) => {
|
|
1563
1563
|
var n;
|
|
1564
1564
|
if (!e.detail.currPath) return !1;
|
|
1565
1565
|
const o = t[e.detail.currPath];
|
|
@@ -1625,12 +1625,12 @@ class nt {
|
|
|
1625
1625
|
}
|
|
1626
1626
|
nt.prototype.space = null, nt.prototype.boolean = !1, nt.prototype.booleanish = !1, nt.prototype.overloadedBoolean = !1, nt.prototype.number = !1, nt.prototype.commaSeparated = !1, nt.prototype.spaceSeparated = !1, nt.prototype.commaOrSpaceSeparated = !1, nt.prototype.mustUseProperty = !1, nt.prototype.defined = !1;
|
|
1627
1627
|
let fa = 0;
|
|
1628
|
-
const oe = Ht(), xe = Ht(),
|
|
1628
|
+
const oe = Ht(), xe = Ht(), GA = Ht(), R = Ht(), we = Ht(), Zt = Ht(), Xe = Ht();
|
|
1629
1629
|
function Ht() {
|
|
1630
1630
|
return 2 ** ++fa;
|
|
1631
1631
|
}
|
|
1632
|
-
const Cr = Object.freeze(Object.defineProperty({ __proto__: null, boolean: oe, booleanish: xe, commaOrSpaceSeparated: Xe, commaSeparated: Zt, number: R, overloadedBoolean:
|
|
1633
|
-
class
|
|
1632
|
+
const Cr = Object.freeze(Object.defineProperty({ __proto__: null, boolean: oe, booleanish: xe, commaOrSpaceSeparated: Xe, commaSeparated: Zt, number: R, overloadedBoolean: GA, spaceSeparated: we }, Symbol.toStringTag, { value: "Module" })), tr = Object.keys(Cr);
|
|
1633
|
+
class Gr extends nt {
|
|
1634
1634
|
constructor(t, r, n, o) {
|
|
1635
1635
|
let A = -1;
|
|
1636
1636
|
if (super(t, r), mo(this, "space", o), typeof n == "number") for (; ++A < tr.length; ) {
|
|
@@ -1642,32 +1642,32 @@ class qr extends nt {
|
|
|
1642
1642
|
function mo(e, t, r) {
|
|
1643
1643
|
r && (e[t] = r);
|
|
1644
1644
|
}
|
|
1645
|
-
|
|
1645
|
+
Gr.prototype.defined = !0;
|
|
1646
1646
|
const ga = {}.hasOwnProperty;
|
|
1647
1647
|
function nn(e) {
|
|
1648
1648
|
const t = {}, r = {};
|
|
1649
1649
|
let n;
|
|
1650
1650
|
for (n in e.properties) if (ga.call(e.properties, n)) {
|
|
1651
|
-
const o = e.properties[n], A = new
|
|
1651
|
+
const o = e.properties[n], A = new Gr(n, e.transform(e.attributes || {}, n), o, e.space);
|
|
1652
1652
|
e.mustUseProperty && e.mustUseProperty.includes(n) && (A.mustUseProperty = !0), t[n] = A, r[Pr(n)] = n, r[Pr(A.attribute)] = n;
|
|
1653
1653
|
}
|
|
1654
1654
|
return new un(t, r, e.space);
|
|
1655
1655
|
}
|
|
1656
|
-
const
|
|
1656
|
+
const qA = nn({ space: "xlink", transform: (e, t) => "xlink:" + t.slice(5).toLowerCase(), properties: { xLinkActuate: null, xLinkArcRole: null, xLinkHref: null, xLinkRole: null, xLinkShow: null, xLinkTitle: null, xLinkType: null } }), WA = nn({ space: "xml", transform: (e, t) => "xml:" + t.slice(3).toLowerCase(), properties: { xmlLang: null, xmlBase: null, xmlSpace: null } });
|
|
1657
1657
|
function YA(e, t) {
|
|
1658
1658
|
return t in e ? e[t] : t;
|
|
1659
1659
|
}
|
|
1660
1660
|
function VA(e, t) {
|
|
1661
1661
|
return YA(e, t.toLowerCase());
|
|
1662
1662
|
}
|
|
1663
|
-
const KA = nn({ space: "xmlns", attributes: { xmlnsxlink: "xmlns:xlink" }, transform: VA, properties: { xmlns: null, xmlnsXLink: null } }), XA = nn({ transform: (e, t) => t === "role" ? t : "aria-" + t.slice(4).toLowerCase(), properties: { ariaActiveDescendant: null, ariaAtomic: xe, ariaAutoComplete: null, ariaBusy: xe, ariaChecked: xe, ariaColCount: R, ariaColIndex: R, ariaColSpan: R, ariaControls: we, ariaCurrent: null, ariaDescribedBy: we, ariaDetails: null, ariaDisabled: xe, ariaDropEffect: we, ariaErrorMessage: null, ariaExpanded: xe, ariaFlowTo: we, ariaGrabbed: xe, ariaHasPopup: null, ariaHidden: xe, ariaInvalid: null, ariaKeyShortcuts: null, ariaLabel: null, ariaLabelledBy: we, ariaLevel: R, ariaLive: null, ariaModal: xe, ariaMultiLine: xe, ariaMultiSelectable: xe, ariaOrientation: null, ariaOwns: we, ariaPlaceholder: null, ariaPosInSet: R, ariaPressed: xe, ariaReadOnly: xe, ariaRelevant: null, ariaRequired: xe, ariaRoleDescription: we, ariaRowCount: R, ariaRowIndex: R, ariaRowSpan: R, ariaSelected: xe, ariaSetSize: R, ariaSort: null, ariaValueMax: R, ariaValueMin: R, ariaValueNow: R, ariaValueText: null, role: null } }), ha = nn({ space: "html", attributes: { acceptcharset: "accept-charset", classname: "class", htmlfor: "for", httpequiv: "http-equiv" }, transform: VA, mustUseProperty: ["checked", "multiple", "muted", "selected"], properties: { abbr: null, accept: Zt, acceptCharset: we, accessKey: we, action: null, allow: null, allowFullScreen: oe, allowPaymentRequest: oe, allowUserMedia: oe, alt: null, as: null, async: oe, autoCapitalize: null, autoComplete: we, autoFocus: oe, autoPlay: oe, blocking: we, capture: null, charSet: null, checked: oe, cite: null, className: we, cols: R, colSpan: null, content: null, contentEditable: xe, controls: oe, controlsList: we, coords: R | Zt, crossOrigin: null, data: null, dateTime: null, decoding: null, default: oe, defer: oe, dir: null, dirName: null, disabled: oe, download: qA, draggable: xe, encType: null, enterKeyHint: null, fetchPriority: null, form: null, formAction: null, formEncType: null, formMethod: null, formNoValidate: oe, formTarget: null, headers: we, height: R, hidden: oe, high: R, href: null, hrefLang: null, htmlFor: we, httpEquiv: we, id: null, imageSizes: null, imageSrcSet: null, inert: oe, inputMode: null, integrity: null, is: null, isMap: oe, itemId: null, itemProp: we, itemRef: we, itemScope: oe, itemType: we, kind: null, label: null, lang: null, language: null, list: null, loading: null, loop: oe, low: R, manifest: null, max: null, maxLength: R, media: null, method: null, min: null, minLength: R, multiple: oe, muted: oe, name: null, nonce: null, noModule: oe, noValidate: oe, onAbort: null, onAfterPrint: null, onAuxClick: null, onBeforeMatch: null, onBeforePrint: null, onBeforeToggle: null, onBeforeUnload: null, onBlur: null, onCancel: null, onCanPlay: null, onCanPlayThrough: null, onChange: null, onClick: null, onClose: null, onContextLost: null, onContextMenu: null, onContextRestored: null, onCopy: null, onCueChange: null, onCut: null, onDblClick: null, onDrag: null, onDragEnd: null, onDragEnter: null, onDragExit: null, onDragLeave: null, onDragOver: null, onDragStart: null, onDrop: null, onDurationChange: null, onEmptied: null, onEnded: null, onError: null, onFocus: null, onFormData: null, onHashChange: null, onInput: null, onInvalid: null, onKeyDown: null, onKeyPress: null, onKeyUp: null, onLanguageChange: null, onLoad: null, onLoadedData: null, onLoadedMetadata: null, onLoadEnd: null, onLoadStart: null, onMessage: null, onMessageError: null, onMouseDown: null, onMouseEnter: null, onMouseLeave: null, onMouseMove: null, onMouseOut: null, onMouseOver: null, onMouseUp: null, onOffline: null, onOnline: null, onPageHide: null, onPageShow: null, onPaste: null, onPause: null, onPlay: null, onPlaying: null, onPopState: null, onProgress: null, onRateChange: null, onRejectionHandled: null, onReset: null, onResize: null, onScroll: null, onScrollEnd: null, onSecurityPolicyViolation: null, onSeeked: null, onSeeking: null, onSelect: null, onSlotChange: null, onStalled: null, onStorage: null, onSubmit: null, onSuspend: null, onTimeUpdate: null, onToggle: null, onUnhandledRejection: null, onUnload: null, onVolumeChange: null, onWaiting: null, onWheel: null, open: oe, optimum: R, pattern: null, ping: we, placeholder: null, playsInline: oe, popover: null, popoverTarget: null, popoverTargetAction: null, poster: null, preload: null, readOnly: oe, referrerPolicy: null, rel: we, required: oe, reversed: oe, rows: R, rowSpan: R, sandbox: we, scope: null, scoped: oe, seamless: oe, selected: oe, shadowRootClonable: oe, shadowRootDelegatesFocus: oe, shadowRootMode: null, shape: null, size: R, sizes: null, slot: null, span: R, spellCheck: xe, src: null, srcDoc: null, srcLang: null, srcSet: null, start: R, step: null, style: null, tabIndex: R, target: null, title: null, translate: null, type: null, typeMustMatch: oe, useMap: null, value: xe, width: R, wrap: null, writingSuggestions: null, align: null, aLink: null, archive: we, axis: null, background: null, bgColor: null, border: R, borderColor: null, bottomMargin: R, cellPadding: null, cellSpacing: null, char: null, charOff: null, classId: null, clear: null, code: null, codeBase: null, codeType: null, color: null, compact: oe, declare: oe, event: null, face: null, frame: null, frameBorder: null, hSpace: R, leftMargin: R, link: null, longDesc: null, lowSrc: null, marginHeight: R, marginWidth: R, noResize: oe, noHref: oe, noShade: oe, noWrap: oe, object: null, profile: null, prompt: null, rev: null, rightMargin: R, rules: null, scheme: null, scrolling: xe, standby: null, summary: null, text: null, topMargin: R, valueType: null, version: null, vAlign: null, vLink: null, vSpace: R, allowTransparency: null, autoCorrect: null, autoSave: null, disablePictureInPicture: oe, disableRemotePlayback: oe, prefix: null, property: null, results: R, security: null, unselectable: null } }), ma = nn({ space: "svg", attributes: { accentHeight: "accent-height", alignmentBaseline: "alignment-baseline", arabicForm: "arabic-form", baselineShift: "baseline-shift", capHeight: "cap-height", className: "class", clipPath: "clip-path", clipRule: "clip-rule", colorInterpolation: "color-interpolation", colorInterpolationFilters: "color-interpolation-filters", colorProfile: "color-profile", colorRendering: "color-rendering", crossOrigin: "crossorigin", dataType: "datatype", dominantBaseline: "dominant-baseline", enableBackground: "enable-background", fillOpacity: "fill-opacity", fillRule: "fill-rule", floodColor: "flood-color", floodOpacity: "flood-opacity", fontFamily: "font-family", fontSize: "font-size", fontSizeAdjust: "font-size-adjust", fontStretch: "font-stretch", fontStyle: "font-style", fontVariant: "font-variant", fontWeight: "font-weight", glyphName: "glyph-name", glyphOrientationHorizontal: "glyph-orientation-horizontal", glyphOrientationVertical: "glyph-orientation-vertical", hrefLang: "hreflang", horizAdvX: "horiz-adv-x", horizOriginX: "horiz-origin-x", horizOriginY: "horiz-origin-y", imageRendering: "image-rendering", letterSpacing: "letter-spacing", lightingColor: "lighting-color", markerEnd: "marker-end", markerMid: "marker-mid", markerStart: "marker-start", navDown: "nav-down", navDownLeft: "nav-down-left", navDownRight: "nav-down-right", navLeft: "nav-left", navNext: "nav-next", navPrev: "nav-prev", navRight: "nav-right", navUp: "nav-up", navUpLeft: "nav-up-left", navUpRight: "nav-up-right", onAbort: "onabort", onActivate: "onactivate", onAfterPrint: "onafterprint", onBeforePrint: "onbeforeprint", onBegin: "onbegin", onCancel: "oncancel", onCanPlay: "oncanplay", onCanPlayThrough: "oncanplaythrough", onChange: "onchange", onClick: "onclick", onClose: "onclose", onCopy: "oncopy", onCueChange: "oncuechange", onCut: "oncut", onDblClick: "ondblclick", onDrag: "ondrag", onDragEnd: "ondragend", onDragEnter: "ondragenter", onDragExit: "ondragexit", onDragLeave: "ondragleave", onDragOver: "ondragover", onDragStart: "ondragstart", onDrop: "ondrop", onDurationChange: "ondurationchange", onEmptied: "onemptied", onEnd: "onend", onEnded: "onended", onError: "onerror", onFocus: "onfocus", onFocusIn: "onfocusin", onFocusOut: "onfocusout", onHashChange: "onhashchange", onInput: "oninput", onInvalid: "oninvalid", onKeyDown: "onkeydown", onKeyPress: "onkeypress", onKeyUp: "onkeyup", onLoad: "onload", onLoadedData: "onloadeddata", onLoadedMetadata: "onloadedmetadata", onLoadStart: "onloadstart", onMessage: "onmessage", onMouseDown: "onmousedown", onMouseEnter: "onmouseenter", onMouseLeave: "onmouseleave", onMouseMove: "onmousemove", onMouseOut: "onmouseout", onMouseOver: "onmouseover", onMouseUp: "onmouseup", onMouseWheel: "onmousewheel", onOffline: "onoffline", onOnline: "ononline", onPageHide: "onpagehide", onPageShow: "onpageshow", onPaste: "onpaste", onPause: "onpause", onPlay: "onplay", onPlaying: "onplaying", onPopState: "onpopstate", onProgress: "onprogress", onRateChange: "onratechange", onRepeat: "onrepeat", onReset: "onreset", onResize: "onresize", onScroll: "onscroll", onSeeked: "onseeked", onSeeking: "onseeking", onSelect: "onselect", onShow: "onshow", onStalled: "onstalled", onStorage: "onstorage", onSubmit: "onsubmit", onSuspend: "onsuspend", onTimeUpdate: "ontimeupdate", onToggle: "ontoggle", onUnload: "onunload", onVolumeChange: "onvolumechange", onWaiting: "onwaiting", onZoom: "onzoom", overlinePosition: "overline-position", overlineThickness: "overline-thickness", paintOrder: "paint-order", panose1: "panose-1", pointerEvents: "pointer-events", referrerPolicy: "referrerpolicy", renderingIntent: "rendering-intent", shapeRendering: "shape-rendering", stopColor: "stop-color", stopOpacity: "stop-opacity", strikethroughPosition: "strikethrough-position", strikethroughThickness: "strikethrough-thickness", strokeDashArray: "stroke-dasharray", strokeDashOffset: "stroke-dashoffset", strokeLineCap: "stroke-linecap", strokeLineJoin: "stroke-linejoin", strokeMiterLimit: "stroke-miterlimit", strokeOpacity: "stroke-opacity", strokeWidth: "stroke-width", tabIndex: "tabindex", textAnchor: "text-anchor", textDecoration: "text-decoration", textRendering: "text-rendering", transformOrigin: "transform-origin", typeOf: "typeof", underlinePosition: "underline-position", underlineThickness: "underline-thickness", unicodeBidi: "unicode-bidi", unicodeRange: "unicode-range", unitsPerEm: "units-per-em", vAlphabetic: "v-alphabetic", vHanging: "v-hanging", vIdeographic: "v-ideographic", vMathematical: "v-mathematical", vectorEffect: "vector-effect", vertAdvY: "vert-adv-y", vertOriginX: "vert-origin-x", vertOriginY: "vert-origin-y", wordSpacing: "word-spacing", writingMode: "writing-mode", xHeight: "x-height", playbackOrder: "playbackorder", timelineBegin: "timelinebegin" }, transform: YA, properties: { about: Xe, accentHeight: R, accumulate: null, additive: null, alignmentBaseline: null, alphabetic: R, amplitude: R, arabicForm: null, ascent: R, attributeName: null, attributeType: null, azimuth: R, bandwidth: null, baselineShift: null, baseFrequency: null, baseProfile: null, bbox: null, begin: null, bias: R, by: null, calcMode: null, capHeight: R, className: we, clip: null, clipPath: null, clipPathUnits: null, clipRule: null, color: null, colorInterpolation: null, colorInterpolationFilters: null, colorProfile: null, colorRendering: null, content: null, contentScriptType: null, contentStyleType: null, crossOrigin: null, cursor: null, cx: null, cy: null, d: null, dataType: null, defaultAction: null, descent: R, diffuseConstant: R, direction: null, display: null, dur: null, divisor: R, dominantBaseline: null, download: oe, dx: null, dy: null, edgeMode: null, editable: null, elevation: R, enableBackground: null, end: null, event: null, exponent: R, externalResourcesRequired: null, fill: null, fillOpacity: R, fillRule: null, filter: null, filterRes: null, filterUnits: null, floodColor: null, floodOpacity: null, focusable: null, focusHighlight: null, fontFamily: null, fontSize: null, fontSizeAdjust: null, fontStretch: null, fontStyle: null, fontVariant: null, fontWeight: null, format: null, fr: null, from: null, fx: null, fy: null, g1: Zt, g2: Zt, glyphName: Zt, glyphOrientationHorizontal: null, glyphOrientationVertical: null, glyphRef: null, gradientTransform: null, gradientUnits: null, handler: null, hanging: R, hatchContentUnits: null, hatchUnits: null, height: null, href: null, hrefLang: null, horizAdvX: R, horizOriginX: R, horizOriginY: R, id: null, ideographic: R, imageRendering: null, initialVisibility: null, in: null, in2: null, intercept: R, k: R, k1: R, k2: R, k3: R, k4: R, kernelMatrix: Xe, kernelUnitLength: null, keyPoints: null, keySplines: null, keyTimes: null, kerning: null, lang: null, lengthAdjust: null, letterSpacing: null, lightingColor: null, limitingConeAngle: R, local: null, markerEnd: null, markerMid: null, markerStart: null, markerHeight: null, markerUnits: null, markerWidth: null, mask: null, maskContentUnits: null, maskUnits: null, mathematical: null, max: null, media: null, mediaCharacterEncoding: null, mediaContentEncodings: null, mediaSize: R, mediaTime: null, method: null, min: null, mode: null, name: null, navDown: null, navDownLeft: null, navDownRight: null, navLeft: null, navNext: null, navPrev: null, navRight: null, navUp: null, navUpLeft: null, navUpRight: null, numOctaves: null, observer: null, offset: null, onAbort: null, onActivate: null, onAfterPrint: null, onBeforePrint: null, onBegin: null, onCancel: null, onCanPlay: null, onCanPlayThrough: null, onChange: null, onClick: null, onClose: null, onCopy: null, onCueChange: null, onCut: null, onDblClick: null, onDrag: null, onDragEnd: null, onDragEnter: null, onDragExit: null, onDragLeave: null, onDragOver: null, onDragStart: null, onDrop: null, onDurationChange: null, onEmptied: null, onEnd: null, onEnded: null, onError: null, onFocus: null, onFocusIn: null, onFocusOut: null, onHashChange: null, onInput: null, onInvalid: null, onKeyDown: null, onKeyPress: null, onKeyUp: null, onLoad: null, onLoadedData: null, onLoadedMetadata: null, onLoadStart: null, onMessage: null, onMouseDown: null, onMouseEnter: null, onMouseLeave: null, onMouseMove: null, onMouseOut: null, onMouseOver: null, onMouseUp: null, onMouseWheel: null, onOffline: null, onOnline: null, onPageHide: null, onPageShow: null, onPaste: null, onPause: null, onPlay: null, onPlaying: null, onPopState: null, onProgress: null, onRateChange: null, onRepeat: null, onReset: null, onResize: null, onScroll: null, onSeeked: null, onSeeking: null, onSelect: null, onShow: null, onStalled: null, onStorage: null, onSubmit: null, onSuspend: null, onTimeUpdate: null, onToggle: null, onUnload: null, onVolumeChange: null, onWaiting: null, onZoom: null, opacity: null, operator: null, order: null, orient: null, orientation: null, origin: null, overflow: null, overlay: null, overlinePosition: R, overlineThickness: R, paintOrder: null, panose1: null, path: null, pathLength: R, patternContentUnits: null, patternTransform: null, patternUnits: null, phase: null, ping: we, pitch: null, playbackOrder: null, pointerEvents: null, points: null, pointsAtX: R, pointsAtY: R, pointsAtZ: R, preserveAlpha: null, preserveAspectRatio: null, primitiveUnits: null, propagate: null, property: Xe, r: null, radius: null, referrerPolicy: null, refX: null, refY: null, rel: Xe, rev: Xe, renderingIntent: null, repeatCount: null, repeatDur: null, requiredExtensions: Xe, requiredFeatures: Xe, requiredFonts: Xe, requiredFormats: Xe, resource: null, restart: null, result: null, rotate: null, rx: null, ry: null, scale: null, seed: null, shapeRendering: null, side: null, slope: null, snapshotTime: null, specularConstant: R, specularExponent: R, spreadMethod: null, spacing: null, startOffset: null, stdDeviation: null, stemh: null, stemv: null, stitchTiles: null, stopColor: null, stopOpacity: null, strikethroughPosition: R, strikethroughThickness: R, string: null, stroke: null, strokeDashArray: Xe, strokeDashOffset: null, strokeLineCap: null, strokeLineJoin: null, strokeMiterLimit: R, strokeOpacity: R, strokeWidth: null, style: null, surfaceScale: R, syncBehavior: null, syncBehaviorDefault: null, syncMaster: null, syncTolerance: null, syncToleranceDefault: null, systemLanguage: Xe, tabIndex: R, tableValues: null, target: null, targetX: R, targetY: R, textAnchor: null, textDecoration: null, textRendering: null, textLength: null, timelineBegin: null, title: null, transformBehavior: null, type: null, typeOf: Xe, to: null, transform: null, transformOrigin: null, u1: null, u2: null, underlinePosition: R, underlineThickness: R, unicode: null, unicodeBidi: null, unicodeRange: null, unitsPerEm: R, values: null, vAlphabetic: R, vMathematical: R, vectorEffect: null, vHanging: R, vIdeographic: R, version: null, vertAdvY: R, vertOriginX: R, vertOriginY: R, viewBox: null, viewTarget: null, visibility: null, width: null, widths: null, wordSpacing: null, writingMode: null, x: null, x1: null, x2: null, xChannelSelector: null, xHeight: R, y: null, y1: null, y2: null, yChannelSelector: null, z: null, zoomAndPan: null } }), ya = /^data[-\w.:]+$/i, yo = /-[a-z]/g, va = /[A-Z]/g;
|
|
1663
|
+
const KA = nn({ space: "xmlns", attributes: { xmlnsxlink: "xmlns:xlink" }, transform: VA, properties: { xmlns: null, xmlnsXLink: null } }), XA = nn({ transform: (e, t) => t === "role" ? t : "aria-" + t.slice(4).toLowerCase(), properties: { ariaActiveDescendant: null, ariaAtomic: xe, ariaAutoComplete: null, ariaBusy: xe, ariaChecked: xe, ariaColCount: R, ariaColIndex: R, ariaColSpan: R, ariaControls: we, ariaCurrent: null, ariaDescribedBy: we, ariaDetails: null, ariaDisabled: xe, ariaDropEffect: we, ariaErrorMessage: null, ariaExpanded: xe, ariaFlowTo: we, ariaGrabbed: xe, ariaHasPopup: null, ariaHidden: xe, ariaInvalid: null, ariaKeyShortcuts: null, ariaLabel: null, ariaLabelledBy: we, ariaLevel: R, ariaLive: null, ariaModal: xe, ariaMultiLine: xe, ariaMultiSelectable: xe, ariaOrientation: null, ariaOwns: we, ariaPlaceholder: null, ariaPosInSet: R, ariaPressed: xe, ariaReadOnly: xe, ariaRelevant: null, ariaRequired: xe, ariaRoleDescription: we, ariaRowCount: R, ariaRowIndex: R, ariaRowSpan: R, ariaSelected: xe, ariaSetSize: R, ariaSort: null, ariaValueMax: R, ariaValueMin: R, ariaValueNow: R, ariaValueText: null, role: null } }), ha = nn({ space: "html", attributes: { acceptcharset: "accept-charset", classname: "class", htmlfor: "for", httpequiv: "http-equiv" }, transform: VA, mustUseProperty: ["checked", "multiple", "muted", "selected"], properties: { abbr: null, accept: Zt, acceptCharset: we, accessKey: we, action: null, allow: null, allowFullScreen: oe, allowPaymentRequest: oe, allowUserMedia: oe, alt: null, as: null, async: oe, autoCapitalize: null, autoComplete: we, autoFocus: oe, autoPlay: oe, blocking: we, capture: null, charSet: null, checked: oe, cite: null, className: we, cols: R, colSpan: null, content: null, contentEditable: xe, controls: oe, controlsList: we, coords: R | Zt, crossOrigin: null, data: null, dateTime: null, decoding: null, default: oe, defer: oe, dir: null, dirName: null, disabled: oe, download: GA, draggable: xe, encType: null, enterKeyHint: null, fetchPriority: null, form: null, formAction: null, formEncType: null, formMethod: null, formNoValidate: oe, formTarget: null, headers: we, height: R, hidden: oe, high: R, href: null, hrefLang: null, htmlFor: we, httpEquiv: we, id: null, imageSizes: null, imageSrcSet: null, inert: oe, inputMode: null, integrity: null, is: null, isMap: oe, itemId: null, itemProp: we, itemRef: we, itemScope: oe, itemType: we, kind: null, label: null, lang: null, language: null, list: null, loading: null, loop: oe, low: R, manifest: null, max: null, maxLength: R, media: null, method: null, min: null, minLength: R, multiple: oe, muted: oe, name: null, nonce: null, noModule: oe, noValidate: oe, onAbort: null, onAfterPrint: null, onAuxClick: null, onBeforeMatch: null, onBeforePrint: null, onBeforeToggle: null, onBeforeUnload: null, onBlur: null, onCancel: null, onCanPlay: null, onCanPlayThrough: null, onChange: null, onClick: null, onClose: null, onContextLost: null, onContextMenu: null, onContextRestored: null, onCopy: null, onCueChange: null, onCut: null, onDblClick: null, onDrag: null, onDragEnd: null, onDragEnter: null, onDragExit: null, onDragLeave: null, onDragOver: null, onDragStart: null, onDrop: null, onDurationChange: null, onEmptied: null, onEnded: null, onError: null, onFocus: null, onFormData: null, onHashChange: null, onInput: null, onInvalid: null, onKeyDown: null, onKeyPress: null, onKeyUp: null, onLanguageChange: null, onLoad: null, onLoadedData: null, onLoadedMetadata: null, onLoadEnd: null, onLoadStart: null, onMessage: null, onMessageError: null, onMouseDown: null, onMouseEnter: null, onMouseLeave: null, onMouseMove: null, onMouseOut: null, onMouseOver: null, onMouseUp: null, onOffline: null, onOnline: null, onPageHide: null, onPageShow: null, onPaste: null, onPause: null, onPlay: null, onPlaying: null, onPopState: null, onProgress: null, onRateChange: null, onRejectionHandled: null, onReset: null, onResize: null, onScroll: null, onScrollEnd: null, onSecurityPolicyViolation: null, onSeeked: null, onSeeking: null, onSelect: null, onSlotChange: null, onStalled: null, onStorage: null, onSubmit: null, onSuspend: null, onTimeUpdate: null, onToggle: null, onUnhandledRejection: null, onUnload: null, onVolumeChange: null, onWaiting: null, onWheel: null, open: oe, optimum: R, pattern: null, ping: we, placeholder: null, playsInline: oe, popover: null, popoverTarget: null, popoverTargetAction: null, poster: null, preload: null, readOnly: oe, referrerPolicy: null, rel: we, required: oe, reversed: oe, rows: R, rowSpan: R, sandbox: we, scope: null, scoped: oe, seamless: oe, selected: oe, shadowRootClonable: oe, shadowRootDelegatesFocus: oe, shadowRootMode: null, shape: null, size: R, sizes: null, slot: null, span: R, spellCheck: xe, src: null, srcDoc: null, srcLang: null, srcSet: null, start: R, step: null, style: null, tabIndex: R, target: null, title: null, translate: null, type: null, typeMustMatch: oe, useMap: null, value: xe, width: R, wrap: null, writingSuggestions: null, align: null, aLink: null, archive: we, axis: null, background: null, bgColor: null, border: R, borderColor: null, bottomMargin: R, cellPadding: null, cellSpacing: null, char: null, charOff: null, classId: null, clear: null, code: null, codeBase: null, codeType: null, color: null, compact: oe, declare: oe, event: null, face: null, frame: null, frameBorder: null, hSpace: R, leftMargin: R, link: null, longDesc: null, lowSrc: null, marginHeight: R, marginWidth: R, noResize: oe, noHref: oe, noShade: oe, noWrap: oe, object: null, profile: null, prompt: null, rev: null, rightMargin: R, rules: null, scheme: null, scrolling: xe, standby: null, summary: null, text: null, topMargin: R, valueType: null, version: null, vAlign: null, vLink: null, vSpace: R, allowTransparency: null, autoCorrect: null, autoSave: null, disablePictureInPicture: oe, disableRemotePlayback: oe, prefix: null, property: null, results: R, security: null, unselectable: null } }), ma = nn({ space: "svg", attributes: { accentHeight: "accent-height", alignmentBaseline: "alignment-baseline", arabicForm: "arabic-form", baselineShift: "baseline-shift", capHeight: "cap-height", className: "class", clipPath: "clip-path", clipRule: "clip-rule", colorInterpolation: "color-interpolation", colorInterpolationFilters: "color-interpolation-filters", colorProfile: "color-profile", colorRendering: "color-rendering", crossOrigin: "crossorigin", dataType: "datatype", dominantBaseline: "dominant-baseline", enableBackground: "enable-background", fillOpacity: "fill-opacity", fillRule: "fill-rule", floodColor: "flood-color", floodOpacity: "flood-opacity", fontFamily: "font-family", fontSize: "font-size", fontSizeAdjust: "font-size-adjust", fontStretch: "font-stretch", fontStyle: "font-style", fontVariant: "font-variant", fontWeight: "font-weight", glyphName: "glyph-name", glyphOrientationHorizontal: "glyph-orientation-horizontal", glyphOrientationVertical: "glyph-orientation-vertical", hrefLang: "hreflang", horizAdvX: "horiz-adv-x", horizOriginX: "horiz-origin-x", horizOriginY: "horiz-origin-y", imageRendering: "image-rendering", letterSpacing: "letter-spacing", lightingColor: "lighting-color", markerEnd: "marker-end", markerMid: "marker-mid", markerStart: "marker-start", navDown: "nav-down", navDownLeft: "nav-down-left", navDownRight: "nav-down-right", navLeft: "nav-left", navNext: "nav-next", navPrev: "nav-prev", navRight: "nav-right", navUp: "nav-up", navUpLeft: "nav-up-left", navUpRight: "nav-up-right", onAbort: "onabort", onActivate: "onactivate", onAfterPrint: "onafterprint", onBeforePrint: "onbeforeprint", onBegin: "onbegin", onCancel: "oncancel", onCanPlay: "oncanplay", onCanPlayThrough: "oncanplaythrough", onChange: "onchange", onClick: "onclick", onClose: "onclose", onCopy: "oncopy", onCueChange: "oncuechange", onCut: "oncut", onDblClick: "ondblclick", onDrag: "ondrag", onDragEnd: "ondragend", onDragEnter: "ondragenter", onDragExit: "ondragexit", onDragLeave: "ondragleave", onDragOver: "ondragover", onDragStart: "ondragstart", onDrop: "ondrop", onDurationChange: "ondurationchange", onEmptied: "onemptied", onEnd: "onend", onEnded: "onended", onError: "onerror", onFocus: "onfocus", onFocusIn: "onfocusin", onFocusOut: "onfocusout", onHashChange: "onhashchange", onInput: "oninput", onInvalid: "oninvalid", onKeyDown: "onkeydown", onKeyPress: "onkeypress", onKeyUp: "onkeyup", onLoad: "onload", onLoadedData: "onloadeddata", onLoadedMetadata: "onloadedmetadata", onLoadStart: "onloadstart", onMessage: "onmessage", onMouseDown: "onmousedown", onMouseEnter: "onmouseenter", onMouseLeave: "onmouseleave", onMouseMove: "onmousemove", onMouseOut: "onmouseout", onMouseOver: "onmouseover", onMouseUp: "onmouseup", onMouseWheel: "onmousewheel", onOffline: "onoffline", onOnline: "ononline", onPageHide: "onpagehide", onPageShow: "onpageshow", onPaste: "onpaste", onPause: "onpause", onPlay: "onplay", onPlaying: "onplaying", onPopState: "onpopstate", onProgress: "onprogress", onRateChange: "onratechange", onRepeat: "onrepeat", onReset: "onreset", onResize: "onresize", onScroll: "onscroll", onSeeked: "onseeked", onSeeking: "onseeking", onSelect: "onselect", onShow: "onshow", onStalled: "onstalled", onStorage: "onstorage", onSubmit: "onsubmit", onSuspend: "onsuspend", onTimeUpdate: "ontimeupdate", onToggle: "ontoggle", onUnload: "onunload", onVolumeChange: "onvolumechange", onWaiting: "onwaiting", onZoom: "onzoom", overlinePosition: "overline-position", overlineThickness: "overline-thickness", paintOrder: "paint-order", panose1: "panose-1", pointerEvents: "pointer-events", referrerPolicy: "referrerpolicy", renderingIntent: "rendering-intent", shapeRendering: "shape-rendering", stopColor: "stop-color", stopOpacity: "stop-opacity", strikethroughPosition: "strikethrough-position", strikethroughThickness: "strikethrough-thickness", strokeDashArray: "stroke-dasharray", strokeDashOffset: "stroke-dashoffset", strokeLineCap: "stroke-linecap", strokeLineJoin: "stroke-linejoin", strokeMiterLimit: "stroke-miterlimit", strokeOpacity: "stroke-opacity", strokeWidth: "stroke-width", tabIndex: "tabindex", textAnchor: "text-anchor", textDecoration: "text-decoration", textRendering: "text-rendering", transformOrigin: "transform-origin", typeOf: "typeof", underlinePosition: "underline-position", underlineThickness: "underline-thickness", unicodeBidi: "unicode-bidi", unicodeRange: "unicode-range", unitsPerEm: "units-per-em", vAlphabetic: "v-alphabetic", vHanging: "v-hanging", vIdeographic: "v-ideographic", vMathematical: "v-mathematical", vectorEffect: "vector-effect", vertAdvY: "vert-adv-y", vertOriginX: "vert-origin-x", vertOriginY: "vert-origin-y", wordSpacing: "word-spacing", writingMode: "writing-mode", xHeight: "x-height", playbackOrder: "playbackorder", timelineBegin: "timelinebegin" }, transform: YA, properties: { about: Xe, accentHeight: R, accumulate: null, additive: null, alignmentBaseline: null, alphabetic: R, amplitude: R, arabicForm: null, ascent: R, attributeName: null, attributeType: null, azimuth: R, bandwidth: null, baselineShift: null, baseFrequency: null, baseProfile: null, bbox: null, begin: null, bias: R, by: null, calcMode: null, capHeight: R, className: we, clip: null, clipPath: null, clipPathUnits: null, clipRule: null, color: null, colorInterpolation: null, colorInterpolationFilters: null, colorProfile: null, colorRendering: null, content: null, contentScriptType: null, contentStyleType: null, crossOrigin: null, cursor: null, cx: null, cy: null, d: null, dataType: null, defaultAction: null, descent: R, diffuseConstant: R, direction: null, display: null, dur: null, divisor: R, dominantBaseline: null, download: oe, dx: null, dy: null, edgeMode: null, editable: null, elevation: R, enableBackground: null, end: null, event: null, exponent: R, externalResourcesRequired: null, fill: null, fillOpacity: R, fillRule: null, filter: null, filterRes: null, filterUnits: null, floodColor: null, floodOpacity: null, focusable: null, focusHighlight: null, fontFamily: null, fontSize: null, fontSizeAdjust: null, fontStretch: null, fontStyle: null, fontVariant: null, fontWeight: null, format: null, fr: null, from: null, fx: null, fy: null, g1: Zt, g2: Zt, glyphName: Zt, glyphOrientationHorizontal: null, glyphOrientationVertical: null, glyphRef: null, gradientTransform: null, gradientUnits: null, handler: null, hanging: R, hatchContentUnits: null, hatchUnits: null, height: null, href: null, hrefLang: null, horizAdvX: R, horizOriginX: R, horizOriginY: R, id: null, ideographic: R, imageRendering: null, initialVisibility: null, in: null, in2: null, intercept: R, k: R, k1: R, k2: R, k3: R, k4: R, kernelMatrix: Xe, kernelUnitLength: null, keyPoints: null, keySplines: null, keyTimes: null, kerning: null, lang: null, lengthAdjust: null, letterSpacing: null, lightingColor: null, limitingConeAngle: R, local: null, markerEnd: null, markerMid: null, markerStart: null, markerHeight: null, markerUnits: null, markerWidth: null, mask: null, maskContentUnits: null, maskUnits: null, mathematical: null, max: null, media: null, mediaCharacterEncoding: null, mediaContentEncodings: null, mediaSize: R, mediaTime: null, method: null, min: null, mode: null, name: null, navDown: null, navDownLeft: null, navDownRight: null, navLeft: null, navNext: null, navPrev: null, navRight: null, navUp: null, navUpLeft: null, navUpRight: null, numOctaves: null, observer: null, offset: null, onAbort: null, onActivate: null, onAfterPrint: null, onBeforePrint: null, onBegin: null, onCancel: null, onCanPlay: null, onCanPlayThrough: null, onChange: null, onClick: null, onClose: null, onCopy: null, onCueChange: null, onCut: null, onDblClick: null, onDrag: null, onDragEnd: null, onDragEnter: null, onDragExit: null, onDragLeave: null, onDragOver: null, onDragStart: null, onDrop: null, onDurationChange: null, onEmptied: null, onEnd: null, onEnded: null, onError: null, onFocus: null, onFocusIn: null, onFocusOut: null, onHashChange: null, onInput: null, onInvalid: null, onKeyDown: null, onKeyPress: null, onKeyUp: null, onLoad: null, onLoadedData: null, onLoadedMetadata: null, onLoadStart: null, onMessage: null, onMouseDown: null, onMouseEnter: null, onMouseLeave: null, onMouseMove: null, onMouseOut: null, onMouseOver: null, onMouseUp: null, onMouseWheel: null, onOffline: null, onOnline: null, onPageHide: null, onPageShow: null, onPaste: null, onPause: null, onPlay: null, onPlaying: null, onPopState: null, onProgress: null, onRateChange: null, onRepeat: null, onReset: null, onResize: null, onScroll: null, onSeeked: null, onSeeking: null, onSelect: null, onShow: null, onStalled: null, onStorage: null, onSubmit: null, onSuspend: null, onTimeUpdate: null, onToggle: null, onUnload: null, onVolumeChange: null, onWaiting: null, onZoom: null, opacity: null, operator: null, order: null, orient: null, orientation: null, origin: null, overflow: null, overlay: null, overlinePosition: R, overlineThickness: R, paintOrder: null, panose1: null, path: null, pathLength: R, patternContentUnits: null, patternTransform: null, patternUnits: null, phase: null, ping: we, pitch: null, playbackOrder: null, pointerEvents: null, points: null, pointsAtX: R, pointsAtY: R, pointsAtZ: R, preserveAlpha: null, preserveAspectRatio: null, primitiveUnits: null, propagate: null, property: Xe, r: null, radius: null, referrerPolicy: null, refX: null, refY: null, rel: Xe, rev: Xe, renderingIntent: null, repeatCount: null, repeatDur: null, requiredExtensions: Xe, requiredFeatures: Xe, requiredFonts: Xe, requiredFormats: Xe, resource: null, restart: null, result: null, rotate: null, rx: null, ry: null, scale: null, seed: null, shapeRendering: null, side: null, slope: null, snapshotTime: null, specularConstant: R, specularExponent: R, spreadMethod: null, spacing: null, startOffset: null, stdDeviation: null, stemh: null, stemv: null, stitchTiles: null, stopColor: null, stopOpacity: null, strikethroughPosition: R, strikethroughThickness: R, string: null, stroke: null, strokeDashArray: Xe, strokeDashOffset: null, strokeLineCap: null, strokeLineJoin: null, strokeMiterLimit: R, strokeOpacity: R, strokeWidth: null, style: null, surfaceScale: R, syncBehavior: null, syncBehaviorDefault: null, syncMaster: null, syncTolerance: null, syncToleranceDefault: null, systemLanguage: Xe, tabIndex: R, tableValues: null, target: null, targetX: R, targetY: R, textAnchor: null, textDecoration: null, textRendering: null, textLength: null, timelineBegin: null, title: null, transformBehavior: null, type: null, typeOf: Xe, to: null, transform: null, transformOrigin: null, u1: null, u2: null, underlinePosition: R, underlineThickness: R, unicode: null, unicodeBidi: null, unicodeRange: null, unitsPerEm: R, values: null, vAlphabetic: R, vMathematical: R, vectorEffect: null, vHanging: R, vIdeographic: R, version: null, vertAdvY: R, vertOriginX: R, vertOriginY: R, viewBox: null, viewTarget: null, visibility: null, width: null, widths: null, wordSpacing: null, writingMode: null, x: null, x1: null, x2: null, xChannelSelector: null, xHeight: R, y: null, y1: null, y2: null, yChannelSelector: null, z: null, zoomAndPan: null } }), ya = /^data[-\w.:]+$/i, yo = /-[a-z]/g, va = /[A-Z]/g;
|
|
1664
1664
|
function wa(e) {
|
|
1665
1665
|
return "-" + e.toLowerCase();
|
|
1666
1666
|
}
|
|
1667
1667
|
function ba(e) {
|
|
1668
1668
|
return e.charAt(1).toUpperCase();
|
|
1669
1669
|
}
|
|
1670
|
-
const Ea = { classId: "classID", dataType: "datatype", itemId: "itemID", strokeDashArray: "strokeDasharray", strokeDashOffset: "strokeDashoffset", strokeLineCap: "strokeLinecap", strokeLineJoin: "strokeLinejoin", strokeMiterLimit: "strokeMiterlimit", typeOf: "typeof", xLinkActuate: "xlinkActuate", xLinkArcRole: "xlinkArcrole", xLinkHref: "xlinkHref", xLinkRole: "xlinkRole", xLinkShow: "xlinkShow", xLinkTitle: "xlinkTitle", xLinkType: "xlinkType", xmlnsXLink: "xmlnsXlink" }, Pa = zA([WA,
|
|
1670
|
+
const Ea = { classId: "classID", dataType: "datatype", itemId: "itemID", strokeDashArray: "strokeDasharray", strokeDashOffset: "strokeDashoffset", strokeLineCap: "strokeLinecap", strokeLineJoin: "strokeLinejoin", strokeMiterLimit: "strokeMiterlimit", typeOf: "typeof", xLinkActuate: "xlinkActuate", xLinkArcRole: "xlinkArcrole", xLinkHref: "xlinkHref", xLinkRole: "xlinkRole", xLinkShow: "xlinkShow", xLinkTitle: "xlinkTitle", xLinkType: "xlinkType", xmlnsXLink: "xmlnsXlink" }, Pa = zA([WA, qA, KA, XA, ha], "html"), Sr = zA([WA, qA, KA, XA, ma], "svg");
|
|
1671
1671
|
function JA(e) {
|
|
1672
1672
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
1673
1673
|
}
|
|
@@ -1732,10 +1732,10 @@ var nr, vo, wo, Vt = {}, Ca = function() {
|
|
|
1732
1732
|
}
|
|
1733
1733
|
function P(Q) {
|
|
1734
1734
|
var k;
|
|
1735
|
-
for (Q = Q || []; k =
|
|
1735
|
+
for (Q = Q || []; k = D(); ) k !== !1 && Q.push(k);
|
|
1736
1736
|
return Q;
|
|
1737
1737
|
}
|
|
1738
|
-
function
|
|
1738
|
+
function D() {
|
|
1739
1739
|
var Q = v();
|
|
1740
1740
|
if (u.charAt(0) == "/" && u.charAt(1) == "*") {
|
|
1741
1741
|
for (var k = 2; c != u.charAt(k) && (u.charAt(k) != "*" || u.charAt(k + 1) != "/"); ) ++k;
|
|
@@ -1747,7 +1747,7 @@ var nr, vo, wo, Vt = {}, Ca = function() {
|
|
|
1747
1747
|
function x() {
|
|
1748
1748
|
var Q = v(), k = E(A);
|
|
1749
1749
|
if (k) {
|
|
1750
|
-
if (
|
|
1750
|
+
if (D(), !E(a)) return h("property missing ':'");
|
|
1751
1751
|
var O = E(s), B = Q({ type: "declaration", property: d(k[0].replace(r, c)), value: O ? d(O[0].replace(r, c)) : c });
|
|
1752
1752
|
return E(i), B;
|
|
1753
1753
|
}
|
|
@@ -1761,7 +1761,7 @@ var nr, vo, wo, Vt = {}, Ca = function() {
|
|
|
1761
1761
|
}());
|
|
1762
1762
|
return Vt;
|
|
1763
1763
|
}();
|
|
1764
|
-
const bo = JA(Ca),
|
|
1764
|
+
const bo = JA(Ca), Sa = bo.default || bo, ZA = $A("end"), qr = $A("start");
|
|
1765
1765
|
function $A(e) {
|
|
1766
1766
|
return function(t) {
|
|
1767
1767
|
const r = t && t.position && t.position[e] || {};
|
|
@@ -1769,13 +1769,13 @@ function $A(e) {
|
|
|
1769
1769
|
};
|
|
1770
1770
|
}
|
|
1771
1771
|
function dn(e) {
|
|
1772
|
-
return e && typeof e == "object" ? "position" in e || "type" in e ? Eo(e.position) : "start" in e || "end" in e ? Eo(e) : "line" in e || "column" in e ?
|
|
1772
|
+
return e && typeof e == "object" ? "position" in e || "type" in e ? Eo(e.position) : "start" in e || "end" in e ? Eo(e) : "line" in e || "column" in e ? Dr(e) : "" : "";
|
|
1773
1773
|
}
|
|
1774
|
-
function
|
|
1774
|
+
function Dr(e) {
|
|
1775
1775
|
return Po(e && e.line) + ":" + Po(e && e.column);
|
|
1776
1776
|
}
|
|
1777
1777
|
function Eo(e) {
|
|
1778
|
-
return
|
|
1778
|
+
return Dr(e && e.start) + "-" + Dr(e && e.end);
|
|
1779
1779
|
}
|
|
1780
1780
|
function Po(e) {
|
|
1781
1781
|
return e && typeof e == "number" ? e : 1;
|
|
@@ -1797,7 +1797,7 @@ class ze extends Error {
|
|
|
1797
1797
|
}
|
|
1798
1798
|
}
|
|
1799
1799
|
ze.prototype.file = "", ze.prototype.name = "", ze.prototype.reason = "", ze.prototype.message = "", ze.prototype.stack = "", ze.prototype.column = void 0, ze.prototype.line = void 0, ze.prototype.ancestors = void 0, ze.prototype.cause = void 0, ze.prototype.fatal = void 0, ze.prototype.place = void 0, ze.prototype.ruleId = void 0, ze.prototype.source = void 0;
|
|
1800
|
-
const Wr = {}.hasOwnProperty,
|
|
1800
|
+
const Wr = {}.hasOwnProperty, Da = /* @__PURE__ */ new Map(), Ba = /[A-Z]/g, ka = /-([a-z])/g, xa = /* @__PURE__ */ new Set(["table", "tbody", "thead", "tfoot", "tr"]), Ia = /* @__PURE__ */ new Set(["td", "th"]), ei = "https://github.com/syntax-tree/hast-util-to-jsx-runtime";
|
|
1801
1801
|
function Ta(e, t) {
|
|
1802
1802
|
if (!t || t.Fragment === void 0) throw new TypeError("Expected `Fragment` in options");
|
|
1803
1803
|
const r = t.filePath || void 0;
|
|
@@ -1807,7 +1807,7 @@ function Ta(e, t) {
|
|
|
1807
1807
|
n = /* @__PURE__ */ function(a, s) {
|
|
1808
1808
|
return i;
|
|
1809
1809
|
function i(l, c, d, u) {
|
|
1810
|
-
const p = Array.isArray(d.children), f =
|
|
1810
|
+
const p = Array.isArray(d.children), f = qr(l);
|
|
1811
1811
|
return s(c, d, u, p, { columnNumber: f ? f.column - 1 : void 0, fileName: a, lineNumber: f ? f.line : void 0 }, void 0);
|
|
1812
1812
|
}
|
|
1813
1813
|
}(r, t.jsxDEV);
|
|
@@ -1822,15 +1822,15 @@ function Ta(e, t) {
|
|
|
1822
1822
|
}
|
|
1823
1823
|
}(0, t.jsx, t.jsxs);
|
|
1824
1824
|
}
|
|
1825
|
-
const o = { Fragment: t.Fragment, ancestors: [], components: t.components || {}, create: n, elementAttributeNameCase: t.elementAttributeNameCase || "react", evaluater: t.createEvaluater ? t.createEvaluater() : void 0, filePath: r, ignoreInvalidStyle: t.ignoreInvalidStyle || !1, passKeys: t.passKeys !== !1, passNode: t.passNode || !1, schema: t.space === "svg" ?
|
|
1825
|
+
const o = { Fragment: t.Fragment, ancestors: [], components: t.components || {}, create: n, elementAttributeNameCase: t.elementAttributeNameCase || "react", evaluater: t.createEvaluater ? t.createEvaluater() : void 0, filePath: r, ignoreInvalidStyle: t.ignoreInvalidStyle || !1, passKeys: t.passKeys !== !1, passNode: t.passNode || !1, schema: t.space === "svg" ? Sr : Pa, stylePropertyNameCase: t.stylePropertyNameCase || "dom", tableCellAlignToStyle: t.tableCellAlignToStyle !== !1 }, A = ti(o, e, void 0);
|
|
1826
1826
|
return A && typeof A != "string" ? A : o.create(e, o.Fragment, { children: A || void 0 }, void 0);
|
|
1827
1827
|
}
|
|
1828
1828
|
function ti(e, t, r) {
|
|
1829
1829
|
return t.type === "element" ? function(n, o, A) {
|
|
1830
1830
|
const a = n.schema;
|
|
1831
1831
|
let s = a;
|
|
1832
|
-
o.tagName.toLowerCase() === "svg" && a.space === "html" && (s =
|
|
1833
|
-
const i =
|
|
1832
|
+
o.tagName.toLowerCase() === "svg" && a.space === "html" && (s = Sr, n.schema = s), n.ancestors.push(o);
|
|
1833
|
+
const i = So(n, o.tagName, !1), l = function(d, u) {
|
|
1834
1834
|
const p = {};
|
|
1835
1835
|
let f, y;
|
|
1836
1836
|
for (y in u.properties) if (y !== "children" && Wr.call(u.properties, y)) {
|
|
@@ -1857,8 +1857,8 @@ function ti(e, t, r) {
|
|
|
1857
1857
|
}(e, t) : t.type === "mdxJsxFlowElement" || t.type === "mdxJsxTextElement" ? function(n, o, A) {
|
|
1858
1858
|
const a = n.schema;
|
|
1859
1859
|
let s = a;
|
|
1860
|
-
o.name === "svg" && a.space === "html" && (s =
|
|
1861
|
-
const i = o.name === null ? n.Fragment :
|
|
1860
|
+
o.name === "svg" && a.space === "html" && (s = Sr, n.schema = s), n.ancestors.push(o);
|
|
1861
|
+
const i = o.name === null ? n.Fragment : So(n, o.name, !0), l = function(d, u) {
|
|
1862
1862
|
const p = {};
|
|
1863
1863
|
for (const f of u.attributes) if (f.type === "mdxJsxExpressionAttribute") if (f.data && f.data.estree && d.evaluater) {
|
|
1864
1864
|
const y = f.data.estree.body[0];
|
|
@@ -1903,7 +1903,7 @@ function rr(e, t) {
|
|
|
1903
1903
|
function or(e, t) {
|
|
1904
1904
|
const r = [];
|
|
1905
1905
|
let n = -1;
|
|
1906
|
-
const o = e.passKeys ? /* @__PURE__ */ new Map() :
|
|
1906
|
+
const o = e.passKeys ? /* @__PURE__ */ new Map() : Da;
|
|
1907
1907
|
for (; ++n < t.children.length; ) {
|
|
1908
1908
|
const A = t.children[n];
|
|
1909
1909
|
let a;
|
|
@@ -1935,7 +1935,7 @@ function Qa(e, t, r) {
|
|
|
1935
1935
|
c.charAt(0) !== "-" && (c = "-" + c), A = "data" + c;
|
|
1936
1936
|
}
|
|
1937
1937
|
}
|
|
1938
|
-
i =
|
|
1938
|
+
i = Gr;
|
|
1939
1939
|
}
|
|
1940
1940
|
return new i(s, A);
|
|
1941
1941
|
}(e.schema, t);
|
|
@@ -1949,7 +1949,7 @@ function Qa(e, t, r) {
|
|
|
1949
1949
|
let o = typeof r == "object" ? r : function(A, a) {
|
|
1950
1950
|
const s = {};
|
|
1951
1951
|
try {
|
|
1952
|
-
|
|
1952
|
+
Sa(a, i);
|
|
1953
1953
|
} catch (l) {
|
|
1954
1954
|
if (!A.ignoreInvalidStyle) {
|
|
1955
1955
|
const c = l, d = new ze("Cannot parse `style` attribute", { ancestors: A.ancestors, cause: c, ruleId: "style", source: "hast-util-to-jsx-runtime" });
|
|
@@ -1972,7 +1972,7 @@ function Qa(e, t, r) {
|
|
|
1972
1972
|
return [e.elementAttributeNameCase === "react" && n.space ? Ea[n.property] || n.property : n.attribute, r];
|
|
1973
1973
|
}
|
|
1974
1974
|
}
|
|
1975
|
-
function
|
|
1975
|
+
function So(e, t, r) {
|
|
1976
1976
|
let n;
|
|
1977
1977
|
if (r) if (t.includes(".")) {
|
|
1978
1978
|
const o = t.split(".");
|
|
@@ -2005,18 +2005,18 @@ function _a(e, t) {
|
|
|
2005
2005
|
function Oa(e) {
|
|
2006
2006
|
return "-" + e.toLowerCase();
|
|
2007
2007
|
}
|
|
2008
|
-
const Ar = { action: ["form"], cite: ["blockquote", "del", "ins", "q"], data: ["object"], formAction: ["button", "input"], href: ["a", "area", "base", "link"], icon: ["menuitem"], itemId: null, manifest: ["html"], ping: ["a", "area"], poster: ["video"], src: ["audio", "embed", "iframe", "img", "input", "script", "source", "track", "video"] },
|
|
2008
|
+
const Ar = { action: ["form"], cite: ["blockquote", "del", "ins", "q"], data: ["object"], formAction: ["button", "input"], href: ["a", "area", "base", "link"], icon: ["menuitem"], itemId: null, manifest: ["html"], ping: ["a", "area"], poster: ["video"], src: ["audio", "embed", "iframe", "img", "input", "script", "source", "track", "video"] }, Sn = {};
|
|
2009
2009
|
function ni(e, t, r) {
|
|
2010
2010
|
if (/* @__PURE__ */ function(n) {
|
|
2011
2011
|
return !(!n || typeof n != "object");
|
|
2012
2012
|
}(e)) {
|
|
2013
2013
|
if ("value" in e) return e.type !== "html" || r ? e.value : "";
|
|
2014
2014
|
if (t && "alt" in e && e.alt) return e.alt;
|
|
2015
|
-
if ("children" in e) return
|
|
2015
|
+
if ("children" in e) return Do(e.children, t, r);
|
|
2016
2016
|
}
|
|
2017
|
-
return Array.isArray(e) ?
|
|
2017
|
+
return Array.isArray(e) ? Do(e, t, r) : "";
|
|
2018
2018
|
}
|
|
2019
|
-
function
|
|
2019
|
+
function Do(e, t, r) {
|
|
2020
2020
|
const n = [];
|
|
2021
2021
|
let o = -1;
|
|
2022
2022
|
for (; ++o < e.length; ) n[o] = ni(e[o], t, r);
|
|
@@ -2116,7 +2116,7 @@ function be(e, t, r, n) {
|
|
|
2116
2116
|
return de(s) && A++ < o ? (e.consume(s), a) : (e.exit(r), t(s));
|
|
2117
2117
|
}
|
|
2118
2118
|
}
|
|
2119
|
-
const
|
|
2119
|
+
const Ga = { tokenize: function(e) {
|
|
2120
2120
|
const t = e.attempt(this.parser.constructs.contentInitial, function(A) {
|
|
2121
2121
|
return A === null ? void e.consume(A) : (e.enter("lineEnding"), e.consume(A), e.exit("lineEnding"), be(e, t, "linePrefix"));
|
|
2122
2122
|
}, function(A) {
|
|
@@ -2131,7 +2131,7 @@ const qa = { tokenize: function(e) {
|
|
|
2131
2131
|
function o(A) {
|
|
2132
2132
|
return A === null ? (e.exit("chunkText"), e.exit("paragraph"), void e.consume(A)) : ee(A) ? (e.consume(A), e.exit("chunkText"), n) : (e.consume(A), o);
|
|
2133
2133
|
}
|
|
2134
|
-
} },
|
|
2134
|
+
} }, qa = { tokenize: function(e) {
|
|
2135
2135
|
const t = this, r = [];
|
|
2136
2136
|
let n, o, A, a = 0;
|
|
2137
2137
|
return s;
|
|
@@ -2152,9 +2152,9 @@ const qa = { tokenize: function(e) {
|
|
|
2152
2152
|
break;
|
|
2153
2153
|
}
|
|
2154
2154
|
v(a);
|
|
2155
|
-
let
|
|
2156
|
-
for (;
|
|
2157
|
-
return mt(t.events, P + 1, 0, t.events.slice(E)), t.events.length =
|
|
2155
|
+
let D = E;
|
|
2156
|
+
for (; D < t.events.length; ) t.events[D][1].end = { ...C }, D++;
|
|
2157
|
+
return mt(t.events, P + 1, 0, t.events.slice(E)), t.events.length = D, l(h);
|
|
2158
2158
|
}
|
|
2159
2159
|
return s(h);
|
|
2160
2160
|
}
|
|
@@ -2189,8 +2189,8 @@ const qa = { tokenize: function(e) {
|
|
|
2189
2189
|
if (E && C.push(null), h.previous = o, o && (o.next = h), o = h, n.defineSkip(h.start), n.write(C), t.parser.lazy[h.start.line]) {
|
|
2190
2190
|
let P = n.events.length;
|
|
2191
2191
|
for (; P--; ) if (n.events[P][1].start.offset < A && (!n.events[P][1].end || n.events[P][1].end.offset > A)) return;
|
|
2192
|
-
const
|
|
2193
|
-
let x, Q, k =
|
|
2192
|
+
const D = t.events.length;
|
|
2193
|
+
let x, Q, k = D;
|
|
2194
2194
|
for (; k--; ) if (t.events[k][0] === "exit" && t.events[k][1].type === "chunkFlow") {
|
|
2195
2195
|
if (x) {
|
|
2196
2196
|
Q = t.events[k][1].end;
|
|
@@ -2198,8 +2198,8 @@ const qa = { tokenize: function(e) {
|
|
|
2198
2198
|
}
|
|
2199
2199
|
x = !0;
|
|
2200
2200
|
}
|
|
2201
|
-
for (v(a), P =
|
|
2202
|
-
mt(t.events, k + 1, 0, t.events.slice(
|
|
2201
|
+
for (v(a), P = D; P < t.events.length; ) t.events[P][1].end = { ...Q }, P++;
|
|
2202
|
+
mt(t.events, k + 1, 0, t.events.slice(D)), t.events.length = P;
|
|
2203
2203
|
}
|
|
2204
2204
|
}
|
|
2205
2205
|
function v(h) {
|
|
@@ -2355,8 +2355,8 @@ const Wa = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2355
2355
|
} }, Mo = { concrete: !0, name: "codeFenced", tokenize: function(e, t, r) {
|
|
2356
2356
|
const n = this, o = { partial: !0, tokenize: function(h, E, C) {
|
|
2357
2357
|
let P = 0;
|
|
2358
|
-
return
|
|
2359
|
-
function
|
|
2358
|
+
return D;
|
|
2359
|
+
function D(B) {
|
|
2360
2360
|
return h.enter("lineEnding"), h.consume(B), h.exit("lineEnding"), x;
|
|
2361
2361
|
}
|
|
2362
2362
|
function x(B) {
|
|
@@ -2768,12 +2768,12 @@ const $a = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2768
2768
|
return w === null || w === 60 || w === 61 || w === 62 || w === 96 ? r(w) : w === 34 || w === 39 ? (e.consume(w), i = w, C) : de(w) ? (e.consume(w), E) : P(w);
|
|
2769
2769
|
}
|
|
2770
2770
|
function C(w) {
|
|
2771
|
-
return w === i ? (e.consume(w), i = null,
|
|
2771
|
+
return w === i ? (e.consume(w), i = null, D) : w === null || ee(w) ? r(w) : (e.consume(w), C);
|
|
2772
2772
|
}
|
|
2773
2773
|
function P(w) {
|
|
2774
2774
|
return w === null || w === 34 || w === 39 || w === 47 || w === 60 || w === 61 || w === 62 || w === 96 || Ye(w) ? h(w) : (e.consume(w), P);
|
|
2775
2775
|
}
|
|
2776
|
-
function
|
|
2776
|
+
function D(w) {
|
|
2777
2777
|
return w === 47 || w === 62 || de(w) ? v(w) : r(w);
|
|
2778
2778
|
}
|
|
2779
2779
|
function x(w) {
|
|
@@ -2838,7 +2838,7 @@ const $a = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2838
2838
|
return e.enter("htmlText"), e.enter("htmlTextData"), e.consume(m), s;
|
|
2839
2839
|
};
|
|
2840
2840
|
function s(m) {
|
|
2841
|
-
return m === 33 ? (e.consume(m), i) : m === 47 ? (e.consume(m), E) : m === 63 ? (e.consume(m), b) : gt(m) ? (e.consume(m),
|
|
2841
|
+
return m === 33 ? (e.consume(m), i) : m === 47 ? (e.consume(m), E) : m === 63 ? (e.consume(m), b) : gt(m) ? (e.consume(m), D) : r(m);
|
|
2842
2842
|
}
|
|
2843
2843
|
function i(m) {
|
|
2844
2844
|
return m === 45 ? (e.consume(m), l) : m === 91 ? (e.consume(m), A = 0, p) : gt(m) ? (e.consume(m), v) : r(m);
|
|
@@ -2885,8 +2885,8 @@ const $a = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2885
2885
|
function P(m) {
|
|
2886
2886
|
return ee(m) ? (a = P, U(m)) : de(m) ? (e.consume(m), P) : N(m);
|
|
2887
2887
|
}
|
|
2888
|
-
function
|
|
2889
|
-
return m === 45 || $e(m) ? (e.consume(m),
|
|
2888
|
+
function D(m) {
|
|
2889
|
+
return m === 45 || $e(m) ? (e.consume(m), D) : m === 47 || m === 62 || Ye(m) ? x(m) : r(m);
|
|
2890
2890
|
}
|
|
2891
2891
|
function x(m) {
|
|
2892
2892
|
return m === 47 ? (e.consume(m), N) : m === 58 || m === 95 || gt(m) ? (e.consume(m), Q) : ee(m) ? (a = x, U(m)) : de(m) ? (e.consume(m), x) : N(m);
|
|
@@ -3194,7 +3194,7 @@ function vl(e, t) {
|
|
|
3194
3194
|
}
|
|
3195
3195
|
return e;
|
|
3196
3196
|
}
|
|
3197
|
-
const wl = { 42: We, 43: We, 45: We, 48: We, 49: We, 50: We, 51: We, 52: We, 53: We, 54: We, 55: We, 56: We, 57: We, 62: oi }, bl = { 91: $a }, El = { [-2]: ir, [-1]: ir, 32: ir }, Pl = { 35: nl, 42: On, 45: [Oo, On], 60: ol, 61: Oo, 95: On, 96: Mo, 126: Mo }, Cl = { 38: ii, 92: Ai },
|
|
3197
|
+
const wl = { 42: We, 43: We, 45: We, 48: We, 49: We, 50: We, 51: We, 52: We, 53: We, 54: We, 55: We, 56: We, 57: We, 62: oi }, bl = { 91: $a }, El = { [-2]: ir, [-1]: ir, 32: ir }, Pl = { 35: nl, 42: On, 45: [Oo, On], 60: ol, 61: Oo, 95: On, 96: Mo, 126: Mo }, Cl = { 38: ii, 92: Ai }, Sl = { [-5]: sr, [-4]: sr, [-3]: sr, 33: ul, 38: ii, 42: xr, 60: [Wa, sl], 91: dl, 92: [tl, Ai], 93: Kr, 95: xr, 96: Va }, Dl = { null: [xr, hl] }, Bl = Object.freeze(Object.defineProperty({ __proto__: null, attentionMarkers: { null: [42, 95] }, contentInitial: bl, disable: { null: [] }, document: wl, flow: Pl, flowInitial: El, insideSpan: Dl, string: Cl, text: Sl }, Symbol.toStringTag, { value: "Module" }));
|
|
3198
3198
|
function kl(e, t, r) {
|
|
3199
3199
|
let n = { _bufferIndex: -1, _index: 0, line: r && r.line || 1, column: r && r.column || 1, offset: r && r.offset || 0 };
|
|
3200
3200
|
const o = {}, A = [];
|
|
@@ -3214,7 +3214,7 @@ function kl(e, t, r) {
|
|
|
3214
3214
|
}, events: [], now: u, parser: e, previous: null, sliceSerialize: function(b, h) {
|
|
3215
3215
|
return function(E, C) {
|
|
3216
3216
|
let P = -1;
|
|
3217
|
-
const
|
|
3217
|
+
const D = [];
|
|
3218
3218
|
let x;
|
|
3219
3219
|
for (; ++P < E.length; ) {
|
|
3220
3220
|
const Q = E[P];
|
|
@@ -3242,9 +3242,9 @@ function kl(e, t, r) {
|
|
|
3242
3242
|
default:
|
|
3243
3243
|
k = String.fromCharCode(Q);
|
|
3244
3244
|
}
|
|
3245
|
-
x = Q === -2,
|
|
3245
|
+
x = Q === -2, D.push(k);
|
|
3246
3246
|
}
|
|
3247
|
-
return
|
|
3247
|
+
return D.join("");
|
|
3248
3248
|
}(d(b), h);
|
|
3249
3249
|
}, sliceStream: d, write: function(b) {
|
|
3250
3250
|
return a = rt(a, b), function() {
|
|
@@ -3260,15 +3260,15 @@ function kl(e, t, r) {
|
|
|
3260
3260
|
return t.resolveAll && A.push(t), l;
|
|
3261
3261
|
function d(b) {
|
|
3262
3262
|
return function(h, E) {
|
|
3263
|
-
const C = E.start._index, P = E.start._bufferIndex,
|
|
3263
|
+
const C = E.start._index, P = E.start._bufferIndex, D = E.end._index, x = E.end._bufferIndex;
|
|
3264
3264
|
let Q;
|
|
3265
|
-
if (C ===
|
|
3265
|
+
if (C === D) Q = [h[C].slice(P, x)];
|
|
3266
3266
|
else {
|
|
3267
|
-
if (Q = h.slice(C,
|
|
3267
|
+
if (Q = h.slice(C, D), P > -1) {
|
|
3268
3268
|
const k = Q[0];
|
|
3269
3269
|
typeof k == "string" ? Q[0] = k.slice(P) : Q.shift();
|
|
3270
3270
|
}
|
|
3271
|
-
x > 0 && Q.push(h[
|
|
3271
|
+
x > 0 && Q.push(h[D].slice(0, x));
|
|
3272
3272
|
}
|
|
3273
3273
|
return Q;
|
|
3274
3274
|
}(a, b);
|
|
@@ -3285,7 +3285,7 @@ function kl(e, t, r) {
|
|
|
3285
3285
|
}
|
|
3286
3286
|
function y(b, h) {
|
|
3287
3287
|
return function(E, C, P) {
|
|
3288
|
-
let
|
|
3288
|
+
let D, x, Q, k;
|
|
3289
3289
|
return Array.isArray(E) ? O(E) : "tokenize" in E ? O([E]) : /* @__PURE__ */ function(N) {
|
|
3290
3290
|
return U;
|
|
3291
3291
|
function U(M) {
|
|
@@ -3294,7 +3294,7 @@ function kl(e, t, r) {
|
|
|
3294
3294
|
}
|
|
3295
3295
|
}(E);
|
|
3296
3296
|
function O(N) {
|
|
3297
|
-
return
|
|
3297
|
+
return D = N, x = 0, N.length === 0 ? P : B(N[x]);
|
|
3298
3298
|
}
|
|
3299
3299
|
function B(N) {
|
|
3300
3300
|
return function(U) {
|
|
@@ -3311,7 +3311,7 @@ function kl(e, t, r) {
|
|
|
3311
3311
|
return b(Q, k), C;
|
|
3312
3312
|
}
|
|
3313
3313
|
function H(N) {
|
|
3314
|
-
return k.restore(), ++x <
|
|
3314
|
+
return k.restore(), ++x < D.length ? B(D[x]) : P;
|
|
3315
3315
|
}
|
|
3316
3316
|
};
|
|
3317
3317
|
}
|
|
@@ -3334,7 +3334,7 @@ function Il(e, t, r) {
|
|
|
3334
3334
|
const pi = {}.hasOwnProperty;
|
|
3335
3335
|
function Tl(e, t, r) {
|
|
3336
3336
|
return typeof t != "string" && (r = t, t = void 0), function(n) {
|
|
3337
|
-
const o = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: i(Be), autolinkProtocol: B, autolinkEmail: B, atxHeading: i(pe), blockQuote: i(
|
|
3337
|
+
const o = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: i(Be), autolinkProtocol: B, autolinkEmail: B, atxHeading: i(pe), blockQuote: i(q), characterEscape: B, characterReference: B, codeFenced: i(ue), codeFencedFenceInfo: l, codeFencedFenceMeta: l, codeIndented: i(ue, l), codeText: i(Ae, l), codeTextData: B, data: B, codeFlowValue: B, definition: i(Ee), definitionDestinationString: l, definitionLabelString: l, definitionTitleString: l, emphasis: i(me), hardBreakEscape: i(Oe), hardBreakTrailing: i(Oe), htmlFlow: i(Te, l), htmlFlowData: B, htmlText: i(Te, l), htmlTextData: B, image: i(Ut), label: l, link: i(Be), listItem: i(Se), listItemValue: y, listOrdered: i(At, f), listUnordered: i(At), paragraph: i(wt), reference: ge, referenceString: l, resourceDestinationString: l, resourceTitleString: l, setextHeading: i(pe), strong: i(Ft), thematicBreak: i(st) }, exit: { atxHeading: d(), atxHeadingSequence: x, autolink: d(), autolinkEmail: j, autolinkProtocol: tt, blockQuote: d(), characterEscapeValue: _, characterReferenceMarkerHexadecimal: qe, characterReferenceMarkerNumeric: qe, characterReferenceValue: ke, characterReference: Me, codeFenced: d(h), codeFencedFence: b, codeFencedFenceInfo: g, codeFencedFenceMeta: v, codeFlowValue: _, codeIndented: d(E), codeText: d(L), codeTextData: _, data: _, definition: d(), definitionDestinationString: D, definitionLabelString: C, definitionTitleString: P, emphasis: d(), hardBreakEscape: d(N), hardBreakTrailing: d(N), htmlFlow: d(U), htmlFlowData: _, htmlText: d(M), htmlTextData: _, image: d(K), label: F, labelText: w, lineEnding: H, link: d(m), listItem: d(), listOrdered: d(), listUnordered: d(), paragraph: d(), referenceString: ae, resourceDestinationString: X, resourceTitleString: V, resource: re, setextHeading: d(O), setextHeadingLineSequence: k, setextHeadingText: Q, strong: d(), thematicBreak: d() } };
|
|
3338
3338
|
fi(o, (n || {}).mdastExtensions || []);
|
|
3339
3339
|
const A = {};
|
|
3340
3340
|
return a;
|
|
@@ -3421,7 +3421,7 @@ function Tl(e, t, r) {
|
|
|
3421
3421
|
}
|
|
3422
3422
|
function p() {
|
|
3423
3423
|
return function(I) {
|
|
3424
|
-
return ni(I, typeof
|
|
3424
|
+
return ni(I, typeof Sn.includeImageAlt != "boolean" || Sn.includeImageAlt, typeof Sn.includeHtml != "boolean" || Sn.includeHtml);
|
|
3425
3425
|
}(this.stack.pop());
|
|
3426
3426
|
}
|
|
3427
3427
|
function f() {
|
|
@@ -3457,7 +3457,7 @@ function Tl(e, t, r) {
|
|
|
3457
3457
|
const I = this.resume();
|
|
3458
3458
|
this.stack[this.stack.length - 1].title = I;
|
|
3459
3459
|
}
|
|
3460
|
-
function
|
|
3460
|
+
function D() {
|
|
3461
3461
|
const I = this.resume();
|
|
3462
3462
|
this.stack[this.stack.length - 1].url = I;
|
|
3463
3463
|
}
|
|
@@ -3554,7 +3554,7 @@ function Tl(e, t, r) {
|
|
|
3554
3554
|
const W = this.resume(), J = this.stack[this.stack.length - 1];
|
|
3555
3555
|
J.label = W, J.identifier = $t(this.sliceSerialize(I)).toLowerCase(), this.data.referenceType = "full";
|
|
3556
3556
|
}
|
|
3557
|
-
function
|
|
3557
|
+
function qe(I) {
|
|
3558
3558
|
this.data.characterReferenceType = I.type;
|
|
3559
3559
|
}
|
|
3560
3560
|
function ke(I) {
|
|
@@ -3571,7 +3571,7 @@ function Tl(e, t, r) {
|
|
|
3571
3571
|
function j(I) {
|
|
3572
3572
|
_.call(this, I), this.stack[this.stack.length - 1].url = "mailto:" + this.sliceSerialize(I);
|
|
3573
3573
|
}
|
|
3574
|
-
function
|
|
3574
|
+
function q() {
|
|
3575
3575
|
return { type: "blockquote", children: [] };
|
|
3576
3576
|
}
|
|
3577
3577
|
function ue() {
|
|
@@ -3604,7 +3604,7 @@ function Tl(e, t, r) {
|
|
|
3604
3604
|
function At(I) {
|
|
3605
3605
|
return { type: "list", ordered: I.type === "listOrdered", start: null, spread: I._spread, children: [] };
|
|
3606
3606
|
}
|
|
3607
|
-
function
|
|
3607
|
+
function Se(I) {
|
|
3608
3608
|
return { type: "listItem", spread: I._spread, checked: null, children: [] };
|
|
3609
3609
|
}
|
|
3610
3610
|
function wt() {
|
|
@@ -3623,7 +3623,7 @@ function Tl(e, t, r) {
|
|
|
3623
3623
|
for (; !si(n); ) ;
|
|
3624
3624
|
return n;
|
|
3625
3625
|
}(function(n) {
|
|
3626
|
-
const o = { constructs: Na([Bl, ...(n || {}).extensions || []]), content: A(
|
|
3626
|
+
const o = { constructs: Na([Bl, ...(n || {}).extensions || []]), content: A(Ga), defined: [], document: A(qa), flow: A(gl), lazy: {}, string: A(ml), text: A(yl) };
|
|
3627
3627
|
return o;
|
|
3628
3628
|
function A(a) {
|
|
3629
3629
|
return function(s) {
|
|
@@ -3850,7 +3850,7 @@ const Ol = { blockquote: function(e, t) {
|
|
|
3850
3850
|
e.patch(t.children[0], a), o.push(a);
|
|
3851
3851
|
}
|
|
3852
3852
|
if (r.length > 0) {
|
|
3853
|
-
const a = { type: "element", tagName: "tbody", properties: {}, children: e.wrap(r, !0) }, s =
|
|
3853
|
+
const a = { type: "element", tagName: "tbody", properties: {}, children: e.wrap(r, !0) }, s = qr(t.children[1]), i = ZA(t.children[t.children.length - 1]);
|
|
3854
3854
|
s && i && (a.position = { start: s, end: i }), o.push(a);
|
|
3855
3855
|
}
|
|
3856
3856
|
const A = { type: "element", tagName: "table", properties: {}, children: e.wrap(o, !0) };
|
|
@@ -3876,8 +3876,8 @@ const Ol = { blockquote: function(e, t) {
|
|
|
3876
3876
|
}, thematicBreak: function(e, t) {
|
|
3877
3877
|
const r = { type: "element", tagName: "hr", properties: {}, children: [] };
|
|
3878
3878
|
return e.patch(t, r), e.applyData(t, r);
|
|
3879
|
-
}, toml:
|
|
3880
|
-
function
|
|
3879
|
+
}, toml: Dn, yaml: Dn, definition: Dn, footnoteDefinition: Dn };
|
|
3880
|
+
function Dn() {
|
|
3881
3881
|
}
|
|
3882
3882
|
const Fo = typeof self == "object" ? self : globalThis, jo = (e) => (/* @__PURE__ */ ((t, r) => {
|
|
3883
3883
|
const n = (A, a) => (t.set(a, A), A), o = (A) => {
|
|
@@ -4072,7 +4072,7 @@ function kn(e) {
|
|
|
4072
4072
|
function Ul() {
|
|
4073
4073
|
return !0;
|
|
4074
4074
|
}
|
|
4075
|
-
const
|
|
4075
|
+
const Go = [], Fl = !0, qo = !1;
|
|
4076
4076
|
function jl(e, t, r, n) {
|
|
4077
4077
|
let o;
|
|
4078
4078
|
typeof t == "function" && typeof r != "function" ? (n = r, r = t) : o = t;
|
|
@@ -4085,15 +4085,15 @@ function jl(e, t, r, n) {
|
|
|
4085
4085
|
}
|
|
4086
4086
|
return u;
|
|
4087
4087
|
function u() {
|
|
4088
|
-
let p, f, y, g =
|
|
4088
|
+
let p, f, y, g = Go;
|
|
4089
4089
|
if ((!t || A(i, l, c[c.length - 1] || void 0)) && (g = function(v) {
|
|
4090
|
-
return Array.isArray(v) ? v : typeof v == "number" ? [Fl, v] : v == null ?
|
|
4091
|
-
}(r(i, c)), g[0] ===
|
|
4090
|
+
return Array.isArray(v) ? v : typeof v == "number" ? [Fl, v] : v == null ? Go : [v];
|
|
4091
|
+
}(r(i, c)), g[0] === qo)) return g;
|
|
4092
4092
|
if ("children" in i && i.children) {
|
|
4093
4093
|
const v = i;
|
|
4094
4094
|
if (v.children && g[0] !== "skip") for (f = (n ? v.children.length : -1) + a, y = c.concat(v); f > -1 && f < v.children.length; ) {
|
|
4095
4095
|
const b = v.children[f];
|
|
4096
|
-
if (p = s(b, f, y)(), p[0] ===
|
|
4096
|
+
if (p = s(b, f, y)(), p[0] === qo) return p;
|
|
4097
4097
|
f = typeof p[1] == "number" ? p[1] : f + a;
|
|
4098
4098
|
}
|
|
4099
4099
|
}
|
|
@@ -4109,7 +4109,7 @@ function hi(e, t, r, n) {
|
|
|
4109
4109
|
}, o);
|
|
4110
4110
|
}
|
|
4111
4111
|
const Ir = {}.hasOwnProperty, zl = {};
|
|
4112
|
-
function
|
|
4112
|
+
function Gl(e, t) {
|
|
4113
4113
|
const r = t || zl, n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map(), a = { ...Ol, ...r.handlers }, s = { all: function(i) {
|
|
4114
4114
|
const l = [];
|
|
4115
4115
|
if ("children" in i) {
|
|
@@ -4138,7 +4138,7 @@ function ql(e, t) {
|
|
|
4138
4138
|
return jn(i);
|
|
4139
4139
|
}
|
|
4140
4140
|
return (s.options.unknownHandler || Yl)(s, i, l);
|
|
4141
|
-
}, options: r, patch:
|
|
4141
|
+
}, options: r, patch: ql, wrap: Vl };
|
|
4142
4142
|
return hi(e, function(i) {
|
|
4143
4143
|
if (i.type === "definition" || i.type === "footnoteDefinition") {
|
|
4144
4144
|
const l = i.type === "definition" ? n : o, c = String(i.identifier).toUpperCase();
|
|
@@ -4146,9 +4146,9 @@ function ql(e, t) {
|
|
|
4146
4146
|
}
|
|
4147
4147
|
}), s;
|
|
4148
4148
|
}
|
|
4149
|
-
function
|
|
4149
|
+
function ql(e, t) {
|
|
4150
4150
|
e.position && (t.position = function(r) {
|
|
4151
|
-
const n =
|
|
4151
|
+
const n = qr(r), o = ZA(r);
|
|
4152
4152
|
if (n && o) return { start: n, end: o };
|
|
4153
4153
|
}(e));
|
|
4154
4154
|
}
|
|
@@ -4179,7 +4179,7 @@ function Wo(e) {
|
|
|
4179
4179
|
return e.slice(t);
|
|
4180
4180
|
}
|
|
4181
4181
|
function Yo(e, t) {
|
|
4182
|
-
const r =
|
|
4182
|
+
const r = Gl(e, t), n = r.one(e, void 0), o = function(a) {
|
|
4183
4183
|
const s = typeof a.options.clobberPrefix == "string" ? a.options.clobberPrefix : "user-content-", i = a.options.footnoteBackContent || Rl, l = a.options.footnoteBackLabel || Hl, c = a.options.footnoteLabel || "Footnotes", d = a.options.footnoteLabelTagName || "h2", u = a.options.footnoteLabelProperties || { className: ["sr-only"] }, p = [];
|
|
4184
4184
|
let f = -1;
|
|
4185
4185
|
for (; ++f < a.footnoteOrder.length; ) {
|
|
@@ -4198,8 +4198,8 @@ function Yo(e, t) {
|
|
|
4198
4198
|
const x = P.children[P.children.length - 1];
|
|
4199
4199
|
x && x.type === "text" ? x.value += " " : P.children.push({ type: "text", value: " " }), P.children.push(...E);
|
|
4200
4200
|
} else g.push(...E);
|
|
4201
|
-
const
|
|
4202
|
-
a.patch(y,
|
|
4201
|
+
const D = { type: "element", tagName: "li", properties: { id: s + "fn-" + b }, children: a.wrap(g, !0) };
|
|
4202
|
+
a.patch(y, D), p.push(D);
|
|
4203
4203
|
}
|
|
4204
4204
|
if (p.length !== 0) return { type: "element", tagName: "section", properties: { dataFootnotes: !0, className: ["footnotes"] }, children: [{ type: "element", tagName: d, properties: { ...jn(u), id: "footnote-label" }, children: [{ type: "text", value: c }] }, { type: "text", value: `
|
|
4205
4205
|
` }, { type: "element", tagName: "ol", properties: {}, children: a.wrap(p, !0) }, { type: "text", value: `
|
|
@@ -4653,13 +4653,13 @@ function Ac(e) {
|
|
|
4653
4653
|
let E = t ? !t.includes(v.tagName) : !!a && a.includes(v.tagName);
|
|
4654
4654
|
if (!E && r && typeof b == "number" && (E = !r(v, b, h)), E && h && typeof b == "number") return d && v.children ? h.children.splice(b, 1, ...v.children) : h.children.splice(b, 1), b;
|
|
4655
4655
|
}
|
|
4656
|
-
}), Ta(g, { Fragment: Fe, components: A, ignoreInvalidStyle: !0, jsx:
|
|
4656
|
+
}), Ta(g, { Fragment: Fe, components: A, ignoreInvalidStyle: !0, jsx: S, jsxs: ve, passKeys: !0, passNode: !0 });
|
|
4657
4657
|
}
|
|
4658
4658
|
function ic(e) {
|
|
4659
4659
|
const t = e.indexOf(":"), r = e.indexOf("?"), n = e.indexOf("#"), o = e.indexOf("/");
|
|
4660
4660
|
return t === -1 || o !== -1 && t > o || r !== -1 && t > r || n !== -1 && t > n || rc.test(e.slice(0, t)) ? e : "";
|
|
4661
4661
|
}
|
|
4662
|
-
const sc = ({ children: e }) =>
|
|
4662
|
+
const sc = ({ children: e }) => S("div", { style: { whiteSpace: "normal" }, children: S(Ac, { components: { p: ({ ...t }) => S("p", { style: { margin: 0, marginBottom: "0.5em", lineHeight: 1.4, textAlign: "left" }, children: t.children }), ul: ({ ...t }) => S("ul", { style: { paddingLeft: "clamp(8px, 3.5vw, 16px)", margin: 0, listStylePosition: "inside" }, children: t.children }), ol: ({ ...t }) => S("ol", { style: { paddingLeft: "clamp(8px, 3.5vw, 16px)", margin: 0, listStylePosition: "inside" }, children: t.children }), li: ({ ...t }) => S("li", { style: { marginBottom: "1px", lineHeight: 1.4 }, children: t.children }), code: ({ inline: t, children: r }) => t ? S("code", { style: { backgroundColor: "rgba(0, 0, 0, 0.3)", padding: "2px 4px", borderRadius: "4px", fontFamily: "inherit", fontSize: "0.95em" }, children: r }) : S("pre", { style: { backgroundColor: "rgba(0, 0, 0, 0.3)", padding: "8px", borderRadius: "4px", overflowX: "auto", margin: "0.5em 0", whiteSpace: "pre-wrap" }, children: S("code", { children: r }) }), blockquote: ({ ...t }) => S("blockquote", { style: { margin: 0, paddingLeft: "10px", borderLeft: "2px solid #ccc", color: "#666", fontStyle: "italic" }, children: t.children }) }, children: typeof e == "string" ? e : "" }) }), ac = { autoConfig: !0 }, lc = (e) => () => ((t) => {
|
|
4663
4663
|
const { getFlow: r } = Wn(), { messages: n, replaceMessages: o } = wn(), { settings: A } = RA(), { hasChatHistoryLoaded: a } = UA(), s = { ...t, ...ac }, i = s.markdownComponent ? s.markdownComponent : sc;
|
|
4664
4664
|
Z(() => {
|
|
4665
4665
|
var d, u;
|
|
@@ -4868,14 +4868,14 @@ const fc = "background: #1a5b6e; color: white; padding: 2px 6px; border-radius:
|
|
|
4868
4868
|
}, Pc = (e) => {
|
|
4869
4869
|
const t = hn()[e];
|
|
4870
4870
|
return t != null && t.startedAt ? Date.now() - new Date(t.startedAt).getTime() : 0;
|
|
4871
|
-
},
|
|
4871
|
+
}, Si = yt(void 0), Cc = (e) => {
|
|
4872
4872
|
let { children: t, getSessionId: r, setSessionId: n, resetSession: o, clearResettingFlag: A } = e;
|
|
4873
|
-
return T.createElement(
|
|
4873
|
+
return T.createElement(Si.Provider, { value: { getSessionId: r, setSessionId: n, resetSession: o, clearResettingFlag: A } }, t);
|
|
4874
4874
|
}, Jr = () => {
|
|
4875
|
-
const e = vt(
|
|
4875
|
+
const e = vt(Si);
|
|
4876
4876
|
if (!e) throw new Error("useSession must be used within a SessionProvider");
|
|
4877
4877
|
return e;
|
|
4878
|
-
},
|
|
4878
|
+
}, Sc = () => {
|
|
4879
4879
|
const [e, t] = te(!1), [r, n] = te([]), [o, A] = te(null), [a, s] = te(0), i = ne(null), l = ne(null), { replaceMessages: c } = wn(), { toggleTextAreaDisabled: d } = HA(), { setSessionId: u, getSessionId: p } = Jr();
|
|
4880
4880
|
Z(() => {
|
|
4881
4881
|
var y, g;
|
|
@@ -4903,9 +4903,9 @@ const fc = "background: #1a5b6e; color: white; padding: 2px 6px; border-radius:
|
|
|
4903
4903
|
u(y), ft("Session ID updated", { newSession: y.slice(-12) }), c(h), ft("replaceMessages called", { count: h.length }), E = (g = l.current) === null || g === void 0 ? void 0 : g.getRootNode(), setTimeout(() => {
|
|
4904
4904
|
const C = (E || document).querySelector(".rcb-chat-body-container");
|
|
4905
4905
|
C && C.querySelectorAll(".rcb-bot-message").forEach((P) => {
|
|
4906
|
-
var
|
|
4906
|
+
var D;
|
|
4907
4907
|
let x = P.innerHTML, Q = !1;
|
|
4908
|
-
x.includes("](") && (x = x.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'), Q = !0), x.includes("<a href=") && (x = x.replace(/<a\s+href=["']([^"']+)["'][^&]*>([^&]+)<\/a>/gi, '<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'), Q = !0), (x.includes("<a ") || !((
|
|
4908
|
+
x.includes("](") && (x = x.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'), Q = !0), x.includes("<a href=") && (x = x.replace(/<a\s+href=["']([^"']+)["'][^&]*>([^&]+)<\/a>/gi, '<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'), Q = !0), (x.includes("<a ") || !((D = P.textContent) === null || D === void 0) && D.includes("<a href=")) && (P.textContent || "").includes("<a href=") && (x = x.replace(/<a\s+href="([^"]+)"[^&]*>([^&]+)<\/a>/gi, '<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'), Q = !0), Q && (P.innerHTML = x);
|
|
4909
4909
|
});
|
|
4910
4910
|
}, 50), d(!1), ft("Chat input enabled after restore"), t(!1);
|
|
4911
4911
|
};
|
|
@@ -4932,10 +4932,10 @@ const fc = "background: #1a5b6e; color: white; padding: 2px 6px; border-radius:
|
|
|
4932
4932
|
const v = new Date(g), b = (/* @__PURE__ */ new Date()).getTime() - v.getTime(), h = Math.floor(b / 864e5);
|
|
4933
4933
|
return h === 0 ? v.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) : h === 1 ? "Yesterday" : h < 7 ? v.toLocaleDateString([], { weekday: "short" }) : v.toLocaleDateString([], { month: "short", day: "numeric" });
|
|
4934
4934
|
})(y.startedAt))))));
|
|
4935
|
-
},
|
|
4935
|
+
}, Di = (e) => {
|
|
4936
4936
|
var { width: t = 24, height: r = 24, color: n = "currentColor", children: o } = e, A = pA(e, ["width", "height", "color", "children"]);
|
|
4937
4937
|
return T.createElement("svg", Nn({ xmlns: "http://www.w3.org/2000/svg", width: t, height: r, viewBox: "0 0 24 24", fill: "none", stroke: n, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", focusable: "false" }, A), o);
|
|
4938
|
-
},
|
|
4938
|
+
}, Dc = (e) => T.createElement(Di, e, T.createElement("path", { d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" })), Bc = () => {
|
|
4939
4939
|
const { restartFlow: e } = Wn(), { setTextAreaValue: t } = HA(), { messages: r } = wn(), { getSessionId: n, resetSession: o, clearResettingFlag: A } = Jr(), { trackEvent: a } = wi();
|
|
4940
4940
|
return T.createElement("button", { onClick: async () => {
|
|
4941
4941
|
const s = n(), i = s ? Ci(s) : 0;
|
|
@@ -4946,7 +4946,7 @@ const fc = "background: #1a5b6e; color: white; padding: 2px 6px; border-radius:
|
|
|
4946
4946
|
s.target.style.backgroundColor = "var(--secondaryColor, #0d5f6b)";
|
|
4947
4947
|
}, onMouseLeave: (s) => {
|
|
4948
4948
|
s.target.style.backgroundColor = "var(--primaryColor, #107180)";
|
|
4949
|
-
} }, T.createElement(
|
|
4949
|
+
} }, T.createElement(Dc, { width: 16, height: 16 }), "New Chat");
|
|
4950
4950
|
};
|
|
4951
4951
|
function Mr(e) {
|
|
4952
4952
|
if (typeof e == "string") return e;
|
|
@@ -4960,7 +4960,7 @@ function Mr(e) {
|
|
|
4960
4960
|
return "";
|
|
4961
4961
|
}
|
|
4962
4962
|
const kc = () => {
|
|
4963
|
-
const { getSessionId: e } = Jr(), t =
|
|
4963
|
+
const { getSessionId: e } = Jr(), t = G((r) => {
|
|
4964
4964
|
var n;
|
|
4965
4965
|
const o = (n = r.data) === null || n === void 0 ? void 0 : n.message;
|
|
4966
4966
|
if (!(o != null && o.id)) return;
|
|
@@ -5197,7 +5197,7 @@ const ln = (e) => {
|
|
|
5197
5197
|
}), t;
|
|
5198
5198
|
}, Ic = (e) => {
|
|
5199
5199
|
let { siteKey: t, onVerify: r, onError: n, loginUrl: o } = e;
|
|
5200
|
-
const A = ne(null), a = ne(null), s = ne(!1), i = ne(null), l = ne(null), [c, d] = te(!1), [u, p] = te(0), f = ne("widget_error"), y = ne(null), g = o && o !== "/login", v =
|
|
5200
|
+
const A = ne(null), a = ne(null), s = ne(!1), i = ne(null), l = ne(null), [c, d] = te(!1), [u, p] = te(0), f = ne("widget_error"), y = ne(null), g = o && o !== "/login", v = G(() => {
|
|
5201
5201
|
const E = window.turnstile;
|
|
5202
5202
|
if (i.current && (E != null && E.remove)) {
|
|
5203
5203
|
try {
|
|
@@ -5206,7 +5206,7 @@ const ln = (e) => {
|
|
|
5206
5206
|
}
|
|
5207
5207
|
i.current = null;
|
|
5208
5208
|
}
|
|
5209
|
-
}, []), b =
|
|
5209
|
+
}, []), b = G(() => {
|
|
5210
5210
|
var E;
|
|
5211
5211
|
v(), c ? n == null || n(f.current, (E = y.current) !== null && E !== void 0 ? E : void 0) : n == null || n("user_cancelled");
|
|
5212
5212
|
}, [n, v, c]);
|
|
@@ -5223,8 +5223,8 @@ const ln = (e) => {
|
|
|
5223
5223
|
if (C.key === "Tab" && a.current) {
|
|
5224
5224
|
const P = a.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
|
5225
5225
|
if (P.length === 0) return;
|
|
5226
|
-
const
|
|
5227
|
-
C.shiftKey && document.activeElement ===
|
|
5226
|
+
const D = P[0], x = P[P.length - 1];
|
|
5227
|
+
C.shiftKey && document.activeElement === D ? (C.preventDefault(), x.focus()) : C.shiftKey || document.activeElement !== x || (C.preventDefault(), D.focus());
|
|
5228
5228
|
}
|
|
5229
5229
|
};
|
|
5230
5230
|
return document.addEventListener("keydown", E), () => document.removeEventListener("keydown", E);
|
|
@@ -5269,14 +5269,14 @@ function Tc(e) {
|
|
|
5269
5269
|
}
|
|
5270
5270
|
const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot", Oc = "/chat-icon.svg", Nc = "Type your question here...", Lc = "Select an option to continue", Rc = !1, Hc = "Ask me a question!", aA = "/login", Uc = { general: { showHeader: !0, showFooter: !0 }, tooltip: { mode: "CLOSE" }, chatInput: { disabled: !1, characterLimit: 5e3, showCharacterCount: !1, allowNewline: !0, blockSpam: !1 }, chatWindow: { defaultOpen: !1, showScrollbar: !1 }, botBubble: { simulateStream: !0, streamSpeed: 10, showAvatar: !1 }, userBubble: { showAvatar: !1 }, notification: { disabled: !0, showCount: !1 }, audio: { disabled: !0 }, emoji: { disabled: !0 }, fileAttachment: { disabled: !0 } }, Zr = Ve((e, t) => {
|
|
5271
5271
|
var r, n, o;
|
|
5272
|
-
const { apiKey: A, qaEndpoint: a, ratingEndpoint: s, capabilitiesEndpoint: i, agentRatingEndpoint: l, welcomeMessage: c, open: d, onOpenChange: u, isLoggedIn: p, allowAnonAccess: f = !1, actingUser: y, primaryColor: g, secondaryColor: v, botName: b, logo: h, placeholder: E, errorMessage: C, embedded: P, footerText:
|
|
5272
|
+
const { apiKey: A, qaEndpoint: a, ratingEndpoint: s, capabilitiesEndpoint: i, agentRatingEndpoint: l, welcomeMessage: c, open: d, onOpenChange: u, isLoggedIn: p, allowAnonAccess: f = !1, actingUser: y, primaryColor: g, secondaryColor: v, botName: b, logo: h, placeholder: E, errorMessage: C, embedded: P, footerText: D, footerLink: x, tooltipText: Q, loginUrl: k, turnstileSiteKey: O, backendId: B, resourceContext: _, customFlow: H, onAnalyticsEvent: N } = e, U = ne(`bot_${Math.random().toString(36).substr(2, 9)}`);
|
|
5273
5273
|
Z(() => {
|
|
5274
5274
|
wc();
|
|
5275
5275
|
}, []);
|
|
5276
5276
|
const M = ne(null);
|
|
5277
5277
|
M.current === null && (M.current = oA(), Tn("CREATED", M.current));
|
|
5278
|
-
const L = ne(!1), m = ne({ getSessionId: () => M.current, isResetting: () => L.current }), K = ne(null), w = function(j,
|
|
5279
|
-
const [ue, Ae] = te(null), [Ee, me] = te("idle"), pe = ne(null), Oe = ne(null), Te = ne(!0), Ut =
|
|
5278
|
+
const L = ne(!1), m = ne({ getSessionId: () => M.current, isResetting: () => L.current }), K = ne(null), w = function(j, q) {
|
|
5279
|
+
const [ue, Ae] = te(null), [Ee, me] = te("idle"), pe = ne(null), Oe = ne(null), Te = ne(!0), Ut = G(() => {
|
|
5280
5280
|
const Be = window.turnstile;
|
|
5281
5281
|
if (Oe.current && (Be != null && Be.remove)) {
|
|
5282
5282
|
try {
|
|
@@ -5294,48 +5294,48 @@ const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot",
|
|
|
5294
5294
|
return Be.style.position = "fixed", Be.style.left = "-9999px", Be.style.top = "-9999px", Be.style.width = "0", Be.style.height = "0", Be.style.overflow = "hidden", Be.setAttribute("aria-hidden", "true"), document.body.appendChild(Be), pe.current = Be, Bi().then(() => {
|
|
5295
5295
|
if (!Te.current) return;
|
|
5296
5296
|
const At = window.turnstile;
|
|
5297
|
-
if (!At || !pe.current) return _e("Turnstile API not available for silent verification"), me("failed"), void (
|
|
5298
|
-
const
|
|
5297
|
+
if (!At || !pe.current) return _e("Turnstile API not available for silent verification"), me("failed"), void (q == null || q({ type: "chatbot_turnstile_silent_failed", failureReason: "api_unavailable" }));
|
|
5298
|
+
const Se = At.render(pe.current, { sitekey: j, execution: "render", "refresh-expired": "auto", callback: (wt) => {
|
|
5299
5299
|
Te.current && (fn("Silent verification succeeded"), Ae(wt), me("verified"));
|
|
5300
|
-
}, "error-callback": (wt) => !Te.current || (_e("Turnstile silent verification failed:", wt), Ae(null), me("failed"),
|
|
5300
|
+
}, "error-callback": (wt) => !Te.current || (_e("Turnstile silent verification failed:", wt), Ae(null), me("failed"), q == null || q({ type: "chatbot_turnstile_silent_failed", failureReason: "widget_error", cloudflareErrorCode: wt }), !0), "expired-callback": () => {
|
|
5301
5301
|
Te.current && (fn("Token expired, awaiting refresh"), Ae(null), me("loading"));
|
|
5302
5302
|
} });
|
|
5303
|
-
Oe.current =
|
|
5303
|
+
Oe.current = Se;
|
|
5304
5304
|
}).catch((At) => {
|
|
5305
|
-
Te.current && (_e("Failed to load Turnstile script for silent verification:", At), me("failed"),
|
|
5305
|
+
Te.current && (_e("Failed to load Turnstile script for silent verification:", At), me("failed"), q == null || q({ type: "chatbot_turnstile_silent_failed", failureReason: "script_load_failed" }));
|
|
5306
5306
|
}), () => {
|
|
5307
5307
|
Te.current = !1, Ut();
|
|
5308
5308
|
};
|
|
5309
|
-
}, [j, Ut]), { token: ue, status: Ee, reset:
|
|
5309
|
+
}, [j, Ut]), { token: ue, status: Ee, reset: G(() => {
|
|
5310
5310
|
const Be = window.turnstile;
|
|
5311
5311
|
Oe.current && (Be != null && Be.reset) && (Ae(null), me("loading"), Be.reset(Oe.current), fn("Token consumed, resetting widget for fresh token"));
|
|
5312
5312
|
}, []) };
|
|
5313
5313
|
}(O, (j) => {
|
|
5314
|
-
var
|
|
5315
|
-
(
|
|
5314
|
+
var q;
|
|
5315
|
+
(q = K.current) === null || q === void 0 || q.call(K, j);
|
|
5316
5316
|
}), F = ne(null);
|
|
5317
5317
|
F.current = w.token;
|
|
5318
5318
|
const [X, V] = te(p);
|
|
5319
5319
|
Z(() => {
|
|
5320
5320
|
V(p);
|
|
5321
5321
|
}, [p]);
|
|
5322
|
-
const re = P !== void 0 ? P : Rc, ge =
|
|
5323
|
-
var
|
|
5324
|
-
N && N(Object.assign(Object.assign({}, j), { timestamp: Date.now(), sessionId: (
|
|
5322
|
+
const re = P !== void 0 ? P : Rc, ge = G((j) => {
|
|
5323
|
+
var q;
|
|
5324
|
+
N && N(Object.assign(Object.assign({}, j), { timestamp: Date.now(), sessionId: (q = M.current) !== null && q !== void 0 ? q : void 0, pageUrl: typeof window < "u" ? window.location.href : void 0, isEmbedded: re }));
|
|
5325
5325
|
}, [N, re]);
|
|
5326
5326
|
Z(() => {
|
|
5327
5327
|
K.current = (j) => ge(j);
|
|
5328
5328
|
}, [ge]);
|
|
5329
|
-
const ae =
|
|
5329
|
+
const ae = Ge(() => {
|
|
5330
5330
|
const j = Object.assign({}, Uc);
|
|
5331
5331
|
j.general = Object.assign(Object.assign({}, j.general), { primaryColor: g || Qc, secondaryColor: v || Mc, fontFamily: _c, embedded: re });
|
|
5332
|
-
const
|
|
5333
|
-
j.header = { title: T.createElement("span", { style: { fontSize: 14, fontWeight: 500 } }, b || sA), showAvatar: !0, avatar: h || Oc, buttons: [...
|
|
5334
|
-
const ue =
|
|
5332
|
+
const q = X === !1 ? [T.createElement(nA, { key: "login-button", loginUrl: k || aA, isHeaderButton: !0 })] : [T.createElement(Sc, { key: "history-button" }), T.createElement(dc, { key: "user-icon" })];
|
|
5333
|
+
j.header = { title: T.createElement("span", { style: { fontSize: 14, fontWeight: 500 } }, b || sA), showAvatar: !0, avatar: h || Oc, buttons: [...q, De.CLOSE_CHAT_BUTTON] }, j.chatInput = Object.assign(Object.assign({}, j.chatInput), { disabled: !1, enabledPlaceholderText: E || Nc, disabledPlaceholderText: C || Lc }), j.tooltip = Object.assign(Object.assign({}, j.tooltip), { text: Q || Hc });
|
|
5334
|
+
const ue = D ? x ? T.createElement("a", { href: x, target: "_blank", rel: "noopener noreferrer", key: "footer-link" }, D) : T.createElement("span", { key: "footer-text" }, D) : null;
|
|
5335
5335
|
return j.footer = { text: ue ?? void 0, buttons: [T.createElement(Bc, { key: "new-chat-button" })] }, j.chatWindow = Object.assign(Object.assign({}, j.chatWindow), { defaultOpen: !!re }), j.event = { rcbPreInjectMessage: !0, rcbPostInjectMessage: !0, rcbUserSubmitText: !0, rcbChangePath: !0, rcbToggleChatWindow: !0 }, j;
|
|
5336
|
-
}, [g, v, b, h, E, C, re, Q, X, k,
|
|
5337
|
-
let
|
|
5338
|
-
return
|
|
5336
|
+
}, [g, v, b, h, E, C, re, Q, X, k, D, x]), qe = ne(null), ke = function(j) {
|
|
5337
|
+
let q = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
5338
|
+
return Ge(() => {
|
|
5339
5339
|
const ue = (Ae, Ee) => {
|
|
5340
5340
|
if (j.current) {
|
|
5341
5341
|
const me = getComputedStyle(j.current).getPropertyValue(Ae);
|
|
@@ -5347,15 +5347,15 @@ const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot",
|
|
|
5347
5347
|
}
|
|
5348
5348
|
return Ee;
|
|
5349
5349
|
};
|
|
5350
|
-
return { primaryColor: ue("--primaryColor",
|
|
5351
|
-
}, [j,
|
|
5352
|
-
}(
|
|
5353
|
-
((j,
|
|
5350
|
+
return { primaryColor: ue("--primaryColor", q.primaryColor), secondaryColor: ue("--secondaryColor", q.secondaryColor), fontFamily: ue("--fontFamily", q.fontFamily) };
|
|
5351
|
+
}, [j, q]);
|
|
5352
|
+
}(qe, ae.general);
|
|
5353
|
+
((j, q) => {
|
|
5354
5354
|
Z(() => {
|
|
5355
|
-
|
|
5356
|
-
}, [j,
|
|
5357
|
-
})(X !== !1,
|
|
5358
|
-
let { settings:
|
|
5355
|
+
q.current && (j ? q.current.classList.add("bot-logged-in") : q.current.classList.remove("bot-logged-in"));
|
|
5356
|
+
}, [j, q]);
|
|
5357
|
+
})(X !== !1, qe), ((j) => {
|
|
5358
|
+
let { settings: q, themeColors: ue } = j;
|
|
5359
5359
|
Z(() => {
|
|
5360
5360
|
ue && (Object.entries(ue).forEach((Ae) => {
|
|
5361
5361
|
let [Ee, me] = Ae;
|
|
@@ -5363,13 +5363,13 @@ const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot",
|
|
|
5363
5363
|
}), ue.primaryColor && document.documentElement.style.setProperty("--rcb-header-background", ue.primaryColor), ue.secondaryColor && document.documentElement.style.setProperty("--rcb-header-background-hover", ue.secondaryColor));
|
|
5364
5364
|
}, [ue]), Z(() => {
|
|
5365
5365
|
var Ae, Ee;
|
|
5366
|
-
!((Ae =
|
|
5367
|
-
}, [
|
|
5366
|
+
!((Ae = q.header) === null || Ae === void 0) && Ae.title && typeof q.header.title == "string" && (q.header.title = T.createElement("div", { key: "header-title" }, T.createElement("h1", { className: "sr-only" }, q.header.title), T.createElement("span", { "aria-hidden": "true" }, q.header.title))), q.device = { desktopEnabled: !0, mobileEnabled: !0, applyMobileOptimizations: !1 }, q.chatHistory = { disabled: !0 }, q.chatButton = Object.assign(Object.assign({}, q.chatButton), { icon: (Ee = q.header) === null || Ee === void 0 ? void 0 : Ee.avatar }), q.event = Object.assign(Object.assign({}, q.event), { rcbToggleChatWindow: !0 });
|
|
5367
|
+
}, [q]);
|
|
5368
5368
|
})({ settings: ae, themeColors: ke });
|
|
5369
|
-
const Me =
|
|
5369
|
+
const Me = Ge(() => {
|
|
5370
5370
|
const j = ((ue) => {
|
|
5371
|
-
let { endpoint: Ae, ratingEndpoint: Ee, agentRatingEndpoint: me, apiKey: pe, sessionId: Oe, isResetting: Te = () => !1, isLoggedIn: Ut, allowAnonAccess: Be = !1, loginUrl: At = "/login", trackEvent:
|
|
5372
|
-
if (Ut === !1 && !Be) return
|
|
5371
|
+
let { endpoint: Ae, ratingEndpoint: Ee, agentRatingEndpoint: me, apiKey: pe, sessionId: Oe, isResetting: Te = () => !1, isLoggedIn: Ut, allowAnonAccess: Be = !1, loginUrl: At = "/login", trackEvent: Se, getTurnstileToken: wt, resetTurnstileToken: Ft, backendId: jt, resourceContext: st } = ue;
|
|
5372
|
+
if (Ut === !1 && !Be) return Se == null || Se({ type: "chatbot_login_prompt_shown" }), { qa_loop: { message: "To ask questions, please log in first.", component: T.createElement(nA, { loginUrl: At }), chatDisabled: !0, path: "qa_loop" } };
|
|
5373
5373
|
let I = null, W = null, J = !1;
|
|
5374
5374
|
const Y = { siteKey: null, token: null, pendingQuery: null, needsChallenge: !1 };
|
|
5375
5375
|
let se = null;
|
|
@@ -5386,7 +5386,7 @@ const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot",
|
|
|
5386
5386
|
const ce = { "Content-Type": "application/json" };
|
|
5387
5387
|
pe && (ce["X-API-KEY"] = pe);
|
|
5388
5388
|
const ye = Oe();
|
|
5389
|
-
ye && (ce["X-Session-ID"] = ye, ce["X-Query-ID"] = I), await fetch(Ne, { method: "POST", headers: ce, credentials: "include", body: JSON.stringify(W === "agent" ? { query_id: I, rating: fe ? "helpful" : "not_helpful", session_id: ye } : { sessionId: ye, queryId: I, rating: fe ? 1 : 0 }) }),
|
|
5389
|
+
ye && (ce["X-Session-ID"] = ye, ce["X-Query-ID"] = I), await fetch(Ne, { method: "POST", headers: ce, credentials: "include", body: JSON.stringify(W === "agent" ? { query_id: I, rating: fe ? "helpful" : "not_helpful", session_id: ye } : { sessionId: ye, queryId: I, rating: fe ? 1 : 0 }) }), Se == null || Se({ type: "chatbot_rating_sent", queryId: I, rating: fe ? "helpful" : "not_helpful" });
|
|
5390
5390
|
} catch (ce) {
|
|
5391
5391
|
_e("Error sending feedback:", ce);
|
|
5392
5392
|
}
|
|
@@ -5395,7 +5395,7 @@ const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot",
|
|
|
5395
5395
|
}
|
|
5396
5396
|
try {
|
|
5397
5397
|
const fe = bi();
|
|
5398
|
-
I = fe,
|
|
5398
|
+
I = fe, Se == null || Se({ type: "chatbot_question_sent", queryId: fe, questionLength: Pe.length });
|
|
5399
5399
|
const Ne = { "Content-Type": "application/json" };
|
|
5400
5400
|
pe && (Ne["X-API-KEY"] = pe);
|
|
5401
5401
|
const ce = Oe();
|
|
@@ -5411,18 +5411,18 @@ const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot",
|
|
|
5411
5411
|
const Pn = (Ke = Ct.body) === null || Ke === void 0 ? void 0 : Ke.getReader();
|
|
5412
5412
|
if (!Pn) throw new Error("Response body is not readable");
|
|
5413
5413
|
const Jn = new TextDecoder();
|
|
5414
|
-
let lt = "", Et = "",
|
|
5414
|
+
let lt = "", Et = "", Dt = !1;
|
|
5415
5415
|
try {
|
|
5416
5416
|
for (; ; ) {
|
|
5417
5417
|
const { done: Bt, value: ct } = await Pn.read();
|
|
5418
5418
|
if (Bt) break;
|
|
5419
5419
|
lt += Jn.decode(ct, { stream: !0 });
|
|
5420
|
-
let
|
|
5420
|
+
let qt = lt.indexOf(`
|
|
5421
5421
|
|
|
5422
5422
|
`);
|
|
5423
|
-
for (;
|
|
5424
|
-
const ki = lt.slice(0,
|
|
5425
|
-
lt = lt.slice(
|
|
5423
|
+
for (; qt !== -1; ) {
|
|
5424
|
+
const ki = lt.slice(0, qt);
|
|
5425
|
+
lt = lt.slice(qt + 2);
|
|
5426
5426
|
let Wt, Yt = "", Cn = "";
|
|
5427
5427
|
for (const je of ki.split(`
|
|
5428
5428
|
`)) je.startsWith("event: ") ? Yt = je.slice(7) : je.startsWith("data: ") && (Cn = je.slice(6));
|
|
@@ -5430,14 +5430,14 @@ const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot",
|
|
|
5430
5430
|
try {
|
|
5431
5431
|
Wt = JSON.parse(Cn);
|
|
5432
5432
|
} catch {
|
|
5433
|
-
Ei("Failed to parse SSE data:", Cn),
|
|
5433
|
+
Ei("Failed to parse SSE data:", Cn), qt = lt.indexOf(`
|
|
5434
5434
|
|
|
5435
5435
|
`);
|
|
5436
5436
|
continue;
|
|
5437
5437
|
}
|
|
5438
5438
|
if (Yt === "status") {
|
|
5439
5439
|
const je = Wt.message || "Processing...";
|
|
5440
|
-
await le.streamMessage(`_${je}_`, "BOT"),
|
|
5440
|
+
await le.streamMessage(`_${je}_`, "BOT"), Dt = !0;
|
|
5441
5441
|
} else if (Yt === "token") {
|
|
5442
5442
|
Et += Wt.content || "";
|
|
5443
5443
|
const je = ln(Et);
|
|
@@ -5449,43 +5449,43 @@ const Qc = "#1a5b6e", Mc = "#107180", _c = "Arial, sans-serif", sA = "Q&A Bot",
|
|
|
5449
5449
|
const to = Wt.response || "";
|
|
5450
5450
|
if (to) {
|
|
5451
5451
|
const xi = ln(to);
|
|
5452
|
-
await le.streamMessage(xi, "BOT"),
|
|
5452
|
+
await le.streamMessage(xi, "BOT"), Dt = !0;
|
|
5453
5453
|
}
|
|
5454
|
-
|
|
5454
|
+
Dt && await le.endStreamMessage("BOT");
|
|
5455
5455
|
}
|
|
5456
5456
|
} else if (Yt === "error") {
|
|
5457
5457
|
const je = Wt.message || "An error occurred";
|
|
5458
|
-
_e("SSE error event:", je),
|
|
5458
|
+
_e("SSE error event:", je), Dt ? (await le.streamMessage(je, "BOT"), await le.endStreamMessage("BOT")) : await le.injectMessage(je);
|
|
5459
5459
|
}
|
|
5460
|
-
|
|
5460
|
+
qt = lt.indexOf(`
|
|
5461
5461
|
|
|
5462
5462
|
`);
|
|
5463
|
-
} else
|
|
5463
|
+
} else qt = lt.indexOf(`
|
|
5464
5464
|
|
|
5465
5465
|
`);
|
|
5466
5466
|
}
|
|
5467
5467
|
}
|
|
5468
|
-
|
|
5468
|
+
Dt && await le.endStreamMessage("BOT");
|
|
5469
5469
|
} catch (Bt) {
|
|
5470
|
-
if (_e("Error reading SSE stream:", Bt), !
|
|
5470
|
+
if (_e("Error reading SSE stream:", Bt), !Dt) throw Bt;
|
|
5471
5471
|
await le.streamMessage("I had trouble completing the response. Please try again.", "BOT"), await le.endStreamMessage("BOT");
|
|
5472
5472
|
}
|
|
5473
|
-
const
|
|
5474
|
-
return void (
|
|
5473
|
+
const Gt = Date.now() - rn;
|
|
5474
|
+
return void (Se == null || Se({ type: "chatbot_answer_received", queryId: fe, responseTimeMs: Gt, success: !0, responseLength: Et.length }));
|
|
5475
5475
|
}
|
|
5476
5476
|
const bn = Date.now() - rn, at = await Ct.json();
|
|
5477
|
-
if (at.requires_turnstile) return
|
|
5477
|
+
if (at.requires_turnstile) return Se == null || Se({ type: "chatbot_turnstile_shown", queryId: fe }), Y.siteKey = at.site_key, Y.pendingQuery = { query: Pe, sessionId: ce, queryId: fe }, Y.needsChallenge = !0, "One moment — verifying your session…";
|
|
5478
5478
|
Ft == null || Ft();
|
|
5479
5479
|
const zt = at.response || at.answer || at.text || at.message;
|
|
5480
5480
|
if (!zt) throw new Error("Invalid response format from API");
|
|
5481
5481
|
const En = at.metadata || {};
|
|
5482
5482
|
W = En.rating_target || null, J = En.is_final_response === !0;
|
|
5483
|
-
const bt = ln(zt),
|
|
5483
|
+
const bt = ln(zt), St = Nt() ? iA(at) : "", on = St ? `${bt}
|
|
5484
5484
|
|
|
5485
|
-
${
|
|
5486
|
-
return await le.injectMessage(on), void (
|
|
5485
|
+
${St}` : bt;
|
|
5486
|
+
return await le.injectMessage(on), void (Se == null || Se({ type: "chatbot_answer_received", queryId: fe, responseTimeMs: bn, success: !0, responseLength: zt.length, hasMetadata: !!St }));
|
|
5487
5487
|
} catch (fe) {
|
|
5488
|
-
return _e("Error in Q&A flow:", fe),
|
|
5488
|
+
return _e("Error in Q&A flow:", fe), Se == null || Se({ type: "chatbot_answer_error", queryId: I ?? void 0, errorType: fe instanceof Error ? fe.message : "unknown" }), "I apologize, but I'm having trouble processing your question. Please try again later.";
|
|
5489
5489
|
}
|
|
5490
5490
|
}
|
|
5491
5491
|
}, options: (le) => Te && Te() || le.userInput === "👍 Helpful" || le.userInput === "👎 Not helpful" || Y.needsChallenge ? [] : J && W && (W === "agent" ? me : Ee) ? ["👍 Helpful", "👎 Not helpful"] : [], renderMarkdown: ["BOT"], chatDisabled: !1, component: T.createElement(Tc, { getState: () => Y, onResubmit: async (le) => {
|
|
@@ -5502,7 +5502,7 @@ ${Dt}` : bt;
|
|
|
5502
5502
|
const zt = (Ke = Ne.body) === null || Ke === void 0 ? void 0 : Ke.getReader();
|
|
5503
5503
|
if (!zt) throw new Error("Response body is not readable");
|
|
5504
5504
|
const En = new TextDecoder();
|
|
5505
|
-
let bt = "",
|
|
5505
|
+
let bt = "", St = "", on = {};
|
|
5506
5506
|
for (; ; ) {
|
|
5507
5507
|
const { done: Jn, value: lt } = await zt.read();
|
|
5508
5508
|
if (Jn) break;
|
|
@@ -5511,14 +5511,14 @@ ${Dt}` : bt;
|
|
|
5511
5511
|
|
|
5512
5512
|
`);
|
|
5513
5513
|
for (; Et !== -1; ) {
|
|
5514
|
-
const
|
|
5514
|
+
const Dt = bt.slice(0, Et);
|
|
5515
5515
|
bt = bt.slice(Et + 2);
|
|
5516
|
-
let
|
|
5517
|
-
for (const ct of
|
|
5518
|
-
`)) ct.startsWith("event: ") ?
|
|
5519
|
-
if (
|
|
5516
|
+
let Gt = "", Bt = "";
|
|
5517
|
+
for (const ct of Dt.split(`
|
|
5518
|
+
`)) ct.startsWith("event: ") ? Gt = ct.slice(7) : ct.startsWith("data: ") && (Bt = ct.slice(6));
|
|
5519
|
+
if (Gt && Bt) try {
|
|
5520
5520
|
const ct = JSON.parse(Bt);
|
|
5521
|
-
|
|
5521
|
+
Gt === "token" ? St += ct.content || "" : Gt === "done" && (on = ct.metadata || {});
|
|
5522
5522
|
} catch {
|
|
5523
5523
|
}
|
|
5524
5524
|
Et = bt.indexOf(`
|
|
@@ -5526,10 +5526,10 @@ ${Dt}` : bt;
|
|
|
5526
5526
|
`);
|
|
5527
5527
|
}
|
|
5528
5528
|
}
|
|
5529
|
-
if (Y.token = null, Y.pendingQuery = null, Y.needsChallenge = !1, Y.siteKey = null, !
|
|
5529
|
+
if (Y.token = null, Y.pendingQuery = null, Y.needsChallenge = !1, Y.siteKey = null, !St) throw new Error("No content received from stream");
|
|
5530
5530
|
W = on.rating_target || null, J = on.is_final_response === !0, I = ce;
|
|
5531
|
-
const Pn = ln(
|
|
5532
|
-
return await se(Pn),
|
|
5531
|
+
const Pn = ln(St);
|
|
5532
|
+
return await se(Pn), Se == null || Se({ type: "chatbot_answer_received", queryId: ce, success: !0, responseLength: St.length }), "success";
|
|
5533
5533
|
}
|
|
5534
5534
|
const ye = await Ne.json();
|
|
5535
5535
|
if (ye.requires_turnstile) return Y.siteKey = ye.site_key, Y.token = null, await se("Still verifying — please complete the challenge again."), "needs_another_challenge";
|
|
@@ -5541,16 +5541,16 @@ ${Dt}` : bt;
|
|
|
5541
5541
|
const Ct = ln(Le), bn = Nt() ? iA(ye) : "", at = bn ? `${Ct}
|
|
5542
5542
|
|
|
5543
5543
|
${bn}` : Ct;
|
|
5544
|
-
return await se(at),
|
|
5544
|
+
return await se(at), Se == null || Se({ type: "chatbot_answer_received", queryId: ce, success: !0, responseLength: Le.length }), "success";
|
|
5545
5545
|
} catch (Pe) {
|
|
5546
5546
|
return _e("Error resubmitting after Turnstile:", Pe), Y.token = null, Y.pendingQuery = null, Y.needsChallenge = !1, Y.siteKey = null, await (se == null ? void 0 : se("I had trouble processing your question after verification. Please try again.")), "error";
|
|
5547
5547
|
}
|
|
5548
|
-
}, trackEvent:
|
|
5548
|
+
}, trackEvent: Se, loginUrl: At }), path: "qa_loop" } };
|
|
5549
5549
|
})({ endpoint: a, ratingEndpoint: s, agentRatingEndpoint: l, apiKey: A, sessionId: m.current.getSessionId, isResetting: m.current.isResetting, isLoggedIn: X, allowAnonAccess: f, loginUrl: k || aA, trackEvent: ge, getTurnstileToken: () => F.current, resetTurnstileToken: () => w.reset(), backendId: B, resourceContext: _ });
|
|
5550
5550
|
return Object.assign(Object.assign({ start: { message: c, renderMarkdown: ["BOT"], transition: { duration: 0 }, path: "qa_loop" } }, j), H || {});
|
|
5551
|
-
}, [A, a, s, l, c, X, f, k, H, y, ge, _, B]), tt =
|
|
5552
|
-
return [() => la(
|
|
5553
|
-
var j,
|
|
5551
|
+
}, [A, a, s, l, c, X, f, k, H, y, ge, _, B]), tt = Ge(() => {
|
|
5552
|
+
return [() => la(q), lc(), () => cc(j)];
|
|
5553
|
+
var j, q;
|
|
5554
5554
|
}, []);
|
|
5555
5555
|
return Z(() => {
|
|
5556
5556
|
const j = () => {
|
|
@@ -5569,21 +5569,21 @@ ${bn}` : Ct;
|
|
|
5569
5569
|
Ae.dispatchEvent(pe);
|
|
5570
5570
|
}
|
|
5571
5571
|
})));
|
|
5572
|
-
},
|
|
5573
|
-
return j(), () => clearInterval(
|
|
5572
|
+
}, q = setInterval(j, 1e3);
|
|
5573
|
+
return j(), () => clearInterval(q);
|
|
5574
5574
|
}, []), xc(), Z(() => {
|
|
5575
|
-
const j =
|
|
5575
|
+
const j = qe.current;
|
|
5576
5576
|
if (!j) return;
|
|
5577
|
-
const
|
|
5577
|
+
const q = (ue) => {
|
|
5578
5578
|
var Ae, Ee, me;
|
|
5579
5579
|
const pe = (Ee = (Ae = ue.target).closest) === null || Ee === void 0 ? void 0 : Ee.call(Ae, "a");
|
|
5580
5580
|
pe && pe.closest(".rcb-chat-body-container") && (pe.classList.contains("qa-bot-login-button") || pe.closest(".rcb-options-container") || ge({ type: "chatbot_link_clicked", linkUrl: pe.href, linkText: ((me = pe.textContent) === null || me === void 0 ? void 0 : me.trim()) || "" }));
|
|
5581
5581
|
};
|
|
5582
|
-
return j.addEventListener("click",
|
|
5582
|
+
return j.addEventListener("click", q), () => j.removeEventListener("click", q);
|
|
5583
5583
|
}, [ge]), Z(() => {
|
|
5584
5584
|
if (!re) {
|
|
5585
|
-
const j = (
|
|
5586
|
-
const ue =
|
|
5585
|
+
const j = (q) => {
|
|
5586
|
+
const ue = q.data.newState;
|
|
5587
5587
|
u == null || u(ue);
|
|
5588
5588
|
const Ae = M.current;
|
|
5589
5589
|
ge(ue ? { type: "chatbot_open" } : { type: "chatbot_close", messageCount: Ae ? Ci(Ae) : 0, durationMs: Ae ? Pc(Ae) : 0 });
|
|
@@ -5592,15 +5592,15 @@ ${bn}` : Ct;
|
|
|
5592
5592
|
window.removeEventListener("rcb-toggle-chat-window", j);
|
|
5593
5593
|
};
|
|
5594
5594
|
}
|
|
5595
|
-
}, [re, u, ge]), T.createElement("div", { className: "qa-bot " + (!((r = ae.general) === null || r === void 0) && r.embedded ? "embedded-qa-bot" : ""), ref:
|
|
5596
|
-
const
|
|
5597
|
-
M.current = j, Tn("RESTORED", `${
|
|
5595
|
+
}, [re, u, ge]), T.createElement("div", { className: "qa-bot " + (!((r = ae.general) === null || r === void 0) && r.embedded ? "embedded-qa-bot" : ""), ref: qe, role: "region", "aria-label": `${b || sA}${!((n = ae.general) === null || n === void 0) && n.embedded ? " - Embedded" : ""}` }, T.createElement(Cc, { getSessionId: () => M.current, setSessionId: (j) => {
|
|
5596
|
+
const q = M.current;
|
|
5597
|
+
M.current = j, Tn("RESTORED", `${q == null ? void 0 : q.slice(-12)} -> ${j.slice(-12)}`);
|
|
5598
5598
|
}, resetSession: () => {
|
|
5599
5599
|
const j = M.current;
|
|
5600
5600
|
L.current = !0, M.current = oA(), Tn("RESET", `${j == null ? void 0 : j.slice(-12)} -> ${M.current.slice(-12)}`);
|
|
5601
5601
|
}, clearResettingFlag: () => {
|
|
5602
5602
|
L.current = !1;
|
|
5603
|
-
} }, T.createElement(uc, { trackEvent: ge }, T.createElement(LA, null, T.createElement("div", null, T.createElement(kc, null), T.createElement(yi, { ref: t, embedded: ((o = ae.general) === null || o === void 0 ? void 0 : o.embedded) || !1, currentOpen: d || !1, enabled: X !== !1, onSetEnabled: (j) => V(!!j && void 0) }), T.createElement(
|
|
5603
|
+
} }, T.createElement(uc, { trackEvent: ge }, T.createElement(LA, null, T.createElement("div", null, T.createElement(kc, null), T.createElement(yi, { ref: t, embedded: ((o = ae.general) === null || o === void 0 ? void 0 : o.embedded) || !1, currentOpen: d || !1, enabled: X !== !1, onSetEnabled: (j) => V(!!j && void 0) }), T.createElement(Gs, { key: `chatbot-${U.current}-${X}`, settings: ae, flow: Me, plugins: tt }), T.createElement("div", { role: "status", "aria-live": "polite", "aria-label": "Bot response updates", className: "sr-only", id: "bot-live-region", style: { position: "absolute", width: "1px", height: "1px", padding: 0, margin: "-1px", overflow: "hidden", clip: "rect(0,0,0,0)", whiteSpace: "nowrap", border: 0 } }), T.createElement("div", { id: "chat-input-help", className: "sr-only", style: { position: "absolute", width: "1px", height: "1px", padding: 0, margin: "-1px", overflow: "hidden", clip: "rect(0,0,0,0)", whiteSpace: "nowrap", border: 0 } }, "Type your message and press Enter to send. Use arrow keys to navigate through response options."))))));
|
|
5604
5604
|
});
|
|
5605
5605
|
Zr.displayName = "QABot";
|
|
5606
5606
|
const Fc = () => {
|
|
@@ -5628,29 +5628,29 @@ const Fc = () => {
|
|
|
5628
5628
|
throw _e("Error capturing screenshot:", n), t(!1), n;
|
|
5629
5629
|
}
|
|
5630
5630
|
}, isCapturing: e, isScreenCaptureAvailable: r() };
|
|
5631
|
-
}, jc = (e) => T.createElement(
|
|
5631
|
+
}, jc = (e) => T.createElement(Di, e, T.createElement("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), T.createElement("polyline", { points: "17 8 12 3 7 8" }), T.createElement("line", { x1: "12", y1: "3", x2: "12", y2: "15" })), zc = (e) => new Promise((t, r) => {
|
|
5632
5632
|
const n = new FileReader();
|
|
5633
5633
|
n.onload = () => {
|
|
5634
5634
|
if (typeof n.result != "string") return void r(new Error(`Failed to read file ${e.name}`));
|
|
5635
5635
|
const o = n.result.split(",")[1];
|
|
5636
5636
|
t({ fileName: e.name, contentType: e.type, size: e.size, fileData: o });
|
|
5637
5637
|
}, n.onerror = () => r(new Error(`Failed to read file ${e.name}`)), n.readAsDataURL(e);
|
|
5638
|
-
}),
|
|
5638
|
+
}), Gc = (e) => Promise.all(e.map(zc)), qc = (e) => e < 1024 ? `${e} B` : e < 1048576 ? `${(e / 1024).toFixed(1)} KB` : `${(e / 1048576).toFixed(1)} MB`, Yn = (e) => {
|
|
5639
5639
|
let { onFileUpload: t, maxSizeMB: r = 10, acceptedTypes: n = "image/*,application/pdf,text/*,.doc,.docx", enableScreenshot: o = !1, className: A } = e;
|
|
5640
5640
|
const [a, s] = te(!1), [i, l] = te([]), [c, d] = te(null), u = ne(null), { captureScreenshot: p, isCapturing: f, isScreenCaptureAvailable: y } = Fc(), g = (P) => {
|
|
5641
|
-
const
|
|
5642
|
-
|
|
5641
|
+
const D = document.createElement("div");
|
|
5642
|
+
D.setAttribute("aria-live", "assertive"), D.setAttribute("aria-atomic", "true"), D.className = "sr-only", D.textContent = P, document.body.appendChild(D), setTimeout(() => document.body.removeChild(D), 1e3);
|
|
5643
5643
|
}, v = (P) => {
|
|
5644
5644
|
if (!P || P.length === 0) return void Ei("FileUploadComponent: No valid files provided to handleFiles");
|
|
5645
|
-
let
|
|
5645
|
+
let D;
|
|
5646
5646
|
try {
|
|
5647
|
-
|
|
5647
|
+
D = Array.from(P);
|
|
5648
5648
|
} catch (O) {
|
|
5649
5649
|
return _e("FileUploadComponent: Error converting files to array:", O), void g("Error processing selected files. Please try again.");
|
|
5650
5650
|
}
|
|
5651
|
-
const x = [...i, ...
|
|
5651
|
+
const x = [...i, ...D];
|
|
5652
5652
|
l(x);
|
|
5653
|
-
const Q =
|
|
5653
|
+
const Q = D.length, k = D.map((O) => O.name).join(", ");
|
|
5654
5654
|
g(`${Q} file${Q > 1 ? "s" : ""} selected: ${k}`), setTimeout(() => {
|
|
5655
5655
|
const O = document.querySelector(".rcb-chat-content");
|
|
5656
5656
|
O && (O.scrollTop = O.scrollHeight);
|
|
@@ -5669,30 +5669,30 @@ const Fc = () => {
|
|
|
5669
5669
|
return T.createElement("div", { className: `file-upload-container ${A || ""}`, style: { padding: "16px", margin: "8px 0" } }, C && T.createElement("div", { style: { display: "flex", justifyContent: "center", marginBottom: "10px" } }, T.createElement("button", { onClick: (P) => {
|
|
5670
5670
|
P.preventDefault(), (async () => {
|
|
5671
5671
|
try {
|
|
5672
|
-
const
|
|
5673
|
-
v([
|
|
5672
|
+
const D = await p();
|
|
5673
|
+
v([D]), g("Screenshot captured successfully");
|
|
5674
5674
|
} catch {
|
|
5675
5675
|
g("Error capturing screenshot. Please try again.");
|
|
5676
5676
|
}
|
|
5677
5677
|
})();
|
|
5678
5678
|
}, disabled: f, "aria-describedby": "screenshot-help", "aria-label": f ? "Taking screenshot, please wait" : "Take a screenshot to attach", style: { display: "flex", alignItems: "center", gap: "8px", backgroundColor: "#107180", color: "white", border: "none", borderRadius: "5px", padding: "8px 12px", cursor: f ? "not-allowed" : "pointer", fontSize: "14px", fontWeight: "500", boxShadow: "0 1px 3px rgba(0,0,0,0.2)" } }, T.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, T.createElement("path", { d: "M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z" }), T.createElement("circle", { cx: "12", cy: "13", r: "4" })), f ? "Taking screenshot..." : "Take screenshot..."), T.createElement("span", { id: "screenshot-help", className: "sr-only" }, "Captures the current screen and adds it as an attachment")), T.createElement("div", { className: "file-upload-dropzone " + (a ? "active" : ""), onDragEnter: b, onDragLeave: b, onDragOver: b, onDrop: (P) => {
|
|
5679
|
-
var
|
|
5679
|
+
var D;
|
|
5680
5680
|
P.preventDefault(), P.stopPropagation(), s(!1);
|
|
5681
5681
|
try {
|
|
5682
|
-
!((
|
|
5682
|
+
!((D = P.dataTransfer) === null || D === void 0) && D.files && P.dataTransfer.files.length > 0 && v(P.dataTransfer.files);
|
|
5683
5683
|
} catch (x) {
|
|
5684
5684
|
_e("FileUploadComponent: Error in handleDrop:", x), g("Error processing dropped files. Please try again.");
|
|
5685
5685
|
}
|
|
5686
5686
|
}, role: "button", tabIndex: 0, "aria-label": "File upload area. Click to select files or drag and drop files here.", "aria-describedby": "upload-instructions", onKeyDown: (P) => {
|
|
5687
5687
|
P.key !== "Enter" && P.key !== " " || (P.preventDefault(), h());
|
|
5688
5688
|
}, style: { padding: "20px", border: "2px dashed #ccc", borderRadius: "8px", backgroundColor: a ? "#f0f8ff" : "#fafafa", transition: "all 0.3s ease" } }, T.createElement("input", { ref: u, type: "file", className: "file-input", onChange: (P) => {
|
|
5689
|
-
var
|
|
5689
|
+
var D;
|
|
5690
5690
|
try {
|
|
5691
|
-
!((
|
|
5691
|
+
!((D = P.target) === null || D === void 0) && D.files && P.target.files.length > 0 && v(P.target.files);
|
|
5692
5692
|
} catch (x) {
|
|
5693
5693
|
_e("FileUploadComponent: Error in handleFileSelect:", x), g("Error processing selected files. Please try again.");
|
|
5694
5694
|
}
|
|
5695
|
-
}, multiple: !0, style: { display: "none" }, "aria-label": "Select files to upload", accept: n }), T.createElement("div", { className: "upload-content", onClick: h, style: { cursor: "pointer", flexDirection: "column", alignItems: "center", display: "flex", textAlign: "center", padding: "12px" } }, T.createElement("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "8px" } }, T.createElement("div", { style: { display: "flex", flexDirection: "row", alignItems: "center", gap: "10px" } }, T.createElement(jc, null), T.createElement("p", { style: { margin: 0, fontWeight: "bold" } }, "Upload Files")), T.createElement("p", { id: "upload-instructions", style: { margin: 0, fontSize: "14px", color: "#666" } }, "Drag and drop files here or click to select. (Max ", r, "MB each)")), i.length > 0 && T.createElement("div", { className: "selected-files", style: { display: "flex", flexWrap: "wrap", gap: "8px", marginTop: "12px", alignItems: "center" } }, T.createElement("span", { style: { fontWeight: 400, color: "#888", fontSize: "13px", marginRight: "8px", alignSelf: "center" } }, "Selected files:"), i.map((P,
|
|
5695
|
+
}, multiple: !0, style: { display: "none" }, "aria-label": "Select files to upload", accept: n }), T.createElement("div", { className: "upload-content", onClick: h, style: { cursor: "pointer", flexDirection: "column", alignItems: "center", display: "flex", textAlign: "center", padding: "12px" } }, T.createElement("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "8px" } }, T.createElement("div", { style: { display: "flex", flexDirection: "row", alignItems: "center", gap: "10px" } }, T.createElement(jc, null), T.createElement("p", { style: { margin: 0, fontWeight: "bold" } }, "Upload Files")), T.createElement("p", { id: "upload-instructions", style: { margin: 0, fontSize: "14px", color: "#666" } }, "Drag and drop files here or click to select. (Max ", r, "MB each)")), i.length > 0 && T.createElement("div", { className: "selected-files", style: { display: "flex", flexWrap: "wrap", gap: "8px", marginTop: "12px", alignItems: "center" } }, T.createElement("span", { style: { fontWeight: 400, color: "#888", fontSize: "13px", marginRight: "8px", alignSelf: "center" } }, "Selected files:"), i.map((P, D) => T.createElement("span", { key: D, style: { background: "#fff", color: "#107180", borderRadius: "5px", padding: "4px 12px", fontSize: "14px", marginRight: "4px", marginBottom: "4px", border: "1px solid #ccc", display: "flex", alignItems: "center", gap: "6px", cursor: "pointer" }, onClick: (x) => {
|
|
5696
5696
|
x.stopPropagation(), ((Q) => {
|
|
5697
5697
|
d(Q);
|
|
5698
5698
|
})(P);
|
|
@@ -5700,11 +5700,11 @@ const Fc = () => {
|
|
|
5700
5700
|
x.stopPropagation(), ((Q) => {
|
|
5701
5701
|
const k = i.filter((O, B) => B !== Q);
|
|
5702
5702
|
l(k), t && t(k);
|
|
5703
|
-
})(
|
|
5704
|
-
}, style: { cursor: "pointer", color: "#888", fontWeight: "bold", fontSize: "15px", marginRight: "4px", userSelect: "none", lineHeight: 1 }, title: "Remove file", "aria-label": `Remove ${P.name}` }, "×"), P.name, " (",
|
|
5703
|
+
})(D);
|
|
5704
|
+
}, style: { cursor: "pointer", color: "#888", fontWeight: "bold", fontSize: "15px", marginRight: "4px", userSelect: "none", lineHeight: 1 }, title: "Remove file", "aria-label": `Remove ${P.name}` }, "×"), P.name, " (", qc(P.size), ")"))))), (() => {
|
|
5705
5705
|
if (!c) return null;
|
|
5706
|
-
const P = c.type.startsWith("image/"),
|
|
5707
|
-
return T.createElement("div", { style: { position: "fixed", top: 0, left: 0, right: 0, bottom: 0, backgroundColor: "rgba(0, 0, 0, 0.7)", display: "flex", justifyContent: "center", alignItems: "center", zIndex: 1e3 }, onClick: E }, T.createElement("div", { style: { backgroundColor: "white", padding: "20px", borderRadius: "8px", maxWidth: "90%", maxHeight: "90%", overflow: "auto", position: "relative" }, onClick: (Q) => Q.stopPropagation() }, T.createElement("button", { onClick: E, style: { position: "absolute", top: "10px", right: "10px", background: "none", border: "none", fontSize: "24px", cursor: "pointer", color: "#666" } }, "×"), T.createElement("h3", { style: { marginTop: 0, marginBottom: "16px" } }, c.name), P && T.createElement("img", { src: URL.createObjectURL(c), alt: c.name, style: { maxWidth: "100%", maxHeight: "70vh" } }),
|
|
5706
|
+
const P = c.type.startsWith("image/"), D = c.type.startsWith("text/"), x = c.type === "application/pdf";
|
|
5707
|
+
return T.createElement("div", { style: { position: "fixed", top: 0, left: 0, right: 0, bottom: 0, backgroundColor: "rgba(0, 0, 0, 0.7)", display: "flex", justifyContent: "center", alignItems: "center", zIndex: 1e3 }, onClick: E }, T.createElement("div", { style: { backgroundColor: "white", padding: "20px", borderRadius: "8px", maxWidth: "90%", maxHeight: "90%", overflow: "auto", position: "relative" }, onClick: (Q) => Q.stopPropagation() }, T.createElement("button", { onClick: E, style: { position: "absolute", top: "10px", right: "10px", background: "none", border: "none", fontSize: "24px", cursor: "pointer", color: "#666" } }, "×"), T.createElement("h3", { style: { marginTop: 0, marginBottom: "16px" } }, c.name), P && T.createElement("img", { src: URL.createObjectURL(c), alt: c.name, style: { maxWidth: "100%", maxHeight: "70vh" } }), D && T.createElement("pre", { style: { whiteSpace: "pre-wrap", wordWrap: "break-word", maxHeight: "70vh", overflow: "auto", padding: "16px", backgroundColor: "#f5f5f5", borderRadius: "4px" } }, URL.createObjectURL(c)), x && T.createElement("iframe", { src: URL.createObjectURL(c), style: { width: "100%", height: "70vh", border: "none" }, title: c.name }), !P && !D && !x && T.createElement("div", { style: { padding: "20px", textAlign: "center" } }, "Preview not available for this file type")));
|
|
5708
5708
|
})());
|
|
5709
5709
|
};
|
|
5710
5710
|
function Wc(e, t) {
|
|
@@ -5793,43 +5793,17 @@ const Je = {
|
|
|
5793
5793
|
};
|
|
5794
5794
|
function Vc({
|
|
5795
5795
|
welcome: e,
|
|
5796
|
-
|
|
5797
|
-
trackEvent: r
|
|
5796
|
+
trackEvent: t
|
|
5798
5797
|
}) {
|
|
5799
5798
|
return {
|
|
5800
5799
|
start: {
|
|
5801
5800
|
message: e,
|
|
5802
5801
|
renderHtml: ["BOT"],
|
|
5803
|
-
options: [
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
"Report a security issue",
|
|
5807
|
-
"Ask about metrics"
|
|
5808
|
-
],
|
|
5809
|
-
chatDisabled: !1,
|
|
5810
|
-
path: (n) => {
|
|
5811
|
-
const o = n.userInput;
|
|
5812
|
-
switch (r({ type: "chatbot_menu_selected", selection: o }), o) {
|
|
5813
|
-
case "Ask a question":
|
|
5814
|
-
return "qa_prompt";
|
|
5815
|
-
case "Open a help ticket":
|
|
5816
|
-
return t({}), "help_ticket";
|
|
5817
|
-
case "Report a security issue":
|
|
5818
|
-
return t({}), r({ type: "chatbot_security_started" }), "security_incident";
|
|
5819
|
-
case "Ask about metrics":
|
|
5820
|
-
return "metrics_intro";
|
|
5821
|
-
default:
|
|
5822
|
-
return "qa_loop";
|
|
5823
|
-
}
|
|
5824
|
-
}
|
|
5825
|
-
},
|
|
5826
|
-
// Intermediate state between the "Ask a question" button click and the
|
|
5827
|
-
// qa_loop. Does nothing except prompt the user to type their question,
|
|
5828
|
-
// then hands them to qa_loop where their typed text is processed.
|
|
5829
|
-
qa_prompt: {
|
|
5830
|
-
message: "What would you like to ask?",
|
|
5802
|
+
options: ["Show my options"],
|
|
5803
|
+
// Typing is enabled from the start — users can type a question OR
|
|
5804
|
+
// click the button. chatDisabled is explicitly false.
|
|
5831
5805
|
chatDisabled: !1,
|
|
5832
|
-
path: "qa_loop"
|
|
5806
|
+
path: (r) => (t({ type: "chatbot_menu_selected", selection: r.userInput }), "qa_loop")
|
|
5833
5807
|
}
|
|
5834
5808
|
};
|
|
5835
5809
|
}
|
|
@@ -5871,7 +5845,7 @@ async function Xc(e, t = "support", r = []) {
|
|
|
5871
5845
|
requestTypeId: o,
|
|
5872
5846
|
requestFieldValues: { ...e }
|
|
5873
5847
|
};
|
|
5874
|
-
return r.length > 0 && (a.attachments = await
|
|
5848
|
+
return r.length > 0 && (a.attachments = await Gc(r)), a;
|
|
5875
5849
|
}
|
|
5876
5850
|
async function Jc(e, t) {
|
|
5877
5851
|
var o, A;
|
|
@@ -6062,7 +6036,7 @@ Would you like to submit a help ticket for ACCESS login issues?`,
|
|
|
6062
6036
|
// Step 5: File upload (component + Continue button)
|
|
6063
6037
|
access_login_upload: {
|
|
6064
6038
|
message: "Please upload your screenshot.",
|
|
6065
|
-
component: /* @__PURE__ */
|
|
6039
|
+
component: /* @__PURE__ */ S(
|
|
6066
6040
|
Yn,
|
|
6067
6041
|
{
|
|
6068
6042
|
onFileUpload: (s) => {
|
|
@@ -6304,7 +6278,7 @@ Would you like to submit a help ticket for resource provider login issues?`,
|
|
|
6304
6278
|
// Step 5: File upload (component + Continue button)
|
|
6305
6279
|
resource_login_upload: {
|
|
6306
6280
|
message: "Please upload your screenshot.",
|
|
6307
|
-
component: /* @__PURE__ */
|
|
6281
|
+
component: /* @__PURE__ */ S(
|
|
6308
6282
|
Yn,
|
|
6309
6283
|
{
|
|
6310
6284
|
onFileUpload: (s) => {
|
|
@@ -6837,7 +6811,7 @@ function nu({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
|
6837
6811
|
// Step 5: File upload (conditional)
|
|
6838
6812
|
general_help_upload: {
|
|
6839
6813
|
message: "Please upload your file.",
|
|
6840
|
-
component: /* @__PURE__ */
|
|
6814
|
+
component: /* @__PURE__ */ S(
|
|
6841
6815
|
Yn,
|
|
6842
6816
|
{
|
|
6843
6817
|
onFileUpload: (s) => {
|
|
@@ -7198,7 +7172,7 @@ function iu({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
|
7198
7172
|
// Step 5: File upload (conditional)
|
|
7199
7173
|
security_upload: {
|
|
7200
7174
|
message: "Please upload your files.",
|
|
7201
|
-
component: /* @__PURE__ */
|
|
7175
|
+
component: /* @__PURE__ */ S(
|
|
7202
7176
|
Yn,
|
|
7203
7177
|
{
|
|
7204
7178
|
onFileUpload: (i) => {
|
|
@@ -7647,7 +7621,7 @@ const gu = Ve(
|
|
|
7647
7621
|
resourceContext: E,
|
|
7648
7622
|
// Analytics
|
|
7649
7623
|
onAnalyticsEvent: C
|
|
7650
|
-
} = e, P = h || Je.BACKEND_ID,
|
|
7624
|
+
} = e, P = h || Je.BACKEND_ID, D = ne(null), x = ne(null), [Q, k] = te({}), [O, B] = te(null), _ = Ge(() => ({
|
|
7651
7625
|
email: A,
|
|
7652
7626
|
name: a,
|
|
7653
7627
|
accessId: s
|
|
@@ -7706,27 +7680,26 @@ const gu = Ve(
|
|
|
7706
7680
|
}, [H, n]), dA(t, () => ({
|
|
7707
7681
|
addMessage: (F) => {
|
|
7708
7682
|
var X, V;
|
|
7709
|
-
(V = (X =
|
|
7683
|
+
(V = (X = D.current) == null ? void 0 : X.addMessage) == null || V.call(X, F);
|
|
7710
7684
|
}
|
|
7711
7685
|
}));
|
|
7712
|
-
const M = y || (O == null ? void 0 : O.welcome_message) || _t.WELCOME_MESSAGE, L =
|
|
7686
|
+
const M = y || (O == null ? void 0 : O.welcome_message) || _t.WELCOME_MESSAGE, L = Ge(() => du(), []), m = G((F) => {
|
|
7713
7687
|
C && C({
|
|
7714
7688
|
...F,
|
|
7715
7689
|
type: F.type,
|
|
7716
7690
|
timestamp: F.timestamp ?? Date.now(),
|
|
7717
7691
|
sessionId: F.sessionId ?? L
|
|
7718
7692
|
});
|
|
7719
|
-
}, [C, L]), K =
|
|
7693
|
+
}, [C, L]), K = G((F) => {
|
|
7720
7694
|
C && C({
|
|
7721
7695
|
...F,
|
|
7722
7696
|
type: F.type,
|
|
7723
7697
|
timestamp: typeof F.timestamp == "number" ? F.timestamp : Date.now(),
|
|
7724
7698
|
sessionId: typeof F.sessionId == "string" ? F.sessionId : L
|
|
7725
7699
|
});
|
|
7726
|
-
}, [C, L]), w =
|
|
7700
|
+
}, [C, L]), w = Ge(() => {
|
|
7727
7701
|
const F = Vc({
|
|
7728
7702
|
welcome: M,
|
|
7729
|
-
setTicketForm: k,
|
|
7730
7703
|
trackEvent: m
|
|
7731
7704
|
}), X = ou({
|
|
7732
7705
|
ticketForm: {},
|
|
@@ -7750,10 +7723,10 @@ const gu = Ve(
|
|
|
7750
7723
|
};
|
|
7751
7724
|
return Wc(ge, { disableOnOptions: !0 });
|
|
7752
7725
|
}, [M, _, L, r, n, m, O]);
|
|
7753
|
-
return O ? /* @__PURE__ */
|
|
7726
|
+
return O ? /* @__PURE__ */ S("div", { ref: x, children: /* @__PURE__ */ S(
|
|
7754
7727
|
Zr,
|
|
7755
7728
|
{
|
|
7756
|
-
ref:
|
|
7729
|
+
ref: D,
|
|
7757
7730
|
isLoggedIn: n,
|
|
7758
7731
|
allowAnonAccess: Je.ALLOW_ANON_ACCESS,
|
|
7759
7732
|
actingUser: i,
|
|
@@ -7780,7 +7753,7 @@ const gu = Ve(
|
|
|
7780
7753
|
resourceContext: E,
|
|
7781
7754
|
customFlow: w
|
|
7782
7755
|
}
|
|
7783
|
-
) }) : /* @__PURE__ */
|
|
7756
|
+
) }) : /* @__PURE__ */ S("div", { ref: x });
|
|
7784
7757
|
}
|
|
7785
7758
|
);
|
|
7786
7759
|
gu.displayName = "AccessQABot";
|