@tarxemo/customer_support 1.2.1 → 1.2.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/index.umd.js CHANGED
@@ -3,5 +3,5 @@
3
3
  `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const s=new this(t);return r.forEach(n=>s.set(n)),s}static accessor(t){const s=(this[Je]=this[Je]={accessors:{}}).accessors,n=this.prototype;function o(i){const c=te(i);s[c]||(Or(n,i),s[c]=!0)}return a.isArray(t)?t.forEach(o):o(t),this}};F.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),a.reduceDescriptors(F.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(s){this[r]=s}}}),a.freezeMethods(F);function _e(e,t){const r=this||ee,s=t||r,n=F.from(s.headers);let o=s.data;return a.forEach(e,function(c){o=c.call(r,o,n.normalize(),t?t.status:void 0)}),n.normalize(),o}function We(e){return!!(e&&e.__CANCEL__)}let re=class extends w{constructor(t,r,s){super(t??"canceled",w.ERR_CANCELED,r,s),this.name="CanceledError",this.__CANCEL__=!0}};function Ke(e,t,r){const s=r.config.validateStatus;!r.status||!s||s(r.status)?e(r):t(new w("Request failed with status code "+r.status,[w.ERR_BAD_REQUEST,w.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Tr(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Ar(e,t){e=e||10;const r=new Array(e),s=new Array(e);let n=0,o=0,i;return t=t!==void 0?t:1e3,function(p){const u=Date.now(),l=s[o];i||(i=u),r[n]=p,s[n]=u;let m=o,x=0;for(;m!==n;)x+=r[m++],m=m%e;if(n=(n+1)%e,n===o&&(o=(o+1)%e),u-i<t)return;const N=l&&u-l;return N?Math.round(x*1e3/N):void 0}}function Cr(e,t){let r=0,s=1e3/t,n,o;const i=(u,l=Date.now())=>{r=l,n=null,o&&(clearTimeout(o),o=null),e(...u)};return[(...u)=>{const l=Date.now(),m=l-r;m>=s?i(u,l):(n=u,o||(o=setTimeout(()=>{o=null,i(n)},s-m)))},()=>n&&i(n)]}const le=(e,t,r=3)=>{let s=0;const n=Ar(50,250);return Cr(o=>{const i=o.loaded,c=o.lengthComputable?o.total:void 0,p=i-s,u=n(p),l=i<=c;s=i;const m={loaded:i,total:c,progress:c?i/c:void 0,bytes:p,rate:u||void 0,estimated:u&&c&&l?(c-i)/u:void 0,event:o,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(m)},r)},Ve=(e,t)=>{const r=e!=null;return[s=>t[0]({lengthComputable:r,total:e,loaded:s}),t[1]]},Xe=e=>(...t)=>a.asap(()=>e(...t)),Rr=k.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,k.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(k.origin),k.navigator&&/(msie|trident)/i.test(k.navigator.userAgent)):()=>!0,Nr=k.hasStandardBrowserEnv?{write(e,t,r,s,n,o,i){if(typeof document>"u")return;const c=[`${e}=${encodeURIComponent(t)}`];a.isNumber(r)&&c.push(`expires=${new Date(r).toUTCString()}`),a.isString(s)&&c.push(`path=${s}`),a.isString(n)&&c.push(`domain=${n}`),o===!0&&c.push("secure"),a.isString(i)&&c.push(`SameSite=${i}`),document.cookie=c.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function vr(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function kr(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ye(e,t,r){let s=!vr(t);return e&&(s||r==!1)?kr(e,t):t}const Ge=e=>e instanceof F?{...e}:e;function W(e,t){t=t||{};const r={};function s(u,l,m,x){return a.isPlainObject(u)&&a.isPlainObject(l)?a.merge.call({caseless:x},u,l):a.isPlainObject(l)?a.merge({},l):a.isArray(l)?l.slice():l}function n(u,l,m,x){if(a.isUndefined(l)){if(!a.isUndefined(u))return s(void 0,u,m,x)}else return s(u,l,m,x)}function o(u,l){if(!a.isUndefined(l))return s(void 0,l)}function i(u,l){if(a.isUndefined(l)){if(!a.isUndefined(u))return s(void 0,u)}else return s(void 0,l)}function c(u,l,m){if(m in t)return s(u,l);if(m in e)return s(void 0,u)}const p={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(u,l,m)=>n(Ge(u),Ge(l),m,!0)};return a.forEach(Object.keys({...e,...t}),function(l){const m=p[l]||n,x=m(e[l],t[l],l);a.isUndefined(x)&&m!==c||(r[l]=x)}),r}const Qe=e=>{const t=W({},e);let{data:r,withXSRFToken:s,xsrfHeaderName:n,xsrfCookieName:o,headers:i,auth:c}=t;if(t.headers=i=F.from(i),t.url=Me(Ye(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&i.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),a.isFormData(r)){if(k.hasStandardBrowserEnv||k.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(a.isFunction(r.getHeaders)){const p=r.getHeaders(),u=["content-type","content-length"];Object.entries(p).forEach(([l,m])=>{u.includes(l.toLowerCase())&&i.set(l,m)})}}if(k.hasStandardBrowserEnv&&(s&&a.isFunction(s)&&(s=s(t)),s||s!==!1&&Rr(t.url))){const p=n&&o&&Nr.read(o);p&&i.set(n,p)}return t},Pr=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(r,s){const n=Qe(e);let o=n.data;const i=F.from(n.headers).normalize();let{responseType:c,onUploadProgress:p,onDownloadProgress:u}=n,l,m,x,N,d;function g(){N&&N(),d&&d(),n.cancelToken&&n.cancelToken.unsubscribe(l),n.signal&&n.signal.removeEventListener("abort",l)}let h=new XMLHttpRequest;h.open(n.method.toUpperCase(),n.url,!0),h.timeout=n.timeout;function T(){if(!h)return;const _=F.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),C={data:!c||c==="text"||c==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:_,config:e,request:h};Ke(function(P){r(P),g()},function(P){s(P),g()},C),h=null}"onloadend"in h?h.onloadend=T:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(T)},h.onabort=function(){h&&(s(new w("Request aborted",w.ECONNABORTED,e,h)),h=null)},h.onerror=function(y){const C=y&&y.message?y.message:"Network Error",L=new w(C,w.ERR_NETWORK,e,h);L.event=y||null,s(L),h=null},h.ontimeout=function(){let y=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const C=n.transitional||qe;n.timeoutErrorMessage&&(y=n.timeoutErrorMessage),s(new w(y,C.clarifyTimeoutError?w.ETIMEDOUT:w.ECONNABORTED,e,h)),h=null},o===void 0&&i.setContentType(null),"setRequestHeader"in h&&a.forEach(i.toJSON(),function(y,C){h.setRequestHeader(C,y)}),a.isUndefined(n.withCredentials)||(h.withCredentials=!!n.withCredentials),c&&c!=="json"&&(h.responseType=n.responseType),u&&([x,d]=le(u,!0),h.addEventListener("progress",x)),p&&h.upload&&([m,N]=le(p),h.upload.addEventListener("progress",m),h.upload.addEventListener("loadend",N)),(n.cancelToken||n.signal)&&(l=_=>{h&&(s(!_||_.type?new re(null,e,h):_),h.abort(),h=null)},n.cancelToken&&n.cancelToken.subscribe(l),n.signal&&(n.signal.aborted?l():n.signal.addEventListener("abort",l)));const S=Tr(n.url);if(S&&k.protocols.indexOf(S)===-1){s(new w("Unsupported protocol "+S+":",w.ERR_BAD_REQUEST,e));return}h.send(o||null)})},Dr=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let s=new AbortController,n;const o=function(u){if(!n){n=!0,c();const l=u instanceof Error?u:this.reason;s.abort(l instanceof w?l:new re(l instanceof Error?l.message:l))}};let i=t&&setTimeout(()=>{i=null,o(new w(`timeout of ${t}ms exceeded`,w.ETIMEDOUT))},t);const c=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),e=null)};e.forEach(u=>u.addEventListener("abort",o));const{signal:p}=s;return p.unsubscribe=()=>a.asap(c),p}},Ur=function*(e,t){let r=e.byteLength;if(r<t){yield e;return}let s=0,n;for(;s<r;)n=s+t,yield e.slice(s,n),s=n},Fr=async function*(e,t){for await(const r of Lr(e))yield*Ur(r,t)},Lr=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:r,value:s}=await t.read();if(r)break;yield s}}finally{await t.cancel()}},Ze=(e,t,r,s)=>{const n=Fr(e,t);let o=0,i,c=p=>{i||(i=!0,s&&s(p))};return new ReadableStream({async pull(p){try{const{done:u,value:l}=await n.next();if(u){c(),p.close();return}let m=l.byteLength;if(r){let x=o+=m;r(x)}p.enqueue(new Uint8Array(l))}catch(u){throw c(u),u}},cancel(p){return c(p),n.return()}},{highWaterMark:2})},et=64*1024,{isFunction:ue}=a,Ir=(({Request:e,Response:t})=>({Request:e,Response:t}))(a.global),{ReadableStream:tt,TextEncoder:rt}=a.global,st=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Br=e=>{e=a.merge.call({skipUndefined:!0},Ir,e);const{fetch:t,Request:r,Response:s}=e,n=t?ue(t):typeof fetch=="function",o=ue(r),i=ue(s);if(!n)return!1;const c=n&&ue(tt),p=n&&(typeof rt=="function"?(d=>g=>d.encode(g))(new rt):async d=>new Uint8Array(await new r(d).arrayBuffer())),u=o&&c&&st(()=>{let d=!1;const g=new r(k.origin,{body:new tt,method:"POST",get duplex(){return d=!0,"half"}}).headers.has("Content-Type");return d&&!g}),l=i&&c&&st(()=>a.isReadableStream(new s("").body)),m={stream:l&&(d=>d.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(d=>{!m[d]&&(m[d]=(g,h)=>{let T=g&&g[d];if(T)return T.call(g);throw new w(`Response type '${d}' is not supported`,w.ERR_NOT_SUPPORT,h)})});const x=async d=>{if(d==null)return 0;if(a.isBlob(d))return d.size;if(a.isSpecCompliantForm(d))return(await new r(k.origin,{method:"POST",body:d}).arrayBuffer()).byteLength;if(a.isArrayBufferView(d)||a.isArrayBuffer(d))return d.byteLength;if(a.isURLSearchParams(d)&&(d=d+""),a.isString(d))return(await p(d)).byteLength},N=async(d,g)=>{const h=a.toFiniteNumber(d.getContentLength());return h??x(g)};return async d=>{let{url:g,method:h,data:T,signal:S,cancelToken:_,timeout:y,onDownloadProgress:C,onUploadProgress:L,responseType:P,headers:b,withCredentials:O="same-origin",fetchOptions:D}=Qe(d),v=t||fetch;P=P?(P+"").toLowerCase():"text";let B=Dr([S,_&&_.toAbortSignal()],y),E=null;const H=B&&B.unsubscribe&&(()=>{B.unsubscribe()});let pe;try{if(L&&u&&h!=="get"&&h!=="head"&&(pe=await N(b,T))!==0){let z=new r(g,{method:"POST",body:T,duplex:"half"}),Y;if(a.isFormData(T)&&(Y=z.headers.get("content-type"))&&b.setContentType(Y),z.body){const[Ce,me]=Ve(pe,le(Xe(L)));T=Ze(z.body,et,Ce,me)}}a.isString(O)||(O=O?"include":"omit");const j=o&&"credentials"in r.prototype,wt={...D,signal:B,method:h.toUpperCase(),headers:b.normalize().toJSON(),body:T,duplex:"half",credentials:j?O:void 0};E=o&&new r(g,wt);let q=await(o?v(E,D):v(g,wt));const bt=l&&(P==="stream"||P==="response");if(l&&(C||bt&&H)){const z={};["status","statusText","headers"].forEach(yt=>{z[yt]=q[yt]});const Y=a.toFiniteNumber(q.headers.get("content-length")),[Ce,me]=C&&Ve(Y,le(Xe(C),!0))||[];q=new s(Ze(q.body,et,Ce,()=>{me&&me(),H&&H()}),z)}P=P||"text";let Gr=await m[a.findKey(m,P)||"text"](q,d);return!bt&&H&&H(),await new Promise((z,Y)=>{Ke(z,Y,{data:Gr,headers:F.from(q.headers),status:q.status,statusText:q.statusText,config:d,request:E})})}catch(j){throw H&&H(),j&&j.name==="TypeError"&&/Load failed|fetch/i.test(j.message)?Object.assign(new w("Network Error",w.ERR_NETWORK,d,E),{cause:j.cause||j}):w.from(j,j&&j.code,d,E)}}},jr=new Map,nt=e=>{let t=e&&e.env||{};const{fetch:r,Request:s,Response:n}=t,o=[s,n,r];let i=o.length,c=i,p,u,l=jr;for(;c--;)p=o[c],u=l.get(p),u===void 0&&l.set(p,u=c?new Map:Br(t)),l=u;return u};nt();const Se={http:ar,xhr:Pr,fetch:{get:nt}};a.forEach(Se,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const ot=e=>`- ${e}`,$r=e=>a.isFunction(e)||e===null||e===!1;function Mr(e,t){e=a.isArray(e)?e:[e];const{length:r}=e;let s,n;const o={};for(let i=0;i<r;i++){s=e[i];let c;if(n=s,!$r(s)&&(n=Se[(c=String(s)).toLowerCase()],n===void 0))throw new w(`Unknown adapter '${c}'`);if(n&&(a.isFunction(n)||(n=n.get(t))))break;o[c||"#"+i]=n}if(!n){const i=Object.entries(o).map(([p,u])=>`adapter ${p} `+(u===!1?"is not supported by the environment":"is not available in the build"));let c=r?i.length>1?`since :
4
4
  `+i.map(ot).join(`
5
5
  `):" "+ot(i[0]):"as no adapter specified";throw new w("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return n}const it={getAdapter:Mr,adapters:Se};function Oe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new re(null,e)}function at(e){return Oe(e),e.headers=F.from(e.headers),e.data=_e.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),it.getAdapter(e.adapter||ee.adapter,e)(e).then(function(s){return Oe(e),s.data=_e.call(e,e.transformResponse,s),s.headers=F.from(s.headers),s},function(s){return We(s)||(Oe(e),s&&s.response&&(s.response.data=_e.call(e,e.transformResponse,s.response),s.response.headers=F.from(s.response.headers))),Promise.reject(s)})}const ct="1.13.4",de={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{de[e]=function(s){return typeof s===e||"a"+(t<1?"n ":" ")+e}});const lt={};de.transitional=function(t,r,s){function n(o,i){return"[Axios v"+ct+"] Transitional option '"+o+"'"+i+(s?". "+s:"")}return(o,i,c)=>{if(t===!1)throw new w(n(i," has been removed"+(r?" in "+r:"")),w.ERR_DEPRECATED);return r&&!lt[i]&&(lt[i]=!0,console.warn(n(i," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(o,i,c):!0}},de.spelling=function(t){return(r,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function Hr(e,t,r){if(typeof e!="object")throw new w("options must be an object",w.ERR_BAD_OPTION_VALUE);const s=Object.keys(e);let n=s.length;for(;n-- >0;){const o=s[n],i=t[o];if(i){const c=e[o],p=c===void 0||i(c,o,e);if(p!==!0)throw new w("option "+o+" must be "+p,w.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new w("Unknown option "+o,w.ERR_BAD_OPTION)}}const fe={assertOptions:Hr,validators:de},M=fe.validators;let K=class{constructor(t){this.defaults=t||{},this.interceptors={request:new He,response:new He}}async request(t,r){try{return await this._request(t,r)}catch(s){if(s instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;const o=n.stack?n.stack.replace(/^.+\n/,""):"";try{s.stack?o&&!String(s.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(s.stack+=`
6
- `+o):s.stack=o}catch{}}throw s}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=W(this.defaults,r);const{transitional:s,paramsSerializer:n,headers:o}=r;s!==void 0&&fe.assertOptions(s,{silentJSONParsing:M.transitional(M.boolean),forcedJSONParsing:M.transitional(M.boolean),clarifyTimeoutError:M.transitional(M.boolean)},!1),n!=null&&(a.isFunction(n)?r.paramsSerializer={serialize:n}:fe.assertOptions(n,{encode:M.function,serialize:M.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),fe.assertOptions(r,{baseUrl:M.spelling("baseURL"),withXsrfToken:M.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let i=o&&a.merge(o.common,o[r.method]);o&&a.forEach(["delete","get","head","post","put","patch","common"],d=>{delete o[d]}),r.headers=F.concat(i,o);const c=[];let p=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(r)===!1||(p=p&&g.synchronous,c.unshift(g.fulfilled,g.rejected))});const u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let l,m=0,x;if(!p){const d=[at.bind(this),void 0];for(d.unshift(...c),d.push(...u),x=d.length,l=Promise.resolve(r);m<x;)l=l.then(d[m++],d[m++]);return l}x=c.length;let N=r;for(;m<x;){const d=c[m++],g=c[m++];try{N=d(N)}catch(h){g.call(this,h);break}}try{l=at.call(this,N)}catch(d){return Promise.reject(d)}for(m=0,x=u.length;m<x;)l=l.then(u[m++],u[m++]);return l}getUri(t){t=W(this.defaults,t);const r=Ye(t.baseURL,t.url,t.allowAbsoluteUrls);return Me(r,t.params,t.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(t){K.prototype[t]=function(r,s){return this.request(W(s||{},{method:t,url:r,data:(s||{}).data}))}}),a.forEach(["post","put","patch"],function(t){function r(s){return function(o,i,c){return this.request(W(c||{},{method:t,headers:s?{"Content-Type":"multipart/form-data"}:{},url:o,data:i}))}}K.prototype[t]=r(),K.prototype[t+"Form"]=r(!0)});let qr=class _t{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(o){r=o});const s=this;this.promise.then(n=>{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](n);s._listeners=null}),this.promise.then=n=>{let o;const i=new Promise(c=>{s.subscribe(c),o=c}).then(n);return i.cancel=function(){s.unsubscribe(o)},i},t(function(o,i,c){s.reason||(s.reason=new re(o,i,c),r(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const t=new AbortController,r=s=>{t.abort(s)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new _t(function(n){t=n}),cancel:t}}};function zr(e){return function(r){return e.apply(null,r)}}function Jr(e){return a.isObject(e)&&e.isAxiosError===!0}const Te={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Te).forEach(([e,t])=>{Te[t]=e});function ut(e){const t=new K(e),r=Re(K.prototype.request,t);return a.extend(r,K.prototype,t,{allOwnKeys:!0}),a.extend(r,t,null,{allOwnKeys:!0}),r.create=function(n){return ut(W(e,n))},r}const A=ut(ee);A.Axios=K,A.CanceledError=re,A.CancelToken=qr,A.isCancel=We,A.VERSION=ct,A.toFormData=ae,A.AxiosError=w,A.Cancel=A.CanceledError,A.all=function(t){return Promise.all(t)},A.spread=zr,A.isAxiosError=Jr,A.mergeConfig=W,A.AxiosHeaders=F,A.formToJSON=e=>ze(a.isHTMLForm(e)?new FormData(e):e),A.getAdapter=it.getAdapter,A.HttpStatusCode=Te,A.default=A;const{Axios:is,AxiosError:as,CanceledError:cs,isCancel:ls,CancelToken:us,VERSION:ds,all:fs,Cancel:ps,isAxiosError:ms,spread:hs,toFormData:gs,AxiosHeaders:ws,HttpStatusCode:bs,formToJSON:ys,getAdapter:xs,mergeConfig:Es}=A,Wr="https://customers-services.tarxemo.com/api";class dt{constructor(t,r=Wr){xt(this,"client");this.client=A.create({baseURL:r,headers:{"Content-Type":"application/json","X-API-Key":t},timeout:3e4}),this.client.interceptors.response.use(s=>s,s=>{var n,o;if((n=s.response)!=null&&n.data){const c=((o=s.response.data.response)==null?void 0:o.message)||"An unknown error occurred";throw new Error(c)}else throw s.request?new Error("No response from server. Please check your connection."):new Error(s.message||"Request failed")})}async sendMessage(t,r){try{const s=await this.client.post("/chat/",{question:t,session_id:r});if(s.data.response.status!=="success")throw new Error(s.data.response.message);return s.data.data}catch(s){throw s instanceof Error?s:new Error("Failed to send message")}}async getConversationHistory(t){try{const r=await this.client.get(`/chat/history/${t}/`);if(r.data.response.status!=="success")throw new Error(r.data.response.message);return r.data.data}catch(r){throw r instanceof Error?r:new Error("Failed to load conversation history")}}updateApiKey(t){this.client.defaults.headers.common["X-API-Key"]=t}updateBaseUrl(t){this.client.defaults.baseURL=t}}function Ae(e,t){const[r,s]=f.useState(()=>{try{const n=window.localStorage.getItem(e);return n?JSON.parse(n):t}catch(n){return console.warn(`Error reading localStorage key "${e}":`,n),t}});return f.useEffect(()=>{try{window.localStorage.setItem(e,JSON.stringify(r))}catch(n){console.warn(`Error setting localStorage key "${e}":`,n)}},[e,r]),[r,s]}function ft(){return`session_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}const Kr="customer_support_session_id",Vr="customer_support_messages";function pt(e){const{apiKey:t,baseUrl:r,onError:s}=e,[n,o]=Ae(Vr,[]),[i,c]=Ae(Kr,ft()),[p,u]=f.useState(!1),[l,m]=f.useState(null),x=f.useRef(null);f.useEffect(()=>{x.current=new dt(t,r)},[t,r]);const N=f.useCallback(()=>{m(null)},[]),d=f.useCallback(async S=>{if(!x.current){const y=new Error("API client not initialized");m(y),s==null||s(y);return}if(!S.trim())return;const _={id:`user_${Date.now()}`,role:"USER",content:S,timestamp:new Date};o(y=>[...y,_]),u(!0),m(null);try{const y=await x.current.sendMessage(S,i),C={id:`assistant_${Date.now()}`,role:"ASSISTANT",content:y.answer,timestamp:new Date,sources:y.sources};o(L=>[...L,C]),y.session_id!==i&&c(y.session_id)}catch(y){const C=y instanceof Error?y:new Error("Failed to send message");m(C),s==null||s(C);const L={id:`error_${Date.now()}`,role:"ASSISTANT",content:`Sorry, I encountered an error: ${C.message}`,timestamp:new Date};o(P=>[...P,L])}finally{u(!1)}},[i,s,o,c]),g=f.useCallback(async()=>{if(!(!x.current||!i)){u(!0),m(null);try{const _=(await x.current.getConversationHistory(i)).messages.map((y,C)=>({id:`${y.role.toLowerCase()}_${C}_${Date.now()}`,role:y.role.toUpperCase(),content:y.content,timestamp:new Date(y.created_at)}));o(_)}catch(S){const _=S instanceof Error?S:new Error("Failed to load history");m(_),s==null||s(_)}finally{u(!1)}}},[i,s,o]),h=f.useCallback(()=>{o([]),c(ft())},[o,c]),T=f.useCallback(S=>{o(_=>_.filter(y=>y.id!==S))},[o]);return{messages:n,sendMessage:d,isLoading:p,error:l,clearError:N,sessionId:i,loadHistory:g,clearHistory:h,deleteMessage:T}}const mt=({message:e,onDelete:t})=>{const r=e.role.toUpperCase()==="USER",s=e.timestamp instanceof Date?e.timestamp:new Date(e.timestamp);return f.createElement("div",{className:`cs-message ${r?"cs-message--user":"cs-message--assistant"}`},f.createElement("div",{className:"cs-message__content"},f.createElement("p",{className:"cs-message__text"},e.content),e.sources&&e.sources.length>0&&f.createElement("div",{className:"cs-message__sources"},f.createElement("p",{className:"cs-message__sources-title"},"Sources:"),f.createElement("ul",{className:"cs-message__sources-list"},e.sources.map((n,o)=>f.createElement("li",{key:o,className:"cs-message__source-item"},f.createElement("a",{href:n.url,target:"_blank",rel:"noopener noreferrer",className:"cs-message__source-link"},f.createElement(I.ExternalLink,{size:12}),f.createElement("span",null,n.title)),f.createElement("span",{className:"cs-message__source-similarity"},Math.round(n.similarity*100),"% match"))))),t&&f.createElement("button",{className:"cs-message__delete",onClick:()=>{window.confirm("Delete this message?")&&t(e.id)},"aria-label":"Delete message"},f.createElement(I.Trash2,{size:14}))),f.createElement("time",{className:"cs-message__time",dateTime:s.toISOString()},s.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})))},ht=({onSendMessage:e,isLoading:t,placeholder:r="Type your message..."})=>{const[s,n]=f.useState(""),o=c=>{c.preventDefault(),s.trim()&&!t&&(e(s),n(""))},i=c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),o(c))};return f.createElement("form",{className:"cs-input",onSubmit:o},f.createElement("textarea",{className:"cs-input__textarea",value:s,onChange:c=>n(c.target.value),onKeyDown:i,placeholder:r,disabled:t,rows:1,"aria-label":"Message input"}),f.createElement("button",{type:"submit",className:"cs-input__button",disabled:!s.trim()||t,"aria-label":"Send message"},f.createElement(I.Send,{size:20})))},gt=({messages:e,onSendMessage:t,onClose:r,isLoading:s,error:n,placeholder:o,welcomeMessage:i="Hi! How can I help you today?",onDeleteMessage:c,onClearHistory:p})=>{const u=f.useRef(null);return f.useEffect(()=>{var l;(l=u.current)==null||l.scrollIntoView({behavior:"smooth"})},[e]),f.createElement("div",{className:"cs-window"},f.createElement("div",{className:"cs-window__header"},f.createElement("div",{className:"cs-window__header-info"},f.createElement("h3",{className:"cs-window__title"},"Customer Support"),f.createElement("div",{className:"cs-window__status"},f.createElement("span",{className:"cs-window__status-dot"}),f.createElement("span",null,"Online"))),f.createElement("div",{style:{display:"flex",gap:"8px"}},e.length>0&&p&&f.createElement("button",{className:"cs-window__close",onClick:()=>{window.confirm("Are you sure you want to clear the entire chat history?")&&p()},"aria-label":"Clear chat history",title:"Clear chat history"},f.createElement(I.Trash2,{size:18})),f.createElement("button",{className:"cs-window__close",onClick:r,"aria-label":"Close chat"},f.createElement(I.X,{size:20})))),f.createElement("div",{className:"cs-window__messages"},e.length===0&&!s&&f.createElement("div",{className:"cs-window__welcome"},f.createElement("p",null,i)),e.map(l=>f.createElement(mt,{key:l.id,message:l,onDelete:c})),s&&f.createElement("div",{className:"cs-window__typing"},f.createElement(I.Loader2,{size:20,className:"cs-window__typing-icon"}),f.createElement("span",null,"Thinking...")),n&&f.createElement("div",{className:"cs-window__error"},f.createElement("p",null,n.message)),f.createElement("div",{ref:u})),f.createElement("div",{className:"cs-window__input-wrapper"},f.createElement(ht,{onSendMessage:t,isLoading:s,placeholder:o})))},Xr=':root{--cs-primary-color: inherit;--cs-secondary-color: inherit;--cs-bg-color: inherit;--cs-text-color: inherit;--cs-font-family: inherit;--cs-border-radius: 12px;--cs-button-color: var(--cs-primary-color);--cs-user-message-color: var(--cs-primary-color);--cs-assistant-message-color: rgba(0, 0, 0, .05);--cs-header-gradient: linear-gradient(135deg, var(--cs-primary-color), var(--cs-secondary-color));--cs-header-text-color: #ffffff;--cs-bg-text-color: #1a1a1a;--cs-user-text-color: #ffffff;--cs-assistant-text-color: #1a1a1a;--cs-success-color: #4ade80;--cs-error-color: #ef4444;--cs-error-bg-color: rgba(239, 68, 68, .1);--cs-border-color: rgba(0, 0, 0, .1);--cs-shadow-color: rgba(0, 0, 0, .1);--cs-scrollbar-thumb: rgba(0, 0, 0, .2);--cs-scrollbar-track: transparent;--cs-shadow-sm: 0 1px 2px 0 var(--cs-shadow-color);--cs-shadow: 0 4px 6px -1px var(--cs-shadow-color), 0 2px 4px -1px var(--cs-shadow-color);--cs-shadow-lg: 0 10px 15px -3px var(--cs-shadow-color), 0 4px 6px -2px var(--cs-shadow-color);--cs-shadow-xl: 0 20px 25px -5px var(--cs-shadow-color), 0 10px 10px -5px var(--cs-shadow-color)}.cs-widget{position:fixed;z-index:9999;font-family:var(--cs-font-family)}.cs-widget,.cs-widget *{box-sizing:border-box}.cs-widget--bottom-right{bottom:20px;right:20px}.cs-widget--bottom-left{bottom:20px;left:20px}.cs-widget--top-right{top:20px;right:20px}.cs-widget--top-left{top:20px;left:20px}.cs-widget__toggle{position:relative;width:60px;height:60px;border-radius:50%;background:var(--cs-primary-color);border:none;color:#fff;cursor:pointer;box-shadow:var(--cs-shadow-xl);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.cs-widget__toggle:hover{transform:scale(1.1);box-shadow:0 15px 25px -5px var(--cs-focus-ring)}.cs-widget__toggle:active{transform:scale(.95)}.cs-widget__toggle--open{background:var(--cs-error-color)}.cs-widget__badge{position:absolute;top:-5px;right:-5px;background:var(--cs-error-color);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;box-shadow:var(--cs-shadow)}.cs-window{position:absolute;bottom:85px;right:0;width:380px;max-width:calc(100vw - 40px);height:600px;max-height:calc(100vh - 130px);background:var(--cs-bg-color);border-radius:var(--cs-border-radius);border:1px solid rgba(0,0,0,.1);box-shadow:var(--cs-shadow-xl);display:flex;flex-direction:column;overflow:visible;animation:slideUp .3s cubic-bezier(.4,0,.2,1);transform-origin:bottom right}.cs-window:after{content:"";position:absolute;bottom:-10px;right:25px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--cs-bg-color);filter:drop-shadow(0 5px 5px var(--cs-shadow-color))}.cs-widget--bottom-left .cs-window{transform-origin:bottom left;right:auto;left:0}.cs-widget--bottom-left .cs-window:after{right:auto;left:25px}.cs-widget--top-right .cs-window{transform-origin:top right;bottom:auto;top:85px}.cs-widget--top-right .cs-window:after{bottom:auto;top:-10px;border-top:none;border-bottom:10px solid var(--cs-bg-color)}.cs-widget--top-left .cs-window{transform-origin:top left;bottom:auto;top:85px;right:auto;left:0}.cs-widget--top-left .cs-window:after{bottom:auto;top:-10px;border-top:none;border-bottom:10px solid var(--cs-bg-color);right:auto;left:25px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cs-window__header{background:var(--cs-header-gradient);color:var(--cs-header-text-color);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.cs-window__header-info{display:flex;flex-direction:column;gap:2px}.cs-window__title{margin:0;font-size:16px;font-weight:600}.cs-window__status{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.9}.cs-window__status-dot{width:8px;height:8px;background:var(--cs-success-color);border-radius:50%;box-shadow:0 0 0 2px var(--cs-bg-color)}.cs-window__close{background:transparent;border:none;color:var(--cs-header-text-color);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.cs-window__close:hover{background:var(--cs-shadow-color)}.cs-window__messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;display:flex;flex-direction:column;gap:16px;background:var(--cs-bg-color);color:var(--cs-bg-text-color)}.cs-window__messages::-webkit-scrollbar{width:6px}.cs-window__messages::-webkit-scrollbar-track{background:transparent}.cs-window__messages::-webkit-scrollbar-thumb{background:var(--cs-scrollbar-thumb);border-radius:3px}.cs-window__messages::-webkit-scrollbar-thumb:hover{background:var(--cs-border-color)}.cs-window__welcome{text-align:center;padding:40px 20px;color:var(--cs-bg-text-color);opacity:.7}.cs-window__welcome p{margin:0;font-size:16px}.cs-window__typing{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--cs-assistant-message-color);border-radius:var(--cs-border-radius);width:fit-content;color:var(--cs-text-color)}.cs-window__typing-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cs-window__error{background:var(--cs-error-bg-color);border:1px solid var(--cs-error-color);color:var(--cs-error-color);padding:12px 16px;border-radius:var(--cs-border-radius)}.cs-window__error p{margin:0}.cs-message{display:flex;flex-direction:column;gap:6px;max-width:85%;min-width:0;animation:fadeIn .3s ease-in-out;position:relative;group:"message"}.cs-message:hover .cs-message__delete{opacity:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cs-message--user{align-self:flex-end;align-items:flex-end}.cs-message--assistant{align-self:flex-start;align-items:flex-start}.cs-message__content{background:var(--cs-assistant-message-color);padding:12px 16px;border-radius:var(--cs-border-radius);border-bottom-left-radius:4px;color:var(--cs-assistant-text-color);word-wrap:break-word;box-shadow:var(--cs-shadow-sm);min-width:0;max-width:100%}.cs-message--user .cs-message__content{background:var(--cs-user-message-color);color:var(--cs-user-text-color);border-radius:var(--cs-border-radius);border-bottom-right-radius:4px}.cs-message__text{margin:0;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.cs-message__time{font-size:11px;color:var(--cs-bg-text-color);opacity:.5;padding:0 4px}.cs-message__sources{margin-top:12px;padding-top:12px;border-top:1px solid var(--cs-border-color)}.cs-message__sources-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--cs-bg-text-color);opacity:.7}.cs-message__sources-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.cs-message__source-item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.cs-message__source-link{display:flex;align-items:center;gap:4px;color:var(--cs-primary-color);text-decoration:none;flex:1;min-width:0}.cs-message__source-link:hover{text-decoration:underline}.cs-message__source-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.cs-message__source-similarity{color:#6b7280;font-size:11px;white-space:nowrap}.cs-message__delete{position:absolute;top:50%;transform:translateY(-50%);background:var(--cs-bg-color);border:1px solid var(--cs-border-color);color:var(--cs-error-color);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s;box-shadow:var(--cs-shadow-sm);z-index:10}.cs-message__delete:hover{background:var(--cs-error-color);color:#fff;transform:translateY(-50%) scale(1.1)}.cs-message--user .cs-message__delete{left:-32px}.cs-message--assistant .cs-message__delete{right:-32px}.cs-window__input-wrapper{padding:16px;background:var(--cs-bg-color);border-top:1px solid var(--cs-border-color);flex-shrink:0}.cs-input{display:flex;gap:8px;align-items:flex-end}.cs-input__textarea{flex:1;padding:12px 16px;border:1px solid var(--cs-border-color);border-radius:var(--cs-border-radius);font-family:var(--cs-font-family);font-size:14px;resize:none;max-height:120px;min-height:44px;transition:border-color .2s;background:var(--cs-bg-color);color:var(--cs-bg-text-color)}.cs-input__textarea:focus{outline:none;border-color:var(--cs-primary-color);box-shadow:0 0 0 3px var(--cs-focus-ring);background-color:var(--cs-bg-color)}.cs-input__textarea:disabled{background:var(--cs-border-color);cursor:not-allowed;opacity:.5}.cs-input__button{background:var(--cs-button-color);color:var(--cs-header-text-color);border:none;width:44px;height:44px;border-radius:var(--cs-border-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.cs-input__button:hover:not(:disabled){background:var(--cs-secondary-color);transform:scale(1.05)}.cs-input__button:active:not(:disabled){transform:scale(.95)}.cs-input__button:disabled{background:var(--cs-border-color);cursor:not-allowed;opacity:.5}@media(max-width:480px){.cs-widget--open{position:fixed!important;inset:auto!important;bottom:20px!important;right:20px!important;width:auto!important;height:auto!important;z-index:10000!important}.cs-window{position:fixed!important;width:88vw!important;height:60vh!important;max-width:400px!important;max-height:500px!important;bottom:90px!important;right:5%!important;left:5%!important;top:auto!important;border-radius:var(--cs-border-radius)!important;box-shadow:var(--cs-shadow-xl)!important;display:flex!important;flex-direction:column!important;animation:slideUp .3s ease-out!important;overflow:visible!important}.cs-widget--open .cs-widget__toggle{display:flex!important;opacity:.8}.cs-window__messages{padding:16px}.cs-window__header{padding:12px 16px}.cs-window__input-wrapper{padding:12px}.cs-widget__toggle{width:50px;height:50px}}',Yr=({apiKey:e,baseUrl:t,theme:r,position:s="bottom-right",welcomeMessage:n,placeholder:o,className:i="",onError:c,onMessageSent:p,onMessageReceived:u})=>{const[l,m]=f.useState(!1),{messages:x,sendMessage:N,isLoading:d,error:g,clearError:h,deleteMessage:T,clearHistory:S}=pt({apiKey:e,baseUrl:t,onError:c}),_=b=>{if(!b)return"#ffffff";let O,D,v;if(b.startsWith("#")){const E=b.slice(1);O=parseInt(E.substring(0,2),16),D=parseInt(E.substring(2,4),16),v=parseInt(E.substring(4,6),16)}else if(b.startsWith("rgb")){const E=b.match(/\d+/g);if(E&&E.length>=3)O=parseInt(E[0]),D=parseInt(E[1]),v=parseInt(E[2]);else return"#ffffff"}else return"#ffffff";return(.299*O+.587*D+.114*v)/255>.6?"#1a1a1a":"#ffffff"},y=(b,O)=>{if(!b)return`rgba(0, 0, 0, ${O})`;let D=0,v=0,B=0;if(b.startsWith("#")){const E=b.slice(1);E.length===3?(D=parseInt(E[0]+E[0],16),v=parseInt(E[1]+E[1],16),B=parseInt(E[2]+E[2],16)):(D=parseInt(E.substring(0,2),16),v=parseInt(E.substring(2,4),16),B=parseInt(E.substring(4,6),16))}else if(b.startsWith("rgb")){const E=b.match(/\d+/g);E&&E.length>=3&&(D=parseInt(E[0]),v=parseInt(E[1]),B=parseInt(E[2]))}return`rgba(${D}, ${v}, ${B}, ${O})`},C=f.useMemo(()=>{const b={},O=(r==null?void 0:r.primaryColor)||"#6366f1",D=(r==null?void 0:r.backgroundColor)||"#ffffff",v=(r==null?void 0:r.textColor)||(_(D)==="#ffffff"?"#ffffff":"#1f2937"),B=(r==null?void 0:r.successColor)||"#4ade80",E=(r==null?void 0:r.errorColor)||"#ef4444",H=(r==null?void 0:r.borderColor)||y(v,.1),pe=(r==null?void 0:r.shadowColor)||"rgba(0, 0, 0, 0.1)";b["--cs-primary-color"]=O,b["--cs-secondary-color"]=(r==null?void 0:r.secondaryColor)||O,b["--cs-bg-color"]=D,b["--cs-text-color"]=v,b["--cs-font-family"]=(r==null?void 0:r.fontFamily)||"inherit",b["--cs-border-radius"]=(r==null?void 0:r.borderRadius)||"12px",b["--cs-success-color"]=B,b["--cs-error-color"]=E,b["--cs-error-bg-color"]=y(E,.1),b["--cs-border-color"]=H,b["--cs-shadow-color"]=pe,b["--cs-scrollbar-thumb"]=y(v,.2),b["--cs-scrollbar-track"]="transparent",b["--cs-header-text-color"]=_(O),b["--cs-bg-text-color"]=v,b["--cs-button-color"]=(r==null?void 0:r.buttonColor)||O,b["--cs-user-message-color"]=(r==null?void 0:r.userMessageColor)||O,b["--cs-user-text-color"]=_((r==null?void 0:r.userMessageColor)||O);const j=_(D)==="#ffffff";return b["--cs-assistant-message-color"]=(r==null?void 0:r.assistantMessageColor)||(j?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.05)"),b["--cs-assistant-text-color"]=v,b["--cs-focus-ring"]=y(O,.2),b},[r]),L=async b=>{if(p==null||p(b),await N(b),!g){const O=x[x.length-1];(O==null?void 0:O.role)==="ASSISTANT"&&(u==null||u(O.content))}},P=()=>{m(!l),g&&h()};return f.createElement("div",{className:`cs-widget cs-widget--${s} ${l?"cs-widget--open":""} ${i}`,style:C},f.createElement("style",{dangerouslySetInnerHTML:{__html:Xr}}),l&&f.createElement(gt,{messages:x,onSendMessage:L,onClose:()=>m(!1),isLoading:d,error:g,placeholder:o,welcomeMessage:n,onDeleteMessage:T,onClearHistory:S}),f.createElement("button",{className:`cs-widget__toggle ${l?"cs-widget__toggle--open":""}`,onClick:P,"aria-label":l?"Close chat":"Open chat","aria-expanded":l},f.createElement(I.MessageCircle,{size:24}),!l&&x.length>0&&f.createElement("span",{className:"cs-widget__badge"},x.filter(b=>b.role.toUpperCase()==="ASSISTANT").length)))};R.ChatInput=ht,R.ChatMessage=mt,R.ChatWindow=gt,R.CustomerSupportAPIClient=dt,R.CustomerSupportWidget=Yr,R.useCustomerSupport=pt,R.useLocalStorage=Ae,Object.defineProperty(R,Symbol.toStringTag,{value:"Module"})}));
6
+ `+o):s.stack=o}catch{}}throw s}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=W(this.defaults,r);const{transitional:s,paramsSerializer:n,headers:o}=r;s!==void 0&&fe.assertOptions(s,{silentJSONParsing:M.transitional(M.boolean),forcedJSONParsing:M.transitional(M.boolean),clarifyTimeoutError:M.transitional(M.boolean)},!1),n!=null&&(a.isFunction(n)?r.paramsSerializer={serialize:n}:fe.assertOptions(n,{encode:M.function,serialize:M.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),fe.assertOptions(r,{baseUrl:M.spelling("baseURL"),withXsrfToken:M.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let i=o&&a.merge(o.common,o[r.method]);o&&a.forEach(["delete","get","head","post","put","patch","common"],d=>{delete o[d]}),r.headers=F.concat(i,o);const c=[];let p=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(r)===!1||(p=p&&g.synchronous,c.unshift(g.fulfilled,g.rejected))});const u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let l,m=0,x;if(!p){const d=[at.bind(this),void 0];for(d.unshift(...c),d.push(...u),x=d.length,l=Promise.resolve(r);m<x;)l=l.then(d[m++],d[m++]);return l}x=c.length;let N=r;for(;m<x;){const d=c[m++],g=c[m++];try{N=d(N)}catch(h){g.call(this,h);break}}try{l=at.call(this,N)}catch(d){return Promise.reject(d)}for(m=0,x=u.length;m<x;)l=l.then(u[m++],u[m++]);return l}getUri(t){t=W(this.defaults,t);const r=Ye(t.baseURL,t.url,t.allowAbsoluteUrls);return Me(r,t.params,t.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(t){K.prototype[t]=function(r,s){return this.request(W(s||{},{method:t,url:r,data:(s||{}).data}))}}),a.forEach(["post","put","patch"],function(t){function r(s){return function(o,i,c){return this.request(W(c||{},{method:t,headers:s?{"Content-Type":"multipart/form-data"}:{},url:o,data:i}))}}K.prototype[t]=r(),K.prototype[t+"Form"]=r(!0)});let qr=class _t{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(o){r=o});const s=this;this.promise.then(n=>{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](n);s._listeners=null}),this.promise.then=n=>{let o;const i=new Promise(c=>{s.subscribe(c),o=c}).then(n);return i.cancel=function(){s.unsubscribe(o)},i},t(function(o,i,c){s.reason||(s.reason=new re(o,i,c),r(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const t=new AbortController,r=s=>{t.abort(s)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new _t(function(n){t=n}),cancel:t}}};function zr(e){return function(r){return e.apply(null,r)}}function Jr(e){return a.isObject(e)&&e.isAxiosError===!0}const Te={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Te).forEach(([e,t])=>{Te[t]=e});function ut(e){const t=new K(e),r=Re(K.prototype.request,t);return a.extend(r,K.prototype,t,{allOwnKeys:!0}),a.extend(r,t,null,{allOwnKeys:!0}),r.create=function(n){return ut(W(e,n))},r}const A=ut(ee);A.Axios=K,A.CanceledError=re,A.CancelToken=qr,A.isCancel=We,A.VERSION=ct,A.toFormData=ae,A.AxiosError=w,A.Cancel=A.CanceledError,A.all=function(t){return Promise.all(t)},A.spread=zr,A.isAxiosError=Jr,A.mergeConfig=W,A.AxiosHeaders=F,A.formToJSON=e=>ze(a.isHTMLForm(e)?new FormData(e):e),A.getAdapter=it.getAdapter,A.HttpStatusCode=Te,A.default=A;const{Axios:is,AxiosError:as,CanceledError:cs,isCancel:ls,CancelToken:us,VERSION:ds,all:fs,Cancel:ps,isAxiosError:ms,spread:hs,toFormData:gs,AxiosHeaders:ws,HttpStatusCode:bs,formToJSON:ys,getAdapter:xs,mergeConfig:Es}=A,Wr="https://customers-services.tarxemo.com/api";class dt{constructor(t,r=Wr){xt(this,"client");this.client=A.create({baseURL:r,headers:{"Content-Type":"application/json","X-API-Key":t},timeout:3e4}),this.client.interceptors.response.use(s=>s,s=>{var n,o;if((n=s.response)!=null&&n.data){const c=((o=s.response.data.response)==null?void 0:o.message)||"An unknown error occurred";throw new Error(c)}else throw s.request?new Error("No response from server. Please check your connection."):new Error(s.message||"Request failed")})}async sendMessage(t,r){try{const s=await this.client.post("/chat/",{question:t,session_id:r});if(s.data.response.status!=="success")throw new Error(s.data.response.message);return s.data.data}catch(s){throw s instanceof Error?s:new Error("Failed to send message")}}async getConversationHistory(t){try{const r=await this.client.get(`/chat/history/${t}/`);if(r.data.response.status!=="success")throw new Error(r.data.response.message);return r.data.data}catch(r){throw r instanceof Error?r:new Error("Failed to load conversation history")}}updateApiKey(t){this.client.defaults.headers.common["X-API-Key"]=t}updateBaseUrl(t){this.client.defaults.baseURL=t}}function Ae(e,t){const[r,s]=f.useState(()=>{try{const n=window.localStorage.getItem(e);return n?JSON.parse(n):t}catch(n){return console.warn(`Error reading localStorage key "${e}":`,n),t}});return f.useEffect(()=>{try{window.localStorage.setItem(e,JSON.stringify(r))}catch(n){console.warn(`Error setting localStorage key "${e}":`,n)}},[e,r]),[r,s]}function ft(){return`session_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}const Kr="customer_support_session_id",Vr="customer_support_messages";function pt(e){const{apiKey:t,baseUrl:r,onError:s}=e,[n,o]=Ae(Vr,[]),[i,c]=Ae(Kr,ft()),[p,u]=f.useState(!1),[l,m]=f.useState(null),x=f.useRef(null);f.useEffect(()=>{x.current=new dt(t,r)},[t,r]);const N=f.useCallback(()=>{m(null)},[]),d=f.useCallback(async S=>{if(!x.current){const y=new Error("API client not initialized");m(y),s==null||s(y);return}if(!S.trim())return;const _={id:`user_${Date.now()}`,role:"USER",content:S,timestamp:new Date};o(y=>[...y,_]),u(!0),m(null);try{const y=await x.current.sendMessage(S,i),C={id:`assistant_${Date.now()}`,role:"ASSISTANT",content:y.answer,timestamp:new Date,sources:y.sources};o(L=>[...L,C]),y.session_id!==i&&c(y.session_id)}catch(y){const C=y instanceof Error?y:new Error("Failed to send message");m(C),s==null||s(C);const L={id:`error_${Date.now()}`,role:"ASSISTANT",content:`Sorry, I encountered an error: ${C.message}`,timestamp:new Date};o(P=>[...P,L])}finally{u(!1)}},[i,s,o,c]),g=f.useCallback(async()=>{if(!(!x.current||!i)){u(!0),m(null);try{const _=(await x.current.getConversationHistory(i)).messages.map((y,C)=>({id:`${y.role.toLowerCase()}_${C}_${Date.now()}`,role:y.role.toUpperCase(),content:y.content,timestamp:new Date(y.created_at)}));o(_)}catch(S){const _=S instanceof Error?S:new Error("Failed to load history");m(_),s==null||s(_)}finally{u(!1)}}},[i,s,o]),h=f.useCallback(()=>{o([]),c(ft())},[o,c]),T=f.useCallback(S=>{o(_=>_.filter(y=>y.id!==S))},[o]);return{messages:n,sendMessage:d,isLoading:p,error:l,clearError:N,sessionId:i,loadHistory:g,clearHistory:h,deleteMessage:T}}const mt=({message:e,onDelete:t})=>{const r=e.role.toUpperCase()==="USER",s=e.timestamp instanceof Date?e.timestamp:new Date(e.timestamp);return f.createElement("div",{className:`cs-message ${r?"cs-message--user":"cs-message--assistant"}`},f.createElement("div",{className:"cs-message__content"},f.createElement("p",{className:"cs-message__text"},e.content),e.sources&&e.sources.length>0&&f.createElement("div",{className:"cs-message__sources"},f.createElement("p",{className:"cs-message__sources-title"},"Sources:"),f.createElement("ul",{className:"cs-message__sources-list"},e.sources.map((n,o)=>f.createElement("li",{key:o,className:"cs-message__source-item"},f.createElement("a",{href:n.url,target:"_blank",rel:"noopener noreferrer",className:"cs-message__source-link"},f.createElement(I.ExternalLink,{size:12}),f.createElement("span",null,n.title)),f.createElement("span",{className:"cs-message__source-similarity"},Math.round(n.similarity*100),"% match"))))),t&&f.createElement("button",{className:"cs-message__delete",onClick:()=>{window.confirm("Delete this message?")&&t(e.id)},"aria-label":"Delete message"},f.createElement(I.Trash2,{size:14}))),f.createElement("time",{className:"cs-message__time",dateTime:s.toISOString()},s.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})))},ht=({onSendMessage:e,isLoading:t,placeholder:r="Type your message..."})=>{const[s,n]=f.useState(""),o=c=>{c.preventDefault(),s.trim()&&!t&&(e(s),n(""))},i=c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),o(c))};return f.createElement("form",{className:"cs-input",onSubmit:o},f.createElement("textarea",{className:"cs-input__textarea",value:s,onChange:c=>n(c.target.value),onKeyDown:i,placeholder:r,disabled:t,rows:1,"aria-label":"Message input"}),f.createElement("button",{type:"submit",className:"cs-input__button",disabled:!s.trim()||t,"aria-label":"Send message"},f.createElement(I.Send,{size:20})))},gt=({messages:e,onSendMessage:t,onClose:r,isLoading:s,error:n,placeholder:o,welcomeMessage:i="Hi! How can I help you today?",onDeleteMessage:c,onClearHistory:p})=>{const u=f.useRef(null);return f.useEffect(()=>{var l;(l=u.current)==null||l.scrollIntoView({behavior:"smooth"})},[e]),f.createElement("div",{className:"cs-window"},f.createElement("div",{className:"cs-window__header"},f.createElement("div",{className:"cs-window__header-info"},f.createElement("h3",{className:"cs-window__title text-gray-900"},"Customer Support"),f.createElement("div",{className:"cs-window__status"},f.createElement("span",{className:"cs-window__status-dot"}),f.createElement("span",{className:"text-gray-900"},"Online"))),f.createElement("div",{style:{display:"flex",gap:"8px"}},e.length>0&&p&&f.createElement("button",{className:"cs-window__close text-red-500",onClick:()=>{window.confirm("Are you sure you want to clear the entire chat history?")&&p()},"aria-label":"Clear chat history",title:"Clear chat history"},f.createElement(I.Trash2,{size:18})),f.createElement("button",{className:"cs-window__close",onClick:r,"aria-label":"Close chat"},f.createElement(I.X,{size:20})))),f.createElement("div",{className:"cs-window__messages"},e.length===0&&!s&&f.createElement("div",{className:"cs-window__welcome"},f.createElement("p",null,i)),e.map(l=>f.createElement(mt,{key:l.id,message:l,onDelete:c})),s&&f.createElement("div",{className:"cs-window__typing"},f.createElement(I.Loader2,{size:20,className:"cs-window__typing-icon"}),f.createElement("span",null,"Thinking...")),n&&f.createElement("div",{className:"cs-window__error"},f.createElement("p",null,n.message)),f.createElement("div",{ref:u})),f.createElement("div",{className:"cs-window__input-wrapper"},f.createElement(ht,{onSendMessage:t,isLoading:s,placeholder:o})))},Xr=':root{--cs-primary-color: inherit;--cs-secondary-color: inherit;--cs-bg-color: inherit;--cs-text-color: inherit;--cs-font-family: inherit;--cs-border-radius: 12px;--cs-button-color: var(--cs-primary-color);--cs-user-message-color: var(--cs-primary-color);--cs-assistant-message-color: rgba(0, 0, 0, .05);--cs-header-gradient: linear-gradient(135deg, var(--cs-primary-color), var(--cs-secondary-color));--cs-header-text-color: #ffffff;--cs-bg-text-color: #1a1a1a;--cs-user-text-color: #ffffff;--cs-assistant-text-color: #1a1a1a;--cs-success-color: #4ade80;--cs-error-color: #ef4444;--cs-error-bg-color: rgba(239, 68, 68, .1);--cs-border-color: rgba(0, 0, 0, .1);--cs-shadow-color: rgba(0, 0, 0, .1);--cs-scrollbar-thumb: rgba(0, 0, 0, .2);--cs-scrollbar-track: transparent;--cs-shadow-sm: 0 1px 2px 0 var(--cs-shadow-color);--cs-shadow: 0 4px 6px -1px var(--cs-shadow-color), 0 2px 4px -1px var(--cs-shadow-color);--cs-shadow-lg: 0 10px 15px -3px var(--cs-shadow-color), 0 4px 6px -2px var(--cs-shadow-color);--cs-shadow-xl: 0 20px 25px -5px var(--cs-shadow-color), 0 10px 10px -5px var(--cs-shadow-color)}.cs-widget{position:fixed;z-index:9999;font-family:var(--cs-font-family)}.cs-widget,.cs-widget *{box-sizing:border-box}.cs-widget--bottom-right{bottom:20px;right:20px}.cs-widget--bottom-left{bottom:20px;left:20px}.cs-widget--top-right{top:20px;right:20px}.cs-widget--top-left{top:20px;left:20px}.cs-widget__toggle{position:relative;width:60px;height:60px;border-radius:50%;background:var(--cs-primary-color);border:none;color:#fff;cursor:pointer;box-shadow:var(--cs-shadow-xl);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.cs-widget__toggle:hover{transform:scale(1.1);box-shadow:0 15px 25px -5px var(--cs-focus-ring)}.cs-widget__toggle:active{transform:scale(.95)}.cs-widget__toggle--open{background:var(--cs-error-color)}.cs-widget__badge{position:absolute;top:-5px;right:-5px;background:var(--cs-error-color);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;box-shadow:var(--cs-shadow)}.cs-window{position:absolute;bottom:85px;right:0;width:380px;max-width:calc(100vw - 40px);height:600px;max-height:calc(100vh - 130px);background:var(--cs-bg-color);border-radius:var(--cs-border-radius);border:1px solid rgba(0,0,0,.1);box-shadow:var(--cs-shadow-xl);display:flex;flex-direction:column;overflow:visible;animation:slideUp .3s cubic-bezier(.4,0,.2,1);transform-origin:bottom right}.cs-window:after{content:"";position:absolute;bottom:-10px;right:25px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--cs-bg-color);filter:drop-shadow(0 5px 5px var(--cs-shadow-color))}.cs-widget--bottom-left .cs-window{transform-origin:bottom left;right:auto;left:0}.cs-widget--bottom-left .cs-window:after{right:auto;left:25px}.cs-widget--top-right .cs-window{transform-origin:top right;bottom:auto;top:85px}.cs-widget--top-right .cs-window:after{bottom:auto;top:-10px;border-top:none;border-bottom:10px solid var(--cs-bg-color)}.cs-widget--top-left .cs-window{transform-origin:top left;bottom:auto;top:85px;right:auto;left:0}.cs-widget--top-left .cs-window:after{bottom:auto;top:-10px;border-top:none;border-bottom:10px solid var(--cs-bg-color);right:auto;left:25px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cs-window__header{background:var(--cs-header-gradient);color:var(--cs-header-text-color);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.cs-window__header-info{display:flex;flex-direction:column;gap:2px}.cs-window__title{margin:0;font-size:16px;font-weight:600}.cs-window__status{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.9}.cs-window__status-dot{width:8px;height:8px;background:var(--cs-success-color);border-radius:50%;box-shadow:0 0 0 2px var(--cs-bg-color)}.cs-window__close{background:transparent;border:none;color:var(--cs-header-text-color);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.cs-window__close:hover{background:var(--cs-shadow-color)}.cs-window__messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;display:flex;flex-direction:column;gap:16px;background:var(--cs-bg-color);color:var(--cs-bg-text-color)}.cs-window__messages::-webkit-scrollbar{width:6px}.cs-window__messages::-webkit-scrollbar-track{background:transparent}.cs-window__messages::-webkit-scrollbar-thumb{background:var(--cs-scrollbar-thumb);border-radius:3px}.cs-window__messages::-webkit-scrollbar-thumb:hover{background:var(--cs-border-color)}.cs-window__welcome{text-align:center;padding:40px 20px;color:var(--cs-bg-text-color);opacity:.7}.cs-window__welcome p{margin:0;font-size:16px}.cs-window__typing{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--cs-assistant-message-color);border-radius:var(--cs-border-radius);width:fit-content;color:var(--cs-text-color)}.cs-window__typing-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cs-window__error{background:var(--cs-error-bg-color);border:1px solid var(--cs-error-color);color:var(--cs-error-color);padding:12px 16px;border-radius:var(--cs-border-radius)}.cs-window__error p{margin:0}.cs-message{display:flex;flex-direction:column;gap:6px;max-width:85%;min-width:0;animation:fadeIn .3s ease-in-out;position:relative;group:"message"}.cs-message:hover .cs-message__delete{opacity:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cs-message--user{align-self:flex-end;align-items:flex-end}.cs-message--assistant{align-self:flex-start;align-items:flex-start}.cs-message__content{background:var(--cs-assistant-message-color);padding:12px 16px;border-radius:var(--cs-border-radius);border-bottom-left-radius:4px;color:var(--cs-assistant-text-color);word-wrap:break-word;box-shadow:var(--cs-shadow-sm);min-width:0;max-width:100%}.cs-message--user .cs-message__content{background:var(--cs-user-message-color);color:var(--cs-user-text-color);border-radius:var(--cs-border-radius);border-bottom-right-radius:4px}.cs-message__text{margin:0;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.cs-message__time{font-size:11px;color:var(--cs-bg-text-color);opacity:.5;padding:0 4px}.cs-message__sources{margin-top:12px;padding-top:12px;border-top:1px solid var(--cs-border-color)}.cs-message__sources-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--cs-bg-text-color);opacity:.7}.cs-message__sources-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.cs-message__source-item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.cs-message__source-link{display:flex;align-items:center;gap:4px;color:var(--cs-primary-color);text-decoration:none;flex:1;min-width:0}.cs-message__source-link:hover{text-decoration:underline}.cs-message__source-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.cs-message__source-similarity{color:#6b7280;font-size:11px;white-space:nowrap}.cs-message__delete{position:absolute;top:50%;transform:translateY(-50%);background:var(--cs-bg-color);border:1px solid var(--cs-border-color);color:var(--cs-error-color);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s;box-shadow:var(--cs-shadow-sm);z-index:10}.cs-message__delete:hover{background:var(--cs-error-color);color:#fff;transform:translateY(-50%) scale(1.1)}.cs-message--user .cs-message__delete{left:-32px}.cs-message--assistant .cs-message__delete{right:-32px}.cs-window__input-wrapper{padding:16px;background:var(--cs-bg-color);border-top:1px solid var(--cs-border-color);flex-shrink:0}.cs-input{display:flex;gap:8px;align-items:flex-end}.cs-input__textarea{flex:1;padding:12px 16px;border:1px solid var(--cs-border-color);border-radius:var(--cs-border-radius);font-family:var(--cs-font-family);font-size:14px;resize:none;max-height:120px;min-height:44px;transition:border-color .2s;background:var(--cs-bg-color);color:var(--cs-bg-text-color)}.cs-input__textarea:focus{outline:none;border-color:var(--cs-primary-color);box-shadow:0 0 0 3px var(--cs-focus-ring);background-color:var(--cs-bg-color)}.cs-input__textarea:disabled{background:var(--cs-border-color);cursor:not-allowed;opacity:.5}.cs-input__button{background:var(--cs-button-color);color:var(--cs-header-text-color);border:none;width:44px;height:44px;border-radius:var(--cs-border-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.cs-input__button:hover:not(:disabled){background:var(--cs-secondary-color);transform:scale(1.05)}.cs-input__button:active:not(:disabled){transform:scale(.95)}.cs-input__button:disabled{background:var(--cs-border-color);cursor:not-allowed;opacity:.5}@media(max-width:480px){.cs-widget--open{position:fixed!important;inset:auto!important;bottom:20px!important;right:20px!important;width:auto!important;height:auto!important;z-index:10000!important}.cs-window{position:fixed!important;width:88vw!important;height:60vh!important;max-width:400px!important;max-height:500px!important;bottom:90px!important;right:5%!important;left:5%!important;top:auto!important;border-radius:var(--cs-border-radius)!important;box-shadow:var(--cs-shadow-xl)!important;display:flex!important;flex-direction:column!important;animation:slideUp .3s ease-out!important;overflow:visible!important}.cs-widget--open .cs-widget__toggle{display:flex!important;opacity:.8}.cs-window__messages{padding:16px}.cs-window__header{padding:12px 16px}.cs-window__input-wrapper{padding:12px}.cs-widget__toggle{width:50px;height:50px}}',Yr=({apiKey:e,baseUrl:t,theme:r,position:s="bottom-right",welcomeMessage:n,placeholder:o,className:i="",onError:c,onMessageSent:p,onMessageReceived:u})=>{const[l,m]=f.useState(!1),{messages:x,sendMessage:N,isLoading:d,error:g,clearError:h,deleteMessage:T,clearHistory:S}=pt({apiKey:e,baseUrl:t,onError:c}),_=b=>{if(!b)return"#ffffff";let O,D,v;if(b.startsWith("#")){const E=b.slice(1);O=parseInt(E.substring(0,2),16),D=parseInt(E.substring(2,4),16),v=parseInt(E.substring(4,6),16)}else if(b.startsWith("rgb")){const E=b.match(/\d+/g);if(E&&E.length>=3)O=parseInt(E[0]),D=parseInt(E[1]),v=parseInt(E[2]);else return"#ffffff"}else return"#ffffff";return(.299*O+.587*D+.114*v)/255>.6?"#1a1a1a":"#ffffff"},y=(b,O)=>{if(!b)return`rgba(0, 0, 0, ${O})`;let D=0,v=0,B=0;if(b.startsWith("#")){const E=b.slice(1);E.length===3?(D=parseInt(E[0]+E[0],16),v=parseInt(E[1]+E[1],16),B=parseInt(E[2]+E[2],16)):(D=parseInt(E.substring(0,2),16),v=parseInt(E.substring(2,4),16),B=parseInt(E.substring(4,6),16))}else if(b.startsWith("rgb")){const E=b.match(/\d+/g);E&&E.length>=3&&(D=parseInt(E[0]),v=parseInt(E[1]),B=parseInt(E[2]))}return`rgba(${D}, ${v}, ${B}, ${O})`},C=f.useMemo(()=>{const b={},O=(r==null?void 0:r.primaryColor)||"#6366f1",D=(r==null?void 0:r.backgroundColor)||"#ffffff",v=(r==null?void 0:r.textColor)||(_(D)==="#ffffff"?"#ffffff":"#1f2937"),B=(r==null?void 0:r.successColor)||"#4ade80",E=(r==null?void 0:r.errorColor)||"#ef4444",H=(r==null?void 0:r.borderColor)||y(v,.1),pe=(r==null?void 0:r.shadowColor)||"rgba(0, 0, 0, 0.1)";b["--cs-primary-color"]=O,b["--cs-secondary-color"]=(r==null?void 0:r.secondaryColor)||O,b["--cs-bg-color"]=D,b["--cs-text-color"]=v,b["--cs-font-family"]=(r==null?void 0:r.fontFamily)||"inherit",b["--cs-border-radius"]=(r==null?void 0:r.borderRadius)||"12px",b["--cs-success-color"]=B,b["--cs-error-color"]=E,b["--cs-error-bg-color"]=y(E,.1),b["--cs-border-color"]=H,b["--cs-shadow-color"]=pe,b["--cs-scrollbar-thumb"]=y(v,.2),b["--cs-scrollbar-track"]="transparent",b["--cs-header-text-color"]=_(O),b["--cs-bg-text-color"]=v,b["--cs-button-color"]=(r==null?void 0:r.buttonColor)||O,b["--cs-user-message-color"]=(r==null?void 0:r.userMessageColor)||O,b["--cs-user-text-color"]=_((r==null?void 0:r.userMessageColor)||O);const j=_(D)==="#ffffff";return b["--cs-assistant-message-color"]=(r==null?void 0:r.assistantMessageColor)||(j?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.05)"),b["--cs-assistant-text-color"]=v,b["--cs-focus-ring"]=y(O,.2),b},[r]),L=async b=>{if(p==null||p(b),await N(b),!g){const O=x[x.length-1];(O==null?void 0:O.role)==="ASSISTANT"&&(u==null||u(O.content))}},P=()=>{m(!l),g&&h()};return f.createElement("div",{className:`cs-widget cs-widget--${s} ${l?"cs-widget--open":""} ${i}`,style:C},f.createElement("style",{dangerouslySetInnerHTML:{__html:Xr}}),l&&f.createElement(gt,{messages:x,onSendMessage:L,onClose:()=>m(!1),isLoading:d,error:g,placeholder:o,welcomeMessage:n,onDeleteMessage:T,onClearHistory:S}),f.createElement("button",{className:`cs-widget__toggle ${l?"cs-widget__toggle--open":""}`,onClick:P,"aria-label":l?"Close chat":"Open chat","aria-expanded":l},f.createElement(I.MessageCircle,{size:24}),!l&&x.length>0&&f.createElement("span",{className:"cs-widget__badge"},x.filter(b=>b.role.toUpperCase()==="ASSISTANT").length)))};R.ChatInput=ht,R.ChatMessage=mt,R.ChatWindow=gt,R.CustomerSupportAPIClient=dt,R.CustomerSupportWidget=Yr,R.useCustomerSupport=pt,R.useLocalStorage=Ae,Object.defineProperty(R,Symbol.toStringTag,{value:"Module"})}));
7
7
  //# sourceMappingURL=index.umd.js.map