@eshal-bot/chat-widget 0.1.26 → 0.1.28

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.
@@ -7869,7 +7869,7 @@
7869
7869
  m$1.hydrateRoot;
7870
7870
  }
7871
7871
 
7872
- var css_248z$1 = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.chat-widget-root{--cw-primary:#2563eb;--cw-primary-hover:#1d4ed8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.\\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}#chat-widget-root .chat-widget-root *{box-sizing:border-box;margin:0;padding:0}#chat-widget-root .chat-messages::-webkit-scrollbar{width:6px}#chat-widget-root .chat-messages::-webkit-scrollbar-track{background:transparent}#chat-widget-root .chat-messages::-webkit-scrollbar-thumb{background:rgba(156,163,175,.5);border-radius:10px}#chat-widget-root .chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(156,163,175,.7)}#chat-widget-root .dark .chat-messages::-webkit-scrollbar-thumb{background:rgba(75,85,99,.5)}#chat-widget-root .dark .chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(75,85,99,.7)}#chat-widget-root .pointer-events-none{pointer-events:none}#chat-widget-root .visible{visibility:visible}#chat-widget-root .static{position:static}#chat-widget-root .fixed{position:fixed}#chat-widget-root .absolute{position:absolute}#chat-widget-root .relative{position:relative}#chat-widget-root .inset-0{inset:0}#chat-widget-root .-right-1{right:-.25rem}#chat-widget-root .-top-1{top:-.25rem}#chat-widget-root .-top-8{top:-2rem}#chat-widget-root .bottom-5{bottom:1.25rem}#chat-widget-root .bottom-full{bottom:100%}#chat-widget-root .left-0{left:0}#chat-widget-root .left-1\\/2{left:50%}#chat-widget-root .left-5{left:1.25rem}#chat-widget-root .right-0{right:0}#chat-widget-root .right-5{right:1.25rem}#chat-widget-root .top-1\\/2{top:50%}#chat-widget-root .top-5{top:1.25rem}#chat-widget-root .isolate{isolation:isolate}#chat-widget-root .z-10{z-index:10}#chat-widget-root .z-50{z-index:50}#chat-widget-root .z-\\[999999\\]{z-index:999999}#chat-widget-root .m-0{margin:0}#chat-widget-root .mx-2{margin-left:.5rem;margin-right:.5rem}#chat-widget-root .my-3{margin-bottom:.75rem;margin-top:.75rem}#chat-widget-root .my-4{margin-bottom:1rem;margin-top:1rem}#chat-widget-root .-mb-px{margin-bottom:-1px}#chat-widget-root .mb-1{margin-bottom:.25rem}#chat-widget-root .mb-2{margin-bottom:.5rem}#chat-widget-root .mb-3{margin-bottom:.75rem}#chat-widget-root .mb-4{margin-bottom:1rem}#chat-widget-root .mb-5{margin-bottom:1.25rem}#chat-widget-root .ml-0\\.5{margin-left:.125rem}#chat-widget-root .ml-1{margin-left:.25rem}#chat-widget-root .mt-1{margin-top:.25rem}#chat-widget-root .mt-1\\.5{margin-top:.375rem}#chat-widget-root .mt-2{margin-top:.5rem}#chat-widget-root .mt-3{margin-top:.75rem}#chat-widget-root .mt-4{margin-top:1rem}#chat-widget-root .block{display:block}#chat-widget-root .inline-block{display:inline-block}#chat-widget-root .inline{display:inline}#chat-widget-root .flex{display:flex}#chat-widget-root .inline-flex{display:inline-flex}#chat-widget-root .table{display:table}#chat-widget-root .hidden{display:none}#chat-widget-root .h-1\\.5{height:.375rem}#chat-widget-root .h-10{height:2.5rem}#chat-widget-root .h-12{height:3rem}#chat-widget-root .h-14{height:3.5rem}#chat-widget-root .h-16{height:4rem}#chat-widget-root .h-2{height:.5rem}#chat-widget-root .h-3{height:.75rem}#chat-widget-root .h-3\\.5{height:.875rem}#chat-widget-root .h-4{height:1rem}#chat-widget-root .h-5{height:1.25rem}#chat-widget-root .h-7{height:1.75rem}#chat-widget-root .h-8{height:2rem}#chat-widget-root .h-\\[48px\\]{height:48px}#chat-widget-root .h-\\[650px\\]{height:650px}#chat-widget-root .h-auto{height:auto}#chat-widget-root .h-full{height:100%}#chat-widget-root .h-px{height:1px}#chat-widget-root .max-h-\\[85vh\\]{max-height:85vh}#chat-widget-root .min-h-0{min-height:0}#chat-widget-root .min-h-\\[48px\\]{min-height:48px}#chat-widget-root .w-1\\.5{width:.375rem}#chat-widget-root .w-10{width:2.5rem}#chat-widget-root .w-12{width:3rem}#chat-widget-root .w-14{width:3.5rem}#chat-widget-root .w-16{width:4rem}#chat-widget-root .w-2{width:.5rem}#chat-widget-root .w-3\\.5{width:.875rem}#chat-widget-root .w-4{width:1rem}#chat-widget-root .w-5{width:1.25rem}#chat-widget-root .w-7{width:1.75rem}#chat-widget-root .w-8{width:2rem}#chat-widget-root .w-80{width:20rem}#chat-widget-root .w-96{width:24rem}#chat-widget-root .w-\\[380px\\]{width:380px}#chat-widget-root .w-\\[48px\\]{width:48px}#chat-widget-root .w-full{width:100%}#chat-widget-root .min-w-0{min-width:0}#chat-widget-root .min-w-\\[60px\\]{min-width:60px}#chat-widget-root .min-w-full{min-width:100%}#chat-widget-root .max-w-\\[75\\%\\]{max-width:75%}#chat-widget-root .max-w-\\[85\\%\\]{max-width:85%}#chat-widget-root .max-w-\\[92vw\\]{max-width:92vw}#chat-widget-root .max-w-full{max-width:100%}#chat-widget-root .max-w-none{max-width:none}#chat-widget-root .max-w-sm{max-width:24rem}#chat-widget-root .max-w-xs{max-width:20rem}#chat-widget-root .flex-1{flex:1 1 0%}#chat-widget-root .flex-shrink-0{flex-shrink:0}#chat-widget-root .border-collapse{border-collapse:collapse}#chat-widget-root .-translate-x-1\\/2{--tw-translate-x:-50%}#chat-widget-root .-translate-x-1\\/2,#chat-widget-root .-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .-translate-y-1\\/2{--tw-translate-y:-50%}#chat-widget-root .rotate-0{--tw-rotate:0deg}#chat-widget-root .rotate-0,#chat-widget-root .scale-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .scale-0{--tw-scale-x:0;--tw-scale-y:0}#chat-widget-root .scale-100{--tw-scale-x:1;--tw-scale-y:1}#chat-widget-root .scale-100,#chat-widget-root .scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}#chat-widget-root .scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}#chat-widget-root .scale-125,#chat-widget-root .scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .scale-95{--tw-scale-x:.95;--tw-scale-y:.95}#chat-widget-root .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}#chat-widget-root .animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}#chat-widget-root .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}#chat-widget-root .animate-spin{animation:spin 1s linear infinite}#chat-widget-root .cursor-not-allowed{cursor:not-allowed}#chat-widget-root .cursor-pointer{cursor:pointer}#chat-widget-root .resize-none{resize:none}#chat-widget-root .resize{resize:both}#chat-widget-root .list-decimal{list-style-type:decimal}#chat-widget-root .list-disc{list-style-type:disc}#chat-widget-root .list-none{list-style-type:none}#chat-widget-root .flex-row{flex-direction:row}#chat-widget-root .flex-row-reverse{flex-direction:row-reverse}#chat-widget-root .flex-col{flex-direction:column}#chat-widget-root .flex-wrap{flex-wrap:wrap}#chat-widget-root .items-start{align-items:flex-start}#chat-widget-root .items-end{align-items:flex-end}#chat-widget-root .items-center{align-items:center}#chat-widget-root .justify-center{justify-content:center}#chat-widget-root .justify-between{justify-content:space-between}#chat-widget-root .gap-0{gap:0}#chat-widget-root .gap-1{gap:.25rem}#chat-widget-root .gap-1\\.5{gap:.375rem}#chat-widget-root .gap-2{gap:.5rem}#chat-widget-root .gap-2\\.5{gap:.625rem}#chat-widget-root .gap-3{gap:.75rem}#chat-widget-root .gap-4{gap:1rem}#chat-widget-root .gap-6{gap:1.5rem}#chat-widget-root :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}#chat-widget-root :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}#chat-widget-root :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}#chat-widget-root :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}#chat-widget-root .overflow-hidden{overflow:hidden}#chat-widget-root .overflow-x-auto{overflow-x:auto}#chat-widget-root .overflow-y-auto{overflow-y:auto}#chat-widget-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#chat-widget-root .whitespace-normal{white-space:normal}#chat-widget-root .whitespace-nowrap{white-space:nowrap}#chat-widget-root .whitespace-pre-wrap{white-space:pre-wrap}#chat-widget-root .break-words{overflow-wrap:break-word}#chat-widget-root .rounded{border-radius:.25rem}#chat-widget-root .rounded-2xl{border-radius:1rem}#chat-widget-root .rounded-3xl{border-radius:1.5rem}#chat-widget-root .rounded-full{border-radius:9999px}#chat-widget-root .rounded-lg{border-radius:.5rem}#chat-widget-root .rounded-md{border-radius:.375rem}#chat-widget-root .rounded-xl{border-radius:.75rem}#chat-widget-root .rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}#chat-widget-root .rounded-tl-sm{border-top-left-radius:.125rem}#chat-widget-root .rounded-tr-sm{border-top-right-radius:.125rem}#chat-widget-root .border{border-width:1px}#chat-widget-root .border-0{border-width:0}#chat-widget-root .border-2{border-width:2px}#chat-widget-root .border-l-4{border-left-width:4px}#chat-widget-root .border-t{border-top-width:1px}#chat-widget-root .border-t-2{border-top-width:2px}#chat-widget-root .border-dotted{border-style:dotted}#chat-widget-root .border-none{border-style:none}#chat-widget-root .\\!border-red-500{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity,1))!important}#chat-widget-root .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}#chat-widget-root .border-blue-700\\/50{border-color:rgba(29,78,216,.5)}#chat-widget-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-200\\/60{border-color:rgba(229,231,235,.6)}#chat-widget-root .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-700\\/50{border-color:rgba(55,65,81,.5)}#chat-widget-root .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}#chat-widget-root .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}#chat-widget-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}#chat-widget-root .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}#chat-widget-root .bg-current{background-color:currentColor}#chat-widget-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-700\\/50{background-color:rgba(55,65,81,.5)}#chat-widget-root .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}#chat-widget-root .bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}#chat-widget-root .bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}#chat-widget-root .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}#chat-widget-root .bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}#chat-widget-root .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}#chat-widget-root .bg-slate-50\\/50{background-color:rgba(248,250,252,.5)}#chat-widget-root .bg-slate-800\\/50{background-color:rgba(30,41,59,.5)}#chat-widget-root .bg-transparent{background-color:transparent}#chat-widget-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}#chat-widget-root .bg-white\\/10{background-color:hsla(0,0%,100%,.1)}#chat-widget-root .bg-white\\/20{background-color:hsla(0,0%,100%,.2)}#chat-widget-root .bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}#chat-widget-root .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}#chat-widget-root .from-gray-50\\/50{--tw-gradient-from:rgba(249,250,251,.5) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}#chat-widget-root .from-white\\/0{--tw-gradient-from:hsla(0,0%,100%,0) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}#chat-widget-root .from-white\\/10{--tw-gradient-from:hsla(0,0%,100%,.1) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}#chat-widget-root .from-yellow-200{--tw-gradient-from:#fef08a var(--tw-gradient-from-position);--tw-gradient-to:hsla(53,98%,77%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}#chat-widget-root .via-white\\/5{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}#chat-widget-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}#chat-widget-root .to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}#chat-widget-root .to-white\\/10{--tw-gradient-to:hsla(0,0%,100%,.1) var(--tw-gradient-to-position)}#chat-widget-root .to-yellow-400{--tw-gradient-to:#facc15 var(--tw-gradient-to-position)}#chat-widget-root .object-cover{-o-object-fit:cover;object-fit:cover}#chat-widget-root .p-0{padding:0}#chat-widget-root .p-3{padding:.75rem}#chat-widget-root .p-5{padding:1.25rem}#chat-widget-root .p-6{padding:1.5rem}#chat-widget-root .p-8{padding:2rem}#chat-widget-root .px-1{padding-left:.25rem;padding-right:.25rem}#chat-widget-root .px-2{padding-left:.5rem;padding-right:.5rem}#chat-widget-root .px-3{padding-left:.75rem;padding-right:.75rem}#chat-widget-root .px-4{padding-left:1rem;padding-right:1rem}#chat-widget-root .px-5{padding-left:1.25rem;padding-right:1.25rem}#chat-widget-root .py-1{padding-bottom:.25rem;padding-top:.25rem}#chat-widget-root .py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}#chat-widget-root .py-12{padding-bottom:3rem;padding-top:3rem}#chat-widget-root .py-2{padding-bottom:.5rem;padding-top:.5rem}#chat-widget-root .py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}#chat-widget-root .py-3{padding-bottom:.75rem;padding-top:.75rem}#chat-widget-root .py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}#chat-widget-root .py-4{padding-bottom:1rem;padding-top:1rem}#chat-widget-root .pb-1{padding-bottom:.25rem}#chat-widget-root .pb-2{padding-bottom:.5rem}#chat-widget-root .pl-4{padding-left:1rem}#chat-widget-root .pl-\\[50px\\]{padding-left:50px}#chat-widget-root .ps-5{padding-inline-start:1.25rem}#chat-widget-root .pt-1{padding-top:.25rem}#chat-widget-root .text-left{text-align:left}#chat-widget-root .text-center{text-align:center}#chat-widget-root .text-right{text-align:right}#chat-widget-root .align-middle{vertical-align:middle}#chat-widget-root .align-text-bottom{vertical-align:text-bottom}#chat-widget-root .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}#chat-widget-root .text-2xl{font-size:1.5rem;line-height:2rem}#chat-widget-root .text-\\[10px\\]{font-size:10px}#chat-widget-root .text-\\[11px\\]{font-size:11px}#chat-widget-root .text-\\[15px\\]{font-size:15px}#chat-widget-root .text-base{font-size:1rem;line-height:1.5rem}#chat-widget-root .text-lg{font-size:1.125rem;line-height:1.75rem}#chat-widget-root .text-sm{font-size:.875rem;line-height:1.25rem}#chat-widget-root .text-xl{font-size:1.25rem;line-height:1.75rem}#chat-widget-root .text-xs{font-size:.75rem;line-height:1rem}#chat-widget-root .font-bold{font-weight:700}#chat-widget-root .font-medium{font-weight:500}#chat-widget-root .font-semibold{font-weight:600}#chat-widget-root .uppercase{text-transform:uppercase}#chat-widget-root .lowercase{text-transform:lowercase}#chat-widget-root .italic{font-style:italic}#chat-widget-root .leading-normal{line-height:1.5}#chat-widget-root .leading-relaxed{line-height:1.625}#chat-widget-root .leading-snug{line-height:1.375}#chat-widget-root .leading-tight{line-height:1.25}#chat-widget-root .tracking-wide{letter-spacing:.025em}#chat-widget-root .text-\\[\\#4A5568\\]{--tw-text-opacity:1;color:rgb(74 85 104/var(--tw-text-opacity,1))}#chat-widget-root .text-current{color:currentColor}#chat-widget-root .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-500\\/80{color:hsla(220,9%,46%,.8)}#chat-widget-root .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}#chat-widget-root .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}#chat-widget-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}#chat-widget-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}#chat-widget-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}#chat-widget-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}#chat-widget-root .text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}#chat-widget-root .underline{text-decoration-line:underline}#chat-widget-root .no-underline{text-decoration-line:none}#chat-widget-root .underline-offset-4{text-underline-offset:4px}#chat-widget-root .placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}#chat-widget-root .placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}#chat-widget-root .opacity-0{opacity:0}#chat-widget-root .opacity-50{opacity:.5}#chat-widget-root .opacity-60{opacity:.6}#chat-widget-root .opacity-80{opacity:.8}#chat-widget-root .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}#chat-widget-root .shadow,#chat-widget-root .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}#chat-widget-root .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}#chat-widget-root .shadow-lg,#chat-widget-root .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}#chat-widget-root .shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}#chat-widget-root .shadow-none,#chat-widget-root .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}#chat-widget-root .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .shadow-black\\/20{--tw-shadow-color:rgba(0,0,0,.2);--tw-shadow:var(--tw-shadow-colored)}#chat-widget-root .shadow-gray-200\\/80{--tw-shadow-color:rgba(229,231,235,.8);--tw-shadow:var(--tw-shadow-colored)}#chat-widget-root .outline-none{outline:2px solid transparent;outline-offset:2px}#chat-widget-root .ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#chat-widget-root .ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}#chat-widget-root .ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}#chat-widget-root .blur{--tw-blur:blur(8px)}#chat-widget-root .blur,#chat-widget-root .brightness-0{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .brightness-0{--tw-brightness:brightness(0)}#chat-widget-root .drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}#chat-widget-root .drop-shadow,#chat-widget-root .drop-shadow-md{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}#chat-widget-root .drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}#chat-widget-root .drop-shadow-sm,#chat-widget-root .grayscale-\\[0\\.3\\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .grayscale-\\[0\\.3\\]{--tw-grayscale:grayscale(0.3)}#chat-widget-root .invert{--tw-invert:invert(100%)}#chat-widget-root .filter,#chat-widget-root .invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}#chat-widget-root .transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .duration-150{transition-duration:.15s}#chat-widget-root .duration-200{transition-duration:.2s}#chat-widget-root .duration-300{transition-duration:.3s}#chat-widget-root .duration-500{transition-duration:.5s}#chat-widget-root :is(#chat-widget-root .animate-in){animation:slideIn .3s ease-out}#chat-widget-root :is(#chat-widget-root .transition-all){transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .placeholder\\:text-\\[\\#8C8C8C\\]::-moz-placeholder{--tw-text-opacity:1;color:rgb(140 140 140/var(--tw-text-opacity,1))}#chat-widget-root .placeholder\\:text-\\[\\#8C8C8C\\]::placeholder{--tw-text-opacity:1;color:rgb(140 140 140/var(--tw-text-opacity,1))}#chat-widget-root .placeholder\\:text-\\[\\#A2A9B2\\]::-moz-placeholder{--tw-text-opacity:1;color:rgb(162 169 178/var(--tw-text-opacity,1))}#chat-widget-root .placeholder\\:text-\\[\\#A2A9B2\\]::placeholder{--tw-text-opacity:1;color:rgb(162 169 178/var(--tw-text-opacity,1))}#chat-widget-root .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}#chat-widget-root .hover\\:scale-105:hover,#chat-widget-root .hover\\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}#chat-widget-root .hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .hover\\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}#chat-widget-root .hover\\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}#chat-widget-root .hover\\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-blue-900\\/50:hover{background-color:rgba(30,58,138,.5)}#chat-widget-root .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-transparent:hover{background-color:transparent}#chat-widget-root .hover\\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}#chat-widget-root .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}#chat-widget-root .hover\\:underline:hover{text-decoration-line:underline}#chat-widget-root .hover\\:opacity-80:hover{opacity:.8}#chat-widget-root .hover\\:opacity-90:hover{opacity:.9}#chat-widget-root .hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}#chat-widget-root .hover\\:shadow-md:hover,#chat-widget-root .hover\\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}#chat-widget-root .hover\\:grayscale-0:hover{--tw-grayscale:grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .focus\\:\\!border-red-500:focus{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity,1))!important}#chat-widget-root .focus\\:border-\\[\\#5A6069\\]:focus{--tw-border-opacity:1;border-color:rgb(90 96 105/var(--tw-border-opacity,1))}#chat-widget-root .focus\\:border-\\[\\#B0B0B0\\]:focus{--tw-border-opacity:1;border-color:rgb(176 176 176/var(--tw-border-opacity,1))}#chat-widget-root .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}#chat-widget-root .focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#chat-widget-root .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}#chat-widget-root .focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#chat-widget-root .focus-visible\\:ring-white\\/40:focus-visible{--tw-ring-color:hsla(0,0%,100%,.4)}#chat-widget-root .active\\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}#chat-widget-root .active\\:scale-95:active,#chat-widget-root .active\\:scale-\\[0\\.98\\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98}#chat-widget-root .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}#chat-widget-root .disabled\\:opacity-40:disabled{opacity:.4}#chat-widget-root .disabled\\:opacity-50:disabled{opacity:.5}#chat-widget-root .disabled\\:shadow-none:disabled{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root :is(.group:hover .group-hover\\:scale-100){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root :is(.group:hover .group-hover\\:opacity-100){opacity:1}#chat-widget-root .dark\\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}#chat-widget-root .dark\\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}#chat-widget-root .rtl\\:rounded-tl-2xl:where([dir=rtl],[dir=rtl] *){border-top-left-radius:1rem}#chat-widget-root .rtl\\:rounded-tr-sm:where([dir=rtl],[dir=rtl] *){border-top-right-radius:.125rem}#chat-widget-root .\\[\\&\\:first-child\\]\\:\\!mt-0:first-child{margin-top:0!important}#chat-widget-root .\\[\\&\\:not\\(\\:last-child\\)\\]\\:mb-2:not(:last-child){margin-bottom:.5rem}#chat-widget-root :is(.\\[\\&\\>\\*\\:first-child\\]\\:\\!mt-0>:first-child){margin-top:0!important}#chat-widget-root :is(.\\[\\&\\>\\*\\:last-child\\]\\:\\!mb-0>:last-child){margin-bottom:0!important}";
7872
+ var css_248z$1 = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.chat-widget-root{--cw-primary:#2563eb;--cw-primary-hover:#1d4ed8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.\\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}#chat-widget-root .chat-widget-root *{box-sizing:border-box;margin:0;padding:0}#chat-widget-root .chat-messages::-webkit-scrollbar{width:6px}#chat-widget-root .chat-messages::-webkit-scrollbar-track{background:transparent}#chat-widget-root .chat-messages::-webkit-scrollbar-thumb{background:rgba(156,163,175,.5);border-radius:10px}#chat-widget-root .chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(156,163,175,.7)}#chat-widget-root .dark .chat-messages::-webkit-scrollbar-thumb{background:rgba(75,85,99,.5)}#chat-widget-root .dark .chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(75,85,99,.7)}#chat-widget-root .pointer-events-none{pointer-events:none}#chat-widget-root .visible{visibility:visible}#chat-widget-root .static{position:static}#chat-widget-root .fixed{position:fixed}#chat-widget-root .absolute{position:absolute}#chat-widget-root .relative{position:relative}#chat-widget-root .inset-0{inset:0}#chat-widget-root .-right-1{right:-.25rem}#chat-widget-root .-top-1{top:-.25rem}#chat-widget-root .-top-8{top:-2rem}#chat-widget-root .bottom-5{bottom:1.25rem}#chat-widget-root .bottom-full{bottom:100%}#chat-widget-root .left-0{left:0}#chat-widget-root .left-1\\/2{left:50%}#chat-widget-root .left-5{left:1.25rem}#chat-widget-root .right-0{right:0}#chat-widget-root .right-5{right:1.25rem}#chat-widget-root .top-1\\/2{top:50%}#chat-widget-root .top-5{top:1.25rem}#chat-widget-root .top-full{top:100%}#chat-widget-root .isolate{isolation:isolate}#chat-widget-root .z-10{z-index:10}#chat-widget-root .z-50{z-index:50}#chat-widget-root .z-\\[60\\]{z-index:60}#chat-widget-root .z-\\[999999\\]{z-index:999999}#chat-widget-root .z-\\[9999\\]{z-index:9999}#chat-widget-root .m-0{margin:0}#chat-widget-root .mx-2{margin-left:.5rem;margin-right:.5rem}#chat-widget-root .my-3{margin-bottom:.75rem;margin-top:.75rem}#chat-widget-root .my-4{margin-bottom:1rem;margin-top:1rem}#chat-widget-root .-mb-px{margin-bottom:-1px}#chat-widget-root .mb-1{margin-bottom:.25rem}#chat-widget-root .mb-2{margin-bottom:.5rem}#chat-widget-root .mb-3{margin-bottom:.75rem}#chat-widget-root .mb-4{margin-bottom:1rem}#chat-widget-root .mb-5{margin-bottom:1.25rem}#chat-widget-root .ml-0\\.5{margin-left:.125rem}#chat-widget-root .ml-1{margin-left:.25rem}#chat-widget-root .mt-1{margin-top:.25rem}#chat-widget-root .mt-1\\.5{margin-top:.375rem}#chat-widget-root .mt-2{margin-top:.5rem}#chat-widget-root .mt-3{margin-top:.75rem}#chat-widget-root .mt-4{margin-top:1rem}#chat-widget-root .block{display:block}#chat-widget-root .inline-block{display:inline-block}#chat-widget-root .inline{display:inline}#chat-widget-root .flex{display:flex}#chat-widget-root .inline-flex{display:inline-flex}#chat-widget-root .table{display:table}#chat-widget-root .hidden{display:none}#chat-widget-root .h-1\\.5{height:.375rem}#chat-widget-root .h-10{height:2.5rem}#chat-widget-root .h-12{height:3rem}#chat-widget-root .h-14{height:3.5rem}#chat-widget-root .h-16{height:4rem}#chat-widget-root .h-2{height:.5rem}#chat-widget-root .h-3{height:.75rem}#chat-widget-root .h-3\\.5{height:.875rem}#chat-widget-root .h-4{height:1rem}#chat-widget-root .h-5{height:1.25rem}#chat-widget-root .h-7{height:1.75rem}#chat-widget-root .h-8{height:2rem}#chat-widget-root .h-\\[48px\\]{height:48px}#chat-widget-root .h-\\[650px\\]{height:650px}#chat-widget-root .h-auto{height:auto}#chat-widget-root .h-full{height:100%}#chat-widget-root .h-px{height:1px}#chat-widget-root .max-h-\\[85vh\\]{max-height:85vh}#chat-widget-root .min-h-0{min-height:0}#chat-widget-root .min-h-\\[48px\\]{min-height:48px}#chat-widget-root .w-1\\.5{width:.375rem}#chat-widget-root .w-10{width:2.5rem}#chat-widget-root .w-12{width:3rem}#chat-widget-root .w-14{width:3.5rem}#chat-widget-root .w-16{width:4rem}#chat-widget-root .w-2{width:.5rem}#chat-widget-root .w-3{width:.75rem}#chat-widget-root .w-3\\.5{width:.875rem}#chat-widget-root .w-4{width:1rem}#chat-widget-root .w-44{width:11rem}#chat-widget-root .w-5{width:1.25rem}#chat-widget-root .w-7{width:1.75rem}#chat-widget-root .w-8{width:2rem}#chat-widget-root .w-80{width:20rem}#chat-widget-root .w-96{width:24rem}#chat-widget-root .w-\\[380px\\]{width:380px}#chat-widget-root .w-\\[48px\\]{width:48px}#chat-widget-root .w-full{width:100%}#chat-widget-root .min-w-0{min-width:0}#chat-widget-root .min-w-\\[60px\\]{min-width:60px}#chat-widget-root .min-w-full{min-width:100%}#chat-widget-root .max-w-\\[75\\%\\]{max-width:75%}#chat-widget-root .max-w-\\[85\\%\\]{max-width:85%}#chat-widget-root .max-w-\\[92vw\\]{max-width:92vw}#chat-widget-root .max-w-full{max-width:100%}#chat-widget-root .max-w-none{max-width:none}#chat-widget-root .max-w-sm{max-width:24rem}#chat-widget-root .max-w-xs{max-width:20rem}#chat-widget-root .flex-1{flex:1 1 0%}#chat-widget-root .flex-shrink-0{flex-shrink:0}#chat-widget-root .border-collapse{border-collapse:collapse}#chat-widget-root .-translate-x-1\\/2{--tw-translate-x:-50%}#chat-widget-root .-translate-x-1\\/2,#chat-widget-root .-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .-translate-y-1\\/2{--tw-translate-y:-50%}#chat-widget-root .rotate-0{--tw-rotate:0deg}#chat-widget-root .rotate-0,#chat-widget-root .scale-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .scale-0{--tw-scale-x:0;--tw-scale-y:0}#chat-widget-root .scale-100{--tw-scale-x:1;--tw-scale-y:1}#chat-widget-root .scale-100,#chat-widget-root .scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}#chat-widget-root .scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}#chat-widget-root .scale-125,#chat-widget-root .scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .scale-95{--tw-scale-x:.95;--tw-scale-y:.95}#chat-widget-root .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}#chat-widget-root .animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}#chat-widget-root .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}#chat-widget-root .animate-spin{animation:spin 1s linear infinite}#chat-widget-root .cursor-not-allowed{cursor:not-allowed}#chat-widget-root .cursor-pointer{cursor:pointer}#chat-widget-root .resize-none{resize:none}#chat-widget-root .resize{resize:both}#chat-widget-root .list-decimal{list-style-type:decimal}#chat-widget-root .list-disc{list-style-type:disc}#chat-widget-root .list-none{list-style-type:none}#chat-widget-root .flex-row{flex-direction:row}#chat-widget-root .flex-row-reverse{flex-direction:row-reverse}#chat-widget-root .flex-col{flex-direction:column}#chat-widget-root .flex-wrap{flex-wrap:wrap}#chat-widget-root .items-start{align-items:flex-start}#chat-widget-root .items-end{align-items:flex-end}#chat-widget-root .items-center{align-items:center}#chat-widget-root .justify-center{justify-content:center}#chat-widget-root .justify-between{justify-content:space-between}#chat-widget-root .gap-0{gap:0}#chat-widget-root .gap-0\\.5{gap:.125rem}#chat-widget-root .gap-1{gap:.25rem}#chat-widget-root .gap-1\\.5{gap:.375rem}#chat-widget-root .gap-2{gap:.5rem}#chat-widget-root .gap-2\\.5{gap:.625rem}#chat-widget-root .gap-3{gap:.75rem}#chat-widget-root .gap-4{gap:1rem}#chat-widget-root .gap-6{gap:1.5rem}#chat-widget-root :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}#chat-widget-root :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}#chat-widget-root :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}#chat-widget-root :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}#chat-widget-root .overflow-hidden{overflow:hidden}#chat-widget-root .overflow-visible{overflow:visible}#chat-widget-root .overflow-x-auto{overflow-x:auto}#chat-widget-root .overflow-y-auto{overflow-y:auto}#chat-widget-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#chat-widget-root .whitespace-normal{white-space:normal}#chat-widget-root .whitespace-nowrap{white-space:nowrap}#chat-widget-root .whitespace-pre-wrap{white-space:pre-wrap}#chat-widget-root .break-words{overflow-wrap:break-word}#chat-widget-root .rounded{border-radius:.25rem}#chat-widget-root .rounded-2xl{border-radius:1rem}#chat-widget-root .rounded-3xl{border-radius:1.5rem}#chat-widget-root .rounded-full{border-radius:9999px}#chat-widget-root .rounded-lg{border-radius:.5rem}#chat-widget-root .rounded-md{border-radius:.375rem}#chat-widget-root .rounded-xl{border-radius:.75rem}#chat-widget-root .rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}#chat-widget-root .rounded-tl-sm{border-top-left-radius:.125rem}#chat-widget-root .rounded-tr-sm{border-top-right-radius:.125rem}#chat-widget-root .border{border-width:1px}#chat-widget-root .border-0{border-width:0}#chat-widget-root .border-2{border-width:2px}#chat-widget-root .border-l-4{border-left-width:4px}#chat-widget-root .border-t{border-top-width:1px}#chat-widget-root .border-t-2{border-top-width:2px}#chat-widget-root .border-dotted{border-style:dotted}#chat-widget-root .border-none{border-style:none}#chat-widget-root .\\!border-red-500{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity,1))!important}#chat-widget-root .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}#chat-widget-root .border-blue-700\\/50{border-color:rgba(29,78,216,.5)}#chat-widget-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-200\\/60{border-color:rgba(229,231,235,.6)}#chat-widget-root .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}#chat-widget-root .border-gray-700\\/50{border-color:rgba(55,65,81,.5)}#chat-widget-root .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}#chat-widget-root .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}#chat-widget-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}#chat-widget-root .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}#chat-widget-root .bg-current{background-color:currentColor}#chat-widget-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-700\\/50{background-color:rgba(55,65,81,.5)}#chat-widget-root .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}#chat-widget-root .bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}#chat-widget-root .bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}#chat-widget-root .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}#chat-widget-root .bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}#chat-widget-root .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}#chat-widget-root .bg-slate-50\\/50{background-color:rgba(248,250,252,.5)}#chat-widget-root .bg-slate-800\\/50{background-color:rgba(30,41,59,.5)}#chat-widget-root .bg-transparent{background-color:transparent}#chat-widget-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}#chat-widget-root .bg-white\\/10{background-color:hsla(0,0%,100%,.1)}#chat-widget-root .bg-white\\/20{background-color:hsla(0,0%,100%,.2)}#chat-widget-root .bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}#chat-widget-root .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}#chat-widget-root .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}#chat-widget-root .from-gray-50\\/50{--tw-gradient-from:rgba(249,250,251,.5) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}#chat-widget-root .from-white\\/0{--tw-gradient-from:hsla(0,0%,100%,0) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}#chat-widget-root .from-white\\/10{--tw-gradient-from:hsla(0,0%,100%,.1) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}#chat-widget-root .from-yellow-200{--tw-gradient-from:#fef08a var(--tw-gradient-from-position);--tw-gradient-to:hsla(53,98%,77%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}#chat-widget-root .via-white\\/5{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}#chat-widget-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}#chat-widget-root .to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}#chat-widget-root .to-white\\/10{--tw-gradient-to:hsla(0,0%,100%,.1) var(--tw-gradient-to-position)}#chat-widget-root .to-yellow-400{--tw-gradient-to:#facc15 var(--tw-gradient-to-position)}#chat-widget-root .object-cover{-o-object-fit:cover;object-fit:cover}#chat-widget-root .p-0{padding:0}#chat-widget-root .p-0\\.5{padding:.125rem}#chat-widget-root .p-3{padding:.75rem}#chat-widget-root .p-5{padding:1.25rem}#chat-widget-root .p-6{padding:1.5rem}#chat-widget-root .p-8{padding:2rem}#chat-widget-root .px-1{padding-left:.25rem;padding-right:.25rem}#chat-widget-root .px-2{padding-left:.5rem;padding-right:.5rem}#chat-widget-root .px-3{padding-left:.75rem;padding-right:.75rem}#chat-widget-root .px-4{padding-left:1rem;padding-right:1rem}#chat-widget-root .px-5{padding-left:1.25rem;padding-right:1.25rem}#chat-widget-root .py-1{padding-bottom:.25rem;padding-top:.25rem}#chat-widget-root .py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}#chat-widget-root .py-12{padding-bottom:3rem;padding-top:3rem}#chat-widget-root .py-2{padding-bottom:.5rem;padding-top:.5rem}#chat-widget-root .py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}#chat-widget-root .py-3{padding-bottom:.75rem;padding-top:.75rem}#chat-widget-root .py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}#chat-widget-root .py-4{padding-bottom:1rem;padding-top:1rem}#chat-widget-root .pb-1{padding-bottom:.25rem}#chat-widget-root .pb-2{padding-bottom:.5rem}#chat-widget-root .pl-4{padding-left:1rem}#chat-widget-root .pl-\\[50px\\]{padding-left:50px}#chat-widget-root .ps-5{padding-inline-start:1.25rem}#chat-widget-root .pt-1{padding-top:.25rem}#chat-widget-root .text-left{text-align:left}#chat-widget-root .text-center{text-align:center}#chat-widget-root .text-right{text-align:right}#chat-widget-root .align-middle{vertical-align:middle}#chat-widget-root .align-text-bottom{vertical-align:text-bottom}#chat-widget-root .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}#chat-widget-root .text-2xl{font-size:1.5rem;line-height:2rem}#chat-widget-root .text-\\[10px\\]{font-size:10px}#chat-widget-root .text-\\[11px\\]{font-size:11px}#chat-widget-root .text-\\[15px\\]{font-size:15px}#chat-widget-root .text-base{font-size:1rem;line-height:1.5rem}#chat-widget-root .text-lg{font-size:1.125rem;line-height:1.75rem}#chat-widget-root .text-sm{font-size:.875rem;line-height:1.25rem}#chat-widget-root .text-xl{font-size:1.25rem;line-height:1.75rem}#chat-widget-root .text-xs{font-size:.75rem;line-height:1rem}#chat-widget-root .font-bold{font-weight:700}#chat-widget-root .font-medium{font-weight:500}#chat-widget-root .font-semibold{font-weight:600}#chat-widget-root .uppercase{text-transform:uppercase}#chat-widget-root .lowercase{text-transform:lowercase}#chat-widget-root .italic{font-style:italic}#chat-widget-root .leading-5{line-height:1.25rem}#chat-widget-root .leading-none{line-height:1}#chat-widget-root .leading-normal{line-height:1.5}#chat-widget-root .leading-relaxed{line-height:1.625}#chat-widget-root .leading-snug{line-height:1.375}#chat-widget-root .leading-tight{line-height:1.25}#chat-widget-root .tracking-wide{letter-spacing:.025em}#chat-widget-root .text-\\[\\#4A5568\\]{--tw-text-opacity:1;color:rgb(74 85 104/var(--tw-text-opacity,1))}#chat-widget-root .text-current{color:currentColor}#chat-widget-root .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-500\\/80{color:hsla(220,9%,46%,.8)}#chat-widget-root .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}#chat-widget-root .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}#chat-widget-root .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}#chat-widget-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}#chat-widget-root .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}#chat-widget-root .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}#chat-widget-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}#chat-widget-root .text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}#chat-widget-root .underline{text-decoration-line:underline}#chat-widget-root .no-underline{text-decoration-line:none}#chat-widget-root .underline-offset-4{text-underline-offset:4px}#chat-widget-root .placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}#chat-widget-root .placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}#chat-widget-root .opacity-0{opacity:0}#chat-widget-root .opacity-50{opacity:.5}#chat-widget-root .opacity-60{opacity:.6}#chat-widget-root .opacity-80{opacity:.8}#chat-widget-root .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}#chat-widget-root .shadow,#chat-widget-root .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}#chat-widget-root .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}#chat-widget-root .shadow-lg,#chat-widget-root .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}#chat-widget-root .shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}#chat-widget-root .shadow-none,#chat-widget-root .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}#chat-widget-root .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .shadow-black\\/20{--tw-shadow-color:rgba(0,0,0,.2);--tw-shadow:var(--tw-shadow-colored)}#chat-widget-root .shadow-gray-200\\/80{--tw-shadow-color:rgba(229,231,235,.8);--tw-shadow:var(--tw-shadow-colored)}#chat-widget-root .outline-none{outline:2px solid transparent;outline-offset:2px}#chat-widget-root .ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#chat-widget-root .ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}#chat-widget-root .ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}#chat-widget-root .blur{--tw-blur:blur(8px)}#chat-widget-root .blur,#chat-widget-root .drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}#chat-widget-root .drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}#chat-widget-root .drop-shadow-md,#chat-widget-root .drop-shadow-sm{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}#chat-widget-root .grayscale-\\[0\\.3\\]{--tw-grayscale:grayscale(0.3)}#chat-widget-root .filter,#chat-widget-root .grayscale-\\[0\\.3\\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}#chat-widget-root .transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .duration-150{transition-duration:.15s}#chat-widget-root .duration-200{transition-duration:.2s}#chat-widget-root .duration-300{transition-duration:.3s}#chat-widget-root .duration-500{transition-duration:.5s}#chat-widget-root :is(#chat-widget-root .animate-in){animation:slideIn .3s ease-out}#chat-widget-root :is(#chat-widget-root .transition-all){transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}#chat-widget-root .placeholder\\:text-\\[\\#8C8C8C\\]::-moz-placeholder{--tw-text-opacity:1;color:rgb(140 140 140/var(--tw-text-opacity,1))}#chat-widget-root .placeholder\\:text-\\[\\#8C8C8C\\]::placeholder{--tw-text-opacity:1;color:rgb(140 140 140/var(--tw-text-opacity,1))}#chat-widget-root .placeholder\\:text-\\[\\#A2A9B2\\]::-moz-placeholder{--tw-text-opacity:1;color:rgb(162 169 178/var(--tw-text-opacity,1))}#chat-widget-root .placeholder\\:text-\\[\\#A2A9B2\\]::placeholder{--tw-text-opacity:1;color:rgb(162 169 178/var(--tw-text-opacity,1))}#chat-widget-root .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}#chat-widget-root .hover\\:scale-105:hover,#chat-widget-root .hover\\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}#chat-widget-root .hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .hover\\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}#chat-widget-root .hover\\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}#chat-widget-root .hover\\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-blue-900\\/50:hover{background-color:rgba(30,58,138,.5)}#chat-widget-root .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}#chat-widget-root .hover\\:bg-transparent:hover{background-color:transparent}#chat-widget-root .hover\\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}#chat-widget-root .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}#chat-widget-root .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}#chat-widget-root .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}#chat-widget-root .hover\\:underline:hover{text-decoration-line:underline}#chat-widget-root .hover\\:opacity-80:hover{opacity:.8}#chat-widget-root .hover\\:opacity-90:hover{opacity:.9}#chat-widget-root .hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}#chat-widget-root .hover\\:shadow-md:hover,#chat-widget-root .hover\\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}#chat-widget-root .hover\\:grayscale-0:hover{--tw-grayscale:grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#chat-widget-root .focus\\:\\!border-red-500:focus{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity,1))!important}#chat-widget-root .focus\\:border-\\[\\#5A6069\\]:focus{--tw-border-opacity:1;border-color:rgb(90 96 105/var(--tw-border-opacity,1))}#chat-widget-root .focus\\:border-\\[\\#B0B0B0\\]:focus{--tw-border-opacity:1;border-color:rgb(176 176 176/var(--tw-border-opacity,1))}#chat-widget-root .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}#chat-widget-root .focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#chat-widget-root .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}#chat-widget-root .focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#chat-widget-root .focus-visible\\:ring-white\\/40:focus-visible{--tw-ring-color:hsla(0,0%,100%,.4)}#chat-widget-root .active\\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}#chat-widget-root .active\\:scale-95:active,#chat-widget-root .active\\:scale-\\[0\\.98\\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root .active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98}#chat-widget-root .active\\:outline-none:active{outline:2px solid transparent;outline-offset:2px}#chat-widget-root .active\\:ring-0:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#chat-widget-root .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}#chat-widget-root .disabled\\:opacity-40:disabled{opacity:.4}#chat-widget-root .disabled\\:opacity-50:disabled{opacity:.5}#chat-widget-root .disabled\\:shadow-none:disabled{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#chat-widget-root :is(.group:hover .group-hover\\:scale-100){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#chat-widget-root :is(.group:hover .group-hover\\:opacity-100){opacity:1}#chat-widget-root .dark\\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}#chat-widget-root .dark\\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}#chat-widget-root .rtl\\:rounded-tl-2xl:where([dir=rtl],[dir=rtl] *){border-top-left-radius:1rem}#chat-widget-root .rtl\\:rounded-tr-sm:where([dir=rtl],[dir=rtl] *){border-top-right-radius:.125rem}#chat-widget-root .\\[\\&\\:first-child\\]\\:\\!mt-0:first-child{margin-top:0!important}#chat-widget-root .\\[\\&\\:not\\(\\:last-child\\)\\]\\:mb-2:not(:last-child){margin-bottom:.5rem}#chat-widget-root :is(.\\[\\&\\>\\*\\:first-child\\]\\:\\!mt-0>:first-child){margin-top:0!important}#chat-widget-root :is(.\\[\\&\\>\\*\\:last-child\\]\\:\\!mb-0>:last-child){margin-bottom:0!important}";
7873
7873
 
7874
7874
  var css_248z = ".chat-widget-root{position:fixed;z-index:999999}.chat-widget-container{color:var(--cw-text-color,inherit);font-family:var(\r\n --cw-font-family,-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Roboto\",\"Oxygen\",\"Ubuntu\",\"Cantarell\",\"Fira Sans\",\"Droid Sans\",\"Helvetica Neue\",sans-serif\r\n )}#chat-widget-root .chat-messages p{overflow-wrap:anywhere;word-break:break-word}textarea#chat-widget-input::-moz-placeholder{border:none;line-height:48px;outline:none}textarea#chat-widget-input::placeholder{border:none;line-height:48px;outline:none}textarea#chat-widget-input{border:none;line-height:48px;outline:none}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}#chat-widget-root .scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}#chat-widget-root .scrollbar-hide::-webkit-scrollbar{display:none}@media print{.chat-widget-root{display:none!important}}";
7875
7875
 
@@ -8344,7 +8344,7 @@
8344
8344
 
8345
8345
  // Handle complete events
8346
8346
  if (parsed.type === 'complete') {
8347
- var _ref2, _parsed$Sources, _ref5, _parsed$choices$0$del, _parsed$choices2;
8347
+ var _ref2, _parsed$Sources, _parsed$choices2;
8348
8348
  // Normalize Sources from stream (API may send "Sources" or "sources")
8349
8349
  const rawSources = (_ref2 = (_parsed$Sources = parsed.Sources) !== null && _parsed$Sources !== void 0 ? _parsed$Sources : parsed.sources) !== null && _ref2 !== void 0 ? _ref2 : [];
8350
8350
  const sources = Array.isArray(rawSources) ? rawSources.map(s => {
@@ -8358,7 +8358,8 @@
8358
8358
  }).filter(s => s.source_id || s.url) : [];
8359
8359
 
8360
8360
  // Finalize the message content
8361
- const finalContent = (_ref5 = (_parsed$choices$0$del = (_parsed$choices2 = parsed.choices) === null || _parsed$choices2 === void 0 || (_parsed$choices2 = _parsed$choices2[0]) === null || _parsed$choices2 === void 0 || (_parsed$choices2 = _parsed$choices2.delta) === null || _parsed$choices2 === void 0 ? void 0 : _parsed$choices2.content) !== null && _parsed$choices$0$del !== void 0 ? _parsed$choices$0$del : parsed.finalContent) !== null && _ref5 !== void 0 ? _ref5 : accumulatedText.current;
8361
+ // Use || instead of ?? so empty strings ("") fall through to accumulatedText
8362
+ const finalContent = ((_parsed$choices2 = parsed.choices) === null || _parsed$choices2 === void 0 || (_parsed$choices2 = _parsed$choices2[0]) === null || _parsed$choices2 === void 0 || (_parsed$choices2 = _parsed$choices2.delta) === null || _parsed$choices2 === void 0 ? void 0 : _parsed$choices2.content) || parsed.finalContent || accumulatedText.current;
8362
8363
 
8363
8364
  // Map conclusion flag from payload (supports snake_case and camelCase)
8364
8365
  const extraFields = {};
@@ -8562,6 +8563,13 @@
8562
8563
  }
8563
8564
  return bytes.buffer;
8564
8565
  };
8566
+ const normalizeExternalUrl = value => {
8567
+ const trimmed = (value || '').trim();
8568
+ if (!trimmed) return '';
8569
+ if (/^https?:\/\//i.test(trimmed)) return trimmed;
8570
+ if (/^[a-z][a-z0-9+.-]*:/i.test(trimmed)) return trimmed;
8571
+ return "https://".concat(trimmed.replace(/^\/+/, ''));
8572
+ };
8565
8573
 
8566
8574
  /**
8567
8575
  * CN utility for conditional class names
@@ -8586,20 +8594,20 @@
8586
8594
  }
8587
8595
  if (!apiBaseUrl) {
8588
8596
  // Default fallback if no API base URL is provided
8589
- return 'wss://dev.eshal.ai/knowledge-api/ws';
8597
+ return 'wss://dev.eshal.ai/ws/v1/bidi';
8590
8598
  }
8591
8599
  try {
8592
8600
  const url = new URL(apiBaseUrl);
8593
8601
  // Replace http/https with ws/wss
8594
8602
  url.protocol = url.protocol.replace(/^http/, 'ws');
8595
- // Append the WebSocket specific path
8596
- url.pathname = '/knowledge-api/ws';
8603
+ // Append the bidi WebSocket path
8604
+ url.pathname = '/ws/v1/bidi';
8597
8605
  // Ensure it returns a clean URL without extra slashes
8598
8606
  return url.toString().replace(/\/$/, '');
8599
8607
  } catch (error) {
8600
8608
  console.error("Invalid API base URL provided for WebSocket:", error);
8601
8609
  // Fallback to default if URL parsing fails
8602
- return 'wss://dev.eshal.ai/knowledge-api/ws';
8610
+ return 'wss://dev.eshal.ai/ws/v1/bidi';
8603
8611
  }
8604
8612
  };
8605
8613
 
@@ -8908,6 +8916,7 @@
8908
8916
  openDelay,
8909
8917
  darkMode,
8910
8918
  enableVoiceInteraction = false,
8919
+ voiceGender = 'male',
8911
8920
  onboardingQuestions = [],
8912
8921
  onboardingEnabled = false,
8913
8922
  collectionPrompt,
@@ -8991,14 +9000,16 @@
8991
9000
  const isProcessingAssistantUpdateRef = reactExports.useRef(false); // Track if we're currently processing an assistant update
8992
9001
  const lastProcessedAssistantContentRef = reactExports.useRef(null); // Track last processed content to prevent duplicates
8993
9002
  const userHasSpokenRef = reactExports.useRef(false); // Track if user has sent first message - prevents automatic greetings
9003
+ const turnHasTranscriptionRef = reactExports.useRef(false); // True when outputTranscription received this turn — skip content.parts text
8994
9004
  const stopVoiceSessionRef = reactExports.useRef(null); // Ref to avoid referencing stopVoiceSession before it is defined in handleBidiEvent
8995
9005
 
8996
9006
  const websocketUrl = reactExports.useMemo(() => {
8997
9007
  if (!organizationId) return null;
8998
9008
  // Construct WebSocket URL from the API base URL
8999
9009
  const resolvedWsBaseUrl = getWebSocketUrl(apiBaseUrl, wsBaseUrl);
9000
- return "".concat(resolvedWsBaseUrl, "/").concat(organizationId, "/").concat(bidiSessionId);
9001
- }, [apiBaseUrl, organizationId, bidiSessionId]);
9010
+ const gender = voiceGender || 'male';
9011
+ return "".concat(resolvedWsBaseUrl, "/").concat(organizationId, "/").concat(bidiSessionId, "?voice_gender=").concat(gender);
9012
+ }, [apiBaseUrl, organizationId, bidiSessionId, voiceGender]);
9002
9013
  const getNextMessageId = reactExports.useCallback(() => {
9003
9014
  const id = "msg-".concat(messageIdRef.current);
9004
9015
  messageIdRef.current += 1;
@@ -9055,15 +9066,32 @@
9055
9066
  });
9056
9067
  if (chatMsgs.length > 0) {
9057
9068
  historyHasMessagesRef.current = true;
9058
- const historyMessages = chatMsgs.map((msg, index) => _objectSpread2(_objectSpread2({}, createMessage({
9059
- id: msg.id || "history-".concat(index, "-").concat(Date.now()),
9060
- role: msg.role || (msg.sender === 'user' ? 'user' : 'assistant'),
9061
- content: msg.message || msg.content || ''
9062
- })), {}, {
9063
- timestamp: msg.time ? new Date(msg.time) : new Date()
9064
- }, Array.isArray(msg.prompts) && msg.prompts.length > 0 ? {
9065
- prompts: msg.prompts
9066
- } : {}));
9069
+ const historyMessages = chatMsgs.map((msg, index) => {
9070
+ var _msg$Sources;
9071
+ // Normalize sources backend may store them as "Sources" (capital) with
9072
+ // "sourceid" (no underscore). Map to the shape MessageSources expects.
9073
+ const rawSources = (_msg$Sources = msg.Sources) !== null && _msg$Sources !== void 0 ? _msg$Sources : msg.sources;
9074
+ const sources = Array.isArray(rawSources) ? rawSources.map(s => {
9075
+ var _ref3, _s$source_type, _s$source_id, _ref4, _s$source_name;
9076
+ return {
9077
+ source_type: (_ref3 = (_s$source_type = s.source_type) !== null && _s$source_type !== void 0 ? _s$source_type : s.sourceType) !== null && _ref3 !== void 0 ? _ref3 : 'website',
9078
+ source_id: (_s$source_id = s.source_id) !== null && _s$source_id !== void 0 ? _s$source_id : s.sourceid,
9079
+ source_name: (_ref4 = (_s$source_name = s.source_name) !== null && _s$source_name !== void 0 ? _s$source_name : s.sourceName) !== null && _ref4 !== void 0 ? _ref4 : '',
9080
+ url: s.url
9081
+ };
9082
+ }).filter(s => s.source_id || s.url) : [];
9083
+ return _objectSpread2(_objectSpread2(_objectSpread2({}, createMessage({
9084
+ id: msg.id || "history-".concat(index, "-").concat(Date.now()),
9085
+ role: msg.role || (msg.sender === 'user' ? 'user' : 'assistant'),
9086
+ content: msg.message || msg.content || ''
9087
+ })), {}, {
9088
+ timestamp: msg.time ? new Date(msg.time) : new Date()
9089
+ }, Array.isArray(msg.prompts) && msg.prompts.length > 0 ? {
9090
+ prompts: msg.prompts
9091
+ } : {}), sources.length > 0 ? {
9092
+ sources
9093
+ } : {});
9094
+ });
9067
9095
 
9068
9096
  // If the API didn't return prompts on any message, restore from localStorage
9069
9097
  const hasAnyPrompts = historyMessages.some(m => m.role === 'assistant' && Array.isArray(m.prompts) && m.prompts.length > 0);
@@ -9816,17 +9844,16 @@
9816
9844
  }, []);
9817
9845
  const handleContentParts = reactExports.useCallback(function (parts) {
9818
9846
  let finished = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
9847
+ let audioOnly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
9819
9848
  console.log("[BIDI] handleContentParts called", {
9820
9849
  partsCount: parts === null || parts === void 0 ? void 0 : parts.length,
9821
- finished
9850
+ finished,
9851
+ audioOnly
9822
9852
  });
9823
9853
  if (!parts || !Array.isArray(parts)) {
9824
9854
  console.warn("[BIDI] handleContentParts: invalid parts", parts);
9825
9855
  return;
9826
9856
  }
9827
-
9828
- // CRITICAL FIX: Accumulate all text parts and call appendAssistantContent ONCE
9829
- // This prevents multiple rapid setBidiMessages calls that React batches together
9830
9857
  let accumulatedText = '';
9831
9858
  parts.forEach((part, index) => {
9832
9859
  var _part$inlineData, _part$inlineData$mime;
@@ -9838,7 +9865,8 @@
9838
9865
  console.warn("[BIDI] handleContentParts: audioPlayerNodeRef is null");
9839
9866
  }
9840
9867
  }
9841
- if (part.text) {
9868
+ // Skip text when audioOnly — outputTranscription already handled it
9869
+ if (!audioOnly && part.text) {
9842
9870
  accumulatedText += part.text;
9843
9871
  console.log("[BIDI] handleContentParts: accumulated text part", {
9844
9872
  text: part.text.substring(0, 50),
@@ -9847,10 +9875,8 @@
9847
9875
  });
9848
9876
  }
9849
9877
  });
9850
-
9851
- // Call appendAssistantContent ONCE with all accumulated text
9852
9878
  if (accumulatedText) {
9853
- console.log("[BIDI] handleContentParts: calling appendAssistantContent once with accumulated text", {
9879
+ console.log("[BIDI] handleContentParts: calling appendAssistantContent once", {
9854
9880
  textLength: accumulatedText.length,
9855
9881
  finished
9856
9882
  });
@@ -9882,6 +9908,7 @@
9882
9908
  });
9883
9909
  currentAssistantMessageIdRef.current = null;
9884
9910
  currentInputMessageIdRef.current = null;
9911
+ turnHasTranscriptionRef.current = false; // reset for next turn
9885
9912
  }, []);
9886
9913
  const handleInterrupted = reactExports.useCallback(() => {
9887
9914
  setIsLoading(false);
@@ -10035,13 +10062,17 @@
10035
10062
  // exists in bidiMessages before handleTurnComplete clears currentAssistantMessageIdRef —
10036
10063
  // otherwise the follow-up prompts message that arrives next has no message to attach to.
10037
10064
  if ((_event$outputTranscri2 = event.outputTranscription) !== null && _event$outputTranscri2 !== void 0 && _event$outputTranscri2.text) {
10065
+ // Mark that this turn already has transcription text — any subsequent
10066
+ // content.parts events (even separate WS frames) must skip their text
10067
+ // to avoid appending the same response twice.
10068
+ turnHasTranscriptionRef.current = true;
10038
10069
  appendAssistantContent(event.outputTranscription.text, Boolean(event.outputTranscription.finished));
10039
10070
  }
10040
10071
  if ((_event$content3 = event.content) !== null && _event$content3 !== void 0 && _event$content3.parts) {
10041
10072
  var _event$content4;
10042
- // Check if the content has a finished flag, or if the event itself indicates completion
10073
+ // audioOnly=true when transcription already handled the text this turn
10043
10074
  const contentFinished = ((_event$content4 = event.content) === null || _event$content4 === void 0 ? void 0 : _event$content4.finished) || event.finished || false;
10044
- handleContentParts(event.content.parts, contentFinished);
10075
+ handleContentParts(event.content.parts, contentFinished, turnHasTranscriptionRef.current);
10045
10076
  }
10046
10077
  if (event.prompts && Array.isArray(event.prompts) && event.prompts.length > 0) {
10047
10078
  console.log("[BIDI] handleBidiEvent: attaching prompts to last assistant message", {
@@ -10622,7 +10653,7 @@
10622
10653
  * See the LICENSE file in the root directory of this source tree.
10623
10654
  */
10624
10655
 
10625
- const __iconNode$d = [["path", {
10656
+ const __iconNode$i = [["path", {
10626
10657
  d: "M2 10v3",
10627
10658
  key: "1fnikh"
10628
10659
  }], ["path", {
@@ -10641,7 +10672,7 @@
10641
10672
  d: "M22 10v3",
10642
10673
  key: "154ddg"
10643
10674
  }]];
10644
- const AudioLines = createLucideIcon("audio-lines", __iconNode$d);
10675
+ const AudioLines = createLucideIcon("audio-lines", __iconNode$i);
10645
10676
 
10646
10677
  /**
10647
10678
  * @license lucide-react v0.575.0 - ISC
@@ -10650,11 +10681,11 @@
10650
10681
  * See the LICENSE file in the root directory of this source tree.
10651
10682
  */
10652
10683
 
10653
- const __iconNode$c = [["path", {
10684
+ const __iconNode$h = [["path", {
10654
10685
  d: "m15 18-6-6 6-6",
10655
10686
  key: "1wnfg3"
10656
10687
  }]];
10657
- const ChevronLeft = createLucideIcon("chevron-left", __iconNode$c);
10688
+ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$h);
10658
10689
 
10659
10690
  /**
10660
10691
  * @license lucide-react v0.575.0 - ISC
@@ -10663,11 +10694,11 @@
10663
10694
  * See the LICENSE file in the root directory of this source tree.
10664
10695
  */
10665
10696
 
10666
- const __iconNode$b = [["path", {
10697
+ const __iconNode$g = [["path", {
10667
10698
  d: "m9 18 6-6-6-6",
10668
10699
  key: "mthhwq"
10669
10700
  }]];
10670
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$b);
10701
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$g);
10671
10702
 
10672
10703
  /**
10673
10704
  * @license lucide-react v0.575.0 - ISC
@@ -10676,7 +10707,28 @@
10676
10707
  * See the LICENSE file in the root directory of this source tree.
10677
10708
  */
10678
10709
 
10679
- const __iconNode$a = [["path", {
10710
+ const __iconNode$f = [["rect", {
10711
+ width: "14",
10712
+ height: "14",
10713
+ x: "8",
10714
+ y: "8",
10715
+ rx: "2",
10716
+ ry: "2",
10717
+ key: "17jyea"
10718
+ }], ["path", {
10719
+ d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
10720
+ key: "zix9uf"
10721
+ }]];
10722
+ const Copy = createLucideIcon("copy", __iconNode$f);
10723
+
10724
+ /**
10725
+ * @license lucide-react v0.575.0 - ISC
10726
+ *
10727
+ * This source code is licensed under the ISC license.
10728
+ * See the LICENSE file in the root directory of this source tree.
10729
+ */
10730
+
10731
+ const __iconNode$e = [["path", {
10680
10732
  d: "M12 15V3",
10681
10733
  key: "m9g1x1"
10682
10734
  }], ["path", {
@@ -10686,7 +10738,7 @@
10686
10738
  d: "m7 10 5 5 5-5",
10687
10739
  key: "brsn70"
10688
10740
  }]];
10689
- const Download = createLucideIcon("download", __iconNode$a);
10741
+ const Download = createLucideIcon("download", __iconNode$e);
10690
10742
 
10691
10743
  /**
10692
10744
  * @license lucide-react v0.575.0 - ISC
@@ -10695,7 +10747,32 @@
10695
10747
  * See the LICENSE file in the root directory of this source tree.
10696
10748
  */
10697
10749
 
10698
- const __iconNode$9 = [["path", {
10750
+ const __iconNode$d = [["circle", {
10751
+ cx: "12",
10752
+ cy: "12",
10753
+ r: "1",
10754
+ key: "41hilf"
10755
+ }], ["circle", {
10756
+ cx: "19",
10757
+ cy: "12",
10758
+ r: "1",
10759
+ key: "1wjl8i"
10760
+ }], ["circle", {
10761
+ cx: "5",
10762
+ cy: "12",
10763
+ r: "1",
10764
+ key: "1pcz8c"
10765
+ }]];
10766
+ const Ellipsis = createLucideIcon("ellipsis", __iconNode$d);
10767
+
10768
+ /**
10769
+ * @license lucide-react v0.575.0 - ISC
10770
+ *
10771
+ * This source code is licensed under the ISC license.
10772
+ * See the LICENSE file in the root directory of this source tree.
10773
+ */
10774
+
10775
+ const __iconNode$c = [["path", {
10699
10776
  d: "M15 3h6v6",
10700
10777
  key: "1q9fwt"
10701
10778
  }], ["path", {
@@ -10705,7 +10782,7 @@
10705
10782
  d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",
10706
10783
  key: "a6xqqp"
10707
10784
  }]];
10708
- const ExternalLink = createLucideIcon("external-link", __iconNode$9);
10785
+ const ExternalLink = createLucideIcon("external-link", __iconNode$c);
10709
10786
 
10710
10787
  /**
10711
10788
  * @license lucide-react v0.575.0 - ISC
@@ -10714,7 +10791,7 @@
10714
10791
  * See the LICENSE file in the root directory of this source tree.
10715
10792
  */
10716
10793
 
10717
- const __iconNode$8 = [["path", {
10794
+ const __iconNode$b = [["path", {
10718
10795
  d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
10719
10796
  key: "1oefj6"
10720
10797
  }], ["path", {
@@ -10730,7 +10807,7 @@
10730
10807
  d: "M16 17H8",
10731
10808
  key: "z1uh3a"
10732
10809
  }]];
10733
- const FileText = createLucideIcon("file-text", __iconNode$8);
10810
+ const FileText = createLucideIcon("file-text", __iconNode$b);
10734
10811
 
10735
10812
  /**
10736
10813
  * @license lucide-react v0.575.0 - ISC
@@ -10739,7 +10816,7 @@
10739
10816
  * See the LICENSE file in the root directory of this source tree.
10740
10817
  */
10741
10818
 
10742
- const __iconNode$7 = [["circle", {
10819
+ const __iconNode$a = [["circle", {
10743
10820
  cx: "12",
10744
10821
  cy: "12",
10745
10822
  r: "10",
@@ -10751,7 +10828,7 @@
10751
10828
  d: "M2 12h20",
10752
10829
  key: "9i4pu4"
10753
10830
  }]];
10754
- const Globe = createLucideIcon("globe", __iconNode$7);
10831
+ const Globe = createLucideIcon("globe", __iconNode$a);
10755
10832
 
10756
10833
  /**
10757
10834
  * @license lucide-react v0.575.0 - ISC
@@ -10760,11 +10837,11 @@
10760
10837
  * See the LICENSE file in the root directory of this source tree.
10761
10838
  */
10762
10839
 
10763
- const __iconNode$6 = [["path", {
10840
+ const __iconNode$9 = [["path", {
10764
10841
  d: "M21 12a9 9 0 1 1-6.219-8.56",
10765
10842
  key: "13zald"
10766
10843
  }]];
10767
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$6);
10844
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$9);
10768
10845
 
10769
10846
  /**
10770
10847
  * @license lucide-react v0.575.0 - ISC
@@ -10773,11 +10850,11 @@
10773
10850
  * See the LICENSE file in the root directory of this source tree.
10774
10851
  */
10775
10852
 
10776
- const __iconNode$5 = [["path", {
10853
+ const __iconNode$8 = [["path", {
10777
10854
  d: "M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",
10778
10855
  key: "1sd12s"
10779
10856
  }]];
10780
- const MessageCircle = createLucideIcon("message-circle", __iconNode$5);
10857
+ const MessageCircle = createLucideIcon("message-circle", __iconNode$8);
10781
10858
 
10782
10859
  /**
10783
10860
  * @license lucide-react v0.575.0 - ISC
@@ -10786,14 +10863,11 @@
10786
10863
  * See the LICENSE file in the root directory of this source tree.
10787
10864
  */
10788
10865
 
10789
- const __iconNode$4 = [["path", {
10790
- d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
10791
- key: "1ffxy3"
10792
- }], ["path", {
10793
- d: "m21.854 2.147-10.94 10.939",
10794
- key: "12cjpa"
10866
+ const __iconNode$7 = [["path", {
10867
+ d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",
10868
+ key: "kfwtm"
10795
10869
  }]];
10796
- const Send = createLucideIcon("send", __iconNode$4);
10870
+ const Moon = createLucideIcon("moon", __iconNode$7);
10797
10871
 
10798
10872
  /**
10799
10873
  * @license lucide-react v0.575.0 - ISC
@@ -10802,11 +10876,14 @@
10802
10876
  * See the LICENSE file in the root directory of this source tree.
10803
10877
  */
10804
10878
 
10805
- const __iconNode$3 = [["path", {
10806
- d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",
10807
- key: "r04s7s"
10879
+ const __iconNode$6 = [["path", {
10880
+ d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
10881
+ key: "1357e3"
10882
+ }], ["path", {
10883
+ d: "M3 3v5h5",
10884
+ key: "1xhq8a"
10808
10885
  }]];
10809
- const Star = createLucideIcon("star", __iconNode$3);
10886
+ const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$6);
10810
10887
 
10811
10888
  /**
10812
10889
  * @license lucide-react v0.575.0 - ISC
@@ -10815,23 +10892,27 @@
10815
10892
  * See the LICENSE file in the root directory of this source tree.
10816
10893
  */
10817
10894
 
10818
- const __iconNode$2 = [["path", {
10819
- d: "M12 2v2",
10820
- key: "tus03m"
10821
- }], ["path", {
10822
- d: "M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715",
10823
- key: "xlf6rm"
10824
- }], ["path", {
10825
- d: "M16 12a4 4 0 0 0-4-4",
10826
- key: "6vsxu"
10827
- }], ["path", {
10828
- d: "m19 5-1.256 1.256",
10829
- key: "1yg6a6"
10895
+ const __iconNode$5 = [["path", {
10896
+ d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
10897
+ key: "1ffxy3"
10830
10898
  }], ["path", {
10831
- d: "M20 12h2",
10832
- key: "1q8mjw"
10899
+ d: "m21.854 2.147-10.94 10.939",
10900
+ key: "12cjpa"
10901
+ }]];
10902
+ const Send = createLucideIcon("send", __iconNode$5);
10903
+
10904
+ /**
10905
+ * @license lucide-react v0.575.0 - ISC
10906
+ *
10907
+ * This source code is licensed under the ISC license.
10908
+ * See the LICENSE file in the root directory of this source tree.
10909
+ */
10910
+
10911
+ const __iconNode$4 = [["path", {
10912
+ d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",
10913
+ key: "r04s7s"
10833
10914
  }]];
10834
- const SunMoon = createLucideIcon("sun-moon", __iconNode$2);
10915
+ const Star = createLucideIcon("star", __iconNode$4);
10835
10916
 
10836
10917
  /**
10837
10918
  * @license lucide-react v0.575.0 - ISC
@@ -10840,7 +10921,7 @@
10840
10921
  * See the LICENSE file in the root directory of this source tree.
10841
10922
  */
10842
10923
 
10843
- const __iconNode$1 = [["circle", {
10924
+ const __iconNode$3 = [["circle", {
10844
10925
  cx: "12",
10845
10926
  cy: "12",
10846
10927
  r: "4",
@@ -10870,7 +10951,39 @@
10870
10951
  d: "m19.07 4.93-1.41 1.41",
10871
10952
  key: "1shlcs"
10872
10953
  }]];
10873
- const Sun = createLucideIcon("sun", __iconNode$1);
10954
+ const Sun = createLucideIcon("sun", __iconNode$3);
10955
+
10956
+ /**
10957
+ * @license lucide-react v0.575.0 - ISC
10958
+ *
10959
+ * This source code is licensed under the ISC license.
10960
+ * See the LICENSE file in the root directory of this source tree.
10961
+ */
10962
+
10963
+ const __iconNode$2 = [["path", {
10964
+ d: "M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z",
10965
+ key: "m61m77"
10966
+ }], ["path", {
10967
+ d: "M17 14V2",
10968
+ key: "8ymqnk"
10969
+ }]];
10970
+ const ThumbsDown = createLucideIcon("thumbs-down", __iconNode$2);
10971
+
10972
+ /**
10973
+ * @license lucide-react v0.575.0 - ISC
10974
+ *
10975
+ * This source code is licensed under the ISC license.
10976
+ * See the LICENSE file in the root directory of this source tree.
10977
+ */
10978
+
10979
+ const __iconNode$1 = [["path", {
10980
+ d: "M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",
10981
+ key: "emmmcr"
10982
+ }], ["path", {
10983
+ d: "M7 10v12",
10984
+ key: "1qc93n"
10985
+ }]];
10986
+ const ThumbsUp = createLucideIcon("thumbs-up", __iconNode$1);
10874
10987
 
10875
10988
  /**
10876
10989
  * @license lucide-react v0.575.0 - ISC
@@ -59982,10 +60095,23 @@
59982
60095
  companyName,
59983
60096
  apiBaseUrl,
59984
60097
  organizationId,
59985
- onPromptSuggestionClick
60098
+ onPromptSuggestionClick,
60099
+ allowFeedback = true,
60100
+ onFeedback
59986
60101
  } = _ref17;
59987
60102
  const displayContent = typeof message.content === "string" ? message.content : "";
59988
60103
  const isTypingMessage = message.isProcessing && (!displayContent || displayContent.length === 0);
60104
+
60105
+ // Feedback state
60106
+ const [activeFeedback, setActiveFeedback] = reactExports.useState(null); // 'like' | 'dislike' | null
60107
+
60108
+ const handleFeedbackClick = reactExports.useCallback(type => {
60109
+ const newFeedback = activeFeedback === type ? null : type;
60110
+ setActiveFeedback(newFeedback);
60111
+ if (onFeedback && displayContent) {
60112
+ onFeedback(displayContent, newFeedback);
60113
+ }
60114
+ }, [activeFeedback, onFeedback, displayContent]);
59989
60115
  const bubbleColor = agentMessageBubbleColor !== undefined && agentMessageBubbleColor !== null ? agentMessageBubbleColor : isDark ? "#1f2937" : "#FFFFFF";
59990
60116
  const messageTextColor = assistantTextColor !== undefined && assistantTextColor !== null ? assistantTextColor : textColor !== undefined && textColor !== null ? textColor : isDark ? "#f3f4f6" : "#1A1A1A";
59991
60117
  const messageFontFamily = agentMessageBubbleFontFamily !== undefined && agentMessageBubbleFontFamily !== null ? agentMessageBubbleFontFamily : fontFamily !== undefined && fontFamily !== null ? fontFamily : "Inter";
@@ -59996,9 +60122,12 @@
59996
60122
  children: [/*#__PURE__*/jsxRuntimeExports.jsx("div", {
59997
60123
  className: "flex-shrink-0 mt-1",
59998
60124
  children: /*#__PURE__*/jsxRuntimeExports.jsx("div", {
59999
- className: "w-8 h-8 rounded-full flex items-center justify-center overflow-hidden ".concat(isDark ? "bg-gray-700" : "bg-gray-200"),
60125
+ className: "w-8 h-8 rounded-full overflow-hidden flex items-center justify-center",
60126
+ style: {
60127
+ backgroundColor: primaryColor || '#2563eb'
60128
+ },
60000
60129
  children: companyLogo ? /*#__PURE__*/jsxRuntimeExports.jsx("div", {
60001
- className: " flex items-center justify-center",
60130
+ className: "w-full h-full bg-white/10 flex items-center justify-center",
60002
60131
  children: /*#__PURE__*/jsxRuntimeExports.jsx("img", {
60003
60132
  src: companyLogo,
60004
60133
  alt: "Company logo",
@@ -60095,10 +60224,46 @@
60095
60224
  })]
60096
60225
  }) : null
60097
60226
  })
60098
- }), /*#__PURE__*/jsxRuntimeExports.jsx("p", {
60099
- className: "text-[11px] mt-1.5 px-1 ".concat(isDark ? "text-gray-500" : "text-gray-400"),
60100
- dir: "auto",
60101
- children: formatTime(message.timestamp)
60227
+ }), /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
60228
+ className: "flex items-center gap-1.5 mt-1.5 px-1",
60229
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx("p", {
60230
+ className: "text-[11px] leading-none ".concat(isDark ? "text-gray-500" : "text-gray-400"),
60231
+ dir: "auto",
60232
+ children: formatTime(message.timestamp)
60233
+ }), allowFeedback !== false && onFeedback && !isTypingMessage && !message.isProcessing && displayContent && message.type !== 'welcome' && !message.isWelcome && /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
60234
+ className: "flex items-center gap-0.5 ml-0.5",
60235
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx("button", {
60236
+ type: "button",
60237
+ onClick: () => handleFeedbackClick('like'),
60238
+ className: "p-0.5 rounded transition-colors ".concat(activeFeedback === 'like' ? 'text-green-500' : isDark ? 'text-gray-500 hover:text-gray-300' : 'text-gray-400 hover:text-gray-600'),
60239
+ style: {
60240
+ border: "none",
60241
+ background: "transparent",
60242
+ appearance: "none",
60243
+ WebkitAppearance: "none",
60244
+ cursor: "pointer"
60245
+ },
60246
+ "aria-label": "Like",
60247
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(ThumbsUp, {
60248
+ className: "w-3 h-3"
60249
+ })
60250
+ }), /*#__PURE__*/jsxRuntimeExports.jsx("button", {
60251
+ type: "button",
60252
+ onClick: () => handleFeedbackClick('dislike'),
60253
+ className: "p-0.5 rounded transition-colors ".concat(activeFeedback === 'dislike' ? 'text-red-500' : isDark ? 'text-gray-500 hover:text-gray-300' : 'text-gray-400 hover:text-gray-600'),
60254
+ style: {
60255
+ border: "none",
60256
+ background: "transparent",
60257
+ appearance: "none",
60258
+ WebkitAppearance: "none",
60259
+ cursor: "pointer"
60260
+ },
60261
+ "aria-label": "Dislike",
60262
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(ThumbsDown, {
60263
+ className: "w-3 h-3"
60264
+ })
60265
+ })]
60266
+ })]
60102
60267
  })]
60103
60268
  })]
60104
60269
  });
@@ -60181,7 +60346,9 @@
60181
60346
  companyName,
60182
60347
  apiBaseUrl,
60183
60348
  organizationId,
60184
- onPromptSuggestionClick
60349
+ onPromptSuggestionClick,
60350
+ allowFeedback,
60351
+ onFeedback
60185
60352
  } = _ref19;
60186
60353
  if (!message) {
60187
60354
  return null;
@@ -60221,7 +60388,9 @@
60221
60388
  companyName: companyName,
60222
60389
  apiBaseUrl: apiBaseUrl,
60223
60390
  organizationId: organizationId,
60224
- onPromptSuggestionClick: onPromptSuggestionClick
60391
+ onPromptSuggestionClick: onPromptSuggestionClick,
60392
+ allowFeedback: allowFeedback,
60393
+ onFeedback: onFeedback
60225
60394
  });
60226
60395
  };
60227
60396
 
@@ -61040,8 +61209,11 @@
61040
61209
  onQuickQuestion,
61041
61210
  quickQuestionsLayout = "vertical",
61042
61211
  onDecision,
61212
+ disclaimerEnabled = false,
61043
61213
  disclaimerText,
61044
61214
  disclaimerPosition = "top",
61215
+ disclaimerLinkUrl,
61216
+ disclaimerLinkLabel,
61045
61217
  resolvedAgentBubbleColor,
61046
61218
  resolvedUserMessageColor,
61047
61219
  resolvedTextColor,
@@ -61056,7 +61228,9 @@
61056
61228
  apiBaseUrl,
61057
61229
  organizationId,
61058
61230
  onPromptSuggestionClick,
61059
- conversationResetKey
61231
+ conversationResetKey,
61232
+ allowFeedback,
61233
+ onFeedback
61060
61234
  } = _ref;
61061
61235
  const messagesEndRef = reactExports.useRef(null);
61062
61236
  const shouldAutoScrollRef = reactExports.useRef(true);
@@ -61136,8 +61310,9 @@
61136
61310
  window.cancelAnimationFrame(frame);
61137
61311
  };
61138
61312
  }, [autoScrollKey, isLoading]);
61313
+ const normalizedDisclaimerLinkUrl = reactExports.useMemo(() => normalizeExternalUrl(disclaimerLinkUrl), [disclaimerLinkUrl]);
61139
61314
  return /*#__PURE__*/jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
61140
- children: [disclaimerText && disclaimerPosition === "top" && /*#__PURE__*/jsxRuntimeExports.jsx("div", {
61315
+ children: [disclaimerEnabled && disclaimerText && disclaimerPosition === "top" && /*#__PURE__*/jsxRuntimeExports.jsx("div", {
61141
61316
  className: "flex justify-center",
61142
61317
  children: /*#__PURE__*/jsxRuntimeExports.jsx("div", {
61143
61318
  className: "rounded-lg px-2 py-1 ",
@@ -61149,15 +61324,28 @@
61149
61324
  textAlign: "center",
61150
61325
  borderColor: isDark ? "#374151" : "#e5e7eb"
61151
61326
  },
61152
- children: /*#__PURE__*/jsxRuntimeExports.jsx("p", {
61153
- className: "leading-relaxed whitespace-pre-wrap break-words",
61327
+ children: /*#__PURE__*/jsxRuntimeExports.jsxs("p", {
61328
+ className: "leading-relaxed whitespace-pre-wrap break-words inline",
61154
61329
  dir: isRtl ? "rtl" : "ltr",
61155
61330
  style: {
61156
61331
  color: isDark ? "#d1d5db" : "#6b7280",
61157
61332
  fontFamily: fontFamily !== undefined && fontFamily !== null ? fontFamily : "Inter",
61158
61333
  fontSize: fontSize !== undefined && fontSize !== null ? "calc(".concat(fontSize, " - 2px)") : "12px"
61159
61334
  },
61160
- children: disclaimerText
61335
+ children: [disclaimerText, normalizedDisclaimerLinkUrl && disclaimerLinkLabel && /*#__PURE__*/jsxRuntimeExports.jsx("a", {
61336
+ href: normalizedDisclaimerLinkUrl,
61337
+ target: "_blank",
61338
+ rel: "noopener noreferrer",
61339
+ title: normalizedDisclaimerLinkUrl,
61340
+ style: {
61341
+ color: isDark ? "#93c5fd" : "#2563eb",
61342
+ marginInlineStart: "4px",
61343
+ verticalAlign: "middle",
61344
+ display: "inline-flex",
61345
+ alignItems: "center"
61346
+ },
61347
+ children: disclaimerLinkLabel
61348
+ })]
61161
61349
  })
61162
61350
  })
61163
61351
  }), messages.map(message => /*#__PURE__*/jsxRuntimeExports.jsx(MessageBubble, {
@@ -61183,7 +61371,9 @@
61183
61371
  conciergeName: conciergeName,
61184
61372
  companyName: companyName,
61185
61373
  apiBaseUrl: apiBaseUrl,
61186
- organizationId: organizationId
61374
+ organizationId: organizationId,
61375
+ allowFeedback: allowFeedback,
61376
+ onFeedback: onFeedback
61187
61377
  }, message.id)), (() => {
61188
61378
  const lastMessage = messages[messages.length - 1];
61189
61379
  const isWaitingForFirstChunk = isLoading && (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.role) === 'user';
@@ -61260,15 +61450,10 @@
61260
61450
  });
61261
61451
  };
61262
61452
 
61263
- const ASSETS = {
61264
- BRAND: {
61265
- LOGOS: {
61266
- FULL: {
61267
- LIGHT: "https://app.eshal.ai/brand/logos/full/logo-full-light.svg"
61268
- }
61269
- }
61270
- }
61271
- };
61453
+ var img$1 = "data:image/svg+xml,%3csvg width='219' height='54' xmlns='http://www.w3.org/2000/svg' version='1.0'%3e%3cg class='layer'%3e%3ctitle%3eEshal Logo%3c/title%3e%3cg clip-path='url(%23a)' transform='translate(-.708 -1.076)'%3e%3cg clip-path='url(%23b)'%3e%3cpath d='M21.79 54.75h4.5l3.93-.56 4.49-1.4 3.38-1.97 2.81-2.25 2.24-2.81 2.25-3.93 1.13-3.09v-.85l-3.65-1.12h-.57l-1.96 4.5-1.97 3.09-2.81 2.53-3.93 1.96-3.38.85-2.81.28h-2.81l-4.21-.57-3.94-1.4-2.81-1.97-2.25-2.24-1.96-3.38-1.41-4.21-.56-3.37-.28-3.1v-3.65l.56-5.06 1.12-4.21 1.97-3.94 2.53-2.81 2.25-1.68 2.81-1.41 3.37-.84 2.25-.28H26l4.78.84 4.5 2.25 2.53 2.53 1.4 2.53.56 2.53-.28 3.65-1.12 2.25-1.41 1.69-1.4.55-1.13-4.21-1.68-2.81-1.97-1.97-3.09-1.4-1.12-.28h-5.34l-3.09 1.12-2.25 1.69-1.41 1.97-.84 3.09.28 3.08 1.4 2.82 1.97 1.96 2.81 1.41 2.25.56 4.78.28 3.09-.28.84-.28-1.12 3.09-1.69 1.97-2.25.84h-3.65l-2.81-1.12-1.68-1.41-3.38 2.25.56 1.13 1.13 1.4 2.81 1.69 2.81.84h4.78l2.81-.84 2.53-1.69 1.96-2.25L35 34.8l.84-4.5 3.65-2.24 2.53-2.53 1.69-3.09.56-2.25.28-2.81-.56-3.93-1.12-2.82-2.25-3.09-3.09-2.81-4.22-2.25-4.5-1.12-2.52-.28h-4.5l-3.93.56-4.5 1.41-3.38 1.96-3.37 3.1-2.52 3.65-1.97 4.49-1.13 4.78-.28 2.25v9.27l.84 5.06 1.69 4.78 1.69 3.09 2.25 2.81 2.8 2.53 2.82 1.69 5.06 1.68zm1.12-27.54-2.53-.84-1.4-1.12-.84-1.69.28-2.53 1.12-1.4 2.25-1.13H26l2.81 1.41 1.41 1.97.84 2.8v2.25l-1.12.28zm0 0' fill='black'/%3e%3c/g%3e%3c/g%3e%3cpath d='M82.381 38.435v6.48h-27.06V9.965h26.41v6.5h-18.36v7.57h16.22v6.3h-16.22v8.1zm16.432 7.07c-2.77 0-5.44-.37-8.02-1.11-2.57-.75-4.65-1.72-6.22-2.92l2.75-6.09c1.5 1.09 3.28 1.98 5.34 2.64 2.07.67 4.13 1 6.19 1q3.45 0 5.1-1.02t1.65-2.73c0-.83-.33-1.52-.98-2.06-.65-.55-1.48-1-2.5-1.33-1.01-.33-2.39-.7-4.11-1.1-2.67-.63-4.85-1.26-6.55-1.89s-3.15-1.64-4.37-3.04c-1.21-1.41-1.82-3.27-1.82-5.6 0-2.03.55-3.86 1.64-5.51 1.11-1.66 2.76-2.96 4.97-3.92 2.22-.97 4.93-1.46 8.13-1.46 2.22 0 4.4.27 6.53.8s4 1.3 5.59 2.3l-2.5 6.14c-3.23-1.82-6.45-2.74-9.67-2.74-2.27 0-3.95.37-5.03 1.1-1.07.73-1.61 1.69-1.61 2.89q0 1.8 1.86 2.67c1.25.59 3.16 1.16 5.72 1.72 2.66.63 4.85 1.27 6.55 1.9 1.69.63 3.14 1.63 4.36 2.99 1.21 1.37 1.82 3.21 1.82 5.55 0 2-.56 3.82-1.67 5.46q-1.68 2.475-5.01 3.93c-2.23.95-4.95 1.43-8.14 1.43m50.913-35.54v34.95h-8.08v-14.33h-15.88v14.33h-8.09V9.965h8.09v13.78h15.88V9.965zm29.811 27.47h-16.22l-3.1 7.48h-8.29l15.58-34.95h7.98l15.62 34.95h-8.48zm-2.55-6.15-5.55-13.37-5.53 13.37zm16.274-21.32h8.09v28.36h17.52v6.59h-25.61zm0 0' fill='black'/%3e%3c/g%3e%3c/svg%3e";
61454
+
61455
+ var img = "data:image/svg+xml,%3csvg width='219' height='54' xmlns='http://www.w3.org/2000/svg' version='1.0'%3e%3cg class='layer'%3e%3ctitle%3eEshal Logo%3c/title%3e%3cg clip-path='url(%23a)' transform='translate(-.708 -1.076)'%3e%3cg clip-path='url(%23b)'%3e%3cpath d='M21.79 54.75h4.5l3.93-.56 4.49-1.4 3.38-1.97 2.81-2.25 2.24-2.81 2.25-3.93 1.13-3.09v-.85l-3.65-1.12h-.57l-1.96 4.5-1.97 3.09-2.81 2.53-3.93 1.96-3.38.85-2.81.28h-2.81l-4.21-.57-3.94-1.4-2.81-1.97-2.25-2.24-1.96-3.38-1.41-4.21-.56-3.37-.28-3.1v-3.65l.56-5.06 1.12-4.21 1.97-3.94 2.53-2.81 2.25-1.68 2.81-1.41 3.37-.84 2.25-.28H26l4.78.84 4.5 2.25 2.53 2.53 1.4 2.53.56 2.53-.28 3.65-1.12 2.25-1.41 1.69-1.4.55-1.13-4.21-1.68-2.81-1.97-1.97-3.09-1.4-1.12-.28h-5.34l-3.09 1.12-2.25 1.69-1.41 1.97-.84 3.09.28 3.08 1.4 2.82 1.97 1.96 2.81 1.41 2.25.56 4.78.28 3.09-.28.84-.28-1.12 3.09-1.69 1.97-2.25.84h-3.65l-2.81-1.12-1.68-1.41-3.38 2.25.56 1.13 1.13 1.4 2.81 1.69 2.81.84h4.78l2.81-.84 2.53-1.69 1.96-2.25L35 34.8l.84-4.5 3.65-2.24 2.53-2.53 1.69-3.09.56-2.25.28-2.81-.56-3.93-1.12-2.82-2.25-3.09-3.09-2.81-4.22-2.25-4.5-1.12-2.52-.28h-4.5l-3.93.56-4.5 1.41-3.38 1.96-3.37 3.1-2.52 3.65-1.97 4.49-1.13 4.78-.28 2.25v9.27l.84 5.06 1.69 4.78 1.69 3.09 2.25 2.81 2.8 2.53 2.82 1.69 5.06 1.68zm1.12-27.54-2.53-.84-1.4-1.12-.84-1.69.28-2.53 1.12-1.4 2.25-1.13H26l2.81 1.41 1.41 1.97.84 2.8v2.25l-1.12.28zm0 0' fill='white'/%3e%3c/g%3e%3c/g%3e%3cpath d='M82.381 38.435v6.48h-27.06V9.965h26.41v6.5h-18.36v7.57h16.22v6.3h-16.22v8.1zm16.432 7.07c-2.77 0-5.44-.37-8.02-1.11-2.57-.75-4.65-1.72-6.22-2.92l2.75-6.09c1.5 1.09 3.28 1.98 5.34 2.64 2.07.67 4.13 1 6.19 1q3.45 0 5.1-1.02t1.65-2.73c0-.83-.33-1.52-.98-2.06-.65-.55-1.48-1-2.5-1.33-1.01-.33-2.39-.7-4.11-1.1-2.67-.63-4.85-1.26-6.55-1.89s-3.15-1.64-4.37-3.04c-1.21-1.41-1.82-3.27-1.82-5.6 0-2.03.55-3.86 1.64-5.51 1.11-1.66 2.76-2.96 4.97-3.92 2.22-.97 4.93-1.46 8.13-1.46 2.22 0 4.4.27 6.53.8s4 1.3 5.59 2.3l-2.5 6.14c-3.23-1.82-6.45-2.74-9.67-2.74-2.27 0-3.95.37-5.03 1.1-1.07.73-1.61 1.69-1.61 2.89q0 1.8 1.86 2.67c1.25.59 3.16 1.16 5.72 1.72 2.66.63 4.85 1.27 6.55 1.9 1.69.63 3.14 1.63 4.36 2.99 1.21 1.37 1.82 3.21 1.82 5.55 0 2-.56 3.82-1.67 5.46q-1.68 2.475-5.01 3.93c-2.23.95-4.95 1.43-8.14 1.43m50.913-35.54v34.95h-8.08v-14.33h-15.88v14.33h-8.09V9.965h8.09v13.78h15.88V9.965zm29.811 27.47h-16.22l-3.1 7.48h-8.29l15.58-34.95h7.98l15.62 34.95h-8.48zm-2.55-6.15-5.55-13.37-5.53 13.37zm16.274-21.32h8.09v28.36h17.52v6.59h-25.61zm0 0' fill='white'/%3e%3c/g%3e%3c/svg%3e";
61456
+
61272
61457
  const SCROLL_AMOUNT = 150;
61273
61458
  const PromptSuggestionsRow = _ref => {
61274
61459
  let {
@@ -61404,8 +61589,11 @@
61404
61589
  voiceError = null,
61405
61590
  onVoiceToggle,
61406
61591
  onBidiSubmit,
61592
+ disclaimerEnabled = false,
61407
61593
  disclaimerText,
61408
61594
  disclaimerPosition = "top",
61595
+ disclaimerLinkUrl,
61596
+ disclaimerLinkLabel,
61409
61597
  showPoweredBy = true,
61410
61598
  onboardingQuestions = [],
61411
61599
  onboardingActive = false,
@@ -61610,12 +61798,13 @@
61610
61798
  const promptTextColor = userTextColor !== undefined && userTextColor !== null ? userTextColor : textColor !== undefined && textColor !== null ? textColor : "#FFFFFF";
61611
61799
  const promptFontFamily = userMessageBubbleFontFamily !== undefined && userMessageBubbleFontFamily !== null ? userMessageBubbleFontFamily : fontFamily !== undefined && fontFamily !== null ? fontFamily : "Inter";
61612
61800
  const promptFontSize = userMessageBubbleFontSize !== undefined && userMessageBubbleFontSize !== null ? userMessageBubbleFontSize : fontSize !== undefined && fontSize !== null ? fontSize : "14px";
61801
+ const normalizedDisclaimerLinkUrl = normalizeExternalUrl(disclaimerLinkUrl);
61613
61802
  return /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
61614
61803
  className: "py-4 flex-shrink-0 relative ".concat(isDark ? "bg-gray-900" : "bg-white"),
61615
61804
  style: {
61616
61805
  overflow: "visible"
61617
61806
  },
61618
- children: [showResolveButton && onResolve && /*#__PURE__*/jsxRuntimeExports.jsx("div", {
61807
+ children: [showResolveButton && onResolve && !(onboardingEnabled && isOnboardingIncomplete) && /*#__PURE__*/jsxRuntimeExports.jsx("div", {
61619
61808
  className: "flex justify-center py-2",
61620
61809
  children: /*#__PURE__*/jsxRuntimeExports.jsx("button", {
61621
61810
  onClick: onResolve,
@@ -61798,7 +61987,7 @@
61798
61987
  }), voiceError && /*#__PURE__*/jsxRuntimeExports.jsx("p", {
61799
61988
  className: "text-[11px] mt-1 px-5 text-red-500",
61800
61989
  children: voiceError
61801
- }), disclaimerText && disclaimerPosition === "footer" && /*#__PURE__*/jsxRuntimeExports.jsx("p", {
61990
+ }), disclaimerEnabled && disclaimerText && disclaimerPosition === "footer" && /*#__PURE__*/jsxRuntimeExports.jsxs("p", {
61802
61991
  className: "text-xs mt-2 px-5 text-center",
61803
61992
  style: {
61804
61993
  color: isDark ? "#d1d5db" : "#6b7280",
@@ -61807,7 +61996,20 @@
61807
61996
  direction: isRtl ? "rtl" : "ltr"
61808
61997
  },
61809
61998
  dir: isRtl ? "rtl" : "ltr",
61810
- children: disclaimerText
61999
+ children: [disclaimerText, normalizedDisclaimerLinkUrl && disclaimerLinkLabel && /*#__PURE__*/jsxRuntimeExports.jsx("a", {
62000
+ href: normalizedDisclaimerLinkUrl,
62001
+ target: "_blank",
62002
+ rel: "noopener noreferrer",
62003
+ title: normalizedDisclaimerLinkUrl,
62004
+ style: {
62005
+ color: isDark ? "#93c5fd" : "#2563eb",
62006
+ marginInlineStart: "4px",
62007
+ verticalAlign: "middle",
62008
+ display: "inline-flex",
62009
+ alignItems: "center"
62010
+ },
62011
+ children: disclaimerLinkLabel
62012
+ })]
61811
62013
  }), showPoweredBy && /*#__PURE__*/jsxRuntimeExports.jsx("div", {
61812
62014
  className: "mt-1.5 flex justify-center",
61813
62015
  children: /*#__PURE__*/jsxRuntimeExports.jsx("a", {
@@ -61822,9 +62024,9 @@
61822
62024
  className: cn("font-sans text-[10px] font-medium", isDark ? "text-gray-400" : "text-gray-500"),
61823
62025
  children: "Powered by"
61824
62026
  }), !logoImageError ? /*#__PURE__*/jsxRuntimeExports.jsx("img", {
61825
- src: ASSETS.BRAND.LOGOS.FULL.LIGHT,
62027
+ src: isDark ? img : img$1,
61826
62028
  alt: "ESHAL",
61827
- className: cn("h-3", isDark ? "brightness-0 invert opacity-60" : "brightness-0 opacity-50"),
62029
+ className: cn("h-3", isDark ? "opacity-60" : "opacity-50"),
61828
62030
  onError: () => setLogoImageError(true)
61829
62031
  }) : /*#__PURE__*/jsxRuntimeExports.jsx("span", {
61830
62032
  className: cn("font-sans text-[10px] font-semibold", isDark ? "text-gray-300" : "text-gray-600"),
@@ -61933,9 +62135,27 @@
61933
62135
  onMinimize,
61934
62136
  onClose,
61935
62137
  headerTextBold = false,
61936
- headerTextItalic = false
62138
+ headerTextItalic = false,
62139
+ onRefreshChat,
62140
+ onCopyChat
61937
62141
  } = _ref;
61938
62142
  useGoogleFont(fontFamily);
62143
+ const [showMenu, setShowMenu] = reactExports.useState(false);
62144
+ const menuRef = reactExports.useRef(null);
62145
+
62146
+ // Close menu on outside click
62147
+ // Uses composedPath() so it works inside Shadow DOM where event.target
62148
+ // gets retargeted to the shadow host when the event reaches document.
62149
+ reactExports.useEffect(() => {
62150
+ if (!showMenu) return;
62151
+ const handleClickOutside = event => {
62152
+ if (menuRef.current && !event.composedPath().includes(menuRef.current)) {
62153
+ setShowMenu(false);
62154
+ }
62155
+ };
62156
+ document.addEventListener("mousedown", handleClickOutside);
62157
+ return () => document.removeEventListener("mousedown", handleClickOutside);
62158
+ }, [showMenu]);
61939
62159
  const agentData = {
61940
62160
  fontFamily,
61941
62161
  fontSize,
@@ -61943,8 +62163,9 @@
61943
62163
  headerTextItalic,
61944
62164
  textColor
61945
62165
  };
62166
+ const iconColor = (agentData === null || agentData === void 0 ? void 0 : agentData.textColor) || "#FFFFFF";
61946
62167
  return /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
61947
- className: "text-white ".concat(isMinimized ? "px-4 py-2.5" : "px-2 py-4", " flex items-center justify-between relative overflow-hidden rounded-t-2xl"),
62168
+ className: "text-white ".concat(isMinimized ? "px-4 py-2.5" : "px-2 py-4", " flex items-center justify-between relative overflow-visible rounded-t-2xl z-[60]"),
61948
62169
  style: {
61949
62170
  background: "linear-gradient(135deg, ".concat(primaryColor, " 0%, ").concat(primaryColor, "dd 100%)"),
61950
62171
  fontFamily
@@ -61967,32 +62188,98 @@
61967
62188
  className: cn("font-semibold leading-tight", (agentData === null || agentData === void 0 ? void 0 : agentData.headerTextBold) && "font-bold", (agentData === null || agentData === void 0 ? void 0 : agentData.headerTextItalic) && "italic"),
61968
62189
  style: {
61969
62190
  fontSize: agentData !== null && agentData !== void 0 && agentData.fontSize ? "calc(".concat(agentData.fontSize, " + 2px)") : "15px",
61970
- color: (agentData === null || agentData === void 0 ? void 0 : agentData.textColor) || "#FFFFFF"
62191
+ color: iconColor
61971
62192
  },
61972
62193
  children: conciergeName
61973
62194
  })
61974
62195
  })]
61975
62196
  }), /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
61976
62197
  className: "flex items-center gap-0 relative z-10 text-white flex-shrink-0 ml-1",
61977
- children: [/*#__PURE__*/jsxRuntimeExports.jsx("span", {
61978
- role: "button",
61979
- tabIndex: 0,
61980
- "aria-label": "Toggle theme",
61981
- onClick: onToggleTheme,
61982
- onKeyDown: event => {
61983
- if (event.key === "Enter" || event.key === " ") {
61984
- event.preventDefault();
61985
- onToggleTheme === null || onToggleTheme === void 0 || onToggleTheme(event);
61986
- }
61987
- },
61988
- className: "inline-flex h-7 w-7 items-center justify-center cursor-pointer transition-opacity duration-200 hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 rounded-full",
61989
- children: isDark ? /*#__PURE__*/jsxRuntimeExports.jsx(Sun, {
61990
- className: "w-3.5 h-3.5",
61991
- strokeWidth: 1.6
61992
- }) : /*#__PURE__*/jsxRuntimeExports.jsx(SunMoon, {
61993
- className: "w-4 h-4",
61994
- strokeWidth: 1.6
61995
- })
62198
+ children: [/*#__PURE__*/jsxRuntimeExports.jsxs("div", {
62199
+ className: "relative",
62200
+ ref: menuRef,
62201
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx("span", {
62202
+ role: "button",
62203
+ tabIndex: 0,
62204
+ "aria-label": "Menu",
62205
+ onClick: () => setShowMenu(prev => !prev),
62206
+ onKeyDown: event => {
62207
+ if (event.key === "Enter" || event.key === " ") {
62208
+ event.preventDefault();
62209
+ setShowMenu(prev => !prev);
62210
+ }
62211
+ },
62212
+ className: "inline-flex h-7 w-7 items-center justify-center cursor-pointer transition-opacity duration-200 hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 rounded-full",
62213
+ style: {
62214
+ color: iconColor
62215
+ },
62216
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(Ellipsis, {
62217
+ className: "w-4 h-4",
62218
+ strokeWidth: 1.6
62219
+ })
62220
+ }), showMenu && /*#__PURE__*/jsxRuntimeExports.jsxs("div", {
62221
+ className: "absolute right-0 top-full mt-1 w-44 rounded-xl border shadow-lg py-1 z-[9999] animate-in fade-in slide-in-from-top-1 duration-150 ".concat(isDark ? "bg-gray-800 border-gray-700" : "bg-white border-gray-200"),
62222
+ style: {
62223
+ fontFamily: "Inter, system-ui, sans-serif"
62224
+ },
62225
+ children: [/*#__PURE__*/jsxRuntimeExports.jsxs("button", {
62226
+ onClick: () => {
62227
+ setShowMenu(false);
62228
+ onRefreshChat === null || onRefreshChat === void 0 || onRefreshChat();
62229
+ },
62230
+ className: "flex items-center gap-2.5 w-full px-3 py-2 text-sm leading-5 transition-colors cursor-pointer ".concat(isDark ? "text-gray-200 hover:bg-gray-700" : "text-gray-700 hover:bg-gray-50"),
62231
+ style: {
62232
+ fontFamily: "Inter, system-ui, sans-serif",
62233
+ fontSize: "14px",
62234
+ border: "none",
62235
+ background: "transparent",
62236
+ appearance: "none",
62237
+ WebkitAppearance: "none",
62238
+ textAlign: "left"
62239
+ },
62240
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(RotateCcw, {
62241
+ className: "w-3.5 h-3.5 flex-shrink-0"
62242
+ }), "Refresh Chat"]
62243
+ }), /*#__PURE__*/jsxRuntimeExports.jsxs("button", {
62244
+ onClick: () => {
62245
+ setShowMenu(false);
62246
+ onCopyChat === null || onCopyChat === void 0 || onCopyChat();
62247
+ },
62248
+ className: "flex items-center gap-2.5 w-full px-3 py-2 text-sm leading-5 transition-colors cursor-pointer ".concat(isDark ? "text-gray-200 hover:bg-gray-700" : "text-gray-700 hover:bg-gray-50"),
62249
+ style: {
62250
+ fontFamily: "Inter, system-ui, sans-serif",
62251
+ fontSize: "14px",
62252
+ border: "none",
62253
+ background: "transparent",
62254
+ appearance: "none",
62255
+ WebkitAppearance: "none",
62256
+ textAlign: "left"
62257
+ },
62258
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(Copy, {
62259
+ className: "w-3.5 h-3.5 flex-shrink-0"
62260
+ }), "Copy Chat"]
62261
+ }), /*#__PURE__*/jsxRuntimeExports.jsxs("button", {
62262
+ onClick: () => {
62263
+ setShowMenu(false);
62264
+ onToggleTheme === null || onToggleTheme === void 0 || onToggleTheme();
62265
+ },
62266
+ className: "flex items-center gap-2.5 w-full px-3 py-2 text-sm leading-5 transition-colors cursor-pointer ".concat(isDark ? "text-gray-200 hover:bg-gray-700" : "text-gray-700 hover:bg-gray-50"),
62267
+ style: {
62268
+ fontFamily: "Inter, system-ui, sans-serif",
62269
+ fontSize: "14px",
62270
+ border: "none",
62271
+ background: "transparent",
62272
+ appearance: "none",
62273
+ WebkitAppearance: "none",
62274
+ textAlign: "left"
62275
+ },
62276
+ children: [isDark ? /*#__PURE__*/jsxRuntimeExports.jsx(Sun, {
62277
+ className: "w-3.5 h-3.5 flex-shrink-0"
62278
+ }) : /*#__PURE__*/jsxRuntimeExports.jsx(Moon, {
62279
+ className: "w-3.5 h-3.5 flex-shrink-0"
62280
+ }), isDark ? "Light Mode" : "Night Mode"]
62281
+ })]
62282
+ })]
61996
62283
  }), /*#__PURE__*/jsxRuntimeExports.jsx("span", {
61997
62284
  role: "button",
61998
62285
  tabIndex: 0,
@@ -62005,6 +62292,9 @@
62005
62292
  }
62006
62293
  },
62007
62294
  className: "inline-flex h-7 w-7 items-center justify-center cursor-pointer transition-opacity duration-200 hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 rounded-full",
62295
+ style: {
62296
+ color: iconColor
62297
+ },
62008
62298
  children: /*#__PURE__*/jsxRuntimeExports.jsx(X, {
62009
62299
  className: "w-3.5 h-3.5",
62010
62300
  strokeWidth: 1.6
@@ -62401,6 +62691,13 @@
62401
62691
  minute: "2-digit",
62402
62692
  hour12: true
62403
62693
  });
62694
+ const normalizeCsatFormat = format => {
62695
+ const raw = (format || "EMOJI").toString().trim().toUpperCase();
62696
+ if (raw === "THUMBS" || raw === "THUMB") return "THUMBS";
62697
+ if (raw === "STARS" || raw === "STAR") return "STARS";
62698
+ if (raw === "NUMERIC" || raw === "NUMBER") return "NUMERIC";
62699
+ return "EMOJI";
62700
+ };
62404
62701
  const ChatWindow = _ref => {
62405
62702
  var _defaultLanguage$toLo, _messages$some;
62406
62703
  let {
@@ -62449,8 +62746,11 @@
62449
62746
  voiceConclusionForCsat = false,
62450
62747
  onVoiceToggle,
62451
62748
  onBidiSubmit,
62749
+ disclaimerEnabled = false,
62452
62750
  disclaimerText,
62453
62751
  disclaimerPosition = "top",
62752
+ disclaimerLinkUrl,
62753
+ disclaimerLinkLabel,
62454
62754
  showPoweredBy = true,
62455
62755
  apiBaseUrl,
62456
62756
  apiKey,
@@ -62470,7 +62770,12 @@
62470
62770
  csatIdleTimeoutMins = 30,
62471
62771
  onPromptSuggestionClick,
62472
62772
  onboardingEnabled = false,
62473
- onResetConversation
62773
+ onResetConversation,
62774
+ autoPromptEnabled = true,
62775
+ allowFeedback = true,
62776
+ onFeedback,
62777
+ onRefreshChat,
62778
+ onCopyChat
62474
62779
  } = _ref;
62475
62780
  useGoogleFont(fontFamily);
62476
62781
  const messagesContainerRef = reactExports.useRef(null);
@@ -62540,6 +62845,8 @@
62540
62845
  const placeholder = isConversationResolved ? "Conversation resolved" : isRtlLanguage ? "اكتب رسالتك هنا..." : "Type your message...";
62541
62846
  const hasUserMessages = messages === null || messages === void 0 || (_messages$some = messages.some) === null || _messages$some === void 0 ? void 0 : _messages$some.call(messages, msg => msg.role === "user");
62542
62847
  const shouldShowQuickQuestions = !hasUserMessages && quickQuestions.length > 0 && quickQuestionsEnabled;
62848
+ const hasOnboardingQuestions = onboardingQuestions && onboardingQuestions.length > 0;
62849
+ const shouldHideResolveForOnboarding = onboardingEnabled && hasOnboardingQuestions && !onboardingCompleted;
62543
62850
  const handleCsatRating = async (rating, format) => {
62544
62851
  setCsatSubmitted(true); // optimistic UI
62545
62852
  setShowCsat(false);
@@ -62586,13 +62893,7 @@
62586
62893
  if (organizationId) {
62587
62894
  headers["x-eshal-org"] = organizationId;
62588
62895
  }
62589
- const ratingFormat = (() => {
62590
- const fmt = csatFormat || "Emoji";
62591
- if (fmt === "Emoji") return "EMOJI";
62592
- if (fmt === "Thumbs") return "THUMBS";
62593
- if (fmt === "Stars") return "STARS";
62594
- return fmt.toUpperCase();
62595
- })();
62896
+ const ratingFormat = normalizeCsatFormat(csatFormat);
62596
62897
  const response = await fetch("".concat(apiBaseUrl.replace(/\/$/, ""), "/api/v1/support/csat"), {
62597
62898
  method: "POST",
62598
62899
  headers,
@@ -62660,8 +62961,11 @@
62660
62961
  reactExports.useEffect(() => {
62661
62962
  if (latestPromptSuggestions.length > 0) {
62662
62963
  stablePromptSuggestionsRef.current = latestPromptSuggestions;
62964
+ } else if (!messages || messages.length === 0 || !messages.some(m => m.role === "user")) {
62965
+ // Clear stale suggestions after refresh/reset (no user messages left)
62966
+ stablePromptSuggestionsRef.current = [];
62663
62967
  }
62664
- }, [latestPromptSuggestions]);
62968
+ }, [latestPromptSuggestions, messages]);
62665
62969
  const stablePromptSuggestions = latestPromptSuggestions.length > 0 ? latestPromptSuggestions : stablePromptSuggestionsRef.current;
62666
62970
  reactExports.useEffect(() => {
62667
62971
  if (!csatEnabled) return;
@@ -62682,8 +62986,8 @@
62682
62986
 
62683
62987
  // Render the dynamic rating input based on csatFormat
62684
62988
  const renderRatingInput = () => {
62685
- const format = csatFormat || "Emoji";
62686
- if (format === "Stars") {
62989
+ const format = normalizeCsatFormat(csatFormat);
62990
+ if (format === "STARS") {
62687
62991
  return /*#__PURE__*/jsxRuntimeExports.jsx("div", {
62688
62992
  className: "flex justify-center gap-2 mb-5",
62689
62993
  children: [1, 2, 3, 4, 5].map(star => /*#__PURE__*/jsxRuntimeExports.jsx("button", {
@@ -62697,7 +63001,7 @@
62697
63001
  }, star))
62698
63002
  });
62699
63003
  }
62700
- if (format === "Thumbs") {
63004
+ if (format === "THUMBS") {
62701
63005
  return /*#__PURE__*/jsxRuntimeExports.jsx("div", {
62702
63006
  className: "flex gap-4 justify-center mb-5",
62703
63007
  children: [{
@@ -62782,7 +63086,7 @@
62782
63086
  children: [/*#__PURE__*/jsxRuntimeExports.jsx("button", {
62783
63087
  onClick: handleResolveSubmission,
62784
63088
  disabled: resolveRating === 0 || isSubmittingResolve,
62785
- className: cn("w-full py-3.5 rounded-xl text-sm font-semibold transition-all duration-200", "disabled:opacity-50 disabled:cursor-not-allowed", isDark ? "bg-gray-700 text-gray-100 hover:bg-gray-600" : "bg-gray-100 text-gray-700 hover:bg-gray-200"),
63089
+ className: cn("w-full py-3.5 rounded-xl text-sm font-semibold transition-all duration-200 border-none outline-none focus:outline-none active:outline-none focus:ring-0 active:ring-0", "disabled:opacity-50 disabled:cursor-not-allowed", isDark ? "bg-gray-700 text-gray-100 hover:bg-gray-600" : "bg-gray-100 text-gray-700 hover:bg-gray-200"),
62786
63090
  style: {
62787
63091
  fontFamily: fontFamily || "Inter"
62788
63092
  },
@@ -62814,7 +63118,9 @@
62814
63118
  onMinimize: onMinimize,
62815
63119
  onClose: handleCloseClick,
62816
63120
  headerTextBold: headerTextBold,
62817
- headerTextItalic: headerTextItalic
63121
+ headerTextItalic: headerTextItalic,
63122
+ onRefreshChat: onRefreshChat,
63123
+ onCopyChat: onCopyChat
62818
63124
  }), !isMinimized && /*#__PURE__*/jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
62819
63125
  children: [/*#__PURE__*/jsxRuntimeExports.jsx("div", {
62820
63126
  ref: messagesContainerRef,
@@ -62851,8 +63157,11 @@
62851
63157
  onQuickQuestion: onQuickQuestion !== null && onQuickQuestion !== void 0 ? onQuickQuestion : onDirectSend,
62852
63158
  quickQuestionsLayout: quickQuestionsLayout,
62853
63159
  onDecision: onDecision,
63160
+ disclaimerEnabled: disclaimerEnabled,
62854
63161
  disclaimerText: disclaimerText,
62855
63162
  disclaimerPosition: disclaimerPosition,
63163
+ disclaimerLinkUrl: disclaimerLinkUrl,
63164
+ disclaimerLinkLabel: disclaimerLinkLabel,
62856
63165
  resolvedAgentBubbleColor: resolvedAgentBubbleColor,
62857
63166
  resolvedUserMessageColor: resolvedUserMessageColor,
62858
63167
  resolvedTextColor: resolvedTextColor,
@@ -62866,18 +63175,13 @@
62866
63175
  companyName: companyName,
62867
63176
  apiBaseUrl: apiBaseUrl,
62868
63177
  organizationId: organizationId,
62869
- conversationResetKey: conversationId
63178
+ conversationResetKey: conversationId,
63179
+ allowFeedback: allowFeedback,
63180
+ onFeedback: onFeedback
62870
63181
  }), showCsat && csatEnabled && !csatSubmitted && /*#__PURE__*/jsxRuntimeExports.jsx("div", {
62871
63182
  className: "",
62872
63183
  children: /*#__PURE__*/jsxRuntimeExports.jsx(CSATWidget, {
62873
- format: (() => {
62874
- const fmt = csatFormat || "Emoji";
62875
- if (fmt === "Emoji") return "EMOJI";
62876
- if (fmt === "Thumbs") return "THUMBS";
62877
- if (fmt === "Stars") return "STARS";
62878
- if (fmt === "Numeric") return "NUMERIC";
62879
- return (fmt || "EMOJI").toString().toUpperCase();
62880
- })(),
63184
+ format: normalizeCsatFormat(csatFormat),
62881
63185
  prompt: csatPrompt || "How was your experience?",
62882
63186
  onRating: handleCsatRating,
62883
63187
  disabled: false,
@@ -62912,8 +63216,11 @@
62912
63216
  voiceError: voiceError,
62913
63217
  onVoiceToggle: onVoiceToggle,
62914
63218
  onBidiSubmit: onBidiSubmit,
63219
+ disclaimerEnabled: disclaimerEnabled,
62915
63220
  disclaimerText: disclaimerText,
62916
63221
  disclaimerPosition: disclaimerPosition,
63222
+ disclaimerLinkUrl: disclaimerLinkUrl,
63223
+ disclaimerLinkLabel: disclaimerLinkLabel,
62917
63224
  showPoweredBy: showPoweredBy,
62918
63225
  onboardingQuestions: onboardingQuestions,
62919
63226
  onboardingActive: onboardingActive,
@@ -62921,9 +63228,9 @@
62921
63228
  onboardingEnabled: onboardingEnabled,
62922
63229
  userMessageBoxColor: userMessageBoxColor,
62923
63230
  userTextColor: userTextColor,
62924
- promptSuggestions: showResolveForm || isConversationResolved ? [] : stablePromptSuggestions,
63231
+ promptSuggestions: showResolveForm || isConversationResolved || autoPromptEnabled === false || isLoading ? [] : stablePromptSuggestions,
62925
63232
  onPromptSuggestionClick: onPromptSuggestionClick !== null && onPromptSuggestionClick !== void 0 ? onPromptSuggestionClick : text => onDirectSend === null || onDirectSend === void 0 ? void 0 : onDirectSend(text),
62926
- showResolveButton: hasUserMessages && !isConversationResolved && !showResolveForm && !showCsat,
63233
+ showResolveButton: hasUserMessages && !isConversationResolved && !showResolveForm && !showCsat && !shouldHideResolveForOnboarding,
62927
63234
  onResolve: () => setShowResolveForm(true)
62928
63235
  })]
62929
63236
  })]
@@ -63003,8 +63310,11 @@
63003
63310
  headerTextBold,
63004
63311
  headerTextItalic,
63005
63312
  enableVoiceInteraction,
63313
+ disclaimerEnabled,
63006
63314
  disclaimerText,
63007
63315
  disclaimerPosition,
63316
+ disclaimerLinkUrl,
63317
+ disclaimerLinkLabel,
63008
63318
  showPoweredBy,
63009
63319
  onboardingQuestions,
63010
63320
  collectionPrompt,
@@ -63040,7 +63350,7 @@
63040
63350
 
63041
63351
  // Map API response to widget props (use props as overrides if provided)
63042
63352
  const widgetConfig = reactExports.useMemo(() => {
63043
- var _ref2, _ref3, _ref4, _ref5, _agentConfig$chatbotA, _agentConfig$chatbotA2, _ref6, _ref7, _ref8, _ref9, _ref0, _ref1, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _agentConfig$inactivi, _agentConfig$inactivi2, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33, _ref34, _ref35, _ref36, _agentConfig$csatEnab, _agentConfig$csatForm, _agentConfig$csatProm, _agentConfig$csatTrig, _agentConfig$csatIdle, _agentConfig$csatFoll, _agentConfig$csatFoll2;
63353
+ var _ref2, _ref3, _ref4, _ref5, _agentConfig$chatbotA, _agentConfig$chatbotA2, _ref6, _ref7, _ref8, _ref9, _ref0, _ref1, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _agentConfig$voiceGen, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _agentConfig$inactivi, _agentConfig$inactivi2, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33, _ref34, _ref35, _ref36, _ref37, _agentConfig$csatEnab, _agentConfig$csatForm, _agentConfig$csatProm, _agentConfig$csatTrig, _agentConfig$csatIdle, _agentConfig$csatFoll, _agentConfig$csatFoll2, _agentConfig$autoProm, _agentConfig$allowFee;
63044
63354
  if (!agentConfig) {
63045
63355
  return null;
63046
63356
  }
@@ -63068,20 +63378,24 @@
63068
63378
  headerTextBold: (_ref16 = headerTextBold !== null && headerTextBold !== void 0 ? headerTextBold : agentConfig.headerTextBold) !== null && _ref16 !== void 0 ? _ref16 : false,
63069
63379
  headerTextItalic: (_ref17 = headerTextItalic !== null && headerTextItalic !== void 0 ? headerTextItalic : agentConfig.headerTextItalic) !== null && _ref17 !== void 0 ? _ref17 : false,
63070
63380
  enableVoiceInteraction: (_ref18 = enableVoiceInteraction !== null && enableVoiceInteraction !== void 0 ? enableVoiceInteraction : agentConfig.enableVoiceInteraction) !== null && _ref18 !== void 0 ? _ref18 : false,
63381
+ voiceGender: (_agentConfig$voiceGen = agentConfig.voiceGender) !== null && _agentConfig$voiceGen !== void 0 ? _agentConfig$voiceGen : 'male',
63382
+ disclaimerEnabled: (_ref19 = disclaimerEnabled !== null && disclaimerEnabled !== void 0 ? disclaimerEnabled : agentConfig.disclaimerEnabled) !== null && _ref19 !== void 0 ? _ref19 : false,
63071
63383
  disclaimerText: disclaimerText !== null && disclaimerText !== void 0 ? disclaimerText : agentConfig.disclaimerText,
63072
- disclaimerPosition: (_ref19 = disclaimerPosition !== null && disclaimerPosition !== void 0 ? disclaimerPosition : agentConfig.disclaimerPosition) !== null && _ref19 !== void 0 ? _ref19 : "top",
63073
- showPoweredBy: (_ref20 = showPoweredBy !== null && showPoweredBy !== void 0 ? showPoweredBy : agentConfig.showPoweredBy) !== null && _ref20 !== void 0 ? _ref20 : true,
63074
- onboardingQuestions: (_ref21 = onboardingQuestions !== null && onboardingQuestions !== void 0 ? onboardingQuestions : agentConfig.onboardingQuestions) !== null && _ref21 !== void 0 ? _ref21 : [],
63075
- collectionPrompt: (_ref22 = collectionPrompt !== null && collectionPrompt !== void 0 ? collectionPrompt : agentConfig.collapsiblePrompt) !== null && _ref22 !== void 0 ? _ref22 : "Before we begin, I need to verify your details.",
63384
+ disclaimerPosition: (_ref20 = disclaimerPosition !== null && disclaimerPosition !== void 0 ? disclaimerPosition : agentConfig.disclaimerPosition) !== null && _ref20 !== void 0 ? _ref20 : "top",
63385
+ disclaimerLinkUrl: normalizeExternalUrl(disclaimerLinkUrl !== null && disclaimerLinkUrl !== void 0 ? disclaimerLinkUrl : agentConfig.disclaimerLinkUrl),
63386
+ disclaimerLinkLabel: disclaimerLinkLabel !== null && disclaimerLinkLabel !== void 0 ? disclaimerLinkLabel : agentConfig.disclaimerLinkLabel,
63387
+ showPoweredBy: (_ref21 = showPoweredBy !== null && showPoweredBy !== void 0 ? showPoweredBy : agentConfig.showPoweredBy) !== null && _ref21 !== void 0 ? _ref21 : true,
63388
+ onboardingQuestions: (_ref22 = onboardingQuestions !== null && onboardingQuestions !== void 0 ? onboardingQuestions : agentConfig.onboardingQuestions) !== null && _ref22 !== void 0 ? _ref22 : [],
63389
+ collectionPrompt: (_ref23 = collectionPrompt !== null && collectionPrompt !== void 0 ? collectionPrompt : agentConfig.collapsiblePrompt) !== null && _ref23 !== void 0 ? _ref23 : "Before we begin, I need to verify your details.",
63076
63390
  allowedDomains: finalAllowedDomains,
63077
- launcherPosition: (_ref23 = position !== null && position !== void 0 ? position : agentConfig.launcherPosition) !== null && _ref23 !== void 0 ? _ref23 : "bottom-right",
63078
- onboardingEnabled: (_ref24 = onboardingEnabled !== null && onboardingEnabled !== void 0 ? onboardingEnabled : agentConfig.onboardingEnabled) !== null && _ref24 !== void 0 ? _ref24 : false,
63391
+ launcherPosition: (_ref24 = position !== null && position !== void 0 ? position : agentConfig.launcherPosition) !== null && _ref24 !== void 0 ? _ref24 : "bottom-right",
63392
+ onboardingEnabled: (_ref25 = onboardingEnabled !== null && onboardingEnabled !== void 0 ? onboardingEnabled : agentConfig.onboardingEnabled) !== null && _ref25 !== void 0 ? _ref25 : false,
63079
63393
  inactivityTimeoutValue: (_agentConfig$inactivi = agentConfig.inactivityTimeoutValue) !== null && _agentConfig$inactivi !== void 0 ? _agentConfig$inactivi : null,
63080
63394
  inactivityTimeoutUnit: (_agentConfig$inactivi2 = agentConfig.inactivityTimeoutUnit) !== null && _agentConfig$inactivi2 !== void 0 ? _agentConfig$inactivi2 : null,
63081
- agentMessageBubbleFontFamily: (_ref25 = (_ref26 = (_ref27 = agentMessageBubbleFontFamily !== null && agentMessageBubbleFontFamily !== void 0 ? agentMessageBubbleFontFamily : agentConfig.agentMessageBubbleFontFamily) !== null && _ref27 !== void 0 ? _ref27 : fontFamily) !== null && _ref26 !== void 0 ? _ref26 : agentConfig.fontFamily) !== null && _ref25 !== void 0 ? _ref25 : "Inter",
63082
- agentMessageBubbleFontSize: (_ref28 = (_ref29 = (_ref30 = agentMessageBubbleFontSize !== null && agentMessageBubbleFontSize !== void 0 ? agentMessageBubbleFontSize : agentConfig.agentMessageBubbleFontSize) !== null && _ref30 !== void 0 ? _ref30 : fontSize) !== null && _ref29 !== void 0 ? _ref29 : agentConfig.fontSize) !== null && _ref28 !== void 0 ? _ref28 : "14px",
63083
- userMessageBubbleFontFamily: (_ref31 = (_ref32 = (_ref33 = userMessageBubbleFontFamily !== null && userMessageBubbleFontFamily !== void 0 ? userMessageBubbleFontFamily : agentConfig.userMessageBubbleFontFamily) !== null && _ref33 !== void 0 ? _ref33 : fontFamily) !== null && _ref32 !== void 0 ? _ref32 : agentConfig.fontFamily) !== null && _ref31 !== void 0 ? _ref31 : "Inter",
63084
- userMessageBubbleFontSize: (_ref34 = (_ref35 = (_ref36 = userMessageBubbleFontSize !== null && userMessageBubbleFontSize !== void 0 ? userMessageBubbleFontSize : agentConfig.userMessageBubbleFontSize) !== null && _ref36 !== void 0 ? _ref36 : fontSize) !== null && _ref35 !== void 0 ? _ref35 : agentConfig.fontSize) !== null && _ref34 !== void 0 ? _ref34 : "14px",
63395
+ agentMessageBubbleFontFamily: (_ref26 = (_ref27 = (_ref28 = agentMessageBubbleFontFamily !== null && agentMessageBubbleFontFamily !== void 0 ? agentMessageBubbleFontFamily : agentConfig.agentMessageBubbleFontFamily) !== null && _ref28 !== void 0 ? _ref28 : fontFamily) !== null && _ref27 !== void 0 ? _ref27 : agentConfig.fontFamily) !== null && _ref26 !== void 0 ? _ref26 : "Inter",
63396
+ agentMessageBubbleFontSize: (_ref29 = (_ref30 = (_ref31 = agentMessageBubbleFontSize !== null && agentMessageBubbleFontSize !== void 0 ? agentMessageBubbleFontSize : agentConfig.agentMessageBubbleFontSize) !== null && _ref31 !== void 0 ? _ref31 : fontSize) !== null && _ref30 !== void 0 ? _ref30 : agentConfig.fontSize) !== null && _ref29 !== void 0 ? _ref29 : "14px",
63397
+ userMessageBubbleFontFamily: (_ref32 = (_ref33 = (_ref34 = userMessageBubbleFontFamily !== null && userMessageBubbleFontFamily !== void 0 ? userMessageBubbleFontFamily : agentConfig.userMessageBubbleFontFamily) !== null && _ref34 !== void 0 ? _ref34 : fontFamily) !== null && _ref33 !== void 0 ? _ref33 : agentConfig.fontFamily) !== null && _ref32 !== void 0 ? _ref32 : "Inter",
63398
+ userMessageBubbleFontSize: (_ref35 = (_ref36 = (_ref37 = userMessageBubbleFontSize !== null && userMessageBubbleFontSize !== void 0 ? userMessageBubbleFontSize : agentConfig.userMessageBubbleFontSize) !== null && _ref37 !== void 0 ? _ref37 : fontSize) !== null && _ref36 !== void 0 ? _ref36 : agentConfig.fontSize) !== null && _ref35 !== void 0 ? _ref35 : "14px",
63085
63399
  // CSAT configuration (feature flags + text)
63086
63400
  csatEnabled: (_agentConfig$csatEnab = agentConfig.csatEnabled) !== null && _agentConfig$csatEnab !== void 0 ? _agentConfig$csatEnab : false,
63087
63401
  csatFormat: (_agentConfig$csatForm = agentConfig.csatFormat) !== null && _agentConfig$csatForm !== void 0 ? _agentConfig$csatForm : "EMOJI",
@@ -63089,9 +63403,13 @@
63089
63403
  csatTriggerType: (_agentConfig$csatTrig = agentConfig.csatTriggerType) !== null && _agentConfig$csatTrig !== void 0 ? _agentConfig$csatTrig : "ON_END",
63090
63404
  csatIdleTimeoutMins: (_agentConfig$csatIdle = agentConfig.csatIdleTimeoutMins) !== null && _agentConfig$csatIdle !== void 0 ? _agentConfig$csatIdle : 30,
63091
63405
  csatFollowUpEnabled: (_agentConfig$csatFoll = agentConfig.csatFollowUpEnabled) !== null && _agentConfig$csatFoll !== void 0 ? _agentConfig$csatFoll : false,
63092
- csatFollowUpPrompt: (_agentConfig$csatFoll2 = agentConfig.csatFollowUpPrompt) !== null && _agentConfig$csatFoll2 !== void 0 ? _agentConfig$csatFoll2 : null
63406
+ csatFollowUpPrompt: (_agentConfig$csatFoll2 = agentConfig.csatFollowUpPrompt) !== null && _agentConfig$csatFoll2 !== void 0 ? _agentConfig$csatFoll2 : null,
63407
+ // Auto Prompt Suggestions
63408
+ autoPromptEnabled: (_agentConfig$autoProm = agentConfig.autoPromptEnabled) !== null && _agentConfig$autoProm !== void 0 ? _agentConfig$autoProm : true,
63409
+ // Allow Feedback
63410
+ allowFeedback: (_agentConfig$allowFee = agentConfig.allowFeedback) !== null && _agentConfig$allowFee !== void 0 ? _agentConfig$allowFee : true
63093
63411
  };
63094
- }, [agentConfig, darkMode, primaryColor, position, companyName, conciergeName, companyLogo, welcomeMessage, quickQuestions, quickQuestionsEnabled, textColor, agentMessageBubbleColor, userMessageBoxColor, assistantTextColor, userTextColor, fontFamily, fontSize, defaultLanguage, orgId, headerTextBold, headerTextItalic, enableVoiceInteraction, disclaimerText, disclaimerPosition, showPoweredBy, onboardingQuestions, onboardingEnabled, collectionPrompt, allowedDomains, agentMessageBubbleFontFamily, agentMessageBubbleFontSize, userMessageBubbleFontFamily, userMessageBubbleFontSize
63412
+ }, [agentConfig, darkMode, primaryColor, position, companyName, conciergeName, companyLogo, welcomeMessage, quickQuestions, quickQuestionsEnabled, textColor, agentMessageBubbleColor, userMessageBoxColor, assistantTextColor, userTextColor, fontFamily, fontSize, defaultLanguage, orgId, headerTextBold, headerTextItalic, enableVoiceInteraction, disclaimerEnabled, disclaimerText, disclaimerPosition, disclaimerLinkLabel, disclaimerLinkUrl, showPoweredBy, onboardingQuestions, onboardingEnabled, collectionPrompt, allowedDomains, agentMessageBubbleFontFamily, agentMessageBubbleFontSize, userMessageBubbleFontFamily, userMessageBubbleFontSize
63095
63413
  // CSAT dependencies
63096
63414
  // (kept minimal because these come from agentConfig)
63097
63415
  ]);
@@ -63162,6 +63480,7 @@
63162
63480
  openDelay,
63163
63481
  darkMode: widgetConfig.darkMode,
63164
63482
  enableVoiceInteraction: widgetConfig.enableVoiceInteraction,
63483
+ voiceGender: widgetConfig.voiceGender,
63165
63484
  onboardingQuestions: widgetConfig.onboardingQuestions,
63166
63485
  onboardingEnabled: widgetConfig.onboardingEnabled,
63167
63486
  collectionPrompt: widgetConfig.collectionPrompt,
@@ -63169,6 +63488,45 @@
63169
63488
  inactivityTimeoutUnit: widgetConfig.inactivityTimeoutUnit
63170
63489
  } : defaultConfig);
63171
63490
 
63491
+ // Feedback handler — POST to /api/v1/support/feedback
63492
+ const handleMessageFeedback = reactExports.useCallback((messageContent, feedback, feedbackText) => {
63493
+ if (!orgId || !conversationId || !apiBaseUrl) return;
63494
+ const base = apiBaseUrl.replace(/\/$/, "");
63495
+ fetch("".concat(base, "/api/v1/support/feedback"), {
63496
+ method: "POST",
63497
+ headers: {
63498
+ "Content-Type": "application/json",
63499
+ "x-eshal-org": orgId
63500
+ },
63501
+ credentials: "include",
63502
+ body: JSON.stringify({
63503
+ messageContent,
63504
+ conversationId,
63505
+ organizationId: orgId,
63506
+ feedback,
63507
+ feedbackText
63508
+ })
63509
+ }).catch(err => console.error("Feedback submission error:", err));
63510
+ }, [orgId, conversationId, apiBaseUrl]);
63511
+
63512
+ // Refresh chat handler — reset conversation
63513
+ const handleRefreshChat = reactExports.useCallback(() => {
63514
+ if (resetConversation) {
63515
+ resetConversation();
63516
+ }
63517
+ }, [resetConversation]);
63518
+
63519
+ // Copy chat handler — copy all messages to clipboard
63520
+ const handleCopyChat = reactExports.useCallback(() => {
63521
+ const text = messages.filter(msg => msg.content && msg.content.trim() !== "").map(msg => {
63522
+ const role = msg.role === "user" ? "You" : (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.conciergeName) || "Assistant";
63523
+ return "".concat(role, ": ").concat(msg.content);
63524
+ }).join("\n\n");
63525
+ if (text) {
63526
+ navigator.clipboard.writeText(text).catch(() => {});
63527
+ }
63528
+ }, [messages, widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.conciergeName]);
63529
+
63172
63530
  // Set CSS variables for theming (must be called before early returns)
63173
63531
  reactExports.useEffect(() => {
63174
63532
  if (widgetRef.current && widgetConfig) {
@@ -63249,8 +63607,11 @@
63249
63607
  voiceConclusionForCsat: voiceConclusionForCsat,
63250
63608
  onVoiceToggle: handleVoiceToggle,
63251
63609
  onBidiSubmit: () => sendBidiTextMessage(inputValue),
63610
+ disclaimerEnabled: widgetConfig.disclaimerEnabled,
63252
63611
  disclaimerText: widgetConfig.disclaimerText,
63253
63612
  disclaimerPosition: widgetConfig.disclaimerPosition,
63613
+ disclaimerLinkUrl: widgetConfig.disclaimerLinkUrl,
63614
+ disclaimerLinkLabel: widgetConfig.disclaimerLinkLabel,
63254
63615
  showPoweredBy: widgetConfig.showPoweredBy,
63255
63616
  apiBaseUrl: apiBaseUrl,
63256
63617
  apiKey: apiKey,
@@ -63268,7 +63629,12 @@
63268
63629
  csatTriggerType: widgetConfig.csatTriggerType,
63269
63630
  csatIdleTimeoutMins: widgetConfig.csatIdleTimeoutMins,
63270
63631
  onboardingEnabled: widgetConfig.onboardingEnabled,
63271
- onResetConversation: resetConversation
63632
+ onResetConversation: resetConversation,
63633
+ autoPromptEnabled: widgetConfig.autoPromptEnabled,
63634
+ allowFeedback: widgetConfig.allowFeedback,
63635
+ onFeedback: handleMessageFeedback,
63636
+ onRefreshChat: handleRefreshChat,
63637
+ onCopyChat: handleCopyChat
63272
63638
  }), !isOpen && /*#__PURE__*/jsxRuntimeExports.jsx(ToggleButton, {
63273
63639
  isOpen: isOpen,
63274
63640
  isDark: isDark,
@@ -63318,6 +63684,7 @@
63318
63684
  headerTextBold: false,
63319
63685
  headerTextItalic: false,
63320
63686
  enableVoiceInteraction: false,
63687
+ disclaimerEnabled: false,
63321
63688
  disclaimerText: undefined,
63322
63689
  disclaimerPosition: 'top',
63323
63690
  showPoweredBy: true,
@@ -63385,7 +63752,7 @@
63385
63752
  // Render component
63386
63753
  // If orgId and apiBaseUrl are provided, use dynamic config
63387
63754
  // Otherwise, use the old static config approach for backward compatibility
63388
- const widgetProps = config.orgId && config.apiBaseUrl ? _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({
63755
+ const widgetProps = config.orgId && config.apiBaseUrl ? _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({
63389
63756
  // Required props
63390
63757
  orgId: config.orgId,
63391
63758
  apiBaseUrl: config.apiBaseUrl
@@ -63433,6 +63800,8 @@
63433
63800
  headerTextItalic: config.headerTextItalic
63434
63801
  }), options.enableVoiceInteraction !== undefined && {
63435
63802
  enableVoiceInteraction: config.enableVoiceInteraction
63803
+ }), options.disclaimerEnabled !== undefined && {
63804
+ disclaimerEnabled: config.disclaimerEnabled
63436
63805
  }), options.disclaimerText !== undefined && {
63437
63806
  disclaimerText: config.disclaimerText
63438
63807
  }), options.disclaimerPosition !== undefined && {