@expedite-commerce/expedite-components 0.2.41 → 0.2.42
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.
|
@@ -41126,7 +41126,7 @@ const LO = ["innerHTML"], NO = {
|
|
|
41126
41126
|
], 8, AT)
|
|
41127
41127
|
], 8, ET));
|
|
41128
41128
|
}
|
|
41129
|
-
}, ST = /* @__PURE__ */ Te(wT, [["__scopeId", "data-v-
|
|
41129
|
+
}, ST = /* @__PURE__ */ Te(wT, [["__scopeId", "data-v-97dcc560"]]), IT = {
|
|
41130
41130
|
class: "ect-h-full ect-w-full ect-flex ect-items-center ect-justify-center",
|
|
41131
41131
|
"data-test-id": "configurator-not-found"
|
|
41132
41132
|
}, OT = { class: "ect-max-w-[720px] ect-p-[50px] ect-border ect-rounded-lg ect-bg-white ect-shadow-sm" }, TT = { class: "ect-text-[40px] ect-leading-none ect-mb-3" }, DT = /* @__PURE__ */ C("div", {
|
|
@@ -41581,7 +41581,7 @@ const LO = ["innerHTML"], NO = {
|
|
|
41581
41581
|
]);
|
|
41582
41582
|
};
|
|
41583
41583
|
}
|
|
41584
|
-
}, GT = /* @__PURE__ */ Te(XT, [["__scopeId", "data-v-
|
|
41584
|
+
}, GT = /* @__PURE__ */ Te(XT, [["__scopeId", "data-v-37813fa7"]]);
|
|
41585
41585
|
let Ea = null;
|
|
41586
41586
|
if (typeof window < "u") {
|
|
41587
41587
|
try {
|
|
@@ -184,4 +184,4 @@
|
|
|
184
184
|
`+Lt),Q&&xs([T,D,P],An=>{Lt=Ni(Lt,An," ")}),b&&ae?b.createHTML(Lt):Lt},t.setConfig=function(){let Re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Kn(Re),V=!0},t.clearConfig=function(){nn=null,V=!1},t.isValidAttribute=function(Re,de,Se){nn||Kn({});const Te=lt(Re),rt=lt(de);return zo(Te,rt,Se)},t.addHook=function(Re,de){typeof de=="function"&&Li(k[Re],de)},t.removeHook=function(Re,de){if(de!==void 0){const Se=sI(k[Re],de);return Se===-1?void 0:lI(k[Re],Se,1)[0]}return gh(k[Re])},t.removeHooks=function(Re){k[Re]=[]},t.removeAllHooks=function(){k=wh()},t}var AI=Sh();const wI=["innerHTML"],Ih=Oe({__name:"MarkdownRenderer",props:{source:{type:String,default:""},wrapperClass:{type:[String,Array,Object],default:""}},setup(e){const t=e,n=new Dn({html:!1,linkify:!0,breaks:!0}),r=he(()=>{const o=n.render(t.source||"");return AI.sanitize(o)});return(o,i)=>(B(),U("div",{class:ke(["markdown-renderer",e.wrapperClass]),innerHTML:r.value},null,10,wI))}},[["__scopeId","data-v-428be62b"]]),SI={class:"message-content"},II={key:0,class:"message-name"},TI={class:"ect-w-full"},OI=["onClick"],DI={class:"message-content"},MI={class:"message-text ect-relative"},FI={class:"ect-pr-1"},BI={class:"loading-message-skeleton"},RI={key:1,class:"buttons-wrapper ect-mt-[-8px]"},LI=Oe({__name:"chatMessages",props:{undoId:{type:String,default:""},strikethroughIds:{type:Array,default:()=>[]},messages:{type:Array,required:!0,default:()=>[]},chatIndex:{type:Number,default:0},dataChanged:{type:Boolean,default:!1},loadingMessage:{type:String,default:""},buttonLinks:{type:Array,default:()=>[]}},setup(e){const t=Qd(),n=G(null),r=G(null);fo();const o=co(),i=No(),a=e,s=he(()=>!(i!=null&&i.activeComponentKey)),l=()=>{n.value&&n.value.scrollTo({top:n.value.scrollHeight,behavior:"smooth"})};N0(()=>{a.messages.length>0&&$t(()=>{l()})}),N0(()=>{a.loadingMessage&&$t(()=>{l(),r.value&&(r.value.scrollTop=r.value.scrollHeight)})});const u=he(()=>{var f;return(f=o.chatStyles)==null?void 0:f.bgColor}),c=he(()=>`linear-gradient(180deg, ${u.value} 0%, transparent 100%)`),p=he(()=>{var f;return(f=o.chatStyles)==null?void 0:f.textColor}),d=(f,y,h=!1)=>{if(typeof f=="string"&&f.startsWith("playbookNavigate:")){const v=f.slice(17);i.navigateToBean(v);return}f==="addProducts"?i.loadComponent("catalog"):f==="quoteDocument"?t.openQuoteDocument(y.requestId):f==="quoteItem"?i.loadComponent("cart"):f==="Undo"&&o.undoAction(y.requestId)},m=f=>{if(!f)return"";let y=f.replace(/\\r\\n/g,`
|
|
185
185
|
`).replace(/\\n/g,`
|
|
186
186
|
`).replace(/\\r/g,`
|
|
187
|
-
`);return y=y.replace(/^[ \t]*•[ \t]+/gm,"- "),y};return(f,y)=>(B(),U("div",{class:ke(["chat-messages",{"root-path":s.value}])},[C("div",{class:"chat-gradient",style:Ae({background:c.value})},null,4),C("div",{ref_key:"chatMessagesRef",ref:n,class:"messages-wrapper"},[(B(!0),U(_e,null,Me([...e.messages],(h,v)=>{var g;return B(),U("div",{key:v,class:ke(["message",{"user-message":h.type==="user"}])},[C("div",SI,[h.name?(B(),U("div",II,ye(h.name),1)):ce("",!0),C("div",{class:ke(["message-text ect-relative",{"error-message":h.error,strikethrough:h.undone}]),style:Ae(h.type==="user"?{color:p.value,backgroundColor:u.value}:{})},[C("div",TI,[ue(Ih,{source:m(h.message)},null,8,["source"])]),h.isDML&&h.type=="agent"?(B(),U("button",{key:0,class:"undo-button",onClick:x=>d("Undo",h)},[ue(je,{icon:"undo",size:"12"})],8,OI)):ce("",!0),((g=h==null?void 0:h.filesData)==null?void 0:g.length)>0?(B(!0),U(_e,{key:1},Me(h==null?void 0:h.filesData,x=>(B(),xe(IA,{key:x.name,info:{iconUrl:(x==null?void 0:x.type)==="csv"?we(E2):we(k2),fileName:x==null?void 0:x.name,fileSize:x==null?void 0:x.size},background:h.type=="user"?"#fff":"#f8f8f8","encoded-string":x==null?void 0:x.encodedString},null,8,["info","background","encoded-string"]))),128)):ce("",!0)],6)])],2)}),128)),e.loadingMessage?(B(),U("div",{key:0,class:ke(["loading-message",{"thinking-message":we(o).isThinkingMessage}])},[C("div",{class:ke(["ect-flex ect-gap-3",{"ect-w-full":we(o).isThinkingMessage}])},[C("div",DI,[C("div",MI,[C("div",{ref_key:"loadingWindowRef",ref:r,class:"loading-window"},[C("div",FI,[ue(Ih,{source:m(e.loadingMessage)},null,8,["source"])])],512)]),C("div",BI,[ue(hb,{style:{height:"100%",width:"100%"}})])])],2)],2)):e.buttonLinks.length>0?(B(),U("div",RI,[ue(EA,{links:e.buttonLinks,onPerformAction:d},null,8,["links"])])):ce("",!0)],512)],2))}},[["__scopeId","data-v-6ea9bef5"]]),NI={class:"ai-upload ect-flex-inline ect-items-center"},PI=Oe({__name:"FileUpload",props:{resetFileInput:{type:Boolean,default:!1}},emits:["upload-status","error"],setup(e,{emit:t}){const n=e,r=t,o=G(null),i=G(""),a=G(""),s=G(!1);ze(()=>n.resetFileInput,p=>{p&&o.value&&(o.value.value="",i.value="",a.value="")});const l=p=>{const m=o.value.accept.split(",").map(y=>y.trim().toLowerCase()),f="."+p.name.split(".").pop().toLowerCase();return m.includes(f)||m.includes(p.type.toLowerCase())?!0:m.some(y=>{if(y.includes("*")){const h=y.split("*")[0];return p.type.toLowerCase().startsWith(h)}return!1})},u=async p=>{const d=p.target.files[0];if(console.info("File = ",d),d){if(!l(d)){o.value&&(o.value.value="");const f={message:"Invalid file type. Please upload a valid file type.",fileName:d.name,fileType:d.type};window&&window.$toast&&window.$toast.add({severity:"error",summary:"File Upload Error",detail:f.message,life:5e3}),r("error",f);return}i.value=d.name,a.value=d.type.split("/").pop(),r("upload-status",{status:"uploading",fileName:i.value,fileType:a.value});const m=new FileReader;m.onload=async f=>{const y=new Blob([f.target.result],{type:d.type});console.info("Blob data:",y);try{const h=await n3(y),v={attachment:{name:d.name,data:h}};console.info("AIRequestPayload = ",v),r("upload-status",{status:"uploaded",fileName:i.value,fileType:a.value,size:Gd(d.size),fileData:v}),o.value&&(o.value.value="")}catch(h){console.info("[ERROR]: File upload error:",h),window&&window.$toast&&window.$toast.add({severity:"error",summary:"File Processing Error",detail:"Error processing file: "+(h.message||"Unknown error"),life:5e3}),r("error",{message:"Error processing file",fileName:i.value,fileType:a.value,error:h.message}),r("upload-status",{status:"error",fileName:i.value,fileType:a.value})}},m.onerror=f=>{console.info("[ERROR]: FileReader error:",f),window&&window.$toast&&window.$toast.add({severity:"error",summary:"File Reading Error",detail:"Could not read the selected file",life:5e3}),r("error",{message:"Error reading file",fileName:d.name,fileType:d.type,error:f})},setTimeout(()=>{m.readAsText(d)},100)}},c=()=>{o.value.click()};return(p,d)=>(B(),U("div",NI,[C("input",{ref_key:"fileInput",ref:o,type:"file",accept:".csv, .xls, .xlsx, text/csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",class:"ect-opacity-0 ect-h-0 ect-w-0 ect-absolute",onChange:u},null,544),C("button",{class:"attachment-button",onClick:c,onMouseenter:d[0]||(d[0]=m=>s.value=!0),onMouseleave:d[1]||(d[1]=m=>s.value=!1)},[ue(je,{icon:"attachment",size:"11",height:"17",color:s.value?"#198708":"#828282"},null,8,["color"])],32)]))}},[["__scopeId","data-v-c0e7f2d6"]]),qI={key:0,class:"suggestions-container"},$I={key:0,class:"logo-section"},jI={class:"help-text-section"},UI={key:0,class:"help-text"},HI={key:1,class:"sub-help-text"},VI=["onClick"],zI={key:2,class:"suggestions-list"},KI=["onClick"],XI=Oe({__name:"AISuggestionsDropdown",props:{options:{type:Array,required:!0},helpText:{type:String,default:""},subHelpText:{type:String,default:""},showSuggestions:{type:Boolean,default:!1}},emits:["select","preview"],setup(e,{emit:t}){const n=e,r=t,o=G(0),i=G(0),a=G(null),s=G(null),l=d=>{a.value=d,i.value=0},u=()=>{a.value=null,o.value=0},c=d=>{r("select",d)},p=d=>{if(n.showSuggestions)switch(d.key){case"ArrowDown":d.preventDefault(),a.value?(i.value=(i.value+1)%a.value.subOptions.length,r("preview",a.value.subOptions[i.value])):(o.value=(o.value+1)%n.options.length,r("preview",n.options[o.value].title));break;case"ArrowUp":d.preventDefault(),a.value?(i.value=i.value-1<0?a.value.subOptions.length-1:i.value-1,r("preview",a.value.subOptions[i.value])):(o.value=o.value-1<0?n.options.length-1:o.value-1,r("preview",n.options[o.value].title));break;case"Enter":d.preventDefault(),a.value?c(a.value.subOptions[i.value]):l(n.options[o.value]);break;case"Escape":case"ArrowLeft":case"Backspace":a.value&&(d.preventDefault(),u());break}};return ze(()=>n.showSuggestions,d=>{d?(window.addEventListener("keydown",p),a.value=null,o.value=0,i.value=0):window.removeEventListener("keydown",p)}),(d,m)=>e.showSuggestions?(B(),U("div",qI,[a.value?ce("",!0):(B(),U("div",$I,[ue(ub)])),C("div",jI,[e.helpText&&!a.value?(B(),U("div",UI,ye(e.helpText),1)):ce("",!0),e.subHelpText?(B(),U("div",HI,ye(e.subHelpText),1)):ce("",!0)]),a.value?(B(),U("div",zI,[(B(!0),U(_e,null,Me(a.value.subOptions,(f,y)=>(B(),U("div",{key:y,class:ke(["sub-option",{"sub-active":i.value===y}]),onClick:h=>c(f)},ye(f),11,KI))),128))])):(B(),U("div",{key:1,ref_key:"suggestionsList",ref:s,class:"suggestions-list"},[(B(!0),U(_e,null,Me(e.options,(f,y)=>(B(),U("div",{key:y,class:ke(["suggestion-item",{active:o.value===y}]),onClick:h=>l(f)},ye(f.title),11,VI))),128))],512))])):ce("",!0)}},[["__scopeId","data-v-c6b24ba6"]]),GI={class:"chat-file-info"},WI={class:"ect-flex ect-gap-2 ect-items-center ect-self-stretch ect-my-auto ect-text-xs ect-font-medium ect-text-black"},QI=["src"],ZI={class:"ect-self-stretch ect-my-auto"},JI={key:0,class:"ect-flex ect-gap-2 ect-justify-center ect-items-center ect-self-stretch ect-my-auto ect-w-4 ect-h-4"},YI=Oe({__name:"ChatInputFileInfo",props:{fileInfo:{type:Object,required:!0}},emits:["cancel"],setup(e,{emit:t}){const n=t,r=()=>{n("cancel")};return(o,i)=>(B(),U("div",GI,[C("div",WI,[C("img",{loading:"lazy",src:e.fileInfo.fileType==="csv"?we(E2):we(k2),class:"ect-object-contain ect-shrink-0 ect-self-stretch ect-my-auto ect-w-7 ect-aspect-square",alt:""},null,8,QI),C("div",ZI,ye(e.fileInfo.fileName),1)]),e.fileInfo.status==="uploading"?(B(),U("div",JI,[ue(Ru,{size:18})])):ce("",!0),e.fileInfo.status==="uploaded"?(B(),U("button",{key:1,class:"ect-flex ect-gap-2 ect-justify-center ect-items-center ect-self-stretch ect-my-auto ect-w-4 ect-h-4",onClick:r},[ue(je,{icon:"close",size:"8"})])):ce("",!0)]))}},[["__scopeId","data-v-a3d6dc17"]]),eT={class:"chat-input-wrapper"},tT={class:"chat-input-inner"},nT={class:"input-row"},rT=["disabled","placeholder","onKeydown"],oT={key:1,class:"icon-wrapper"},iT={class:"icon-wrapper"},aT=Oe({__name:"chatInput",props:{modelValue:{type:String,default:""},loading:{type:Boolean,default:!1},placeholder:{type:String,default:"Ask Genesis AI"},helpText:{type:String,default:"Here are few areas where I can help"},subHelpText:{type:String,default:"Suggestions by Genesis (Click to Apply)"},showFile:{type:Boolean,default:!1},showMic:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","submit","speak","file-upload-status"],setup(e,{emit:t}){const n=e,r=t;co();const o=xn(),i=No(),a=G({}),s=G(!1),l=G(!1),u=G(n.modelValue),c=G(null),p=he(()=>{const S=i.currentStep||null;return(Array.isArray(S==null?void 0:S.promptGuidance)?S.promptGuidance:[]).slice().sort((w,k)=>Number((w==null?void 0:w.sequenceNumber)??0)-Number((k==null?void 0:k.sequenceNumber)??0)).map(w=>{const T=(Array.isArray(w==null?void 0:w.relatedPG)?w.relatedPG:[]).slice().sort((D,P)=>Number((D==null?void 0:D.sequenceNumber)??0)-Number((P==null?void 0:P.sequenceNumber)??0)).map(D=>D.pgName);return{title:w.pgName,subOptions:T}})}),d=he(()=>{var S;return(S=p.value)!=null&&S.length?p.value:[]}),m=he(()=>{var S;return(S=p.value)!=null&&S.length?"Prompt Guidance":n.helpText});ze(()=>n.loading,async(S,I)=>{!S&&I&&(await $t(),c.value.focus())}),ze(u,S=>{r("update:modelValue",S),$t(()=>b())}),ze(()=>n.modelValue,S=>{u.value=S});const f=S=>{console.info("[ERROR]: File upload error:",S),o.handleError(S,"ChatInput")},y=()=>{u.value.trim()&&(l.value=!1,r("submit",u.value),c.value&&(c.value.style.height="32px"),a.value=null)},h=S=>{u.value=S,l.value=!1,$t(()=>{b(),c.value&&(c.value.focus(),c.value.selectionStart=c.value.selectionEnd=u.value.length)})},v=S=>{u.value=S,$t(()=>b())},g=()=>{l.value=!1},x=S=>{console.info("handleFileUploadStatus event = ",S),S!=null&&S.fileName?(a.value=S,r("file-upload-status",S)):(a.value=null,s.value=!0,r("file-upload-status",null),setTimeout(()=>{s.value=!1},3e3))},b=()=>{const S=c.value;if(!S)return;S.style.height="auto";const w=Math.max(32,Math.min(S.scrollHeight,120));S.style.height=`${w}px`},_=()=>{console.info("removeFile"),a.value=null,s.value=!0,r("file-upload-status",null),setTimeout(()=>{s.value=!1},100)},E=()=>{l.value=!1,b()};return(S,I)=>{var w,k,T,D,P;const O=R0("click-outside");return bn((B(),U("div",eT,[ue(XI,{options:d.value,"help-text":m.value,"sub-help-text":e.subHelpText,"show-suggestions":l.value,onSelect:h,onPreview:v},null,8,["options","help-text","sub-help-text","show-suggestions"]),C("div",tT,[C("div",nT,[C("div",{class:ke(["icon-wrapper",{"active-suggestions":l.value,disabled:((w=d.value)==null?void 0:w.length)<=0}])},[ue(je,{disabled:((k=d.value)==null?void 0:k.length)<=0||e.loading,color:((T=d.value)==null?void 0:T.length)<=0?"#DEDEDE":l.value?"#198708":"#828282",icon:"suggestions",size:"13",height:15,onClick:I[0]||(I[0]=K=>l.value=!l.value)},null,8,["disabled","color"])],2),bn(C("textarea",{ref_key:"textareaRef",ref:c,"onUpdate:modelValue":I[1]||(I[1]=K=>u.value=K),disabled:e.loading,placeholder:e.placeholder,rows:"1",onKeydown:Ln(vt(y,["exact","prevent"]),["enter"]),onInput:E},null,40,rT),[[ro,u.value]]),e.showFile?(B(),U("div",{key:0,class:ke(["icon-wrapper",{"file-upload-disabled":e.loading}])},[ue(PI,{"reset-file-input":s.value,onUploadStatus:x,onError:f},null,8,["reset-file-input"])],2)):ce("",!0),e.showMic?(B(),U("div",oT,[ue(je,{color:"#828282",disabled:e.loading,icon:"mic",size:"13",height:15,onClick:I[2]||(I[2]=K=>S.$emit("speak"))},null,8,["disabled"])])):ce("",!0),C("div",iT,[(B(),xe(je,{key:1,disabled:e.loading,icon:"send",size:"20",onClick:y},null,8,["disabled"]))])]),((D=a.value)==null?void 0:D.status)==="uploading"||((P=a.value)==null?void 0:P.status)==="uploaded"?(B(),xe(YI,{key:0,class:"ect-mt-3 ect-mb-0.5","file-info":a.value,onCancel:_},null,8,["file-info"])):ce("",!0)])])),[[O,g]])}}},[["__scopeId","data-v-2ddb0a7b"]]),sT=["data-test-id"],lT=["data-test-id"],uT=["data-test-id"],cT=Oe({__name:"aiChat",props:{dataTestId:{type:String,required:!0},isExternalGuidance:{type:Boolean,required:!1,default:!1}},setup(e){const t=No(),n=co(),r=G(null),o=he(()=>{var l;return((l=t.getCurrentStepLinks)==null?void 0:l.call(t))||[]}),i=he(()=>!0),a=l=>{console.info("[aiChat] handleSubmit",{hasFileData:!!r.value,messageLength:(l||"").length}),r.value?(console.info("[aiChat] sending with file attachment"),n.sendMessage(l,!0,r.value)):(console.info("[aiChat] sending without attachment"),n.sendMessage(l))},s=l=>{console.info("ChatScreen handleFileUploadStatus event = ",l),l!=null&&l.fileData?(r.value=l.fileData,n.attachmentData={size:l.size,type:l.fileType,name:l.fileName}):(r.value=null,n.attachmentData=null)};return(l,u)=>(B(),U("div",{class:"chat-screen","data-test-id":e.dataTestId},[C("div",{class:ke(["messages-container",{"playbook-steps-mode-hybrid":we(t).playbookStepsMode==="hybrid","playbook-steps-mode-full":we(t).playbookStepsMode==="full","dxp-guiddance":e.isExternalGuidance}]),"data-test-id":`${e.dataTestId}-messages-container`},[ue(LI,{messages:we(n).chatHistory,"loading-message":we(n).loadingMessage,"undo-id":we(n).latestDMLRequest,"button-links":o.value,"strikethrough-ids":we(n).strikethroughHistory,"data-changed":we(n).dataManuallyChanged,"data-test-id":`${e.dataTestId}-messages`},null,8,["messages","loading-message","undo-id","button-links","strikethrough-ids","data-changed","data-test-id"])],10,lT),C("div",{class:"input-container","data-test-id":`${e.dataTestId}-input-container`},[ue(aT,{modelValue:we(n).promptMessage,"onUpdate:modelValue":u[0]||(u[0]=c=>we(n).promptMessage=c),disabled:!i.value,"file-info":r.value,loading:!!we(n).loadingMessage,"data-test-id":`${e.dataTestId}-input`,onSubmit:a,onFileUploadStatus:s},null,8,["modelValue","disabled","file-info","loading","data-test-id"])],8,uT)],8,sT))}},[["__scopeId","data-v-1b825cde"]]),dT={class:"ect-h-full ect-w-full ect-flex ect-items-center ect-justify-center","data-test-id":"configurator-not-found"},fT={class:"ect-max-w-[720px] ect-p-[50px] ect-border ect-rounded-lg ect-bg-white ect-shadow-sm"},hT={class:"ect-text-[40px] ect-leading-none ect-mb-3"},pT=C("div",{class:"ect-text-[22px] ect-font-normal ect-leading-normal ect-mb-[12px] ect-capitalize ect-text-[#5F5F5F]","data-test-id":"configurator-not-found-title"}," Product Configurator Not Found ",-1),mT=C("div",{class:"ect-text-sm ect-text-gray-500","data-test-id":"configurator-not-found-subtitle"}," Linked composable product configurator UI component for this screen is not found OR the composable product configurator UI component does not exist. Please create / connect one and try again. ",-1),yT={class:"ect-mt-4 ect-flex ect-items-center ect-justify-between ect-gap-6"},gT={__name:"MoleculeConfiguratorNotFound",emits:["return","go-cart"],setup(e){return(t,n)=>(B(),U("div",dT,[C("div",fT,[C("div",hT,[ue(je,{icon:"error",size:48})]),pT,mT,C("div",yT,[C("button",{type:"button",class:"ect-text-green-600 ect-text-sm ect-font-medium",onClick:n[0]||(n[0]=r=>t.$emit("return")),"data-test-id":"configurator-not-found-return"}," RETURN TO PRODUCT RESULTS "),C("button",{type:"button",class:"ect-text-green-600 ect-text-sm ect-font-medium",onClick:n[1]||(n[1]=r=>t.$emit("go-cart")),"data-test-id":"configurator-not-found-go-to-cart"}," GO TO CART ")])])]))}},vT=e=>(Xt("data-v-1f3fe309"),e=e(),Gt(),e),bT={class:"ect-h-full ect-w-full ect-bg-white","data-test-id":"aiComponentLoader-wrapper"},xT={key:4,class:"ect-h-full ect-w-full ect-flex ect-items-center ect-justify-center"},_T={class:"ect-text-center"},CT=vT(()=>C("div",{class:"ect-text-base ect-font-medium","data-test-id":"aiComponentLoader-fallback-title"}," No component to display for this step ",-1)),ET={class:"ect-text-sm ect-text-gray-500 ect-mt-2","data-test-id":"aiComponentLoader-fallback-subtitle"},kT=Oe({__name:"aiComponentLoader",props:{stepComponent:{type:String,default:null},identity:{type:Object,default:()=>({})},session:{type:Object,default:()=>({})},security:{type:Object,default:()=>({})},eCatalogId:{type:String,default:""},packageVersion:{type:String,default:""},composablesOrgType:{type:String,default:""},composablesApiKey:{type:String,default:""},templateId:{type:String,default:""},hostName:{type:String,default:""},graphqlEndpoint:{type:String,default:""},apiKey:{type:String,default:""},isPreview:{type:Boolean,default:!1},sections:{type:Array,default:()=>[]},theme:{type:Object,default:()=>({})},catalogPreviewData:{type:Object,default:()=>({})},catalogInitialData:{type:Array,default:()=>[]},catalogSearchTerm:{type:String,default:""},onCatalogCountUpdate:{type:Function,default:null},cartSections:{type:String,default:""},configItemId:{type:String,default:""},configQliId:{type:String,default:""},configApiKey:{type:String,default:""}},setup(e){const t=e,n=No(),r=N1(),o=he(()=>t.security||{}),i=he(()=>{const D=t.security||{},P=D.url||D.baseUrl||"",K=t.composablesApiKey||t.apiKey||"";return{url:P,apiKey:K}}),a=he(()=>{var D,P,K;return{orgType:t.composablesOrgType,orgId:(D=t.identity)==null?void 0:D.organizationId,userId:(P=t.identity)==null?void 0:P.userId,accountId:(K=t.identity)==null?void 0:K.accountId,opportunityId:t.opportunityId,userLocale:t.userLocale||"en_US",pricingSchema:"Single"}}),s=he(()=>{const D=n==null?void 0:n.activeComponentKey,P=t.stepComponent;return(D||P||"").toString().trim().toLowerCase().replace(/[^a-z0-9]+/g,"_")}),l=he(()=>{var Z,ne;const D=!!t.templateId,P=!!((Z=t.identity)!=null&&Z.organizationId),K=!!((ne=t.identity)!=null&&ne.accountId),$=typeof t.cartSections=="string"&&t.cartSections.length>0;return D&&P&&K&&$}),u=he(()=>{var P;if(Array.isArray(t.catalogInitialData)&&t.catalogInitialData.length>0)return t.catalogInitialData;const D=((P=n==null?void 0:n.activeComponentData)==null?void 0:P.payload)||{};if(D.catalog&&typeof D.catalog=="object")try{const $=Object.values(D.catalog).map(Z=>{var ne;return(ne=Z==null?void 0:Z.catalogResponse)==null?void 0:ne.productInfo}).filter(Boolean);if($.length>0)return $}catch{}return Array.isArray(D.initialData)&&D.initialData.length>0?D.initialData:Array.isArray(D.catalogInitialData)&&D.catalogInitialData.length>0?D.catalogInitialData:Array.isArray(D.items)&&D.items.length>0?D.items:[]}),c=he(()=>{var P;const D=((P=n==null?void 0:n.activeComponentData)==null?void 0:P.payload)||{};return t.catalogSearchTerm||D.searchTerm||""}),p=he(()=>{var P,K,$,Z,ne,ee;const D=((Z=($=(K=(P=n==null?void 0:n.activeComponentData)==null?void 0:P.payload)==null?void 0:K.savedProducts)==null?void 0:$[0])==null?void 0:Z.itemId)||((ne=n==null?void 0:n.activeComponentData)==null?void 0:ne.payload)&&Object.keys(((ee=n.activeComponentData.payload)==null?void 0:ee.quoteConfiguration)||{})[0]||"";return t.configItemId||D||""}),d=he(()=>{var P,K,$,Z;return((Z=($=(K=(P=n==null?void 0:n.activeComponentData)==null?void 0:P.payload)==null?void 0:K.savedProducts)==null?void 0:$[0])==null?void 0:Z.qliId)||""}),m=he(()=>!!p.value),f=he(()=>s.value==="configurator"&&!m.value?"Configurator requires an itemId (and optional qliId). Provide via playbook payload or props.":s.value==="catalog"?"Catalog step is active. Provide templateId/sections/theme when available.":s.value==="cart"?"Cart step is active.":"Awaiting playbook step selection."),y=he(()=>{try{return JSON.stringify((n==null?void 0:n.activeComponentData)||{})}catch{return""}}),h=he(()=>`catalog::${y.value}`),v=he(()=>`cart::${y.value}`),g=he(()=>`configurator::${p.value||""}::${d.value||""}::${y.value}`),x=D=>{console.log("onQuoteCreated",D)},b=D=>{console.log("onQuoteUpdated",D)},_=D=>{console.log("onItemAdded",D)},E=D=>{console.log("onItemQtyUpdated",D)},S=D=>{console.log("onLineDeleted",D)},I=D=>{console.log("onQuoteItemsFetched",D)},O=()=>{var $,Z;const D=(($=n==null?void 0:n.currentPlaybook)==null?void 0:$.playBookSteps)||[],P=ne=>String(ne||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_"),K=D.findIndex(ne=>P(ne==null?void 0:ne.stepComponent)==="catalog"||P(ne==null?void 0:ne.stepName).includes("catalog"));if(K>=0){const ne=(Z=D[K])==null?void 0:Z.stepName;n.navigateToStep({stepName:ne})}else n.showEmbeddedComponent("catalog")},w=()=>{var $,Z;const D=(($=n==null?void 0:n.currentPlaybook)==null?void 0:$.playBookSteps)||[],P=ne=>String(ne||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_"),K=D.findIndex(ne=>P(ne==null?void 0:ne.stepComponent)==="cart"||P(ne==null?void 0:ne.stepName).includes("cart"));if(K>=0){const ne=(Z=D[K])==null?void 0:Z.stepName;n.navigateToStep({stepName:ne})}else n.showEmbeddedComponent("cart")},k=D=>{var P,K;console.log("onItemConfigureClicked",D);try{const $=(D==null?void 0:D.itemId)||"",Z=(D==null?void 0:D.qliId)||(D==null?void 0:D.QliId)||"",ne=[];if($){const M={itemId:$};Z&&(M.qliId=Z),ne.push(M)}const ee={payload:{savedProducts:ne}},N=((P=n==null?void 0:n.currentPlaybook)==null?void 0:P.playBookSteps)||[],A=M=>String(M||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_"),F=N.findIndex(M=>{const j=A(M==null?void 0:M.stepComponent),z=A(M==null?void 0:M.stepName);return j==="configurator"||z.includes("configure")});if(F>=0){const M=(K=N[F])==null?void 0:K.stepName;n.navigateToStep({stepName:M,data:ee})}else n.showEmbeddedComponent("configurator",ee)}catch($){console.warn("[aiComponentLoader] Failed to navigate to configurator from configure click:",$),n.showEmbeddedComponent("configurator",{payload:{}})}},T=D=>{var P,K;try{const $=(D==null?void 0:D.itemId)||"",Z=(D==null?void 0:D.lineItemId)||(D==null?void 0:D.qliId)||"",ne=[];if($){const M={itemId:$};Z&&(M.qliId=Z),ne.push(M)}const ee={payload:{savedProducts:ne}},N=((P=n==null?void 0:n.currentPlaybook)==null?void 0:P.playBookSteps)||[],A=M=>String(M||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_"),F=N.findIndex(M=>{const j=A(M==null?void 0:M.stepComponent),z=A(M==null?void 0:M.stepName);return j==="configurator"||z.includes("configure")});if(F>=0){const M=(K=N[F])==null?void 0:K.stepName;n.navigateToStep({stepName:M,data:ee})}else n.showEmbeddedComponent("configurator",ee)}catch($){console.warn("[aiComponentLoader] Failed to navigate to configurator from cart configure click:",$),n.showEmbeddedComponent("configurator",{payload:{}})}};return(D,P)=>{var K,$,Z,ne,ee,N,A;return B(),U("div",bT,[s.value==="catalog"?(B(),xe(_2,{key:h.value,"data-test-id":"aiComponentLoader-catalog",class:"ect-h-full ect-w-full","template-id":e.templateId,identity:e.identity,session:e.session,security:o.value,"search-term":c.value,"on-catalog-count-update":e.onCatalogCountUpdate,"preview-data":e.catalogPreviewData,"initial-data":u.value,sections:e.sections,theme:e.theme,"host-name":e.hostName,"graphql-endpoint":e.graphqlEndpoint,"api-key":e.apiKey,"composables-org-type":e.composablesOrgType,onCatalogQuoteCreated:x,onCatalogQuoteUpdated:b,onCatalogItemAdded:_,onCatalogItemQtyUpdated:E,onCatalogLineDeleted:S,onCatalogItemsFetched:I,onCatalogItemConfigure:k},null,8,["template-id","identity","session","security","search-term","on-catalog-count-update","preview-data","initial-data","sections","theme","host-name","graphql-endpoint","api-key","composables-org-type"])):s.value==="cart"&&l.value?(B(),xe(C2,{key:v.value,"data-test-id":"aiComponentLoader-cart",class:"ect-h-full ect-w-full","template-id":e.templateId,"organization-id":(K=e.identity)==null?void 0:K.organizationId,"account-id":($=e.identity)==null?void 0:$.accountId,cid:(Z=e.identity)==null?void 0:Z.contactId,"user-id":(ne=e.identity)==null?void 0:ne.userId,"quote-id":(ee=e.session)==null?void 0:ee.quoteId,"host-name":e.hostName,"graphql-endpoint":e.graphqlEndpoint,"api-key":e.apiKey,"composables-api-url":(N=e.security)==null?void 0:N.baseUrl,"composables-api-key":e.composablesApiKey,"composables-org-type":e.composablesOrgType,onExpeditecartItemConfigure:T},null,8,["template-id","organization-id","account-id","cid","user-id","quote-id","host-name","graphql-endpoint","api-key","composables-api-url","composables-api-key","composables-org-type"])):s.value==="configurator"&&m.value?(B(),xe(i2,{key:g.value,"data-test-id":"aiComponentLoader-configurator",class:"ect-h-full ect-w-full","item-id":p.value,"qli-id":d.value||e.configQliId||void 0,"quote-id":(A=e.session)==null?void 0:A.quoteId,"security-context":i.value,"setup-data":a.value,onReady:we(r).setExpediteConfigComp},null,8,["item-id","qli-id","quote-id","security-context","setup-data","onReady"])):s.value==="configurator"&&!m.value?(B(),xe(gT,{key:3,onReturn:O,onGoCart:w})):(B(),U("div",xT,[C("div",_T,[CT,C("div",ET,ye(f.value),1)])]))])}}},[["__scopeId","data-v-1f3fe309"]]),AT={class:"ai-guidance-wrapper","data-test-id":"aiGuidance-wrapper"},wT={key:0,class:"ai-guidance-loader"},ST={class:"ai-app-chat-wrapper"},IT={key:0,class:"component-loader-wrapper"},TT=Oe({__name:"aiGuidance",props:{playbookId:{type:String,required:!0},playbookData:{type:Object,required:!1},composablesOrgType:{type:String,required:!0},identity:{type:Object,required:!1,default:()=>({})},session:{type:Object,required:!1,default:()=>({})},security:{type:Object,required:!1,default:()=>({})},websocketUrl:{type:String,required:!0},packageVersion:{type:String,required:!0},composablesApiKey:{type:String,required:!0},eCatalogId:{type:String,required:!0},hostName:{type:String,required:!1},graphqlEndpoint:{type:String,required:!1},apiKey:{type:String,required:!1},isPreview:{type:Boolean,required:!1,default:!1},catalogSections:{type:Array,required:!1,default:()=>[]},cartSections:{type:String,required:!1,default:""},theme:{type:Object,required:!1,default:()=>({})}},setup(e){const t=No(),n=Zt(),r=co(),o=G(!1),i=G(!1),a=G(!0),s=G(!0),l=G(!1),u=e,{composablesOrgType:c,websocketUrl:p,packageVersion:d,composablesApiKey:m,eCatalogId:f,identity:y,session:h,security:v,templateId:g,hostName:x,graphqlEndpoint:b,apiKey:_,isPreview:E,catalogSections:S,cartSections:I,theme:O}=u;Wt(async()=>{console.log("composablesApiKey",m),console.log("security",v),console.log("apiKey",_),n.updateConfig({userId:y==null?void 0:y.userId,organizationId:y==null?void 0:y.organizationId,composablesApiKey:m,composablesApiUrl:v==null?void 0:v.baseUrl,composablesOrgType:c,websocketUrl:p,quoteId:h==null?void 0:h.quoteId,packageVersion:d,eCatalogId:f,accountId:y==null?void 0:y.accountId,templateId:g,hostName:x,graphqlEndpoint:b,apiKey:(v==null?void 0:v.apiKey)||_,cid:y==null?void 0:y.contactId,isPreview:E}),u.playbookId&&(i.value=!0)}),At(async()=>{var T,D;o.value=!0,t.setEmbeddedMode(!0),u.playbookData?t.currentPlaybook=u.playbookData:i.value&&(await t.getPlaybookByKey(u.playbookId),t.showPlaybookSteps=!0),t.playbookStepsMode="full",r.setInitialPayload(),await r.connectSocket(),(D=(T=t.currentPlaybook)==null?void 0:T.playBookSteps)!=null&&D.length&&t.setCurrentStepName(t.currentPlaybook.playBookSteps[0].stepName),o.value=!1});const w=he(()=>{var P;const T=((P=t.currentPlaybook)==null?void 0:P.playBookSteps)||[],D=t.currentStepName;return T.find(K=>K.stepName===D)||T[0]||null}),k=he(()=>{var T;return((T=w.value)==null?void 0:T.stepComponent)||null});return ze(()=>t.activeComponentKey,T=>{T&&(a.value=!1)}),(T,D)=>{var P;return B(),U("div",AT,[ue(Bu,{icon:"logo",color:"#000000",size:"18.75",height:"16.25"}),o.value?(B(),U("div",wT," Loading the AI Guidance component... ")):(B(),U("div",{key:1,class:ke(["ai-app",{"root-path":a.value,"playbook-steps-mode-full":we(t).playbookStepsMode==="full","dxp-guiddance":i.value}])},[C("div",ST,[ue(cT,{"data-test-id":"chat-screen","is-external-guidance":i.value},null,8,["is-external-guidance"])]),!a.value&&s.value&&!l.value?(B(),U("div",IT,[we(t).currentPlaybook?(B(),xe(kT,{key:0,"template-id":((P=w.value)==null?void 0:P.templateId)||we(g),"step-component":k.value,identity:we(y),session:we(h),security:we(v),"composables-org-type":we(c),"composables-api-key":we(m),"e-catalog-id":we(f),"package-version":we(d),"host-name":we(x),"graphql-endpoint":we(b),"api-key":we(_),"is-preview":we(E),sections:we(S),"cart-sections":we(I),theme:we(O),"data-test-id":"aiComponentLoader-mounted"},null,8,["template-id","step-component","identity","session","security","composables-org-type","composables-api-key","e-catalog-id","package-version","host-name","graphql-endpoint","api-key","is-preview","sections","cart-sections","theme"])):ce("",!0)])):ce("",!0)],2))])}}},[["__scopeId","data-v-decd3ec7"]]);let Es=null;if(typeof window<"u"){try{Es=p6()}catch{}Es||(Es=m6(),gi(Es))}let ks=null,As=null;const Cc=new Set;let po=null;const Ec=new Map;async function OT(e){if(!e)return"";if(Ec.has(e))return Ec.get(e);try{const t=await fetch(e,{credentials:"omit",cache:"no-cache"});if(t.ok){const n=await t.text();return Ec.set(e,n),n}}catch(t){console.warn("[ExpediteComponents] Failed to fetch theme CSS:",t)}return""}async function kc(e,t){if(!e||!t)return;const n=e.querySelector("style[data-vue-expedite-theme]");n&&n.remove();try{const r=await OT(t);if(r){const o=document.createElement("style");o.setAttribute("data-vue-expedite-theme","true"),o.textContent=r,e.prepend(o)}}catch(r){console.warn("[ExpediteComponents] Failed to inject theme CSS:",r)}}function Ac(e){po=e||null,po&&Cc.forEach(t=>{t&&t.shadowRoot&&kc(t.shadowRoot,po)})}async function DT(){return ks||As||(As=(async()=>{try{const e=new URL("./style.css",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ar&&Ar.src||new URL("vue-expedite-components.umd.cjs",document.baseURI).href).href,t=await fetch(e);if(t.ok)return ks=await t.text(),ks}catch(e){console.warn("[ExpediteComponents] Failed to load CSS:",e)}return null})(),As)}const ji=e=>class extends e{async connectedCallback(){if(super.connectedCallback&&super.connectedCallback(),Cc.add(this),!!this.shadowRoot){if(this.shadowRoot.querySelector("style[data-vue-expedite-style]")){po&&kc(this.shadowRoot,po);return}try{const t=await DT();if(t){const n=document.createElement("style");n.setAttribute("data-vue-expedite-style","true"),n.textContent=t,this.shadowRoot.prepend(n)}else{const n=new URL("./style.css",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ar&&Ar.src||new URL("vue-expedite-components.umd.cjs",document.baseURI).href).href,r=document.createElement("link");r.setAttribute("rel","stylesheet"),r.setAttribute("data-vue-expedite-style","true"),r.href=n,this.shadowRoot.prepend(r)}po&&kc(this.shadowRoot,po)}catch(t){console.warn("[ExpediteComponents] Failed to inject CSS:",t)}}}disconnectedCallback(){Cc.delete(this),super.disconnectedCallback&&super.disconnectedCallback()}},Th=ji(yi(i2)),Oh=ji(yi(Fx)),Dh=ji(yi(_2)),Mh=ji(yi(C2)),Fh=ji(yi(TT));function wc(){typeof window<"u"&&(customElements.get("vue-expedite-configurator")||customElements.define("vue-expedite-configurator",Th),customElements.get("vue-expedite-gpt")||customElements.define("vue-expedite-gpt",Oh),customElements.get("vue-expedite-catalog")||customElements.define("vue-expedite-catalog",Dh),customElements.get("vue-expedite-cart")||customElements.define("vue-expedite-cart",Mh),customElements.get("vue-expedite-ai-guidance")||customElements.define("vue-expedite-ai-guidance",Fh))}typeof window<"u"&&wc();const MT={register:wc,applyThemeToShadows:Ac};typeof window<"u"&&(window.VueExpediteComponents=Object.assign(window.VueExpediteComponents||{},{applyThemeToShadows:Ac})),yn.ExpediteAIGuidanceElement=Fh,yn.ExpediteCartElement=Mh,yn.ExpediteCatalogElement=Dh,yn.ExpediteConfiguratorElement=Th,yn.ExpediteGPTElement=Oh,yn.applyThemeToShadows=Ac,yn.default=MT,yn.registerWebComponents=wc,Object.defineProperties(yn,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
187
|
+
`);return y=y.replace(/^[ \t]*•[ \t]+/gm,"- "),y};return(f,y)=>(B(),U("div",{class:ke(["chat-messages",{"root-path":s.value}])},[C("div",{class:"chat-gradient",style:Ae({background:c.value})},null,4),C("div",{ref_key:"chatMessagesRef",ref:n,class:"messages-wrapper"},[(B(!0),U(_e,null,Me([...e.messages],(h,v)=>{var g;return B(),U("div",{key:v,class:ke(["message",{"user-message":h.type==="user"}])},[C("div",SI,[h.name?(B(),U("div",II,ye(h.name),1)):ce("",!0),C("div",{class:ke(["message-text ect-relative",{"error-message":h.error,strikethrough:h.undone}]),style:Ae(h.type==="user"?{color:p.value,backgroundColor:u.value}:{})},[C("div",TI,[ue(Ih,{source:m(h.message)},null,8,["source"])]),h.isDML&&h.type=="agent"?(B(),U("button",{key:0,class:"undo-button",onClick:x=>d("Undo",h)},[ue(je,{icon:"undo",size:"12"})],8,OI)):ce("",!0),((g=h==null?void 0:h.filesData)==null?void 0:g.length)>0?(B(!0),U(_e,{key:1},Me(h==null?void 0:h.filesData,x=>(B(),xe(IA,{key:x.name,info:{iconUrl:(x==null?void 0:x.type)==="csv"?we(E2):we(k2),fileName:x==null?void 0:x.name,fileSize:x==null?void 0:x.size},background:h.type=="user"?"#fff":"#f8f8f8","encoded-string":x==null?void 0:x.encodedString},null,8,["info","background","encoded-string"]))),128)):ce("",!0)],6)])],2)}),128)),e.loadingMessage?(B(),U("div",{key:0,class:ke(["loading-message",{"thinking-message":we(o).isThinkingMessage}])},[C("div",{class:ke(["ect-flex ect-gap-3",{"ect-w-full":we(o).isThinkingMessage}])},[C("div",DI,[C("div",MI,[C("div",{ref_key:"loadingWindowRef",ref:r,class:"loading-window"},[C("div",FI,[ue(Ih,{source:m(e.loadingMessage)},null,8,["source"])])],512)]),C("div",BI,[ue(hb,{style:{height:"100%",width:"100%"}})])])],2)],2)):e.buttonLinks.length>0?(B(),U("div",RI,[ue(EA,{links:e.buttonLinks,onPerformAction:d},null,8,["links"])])):ce("",!0)],512)],2))}},[["__scopeId","data-v-6ea9bef5"]]),NI={class:"ai-upload ect-flex-inline ect-items-center"},PI=Oe({__name:"FileUpload",props:{resetFileInput:{type:Boolean,default:!1}},emits:["upload-status","error"],setup(e,{emit:t}){const n=e,r=t,o=G(null),i=G(""),a=G(""),s=G(!1);ze(()=>n.resetFileInput,p=>{p&&o.value&&(o.value.value="",i.value="",a.value="")});const l=p=>{const m=o.value.accept.split(",").map(y=>y.trim().toLowerCase()),f="."+p.name.split(".").pop().toLowerCase();return m.includes(f)||m.includes(p.type.toLowerCase())?!0:m.some(y=>{if(y.includes("*")){const h=y.split("*")[0];return p.type.toLowerCase().startsWith(h)}return!1})},u=async p=>{const d=p.target.files[0];if(console.info("File = ",d),d){if(!l(d)){o.value&&(o.value.value="");const f={message:"Invalid file type. Please upload a valid file type.",fileName:d.name,fileType:d.type};window&&window.$toast&&window.$toast.add({severity:"error",summary:"File Upload Error",detail:f.message,life:5e3}),r("error",f);return}i.value=d.name,a.value=d.type.split("/").pop(),r("upload-status",{status:"uploading",fileName:i.value,fileType:a.value});const m=new FileReader;m.onload=async f=>{const y=new Blob([f.target.result],{type:d.type});console.info("Blob data:",y);try{const h=await n3(y),v={attachment:{name:d.name,data:h}};console.info("AIRequestPayload = ",v),r("upload-status",{status:"uploaded",fileName:i.value,fileType:a.value,size:Gd(d.size),fileData:v}),o.value&&(o.value.value="")}catch(h){console.info("[ERROR]: File upload error:",h),window&&window.$toast&&window.$toast.add({severity:"error",summary:"File Processing Error",detail:"Error processing file: "+(h.message||"Unknown error"),life:5e3}),r("error",{message:"Error processing file",fileName:i.value,fileType:a.value,error:h.message}),r("upload-status",{status:"error",fileName:i.value,fileType:a.value})}},m.onerror=f=>{console.info("[ERROR]: FileReader error:",f),window&&window.$toast&&window.$toast.add({severity:"error",summary:"File Reading Error",detail:"Could not read the selected file",life:5e3}),r("error",{message:"Error reading file",fileName:d.name,fileType:d.type,error:f})},setTimeout(()=>{m.readAsText(d)},100)}},c=()=>{o.value.click()};return(p,d)=>(B(),U("div",NI,[C("input",{ref_key:"fileInput",ref:o,type:"file",accept:".csv, .xls, .xlsx, text/csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",class:"ect-opacity-0 ect-h-0 ect-w-0 ect-absolute",onChange:u},null,544),C("button",{class:"attachment-button",onClick:c,onMouseenter:d[0]||(d[0]=m=>s.value=!0),onMouseleave:d[1]||(d[1]=m=>s.value=!1)},[ue(je,{icon:"attachment",size:"11",height:"17",color:s.value?"#198708":"#828282"},null,8,["color"])],32)]))}},[["__scopeId","data-v-c0e7f2d6"]]),qI={key:0,class:"suggestions-container"},$I={key:0,class:"logo-section"},jI={class:"help-text-section"},UI={key:0,class:"help-text"},HI={key:1,class:"sub-help-text"},VI=["onClick"],zI={key:2,class:"suggestions-list"},KI=["onClick"],XI=Oe({__name:"AISuggestionsDropdown",props:{options:{type:Array,required:!0},helpText:{type:String,default:""},subHelpText:{type:String,default:""},showSuggestions:{type:Boolean,default:!1}},emits:["select","preview"],setup(e,{emit:t}){const n=e,r=t,o=G(0),i=G(0),a=G(null),s=G(null),l=d=>{a.value=d,i.value=0},u=()=>{a.value=null,o.value=0},c=d=>{r("select",d)},p=d=>{if(n.showSuggestions)switch(d.key){case"ArrowDown":d.preventDefault(),a.value?(i.value=(i.value+1)%a.value.subOptions.length,r("preview",a.value.subOptions[i.value])):(o.value=(o.value+1)%n.options.length,r("preview",n.options[o.value].title));break;case"ArrowUp":d.preventDefault(),a.value?(i.value=i.value-1<0?a.value.subOptions.length-1:i.value-1,r("preview",a.value.subOptions[i.value])):(o.value=o.value-1<0?n.options.length-1:o.value-1,r("preview",n.options[o.value].title));break;case"Enter":d.preventDefault(),a.value?c(a.value.subOptions[i.value]):l(n.options[o.value]);break;case"Escape":case"ArrowLeft":case"Backspace":a.value&&(d.preventDefault(),u());break}};return ze(()=>n.showSuggestions,d=>{d?(window.addEventListener("keydown",p),a.value=null,o.value=0,i.value=0):window.removeEventListener("keydown",p)}),(d,m)=>e.showSuggestions?(B(),U("div",qI,[a.value?ce("",!0):(B(),U("div",$I,[ue(ub)])),C("div",jI,[e.helpText&&!a.value?(B(),U("div",UI,ye(e.helpText),1)):ce("",!0),e.subHelpText?(B(),U("div",HI,ye(e.subHelpText),1)):ce("",!0)]),a.value?(B(),U("div",zI,[(B(!0),U(_e,null,Me(a.value.subOptions,(f,y)=>(B(),U("div",{key:y,class:ke(["sub-option",{"sub-active":i.value===y}]),onClick:h=>c(f)},ye(f),11,KI))),128))])):(B(),U("div",{key:1,ref_key:"suggestionsList",ref:s,class:"suggestions-list"},[(B(!0),U(_e,null,Me(e.options,(f,y)=>(B(),U("div",{key:y,class:ke(["suggestion-item",{active:o.value===y}]),onClick:h=>l(f)},ye(f.title),11,VI))),128))],512))])):ce("",!0)}},[["__scopeId","data-v-c6b24ba6"]]),GI={class:"chat-file-info"},WI={class:"ect-flex ect-gap-2 ect-items-center ect-self-stretch ect-my-auto ect-text-xs ect-font-medium ect-text-black"},QI=["src"],ZI={class:"ect-self-stretch ect-my-auto"},JI={key:0,class:"ect-flex ect-gap-2 ect-justify-center ect-items-center ect-self-stretch ect-my-auto ect-w-4 ect-h-4"},YI=Oe({__name:"ChatInputFileInfo",props:{fileInfo:{type:Object,required:!0}},emits:["cancel"],setup(e,{emit:t}){const n=t,r=()=>{n("cancel")};return(o,i)=>(B(),U("div",GI,[C("div",WI,[C("img",{loading:"lazy",src:e.fileInfo.fileType==="csv"?we(E2):we(k2),class:"ect-object-contain ect-shrink-0 ect-self-stretch ect-my-auto ect-w-7 ect-aspect-square",alt:""},null,8,QI),C("div",ZI,ye(e.fileInfo.fileName),1)]),e.fileInfo.status==="uploading"?(B(),U("div",JI,[ue(Ru,{size:18})])):ce("",!0),e.fileInfo.status==="uploaded"?(B(),U("button",{key:1,class:"ect-flex ect-gap-2 ect-justify-center ect-items-center ect-self-stretch ect-my-auto ect-w-4 ect-h-4",onClick:r},[ue(je,{icon:"close",size:"8"})])):ce("",!0)]))}},[["__scopeId","data-v-a3d6dc17"]]),eT={class:"chat-input-wrapper"},tT={class:"chat-input-inner"},nT={class:"input-row"},rT=["disabled","placeholder","onKeydown"],oT={key:1,class:"icon-wrapper"},iT={class:"icon-wrapper"},aT=Oe({__name:"chatInput",props:{modelValue:{type:String,default:""},loading:{type:Boolean,default:!1},placeholder:{type:String,default:"Ask Genesis AI"},helpText:{type:String,default:"Here are few areas where I can help"},subHelpText:{type:String,default:"Suggestions by Genesis (Click to Apply)"},showFile:{type:Boolean,default:!1},showMic:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","submit","speak","file-upload-status"],setup(e,{emit:t}){const n=e,r=t;co();const o=xn(),i=No(),a=G({}),s=G(!1),l=G(!1),u=G(n.modelValue),c=G(null),p=he(()=>{const S=i.currentStep||null;return(Array.isArray(S==null?void 0:S.promptGuidance)?S.promptGuidance:[]).slice().sort((w,k)=>Number((w==null?void 0:w.sequenceNumber)??0)-Number((k==null?void 0:k.sequenceNumber)??0)).map(w=>{const T=(Array.isArray(w==null?void 0:w.relatedPG)?w.relatedPG:[]).slice().sort((D,P)=>Number((D==null?void 0:D.sequenceNumber)??0)-Number((P==null?void 0:P.sequenceNumber)??0)).map(D=>D.pgName);return{title:w.pgName,subOptions:T}})}),d=he(()=>{var S;return(S=p.value)!=null&&S.length?p.value:[]}),m=he(()=>{var S;return(S=p.value)!=null&&S.length?"Prompt Guidance":n.helpText});ze(()=>n.loading,async(S,I)=>{!S&&I&&(await $t(),c.value.focus())}),ze(u,S=>{r("update:modelValue",S),$t(()=>b())}),ze(()=>n.modelValue,S=>{u.value=S});const f=S=>{console.info("[ERROR]: File upload error:",S),o.handleError(S,"ChatInput")},y=()=>{u.value.trim()&&(l.value=!1,r("submit",u.value),c.value&&(c.value.style.height="32px"),a.value=null)},h=S=>{u.value=S,l.value=!1,$t(()=>{b(),c.value&&(c.value.focus(),c.value.selectionStart=c.value.selectionEnd=u.value.length)})},v=S=>{u.value=S,$t(()=>b())},g=()=>{l.value=!1},x=S=>{console.info("handleFileUploadStatus event = ",S),S!=null&&S.fileName?(a.value=S,r("file-upload-status",S)):(a.value=null,s.value=!0,r("file-upload-status",null),setTimeout(()=>{s.value=!1},3e3))},b=()=>{const S=c.value;if(!S)return;S.style.height="auto";const w=Math.max(32,Math.min(S.scrollHeight,120));S.style.height=`${w}px`},_=()=>{console.info("removeFile"),a.value=null,s.value=!0,r("file-upload-status",null),setTimeout(()=>{s.value=!1},100)},E=()=>{l.value=!1,b()};return(S,I)=>{var w,k,T,D,P;const O=R0("click-outside");return bn((B(),U("div",eT,[ue(XI,{options:d.value,"help-text":m.value,"sub-help-text":e.subHelpText,"show-suggestions":l.value,onSelect:h,onPreview:v},null,8,["options","help-text","sub-help-text","show-suggestions"]),C("div",tT,[C("div",nT,[C("div",{class:ke(["icon-wrapper",{"active-suggestions":l.value,disabled:((w=d.value)==null?void 0:w.length)<=0}])},[ue(je,{disabled:((k=d.value)==null?void 0:k.length)<=0||e.loading,color:((T=d.value)==null?void 0:T.length)<=0?"#DEDEDE":l.value?"#198708":"#828282",icon:"suggestions",size:"13",height:15,onClick:I[0]||(I[0]=K=>l.value=!l.value)},null,8,["disabled","color"])],2),bn(C("textarea",{ref_key:"textareaRef",ref:c,"onUpdate:modelValue":I[1]||(I[1]=K=>u.value=K),disabled:e.loading,placeholder:e.placeholder,rows:"1",onKeydown:Ln(vt(y,["exact","prevent"]),["enter"]),onInput:E},null,40,rT),[[ro,u.value]]),e.showFile?(B(),U("div",{key:0,class:ke(["icon-wrapper",{"file-upload-disabled":e.loading}])},[ue(PI,{"reset-file-input":s.value,onUploadStatus:x,onError:f},null,8,["reset-file-input"])],2)):ce("",!0),e.showMic?(B(),U("div",oT,[ue(je,{color:"#828282",disabled:e.loading,icon:"mic",size:"13",height:15,onClick:I[2]||(I[2]=K=>S.$emit("speak"))},null,8,["disabled"])])):ce("",!0),C("div",iT,[(B(),xe(je,{key:1,disabled:e.loading,icon:"send",size:"20",onClick:y},null,8,["disabled"]))])]),((D=a.value)==null?void 0:D.status)==="uploading"||((P=a.value)==null?void 0:P.status)==="uploaded"?(B(),xe(YI,{key:0,class:"ect-mt-3 ect-mb-0.5","file-info":a.value,onCancel:_},null,8,["file-info"])):ce("",!0)])])),[[O,g]])}}},[["__scopeId","data-v-2ddb0a7b"]]),sT=["data-test-id"],lT=["data-test-id"],uT=["data-test-id"],cT=Oe({__name:"aiChat",props:{dataTestId:{type:String,required:!0},isExternalGuidance:{type:Boolean,required:!1,default:!1}},setup(e){const t=No(),n=co(),r=G(null),o=he(()=>{var l;return((l=t.getCurrentStepLinks)==null?void 0:l.call(t))||[]}),i=he(()=>!0),a=l=>{console.info("[aiChat] handleSubmit",{hasFileData:!!r.value,messageLength:(l||"").length}),r.value?(console.info("[aiChat] sending with file attachment"),n.sendMessage(l,!0,r.value)):(console.info("[aiChat] sending without attachment"),n.sendMessage(l))},s=l=>{console.info("ChatScreen handleFileUploadStatus event = ",l),l!=null&&l.fileData?(r.value=l.fileData,n.attachmentData={size:l.size,type:l.fileType,name:l.fileName}):(r.value=null,n.attachmentData=null)};return(l,u)=>(B(),U("div",{class:"chat-screen","data-test-id":e.dataTestId},[C("div",{class:ke(["messages-container",{"playbook-steps-mode-hybrid":we(t).playbookStepsMode==="hybrid","playbook-steps-mode-full":we(t).playbookStepsMode==="full","dxp-guiddance":e.isExternalGuidance}]),"data-test-id":`${e.dataTestId}-messages-container`},[ue(LI,{messages:we(n).chatHistory,"loading-message":we(n).loadingMessage,"undo-id":we(n).latestDMLRequest,"button-links":o.value,"strikethrough-ids":we(n).strikethroughHistory,"data-changed":we(n).dataManuallyChanged,"data-test-id":`${e.dataTestId}-messages`},null,8,["messages","loading-message","undo-id","button-links","strikethrough-ids","data-changed","data-test-id"])],10,lT),C("div",{class:"input-container","data-test-id":`${e.dataTestId}-input-container`},[ue(aT,{modelValue:we(n).promptMessage,"onUpdate:modelValue":u[0]||(u[0]=c=>we(n).promptMessage=c),disabled:!i.value,"file-info":r.value,loading:!!we(n).loadingMessage,"data-test-id":`${e.dataTestId}-input`,onSubmit:a,onFileUploadStatus:s},null,8,["modelValue","disabled","file-info","loading","data-test-id"])],8,uT)],8,sT))}},[["__scopeId","data-v-97dcc560"]]),dT={class:"ect-h-full ect-w-full ect-flex ect-items-center ect-justify-center","data-test-id":"configurator-not-found"},fT={class:"ect-max-w-[720px] ect-p-[50px] ect-border ect-rounded-lg ect-bg-white ect-shadow-sm"},hT={class:"ect-text-[40px] ect-leading-none ect-mb-3"},pT=C("div",{class:"ect-text-[22px] ect-font-normal ect-leading-normal ect-mb-[12px] ect-capitalize ect-text-[#5F5F5F]","data-test-id":"configurator-not-found-title"}," Product Configurator Not Found ",-1),mT=C("div",{class:"ect-text-sm ect-text-gray-500","data-test-id":"configurator-not-found-subtitle"}," Linked composable product configurator UI component for this screen is not found OR the composable product configurator UI component does not exist. Please create / connect one and try again. ",-1),yT={class:"ect-mt-4 ect-flex ect-items-center ect-justify-between ect-gap-6"},gT={__name:"MoleculeConfiguratorNotFound",emits:["return","go-cart"],setup(e){return(t,n)=>(B(),U("div",dT,[C("div",fT,[C("div",hT,[ue(je,{icon:"error",size:48})]),pT,mT,C("div",yT,[C("button",{type:"button",class:"ect-text-green-600 ect-text-sm ect-font-medium",onClick:n[0]||(n[0]=r=>t.$emit("return")),"data-test-id":"configurator-not-found-return"}," RETURN TO PRODUCT RESULTS "),C("button",{type:"button",class:"ect-text-green-600 ect-text-sm ect-font-medium",onClick:n[1]||(n[1]=r=>t.$emit("go-cart")),"data-test-id":"configurator-not-found-go-to-cart"}," GO TO CART ")])])]))}},vT=e=>(Xt("data-v-1f3fe309"),e=e(),Gt(),e),bT={class:"ect-h-full ect-w-full ect-bg-white","data-test-id":"aiComponentLoader-wrapper"},xT={key:4,class:"ect-h-full ect-w-full ect-flex ect-items-center ect-justify-center"},_T={class:"ect-text-center"},CT=vT(()=>C("div",{class:"ect-text-base ect-font-medium","data-test-id":"aiComponentLoader-fallback-title"}," No component to display for this step ",-1)),ET={class:"ect-text-sm ect-text-gray-500 ect-mt-2","data-test-id":"aiComponentLoader-fallback-subtitle"},kT=Oe({__name:"aiComponentLoader",props:{stepComponent:{type:String,default:null},identity:{type:Object,default:()=>({})},session:{type:Object,default:()=>({})},security:{type:Object,default:()=>({})},eCatalogId:{type:String,default:""},packageVersion:{type:String,default:""},composablesOrgType:{type:String,default:""},composablesApiKey:{type:String,default:""},templateId:{type:String,default:""},hostName:{type:String,default:""},graphqlEndpoint:{type:String,default:""},apiKey:{type:String,default:""},isPreview:{type:Boolean,default:!1},sections:{type:Array,default:()=>[]},theme:{type:Object,default:()=>({})},catalogPreviewData:{type:Object,default:()=>({})},catalogInitialData:{type:Array,default:()=>[]},catalogSearchTerm:{type:String,default:""},onCatalogCountUpdate:{type:Function,default:null},cartSections:{type:String,default:""},configItemId:{type:String,default:""},configQliId:{type:String,default:""},configApiKey:{type:String,default:""}},setup(e){const t=e,n=No(),r=N1(),o=he(()=>t.security||{}),i=he(()=>{const D=t.security||{},P=D.url||D.baseUrl||"",K=t.composablesApiKey||t.apiKey||"";return{url:P,apiKey:K}}),a=he(()=>{var D,P,K;return{orgType:t.composablesOrgType,orgId:(D=t.identity)==null?void 0:D.organizationId,userId:(P=t.identity)==null?void 0:P.userId,accountId:(K=t.identity)==null?void 0:K.accountId,opportunityId:t.opportunityId,userLocale:t.userLocale||"en_US",pricingSchema:"Single"}}),s=he(()=>{const D=n==null?void 0:n.activeComponentKey,P=t.stepComponent;return(D||P||"").toString().trim().toLowerCase().replace(/[^a-z0-9]+/g,"_")}),l=he(()=>{var Z,ne;const D=!!t.templateId,P=!!((Z=t.identity)!=null&&Z.organizationId),K=!!((ne=t.identity)!=null&&ne.accountId),$=typeof t.cartSections=="string"&&t.cartSections.length>0;return D&&P&&K&&$}),u=he(()=>{var P;if(Array.isArray(t.catalogInitialData)&&t.catalogInitialData.length>0)return t.catalogInitialData;const D=((P=n==null?void 0:n.activeComponentData)==null?void 0:P.payload)||{};if(D.catalog&&typeof D.catalog=="object")try{const $=Object.values(D.catalog).map(Z=>{var ne;return(ne=Z==null?void 0:Z.catalogResponse)==null?void 0:ne.productInfo}).filter(Boolean);if($.length>0)return $}catch{}return Array.isArray(D.initialData)&&D.initialData.length>0?D.initialData:Array.isArray(D.catalogInitialData)&&D.catalogInitialData.length>0?D.catalogInitialData:Array.isArray(D.items)&&D.items.length>0?D.items:[]}),c=he(()=>{var P;const D=((P=n==null?void 0:n.activeComponentData)==null?void 0:P.payload)||{};return t.catalogSearchTerm||D.searchTerm||""}),p=he(()=>{var P,K,$,Z,ne,ee;const D=((Z=($=(K=(P=n==null?void 0:n.activeComponentData)==null?void 0:P.payload)==null?void 0:K.savedProducts)==null?void 0:$[0])==null?void 0:Z.itemId)||((ne=n==null?void 0:n.activeComponentData)==null?void 0:ne.payload)&&Object.keys(((ee=n.activeComponentData.payload)==null?void 0:ee.quoteConfiguration)||{})[0]||"";return t.configItemId||D||""}),d=he(()=>{var P,K,$,Z;return((Z=($=(K=(P=n==null?void 0:n.activeComponentData)==null?void 0:P.payload)==null?void 0:K.savedProducts)==null?void 0:$[0])==null?void 0:Z.qliId)||""}),m=he(()=>!!p.value),f=he(()=>s.value==="configurator"&&!m.value?"Configurator requires an itemId (and optional qliId). Provide via playbook payload or props.":s.value==="catalog"?"Catalog step is active. Provide templateId/sections/theme when available.":s.value==="cart"?"Cart step is active.":"Awaiting playbook step selection."),y=he(()=>{try{return JSON.stringify((n==null?void 0:n.activeComponentData)||{})}catch{return""}}),h=he(()=>`catalog::${y.value}`),v=he(()=>`cart::${y.value}`),g=he(()=>`configurator::${p.value||""}::${d.value||""}::${y.value}`),x=D=>{console.log("onQuoteCreated",D)},b=D=>{console.log("onQuoteUpdated",D)},_=D=>{console.log("onItemAdded",D)},E=D=>{console.log("onItemQtyUpdated",D)},S=D=>{console.log("onLineDeleted",D)},I=D=>{console.log("onQuoteItemsFetched",D)},O=()=>{var $,Z;const D=(($=n==null?void 0:n.currentPlaybook)==null?void 0:$.playBookSteps)||[],P=ne=>String(ne||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_"),K=D.findIndex(ne=>P(ne==null?void 0:ne.stepComponent)==="catalog"||P(ne==null?void 0:ne.stepName).includes("catalog"));if(K>=0){const ne=(Z=D[K])==null?void 0:Z.stepName;n.navigateToStep({stepName:ne})}else n.showEmbeddedComponent("catalog")},w=()=>{var $,Z;const D=(($=n==null?void 0:n.currentPlaybook)==null?void 0:$.playBookSteps)||[],P=ne=>String(ne||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_"),K=D.findIndex(ne=>P(ne==null?void 0:ne.stepComponent)==="cart"||P(ne==null?void 0:ne.stepName).includes("cart"));if(K>=0){const ne=(Z=D[K])==null?void 0:Z.stepName;n.navigateToStep({stepName:ne})}else n.showEmbeddedComponent("cart")},k=D=>{var P,K;console.log("onItemConfigureClicked",D);try{const $=(D==null?void 0:D.itemId)||"",Z=(D==null?void 0:D.qliId)||(D==null?void 0:D.QliId)||"",ne=[];if($){const M={itemId:$};Z&&(M.qliId=Z),ne.push(M)}const ee={payload:{savedProducts:ne}},N=((P=n==null?void 0:n.currentPlaybook)==null?void 0:P.playBookSteps)||[],A=M=>String(M||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_"),F=N.findIndex(M=>{const j=A(M==null?void 0:M.stepComponent),z=A(M==null?void 0:M.stepName);return j==="configurator"||z.includes("configure")});if(F>=0){const M=(K=N[F])==null?void 0:K.stepName;n.navigateToStep({stepName:M,data:ee})}else n.showEmbeddedComponent("configurator",ee)}catch($){console.warn("[aiComponentLoader] Failed to navigate to configurator from configure click:",$),n.showEmbeddedComponent("configurator",{payload:{}})}},T=D=>{var P,K;try{const $=(D==null?void 0:D.itemId)||"",Z=(D==null?void 0:D.lineItemId)||(D==null?void 0:D.qliId)||"",ne=[];if($){const M={itemId:$};Z&&(M.qliId=Z),ne.push(M)}const ee={payload:{savedProducts:ne}},N=((P=n==null?void 0:n.currentPlaybook)==null?void 0:P.playBookSteps)||[],A=M=>String(M||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_"),F=N.findIndex(M=>{const j=A(M==null?void 0:M.stepComponent),z=A(M==null?void 0:M.stepName);return j==="configurator"||z.includes("configure")});if(F>=0){const M=(K=N[F])==null?void 0:K.stepName;n.navigateToStep({stepName:M,data:ee})}else n.showEmbeddedComponent("configurator",ee)}catch($){console.warn("[aiComponentLoader] Failed to navigate to configurator from cart configure click:",$),n.showEmbeddedComponent("configurator",{payload:{}})}};return(D,P)=>{var K,$,Z,ne,ee,N,A;return B(),U("div",bT,[s.value==="catalog"?(B(),xe(_2,{key:h.value,"data-test-id":"aiComponentLoader-catalog",class:"ect-h-full ect-w-full","template-id":e.templateId,identity:e.identity,session:e.session,security:o.value,"search-term":c.value,"on-catalog-count-update":e.onCatalogCountUpdate,"preview-data":e.catalogPreviewData,"initial-data":u.value,sections:e.sections,theme:e.theme,"host-name":e.hostName,"graphql-endpoint":e.graphqlEndpoint,"api-key":e.apiKey,"composables-org-type":e.composablesOrgType,onCatalogQuoteCreated:x,onCatalogQuoteUpdated:b,onCatalogItemAdded:_,onCatalogItemQtyUpdated:E,onCatalogLineDeleted:S,onCatalogItemsFetched:I,onCatalogItemConfigure:k},null,8,["template-id","identity","session","security","search-term","on-catalog-count-update","preview-data","initial-data","sections","theme","host-name","graphql-endpoint","api-key","composables-org-type"])):s.value==="cart"&&l.value?(B(),xe(C2,{key:v.value,"data-test-id":"aiComponentLoader-cart",class:"ect-h-full ect-w-full","template-id":e.templateId,"organization-id":(K=e.identity)==null?void 0:K.organizationId,"account-id":($=e.identity)==null?void 0:$.accountId,cid:(Z=e.identity)==null?void 0:Z.contactId,"user-id":(ne=e.identity)==null?void 0:ne.userId,"quote-id":(ee=e.session)==null?void 0:ee.quoteId,"host-name":e.hostName,"graphql-endpoint":e.graphqlEndpoint,"api-key":e.apiKey,"composables-api-url":(N=e.security)==null?void 0:N.baseUrl,"composables-api-key":e.composablesApiKey,"composables-org-type":e.composablesOrgType,onExpeditecartItemConfigure:T},null,8,["template-id","organization-id","account-id","cid","user-id","quote-id","host-name","graphql-endpoint","api-key","composables-api-url","composables-api-key","composables-org-type"])):s.value==="configurator"&&m.value?(B(),xe(i2,{key:g.value,"data-test-id":"aiComponentLoader-configurator",class:"ect-h-full ect-w-full","item-id":p.value,"qli-id":d.value||e.configQliId||void 0,"quote-id":(A=e.session)==null?void 0:A.quoteId,"security-context":i.value,"setup-data":a.value,onReady:we(r).setExpediteConfigComp},null,8,["item-id","qli-id","quote-id","security-context","setup-data","onReady"])):s.value==="configurator"&&!m.value?(B(),xe(gT,{key:3,onReturn:O,onGoCart:w})):(B(),U("div",xT,[C("div",_T,[CT,C("div",ET,ye(f.value),1)])]))])}}},[["__scopeId","data-v-1f3fe309"]]),AT={class:"ai-guidance-wrapper","data-test-id":"aiGuidance-wrapper"},wT={key:0,class:"ai-guidance-loader"},ST={class:"ai-app-chat-wrapper"},IT={key:0,class:"component-loader-wrapper"},TT=Oe({__name:"aiGuidance",props:{playbookId:{type:String,required:!0},playbookData:{type:Object,required:!1},composablesOrgType:{type:String,required:!0},identity:{type:Object,required:!1,default:()=>({})},session:{type:Object,required:!1,default:()=>({})},security:{type:Object,required:!1,default:()=>({})},websocketUrl:{type:String,required:!0},packageVersion:{type:String,required:!0},composablesApiKey:{type:String,required:!0},eCatalogId:{type:String,required:!0},hostName:{type:String,required:!1},graphqlEndpoint:{type:String,required:!1},apiKey:{type:String,required:!1},isPreview:{type:Boolean,required:!1,default:!1},catalogSections:{type:Array,required:!1,default:()=>[]},cartSections:{type:String,required:!1,default:""},theme:{type:Object,required:!1,default:()=>({})}},setup(e){const t=No(),n=Zt(),r=co(),o=G(!1),i=G(!1),a=G(!0),s=G(!0),l=G(!1),u=e,{composablesOrgType:c,websocketUrl:p,packageVersion:d,composablesApiKey:m,eCatalogId:f,identity:y,session:h,security:v,templateId:g,hostName:x,graphqlEndpoint:b,apiKey:_,isPreview:E,catalogSections:S,cartSections:I,theme:O}=u;Wt(async()=>{console.log("composablesApiKey",m),console.log("security",v),console.log("apiKey",_),n.updateConfig({userId:y==null?void 0:y.userId,organizationId:y==null?void 0:y.organizationId,composablesApiKey:m,composablesApiUrl:v==null?void 0:v.baseUrl,composablesOrgType:c,websocketUrl:p,quoteId:h==null?void 0:h.quoteId,packageVersion:d,eCatalogId:f,accountId:y==null?void 0:y.accountId,templateId:g,hostName:x,graphqlEndpoint:b,apiKey:(v==null?void 0:v.apiKey)||_,cid:y==null?void 0:y.contactId,isPreview:E}),u.playbookId&&(i.value=!0)}),At(async()=>{var T,D;o.value=!0,t.setEmbeddedMode(!0),u.playbookData?t.currentPlaybook=u.playbookData:i.value&&(await t.getPlaybookByKey(u.playbookId),t.showPlaybookSteps=!0),t.playbookStepsMode="full",r.setInitialPayload(),await r.connectSocket(),(D=(T=t.currentPlaybook)==null?void 0:T.playBookSteps)!=null&&D.length&&t.setCurrentStepName(t.currentPlaybook.playBookSteps[0].stepName),o.value=!1});const w=he(()=>{var P;const T=((P=t.currentPlaybook)==null?void 0:P.playBookSteps)||[],D=t.currentStepName;return T.find(K=>K.stepName===D)||T[0]||null}),k=he(()=>{var T;return((T=w.value)==null?void 0:T.stepComponent)||null});return ze(()=>t.activeComponentKey,T=>{T&&(a.value=!1)}),(T,D)=>{var P;return B(),U("div",AT,[ue(Bu,{icon:"logo",color:"#000000",size:"18.75",height:"16.25"}),o.value?(B(),U("div",wT," Loading the AI Guidance component... ")):(B(),U("div",{key:1,class:ke(["ai-app",{"root-path":a.value,"playbook-steps-mode-full":we(t).playbookStepsMode==="full","dxp-guiddance":i.value}])},[C("div",ST,[ue(cT,{"data-test-id":"chat-screen","is-external-guidance":i.value},null,8,["is-external-guidance"])]),!a.value&&s.value&&!l.value?(B(),U("div",IT,[we(t).currentPlaybook?(B(),xe(kT,{key:0,"template-id":((P=w.value)==null?void 0:P.templateId)||we(g),"step-component":k.value,identity:we(y),session:we(h),security:we(v),"composables-org-type":we(c),"composables-api-key":we(m),"e-catalog-id":we(f),"package-version":we(d),"host-name":we(x),"graphql-endpoint":we(b),"api-key":we(_),"is-preview":we(E),sections:we(S),"cart-sections":we(I),theme:we(O),"data-test-id":"aiComponentLoader-mounted"},null,8,["template-id","step-component","identity","session","security","composables-org-type","composables-api-key","e-catalog-id","package-version","host-name","graphql-endpoint","api-key","is-preview","sections","cart-sections","theme"])):ce("",!0)])):ce("",!0)],2))])}}},[["__scopeId","data-v-37813fa7"]]);let Es=null;if(typeof window<"u"){try{Es=p6()}catch{}Es||(Es=m6(),gi(Es))}let ks=null,As=null;const Cc=new Set;let po=null;const Ec=new Map;async function OT(e){if(!e)return"";if(Ec.has(e))return Ec.get(e);try{const t=await fetch(e,{credentials:"omit",cache:"no-cache"});if(t.ok){const n=await t.text();return Ec.set(e,n),n}}catch(t){console.warn("[ExpediteComponents] Failed to fetch theme CSS:",t)}return""}async function kc(e,t){if(!e||!t)return;const n=e.querySelector("style[data-vue-expedite-theme]");n&&n.remove();try{const r=await OT(t);if(r){const o=document.createElement("style");o.setAttribute("data-vue-expedite-theme","true"),o.textContent=r,e.prepend(o)}}catch(r){console.warn("[ExpediteComponents] Failed to inject theme CSS:",r)}}function Ac(e){po=e||null,po&&Cc.forEach(t=>{t&&t.shadowRoot&&kc(t.shadowRoot,po)})}async function DT(){return ks||As||(As=(async()=>{try{const e=new URL("./style.css",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ar&&Ar.src||new URL("vue-expedite-components.umd.cjs",document.baseURI).href).href,t=await fetch(e);if(t.ok)return ks=await t.text(),ks}catch(e){console.warn("[ExpediteComponents] Failed to load CSS:",e)}return null})(),As)}const ji=e=>class extends e{async connectedCallback(){if(super.connectedCallback&&super.connectedCallback(),Cc.add(this),!!this.shadowRoot){if(this.shadowRoot.querySelector("style[data-vue-expedite-style]")){po&&kc(this.shadowRoot,po);return}try{const t=await DT();if(t){const n=document.createElement("style");n.setAttribute("data-vue-expedite-style","true"),n.textContent=t,this.shadowRoot.prepend(n)}else{const n=new URL("./style.css",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ar&&Ar.src||new URL("vue-expedite-components.umd.cjs",document.baseURI).href).href,r=document.createElement("link");r.setAttribute("rel","stylesheet"),r.setAttribute("data-vue-expedite-style","true"),r.href=n,this.shadowRoot.prepend(r)}po&&kc(this.shadowRoot,po)}catch(t){console.warn("[ExpediteComponents] Failed to inject CSS:",t)}}}disconnectedCallback(){Cc.delete(this),super.disconnectedCallback&&super.disconnectedCallback()}},Th=ji(yi(i2)),Oh=ji(yi(Fx)),Dh=ji(yi(_2)),Mh=ji(yi(C2)),Fh=ji(yi(TT));function wc(){typeof window<"u"&&(customElements.get("vue-expedite-configurator")||customElements.define("vue-expedite-configurator",Th),customElements.get("vue-expedite-gpt")||customElements.define("vue-expedite-gpt",Oh),customElements.get("vue-expedite-catalog")||customElements.define("vue-expedite-catalog",Dh),customElements.get("vue-expedite-cart")||customElements.define("vue-expedite-cart",Mh),customElements.get("vue-expedite-ai-guidance")||customElements.define("vue-expedite-ai-guidance",Fh))}typeof window<"u"&&wc();const MT={register:wc,applyThemeToShadows:Ac};typeof window<"u"&&(window.VueExpediteComponents=Object.assign(window.VueExpediteComponents||{},{applyThemeToShadows:Ac})),yn.ExpediteAIGuidanceElement=Fh,yn.ExpediteCartElement=Mh,yn.ExpediteCatalogElement=Dh,yn.ExpediteConfiguratorElement=Th,yn.ExpediteGPTElement=Oh,yn.applyThemeToShadows=Ac,yn.default=MT,yn.registerWebComponents=wc,Object.defineProperties(yn,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED