@eshal-bot/chat-widget 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat-widget.css +3 -853
- package/dist/chat-widget.esm.css +3 -0
- package/dist/chat-widget.esm.js +10 -906
- package/dist/chat-widget.js +52775 -32072
- package/dist/chat-widget.min.js +41 -0
- package/dist/chat-widget.standalone.css +3 -853
- package/dist/chat-widget.umd.js +13 -914
- package/dist/index.css +3 -0
- package/dist/index.d.ts +23 -10
- package/package.json +83 -76
- package/dist/chat-widget.css.map +0 -1
- package/dist/chat-widget.esm.js.map +0 -1
- package/dist/chat-widget.js.map +0 -1
- package/dist/chat-widget.standalone.css.map +0 -1
- package/dist/chat-widget.umd.js.map +0 -1
package/dist/index.css
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
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 *{box-sizing:border-box;margin:0;padding:0}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:rgba(156,163,175,.5);border-radius:10px}.chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(156,163,175,.7)}.dark .chat-messages::-webkit-scrollbar-thumb{background:rgba(75,85,99,.5)}.dark .chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(75,85,99,.7)}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-5{bottom:1.25rem}.left-5{left:1.25rem}.right-5{right:1.25rem}.top-5{top:1.25rem}.z-10{z-index:10}.z-\[999999\]{z-index:999999}.my-3{margin-bottom:.75rem;margin-top:.75rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:.75rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[650px\]{height:650px}.h-px{height:1px}.min-h-0{min-height:0}.min-h-\[48px\]{min-height:48px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[380px\]{width:380px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-\[75\%\]{max-width:75%}.max-w-\[85\%\]{max-width:85%}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.rotate-0{--tw-rotate:0deg}.rotate-0,.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))}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.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))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.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))}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.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)))}.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)))}.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)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/60{border-color:rgba(229,231,235,.6)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-700\/50{border-color:rgba(55,65,81,.5)}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-400,.bg-gray-50{--tw-bg-opacity:1}.bg-gray-50{background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-900{background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-900,.bg-red-500{--tw-bg-opacity:1}.bg-red-500{background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.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)}.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)}.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)}.via-white\/0{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,0) var(--tw-gradient-via-position),var(--tw-gradient-to)}.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)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-white\/10{--tw-gradient-to:hsla(0,0%,100%,.1) var(--tw-gradient-to-position)}.to-white\/5{--tw-gradient-to:hsla(0,0%,100%,.05) var(--tw-gradient-to-position)}.p-0{padding:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0{padding-bottom:0;padding-top:0}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.text-left{text-align:left}.text-right{text-align:right}.align-text-bottom{vertical-align:text-bottom}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-gray-900,.text-white{--tw-text-opacity:1}.text-white{color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.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)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.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)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{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)}.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)}.transition-all{transition-duration:.15s}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.animate-in{animation:slideIn .3s ease-out}.transition-all{transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.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))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.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))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.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)}.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:hsla(0,0%,100%,.4)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.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))}.active\:scale-\[0\.98\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.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)}.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))}.group:hover .group-hover\:opacity-100{opacity:1}.chat-widget-root{position:fixed;z-index:999999}.chat-widget-container{color:var(--cw-text-color,inherit);font-family:var(
|
|
2
|
+
--cw-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif
|
|
3
|
+
)}.chat-messages p{overflow-wrap:anywhere;word-break:break-word}textarea#chat-widget-input::-moz-placeholder{line-height:48px}textarea#chat-widget-input::placeholder{line-height:48px}textarea#chat-widget-input{line-height:48px}@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)}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@media print{.chat-widget-root{display:none!important}}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { FC } from 'react';
|
|
|
3
3
|
export interface ChatWidgetProps {
|
|
4
4
|
/** Enable dark mode */
|
|
5
5
|
darkMode?: boolean;
|
|
6
|
-
/** Primary brand color (hex) */
|
|
6
|
+
/** Primary brand color (hex or rgba) */
|
|
7
7
|
primaryColor?: string;
|
|
8
8
|
/** Widget position on screen */
|
|
9
9
|
position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
@@ -11,8 +11,28 @@ export interface ChatWidgetProps {
|
|
|
11
11
|
companyName?: string;
|
|
12
12
|
/** Company logo URL */
|
|
13
13
|
companyLogo?: string | null;
|
|
14
|
-
/**
|
|
14
|
+
/** Welcome message shown before conversation starts */
|
|
15
|
+
welcomeMessage?: string;
|
|
16
|
+
/** API base URL used for streaming responses */
|
|
15
17
|
apiBaseUrl?: string;
|
|
18
|
+
/** Organization ID header for backend */
|
|
19
|
+
organizationId?: string;
|
|
20
|
+
/** Provide quick questions for users to click */
|
|
21
|
+
quickQuestions?: string[];
|
|
22
|
+
/** Layout for quick questions */
|
|
23
|
+
quickQuestionsLayout?: 'vertical' | 'horizontal';
|
|
24
|
+
/** Theme text color */
|
|
25
|
+
textColor?: string;
|
|
26
|
+
/** Assistant message bubble color */
|
|
27
|
+
agentMessageBubbleColor?: string;
|
|
28
|
+
/** User message bubble color */
|
|
29
|
+
userMessageBoxColor?: string;
|
|
30
|
+
/** Custom font family */
|
|
31
|
+
fontFamily?: string;
|
|
32
|
+
/** Base font size */
|
|
33
|
+
fontSize?: string;
|
|
34
|
+
/** Default language code for RTL support */
|
|
35
|
+
defaultLanguage?: string;
|
|
16
36
|
/** Auto-open widget on load */
|
|
17
37
|
autoOpen?: boolean;
|
|
18
38
|
/** Delay before auto-opening (ms) */
|
|
@@ -21,11 +41,6 @@ export interface ChatWidgetProps {
|
|
|
21
41
|
locale?: string;
|
|
22
42
|
/** Additional CSS classes */
|
|
23
43
|
className?: string;
|
|
24
|
-
/** Organization ID */
|
|
25
|
-
organizationId?: string;
|
|
26
|
-
welcomeMessage?: string;
|
|
27
|
-
/** Quick questions array for user to click */
|
|
28
|
-
quickQuestions?: string[];
|
|
29
44
|
}
|
|
30
45
|
|
|
31
46
|
declare const ChatWidget: FC<ChatWidgetProps>;
|
|
@@ -34,7 +49,7 @@ export default ChatWidget;
|
|
|
34
49
|
|
|
35
50
|
// Vanilla JS API types
|
|
36
51
|
export interface VanillaConfig extends ChatWidgetProps {
|
|
37
|
-
/** API endpoint URL */
|
|
52
|
+
/** Legacy REST API endpoint URL */
|
|
38
53
|
apiUrl?: string;
|
|
39
54
|
/** API authentication key */
|
|
40
55
|
apiKey?: string;
|
|
@@ -50,8 +65,6 @@ export interface VanillaConfig extends ChatWidgetProps {
|
|
|
50
65
|
onOpen?: () => void;
|
|
51
66
|
/** Callback when widget closes */
|
|
52
67
|
onClose?: () => void;
|
|
53
|
-
/** Organization ID */
|
|
54
|
-
organizationId?: string;
|
|
55
68
|
}
|
|
56
69
|
|
|
57
70
|
export interface VanillaAPI {
|
package/package.json
CHANGED
|
@@ -1,76 +1,83 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@eshal-bot/chat-widget",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Beautiful, embeddable chat widget with dark mode support",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "dist/chat-widget.js",
|
|
7
|
-
"module": "dist/chat-widget.esm.js",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/chat-widget.esm.js",
|
|
12
|
-
"require": "./dist/chat-widget.umd.js",
|
|
13
|
-
"browser": "./dist/chat-widget.js"
|
|
14
|
-
},
|
|
15
|
-
"./dist/index.css": "./dist/index.css",
|
|
16
|
-
"./dist/chat-widget.css": "./dist/chat-widget.css",
|
|
17
|
-
"./dist/chat-widget.esm.css": "./dist/chat-widget.esm.css"
|
|
18
|
-
},
|
|
19
|
-
"types": "dist/index.d.ts",
|
|
20
|
-
"files": [
|
|
21
|
-
"dist",
|
|
22
|
-
"README.md"
|
|
23
|
-
],
|
|
24
|
-
"scripts": {
|
|
25
|
-
"dev": "rollup -c -w",
|
|
26
|
-
"build": "npm run build:types && rollup -c",
|
|
27
|
-
"build:dev": "npm run build:types && rollup -c",
|
|
28
|
-
"prepublishOnly": "npm run build",
|
|
29
|
-
"build:types": "node scripts/generate-types.js"
|
|
30
|
-
},
|
|
31
|
-
"keywords": [
|
|
32
|
-
"chat",
|
|
33
|
-
"widget",
|
|
34
|
-
"intercom",
|
|
35
|
-
"customer-support",
|
|
36
|
-
"react",
|
|
37
|
-
"dark-mode"
|
|
38
|
-
],
|
|
39
|
-
"author": "Your Company",
|
|
40
|
-
"license": "MIT",
|
|
41
|
-
"peerDependencies": {
|
|
42
|
-
"react": ">=16.8.0",
|
|
43
|
-
"react-dom": ">=16.8.0"
|
|
44
|
-
},
|
|
45
|
-
"peerDependenciesMeta": {
|
|
46
|
-
"react": {
|
|
47
|
-
"optional": true
|
|
48
|
-
},
|
|
49
|
-
"react-dom": {
|
|
50
|
-
"optional": true
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"devDependencies": {
|
|
54
|
-
"@babel/core": "^7.23.0",
|
|
55
|
-
"@babel/preset-env": "^7.23.0",
|
|
56
|
-
"@babel/preset-react": "^7.22.0",
|
|
57
|
-
"@rollup/plugin-babel": "^6.0.3",
|
|
58
|
-
"@rollup/plugin-commonjs": "^25.0.0",
|
|
59
|
-
"@rollup/plugin-
|
|
60
|
-
"@rollup/plugin-
|
|
61
|
-
"@rollup/plugin-
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
}
|
|
76
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@eshal-bot/chat-widget",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Beautiful, embeddable chat widget with dark mode support",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/chat-widget.js",
|
|
7
|
+
"module": "dist/chat-widget.esm.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/chat-widget.esm.js",
|
|
12
|
+
"require": "./dist/chat-widget.umd.js",
|
|
13
|
+
"browser": "./dist/chat-widget.js"
|
|
14
|
+
},
|
|
15
|
+
"./dist/index.css": "./dist/index.css",
|
|
16
|
+
"./dist/chat-widget.css": "./dist/chat-widget.css",
|
|
17
|
+
"./dist/chat-widget.esm.css": "./dist/chat-widget.esm.css"
|
|
18
|
+
},
|
|
19
|
+
"types": "dist/index.d.ts",
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"README.md"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"dev": "rollup -c -w",
|
|
26
|
+
"build": "npm run build:types && cross-env NODE_ENV=production rollup -c",
|
|
27
|
+
"build:dev": "npm run build:types && cross-env NODE_ENV=development rollup -c",
|
|
28
|
+
"prepublishOnly": "npm run build",
|
|
29
|
+
"build:types": "node scripts/generate-types.js"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"chat",
|
|
33
|
+
"widget",
|
|
34
|
+
"intercom",
|
|
35
|
+
"customer-support",
|
|
36
|
+
"react",
|
|
37
|
+
"dark-mode"
|
|
38
|
+
],
|
|
39
|
+
"author": "Your Company",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"react": ">=16.8.0",
|
|
43
|
+
"react-dom": ">=16.8.0"
|
|
44
|
+
},
|
|
45
|
+
"peerDependenciesMeta": {
|
|
46
|
+
"react": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"react-dom": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@babel/core": "^7.23.0",
|
|
55
|
+
"@babel/preset-env": "^7.23.0",
|
|
56
|
+
"@babel/preset-react": "^7.22.0",
|
|
57
|
+
"@rollup/plugin-babel": "^6.0.3",
|
|
58
|
+
"@rollup/plugin-commonjs": "^25.0.0",
|
|
59
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
60
|
+
"@rollup/plugin-node-resolve": "^15.1.0",
|
|
61
|
+
"@rollup/plugin-replace": "^5.0.2",
|
|
62
|
+
"@rollup/plugin-terser": "^0.4.3",
|
|
63
|
+
"autoprefixer": "^10.4.14",
|
|
64
|
+
"cross-env": "^10.1.0",
|
|
65
|
+
"cssnano": "^6.0.1",
|
|
66
|
+
"jsdom": "^27.1.0",
|
|
67
|
+
"postcss": "^8.4.27",
|
|
68
|
+
"postcss-import": "^15.1.0",
|
|
69
|
+
"react": "^18.2.0",
|
|
70
|
+
"react-dom": "^18.2.0",
|
|
71
|
+
"rollup": "^3.26.0",
|
|
72
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
73
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
74
|
+
"tailwindcss": "^3.3.0"
|
|
75
|
+
},
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"lucide-react": "^0.303.0",
|
|
78
|
+
"react-markdown": "^9.0.1",
|
|
79
|
+
"react-syntax-highlighter": "^15.5.0",
|
|
80
|
+
"remark-gfm": "^3.0.1",
|
|
81
|
+
"webfontloader": "^1.6.28"
|
|
82
|
+
}
|
|
83
|
+
}
|
package/dist/chat-widget.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["tailwind.css","custom.css"],"names":[],"mappings":"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","file":"chat-widget.css","sourcesContent":["/* Tailwind directives */\r\n@tailwind base;\r\n@tailwind components;\r\n@tailwind utilities;\r\n/* Custom layer for scoped styles */\r\n@layer base {\r\n .chat-widget-root {\r\n --cw-primary: #2563eb;\r\n --cw-primary-hover: #1d4ed8;\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n }\r\n}\r\n\r\n@layer components {\r\n /* Ensure widget is isolated */\r\n .chat-widget-root * {\r\n box-sizing: border-box;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n \r\n /* Custom scrollbar */\r\n .chat-messages::-webkit-scrollbar {\r\n width: 6px;\r\n }\r\n \r\n .chat-messages::-webkit-scrollbar-track {\r\n background: transparent;\r\n }\r\n \r\n .chat-messages::-webkit-scrollbar-thumb {\r\n background: rgba(156, 163, 175, 0.5);\r\n border-radius: 10px;\r\n }\r\n \r\n .chat-messages::-webkit-scrollbar-thumb:hover {\r\n background: rgba(156, 163, 175, 0.7);\r\n }\r\n \r\n /* Dark mode scrollbar */\r\n .dark .chat-messages::-webkit-scrollbar-thumb {\r\n background: rgba(75, 85, 99, 0.5);\r\n }\r\n \r\n .dark .chat-messages::-webkit-scrollbar-thumb:hover {\r\n background: rgba(75, 85, 99, 0.7);\r\n }\r\n}\r\n\r\n@layer utilities {\r\n /* Animation utilities */\r\n .animate-in {\r\n animation: slideIn 0.3s ease-out;\r\n }\r\n \r\n /* Smooth transitions */\r\n .transition-all {\r\n transition-property: all;\r\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\r\n transition-duration: 300ms;\r\n }\r\n}\r\n","/* Additional custom styles that work without Tailwind */\r\n\r\n.chat-widget-root {\r\n position: fixed;\r\n z-index: 999999;\r\n}\r\n\r\n.chat-widget-container {\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\r\n}\r\n\r\n/* Ensure long words/URLs in messages don't overflow */\r\n.chat-messages p {\r\n overflow-wrap: anywhere;\r\n word-break: break-word;\r\n}\r\n\r\n/* Vertically center textarea placeholder and content baseline */\r\ntextarea#chat-widget-input::placeholder {\r\n line-height: 48px; /* matches container min-height */\r\n}\r\n\r\ntextarea#chat-widget-input {\r\n line-height: 48px; /* single-line center */\r\n}\r\n\r\n/* Fallback animations */\r\n@keyframes slideIn {\r\n from {\r\n opacity: 0;\r\n transform: translateY(10px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes bounce {\r\n 0%, 100% {\r\n transform: translateY(0);\r\n }\r\n 50% {\r\n transform: translateY(-5px);\r\n }\r\n}\r\n\r\n/* Hide scrollbar for horizontal scrolling */\r\n.scrollbar-hide {\r\n -ms-overflow-style: none; /* Internet Explorer 10+ */\r\n scrollbar-width: none; /* Firefox */\r\n}\r\n.scrollbar-hide::-webkit-scrollbar {\r\n display: none; /* Safari and Chrome */\r\n}\r\n\r\n/* Print styles */\r\n@media print {\r\n .chat-widget-root {\r\n display: none !important;\r\n }\r\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-widget.esm.js","sources":["../src/utils/api.js","../src/hooks/useChatState.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/bot.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/message-circle.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/minimize-2.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/moon.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/send.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/sun.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/user.js","../node_modules/.pnpm/lucide-react@0.303.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/x.js","../src/components/ChatHeader.jsx","../src/components/MessageBubble.jsx","../src/components/MessageList.jsx","../src/components/ChatInput.jsx","../src/components/QuickQuestions.jsx","../src/components/ChatWindow.jsx","../src/components/ToggleButton.jsx","../src/components/ChatWidget.jsx"],"sourcesContent":["/**\r\n * API utility functions\r\n */\r\n\r\nexport const sendMessage = async (message, config) => {\r\n if (!config.apiUrl) {\r\n throw new Error(\"API URL not configured\");\r\n }\r\n\r\n try {\r\n const response = await fetch(config.apiUrl, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n ...(config.apiKey && { Authorization: `Bearer ${config.apiKey}` }),\r\n ...(config.userId && { \"X-User-ID\": config.userId }),\r\n },\r\n body: JSON.stringify({\r\n message,\r\n userId: config.userId,\r\n userName: config.userName,\r\n userEmail: config.userEmail,\r\n timestamp: new Date().toISOString(),\r\n }),\r\n });\r\n\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! status: ${response.status}`);\r\n }\r\n\r\n const data = await response.json();\r\n return data.reply || data.message || data.response;\r\n } catch (error) {\r\n console.error(\"Chat API error:\", error);\r\n throw error;\r\n }\r\n};\r\n\r\n/**\r\n * Stream a support reply via Server-Sent Events\r\n * Expects backend to emit JSON SSE events like:\r\n * {\"type\":\"processing_start\", ...} | {\"type\":\"text_chunk\",\"content\":\"...\"} | {\"type\":\"complete\", ...}\r\n * Falls back to raw text if not JSON.\r\n */\r\nexport const streamSupportReply = async ({\r\n apiBaseUrl,\r\n query,\r\n organizationId,\r\n apiKey,\r\n headers = {},\r\n onProcessingStart,\r\n onProcessingEnd,\r\n onTextChunk,\r\n onDone,\r\n onError,\r\n}) => {\r\n if (!apiBaseUrl) {\r\n throw new Error(\"apiBaseUrl is required\");\r\n }\r\n\r\n const controller = new AbortController();\r\n const url = `${apiBaseUrl.replace(/\\/$/, \"\")}/api/v1/widget/chat`;\r\n\r\n try {\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"x-eshal-org\": organizationId,\r\n ...(apiKey && { Authorization: `Bearer ${apiKey}` }),\r\n ...headers,\r\n },\r\n body: JSON.stringify({ message: query }),\r\n signal: controller.signal,\r\n credentials: \"include\",\r\n });\r\n\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! status: ${response.status}`);\r\n }\r\n\r\n // Expect text/event-stream but some servers omit header while still streaming\r\n const reader = response.body.getReader();\r\n const decoder = new TextDecoder();\r\n let buffer = \"\";\r\n\r\n const pump = async () => {\r\n while (true) {\r\n const { value, done } = await reader.read();\r\n if (done) break;\r\n buffer += decoder.decode(value, { stream: true });\r\n\r\n // Parse SSE lines\r\n let lineEnd;\r\n while ((lineEnd = buffer.indexOf(\"\\n\")) !== -1) {\r\n const line = buffer.slice(0, lineEnd).trim();\r\n buffer = buffer.slice(lineEnd + 1);\r\n\r\n if (!line) continue;\r\n if (line.startsWith(\"data:\")) {\r\n const raw = line.slice(5).trim();\r\n if (raw === \"[DONE]\") {\r\n if (onDone) onDone();\r\n controller.abort();\r\n return;\r\n }\r\n try {\r\n const evt = JSON.parse(raw);\r\n if (evt && evt.type === \"processing_start\") {\r\n if (onProcessingStart) onProcessingStart(evt);\r\n } else if (evt && evt.type === \"processing_end\") {\r\n if (onProcessingEnd) onProcessingEnd(evt);\r\n } else if (\r\n evt &&\r\n evt.type === \"text_chunk\" &&\r\n typeof evt.content === \"string\"\r\n ) {\r\n if (onTextChunk) onTextChunk(evt.content, evt);\r\n } else if (evt && evt.type === \"complete\") {\r\n if (onDone) onDone(evt);\r\n } else {\r\n if (onTextChunk) onTextChunk(raw);\r\n }\r\n } catch (_) {\r\n // Only treat as text chunk if it's not a known control message\r\n if (raw !== \"processing_end\" && raw !== \"processing_start\") {\r\n if (onTextChunk) onTextChunk(raw);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // Flush remaining buffer (non-SSE servers may just stream text)\r\n if (buffer && onTextChunk) onTextChunk(buffer);\r\n if (onDone) onDone();\r\n };\r\n\r\n pump().catch((err) => {\r\n if (onError) onError(err);\r\n });\r\n\r\n return controller;\r\n } catch (error) {\r\n if (onError) onError(error);\r\n throw error;\r\n }\r\n};\r\n\r\nexport const createSession = async (config) => {\r\n // Initialize chat session if needed\r\n if (config.sessionUrl) {\r\n try {\r\n const response = await fetch(config.sessionUrl, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n ...(config.apiKey && { Authorization: `Bearer ${config.apiKey}` }),\r\n },\r\n body: JSON.stringify({\r\n userId: config.userId,\r\n userName: config.userName,\r\n userEmail: config.userEmail,\r\n }),\r\n credentials: \"include\",\r\n });\r\n\r\n const data = await response.json();\r\n return data.sessionId;\r\n } catch (error) {\r\n console.error(\"Session creation error:\", error);\r\n return null;\r\n }\r\n }\r\n return null;\r\n};\r\n","import { useState, useEffect, useRef } from \"react\";\r\nimport { streamSupportReply } from \"../utils/api.js\";\r\n\r\nexport const useChatState = ({\r\n welcomeMessage,\r\n companyLogo,\r\n quickQuestions,\r\n apiBaseUrl,\r\n organizationId,\r\n autoOpen,\r\n openDelay,\r\n darkMode,\r\n}) => {\r\n const [isOpen, setIsOpen] = useState(autoOpen);\r\n const [isMinimized, setIsMinimized] = useState(false);\r\n const [isDark, setIsDark] = useState(darkMode);\r\n const [messages, setMessages] = useState([\r\n {\r\n id: 1,\r\n text: welcomeMessage,\r\n sender: \"bot\",\r\n timestamp: new Date(),\r\n avatar: null,\r\n },\r\n ]);\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [isTyping, setIsTyping] = useState(false);\r\n const widgetRef = useRef(null);\r\n\r\n // Auto open with delay\r\n useEffect(() => {\r\n if (autoOpen && openDelay > 0) {\r\n const timer = setTimeout(() => setIsOpen(true), openDelay);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [autoOpen, openDelay]);\r\n\r\n // Sync dark mode prop\r\n useEffect(() => {\r\n setIsDark(darkMode);\r\n }, [darkMode]);\r\n\r\n const handleSend = async () => {\r\n if (!inputValue.trim()) return;\r\n\r\n const newMessage = {\r\n id: messages.length + 1,\r\n text: inputValue,\r\n sender: \"user\",\r\n timestamp: new Date(),\r\n };\r\n\r\n setMessages([...messages, newMessage]);\r\n const messageText = inputValue;\r\n setInputValue(\"\");\r\n setIsTyping(true);\r\n\r\n try {\r\n // Create placeholder bot message for streaming\r\n const botMessageId = messages.length + 2;\r\n setMessages((prev) => [\r\n ...prev,\r\n {\r\n id: botMessageId,\r\n text: \"\",\r\n sender: \"bot\",\r\n timestamp: new Date(),\r\n avatar: null,\r\n },\r\n ]);\r\n\r\n await streamSupportReply({\r\n apiBaseUrl,\r\n organizationId,\r\n query: messageText,\r\n onProcessingStart: () => {\r\n setIsTyping(true);\r\n },\r\n onProcessingEnd: () => {\r\n setIsTyping(true);\r\n },\r\n onTextChunk: (chunk) => {\r\n if(isTyping) {\r\n setIsTyping(false);\r\n };\r\n setMessages((prev) =>\r\n prev.map((m) =>\r\n m.id === botMessageId ? { ...m, text: (m.text || \"\") + chunk } : m\r\n )\r\n );\r\n },\r\n onDone: () => {\r\n setIsTyping(false);\r\n },\r\n onError: (error) => {\r\n console.error(\"SSE error:\", error);\r\n setIsTyping(false);\r\n setMessages((prev) =>\r\n prev.map((m) =>\r\n m.id === botMessageId\r\n ? {\r\n ...m,\r\n text: \"Sorry, I'm having trouble connecting right now. Please try again.\",\r\n }\r\n : m\r\n )\r\n );\r\n },\r\n });\r\n } catch (error) {\r\n setIsTyping(false);\r\n console.error(\"Error:\", error);\r\n }\r\n };\r\n\r\n const toggleChat = () => {\r\n setIsOpen(!isOpen);\r\n setIsMinimized(false);\r\n };\r\n\r\n const toggleTheme = () => {\r\n setIsDark(!isDark);\r\n };\r\n\r\n const toggleMinimize = () => {\r\n setIsMinimized(!isMinimized);\r\n };\r\n\r\n const closeChat = () => {\r\n setIsOpen(false);\r\n };\r\n\r\n const handleQuickQuestion = (question) => {\r\n setInputValue(question);\r\n handleSend();\r\n };\r\n\r\n return {\r\n // State\r\n isOpen,\r\n isMinimized,\r\n isDark,\r\n messages,\r\n inputValue,\r\n isTyping,\r\n widgetRef,\r\n quickQuestions,\r\n // Actions\r\n setInputValue,\r\n handleSend,\r\n handleQuickQuestion,\r\n toggleChat,\r\n toggleTheme,\r\n toggleMinimize,\r\n closeChat,\r\n };\r\n};\r\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase().trim();\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ color = \"currentColor\", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = \"\", children, ...rest }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: [\"lucide\", `lucide-${toKebabCase(iconName)}`, className].join(\" \"),\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default, toKebabCase };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Bot = createLucideIcon(\"Bot\", [\n [\"path\", { d: \"M12 8V4H8\", key: \"hb8ula\" }],\n [\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\", key: \"enze0r\" }],\n [\"path\", { d: \"M2 14h2\", key: \"vft8re\" }],\n [\"path\", { d: \"M20 14h2\", key: \"4cs60a\" }],\n [\"path\", { d: \"M15 13v2\", key: \"1xurst\" }],\n [\"path\", { d: \"M9 13v2\", key: \"rq6x2g\" }]\n]);\n\nexport { Bot as default };\n//# sourceMappingURL=bot.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst MessageCircle = createLucideIcon(\"MessageCircle\", [\n [\"path\", { d: \"M7.9 20A9 9 0 1 0 4 16.1L2 22Z\", key: \"vv11sd\" }]\n]);\n\nexport { MessageCircle as default };\n//# sourceMappingURL=message-circle.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Minimize2 = createLucideIcon(\"Minimize2\", [\n [\"polyline\", { points: \"4 14 10 14 10 20\", key: \"11kfnr\" }],\n [\"polyline\", { points: \"20 10 14 10 14 4\", key: \"rlmsce\" }],\n [\"line\", { x1: \"14\", x2: \"21\", y1: \"10\", y2: \"3\", key: \"o5lafz\" }],\n [\"line\", { x1: \"3\", x2: \"10\", y1: \"21\", y2: \"14\", key: \"1atl0r\" }]\n]);\n\nexport { Minimize2 as default };\n//# sourceMappingURL=minimize-2.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Moon = createLucideIcon(\"Moon\", [\n [\"path\", { d: \"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z\", key: \"a7tn18\" }]\n]);\n\nexport { Moon as default };\n//# sourceMappingURL=moon.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Send = createLucideIcon(\"Send\", [\n [\"path\", { d: \"m22 2-7 20-4-9-9-4Z\", key: \"1q3vgg\" }],\n [\"path\", { d: \"M22 2 11 13\", key: \"nzbqef\" }]\n]);\n\nexport { Send as default };\n//# sourceMappingURL=send.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Sun = createLucideIcon(\"Sun\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"m4.93 4.93 1.41 1.41\", key: \"149t6j\" }],\n [\"path\", { d: \"m17.66 17.66 1.41 1.41\", key: \"ptbguv\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"m6.34 17.66-1.41 1.41\", key: \"1m8zz5\" }],\n [\"path\", { d: \"m19.07 4.93-1.41 1.41\", key: \"1shlcs\" }]\n]);\n\nexport { Sun as default };\n//# sourceMappingURL=sun.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst User = createLucideIcon(\"User\", [\n [\"path\", { d: \"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\", key: \"975kel\" }],\n [\"circle\", { cx: \"12\", cy: \"7\", r: \"4\", key: \"17ys0d\" }]\n]);\n\nexport { User as default };\n//# sourceMappingURL=user.js.map\n","/**\n * @license lucide-react v0.303.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","import React from \"react\";\r\nimport { MessageCircle, X, Minimize2, Moon, Sun } from \"lucide-react\";\r\n\r\nconst ChatHeader = ({\r\n companyName,\r\n companyLogo,\r\n primaryColor,\r\n isDark,\r\n onToggleTheme,\r\n onMinimize,\r\n onClose,\r\n}) => {\r\n return (\r\n <div\r\n className=\"text-white px-5 py-4 flex items-center justify-between relative overflow-hidden\"\r\n style={{\r\n background: `linear-gradient(135deg, ${primaryColor} 0%, ${primaryColor}dd 100%)`,\r\n }}\r\n >\r\n <div className=\"absolute inset-0 bg-gradient-to-br from-white/10 to-transparent pointer-events-none\"></div>\r\n\r\n <div className=\"flex items-center gap-3 relative z-10\">\r\n <div className=\"relative\">\r\n <div className={`w-11 h-11 rounded-xl flex items-center justify-center ${\r\n companyLogo \r\n ? \"bg-transparent\" \r\n : \"bg-white/20 backdrop-blur-sm\"\r\n }`}>\r\n {companyLogo ? (\r\n <img\r\n src={companyLogo}\r\n alt=\"Logo\"\r\n className=\"w-6 h-6 object-cover rounded\"\r\n />\r\n ) : (\r\n <MessageCircle className=\"w-6 h-6\" />\r\n )}\r\n </div>\r\n <div className=\"absolute -bottom-0.5 -right-0.5 w-3.5 h-3.5 bg-green-400 rounded-full border-2 border-white\"></div>\r\n </div>\r\n <div>\r\n <h3 className=\"font-semibold text-[15px] leading-tight\">\r\n {companyName}\r\n </h3>\r\n <p className=\"text-xs text-white/90 flex items-center gap-1.5 mt-0.5\">\r\n <span className=\"w-1.5 h-1.5 bg-green-400 rounded-full animate-pulse\"></span>\r\n Typically replies instantly\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div className=\"flex items-center gap-1 relative z-10\">\r\n <button\r\n onClick={onToggleTheme}\r\n className=\"hover:bg-white/20 p-2 rounded-lg transition-all duration-200\"\r\n aria-label=\"Toggle theme\"\r\n >\r\n {isDark ? <Sun className=\"w-4 h-4\" /> : <Moon className=\"w-4 h-4\" />}\r\n </button>\r\n <button\r\n onClick={onMinimize}\r\n className=\"hover:bg-white/20 p-2 rounded-lg transition-all duration-200\"\r\n aria-label=\"Minimize\"\r\n >\r\n <Minimize2 className=\"w-4 h-4\" />\r\n </button>\r\n <button\r\n onClick={onClose}\r\n className=\"hover:bg-white/20 p-2 rounded-lg transition-all duration-200\"\r\n aria-label=\"Close\"\r\n >\r\n <X className=\"w-4 h-4\" />\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ChatHeader;\r\n","import React from \"react\";\r\nimport { User, Bot } from \"lucide-react\";\r\n\r\nconst MessageBubble = ({\r\n message,\r\n isDark,\r\n primaryColor,\r\n isTyping,\r\n companyLogo,\r\n}) => {\r\n const isUser = message.sender === \"user\";\r\n const isBot = message.sender === \"bot\";\r\n const isTypingMessage = isBot && isTyping && (!message.text || message.text.length === 0);\r\n\r\n return (\r\n <div\r\n className={`flex gap-3 ${\r\n isUser ? \"flex-row-reverse\" : \"flex-row\"\r\n } animate-in`}\r\n >\r\n {isBot && (\r\n <div className=\"flex-shrink-0 mt-1\">\r\n {message.avatar ? (\r\n <img\r\n src={message.avatar}\r\n alt=\"Bot\"\r\n className=\"w-8 h-8 rounded-full object-cover\"\r\n />\r\n ) : (\r\n <div\r\n className={`w-8 h-8 rounded-full flex items-center justify-center ${\r\n isDark ? \"bg-gray-700\" : \"bg-gray-200\"\r\n }`}\r\n >\r\n <Bot\r\n className=\"w-4 h-4\"\r\n style={{ color: primaryColor }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n\r\n <div\r\n className={`flex flex-col ${\r\n isUser ? \"items-end\" : \"items-start\"\r\n } max-w-[75%]`}\r\n >\r\n <div\r\n className={`rounded-2xl px-4 py-2.5 ${\r\n isUser\r\n ? `text-white shadow-lg`\r\n : `${\r\n isDark\r\n ? \"bg-gray-800 text-gray-100 border-gray-700\"\r\n : \"bg-white text-gray-800 border-gray-200\"\r\n } shadow-sm border`\r\n } ${\r\n isUser\r\n ? \"rounded-tr-sm\"\r\n : \"rounded-tl-sm\"\r\n }`}\r\n style={\r\n isUser\r\n ? {\r\n background: `linear-gradient(135deg, ${primaryColor} 0%, ${primaryColor}dd 100%)`,\r\n }\r\n : {}\r\n }\r\n >\r\n {isTypingMessage ? (\r\n <div className=\"flex gap-1.5\">\r\n <div\r\n className=\"w-2 h-2 rounded-full bg-gray-400 animate-bounce\"\r\n style={{ animationDelay: \"0ms\" }}\r\n ></div>\r\n <div\r\n className=\"w-2 h-2 rounded-full bg-gray-400 animate-bounce\"\r\n style={{ animationDelay: \"150ms\" }}\r\n ></div>\r\n <div\r\n className=\"w-2 h-2 rounded-full bg-gray-400 animate-bounce\"\r\n style={{ animationDelay: \"300ms\" }}\r\n ></div>\r\n </div>\r\n ) : (\r\n <p className={`text-[14px] leading-relaxed whitespace-pre-wrap break-words ${\r\n isUser \r\n ? \"text-white\" \r\n : isDark \r\n ? \"text-gray-100\" \r\n : \"text-gray-800\"\r\n }`}>\r\n {message.text}\r\n </p>\r\n )}\r\n </div>\r\n <p\r\n className={`text-[11px] mt-1.5 px-1 ${\r\n isDark ? \"text-gray-500\" : \"text-gray-400\"\r\n }`}\r\n >\r\n {message.timestamp.toLocaleTimeString([], {\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n })}\r\n </p>\r\n </div>\r\n\r\n {isUser && (\r\n <div className=\"flex-shrink-0 mt-1\">\r\n <div\r\n className={`w-8 h-8 rounded-full flex items-center justify-center ${\r\n isDark ? \"bg-gray-700\" : \"bg-gray-200\"\r\n }`}\r\n >\r\n <User className=\"w-4 h-4 text-gray-500\" />\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default MessageBubble;\r\n","import React, { useRef, useEffect } from \"react\";\r\nimport MessageBubble from \"./MessageBubble\";\r\n\r\nconst MessageList = ({\r\n messages,\r\n isDark,\r\n primaryColor,\r\n isTyping,\r\n companyLogo,\r\n}) => {\r\n const messagesEndRef = useRef(null);\r\n\r\n const scrollToBottom = () => {\r\n messagesEndRef.current?.scrollIntoView({ behavior: \"smooth\" });\r\n };\r\n\r\n useEffect(() => {\r\n scrollToBottom();\r\n }, [messages, isTyping]);\r\n\r\n return (\r\n <div\r\n className={`chat-messages flex-1 overflow-y-auto px-5 py-4 space-y-4 ${\r\n isDark ? \"bg-gray-900\" : \"bg-gradient-to-b from-gray-50/50 to-white\"\r\n } break-words`}\r\n >\r\n {messages.map((message) => (\r\n <MessageBubble\r\n key={message.id}\r\n message={message}\r\n isDark={isDark}\r\n primaryColor={primaryColor}\r\n isTyping={isTyping}\r\n companyLogo={companyLogo}\r\n />\r\n ))}\r\n <div ref={messagesEndRef} />\r\n </div>\r\n );\r\n};\r\n\r\nexport default MessageList;\r\n","import React, { useRef, useEffect } from \"react\";\r\nimport { Send } from \"lucide-react\";\r\n\r\nconst ChatInput = ({\r\n inputValue,\r\n setInputValue,\r\n onSend,\r\n isDark,\r\n primaryColor,\r\n isOpen,\r\n isMinimized,\r\n}) => {\r\n const inputRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (isOpen && !isMinimized) {\r\n inputRef.current?.focus();\r\n }\r\n }, [isOpen, isMinimized]);\r\n\r\n const handleKeyPress = (e) => {\r\n if (e.key === \"Enter\" && !e.shiftKey) {\r\n e.preventDefault();\r\n onSend();\r\n }\r\n };\r\n\r\n return (\r\n <div\r\n className={`px-5 py-4 border-t ${\r\n isDark\r\n ? \"border-gray-700 bg-gray-900\"\r\n : \"border-gray-200 bg-white\"\r\n }`}\r\n >\r\n <div className=\"flex gap-2.5 items-end\">\r\n <div\r\n className={`flex-1 flex items-center min-h-[48px] ${\r\n isDark ? \"bg-gray-800\" : \"bg-gray-50\"\r\n } rounded-2xl border transition-all duration-200`}\r\n style={{\r\n borderColor: inputValue\r\n ? primaryColor\r\n : isDark\r\n ? \"#374151\"\r\n : \"#e5e7eb\",\r\n borderWidth: inputValue ? \"2px\" : \"1px\",\r\n }}\r\n >\r\n <textarea\r\n id=\"chat-widget-input\"\r\n ref={inputRef}\r\n value={inputValue}\r\n onChange={(e) => setInputValue(e.target.value)}\r\n onKeyDown={handleKeyPress}\r\n placeholder=\"Type your message...\"\r\n rows=\"1\"\r\n className={`w-full px-4 py-0 bg-transparent rounded-xl leading-normal ${\r\n isDark ? \"text-gray-100\" : \"text-gray-900\"\r\n } placeholder-gray-400 text-[14px] resize-none outline-none`}\r\n style={{ maxHeight: \"120px\" }}\r\n />\r\n </div>\r\n <button\r\n onClick={onSend}\r\n disabled={!inputValue.trim()}\r\n className={`h-12 w-12 p-0 rounded-xl transition-all duration-200 flex items-center justify-center shadow-lg disabled:opacity-40 disabled:cursor-not-allowed disabled:shadow-none ${\r\n inputValue.trim() ? \"scale-100\" : \"scale-95\"\r\n }`}\r\n style={{\r\n backgroundColor: inputValue.trim()\r\n ? primaryColor\r\n : isDark\r\n ? \"#374151\"\r\n : \"#e5e7eb\",\r\n color: inputValue.trim() ? \"white\" : \"#9ca3af\",\r\n }}\r\n aria-label=\"Send message\"\r\n >\r\n <Send className=\"w-5 h-5\" />\r\n </button>\r\n </div>\r\n <p\r\n className={`text-[11px] mt-2 px-1 ${\r\n isDark ? \"text-gray-600\" : \"text-gray-400\"\r\n } flex items-center gap-1`}\r\n >\r\n <span className=\"w-1 h-1 rounded-full bg-green-500\"></span>\r\n We're online now\r\n </p>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ChatInput;\r\n","import React from \"react\";\r\n\r\nconst QuickQuestions = ({\r\n questions = [],\r\n isDark,\r\n primaryColor,\r\n onQuestionClick,\r\n isTyping = false,\r\n}) => {\r\n // Don't render if no questions or if typing/streaming\r\n if (!questions.length || isTyping) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div className=\"px-4 py-3 border-t border-gray-200 dark:border-gray-700\">\r\n <div className=\"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium\">\r\n Quick questions:\r\n </div>\r\n <div className=\"flex gap-2 overflow-x-auto scrollbar-hide pb-1\">\r\n {questions.map((question, index) => (\r\n <button\r\n key={index}\r\n onClick={() => onQuestionClick(question)}\r\n className=\"text-xs px-4 py-2 rounded-lg border-2 font-medium transition-all duration-200 hover:scale-105 active:scale-95 whitespace-nowrap flex-shrink-0 shadow-sm\"\r\n style={{\r\n backgroundColor: isDark ? \"rgba(59, 130, 246, 0.15)\" : \"rgba(59, 130, 246, 0.08)\",\r\n borderColor: isDark ? \"rgba(59, 130, 246, 0.4)\" : \"rgba(59, 130, 246, 0.3)\",\r\n color: isDark ? \"rgba(147, 197, 253, 0.95)\" : \"rgba(30, 64, 175, 0.9)\",\r\n }}\r\n onMouseEnter={(e) => {\r\n e.target.style.backgroundColor = isDark \r\n ? \"rgba(59, 130, 246, 0.25)\" \r\n : \"rgba(59, 130, 246, 0.15)\";\r\n e.target.style.borderColor = isDark \r\n ? \"rgba(59, 130, 246, 0.6)\" \r\n : \"rgba(59, 130, 246, 0.5)\";\r\n }}\r\n onMouseLeave={(e) => {\r\n e.target.style.backgroundColor = isDark \r\n ? \"rgba(59, 130, 246, 0.15)\" \r\n : \"rgba(59, 130, 246, 0.08)\";\r\n e.target.style.borderColor = isDark \r\n ? \"rgba(59, 130, 246, 0.4)\" \r\n : \"rgba(59, 130, 246, 0.3)\";\r\n }}\r\n >\r\n {question}\r\n </button>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default QuickQuestions;\r\n","import React from \"react\";\r\nimport ChatHeader from \"./ChatHeader\";\r\nimport MessageList from \"./MessageList\";\r\nimport ChatInput from \"./ChatInput\";\r\nimport QuickQuestions from \"./QuickQuestions\";\r\n\r\nconst ChatWindow = ({\r\n isOpen,\r\n isMinimized,\r\n isDark,\r\n primaryColor,\r\n companyName,\r\n companyLogo,\r\n messages,\r\n isTyping,\r\n inputValue,\r\n setInputValue,\r\n onSend,\r\n onToggleTheme,\r\n onMinimize,\r\n onClose,\r\n quickQuestions,\r\n onQuickQuestion,\r\n}) => {\r\n if (!isOpen) return null;\r\n\r\n return (\r\n <div\r\n className={`mb-4 ${\r\n isDark ? \"bg-gray-900 border-gray-700\" : \"bg-white border-gray-200\"\r\n } rounded-2xl shadow-2xl border transition-all duration-300 ${\r\n isMinimized ? \"w-80 h-16\" : \"w-[380px] h-[650px]\"\r\n } flex flex-col overflow-hidden`}\r\n >\r\n <ChatHeader\r\n companyName={companyName}\r\n companyLogo={companyLogo}\r\n primaryColor={primaryColor}\r\n isDark={isDark}\r\n onToggleTheme={onToggleTheme}\r\n onMinimize={onMinimize}\r\n onClose={onClose}\r\n />\r\n\r\n {!isMinimized && (\r\n <>\r\n <MessageList\r\n messages={messages}\r\n isDark={isDark}\r\n primaryColor={primaryColor}\r\n isTyping={isTyping}\r\n companyLogo={companyLogo}\r\n />\r\n <QuickQuestions\r\n questions={quickQuestions}\r\n isDark={isDark}\r\n primaryColor={primaryColor}\r\n onQuestionClick={onQuickQuestion}\r\n isTyping={isTyping}\r\n />\r\n <ChatInput\r\n inputValue={inputValue}\r\n setInputValue={setInputValue}\r\n onSend={onSend}\r\n isDark={isDark}\r\n primaryColor={primaryColor}\r\n isOpen={isOpen}\r\n isMinimized={isMinimized}\r\n />\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ChatWindow;\r\n","import React from \"react\";\r\nimport { MessageCircle, X } from \"lucide-react\";\r\n\r\nconst ToggleButton = ({\r\n isOpen,\r\n isDark,\r\n primaryColor,\r\n onToggle,\r\n}) => {\r\n return (\r\n <button\r\n onClick={onToggle}\r\n className={`group relative w-16 h-16 rounded-full shadow-2xl transition-all duration-300 flex items-center justify-center text-white overflow-hidden ${\r\n isOpen ? \"rotate-0 scale-100\" : \"hover:scale-110\"\r\n }`}\r\n style={{\r\n background: isOpen\r\n ? isDark\r\n ? \"#1f2937\"\r\n : \"#374151\"\r\n : `linear-gradient(135deg, ${primaryColor} 0%, ${primaryColor}dd 100%)`,\r\n boxShadow: isOpen\r\n ? \"0 10px 30px rgba(0,0,0,0.3)\"\r\n : `0 10px 30px ${primaryColor}40`,\r\n }}\r\n aria-label={isOpen ? \"Close chat\" : \"Open chat\"}\r\n >\r\n <div className=\"absolute inset-0 rounded-full bg-white/20 scale-0 group-hover:scale-100 transition-transform duration-500\"></div>\r\n\r\n <div className=\"relative z-10 transition-transform duration-300\">\r\n {isOpen ? (\r\n <X className=\"w-7 h-7\" />\r\n ) : (\r\n <>\r\n <MessageCircle className=\"w-7 h-7\" />\r\n <div className=\"absolute -top-1 -right-1 w-5 h-5 bg-red-500 rounded-full flex items-center justify-center text-[10px] font-bold border-2 border-white animate-pulse\">\r\n 1\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n </button>\r\n );\r\n};\r\n\r\nexport default ToggleButton;\r\n","import React, { useEffect } from \"react\";\r\nimport \"../styles/tailwind.css\";\r\nimport \"../styles/custom.css\";\r\nimport { useChatState } from \"../hooks/useChatState.js\";\r\nimport ChatWindow from \"./ChatWindow\";\r\nimport ToggleButton from \"./ToggleButton\";\r\n\r\nconst ChatWidget = ({\r\n darkMode = false,\r\n primaryColor = \"#2563eb\",\r\n position = \"bottom-right\",\r\n companyName = \"Support Team\",\r\n companyLogo = null,\r\n welcomeMessage = \"Hi! How can we help?\",\r\n quickQuestions = [],\r\n apiBaseUrl,\r\n organizationId,\r\n autoOpen = false,\r\n openDelay = 0,\r\n locale = \"en\",\r\n className = \"\",\r\n}) => {\r\n const {\r\n isOpen,\r\n isMinimized,\r\n isDark,\r\n messages,\r\n inputValue,\r\n isTyping,\r\n widgetRef,\r\n setInputValue,\r\n handleSend,\r\n handleQuickQuestion,\r\n toggleChat,\r\n toggleTheme,\r\n toggleMinimize,\r\n closeChat,\r\n } = useChatState({\r\n welcomeMessage,\r\n companyLogo,\r\n quickQuestions,\r\n apiBaseUrl,\r\n organizationId,\r\n autoOpen,\r\n openDelay,\r\n darkMode,\r\n });\r\n\r\n // Set CSS variables for theming\r\n useEffect(() => {\r\n if (widgetRef.current) {\r\n widgetRef.current.style.setProperty(\"--cw-primary\", primaryColor);\r\n }\r\n }, [primaryColor, widgetRef]);\r\n\r\n const positionClasses = {\r\n \"bottom-right\": \"bottom-5 right-5\",\r\n \"bottom-left\": \"bottom-5 left-5\",\r\n \"top-right\": \"top-5 right-5\",\r\n \"top-left\": \"top-5 left-5\",\r\n };\r\n\r\n return (\r\n <div\r\n ref={widgetRef}\r\n className={`chat-widget-root fixed flex flex-col items-end z-[999999] ${\r\n isDark ? \"dark\" : \"\"\r\n } ${className} ${\r\n positionClasses[position] || positionClasses[\"bottom-right\"]\r\n }`}\r\n >\r\n <ChatWindow\r\n isOpen={isOpen}\r\n isMinimized={isMinimized}\r\n isDark={isDark}\r\n primaryColor={primaryColor}\r\n companyName={companyName}\r\n companyLogo={companyLogo}\r\n messages={messages}\r\n isTyping={isTyping}\r\n inputValue={inputValue}\r\n setInputValue={setInputValue}\r\n onSend={handleSend}\r\n onToggleTheme={toggleTheme}\r\n onMinimize={toggleMinimize}\r\n onClose={closeChat}\r\n quickQuestions={quickQuestions}\r\n onQuickQuestion={handleQuickQuestion}\r\n />\r\n\r\n <ToggleButton\r\n isOpen={isOpen}\r\n isDark={isDark}\r\n primaryColor={primaryColor}\r\n onToggle={toggleChat}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default ChatWidget;\r\n"],"names":["streamSupportReply","_ref","apiBaseUrl","query","organizationId","apiKey","headers","onProcessingStart","onProcessingEnd","onTextChunk","onDone","onError","Error","controller","AbortController","url","concat","replace","response","fetch","method","_objectSpread","Authorization","body","JSON","stringify","message","signal","credentials","ok","status","reader","getReader","decoder","TextDecoder","buffer","pump","value","done","read","decode","stream","lineEnd","indexOf","line","slice","trim","startsWith","raw","abort","evt","parse","type","content","_","catch","err","error","useChatState","welcomeMessage","companyLogo","quickQuestions","autoOpen","openDelay","darkMode","isOpen","setIsOpen","useState","isMinimized","setIsMinimized","isDark","setIsDark","messages","setMessages","id","text","sender","timestamp","Date","avatar","inputValue","setInputValue","isTyping","setIsTyping","widgetRef","useRef","useEffect","timer","setTimeout","clearTimeout","handleSend","newMessage","length","messageText","botMessageId","prev","chunk","map","m","console","toggleChat","toggleTheme","toggleMinimize","closeChat","handleQuickQuestion","question","ChatHeader","companyName","primaryColor","onToggleTheme","onMinimize","onClose","_jsxs","className","style","background","children","_jsx","src","alt","MessageCircle","onClick","Sun","Moon","Minimize2","X","MessageBubble","isUser","isBot","isTypingMessage","Bot","color","animationDelay","toLocaleTimeString","hour","minute","User","MessageList","messagesEndRef","scrollToBottom","_messagesEndRef$curre","current","scrollIntoView","behavior","ref","ChatInput","onSend","inputRef","_inputRef$current","focus","handleKeyPress","e","key","shiftKey","preventDefault","borderColor","borderWidth","onChange","target","onKeyDown","placeholder","rows","maxHeight","disabled","backgroundColor","Send","QuickQuestions","questions","onQuestionClick","index","onMouseEnter","onMouseLeave","ChatWindow","onQuickQuestion","_Fragment","ToggleButton","onToggle","boxShadow","ChatWidget","position","locale","setProperty","positionClasses"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11]}
|