@quidgest/chatbot 0.5.3-dev.0 → 0.5.3
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/ChatBot/ChatBot.vue.d.ts +0 -2
- package/dist/components/ChatBot/types.d.ts +4 -3
- package/dist/components/ChatBotInput/ChatBotInput.vue.d.ts +3 -3
- package/dist/components/ChatBotInput/index.d.ts +2 -2
- package/dist/components/ChatBotInput/types.d.ts +4 -4
- package/dist/components/ChatBotMessage/ChatBotMessage.vue.d.ts +1 -3
- package/dist/components/ChatBotMessage/__tests__/ChatBotMessage.spec.d.ts +1 -0
- package/dist/components/ChatBotMessage/types.d.ts +3 -2
- package/dist/components/FieldPreview/FieldPreview.vue.d.ts +0 -2
- package/dist/composables/useChatApi.d.ts +1 -1
- package/dist/composables/useChatMessages.d.ts +2 -2
- package/dist/composables/useTexts.d.ts +1 -4
- package/dist/index.js +25 -25
- package/dist/index.mjs +2308 -1661
- package/dist/style.css +1 -1
- package/package.json +3 -2
- package/src/assets/styles/preview-file.scss +70 -0
- package/src/assets/styles/styles.scss +9 -33
- package/src/components/ChatBot/ChatBot.vue +70 -71
- package/src/components/ChatBot/types.ts +4 -3
- package/src/components/ChatBotInput/ChatBotInput.vue +81 -74
- package/src/components/ChatBotInput/__tests__/ChatBotInput.spec.ts +29 -42
- package/src/components/ChatBotInput/__tests__/__snapshots__/ChatBotInput.spec.ts.snap +5 -5
- package/src/components/ChatBotInput/index.ts +2 -2
- package/src/components/ChatBotInput/types.ts +4 -4
- package/src/components/ChatBotMessage/ChatBotMessage.vue +34 -8
- package/src/components/ChatBotMessage/__tests__/ChatBotMessage.spec.ts +256 -0
- package/src/components/ChatBotMessage/__tests__/ChatBotMessageButtons.spec.ts +4 -4
- package/src/components/ChatBotMessage/__tests__/__snapshots__/ChatBotMessage.spec.ts.snap +35 -0
- package/src/components/ChatBotMessage/types.ts +4 -3
- package/src/components/ChatToolBar/ChatToolBar.vue +1 -2
- package/src/components/ChatToolBar/__tests__/ChatToolBar.spec.ts +18 -38
- package/src/components/FieldPreview/FieldPreview.vue +9 -31
- package/src/components/FieldPreview/__tests__/__snapshots__/FieldPreview.spec.ts.snap +11 -5
- package/src/components/FieldPreview/field-preview.scss +0 -4
- package/src/components/MarkdownRender/MarkdownRender.vue +0 -1
- package/src/composables/__tests__/useChatMessages.spec.ts +1 -14
- package/src/composables/useChatApi.ts +53 -57
- package/src/composables/useChatMessages.ts +4 -8
- package/src/composables/useTexts.ts +2 -5
- package/src/test/setup.ts +0 -5
package/dist/index.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
(function(e,K){typeof exports=="object"&&typeof module<"u"?module.exports=K(require("vue"),require("axios"),require("markdown-it")):typeof define=="function"&&define.amd?define(["vue","axios","markdown-it"],K):(e=typeof globalThis<"u"?globalThis:e||self,e.ChatBotFrontend=K(e.vue,e.axios,e.MarkdownIt))})(this,function(e,K,st){"use strict";function he(t){return t==null?!0:typeof t=="string"||Array.isArray(t)?t.length===0:typeof t=="object"?Object.keys(t).length===0:!1}function Ae(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function ye(t={},o={}){const n={},a=new Set([...Object.keys(t),...Object.keys(o)]);for(const l of a){if(l==="__proto__"||l==="constructor"||l==="prototype")continue;const r=t[l],i=o[l];Ae(r)&&Ae(i)?n[l]=ye(r,i):n[l]=i!==void 0?i:r}return n}const Ie="q-defaults";function ct(){var t,o;const n=e.getCurrentInstance();if(!n)throw new Error("[Quidgest UI] useDefaults must be called from inside a setup function");const a=n.type.name??n.type.__name;if(!a)throw new Error("[Quidgest UI] Could not determine component name");const l=De(),r=(t=l.value)==null?void 0:t.Global,i=(o=l.value)==null?void 0:o[a];return e.computed(()=>ye(r,i))}function dt(t){if(he(t))return;const o=De(),n=e.ref(t),a=e.computed(()=>he(n.value)?o.value:ye(o.value,n.value));e.provide(Ie,a)}function De(){const t=e.inject(Ie,void 0);if(!t)throw new Error("[Quidgest UI] Could not find defaults instance");return t}const ut=["id"],pt=e.defineComponent({__name:"QSpinnerLoader",props:{id:{},class:{},size:{default:48}},setup(t){const o=t,n=e.computed(()=>({"font-size":o.size!==48?`${o.size}px`:void 0}));return(a,l)=>(e.openBlock(),e.createElementBlock("div",{id:o.id,class:e.normalizeClass(["q-spinner-loader",o.class]),style:e.normalizeStyle(n.value)},null,14,ut))}});function ft(t){return t.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 mt(t){return ft(t).join("-").toLowerCase()}function gt(t,o){var n;const a=mt(o);return a?typeof((n=t.props)==null?void 0:n[a])<"u":!1}function L(t){const o=t,n=o.setup;return n&&(o.setup=(a,l)=>{const r=ct();if(he(r.value))return n(a,l);const i=e.getCurrentInstance();if(i===null)return n(a,l);const s=new Proxy(a,{get(u,c){var p;const d=Reflect.get(u,c),m=(p=r.value)==null?void 0:p[c];return typeof c=="string"&&!gt(i.vnode,c)?m??d:d}});return n(s,l)}),t}const bt=L(pt);function ht(t,o=!1){return o?/^#[a-fA-F0-9]{6}$/.test(t):/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test(t)}function yt(t){const o=t.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(o){const n=parseInt(o[1],10),a=parseInt(o[2],10),l=parseInt(o[3],10);return{r:n,g:a,b:l}}}function wt(t){if(ht(t)){t.length===4&&(t="#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);const o=parseInt(t.slice(1,3),16),n=parseInt(t.slice(3,5),16),a=parseInt(t.slice(5,7),16);return{r:o,g:n,b:a}}else{const o=yt(t);if(o)return o}throw new Error("Invalid color format")}function kt(t,o){const n=Ve(t),a=o/100;return n.l=n.l-a*n.l,Ct(n)}function Bt(t){const o=t.r.toString(16).padStart(2,"0"),n=t.g.toString(16).padStart(2,"0"),a=t.b.toString(16).padStart(2,"0");return`#${o}${n}${a}`}function Re(t){return`${t.r} ${t.g} ${t.b}`}function Ve(t){const o=t.r/255,n=t.g/255,a=t.b/255,l=Math.max(o,n,a),r=Math.min(o,n,a);let i=0,s;const u=(l+r)/2;if(l===r)i=s=0;else{const c=l-r;switch(s=u>.5?c/(2-l-r):c/(l+r),l){case o:i=(n-a)/c+(n<a?6:0);break;case n:i=(a-o)/c+2;break;case a:i=(o-n)/c+4;break}i/=6}return{h:Math.round(i*360),s:Math.round(s*100),l:Math.round(u*100)}}function Ct(t){const o=t.h/360,n=t.s/100,a=t.l/100;let l,r,i;if(n===0)l=r=i=a;else{const s=a<.5?a*(1+n):a+n-a*n,u=2*a-s;l=we(u,s,o+1/3),r=we(u,s,o),i=we(u,s,o-1/3)}return{r:Math.round(l*255),g:Math.round(r*255),b:Math.round(i*255)}}function we(t,o,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(o-t)*6*n:n<1/2?o:n<2/3?t+(o-t)*(2/3-n)*6:t}function vt(t){return t>50?"#000":"#fff"}const xt=Symbol.for("q-theme");function Me(){const t=e.inject(xt);if(!t)throw new Error("[Quidgest UI] Could not find theme instance");return t}function Le(t){const o=e.computed(()=>e.unref(t)),n=e.computed(()=>o.value?!_t(o.value):!1),a=e.computed(()=>{const l=o.value;if(!l)return;let r=l;const i=Me();if(n.value){const m=l;r=i.current.value.scheme[m]??l}let s;try{if(s=wt(r),!s)return}catch(m){console.error("Failed to parse color:",m);return}const u=Ve(s),c=vt(u.l),p=kt(s,25),d=Bt(p);return{mainColor:r,mainColorRgb:Re(s),onMainColor:c,hoverColor:d,hoverColorRgb:Re(p),onHoverColor:c}});return{isUtilityColor:n,style:a}}function _t(t){return t.startsWith("#")||t.startsWith("rgb")||t.startsWith("hsl")}const Et=["id","disabled"],St={key:0,class:"q-button__spinner"},$t={class:"q-button__content"},j=L(e.defineComponent({__name:"QButton",props:{id:{},class:{},label:{},variant:{default:"outlined"},color:{default:"primary"},disabled:{type:Boolean},borderless:{type:Boolean},elevated:{type:Boolean},block:{type:Boolean},loading:{type:Boolean},size:{default:"regular"},iconPos:{default:"start"},pill:{type:Boolean}},emits:["click"],setup(t,{emit:o}){const n=t,a=o,l=e.computed(()=>n.disabled||n.loading);function r(p){l.value||a("click",p)}const{isUtilityColor:i,style:s}=Le(e.toRef(n,"color")),u=e.computed(()=>{const p=i.value?`q-button--${n.color}`:void 0,d=n.size!=="regular"?`q-button--${n.size}`:void 0,m=n.iconPos!=="start"?`q-button--icon-${n.iconPos}`:void 0;return["q-button",`q-button--${n.variant}`,p,d,m,{"q-button--borderless":n.borderless,"q-button--elevated":n.elevated,"q-button--block":n.block,"q-button--loading":n.loading,"q-button--pill":n.pill},n.class]}),c=e.computed(()=>{var p,d,m,b,y,B;if(!i.value)return{"--q-button-main-color":(p=s.value)==null?void 0:p.mainColor,"--q-button-main-color-rgb":(d=s.value)==null?void 0:d.mainColorRgb,"--q-button-on-main-color":(m=s.value)==null?void 0:m.onMainColor,"--q-button-hover-color":(b=s.value)==null?void 0:b.hoverColor,"--q-button-hover-color-rgb":(y=s.value)==null?void 0:y.hoverColorRgb,"--q-button-on-hover-color":(B=s.value)==null?void 0:B.onHoverColor}});return(p,d)=>(e.openBlock(),e.createElementBlock("button",{id:n.id,type:"button",class:e.normalizeClass(u.value),disabled:l.value,style:e.normalizeStyle(c.value),onClick:e.withModifiers(r,["stop","prevent"])},[n.loading?(e.openBlock(),e.createElementBlock("div",St,[e.createVNode(e.unref(bt))])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",$t,[e.renderSlot(p.$slots,"default"),e.createTextVNode(" "+e.toDisplayString(n.label),1)])],14,Et))}})),Nt=e.defineComponent({__name:"QIcon",props:{id:{},class:{},icon:{},type:{default:"svg"},size:{},color:{}},setup(t){const o=t,n=e.computed(()=>{switch(o.type){case"svg":return Pt;case"font":return qt;case"img":return Ft;default:return}}),{style:a}=Le(e.toRef(o,"color")),l=e.computed(()=>{var r;return{"font-size":o.size!==void 0?`${o.size}px`:void 0,color:o.color!==void 0&&o.color!=="primary"?(r=a.value)==null?void 0:r.mainColor:void 0}});return(r,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{id:o.id,class:e.normalizeClass(o.class),icon:o.icon,style:e.normalizeStyle(l.value)},null,8,["id","class","icon","style"]))}}),At=["id"],It=e.defineComponent({__name:"QIconFont",props:{id:{},class:{},icon:{},library:{default:""},variant:{}},setup(t){const o=t,n=e.computed(()=>o.variant?`${o.library}-${o.variant}`:o.library),a=e.computed(()=>o.library&&o.icon?`${o.library}-${o.icon}`:o.icon);return(l,r)=>(e.openBlock(),e.createElementBlock("i",{id:o.id,class:e.normalizeClass(["q-icon","q-icon__font",n.value,a.value,o.class])},null,10,At))}}),Dt=["id","src"],Rt=e.defineComponent({__name:"QIconImg",props:{id:{},class:{},icon:{}},setup(t){const o=t;return(n,a)=>(e.openBlock(),e.createElementBlock("img",{id:o.id,src:o.icon,class:e.normalizeClass(["q-icon","q-icon__img",o.class])},null,10,Dt))}}),ae={},Vt=e.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:t=>typeof t=="object",unloaded:()=>!0,error:t=>typeof t=="object"},data(){return{svgElSource:null}},watch:{src(t){this.getSource(t)}},async mounted(){await this.getSource(this.src)},methods:{copySvgAttrs(t,o){const n=o.attributes;if(n)for(const a of n)t[a.name]=a.value},copyComponentAttrs(t,o){for(const[n,a]of Object.entries(o))a!==!1&&a!==null&&a!==void 0&&(t[n]=a)},getSvgContent(t){return this.symbol&&(t=t.getElementById(this.symbol),!t)?null:(this.transformSource&&(t=t.cloneNode(!0),t=this.transformSource(t)),this.title&&(this.transformSource||(t=t.cloneNode(!0)),Mt(t,this.title)),t)},async getSource(t){try{ae[t]||(ae[t]=Lt(this.download(t))),this.svgElSource&&ae[t].getIsPending()&&!this.keepDuringLoading&&(this.svgElSource=null,this.$emit("unloaded"));const o=await ae[t];this.svgElSource=o,await this.$nextTick(),this.$emit("loaded",this.$el)}catch(o){this.svgElSource&&(this.svgElSource=null,this.$emit("unloaded")),delete ae[t],this.$emit("error",o)}},async download(t){const o=await fetch(t);if(!o.ok)throw new Error("Error loading SVG");const n=await o.text(),a=new DOMParser().parseFromString(n,"text/xml").getElementsByTagName("svg")[0];if(!a)throw new Error("Loaded file is not a valid SVG");return a}},render(){if(!this.svgElSource)return null;const t=this.getSvgContent(this.svgElSource);if(!t)return e.h("div",this.$attrs);const o={};return this.copySvgAttrs(o,this.svgElSource),this.copySvgAttrs(o,t),this.copyComponentAttrs(o,this.$attrs),o.innerHTML=t.innerHTML,e.h("svg",o)},expose:[]});function Mt(t,o){const n=t.getElementsByTagName("title");if(n.length)n[0].textContent=o;else{const a=document.createElementNS("http://www.w3.org/2000/svg","title");a.textContent=o,t.insertBefore(a,t.firstChild)}}function Lt(t){if(t.getIsPending)return t;let o=!0;const n=t.then(a=>(o=!1,a),a=>{throw o=!1,a});return n.getIsPending=()=>o,n}const Tt=e.defineComponent({__name:"QIconSvg",props:{id:{},class:{},icon:{},bundle:{default:""}},emits:["loaded","unloaded"],setup(t,{emit:o}){const n=t,a=o;function l(i){a("loaded",i)}function r(){a("unloaded")}return(i,s)=>(e.openBlock(),e.createBlock(e.unref(Vt),{id:n.id,class:e.normalizeClass(["q-icon","q-icon__svg",n.class]),src:n.bundle,symbol:n.icon,onLoaded:l,onUnloaded:r},null,8,["id","class","src","symbol"]))}}),F=L(Nt),qt=L(It),Ft=L(Rt),Pt=L(Tt);let Ut=0;function ke(t){return e.unref(t)||`uid-${++Ut}`}const Ot=["id"],Te=L(e.defineComponent({__name:"QButtonGroup",props:{id:{},class:{},disabled:{type:Boolean},borderless:{type:Boolean},elevated:{type:Boolean}},setup(t){const o=t;return dt({QButton:{disabled:e.toRef(o,"disabled"),borderless:e.toRef(o,"borderless")}}),(n,a)=>(e.openBlock(),e.createElementBlock("div",{id:o.id,class:e.normalizeClass(["q-button-group",{"q-button-group--elevated":o.elevated},o.class]),role:"group"},[e.renderSlot(n.$slots,"default")],10,Ot))}})),zt=["id"],jt=["for"],qe=L(e.defineComponent({inheritAttrs:!1,__name:"QLabel",props:{id:{},class:{},label:{},for:{},required:{type:Boolean}},setup(t){const o=t,n=e.computed(()=>["q-label",{"q-label--required":o.required},o.class]);return(a,l)=>(e.openBlock(),e.createElementBlock("div",{id:o.id,class:e.normalizeClass(n.value)},[e.renderSlot(a.$slots,"prepend"),e.createElementVNode("label",e.mergeProps({for:o.for},a.$attrs),[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],16,jt),e.renderSlot(a.$slots,"append")],10,zt))}})),Gt=["id"],Ht={key:0,class:"q-field__prepend"},Qt={key:1,class:"q-field__append"},Zt={key:1,class:"q-field__extras"},Fe=L(e.defineComponent({inheritAttrs:!1,__name:"QField",props:{id:{},class:{},label:{},for:{},required:{type:Boolean},size:{default:"medium"},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean}},setup(t,{expose:o}){const n=t,a=e.useTemplateRef("field"),l=e.computed(()=>n.required&&!n.readonly&&!n.disabled),r=e.computed(()=>["q-field",`q-field--${n.size}`,{"q-field--readonly":n.readonly,"q-field--disabled":n.disabled,"q-field--required":l.value,"q-field--invalid":n.invalid},n.class]);return o({fieldRef:a}),(i,s)=>(e.openBlock(),e.createElementBlock("div",{id:n.id,class:e.normalizeClass(r.value)},[n.label?(e.openBlock(),e.createBlock(e.unref(qe),{key:0,class:"q-field__label",label:n.label,for:n.for,required:n.required},{prepend:e.withCtx(()=>[e.renderSlot(i.$slots,"label.prepend")]),append:e.withCtx(()=>[e.renderSlot(i.$slots,"label.append")]),_:3},8,["label","for","required"])):e.createCommentVNode("v-if",!0),e.renderSlot(i.$slots,"control",{},()=>[e.createElementVNode("div",e.mergeProps({ref:"field",class:"q-field__control"},i.$attrs),[i.$slots.prepend?(e.openBlock(),e.createElementBlock("div",Ht,[e.renderSlot(i.$slots,"prepend")])):e.createCommentVNode("v-if",!0),e.renderSlot(i.$slots,"default"),i.$slots.append?(e.openBlock(),e.createElementBlock("div",Qt,[e.renderSlot(i.$slots,"append")])):e.createCommentVNode("v-if",!0)],16)]),i.$slots.extras?(e.openBlock(),e.createElementBlock("div",Zt,[e.renderSlot(i.$slots,"extras")])):e.createCommentVNode("v-if",!0)],10,Gt))}})),Jt={clearValue:"Clear value"},Wt={clear:{icon:"close"}},Yt=L(e.defineComponent({__name:"QClearButton",props:{id:{},class:{},icons:{default:()=>Wt},texts:{default:()=>Jt}},emits:["click"],setup(t,{emit:o}){const n=t,a=o;function l(r){a("click",r)}return(r,i)=>(e.openBlock(),e.createBlock(e.unref(j),{id:n.id,class:e.normalizeClass(["q-clear-btn",n.class]),"aria-label":n.texts.clearValue,variant:"ghost",color:"neutral",borderless:"",tabindex:"-1",onClick:l},{default:e.withCtx(()=>[e.createVNode(e.unref(F),e.normalizeProps(e.guardReactiveProps(n.icons.clear)),null,16)]),_:1},8,["id","class","aria-label"]))}})),Xt=["id","type","maxlength","required","placeholder","readonly","disabled"],Pe=L(e.defineComponent({inheritAttrs:!1,__name:"QTextField",props:e.mergeModels({id:{},class:{},label:{},for:{},required:{type:Boolean},size:{},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean},placeholder:{},maxLength:{},clearable:{type:Boolean},type:{default:"text"},texts:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["click:clear"],["update:modelValue"]),setup(t,{expose:o,emit:n}){const a=t,l=n,r=e.useModel(t,"modelValue"),i=e.computed({get:()=>r.value,set:y=>{const B=a.maxLength;r.value=B?y==null?void 0:y.slice(0,B):y}});e.watch(r,y=>i.value=y,{immediate:!0});const s=ke(a.id),u=e.ref(null),c=e.ref(null),p=e.computed(()=>a.readonly||a.disabled?void 0:a.placeholder),d=e.computed(()=>a.clearable&&!a.readonly&&!a.disabled),m=e.computed(()=>d.value&&r.value);function b(y){d.value&&(r.value="",l("click:clear",y))}return o({fieldRef:e.computed(()=>{var y;return(y=u.value)==null?void 0:y.fieldRef}),inputRef:c}),(y,B)=>(e.openBlock(),e.createBlock(e.unref(Fe),{ref_key:"fieldRef",ref:u,class:e.normalizeClass(["q-text-field",a.class]),for:e.unref(s),label:a.label,size:a.size,readonly:a.readonly,disabled:a.disabled,required:a.required,invalid:a.invalid},e.createSlots({"label.prepend":e.withCtx(()=>[e.renderSlot(y.$slots,"label.prepend")]),"label.append":e.withCtx(()=>[e.renderSlot(y.$slots,"label.append")]),default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(s),ref_key:"inputRef",ref:c,"onUpdate:modelValue":B[0]||(B[0]=$=>i.value=$),class:"q-text-field__input",type:a.type,maxlength:a.maxLength,required:a.required,placeholder:p.value,readonly:a.readonly,disabled:a.disabled},y.$attrs),null,16,Xt),[[e.vModelDynamic,i.value]])]),_:2},[y.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(y.$slots,"prepend")]),key:"0"}:void 0,y.$slots.append||m.value?{name:"append",fn:e.withCtx(()=>[e.renderSlot(y.$slots,"append"),m.value?(e.openBlock(),e.createBlock(e.unref(Yt),{key:0,"data-testid":"q-text-field__clear-button",texts:a.texts,onClick:b},null,8,["texts"])):e.createCommentVNode("v-if",!0)]),key:"1"}:void 0,y.$slots.extras?{name:"extras",fn:e.withCtx(()=>[e.renderSlot(y.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","size","readonly","disabled","required","invalid"]))}})),Kt=Symbol("DismissibleLayer");function en(t){const o=e.inject(Kt);if(!o)throw new Error("useDismissibleLayerStackItem must be used within a dismissible layer stack context.");return{register:()=>o.register(t),unregister:()=>o.unregister(t),isTop:()=>o.isTop(t)}}const tn={ref:"layer"},nn=L(e.defineComponent({__name:"QDismissibleLayer",emits:["escape-key-down","pointer-down-outside","focus-outside","interact-outside","dismiss"],setup(t,{emit:o}){const n=o,a=e.useTemplateRef("layer"),l=e.useId(),r=en(l);let i=[];function s(d){d.key==="Escape"&&r!=null&&r.isTop()&&(n("escape-key-down",d),d.defaultPrevented||n("dismiss",d))}function u(d){if(!a.value)return;const m=d.target;if(!a.value.contains(m)&&r!=null&&r.isTop()){const b=new CustomEvent("focus-outside",{bubbles:!1,cancelable:!0,detail:{originalEvent:d}});n("focus-outside",b),n("interact-outside",b),b.defaultPrevented||n("dismiss",b)}}function c(d){if(!a.value||!(r!=null&&r.isTop()))return;const m=d.target;if(!a.value.contains(m)){const b=new CustomEvent("pointer-down-outside",{bubbles:!1,cancelable:!0,detail:{originalEvent:d}});n("pointer-down-outside",b),n("interact-outside",b),b.defaultPrevented||n("dismiss",b)}}function p(){["mousedown","touchstart"].forEach(d=>{document.addEventListener(d,c,{passive:!0,capture:!0}),i.push(()=>{document.removeEventListener(d,c,{capture:!0})})})}return e.onMounted(()=>{r==null||r.register(),document.addEventListener("keydown",s),i.push(()=>{document.removeEventListener("keydown",s)}),document.addEventListener("focusin",u),i.push(()=>{document.removeEventListener("focusin",u)}),p()}),e.onUnmounted(()=>{r==null||r.unregister(),i.forEach(d=>d()),i=[]}),(d,m)=>(e.openBlock(),e.createElementBlock("div",tn,[e.renderSlot(d.$slots,"default")],512))}}));function on(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}const an=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const rn=()=>{};function Ue(...t){if(t.length!==1)return e.toRef(...t);const o=t[0];return typeof o=="function"?e.readonly(e.customRef(()=>({get:o,set:rn}))):e.ref(o)}const Be=an?window:void 0;function Ce(t){var o;const n=e.toValue(t);return(o=n==null?void 0:n.$el)!=null?o:n}function ln(){const t=e.shallowRef(!1),o=e.getCurrentInstance();return o&&e.onMounted(()=>{t.value=!0},o),t}function sn(t){const o=ln();return e.computed(()=>(o.value,!!t()))}function cn(t,o,n={}){const{window:a=Be,...l}=n;let r;const i=sn(()=>a&&"ResizeObserver"in a),s=()=>{r&&(r.disconnect(),r=void 0)},u=e.computed(()=>{const d=e.toValue(t);return Array.isArray(d)?d.map(m=>Ce(m)):[Ce(d)]}),c=e.watch(u,d=>{if(s(),i.value&&a){r=new ResizeObserver(o);for(const m of d)m&&r.observe(m,l)}},{immediate:!0,flush:"post"}),p=()=>{s(),c()};return on(p),{isSupported:i,stop:p}}function dn(t=Be,o){t&&typeof t.requestAnimationFrame=="function"?t.requestAnimationFrame(o):o()}function un(t={}){var o,n;const{window:a=Be}=t,l=Ue(t==null?void 0:t.element),r=Ue((o=t==null?void 0:t.input)!=null?o:""),i=(n=t==null?void 0:t.styleProp)!=null?n:"height",s=e.shallowRef(1),u=e.shallowRef(0);function c(){var p;if(!l.value)return;let d="";l.value.style[i]="1px",s.value=(p=l.value)==null?void 0:p.scrollHeight;const m=e.toValue(t==null?void 0:t.styleTarget);m?m.style[i]=`${s.value}px`:d=`${s.value}px`,l.value.style[i]=d}return e.watch([r,l],()=>e.nextTick(c),{immediate:!0}),e.watch(s,()=>{var p;return(p=t==null?void 0:t.onResize)==null?void 0:p.call(t)}),cn(l,([{contentRect:p}])=>{u.value!==p.width&&dn(a,()=>{u.value=p.width,c()})}),t!=null&&t.watch&&e.watch(t.watch,c,{immediate:!0,deep:!0}),{textarea:l,input:r,triggerResize:c}}/*!
|
|
1
|
+
(function(e,Y){typeof exports=="object"&&typeof module<"u"?module.exports=Y(require("vue"),require("axios"),require("markdown-it")):typeof define=="function"&&define.amd?define(["vue","axios","markdown-it"],Y):(e=typeof globalThis<"u"?globalThis:e||self,e.ChatBotFrontend=Y(e.vue,e.axios,e.MarkdownIt))})(this,function(e,Y,mt){"use strict";function he(t){return t==null?!0:typeof t=="string"||Array.isArray(t)?t.length===0:typeof t=="object"?Object.keys(t).length===0:!1}function De(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function ye(t={},o={}){const n={},a=new Set([...Object.keys(t),...Object.keys(o)]);for(const r of a){if(r==="__proto__"||r==="constructor"||r==="prototype")continue;const l=t[r],i=o[r];De(l)&&De(i)?n[r]=ye(l,i):n[r]=i!==void 0?i:l}return n}const Ie="q-defaults";function gt(){var t,o;const n=e.getCurrentInstance();if(!n)throw new Error("[Quidgest UI] useDefaults must be called from inside a setup function");const a=n.type.name??n.type.__name;if(!a)throw new Error("[Quidgest UI] Could not determine component name");const r=Ve(),l=(t=r.value)==null?void 0:t.Global,i=(o=r.value)==null?void 0:o[a];return e.computed(()=>ye(l,i))}function bt(t){if(he(t))return;const o=Ve(),n=e.ref(t),a=e.computed(()=>he(n.value)?o.value:ye(o.value,n.value));e.provide(Ie,a)}function Ve(){const t=e.inject(Ie,void 0);if(!t)throw new Error("[Quidgest UI] Could not find defaults instance");return t}const qe=Symbol.for("q-group");function ht(t){const o={active:e.ref(e.unref(t.multiple)?Array.isArray(e.unref(t.active))?e.unref(t.active):e.unref(t.active)!==void 0?[e.unref(t.active)]:[]:e.unref(t.active)),multiple:e.computed(()=>e.unref(t.multiple)||!1),required:e.computed(()=>e.unref(t.required)||!1)};return e.isRef(t.active)&&e.watch(t.active,n=>{o.active.value=n}),e.watch(()=>o.multiple.value,n=>{n&&o.active.value?o.active.value=[o.active.value]:n?o.active.value=[]:Array.isArray(o.active.value)&&o.active.value.length===1?o.active.value=o.active.value[0]:o.active.value=void 0}),e.provide(qe,o),o}function yt(t){const o=e.inject(qe,void 0);if(!o)return;const n=e.computed(()=>{var a;const r=e.unref(t);return Array.isArray(o.active.value)?(a=o.active.value)==null?void 0:a.includes(r):o.active.value===r});return{isActive:n,toggle:()=>{var a,r,l;const i=e.unref(t);Array.isArray(o.active.value)?n.value?(!((a=o.required)!=null&&a.value)||o.active.value.length>1)&&(o.active.value=(r=o.active.value)==null?void 0:r.filter(s=>s!==i)):o.active.value.push(i):o.active.value!==i?o.active.value=i:(l=o.required)!=null&&l.value||(o.active.value=void 0)}}}const Re={chevron:{icon:"chevron-down"}},kt=["id"],wt=e.defineComponent({__name:"QSpinnerLoader",props:{id:{},class:{},size:{default:48}},setup(t){const o=t,n=e.computed(()=>({"font-size":o.size!==48?`${o.size}px`:void 0}));return(a,r)=>(e.openBlock(),e.createElementBlock("div",{id:o.id,class:e.normalizeClass(["q-spinner-loader",o.class]),style:e.normalizeStyle(n.value)},null,14,kt))}});function Bt(t){return t.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 _t(t){return Bt(t).join("-").toLowerCase()}function xt(t,o){var n;const a=_t(o);return a?typeof((n=t.props)==null?void 0:n[a])<"u":!1}function P(t){const o=t,n=o.setup;return n&&(o.setup=(a,r)=>{const l=gt();if(he(l.value))return n(a,r);const i=e.getCurrentInstance();if(i===null)return n(a,r);const s=new Proxy(a,{get(u,d){var p;const c=Reflect.get(u,d),m=(p=l.value)==null?void 0:p[d];return typeof d=="string"&&!xt(i.vnode,d)?m??c:c}});return n(s,r)}),t}const Me=P(wt);function Ct(t,o=!1){return o?/^#[a-fA-F0-9]{6}$/.test(t):/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test(t)}function Et(t){const o=t.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(o){const n=parseInt(o[1],10),a=parseInt(o[2],10),r=parseInt(o[3],10);return{r:n,g:a,b:r}}}function vt(t){if(Ct(t)){t.length===4&&(t="#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);const o=parseInt(t.slice(1,3),16),n=parseInt(t.slice(3,5),16),a=parseInt(t.slice(5,7),16);return{r:o,g:n,b:a}}else{const o=Et(t);if(o)return o}throw new Error("Invalid color format")}function $t(t,o){const n=Te(t),a=o/100;return n.l=n.l-a*n.l,Nt(n)}function St(t){const o=t.r.toString(16).padStart(2,"0"),n=t.g.toString(16).padStart(2,"0"),a=t.b.toString(16).padStart(2,"0");return`#${o}${n}${a}`}function Le(t){return`${t.r} ${t.g} ${t.b}`}function Te(t){const o=t.r/255,n=t.g/255,a=t.b/255,r=Math.max(o,n,a),l=Math.min(o,n,a);let i=0,s;const u=(r+l)/2;if(r===l)i=s=0;else{const d=r-l;switch(s=u>.5?d/(2-r-l):d/(r+l),r){case o:i=(n-a)/d+(n<a?6:0);break;case n:i=(a-o)/d+2;break;case a:i=(o-n)/d+4;break}i/=6}return{h:Math.round(i*360),s:Math.round(s*100),l:Math.round(u*100)}}function Nt(t){const o=t.h/360,n=t.s/100,a=t.l/100;let r,l,i;if(n===0)r=l=i=a;else{const s=a<.5?a*(1+n):a+n-a*n,u=2*a-s;r=ke(u,s,o+1/3),l=ke(u,s,o),i=ke(u,s,o-1/3)}return{r:Math.round(r*255),g:Math.round(l*255),b:Math.round(i*255)}}function ke(t,o,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(o-t)*6*n:n<1/2?o:n<2/3?t+(o-t)*(2/3-n)*6:t}function At(t){return t>50?"#000":"#fff"}const Dt=Symbol.for("q-theme");function Fe(){const t=e.inject(Dt);if(!t)throw new Error("[Quidgest UI] Could not find theme instance");return t}function Pe(t){const o=e.computed(()=>e.unref(t)),n=e.computed(()=>o.value?!It(o.value):!1),a=e.computed(()=>{const r=o.value;if(!r)return;let l=r;const i=Fe();if(n.value){const m=r;l=i.current.value.scheme[m]??r}let s;try{if(s=vt(l),!s)return}catch(m){console.error("Failed to parse color:",m);return}const u=Te(s),d=At(u.l),p=$t(s,25),c=St(p);return{mainColor:l,mainColorRgb:Le(s),onMainColor:d,hoverColor:c,hoverColorRgb:Le(p),onHoverColor:d}});return{isUtilityColor:n,style:a}}function It(t){return t.startsWith("#")||t.startsWith("rgb")||t.startsWith("hsl")}const Vt=["id","disabled"],qt={key:0,class:"q-button__spinner"},Rt={class:"q-button__content"},j=P(e.defineComponent({__name:"QButton",props:{id:{},class:{},label:{},variant:{default:"outlined"},color:{default:"primary"},disabled:{type:Boolean},borderless:{type:Boolean},elevated:{type:Boolean},block:{type:Boolean},loading:{type:Boolean},size:{default:"regular"},iconPos:{default:"start"},pill:{type:Boolean}},emits:["click"],setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>n.disabled||n.loading);function l(p){r.value||a("click",p)}const{isUtilityColor:i,style:s}=Pe(e.toRef(n,"color")),u=e.computed(()=>{const p=i.value?`q-button--${n.color}`:void 0,c=n.size!=="regular"?`q-button--${n.size}`:void 0,m=n.iconPos!=="start"?`q-button--icon-${n.iconPos}`:void 0;return["q-button",`q-button--${n.variant}`,p,c,m,{"q-button--borderless":n.borderless,"q-button--elevated":n.elevated,"q-button--block":n.block,"q-button--loading":n.loading,"q-button--pill":n.pill},n.class]}),d=e.computed(()=>{var p,c,m,_,B,v;if(!i.value)return{"--q-button-main-color":(p=s.value)==null?void 0:p.mainColor,"--q-button-main-color-rgb":(c=s.value)==null?void 0:c.mainColorRgb,"--q-button-on-main-color":(m=s.value)==null?void 0:m.onMainColor,"--q-button-hover-color":(_=s.value)==null?void 0:_.hoverColor,"--q-button-hover-color-rgb":(B=s.value)==null?void 0:B.hoverColorRgb,"--q-button-on-hover-color":(v=s.value)==null?void 0:v.onHoverColor}});return(p,c)=>(e.openBlock(),e.createElementBlock("button",{id:n.id,type:"button",class:e.normalizeClass(u.value),disabled:r.value,style:e.normalizeStyle(d.value),onClick:e.withModifiers(l,["stop","prevent"])},[n.loading?(e.openBlock(),e.createElementBlock("div",qt,[e.createVNode(e.unref(Me))])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",Rt,[e.renderSlot(p.$slots,"default"),e.createTextVNode(" "+e.toDisplayString(n.label),1)])],14,Vt))}})),Mt=e.defineComponent({__name:"QIcon",props:{id:{},class:{},icon:{},type:{default:"svg"},size:{},color:{}},setup(t){const o=t,n=e.computed(()=>{switch(o.type){case"svg":return Ht;case"font":return Gt;case"img":return Qt;default:return}}),{style:a}=Pe(e.toRef(o,"color")),r=e.computed(()=>{var l;return{"font-size":o.size!==void 0?`${o.size}px`:void 0,color:o.color!==void 0&&o.color!=="primary"?(l=a.value)==null?void 0:l.mainColor:void 0}});return(l,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{id:o.id,class:e.normalizeClass(o.class),icon:o.icon,style:e.normalizeStyle(r.value)},null,8,["id","class","icon","style"]))}}),Lt=["id"],Tt=e.defineComponent({__name:"QIconFont",props:{id:{},class:{},icon:{},library:{default:""},variant:{}},setup(t){const o=t,n=e.computed(()=>o.variant?`${o.library}-${o.variant}`:o.library),a=e.computed(()=>o.library&&o.icon?`${o.library}-${o.icon}`:o.icon);return(r,l)=>(e.openBlock(),e.createElementBlock("i",{id:o.id,class:e.normalizeClass(["q-icon","q-icon__font",n.value,a.value,o.class])},null,10,Lt))}}),Ft=["id","src"],Pt=e.defineComponent({__name:"QIconImg",props:{id:{},class:{},icon:{}},setup(t){const o=t;return(n,a)=>(e.openBlock(),e.createElementBlock("img",{id:o.id,src:o.icon,class:e.normalizeClass(["q-icon","q-icon__img",o.class])},null,10,Ft))}}),oe={},Ot=e.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:t=>typeof t=="object",unloaded:()=>!0,error:t=>typeof t=="object"},data(){return{svgElSource:null}},watch:{src(t){this.getSource(t)}},async mounted(){await this.getSource(this.src)},methods:{copySvgAttrs(t,o){const n=o.attributes;if(n)for(const a of n)t[a.name]=a.value},copyComponentAttrs(t,o){for(const[n,a]of Object.entries(o))a!==!1&&a!==null&&a!==void 0&&(t[n]=a)},getSvgContent(t){return this.symbol&&(t=t.getElementById(this.symbol),!t)?null:(this.transformSource&&(t=t.cloneNode(!0),t=this.transformSource(t)),this.title&&(this.transformSource||(t=t.cloneNode(!0)),zt(t,this.title)),t)},async getSource(t){try{oe[t]||(oe[t]=Ut(this.download(t))),this.svgElSource&&oe[t].getIsPending()&&!this.keepDuringLoading&&(this.svgElSource=null,this.$emit("unloaded"));const o=await oe[t];this.svgElSource=o,await this.$nextTick(),this.$emit("loaded",this.$el)}catch(o){this.svgElSource&&(this.svgElSource=null,this.$emit("unloaded")),delete oe[t],this.$emit("error",o)}},async download(t){const o=await fetch(t);if(!o.ok)throw new Error("Error loading SVG");const n=await o.text(),a=new DOMParser().parseFromString(n,"text/xml").getElementsByTagName("svg")[0];if(!a)throw new Error("Loaded file is not a valid SVG");return a}},render(){if(!this.svgElSource)return null;const t=this.getSvgContent(this.svgElSource);if(!t)return e.h("div",this.$attrs);const o={};return this.copySvgAttrs(o,this.svgElSource),this.copySvgAttrs(o,t),this.copyComponentAttrs(o,this.$attrs),o.innerHTML=t.innerHTML,e.h("svg",o)},expose:[]});function zt(t,o){const n=t.getElementsByTagName("title");if(n.length)n[0].textContent=o;else{const a=document.createElementNS("http://www.w3.org/2000/svg","title");a.textContent=o,t.insertBefore(a,t.firstChild)}}function Ut(t){if(t.getIsPending)return t;let o=!0;const n=t.then(a=>(o=!1,a),a=>{throw o=!1,a});return n.getIsPending=()=>o,n}const jt=e.defineComponent({__name:"QIconSvg",props:{id:{},class:{},icon:{},bundle:{default:""}},emits:["loaded","unloaded"],setup(t,{emit:o}){const n=t,a=o;function r(i){a("loaded",i)}function l(){a("unloaded")}return(i,s)=>(e.openBlock(),e.createBlock(e.unref(Ot),{id:n.id,class:e.normalizeClass(["q-icon","q-icon__svg",n.class]),src:n.bundle,symbol:n.icon,onLoaded:r,onUnloaded:l},null,8,["id","class","src","symbol"]))}}),z=P(Mt),Gt=P(Tt),Qt=P(Pt),Ht=P(jt),Wt=P(e.defineComponent({__name:"QChevron",props:e.mergeModels({id:{},class:{},icons:{default:()=>Re}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,n=e.useModel(t,"modelValue"),a=e.computed(()=>["q-chevron",{"q-chevron--expanded":n.value},o.class]);return(r,l)=>(e.openBlock(),e.createBlock(e.unref(z),e.mergeProps({id:o.id,class:a.value},o.icons.chevron),null,16,["id","class"]))}}));let Zt=0;function ae(t){return e.unref(t)||`uid-${++Zt}`}const Jt=["id"],Oe=P(e.defineComponent({__name:"QButtonGroup",props:{id:{},class:{},disabled:{type:Boolean},borderless:{type:Boolean},elevated:{type:Boolean}},setup(t){const o=t;return bt({QButton:{disabled:e.toRef(o,"disabled"),borderless:e.toRef(o,"borderless")}}),(n,a)=>(e.openBlock(),e.createElementBlock("div",{id:o.id,class:e.normalizeClass(["q-button-group",{"q-button-group--elevated":o.elevated},o.class]),role:"group"},[e.renderSlot(n.$slots,"default")],10,Jt))}})),Yt=["id"],Xt=["for"],ze=P(e.defineComponent({inheritAttrs:!1,__name:"QLabel",props:{id:{},class:{},label:{},for:{},required:{type:Boolean}},setup(t){const o=t,n=e.computed(()=>["q-label",{"q-label--required":o.required},o.class]);return(a,r)=>(e.openBlock(),e.createElementBlock("div",{id:o.id,class:e.normalizeClass(n.value)},[e.renderSlot(a.$slots,"prepend"),e.createElementVNode("label",e.mergeProps({for:o.for},a.$attrs),[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],16,Xt),e.renderSlot(a.$slots,"append")],10,Yt))}})),Kt=["id"],en={key:0,class:"q-field__prepend"},tn={key:1,class:"q-field__append"},nn={key:1,class:"q-field__extras"},we=P(e.defineComponent({inheritAttrs:!1,__name:"QField",props:{id:{},class:{},label:{},for:{},required:{type:Boolean},size:{default:"medium"},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean}},setup(t,{expose:o}){const n=t,a=e.useTemplateRef("field"),r=e.computed(()=>n.required&&!n.readonly&&!n.disabled),l=e.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 o({fieldRef:a}),(i,s)=>(e.openBlock(),e.createElementBlock("div",{id:n.id,class:e.normalizeClass(l.value)},[n.label?(e.openBlock(),e.createBlock(e.unref(ze),{key:0,class:"q-field__label",label:n.label,for:n.for,required:n.required},{prepend:e.withCtx(()=>[e.renderSlot(i.$slots,"label.prepend")]),append:e.withCtx(()=>[e.renderSlot(i.$slots,"label.append")]),_:3},8,["label","for","required"])):e.createCommentVNode("v-if",!0),e.renderSlot(i.$slots,"control",{},()=>[e.createElementVNode("div",e.mergeProps({ref:"field",class:"q-field__control"},i.$attrs),[i.$slots.prepend?(e.openBlock(),e.createElementBlock("div",en,[e.renderSlot(i.$slots,"prepend")])):e.createCommentVNode("v-if",!0),e.renderSlot(i.$slots,"default"),i.$slots.append?(e.openBlock(),e.createElementBlock("div",tn,[e.renderSlot(i.$slots,"append")])):e.createCommentVNode("v-if",!0)],16)]),i.$slots.extras?(e.openBlock(),e.createElementBlock("div",nn,[e.renderSlot(i.$slots,"extras")])):e.createCommentVNode("v-if",!0)],10,Kt))}})),Ue={clearValue:"Clear value"},je={clear:{icon:"close"}},Ge=P(e.defineComponent({__name:"QClearButton",props:{id:{},class:{},icons:{default:()=>je},texts:{default:()=>Ue}},emits:["click"],setup(t,{emit:o}){const n=t,a=o;function r(l){a("click",l)}return(l,i)=>(e.openBlock(),e.createBlock(e.unref(j),{id:n.id,class:e.normalizeClass(["q-clear-btn",n.class]),"aria-label":n.texts.clearValue,variant:"ghost",color:"neutral",borderless:"",tabindex:"-1",onClick:r},{default:e.withCtx(()=>[e.createVNode(e.unref(z),e.normalizeProps(e.guardReactiveProps(n.icons.clear)),null,16)]),_:1},8,["id","class","aria-label"]))}})),on=["id","type","maxlength","required","placeholder","readonly","disabled"],an=P(e.defineComponent({inheritAttrs:!1,__name:"QTextField",props:e.mergeModels({id:{},class:{},label:{},for:{},required:{type:Boolean},size:{},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean},placeholder:{},maxLength:{},clearable:{type:Boolean},type:{default:"text"},texts:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["click:clear"],["update:modelValue"]),setup(t,{expose:o,emit:n}){const a=t,r=n,l=e.useModel(t,"modelValue"),i=e.computed({get:()=>l.value,set:B=>{const v=a.maxLength;l.value=v?B==null?void 0:B.slice(0,v):B}});e.watch(l,B=>i.value=B,{immediate:!0});const s=ae(a.id),u=e.ref(null),d=e.ref(null),p=e.computed(()=>a.readonly||a.disabled?void 0:a.placeholder),c=e.computed(()=>a.clearable&&!a.readonly&&!a.disabled),m=e.computed(()=>c.value&&l.value);function _(B){c.value&&(l.value="",r("click:clear",B))}return o({fieldRef:e.computed(()=>{var B;return(B=u.value)==null?void 0:B.fieldRef}),inputRef:d}),(B,v)=>(e.openBlock(),e.createBlock(e.unref(we),{ref_key:"fieldRef",ref:u,class:e.normalizeClass(["q-text-field",a.class]),for:e.unref(s),label:a.label,size:a.size,readonly:a.readonly,disabled:a.disabled,required:a.required,invalid:a.invalid},e.createSlots({"label.prepend":e.withCtx(()=>[e.renderSlot(B.$slots,"label.prepend")]),"label.append":e.withCtx(()=>[e.renderSlot(B.$slots,"label.append")]),default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(s),ref_key:"inputRef",ref:d,"onUpdate:modelValue":v[0]||(v[0]=S=>i.value=S),class:"q-text-field__input",type:a.type,maxlength:a.maxLength,required:a.required,placeholder:p.value,readonly:a.readonly,disabled:a.disabled},B.$attrs),null,16,on),[[e.vModelDynamic,i.value]])]),_:2},[B.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(B.$slots,"prepend")]),key:"0"}:void 0,B.$slots.append||m.value?{name:"append",fn:e.withCtx(()=>[e.renderSlot(B.$slots,"append"),m.value?(e.openBlock(),e.createBlock(e.unref(Ge),{key:0,"data-testid":"q-text-field__clear-button",texts:a.texts,onClick:_},null,8,["texts"])):e.createCommentVNode("v-if",!0)]),key:"1"}:void 0,B.$slots.extras?{name:"extras",fn:e.withCtx(()=>[e.renderSlot(B.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","size","readonly","disabled","required","invalid"]))}})),ln=e.defineComponent({__name:"QList",props:e.mergeModels({id:{},class:{},highlighted:{},items:{},groups:{default:()=>[]},itemValue:{default:"key"},itemLabel:{default:"label"},disabled:{type:Boolean},selectable:{type:Boolean},multiple:{type:Boolean},required:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["click"],["update:modelValue"]),setup(t,{expose:o,emit:n}){const a=t,r=n,l=e.useModel(t,"modelValue"),i=e.ref(!1),s=e.computed(()=>u.value.length>1?"div":"ul"),u=e.computed(()=>a.groups.length?a.groups.filter(b=>{var x;return(x=a.items)==null?void 0:x.some(w=>w.group===b.id)}):[{id:"",title:""}]),{active:d}=ht({active:l,required:e.toRef(a,"required"),multiple:e.toRef(a,"multiple")}),p=e.ref(null),c=e.ref(null);function m(b){r("click",b)}function _(){i.value=!0}function B(){i.value=!1}function v(b){var x;if(!a.items||(x=p.value)!=null&&x.contains(b.relatedTarget))return;let w;l.value?w=a.items.findIndex(y=>y[a.itemValue]===l.value):w=k();const h=i.value;D(w,h)}const S=e.ref("");let T;function q(b){var x;switch(window.clearTimeout(T),["ArrowDown","ArrowUp","Home","End"].includes(b.key)&&b.preventDefault(),b.key){case"ArrowDown":I("next");break;case"ArrowUp":I("prev");break;case"Home":I("first");break;case"End":I("last");break}if(/^[a-z]$/i.test(b.key)){S.value+=b.key.toLowerCase();const w=((x=a.items)==null?void 0:x.length)||0;for(let h=0;h<w;h++)if(a.items[h][a.itemLabel].toLowerCase().startsWith(S.value)){D(h);break}b.preventDefault(),b.stopPropagation()}T=window.setTimeout(function(){S.value=""},500)}function I(b){switch(b){case"next":case"prev":D(f(b));break;case"first":D(k());break;case"last":D(V());break}}function D(b,x=!1){var w;(w=R()[b])==null||w.focus({preventScroll:x})}function R(){var b;const x=(b=p.value)==null?void 0:b.querySelectorAll("li");return x?Array.from(x):[]}function E(b){return R()[b]}function M(){return R().indexOf(document.activeElement)}function k(){const b=R(),x=b.find(w=>C(w));return x?b.indexOf(x):-1}function V(){const b=R(),x=[...b].reverse().find(w=>C(w));return x?b.indexOf(x):-1}function F(b,x,w){return x==="prev"&&b<=0||x==="next"&&b===w.length-1}function f(b){const x=M();return g(x,b)}function g(b,x){const w=R();if(F(b,x,w))return b;let h=b+(x==="next"?1:-1);for(;!C(w[h]);){if(F(h,x,w))return b;h+=x==="next"?1:-1}return h}function C(b){return b.tabIndex===-2}function A(b){var x;return b?(x=a.items)==null?void 0:x.filter(w=>w.group===b):a.items}return e.watch(d,b=>{l.value=b},{deep:!0}),o({getItem:E,getAdjacentItemIndex:g,getFirstFocusableItemIndex:k,getLastFocusableItemIndex:V}),(b,x)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),{id:a.id,ref_key:"listRef",ref:p,class:e.normalizeClass(["q-list",{"q-list--disabled":a.disabled},a.class]),role:"listbox",tabindex:a.disabled?-1:0,onFocus:v,onMousedown:_,onMouseup:B,onKeydown:q},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(w,h)=>(e.openBlock(),e.createBlock(e.unref(kn),{id:w.id,key:w.id,title:u.value.length===1?void 0:w.title},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A(w.id),(y,N)=>(e.openBlock(),e.createBlock(e.unref(yn),{key:y[a.itemValue],ref_for:!0,ref_key:"listItemsRef",ref:c,value:y[a.itemValue],label:y[a.itemLabel],description:y.description,icon:y.icon,disabled:a.disabled||w.disabled||y.disabled,highlighted:a.highlighted===y[a.itemValue],selectable:a.selectable||a.multiple||y.selectable,onClick:()=>m(y[a.itemValue])},{append:e.withCtx(()=>{var O,L;return[e.renderSlot(b.$slots,"item.append",{item:y,element:(L=(O=c.value)==null?void 0:O[N+h*u.value.length])==null?void 0:L.$el})]}),default:e.withCtx(()=>{var O,L;return[e.renderSlot(b.$slots,"item",{item:y,element:(L=(O=c.value)==null?void 0:O[N+h*u.value.length])==null?void 0:L.$el})]}),_:2},1032,["value","label","description","icon","disabled","highlighted","selectable","onClick"]))),128))]),_:2},1032,["id","title"]))),128))])]),_:3},40,["id","class","tabindex"]))}}),rn={check:{icon:"check"},description:{icon:"information-outline"}},sn=["id","data-key","tabindex","aria-label","aria-selected"],cn={class:"q-list-item__container"},dn={class:"q-list-item__content"},un={key:0,class:"q-list-item__description"},pn={key:0,class:"q-list-item__check-container"},fn=e.defineComponent({__name:"QListItem",props:e.mergeModels({value:{},label:{},icon:{},selectable:{type:Boolean},highlighted:{type:Boolean},disabled:{type:Boolean},description:{},icons:{default:()=>rn}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:e.mergeModels(["click"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),l=ae(),i=yt(n.value);if(!i)throw new Error("QListItem: Failed to retrieve group item. Ensure the component is used within a QList context.");function s(){n.disabled||(a("click"),n.selectable&&(i==null||i.toggle()))}function u(d){d.key==="Tab"&&s(),(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),d.stopPropagation(),s())}return e.watch(i.isActive,d=>{r.value=d},{immediate:!0}),(d,p)=>(e.openBlock(),e.createElementBlock("li",{id:e.unref(l),"data-key":n.value,role:"option",tabindex:n.disabled?void 0:-2,class:e.normalizeClass(["q-list-item",{"q-list-item--selected":r.value,"q-list-item--selectable":n.selectable,"q-list-item--disabled":n.disabled,"q-list-item--highlighted":n.highlighted}]),"aria-label":n.label,"aria-selected":n.disabled?void 0:r.value,onKeydown:u,onClick:e.withModifiers(s,["stop","prevent"])},[e.renderSlot(d.$slots,"prepend"),e.createElementVNode("div",cn,[e.createElementVNode("div",dn,[e.renderSlot(d.$slots,"default",{},()=>[n.icon?(e.openBlock(),e.createBlock(e.unref(z),e.normalizeProps(e.mergeProps({key:0},n.icon)),null,16)):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(n.label),1)])]),n.description?(e.openBlock(),e.createElementBlock("div",un,[e.createVNode(e.unref(z),e.normalizeProps(e.guardReactiveProps(n.icons.description)),null,16),e.createElementVNode("span",null,e.toDisplayString(n.description),1)])):e.createCommentVNode("v-if",!0)]),e.renderSlot(d.$slots,"append"),n.selectable?(e.openBlock(),e.createElementBlock("div",pn,[r.value?(e.openBlock(),e.createBlock(e.unref(z),e.mergeProps({key:0},n.icons.check,{class:"q-list-item__check"}),null,16)):e.createCommentVNode("v-if",!0)])):e.createCommentVNode("v-if",!0)],42,sn))}}),mn=["data-key","aria-labelledby"],gn=["id"],bn=e.defineComponent({__name:"QListItemGroup",props:{id:{},title:{}},setup(t){const o=t,n=ae();return(a,r)=>(e.openBlock(),e.createElementBlock("ul",{class:"q-list-item-group",role:"group","data-key":o.id,"aria-labelledby":o.title?e.unref(n):void 0},[o.title?(e.openBlock(),e.createElementBlock("li",{key:0,id:e.unref(n),class:"q-list-item-group__title",role:"presentation"},e.toDisplayString(o.title),9,gn)):e.createCommentVNode("v-if",!0),e.renderSlot(a.$slots,"default")],8,mn))}}),hn=P(ln),yn=P(fn),kn=P(bn),wn=Symbol("DismissibleLayer");function Bn(t){const o=e.inject(wn);if(!o)throw new Error("useDismissibleLayerStackItem must be used within a dismissible layer stack context.");return{register:()=>o.register(t),unregister:()=>o.unregister(t),isTop:()=>o.isTop(t)}}const _n={ref:"layer"},xn=P(e.defineComponent({__name:"QDismissibleLayer",emits:["escape-key-down","pointer-down-outside","focus-outside","interact-outside","dismiss"],setup(t,{emit:o}){const n=o,a=e.useTemplateRef("layer"),r=e.useId(),l=Bn(r);let i=[];function s(c){c.key==="Escape"&&l!=null&&l.isTop()&&(n("escape-key-down",c),c.defaultPrevented||n("dismiss",c))}function u(c){if(!a.value)return;const m=c.target;if(!a.value.contains(m)&&l!=null&&l.isTop()){const _=new CustomEvent("focus-outside",{bubbles:!1,cancelable:!0,detail:{originalEvent:c}});n("focus-outside",_),n("interact-outside",_),_.defaultPrevented||n("dismiss",_)}}function d(c){if(!a.value||!(l!=null&&l.isTop()))return;const m=c.target;if(!a.value.contains(m)){const _=new CustomEvent("pointer-down-outside",{bubbles:!1,cancelable:!0,detail:{originalEvent:c}});n("pointer-down-outside",_),n("interact-outside",_),_.defaultPrevented||n("dismiss",_)}}function p(){["mousedown","touchstart"].forEach(c=>{document.addEventListener(c,d,{passive:!0,capture:!0}),i.push(()=>{document.removeEventListener(c,d,{capture:!0})})})}return e.onMounted(()=>{l==null||l.register(),document.addEventListener("keydown",s),i.push(()=>{document.removeEventListener("keydown",s)}),document.addEventListener("focusin",u),i.push(()=>{document.removeEventListener("focusin",u)}),p()}),e.onUnmounted(()=>{l==null||l.unregister(),i.forEach(c=>c()),i=[]}),(c,m)=>(e.openBlock(),e.createElementBlock("div",_n,[e.renderSlot(c.$slots,"default")],512))}}));function Cn(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}const En=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const vn=()=>{};function Qe(...t){if(t.length!==1)return e.toRef(...t);const o=t[0];return typeof o=="function"?e.readonly(e.customRef(()=>({get:o,set:vn}))):e.ref(o)}const Be=En?window:void 0;function _e(t){var o;const n=e.toValue(t);return(o=n==null?void 0:n.$el)!=null?o:n}function $n(){const t=e.shallowRef(!1),o=e.getCurrentInstance();return o&&e.onMounted(()=>{t.value=!0},o),t}function Sn(t){const o=$n();return e.computed(()=>(o.value,!!t()))}function Nn(t,o,n={}){const{window:a=Be,...r}=n;let l;const i=Sn(()=>a&&"ResizeObserver"in a),s=()=>{l&&(l.disconnect(),l=void 0)},u=e.computed(()=>{const c=e.toValue(t);return Array.isArray(c)?c.map(m=>_e(m)):[_e(c)]}),d=e.watch(u,c=>{if(s(),i.value&&a){l=new ResizeObserver(o);for(const m of c)m&&l.observe(m,r)}},{immediate:!0,flush:"post"}),p=()=>{s(),d()};return Cn(p),{isSupported:i,stop:p}}function An(t=Be,o){t&&typeof t.requestAnimationFrame=="function"?t.requestAnimationFrame(o):o()}function Dn(t={}){var o,n;const{window:a=Be}=t,r=Qe(t==null?void 0:t.element),l=Qe((o=t==null?void 0:t.input)!=null?o:""),i=(n=t==null?void 0:t.styleProp)!=null?n:"height",s=e.shallowRef(1),u=e.shallowRef(0);function d(){var p;if(!r.value)return;let c="";r.value.style[i]="1px",s.value=(p=r.value)==null?void 0:p.scrollHeight;const m=e.toValue(t==null?void 0:t.styleTarget);m?m.style[i]=`${s.value}px`:c=`${s.value}px`,r.value.style[i]=c}return e.watch([l,r],()=>e.nextTick(d),{immediate:!0}),e.watch(s,()=>{var p;return(p=t==null?void 0:t.onResize)==null?void 0:p.call(t)}),Nn(r,([{contentRect:p}])=>{u.value!==p.width&&An(a,()=>{u.value=p.width,d()})}),t!=null&&t.watch&&e.watch(t.watch,d,{immediate:!0,deep:!0}),{textarea:r,input:l,triggerResize:d}}/*!
|
|
2
2
|
* tabbable 6.2.0
|
|
3
3
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
4
|
-
*/var
|
|
4
|
+
*/var He=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],ce=He.join(","),We=typeof Element>"u",Q=We?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,de=!We&&Element.prototype.getRootNode?function(t){var o;return t==null||(o=t.getRootNode)===null||o===void 0?void 0:o.call(t)}:function(t){return t==null?void 0:t.ownerDocument},ue=function t(o,n){var a;n===void 0&&(n=!0);var r=o==null||(a=o.getAttribute)===null||a===void 0?void 0:a.call(o,"inert"),l=r===""||r==="true",i=l||n&&o&&t(o.parentNode);return i},In=function(t){var o,n=t==null||(o=t.getAttribute)===null||o===void 0?void 0:o.call(t,"contenteditable");return n===""||n==="true"},Ze=function(t,o,n){if(ue(t))return[];var a=Array.prototype.slice.apply(t.querySelectorAll(ce));return o&&Q.call(t,ce)&&a.unshift(t),a=a.filter(n),a},Je=function t(o,n,a){for(var r=[],l=Array.from(o);l.length;){var i=l.shift();if(!ue(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,d=t(u,!0,a);a.flatten?r.push.apply(r,d):r.push({scopeParent:i,candidates:d})}else{var p=Q.call(i,ce);p&&a.filter(i)&&(n||!o.includes(i))&&r.push(i);var c=i.shadowRoot||typeof a.getShadowRoot=="function"&&a.getShadowRoot(i),m=!ue(c,!1)&&(!a.shadowRootFilter||a.shadowRootFilter(i));if(c&&m){var _=t(c===!0?i.children:c.children,!0,a);a.flatten?r.push.apply(r,_):r.push({scopeParent:i,candidates:_})}else l.unshift.apply(l,i.children)}}return r},Ye=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},H=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||In(t))&&!Ye(t)?0:t.tabIndex},Vn=function(t,o){var n=H(t);return n<0&&o&&!Ye(t)?0:n},qn=function(t,o){return t.tabIndex===o.tabIndex?t.documentOrder-o.documentOrder:t.tabIndex-o.tabIndex},Xe=function(t){return t.tagName==="INPUT"},Rn=function(t){return Xe(t)&&t.type==="hidden"},Mn=function(t){var o=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(n){return n.tagName==="SUMMARY"});return o},Ln=function(t,o){for(var n=0;n<t.length;n++)if(t[n].checked&&t[n].form===o)return t[n]},Tn=function(t){if(!t.name)return!0;var o=t.form||de(t),n=function(l){return o.querySelectorAll('input[type="radio"][name="'+l+'"]')},a;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")a=n(window.CSS.escape(t.name));else try{a=n(t.name)}catch(l){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",l.message),!1}var r=Ln(a,t.form);return!r||r===t},Fn=function(t){return Xe(t)&&t.type==="radio"},Pn=function(t){return Fn(t)&&!Tn(t)},On=function(t){var o,n=t&&de(t),a=(o=n)===null||o===void 0?void 0:o.host,r=!1;if(n&&n!==t){var l,i,s;for(r=!!((l=a)!==null&&l!==void 0&&(i=l.ownerDocument)!==null&&i!==void 0&&i.contains(a)||t!=null&&(s=t.ownerDocument)!==null&&s!==void 0&&s.contains(t));!r&&a;){var u,d,p;n=de(a),a=(u=n)===null||u===void 0?void 0:u.host,r=!!((d=a)!==null&&d!==void 0&&(p=d.ownerDocument)!==null&&p!==void 0&&p.contains(a))}}return r},Ke=function(t){var o=t.getBoundingClientRect(),n=o.width,a=o.height;return n===0&&a===0},zn=function(t,o){var n=o.displayCheck,a=o.getShadowRoot;if(getComputedStyle(t).visibility==="hidden")return!0;var r=Q.call(t,"details>summary:first-of-type"),l=r?t.parentElement:t;if(Q.call(l,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof a=="function"){for(var i=t;t;){var s=t.parentElement,u=de(t);if(s&&!s.shadowRoot&&a(s)===!0)return Ke(t);t.assignedSlot?t=t.assignedSlot:!s&&u!==t.ownerDocument?t=u.host:t=s}t=i}if(On(t))return!t.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return Ke(t);return!1},Un=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var o=t.parentElement;o;){if(o.tagName==="FIELDSET"&&o.disabled){for(var n=0;n<o.children.length;n++){var a=o.children.item(n);if(a.tagName==="LEGEND")return Q.call(o,"fieldset[disabled] *")?!0:!a.contains(t)}return!0}o=o.parentElement}return!1},pe=function(t,o){return!(o.disabled||ue(o)||Rn(o)||zn(o,t)||Mn(o)||Un(o))},xe=function(t,o){return!(Pn(o)||H(o)<0||!pe(t,o))},jn=function(t){var o=parseInt(t.getAttribute("tabindex"),10);return!!(isNaN(o)||o>=0)},Gn=function t(o){var n=[],a=[];return o.forEach(function(r,l){var i=!!r.scopeParent,s=i?r.scopeParent:r,u=Vn(s,i),d=i?t(r.candidates):s;u===0?i?n.push.apply(n,d):n.push(s):a.push({documentOrder:l,tabIndex:u,item:r,isScope:i,content:d})}),a.sort(qn).reduce(function(r,l){return l.isScope?r.push.apply(r,l.content):r.push(l.content),r},[]).concat(n)},Qn=function(t,o){o=o||{};var n;return o.getShadowRoot?n=Je([t],o.includeContainer,{filter:xe.bind(null,o),flatten:!1,getShadowRoot:o.getShadowRoot,shadowRootFilter:jn}):n=Ze(t,o.includeContainer,xe.bind(null,o)),Gn(n)},Hn=function(t,o){o=o||{};var n;return o.getShadowRoot?n=Je([t],o.includeContainer,{filter:pe.bind(null,o),flatten:!0,getShadowRoot:o.getShadowRoot}):n=Ze(t,o.includeContainer,pe.bind(null,o)),n},X=function(t,o){if(o=o||{},!t)throw new Error("No node provided");return Q.call(t,ce)===!1?!1:xe(o,t)},Wn=He.concat("iframe").join(","),Ce=function(t,o){if(o=o||{},!t)throw new Error("No node provided");return Q.call(t,Wn)===!1?!1:pe(o,t)};/*!
|
|
5
5
|
* focus-trap 7.6.4
|
|
6
6
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
7
|
-
*/function
|
|
8
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Je(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);o&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(t,l).enumerable})),n.push.apply(n,a)}return n}function We(t){for(var o=1;o<arguments.length;o++){var n=arguments[o]!=null?arguments[o]:{};o%2?Je(Object(n),!0).forEach(function(a){An(t,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Je(Object(n)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(n,a))})}return t}function Rn(t){return Nn(t)||In(t)||Ln(t)||Dn()}function Vn(t,o){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var a=n.call(t,o);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(t)}function Mn(t){var o=Vn(t,"string");return typeof o=="symbol"?o:o+""}function Ln(t,o){if(t){if(typeof t=="string")return _e(t,o);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_e(t,o):void 0}}var Ye={activateTrap:function(t,o){if(t.length>0){var n=t[t.length-1];n!==o&&n._setPausedState(!0)}var a=t.indexOf(o);a===-1||t.splice(a,1),t.push(o)},deactivateTrap:function(t,o){var n=t.indexOf(o);n!==-1&&t.splice(n,1),t.length>0&&!t[t.length-1]._isManuallyPaused()&&t[t.length-1]._setPausedState(!1)}},Tn=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},qn=function(t){return(t==null?void 0:t.key)==="Escape"||(t==null?void 0:t.key)==="Esc"||(t==null?void 0:t.keyCode)===27},re=function(t){return(t==null?void 0:t.key)==="Tab"||(t==null?void 0:t.keyCode)===9},Fn=function(t){return re(t)&&!t.shiftKey},Pn=function(t){return re(t)&&t.shiftKey},Xe=function(t){return setTimeout(t,0)},le=function(t){for(var o=arguments.length,n=new Array(o>1?o-1:0),a=1;a<o;a++)n[a-1]=arguments[a];return typeof t=="function"?t.apply(void 0,n):t},pe=function(t){return t.target.shadowRoot&&typeof t.composedPath=="function"?t.composedPath()[0]:t.target},Un=[],On=function(t,o){var n=(o==null?void 0:o.document)||document,a=(o==null?void 0:o.trapStack)||Un,l=We({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:Fn,isKeyBackward:Pn},o),r={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},i,s=function(f,g,w){return f&&f[g]!==void 0?f[g]:l[w||g]},u=function(f,g){var w=typeof(g==null?void 0:g.composedPath)=="function"?g.composedPath():void 0;return r.containerGroups.findIndex(function(E){var v=E.container,D=E.tabbableNodes;return v.contains(f)||(w==null?void 0:w.includes(v))||D.find(function(x){return x===f})})},c=function(f){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},w=g.hasFallback,E=w===void 0?!1:w,v=g.params,D=v===void 0?[]:v,x=l[f];if(typeof x=="function"&&(x=x.apply(void 0,Rn(D))),x===!0&&(x=void 0),!x){if(x===void 0||x===!1)return x;throw new Error("`".concat(f,"` was specified but was not a node, or did not return a node"))}var R=x;if(typeof x=="string"){try{R=n.querySelector(x)}catch(h){throw new Error("`".concat(f,'` appears to be an invalid selector; error="').concat(h.message,'"'))}if(!R&&!E)throw new Error("`".concat(f,"` as selector refers to no known node"))}return R},p=function(){var f=c("initialFocus",{hasFallback:!0});if(f===!1)return!1;if(f===void 0||f&&!xe(f,l.tabbableOptions))if(u(n.activeElement)>=0)f=n.activeElement;else{var g=r.tabbableGroups[0],w=g&&g.firstTabbableNode;f=w||c("fallbackFocus")}else f===null&&(f=c("fallbackFocus"));if(!f)throw new Error("Your focus-trap needs to have at least one focusable element");return f},d=function(){if(r.containerGroups=r.containers.map(function(f){var g=En(f,l.tabbableOptions),w=Sn(f,l.tabbableOptions),E=g.length>0?g[0]:void 0,v=g.length>0?g[g.length-1]:void 0,D=w.find(function(h){return ee(h)}),x=w.slice().reverse().find(function(h){return ee(h)}),R=!!g.find(function(h){return J(h)>0});return{container:f,tabbableNodes:g,focusableNodes:w,posTabIndexesFound:R,firstTabbableNode:E,lastTabbableNode:v,firstDomTabbableNode:D,lastDomTabbableNode:x,nextTabbableNode:function(h){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,_=g.indexOf(h);return _<0?k?w.slice(w.indexOf(h)+1).find(function(A){return ee(A)}):w.slice(0,w.indexOf(h)).reverse().find(function(A){return ee(A)}):g[_+(k?1:-1)]}}}),r.tabbableGroups=r.containerGroups.filter(function(f){return f.tabbableNodes.length>0}),r.tabbableGroups.length<=0&&!c("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(r.containerGroups.find(function(f){return f.posTabIndexesFound})&&r.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},m=function(f){var g=f.activeElement;if(g)return g.shadowRoot&&g.shadowRoot.activeElement!==null?m(g.shadowRoot):g},b=function(f){if(f!==!1&&f!==m(document)){if(!f||!f.focus){b(p());return}f.focus({preventScroll:!!l.preventScroll}),r.mostRecentlyFocusedNode=f,Tn(f)&&f.select()}},y=function(f){var g=c("setReturnFocus",{params:[f]});return g||(g===!1?!1:f)},B=function(f){var g=f.target,w=f.event,E=f.isBackward,v=E===void 0?!1:E;g=g||pe(w),d();var D=null;if(r.tabbableGroups.length>0){var x=u(g,w),R=x>=0?r.containerGroups[x]:void 0;if(x<0)v?D=r.tabbableGroups[r.tabbableGroups.length-1].lastTabbableNode:D=r.tabbableGroups[0].firstTabbableNode;else if(v){var h=r.tabbableGroups.findIndex(function(oe){var ie=oe.firstTabbableNode;return g===ie});if(h<0&&(R.container===g||xe(g,l.tabbableOptions)&&!ee(g,l.tabbableOptions)&&!R.nextTabbableNode(g,!1))&&(h=x),h>=0){var k=h===0?r.tabbableGroups.length-1:h-1,_=r.tabbableGroups[k];D=J(g)>=0?_.lastTabbableNode:_.lastDomTabbableNode}else re(w)||(D=R.nextTabbableNode(g,!1))}else{var A=r.tabbableGroups.findIndex(function(oe){var ie=oe.lastTabbableNode;return g===ie});if(A<0&&(R.container===g||xe(g,l.tabbableOptions)&&!ee(g,l.tabbableOptions)&&!R.nextTabbableNode(g))&&(A=x),A>=0){var G=A===r.tabbableGroups.length-1?0:A+1,Q=r.tabbableGroups[G];D=J(g)>=0?Q.firstTabbableNode:Q.firstDomTabbableNode}else re(w)||(D=R.nextTabbableNode(g))}}else D=c("fallbackFocus");return D},$=function(f){var g=pe(f);if(!(u(g,f)>=0)){if(le(l.clickOutsideDeactivates,f)){i.deactivate({returnFocus:l.returnFocusOnDeactivate});return}le(l.allowOutsideClick,f)||f.preventDefault()}},z=function(f){var g=pe(f),w=u(g,f)>=0;if(w||g instanceof Document)w&&(r.mostRecentlyFocusedNode=g);else{f.stopImmediatePropagation();var E,v=!0;if(r.mostRecentlyFocusedNode)if(J(r.mostRecentlyFocusedNode)>0){var D=u(r.mostRecentlyFocusedNode),x=r.containerGroups[D].tabbableNodes;if(x.length>0){var R=x.findIndex(function(h){return h===r.mostRecentlyFocusedNode});R>=0&&(l.isKeyForward(r.recentNavEvent)?R+1<x.length&&(E=x[R+1],v=!1):R-1>=0&&(E=x[R-1],v=!1))}}else r.containerGroups.some(function(h){return h.tabbableNodes.some(function(k){return J(k)>0})})||(v=!1);else v=!1;v&&(E=B({target:r.mostRecentlyFocusedNode,isBackward:l.isKeyBackward(r.recentNavEvent)})),b(E||r.mostRecentlyFocusedNode||p())}r.recentNavEvent=void 0},M=function(f){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;r.recentNavEvent=f;var w=B({event:f,isBackward:g});w&&(re(f)&&f.preventDefault(),b(w))},q=function(f){(l.isKeyForward(f)||l.isKeyBackward(f))&&M(f,l.isKeyBackward(f))},S=function(f){qn(f)&&le(l.escapeDeactivates,f)!==!1&&(f.preventDefault(),i.deactivate())},N=function(f){var g=pe(f);u(g,f)>=0||le(l.clickOutsideDeactivates,f)||le(l.allowOutsideClick,f)||(f.preventDefault(),f.stopImmediatePropagation())},I=function(){if(r.active)return Ye.activateTrap(a,i),r.delayInitialFocusTimer=l.delayInitialFocus?Xe(function(){b(p())}):b(p()),n.addEventListener("focusin",z,!0),n.addEventListener("mousedown",$,{capture:!0,passive:!1}),n.addEventListener("touchstart",$,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",q,{capture:!0,passive:!1}),n.addEventListener("keydown",S),i},P=function(){if(r.active)return n.removeEventListener("focusin",z,!0),n.removeEventListener("mousedown",$,!0),n.removeEventListener("touchstart",$,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",q,!0),n.removeEventListener("keydown",S),i},V=function(f){var g=f.some(function(w){var E=Array.from(w.removedNodes);return E.some(function(v){return v===r.mostRecentlyFocusedNode})});g&&b(p())},U=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(V):void 0,O=function(){U&&(U.disconnect(),r.active&&!r.paused&&r.containers.map(function(f){U.observe(f,{subtree:!0,childList:!0})}))};return i={get active(){return r.active},get paused(){return r.paused},activate:function(f){if(r.active)return this;var g=s(f,"onActivate"),w=s(f,"onPostActivate"),E=s(f,"checkCanFocusTrap");E||d(),r.active=!0,r.paused=!1,r.nodeFocusedBeforeActivation=n.activeElement,g==null||g();var v=function(){E&&d(),I(),O(),w==null||w()};return E?(E(r.containers.concat()).then(v,v),this):(v(),this)},deactivate:function(f){if(!r.active)return this;var g=We({onDeactivate:l.onDeactivate,onPostDeactivate:l.onPostDeactivate,checkCanReturnFocus:l.checkCanReturnFocus},f);clearTimeout(r.delayInitialFocusTimer),r.delayInitialFocusTimer=void 0,P(),r.active=!1,r.paused=!1,O(),Ye.deactivateTrap(a,i);var w=s(g,"onDeactivate"),E=s(g,"onPostDeactivate"),v=s(g,"checkCanReturnFocus"),D=s(g,"returnFocus","returnFocusOnDeactivate");w==null||w();var x=function(){Xe(function(){D&&b(y(r.nodeFocusedBeforeActivation)),E==null||E()})};return D&&v?(v(y(r.nodeFocusedBeforeActivation)).then(x,x),this):(x(),this)},pause:function(f){return r.active?(r.manuallyPaused=!0,this._setPausedState(!0,f)):this},unpause:function(f){return r.active?(r.manuallyPaused=!1,a[a.length-1]!==this?this:this._setPausedState(!1,f)):this},updateContainerElements:function(f){var g=[].concat(f).filter(Boolean);return r.containers=g.map(function(w){return typeof w=="string"?n.querySelector(w):w}),r.active&&d(),O(),this}},Object.defineProperties(i,{_isManuallyPaused:{value:function(){return r.manuallyPaused}},_setPausedState:{value:function(f,g){if(r.paused===f)return this;if(r.paused=f,f){var w=s(g,"onPause"),E=s(g,"onPostPause");w==null||w(),P(),O(),E==null||E()}else{var v=s(g,"onUnpause"),D=s(g,"onPostUnpause");v==null||v(),d(),I(),O(),D==null||D()}return this}}}),i.updateContainerElements(t),i};const zn=e.defineComponent({name:"UseFocusTrap",props:["as","options"],setup(t,{slots:o}){let n;const a=e.ref(),l=()=>n&&n.activate(),r=()=>n&&n.deactivate();return e.watch(()=>Ce(a),i=>{i&&(n=On(i,t.options||{}),l())},{flush:"post"}),e.onScopeDispose(()=>r()),()=>{if(o.default)return e.h(t.as||"div",{ref:a},o.default())}}}),jn=L(e.defineComponent({__name:"QFocusTrap",props:e.mergeModels({options:{},as:{}},{disabled:{type:Boolean},disabledModifiers:{}}),emits:["update:disabled"],setup(t){const o=t,n=e.useModel(t,"disabled");return(a,l)=>n.value?e.renderSlot(a.$slots,"default",{key:0}):(e.openBlock(),e.createBlock(e.unref(zn),e.normalizeProps(e.mergeProps({key:1},o)),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}})),te="data-scroll-locked",Ee="right-scroll-bar-position",Se="width-before-scroll-bar",Gn="with-scroll-bars-hidden",Hn="--removed-body-scroll-bar-size",Qn={left:0,top:0,right:0,gap:0},$e=t=>parseInt(t||"",10)||0,Zn=t=>{const o=window.getComputedStyle(document.body),n=o[t==="padding"?"paddingLeft":"marginLeft"],a=o[t==="padding"?"paddingTop":"marginTop"],l=o[t==="padding"?"paddingRight":"marginRight"];return[$e(n),$e(a),$e(l)]},Jn=(t="margin")=>{if(typeof window>"u")return Qn;const o=Zn(t),n=document.documentElement.clientWidth,a=window.innerWidth;return{left:o[0],top:o[1],right:o[2],gap:Math.max(0,a-n+o[2]-o[0])}};function Wn(){return document?document.createElement("style"):null}function Yn(t,o){t.appendChild(document.createTextNode(o))}function Xn(t){(document.head||document.getElementsByTagName("head")[0]).appendChild(t)}const Kn=()=>{let t=0,o=null;return{add:n=>{t===0&&(o=Wn())&&(Yn(o,n),Xn(o)),t++},remove:()=>{var n;t--,!t&&o&&((n=o.parentNode)==null||n.removeChild(o),o=null)}}},eo=L(e.defineComponent({__name:"QRemoveScrollBar",props:{noRelative:{type:Boolean},noImportant:{type:Boolean},gapMode:{default:"margin"}},setup(t){const o=t,n=Kn(),a=()=>{const r=parseInt(document.body.getAttribute(te)||"0",10);return isFinite(r)?r:0},l=({left:r,top:i,right:s,gap:u},c,p="margin",d)=>`
|
|
9
|
-
.${
|
|
10
|
-
overflow: hidden ${
|
|
11
|
-
padding-right: ${u}px ${
|
|
7
|
+
*/function Ee(t,o){(o==null||o>t.length)&&(o=t.length);for(var n=0,a=Array(o);n<o;n++)a[n]=t[n];return a}function Zn(t){if(Array.isArray(t))return Ee(t)}function Jn(t,o,n){return(o=to(o))in t?Object.defineProperty(t,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[o]=n,t}function Yn(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Xn(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
8
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function et(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);o&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,a)}return n}function tt(t){for(var o=1;o<arguments.length;o++){var n=arguments[o]!=null?arguments[o]:{};o%2?et(Object(n),!0).forEach(function(a){Jn(t,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):et(Object(n)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(n,a))})}return t}function Kn(t){return Zn(t)||Yn(t)||no(t)||Xn()}function eo(t,o){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var a=n.call(t,o);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(t)}function to(t){var o=eo(t,"string");return typeof o=="symbol"?o:o+""}function no(t,o){if(t){if(typeof t=="string")return Ee(t,o);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ee(t,o):void 0}}var nt={activateTrap:function(t,o){if(t.length>0){var n=t[t.length-1];n!==o&&n._setPausedState(!0)}var a=t.indexOf(o);a===-1||t.splice(a,1),t.push(o)},deactivateTrap:function(t,o){var n=t.indexOf(o);n!==-1&&t.splice(n,1),t.length>0&&!t[t.length-1]._isManuallyPaused()&&t[t.length-1]._setPausedState(!1)}},oo=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},ao=function(t){return(t==null?void 0:t.key)==="Escape"||(t==null?void 0:t.key)==="Esc"||(t==null?void 0:t.keyCode)===27},le=function(t){return(t==null?void 0:t.key)==="Tab"||(t==null?void 0:t.keyCode)===9},lo=function(t){return le(t)&&!t.shiftKey},ro=function(t){return le(t)&&t.shiftKey},ot=function(t){return setTimeout(t,0)},re=function(t){for(var o=arguments.length,n=new Array(o>1?o-1:0),a=1;a<o;a++)n[a-1]=arguments[a];return typeof t=="function"?t.apply(void 0,n):t},fe=function(t){return t.target.shadowRoot&&typeof t.composedPath=="function"?t.composedPath()[0]:t.target},io=[],so=function(t,o){var n=(o==null?void 0:o.document)||document,a=(o==null?void 0:o.trapStack)||io,r=tt({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:lo,isKeyBackward:ro},o),l={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},i,s=function(f,g,C){return f&&f[g]!==void 0?f[g]:r[C||g]},u=function(f,g){var C=typeof(g==null?void 0:g.composedPath)=="function"?g.composedPath():void 0;return l.containerGroups.findIndex(function(A){var b=A.container,x=A.tabbableNodes;return b.contains(f)||(C==null?void 0:C.includes(b))||x.find(function(w){return w===f})})},d=function(f){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},C=g.hasFallback,A=C===void 0?!1:C,b=g.params,x=b===void 0?[]:b,w=r[f];if(typeof w=="function"&&(w=w.apply(void 0,Kn(x))),w===!0&&(w=void 0),!w){if(w===void 0||w===!1)return w;throw new Error("`".concat(f,"` was specified but was not a node, or did not return a node"))}var h=w;if(typeof w=="string"){try{h=n.querySelector(w)}catch(y){throw new Error("`".concat(f,'` appears to be an invalid selector; error="').concat(y.message,'"'))}if(!h&&!A)throw new Error("`".concat(f,"` as selector refers to no known node"))}return h},p=function(){var f=d("initialFocus",{hasFallback:!0});if(f===!1)return!1;if(f===void 0||f&&!Ce(f,r.tabbableOptions))if(u(n.activeElement)>=0)f=n.activeElement;else{var g=l.tabbableGroups[0],C=g&&g.firstTabbableNode;f=C||d("fallbackFocus")}else f===null&&(f=d("fallbackFocus"));if(!f)throw new Error("Your focus-trap needs to have at least one focusable element");return f},c=function(){if(l.containerGroups=l.containers.map(function(f){var g=Qn(f,r.tabbableOptions),C=Hn(f,r.tabbableOptions),A=g.length>0?g[0]:void 0,b=g.length>0?g[g.length-1]:void 0,x=C.find(function(y){return X(y)}),w=C.slice().reverse().find(function(y){return X(y)}),h=!!g.find(function(y){return H(y)>0});return{container:f,tabbableNodes:g,focusableNodes:C,posTabIndexesFound:h,firstTabbableNode:A,lastTabbableNode:b,firstDomTabbableNode:x,lastDomTabbableNode:w,nextTabbableNode:function(y){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,O=g.indexOf(y);return O<0?N?C.slice(C.indexOf(y)+1).find(function(L){return X(L)}):C.slice(0,C.indexOf(y)).reverse().find(function(L){return X(L)}):g[O+(N?1:-1)]}}}),l.tabbableGroups=l.containerGroups.filter(function(f){return f.tabbableNodes.length>0}),l.tabbableGroups.length<=0&&!d("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(l.containerGroups.find(function(f){return f.posTabIndexesFound})&&l.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},m=function(f){var g=f.activeElement;if(g)return g.shadowRoot&&g.shadowRoot.activeElement!==null?m(g.shadowRoot):g},_=function(f){if(f!==!1&&f!==m(document)){if(!f||!f.focus){_(p());return}f.focus({preventScroll:!!r.preventScroll}),l.mostRecentlyFocusedNode=f,oo(f)&&f.select()}},B=function(f){var g=d("setReturnFocus",{params:[f]});return g||(g===!1?!1:f)},v=function(f){var g=f.target,C=f.event,A=f.isBackward,b=A===void 0?!1:A;g=g||fe(C),c();var x=null;if(l.tabbableGroups.length>0){var w=u(g,C),h=w>=0?l.containerGroups[w]:void 0;if(w<0)b?x=l.tabbableGroups[l.tabbableGroups.length-1].lastTabbableNode:x=l.tabbableGroups[0].firstTabbableNode;else if(b){var y=l.tabbableGroups.findIndex(function(ne){var se=ne.firstTabbableNode;return g===se});if(y<0&&(h.container===g||Ce(g,r.tabbableOptions)&&!X(g,r.tabbableOptions)&&!h.nextTabbableNode(g,!1))&&(y=w),y>=0){var N=y===0?l.tabbableGroups.length-1:y-1,O=l.tabbableGroups[N];x=H(g)>=0?O.lastTabbableNode:O.lastDomTabbableNode}else le(C)||(x=h.nextTabbableNode(g,!1))}else{var L=l.tabbableGroups.findIndex(function(ne){var se=ne.lastTabbableNode;return g===se});if(L<0&&(h.container===g||Ce(g,r.tabbableOptions)&&!X(g,r.tabbableOptions)&&!h.nextTabbableNode(g))&&(L=w),L>=0){var Z=L===l.tabbableGroups.length-1?0:L+1,te=l.tabbableGroups[Z];x=H(g)>=0?te.firstTabbableNode:te.firstDomTabbableNode}else le(C)||(x=h.nextTabbableNode(g))}}else x=d("fallbackFocus");return x},S=function(f){var g=fe(f);if(!(u(g,f)>=0)){if(re(r.clickOutsideDeactivates,f)){i.deactivate({returnFocus:r.returnFocusOnDeactivate});return}re(r.allowOutsideClick,f)||f.preventDefault()}},T=function(f){var g=fe(f),C=u(g,f)>=0;if(C||g instanceof Document)C&&(l.mostRecentlyFocusedNode=g);else{f.stopImmediatePropagation();var A,b=!0;if(l.mostRecentlyFocusedNode)if(H(l.mostRecentlyFocusedNode)>0){var x=u(l.mostRecentlyFocusedNode),w=l.containerGroups[x].tabbableNodes;if(w.length>0){var h=w.findIndex(function(y){return y===l.mostRecentlyFocusedNode});h>=0&&(r.isKeyForward(l.recentNavEvent)?h+1<w.length&&(A=w[h+1],b=!1):h-1>=0&&(A=w[h-1],b=!1))}}else l.containerGroups.some(function(y){return y.tabbableNodes.some(function(N){return H(N)>0})})||(b=!1);else b=!1;b&&(A=v({target:l.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(l.recentNavEvent)})),_(A||l.mostRecentlyFocusedNode||p())}l.recentNavEvent=void 0},q=function(f){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;l.recentNavEvent=f;var C=v({event:f,isBackward:g});C&&(le(f)&&f.preventDefault(),_(C))},I=function(f){(r.isKeyForward(f)||r.isKeyBackward(f))&&q(f,r.isKeyBackward(f))},D=function(f){ao(f)&&re(r.escapeDeactivates,f)!==!1&&(f.preventDefault(),i.deactivate())},R=function(f){var g=fe(f);u(g,f)>=0||re(r.clickOutsideDeactivates,f)||re(r.allowOutsideClick,f)||(f.preventDefault(),f.stopImmediatePropagation())},E=function(){if(l.active)return nt.activateTrap(a,i),l.delayInitialFocusTimer=r.delayInitialFocus?ot(function(){_(p())}):_(p()),n.addEventListener("focusin",T,!0),n.addEventListener("mousedown",S,{capture:!0,passive:!1}),n.addEventListener("touchstart",S,{capture:!0,passive:!1}),n.addEventListener("click",R,{capture:!0,passive:!1}),n.addEventListener("keydown",I,{capture:!0,passive:!1}),n.addEventListener("keydown",D),i},M=function(){if(l.active)return n.removeEventListener("focusin",T,!0),n.removeEventListener("mousedown",S,!0),n.removeEventListener("touchstart",S,!0),n.removeEventListener("click",R,!0),n.removeEventListener("keydown",I,!0),n.removeEventListener("keydown",D),i},k=function(f){var g=f.some(function(C){var A=Array.from(C.removedNodes);return A.some(function(b){return b===l.mostRecentlyFocusedNode})});g&&_(p())},V=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(k):void 0,F=function(){V&&(V.disconnect(),l.active&&!l.paused&&l.containers.map(function(f){V.observe(f,{subtree:!0,childList:!0})}))};return i={get active(){return l.active},get paused(){return l.paused},activate:function(f){if(l.active)return this;var g=s(f,"onActivate"),C=s(f,"onPostActivate"),A=s(f,"checkCanFocusTrap");A||c(),l.active=!0,l.paused=!1,l.nodeFocusedBeforeActivation=n.activeElement,g==null||g();var b=function(){A&&c(),E(),F(),C==null||C()};return A?(A(l.containers.concat()).then(b,b),this):(b(),this)},deactivate:function(f){if(!l.active)return this;var g=tt({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},f);clearTimeout(l.delayInitialFocusTimer),l.delayInitialFocusTimer=void 0,M(),l.active=!1,l.paused=!1,F(),nt.deactivateTrap(a,i);var C=s(g,"onDeactivate"),A=s(g,"onPostDeactivate"),b=s(g,"checkCanReturnFocus"),x=s(g,"returnFocus","returnFocusOnDeactivate");C==null||C();var w=function(){ot(function(){x&&_(B(l.nodeFocusedBeforeActivation)),A==null||A()})};return x&&b?(b(B(l.nodeFocusedBeforeActivation)).then(w,w),this):(w(),this)},pause:function(f){return l.active?(l.manuallyPaused=!0,this._setPausedState(!0,f)):this},unpause:function(f){return l.active?(l.manuallyPaused=!1,a[a.length-1]!==this?this:this._setPausedState(!1,f)):this},updateContainerElements:function(f){var g=[].concat(f).filter(Boolean);return l.containers=g.map(function(C){return typeof C=="string"?n.querySelector(C):C}),l.active&&c(),F(),this}},Object.defineProperties(i,{_isManuallyPaused:{value:function(){return l.manuallyPaused}},_setPausedState:{value:function(f,g){if(l.paused===f)return this;if(l.paused=f,f){var C=s(g,"onPause"),A=s(g,"onPostPause");C==null||C(),M(),F(),A==null||A()}else{var b=s(g,"onUnpause"),x=s(g,"onPostUnpause");b==null||b(),c(),E(),F(),x==null||x()}return this}}}),i.updateContainerElements(t),i};const co=e.defineComponent({name:"UseFocusTrap",props:["as","options"],setup(t,{slots:o}){let n;const a=e.ref(),r=()=>n&&n.activate(),l=()=>n&&n.deactivate();return e.watch(()=>_e(a),i=>{i&&(n=so(i,t.options||{}),r())},{flush:"post"}),e.onScopeDispose(()=>l()),()=>{if(o.default)return e.h(t.as||"div",{ref:a},o.default())}}}),uo=P(e.defineComponent({__name:"QFocusTrap",props:e.mergeModels({options:{},as:{}},{disabled:{type:Boolean},disabledModifiers:{}}),emits:["update:disabled"],setup(t){const o=t,n=e.useModel(t,"disabled");return(a,r)=>n.value?e.renderSlot(a.$slots,"default",{key:0}):(e.openBlock(),e.createBlock(e.unref(co),e.normalizeProps(e.mergeProps({key:1},o)),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}})),K="data-scroll-locked",ve="right-scroll-bar-position",$e="width-before-scroll-bar",po="with-scroll-bars-hidden",fo="--removed-body-scroll-bar-size",mo={left:0,top:0,right:0,gap:0},Se=t=>parseInt(t||"",10)||0,go=t=>{const o=window.getComputedStyle(document.body),n=o[t==="padding"?"paddingLeft":"marginLeft"],a=o[t==="padding"?"paddingTop":"marginTop"],r=o[t==="padding"?"paddingRight":"marginRight"];return[Se(n),Se(a),Se(r)]},bo=(t="margin")=>{if(typeof window>"u")return mo;const o=go(t),n=document.documentElement.clientWidth,a=window.innerWidth;return{left:o[0],top:o[1],right:o[2],gap:Math.max(0,a-n+o[2]-o[0])}};function ho(){return document?document.createElement("style"):null}function yo(t,o){t.appendChild(document.createTextNode(o))}function ko(t){(document.head||document.getElementsByTagName("head")[0]).appendChild(t)}const wo=()=>{let t=0,o=null;return{add:n=>{t===0&&(o=ho())&&(yo(o,n),ko(o)),t++},remove:()=>{var n;t--,!t&&o&&((n=o.parentNode)==null||n.removeChild(o),o=null)}}},Bo=P(e.defineComponent({__name:"QRemoveScrollBar",props:{noRelative:{type:Boolean},noImportant:{type:Boolean},gapMode:{default:"margin"}},setup(t){const o=t,n=wo(),a=()=>{const l=parseInt(document.body.getAttribute(K)||"0",10);return isFinite(l)?l:0},r=({left:l,top:i,right:s,gap:u},d,p="margin",c)=>`
|
|
9
|
+
.${po} {
|
|
10
|
+
overflow: hidden ${c};
|
|
11
|
+
padding-right: ${u}px ${c};
|
|
12
12
|
}
|
|
13
|
-
body[${
|
|
14
|
-
overflow: hidden ${
|
|
13
|
+
body[${K}] {
|
|
14
|
+
overflow: hidden ${c};
|
|
15
15
|
overscroll-behavior: contain;
|
|
16
|
-
${[
|
|
17
|
-
padding-left: ${
|
|
16
|
+
${[d&&`position: relative ${c};`,p==="margin"&&`
|
|
17
|
+
padding-left: ${l}px;
|
|
18
18
|
padding-top: ${i}px;
|
|
19
19
|
padding-right: ${s}px;
|
|
20
20
|
margin-left:0;
|
|
21
21
|
margin-top:0;
|
|
22
|
-
margin-right: ${u}px ${
|
|
23
|
-
`,p==="padding"&&`padding-right: ${u}px ${
|
|
22
|
+
margin-right: ${u}px ${c};
|
|
23
|
+
`,p==="padding"&&`padding-right: ${u}px ${c};`].filter(Boolean).join("")}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
.${
|
|
27
|
-
right: ${u}px ${
|
|
26
|
+
.${ve} {
|
|
27
|
+
right: ${u}px ${c};
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
.${
|
|
31
|
-
margin-right: ${u}px ${
|
|
30
|
+
.${$e} {
|
|
31
|
+
margin-right: ${u}px ${c};
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
.${
|
|
35
|
-
right: 0 ${
|
|
34
|
+
.${ve} .${ve} {
|
|
35
|
+
right: 0 ${c};
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
.${
|
|
39
|
-
margin-right: 0 ${
|
|
38
|
+
.${$e} .${$e} {
|
|
39
|
+
margin-right: 0 ${c};
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
body[${
|
|
43
|
-
${
|
|
42
|
+
body[${K}] {
|
|
43
|
+
${fo}: ${u}px;
|
|
44
44
|
}
|
|
45
|
-
`;return e.onMounted(()=>{document.body.setAttribute(te,(a()+1).toString());const r=Jn(o.gapMode);n.add(l(r,!o.noRelative,o.gapMode,o.noImportant?"":"!important"))}),e.onUnmounted(()=>{const r=a()-1;r<=0?document.body.removeAttribute(te):document.body.setAttribute(te,r.toString()),n.remove()}),(r,i)=>e.renderSlot(r.$slots,"default")}}));function to(t,o,n,a){const l=(a==null?void 0:a.offset)??0,r=(a==null?void 0:a.crossOffset)??0,i=(a==null?void 0:a.placement)??"bottom",s=t.getBoundingClientRect(),u=o.getBoundingClientRect(),c=n==null?void 0:n.getBoundingClientRect(),p=no(s,u,i,l),d=io(s,u,p),m=ao(d,p,l),b=ro(m,p,r),y=oo(b,u,p);let B;if(a!=null&&a.arrow){if(!c)throw new Error("[Quidgest UI] The arrow element must exist to compute its position");B=lo(y,s,u,c,p)}return{overlayCoords:y,arrowCoords:B,placement:p}}function no(t,o,n,a){const l=Ke(t,o,n,a);if(et(l)){const r=ne(n),i={top:"bottom",bottom:"top",left:"right",right:"left"}[r],s=Ke(t,o,i,a);if(et(s))return n;const u=uo(n);return u?`${i}-${u}`:i}return n}function oo(t,o,n){const a=fe(n),l=(i,s,u)=>Math.min(Math.max(i,s),u),r={...t};return a==="x"?r.x=l(t.x,8,window.innerWidth-o.width-8):r.y=l(t.y,8,window.innerHeight-o.height-8),r}function ao(t,o,n){const a=ne(o);return{x:t.x+(a==="left"?-n:a==="right"?n:0),y:t.y+(a==="top"?-n:a==="bottom"?n:0)}}function ro(t,o,n){const a=ne(o);return{x:t.x+(a==="top"||a==="bottom"?n:0),y:t.y+(a==="right"||a==="left"?n:0)}}function lo(t,o,n,a,l){if(fe(l)==="y"){const r=o.top+o.height/2,i=t.y+n.height/2,s=i-r,u=n.height/2-s-a.height/2+2;if(u>0&&u<n.height-a.height)return{y:u}}else{const r=o.left+o.width/2,i=t.x+n.width/2,s=i-r,u=n.width/2-s-a.width/2+2;if(u>0&&u<n.width-a.width)return{x:u}}}function io(t,o,n){const[a,l]=n.split("-"),r=t.x+t.width/2-o.width/2,i=t.y+t.height/2-o.height/2;let s;switch(a){case"top":s={x:r,y:t.y-o.height};break;case"bottom":s={x:r,y:t.y+t.height};break;case"left":s={x:t.x-o.width,y:i};break;case"right":s={x:t.x+t.width,y:i};break;default:throw new Error(`[Quidgest UI] Invalid placement value: ${n}`)}if(!l)return s;const u=fe(n)==="y"?"height":"width",c=fe(n),p=t[u]/2-o[u]/2;switch(l){case"start":s[c]-=p;break;case"end":s[c]+=p;break;default:throw new Error(`[Quidgest UI] Invalid alignment value: ${l}`)}return s}function Ke(t,o,n,a){const l=ne(n);let r=0;switch(l){case"top":r=t.top-(o.height+a);break;case"bottom":r=window.innerHeight-t.bottom-(o.height+a);break;case"left":r=t.left-(o.width+a);break;case"right":r=window.innerWidth-t.right-(o.width+a);break;default:throw new Error(`[Quidgest UI] Invalid side value: ${l}`)}return r}function so(t){return t==="x"?"y":"x"}function co(t){const o=ne(t);return["left","right"].includes(o)?"x":"y"}function fe(t){return so(co(t))}function ne(t){const[o]=t.split("-");return o}function uo(t){const[,o]=t.split("-");return o}function et(t){return t<0}function po(t){return typeof t=="string"?document.querySelector(t):t}const fo=["id"],mo=["role"],go=L(e.defineComponent({inheritAttrs:!1,__name:"QOverlay",props:e.mergeModels({id:{},class:{},anchor:{},appearance:{default:"regular"},arrow:{type:Boolean},attach:{default:"body"},inline:{type:Boolean},backdropBlur:{type:Boolean},backdropClass:{},delay:{default:500},nonModal:{type:Boolean},scrollLock:{type:Boolean},offset:{default:8},crossOffset:{default:0},persistent:{type:Boolean},placement:{default:"right"},spy:{type:Boolean},transition:{default:"fade"},trigger:{default:"click"},width:{default:"auto"},focusTrap:{type:Boolean},centerVertically:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:e.mergeModels(["enter","leave"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),{class:r}=Me(),i=e.computed(()=>["q-overlay",`q-overlay--${ne(d.placement)}`,r.value,{"q-overlay--independent":s.value,"q-overlay--inverted":n.appearance==="inverted","q-overlay--center":n.centerVertically},n.class]),s=e.computed(()=>n.anchor===void 0),u=e.computed(()=>l.value&&!n.nonModal),c=e.computed(()=>(l.value||d.animating)&&n.scrollLock),p=e.computed(()=>!n.inline&&(l.value||d.animating)),d=e.reactive({animating:!1,top:0,left:0,width:0,placement:n.placement}),m=e.reactive({top:void 0,left:void 0,hidden:!0});e.watch(l,w);const b=e.computed(()=>{if(s.value)return;const C=v(),X=n.width==="anchor",H=X?C==null?void 0:C.getBoundingClientRect().width:void 0;return{top:`${d.top}px`,left:`${d.left}px`,width:H!==void 0?`${H}px`:void 0}}),y=e.computed(()=>{if(n.arrow)return{top:m.top!==void 0?`${m.top}px`:void 0,left:m.left!==void 0?`${m.left}px`:void 0,opacity:m.hidden?0:1}}),B=e.ref(null),$=e.ref(null),z=e.ref(null);function M(){const C=v();if(!C||!$.value)return;const X={placement:n.placement,width:n.width,offset:n.offset,crossOffset:n.crossOffset,arrow:n.arrow},H=to(C,$.value,(B==null?void 0:B.value)??void 0,X);d.left=H.overlayCoords.x,d.top=H.overlayCoords.y,d.placement=H.placement,m.hidden=H.arrowCoords===void 0,H.arrowCoords&&(m.top=H.arrowCoords.y,m.left=H.arrowCoords.x)}e.watch(()=>n.placement,()=>e.nextTick(M));let q;function S(){I(0)}function N(){I(n.delay)}function I(C){q&&V(),q=window.setTimeout(()=>{l.value=!0},C)}function P(){if(q&&V(),l.value=!1,n.anchor&&n.trigger==="click"){const C=v();e.nextTick(()=>C==null?void 0:C.focus())}}function V(){clearTimeout(q),q=void 0}function U(){e.nextTick(ie),a("enter")}function O(){E()}function f(){a("leave")}function g(){E(),ya()}function w(){d.animating=!0}function E(){d.animating=!1}function v(){return n.anchor?po(n.anchor):null}function D(C){n.persistent&&C.preventDefault()}function x(C){var X;if(n.persistent){C.preventDefault();return}let H=!1;C.defaultPrevented||C.detail.originalEvent.type==="pointerdown"&&(H=!0);const wa=C.detail.originalEvent.target;if((X=v())!=null&&X.contains(wa)){C.preventDefault();return}C.detail.originalEvent.type==="focusin"&&H&&C.preventDefault()}function R(){P()}let h;function k(){const C=v();if(C)switch(h=new MutationObserver(M),h.observe(C,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),n.trigger){case"click":C.addEventListener("click",S);break;case"hover":C.addEventListener("mouseenter",N),C.addEventListener("mouseleave",P),C.addEventListener("focusin",S),C.addEventListener("focusout",P);break}}function _(){const C=v();if(C)switch(h==null||h.disconnect(),n.trigger){case"click":C.removeEventListener("click",S);break;case"hover":C.removeEventListener("mouseenter",N),C.removeEventListener("mouseleave",P),C.removeEventListener("focusin",S),C.removeEventListener("focusout",P);break}}function A(){window.addEventListener("resize",M),n.scrollLock||window.addEventListener("scroll",M)}function G(){window.removeEventListener("resize",M),n.scrollLock||window.removeEventListener("scroll",M)}let Q;function oe(){v()?(M(),Q=window.setTimeout(oe,100)):P()}function ie(){var C;s.value||(A(),n.spy?oe():M()),(s.value||n.trigger==="click")&&((C=$.value)==null||C.focus())}function ya(){s.value||G(),n.spy&&(clearTimeout(Q),Q=void 0)}return e.onMounted(()=>{e.nextTick(k)}),e.onBeforeUnmount(_),(C,X)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!p.value,to:n.attach},[e.createVNode(e.Transition,{name:"fade",appear:""},{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([n.backdropClass,"q-overlay__underlay",{"q-overlay__underlay--blur":n.backdropBlur}])},null,2)):e.createCommentVNode("v-if",!0)]),_:1}),e.createVNode(e.Transition,{name:n.transition,appear:"",onEnter:U,onAfterEnter:O,onLeave:f,onAfterLeave:g},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:n.id,ref_key:"overlayContainerRef",ref:z,tabindex:"-1",class:e.normalizeClass(i.value),style:e.normalizeStyle(b.value)},[e.createVNode(e.unref(nn),{onDismiss:R,onInteractOutside:x,onPointerDownOutside:D},{default:e.withCtx(()=>[z.value?(e.openBlock(),e.createBlock(e.unref(jn),{key:0,disabled:n.nonModal||!l.value,options:{fallbackFocus:z.value}},{default:e.withCtx(()=>[e.createElementVNode("div",e.mergeProps({ref_key:"overlayRef",ref:$,class:"q-overlay__content",tabindex:"-1",role:u.value?"dialog":void 0},C.$attrs),[n.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowRef",ref:B,role:"presentation",class:"q-overlay__arrow",style:e.normalizeStyle(y.value)},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(C.$slots,"default")],16,mo)]),_:3},8,["disabled","options"])):e.createCommentVNode("v-if",!0)]),_:3})],14,fo)):e.createCommentVNode("v-if",!0)]),_:3},8,["name"])],8,["disabled","to"])),c.value?(e.openBlock(),e.createBlock(e.unref(eo),{key:0})):e.createCommentVNode("v-if",!0)],64))}})),bo=[{id:"button",icon:{icon:"check"},props:{variant:"bold",label:"Ok"}}],ho={icon:"check-circle-outline"},yo={close:{icon:"close"}},wo={key:0,class:"q-dialog__header"},ko={key:0,class:"q-dialog__header-title"},Bo={key:1,class:"q-dialog__body"},Co={key:0,class:"q-dialog__body-icon"},vo={class:"q-dialog__body-text"},xo=["innerHTML"],_o={key:1},Eo={key:0,class:"q-dialog__input"},So={key:2,class:"q-dialog__footer"},$o={key:0,class:"q-dialog__footer-buttons"},No=e.defineComponent({__name:"QDialog",props:e.mergeModels({id:{},class:{},title:{},text:{},icon:{default:()=>ho},buttons:{default:()=>bo},attach:{default:"body"},inline:{type:Boolean},backdropBlur:{type:Boolean,default:!0},dismissible:{type:Boolean},html:{type:Boolean,default:!0},icons:{default:()=>yo},size:{default:"small"},centerVertically:{type:Boolean},input:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:e.mergeModels(["enter","leave"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),r=e.ref(""),i=e.ref(""),s=e.computed(()=>["q-dialog",n.class]),u=e.computed(()=>`q-overlay--${n.size}`);function c(){l.value=!1}function p(b){var y,B;if(b.action){if((y=n.input)!=null&&y.validator&&(i.value=n.input.validator(e.unref(r)),e.unref(i)))return;(B=b.action)==null||B.call(b,e.unref(r))}c()}function d(){a("enter")}function m(){a("leave")}return(b,y)=>(e.openBlock(),e.createBlock(e.unref(go),{id:n.id,modelValue:l.value,"onUpdate:modelValue":y[1]||(y[1]=B=>l.value=B),"backdrop-class":"q-dialog__underlay","scroll-lock":"",persistent:"",inline:n.inline,attach:n.attach,"backdrop-blur":n.backdropBlur,"center-vertically":n.centerVertically,class:e.normalizeClass(u.value),onEnter:d,onLeave:m},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(s.value)},[n.title||b.$slots.header||b.$slots["header.prepend"]||b.$slots["header.append"]?(e.openBlock(),e.createElementBlock("div",wo,[e.renderSlot(b.$slots,"header",{},()=>[e.renderSlot(b.$slots,"header.prepend"),n.title?(e.openBlock(),e.createElementBlock("span",ko,e.toDisplayString(n.title),1)):e.createCommentVNode("v-if",!0),e.renderSlot(b.$slots,"header.append")])])):e.createCommentVNode("v-if",!0),n.icon||n.text||b.$slots.body?(e.openBlock(),e.createElementBlock("div",Bo,[e.renderSlot(b.$slots,"body",{},()=>{var B;return[e.renderSlot(b.$slots,"body.icon",{},()=>[n.icon?(e.openBlock(),e.createElementBlock("span",Co,[e.createVNode(e.unref(F),e.normalizeProps(e.guardReactiveProps(n.icon)),null,16)])):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",vo,[n.html?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:n.text},null,8,xo)):(e.openBlock(),e.createElementBlock("div",_o,e.toDisplayString(n.text),1))]),n.input?(e.openBlock(),e.createElementBlock("div",Eo,[e.createVNode(e.unref(Pe),{modelValue:r.value,"onUpdate:modelValue":y[0]||(y[0]=$=>r.value=$),invalid:!!i.value,placeholder:(B=n.input)==null?void 0:B.placeholder,size:"block"},{extras:e.withCtx(()=>[i.value?(e.openBlock(),e.createBlock(e.unref(F),{key:0,icon:"exclamation-sign"})):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(i.value),1)]),_:1},8,["modelValue","invalid","placeholder"])])):e.createCommentVNode("v-if",!0),e.renderSlot(b.$slots,"body.append")]})])):e.createCommentVNode("v-if",!0),n.buttons||b.$slots["footer.append"]?(e.openBlock(),e.createElementBlock("div",So,[n.buttons?(e.openBlock(),e.createElementBlock("span",$o,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.buttons,B=>(e.openBlock(),e.createBlock(e.unref(j),e.mergeProps({ref_for:!0},B.props,{key:B.id,onClick:()=>p(B)}),{default:e.withCtx(()=>[B.icon?(e.openBlock(),e.createBlock(e.unref(F),e.mergeProps({key:0,ref_for:!0},B.icon),null,16)):e.createCommentVNode("v-if",!0)]),_:2},1040,["onClick"]))),128))])):e.createCommentVNode("v-if",!0),e.renderSlot(b.$slots,"footer.append")])):e.createCommentVNode("v-if",!0),n.dismissible?(e.openBlock(),e.createBlock(e.unref(j),{key:3,class:"q-dialog__close",variant:"text",onClick:c},{default:e.withCtx(()=>[e.createVNode(e.unref(F),e.normalizeProps(e.guardReactiveProps(n.icons.close)),null,16)]),_:1})):e.createCommentVNode("v-if",!0)],2)]),_:3},8,["id","modelValue","inline","attach","backdrop-blur","center-vertically","class"]))}}),me=e.reactive({dialogs:[]});function Ao(){function t(n,a,l){const r=ke(a);return me.dialogs.push({id:r,props:n,options:l}),r}function o(n){const a=me.dialogs.findIndex(l=>l.id===n);a!==-1&&me.dialogs.splice(a,1)}return{...me,addDialog:t,removeDialog:o}}const Io=e.defineComponent({inheritAttrs:!1,__name:"QDialogProvider",props:{inline:{type:Boolean}},emits:["leave"],setup(t,{emit:o}){const n=t,a=o,{dialogs:l,removeDialog:r}=Ao();function i(s){r(s),a("leave",s)}return(s,u)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),c=>(e.openBlock(),e.createBlock(e.unref(tt),e.mergeProps({key:c.id,ref_for:!0},c.props,{"model-value":"",inline:n.inline,onLeave:()=>i(c.id)}),null,16,["inline","onLeave"]))),128))}}),tt=L(No);L(Io);const Do=["id","required","placeholder","readonly","disabled","maxlength","rows","cols","resize","wrap"],Ro=L(e.defineComponent({inheritAttrs:!1,__name:"QTextArea",props:e.mergeModels({id:{},class:{},label:{},for:{},required:{type:Boolean},size:{},readonly:{type:Boolean},disabled:{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(t){const o=t,n=e.useModel(t,"modelValue"),a=e.computed({get:()=>n.value,set:c=>{const p=o.maxLength;n.value=p?c==null?void 0:c.slice(0,p):c}});e.watch(n,c=>a.value=c,{immediate:!0});const l=ke(o.id),r=e.computed(()=>o.readonly||o.disabled?void 0:o.placeholder),i=e.computed(()=>({input:o.autosize?u:null})),s=e.ref(),{triggerResize:u}=un({element:e.computed(()=>o.autosize?s.value:void 0),styleProp:"minHeight"});return(c,p)=>(e.openBlock(),e.createBlock(e.unref(Fe),{class:e.normalizeClass(["q-text-area",o.class]),for:e.unref(l),label:o.label,size:o.size,readonly:o.readonly,disabled:o.disabled,required:o.required},e.createSlots({"label.prepend":e.withCtx(()=>[e.renderSlot(c.$slots,"label.prepend")]),"label.append":e.withCtx(()=>[e.renderSlot(c.$slots,"label.append")]),default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(l),ref_key:"textareaRef",ref:s,"onUpdate:modelValue":p[0]||(p[0]=d=>a.value=d),class:"q-text-area__input",required:o.required,placeholder:r.value,readonly:o.readonly,disabled:o.disabled,maxlength:o.maxLength,rows:o.rows,cols:o.cols,resize:o.resize,wrap:o.wrap},c.$attrs,e.toHandlers(i.value,!0)),null,16,Do),[[e.vModelText,a.value]])]),_:2},[c.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(c.$slots,"prepend")]),key:"0"}:void 0,c.$slots.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(c.$slots,"append")]),key:"1"}:void 0,c.$slots.extras?{name:"extras",fn:e.withCtx(()=>[e.renderSlot(c.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","size","readonly","disabled","required"]))}}));function W(){return{copy:"Copy",apply:"Apply",applyAll:"Apply all",chatbotTitle:"ChatBot",sendMessage:"Send message",clearChat:"Clear chat",inputLabel:"What can I help with?",imageUpload:"Upload Image",imageUploadQButton:"Upload Image",goodResponse:"Good response",badResponse:"Bad response",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!",commentDialogTitle:"Would you like to add a comment?",commentPlaceholder:"Type your comment here (optional)...",copyResponse:"Copy response",submitButton:"Submit",cancelButton:"Cancel",senderImage:"Sender Image",imagePreview:"Image preview",regenerateResponsePrompt:"Regenerate a new response for field {0}",regenerateResponse:"Regenerate response",generatingResponse:"Generating",suggestionsForField:"Suggestions for field"}}async function nt(t,o){var u,c,p,d,m,b;const n=new AbortController,a=n.signal,r=(await K({...t,headers:{Accept:"text/event-stream"},responseType:"stream",signal:a,adapter:"fetch"})).data;if(!r||!(r instanceof ReadableStream))throw new Error("Invalid stream response");const i=r.getReader(),s=new TextDecoder;for(;;){const{done:y,value:B}=await i.read();if(y){(u=o.onDone)==null||u.call(o);break}const z=s.decode(B,{stream:!0}).split(/\n\n+/);for(const M of z){const q=M.trim().split(`
|
|
46
|
-
`);let S="",N="";for(const I of q)I.startsWith("event:")?S=I.replace("event:","").trim():I.startsWith("data:")&&(N=I.replace("data:","").trim());if(S||(S="message"),!!N)try{const I=JSON.parse(N);switch(S){case"message":(c=o.onMessage)==null||c.call(o,I.value);break;case"error":(p=o.onError)==null||p.call(o,new Error(I.value));break;case"field_metadata":(d=o.onFieldMetadata)==null||d.call(o,I);break;case"done":(m=o.onDone)==null||m.call(o);break;default:console.warn(`Unknown event type: ${S}`)}}catch(I){(b=o.onError)==null||b.call(o,I),console.error("Error processing event:",I);continue}finally{y&&(i.releaseLock(),n.abort())}}}}function ot(t){const o=e.ref(!1),n=e.ref(null);async function a(c){o.value=!0,n.value=null;try{return{data:(await K({...c,baseURL:t})).data,error:null}}catch(p){if(p instanceof Error)return n.value=p,console.error("Error in API request:",p),{data:null,error:p}}finally{o.value=!1}return{data:null,error:new Error("Unknown error occurred in baseRequest")}}async function l(c,p,d,m){return await a({method:"POST",url:"/prompt/load",data:{username:c,project:p,agentID:d,formId:m}})}async function r(c,p,d){o.value=!0;try{return await nt({method:"POST",url:`${t}/prompt/submit`,data:c},{onMessage:m=>{p(m)},onDone:()=>o.value=!1})}catch(m){throw o.value=!1,d==null||d(m),console.error("Error in sendPrompt:",m),m}}async function i(c,p,d,m){o.value=!0;try{return await nt({method:"POST",url:`${t}/get-job-result`,data:{jobId:c}},{onMessage:b=>p(b),onFieldMetadata:b=>d(b),onDone:()=>o.value=!1})}catch(b){n.value=b,m==null||m(b),o.value=!1}}async function s(c,p,d,m){return await a({method:"POST",url:"/prompt/clear",data:{username:c,project:p,agentID:d,formId:m}})}async function u(c,p,d){return await a({method:"POST",url:"/prompt/feedback",data:{messageSessionID:d,feedbackValue:c,feedbackComment:p}})}return{isLoading:o,lastError:n,getChatData:l,clearChatData:s,getJobResultData:i,sendPrompt:r,handleFeedback:u}}const Vo=["innerHTML"],ge=e.defineComponent({__name:"MarkdownRender",props:{source:{},options:{},plugins:{}},setup(t){const o=t,n=e.ref(new st({html:!0,breaks:!0,...o.options??{}}));o.plugins&&o.plugins.forEach(l=>n.value.use(l));const a=e.computed(()=>n.value.render(o.source));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:"markdown-renderer",innerHTML:a.value},null,8,Vo))}});function at(t,o){switch(t){case"date":return new Date(o).toLocaleDateString();case"number":return parseFloat(o);case"boolean":return o.toLowerCase()==="true";default:return o.toString()}}const Mo={class:"q-field-preview"},Lo={class:"q-field-preview__toolbar"},To={class:"q-field-preview__footer"},qo=e.defineComponent({__name:"FieldPreview",props:{name:{},text:{},type:{},disabled:{type:Boolean},applied:{type:Boolean}},emits:["apply","regenerate"],setup(t,{emit:o}){const n=t,a=o,l=W(),r=e.ref(n.applied),i=e.ref(!1),s=e.computed(()=>n.disabled||r.value),u=e.computed(()=>n.disabled||i.value),c=e.computed(()=>n.type==="text"||n.type==="multiline_text"?ge:"div"),p=e.computed(()=>{const y={};return c.value===ge?y.source=n.text:y.innerHTML=n.text,y}),d=e.computed(()=>{const y=["q-field-preview__content"];return c.value!==ge&&y.push("preserve-whitespace"),y});function m(){if(r.value)return;r.value=!0;const y=at(n.type,n.text);a("apply",y)}function b(){i.value||(i.value=!0,a("regenerate",n.name))}return(y,B)=>(e.openBlock(),e.createElementBlock("div",Mo,[e.createElementVNode("div",Lo,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(l).suggestionsForField)+" ",1),e.createElementVNode("b",null,e.toDisplayString(n.name),1)])]),e.createElementVNode("div",{class:e.normalizeClass(d.value)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),e.normalizeProps(e.guardReactiveProps(p.value)),null,16))],2),e.createElementVNode("div",To,[e.createVNode(e.unref(Te),{borderless:""},{default:e.withCtx(()=>[e.createVNode(e.unref(j),{title:e.unref(l).regenerateResponse,disabled:u.value,readonly:u.value,borderless:"",onClick:b},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"reset"})]),_:1},8,["title","disabled","readonly"]),e.createVNode(e.unref(j),{label:e.unref(l).apply,"data-testid":"apply-button",disabled:s.value,readonly:s.value,onClick:m},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"apply"})]),_:1},8,["label","disabled","readonly"])]),_:1})])]))}}),Fo={class:"pulsing-dots"},Po={class:"generating-text"},Uo={class:"dots-container"},Oo=e.defineComponent({__name:"PulseDots",setup(t){const o=[1,2,3],n=W();return(a,l)=>(e.openBlock(),e.createElementBlock("div",Fo,[e.createElementVNode("span",Po,e.toDisplayString(e.unref(n).generatingResponse),1),e.createElementVNode("div",Uo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,(r,i)=>e.createElementVNode("span",{key:i,class:"dot",style:e.normalizeStyle({animationDelay:i*.2+"s"})}," • ",4)),64))])]))}}),zo={class:"q-chatbot__message-container"},jo={class:"q-chatbot__message-wrapper"},Go={key:0,class:"q-chatbot__image-preview"},Ho=["src","alt"],Qo={class:"q-chatbot__message"},Zo={key:1,class:"q-chatbot__text"},Jo=e.defineComponent({__name:"ChatBotMessage",props:{sender:{default:"user"},message:{},date:{default:()=>new Date},loading:{type:Boolean},dateFormat:{},imagePreviewUrl:{},apiEndpoint:{},sessionID:{},userImage:{default:void 0},chatbotImage:{},isWelcomeMessage:{type:Boolean},fields:{default:()=>[]}},emits:["apply-fields","regenerate"],setup(t,{emit:o}){const n=t,a=o,l=W(),{handleFeedback:r}=ot(n.apiEndpoint),i=e.computed(()=>n.sender==="bot"&&!Object.values(l||{}).includes(n.message||"")&&!n.isWelcomeMessage),s=e.computed(()=>n.sender==="bot"?n.chatbotImage:n.userImage);function u(){n.message&&navigator.clipboard.writeText(n.message).then(()=>{console.log("Response copied to clipboard")}).catch(m=>{console.error("Failed to copy response: ",m)})}function c(m,b){a("apply-fields",[{id:b.id,text:m}])}function p(){if(!n.fields||n.fields.length===0)return;const m=n.fields.map(b=>({id:b.id,text:at(b.type,b.text)}));a("apply-fields",m)}function d(m,b){m===null||b===null||!n.sessionID||r(m,b,n.sessionID)}return(m,b)=>(e.openBlock(),e.createElementBlock("div",zo,[e.createVNode(e.unref(F),{type:"img",icon:s.value,alt:e.unref(l).senderImage,class:"q-chatbot__profile"},null,8,["icon","alt"]),e.createElementVNode("div",jo,[n.imagePreviewUrl&&n.imagePreviewUrl.length>0?(e.openBlock(),e.createElementBlock("div",Go,[e.createElementVNode("img",{src:n.imagePreviewUrl,alt:e.unref(l).imagePreview},null,8,Ho)])):e.createCommentVNode("",!0),e.createElementVNode("div",Qo,[m.loading?(e.openBlock(),e.createBlock(Oo,{key:0})):n.sender==="bot"&&n.fields.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(n.fields,(y,B)=>(e.openBlock(),e.createBlock(e.unref(qo),{key:B,class:"q-chatbot__text",text:y.text||"",name:y.name,type:y.type,disabled:m.loading,onRegenerate:()=>a("regenerate",y.name),onApply:$=>c($,y)},null,8,["text","name","type","disabled","onRegenerate","onApply"]))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.sender==="bot"?(e.openBlock(),e.createBlock(e.unref(ge),{key:0,class:"q-chatbot__text",source:n.message||""},null,8,["source"])):(e.openBlock(),e.createElementBlock("div",Zo,e.toDisplayString(n.message),1))],64))])]),e.createVNode(e.unref(na),{"show-buttons":i.value,loading:n.loading,"date-format":n.dateFormat,onCopyResponse:u,onSubmitFeedback:d,onApplyAll:p},null,8,["show-buttons","loading","date-format"])]))}}),T=[];for(let t=0;t<256;++t)T.push((t+256).toString(16).slice(1));function Wo(t,o=0){return(T[t[o+0]]+T[t[o+1]]+T[t[o+2]]+T[t[o+3]]+"-"+T[t[o+4]]+T[t[o+5]]+"-"+T[t[o+6]]+T[t[o+7]]+"-"+T[t[o+8]]+T[t[o+9]]+"-"+T[t[o+10]]+T[t[o+11]]+T[t[o+12]]+T[t[o+13]]+T[t[o+14]]+T[t[o+15]]).toLowerCase()}let Ne;const Yo=new Uint8Array(16);function Xo(){if(!Ne){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ne=crypto.getRandomValues.bind(crypto)}return Ne(Yo)}const rt={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function lt(t,o,n){var l;if(rt.randomUUID&&!o&&!t)return rt.randomUUID();t=t||{};const a=t.random??((l=t.rng)==null?void 0:l.call(t))??Xo();if(a.length<16)throw new Error("Random bytes length must be >= 16");return a[6]=a[6]&15|64,a[8]=a[8]&63|128,Wo(a)}const Y=e.ref([]),be=e.ref(1);function it(){function t(r,i,s,u,c){const p={id:be.value++,message:r,date:new Date,sender:i||"bot",sessionID:u||lt(),imagePreviewUrl:s||void 0,isWelcomeMessage:c,fields:[]};return Y.value.push(p),p}function o(){return Y.value.find(r=>r.id===be.value-1)}function n(){Y.value=[],be.value=1}function a(r){Y.value=Y.value.filter(i=>i.id!==r)}function l(){return Y.value}return{messages:Y,nextMessageId:be,addChatMessage:t,getLastMessage:o,clearMessages:n,getMessages:l,deleteMessageById:a}}const Ko={class:"q-chatbot__dialog-title"},ea={key:0,class:"q-chatbot__feedback-buttons"},ta={class:"q-chatbot__sender"},na=e.defineComponent({__name:"ChatBotMessageButtons",props:{loading:{type:Boolean},showButtons:{type:Boolean},dateFormat:{},date:{}},emits:["submit-feedback","copy-response","apply-all"],setup(t,{emit:o}){const n=t,a=o,l=W(),{getLastMessage:r}=it(),i=e.ref(!1),s=e.ref(""),u=e.ref(null),c=e.ref(!1),p=e.computed(()=>n.loading||c.value),d=n.date||new Date,m=r(),b=e.computed(()=>m?m.fields&&m.fields.length>1:!1),y=[{id:"confirm-btn",action:I,props:{label:l.submitButton,class:"q-chatbot__dialog-confirm-button"},icon:{icon:"submit"}},{id:"cancel-btn",props:{label:l.cancelButton,class:"q-chatbot__dialog-cancel-button"},icon:{icon:"cancel"}}],B=e.computed(()=>n.dateFormat?z(d,"HH:mm"):d.toLocaleString()),$=e.computed(()=>`${B.value}`);function z(V,U){const O=V.getDate().toString().padStart(2,"0"),f=(V.getMonth()+1).toString().padStart(2,"0"),g=V.getFullYear().toString().padStart(2,"0"),w=V.getHours().toString().padStart(2,"0"),E=V.getMinutes().toString().padStart(2,"0"),v=V.getSeconds().toString().padStart(2,"0");return U.replace("dd",O).replace("MM",f).replace("yyyy",g).replace("HH",w).replace("mm",E).replace("ss",v)}function M(V){i.value=!0,s.value="",u.value=V}function q(){M(0)}function S(){M(1)}function N(){c.value||(c.value=!0,a("apply-all"))}function I(){u.value&&(a("submit-feedback",u.value,s.value),i.value=!1,s.value="",u.value=null)}function P(){a("copy-response")}return(V,U)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(tt),{modelValue:i.value,"onUpdate:modelValue":U[1]||(U[1]=O=>i.value=O),inline:"",buttons:y},{body:e.withCtx(()=>[e.createElementVNode("div",Ko,e.toDisplayString(e.unref(l).commentDialogTitle),1),e.createVNode(e.unref(Pe),{modelValue:s.value,"onUpdate:modelValue":U[0]||(U[0]=O=>s.value=O),class:"q-chatbot__dialog-comment-input","max-length":150,size:"large",placeholder:e.unref(l).commentPlaceholder},null,8,["modelValue","placeholder"])]),_:1},8,["modelValue"]),V.showButtons?(e.openBlock(),e.createElementBlock("div",ea,[e.createVNode(e.unref(Te),null,{default:e.withCtx(()=>[e.createVNode(e.unref(j),{title:e.unref(l).goodResponse,class:"q-chatbot__good-response-button",borderless:"",disabled:n.loading,onClick:S},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"thumb-up"})]),_:1},8,["title","disabled"]),e.createVNode(e.unref(j),{title:e.unref(l).badResponse,class:"q-chatbot__bad-response-button",borderless:"",disabled:n.loading,onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"thumb-down"})]),_:1},8,["title","disabled"]),e.createVNode(e.unref(j),{title:e.unref(l).copyResponse,class:"q-chatbot__copy-button",borderless:"",disabled:n.loading,onClick:P},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"copy-content"})]),_:1},8,["title","disabled"]),b.value?(e.openBlock(),e.createBlock(e.unref(j),{key:0,title:e.unref(l).applyAll,class:"q-chatbot__apply-all-button",borderless:"",disabled:p.value,readonly:p.value,onClick:N},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"apply-all"})]),_:1},8,["title","disabled","readonly"])):e.createCommentVNode("",!0)]),_:1})])):e.createCommentVNode("",!0),e.createElementVNode("div",ta,e.toDisplayString($.value),1)],64))}}),oa={class:"q-chatbot__tools"},aa={class:"q-chatbot__tools__select"},ra=e.defineComponent({__name:"ChatToolBar",props:{disabled:{type:Boolean},availableAgents:{default:()=>[]},selectedAgentKey:{}},emits:["clear","change-chat"],setup(t,{emit:o}){const n=t,a=o,{clearChat:l}=W(),r={key:"",value:"Default Chat",formId:""},i=e.computed(()=>n.availableAgents&&n.availableAgents.length>0),s=e.ref(n.selectedAgentKey||r.key);e.watch(()=>n.selectedAgentKey,d=>{s.value=d||r.key});const u=e.computed(()=>{var m;const d=(m=n.availableAgents)==null?void 0:m.map(b=>({key:b.key,value:b.value,formId:b.formId}));return d==null||d.push(r),d||[r]});function c(){a("clear")}function p(d){const m=u.value.find(b=>b.key===d);if(m){if(m.key===r.key){a("change-chat",{key:"",formId:""});return}a("change-chat",m)}}return(d,m)=>{const b=e.resolveComponent("q-select");return e.openBlock(),e.createElementBlock("div",oa,[e.createElementVNode("div",aa,[i.value?(e.openBlock(),e.createBlock(b,{key:0,modelValue:s.value,"onUpdate:modelValue":[m[0]||(m[0]=y=>s.value=y),p],inline:"",class:"q-chatbot__tools-select-input",size:"medium",items:u.value},null,8,["modelValue","items"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(j),{title:e.unref(l),disabled:n.disabled,class:"q-chatbot__tools-clear",borderless:"",onClick:c},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"bin"})]),_:1},8,["title","disabled"])])}}}),la={class:"q-chatbot__input-wrapper"},ia={key:0,class:"q-chatbot__image-preview"},sa=["src","alt"],ca={class:"q-chatbot__input"},da={class:"q-chatbot__send-container"},ua=["accept"],pa=e.defineComponent({__name:"ChatBotInput",props:{disabled:{type:Boolean},loading:{type:Boolean},userPrompt:{},agentId:{}},emits:["send-message"],setup(t,{emit:o}){const n=t,a=o,l=W(),r=e.ref(null),i=e.ref(""),s=e.computed(()=>".png, .jpeg, .jpg, .svg, .webp"),u=e.ref(!1),c=e.ref(!1),p=e.ref(n.userPrompt??""),d=e.computed(()=>n.disabled||n.loading||p.value.trim().length===0);function m(S){S.preventDefault(),n.disabled||(c.value=!0)}const b=e.computed(()=>({"q-chatbot__footer-disabled":n.disabled,"drag-over":c.value&&!u.value}));function y(S){S.preventDefault(),c.value=!1}function B(S){var P;if(S.preventDefault(),c.value=!1,n.disabled||u.value)return;const N=(P=S.dataTransfer)==null?void 0:P.files;if(!N)return;const I=N[0];if(I.type.startsWith("image/")){if(!r.value)return;const V=new DataTransfer;V.items.add(I),r.value.files=V.files,i.value=URL.createObjectURL(I),u.value=!0}}function $(){if(!(p.value.trim()===""||n.loading||n.disabled)){if(r.value&&r.value.files&&r.value.files.length>0){const N={file:r.value.files[0],previewUrl:i.value};a("send-message",p.value,N),z()}else a("send-message",p.value);p.value=""}}function z(){i.value="",r.value&&(r.value.value="",r.value.files=null),u.value=!1}function M(){var S;(S=r.value)==null||S.click()}function q(S){const N=S.target;r.value=N,N.files&&N.files[0]&&(i.value=URL.createObjectURL(N.files[0]),u.value=!0)}return(S,N)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(qe),{label:e.unref(l).inputLabel},null,8,["label"]),e.createElementVNode("div",{class:e.normalizeClass(["q-chatbot__footer",b.value]),onDragover:e.withModifiers(m,["prevent"]),onDragleave:e.withModifiers(y,["prevent"]),onDrop:e.withModifiers(B,["prevent"])},[e.createElementVNode("div",la,[i.value?(e.openBlock(),e.createElementBlock("div",ia,[e.createElementVNode("img",{src:i.value,tabindex:"0",alt:e.unref(l).imagePreview},null,8,sa),e.createVNode(e.unref(j),{class:"q-chatbot__remove-image",tabindex:"0",flat:"",round:"",onClick:z},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"bin"})]),_:1})])):e.createCommentVNode("",!0),e.createElementVNode("div",ca,[e.createVNode(e.unref(Ro),{modelValue:p.value,"onUpdate:modelValue":N[0]||(N[0]=I=>p.value=I),size:"block",autosize:"",resize:"none",rows:2,disabled:n.disabled,onKeyup:e.withKeys($,["enter"])},null,8,["modelValue","disabled"])])]),e.createElementVNode("div",da,[e.createVNode(e.unref(j),{title:e.unref(l).imageUpload,class:"q-chatbot__upload",disabled:n.disabled||n.loading||u.value,onClick:M},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"upload"})]),_:1},8,["title","disabled"]),e.createElementVNode("input",{id:"image-upload",ref_key:"imageInput",ref:r,type:"file",accept:s.value,class:"hidden-input",onChange:q},null,40,ua),e.createVNode(e.unref(j),{title:e.unref(l).sendMessage,variant:"bold",class:"q-chatbot__send",disabled:d.value,readonly:d.value,onClick:$},{default:e.withCtx(()=>[e.createVNode(e.unref(F),{icon:"send"})]),_:1},8,["title","disabled","readonly"])])],34)],64))}}),fa="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20126.25%20110.36'%3e%3cdefs%3e%3cradialGradient%20id='radial-gradient'%20cx='45.24'%20cy='38.05'%20fx='45.24'%20fy='38.05'%20r='59.09'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%2331319e'/%3e%3cstop%20offset='.19'%20stop-color='%232e2e97'/%3e%3cstop%20offset='.45'%20stop-color='%23292985'/%3e%3cstop%20offset='.75'%20stop-color='%23202067'/%3e%3cstop%20offset='1'%20stop-color='%2317174a'/%3e%3c/radialGradient%3e%3clinearGradient%20id='linear-gradient'%20x1='82.65'%20y1='50.41'%20x2='82.65'%20y2='77.5'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.02'%20stop-color='%2366ebfe'/%3e%3cstop%20offset='.96'%20stop-color='%2300bfdb'/%3e%3c/linearGradient%3e%3clinearGradient%20id='linear-gradient-2'%20x1='44.6'%20y1='50.01'%20x2='44.6'%20y2='77.1'%20xlink:href='%23linear-gradient'/%3e%3c/defs%3e%3cg%20isolation='isolate'%3e%3cg%20id='Layer_1'%3e%3cpath%20d='M126.2,61.4c-.2-3.69-2.61-17.39-5.92-22.09-2.42-3.44-5.89-4.03-7.96-4.38-.13-.02-.27-.05-.41-.07-.16-.28-.32-.58-.45-.81-.63-1.14-1.03-1.87-1.44-2.44-6.96-9.88-14.91-16.51-24.85-20.69-.25-2.29-.84-5.24-3.37-7.44-2.93-2.55-7.58-2.9-11.68-3.21-.93-.07-1.82-.14-2.4-.22l-.33-.05h-8.61l-.36.05c-.65.1-1.61.17-2.63.24-3.75.27-8.01.57-10.98,2.85-2.94,2.26-3.58,5.55-3.79,7.84-9.71,3.94-17.86,10.71-24.85,20.62-.4.57-.81,1.3-1.43,2.44-.13.23-.29.53-.45.81-.14.02-.28.05-.4.07-2.07.35-5.54.94-7.96,4.39-2.25,3.19-3.84,9.89-4.58,13.59-.6,2.97-1.9,10.3-1.08,14.26.79,3.78,3.66,5.6,5.37,6.68.12.08.26.16.39.25,1.65,10.03,6.98,18.56,15.52,24.77,9.23,6.72,20.2,9.43,27.78,10.52,4.49.65,9.15.97,13.85.97,9.67,0,23.77-1.39,36-8.02,11.58-6.27,18.81-16,21.04-28.24,4.52-2.76,6.36-5.67,5.98-12.71Z'%20fill='%2317174a'/%3e%3cpath%20d='M67.15,4.69c2.98.42,9.31.31,11.62,2.31,1.99,1.73,1.65,4.82,2.06,7.22,10.77,3.89,18.73,10.59,25.39,20.04.64.91,2.13,3.95,2.58,4.33,1.71,1.46,5.54.35,7.67,3.37,2.29,3.25,4.83,15.41,5.06,19.59.31,5.82-.76,6.9-5.58,9.44-3.28,26.16-29.7,34.5-52.68,34.5-4.6,0-9.06-.33-13.17-.93-18.13-2.61-37.11-12.11-39.51-33.08-1.7-1.92-4.96-2.54-5.55-5.39-.95-4.56,2.21-20.32,4.89-24.14,2.13-3.02,5.96-1.91,7.67-3.37.46-.39,1.94-3.42,2.58-4.33,6.54-9.28,14.55-16.22,25.21-19.87.85-.87-.3-5.45,2.43-7.55,2.52-1.94,8.35-1.69,11.42-2.16h7.91'%20fill='%23fff'/%3e%3cpath%20d='M121.86,61.51c-.22-4.2-2.78-16.43-5.07-19.7-1.77-2.51-4.71-2.18-6.64-2.83.1,1.18.16,2.37.16,3.57,0,26.85-25.96,48.61-57.98,48.61-15.83,0-30.17-5.32-40.63-13.94,4.91,17.1,22.06,25.14,38.51,27.52,4.12.59,8.6.93,13.21.93,23.06,0,49.57-8.38,52.85-34.68,4.83-2.56,5.91-3.63,5.6-9.49Z'%20fill='%23d0d7e2'%20mix-blend-mode='multiply'%20opacity='.4'/%3e%3cpath%20d='M62.91,97.68c5.82,0,11.67-.53,16.72-1.56,13.1-2.67,22.09-8.06,26.72-16.03,4.43-7.63,4.75-17.33.96-28.84-4.28-13-13.22-22.77-24.7-27.89-.13,4.51-3.84,8.16-8.38,8.16h-20.89c-4.61,0-8.39-3.78-8.39-8.39v-.14c-5.36,2.25-10.29,5.49-14.5,9.61-8.23,8.06-13.16,19.02-13.9,30.84-.59,9.44,2.67,17.53,9.43,23.42,6.27,5.46,15.68,9.02,27.2,10.3,3.13.35,6.43.52,9.73.52'%20fill='url(%23radial-gradient)'/%3e%3crect%20x='74.34'%20y='50.41'%20width='16.62'%20height='27.09'%20rx='4.06'%20ry='4.06'%20fill='url(%23linear-gradient)'/%3e%3crect%20x='36.29'%20y='50.01'%20width='16.62'%20height='27.09'%20rx='4.06'%20ry='4.06'%20fill='url(%23linear-gradient-2)'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",ma="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF2GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTExLTI5VDEwOjI0OjU3WiIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMS0yOVQxMDoyNDo1N1oiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTExLTI5VDEwOjI0OjU3WiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpiN2ViMDM0NC1hN2UzLTI3NGItODgwNi00ZjMxMzRiNDUwNDEiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2ODJkMGU1OC1kZmQyLTZkNDEtOGIwNy01ZWUxNjU4MWY2ZWEiIHht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",ga={class:"q-chatbot"},ba={class:"q-chatbot__content"},ha={class:"q-chatbot__footer-container"};return e.defineComponent({name:"ChatBot",__name:"ChatBot",props:{apiEndpoint:{default:"http://localhost:3000"},controllerEndpoint:{},username:{},projectPath:{},userImage:{default:ma},chatbotImage:{default:fa},dateFormat:{},agentData:{default:()=>({id:"",formId:"",jobId:""})},availableAgents:{default:()=>[]}},emits:["apply-fields","direct-agent-chat"],setup(t,{emit:o}){const n=t,a=o,l=e.ref(!0),r=e.ref(null),i=e.ref(!0),s=e.ref(n.agentData.id),u=e.ref(n.agentData.formId),c=W(),{isLoading:p,clearChatData:d,getChatData:m,getJobResultData:b,sendPrompt:y}=ot(n.apiEndpoint),{messages:B,addChatMessage:$,clearMessages:z,getLastMessage:M,deleteMessageById:q}=it(),S=e.computed(()=>l.value||p.value);e.onBeforeMount(()=>{var h;(h=r.value)==null||h.removeEventListener("scroll",O)}),e.onMounted(()=>{I()});function N(h){l.value=h}async function I(){try{await P()}catch(h){$(c.loginError),console.error("Error logging in: "+h)}}async function P(){N(!0);const{data:h,error:k}=await m(n.username,n.projectPath,s.value,u.value);if(k||!h||!h.success){N(!0),$(c.botIsSick),console.log("Error loading chat data: "+k);return}N(!1),V(),h.history.forEach(async _=>{const A=_.imageUrl?n.controllerEndpoint+_.imageUrl:void 0;$(_.content,_.type==="ai"?"bot":"user",A,_.sessionID)})}function V(){const h=c.initialMessage;$(h,"bot",null,void 0,!0)}function U(){z(),N(!1),i.value=!0}function O(){if(r.value){const{scrollTop:k,clientHeight:_,scrollHeight:A}=r.value;i.value=k+_>=A-20}}async function f(h,k){r.value&&r.value.scrollTo({top:r.value.scrollHeight,behavior:"smooth"}),$(h,"user",k==null?void 0:k.previewUrl),w(h,k==null?void 0:k.file)}async function g(h){r.value&&r.value.scrollTo({top:r.value.scrollHeight,behavior:"smooth"}),$("","bot");const k=M();k&&await b(h,_=>{if(k.message+=_,k.fields||(k.fields=[]),k.fields.length>0){const A=k.fields[k.fields.length-1];A.text=k.message}},_=>{var G;k.message="";const A=_;(G=k.fields)==null||G.push({id:A.id,type:A.type,name:A.name,text:A.text})},_=>{N(!0),$(c.botIsSick),console.error("Error getting job result: "+_),q(k.id)})}async function w(h,k){const _=lt(),A=new FormData;if(k&&A.append("image",k),A.append("message",h),A.append("project",n.projectPath),A.append("user",n.username),A.append("sessionID",_),s.value!=="")a("direct-agent-chat",s.value,h);else{$("","bot");const G=M();if(!G)return;await y(A,Q=>{G&&(G.message+=Q)},Q=>{N(!0),$(c.botIsSick),console.error("Error sending message: "+Q),q(G.id)})}}async function E(){const{data:h,error:k}=await d(n.username,n.projectPath,s.value,u.value);if(k||!h||!h.success){N(!0),$(c.loginError),console.log("Error clearing chat: "+k);return}U(),V()}function v(h){const k=["q-chatbot__messages-wrapper"];return h==="user"&&k.push("q-chatbot__messages-wrapper_right"),k}async function D(h){s.value=h.key,u.value=h.formId,U(),await I()}function x(h){!h||h.length===0||a("apply-fields",h)}function R(h){const k=c.regenerateResponsePrompt.replace("{0}",h);a("direct-agent-chat",s.value,k)}return e.watch(()=>n.availableAgents,(h,k)=>{h.length===0&&k.length>0&&(s.value="",u.value="",U(),I())}),e.watch(()=>n.agentData,async(h,k)=>{if(S.value)return;const _=h.jobId,A=k.jobId,G=_!==A;h.id!==s.value&&await D({formId:h.formId,key:h.id}),_&&G&&await g(_)},{deep:!0}),(h,k)=>(e.openBlock(),e.createElementBlock("div",ga,[e.createElementVNode("div",ba,[e.createVNode(e.unref(ra),{disabled:S.value,"available-agents":n.availableAgents,"selected-agent-key":s.value,onClear:E,onChangeChat:D},null,8,["disabled","available-agents","selected-agent-key"]),e.createElementVNode("div",{ref_key:"messagesContainer",ref:r,class:"q-chatbot__messages-container",onScroll:O},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),_=>(e.openBlock(),e.createElementBlock("div",{key:_.id,class:e.normalizeClass(v(_.sender))},[e.createVNode(e.unref(Jo),e.mergeProps({ref_for:!0},_,{"date-format":n.dateFormat,"user-image":n.userImage,"chatbot-image":n.chatbotImage,loading:e.unref(p)&&!_.message,"image-preview-url":_.imagePreviewUrl,"api-endpoint":n.apiEndpoint,"session-i-d":_.sessionID,fields:_.fields,onRegenerate:R,onApplyFields:x}),null,16,["date-format","user-image","chatbot-image","loading","image-preview-url","api-endpoint","session-i-d","fields"])],2))),128))],544)]),e.createElementVNode("div",ha,[e.createVNode(e.unref(pa),{disabled:S.value,loading:e.unref(p),onSendMessage:f},null,8,["disabled","loading"])])]))}})});
|
|
45
|
+
`;return e.onMounted(()=>{document.body.setAttribute(K,(a()+1).toString());const l=bo(o.gapMode);n.add(r(l,!o.noRelative,o.gapMode,o.noImportant?"":"!important"))}),e.onUnmounted(()=>{const l=a()-1;l<=0?document.body.removeAttribute(K):document.body.setAttribute(K,l.toString()),n.remove()}),(l,i)=>e.renderSlot(l.$slots,"default")}}));function _o(t,o,n,a){const r=(a==null?void 0:a.offset)??0,l=(a==null?void 0:a.crossOffset)??0,i=(a==null?void 0:a.placement)??"bottom",s=t.getBoundingClientRect(),u=o.getBoundingClientRect(),d=n==null?void 0:n.getBoundingClientRect(),p=xo(s,u,i,r),c=So(s,u,p),m=Eo(c,p,r),_=vo(m,p,l),B=Co(_,u,p);let v;if(a!=null&&a.arrow){if(!d)throw new Error("[Quidgest UI] The arrow element must exist to compute its position");v=$o(B,s,u,d,p)}return{overlayCoords:B,arrowCoords:v,placement:p}}function xo(t,o,n,a){const r=at(t,o,n,a);if(lt(r)){const l=ee(n),i={top:"bottom",bottom:"top",left:"right",right:"left"}[l],s=at(t,o,i,a);if(lt(s))return n;const u=Do(n);return u?`${i}-${u}`:i}return n}function Co(t,o,n){const a=me(n),r=(i,s,u)=>Math.min(Math.max(i,s),u),l={...t};return a==="x"?l.x=r(t.x,8,window.innerWidth-o.width-8):l.y=r(t.y,8,window.innerHeight-o.height-8),l}function Eo(t,o,n){const a=ee(o);return{x:t.x+(a==="left"?-n:a==="right"?n:0),y:t.y+(a==="top"?-n:a==="bottom"?n:0)}}function vo(t,o,n){const a=ee(o);return{x:t.x+(a==="top"||a==="bottom"?n:0),y:t.y+(a==="right"||a==="left"?n:0)}}function $o(t,o,n,a,r){if(me(r)==="y"){const l=o.top+o.height/2,i=t.y+n.height/2,s=i-l,u=n.height/2-s-a.height/2+2;if(u>0&&u<n.height-a.height)return{y:u}}else{const l=o.left+o.width/2,i=t.x+n.width/2,s=i-l,u=n.width/2-s-a.width/2+2;if(u>0&&u<n.width-a.width)return{x:u}}}function So(t,o,n){const[a,r]=n.split("-"),l=t.x+t.width/2-o.width/2,i=t.y+t.height/2-o.height/2;let s;switch(a){case"top":s={x:l,y:t.y-o.height};break;case"bottom":s={x:l,y:t.y+t.height};break;case"left":s={x:t.x-o.width,y:i};break;case"right":s={x:t.x+t.width,y:i};break;default:throw new Error(`[Quidgest UI] Invalid placement value: ${n}`)}if(!r)return s;const u=me(n)==="y"?"height":"width",d=me(n),p=t[u]/2-o[u]/2;switch(r){case"start":s[d]-=p;break;case"end":s[d]+=p;break;default:throw new Error(`[Quidgest UI] Invalid alignment value: ${r}`)}return s}function at(t,o,n,a){const r=ee(n);let l=0;switch(r){case"top":l=t.top-(o.height+a);break;case"bottom":l=window.innerHeight-t.bottom-(o.height+a);break;case"left":l=t.left-(o.width+a);break;case"right":l=window.innerWidth-t.right-(o.width+a);break;default:throw new Error(`[Quidgest UI] Invalid side value: ${r}`)}return l}function No(t){return t==="x"?"y":"x"}function Ao(t){const o=ee(t);return["left","right"].includes(o)?"x":"y"}function me(t){return No(Ao(t))}function ee(t){const[o]=t.split("-");return o}function Do(t){const[,o]=t.split("-");return o}function lt(t){return t<0}function Io(t){return typeof t=="string"?document.querySelector(t):t}const Vo=["id"],qo=["role"],rt=P(e.defineComponent({inheritAttrs:!1,__name:"QOverlay",props:e.mergeModels({id:{},class:{},anchor:{},appearance:{default:"regular"},arrow:{type:Boolean},attach:{default:"body"},inline:{type:Boolean},backdropBlur:{type:Boolean},backdropClass:{},delay:{default:500},nonModal:{type:Boolean},scrollLock:{type:Boolean},offset:{default:8},crossOffset:{default:0},persistent:{type:Boolean},placement:{default:"right"},spy:{type:Boolean},transition:{default:"fade"},trigger:{default:"click"},width:{default:"auto"},focusTrap:{type:Boolean},centerVertically:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:e.mergeModels(["enter","leave"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),{class:l}=Fe(),i=e.computed(()=>["q-overlay",`q-overlay--${ee(c.placement)}`,l.value,{"q-overlay--independent":s.value,"q-overlay--inverted":n.appearance==="inverted","q-overlay--center":n.centerVertically},n.class]),s=e.computed(()=>n.anchor===void 0),u=e.computed(()=>r.value&&!n.nonModal),d=e.computed(()=>(r.value||c.animating)&&n.scrollLock),p=e.computed(()=>!n.inline&&(r.value||c.animating)),c=e.reactive({animating:!1,top:0,left:0,width:0,placement:n.placement}),m=e.reactive({top:void 0,left:void 0,hidden:!0});e.watch(r,C);const _=e.computed(()=>{if(s.value)return;const $=b(),J=n.width==="anchor",G=J?$==null?void 0:$.getBoundingClientRect().width:void 0;return{top:`${c.top}px`,left:`${c.left}px`,width:G!==void 0?`${G}px`:void 0}}),B=e.computed(()=>{if(n.arrow)return{top:m.top!==void 0?`${m.top}px`:void 0,left:m.left!==void 0?`${m.left}px`:void 0,opacity:m.hidden?0:1}}),v=e.ref(null),S=e.ref(null),T=e.ref(null);function q(){const $=b();if(!$||!S.value)return;const J={placement:n.placement,width:n.width,offset:n.offset,crossOffset:n.crossOffset,arrow:n.arrow},G=_o($,S.value,(v==null?void 0:v.value)??void 0,J);c.left=G.overlayCoords.x,c.top=G.overlayCoords.y,c.placement=G.placement,m.hidden=G.arrowCoords===void 0,G.arrowCoords&&(m.top=G.arrowCoords.y,m.left=G.arrowCoords.x)}e.watch(()=>n.placement,()=>e.nextTick(q));let I;function D(){E(0)}function R(){E(n.delay)}function E($){I&&k(),I=window.setTimeout(()=>{r.value=!0},$)}function M(){if(I&&k(),r.value=!1,n.anchor&&n.trigger==="click"){const $=b();e.nextTick(()=>$==null?void 0:$.focus())}}function k(){clearTimeout(I),I=void 0}function V(){e.nextTick(se),a("enter")}function F(){A()}function f(){a("leave")}function g(){A(),Ya()}function C(){c.animating=!0}function A(){c.animating=!1}function b(){return n.anchor?Io(n.anchor):null}function x($){n.persistent&&$.preventDefault()}function w($){var J;if(n.persistent){$.preventDefault();return}let G=!1;$.defaultPrevented||$.detail.originalEvent.type==="pointerdown"&&(G=!0);const Xa=$.detail.originalEvent.target;if((J=b())!=null&&J.contains(Xa)){$.preventDefault();return}$.detail.originalEvent.type==="focusin"&&G&&$.preventDefault()}function h(){M()}let y;function N(){const $=b();if($)switch(y=new MutationObserver(q),y.observe($,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),n.trigger){case"click":$.addEventListener("click",D);break;case"hover":$.addEventListener("mouseenter",R),$.addEventListener("mouseleave",M),$.addEventListener("focusin",D),$.addEventListener("focusout",M);break}}function O(){const $=b();if($)switch(y==null||y.disconnect(),n.trigger){case"click":$.removeEventListener("click",D);break;case"hover":$.removeEventListener("mouseenter",R),$.removeEventListener("mouseleave",M),$.removeEventListener("focusin",D),$.removeEventListener("focusout",M);break}}function L(){window.addEventListener("resize",q),n.scrollLock||window.addEventListener("scroll",q)}function Z(){window.removeEventListener("resize",q),n.scrollLock||window.removeEventListener("scroll",q)}let te;function ne(){b()?(q(),te=window.setTimeout(ne,100)):M()}function se(){var $;s.value||(L(),n.spy?ne():q()),(s.value||n.trigger==="click")&&(($=S.value)==null||$.focus())}function Ya(){s.value||Z(),n.spy&&(clearTimeout(te),te=void 0)}return e.onMounted(()=>{e.nextTick(N)}),e.onBeforeUnmount(O),($,J)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!p.value,to:n.attach},[e.createVNode(e.Transition,{name:"fade",appear:""},{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([n.backdropClass,"q-overlay__underlay",{"q-overlay__underlay--blur":n.backdropBlur}])},null,2)):e.createCommentVNode("v-if",!0)]),_:1}),e.createVNode(e.Transition,{name:n.transition,appear:"",onEnter:V,onAfterEnter:F,onLeave:f,onAfterLeave:g},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:n.id,ref_key:"overlayContainerRef",ref:T,tabindex:"-1",class:e.normalizeClass(i.value),style:e.normalizeStyle(_.value)},[e.createVNode(e.unref(xn),{onDismiss:h,onInteractOutside:w,onPointerDownOutside:x},{default:e.withCtx(()=>[T.value?(e.openBlock(),e.createBlock(e.unref(uo),{key:0,disabled:n.nonModal||!r.value,options:{fallbackFocus:T.value}},{default:e.withCtx(()=>[e.createElementVNode("div",e.mergeProps({ref_key:"overlayRef",ref:S,class:"q-overlay__content",tabindex:"-1",role:u.value?"dialog":void 0},$.$attrs),[n.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowRef",ref:v,role:"presentation",class:"q-overlay__arrow",style:e.normalizeStyle(B.value)},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot($.$slots,"default")],16,qo)]),_:3},8,["disabled","options"])):e.createCommentVNode("v-if",!0)]),_:3})],14,Vo)):e.createCommentVNode("v-if",!0)]),_:3},8,["name"])],8,["disabled","to"])),d.value?(e.openBlock(),e.createBlock(e.unref(Bo),{key:0})):e.createCommentVNode("v-if",!0)],64))}})),Ro=[{id:"button",icon:{icon:"check"},props:{variant:"bold",label:"Ok"}}],Mo={icon:"check-circle-outline"},Lo={close:{icon:"close"}},To={key:0,class:"q-dialog__header"},Fo={class:"q-dialog__header-title"},Po={key:1,class:"q-dialog__body"},Oo={key:0,class:"q-dialog__body-icon"},zo={class:"q-dialog__body-text"},Uo=["innerHTML"],jo={key:1},Go={key:2,class:"q-dialog__footer"},Qo={class:"q-dialog__footer-buttons"},Ho=e.defineComponent({__name:"QDialog",props:e.mergeModels({id:{},class:{},title:{},text:{},icon:{default:()=>Mo},buttons:{default:()=>Ro},attach:{default:"body"},inline:{type:Boolean},backdropBlur:{type:Boolean,default:!0},dismissible:{type:Boolean},html:{type:Boolean,default:!0},icons:{default:()=>Lo},size:{default:"small"},centerVertically:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:e.mergeModels(["enter","leave"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),l=e.computed(()=>["q-dialog",n.class]),i=e.computed(()=>`q-overlay--${n.size}`);function s(){r.value=!1}function u(c){var m;(m=c.action)==null||m.call(c),s()}function d(){a("enter")}function p(){a("leave")}return(c,m)=>(e.openBlock(),e.createBlock(e.unref(rt),{id:n.id,modelValue:r.value,"onUpdate:modelValue":m[0]||(m[0]=_=>r.value=_),"backdrop-class":"q-dialog__underlay","scroll-lock":"",persistent:"",inline:n.inline,attach:n.attach,"backdrop-blur":n.backdropBlur,"center-vertically":n.centerVertically,class:e.normalizeClass(i.value),onEnter:d,onLeave:p},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(l.value)},[n.title||c.$slots.header?(e.openBlock(),e.createElementBlock("div",To,[e.renderSlot(c.$slots,"header",{},()=>[e.createElementVNode("span",Fo,e.toDisplayString(n.title),1)])])):e.createCommentVNode("v-if",!0),n.icon||n.text||c.$slots.body?(e.openBlock(),e.createElementBlock("div",Po,[e.renderSlot(c.$slots,"body",{},()=>[e.renderSlot(c.$slots,"body.icon",{},()=>[n.icon?(e.openBlock(),e.createElementBlock("span",Oo,[e.createVNode(e.unref(z),e.normalizeProps(e.guardReactiveProps(n.icon)),null,16)])):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",zo,[n.html?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:n.text},null,8,Uo)):(e.openBlock(),e.createElementBlock("div",jo,e.toDisplayString(n.text),1))]),e.renderSlot(c.$slots,"body.append")])])):e.createCommentVNode("v-if",!0),n.buttons||c.$slots.footer?(e.openBlock(),e.createElementBlock("div",Go,[e.renderSlot(c.$slots,"footer",{},()=>[e.createElementVNode("span",Qo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.buttons,_=>(e.openBlock(),e.createBlock(e.unref(j),e.mergeProps({ref_for:!0},_.props,{key:_.id,onClick:()=>u(_)}),{default:e.withCtx(()=>[_.icon?(e.openBlock(),e.createBlock(e.unref(z),e.mergeProps({key:0,ref_for:!0},_.icon),null,16)):e.createCommentVNode("v-if",!0)]),_:2},1040,["onClick"]))),128))])])])):e.createCommentVNode("v-if",!0),n.dismissible?(e.openBlock(),e.createBlock(e.unref(j),{key:3,class:"q-dialog__close",variant:"text",onClick:s},{default:e.withCtx(()=>[e.createVNode(e.unref(z),e.normalizeProps(e.guardReactiveProps(n.icons.close)),null,16)]),_:1})):e.createCommentVNode("v-if",!0)],2)]),_:3},8,["id","modelValue","inline","attach","backdrop-blur","center-vertically","class"]))}}),ge=e.reactive({dialogs:[]});function Wo(){function t(n,a){const r=ae(a);return ge.dialogs.push({id:r,props:n}),r}function o(n){const a=ge.dialogs.findIndex(r=>r.id===n);a!==-1&&ge.dialogs.splice(a,1)}return{...ge,addDialog:t,removeDialog:o}}const Zo=e.defineComponent({inheritAttrs:!1,__name:"QDialogProvider",setup(t){const{dialogs:o,removeDialog:n}=Wo();return(a,r)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),l=>(e.openBlock(),e.createBlock(e.unref(it),e.mergeProps({key:l.id,ref_for:!0},l.props,{"model-value":"",onLeave:()=>e.unref(n)(l.id)}),null,16,["onLeave"]))),128))}}),it=P(Ho);P(Zo);const Jo={...Ue,placeholder:"Choose...",showOptions:"Show options"},Yo={...Re,...je},Xo={key:0,class:"q-select__value"},Ko={key:1,class:"q-select__placeholder"},ea=["data-key"],ta={key:0,class:"q-select__loader"},na=P(e.defineComponent({inheritAttrs:!1,__name:"QSelect",props:e.mergeModels({id:{},class:{},label:{},for:{},required:{type:Boolean},size:{},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean},items:{},groups:{default:()=>[]},itemValue:{default:"key"},itemLabel:{default:"label"},clearable:{type:Boolean},loading:{type:Boolean},emptyValue:{},inline:{type:Boolean},icons:{default:()=>Yo},texts:{default:()=>Jo}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["before-show","before-hide","show","hide"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),l=e.ref(!1),i=e.ref(null),s=e.ref(null),u=e.ref(null),d=e.computed(()=>p.value===void 0),p=e.computed(()=>{var k;return(k=n.items)==null?void 0:k.find(V=>V[n.itemValue]===r.value)}),c=e.computed(()=>p.value?p.value[n.itemLabel]:""),m=e.computed(()=>n.clearable&&!n.readonly&&!n.disabled&&!n.loading);function _(k){r.value=k,T()}function B(){m.value&&(_(n.emptyValue),E())}function v(k){var V,F,f;!((V=u.value)!=null&&V.contains(k.relatedTarget))&&!((f=(F=i.value)==null?void 0:F.fieldRef)!=null&&f.contains(k.relatedTarget))&&T()}function S(){l.value||(a("before-show"),l.value=!0)}function T(){l.value&&(a("before-hide"),l.value=!1)}function q(){n.readonly||n.disabled||(l.value?T():S())}function I(k){!k.key||n.readonly||n.disabled||(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(k.key)&&(k.preventDefault(),k.stopPropagation()),["Enter"," ","ArrowDown"].includes(k.key)&&S(),["Escape","Tab"].includes(k.key)&&(l.value?T():m.value&&k.key==="Escape"&&B()),k.key==="Delete"&&n.clearable&&B())}function D(){var k;n.loading?(k=u.value)==null||k.focus():M(),a("show")}function R(){E(),a("hide")}function E(){var k,V;(V=(k=i.value)==null?void 0:k.fieldRef)==null||V.focus()}function M(){var k;(k=s.value)==null||k.$el.focus()}return e.watch(()=>n.loading,k=>{!k&&l.value&&e.nextTick(M)}),(k,V)=>{var F,f;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(we),e.mergeProps({id:n.id,ref_key:"triggerEl",ref:i,label:n.label,required:n.required,role:"combobox",tabindex:n.disabled?-1:0,class:["q-select",{"q-select--readonly":n.readonly,"q-select--disabled":n.disabled},n.class],readonly:n.readonly,disabled:n.disabled,"data-loading":n.loading,"aria-expanded":l.value,"aria-haspopup":"listbox",size:n.size,invalid:n.invalid},k.$attrs,{onClick:q,onKeydown:I}),e.createSlots({append:e.withCtx(()=>[e.renderSlot(k.$slots,"append"),m.value&&r.value?(e.openBlock(),e.createBlock(e.unref(Ge),{key:0,icons:n.icons,texts:n.texts,onClick:B},null,8,["icons","texts"])):e.createCommentVNode("v-if",!0),n.readonly?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(j),{key:1,class:"q-select__chevron","aria-label":n.texts.showOptions,variant:"ghost",color:"neutral",borderless:"",tabindex:"-1",disabled:n.disabled,onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(Wt),{"model-value":l.value,icons:n.icons},null,8,["model-value","icons"])]),_:1},8,["aria-label","disabled"]))]),default:e.withCtx(()=>[d.value?(e.openBlock(),e.createElementBlock("span",Ko,[!n.readonly&&!n.disabled?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(n.texts.placeholder),1)],64)):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock("span",Xo,e.toDisplayString(c.value),1))]),_:2},[(F=p.value)!=null&&F.icon||k.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>{var g,C;return[e.renderSlot(k.$slots,"prepend"),(g=p.value)!=null&&g.icon?(e.openBlock(),e.createBlock(e.unref(z),e.normalizeProps(e.mergeProps({key:0},(C=p.value)==null?void 0:C.icon)),null,16)):e.createCommentVNode("v-if",!0)]}),key:"0"}:void 0,k.$slots.extras?{name:"extras",fn:e.withCtx(()=>[e.renderSlot(k.$slots,"extras")]),key:"1"}:void 0]),1040,["id","label","required","tabindex","class","readonly","disabled","data-loading","aria-expanded","size","invalid"]),e.createVNode(e.unref(rt),{modelValue:l.value,"onUpdate:modelValue":V[0]||(V[0]=g=>l.value=g),spy:"",trigger:"manual",placement:"bottom-start",width:"anchor","scroll-lock":"",inline:n.inline,anchor:(f=i.value)==null?void 0:f.fieldRef,offset:2,onEnter:D,onLeave:R},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"contentRef",ref:u,"data-testid":"combobox-dropdown","data-key":n.id,class:"q-select__body",tabindex:"-1",onFocusout:v,onKeydown:e.withModifiers(I,["stop"])},[e.renderSlot(k.$slots,"body.prepend"),n.loading?(e.openBlock(),e.createElementBlock("div",ta,[e.createVNode(e.unref(Me),{size:24})])):(e.openBlock(),e.createBlock(e.unref(hn),{key:1,ref_key:"listRef",ref:s,class:"q-select__items",selectable:"",required:"","model-value":r.value,items:n.items,groups:k.groups,"item-label":n.itemLabel,"item-value":n.itemValue,"onUpdate:modelValue":_},{item:e.withCtx(({item:g})=>[e.renderSlot(k.$slots,"item",{item:g})]),_:3},8,["model-value","items","groups","item-label","item-value"])),e.renderSlot(k.$slots,"body.append")],40,ea)]),_:3},8,["modelValue","inline","anchor"])],64)}}})),oa=["id","required","placeholder","readonly","disabled","maxlength","rows","cols","resize","wrap"],aa=P(e.defineComponent({inheritAttrs:!1,__name:"QTextArea",props:e.mergeModels({id:{},class:{},label:{},for:{},required:{type:Boolean},size:{},readonly:{type:Boolean},disabled:{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(t){const o=t,n=e.useModel(t,"modelValue"),a=e.computed({get:()=>n.value,set:d=>{const p=o.maxLength;n.value=p?d==null?void 0:d.slice(0,p):d}});e.watch(n,d=>a.value=d,{immediate:!0});const r=ae(o.id),l=e.computed(()=>o.readonly||o.disabled?void 0:o.placeholder),i=e.computed(()=>({input:o.autosize?u:null})),s=e.ref(),{triggerResize:u}=Dn({element:e.computed(()=>o.autosize?s.value:void 0),styleProp:"minHeight"});return(d,p)=>(e.openBlock(),e.createBlock(e.unref(we),{class:e.normalizeClass(["q-text-area",o.class]),for:e.unref(r),label:o.label,size:o.size,readonly:o.readonly,disabled:o.disabled,required:o.required},e.createSlots({"label.prepend":e.withCtx(()=>[e.renderSlot(d.$slots,"label.prepend")]),"label.append":e.withCtx(()=>[e.renderSlot(d.$slots,"label.append")]),default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(r),ref_key:"textareaRef",ref:s,"onUpdate:modelValue":p[0]||(p[0]=c=>a.value=c),class:"q-text-area__input",required:o.required,placeholder:l.value,readonly:o.readonly,disabled:o.disabled,maxlength:o.maxLength,rows:o.rows,cols:o.cols,resize:o.resize,wrap:o.wrap},d.$attrs,e.toHandlers(i.value,!0)),null,16,oa),[[e.vModelText,a.value]])]),_:2},[d.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"prepend")]),key:"0"}:void 0,d.$slots.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"append")]),key:"1"}:void 0,d.$slots.extras?{name:"extras",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","size","readonly","disabled","required"]))}}));function W(){return{copy:"Copy",apply:"Apply",applyAll:"Apply all",chatbotTitle:"ChatBot",sendMessage:"Send message",clearChat:"Clear chat",inputLabel:"What can I help with?",imageUpload:"Upload Image",imageUploadQButton:"Upload Image",goodResponse:"Good response",badResponse:"Bad response",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!",commentDialogTitle:"Would you like to add a comment?",commentPlaceholder:"Type your comment here (optional)...",copyResponse:"Copy response",submitButton:"Submit",cancelButton:"Cancel",senderImage:"Sender Image",imagePreview:"Image preview",regenerateResponse:"Regenerate response",generatingResponse:"Generating",suggestionsForField:"Suggestions for field:",fileUpload:"Upload File"}}async function st(t,o){var u,d,p,c,m,_;const n=new AbortController,a=n.signal,l=(await Y({...t,headers:{Accept:"text/event-stream"},responseType:"stream",signal:a,adapter:"fetch"})).data;if(!l||!(l instanceof ReadableStream))throw new Error("Invalid stream response");const i=l.getReader(),s=new TextDecoder;for(;;){const{done:B,value:v}=await i.read();if(B){(u=o.onDone)==null||u.call(o);break}const T=s.decode(v,{stream:!0}).split(/\n\n+/);for(const q of T){const I=q.trim().split(`
|
|
46
|
+
`);let D="",R="";for(const E of I)E.startsWith("event:")?D=E.replace("event:","").trim():E.startsWith("data:")&&(R=E.replace("data:","").trim());if(D||(D="message"),!!R)try{const E=JSON.parse(R);switch(D){case"message":(d=o.onMessage)==null||d.call(o,E.value);break;case"error":(p=o.onError)==null||p.call(o,new Error(E.value));break;case"field_metadata":(c=o.onFieldMetadata)==null||c.call(o,E);break;case"done":(m=o.onDone)==null||m.call(o);break;default:console.warn(`Unknown event type: ${D}`)}}catch(E){(_=o.onError)==null||_.call(o,E),console.error("Error processing event:",E);continue}finally{B&&(i.releaseLock(),n.abort())}}}}function ct(t){const o=e.ref(!1),n=e.ref(null);async function a(d){o.value=!0,n.value=null;try{return{data:(await Y({...d,baseURL:t})).data,error:null}}catch(p){if(p instanceof Error)return n.value=p,console.error("Error in API request:",p),{data:null,error:p}}finally{o.value=!1}return{data:null,error:new Error("Unknown error occurred in baseRequest")}}async function r(d,p,c,m){return await a({method:"POST",url:"/prompt/load",data:{username:d,project:p,agentID:c,formId:m}})}async function l(d,p,c,m){return await a({method:"POST",url:"/prompt/clear",data:{username:d,project:p,agentID:c,formId:m}})}async function i(d,p,c){return o.value=!0,await st({method:"POST",url:`${t}/prompt/submit`,data:d},{onMessage:m=>{p(m)},onError:m=>{n.value=m,c==null||c(m),console.error("Error in sendPrompt:",m)},onDone:()=>o.value=!1})}async function s(d,p,c){return o.value=!0,await st({method:"POST",url:`${t}/get-job-result`,data:{jobId:d}},{onMessage:m=>p(m),onFieldMetadata:m=>c(m),onError:m=>{n.value=m,console.error("Error in getFieldSuggestionData:",m)},onDone:()=>o.value=!1})}async function u(d,p,c){return await a({method:"POST",url:"/prompt/feedback",data:{messageSessionID:c,feedbackValue:d,feedbackComment:p}})}return{isLoading:o,lastError:n,getChatData:r,clearChatData:l,getFieldSuggestionData:s,sendPrompt:i,handleFeedback:u}}const la=["innerHTML"],Ne=e.defineComponent({__name:"MarkdownRender",props:{source:{},options:{},plugins:{}},setup(t){const o=t,n=e.ref(new mt({html:!0,...o.options??{}}));o.plugins&&o.plugins.forEach(r=>n.value.use(r));const a=e.computed(()=>n.value.render(o.source));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:"markdown-renderer",innerHTML:a.value},null,8,la))}});function dt(t,o){switch(t){case"date":return new Date(o).toLocaleDateString();case"number":return parseFloat(o);case"boolean":return o.toLowerCase()==="true";default:return o.toString()}}const ra={class:"q-field-preview"},ia={class:"q-field-preview__toolbar"},sa={class:"q-field-preview__content"},ca={class:"q-field-preview__footer"},da=e.defineComponent({__name:"FieldPreview",props:{name:{},text:{},type:{},disabled:{type:Boolean},applied:{type:Boolean}},emits:["apply"],setup(t,{emit:o}){const n=t,a=o,r=W(),l=e.ref(n.applied),i=e.computed(()=>n.disabled||l.value),s=e.computed(()=>n.type==="text"||n.type==="multiline_text"?Ne:"div"),u=e.computed(()=>{const p={};return s.value===Ne?p.source=n.text:p.innerHTML=n.text,p});function d(){if(l.value)return;l.value=!0;const p=dt(n.type,n.text);a("apply",p)}return(p,c)=>(e.openBlock(),e.createElementBlock("div",ra,[e.createElementVNode("div",ia,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(r).suggestionsForField)+" ",1),e.createElementVNode("b",null,e.toDisplayString(n.name),1)])]),e.createElementVNode("div",sa,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.normalizeProps(e.guardReactiveProps(u.value)),null,16))]),e.createElementVNode("div",ca,[e.createVNode(e.unref(Oe),{borderless:""},{default:e.withCtx(()=>[e.createVNode(e.unref(j),{"data-testid":"apply-button",label:e.unref(r).apply,disabled:i.value,readonly:i.value,onClick:d},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"apply"})]),_:1},8,["label","disabled","readonly"])]),_:1})])]))}}),ua={class:"pulsing-dots"},pa={class:"generating-text"},fa={class:"dots-container"},ma=e.defineComponent({__name:"PulseDots",setup(t){const o=[1,2,3],n=W();return(a,r)=>(e.openBlock(),e.createElementBlock("div",ua,[e.createElementVNode("span",pa,e.toDisplayString(e.unref(n).generatingResponse),1),e.createElementVNode("div",fa,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,(l,i)=>e.createElementVNode("span",{key:i,class:"dot",style:e.normalizeStyle({animationDelay:i*.2+"s"})}," • ",4)),64))])]))}}),ga={class:"q-chatbot__message-container"},ba={class:"q-chatbot__message-wrapper"},ha={key:0,class:"q-chatbot__image-preview"},ya=["src","alt"],ka={key:1,class:"q-chatbot__file-preview-container"},wa={class:"q-chatbot__file-icon-container"},Ba={class:"q-chatbot__file-info"},_a={class:"q-chatbot__file-name"},xa={class:"q-chatbot__file-extension"},Ca={class:"q-chatbot__message"},Ea={key:1,class:"q-chatbot__text q-chatbot__user-text"},va=e.defineComponent({__name:"ChatBotMessage",props:{sender:{default:"user"},message:{},date:{default:()=>new Date},loading:{type:Boolean},dateFormat:{},file:{},apiEndpoint:{},sessionID:{},userImage:{default:void 0},chatbotImage:{},isWelcomeMessage:{type:Boolean},fields:{default:()=>[]}},emits:["apply-fields"],setup(t,{emit:o}){const n=t,a=o,r=W(),{handleFeedback:l}=ct(n.apiEndpoint),i=e.computed(()=>n.sender==="bot"&&!Object.values(r||{}).includes(n.message||"")&&!n.isWelcomeMessage),s=e.computed(()=>{var B;return((B=n.file)==null?void 0:B.fileData.type.startsWith("image/"))??!1}),u=e.computed(()=>n.sender==="bot"?n.chatbotImage:n.userImage),d=e.computed(()=>{var v,S;return(v=n.file)!=null&&v.fileData?((S=n.file.fileData.name.split(".").pop())==null?void 0:S.toUpperCase())??"":""});function p(){n.message&&navigator.clipboard.writeText(n.message).then(()=>{console.log("Response copied to clipboard")}).catch(B=>{console.error("Failed to copy response: ",B)})}function c(B,v){a("apply-fields",[{name:v.name,text:B}])}function m(){if(!n.fields||n.fields.length===0)return;const B=n.fields.map(v=>({name:v.name,text:dt(v.type,v.text)}));a("apply-fields",B)}function _(B,v){B===null||v===null||!n.sessionID||l(B,v,n.sessionID)}return(B,v)=>{var S,T,q;return e.openBlock(),e.createElementBlock("div",ga,[e.createVNode(e.unref(z),{type:"img",icon:u.value,alt:e.unref(r).senderImage,class:"q-chatbot__profile"},null,8,["icon","alt"]),e.createElementVNode("div",ba,[s.value?(e.openBlock(),e.createElementBlock("div",ha,[e.createElementVNode("img",{src:(S=n.file)==null?void 0:S.previewUrl,alt:e.unref(r).imagePreview},null,8,ya)])):(T=n.file)!=null&&T.fileData&&!s.value?(e.openBlock(),e.createElementBlock("div",ka,[e.createElementVNode("div",wa,[e.createVNode(e.unref(z),{icon:"file",class:"q-chatbot__file-icon"})]),e.createElementVNode("div",Ba,[e.createElementVNode("span",_a,e.toDisplayString((q=n.file)==null?void 0:q.fileData.name),1),e.createElementVNode("span",xa,e.toDisplayString(d.value),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ca,[B.loading?(e.openBlock(),e.createBlock(ma,{key:0})):n.sender==="bot"&&n.fields.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(n.fields,(I,D)=>(e.openBlock(),e.createBlock(e.unref(da),{key:D,class:"q-chatbot__text",text:I.text||"",name:I.name,type:I.type,disabled:B.loading,onApply:R=>c(R,I)},null,8,["text","name","type","disabled","onApply"]))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.sender==="bot"?(e.openBlock(),e.createBlock(e.unref(Ne),{key:0,class:"q-chatbot__text",source:n.message||""},null,8,["source"])):(e.openBlock(),e.createElementBlock("div",Ea,e.toDisplayString(n.message),1))],64))])]),e.createVNode(e.unref(Va),{"show-buttons":i.value,loading:n.loading,"date-format":n.dateFormat,onCopyResponse:p,onSubmitFeedback:_,onApplyAll:m},null,8,["show-buttons","loading","date-format"])])}}}),U=[];for(let t=0;t<256;++t)U.push((t+256).toString(16).slice(1));function $a(t,o=0){return(U[t[o+0]]+U[t[o+1]]+U[t[o+2]]+U[t[o+3]]+"-"+U[t[o+4]]+U[t[o+5]]+"-"+U[t[o+6]]+U[t[o+7]]+"-"+U[t[o+8]]+U[t[o+9]]+"-"+U[t[o+10]]+U[t[o+11]]+U[t[o+12]]+U[t[o+13]]+U[t[o+14]]+U[t[o+15]]).toLowerCase()}let Ae;const Sa=new Uint8Array(16);function Na(){if(!Ae){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ae=crypto.getRandomValues.bind(crypto)}return Ae(Sa)}const ut={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function pt(t,o,n){var r;if(ut.randomUUID&&!o&&!t)return ut.randomUUID();t=t||{};const a=t.random??((r=t.rng)==null?void 0:r.call(t))??Na();if(a.length<16)throw new Error("Random bytes length must be >= 16");return a[6]=a[6]&15|64,a[8]=a[8]&63|128,$a(a)}const ie=e.ref([]),be=e.ref(1);function ft(){function t(r,l,i,s,u){const d={id:be.value++,message:r,date:new Date,sender:l||"bot",sessionID:s||pt(),file:i,isWelcomeMessage:u,fields:[]};return ie.value.push(d),d}function o(){return ie.value.find(r=>r.id===be.value-1)}function n(){ie.value=[],be.value=1}function a(){return ie.value}return{messages:ie,nextMessageId:be,addChatMessage:t,getLastMessage:o,clearMessages:n,getMessages:a}}const Aa={class:"q-chatbot__dialog-title"},Da={key:0,class:"q-chatbot__feedback-buttons"},Ia={class:"q-chatbot__sender"},Va=e.defineComponent({__name:"ChatBotMessageButtons",props:{loading:{type:Boolean},showButtons:{type:Boolean},dateFormat:{},date:{}},emits:["submit-feedback","copy-response","apply-all"],setup(t,{emit:o}){const n=t,a=o,r=W(),{getLastMessage:l}=ft(),i=e.ref(!1),s=e.ref(""),u=e.ref(null),d=e.ref(!1),p=e.computed(()=>n.loading||d.value),c=n.date||new Date,m=l(),_=e.computed(()=>m?m.fields&&m.fields.length>1:!1),B=[{id:"confirm-btn",action:E,props:{label:r.submitButton,class:"q-chatbot__dialog-confirm-button"},icon:{icon:"submit"}},{id:"cancel-btn",props:{label:r.cancelButton,class:"q-chatbot__dialog-cancel-button"},icon:{icon:"cancel"}}],v=e.computed(()=>n.dateFormat?T(c,"HH:mm"):c.toLocaleString()),S=e.computed(()=>`${v.value}`);function T(k,V){const F=k.getDate().toString().padStart(2,"0"),f=(k.getMonth()+1).toString().padStart(2,"0"),g=k.getFullYear().toString().padStart(2,"0"),C=k.getHours().toString().padStart(2,"0"),A=k.getMinutes().toString().padStart(2,"0"),b=k.getSeconds().toString().padStart(2,"0");return V.replace("dd",F).replace("MM",f).replace("yyyy",g).replace("HH",C).replace("mm",A).replace("ss",b)}function q(k){i.value=!0,s.value="",u.value=k}function I(){q(0)}function D(){q(1)}function R(){d.value||(d.value=!0,a("apply-all"))}function E(){u.value&&(a("submit-feedback",u.value,s.value),i.value=!1,s.value="",u.value=null)}function M(){a("copy-response")}return(k,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(it),{modelValue:i.value,"onUpdate:modelValue":V[1]||(V[1]=F=>i.value=F),inline:"",buttons:B},{body:e.withCtx(()=>[e.createElementVNode("div",Aa,e.toDisplayString(e.unref(r).commentDialogTitle),1),e.createVNode(e.unref(an),{modelValue:s.value,"onUpdate:modelValue":V[0]||(V[0]=F=>s.value=F),class:"q-chatbot__dialog-comment-input","max-length":150,size:"large",placeholder:e.unref(r).commentPlaceholder},null,8,["modelValue","placeholder"])]),_:1},8,["modelValue"]),k.showButtons?(e.openBlock(),e.createElementBlock("div",Da,[e.createVNode(e.unref(Oe),null,{default:e.withCtx(()=>[e.createVNode(e.unref(j),{title:e.unref(r).goodResponse,class:"q-chatbot__good-response-button",borderless:"",disabled:n.loading,onClick:D},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"thumb-up"})]),_:1},8,["title","disabled"]),e.createVNode(e.unref(j),{title:e.unref(r).badResponse,class:"q-chatbot__bad-response-button",borderless:"",disabled:n.loading,onClick:I},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"thumb-down"})]),_:1},8,["title","disabled"]),e.createVNode(e.unref(j),{title:e.unref(r).copyResponse,class:"q-chatbot__copy-button",borderless:"",disabled:n.loading,onClick:M},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"copy-content"})]),_:1},8,["title","disabled"]),_.value?(e.openBlock(),e.createBlock(e.unref(j),{key:0,title:e.unref(r).applyAll,class:"q-chatbot__apply-all-button",borderless:"",disabled:p.value,readonly:p.value,onClick:R},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"apply-all"})]),_:1},8,["title","disabled","readonly"])):e.createCommentVNode("",!0)]),_:1})])):e.createCommentVNode("",!0),e.createElementVNode("div",Ia,e.toDisplayString(S.value),1)],64))}}),qa={class:"q-chatbot__tools"},Ra={class:"q-chatbot__tools__select"},Ma=e.defineComponent({__name:"ChatToolBar",props:{disabled:{type:Boolean},availableAgents:{default:()=>[]},selectedAgentKey:{}},emits:["clear","change-chat"],setup(t,{emit:o}){const n=t,a=o,{clearChat:r}=W(),l={key:"",value:"Default Chat",formId:""},i=e.computed(()=>n.availableAgents&&n.availableAgents.length>0),s=e.ref(n.selectedAgentKey||l.key);e.watch(()=>n.selectedAgentKey,c=>{s.value=c||l.key});const u=e.computed(()=>{var m;const c=(m=n.availableAgents)==null?void 0:m.map(_=>({key:_.key,value:_.value,formId:_.formId}));return c==null||c.push(l),c||[l]});function d(){a("clear")}function p(c){const m=u.value.find(_=>_.key===c);if(m){if(m.key===l.key){a("change-chat",{key:"",formId:""});return}a("change-chat",m)}}return(c,m)=>(e.openBlock(),e.createElementBlock("div",qa,[e.createElementVNode("div",Ra,[i.value?(e.openBlock(),e.createBlock(e.unref(na),{key:0,modelValue:s.value,"onUpdate:modelValue":[m[0]||(m[0]=_=>s.value=_),p],class:"q-chatbot__tools-select-input",size:"medium",items:u.value},null,8,["modelValue","items"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(j),{title:e.unref(r),disabled:n.disabled,class:"q-chatbot__tools-clear",borderless:"",onClick:d},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"bin"})]),_:1},8,["title","disabled"])]))}}),La={class:"q-chatbot__input-wrapper"},Ta={key:0,class:"q-chatbot__file-preview"},Fa=["src","alt"],Pa={key:1,class:"q-chatbot__file-preview",tabindex:"0"},Oa={class:"q-chatbot__file-name"},za={class:"q-chatbot__input"},Ua={class:"q-chatbot__send-container"},ja=["accept"],Ga=e.defineComponent({__name:"ChatBotInput",props:{disabled:{type:Boolean},loading:{type:Boolean},userPrompt:{},agentId:{}},emits:["send-message"],setup(t,{emit:o}){const n=t,a=o,r=W(),l=e.ref(null),i=e.ref(null),s=e.ref(""),u=e.ref(!1),d=e.computed(()=>".png,.jpeg,.jpg,.svg,.webp,.pdf,.doc,.docx"),p=e.computed(()=>i.value?i.value.type.startsWith("image/")??!1:!1),c=e.ref(n.userPrompt??""),m=e.computed(()=>n.disabled||n.loading||c.value.trim().length===0);function _(E){E.preventDefault(),n.disabled||(u.value=!0)}const B=e.computed(()=>({"q-chatbot__footer-disabled":n.disabled,"drag-over":u.value&&!i.value}));function v(E){E.preventDefault(),u.value=!1}function S(E){var k;if(E.preventDefault(),u.value=!1,n.disabled||i.value)return;const M=(k=E.dataTransfer)==null?void 0:k.files;M&&T(M[0])}function T(E){i.value=E,E.type.startsWith("image/")?s.value=URL.createObjectURL(E):s.value=""}function q(){if(!(c.value.trim()===""||n.loading||n.disabled)){if(i.value){const E={fileData:i.value,previewUrl:s.value??""};a("send-message",c.value,E),I()}else a("send-message",c.value);c.value=""}}function I(){i.value=null,s.value="",l.value&&(l.value.value="",l.value.files=null)}function D(){var E;(E=l.value)==null||E.click()}function R(E){var k;const M=E.target;(k=M.files)!=null&&k[0]&&T(M.files[0])}return(E,M)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(ze),{label:e.unref(r).inputLabel},null,8,["label"]),e.createElementVNode("div",{class:e.normalizeClass(["q-chatbot__footer",B.value]),onDragover:e.withModifiers(_,["prevent"]),onDragleave:e.withModifiers(v,["prevent"]),onDrop:e.withModifiers(S,["prevent"])},[e.createElementVNode("div",La,[i.value?(e.openBlock(),e.createElementBlock("div",Ta,[p.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"q-chatbot__image-preview",src:s.value,tabindex:"0",alt:e.unref(r).imagePreview},null,8,Fa)):(e.openBlock(),e.createElementBlock("div",Pa,[e.createVNode(e.unref(z),{icon:"file",class:"q-chatbot__file-icon"}),e.createElementVNode("span",Oa,e.toDisplayString(i.value.name),1)])),e.createVNode(e.unref(j),{class:"q-chatbot__remove-file",tabindex:"0",flat:"",round:"",onClick:I},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"remove"})]),_:1})])):e.createCommentVNode("",!0),e.createElementVNode("div",za,[e.createVNode(e.unref(aa),{modelValue:c.value,"onUpdate:modelValue":M[0]||(M[0]=k=>c.value=k),size:"block",autosize:"",resize:"none",rows:2,disabled:n.disabled,onKeyup:e.withKeys(q,["enter"])},null,8,["modelValue","disabled"])]),e.createElementVNode("div",Ua,[e.createVNode(e.unref(j),{title:e.unref(r).imageUpload,class:"q-chatbot__upload",disabled:n.disabled||n.loading||!!i.value,onClick:D},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"upload"})]),_:1},8,["title","disabled"]),e.createElementVNode("input",{id:"file-upload",ref_key:"fileInput",ref:l,type:"file",accept:d.value,class:"hidden-input",onChange:R},null,40,ja),e.createVNode(e.unref(j),{title:e.unref(r).sendMessage,variant:"bold",class:"q-chatbot__send",disabled:m.value,readonly:m.value,onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(z),{icon:"send"})]),_:1},8,["title","disabled","readonly"])])])],34)],64))}}),Qa="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20126.25%20110.36'%3e%3cdefs%3e%3cradialGradient%20id='radial-gradient'%20cx='45.24'%20cy='38.05'%20fx='45.24'%20fy='38.05'%20r='59.09'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%2331319e'/%3e%3cstop%20offset='.19'%20stop-color='%232e2e97'/%3e%3cstop%20offset='.45'%20stop-color='%23292985'/%3e%3cstop%20offset='.75'%20stop-color='%23202067'/%3e%3cstop%20offset='1'%20stop-color='%2317174a'/%3e%3c/radialGradient%3e%3clinearGradient%20id='linear-gradient'%20x1='82.65'%20y1='50.41'%20x2='82.65'%20y2='77.5'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.02'%20stop-color='%2366ebfe'/%3e%3cstop%20offset='.96'%20stop-color='%2300bfdb'/%3e%3c/linearGradient%3e%3clinearGradient%20id='linear-gradient-2'%20x1='44.6'%20y1='50.01'%20x2='44.6'%20y2='77.1'%20xlink:href='%23linear-gradient'/%3e%3c/defs%3e%3cg%20isolation='isolate'%3e%3cg%20id='Layer_1'%3e%3cpath%20d='M126.2,61.4c-.2-3.69-2.61-17.39-5.92-22.09-2.42-3.44-5.89-4.03-7.96-4.38-.13-.02-.27-.05-.41-.07-.16-.28-.32-.58-.45-.81-.63-1.14-1.03-1.87-1.44-2.44-6.96-9.88-14.91-16.51-24.85-20.69-.25-2.29-.84-5.24-3.37-7.44-2.93-2.55-7.58-2.9-11.68-3.21-.93-.07-1.82-.14-2.4-.22l-.33-.05h-8.61l-.36.05c-.65.1-1.61.17-2.63.24-3.75.27-8.01.57-10.98,2.85-2.94,2.26-3.58,5.55-3.79,7.84-9.71,3.94-17.86,10.71-24.85,20.62-.4.57-.81,1.3-1.43,2.44-.13.23-.29.53-.45.81-.14.02-.28.05-.4.07-2.07.35-5.54.94-7.96,4.39-2.25,3.19-3.84,9.89-4.58,13.59-.6,2.97-1.9,10.3-1.08,14.26.79,3.78,3.66,5.6,5.37,6.68.12.08.26.16.39.25,1.65,10.03,6.98,18.56,15.52,24.77,9.23,6.72,20.2,9.43,27.78,10.52,4.49.65,9.15.97,13.85.97,9.67,0,23.77-1.39,36-8.02,11.58-6.27,18.81-16,21.04-28.24,4.52-2.76,6.36-5.67,5.98-12.71Z'%20fill='%2317174a'/%3e%3cpath%20d='M67.15,4.69c2.98.42,9.31.31,11.62,2.31,1.99,1.73,1.65,4.82,2.06,7.22,10.77,3.89,18.73,10.59,25.39,20.04.64.91,2.13,3.95,2.58,4.33,1.71,1.46,5.54.35,7.67,3.37,2.29,3.25,4.83,15.41,5.06,19.59.31,5.82-.76,6.9-5.58,9.44-3.28,26.16-29.7,34.5-52.68,34.5-4.6,0-9.06-.33-13.17-.93-18.13-2.61-37.11-12.11-39.51-33.08-1.7-1.92-4.96-2.54-5.55-5.39-.95-4.56,2.21-20.32,4.89-24.14,2.13-3.02,5.96-1.91,7.67-3.37.46-.39,1.94-3.42,2.58-4.33,6.54-9.28,14.55-16.22,25.21-19.87.85-.87-.3-5.45,2.43-7.55,2.52-1.94,8.35-1.69,11.42-2.16h7.91'%20fill='%23fff'/%3e%3cpath%20d='M121.86,61.51c-.22-4.2-2.78-16.43-5.07-19.7-1.77-2.51-4.71-2.18-6.64-2.83.1,1.18.16,2.37.16,3.57,0,26.85-25.96,48.61-57.98,48.61-15.83,0-30.17-5.32-40.63-13.94,4.91,17.1,22.06,25.14,38.51,27.52,4.12.59,8.6.93,13.21.93,23.06,0,49.57-8.38,52.85-34.68,4.83-2.56,5.91-3.63,5.6-9.49Z'%20fill='%23d0d7e2'%20mix-blend-mode='multiply'%20opacity='.4'/%3e%3cpath%20d='M62.91,97.68c5.82,0,11.67-.53,16.72-1.56,13.1-2.67,22.09-8.06,26.72-16.03,4.43-7.63,4.75-17.33.96-28.84-4.28-13-13.22-22.77-24.7-27.89-.13,4.51-3.84,8.16-8.38,8.16h-20.89c-4.61,0-8.39-3.78-8.39-8.39v-.14c-5.36,2.25-10.29,5.49-14.5,9.61-8.23,8.06-13.16,19.02-13.9,30.84-.59,9.44,2.67,17.53,9.43,23.42,6.27,5.46,15.68,9.02,27.2,10.3,3.13.35,6.43.52,9.73.52'%20fill='url(%23radial-gradient)'/%3e%3crect%20x='74.34'%20y='50.41'%20width='16.62'%20height='27.09'%20rx='4.06'%20ry='4.06'%20fill='url(%23linear-gradient)'/%3e%3crect%20x='36.29'%20y='50.01'%20width='16.62'%20height='27.09'%20rx='4.06'%20ry='4.06'%20fill='url(%23linear-gradient-2)'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",Ha="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF2GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTExLTI5VDEwOjI0OjU3WiIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMS0yOVQxMDoyNDo1N1oiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTExLTI5VDEwOjI0OjU3WiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpiN2ViMDM0NC1hN2UzLTI3NGItODgwNi00ZjMxMzRiNDUwNDEiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2ODJkMGU1OC1kZmQyLTZkNDEtOGIwNy01ZWUxNjU4MWY2ZWEiIHht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",Wa={class:"q-chatbot"},Za={class:"q-chatbot__content"},Ja={class:"q-chatbot__footer-container"};return e.defineComponent({name:"ChatBot",__name:"ChatBot",props:{apiEndpoint:{default:"http://localhost:3000"},controllerEndpoint:{},username:{},projectPath:{},userImage:{default:Ha},chatbotImage:{default:Qa},dateFormat:{},agentData:{default:()=>({id:"",formId:"",jobId:""})},availableAgents:{default:()=>[]}},emits:["apply-fields"],setup(t,{emit:o}){const n=t,a=o,r=e.ref(!0),l=e.ref(null),i=e.ref(!0),s=e.ref(n.agentData.id),u=e.ref(n.agentData.formId),d=W(),{isLoading:p,clearChatData:c,getChatData:m,getFieldSuggestionData:_,sendPrompt:B}=ct(n.apiEndpoint),{messages:v,addChatMessage:S,clearMessages:T,getLastMessage:q}=ft(),I=e.computed(()=>r.value||p.value);e.onBeforeMount(()=>{var h;(h=l.value)==null||h.removeEventListener("scroll",F)}),e.onMounted(()=>{R()});function D(h){r.value=h}async function R(){try{await E()}catch(h){S(d.loginError),console.error("Error logging in: "+h)}}async function E(){D(!0);const{data:h,error:y}=await m(n.username,n.projectPath,s.value,u.value);if(y||!h||!h.success){D(!0),S(d.botIsSick),console.log("Error loading chat data: "+y);return}D(!1),M(),h.history.forEach(async N=>{S(N.content,N.type==="ai"?"bot":"user",void 0,N.sessionID)})}function M(){const h=d.initialMessage;S(h,"bot",void 0,void 0,!0)}function k(){T(),D(!1),i.value=!0}function V(){e.nextTick(()=>{l.value&&(l.value.scrollTop=l.value.scrollHeight)})}function F(){if(l.value){const{scrollTop:y,clientHeight:N,scrollHeight:O}=l.value;i.value=y+N>=O-20}}async function f(h,y){l.value&&l.value.scrollTo({top:l.value.scrollHeight,behavior:"smooth"}),S(h,"user",y),e.nextTick(()=>{i.value&&V()}),C(h,y==null?void 0:y.fileData)}async function g(h){l.value&&l.value.scrollTo({top:l.value.scrollHeight,behavior:"smooth"}),S("","bot"),e.nextTick(()=>{i.value&&V()});const y=q();y&&await _(h,N=>{y.message+=N,y.fields||(y.fields=[]);const O=y.fields[y.fields.length-1];O.text=y.message,i.value&&V()},N=>{var L;y.message="";const O=N;(L=y.fields)==null||L.push({type:O.type,name:O.name,text:O.text})})}async function C(h,y){S("","bot");const N=q();if(!N)return;const O=(N==null?void 0:N.sessionID)||pt(),L=new FormData;y&&L.append("file",y),L.append("message",h),L.append("project",n.projectPath),L.append("user",n.username),L.append("sessionID",O),await B(L,Z=>{N&&(N.message+=Z),i.value&&V()},Z=>{D(!0),S(d.botIsSick),console.error("Error sending message: "+Z)})}async function A(){const{data:h,error:y}=await c(n.username,n.projectPath,s.value,u.value);if(y||!h||!h.success){D(!0),S(d.loginError),console.log("Error clearing chat: "+y);return}k(),M()}function b(h){const y=["q-chatbot__messages-wrapper"];return h==="user"&&y.push("q-chatbot__messages-wrapper_right"),y}function x(h){s.value=h.key,u.value=h.formId,k(),E()}function w(h){!h||h.length===0||a("apply-fields",h)}return e.watch(()=>n.availableAgents,(h,y)=>{h.length===0&&y.length>0&&(s.value="",u.value="",k(),R())}),e.watch(()=>n.agentData,async(h,y)=>{var N;I.value||(((N=n.agentData)==null?void 0:N.id)!==(y==null?void 0:y.id)&&(s.value=(h==null?void 0:h.id)||"",u.value=(h==null?void 0:h.formId)||"",k(),await R()),(h==null?void 0:h.id)!==""&&h&&h.jobId!==y.jobId&&await g(h.jobId))}),e.watch(()=>[n.agentData.id,n.agentData.formId],([h,y])=>{s.value=h,u.value=y},{immediate:!0}),(h,y)=>(e.openBlock(),e.createElementBlock("div",Wa,[e.createElementVNode("div",Za,[e.createVNode(e.unref(Ma),{disabled:I.value,"available-agents":n.availableAgents,"selected-agent-key":s.value,onClear:A,onChangeChat:x},null,8,["disabled","available-agents","selected-agent-key"]),e.createElementVNode("div",{ref_key:"messagesContainer",ref:l,class:"q-chatbot__messages-container",onScroll:F},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),N=>(e.openBlock(),e.createElementBlock("div",{key:N.id,class:e.normalizeClass(b(N.sender))},[e.createVNode(e.unref(va),e.mergeProps({ref_for:!0},N,{"date-format":n.dateFormat,"user-image":n.userImage,"chatbot-image":n.chatbotImage,loading:e.unref(p)&&!N.message,file:N.file,"api-endpoint":n.apiEndpoint,"session-i-d":N.sessionID,fields:N.fields,onApplyFields:w}),null,16,["date-format","user-image","chatbot-image","loading","file","api-endpoint","session-i-d","fields"])],2))),128))],544)]),e.createElementVNode("div",Ja,[e.createVNode(e.unref(Ga),{disabled:I.value,loading:e.unref(p),onSendMessage:f},null,8,["disabled","loading"])])]))}})});
|