shopify-chatbot-widget 0.9.6 → 0.9.7
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.
|
@@ -321,7 +321,7 @@ You might need to use a local HTTP server (instead of file://): https://react.de
|
|
|
321
321
|
`)}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,...a){const r=new this(t);return a.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[u3]=this[u3]={accessors:{}}).accessors,o=this.prototype;function u(f){const m=Lv(f);r[m]||(bP(o,f),r[m]=!0)}return Ye.isArray(t)?t.forEach(u):u(t),this}};vo.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Ye.reduceDescriptors(vo.prototype,({value:e},t)=>{let a=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[a]=r}}}),Ye.freezeMethods(vo);function DE(e,t){const a=this||jv,r=t||a,o=vo.from(r.headers);let u=r.data;return Ye.forEach(e,function(m){u=m.call(a,u,o.normalize(),t?t.status:void 0)}),o.normalize(),u}function f3(e){return!!(e&&e.__CANCEL__)}function Mm(e,t,a){Cn.call(this,e??"canceled",Cn.ERR_CANCELED,t,a),this.name="CanceledError"}Ye.inherits(Mm,Cn,{__CANCEL__:!0});function d3(e,t,a){const r=a.config.validateStatus;!a.status||!r||r(a.status)?e(a):t(new Cn("Request failed with status code "+a.status,[Cn.ERR_BAD_REQUEST,Cn.ERR_BAD_RESPONSE][Math.floor(a.status/100)-4],a.config,a.request,a))}function SP(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function xP(e,t){e=e||10;const a=new Array(e),r=new Array(e);let o=0,u=0,f;return t=t!==void 0?t:1e3,function(g){const p=Date.now(),v=r[u];f||(f=p),a[o]=g,r[o]=p;let x=u,C=0;for(;x!==o;)C+=a[x++],x=x%e;if(o=(o+1)%e,o===u&&(u=(u+1)%e),p-f<t)return;const O=v&&p-v;return O?Math.round(C*1e3/O):void 0}}function CP(e,t){let a=0,r=1e3/t,o,u;const f=(p,v=Date.now())=>{a=v,o=null,u&&(clearTimeout(u),u=null),e.apply(null,p)};return[(...p)=>{const v=Date.now(),x=v-a;x>=r?f(p,v):(o=p,u||(u=setTimeout(()=>{u=null,f(o)},r-x)))},()=>o&&f(o)]}const B1=(e,t,a=3)=>{let r=0;const o=xP(50,250);return CP(u=>{const f=u.loaded,m=u.lengthComputable?u.total:void 0,g=f-r,p=o(g),v=f<=m;r=f;const x={loaded:f,total:m,progress:m?f/m:void 0,bytes:g,rate:p||void 0,estimated:p&&m&&v?(m-f)/p:void 0,event:u,lengthComputable:m!=null,[t?"download":"upload"]:!0};e(x)},a)},h3=(e,t)=>{const a=e!=null;return[r=>t[0]({lengthComputable:a,total:e,loaded:r}),t[1]]},m3=e=>(...t)=>Ye.asap(()=>e(...t)),EP=xi.hasStandardBrowserEnv?((e,t)=>a=>(a=new URL(a,xi.origin),e.protocol===a.protocol&&e.host===a.host&&(t||e.port===a.port)))(new URL(xi.origin),xi.navigator&&/(msie|trident)/i.test(xi.navigator.userAgent)):()=>!0,wP=xi.hasStandardBrowserEnv?{write(e,t,a,r,o,u){const f=[e+"="+encodeURIComponent(t)];Ye.isNumber(a)&&f.push("expires="+new Date(a).toGMTString()),Ye.isString(r)&&f.push("path="+r),Ye.isString(o)&&f.push("domain="+o),u===!0&&f.push("secure"),document.cookie=f.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function OP(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function TP(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function p3(e,t,a){let r=!OP(t);return e&&(r||a==!1)?TP(e,t):t}const g3=e=>e instanceof vo?{...e}:e;function Ad(e,t){t=t||{};const a={};function r(p,v,x,C){return Ye.isPlainObject(p)&&Ye.isPlainObject(v)?Ye.merge.call({caseless:C},p,v):Ye.isPlainObject(v)?Ye.merge({},v):Ye.isArray(v)?v.slice():v}function o(p,v,x,C){if(Ye.isUndefined(v)){if(!Ye.isUndefined(p))return r(void 0,p,x,C)}else return r(p,v,x,C)}function u(p,v){if(!Ye.isUndefined(v))return r(void 0,v)}function f(p,v){if(Ye.isUndefined(v)){if(!Ye.isUndefined(p))return r(void 0,p)}else return r(void 0,v)}function m(p,v,x){if(x in t)return r(p,v);if(x in e)return r(void 0,p)}const g={url:u,method:u,data:u,baseURL:f,transformRequest:f,transformResponse:f,paramsSerializer:f,timeout:f,timeoutMessage:f,withCredentials:f,withXSRFToken:f,adapter:f,responseType:f,xsrfCookieName:f,xsrfHeaderName:f,onUploadProgress:f,onDownloadProgress:f,decompress:f,maxContentLength:f,maxBodyLength:f,beforeRedirect:f,transport:f,httpAgent:f,httpsAgent:f,cancelToken:f,socketPath:f,responseEncoding:f,validateStatus:m,headers:(p,v,x)=>o(g3(p),g3(v),x,!0)};return Ye.forEach(Object.keys(Object.assign({},e,t)),function(v){const x=g[v]||o,C=x(e[v],t[v],v);Ye.isUndefined(C)&&x!==m||(a[v]=C)}),a}const v3=e=>{const t=Ad({},e);let{data:a,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:u,headers:f,auth:m}=t;t.headers=f=vo.from(f),t.url=o3(p3(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),m&&f.set("Authorization","Basic "+btoa((m.username||"")+":"+(m.password?unescape(encodeURIComponent(m.password)):"")));let g;if(Ye.isFormData(a)){if(xi.hasStandardBrowserEnv||xi.hasStandardBrowserWebWorkerEnv)f.setContentType(void 0);else if((g=f.getContentType())!==!1){const[p,...v]=g?g.split(";").map(x=>x.trim()).filter(Boolean):[];f.setContentType([p||"multipart/form-data",...v].join("; "))}}if(xi.hasStandardBrowserEnv&&(r&&Ye.isFunction(r)&&(r=r(t)),r||r!==!1&&EP(t.url))){const p=o&&u&&wP.read(u);p&&f.set(o,p)}return t},RP=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(a,r){const o=v3(e);let u=o.data;const f=vo.from(o.headers).normalize();let{responseType:m,onUploadProgress:g,onDownloadProgress:p}=o,v,x,C,O,T;function M(){O&&O(),T&&T(),o.cancelToken&&o.cancelToken.unsubscribe(v),o.signal&&o.signal.removeEventListener("abort",v)}let R=new XMLHttpRequest;R.open(o.method.toUpperCase(),o.url,!0),R.timeout=o.timeout;function _(){if(!R)return;const j=vo.from("getAllResponseHeaders"in R&&R.getAllResponseHeaders()),z={data:!m||m==="text"||m==="json"?R.responseText:R.response,status:R.status,statusText:R.statusText,headers:j,config:e,request:R};d3(function(B){a(B),M()},function(B){r(B),M()},z),R=null}"onloadend"in R?R.onloadend=_:R.onreadystatechange=function(){!R||R.readyState!==4||R.status===0&&!(R.responseURL&&R.responseURL.indexOf("file:")===0)||setTimeout(_)},R.onabort=function(){R&&(r(new Cn("Request aborted",Cn.ECONNABORTED,e,R)),R=null)},R.onerror=function(){r(new Cn("Network Error",Cn.ERR_NETWORK,e,R)),R=null},R.ontimeout=function(){let L=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const z=o.transitional||s3;o.timeoutErrorMessage&&(L=o.timeoutErrorMessage),r(new Cn(L,z.clarifyTimeoutError?Cn.ETIMEDOUT:Cn.ECONNABORTED,e,R)),R=null},u===void 0&&f.setContentType(null),"setRequestHeader"in R&&Ye.forEach(f.toJSON(),function(L,z){R.setRequestHeader(z,L)}),Ye.isUndefined(o.withCredentials)||(R.withCredentials=!!o.withCredentials),m&&m!=="json"&&(R.responseType=o.responseType),p&&([C,T]=B1(p,!0),R.addEventListener("progress",C)),g&&R.upload&&([x,O]=B1(g),R.upload.addEventListener("progress",x),R.upload.addEventListener("loadend",O)),(o.cancelToken||o.signal)&&(v=j=>{R&&(r(!j||j.type?new Mm(null,e,R):j),R.abort(),R=null)},o.cancelToken&&o.cancelToken.subscribe(v),o.signal&&(o.signal.aborted?v():o.signal.addEventListener("abort",v)));const N=SP(o.url);if(N&&xi.protocols.indexOf(N)===-1){r(new Cn("Unsupported protocol "+N+":",Cn.ERR_BAD_REQUEST,e));return}R.send(u||null)})},AP=(e,t)=>{const{length:a}=e=e?e.filter(Boolean):[];if(t||a){let r=new AbortController,o;const u=function(p){if(!o){o=!0,m();const v=p instanceof Error?p:this.reason;r.abort(v instanceof Cn?v:new Mm(v instanceof Error?v.message:v))}};let f=t&&setTimeout(()=>{f=null,u(new Cn(`timeout ${t} of ms exceeded`,Cn.ETIMEDOUT))},t);const m=()=>{e&&(f&&clearTimeout(f),f=null,e.forEach(p=>{p.unsubscribe?p.unsubscribe(u):p.removeEventListener("abort",u)}),e=null)};e.forEach(p=>p.addEventListener("abort",u));const{signal:g}=r;return g.unsubscribe=()=>Ye.asap(m),g}},MP=function*(e,t){let a=e.byteLength;if(a<t){yield e;return}let r=0,o;for(;r<a;)o=r+t,yield e.slice(r,o),r=o},_P=async function*(e,t){for await(const a of NP(e))yield*MP(a,t)},NP=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:a,value:r}=await t.read();if(a)break;yield r}}finally{await t.cancel()}},y3=(e,t,a,r)=>{const o=_P(e,t);let u=0,f,m=g=>{f||(f=!0,r&&r(g))};return new ReadableStream({async pull(g){try{const{done:p,value:v}=await o.next();if(p){m(),g.close();return}let x=v.byteLength;if(a){let C=u+=x;a(C)}g.enqueue(new Uint8Array(v))}catch(p){throw m(p),p}},cancel(g){return m(g),o.return()}},{highWaterMark:2})},I1=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",b3=I1&&typeof ReadableStream=="function",DP=I1&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),S3=(e,...t)=>{try{return!!e(...t)}catch{return!1}},$P=b3&&S3(()=>{let e=!1;const t=new Request(xi.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),x3=64*1024,$E=b3&&S3(()=>Ye.isReadableStream(new Response("").body)),U1={stream:$E&&(e=>e.body)};I1&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!U1[t]&&(U1[t]=Ye.isFunction(e[t])?a=>a[t]():(a,r)=>{throw new Cn(`Response type '${t}' is not supported`,Cn.ERR_NOT_SUPPORT,r)})})})(new Response);const zP=async e=>{if(e==null)return 0;if(Ye.isBlob(e))return e.size;if(Ye.isSpecCompliantForm(e))return(await new Request(xi.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(Ye.isArrayBufferView(e)||Ye.isArrayBuffer(e))return e.byteLength;if(Ye.isURLSearchParams(e)&&(e=e+""),Ye.isString(e))return(await DP(e)).byteLength},jP=async(e,t)=>{const a=Ye.toFiniteNumber(e.getContentLength());return a??zP(t)},zE={http:nP,xhr:RP,fetch:I1&&(async e=>{let{url:t,method:a,data:r,signal:o,cancelToken:u,timeout:f,onDownloadProgress:m,onUploadProgress:g,responseType:p,headers:v,withCredentials:x="same-origin",fetchOptions:C}=v3(e);p=p?(p+"").toLowerCase():"text";let O=AP([o,u&&u.toAbortSignal()],f),T;const M=O&&O.unsubscribe&&(()=>{O.unsubscribe()});let R;try{if(g&&$P&&a!=="get"&&a!=="head"&&(R=await jP(v,r))!==0){let z=new Request(t,{method:"POST",body:r,duplex:"half"}),V;if(Ye.isFormData(r)&&(V=z.headers.get("content-type"))&&v.setContentType(V),z.body){const[B,D]=h3(R,B1(m3(g)));r=y3(z.body,x3,B,D)}}Ye.isString(x)||(x=x?"include":"omit");const _="credentials"in Request.prototype;T=new Request(t,{...C,signal:O,method:a.toUpperCase(),headers:v.normalize().toJSON(),body:r,duplex:"half",credentials:_?x:void 0});let N=await fetch(T,C);const j=$E&&(p==="stream"||p==="response");if($E&&(m||j&&M)){const z={};["status","statusText","headers"].forEach(P=>{z[P]=N[P]});const V=Ye.toFiniteNumber(N.headers.get("content-length")),[B,D]=m&&h3(V,B1(m3(m),!0))||[];N=new Response(y3(N.body,x3,B,()=>{D&&D(),M&&M()}),z)}p=p||"text";let L=await U1[Ye.findKey(U1,p)||"text"](N,e);return!j&&M&&M(),await new Promise((z,V)=>{d3(z,V,{data:L,headers:vo.from(N.headers),status:N.status,statusText:N.statusText,config:e,request:T})})}catch(_){throw M&&M(),_&&_.name==="TypeError"&&/Load failed|fetch/i.test(_.message)?Object.assign(new Cn("Network Error",Cn.ERR_NETWORK,e,T),{cause:_.cause||_}):Cn.from(_,_&&_.code,e,T)}})};Ye.forEach(zE,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const C3=e=>`- ${e}`,LP=e=>Ye.isFunction(e)||e===null||e===!1,E3={getAdapter:e=>{e=Ye.isArray(e)?e:[e];const{length:t}=e;let a,r;const o={};for(let u=0;u<t;u++){a=e[u];let f;if(r=a,!LP(a)&&(r=zE[(f=String(a)).toLowerCase()],r===void 0))throw new Cn(`Unknown adapter '${f}'`);if(r)break;o[f||"#"+u]=r}if(!r){const u=Object.entries(o).map(([m,g])=>`adapter ${m} `+(g===!1?"is not supported by the environment":"is not available in the build"));let f=t?u.length>1?`since :
|
|
322
322
|
`+u.map(C3).join(`
|
|
323
323
|
`):" "+C3(u[0]):"as no adapter specified";throw new Cn("There is no suitable adapter to dispatch the request "+f,"ERR_NOT_SUPPORT")}return r},adapters:zE};function jE(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Mm(null,e)}function w3(e){return jE(e),e.headers=vo.from(e.headers),e.data=DE.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),E3.getAdapter(e.adapter||jv.adapter)(e).then(function(r){return jE(e),r.data=DE.call(e,e.transformResponse,r),r.headers=vo.from(r.headers),r},function(r){return f3(r)||(jE(e),r&&r.response&&(r.response.data=DE.call(e,e.transformResponse,r.response),r.response.headers=vo.from(r.response.headers))),Promise.reject(r)})}const O3="1.10.0",k1={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{k1[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const T3={};k1.transitional=function(t,a,r){function o(u,f){return"[Axios v"+O3+"] Transitional option '"+u+"'"+f+(r?". "+r:"")}return(u,f,m)=>{if(t===!1)throw new Cn(o(f," has been removed"+(a?" in "+a:"")),Cn.ERR_DEPRECATED);return a&&!T3[f]&&(T3[f]=!0,console.warn(o(f," has been deprecated since v"+a+" and will be removed in the near future"))),t?t(u,f,m):!0}},k1.spelling=function(t){return(a,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function VP(e,t,a){if(typeof e!="object")throw new Cn("options must be an object",Cn.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const u=r[o],f=t[u];if(f){const m=e[u],g=m===void 0||f(m,u,e);if(g!==!0)throw new Cn("option "+u+" must be "+g,Cn.ERR_BAD_OPTION_VALUE);continue}if(a!==!0)throw new Cn("Unknown option "+u,Cn.ERR_BAD_OPTION)}}const F1={assertOptions:VP,validators:k1},Xs=F1.validators;let Md=class{constructor(t){this.defaults=t||{},this.interceptors={request:new l3,response:new l3}}async request(t,a){try{return await this._request(t,a)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const u=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?u&&!String(r.stack).endsWith(u.replace(/^.+\n.+\n/,""))&&(r.stack+=`
|
|
324
|
-
`+u):r.stack=u}catch{}}throw r}}_request(t,a){typeof t=="string"?(a=a||{},a.url=t):a=t||{},a=Ad(this.defaults,a);const{transitional:r,paramsSerializer:o,headers:u}=a;r!==void 0&&F1.assertOptions(r,{silentJSONParsing:Xs.transitional(Xs.boolean),forcedJSONParsing:Xs.transitional(Xs.boolean),clarifyTimeoutError:Xs.transitional(Xs.boolean)},!1),o!=null&&(Ye.isFunction(o)?a.paramsSerializer={serialize:o}:F1.assertOptions(o,{encode:Xs.function,serialize:Xs.function},!0)),a.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?a.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:a.allowAbsoluteUrls=!0),F1.assertOptions(a,{baseUrl:Xs.spelling("baseURL"),withXsrfToken:Xs.spelling("withXSRFToken")},!0),a.method=(a.method||this.defaults.method||"get").toLowerCase();let f=u&&Ye.merge(u.common,u[a.method]);u&&Ye.forEach(["delete","get","head","post","put","patch","common"],T=>{delete u[T]}),a.headers=vo.concat(f,u);const m=[];let g=!0;this.interceptors.request.forEach(function(M){typeof M.runWhen=="function"&&M.runWhen(a)===!1||(g=g&&M.synchronous,m.unshift(M.fulfilled,M.rejected))});const p=[];this.interceptors.response.forEach(function(M){p.push(M.fulfilled,M.rejected)});let v,x=0,C;if(!g){const T=[w3.bind(this),void 0];for(T.unshift.apply(T,m),T.push.apply(T,p),C=T.length,v=Promise.resolve(a);x<C;)v=v.then(T[x++],T[x++]);return v}C=m.length;let O=a;for(x=0;x<C;){const T=m[x++],M=m[x++];try{O=T(O)}catch(R){M.call(this,R);break}}try{v=w3.call(this,O)}catch(T){return Promise.reject(T)}for(x=0,C=p.length;x<C;)v=v.then(p[x++],p[x++]);return v}getUri(t){t=Ad(this.defaults,t);const a=p3(t.baseURL,t.url,t.allowAbsoluteUrls);return o3(a,t.params,t.paramsSerializer)}};Ye.forEach(["delete","get","head","options"],function(t){Md.prototype[t]=function(a,r){return this.request(Ad(r||{},{method:t,url:a,data:(r||{}).data}))}}),Ye.forEach(["post","put","patch"],function(t){function a(r){return function(u,f,m){return this.request(Ad(m||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:u,data:f}))}}Md.prototype[t]=a(),Md.prototype[t+"Form"]=a(!0)});let PP=class aV{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let a;this.promise=new Promise(function(u){a=u});const r=this;this.promise.then(o=>{if(!r._listeners)return;let u=r._listeners.length;for(;u-- >0;)r._listeners[u](o);r._listeners=null}),this.promise.then=o=>{let u;const f=new Promise(m=>{r.subscribe(m),u=m}).then(o);return f.cancel=function(){r.unsubscribe(u)},f},t(function(u,f,m){r.reason||(r.reason=new Mm(u,f,m),a(r.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 a=this._listeners.indexOf(t);a!==-1&&this._listeners.splice(a,1)}toAbortSignal(){const t=new AbortController,a=r=>{t.abort(r)};return this.subscribe(a),t.signal.unsubscribe=()=>this.unsubscribe(a),t.signal}static source(){let t;return{token:new aV(function(o){t=o}),cancel:t}}};function HP(e){return function(a){return e.apply(null,a)}}function BP(e){return Ye.isObject(e)&&e.isAxiosError===!0}const LE={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};Object.entries(LE).forEach(([e,t])=>{LE[t]=e});function R3(e){const t=new Md(e),a=GM(Md.prototype.request,t);return Ye.extend(a,Md.prototype,t,{allOwnKeys:!0}),Ye.extend(a,t,null,{allOwnKeys:!0}),a.create=function(o){return R3(Ad(e,o))},a}const za=R3(jv);za.Axios=Md,za.CanceledError=Mm,za.CancelToken=PP,za.isCancel=f3,za.VERSION=O3,za.toFormData=P1,za.AxiosError=Cn,za.Cancel=za.CanceledError,za.all=function(t){return Promise.all(t)},za.spread=HP,za.isAxiosError=BP,za.mergeConfig=Ad,za.AxiosHeaders=vo,za.formToJSON=e=>c3(Ye.isHTMLForm(e)?new FormData(e):e),za.getAdapter=E3.getAdapter,za.HttpStatusCode=LE,za.default=za;const{Axios:Hle,AxiosError:Ble,CanceledError:Ile,isCancel:Ule,CancelToken:kle,VERSION:Fle,all:Gle,Cancel:qle,isAxiosError:Xle,spread:Yle,toFormData:Wle,AxiosHeaders:Kle,HttpStatusCode:Zle,formToJSON:Qle,getAdapter:Jle,mergeConfig:ese}=za,oi={apiUrl:"https://jawebcrm.onrender.com/api/",websocketUrl:"wss://jawebcrm.onrender.com/ws"},sn=e=>typeof e=="string",Vv=()=>{let e,t;const a=new Promise((r,o)=>{e=r,t=o});return a.resolve=e,a.reject=t,a},A3=e=>e==null?"":""+e,IP=(e,t,a)=>{e.forEach(r=>{t[r]&&(a[r]=t[r])})},UP=/###/g,M3=e=>e&&e.indexOf("###")>-1?e.replace(UP,"."):e,_3=e=>!e||sn(e),Pv=(e,t,a)=>{const r=sn(t)?t.split("."):t;let o=0;for(;o<r.length-1;){if(_3(e))return{};const u=M3(r[o]);!e[u]&&a&&(e[u]=new a),Object.prototype.hasOwnProperty.call(e,u)?e=e[u]:e={},++o}return _3(e)?{}:{obj:e,k:M3(r[o])}},N3=(e,t,a)=>{const{obj:r,k:o}=Pv(e,t,Object);if(r!==void 0||t.length===1){r[o]=a;return}let u=t[t.length-1],f=t.slice(0,t.length-1),m=Pv(e,f,Object);for(;m.obj===void 0&&f.length;)u=`${f[f.length-1]}.${u}`,f=f.slice(0,f.length-1),m=Pv(e,f,Object),m?.obj&&typeof m.obj[`${m.k}.${u}`]<"u"&&(m.obj=void 0);m.obj[`${m.k}.${u}`]=a},kP=(e,t,a,r)=>{const{obj:o,k:u}=Pv(e,t,Object);o[u]=o[u]||[],o[u].push(a)},G1=(e,t)=>{const{obj:a,k:r}=Pv(e,t);if(a&&Object.prototype.hasOwnProperty.call(a,r))return a[r]},FP=(e,t,a)=>{const r=G1(e,a);return r!==void 0?r:G1(t,a)},D3=(e,t,a)=>{for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?sn(e[r])||e[r]instanceof String||sn(t[r])||t[r]instanceof String?a&&(e[r]=t[r]):D3(e[r],t[r],a):e[r]=t[r]);return e},_m=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var GP={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const qP=e=>sn(e)?e.replace(/[&<>"'\/]/g,t=>GP[t]):e;class XP{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const a=this.regExpMap.get(t);if(a!==void 0)return a;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const YP=[" ",",","?","!",";"],WP=new XP(20),KP=(e,t,a)=>{t=t||"",a=a||"";const r=YP.filter(f=>t.indexOf(f)<0&&a.indexOf(f)<0);if(r.length===0)return!0;const o=WP.getRegExp(`(${r.map(f=>f==="?"?"\\?":f).join("|")})`);let u=!o.test(e);if(!u){const f=e.indexOf(a);f>0&&!o.test(e.substring(0,f))&&(u=!0)}return u},VE=(e,t,a=".")=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;const r=t.split(a);let o=e;for(let u=0;u<r.length;){if(!o||typeof o!="object")return;let f,m="";for(let g=u;g<r.length;++g)if(g!==u&&(m+=a),m+=r[g],f=o[m],f!==void 0){if(["string","number","boolean"].indexOf(typeof f)>-1&&g<r.length-1)continue;u+=g-u+1;break}o=f}return o},Hv=e=>e?.replace("_","-"),ZP={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class q1{constructor(t,a={}){this.init(t,a)}init(t,a={}){this.prefix=a.prefix||"i18next:",this.logger=t||ZP,this.options=a,this.debug=a.debug}log(...t){return this.forward(t,"log","",!0)}warn(...t){return this.forward(t,"warn","",!0)}error(...t){return this.forward(t,"error","")}deprecate(...t){return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(t,a,r,o){return o&&!this.debug?null:(sn(t[0])&&(t[0]=`${r}${this.prefix} ${t[0]}`),this.logger[a](t))}create(t){return new q1(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t=t||this.options,t.prefix=t.prefix||this.prefix,new q1(this.logger,t)}}var Ys=new q1;class X1{constructor(){this.observers={}}on(t,a){return t.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const o=this.observers[r].get(a)||0;this.observers[r].set(a,o+1)}),this}off(t,a){if(this.observers[t]){if(!a){delete this.observers[t];return}this.observers[t].delete(a)}}emit(t,...a){this.observers[t]&&Array.from(this.observers[t].entries()).forEach(([o,u])=>{for(let f=0;f<u;f++)o(...a)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([o,u])=>{for(let f=0;f<u;f++)o.apply(o,[t,...a])})}}class $3 extends X1{constructor(t,a={ns:["translation"],defaultNS:"translation"}){super(),this.data=t||{},this.options=a,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const a=this.options.ns.indexOf(t);a>-1&&this.options.ns.splice(a,1)}getResource(t,a,r,o={}){const u=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,f=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let m;t.indexOf(".")>-1?m=t.split("."):(m=[t,a],r&&(Array.isArray(r)?m.push(...r):sn(r)&&u?m.push(...r.split(u)):m.push(r)));const g=G1(this.data,m);return!g&&!a&&!r&&t.indexOf(".")>-1&&(t=m[0],a=m[1],r=m.slice(2).join(".")),g||!f||!sn(r)?g:VE(this.data?.[t]?.[a],r,u)}addResource(t,a,r,o,u={silent:!1}){const f=u.keySeparator!==void 0?u.keySeparator:this.options.keySeparator;let m=[t,a];r&&(m=m.concat(f?r.split(f):r)),t.indexOf(".")>-1&&(m=t.split("."),o=a,a=m[1]),this.addNamespaces(a),N3(this.data,m,o),u.silent||this.emit("added",t,a,r,o)}addResources(t,a,r,o={silent:!1}){for(const u in r)(sn(r[u])||Array.isArray(r[u]))&&this.addResource(t,a,u,r[u],{silent:!0});o.silent||this.emit("added",t,a,r)}addResourceBundle(t,a,r,o,u,f={silent:!1,skipCopy:!1}){let m=[t,a];t.indexOf(".")>-1&&(m=t.split("."),o=r,r=a,a=m[1]),this.addNamespaces(a);let g=G1(this.data,m)||{};f.skipCopy||(r=JSON.parse(JSON.stringify(r))),o?D3(g,r,u):g={...g,...r},N3(this.data,m,g),f.silent||this.emit("added",t,a,r)}removeResourceBundle(t,a){this.hasResourceBundle(t,a)&&delete this.data[t][a],this.removeNamespaces(a),this.emit("removed",t,a)}hasResourceBundle(t,a){return this.getResource(t,a)!==void 0}getResourceBundle(t,a){return a||(a=this.options.defaultNS),this.getResource(t,a)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const a=this.getDataByLanguage(t);return!!(a&&Object.keys(a)||[]).find(o=>a[o]&&Object.keys(a[o]).length>0)}toJSON(){return this.data}}var z3={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,a,r,o){return e.forEach(u=>{t=this.processors[u]?.process(t,a,r,o)??t}),t}};const j3={},L3=e=>!sn(e)&&typeof e!="boolean"&&typeof e!="number";class Y1 extends X1{constructor(t,a={}){super(),IP(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=a,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Ys.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t,a={interpolation:{}}){const r={...a};return t==null?!1:this.resolve(t,r)?.res!==void 0}extractFromKey(t,a){let r=a.nsSeparator!==void 0?a.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator;let u=a.ns||this.options.defaultNS||[];const f=r&&t.indexOf(r)>-1,m=!this.options.userDefinedKeySeparator&&!a.keySeparator&&!this.options.userDefinedNsSeparator&&!a.nsSeparator&&!KP(t,r,o);if(f&&!m){const g=t.match(this.interpolator.nestingRegexp);if(g&&g.length>0)return{key:t,namespaces:sn(u)?[u]:u};const p=t.split(r);(r!==o||r===o&&this.options.ns.indexOf(p[0])>-1)&&(u=p.shift()),t=p.join(o)}return{key:t,namespaces:sn(u)?[u]:u}}translate(t,a,r){let o=typeof a=="object"?{...a}:a;if(typeof o!="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),typeof options=="object"&&(o={...o}),o||(o={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const u=o.returnDetails!==void 0?o.returnDetails:this.options.returnDetails,f=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,{key:m,namespaces:g}=this.extractFromKey(t[t.length-1],o),p=g[g.length-1];let v=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;v===void 0&&(v=":");const x=o.lng||this.language,C=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(x?.toLowerCase()==="cimode")return C?u?{res:`${p}${v}${m}`,usedKey:m,exactUsedKey:m,usedLng:x,usedNS:p,usedParams:this.getUsedParamsDetails(o)}:`${p}${v}${m}`:u?{res:m,usedKey:m,exactUsedKey:m,usedLng:x,usedNS:p,usedParams:this.getUsedParamsDetails(o)}:m;const O=this.resolve(t,o);let T=O?.res;const M=O?.usedKey||m,R=O?.exactUsedKey||m,_=["[object Number]","[object Function]","[object RegExp]"],N=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,j=!this.i18nFormat||this.i18nFormat.handleAsObject,L=o.count!==void 0&&!sn(o.count),z=Y1.hasDefaultValue(o),V=L?this.pluralResolver.getSuffix(x,o.count,o):"",B=o.ordinal&&L?this.pluralResolver.getSuffix(x,o.count,{ordinal:!1}):"",D=L&&!o.ordinal&&o.count===0,P=D&&o[`defaultValue${this.options.pluralSeparator}zero`]||o[`defaultValue${V}`]||o[`defaultValue${B}`]||o.defaultValue;let H=T;j&&!T&&z&&(H=P);const K=L3(H),X=Object.prototype.toString.apply(H);if(j&&H&&K&&_.indexOf(X)<0&&!(sn(N)&&Array.isArray(H))){if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const W=this.options.returnedObjectHandler?this.options.returnedObjectHandler(M,H,{...o,ns:g}):`key '${m} (${this.language})' returned an object instead of string.`;return u?(O.res=W,O.usedParams=this.getUsedParamsDetails(o),O):W}if(f){const W=Array.isArray(H),Q=W?[]:{},ie=W?R:M;for(const U in H)if(Object.prototype.hasOwnProperty.call(H,U)){const G=`${ie}${f}${U}`;z&&!T?Q[U]=this.translate(G,{...o,defaultValue:L3(P)?P[U]:void 0,joinArrays:!1,ns:g}):Q[U]=this.translate(G,{...o,joinArrays:!1,ns:g}),Q[U]===G&&(Q[U]=H[U])}T=Q}}else if(j&&sn(N)&&Array.isArray(T))T=T.join(N),T&&(T=this.extendTranslation(T,t,o,r));else{let W=!1,Q=!1;!this.isValidLookup(T)&&z&&(W=!0,T=P),this.isValidLookup(T)||(Q=!0,T=m);const U=(o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&Q?void 0:T,G=z&&P!==T&&this.options.updateMissing;if(Q||W||G){if(this.logger.log(G?"updateKey":"missingKey",x,p,m,G?P:T),f){const q=this.resolve(m,{...o,keySeparator:!1});q&&q.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let Z=[];const se=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&se&&se[0])for(let q=0;q<se.length;q++)Z.push(se[q]);else this.options.saveMissingTo==="all"?Z=this.languageUtils.toResolveHierarchy(o.lng||this.language):Z.push(o.lng||this.language);const F=(q,ee,ne)=>{const oe=z&&ne!==T?ne:U;this.options.missingKeyHandler?this.options.missingKeyHandler(q,p,ee,oe,G,o):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(q,p,ee,oe,G,o),this.emit("missingKey",q,p,ee,T)};this.options.saveMissing&&(this.options.saveMissingPlurals&&L?Z.forEach(q=>{const ee=this.pluralResolver.getSuffixes(q,o);D&&o[`defaultValue${this.options.pluralSeparator}zero`]&&ee.indexOf(`${this.options.pluralSeparator}zero`)<0&&ee.push(`${this.options.pluralSeparator}zero`),ee.forEach(ne=>{F([q],m+ne,o[`defaultValue${ne}`]||P)})}):F(Z,m,P))}T=this.extendTranslation(T,t,o,O,r),Q&&T===m&&this.options.appendNamespaceToMissingKey&&(T=`${p}${v}${m}`),(Q||W)&&this.options.parseMissingKeyHandler&&(T=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${p}${v}${m}`:m,W?T:void 0,o))}return u?(O.res=T,O.usedParams=this.getUsedParamsDetails(o),O):T}extendTranslation(t,a,r,o,u){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const g=sn(t)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let p;if(g){const x=t.match(this.interpolator.nestingRegexp);p=x&&x.length}let v=r.replace&&!sn(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(v={...this.options.interpolation.defaultVariables,...v}),t=this.interpolator.interpolate(t,v,r.lng||this.language||o.usedLng,r),g){const x=t.match(this.interpolator.nestingRegexp),C=x&&x.length;p<C&&(r.nest=!1)}!r.lng&&o&&o.res&&(r.lng=this.language||o.usedLng),r.nest!==!1&&(t=this.interpolator.nest(t,(...x)=>u?.[0]===x[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${x[0]} in key: ${a[0]}`),null):this.translate(...x,a),r)),r.interpolation&&this.interpolator.reset()}const f=r.postProcess||this.options.postProcess,m=sn(f)?[f]:f;return t!=null&&m?.length&&r.applyPostProcessor!==!1&&(t=z3.handle(m,t,a,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),t}resolve(t,a={}){let r,o,u,f,m;return sn(t)&&(t=[t]),t.forEach(g=>{if(this.isValidLookup(r))return;const p=this.extractFromKey(g,a),v=p.key;o=v;let x=p.namespaces;this.options.fallbackNS&&(x=x.concat(this.options.fallbackNS));const C=a.count!==void 0&&!sn(a.count),O=C&&!a.ordinal&&a.count===0,T=a.context!==void 0&&(sn(a.context)||typeof a.context=="number")&&a.context!=="",M=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);x.forEach(R=>{this.isValidLookup(r)||(m=R,!j3[`${M[0]}-${R}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(m)&&(j3[`${M[0]}-${R}`]=!0,this.logger.warn(`key "${o}" for languages "${M.join(", ")}" won't get resolved as namespace "${m}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),M.forEach(_=>{if(this.isValidLookup(r))return;f=_;const N=[v];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(N,v,_,R,a);else{let L;C&&(L=this.pluralResolver.getSuffix(_,a.count,a));const z=`${this.options.pluralSeparator}zero`,V=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(C&&(N.push(v+L),a.ordinal&&L.indexOf(V)===0&&N.push(v+L.replace(V,this.options.pluralSeparator)),O&&N.push(v+z)),T){const B=`${v}${this.options.contextSeparator}${a.context}`;N.push(B),C&&(N.push(B+L),a.ordinal&&L.indexOf(V)===0&&N.push(B+L.replace(V,this.options.pluralSeparator)),O&&N.push(B+z))}}let j;for(;j=N.pop();)this.isValidLookup(r)||(u=j,r=this.getResource(_,R,j,a))}))})}),{res:r,usedKey:o,exactUsedKey:u,usedLng:f,usedNS:m}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,a,r,o={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(t,a,r,o):this.resourceStore.getResource(t,a,r,o)}getUsedParamsDetails(t={}){const a=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&!sn(t.replace);let o=r?t.replace:t;if(r&&typeof t.count<"u"&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const u of a)delete o[u]}return o}static hasDefaultValue(t){const a="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&a===r.substring(0,a.length)&&t[r]!==void 0)return!0;return!1}}class V3{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Ys.create("languageUtils")}getScriptPartFromCode(t){if(t=Hv(t),!t||t.indexOf("-")<0)return null;const a=t.split("-");return a.length===2||(a.pop(),a[a.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(a.join("-"))}getLanguagePartFromCode(t){if(t=Hv(t),!t||t.indexOf("-")<0)return t;const a=t.split("-");return this.formatLanguageCode(a[0])}formatLanguageCode(t){if(sn(t)&&t.indexOf("-")>-1){let a;try{a=Intl.getCanonicalLocales(t)[0]}catch{}return a&&this.options.lowerCaseLng&&(a=a.toLowerCase()),a||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let a;return t.forEach(r=>{if(a)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(a=o)}),!a&&this.options.supportedLngs&&t.forEach(r=>{if(a)return;const o=this.getScriptPartFromCode(r);if(this.isSupportedCode(o))return a=o;const u=this.getLanguagePartFromCode(r);if(this.isSupportedCode(u))return a=u;a=this.options.supportedLngs.find(f=>{if(f===u)return f;if(!(f.indexOf("-")<0&&u.indexOf("-")<0)&&(f.indexOf("-")>0&&u.indexOf("-")<0&&f.substring(0,f.indexOf("-"))===u||f.indexOf(u)===0&&u.length>1))return f})}),a||(a=this.getFallbackCodes(this.options.fallbackLng)[0]),a}getFallbackCodes(t,a){if(!t)return[];if(typeof t=="function"&&(t=t(a)),sn(t)&&(t=[t]),Array.isArray(t))return t;if(!a)return t.default||[];let r=t[a];return r||(r=t[this.getScriptPartFromCode(a)]),r||(r=t[this.formatLanguageCode(a)]),r||(r=t[this.getLanguagePartFromCode(a)]),r||(r=t.default),r||[]}toResolveHierarchy(t,a){const r=this.getFallbackCodes((a===!1?[]:a)||this.options.fallbackLng||[],t),o=[],u=f=>{f&&(this.isSupportedCode(f)?o.push(f):this.logger.warn(`rejecting language code not found in supportedLngs: ${f}`))};return sn(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&u(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&u(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&u(this.getLanguagePartFromCode(t))):sn(t)&&u(this.formatLanguageCode(t)),r.forEach(f=>{o.indexOf(f)<0&&u(this.formatLanguageCode(f))}),o}}const P3={zero:0,one:1,two:2,few:3,many:4,other:5},H3={select:e=>e===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class QP{constructor(t,a={}){this.languageUtils=t,this.options=a,this.logger=Ys.create("pluralResolver"),this.pluralRulesCache={}}addRule(t,a){this.rules[t]=a}clearCache(){this.pluralRulesCache={}}getRule(t,a={}){const r=Hv(t==="dev"?"en":t),o=a.ordinal?"ordinal":"cardinal",u=JSON.stringify({cleanedCode:r,type:o});if(u in this.pluralRulesCache)return this.pluralRulesCache[u];let f;try{f=new Intl.PluralRules(r,{type:o})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),H3;if(!t.match(/-|_/))return H3;const g=this.languageUtils.getLanguagePartFromCode(t);f=this.getRule(g,a)}return this.pluralRulesCache[u]=f,f}needsPlural(t,a={}){let r=this.getRule(t,a);return r||(r=this.getRule("dev",a)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(t,a,r={}){return this.getSuffixes(t,r).map(o=>`${a}${o}`)}getSuffixes(t,a={}){let r=this.getRule(t,a);return r||(r=this.getRule("dev",a)),r?r.resolvedOptions().pluralCategories.sort((o,u)=>P3[o]-P3[u]).map(o=>`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${o}`):[]}getSuffix(t,a,r={}){const o=this.getRule(t,r);return o?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(a)}`:(this.logger.warn(`no plural rule found for: ${t}`),this.getSuffix("dev",a,r))}}const B3=(e,t,a,r=".",o=!0)=>{let u=FP(e,t,a);return!u&&o&&sn(a)&&(u=VE(e,a,r),u===void 0&&(u=VE(t,a,r))),u},PE=e=>e.replace(/\$/g,"$$$$");class JP{constructor(t={}){this.logger=Ys.create("interpolator"),this.options=t,this.format=t?.interpolation?.format||(a=>a),this.init(t)}init(t={}){t.interpolation||(t.interpolation={escapeValue:!0});const{escape:a,escapeValue:r,useRawValueToEscape:o,prefix:u,prefixEscaped:f,suffix:m,suffixEscaped:g,formatSeparator:p,unescapeSuffix:v,unescapePrefix:x,nestingPrefix:C,nestingPrefixEscaped:O,nestingSuffix:T,nestingSuffixEscaped:M,nestingOptionsSeparator:R,maxReplaces:_,alwaysFormat:N}=t.interpolation;this.escape=a!==void 0?a:qP,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=u?_m(u):f||"{{",this.suffix=m?_m(m):g||"}}",this.formatSeparator=p||",",this.unescapePrefix=v?"":x||"-",this.unescapeSuffix=this.unescapePrefix?"":v||"",this.nestingPrefix=C?_m(C):O||_m("$t("),this.nestingSuffix=T?_m(T):M||_m(")"),this.nestingOptionsSeparator=R||",",this.maxReplaces=_||1e3,this.alwaysFormat=N!==void 0?N:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(a,r)=>a?.source===r?(a.lastIndex=0,a):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,a,r,o){let u,f,m;const g=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},p=O=>{if(O.indexOf(this.formatSeparator)<0){const _=B3(a,g,O,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(_,void 0,r,{...o,...a,interpolationkey:O}):_}const T=O.split(this.formatSeparator),M=T.shift().trim(),R=T.join(this.formatSeparator).trim();return this.format(B3(a,g,M,this.options.keySeparator,this.options.ignoreJSONStructure),R,r,{...o,...a,interpolationkey:M})};this.resetRegExp();const v=o?.missingInterpolationHandler||this.options.missingInterpolationHandler,x=o?.interpolation?.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:O=>PE(O)},{regex:this.regexp,safeValue:O=>this.escapeValue?PE(this.escape(O)):PE(O)}].forEach(O=>{for(m=0;u=O.regex.exec(t);){const T=u[1].trim();if(f=p(T),f===void 0)if(typeof v=="function"){const R=v(t,u,o);f=sn(R)?R:""}else if(o&&Object.prototype.hasOwnProperty.call(o,T))f="";else if(x){f=u[0];continue}else this.logger.warn(`missed to pass in variable ${T} for interpolating ${t}`),f="";else!sn(f)&&!this.useRawValueToEscape&&(f=A3(f));const M=O.safeValue(f);if(t=t.replace(u[0],M),x?(O.regex.lastIndex+=f.length,O.regex.lastIndex-=u[0].length):O.regex.lastIndex=0,m++,m>=this.maxReplaces)break}}),t}nest(t,a,r={}){let o,u,f;const m=(g,p)=>{const v=this.nestingOptionsSeparator;if(g.indexOf(v)<0)return g;const x=g.split(new RegExp(`${v}[ ]*{`));let C=`{${x[1]}`;g=x[0],C=this.interpolate(C,f);const O=C.match(/'/g),T=C.match(/"/g);((O?.length??0)%2===0&&!T||T.length%2!==0)&&(C=C.replace(/'/g,'"'));try{f=JSON.parse(C),p&&(f={...p,...f})}catch(M){return this.logger.warn(`failed parsing options string in nesting for key ${g}`,M),`${g}${v}${C}`}return f.defaultValue&&f.defaultValue.indexOf(this.prefix)>-1&&delete f.defaultValue,g};for(;o=this.nestingRegexp.exec(t);){let g=[];f={...r},f=f.replace&&!sn(f.replace)?f.replace:f,f.applyPostProcessor=!1,delete f.defaultValue;const p=/{.*}/.test(o[1])?o[1].lastIndexOf("}")+1:o[1].indexOf(this.formatSeparator);if(p!==-1&&(g=o[1].slice(p).split(this.formatSeparator).map(v=>v.trim()).filter(Boolean),o[1]=o[1].slice(0,p)),u=a(m.call(this,o[1].trim(),f),f),u&&o[0]===t&&!sn(u))return u;sn(u)||(u=A3(u)),u||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${t}`),u=""),g.length&&(u=g.reduce((v,x)=>this.format(v,x,r.lng,{...r,interpolationkey:o[1].trim()}),u.trim())),t=t.replace(o[0],u),this.regexp.lastIndex=0}return t}}const e7=e=>{let t=e.toLowerCase().trim();const a={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);t==="currency"&&o.indexOf(":")<0?a.currency||(a.currency=o.trim()):t==="relativetime"&&o.indexOf(":")<0?a.range||(a.range=o.trim()):o.split(";").forEach(f=>{if(f){const[m,...g]=f.split(":"),p=g.join(":").trim().replace(/^'+|'+$/g,""),v=m.trim();a[v]||(a[v]=p),p==="false"&&(a[v]=!1),p==="true"&&(a[v]=!0),isNaN(p)||(a[v]=parseInt(p,10))}})}return{formatName:t,formatOptions:a}},I3=e=>{const t={};return(a,r,o)=>{let u=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(u={...u,[o.interpolationkey]:void 0});const f=r+JSON.stringify(u);let m=t[f];return m||(m=e(Hv(r),o),t[f]=m),m(a)}},t7=e=>(t,a,r)=>e(Hv(a),r)(t);class n7{constructor(t={}){this.logger=Ys.create("formatter"),this.options=t,this.init(t)}init(t,a={interpolation:{}}){this.formatSeparator=a.interpolation.formatSeparator||",";const r=a.cacheInBuiltFormats?I3:t7;this.formats={number:r((o,u)=>{const f=new Intl.NumberFormat(o,{...u});return m=>f.format(m)}),currency:r((o,u)=>{const f=new Intl.NumberFormat(o,{...u,style:"currency"});return m=>f.format(m)}),datetime:r((o,u)=>{const f=new Intl.DateTimeFormat(o,{...u});return m=>f.format(m)}),relativetime:r((o,u)=>{const f=new Intl.RelativeTimeFormat(o,{...u});return m=>f.format(m,u.range||"day")}),list:r((o,u)=>{const f=new Intl.ListFormat(o,{...u});return m=>f.format(m)})}}add(t,a){this.formats[t.toLowerCase().trim()]=a}addCached(t,a){this.formats[t.toLowerCase().trim()]=I3(a)}format(t,a,r,o={}){const u=a.split(this.formatSeparator);if(u.length>1&&u[0].indexOf("(")>1&&u[0].indexOf(")")<0&&u.find(m=>m.indexOf(")")>-1)){const m=u.findIndex(g=>g.indexOf(")")>-1);u[0]=[u[0],...u.splice(1,m)].join(this.formatSeparator)}return u.reduce((m,g)=>{const{formatName:p,formatOptions:v}=e7(g);if(this.formats[p]){let x=m;try{const C=o?.formatParams?.[o.interpolationkey]||{},O=C.locale||C.lng||o.locale||o.lng||r;x=this.formats[p](m,O,{...v,...o,...C})}catch(C){this.logger.warn(C)}return x}else this.logger.warn(`there was no format function for ${p}`);return m},t)}}const a7=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)};class r7 extends X1{constructor(t,a,r,o={}){super(),this.backend=t,this.store=a,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=Ys.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,o.backend,o)}queueLoad(t,a,r,o){const u={},f={},m={},g={};return t.forEach(p=>{let v=!0;a.forEach(x=>{const C=`${p}|${x}`;!r.reload&&this.store.hasResourceBundle(p,x)?this.state[C]=2:this.state[C]<0||(this.state[C]===1?f[C]===void 0&&(f[C]=!0):(this.state[C]=1,v=!1,f[C]===void 0&&(f[C]=!0),u[C]===void 0&&(u[C]=!0),g[x]===void 0&&(g[x]=!0)))}),v||(m[p]=!0)}),(Object.keys(u).length||Object.keys(f).length)&&this.queue.push({pending:f,pendingCount:Object.keys(f).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(u),pending:Object.keys(f),toLoadLanguages:Object.keys(m),toLoadNamespaces:Object.keys(g)}}loaded(t,a,r){const o=t.split("|"),u=o[0],f=o[1];a&&this.emit("failedLoading",u,f,a),!a&&r&&this.store.addResourceBundle(u,f,r,void 0,void 0,{skipCopy:!0}),this.state[t]=a?-1:2,a&&r&&(this.state[t]=0);const m={};this.queue.forEach(g=>{kP(g.loaded,[u],f),a7(g,t),a&&g.errors.push(a),g.pendingCount===0&&!g.done&&(Object.keys(g.loaded).forEach(p=>{m[p]||(m[p]={});const v=g.loaded[p];v.length&&v.forEach(x=>{m[p][x]===void 0&&(m[p][x]=!0)})}),g.done=!0,g.errors.length?g.callback(g.errors):g.callback())}),this.emit("loaded",m),this.queue=this.queue.filter(g=>!g.done)}read(t,a,r,o=0,u=this.retryTimeout,f){if(!t.length)return f(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:a,fcName:r,tried:o,wait:u,callback:f});return}this.readingCalls++;const m=(p,v)=>{if(this.readingCalls--,this.waitingReads.length>0){const x=this.waitingReads.shift();this.read(x.lng,x.ns,x.fcName,x.tried,x.wait,x.callback)}if(p&&v&&o<this.maxRetries){setTimeout(()=>{this.read.call(this,t,a,r,o+1,u*2,f)},u);return}f(p,v)},g=this.backend[r].bind(this.backend);if(g.length===2){try{const p=g(t,a);p&&typeof p.then=="function"?p.then(v=>m(null,v)).catch(m):m(null,p)}catch(p){m(p)}return}return g(t,a,m)}prepareLoading(t,a,r={},o){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();sn(t)&&(t=this.languageUtils.toResolveHierarchy(t)),sn(a)&&(a=[a]);const u=this.queueLoad(t,a,r,o);if(!u.toLoad.length)return u.pending.length||o(),null;u.toLoad.forEach(f=>{this.loadOne(f)})}load(t,a,r){this.prepareLoading(t,a,{},r)}reload(t,a,r){this.prepareLoading(t,a,{reload:!0},r)}loadOne(t,a=""){const r=t.split("|"),o=r[0],u=r[1];this.read(o,u,"read",void 0,void 0,(f,m)=>{f&&this.logger.warn(`${a}loading namespace ${u} for language ${o} failed`,f),!f&&m&&this.logger.log(`${a}loaded namespace ${u} for language ${o}`,m),this.loaded(t,f,m)})}saveMissing(t,a,r,o,u,f={},m=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(a)){this.logger.warn(`did not save key "${r}" as the namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const g={...f,isUpdate:u},p=this.backend.create.bind(this.backend);if(p.length<6)try{let v;p.length===5?v=p(t,a,r,o,g):v=p(t,a,r,o),v&&typeof v.then=="function"?v.then(x=>m(null,x)).catch(m):m(null,v)}catch(v){m(v)}else p(t,a,r,o,m,g)}!t||!t[0]||this.store.addResource(t[0],a,r,o)}}}const U3=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]=="object"&&(t=e[1]),sn(e[1])&&(t.defaultValue=e[1]),sn(e[2])&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const a=e[3]||e[2];Object.keys(a).forEach(r=>{t[r]=a[r]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),k3=e=>(sn(e.ns)&&(e.ns=[e.ns]),sn(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),sn(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),typeof e.initImmediate=="boolean"&&(e.initAsync=e.initImmediate),e),W1=()=>{},i7=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(a=>{typeof e[a]=="function"&&(e[a]=e[a].bind(e))})};class Bv extends X1{constructor(t={},a){if(super(),this.options=k3(t),this.services={},this.logger=Ys,this.modules={external:[]},i7(this),a&&!this.isInitialized&&!t.isClone){if(!this.options.initAsync)return this.init(t,a),this;setTimeout(()=>{this.init(t,a)},0)}}init(t={},a){this.isInitializing=!0,typeof t=="function"&&(a=t,t={}),t.defaultNS==null&&t.ns&&(sn(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=U3();this.options={...r,...this.options,...k3(t)},this.options.interpolation={...r.interpolation,...this.options.interpolation},t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);const o=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?Ys.init(o(this.modules.logger),this.options):Ys.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=n7;const v=new V3(this.options);this.store=new $3(this.options.resources,this.options);const x=this.services;x.logger=Ys,x.resourceStore=this.store,x.languageUtils=v,x.pluralResolver=new QP(v,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.warn("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),p&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(x.formatter=o(p),x.formatter.init&&x.formatter.init(x,this.options),this.options.interpolation.format=x.formatter.format.bind(x.formatter)),x.interpolator=new JP(this.options),x.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},x.backendConnector=new r7(o(this.modules.backend),x.resourceStore,x,this.options),x.backendConnector.on("*",(O,...T)=>{this.emit(O,...T)}),this.modules.languageDetector&&(x.languageDetector=o(this.modules.languageDetector),x.languageDetector.init&&x.languageDetector.init(x,this.options.detection,this.options)),this.modules.i18nFormat&&(x.i18nFormat=o(this.modules.i18nFormat),x.i18nFormat.init&&x.i18nFormat.init(this)),this.translator=new Y1(this.services,this.options),this.translator.on("*",(O,...T)=>{this.emit(O,...T)}),this.modules.external.forEach(O=>{O.init&&O.init(this)})}if(this.format=this.options.interpolation.format,a||(a=W1),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=(...v)=>this.store[p](...v)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=(...v)=>(this.store[p](...v),this)});const m=Vv(),g=()=>{const p=(v,x)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),m.resolve(x),a(v,x)};if(this.languages&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initAsync?g():setTimeout(g,0),m}loadResources(t,a=W1){let r=a;const o=sn(t)?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(o?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const u=[],f=m=>{if(!m||m==="cimode")return;this.services.languageUtils.toResolveHierarchy(m).forEach(p=>{p!=="cimode"&&u.indexOf(p)<0&&u.push(p)})};o?f(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(g=>f(g)),this.options.preload?.forEach?.(m=>f(m)),this.services.backendConnector.load(u,this.options.ns,m=>{!m&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(m)})}else r(null)}reloadResources(t,a,r){const o=Vv();return typeof t=="function"&&(r=t,t=void 0),typeof a=="function"&&(r=a,a=void 0),t||(t=this.languages),a||(a=this.options.ns),r||(r=W1),this.services.backendConnector.reload(t,a,u=>{o.resolve(),r(u)}),o}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&z3.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1)){for(let a=0;a<this.languages.length;a++){const r=this.languages[a];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(t)<0&&this.store.hasLanguageSomeTranslations(t)&&(this.resolvedLanguage=t,this.languages.unshift(t))}}changeLanguage(t,a){this.isLanguageChangingTo=t;const r=Vv();this.emit("languageChanging",t);const o=m=>{this.language=m,this.languages=this.services.languageUtils.toResolveHierarchy(m),this.resolvedLanguage=void 0,this.setResolvedLanguage(m)},u=(m,g)=>{g?this.isLanguageChangingTo===t&&(o(g),this.translator.changeLanguage(g),this.isLanguageChangingTo=void 0,this.emit("languageChanged",g),this.logger.log("languageChanged",g)):this.isLanguageChangingTo=void 0,r.resolve((...p)=>this.t(...p)),a&&a(m,(...p)=>this.t(...p))},f=m=>{!t&&!m&&this.services.languageDetector&&(m=[]);const g=sn(m)?m:m&&m[0],p=this.store.hasLanguageSomeTranslations(g)?g:this.services.languageUtils.getBestMatchFromCodes(sn(m)?[m]:m);p&&(this.language||o(p),this.translator.language||this.translator.changeLanguage(p),this.services.languageDetector?.cacheUserLanguage?.(p)),this.loadResources(p,v=>{u(v,p)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?f(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(f):this.services.languageDetector.detect(f):f(t),r}getFixedT(t,a,r){const o=(u,f,...m)=>{let g;typeof f!="object"?g=this.options.overloadTranslationOptionHandler([u,f].concat(m)):g={...f},g.lng=g.lng||o.lng,g.lngs=g.lngs||o.lngs,g.ns=g.ns||o.ns,g.keyPrefix!==""&&(g.keyPrefix=g.keyPrefix||r||o.keyPrefix);const p=this.options.keySeparator||".";let v;return g.keyPrefix&&Array.isArray(u)?v=u.map(x=>`${g.keyPrefix}${p}${x}`):v=g.keyPrefix?`${g.keyPrefix}${p}${u}`:u,this.t(v,g)};return sn(t)?o.lng=t:o.lngs=t,o.ns=a,o.keyPrefix=r,o}t(...t){return this.translator?.translate(...t)}exists(...t){return this.translator?.exists(...t)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t,a={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=a.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const f=(m,g)=>{const p=this.services.backendConnector.state[`${m}|${g}`];return p===-1||p===0||p===2};if(a.precheck){const m=a.precheck(this,f);if(m!==void 0)return m}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||f(r,t)&&(!o||f(u,t)))}loadNamespaces(t,a){const r=Vv();return this.options.ns?(sn(t)&&(t=[t]),t.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),a&&a(o)}),r):(a&&a(),Promise.resolve())}loadLanguages(t,a){const r=Vv();sn(t)&&(t=[t]);const o=this.options.preload||[],u=t.filter(f=>o.indexOf(f)<0&&this.services.languageUtils.isSupportedCode(f));return u.length?(this.options.preload=o.concat(u),this.loadResources(f=>{r.resolve(),a&&a(f)}),r):(a&&a(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!t)return"rtl";try{const o=new Intl.Locale(t);if(o&&o.getTextInfo){const u=o.getTextInfo();if(u&&u.direction)return u.direction}}catch{}const a=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services?.languageUtils||new V3(U3());return t.toLowerCase().indexOf("-latn")>1?"ltr":a.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(t={},a){return new Bv(t,a)}cloneInstance(t={},a=W1){const r=t.forkResourceStore;r&&delete t.forkResourceStore;const o={...this.options,...t,isClone:!0},u=new Bv(o);if((t.debug!==void 0||t.prefix!==void 0)&&(u.logger=u.logger.clone(t)),["store","services","language"].forEach(m=>{u[m]=this[m]}),u.services={...this.services},u.services.utils={hasLoadedNamespace:u.hasLoadedNamespace.bind(u)},r){const m=Object.keys(this.store.data).reduce((g,p)=>(g[p]={...this.store.data[p]},g[p]=Object.keys(g[p]).reduce((v,x)=>(v[x]={...g[p][x]},v),g[p]),g),{});u.store=new $3(m,o),u.services.resourceStore=u.store}return u.translator=new Y1(u.services,o),u.translator.on("*",(m,...g)=>{u.emit(m,...g)}),u.init(o,a),u.translator.options=o,u.translator.backendConnector.services.utils={hasLoadedNamespace:u.hasLoadedNamespace.bind(u)},u}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Kr=Bv.createInstance();Kr.createInstance=Bv.createInstance,Kr.createInstance,Kr.dir,Kr.init,Kr.loadResources,Kr.reloadResources,Kr.use,Kr.changeLanguage,Kr.getFixedT,Kr.t,Kr.exists,Kr.setDefaultNamespace,Kr.hasLoadedNamespace,Kr.loadNamespaces,Kr.loadLanguages;const o7=(e,t,a,r)=>{const o=[a,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(o,"warn","react-i18next::",!0);_d(o[0])&&(o[0]=`react-i18next:: ${o[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...o):console?.warn&&console.warn(...o)},F3={},HE=(e,t,a,r)=>{_d(a)&&F3[a]||(_d(a)&&(F3[a]=new Date),o7(e,t,a,r))},G3=(e,t)=>()=>{if(e.isInitialized)t();else{const a=()=>{setTimeout(()=>{e.off("initialized",a)},0),t()};e.on("initialized",a)}},BE=(e,t,a)=>{e.loadNamespaces(t,G3(e,a))},q3=(e,t,a,r)=>{if(_d(a)&&(a=[a]),e.options.preload&&e.options.preload.indexOf(t)>-1)return BE(e,a,r);a.forEach(o=>{e.options.ns.indexOf(o)<0&&e.options.ns.push(o)}),e.loadLanguages(t,G3(e,r))},l7=(e,t,a={})=>!t.languages||!t.languages.length?(HE(t,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:a.lng,precheck:(r,o)=>{if(a.bindI18n?.indexOf("languageChanging")>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!o(r.isLanguageChangingTo,e))return!1}}),_d=e=>typeof e=="string",s7=e=>typeof e=="object"&&e!==null,c7=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,u7={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},f7=e=>u7[e];let IE={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(c7,f7)};const d7=(e={})=>{IE={...IE,...e}},h7=()=>IE;let X3;const m7=e=>{X3=e},p7=()=>X3,g7={type:"3rdParty",init(e){d7(e.options.react),m7(e)}},v7=S.createContext();class y7{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(a=>{this.usedNamespaces[a]||(this.usedNamespaces[a]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const b7=(e,t)=>{const a=S.useRef();return S.useEffect(()=>{a.current=e},[e,t]),a.current},Y3=(e,t,a,r)=>e.getFixedT(t,a,r),S7=(e,t,a,r)=>S.useCallback(Y3(e,t,a,r),[e,t,a,r]),x7=(e,t={})=>{const{i18n:a}=t,{i18n:r,defaultNS:o}=S.useContext(v7)||{},u=a||r||p7();if(u&&!u.reportNamespaces&&(u.reportNamespaces=new y7),!u){HE(u,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const L=(V,B)=>_d(B)?B:s7(B)&&_d(B.defaultValue)?B.defaultValue:Array.isArray(V)?V[V.length-1]:V,z=[L,{},!1];return z.t=L,z.i18n={},z.ready=!1,z}u.options.react?.wait&&HE(u,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const f={...h7(),...u.options.react,...t},{useSuspense:m,keyPrefix:g}=f;let p=o||u.options?.defaultNS;p=_d(p)?[p]:p||["translation"],u.reportNamespaces.addUsedNamespaces?.(p);const v=(u.isInitialized||u.initializedStoreOnce)&&p.every(L=>l7(L,u,f)),x=S7(u,t.lng||null,f.nsMode==="fallback"?p:p[0],g),C=()=>x,O=()=>Y3(u,t.lng||null,f.nsMode==="fallback"?p:p[0],g),[T,M]=S.useState(C);let R=p.join();t.lng&&(R=`${t.lng}${R}`);const _=b7(R),N=S.useRef(!0);S.useEffect(()=>{const{bindI18n:L,bindI18nStore:z}=f;N.current=!0,!v&&!m&&(t.lng?q3(u,t.lng,p,()=>{N.current&&M(O)}):BE(u,p,()=>{N.current&&M(O)})),v&&_&&_!==R&&N.current&&M(O);const V=()=>{N.current&&M(O)};return L&&u?.on(L,V),z&&u?.store.on(z,V),()=>{N.current=!1,u&&L?.split(" ").forEach(B=>u.off(B,V)),z&&u&&z.split(" ").forEach(B=>u.store.off(B,V))}},[u,R]),S.useEffect(()=>{N.current&&v&&M(C)},[u,g,v]);const j=[T,u,v];if(j.t=T,j.i18n=u,j.ready=v,v||!v&&!m)return j;throw new Promise(L=>{t.lng?q3(u,t.lng,p,()=>L()):BE(u,p,()=>L())})},C7={en:{translation:{welcome:"Hi there, you’re speaking with Jaweb AI Assistant."}},ar:{translation:{welcome:"مرحبًا، أنت تتحدث إلى مساعد Jaweb AI."}}};Kr.use(g7).init({resources:C7,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1}});const E7=3,w7=3e3,O7=()=>{const[e,t]=S.useState(!0),[a,r]=S.useState(!0),[o,u]=S.useState(""),[f,m]=S.useState(""),[g,p]=S.useState(!1),[v,x]=S.useState(!1),[C,O]=S.useState(""),[T,M]=S.useState(""),[R,_]=S.useState(null),[N,j]=S.useState(""),[L,z]=S.useState([]),[V,B]=S.useState([]),[D,P]=S.useState(""),[H,K]=S.useState(!1),[X,W]=S.useState(""),Q=async(ie=0)=>{const U=localStorage.getItem("company_username");t(!0);const G={headers:{"Content-Type":"application/json",Accept:"application/json"},params:{username:U}};try{const se=(await za.get(`${oi.apiUrl}chatbot-details/`,G)).data.data;se.language==="Arabic"?Kr.changeLanguage("ar"):Kr.changeLanguage("en"),console.log(se),r(se.chatbot_form),u(se.chatbot_color),m(se.chatbot_logo),p(se.disable_chatbot_globally),x(se.remove_powered_by_jaweb),O(se.chatbot_initial_msg),M(se.status),P(se.mode),_(se.calendly_link??null),K(se.disable_checkout),W(se.chatbot_name),se.calendly_link&&_(se.calendly_link),se.phone_number_id&&j(`+${se.phone_number_id}`);const F=await za.get(`${oi.apiUrl}chatbot-plugin-suggestions/`,G);let q=[];Array.isArray(F.data.data)?q=F.data.data:Array.isArray(F.data.user_questions)&&(q=F.data.user_questions),q.length>0?(z(q.slice(0,3)),B(q.slice(3))):(z([]),B([])),t(!1)}catch(Z){console.error("Error fetching data:",Z),ie<E7?setTimeout(()=>Q(ie+1),w7):console.error("Max retries reached. Could not fetch data.")}};return S.useEffect(()=>{Q()},[]),{isFetchingDetails:e,disableForm:a,colorCode:o,chatbotLogo:f,disableChatbotGlobally:g,removePoweredByJaweb:v,initialMessageText:C,subscription:T,calendly:R,merchantPhone:N,messagesSuggestions:L,setMessagesSuggestions:z,restSuggestions:V,userType:D,disbleCheckout:H,chatbotName:X}};var UE={exports:{}};/*!
|
|
324
|
+
`+u):r.stack=u}catch{}}throw r}}_request(t,a){typeof t=="string"?(a=a||{},a.url=t):a=t||{},a=Ad(this.defaults,a);const{transitional:r,paramsSerializer:o,headers:u}=a;r!==void 0&&F1.assertOptions(r,{silentJSONParsing:Xs.transitional(Xs.boolean),forcedJSONParsing:Xs.transitional(Xs.boolean),clarifyTimeoutError:Xs.transitional(Xs.boolean)},!1),o!=null&&(Ye.isFunction(o)?a.paramsSerializer={serialize:o}:F1.assertOptions(o,{encode:Xs.function,serialize:Xs.function},!0)),a.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?a.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:a.allowAbsoluteUrls=!0),F1.assertOptions(a,{baseUrl:Xs.spelling("baseURL"),withXsrfToken:Xs.spelling("withXSRFToken")},!0),a.method=(a.method||this.defaults.method||"get").toLowerCase();let f=u&&Ye.merge(u.common,u[a.method]);u&&Ye.forEach(["delete","get","head","post","put","patch","common"],T=>{delete u[T]}),a.headers=vo.concat(f,u);const m=[];let g=!0;this.interceptors.request.forEach(function(M){typeof M.runWhen=="function"&&M.runWhen(a)===!1||(g=g&&M.synchronous,m.unshift(M.fulfilled,M.rejected))});const p=[];this.interceptors.response.forEach(function(M){p.push(M.fulfilled,M.rejected)});let v,x=0,C;if(!g){const T=[w3.bind(this),void 0];for(T.unshift.apply(T,m),T.push.apply(T,p),C=T.length,v=Promise.resolve(a);x<C;)v=v.then(T[x++],T[x++]);return v}C=m.length;let O=a;for(x=0;x<C;){const T=m[x++],M=m[x++];try{O=T(O)}catch(R){M.call(this,R);break}}try{v=w3.call(this,O)}catch(T){return Promise.reject(T)}for(x=0,C=p.length;x<C;)v=v.then(p[x++],p[x++]);return v}getUri(t){t=Ad(this.defaults,t);const a=p3(t.baseURL,t.url,t.allowAbsoluteUrls);return o3(a,t.params,t.paramsSerializer)}};Ye.forEach(["delete","get","head","options"],function(t){Md.prototype[t]=function(a,r){return this.request(Ad(r||{},{method:t,url:a,data:(r||{}).data}))}}),Ye.forEach(["post","put","patch"],function(t){function a(r){return function(u,f,m){return this.request(Ad(m||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:u,data:f}))}}Md.prototype[t]=a(),Md.prototype[t+"Form"]=a(!0)});let PP=class aV{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let a;this.promise=new Promise(function(u){a=u});const r=this;this.promise.then(o=>{if(!r._listeners)return;let u=r._listeners.length;for(;u-- >0;)r._listeners[u](o);r._listeners=null}),this.promise.then=o=>{let u;const f=new Promise(m=>{r.subscribe(m),u=m}).then(o);return f.cancel=function(){r.unsubscribe(u)},f},t(function(u,f,m){r.reason||(r.reason=new Mm(u,f,m),a(r.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 a=this._listeners.indexOf(t);a!==-1&&this._listeners.splice(a,1)}toAbortSignal(){const t=new AbortController,a=r=>{t.abort(r)};return this.subscribe(a),t.signal.unsubscribe=()=>this.unsubscribe(a),t.signal}static source(){let t;return{token:new aV(function(o){t=o}),cancel:t}}};function HP(e){return function(a){return e.apply(null,a)}}function BP(e){return Ye.isObject(e)&&e.isAxiosError===!0}const LE={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};Object.entries(LE).forEach(([e,t])=>{LE[t]=e});function R3(e){const t=new Md(e),a=GM(Md.prototype.request,t);return Ye.extend(a,Md.prototype,t,{allOwnKeys:!0}),Ye.extend(a,t,null,{allOwnKeys:!0}),a.create=function(o){return R3(Ad(e,o))},a}const za=R3(jv);za.Axios=Md,za.CanceledError=Mm,za.CancelToken=PP,za.isCancel=f3,za.VERSION=O3,za.toFormData=P1,za.AxiosError=Cn,za.Cancel=za.CanceledError,za.all=function(t){return Promise.all(t)},za.spread=HP,za.isAxiosError=BP,za.mergeConfig=Ad,za.AxiosHeaders=vo,za.formToJSON=e=>c3(Ye.isHTMLForm(e)?new FormData(e):e),za.getAdapter=E3.getAdapter,za.HttpStatusCode=LE,za.default=za;const{Axios:Hle,AxiosError:Ble,CanceledError:Ile,isCancel:Ule,CancelToken:kle,VERSION:Fle,all:Gle,Cancel:qle,isAxiosError:Xle,spread:Yle,toFormData:Wle,AxiosHeaders:Kle,HttpStatusCode:Zle,formToJSON:Qle,getAdapter:Jle,mergeConfig:ese}=za,oi={apiUrl:"https://jawebcrm.onrender.com/api/",websocketUrl:"wss://jawebcrm.onrender.com/ws"},sn=e=>typeof e=="string",Vv=()=>{let e,t;const a=new Promise((r,o)=>{e=r,t=o});return a.resolve=e,a.reject=t,a},A3=e=>e==null?"":""+e,IP=(e,t,a)=>{e.forEach(r=>{t[r]&&(a[r]=t[r])})},UP=/###/g,M3=e=>e&&e.indexOf("###")>-1?e.replace(UP,"."):e,_3=e=>!e||sn(e),Pv=(e,t,a)=>{const r=sn(t)?t.split("."):t;let o=0;for(;o<r.length-1;){if(_3(e))return{};const u=M3(r[o]);!e[u]&&a&&(e[u]=new a),Object.prototype.hasOwnProperty.call(e,u)?e=e[u]:e={},++o}return _3(e)?{}:{obj:e,k:M3(r[o])}},N3=(e,t,a)=>{const{obj:r,k:o}=Pv(e,t,Object);if(r!==void 0||t.length===1){r[o]=a;return}let u=t[t.length-1],f=t.slice(0,t.length-1),m=Pv(e,f,Object);for(;m.obj===void 0&&f.length;)u=`${f[f.length-1]}.${u}`,f=f.slice(0,f.length-1),m=Pv(e,f,Object),m?.obj&&typeof m.obj[`${m.k}.${u}`]<"u"&&(m.obj=void 0);m.obj[`${m.k}.${u}`]=a},kP=(e,t,a,r)=>{const{obj:o,k:u}=Pv(e,t,Object);o[u]=o[u]||[],o[u].push(a)},G1=(e,t)=>{const{obj:a,k:r}=Pv(e,t);if(a&&Object.prototype.hasOwnProperty.call(a,r))return a[r]},FP=(e,t,a)=>{const r=G1(e,a);return r!==void 0?r:G1(t,a)},D3=(e,t,a)=>{for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?sn(e[r])||e[r]instanceof String||sn(t[r])||t[r]instanceof String?a&&(e[r]=t[r]):D3(e[r],t[r],a):e[r]=t[r]);return e},_m=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var GP={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const qP=e=>sn(e)?e.replace(/[&<>"'\/]/g,t=>GP[t]):e;class XP{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const a=this.regExpMap.get(t);if(a!==void 0)return a;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const YP=[" ",",","?","!",";"],WP=new XP(20),KP=(e,t,a)=>{t=t||"",a=a||"";const r=YP.filter(f=>t.indexOf(f)<0&&a.indexOf(f)<0);if(r.length===0)return!0;const o=WP.getRegExp(`(${r.map(f=>f==="?"?"\\?":f).join("|")})`);let u=!o.test(e);if(!u){const f=e.indexOf(a);f>0&&!o.test(e.substring(0,f))&&(u=!0)}return u},VE=(e,t,a=".")=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;const r=t.split(a);let o=e;for(let u=0;u<r.length;){if(!o||typeof o!="object")return;let f,m="";for(let g=u;g<r.length;++g)if(g!==u&&(m+=a),m+=r[g],f=o[m],f!==void 0){if(["string","number","boolean"].indexOf(typeof f)>-1&&g<r.length-1)continue;u+=g-u+1;break}o=f}return o},Hv=e=>e?.replace("_","-"),ZP={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class q1{constructor(t,a={}){this.init(t,a)}init(t,a={}){this.prefix=a.prefix||"i18next:",this.logger=t||ZP,this.options=a,this.debug=a.debug}log(...t){return this.forward(t,"log","",!0)}warn(...t){return this.forward(t,"warn","",!0)}error(...t){return this.forward(t,"error","")}deprecate(...t){return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(t,a,r,o){return o&&!this.debug?null:(sn(t[0])&&(t[0]=`${r}${this.prefix} ${t[0]}`),this.logger[a](t))}create(t){return new q1(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t=t||this.options,t.prefix=t.prefix||this.prefix,new q1(this.logger,t)}}var Ys=new q1;class X1{constructor(){this.observers={}}on(t,a){return t.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const o=this.observers[r].get(a)||0;this.observers[r].set(a,o+1)}),this}off(t,a){if(this.observers[t]){if(!a){delete this.observers[t];return}this.observers[t].delete(a)}}emit(t,...a){this.observers[t]&&Array.from(this.observers[t].entries()).forEach(([o,u])=>{for(let f=0;f<u;f++)o(...a)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([o,u])=>{for(let f=0;f<u;f++)o.apply(o,[t,...a])})}}class $3 extends X1{constructor(t,a={ns:["translation"],defaultNS:"translation"}){super(),this.data=t||{},this.options=a,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const a=this.options.ns.indexOf(t);a>-1&&this.options.ns.splice(a,1)}getResource(t,a,r,o={}){const u=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,f=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let m;t.indexOf(".")>-1?m=t.split("."):(m=[t,a],r&&(Array.isArray(r)?m.push(...r):sn(r)&&u?m.push(...r.split(u)):m.push(r)));const g=G1(this.data,m);return!g&&!a&&!r&&t.indexOf(".")>-1&&(t=m[0],a=m[1],r=m.slice(2).join(".")),g||!f||!sn(r)?g:VE(this.data?.[t]?.[a],r,u)}addResource(t,a,r,o,u={silent:!1}){const f=u.keySeparator!==void 0?u.keySeparator:this.options.keySeparator;let m=[t,a];r&&(m=m.concat(f?r.split(f):r)),t.indexOf(".")>-1&&(m=t.split("."),o=a,a=m[1]),this.addNamespaces(a),N3(this.data,m,o),u.silent||this.emit("added",t,a,r,o)}addResources(t,a,r,o={silent:!1}){for(const u in r)(sn(r[u])||Array.isArray(r[u]))&&this.addResource(t,a,u,r[u],{silent:!0});o.silent||this.emit("added",t,a,r)}addResourceBundle(t,a,r,o,u,f={silent:!1,skipCopy:!1}){let m=[t,a];t.indexOf(".")>-1&&(m=t.split("."),o=r,r=a,a=m[1]),this.addNamespaces(a);let g=G1(this.data,m)||{};f.skipCopy||(r=JSON.parse(JSON.stringify(r))),o?D3(g,r,u):g={...g,...r},N3(this.data,m,g),f.silent||this.emit("added",t,a,r)}removeResourceBundle(t,a){this.hasResourceBundle(t,a)&&delete this.data[t][a],this.removeNamespaces(a),this.emit("removed",t,a)}hasResourceBundle(t,a){return this.getResource(t,a)!==void 0}getResourceBundle(t,a){return a||(a=this.options.defaultNS),this.getResource(t,a)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const a=this.getDataByLanguage(t);return!!(a&&Object.keys(a)||[]).find(o=>a[o]&&Object.keys(a[o]).length>0)}toJSON(){return this.data}}var z3={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,a,r,o){return e.forEach(u=>{t=this.processors[u]?.process(t,a,r,o)??t}),t}};const j3={},L3=e=>!sn(e)&&typeof e!="boolean"&&typeof e!="number";class Y1 extends X1{constructor(t,a={}){super(),IP(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=a,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Ys.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t,a={interpolation:{}}){const r={...a};return t==null?!1:this.resolve(t,r)?.res!==void 0}extractFromKey(t,a){let r=a.nsSeparator!==void 0?a.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator;let u=a.ns||this.options.defaultNS||[];const f=r&&t.indexOf(r)>-1,m=!this.options.userDefinedKeySeparator&&!a.keySeparator&&!this.options.userDefinedNsSeparator&&!a.nsSeparator&&!KP(t,r,o);if(f&&!m){const g=t.match(this.interpolator.nestingRegexp);if(g&&g.length>0)return{key:t,namespaces:sn(u)?[u]:u};const p=t.split(r);(r!==o||r===o&&this.options.ns.indexOf(p[0])>-1)&&(u=p.shift()),t=p.join(o)}return{key:t,namespaces:sn(u)?[u]:u}}translate(t,a,r){let o=typeof a=="object"?{...a}:a;if(typeof o!="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),typeof options=="object"&&(o={...o}),o||(o={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const u=o.returnDetails!==void 0?o.returnDetails:this.options.returnDetails,f=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,{key:m,namespaces:g}=this.extractFromKey(t[t.length-1],o),p=g[g.length-1];let v=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;v===void 0&&(v=":");const x=o.lng||this.language,C=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(x?.toLowerCase()==="cimode")return C?u?{res:`${p}${v}${m}`,usedKey:m,exactUsedKey:m,usedLng:x,usedNS:p,usedParams:this.getUsedParamsDetails(o)}:`${p}${v}${m}`:u?{res:m,usedKey:m,exactUsedKey:m,usedLng:x,usedNS:p,usedParams:this.getUsedParamsDetails(o)}:m;const O=this.resolve(t,o);let T=O?.res;const M=O?.usedKey||m,R=O?.exactUsedKey||m,_=["[object Number]","[object Function]","[object RegExp]"],N=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,j=!this.i18nFormat||this.i18nFormat.handleAsObject,L=o.count!==void 0&&!sn(o.count),z=Y1.hasDefaultValue(o),V=L?this.pluralResolver.getSuffix(x,o.count,o):"",B=o.ordinal&&L?this.pluralResolver.getSuffix(x,o.count,{ordinal:!1}):"",D=L&&!o.ordinal&&o.count===0,P=D&&o[`defaultValue${this.options.pluralSeparator}zero`]||o[`defaultValue${V}`]||o[`defaultValue${B}`]||o.defaultValue;let H=T;j&&!T&&z&&(H=P);const K=L3(H),X=Object.prototype.toString.apply(H);if(j&&H&&K&&_.indexOf(X)<0&&!(sn(N)&&Array.isArray(H))){if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const W=this.options.returnedObjectHandler?this.options.returnedObjectHandler(M,H,{...o,ns:g}):`key '${m} (${this.language})' returned an object instead of string.`;return u?(O.res=W,O.usedParams=this.getUsedParamsDetails(o),O):W}if(f){const W=Array.isArray(H),Q=W?[]:{},ie=W?R:M;for(const U in H)if(Object.prototype.hasOwnProperty.call(H,U)){const G=`${ie}${f}${U}`;z&&!T?Q[U]=this.translate(G,{...o,defaultValue:L3(P)?P[U]:void 0,joinArrays:!1,ns:g}):Q[U]=this.translate(G,{...o,joinArrays:!1,ns:g}),Q[U]===G&&(Q[U]=H[U])}T=Q}}else if(j&&sn(N)&&Array.isArray(T))T=T.join(N),T&&(T=this.extendTranslation(T,t,o,r));else{let W=!1,Q=!1;!this.isValidLookup(T)&&z&&(W=!0,T=P),this.isValidLookup(T)||(Q=!0,T=m);const U=(o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&Q?void 0:T,G=z&&P!==T&&this.options.updateMissing;if(Q||W||G){if(this.logger.log(G?"updateKey":"missingKey",x,p,m,G?P:T),f){const q=this.resolve(m,{...o,keySeparator:!1});q&&q.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let Z=[];const se=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&se&&se[0])for(let q=0;q<se.length;q++)Z.push(se[q]);else this.options.saveMissingTo==="all"?Z=this.languageUtils.toResolveHierarchy(o.lng||this.language):Z.push(o.lng||this.language);const F=(q,ee,ne)=>{const oe=z&&ne!==T?ne:U;this.options.missingKeyHandler?this.options.missingKeyHandler(q,p,ee,oe,G,o):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(q,p,ee,oe,G,o),this.emit("missingKey",q,p,ee,T)};this.options.saveMissing&&(this.options.saveMissingPlurals&&L?Z.forEach(q=>{const ee=this.pluralResolver.getSuffixes(q,o);D&&o[`defaultValue${this.options.pluralSeparator}zero`]&&ee.indexOf(`${this.options.pluralSeparator}zero`)<0&&ee.push(`${this.options.pluralSeparator}zero`),ee.forEach(ne=>{F([q],m+ne,o[`defaultValue${ne}`]||P)})}):F(Z,m,P))}T=this.extendTranslation(T,t,o,O,r),Q&&T===m&&this.options.appendNamespaceToMissingKey&&(T=`${p}${v}${m}`),(Q||W)&&this.options.parseMissingKeyHandler&&(T=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${p}${v}${m}`:m,W?T:void 0,o))}return u?(O.res=T,O.usedParams=this.getUsedParamsDetails(o),O):T}extendTranslation(t,a,r,o,u){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const g=sn(t)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let p;if(g){const x=t.match(this.interpolator.nestingRegexp);p=x&&x.length}let v=r.replace&&!sn(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(v={...this.options.interpolation.defaultVariables,...v}),t=this.interpolator.interpolate(t,v,r.lng||this.language||o.usedLng,r),g){const x=t.match(this.interpolator.nestingRegexp),C=x&&x.length;p<C&&(r.nest=!1)}!r.lng&&o&&o.res&&(r.lng=this.language||o.usedLng),r.nest!==!1&&(t=this.interpolator.nest(t,(...x)=>u?.[0]===x[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${x[0]} in key: ${a[0]}`),null):this.translate(...x,a),r)),r.interpolation&&this.interpolator.reset()}const f=r.postProcess||this.options.postProcess,m=sn(f)?[f]:f;return t!=null&&m?.length&&r.applyPostProcessor!==!1&&(t=z3.handle(m,t,a,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),t}resolve(t,a={}){let r,o,u,f,m;return sn(t)&&(t=[t]),t.forEach(g=>{if(this.isValidLookup(r))return;const p=this.extractFromKey(g,a),v=p.key;o=v;let x=p.namespaces;this.options.fallbackNS&&(x=x.concat(this.options.fallbackNS));const C=a.count!==void 0&&!sn(a.count),O=C&&!a.ordinal&&a.count===0,T=a.context!==void 0&&(sn(a.context)||typeof a.context=="number")&&a.context!=="",M=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);x.forEach(R=>{this.isValidLookup(r)||(m=R,!j3[`${M[0]}-${R}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(m)&&(j3[`${M[0]}-${R}`]=!0,this.logger.warn(`key "${o}" for languages "${M.join(", ")}" won't get resolved as namespace "${m}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),M.forEach(_=>{if(this.isValidLookup(r))return;f=_;const N=[v];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(N,v,_,R,a);else{let L;C&&(L=this.pluralResolver.getSuffix(_,a.count,a));const z=`${this.options.pluralSeparator}zero`,V=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(C&&(N.push(v+L),a.ordinal&&L.indexOf(V)===0&&N.push(v+L.replace(V,this.options.pluralSeparator)),O&&N.push(v+z)),T){const B=`${v}${this.options.contextSeparator}${a.context}`;N.push(B),C&&(N.push(B+L),a.ordinal&&L.indexOf(V)===0&&N.push(B+L.replace(V,this.options.pluralSeparator)),O&&N.push(B+z))}}let j;for(;j=N.pop();)this.isValidLookup(r)||(u=j,r=this.getResource(_,R,j,a))}))})}),{res:r,usedKey:o,exactUsedKey:u,usedLng:f,usedNS:m}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,a,r,o={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(t,a,r,o):this.resourceStore.getResource(t,a,r,o)}getUsedParamsDetails(t={}){const a=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&!sn(t.replace);let o=r?t.replace:t;if(r&&typeof t.count<"u"&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const u of a)delete o[u]}return o}static hasDefaultValue(t){const a="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&a===r.substring(0,a.length)&&t[r]!==void 0)return!0;return!1}}class V3{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Ys.create("languageUtils")}getScriptPartFromCode(t){if(t=Hv(t),!t||t.indexOf("-")<0)return null;const a=t.split("-");return a.length===2||(a.pop(),a[a.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(a.join("-"))}getLanguagePartFromCode(t){if(t=Hv(t),!t||t.indexOf("-")<0)return t;const a=t.split("-");return this.formatLanguageCode(a[0])}formatLanguageCode(t){if(sn(t)&&t.indexOf("-")>-1){let a;try{a=Intl.getCanonicalLocales(t)[0]}catch{}return a&&this.options.lowerCaseLng&&(a=a.toLowerCase()),a||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let a;return t.forEach(r=>{if(a)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(a=o)}),!a&&this.options.supportedLngs&&t.forEach(r=>{if(a)return;const o=this.getScriptPartFromCode(r);if(this.isSupportedCode(o))return a=o;const u=this.getLanguagePartFromCode(r);if(this.isSupportedCode(u))return a=u;a=this.options.supportedLngs.find(f=>{if(f===u)return f;if(!(f.indexOf("-")<0&&u.indexOf("-")<0)&&(f.indexOf("-")>0&&u.indexOf("-")<0&&f.substring(0,f.indexOf("-"))===u||f.indexOf(u)===0&&u.length>1))return f})}),a||(a=this.getFallbackCodes(this.options.fallbackLng)[0]),a}getFallbackCodes(t,a){if(!t)return[];if(typeof t=="function"&&(t=t(a)),sn(t)&&(t=[t]),Array.isArray(t))return t;if(!a)return t.default||[];let r=t[a];return r||(r=t[this.getScriptPartFromCode(a)]),r||(r=t[this.formatLanguageCode(a)]),r||(r=t[this.getLanguagePartFromCode(a)]),r||(r=t.default),r||[]}toResolveHierarchy(t,a){const r=this.getFallbackCodes((a===!1?[]:a)||this.options.fallbackLng||[],t),o=[],u=f=>{f&&(this.isSupportedCode(f)?o.push(f):this.logger.warn(`rejecting language code not found in supportedLngs: ${f}`))};return sn(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&u(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&u(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&u(this.getLanguagePartFromCode(t))):sn(t)&&u(this.formatLanguageCode(t)),r.forEach(f=>{o.indexOf(f)<0&&u(this.formatLanguageCode(f))}),o}}const P3={zero:0,one:1,two:2,few:3,many:4,other:5},H3={select:e=>e===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class QP{constructor(t,a={}){this.languageUtils=t,this.options=a,this.logger=Ys.create("pluralResolver"),this.pluralRulesCache={}}addRule(t,a){this.rules[t]=a}clearCache(){this.pluralRulesCache={}}getRule(t,a={}){const r=Hv(t==="dev"?"en":t),o=a.ordinal?"ordinal":"cardinal",u=JSON.stringify({cleanedCode:r,type:o});if(u in this.pluralRulesCache)return this.pluralRulesCache[u];let f;try{f=new Intl.PluralRules(r,{type:o})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),H3;if(!t.match(/-|_/))return H3;const g=this.languageUtils.getLanguagePartFromCode(t);f=this.getRule(g,a)}return this.pluralRulesCache[u]=f,f}needsPlural(t,a={}){let r=this.getRule(t,a);return r||(r=this.getRule("dev",a)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(t,a,r={}){return this.getSuffixes(t,r).map(o=>`${a}${o}`)}getSuffixes(t,a={}){let r=this.getRule(t,a);return r||(r=this.getRule("dev",a)),r?r.resolvedOptions().pluralCategories.sort((o,u)=>P3[o]-P3[u]).map(o=>`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${o}`):[]}getSuffix(t,a,r={}){const o=this.getRule(t,r);return o?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(a)}`:(this.logger.warn(`no plural rule found for: ${t}`),this.getSuffix("dev",a,r))}}const B3=(e,t,a,r=".",o=!0)=>{let u=FP(e,t,a);return!u&&o&&sn(a)&&(u=VE(e,a,r),u===void 0&&(u=VE(t,a,r))),u},PE=e=>e.replace(/\$/g,"$$$$");class JP{constructor(t={}){this.logger=Ys.create("interpolator"),this.options=t,this.format=t?.interpolation?.format||(a=>a),this.init(t)}init(t={}){t.interpolation||(t.interpolation={escapeValue:!0});const{escape:a,escapeValue:r,useRawValueToEscape:o,prefix:u,prefixEscaped:f,suffix:m,suffixEscaped:g,formatSeparator:p,unescapeSuffix:v,unescapePrefix:x,nestingPrefix:C,nestingPrefixEscaped:O,nestingSuffix:T,nestingSuffixEscaped:M,nestingOptionsSeparator:R,maxReplaces:_,alwaysFormat:N}=t.interpolation;this.escape=a!==void 0?a:qP,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=u?_m(u):f||"{{",this.suffix=m?_m(m):g||"}}",this.formatSeparator=p||",",this.unescapePrefix=v?"":x||"-",this.unescapeSuffix=this.unescapePrefix?"":v||"",this.nestingPrefix=C?_m(C):O||_m("$t("),this.nestingSuffix=T?_m(T):M||_m(")"),this.nestingOptionsSeparator=R||",",this.maxReplaces=_||1e3,this.alwaysFormat=N!==void 0?N:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(a,r)=>a?.source===r?(a.lastIndex=0,a):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,a,r,o){let u,f,m;const g=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},p=O=>{if(O.indexOf(this.formatSeparator)<0){const _=B3(a,g,O,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(_,void 0,r,{...o,...a,interpolationkey:O}):_}const T=O.split(this.formatSeparator),M=T.shift().trim(),R=T.join(this.formatSeparator).trim();return this.format(B3(a,g,M,this.options.keySeparator,this.options.ignoreJSONStructure),R,r,{...o,...a,interpolationkey:M})};this.resetRegExp();const v=o?.missingInterpolationHandler||this.options.missingInterpolationHandler,x=o?.interpolation?.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:O=>PE(O)},{regex:this.regexp,safeValue:O=>this.escapeValue?PE(this.escape(O)):PE(O)}].forEach(O=>{for(m=0;u=O.regex.exec(t);){const T=u[1].trim();if(f=p(T),f===void 0)if(typeof v=="function"){const R=v(t,u,o);f=sn(R)?R:""}else if(o&&Object.prototype.hasOwnProperty.call(o,T))f="";else if(x){f=u[0];continue}else this.logger.warn(`missed to pass in variable ${T} for interpolating ${t}`),f="";else!sn(f)&&!this.useRawValueToEscape&&(f=A3(f));const M=O.safeValue(f);if(t=t.replace(u[0],M),x?(O.regex.lastIndex+=f.length,O.regex.lastIndex-=u[0].length):O.regex.lastIndex=0,m++,m>=this.maxReplaces)break}}),t}nest(t,a,r={}){let o,u,f;const m=(g,p)=>{const v=this.nestingOptionsSeparator;if(g.indexOf(v)<0)return g;const x=g.split(new RegExp(`${v}[ ]*{`));let C=`{${x[1]}`;g=x[0],C=this.interpolate(C,f);const O=C.match(/'/g),T=C.match(/"/g);((O?.length??0)%2===0&&!T||T.length%2!==0)&&(C=C.replace(/'/g,'"'));try{f=JSON.parse(C),p&&(f={...p,...f})}catch(M){return this.logger.warn(`failed parsing options string in nesting for key ${g}`,M),`${g}${v}${C}`}return f.defaultValue&&f.defaultValue.indexOf(this.prefix)>-1&&delete f.defaultValue,g};for(;o=this.nestingRegexp.exec(t);){let g=[];f={...r},f=f.replace&&!sn(f.replace)?f.replace:f,f.applyPostProcessor=!1,delete f.defaultValue;const p=/{.*}/.test(o[1])?o[1].lastIndexOf("}")+1:o[1].indexOf(this.formatSeparator);if(p!==-1&&(g=o[1].slice(p).split(this.formatSeparator).map(v=>v.trim()).filter(Boolean),o[1]=o[1].slice(0,p)),u=a(m.call(this,o[1].trim(),f),f),u&&o[0]===t&&!sn(u))return u;sn(u)||(u=A3(u)),u||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${t}`),u=""),g.length&&(u=g.reduce((v,x)=>this.format(v,x,r.lng,{...r,interpolationkey:o[1].trim()}),u.trim())),t=t.replace(o[0],u),this.regexp.lastIndex=0}return t}}const e7=e=>{let t=e.toLowerCase().trim();const a={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);t==="currency"&&o.indexOf(":")<0?a.currency||(a.currency=o.trim()):t==="relativetime"&&o.indexOf(":")<0?a.range||(a.range=o.trim()):o.split(";").forEach(f=>{if(f){const[m,...g]=f.split(":"),p=g.join(":").trim().replace(/^'+|'+$/g,""),v=m.trim();a[v]||(a[v]=p),p==="false"&&(a[v]=!1),p==="true"&&(a[v]=!0),isNaN(p)||(a[v]=parseInt(p,10))}})}return{formatName:t,formatOptions:a}},I3=e=>{const t={};return(a,r,o)=>{let u=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(u={...u,[o.interpolationkey]:void 0});const f=r+JSON.stringify(u);let m=t[f];return m||(m=e(Hv(r),o),t[f]=m),m(a)}},t7=e=>(t,a,r)=>e(Hv(a),r)(t);class n7{constructor(t={}){this.logger=Ys.create("formatter"),this.options=t,this.init(t)}init(t,a={interpolation:{}}){this.formatSeparator=a.interpolation.formatSeparator||",";const r=a.cacheInBuiltFormats?I3:t7;this.formats={number:r((o,u)=>{const f=new Intl.NumberFormat(o,{...u});return m=>f.format(m)}),currency:r((o,u)=>{const f=new Intl.NumberFormat(o,{...u,style:"currency"});return m=>f.format(m)}),datetime:r((o,u)=>{const f=new Intl.DateTimeFormat(o,{...u});return m=>f.format(m)}),relativetime:r((o,u)=>{const f=new Intl.RelativeTimeFormat(o,{...u});return m=>f.format(m,u.range||"day")}),list:r((o,u)=>{const f=new Intl.ListFormat(o,{...u});return m=>f.format(m)})}}add(t,a){this.formats[t.toLowerCase().trim()]=a}addCached(t,a){this.formats[t.toLowerCase().trim()]=I3(a)}format(t,a,r,o={}){const u=a.split(this.formatSeparator);if(u.length>1&&u[0].indexOf("(")>1&&u[0].indexOf(")")<0&&u.find(m=>m.indexOf(")")>-1)){const m=u.findIndex(g=>g.indexOf(")")>-1);u[0]=[u[0],...u.splice(1,m)].join(this.formatSeparator)}return u.reduce((m,g)=>{const{formatName:p,formatOptions:v}=e7(g);if(this.formats[p]){let x=m;try{const C=o?.formatParams?.[o.interpolationkey]||{},O=C.locale||C.lng||o.locale||o.lng||r;x=this.formats[p](m,O,{...v,...o,...C})}catch(C){this.logger.warn(C)}return x}else this.logger.warn(`there was no format function for ${p}`);return m},t)}}const a7=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)};class r7 extends X1{constructor(t,a,r,o={}){super(),this.backend=t,this.store=a,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=Ys.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,o.backend,o)}queueLoad(t,a,r,o){const u={},f={},m={},g={};return t.forEach(p=>{let v=!0;a.forEach(x=>{const C=`${p}|${x}`;!r.reload&&this.store.hasResourceBundle(p,x)?this.state[C]=2:this.state[C]<0||(this.state[C]===1?f[C]===void 0&&(f[C]=!0):(this.state[C]=1,v=!1,f[C]===void 0&&(f[C]=!0),u[C]===void 0&&(u[C]=!0),g[x]===void 0&&(g[x]=!0)))}),v||(m[p]=!0)}),(Object.keys(u).length||Object.keys(f).length)&&this.queue.push({pending:f,pendingCount:Object.keys(f).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(u),pending:Object.keys(f),toLoadLanguages:Object.keys(m),toLoadNamespaces:Object.keys(g)}}loaded(t,a,r){const o=t.split("|"),u=o[0],f=o[1];a&&this.emit("failedLoading",u,f,a),!a&&r&&this.store.addResourceBundle(u,f,r,void 0,void 0,{skipCopy:!0}),this.state[t]=a?-1:2,a&&r&&(this.state[t]=0);const m={};this.queue.forEach(g=>{kP(g.loaded,[u],f),a7(g,t),a&&g.errors.push(a),g.pendingCount===0&&!g.done&&(Object.keys(g.loaded).forEach(p=>{m[p]||(m[p]={});const v=g.loaded[p];v.length&&v.forEach(x=>{m[p][x]===void 0&&(m[p][x]=!0)})}),g.done=!0,g.errors.length?g.callback(g.errors):g.callback())}),this.emit("loaded",m),this.queue=this.queue.filter(g=>!g.done)}read(t,a,r,o=0,u=this.retryTimeout,f){if(!t.length)return f(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:a,fcName:r,tried:o,wait:u,callback:f});return}this.readingCalls++;const m=(p,v)=>{if(this.readingCalls--,this.waitingReads.length>0){const x=this.waitingReads.shift();this.read(x.lng,x.ns,x.fcName,x.tried,x.wait,x.callback)}if(p&&v&&o<this.maxRetries){setTimeout(()=>{this.read.call(this,t,a,r,o+1,u*2,f)},u);return}f(p,v)},g=this.backend[r].bind(this.backend);if(g.length===2){try{const p=g(t,a);p&&typeof p.then=="function"?p.then(v=>m(null,v)).catch(m):m(null,p)}catch(p){m(p)}return}return g(t,a,m)}prepareLoading(t,a,r={},o){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();sn(t)&&(t=this.languageUtils.toResolveHierarchy(t)),sn(a)&&(a=[a]);const u=this.queueLoad(t,a,r,o);if(!u.toLoad.length)return u.pending.length||o(),null;u.toLoad.forEach(f=>{this.loadOne(f)})}load(t,a,r){this.prepareLoading(t,a,{},r)}reload(t,a,r){this.prepareLoading(t,a,{reload:!0},r)}loadOne(t,a=""){const r=t.split("|"),o=r[0],u=r[1];this.read(o,u,"read",void 0,void 0,(f,m)=>{f&&this.logger.warn(`${a}loading namespace ${u} for language ${o} failed`,f),!f&&m&&this.logger.log(`${a}loaded namespace ${u} for language ${o}`,m),this.loaded(t,f,m)})}saveMissing(t,a,r,o,u,f={},m=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(a)){this.logger.warn(`did not save key "${r}" as the namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const g={...f,isUpdate:u},p=this.backend.create.bind(this.backend);if(p.length<6)try{let v;p.length===5?v=p(t,a,r,o,g):v=p(t,a,r,o),v&&typeof v.then=="function"?v.then(x=>m(null,x)).catch(m):m(null,v)}catch(v){m(v)}else p(t,a,r,o,m,g)}!t||!t[0]||this.store.addResource(t[0],a,r,o)}}}const U3=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]=="object"&&(t=e[1]),sn(e[1])&&(t.defaultValue=e[1]),sn(e[2])&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const a=e[3]||e[2];Object.keys(a).forEach(r=>{t[r]=a[r]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),k3=e=>(sn(e.ns)&&(e.ns=[e.ns]),sn(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),sn(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),typeof e.initImmediate=="boolean"&&(e.initAsync=e.initImmediate),e),W1=()=>{},i7=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(a=>{typeof e[a]=="function"&&(e[a]=e[a].bind(e))})};class Bv extends X1{constructor(t={},a){if(super(),this.options=k3(t),this.services={},this.logger=Ys,this.modules={external:[]},i7(this),a&&!this.isInitialized&&!t.isClone){if(!this.options.initAsync)return this.init(t,a),this;setTimeout(()=>{this.init(t,a)},0)}}init(t={},a){this.isInitializing=!0,typeof t=="function"&&(a=t,t={}),t.defaultNS==null&&t.ns&&(sn(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=U3();this.options={...r,...this.options,...k3(t)},this.options.interpolation={...r.interpolation,...this.options.interpolation},t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);const o=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?Ys.init(o(this.modules.logger),this.options):Ys.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=n7;const v=new V3(this.options);this.store=new $3(this.options.resources,this.options);const x=this.services;x.logger=Ys,x.resourceStore=this.store,x.languageUtils=v,x.pluralResolver=new QP(v,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.warn("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),p&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(x.formatter=o(p),x.formatter.init&&x.formatter.init(x,this.options),this.options.interpolation.format=x.formatter.format.bind(x.formatter)),x.interpolator=new JP(this.options),x.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},x.backendConnector=new r7(o(this.modules.backend),x.resourceStore,x,this.options),x.backendConnector.on("*",(O,...T)=>{this.emit(O,...T)}),this.modules.languageDetector&&(x.languageDetector=o(this.modules.languageDetector),x.languageDetector.init&&x.languageDetector.init(x,this.options.detection,this.options)),this.modules.i18nFormat&&(x.i18nFormat=o(this.modules.i18nFormat),x.i18nFormat.init&&x.i18nFormat.init(this)),this.translator=new Y1(this.services,this.options),this.translator.on("*",(O,...T)=>{this.emit(O,...T)}),this.modules.external.forEach(O=>{O.init&&O.init(this)})}if(this.format=this.options.interpolation.format,a||(a=W1),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=(...v)=>this.store[p](...v)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=(...v)=>(this.store[p](...v),this)});const m=Vv(),g=()=>{const p=(v,x)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),m.resolve(x),a(v,x)};if(this.languages&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initAsync?g():setTimeout(g,0),m}loadResources(t,a=W1){let r=a;const o=sn(t)?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(o?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const u=[],f=m=>{if(!m||m==="cimode")return;this.services.languageUtils.toResolveHierarchy(m).forEach(p=>{p!=="cimode"&&u.indexOf(p)<0&&u.push(p)})};o?f(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(g=>f(g)),this.options.preload?.forEach?.(m=>f(m)),this.services.backendConnector.load(u,this.options.ns,m=>{!m&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(m)})}else r(null)}reloadResources(t,a,r){const o=Vv();return typeof t=="function"&&(r=t,t=void 0),typeof a=="function"&&(r=a,a=void 0),t||(t=this.languages),a||(a=this.options.ns),r||(r=W1),this.services.backendConnector.reload(t,a,u=>{o.resolve(),r(u)}),o}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&z3.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1)){for(let a=0;a<this.languages.length;a++){const r=this.languages[a];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(t)<0&&this.store.hasLanguageSomeTranslations(t)&&(this.resolvedLanguage=t,this.languages.unshift(t))}}changeLanguage(t,a){this.isLanguageChangingTo=t;const r=Vv();this.emit("languageChanging",t);const o=m=>{this.language=m,this.languages=this.services.languageUtils.toResolveHierarchy(m),this.resolvedLanguage=void 0,this.setResolvedLanguage(m)},u=(m,g)=>{g?this.isLanguageChangingTo===t&&(o(g),this.translator.changeLanguage(g),this.isLanguageChangingTo=void 0,this.emit("languageChanged",g),this.logger.log("languageChanged",g)):this.isLanguageChangingTo=void 0,r.resolve((...p)=>this.t(...p)),a&&a(m,(...p)=>this.t(...p))},f=m=>{!t&&!m&&this.services.languageDetector&&(m=[]);const g=sn(m)?m:m&&m[0],p=this.store.hasLanguageSomeTranslations(g)?g:this.services.languageUtils.getBestMatchFromCodes(sn(m)?[m]:m);p&&(this.language||o(p),this.translator.language||this.translator.changeLanguage(p),this.services.languageDetector?.cacheUserLanguage?.(p)),this.loadResources(p,v=>{u(v,p)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?f(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(f):this.services.languageDetector.detect(f):f(t),r}getFixedT(t,a,r){const o=(u,f,...m)=>{let g;typeof f!="object"?g=this.options.overloadTranslationOptionHandler([u,f].concat(m)):g={...f},g.lng=g.lng||o.lng,g.lngs=g.lngs||o.lngs,g.ns=g.ns||o.ns,g.keyPrefix!==""&&(g.keyPrefix=g.keyPrefix||r||o.keyPrefix);const p=this.options.keySeparator||".";let v;return g.keyPrefix&&Array.isArray(u)?v=u.map(x=>`${g.keyPrefix}${p}${x}`):v=g.keyPrefix?`${g.keyPrefix}${p}${u}`:u,this.t(v,g)};return sn(t)?o.lng=t:o.lngs=t,o.ns=a,o.keyPrefix=r,o}t(...t){return this.translator?.translate(...t)}exists(...t){return this.translator?.exists(...t)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t,a={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=a.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const f=(m,g)=>{const p=this.services.backendConnector.state[`${m}|${g}`];return p===-1||p===0||p===2};if(a.precheck){const m=a.precheck(this,f);if(m!==void 0)return m}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||f(r,t)&&(!o||f(u,t)))}loadNamespaces(t,a){const r=Vv();return this.options.ns?(sn(t)&&(t=[t]),t.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),a&&a(o)}),r):(a&&a(),Promise.resolve())}loadLanguages(t,a){const r=Vv();sn(t)&&(t=[t]);const o=this.options.preload||[],u=t.filter(f=>o.indexOf(f)<0&&this.services.languageUtils.isSupportedCode(f));return u.length?(this.options.preload=o.concat(u),this.loadResources(f=>{r.resolve(),a&&a(f)}),r):(a&&a(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!t)return"rtl";try{const o=new Intl.Locale(t);if(o&&o.getTextInfo){const u=o.getTextInfo();if(u&&u.direction)return u.direction}}catch{}const a=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services?.languageUtils||new V3(U3());return t.toLowerCase().indexOf("-latn")>1?"ltr":a.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(t={},a){return new Bv(t,a)}cloneInstance(t={},a=W1){const r=t.forkResourceStore;r&&delete t.forkResourceStore;const o={...this.options,...t,isClone:!0},u=new Bv(o);if((t.debug!==void 0||t.prefix!==void 0)&&(u.logger=u.logger.clone(t)),["store","services","language"].forEach(m=>{u[m]=this[m]}),u.services={...this.services},u.services.utils={hasLoadedNamespace:u.hasLoadedNamespace.bind(u)},r){const m=Object.keys(this.store.data).reduce((g,p)=>(g[p]={...this.store.data[p]},g[p]=Object.keys(g[p]).reduce((v,x)=>(v[x]={...g[p][x]},v),g[p]),g),{});u.store=new $3(m,o),u.services.resourceStore=u.store}return u.translator=new Y1(u.services,o),u.translator.on("*",(m,...g)=>{u.emit(m,...g)}),u.init(o,a),u.translator.options=o,u.translator.backendConnector.services.utils={hasLoadedNamespace:u.hasLoadedNamespace.bind(u)},u}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Kr=Bv.createInstance();Kr.createInstance=Bv.createInstance,Kr.createInstance,Kr.dir,Kr.init,Kr.loadResources,Kr.reloadResources,Kr.use,Kr.changeLanguage,Kr.getFixedT,Kr.t,Kr.exists,Kr.setDefaultNamespace,Kr.hasLoadedNamespace,Kr.loadNamespaces,Kr.loadLanguages;const o7=(e,t,a,r)=>{const o=[a,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(o,"warn","react-i18next::",!0);_d(o[0])&&(o[0]=`react-i18next:: ${o[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...o):console?.warn&&console.warn(...o)},F3={},HE=(e,t,a,r)=>{_d(a)&&F3[a]||(_d(a)&&(F3[a]=new Date),o7(e,t,a,r))},G3=(e,t)=>()=>{if(e.isInitialized)t();else{const a=()=>{setTimeout(()=>{e.off("initialized",a)},0),t()};e.on("initialized",a)}},BE=(e,t,a)=>{e.loadNamespaces(t,G3(e,a))},q3=(e,t,a,r)=>{if(_d(a)&&(a=[a]),e.options.preload&&e.options.preload.indexOf(t)>-1)return BE(e,a,r);a.forEach(o=>{e.options.ns.indexOf(o)<0&&e.options.ns.push(o)}),e.loadLanguages(t,G3(e,r))},l7=(e,t,a={})=>!t.languages||!t.languages.length?(HE(t,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:a.lng,precheck:(r,o)=>{if(a.bindI18n?.indexOf("languageChanging")>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!o(r.isLanguageChangingTo,e))return!1}}),_d=e=>typeof e=="string",s7=e=>typeof e=="object"&&e!==null,c7=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,u7={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},f7=e=>u7[e];let IE={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(c7,f7)};const d7=(e={})=>{IE={...IE,...e}},h7=()=>IE;let X3;const m7=e=>{X3=e},p7=()=>X3,g7={type:"3rdParty",init(e){d7(e.options.react),m7(e)}},v7=S.createContext();class y7{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(a=>{this.usedNamespaces[a]||(this.usedNamespaces[a]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const b7=(e,t)=>{const a=S.useRef();return S.useEffect(()=>{a.current=e},[e,t]),a.current},Y3=(e,t,a,r)=>e.getFixedT(t,a,r),S7=(e,t,a,r)=>S.useCallback(Y3(e,t,a,r),[e,t,a,r]),x7=(e,t={})=>{const{i18n:a}=t,{i18n:r,defaultNS:o}=S.useContext(v7)||{},u=a||r||p7();if(u&&!u.reportNamespaces&&(u.reportNamespaces=new y7),!u){HE(u,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const L=(V,B)=>_d(B)?B:s7(B)&&_d(B.defaultValue)?B.defaultValue:Array.isArray(V)?V[V.length-1]:V,z=[L,{},!1];return z.t=L,z.i18n={},z.ready=!1,z}u.options.react?.wait&&HE(u,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const f={...h7(),...u.options.react,...t},{useSuspense:m,keyPrefix:g}=f;let p=o||u.options?.defaultNS;p=_d(p)?[p]:p||["translation"],u.reportNamespaces.addUsedNamespaces?.(p);const v=(u.isInitialized||u.initializedStoreOnce)&&p.every(L=>l7(L,u,f)),x=S7(u,t.lng||null,f.nsMode==="fallback"?p:p[0],g),C=()=>x,O=()=>Y3(u,t.lng||null,f.nsMode==="fallback"?p:p[0],g),[T,M]=S.useState(C);let R=p.join();t.lng&&(R=`${t.lng}${R}`);const _=b7(R),N=S.useRef(!0);S.useEffect(()=>{const{bindI18n:L,bindI18nStore:z}=f;N.current=!0,!v&&!m&&(t.lng?q3(u,t.lng,p,()=>{N.current&&M(O)}):BE(u,p,()=>{N.current&&M(O)})),v&&_&&_!==R&&N.current&&M(O);const V=()=>{N.current&&M(O)};return L&&u?.on(L,V),z&&u?.store.on(z,V),()=>{N.current=!1,u&&L?.split(" ").forEach(B=>u.off(B,V)),z&&u&&z.split(" ").forEach(B=>u.store.off(B,V))}},[u,R]),S.useEffect(()=>{N.current&&v&&M(C)},[u,g,v]);const j=[T,u,v];if(j.t=T,j.i18n=u,j.ready=v,v||!v&&!m)return j;throw new Promise(L=>{t.lng?q3(u,t.lng,p,()=>L()):BE(u,p,()=>L())})},C7={en:{translation:{welcome:"Hi there, you’re speaking with Jaweb AI Assistant."}},ar:{translation:{welcome:"مرحبًا، أنت تتحدث إلى مساعد Jaweb AI."}}};Kr.use(g7).init({resources:C7,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1}});const E7=3,w7=3e3,O7=()=>{const[e,t]=S.useState(!0),[a,r]=S.useState(!0),[o,u]=S.useState(""),[f,m]=S.useState(""),[g,p]=S.useState(!1),[v,x]=S.useState(!1),[C,O]=S.useState(""),[T,M]=S.useState(""),[R,_]=S.useState(null),[N,j]=S.useState(""),[L,z]=S.useState([]),[V,B]=S.useState([]),[D,P]=S.useState(""),[H,K]=S.useState(!1),[X,W]=S.useState(""),Q=async(ie=0)=>{const U=localStorage.getItem("company_username");t(!0);const G={headers:{"Content-Type":"application/json",Accept:"application/json"},params:{username:U}};try{const se=(await za.get(`${oi.apiUrl}chatbot-details/`,G)).data.data;se.language==="Arabic"?Kr.changeLanguage("ar"):Kr.changeLanguage("en"),r(se.chatbot_form),u(se.chatbot_color),m(se.chatbot_logo),p(se.disable_chatbot_globally),x(se.remove_powered_by_jaweb),O(se.chatbot_initial_msg),M(se.status),P(se.mode),_(se.calendly_link??null),K(se.disable_checkout),W(se.chatbot_name),se.calendly_link&&_(se.calendly_link),se.phone_number_id&&j(`+${se.phone_number_id}`);const F=await za.get(`${oi.apiUrl}chatbot-plugin-suggestions/`,G);let q=[];Array.isArray(F.data.data)?q=F.data.data:Array.isArray(F.data.user_questions)&&(q=F.data.user_questions),q.length>0?(z(q.slice(0,3)),B(q.slice(3))):(z([]),B([])),t(!1)}catch(Z){console.error("Error fetching data:",Z),ie<E7?setTimeout(()=>Q(ie+1),w7):console.error("Max retries reached. Could not fetch data.")}};return S.useEffect(()=>{Q()},[]),{isFetchingDetails:e,disableForm:a,colorCode:o,chatbotLogo:f,disableChatbotGlobally:g,removePoweredByJaweb:v,initialMessageText:C,subscription:T,calendly:R,merchantPhone:N,messagesSuggestions:L,setMessagesSuggestions:z,restSuggestions:V,userType:D,disbleCheckout:H,chatbotName:X}};var UE={exports:{}};/*!
|
|
325
325
|
Copyright (c) 2018 Jed Watson.
|
|
326
326
|
Licensed under the MIT License (MIT), see
|
|
327
327
|
http://jedwatson.github.io/classnames
|
|
@@ -690,4 +690,4 @@ html body {
|
|
|
690
690
|
userAgent: `).concat(navigator.userAgent,`
|
|
691
691
|
timeBetweenLoadAndGet: `).concat(o-a,`
|
|
692
692
|
visitorId: `).concat(f.visitorId,`
|
|
693
|
-
components: `).concat(n8(u),"\n```")),[2,f]}})})}}}function Soe(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{var e=new XMLHttpRequest;e.open("get","https://m1.openfpcdn.io/fingerprintjs/v".concat(N2,"/npm-monitoring"),!0),e.send()}catch(t){console.error(t)}}function xoe(e){var t;return e===void 0&&(e={}),rc(this,void 0,void 0,function(){var a,r,o;return ic(this,function(u){switch(u.label){case 0:return(!((t=e.monitoring)!==null&&t!==void 0)||t)&&Soe(),a=e.delayFallback,r=e.debug,[4,yoe(a)];case 1:return u.sent(),o=foe({cache:{},debug:r}),[2,boe(o,r)]}})})}var Coe={load:xoe,hashComponents:a8,componentsToDebugString:n8};const Eoe=()=>({checkOut:async t=>{try{const a=localStorage.getItem("company_username");if(!a)throw new Error("No company username found.");const r=await fetch(`${oi.apiUrl}checkout/shopify`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t,company_username:a})});if(!r.ok)throw new Error("Failed to initiate checkout.");const o=await r.json();o?.checkoutUrl?window.parent?.postMessage({type:"JAWEB_CHAT",action:"navigate",target:"_blank",url:o.checkoutUrl},"*"):alert("No checkout URL returned.")}catch(a){console.error("Checkout error:",a)}}}),woe=({colorCode:e,setOpen:t,Opened:a,onBack:r,sessionId:o})=>{const{items:u,loading:f,removeFromCart:m,refresh:g}=M2(o||""),{checkOut:p}=Eoe(),[v,x]=S.useState(!1),C=_=>{if(!_)return{symbol:"",value:0};const N=_.match(/[^0-9.,\s]+/),j=N?N[0]:"",L=parseFloat(_.replace(/[^0-9.]/g,""));return{symbol:j,value:isNaN(L)?0:L}},O=S.useMemo(()=>u.length?u.reduce((_,N)=>{const{value:j}=C(N.price);return _+j*N.quantity},0):0,[u]),T=async()=>{if(!o){sx.warning("No session found — please start a chat first.");return}x(!0);try{await p(o)}catch(_){sx.error("Checkout failed. Please try again."),console.error("Checkout error:",_)}finally{x(!1)}},M=J.jsx(Cl,{style:{fontSize:24,color:e||"#7F28F8"},spin:!0}),R=async _=>{await m(_,1),sx.info("Item removed from cart"),await g()};return J.jsxs("div",{style:{maxWidth:"100%",height:"100%",border:"1px solid #f0f0f0",borderRadius:8,display:"flex",flexDirection:"column",backgroundColor:"#fff",overflow:"hidden"},children:[J.jsxs("div",{style:{padding:"16px",display:"flex",alignItems:"center",borderBottom:"1px solid #f5f5f5",boxShadow:"0 2px 6px rgba(0,0,0,0.03)",zIndex:5,height:"8%"},children:[J.jsx(fr,{type:"text",icon:J.jsx(Xd,{}),onClick:r,style:{color:"#333",fontWeight:500},children:"Back"}),J.jsx("div",{style:{marginLeft:"auto"},children:J.jsx(Vd,{onClick:()=>t(!a),style:{fontSize:18,cursor:"pointer",color:"#555",transition:"color 0.2s ease"},onMouseEnter:_=>_.currentTarget.style.color=e||"#7F28F8",onMouseLeave:_=>_.currentTarget.style.color="#555"})})]}),J.jsxs("div",{style:{flex:1,overflowY:"auto",padding:"16px",height:"66%"},children:[J.jsxs("h3",{style:{fontWeight:600,marginBottom:16},children:[J.jsx(uz,{style:{marginRight:8}}),"Your Cart (",u.length,")"]}),f?J.jsx("div",{style:{textAlign:"center",marginTop:40},children:J.jsx(tc,{indicator:M})}):u.length===0?J.jsx("div",{style:{textAlign:"center",color:"#888",marginTop:60},children:"Your cart is empty 🛒"}):J.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",height:"80%",gap:"12px",paddingRight:"4px"},children:u.map(_=>{const{symbol:N,value:j}=C(_.price),L=j*_.quantity;return J.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",background:"#fafafa",borderRadius:10,padding:"12px 10px",transition:"all 0.2s ease"},className:"hover:shadow-sm",children:[J.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[J.jsx("img",{src:_.variantImage,alt:_.name,style:{width:64,height:64,borderRadius:8,objectFit:"cover",backgroundColor:"#f3f3f3"}}),J.jsxs("div",{children:[J.jsx("p",{style:{fontWeight:600,color:"#222",marginBottom:4},children:_.name}),J.jsxs("p",{style:{fontSize:13,color:"#777",margin:0},children:["Qty: ",_.quantity]})]})]}),J.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[J.jsxs("span",{style:{fontWeight:600},children:[N,L.toLocaleString()]}),J.jsx(az,{onClick:()=>R(_.variantId),style:{cursor:"pointer",color:"#999",fontSize:16,transition:"color 0.2s ease"},onMouseEnter:z=>z.currentTarget.style.color="#e74c3c",onMouseLeave:z=>z.currentTarget.style.color="#999"})]})]},_.variantId)})})]}),J.jsxs("div",{style:{position:"sticky",bottom:0,left:0,right:0,background:"#fff",borderTop:"1px solid #f0f0f0",padding:"16px 20px",boxShadow:"0 -3px 10px rgba(0,0,0,0.05)",zIndex:10},children:[J.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"10px",fontWeight:600,color:"#222"},children:[J.jsx("span",{children:"Subtotal:"}),J.jsx("span",{children:O.toLocaleString()})]}),J.jsx(fr,{type:"primary",block:!0,size:"large",onClick:T,loading:v,disabled:u.length===0,style:{backgroundColor:e||"black",borderColor:e||"black",borderRadius:10,fontWeight:600},children:J.jsx("span",{style:{color:"white"},children:"CHECKOUT"})})]})]})},Ooe=()=>{const[e,t]=S.useState(!0),[a,r]=S.useState("sessions"),[o,u]=S.useState(null),[f,m]=S.useState(!1),[g,p]=S.useState(""),[v,x]=S.useState(""),[C,O]=S.useState(!1),{chatbotLogo:T,colorCode:M,messagesSuggestions:R,disableForm:_,merchantPhone:N,userType:j,isFetchingDetails:L,calendly:z,disbleCheckout:V,chatbotName:B,setMessagesSuggestions:D}=O7(),[P,H]=S.useState(null),K=J.jsx(Cl,{style:{fontSize:24,color:M||"#7F28F8"},spin:!0}),X=()=>{if(
|
|
693
|
+
components: `).concat(n8(u),"\n```")),[2,f]}})})}}}function Soe(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{var e=new XMLHttpRequest;e.open("get","https://m1.openfpcdn.io/fingerprintjs/v".concat(N2,"/npm-monitoring"),!0),e.send()}catch(t){console.error(t)}}function xoe(e){var t;return e===void 0&&(e={}),rc(this,void 0,void 0,function(){var a,r,o;return ic(this,function(u){switch(u.label){case 0:return(!((t=e.monitoring)!==null&&t!==void 0)||t)&&Soe(),a=e.delayFallback,r=e.debug,[4,yoe(a)];case 1:return u.sent(),o=foe({cache:{},debug:r}),[2,boe(o,r)]}})})}var Coe={load:xoe,hashComponents:a8,componentsToDebugString:n8};const Eoe=()=>({checkOut:async t=>{try{const a=localStorage.getItem("company_username");if(!a)throw new Error("No company username found.");const r=await fetch(`${oi.apiUrl}checkout/shopify`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t,company_username:a})});if(!r.ok)throw new Error("Failed to initiate checkout.");const o=await r.json();o?.checkoutUrl?window.parent?.postMessage({type:"JAWEB_CHAT",action:"navigate",target:"_blank",url:o.checkoutUrl},"*"):alert("No checkout URL returned.")}catch(a){console.error("Checkout error:",a)}}}),woe=({colorCode:e,setOpen:t,Opened:a,onBack:r,sessionId:o})=>{const{items:u,loading:f,removeFromCart:m,refresh:g}=M2(o||""),{checkOut:p}=Eoe(),[v,x]=S.useState(!1),C=_=>{if(!_)return{symbol:"",value:0};const N=_.match(/[^0-9.,\s]+/),j=N?N[0]:"",L=parseFloat(_.replace(/[^0-9.]/g,""));return{symbol:j,value:isNaN(L)?0:L}},O=S.useMemo(()=>u.length?u.reduce((_,N)=>{const{value:j}=C(N.price);return _+j*N.quantity},0):0,[u]),T=async()=>{if(!o){sx.warning("No session found — please start a chat first.");return}x(!0);try{await p(o)}catch(_){sx.error("Checkout failed. Please try again."),console.error("Checkout error:",_)}finally{x(!1)}},M=J.jsx(Cl,{style:{fontSize:24,color:e||"#7F28F8"},spin:!0}),R=async _=>{await m(_,1),sx.info("Item removed from cart"),await g()};return J.jsxs("div",{style:{maxWidth:"100%",height:"100%",border:"1px solid #f0f0f0",borderRadius:8,display:"flex",flexDirection:"column",backgroundColor:"#fff",overflow:"hidden"},children:[J.jsxs("div",{style:{padding:"16px",display:"flex",alignItems:"center",borderBottom:"1px solid #f5f5f5",boxShadow:"0 2px 6px rgba(0,0,0,0.03)",zIndex:5,height:"8%"},children:[J.jsx(fr,{type:"text",icon:J.jsx(Xd,{}),onClick:r,style:{color:"#333",fontWeight:500},children:"Back"}),J.jsx("div",{style:{marginLeft:"auto"},children:J.jsx(Vd,{onClick:()=>t(!a),style:{fontSize:18,cursor:"pointer",color:"#555",transition:"color 0.2s ease"},onMouseEnter:_=>_.currentTarget.style.color=e||"#7F28F8",onMouseLeave:_=>_.currentTarget.style.color="#555"})})]}),J.jsxs("div",{style:{flex:1,overflowY:"auto",padding:"16px",height:"66%"},children:[J.jsxs("h3",{style:{fontWeight:600,marginBottom:16},children:[J.jsx(uz,{style:{marginRight:8}}),"Your Cart (",u.length,")"]}),f?J.jsx("div",{style:{textAlign:"center",marginTop:40},children:J.jsx(tc,{indicator:M})}):u.length===0?J.jsx("div",{style:{textAlign:"center",color:"#888",marginTop:60},children:"Your cart is empty 🛒"}):J.jsx("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",height:"80%",gap:"12px",paddingRight:"4px"},children:u.map(_=>{const{symbol:N,value:j}=C(_.price),L=j*_.quantity;return J.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",background:"#fafafa",borderRadius:10,padding:"12px 10px",transition:"all 0.2s ease"},className:"hover:shadow-sm",children:[J.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[J.jsx("img",{src:_.variantImage,alt:_.name,style:{width:64,height:64,borderRadius:8,objectFit:"cover",backgroundColor:"#f3f3f3"}}),J.jsxs("div",{children:[J.jsx("p",{style:{fontWeight:600,color:"#222",marginBottom:4},children:_.name}),J.jsxs("p",{style:{fontSize:13,color:"#777",margin:0},children:["Qty: ",_.quantity]})]})]}),J.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[J.jsxs("span",{style:{fontWeight:600},children:[N,L.toLocaleString()]}),J.jsx(az,{onClick:()=>R(_.variantId),style:{cursor:"pointer",color:"#999",fontSize:16,transition:"color 0.2s ease"},onMouseEnter:z=>z.currentTarget.style.color="#e74c3c",onMouseLeave:z=>z.currentTarget.style.color="#999"})]})]},_.variantId)})})]}),J.jsxs("div",{style:{position:"sticky",bottom:0,left:0,right:0,background:"#fff",borderTop:"1px solid #f0f0f0",padding:"16px 20px",boxShadow:"0 -3px 10px rgba(0,0,0,0.05)",zIndex:10},children:[J.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"10px",fontWeight:600,color:"#222"},children:[J.jsx("span",{children:"Subtotal:"}),J.jsx("span",{children:O.toLocaleString()})]}),J.jsx(fr,{type:"primary",block:!0,size:"large",onClick:T,loading:v,disabled:u.length===0,style:{backgroundColor:e||"black",borderColor:e||"black",borderRadius:10,fontWeight:600},children:J.jsx("span",{style:{color:"white"},children:"CHECKOUT"})})]})]})},Ooe=()=>{const[e,t]=S.useState(!0),[a,r]=S.useState("sessions"),[o,u]=S.useState(null),[f,m]=S.useState(!1),[g,p]=S.useState(""),[v,x]=S.useState(""),[C,O]=S.useState(!1),{chatbotLogo:T,colorCode:M,messagesSuggestions:R,disableForm:_,merchantPhone:N,userType:j,isFetchingDetails:L,calendly:z,disbleCheckout:V,chatbotName:B,setMessagesSuggestions:D}=O7(),[P,H]=S.useState(null),K=J.jsx(Cl,{style:{fontSize:24,color:M||"#7F28F8"},spin:!0}),X=()=>{if(!_&&!f){r("create");return}else{const U=crypto.randomUUID();u(U),x(T),p(B),O(!0),r("messenger")}};S.useEffect(()=>{(async()=>{try{let G=localStorage.getItem("visitor_id");G||(G=(await(await Coe.load()).get()).visitorId,localStorage.setItem("visitor_id",G));const se=await(await fetch(`${oi.apiUrl}register-ip/`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({visitor_id:G})})).json();se.visitor&&se.country?(localStorage.setItem("country",se.country),H({visitorId:se.visitor,country:se.country}),m(se.has_user_info||!1)):console.warn("Backend did not return country")}catch(G){console.error("Failed to fetch or send visitor info",G)}})()},[]);const W=(U,G,Z)=>{u(U),p(G),x(Z),O(!1),r("messenger")};S.useEffect(()=>{const U=G=>{const Z=G.data||{};if(Z.type==="JAWEB_CHAT")switch(Z.action){case"open-ready":t(!0);break;case"closed":t(!1);break;case"start-session":console.log("[Chatbot] start-session message received"),X();break}};return window.addEventListener("message",U),()=>window.removeEventListener("message",U)},[]);const Q=()=>{window.parent?.postMessage({type:"JAWEB_CHAT",action:"open"},"*")},ie=()=>{window.parent?.postMessage({type:"JAWEB_CHAT",action:"close"},"*")};return S.useEffect(()=>{L||window.parent?.postMessage({type:"JAWEB_CHAT",action:"ready-confirm"},"*")},[L]),J.jsx("div",{children:e&&J.jsx("div",{className:"chatbot-box",children:L?J.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:300},children:J.jsx(tc,{indicator:K,tip:"..."})}):J.jsxs(Ij,{mode:"sync",children:[a==="sessions"&&J.jsx(Ti.div,{initial:{opacity:0,x:-30},animate:{opacity:1,x:0},exit:{opacity:0,x:30},transition:{duration:.3},style:{height:"100%"},children:J.jsx(UQ,{chatbotLogo:T,Phone:N||"",colorCode:M,visitorId:P?.visitorId||"",Opened:e,setOpen:U=>U?Q():ie(),onNewSession:X,onSessionSelect:W})},"sessions"),a==="create"&&J.jsx(Ti.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},exit:{opacity:0,y:-30},transition:{duration:.3},children:J.jsx(Tae,{colorCode:M,visitorId:P?.visitorId||"",country:P?.country||"",onBack:()=>r("sessions"),onCreate:U=>{u(U.session_id),m(U.hasInfo),r("messenger")}})},"create"),a==="cartView"&&J.jsx(Ti.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},exit:{opacity:0,y:-30},transition:{duration:.3},style:{height:"100%"},children:J.jsx(woe,{setOpen:U=>U?Q():ie(),sessionId:o,Opened:e,chatbotLogo:T,colorCode:M,onBack:()=>{O(!1),r("messenger")}})},"create"),a==="messenger"&&o&&J.jsx(Ti.div,{initial:{scale:.95,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.95,opacity:0},transition:{duration:.3},children:J.jsx(fre,{sessionId:o,chatbotLogo:v||T,agentName:g||B||"Ai Assistant",colorCode:M,messagesSuggestions:R,newSession:C,disableForm:_,calendly:z??"",setOpen:U=>U?Q():ie(),setNewSession:O,Opened:e,setView:r,userType:j,disbleCheckout:V,setMessagesSuggestions:D})},"messenger")]})})})},r8="jaweb-chatbot-container";if(!document.getElementById(r8)){const e=document.createElement("div");e.id=r8,document.body.appendChild(e),vV.createRoot(e).render(J.jsx(Ooe,{}))}})();
|
package/package.json
CHANGED
package/src/Chatbot/Chatbot.tsx
CHANGED
|
@@ -39,8 +39,8 @@ const Chatbot: React.FC = () => {
|
|
|
39
39
|
const antIcon = <LoadingOutlined style={{ fontSize: 24, color: colorCode||'#7F28F8' }} spin />;
|
|
40
40
|
|
|
41
41
|
const handleNewSessionClick = () => {
|
|
42
|
-
console.log(disableForm)
|
|
43
|
-
console.log(HasInfo)
|
|
42
|
+
// console.log(disableForm)
|
|
43
|
+
// console.log(HasInfo)
|
|
44
44
|
if (!disableForm && !HasInfo) {
|
|
45
45
|
setViewMode('create');
|
|
46
46
|
return;
|