@quidgest/chatbot 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CBMessage.vue.d.ts +15 -2
- package/dist/components/ChatBot.vue.d.ts +17 -26
- package/dist/components/PulseDots.vue.d.ts +2 -0
- package/dist/index.js +6 -9
- package/dist/index.mjs +1307 -1258
- package/dist/style.css +1 -1
- package/dist/types/chatbot.type.d.ts +13 -0
- package/dist/types/message.type.d.ts +2 -1
- package/package.json +2 -2
- package/src/assets/styles/styles.scss +43 -13
- package/src/assets/user_avatar.png +0 -0
- package/src/components/CBMessage.vue +51 -42
- package/src/components/ChatBot.vue +333 -336
- package/src/components/PulseDots.vue +16 -0
- package/src/types/chatbot.type.ts +14 -0
- package/src/types/message.type.ts +3 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { ChatBotMessageSender } from '../types/message.type';
|
|
2
|
+
|
|
1
3
|
export interface CBMessageProps {
|
|
2
|
-
sender?:
|
|
4
|
+
sender?: ChatBotMessageSender;
|
|
3
5
|
message?: string;
|
|
4
6
|
date?: Date;
|
|
5
7
|
loading?: boolean;
|
|
@@ -7,16 +9,27 @@ export interface CBMessageProps {
|
|
|
7
9
|
* Project locale
|
|
8
10
|
*/
|
|
9
11
|
dateFormat?: string;
|
|
12
|
+
/**
|
|
13
|
+
* User image
|
|
14
|
+
*/
|
|
15
|
+
userImage: string;
|
|
16
|
+
/**
|
|
17
|
+
* Chatbot image
|
|
18
|
+
*/
|
|
19
|
+
chatbotImage: string;
|
|
10
20
|
}
|
|
11
21
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<CBMessageProps>, {
|
|
12
22
|
sender: string;
|
|
23
|
+
userImage: undefined;
|
|
13
24
|
date: () => Date;
|
|
14
25
|
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<CBMessageProps>, {
|
|
15
26
|
sender: string;
|
|
27
|
+
userImage: undefined;
|
|
16
28
|
date: () => Date;
|
|
17
29
|
}>>> & Readonly<{}>, {
|
|
18
|
-
sender:
|
|
30
|
+
sender: ChatBotMessageSender;
|
|
19
31
|
date: Date;
|
|
32
|
+
userImage: string;
|
|
20
33
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
21
34
|
export default _default;
|
|
22
35
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -1,50 +1,41 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChatBotProps } from '../types/chatbot.type';
|
|
2
2
|
|
|
3
|
-
export type ChatBotProps = {
|
|
4
|
-
/**
|
|
5
|
-
* API Enpoint URL
|
|
6
|
-
*/
|
|
7
|
-
apiEndpoint?: string;
|
|
8
|
-
/**
|
|
9
|
-
* Static resource texts used by ChatBot
|
|
10
|
-
*/
|
|
11
|
-
texts?: ResourceStrings;
|
|
12
|
-
/**
|
|
13
|
-
* Genio username
|
|
14
|
-
*/
|
|
15
|
-
username: string;
|
|
16
|
-
/**
|
|
17
|
-
* Project aplication path
|
|
18
|
-
*/
|
|
19
|
-
projectPath: string;
|
|
20
|
-
/**
|
|
21
|
-
* Project locale
|
|
22
|
-
*/
|
|
23
|
-
dateFormat?: string;
|
|
24
|
-
};
|
|
25
3
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ChatBotProps>, {
|
|
26
4
|
apiEndpoint: string;
|
|
5
|
+
userImage: string;
|
|
6
|
+
chatbotImage: string;
|
|
7
|
+
mode: string;
|
|
27
8
|
texts: () => {
|
|
28
9
|
chatbotTitle: string;
|
|
29
|
-
|
|
10
|
+
sendMessage: string;
|
|
11
|
+
clearChat: string;
|
|
30
12
|
inputLabel: string;
|
|
31
13
|
initialMessage: string;
|
|
14
|
+
initialAgentMessage: string;
|
|
32
15
|
loginError: string;
|
|
33
16
|
botIsSick: string;
|
|
34
17
|
};
|
|
35
18
|
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ChatBotProps>, {
|
|
36
19
|
apiEndpoint: string;
|
|
20
|
+
userImage: string;
|
|
21
|
+
chatbotImage: string;
|
|
22
|
+
mode: string;
|
|
37
23
|
texts: () => {
|
|
38
24
|
chatbotTitle: string;
|
|
39
|
-
|
|
25
|
+
sendMessage: string;
|
|
26
|
+
clearChat: string;
|
|
40
27
|
inputLabel: string;
|
|
41
28
|
initialMessage: string;
|
|
29
|
+
initialAgentMessage: string;
|
|
42
30
|
loginError: string;
|
|
43
31
|
botIsSick: string;
|
|
44
32
|
};
|
|
45
33
|
}>>> & Readonly<{}>, {
|
|
34
|
+
userImage: string;
|
|
35
|
+
chatbotImage: string;
|
|
36
|
+
mode: import('../types/chatbot.type').ChatBotMode;
|
|
46
37
|
apiEndpoint: string;
|
|
47
|
-
texts: ResourceStrings;
|
|
38
|
+
texts: import('../types/texts.type').ResourceStrings;
|
|
48
39
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
49
40
|
export default _default;
|
|
50
41
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
(function(s,U){typeof exports=="object"&&typeof module<"u"?module.exports=U(require("vue")):typeof define=="function"&&define.amd?define(["vue"],U):(s=typeof globalThis<"u"?globalThis:s||self,s.ChatBotFrontend=U(s.vue))})(this,function(s){"use strict";function U(e,t){return function(){return e.apply(t,arguments)}}const{toString:at}=Object.prototype,{getPrototypeOf:re}=Object,G=(e=>t=>{const n=at.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),P=e=>(e=e.toLowerCase(),t=>G(t)===e),J=e=>t=>typeof t===e,{isArray:j}=Array,V=J("undefined");function lt(e){return e!==null&&!V(e)&&e.constructor!==null&&!V(e.constructor)&&O(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const be=P("ArrayBuffer");function ct(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&be(e.buffer),t}const dt=J("string"),O=J("function"),ye=J("number"),X=e=>e!==null&&typeof e=="object",ut=e=>e===!0||e===!1,Z=e=>{if(G(e)!=="object")return!1;const t=re(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},ft=P("Date"),pt=P("File"),mt=P("Blob"),ht=P("FileList"),gt=e=>X(e)&&O(e.pipe),bt=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||O(e.append)&&((t=G(e))==="formdata"||t==="object"&&O(e.toString)&&e.toString()==="[object FormData]"))},yt=P("URLSearchParams"),[wt,At,Et,St]=["ReadableStream","Request","Response","Headers"].map(P),Rt=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function _(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),j(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const a=n?Object.getOwnPropertyNames(e):Object.keys(e),i=a.length;let l;for(r=0;r<i;r++)l=a[r],t.call(null,e[l],l,e)}}function we(e,t){t=t.toLowerCase();const n=Object.keys(e);let r=n.length,o;for(;r-- >0;)if(o=n[r],t===o.toLowerCase())return o;return null}const L=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ae=e=>!V(e)&&e!==L;function oe(){const{caseless:e}=Ae(this)&&this||{},t={},n=(r,o)=>{const a=e&&we(t,o)||o;Z(t[a])&&Z(r)?t[a]=oe(t[a],r):Z(r)?t[a]=oe({},r):j(r)?t[a]=r.slice():t[a]=r};for(let r=0,o=arguments.length;r<o;r++)arguments[r]&&_(arguments[r],n);return t}const Ct=(e,t,n,{allOwnKeys:r}={})=>(_(t,(o,a)=>{n&&O(o)?e[a]=U(o,n):e[a]=o},{allOwnKeys:r}),e),Bt=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Tt=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},kt=(e,t,n,r)=>{let o,a,i;const l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),a=o.length;a-- >0;)i=o[a],(!r||r(i,e,t))&&!l[i]&&(t[i]=e[i],l[i]=!0);e=n!==!1&&re(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Nt=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},xt=e=>{if(!e)return null;if(j(e))return e;let t=e.length;if(!ye(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Ot=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&re(Uint8Array)),Pt=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=r.next())&&!o.done;){const a=o.value;t.call(e,a[0],a[1])}},Dt=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Ft=P("HTMLFormElement"),Lt=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),Ee=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),zt=P("RegExp"),Se=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};_(n,(o,a)=>{let i;(i=t(o,a,e))!==!1&&(r[a]=i||o)}),Object.defineProperties(e,r)},qt=e=>{Se(e,(t,n)=>{if(O(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(O(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Ut=(e,t)=>{const n={},r=o=>{o.forEach(a=>{n[a]=!0})};return j(e)?r(e):r(String(e).split(t)),n},jt=()=>{},It=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Mt(e){return!!(e&&O(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const Vt=e=>{const t=new Array(10),n=(r,o)=>{if(X(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[o]=r;const a=j(r)?[]:{};return _(r,(i,l)=>{const p=n(i,o+1);!V(p)&&(a[l]=p)}),t[o]=void 0,a}}return r};return n(e,0)},_t=P("AsyncFunction"),Ht=e=>e&&(X(e)||O(e))&&O(e.then)&&O(e.catch),Re=((e,t)=>e?setImmediate:t?((n,r)=>(L.addEventListener("message",({source:o,data:a})=>{o===L&&a===n&&r.length&&r.shift()()},!1),o=>{r.push(o),L.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",O(L.postMessage)),Wt=typeof queueMicrotask<"u"?queueMicrotask.bind(L):typeof process<"u"&&process.nextTick||Re,c={isArray:j,isArrayBuffer:be,isBuffer:lt,isFormData:bt,isArrayBufferView:ct,isString:dt,isNumber:ye,isBoolean:ut,isObject:X,isPlainObject:Z,isReadableStream:wt,isRequest:At,isResponse:Et,isHeaders:St,isUndefined:V,isDate:ft,isFile:pt,isBlob:mt,isRegExp:zt,isFunction:O,isStream:gt,isURLSearchParams:yt,isTypedArray:Ot,isFileList:ht,forEach:_,merge:oe,extend:Ct,trim:Rt,stripBOM:Bt,inherits:Tt,toFlatObject:kt,kindOf:G,kindOfTest:P,endsWith:Nt,toArray:xt,forEachEntry:Pt,matchAll:Dt,isHTMLForm:Ft,hasOwnProperty:Ee,hasOwnProp:Ee,reduceDescriptors:Se,freezeMethods:qt,toObjectSet:Ut,toCamelCase:Lt,noop:jt,toFiniteNumber:It,findKey:we,global:L,isContextDefined:Ae,isSpecCompliantForm:Mt,toJSONObject:Vt,isAsyncFn:_t,isThenable:Ht,setImmediate:Re,asap:Wt};function b(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}c.inherits(b,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:c.toJSONObject(this.config),code:this.code,status:this.status}}});const Ce=b.prototype,Be={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Be[e]={value:e}}),Object.defineProperties(b,Be),Object.defineProperty(Ce,"isAxiosError",{value:!0}),b.from=(e,t,n,r,o,a)=>{const i=Object.create(Ce);return c.toFlatObject(e,i,function(p){return p!==Error.prototype},l=>l!=="isAxiosError"),b.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,a&&Object.assign(i,a),i};const Qt=null;function se(e){return c.isPlainObject(e)||c.isArray(e)}function Te(e){return c.endsWith(e,"[]")?e.slice(0,-2):e}function ke(e,t,n){return e?e.concat(t).map(function(o,a){return o=Te(o),!n&&a?"["+o+"]":o}).join(n?".":""):t}function Gt(e){return c.isArray(e)&&!e.some(se)}const Jt=c.toFlatObject(c,{},null,function(t){return/^is[A-Z]/.test(t)});function Y(e,t,n){if(!c.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=c.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,h){return!c.isUndefined(h[g])});const r=n.metaTokens,o=n.visitor||u,a=n.dots,i=n.indexes,p=(n.Blob||typeof Blob<"u"&&Blob)&&c.isSpecCompliantForm(t);if(!c.isFunction(o))throw new TypeError("visitor must be a function");function d(m){if(m===null)return"";if(c.isDate(m))return m.toISOString();if(!p&&c.isBlob(m))throw new b("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(m)||c.isTypedArray(m)?p&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,g,h){let R=m;if(m&&!h&&typeof m=="object"){if(c.endsWith(g,"{}"))g=r?g:g.slice(0,-2),m=JSON.stringify(m);else if(c.isArray(m)&&Gt(m)||(c.isFileList(m)||c.endsWith(g,"[]"))&&(R=c.toArray(m)))return g=Te(g),R.forEach(function(B,y){!(c.isUndefined(B)||B===null)&&t.append(i===!0?ke([g],y,a):i===null?g:g+"[]",d(B))}),!1}return se(m)?!0:(t.append(ke(h,g,a),d(m)),!1)}const f=[],w=Object.assign(Jt,{defaultVisitor:u,convertValue:d,isVisitable:se});function S(m,g){if(!c.isUndefined(m)){if(f.indexOf(m)!==-1)throw Error("Circular reference detected in "+g.join("."));f.push(m),c.forEach(m,function(R,C){(!(c.isUndefined(R)||R===null)&&o.call(t,R,c.isString(C)?C.trim():C,g,w))===!0&&S(R,g?g.concat(C):[C])}),f.pop()}}if(!c.isObject(e))throw new TypeError("data must be an object");return S(e),t}function Ne(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function ie(e,t){this._pairs=[],e&&Y(e,this,t)}const xe=ie.prototype;xe.append=function(t,n){this._pairs.push([t,n])},xe.toString=function(t){const n=t?function(r){return t.call(this,r,Ne)}:Ne;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function Xt(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Oe(e,t,n){if(!t)return e;const r=n&&n.encode||Xt;c.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let a;if(o?a=o(t,n):a=c.isURLSearchParams(t)?t.toString():new ie(t,n).toString(r),a){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}class Pe{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){c.forEach(this.handlers,function(r){r!==null&&t(r)})}}const De={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Zt={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:ie,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},ae=typeof window<"u"&&typeof document<"u",le=typeof navigator=="object"&&navigator||void 0,Yt=ae&&(!le||["ReactNative","NativeScript","NS"].indexOf(le.product)<0),Kt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",vt=ae&&window.location.href||"http://localhost",k={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ae,hasStandardBrowserEnv:Yt,hasStandardBrowserWebWorkerEnv:Kt,navigator:le,origin:vt},Symbol.toStringTag,{value:"Module"})),...Zt};function $t(e,t){return Y(e,new k.classes.URLSearchParams,Object.assign({visitor:function(n,r,o,a){return k.isNode&&c.isBuffer(n)?(this.append(r,n.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function en(e){return c.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function tn(e){const t={},n=Object.keys(e);let r;const o=n.length;let a;for(r=0;r<o;r++)a=n[r],t[a]=e[a];return t}function Fe(e){function t(n,r,o,a){let i=n[a++];if(i==="__proto__")return!0;const l=Number.isFinite(+i),p=a>=n.length;return i=!i&&c.isArray(o)?o.length:i,p?(c.hasOwnProp(o,i)?o[i]=[o[i],r]:o[i]=r,!l):((!o[i]||!c.isObject(o[i]))&&(o[i]=[]),t(n,r,o[i],a)&&c.isArray(o[i])&&(o[i]=tn(o[i])),!l)}if(c.isFormData(e)&&c.isFunction(e.entries)){const n={};return c.forEachEntry(e,(r,o)=>{t(en(r),o,n,0)}),n}return null}function nn(e,t,n){if(c.isString(e))try{return(t||JSON.parse)(e),c.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const H={transitional:De,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,a=c.isObject(t);if(a&&c.isHTMLForm(t)&&(t=new FormData(t)),c.isFormData(t))return o?JSON.stringify(Fe(t)):t;if(c.isArrayBuffer(t)||c.isBuffer(t)||c.isStream(t)||c.isFile(t)||c.isBlob(t)||c.isReadableStream(t))return t;if(c.isArrayBufferView(t))return t.buffer;if(c.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(a){if(r.indexOf("application/x-www-form-urlencoded")>-1)return $t(t,this.formSerializer).toString();if((l=c.isFileList(t))||r.indexOf("multipart/form-data")>-1){const p=this.env&&this.env.FormData;return Y(l?{"files[]":t}:t,p&&new p,this.formSerializer)}}return a||o?(n.setContentType("application/json",!1),nn(t)):t}],transformResponse:[function(t){const n=this.transitional||H.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(c.isResponse(t)||c.isReadableStream(t))return t;if(t&&c.isString(t)&&(r&&!this.responseType||o)){const i=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(l){if(i)throw l.name==="SyntaxError"?b.from(l,b.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:k.classes.FormData,Blob:k.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],e=>{H.headers[e]={}});const rn=c.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),on=e=>{const t={};let n,r,o;return e&&e.split(`
|
|
2
|
-
`).forEach(function(
|
|
3
|
-
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[Le]=this[Le]={accessors:{}}).accessors,o=this.prototype;function a(i){const l=W(i);r[l]||(cn(o,i),r[l]=!0)}return c.isArray(t)?t.forEach(a):a(t),this}};N.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),c.reduceDescriptors(N.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}}),c.freezeMethods(N);function de(e,t){const n=this||H,r=t||n,o=N.from(r.headers);let a=r.data;return c.forEach(e,function(l){a=l.call(n,a,o.normalize(),t?t.status:void 0)}),o.normalize(),a}function ze(e){return!!(e&&e.__CANCEL__)}function I(e,t,n){b.call(this,e??"canceled",b.ERR_CANCELED,t,n),this.name="CanceledError"}c.inherits(I,b,{__CANCEL__:!0});function qe(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new b("Request failed with status code "+n.status,[b.ERR_BAD_REQUEST,b.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function dn(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function un(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,a=0,i;return t=t!==void 0?t:1e3,function(p){const d=Date.now(),u=r[a];i||(i=d),n[o]=p,r[o]=d;let f=a,w=0;for(;f!==o;)w+=n[f++],f=f%e;if(o=(o+1)%e,o===a&&(a=(a+1)%e),d-i<t)return;const S=u&&d-u;return S?Math.round(w*1e3/S):void 0}}function fn(e,t){let n=0,r=1e3/t,o,a;const i=(d,u=Date.now())=>{n=u,o=null,a&&(clearTimeout(a),a=null),e.apply(null,d)};return[(...d)=>{const u=Date.now(),f=u-n;f>=r?i(d,u):(o=d,a||(a=setTimeout(()=>{a=null,i(o)},r-f)))},()=>o&&i(o)]}const v=(e,t,n=3)=>{let r=0;const o=un(50,250);return fn(a=>{const i=a.loaded,l=a.lengthComputable?a.total:void 0,p=i-r,d=o(p),u=i<=l;r=i;const f={loaded:i,total:l,progress:l?i/l:void 0,bytes:p,rate:d||void 0,estimated:d&&l&&u?(l-i)/d:void 0,event:a,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(f)},n)},Ue=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},je=e=>(...t)=>c.asap(()=>e(...t)),pn=k.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,k.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(k.origin),k.navigator&&/(msie|trident)/i.test(k.navigator.userAgent)):()=>!0,mn=k.hasStandardBrowserEnv?{write(e,t,n,r,o,a){const i=[e+"="+encodeURIComponent(t)];c.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),c.isString(r)&&i.push("path="+r),c.isString(o)&&i.push("domain="+o),a===!0&&i.push("secure"),document.cookie=i.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 hn(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function gn(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ie(e,t,n){let r=!hn(t);return e&&r||n==!1?gn(e,t):t}const Me=e=>e instanceof N?{...e}:e;function z(e,t){t=t||{};const n={};function r(d,u,f,w){return c.isPlainObject(d)&&c.isPlainObject(u)?c.merge.call({caseless:w},d,u):c.isPlainObject(u)?c.merge({},u):c.isArray(u)?u.slice():u}function o(d,u,f,w){if(c.isUndefined(u)){if(!c.isUndefined(d))return r(void 0,d,f,w)}else return r(d,u,f,w)}function a(d,u){if(!c.isUndefined(u))return r(void 0,u)}function i(d,u){if(c.isUndefined(u)){if(!c.isUndefined(d))return r(void 0,d)}else return r(void 0,u)}function l(d,u,f){if(f in t)return r(d,u);if(f in e)return r(void 0,d)}const p={url:a,method:a,data:a,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:l,headers:(d,u,f)=>o(Me(d),Me(u),f,!0)};return c.forEach(Object.keys(Object.assign({},e,t)),function(u){const f=p[u]||o,w=f(e[u],t[u],u);c.isUndefined(w)&&f!==l||(n[u]=w)}),n}const Ve=e=>{const t=z({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:a,headers:i,auth:l}=t;t.headers=i=N.from(i),t.url=Oe(Ie(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&i.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let p;if(c.isFormData(n)){if(k.hasStandardBrowserEnv||k.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if((p=i.getContentType())!==!1){const[d,...u]=p?p.split(";").map(f=>f.trim()).filter(Boolean):[];i.setContentType([d||"multipart/form-data",...u].join("; "))}}if(k.hasStandardBrowserEnv&&(r&&c.isFunction(r)&&(r=r(t)),r||r!==!1&&pn(t.url))){const d=o&&a&&mn.read(a);d&&i.set(o,d)}return t},bn=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(n,r){const o=Ve(e);let a=o.data;const i=N.from(o.headers).normalize();let{responseType:l,onUploadProgress:p,onDownloadProgress:d}=o,u,f,w,S,m;function g(){S&&S(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let h=new XMLHttpRequest;h.open(o.method.toUpperCase(),o.url,!0),h.timeout=o.timeout;function R(){if(!h)return;const B=N.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),A={data:!l||l==="text"||l==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:B,config:e,request:h};qe(function(x){n(x),g()},function(x){r(x),g()},A),h=null}"onloadend"in h?h.onloadend=R:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(R)},h.onabort=function(){h&&(r(new b("Request aborted",b.ECONNABORTED,e,h)),h=null)},h.onerror=function(){r(new b("Network Error",b.ERR_NETWORK,e,h)),h=null},h.ontimeout=function(){let y=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const A=o.transitional||De;o.timeoutErrorMessage&&(y=o.timeoutErrorMessage),r(new b(y,A.clarifyTimeoutError?b.ETIMEDOUT:b.ECONNABORTED,e,h)),h=null},a===void 0&&i.setContentType(null),"setRequestHeader"in h&&c.forEach(i.toJSON(),function(y,A){h.setRequestHeader(A,y)}),c.isUndefined(o.withCredentials)||(h.withCredentials=!!o.withCredentials),l&&l!=="json"&&(h.responseType=o.responseType),d&&([w,m]=v(d,!0),h.addEventListener("progress",w)),p&&h.upload&&([f,S]=v(p),h.upload.addEventListener("progress",f),h.upload.addEventListener("loadend",S)),(o.cancelToken||o.signal)&&(u=B=>{h&&(r(!B||B.type?new I(null,e,h):B),h.abort(),h=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const C=dn(o.url);if(C&&k.protocols.indexOf(C)===-1){r(new b("Unsupported protocol "+C+":",b.ERR_BAD_REQUEST,e));return}h.send(a||null)})},yn=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,o;const a=function(d){if(!o){o=!0,l();const u=d instanceof Error?d:this.reason;r.abort(u instanceof b?u:new I(u instanceof Error?u.message:u))}};let i=t&&setTimeout(()=>{i=null,a(new b(`timeout ${t} of ms exceeded`,b.ETIMEDOUT))},t);const l=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(d=>{d.unsubscribe?d.unsubscribe(a):d.removeEventListener("abort",a)}),e=null)};e.forEach(d=>d.addEventListener("abort",a));const{signal:p}=r;return p.unsubscribe=()=>c.asap(l),p}},wn=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,o;for(;r<n;)o=r+t,yield e.slice(r,o),r=o},An=async function*(e,t){for await(const n of En(e))yield*wn(n,t)},En=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},_e=(e,t,n,r)=>{const o=An(e,t);let a=0,i,l=p=>{i||(i=!0,r&&r(p))};return new ReadableStream({async pull(p){try{const{done:d,value:u}=await o.next();if(d){l(),p.close();return}let f=u.byteLength;if(n){let w=a+=f;n(w)}p.enqueue(new Uint8Array(u))}catch(d){throw l(d),d}},cancel(p){return l(p),o.return()}},{highWaterMark:2})},$=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",He=$&&typeof ReadableStream=="function",Sn=$&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),We=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Rn=He&&We(()=>{let e=!1;const t=new Request(k.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Qe=64*1024,ue=He&&We(()=>c.isReadableStream(new Response("").body)),ee={stream:ue&&(e=>e.body)};$&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!ee[t]&&(ee[t]=c.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new b(`Response type '${t}' is not supported`,b.ERR_NOT_SUPPORT,r)})})})(new Response);const Cn=async e=>{if(e==null)return 0;if(c.isBlob(e))return e.size;if(c.isSpecCompliantForm(e))return(await new Request(k.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(c.isArrayBufferView(e)||c.isArrayBuffer(e))return e.byteLength;if(c.isURLSearchParams(e)&&(e=e+""),c.isString(e))return(await Sn(e)).byteLength},Bn=async(e,t)=>{const n=c.toFiniteNumber(e.getContentLength());return n??Cn(t)},fe={http:Qt,xhr:bn,fetch:$&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:a,timeout:i,onDownloadProgress:l,onUploadProgress:p,responseType:d,headers:u,withCredentials:f="same-origin",fetchOptions:w}=Ve(e);d=d?(d+"").toLowerCase():"text";let S=yn([o,a&&a.toAbortSignal()],i),m;const g=S&&S.unsubscribe&&(()=>{S.unsubscribe()});let h;try{if(p&&Rn&&n!=="get"&&n!=="head"&&(h=await Bn(u,r))!==0){let A=new Request(t,{method:"POST",body:r,duplex:"half"}),T;if(c.isFormData(r)&&(T=A.headers.get("content-type"))&&u.setContentType(T),A.body){const[x,M]=Ue(h,v(je(p)));r=_e(A.body,Qe,x,M)}}c.isString(f)||(f=f?"include":"omit");const R="credentials"in Request.prototype;m=new Request(t,{...w,signal:S,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:R?f:void 0});let C=await fetch(m);const B=ue&&(d==="stream"||d==="response");if(ue&&(l||B&&g)){const A={};["status","statusText","headers"].forEach(ge=>{A[ge]=C[ge]});const T=c.toFiniteNumber(C.headers.get("content-length")),[x,M]=l&&Ue(T,v(je(l),!0))||[];C=new Response(_e(C.body,Qe,x,()=>{M&&M(),g&&g()}),A)}d=d||"text";let y=await ee[c.findKey(ee,d)||"text"](C,e);return!B&&g&&g(),await new Promise((A,T)=>{qe(A,T,{data:y,headers:N.from(C.headers),status:C.status,statusText:C.statusText,config:e,request:m})})}catch(R){throw g&&g(),R&&R.name==="TypeError"&&/fetch/i.test(R.message)?Object.assign(new b("Network Error",b.ERR_NETWORK,e,m),{cause:R.cause||R}):b.from(R,R&&R.code,e,m)}})};c.forEach(fe,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Ge=e=>`- ${e}`,Tn=e=>c.isFunction(e)||e===null||e===!1,Je={getAdapter:e=>{e=c.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let a=0;a<t;a++){n=e[a];let i;if(r=n,!Tn(n)&&(r=fe[(i=String(n)).toLowerCase()],r===void 0))throw new b(`Unknown adapter '${i}'`);if(r)break;o[i||"#"+a]=r}if(!r){const a=Object.entries(o).map(([l,p])=>`adapter ${l} `+(p===!1?"is not supported by the environment":"is not available in the build"));let i=t?a.length>1?`since :
|
|
4
|
-
`+
|
|
5
|
-
`):" "+
|
|
6
|
-
`+a):r.stack=a}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=z(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:a}=n;r!==void 0&&ne.assertOptions(r,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1),o!=null&&(c.isFunction(o)?n.paramsSerializer={serialize:o}:ne.assertOptions(o,{encode:D.function,serialize:D.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ne.assertOptions(n,{baseUrl:D.spelling("baseURL"),withXsrfToken:D.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=a&&c.merge(a.common,a[n.method]);a&&c.forEach(["delete","get","head","post","put","patch","common"],m=>{delete a[m]}),n.headers=N.concat(i,a);const l=[];let p=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(p=p&&g.synchronous,l.unshift(g.fulfilled,g.rejected))});const d=[];this.interceptors.response.forEach(function(g){d.push(g.fulfilled,g.rejected)});let u,f=0,w;if(!p){const m=[Xe.bind(this),void 0];for(m.unshift.apply(m,l),m.push.apply(m,d),w=m.length,u=Promise.resolve(n);f<w;)u=u.then(m[f++],m[f++]);return u}w=l.length;let S=n;for(f=0;f<w;){const m=l[f++],g=l[f++];try{S=m(S)}catch(h){g.call(this,h);break}}try{u=Xe.call(this,S)}catch(m){return Promise.reject(m)}for(f=0,w=d.length;f<w;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=z(this.defaults,t);const n=Ie(t.baseURL,t.url,t.allowAbsoluteUrls);return Oe(n,t.params,t.paramsSerializer)}};c.forEach(["delete","get","head","options"],function(t){q.prototype[t]=function(n,r){return this.request(z(r||{},{method:t,url:n,data:(r||{}).data}))}}),c.forEach(["post","put","patch"],function(t){function n(r){return function(a,i,l){return this.request(z(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:a,data:i}))}}q.prototype[t]=n(),q.prototype[t+"Form"]=n(!0)});let Nn=class it{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(a){n=a});const r=this;this.promise.then(o=>{if(!r._listeners)return;let a=r._listeners.length;for(;a-- >0;)r._listeners[a](o);r._listeners=null}),this.promise.then=o=>{let a;const i=new Promise(l=>{r.subscribe(l),a=l}).then(o);return i.cancel=function(){r.unsubscribe(a)},i},t(function(a,i,l){r.reason||(r.reason=new I(a,i,l),n(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 n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new it(function(o){t=o}),cancel:t}}};function xn(e){return function(n){return e.apply(null,n)}}function On(e){return c.isObject(e)&&e.isAxiosError===!0}const me={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(me).forEach(([e,t])=>{me[t]=e});function Ke(e){const t=new q(e),n=U(q.prototype.request,t);return c.extend(n,q.prototype,t,{allOwnKeys:!0}),c.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return Ke(z(e,o))},n}const E=Ke(H);E.Axios=q,E.CanceledError=I,E.CancelToken=Nn,E.isCancel=ze,E.VERSION=Ze,E.toFormData=Y,E.AxiosError=b,E.Cancel=E.CanceledError,E.all=function(t){return Promise.all(t)},E.spread=xn,E.isAxiosError=On,E.mergeConfig=z,E.AxiosHeaders=N,E.formToJSON=e=>Fe(c.isHTMLForm(e)?new FormData(e):e),E.getAdapter=Je.getAdapter,E.HttpStatusCode=me,E.default=E;const{Axios:Qr,AxiosError:Gr,CanceledError:Jr,isCancel:Xr,CancelToken:Zr,VERSION:Yr,all:Kr,Cancel:vr,isAxiosError:$r,spread:eo,toFormData:to,AxiosHeaders:no,HttpStatusCode:ro,formToJSON:oo,getAdapter:so,mergeConfig:io}=E,Pn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFIGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA1LTIxVDE4OjE5OjQxKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NmI5YWQxZC0yOTk4LTQ2ZjYtYjliYS01NTBlNzgwOGQ5MWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZiOWFkMWQtMjk5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";function Dn(e){return e==null?!0:typeof e=="string"||Array.isArray(e)?e.length===0:typeof e=="object"?Object.keys(e).length===0:!1}function ve(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function $e(e={},t={}){const n={};for(const r in e)n[r]=e[r];for(const r in t){const o=e[r],a=t[r];if(ve(o)&&ve(a)){n[r]=$e(o,a);continue}n[r]=a}return n}const Fn="q-defaults";function Ln(){var e,t;const n=s.getCurrentInstance();if(!n)throw new Error("[Quidgest UI] useDefaults must be called from inside a setup function");const r=n.type.name??n.type.__name;if(!r)throw new Error("[Quidgest UI] Could not determine component name");const o=zn(),a=(e=o.value)==null?void 0:e.Global,i=(t=o.value)==null?void 0:t[r];return s.computed(()=>$e(a,i))}function zn(){const e=s.inject(Fn,void 0);if(!e)throw new Error("[Quidgest UI] Could not find defaults instance");return e}function qn(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([0-9])([a-zA-Z])/g,"$1 $2").replace(/([a-zA-Z])([0-9])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").trim().split(/\s+/)}function Un(e){return qn(e).join("-").toLowerCase()}function jn(e,t){var n;const r=Un(t);return r?typeof((n=e.props)==null?void 0:n[r])<"u":!1}function F(e){const t=e,n=t.setup;return n&&(t.setup=(r,o)=>{const a=Ln();if(Dn(a.value))return n(r,o);const i=s.getCurrentInstance();if(i===null)return n(r,o);const l=new Proxy(r,{get(p,d){var u;const f=Reflect.get(p,d),w=(u=a.value)==null?void 0:u[d];return typeof d=="string"&&!jn(i.vnode,d)?w??f:f}});return n(l,o)}),e}const In=["id"],Mn=F(s.defineComponent({__name:"QSpinnerLoader",props:{id:{},class:{},size:{default:48}},setup(e){const t=e,n=s.computed(()=>({"font-size":t.size!==48?`${t.size}px`:void 0}));return(r,o)=>(s.openBlock(),s.createElementBlock("div",{id:t.id,class:s.normalizeClass(["q-spinner-loader",t.class]),style:s.normalizeStyle(n.value)},null,14,In))}})),Vn=["id","disabled"],_n={key:0,class:"q-btn__spinner"},Hn={class:"q-btn__content"},et=F(s.defineComponent({__name:"QButton",props:{id:{},class:{},active:{type:Boolean},bStyle:{default:"secondary"},label:{},disabled:{type:Boolean},iconOnRight:{type:Boolean},borderless:{type:Boolean},elevated:{type:Boolean},block:{type:Boolean},loading:{type:Boolean},size:{default:"regular"}},emits:["click"],setup(e,{emit:t}){const n=e,r=t,o=s.computed(()=>n.disabled||n.loading);function a(l){o.value||r("click",l)}const i=s.computed(()=>{const l=n.size!=="regular"?`q-btn--${n.size}`:void 0;return["q-btn",`q-btn--${n.bStyle}`,l,{"q-btn--active":n.active,"q-btn--borderless":n.borderless,"q-btn--elevated":n.elevated,"q-btn--block":n.block,"q-btn--loading":n.loading},n.class]});return(l,p)=>(s.openBlock(),s.createElementBlock("button",{id:n.id,type:"button",class:s.normalizeClass(i.value),disabled:o.value,onClick:s.withModifiers(a,["stop","prevent"])},[l.loading?(s.openBlock(),s.createElementBlock("div",_n,[s.createVNode(s.unref(Mn),{size:20})])):s.createCommentVNode("v-if",!0),s.createElementVNode("span",Hn,[l.iconOnRight?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createTextVNode(s.toDisplayString(n.label),1)],64)):s.createCommentVNode("v-if",!0),s.renderSlot(l.$slots,"default"),l.iconOnRight?s.createCommentVNode("v-if",!0):(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createTextVNode(s.toDisplayString(n.label),1)],64))])],10,Vn))}})),Wn=s.defineComponent({__name:"QIcon",props:{id:{},class:{},icon:{},size:{},type:{default:"svg"}},setup(e){const t=e,n=s.computed(()=>{switch(t.type){case"svg":return tr;case"font":return $n;case"img":return er;default:return}});return(r,o)=>(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.value),{id:t.id,class:s.normalizeClass(t.class),icon:t.icon,size:t.size},null,8,["id","class","icon","size"]))}}),Qn=["id"],Gn=s.defineComponent({__name:"QIconFont",props:{id:{},class:{},icon:{},size:{},library:{default:""},variant:{}},setup(e){const t=e,n=s.computed(()=>t.variant?`${t.library}-${t.variant}`:t.library),r=s.computed(()=>t.library&&t.icon?`${t.library}-${t.icon}`:t.icon),o=s.computed(()=>({"font-size":t.size!==void 0?`${t.size}px`:void 0}));return(a,i)=>(s.openBlock(),s.createElementBlock("i",{id:t.id,class:s.normalizeClass(["q-icon","q-icon__font",n.value,r.value,t.class]),style:s.normalizeStyle(o.value)},null,14,Qn))}}),Jn=["id","src"],Xn=s.defineComponent({__name:"QIconImg",props:{id:{},class:{},icon:{},size:{}},setup(e){const t=e,n=s.computed(()=>({"font-size":t.size!==void 0?`${t.size}px`:void 0}));return(r,o)=>(s.openBlock(),s.createElementBlock("img",{id:t.id,src:t.icon,class:s.normalizeClass(["q-icon","q-icon__img",t.class]),style:s.normalizeStyle(n.value)},null,14,Jn))}}),Q={},Zn=s.defineComponent({name:"InlineSvg",inheritAttrs:!1,props:{src:{type:String,required:!0},symbol:{type:String,default:""},title:{type:String,default:""},transformSource:{type:Function,default:void 0},keepDuringLoading:{type:Boolean,default:!0}},emits:{loaded:e=>typeof e=="object",unloaded:()=>!0,error:e=>typeof e=="object"},data(){return{svgElSource:null}},watch:{src(e){this.getSource(e)}},async mounted(){await this.getSource(this.src)},methods:{copySvgAttrs(e,t){const n=t.attributes;if(n)for(const r of n)e[r.name]=r.value},copyComponentAttrs(e,t){for(const[n,r]of Object.entries(t))r!==!1&&r!==null&&r!==void 0&&(e[n]=r)},getSvgContent(e){return this.symbol&&(e=e.getElementById(this.symbol),!e)?null:(this.transformSource&&(e=e.cloneNode(!0),e=this.transformSource(e)),this.title&&(this.transformSource||(e=e.cloneNode(!0)),Yn(e,this.title)),e)},async getSource(e){try{Q[e]||(Q[e]=Kn(this.download(e))),this.svgElSource&&Q[e].getIsPending()&&!this.keepDuringLoading&&(this.svgElSource=null,this.$emit("unloaded"));const t=await Q[e];this.svgElSource=t,await this.$nextTick(),this.$emit("loaded",this.$el)}catch(t){this.svgElSource&&(this.svgElSource=null,this.$emit("unloaded")),delete Q[e],this.$emit("error",t)}},async download(e){const t=await fetch(e);if(!t.ok)throw new Error("Error loading SVG");const n=await t.text(),r=new DOMParser().parseFromString(n,"text/xml").getElementsByTagName("svg")[0];if(!r)throw new Error("Loaded file is not a valid SVG");return r}},render(){if(!this.svgElSource)return null;const e=this.getSvgContent(this.svgElSource);if(!e)return s.h("div",this.$attrs);const t={};return this.copySvgAttrs(t,this.svgElSource),this.copySvgAttrs(t,e),this.copyComponentAttrs(t,this.$attrs),t.innerHTML=e.innerHTML,s.h("svg",t)},expose:[]});function Yn(e,t){const n=e.getElementsByTagName("title");if(n.length)n[0].textContent=t;else{const r=document.createElementNS("http://www.w3.org/2000/svg","title");r.textContent=t,e.insertBefore(r,e.firstChild)}}function Kn(e){if(e.getIsPending)return e;let t=!0;const n=e.then(r=>(t=!1,r),r=>{throw t=!1,r});return n.getIsPending=()=>t,n}const vn=s.defineComponent({__name:"QIconSvg",props:{id:{},class:{},icon:{},size:{},bundle:{default:""}},emits:["loaded","unloaded"],setup(e,{emit:t}){const n=e,r=t,o=s.computed(()=>({"font-size":n.size!==void 0?`${n.size}px`:void 0}));function a(l){r("loaded",l)}function i(){r("unloaded")}return(l,p)=>(s.openBlock(),s.createBlock(s.unref(Zn),{id:n.id,class:s.normalizeClass(["q-icon","q-icon__svg",n.class]),src:n.bundle,symbol:n.icon,style:s.normalizeStyle(o.value),onLoaded:a,onUnloaded:i},null,8,["id","class","src","symbol","style"]))}}),tt=F(Wn),$n=F(Gn),er=F(Xn),tr=F(vn);let nr=0;function rr(e){return s.unref(e)||`uid-${++nr}`}const or=["id"],sr={key:0,class:"q-field__label"},ir=["for"],ar={key:0,class:"q-field__prepend"},lr={key:1,class:"q-field__append"},cr={key:1,class:"q-field__extras"},dr=F(s.defineComponent({inheritAttrs:!1,__name:"QField",props:{id:{},class:{},label:{},for:{},size:{default:"medium"},readonly:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean}},setup(e,{expose:t}){const n=e,r=s.ref(null),o=s.computed(()=>n.required&&!n.readonly&&!n.disabled),a=s.computed(()=>["q-field",`q-field--${n.size}`,{"q-field--readonly":n.readonly,"q-field--disabled":n.disabled,"q-field--required":o.value},n.class]);return t({fieldRef:r}),(i,l)=>(s.openBlock(),s.createElementBlock("div",{id:n.id,class:s.normalizeClass(a.value)},[n.label?(s.openBlock(),s.createElementBlock("div",sr,[s.renderSlot(i.$slots,"label.prepend"),s.createElementVNode("label",{for:n.for},s.toDisplayString(n.label),9,ir),s.renderSlot(i.$slots,"label.append")])):s.createCommentVNode("v-if",!0),s.renderSlot(i.$slots,"control",{},()=>[s.createElementVNode("div",s.mergeProps({ref_key:"fieldRef",ref:r,class:"q-field__control"},i.$attrs),[i.$slots.prepend?(s.openBlock(),s.createElementBlock("div",ar,[s.renderSlot(i.$slots,"prepend")])):s.createCommentVNode("v-if",!0),s.renderSlot(i.$slots,"default"),i.$slots.append?(s.openBlock(),s.createElementBlock("div",lr,[s.renderSlot(i.$slots,"append")])):s.createCommentVNode("v-if",!0)],16)]),i.$slots.extras?(s.openBlock(),s.createElementBlock("div",cr,[s.renderSlot(i.$slots,"extras")])):s.createCommentVNode("v-if",!0)],10,or))}})),ur=["id"],fr=F(s.defineComponent({__name:"QLineLoader",props:{id:{},class:{}},setup(e){const t=e;return(n,r)=>(s.openBlock(),s.createElementBlock("div",{id:t.id,class:s.normalizeClass(["q-line-loader",t.class])},null,10,ur))}}));function pr(e){return s.getCurrentScope()?(s.onScopeDispose(e),!0):!1}const mr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const hr=()=>{};function nt(...e){if(e.length!==1)return s.toRef(...e);const t=e[0];return typeof t=="function"?s.readonly(s.customRef(()=>({get:t,set:hr}))):s.ref(t)}const he=mr?window:void 0;function rt(e){var t;const n=s.toValue(e);return(t=n==null?void 0:n.$el)!=null?t:n}function gr(){const e=s.shallowRef(!1),t=s.getCurrentInstance();return t&&s.onMounted(()=>{e.value=!0},t),e}function br(e){const t=gr();return s.computed(()=>(t.value,!!e()))}function yr(e,t,n={}){const{window:r=he,...o}=n;let a;const i=br(()=>r&&"ResizeObserver"in r),l=()=>{a&&(a.disconnect(),a=void 0)},p=s.computed(()=>{const f=s.toValue(e);return Array.isArray(f)?f.map(w=>rt(w)):[rt(f)]}),d=s.watch(p,f=>{if(l(),i.value&&r){a=new ResizeObserver(t);for(const w of f)w&&a.observe(w,o)}},{immediate:!0,flush:"post"}),u=()=>{l(),d()};return pr(u),{isSupported:i,stop:u}}function wr(e=he,t){e&&typeof e.requestAnimationFrame=="function"?e.requestAnimationFrame(t):t()}function Ar(e={}){var t,n;const{window:r=he}=e,o=nt(e==null?void 0:e.element),a=nt((t=e==null?void 0:e.input)!=null?t:""),i=(n=e==null?void 0:e.styleProp)!=null?n:"height",l=s.shallowRef(1),p=s.shallowRef(0);function d(){var u;if(!o.value)return;let f="";o.value.style[i]="1px",l.value=(u=o.value)==null?void 0:u.scrollHeight;const w=s.toValue(e==null?void 0:e.styleTarget);w?w.style[i]=`${l.value}px`:f=`${l.value}px`,o.value.style[i]=f}return s.watch([a,o],()=>s.nextTick(d),{immediate:!0}),s.watch(l,()=>{var u;return(u=e==null?void 0:e.onResize)==null?void 0:u.call(e)}),yr(o,([{contentRect:u}])=>{p.value!==u.width&&wr(r,()=>{p.value=u.width,d()})}),e!=null&&e.watch&&s.watch(e.watch,d,{immediate:!0,deep:!0}),{textarea:o,input:a,triggerResize:d}}const Er=["id","required","placeholder","readonly","disabled","maxlength","rows","cols","resize","wrap"],Sr=F(s.defineComponent({inheritAttrs:!1,__name:"QTextArea",props:s.mergeModels({id:{},class:{},label:{},for:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},placeholder:{},maxLength:{},rows:{default:3},cols:{},resize:{default:"vertical"},wrap:{default:"soft"},autosize:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=s.useModel(e,"modelValue"),r=rr(t.id),o=s.computed(()=>t.readonly||t.disabled?void 0:t.placeholder),a=s.computed(()=>({input:t.autosize?l:null})),i=s.ref(),{triggerResize:l}=Ar({element:s.computed(()=>t.autosize?i.value:void 0),styleProp:"minHeight"}),p=s.computed({get:()=>n.value,set:d=>{n.value=t.maxLength?d==null?void 0:d.slice(0,t.maxLength):d}});return(d,u)=>(s.openBlock(),s.createBlock(s.unref(dr),{class:s.normalizeClass(["q-text-area",t.class]),for:s.unref(r),label:t.label,size:t.size,readonly:t.readonly,disabled:t.disabled,required:t.required},s.createSlots({"label.prepend":s.withCtx(()=>[s.renderSlot(d.$slots,"label.prepend")]),"label.append":s.withCtx(()=>[s.renderSlot(d.$slots,"label.append")]),default:s.withCtx(()=>[s.withDirectives(s.createElementVNode("textarea",s.mergeProps({id:s.unref(r),ref_key:"textareaRef",ref:i,"onUpdate:modelValue":u[0]||(u[0]=f=>p.value=f),class:"q-text-area__input",required:t.required,placeholder:o.value,readonly:t.readonly,disabled:t.disabled,maxlength:t.maxLength,rows:t.rows,cols:t.cols,resize:t.resize,wrap:t.wrap},d.$attrs,s.toHandlers(a.value,!0)),null,16,Er),[[s.vModelText,p.value]])]),_:2},[d.$slots.prepend?{name:"prepend",fn:s.withCtx(()=>[s.renderSlot(d.$slots,"prepend")]),key:"0"}:void 0,d.$slots.append?{name:"append",fn:s.withCtx(()=>[s.renderSlot(d.$slots,"append")]),key:"1"}:void 0,d.$slots.extras?{name:"extras",fn:s.withCtx(()=>[s.renderSlot(d.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","size","readonly","disabled","required"]))}})),Rr={class:"q-chatbot__message-container"},Cr=["src"],Br={class:"q-chatbot__message-wrapper"},Tr={key:0,class:"q-chatbot__sender"},kr={class:"q-chatbot__message"},Nr=["innerHTML"],xr={key:1,class:"q-chatbot__text"},Or=s.defineComponent({__name:"CBMessage",props:{sender:{default:"user"},message:{},date:{default:()=>new Date},loading:{type:Boolean},dateFormat:{}},setup(e){const t=e,n=s.computed(()=>t.sender==="bot"?"GenioBot":"You"),r=s.computed(()=>t.dateFormat?a(t.date,t.dateFormat):t.date.toLocaleString()),o=s.computed(()=>`${n.value} ${r.value}`);function a(i,l){const p=i.getDate().toString().padStart(2,"0"),d=(i.getMonth()+1).toString().padStart(2,"0"),u=i.getFullYear().toString().padStart(2,"0"),f=i.getHours().toString().padStart(2,"0"),w=i.getMinutes().toString().padStart(2,"0"),S=i.getSeconds().toString().padStart(2,"0");return l.replace("dd",p).replace("MM",d).replace("yyyy",u).replace("HH",f).replace("mm",w).replace("ss",S)}return(i,l)=>(s.openBlock(),s.createElementBlock("div",Rr,[t.sender==="bot"?(s.openBlock(),s.createElementBlock("img",{key:0,src:s.unref(Pn),alt:"Chatbot",class:"q-chatbot__profile"},null,8,Cr)):s.createCommentVNode("",!0),s.createElementVNode("div",Br,[i.loading?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",Tr,s.toDisplayString(o.value),1)),s.createElementVNode("div",kr,[i.loading?(s.openBlock(),s.createBlock(s.unref(fr),{key:0})):(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[t.sender=="bot"?(s.openBlock(),s.createElementBlock("div",{key:0,class:"q-chatbot__text",innerHTML:t.message},null,8,Nr)):(s.openBlock(),s.createElementBlock("div",xr,s.toDisplayString(t.message),1))],64))])])]))}}),Pr={class:"q-chatbot"},Dr={class:"q-chatbot__content"},Fr={class:"q-chatbot__tools"},Lr={class:"q-chatbot__messages-container"},zr={class:"q-chatbot__footer-container"},qr={class:"q-chatbot__footer"},Ur={class:"q-chatbot__input"},jr={class:"q-chatbot__send-container"};return s.defineComponent({name:"ChatBot",__name:"ChatBot",props:{apiEndpoint:{default:"http://localhost:3000"},texts:{default:()=>({chatbotTitle:"ChatBot",qButtonTitle:"Send message",inputLabel:"What can I help with?",initialMessage:"Howdy! I am GenioBot 👋, Quidgest's personal AI assistant! How can I help you?",loginError:"Uh oh, I could not authenticate with the Quidgest API endpoint 😓",botIsSick:"*cough cough* GenioBot is not feeling alright 🥴️🤒, looks like something failed!"})},username:{},projectPath:{},dateFormat:{}},setup(e){let t=s.ref([]),n=1,r=s.ref(""),o=s.ref(!1),a=!1;const i=s.useTemplateRef("scrollElement"),l=e;s.onMounted(()=>{d()});function p(y){a=y}function d(){E.post(l.apiEndpoint+"/auth/login",{username:l.username,password:"test"}).then(y=>{if(y.status!=200||!y.data.success)return p(!0),f(l.texts.loginError),console.log(`Unsuccessful login, endpoint gave status ${y.status}`);u()}).catch(y=>{p(!0),f(l.texts.loginError),console.log(`The following error ocurred while trying to login:
|
|
7
|
-
`+y)})}function u(){E.post(l.apiEndpoint+"/prompt/load",{username:l.username,project:l.projectPath}).then(y=>{if(y.status!=200||!y.data.success)return p(!0),f(l.texts.loginError),console.log(`Unsuccessful load, endpoint gave status ${y.status}`);S(),y.data.history.forEach(A=>{f(A.content,A.type==="ai"?"bot":"user")})}).catch(y=>{p(!0),f(l.texts.loginError),console.log(`The following error ocurred while trying to login:
|
|
8
|
-
`+y)})}function f(y,A="bot"){t.value.push({id:n++,message:y,date:new Date,sender:A}),s.nextTick(g)}function w(){return t.value.find(y=>y.id===n-1)}function S(){f(l.texts.initialMessage)}function m(){t.value=[],r.value="",o.value=!1,p(!1)}function g(){var y;(y=i.value)==null||y.scrollIntoView({behavior:"smooth"})}function h(){r.value.trim().length==0||o.value||a||(f(r.value,"user"),R(r.value),r.value="")}function R(y){f("");let A=w(),T={message:y,project:l.projectPath,user:l.username};o.value=!0,E({url:l.apiEndpoint+"/prompt/message",method:"POST",data:T,onDownloadProgress:x=>{var ot,st;const M=(ot=x.event)==null?void 0:ot.currentTarget.response;((st=x.event)==null?void 0:st.currentTarget.status)==200&&(A&&(A.message=M),g())}}).then(({data:x})=>{A&&(A.message=x)}).catch(x=>{f(l.texts.botIsSick),p(!0),console.log(x)}).finally(()=>{o.value=!1})}function C(){E.post(l.apiEndpoint+"/prompt/clear",{username:l.username,project:l.projectPath}).then(y=>{if(y.status!=200||!y.data.success)return p(!0),f(l.texts.loginError),console.log(`Unsuccessful login, endpoint gave status ${y.status}`);m(),S()}).catch(y=>{p(!0),f(l.texts.loginError),console.log(`The following error ocurred while trying to communicate with the endpoint:
|
|
9
|
-
`+y)})}function B(y){const A=["q-chatbot__messages-wrapper"];return y=="user"&&A.push("q-chatbot__messages-wrapper_right"),A}return s.watch(()=>l.apiEndpoint,()=>{m(),d()}),(y,A)=>(s.openBlock(),s.createElementBlock("div",Pr,[s.createElementVNode("div",Dr,[s.createElementVNode("div",Fr,[s.createVNode(s.unref(et),{title:l.texts.qButtonTitle,"b-style":"secondary",disabled:s.unref(a),borderless:"",onClick:C},{default:s.withCtx(()=>[s.createVNode(s.unref(tt),{icon:"bin"})]),_:1},8,["title","disabled"])]),s.createElementVNode("div",Lr,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(t),T=>(s.openBlock(),s.createElementBlock("div",{key:T.id,class:s.normalizeClass(B(T.sender))},[s.createVNode(s.unref(Or),s.mergeProps({ref_for:!0},T,{"date-format":l.dateFormat,loading:s.unref(o)&&!T.message}),null,16,["date-format","loading"])],2))),128))]),s.createElementVNode("div",{ref_key:"scrollElement",ref:i},null,512),s.createElementVNode("div",zr,[s.createElementVNode("label",null,s.toDisplayString(l.texts.inputLabel),1),s.createElementVNode("div",qr,[s.createElementVNode("div",Ur,[s.createVNode(s.unref(Sr),{modelValue:s.unref(r),"onUpdate:modelValue":A[0]||(A[0]=T=>s.isRef(r)?r.value=T:r=T),size:"block",autosize:"",resize:"none",rows:2,disabled:s.unref(a),onKeyup:s.withKeys(h,["enter"])},null,8,["modelValue","disabled"])]),s.createElementVNode("div",jr,[s.createVNode(s.unref(et),{title:l.texts.qButtonTitle,"b-style":"primary",class:"q-chatbot__send",disabled:s.unref(a)||s.unref(o),loading:s.unref(o),onClick:h},{default:s.withCtx(()=>[s.createVNode(s.unref(tt),{icon:"send"})]),_:1},8,["title","disabled","loading"])])])])])]))}})});
|
|
1
|
+
(function(s,V){typeof exports=="object"&&typeof module<"u"?module.exports=V(require("vue")):typeof define=="function"&&define.amd?define(["vue"],V):(s=typeof globalThis<"u"?globalThis:s||self,s.ChatBotFrontend=V(s.vue))})(this,function(s){"use strict";function V(e,t){return function(){return e.apply(t,arguments)}}const{toString:ut}=Object.prototype,{getPrototypeOf:ie}=Object,X=(e=>t=>{const n=ut.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),x=e=>(e=e.toLowerCase(),t=>X(t)===e),v=e=>t=>typeof t===e,{isArray:G}=Array,W=v("undefined");function dt(e){return e!==null&&!W(e)&&e.constructor!==null&&!W(e.constructor)&&D(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const we=x("ArrayBuffer");function ft(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&we(e.buffer),t}const pt=v("string"),D=v("function"),Ee=v("number"),_=e=>e!==null&&typeof e=="object",mt=e=>e===!0||e===!1,K=e=>{if(X(e)!=="object")return!1;const t=ie(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},ht=x("Date"),gt=x("File"),bt=x("Blob"),At=x("FileList"),yt=e=>_(e)&&D(e.pipe),wt=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||D(e.append)&&((t=X(e))==="formdata"||t==="object"&&D(e.toString)&&e.toString()==="[object FormData]"))},Et=x("URLSearchParams"),[St,Rt,Bt,Nt]=["ReadableStream","Request","Response","Headers"].map(x),Ct=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function J(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let o,r;if(typeof e!="object"&&(e=[e]),G(e))for(o=0,r=e.length;o<r;o++)t.call(null,e[o],o,e);else{const i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length;let l;for(o=0;o<a;o++)l=i[o],t.call(null,e[l],l,e)}}function Se(e,t){t=t.toLowerCase();const n=Object.keys(e);let o=n.length,r;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const U=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Re=e=>!W(e)&&e!==U;function ae(){const{caseless:e}=Re(this)&&this||{},t={},n=(o,r)=>{const i=e&&Se(t,r)||r;K(t[i])&&K(o)?t[i]=ae(t[i],o):K(o)?t[i]=ae({},o):G(o)?t[i]=o.slice():t[i]=o};for(let o=0,r=arguments.length;o<r;o++)arguments[o]&&J(arguments[o],n);return t}const Tt=(e,t,n,{allOwnKeys:o}={})=>(J(t,(r,i)=>{n&&D(r)?e[i]=V(r,n):e[i]=r},{allOwnKeys:o}),e),Ot=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Dt=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},kt=(e,t,n,o)=>{let r,i,a;const l={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)a=r[i],(!o||o(a,e,t))&&!l[a]&&(t[a]=e[a],l[a]=!0);e=n!==!1&&ie(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},xt=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},Ft=e=>{if(!e)return null;if(G(e))return e;let t=e.length;if(!Ee(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Lt=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&ie(Uint8Array)),It=(e,t)=>{const o=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=o.next())&&!r.done;){const i=r.value;t.call(e,i[0],i[1])}},Pt=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},jt=x("HTMLFormElement"),zt=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,r){return o.toUpperCase()+r}),Be=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Ut=x("RegExp"),Ne=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};J(n,(r,i)=>{let a;(a=t(r,i,e))!==!1&&(o[i]=a||r)}),Object.defineProperties(e,o)},Mt=e=>{Ne(e,(t,n)=>{if(D(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const o=e[n];if(D(o)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},qt=(e,t)=>{const n={},o=r=>{r.forEach(i=>{n[i]=!0})};return G(e)?o(e):o(String(e).split(t)),n},Vt=()=>{},Gt=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Ht(e){return!!(e&&D(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const Wt=e=>{const t=new Array(10),n=(o,r)=>{if(_(o)){if(t.indexOf(o)>=0)return;if(!("toJSON"in o)){t[r]=o;const i=G(o)?[]:{};return J(o,(a,l)=>{const d=n(a,r+1);!W(d)&&(i[l]=d)}),t[r]=void 0,i}}return o};return n(e,0)},Jt=x("AsyncFunction"),Qt=e=>e&&(_(e)||D(e))&&D(e.then)&&D(e.catch),Ce=((e,t)=>e?setImmediate:t?((n,o)=>(U.addEventListener("message",({source:r,data:i})=>{r===U&&i===n&&o.length&&o.shift()()},!1),r=>{o.push(r),U.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",D(U.postMessage)),Zt=typeof queueMicrotask<"u"?queueMicrotask.bind(U):typeof process<"u"&&process.nextTick||Ce,c={isArray:G,isArrayBuffer:we,isBuffer:dt,isFormData:wt,isArrayBufferView:ft,isString:pt,isNumber:Ee,isBoolean:mt,isObject:_,isPlainObject:K,isReadableStream:St,isRequest:Rt,isResponse:Bt,isHeaders:Nt,isUndefined:W,isDate:ht,isFile:gt,isBlob:bt,isRegExp:Ut,isFunction:D,isStream:yt,isURLSearchParams:Et,isTypedArray:Lt,isFileList:At,forEach:J,merge:ae,extend:Tt,trim:Ct,stripBOM:Ot,inherits:Dt,toFlatObject:kt,kindOf:X,kindOfTest:x,endsWith:xt,toArray:Ft,forEachEntry:It,matchAll:Pt,isHTMLForm:jt,hasOwnProperty:Be,hasOwnProp:Be,reduceDescriptors:Ne,freezeMethods:Mt,toObjectSet:qt,toCamelCase:zt,noop:Vt,toFiniteNumber:Gt,findKey:Se,global:U,isContextDefined:Re,isSpecCompliantForm:Ht,toJSONObject:Wt,isAsyncFn:Jt,isThenable:Qt,setImmediate:Ce,asap:Zt};function g(e,t,n,o,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),r&&(this.response=r,this.status=r.status?r.status:null)}c.inherits(g,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:c.toJSONObject(this.config),code:this.code,status:this.status}}});const Te=g.prototype,Oe={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Oe[e]={value:e}}),Object.defineProperties(g,Oe),Object.defineProperty(Te,"isAxiosError",{value:!0}),g.from=(e,t,n,o,r,i)=>{const a=Object.create(Te);return c.toFlatObject(e,a,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),g.call(a,e.message,t,n,o,r),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const Yt=null;function le(e){return c.isPlainObject(e)||c.isArray(e)}function De(e){return c.endsWith(e,"[]")?e.slice(0,-2):e}function ke(e,t,n){return e?e.concat(t).map(function(r,i){return r=De(r),!n&&i?"["+r+"]":r}).join(n?".":""):t}function Xt(e){return c.isArray(e)&&!e.some(le)}const vt=c.toFlatObject(c,{},null,function(t){return/^is[A-Z]/.test(t)});function $(e,t,n){if(!c.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=c.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,h){return!c.isUndefined(h[b])});const o=n.metaTokens,r=n.visitor||f,i=n.dots,a=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&c.isSpecCompliantForm(t);if(!c.isFunction(r))throw new TypeError("visitor must be a function");function u(m){if(m===null)return"";if(c.isDate(m))return m.toISOString();if(!d&&c.isBlob(m))throw new g("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(m)||c.isTypedArray(m)?d&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function f(m,b,h){let E=m;if(m&&!h&&typeof m=="object"){if(c.endsWith(b,"{}"))b=o?b:b.slice(0,-2),m=JSON.stringify(m);else if(c.isArray(m)&&Xt(m)||(c.isFileList(m)||c.endsWith(b,"[]"))&&(E=c.toArray(m)))return b=De(b),E.forEach(function(B,k){!(c.isUndefined(B)||B===null)&&t.append(a===!0?ke([b],k,i):a===null?b:b+"[]",u(B))}),!1}return le(m)?!0:(t.append(ke(h,b,i),u(m)),!1)}const p=[],A=Object.assign(vt,{defaultVisitor:f,convertValue:u,isVisitable:le});function S(m,b){if(!c.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+b.join("."));p.push(m),c.forEach(m,function(E,R){(!(c.isUndefined(E)||E===null)&&r.call(t,E,c.isString(R)?R.trim():R,b,A))===!0&&S(E,b?b.concat(R):[R])}),p.pop()}}if(!c.isObject(e))throw new TypeError("data must be an object");return S(e),t}function xe(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function ce(e,t){this._pairs=[],e&&$(e,this,t)}const Fe=ce.prototype;Fe.append=function(t,n){this._pairs.push([t,n])},Fe.toString=function(t){const n=t?function(o){return t.call(this,o,xe)}:xe;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function _t(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Le(e,t,n){if(!t)return e;const o=n&&n.encode||_t;c.isFunction(n)&&(n={serialize:n});const r=n&&n.serialize;let i;if(r?i=r(t,n):i=c.isURLSearchParams(t)?t.toString():new ce(t,n).toString(o),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Ie{constructor(){this.handlers=[]}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){c.forEach(this.handlers,function(o){o!==null&&t(o)})}}const Pe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Kt={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:ce,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},ue=typeof window<"u"&&typeof document<"u",de=typeof navigator=="object"&&navigator||void 0,$t=ue&&(!de||["ReactNative","NativeScript","NS"].indexOf(de.product)<0),en=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",tn=ue&&window.location.href||"http://localhost",C={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ue,hasStandardBrowserEnv:$t,hasStandardBrowserWebWorkerEnv:en,navigator:de,origin:tn},Symbol.toStringTag,{value:"Module"})),...Kt};function nn(e,t){return $(e,new C.classes.URLSearchParams,Object.assign({visitor:function(n,o,r,i){return C.isNode&&c.isBuffer(n)?(this.append(o,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function on(e){return c.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function rn(e){const t={},n=Object.keys(e);let o;const r=n.length;let i;for(o=0;o<r;o++)i=n[o],t[i]=e[i];return t}function je(e){function t(n,o,r,i){let a=n[i++];if(a==="__proto__")return!0;const l=Number.isFinite(+a),d=i>=n.length;return a=!a&&c.isArray(r)?r.length:a,d?(c.hasOwnProp(r,a)?r[a]=[r[a],o]:r[a]=o,!l):((!r[a]||!c.isObject(r[a]))&&(r[a]=[]),t(n,o,r[a],i)&&c.isArray(r[a])&&(r[a]=rn(r[a])),!l)}if(c.isFormData(e)&&c.isFunction(e.entries)){const n={};return c.forEachEntry(e,(o,r)=>{t(on(o),r,n,0)}),n}return null}function sn(e,t,n){if(c.isString(e))try{return(t||JSON.parse)(e),c.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return(n||JSON.stringify)(e)}const Q={transitional:Pe,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const o=n.getContentType()||"",r=o.indexOf("application/json")>-1,i=c.isObject(t);if(i&&c.isHTMLForm(t)&&(t=new FormData(t)),c.isFormData(t))return r?JSON.stringify(je(t)):t;if(c.isArrayBuffer(t)||c.isBuffer(t)||c.isStream(t)||c.isFile(t)||c.isBlob(t)||c.isReadableStream(t))return t;if(c.isArrayBufferView(t))return t.buffer;if(c.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(i){if(o.indexOf("application/x-www-form-urlencoded")>-1)return nn(t,this.formSerializer).toString();if((l=c.isFileList(t))||o.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return $(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return i||r?(n.setContentType("application/json",!1),sn(t)):t}],transformResponse:[function(t){const n=this.transitional||Q.transitional,o=n&&n.forcedJSONParsing,r=this.responseType==="json";if(c.isResponse(t)||c.isReadableStream(t))return t;if(t&&c.isString(t)&&(o&&!this.responseType||r)){const a=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(l){if(a)throw l.name==="SyntaxError"?g.from(l,g.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:C.classes.FormData,Blob:C.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],e=>{Q.headers[e]={}});const an=c.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ln=e=>{const t={};let n,o,r;return e&&e.split(`
|
|
2
|
+
`).forEach(function(a){r=a.indexOf(":"),n=a.substring(0,r).trim().toLowerCase(),o=a.substring(r+1).trim(),!(!n||t[n]&&an[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o)}),t},ze=Symbol("internals");function Z(e){return e&&String(e).trim().toLowerCase()}function ee(e){return e===!1||e==null?e:c.isArray(e)?e.map(ee):String(e)}function cn(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}const un=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function fe(e,t,n,o,r){if(c.isFunction(o))return o.call(this,t,n);if(r&&(t=n),!!c.isString(t)){if(c.isString(o))return t.indexOf(o)!==-1;if(c.isRegExp(o))return o.test(t)}}function dn(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function fn(e,t){const n=c.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(r,i,a){return this[o].call(this,t,r,i,a)},configurable:!0})})}let O=class{constructor(t){t&&this.set(t)}set(t,n,o){const r=this;function i(l,d,u){const f=Z(d);if(!f)throw new Error("header name must be a non-empty string");const p=c.findKey(r,f);(!p||r[p]===void 0||u===!0||u===void 0&&r[p]!==!1)&&(r[p||d]=ee(l))}const a=(l,d)=>c.forEach(l,(u,f)=>i(u,f,d));if(c.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(c.isString(t)&&(t=t.trim())&&!un(t))a(ln(t),n);else if(c.isHeaders(t))for(const[l,d]of t.entries())i(d,l,o);else t!=null&&i(n,t,o);return this}get(t,n){if(t=Z(t),t){const o=c.findKey(this,t);if(o){const r=this[o];if(!n)return r;if(n===!0)return cn(r);if(c.isFunction(n))return n.call(this,r,o);if(c.isRegExp(n))return n.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Z(t),t){const o=c.findKey(this,t);return!!(o&&this[o]!==void 0&&(!n||fe(this,this[o],o,n)))}return!1}delete(t,n){const o=this;let r=!1;function i(a){if(a=Z(a),a){const l=c.findKey(o,a);l&&(!n||fe(o,o[l],l,n))&&(delete o[l],r=!0)}}return c.isArray(t)?t.forEach(i):i(t),r}clear(t){const n=Object.keys(this);let o=n.length,r=!1;for(;o--;){const i=n[o];(!t||fe(this,this[i],i,t,!0))&&(delete this[i],r=!0)}return r}normalize(t){const n=this,o={};return c.forEach(this,(r,i)=>{const a=c.findKey(o,i);if(a){n[a]=ee(r),delete n[i];return}const l=t?dn(i):String(i).trim();l!==i&&delete n[i],n[l]=ee(r),o[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return c.forEach(this,(o,r)=>{o!=null&&o!==!1&&(n[r]=t&&c.isArray(o)?o.join(", "):o)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
|
|
3
|
+
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(r=>o.set(r)),o}static accessor(t){const o=(this[ze]=this[ze]={accessors:{}}).accessors,r=this.prototype;function i(a){const l=Z(a);o[l]||(fn(r,a),o[l]=!0)}return c.isArray(t)?t.forEach(i):i(t),this}};O.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),c.reduceDescriptors(O.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(o){this[n]=o}}}),c.freezeMethods(O);function pe(e,t){const n=this||Q,o=t||n,r=O.from(o.headers);let i=o.data;return c.forEach(e,function(l){i=l.call(n,i,r.normalize(),t?t.status:void 0)}),r.normalize(),i}function Ue(e){return!!(e&&e.__CANCEL__)}function H(e,t,n){g.call(this,e??"canceled",g.ERR_CANCELED,t,n),this.name="CanceledError"}c.inherits(H,g,{__CANCEL__:!0});function Me(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new g("Request failed with status code "+n.status,[g.ERR_BAD_REQUEST,g.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function pn(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function mn(e,t){e=e||10;const n=new Array(e),o=new Array(e);let r=0,i=0,a;return t=t!==void 0?t:1e3,function(d){const u=Date.now(),f=o[i];a||(a=u),n[r]=d,o[r]=u;let p=i,A=0;for(;p!==r;)A+=n[p++],p=p%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),u-a<t)return;const S=f&&u-f;return S?Math.round(A*1e3/S):void 0}}function hn(e,t){let n=0,o=1e3/t,r,i;const a=(u,f=Date.now())=>{n=f,r=null,i&&(clearTimeout(i),i=null),e.apply(null,u)};return[(...u)=>{const f=Date.now(),p=f-n;p>=o?a(u,f):(r=u,i||(i=setTimeout(()=>{i=null,a(r)},o-p)))},()=>r&&a(r)]}const te=(e,t,n=3)=>{let o=0;const r=mn(50,250);return hn(i=>{const a=i.loaded,l=i.lengthComputable?i.total:void 0,d=a-o,u=r(d),f=a<=l;o=a;const p={loaded:a,total:l,progress:l?a/l:void 0,bytes:d,rate:u||void 0,estimated:u&&l&&f?(l-a)/u:void 0,event:i,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(p)},n)},qe=(e,t)=>{const n=e!=null;return[o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},Ve=e=>(...t)=>c.asap(()=>e(...t)),gn=C.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,C.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(C.origin),C.navigator&&/(msie|trident)/i.test(C.navigator.userAgent)):()=>!0,bn=C.hasStandardBrowserEnv?{write(e,t,n,o,r,i){const a=[e+"="+encodeURIComponent(t)];c.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),c.isString(o)&&a.push("path="+o),c.isString(r)&&a.push("domain="+r),i===!0&&a.push("secure"),document.cookie=a.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 An(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function yn(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ge(e,t,n){let o=!An(t);return e&&(o||n==!1)?yn(e,t):t}const He=e=>e instanceof O?{...e}:e;function M(e,t){t=t||{};const n={};function o(u,f,p,A){return c.isPlainObject(u)&&c.isPlainObject(f)?c.merge.call({caseless:A},u,f):c.isPlainObject(f)?c.merge({},f):c.isArray(f)?f.slice():f}function r(u,f,p,A){if(c.isUndefined(f)){if(!c.isUndefined(u))return o(void 0,u,p,A)}else return o(u,f,p,A)}function i(u,f){if(!c.isUndefined(f))return o(void 0,f)}function a(u,f){if(c.isUndefined(f)){if(!c.isUndefined(u))return o(void 0,u)}else return o(void 0,f)}function l(u,f,p){if(p in t)return o(u,f);if(p in e)return o(void 0,u)}const d={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:l,headers:(u,f,p)=>r(He(u),He(f),p,!0)};return c.forEach(Object.keys(Object.assign({},e,t)),function(f){const p=d[f]||r,A=p(e[f],t[f],f);c.isUndefined(A)&&p!==l||(n[f]=A)}),n}const We=e=>{const t=M({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:r,xsrfCookieName:i,headers:a,auth:l}=t;t.headers=a=O.from(a),t.url=Le(Ge(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&a.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let d;if(c.isFormData(n)){if(C.hasStandardBrowserEnv||C.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((d=a.getContentType())!==!1){const[u,...f]=d?d.split(";").map(p=>p.trim()).filter(Boolean):[];a.setContentType([u||"multipart/form-data",...f].join("; "))}}if(C.hasStandardBrowserEnv&&(o&&c.isFunction(o)&&(o=o(t)),o||o!==!1&&gn(t.url))){const u=r&&i&&bn.read(i);u&&a.set(r,u)}return t},wn=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(n,o){const r=We(e);let i=r.data;const a=O.from(r.headers).normalize();let{responseType:l,onUploadProgress:d,onDownloadProgress:u}=r,f,p,A,S,m;function b(){S&&S(),m&&m(),r.cancelToken&&r.cancelToken.unsubscribe(f),r.signal&&r.signal.removeEventListener("abort",f)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function E(){if(!h)return;const B=O.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),T={data:!l||l==="text"||l==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:B,config:e,request:h};Me(function(j){n(j),b()},function(j){o(j),b()},T),h=null}"onloadend"in h?h.onloadend=E:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(E)},h.onabort=function(){h&&(o(new g("Request aborted",g.ECONNABORTED,e,h)),h=null)},h.onerror=function(){o(new g("Network Error",g.ERR_NETWORK,e,h)),h=null},h.ontimeout=function(){let k=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const T=r.transitional||Pe;r.timeoutErrorMessage&&(k=r.timeoutErrorMessage),o(new g(k,T.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,e,h)),h=null},i===void 0&&a.setContentType(null),"setRequestHeader"in h&&c.forEach(a.toJSON(),function(k,T){h.setRequestHeader(T,k)}),c.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),l&&l!=="json"&&(h.responseType=r.responseType),u&&([A,m]=te(u,!0),h.addEventListener("progress",A)),d&&h.upload&&([p,S]=te(d),h.upload.addEventListener("progress",p),h.upload.addEventListener("loadend",S)),(r.cancelToken||r.signal)&&(f=B=>{h&&(o(!B||B.type?new H(null,e,h):B),h.abort(),h=null)},r.cancelToken&&r.cancelToken.subscribe(f),r.signal&&(r.signal.aborted?f():r.signal.addEventListener("abort",f)));const R=pn(r.url);if(R&&C.protocols.indexOf(R)===-1){o(new g("Unsupported protocol "+R+":",g.ERR_BAD_REQUEST,e));return}h.send(i||null)})},En=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let o=new AbortController,r;const i=function(u){if(!r){r=!0,l();const f=u instanceof Error?u:this.reason;o.abort(f instanceof g?f:new H(f instanceof Error?f.message:f))}};let a=t&&setTimeout(()=>{a=null,i(new g(`timeout ${t} of ms exceeded`,g.ETIMEDOUT))},t);const l=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),e=null)};e.forEach(u=>u.addEventListener("abort",i));const{signal:d}=o;return d.unsubscribe=()=>c.asap(l),d}},Sn=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let o=0,r;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},Rn=async function*(e,t){for await(const n of Bn(e))yield*Sn(n,t)},Bn=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:o}=await t.read();if(n)break;yield o}}finally{await t.cancel()}},Je=(e,t,n,o)=>{const r=Rn(e,t);let i=0,a,l=d=>{a||(a=!0,o&&o(d))};return new ReadableStream({async pull(d){try{const{done:u,value:f}=await r.next();if(u){l(),d.close();return}let p=f.byteLength;if(n){let A=i+=p;n(A)}d.enqueue(new Uint8Array(f))}catch(u){throw l(u),u}},cancel(d){return l(d),r.return()}},{highWaterMark:2})},ne=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Qe=ne&&typeof ReadableStream=="function",Nn=ne&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Ze=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Cn=Qe&&Ze(()=>{let e=!1;const t=new Request(C.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Ye=64*1024,me=Qe&&Ze(()=>c.isReadableStream(new Response("").body)),oe={stream:me&&(e=>e.body)};ne&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!oe[t]&&(oe[t]=c.isFunction(e[t])?n=>n[t]():(n,o)=>{throw new g(`Response type '${t}' is not supported`,g.ERR_NOT_SUPPORT,o)})})})(new Response);const Tn=async e=>{if(e==null)return 0;if(c.isBlob(e))return e.size;if(c.isSpecCompliantForm(e))return(await new Request(C.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(c.isArrayBufferView(e)||c.isArrayBuffer(e))return e.byteLength;if(c.isURLSearchParams(e)&&(e=e+""),c.isString(e))return(await Nn(e)).byteLength},On=async(e,t)=>{const n=c.toFiniteNumber(e.getContentLength());return n??Tn(t)},he={http:Yt,xhr:wn,fetch:ne&&(async e=>{let{url:t,method:n,data:o,signal:r,cancelToken:i,timeout:a,onDownloadProgress:l,onUploadProgress:d,responseType:u,headers:f,withCredentials:p="same-origin",fetchOptions:A}=We(e);u=u?(u+"").toLowerCase():"text";let S=En([r,i&&i.toAbortSignal()],a),m;const b=S&&S.unsubscribe&&(()=>{S.unsubscribe()});let h;try{if(d&&Cn&&n!=="get"&&n!=="head"&&(h=await On(f,o))!==0){let T=new Request(t,{method:"POST",body:o,duplex:"half"}),L;if(c.isFormData(o)&&(L=T.headers.get("content-type"))&&f.setContentType(L),T.body){const[j,y]=qe(h,te(Ve(d)));o=Je(T.body,Ye,j,y)}}c.isString(p)||(p=p?"include":"omit");const E="credentials"in Request.prototype;m=new Request(t,{...A,signal:S,method:n.toUpperCase(),headers:f.normalize().toJSON(),body:o,duplex:"half",credentials:E?p:void 0});let R=await fetch(m);const B=me&&(u==="stream"||u==="response");if(me&&(l||B&&b)){const T={};["status","statusText","headers"].forEach(N=>{T[N]=R[N]});const L=c.toFiniteNumber(R.headers.get("content-length")),[j,y]=l&&qe(L,te(Ve(l),!0))||[];R=new Response(Je(R.body,Ye,j,()=>{y&&y(),b&&b()}),T)}u=u||"text";let k=await oe[c.findKey(oe,u)||"text"](R,e);return!B&&b&&b(),await new Promise((T,L)=>{Me(T,L,{data:k,headers:O.from(R.headers),status:R.status,statusText:R.statusText,config:e,request:m})})}catch(E){throw b&&b(),E&&E.name==="TypeError"&&/fetch/i.test(E.message)?Object.assign(new g("Network Error",g.ERR_NETWORK,e,m),{cause:E.cause||E}):g.from(E,E&&E.code,e,m)}})};c.forEach(he,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Xe=e=>`- ${e}`,Dn=e=>c.isFunction(e)||e===null||e===!1,ve={getAdapter:e=>{e=c.isArray(e)?e:[e];const{length:t}=e;let n,o;const r={};for(let i=0;i<t;i++){n=e[i];let a;if(o=n,!Dn(n)&&(o=he[(a=String(n)).toLowerCase()],o===void 0))throw new g(`Unknown adapter '${a}'`);if(o)break;r[a||"#"+i]=o}if(!o){const i=Object.entries(r).map(([l,d])=>`adapter ${l} `+(d===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since :
|
|
4
|
+
`+i.map(Xe).join(`
|
|
5
|
+
`):" "+Xe(i[0]):"as no adapter specified";throw new g("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return o},adapters:he};function ge(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new H(null,e)}function _e(e){return ge(e),e.headers=O.from(e.headers),e.data=pe.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),ve.getAdapter(e.adapter||Q.adapter)(e).then(function(o){return ge(e),o.data=pe.call(e,e.transformResponse,o),o.headers=O.from(o.headers),o},function(o){return Ue(o)||(ge(e),o&&o.response&&(o.response.data=pe.call(e,e.transformResponse,o.response),o.response.headers=O.from(o.response.headers))),Promise.reject(o)})}const Ke="1.8.4",re={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{re[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e}});const $e={};re.transitional=function(t,n,o){function r(i,a){return"[Axios v"+Ke+"] Transitional option '"+i+"'"+a+(o?". "+o:"")}return(i,a,l)=>{if(t===!1)throw new g(r(a," has been removed"+(n?" in "+n:"")),g.ERR_DEPRECATED);return n&&!$e[a]&&($e[a]=!0,console.warn(r(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,a,l):!0}},re.spelling=function(t){return(n,o)=>(console.warn(`${o} is likely a misspelling of ${t}`),!0)};function kn(e,t,n){if(typeof e!="object")throw new g("options must be an object",g.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let r=o.length;for(;r-- >0;){const i=o[r],a=t[i];if(a){const l=e[i],d=l===void 0||a(l,i,e);if(d!==!0)throw new g("option "+i+" must be "+d,g.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new g("Unknown option "+i,g.ERR_BAD_OPTION)}}const se={assertOptions:kn,validators:re},F=se.validators;let q=class{constructor(t){this.defaults=t,this.interceptors={request:new Ie,response:new Ie}}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const i=r.stack?r.stack.replace(/^.+\n/,""):"";try{o.stack?i&&!String(o.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(o.stack+=`
|
|
6
|
+
`+i):o.stack=i}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=M(this.defaults,n);const{transitional:o,paramsSerializer:r,headers:i}=n;o!==void 0&&se.assertOptions(o,{silentJSONParsing:F.transitional(F.boolean),forcedJSONParsing:F.transitional(F.boolean),clarifyTimeoutError:F.transitional(F.boolean)},!1),r!=null&&(c.isFunction(r)?n.paramsSerializer={serialize:r}:se.assertOptions(r,{encode:F.function,serialize:F.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),se.assertOptions(n,{baseUrl:F.spelling("baseURL"),withXsrfToken:F.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&c.merge(i.common,i[n.method]);i&&c.forEach(["delete","get","head","post","put","patch","common"],m=>{delete i[m]}),n.headers=O.concat(a,i);const l=[];let d=!0;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(n)===!1||(d=d&&b.synchronous,l.unshift(b.fulfilled,b.rejected))});const u=[];this.interceptors.response.forEach(function(b){u.push(b.fulfilled,b.rejected)});let f,p=0,A;if(!d){const m=[_e.bind(this),void 0];for(m.unshift.apply(m,l),m.push.apply(m,u),A=m.length,f=Promise.resolve(n);p<A;)f=f.then(m[p++],m[p++]);return f}A=l.length;let S=n;for(p=0;p<A;){const m=l[p++],b=l[p++];try{S=m(S)}catch(h){b.call(this,h);break}}try{f=_e.call(this,S)}catch(m){return Promise.reject(m)}for(p=0,A=u.length;p<A;)f=f.then(u[p++],u[p++]);return f}getUri(t){t=M(this.defaults,t);const n=Ge(t.baseURL,t.url,t.allowAbsoluteUrls);return Le(n,t.params,t.paramsSerializer)}};c.forEach(["delete","get","head","options"],function(t){q.prototype[t]=function(n,o){return this.request(M(o||{},{method:t,url:n,data:(o||{}).data}))}}),c.forEach(["post","put","patch"],function(t){function n(o){return function(i,a,l){return this.request(M(l||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}q.prototype[t]=n(),q.prototype[t+"Form"]=n(!0)});let xn=class ct{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});const o=this;this.promise.then(r=>{if(!o._listeners)return;let i=o._listeners.length;for(;i-- >0;)o._listeners[i](r);o._listeners=null}),this.promise.then=r=>{let i;const a=new Promise(l=>{o.subscribe(l),i=l}).then(r);return a.cancel=function(){o.unsubscribe(i)},a},t(function(i,a,l){o.reason||(o.reason=new H(i,a,l),n(o.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 n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=o=>{t.abort(o)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new ct(function(r){t=r}),cancel:t}}};function Fn(e){return function(n){return e.apply(null,n)}}function Ln(e){return c.isObject(e)&&e.isAxiosError===!0}const be={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(be).forEach(([e,t])=>{be[t]=e});function et(e){const t=new q(e),n=V(q.prototype.request,t);return c.extend(n,q.prototype,t,{allOwnKeys:!0}),c.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return et(M(e,r))},n}const w=et(Q);w.Axios=q,w.CanceledError=H,w.CancelToken=xn,w.isCancel=Ue,w.VERSION=Ke,w.toFormData=$,w.AxiosError=g,w.Cancel=w.CanceledError,w.all=function(t){return Promise.all(t)},w.spread=Fn,w.isAxiosError=Ln,w.mergeConfig=M,w.AxiosHeaders=O,w.formToJSON=e=>je(c.isHTMLForm(e)?new FormData(e):e),w.getAdapter=ve.getAdapter,w.HttpStatusCode=be,w.default=w;const{Axios:Yo,AxiosError:Xo,CanceledError:vo,isCancel:_o,CancelToken:Ko,VERSION:$o,all:er,Cancel:tr,isAxiosError:nr,spread:or,toFormData:rr,AxiosHeaders:sr,HttpStatusCode:ir,formToJSON:ar,getAdapter:lr,mergeConfig:cr}=w;function In(e){return e==null?!0:typeof e=="string"||Array.isArray(e)?e.length===0:typeof e=="object"?Object.keys(e).length===0:!1}function tt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function nt(e={},t={}){const n={};for(const o in e)n[o]=e[o];for(const o in t){const r=e[o],i=t[o];if(tt(r)&&tt(i)){n[o]=nt(r,i);continue}n[o]=i}return n}const Pn="q-defaults";function jn(){var e,t;const n=s.getCurrentInstance();if(!n)throw new Error("[Quidgest UI] useDefaults must be called from inside a setup function");const o=n.type.name??n.type.__name;if(!o)throw new Error("[Quidgest UI] Could not determine component name");const r=zn(),i=(e=r.value)==null?void 0:e.Global,a=(t=r.value)==null?void 0:t[o];return s.computed(()=>nt(i,a))}function zn(){const e=s.inject(Pn,void 0);if(!e)throw new Error("[Quidgest UI] Could not find defaults instance");return e}function Un(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([0-9])([a-zA-Z])/g,"$1 $2").replace(/([a-zA-Z])([0-9])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").trim().split(/\s+/)}function Mn(e){return Un(e).join("-").toLowerCase()}function qn(e,t){var n;const o=Mn(t);return o?typeof((n=e.props)==null?void 0:n[o])<"u":!1}function P(e){const t=e,n=t.setup;return n&&(t.setup=(o,r)=>{const i=jn();if(In(i.value))return n(o,r);const a=s.getCurrentInstance();if(a===null)return n(o,r);const l=new Proxy(o,{get(d,u){var f;const p=Reflect.get(d,u),A=(f=i.value)==null?void 0:f[u];return typeof u=="string"&&!qn(a.vnode,u)?A??p:p}});return n(l,r)}),e}const Vn=["id"],Gn=P(s.defineComponent({__name:"QSpinnerLoader",props:{id:{},class:{},size:{default:48}},setup(e){const t=e,n=s.computed(()=>({"font-size":t.size!==48?`${t.size}px`:void 0}));return(o,r)=>(s.openBlock(),s.createElementBlock("div",{id:t.id,class:s.normalizeClass(["q-spinner-loader",t.class]),style:s.normalizeStyle(n.value)},null,14,Vn))}})),Hn=["id","disabled"],Wn={key:0,class:"q-btn__spinner"},Jn={class:"q-btn__content"},ot=P(s.defineComponent({__name:"QButton",props:{id:{},class:{},active:{type:Boolean},bStyle:{default:"secondary"},label:{},disabled:{type:Boolean},iconOnRight:{type:Boolean},borderless:{type:Boolean},elevated:{type:Boolean},block:{type:Boolean},loading:{type:Boolean},size:{default:"regular"}},emits:["click"],setup(e,{emit:t}){const n=e,o=t,r=s.computed(()=>n.disabled||n.loading);function i(l){r.value||o("click",l)}const a=s.computed(()=>{const l=n.size!=="regular"?`q-btn--${n.size}`:void 0;return["q-btn",`q-btn--${n.bStyle}`,l,{"q-btn--active":n.active,"q-btn--borderless":n.borderless,"q-btn--elevated":n.elevated,"q-btn--block":n.block,"q-btn--loading":n.loading},n.class]});return(l,d)=>(s.openBlock(),s.createElementBlock("button",{id:n.id,type:"button",class:s.normalizeClass(a.value),disabled:r.value,onClick:s.withModifiers(i,["stop","prevent"])},[l.loading?(s.openBlock(),s.createElementBlock("div",Wn,[s.createVNode(s.unref(Gn),{size:20})])):s.createCommentVNode("v-if",!0),s.createElementVNode("span",Jn,[l.iconOnRight?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createTextVNode(s.toDisplayString(n.label),1)],64)):s.createCommentVNode("v-if",!0),s.renderSlot(l.$slots,"default"),l.iconOnRight?s.createCommentVNode("v-if",!0):(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createTextVNode(s.toDisplayString(n.label),1)],64))])],10,Hn))}})),Qn=s.defineComponent({__name:"QIcon",props:{id:{},class:{},icon:{},size:{},type:{default:"svg"}},setup(e){const t=e,n=s.computed(()=>{switch(t.type){case"svg":return oo;case"font":return to;case"img":return no;default:return}});return(o,r)=>(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.value),{id:t.id,class:s.normalizeClass(t.class),icon:t.icon,size:t.size},null,8,["id","class","icon","size"]))}}),Zn=["id"],Yn=s.defineComponent({__name:"QIconFont",props:{id:{},class:{},icon:{},size:{},library:{default:""},variant:{}},setup(e){const t=e,n=s.computed(()=>t.variant?`${t.library}-${t.variant}`:t.library),o=s.computed(()=>t.library&&t.icon?`${t.library}-${t.icon}`:t.icon),r=s.computed(()=>({"font-size":t.size!==void 0?`${t.size}px`:void 0}));return(i,a)=>(s.openBlock(),s.createElementBlock("i",{id:t.id,class:s.normalizeClass(["q-icon","q-icon__font",n.value,o.value,t.class]),style:s.normalizeStyle(r.value)},null,14,Zn))}}),Xn=["id","src"],vn=s.defineComponent({__name:"QIconImg",props:{id:{},class:{},icon:{},size:{}},setup(e){const t=e,n=s.computed(()=>({"font-size":t.size!==void 0?`${t.size}px`:void 0}));return(o,r)=>(s.openBlock(),s.createElementBlock("img",{id:t.id,src:t.icon,class:s.normalizeClass(["q-icon","q-icon__img",t.class]),style:s.normalizeStyle(n.value)},null,14,Xn))}}),Y={},_n=s.defineComponent({name:"InlineSvg",inheritAttrs:!1,props:{src:{type:String,required:!0},symbol:{type:String,default:""},title:{type:String,default:""},transformSource:{type:Function,default:void 0},keepDuringLoading:{type:Boolean,default:!0}},emits:{loaded:e=>typeof e=="object",unloaded:()=>!0,error:e=>typeof e=="object"},data(){return{svgElSource:null}},watch:{src(e){this.getSource(e)}},async mounted(){await this.getSource(this.src)},methods:{copySvgAttrs(e,t){const n=t.attributes;if(n)for(const o of n)e[o.name]=o.value},copyComponentAttrs(e,t){for(const[n,o]of Object.entries(t))o!==!1&&o!==null&&o!==void 0&&(e[n]=o)},getSvgContent(e){return this.symbol&&(e=e.getElementById(this.symbol),!e)?null:(this.transformSource&&(e=e.cloneNode(!0),e=this.transformSource(e)),this.title&&(this.transformSource||(e=e.cloneNode(!0)),Kn(e,this.title)),e)},async getSource(e){try{Y[e]||(Y[e]=$n(this.download(e))),this.svgElSource&&Y[e].getIsPending()&&!this.keepDuringLoading&&(this.svgElSource=null,this.$emit("unloaded"));const t=await Y[e];this.svgElSource=t,await this.$nextTick(),this.$emit("loaded",this.$el)}catch(t){this.svgElSource&&(this.svgElSource=null,this.$emit("unloaded")),delete Y[e],this.$emit("error",t)}},async download(e){const t=await fetch(e);if(!t.ok)throw new Error("Error loading SVG");const n=await t.text(),o=new DOMParser().parseFromString(n,"text/xml").getElementsByTagName("svg")[0];if(!o)throw new Error("Loaded file is not a valid SVG");return o}},render(){if(!this.svgElSource)return null;const e=this.getSvgContent(this.svgElSource);if(!e)return s.h("div",this.$attrs);const t={};return this.copySvgAttrs(t,this.svgElSource),this.copySvgAttrs(t,e),this.copyComponentAttrs(t,this.$attrs),t.innerHTML=e.innerHTML,s.h("svg",t)},expose:[]});function Kn(e,t){const n=e.getElementsByTagName("title");if(n.length)n[0].textContent=t;else{const o=document.createElementNS("http://www.w3.org/2000/svg","title");o.textContent=t,e.insertBefore(o,e.firstChild)}}function $n(e){if(e.getIsPending)return e;let t=!0;const n=e.then(o=>(t=!1,o),o=>{throw t=!1,o});return n.getIsPending=()=>t,n}const eo=s.defineComponent({__name:"QIconSvg",props:{id:{},class:{},icon:{},size:{},bundle:{default:""}},emits:["loaded","unloaded"],setup(e,{emit:t}){const n=e,o=t,r=s.computed(()=>({"font-size":n.size!==void 0?`${n.size}px`:void 0}));function i(l){o("loaded",l)}function a(){o("unloaded")}return(l,d)=>(s.openBlock(),s.createBlock(s.unref(_n),{id:n.id,class:s.normalizeClass(["q-icon","q-icon__svg",n.class]),src:n.bundle,symbol:n.icon,style:s.normalizeStyle(r.value),onLoaded:i,onUnloaded:a},null,8,["id","class","src","symbol","style"]))}}),Ae=P(Qn),to=P(Yn),no=P(vn),oo=P(eo);let ro=0;function so(e){return s.unref(e)||`uid-${++ro}`}const io=["id"],ao=["for"],rt=P(s.defineComponent({inheritAttrs:!1,__name:"QLabel",props:{id:{},class:{},label:{},for:{}},setup(e){const t=e;return(n,o)=>(s.openBlock(),s.createElementBlock("div",{id:t.id,class:s.normalizeClass(["q-label",t.class])},[s.renderSlot(n.$slots,"prepend"),s.createElementVNode("label",s.mergeProps({for:t.for},n.$attrs),s.toDisplayString(t.label),17,ao),s.renderSlot(n.$slots,"append")],10,io))}})),lo=["id"],co={key:0,class:"q-field__prepend"},uo={key:1,class:"q-field__append"},fo={key:1,class:"q-field__extras"},po=P(s.defineComponent({inheritAttrs:!1,__name:"QField",props:{id:{},class:{},label:{},for:{},size:{default:"medium"},readonly:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},invalid:{type:Boolean}},setup(e,{expose:t}){const n=e,o=s.ref(null),r=s.computed(()=>n.required&&!n.readonly&&!n.disabled),i=s.computed(()=>["q-field",`q-field--${n.size}`,{"q-field--readonly":n.readonly,"q-field--disabled":n.disabled,"q-field--required":r.value,"q-field--invalid":n.invalid},n.class]);return t({fieldRef:o}),(a,l)=>(s.openBlock(),s.createElementBlock("div",{id:n.id,class:s.normalizeClass(i.value)},[n.label?(s.openBlock(),s.createBlock(s.unref(rt),{key:0,class:"q-field__label",label:n.label,for:n.for},{prepend:s.withCtx(()=>[s.renderSlot(a.$slots,"label.prepend")]),append:s.withCtx(()=>[s.renderSlot(a.$slots,"label.append")]),_:3},8,["label","for"])):s.createCommentVNode("v-if",!0),s.renderSlot(a.$slots,"control",{},()=>[s.createElementVNode("div",s.mergeProps({ref_key:"fieldRef",ref:o,class:"q-field__control"},a.$attrs),[a.$slots.prepend?(s.openBlock(),s.createElementBlock("div",co,[s.renderSlot(a.$slots,"prepend")])):s.createCommentVNode("v-if",!0),s.renderSlot(a.$slots,"default"),a.$slots.append?(s.openBlock(),s.createElementBlock("div",uo,[s.renderSlot(a.$slots,"append")])):s.createCommentVNode("v-if",!0)],16)]),a.$slots.extras?(s.openBlock(),s.createElementBlock("div",fo,[s.renderSlot(a.$slots,"extras")])):s.createCommentVNode("v-if",!0)],10,lo))}}));function mo(e){return s.getCurrentScope()?(s.onScopeDispose(e),!0):!1}const ho=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const go=()=>{};function st(...e){if(e.length!==1)return s.toRef(...e);const t=e[0];return typeof t=="function"?s.readonly(s.customRef(()=>({get:t,set:go}))):s.ref(t)}const ye=ho?window:void 0;function it(e){var t;const n=s.toValue(e);return(t=n==null?void 0:n.$el)!=null?t:n}function bo(){const e=s.shallowRef(!1),t=s.getCurrentInstance();return t&&s.onMounted(()=>{e.value=!0},t),e}function Ao(e){const t=bo();return s.computed(()=>(t.value,!!e()))}function yo(e,t,n={}){const{window:o=ye,...r}=n;let i;const a=Ao(()=>o&&"ResizeObserver"in o),l=()=>{i&&(i.disconnect(),i=void 0)},d=s.computed(()=>{const p=s.toValue(e);return Array.isArray(p)?p.map(A=>it(A)):[it(p)]}),u=s.watch(d,p=>{if(l(),a.value&&o){i=new ResizeObserver(t);for(const A of p)A&&i.observe(A,r)}},{immediate:!0,flush:"post"}),f=()=>{l(),u()};return mo(f),{isSupported:a,stop:f}}function wo(e=ye,t){e&&typeof e.requestAnimationFrame=="function"?e.requestAnimationFrame(t):t()}function Eo(e={}){var t,n;const{window:o=ye}=e,r=st(e==null?void 0:e.element),i=st((t=e==null?void 0:e.input)!=null?t:""),a=(n=e==null?void 0:e.styleProp)!=null?n:"height",l=s.shallowRef(1),d=s.shallowRef(0);function u(){var f;if(!r.value)return;let p="";r.value.style[a]="1px",l.value=(f=r.value)==null?void 0:f.scrollHeight;const A=s.toValue(e==null?void 0:e.styleTarget);A?A.style[a]=`${l.value}px`:p=`${l.value}px`,r.value.style[a]=p}return s.watch([i,r],()=>s.nextTick(u),{immediate:!0}),s.watch(l,()=>{var f;return(f=e==null?void 0:e.onResize)==null?void 0:f.call(e)}),yo(r,([{contentRect:f}])=>{d.value!==f.width&&wo(o,()=>{d.value=f.width,u()})}),e!=null&&e.watch&&s.watch(e.watch,u,{immediate:!0,deep:!0}),{textarea:r,input:i,triggerResize:u}}const So=["id","required","placeholder","readonly","disabled","maxlength","rows","cols","resize","wrap"],Ro=P(s.defineComponent({inheritAttrs:!1,__name:"QTextArea",props:s.mergeModels({id:{},class:{},label:{},for:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},invalid:{type:Boolean},placeholder:{},maxLength:{},rows:{default:3},cols:{},resize:{default:"vertical"},wrap:{default:"soft"},autosize:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=s.useModel(e,"modelValue"),o=so(t.id),r=s.computed(()=>t.readonly||t.disabled?void 0:t.placeholder),i=s.computed(()=>({input:t.autosize?l:null})),a=s.ref(),{triggerResize:l}=Eo({element:s.computed(()=>t.autosize?a.value:void 0),styleProp:"minHeight"}),d=s.computed({get:()=>n.value,set:u=>{n.value=t.maxLength?u==null?void 0:u.slice(0,t.maxLength):u}});return(u,f)=>(s.openBlock(),s.createBlock(s.unref(po),{class:s.normalizeClass(["q-text-area",t.class]),for:s.unref(o),label:t.label,size:t.size,readonly:t.readonly,disabled:t.disabled,required:t.required},s.createSlots({"label.prepend":s.withCtx(()=>[s.renderSlot(u.$slots,"label.prepend")]),"label.append":s.withCtx(()=>[s.renderSlot(u.$slots,"label.append")]),default:s.withCtx(()=>[s.withDirectives(s.createElementVNode("textarea",s.mergeProps({id:s.unref(o),ref_key:"textareaRef",ref:a,"onUpdate:modelValue":f[0]||(f[0]=p=>d.value=p),class:"q-text-area__input",required:t.required,placeholder:r.value,readonly:t.readonly,disabled:t.disabled,maxlength:t.maxLength,rows:t.rows,cols:t.cols,resize:t.resize,wrap:t.wrap},u.$attrs,s.toHandlers(i.value,!0)),null,16,So),[[s.vModelText,d.value]])]),_:2},[u.$slots.prepend?{name:"prepend",fn:s.withCtx(()=>[s.renderSlot(u.$slots,"prepend")]),key:"0"}:void 0,u.$slots.append?{name:"append",fn:s.withCtx(()=>[s.renderSlot(u.$slots,"append")]),key:"1"}:void 0,u.$slots.extras?{name:"extras",fn:s.withCtx(()=>[s.renderSlot(u.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","size","readonly","disabled","required"]))}})),Bo={class:"pulsing-dots"},No=s.defineComponent({__name:"PulseDots",setup(e){const t=[1,2,3];return(n,o)=>(s.openBlock(),s.createElementBlock("div",Bo,[(s.openBlock(),s.createElementBlock(s.Fragment,null,s.renderList(t,(r,i)=>s.createElementVNode("span",{key:i,class:"dot",style:s.normalizeStyle({animationDelay:i*.2+"s"})}," • ",4)),64))]))}}),Co={class:"q-chatbot__message-container"},To={class:"q-chatbot__message-wrapper"},Oo={class:"q-chatbot__message"},Do=["innerHTML"],ko={key:1,class:"q-chatbot__text"},xo={class:"q-chatbot__sender"},Fo=s.defineComponent({__name:"CBMessage",props:{sender:{default:"user"},message:{},date:{default:()=>new Date},loading:{type:Boolean},dateFormat:{},userImage:{default:void 0},chatbotImage:{}},setup(e){const t=e,n=s.computed(()=>t.sender==="bot"?"GenioBot":"You"),o=s.computed(()=>t.dateFormat?a(t.date,t.dateFormat):t.date.toLocaleString()),r=s.computed(()=>`${n.value} ${o.value}`),i=s.computed(()=>t.sender==="bot"?t.chatbotImage:t.userImage);function a(l,d){const u=l.getDate().toString().padStart(2,"0"),f=(l.getMonth()+1).toString().padStart(2,"0"),p=l.getFullYear().toString().padStart(2,"0"),A=l.getHours().toString().padStart(2,"0"),S=l.getMinutes().toString().padStart(2,"0"),m=l.getSeconds().toString().padStart(2,"0");return d.replace("dd",u).replace("MM",f).replace("yyyy",p).replace("HH",A).replace("mm",S).replace("ss",m)}return(l,d)=>(s.openBlock(),s.createElementBlock("div",Co,[s.createVNode(s.unref(Ae),{type:"img",icon:i.value,alt:"Sender Image",class:"q-chatbot__profile"},null,8,["icon"]),s.createElementVNode("div",To,[s.createElementVNode("div",Oo,[l.loading?(s.openBlock(),s.createBlock(No,{key:0})):(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[t.sender==="bot"?(s.openBlock(),s.createElementBlock("div",{key:0,class:"q-chatbot__text",innerHTML:t.message},null,8,Do)):(s.openBlock(),s.createElementBlock("div",ko,s.toDisplayString(t.message),1))],64))]),s.createElementVNode("div",xo,s.toDisplayString(r.value),1)])]))}}),Lo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFIGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA1LTIxVDE4OjE5OjQxKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NmI5YWQxZC0yOTk4LTQ2ZjYtYjliYS01NTBlNzgwOGQ5MWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZiOWFkMWQtMjk5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",Io="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF2GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTExLTI5VDEwOjI0OjU3WiIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMS0yOVQxMDoyNDo1N1oiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTExLTI5VDEwOjI0OjU3WiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpiN2ViMDM0NC1hN2UzLTI3NGItODgwNi00ZjMxMzRiNDUwNDEiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2ODJkMGU1OC1kZmQyLTZkNDEtOGIwNy01ZWUxNjU4MWY2ZWEiIHht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",Po={class:"q-chatbot"},jo={class:"q-chatbot__content"},zo={class:"q-chatbot__tools"},Uo={class:"q-chatbot__footer-container"},Mo={class:"q-chatbot__input"},qo={class:"q-chatbot__send-container"};return s.defineComponent({name:"ChatBot",__name:"ChatBot",props:{apiEndpoint:{default:"http://localhost:3000"},texts:{default:()=>({chatbotTitle:"ChatBot",sendMessage:"Send message",clearChat:"Clear chat",inputLabel:"What can I help with?",initialMessage:"Howdy! I am GenioBot 👋, Quidgest's personal AI assistant! How can I help you?",initialAgentMessage:"Just a temporary message while we are working on the agent mode",loginError:"Uh oh, I could not authenticate with the Quidgest API endpoint 😓",botIsSick:"*cough cough* GenioBot is not feeling alright 🥴️🤒, looks like something failed!"})},username:{},projectPath:{},userImage:{default:Io},chatbotImage:{default:Lo},dateFormat:{},mode:{default:"chat"}},setup(e){const t=s.ref([]),n=s.ref(1),o=s.ref(""),r=s.ref(!1),i=s.ref(!1),a=s.ref(null),l=s.ref(!0),d=e;s.onMounted(()=>{A(),s.nextTick(()=>{var y;(y=a.value)==null||y.addEventListener("scroll",B)})});const u=s.computed(()=>i.value||r.value),f=s.computed(()=>({"q-chatbot__footer-disabled":u.value}));function p(y){i.value=y}function A(){w.post(d.apiEndpoint+"/auth/login",{username:d.username,password:"test"}).then(y=>{if(y.status!==200||!y.data.success){p(!0),m(d.texts.loginError),console.log(`Unsuccessful login, endpoint gave status ${y.status}`);return}S()}).catch(y=>{p(!0),m(d.texts.loginError),console.log("Error during login: "+y)})}function S(){w.post(d.apiEndpoint+"/prompt/load",{username:d.username,project:d.projectPath}).then(y=>{if(y.status!==200||!y.data.success){p(!0),m(d.texts.loginError),console.log(`Unsuccessful load, endpoint gave status ${y.status}`);return}h(),y.data.history.forEach(N=>{m(N.content,N.type==="ai"?"bot":"user")})}).catch(y=>{p(!0),m(d.texts.loginError),console.log("Error loading chat data: "+y)})}function m(y,N="bot"){t.value.push({id:n.value++,message:y,date:new Date,sender:N}),s.nextTick(()=>{l.value&&R()})}function b(){return t.value.find(y=>y.id===n.value-1)}function h(){const y=d.mode==="chat"?d.texts.initialMessage:d.texts.initialAgentMessage;m(y)}function E(){t.value=[],o.value="",r.value=!1,p(!1),l.value=!0}function R(){s.nextTick(()=>{a.value&&a.value.scrollTo({top:a.value.scrollHeight,behavior:"smooth"})})}function B(){if(a.value){const{scrollTop:N,clientHeight:I,scrollHeight:z}=a.value;N+I>=z-20?l.value=!0:l.value=!1}}function k(){o.value.trim().length===0||r.value||i.value||(m(o.value,"user"),R(),T(o.value),o.value="")}function T(y){m("","bot");let N=b();const I={message:y,project:d.projectPath,user:d.username};r.value=!0,w({url:d.apiEndpoint+"/prompt/message",method:"POST",data:I,onDownloadProgress:z=>{var at,lt;const Vo=(at=z.event)==null?void 0:at.currentTarget.response;((lt=z.event)==null?void 0:lt.currentTarget.status)===200&&(N&&(N.message=Vo),l.value&&R())}}).then(({data:z})=>{N&&(N.message=z)}).catch(z=>{m(d.texts.botIsSick),p(!0),console.log(z)}).finally(()=>{r.value=!1})}function L(){w.post(d.apiEndpoint+"/prompt/clear",{username:d.username,project:d.projectPath}).then(y=>{if(y.status!==200||!y.data.success){p(!0),m(d.texts.loginError),console.log(`Unsuccessful clear, endpoint gave status ${y.status}`);return}E(),h()}).catch(y=>{p(!0),m(d.texts.loginError),console.log("Error clearing chat: "+y)})}function j(y){const N=["q-chatbot__messages-wrapper"];return y==="user"&&N.push("q-chatbot__messages-wrapper_right"),N}return s.watch(()=>d.apiEndpoint,()=>{E(),A()}),(y,N)=>(s.openBlock(),s.createElementBlock("div",Po,[s.createElementVNode("div",jo,[s.createElementVNode("div",zo,[s.createVNode(s.unref(ot),{title:d.texts.clearChat,"b-style":"secondary",disabled:i.value,borderless:"",onClick:L},{default:s.withCtx(()=>[s.createVNode(s.unref(Ae),{icon:"bin"})]),_:1},8,["title","disabled"])]),s.createElementVNode("div",{ref_key:"messagesContainer",ref:a,class:"q-chatbot__messages-container",onScroll:B},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.value,I=>(s.openBlock(),s.createElementBlock("div",{key:I.id,class:s.normalizeClass(j(I.sender))},[s.createVNode(s.unref(Fo),s.mergeProps({ref_for:!0},I,{"date-format":d.dateFormat,"user-image":d.userImage,"chatbot-image":d.chatbotImage,loading:r.value&&!I.message}),null,16,["date-format","user-image","chatbot-image","loading"])],2))),128))],544),s.createElementVNode("div",Uo,[s.createVNode(s.unref(rt),{label:d.texts.inputLabel},null,8,["label"]),s.createElementVNode("div",{class:s.normalizeClass(["q-chatbot__footer",f.value])},[s.createElementVNode("div",Mo,[s.createVNode(s.unref(Ro),{modelValue:o.value,"onUpdate:modelValue":N[0]||(N[0]=I=>o.value=I),size:"block",autosize:"",resize:"none",rows:2,disabled:u.value,onKeyup:s.withKeys(k,["enter"])},null,8,["modelValue","disabled"])]),s.createElementVNode("div",qo,[s.createVNode(s.unref(ot),{title:d.texts.sendMessage,"b-style":"primary",class:"q-chatbot__send",disabled:u.value,readonly:u.value,loading:r.value,onClick:k},{default:s.withCtx(()=>[s.createVNode(s.unref(Ae),{icon:"send"})]),_:1},8,["title","disabled","readonly","loading"])])],2)])])]))}})});
|